From 49f7c99c7786ce257fae28dfeae2f8ee5810424c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Wed, 29 Mar 2017 17:09:40 +0200 Subject: Update BGFX and BX (nw) --- 3rdparty/bgfx/.appveyor.yml | 1 - 3rdparty/bgfx/3rdparty/.editorconfig | 4 + .../glsl-optimizer/src/glsl/ast_to_hir.cpp | 10 +- .../glsl-optimizer/src/glsl/glsl_optimizer.cpp | 18 +- .../src/glsl/ir_print_metal_visitor.cpp | 12 + 3rdparty/bgfx/3rdparty/glslang/CMakeLists.txt | 4 +- .../bgfx/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h | 17 +- 3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.NV.h | 28 +- .../bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp | 255 +- .../bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.h | 2 +- .../bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp | 81 +- 3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.h | 2 +- .../bgfx/3rdparty/glslang/SPIRV/disassemble.cpp | 9 +- 3rdparty/bgfx/3rdparty/glslang/SPIRV/doc.cpp | 34 +- 3rdparty/bgfx/3rdparty/glslang/SPIRV/spirv.hpp | 36 +- 3rdparty/bgfx/3rdparty/glslang/SPIRV/spvIR.h | 7 +- .../3rdparty/glslang/StandAlone/StandAlone.cpp | 65 +- 3rdparty/bgfx/3rdparty/glslang/Test/120.frag | 4 +- 3rdparty/bgfx/3rdparty/glslang/Test/140.vert | 20 + 3rdparty/bgfx/3rdparty/glslang/Test/150.vert | 4 + 3rdparty/bgfx/3rdparty/glslang/Test/310.comp | 16 + 3rdparty/bgfx/3rdparty/glslang/Test/310.frag | 20 + 3rdparty/bgfx/3rdparty/glslang/Test/400.tesc | 20 + 3rdparty/bgfx/3rdparty/glslang/Test/400.tese | 20 + 3rdparty/bgfx/3rdparty/glslang/Test/450.vert | 5 + 3rdparty/bgfx/3rdparty/glslang/Test/badChars.frag | 1 + .../3rdparty/glslang/Test/baseResults/100.frag.out | 542 +- .../glslang/Test/baseResults/100Limits.vert.out | 736 +- .../glslang/Test/baseResults/100scope.vert.out | 188 +- .../glslang/Test/baseResults/110scope.vert.out | 212 +- .../3rdparty/glslang/Test/baseResults/120.frag.out | 1011 +- .../3rdparty/glslang/Test/baseResults/120.vert.out | 494 +- .../3rdparty/glslang/Test/baseResults/130.frag.out | 444 +- .../3rdparty/glslang/Test/baseResults/130.vert.out | 366 +- .../3rdparty/glslang/Test/baseResults/140.frag.out | 146 +- .../3rdparty/glslang/Test/baseResults/140.vert.out | 254 +- .../3rdparty/glslang/Test/baseResults/150.frag.out | 198 +- .../3rdparty/glslang/Test/baseResults/150.geom.out | 266 +- .../3rdparty/glslang/Test/baseResults/150.tesc.out | 1620 +-- .../3rdparty/glslang/Test/baseResults/150.vert.out | 154 +- .../3rdparty/glslang/Test/baseResults/300.frag.out | 914 +- .../3rdparty/glslang/Test/baseResults/300.vert.out | 508 +- .../glslang/Test/baseResults/300BuiltIns.frag.out | 656 +- .../glslang/Test/baseResults/300block.frag.out | 150 +- .../glslang/Test/baseResults/300layout.frag.out | 76 +- .../glslang/Test/baseResults/300layout.vert.out | 168 +- .../glslang/Test/baseResults/300link.frag.out | 12 +- .../glslang/Test/baseResults/300link2.frag.out | 20 +- .../glslang/Test/baseResults/300link3.frag.out | 8 +- .../Test/baseResults/300operations.frag.out | 666 +- .../glslang/Test/baseResults/300scope.vert.out | 188 +- .../3rdparty/glslang/Test/baseResults/310.comp.out | 711 +- .../3rdparty/glslang/Test/baseResults/310.frag.out | 1410 +- .../3rdparty/glslang/Test/baseResults/310.geom.out | 244 +- .../3rdparty/glslang/Test/baseResults/310.tesc.out | 534 +- .../3rdparty/glslang/Test/baseResults/310.tese.out | 280 +- .../3rdparty/glslang/Test/baseResults/310.vert.out | 1544 +-- .../glslang/Test/baseResults/310AofA.vert.out | 258 +- .../baseResults/310implicitSizeArrayError.vert.out | 40 +- .../3rdparty/glslang/Test/baseResults/330.frag.out | 212 +- .../glslang/Test/baseResults/330comp.frag.out | 52 +- .../3rdparty/glslang/Test/baseResults/400.frag.out | 796 +- .../3rdparty/glslang/Test/baseResults/400.geom.out | 1868 +-- .../3rdparty/glslang/Test/baseResults/400.tesc.out | 424 +- .../3rdparty/glslang/Test/baseResults/400.tese.out | 302 +- .../3rdparty/glslang/Test/baseResults/400.vert.out | 990 +- .../3rdparty/glslang/Test/baseResults/410.geom.out | 50 +- .../3rdparty/glslang/Test/baseResults/410.tesc.out | 16 +- .../3rdparty/glslang/Test/baseResults/410.vert.out | 24 +- .../3rdparty/glslang/Test/baseResults/420.comp.out | 124 +- .../3rdparty/glslang/Test/baseResults/420.frag.out | 24 +- .../3rdparty/glslang/Test/baseResults/420.geom.out | 98 +- .../3rdparty/glslang/Test/baseResults/420.tesc.out | 188 +- .../3rdparty/glslang/Test/baseResults/420.tese.out | 270 +- .../3rdparty/glslang/Test/baseResults/420.vert.out | 477 +- .../Test/baseResults/420_size_gl_in.geom.out | 32 +- .../3rdparty/glslang/Test/baseResults/430.comp.out | 220 +- .../3rdparty/glslang/Test/baseResults/430.vert.out | 459 +- .../glslang/Test/baseResults/430AofA.frag.out | 362 +- .../glslang/Test/baseResults/430scope.vert.out | 196 +- .../3rdparty/glslang/Test/baseResults/440.frag.out | 175 +- .../3rdparty/glslang/Test/baseResults/440.vert.out | 290 +- .../3rdparty/glslang/Test/baseResults/450.frag.out | 406 +- .../3rdparty/glslang/Test/baseResults/450.geom.out | 44 +- .../3rdparty/glslang/Test/baseResults/450.tesc.out | 52 +- .../3rdparty/glslang/Test/baseResults/450.tese.out | 44 +- .../3rdparty/glslang/Test/baseResults/450.vert.out | 73 +- .../glslang/Test/baseResults/Operations.frag.out | 1988 +-- .../glslang/Test/baseResults/aggOps.frag.out | 348 +- .../Test/baseResults/always-discard.frag.out | 236 +- .../Test/baseResults/always-discard2.frag.out | 96 +- .../glslang/Test/baseResults/array.frag.out | 400 +- .../glslang/Test/baseResults/array100.frag.out | 232 +- .../glslang/Test/baseResults/atomic_uint.frag.out | 128 +- .../glslang/Test/baseResults/badChars.frag.out | 9 +- .../glslang/Test/baseResults/comment.frag.out | 8 +- .../Test/baseResults/conditionalDiscard.frag.out | 56 +- .../glslang/Test/baseResults/constErrors.frag.out | 48 +- .../glslang/Test/baseResults/constFold.frag.out | 438 +- .../glslang/Test/baseResults/conversion.frag.out | 1488 +-- .../Test/baseResults/cppComplexExpr.vert.out | 106 +- .../glslang/Test/baseResults/cppIndent.vert.out | 72 +- .../glslang/Test/baseResults/cppNest.vert.out | 122 +- .../glslang/Test/baseResults/cppSimple.vert.out | 216 +- .../glslang/Test/baseResults/dataOut.frag.out | 24 +- .../Test/baseResults/dataOutIndirect.frag.out | 32 +- .../3rdparty/glslang/Test/baseResults/dce.frag.out | 114 +- .../glslang/Test/baseResults/decls.frag.out | 400 +- .../glslang/Test/baseResults/deepRvalue.frag.out | 268 +- .../glslang/Test/baseResults/depthOut.frag.out | 36 +- .../glslang/Test/baseResults/discard-dce.frag.out | 236 +- .../glslang/Test/baseResults/doWhileLoop.frag.out | 68 +- .../Test/baseResults/earlyReturnDiscard.frag.out | 288 +- .../glslang/Test/baseResults/errors.frag.out | 8 +- .../glslang/Test/baseResults/es-link1.frag.out | 16 +- .../glslang/Test/baseResults/flowControl.frag.out | 112 +- .../glslang/Test/baseResults/forLoop.frag.out | 348 +- .../glslang/Test/baseResults/forwardRef.frag.out | 124 +- .../glslang/Test/baseResults/functionCall.frag.out | 180 +- .../Test/baseResults/functionSemantics.frag.out | 464 +- .../glslang/Test/baseResults/hlsl.amend.frag.out | 273 +- .../Test/baseResults/hlsl.array.flatten.frag.out | 774 +- .../glslang/Test/baseResults/hlsl.array.frag.out | 416 +- .../baseResults/hlsl.array.implicit-size.frag.out | 132 +- .../Test/baseResults/hlsl.array.multidim.frag.out | 275 +- .../glslang/Test/baseResults/hlsl.assoc.frag.out | 314 +- .../baseResults/hlsl.attribute.expression.comp.out | 187 +- .../Test/baseResults/hlsl.attribute.frag.out | 80 +- .../glslang/Test/baseResults/hlsl.basic.comp.out | 126 +- .../glslang/Test/baseResults/hlsl.basic.geom.out | 290 +- .../glslang/Test/baseResults/hlsl.buffer.frag.out | 336 +- .../baseResults/hlsl.calculatelod.dx10.frag.out | 795 +- .../hlsl.calculatelodunclamped.dx10.frag.out | 404 +- .../glslang/Test/baseResults/hlsl.cast.frag.out | 164 +- .../Test/baseResults/hlsl.comparison.vec.frag.out | 599 +- .../Test/baseResults/hlsl.conditional.frag.out | 588 +- .../Test/baseResults/hlsl.constructexpr.frag.out | 147 +- .../hlsl.deadFunctionMissingBody.vert.out | 25 +- .../Test/baseResults/hlsl.depthGreater.frag.out | 70 +- .../Test/baseResults/hlsl.depthLess.frag.out | 60 +- .../glslang/Test/baseResults/hlsl.discard.frag.out | 181 +- .../glslang/Test/baseResults/hlsl.doLoop.frag.out | 169 +- .../baseResults/hlsl.emptystructreturn.frag.out | 101 + .../baseResults/hlsl.emptystructreturn.vert.out | 98 + .../Test/baseResults/hlsl.entry-in.frag.out | 477 +- .../Test/baseResults/hlsl.entry-out.frag.out | 474 +- .../Test/baseResults/hlsl.entry.rename.frag.out | 133 +- .../Test/baseResults/hlsl.flatten.return.frag.out | 250 +- .../glslang/Test/baseResults/hlsl.float1.frag.out | 64 +- .../glslang/Test/baseResults/hlsl.float4.frag.out | 29 +- .../glslang/Test/baseResults/hlsl.forLoop.frag.out | 557 +- .../baseResults/hlsl.gather.array.dx10.frag.out | 621 +- .../baseResults/hlsl.gather.basic.dx10.frag.out | 675 +- .../baseResults/hlsl.gather.basic.dx10.vert.out | 617 +- .../baseResults/hlsl.gather.offset.dx10.frag.out | 541 +- .../hlsl.gather.offsetarray.dx10.frag.out | 459 +- .../hlsl.gatherRGBA.array.dx10.frag.out | 1607 +-- .../hlsl.gatherRGBA.basic.dx10.frag.out | 1659 +-- .../hlsl.gatherRGBA.offset.dx10.frag.out | 2471 ++-- .../hlsl.gatherRGBA.offsetarray.dx10.frag.out | 2419 ++-- .../hlsl.gathercmpRGBA.offset.dx10.frag.out | 586 + .../baseResults/hlsl.getdimensions.dx10.frag.out | 4963 +++---- .../baseResults/hlsl.getdimensions.dx10.vert.out | 287 +- .../hlsl.getdimensions.rw.dx10.frag.out | 1775 +-- .../hlsl.getsampleposition.dx10.frag.out | 152 +- .../glslang/Test/baseResults/hlsl.hull.1.tesc.out | 359 + .../glslang/Test/baseResults/hlsl.hull.2.tesc.out | 357 + .../Test/baseResults/hlsl.hull.void.tesc.out | 186 + .../baseResults/hlsl.identifier.sample.frag.out | 143 +- .../glslang/Test/baseResults/hlsl.if.frag.out | 518 +- .../glslang/Test/baseResults/hlsl.init.frag.out | 687 +- .../glslang/Test/baseResults/hlsl.init2.frag.out | 573 +- .../Test/baseResults/hlsl.inoutquals.frag.out | 439 +- .../baseResults/hlsl.intrinsics.barriers.comp.out | 111 +- .../Test/baseResults/hlsl.intrinsics.comp.out | 1768 +-- .../hlsl.intrinsics.d3dcolortoubyte4.frag.out | 165 +- .../baseResults/hlsl.intrinsics.double.frag.out | 419 +- .../baseResults/hlsl.intrinsics.evalfns.frag.out | 316 +- .../baseResults/hlsl.intrinsics.f1632.frag.out | 469 +- .../baseResults/hlsl.intrinsics.f3216.frag.out | 401 + .../Test/baseResults/hlsl.intrinsics.frag.out | 13283 ++++++++++--------- .../Test/baseResults/hlsl.intrinsics.lit.frag.out | 233 +- .../baseResults/hlsl.intrinsics.negative.comp.out | 313 +- .../baseResults/hlsl.intrinsics.negative.frag.out | 840 +- .../baseResults/hlsl.intrinsics.negative.vert.out | 559 +- .../hlsl.intrinsics.promote.down.frag.out | 263 +- .../baseResults/hlsl.intrinsics.promote.frag.out | 1995 +-- .../hlsl.intrinsics.promote.outputs.frag.out | 527 +- .../Test/baseResults/hlsl.intrinsics.vert.out | 4580 +++---- .../glslang/Test/baseResults/hlsl.layout.frag.out | 64 +- .../Test/baseResults/hlsl.load.2dms.dx10.frag.out | 719 +- .../Test/baseResults/hlsl.load.array.dx10.frag.out | 851 +- .../Test/baseResults/hlsl.load.basic.dx10.frag.out | 987 +- .../Test/baseResults/hlsl.load.basic.dx10.vert.out | 929 +- .../baseResults/hlsl.load.buffer.dx10.frag.out | 423 +- .../hlsl.load.buffer.float.dx10.frag.out | 445 +- .../baseResults/hlsl.load.offset.dx10.frag.out | 1103 +- .../hlsl.load.offsetarray.dx10.frag.out | 929 +- .../baseResults/hlsl.load.rwbuffer.dx10.frag.out | 291 +- .../hlsl.load.rwtexture.array.dx10.frag.out | 627 +- .../baseResults/hlsl.load.rwtexture.dx10.frag.out | 701 +- .../Test/baseResults/hlsl.logical.binary.frag.out | 311 +- .../baseResults/hlsl.logical.binary.vec.frag.out | 631 +- .../Test/baseResults/hlsl.logical.unary.frag.out | 399 +- .../glslang/Test/baseResults/hlsl.matNx1.frag.out | 389 +- .../Test/baseResults/hlsl.matType.bool.frag.out | 667 +- .../glslang/Test/baseResults/hlsl.matType.frag.out | 20 +- .../Test/baseResults/hlsl.matType.int.frag.out | 1215 +- .../Test/baseResults/hlsl.matrixSwizzle.vert.out | 895 +- .../Test/baseResults/hlsl.matrixindex.frag.out | 499 +- .../glslang/Test/baseResults/hlsl.max.frag.out | 136 +- .../Test/baseResults/hlsl.mintypes.frag.out | 347 +- .../Test/baseResults/hlsl.multiEntry.vert.out | 155 +- .../Test/baseResults/hlsl.multiReturn.frag.out | 126 +- .../hlsl.nonstaticMemberFunction.frag.out | 435 + .../Test/baseResults/hlsl.numericsuffixes.frag.out | 332 +- .../Test/baseResults/hlsl.numthreads.comp.out | 64 +- .../Test/baseResults/hlsl.overload.frag.out | 2350 ++-- .../Test/baseResults/hlsl.params.default.frag.out | 915 +- .../hlsl.params.default.negative.frag.out | 538 +- .../Test/baseResults/hlsl.partialInit.frag.out | 607 +- .../glslang/Test/baseResults/hlsl.pp.line.frag.out | 227 +- .../Test/baseResults/hlsl.precedence.frag.out | 356 +- .../Test/baseResults/hlsl.precedence2.frag.out | 272 +- .../glslang/Test/baseResults/hlsl.precise.frag.out | 129 +- .../Test/baseResults/hlsl.promote.atomic.frag.out | 163 +- .../Test/baseResults/hlsl.promote.binary.frag.out | 395 +- .../Test/baseResults/hlsl.promote.vec1.frag.out | 165 +- .../Test/baseResults/hlsl.promotions.frag.out | 3189 ++--- .../Test/baseResults/hlsl.rw.atomics.frag.out | 7653 +++++------ .../Test/baseResults/hlsl.rw.bracket.frag.out | 4157 +++--- .../Test/baseResults/hlsl.rw.register.frag.out | 205 +- .../baseResults/hlsl.rw.scalar.bracket.frag.out | 4085 +++--- .../Test/baseResults/hlsl.rw.swizzle.frag.out | 319 +- .../Test/baseResults/hlsl.rw.vec2.bracket.frag.out | 4151 +++--- .../baseResults/hlsl.sample.array.dx10.frag.out | 751 +- .../baseResults/hlsl.sample.basic.dx10.frag.out | 1179 +- .../baseResults/hlsl.sample.offset.dx10.frag.out | 805 +- .../hlsl.sample.offsetarray.dx10.frag.out | 587 +- .../baseResults/hlsl.sample.sub-vec4.dx10.frag.out | 371 +- .../hlsl.samplebias.array.dx10.frag.out | 751 +- .../hlsl.samplebias.basic.dx10.frag.out | 907 +- .../hlsl.samplebias.offset.dx10.frag.out | 805 +- .../hlsl.samplebias.offsetarray.dx10.frag.out | 587 +- .../baseResults/hlsl.samplecmp.array.dx10.frag.out | 1021 +- .../baseResults/hlsl.samplecmp.basic.dx10.frag.out | 999 +- .../hlsl.samplecmp.offset.dx10.frag.out | 835 +- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 857 +- .../hlsl.samplecmplevelzero.array.dx10.frag.out | 1023 +- .../hlsl.samplecmplevelzero.basic.dx10.frag.out | 1001 +- .../hlsl.samplecmplevelzero.offset.dx10.frag.out | 837 +- ...sl.samplecmplevelzero.offsetarray.dx10.frag.out | 859 +- .../hlsl.samplegrad.array.dx10.frag.out | 739 +- .../hlsl.samplegrad.basic.dx10.frag.out | 917 +- .../hlsl.samplegrad.basic.dx10.vert.out | 857 +- .../hlsl.samplegrad.offset.dx10.frag.out | 815 +- .../hlsl.samplegrad.offsetarray.dx10.frag.out | 615 +- .../hlsl.samplelevel.array.dx10.frag.out | 753 +- .../hlsl.samplelevel.basic.dx10.frag.out | 919 +- .../hlsl.samplelevel.basic.dx10.vert.out | 849 +- .../hlsl.samplelevel.offset.dx10.frag.out | 807 +- .../hlsl.samplelevel.offsetarray.dx10.frag.out | 589 +- .../glslang/Test/baseResults/hlsl.scope.frag.out | 204 +- .../Test/baseResults/hlsl.semantic.geom.out | 246 + .../Test/baseResults/hlsl.semantic.vert.out | 373 + .../Test/baseResults/hlsl.semicolons.frag.out | 115 +- .../Test/baseResults/hlsl.shapeConv.frag.out | 244 +- .../Test/baseResults/hlsl.shapeConvRet.frag.out | 112 +- .../glslang/Test/baseResults/hlsl.sin.frag.out | 98 +- .../baseResults/hlsl.staticMemberFunction.frag.out | 199 + .../glslang/Test/baseResults/hlsl.string.frag.out | 92 +- .../Test/baseResults/hlsl.stringtoken.frag.out | 145 +- .../glslang/Test/baseResults/hlsl.struct.frag.out | 541 +- .../Test/baseResults/hlsl.struct.split-1.vert.out | 459 +- .../baseResults/hlsl.struct.split.array.geom.out | 364 +- .../baseResults/hlsl.struct.split.assign.frag.out | 481 +- .../baseResults/hlsl.struct.split.call.vert.out | 526 +- .../baseResults/hlsl.struct.split.nested.geom.out | 504 +- .../baseResults/hlsl.struct.split.trivial.geom.out | 352 +- .../baseResults/hlsl.struct.split.trivial.vert.out | 227 +- .../Test/baseResults/hlsl.structIoFourWay.frag.out | 255 + .../baseResults/hlsl.structStructName.frag.out | 84 + .../baseResults/hlsl.structarray.flatten.frag.out | 354 +- .../baseResults/hlsl.structarray.flatten.geom.out | 308 +- .../baseResults/hlsl.structbuffer.atomics.frag.out | 599 + .../baseResults/hlsl.structbuffer.byte.frag.out | 476 + .../hlsl.structbuffer.coherent.frag.out | 308 + .../Test/baseResults/hlsl.structbuffer.fn.frag.out | 266 + .../Test/baseResults/hlsl.structbuffer.frag.out | 347 + .../Test/baseResults/hlsl.structbuffer.rw.frag.out | 304 + .../baseResults/hlsl.structbuffer.rwbyte.frag.out | 1307 ++ .../Test/baseResults/hlsl.structin.vert.out | 569 +- .../glslang/Test/baseResults/hlsl.switch.frag.out | 445 +- .../glslang/Test/baseResults/hlsl.swizzle.frag.out | 44 +- .../Test/baseResults/hlsl.templatetypes.frag.out | 671 +- .../glslang/Test/baseResults/hlsl.this.frag.out | 378 + .../Test/baseResults/hlsl.tx.bracket.frag.out | 951 +- .../Test/baseResults/hlsl.type.half.frag.out | 183 +- .../Test/baseResults/hlsl.type.identifier.frag.out | 549 +- .../Test/baseResults/hlsl.typeGraphCopy.vert.out | 127 + .../glslang/Test/baseResults/hlsl.typedef.frag.out | 76 +- .../glslang/Test/baseResults/hlsl.void.frag.out | 82 +- .../Test/baseResults/hlsl.whileLoop.frag.out | 213 +- .../glslang/Test/baseResults/length.frag.out | 48 +- .../Test/baseResults/lineContinuation.vert.out | 258 +- .../Test/baseResults/lineContinuation100.vert.out | 100 +- .../glslang/Test/baseResults/link1.frag.out | 134 +- .../glslang/Test/baseResults/link1.vk.frag.out | 36 +- .../Test/baseResults/localAggregates.frag.out | 436 +- .../glslang/Test/baseResults/loops.frag.out | 1964 +-- .../Test/baseResults/loopsArtificial.frag.out | 548 +- .../glslang/Test/baseResults/mains1.frag.out | 12 +- .../glslang/Test/baseResults/matrix.frag.out | 628 +- .../glslang/Test/baseResults/matrix2.frag.out | 460 +- .../glslang/Test/baseResults/matrixError.vert.out | 78 +- .../Test/baseResults/maxClipDistances.vert.out | 12 +- .../Test/baseResults/max_vertices_0.geom.out | 20 +- .../Test/baseResults/missingBodies.vert.out | 80 +- .../Test/baseResults/negativeArraySize.comp.out | 4 +- .../glslang/Test/baseResults/newTexture.frag.out | 828 +- .../glslang/Test/baseResults/noMain.vert.out | 18 +- .../glslang/Test/baseResults/nonSquare.vert.out | 124 +- .../glslang/Test/baseResults/nonVulkan.frag.out | 12 +- .../3rdparty/glslang/Test/baseResults/nosuffix.out | 15 + .../glslang/Test/baseResults/numeral.frag.out | 668 +- .../glslang/Test/baseResults/pointCoord.frag.out | 64 +- .../glslang/Test/baseResults/precise.tesc.out | 412 +- .../Test/baseResults/precise_struct_block.vert.out | 570 +- .../glslang/Test/baseResults/precision.frag.out | 280 +- .../glslang/Test/baseResults/precision.vert.out | 104 +- .../glslang/Test/baseResults/prepost.frag.out | 332 +- .../glslang/Test/baseResults/recurse1.vert.out | 188 +- .../remap.hlsl.sample.basic.everything.frag.out | 181 +- .../remap.hlsl.sample.basic.none.frag.out | 575 +- .../remap.hlsl.sample.basic.strip.frag.out | 471 +- .../remap.hlsl.templatetypes.everything.frag.out | 25 +- .../remap.hlsl.templatetypes.none.frag.out | 419 +- .../glslang/Test/baseResults/sample.frag.out | 24 +- .../glslang/Test/baseResults/sample.vert.out | 36 +- .../Test/baseResults/simpleFunctionCall.frag.out | 36 +- .../glslang/Test/baseResults/specExamples.frag.out | 474 +- .../glslang/Test/baseResults/specExamples.vert.out | 736 +- .../glslang/Test/baseResults/spv.140.frag.out | 285 +- .../Test/baseResults/spv.300layout.vert.out | 2 +- .../glslang/Test/baseResults/spv.310.comp.out | 21 +- .../glslang/Test/baseResults/spv.450.geom.out | 67 + .../Test/baseResults/spv.450.noRedecl.tesc.out | 49 + .../Test/baseResults/spv.Operations.frag.out | 64 +- .../glslang/Test/baseResults/spv.bool.vert.out | 65 +- .../baseResults/spv.buffer.autoassign.frag.out | 137 +- .../Test/baseResults/spv.deepRvalue.frag.out | 99 +- .../Test/baseResults/spv.deviceGroup.frag.out | 39 + .../Test/baseResults/spv.drawParams.vert.out | 59 + .../baseResults/spv.for-complex-condition.vert.out | 70 +- .../baseResults/spv.functionNestedOpaque.vert.out | 67 + .../glslang/Test/baseResults/spv.image.frag.out | 42 +- .../baseResults/spv.image.load-formatted.frag.out | 352 + .../glslang/Test/baseResults/spv.matrix.frag.out | 29 +- .../Test/baseResults/spv.multiView.frag.out | 39 + .../spv.multiviewPerViewAttributes.tesc.out | 77 + .../spv.multiviewPerViewAttributes.vert.out | 62 + .../Test/baseResults/spv.pushConstantAnon.vert.out | 66 + .../baseResults/spv.register.autoassign-2.frag.out | 100 +- .../baseResults/spv.register.autoassign.frag.out | 409 +- .../baseResults/spv.register.noautoassign.frag.out | 395 +- .../Test/baseResults/spv.rw.autoassign.frag.out | 103 +- .../Test/baseResults/spv.shaderGroupVote.comp.out | 4 +- .../Test/baseResults/spv.specConstant.vert.out | 6 +- .../spv.specConstantOperations.vert.out | 34 +- .../Test/baseResults/spv.ssbo.autoassign.frag.out | 153 + .../baseResults/spv.stereoViewRendering.tesc.out | 1 - .../Test/baseResults/spv.viewportArray2.tesc.out | 1 - .../Test/baseResults/structAssignment.frag.out | 108 +- .../glslang/Test/baseResults/structDeref.frag.out | 336 +- .../glslang/Test/baseResults/structure.frag.out | 148 +- .../glslang/Test/baseResults/switch.frag.out | 468 +- .../glslang/Test/baseResults/swizzle.frag.out | 412 +- .../glslang/Test/baseResults/syntaxError.frag.out | 12 +- .../glslang/Test/baseResults/test.frag.out | 140 +- .../glslang/Test/baseResults/texture.frag.out | 900 +- .../glslang/Test/baseResults/tokenLength.vert.out | 200 +- .../glslang/Test/baseResults/tokenPaste.vert.out | 123 +- .../glslang/Test/baseResults/types.frag.out | 880 +- .../glslang/Test/baseResults/uint.frag.out | 628 +- .../glslang/Test/baseResults/uniformArray.frag.out | 96 +- .../Test/baseResults/variableArrayIndex.frag.out | 252 +- .../glslang/Test/baseResults/varyingArray.frag.out | 140 +- .../Test/baseResults/varyingArrayIndirect.frag.out | 176 +- .../Test/baseResults/versionsClean.frag.out | 32 +- .../Test/baseResults/versionsClean.vert.out | 44 +- .../Test/baseResults/versionsErrors.frag.out | 28 +- .../Test/baseResults/versionsErrors.vert.out | 44 +- .../glslang/Test/baseResults/voidFunction.frag.out | 100 +- .../glslang/Test/baseResults/vulkan.ast.vert.out | 304 +- .../glslang/Test/baseResults/vulkan.frag.out | 7 +- .../glslang/Test/baseResults/vulkan.vert.out | 2 +- .../glslang/Test/baseResults/whileLoop.frag.out | 68 +- .../bgfx/3rdparty/glslang/Test/hlsl.amend.frag | 2 +- .../glslang/Test/hlsl.emptystructreturn.frag | 13 + .../glslang/Test/hlsl.emptystructreturn.vert | 13 + .../Test/hlsl.gathercmpRGBA.offset.dx10.frag | 133 +- .../bgfx/3rdparty/glslang/Test/hlsl.hull.1.tesc | 39 + .../bgfx/3rdparty/glslang/Test/hlsl.hull.2.tesc | 39 + .../bgfx/3rdparty/glslang/Test/hlsl.hull.void.tesc | 34 + 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.if.frag | 2 + .../3rdparty/glslang/Test/hlsl.inoutquals.frag | 2 +- .../glslang/Test/hlsl.intrinsics.f1632.frag | 33 +- .../glslang/Test/hlsl.intrinsics.f3216.frag | 29 + .../glslang/Test/hlsl.nonstaticMemberFunction.frag | 35 + .../glslang/Test/hlsl.numericsuffixes.frag | 4 + .../bgfx/3rdparty/glslang/Test/hlsl.semantic.geom | 15 + .../bgfx/3rdparty/glslang/Test/hlsl.semantic.vert | 15 + .../glslang/Test/hlsl.staticMemberFunction.frag | 22 + .../bgfx/3rdparty/glslang/Test/hlsl.struct.frag | 14 +- .../glslang/Test/hlsl.structIoFourWay.frag | 18 + .../glslang/Test/hlsl.structStructName.frag | 7 + .../glslang/Test/hlsl.structbuffer.atomics.frag | 25 + .../glslang/Test/hlsl.structbuffer.byte.frag | 13 + .../glslang/Test/hlsl.structbuffer.coherent.frag | 23 + .../glslang/Test/hlsl.structbuffer.fn.frag | 24 + .../3rdparty/glslang/Test/hlsl.structbuffer.frag | 23 + .../glslang/Test/hlsl.structbuffer.rw.frag | 23 + .../glslang/Test/hlsl.structbuffer.rwbyte.frag | 15 + 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.this.frag | 29 + .../3rdparty/glslang/Test/hlsl.typeGraphCopy.vert | 24 + 3rdparty/bgfx/3rdparty/glslang/Test/nosuffix | 4 + 3rdparty/bgfx/3rdparty/glslang/Test/runtests | 14 + 3rdparty/bgfx/3rdparty/glslang/Test/spv.140.frag | 2 +- .../bgfx/3rdparty/glslang/Test/spv.300layout.vert | 2 +- 3rdparty/bgfx/3rdparty/glslang/Test/spv.310.comp | 3 + 3rdparty/bgfx/3rdparty/glslang/Test/spv.450.geom | 12 + .../3rdparty/glslang/Test/spv.450.noRedecl.tesc | 10 + .../bgfx/3rdparty/glslang/Test/spv.Operations.frag | 3 + .../3rdparty/glslang/Test/spv.deviceGroup.frag | 9 + .../bgfx/3rdparty/glslang/Test/spv.drawParams.vert | 13 + .../glslang/Test/spv.functionNestedOpaque.vert | 26 + .../glslang/Test/spv.image.load-formatted.frag | 74 + .../bgfx/3rdparty/glslang/Test/spv.matrix.frag | 3 + .../bgfx/3rdparty/glslang/Test/spv.multiView.frag | 9 + .../Test/spv.multiviewPerViewAttributes.tesc | 14 + .../Test/spv.multiviewPerViewAttributes.vert | 10 + .../glslang/Test/spv.pushConstantAnon.vert | 17 + .../glslang/Test/spv.specConstantOperations.vert | 12 +- .../3rdparty/glslang/Test/spv.ssbo.autoassign.frag | 24 + .../bgfx/3rdparty/glslang/Test/tokenPaste.vert | 12 + 3rdparty/bgfx/3rdparty/glslang/Test/vulkan.frag | 2 +- .../3rdparty/glslang/glslang/Include/BaseTypes.h | 13 + .../glslang/glslang/Include/ConstantUnion.h | 8 + .../bgfx/3rdparty/glslang/glslang/Include/Types.h | 372 +- .../glslang/glslang/Include/intermediate.h | 10 + .../3rdparty/glslang/glslang/Include/revision.h | 4 +- .../glslang/MachineIndependent/Initialize.cpp | 133 +- .../glslang/MachineIndependent/Intermediate.cpp | 48 +- .../MachineIndependent/ParseContextBase.cpp | 77 +- .../glslang/MachineIndependent/ParseHelper.cpp | 54 +- .../glslang/MachineIndependent/ParseHelper.h | 19 +- .../glslang/glslang/MachineIndependent/Scan.cpp | 4 + .../glslang/MachineIndependent/ShaderLang.cpp | 2 + .../glslang/MachineIndependent/SymbolTable.cpp | 11 +- .../glslang/MachineIndependent/SymbolTable.h | 105 +- .../glslang/MachineIndependent/Versions.cpp | 25 +- .../glslang/glslang/MachineIndependent/Versions.h | 6 + .../glslang/MachineIndependent/iomapper.cpp | 200 +- .../glslang/MachineIndependent/localintermediate.h | 14 + .../glslang/MachineIndependent/preprocessor/Pp.cpp | 69 +- .../MachineIndependent/preprocessor/PpAtom.cpp | 2 + .../MachineIndependent/preprocessor/PpContext.h | 33 +- .../MachineIndependent/preprocessor/PpScanner.cpp | 60 +- .../MachineIndependent/preprocessor/PpTokens.cpp | 147 +- .../MachineIndependent/preprocessor/PpTokens.h | 10 +- .../glslang/MachineIndependent/reflection.cpp | 25 +- .../glslang/MachineIndependent/reflection.h | 14 +- .../3rdparty/glslang/glslang/Public/ShaderLang.h | 32 +- .../bgfx/3rdparty/glslang/gtests/Hlsl.FromFile.cpp | 24 +- .../bgfx/3rdparty/glslang/gtests/Spv.FromFile.cpp | 35 +- .../bgfx/3rdparty/glslang/gtests/TestFixture.h | 6 +- .../bgfx/3rdparty/glslang/hlsl/hlslAttributes.h | 11 + .../bgfx/3rdparty/glslang/hlsl/hlslGrammar.cpp | 725 +- 3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.h | 27 +- 3rdparty/bgfx/3rdparty/glslang/hlsl/hlslOpMap.cpp | 2 + .../bgfx/3rdparty/glslang/hlsl/hlslParseHelper.cpp | 2352 +++- .../bgfx/3rdparty/glslang/hlsl/hlslParseHelper.h | 113 +- .../bgfx/3rdparty/glslang/hlsl/hlslParseables.cpp | 605 +- .../bgfx/3rdparty/glslang/hlsl/hlslScanContext.cpp | 115 +- .../bgfx/3rdparty/glslang/hlsl/hlslScanContext.h | 4 +- .../bgfx/3rdparty/glslang/hlsl/hlslTokenStream.cpp | 46 +- .../bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h | 9 +- 3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokens.h | 18 +- .../iconfontheaders/GenerateIconFontCppHeaders.py | 428 +- 3rdparty/bgfx/3rdparty/iconfontheaders/README.md | 38 +- .../3rdparty/iconfontheaders/icons_font_awesome.h | 77 +- .../bgfx/3rdparty/iconfontheaders/icons_kenney.h | 3 +- .../iconfontheaders/icons_material_design.h | 3 +- 3rdparty/bgfx/3rdparty/renderdoc/renderdoc_app.h | 2 +- 3rdparty/bgfx/LICENSE | 4 - 3rdparty/bgfx/README.md | 18 + 3rdparty/bgfx/examples/01-cubes/cubes.cpp | 2 +- .../bgfx/examples/02-metaballs/fs_metaballs.bin.h | 196 + 3rdparty/bgfx/examples/02-metaballs/metaballs.cpp | 16 +- .../bgfx/examples/02-metaballs/vs_metaballs.bin.h | 217 + 3rdparty/bgfx/examples/04-mesh/mesh.cpp | 2 +- .../bgfx/examples/05-instancing/instancing.cpp | 8 +- 3rdparty/bgfx/examples/06-bump/bump.cpp | 6 +- 3rdparty/bgfx/examples/07-callback/callback.cpp | 5 +- 3rdparty/bgfx/examples/08-update/update.cpp | 14 +- 3rdparty/bgfx/examples/09-hdr/hdr.cpp | 20 +- 3rdparty/bgfx/examples/10-font/font.cpp | 5 +- 3rdparty/bgfx/examples/11-fontsdf/fontsdf.cpp | 15 +- 3rdparty/bgfx/examples/12-lod/lod.cpp | 16 +- 3rdparty/bgfx/examples/13-stencil/stencil.cpp | 28 +- .../examples/14-shadowvolumes/shadowvolumes.cpp | 85 +- .../examples/15-shadowmaps-simple/fs_sms_shadow.sc | 1 + .../15-shadowmaps-simple/shadowmaps_simple.cpp | 8 +- .../bgfx/examples/16-shadowmaps/shadowmaps.cpp | 44 +- .../bgfx/examples/17-drawstress/drawstress.cpp | 6 +- .../examples/17-drawstress/fs_drawstress.bin.h | 133 + .../examples/17-drawstress/vs_drawstress.bin.h | 176 + 3rdparty/bgfx/examples/18-ibl/ibl.cpp | 18 +- 3rdparty/bgfx/examples/19-oit/oit.cpp | 14 +- 3rdparty/bgfx/examples/20-nanovg/nanovg.cpp | 4 +- 3rdparty/bgfx/examples/21-deferred/deferred.cpp | 34 +- 3rdparty/bgfx/examples/22-windows/windows.cpp | 14 +- 3rdparty/bgfx/examples/23-vectordisplay/main.cpp | 12 +- .../examples/23-vectordisplay/vectordisplay.cpp | 80 +- .../bgfx/examples/23-vectordisplay/vectordisplay.h | 9 +- 3rdparty/bgfx/examples/24-nbody/nbody.cpp | 14 +- 3rdparty/bgfx/examples/25-c99/helloworld.c | 17 +- 3rdparty/bgfx/examples/26-occlusion/occlusion.cpp | 14 +- 3rdparty/bgfx/examples/27-terrain/terrain.cpp | 18 +- 3rdparty/bgfx/examples/28-wireframe/wireframe.cpp | 12 +- 3rdparty/bgfx/examples/29-debugdraw/debugdraw.cpp | 6 +- 3rdparty/bgfx/examples/30-picking/picking.cpp | 8 +- .../bgfx/examples/31-rsm/reflectiveshadowmap.cpp | 10 +- 3rdparty/bgfx/examples/32-particles/particles.cpp | 28 +- 3rdparty/bgfx/examples/common/bgfx_utils.cpp | 340 +- 3rdparty/bgfx/examples/common/bgfx_utils.h | 26 + 3rdparty/bgfx/examples/common/bounds.cpp | 8 +- 3rdparty/bgfx/examples/common/camera.cpp | 28 +- 3rdparty/bgfx/examples/common/cube_atlas.cpp | 15 +- .../bgfx/examples/common/debugdraw/debugdraw.cpp | 36 +- .../common/debugdraw/fs_debugdraw_fill.bin.h | 136 + .../common/debugdraw/fs_debugdraw_fill_lit.bin.h | 255 + .../debugdraw/fs_debugdraw_fill_texture.bin.h | 270 +- .../common/debugdraw/fs_debugdraw_lines.bin.h | 133 + .../debugdraw/fs_debugdraw_lines_stipple.bin.h | 177 + .../common/debugdraw/vs_debugdraw_fill.bin.h | 168 + .../common/debugdraw/vs_debugdraw_fill_lit.bin.h | 209 + .../debugdraw/vs_debugdraw_fill_texture.bin.h | 206 + .../common/debugdraw/vs_debugdraw_lines.bin.h | 176 + .../debugdraw/vs_debugdraw_lines_stipple.bin.h | 208 + 3rdparty/bgfx/examples/common/entry/cmd.cpp | 9 +- 3rdparty/bgfx/examples/common/entry/entry.cpp | 12 +- 3rdparty/bgfx/examples/common/entry/entry.h | 3 +- .../bgfx/examples/common/entry/entry_android.cpp | 2 +- .../bgfx/examples/common/entry/entry_asmjs.cpp | 2 +- 3rdparty/bgfx/examples/common/entry/entry_glfw.cpp | 12 +- 3rdparty/bgfx/examples/common/entry/entry_nacl.cpp | 4 +- 3rdparty/bgfx/examples/common/entry/entry_p.h | 5 +- 3rdparty/bgfx/examples/common/entry/entry_sdl.cpp | 17 +- .../bgfx/examples/common/entry/entry_windows.cpp | 27 +- 3rdparty/bgfx/examples/common/entry/entry_x11.cpp | 21 +- 3rdparty/bgfx/examples/common/entry/input.cpp | 10 +- .../bgfx/examples/common/font/font_manager.cpp | 16 +- .../bgfx/examples/common/font/fs_font_basic.bin.h | 365 +- .../common/font/fs_font_distance_field.bin.h | 454 +- .../font/fs_font_distance_field_subpixel.bin.h | 497 +- .../examples/common/font/text_buffer_manager.cpp | 7 +- .../bgfx/examples/common/font/text_metrics.cpp | 13 +- 3rdparty/bgfx/examples/common/font/text_metrics.h | 3 + .../bgfx/examples/common/font/vs_font_basic.bin.h | 202 + .../common/font/vs_font_distance_field.bin.h | 202 + .../font/vs_font_distance_field_subpixel.bin.h | 202 + 3rdparty/bgfx/examples/common/image.cpp | 412 + 3rdparty/bgfx/examples/common/image.h | 62 + .../examples/common/imgui/fs_imgui_color.bin.h | 133 + .../examples/common/imgui/fs_imgui_cubemap.bin.h | 302 +- .../examples/common/imgui/fs_imgui_image.bin.h | 303 +- .../common/imgui/fs_imgui_image_swizz.bin.h | 352 +- .../examples/common/imgui/fs_imgui_latlong.bin.h | 386 +- .../examples/common/imgui/fs_imgui_texture.bin.h | 294 +- .../examples/common/imgui/fs_ocornut_imgui.bin.h | 267 +- .../examples/common/imgui/icons_font_awesome.ttf.h | 12788 ++++++++++++------ 3rdparty/bgfx/examples/common/imgui/imgui.cpp | 2 +- .../bgfx/examples/common/imgui/ocornut_imgui.cpp | 7 +- .../examples/common/imgui/vs_imgui_color.bin.h | 177 + .../examples/common/imgui/vs_imgui_cubemap.bin.h | 179 + .../examples/common/imgui/vs_imgui_image.bin.h | 179 + .../examples/common/imgui/vs_imgui_latlong.bin.h | 179 + .../examples/common/imgui/vs_imgui_texture.bin.h | 207 + .../examples/common/imgui/vs_ocornut_imgui.bin.h | 220 + 3rdparty/bgfx/examples/common/nanovg/fontstash.h | 22 +- .../examples/common/nanovg/fs_nanovg_fill.bin.h | 1023 +- 3rdparty/bgfx/examples/common/nanovg/nanovg.cpp | 84 +- 3rdparty/bgfx/examples/common/nanovg/nanovg.h | 16 +- .../bgfx/examples/common/nanovg/nanovg_bgfx.cpp | 136 +- 3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.h | 3 + .../examples/common/nanovg/vs_nanovg_fill.bin.h | 217 + 3rdparty/bgfx/examples/common/packrect.h | 2 +- 3rdparty/bgfx/examples/common/ps/fs_particle.bin.h | 337 +- .../bgfx/examples/common/ps/particle_system.cpp | 137 +- 3rdparty/bgfx/examples/common/ps/particle_system.h | 19 +- 3rdparty/bgfx/examples/common/ps/vs_particle.bin.h | 203 + 3rdparty/bgfx/examples/makefile | 4 + .../examples/runtime/font/fontawesome-webfont.ttf | Bin 80776 -> 165548 bytes .../bgfx/examples/runtime/gamecontrollerdb.txt | 83 +- .../dx11/fs_shadowmaps_color_lighting_esm.bin | Bin 3573 -> 3573 bytes .../dx11/fs_shadowmaps_color_lighting_esm_csm.bin | Bin 6510 -> 6534 bytes .../fs_shadowmaps_color_lighting_esm_linear.bin | Bin 3545 -> 3545 bytes ...fs_shadowmaps_color_lighting_esm_linear_csm.bin | Bin 6398 -> 6422 bytes ...s_shadowmaps_color_lighting_esm_linear_omni.bin | Bin 5203 -> 5203 bytes .../dx11/fs_shadowmaps_color_lighting_esm_omni.bin | Bin 5231 -> 5231 bytes .../dx11/fs_shadowmaps_color_lighting_hard.bin | Bin 3457 -> 3457 bytes .../dx11/fs_shadowmaps_color_lighting_hard_csm.bin | Bin 6046 -> 6070 bytes .../fs_shadowmaps_color_lighting_hard_linear.bin | Bin 3429 -> 3429 bytes ...s_shadowmaps_color_lighting_hard_linear_csm.bin | Bin 5934 -> 5958 bytes ..._shadowmaps_color_lighting_hard_linear_omni.bin | Bin 5087 -> 5087 bytes .../fs_shadowmaps_color_lighting_hard_omni.bin | Bin 5115 -> 5115 bytes .../dx11/fs_shadowmaps_color_lighting_pcf.bin | Bin 11918 -> 11918 bytes .../dx11/fs_shadowmaps_color_lighting_pcf_csm.bin | Bin 39963 -> 40071 bytes .../fs_shadowmaps_color_lighting_pcf_linear.bin | Bin 10842 -> 10850 bytes ...fs_shadowmaps_color_lighting_pcf_linear_csm.bin | Bin 35579 -> 35715 bytes ...s_shadowmaps_color_lighting_pcf_linear_omni.bin | Bin 12436 -> 12436 bytes .../dx11/fs_shadowmaps_color_lighting_pcf_omni.bin | Bin 13524 -> 13524 bytes .../dx11/fs_shadowmaps_color_lighting_vsm.bin | Bin 3749 -> 3717 bytes .../dx11/fs_shadowmaps_color_lighting_vsm_csm.bin | Bin 7214 -> 7206 bytes .../fs_shadowmaps_color_lighting_vsm_linear.bin | Bin 3721 -> 3689 bytes ...fs_shadowmaps_color_lighting_vsm_linear_csm.bin | Bin 7102 -> 7094 bytes ...s_shadowmaps_color_lighting_vsm_linear_omni.bin | Bin 5379 -> 5347 bytes .../dx11/fs_shadowmaps_color_lighting_vsm_omni.bin | Bin 5407 -> 5375 bytes .../runtime/shaders/dx11/fs_sms_mesh_pd.bin | Bin 5631 -> 5631 bytes .../runtime/shaders/dx11/fs_sms_shadow.bin | Bin 148 -> 228 bytes .../bgfx/examples/runtime/shaders/dx9/fs_bump.bin | Bin 2278 -> 2266 bytes .../examples/runtime/shaders/dx9/fs_callback.bin | Bin 557 -> 545 bytes .../bgfx/examples/runtime/shaders/dx9/fs_cubes.bin | Bin 141 -> 129 bytes .../runtime/shaders/dx9/fs_deferred_combine.bin | Bin 622 -> 610 bytes .../runtime/shaders/dx9/fs_deferred_debug.bin | Bin 222 -> 210 bytes .../runtime/shaders/dx9/fs_deferred_debug_line.bin | Bin 141 -> 129 bytes .../runtime/shaders/dx9/fs_deferred_geom.bin | Bin 700 -> 688 bytes .../runtime/shaders/dx9/fs_deferred_light.bin | Bin 1092 -> 1080 bytes .../examples/runtime/shaders/dx9/fs_hdr_blur.bin | Bin 622 -> 610 bytes .../examples/runtime/shaders/dx9/fs_hdr_bright.bin | Bin 1664 -> 1652 bytes .../examples/runtime/shaders/dx9/fs_hdr_lum.bin | Bin 1473 -> 1461 bytes .../examples/runtime/shaders/dx9/fs_hdr_lumavg.bin | Bin 1797 -> 1785 bytes .../examples/runtime/shaders/dx9/fs_hdr_mesh.bin | Bin 1381 -> 1369 bytes .../examples/runtime/shaders/dx9/fs_hdr_skybox.bin | Bin 529 -> 517 bytes .../runtime/shaders/dx9/fs_hdr_tonemap.bin | Bin 1677 -> 1665 bytes .../examples/runtime/shaders/dx9/fs_ibl_mesh.bin | Bin 2027 -> 2015 bytes .../examples/runtime/shaders/dx9/fs_ibl_skybox.bin | Bin 1023 -> 1011 bytes .../examples/runtime/shaders/dx9/fs_instancing.bin | Bin 141 -> 129 bytes .../bgfx/examples/runtime/shaders/dx9/fs_mesh.bin | Bin 1206 -> 1194 bytes .../bgfx/examples/runtime/shaders/dx9/fs_oit.bin | Bin 187 -> 175 bytes .../examples/runtime/shaders/dx9/fs_oit_wb.bin | Bin 463 -> 451 bytes .../runtime/shaders/dx9/fs_oit_wb_blit.bin | Bin 433 -> 421 bytes .../runtime/shaders/dx9/fs_oit_wb_separate.bin | Bin 435 -> 423 bytes .../shaders/dx9/fs_oit_wb_separate_blit.bin | Bin 433 -> 421 bytes .../examples/runtime/shaders/dx9/fs_particle.bin | Bin 408 -> 396 bytes .../examples/runtime/shaders/dx9/fs_picking_id.bin | Bin 228 -> 216 bytes .../runtime/shaders/dx9/fs_picking_shaded.bin | Bin 669 -> 657 bytes .../runtime/shaders/dx9/fs_raymarching.bin | Bin 47442 -> 47430 bytes .../runtime/shaders/dx9/fs_rsm_combine.bin | Bin 2433 -> 2421 bytes .../runtime/shaders/dx9/fs_rsm_gbuffer.bin | Bin 238 -> 226 bytes .../runtime/shaders/dx9/fs_rsm_lbuffer.bin | Bin 903 -> 891 bytes .../examples/runtime/shaders/dx9/fs_rsm_shadow.bin | Bin 210 -> 198 bytes .../shaders/dx9/fs_shadowmaps_color_black.bin | Bin 153 -> 141 bytes .../dx9/fs_shadowmaps_color_lighting_esm.bin | Bin 2726 -> 2718 bytes .../dx9/fs_shadowmaps_color_lighting_esm_csm.bin | Bin 4507 -> 4499 bytes .../fs_shadowmaps_color_lighting_esm_linear.bin | Bin 2722 -> 2714 bytes ...fs_shadowmaps_color_lighting_esm_linear_csm.bin | Bin 4471 -> 4463 bytes ...s_shadowmaps_color_lighting_esm_linear_omni.bin | Bin 3776 -> 3764 bytes .../dx9/fs_shadowmaps_color_lighting_esm_omni.bin | Bin 3780 -> 3768 bytes .../dx9/fs_shadowmaps_color_lighting_hard.bin | Bin 2686 -> 2678 bytes .../dx9/fs_shadowmaps_color_lighting_hard_csm.bin | Bin 4375 -> 4367 bytes .../fs_shadowmaps_color_lighting_hard_linear.bin | Bin 2682 -> 2674 bytes ...s_shadowmaps_color_lighting_hard_linear_csm.bin | Bin 4419 -> 4411 bytes ..._shadowmaps_color_lighting_hard_linear_omni.bin | Bin 3748 -> 3736 bytes .../dx9/fs_shadowmaps_color_lighting_hard_omni.bin | Bin 3732 -> 3720 bytes .../dx9/fs_shadowmaps_color_lighting_pcf.bin | Bin 7591 -> 7579 bytes .../dx9/fs_shadowmaps_color_lighting_pcf_csm.bin | Bin 24496 -> 24484 bytes .../fs_shadowmaps_color_lighting_pcf_linear.bin | Bin 7267 -> 7255 bytes ...fs_shadowmaps_color_lighting_pcf_linear_csm.bin | Bin 22316 -> 22304 bytes ...s_shadowmaps_color_lighting_pcf_linear_omni.bin | Bin 7961 -> 7953 bytes .../dx9/fs_shadowmaps_color_lighting_pcf_omni.bin | Bin 8665 -> 8657 bytes .../dx9/fs_shadowmaps_color_lighting_vsm.bin | Bin 2806 -> 2798 bytes .../dx9/fs_shadowmaps_color_lighting_vsm_csm.bin | Bin 4891 -> 4883 bytes .../fs_shadowmaps_color_lighting_vsm_linear.bin | Bin 2790 -> 2782 bytes ...fs_shadowmaps_color_lighting_vsm_linear_csm.bin | Bin 4827 -> 4819 bytes ...s_shadowmaps_color_lighting_vsm_linear_omni.bin | Bin 3876 -> 3864 bytes .../dx9/fs_shadowmaps_color_lighting_vsm_omni.bin | Bin 3892 -> 3880 bytes .../shaders/dx9/fs_shadowmaps_color_texture.bin | Bin 576 -> 564 bytes .../runtime/shaders/dx9/fs_shadowmaps_hblur.bin | Bin 964 -> 952 bytes .../shaders/dx9/fs_shadowmaps_hblur_vsm.bin | Bin 1156 -> 1144 bytes .../shaders/dx9/fs_shadowmaps_packdepth.bin | Bin 273 -> 261 bytes .../shaders/dx9/fs_shadowmaps_packdepth_linear.bin | Bin 225 -> 213 bytes .../shaders/dx9/fs_shadowmaps_packdepth_vsm.bin | Bin 337 -> 325 bytes .../dx9/fs_shadowmaps_packdepth_vsm_linear.bin | Bin 265 -> 253 bytes .../runtime/shaders/dx9/fs_shadowmaps_texture.bin | Bin 222 -> 210 bytes .../shaders/dx9/fs_shadowmaps_unpackdepth.bin | Bin 384 -> 372 bytes .../shaders/dx9/fs_shadowmaps_unpackdepth_vsm.bin | Bin 388 -> 376 bytes .../runtime/shaders/dx9/fs_shadowmaps_vblur.bin | Bin 964 -> 952 bytes .../shaders/dx9/fs_shadowmaps_vblur_vsm.bin | Bin 1156 -> 1144 bytes .../shaders/dx9/fs_shadowvolume_color_lighting.bin | Bin 1914 -> 1902 bytes .../shaders/dx9/fs_shadowvolume_color_texture.bin | Bin 576 -> 564 bytes .../shaders/dx9/fs_shadowvolume_svbackblank.bin | Bin 153 -> 141 bytes .../shaders/dx9/fs_shadowvolume_svbackcolor.bin | Bin 231 -> 219 bytes .../shaders/dx9/fs_shadowvolume_svbacktex1.bin | Bin 205 -> 193 bytes .../shaders/dx9/fs_shadowvolume_svbacktex2.bin | Bin 205 -> 193 bytes .../shaders/dx9/fs_shadowvolume_svfrontblank.bin | Bin 153 -> 141 bytes .../shaders/dx9/fs_shadowvolume_svfrontcolor.bin | Bin 231 -> 219 bytes .../shaders/dx9/fs_shadowvolume_svfronttex1.bin | Bin 205 -> 193 bytes .../shaders/dx9/fs_shadowvolume_svfronttex2.bin | Bin 205 -> 193 bytes .../runtime/shaders/dx9/fs_shadowvolume_svside.bin | Bin 281 -> 269 bytes .../shaders/dx9/fs_shadowvolume_svsideblank.bin | Bin 153 -> 141 bytes .../shaders/dx9/fs_shadowvolume_svsidecolor.bin | Bin 231 -> 219 bytes .../shaders/dx9/fs_shadowvolume_svsidetex.bin | Bin 378 -> 366 bytes .../shaders/dx9/fs_shadowvolume_texture.bin | Bin 222 -> 210 bytes .../dx9/fs_shadowvolume_texture_lighting.bin | Bin 2065 -> 2053 bytes .../examples/runtime/shaders/dx9/fs_sms_mesh.bin | Bin 2468 -> 2456 bytes .../runtime/shaders/dx9/fs_sms_mesh_pd.bin | Bin 3304 -> 3292 bytes .../examples/runtime/shaders/dx9/fs_sms_shadow.bin | Bin 153 -> 141 bytes .../runtime/shaders/dx9/fs_sms_shadow_pd.bin | Bin 354 -> 342 bytes .../runtime/shaders/dx9/fs_stencil_color_black.bin | Bin 153 -> 141 bytes .../shaders/dx9/fs_stencil_color_lighting.bin | Bin 1980 -> 1968 bytes .../shaders/dx9/fs_stencil_color_texture.bin | Bin 576 -> 564 bytes .../runtime/shaders/dx9/fs_stencil_texture.bin | Bin 222 -> 210 bytes .../shaders/dx9/fs_stencil_texture_lighting.bin | Bin 2173 -> 2161 bytes .../examples/runtime/shaders/dx9/fs_terrain.bin | Bin 201 -> 189 bytes .../bgfx/examples/runtime/shaders/dx9/fs_tree.bin | Bin 1018 -> 1010 bytes .../examples/runtime/shaders/dx9/fs_update.bin | Bin 221 -> 209 bytes .../examples/runtime/shaders/dx9/fs_update_3d.bin | Bin 431 -> 419 bytes .../examples/runtime/shaders/dx9/fs_update_cmp.bin | Bin 266 -> 254 bytes .../runtime/shaders/dx9/fs_vectordisplay_blit.bin | Bin 329 -> 317 bytes .../runtime/shaders/dx9/fs_vectordisplay_blur.bin | Bin 817 -> 805 bytes .../runtime/shaders/dx9/fs_vectordisplay_fb.bin | Bin 341 -> 329 bytes .../examples/runtime/shaders/dx9/fs_wf_mesh.bin | Bin 1020 -> 1008 bytes .../runtime/shaders/dx9/fs_wf_wireframe.bin | Bin 568 -> 556 bytes .../bgfx/examples/runtime/shaders/dx9/vs_bump.bin | Bin 1089 -> 1081 bytes .../runtime/shaders/dx9/vs_bump_instanced.bin | Bin 1083 -> 1075 bytes .../examples/runtime/shaders/dx9/vs_callback.bin | Bin 465 -> 453 bytes .../bgfx/examples/runtime/shaders/dx9/vs_cubes.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_deferred_combine.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_deferred_debug.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_deferred_debug_line.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_deferred_geom.bin | Bin 1089 -> 1081 bytes .../runtime/shaders/dx9/vs_deferred_light.bin | Bin 323 -> 311 bytes .../examples/runtime/shaders/dx9/vs_hdr_blur.bin | Bin 669 -> 657 bytes .../examples/runtime/shaders/dx9/vs_hdr_bright.bin | Bin 323 -> 311 bytes .../examples/runtime/shaders/dx9/vs_hdr_lum.bin | Bin 323 -> 311 bytes .../examples/runtime/shaders/dx9/vs_hdr_lumavg.bin | Bin 323 -> 311 bytes .../examples/runtime/shaders/dx9/vs_hdr_mesh.bin | Bin 581 -> 569 bytes .../examples/runtime/shaders/dx9/vs_hdr_skybox.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_hdr_tonemap.bin | Bin 657 -> 645 bytes .../examples/runtime/shaders/dx9/vs_ibl_mesh.bin | Bin 632 -> 620 bytes .../examples/runtime/shaders/dx9/vs_ibl_skybox.bin | Bin 607 -> 595 bytes .../examples/runtime/shaders/dx9/vs_instancing.bin | Bin 478 -> 466 bytes .../bgfx/examples/runtime/shaders/dx9/vs_mesh.bin | Bin 986 -> 974 bytes .../bgfx/examples/runtime/shaders/dx9/vs_oit.bin | Bin 553 -> 545 bytes .../examples/runtime/shaders/dx9/vs_oit_blit.bin | Bin 323 -> 311 bytes .../examples/runtime/shaders/dx9/vs_particle.bin | Bin 682 -> 674 bytes .../runtime/shaders/dx9/vs_picking_shaded.bin | Bin 678 -> 666 bytes .../runtime/shaders/dx9/vs_raymarching.bin | Bin 359 -> 347 bytes .../runtime/shaders/dx9/vs_rsm_combine.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_rsm_gbuffer.bin | Bin 501 -> 489 bytes .../runtime/shaders/dx9/vs_rsm_lbuffer.bin | Bin 908 -> 896 bytes .../examples/runtime/shaders/dx9/vs_rsm_shadow.bin | Bin 505 -> 493 bytes .../runtime/shaders/dx9/vs_shadowmaps_color.bin | Bin 287 -> 275 bytes .../shaders/dx9/vs_shadowmaps_color_lighting.bin | Bin 806 -> 794 bytes .../dx9/vs_shadowmaps_color_lighting_csm.bin | Bin 1455 -> 1443 bytes .../dx9/vs_shadowmaps_color_lighting_linear.bin | Bin 822 -> 810 bytes .../vs_shadowmaps_color_lighting_linear_csm.bin | Bin 1519 -> 1507 bytes .../vs_shadowmaps_color_lighting_linear_omni.bin | Bin 1466 -> 1454 bytes .../dx9/vs_shadowmaps_color_lighting_omni.bin | Bin 1402 -> 1390 bytes .../shaders/dx9/vs_shadowmaps_color_texture.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_shadowmaps_depth.bin | Bin 287 -> 275 bytes .../runtime/shaders/dx9/vs_shadowmaps_hblur.bin | Bin 758 -> 746 bytes .../shaders/dx9/vs_shadowmaps_packdepth.bin | Bin 323 -> 311 bytes .../shaders/dx9/vs_shadowmaps_packdepth_linear.bin | Bin 355 -> 343 bytes .../runtime/shaders/dx9/vs_shadowmaps_texture.bin | Bin 323 -> 311 bytes .../shaders/dx9/vs_shadowmaps_texture_lighting.bin | Bin 581 -> 569 bytes .../shaders/dx9/vs_shadowmaps_unpackdepth.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_shadowmaps_vblur.bin | Bin 758 -> 746 bytes .../shaders/dx9/vs_shadowvolume_color_lighting.bin | Bin 545 -> 533 bytes .../shaders/dx9/vs_shadowvolume_color_texture.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_shadowvolume_svback.bin | Bin 441 -> 429 bytes .../shaders/dx9/vs_shadowvolume_svfront.bin | Bin 287 -> 275 bytes .../runtime/shaders/dx9/vs_shadowvolume_svside.bin | Bin 549 -> 537 bytes .../shaders/dx9/vs_shadowvolume_texture.bin | Bin 323 -> 311 bytes .../dx9/vs_shadowvolume_texture_lighting.bin | Bin 581 -> 569 bytes .../examples/runtime/shaders/dx9/vs_sms_mesh.bin | Bin 742 -> 730 bytes .../examples/runtime/shaders/dx9/vs_sms_shadow.bin | Bin 287 -> 275 bytes .../runtime/shaders/dx9/vs_sms_shadow_pd.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_stencil_color.bin | Bin 287 -> 275 bytes .../shaders/dx9/vs_stencil_color_lighting.bin | Bin 545 -> 533 bytes .../shaders/dx9/vs_stencil_color_texture.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_stencil_texture.bin | Bin 323 -> 311 bytes .../shaders/dx9/vs_stencil_texture_lighting.bin | Bin 581 -> 569 bytes .../examples/runtime/shaders/dx9/vs_terrain.bin | Bin 347 -> 335 bytes .../shaders/dx9/vs_terrain_height_texture.bin | Bin 517 -> 505 bytes .../bgfx/examples/runtime/shaders/dx9/vs_tree.bin | Bin 633 -> 621 bytes .../examples/runtime/shaders/dx9/vs_update.bin | Bin 323 -> 311 bytes .../runtime/shaders/dx9/vs_vectordisplay_fb.bin | Bin 359 -> 347 bytes .../examples/runtime/shaders/dx9/vs_wf_mesh.bin | Bin 668 -> 656 bytes .../runtime/shaders/dx9/vs_wf_wireframe.bin | Bin 544 -> 532 bytes .../runtime/shaders/essl/fs_sms_shadow.bin | Bin 30 -> 165 bytes .../runtime/shaders/glsl/fs_sms_shadow.bin | Bin 30 -> 157 bytes .../examples/runtime/shaders/metal/fs_bump.bin | Bin 6165 -> 5288 bytes .../runtime/shaders/metal/fs_deferred_combine.bin | Bin 1196 -> 1192 bytes .../runtime/shaders/metal/fs_deferred_debug.bin | Bin 598 -> 551 bytes .../runtime/shaders/metal/fs_deferred_geom.bin | Bin 1605 -> 1471 bytes .../runtime/shaders/metal/fs_deferred_light.bin | Bin 2577 -> 2372 bytes .../examples/runtime/shaders/metal/fs_hdr_blur.bin | Bin 2102 -> 1561 bytes .../runtime/shaders/metal/fs_hdr_bright.bin | Bin 3829 -> 3183 bytes .../examples/runtime/shaders/metal/fs_hdr_lum.bin | Bin 3633 -> 3035 bytes .../runtime/shaders/metal/fs_hdr_lumavg.bin | Bin 5145 -> 4219 bytes .../examples/runtime/shaders/metal/fs_hdr_mesh.bin | Bin 2534 -> 2144 bytes .../runtime/shaders/metal/fs_hdr_skybox.bin | Bin 1094 -> 1029 bytes .../runtime/shaders/metal/fs_hdr_tonemap.bin | Bin 4187 -> 3428 bytes .../examples/runtime/shaders/metal/fs_ibl_mesh.bin | Bin 4400 -> 4063 bytes .../runtime/shaders/metal/fs_ibl_skybox.bin | Bin 2413 -> 2271 bytes .../runtime/shaders/metal/fs_oit_wb_blit.bin | Bin 945 -> 877 bytes .../shaders/metal/fs_oit_wb_separate_blit.bin | Bin 945 -> 877 bytes .../runtime/shaders/metal/fs_picking_id.bin | Bin 435 -> 446 bytes .../runtime/shaders/metal/fs_picking_shaded.bin | Bin 1176 -> 1196 bytes .../runtime/shaders/metal/fs_rsm_combine.bin | Bin 10144 -> 10123 bytes .../runtime/shaders/metal/fs_rsm_gbuffer.bin | Bin 549 -> 562 bytes .../runtime/shaders/metal/fs_rsm_lbuffer.bin | Bin 1883 -> 1735 bytes .../runtime/shaders/metal/fs_rsm_shadow.bin | Bin 491 -> 504 bytes .../metal/fs_shadowmaps_color_lighting_esm.bin | Bin 4992 -> 4924 bytes .../metal/fs_shadowmaps_color_lighting_esm_csm.bin | Bin 11776 -> 11532 bytes .../fs_shadowmaps_color_lighting_esm_linear.bin | Bin 5036 -> 4968 bytes ...fs_shadowmaps_color_lighting_esm_linear_csm.bin | Bin 11996 -> 11752 bytes ...s_shadowmaps_color_lighting_esm_linear_omni.bin | Bin 8484 -> 8416 bytes .../fs_shadowmaps_color_lighting_esm_omni.bin | Bin 8438 -> 8370 bytes .../metal/fs_shadowmaps_color_lighting_hard.bin | Bin 4814 -> 4784 bytes .../fs_shadowmaps_color_lighting_hard_csm.bin | Bin 11032 -> 10940 bytes .../fs_shadowmaps_color_lighting_hard_linear.bin | Bin 4846 -> 4816 bytes ...s_shadowmaps_color_lighting_hard_linear_csm.bin | Bin 11168 -> 11076 bytes ..._shadowmaps_color_lighting_hard_linear_omni.bin | Bin 8295 -> 8265 bytes .../fs_shadowmaps_color_lighting_hard_omni.bin | Bin 8261 -> 8231 bytes .../metal/fs_shadowmaps_color_lighting_pcf.bin | Bin 17462 -> 17105 bytes .../metal/fs_shadowmaps_color_lighting_pcf_csm.bin | Bin 68843 -> 67439 bytes .../fs_shadowmaps_color_lighting_pcf_linear.bin | Bin 17415 -> 17058 bytes ...fs_shadowmaps_color_lighting_pcf_linear_csm.bin | Bin 68897 -> 67493 bytes ...s_shadowmaps_color_lighting_pcf_linear_omni.bin | Bin 21070 -> 20713 bytes .../fs_shadowmaps_color_lighting_pcf_omni.bin | Bin 21015 -> 20658 bytes .../metal/fs_shadowmaps_color_lighting_vsm.bin | Bin 5452 -> 5356 bytes .../metal/fs_shadowmaps_color_lighting_vsm_csm.bin | Bin 13858 -> 13502 bytes .../fs_shadowmaps_color_lighting_vsm_linear.bin | Bin 5496 -> 5400 bytes ...fs_shadowmaps_color_lighting_vsm_linear_csm.bin | Bin 14078 -> 13722 bytes ...s_shadowmaps_color_lighting_vsm_linear_omni.bin | Bin 8946 -> 8850 bytes .../fs_shadowmaps_color_lighting_vsm_omni.bin | Bin 8900 -> 8804 bytes .../shaders/metal/fs_shadowmaps_color_texture.bin | Bin 1083 -> 1041 bytes .../runtime/shaders/metal/fs_shadowmaps_hblur.bin | Bin 2925 -> 2300 bytes .../shaders/metal/fs_shadowmaps_hblur_vsm.bin | Bin 4052 -> 3334 bytes .../shaders/metal/fs_shadowmaps_texture.bin | Bin 602 -> 551 bytes .../shaders/metal/fs_shadowmaps_unpackdepth.bin | Bin 841 -> 762 bytes .../metal/fs_shadowmaps_unpackdepth_vsm.bin | Bin 814 -> 735 bytes .../runtime/shaders/metal/fs_shadowmaps_vblur.bin | Bin 2925 -> 2300 bytes .../shaders/metal/fs_shadowmaps_vblur_vsm.bin | Bin 4052 -> 3334 bytes .../metal/fs_shadowvolume_color_lighting.bin | Bin 2914 -> 2710 bytes .../metal/fs_shadowvolume_color_texture.bin | Bin 1083 -> 1041 bytes .../shaders/metal/fs_shadowvolume_texture.bin | Bin 602 -> 551 bytes .../metal/fs_shadowvolume_texture_lighting.bin | Bin 3304 -> 3009 bytes .../examples/runtime/shaders/metal/fs_sms_mesh.bin | Bin 10216 -> 10323 bytes .../runtime/shaders/metal/fs_sms_mesh_pd.bin | Bin 9926 -> 9649 bytes .../runtime/shaders/metal/fs_sms_shadow.bin | Bin 271 -> 481 bytes .../shaders/metal/fs_stencil_color_texture.bin | Bin 1083 -> 1041 bytes .../runtime/shaders/metal/fs_stencil_texture.bin | Bin 602 -> 551 bytes .../shaders/metal/fs_stencil_texture_lighting.bin | Bin 3018 -> 2937 bytes .../examples/runtime/shaders/metal/fs_tree.bin | Bin 1934 -> 1750 bytes .../examples/runtime/shaders/metal/fs_update.bin | Bin 600 -> 549 bytes .../runtime/shaders/metal/fs_update_3d.bin | Bin 897 -> 848 bytes .../runtime/shaders/metal/fs_update_cmp.bin | Bin 652 -> 570 bytes .../shaders/metal/fs_vectordisplay_blit.bin | Bin 849 -> 779 bytes .../shaders/metal/fs_vectordisplay_blur.bin | Bin 3449 -> 2765 bytes .../runtime/shaders/metal/fs_vectordisplay_fb.bin | Bin 823 -> 734 bytes .../runtime/shaders/metal/vs_deferred_combine.bin | Bin 659 -> 685 bytes .../runtime/shaders/metal/vs_deferred_debug.bin | Bin 659 -> 685 bytes .../shaders/metal/vs_deferred_debug_line.bin | Bin 647 -> 673 bytes .../runtime/shaders/metal/vs_deferred_geom.bin | Bin 2038 -> 2130 bytes .../runtime/shaders/metal/vs_deferred_light.bin | Bin 659 -> 685 bytes .../runtime/shaders/metal/vs_picking_shaded.bin | Bin 1086 -> 1151 bytes .../runtime/shaders/metal/vs_rsm_combine.bin | Bin 659 -> 685 bytes .../runtime/shaders/metal/vs_rsm_gbuffer.bin | Bin 815 -> 859 bytes .../runtime/shaders/metal/vs_rsm_lbuffer.bin | Bin 1801 -> 1757 bytes .../runtime/shaders/metal/vs_rsm_shadow.bin | Bin 829 -> 877 bytes .../shaders/metal/vs_terrain_height_texture.bin | Bin 1071 -> 982 bytes 3rdparty/bgfx/include/bgfx/bgfx.h | 28 +- 3rdparty/bgfx/include/bgfx/c99/bgfx.h | 4 +- 3rdparty/bgfx/include/bgfx/c99/platform.h | 5 +- 3rdparty/bgfx/include/bgfx/defines.h | 58 +- 3rdparty/bgfx/include/bgfx/platform.h | 1 + 3rdparty/bgfx/scripts/genie.lua | 8 +- 3rdparty/bgfx/scripts/shader.mk | 4 + 3rdparty/bgfx/scripts/shaderc.lua | 159 +- 3rdparty/bgfx/scripts/texturev.lua | 1 - 3rdparty/bgfx/src/bgfx.cpp | 179 +- 3rdparty/bgfx/src/bgfx_compute.sh | 38 +- 3rdparty/bgfx/src/bgfx_p.h | 150 +- 3rdparty/bgfx/src/bgfx_shader.sh | 16 +- 3rdparty/bgfx/src/glcontext_egl.cpp | 7 + 3rdparty/bgfx/src/glcontext_wgl.cpp | 4 +- 3rdparty/bgfx/src/hmd_ovr.cpp | 2 +- 3rdparty/bgfx/src/image.cpp | 248 +- 3rdparty/bgfx/src/image.h | 123 +- 3rdparty/bgfx/src/makefile | 2 +- 3rdparty/bgfx/src/renderer.h | 2 +- 3rdparty/bgfx/src/renderer_d3d11.cpp | 136 +- 3rdparty/bgfx/src/renderer_d3d11.h | 5 +- 3rdparty/bgfx/src/renderer_d3d12.cpp | 176 +- 3rdparty/bgfx/src/renderer_d3d12.h | 11 +- 3rdparty/bgfx/src/renderer_d3d9.cpp | 105 +- 3rdparty/bgfx/src/renderer_d3d9.h | 9 +- 3rdparty/bgfx/src/renderer_gl.cpp | 399 +- 3rdparty/bgfx/src/renderer_gl.h | 30 +- 3rdparty/bgfx/src/renderer_mtl.h | 1 + 3rdparty/bgfx/src/renderer_mtl.mm | 100 +- 3rdparty/bgfx/src/renderer_noop.cpp | 6 +- 3rdparty/bgfx/src/renderer_vk.cpp | 122 +- 3rdparty/bgfx/src/renderer_vk.h | 4 +- 3rdparty/bgfx/src/shader_dx9bc.cpp | 2 +- 3rdparty/bgfx/src/shader_dxbc.cpp | 12 +- 3rdparty/bgfx/src/topology.cpp | 2 +- 3rdparty/bgfx/src/vertexdecl.cpp | 23 +- 3rdparty/bgfx/tools/shaderc/shaderc.cpp | 106 +- 3rdparty/bgfx/tools/shaderc/shaderc_glsl.cpp | 23 +- 3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp | 12 +- 3rdparty/bgfx/tools/shaderc/shaderc_spirv.cpp | 88 +- 3rdparty/bgfx/tools/texturec/texturec.cpp | 143 +- 3rdparty/bgfx/tools/texturev/texturev.cpp | 27 +- 3rdparty/bx/3rdparty/CL/cl.h | 1214 -- 3rdparty/bx/3rdparty/CL/cl_d3d10.h | 126 - 3rdparty/bx/3rdparty/CL/cl_d3d11.h | 126 - 3rdparty/bx/3rdparty/CL/cl_dx9_media_sharing.h | 127 - 3rdparty/bx/3rdparty/CL/cl_egl.h | 131 - 3rdparty/bx/3rdparty/CL/cl_ext.h | 306 - 3rdparty/bx/3rdparty/CL/cl_gl.h | 162 - 3rdparty/bx/3rdparty/CL/cl_gl_ext.h | 69 - 3rdparty/bx/3rdparty/CL/cl_platform.h | 1254 -- 3rdparty/bx/3rdparty/CL/opencl.h | 54 - 3rdparty/bx/3rdparty/catch/catch.hpp | 1558 ++- 3rdparty/bx/LICENSE | 4 - 3rdparty/bx/include/bx/allocator.h | 22 +- 3rdparty/bx/include/bx/allocator.inl | 104 - 3rdparty/bx/include/bx/bx.h | 61 +- 3rdparty/bx/include/bx/cl.h | 925 -- 3rdparty/bx/include/bx/config.h | 31 +- 3rdparty/bx/include/bx/debug.h | 1 - 3rdparty/bx/include/bx/easing.h | 2 +- 3rdparty/bx/include/bx/easing.inl | 256 - 3rdparty/bx/include/bx/endian.h | 2 +- 3rdparty/bx/include/bx/endian.inl | 78 - 3rdparty/bx/include/bx/error.h | 3 +- 3rdparty/bx/include/bx/error.inl | 73 - 3rdparty/bx/include/bx/float4x4_t.h | 6 +- 3rdparty/bx/include/bx/fpumath.h | 99 +- 3rdparty/bx/include/bx/fpumath.inl | 1416 -- 3rdparty/bx/include/bx/handlealloc.h | 2 +- 3rdparty/bx/include/bx/handlealloc.inl | 712 - 3rdparty/bx/include/bx/hash.h | 9 +- 3rdparty/bx/include/bx/hash.inl | 154 - 3rdparty/bx/include/bx/inline/allocator.inl | 104 + 3rdparty/bx/include/bx/inline/bx.inl | 35 + 3rdparty/bx/include/bx/inline/easing.inl | 256 + 3rdparty/bx/include/bx/inline/endian.inl | 78 + 3rdparty/bx/include/bx/inline/error.inl | 73 + 3rdparty/bx/include/bx/inline/fpumath.inl | 1352 ++ 3rdparty/bx/include/bx/inline/handlealloc.inl | 708 + 3rdparty/bx/include/bx/inline/hash.inl | 164 + 3rdparty/bx/include/bx/inline/mpscqueue.inl | 65 + 3rdparty/bx/include/bx/inline/mutex.inl | 23 + 3rdparty/bx/include/bx/inline/pixelformat.inl | 945 ++ 3rdparty/bx/include/bx/inline/readerwriter.inl | 452 + 3rdparty/bx/include/bx/inline/ringbuffer.inl | 275 + 3rdparty/bx/include/bx/inline/rng.inl | 167 + 3rdparty/bx/include/bx/inline/simd128_langext.inl | 515 + 3rdparty/bx/include/bx/inline/simd128_neon.inl | 562 + 3rdparty/bx/include/bx/inline/simd128_ref.inl | 648 + 3rdparty/bx/include/bx/inline/simd128_sse.inl | 647 + 3rdparty/bx/include/bx/inline/simd128_swizzle.inl | 266 + 3rdparty/bx/include/bx/inline/simd256_avx.inl | 77 + 3rdparty/bx/include/bx/inline/simd256_ref.inl | 87 + 3rdparty/bx/include/bx/inline/simd_ni.inl | 558 + 3rdparty/bx/include/bx/inline/sort.inl | 288 + 3rdparty/bx/include/bx/inline/spscqueue.inl | 158 + 3rdparty/bx/include/bx/inline/string.inl | 190 + 3rdparty/bx/include/bx/inline/uint32_t.inl | 781 ++ 3rdparty/bx/include/bx/macros.h | 6 +- 3rdparty/bx/include/bx/mpscqueue.h | 82 +- 3rdparty/bx/include/bx/mutex.h | 46 +- 3rdparty/bx/include/bx/mutex.inl | 34 - 3rdparty/bx/include/bx/os.h | 2 - 3rdparty/bx/include/bx/pixelformat.h | 6 +- 3rdparty/bx/include/bx/pixelformat.inl | 945 -- 3rdparty/bx/include/bx/platform.h | 150 +- 3rdparty/bx/include/bx/radixsort.h | 51 - 3rdparty/bx/include/bx/radixsort.inl | 288 - 3rdparty/bx/include/bx/readerwriter.h | 8 +- 3rdparty/bx/include/bx/readerwriter.inl | 452 - 3rdparty/bx/include/bx/ringbuffer.h | 345 +- 3rdparty/bx/include/bx/rng.h | 2 +- 3rdparty/bx/include/bx/rng.inl | 171 - 3rdparty/bx/include/bx/sem.h | 69 - 3rdparty/bx/include/bx/semaphore.h | 40 + 3rdparty/bx/include/bx/simd128_langext.inl | 515 - 3rdparty/bx/include/bx/simd128_neon.inl | 562 - 3rdparty/bx/include/bx/simd128_ref.inl | 650 - 3rdparty/bx/include/bx/simd128_sse.inl | 647 - 3rdparty/bx/include/bx/simd128_swizzle.inl | 266 - 3rdparty/bx/include/bx/simd256_avx.inl | 77 - 3rdparty/bx/include/bx/simd256_ref.inl | 87 - 3rdparty/bx/include/bx/simd_ni.inl | 558 - 3rdparty/bx/include/bx/simd_t.h | 15 +- 3rdparty/bx/include/bx/sort.h | 62 + 3rdparty/bx/include/bx/spscqueue.h | 204 +- 3rdparty/bx/include/bx/string.h | 82 +- 3rdparty/bx/include/bx/string.inl | 200 - 3rdparty/bx/include/bx/thread.h | 39 +- 3rdparty/bx/include/bx/thread.inl | 65 - 3rdparty/bx/include/bx/timer.h | 2 - 3rdparty/bx/include/bx/timer.inl | 61 - 3rdparty/bx/include/bx/uint32_t.h | 2 +- 3rdparty/bx/include/bx/uint32_t.inl | 781 -- 3rdparty/bx/scripts/bin2c.lua | 6 +- 3rdparty/bx/scripts/bx.lua | 32 +- 3rdparty/bx/scripts/genie.lua | 16 +- 3rdparty/bx/scripts/toolchain.lua | 64 +- 3rdparty/bx/scripts/uncrustify.cfg | 218 - 3rdparty/bx/src/amalgamated.cpp | 19 + 3rdparty/bx/src/bx.cpp | 146 + 3rdparty/bx/src/commandline.cpp | 4 +- 3rdparty/bx/src/crt.cpp | 362 - 3rdparty/bx/src/crtimpl.cpp | 1 + 3rdparty/bx/src/crtnone.cpp | 590 + 3rdparty/bx/src/debug.cpp | 4 +- 3rdparty/bx/src/dtoa.cpp | 82 +- 3rdparty/bx/src/fpumath.cpp | 70 +- 3rdparty/bx/src/mutex.cpp | 42 +- 3rdparty/bx/src/os.cpp | 11 +- 3rdparty/bx/src/sem.cpp | 221 - 3rdparty/bx/src/semaphore.cpp | 282 + 3rdparty/bx/src/sort.cpp | 55 + 3rdparty/bx/src/string.cpp | 584 +- 3rdparty/bx/src/thread.cpp | 226 +- 3rdparty/bx/src/timer.cpp | 60 + 3rdparty/bx/tests/crt_test.cpp | 43 + 3rdparty/bx/tests/handle_bench.cpp | 9 +- 3rdparty/bx/tests/handle_test.cpp | 2 +- 3rdparty/bx/tests/macros_test.cpp | 14 +- 3rdparty/bx/tests/main_test.cpp | 7 +- 3rdparty/bx/tests/queue_test.cpp | 34 + 3rdparty/bx/tests/ringbuffer_test.cpp | 20 + 3rdparty/bx/tests/run_test.cpp | 20 + 3rdparty/bx/tests/simd_bench.cpp | 133 + 3rdparty/bx/tests/simd_test.cpp | 6 +- 3rdparty/bx/tests/sort_test.cpp | 53 + 3rdparty/bx/tests/string_test.cpp | 24 +- 3rdparty/bx/tests/test.h | 5 + 3rdparty/bx/tests/thread_test.cpp | 16 +- 3rdparty/bx/tests/tokenizecmd_test.cpp | 98 +- 3rdparty/bx/tests/vector_complex_test.cpp | 2 + 3rdparty/bx/tests/vsnprintf_test.cpp | 111 +- 3rdparty/bx/tools/bin/darwin/genie | Bin 524544 -> 496056 bytes 3rdparty/bx/tools/bin/linux/genie | Bin 503472 -> 478872 bytes 3rdparty/bx/tools/bin/windows/genie.exe | Bin 508416 -> 485888 bytes 3rdparty/bx/tools/bin2c/bin2c.cpp | 4 +- 1065 files changed, 142453 insertions(+), 111936 deletions(-) create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nosuffix.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.geom.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.noRedecl.tesc.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deviceGroup.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.drawParams.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.functionNestedOpaque.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.load-formatted.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiView.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.pushConstantAnon.vert.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.1.tesc create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.2.tesc create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.void.tesc create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f3216.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.nonstaticMemberFunction.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.geom create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.staticMemberFunction.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structIoFourWay.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structStructName.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.atomics.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.byte.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.coherent.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.fn.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rw.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rwbyte.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.this.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/hlsl.typeGraphCopy.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/nosuffix create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.450.geom create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.450.noRedecl.tesc create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.deviceGroup.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.drawParams.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.functionNestedOpaque.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.image.load-formatted.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.multiView.frag create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.tesc create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.pushConstantAnon.vert create mode 100644 3rdparty/bgfx/3rdparty/glslang/Test/spv.ssbo.autoassign.frag create mode 100644 3rdparty/bgfx/examples/common/image.cpp create mode 100644 3rdparty/bgfx/examples/common/image.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_d3d10.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_d3d11.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_dx9_media_sharing.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_egl.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_ext.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_gl.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_gl_ext.h delete mode 100644 3rdparty/bx/3rdparty/CL/cl_platform.h delete mode 100644 3rdparty/bx/3rdparty/CL/opencl.h delete mode 100644 3rdparty/bx/include/bx/allocator.inl delete mode 100644 3rdparty/bx/include/bx/cl.h delete mode 100644 3rdparty/bx/include/bx/easing.inl delete mode 100644 3rdparty/bx/include/bx/endian.inl delete mode 100644 3rdparty/bx/include/bx/error.inl delete mode 100644 3rdparty/bx/include/bx/fpumath.inl delete mode 100644 3rdparty/bx/include/bx/handlealloc.inl delete mode 100644 3rdparty/bx/include/bx/hash.inl create mode 100644 3rdparty/bx/include/bx/inline/allocator.inl create mode 100644 3rdparty/bx/include/bx/inline/bx.inl create mode 100644 3rdparty/bx/include/bx/inline/easing.inl create mode 100644 3rdparty/bx/include/bx/inline/endian.inl create mode 100644 3rdparty/bx/include/bx/inline/error.inl create mode 100644 3rdparty/bx/include/bx/inline/fpumath.inl create mode 100644 3rdparty/bx/include/bx/inline/handlealloc.inl create mode 100644 3rdparty/bx/include/bx/inline/hash.inl create mode 100644 3rdparty/bx/include/bx/inline/mpscqueue.inl create mode 100644 3rdparty/bx/include/bx/inline/mutex.inl create mode 100644 3rdparty/bx/include/bx/inline/pixelformat.inl create mode 100644 3rdparty/bx/include/bx/inline/readerwriter.inl create mode 100644 3rdparty/bx/include/bx/inline/ringbuffer.inl create mode 100644 3rdparty/bx/include/bx/inline/rng.inl create mode 100644 3rdparty/bx/include/bx/inline/simd128_langext.inl create mode 100644 3rdparty/bx/include/bx/inline/simd128_neon.inl create mode 100644 3rdparty/bx/include/bx/inline/simd128_ref.inl create mode 100644 3rdparty/bx/include/bx/inline/simd128_sse.inl create mode 100644 3rdparty/bx/include/bx/inline/simd128_swizzle.inl create mode 100644 3rdparty/bx/include/bx/inline/simd256_avx.inl create mode 100644 3rdparty/bx/include/bx/inline/simd256_ref.inl create mode 100644 3rdparty/bx/include/bx/inline/simd_ni.inl create mode 100644 3rdparty/bx/include/bx/inline/sort.inl create mode 100644 3rdparty/bx/include/bx/inline/spscqueue.inl create mode 100644 3rdparty/bx/include/bx/inline/string.inl create mode 100644 3rdparty/bx/include/bx/inline/uint32_t.inl delete mode 100644 3rdparty/bx/include/bx/mutex.inl delete mode 100644 3rdparty/bx/include/bx/pixelformat.inl delete mode 100644 3rdparty/bx/include/bx/radixsort.h delete mode 100644 3rdparty/bx/include/bx/radixsort.inl delete mode 100644 3rdparty/bx/include/bx/readerwriter.inl delete mode 100644 3rdparty/bx/include/bx/rng.inl delete mode 100644 3rdparty/bx/include/bx/sem.h create mode 100644 3rdparty/bx/include/bx/semaphore.h delete mode 100644 3rdparty/bx/include/bx/simd128_langext.inl delete mode 100644 3rdparty/bx/include/bx/simd128_neon.inl delete mode 100644 3rdparty/bx/include/bx/simd128_ref.inl delete mode 100644 3rdparty/bx/include/bx/simd128_sse.inl delete mode 100644 3rdparty/bx/include/bx/simd128_swizzle.inl delete mode 100644 3rdparty/bx/include/bx/simd256_avx.inl delete mode 100644 3rdparty/bx/include/bx/simd256_ref.inl delete mode 100644 3rdparty/bx/include/bx/simd_ni.inl create mode 100644 3rdparty/bx/include/bx/sort.h delete mode 100644 3rdparty/bx/include/bx/string.inl delete mode 100644 3rdparty/bx/include/bx/thread.inl delete mode 100644 3rdparty/bx/include/bx/timer.inl delete mode 100644 3rdparty/bx/include/bx/uint32_t.inl delete mode 100644 3rdparty/bx/scripts/uncrustify.cfg create mode 100644 3rdparty/bx/src/amalgamated.cpp create mode 100644 3rdparty/bx/src/bx.cpp delete mode 100644 3rdparty/bx/src/crt.cpp create mode 100644 3rdparty/bx/src/crtnone.cpp delete mode 100644 3rdparty/bx/src/sem.cpp create mode 100644 3rdparty/bx/src/semaphore.cpp create mode 100644 3rdparty/bx/src/sort.cpp create mode 100644 3rdparty/bx/src/timer.cpp create mode 100644 3rdparty/bx/tests/crt_test.cpp create mode 100644 3rdparty/bx/tests/queue_test.cpp create mode 100644 3rdparty/bx/tests/ringbuffer_test.cpp create mode 100644 3rdparty/bx/tests/run_test.cpp create mode 100644 3rdparty/bx/tests/simd_bench.cpp create mode 100644 3rdparty/bx/tests/sort_test.cpp (limited to '3rdparty') diff --git a/3rdparty/bgfx/.appveyor.yml b/3rdparty/bgfx/.appveyor.yml index 692571f4501..c6f054ce89e 100644 --- a/3rdparty/bgfx/.appveyor.yml +++ b/3rdparty/bgfx/.appveyor.yml @@ -5,7 +5,6 @@ os: environment: matrix: - - TOOLSET: vs2012 - TOOLSET: vs2013 - TOOLSET: vs2015 diff --git a/3rdparty/bgfx/3rdparty/.editorconfig b/3rdparty/bgfx/3rdparty/.editorconfig index 25d102976df..f88ec278c17 100644 --- a/3rdparty/bgfx/3rdparty/.editorconfig +++ b/3rdparty/bgfx/3rdparty/.editorconfig @@ -31,3 +31,7 @@ indent_size = 4 [remotery/*] indent_style = space indent_size = 4 + +[glsl-optimizer/*] +indent_style = space +indent_size = 3 diff --git a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp index d31c53465fc..09b688578f7 100644 --- a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp +++ b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ast_to_hir.cpp @@ -3045,10 +3045,12 @@ process_initializer(ir_variable *var, ast_declaration *decl, /* Propagate precision qualifier for constant value */ if (type->qualifier.flags.q.constant) { ir_constant *constant_value = rhs->constant_expression_value(); - constant_value->set_precision((glsl_precision)type->qualifier.precision); - if (constant_value->type->is_array()) { - for (unsigned i = 0; i < constant_value->type->length; i++) { - constant_value->get_array_element(i)->set_precision((glsl_precision)type->qualifier.precision); + if (NULL != constant_value) { + constant_value->set_precision((glsl_precision)type->qualifier.precision); + if (constant_value->type->is_array()) { + for (unsigned i = 0; i < constant_value->type->length; i++) { + constant_value->get_array_element(i)->set_precision((glsl_precision)type->qualifier.precision); + } } } } diff --git a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glsl_optimizer.cpp b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glsl_optimizer.cpp index 5e0b21b9661..5d790f7fd72 100644 --- a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glsl_optimizer.cpp +++ b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glsl_optimizer.cpp @@ -280,6 +280,14 @@ static void propagate_precision_texture(ir_instruction *ir, void *data) ((precision_ctx*)data)->res = true; } +static void propagate_precision_texture_metal(ir_instruction* ir, void* data) +{ + // There are no precision specifiers in Metal + ir_texture* tex = ir->as_texture(); + if (tex) + tex->set_precision(glsl_precision_undefined); +} + struct undefined_ass_ctx { ir_variable* var; @@ -386,7 +394,7 @@ static void propagate_precision_call(ir_instruction *ir, void *data) } } -static bool propagate_precision(exec_list* list, bool assign_high_to_undefined) +static bool propagate_precision(exec_list* list, bool metal_target) { bool anyProgress = false; precision_ctx ctx; @@ -396,7 +404,11 @@ static bool propagate_precision(exec_list* list, bool assign_high_to_undefined) ctx.root_ir = list; foreach_in_list(ir_instruction, ir, list) { - visit_tree (ir, propagate_precision_texture, &ctx); + if (metal_target) + visit_tree (ir, propagate_precision_texture_metal, &ctx); + else + visit_tree (ir, propagate_precision_texture, &ctx); + visit_tree (ir, propagate_precision_deref, &ctx); bool hadProgress = ctx.res; ctx.res = false; @@ -417,7 +429,7 @@ static bool propagate_precision(exec_list* list, bool assign_high_to_undefined) anyProgress |= ctx.res; // for globals that have undefined precision, set it to highp - if (assign_high_to_undefined) + if (metal_target) { foreach_in_list(ir_instruction, ir, list) { diff --git a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp index a4fdad22ba4..027e42f73f6 100644 --- a/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp +++ b/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp @@ -1282,6 +1282,12 @@ void ir_print_metal_visitor::visit(ir_texture *ir) sampler_uv_dim += 1; const bool is_proj = (uv_dim > sampler_uv_dim) && !is_array; + // Construct as the expected return type of shadow2D as sample_compare returns a scalar + if (is_shadow) + { + buffer.asprintf_append("float4("); + } + // texture name & call to sample ir->sampler->accept(this); if (is_shadow) @@ -1345,6 +1351,12 @@ void ir_print_metal_visitor::visit(ir_texture *ir) //@TODO: pixel offsets buffer.asprintf_append (")"); + + // Close float4 cast + if (is_shadow) + { + buffer.asprintf_append(")"); + } } diff --git a/3rdparty/bgfx/3rdparty/glslang/CMakeLists.txt b/3rdparty/bgfx/3rdparty/glslang/CMakeLists.txt index d4537201696..32395c05982 100644 --- a/3rdparty/bgfx/3rdparty/glslang/CMakeLists.txt +++ b/3rdparty/bgfx/3rdparty/glslang/CMakeLists.txt @@ -28,7 +28,9 @@ endif(ENABLE_HLSL) if(WIN32) set(CMAKE_DEBUG_POSTFIX "d") - include(ChooseMSVCCRT.cmake) + if(MSVC) + include(ChooseMSVCCRT.cmake) + endif(MSVC) add_definitions(-DGLSLANG_OSINCLUDE_WIN32) elseif(UNIX) add_definitions(-fPIC) diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h index 4614a3c6754..a8f20c3514c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h @@ -27,10 +27,17 @@ #ifndef GLSLextKHR_H #define GLSLextKHR_H -// SPV_KHR_shader_ballot -static const char* const E_SPV_KHR_shader_ballot = "SPV_KHR_shader_ballot"; +enum BuiltIn; +enum Op; +enum Capability; + +static const int GLSLextKHRVersion = 100; +static const int GLSLextKHRRevision = 1; + +static const char* const E_SPV_KHR_shader_ballot = "SPV_KHR_shader_ballot"; +static const char* const E_SPV_KHR_subgroup_vote = "SPV_KHR_subgroup_vote"; +static const char* const E_SPV_KHR_device_group = "SPV_KHR_device_group"; +static const char* const E_SPV_KHR_multiview = "SPV_KHR_multiview"; +static const char* const E_SPV_KHR_shader_draw_parameters = "SPV_KHR_shader_draw_parameters"; -// SPV_KHR_shader_draw_parameters -static const char* const E_SPV_KHR_shader_draw_parameters = "SPV_KHR_shader_draw_parameters"; -static const char* const E_SPV_KHR_subgroup_vote = "SPV_KHR_subgroup_vote"; #endif // #ifndef GLSLextKHR_H diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.NV.h b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.NV.h index 89f0a5c0338..c01858be416 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.NV.h +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GLSL.ext.NV.h @@ -1,5 +1,5 @@ /* -** Copyright (c) 2014-2016 The Khronos Group Inc. +** Copyright (c) 2014-2017 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a copy ** of this software and/or associated documentation files (the "Materials"), @@ -33,42 +33,22 @@ enum Op; enum Capability; static const int GLSLextNVVersion = 100; -static const int GLSLextNVRevision = 4; +static const int GLSLextNVRevision = 5; //SPV_NV_sample_mask_override_coverage const char* const E_SPV_NV_sample_mask_override_coverage = "SPV_NV_sample_mask_override_coverage"; -static const Decoration DecorationOverrideCoverageNV = static_cast(5248); - - //SPV_NV_geometry_shader_passthrough const char* const E_SPV_NV_geometry_shader_passthrough = "SPV_NV_geometry_shader_passthrough"; -static const Decoration DecorationPassthroughNV = static_cast(5250); - -static const Capability CapabilityGeometryShaderPassthroughNV = static_cast(5251); - - //SPV_NV_viewport_array2 const char* const E_SPV_NV_viewport_array2 = "SPV_NV_viewport_array2"; const char* const E_ARB_shader_viewport_layer_array = "SPV_ARB_shader_viewport_layer_array"; -static const Decoration DecorationViewportRelativeNV = static_cast(5252); - -static const BuiltIn BuiltInViewportMaskNV = static_cast(5253); - -static const Capability CapabilityShaderViewportIndexLayerNV = static_cast(5254); -static const Capability CapabilityShaderViewportMaskNV = static_cast(5255); - - //SPV_NV_stereo_view_rendering const char* const E_SPV_NV_stereo_view_rendering = "SPV_NV_stereo_view_rendering"; -static const Decoration DecorationSecondaryViewportRelativeNV = static_cast(5256); - -static const BuiltIn BuiltInSecondaryPositionNV = static_cast(5257); -static const BuiltIn BuiltInSecondaryViewportMaskNV = static_cast(5258); - -static const Capability CapabilityShaderStereoViewNV = static_cast(5259); +//SPV_NVX_multiview_per_view_attributes +const char* const E_SPV_NVX_multiview_per_view_attributes = "SPV_NVX_multiview_per_view_attributes"; #endif // #ifndef GLSLextNV_H \ No newline at end of file diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp index 0b48dfcdd53..cdfb309b1bf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp @@ -129,6 +129,7 @@ protected: void convertSwizzle(const glslang::TIntermAggregate&, std::vector& swizzle); spv::Id convertGlslangToSpvType(const glslang::TType& type); spv::Id convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking, const glslang::TQualifier&); + bool filterMember(const glslang::TType& member); spv::Id convertGlslangStructToSpvType(const glslang::TType&, const glslang::TTypeList* glslangStruct, glslang::TLayoutPacking, const glslang::TQualifier&); void decorateStructType(const glslang::TType&, const glslang::TTypeList* glslangStruct, glslang::TLayoutPacking, @@ -251,10 +252,10 @@ spv::StorageClass TranslateStorageClass(const glslang::TType& type) return spv::StorageClassInput; else if (type.getQualifier().isPipeOutput()) return spv::StorageClassOutput; - else if (type.getBasicType() == glslang::EbtSampler) - return spv::StorageClassUniformConstant; else if (type.getBasicType() == glslang::EbtAtomicUint) return spv::StorageClassAtomicCounter; + else if (type.containsOpaque()) + return spv::StorageClassUniformConstant; else if (type.getQualifier().isUniformOrBuffer()) { if (type.getQualifier().layoutPushConstant) return spv::StorageClassPushConstant; @@ -262,7 +263,6 @@ spv::StorageClass TranslateStorageClass(const glslang::TType& type) return spv::StorageClassUniform; else return spv::StorageClassUniformConstant; - // TODO: how are we distinguishing between default and non-default non-writable uniforms? Do default uniforms even exist? } else { switch (type.getQualifier().storage) { case glslang::EvqShared: return spv::StorageClassWorkgroup; break; @@ -472,25 +472,27 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI // case glslang::EbvClipDistance: if (!memberDeclaration) - builder.addCapability(spv::CapabilityClipDistance); + builder.addCapability(spv::CapabilityClipDistance); return spv::BuiltInClipDistance; case glslang::EbvCullDistance: if (!memberDeclaration) - builder.addCapability(spv::CapabilityCullDistance); + builder.addCapability(spv::CapabilityCullDistance); return spv::BuiltInCullDistance; case glslang::EbvViewportIndex: - builder.addCapability(spv::CapabilityMultiViewport); + if (!memberDeclaration) { + builder.addCapability(spv::CapabilityMultiViewport); #ifdef NV_EXTENSIONS - if (glslangIntermediate->getStage() == EShLangVertex || - glslangIntermediate->getStage() == EShLangTessControl || - glslangIntermediate->getStage() == EShLangTessEvaluation) - { - builder.addExtension(spv::E_SPV_NV_viewport_array2); - builder.addCapability(spv::CapabilityShaderViewportIndexLayerNV); - } + if (glslangIntermediate->getStage() == EShLangVertex || + glslangIntermediate->getStage() == EShLangTessControl || + glslangIntermediate->getStage() == EShLangTessEvaluation) { + + builder.addExtension(spv::E_SPV_NV_viewport_array2); + builder.addCapability(spv::CapabilityShaderViewportIndexLayerNV); + } #endif + } return spv::BuiltInViewportIndex; case glslang::EbvSampleId: @@ -506,19 +508,19 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI return spv::BuiltInSampleMask; case glslang::EbvLayer: - builder.addCapability(spv::CapabilityGeometry); + if (!memberDeclaration) { + builder.addCapability(spv::CapabilityGeometry); #ifdef NV_EXTENSIONS - if (!memberDeclaration) - { if (glslangIntermediate->getStage() == EShLangVertex || glslangIntermediate->getStage() == EShLangTessControl || - glslangIntermediate->getStage() == EShLangTessEvaluation) - { + glslangIntermediate->getStage() == EShLangTessEvaluation) { + builder.addExtension(spv::E_SPV_NV_viewport_array2); builder.addCapability(spv::CapabilityShaderViewportIndexLayerNV); } - } #endif + } + return spv::BuiltInLayer; case glslang::EbvPosition: return spv::BuiltInPosition; @@ -629,21 +631,50 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI return spv::BuiltInBaryCoordPullModelAMD; #endif + case glslang::EbvDeviceIndex: + builder.addExtension(spv::E_SPV_KHR_device_group); + builder.addCapability(spv::CapabilityDeviceGroup); + return spv::BuiltInDeviceIndex; + + case glslang::EbvViewIndex: + builder.addExtension(spv::E_SPV_KHR_multiview); + builder.addCapability(spv::CapabilityMultiView); + return spv::BuiltInViewIndex; + #ifdef NV_EXTENSIONS case glslang::EbvViewportMaskNV: - builder.addExtension(spv::E_SPV_NV_viewport_array2); - builder.addCapability(spv::CapabilityShaderViewportMaskNV); + if (!memberDeclaration) { + builder.addExtension(spv::E_SPV_NV_viewport_array2); + builder.addCapability(spv::CapabilityShaderViewportMaskNV); + } return spv::BuiltInViewportMaskNV; case glslang::EbvSecondaryPositionNV: - builder.addExtension(spv::E_SPV_NV_stereo_view_rendering); - builder.addCapability(spv::CapabilityShaderStereoViewNV); + if (!memberDeclaration) { + builder.addExtension(spv::E_SPV_NV_stereo_view_rendering); + builder.addCapability(spv::CapabilityShaderStereoViewNV); + } return spv::BuiltInSecondaryPositionNV; case glslang::EbvSecondaryViewportMaskNV: - builder.addExtension(spv::E_SPV_NV_stereo_view_rendering); - builder.addCapability(spv::CapabilityShaderStereoViewNV); + if (!memberDeclaration) { + builder.addExtension(spv::E_SPV_NV_stereo_view_rendering); + builder.addCapability(spv::CapabilityShaderStereoViewNV); + } return spv::BuiltInSecondaryViewportMaskNV; + case glslang::EbvPositionPerViewNV: + if (!memberDeclaration) { + builder.addExtension(spv::E_SPV_NVX_multiview_per_view_attributes); + builder.addCapability(spv::CapabilityPerViewAttributesNV); + } + return spv::BuiltInPositionPerViewNV; + case glslang::EbvViewportMaskPerViewNV: + if (!memberDeclaration) { + builder.addExtension(spv::E_SPV_NVX_multiview_per_view_attributes); + builder.addCapability(spv::CapabilityPerViewAttributesNV); + } + return spv::BuiltInViewportMaskPerViewNV; #endif - default: return spv::BuiltInMax; + default: + return spv::BuiltInMax; } } @@ -1748,42 +1779,99 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt } } +// This path handles both if-then-else and ?: +// The if-then-else has a node type of void, while +// ?: has either a void or a non-void node type +// +// Leaving the result, when not void: +// GLSL only has r-values as the result of a :?, but +// if we have an l-value, that can be more efficient if it will +// become the base of a complex r-value expression, because the +// next layer copies r-values into memory to use the access-chain mechanism bool TGlslangToSpvTraverser::visitSelection(glslang::TVisit /* visit */, glslang::TIntermSelection* node) { - // This path handles both if-then-else and ?: - // The if-then-else has a node type of void, while - // ?: has a non-void node type - spv::Id result = 0; - if (node->getBasicType() != glslang::EbtVoid) { - // don't handle this as just on-the-fly temporaries, because there will be two names - // and better to leave SSA to later passes - result = builder.createVariable(spv::StorageClassFunction, convertGlslangToSpvType(node->getType())); + // See if it simple and safe to generate OpSelect instead of using control flow. + // Crucially, side effects must be avoided, and there are performance trade-offs. + // Return true if good idea (and safe) for OpSelect, false otherwise. + const auto selectPolicy = [&]() -> bool { + if ((!node->getType().isScalar() && !node->getType().isVector()) || + node->getBasicType() == glslang::EbtVoid) + return false; + + if (node->getTrueBlock() == nullptr || + node->getFalseBlock() == nullptr) + return false; + + assert(node->getType() == node->getTrueBlock() ->getAsTyped()->getType() && + node->getType() == node->getFalseBlock()->getAsTyped()->getType()); + + // return true if a single operand to ? : is okay for OpSelect + const auto operandOkay = [](glslang::TIntermTyped* node) { + return node->getAsSymbolNode() || node->getType().getQualifier().isConstant(); + }; + + return operandOkay(node->getTrueBlock() ->getAsTyped()) && + operandOkay(node->getFalseBlock()->getAsTyped()); + }; + + // Emit OpSelect for this selection. + const auto handleAsOpSelect = [&]() { + node->getCondition()->traverse(this); + spv::Id condition = accessChainLoad(node->getCondition()->getType()); + node->getTrueBlock()->traverse(this); + spv::Id trueValue = accessChainLoad(node->getTrueBlock()->getAsTyped()->getType()); + node->getFalseBlock()->traverse(this); + spv::Id falseValue = accessChainLoad(node->getTrueBlock()->getAsTyped()->getType()); + + spv::Id select = builder.createTriOp(spv::OpSelect, convertGlslangToSpvType(node->getType()), condition, trueValue, falseValue); + builder.clearAccessChain(); + builder.setAccessChainRValue(select); + }; + + // Try for OpSelect + + if (selectPolicy()) { + SpecConstantOpModeGuard spec_constant_op_mode_setter(&builder); + if (node->getType().getQualifier().isSpecConstant()) + spec_constant_op_mode_setter.turnOnSpecConstantOpMode(); + + handleAsOpSelect(); + return false; } + // Instead, emit control flow... + + // Don't handle results as temporaries, because there will be two names + // and better to leave SSA to later passes. + spv::Id result = (node->getBasicType() == glslang::EbtVoid) + ? spv::NoResult + : builder.createVariable(spv::StorageClassFunction, convertGlslangToSpvType(node->getType())); + // emit the condition before doing anything with selection node->getCondition()->traverse(this); // make an "if" based on the value created by the condition spv::Builder::If ifBuilder(accessChainLoad(node->getCondition()->getType()), builder); - if (node->getTrueBlock()) { - // emit the "then" statement + // emit the "then" statement + if (node->getTrueBlock() != nullptr) { node->getTrueBlock()->traverse(this); - if (result) - builder.createStore(accessChainLoad(node->getTrueBlock()->getAsTyped()->getType()), result); + if (result != spv::NoResult) + builder.createStore(accessChainLoad(node->getTrueBlock()->getAsTyped()->getType()), result); } - if (node->getFalseBlock()) { + if (node->getFalseBlock() != nullptr) { ifBuilder.makeBeginElse(); // emit the "else" statement node->getFalseBlock()->traverse(this); - if (result) + if (result != spv::NoResult) builder.createStore(accessChainLoad(node->getFalseBlock()->getAsTyped()->getType()), result); } + // finish off the control flow ifBuilder.makeEndIf(); - if (result) { + if (result != spv::NoResult) { // GLSL only has r-values as the result of a :?, but // if we have an l-value, that can be more efficient if it will // become the base of a complex r-value expression, because the @@ -2176,6 +2264,24 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty return spvType; } +// TODO: this functionality should exist at a higher level, in creating the AST +// +// Identify interface members that don't have their required extension turned on. +// +bool TGlslangToSpvTraverser::filterMember(const glslang::TType& member) +{ + auto& extensions = glslangIntermediate->getRequestedExtensions(); + + if (member.getFieldName() == "gl_SecondaryPositionNV" && + extensions.find("GL_NV_stereo_view_rendering") == extensions.end()) + return true; + if (member.getFieldName() == "gl_PositionPerViewNV" && + extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end()) + return true; + + return false; +}; + // Do full recursive conversion of a glslang structure (or block) type to a SPIR-V Id. // explicitLayout can be kept the same throughout the hierarchical recursive walk. // Mutually recursive with convertGlslangToSpvType(). @@ -2195,8 +2301,11 @@ spv::Id TGlslangToSpvTraverser::convertGlslangStructToSpvType(const glslang::TTy if (type.getBasicType() == glslang::EbtBlock) memberRemapper[glslangMembers][i] = -1; } else { - if (type.getBasicType() == glslang::EbtBlock) + if (type.getBasicType() == glslang::EbtBlock) { memberRemapper[glslangMembers][i] = i - memberDelta; + if (filterMember(glslangMember)) + continue; + } // modify just this child's view of the qualifier glslang::TQualifier memberQualifier = glslangMember.getQualifier(); InheritQualifiers(memberQualifier, qualifier); @@ -2235,8 +2344,11 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type, for (int i = 0; i < (int)glslangMembers->size(); i++) { glslang::TType& glslangMember = *(*glslangMembers)[i].type; int member = i; - if (type.getBasicType() == glslang::EbtBlock) + if (type.getBasicType() == glslang::EbtBlock) { member = memberRemapper[glslangMembers][i]; + if (filterMember(glslangMember)) + continue; + } // modify just this child's view of the qualifier glslang::TQualifier memberQualifier = glslangMember.getQualifier(); @@ -2248,8 +2360,10 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type, addMemberDecoration(spvType, member, TranslateLayoutDecoration(glslangMember, memberQualifier.layoutMatrix)); addMemberDecoration(spvType, member, TranslatePrecisionDecoration(glslangMember)); // Add interpolation and auxiliary storage decorations only to top-level members of Input and Output storage classes - if (type.getQualifier().storage == glslang::EvqVaryingIn || type.getQualifier().storage == glslang::EvqVaryingOut) { - if (type.getBasicType() == glslang::EbtBlock) { + if (type.getQualifier().storage == glslang::EvqVaryingIn || + type.getQualifier().storage == glslang::EvqVaryingOut) { + if (type.getBasicType() == glslang::EbtBlock || + glslangIntermediate->getSource() == glslang::EShSourceHlsl) { addMemberDecoration(spvType, member, TranslateInterpolationDecoration(memberQualifier)); addMemberDecoration(spvType, member, TranslateAuxiliaryStorageDecoration(memberQualifier)); } @@ -2326,6 +2440,11 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type, builder.addExtension(spv::E_SPV_NV_stereo_view_rendering); } } + if (glslangMember.getQualifier().layoutPassthrough) { + addMemberDecoration(spvType, member, (spv::Decoration)spv::DecorationPassthroughNV); + builder.addCapability(spv::CapabilityGeometryShaderPassthroughNV); + builder.addExtension(spv::E_SPV_NV_geometry_shader_passthrough); + } #endif } } @@ -2600,9 +2719,12 @@ void TGlslangToSpvTraverser::declareUseOfStructMember(const glslang::TTypeList& case glslang::EbvPointSize: #ifdef NV_EXTENSIONS case glslang::EbvLayer: + case glslang::EbvViewportIndex: case glslang::EbvViewportMaskNV: case glslang::EbvSecondaryPositionNV: case glslang::EbvSecondaryViewportMaskNV: + case glslang::EbvPositionPerViewNV: + case glslang::EbvViewportMaskPerViewNV: #endif // Generate the associated capability. Delegate to TranslateBuiltInDecoration. // Alternately, we could just call this for any glslang built-in, since the @@ -2646,10 +2768,16 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF std::vector paramPrecisions; glslang::TIntermSequence& parameters = glslFunction->getSequence()[0]->getAsAggregate()->getSequence(); + bool implicitThis = (int)parameters.size() > 0 && parameters[0]->getAsSymbolNode()->getName() == glslangIntermediate->implicitThisName; + for (int p = 0; p < (int)parameters.size(); ++p) { const glslang::TType& paramType = parameters[p]->getAsTyped()->getType(); spv::Id typeId = convertGlslangToSpvType(paramType); - if (paramType.isOpaque()) + // can we pass by reference? + if (paramType.containsOpaque() || // sampler, etc. + (paramType.getBasicType() == glslang::EbtBlock && + paramType.getQualifier().storage == glslang::EvqBuffer) || // SSBO + p == 0 && implicitThis) // implicit 'this' typeId = builder.makePointer(TranslateStorageClass(paramType), typeId); else if (paramType.getQualifier().storage != glslang::EvqConstReadOnly) typeId = builder.makePointer(spv::StorageClassFunction, typeId); @@ -2663,6 +2791,8 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF spv::Function *function = builder.makeFunctionEntry(TranslatePrecisionDecoration(glslFunction->getType()), convertGlslangToSpvType(glslFunction->getType()), glslFunction->getName().c_str(), paramTypes, paramPrecisions, &functionBlock); + if (implicitThis) + function->setImplicitThis(); // Track function to emit/call later functionMap[glslFunction->getName().c_str()] = function; @@ -2829,6 +2959,10 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO glslang::TCrackedTextureOp cracked; node->crackTexture(sampler, cracked); + const bool isUnsignedResult = + node->getType().getBasicType() == glslang::EbtUint64 || + node->getType().getBasicType() == glslang::EbtUint; + // Check for queries if (cracked.query) { // OpImageQueryLod works on a sampled image, for other queries the image has to be extracted first @@ -2840,17 +2974,17 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO case glslang::EOpTextureQuerySize: if (arguments.size() > 1) { params.lod = arguments[1]; - return builder.createTextureQueryCall(spv::OpImageQuerySizeLod, params); + return builder.createTextureQueryCall(spv::OpImageQuerySizeLod, params, isUnsignedResult); } else - return builder.createTextureQueryCall(spv::OpImageQuerySize, params); + return builder.createTextureQueryCall(spv::OpImageQuerySize, params, isUnsignedResult); case glslang::EOpImageQuerySamples: case glslang::EOpTextureQuerySamples: - return builder.createTextureQueryCall(spv::OpImageQuerySamples, params); + return builder.createTextureQueryCall(spv::OpImageQuerySamples, params, isUnsignedResult); case glslang::EOpTextureQueryLod: params.coords = arguments[1]; - return builder.createTextureQueryCall(spv::OpImageQueryLod, params); + return builder.createTextureQueryCall(spv::OpImageQueryLod, params, isUnsignedResult); case glslang::EOpTextureQueryLevels: - return builder.createTextureQueryCall(spv::OpImageQueryLevels, params); + return builder.createTextureQueryCall(spv::OpImageQueryLevels, params, isUnsignedResult); case glslang::EOpSparseTexelsResident: return builder.createUnaryOp(spv::OpImageSparseTexelsResident, builder.makeBoolType(), arguments[0]); default: @@ -3110,7 +3244,7 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg glslangArgs[a]->traverse(this); argTypes.push_back(¶mType); // keep outputs and opaque objects as l-values, evaluate input-only as r-values - if (qualifiers[a] != glslang::EvqConstReadOnly || paramType.isOpaque()) { + if (qualifiers[a] != glslang::EvqConstReadOnly || paramType.containsOpaque()) { // save l-value lValues.push_back(builder.getAccessChain()); } else { @@ -3129,7 +3263,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg for (int a = 0; a < (int)glslangArgs.size(); ++a) { const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType(); spv::Id arg; - if (paramType.isOpaque()) { + if (paramType.containsOpaque() || + (paramType.getBasicType() == glslang::EbtBlock && qualifiers[a] == glslang::EvqBuffer) || + (a == 0 && function->hasImplicitThis())) { builder.setAccessChain(lValues[lValueCount]); arg = builder.accessChainGetLValue(); ++lValueCount; @@ -5246,6 +5382,8 @@ void OutputSpvBin(const std::vector& spirv, const char* baseName) { std::ofstream out; out.open(baseName, std::ios::binary | std::ios::out); + if (out.fail()) + printf("ERROR: Failed to open file: %s\n", baseName); for (int i = 0; i < (int)spirv.size(); ++i) { unsigned int word = spirv[i]; out.write((const char*)&word, 4); @@ -5254,11 +5392,17 @@ void OutputSpvBin(const std::vector& spirv, const char* baseName) } // Write SPIR-V out to a text file with 32-bit hexadecimal words -void OutputSpvHex(const std::vector& spirv, const char* baseName) +void OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName) { std::ofstream out; out.open(baseName, std::ios::binary | std::ios::out); + if (out.fail()) + printf("ERROR: Failed to open file: %s\n", baseName); out << "\t// " GLSLANG_REVISION " " GLSLANG_DATE << std::endl; + if (varName != nullptr) { + out << "\t #pragma once" << std::endl; + out << "const uint32_t " << varName << "[] = {" << std::endl; + } const int WORDS_PER_LINE = 8; for (int i = 0; i < (int)spirv.size(); i += WORDS_PER_LINE) { out << "\t"; @@ -5271,6 +5415,9 @@ void OutputSpvHex(const std::vector& spirv, const char* baseName) } out << std::endl; } + if (varName != nullptr) { + out << "};"; + } out.close(); } diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.h b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.h index ceb23b5a5a9..11e22f5888c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.h +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.h @@ -49,6 +49,6 @@ void GetSpirvVersion(std::string&); void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv); void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, spv::SpvBuildLogger* logger); void OutputSpvBin(const std::vector& spirv, const char* baseName); -void OutputSpvHex(const std::vector& spirv, const char* baseName); +void OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName); } diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp b/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp index c0ca970ffbb..0add1db40d9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp @@ -1125,7 +1125,8 @@ Id Builder::createAccessChain(StorageClass storageClass, Id base, const std::vec Id Builder::createArrayLength(Id base, unsigned int member) { - Instruction* length = new Instruction(getUniqueId(), makeIntType(32), OpArrayLength); + spv::Id intType = makeIntType(32); + Instruction* length = new Instruction(getUniqueId(), intType, OpArrayLength); length->addIdOperand(base); length->addImmediateOperand(member); buildPoint->addInstruction(std::unique_ptr(length)); @@ -1661,7 +1662,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse, } // Comments in header -Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameters) +Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameters, bool isUnsignedResult) { // All these need a capability addCapability(CapabilityImageQuery); @@ -1694,10 +1695,12 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter } if (isArrayedImageType(getImageType(parameters.sampler))) ++numComponents; + + Id intType = isUnsignedResult ? makeUintType(32) : makeIntType(32); if (numComponents == 1) - resultType = makeIntType(32); + resultType = intType; else - resultType = makeVectorType(makeIntType(32), numComponents); + resultType = makeVectorType(intType, numComponents); break; } @@ -1706,7 +1709,7 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter break; case OpImageQueryLevels: case OpImageQuerySamples: - resultType = makeIntType(32); + resultType = isUnsignedResult ? makeUintType(32) : makeIntType(32); break; default: assert(0); @@ -1832,34 +1835,72 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1) return smearScalar(precision, sources[0], resultTypeId); + // accumulate the arguments for OpCompositeConstruct + std::vector constituents; Id scalarTypeId = getScalarTypeId(resultTypeId); - std::vector constituents; // accumulate the arguments for OpCompositeConstruct - for (unsigned int i = 0; i < sources.size(); ++i) { - assert(! isAggregate(sources[i])); - unsigned int sourceSize = getNumComponents(sources[i]); + + // lambda to store the result of visiting an argument component + const auto latchResult = [&](Id comp) { + if (numTargetComponents > 1) + constituents.push_back(comp); + else + result = comp; + ++targetComponent; + }; + + // lambda to visit a vector argument's components + const auto accumulateVectorConstituents = [&](Id sourceArg) { + unsigned int sourceSize = getNumComponents(sourceArg); unsigned int sourcesToUse = sourceSize; if (sourcesToUse + targetComponent > numTargetComponents) sourcesToUse = numTargetComponents - targetComponent; for (unsigned int s = 0; s < sourcesToUse; ++s) { - Id arg = sources[i]; - if (sourceSize > 1) { - std::vector swiz; - swiz.push_back(s); - arg = createRvalueSwizzle(precision, scalarTypeId, arg, swiz); - } + std::vector swiz; + swiz.push_back(s); + latchResult(createRvalueSwizzle(precision, scalarTypeId, sourceArg, swiz)); + } + }; - if (numTargetComponents > 1) - constituents.push_back(arg); - else - result = arg; - ++targetComponent; + // lambda to visit a matrix argument's components + const auto accumulateMatrixConstituents = [&](Id sourceArg) { + unsigned int sourceSize = getNumColumns(sourceArg) * getNumRows(sourceArg); + unsigned int sourcesToUse = sourceSize; + if (sourcesToUse + targetComponent > numTargetComponents) + sourcesToUse = numTargetComponents - targetComponent; + + int col = 0; + int row = 0; + for (unsigned int s = 0; s < sourcesToUse; ++s) { + if (row >= getNumRows(sourceArg)) { + row = 0; + col++; + } + std::vector indexes; + indexes.push_back(col); + indexes.push_back(row); + latchResult(createCompositeExtract(sourceArg, scalarTypeId, indexes)); + row++; } + }; + + // Go through the source arguments, each one could have either + // a single or multiple components to contribute. + for (unsigned int i = 0; i < sources.size(); ++i) { + if (isScalar(sources[i])) + latchResult(sources[i]); + else if (isVector(sources[i])) + accumulateVectorConstituents(sources[i]); + else if (isMatrix(sources[i])) + accumulateMatrixConstituents(sources[i]); + else + assert(0); if (targetComponent >= numTargetComponents) break; } + // If the result is a vector, make it from the gathered constituents. if (constituents.size() > 0) result = createCompositeConstruct(resultTypeId, constituents); diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.h b/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.h index fe83ac1d079..204d3e76940 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.h +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.h @@ -335,7 +335,7 @@ public: // Emit the OpTextureQuery* instruction that was passed in. // Figure out the right return value and type, and return it. - Id createTextureQueryCall(Op, const TextureParameters&); + Id createTextureQueryCall(Op, const TextureParameters&, bool isUnsignedResult); Id createSamplePositionCall(Decoration precision, Id, Id); diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/disassemble.cpp b/3rdparty/bgfx/3rdparty/glslang/SPIRV/disassemble.cpp index 74ae40767f8..c950a66a0e2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/disassemble.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/disassemble.cpp @@ -483,7 +483,8 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode, #ifdef NV_EXTENSIONS }else if (strcmp(spv::E_SPV_NV_sample_mask_override_coverage, name) == 0 || strcmp(spv::E_SPV_NV_geometry_shader_passthrough, name) == 0 || - strcmp(spv::E_SPV_NV_viewport_array2, name) == 0) { + strcmp(spv::E_SPV_NV_viewport_array2, name) == 0 || + strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0) { extInstSet = GLSLextNVInst; #endif } @@ -659,7 +660,8 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint) if (strcmp(name, spv::E_SPV_NV_sample_mask_override_coverage) == 0 || strcmp(name, spv::E_SPV_NV_geometry_shader_passthrough) == 0 || strcmp(name, spv::E_ARB_shader_viewport_layer_array) == 0 || - strcmp(name, spv::E_SPV_NV_viewport_array2) == 0){ + strcmp(name, spv::E_SPV_NV_viewport_array2) == 0 || + strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0) { switch (entrypoint) { case DecorationOverrideCoverageNV: return "OverrideCoverageNV"; case DecorationPassthroughNV: return "PassthroughNV"; @@ -671,6 +673,9 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint) case BuiltInSecondaryPositionNV: return "SecondaryPositionNV"; case BuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; case CapabilityShaderStereoViewNV: return "ShaderStereoViewNV"; + case BuiltInPositionPerViewNV: return "PositionPerViewNV"; + case BuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; + case CapabilityPerViewAttributesNV: return "PerViewAttributesNV"; default: return "Bad"; } } diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/doc.cpp b/3rdparty/bgfx/3rdparty/glslang/SPIRV/doc.cpp index 87180997867..a99522b6fe5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/doc.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/doc.cpp @@ -48,6 +48,7 @@ namespace spv { extern "C" { // Include C-based headers that don't have a namespace + #include "GLSL.ext.KHR.h" #ifdef AMD_EXTENSIONS #include "GLSL.ext.AMD.h" #endif @@ -318,15 +319,13 @@ const char* BuiltInString(int builtIn) case 42: return "VertexIndex"; // TBD: put next to VertexId? case 43: return "InstanceIndex"; // TBD: put next to InstanceId? - case BuiltInCeiling: - default: return "Bad"; - case 4416: return "SubgroupEqMaskKHR"; case 4417: return "SubgroupGeMaskKHR"; case 4418: return "SubgroupGtMaskKHR"; case 4419: return "SubgroupLeMaskKHR"; case 4420: return "SubgroupLtMaskKHR"; - + case 4438: return "DeviceIndex"; + case 4440: return "ViewIndex"; case 4424: return "BaseVertex"; case 4425: return "BaseInstance"; case 4426: return "DrawIndex"; @@ -340,11 +339,17 @@ const char* BuiltInString(int builtIn) case 4997: return "BaryCoordSmoothSampleAMD"; case 4998: return "BaryCoordPullModelAMD"; #endif + #ifdef NV_EXTENSIONS case 5253: return "ViewportMaskNV"; case 5257: return "SecondaryPositionNV"; case 5258: return "SecondaryViewportMaskNV"; + case 5261: return "PositionPerViewNV"; + case 5262: return "ViewportMaskPerViewNV"; #endif + + case BuiltInCeiling: + default: return "Bad"; } } @@ -821,20 +826,23 @@ const char* CapabilityString(int info) case 56: return "StorageImageWriteWithoutFormat"; case 57: return "MultiViewport"; - case CapabilityCeiling: - default: return "Bad"; - case 4423: return "SubgroupBallotKHR"; case 4427: return "DrawParameters"; case 4431: return "SubgroupVoteKHR"; + case 4437: return "DeviceGroup"; + case 4439: return "MultiView"; + #ifdef NV_EXTENSIONS case 5251: return "GeometryShaderPassthroughNV"; case 5254: return "ShaderViewportIndexLayerNV"; case 5255: return "ShaderViewportMaskNV"; case 5259: return "ShaderStereoViewNV"; + case 5260: return "PerViewAttributesNV"; #endif + case CapabilityCeiling: + default: return "Bad"; } } @@ -1163,14 +1171,10 @@ const char* OpcodeString(int op) case 319: return "OpAtomicFlagClear"; case 320: return "OpImageSparseRead"; - case OpcodeCeiling: - default: - return "Bad"; - case 4421: return "OpSubgroupBallotKHR"; case 4422: return "OpSubgroupFirstInvocationKHR"; - case 4428: return "OpSubgroupAnyKHR"; - case 4429: return "OpSubgroupAllKHR"; + case 4428: return "OpSubgroupAllKHR"; + case 4429: return "OpSubgroupAnyKHR"; case 4430: return "OpSubgroupAllEqualKHR"; case 4432: return "OpSubgroupReadInvocationKHR"; @@ -1184,6 +1188,10 @@ const char* OpcodeString(int op) case 5006: return "OpGroupUMaxNonUniformAMD"; case 5007: return "OpGroupSMaxNonUniformAMD"; #endif + + case OpcodeCeiling: + default: + return "Bad"; } } diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/spirv.hpp b/3rdparty/bgfx/3rdparty/glslang/SPIRV/spirv.hpp index c7b3d5faadb..5580c403a1f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/spirv.hpp +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/spirv.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2014-2016 The Khronos Group Inc. +// Copyright (c) 2014-2017 The Khronos Group Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and/or associated documentation files (the "Materials"), @@ -47,11 +47,11 @@ namespace spv { typedef unsigned int Id; #define SPV_VERSION 0x10000 -#define SPV_REVISION 8 +#define SPV_REVISION 10 static const unsigned int MagicNumber = 0x07230203; static const unsigned int Version = 0x00010000; -static const unsigned int Revision = 8; +static const unsigned int Revision = 10; static const unsigned int OpCodeMask = 0xffff; static const unsigned int WordCountShift = 16; @@ -61,7 +61,6 @@ enum SourceLanguage { SourceLanguageGLSL = 2, SourceLanguageOpenCL_C = 3, SourceLanguageOpenCL_CPP = 4, - SourceLanguageHLSL = 5, SourceLanguageMax = 0x7fffffff, }; @@ -375,6 +374,10 @@ enum Decoration { DecorationNoContraction = 42, DecorationInputAttachmentIndex = 43, DecorationAlignment = 44, + DecorationOverrideCoverageNV = 5248, + DecorationPassthroughNV = 5250, + DecorationViewportRelativeNV = 5252, + DecorationSecondaryViewportRelativeNV = 5256, DecorationMax = 0x7fffffff, }; @@ -428,6 +431,13 @@ enum BuiltIn { BuiltInBaseVertex = 4424, BuiltInBaseInstance = 4425, BuiltInDrawIndex = 4426, + BuiltInDeviceIndex = 4438, + BuiltInViewIndex = 4440, + BuiltInViewportMaskNV = 5253, + BuiltInSecondaryPositionNV = 5257, + BuiltInSecondaryViewportMaskNV = 5258, + BuiltInPositionPerViewNV = 5261, + BuiltInViewportMaskPerViewNV = 5262, BuiltInMax = 0x7fffffff, }; @@ -606,6 +616,18 @@ enum Capability { CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, CapabilitySubgroupVoteKHR = 4431, + CapabilityStorageUniformBufferBlock16 = 4433, + CapabilityStorageUniform16 = 4434, + CapabilityStoragePushConstant16 = 4435, + CapabilityStorageInputOutput16 = 4436, + CapabilityDeviceGroup = 4437, + CapabilityMultiView = 4439, + CapabilitySampleMaskOverrideCoverageNV = 5249, + CapabilityGeometryShaderPassthroughNV = 5251, + CapabilityShaderViewportIndexLayerNV = 5254, + CapabilityShaderViewportMaskNV = 5255, + CapabilityShaderStereoViewNV = 5259, + CapabilityPerViewAttributesNV = 5260, CapabilityMax = 0x7fffffff, }; @@ -906,10 +928,10 @@ enum Op { OpImageSparseRead = 320, OpSubgroupBallotKHR = 4421, OpSubgroupFirstInvocationKHR = 4422, - OpSubgroupReadInvocationKHR = 4432, - OpSubgroupAllKHR = 4428, - OpSubgroupAnyKHR = 4429, + OpSubgroupAllKHR = 4428, + OpSubgroupAnyKHR = 4429, OpSubgroupAllEqualKHR = 4430, + OpSubgroupReadInvocationKHR = 4432, OpMax = 0x7fffffff, }; diff --git a/3rdparty/bgfx/3rdparty/glslang/SPIRV/spvIR.h b/3rdparty/bgfx/3rdparty/glslang/SPIRV/spvIR.h index 8cfef9e148a..ce8b4b8a062 100644 --- a/3rdparty/bgfx/3rdparty/glslang/SPIRV/spvIR.h +++ b/3rdparty/bgfx/3rdparty/glslang/SPIRV/spvIR.h @@ -273,6 +273,10 @@ public: const std::vector& getBlocks() const { return blocks; } void addLocalVariable(std::unique_ptr inst); Id getReturnType() const { return functionInstruction.getTypeId(); } + + void setImplicitThis() { implicitThis = true; } + bool hasImplicitThis() const { return implicitThis; } + void dump(std::vector& out) const { // OpFunction @@ -296,6 +300,7 @@ protected: Instruction functionInstruction; std::vector parameterInstructions; std::vector blocks; + bool implicitThis; // true if this is a member function expecting to be passed a 'this' as the first argument }; // @@ -354,7 +359,7 @@ protected: // - the OpFunction instruction // - all the OpFunctionParameter instructions __inline Function::Function(Id id, Id resultType, Id functionType, Id firstParamId, Module& parent) - : parent(parent), functionInstruction(id, resultType, OpFunction) + : parent(parent), functionInstruction(id, resultType, OpFunction), implicitThis(false) { // OpFunction functionInstruction.addImmediateOperand(FunctionControlMaskNone); diff --git a/3rdparty/bgfx/3rdparty/glslang/StandAlone/StandAlone.cpp b/3rdparty/bgfx/3rdparty/glslang/StandAlone/StandAlone.cpp index d133b594874..0da690e9a81 100644 --- a/3rdparty/bgfx/3rdparty/glslang/StandAlone/StandAlone.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/StandAlone/StandAlone.cpp @@ -163,11 +163,13 @@ const char* binaryFileName = nullptr; const char* entryPointName = nullptr; const char* sourceEntryPointName = nullptr; const char* shaderStageName = nullptr; +const char* variableName = nullptr; std::array baseSamplerBinding; std::array baseTextureBinding; std::array baseImageBinding; std::array baseUboBinding; +std::array baseSsboBinding; // // Create the default name for saving a binary if -o is not provided. @@ -257,6 +259,7 @@ void ProcessArguments(int argc, char* argv[]) baseTextureBinding.fill(0); baseImageBinding.fill(0); baseUboBinding.fill(0); + baseSsboBinding.fill(0); ExecutableName = argv[0]; NumWorkItems = argc; // will include some empties where the '-' options were, but it doesn't matter, they'll be 0 @@ -291,6 +294,10 @@ void ProcessArguments(int argc, char* argv[]) lowerword == "shift-ubo-binding" || lowerword == "sub") { ProcessBindingBase(argc, argv, baseUboBinding); + } else if (lowerword == "shift-ssbo-bindings" || // synonyms + lowerword == "shift-ssbo-binding" || + lowerword == "sbb") { + ProcessBindingBase(argc, argv, baseSsboBinding); } else if (lowerword == "auto-map-bindings" || // synonyms lowerword == "auto-map-binding" || lowerword == "amb") { @@ -302,7 +309,18 @@ void ProcessArguments(int argc, char* argv[]) } else if (lowerword == "no-storage-format" || // synonyms lowerword == "nsf") { Options |= EOptionNoStorageFormat; - } else if (lowerword == "source-entrypoint" || // synonyms + } else if (lowerword == "variable-name" || // synonyms + lowerword == "vn") { + Options |= EOptionOutputHexadecimal; + variableName = argv[1]; + if (argc > 0) { + argc--; + argv++; + } else + Error("no provided for --variable-name"); + break; + } + else if (lowerword == "source-entrypoint" || // synonyms lowerword == "sep") { sourceEntryPointName = argv[1]; if (argc > 0) { @@ -338,8 +356,7 @@ void ProcessArguments(int argc, char* argv[]) if (argc > 0) { argc--; argv++; - } - else + } else Error("no specified for -S"); break; case 'G': @@ -515,14 +532,14 @@ struct ShaderCompUnit { EShLanguage stage; std::string fileName; char** text; // memory owned/managed externally - const char* fileNameList[1]; + const char* fileNameList[1]; // Need to have a special constructors to adjust the fileNameList, since back end needs a list of ptrs ShaderCompUnit(EShLanguage istage, std::string &ifileName, char** itext) { stage = istage; fileName = ifileName; - text = itext; + text = itext; fileNameList[0] = fileName.c_str(); } @@ -570,6 +587,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]); shader->setShiftImageBinding(baseImageBinding[compUnit.stage]); shader->setShiftUboBinding(baseUboBinding[compUnit.stage]); + shader->setShiftSsboBinding(baseSsboBinding[compUnit.stage]); shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0); shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0); @@ -650,7 +668,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) if (! (Options & EOptionMemoryLeakMode)) { printf("%s", logger.getAllMessages().c_str()); if (Options & EOptionOutputHexadecimal) { - glslang::OutputSpvHex(spirv, GetBinaryName((EShLanguage)stage)); + glslang::OutputSpvHex(spirv, GetBinaryName((EShLanguage)stage), variableName); } else { glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage)); } @@ -829,21 +847,23 @@ int C_DECL main(int argc, char* argv[]) EShLanguage FindLanguage(const std::string& name, bool parseSuffix) { size_t ext = 0; + std::string suffix; - // Search for a suffix on a filename: e.g, "myfile.frag". If given - // the suffix directly, we skip looking the '.' - if (parseSuffix) { - ext = name.rfind('.'); - if (ext == std::string::npos) { - usage(); - return EShLangVertex; - } - ++ext; - } - - std::string suffix = name.substr(ext, std::string::npos); if (shaderStageName) suffix = shaderStageName; + else { + // Search for a suffix on a filename: e.g, "myfile.frag". If given + // the suffix directly, we skip looking for the '.' + if (parseSuffix) { + ext = name.rfind('.'); + if (ext == std::string::npos) { + usage(); + return EShLangVertex; + } + ++ext; + } + suffix = name.substr(ext, std::string::npos); + } if (suffix == "vert") return EShLangVertex; @@ -938,8 +958,8 @@ void usage() " -H print human readable form of SPIR-V; turns on -V\n" " -E print pre-processed GLSL; cannot be used with -l;\n" " errors will appear on stderr.\n" - " -S uses explicit stage specified, rather then the file extension.\n" - " valid choices are vert, tesc, tese, geom, frag, or comp\n" + " -S uses specified stage rather than parsing the file extension\n" + " valid choices for are vert, tesc, tese, geom, frag, or comp\n" " -c configuration dump;\n" " creates the default configuration file (redirect to a .conf file)\n" " -C cascading errors; risks crashes from accumulation of error recoveries\n" @@ -972,6 +992,9 @@ void usage() " --shift-UBO-binding [stage] num set base binding number for UBOs\n" " --sub [stage] num synonym for --shift-UBO-binding\n" "\n" + " --shift-ssbo-binding [stage] num set base binding number for SSBOs\n" + " --sbb [stage] num synonym for --shift-ssbo-binding\n" + "\n" " --auto-map-bindings automatically bind uniform variables without\n" " explicit bindings.\n" " --amb synonym for --auto-map-bindings\n" @@ -987,6 +1010,8 @@ void usage() "\n" " --keep-uncalled don't eliminate uncalled functions when linking\n" " --ku synonym for --keep-uncalled\n" + " --variable-name Creates a C header file that contains a uint32_t array named initialized with the shader binary code.\n" + " --vn synonym for --variable-name .\n" ); exit(EFailUsage); diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/120.frag b/3rdparty/bgfx/3rdparty/glslang/Test/120.frag index 028d308101d..ea35b80e427 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/120.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/120.frag @@ -243,4 +243,6 @@ void voidTernary() b ? foo121111() : foo12111(); b ? foo121111() : 4; // ERROR b ? 3 : foo12111(); // ERROR -} \ No newline at end of file +} + +float halfFloat1 = 1.0h; // syntax ERROR diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/140.vert b/3rdparty/bgfx/3rdparty/glslang/Test/140.vert index 380d30e7c48..914e672d8f1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/140.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/140.vert @@ -57,3 +57,23 @@ void foo() v += textureProjGradOffset(s2dr, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2)); v += textureProjGradOffset(s2drs, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2)); } + +void devi() +{ + gl_DeviceIndex; // ERROR, no extension + gl_ViewIndex; // ERROR, no extension +} + +#ifdef GL_EXT_device_group +#extension GL_EXT_device_group : enable +#endif + +#ifdef GL_EXT_device_group +#extension GL_EXT_multiview : enable +#endif + +void devie() +{ + gl_DeviceIndex; + gl_ViewIndex; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/150.vert b/3rdparty/bgfx/3rdparty/glslang/Test/150.vert index 8e1db4dd8b2..4dd9e5ca812 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/150.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/150.vert @@ -1,5 +1,9 @@ #version 150 core +#ifndef GL_core_profile +# error standard macro GL_core_profile not defined +#endif + in vec4 iv4; uniform float ps; diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/310.comp b/3rdparty/bgfx/3rdparty/glslang/Test/310.comp index 3252728c806..9575b6f9db3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/310.comp +++ b/3rdparty/bgfx/3rdparty/glslang/Test/310.comp @@ -238,3 +238,19 @@ float t__; // ERROR, no __ until revision 310 #define __D shared vec4 arr[2][3][4]; + +void devi() +{ + gl_DeviceIndex; // ERROR, no extension + gl_ViewIndex; // ERROR, never this stage +} + +#ifdef GL_EXT_device_group +#extension GL_EXT_device_group : enable +#endif + +void devie() +{ + gl_DeviceIndex; + gl_ViewIndex; // ERROR, never this stage +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/310.frag b/3rdparty/bgfx/3rdparty/glslang/Test/310.frag index e9f03950041..6814e6c5390 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/310.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/310.frag @@ -429,3 +429,23 @@ void blendFoo(layout(blend_support_hsl_luminosity) vec3 v) { } // ERROR, only on layout(blend_support_flizbit) out; // ERROR, no flizbit out vec4 outAA[2][2]; // ERROR + +void devi() +{ + gl_DeviceIndex; // ERROR, no extension + gl_ViewIndex; // ERROR, no extension +} + +#ifdef GL_EXT_device_group +#extension GL_EXT_device_group : enable +#endif + +#ifdef GL_EXT_device_group +#extension GL_EXT_multiview : enable +#endif + +void devie() +{ + gl_DeviceIndex; + gl_ViewIndex; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/400.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/400.tesc index d01bd3ea1bf..415d7f7d7b9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/400.tesc +++ b/3rdparty/bgfx/3rdparty/glslang/Test/400.tesc @@ -103,3 +103,23 @@ patch out pinbn { invariant precise out vec4 badOrder[]; // ERROR, precise must appear first void badp(out precise float f); // ERROR, precise must appear first + +void devi() +{ + gl_DeviceIndex; // ERROR, no extension + gl_ViewIndex; // ERROR, no extension +} + +#ifdef GL_EXT_device_group +#extension GL_EXT_device_group : enable +#endif + +#ifdef GL_EXT_device_group +#extension GL_EXT_multiview : enable +#endif + +void devie() +{ + gl_DeviceIndex; + gl_ViewIndex; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/400.tese b/3rdparty/bgfx/3rdparty/glslang/Test/400.tese index a1d3ed8289a..aea454651de 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/400.tese +++ b/3rdparty/bgfx/3rdparty/glslang/Test/400.tese @@ -103,3 +103,23 @@ in float gl_TessLevelOuter[4]; // ERROR, can't redeclare patch in pinbn { int a; } pinbi; + +void devi() +{ + gl_DeviceIndex; // ERROR, no extension + gl_ViewIndex; // ERROR, no extension +} + +#ifdef GL_EXT_device_group +#extension GL_EXT_device_group : enable +#endif + +#ifdef GL_EXT_device_group +#extension GL_EXT_multiview : enable +#endif + +void devie() +{ + gl_DeviceIndex; + gl_ViewIndex; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/450.vert b/3rdparty/bgfx/3rdparty/glslang/Test/450.vert index 48da3edb96c..0834d165e88 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/450.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/450.vert @@ -21,3 +21,8 @@ struct SA { float f[4]; }; out SA outSA; struct SS { float f; S s; }; out SS outSS; + +void foo() +{ + SS::f; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/badChars.frag b/3rdparty/bgfx/3rdparty/glslang/Test/badChars.frag index d67bf3a5e0b..3e9700d9348 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/badChars.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/badChars.frag @@ -4,3 +4,4 @@ #if #endif int aÿ +#define A "ÿ \ No newline at end of file diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100.frag.out index 42635d3b022..67be9e01e2b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100.frag.out @@ -5,7 +5,7 @@ ERROR: 0:3: 'array initializer' : not supported for this version or the enabled ERROR: 0:4: '#version' : must occur first in shader ERROR: 0:7: 'attribute' : not supported in this stage: fragment ERROR: 0:7: 'float' : type requires declaration of default precision qualifier -ERROR: 0:9: '=' : cannot convert from 'const int' to 'global mediump float' +ERROR: 0:9: '=' : cannot convert from ' const int' to ' global mediump float' ERROR: 0:11: 'uniform block' : not supported for this version or the enabled extensions ERROR: 0:19: 'foo' : no matching overloaded function found ERROR: 0:20: 'bit shift left' : not supported for this version or the enabled extensions @@ -97,280 +97,280 @@ Requested GL_OES_standard_derivatives Requested GL_OES_texture_3D ERROR: node is still EOpNull! 0:3 Sequence -0:3 move second child to first child (temp 3-element array of mediump int) -0:3 'a' (global 3-element array of mediump int) +0:3 move second child to first child ( temp 3-element array of mediump int) +0:3 'a' ( global 3-element array of mediump int) 0:3 Constant: 0:3 2 (const int) 0:3 3 (const int) 0:3 4 (const int) -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:19 Sequence 0:19 Constant: 0:19 0.000000 0:20 Sequence -0:20 move second child to first child (temp mediump int) -0:20 's' (temp mediump int) +0:20 move second child to first child ( temp mediump int) +0:20 's' ( temp mediump int) 0:20 Constant: 0:20 16 (const int) -0:21 move second child to first child (temp mediump int) -0:21 's' (temp mediump int) +0:21 move second child to first child ( temp mediump int) +0:21 's' ( temp mediump int) 0:21 Constant: 0:21 4 (const int) -0:22 Test condition and select (temp void) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Equal (temp bool) -0:22 'a' (global 3-element array of mediump int) -0:22 'a' (global 3-element array of mediump int) +0:22 Compare Equal ( temp bool) +0:22 'a' ( global 3-element array of mediump int) +0:22 'a' ( global 3-element array of mediump int) 0:22 true case is null -0:24 move second child to first child (temp mediump int) -0:24 'b' (temp mediump int) -0:24 bitwise and (temp mediump int) -0:24 'c' (temp mediump int) +0:24 move second child to first child ( temp mediump int) +0:24 'b' ( temp mediump int) +0:24 bitwise and ( temp mediump int) +0:24 'c' ( temp mediump int) 0:24 Constant: 0:24 4 (const int) -0:25 move second child to first child (temp mediump int) -0:25 'b' (temp mediump int) -0:25 mod (temp mediump int) -0:25 'c' (temp mediump int) +0:25 move second child to first child ( temp mediump int) +0:25 'b' ( temp mediump int) +0:25 mod ( temp mediump int) +0:25 'c' ( temp mediump int) 0:25 Constant: 0:25 4 (const int) -0:26 move second child to first child (temp mediump int) -0:26 'b' (temp mediump int) -0:26 inclusive-or (temp mediump int) -0:26 'c' (temp mediump int) +0:26 move second child to first child ( temp mediump int) +0:26 'b' ( temp mediump int) +0:26 inclusive-or ( temp mediump int) +0:26 'c' ( temp mediump int) 0:26 Constant: 0:26 4 (const int) -0:27 right shift second child into first child (temp mediump int) -0:27 'b' (temp mediump int) +0:27 right shift second child into first child ( temp mediump int) +0:27 'b' ( temp mediump int) 0:27 Constant: 0:27 2 (const int) -0:28 left shift second child into first child (temp mediump int) -0:28 'b' (temp mediump int) +0:28 left shift second child into first child ( temp mediump int) +0:28 'b' ( temp mediump int) 0:28 Constant: 0:28 2 (const int) -0:29 mod second child into first child (temp mediump int) -0:29 'b' (temp mediump int) +0:29 mod second child into first child ( temp mediump int) +0:29 'b' ( temp mediump int) 0:29 Constant: 0:29 3 (const int) -0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:37 Test condition and select (temp void) +0:36 move second child to first child ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:36 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:36 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:37 Test condition and select ( temp void) 0:37 Condition -0:37 Compare Equal (temp bool) -0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) +0:37 Compare Equal ( temp bool) +0:37 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:37 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) 0:37 true case is null -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Not Equal (temp bool) -0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) +0:38 Compare Not Equal ( temp bool) +0:38 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:38 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) 0:38 true case is null -0:40 'b' (temp mediump int) -0:54 Function Definition: foo10( (global void) +0:40 'b' ( temp mediump int) +0:54 Function Definition: foo10( ( global void) 0:54 Function Parameters: -0:67 Function Definition: f11(s21; (global void) +0:67 Function Definition: f11(s21; ( global void) 0:67 Function Parameters: -0:67 'p2d' (in lowp sampler2D) -0:87 Function Definition: foo234( (global void) +0:67 'p2d' ( in lowp sampler2D) +0:87 Function Definition: foo234( ( global void) 0:87 Function Parameters: 0:89 Sequence -0:89 texture (global highp 4-component vector of float) -0:89 's3D2' (uniform highp sampler3D) +0:89 texture ( global highp 4-component vector of float) +0:89 's3D2' ( uniform highp sampler3D) 0:89 Constant: 0:89 0.200000 0:89 0.200000 0:89 0.200000 0:89 Constant: 0:89 0.200000 -0:90 textureProj (global highp 4-component vector of float) -0:90 's3D2' (uniform highp sampler3D) -0:90 direct index (smooth temp mediump 4-component vector of float) -0:90 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:90 textureProj ( global highp 4-component vector of float) +0:90 's3D2' ( uniform highp sampler3D) +0:90 direct index ( smooth temp mediump 4-component vector of float) +0:90 'v' ( smooth in 3-element array of mediump 4-component vector of float) 0:90 Constant: 0:90 1 (const int) 0:90 Constant: 0:90 0.400000 -0:91 dPdx (global mediump 4-component vector of float) -0:91 direct index (smooth temp mediump 4-component vector of float) -0:91 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:91 dPdx ( global mediump 4-component vector of float) +0:91 direct index ( smooth temp mediump 4-component vector of float) +0:91 'v' ( smooth in 3-element array of mediump 4-component vector of float) 0:91 Constant: 0:91 0 (const int) 0:92 Constant: 0:92 0.000000 -0:93 fwidth (global mediump float) -0:93 'f13' (invariant global mediump float) -0:98 Function Definition: foo236( (global void) +0:93 fwidth ( global mediump float) +0:93 'f13' ( invariant global mediump float) +0:98 Function Definition: foo236( ( global void) 0:98 Function Parameters: 0:100 Sequence -0:100 dPdx (global mediump 4-component vector of float) -0:100 direct index (smooth temp mediump 4-component vector of float) -0:100 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:100 dPdx ( global mediump 4-component vector of float) +0:100 direct index ( smooth temp mediump 4-component vector of float) +0:100 'v' ( smooth in 3-element array of mediump 4-component vector of float) 0:100 Constant: 0:100 0 (const int) 0:101 Constant: 0:101 0.000000 -0:102 fwidth (global mediump float) -0:102 'f13' (invariant global mediump float) -0:103 move second child to first child (temp mediump float) -0:103 'gl_FragDepth' (temp mediump float) -0:103 'f13' (invariant global mediump float) -0:104 move second child to first child (temp highp float) -0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth) -0:104 'f13' (invariant global mediump float) -0:109 Function Definition: foo239( (global void) +0:102 fwidth ( global mediump float) +0:102 'f13' ( invariant global mediump float) +0:103 move second child to first child ( temp mediump float) +0:103 'gl_FragDepth' ( temp mediump float) +0:103 'f13' ( invariant global mediump float) +0:104 move second child to first child ( temp highp float) +0:104 'gl_FragDepthEXT' ( gl_FragDepth highp float FragDepth) +0:104 'f13' ( invariant global mediump float) +0:109 Function Definition: foo239( ( global void) 0:109 Function Parameters: 0:111 Sequence -0:111 move second child to first child (temp mediump float) -0:111 'gl_FragDepth' (temp mediump float) -0:111 'f13' (invariant global mediump float) -0:112 move second child to first child (temp highp float) -0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth) -0:112 'f13' (invariant global mediump float) -0:119 Function Definition: foo245( (global void) +0:111 move second child to first child ( temp mediump float) +0:111 'gl_FragDepth' ( temp mediump float) +0:111 'f13' ( invariant global mediump float) +0:112 move second child to first child ( temp highp float) +0:112 'gl_FragDepthEXT' ( gl_FragDepth highp float FragDepth) +0:112 'f13' ( invariant global mediump float) +0:119 Function Definition: foo245( ( global void) 0:119 Function Parameters: 0:121 Sequence -0:121 texture (global lowp 4-component vector of float) -0:121 'sExt' (uniform lowp samplerExternalOES) +0:121 texture ( global lowp 4-component vector of float) +0:121 'sExt' ( uniform lowp samplerExternalOES) 0:121 Constant: 0:121 0.200000 0:121 0.200000 -0:122 textureProj (global lowp 4-component vector of float) -0:122 'sExt' (uniform lowp samplerExternalOES) -0:122 Construct vec3 (temp lowp 3-component vector of float) -0:122 'f13' (invariant global mediump float) -0:123 textureProj (global lowp 4-component vector of float, operation at mediump) -0:123 'sExt' (uniform lowp samplerExternalOES) -0:123 direct index (smooth temp mediump 4-component vector of float) -0:123 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:122 textureProj ( global lowp 4-component vector of float) +0:122 'sExt' ( uniform lowp samplerExternalOES) +0:122 Construct vec3 ( temp lowp 3-component vector of float) +0:122 'f13' ( invariant global mediump float) +0:123 textureProj ( global lowp 4-component vector of float, operation at mediump) +0:123 'sExt' ( uniform lowp samplerExternalOES) +0:123 direct index ( smooth temp mediump 4-component vector of float) +0:123 'v' ( smooth in 3-element array of mediump 4-component vector of float) 0:123 Constant: 0:123 2 (const int) -0:130 Function Definition: foo246( (global void) +0:130 Function Definition: foo246( ( global void) 0:130 Function Parameters: 0:132 Sequence -0:132 texture (global mediump 4-component vector of float) -0:132 'mediumExt' (uniform mediump samplerExternalOES) +0:132 texture ( global mediump 4-component vector of float) +0:132 'mediumExt' ( uniform mediump samplerExternalOES) 0:132 Constant: 0:132 0.200000 0:132 0.200000 -0:133 textureProj (global highp 4-component vector of float) -0:133 'highExt' (uniform highp samplerExternalOES) -0:133 direct index (smooth temp mediump 4-component vector of float) -0:133 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:133 textureProj ( global highp 4-component vector of float) +0:133 'highExt' ( uniform highp samplerExternalOES) +0:133 direct index ( smooth temp mediump 4-component vector of float) +0:133 'v' ( smooth in 3-element array of mediump 4-component vector of float) 0:133 Constant: 0:133 2 (const int) 0:134 Constant: 0:134 0.000000 0:135 Constant: 0:135 0.000000 -0:137 Bitwise not (temp mediump int) -0:137 'a' (temp mediump int) -0:138 inclusive-or (temp mediump int) -0:138 'a' (temp mediump int) -0:138 'a' (temp mediump int) -0:139 bitwise and (temp mediump int) -0:139 'a' (temp mediump int) -0:139 'a' (temp mediump int) -0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int) +0:137 Bitwise not ( temp mediump int) +0:137 'a' ( temp mediump int) +0:138 inclusive-or ( temp mediump int) +0:138 'a' ( temp mediump int) +0:138 'a' ( temp mediump int) +0:139 bitwise and ( temp mediump int) +0:139 'a' ( temp mediump int) +0:139 'a' ( temp mediump int) +0:145 Function Definition: foo203940(i1;f1;f1; ( global mediump int) 0:145 Function Parameters: -0:145 'a' (in mediump int) -0:145 'b' (in mediump float) +0:145 'a' ( in mediump int) +0:145 'b' ( in mediump float) 0:147 Sequence -0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump) -0:147 's2Dg' (uniform lowp sampler2D) -0:147 Construct vec3 (temp mediump 3-component vector of float) -0:147 'f13' (invariant global mediump float) -0:147 'uv2' (invariant uniform mediump 2-component vector of float) -0:147 'uv2' (invariant uniform mediump 2-component vector of float) +0:147 textureProjGrad ( global lowp 4-component vector of float, operation at mediump) +0:147 's2Dg' ( uniform lowp sampler2D) +0:147 Construct vec3 ( temp mediump 3-component vector of float) +0:147 'f13' ( invariant global mediump float) +0:147 'uv2' ( invariant uniform mediump 2-component vector of float) +0:147 'uv2' ( invariant uniform mediump 2-component vector of float) 0:148 Branch: Return with expression -0:148 'a' (in mediump int) +0:148 'a' ( in mediump int) 0:151 Sequence -0:151 move second child to first child (temp mediump float) -0:151 'f123' (global mediump float) +0:151 move second child to first child ( temp mediump float) +0:151 'f123' ( global mediump float) 0:151 Constant: 0:151 4.000000 0:152 Sequence -0:152 move second child to first child (temp mediump float) -0:152 'f124' (global mediump float) +0:152 move second child to first child ( temp mediump float) +0:152 'f124' ( global mediump float) 0:152 Constant: 0:152 50000000000.000000 -0:158 Function Definition: foo323433( (global void) +0:158 Function Definition: foo323433( ( global void) 0:158 Function Parameters: 0:160 Sequence -0:160 textureLod (global lowp 4-component vector of float, operation at mediump) -0:160 's2Dg' (uniform lowp sampler2D) -0:160 'uv2' (invariant uniform mediump 2-component vector of float) -0:160 'f13' (invariant global mediump float) -0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump) -0:161 's2Dg' (uniform lowp sampler2D) -0:161 Construct vec3 (temp mediump 3-component vector of float) -0:161 'f13' (invariant global mediump float) -0:161 'uv2' (invariant uniform mediump 2-component vector of float) -0:161 'uv2' (invariant uniform mediump 2-component vector of float) -0:162 textureGrad (global lowp 4-component vector of float, operation at mediump) -0:162 's2Dg' (uniform lowp sampler2D) -0:162 'uv2' (invariant uniform mediump 2-component vector of float) -0:162 'uv2' (invariant uniform mediump 2-component vector of float) -0:162 'uv2' (invariant uniform mediump 2-component vector of float) -0:163 textureGrad (global lowp 4-component vector of float) -0:163 'sCube' (uniform lowp samplerCube) -0:163 Construct vec3 (temp lowp 3-component vector of float) -0:163 'f13' (invariant global mediump float) -0:163 Construct vec3 (temp lowp 3-component vector of float) -0:163 'f13' (invariant global mediump float) -0:163 Construct vec3 (temp lowp 3-component vector of float) -0:163 'f13' (invariant global mediump float) -0:167 Function Definition: fgfg(f1;i1; (global mediump int) +0:160 textureLod ( global lowp 4-component vector of float, operation at mediump) +0:160 's2Dg' ( uniform lowp sampler2D) +0:160 'uv2' ( invariant uniform mediump 2-component vector of float) +0:160 'f13' ( invariant global mediump float) +0:161 textureProjGrad ( global lowp 4-component vector of float, operation at mediump) +0:161 's2Dg' ( uniform lowp sampler2D) +0:161 Construct vec3 ( temp mediump 3-component vector of float) +0:161 'f13' ( invariant global mediump float) +0:161 'uv2' ( invariant uniform mediump 2-component vector of float) +0:161 'uv2' ( invariant uniform mediump 2-component vector of float) +0:162 textureGrad ( global lowp 4-component vector of float, operation at mediump) +0:162 's2Dg' ( uniform lowp sampler2D) +0:162 'uv2' ( invariant uniform mediump 2-component vector of float) +0:162 'uv2' ( invariant uniform mediump 2-component vector of float) +0:162 'uv2' ( invariant uniform mediump 2-component vector of float) +0:163 textureGrad ( global lowp 4-component vector of float) +0:163 'sCube' ( uniform lowp samplerCube) +0:163 Construct vec3 ( temp lowp 3-component vector of float) +0:163 'f13' ( invariant global mediump float) +0:163 Construct vec3 ( temp lowp 3-component vector of float) +0:163 'f13' ( invariant global mediump float) +0:163 Construct vec3 ( temp lowp 3-component vector of float) +0:163 'f13' ( invariant global mediump float) +0:167 Function Definition: fgfg(f1;i1; ( global mediump int) 0:167 Function Parameters: -0:167 'f' (in mediump float) -0:167 'i' (in highp int) +0:167 'f' ( in mediump float) +0:167 'i' ( in highp int) 0:167 Sequence 0:167 Branch: Return with expression 0:167 Constant: 0:167 2 (const int) -0:173 Function Definition: gggf(f1; (global mediump int) +0:173 Function Definition: gggf(f1; ( global mediump int) 0:173 Function Parameters: -0:173 'f' (in mediump float) +0:173 'f' ( in mediump float) 0:173 Sequence 0:173 Branch: Return with expression 0:173 Constant: 0:173 2 (const int) -0:175 Function Definition: agggf(f1; (global mediump int) +0:175 Function Definition: agggf(f1; ( global mediump int) 0:175 Function Parameters: -0:175 'f' (in mediump float) +0:175 'f' ( in mediump float) 0:175 Sequence 0:175 Branch: Return with expression 0:175 Constant: 0:175 2 (const int) -0:187 Function Definition: badswizzle( (global void) +0:187 Function Definition: badswizzle( ( global void) 0:187 Function Parameters: 0:? Sequence -0:190 'a' (temp 5-element array of mediump 3-component vector of float) -0:191 'a' (temp 5-element array of mediump 3-component vector of float) -0:192 'a' (temp 5-element array of mediump 3-component vector of float) +0:190 'a' ( temp 5-element array of mediump 3-component vector of float) +0:191 'a' ( temp 5-element array of mediump 3-component vector of float) +0:192 'a' ( temp 5-element array of mediump 3-component vector of float) 0:193 Constant: 0:193 5 (const int) 0:194 Constant: 0:194 0.000000 -0:199 Function Definition: fooinittest( (global mediump float) +0:199 Function Definition: fooinittest( ( global mediump float) 0:199 Function Parameters: 0:201 Sequence 0:201 Branch: Return with expression -0:201 Function Call: fooinit( (global mediump float) -0:209 Function Definition: fooinit( (global mediump float) +0:201 Function Call: fooinit( ( global mediump float) +0:209 Function Definition: fooinit( ( global mediump float) 0:209 Function Parameters: 0:211 Sequence 0:211 Branch: Return with expression 0:211 Constant: 0:211 12.000000 0:214 Sequence -0:214 move second child to first child (temp mediump int) -0:214 'init1' (global mediump int) -0:214 Test condition and select (temp mediump int) +0:214 move second child to first child ( temp mediump int) +0:214 'init1' ( global mediump int) +0:214 Test condition and select ( temp mediump int) 0:214 Condition -0:214 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:214 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:214 true case 0:214 Constant: 0:214 1 (const int) @@ -378,11 +378,11 @@ ERROR: node is still EOpNull! 0:214 Constant: 0:214 2 (const int) 0:220 Sequence -0:220 move second child to first child (temp mediump int) -0:220 'init2' (global mediump int) -0:220 Test condition and select (temp mediump int) +0:220 move second child to first child ( temp mediump int) +0:220 'init2' ( global mediump int) +0:220 Test condition and select ( temp mediump int) 0:220 Condition -0:220 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:220 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:220 true case 0:220 Constant: 0:220 1 (const int) @@ -390,37 +390,37 @@ ERROR: node is still EOpNull! 0:220 Constant: 0:220 2 (const int) 0:? Linker Objects -0:? 'a' (global 3-element array of mediump int) -0:? 'uint' (global mediump int) -0:? 'v' (smooth in 3-element array of mediump 4-component vector of float) -0:? 'f' (invariant global mediump float) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) -0:? 'fa' (global implicitly-sized array of mediump float) -0:? 'f13' (invariant global mediump float) -0:? 'fi' (invariant temp mediump float) -0:? 'av' (invariant smooth in mediump 4-component vector of float) -0:? 'uv2' (invariant uniform mediump 2-component vector of float) -0:? 'uv3' (invariant uniform mediump 3-component vector of float) -0:? 'glob2D' (global lowp sampler2D) -0:? 'vary2D' (smooth in lowp sampler2D) -0:? 's3D' (uniform mediump sampler3D) -0:? 's3D2' (uniform highp sampler3D) -0:? 'sExt' (uniform lowp samplerExternalOES) -0:? 'mediumExt' (uniform mediump samplerExternalOES) -0:? 'highExt' (uniform highp samplerExternalOES) -0:? 's2Dg' (uniform lowp sampler2D) -0:? 'f123' (global mediump float) -0:? 'f124' (global mediump float) -0:? 'sCube' (uniform lowp samplerCube) -0:? 's' (smooth in structure{global mediump float f}) -0:? 'fi1' (const mediump float) +0:? 'a' ( global 3-element array of mediump int) +0:? 'uint' ( global mediump int) +0:? 'v' ( smooth in 3-element array of mediump 4-component vector of float) +0:? 'f' ( invariant global mediump float) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int x}) +0:? 'fa' ( global implicitly-sized array of mediump float) +0:? 'f13' ( invariant global mediump float) +0:? 'fi' ( invariant temp mediump float) +0:? 'av' ( invariant smooth in mediump 4-component vector of float) +0:? 'uv2' ( invariant uniform mediump 2-component vector of float) +0:? 'uv3' ( invariant uniform mediump 3-component vector of float) +0:? 'glob2D' ( global lowp sampler2D) +0:? 'vary2D' ( smooth in lowp sampler2D) +0:? 's3D' ( uniform mediump sampler3D) +0:? 's3D2' ( uniform highp sampler3D) +0:? 'sExt' ( uniform lowp samplerExternalOES) +0:? 'mediumExt' ( uniform mediump samplerExternalOES) +0:? 'highExt' ( uniform highp samplerExternalOES) +0:? 's2Dg' ( uniform lowp sampler2D) +0:? 'f123' ( global mediump float) +0:? 'f124' ( global mediump float) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 's' ( smooth in structure{ global mediump float f}) +0:? 'fi1' ( const mediump float) 0:? 3.000000 -0:? 'fi2' (const mediump float) +0:? 'fi2' ( const mediump float) 0:? 4.000000 -0:? 'fi3' (const mediump float) +0:? 'fi3' ( const mediump float) 0:? 5.000000 -0:? 'init1' (global mediump int) -0:? 'init2' (global mediump int) +0:? 'init1' ( global mediump int) +0:? 'init2' ( global mediump int) Linked fragment stage: @@ -435,94 +435,94 @@ Requested GL_OES_standard_derivatives Requested GL_OES_texture_3D ERROR: node is still EOpNull! 0:3 Sequence -0:3 move second child to first child (temp 3-element array of mediump int) -0:3 'a' (global 3-element array of mediump int) +0:3 move second child to first child ( temp 3-element array of mediump int) +0:3 'a' ( global 3-element array of mediump int) 0:3 Constant: 0:3 2 (const int) 0:3 3 (const int) 0:3 4 (const int) -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:19 Sequence 0:19 Constant: 0:19 0.000000 0:20 Sequence -0:20 move second child to first child (temp mediump int) -0:20 's' (temp mediump int) +0:20 move second child to first child ( temp mediump int) +0:20 's' ( temp mediump int) 0:20 Constant: 0:20 16 (const int) -0:21 move second child to first child (temp mediump int) -0:21 's' (temp mediump int) +0:21 move second child to first child ( temp mediump int) +0:21 's' ( temp mediump int) 0:21 Constant: 0:21 4 (const int) -0:22 Test condition and select (temp void) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Equal (temp bool) -0:22 'a' (global 3-element array of mediump int) -0:22 'a' (global 3-element array of mediump int) +0:22 Compare Equal ( temp bool) +0:22 'a' ( global 3-element array of mediump int) +0:22 'a' ( global 3-element array of mediump int) 0:22 true case is null -0:24 move second child to first child (temp mediump int) -0:24 'b' (temp mediump int) -0:24 bitwise and (temp mediump int) -0:24 'c' (temp mediump int) +0:24 move second child to first child ( temp mediump int) +0:24 'b' ( temp mediump int) +0:24 bitwise and ( temp mediump int) +0:24 'c' ( temp mediump int) 0:24 Constant: 0:24 4 (const int) -0:25 move second child to first child (temp mediump int) -0:25 'b' (temp mediump int) -0:25 mod (temp mediump int) -0:25 'c' (temp mediump int) +0:25 move second child to first child ( temp mediump int) +0:25 'b' ( temp mediump int) +0:25 mod ( temp mediump int) +0:25 'c' ( temp mediump int) 0:25 Constant: 0:25 4 (const int) -0:26 move second child to first child (temp mediump int) -0:26 'b' (temp mediump int) -0:26 inclusive-or (temp mediump int) -0:26 'c' (temp mediump int) +0:26 move second child to first child ( temp mediump int) +0:26 'b' ( temp mediump int) +0:26 inclusive-or ( temp mediump int) +0:26 'c' ( temp mediump int) 0:26 Constant: 0:26 4 (const int) -0:27 right shift second child into first child (temp mediump int) -0:27 'b' (temp mediump int) +0:27 right shift second child into first child ( temp mediump int) +0:27 'b' ( temp mediump int) 0:27 Constant: 0:27 2 (const int) -0:28 left shift second child into first child (temp mediump int) -0:28 'b' (temp mediump int) +0:28 left shift second child into first child ( temp mediump int) +0:28 'b' ( temp mediump int) 0:28 Constant: 0:28 2 (const int) -0:29 mod second child into first child (temp mediump int) -0:29 'b' (temp mediump int) +0:29 mod second child into first child ( temp mediump int) +0:29 'b' ( temp mediump int) 0:29 Constant: 0:29 3 (const int) -0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:37 Test condition and select (temp void) +0:36 move second child to first child ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:36 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:36 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:37 Test condition and select ( temp void) 0:37 Condition -0:37 Compare Equal (temp bool) -0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) +0:37 Compare Equal ( temp bool) +0:37 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:37 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) 0:37 true case is null -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Not Equal (temp bool) -0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) -0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a}) +0:38 Compare Not Equal ( temp bool) +0:38 's1' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) +0:38 's2' ( temp structure{ temp mediump float f, temp 10-element array of mediump float a}) 0:38 true case is null -0:40 'b' (temp mediump int) +0:40 'b' ( temp mediump int) 0:151 Sequence -0:151 move second child to first child (temp mediump float) -0:151 'f123' (global mediump float) +0:151 move second child to first child ( temp mediump float) +0:151 'f123' ( global mediump float) 0:151 Constant: 0:151 4.000000 0:152 Sequence -0:152 move second child to first child (temp mediump float) -0:152 'f124' (global mediump float) +0:152 move second child to first child ( temp mediump float) +0:152 'f124' ( global mediump float) 0:152 Constant: 0:152 50000000000.000000 0:214 Sequence -0:214 move second child to first child (temp mediump int) -0:214 'init1' (global mediump int) -0:214 Test condition and select (temp mediump int) +0:214 move second child to first child ( temp mediump int) +0:214 'init1' ( global mediump int) +0:214 Test condition and select ( temp mediump int) 0:214 Condition -0:214 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:214 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:214 true case 0:214 Constant: 0:214 1 (const int) @@ -530,11 +530,11 @@ ERROR: node is still EOpNull! 0:214 Constant: 0:214 2 (const int) 0:220 Sequence -0:220 move second child to first child (temp mediump int) -0:220 'init2' (global mediump int) -0:220 Test condition and select (temp mediump int) +0:220 move second child to first child ( temp mediump int) +0:220 'init2' ( global mediump int) +0:220 Test condition and select ( temp mediump int) 0:220 Condition -0:220 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:220 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:220 true case 0:220 Constant: 0:220 1 (const int) @@ -542,35 +542,35 @@ ERROR: node is still EOpNull! 0:220 Constant: 0:220 2 (const int) 0:? Linker Objects -0:? 'a' (global 3-element array of mediump int) -0:? 'uint' (global mediump int) -0:? 'v' (smooth in 3-element array of mediump 4-component vector of float) -0:? 'f' (invariant global mediump float) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) -0:? 'fa' (global 1-element array of mediump float) -0:? 'f13' (invariant global mediump float) -0:? 'fi' (invariant temp mediump float) -0:? 'av' (invariant smooth in mediump 4-component vector of float) -0:? 'uv2' (invariant uniform mediump 2-component vector of float) -0:? 'uv3' (invariant uniform mediump 3-component vector of float) -0:? 'glob2D' (global lowp sampler2D) -0:? 'vary2D' (smooth in lowp sampler2D) -0:? 's3D' (uniform mediump sampler3D) -0:? 's3D2' (uniform highp sampler3D) -0:? 'sExt' (uniform lowp samplerExternalOES) -0:? 'mediumExt' (uniform mediump samplerExternalOES) -0:? 'highExt' (uniform highp samplerExternalOES) -0:? 's2Dg' (uniform lowp sampler2D) -0:? 'f123' (global mediump float) -0:? 'f124' (global mediump float) -0:? 'sCube' (uniform lowp samplerCube) -0:? 's' (smooth in structure{global mediump float f}) -0:? 'fi1' (const mediump float) +0:? 'a' ( global 3-element array of mediump int) +0:? 'uint' ( global mediump int) +0:? 'v' ( smooth in 3-element array of mediump 4-component vector of float) +0:? 'f' ( invariant global mediump float) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int x}) +0:? 'fa' ( global 1-element array of mediump float) +0:? 'f13' ( invariant global mediump float) +0:? 'fi' ( invariant temp mediump float) +0:? 'av' ( invariant smooth in mediump 4-component vector of float) +0:? 'uv2' ( invariant uniform mediump 2-component vector of float) +0:? 'uv3' ( invariant uniform mediump 3-component vector of float) +0:? 'glob2D' ( global lowp sampler2D) +0:? 'vary2D' ( smooth in lowp sampler2D) +0:? 's3D' ( uniform mediump sampler3D) +0:? 's3D2' ( uniform highp sampler3D) +0:? 'sExt' ( uniform lowp samplerExternalOES) +0:? 'mediumExt' ( uniform mediump samplerExternalOES) +0:? 'highExt' ( uniform highp samplerExternalOES) +0:? 's2Dg' ( uniform lowp sampler2D) +0:? 'f123' ( global mediump float) +0:? 'f124' ( global mediump float) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 's' ( smooth in structure{ global mediump float f}) +0:? 'fi1' ( const mediump float) 0:? 3.000000 -0:? 'fi2' (const mediump float) +0:? 'fi2' ( const mediump float) 0:? 4.000000 -0:? 'fi3' (const mediump float) +0:? 'fi3' ( const mediump float) 0:? 5.000000 -0:? 'init1' (global mediump int) -0:? 'init2' (global mediump int) +0:? 'init1' ( global mediump int) +0:? 'init2' ( global mediump int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100Limits.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100Limits.vert.out index 46c256075ac..ab0ff1ee73f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100Limits.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100Limits.vert.out @@ -1,23 +1,23 @@ 100Limits.vert Shader version: 100 0:? Sequence -0:15 Function Definition: foo(f1; (global void) +0:15 Function Definition: foo(f1; ( global void) 0:15 Function Parameters: -0:15 'a' (inout highp float) -0:17 Function Definition: bar( (global highp int) +0:15 'a' ( inout highp float) +0:17 Function Definition: bar( ( global highp int) 0:17 Function Parameters: 0:19 Sequence 0:19 Branch: Return with expression 0:19 Constant: 0:19 1 (const int) -0:22 Function Definition: main( (global void) +0:22 Function Definition: main( ( global void) 0:22 Function Parameters: 0:24 Sequence 0:24 Loop with condition tested first 0:24 Loop Condition -0:24 Compare Less Than (temp bool) -0:24 'ga' (global highp int) -0:24 'gb' (global highp int) +0:24 Compare Less Than ( temp bool) +0:24 'ga' ( global highp int) +0:24 'gb' ( global highp int) 0:24 No loop body 0:26 Loop with condition not tested first 0:26 Loop Condition @@ -31,20 +31,20 @@ Shader version: 100 0:29 Sequence 0:29 Loop with condition tested first 0:29 Loop Condition -0:29 Compare Equal (temp bool) -0:29 'ga' (global highp int) -0:29 'gb' (global highp int) +0:29 Compare Equal ( temp bool) +0:29 'ga' ( global highp int) +0:29 'gb' ( global highp int) 0:29 No loop body 0:30 Sequence 0:30 Loop with condition tested first 0:30 No loop condition 0:30 No loop body 0:30 Loop Terminal Expression -0:30 Post-Increment (temp highp float) -0:30 'f' (global highp float) +0:30 Post-Increment ( temp highp float) +0:30 'f' ( global highp float) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'ga' (global highp int) +0:31 move second child to first child ( temp highp int) +0:31 'ga' ( global highp int) 0:31 Constant: 0:31 0 (const int) 0:31 Loop with condition tested first @@ -52,8 +52,8 @@ Shader version: 100 0:31 No loop body 0:32 Sequence 0:32 Sequence -0:32 move second child to first child (temp bool) -0:32 'a' (temp bool) +0:32 move second child to first child ( temp bool) +0:32 'a' ( temp bool) 0:32 Constant: 0:32 false (const bool) 0:32 Loop with condition tested first @@ -61,356 +61,356 @@ Shader version: 100 0:32 No loop body 0:33 Sequence 0:33 Sequence -0:33 move second child to first child (temp highp float) -0:33 'a' (temp highp float) +0:33 move second child to first child ( temp highp float) +0:33 'a' ( temp highp float) 0:33 Constant: 0:33 0.000000 0:33 Loop with condition tested first 0:33 Loop Condition -0:33 Compare Equal (temp bool) -0:33 'a' (temp highp float) -0:33 sine (global highp float) -0:33 'f' (global highp float) +0:33 Compare Equal ( temp bool) +0:33 'a' ( temp highp float) +0:33 sine ( global highp float) +0:33 'f' ( global highp float) 0:33 No loop body 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'a' (temp highp int) +0:34 move second child to first child ( temp highp int) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 0 (const int) 0:34 Loop with condition tested first 0:34 Loop Condition -0:34 Compare Less Than (temp bool) -0:34 'a' (temp highp int) +0:34 Compare Less Than ( temp bool) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 10 (const int) 0:34 No loop body 0:34 Loop Terminal Expression -0:34 multiply second child into first child (temp highp int) -0:34 'a' (temp highp int) +0:34 multiply second child into first child ( temp highp int) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 2 (const int) 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'a' (temp highp int) +0:35 move second child to first child ( temp highp int) +0:35 'a' ( temp highp int) 0:35 Constant: 0:35 0 (const int) 0:35 Loop with condition tested first 0:35 Loop Condition -0:35 Compare Less Than or Equal (temp bool) -0:35 'a' (temp highp int) +0:35 Compare Less Than or Equal ( temp bool) +0:35 'a' ( temp highp int) 0:35 Constant: 0:35 20 (const int) 0:35 Loop Body -0:35 Pre-Decrement (temp highp int) -0:35 'a' (temp highp int) +0:35 Pre-Decrement ( temp highp int) +0:35 'a' ( temp highp int) 0:35 Loop Terminal Expression -0:35 Post-Increment (temp highp int) -0:35 'a' (temp highp int) +0:35 Post-Increment ( temp highp int) +0:35 'a' ( temp highp int) 0:36 Sequence 0:36 Sequence -0:36 move second child to first child (temp highp int) -0:36 'a' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 0 (const int) 0:36 Loop with condition tested first 0:36 Loop Condition -0:36 Compare Less Than or Equal (temp bool) -0:36 'a' (temp highp int) +0:36 Compare Less Than or Equal ( temp bool) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 20 (const int) 0:36 Loop Body 0:36 Sequence -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Equal (temp bool) -0:36 'ga' (global highp int) +0:36 Compare Equal ( temp bool) +0:36 'ga' ( global highp int) 0:36 Constant: 0:36 0 (const int) 0:36 true case -0:36 move second child to first child (temp highp int) -0:36 'a' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 4 (const int) 0:36 Loop Terminal Expression -0:36 Post-Increment (temp highp int) -0:36 'a' (temp highp int) +0:36 Post-Increment ( temp highp int) +0:36 'a' ( temp highp int) 0:37 Sequence 0:37 Sequence -0:37 move second child to first child (temp highp float) -0:37 'a' (temp highp float) +0:37 move second child to first child ( temp highp float) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 0.000000 0:37 Loop with condition tested first 0:37 Loop Condition -0:37 Compare Less Than or Equal (temp bool) -0:37 'a' (temp highp float) +0:37 Compare Less Than or Equal ( temp bool) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 20.000000 0:37 No loop body 0:37 Loop Terminal Expression -0:37 add second child into first child (temp highp float) -0:37 'a' (temp highp float) +0:37 add second child into first child ( temp highp float) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 2.000000 0:38 Sequence 0:38 Sequence -0:38 move second child to first child (temp highp float) -0:38 'a' (temp highp float) +0:38 move second child to first child ( temp highp float) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 0.000000 0:38 Loop with condition tested first 0:38 Loop Condition -0:38 Compare Not Equal (temp bool) -0:38 'a' (temp highp float) +0:38 Compare Not Equal ( temp bool) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 20.000000 0:38 Loop Body 0:38 Sequence -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Equal (temp bool) -0:38 'ga' (global highp int) +0:38 Compare Equal ( temp bool) +0:38 'ga' ( global highp int) 0:38 Constant: 0:38 0 (const int) 0:38 true case -0:38 move second child to first child (temp highp int) -0:38 'ga' (global highp int) +0:38 move second child to first child ( temp highp int) +0:38 'ga' ( global highp int) 0:38 Constant: 0:38 4 (const int) 0:38 Loop Terminal Expression -0:38 subtract second child into first child (temp highp float) -0:38 'a' (temp highp float) +0:38 subtract second child into first child ( temp highp float) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 2.000000 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp highp float) -0:39 'a' (temp highp float) +0:39 move second child to first child ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 0.000000 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Equal (temp bool) -0:39 'a' (temp highp float) +0:39 Compare Equal ( temp bool) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 20.000000 0:39 Loop Body 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp highp float) -0:39 'a' (temp highp float) +0:39 move second child to first child ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 0.000000 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Equal (temp bool) -0:39 'a' (temp highp float) +0:39 Compare Equal ( temp bool) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 20.000000 0:39 No loop body 0:39 Loop Terminal Expression -0:39 Post-Decrement (temp highp float) -0:39 'a' (temp highp float) +0:39 Post-Decrement ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Loop Terminal Expression -0:39 Post-Decrement (temp highp float) -0:39 'a' (temp highp float) +0:39 Post-Decrement ( temp highp float) +0:39 'a' ( temp highp float) 0:40 Sequence 0:40 Sequence -0:40 move second child to first child (temp highp float) -0:40 'a' (temp highp float) +0:40 move second child to first child ( temp highp float) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 0.000000 0:40 Loop with condition tested first 0:40 Loop Condition -0:40 Compare Less Than or Equal (temp bool) -0:40 'a' (temp highp float) +0:40 Compare Less Than or Equal ( temp bool) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 20.000000 0:40 No loop body 0:40 Loop Terminal Expression -0:40 add second child into first child (temp highp float) -0:40 'a' (temp highp float) +0:40 add second child into first child ( temp highp float) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 2.000000 0:41 Sequence 0:41 Sequence -0:41 move second child to first child (temp highp float) -0:41 'a' (temp highp float) +0:41 move second child to first child ( temp highp float) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 0.000000 0:41 Loop with condition tested first 0:41 Loop Condition -0:41 Compare Less Than or Equal (temp bool) -0:41 'a' (temp highp float) +0:41 Compare Less Than or Equal ( temp bool) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 20.000000 0:41 No loop body 0:41 Loop Terminal Expression -0:41 add second child into first child (temp highp float) -0:41 'a' (temp highp float) +0:41 add second child into first child ( temp highp float) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 2.000000 0:42 Sequence 0:42 Sequence -0:42 move second child to first child (temp highp float) -0:42 'a' (temp highp float) +0:42 move second child to first child ( temp highp float) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 0.000000 0:42 Loop with condition tested first 0:42 Loop Condition -0:42 Compare Greater Than (temp bool) -0:42 'a' (temp highp float) +0:42 Compare Greater Than ( temp bool) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 40.000000 0:42 No loop body 0:42 Loop Terminal Expression -0:42 add second child into first child (temp highp float) -0:42 'a' (temp highp float) +0:42 add second child into first child ( temp highp float) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 2.000000 0:43 Sequence 0:43 Sequence -0:43 move second child to first child (temp highp float) -0:43 'a' (temp highp float) +0:43 move second child to first child ( temp highp float) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 0.000000 0:43 Loop with condition tested first 0:43 Loop Condition -0:43 Compare Greater Than or Equal (temp bool) -0:43 'a' (temp highp float) +0:43 Compare Greater Than or Equal ( temp bool) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 20.000000 0:43 Loop Body -0:43 Function Call: foo(f1; (global void) -0:43 'a' (temp highp float) +0:43 Function Call: foo(f1; ( global void) +0:43 'a' ( temp highp float) 0:43 Loop Terminal Expression -0:43 add second child into first child (temp highp float) -0:43 'a' (temp highp float) +0:43 add second child into first child ( temp highp float) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 2.000000 -0:47 indirect index (temp lowp sampler2D) -0:47 'fsa' (uniform 3-element array of lowp sampler2D) -0:47 'ga' (global highp int) -0:48 indirect index (temp highp float) -0:48 'fua' (uniform 10-element array of highp float) -0:48 'ga' (global highp int) -0:49 indirect index (temp highp 3-component vector of float) -0:49 'am3' (in highp 3X3 matrix of float) -0:49 'ga' (global highp int) -0:50 indirect index (temp highp float) -0:50 'av2' (in highp 2-component vector of float) -0:50 'ga' (global highp int) -0:51 indirect index (smooth temp highp 4-component vector of float) -0:51 'va' (smooth out 4-element array of highp 4-component vector of float) -0:51 add (temp highp int) +0:47 indirect index ( temp lowp sampler2D) +0:47 'fsa' ( uniform 3-element array of lowp sampler2D) +0:47 'ga' ( global highp int) +0:48 indirect index ( temp highp float) +0:48 'fua' ( uniform 10-element array of highp float) +0:48 'ga' ( global highp int) +0:49 indirect index ( temp highp 3-component vector of float) +0:49 'am3' ( in highp 3X3 matrix of float) +0:49 'ga' ( global highp int) +0:50 indirect index ( temp highp float) +0:50 'av2' ( in highp 2-component vector of float) +0:50 'ga' ( global highp int) +0:51 indirect index ( smooth temp highp 4-component vector of float) +0:51 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:51 add ( temp highp int) 0:51 Constant: 0:51 2 (const int) -0:51 'ga' (global highp int) -0:52 indirect index (temp highp 2-component vector of float) +0:51 'ga' ( global highp int) +0:52 indirect index ( temp highp 2-component vector of float) 0:52 Constant: 0:52 1.000000 0:52 0.000000 0:52 0.000000 0:52 1.000000 -0:52 'ga' (global highp int) -0:53 indirect index (temp highp float) +0:52 'ga' ( global highp int) +0:53 indirect index ( temp highp float) 0:53 Constant: 0:53 2.000000 0:53 2.000000 0:53 2.000000 -0:53 divide (temp highp int) -0:53 'ga' (global highp int) +0:53 divide ( temp highp int) +0:53 'ga' ( global highp int) 0:53 Constant: 0:53 2 (const int) -0:54 indirect index (temp highp int) -0:54 'ia' (temp 9-element array of highp int) -0:54 'ga' (global highp int) +0:54 indirect index ( temp highp int) +0:54 'ia' ( temp 9-element array of highp int) +0:54 'ga' ( global highp int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp int) -0:56 'a' (temp highp int) +0:56 move second child to first child ( temp highp int) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 3 (const int) 0:56 Loop with condition tested first 0:56 Loop Condition -0:56 Compare Greater Than or Equal (temp bool) -0:56 'a' (temp highp int) +0:56 Compare Greater Than or Equal ( temp bool) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 0 (const int) 0:56 Loop Body 0:57 Sequence -0:57 indirect index (temp lowp sampler2D) -0:57 'fsa' (uniform 3-element array of lowp sampler2D) -0:57 'a' (temp highp int) -0:58 indirect index (temp highp float) -0:58 'fua' (uniform 10-element array of highp float) -0:58 add (temp highp int) -0:58 'a' (temp highp int) +0:57 indirect index ( temp lowp sampler2D) +0:57 'fsa' ( uniform 3-element array of lowp sampler2D) +0:57 'a' ( temp highp int) +0:58 indirect index ( temp highp float) +0:58 'fua' ( uniform 10-element array of highp float) +0:58 add ( temp highp int) +0:58 'a' ( temp highp int) 0:58 Constant: 0:58 2 (const int) -0:59 indirect index (temp highp 3-component vector of float) -0:59 'am3' (in highp 3X3 matrix of float) -0:59 component-wise multiply (temp highp int) +0:59 indirect index ( temp highp 3-component vector of float) +0:59 'am3' ( in highp 3X3 matrix of float) +0:59 component-wise multiply ( temp highp int) 0:59 Constant: 0:59 3 (const int) -0:59 'a' (temp highp int) -0:60 indirect index (temp highp float) -0:60 'av2' (in highp 2-component vector of float) -0:60 component-wise multiply (temp highp int) +0:59 'a' ( temp highp int) +0:60 indirect index ( temp highp float) +0:60 'av2' ( in highp 2-component vector of float) +0:60 component-wise multiply ( temp highp int) 0:60 Constant: 0:60 3 (const int) -0:60 'a' (temp highp int) -0:61 indirect index (smooth temp highp 4-component vector of float) -0:61 'va' (smooth out 4-element array of highp 4-component vector of float) -0:61 subtract (temp highp int) -0:61 'a' (temp highp int) +0:60 'a' ( temp highp int) +0:61 indirect index ( smooth temp highp 4-component vector of float) +0:61 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:61 subtract ( temp highp int) +0:61 'a' ( temp highp int) 0:61 Constant: 0:61 1 (const int) -0:62 indirect index (temp highp 2-component vector of float) +0:62 indirect index ( temp highp 2-component vector of float) 0:62 Constant: 0:62 1.000000 0:62 0.000000 0:62 0.000000 0:62 1.000000 -0:62 divide (temp highp int) -0:62 'a' (temp highp int) +0:62 divide ( temp highp int) +0:62 'a' ( temp highp int) 0:62 Constant: 0:62 2 (const int) -0:63 indirect index (temp highp float) +0:63 indirect index ( temp highp float) 0:63 Constant: 0:63 2.000000 0:63 2.000000 0:63 2.000000 -0:63 'a' (temp highp int) -0:64 indirect index (temp highp int) -0:64 'ia' (temp 9-element array of highp int) -0:64 'a' (temp highp int) -0:65 indirect index (temp highp int) -0:65 'ia' (temp 9-element array of highp int) -0:65 Function Call: bar( (global highp int) +0:63 'a' ( temp highp int) +0:64 indirect index ( temp highp int) +0:64 'ia' ( temp 9-element array of highp int) +0:64 'a' ( temp highp int) +0:65 indirect index ( temp highp int) +0:65 'ia' ( temp 9-element array of highp int) +0:65 Function Call: bar( ( global highp int) 0:56 Loop Terminal Expression -0:56 Post-Decrement (temp highp int) -0:56 'a' (temp highp int) -0:68 direct index (temp lowp sampler2D) -0:68 'fsa' (uniform 3-element array of lowp sampler2D) +0:56 Post-Decrement ( temp highp int) +0:56 'a' ( temp highp int) +0:68 direct index ( temp lowp sampler2D) +0:68 'fsa' ( uniform 3-element array of lowp sampler2D) 0:68 Constant: 0:68 2 (const int) -0:69 direct index (temp highp float) -0:69 'fua' (uniform 10-element array of highp float) +0:69 direct index ( temp highp float) +0:69 'fua' ( uniform 10-element array of highp float) 0:69 Constant: 0:69 3 (const int) -0:70 direct index (temp highp 3-component vector of float) -0:70 'am3' (in highp 3X3 matrix of float) +0:70 direct index ( temp highp 3-component vector of float) +0:70 'am3' ( in highp 3X3 matrix of float) 0:70 Constant: 0:70 2 (const int) -0:71 direct index (temp highp float) -0:71 'av2' (in highp 2-component vector of float) +0:71 direct index ( temp highp float) +0:71 'av2' ( in highp 2-component vector of float) 0:71 Constant: 0:71 1 (const int) -0:72 direct index (smooth temp highp 4-component vector of float) -0:72 'va' (smooth out 4-element array of highp 4-component vector of float) +0:72 direct index ( smooth temp highp 4-component vector of float) +0:72 'va' ( smooth out 4-element array of highp 4-component vector of float) 0:72 Constant: 0:72 1 (const int) 0:73 Constant: @@ -418,25 +418,25 @@ Shader version: 100 0:73 1.000000 0:74 Constant: 0:74 2.000000 -0:75 direct index (temp highp int) -0:75 'ia' (temp 9-element array of highp int) +0:75 direct index ( temp highp int) +0:75 'ia' ( temp 9-element array of highp int) 0:75 Constant: 0:75 3 (const int) 0:? Linker Objects -0:? 'ga' (global highp int) -0:? 'gb' (global highp int) -0:? 'f' (global highp float) -0:? 'fsa' (uniform 3-element array of lowp sampler2D) -0:? 'fua' (uniform 10-element array of highp float) -0:? 'am3' (in highp 3X3 matrix of float) -0:? 'av2' (in highp 2-component vector of float) -0:? 'va' (smooth out 4-element array of highp 4-component vector of float) -0:? 'm2' (const highp 2X2 matrix of float) +0:? 'ga' ( global highp int) +0:? 'gb' ( global highp int) +0:? 'f' ( global highp float) +0:? 'fsa' ( uniform 3-element array of lowp sampler2D) +0:? 'fua' ( uniform 10-element array of highp float) +0:? 'am3' ( in highp 3X3 matrix of float) +0:? 'av2' ( in highp 2-component vector of float) +0:? 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:? 'm2' ( const highp 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'v3' (const highp 3-component vector of float) +0:? 'v3' ( const highp 3-component vector of float) 0:? 2.000000 0:? 2.000000 0:? 2.000000 @@ -447,23 +447,23 @@ Linked vertex stage: Shader version: 100 0:? Sequence -0:15 Function Definition: foo(f1; (global void) +0:15 Function Definition: foo(f1; ( global void) 0:15 Function Parameters: -0:15 'a' (inout highp float) -0:17 Function Definition: bar( (global highp int) +0:15 'a' ( inout highp float) +0:17 Function Definition: bar( ( global highp int) 0:17 Function Parameters: 0:19 Sequence 0:19 Branch: Return with expression 0:19 Constant: 0:19 1 (const int) -0:22 Function Definition: main( (global void) +0:22 Function Definition: main( ( global void) 0:22 Function Parameters: 0:24 Sequence 0:24 Loop with condition tested first 0:24 Loop Condition -0:24 Compare Less Than (temp bool) -0:24 'ga' (global highp int) -0:24 'gb' (global highp int) +0:24 Compare Less Than ( temp bool) +0:24 'ga' ( global highp int) +0:24 'gb' ( global highp int) 0:24 No loop body 0:26 Loop with condition not tested first 0:26 Loop Condition @@ -477,20 +477,20 @@ Shader version: 100 0:29 Sequence 0:29 Loop with condition tested first 0:29 Loop Condition -0:29 Compare Equal (temp bool) -0:29 'ga' (global highp int) -0:29 'gb' (global highp int) +0:29 Compare Equal ( temp bool) +0:29 'ga' ( global highp int) +0:29 'gb' ( global highp int) 0:29 No loop body 0:30 Sequence 0:30 Loop with condition tested first 0:30 No loop condition 0:30 No loop body 0:30 Loop Terminal Expression -0:30 Post-Increment (temp highp float) -0:30 'f' (global highp float) +0:30 Post-Increment ( temp highp float) +0:30 'f' ( global highp float) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'ga' (global highp int) +0:31 move second child to first child ( temp highp int) +0:31 'ga' ( global highp int) 0:31 Constant: 0:31 0 (const int) 0:31 Loop with condition tested first @@ -498,8 +498,8 @@ Shader version: 100 0:31 No loop body 0:32 Sequence 0:32 Sequence -0:32 move second child to first child (temp bool) -0:32 'a' (temp bool) +0:32 move second child to first child ( temp bool) +0:32 'a' ( temp bool) 0:32 Constant: 0:32 false (const bool) 0:32 Loop with condition tested first @@ -507,356 +507,356 @@ Shader version: 100 0:32 No loop body 0:33 Sequence 0:33 Sequence -0:33 move second child to first child (temp highp float) -0:33 'a' (temp highp float) +0:33 move second child to first child ( temp highp float) +0:33 'a' ( temp highp float) 0:33 Constant: 0:33 0.000000 0:33 Loop with condition tested first 0:33 Loop Condition -0:33 Compare Equal (temp bool) -0:33 'a' (temp highp float) -0:33 sine (global highp float) -0:33 'f' (global highp float) +0:33 Compare Equal ( temp bool) +0:33 'a' ( temp highp float) +0:33 sine ( global highp float) +0:33 'f' ( global highp float) 0:33 No loop body 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'a' (temp highp int) +0:34 move second child to first child ( temp highp int) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 0 (const int) 0:34 Loop with condition tested first 0:34 Loop Condition -0:34 Compare Less Than (temp bool) -0:34 'a' (temp highp int) +0:34 Compare Less Than ( temp bool) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 10 (const int) 0:34 No loop body 0:34 Loop Terminal Expression -0:34 multiply second child into first child (temp highp int) -0:34 'a' (temp highp int) +0:34 multiply second child into first child ( temp highp int) +0:34 'a' ( temp highp int) 0:34 Constant: 0:34 2 (const int) 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'a' (temp highp int) +0:35 move second child to first child ( temp highp int) +0:35 'a' ( temp highp int) 0:35 Constant: 0:35 0 (const int) 0:35 Loop with condition tested first 0:35 Loop Condition -0:35 Compare Less Than or Equal (temp bool) -0:35 'a' (temp highp int) +0:35 Compare Less Than or Equal ( temp bool) +0:35 'a' ( temp highp int) 0:35 Constant: 0:35 20 (const int) 0:35 Loop Body -0:35 Pre-Decrement (temp highp int) -0:35 'a' (temp highp int) +0:35 Pre-Decrement ( temp highp int) +0:35 'a' ( temp highp int) 0:35 Loop Terminal Expression -0:35 Post-Increment (temp highp int) -0:35 'a' (temp highp int) +0:35 Post-Increment ( temp highp int) +0:35 'a' ( temp highp int) 0:36 Sequence 0:36 Sequence -0:36 move second child to first child (temp highp int) -0:36 'a' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 0 (const int) 0:36 Loop with condition tested first 0:36 Loop Condition -0:36 Compare Less Than or Equal (temp bool) -0:36 'a' (temp highp int) +0:36 Compare Less Than or Equal ( temp bool) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 20 (const int) 0:36 Loop Body 0:36 Sequence -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Equal (temp bool) -0:36 'ga' (global highp int) +0:36 Compare Equal ( temp bool) +0:36 'ga' ( global highp int) 0:36 Constant: 0:36 0 (const int) 0:36 true case -0:36 move second child to first child (temp highp int) -0:36 'a' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'a' ( temp highp int) 0:36 Constant: 0:36 4 (const int) 0:36 Loop Terminal Expression -0:36 Post-Increment (temp highp int) -0:36 'a' (temp highp int) +0:36 Post-Increment ( temp highp int) +0:36 'a' ( temp highp int) 0:37 Sequence 0:37 Sequence -0:37 move second child to first child (temp highp float) -0:37 'a' (temp highp float) +0:37 move second child to first child ( temp highp float) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 0.000000 0:37 Loop with condition tested first 0:37 Loop Condition -0:37 Compare Less Than or Equal (temp bool) -0:37 'a' (temp highp float) +0:37 Compare Less Than or Equal ( temp bool) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 20.000000 0:37 No loop body 0:37 Loop Terminal Expression -0:37 add second child into first child (temp highp float) -0:37 'a' (temp highp float) +0:37 add second child into first child ( temp highp float) +0:37 'a' ( temp highp float) 0:37 Constant: 0:37 2.000000 0:38 Sequence 0:38 Sequence -0:38 move second child to first child (temp highp float) -0:38 'a' (temp highp float) +0:38 move second child to first child ( temp highp float) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 0.000000 0:38 Loop with condition tested first 0:38 Loop Condition -0:38 Compare Not Equal (temp bool) -0:38 'a' (temp highp float) +0:38 Compare Not Equal ( temp bool) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 20.000000 0:38 Loop Body 0:38 Sequence -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Equal (temp bool) -0:38 'ga' (global highp int) +0:38 Compare Equal ( temp bool) +0:38 'ga' ( global highp int) 0:38 Constant: 0:38 0 (const int) 0:38 true case -0:38 move second child to first child (temp highp int) -0:38 'ga' (global highp int) +0:38 move second child to first child ( temp highp int) +0:38 'ga' ( global highp int) 0:38 Constant: 0:38 4 (const int) 0:38 Loop Terminal Expression -0:38 subtract second child into first child (temp highp float) -0:38 'a' (temp highp float) +0:38 subtract second child into first child ( temp highp float) +0:38 'a' ( temp highp float) 0:38 Constant: 0:38 2.000000 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp highp float) -0:39 'a' (temp highp float) +0:39 move second child to first child ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 0.000000 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Equal (temp bool) -0:39 'a' (temp highp float) +0:39 Compare Equal ( temp bool) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 20.000000 0:39 Loop Body 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp highp float) -0:39 'a' (temp highp float) +0:39 move second child to first child ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 0.000000 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Equal (temp bool) -0:39 'a' (temp highp float) +0:39 Compare Equal ( temp bool) +0:39 'a' ( temp highp float) 0:39 Constant: 0:39 20.000000 0:39 No loop body 0:39 Loop Terminal Expression -0:39 Post-Decrement (temp highp float) -0:39 'a' (temp highp float) +0:39 Post-Decrement ( temp highp float) +0:39 'a' ( temp highp float) 0:39 Loop Terminal Expression -0:39 Post-Decrement (temp highp float) -0:39 'a' (temp highp float) +0:39 Post-Decrement ( temp highp float) +0:39 'a' ( temp highp float) 0:40 Sequence 0:40 Sequence -0:40 move second child to first child (temp highp float) -0:40 'a' (temp highp float) +0:40 move second child to first child ( temp highp float) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 0.000000 0:40 Loop with condition tested first 0:40 Loop Condition -0:40 Compare Less Than or Equal (temp bool) -0:40 'a' (temp highp float) +0:40 Compare Less Than or Equal ( temp bool) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 20.000000 0:40 No loop body 0:40 Loop Terminal Expression -0:40 add second child into first child (temp highp float) -0:40 'a' (temp highp float) +0:40 add second child into first child ( temp highp float) +0:40 'a' ( temp highp float) 0:40 Constant: 0:40 2.000000 0:41 Sequence 0:41 Sequence -0:41 move second child to first child (temp highp float) -0:41 'a' (temp highp float) +0:41 move second child to first child ( temp highp float) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 0.000000 0:41 Loop with condition tested first 0:41 Loop Condition -0:41 Compare Less Than or Equal (temp bool) -0:41 'a' (temp highp float) +0:41 Compare Less Than or Equal ( temp bool) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 20.000000 0:41 No loop body 0:41 Loop Terminal Expression -0:41 add second child into first child (temp highp float) -0:41 'a' (temp highp float) +0:41 add second child into first child ( temp highp float) +0:41 'a' ( temp highp float) 0:41 Constant: 0:41 2.000000 0:42 Sequence 0:42 Sequence -0:42 move second child to first child (temp highp float) -0:42 'a' (temp highp float) +0:42 move second child to first child ( temp highp float) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 0.000000 0:42 Loop with condition tested first 0:42 Loop Condition -0:42 Compare Greater Than (temp bool) -0:42 'a' (temp highp float) +0:42 Compare Greater Than ( temp bool) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 40.000000 0:42 No loop body 0:42 Loop Terminal Expression -0:42 add second child into first child (temp highp float) -0:42 'a' (temp highp float) +0:42 add second child into first child ( temp highp float) +0:42 'a' ( temp highp float) 0:42 Constant: 0:42 2.000000 0:43 Sequence 0:43 Sequence -0:43 move second child to first child (temp highp float) -0:43 'a' (temp highp float) +0:43 move second child to first child ( temp highp float) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 0.000000 0:43 Loop with condition tested first 0:43 Loop Condition -0:43 Compare Greater Than or Equal (temp bool) -0:43 'a' (temp highp float) +0:43 Compare Greater Than or Equal ( temp bool) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 20.000000 0:43 Loop Body -0:43 Function Call: foo(f1; (global void) -0:43 'a' (temp highp float) +0:43 Function Call: foo(f1; ( global void) +0:43 'a' ( temp highp float) 0:43 Loop Terminal Expression -0:43 add second child into first child (temp highp float) -0:43 'a' (temp highp float) +0:43 add second child into first child ( temp highp float) +0:43 'a' ( temp highp float) 0:43 Constant: 0:43 2.000000 -0:47 indirect index (temp lowp sampler2D) -0:47 'fsa' (uniform 3-element array of lowp sampler2D) -0:47 'ga' (global highp int) -0:48 indirect index (temp highp float) -0:48 'fua' (uniform 10-element array of highp float) -0:48 'ga' (global highp int) -0:49 indirect index (temp highp 3-component vector of float) -0:49 'am3' (in highp 3X3 matrix of float) -0:49 'ga' (global highp int) -0:50 indirect index (temp highp float) -0:50 'av2' (in highp 2-component vector of float) -0:50 'ga' (global highp int) -0:51 indirect index (smooth temp highp 4-component vector of float) -0:51 'va' (smooth out 4-element array of highp 4-component vector of float) -0:51 add (temp highp int) +0:47 indirect index ( temp lowp sampler2D) +0:47 'fsa' ( uniform 3-element array of lowp sampler2D) +0:47 'ga' ( global highp int) +0:48 indirect index ( temp highp float) +0:48 'fua' ( uniform 10-element array of highp float) +0:48 'ga' ( global highp int) +0:49 indirect index ( temp highp 3-component vector of float) +0:49 'am3' ( in highp 3X3 matrix of float) +0:49 'ga' ( global highp int) +0:50 indirect index ( temp highp float) +0:50 'av2' ( in highp 2-component vector of float) +0:50 'ga' ( global highp int) +0:51 indirect index ( smooth temp highp 4-component vector of float) +0:51 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:51 add ( temp highp int) 0:51 Constant: 0:51 2 (const int) -0:51 'ga' (global highp int) -0:52 indirect index (temp highp 2-component vector of float) +0:51 'ga' ( global highp int) +0:52 indirect index ( temp highp 2-component vector of float) 0:52 Constant: 0:52 1.000000 0:52 0.000000 0:52 0.000000 0:52 1.000000 -0:52 'ga' (global highp int) -0:53 indirect index (temp highp float) +0:52 'ga' ( global highp int) +0:53 indirect index ( temp highp float) 0:53 Constant: 0:53 2.000000 0:53 2.000000 0:53 2.000000 -0:53 divide (temp highp int) -0:53 'ga' (global highp int) +0:53 divide ( temp highp int) +0:53 'ga' ( global highp int) 0:53 Constant: 0:53 2 (const int) -0:54 indirect index (temp highp int) -0:54 'ia' (temp 9-element array of highp int) -0:54 'ga' (global highp int) +0:54 indirect index ( temp highp int) +0:54 'ia' ( temp 9-element array of highp int) +0:54 'ga' ( global highp int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp int) -0:56 'a' (temp highp int) +0:56 move second child to first child ( temp highp int) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 3 (const int) 0:56 Loop with condition tested first 0:56 Loop Condition -0:56 Compare Greater Than or Equal (temp bool) -0:56 'a' (temp highp int) +0:56 Compare Greater Than or Equal ( temp bool) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 0 (const int) 0:56 Loop Body 0:57 Sequence -0:57 indirect index (temp lowp sampler2D) -0:57 'fsa' (uniform 3-element array of lowp sampler2D) -0:57 'a' (temp highp int) -0:58 indirect index (temp highp float) -0:58 'fua' (uniform 10-element array of highp float) -0:58 add (temp highp int) -0:58 'a' (temp highp int) +0:57 indirect index ( temp lowp sampler2D) +0:57 'fsa' ( uniform 3-element array of lowp sampler2D) +0:57 'a' ( temp highp int) +0:58 indirect index ( temp highp float) +0:58 'fua' ( uniform 10-element array of highp float) +0:58 add ( temp highp int) +0:58 'a' ( temp highp int) 0:58 Constant: 0:58 2 (const int) -0:59 indirect index (temp highp 3-component vector of float) -0:59 'am3' (in highp 3X3 matrix of float) -0:59 component-wise multiply (temp highp int) +0:59 indirect index ( temp highp 3-component vector of float) +0:59 'am3' ( in highp 3X3 matrix of float) +0:59 component-wise multiply ( temp highp int) 0:59 Constant: 0:59 3 (const int) -0:59 'a' (temp highp int) -0:60 indirect index (temp highp float) -0:60 'av2' (in highp 2-component vector of float) -0:60 component-wise multiply (temp highp int) +0:59 'a' ( temp highp int) +0:60 indirect index ( temp highp float) +0:60 'av2' ( in highp 2-component vector of float) +0:60 component-wise multiply ( temp highp int) 0:60 Constant: 0:60 3 (const int) -0:60 'a' (temp highp int) -0:61 indirect index (smooth temp highp 4-component vector of float) -0:61 'va' (smooth out 4-element array of highp 4-component vector of float) -0:61 subtract (temp highp int) -0:61 'a' (temp highp int) +0:60 'a' ( temp highp int) +0:61 indirect index ( smooth temp highp 4-component vector of float) +0:61 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:61 subtract ( temp highp int) +0:61 'a' ( temp highp int) 0:61 Constant: 0:61 1 (const int) -0:62 indirect index (temp highp 2-component vector of float) +0:62 indirect index ( temp highp 2-component vector of float) 0:62 Constant: 0:62 1.000000 0:62 0.000000 0:62 0.000000 0:62 1.000000 -0:62 divide (temp highp int) -0:62 'a' (temp highp int) +0:62 divide ( temp highp int) +0:62 'a' ( temp highp int) 0:62 Constant: 0:62 2 (const int) -0:63 indirect index (temp highp float) +0:63 indirect index ( temp highp float) 0:63 Constant: 0:63 2.000000 0:63 2.000000 0:63 2.000000 -0:63 'a' (temp highp int) -0:64 indirect index (temp highp int) -0:64 'ia' (temp 9-element array of highp int) -0:64 'a' (temp highp int) -0:65 indirect index (temp highp int) -0:65 'ia' (temp 9-element array of highp int) -0:65 Function Call: bar( (global highp int) +0:63 'a' ( temp highp int) +0:64 indirect index ( temp highp int) +0:64 'ia' ( temp 9-element array of highp int) +0:64 'a' ( temp highp int) +0:65 indirect index ( temp highp int) +0:65 'ia' ( temp 9-element array of highp int) +0:65 Function Call: bar( ( global highp int) 0:56 Loop Terminal Expression -0:56 Post-Decrement (temp highp int) -0:56 'a' (temp highp int) -0:68 direct index (temp lowp sampler2D) -0:68 'fsa' (uniform 3-element array of lowp sampler2D) +0:56 Post-Decrement ( temp highp int) +0:56 'a' ( temp highp int) +0:68 direct index ( temp lowp sampler2D) +0:68 'fsa' ( uniform 3-element array of lowp sampler2D) 0:68 Constant: 0:68 2 (const int) -0:69 direct index (temp highp float) -0:69 'fua' (uniform 10-element array of highp float) +0:69 direct index ( temp highp float) +0:69 'fua' ( uniform 10-element array of highp float) 0:69 Constant: 0:69 3 (const int) -0:70 direct index (temp highp 3-component vector of float) -0:70 'am3' (in highp 3X3 matrix of float) +0:70 direct index ( temp highp 3-component vector of float) +0:70 'am3' ( in highp 3X3 matrix of float) 0:70 Constant: 0:70 2 (const int) -0:71 direct index (temp highp float) -0:71 'av2' (in highp 2-component vector of float) +0:71 direct index ( temp highp float) +0:71 'av2' ( in highp 2-component vector of float) 0:71 Constant: 0:71 1 (const int) -0:72 direct index (smooth temp highp 4-component vector of float) -0:72 'va' (smooth out 4-element array of highp 4-component vector of float) +0:72 direct index ( smooth temp highp 4-component vector of float) +0:72 'va' ( smooth out 4-element array of highp 4-component vector of float) 0:72 Constant: 0:72 1 (const int) 0:73 Constant: @@ -864,25 +864,25 @@ Shader version: 100 0:73 1.000000 0:74 Constant: 0:74 2.000000 -0:75 direct index (temp highp int) -0:75 'ia' (temp 9-element array of highp int) +0:75 direct index ( temp highp int) +0:75 'ia' ( temp 9-element array of highp int) 0:75 Constant: 0:75 3 (const int) 0:? Linker Objects -0:? 'ga' (global highp int) -0:? 'gb' (global highp int) -0:? 'f' (global highp float) -0:? 'fsa' (uniform 3-element array of lowp sampler2D) -0:? 'fua' (uniform 10-element array of highp float) -0:? 'am3' (in highp 3X3 matrix of float) -0:? 'av2' (in highp 2-component vector of float) -0:? 'va' (smooth out 4-element array of highp 4-component vector of float) -0:? 'm2' (const highp 2X2 matrix of float) +0:? 'ga' ( global highp int) +0:? 'gb' ( global highp int) +0:? 'f' ( global highp float) +0:? 'fsa' ( uniform 3-element array of lowp sampler2D) +0:? 'fua' ( uniform 10-element array of highp float) +0:? 'am3' ( in highp 3X3 matrix of float) +0:? 'av2' ( in highp 2-component vector of float) +0:? 'va' ( smooth out 4-element array of highp 4-component vector of float) +0:? 'm2' ( const highp 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'v3' (const highp 3-component vector of float) +0:? 'v3' ( const highp 3-component vector of float) 0:? 2.000000 0:? 2.000000 0:? 2.000000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100scope.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100scope.vert.out index 17423dc2d94..c59c8fd7d39 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100scope.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/100scope.vert.out @@ -18,112 +18,112 @@ ERROR: 14 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global highp int) +0:3 Function Definition: f(i1;i1;i1; ( global highp int) 0:3 Function Parameters: -0:3 'a' (in highp int) -0:3 'b' (in highp int) -0:3 'c' (in highp int) +0:3 'a' ( in highp int) +0:3 'b' ( in highp int) +0:3 'c' ( in highp int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp highp float) -0:8 'a' (temp highp float) -0:8 add (temp highp float) -0:8 Convert int to float (temp highp float) -0:8 'a' (in highp int) +0:8 move second child to first child ( temp highp float) +0:8 'a' ( temp highp float) +0:8 add ( temp highp float) +0:8 Convert int to float ( temp highp float) +0:8 'a' ( in highp int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in highp int) -0:25 Function Definition: cos(f1; (global highp float) +0:11 'a' ( in highp int) +0:25 Function Definition: cos(f1; ( global highp float) 0:25 Function Parameters: -0:25 'x' (in highp float) +0:25 'x' ( in highp float) 0:27 Sequence 0:27 Branch: Return with expression 0:27 Constant: 0:27 1.000000 -0:29 Function Definition: radians(b1; (global bool) +0:29 Function Definition: radians(b1; ( global bool) 0:29 Function Parameters: -0:29 'x' (in bool) +0:29 'x' ( in bool) 0:31 Sequence 0:31 Branch: Return with expression 0:31 Constant: 0:31 true (const bool) -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp highp int) -0:42 'sin' (temp highp float) +0:39 Function Call: g( ( temp highp int) +0:42 'sin' ( temp highp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global highp int) +0:44 Function Call: f(i1;i1;i1; ( global highp int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp highp float) -0:47 'f' (temp highp float) +0:47 move second child to first child ( temp highp float) +0:47 'f' ( temp highp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position) -0:49 Construct vec4 (temp highp 4-component vector of float) -0:49 'f' (temp highp float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( invariant gl_Position highp 4-component vector of float Position) +0:49 Construct vec4 ( temp highp 4-component vector of float) +0:49 'f' ( temp highp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp highp int) -0:51 'f' (temp highp int) +0:51 move second child to first child ( temp highp int) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp highp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp highp int) -0:52 'f' (temp highp int) +0:52 Pre-Increment ( temp highp int) +0:52 'f' ( temp highp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp highp int) -0:51 'f' (temp highp int) +0:51 Pre-Increment ( temp highp int) +0:51 'f' ( temp highp int) 0:54 Sequence -0:54 move second child to first child (temp highp int) -0:54 'x' (temp highp int) +0:54 move second child to first child ( temp highp int) +0:54 'x' ( temp highp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'x' ( temp highp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp highp float) -0:56 'y' (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'y' ( temp highp float) +0:56 'x' ( temp highp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp highp int) -0:60 'x' (temp highp int) -0:60 'x' (temp highp int) +0:60 move second child to first child ( temp highp int) +0:60 'x' ( temp highp int) +0:60 'x' ( temp highp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp highp int x}) -0:68 'S' (temp structure{temp highp int x}) +0:68 move second child to first child ( temp structure{ temp highp int x}) +0:68 'S' ( temp structure{ temp highp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp highp int) -0:69 'S' (temp structure{temp highp int x}) +0:69 x: direct index for structure ( temp highp int) +0:69 'S' ( temp structure{ temp highp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'tan' (global highp float) -0:? 's' (smooth out structure{global highp float f}) +0:? 'b' ( global bool) +0:? 'tan' ( global highp float) +0:? 's' ( smooth out structure{ global highp float f}) Linked vertex stage: @@ -133,96 +133,96 @@ ERROR: Linking vertex stage: No function definition (body) found: Shader version: 100 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global highp int) +0:3 Function Definition: f(i1;i1;i1; ( global highp int) 0:3 Function Parameters: -0:3 'a' (in highp int) -0:3 'b' (in highp int) -0:3 'c' (in highp int) +0:3 'a' ( in highp int) +0:3 'b' ( in highp int) +0:3 'c' ( in highp int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp highp float) -0:8 'a' (temp highp float) -0:8 add (temp highp float) -0:8 Convert int to float (temp highp float) -0:8 'a' (in highp int) +0:8 move second child to first child ( temp highp float) +0:8 'a' ( temp highp float) +0:8 add ( temp highp float) +0:8 Convert int to float ( temp highp float) +0:8 'a' ( in highp int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in highp int) -0:36 Function Definition: main( (global void) +0:11 'a' ( in highp int) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp highp int) -0:42 'sin' (temp highp float) +0:39 Function Call: g( ( temp highp int) +0:42 'sin' ( temp highp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global highp int) +0:44 Function Call: f(i1;i1;i1; ( global highp int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp highp float) -0:47 'f' (temp highp float) +0:47 move second child to first child ( temp highp float) +0:47 'f' ( temp highp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position) -0:49 Construct vec4 (temp highp 4-component vector of float) -0:49 'f' (temp highp float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( invariant gl_Position highp 4-component vector of float Position) +0:49 Construct vec4 ( temp highp 4-component vector of float) +0:49 'f' ( temp highp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp highp int) -0:51 'f' (temp highp int) +0:51 move second child to first child ( temp highp int) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp highp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp highp int) -0:52 'f' (temp highp int) +0:52 Pre-Increment ( temp highp int) +0:52 'f' ( temp highp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp highp int) -0:51 'f' (temp highp int) +0:51 Pre-Increment ( temp highp int) +0:51 'f' ( temp highp int) 0:54 Sequence -0:54 move second child to first child (temp highp int) -0:54 'x' (temp highp int) +0:54 move second child to first child ( temp highp int) +0:54 'x' ( temp highp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'x' ( temp highp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp highp float) -0:56 'y' (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'y' ( temp highp float) +0:56 'x' ( temp highp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp highp int) -0:60 'x' (temp highp int) -0:60 'x' (temp highp int) +0:60 move second child to first child ( temp highp int) +0:60 'x' ( temp highp int) +0:60 'x' ( temp highp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp highp int x}) -0:68 'S' (temp structure{temp highp int x}) +0:68 move second child to first child ( temp structure{ temp highp int x}) +0:68 'S' ( temp structure{ temp highp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp highp int) -0:69 'S' (temp structure{temp highp int x}) +0:69 x: direct index for structure ( temp highp int) +0:69 'S' ( temp structure{ temp highp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'tan' (global highp float) -0:? 's' (smooth out structure{global highp float f}) +0:? 'b' ( global bool) +0:? 'tan' ( global highp float) +0:? 's' ( smooth out structure{ global highp float f}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/110scope.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/110scope.vert.out index 74002ba72b0..a07de4fb3c8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/110scope.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/110scope.vert.out @@ -7,125 +7,125 @@ ERROR: 3 compilation errors. No code generated. Shader version: 110 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global int) +0:3 Function Definition: f(i1;i1;i1; ( global int) 0:3 Function Parameters: -0:3 'a' (in int) -0:3 'b' (in int) -0:3 'c' (in int) +0:3 'a' ( in int) +0:3 'b' ( in int) +0:3 'c' ( in int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'a' (temp float) -0:8 add (temp float) -0:8 Convert int to float (temp float) -0:8 'a' (in int) +0:8 move second child to first child ( temp float) +0:8 'a' ( temp float) +0:8 add ( temp float) +0:8 Convert int to float ( temp float) +0:8 'a' ( in int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in int) -0:25 Function Definition: cos(f1; (global float) +0:11 'a' ( in int) +0:25 Function Definition: cos(f1; ( global float) 0:25 Function Parameters: -0:25 'x' (in float) +0:25 'x' ( in float) 0:27 Sequence 0:27 Branch: Return with expression 0:27 Constant: 0:27 1.000000 -0:29 Function Definition: radians(b1; (global bool) +0:29 Function Definition: radians(b1; ( global bool) 0:29 Function Parameters: -0:29 'x' (in bool) +0:29 'x' ( in bool) 0:31 Sequence 0:31 Branch: Return with expression 0:31 Constant: 0:31 true (const bool) 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'gi' (global int) -0:34 Function Call: f(i1;i1;i1; (global int) +0:34 move second child to first child ( temp int) +0:34 'gi' ( global int) +0:34 Function Call: f(i1;i1;i1; ( global int) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 2 (const int) 0:34 Constant: 0:34 3 (const int) -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp int) -0:42 'sin' (temp float) -0:43 Function Call: sin(f1; (global float) +0:39 Function Call: g( ( temp int) +0:42 'sin' ( temp float) +0:43 Function Call: sin(f1; ( global float) 0:43 Constant: 0:43 0.700000 -0:44 Function Call: f(i1;i1;i1; (global int) +0:44 Function Call: f(i1;i1;i1; ( global int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp float) -0:47 'f' (temp float) +0:47 move second child to first child ( temp float) +0:47 'f' ( temp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 'gl_Position' (gl_Position 4-component vector of float Position) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 'f' (temp float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'gl_Position' ( gl_Position 4-component vector of float Position) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 'f' ( temp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp int) -0:51 'f' (temp int) +0:51 move second child to first child ( temp int) +0:51 'f' ( temp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp int) -0:52 'f' (temp int) +0:52 Pre-Increment ( temp int) +0:52 'f' ( temp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp int) -0:51 'f' (temp int) +0:51 Pre-Increment ( temp int) +0:51 'f' ( temp int) 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'x' (temp int) +0:54 move second child to first child ( temp int) +0:54 'x' ( temp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'x' ( temp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp float) -0:56 'y' (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'y' ( temp float) +0:56 'x' ( temp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'x' (temp int) -0:60 'x' (temp int) +0:60 move second child to first child ( temp int) +0:60 'x' ( temp int) +0:60 'x' ( temp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp int x}) -0:68 'S' (temp structure{temp int x}) +0:68 move second child to first child ( temp structure{ temp int x}) +0:68 'S' ( temp structure{ temp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp int) -0:69 'S' (temp structure{temp int x}) +0:69 x: direct index for structure ( temp int) +0:69 'S' ( temp structure{ temp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 183.346494 0:? Linker Objects -0:? 'b' (global bool) -0:? 'c' (global bool) -0:? 'f' (global float) -0:? 'tan' (global float) -0:? 'gi' (global int) +0:? 'b' ( global bool) +0:? 'c' ( global bool) +0:? 'f' ( global float) +0:? 'tan' ( global float) +0:? 'gi' ( global int) Linked vertex stage: @@ -137,109 +137,109 @@ ERROR: Linking vertex stage: No function definition (body) found: Shader version: 110 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global int) +0:3 Function Definition: f(i1;i1;i1; ( global int) 0:3 Function Parameters: -0:3 'a' (in int) -0:3 'b' (in int) -0:3 'c' (in int) +0:3 'a' ( in int) +0:3 'b' ( in int) +0:3 'c' ( in int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'a' (temp float) -0:8 add (temp float) -0:8 Convert int to float (temp float) -0:8 'a' (in int) +0:8 move second child to first child ( temp float) +0:8 'a' ( temp float) +0:8 add ( temp float) +0:8 Convert int to float ( temp float) +0:8 'a' ( in int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in int) +0:11 'a' ( in int) 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'gi' (global int) -0:34 Function Call: f(i1;i1;i1; (global int) +0:34 move second child to first child ( temp int) +0:34 'gi' ( global int) +0:34 Function Call: f(i1;i1;i1; ( global int) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 2 (const int) 0:34 Constant: 0:34 3 (const int) -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp int) -0:42 'sin' (temp float) -0:43 Function Call: sin(f1; (global float) +0:39 Function Call: g( ( temp int) +0:42 'sin' ( temp float) +0:43 Function Call: sin(f1; ( global float) 0:43 Constant: 0:43 0.700000 -0:44 Function Call: f(i1;i1;i1; (global int) +0:44 Function Call: f(i1;i1;i1; ( global int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp float) -0:47 'f' (temp float) +0:47 move second child to first child ( temp float) +0:47 'f' ( temp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 'gl_Position' (gl_Position 4-component vector of float Position) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 'f' (temp float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'gl_Position' ( gl_Position 4-component vector of float Position) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 'f' ( temp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp int) -0:51 'f' (temp int) +0:51 move second child to first child ( temp int) +0:51 'f' ( temp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp int) -0:52 'f' (temp int) +0:52 Pre-Increment ( temp int) +0:52 'f' ( temp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp int) -0:51 'f' (temp int) +0:51 Pre-Increment ( temp int) +0:51 'f' ( temp int) 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'x' (temp int) +0:54 move second child to first child ( temp int) +0:54 'x' ( temp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'x' ( temp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp float) -0:56 'y' (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'y' ( temp float) +0:56 'x' ( temp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'x' (temp int) -0:60 'x' (temp int) +0:60 move second child to first child ( temp int) +0:60 'x' ( temp int) +0:60 'x' ( temp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp int x}) -0:68 'S' (temp structure{temp int x}) +0:68 move second child to first child ( temp structure{ temp int x}) +0:68 'S' ( temp structure{ temp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp int) -0:69 'S' (temp structure{temp int x}) +0:69 x: direct index for structure ( temp int) +0:69 'S' ( temp structure{ temp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 183.346494 0:? Linker Objects -0:? 'b' (global bool) -0:? 'c' (global bool) -0:? 'f' (global float) -0:? 'tan' (global float) -0:? 'gi' (global int) +0:? 'b' ( global bool) +0:? 'c' ( global bool) +0:? 'f' ( global float) +0:? 'tan' ( global float) +0:? 'gi' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.frag.out index 5028b751404..6a635ecd85a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.frag.out @@ -1,20 +1,20 @@ 120.frag ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions -ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp 2-component vector of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion) -ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion) -ERROR: 0:56: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'smooth in 4-component vector of float' (or there is no acceptable conversion) -ERROR: 0:57: '=' : cannot convert from 'const float' to 'temp int' -ERROR: 0:58: 'assign' : cannot convert from 'temp bool' to 'temp float' -ERROR: 0:59: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'temp bool' (or there is no acceptable conversion) -ERROR: 0:60: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp int' (or there is no acceptable conversion) -ERROR: 0:60: 'assign' : cannot convert from 'temp bool' to 'temp float' -ERROR: 0:61: 'assign' : cannot convert from 'temp int' to 'temp bool' -ERROR: 0:62: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp float' (or there is no acceptable conversion) +ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp 2-component vector of float' and a right operand of type ' temp 3-component vector of float' (or there is no acceptable conversion) +ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type ' uniform 4X2 matrix of float' and a right operand of type ' temp 3-component vector of float' (or there is no acceptable conversion) +ERROR: 0:56: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' uniform 4X2 matrix of float' and a right operand of type ' smooth in 4-component vector of float' (or there is no acceptable conversion) +ERROR: 0:57: '=' : cannot convert from ' const float' to ' temp int' +ERROR: 0:58: 'assign' : cannot convert from ' temp bool' to ' temp float' +ERROR: 0:59: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp int' and a right operand of type ' temp bool' (or there is no acceptable conversion) +ERROR: 0:60: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp int' (or there is no acceptable conversion) +ERROR: 0:60: 'assign' : cannot convert from ' temp bool' to ' temp float' +ERROR: 0:61: 'assign' : cannot convert from ' temp int' to ' temp bool' +ERROR: 0:62: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp float' (or there is no acceptable conversion) ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled extensions -ERROR: 0:63: 'assign' : cannot convert from 'temp bool' to 'temp float' -ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion) -ERROR: 0:79: 'assign' : cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor' +ERROR: 0:63: 'assign' : cannot convert from ' temp bool' to ' temp float' +ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp 4-component vector of float' and a right operand of type ' temp 4X4 matrix of float' (or there is no acceptable conversion) +ERROR: 0:79: 'assign' : cannot convert from ' temp 4X4 matrix of float' to ' fragColor 4-component vector of float FragColor' ERROR: 0:82: 'xr' : vector swizzle selectors not from the same set ERROR: 0:83: 'xyxyx' : vector swizzle too long ERROR: 0:84: 'z' : vector swizzle selection out of range @@ -29,17 +29,17 @@ ERROR: 0:99: 'return' : type does not match, or is not convertible to, the funct ERROR: 0:115: 'return' : void function cannot return a value ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size ERROR: 0:152: 'matrixCompMult' : no matching overloaded function found -ERROR: 0:152: '=' : cannot convert from 'const float' to 'temp 3X2 matrix of float' +ERROR: 0:152: '=' : cannot convert from ' const float' to ' temp 3X2 matrix of float' ERROR: 0:153: 'matrixCompMult' : no matching overloaded function found -ERROR: 0:153: '=' : cannot convert from 'const float' to 'temp 3X4 matrix of float' +ERROR: 0:153: '=' : cannot convert from ' const float' to ' temp 3X4 matrix of float' ERROR: 0:160: 'constructor' : not enough data provided for construction -ERROR: 0:160: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float' +ERROR: 0:160: '=' : cannot convert from ' const float' to ' temp 4X4 matrix of float' ERROR: 0:161: 'constructor' : too many arguments -ERROR: 0:161: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float' +ERROR: 0:161: '=' : cannot convert from ' const float' to ' temp 4X4 matrix of float' ERROR: 0:165: 'constructor' : matrix constructed from matrix can only have one argument ERROR: 0:166: 'constructor' : matrix constructed from matrix can only have one argument ERROR: 0:172: 'constructor' : array constructor needs one argument per array element -ERROR: 0:172: '=' : cannot convert from 'const float' to 'temp 2-element array of 3X3 matrix of float' +ERROR: 0:172: '=' : cannot convert from ' const float' to ' temp 2-element array of 3X3 matrix of float' ERROR: 0:184: 'texture2DLod' : required extension not requested: GL_ARB_shader_texture_lod ERROR: 0:185: 'texture3DProjLod' : required extension not requested: GL_ARB_shader_texture_lod ERROR: 0:186: 'texture1DProjLod' : required extension not requested: GL_ARB_shader_texture_lod @@ -48,212 +48,213 @@ ERROR: 0:189: 'texture1DGradARB' : required extension not requested: GL_ARB_shad ERROR: 0:190: 'texture2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod ERROR: 0:191: 'shadow2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod ERROR: 0:209: 'shadow2DRectProjGradARB' : no matching overloaded function found -ERROR: 0:209: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float' +ERROR: 0:209: 'assign' : cannot convert from ' const float' to ' temp 4-component vector of float' ERROR: 0:212: 'sampler2DRect' : Reserved word. -ERROR: 0:244: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'global void' and a right operand of type 'const int' (or there is no acceptable conversion) -ERROR: 0:245: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'const int' and a right operand of type 'global void' (or there is no acceptable conversion) -ERROR: 53 compilation errors. No code generated. +ERROR: 0:244: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' global void' and a right operand of type ' const int' (or there is no acceptable conversion) +ERROR: 0:245: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' const int' and a right operand of type ' global void' (or there is no acceptable conversion) +ERROR: 0:248: '' : syntax error +ERROR: 54 compilation errors. No code generated. Shader version: 120 Requested GL_ARB_shader_texture_lod Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! -0:21 Function Definition: main( (global void) +0:21 Function Definition: main( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp 2X3 matrix of float) -0:23 'm23' (temp 2X3 matrix of float) -0:23 Construct mat2x3 (temp 2X3 matrix of float) -0:23 'm' (uniform 4X2 matrix of float) +0:23 move second child to first child ( temp 2X3 matrix of float) +0:23 'm23' ( temp 2X3 matrix of float) +0:23 Construct mat2x3 ( temp 2X3 matrix of float) +0:23 'm' ( uniform 4X2 matrix of float) 0:27 Sequence -0:27 move second child to first child (temp structure{global float f}) -0:27 'sv' (temp structure{global float f}) -0:27 Construct structure (temp structure{global float f}) -0:27 Convert int to float (temp float) -0:27 'a' (temp int) +0:27 move second child to first child ( temp structure{ global float f}) +0:27 'sv' ( temp structure{ global float f}) +0:27 Construct structure ( temp structure{ global float f}) +0:27 Convert int to float ( temp float) +0:27 'a' ( temp int) 0:28 Sequence -0:28 move second child to first child (temp 2-element array of float) -0:28 'ia' (temp 2-element array of float) -0:28 Construct float (temp 2-element array of float) +0:28 move second child to first child ( temp 2-element array of float) +0:28 'ia' ( temp 2-element array of float) +0:28 Construct float ( temp 2-element array of float) 0:28 Constant: 0:28 3.000000 -0:28 direct index (temp float) -0:28 'i' (smooth in 4-component vector of float) +0:28 direct index ( temp float) +0:28 'i' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 1 (const int) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'f1' (temp float) +0:29 move second child to first child ( temp float) +0:29 'f1' ( temp float) 0:29 Constant: 0:29 1.000000 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'f' (temp float) -0:30 Convert int to float (temp float) -0:30 'a' (temp int) -0:31 move second child to first child (temp float) -0:31 'f' (temp float) -0:31 Convert int to float (temp float) -0:31 'a' (temp int) +0:30 move second child to first child ( temp float) +0:30 'f' ( temp float) +0:30 Convert int to float ( temp float) +0:30 'a' ( temp int) +0:31 move second child to first child ( temp float) +0:31 'f' ( temp float) +0:31 Convert int to float ( temp float) +0:31 'a' ( temp int) 0:33 Sequence -0:33 move second child to first child (temp 3-component vector of float) -0:33 'v3' (temp 3-component vector of float) -0:33 Convert int to float (temp 3-component vector of float) -0:33 'iv3' (temp 3-component vector of int) -0:34 move second child to first child (temp float) -0:34 'f' (temp float) -0:34 add (temp float) -0:34 'f' (temp float) -0:34 Convert int to float (temp float) -0:34 'a' (temp int) -0:35 move second child to first child (temp float) -0:35 'f' (temp float) -0:35 subtract (temp float) -0:35 Convert int to float (temp float) -0:35 'a' (temp int) -0:35 'f' (temp float) -0:36 add second child into first child (temp float) -0:36 'f' (temp float) -0:36 Convert int to float (temp float) -0:36 'a' (temp int) -0:37 move second child to first child (temp float) -0:37 'f' (temp float) -0:37 subtract (temp float) -0:37 Convert int to float (temp float) -0:37 'a' (temp int) -0:37 'f' (temp float) -0:38 multiply second child into first child (temp 3-component vector of float) -0:38 'v3' (temp 3-component vector of float) -0:38 Convert int to float (temp 3-component vector of float) -0:38 'iv3' (temp 3-component vector of int) -0:39 move second child to first child (temp 3-component vector of float) -0:39 'v3' (temp 3-component vector of float) -0:39 divide (temp 3-component vector of float) -0:39 Convert int to float (temp 3-component vector of float) -0:39 'iv3' (temp 3-component vector of int) +0:33 move second child to first child ( temp 3-component vector of float) +0:33 'v3' ( temp 3-component vector of float) +0:33 Convert int to float ( temp 3-component vector of float) +0:33 'iv3' ( temp 3-component vector of int) +0:34 move second child to first child ( temp float) +0:34 'f' ( temp float) +0:34 add ( temp float) +0:34 'f' ( temp float) +0:34 Convert int to float ( temp float) +0:34 'a' ( temp int) +0:35 move second child to first child ( temp float) +0:35 'f' ( temp float) +0:35 subtract ( temp float) +0:35 Convert int to float ( temp float) +0:35 'a' ( temp int) +0:35 'f' ( temp float) +0:36 add second child into first child ( temp float) +0:36 'f' ( temp float) +0:36 Convert int to float ( temp float) +0:36 'a' ( temp int) +0:37 move second child to first child ( temp float) +0:37 'f' ( temp float) +0:37 subtract ( temp float) +0:37 Convert int to float ( temp float) +0:37 'a' ( temp int) +0:37 'f' ( temp float) +0:38 multiply second child into first child ( temp 3-component vector of float) +0:38 'v3' ( temp 3-component vector of float) +0:38 Convert int to float ( temp 3-component vector of float) +0:38 'iv3' ( temp 3-component vector of int) +0:39 move second child to first child ( temp 3-component vector of float) +0:39 'v3' ( temp 3-component vector of float) +0:39 divide ( temp 3-component vector of float) +0:39 Convert int to float ( temp 3-component vector of float) +0:39 'iv3' ( temp 3-component vector of int) 0:39 Constant: 0:39 2.000000 -0:40 move second child to first child (temp 3-component vector of float) -0:40 'v3' (temp 3-component vector of float) -0:40 vector-scale (temp 3-component vector of float) +0:40 move second child to first child ( temp 3-component vector of float) +0:40 'v3' ( temp 3-component vector of float) +0:40 vector-scale ( temp 3-component vector of float) 0:40 Constant: 0:40 3.000000 -0:40 Convert int to float (temp 3-component vector of float) -0:40 'iv3' (temp 3-component vector of int) -0:41 move second child to first child (temp 3-component vector of float) -0:41 'v3' (temp 3-component vector of float) -0:41 vector-scale (temp 3-component vector of float) +0:40 Convert int to float ( temp 3-component vector of float) +0:40 'iv3' ( temp 3-component vector of int) +0:41 move second child to first child ( temp 3-component vector of float) +0:41 'v3' ( temp 3-component vector of float) +0:41 vector-scale ( temp 3-component vector of float) 0:41 Constant: 0:41 2.000000 -0:41 'v3' (temp 3-component vector of float) -0:42 move second child to first child (temp 3-component vector of float) -0:42 'v3' (temp 3-component vector of float) -0:42 subtract (temp 3-component vector of float) -0:42 'v3' (temp 3-component vector of float) +0:41 'v3' ( temp 3-component vector of float) +0:42 move second child to first child ( temp 3-component vector of float) +0:42 'v3' ( temp 3-component vector of float) +0:42 subtract ( temp 3-component vector of float) +0:42 'v3' ( temp 3-component vector of float) 0:42 Constant: 0:42 2.000000 -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition -0:47 logical-or (temp bool) -0:46 logical-or (temp bool) -0:45 logical-or (temp bool) -0:44 logical-or (temp bool) -0:43 logical-or (temp bool) -0:43 Compare Less Than (temp bool) -0:43 'f' (temp float) -0:43 Convert int to float (temp float) -0:43 'a' (temp int) -0:44 Compare Less Than or Equal (temp bool) -0:44 Convert int to float (temp float) -0:44 'a' (temp int) -0:44 'f' (temp float) -0:45 Compare Greater Than (temp bool) -0:45 'f' (temp float) -0:45 Convert int to float (temp float) -0:45 'a' (temp int) -0:46 Compare Greater Than or Equal (temp bool) -0:46 'f' (temp float) -0:46 Convert int to float (temp float) -0:46 'a' (temp int) -0:47 Compare Equal (temp bool) -0:47 Convert int to float (temp float) -0:47 'a' (temp int) -0:47 'f' (temp float) -0:48 Compare Not Equal (temp bool) -0:48 'f' (temp float) -0:48 Convert int to float (temp float) -0:48 'a' (temp int) +0:47 logical-or ( temp bool) +0:46 logical-or ( temp bool) +0:45 logical-or ( temp bool) +0:44 logical-or ( temp bool) +0:43 logical-or ( temp bool) +0:43 Compare Less Than ( temp bool) +0:43 'f' ( temp float) +0:43 Convert int to float ( temp float) +0:43 'a' ( temp int) +0:44 Compare Less Than or Equal ( temp bool) +0:44 Convert int to float ( temp float) +0:44 'a' ( temp int) +0:44 'f' ( temp float) +0:45 Compare Greater Than ( temp bool) +0:45 'f' ( temp float) +0:45 Convert int to float ( temp float) +0:45 'a' ( temp int) +0:46 Compare Greater Than or Equal ( temp bool) +0:46 'f' ( temp float) +0:46 Convert int to float ( temp float) +0:46 'a' ( temp int) +0:47 Compare Equal ( temp bool) +0:47 Convert int to float ( temp float) +0:47 'a' ( temp int) +0:47 'f' ( temp float) +0:48 Compare Not Equal ( temp bool) +0:48 'f' ( temp float) +0:48 Convert int to float ( temp float) +0:48 'a' ( temp int) 0:43 true case is null -0:49 move second child to first child (temp float) -0:49 'f' (temp float) -0:49 Test condition and select (temp float) +0:49 move second child to first child ( temp float) +0:49 'f' ( temp float) +0:49 Test condition and select ( temp float) 0:49 Condition -0:49 'b' (temp bool) +0:49 'b' ( temp bool) 0:49 true case -0:49 Convert int to float (temp float) -0:49 'a' (temp int) +0:49 Convert int to float ( temp float) +0:49 'a' ( temp int) 0:49 false case -0:49 'f' (temp float) -0:50 move second child to first child (temp float) -0:50 'f' (temp float) -0:50 Test condition and select (temp float) +0:49 'f' ( temp float) +0:50 move second child to first child ( temp float) +0:50 'f' ( temp float) +0:50 Test condition and select ( temp float) 0:50 Condition -0:50 'b' (temp bool) +0:50 'b' ( temp bool) 0:50 true case -0:50 'f' (temp float) +0:50 'f' ( temp float) 0:50 false case -0:50 Convert int to float (temp float) -0:50 'a' (temp int) -0:51 move second child to first child (temp float) -0:51 'f' (temp float) -0:51 Convert int to float (temp float) -0:51 Test condition and select (temp int) +0:50 Convert int to float ( temp float) +0:50 'a' ( temp int) +0:51 move second child to first child ( temp float) +0:51 'f' ( temp float) +0:51 Convert int to float ( temp float) +0:51 Test condition and select ( temp int) 0:51 Condition -0:51 'b' (temp bool) +0:51 'b' ( temp bool) 0:51 true case -0:51 'a' (temp int) +0:51 'a' ( temp int) 0:51 false case -0:51 'a' (temp int) +0:51 'a' ( temp int) 0:52 Sequence -0:52 move second child to first child (temp structure{global float f}) -0:52 'news' (temp structure{global float f}) -0:52 'sv' (temp structure{global float f}) -0:54 vector swizzle (temp 2-component vector of float) -0:54 'i' (smooth in 4-component vector of float) +0:52 move second child to first child ( temp structure{ global float f}) +0:52 'news' ( temp structure{ global float f}) +0:52 'sv' ( temp structure{ global float f}) +0:54 vector swizzle ( temp 2-component vector of float) +0:54 'i' ( smooth in 4-component vector of float) 0:54 Sequence 0:54 Constant: 0:54 0 (const int) 0:54 Constant: 0:54 1 (const int) -0:55 'm' (uniform 4X2 matrix of float) -0:56 'm' (uniform 4X2 matrix of float) -0:58 'f' (temp float) -0:59 move second child to first child (temp float) -0:59 'f' (temp float) -0:59 Convert int to float (temp float) -0:59 'a' (temp int) -0:60 'f' (temp float) -0:61 'b' (temp bool) -0:62 move second child to first child (temp bool) -0:62 'b' (temp bool) -0:62 'b' (temp bool) -0:63 'f' (temp float) -0:65 move second child to first child (temp 4-component vector of float) -0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:65 texture (global 4-component vector of float) -0:65 's2D' (uniform sampler2D) -0:65 'centTexCoord' (centroid smooth in 2-component vector of float) +0:55 'm' ( uniform 4X2 matrix of float) +0:56 'm' ( uniform 4X2 matrix of float) +0:58 'f' ( temp float) +0:59 move second child to first child ( temp float) +0:59 'f' ( temp float) +0:59 Convert int to float ( temp float) +0:59 'a' ( temp int) +0:60 'f' ( temp float) +0:61 'b' ( temp bool) +0:62 move second child to first child ( temp bool) +0:62 'b' ( temp bool) +0:62 'b' ( temp bool) +0:63 'f' ( temp float) +0:65 move second child to first child ( temp 4-component vector of float) +0:65 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:65 texture ( global 4-component vector of float) +0:65 's2D' ( uniform sampler2D) +0:65 'centTexCoord' ( centroid smooth in 2-component vector of float) 0:? Sequence -0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:82 direct index (temp float) -0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:79 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:82 direct index ( temp float) +0:82 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:82 Constant: 0:82 0 (const int) -0:83 vector swizzle (temp 2-component vector of float) -0:83 vector swizzle (temp 4-component vector of float) -0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:83 vector swizzle ( temp 2-component vector of float) +0:83 vector swizzle ( temp 4-component vector of float) +0:83 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:83 Sequence 0:83 Constant: 0:83 0 (const int) @@ -268,49 +269,49 @@ ERROR: node is still EOpNull! 0:83 0 (const int) 0:83 Constant: 0:83 1 (const int) -0:84 direct index (temp float) -0:84 'centTexCoord' (centroid smooth in 2-component vector of float) +0:84 direct index ( temp float) +0:84 'centTexCoord' ( centroid smooth in 2-component vector of float) 0:84 Constant: 0:84 0 (const int) -0:85 move second child to first child (temp bool) -0:85 Comma (temp bool) -0:85 'a' (temp int) -0:85 'b' (temp bool) +0:85 move second child to first child ( temp bool) +0:85 Comma ( temp bool) +0:85 'a' ( temp int) +0:85 'b' ( temp bool) 0:85 Constant: 0:85 true (const bool) -0:91 Function Definition: main( (global int) +0:91 Function Definition: main( ( global int) 0:91 Function Parameters: -0:92 Function Definition: main(i1; (global void) +0:92 Function Definition: main(i1; ( global void) 0:92 Function Parameters: -0:92 'a' (in int) -0:97 Function Definition: foo(f1; (global int) +0:92 'a' ( in int) +0:97 Function Definition: foo(f1; ( global int) 0:97 Function Parameters: -0:97 'a' (out float) +0:97 'a' ( out float) 0:99 Sequence 0:99 Branch: Return with expression 0:99 Constant: 0:99 3.200000 -0:100 Function Call: foo(f1; (global int) -0:100 'a' (out float) -0:103 Function Definition: gen(vf3; (global bool) +0:100 Function Call: foo(f1; ( global int) +0:100 'a' ( out float) +0:103 Function Definition: gen(vf3; ( global bool) 0:103 Function Parameters: -0:103 'v' (in 3-component vector of float) +0:103 'v' ( in 3-component vector of float) 0:105 Sequence -0:105 Test condition and select (temp void) +0:105 Test condition and select ( temp void) 0:105 Condition -0:105 logical-and (temp bool) -0:105 Compare Less Than (temp bool) -0:105 Absolute value (global float) -0:105 direct index (temp float) -0:105 'v' (in 3-component vector of float) +0:105 logical-and ( temp bool) +0:105 Compare Less Than ( temp bool) +0:105 Absolute value ( global float) +0:105 direct index ( temp float) +0:105 'v' ( in 3-component vector of float) 0:105 Constant: 0:105 0 (const int) 0:105 Constant: 0:105 0.000100 -0:105 Compare Less Than (temp bool) -0:105 Absolute value (global float) -0:105 direct index (temp float) -0:105 'v' (in 3-component vector of float) +0:105 Compare Less Than ( temp bool) +0:105 Absolute value ( global float) +0:105 direct index ( temp float) +0:105 'v' ( in 3-component vector of float) 0:105 Constant: 0:105 1 (const int) 0:105 Constant: @@ -319,332 +320,333 @@ ERROR: node is still EOpNull! 0:106 Branch: Return with expression 0:106 Constant: 0:106 true (const bool) -0:109 Function Definition: v1( (global void) +0:109 Function Definition: v1( ( global void) 0:109 Function Parameters: -0:113 Function Definition: v2( (global void) +0:113 Function Definition: v2( ( global void) 0:113 Function Parameters: 0:115 Sequence 0:115 Branch: Return -0:118 Function Definition: atest( (global void) +0:118 Function Definition: atest( ( global void) 0:118 Function Parameters: 0:120 Sequence 0:120 Sequence -0:120 move second child to first child (temp 4-component vector of float) -0:120 'v' (temp 4-component vector of float) -0:120 direct index (smooth temp 4-component vector of float TexCoord) -0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:120 move second child to first child ( temp 4-component vector of float) +0:120 'v' ( temp 4-component vector of float) +0:120 direct index ( smooth temp 4-component vector of float TexCoord) +0:120 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:120 Constant: 0:120 1 (const int) -0:121 add second child into first child (temp 4-component vector of float) -0:121 'v' (temp 4-component vector of float) -0:121 direct index (smooth temp 4-component vector of float TexCoord) -0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:121 add second child into first child ( temp 4-component vector of float) +0:121 'v' ( temp 4-component vector of float) +0:121 direct index ( smooth temp 4-component vector of float TexCoord) +0:121 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:121 Constant: 0:121 3 (const int) -0:139 Function Definition: foo123( (global void) +0:139 Function Definition: foo123( ( global void) 0:139 Function Parameters: 0:141 Sequence 0:141 Sequence -0:141 move second child to first child (temp 2X2 matrix of float) -0:141 'r2' (temp 2X2 matrix of float) -0:141 component-wise multiply (global 2X2 matrix of float) -0:141 'm22' (global 2X2 matrix of float) -0:141 'm22' (global 2X2 matrix of float) +0:141 move second child to first child ( temp 2X2 matrix of float) +0:141 'r2' ( temp 2X2 matrix of float) +0:141 component-wise multiply ( global 2X2 matrix of float) +0:141 'm22' ( global 2X2 matrix of float) +0:141 'm22' ( global 2X2 matrix of float) 0:142 Sequence -0:142 move second child to first child (temp 3X3 matrix of float) -0:142 'r3' (temp 3X3 matrix of float) -0:142 component-wise multiply (global 3X3 matrix of float) -0:142 'm33' (global 3X3 matrix of float) -0:142 'm33' (global 3X3 matrix of float) +0:142 move second child to first child ( temp 3X3 matrix of float) +0:142 'r3' ( temp 3X3 matrix of float) +0:142 component-wise multiply ( global 3X3 matrix of float) +0:142 'm33' ( global 3X3 matrix of float) +0:142 'm33' ( global 3X3 matrix of float) 0:143 Sequence -0:143 move second child to first child (temp 4X4 matrix of float) -0:143 'r4' (temp 4X4 matrix of float) -0:143 component-wise multiply (global 4X4 matrix of float) -0:143 'm44' (global 4X4 matrix of float) -0:143 'm44' (global 4X4 matrix of float) +0:143 move second child to first child ( temp 4X4 matrix of float) +0:143 'r4' ( temp 4X4 matrix of float) +0:143 component-wise multiply ( global 4X4 matrix of float) +0:143 'm44' ( global 4X4 matrix of float) +0:143 'm44' ( global 4X4 matrix of float) 0:145 Sequence -0:145 move second child to first child (temp 2X3 matrix of float) -0:145 'r23' (temp 2X3 matrix of float) -0:145 component-wise multiply (global 2X3 matrix of float) -0:145 'm23' (global 2X3 matrix of float) -0:145 'm23' (global 2X3 matrix of float) +0:145 move second child to first child ( temp 2X3 matrix of float) +0:145 'r23' ( temp 2X3 matrix of float) +0:145 component-wise multiply ( global 2X3 matrix of float) +0:145 'm23' ( global 2X3 matrix of float) +0:145 'm23' ( global 2X3 matrix of float) 0:146 Sequence -0:146 move second child to first child (temp 2X4 matrix of float) -0:146 'r24' (temp 2X4 matrix of float) -0:146 component-wise multiply (global 2X4 matrix of float) -0:146 'm24' (global 2X4 matrix of float) -0:146 'm24' (global 2X4 matrix of float) +0:146 move second child to first child ( temp 2X4 matrix of float) +0:146 'r24' ( temp 2X4 matrix of float) +0:146 component-wise multiply ( global 2X4 matrix of float) +0:146 'm24' ( global 2X4 matrix of float) +0:146 'm24' ( global 2X4 matrix of float) 0:147 Sequence -0:147 move second child to first child (temp 3X2 matrix of float) -0:147 'r32' (temp 3X2 matrix of float) -0:147 component-wise multiply (global 3X2 matrix of float) -0:147 'm32' (global 3X2 matrix of float) -0:147 'm32' (global 3X2 matrix of float) +0:147 move second child to first child ( temp 3X2 matrix of float) +0:147 'r32' ( temp 3X2 matrix of float) +0:147 component-wise multiply ( global 3X2 matrix of float) +0:147 'm32' ( global 3X2 matrix of float) +0:147 'm32' ( global 3X2 matrix of float) 0:148 Sequence -0:148 move second child to first child (temp 3X4 matrix of float) -0:148 'r34' (temp 3X4 matrix of float) -0:148 component-wise multiply (global 3X4 matrix of float) -0:148 'm34' (global 3X4 matrix of float) -0:148 'm34' (global 3X4 matrix of float) +0:148 move second child to first child ( temp 3X4 matrix of float) +0:148 'r34' ( temp 3X4 matrix of float) +0:148 component-wise multiply ( global 3X4 matrix of float) +0:148 'm34' ( global 3X4 matrix of float) +0:148 'm34' ( global 3X4 matrix of float) 0:149 Sequence -0:149 move second child to first child (temp 4X2 matrix of float) -0:149 'r42' (temp 4X2 matrix of float) -0:149 component-wise multiply (global 4X2 matrix of float) -0:149 'm42' (global 4X2 matrix of float) -0:149 'm42' (global 4X2 matrix of float) +0:149 move second child to first child ( temp 4X2 matrix of float) +0:149 'r42' ( temp 4X2 matrix of float) +0:149 component-wise multiply ( global 4X2 matrix of float) +0:149 'm42' ( global 4X2 matrix of float) +0:149 'm42' ( global 4X2 matrix of float) 0:150 Sequence -0:150 move second child to first child (temp 4X3 matrix of float) -0:150 'r43' (temp 4X3 matrix of float) -0:150 component-wise multiply (global 4X3 matrix of float) -0:150 'm43' (global 4X3 matrix of float) -0:150 'm43' (global 4X3 matrix of float) -0:156 Function Definition: matConst( (global void) +0:150 move second child to first child ( temp 4X3 matrix of float) +0:150 'r43' ( temp 4X3 matrix of float) +0:150 component-wise multiply ( global 4X3 matrix of float) +0:150 'm43' ( global 4X3 matrix of float) +0:150 'm43' ( global 4X3 matrix of float) +0:156 Function Definition: matConst( ( global void) 0:156 Function Parameters: 0:? Sequence 0:162 Sequence -0:162 move second child to first child (temp 4X4 matrix of float) -0:162 'm4g' (temp 4X4 matrix of float) -0:162 Construct mat4 (temp 4X4 matrix of float) -0:162 'v2' (temp 2-component vector of float) -0:162 'v3' (temp 3-component vector of float) -0:162 'v3' (temp 3-component vector of float) -0:162 'v3' (temp 3-component vector of float) -0:162 'v3' (temp 3-component vector of float) -0:162 'v3' (temp 3-component vector of float) +0:162 move second child to first child ( temp 4X4 matrix of float) +0:162 'm4g' ( temp 4X4 matrix of float) +0:162 Construct mat4 ( temp 4X4 matrix of float) +0:162 'v2' ( temp 2-component vector of float) +0:162 'v3' ( temp 3-component vector of float) +0:162 'v3' ( temp 3-component vector of float) +0:162 'v3' ( temp 3-component vector of float) +0:162 'v3' ( temp 3-component vector of float) +0:162 'v3' ( temp 3-component vector of float) 0:163 Sequence -0:163 move second child to first child (temp 4X4 matrix of float) -0:163 'm4' (temp 4X4 matrix of float) -0:163 Construct mat4 (temp 4X4 matrix of float) -0:163 'v2' (temp 2-component vector of float) -0:163 'v3' (temp 3-component vector of float) -0:163 'v3' (temp 3-component vector of float) -0:163 'v3' (temp 3-component vector of float) -0:163 'v3' (temp 3-component vector of float) -0:163 'v2' (temp 2-component vector of float) +0:163 move second child to first child ( temp 4X4 matrix of float) +0:163 'm4' ( temp 4X4 matrix of float) +0:163 Construct mat4 ( temp 4X4 matrix of float) +0:163 'v2' ( temp 2-component vector of float) +0:163 'v3' ( temp 3-component vector of float) +0:163 'v3' ( temp 3-component vector of float) +0:163 'v3' ( temp 3-component vector of float) +0:163 'v3' ( temp 3-component vector of float) +0:163 'v2' ( temp 2-component vector of float) 0:164 Sequence -0:164 move second child to first child (temp 3X3 matrix of float) -0:164 'm3' (temp 3X3 matrix of float) -0:164 Construct mat3 (temp 3X3 matrix of float) -0:164 'm4' (temp 4X4 matrix of float) +0:164 move second child to first child ( temp 3X3 matrix of float) +0:164 'm3' ( temp 3X3 matrix of float) +0:164 Construct mat3 ( temp 3X3 matrix of float) +0:164 'm4' ( temp 4X4 matrix of float) 0:165 Sequence -0:165 move second child to first child (temp 3X3 matrix of float) -0:165 'm3b1' (temp 3X3 matrix of float) -0:165 Construct mat3 (temp 3X3 matrix of float) -0:165 'm4' (temp 4X4 matrix of float) -0:165 'v2' (temp 2-component vector of float) +0:165 move second child to first child ( temp 3X3 matrix of float) +0:165 'm3b1' ( temp 3X3 matrix of float) +0:165 Construct mat3 ( temp 3X3 matrix of float) +0:165 'm4' ( temp 4X4 matrix of float) +0:165 'v2' ( temp 2-component vector of float) 0:166 Sequence -0:166 move second child to first child (temp 3X3 matrix of float) -0:166 'm3b2' (temp 3X3 matrix of float) -0:166 Construct mat3 (temp 3X3 matrix of float) -0:166 'm4' (temp 4X4 matrix of float) -0:166 'm4' (temp 4X4 matrix of float) +0:166 move second child to first child ( temp 3X3 matrix of float) +0:166 'm3b2' ( temp 3X3 matrix of float) +0:166 Construct mat3 ( temp 3X3 matrix of float) +0:166 'm4' ( temp 4X4 matrix of float) +0:166 'm4' ( temp 4X4 matrix of float) 0:167 Sequence -0:167 move second child to first child (temp 3X2 matrix of float) -0:167 'm32' (temp 3X2 matrix of float) -0:167 Construct mat3x2 (temp 3X2 matrix of float) -0:167 'm4' (temp 4X4 matrix of float) +0:167 move second child to first child ( temp 3X2 matrix of float) +0:167 'm32' ( temp 3X2 matrix of float) +0:167 Construct mat3x2 ( temp 3X2 matrix of float) +0:167 'm4' ( temp 4X4 matrix of float) 0:168 Sequence -0:168 move second child to first child (temp 4X4 matrix of float) -0:168 'm4c' (temp 4X4 matrix of float) -0:168 Construct mat4 (temp 4X4 matrix of float) -0:168 'm32' (temp 3X2 matrix of float) +0:168 move second child to first child ( temp 4X4 matrix of float) +0:168 'm4c' ( temp 4X4 matrix of float) +0:168 Construct mat4 ( temp 4X4 matrix of float) +0:168 'm32' ( temp 3X2 matrix of float) 0:169 Sequence -0:169 move second child to first child (temp 3X3 matrix of float) -0:169 'm3s' (temp 3X3 matrix of float) -0:169 Construct mat3 (temp 3X3 matrix of float) -0:169 direct index (temp float) -0:169 'v2' (temp 2-component vector of float) +0:169 move second child to first child ( temp 3X3 matrix of float) +0:169 'm3s' ( temp 3X3 matrix of float) +0:169 Construct mat3 ( temp 3X3 matrix of float) +0:169 direct index ( temp float) +0:169 'v2' ( temp 2-component vector of float) 0:169 Constant: 0:169 0 (const int) 0:171 Sequence -0:171 move second child to first child (temp 2-element array of 3X3 matrix of float) -0:171 'm3a1' (temp 2-element array of 3X3 matrix of float) -0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float) -0:171 'm3s' (temp 3X3 matrix of float) -0:171 'm3s' (temp 3X3 matrix of float) -0:179 Function Definition: foo2323( (global void) +0:171 move second child to first child ( temp 2-element array of 3X3 matrix of float) +0:171 'm3a1' ( temp 2-element array of 3X3 matrix of float) +0:171 Construct mat3 ( temp 2-element array of 3X3 matrix of float) +0:171 'm3s' ( temp 3X3 matrix of float) +0:171 'm3s' ( temp 3X3 matrix of float) +0:179 Function Definition: foo2323( ( global void) 0:179 Function Parameters: 0:? Sequence -0:184 move second child to first child (temp 4-component vector of float) -0:184 'v' (temp 4-component vector of float) -0:184 textureLod (global 4-component vector of float) -0:184 's2D' (uniform sampler2D) -0:184 'v2' (temp 2-component vector of float) -0:184 'f' (temp float) -0:185 move second child to first child (temp 4-component vector of float) -0:185 'v' (temp 4-component vector of float) -0:185 textureProjLod (global 4-component vector of float) -0:185 's3D' (uniform sampler3D) -0:185 'v' (temp 4-component vector of float) -0:185 'f' (temp float) -0:186 move second child to first child (temp 4-component vector of float) -0:186 'v' (temp 4-component vector of float) -0:186 textureProjLod (global 4-component vector of float) -0:186 's1D' (uniform sampler1D) -0:186 'v' (temp 4-component vector of float) -0:186 'f' (temp float) -0:187 move second child to first child (temp 4-component vector of float) -0:187 'v' (temp 4-component vector of float) -0:187 textureProjLod (global 4-component vector of float) -0:187 's2DS' (uniform sampler2DShadow) -0:187 'v' (temp 4-component vector of float) -0:187 'f' (temp float) -0:189 move second child to first child (temp 4-component vector of float) -0:189 'v' (temp 4-component vector of float) -0:189 textureGrad (global 4-component vector of float) -0:189 's1D' (uniform sampler1D) -0:189 'f' (temp float) -0:189 'f' (temp float) -0:189 'f' (temp float) -0:190 move second child to first child (temp 4-component vector of float) -0:190 'v' (temp 4-component vector of float) -0:190 textureProjGrad (global 4-component vector of float) -0:190 's2D' (uniform sampler2D) -0:190 'v' (temp 4-component vector of float) -0:190 'v2' (temp 2-component vector of float) -0:190 'v2' (temp 2-component vector of float) -0:191 move second child to first child (temp 4-component vector of float) -0:191 'v' (temp 4-component vector of float) -0:191 textureProjGrad (global 4-component vector of float) -0:191 's2DS' (uniform sampler2DShadow) -0:191 'v' (temp 4-component vector of float) -0:191 'v2' (temp 2-component vector of float) -0:191 'v2' (temp 2-component vector of float) -0:196 Function Definition: foo2324( (global void) +0:184 move second child to first child ( temp 4-component vector of float) +0:184 'v' ( temp 4-component vector of float) +0:184 textureLod ( global 4-component vector of float) +0:184 's2D' ( uniform sampler2D) +0:184 'v2' ( temp 2-component vector of float) +0:184 'f' ( temp float) +0:185 move second child to first child ( temp 4-component vector of float) +0:185 'v' ( temp 4-component vector of float) +0:185 textureProjLod ( global 4-component vector of float) +0:185 's3D' ( uniform sampler3D) +0:185 'v' ( temp 4-component vector of float) +0:185 'f' ( temp float) +0:186 move second child to first child ( temp 4-component vector of float) +0:186 'v' ( temp 4-component vector of float) +0:186 textureProjLod ( global 4-component vector of float) +0:186 's1D' ( uniform sampler1D) +0:186 'v' ( temp 4-component vector of float) +0:186 'f' ( temp float) +0:187 move second child to first child ( temp 4-component vector of float) +0:187 'v' ( temp 4-component vector of float) +0:187 textureProjLod ( global 4-component vector of float) +0:187 's2DS' ( uniform sampler2DShadow) +0:187 'v' ( temp 4-component vector of float) +0:187 'f' ( temp float) +0:189 move second child to first child ( temp 4-component vector of float) +0:189 'v' ( temp 4-component vector of float) +0:189 textureGrad ( global 4-component vector of float) +0:189 's1D' ( uniform sampler1D) +0:189 'f' ( temp float) +0:189 'f' ( temp float) +0:189 'f' ( temp float) +0:190 move second child to first child ( temp 4-component vector of float) +0:190 'v' ( temp 4-component vector of float) +0:190 textureProjGrad ( global 4-component vector of float) +0:190 's2D' ( uniform sampler2D) +0:190 'v' ( temp 4-component vector of float) +0:190 'v2' ( temp 2-component vector of float) +0:190 'v2' ( temp 2-component vector of float) +0:191 move second child to first child ( temp 4-component vector of float) +0:191 'v' ( temp 4-component vector of float) +0:191 textureProjGrad ( global 4-component vector of float) +0:191 's2DS' ( uniform sampler2DShadow) +0:191 'v' ( temp 4-component vector of float) +0:191 'v2' ( temp 2-component vector of float) +0:191 'v2' ( temp 2-component vector of float) +0:196 Function Definition: foo2324( ( global void) 0:196 Function Parameters: 0:? Sequence -0:201 move second child to first child (temp 4-component vector of float) -0:201 'v' (temp 4-component vector of float) -0:201 textureLod (global 4-component vector of float) -0:201 's2D' (uniform sampler2D) -0:201 'v2' (temp 2-component vector of float) -0:201 'f' (temp float) -0:202 move second child to first child (temp 4-component vector of float) -0:202 'v' (temp 4-component vector of float) -0:202 textureProjLod (global 4-component vector of float) -0:202 's3D' (uniform sampler3D) -0:202 'v' (temp 4-component vector of float) -0:202 'f' (temp float) -0:203 move second child to first child (temp 4-component vector of float) -0:203 'v' (temp 4-component vector of float) -0:203 textureProjLod (global 4-component vector of float) -0:203 's1D' (uniform sampler1D) -0:203 'v' (temp 4-component vector of float) -0:203 'f' (temp float) -0:204 move second child to first child (temp 4-component vector of float) -0:204 'v' (temp 4-component vector of float) -0:204 textureProjLod (global 4-component vector of float) -0:204 's2DS' (uniform sampler2DShadow) -0:204 'v' (temp 4-component vector of float) -0:204 'f' (temp float) -0:206 move second child to first child (temp 4-component vector of float) -0:206 'v' (temp 4-component vector of float) -0:206 textureGrad (global 4-component vector of float) -0:206 's1D' (uniform sampler1D) -0:206 'f' (temp float) -0:206 'f' (temp float) -0:206 'f' (temp float) -0:207 move second child to first child (temp 4-component vector of float) -0:207 'v' (temp 4-component vector of float) -0:207 textureProjGrad (global 4-component vector of float) -0:207 's2D' (uniform sampler2D) -0:207 'v' (temp 4-component vector of float) -0:207 'v2' (temp 2-component vector of float) -0:207 'v2' (temp 2-component vector of float) -0:208 move second child to first child (temp 4-component vector of float) -0:208 'v' (temp 4-component vector of float) -0:208 textureProjGrad (global 4-component vector of float) -0:208 's2DS' (uniform sampler2DShadow) -0:208 'v' (temp 4-component vector of float) -0:208 'v2' (temp 2-component vector of float) -0:208 'v2' (temp 2-component vector of float) -0:209 'v' (temp 4-component vector of float) -0:214 Function Definition: foo121111( (global void) +0:201 move second child to first child ( temp 4-component vector of float) +0:201 'v' ( temp 4-component vector of float) +0:201 textureLod ( global 4-component vector of float) +0:201 's2D' ( uniform sampler2D) +0:201 'v2' ( temp 2-component vector of float) +0:201 'f' ( temp float) +0:202 move second child to first child ( temp 4-component vector of float) +0:202 'v' ( temp 4-component vector of float) +0:202 textureProjLod ( global 4-component vector of float) +0:202 's3D' ( uniform sampler3D) +0:202 'v' ( temp 4-component vector of float) +0:202 'f' ( temp float) +0:203 move second child to first child ( temp 4-component vector of float) +0:203 'v' ( temp 4-component vector of float) +0:203 textureProjLod ( global 4-component vector of float) +0:203 's1D' ( uniform sampler1D) +0:203 'v' ( temp 4-component vector of float) +0:203 'f' ( temp float) +0:204 move second child to first child ( temp 4-component vector of float) +0:204 'v' ( temp 4-component vector of float) +0:204 textureProjLod ( global 4-component vector of float) +0:204 's2DS' ( uniform sampler2DShadow) +0:204 'v' ( temp 4-component vector of float) +0:204 'f' ( temp float) +0:206 move second child to first child ( temp 4-component vector of float) +0:206 'v' ( temp 4-component vector of float) +0:206 textureGrad ( global 4-component vector of float) +0:206 's1D' ( uniform sampler1D) +0:206 'f' ( temp float) +0:206 'f' ( temp float) +0:206 'f' ( temp float) +0:207 move second child to first child ( temp 4-component vector of float) +0:207 'v' ( temp 4-component vector of float) +0:207 textureProjGrad ( global 4-component vector of float) +0:207 's2D' ( uniform sampler2D) +0:207 'v' ( temp 4-component vector of float) +0:207 'v2' ( temp 2-component vector of float) +0:207 'v2' ( temp 2-component vector of float) +0:208 move second child to first child ( temp 4-component vector of float) +0:208 'v' ( temp 4-component vector of float) +0:208 textureProjGrad ( global 4-component vector of float) +0:208 's2DS' ( uniform sampler2DShadow) +0:208 'v' ( temp 4-component vector of float) +0:208 'v2' ( temp 2-component vector of float) +0:208 'v2' ( temp 2-component vector of float) +0:209 'v' ( temp 4-component vector of float) +0:214 Function Definition: foo121111( ( global void) 0:214 Function Parameters: 0:? Sequence 0:217 Sequence -0:217 move second child to first child (temp 4-component vector of float) -0:217 'v' (temp 4-component vector of float) -0:217 texture (global 4-component vector of float) -0:217 's2DRbad' (uniform sampler2DRect) -0:217 'v2' (temp 2-component vector of float) -0:225 Function Definition: foo12111( (global void) +0:217 move second child to first child ( temp 4-component vector of float) +0:217 'v' ( temp 4-component vector of float) +0:217 texture ( global 4-component vector of float) +0:217 's2DRbad' ( uniform sampler2DRect) +0:217 'v2' ( temp 2-component vector of float) +0:225 Function Definition: foo12111( ( global void) 0:225 Function Parameters: 0:? Sequence -0:231 move second child to first child (temp 4-component vector of float) -0:231 'v' (temp 4-component vector of float) -0:231 texture (global 4-component vector of float) -0:231 's2DR' (uniform sampler2DRect) -0:231 'v2' (temp 2-component vector of float) -0:232 move second child to first child (temp 4-component vector of float) -0:232 'v' (temp 4-component vector of float) -0:232 textureProj (global 4-component vector of float) -0:232 's2DR' (uniform sampler2DRect) -0:232 'v3' (temp 3-component vector of float) -0:233 move second child to first child (temp 4-component vector of float) -0:233 'v' (temp 4-component vector of float) -0:233 textureProj (global 4-component vector of float) -0:233 's2DR' (uniform sampler2DRect) -0:233 'v4' (temp 4-component vector of float) -0:234 move second child to first child (temp 4-component vector of float) -0:234 'v' (temp 4-component vector of float) -0:234 texture (global 4-component vector of float) -0:234 's2DRS' (uniform sampler2DRectShadow) -0:234 'v3' (temp 3-component vector of float) -0:235 move second child to first child (temp 4-component vector of float) -0:235 'v' (temp 4-component vector of float) -0:235 textureProj (global 4-component vector of float) -0:235 's2DRS' (uniform sampler2DRectShadow) -0:235 'v4' (temp 4-component vector of float) -0:237 move second child to first child (temp 4-component vector of float) -0:237 'v' (temp 4-component vector of float) -0:237 textureProjGrad (global 4-component vector of float) -0:237 's2DRS' (uniform sampler2DRectShadow) -0:237 'v' (temp 4-component vector of float) -0:237 'v2' (temp 2-component vector of float) -0:237 'v2' (temp 2-component vector of float) -0:240 Function Definition: voidTernary( (global void) +0:231 move second child to first child ( temp 4-component vector of float) +0:231 'v' ( temp 4-component vector of float) +0:231 texture ( global 4-component vector of float) +0:231 's2DR' ( uniform sampler2DRect) +0:231 'v2' ( temp 2-component vector of float) +0:232 move second child to first child ( temp 4-component vector of float) +0:232 'v' ( temp 4-component vector of float) +0:232 textureProj ( global 4-component vector of float) +0:232 's2DR' ( uniform sampler2DRect) +0:232 'v3' ( temp 3-component vector of float) +0:233 move second child to first child ( temp 4-component vector of float) +0:233 'v' ( temp 4-component vector of float) +0:233 textureProj ( global 4-component vector of float) +0:233 's2DR' ( uniform sampler2DRect) +0:233 'v4' ( temp 4-component vector of float) +0:234 move second child to first child ( temp 4-component vector of float) +0:234 'v' ( temp 4-component vector of float) +0:234 texture ( global 4-component vector of float) +0:234 's2DRS' ( uniform sampler2DRectShadow) +0:234 'v3' ( temp 3-component vector of float) +0:235 move second child to first child ( temp 4-component vector of float) +0:235 'v' ( temp 4-component vector of float) +0:235 textureProj ( global 4-component vector of float) +0:235 's2DRS' ( uniform sampler2DRectShadow) +0:235 'v4' ( temp 4-component vector of float) +0:237 move second child to first child ( temp 4-component vector of float) +0:237 'v' ( temp 4-component vector of float) +0:237 textureProjGrad ( global 4-component vector of float) +0:237 's2DRS' ( uniform sampler2DRectShadow) +0:237 'v' ( temp 4-component vector of float) +0:237 'v2' ( temp 2-component vector of float) +0:237 'v2' ( temp 2-component vector of float) +0:240 Function Definition: voidTernary( ( global void) 0:240 Function Parameters: 0:? Sequence -0:243 Test condition and select (temp void) +0:243 Test condition and select ( temp void) 0:243 Condition -0:243 'b' (temp bool) +0:243 'b' ( temp bool) 0:243 true case -0:243 Function Call: foo121111( (global void) +0:243 Function Call: foo121111( ( global void) 0:243 false case -0:243 Function Call: foo12111( (global void) +0:243 Function Call: foo12111( ( global void) 0:244 Constant: 0:244 4 (const int) -0:245 Function Call: foo12111( (global void) +0:245 Function Call: foo12111( ( global void) 0:? Linker Objects -0:? 'lowp' (global float) -0:? 'mediump' (global float) -0:? 'highp' (global float) -0:? 'precision' (global float) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'centTexCoord' (centroid smooth in 2-component vector of float) -0:? 'm' (uniform 4X2 matrix of float) -0:? 'imageBuffer' (global float) -0:? 'uimage2DRect' (global float) -0:? 'a' (temp int) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'm22' (global 2X2 matrix of float) -0:? 'm23' (global 2X3 matrix of float) -0:? 'm24' (global 2X4 matrix of float) -0:? 'm32' (global 3X2 matrix of float) -0:? 'm33' (global 3X3 matrix of float) -0:? 'm34' (global 3X4 matrix of float) -0:? 'm42' (global 4X2 matrix of float) -0:? 'm43' (global 4X3 matrix of float) -0:? 'm44' (global 4X4 matrix of float) -0:? 's3D' (uniform sampler3D) -0:? 's1D' (uniform sampler1D) -0:? 's2DS' (uniform sampler2DShadow) -0:? 's2DRbad' (uniform sampler2DRect) -0:? 's2DR' (uniform sampler2DRect) -0:? 's2DRS' (uniform sampler2DRectShadow) +0:? 'lowp' ( global float) +0:? 'mediump' ( global float) +0:? 'highp' ( global float) +0:? 'precision' ( global float) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'centTexCoord' ( centroid smooth in 2-component vector of float) +0:? 'm' ( uniform 4X2 matrix of float) +0:? 'imageBuffer' ( global float) +0:? 'uimage2DRect' ( global float) +0:? 'a' ( temp int) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'm22' ( global 2X2 matrix of float) +0:? 'm23' ( global 2X3 matrix of float) +0:? 'm24' ( global 2X4 matrix of float) +0:? 'm32' ( global 3X2 matrix of float) +0:? 'm33' ( global 3X3 matrix of float) +0:? 'm34' ( global 3X4 matrix of float) +0:? 'm42' ( global 4X2 matrix of float) +0:? 'm43' ( global 4X3 matrix of float) +0:? 'm44' ( global 4X4 matrix of float) +0:? 's3D' ( uniform sampler3D) +0:? 's1D' ( uniform sampler1D) +0:? 's2DS' ( uniform sampler2DShadow) +0:? 's2DRbad' ( uniform sampler2DRect) +0:? 's2DR' ( uniform sampler2DRect) +0:? 's2DRS' ( uniform sampler2DRectShadow) +0:? 'halfFloat1' ( global float) Linked fragment stage: @@ -656,36 +658,37 @@ Shader version: 120 Requested GL_ARB_shader_texture_lod Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! -0:92 Function Definition: main(i1; (global void) +0:92 Function Definition: main(i1; ( global void) 0:92 Function Parameters: -0:92 'a' (in int) +0:92 'a' ( in int) 0:? Linker Objects -0:? 'lowp' (global float) -0:? 'mediump' (global float) -0:? 'highp' (global float) -0:? 'precision' (global float) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'centTexCoord' (centroid smooth in 2-component vector of float) -0:? 'm' (uniform 4X2 matrix of float) -0:? 'imageBuffer' (global float) -0:? 'uimage2DRect' (global float) -0:? 'a' (temp int) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'm22' (global 2X2 matrix of float) -0:? 'm23' (global 2X3 matrix of float) -0:? 'm24' (global 2X4 matrix of float) -0:? 'm32' (global 3X2 matrix of float) -0:? 'm33' (global 3X3 matrix of float) -0:? 'm34' (global 3X4 matrix of float) -0:? 'm42' (global 4X2 matrix of float) -0:? 'm43' (global 4X3 matrix of float) -0:? 'm44' (global 4X4 matrix of float) -0:? 's3D' (uniform sampler3D) -0:? 's1D' (uniform sampler1D) -0:? 's2DS' (uniform sampler2DShadow) -0:? 's2DRbad' (uniform sampler2DRect) -0:? 's2DR' (uniform sampler2DRect) -0:? 's2DRS' (uniform sampler2DRectShadow) +0:? 'lowp' ( global float) +0:? 'mediump' ( global float) +0:? 'highp' ( global float) +0:? 'precision' ( global float) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'centTexCoord' ( centroid smooth in 2-component vector of float) +0:? 'm' ( uniform 4X2 matrix of float) +0:? 'imageBuffer' ( global float) +0:? 'uimage2DRect' ( global float) +0:? 'a' ( temp int) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'm22' ( global 2X2 matrix of float) +0:? 'm23' ( global 2X3 matrix of float) +0:? 'm24' ( global 2X4 matrix of float) +0:? 'm32' ( global 3X2 matrix of float) +0:? 'm33' ( global 3X3 matrix of float) +0:? 'm34' ( global 3X4 matrix of float) +0:? 'm42' ( global 4X2 matrix of float) +0:? 'm43' ( global 4X3 matrix of float) +0:? 'm44' ( global 4X4 matrix of float) +0:? 's3D' ( uniform sampler3D) +0:? 's1D' ( uniform sampler1D) +0:? 's2DS' ( uniform sampler2DShadow) +0:? 's2DRbad' ( uniform sampler2DRect) +0:? 's2DR' ( uniform sampler2DRect) +0:? 's2DRS' ( uniform sampler2DRectShadow) +0:? 'halfFloat1' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.vert.out index c63d95a22d0..c89be981ebd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/120.vert.out @@ -12,7 +12,7 @@ ERROR: 0:28: 'length' : array must be declared with a size before using this me ERROR: 0:31: 'length' : incomplete method syntax ERROR: 0:32: 'length' : method does not accept any arguments ERROR: 0:33: '.' : cannot apply to an array: flizbit -ERROR: 0:33: '=' : cannot convert from 'temp 7-element array of float' to 'temp int' +ERROR: 0:33: '=' : cannot convert from ' temp 7-element array of float' to ' temp int' ERROR: 0:34: '.' : cannot apply to an array: flizbit ERROR: 0:34: 'f' : can't use function syntax on variable ERROR: 0:34: 'a4' : redefinition @@ -24,11 +24,11 @@ ERROR: 0:39: 'arrays of arrays' : not supported with this profile: none ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none ERROR: 0:40: 'constructor' : array constructor needs one argument per array element ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none -ERROR: 0:40: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float' +ERROR: 0:40: '=' : cannot convert from ' const float' to ' temp 2-element array of 3-element array of float' ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none ERROR: 0:41: 'constructor' : array constructor needs one argument per array element ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none -ERROR: 0:41: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float' +ERROR: 0:41: '=' : cannot convert from ' const float' to ' temp 2-element array of 3-element array of float' ERROR: 0:50: 'arrays of arrays' : not supported with this profile: none ERROR: 0:51: 'arrays of arrays' : not supported with this profile: none ERROR: 0:52: 'arrays of arrays' : not supported with this profile: none @@ -53,16 +53,16 @@ ERROR: 0:176: 'bit shift right' : not supported for this version or the enabled ERROR: 0:176: 'bitwise and' : not supported for this version or the enabled extensions ERROR: 0:176: 'bitwise inclusive or' : not supported for this version or the enabled extensions ERROR: 0:179: 'modf' : no matching overloaded function found -ERROR: 0:179: '=' : cannot convert from 'const float' to 'temp 3-component vector of float' +ERROR: 0:179: '=' : cannot convert from ' const float' to ' temp 3-component vector of float' ERROR: 0:180: 'trunc' : no matching overloaded function found ERROR: 0:181: 'round' : no matching overloaded function found -ERROR: 0:181: '=' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:181: '=' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:182: 'roundEven' : no matching overloaded function found -ERROR: 0:182: '=' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:182: '=' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:183: 'isnan' : no matching overloaded function found -ERROR: 0:183: '=' : cannot convert from 'const float' to 'temp 2-component vector of bool' +ERROR: 0:183: '=' : cannot convert from ' const float' to ' temp 2-component vector of bool' ERROR: 0:184: 'isinf' : no matching overloaded function found -ERROR: 0:184: '=' : cannot convert from 'const float' to 'temp 4-component vector of bool' +ERROR: 0:184: '=' : cannot convert from ' const float' to ' temp 4-component vector of bool' ERROR: 0:186: 'sinh' : no matching overloaded function found ERROR: 0:187: 'cosh' : no matching overloaded function found ERROR: 0:187: 'tanh' : no matching overloaded function found @@ -71,7 +71,7 @@ ERROR: 0:188: 'asinh' : no matching overloaded function found ERROR: 0:188: 'acosh' : no matching overloaded function found ERROR: 0:189: 'atanh' : no matching overloaded function found ERROR: 0:191: 'gl_VertexID' : undeclared identifier -ERROR: 0:191: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:191: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:192: 'gl_ClipDistance' : undeclared identifier ERROR: 0:192: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector ERROR: 0:192: 'assign' : l-value required (can't modify a const) @@ -83,77 +83,77 @@ ERROR: 79 compilation errors. No code generated. Shader version: 120 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 'centTexCoord' (invariant smooth out 2-component vector of float) -0:17 'attv2' (in 2-component vector of float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position) -0:18 'attv4' (in 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:20 'attv4' (in 4-component vector of float) -0:21 move second child to first child (temp float) +0:17 move second child to first child ( temp 2-component vector of float) +0:17 'centTexCoord' ( invariant smooth out 2-component vector of float) +0:17 'attv2' ( in 2-component vector of float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_Position' ( invariant gl_Position 4-component vector of float Position) +0:18 'attv4' ( in 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:20 'attv4' ( in 4-component vector of float) +0:21 move second child to first child ( temp float) 0:21 Constant: 0:21 0.000000 0:21 Constant: 0:21 0.200000 -0:25 move second child to first child (temp 4-component vector of float) -0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position) -0:25 direct index (temp 4-component vector of float) -0:25 'b' (temp 12-element array of 4-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'gl_Position' ( invariant gl_Position 4-component vector of float Position) +0:25 direct index ( temp 4-component vector of float) +0:25 'b' ( temp 12-element array of 4-component vector of float) 0:25 Constant: 0:25 11 (const int) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'a1' (temp int) +0:28 move second child to first child ( temp int) +0:28 'a1' ( temp int) 0:28 Constant: 0:28 1 (const int) 0:30 Sequence -0:30 move second child to first child (temp int) -0:30 'aa' (temp int) +0:30 move second child to first child ( temp int) +0:30 'aa' ( temp int) 0:30 Constant: 0:30 7 (const int) 0:31 Sequence -0:31 move second child to first child (temp int) -0:31 'a2' (temp int) +0:31 move second child to first child ( temp int) +0:31 'a2' ( temp int) 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'a3' (temp int) +0:32 move second child to first child ( temp int) +0:32 'a3' ( temp int) 0:32 Constant: 0:32 1 (const int) -0:43 move second child to first child (temp float) -0:43 'gl_PointSize' (invariant gl_PointSize float PointSize) +0:43 move second child to first child ( temp float) +0:43 'gl_PointSize' ( invariant gl_PointSize float PointSize) 0:43 Constant: 0:43 3.800000 -0:61 Function Definition: overloadB(f1;f1; (global void) +0:61 Function Definition: overloadB(f1;f1; ( global void) 0:61 Function Parameters: -0:61 '' (in float) -0:61 '' (const (read only) float) -0:78 Function Definition: foo( (global void) +0:61 '' ( in float) +0:61 '' ( const (read only) float) +0:78 Function Definition: foo( ( global void) 0:78 Function Parameters: 0:? Sequence -0:83 Function Call: overloadB(f1;f1; (global void) -0:83 'f' (temp float) -0:83 'f' (temp float) -0:84 Function Call: overloadB(f1;f1; (global void) -0:84 'f' (temp float) +0:83 Function Call: overloadB(f1;f1; ( global void) +0:83 'f' ( temp float) +0:83 'f' ( temp float) +0:84 Function Call: overloadB(f1;f1; ( global void) +0:84 'f' ( temp float) 0:84 Constant: 0:84 2.000000 -0:85 Function Call: overloadB(f1;f1; (global void) +0:85 Function Call: overloadB(f1;f1; ( global void) 0:85 Constant: 0:85 1.000000 -0:85 Convert int to float (temp float) -0:85 'i' (temp int) +0:85 Convert int to float ( temp float) +0:85 'i' ( temp int) 0:87 Constant: 0:87 0.000000 -0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float) +0:88 Function Call: overloadC(i1;i1; ( global 2-component vector of float) 0:88 Constant: 0:88 1 (const int) -0:88 'i' (temp int) -0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float) +0:88 'i' ( temp int) +0:89 Function Call: overloadC(vf2;vf2; ( global 2-component vector of float) 0:89 Constant: 0:89 1.000000 0:89 1.000000 @@ -162,42 +162,42 @@ ERROR: node is still EOpNull! 0:89 2.000000 0:90 Constant: 0:90 0.000000 -0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float) +0:91 Function Call: overloadC(vf2;vf2; ( global 2-component vector of float) 0:91 Constant: 0:91 1.000000 0:91 1.000000 0:91 Constant: 0:91 2.000000 0:91 2.000000 -0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float) -0:93 'i' (temp int) -0:93 'f' (temp float) -0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float) -0:94 'f' (temp float) -0:94 'i' (temp int) -0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float) -0:95 Convert int to float (temp float) -0:95 'i' (temp int) -0:95 'i' (temp int) +0:93 Function Call: overloadD(i1;f1; ( global 3-component vector of float) +0:93 'i' ( temp int) +0:93 'f' ( temp float) +0:94 Function Call: overloadD(f1;i1; ( global 3-component vector of float) +0:94 'f' ( temp float) +0:94 'i' ( temp int) +0:95 Function Call: overloadD(f1;i1; ( global 3-component vector of float) +0:95 Convert int to float ( temp float) +0:95 'i' ( temp int) +0:95 'i' ( temp int) 0:98 Constant: 0:98 0.000000 0:100 Constant: 0:100 0.841471 -0:101 texture (global 4-component vector of float) -0:101 's2D' (uniform sampler2D) +0:101 texture ( global 4-component vector of float) +0:101 's2D' ( uniform sampler2D) 0:101 Constant: 0:101 0.000000 0:101 0.000000 -0:102 clamp (global 4-component vector of float) -0:102 'attv4' (in 4-component vector of float) +0:102 clamp ( global 4-component vector of float) +0:102 'attv4' ( in 4-component vector of float) 0:102 Constant: 0:102 0.000000 0:102 Constant: 0:102 1.000000 -0:103 clamp (global 4-component vector of float) -0:103 Convert int to float (temp 4-component vector of float) -0:103 Convert float to int (temp 4-component vector of int) -0:103 'attv4' (in 4-component vector of float) +0:103 clamp ( global 4-component vector of float) +0:103 Convert int to float ( temp 4-component vector of float) +0:103 Convert float to int ( temp 4-component vector of int) +0:103 'attv4' ( in 4-component vector of float) 0:103 Constant: 0:103 0.000000 0:103 Constant: @@ -208,11 +208,11 @@ ERROR: node is still EOpNull! 0:107 0.000000 0:108 Constant: 0:108 0.000000 -0:109 Function Call: overloadE(vf2; (global 3-component vector of float) +0:109 Function Call: overloadE(vf2; ( global 3-component vector of float) 0:109 Constant: 0:109 3.300000 0:109 3.300000 -0:110 Function Call: overloadE(mf22; (global 3-component vector of float) +0:110 Function Call: overloadE(mf22; ( global 3-component vector of float) 0:110 Constant: 0:110 0.500000 0:110 0.000000 @@ -220,180 +220,180 @@ ERROR: node is still EOpNull! 0:110 0.500000 0:111 Constant: 0:111 0.000000 -0:112 Function Call: overloadE(vf2; (global 3-component vector of float) +0:112 Function Call: overloadE(vf2; ( global 3-component vector of float) 0:112 Constant: 0:112 1.000000 0:112 1.000000 -0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float) -0:115 'b' (temp 2-element array of float) +0:115 Function Call: overloadE(f1[2]; ( global 3-component vector of float) +0:115 'b' ( temp 2-element array of float) 0:117 Constant: 0:117 0.000000 -0:118 Function Call: overloadF(i1; (global 3-component vector of float) +0:118 Function Call: overloadF(i1; ( global 3-component vector of float) 0:118 Constant: 0:118 1 (const int) -0:128 Function Definition: foo2( (global void) +0:128 Function Definition: foo2( ( global void) 0:128 Function Parameters: 0:? Sequence -0:135 Comma (global void) -0:135 Function Call: outFun(f1;vi2;i1;f1; (global void) -0:135 Convert int to float (temp float) -0:135 'i' (temp int) -0:135 'tempArg' (temp 2-component vector of int) -0:135 'i' (temp int) -0:135 'f' (temp float) -0:135 move second child to first child (temp 2-component vector of float) -0:135 'v2' (temp 2-component vector of float) -0:135 Convert int to float (temp 2-component vector of float) -0:135 'tempArg' (temp 2-component vector of int) -0:136 Comma (global int) -0:136 move second child to first child (temp int) -0:136 'tempReturn' (global int) -0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int) -0:136 Convert int to float (temp float) -0:136 'i' (temp int) -0:136 'tempArg' (temp int) -0:136 'i' (temp int) -0:136 'tempArg' (temp 4-component vector of int) -0:136 move second child to first child (temp float) -0:136 'f' (temp float) -0:136 Convert int to float (temp float) -0:136 'tempArg' (temp int) -0:136 move second child to first child (temp 4-component vector of float) -0:136 'v4' (temp 4-component vector of float) -0:136 Convert int to float (temp 4-component vector of float) -0:136 'tempArg' (temp 4-component vector of int) -0:136 'tempReturn' (global int) +0:135 Comma ( global void) +0:135 Function Call: outFun(f1;vi2;i1;f1; ( global void) +0:135 Convert int to float ( temp float) +0:135 'i' ( temp int) +0:135 'tempArg' ( temp 2-component vector of int) +0:135 'i' ( temp int) +0:135 'f' ( temp float) +0:135 move second child to first child ( temp 2-component vector of float) +0:135 'v2' ( temp 2-component vector of float) +0:135 Convert int to float ( temp 2-component vector of float) +0:135 'tempArg' ( temp 2-component vector of int) +0:136 Comma ( global int) +0:136 move second child to first child ( temp int) +0:136 'tempReturn' ( global int) +0:136 Function Call: outFunRet(f1;i1;i1;vi4; ( global int) +0:136 Convert int to float ( temp float) +0:136 'i' ( temp int) +0:136 'tempArg' ( temp int) +0:136 'i' ( temp int) +0:136 'tempArg' ( temp 4-component vector of int) +0:136 move second child to first child ( temp float) +0:136 'f' ( temp float) +0:136 Convert int to float ( temp float) +0:136 'tempArg' ( temp int) +0:136 move second child to first child ( temp 4-component vector of float) +0:136 'v4' ( temp 4-component vector of float) +0:136 Convert int to float ( temp 4-component vector of float) +0:136 'tempArg' ( temp 4-component vector of int) +0:136 'tempReturn' ( global int) 0:137 Sequence -0:137 move second child to first child (temp float) -0:137 'ret' (temp float) -0:137 Convert int to float (temp float) -0:137 Comma (global int) -0:137 move second child to first child (temp int) -0:137 'tempReturn' (global int) -0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int) -0:137 Convert int to float (temp float) -0:137 'i' (temp int) -0:137 'tempArg' (temp int) -0:137 'i' (temp int) -0:137 'tempArg' (temp 4-component vector of int) -0:137 move second child to first child (temp float) -0:137 'f' (temp float) -0:137 Convert int to float (temp float) -0:137 'tempArg' (temp int) -0:137 move second child to first child (temp 4-component vector of float) -0:137 'v4' (temp 4-component vector of float) -0:137 Convert int to float (temp 4-component vector of float) -0:137 'tempArg' (temp 4-component vector of int) -0:137 'tempReturn' (global int) +0:137 move second child to first child ( temp float) +0:137 'ret' ( temp float) +0:137 Convert int to float ( temp float) +0:137 Comma ( global int) +0:137 move second child to first child ( temp int) +0:137 'tempReturn' ( global int) +0:137 Function Call: outFunRet(f1;i1;i1;vi4; ( global int) +0:137 Convert int to float ( temp float) +0:137 'i' ( temp int) +0:137 'tempArg' ( temp int) +0:137 'i' ( temp int) +0:137 'tempArg' ( temp 4-component vector of int) +0:137 move second child to first child ( temp float) +0:137 'f' ( temp float) +0:137 Convert int to float ( temp float) +0:137 'tempArg' ( temp int) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 'v4' ( temp 4-component vector of float) +0:137 Convert int to float ( temp 4-component vector of float) +0:137 'tempArg' ( temp 4-component vector of int) +0:137 'tempReturn' ( global int) 0:138 Sequence -0:138 move second child to first child (temp 2-component vector of float) -0:138 'ret2' (temp 2-component vector of float) -0:138 Convert int to float (temp 2-component vector of float) -0:138 Comma (global 2-component vector of int) -0:138 move second child to first child (temp 2-component vector of int) -0:138 'tempReturn' (global 2-component vector of int) -0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int) -0:138 Convert int to float (temp float) -0:138 'i' (temp int) -0:138 'tempArg' (temp 4-component vector of int) -0:138 'i' (temp int) -0:138 'tempArg' (temp 4-component vector of int) -0:138 move second child to first child (temp 4-component vector of float) -0:138 'v4' (temp 4-component vector of float) -0:138 Convert int to float (temp 4-component vector of float) -0:138 'tempArg' (temp 4-component vector of int) -0:138 move second child to first child (temp 4-component vector of float) -0:138 'v4' (temp 4-component vector of float) -0:138 Convert int to float (temp 4-component vector of float) -0:138 'tempArg' (temp 4-component vector of int) -0:138 'tempReturn' (global 2-component vector of int) +0:138 move second child to first child ( temp 2-component vector of float) +0:138 'ret2' ( temp 2-component vector of float) +0:138 Convert int to float ( temp 2-component vector of float) +0:138 Comma ( global 2-component vector of int) +0:138 move second child to first child ( temp 2-component vector of int) +0:138 'tempReturn' ( global 2-component vector of int) +0:138 Function Call: outFunRet(f1;vi4;i1;vi4; ( global 2-component vector of int) +0:138 Convert int to float ( temp float) +0:138 'i' ( temp int) +0:138 'tempArg' ( temp 4-component vector of int) +0:138 'i' ( temp int) +0:138 'tempArg' ( temp 4-component vector of int) +0:138 move second child to first child ( temp 4-component vector of float) +0:138 'v4' ( temp 4-component vector of float) +0:138 Convert int to float ( temp 4-component vector of float) +0:138 'tempArg' ( temp 4-component vector of int) +0:138 move second child to first child ( temp 4-component vector of float) +0:138 'v4' ( temp 4-component vector of float) +0:138 Convert int to float ( temp 4-component vector of float) +0:138 'tempArg' ( temp 4-component vector of int) +0:138 'tempReturn' ( global 2-component vector of int) 0:139 Sequence -0:139 move second child to first child (temp bool) -0:139 'b' (temp bool) -0:139 any (global bool) -0:139 Compare Less Than (global 4-component vector of bool) -0:139 'v4' (temp 4-component vector of float) -0:139 'attv4' (in 4-component vector of float) -0:142 Function Definition: noise( (global void) +0:139 move second child to first child ( temp bool) +0:139 'b' ( temp bool) +0:139 any ( global bool) +0:139 Compare Less Than ( global 4-component vector of bool) +0:139 'v4' ( temp 4-component vector of float) +0:139 'attv4' ( in 4-component vector of float) +0:142 Function Definition: noise( ( global void) 0:142 Function Parameters: 0:144 Sequence 0:144 Sequence -0:144 move second child to first child (temp float) -0:144 'f1' (temp float) -0:144 noise (global float) +0:144 move second child to first child ( temp float) +0:144 'f1' ( temp float) +0:144 noise ( global float) 0:144 Constant: 0:144 1.000000 0:145 Sequence -0:145 move second child to first child (temp 2-component vector of float) -0:145 'f2' (temp 2-component vector of float) -0:145 noise (global 2-component vector of float) +0:145 move second child to first child ( temp 2-component vector of float) +0:145 'f2' ( temp 2-component vector of float) +0:145 noise ( global 2-component vector of float) 0:145 Constant: 0:145 1.000000 0:145 1.000000 0:146 Sequence -0:146 move second child to first child (temp 3-component vector of float) -0:146 'f3' (temp 3-component vector of float) -0:146 noise (global 3-component vector of float) +0:146 move second child to first child ( temp 3-component vector of float) +0:146 'f3' ( temp 3-component vector of float) +0:146 noise ( global 3-component vector of float) 0:146 Constant: 0:146 1.000000 0:146 1.000000 0:146 1.000000 0:147 Sequence -0:147 move second child to first child (temp 4-component vector of float) -0:147 'f4' (temp 4-component vector of float) -0:147 noise (global 4-component vector of float) +0:147 move second child to first child ( temp 4-component vector of float) +0:147 'f4' ( temp 4-component vector of float) +0:147 noise ( global 4-component vector of float) 0:147 Constant: 0:147 1.000000 0:147 1.000000 0:147 1.000000 0:147 1.000000 -0:162 Function Definition: foo213( (global void) +0:162 Function Definition: foo213( ( global void) 0:162 Function Parameters: 0:164 Sequence 0:164 Sequence -0:164 move second child to first child (temp float) -0:164 'f' (temp float) +0:164 move second child to first child ( temp float) +0:164 'f' ( temp float) 0:164 Constant: 0:164 3.000000 0:165 switch 0:165 condition -0:165 'c' (uniform int) +0:165 'c' ( uniform int) 0:165 body 0:165 Sequence 0:166 case: with expression 0:166 Constant: 0:166 1 (const int) 0:? Sequence -0:167 move second child to first child (temp float) -0:167 'f' (temp float) -0:167 sine (global float) -0:167 'f' (temp float) +0:167 move second child to first child ( temp float) +0:167 'f' ( temp float) +0:167 sine ( global float) +0:167 'f' ( temp float) 0:168 Branch: Break 0:169 case: with expression 0:169 Constant: 0:169 2 (const int) 0:? Sequence -0:170 move second child to first child (temp float) -0:170 'f' (temp float) -0:170 component-wise multiply (temp float) -0:170 'f' (temp float) -0:170 'f' (temp float) +0:170 move second child to first child ( temp float) +0:170 'f' ( temp float) +0:170 component-wise multiply ( temp float) +0:170 'f' ( temp float) +0:170 'f' ( temp float) 0:171 default: 0:? Sequence -0:172 move second child to first child (temp float) -0:172 'f' (temp float) +0:172 move second child to first child ( temp float) +0:172 'f' ( temp float) 0:172 Constant: 0:172 3.000000 -0:176 inclusive-or (temp int) -0:176 left-shift (temp int) -0:176 'i' (temp int) +0:176 inclusive-or ( temp int) +0:176 left-shift ( temp int) +0:176 'i' ( temp int) 0:176 Constant: 0:176 3 (const int) 0:176 Constant: 0:176 69 (const int) 0:180 Sequence -0:180 move second child to first child (temp float) -0:180 't' (temp float) +0:180 move second child to first child ( temp float) +0:180 't' ( temp float) 0:180 Constant: 0:180 0.000000 0:186 Constant: @@ -402,32 +402,32 @@ ERROR: node is still EOpNull! 0:188 0.000000 0:189 Constant: 0:189 0.000000 -0:192 move second child to first child (temp float) +0:192 move second child to first child ( temp float) 0:192 Constant: 0:192 0.000000 0:192 Constant: 0:192 0.300000 0:? Linker Objects -0:? 'i' (in 4-component vector of float) -0:? 'o' (smooth out 4-component vector of float) -0:? 'attv2' (in 2-component vector of float) -0:? 'attv4' (in 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'centTexCoord' (invariant smooth out 2-component vector of float) -0:? 'initted' (uniform float) +0:? 'i' ( in 4-component vector of float) +0:? 'o' ( smooth out 4-component vector of float) +0:? 'attv2' ( in 2-component vector of float) +0:? 'attv4' ( in 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'centTexCoord' ( invariant smooth out 2-component vector of float) +0:? 'initted' ( uniform float) 0:? 3.400000 -0:? 'concall' (const float) +0:? 'concall' ( const float) 0:? 0.295520 -0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) -0:? 'c' (uniform int) -0:? 'x' (in 2-component vector of int) -0:? 'v2a' (in 2-component vector of float) -0:? 'c1D' (in float) -0:? 'c2D' (in 2-component vector of float) -0:? 'c3D' (in 3-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'abcdef' (global int) -0:? 'qrstuv' (global int) +0:? 'gl_TexCoord' ( smooth out 35-element array of 4-component vector of float TexCoord) +0:? 'c' ( uniform int) +0:? 'x' ( in 2-component vector of int) +0:? 'v2a' ( in 2-component vector of float) +0:? 'c1D' ( in float) +0:? 'c2D' ( in 2-component vector of float) +0:? 'c3D' ( in 3-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'abcdef' ( global int) +0:? 'qrstuv' ( global int) Linked vertex stage: @@ -435,70 +435,70 @@ Linked vertex stage: Shader version: 120 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 'centTexCoord' (invariant smooth out 2-component vector of float) -0:17 'attv2' (in 2-component vector of float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position) -0:18 'attv4' (in 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:20 'attv4' (in 4-component vector of float) -0:21 move second child to first child (temp float) +0:17 move second child to first child ( temp 2-component vector of float) +0:17 'centTexCoord' ( invariant smooth out 2-component vector of float) +0:17 'attv2' ( in 2-component vector of float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_Position' ( invariant gl_Position 4-component vector of float Position) +0:18 'attv4' ( in 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:20 'attv4' ( in 4-component vector of float) +0:21 move second child to first child ( temp float) 0:21 Constant: 0:21 0.000000 0:21 Constant: 0:21 0.200000 -0:25 move second child to first child (temp 4-component vector of float) -0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position) -0:25 direct index (temp 4-component vector of float) -0:25 'b' (temp 12-element array of 4-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'gl_Position' ( invariant gl_Position 4-component vector of float Position) +0:25 direct index ( temp 4-component vector of float) +0:25 'b' ( temp 12-element array of 4-component vector of float) 0:25 Constant: 0:25 11 (const int) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'a1' (temp int) +0:28 move second child to first child ( temp int) +0:28 'a1' ( temp int) 0:28 Constant: 0:28 1 (const int) 0:30 Sequence -0:30 move second child to first child (temp int) -0:30 'aa' (temp int) +0:30 move second child to first child ( temp int) +0:30 'aa' ( temp int) 0:30 Constant: 0:30 7 (const int) 0:31 Sequence -0:31 move second child to first child (temp int) -0:31 'a2' (temp int) +0:31 move second child to first child ( temp int) +0:31 'a2' ( temp int) 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'a3' (temp int) +0:32 move second child to first child ( temp int) +0:32 'a3' ( temp int) 0:32 Constant: 0:32 1 (const int) -0:43 move second child to first child (temp float) -0:43 'gl_PointSize' (invariant gl_PointSize float PointSize) +0:43 move second child to first child ( temp float) +0:43 'gl_PointSize' ( invariant gl_PointSize float PointSize) 0:43 Constant: 0:43 3.800000 0:? Linker Objects -0:? 'i' (in 4-component vector of float) -0:? 'o' (smooth out 4-component vector of float) -0:? 'attv2' (in 2-component vector of float) -0:? 'attv4' (in 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'centTexCoord' (invariant smooth out 2-component vector of float) -0:? 'initted' (uniform float) +0:? 'i' ( in 4-component vector of float) +0:? 'o' ( smooth out 4-component vector of float) +0:? 'attv2' ( in 2-component vector of float) +0:? 'attv4' ( in 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'centTexCoord' ( invariant smooth out 2-component vector of float) +0:? 'initted' ( uniform float) 0:? 3.400000 -0:? 'concall' (const float) +0:? 'concall' ( const float) 0:? 0.295520 -0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) -0:? 'c' (uniform int) -0:? 'x' (in 2-component vector of int) -0:? 'v2a' (in 2-component vector of float) -0:? 'c1D' (in float) -0:? 'c2D' (in 2-component vector of float) -0:? 'c3D' (in 3-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'abcdef' (global int) -0:? 'qrstuv' (global int) +0:? 'gl_TexCoord' ( smooth out 35-element array of 4-component vector of float TexCoord) +0:? 'c' ( uniform int) +0:? 'x' ( in 2-component vector of int) +0:? 'v2a' ( in 2-component vector of float) +0:? 'c1D' ( in float) +0:? 'c2D' ( in 2-component vector of float) +0:? 'c3D' ( in 3-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'abcdef' ( global int) +0:? 'qrstuv' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.frag.out index e71b3e28e38..c1c479a0d7d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.frag.out @@ -4,20 +4,20 @@ ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color ERROR: 0:38: 'gl_Color' : redeclaring non-array as array ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color WARNING: 0:45: extension GL_ARB_texture_gather is being used for textureGather(...) -ERROR: 0:62: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion) -ERROR: 0:63: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp 3-component vector of uint' and a right operand of type 'temp 3-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'const 2-component vector of uint' and a right operand of type 'const 2-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:62: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type ' temp 3-component vector of bool' and a right operand of type ' temp 3-component vector of bool' (or there is no acceptable conversion) +ERROR: 0:63: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type ' temp 3-component vector of uint' and a right operand of type ' temp 3-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type ' const 2-component vector of uint' and a right operand of type ' const 2-component vector of uint' (or there is no acceptable conversion) ERROR: 0:80: 'textureGatherOffset' : no matching overloaded function found -ERROR: 0:80: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float' +ERROR: 0:80: 'assign' : cannot convert from ' const float' to ' temp 4-component vector of float' ERROR: 0:81: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions ERROR: 0:84: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions ERROR: 0:85: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions WARNING: 0:88: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5 ERROR: 0:120: 'line continuation' : not supported for this version or the enabled extensions ERROR: 0:126: 'uniform block' : not supported for this version or the enabled extensions -ERROR: 0:140: 'length' : does not operate on this type: temp bool +ERROR: 0:140: 'length' : does not operate on this type: temp bool ERROR: 0:140: 'boolb' : can't use function syntax on variable -ERROR: 0:141: 'length' : does not operate on this type: temp float +ERROR: 0:141: 'length' : does not operate on this type: temp float ERROR: 0:141: '' : function call, method, or subroutine call expected ERROR: 0:141: '' : no matching overloaded function found ERROR: 0:142: 'length' : incomplete method syntax @@ -42,77 +42,77 @@ Requested GL_ARB_texture_gather Requested GL_ARB_texture_rectangle using early_fragment_tests ERROR: node is still EOpNull! -0:16 Function Definition: main( (global void) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:18 Sequence 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'clip' (temp float) -0:18 direct index (smooth temp float ClipDistance) -0:18 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance) +0:18 move second child to first child ( temp float) +0:18 'clip' ( temp float) +0:18 direct index ( smooth temp float ClipDistance) +0:18 'gl_ClipDistance' ( smooth in implicitly-sized array of float ClipDistance) 0:18 Constant: 0:18 3 (const int) -0:23 Function Definition: foo( (global void) +0:23 Function Definition: foo( ( global void) 0:23 Function Parameters: 0:25 Sequence 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of float) -0:25 's' (temp 4-component vector of float) -0:25 textureGather (global 4-component vector of float) -0:25 'sampC' (uniform samplerCube) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 's' ( temp 4-component vector of float) +0:25 textureGather ( global 4-component vector of float) +0:25 'sampC' ( uniform samplerCube) 0:25 Constant: 0:25 0.200000 0:25 0.200000 0:25 0.200000 -0:30 Function Definition: bar( (global void) +0:30 Function Definition: bar( ( global void) 0:30 Function Parameters: 0:32 Sequence 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 's' (temp 4-component vector of float) -0:32 textureGather (global 4-component vector of float) -0:32 'sampC' (uniform samplerCube) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 's' ( temp 4-component vector of float) +0:32 textureGather ( global 4-component vector of float) +0:32 'sampC' ( uniform samplerCube) 0:32 Constant: 0:32 0.200000 0:32 0.200000 0:32 0.200000 -0:43 Function Definition: bar2( (global void) +0:43 Function Definition: bar2( ( global void) 0:43 Function Parameters: 0:45 Sequence 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:45 's' (temp 4-component vector of float) -0:45 textureGather (global 4-component vector of float) -0:45 'sampC' (uniform samplerCube) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 's' ( temp 4-component vector of float) +0:45 textureGather ( global 4-component vector of float) +0:45 'sampC' ( uniform samplerCube) 0:45 Constant: 0:45 0.200000 0:45 0.200000 0:45 0.200000 -0:49 move second child to first child (temp 3-component vector of bool) -0:49 'b3' (temp 3-component vector of bool) -0:49 Compare Less Than (global 3-component vector of bool) -0:49 'uv3' (temp 3-component vector of uint) -0:49 'uv3' (temp 3-component vector of uint) -0:50 move second child to first child (temp 3-component vector of bool) -0:50 'b3' (temp 3-component vector of bool) -0:50 Equal (global 3-component vector of bool) -0:50 'uv3' (temp 3-component vector of uint) -0:50 'uv3' (temp 3-component vector of uint) -0:56 direct index (temp int) -0:56 'a1' (temp 1-element array of int) +0:49 move second child to first child ( temp 3-component vector of bool) +0:49 'b3' ( temp 3-component vector of bool) +0:49 Compare Less Than ( global 3-component vector of bool) +0:49 'uv3' ( temp 3-component vector of uint) +0:49 'uv3' ( temp 3-component vector of uint) +0:50 move second child to first child ( temp 3-component vector of bool) +0:50 'b3' ( temp 3-component vector of bool) +0:50 Equal ( global 3-component vector of bool) +0:50 'uv3' ( temp 3-component vector of uint) +0:50 'uv3' ( temp 3-component vector of uint) +0:56 direct index ( temp int) +0:56 'a1' ( temp 1-element array of int) 0:56 Constant: 0:56 0 (const int) -0:57 direct index (temp int) -0:57 'a2' (temp 1-element array of int) +0:57 direct index ( temp int) +0:57 'a2' ( temp 1-element array of int) 0:57 Constant: 0:57 0 (const int) -0:60 direct index (temp int) -0:60 'a3' (temp 4-element array of int) +0:60 direct index ( temp int) +0:60 'a3' ( temp 4-element array of int) 0:60 Constant: 0:60 3 (const int) -0:61 Compare Not Equal (temp bool) -0:61 'b3' (temp 3-component vector of bool) -0:61 'b3' (temp 3-component vector of bool) +0:61 Compare Not Equal ( temp bool) +0:61 'b3' ( temp 3-component vector of bool) +0:61 'b3' ( temp 3-component vector of bool) 0:62 Constant: 0:62 false (const bool) 0:63 Constant: @@ -123,34 +123,34 @@ ERROR: node is still EOpNull! 0:65 true (const bool) 0:66 Constant: 0:66 false (const bool) -0:77 Function Definition: bar23( (global void) +0:77 Function Definition: bar23( ( global void) 0:77 Function Parameters: 0:? Sequence -0:80 's' (temp 4-component vector of float) -0:81 move second child to first child (temp 4-component vector of float) -0:81 's' (temp 4-component vector of float) -0:81 textureGatherOffset (global 4-component vector of float) -0:81 'samp2DR' (uniform sampler2DRect) +0:80 's' ( temp 4-component vector of float) +0:81 move second child to first child ( temp 4-component vector of float) +0:81 's' ( temp 4-component vector of float) +0:81 textureGatherOffset ( global 4-component vector of float) +0:81 'samp2DR' ( uniform sampler2DRect) 0:81 Constant: 0:81 0.300000 0:81 0.300000 0:81 Constant: 0:81 1 (const int) 0:81 1 (const int) -0:82 move second child to first child (temp 4-component vector of float) -0:82 's' (temp 4-component vector of float) -0:82 textureGatherOffset (global 4-component vector of float) -0:82 'samp2D' (uniform sampler2D) +0:82 move second child to first child ( temp 4-component vector of float) +0:82 's' ( temp 4-component vector of float) +0:82 textureGatherOffset ( global 4-component vector of float) +0:82 'samp2D' ( uniform sampler2D) 0:82 Constant: 0:82 0.300000 0:82 0.300000 0:82 Constant: 0:82 1 (const int) 0:82 1 (const int) -0:83 move second child to first child (temp 4-component vector of float) -0:83 's' (temp 4-component vector of float) -0:83 textureGatherOffset (global 4-component vector of float) -0:83 'samp2DA' (uniform sampler2DArray) +0:83 move second child to first child ( temp 4-component vector of float) +0:83 's' ( temp 4-component vector of float) +0:83 textureGatherOffset ( global 4-component vector of float) +0:83 'samp2DA' ( uniform sampler2DArray) 0:83 Constant: 0:83 0.300000 0:83 0.300000 @@ -158,10 +158,10 @@ ERROR: node is still EOpNull! 0:83 Constant: 0:83 1 (const int) 0:83 1 (const int) -0:84 move second child to first child (temp 4-component vector of float) -0:84 's' (temp 4-component vector of float) -0:84 textureGatherOffset (global 4-component vector of float) -0:84 'samp2DS' (uniform sampler2DShadow) +0:84 move second child to first child ( temp 4-component vector of float) +0:84 's' ( temp 4-component vector of float) +0:84 textureGatherOffset ( global 4-component vector of float) +0:84 'samp2DS' ( uniform sampler2DShadow) 0:84 Constant: 0:84 0.300000 0:84 0.300000 @@ -170,10 +170,10 @@ ERROR: node is still EOpNull! 0:84 Constant: 0:84 1 (const int) 0:84 1 (const int) -0:85 move second child to first child (temp 4-component vector of float) -0:85 's' (temp 4-component vector of float) -0:85 textureGatherOffset (global 4-component vector of float) -0:85 'samp2D' (uniform sampler2D) +0:85 move second child to first child ( temp 4-component vector of float) +0:85 's' ( temp 4-component vector of float) +0:85 textureGatherOffset ( global 4-component vector of float) +0:85 'samp2D' ( uniform sampler2D) 0:85 Constant: 0:85 0.300000 0:85 0.300000 @@ -182,23 +182,23 @@ ERROR: node is still EOpNull! 0:85 1 (const int) 0:85 Constant: 0:85 2 (const int) -0:90 Function Definition: bar234( (global void) +0:90 Function Definition: bar234( ( global void) 0:90 Function Parameters: 0:? Sequence -0:93 move second child to first child (temp 4-component vector of float) -0:93 's' (temp 4-component vector of float) -0:93 textureGatherOffset (global 4-component vector of float) -0:93 'samp2D' (uniform sampler2D) +0:93 move second child to first child ( temp 4-component vector of float) +0:93 's' ( temp 4-component vector of float) +0:93 textureGatherOffset ( global 4-component vector of float) +0:93 'samp2D' ( uniform sampler2D) 0:93 Constant: 0:93 0.300000 0:93 0.300000 0:93 Constant: 0:93 1 (const int) 0:93 1 (const int) -0:94 move second child to first child (temp 4-component vector of float) -0:94 's' (temp 4-component vector of float) -0:94 textureGatherOffset (global 4-component vector of float) -0:94 'samp2DA' (uniform sampler2DArray) +0:94 move second child to first child ( temp 4-component vector of float) +0:94 's' ( temp 4-component vector of float) +0:94 textureGatherOffset ( global 4-component vector of float) +0:94 'samp2DA' ( uniform sampler2DArray) 0:94 Constant: 0:94 0.300000 0:94 0.300000 @@ -206,20 +206,20 @@ ERROR: node is still EOpNull! 0:94 Constant: 0:94 1 (const int) 0:94 1 (const int) -0:95 move second child to first child (temp 4-component vector of float) -0:95 's' (temp 4-component vector of float) -0:95 textureGatherOffset (global 4-component vector of float) -0:95 'samp2DR' (uniform sampler2DRect) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 's' ( temp 4-component vector of float) +0:95 textureGatherOffset ( global 4-component vector of float) +0:95 'samp2DR' ( uniform sampler2DRect) 0:95 Constant: 0:95 0.300000 0:95 0.300000 0:95 Constant: 0:95 1 (const int) 0:95 1 (const int) -0:96 move second child to first child (temp 4-component vector of float) -0:96 's' (temp 4-component vector of float) -0:96 textureGatherOffset (global 4-component vector of float) -0:96 'samp2DS' (uniform sampler2DShadow) +0:96 move second child to first child ( temp 4-component vector of float) +0:96 's' ( temp 4-component vector of float) +0:96 textureGatherOffset ( global 4-component vector of float) +0:96 'samp2DS' ( uniform sampler2DShadow) 0:96 Constant: 0:96 0.300000 0:96 0.300000 @@ -228,10 +228,10 @@ ERROR: node is still EOpNull! 0:96 Constant: 0:96 1 (const int) 0:96 1 (const int) -0:97 move second child to first child (temp 4-component vector of float) -0:97 's' (temp 4-component vector of float) -0:97 textureGatherOffset (global 4-component vector of float) -0:97 'samp2D' (uniform sampler2D) +0:97 move second child to first child ( temp 4-component vector of float) +0:97 's' ( temp 4-component vector of float) +0:97 textureGatherOffset ( global 4-component vector of float) +0:97 'samp2D' ( uniform sampler2D) 0:97 Constant: 0:97 0.300000 0:97 0.300000 @@ -240,66 +240,66 @@ ERROR: node is still EOpNull! 0:97 1 (const int) 0:97 Constant: 0:97 2 (const int) -0:107 Function Definition: bar235( (global void) +0:107 Function Definition: bar235( ( global void) 0:107 Function Parameters: 0:109 Sequence 0:109 Sequence -0:109 move second child to first child (temp 3-component vector of int) -0:109 'a' (temp 3-component vector of int) -0:109 textureSize (global 3-component vector of int) -0:109 'Sca' (uniform samplerCubeArray) +0:109 move second child to first child ( temp 3-component vector of int) +0:109 'a' ( temp 3-component vector of int) +0:109 textureSize ( global 3-component vector of int) +0:109 'Sca' ( uniform samplerCubeArray) 0:109 Constant: 0:109 3 (const int) 0:110 Sequence -0:110 move second child to first child (temp 4-component vector of float) -0:110 'b' (temp 4-component vector of float) -0:110 texture (global 4-component vector of float) -0:110 'Sca' (uniform samplerCubeArray) -0:110 'i' (smooth in 4-component vector of float) +0:110 move second child to first child ( temp 4-component vector of float) +0:110 'b' ( temp 4-component vector of float) +0:110 texture ( global 4-component vector of float) +0:110 'Sca' ( uniform samplerCubeArray) +0:110 'i' ( smooth in 4-component vector of float) 0:111 Sequence -0:111 move second child to first child (temp 4-component vector of int) -0:111 'c' (temp 4-component vector of int) -0:111 texture (global 4-component vector of int) -0:111 'Isca' (uniform isamplerCubeArray) -0:111 'i' (smooth in 4-component vector of float) +0:111 move second child to first child ( temp 4-component vector of int) +0:111 'c' ( temp 4-component vector of int) +0:111 texture ( global 4-component vector of int) +0:111 'Isca' ( uniform isamplerCubeArray) +0:111 'i' ( smooth in 4-component vector of float) 0:111 Constant: 0:111 0.700000 0:112 Sequence -0:112 move second child to first child (temp 4-component vector of uint) -0:112 'd' (temp 4-component vector of uint) -0:112 texture (global 4-component vector of uint) -0:112 'Usca' (uniform usamplerCubeArray) -0:112 'i' (smooth in 4-component vector of float) -0:114 move second child to first child (temp 4-component vector of float) -0:114 'b' (temp 4-component vector of float) -0:114 textureLod (global 4-component vector of float) -0:114 'Sca' (uniform samplerCubeArray) -0:114 'i' (smooth in 4-component vector of float) +0:112 move second child to first child ( temp 4-component vector of uint) +0:112 'd' ( temp 4-component vector of uint) +0:112 texture ( global 4-component vector of uint) +0:112 'Usca' ( uniform usamplerCubeArray) +0:112 'i' ( smooth in 4-component vector of float) +0:114 move second child to first child ( temp 4-component vector of float) +0:114 'b' ( temp 4-component vector of float) +0:114 textureLod ( global 4-component vector of float) +0:114 'Sca' ( uniform samplerCubeArray) +0:114 'i' ( smooth in 4-component vector of float) 0:114 Constant: 0:114 1.700000 -0:115 move second child to first child (temp 3-component vector of int) -0:115 'a' (temp 3-component vector of int) -0:115 textureSize (global 3-component vector of int) -0:115 'Scas' (uniform samplerCubeArrayShadow) -0:115 direct index (temp int) -0:115 'a' (temp 3-component vector of int) +0:115 move second child to first child ( temp 3-component vector of int) +0:115 'a' ( temp 3-component vector of int) +0:115 textureSize ( global 3-component vector of int) +0:115 'Scas' ( uniform samplerCubeArrayShadow) +0:115 direct index ( temp int) +0:115 'a' ( temp 3-component vector of int) 0:115 Constant: 0:115 0 (const int) 0:116 Sequence -0:116 move second child to first child (temp float) -0:116 'f' (temp float) -0:116 texture (global float) -0:116 'Scas' (uniform samplerCubeArrayShadow) -0:116 'i' (smooth in 4-component vector of float) -0:116 direct index (temp float) -0:116 'b' (temp 4-component vector of float) +0:116 move second child to first child ( temp float) +0:116 'f' ( temp float) +0:116 texture ( global float) +0:116 'Scas' ( uniform samplerCubeArrayShadow) +0:116 'i' ( smooth in 4-component vector of float) +0:116 direct index ( temp float) +0:116 'b' ( temp 4-component vector of float) 0:116 Constant: 0:116 1 (const int) -0:117 move second child to first child (temp 4-component vector of int) -0:117 'c' (temp 4-component vector of int) -0:117 textureGrad (global 4-component vector of int) -0:117 'Isca' (uniform isamplerCubeArray) -0:117 'i' (smooth in 4-component vector of float) +0:117 move second child to first child ( temp 4-component vector of int) +0:117 'c' ( temp 4-component vector of int) +0:117 textureGrad ( global 4-component vector of int) +0:117 'Isca' ( uniform isamplerCubeArray) +0:117 'i' ( smooth in 4-component vector of float) 0:117 Constant: 0:117 0.100000 0:117 0.100000 @@ -308,42 +308,42 @@ ERROR: node is still EOpNull! 0:117 0.200000 0:117 0.200000 0:117 0.200000 -0:129 Function Definition: bar23444( (global void) +0:129 Function Definition: bar23444( ( global void) 0:129 Function Parameters: 0:? Sequence 0:132 Sequence -0:132 move second child to first child (temp float) -0:132 'a1' (temp float) -0:132 direct index (temp float) -0:132 direct index (temp 3-component vector of float) -0:132 'm43' (temp 4X3 matrix of float) +0:132 move second child to first child ( temp float) +0:132 'a1' ( temp float) +0:132 direct index ( temp float) +0:132 direct index ( temp 3-component vector of float) +0:132 'm43' ( temp 4X3 matrix of float) 0:132 Constant: 0:132 3 (const int) 0:132 Constant: 0:132 1 (const int) 0:134 Sequence -0:134 move second child to first child (temp int) -0:134 'a2' (temp int) +0:134 move second child to first child ( temp int) +0:134 'a2' ( temp int) 0:134 Constant: 0:134 4 (const int) -0:135 add second child into first child (temp int) -0:135 'a2' (temp int) +0:135 add second child into first child ( temp int) +0:135 'a2' ( temp int) 0:135 Constant: 0:135 3 (const int) -0:136 add second child into first child (temp int) -0:136 'a2' (temp int) +0:136 add second child into first child ( temp int) +0:136 'a2' ( temp int) 0:136 Constant: 0:136 3 (const int) 0:137 Sequence -0:137 move second child to first child (temp float) -0:137 'b' (const (read only) float) -0:137 component-wise multiply (temp float) +0:137 move second child to first child ( temp float) +0:137 'b' ( const (read only) float) +0:137 component-wise multiply ( temp float) 0:137 Constant: 0:137 2.000000 -0:137 'a1' (temp float) -0:138 move second child to first child (temp float) -0:138 direct index (temp float) -0:138 'a' (global 3-component vector of float) +0:137 'a1' ( temp float) +0:138 move second child to first child ( temp float) +0:138 direct index ( temp float) +0:138 'a' ( global 3-component vector of float) 0:138 Constant: 0:138 0 (const int) 0:138 Constant: @@ -354,54 +354,54 @@ ERROR: node is still EOpNull! 0:141 0.000000 0:143 Constant: 0:143 1 (const int) -0:162 Function Definition: qux2( (global void) +0:162 Function Definition: qux2( ( global void) 0:162 Function Parameters: 0:? Sequence -0:165 imageAtomicCompSwap (global int) -0:165 'iimg2D' (layout(r32i ) uniform iimage2D) -0:165 Construct ivec2 (temp 2-component vector of int) -0:165 'i' (temp int) -0:165 'i' (temp int) -0:165 'i' (temp int) -0:165 'i' (temp int) +0:165 imageAtomicCompSwap ( global int) +0:165 'iimg2D' (layout( r32i) uniform iimage2D) +0:165 Construct ivec2 ( temp 2-component vector of int) +0:165 'i' ( temp int) +0:165 'i' ( temp int) +0:165 'i' ( temp int) +0:165 'i' ( temp int) 0:166 Sequence -0:166 move second child to first child (temp 4-component vector of int) -0:166 'pos' (temp 4-component vector of int) -0:166 imageLoad (global 4-component vector of int) -0:166 'iimg2D' (layout(r32i ) uniform iimage2D) -0:166 Construct ivec2 (temp 2-component vector of int) -0:166 'i' (temp int) -0:166 'i' (temp int) +0:166 move second child to first child ( temp 4-component vector of int) +0:166 'pos' ( temp 4-component vector of int) +0:166 imageLoad ( global 4-component vector of int) +0:166 'iimg2D' (layout( r32i) uniform iimage2D) +0:166 Construct ivec2 ( temp 2-component vector of int) +0:166 'i' ( temp int) +0:166 'i' ( temp int) 0:? Linker Objects -0:? 'a' (global 3-component vector of float) -0:? 'b' (global float) -0:? 'c' (global int) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 'fflat' (flat in float) -0:? 'fsmooth' (smooth in float) -0:? 'fnop' (noperspective in float) -0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance) -0:? 'sampC' (uniform samplerCube) -0:? 'gl_Color' (in 4-component vector of float Color) -0:? 'samp2D' (uniform sampler2D) -0:? 'samp2DS' (uniform sampler2DShadow) -0:? 'samp2DR' (uniform sampler2DRect) -0:? 'samp2DA' (uniform sampler2DArray) -0:? 'Sca' (uniform samplerCubeArray) -0:? 'Isca' (uniform isamplerCubeArray) -0:? 'Usca' (uniform usamplerCubeArray) -0:? 'Scas' (uniform samplerCubeArrayShadow) -0:? 'x' (global int) -0:? 'ai' (const 3-element array of int) +0:? 'a' ( global 3-component vector of float) +0:? 'b' ( global float) +0:? 'c' ( global int) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 'fflat' ( flat in float) +0:? 'fsmooth' ( smooth in float) +0:? 'fnop' ( noperspective in float) +0:? 'gl_ClipDistance' ( smooth in implicitly-sized array of float ClipDistance) +0:? 'sampC' ( uniform samplerCube) +0:? 'gl_Color' ( in 4-component vector of float Color) +0:? 'samp2D' ( uniform sampler2D) +0:? 'samp2DS' ( uniform sampler2DShadow) +0:? 'samp2DR' ( uniform sampler2DRect) +0:? 'samp2DA' ( uniform sampler2DArray) +0:? 'Sca' ( uniform samplerCubeArray) +0:? 'Isca' ( uniform isamplerCubeArray) +0:? 'Usca' ( uniform usamplerCubeArray) +0:? 'Scas' ( uniform samplerCubeArrayShadow) +0:? 'x' ( global int) +0:? 'ai' ( const 3-element array of int) 0:? 10 (const int) 0:? 23 (const int) 0:? 32 (const int) -0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'bounds' (layout(binding=0 ) uniform sampler2D) -0:? 'gl_FogFragCoord' (smooth in float) -0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D) -0:? 'iimg2D' (layout(r32i ) uniform iimage2D) +0:? 'instanceName' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform int a}) +0:? 'bounds' (layout( binding=0) uniform sampler2D) +0:? 'gl_FogFragCoord' ( smooth in float) +0:? 'iimg2Dbad' (layout( r32i) uniform iimage2D) +0:? 'iimg2D' (layout( r32i) uniform iimage2D) Linked fragment stage: @@ -417,44 +417,44 @@ Requested GL_ARB_texture_gather Requested GL_ARB_texture_rectangle using early_fragment_tests ERROR: node is still EOpNull! -0:16 Function Definition: main( (global void) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:18 Sequence 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'clip' (temp float) -0:18 direct index (smooth temp float ClipDistance) -0:18 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) +0:18 move second child to first child ( temp float) +0:18 'clip' ( temp float) +0:18 direct index ( smooth temp float ClipDistance) +0:18 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) 0:18 Constant: 0:18 3 (const int) 0:? Linker Objects -0:? 'a' (global 3-component vector of float) -0:? 'b' (global float) -0:? 'c' (global int) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 'fflat' (flat in float) -0:? 'fsmooth' (smooth in float) -0:? 'fnop' (noperspective in float) -0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) -0:? 'sampC' (uniform samplerCube) -0:? 'gl_Color' (in 4-component vector of float Color) -0:? 'samp2D' (uniform sampler2D) -0:? 'samp2DS' (uniform sampler2DShadow) -0:? 'samp2DR' (uniform sampler2DRect) -0:? 'samp2DA' (uniform sampler2DArray) -0:? 'Sca' (uniform samplerCubeArray) -0:? 'Isca' (uniform isamplerCubeArray) -0:? 'Usca' (uniform usamplerCubeArray) -0:? 'Scas' (uniform samplerCubeArrayShadow) -0:? 'x' (global int) -0:? 'ai' (const 3-element array of int) +0:? 'a' ( global 3-component vector of float) +0:? 'b' ( global float) +0:? 'c' ( global int) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 'fflat' ( flat in float) +0:? 'fsmooth' ( smooth in float) +0:? 'fnop' ( noperspective in float) +0:? 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) +0:? 'sampC' ( uniform samplerCube) +0:? 'gl_Color' ( in 4-component vector of float Color) +0:? 'samp2D' ( uniform sampler2D) +0:? 'samp2DS' ( uniform sampler2DShadow) +0:? 'samp2DR' ( uniform sampler2DRect) +0:? 'samp2DA' ( uniform sampler2DArray) +0:? 'Sca' ( uniform samplerCubeArray) +0:? 'Isca' ( uniform isamplerCubeArray) +0:? 'Usca' ( uniform usamplerCubeArray) +0:? 'Scas' ( uniform samplerCubeArrayShadow) +0:? 'x' ( global int) +0:? 'ai' ( const 3-element array of int) 0:? 10 (const int) 0:? 23 (const int) 0:? 32 (const int) -0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'bounds' (layout(binding=0 ) uniform sampler2D) -0:? 'gl_FogFragCoord' (smooth in float) -0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D) -0:? 'iimg2D' (layout(r32i ) uniform iimage2D) +0:? 'instanceName' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform int a}) +0:? 'bounds' (layout( binding=0) uniform sampler2D) +0:? 'gl_FogFragCoord' ( smooth in float) +0:? 'iimg2Dbad' (layout( r32i) uniform iimage2D) +0:? 'iimg2D' (layout( r32i) uniform iimage2D) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.vert.out index 7ca32a13aa1..7ec82ada7f7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/130.vert.out @@ -1,155 +1,155 @@ 130.vert ERROR: 0:59: 'gl_InstanceID' : undeclared identifier -ERROR: 0:59: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:59: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:61: 'texelFetch' : no matching overloaded function found -ERROR: 0:61: 'assign' : cannot convert from 'const float' to 'temp int' +ERROR: 0:61: 'assign' : cannot convert from ' const float' to ' temp int' ERROR: 4 compilation errors. No code generated. Shader version: 130 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'f' (temp float) +0:17 move second child to first child ( temp float) +0:17 'f' ( temp float) 0:17 Constant: 0:17 3.000000 0:18 switch 0:18 condition -0:18 'c' (uniform int) +0:18 'c' ( uniform int) 0:18 body 0:18 Sequence 0:19 case: with expression 0:19 Constant: 0:19 1 (const int) 0:? Sequence -0:20 move second child to first child (temp float) -0:20 'f' (temp float) -0:20 sine (global float) -0:20 'f' (temp float) +0:20 move second child to first child ( temp float) +0:20 'f' ( temp float) +0:20 sine ( global float) +0:20 'f' ( temp float) 0:21 Branch: Break 0:22 case: with expression 0:22 Constant: 0:22 2 (const int) 0:? Sequence -0:23 move second child to first child (temp float) -0:23 'f' (temp float) -0:23 component-wise multiply (temp float) -0:23 'f' (temp float) -0:23 'f' (temp float) +0:23 move second child to first child ( temp float) +0:23 'f' ( temp float) +0:23 component-wise multiply ( temp float) +0:23 'f' ( temp float) +0:23 'f' ( temp float) 0:24 default: 0:? Sequence -0:25 move second child to first child (temp float) -0:25 'f' (temp float) +0:25 move second child to first child ( temp float) +0:25 'f' ( temp float) 0:25 Constant: 0:25 3.000000 -0:29 move second child to first child (temp uint) -0:29 'i' (temp uint) -0:29 direct index (temp uint) -0:29 texture (global 4-component vector of uint) -0:29 'us2D' (uniform usampler2D) -0:29 Convert int to float (temp 2-component vector of float) -0:29 'x' (in 2-component vector of int) +0:29 move second child to first child ( temp uint) +0:29 'i' ( temp uint) +0:29 direct index ( temp uint) +0:29 texture ( global 4-component vector of uint) +0:29 'us2D' ( uniform usampler2D) +0:29 Convert int to float ( temp 2-component vector of float) +0:29 'x' ( in 2-component vector of int) 0:29 Constant: 0:29 3 (const int) -0:30 inclusive-or (temp uint) -0:30 left-shift (temp uint) -0:30 'i' (temp uint) +0:30 inclusive-or ( temp uint) +0:30 left-shift ( temp uint) +0:30 'i' ( temp uint) 0:30 Constant: 0:30 3 (const uint) 0:30 Constant: 0:30 69 (const uint) 0:33 Sequence -0:33 move second child to first child (temp 3-component vector of float) -0:33 'v11' (temp 3-component vector of float) -0:33 modf (global 3-component vector of float) -0:33 'modfIn' (temp 3-component vector of float) -0:33 'modfOut' (temp 3-component vector of float) +0:33 move second child to first child ( temp 3-component vector of float) +0:33 'v11' ( temp 3-component vector of float) +0:33 modf ( global 3-component vector of float) +0:33 'modfIn' ( temp 3-component vector of float) +0:33 'modfOut' ( temp 3-component vector of float) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 't' (temp float) -0:34 trunc (global float) -0:34 'f' (temp float) +0:34 move second child to first child ( temp float) +0:34 't' ( temp float) +0:34 trunc ( global float) +0:34 'f' ( temp float) 0:35 Sequence -0:35 move second child to first child (temp 2-component vector of float) -0:35 'v12' (temp 2-component vector of float) -0:35 round (global 2-component vector of float) -0:35 'v2a' (in 2-component vector of float) +0:35 move second child to first child ( temp 2-component vector of float) +0:35 'v12' ( temp 2-component vector of float) +0:35 round ( global 2-component vector of float) +0:35 'v2a' ( in 2-component vector of float) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of float) -0:36 'v13' (temp 2-component vector of float) -0:36 roundEven (global 2-component vector of float) -0:36 'v2a' (in 2-component vector of float) +0:36 move second child to first child ( temp 2-component vector of float) +0:36 'v13' ( temp 2-component vector of float) +0:36 roundEven ( global 2-component vector of float) +0:36 'v2a' ( in 2-component vector of float) 0:37 Sequence -0:37 move second child to first child (temp 2-component vector of bool) -0:37 'b10' (temp 2-component vector of bool) -0:37 isnan (global 2-component vector of bool) -0:37 'v2a' (in 2-component vector of float) +0:37 move second child to first child ( temp 2-component vector of bool) +0:37 'b10' ( temp 2-component vector of bool) +0:37 isnan ( global 2-component vector of bool) +0:37 'v2a' ( in 2-component vector of float) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b11' (temp 4-component vector of bool) -0:38 isinf (global 4-component vector of bool) -0:38 'v4' (uniform 4-component vector of float) -0:40 add (temp 2-component vector of float) -0:40 hyp. sine (global float) -0:40 'c1D' (in float) -0:41 vector-scale (temp 2-component vector of float) -0:41 hyp. cosine (global float) -0:41 'c1D' (in float) -0:41 hyp. tangent (global 2-component vector of float) -0:41 'c2D' (in 2-component vector of float) -0:42 add (temp 4-component vector of float) -0:42 arc hyp. sine (global 4-component vector of float) -0:42 'c4D' (smooth temp 4-component vector of float) -0:42 arc hyp. cosine (global 4-component vector of float) -0:42 'c4D' (smooth temp 4-component vector of float) -0:43 arc hyp. tangent (global 3-component vector of float) -0:43 'c3D' (in 3-component vector of float) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b11' ( temp 4-component vector of bool) +0:38 isinf ( global 4-component vector of bool) +0:38 'v4' ( uniform 4-component vector of float) +0:40 add ( temp 2-component vector of float) +0:40 hyp. sine ( global float) +0:40 'c1D' ( in float) +0:41 vector-scale ( temp 2-component vector of float) +0:41 hyp. cosine ( global float) +0:41 'c1D' ( in float) +0:41 hyp. tangent ( global 2-component vector of float) +0:41 'c2D' ( in 2-component vector of float) +0:42 add ( temp 4-component vector of float) +0:42 arc hyp. sine ( global 4-component vector of float) +0:42 'c4D' ( smooth temp 4-component vector of float) +0:42 arc hyp. cosine ( global 4-component vector of float) +0:42 'c4D' ( smooth temp 4-component vector of float) +0:43 arc hyp. tangent ( global 3-component vector of float) +0:43 'c3D' ( in 3-component vector of float) 0:45 Sequence -0:45 move second child to first child (temp int) -0:45 'id' (temp int) -0:45 'gl_VertexID' (gl_VertexId int VertexId) -0:46 move second child to first child (temp float) -0:46 direct index (smooth temp float ClipDistance) -0:46 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance) +0:45 move second child to first child ( temp int) +0:45 'id' ( temp int) +0:45 'gl_VertexID' ( gl_VertexId int VertexId) +0:46 move second child to first child ( temp float) +0:46 direct index ( smooth temp float ClipDistance) +0:46 'gl_ClipDistance' ( smooth out implicitly-sized array of float ClipDistance) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 0.300000 -0:57 Function Definition: foo88( (global void) +0:57 Function Definition: foo88( ( global void) 0:57 Function Parameters: 0:? Sequence -0:61 'id' (temp int) -0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:64 'gl_Color' (in 4-component vector of float Color) -0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) -0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:61 'id' ( temp int) +0:63 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:64 'gl_Color' ( in 4-component vector of float Color) +0:65 direct index ( temp structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:65 'gl_LightSource' ( uniform 32-element array of structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) 0:65 Constant: 0:65 0 (const int) -0:66 far: direct index for structure (global float) -0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff}) +0:66 far: direct index for structure ( global float) +0:66 'gl_DepthRange' ( uniform structure{ global float near, global float far, global float diff}) 0:66 Constant: 0:66 1 (const int) -0:67 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord) -0:68 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor) +0:67 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord) +0:68 'gl_FogFragCoord' ( smooth out float FogFragCoord) +0:69 'gl_FrontColor' ( smooth out 4-component vector of float FrontColor) 0:? Linker Objects -0:? 'c' (uniform int) -0:? 'us2D' (uniform usampler2D) -0:? 'x' (in 2-component vector of int) -0:? 'v2a' (in 2-component vector of float) -0:? 'c1D' (in float) -0:? 'c2D' (in 2-component vector of float) -0:? 'c3D' (in 3-component vector of float) -0:? 'c4D' (smooth temp 4-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance) -0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord) -0:? 'abcdef' (global int) -0:? 'qrstuv' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) +0:? 'c' ( uniform int) +0:? 'us2D' ( uniform usampler2D) +0:? 'x' ( in 2-component vector of int) +0:? 'v2a' ( in 2-component vector of float) +0:? 'c1D' ( in float) +0:? 'c2D' ( in 2-component vector of float) +0:? 'c3D' ( in 3-component vector of float) +0:? 'c4D' ( smooth temp 4-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'gl_ClipDistance' ( smooth out implicitly-sized array of float ClipDistance) +0:? 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord) +0:? 'abcdef' ( global int) +0:? 'qrstuv' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) Linked vertex stage: @@ -158,129 +158,129 @@ ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVerte Shader version: 130 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'f' (temp float) +0:17 move second child to first child ( temp float) +0:17 'f' ( temp float) 0:17 Constant: 0:17 3.000000 0:18 switch 0:18 condition -0:18 'c' (uniform int) +0:18 'c' ( uniform int) 0:18 body 0:18 Sequence 0:19 case: with expression 0:19 Constant: 0:19 1 (const int) 0:? Sequence -0:20 move second child to first child (temp float) -0:20 'f' (temp float) -0:20 sine (global float) -0:20 'f' (temp float) +0:20 move second child to first child ( temp float) +0:20 'f' ( temp float) +0:20 sine ( global float) +0:20 'f' ( temp float) 0:21 Branch: Break 0:22 case: with expression 0:22 Constant: 0:22 2 (const int) 0:? Sequence -0:23 move second child to first child (temp float) -0:23 'f' (temp float) -0:23 component-wise multiply (temp float) -0:23 'f' (temp float) -0:23 'f' (temp float) +0:23 move second child to first child ( temp float) +0:23 'f' ( temp float) +0:23 component-wise multiply ( temp float) +0:23 'f' ( temp float) +0:23 'f' ( temp float) 0:24 default: 0:? Sequence -0:25 move second child to first child (temp float) -0:25 'f' (temp float) +0:25 move second child to first child ( temp float) +0:25 'f' ( temp float) 0:25 Constant: 0:25 3.000000 -0:29 move second child to first child (temp uint) -0:29 'i' (temp uint) -0:29 direct index (temp uint) -0:29 texture (global 4-component vector of uint) -0:29 'us2D' (uniform usampler2D) -0:29 Convert int to float (temp 2-component vector of float) -0:29 'x' (in 2-component vector of int) +0:29 move second child to first child ( temp uint) +0:29 'i' ( temp uint) +0:29 direct index ( temp uint) +0:29 texture ( global 4-component vector of uint) +0:29 'us2D' ( uniform usampler2D) +0:29 Convert int to float ( temp 2-component vector of float) +0:29 'x' ( in 2-component vector of int) 0:29 Constant: 0:29 3 (const int) -0:30 inclusive-or (temp uint) -0:30 left-shift (temp uint) -0:30 'i' (temp uint) +0:30 inclusive-or ( temp uint) +0:30 left-shift ( temp uint) +0:30 'i' ( temp uint) 0:30 Constant: 0:30 3 (const uint) 0:30 Constant: 0:30 69 (const uint) 0:33 Sequence -0:33 move second child to first child (temp 3-component vector of float) -0:33 'v11' (temp 3-component vector of float) -0:33 modf (global 3-component vector of float) -0:33 'modfIn' (temp 3-component vector of float) -0:33 'modfOut' (temp 3-component vector of float) +0:33 move second child to first child ( temp 3-component vector of float) +0:33 'v11' ( temp 3-component vector of float) +0:33 modf ( global 3-component vector of float) +0:33 'modfIn' ( temp 3-component vector of float) +0:33 'modfOut' ( temp 3-component vector of float) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 't' (temp float) -0:34 trunc (global float) -0:34 'f' (temp float) +0:34 move second child to first child ( temp float) +0:34 't' ( temp float) +0:34 trunc ( global float) +0:34 'f' ( temp float) 0:35 Sequence -0:35 move second child to first child (temp 2-component vector of float) -0:35 'v12' (temp 2-component vector of float) -0:35 round (global 2-component vector of float) -0:35 'v2a' (in 2-component vector of float) +0:35 move second child to first child ( temp 2-component vector of float) +0:35 'v12' ( temp 2-component vector of float) +0:35 round ( global 2-component vector of float) +0:35 'v2a' ( in 2-component vector of float) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of float) -0:36 'v13' (temp 2-component vector of float) -0:36 roundEven (global 2-component vector of float) -0:36 'v2a' (in 2-component vector of float) +0:36 move second child to first child ( temp 2-component vector of float) +0:36 'v13' ( temp 2-component vector of float) +0:36 roundEven ( global 2-component vector of float) +0:36 'v2a' ( in 2-component vector of float) 0:37 Sequence -0:37 move second child to first child (temp 2-component vector of bool) -0:37 'b10' (temp 2-component vector of bool) -0:37 isnan (global 2-component vector of bool) -0:37 'v2a' (in 2-component vector of float) +0:37 move second child to first child ( temp 2-component vector of bool) +0:37 'b10' ( temp 2-component vector of bool) +0:37 isnan ( global 2-component vector of bool) +0:37 'v2a' ( in 2-component vector of float) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b11' (temp 4-component vector of bool) -0:38 isinf (global 4-component vector of bool) -0:38 'v4' (uniform 4-component vector of float) -0:40 add (temp 2-component vector of float) -0:40 hyp. sine (global float) -0:40 'c1D' (in float) -0:41 vector-scale (temp 2-component vector of float) -0:41 hyp. cosine (global float) -0:41 'c1D' (in float) -0:41 hyp. tangent (global 2-component vector of float) -0:41 'c2D' (in 2-component vector of float) -0:42 add (temp 4-component vector of float) -0:42 arc hyp. sine (global 4-component vector of float) -0:42 'c4D' (smooth temp 4-component vector of float) -0:42 arc hyp. cosine (global 4-component vector of float) -0:42 'c4D' (smooth temp 4-component vector of float) -0:43 arc hyp. tangent (global 3-component vector of float) -0:43 'c3D' (in 3-component vector of float) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b11' ( temp 4-component vector of bool) +0:38 isinf ( global 4-component vector of bool) +0:38 'v4' ( uniform 4-component vector of float) +0:40 add ( temp 2-component vector of float) +0:40 hyp. sine ( global float) +0:40 'c1D' ( in float) +0:41 vector-scale ( temp 2-component vector of float) +0:41 hyp. cosine ( global float) +0:41 'c1D' ( in float) +0:41 hyp. tangent ( global 2-component vector of float) +0:41 'c2D' ( in 2-component vector of float) +0:42 add ( temp 4-component vector of float) +0:42 arc hyp. sine ( global 4-component vector of float) +0:42 'c4D' ( smooth temp 4-component vector of float) +0:42 arc hyp. cosine ( global 4-component vector of float) +0:42 'c4D' ( smooth temp 4-component vector of float) +0:43 arc hyp. tangent ( global 3-component vector of float) +0:43 'c3D' ( in 3-component vector of float) 0:45 Sequence -0:45 move second child to first child (temp int) -0:45 'id' (temp int) -0:45 'gl_VertexID' (gl_VertexId int VertexId) -0:46 move second child to first child (temp float) -0:46 direct index (smooth temp float ClipDistance) -0:46 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance) +0:45 move second child to first child ( temp int) +0:45 'id' ( temp int) +0:45 'gl_VertexID' ( gl_VertexId int VertexId) +0:46 move second child to first child ( temp float) +0:46 direct index ( smooth temp float ClipDistance) +0:46 'gl_ClipDistance' ( smooth out 2-element array of float ClipDistance) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 0.300000 0:? Linker Objects -0:? 'c' (uniform int) -0:? 'us2D' (uniform usampler2D) -0:? 'x' (in 2-component vector of int) -0:? 'v2a' (in 2-component vector of float) -0:? 'c1D' (in float) -0:? 'c2D' (in 2-component vector of float) -0:? 'c3D' (in 3-component vector of float) -0:? 'c4D' (smooth temp 4-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance) -0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord) -0:? 'abcdef' (global int) -0:? 'qrstuv' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) +0:? 'c' ( uniform int) +0:? 'us2D' ( uniform usampler2D) +0:? 'x' ( in 2-component vector of int) +0:? 'v2a' ( in 2-component vector of float) +0:? 'c1D' ( in float) +0:? 'c2D' ( in 2-component vector of float) +0:? 'c3D' ( in 3-component vector of float) +0:? 'c4D' ( smooth temp 4-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'gl_ClipDistance' ( smooth out 2-element array of float ClipDistance) +0:? 'gl_TexCoord' ( smooth out 1-element array of 4-component vector of float TexCoord) +0:? 'abcdef' ( global int) +0:? 'qrstuv' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.frag.out index 224cd30d8e7..7ce21703624 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.frag.out @@ -15,72 +15,72 @@ Shader version: 140 Requested GL_ARB_explicit_attrib_location Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'clip' (temp float) -0:12 direct index (smooth temp float ClipDistance) -0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) +0:12 move second child to first child ( temp float) +0:12 'clip' ( temp float) +0:12 direct index ( smooth temp float ClipDistance) +0:12 'gl_ClipDistance' ( smooth in 5-element array of float ClipDistance) 0:12 Constant: 0:12 2 (const int) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'patch' (global float) +0:22 move second child to first child ( temp float) +0:22 'patch' ( global float) 0:22 Constant: 0:22 3.100000 -0:38 Function Definition: foo( (global void) +0:38 Function Definition: foo( ( global void) 0:38 Function Parameters: 0:40 Sequence 0:40 Sequence -0:40 move second child to first child (temp 2-component vector of float) -0:40 'r1' (temp 2-component vector of float) -0:40 modf (global 2-component vector of float) -0:40 vector swizzle (temp 2-component vector of float) -0:40 'v' (smooth in 4-component vector of float) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 'r1' ( temp 2-component vector of float) +0:40 modf ( global 2-component vector of float) +0:40 vector swizzle ( temp 2-component vector of float) +0:40 'v' ( smooth in 4-component vector of float) 0:40 Sequence 0:40 Constant: 0:40 0 (const int) 0:40 Constant: 0:40 1 (const int) -0:40 vector swizzle (temp 2-component vector of float) -0:40 'v' (smooth in 4-component vector of float) +0:40 vector swizzle ( temp 2-component vector of float) +0:40 'v' ( smooth in 4-component vector of float) 0:40 Sequence 0:40 Constant: 0:40 2 (const int) 0:40 Constant: 0:40 3 (const int) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of float) -0:41 'r2' (temp 2-component vector of float) -0:41 modf (global 2-component vector of float) -0:41 vector swizzle (temp 2-component vector of float) -0:41 'o' (out 4-component vector of float) +0:41 move second child to first child ( temp 2-component vector of float) +0:41 'r2' ( temp 2-component vector of float) +0:41 modf ( global 2-component vector of float) +0:41 vector swizzle ( temp 2-component vector of float) +0:41 'o' ( out 4-component vector of float) 0:41 Sequence 0:41 Constant: 0:41 0 (const int) 0:41 Constant: 0:41 1 (const int) -0:41 vector swizzle (temp 2-component vector of float) -0:41 'o' (out 4-component vector of float) +0:41 vector swizzle ( temp 2-component vector of float) +0:41 'o' ( out 4-component vector of float) 0:41 Sequence 0:41 Constant: 0:41 2 (const int) 0:41 Constant: 0:41 3 (const int) -0:42 move second child to first child (temp float) -0:42 direct index (temp float) -0:42 'o' (out 4-component vector of float) +0:42 move second child to first child ( temp float) +0:42 direct index ( temp float) +0:42 'o' ( out 4-component vector of float) 0:42 Constant: 0:42 2 (const int) -0:42 Function Call: fooi( (global float) +0:42 Function Call: fooi( ( global float) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'i1' (global float) -0:47 Test condition and select (temp float) +0:47 move second child to first child ( temp float) +0:47 'i1' ( global float) +0:47 Test condition and select ( temp float) 0:47 Condition -0:47 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:47 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:47 true case 0:47 Constant: 0:47 -2.000000 @@ -88,30 +88,30 @@ ERROR: node is still EOpNull! 0:47 Constant: 0:47 2.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'i2' (global float) +0:48 move second child to first child ( temp float) +0:48 'i2' ( global float) 0:48 Constant: 0:48 102.000000 -0:50 Function Definition: fooi( (global float) +0:50 Function Definition: fooi( ( global float) 0:50 Function Parameters: 0:52 Sequence 0:52 Branch: Return with expression -0:52 add (temp float) -0:52 'i1' (global float) -0:52 'i2' (global float) +0:52 add ( temp float) +0:52 'i1' ( global float) +0:52 'i2' ( global float) 0:? Linker Objects -0:? 'v' (smooth in 4-component vector of float) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) -0:? 's' (smooth in structure{global float f}) -0:? 'patch' (global float) -0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float) -0:? 'factorBad' (layout(location=3 ) out 4-component vector of float) -0:? 'factor' (layout(location=5 ) out 4-component vector of float) -0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'i1' (global float) -0:? 'i2' (global float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 'gl_ClipDistance' ( smooth in 5-element array of float ClipDistance) +0:? 's' ( smooth in structure{ global float f}) +0:? 'patch' ( global float) +0:? 'vl' (layout( location=3) smooth in 4-component vector of float) +0:? 'factorBad' (layout( location=3) out 4-component vector of float) +0:? 'factor' (layout( location=5) out 4-component vector of float) +0:? 'vl2' (layout( location=4) smooth in 4-component vector of float) +0:? 'i1' ( global float) +0:? 'i2' ( global float) Linked fragment stage: @@ -121,27 +121,27 @@ Shader version: 140 Requested GL_ARB_explicit_attrib_location Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'clip' (temp float) -0:12 direct index (smooth temp float ClipDistance) -0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) +0:12 move second child to first child ( temp float) +0:12 'clip' ( temp float) +0:12 direct index ( smooth temp float ClipDistance) +0:12 'gl_ClipDistance' ( smooth in 5-element array of float ClipDistance) 0:12 Constant: 0:12 2 (const int) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'patch' (global float) +0:22 move second child to first child ( temp float) +0:22 'patch' ( global float) 0:22 Constant: 0:22 3.100000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'i1' (global float) -0:47 Test condition and select (temp float) +0:47 move second child to first child ( temp float) +0:47 'i1' ( global float) +0:47 Test condition and select ( temp float) 0:47 Condition -0:47 'gl_FrontFacing' (gl_FrontFacing bool Face) +0:47 'gl_FrontFacing' ( gl_FrontFacing bool Face) 0:47 true case 0:47 Constant: 0:47 -2.000000 @@ -149,21 +149,21 @@ ERROR: node is still EOpNull! 0:47 Constant: 0:47 2.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'i2' (global float) +0:48 move second child to first child ( temp float) +0:48 'i2' ( global float) 0:48 Constant: 0:48 102.000000 0:? Linker Objects -0:? 'v' (smooth in 4-component vector of float) -0:? 'i' (smooth in 4-component vector of float) -0:? 'o' (out 4-component vector of float) -0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) -0:? 's' (smooth in structure{global float f}) -0:? 'patch' (global float) -0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float) -0:? 'factorBad' (layout(location=3 ) out 4-component vector of float) -0:? 'factor' (layout(location=5 ) out 4-component vector of float) -0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'i1' (global float) -0:? 'i2' (global float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'i' ( smooth in 4-component vector of float) +0:? 'o' ( out 4-component vector of float) +0:? 'gl_ClipDistance' ( smooth in 5-element array of float ClipDistance) +0:? 's' ( smooth in structure{ global float f}) +0:? 'patch' ( global float) +0:? 'vl' (layout( location=3) smooth in 4-component vector of float) +0:? 'factorBad' (layout( location=3) out 4-component vector of float) +0:? 'factor' (layout( location=5) out 4-component vector of float) +0:? 'vl2' (layout( location=4) smooth in 4-component vector of float) +0:? 'i1' ( global float) +0:? 'i2' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.vert.out index e7f88e32075..975c93293ac 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/140.vert.out @@ -9,90 +9,94 @@ ERROR: 0:38: 'gl_ClipVertex' : cannot redeclare after use ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use ERROR: 0:51: 'texelFetch' : no matching overloaded function found ERROR: 0:53: 'texture' : no matching overloaded function found -ERROR: 10 compilation errors. No code generated. +ERROR: 0:63: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:64: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 12 compilation errors. No code generated. Shader version: 140 Requested GL_ARB_explicit_attrib_location Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'id' (temp int) -0:11 'gl_InstanceID' (gl_InstanceId int InstanceId) -0:12 add second child into first child (temp int) -0:12 'id' (temp int) -0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int) -0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem}) +0:11 move second child to first child ( temp int) +0:11 'id' ( temp int) +0:11 'gl_InstanceID' ( gl_InstanceId int InstanceId) +0:12 add second child into first child ( temp int) +0:12 'id' ( temp int) +0:12 anonMem: direct index for structure (layout( column_major std140 offset=0) uniform int) +0:12 'anon@0' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform int anonMem}) 0:12 Constant: 0:12 0 (const uint) -0:13 add second child into first child (temp int) -0:13 'id' (temp int) -0:13 direct index (temp int) -0:13 textureFetch (global 4-component vector of int) -0:13 'sbuf' (uniform isamplerBuffer) +0:13 add second child into first child ( temp int) +0:13 'id' ( temp int) +0:13 direct index ( temp int) +0:13 textureFetch ( global 4-component vector of int) +0:13 'sbuf' ( uniform isamplerBuffer) 0:13 Constant: 0:13 8 (const int) 0:13 Constant: 0:13 3 (const int) -0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:15 'gl_Color' (in 4-component vector of float Color) -0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) -0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:14 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:15 'gl_Color' ( in 4-component vector of float Color) +0:16 direct index ( temp structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:16 'gl_LightSource' ( uniform 32-element array of structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) 0:16 Constant: 0:16 0 (const int) -0:17 far: direct index for structure (global float) -0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff}) +0:17 far: direct index for structure ( global float) +0:17 'gl_DepthRange' ( uniform structure{ global float near, global float far, global float diff}) 0:17 Constant: 0:17 1 (const int) -0:18 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord) -0:19 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor) -0:48 Function Definition: foo( (global void) +0:18 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord) +0:19 'gl_FogFragCoord' ( smooth out float FogFragCoord) +0:20 'gl_FrontColor' ( smooth out 4-component vector of float FrontColor) +0:48 Function Definition: foo( ( global void) 0:48 Function Parameters: 0:50 Sequence 0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:50 textureFetch (global 4-component vector of float) -0:50 's2dr' (uniform sampler2DRect) -0:50 'itloc2' (in 2-component vector of int) -0:51 add second child into first child (temp 4-component vector of float) -0:51 'v' (temp 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:50 textureFetch ( global 4-component vector of float) +0:50 's2dr' ( uniform sampler2DRect) +0:50 'itloc2' ( in 2-component vector of int) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'v' ( temp 4-component vector of float) 0:51 Constant: 0:51 0.000000 -0:52 add second child into first child (temp 4-component vector of float) -0:52 'v' (temp 4-component vector of float) -0:52 texture (global 4-component vector of float) -0:52 's2dr' (uniform sampler2DRect) -0:52 'tloc2' (in 2-component vector of float) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'v' (temp 4-component vector of float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'v' ( temp 4-component vector of float) +0:52 texture ( global 4-component vector of float) +0:52 's2dr' ( uniform sampler2DRect) +0:52 'tloc2' ( in 2-component vector of float) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'v' ( temp 4-component vector of float) 0:53 Constant: 0:53 0.000000 -0:54 add second child into first child (temp 4-component vector of float) -0:54 'v' (temp 4-component vector of float) -0:54 texture (global float) -0:54 's2drs' (uniform sampler2DRectShadow) -0:54 'tloc3' (in 3-component vector of float) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:55 textureProj (global 4-component vector of float) -0:55 's2dr' (uniform sampler2DRect) -0:55 'tloc3' (in 3-component vector of float) -0:56 add second child into first child (temp 4-component vector of float) -0:56 'v' (temp 4-component vector of float) -0:56 textureProj (global 4-component vector of float) -0:56 's2dr' (uniform sampler2DRect) -0:56 'tloc4' (in 4-component vector of float) -0:57 add second child into first child (temp 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:57 textureProjGradOffset (global 4-component vector of float) -0:57 's2dr' (uniform sampler2DRect) -0:57 'tloc4' (in 4-component vector of float) +0:54 add second child into first child ( temp 4-component vector of float) +0:54 'v' ( temp 4-component vector of float) +0:54 texture ( global float) +0:54 's2drs' ( uniform sampler2DRectShadow) +0:54 'tloc3' ( in 3-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:55 textureProj ( global 4-component vector of float) +0:55 's2dr' ( uniform sampler2DRect) +0:55 'tloc3' ( in 3-component vector of float) +0:56 add second child into first child ( temp 4-component vector of float) +0:56 'v' ( temp 4-component vector of float) +0:56 textureProj ( global 4-component vector of float) +0:56 's2dr' ( uniform sampler2DRect) +0:56 'tloc4' ( in 4-component vector of float) +0:57 add second child into first child ( temp 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:57 textureProjGradOffset ( global 4-component vector of float) +0:57 's2dr' ( uniform sampler2DRect) +0:57 'tloc4' ( in 4-component vector of float) 0:57 Constant: 0:57 0.000000 0:57 0.000000 @@ -102,11 +106,11 @@ ERROR: node is still EOpNull! 0:57 Constant: 0:57 1 (const int) 0:57 2 (const int) -0:58 add second child into first child (temp 4-component vector of float) -0:58 'v' (temp 4-component vector of float) -0:58 textureProjGradOffset (global float) -0:58 's2drs' (uniform sampler2DRectShadow) -0:58 'tloc4' (in 4-component vector of float) +0:58 add second child into first child ( temp 4-component vector of float) +0:58 'v' ( temp 4-component vector of float) +0:58 textureProjGradOffset ( global float) +0:58 's2drs' ( uniform sampler2DRectShadow) +0:58 'tloc4' ( in 4-component vector of float) 0:58 Constant: 0:58 0.000000 0:58 0.000000 @@ -116,24 +120,34 @@ ERROR: node is still EOpNull! 0:58 Constant: 0:58 1 (const int) 0:58 2 (const int) +0:61 Function Definition: devi( ( global void) +0:61 Function Parameters: +0:63 Sequence +0:63 'gl_DeviceIndex' ( in int DeviceIndex) +0:64 'gl_ViewIndex' ( in int ViewIndex) +0:75 Function Definition: devie( ( global void) +0:75 Function Parameters: +0:77 Sequence +0:77 'gl_DeviceIndex' ( in int DeviceIndex) +0:78 'gl_ViewIndex' ( in int ViewIndex) 0:? Linker Objects -0:? 'sbuf' (uniform isamplerBuffer) -0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem}) -0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord) -0:? 'gl_Position' (smooth out 4-component vector of float) -0:? 'locBad' (layout(location=9 ) in 4-component vector of float) -0:? 'loc' (layout(location=9 ) in 4-component vector of float) -0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:? 's2dr' (uniform sampler2DRect) -0:? 's2drs' (uniform sampler2DRectShadow) -0:? 'itloc2' (in 2-component vector of int) -0:? 'tloc2' (in 2-component vector of float) -0:? 'tloc3' (in 3-component vector of float) -0:? 'tloc4' (in 4-component vector of float) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'sbuf' ( uniform isamplerBuffer) +0:? 'anon@0' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform int anonMem}) +0:? 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord) +0:? 'gl_Position' ( smooth out 4-component vector of float) +0:? 'locBad' (layout( location=9) in 4-component vector of float) +0:? 'loc' (layout( location=9) in 4-component vector of float) +0:? 'gl_PointSize' ( gl_PointSize float PointSize) +0:? 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:? 'gl_FogFragCoord' ( smooth out float FogFragCoord) +0:? 's2dr' ( uniform sampler2DRect) +0:? 's2drs' ( uniform sampler2DRectShadow) +0:? 'itloc2' ( in 2-component vector of int) +0:? 'tloc2' ( in 2-component vector of float) +0:? 'tloc3' ( in 3-component vector of float) +0:? 'tloc4' ( in 4-component vector of float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -142,58 +156,60 @@ Linked vertex stage: Shader version: 140 Requested GL_ARB_explicit_attrib_location Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'id' (temp int) -0:11 'gl_InstanceID' (gl_InstanceId int InstanceId) -0:12 add second child into first child (temp int) -0:12 'id' (temp int) -0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int) -0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem}) +0:11 move second child to first child ( temp int) +0:11 'id' ( temp int) +0:11 'gl_InstanceID' ( gl_InstanceId int InstanceId) +0:12 add second child into first child ( temp int) +0:12 'id' ( temp int) +0:12 anonMem: direct index for structure (layout( column_major std140 offset=0) uniform int) +0:12 'anon@0' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform int anonMem}) 0:12 Constant: 0:12 0 (const uint) -0:13 add second child into first child (temp int) -0:13 'id' (temp int) -0:13 direct index (temp int) -0:13 textureFetch (global 4-component vector of int) -0:13 'sbuf' (uniform isamplerBuffer) +0:13 add second child into first child ( temp int) +0:13 'id' ( temp int) +0:13 direct index ( temp int) +0:13 textureFetch ( global 4-component vector of int) +0:13 'sbuf' ( uniform isamplerBuffer) 0:13 Constant: 0:13 8 (const int) 0:13 Constant: 0:13 3 (const int) -0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:15 'gl_Color' (in 4-component vector of float Color) -0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) -0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:14 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:15 'gl_Color' ( in 4-component vector of float Color) +0:16 direct index ( temp structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) +0:16 'gl_LightSource' ( uniform 32-element array of structure{ global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation}) 0:16 Constant: 0:16 0 (const int) -0:17 far: direct index for structure (global float) -0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff}) +0:17 far: direct index for structure ( global float) +0:17 'gl_DepthRange' ( uniform structure{ global float near, global float far, global float diff}) 0:17 Constant: 0:17 1 (const int) -0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord) -0:19 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor) +0:18 'gl_TexCoord' ( smooth out 1-element array of 4-component vector of float TexCoord) +0:19 'gl_FogFragCoord' ( smooth out float FogFragCoord) +0:20 'gl_FrontColor' ( smooth out 4-component vector of float FrontColor) 0:? Linker Objects -0:? 'sbuf' (uniform isamplerBuffer) -0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem}) -0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord) -0:? 'gl_Position' (smooth out 4-component vector of float) -0:? 'locBad' (layout(location=9 ) in 4-component vector of float) -0:? 'loc' (layout(location=9 ) in 4-component vector of float) -0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) -0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:? 's2dr' (uniform sampler2DRect) -0:? 's2drs' (uniform sampler2DRectShadow) -0:? 'itloc2' (in 2-component vector of int) -0:? 'tloc2' (in 2-component vector of float) -0:? 'tloc3' (in 3-component vector of float) -0:? 'tloc4' (in 4-component vector of float) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'sbuf' ( uniform isamplerBuffer) +0:? 'anon@0' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform int anonMem}) +0:? 'gl_TexCoord' ( smooth out 1-element array of 4-component vector of float TexCoord) +0:? 'gl_Position' ( smooth out 4-component vector of float) +0:? 'locBad' (layout( location=9) in 4-component vector of float) +0:? 'loc' (layout( location=9) in 4-component vector of float) +0:? 'gl_PointSize' ( gl_PointSize float PointSize) +0:? 'gl_ClipVertex' ( gl_ClipVertex 4-component vector of float ClipVertex) +0:? 'gl_FogFragCoord' ( smooth out float FogFragCoord) +0:? 's2dr' ( uniform sampler2DRect) +0:? 's2drs' ( uniform sampler2DRectShadow) +0:? 'itloc2' ( in 2-component vector of int) +0:? 'tloc2' ( in 2-component vector of float) +0:? 'tloc3' ( in 3-component vector of float) +0:? 'tloc4' ( in 4-component vector of float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.frag.out index 143de3b5a15..1454b558375 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.frag.out @@ -10,116 +10,116 @@ Shader version: 150 gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 'c' (temp 4-component vector of float) -0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 'c' ( temp 4-component vector of float) +0:11 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'patch' (global float) +0:18 move second child to first child ( temp float) +0:18 'patch' ( global float) 0:18 Constant: 0:18 3.100000 -0:31 Function Definition: barWxyz( (global void) +0:31 Function Definition: barWxyz( ( global void) 0:31 Function Parameters: 0:33 Sequence 0:33 Sequence -0:33 move second child to first child (temp 2-component vector of int) -0:33 't11' (temp 2-component vector of int) -0:33 textureSize (global 2-component vector of int) -0:33 'sms' (uniform sampler2DMS) +0:33 move second child to first child ( temp 2-component vector of int) +0:33 't11' ( temp 2-component vector of int) +0:33 textureSize ( global 2-component vector of int) +0:33 'sms' ( uniform sampler2DMS) 0:34 Sequence -0:34 move second child to first child (temp 2-component vector of int) -0:34 't12' (temp 2-component vector of int) -0:34 textureSize (global 2-component vector of int) -0:34 'isms' (uniform isampler2DMS) +0:34 move second child to first child ( temp 2-component vector of int) +0:34 't12' ( temp 2-component vector of int) +0:34 textureSize ( global 2-component vector of int) +0:34 'isms' ( uniform isampler2DMS) 0:35 Sequence -0:35 move second child to first child (temp 2-component vector of int) -0:35 't13' (temp 2-component vector of int) -0:35 textureSize (global 2-component vector of int) -0:35 'usms' (uniform usampler2DMS) +0:35 move second child to first child ( temp 2-component vector of int) +0:35 't13' ( temp 2-component vector of int) +0:35 textureSize ( global 2-component vector of int) +0:35 'usms' ( uniform usampler2DMS) 0:36 Sequence -0:36 move second child to first child (temp 3-component vector of int) -0:36 't21' (temp 3-component vector of int) -0:36 textureSize (global 3-component vector of int) -0:36 'smsa' (uniform sampler2DMSArray) +0:36 move second child to first child ( temp 3-component vector of int) +0:36 't21' ( temp 3-component vector of int) +0:36 textureSize ( global 3-component vector of int) +0:36 'smsa' ( uniform sampler2DMSArray) 0:37 Sequence -0:37 move second child to first child (temp 3-component vector of int) -0:37 't22' (temp 3-component vector of int) -0:37 textureSize (global 3-component vector of int) -0:37 'ismsa' (uniform isampler2DMSArray) +0:37 move second child to first child ( temp 3-component vector of int) +0:37 't22' ( temp 3-component vector of int) +0:37 textureSize ( global 3-component vector of int) +0:37 'ismsa' ( uniform isampler2DMSArray) 0:38 Sequence -0:38 move second child to first child (temp 3-component vector of int) -0:38 't23' (temp 3-component vector of int) -0:38 textureSize (global 3-component vector of int) -0:38 'usmsa' (uniform usampler2DMSArray) +0:38 move second child to first child ( temp 3-component vector of int) +0:38 't23' ( temp 3-component vector of int) +0:38 textureSize ( global 3-component vector of int) +0:38 'usmsa' ( uniform usampler2DMSArray) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 't31' (temp 4-component vector of float) -0:39 textureFetch (global 4-component vector of float) -0:39 'sms' (uniform sampler2DMS) -0:39 'p2' (flat in 2-component vector of int) -0:39 'samp' (flat in int) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 't31' ( temp 4-component vector of float) +0:39 textureFetch ( global 4-component vector of float) +0:39 'sms' ( uniform sampler2DMS) +0:39 'p2' ( flat in 2-component vector of int) +0:39 'samp' ( flat in int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 't32' (temp 4-component vector of int) -0:40 textureFetch (global 4-component vector of int) -0:40 'isms' (uniform isampler2DMS) -0:40 'p2' (flat in 2-component vector of int) -0:40 'samp' (flat in int) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 't32' ( temp 4-component vector of int) +0:40 textureFetch ( global 4-component vector of int) +0:40 'isms' ( uniform isampler2DMS) +0:40 'p2' ( flat in 2-component vector of int) +0:40 'samp' ( flat in int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 't33' (temp 4-component vector of uint) -0:41 textureFetch (global 4-component vector of uint) -0:41 'usms' (uniform usampler2DMS) -0:41 'p2' (flat in 2-component vector of int) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 't33' ( temp 4-component vector of uint) +0:41 textureFetch ( global 4-component vector of uint) +0:41 'usms' ( uniform usampler2DMS) +0:41 'p2' ( flat in 2-component vector of int) 0:41 Constant: 0:41 3 (const int) 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 't41' (temp 4-component vector of float) -0:42 textureFetch (global 4-component vector of float) -0:42 'smsa' (uniform sampler2DMSArray) -0:42 'p3' (flat in 3-component vector of int) -0:42 'samp' (flat in int) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 't41' ( temp 4-component vector of float) +0:42 textureFetch ( global 4-component vector of float) +0:42 'smsa' ( uniform sampler2DMSArray) +0:42 'p3' ( flat in 3-component vector of int) +0:42 'samp' ( flat in int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 't42' (temp 4-component vector of int) -0:43 textureFetch (global 4-component vector of int) -0:43 'ismsa' (uniform isampler2DMSArray) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 't42' ( temp 4-component vector of int) +0:43 textureFetch ( global 4-component vector of int) +0:43 'ismsa' ( uniform isampler2DMSArray) 0:43 Constant: 0:43 2 (const int) 0:43 2 (const int) 0:43 2 (const int) -0:43 'samp' (flat in int) +0:43 'samp' ( flat in int) 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of uint) -0:44 't43' (temp 4-component vector of uint) -0:44 textureFetch (global 4-component vector of uint) -0:44 'usmsa' (uniform usampler2DMSArray) -0:44 'p3' (flat in 3-component vector of int) -0:44 'samp' (flat in int) -0:47 Function Definition: primitiveID( (global int) +0:44 move second child to first child ( temp 4-component vector of uint) +0:44 't43' ( temp 4-component vector of uint) +0:44 textureFetch ( global 4-component vector of uint) +0:44 'usmsa' ( uniform usampler2DMSArray) +0:44 'p3' ( flat in 3-component vector of int) +0:44 'samp' ( flat in int) +0:47 Function Definition: primitiveID( ( global int) 0:47 Function Parameters: 0:49 Sequence 0:49 Branch: Return with expression -0:49 'gl_PrimitiveID' (flat in int PrimitiveID) +0:49 'gl_PrimitiveID' ( flat in int PrimitiveID) 0:? Linker Objects -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'foo' (smooth in 4-component vector of float) -0:? 's' (smooth in structure{global float f}) -0:? 'patch' (global float) -0:? 'sms' (uniform sampler2DMS) -0:? 'isms' (uniform isampler2DMS) -0:? 'usms' (uniform usampler2DMS) -0:? 'smsa' (uniform sampler2DMSArray) -0:? 'ismsa' (uniform isampler2DMSArray) -0:? 'usmsa' (uniform usampler2DMSArray) -0:? 'p2' (flat in 2-component vector of int) -0:? 'p3' (flat in 3-component vector of int) -0:? 'samp' (flat in int) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'foo' ( smooth in 4-component vector of float) +0:? 's' ( smooth in structure{ global float f}) +0:? 'patch' ( global float) +0:? 'sms' ( uniform sampler2DMS) +0:? 'isms' ( uniform isampler2DMS) +0:? 'usms' ( uniform usampler2DMS) +0:? 'smsa' ( uniform sampler2DMSArray) +0:? 'ismsa' ( uniform isampler2DMSArray) +0:? 'usmsa' ( uniform usampler2DMSArray) +0:? 'p2' ( flat in 2-component vector of int) +0:? 'p3' ( flat in 3-component vector of int) +0:? 'samp' ( flat in int) Linked fragment stage: @@ -129,30 +129,30 @@ Shader version: 150 gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 'c' (temp 4-component vector of float) -0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 'c' ( temp 4-component vector of float) +0:11 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'patch' (global float) +0:18 move second child to first child ( temp float) +0:18 'patch' ( global float) 0:18 Constant: 0:18 3.100000 0:? Linker Objects -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'foo' (smooth in 4-component vector of float) -0:? 's' (smooth in structure{global float f}) -0:? 'patch' (global float) -0:? 'sms' (uniform sampler2DMS) -0:? 'isms' (uniform isampler2DMS) -0:? 'usms' (uniform usampler2DMS) -0:? 'smsa' (uniform sampler2DMSArray) -0:? 'ismsa' (uniform isampler2DMSArray) -0:? 'usmsa' (uniform usampler2DMSArray) -0:? 'p2' (flat in 2-component vector of int) -0:? 'p3' (flat in 3-component vector of int) -0:? 'samp' (flat in int) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'foo' ( smooth in 4-component vector of float) +0:? 's' ( smooth in structure{ global float f}) +0:? 'patch' ( global float) +0:? 'sms' ( uniform sampler2DMS) +0:? 'isms' ( uniform isampler2DMS) +0:? 'usms' ( uniform usampler2DMS) +0:? 'smsa' ( uniform sampler2DMSArray) +0:? 'ismsa' ( uniform isampler2DMSArray) +0:? 'usmsa' ( uniform usampler2DMSArray) +0:? 'p2' ( flat in 2-component vector of int) +0:? 'p3' ( flat in 3-component vector of int) +0:? 'samp' ( flat in int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.geom.out index dc5a41a27b9..e3a78c9233d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.geom.out @@ -44,83 +44,83 @@ max_vertices = 200 input primitive = lines_adjacency output primitive = triangle_strip ERROR: node is still EOpNull! -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 EmitVertex (global void) -0:28 EndPrimitive (global void) +0:27 EmitVertex ( global void) +0:28 EndPrimitive ( global void) 0:29 Constant: 0:29 0.000000 0:30 Constant: 0:30 0.000000 -0:32 move second child to first child (temp 3-component vector of float) -0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float) -0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 color: direct index for structure (layout( stream=0) out 3-component vector of float) +0:32 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) 0:32 Constant: 0:32 0 (const uint) -0:32 color: direct index for structure (in 3-component vector of float) -0:32 direct index (temp block{in 3-component vector of float color}) -0:32 'fromV' (in 4-element array of block{in 3-component vector of float color}) +0:32 color: direct index for structure ( in 3-component vector of float) +0:32 direct index ( temp block{ in 3-component vector of float color}) +0:32 'fromV' ( in 4-element array of block{ in 3-component vector of float color}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: 0:32 0 (const int) -0:33 move second child to first child (temp float) -0:33 direct index (layout(stream=0 ) temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float ClipDistance) -0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 direct index (layout( stream=0) temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure (layout( stream=0) out implicitly-sized array of float ClipDistance) +0:33 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: 0:33 3 (const int) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 2 (const int) -0:34 move second child to first child (temp 4-component vector of float) -0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position) -0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position) +0:34 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 0 (const uint) -0:34 gl_Position: direct index for structure (in 4-component vector of float Position) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: 0:34 0 (const int) -0:35 move second child to first child (temp float) -0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize) -0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:35 move second child to first child ( temp float) +0:35 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize float PointSize) +0:35 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:35 Constant: 0:35 1 (const uint) -0:35 gl_PointSize: direct index for structure (in float PointSize) -0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:35 gl_PointSize: direct index for structure ( in float PointSize) +0:35 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:35 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 1 (const int) -0:36 move second child to first child (temp int) -0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID) -0:36 'gl_PrimitiveIDIn' (in int PrimitiveID) -0:37 move second child to first child (temp int) -0:37 'gl_Layer' (layout(stream=0 ) out int Layer) +0:36 move second child to first child ( temp int) +0:36 'gl_PrimitiveID' (layout( stream=0) out int PrimitiveID) +0:36 'gl_PrimitiveIDIn' ( in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'gl_Layer' (layout( stream=0) out int Layer) 0:37 Constant: 0:37 2 (const int) -0:67 Function Definition: foo(i1; (global void) +0:67 Function Definition: foo(i1; ( global void) 0:67 Function Parameters: -0:67 'a' (in int) +0:67 'a' ( in int) 0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float) -0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 a: direct index for structure (layout( stream=6) out 4-component vector of float) +0:69 'ouuaa6' (layout( stream=6) out block{layout( stream=6) out 4-component vector of float a}) 0:69 Constant: 0:69 0 (const int) 0:69 Constant: @@ -129,50 +129,50 @@ ERROR: node is still EOpNull! 0:69 1.000000 0:69 1.000000 0:107 Sequence -0:107 move second child to first child (temp float) -0:107 'summ' (global float) +0:107 move second child to first child ( temp float) +0:107 'summ' ( global float) 0:107 Constant: 0:107 11332.000000 -0:127 Function Definition: fooe1( (global void) +0:127 Function Definition: fooe1( ( global void) 0:127 Function Parameters: 0:129 Sequence -0:129 move second child to first child (temp int) -0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex) +0:129 move second child to first child ( temp int) +0:129 'gl_ViewportIndex' (layout( stream=0) out int ViewportIndex) 0:129 Constant: 0:129 15 (const int) -0:134 Function Definition: fooe2( (global void) +0:134 Function Definition: fooe2( ( global void) 0:134 Function Parameters: 0:136 Sequence -0:136 move second child to first child (temp int) -0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex) +0:136 move second child to first child ( temp int) +0:136 'gl_ViewportIndex' (layout( stream=0) out int ViewportIndex) 0:136 Constant: 0:136 15 (const int) 0:? Linker Objects -0:? 'fromV' (in 4-element array of block{in 3-component vector of float color}) -0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) -0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'ov0' (layout(stream=0 ) out 4-component vector of float) -0:? 'ov4' (layout(stream=4 ) out 4-component vector of float) -0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float) -0:? 'ua' (layout(stream=3 ) uniform int) -0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua}) -0:? 'ov3' (layout(stream=3 ) out 4-component vector of float) -0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float) -0:? 'badv4' (layout(stream=3 ) out 4-component vector of float) -0:? 'bad2v4' (in 4-element array of 4-component vector of float) -0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a}) -0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c}) -0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a}) -0:? 'insn' (in 4-element array of block{in int a15}) -0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15}) -0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) -0:? 'summ' (global float) -0:? 'gl_ViewportIndex' (layout(stream=3 ) out int) +0:? 'fromV' ( in 4-element array of block{ in 3-component vector of float color}) +0:? 'toF' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) +0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'ov0' (layout( stream=0) out 4-component vector of float) +0:? 'ov4' (layout( stream=4) out 4-component vector of float) +0:? 'o1v0' (layout( stream=0) out 4-component vector of float) +0:? 'ua' (layout( stream=3) uniform int) +0:? 'ibb' (layout( stream=3 column_major shared) uniform block{layout( stream=3 column_major shared) uniform int ua}) +0:? 'ov3' (layout( stream=3) out 4-component vector of float) +0:? 'ouuaa6' (layout( stream=6) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ouua6' (layout( stream=6) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ouua7' (layout( stream=7) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ov2s3' (layout( stream=3) out 4-component vector of float) +0:? 'badv4' (layout( stream=3) out 4-component vector of float) +0:? 'bad2v4' ( in 4-element array of 4-component vector of float) +0:? 'anon@2' (layout( stream=3) out block{layout( stream=3) out int a}) +0:? 'outbi' (layout( stream=3) out block{layout( stream=3) out int a, layout( stream=3) out int b, layout( stream=3) out int c}) +0:? 'inbi' ( in 4-element array of block{layout( stream=2) in int a}) +0:? 'insn' ( in 4-element array of block{ in int a15}) +0:? 'anon@3' (layout( stream=3) out block{layout( stream=3) out float f15}) +0:? 'anon@4' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15}) +0:? 'summ' ( global float) +0:? 'gl_ViewportIndex' (layout( stream=3) out int) Linked geometry stage: @@ -185,105 +185,105 @@ max_vertices = 200 input primitive = lines_adjacency output primitive = triangle_strip ERROR: node is still EOpNull! -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 EmitVertex (global void) -0:28 EndPrimitive (global void) +0:27 EmitVertex ( global void) +0:28 EndPrimitive ( global void) 0:29 Constant: 0:29 0.000000 0:30 Constant: 0:30 0.000000 -0:32 move second child to first child (temp 3-component vector of float) -0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float) -0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 color: direct index for structure (layout( stream=0) out 3-component vector of float) +0:32 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) 0:32 Constant: 0:32 0 (const uint) -0:32 color: direct index for structure (in 3-component vector of float) -0:32 direct index (temp block{in 3-component vector of float color}) -0:32 'fromV' (in 4-element array of block{in 3-component vector of float color}) +0:32 color: direct index for structure ( in 3-component vector of float) +0:32 direct index ( temp block{ in 3-component vector of float color}) +0:32 'fromV' ( in 4-element array of block{ in 3-component vector of float color}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: 0:32 0 (const int) -0:33 move second child to first child (temp float) -0:33 direct index (layout(stream=0 ) temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float ClipDistance) -0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 direct index (layout( stream=0) temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure (layout( stream=0) out 4-element array of float ClipDistance) +0:33 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 4-element array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: 0:33 3 (const int) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 2 (const int) -0:34 move second child to first child (temp 4-component vector of float) -0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position) -0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position) +0:34 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 4-element array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 0 (const uint) -0:34 gl_Position: direct index for structure (in 4-component vector of float Position) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: 0:34 0 (const int) -0:35 move second child to first child (temp float) -0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize) -0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance}) +0:35 move second child to first child ( temp float) +0:35 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize float PointSize) +0:35 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 4-element array of float ClipDistance gl_ClipDistance}) 0:35 Constant: 0:35 1 (const uint) -0:35 gl_PointSize: direct index for structure (in float PointSize) -0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:35 gl_PointSize: direct index for structure ( in float PointSize) +0:35 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:35 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 1 (const int) -0:36 move second child to first child (temp int) -0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID) -0:36 'gl_PrimitiveIDIn' (in int PrimitiveID) -0:37 move second child to first child (temp int) -0:37 'gl_Layer' (layout(stream=0 ) out int Layer) +0:36 move second child to first child ( temp int) +0:36 'gl_PrimitiveID' (layout( stream=0) out int PrimitiveID) +0:36 'gl_PrimitiveIDIn' ( in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'gl_Layer' (layout( stream=0) out int Layer) 0:37 Constant: 0:37 2 (const int) 0:107 Sequence -0:107 move second child to first child (temp float) -0:107 'summ' (global float) +0:107 move second child to first child ( temp float) +0:107 'summ' ( global float) 0:107 Constant: 0:107 11332.000000 0:? Linker Objects -0:? 'fromV' (in 4-element array of block{in 3-component vector of float color}) -0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) -0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance}) -0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:? 'ov0' (layout(stream=0 ) out 4-component vector of float) -0:? 'ov4' (layout(stream=4 ) out 4-component vector of float) -0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float) -0:? 'ua' (layout(stream=3 ) uniform int) -0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua}) -0:? 'ov3' (layout(stream=3 ) out 4-component vector of float) -0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a}) -0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float) -0:? 'badv4' (layout(stream=3 ) out 4-component vector of float) -0:? 'bad2v4' (in 4-element array of 4-component vector of float) -0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a}) -0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c}) -0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a}) -0:? 'insn' (in 4-element array of block{in int a15}) -0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15}) -0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) -0:? 'summ' (global float) -0:? 'gl_ViewportIndex' (layout(stream=3 ) out int) +0:? 'fromV' ( in 4-element array of block{ in 3-component vector of float color}) +0:? 'toF' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color}) +0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 4-element array of float ClipDistance gl_ClipDistance}) +0:? 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:? 'ov0' (layout( stream=0) out 4-component vector of float) +0:? 'ov4' (layout( stream=4) out 4-component vector of float) +0:? 'o1v0' (layout( stream=0) out 4-component vector of float) +0:? 'ua' (layout( stream=3) uniform int) +0:? 'ibb' (layout( stream=3 column_major shared) uniform block{layout( stream=3 column_major shared) uniform int ua}) +0:? 'ov3' (layout( stream=3) out 4-component vector of float) +0:? 'ouuaa6' (layout( stream=6) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ouua6' (layout( stream=6) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ouua7' (layout( stream=7) out block{layout( stream=6) out 4-component vector of float a}) +0:? 'ov2s3' (layout( stream=3) out 4-component vector of float) +0:? 'badv4' (layout( stream=3) out 4-component vector of float) +0:? 'bad2v4' ( in 4-element array of 4-component vector of float) +0:? 'anon@2' (layout( stream=3) out block{layout( stream=3) out int a}) +0:? 'outbi' (layout( stream=3) out block{layout( stream=3) out int a, layout( stream=3) out int b, layout( stream=3) out int c}) +0:? 'inbi' ( in 4-element array of block{layout( stream=2) in int a}) +0:? 'insn' ( in 4-element array of block{ in int a15}) +0:? 'anon@3' (layout( stream=3) out block{layout( stream=3) out float f15}) +0:? 'anon@4' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15}) +0:? 'summ' ( global float) +0:? 'gl_ViewportIndex' (layout( stream=3) out int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.tesc.out index 21fade77b96..526b6e7d590 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.tesc.out @@ -3,42 +3,42 @@ Shader version: 150 Requested GL_ARB_tessellation_shader vertices = 4 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence -0:12 Barrier (global void) +0:12 Barrier ( global void) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a' (temp int) +0:14 move second child to first child ( temp int) +0:14 'a' ( temp int) 0:14 Constant: 0:14 5392 (const int) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'p' (temp 4-component vector of float) -0:20 gl_Position: direct index for structure (in 4-component vector of float Position) -0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'p' ( temp 4-component vector of float) +0:20 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:20 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:20 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 0 (const int) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'ps' (temp float) -0:21 gl_PointSize: direct index for structure (in float PointSize) -0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:21 move second child to first child ( temp float) +0:21 'ps' ( temp float) +0:21 gl_PointSize: direct index for structure ( in float PointSize) +0:21 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:21 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 1 (const int) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'cd' (temp float) -0:22 direct index (temp float ClipDistance) -0:22 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:22 move second child to first child ( temp float) +0:22 'cd' ( temp float) +0:22 direct index ( temp float ClipDistance) +0:22 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -46,62 +46,62 @@ vertices = 4 0:22 Constant: 0:22 2 (const int) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'pvi' (temp int) -0:24 'gl_PatchVerticesIn' (in int PatchVertices) +0:24 move second child to first child ( temp int) +0:24 'pvi' ( temp int) +0:24 'gl_PatchVerticesIn' ( in int PatchVertices) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'pid' (temp int) -0:25 'gl_PrimitiveID' (in int PrimitiveID) +0:25 move second child to first child ( temp int) +0:25 'pid' ( temp int) +0:25 'gl_PrimitiveID' ( in int PrimitiveID) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'iid' (temp int) -0:26 'gl_InvocationID' (in int InvocationID) -0:28 move second child to first child (temp 4-component vector of float) -0:28 gl_Position: direct index for structure (out 4-component vector of float Position) -0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:28 'gl_InvocationID' (in int InvocationID) +0:26 move second child to first child ( temp int) +0:26 'iid' ( temp int) +0:26 'gl_InvocationID' ( in int InvocationID) +0:28 move second child to first child ( temp 4-component vector of float) +0:28 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:28 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:28 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:28 'gl_InvocationID' ( in int InvocationID) 0:28 Constant: 0:28 0 (const int) -0:28 'p' (temp 4-component vector of float) -0:29 move second child to first child (temp float) -0:29 gl_PointSize: direct index for structure (out float PointSize) -0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:29 'gl_InvocationID' (in int InvocationID) +0:28 'p' ( temp 4-component vector of float) +0:29 move second child to first child ( temp float) +0:29 gl_PointSize: direct index for structure ( out float PointSize) +0:29 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:29 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:29 'gl_InvocationID' ( in int InvocationID) 0:29 Constant: 0:29 1 (const int) -0:29 'ps' (temp float) -0:30 move second child to first child (temp float) -0:30 direct index (temp float ClipDistance) -0:30 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:30 'gl_InvocationID' (in int InvocationID) +0:29 'ps' ( temp float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float ClipDistance) +0:30 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:30 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:30 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:30 'gl_InvocationID' ( in int InvocationID) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 'cd' (temp float) -0:32 move second child to first child (temp float) -0:32 direct index (patch temp float TessLevelOuter) -0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:30 'cd' ( temp float) +0:32 move second child to first child ( temp float) +0:32 direct index ( patch temp float TessLevelOuter) +0:32 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:32 Constant: 0:32 3 (const int) 0:32 Constant: 0:32 3.200000 -0:33 move second child to first child (temp float) -0:33 direct index (patch temp float TessLevelInner) -0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:33 move second child to first child ( temp float) +0:33 direct index ( patch temp float TessLevelInner) +0:33 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1.300000 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 4-element array of int) -0:? 'patchOut' (patch out 4-component vector of float) +0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 4-element array of int) +0:? 'patchOut' ( patch out 4-component vector of float) 150.tese ERROR: 0:12: 'barrier' : no matching overloaded function found @@ -115,43 +115,43 @@ vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Constant: 0:12 0.000000 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a' (temp int) +0:14 move second child to first child ( temp int) +0:14 'a' ( temp int) 0:14 Constant: 0:14 1512 (const int) 0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:22 'p' (temp 4-component vector of float) -0:22 gl_Position: direct index for structure (in 4-component vector of float Position) -0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'p' ( temp 4-component vector of float) +0:22 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: 0:22 0 (const int) 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'ps' (temp float) -0:23 gl_PointSize: direct index for structure (in float PointSize) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp float) +0:23 'ps' ( temp float) +0:23 gl_PointSize: direct index for structure ( in float PointSize) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 1 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'cd' (temp float) -0:24 direct index (temp float ClipDistance) -0:24 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'cd' ( temp float) +0:24 direct index ( temp float ClipDistance) +0:24 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -159,55 +159,55 @@ ERROR: node is still EOpNull! 0:24 Constant: 0:24 2 (const int) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'pvi' (temp int) -0:26 'gl_PatchVerticesIn' (in int PatchVertices) +0:26 move second child to first child ( temp int) +0:26 'pvi' ( temp int) +0:26 'gl_PatchVerticesIn' ( in int PatchVertices) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pid' (temp int) -0:27 'gl_PrimitiveID' (in int PrimitiveID) +0:27 move second child to first child ( temp int) +0:27 'pid' ( temp int) +0:27 'gl_PrimitiveID' ( in int PrimitiveID) 0:28 Sequence -0:28 move second child to first child (temp 3-component vector of float) -0:28 'tc' (temp 3-component vector of float) -0:28 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 'tc' ( temp 3-component vector of float) +0:28 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'tlo' (temp float) -0:29 direct index (patch temp float TessLevelOuter) -0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:29 move second child to first child ( temp float) +0:29 'tlo' ( temp float) +0:29 direct index ( patch temp float TessLevelOuter) +0:29 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:29 Constant: 0:29 3 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'tli' (temp float) -0:30 direct index (patch temp float TessLevelInner) -0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:30 move second child to first child ( temp float) +0:30 'tli' ( temp float) +0:30 direct index ( patch temp float TessLevelInner) +0:30 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:30 Constant: 0:30 1 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:32 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 0 (const uint) -0:32 'p' (temp 4-component vector of float) -0:33 move second child to first child (temp float) -0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'p' ( temp 4-component vector of float) +0:33 move second child to first child ( temp float) +0:33 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:33 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const uint) -0:33 'ps' (temp float) -0:34 move second child to first child (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'ps' ( temp float) +0:34 move second child to first child ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:34 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: 0:34 2 (const int) -0:34 'cd' (temp float) +0:34 'cd' ( temp float) 0:? Linker Objects -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 400.tesc Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. @@ -232,49 +232,53 @@ ERROR: 0:87: 'location' : overlapping use of location 4 ERROR: 0:104: '' : precise qualifier must appear first ERROR: 0:105: '' : precise qualifier must appear first ERROR: 0:105: '' : precise qualifier must appear first -ERROR: 21 compilation errors. No code generated. +ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 23 compilation errors. No code generated. Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview vertices = 4 ERROR: node is still EOpNull! -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence -0:15 Barrier (global void) +0:15 Barrier ( global void) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'a' (temp int) +0:17 move second child to first child ( temp int) +0:17 'a' ( temp int) 0:17 Constant: 0:17 5392 (const int) 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'p' (temp 4-component vector of float) -0:23 gl_Position: direct index for structure (in 4-component vector of float Position) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'p' ( temp 4-component vector of float) +0:23 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'ps' (temp float) -0:24 gl_PointSize: direct index for structure (in float PointSize) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'ps' ( temp float) +0:24 gl_PointSize: direct index for structure ( in float PointSize) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'cd' (temp float) -0:25 direct index (temp float ClipDistance) -0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:25 move second child to first child ( temp float) +0:25 'cd' ( temp float) +0:25 direct index ( temp float ClipDistance) +0:25 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -282,150 +286,160 @@ ERROR: node is still EOpNull! 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pvi' (temp int) -0:27 'gl_PatchVerticesIn' (in int PatchVertices) +0:27 move second child to first child ( temp int) +0:27 'pvi' ( temp int) +0:27 'gl_PatchVerticesIn' ( in int PatchVertices) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'pid' (temp int) -0:28 'gl_PrimitiveID' (in int PrimitiveID) +0:28 move second child to first child ( temp int) +0:28 'pid' ( temp int) +0:28 'gl_PrimitiveID' ( in int PrimitiveID) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'iid' (temp int) -0:29 'gl_InvocationID' (in int InvocationID) -0:31 move second child to first child (temp 4-component vector of float) -0:31 gl_Position: direct index for structure (out 4-component vector of float Position) -0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:31 'gl_InvocationID' (in int InvocationID) +0:29 move second child to first child ( temp int) +0:29 'iid' ( temp int) +0:29 'gl_InvocationID' ( in int InvocationID) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:31 'gl_InvocationID' ( in int InvocationID) 0:31 Constant: 0:31 0 (const int) -0:31 'p' (temp 4-component vector of float) -0:32 move second child to first child (temp float) -0:32 gl_PointSize: direct index for structure (out float PointSize) -0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_InvocationID' (in int InvocationID) +0:31 'p' ( temp 4-component vector of float) +0:32 move second child to first child ( temp float) +0:32 gl_PointSize: direct index for structure ( out float PointSize) +0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_InvocationID' ( in int InvocationID) 0:32 Constant: 0:32 1 (const int) -0:32 'ps' (temp float) -0:33 move second child to first child (temp float) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_InvocationID' (in int InvocationID) +0:32 'ps' ( temp float) +0:33 move second child to first child ( temp float) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_InvocationID' ( in int InvocationID) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 'cd' (temp float) -0:35 move second child to first child (temp float) -0:35 direct index (patch temp float TessLevelOuter) -0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:33 'cd' ( temp float) +0:35 move second child to first child ( temp float) +0:35 direct index ( patch temp float TessLevelOuter) +0:35 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 3.200000 -0:36 move second child to first child (temp float) -0:36 direct index (patch temp float TessLevelInner) -0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:36 move second child to first child ( temp float) +0:36 direct index ( patch temp float TessLevelInner) +0:36 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.300000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Greater Than (temp bool) -0:38 'a' (temp int) +0:38 Compare Greater Than ( temp bool) +0:38 'a' ( temp int) 0:38 Constant: 0:38 10 (const int) 0:38 true case -0:39 Barrier (global void) +0:39 Barrier ( global void) 0:38 false case -0:41 Barrier (global void) -0:43 Barrier (global void) +0:41 Barrier ( global void) +0:43 Barrier ( global void) 0:47 Loop with condition not tested first 0:47 Loop Condition -0:47 Compare Greater Than (temp bool) -0:47 'a' (temp int) +0:47 Compare Greater Than ( temp bool) +0:47 'a' ( temp int) 0:47 Constant: 0:47 10 (const int) 0:47 Loop Body 0:46 Sequence -0:46 Barrier (global void) +0:46 Barrier ( global void) 0:49 switch 0:49 condition -0:49 'a' (temp int) +0:49 'a' ( temp int) 0:49 body 0:49 Sequence 0:50 default: 0:? Sequence -0:51 Barrier (global void) +0:51 Barrier ( global void) 0:52 Branch: Break -0:54 Test condition and select (temp int) +0:54 Test condition and select ( temp int) 0:54 Condition -0:54 Compare Less Than (temp bool) -0:54 'a' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'a' ( temp int) 0:54 Constant: 0:54 12 (const int) 0:54 true case -0:54 'a' (temp int) +0:54 'a' ( temp int) 0:54 false case -0:54 Comma (temp int) -0:54 Barrier (global void) -0:54 'a' (temp int) +0:54 Comma ( temp int) +0:54 Barrier ( global void) +0:54 'a' ( temp int) 0:56 Sequence -0:56 Barrier (global void) +0:56 Barrier ( global void) 0:59 Branch: Return -0:61 Barrier (global void) -0:67 Function Definition: foo( (global void) +0:61 Barrier ( global void) +0:67 Function Definition: foo( ( global void) 0:67 Function Parameters: 0:69 Sequence -0:69 gl_PointSize: direct index for structure (out float PointSize) -0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:69 gl_PointSize: direct index for structure ( out float PointSize) +0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:69 Constant: 0:69 4 (const int) 0:69 Constant: 0:69 1 (const int) -0:71 Barrier (global void) -0:91 Function Definition: foop( (global void) +0:71 Barrier ( global void) +0:91 Function Definition: foop( ( global void) 0:91 Function Parameters: 0:? Sequence -0:95 multiply second child into first child (temp 3-component vector of float) -0:95 'pv3' (noContraction temp 3-component vector of float) -0:95 'pv3' (noContraction temp 3-component vector of float) -0:96 move second child to first child (temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 fma (global 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:97 move second child to first child (temp double) -0:97 'd' (noContraction temp double) -0:97 fma (global double) -0:97 'd' (noContraction temp double) -0:97 'd' (noContraction temp double) -0:97 'd' (noContraction temp double) +0:95 multiply second child into first child ( temp 3-component vector of float) +0:95 'pv3' ( noContraction temp 3-component vector of float) +0:95 'pv3' ( noContraction temp 3-component vector of float) +0:96 move second child to first child ( temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 fma ( global 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:97 move second child to first child ( temp double) +0:97 'd' ( noContraction temp double) +0:97 fma ( global double) +0:97 'd' ( noContraction temp double) +0:97 'd' ( noContraction temp double) +0:97 'd' ( noContraction temp double) +0:107 Function Definition: devi( ( global void) +0:107 Function Parameters: +0:109 Sequence +0:109 'gl_DeviceIndex' ( in int DeviceIndex) +0:110 'gl_ViewIndex' ( in int ViewIndex) +0:121 Function Definition: devie( ( global void) +0:121 Function Parameters: +0:123 Sequence +0:123 'gl_DeviceIndex' ( in int DeviceIndex) +0:124 'gl_ViewIndex' ( in int ViewIndex) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 4-element array of int) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'pv3' (noContraction temp 3-component vector of float) -0:? 'pinbi' (patch out block{out int a}) -0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float) +0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 4-element array of int) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'ivla' (layout( location=3) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'pv3' ( noContraction temp 3-component vector of float) +0:? 'pinbi' ( patch out block{ out int a}) +0:? 'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float) 400.tese Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. @@ -459,53 +473,57 @@ ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or ERROR: 0:96: 'location' : overlapping use of location 24 ERROR: 0:99: 'location' : overlapping use of location 24 ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved -ERROR: 30 compilation errors. No code generated. +ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 32 compilation errors. No code generated. Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Constant: 0:22 0.000000 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'a' (temp int) +0:24 move second child to first child ( temp int) +0:24 'a' ( temp int) 0:24 Constant: 0:24 1512 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'p' (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (in 4-component vector of float Position) -0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'p' ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'ps' (temp float) -0:33 gl_PointSize: direct index for structure (in float PointSize) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 'ps' ( temp float) +0:33 gl_PointSize: direct index for structure ( in float PointSize) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'cd' (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp float) +0:34 'cd' ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -513,75 +531,85 @@ ERROR: node is still EOpNull! 0:34 Constant: 0:34 2 (const int) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'pvi' (temp int) -0:36 'gl_PatchVerticesIn' (in int PatchVertices) +0:36 move second child to first child ( temp int) +0:36 'pvi' ( temp int) +0:36 'gl_PatchVerticesIn' ( in int PatchVertices) 0:37 Sequence -0:37 move second child to first child (temp int) -0:37 'pid' (temp int) -0:37 'gl_PrimitiveID' (in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'pid' ( temp int) +0:37 'gl_PrimitiveID' ( in int PrimitiveID) 0:38 Sequence -0:38 move second child to first child (temp 3-component vector of float) -0:38 'tc' (temp 3-component vector of float) -0:38 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:38 move second child to first child ( temp 3-component vector of float) +0:38 'tc' ( temp 3-component vector of float) +0:38 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'tlo' (temp float) -0:39 direct index (patch temp float TessLevelOuter) -0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:39 move second child to first child ( temp float) +0:39 'tlo' ( temp float) +0:39 direct index ( patch temp float TessLevelOuter) +0:39 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:39 Constant: 0:39 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'tli' (temp float) -0:40 direct index (patch temp float TessLevelInner) -0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:40 move second child to first child ( temp float) +0:40 'tli' ( temp float) +0:40 direct index ( patch temp float TessLevelInner) +0:40 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:40 Constant: 0:40 1 (const int) -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:42 Constant: 0:42 0 (const uint) -0:42 'p' (temp 4-component vector of float) -0:43 move second child to first child (temp float) -0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:42 'p' ( temp 4-component vector of float) +0:43 move second child to first child ( temp float) +0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:43 Constant: 0:43 1 (const uint) -0:43 'ps' (temp float) -0:44 move second child to first child (temp float) -0:44 direct index (temp float ClipDistance) -0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:43 'ps' ( temp float) +0:44 move second child to first child ( temp float) +0:44 direct index ( temp float ClipDistance) +0:44 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 2 (const int) -0:44 'cd' (temp float) +0:44 'cd' ( temp float) +0:107 Function Definition: devi( ( global void) +0:107 Function Parameters: +0:109 Sequence +0:109 'gl_DeviceIndex' ( in int DeviceIndex) +0:110 'gl_ViewIndex' ( in int ViewIndex) +0:121 Function Definition: devie( ( global void) +0:121 Function Parameters: +0:123 Sequence +0:123 'gl_DeviceIndex' ( in int DeviceIndex) +0:124 'gl_ViewIndex' ( in int ViewIndex) 0:? Linker Objects -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'badp1' (smooth patch in 4-component vector of float) -0:? 'badp2' (flat patch in 4-component vector of float) -0:? 'badp3' (noperspective patch in 4-component vector of float) -0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{in int f}) -0:? 'blb' (in 32-element array of block{in int f}) -0:? 'blc' (in 32-element array of block{in int f}) -0:? 'bld' (in 32-element array of block{in int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) -0:? 'pinbi' (patch in block{in int a}) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'badp1' ( smooth patch in 4-component vector of float) +0:? 'badp2' ( flat patch in 4-component vector of float) +0:? 'badp3' ( noperspective patch in 4-component vector of float) +0:? 'badp4' ( patch sample in 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'bla' ( in block{ in int f}) +0:? 'blb' ( in 32-element array of block{ in int f}) +0:? 'blc' ( in 32-element array of block{ in int f}) +0:? 'bld' ( in 32-element array of block{ in int f}) +0:? 'ivla' (layout( location=23) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of 4-component vector of float) +0:? 'pinbi' ( patch in block{ in int a}) 410.tesc Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. @@ -592,12 +620,12 @@ ERROR: 1 compilation errors. No code generated. Shader version: 400 vertices = -1 ERROR: node is still EOpNull! -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:? Linker Objects -0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 1-element array of int) -0:? 'patchOut' (patch out 4-component vector of float) +0:? 'gl_out' ( out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 1-element array of int) +0:? 'patchOut' ( patch out 4-component vector of float) 420.tesc Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. @@ -605,7 +633,7 @@ ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size o ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb ERROR: 0:26: 'gl_PointSize' : no such field in structure -ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}' +ERROR: 0:26: 'assign' : cannot convert from ' temp float' to ' temp block{ out 4-component vector of float Position gl_Position}' ERROR: 0:29: 'out' : type must be an array: outf ERROR: 0:43: 'vertices' : must be greater than 0 ERROR: 7 compilation errors. No code generated. @@ -615,36 +643,36 @@ Shader version: 420 Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'p' (temp 4-component vector of float) -0:17 gl_Position: direct index for structure (in 4-component vector of float Position) -0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'p' ( temp 4-component vector of float) +0:17 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 0 (const int) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'ps' (temp float) -0:18 gl_PointSize: direct index for structure (in float PointSize) -0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:18 move second child to first child ( temp float) +0:18 'ps' ( temp float) +0:18 gl_PointSize: direct index for structure ( in float PointSize) +0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'cd' (temp float) -0:19 direct index (temp float ClipDistance) -0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:19 move second child to first child ( temp float) +0:19 'cd' ( temp float) +0:19 direct index ( temp float ClipDistance) +0:19 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -652,35 +680,35 @@ ERROR: node is still EOpNull! 0:19 Constant: 0:19 2 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'pvi' (temp int) -0:21 'gl_PatchVerticesIn' (in int PatchVertices) +0:21 move second child to first child ( temp int) +0:21 'pvi' ( temp int) +0:21 'gl_PatchVerticesIn' ( in int PatchVertices) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'pid' (temp int) -0:22 'gl_PrimitiveID' (in int PrimitiveID) +0:22 move second child to first child ( temp int) +0:22 'pid' ( temp int) +0:22 'gl_PrimitiveID' ( in int PrimitiveID) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'iid' (temp int) -0:23 'gl_InvocationID' (in int InvocationID) -0:25 move second child to first child (temp 4-component vector of float) -0:25 gl_Position: direct index for structure (out 4-component vector of float Position) -0:25 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:25 'gl_InvocationID' (in int InvocationID) +0:23 move second child to first child ( temp int) +0:23 'iid' ( temp int) +0:23 'gl_InvocationID' ( in int InvocationID) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:25 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_InvocationID' ( in int InvocationID) 0:25 Constant: 0:25 0 (const int) -0:25 'p' (temp 4-component vector of float) -0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:26 'gl_InvocationID' (in int InvocationID) -0:34 Function Definition: foo( (global void) +0:25 'p' ( temp 4-component vector of float) +0:26 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_InvocationID' ( in int InvocationID) +0:34 Function Definition: foo( ( global void) 0:34 Function Parameters: 0:36 Sequence -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 logical-or (temp bool) -0:36 Compare Not Equal (temp bool) +0:36 logical-or ( temp bool) +0:36 Compare Not Equal ( temp bool) 0:36 Constant: 0:36 -0.625000 0:36 -0.500000 @@ -690,11 +718,11 @@ ERROR: node is still EOpNull! 0:36 -0.250000 0:36 -0.125000 0:36 0.000000 -0:36 direct index (layout(location=0 ) temp 2X4 matrix of double) -0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) +0:36 direct index (layout( location=0) temp 2X4 matrix of double) +0:36 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) 0:36 Constant: 0:36 0 (const int) -0:37 Compare Not Equal (temp bool) +0:37 Compare Not Equal ( temp bool) 0:37 Constant: 0:37 0.375000 0:37 0.500000 @@ -704,34 +732,34 @@ ERROR: node is still EOpNull! 0:37 0.750000 0:37 0.875000 0:37 -0.625000 -0:37 direct index (layout(location=12 ) temp 2X4 matrix of double) -0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:37 direct index (layout( location=12) temp 2X4 matrix of double) +0:37 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) 0:37 Constant: 0:37 0 (const int) 0:36 true case is null 0:? Linker Objects -0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:? 'a' (out 3-element array of int) -0:? 'outb' (out 5-element array of int) -0:? 'outc' (out 4-element array of int) -0:? 'outf' (out float) -0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) -0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:? 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:? 'a' ( out 3-element array of int) +0:? 'outb' ( out 5-element array of int) +0:? 'outc' ( out 4-element array of int) +0:? 'outf' ( out float) +0:? 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) +0:? 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) 420.tese Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. -ERROR: 0:7: '=' : cannot convert from 'const 3-element array of float' to 'global 2-element array of float' -ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float -ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float -ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float +ERROR: 0:7: '=' : cannot convert from ' const 3-element array of float' to ' global 2-element array of float' +ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float +ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float +ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float ERROR: 0:25: 'initializer list' : wrong number of structure members -ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int' -ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'temp 4-component vector of float' -ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float' -ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments -ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float' -ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float -ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}' +ERROR: 0:27: '=' : cannot convert from ' const bool' to ' global int' +ERROR: 0:28: 'constructor' : cannot convert parameter 2 from ' const float' to ' temp 4-component vector of float' +ERROR: 0:29: 'constructor' : cannot convert parameter 2 from ' const 2X2 matrix of float' to ' const 4-component vector of float' +ERROR: 0:29: ' const 2-element array of 4-component vector of float' : cannot construct with these arguments +ERROR: 0:29: '=' : cannot convert from ' const float' to ' global 2-element array of 4-component vector of float' +ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float +ERROR: 0:40: 'constructor' : cannot convert parameter 1 from ' temp float' to ' temp structure{ global float s, global float t}' ERROR: 0:70: 'initializer list' : wrong number of structure members ERROR: 13 compilation errors. No code generated. @@ -742,28 +770,28 @@ vertex spacing = none triangle order = none ERROR: node is still EOpNull! 0:4 Sequence -0:4 move second child to first child (temp 2X2 matrix of float) -0:4 'b' (global 2X2 matrix of float) +0:4 move second child to first child ( temp 2X2 matrix of float) +0:4 'b' ( global 2X2 matrix of float) 0:4 Constant: 0:4 1.000000 0:4 0.000000 0:4 0.000000 0:4 1.000000 0:15 Sequence -0:15 move second child to first child (temp structure{global float a, global int b}) -0:15 'e' (global structure{global float a, global int b}) +0:15 move second child to first child ( temp structure{ global float a, global int b}) +0:15 'e' ( global structure{ global float a, global int b}) 0:15 Constant: 0:15 1.200000 0:15 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp structure{global float a, global int b}) -0:20 'e2' (global structure{global float a, global int b}) +0:20 move second child to first child ( temp structure{ global float a, global int b}) +0:20 'e2' ( global structure{ global float a, global int b}) 0:20 Constant: 0:20 1.000000 0:20 3 (const int) 0:42 Sequence -0:42 move second child to first child (temp 5-element array of float) -0:42 'b5' (global 5-element array of float) +0:42 move second child to first child ( temp 5-element array of float) +0:42 'b5' ( global 5-element array of float) 0:42 Constant: 0:42 3.400000 0:42 4.200000 @@ -771,48 +799,48 @@ ERROR: node is still EOpNull! 0:42 5.200000 0:42 1.100000 0:55 Sequence -0:55 move second child to first child (temp structure{global int f}) -0:55 'single1' (global structure{global int f}) +0:55 move second child to first child ( temp structure{ global int f}) +0:55 'single1' ( global structure{ global int f}) 0:55 Constant: 0:55 10 (const int) 0:58 Sequence -0:58 move second child to first child (temp structure{global 2-component vector of uint v}) -0:58 'single2' (global structure{global 2-component vector of uint v}) +0:58 move second child to first child ( temp structure{ global 2-component vector of uint v}) +0:58 'single2' ( global structure{ global 2-component vector of uint v}) 0:58 Constant: 0:58 1 (const uint) 0:58 2 (const uint) 0:61 Sequence -0:61 move second child to first child (temp structure{global structure{global int f} s1}) -0:61 'single3' (global structure{global structure{global int f} s1}) +0:61 move second child to first child ( temp structure{ global structure{ global int f} s1}) +0:61 'single3' ( global structure{ global structure{ global int f} s1}) 0:61 Constant: 0:61 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1}) -0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) +0:64 move second child to first child ( temp structure{ global structure{ global 2-component vector of uint v} s1}) +0:64 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) 0:64 Constant: 0:64 4 (const uint) 0:64 5 (const uint) 0:79 Sequence -0:79 move second child to first child (temp 3-component vector of float) -0:79 'av3' (global 3-component vector of float) -0:79 Construct vec3 (global 3-component vector of float) -0:79 'vc1' (global float) -0:79 'vc2' (global float) -0:79 'vc3' (global float) +0:79 move second child to first child ( temp 3-component vector of float) +0:79 'av3' ( global 3-component vector of float) +0:79 Construct vec3 ( global 3-component vector of float) +0:79 'vc1' ( global float) +0:79 'vc2' ( global float) +0:79 'vc3' ( global float) 0:80 Sequence -0:80 move second child to first child (temp 3-component vector of float) -0:80 'bv3' (global 3-component vector of float) -0:80 Construct vec3 (temp 3-component vector of float) -0:80 'vc1' (global float) -0:80 'vc2' (global float) -0:80 'vc3' (global float) -0:82 Function Definition: main( (global void) +0:80 move second child to first child ( temp 3-component vector of float) +0:80 'bv3' ( global 3-component vector of float) +0:80 Construct vec3 ( temp 3-component vector of float) +0:80 'vc1' ( global float) +0:80 'vc2' ( global float) +0:80 'vc3' ( global float) +0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:84 Sequence -0:84 MemoryBarrier (global void) -0:86 Test condition and select (temp void) +0:84 MemoryBarrier ( global void) +0:86 Test condition and select ( temp void) 0:86 Condition -0:86 Compare Equal (temp bool) +0:86 Compare Equal ( temp bool) 0:86 Constant: 0:86 1 (const uint) 0:86 2 (const uint) @@ -830,43 +858,43 @@ ERROR: node is still EOpNull! 0:86 0.000000 0:86 6.000000 0:86 0.000000 -0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:86 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:86 true case is null -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition 0:88 Constant: 0:88 true (const bool) 0:88 true case is null 0:? Linker Objects -0:? 'a' (const 2X2 matrix of float) +0:? 'a' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'b' (global 2X2 matrix of float) -0:? 'c' (const 2X2 matrix of float) +0:? 'b' ( global 2X2 matrix of float) +0:? 'c' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'a2' (global 2-element array of float) -0:? 'b2' (global 2-component vector of float) -0:? 'c2' (global 3X3 matrix of float) -0:? 'd' (global 2X2 matrix of float) -0:? 'e' (global structure{global float a, global int b}) -0:? 'e2' (global structure{global float a, global int b}) -0:? 'e3' (global structure{global float a, global int b}) -0:? 'a3' (global int) -0:? 'b3' (global 2-element array of 4-component vector of float) -0:? 'b4' (global 2-element array of 4-component vector of float) -0:? 'c3' (global 4X2 matrix of float) -0:? 'd2' (global implicitly-sized array of structure{global float s, global float t}) -0:? 'b5' (global 5-element array of float) -0:? 'single1' (global structure{global int f}) -0:? 'single2' (global structure{global 2-component vector of uint v}) -0:? 'single3' (global structure{global structure{global int f} s1}) -0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) -0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'a2' ( global 2-element array of float) +0:? 'b2' ( global 2-component vector of float) +0:? 'c2' ( global 3X3 matrix of float) +0:? 'd' ( global 2X2 matrix of float) +0:? 'e' ( global structure{ global float a, global int b}) +0:? 'e2' ( global structure{ global float a, global int b}) +0:? 'e3' ( global structure{ global float a, global int b}) +0:? 'a3' ( global int) +0:? 'b3' ( global 2-element array of 4-component vector of float) +0:? 'b4' ( global 2-element array of 4-component vector of float) +0:? 'c3' ( global 4X2 matrix of float) +0:? 'd2' ( global implicitly-sized array of structure{ global float s, global float t}) +0:? 'b5' ( global 5-element array of float) +0:? 'single1' ( global structure{ global int f}) +0:? 'single2' ( global structure{ global 2-component vector of uint v}) +0:? 'single3' ( global structure{ global structure{ global int f} s1}) +0:? 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) +0:? 'constructed' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -883,8 +911,8 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) -0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) +0:? 'curlyInit' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -901,11 +929,11 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'vc1' (global float) -0:? 'vc2' (global float) -0:? 'vc3' (global float) -0:? 'av3' (global 3-component vector of float) -0:? 'bv3' (global 3-component vector of float) +0:? 'vc1' ( global float) +0:? 'vc2' ( global float) +0:? 'vc3' ( global float) +0:? 'av3' ( global 3-component vector of float) +0:? 'bv3' ( global 3-component vector of float) Linked tessellation control stage: @@ -920,9 +948,9 @@ ERROR: Linking tessellation control stage: Multiple function bodies in multiple ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( ERROR: Linking tessellation control stage: Types must match: - gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" + gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus " out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" ERROR: Linking tessellation control stage: Types must match: - outa: "global 4-element array of int" versus "global 1-element array of int" + outa: " global 4-element array of int" versus " global 1-element array of int" ERROR: Linking tessellation control stage: can't handle multiple entry points per stage ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( @@ -933,7 +961,7 @@ ERROR: Linking tessellation control stage: Multiple function bodies in multiple ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( ERROR: Linking tessellation control stage: Types must match: - gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float Position gl_Position}" + gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus " out 3-element array of block{ out 4-component vector of float Position gl_Position}" Linked tessellation evaluation stage: @@ -952,44 +980,46 @@ ERROR: Linking tessellation evaluation stage: Multiple function bodies in multip Shader version: 420 Requested GL_ARB_separate_shader_objects Requested GL_ARB_tessellation_shader +Requested GL_EXT_device_group +Requested GL_EXT_multiview vertices = 4 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence -0:12 Barrier (global void) +0:12 Barrier ( global void) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a' (temp int) +0:14 move second child to first child ( temp int) +0:14 'a' ( temp int) 0:14 Constant: 0:14 5392 (const int) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'p' (temp 4-component vector of float) -0:20 gl_Position: direct index for structure (in 4-component vector of float Position) -0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'p' ( temp 4-component vector of float) +0:20 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:20 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:20 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 0 (const int) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'ps' (temp float) -0:21 gl_PointSize: direct index for structure (in float PointSize) -0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:21 move second child to first child ( temp float) +0:21 'ps' ( temp float) +0:21 gl_PointSize: direct index for structure ( in float PointSize) +0:21 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:21 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 1 (const int) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'cd' (temp float) -0:22 direct index (temp float ClipDistance) -0:22 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:22 move second child to first child ( temp float) +0:22 'cd' ( temp float) +0:22 direct index ( temp float ClipDistance) +0:22 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -997,94 +1027,94 @@ vertices = 4 0:22 Constant: 0:22 2 (const int) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'pvi' (temp int) -0:24 'gl_PatchVerticesIn' (in int PatchVertices) +0:24 move second child to first child ( temp int) +0:24 'pvi' ( temp int) +0:24 'gl_PatchVerticesIn' ( in int PatchVertices) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'pid' (temp int) -0:25 'gl_PrimitiveID' (in int PrimitiveID) +0:25 move second child to first child ( temp int) +0:25 'pid' ( temp int) +0:25 'gl_PrimitiveID' ( in int PrimitiveID) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'iid' (temp int) -0:26 'gl_InvocationID' (in int InvocationID) -0:28 move second child to first child (temp 4-component vector of float) -0:28 gl_Position: direct index for structure (out 4-component vector of float Position) -0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:28 'gl_InvocationID' (in int InvocationID) +0:26 move second child to first child ( temp int) +0:26 'iid' ( temp int) +0:26 'gl_InvocationID' ( in int InvocationID) +0:28 move second child to first child ( temp 4-component vector of float) +0:28 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:28 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:28 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:28 'gl_InvocationID' ( in int InvocationID) 0:28 Constant: 0:28 0 (const int) -0:28 'p' (temp 4-component vector of float) -0:29 move second child to first child (temp float) -0:29 gl_PointSize: direct index for structure (out float PointSize) -0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:29 'gl_InvocationID' (in int InvocationID) +0:28 'p' ( temp 4-component vector of float) +0:29 move second child to first child ( temp float) +0:29 gl_PointSize: direct index for structure ( out float PointSize) +0:29 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:29 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:29 'gl_InvocationID' ( in int InvocationID) 0:29 Constant: 0:29 1 (const int) -0:29 'ps' (temp float) -0:30 move second child to first child (temp float) -0:30 direct index (temp float ClipDistance) -0:30 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance) -0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:30 'gl_InvocationID' (in int InvocationID) +0:29 'ps' ( temp float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float ClipDistance) +0:30 gl_ClipDistance: direct index for structure ( out 2-element array of float ClipDistance) +0:30 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:30 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:30 'gl_InvocationID' ( in int InvocationID) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 'cd' (temp float) -0:32 move second child to first child (temp float) -0:32 direct index (patch temp float TessLevelOuter) -0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:30 'cd' ( temp float) +0:32 move second child to first child ( temp float) +0:32 direct index ( patch temp float TessLevelOuter) +0:32 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:32 Constant: 0:32 3 (const int) 0:32 Constant: 0:32 3.200000 -0:33 move second child to first child (temp float) -0:33 direct index (patch temp float TessLevelInner) -0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:33 move second child to first child ( temp float) +0:33 direct index ( patch temp float TessLevelInner) +0:33 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1.300000 -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence -0:15 Barrier (global void) +0:15 Barrier ( global void) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'a' (temp int) +0:17 move second child to first child ( temp int) +0:17 'a' ( temp int) 0:17 Constant: 0:17 5392 (const int) 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'p' (temp 4-component vector of float) -0:23 gl_Position: direct index for structure (in 4-component vector of float Position) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'p' ( temp 4-component vector of float) +0:23 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'ps' (temp float) -0:24 gl_PointSize: direct index for structure (in float PointSize) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'ps' ( temp float) +0:24 gl_PointSize: direct index for structure ( in float PointSize) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'cd' (temp float) -0:25 direct index (temp float ClipDistance) -0:25 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:25 move second child to first child ( temp float) +0:25 'cd' ( temp float) +0:25 direct index ( temp float ClipDistance) +0:25 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -1092,135 +1122,135 @@ vertices = 4 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pvi' (temp int) -0:27 'gl_PatchVerticesIn' (in int PatchVertices) +0:27 move second child to first child ( temp int) +0:27 'pvi' ( temp int) +0:27 'gl_PatchVerticesIn' ( in int PatchVertices) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'pid' (temp int) -0:28 'gl_PrimitiveID' (in int PrimitiveID) +0:28 move second child to first child ( temp int) +0:28 'pid' ( temp int) +0:28 'gl_PrimitiveID' ( in int PrimitiveID) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'iid' (temp int) -0:29 'gl_InvocationID' (in int InvocationID) -0:31 move second child to first child (temp 4-component vector of float) -0:31 gl_Position: direct index for structure (out 4-component vector of float Position) -0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:31 'gl_InvocationID' (in int InvocationID) +0:29 move second child to first child ( temp int) +0:29 'iid' ( temp int) +0:29 'gl_InvocationID' ( in int InvocationID) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:31 'gl_InvocationID' ( in int InvocationID) 0:31 Constant: 0:31 0 (const int) -0:31 'p' (temp 4-component vector of float) -0:32 move second child to first child (temp float) -0:32 gl_PointSize: direct index for structure (out float PointSize) -0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_InvocationID' (in int InvocationID) +0:31 'p' ( temp 4-component vector of float) +0:32 move second child to first child ( temp float) +0:32 gl_PointSize: direct index for structure ( out float PointSize) +0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_InvocationID' ( in int InvocationID) 0:32 Constant: 0:32 1 (const int) -0:32 'ps' (temp float) -0:33 move second child to first child (temp float) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance) -0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_InvocationID' (in int InvocationID) +0:32 'ps' ( temp float) +0:33 move second child to first child ( temp float) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( out 2-element array of float ClipDistance) +0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_InvocationID' ( in int InvocationID) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 'cd' (temp float) -0:35 move second child to first child (temp float) -0:35 direct index (patch temp float TessLevelOuter) -0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:33 'cd' ( temp float) +0:35 move second child to first child ( temp float) +0:35 direct index ( patch temp float TessLevelOuter) +0:35 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 3.200000 -0:36 move second child to first child (temp float) -0:36 direct index (patch temp float TessLevelInner) -0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:36 move second child to first child ( temp float) +0:36 direct index ( patch temp float TessLevelInner) +0:36 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.300000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Greater Than (temp bool) -0:38 'a' (temp int) +0:38 Compare Greater Than ( temp bool) +0:38 'a' ( temp int) 0:38 Constant: 0:38 10 (const int) 0:38 true case -0:39 Barrier (global void) +0:39 Barrier ( global void) 0:38 false case -0:41 Barrier (global void) -0:43 Barrier (global void) +0:41 Barrier ( global void) +0:43 Barrier ( global void) 0:47 Loop with condition not tested first 0:47 Loop Condition -0:47 Compare Greater Than (temp bool) -0:47 'a' (temp int) +0:47 Compare Greater Than ( temp bool) +0:47 'a' ( temp int) 0:47 Constant: 0:47 10 (const int) 0:47 Loop Body 0:46 Sequence -0:46 Barrier (global void) +0:46 Barrier ( global void) 0:49 switch 0:49 condition -0:49 'a' (temp int) +0:49 'a' ( temp int) 0:49 body 0:49 Sequence 0:50 default: 0:? Sequence -0:51 Barrier (global void) +0:51 Barrier ( global void) 0:52 Branch: Break -0:54 Test condition and select (temp int) +0:54 Test condition and select ( temp int) 0:54 Condition -0:54 Compare Less Than (temp bool) -0:54 'a' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'a' ( temp int) 0:54 Constant: 0:54 12 (const int) 0:54 true case -0:54 'a' (temp int) +0:54 'a' ( temp int) 0:54 false case -0:54 Comma (temp int) -0:54 Barrier (global void) -0:54 'a' (temp int) +0:54 Comma ( temp int) +0:54 Barrier ( global void) +0:54 'a' ( temp int) 0:56 Sequence -0:56 Barrier (global void) +0:56 Barrier ( global void) 0:59 Branch: Return -0:61 Barrier (global void) -0:8 Function Definition: main( (global void) +0:61 Barrier ( global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'p' (temp 4-component vector of float) -0:17 gl_Position: direct index for structure (in 4-component vector of float Position) -0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'p' ( temp 4-component vector of float) +0:17 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 0 (const int) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'ps' (temp float) -0:18 gl_PointSize: direct index for structure (in float PointSize) -0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:18 move second child to first child ( temp float) +0:18 'ps' ( temp float) +0:18 gl_PointSize: direct index for structure ( in float PointSize) +0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'cd' (temp float) -0:19 direct index (temp float ClipDistance) -0:19 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:19 move second child to first child ( temp float) +0:19 'cd' ( temp float) +0:19 direct index ( temp float ClipDistance) +0:19 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -1228,97 +1258,99 @@ vertices = 4 0:19 Constant: 0:19 2 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'pvi' (temp int) -0:21 'gl_PatchVerticesIn' (in int PatchVertices) +0:21 move second child to first child ( temp int) +0:21 'pvi' ( temp int) +0:21 'gl_PatchVerticesIn' ( in int PatchVertices) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'pid' (temp int) -0:22 'gl_PrimitiveID' (in int PrimitiveID) +0:22 move second child to first child ( temp int) +0:22 'pid' ( temp int) +0:22 'gl_PrimitiveID' ( in int PrimitiveID) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'iid' (temp int) -0:23 'gl_InvocationID' (in int InvocationID) -0:25 move second child to first child (temp 4-component vector of float) -0:25 gl_Position: direct index for structure (out 4-component vector of float Position) -0:25 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:25 'gl_InvocationID' (in int InvocationID) +0:23 move second child to first child ( temp int) +0:23 'iid' ( temp int) +0:23 'gl_InvocationID' ( in int InvocationID) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:25 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_InvocationID' ( in int InvocationID) 0:25 Constant: 0:25 0 (const int) -0:25 'p' (temp 4-component vector of float) -0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:26 'gl_InvocationID' (in int InvocationID) +0:25 'p' ( temp 4-component vector of float) +0:26 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_InvocationID' ( in int InvocationID) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 4-element array of int) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'pv3' (noContraction temp 3-component vector of float) -0:? 'pinbi' (patch out block{out int a}) -0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float) -0:? 'a' (out 3-element array of int) -0:? 'outb' (out 5-element array of int) -0:? 'outc' (out 4-element array of int) -0:? 'outf' (out float) -0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) -0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 4-element array of int) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'ivla' (layout( location=3) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'pv3' ( noContraction temp 3-component vector of float) +0:? 'pinbi' ( patch out block{ out int a}) +0:? 'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float) +0:? 'a' ( out 3-element array of int) +0:? 'outb' ( out 5-element array of int) +0:? 'outc' ( out 4-element array of int) +0:? 'outf' ( out float) +0:? 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) +0:? 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) Shader version: 420 Requested GL_ARB_separate_shader_objects Requested GL_ARB_tessellation_shader +Requested GL_EXT_device_group +Requested GL_EXT_multiview input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Constant: 0:12 0.000000 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a' (temp int) +0:14 move second child to first child ( temp int) +0:14 'a' ( temp int) 0:14 Constant: 0:14 1512 (const int) 0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:22 'p' (temp 4-component vector of float) -0:22 gl_Position: direct index for structure (in 4-component vector of float Position) -0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'p' ( temp 4-component vector of float) +0:22 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: 0:22 0 (const int) 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'ps' (temp float) -0:23 gl_PointSize: direct index for structure (in float PointSize) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp float) +0:23 'ps' ( temp float) +0:23 gl_PointSize: direct index for structure ( in float PointSize) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 1 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'cd' (temp float) -0:24 direct index (temp float ClipDistance) -0:24 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'cd' ( temp float) +0:24 direct index ( temp float ClipDistance) +0:24 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -1326,89 +1358,89 @@ ERROR: node is still EOpNull! 0:24 Constant: 0:24 2 (const int) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'pvi' (temp int) -0:26 'gl_PatchVerticesIn' (in int PatchVertices) +0:26 move second child to first child ( temp int) +0:26 'pvi' ( temp int) +0:26 'gl_PatchVerticesIn' ( in int PatchVertices) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pid' (temp int) -0:27 'gl_PrimitiveID' (in int PrimitiveID) +0:27 move second child to first child ( temp int) +0:27 'pid' ( temp int) +0:27 'gl_PrimitiveID' ( in int PrimitiveID) 0:28 Sequence -0:28 move second child to first child (temp 3-component vector of float) -0:28 'tc' (temp 3-component vector of float) -0:28 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 'tc' ( temp 3-component vector of float) +0:28 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'tlo' (temp float) -0:29 direct index (patch temp float TessLevelOuter) -0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:29 move second child to first child ( temp float) +0:29 'tlo' ( temp float) +0:29 direct index ( patch temp float TessLevelOuter) +0:29 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:29 Constant: 0:29 3 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'tli' (temp float) -0:30 direct index (patch temp float TessLevelInner) -0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:30 move second child to first child ( temp float) +0:30 'tli' ( temp float) +0:30 direct index ( patch temp float TessLevelInner) +0:30 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:30 Constant: 0:30 1 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:32 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 0 (const uint) -0:32 'p' (temp 4-component vector of float) -0:33 move second child to first child (temp float) -0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:32 'p' ( temp 4-component vector of float) +0:33 move second child to first child ( temp float) +0:33 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:33 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const uint) -0:33 'ps' (temp float) -0:34 move second child to first child (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance) -0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:33 'ps' ( temp float) +0:34 move second child to first child ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( out 3-element array of float ClipDistance) +0:34 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: 0:34 2 (const int) -0:34 'cd' (temp float) -0:20 Function Definition: main( (global void) +0:34 'cd' ( temp float) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Constant: 0:22 0.000000 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'a' (temp int) +0:24 move second child to first child ( temp int) +0:24 'a' ( temp int) 0:24 Constant: 0:24 1512 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'p' (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (in 4-component vector of float Position) -0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'p' ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'ps' (temp float) -0:33 gl_PointSize: direct index for structure (in float PointSize) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 'ps' ( temp float) +0:33 gl_PointSize: direct index for structure ( in float PointSize) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'cd' (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp float) +0:34 'cd' ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -1416,75 +1448,75 @@ ERROR: node is still EOpNull! 0:34 Constant: 0:34 2 (const int) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'pvi' (temp int) -0:36 'gl_PatchVerticesIn' (in int PatchVertices) +0:36 move second child to first child ( temp int) +0:36 'pvi' ( temp int) +0:36 'gl_PatchVerticesIn' ( in int PatchVertices) 0:37 Sequence -0:37 move second child to first child (temp int) -0:37 'pid' (temp int) -0:37 'gl_PrimitiveID' (in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'pid' ( temp int) +0:37 'gl_PrimitiveID' ( in int PrimitiveID) 0:38 Sequence -0:38 move second child to first child (temp 3-component vector of float) -0:38 'tc' (temp 3-component vector of float) -0:38 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:38 move second child to first child ( temp 3-component vector of float) +0:38 'tc' ( temp 3-component vector of float) +0:38 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'tlo' (temp float) -0:39 direct index (patch temp float TessLevelOuter) -0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:39 move second child to first child ( temp float) +0:39 'tlo' ( temp float) +0:39 direct index ( patch temp float TessLevelOuter) +0:39 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:39 Constant: 0:39 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'tli' (temp float) -0:40 direct index (patch temp float TessLevelInner) -0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:40 move second child to first child ( temp float) +0:40 'tli' ( temp float) +0:40 direct index ( patch temp float TessLevelInner) +0:40 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:40 Constant: 0:40 1 (const int) -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:42 Constant: 0:42 0 (const uint) -0:42 'p' (temp 4-component vector of float) -0:43 move second child to first child (temp float) -0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:42 'p' ( temp 4-component vector of float) +0:43 move second child to first child ( temp float) +0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:43 Constant: 0:43 1 (const uint) -0:43 'ps' (temp float) -0:44 move second child to first child (temp float) -0:44 direct index (temp float ClipDistance) -0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:43 'ps' ( temp float) +0:44 move second child to first child ( temp float) +0:44 direct index ( temp float ClipDistance) +0:44 gl_ClipDistance: direct index for structure ( out 3-element array of float ClipDistance) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 2 (const int) -0:44 'cd' (temp float) +0:44 'cd' ( temp float) 0:4 Sequence -0:4 move second child to first child (temp 2X2 matrix of float) -0:4 'b' (global 2X2 matrix of float) +0:4 move second child to first child ( temp 2X2 matrix of float) +0:4 'b' ( global 2X2 matrix of float) 0:4 Constant: 0:4 1.000000 0:4 0.000000 0:4 0.000000 0:4 1.000000 0:15 Sequence -0:15 move second child to first child (temp structure{global float a, global int b}) -0:15 'e' (global structure{global float a, global int b}) +0:15 move second child to first child ( temp structure{ global float a, global int b}) +0:15 'e' ( global structure{ global float a, global int b}) 0:15 Constant: 0:15 1.200000 0:15 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp structure{global float a, global int b}) -0:20 'e2' (global structure{global float a, global int b}) +0:20 move second child to first child ( temp structure{ global float a, global int b}) +0:20 'e2' ( global structure{ global float a, global int b}) 0:20 Constant: 0:20 1.000000 0:20 3 (const int) 0:42 Sequence -0:42 move second child to first child (temp 5-element array of float) -0:42 'b5' (global 5-element array of float) +0:42 move second child to first child ( temp 5-element array of float) +0:42 'b5' ( global 5-element array of float) 0:42 Constant: 0:42 3.400000 0:42 4.200000 @@ -1492,48 +1524,48 @@ ERROR: node is still EOpNull! 0:42 5.200000 0:42 1.100000 0:55 Sequence -0:55 move second child to first child (temp structure{global int f}) -0:55 'single1' (global structure{global int f}) +0:55 move second child to first child ( temp structure{ global int f}) +0:55 'single1' ( global structure{ global int f}) 0:55 Constant: 0:55 10 (const int) 0:58 Sequence -0:58 move second child to first child (temp structure{global 2-component vector of uint v}) -0:58 'single2' (global structure{global 2-component vector of uint v}) +0:58 move second child to first child ( temp structure{ global 2-component vector of uint v}) +0:58 'single2' ( global structure{ global 2-component vector of uint v}) 0:58 Constant: 0:58 1 (const uint) 0:58 2 (const uint) 0:61 Sequence -0:61 move second child to first child (temp structure{global structure{global int f} s1}) -0:61 'single3' (global structure{global structure{global int f} s1}) +0:61 move second child to first child ( temp structure{ global structure{ global int f} s1}) +0:61 'single3' ( global structure{ global structure{ global int f} s1}) 0:61 Constant: 0:61 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1}) -0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) +0:64 move second child to first child ( temp structure{ global structure{ global 2-component vector of uint v} s1}) +0:64 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) 0:64 Constant: 0:64 4 (const uint) 0:64 5 (const uint) 0:79 Sequence -0:79 move second child to first child (temp 3-component vector of float) -0:79 'av3' (global 3-component vector of float) -0:79 Construct vec3 (global 3-component vector of float) -0:79 'vc1' (global float) -0:79 'vc2' (global float) -0:79 'vc3' (global float) +0:79 move second child to first child ( temp 3-component vector of float) +0:79 'av3' ( global 3-component vector of float) +0:79 Construct vec3 ( global 3-component vector of float) +0:79 'vc1' ( global float) +0:79 'vc2' ( global float) +0:79 'vc3' ( global float) 0:80 Sequence -0:80 move second child to first child (temp 3-component vector of float) -0:80 'bv3' (global 3-component vector of float) -0:80 Construct vec3 (temp 3-component vector of float) -0:80 'vc1' (global float) -0:80 'vc2' (global float) -0:80 'vc3' (global float) -0:82 Function Definition: main( (global void) +0:80 move second child to first child ( temp 3-component vector of float) +0:80 'bv3' ( global 3-component vector of float) +0:80 Construct vec3 ( temp 3-component vector of float) +0:80 'vc1' ( global float) +0:80 'vc2' ( global float) +0:80 'vc3' ( global float) +0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:84 Sequence -0:84 MemoryBarrier (global void) -0:86 Test condition and select (temp void) +0:84 MemoryBarrier ( global void) +0:86 Test condition and select ( temp void) 0:86 Condition -0:86 Compare Equal (temp bool) +0:86 Compare Equal ( temp bool) 0:86 Constant: 0:86 1 (const uint) 0:86 2 (const uint) @@ -1551,65 +1583,65 @@ ERROR: node is still EOpNull! 0:86 0.000000 0:86 6.000000 0:86 0.000000 -0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:86 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:86 true case is null -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition 0:88 Constant: 0:88 true (const bool) 0:88 true case is null 0:? Linker Objects -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'badp1' (smooth patch in 4-component vector of float) -0:? 'badp2' (flat patch in 4-component vector of float) -0:? 'badp3' (noperspective patch in 4-component vector of float) -0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{in int f}) -0:? 'blb' (in 32-element array of block{in int f}) -0:? 'blc' (in 32-element array of block{in int f}) -0:? 'bld' (in 32-element array of block{in int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) -0:? 'pinbi' (patch in block{in int a}) -0:? 'a' (const 2X2 matrix of float) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'badp1' ( smooth patch in 4-component vector of float) +0:? 'badp2' ( flat patch in 4-component vector of float) +0:? 'badp3' ( noperspective patch in 4-component vector of float) +0:? 'badp4' ( patch sample in 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'bla' ( in block{ in int f}) +0:? 'blb' ( in 32-element array of block{ in int f}) +0:? 'blc' ( in 32-element array of block{ in int f}) +0:? 'bld' ( in 32-element array of block{ in int f}) +0:? 'ivla' (layout( location=23) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of 4-component vector of float) +0:? 'pinbi' ( patch in block{ in int a}) +0:? 'a' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'b' (global 2X2 matrix of float) -0:? 'c' (const 2X2 matrix of float) +0:? 'b' ( global 2X2 matrix of float) +0:? 'c' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'a2' (global 2-element array of float) -0:? 'b2' (global 2-component vector of float) -0:? 'c2' (global 3X3 matrix of float) -0:? 'd' (global 2X2 matrix of float) -0:? 'e' (global structure{global float a, global int b}) -0:? 'e2' (global structure{global float a, global int b}) -0:? 'e3' (global structure{global float a, global int b}) -0:? 'a3' (global int) -0:? 'b3' (global 2-element array of 4-component vector of float) -0:? 'b4' (global 2-element array of 4-component vector of float) -0:? 'c3' (global 4X2 matrix of float) -0:? 'd2' (global 1-element array of structure{global float s, global float t}) -0:? 'b5' (global 5-element array of float) -0:? 'single1' (global structure{global int f}) -0:? 'single2' (global structure{global 2-component vector of uint v}) -0:? 'single3' (global structure{global structure{global int f} s1}) -0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) -0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'a2' ( global 2-element array of float) +0:? 'b2' ( global 2-component vector of float) +0:? 'c2' ( global 3X3 matrix of float) +0:? 'd' ( global 2X2 matrix of float) +0:? 'e' ( global structure{ global float a, global int b}) +0:? 'e2' ( global structure{ global float a, global int b}) +0:? 'e3' ( global structure{ global float a, global int b}) +0:? 'a3' ( global int) +0:? 'b3' ( global 2-element array of 4-component vector of float) +0:? 'b4' ( global 2-element array of 4-component vector of float) +0:? 'c3' ( global 4X2 matrix of float) +0:? 'd2' ( global 1-element array of structure{ global float s, global float t}) +0:? 'b5' ( global 5-element array of float) +0:? 'single1' ( global structure{ global int f}) +0:? 'single2' ( global structure{ global 2-component vector of uint v}) +0:? 'single3' ( global structure{ global structure{ global int f} s1}) +0:? 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) +0:? 'constructed' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -1626,8 +1658,8 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) -0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) +0:? 'curlyInit' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -1644,9 +1676,9 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'vc1' (global float) -0:? 'vc2' (global float) -0:? 'vc3' (global float) -0:? 'av3' (global 3-component vector of float) -0:? 'bv3' (global 3-component vector of float) +0:? 'vc1' ( global float) +0:? 'vc2' ( global float) +0:? 'vc3' ( global float) +0:? 'av3' ( global 3-component vector of float) +0:? 'bv3' ( global 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.vert.out index a82e7896fec..61a558a02c1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/150.vert.out @@ -1,50 +1,50 @@ 150.vert -ERROR: 0:22: 'a' : cannot redeclare a user-block member array +ERROR: 0:26: 'a' : cannot redeclare a user-block member array ERROR: 0:3001: '#error' : line of this error should be 3001 ERROR: 2 compilation errors. No code generated. Shader version: 150 ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) -0:9 Function Parameters: -0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position) -0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:11 Constant: -0:11 0 (const uint) -0:11 'iv4' (in 4-component vector of float) -0:12 move second child to first child (temp float) -0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:12 Constant: -0:12 1 (const uint) -0:12 'ps' (uniform float) -0:13 move second child to first child (temp float) -0:13 direct index (temp float ClipDistance) -0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance) -0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:13 Constant: -0:13 2 (const uint) -0:13 Constant: -0:13 2 (const int) -0:13 direct index (temp float) -0:13 'iv4' (in 4-component vector of float) -0:13 Constant: -0:13 0 (const int) -0:14 move second child to first child (temp 4-component vector of float) -0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex) -0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:14 Constant: -0:14 3 (const uint) -0:14 'iv4' (in 4-component vector of float) +0:13 Function Definition: main( ( global void) +0:13 Function Parameters: +0:15 Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:15 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position) +0:15 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:15 Constant: +0:15 0 (const uint) +0:15 'iv4' ( in 4-component vector of float) +0:16 move second child to first child ( temp float) +0:16 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:16 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:16 Constant: +0:16 1 (const uint) +0:16 'ps' ( uniform float) +0:17 move second child to first child ( temp float) +0:17 direct index ( temp float ClipDistance) +0:17 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance) +0:17 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:17 Constant: +0:17 2 (const uint) +0:17 Constant: +0:17 2 (const int) +0:17 direct index ( temp float) +0:17 'iv4' ( in 4-component vector of float) +0:17 Constant: +0:17 0 (const int) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 gl_ClipVertex: direct index for structure ( gl_ClipVertex 4-component vector of float ClipVertex) +0:18 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:18 Constant: +0:18 3 (const uint) +0:18 'iv4' ( in 4-component vector of float) 0:? Linker Objects -0:? 'iv4' (in 4-component vector of float) -0:? 'ps' (uniform float) -0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'iv4' ( in 4-component vector of float) +0:? 'ps' ( uniform float) +0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of int a}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -53,43 +53,43 @@ ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVerte Shader version: 150 ERROR: node is still EOpNull! -0:9 Function Definition: main( (global void) -0:9 Function Parameters: -0:11 Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position) -0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:11 Constant: -0:11 0 (const uint) -0:11 'iv4' (in 4-component vector of float) -0:12 move second child to first child (temp float) -0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:12 Constant: -0:12 1 (const uint) -0:12 'ps' (uniform float) -0:13 move second child to first child (temp float) -0:13 direct index (temp float ClipDistance) -0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance) -0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:13 Constant: -0:13 2 (const uint) -0:13 Constant: -0:13 2 (const int) -0:13 direct index (temp float) -0:13 'iv4' (in 4-component vector of float) -0:13 Constant: -0:13 0 (const int) -0:14 move second child to first child (temp 4-component vector of float) -0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex) -0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:14 Constant: -0:14 3 (const uint) -0:14 'iv4' (in 4-component vector of float) +0:13 Function Definition: main( ( global void) +0:13 Function Parameters: +0:15 Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:15 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position) +0:15 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:15 Constant: +0:15 0 (const uint) +0:15 'iv4' ( in 4-component vector of float) +0:16 move second child to first child ( temp float) +0:16 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:16 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:16 Constant: +0:16 1 (const uint) +0:16 'ps' ( uniform float) +0:17 move second child to first child ( temp float) +0:17 direct index ( temp float ClipDistance) +0:17 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance) +0:17 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:17 Constant: +0:17 2 (const uint) +0:17 Constant: +0:17 2 (const int) +0:17 direct index ( temp float) +0:17 'iv4' ( in 4-component vector of float) +0:17 Constant: +0:17 0 (const int) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 gl_ClipVertex: direct index for structure ( gl_ClipVertex 4-component vector of float ClipVertex) +0:18 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:18 Constant: +0:18 3 (const uint) +0:18 'iv4' ( in 4-component vector of float) 0:? Linker Objects -0:? 'iv4' (in 4-component vector of float) -0:? 'ps' (uniform float) -0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'iv4' ( in 4-component vector of float) +0:? 'ps' ( uniform float) +0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform 1-element array of int a}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.frag.out index cca6abd7efb..371d9c2a4d8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.frag.out @@ -32,7 +32,7 @@ ERROR: 0:111: 'variable indexing fragment shader output array' : not supported w ERROR: 0:119: '==' : can't use with samplers or structs containing samplers ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers ERROR: 0:121: '==' : can't use with samplers or structs containing samplers -ERROR: 0:121: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global lowp sampler2D' and a right operand of type 'global lowp sampler2D' (or there is no acceptable conversion) +ERROR: 0:121: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type ' global lowp sampler2D' and a right operand of type ' global lowp sampler2D' (or there is no acceptable conversion) ERROR: 0:122: '=' : can't use with samplers or structs containing samplers ERROR: 0:123: '==' : can't use with samplers or structs containing samplers ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset] @@ -50,310 +50,310 @@ ERROR: 45 compilation errors. No code generated. Shader version: 300 using early_fragment_tests ERROR: node is still EOpNull! -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:? Sequence -0:57 move second child to first child (temp lowp 4-component vector of float) -0:57 'v' (temp lowp 4-component vector of float) -0:57 texture (global lowp 4-component vector of float) -0:57 's2D' (uniform lowp sampler2D) -0:57 'c2D' (smooth in lowp 2-component vector of float) -0:58 move second child to first child (temp lowp 4-component vector of float) -0:58 'v' (temp lowp 4-component vector of float) -0:58 textureProj (global lowp 4-component vector of float) -0:58 's3D' (uniform lowp sampler3D) -0:58 'c4D' (smooth temp lowp 4-component vector of float) -0:59 move second child to first child (temp lowp 4-component vector of float) -0:59 'v' (temp lowp 4-component vector of float) -0:59 textureLod (global lowp 4-component vector of float) -0:59 's2DArray' (uniform lowp sampler2DArray) -0:59 'c3D' (smooth in lowp 3-component vector of float) +0:57 move second child to first child ( temp lowp 4-component vector of float) +0:57 'v' ( temp lowp 4-component vector of float) +0:57 texture ( global lowp 4-component vector of float) +0:57 's2D' ( uniform lowp sampler2D) +0:57 'c2D' ( smooth in lowp 2-component vector of float) +0:58 move second child to first child ( temp lowp 4-component vector of float) +0:58 'v' ( temp lowp 4-component vector of float) +0:58 textureProj ( global lowp 4-component vector of float) +0:58 's3D' ( uniform lowp sampler3D) +0:58 'c4D' ( smooth temp lowp 4-component vector of float) +0:59 move second child to first child ( temp lowp 4-component vector of float) +0:59 'v' ( temp lowp 4-component vector of float) +0:59 textureLod ( global lowp 4-component vector of float) +0:59 's2DArray' ( uniform lowp sampler2DArray) +0:59 'c3D' ( smooth in lowp 3-component vector of float) 0:59 Constant: 0:59 1.200000 -0:60 move second child to first child (temp lowp float) -0:60 'f' (temp lowp float) -0:60 textureOffset (global lowp float, operation at mediump) -0:60 's2DShadow' (uniform lowp sampler2DShadow) -0:60 'c3D' (smooth in lowp 3-component vector of float) -0:60 'ic2D' (flat in mediump 2-component vector of int) -0:60 'c1D' (smooth in lowp float) -0:61 move second child to first child (temp lowp 4-component vector of float) -0:61 'v' (temp lowp 4-component vector of float) -0:61 textureFetch (global lowp 4-component vector of float, operation at mediump) -0:61 's3D' (uniform lowp sampler3D) -0:61 'ic3D' (flat in mediump 3-component vector of int) -0:61 'ic1D' (flat in mediump int) -0:62 move second child to first child (temp lowp 4-component vector of float) -0:62 'v' (temp lowp 4-component vector of float) -0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump) -0:62 direct index (temp lowp sampler2D) -0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D) +0:60 move second child to first child ( temp lowp float) +0:60 'f' ( temp lowp float) +0:60 textureOffset ( global lowp float, operation at mediump) +0:60 's2DShadow' ( uniform lowp sampler2DShadow) +0:60 'c3D' ( smooth in lowp 3-component vector of float) +0:60 'ic2D' ( flat in mediump 2-component vector of int) +0:60 'c1D' ( smooth in lowp float) +0:61 move second child to first child ( temp lowp 4-component vector of float) +0:61 'v' ( temp lowp 4-component vector of float) +0:61 textureFetch ( global lowp 4-component vector of float, operation at mediump) +0:61 's3D' ( uniform lowp sampler3D) +0:61 'ic3D' ( flat in mediump 3-component vector of int) +0:61 'ic1D' ( flat in mediump int) +0:62 move second child to first child ( temp lowp 4-component vector of float) +0:62 'v' ( temp lowp 4-component vector of float) +0:62 textureFetchOffset ( global lowp 4-component vector of float, operation at mediump) +0:62 direct index ( temp lowp sampler2D) +0:62 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) 0:62 Constant: 0:62 2 (const int) -0:62 'ic2D' (flat in mediump 2-component vector of int) +0:62 'ic2D' ( flat in mediump 2-component vector of int) 0:62 Constant: 0:62 4 (const int) -0:62 'ic2D' (flat in mediump 2-component vector of int) -0:63 move second child to first child (temp lowp float) -0:63 'f' (temp lowp float) -0:63 textureLodOffset (global lowp float, operation at mediump) -0:63 's2DShadow' (uniform lowp sampler2DShadow) -0:63 'c3D' (smooth in lowp 3-component vector of float) -0:63 'c1D' (smooth in lowp float) -0:63 'ic2D' (flat in mediump 2-component vector of int) -0:64 move second child to first child (temp lowp 4-component vector of float) -0:64 'v' (temp lowp 4-component vector of float) -0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump) -0:64 's2D' (uniform lowp sampler2D) -0:64 'c3D' (smooth in lowp 3-component vector of float) -0:64 'c1D' (smooth in lowp float) -0:64 'ic2D' (flat in mediump 2-component vector of int) -0:65 move second child to first child (temp lowp 4-component vector of float) -0:65 'v' (temp lowp 4-component vector of float) -0:65 textureGrad (global lowp 4-component vector of float) -0:65 'sCube' (uniform lowp samplerCube) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:66 move second child to first child (temp lowp float) -0:66 'f' (temp lowp float) -0:66 textureGradOffset (global lowp float, operation at mediump) -0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) -0:66 'c4D' (smooth temp lowp 4-component vector of float) -0:66 'c2D' (smooth in lowp 2-component vector of float) -0:66 'c2D' (smooth in lowp 2-component vector of float) -0:66 'ic2D' (flat in mediump 2-component vector of int) -0:67 move second child to first child (temp lowp 4-component vector of float) -0:67 'v' (temp lowp 4-component vector of float) -0:67 textureProjGrad (global lowp 4-component vector of float) -0:67 's3D' (uniform lowp sampler3D) -0:67 'c4D' (smooth temp lowp 4-component vector of float) -0:67 'c3D' (smooth in lowp 3-component vector of float) -0:67 'c3D' (smooth in lowp 3-component vector of float) -0:68 move second child to first child (temp lowp 4-component vector of float) -0:68 'v' (temp lowp 4-component vector of float) -0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump) -0:68 's2D' (uniform lowp sampler2D) -0:68 'c3D' (smooth in lowp 3-component vector of float) -0:68 'c2D' (smooth in lowp 2-component vector of float) -0:68 'c2D' (smooth in lowp 2-component vector of float) -0:68 'ic2D' (flat in mediump 2-component vector of int) -0:69 move second child to first child (temp lowp 4-component vector of float) -0:69 'v' (temp lowp 4-component vector of float) -0:69 texture (global lowp 4-component vector of float) -0:69 indirect index (temp lowp sampler2D) -0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D) -0:69 'ic1D' (flat in mediump int) -0:69 'c2D' (smooth in lowp 2-component vector of float) -0:72 move second child to first child (temp mediump 4-component vector of int) -0:72 'iv' (temp mediump 4-component vector of int) -0:72 texture (global lowp 4-component vector of int) -0:72 'is2D' (uniform lowp isampler2D) -0:72 'c2D' (smooth in lowp 2-component vector of float) -0:73 move second child to first child (temp mediump 4-component vector of int) -0:73 'iv' (temp mediump 4-component vector of int) -0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump) -0:73 'is2D' (uniform lowp isampler2D) -0:73 'c4D' (smooth temp lowp 4-component vector of float) -0:73 'ic2D' (flat in mediump 2-component vector of int) -0:74 move second child to first child (temp mediump 4-component vector of int) -0:74 'iv' (temp mediump 4-component vector of int) -0:74 textureProjLod (global lowp 4-component vector of int) -0:74 'is2D' (uniform lowp isampler2D) -0:74 'c3D' (smooth in lowp 3-component vector of float) -0:74 'c1D' (smooth in lowp float) -0:75 move second child to first child (temp mediump 4-component vector of int) -0:75 'iv' (temp mediump 4-component vector of int) -0:75 textureProjGrad (global lowp 4-component vector of int) -0:75 'is2D' (uniform lowp isampler2D) -0:75 'c3D' (smooth in lowp 3-component vector of float) -0:75 'c2D' (smooth in lowp 2-component vector of float) -0:75 'c2D' (smooth in lowp 2-component vector of float) -0:76 move second child to first child (temp mediump 4-component vector of int) -0:76 'iv' (temp mediump 4-component vector of int) -0:76 texture (global lowp 4-component vector of int) -0:76 'is3D' (uniform lowp isampler3D) -0:76 'c3D' (smooth in lowp 3-component vector of float) +0:62 'ic2D' ( flat in mediump 2-component vector of int) +0:63 move second child to first child ( temp lowp float) +0:63 'f' ( temp lowp float) +0:63 textureLodOffset ( global lowp float, operation at mediump) +0:63 's2DShadow' ( uniform lowp sampler2DShadow) +0:63 'c3D' ( smooth in lowp 3-component vector of float) +0:63 'c1D' ( smooth in lowp float) +0:63 'ic2D' ( flat in mediump 2-component vector of int) +0:64 move second child to first child ( temp lowp 4-component vector of float) +0:64 'v' ( temp lowp 4-component vector of float) +0:64 textureProjLodOffset ( global lowp 4-component vector of float, operation at mediump) +0:64 's2D' ( uniform lowp sampler2D) +0:64 'c3D' ( smooth in lowp 3-component vector of float) +0:64 'c1D' ( smooth in lowp float) +0:64 'ic2D' ( flat in mediump 2-component vector of int) +0:65 move second child to first child ( temp lowp 4-component vector of float) +0:65 'v' ( temp lowp 4-component vector of float) +0:65 textureGrad ( global lowp 4-component vector of float) +0:65 'sCube' ( uniform lowp samplerCube) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:66 move second child to first child ( temp lowp float) +0:66 'f' ( temp lowp float) +0:66 textureGradOffset ( global lowp float, operation at mediump) +0:66 's2DArrayShadow' ( uniform lowp sampler2DArrayShadow) +0:66 'c4D' ( smooth temp lowp 4-component vector of float) +0:66 'c2D' ( smooth in lowp 2-component vector of float) +0:66 'c2D' ( smooth in lowp 2-component vector of float) +0:66 'ic2D' ( flat in mediump 2-component vector of int) +0:67 move second child to first child ( temp lowp 4-component vector of float) +0:67 'v' ( temp lowp 4-component vector of float) +0:67 textureProjGrad ( global lowp 4-component vector of float) +0:67 's3D' ( uniform lowp sampler3D) +0:67 'c4D' ( smooth temp lowp 4-component vector of float) +0:67 'c3D' ( smooth in lowp 3-component vector of float) +0:67 'c3D' ( smooth in lowp 3-component vector of float) +0:68 move second child to first child ( temp lowp 4-component vector of float) +0:68 'v' ( temp lowp 4-component vector of float) +0:68 textureProjGradOffset ( global lowp 4-component vector of float, operation at mediump) +0:68 's2D' ( uniform lowp sampler2D) +0:68 'c3D' ( smooth in lowp 3-component vector of float) +0:68 'c2D' ( smooth in lowp 2-component vector of float) +0:68 'c2D' ( smooth in lowp 2-component vector of float) +0:68 'ic2D' ( flat in mediump 2-component vector of int) +0:69 move second child to first child ( temp lowp 4-component vector of float) +0:69 'v' ( temp lowp 4-component vector of float) +0:69 texture ( global lowp 4-component vector of float) +0:69 indirect index ( temp lowp sampler2D) +0:69 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) +0:69 'ic1D' ( flat in mediump int) +0:69 'c2D' ( smooth in lowp 2-component vector of float) +0:72 move second child to first child ( temp mediump 4-component vector of int) +0:72 'iv' ( temp mediump 4-component vector of int) +0:72 texture ( global lowp 4-component vector of int) +0:72 'is2D' ( uniform lowp isampler2D) +0:72 'c2D' ( smooth in lowp 2-component vector of float) +0:73 move second child to first child ( temp mediump 4-component vector of int) +0:73 'iv' ( temp mediump 4-component vector of int) +0:73 textureProjOffset ( global lowp 4-component vector of int, operation at mediump) +0:73 'is2D' ( uniform lowp isampler2D) +0:73 'c4D' ( smooth temp lowp 4-component vector of float) +0:73 'ic2D' ( flat in mediump 2-component vector of int) +0:74 move second child to first child ( temp mediump 4-component vector of int) +0:74 'iv' ( temp mediump 4-component vector of int) +0:74 textureProjLod ( global lowp 4-component vector of int) +0:74 'is2D' ( uniform lowp isampler2D) +0:74 'c3D' ( smooth in lowp 3-component vector of float) +0:74 'c1D' ( smooth in lowp float) +0:75 move second child to first child ( temp mediump 4-component vector of int) +0:75 'iv' ( temp mediump 4-component vector of int) +0:75 textureProjGrad ( global lowp 4-component vector of int) +0:75 'is2D' ( uniform lowp isampler2D) +0:75 'c3D' ( smooth in lowp 3-component vector of float) +0:75 'c2D' ( smooth in lowp 2-component vector of float) +0:75 'c2D' ( smooth in lowp 2-component vector of float) +0:76 move second child to first child ( temp mediump 4-component vector of int) +0:76 'iv' ( temp mediump 4-component vector of int) +0:76 texture ( global lowp 4-component vector of int) +0:76 'is3D' ( uniform lowp isampler3D) +0:76 'c3D' ( smooth in lowp 3-component vector of float) 0:76 Constant: 0:76 4.200000 -0:77 move second child to first child (temp mediump 4-component vector of int) -0:77 'iv' (temp mediump 4-component vector of int) -0:77 textureLod (global lowp 4-component vector of int) -0:77 'isCube' (uniform lowp isamplerCube) -0:77 'c3D' (smooth in lowp 3-component vector of float) -0:77 'c1D' (smooth in lowp float) -0:78 move second child to first child (temp mediump 4-component vector of int) -0:78 'iv' (temp mediump 4-component vector of int) -0:78 textureFetch (global lowp 4-component vector of int, operation at mediump) -0:78 'is2DArray' (uniform lowp isampler2DArray) -0:78 'ic3D' (flat in mediump 3-component vector of int) -0:78 'ic1D' (flat in mediump int) -0:80 move second child to first child (temp highp 2-component vector of int) -0:80 vector swizzle (temp mediump 2-component vector of int) -0:80 'iv' (temp mediump 4-component vector of int) +0:77 move second child to first child ( temp mediump 4-component vector of int) +0:77 'iv' ( temp mediump 4-component vector of int) +0:77 textureLod ( global lowp 4-component vector of int) +0:77 'isCube' ( uniform lowp isamplerCube) +0:77 'c3D' ( smooth in lowp 3-component vector of float) +0:77 'c1D' ( smooth in lowp float) +0:78 move second child to first child ( temp mediump 4-component vector of int) +0:78 'iv' ( temp mediump 4-component vector of int) +0:78 textureFetch ( global lowp 4-component vector of int, operation at mediump) +0:78 'is2DArray' ( uniform lowp isampler2DArray) +0:78 'ic3D' ( flat in mediump 3-component vector of int) +0:78 'ic1D' ( flat in mediump int) +0:80 move second child to first child ( temp highp 2-component vector of int) +0:80 vector swizzle ( temp mediump 2-component vector of int) +0:80 'iv' ( temp mediump 4-component vector of int) 0:80 Sequence 0:80 Constant: 0:80 0 (const int) 0:80 Constant: 0:80 1 (const int) -0:80 textureSize (global highp 2-component vector of int, operation at lowp) -0:80 'sCubeShadow' (uniform lowp samplerCubeShadow) +0:80 textureSize ( global highp 2-component vector of int, operation at lowp) +0:80 'sCubeShadow' ( uniform lowp samplerCubeShadow) 0:80 Constant: 0:80 2 (const int) -0:88 add second child into first child (temp highp float) -0:88 'f' (temp lowp float) -0:88 direct index (temp highp float) -0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord) +0:88 add second child into first child ( temp highp float) +0:88 'f' ( temp lowp float) +0:88 direct index ( temp highp float) +0:88 'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord) 0:88 Constant: 0:88 1 (const int) -0:89 move second child to first child (temp highp float) -0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:89 'f' (temp lowp float) -0:91 move second child to first child (temp lowp 3-component vector of float) -0:91 'sc' (out lowp 3-component vector of float) -0:91 c: direct index for structure (global lowp 3-component vector of float) -0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) +0:89 move second child to first child ( temp highp float) +0:89 'gl_FragDepth' ( gl_FragDepth highp float FragDepth) +0:89 'f' ( temp lowp float) +0:91 move second child to first child ( temp lowp 3-component vector of float) +0:91 'sc' ( out lowp 3-component vector of float) +0:91 c: direct index for structure ( global lowp 3-component vector of float) +0:91 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) 0:91 Constant: 0:91 0 (const int) -0:92 move second child to first child (temp lowp float) -0:92 'sf' (out lowp float) -0:92 f: direct index for structure (global lowp float) -0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) +0:92 move second child to first child ( temp lowp float) +0:92 'sf' ( out lowp float) +0:92 f: direct index for structure ( global lowp float) +0:92 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) 0:92 Constant: 0:92 1 (const int) -0:94 add (temp lowp 2-component vector of float) -0:94 hyp. sine (global lowp float) -0:94 'c1D' (smooth in lowp float) -0:95 vector-scale (temp lowp 2-component vector of float) -0:95 hyp. cosine (global lowp float) -0:95 'c1D' (smooth in lowp float) -0:95 hyp. tangent (global lowp 2-component vector of float) -0:95 'c2D' (smooth in lowp 2-component vector of float) -0:96 add (temp lowp 4-component vector of float) -0:96 arc hyp. sine (global lowp 4-component vector of float) -0:96 'c4D' (smooth temp lowp 4-component vector of float) -0:96 arc hyp. cosine (global lowp 4-component vector of float) -0:96 'c4D' (smooth temp lowp 4-component vector of float) -0:97 arc hyp. tangent (global lowp 3-component vector of float) -0:97 'c3D' (smooth in lowp 3-component vector of float) -0:108 Function Definition: foo( (global void) +0:94 add ( temp lowp 2-component vector of float) +0:94 hyp. sine ( global lowp float) +0:94 'c1D' ( smooth in lowp float) +0:95 vector-scale ( temp lowp 2-component vector of float) +0:95 hyp. cosine ( global lowp float) +0:95 'c1D' ( smooth in lowp float) +0:95 hyp. tangent ( global lowp 2-component vector of float) +0:95 'c2D' ( smooth in lowp 2-component vector of float) +0:96 add ( temp lowp 4-component vector of float) +0:96 arc hyp. sine ( global lowp 4-component vector of float) +0:96 'c4D' ( smooth temp lowp 4-component vector of float) +0:96 arc hyp. cosine ( global lowp 4-component vector of float) +0:96 'c4D' ( smooth temp lowp 4-component vector of float) +0:97 arc hyp. tangent ( global lowp 3-component vector of float) +0:97 'c3D' ( smooth in lowp 3-component vector of float) +0:108 Function Definition: foo( ( global void) 0:108 Function Parameters: 0:110 Sequence -0:110 move second child to first child (temp lowp 4-component vector of float) -0:110 direct index (temp lowp 4-component vector of float) -0:110 'colors' (out 4-element array of lowp 4-component vector of float) +0:110 move second child to first child ( temp lowp 4-component vector of float) +0:110 direct index ( temp lowp 4-component vector of float) +0:110 'colors' ( out 4-element array of lowp 4-component vector of float) 0:110 Constant: 0:110 2 (const int) -0:110 'c4D' (smooth temp lowp 4-component vector of float) -0:111 move second child to first child (temp lowp 4-component vector of float) -0:111 indirect index (temp lowp 4-component vector of float) -0:111 'colors' (out 4-element array of lowp 4-component vector of float) -0:111 'ic1D' (flat in mediump int) -0:111 'c4D' (smooth temp lowp 4-component vector of float) -0:117 Function Definition: foo13(struct-s-i1-s211; (global void) +0:110 'c4D' ( smooth temp lowp 4-component vector of float) +0:111 move second child to first child ( temp lowp 4-component vector of float) +0:111 indirect index ( temp lowp 4-component vector of float) +0:111 'colors' ( out 4-element array of lowp 4-component vector of float) +0:111 'ic1D' ( flat in mediump int) +0:111 'c4D' ( smooth temp lowp 4-component vector of float) +0:117 Function Definition: foo13(struct-s-i1-s211; ( global void) 0:117 Function Parameters: -0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s}) +0:117 'inSt2' ( in structure{ global mediump int i, global lowp sampler2D s}) 0:119 Sequence -0:119 Test condition and select (temp void) +0:119 Test condition and select ( temp void) 0:119 Condition -0:119 Compare Equal (temp bool) -0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s}) +0:119 Compare Equal ( temp bool) +0:119 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:119 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s}) 0:119 true case is null -0:120 Test condition and select (temp void) +0:120 Test condition and select ( temp void) 0:120 Condition -0:120 Compare Not Equal (temp bool) -0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s}) +0:120 Compare Not Equal ( temp bool) +0:120 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:120 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s}) 0:120 true case is null 0:121 Constant: 0:121 false (const bool) -0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s}) -0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s}) -0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:123 Compare Equal (temp bool) -0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s}) -0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:126 Function Definition: foo23( (global void) +0:122 move second child to first child ( temp structure{ global mediump int i, global lowp sampler2D s}) +0:122 'inSt2' ( in structure{ global mediump int i, global lowp sampler2D s}) +0:122 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:123 Compare Equal ( temp bool) +0:123 'inSt2' ( in structure{ global mediump int i, global lowp sampler2D s}) +0:123 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:126 Function Definition: foo23( ( global void) 0:126 Function Parameters: 0:128 Sequence -0:128 textureOffset (global lowp float) -0:128 's2DShadow' (uniform lowp sampler2DShadow) -0:128 'c3D' (smooth in lowp 3-component vector of float) +0:128 textureOffset ( global lowp float) +0:128 's2DShadow' ( uniform lowp sampler2DShadow) +0:128 'c3D' ( smooth in lowp 3-component vector of float) 0:128 Constant: 0:128 -8 (const int) 0:128 7 (const int) -0:128 'c1D' (smooth in lowp float) -0:129 textureOffset (global lowp float) -0:129 's2DShadow' (uniform lowp sampler2DShadow) -0:129 'c3D' (smooth in lowp 3-component vector of float) +0:128 'c1D' ( smooth in lowp float) +0:129 textureOffset ( global lowp float) +0:129 's2DShadow' ( uniform lowp sampler2DShadow) +0:129 'c3D' ( smooth in lowp 3-component vector of float) 0:129 Constant: 0:129 -9 (const int) 0:129 8 (const int) -0:129 'c1D' (smooth in lowp float) -0:132 Function Definition: foo324( (global void) +0:129 'c1D' ( smooth in lowp float) +0:132 Function Definition: foo324( ( global void) 0:132 Function Parameters: 0:134 Sequence 0:134 Sequence -0:134 move second child to first child (temp lowp float) -0:134 'p' (temp lowp float) +0:134 move second child to first child ( temp lowp float) +0:134 'p' ( temp lowp float) 0:134 Constant: 0:134 210.712306 -0:135 add second child into first child (temp lowp float) -0:135 'p' (temp lowp float) +0:135 add second child into first child ( temp lowp float) +0:135 'p' ( temp lowp float) 0:135 Constant: 0:135 0.389418 -0:136 add second child into first child (temp lowp float) -0:136 'p' (temp lowp float) +0:136 add second child into first child ( temp lowp float) +0:136 'p' ( temp lowp float) 0:136 Constant: 0:136 5.000000 -0:137 add second child into first child (temp lowp float) -0:137 'p' (temp lowp float) +0:137 add second child into first child ( temp lowp float) +0:137 'p' ( temp lowp float) 0:137 Constant: 0:137 13.000000 0:138 Sequence -0:138 move second child to first child (temp lowp 3-component vector of float) -0:138 'c3' (temp lowp 3-component vector of float) +0:138 move second child to first child ( temp lowp 3-component vector of float) +0:138 'c3' ( temp lowp 3-component vector of float) 0:138 Constant: 0:138 -15.000000 0:138 -2.000000 0:138 39.000000 -0:139 add second child into first child (temp lowp 3-component vector of float) -0:139 'c3' (temp lowp 3-component vector of float) +0:139 add second child into first child ( temp lowp 3-component vector of float) +0:139 'c3' ( temp lowp 3-component vector of float) 0:139 Constant: 0:139 -1.000000 0:139 -2.000000 0:139 -3.000000 -0:140 add second child into first child (temp lowp 3-component vector of float) -0:140 'c3' (temp lowp 3-component vector of float) +0:140 add second child into first child ( temp lowp 3-component vector of float) +0:140 'c3' ( temp lowp 3-component vector of float) 0:140 Constant: 0:140 1.000000 0:140 2.000000 0:140 3.000000 0:141 Sequence -0:141 move second child to first child (temp lowp 2-component vector of float) -0:141 'c2' (temp lowp 2-component vector of float) +0:141 move second child to first child ( temp lowp 2-component vector of float) +0:141 'c2' ( temp lowp 2-component vector of float) 0:141 Constant: 0:141 1.000000 0:141 -3.000000 -0:142 add second child into first child (temp lowp 2-component vector of float) -0:142 'c2' (temp lowp 2-component vector of float) +0:142 add second child into first child ( temp lowp 2-component vector of float) +0:142 'c2' ( temp lowp 2-component vector of float) 0:142 Constant: 0:142 1.000000 0:142 -3.000000 -0:143 add second child into first child (temp lowp 2-component vector of float) -0:143 'c2' (temp lowp 2-component vector of float) +0:143 add second child into first child ( temp lowp 2-component vector of float) +0:143 'c2' ( temp lowp 2-component vector of float) 0:143 Constant: 0:143 3.000000 0:143 -8.544004 -0:144 add second child into first child (temp lowp 2-component vector of float) -0:144 'c2' (temp lowp 2-component vector of float) +0:144 add second child into first child ( temp lowp 2-component vector of float) +0:144 'c2' ( temp lowp 2-component vector of float) 0:144 Constant: 0:144 0.000000 0:144 0.000000 0:145 Sequence -0:145 move second child to first child (temp lowp 3X2 matrix of float) -0:145 'm32' (temp lowp 3X2 matrix of float) +0:145 move second child to first child ( temp lowp 3X2 matrix of float) +0:145 'm32' ( temp lowp 3X2 matrix of float) 0:145 Constant: 0:145 10.000000 0:145 15.000000 @@ -362,41 +362,41 @@ ERROR: node is still EOpNull! 0:145 22.000000 0:145 33.000000 0:? Linker Objects -0:? 's2D' (uniform lowp sampler2D) -0:? 's3D' (uniform lowp sampler3D) -0:? 'sCube' (uniform lowp samplerCube) -0:? 'sCubeShadow' (uniform lowp samplerCubeShadow) -0:? 's2DShadow' (uniform lowp sampler2DShadow) -0:? 's2DArray' (uniform lowp sampler2DArray) -0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) -0:? 'is2D' (uniform lowp isampler2D) -0:? 'is3D' (uniform lowp isampler3D) -0:? 'isCube' (uniform lowp isamplerCube) -0:? 'is2DArray' (uniform lowp isampler2DArray) -0:? 'us2D' (uniform lowp usampler2D) -0:? 'us3D' (uniform lowp usampler3D) -0:? 'usCube' (uniform lowp usamplerCube) -0:? 'us2DArray' (uniform lowp usampler2DArray) -0:? 'c1D' (smooth in lowp float) -0:? 'c2D' (smooth in lowp 2-component vector of float) -0:? 'c3D' (smooth in lowp 3-component vector of float) -0:? 'c4D' (smooth temp lowp 4-component vector of float) -0:? 'ic1D' (flat in mediump int) -0:? 'ic2D' (flat in mediump 2-component vector of int) -0:? 'ic3D' (flat in mediump 3-component vector of int) -0:? 'ic4D' (flat in mediump 4-component vector of int) -0:? 'badv' (noperspective in lowp 4-component vector of float) -0:? 'bads' (smooth in lowp sampler2D) -0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s}) -0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) -0:? 'sc' (out lowp 3-component vector of float) -0:? 'sf' (out lowp float) -0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D) -0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform 2-element array of mediump int a, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c}) -0:? 'colors' (out 4-element array of lowp 4-component vector of float) -0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:? 'fooinv' (invariant smooth in lowp 4-component vector of float) +0:? 's2D' ( uniform lowp sampler2D) +0:? 's3D' ( uniform lowp sampler3D) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 'sCubeShadow' ( uniform lowp samplerCubeShadow) +0:? 's2DShadow' ( uniform lowp sampler2DShadow) +0:? 's2DArray' ( uniform lowp sampler2DArray) +0:? 's2DArrayShadow' ( uniform lowp sampler2DArrayShadow) +0:? 'is2D' ( uniform lowp isampler2D) +0:? 'is3D' ( uniform lowp isampler3D) +0:? 'isCube' ( uniform lowp isamplerCube) +0:? 'is2DArray' ( uniform lowp isampler2DArray) +0:? 'us2D' ( uniform lowp usampler2D) +0:? 'us3D' ( uniform lowp usampler3D) +0:? 'usCube' ( uniform lowp usamplerCube) +0:? 'us2DArray' ( uniform lowp usampler2DArray) +0:? 'c1D' ( smooth in lowp float) +0:? 'c2D' ( smooth in lowp 2-component vector of float) +0:? 'c3D' ( smooth in lowp 3-component vector of float) +0:? 'c4D' ( smooth temp lowp 4-component vector of float) +0:? 'ic1D' ( flat in mediump int) +0:? 'ic2D' ( flat in mediump 2-component vector of int) +0:? 'ic3D' ( flat in mediump 3-component vector of int) +0:? 'ic4D' ( flat in mediump 4-component vector of int) +0:? 'badv' ( noperspective in lowp 4-component vector of float) +0:? 'bads' ( smooth in lowp sampler2D) +0:? 'badout' ( smooth in structure{ global mediump int i, global lowp sampler2D s}) +0:? 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) +0:? 'sc' ( out lowp 3-component vector of float) +0:? 'sf' ( out lowp float) +0:? 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) +0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c}) +0:? 'colors' ( out 4-element array of lowp 4-component vector of float) +0:? 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:? 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:? 'fooinv' ( invariant smooth in lowp 4-component vector of float) Linked fragment stage: @@ -406,226 +406,226 @@ ERROR: Linking fragment stage: when more than one fragment shader output, all mu Shader version: 300 using early_fragment_tests ERROR: node is still EOpNull! -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:? Sequence -0:57 move second child to first child (temp lowp 4-component vector of float) -0:57 'v' (temp lowp 4-component vector of float) -0:57 texture (global lowp 4-component vector of float) -0:57 's2D' (uniform lowp sampler2D) -0:57 'c2D' (smooth in lowp 2-component vector of float) -0:58 move second child to first child (temp lowp 4-component vector of float) -0:58 'v' (temp lowp 4-component vector of float) -0:58 textureProj (global lowp 4-component vector of float) -0:58 's3D' (uniform lowp sampler3D) -0:58 'c4D' (smooth temp lowp 4-component vector of float) -0:59 move second child to first child (temp lowp 4-component vector of float) -0:59 'v' (temp lowp 4-component vector of float) -0:59 textureLod (global lowp 4-component vector of float) -0:59 's2DArray' (uniform lowp sampler2DArray) -0:59 'c3D' (smooth in lowp 3-component vector of float) +0:57 move second child to first child ( temp lowp 4-component vector of float) +0:57 'v' ( temp lowp 4-component vector of float) +0:57 texture ( global lowp 4-component vector of float) +0:57 's2D' ( uniform lowp sampler2D) +0:57 'c2D' ( smooth in lowp 2-component vector of float) +0:58 move second child to first child ( temp lowp 4-component vector of float) +0:58 'v' ( temp lowp 4-component vector of float) +0:58 textureProj ( global lowp 4-component vector of float) +0:58 's3D' ( uniform lowp sampler3D) +0:58 'c4D' ( smooth temp lowp 4-component vector of float) +0:59 move second child to first child ( temp lowp 4-component vector of float) +0:59 'v' ( temp lowp 4-component vector of float) +0:59 textureLod ( global lowp 4-component vector of float) +0:59 's2DArray' ( uniform lowp sampler2DArray) +0:59 'c3D' ( smooth in lowp 3-component vector of float) 0:59 Constant: 0:59 1.200000 -0:60 move second child to first child (temp lowp float) -0:60 'f' (temp lowp float) -0:60 textureOffset (global lowp float, operation at mediump) -0:60 's2DShadow' (uniform lowp sampler2DShadow) -0:60 'c3D' (smooth in lowp 3-component vector of float) -0:60 'ic2D' (flat in mediump 2-component vector of int) -0:60 'c1D' (smooth in lowp float) -0:61 move second child to first child (temp lowp 4-component vector of float) -0:61 'v' (temp lowp 4-component vector of float) -0:61 textureFetch (global lowp 4-component vector of float, operation at mediump) -0:61 's3D' (uniform lowp sampler3D) -0:61 'ic3D' (flat in mediump 3-component vector of int) -0:61 'ic1D' (flat in mediump int) -0:62 move second child to first child (temp lowp 4-component vector of float) -0:62 'v' (temp lowp 4-component vector of float) -0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump) -0:62 direct index (temp lowp sampler2D) -0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D) +0:60 move second child to first child ( temp lowp float) +0:60 'f' ( temp lowp float) +0:60 textureOffset ( global lowp float, operation at mediump) +0:60 's2DShadow' ( uniform lowp sampler2DShadow) +0:60 'c3D' ( smooth in lowp 3-component vector of float) +0:60 'ic2D' ( flat in mediump 2-component vector of int) +0:60 'c1D' ( smooth in lowp float) +0:61 move second child to first child ( temp lowp 4-component vector of float) +0:61 'v' ( temp lowp 4-component vector of float) +0:61 textureFetch ( global lowp 4-component vector of float, operation at mediump) +0:61 's3D' ( uniform lowp sampler3D) +0:61 'ic3D' ( flat in mediump 3-component vector of int) +0:61 'ic1D' ( flat in mediump int) +0:62 move second child to first child ( temp lowp 4-component vector of float) +0:62 'v' ( temp lowp 4-component vector of float) +0:62 textureFetchOffset ( global lowp 4-component vector of float, operation at mediump) +0:62 direct index ( temp lowp sampler2D) +0:62 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) 0:62 Constant: 0:62 2 (const int) -0:62 'ic2D' (flat in mediump 2-component vector of int) +0:62 'ic2D' ( flat in mediump 2-component vector of int) 0:62 Constant: 0:62 4 (const int) -0:62 'ic2D' (flat in mediump 2-component vector of int) -0:63 move second child to first child (temp lowp float) -0:63 'f' (temp lowp float) -0:63 textureLodOffset (global lowp float, operation at mediump) -0:63 's2DShadow' (uniform lowp sampler2DShadow) -0:63 'c3D' (smooth in lowp 3-component vector of float) -0:63 'c1D' (smooth in lowp float) -0:63 'ic2D' (flat in mediump 2-component vector of int) -0:64 move second child to first child (temp lowp 4-component vector of float) -0:64 'v' (temp lowp 4-component vector of float) -0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump) -0:64 's2D' (uniform lowp sampler2D) -0:64 'c3D' (smooth in lowp 3-component vector of float) -0:64 'c1D' (smooth in lowp float) -0:64 'ic2D' (flat in mediump 2-component vector of int) -0:65 move second child to first child (temp lowp 4-component vector of float) -0:65 'v' (temp lowp 4-component vector of float) -0:65 textureGrad (global lowp 4-component vector of float) -0:65 'sCube' (uniform lowp samplerCube) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:65 'c3D' (smooth in lowp 3-component vector of float) -0:66 move second child to first child (temp lowp float) -0:66 'f' (temp lowp float) -0:66 textureGradOffset (global lowp float, operation at mediump) -0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) -0:66 'c4D' (smooth temp lowp 4-component vector of float) -0:66 'c2D' (smooth in lowp 2-component vector of float) -0:66 'c2D' (smooth in lowp 2-component vector of float) -0:66 'ic2D' (flat in mediump 2-component vector of int) -0:67 move second child to first child (temp lowp 4-component vector of float) -0:67 'v' (temp lowp 4-component vector of float) -0:67 textureProjGrad (global lowp 4-component vector of float) -0:67 's3D' (uniform lowp sampler3D) -0:67 'c4D' (smooth temp lowp 4-component vector of float) -0:67 'c3D' (smooth in lowp 3-component vector of float) -0:67 'c3D' (smooth in lowp 3-component vector of float) -0:68 move second child to first child (temp lowp 4-component vector of float) -0:68 'v' (temp lowp 4-component vector of float) -0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump) -0:68 's2D' (uniform lowp sampler2D) -0:68 'c3D' (smooth in lowp 3-component vector of float) -0:68 'c2D' (smooth in lowp 2-component vector of float) -0:68 'c2D' (smooth in lowp 2-component vector of float) -0:68 'ic2D' (flat in mediump 2-component vector of int) -0:69 move second child to first child (temp lowp 4-component vector of float) -0:69 'v' (temp lowp 4-component vector of float) -0:69 texture (global lowp 4-component vector of float) -0:69 indirect index (temp lowp sampler2D) -0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D) -0:69 'ic1D' (flat in mediump int) -0:69 'c2D' (smooth in lowp 2-component vector of float) -0:72 move second child to first child (temp mediump 4-component vector of int) -0:72 'iv' (temp mediump 4-component vector of int) -0:72 texture (global lowp 4-component vector of int) -0:72 'is2D' (uniform lowp isampler2D) -0:72 'c2D' (smooth in lowp 2-component vector of float) -0:73 move second child to first child (temp mediump 4-component vector of int) -0:73 'iv' (temp mediump 4-component vector of int) -0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump) -0:73 'is2D' (uniform lowp isampler2D) -0:73 'c4D' (smooth temp lowp 4-component vector of float) -0:73 'ic2D' (flat in mediump 2-component vector of int) -0:74 move second child to first child (temp mediump 4-component vector of int) -0:74 'iv' (temp mediump 4-component vector of int) -0:74 textureProjLod (global lowp 4-component vector of int) -0:74 'is2D' (uniform lowp isampler2D) -0:74 'c3D' (smooth in lowp 3-component vector of float) -0:74 'c1D' (smooth in lowp float) -0:75 move second child to first child (temp mediump 4-component vector of int) -0:75 'iv' (temp mediump 4-component vector of int) -0:75 textureProjGrad (global lowp 4-component vector of int) -0:75 'is2D' (uniform lowp isampler2D) -0:75 'c3D' (smooth in lowp 3-component vector of float) -0:75 'c2D' (smooth in lowp 2-component vector of float) -0:75 'c2D' (smooth in lowp 2-component vector of float) -0:76 move second child to first child (temp mediump 4-component vector of int) -0:76 'iv' (temp mediump 4-component vector of int) -0:76 texture (global lowp 4-component vector of int) -0:76 'is3D' (uniform lowp isampler3D) -0:76 'c3D' (smooth in lowp 3-component vector of float) +0:62 'ic2D' ( flat in mediump 2-component vector of int) +0:63 move second child to first child ( temp lowp float) +0:63 'f' ( temp lowp float) +0:63 textureLodOffset ( global lowp float, operation at mediump) +0:63 's2DShadow' ( uniform lowp sampler2DShadow) +0:63 'c3D' ( smooth in lowp 3-component vector of float) +0:63 'c1D' ( smooth in lowp float) +0:63 'ic2D' ( flat in mediump 2-component vector of int) +0:64 move second child to first child ( temp lowp 4-component vector of float) +0:64 'v' ( temp lowp 4-component vector of float) +0:64 textureProjLodOffset ( global lowp 4-component vector of float, operation at mediump) +0:64 's2D' ( uniform lowp sampler2D) +0:64 'c3D' ( smooth in lowp 3-component vector of float) +0:64 'c1D' ( smooth in lowp float) +0:64 'ic2D' ( flat in mediump 2-component vector of int) +0:65 move second child to first child ( temp lowp 4-component vector of float) +0:65 'v' ( temp lowp 4-component vector of float) +0:65 textureGrad ( global lowp 4-component vector of float) +0:65 'sCube' ( uniform lowp samplerCube) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:65 'c3D' ( smooth in lowp 3-component vector of float) +0:66 move second child to first child ( temp lowp float) +0:66 'f' ( temp lowp float) +0:66 textureGradOffset ( global lowp float, operation at mediump) +0:66 's2DArrayShadow' ( uniform lowp sampler2DArrayShadow) +0:66 'c4D' ( smooth temp lowp 4-component vector of float) +0:66 'c2D' ( smooth in lowp 2-component vector of float) +0:66 'c2D' ( smooth in lowp 2-component vector of float) +0:66 'ic2D' ( flat in mediump 2-component vector of int) +0:67 move second child to first child ( temp lowp 4-component vector of float) +0:67 'v' ( temp lowp 4-component vector of float) +0:67 textureProjGrad ( global lowp 4-component vector of float) +0:67 's3D' ( uniform lowp sampler3D) +0:67 'c4D' ( smooth temp lowp 4-component vector of float) +0:67 'c3D' ( smooth in lowp 3-component vector of float) +0:67 'c3D' ( smooth in lowp 3-component vector of float) +0:68 move second child to first child ( temp lowp 4-component vector of float) +0:68 'v' ( temp lowp 4-component vector of float) +0:68 textureProjGradOffset ( global lowp 4-component vector of float, operation at mediump) +0:68 's2D' ( uniform lowp sampler2D) +0:68 'c3D' ( smooth in lowp 3-component vector of float) +0:68 'c2D' ( smooth in lowp 2-component vector of float) +0:68 'c2D' ( smooth in lowp 2-component vector of float) +0:68 'ic2D' ( flat in mediump 2-component vector of int) +0:69 move second child to first child ( temp lowp 4-component vector of float) +0:69 'v' ( temp lowp 4-component vector of float) +0:69 texture ( global lowp 4-component vector of float) +0:69 indirect index ( temp lowp sampler2D) +0:69 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) +0:69 'ic1D' ( flat in mediump int) +0:69 'c2D' ( smooth in lowp 2-component vector of float) +0:72 move second child to first child ( temp mediump 4-component vector of int) +0:72 'iv' ( temp mediump 4-component vector of int) +0:72 texture ( global lowp 4-component vector of int) +0:72 'is2D' ( uniform lowp isampler2D) +0:72 'c2D' ( smooth in lowp 2-component vector of float) +0:73 move second child to first child ( temp mediump 4-component vector of int) +0:73 'iv' ( temp mediump 4-component vector of int) +0:73 textureProjOffset ( global lowp 4-component vector of int, operation at mediump) +0:73 'is2D' ( uniform lowp isampler2D) +0:73 'c4D' ( smooth temp lowp 4-component vector of float) +0:73 'ic2D' ( flat in mediump 2-component vector of int) +0:74 move second child to first child ( temp mediump 4-component vector of int) +0:74 'iv' ( temp mediump 4-component vector of int) +0:74 textureProjLod ( global lowp 4-component vector of int) +0:74 'is2D' ( uniform lowp isampler2D) +0:74 'c3D' ( smooth in lowp 3-component vector of float) +0:74 'c1D' ( smooth in lowp float) +0:75 move second child to first child ( temp mediump 4-component vector of int) +0:75 'iv' ( temp mediump 4-component vector of int) +0:75 textureProjGrad ( global lowp 4-component vector of int) +0:75 'is2D' ( uniform lowp isampler2D) +0:75 'c3D' ( smooth in lowp 3-component vector of float) +0:75 'c2D' ( smooth in lowp 2-component vector of float) +0:75 'c2D' ( smooth in lowp 2-component vector of float) +0:76 move second child to first child ( temp mediump 4-component vector of int) +0:76 'iv' ( temp mediump 4-component vector of int) +0:76 texture ( global lowp 4-component vector of int) +0:76 'is3D' ( uniform lowp isampler3D) +0:76 'c3D' ( smooth in lowp 3-component vector of float) 0:76 Constant: 0:76 4.200000 -0:77 move second child to first child (temp mediump 4-component vector of int) -0:77 'iv' (temp mediump 4-component vector of int) -0:77 textureLod (global lowp 4-component vector of int) -0:77 'isCube' (uniform lowp isamplerCube) -0:77 'c3D' (smooth in lowp 3-component vector of float) -0:77 'c1D' (smooth in lowp float) -0:78 move second child to first child (temp mediump 4-component vector of int) -0:78 'iv' (temp mediump 4-component vector of int) -0:78 textureFetch (global lowp 4-component vector of int, operation at mediump) -0:78 'is2DArray' (uniform lowp isampler2DArray) -0:78 'ic3D' (flat in mediump 3-component vector of int) -0:78 'ic1D' (flat in mediump int) -0:80 move second child to first child (temp highp 2-component vector of int) -0:80 vector swizzle (temp mediump 2-component vector of int) -0:80 'iv' (temp mediump 4-component vector of int) +0:77 move second child to first child ( temp mediump 4-component vector of int) +0:77 'iv' ( temp mediump 4-component vector of int) +0:77 textureLod ( global lowp 4-component vector of int) +0:77 'isCube' ( uniform lowp isamplerCube) +0:77 'c3D' ( smooth in lowp 3-component vector of float) +0:77 'c1D' ( smooth in lowp float) +0:78 move second child to first child ( temp mediump 4-component vector of int) +0:78 'iv' ( temp mediump 4-component vector of int) +0:78 textureFetch ( global lowp 4-component vector of int, operation at mediump) +0:78 'is2DArray' ( uniform lowp isampler2DArray) +0:78 'ic3D' ( flat in mediump 3-component vector of int) +0:78 'ic1D' ( flat in mediump int) +0:80 move second child to first child ( temp highp 2-component vector of int) +0:80 vector swizzle ( temp mediump 2-component vector of int) +0:80 'iv' ( temp mediump 4-component vector of int) 0:80 Sequence 0:80 Constant: 0:80 0 (const int) 0:80 Constant: 0:80 1 (const int) -0:80 textureSize (global highp 2-component vector of int, operation at lowp) -0:80 'sCubeShadow' (uniform lowp samplerCubeShadow) +0:80 textureSize ( global highp 2-component vector of int, operation at lowp) +0:80 'sCubeShadow' ( uniform lowp samplerCubeShadow) 0:80 Constant: 0:80 2 (const int) -0:88 add second child into first child (temp highp float) -0:88 'f' (temp lowp float) -0:88 direct index (temp highp float) -0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord) +0:88 add second child into first child ( temp highp float) +0:88 'f' ( temp lowp float) +0:88 direct index ( temp highp float) +0:88 'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord) 0:88 Constant: 0:88 1 (const int) -0:89 move second child to first child (temp highp float) -0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:89 'f' (temp lowp float) -0:91 move second child to first child (temp lowp 3-component vector of float) -0:91 'sc' (out lowp 3-component vector of float) -0:91 c: direct index for structure (global lowp 3-component vector of float) -0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) +0:89 move second child to first child ( temp highp float) +0:89 'gl_FragDepth' ( gl_FragDepth highp float FragDepth) +0:89 'f' ( temp lowp float) +0:91 move second child to first child ( temp lowp 3-component vector of float) +0:91 'sc' ( out lowp 3-component vector of float) +0:91 c: direct index for structure ( global lowp 3-component vector of float) +0:91 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) 0:91 Constant: 0:91 0 (const int) -0:92 move second child to first child (temp lowp float) -0:92 'sf' (out lowp float) -0:92 f: direct index for structure (global lowp float) -0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) +0:92 move second child to first child ( temp lowp float) +0:92 'sf' ( out lowp float) +0:92 f: direct index for structure ( global lowp float) +0:92 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) 0:92 Constant: 0:92 1 (const int) -0:94 add (temp lowp 2-component vector of float) -0:94 hyp. sine (global lowp float) -0:94 'c1D' (smooth in lowp float) -0:95 vector-scale (temp lowp 2-component vector of float) -0:95 hyp. cosine (global lowp float) -0:95 'c1D' (smooth in lowp float) -0:95 hyp. tangent (global lowp 2-component vector of float) -0:95 'c2D' (smooth in lowp 2-component vector of float) -0:96 add (temp lowp 4-component vector of float) -0:96 arc hyp. sine (global lowp 4-component vector of float) -0:96 'c4D' (smooth temp lowp 4-component vector of float) -0:96 arc hyp. cosine (global lowp 4-component vector of float) -0:96 'c4D' (smooth temp lowp 4-component vector of float) -0:97 arc hyp. tangent (global lowp 3-component vector of float) -0:97 'c3D' (smooth in lowp 3-component vector of float) +0:94 add ( temp lowp 2-component vector of float) +0:94 hyp. sine ( global lowp float) +0:94 'c1D' ( smooth in lowp float) +0:95 vector-scale ( temp lowp 2-component vector of float) +0:95 hyp. cosine ( global lowp float) +0:95 'c1D' ( smooth in lowp float) +0:95 hyp. tangent ( global lowp 2-component vector of float) +0:95 'c2D' ( smooth in lowp 2-component vector of float) +0:96 add ( temp lowp 4-component vector of float) +0:96 arc hyp. sine ( global lowp 4-component vector of float) +0:96 'c4D' ( smooth temp lowp 4-component vector of float) +0:96 arc hyp. cosine ( global lowp 4-component vector of float) +0:96 'c4D' ( smooth temp lowp 4-component vector of float) +0:97 arc hyp. tangent ( global lowp 3-component vector of float) +0:97 'c3D' ( smooth in lowp 3-component vector of float) 0:? Linker Objects -0:? 's2D' (uniform lowp sampler2D) -0:? 's3D' (uniform lowp sampler3D) -0:? 'sCube' (uniform lowp samplerCube) -0:? 'sCubeShadow' (uniform lowp samplerCubeShadow) -0:? 's2DShadow' (uniform lowp sampler2DShadow) -0:? 's2DArray' (uniform lowp sampler2DArray) -0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) -0:? 'is2D' (uniform lowp isampler2D) -0:? 'is3D' (uniform lowp isampler3D) -0:? 'isCube' (uniform lowp isamplerCube) -0:? 'is2DArray' (uniform lowp isampler2DArray) -0:? 'us2D' (uniform lowp usampler2D) -0:? 'us3D' (uniform lowp usampler3D) -0:? 'usCube' (uniform lowp usamplerCube) -0:? 'us2DArray' (uniform lowp usampler2DArray) -0:? 'c1D' (smooth in lowp float) -0:? 'c2D' (smooth in lowp 2-component vector of float) -0:? 'c3D' (smooth in lowp 3-component vector of float) -0:? 'c4D' (smooth temp lowp 4-component vector of float) -0:? 'ic1D' (flat in mediump int) -0:? 'ic2D' (flat in mediump 2-component vector of int) -0:? 'ic3D' (flat in mediump 3-component vector of int) -0:? 'ic4D' (flat in mediump 4-component vector of int) -0:? 'badv' (noperspective in lowp 4-component vector of float) -0:? 'bads' (smooth in lowp sampler2D) -0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s}) -0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f}) -0:? 'sc' (out lowp 3-component vector of float) -0:? 'sf' (out lowp float) -0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D) -0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform 2-element array of mediump int a, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c}) -0:? 'colors' (out 4-element array of lowp 4-component vector of float) -0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s}) -0:? 'fooinv' (invariant smooth in lowp 4-component vector of float) +0:? 's2D' ( uniform lowp sampler2D) +0:? 's3D' ( uniform lowp sampler3D) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 'sCubeShadow' ( uniform lowp samplerCubeShadow) +0:? 's2DShadow' ( uniform lowp sampler2DShadow) +0:? 's2DArray' ( uniform lowp sampler2DArray) +0:? 's2DArrayShadow' ( uniform lowp sampler2DArrayShadow) +0:? 'is2D' ( uniform lowp isampler2D) +0:? 'is3D' ( uniform lowp isampler3D) +0:? 'isCube' ( uniform lowp isamplerCube) +0:? 'is2DArray' ( uniform lowp isampler2DArray) +0:? 'us2D' ( uniform lowp usampler2D) +0:? 'us3D' ( uniform lowp usampler3D) +0:? 'usCube' ( uniform lowp usamplerCube) +0:? 'us2DArray' ( uniform lowp usampler2DArray) +0:? 'c1D' ( smooth in lowp float) +0:? 'c2D' ( smooth in lowp 2-component vector of float) +0:? 'c3D' ( smooth in lowp 3-component vector of float) +0:? 'c4D' ( smooth temp lowp 4-component vector of float) +0:? 'ic1D' ( flat in mediump int) +0:? 'ic2D' ( flat in mediump 2-component vector of int) +0:? 'ic3D' ( flat in mediump 3-component vector of int) +0:? 'ic4D' ( flat in mediump 4-component vector of int) +0:? 'badv' ( noperspective in lowp 4-component vector of float) +0:? 'bads' ( smooth in lowp sampler2D) +0:? 'badout' ( smooth in structure{ global mediump int i, global lowp sampler2D s}) +0:? 's2' ( smooth in structure{ global lowp 3-component vector of float c, global lowp float f}) +0:? 'sc' ( out lowp 3-component vector of float) +0:? 'sf' ( out lowp float) +0:? 'arrayedSampler' ( uniform 5-element array of lowp sampler2D) +0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c}) +0:? 'colors' ( out 4-element array of lowp 4-component vector of float) +0:? 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:? 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s}) +0:? 'fooinv' ( invariant smooth in lowp 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.vert.out index 5f060cba8e6..ec5d5d0055b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300.vert.out @@ -41,168 +41,168 @@ ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, lay ERROR: 0:172: 'std430' : not supported for this version or the enabled extensions ERROR: 0:172: 'std430' : requires the 'buffer' storage qualifier ERROR: 0:175: '' : array size required -ERROR: 0:185: 'assign' : cannot convert from 'temp 4-element array of highp float' to 'temp 3-element array of highp float' -ERROR: 0:186: 'assign' : cannot convert from 'temp 3-element array of highp float' to 'temp 4-element array of highp float' +ERROR: 0:185: 'assign' : cannot convert from ' temp 4-element array of highp float' to ' temp 3-element array of highp float' +ERROR: 0:186: 'assign' : cannot convert from ' temp 3-element array of highp float' to ' temp 4-element array of highp float' ERROR: 44 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence 0:29 Sequence -0:29 move second child to first child (temp highp int) -0:29 'id' (temp highp int) -0:29 add (temp highp int) -0:29 'gl_VertexID' (gl_VertexId highp int VertexId) -0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:29 move second child to first child ( temp highp int) +0:29 'id' ( temp highp int) +0:29 add ( temp highp int) +0:29 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:29 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'c0' (temp highp int) +0:31 move second child to first child ( temp highp int) +0:31 'c0' ( temp highp int) 0:31 Constant: 0:31 64 (const int) 0:32 Sequence -0:32 move second child to first child (temp highp int) -0:32 'c1' (temp highp int) +0:32 move second child to first child ( temp highp int) +0:32 'c1' ( temp highp int) 0:32 Constant: 0:32 128 (const int) 0:33 Sequence -0:33 move second child to first child (temp highp int) -0:33 'c2' (temp highp int) +0:33 move second child to first child ( temp highp int) +0:33 'c2' ( temp highp int) 0:33 Constant: 0:33 16 (const int) 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'c3' (temp highp int) +0:34 move second child to first child ( temp highp int) +0:34 'c3' ( temp highp int) 0:34 Constant: 0:34 15 (const int) 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'c4' (temp highp int) +0:35 move second child to first child ( temp highp int) +0:35 'c4' ( temp highp int) 0:35 Constant: 0:35 32 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp int) -0:36 'c5' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'c5' ( temp highp int) 0:36 Constant: 0:36 80 (const int) 0:37 Sequence -0:37 move second child to first child (temp highp int) -0:37 'c6' (temp highp int) +0:37 move second child to first child ( temp highp int) +0:37 'c6' ( temp highp int) 0:37 Constant: 0:37 32 (const int) 0:38 Sequence -0:38 move second child to first child (temp highp int) -0:38 'c7' (temp highp int) +0:38 move second child to first child ( temp highp int) +0:38 'c7' ( temp highp int) 0:38 Constant: 0:38 16 (const int) 0:39 Sequence -0:39 move second child to first child (temp highp int) -0:39 'c8' (temp highp int) +0:39 move second child to first child ( temp highp int) +0:39 'c8' ( temp highp int) 0:39 Constant: 0:39 32 (const int) 0:40 Sequence -0:40 move second child to first child (temp highp int) -0:40 'c9' (temp highp int) +0:40 move second child to first child ( temp highp int) +0:40 'c9' ( temp highp int) 0:40 Constant: 0:40 -8 (const int) 0:41 Sequence -0:41 move second child to first child (temp highp int) -0:41 'c10' (temp highp int) +0:41 move second child to first child ( temp highp int) +0:41 'c10' ( temp highp int) 0:41 Constant: 0:41 7 (const int) 0:43 Sequence -0:43 move second child to first child (temp highp 3X4 matrix of float) -0:43 'tm' (temp highp 3X4 matrix of float) -0:43 transpose (global highp 3X4 matrix of float) -0:43 'm43' (uniform highp 4X3 matrix of float) +0:43 move second child to first child ( temp highp 3X4 matrix of float) +0:43 'tm' ( temp highp 3X4 matrix of float) +0:43 transpose ( global highp 3X4 matrix of float) +0:43 'm43' ( uniform highp 4X3 matrix of float) 0:44 Sequence -0:44 move second child to first child (temp highp float) -0:44 'dm' (temp highp float) -0:44 determinant (global highp float) -0:44 'm44' (uniform highp 4X4 matrix of float) +0:44 move second child to first child ( temp highp float) +0:44 'dm' ( temp highp float) +0:44 determinant ( global highp float) +0:44 'm44' ( uniform highp 4X4 matrix of float) 0:45 Sequence -0:45 move second child to first child (temp highp 3X3 matrix of float) -0:45 'im' (temp highp 3X3 matrix of float) -0:45 inverse (global highp 3X3 matrix of float) -0:45 'm33' (uniform highp 3X3 matrix of float) +0:45 move second child to first child ( temp highp 3X3 matrix of float) +0:45 'im' ( temp highp 3X3 matrix of float) +0:45 inverse ( global highp 3X3 matrix of float) +0:45 'm33' ( uniform highp 3X3 matrix of float) 0:47 Sequence -0:47 move second child to first child (temp highp 3X2 matrix of float) -0:47 'op' (temp highp 3X2 matrix of float) -0:47 outer product (global highp 3X2 matrix of float) -0:47 'v2' (smooth out highp 2-component vector of float) -0:47 'v3' (in highp 3-component vector of float) -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:49 direct index (temp highp 4-component vector of float) -0:49 'm44' (uniform highp 4X4 matrix of float) +0:47 move second child to first child ( temp highp 3X2 matrix of float) +0:47 'op' ( temp highp 3X2 matrix of float) +0:47 outer product ( global highp 3X2 matrix of float) +0:47 'v2' ( smooth out highp 2-component vector of float) +0:47 'v3' ( in highp 3-component vector of float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:49 direct index ( temp highp 4-component vector of float) +0:49 'm44' ( uniform highp 4X4 matrix of float) 0:49 Constant: 0:49 2 (const int) -0:50 move second child to first child (temp highp float) -0:50 'gl_PointSize' (gl_PointSize highp float PointSize) -0:50 direct index (temp highp float) -0:50 'v2' (smooth out highp 2-component vector of float) +0:50 move second child to first child ( temp highp float) +0:50 'gl_PointSize' ( gl_PointSize highp float PointSize) +0:50 direct index ( temp highp float) +0:50 'v2' ( smooth out highp 2-component vector of float) 0:50 Constant: 0:50 1 (const int) -0:52 move second child to first child (temp highp 3-component vector of float) -0:52 c: direct index for structure (global highp 3-component vector of float) -0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:52 move second child to first child ( temp highp 3-component vector of float) +0:52 c: direct index for structure ( global highp 3-component vector of float) +0:52 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) 0:52 Constant: 0:52 0 (const int) -0:52 'v3' (in highp 3-component vector of float) -0:53 move second child to first child (temp highp float) -0:53 f: direct index for structure (global highp float) -0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:52 'v3' ( in highp 3-component vector of float) +0:53 move second child to first child ( temp highp float) +0:53 f: direct index for structure ( global highp float) +0:53 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) 0:53 Constant: 0:53 1 (const int) -0:53 'dm' (temp highp float) +0:53 'dm' ( temp highp float) 0:68 Sequence -0:68 move second child to first child (temp 2-element array of highp float) -0:68 'okayA' (global 2-element array of highp float) +0:68 move second child to first child ( temp 2-element array of highp float) +0:68 'okayA' ( global 2-element array of highp float) 0:68 Constant: 0:68 3.000000 0:68 4.000000 -0:71 Function Definition: newVFun( (global void) +0:71 Function Definition: newVFun( ( global void) 0:71 Function Parameters: 0:73 Sequence -0:73 move second child to first child (temp highp 3-component vector of float) -0:73 'newV' (smooth out highp 3-component vector of float) -0:73 'v3' (in highp 3-component vector of float) -0:118 Function Definition: foo23( (global void) +0:73 move second child to first child ( temp highp 3-component vector of float) +0:73 'newV' ( smooth out highp 3-component vector of float) +0:73 'v3' ( in highp 3-component vector of float) +0:118 Function Definition: foo23( ( global void) 0:118 Function Parameters: 0:120 Sequence 0:120 Sequence -0:120 move second child to first child (temp highp 2-component vector of int) -0:120 'x1' (temp highp 2-component vector of int) -0:120 textureSize (global highp 2-component vector of int, operation at lowp) -0:120 's2D' (uniform lowp sampler2D) +0:120 move second child to first child ( temp highp 2-component vector of int) +0:120 'x1' ( temp highp 2-component vector of int) +0:120 textureSize ( global highp 2-component vector of int, operation at lowp) +0:120 's2D' ( uniform lowp sampler2D) 0:120 Constant: 0:120 2 (const int) 0:121 Constant: 0:121 0.000000 0:122 Sequence -0:122 move second child to first child (temp highp 3-component vector of int) -0:122 'x3' (temp highp 3-component vector of int) -0:122 textureSize (global highp 3-component vector of int, operation at lowp) -0:122 's2DAS' (uniform lowp sampler2DArrayShadow) +0:122 move second child to first child ( temp highp 3-component vector of int) +0:122 'x3' ( temp highp 3-component vector of int) +0:122 textureSize ( global highp 3-component vector of int, operation at lowp) +0:122 's2DAS' ( uniform lowp sampler2DArrayShadow) 0:122 Constant: 0:122 -1 (const int) 0:123 Constant: 0:123 0.000000 0:124 Sequence -0:124 move second child to first child (temp highp 4-component vector of float) -0:124 'x4' (temp highp 4-component vector of float) -0:124 texture (global lowp 4-component vector of float, operation at highp) -0:124 's2D' (uniform lowp sampler2D) -0:124 'c2D' (in highp 2-component vector of float) +0:124 move second child to first child ( temp highp 4-component vector of float) +0:124 'x4' ( temp highp 4-component vector of float) +0:124 texture ( global lowp 4-component vector of float, operation at highp) +0:124 's2D' ( uniform lowp sampler2D) +0:124 'c2D' ( in highp 2-component vector of float) 0:125 Constant: 0:125 0.000000 0:126 Sequence -0:126 move second child to first child (temp highp 4-component vector of float) -0:126 'x5' (temp highp 4-component vector of float) -0:126 textureProjOffset (global lowp 4-component vector of float) -0:126 's3D' (uniform lowp sampler3D) +0:126 move second child to first child ( temp highp 4-component vector of float) +0:126 'x5' ( temp highp 4-component vector of float) +0:126 textureProjOffset ( global lowp 4-component vector of float) +0:126 's3D' ( uniform lowp sampler3D) 0:126 Constant: 0:126 0.200000 0:126 0.200000 @@ -215,11 +215,11 @@ ERROR: node is still EOpNull! 0:127 Constant: 0:127 0.000000 0:128 Sequence -0:128 move second child to first child (temp highp float) -0:128 'x6' (temp highp float) -0:128 textureProjGradOffset (global lowp float, operation at highp) -0:128 's2DS' (uniform lowp sampler2DShadow) -0:128 'invIn' (invariant in highp 4-component vector of float) +0:128 move second child to first child ( temp highp float) +0:128 'x6' ( temp highp float) +0:128 textureProjGradOffset ( global lowp float, operation at highp) +0:128 's2DS' ( uniform lowp sampler2DShadow) +0:128 'invIn' ( invariant in highp 4-component vector of float) 0:128 Constant: 0:128 4.200000 0:128 4.200000 @@ -229,102 +229,102 @@ ERROR: node is still EOpNull! 0:128 Constant: 0:128 1 (const int) 0:128 1 (const int) -0:137 Function Definition: foo2349( (global void) +0:137 Function Definition: foo2349( ( global void) 0:137 Function Parameters: 0:139 Sequence 0:139 Sequence -0:139 move second child to first child (temp 3-element array of highp float) -0:139 'x' (temp 3-element array of highp float) +0:139 move second child to first child ( temp 3-element array of highp float) +0:139 'x' ( temp 3-element array of highp float) 0:139 Constant: 0:139 1.000000 0:139 2.000000 0:139 3.000000 0:140 Sequence -0:140 move second child to first child (temp 3-element array of highp float) -0:140 'y' (temp 3-element array of highp float) -0:140 'x' (temp 3-element array of highp float) +0:140 move second child to first child ( temp 3-element array of highp float) +0:140 'y' ( temp 3-element array of highp float) +0:140 'x' ( temp 3-element array of highp float) 0:141 Sequence -0:141 move second child to first child (temp 3-element array of highp float) -0:141 'z' (temp 3-element array of highp float) -0:141 'x' (temp 3-element array of highp float) -0:143 move second child to first child (temp 3-element array of highp float) -0:143 'w' (temp 3-element array of highp float) -0:143 'y' (temp 3-element array of highp float) -0:155 Function Definition: gggf(f1; (global highp int) +0:141 move second child to first child ( temp 3-element array of highp float) +0:141 'z' ( temp 3-element array of highp float) +0:141 'x' ( temp 3-element array of highp float) +0:143 move second child to first child ( temp 3-element array of highp float) +0:143 'w' ( temp 3-element array of highp float) +0:143 'y' ( temp 3-element array of highp float) +0:155 Function Definition: gggf(f1; ( global highp int) 0:155 Function Parameters: -0:155 'f' (in highp float) +0:155 'f' ( in highp float) 0:155 Sequence 0:155 Branch: Return with expression 0:155 Constant: 0:155 2 (const int) -0:158 Function Definition: agggf(f1; (global highp int) +0:158 Function Definition: agggf(f1; ( global highp int) 0:158 Function Parameters: -0:158 'f' (in highp float) +0:158 'f' ( in highp float) 0:158 Sequence 0:158 Branch: Return with expression 0:158 Constant: 0:158 2 (const int) -0:178 Function Definition: fooDeeparray( (global void) +0:178 Function Definition: fooDeeparray( ( global void) 0:178 Function Parameters: 0:181 Sequence 0:181 Sequence -0:180 move second child to first child (temp 3-element array of highp float) -0:180 'x' (temp 3-element array of highp float) +0:180 move second child to first child ( temp 3-element array of highp float) +0:180 'x' ( temp 3-element array of highp float) 0:180 Constant: 0:180 1.000000 0:180 2.000000 0:180 3.000000 -0:181 move second child to first child (temp 4-element array of highp float) -0:181 'y' (temp 4-element array of highp float) +0:181 move second child to first child ( temp 4-element array of highp float) +0:181 'y' ( temp 4-element array of highp float) 0:181 Constant: 0:181 1.000000 0:181 2.000000 0:181 3.000000 0:181 4.000000 -0:183 move second child to first child (temp 3-element array of highp float) -0:183 'xp' (temp 3-element array of highp float) -0:183 'x' (temp 3-element array of highp float) -0:184 move second child to first child (temp 4-element array of highp float) -0:184 'yp' (temp 4-element array of highp float) -0:184 'y' (temp 4-element array of highp float) -0:185 'xp' (temp 3-element array of highp float) -0:186 'yp' (temp 4-element array of highp float) +0:183 move second child to first child ( temp 3-element array of highp float) +0:183 'xp' ( temp 3-element array of highp float) +0:183 'x' ( temp 3-element array of highp float) +0:184 move second child to first child ( temp 4-element array of highp float) +0:184 'yp' ( temp 4-element array of highp float) +0:184 'y' ( temp 4-element array of highp float) +0:185 'xp' ( temp 3-element array of highp float) +0:186 'yp' ( temp 4-element array of highp float) 0:? Linker Objects -0:? 'm43' (uniform highp 4X3 matrix of float) -0:? 'm33' (uniform highp 3X3 matrix of float) -0:? 'm44' (uniform highp 4X4 matrix of float) -0:? 'v3' (in highp 3-component vector of float) -0:? 'v2' (smooth out highp 2-component vector of float) -0:? 'bad' (in 10-element array of highp 4-component vector of float) -0:? 'badorder' (in highp 4-component vector of float) -0:? 'badorder2' (invariant smooth out highp 4-component vector of float) -0:? 'badorder4' (centroid in highp 4-component vector of float) -0:? 'badorder3' (flat out highp 4-component vector of float) -0:? 'rep' (smooth flat out highp 4-component vector of float) -0:? 'rep2' (centroid smooth sample out highp 4-component vector of float) -0:? 'rep3' (in highp 4-component vector of float) -0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 'badsize' (global implicitly-sized array of highp float) -0:? 'badsize2' (global implicitly-sized array of highp float) -0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a}) -0:? 'okayA' (global 2-element array of highp float) -0:? 'newV' (invariant smooth out highp 3-component vector of float) -0:? 'invIn' (invariant in highp 4-component vector of float) -0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f}) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) -0:? 's2D' (uniform lowp sampler2D) -0:? 's3D' (uniform lowp sampler3D) -0:? 's2DS' (uniform lowp sampler2DShadow) -0:? 's2DAS' (uniform lowp sampler2DArrayShadow) -0:? 'c2D' (in highp 2-component vector of float) -0:? 'ssss' (smooth out structure{global highp float f}) -0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a}) -0:? 'Bfoo' (global highp int) -0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a}) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'm43' ( uniform highp 4X3 matrix of float) +0:? 'm33' ( uniform highp 3X3 matrix of float) +0:? 'm44' ( uniform highp 4X4 matrix of float) +0:? 'v3' ( in highp 3-component vector of float) +0:? 'v2' ( smooth out highp 2-component vector of float) +0:? 'bad' ( in 10-element array of highp 4-component vector of float) +0:? 'badorder' ( in highp 4-component vector of float) +0:? 'badorder2' ( invariant smooth out highp 4-component vector of float) +0:? 'badorder4' ( centroid in highp 4-component vector of float) +0:? 'badorder3' ( flat out highp 4-component vector of float) +0:? 'rep' ( smooth flat out highp 4-component vector of float) +0:? 'rep2' ( centroid smooth sample out highp 4-component vector of float) +0:? 'rep3' ( in highp 4-component vector of float) +0:? 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 'badsize' ( global implicitly-sized array of highp float) +0:? 'badsize2' ( global implicitly-sized array of highp float) +0:? 'ubInst' (layout( column_major shared) uniform implicitly-sized array of block{layout( column_major shared) uniform implicitly-sized array of highp int a}) +0:? 'okayA' ( global 2-element array of highp float) +0:? 'newV' ( invariant smooth out highp 3-component vector of float) +0:? 'invIn' ( invariant in highp 4-component vector of float) +0:? 's2' ( invariant smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 's3' ( invariant smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 'a' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp float f}) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b23}) +0:? 's2D' ( uniform lowp sampler2D) +0:? 's3D' ( uniform lowp sampler3D) +0:? 's2DS' ( uniform lowp sampler2DShadow) +0:? 's2DAS' ( uniform lowp sampler2DArrayShadow) +0:? 'c2D' ( in highp 2-component vector of float) +0:? 'ssss' ( smooth out structure{ global highp float f}) +0:? 'Binst' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp int a}) +0:? 'Bfoo' ( global highp int) +0:? 'B430i' (layout( column_major std430) uniform block{layout( column_major std430 offset=0) uniform highp int a}) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -332,155 +332,155 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence 0:29 Sequence -0:29 move second child to first child (temp highp int) -0:29 'id' (temp highp int) -0:29 add (temp highp int) -0:29 'gl_VertexID' (gl_VertexId highp int VertexId) -0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:29 move second child to first child ( temp highp int) +0:29 'id' ( temp highp int) +0:29 add ( temp highp int) +0:29 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:29 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'c0' (temp highp int) +0:31 move second child to first child ( temp highp int) +0:31 'c0' ( temp highp int) 0:31 Constant: 0:31 64 (const int) 0:32 Sequence -0:32 move second child to first child (temp highp int) -0:32 'c1' (temp highp int) +0:32 move second child to first child ( temp highp int) +0:32 'c1' ( temp highp int) 0:32 Constant: 0:32 128 (const int) 0:33 Sequence -0:33 move second child to first child (temp highp int) -0:33 'c2' (temp highp int) +0:33 move second child to first child ( temp highp int) +0:33 'c2' ( temp highp int) 0:33 Constant: 0:33 16 (const int) 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'c3' (temp highp int) +0:34 move second child to first child ( temp highp int) +0:34 'c3' ( temp highp int) 0:34 Constant: 0:34 15 (const int) 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'c4' (temp highp int) +0:35 move second child to first child ( temp highp int) +0:35 'c4' ( temp highp int) 0:35 Constant: 0:35 32 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp int) -0:36 'c5' (temp highp int) +0:36 move second child to first child ( temp highp int) +0:36 'c5' ( temp highp int) 0:36 Constant: 0:36 80 (const int) 0:37 Sequence -0:37 move second child to first child (temp highp int) -0:37 'c6' (temp highp int) +0:37 move second child to first child ( temp highp int) +0:37 'c6' ( temp highp int) 0:37 Constant: 0:37 32 (const int) 0:38 Sequence -0:38 move second child to first child (temp highp int) -0:38 'c7' (temp highp int) +0:38 move second child to first child ( temp highp int) +0:38 'c7' ( temp highp int) 0:38 Constant: 0:38 16 (const int) 0:39 Sequence -0:39 move second child to first child (temp highp int) -0:39 'c8' (temp highp int) +0:39 move second child to first child ( temp highp int) +0:39 'c8' ( temp highp int) 0:39 Constant: 0:39 32 (const int) 0:40 Sequence -0:40 move second child to first child (temp highp int) -0:40 'c9' (temp highp int) +0:40 move second child to first child ( temp highp int) +0:40 'c9' ( temp highp int) 0:40 Constant: 0:40 -8 (const int) 0:41 Sequence -0:41 move second child to first child (temp highp int) -0:41 'c10' (temp highp int) +0:41 move second child to first child ( temp highp int) +0:41 'c10' ( temp highp int) 0:41 Constant: 0:41 7 (const int) 0:43 Sequence -0:43 move second child to first child (temp highp 3X4 matrix of float) -0:43 'tm' (temp highp 3X4 matrix of float) -0:43 transpose (global highp 3X4 matrix of float) -0:43 'm43' (uniform highp 4X3 matrix of float) +0:43 move second child to first child ( temp highp 3X4 matrix of float) +0:43 'tm' ( temp highp 3X4 matrix of float) +0:43 transpose ( global highp 3X4 matrix of float) +0:43 'm43' ( uniform highp 4X3 matrix of float) 0:44 Sequence -0:44 move second child to first child (temp highp float) -0:44 'dm' (temp highp float) -0:44 determinant (global highp float) -0:44 'm44' (uniform highp 4X4 matrix of float) +0:44 move second child to first child ( temp highp float) +0:44 'dm' ( temp highp float) +0:44 determinant ( global highp float) +0:44 'm44' ( uniform highp 4X4 matrix of float) 0:45 Sequence -0:45 move second child to first child (temp highp 3X3 matrix of float) -0:45 'im' (temp highp 3X3 matrix of float) -0:45 inverse (global highp 3X3 matrix of float) -0:45 'm33' (uniform highp 3X3 matrix of float) +0:45 move second child to first child ( temp highp 3X3 matrix of float) +0:45 'im' ( temp highp 3X3 matrix of float) +0:45 inverse ( global highp 3X3 matrix of float) +0:45 'm33' ( uniform highp 3X3 matrix of float) 0:47 Sequence -0:47 move second child to first child (temp highp 3X2 matrix of float) -0:47 'op' (temp highp 3X2 matrix of float) -0:47 outer product (global highp 3X2 matrix of float) -0:47 'v2' (smooth out highp 2-component vector of float) -0:47 'v3' (in highp 3-component vector of float) -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:49 direct index (temp highp 4-component vector of float) -0:49 'm44' (uniform highp 4X4 matrix of float) +0:47 move second child to first child ( temp highp 3X2 matrix of float) +0:47 'op' ( temp highp 3X2 matrix of float) +0:47 outer product ( global highp 3X2 matrix of float) +0:47 'v2' ( smooth out highp 2-component vector of float) +0:47 'v3' ( in highp 3-component vector of float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:49 direct index ( temp highp 4-component vector of float) +0:49 'm44' ( uniform highp 4X4 matrix of float) 0:49 Constant: 0:49 2 (const int) -0:50 move second child to first child (temp highp float) -0:50 'gl_PointSize' (gl_PointSize highp float PointSize) -0:50 direct index (temp highp float) -0:50 'v2' (smooth out highp 2-component vector of float) +0:50 move second child to first child ( temp highp float) +0:50 'gl_PointSize' ( gl_PointSize highp float PointSize) +0:50 direct index ( temp highp float) +0:50 'v2' ( smooth out highp 2-component vector of float) 0:50 Constant: 0:50 1 (const int) -0:52 move second child to first child (temp highp 3-component vector of float) -0:52 c: direct index for structure (global highp 3-component vector of float) -0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:52 move second child to first child ( temp highp 3-component vector of float) +0:52 c: direct index for structure ( global highp 3-component vector of float) +0:52 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) 0:52 Constant: 0:52 0 (const int) -0:52 'v3' (in highp 3-component vector of float) -0:53 move second child to first child (temp highp float) -0:53 f: direct index for structure (global highp float) -0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:52 'v3' ( in highp 3-component vector of float) +0:53 move second child to first child ( temp highp float) +0:53 f: direct index for structure ( global highp float) +0:53 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) 0:53 Constant: 0:53 1 (const int) -0:53 'dm' (temp highp float) +0:53 'dm' ( temp highp float) 0:68 Sequence -0:68 move second child to first child (temp 2-element array of highp float) -0:68 'okayA' (global 2-element array of highp float) +0:68 move second child to first child ( temp 2-element array of highp float) +0:68 'okayA' ( global 2-element array of highp float) 0:68 Constant: 0:68 3.000000 0:68 4.000000 0:? Linker Objects -0:? 'm43' (uniform highp 4X3 matrix of float) -0:? 'm33' (uniform highp 3X3 matrix of float) -0:? 'm44' (uniform highp 4X4 matrix of float) -0:? 'v3' (in highp 3-component vector of float) -0:? 'v2' (smooth out highp 2-component vector of float) -0:? 'bad' (in 10-element array of highp 4-component vector of float) -0:? 'badorder' (in highp 4-component vector of float) -0:? 'badorder2' (invariant smooth out highp 4-component vector of float) -0:? 'badorder4' (centroid in highp 4-component vector of float) -0:? 'badorder3' (flat out highp 4-component vector of float) -0:? 'rep' (smooth flat out highp 4-component vector of float) -0:? 'rep2' (centroid smooth sample out highp 4-component vector of float) -0:? 'rep3' (in highp 4-component vector of float) -0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 'badsize' (global 1-element array of highp float) -0:? 'badsize2' (global 1-element array of highp float) -0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a}) -0:? 'okayA' (global 2-element array of highp float) -0:? 'newV' (invariant smooth out highp 3-component vector of float) -0:? 'invIn' (invariant in highp 4-component vector of float) -0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) -0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f}) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) -0:? 's2D' (uniform lowp sampler2D) -0:? 's3D' (uniform lowp sampler3D) -0:? 's2DS' (uniform lowp sampler2DShadow) -0:? 's2DAS' (uniform lowp sampler2DArrayShadow) -0:? 'c2D' (in highp 2-component vector of float) -0:? 'ssss' (smooth out structure{global highp float f}) -0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a}) -0:? 'Bfoo' (global highp int) -0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a}) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'm43' ( uniform highp 4X3 matrix of float) +0:? 'm33' ( uniform highp 3X3 matrix of float) +0:? 'm44' ( uniform highp 4X4 matrix of float) +0:? 'v3' ( in highp 3-component vector of float) +0:? 'v2' ( smooth out highp 2-component vector of float) +0:? 'bad' ( in 10-element array of highp 4-component vector of float) +0:? 'badorder' ( in highp 4-component vector of float) +0:? 'badorder2' ( invariant smooth out highp 4-component vector of float) +0:? 'badorder4' ( centroid in highp 4-component vector of float) +0:? 'badorder3' ( flat out highp 4-component vector of float) +0:? 'rep' ( smooth flat out highp 4-component vector of float) +0:? 'rep2' ( centroid smooth sample out highp 4-component vector of float) +0:? 'rep3' ( in highp 4-component vector of float) +0:? 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 'badsize' ( global 1-element array of highp float) +0:? 'badsize2' ( global 1-element array of highp float) +0:? 'ubInst' (layout( column_major shared) uniform 1-element array of block{layout( column_major shared) uniform 1-element array of highp int a}) +0:? 'okayA' ( global 2-element array of highp float) +0:? 'newV' ( invariant smooth out highp 3-component vector of float) +0:? 'invIn' ( invariant in highp 4-component vector of float) +0:? 's2' ( invariant smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 's3' ( invariant smooth out structure{ global highp 3-component vector of float c, global highp float f}) +0:? 'a' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp float f}) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b23}) +0:? 's2D' ( uniform lowp sampler2D) +0:? 's3D' ( uniform lowp sampler3D) +0:? 's2DS' ( uniform lowp sampler2DShadow) +0:? 's2DAS' ( uniform lowp sampler2DArrayShadow) +0:? 'c2D' ( in highp 2-component vector of float) +0:? 'ssss' ( smooth out structure{ global highp float f}) +0:? 'Binst' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp int a}) +0:? 'Bfoo' ( global highp int) +0:? 'B430i' (layout( column_major std430) uniform block{layout( column_major std430 offset=0) uniform highp int a}) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300BuiltIns.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300BuiltIns.frag.out index a3bab690900..84d4d0860c2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300BuiltIns.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300BuiltIns.frag.out @@ -8,206 +8,206 @@ ERROR: 4 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:26 Function Definition: main( (global void) +0:26 Function Definition: main( ( global void) 0:26 Function Parameters: 0:29 Sequence 0:29 Sequence -0:29 move second child to first child (temp mediump 3-component vector of float) -0:29 'v' (temp mediump 3-component vector of float) -0:29 mix (global mediump 3-component vector of float) -0:29 'x' (global mediump 3-component vector of float) -0:29 'y' (global mediump 3-component vector of float) -0:29 'bv' (global 3-component vector of bool) +0:29 move second child to first child ( temp mediump 3-component vector of float) +0:29 'v' ( temp mediump 3-component vector of float) +0:29 mix ( global mediump 3-component vector of float) +0:29 'x' ( global mediump 3-component vector of float) +0:29 'y' ( global mediump 3-component vector of float) +0:29 'bv' ( global 3-component vector of bool) 0:30 Sequence -0:30 move second child to first child (temp mediump 4-component vector of int) -0:30 'iv10' (temp mediump 4-component vector of int) -0:30 Absolute value (global mediump 4-component vector of int) -0:30 'iv4a' (global mediump 4-component vector of int) +0:30 move second child to first child ( temp mediump 4-component vector of int) +0:30 'iv10' ( temp mediump 4-component vector of int) +0:30 Absolute value ( global mediump 4-component vector of int) +0:30 'iv4a' ( global mediump 4-component vector of int) 0:31 Sequence -0:31 move second child to first child (temp mediump 4-component vector of int) -0:31 'iv11' (temp mediump 4-component vector of int) -0:31 Sign (global mediump 4-component vector of int) -0:31 'iv4a' (global mediump 4-component vector of int) +0:31 move second child to first child ( temp mediump 4-component vector of int) +0:31 'iv11' ( temp mediump 4-component vector of int) +0:31 Sign ( global mediump 4-component vector of int) +0:31 'iv4a' ( global mediump 4-component vector of int) 0:32 Sequence -0:32 move second child to first child (temp mediump 4-component vector of int) -0:32 'iv12' (temp mediump 4-component vector of int) -0:32 min (global mediump 4-component vector of int) -0:32 'iv4a' (global mediump 4-component vector of int) -0:32 'iv4b' (global mediump 4-component vector of int) +0:32 move second child to first child ( temp mediump 4-component vector of int) +0:32 'iv12' ( temp mediump 4-component vector of int) +0:32 min ( global mediump 4-component vector of int) +0:32 'iv4a' ( global mediump 4-component vector of int) +0:32 'iv4b' ( global mediump 4-component vector of int) 0:33 Sequence -0:33 move second child to first child (temp mediump 4-component vector of int) -0:33 'iv13' (temp mediump 4-component vector of int) -0:33 min (global mediump 4-component vector of int) -0:33 'iv4a' (global mediump 4-component vector of int) -0:33 'imin' (global mediump int) +0:33 move second child to first child ( temp mediump 4-component vector of int) +0:33 'iv13' ( temp mediump 4-component vector of int) +0:33 min ( global mediump 4-component vector of int) +0:33 'iv4a' ( global mediump 4-component vector of int) +0:33 'imin' ( global mediump int) 0:34 Sequence -0:34 move second child to first child (temp mediump 2-component vector of uint) -0:34 'u' (temp mediump 2-component vector of uint) -0:34 min (global mediump 2-component vector of uint) -0:34 'uv2x' (global mediump 2-component vector of uint) -0:34 'uv2y' (global mediump 2-component vector of uint) +0:34 move second child to first child ( temp mediump 2-component vector of uint) +0:34 'u' ( temp mediump 2-component vector of uint) +0:34 min ( global mediump 2-component vector of uint) +0:34 'uv2x' ( global mediump 2-component vector of uint) +0:34 'uv2y' ( global mediump 2-component vector of uint) 0:35 Sequence -0:35 move second child to first child (temp mediump 4-component vector of uint) -0:35 'uv' (temp mediump 4-component vector of uint) -0:35 min (global mediump 4-component vector of uint) -0:35 'uv4y' (global mediump 4-component vector of uint) -0:35 'uy' (global mediump uint) +0:35 move second child to first child ( temp mediump 4-component vector of uint) +0:35 'uv' ( temp mediump 4-component vector of uint) +0:35 min ( global mediump 4-component vector of uint) +0:35 'uv4y' ( global mediump 4-component vector of uint) +0:35 'uy' ( global mediump uint) 0:36 Sequence -0:36 move second child to first child (temp mediump 3-component vector of int) -0:36 'iv14' (temp mediump 3-component vector of int) -0:36 max (global mediump 3-component vector of int) -0:36 'iv3a' (global mediump 3-component vector of int) -0:36 'iv3b' (global mediump 3-component vector of int) +0:36 move second child to first child ( temp mediump 3-component vector of int) +0:36 'iv14' ( temp mediump 3-component vector of int) +0:36 max ( global mediump 3-component vector of int) +0:36 'iv3a' ( global mediump 3-component vector of int) +0:36 'iv3b' ( global mediump 3-component vector of int) 0:37 Sequence -0:37 move second child to first child (temp mediump 4-component vector of int) -0:37 'iv15' (temp mediump 4-component vector of int) -0:37 max (global mediump 4-component vector of int) -0:37 'iv4a' (global mediump 4-component vector of int) -0:37 'imax' (global mediump int) +0:37 move second child to first child ( temp mediump 4-component vector of int) +0:37 'iv15' ( temp mediump 4-component vector of int) +0:37 max ( global mediump 4-component vector of int) +0:37 'iv4a' ( global mediump 4-component vector of int) +0:37 'imax' ( global mediump int) 0:38 Sequence -0:38 move second child to first child (temp mediump 2-component vector of uint) -0:38 'u10' (temp mediump 2-component vector of uint) -0:38 max (global mediump 2-component vector of uint) -0:38 'uv2x' (global mediump 2-component vector of uint) -0:38 'uv2y' (global mediump 2-component vector of uint) +0:38 move second child to first child ( temp mediump 2-component vector of uint) +0:38 'u10' ( temp mediump 2-component vector of uint) +0:38 max ( global mediump 2-component vector of uint) +0:38 'uv2x' ( global mediump 2-component vector of uint) +0:38 'uv2y' ( global mediump 2-component vector of uint) 0:39 Sequence -0:39 move second child to first child (temp mediump 2-component vector of uint) -0:39 'u11' (temp mediump 2-component vector of uint) -0:39 max (global mediump 2-component vector of uint) -0:39 'uv2x' (global mediump 2-component vector of uint) -0:39 'uy' (global mediump uint) +0:39 move second child to first child ( temp mediump 2-component vector of uint) +0:39 'u11' ( temp mediump 2-component vector of uint) +0:39 max ( global mediump 2-component vector of uint) +0:39 'uv2x' ( global mediump 2-component vector of uint) +0:39 'uy' ( global mediump uint) 0:40 Sequence -0:40 move second child to first child (temp mediump 4-component vector of int) -0:40 'iv16' (temp mediump 4-component vector of int) -0:40 clamp (global mediump 4-component vector of int) -0:40 'iv4a' (global mediump 4-component vector of int) -0:40 'iv4a' (global mediump 4-component vector of int) -0:40 'iv4b' (global mediump 4-component vector of int) +0:40 move second child to first child ( temp mediump 4-component vector of int) +0:40 'iv16' ( temp mediump 4-component vector of int) +0:40 clamp ( global mediump 4-component vector of int) +0:40 'iv4a' ( global mediump 4-component vector of int) +0:40 'iv4a' ( global mediump 4-component vector of int) +0:40 'iv4b' ( global mediump 4-component vector of int) 0:41 Sequence -0:41 move second child to first child (temp mediump 4-component vector of int) -0:41 'iv17' (temp mediump 4-component vector of int) -0:41 clamp (global mediump 4-component vector of int) -0:41 'iv4a' (global mediump 4-component vector of int) -0:41 'imin' (global mediump int) -0:41 'imax' (global mediump int) +0:41 move second child to first child ( temp mediump 4-component vector of int) +0:41 'iv17' ( temp mediump 4-component vector of int) +0:41 clamp ( global mediump 4-component vector of int) +0:41 'iv4a' ( global mediump 4-component vector of int) +0:41 'imin' ( global mediump int) +0:41 'imax' ( global mediump int) 0:42 Sequence -0:42 move second child to first child (temp mediump 2-component vector of uint) -0:42 'u12' (temp mediump 2-component vector of uint) -0:42 clamp (global mediump 2-component vector of uint) -0:42 'uv2x' (global mediump 2-component vector of uint) -0:42 'uv2y' (global mediump 2-component vector of uint) -0:42 'uv2c' (global mediump 2-component vector of uint) +0:42 move second child to first child ( temp mediump 2-component vector of uint) +0:42 'u12' ( temp mediump 2-component vector of uint) +0:42 clamp ( global mediump 2-component vector of uint) +0:42 'uv2x' ( global mediump 2-component vector of uint) +0:42 'uv2y' ( global mediump 2-component vector of uint) +0:42 'uv2c' ( global mediump 2-component vector of uint) 0:43 Sequence -0:43 move second child to first child (temp mediump 4-component vector of uint) -0:43 'uv10' (temp mediump 4-component vector of uint) -0:43 clamp (global mediump 4-component vector of uint) -0:43 'uv4y' (global mediump 4-component vector of uint) -0:43 'umin' (global mediump uint) -0:43 'umax' (global mediump uint) +0:43 move second child to first child ( temp mediump 4-component vector of uint) +0:43 'uv10' ( temp mediump 4-component vector of uint) +0:43 clamp ( global mediump 4-component vector of uint) +0:43 'uv4y' ( global mediump 4-component vector of uint) +0:43 'umin' ( global mediump uint) +0:43 'umax' ( global mediump uint) 0:47 Sequence -0:47 move second child to first child (temp mediump 3-component vector of float) -0:47 'v11' (temp mediump 3-component vector of float) -0:47 modf (global mediump 3-component vector of float) -0:47 'x' (global mediump 3-component vector of float) -0:47 'modfOut' (temp mediump 3-component vector of float) +0:47 move second child to first child ( temp mediump 3-component vector of float) +0:47 'v11' ( temp mediump 3-component vector of float) +0:47 modf ( global mediump 3-component vector of float) +0:47 'x' ( global mediump 3-component vector of float) +0:47 'modfOut' ( temp mediump 3-component vector of float) 0:49 Sequence -0:49 move second child to first child (temp mediump float) -0:49 't' (temp mediump float) -0:49 trunc (global mediump float) -0:49 'f' (global mediump float) +0:49 move second child to first child ( temp mediump float) +0:49 't' ( temp mediump float) +0:49 trunc ( global mediump float) +0:49 'f' ( global mediump float) 0:50 Sequence -0:50 move second child to first child (temp mediump 2-component vector of float) -0:50 'v12' (temp mediump 2-component vector of float) -0:50 round (global mediump 2-component vector of float) -0:50 'v2a' (global mediump 2-component vector of float) +0:50 move second child to first child ( temp mediump 2-component vector of float) +0:50 'v12' ( temp mediump 2-component vector of float) +0:50 round ( global mediump 2-component vector of float) +0:50 'v2a' ( global mediump 2-component vector of float) 0:51 Sequence -0:51 move second child to first child (temp mediump 2-component vector of float) -0:51 'v13' (temp mediump 2-component vector of float) -0:51 roundEven (global mediump 2-component vector of float) -0:51 'v2a' (global mediump 2-component vector of float) +0:51 move second child to first child ( temp mediump 2-component vector of float) +0:51 'v13' ( temp mediump 2-component vector of float) +0:51 roundEven ( global mediump 2-component vector of float) +0:51 'v2a' ( global mediump 2-component vector of float) 0:52 Sequence -0:52 move second child to first child (temp 2-component vector of bool) -0:52 'b10' (temp 2-component vector of bool) -0:52 isnan (global 2-component vector of bool, operation at mediump) -0:52 'v2a' (global mediump 2-component vector of float) +0:52 move second child to first child ( temp 2-component vector of bool) +0:52 'b10' ( temp 2-component vector of bool) +0:52 isnan ( global 2-component vector of bool, operation at mediump) +0:52 'v2a' ( global mediump 2-component vector of float) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of bool) -0:53 'b11' (temp 4-component vector of bool) -0:53 isinf (global 4-component vector of bool, operation at mediump) -0:53 'v4' (global mediump 4-component vector of float) +0:53 move second child to first child ( temp 4-component vector of bool) +0:53 'b11' ( temp 4-component vector of bool) +0:53 isinf ( global 4-component vector of bool, operation at mediump) +0:53 'v4' ( global mediump 4-component vector of float) 0:56 Sequence -0:56 move second child to first child (temp highp int) -0:56 'i' (temp mediump int) -0:56 floatBitsToInt (global highp int) -0:56 'f' (global mediump float) +0:56 move second child to first child ( temp highp int) +0:56 'i' ( temp mediump int) +0:56 floatBitsToInt ( global highp int) +0:56 'f' ( global mediump float) 0:57 Sequence -0:57 move second child to first child (temp highp 4-component vector of uint) -0:57 'uv11' (temp mediump 4-component vector of uint) -0:57 floatBitsToUint (global highp 4-component vector of uint) -0:57 'v4' (global mediump 4-component vector of float) +0:57 move second child to first child ( temp highp 4-component vector of uint) +0:57 'uv11' ( temp mediump 4-component vector of uint) +0:57 floatBitsToUint ( global highp 4-component vector of uint) +0:57 'v4' ( global mediump 4-component vector of float) 0:58 Sequence -0:58 move second child to first child (temp highp 4-component vector of float) -0:58 'v14' (temp mediump 4-component vector of float) -0:58 intBitsToFloat (global highp 4-component vector of float) -0:58 'iv4a' (global mediump 4-component vector of int) +0:58 move second child to first child ( temp highp 4-component vector of float) +0:58 'v14' ( temp mediump 4-component vector of float) +0:58 intBitsToFloat ( global highp 4-component vector of float) +0:58 'iv4a' ( global mediump 4-component vector of int) 0:59 Sequence -0:59 move second child to first child (temp highp 2-component vector of float) -0:59 'v15' (temp mediump 2-component vector of float) -0:59 uintBitsToFloat (global highp 2-component vector of float) -0:59 'uv2c' (global mediump 2-component vector of uint) +0:59 move second child to first child ( temp highp 2-component vector of float) +0:59 'v15' ( temp mediump 2-component vector of float) +0:59 uintBitsToFloat ( global highp 2-component vector of float) +0:59 'uv2c' ( global mediump 2-component vector of uint) 0:62 Sequence -0:62 move second child to first child (temp highp uint) -0:62 'u19' (temp mediump uint) -0:62 packSnorm2x16 (global highp uint, operation at mediump) -0:62 'v2a' (global mediump 2-component vector of float) +0:62 move second child to first child ( temp highp uint) +0:62 'u19' ( temp mediump uint) +0:62 packSnorm2x16 ( global highp uint, operation at mediump) +0:62 'v2a' ( global mediump 2-component vector of float) 0:63 Sequence -0:63 move second child to first child (temp highp 2-component vector of float) -0:63 'v20' (temp mediump 2-component vector of float) -0:63 unpackSnorm2x16 (global highp 2-component vector of float) -0:63 'uy' (global mediump uint) +0:63 move second child to first child ( temp highp 2-component vector of float) +0:63 'v20' ( temp mediump 2-component vector of float) +0:63 unpackSnorm2x16 ( global highp 2-component vector of float) +0:63 'uy' ( global mediump uint) 0:64 Sequence -0:64 move second child to first child (temp highp uint) -0:64 'u15' (temp mediump uint) -0:64 packUnorm2x16 (global highp uint, operation at mediump) -0:64 'v2a' (global mediump 2-component vector of float) +0:64 move second child to first child ( temp highp uint) +0:64 'u15' ( temp mediump uint) +0:64 packUnorm2x16 ( global highp uint, operation at mediump) +0:64 'v2a' ( global mediump 2-component vector of float) 0:65 Sequence -0:65 move second child to first child (temp highp 2-component vector of float) -0:65 'v16' (temp mediump 2-component vector of float) -0:65 unpackUnorm2x16 (global highp 2-component vector of float) -0:65 'uy' (global mediump uint) +0:65 move second child to first child ( temp highp 2-component vector of float) +0:65 'v16' ( temp mediump 2-component vector of float) +0:65 unpackUnorm2x16 ( global highp 2-component vector of float) +0:65 'uy' ( global mediump uint) 0:66 Sequence -0:66 move second child to first child (temp highp uint) -0:66 'u17' (temp mediump uint) -0:66 packHalf2x16 (global highp uint, operation at mediump) -0:66 'v2b' (global mediump 2-component vector of float) +0:66 move second child to first child ( temp highp uint) +0:66 'u17' ( temp mediump uint) +0:66 packHalf2x16 ( global highp uint, operation at mediump) +0:66 'v2b' ( global mediump 2-component vector of float) 0:67 Sequence -0:67 move second child to first child (temp mediump 2-component vector of float) -0:67 'v18' (temp mediump 2-component vector of float) -0:67 unpackHalf2x16 (global mediump 2-component vector of float, operation at highp) -0:67 'uy' (global mediump uint) +0:67 move second child to first child ( temp mediump 2-component vector of float) +0:67 'v18' ( temp mediump 2-component vector of float) +0:67 unpackHalf2x16 ( global mediump 2-component vector of float, operation at highp) +0:67 'uy' ( global mediump uint) 0:70 Constant: 0:70 0.000000 0:? Linker Objects -0:? 'imax' (global mediump int) -0:? 'imin' (global mediump int) -0:? 'umax' (global mediump uint) -0:? 'umin' (global mediump uint) -0:? 'x' (global mediump 3-component vector of float) -0:? 'y' (global mediump 3-component vector of float) -0:? 'bv' (global 3-component vector of bool) -0:? 'uy' (global mediump uint) -0:? 'uv2c' (global mediump 2-component vector of uint) -0:? 'uv2y' (global mediump 2-component vector of uint) -0:? 'uv2x' (global mediump 2-component vector of uint) -0:? 'uv4y' (global mediump 4-component vector of uint) -0:? 'iv3a' (global mediump 3-component vector of int) -0:? 'iv3b' (global mediump 3-component vector of int) -0:? 'iv4a' (global mediump 4-component vector of int) -0:? 'iv4b' (global mediump 4-component vector of int) -0:? 'f' (global mediump float) -0:? 'v2a' (global mediump 2-component vector of float) -0:? 'v2b' (global mediump 2-component vector of float) -0:? 'v4' (global mediump 4-component vector of float) +0:? 'imax' ( global mediump int) +0:? 'imin' ( global mediump int) +0:? 'umax' ( global mediump uint) +0:? 'umin' ( global mediump uint) +0:? 'x' ( global mediump 3-component vector of float) +0:? 'y' ( global mediump 3-component vector of float) +0:? 'bv' ( global 3-component vector of bool) +0:? 'uy' ( global mediump uint) +0:? 'uv2c' ( global mediump 2-component vector of uint) +0:? 'uv2y' ( global mediump 2-component vector of uint) +0:? 'uv2x' ( global mediump 2-component vector of uint) +0:? 'uv4y' ( global mediump 4-component vector of uint) +0:? 'iv3a' ( global mediump 3-component vector of int) +0:? 'iv3b' ( global mediump 3-component vector of int) +0:? 'iv4a' ( global mediump 4-component vector of int) +0:? 'iv4b' ( global mediump 4-component vector of int) +0:? 'f' ( global mediump float) +0:? 'v2a' ( global mediump 2-component vector of float) +0:? 'v2b' ( global mediump 2-component vector of float) +0:? 'v4' ( global mediump 4-component vector of float) Linked fragment stage: @@ -215,204 +215,204 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:26 Function Definition: main( (global void) +0:26 Function Definition: main( ( global void) 0:26 Function Parameters: 0:29 Sequence 0:29 Sequence -0:29 move second child to first child (temp mediump 3-component vector of float) -0:29 'v' (temp mediump 3-component vector of float) -0:29 mix (global mediump 3-component vector of float) -0:29 'x' (global mediump 3-component vector of float) -0:29 'y' (global mediump 3-component vector of float) -0:29 'bv' (global 3-component vector of bool) +0:29 move second child to first child ( temp mediump 3-component vector of float) +0:29 'v' ( temp mediump 3-component vector of float) +0:29 mix ( global mediump 3-component vector of float) +0:29 'x' ( global mediump 3-component vector of float) +0:29 'y' ( global mediump 3-component vector of float) +0:29 'bv' ( global 3-component vector of bool) 0:30 Sequence -0:30 move second child to first child (temp mediump 4-component vector of int) -0:30 'iv10' (temp mediump 4-component vector of int) -0:30 Absolute value (global mediump 4-component vector of int) -0:30 'iv4a' (global mediump 4-component vector of int) +0:30 move second child to first child ( temp mediump 4-component vector of int) +0:30 'iv10' ( temp mediump 4-component vector of int) +0:30 Absolute value ( global mediump 4-component vector of int) +0:30 'iv4a' ( global mediump 4-component vector of int) 0:31 Sequence -0:31 move second child to first child (temp mediump 4-component vector of int) -0:31 'iv11' (temp mediump 4-component vector of int) -0:31 Sign (global mediump 4-component vector of int) -0:31 'iv4a' (global mediump 4-component vector of int) +0:31 move second child to first child ( temp mediump 4-component vector of int) +0:31 'iv11' ( temp mediump 4-component vector of int) +0:31 Sign ( global mediump 4-component vector of int) +0:31 'iv4a' ( global mediump 4-component vector of int) 0:32 Sequence -0:32 move second child to first child (temp mediump 4-component vector of int) -0:32 'iv12' (temp mediump 4-component vector of int) -0:32 min (global mediump 4-component vector of int) -0:32 'iv4a' (global mediump 4-component vector of int) -0:32 'iv4b' (global mediump 4-component vector of int) +0:32 move second child to first child ( temp mediump 4-component vector of int) +0:32 'iv12' ( temp mediump 4-component vector of int) +0:32 min ( global mediump 4-component vector of int) +0:32 'iv4a' ( global mediump 4-component vector of int) +0:32 'iv4b' ( global mediump 4-component vector of int) 0:33 Sequence -0:33 move second child to first child (temp mediump 4-component vector of int) -0:33 'iv13' (temp mediump 4-component vector of int) -0:33 min (global mediump 4-component vector of int) -0:33 'iv4a' (global mediump 4-component vector of int) -0:33 'imin' (global mediump int) +0:33 move second child to first child ( temp mediump 4-component vector of int) +0:33 'iv13' ( temp mediump 4-component vector of int) +0:33 min ( global mediump 4-component vector of int) +0:33 'iv4a' ( global mediump 4-component vector of int) +0:33 'imin' ( global mediump int) 0:34 Sequence -0:34 move second child to first child (temp mediump 2-component vector of uint) -0:34 'u' (temp mediump 2-component vector of uint) -0:34 min (global mediump 2-component vector of uint) -0:34 'uv2x' (global mediump 2-component vector of uint) -0:34 'uv2y' (global mediump 2-component vector of uint) +0:34 move second child to first child ( temp mediump 2-component vector of uint) +0:34 'u' ( temp mediump 2-component vector of uint) +0:34 min ( global mediump 2-component vector of uint) +0:34 'uv2x' ( global mediump 2-component vector of uint) +0:34 'uv2y' ( global mediump 2-component vector of uint) 0:35 Sequence -0:35 move second child to first child (temp mediump 4-component vector of uint) -0:35 'uv' (temp mediump 4-component vector of uint) -0:35 min (global mediump 4-component vector of uint) -0:35 'uv4y' (global mediump 4-component vector of uint) -0:35 'uy' (global mediump uint) +0:35 move second child to first child ( temp mediump 4-component vector of uint) +0:35 'uv' ( temp mediump 4-component vector of uint) +0:35 min ( global mediump 4-component vector of uint) +0:35 'uv4y' ( global mediump 4-component vector of uint) +0:35 'uy' ( global mediump uint) 0:36 Sequence -0:36 move second child to first child (temp mediump 3-component vector of int) -0:36 'iv14' (temp mediump 3-component vector of int) -0:36 max (global mediump 3-component vector of int) -0:36 'iv3a' (global mediump 3-component vector of int) -0:36 'iv3b' (global mediump 3-component vector of int) +0:36 move second child to first child ( temp mediump 3-component vector of int) +0:36 'iv14' ( temp mediump 3-component vector of int) +0:36 max ( global mediump 3-component vector of int) +0:36 'iv3a' ( global mediump 3-component vector of int) +0:36 'iv3b' ( global mediump 3-component vector of int) 0:37 Sequence -0:37 move second child to first child (temp mediump 4-component vector of int) -0:37 'iv15' (temp mediump 4-component vector of int) -0:37 max (global mediump 4-component vector of int) -0:37 'iv4a' (global mediump 4-component vector of int) -0:37 'imax' (global mediump int) +0:37 move second child to first child ( temp mediump 4-component vector of int) +0:37 'iv15' ( temp mediump 4-component vector of int) +0:37 max ( global mediump 4-component vector of int) +0:37 'iv4a' ( global mediump 4-component vector of int) +0:37 'imax' ( global mediump int) 0:38 Sequence -0:38 move second child to first child (temp mediump 2-component vector of uint) -0:38 'u10' (temp mediump 2-component vector of uint) -0:38 max (global mediump 2-component vector of uint) -0:38 'uv2x' (global mediump 2-component vector of uint) -0:38 'uv2y' (global mediump 2-component vector of uint) +0:38 move second child to first child ( temp mediump 2-component vector of uint) +0:38 'u10' ( temp mediump 2-component vector of uint) +0:38 max ( global mediump 2-component vector of uint) +0:38 'uv2x' ( global mediump 2-component vector of uint) +0:38 'uv2y' ( global mediump 2-component vector of uint) 0:39 Sequence -0:39 move second child to first child (temp mediump 2-component vector of uint) -0:39 'u11' (temp mediump 2-component vector of uint) -0:39 max (global mediump 2-component vector of uint) -0:39 'uv2x' (global mediump 2-component vector of uint) -0:39 'uy' (global mediump uint) +0:39 move second child to first child ( temp mediump 2-component vector of uint) +0:39 'u11' ( temp mediump 2-component vector of uint) +0:39 max ( global mediump 2-component vector of uint) +0:39 'uv2x' ( global mediump 2-component vector of uint) +0:39 'uy' ( global mediump uint) 0:40 Sequence -0:40 move second child to first child (temp mediump 4-component vector of int) -0:40 'iv16' (temp mediump 4-component vector of int) -0:40 clamp (global mediump 4-component vector of int) -0:40 'iv4a' (global mediump 4-component vector of int) -0:40 'iv4a' (global mediump 4-component vector of int) -0:40 'iv4b' (global mediump 4-component vector of int) +0:40 move second child to first child ( temp mediump 4-component vector of int) +0:40 'iv16' ( temp mediump 4-component vector of int) +0:40 clamp ( global mediump 4-component vector of int) +0:40 'iv4a' ( global mediump 4-component vector of int) +0:40 'iv4a' ( global mediump 4-component vector of int) +0:40 'iv4b' ( global mediump 4-component vector of int) 0:41 Sequence -0:41 move second child to first child (temp mediump 4-component vector of int) -0:41 'iv17' (temp mediump 4-component vector of int) -0:41 clamp (global mediump 4-component vector of int) -0:41 'iv4a' (global mediump 4-component vector of int) -0:41 'imin' (global mediump int) -0:41 'imax' (global mediump int) +0:41 move second child to first child ( temp mediump 4-component vector of int) +0:41 'iv17' ( temp mediump 4-component vector of int) +0:41 clamp ( global mediump 4-component vector of int) +0:41 'iv4a' ( global mediump 4-component vector of int) +0:41 'imin' ( global mediump int) +0:41 'imax' ( global mediump int) 0:42 Sequence -0:42 move second child to first child (temp mediump 2-component vector of uint) -0:42 'u12' (temp mediump 2-component vector of uint) -0:42 clamp (global mediump 2-component vector of uint) -0:42 'uv2x' (global mediump 2-component vector of uint) -0:42 'uv2y' (global mediump 2-component vector of uint) -0:42 'uv2c' (global mediump 2-component vector of uint) +0:42 move second child to first child ( temp mediump 2-component vector of uint) +0:42 'u12' ( temp mediump 2-component vector of uint) +0:42 clamp ( global mediump 2-component vector of uint) +0:42 'uv2x' ( global mediump 2-component vector of uint) +0:42 'uv2y' ( global mediump 2-component vector of uint) +0:42 'uv2c' ( global mediump 2-component vector of uint) 0:43 Sequence -0:43 move second child to first child (temp mediump 4-component vector of uint) -0:43 'uv10' (temp mediump 4-component vector of uint) -0:43 clamp (global mediump 4-component vector of uint) -0:43 'uv4y' (global mediump 4-component vector of uint) -0:43 'umin' (global mediump uint) -0:43 'umax' (global mediump uint) +0:43 move second child to first child ( temp mediump 4-component vector of uint) +0:43 'uv10' ( temp mediump 4-component vector of uint) +0:43 clamp ( global mediump 4-component vector of uint) +0:43 'uv4y' ( global mediump 4-component vector of uint) +0:43 'umin' ( global mediump uint) +0:43 'umax' ( global mediump uint) 0:47 Sequence -0:47 move second child to first child (temp mediump 3-component vector of float) -0:47 'v11' (temp mediump 3-component vector of float) -0:47 modf (global mediump 3-component vector of float) -0:47 'x' (global mediump 3-component vector of float) -0:47 'modfOut' (temp mediump 3-component vector of float) +0:47 move second child to first child ( temp mediump 3-component vector of float) +0:47 'v11' ( temp mediump 3-component vector of float) +0:47 modf ( global mediump 3-component vector of float) +0:47 'x' ( global mediump 3-component vector of float) +0:47 'modfOut' ( temp mediump 3-component vector of float) 0:49 Sequence -0:49 move second child to first child (temp mediump float) -0:49 't' (temp mediump float) -0:49 trunc (global mediump float) -0:49 'f' (global mediump float) +0:49 move second child to first child ( temp mediump float) +0:49 't' ( temp mediump float) +0:49 trunc ( global mediump float) +0:49 'f' ( global mediump float) 0:50 Sequence -0:50 move second child to first child (temp mediump 2-component vector of float) -0:50 'v12' (temp mediump 2-component vector of float) -0:50 round (global mediump 2-component vector of float) -0:50 'v2a' (global mediump 2-component vector of float) +0:50 move second child to first child ( temp mediump 2-component vector of float) +0:50 'v12' ( temp mediump 2-component vector of float) +0:50 round ( global mediump 2-component vector of float) +0:50 'v2a' ( global mediump 2-component vector of float) 0:51 Sequence -0:51 move second child to first child (temp mediump 2-component vector of float) -0:51 'v13' (temp mediump 2-component vector of float) -0:51 roundEven (global mediump 2-component vector of float) -0:51 'v2a' (global mediump 2-component vector of float) +0:51 move second child to first child ( temp mediump 2-component vector of float) +0:51 'v13' ( temp mediump 2-component vector of float) +0:51 roundEven ( global mediump 2-component vector of float) +0:51 'v2a' ( global mediump 2-component vector of float) 0:52 Sequence -0:52 move second child to first child (temp 2-component vector of bool) -0:52 'b10' (temp 2-component vector of bool) -0:52 isnan (global 2-component vector of bool, operation at mediump) -0:52 'v2a' (global mediump 2-component vector of float) +0:52 move second child to first child ( temp 2-component vector of bool) +0:52 'b10' ( temp 2-component vector of bool) +0:52 isnan ( global 2-component vector of bool, operation at mediump) +0:52 'v2a' ( global mediump 2-component vector of float) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of bool) -0:53 'b11' (temp 4-component vector of bool) -0:53 isinf (global 4-component vector of bool, operation at mediump) -0:53 'v4' (global mediump 4-component vector of float) +0:53 move second child to first child ( temp 4-component vector of bool) +0:53 'b11' ( temp 4-component vector of bool) +0:53 isinf ( global 4-component vector of bool, operation at mediump) +0:53 'v4' ( global mediump 4-component vector of float) 0:56 Sequence -0:56 move second child to first child (temp highp int) -0:56 'i' (temp mediump int) -0:56 floatBitsToInt (global highp int) -0:56 'f' (global mediump float) +0:56 move second child to first child ( temp highp int) +0:56 'i' ( temp mediump int) +0:56 floatBitsToInt ( global highp int) +0:56 'f' ( global mediump float) 0:57 Sequence -0:57 move second child to first child (temp highp 4-component vector of uint) -0:57 'uv11' (temp mediump 4-component vector of uint) -0:57 floatBitsToUint (global highp 4-component vector of uint) -0:57 'v4' (global mediump 4-component vector of float) +0:57 move second child to first child ( temp highp 4-component vector of uint) +0:57 'uv11' ( temp mediump 4-component vector of uint) +0:57 floatBitsToUint ( global highp 4-component vector of uint) +0:57 'v4' ( global mediump 4-component vector of float) 0:58 Sequence -0:58 move second child to first child (temp highp 4-component vector of float) -0:58 'v14' (temp mediump 4-component vector of float) -0:58 intBitsToFloat (global highp 4-component vector of float) -0:58 'iv4a' (global mediump 4-component vector of int) +0:58 move second child to first child ( temp highp 4-component vector of float) +0:58 'v14' ( temp mediump 4-component vector of float) +0:58 intBitsToFloat ( global highp 4-component vector of float) +0:58 'iv4a' ( global mediump 4-component vector of int) 0:59 Sequence -0:59 move second child to first child (temp highp 2-component vector of float) -0:59 'v15' (temp mediump 2-component vector of float) -0:59 uintBitsToFloat (global highp 2-component vector of float) -0:59 'uv2c' (global mediump 2-component vector of uint) +0:59 move second child to first child ( temp highp 2-component vector of float) +0:59 'v15' ( temp mediump 2-component vector of float) +0:59 uintBitsToFloat ( global highp 2-component vector of float) +0:59 'uv2c' ( global mediump 2-component vector of uint) 0:62 Sequence -0:62 move second child to first child (temp highp uint) -0:62 'u19' (temp mediump uint) -0:62 packSnorm2x16 (global highp uint, operation at mediump) -0:62 'v2a' (global mediump 2-component vector of float) +0:62 move second child to first child ( temp highp uint) +0:62 'u19' ( temp mediump uint) +0:62 packSnorm2x16 ( global highp uint, operation at mediump) +0:62 'v2a' ( global mediump 2-component vector of float) 0:63 Sequence -0:63 move second child to first child (temp highp 2-component vector of float) -0:63 'v20' (temp mediump 2-component vector of float) -0:63 unpackSnorm2x16 (global highp 2-component vector of float) -0:63 'uy' (global mediump uint) +0:63 move second child to first child ( temp highp 2-component vector of float) +0:63 'v20' ( temp mediump 2-component vector of float) +0:63 unpackSnorm2x16 ( global highp 2-component vector of float) +0:63 'uy' ( global mediump uint) 0:64 Sequence -0:64 move second child to first child (temp highp uint) -0:64 'u15' (temp mediump uint) -0:64 packUnorm2x16 (global highp uint, operation at mediump) -0:64 'v2a' (global mediump 2-component vector of float) +0:64 move second child to first child ( temp highp uint) +0:64 'u15' ( temp mediump uint) +0:64 packUnorm2x16 ( global highp uint, operation at mediump) +0:64 'v2a' ( global mediump 2-component vector of float) 0:65 Sequence -0:65 move second child to first child (temp highp 2-component vector of float) -0:65 'v16' (temp mediump 2-component vector of float) -0:65 unpackUnorm2x16 (global highp 2-component vector of float) -0:65 'uy' (global mediump uint) +0:65 move second child to first child ( temp highp 2-component vector of float) +0:65 'v16' ( temp mediump 2-component vector of float) +0:65 unpackUnorm2x16 ( global highp 2-component vector of float) +0:65 'uy' ( global mediump uint) 0:66 Sequence -0:66 move second child to first child (temp highp uint) -0:66 'u17' (temp mediump uint) -0:66 packHalf2x16 (global highp uint, operation at mediump) -0:66 'v2b' (global mediump 2-component vector of float) +0:66 move second child to first child ( temp highp uint) +0:66 'u17' ( temp mediump uint) +0:66 packHalf2x16 ( global highp uint, operation at mediump) +0:66 'v2b' ( global mediump 2-component vector of float) 0:67 Sequence -0:67 move second child to first child (temp mediump 2-component vector of float) -0:67 'v18' (temp mediump 2-component vector of float) -0:67 unpackHalf2x16 (global mediump 2-component vector of float, operation at highp) -0:67 'uy' (global mediump uint) +0:67 move second child to first child ( temp mediump 2-component vector of float) +0:67 'v18' ( temp mediump 2-component vector of float) +0:67 unpackHalf2x16 ( global mediump 2-component vector of float, operation at highp) +0:67 'uy' ( global mediump uint) 0:70 Constant: 0:70 0.000000 0:? Linker Objects -0:? 'imax' (global mediump int) -0:? 'imin' (global mediump int) -0:? 'umax' (global mediump uint) -0:? 'umin' (global mediump uint) -0:? 'x' (global mediump 3-component vector of float) -0:? 'y' (global mediump 3-component vector of float) -0:? 'bv' (global 3-component vector of bool) -0:? 'uy' (global mediump uint) -0:? 'uv2c' (global mediump 2-component vector of uint) -0:? 'uv2y' (global mediump 2-component vector of uint) -0:? 'uv2x' (global mediump 2-component vector of uint) -0:? 'uv4y' (global mediump 4-component vector of uint) -0:? 'iv3a' (global mediump 3-component vector of int) -0:? 'iv3b' (global mediump 3-component vector of int) -0:? 'iv4a' (global mediump 4-component vector of int) -0:? 'iv4b' (global mediump 4-component vector of int) -0:? 'f' (global mediump float) -0:? 'v2a' (global mediump 2-component vector of float) -0:? 'v2b' (global mediump 2-component vector of float) -0:? 'v4' (global mediump 4-component vector of float) +0:? 'imax' ( global mediump int) +0:? 'imin' ( global mediump int) +0:? 'umax' ( global mediump uint) +0:? 'umin' ( global mediump uint) +0:? 'x' ( global mediump 3-component vector of float) +0:? 'y' ( global mediump 3-component vector of float) +0:? 'bv' ( global 3-component vector of bool) +0:? 'uy' ( global mediump uint) +0:? 'uv2c' ( global mediump 2-component vector of uint) +0:? 'uv2y' ( global mediump 2-component vector of uint) +0:? 'uv2x' ( global mediump 2-component vector of uint) +0:? 'uv4y' ( global mediump 4-component vector of uint) +0:? 'iv3a' ( global mediump 3-component vector of int) +0:? 'iv3b' ( global mediump 3-component vector of int) +0:? 'iv4a' ( global mediump 4-component vector of int) +0:? 'iv4b' ( global mediump 4-component vector of int) +0:? 'f' ( global mediump float) +0:? 'v2a' ( global mediump 2-component vector of float) +0:? 'v2b' ( global mediump 2-component vector of float) +0:? 'v4' ( global mediump 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300block.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300block.frag.out index 224bd111b86..6f7de91b0a4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300block.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300block.frag.out @@ -10,78 +10,78 @@ ERROR: 0:47: 'constructor' : not enough data provided for construction ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed) ERROR: 0:51: 'unreferenced' : undeclared identifier ERROR: 0:52: '++' : l-value required "s" (can't modify a uniform) -ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion) -ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion) +ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t} (or there is no acceptable conversion) +ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}' and a right operand of type ' const int' (or there is no acceptable conversion) ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed) ERROR: 0:55: 'barBlockArray' : undeclared identifier -ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion) +ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type ' const int' and a right operand of type ' temp float' (or there is no acceptable conversion) ERROR: 0:58: 'fooBlock' : redefinition ERROR: 17 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 texture (global lowp 4-component vector of int) -0:44 sampler: direct index for structure (global lowp isampler3D) -0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) +0:44 texture ( global lowp 4-component vector of int) +0:44 sampler: direct index for structure ( global lowp isampler3D) +0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) 0:44 Constant: 0:44 2 (const int) -0:44 Construct vec3 (temp lowp 3-component vector of float) -0:44 Convert int to float (temp lowp float) -0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int) -0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:44 Construct vec3 ( temp lowp 3-component vector of float) +0:44 Convert int to float ( temp lowp float) +0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int) +0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) 0:44 Constant: 0:44 1 (const int) -0:44 Convert uint to float (temp lowp float) -0:44 direct index (temp mediump uint) -0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) -0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs}) +0:44 Convert uint to float ( temp lowp float) +0:44 direct index ( temp mediump uint) +0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint) +0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t} fbs}) 0:44 Constant: 0:44 0 (const uint) 0:44 Constant: 0:44 1 (const int) -0:44 Convert uint to float (temp lowp float) -0:44 direct index (temp mediump uint) -0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) -0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:44 Convert uint to float ( temp lowp float) +0:44 direct index ( temp mediump uint) +0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint) +0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:44 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 0 (const int) 0:44 Constant: 0:44 2 (const int) -0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:45 direct index (temp mediump uint) -0:45 v: direct index for structure (global mediump 4-component vector of uint) -0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) +0:45 indirect index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:45 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:45 direct index ( temp mediump uint) +0:45 v: direct index for structure ( global mediump 4-component vector of uint) +0:45 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) 0:45 Constant: 0:45 1 (const int) 0:45 Constant: 0:45 0 (const int) -0:46 'fooBlock' (temp float) +0:46 'fooBlock' ( temp float) 0:47 Constant: 0:47 0.000000 -0:50 Construct mat4 (temp 4X4 matrix of float) -0:50 'barBlock' (temp mediump float) -0:51 Construct mat4 (temp 4X4 matrix of float) -0:51 'unreferenced' (temp float) -0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) -0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:54 Pre-Increment (temp mediump float) -0:54 'barBlock' (temp mediump float) +0:50 Construct mat4 ( temp 4X4 matrix of float) +0:50 'barBlock' ( temp mediump float) +0:51 Construct mat4 ( temp 4X4 matrix of float) +0:51 'unreferenced' ( temp float) +0:52 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) +0:53 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:54 Pre-Increment ( temp mediump float) +0:54 'barBlock' ( temp mediump float) 0:55 Constant: 0:55 2 (const int) 0:? Linker Objects -0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs}) -0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u}) +0:? 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t} fbs}) +0:? 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:? 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f, layout( column_major shared) uniform mediump uint u}) Linked fragment stage: @@ -89,65 +89,65 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 texture (global lowp 4-component vector of int) -0:44 sampler: direct index for structure (global lowp isampler3D) -0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) +0:44 texture ( global lowp 4-component vector of int) +0:44 sampler: direct index for structure ( global lowp isampler3D) +0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) 0:44 Constant: 0:44 2 (const int) -0:44 Construct vec3 (temp lowp 3-component vector of float) -0:44 Convert int to float (temp lowp float) -0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int) -0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:44 Construct vec3 ( temp lowp 3-component vector of float) +0:44 Convert int to float ( temp lowp float) +0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int) +0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) 0:44 Constant: 0:44 1 (const int) -0:44 Convert uint to float (temp lowp float) -0:44 direct index (temp mediump uint) -0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) -0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs}) +0:44 Convert uint to float ( temp lowp float) +0:44 direct index ( temp mediump uint) +0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint) +0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t} fbs}) 0:44 Constant: 0:44 0 (const uint) 0:44 Constant: 0:44 1 (const int) -0:44 Convert uint to float (temp lowp float) -0:44 direct index (temp mediump uint) -0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) -0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:44 Convert uint to float ( temp lowp float) +0:44 direct index ( temp mediump uint) +0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint) +0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:44 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 0 (const int) 0:44 Constant: 0:44 2 (const int) -0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:45 direct index (temp mediump uint) -0:45 v: direct index for structure (global mediump 4-component vector of uint) -0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) +0:45 indirect index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:45 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:45 direct index ( temp mediump uint) +0:45 v: direct index for structure ( global mediump 4-component vector of uint) +0:45 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) 0:45 Constant: 0:45 1 (const int) 0:45 Constant: 0:45 0 (const int) -0:46 'fooBlock' (temp float) +0:46 'fooBlock' ( temp float) 0:47 Constant: 0:47 0.000000 -0:50 Construct mat4 (temp 4X4 matrix of float) -0:50 'barBlock' (temp mediump float) -0:51 Construct mat4 (temp 4X4 matrix of float) -0:51 'unreferenced' (temp float) -0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) -0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:54 Pre-Increment (temp mediump float) -0:54 'barBlock' (temp mediump float) +0:50 Construct mat4 ( temp 4X4 matrix of float) +0:50 'barBlock' ( temp mediump float) +0:51 Construct mat4 ( temp 4X4 matrix of float) +0:51 'unreferenced' ( temp float) +0:52 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) +0:53 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:54 Pre-Increment ( temp mediump float) +0:54 'barBlock' ( temp mediump float) 0:55 Constant: 0:55 2 (const int) 0:? Linker Objects -0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t}) -0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs}) -0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) -0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u}) +0:? 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t}) +0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t} fbs}) +0:? 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:? 'insts' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni}) +0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f, layout( column_major shared) uniform mediump uint u}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.frag.out index 62a0b367d74..3266d9b71d4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.frag.out @@ -11,30 +11,30 @@ ERROR: 7 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence -0:12 move second child to first child (temp mediump 4-component vector of float) -0:12 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) -0:13 move second child to first child (temp mediump 4-component vector of float) -0:13 'p' (layout(location=3 ) out mediump 4-component vector of float) -0:13 'pos' (smooth in mediump 4-component vector of float) -0:14 move second child to first child (temp mediump 4-component vector of float) -0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float) -0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) +0:12 move second child to first child ( temp mediump 4-component vector of float) +0:12 'c' (layout( location=1) out mediump 4-component vector of float) +0:12 'color' (layout( location=2) smooth in mediump 4-component vector of float) +0:13 move second child to first child ( temp mediump 4-component vector of float) +0:13 'p' (layout( location=3) out mediump 4-component vector of float) +0:13 'pos' ( smooth in mediump 4-component vector of float) +0:14 move second child to first child ( temp mediump 4-component vector of float) +0:14 direct index (layout( location=4) temp mediump 4-component vector of float) +0:14 'q' (layout( location=4) out 2-element array of mediump 4-component vector of float) 0:14 Constant: 0:14 1 (const int) -0:14 'pos' (smooth in mediump 4-component vector of float) +0:14 'pos' ( smooth in mediump 4-component vector of float) 0:? Linker Objects -0:? 'pos' (smooth in mediump 4-component vector of float) -0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) -0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:? 'p' (layout(location=3 ) out mediump 4-component vector of float) -0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) -0:? 'ca' (layout(location=40 ) out 4-element array of mediump float) -0:? 'cb' (layout(location=41 ) out 2-element array of mediump float) -0:? 'cc' (layout(location=39 ) out 6-element array of mediump float) +0:? 'pos' ( smooth in mediump 4-component vector of float) +0:? 'color' (layout( location=2) smooth in mediump 4-component vector of float) +0:? 'c' (layout( location=1) out mediump 4-component vector of float) +0:? 'p' (layout( location=3) out mediump 4-component vector of float) +0:? 'q' (layout( location=4) out 2-element array of mediump 4-component vector of float) +0:? 'ca' (layout( location=40) out 4-element array of mediump float) +0:? 'cb' (layout( location=41) out 2-element array of mediump float) +0:? 'cc' (layout( location=39) out 6-element array of mediump float) Linked fragment stage: @@ -42,28 +42,28 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence -0:12 move second child to first child (temp mediump 4-component vector of float) -0:12 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) -0:13 move second child to first child (temp mediump 4-component vector of float) -0:13 'p' (layout(location=3 ) out mediump 4-component vector of float) -0:13 'pos' (smooth in mediump 4-component vector of float) -0:14 move second child to first child (temp mediump 4-component vector of float) -0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float) -0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) +0:12 move second child to first child ( temp mediump 4-component vector of float) +0:12 'c' (layout( location=1) out mediump 4-component vector of float) +0:12 'color' (layout( location=2) smooth in mediump 4-component vector of float) +0:13 move second child to first child ( temp mediump 4-component vector of float) +0:13 'p' (layout( location=3) out mediump 4-component vector of float) +0:13 'pos' ( smooth in mediump 4-component vector of float) +0:14 move second child to first child ( temp mediump 4-component vector of float) +0:14 direct index (layout( location=4) temp mediump 4-component vector of float) +0:14 'q' (layout( location=4) out 2-element array of mediump 4-component vector of float) 0:14 Constant: 0:14 1 (const int) -0:14 'pos' (smooth in mediump 4-component vector of float) +0:14 'pos' ( smooth in mediump 4-component vector of float) 0:? Linker Objects -0:? 'pos' (smooth in mediump 4-component vector of float) -0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) -0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:? 'p' (layout(location=3 ) out mediump 4-component vector of float) -0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) -0:? 'ca' (layout(location=40 ) out 4-element array of mediump float) -0:? 'cb' (layout(location=41 ) out 2-element array of mediump float) -0:? 'cc' (layout(location=39 ) out 6-element array of mediump float) +0:? 'pos' ( smooth in mediump 4-component vector of float) +0:? 'color' (layout( location=2) smooth in mediump 4-component vector of float) +0:? 'c' (layout( location=1) out mediump 4-component vector of float) +0:? 'p' (layout( location=3) out mediump 4-component vector of float) +0:? 'q' (layout( location=4) out 2-element array of mediump 4-component vector of float) +0:? 'ca' (layout( location=40) out 4-element array of mediump float) +0:? 'cb' (layout( location=41) out 2-element array of mediump float) +0:? 'cc' (layout( location=39) out 6-element array of mediump float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.vert.out index f69a989b1ff..e245cbcf97f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300layout.vert.out @@ -23,63 +23,63 @@ ERROR: 19 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:44 Function Definition: main( (global void) +0:44 Function Definition: main( ( global void) 0:44 Function Parameters: 0:46 Sequence -0:46 move second child to first child (temp highp 4-component vector of float) -0:46 'pos' (smooth out highp 4-component vector of float) -0:46 vector-times-matrix (temp highp 4-component vector of float) -0:46 'p' (layout(location=3 ) in highp 4-component vector of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 move second child to first child ( temp highp 4-component vector of float) +0:46 'pos' ( smooth out highp 4-component vector of float) +0:46 vector-times-matrix ( temp highp 4-component vector of float) +0:46 'p' (layout( location=3) in highp 4-component vector of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 M1: direct index for structure (layout( row_major std140 offset=0) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:46 Constant: 0:46 0 (const int) -0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 M2: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:46 Constant: 0:46 1 (const int) -0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) +0:46 M4: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b}) 0:46 Constant: 0:46 1 (const uint) -0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) +0:46 M3: direct index for structure (layout( column_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b}) 0:46 Constant: 0:46 0 (const uint) -0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) +0:46 t2m: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m}) 0:46 Constant: 0:46 1 (const uint) -0:47 move second child to first child (temp highp 3-component vector of float) -0:47 'color' (smooth out highp 3-component vector of float) -0:47 vector-times-matrix (temp highp 3-component vector of float) -0:47 'c' (layout(location=7 ) in highp 3-component vector of float) -0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float) -0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:47 move second child to first child ( temp highp 3-component vector of float) +0:47 'color' ( smooth out highp 3-component vector of float) +0:47 vector-times-matrix ( temp highp 3-component vector of float) +0:47 'c' (layout( location=7) in highp 3-component vector of float) +0:47 N1: direct index for structure (layout( row_major std140 offset=128) uniform highp 3X3 matrix of float) +0:47 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:47 Constant: 0:47 2 (const int) 0:? Linker Objects -0:? 'c' (layout(location=7 ) in highp 3-component vector of float) -0:? 'p' (layout(location=3 ) in highp 4-component vector of float) -0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float) -0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v}) -0:? 'pos' (smooth out highp 4-component vector of float) -0:? 'color' (smooth out highp 3-component vector of float) -0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float) -0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) -0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) -0:? 'anon@2' (out block{out highp float f}) -0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float) -0:? 'compute_only' (shared highp 4-component vector of float) -0:? 'aoeuntaoeu' (layout(packed ) uniform highp float) -0:? 'cd' (layout(location=40 ) in highp float) -0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'c' (layout( location=7) in highp 3-component vector of float) +0:? 'p' (layout( location=3) in highp 4-component vector of float) +0:? 'q' (layout( location=9) in 4-element array of highp 4-component vector of float) +0:? 'r' (layout( location=10) in 4-element array of structure{ global highp 4-component vector of float v}) +0:? 'pos' ( smooth out highp 4-component vector of float) +0:? 'color' ( smooth out highp 3-component vector of float) +0:? 'badm4' (layout( column_major shared) uniform highp 4X4 matrix of float) +0:? 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) +0:? 'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m}) +0:? 'anon@2' ( out block{ out highp float f}) +0:? 'badoutA' (layout( location=10) smooth out highp 4-component vector of float) +0:? 'compute_only' ( shared highp 4-component vector of float) +0:? 'aoeuntaoeu' (layout( packed) uniform highp float) +0:? 'cd' (layout( location=40) in highp float) +0:? 'ce' (layout( location=37) in highp 4X3 matrix of float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -87,61 +87,61 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! -0:44 Function Definition: main( (global void) +0:44 Function Definition: main( ( global void) 0:44 Function Parameters: 0:46 Sequence -0:46 move second child to first child (temp highp 4-component vector of float) -0:46 'pos' (smooth out highp 4-component vector of float) -0:46 vector-times-matrix (temp highp 4-component vector of float) -0:46 'p' (layout(location=3 ) in highp 4-component vector of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 add (temp highp 4X4 matrix of float) -0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 move second child to first child ( temp highp 4-component vector of float) +0:46 'pos' ( smooth out highp 4-component vector of float) +0:46 vector-times-matrix ( temp highp 4-component vector of float) +0:46 'p' (layout( location=3) in highp 4-component vector of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 add ( temp highp 4X4 matrix of float) +0:46 M1: direct index for structure (layout( row_major std140 offset=0) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:46 Constant: 0:46 0 (const int) -0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 M2: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:46 Constant: 0:46 1 (const int) -0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) +0:46 M4: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b}) 0:46 Constant: 0:46 1 (const uint) -0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) +0:46 M3: direct index for structure (layout( column_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform highp 4X4 matrix of float M3, layout( row_major shared) uniform highp 4X4 matrix of float M4, layout( column_major shared) uniform highp 3X3 matrix of float N2, layout( column_major shared) uniform highp int b}) 0:46 Constant: 0:46 0 (const uint) -0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) -0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) +0:46 t2m: direct index for structure (layout( row_major shared) uniform highp 4X4 matrix of float) +0:46 'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m}) 0:46 Constant: 0:46 1 (const uint) -0:47 move second child to first child (temp highp 3-component vector of float) -0:47 'color' (smooth out highp 3-component vector of float) -0:47 vector-times-matrix (temp highp 3-component vector of float) -0:47 'c' (layout(location=7 ) in highp 3-component vector of float) -0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float) -0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:47 move second child to first child ( temp highp 3-component vector of float) +0:47 'color' ( smooth out highp 3-component vector of float) +0:47 vector-times-matrix ( temp highp 3-component vector of float) +0:47 'c' (layout( location=7) in highp 3-component vector of float) +0:47 N1: direct index for structure (layout( row_major std140 offset=128) uniform highp 3X3 matrix of float) +0:47 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) 0:47 Constant: 0:47 2 (const int) 0:? Linker Objects -0:? 'c' (layout(location=7 ) in highp 3-component vector of float) -0:? 'p' (layout(location=3 ) in highp 4-component vector of float) -0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float) -0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v}) -0:? 'pos' (smooth out highp 4-component vector of float) -0:? 'color' (smooth out highp 3-component vector of float) -0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float) -0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) -0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) -0:? 'anon@2' (out block{out highp float f}) -0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float) -0:? 'compute_only' (shared highp 4-component vector of float) -0:? 'aoeuntaoeu' (layout(packed ) uniform highp float) -0:? 'cd' (layout(location=40 ) in highp float) -0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'c' (layout( location=7) in highp 3-component vector of float) +0:? 'p' (layout( location=3) in highp 4-component vector of float) +0:? 'q' (layout( location=9) in 4-element array of highp 4-component vector of float) +0:? 'r' (layout( location=10) in 4-element array of structure{ global highp 4-component vector of float v}) +0:? 'pos' ( smooth out highp 4-component vector of float) +0:? 'color' ( smooth out highp 3-component vector of float) +0:? 'badm4' (layout( column_major shared) uniform highp 4X4 matrix of float) +0:? 'tblock' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform highp 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform highp 3X3 matrix of float N1, layout( row_major std140 offset=176) centroid uniform highp float badf, layout( row_major std140 offset=180) uniform highp float badg, layout( row_major std140 offset=184) uniform highp float bad1, layout( row_major shared offset=188) uniform highp float bad2, layout( row_major packed offset=192) uniform highp float bad3}) +0:? 'anon@0' (layout( row_major shared) uniform block{layout( row_major shared) uniform bool b, layout( row_major shared) uniform highp 4X4 matrix of float t2m}) +0:? 'anon@2' ( out block{ out highp float f}) +0:? 'badoutA' (layout( location=10) smooth out highp 4-component vector of float) +0:? 'compute_only' ( shared highp 4-component vector of float) +0:? 'aoeuntaoeu' (layout( packed) uniform highp float) +0:? 'cd' (layout( location=40) in highp float) +0:? 'ce' (layout( location=37) in highp 4X3 matrix of float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link.frag.out index 0713d3df45c..dc54e765060 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link.frag.out @@ -1,11 +1,11 @@ 300link.frag Shader version: 300 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:? Linker Objects -0:? 'color1' (out highp 4-component vector of float) -0:? 'color2' (out highp 4-component vector of float) +0:? 'color1' ( out highp 4-component vector of float) +0:? 'color2' ( out highp 4-component vector of float) Linked fragment stage: @@ -14,9 +14,9 @@ ERROR: Linking fragment stage: when more than one fragment shader output, all mu Shader version: 300 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:? Linker Objects -0:? 'color1' (out highp 4-component vector of float) -0:? 'color2' (out highp 4-component vector of float) +0:? 'color1' ( out highp 4-component vector of float) +0:? 'color2' ( out highp 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link2.frag.out index aaf71dc4c15..6bbb287e977 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link2.frag.out @@ -1,13 +1,13 @@ 300link2.frag Shader version: 300 0:? Sequence -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:? Linker Objects -0:? 'pos' (smooth in mediump 4-component vector of float) -0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:? 'p' (layout(location=5 ) out mediump 4-component vector of float) -0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float) +0:? 'pos' ( smooth in mediump 4-component vector of float) +0:? 'c' (layout( location=1) out mediump 4-component vector of float) +0:? 'p' (layout( location=5) out mediump 4-component vector of float) +0:? 'q' (layout( location=9) out 2-element array of mediump 4-component vector of float) Linked fragment stage: @@ -15,11 +15,11 @@ Linked fragment stage: Shader version: 300 0:? Sequence -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:? Linker Objects -0:? 'pos' (smooth in mediump 4-component vector of float) -0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) -0:? 'p' (layout(location=5 ) out mediump 4-component vector of float) -0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float) +0:? 'pos' ( smooth in mediump 4-component vector of float) +0:? 'c' (layout( location=1) out mediump 4-component vector of float) +0:? 'p' (layout( location=5) out mediump 4-component vector of float) +0:? 'q' (layout( location=9) out 2-element array of mediump 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link3.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link3.frag.out index 3224695121e..e6114c5fab8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link3.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300link3.frag.out @@ -1,10 +1,10 @@ 300link3.frag Shader version: 300 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects -0:? 'color1' (out highp 4-component vector of float) +0:? 'color1' ( out highp 4-component vector of float) Linked fragment stage: @@ -12,8 +12,8 @@ Linked fragment stage: Shader version: 300 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects -0:? 'color1' (out highp 4-component vector of float) +0:? 'color1' ( out highp 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300operations.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300operations.frag.out index ff7663e93ef..27772cb2bb1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300operations.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300operations.frag.out @@ -1,86 +1,86 @@ 300operations.frag ERROR: 0:11: 'float' : type requires declaration of default precision qualifier -ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion) -ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion) -ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:34: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump int' (or there is no acceptable conversion) -ERROR: 0:35: 'assign' : cannot convert from 'temp mediump 4-component vector of int' to 'temp mediump 3-component vector of int' -ERROR: 0:36: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp mediump 4-component vector of int' and a right operand of type 'temp mediump 4-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:37: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of float' (or there is no acceptable conversion) -ERROR: 0:38: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:39: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion) -ERROR: 0:40: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion) -ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion) +ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}' and a right operand of type 'layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}' (or there is no acceptable conversion) +ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' global structure{ global mediump int i}' and a right operand of type ' global structure{ global mediump int i}' (or there is no acceptable conversion) +ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp mediump uint' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:34: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp mediump uint' and a right operand of type ' temp mediump int' (or there is no acceptable conversion) +ERROR: 0:35: 'assign' : cannot convert from ' temp mediump 4-component vector of int' to ' temp mediump 3-component vector of int' +ERROR: 0:36: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type ' temp mediump 4-component vector of int' and a right operand of type ' temp mediump 4-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:37: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump 3-component vector of float' (or there is no acceptable conversion) +ERROR: 0:38: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp mediump 3-component vector of int' and a right operand of type ' temp mediump 3-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:39: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type ' global 5-element array of mediump float' and a right operand of type ' global 5-element array of mediump float' (or there is no acceptable conversion) +ERROR: 0:40: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion) +ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' temp mediump uint' (or there is no acceptable conversion) ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform) -ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion) -ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type global structure{global mediump int i} (or there is no acceptable conversion) -ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) -ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type temp 3-component vector of bool (or there is no acceptable conversion) -ERROR: 0:50: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:51: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion) -ERROR: 0:52: '!=' : wrong operand types: no operation '!=' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 4X4 matrix of float' (or there is no acceptable conversion) -ERROR: 0:53: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion) -ERROR: 0:54: '<=' : wrong operand types: no operation '<=' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion) -ERROR: 0:55: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion) -ERROR: 0:57: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion) -ERROR: 0:58: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion) -ERROR: 0:59: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp bool' (or there is no acceptable conversion) -ERROR: 0:60: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump int' (or there is no acceptable conversion) -ERROR: 0:61: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion) -ERROR: 0:62: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion) -ERROR: 0:64: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump uint (or there is no acceptable conversion) -ERROR: 0:65: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump int (or there is no acceptable conversion) -ERROR: 0:66: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 2X2 matrix of float (or there is no acceptable conversion) -ERROR: 0:67: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion) -ERROR: 0:68: '!' : wrong operand type no operation '!' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) -ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump float (or there is no acceptable conversion) -ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 4X4 matrix of float (or there is no acceptable conversion) -ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion) -ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) -ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion) -ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of int' (or there is no acceptable conversion) -ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:79: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion) -ERROR: 0:80: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 4X4 matrix of float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion) -ERROR: 0:81: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion) -ERROR: 0:82: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 4-component vector of int' (or there is no acceptable conversion) -ERROR: 0:84: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion) -ERROR: 0:85: 'assign' : cannot convert from 'temp mediump 3-component vector of uint' to 'temp mediump uint' -ERROR: 0:86: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion) -ERROR: 0:87: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion) -ERROR: 0:88: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion) -ERROR: 0:89: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion) +ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f} (or there is no acceptable conversion) +ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type global structure{ global mediump int i} (or there is no acceptable conversion) +ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) +ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type temp 3-component vector of bool (or there is no acceptable conversion) +ERROR: 0:50: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type ' temp mediump 3-component vector of int' and a right operand of type ' temp mediump 3-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:51: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type ' temp mediump 2X2 matrix of float' and a right operand of type ' temp mediump 2X2 matrix of float' (or there is no acceptable conversion) +ERROR: 0:52: '!=' : wrong operand types: no operation '!=' exists that takes a left-hand operand of type ' temp mediump 2X2 matrix of float' and a right operand of type ' temp mediump 4X4 matrix of float' (or there is no acceptable conversion) +ERROR: 0:53: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump uint' (or there is no acceptable conversion) +ERROR: 0:54: '<=' : wrong operand types: no operation '<=' exists that takes a left-hand operand of type ' global 5-element array of mediump float' and a right operand of type ' global 5-element array of mediump float' (or there is no acceptable conversion) +ERROR: 0:55: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp bool' (or there is no acceptable conversion) +ERROR: 0:57: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type ' temp bool' and a right operand of type ' temp 3-component vector of bool' (or there is no acceptable conversion) +ERROR: 0:58: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type ' temp 3-component vector of bool' and a right operand of type ' temp 3-component vector of bool' (or there is no acceptable conversion) +ERROR: 0:59: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type ' temp 3-component vector of bool' and a right operand of type ' temp bool' (or there is no acceptable conversion) +ERROR: 0:60: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump int' (or there is no acceptable conversion) +ERROR: 0:61: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type ' temp mediump uint' and a right operand of type ' temp mediump uint' (or there is no acceptable conversion) +ERROR: 0:62: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type ' temp mediump 2X2 matrix of float' and a right operand of type ' temp mediump 2X2 matrix of float' (or there is no acceptable conversion) +ERROR: 0:64: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump uint (or there is no acceptable conversion) +ERROR: 0:65: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump int (or there is no acceptable conversion) +ERROR: 0:66: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 2X2 matrix of float (or there is no acceptable conversion) +ERROR: 0:67: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion) +ERROR: 0:68: '!' : wrong operand type no operation '!' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) +ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump float (or there is no acceptable conversion) +ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 4X4 matrix of float (or there is no acceptable conversion) +ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion) +ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion) +ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f} (or there is no acceptable conversion) +ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump 3-component vector of int' (or there is no acceptable conversion) +ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type ' temp mediump uint' and a right operand of type ' temp mediump 3-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:79: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type ' temp mediump float' and a right operand of type ' temp mediump int' (or there is no acceptable conversion) +ERROR: 0:80: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type ' temp mediump 4X4 matrix of float' and a right operand of type ' temp mediump int' (or there is no acceptable conversion) +ERROR: 0:81: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type ' global 5-element array of mediump float' and a right operand of type ' temp mediump uint' (or there is no acceptable conversion) +ERROR: 0:82: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type ' temp mediump 3-component vector of int' and a right operand of type ' temp mediump 4-component vector of int' (or there is no acceptable conversion) +ERROR: 0:84: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump uint' (or there is no acceptable conversion) +ERROR: 0:85: 'assign' : cannot convert from ' temp mediump 3-component vector of uint' to ' temp mediump uint' +ERROR: 0:86: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp mediump int' and a right operand of type ' temp mediump 3-component vector of uint' (or there is no acceptable conversion) +ERROR: 0:87: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type ' temp mediump uint' and a right operand of type ' temp mediump float' (or there is no acceptable conversion) +ERROR: 0:88: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp mediump 2X2 matrix of float' and a right operand of type ' temp mediump 2X2 matrix of float' (or there is no acceptable conversion) +ERROR: 0:89: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type ' global structure{ global mediump int i}' and a right operand of type ' global structure{ global mediump int i}' (or there is no acceptable conversion) ERROR: 0:90: 'assign' : l-value required ERROR: 56 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:? Sequence -0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:31 's' (global structure{global mediump int i}) -0:32 'i' (temp mediump int) -0:33 'u' (temp mediump uint) -0:34 'u' (temp mediump uint) -0:35 'iv3' (temp mediump 3-component vector of int) -0:36 'iv4' (temp mediump 4-component vector of int) -0:37 'i' (temp mediump int) -0:38 'iv3' (temp mediump 3-component vector of int) -0:39 'a' (global 5-element array of mediump float) -0:40 'b' (temp bool) -0:42 'f' (temp mediump float) -0:43 'i' (temp mediump int) -0:44 'f' (temp mediump float) -0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:46 's' (global structure{global mediump int i}) -0:47 'a' (global 5-element array of mediump float) -0:48 'b3' (temp 3-component vector of bool) +0:30 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:31 's' ( global structure{ global mediump int i}) +0:32 'i' ( temp mediump int) +0:33 'u' ( temp mediump uint) +0:34 'u' ( temp mediump uint) +0:35 'iv3' ( temp mediump 3-component vector of int) +0:36 'iv4' ( temp mediump 4-component vector of int) +0:37 'i' ( temp mediump int) +0:38 'iv3' ( temp mediump 3-component vector of int) +0:39 'a' ( global 5-element array of mediump float) +0:40 'b' ( temp bool) +0:42 'f' ( temp mediump float) +0:43 'i' ( temp mediump int) +0:44 'f' ( temp mediump float) +0:45 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:46 's' ( global structure{ global mediump int i}) +0:47 'a' ( global 5-element array of mediump float) +0:48 'b3' ( temp 3-component vector of bool) 0:50 Constant: 0:50 false (const bool) 0:51 Constant: @@ -105,136 +105,136 @@ ERROR: node is still EOpNull! 0:61 false (const bool) 0:62 Constant: 0:62 false (const bool) -0:64 'u' (temp mediump uint) -0:65 'i' (temp mediump int) -0:66 'm2' (temp mediump 2X2 matrix of float) -0:67 'v3' (temp mediump 3-component vector of float) -0:68 'a' (global 5-element array of mediump float) -0:70 'f' (temp mediump float) -0:71 'm4' (temp mediump 4X4 matrix of float) -0:72 'v3' (temp mediump 3-component vector of float) -0:73 'a' (global 5-element array of mediump float) -0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:76 'i' (temp mediump int) -0:77 'u' (temp mediump uint) -0:78 'i' (temp mediump int) -0:79 'f' (temp mediump float) -0:80 'm4' (temp mediump 4X4 matrix of float) -0:81 'a' (global 5-element array of mediump float) -0:82 'iv3' (temp mediump 3-component vector of int) -0:84 'i' (temp mediump int) -0:85 'u' (temp mediump uint) -0:86 'i' (temp mediump int) -0:87 'u' (temp mediump uint) -0:88 'm2' (temp mediump 2X2 matrix of float) -0:89 's' (global structure{global mediump int i}) -0:90 move second child to first child (temp mediump float) -0:90 move second child to first child (temp mediump float) -0:90 'f' (temp mediump float) -0:90 'f' (temp mediump float) -0:90 'f' (temp mediump float) -0:93 vector-scale (temp mediump 4-component vector of float) -0:93 'f' (temp mediump float) -0:93 'v4' (temp mediump 4-component vector of float) -0:94 add (temp mediump uint) -0:94 'u' (temp mediump uint) -0:94 'u' (temp mediump uint) -0:95 divide (temp mediump 4-component vector of uint) -0:95 'uv4' (temp mediump 4-component vector of uint) -0:95 'u' (temp mediump uint) -0:96 subtract second child into first child (temp mediump 3-component vector of int) -0:96 'iv3' (temp mediump 3-component vector of int) -0:96 'iv3' (temp mediump 3-component vector of int) -0:98 mod second child into first child (temp mediump int) -0:98 'i' (temp mediump int) +0:64 'u' ( temp mediump uint) +0:65 'i' ( temp mediump int) +0:66 'm2' ( temp mediump 2X2 matrix of float) +0:67 'v3' ( temp mediump 3-component vector of float) +0:68 'a' ( global 5-element array of mediump float) +0:70 'f' ( temp mediump float) +0:71 'm4' ( temp mediump 4X4 matrix of float) +0:72 'v3' ( temp mediump 3-component vector of float) +0:73 'a' ( global 5-element array of mediump float) +0:74 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:76 'i' ( temp mediump int) +0:77 'u' ( temp mediump uint) +0:78 'i' ( temp mediump int) +0:79 'f' ( temp mediump float) +0:80 'm4' ( temp mediump 4X4 matrix of float) +0:81 'a' ( global 5-element array of mediump float) +0:82 'iv3' ( temp mediump 3-component vector of int) +0:84 'i' ( temp mediump int) +0:85 'u' ( temp mediump uint) +0:86 'i' ( temp mediump int) +0:87 'u' ( temp mediump uint) +0:88 'm2' ( temp mediump 2X2 matrix of float) +0:89 's' ( global structure{ global mediump int i}) +0:90 move second child to first child ( temp mediump float) +0:90 move second child to first child ( temp mediump float) +0:90 'f' ( temp mediump float) +0:90 'f' ( temp mediump float) +0:90 'f' ( temp mediump float) +0:93 vector-scale ( temp mediump 4-component vector of float) +0:93 'f' ( temp mediump float) +0:93 'v4' ( temp mediump 4-component vector of float) +0:94 add ( temp mediump uint) +0:94 'u' ( temp mediump uint) +0:94 'u' ( temp mediump uint) +0:95 divide ( temp mediump 4-component vector of uint) +0:95 'uv4' ( temp mediump 4-component vector of uint) +0:95 'u' ( temp mediump uint) +0:96 subtract second child into first child ( temp mediump 3-component vector of int) +0:96 'iv3' ( temp mediump 3-component vector of int) +0:96 'iv3' ( temp mediump 3-component vector of int) +0:98 mod second child into first child ( temp mediump int) +0:98 'i' ( temp mediump int) 0:98 Constant: 0:98 3 (const int) -0:99 mod (temp mediump 3-component vector of uint) -0:99 'uv3' (temp mediump 3-component vector of uint) +0:99 mod ( temp mediump 3-component vector of uint) +0:99 'uv3' ( temp mediump 3-component vector of uint) 0:99 Constant: 0:99 4 (const uint) -0:100 Pre-Decrement (temp mediump 2X2 matrix of float) -0:100 'm2' (temp mediump 2X2 matrix of float) -0:101 Post-Increment (temp mediump 4-component vector of int) -0:101 'iv4' (temp mediump 4-component vector of int) -0:103 Compare Not Equal (temp bool) -0:103 'm4' (temp mediump 4X4 matrix of float) -0:103 'm4' (temp mediump 4X4 matrix of float) -0:104 Compare Equal (temp bool) -0:104 'm2' (temp mediump 2X2 matrix of float) -0:104 'm2' (temp mediump 2X2 matrix of float) -0:105 Compare Less Than or Equal (temp bool) -0:105 'i' (temp mediump int) -0:105 'i' (temp mediump int) -0:106 Compare Equal (temp bool) -0:106 'a' (global 5-element array of mediump float) -0:106 'a' (global 5-element array of mediump float) -0:107 Compare Not Equal (temp bool) -0:107 's' (global structure{global mediump int i}) -0:107 's' (global structure{global mediump int i}) -0:109 logical-and (temp bool) -0:109 'b' (temp bool) -0:109 'b' (temp bool) -0:110 logical-or (temp bool) -0:110 'b' (temp bool) -0:110 'b' (temp bool) -0:111 logical-xor (temp bool) -0:111 'b' (temp bool) -0:111 'b' (temp bool) -0:113 Comma (temp mediump 3-component vector of uint) -0:113 Negate conditional (temp bool) -0:113 'b' (temp bool) -0:113 'uv3' (temp mediump 3-component vector of uint) -0:115 Bitwise not (temp mediump int) -0:115 'i' (temp mediump int) -0:116 Bitwise not (temp mediump uint) -0:116 'u' (temp mediump uint) -0:117 Bitwise not (temp mediump 3-component vector of uint) -0:117 'uv3' (temp mediump 3-component vector of uint) -0:118 Bitwise not (temp mediump 3-component vector of int) -0:118 'iv3' (temp mediump 3-component vector of int) -0:120 left shift second child into first child (temp mediump 3-component vector of uint) -0:120 'uv3' (temp mediump 3-component vector of uint) -0:120 'i' (temp mediump int) -0:121 right-shift (temp mediump int) -0:121 'i' (temp mediump int) -0:121 'i' (temp mediump int) -0:122 left-shift (temp mediump uint) -0:122 'u' (temp mediump uint) -0:122 'u' (temp mediump uint) -0:123 right-shift (temp mediump 3-component vector of int) -0:123 'iv3' (temp mediump 3-component vector of int) -0:123 'iv3' (temp mediump 3-component vector of int) -0:125 bitwise and (temp mediump int) -0:125 'i' (temp mediump int) -0:125 'i' (temp mediump int) -0:126 inclusive-or (temp mediump uint) -0:126 'u' (temp mediump uint) -0:126 'u' (temp mediump uint) -0:127 exclusive-or (temp mediump 3-component vector of int) -0:127 'iv3' (temp mediump 3-component vector of int) -0:127 'iv3' (temp mediump 3-component vector of int) -0:128 bitwise and (temp mediump 3-component vector of uint) -0:128 'u' (temp mediump uint) -0:128 'uv3' (temp mediump 3-component vector of uint) -0:129 inclusive-or (temp mediump 3-component vector of uint) -0:129 'uv3' (temp mediump 3-component vector of uint) -0:129 'u' (temp mediump uint) -0:130 and second child into first child (temp mediump 3-component vector of uint) -0:130 'uv3' (temp mediump 3-component vector of uint) -0:130 'u' (temp mediump uint) -0:132 direct index (temp mediump int) -0:132 'arr' (temp 2-element array of mediump int) +0:100 Pre-Decrement ( temp mediump 2X2 matrix of float) +0:100 'm2' ( temp mediump 2X2 matrix of float) +0:101 Post-Increment ( temp mediump 4-component vector of int) +0:101 'iv4' ( temp mediump 4-component vector of int) +0:103 Compare Not Equal ( temp bool) +0:103 'm4' ( temp mediump 4X4 matrix of float) +0:103 'm4' ( temp mediump 4X4 matrix of float) +0:104 Compare Equal ( temp bool) +0:104 'm2' ( temp mediump 2X2 matrix of float) +0:104 'm2' ( temp mediump 2X2 matrix of float) +0:105 Compare Less Than or Equal ( temp bool) +0:105 'i' ( temp mediump int) +0:105 'i' ( temp mediump int) +0:106 Compare Equal ( temp bool) +0:106 'a' ( global 5-element array of mediump float) +0:106 'a' ( global 5-element array of mediump float) +0:107 Compare Not Equal ( temp bool) +0:107 's' ( global structure{ global mediump int i}) +0:107 's' ( global structure{ global mediump int i}) +0:109 logical-and ( temp bool) +0:109 'b' ( temp bool) +0:109 'b' ( temp bool) +0:110 logical-or ( temp bool) +0:110 'b' ( temp bool) +0:110 'b' ( temp bool) +0:111 logical-xor ( temp bool) +0:111 'b' ( temp bool) +0:111 'b' ( temp bool) +0:113 Comma ( temp mediump 3-component vector of uint) +0:113 Negate conditional ( temp bool) +0:113 'b' ( temp bool) +0:113 'uv3' ( temp mediump 3-component vector of uint) +0:115 Bitwise not ( temp mediump int) +0:115 'i' ( temp mediump int) +0:116 Bitwise not ( temp mediump uint) +0:116 'u' ( temp mediump uint) +0:117 Bitwise not ( temp mediump 3-component vector of uint) +0:117 'uv3' ( temp mediump 3-component vector of uint) +0:118 Bitwise not ( temp mediump 3-component vector of int) +0:118 'iv3' ( temp mediump 3-component vector of int) +0:120 left shift second child into first child ( temp mediump 3-component vector of uint) +0:120 'uv3' ( temp mediump 3-component vector of uint) +0:120 'i' ( temp mediump int) +0:121 right-shift ( temp mediump int) +0:121 'i' ( temp mediump int) +0:121 'i' ( temp mediump int) +0:122 left-shift ( temp mediump uint) +0:122 'u' ( temp mediump uint) +0:122 'u' ( temp mediump uint) +0:123 right-shift ( temp mediump 3-component vector of int) +0:123 'iv3' ( temp mediump 3-component vector of int) +0:123 'iv3' ( temp mediump 3-component vector of int) +0:125 bitwise and ( temp mediump int) +0:125 'i' ( temp mediump int) +0:125 'i' ( temp mediump int) +0:126 inclusive-or ( temp mediump uint) +0:126 'u' ( temp mediump uint) +0:126 'u' ( temp mediump uint) +0:127 exclusive-or ( temp mediump 3-component vector of int) +0:127 'iv3' ( temp mediump 3-component vector of int) +0:127 'iv3' ( temp mediump 3-component vector of int) +0:128 bitwise and ( temp mediump 3-component vector of uint) +0:128 'u' ( temp mediump uint) +0:128 'uv3' ( temp mediump 3-component vector of uint) +0:129 inclusive-or ( temp mediump 3-component vector of uint) +0:129 'uv3' ( temp mediump 3-component vector of uint) +0:129 'u' ( temp mediump uint) +0:130 and second child into first child ( temp mediump 3-component vector of uint) +0:130 'uv3' ( temp mediump 3-component vector of uint) +0:130 'u' ( temp mediump uint) +0:132 direct index ( temp mediump int) +0:132 'arr' ( temp 2-element array of mediump int) 0:132 Constant: 0:132 1 (const int) -0:134 direct index (temp mediump int) -0:134 'arr2' (temp 3-element array of mediump int) +0:134 direct index ( temp mediump int) +0:134 'arr2' ( temp 3-element array of mediump int) 0:134 Constant: 0:134 2 (const int) 0:? Linker Objects -0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:? 's' (global structure{global mediump int i}) -0:? 'a' (global 5-element array of mediump float) +0:? 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:? 's' ( global structure{ global mediump int i}) +0:? 'a' ( global 5-element array of mediump float) Linked fragment stage: @@ -242,27 +242,27 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:? Sequence -0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:31 's' (global structure{global mediump int i}) -0:32 'i' (temp mediump int) -0:33 'u' (temp mediump uint) -0:34 'u' (temp mediump uint) -0:35 'iv3' (temp mediump 3-component vector of int) -0:36 'iv4' (temp mediump 4-component vector of int) -0:37 'i' (temp mediump int) -0:38 'iv3' (temp mediump 3-component vector of int) -0:39 'a' (global 5-element array of mediump float) -0:40 'b' (temp bool) -0:42 'f' (temp mediump float) -0:43 'i' (temp mediump int) -0:44 'f' (temp mediump float) -0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:46 's' (global structure{global mediump int i}) -0:47 'a' (global 5-element array of mediump float) -0:48 'b3' (temp 3-component vector of bool) +0:30 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:31 's' ( global structure{ global mediump int i}) +0:32 'i' ( temp mediump int) +0:33 'u' ( temp mediump uint) +0:34 'u' ( temp mediump uint) +0:35 'iv3' ( temp mediump 3-component vector of int) +0:36 'iv4' ( temp mediump 4-component vector of int) +0:37 'i' ( temp mediump int) +0:38 'iv3' ( temp mediump 3-component vector of int) +0:39 'a' ( global 5-element array of mediump float) +0:40 'b' ( temp bool) +0:42 'f' ( temp mediump float) +0:43 'i' ( temp mediump int) +0:44 'f' ( temp mediump float) +0:45 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:46 's' ( global structure{ global mediump int i}) +0:47 'a' ( global 5-element array of mediump float) +0:48 'b3' ( temp 3-component vector of bool) 0:50 Constant: 0:50 false (const bool) 0:51 Constant: @@ -287,134 +287,134 @@ ERROR: node is still EOpNull! 0:61 false (const bool) 0:62 Constant: 0:62 false (const bool) -0:64 'u' (temp mediump uint) -0:65 'i' (temp mediump int) -0:66 'm2' (temp mediump 2X2 matrix of float) -0:67 'v3' (temp mediump 3-component vector of float) -0:68 'a' (global 5-element array of mediump float) -0:70 'f' (temp mediump float) -0:71 'm4' (temp mediump 4X4 matrix of float) -0:72 'v3' (temp mediump 3-component vector of float) -0:73 'a' (global 5-element array of mediump float) -0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:76 'i' (temp mediump int) -0:77 'u' (temp mediump uint) -0:78 'i' (temp mediump int) -0:79 'f' (temp mediump float) -0:80 'm4' (temp mediump 4X4 matrix of float) -0:81 'a' (global 5-element array of mediump float) -0:82 'iv3' (temp mediump 3-component vector of int) -0:84 'i' (temp mediump int) -0:85 'u' (temp mediump uint) -0:86 'i' (temp mediump int) -0:87 'u' (temp mediump uint) -0:88 'm2' (temp mediump 2X2 matrix of float) -0:89 's' (global structure{global mediump int i}) -0:90 move second child to first child (temp mediump float) -0:90 move second child to first child (temp mediump float) -0:90 'f' (temp mediump float) -0:90 'f' (temp mediump float) -0:90 'f' (temp mediump float) -0:93 vector-scale (temp mediump 4-component vector of float) -0:93 'f' (temp mediump float) -0:93 'v4' (temp mediump 4-component vector of float) -0:94 add (temp mediump uint) -0:94 'u' (temp mediump uint) -0:94 'u' (temp mediump uint) -0:95 divide (temp mediump 4-component vector of uint) -0:95 'uv4' (temp mediump 4-component vector of uint) -0:95 'u' (temp mediump uint) -0:96 subtract second child into first child (temp mediump 3-component vector of int) -0:96 'iv3' (temp mediump 3-component vector of int) -0:96 'iv3' (temp mediump 3-component vector of int) -0:98 mod second child into first child (temp mediump int) -0:98 'i' (temp mediump int) +0:64 'u' ( temp mediump uint) +0:65 'i' ( temp mediump int) +0:66 'm2' ( temp mediump 2X2 matrix of float) +0:67 'v3' ( temp mediump 3-component vector of float) +0:68 'a' ( global 5-element array of mediump float) +0:70 'f' ( temp mediump float) +0:71 'm4' ( temp mediump 4X4 matrix of float) +0:72 'v3' ( temp mediump 3-component vector of float) +0:73 'a' ( global 5-element array of mediump float) +0:74 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:76 'i' ( temp mediump int) +0:77 'u' ( temp mediump uint) +0:78 'i' ( temp mediump int) +0:79 'f' ( temp mediump float) +0:80 'm4' ( temp mediump 4X4 matrix of float) +0:81 'a' ( global 5-element array of mediump float) +0:82 'iv3' ( temp mediump 3-component vector of int) +0:84 'i' ( temp mediump int) +0:85 'u' ( temp mediump uint) +0:86 'i' ( temp mediump int) +0:87 'u' ( temp mediump uint) +0:88 'm2' ( temp mediump 2X2 matrix of float) +0:89 's' ( global structure{ global mediump int i}) +0:90 move second child to first child ( temp mediump float) +0:90 move second child to first child ( temp mediump float) +0:90 'f' ( temp mediump float) +0:90 'f' ( temp mediump float) +0:90 'f' ( temp mediump float) +0:93 vector-scale ( temp mediump 4-component vector of float) +0:93 'f' ( temp mediump float) +0:93 'v4' ( temp mediump 4-component vector of float) +0:94 add ( temp mediump uint) +0:94 'u' ( temp mediump uint) +0:94 'u' ( temp mediump uint) +0:95 divide ( temp mediump 4-component vector of uint) +0:95 'uv4' ( temp mediump 4-component vector of uint) +0:95 'u' ( temp mediump uint) +0:96 subtract second child into first child ( temp mediump 3-component vector of int) +0:96 'iv3' ( temp mediump 3-component vector of int) +0:96 'iv3' ( temp mediump 3-component vector of int) +0:98 mod second child into first child ( temp mediump int) +0:98 'i' ( temp mediump int) 0:98 Constant: 0:98 3 (const int) -0:99 mod (temp mediump 3-component vector of uint) -0:99 'uv3' (temp mediump 3-component vector of uint) +0:99 mod ( temp mediump 3-component vector of uint) +0:99 'uv3' ( temp mediump 3-component vector of uint) 0:99 Constant: 0:99 4 (const uint) -0:100 Pre-Decrement (temp mediump 2X2 matrix of float) -0:100 'm2' (temp mediump 2X2 matrix of float) -0:101 Post-Increment (temp mediump 4-component vector of int) -0:101 'iv4' (temp mediump 4-component vector of int) -0:103 Compare Not Equal (temp bool) -0:103 'm4' (temp mediump 4X4 matrix of float) -0:103 'm4' (temp mediump 4X4 matrix of float) -0:104 Compare Equal (temp bool) -0:104 'm2' (temp mediump 2X2 matrix of float) -0:104 'm2' (temp mediump 2X2 matrix of float) -0:105 Compare Less Than or Equal (temp bool) -0:105 'i' (temp mediump int) -0:105 'i' (temp mediump int) -0:106 Compare Equal (temp bool) -0:106 'a' (global 5-element array of mediump float) -0:106 'a' (global 5-element array of mediump float) -0:107 Compare Not Equal (temp bool) -0:107 's' (global structure{global mediump int i}) -0:107 's' (global structure{global mediump int i}) -0:109 logical-and (temp bool) -0:109 'b' (temp bool) -0:109 'b' (temp bool) -0:110 logical-or (temp bool) -0:110 'b' (temp bool) -0:110 'b' (temp bool) -0:111 logical-xor (temp bool) -0:111 'b' (temp bool) -0:111 'b' (temp bool) -0:113 Comma (temp mediump 3-component vector of uint) -0:113 Negate conditional (temp bool) -0:113 'b' (temp bool) -0:113 'uv3' (temp mediump 3-component vector of uint) -0:115 Bitwise not (temp mediump int) -0:115 'i' (temp mediump int) -0:116 Bitwise not (temp mediump uint) -0:116 'u' (temp mediump uint) -0:117 Bitwise not (temp mediump 3-component vector of uint) -0:117 'uv3' (temp mediump 3-component vector of uint) -0:118 Bitwise not (temp mediump 3-component vector of int) -0:118 'iv3' (temp mediump 3-component vector of int) -0:120 left shift second child into first child (temp mediump 3-component vector of uint) -0:120 'uv3' (temp mediump 3-component vector of uint) -0:120 'i' (temp mediump int) -0:121 right-shift (temp mediump int) -0:121 'i' (temp mediump int) -0:121 'i' (temp mediump int) -0:122 left-shift (temp mediump uint) -0:122 'u' (temp mediump uint) -0:122 'u' (temp mediump uint) -0:123 right-shift (temp mediump 3-component vector of int) -0:123 'iv3' (temp mediump 3-component vector of int) -0:123 'iv3' (temp mediump 3-component vector of int) -0:125 bitwise and (temp mediump int) -0:125 'i' (temp mediump int) -0:125 'i' (temp mediump int) -0:126 inclusive-or (temp mediump uint) -0:126 'u' (temp mediump uint) -0:126 'u' (temp mediump uint) -0:127 exclusive-or (temp mediump 3-component vector of int) -0:127 'iv3' (temp mediump 3-component vector of int) -0:127 'iv3' (temp mediump 3-component vector of int) -0:128 bitwise and (temp mediump 3-component vector of uint) -0:128 'u' (temp mediump uint) -0:128 'uv3' (temp mediump 3-component vector of uint) -0:129 inclusive-or (temp mediump 3-component vector of uint) -0:129 'uv3' (temp mediump 3-component vector of uint) -0:129 'u' (temp mediump uint) -0:130 and second child into first child (temp mediump 3-component vector of uint) -0:130 'uv3' (temp mediump 3-component vector of uint) -0:130 'u' (temp mediump uint) -0:132 direct index (temp mediump int) -0:132 'arr' (temp 2-element array of mediump int) +0:100 Pre-Decrement ( temp mediump 2X2 matrix of float) +0:100 'm2' ( temp mediump 2X2 matrix of float) +0:101 Post-Increment ( temp mediump 4-component vector of int) +0:101 'iv4' ( temp mediump 4-component vector of int) +0:103 Compare Not Equal ( temp bool) +0:103 'm4' ( temp mediump 4X4 matrix of float) +0:103 'm4' ( temp mediump 4X4 matrix of float) +0:104 Compare Equal ( temp bool) +0:104 'm2' ( temp mediump 2X2 matrix of float) +0:104 'm2' ( temp mediump 2X2 matrix of float) +0:105 Compare Less Than or Equal ( temp bool) +0:105 'i' ( temp mediump int) +0:105 'i' ( temp mediump int) +0:106 Compare Equal ( temp bool) +0:106 'a' ( global 5-element array of mediump float) +0:106 'a' ( global 5-element array of mediump float) +0:107 Compare Not Equal ( temp bool) +0:107 's' ( global structure{ global mediump int i}) +0:107 's' ( global structure{ global mediump int i}) +0:109 logical-and ( temp bool) +0:109 'b' ( temp bool) +0:109 'b' ( temp bool) +0:110 logical-or ( temp bool) +0:110 'b' ( temp bool) +0:110 'b' ( temp bool) +0:111 logical-xor ( temp bool) +0:111 'b' ( temp bool) +0:111 'b' ( temp bool) +0:113 Comma ( temp mediump 3-component vector of uint) +0:113 Negate conditional ( temp bool) +0:113 'b' ( temp bool) +0:113 'uv3' ( temp mediump 3-component vector of uint) +0:115 Bitwise not ( temp mediump int) +0:115 'i' ( temp mediump int) +0:116 Bitwise not ( temp mediump uint) +0:116 'u' ( temp mediump uint) +0:117 Bitwise not ( temp mediump 3-component vector of uint) +0:117 'uv3' ( temp mediump 3-component vector of uint) +0:118 Bitwise not ( temp mediump 3-component vector of int) +0:118 'iv3' ( temp mediump 3-component vector of int) +0:120 left shift second child into first child ( temp mediump 3-component vector of uint) +0:120 'uv3' ( temp mediump 3-component vector of uint) +0:120 'i' ( temp mediump int) +0:121 right-shift ( temp mediump int) +0:121 'i' ( temp mediump int) +0:121 'i' ( temp mediump int) +0:122 left-shift ( temp mediump uint) +0:122 'u' ( temp mediump uint) +0:122 'u' ( temp mediump uint) +0:123 right-shift ( temp mediump 3-component vector of int) +0:123 'iv3' ( temp mediump 3-component vector of int) +0:123 'iv3' ( temp mediump 3-component vector of int) +0:125 bitwise and ( temp mediump int) +0:125 'i' ( temp mediump int) +0:125 'i' ( temp mediump int) +0:126 inclusive-or ( temp mediump uint) +0:126 'u' ( temp mediump uint) +0:126 'u' ( temp mediump uint) +0:127 exclusive-or ( temp mediump 3-component vector of int) +0:127 'iv3' ( temp mediump 3-component vector of int) +0:127 'iv3' ( temp mediump 3-component vector of int) +0:128 bitwise and ( temp mediump 3-component vector of uint) +0:128 'u' ( temp mediump uint) +0:128 'uv3' ( temp mediump 3-component vector of uint) +0:129 inclusive-or ( temp mediump 3-component vector of uint) +0:129 'uv3' ( temp mediump 3-component vector of uint) +0:129 'u' ( temp mediump uint) +0:130 and second child into first child ( temp mediump 3-component vector of uint) +0:130 'uv3' ( temp mediump 3-component vector of uint) +0:130 'u' ( temp mediump uint) +0:132 direct index ( temp mediump int) +0:132 'arr' ( temp 2-element array of mediump int) 0:132 Constant: 0:132 1 (const int) -0:134 direct index (temp mediump int) -0:134 'arr2' (temp 3-element array of mediump int) +0:134 direct index ( temp mediump int) +0:134 'arr2' ( temp 3-element array of mediump int) 0:134 Constant: 0:134 2 (const int) 0:? Linker Objects -0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) -0:? 's' (global structure{global mediump int i}) -0:? 'a' (global 5-element array of mediump float) +0:? 'instanceName' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump float f}) +0:? 's' ( global structure{ global mediump int i}) +0:? 'a' ( global 5-element array of mediump float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300scope.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300scope.vert.out index e340cf6aab5..5a12020ef4e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300scope.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/300scope.vert.out @@ -25,108 +25,108 @@ ERROR: 21 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global highp int) +0:3 Function Definition: f(i1;i1;i1; ( global highp int) 0:3 Function Parameters: -0:3 'a' (in highp int) -0:3 'b' (in highp int) -0:3 'c' (in highp int) +0:3 'a' ( in highp int) +0:3 'b' ( in highp int) +0:3 'c' ( in highp int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp highp float) -0:8 'a' (temp highp float) -0:8 add (temp highp float) -0:8 Convert int to float (temp highp float) -0:8 'a' (in highp int) +0:8 move second child to first child ( temp highp float) +0:8 'a' ( temp highp float) +0:8 add ( temp highp float) +0:8 Convert int to float ( temp highp float) +0:8 'a' ( in highp int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in highp int) -0:25 Function Definition: cos(f1; (global highp float) +0:11 'a' ( in highp int) +0:25 Function Definition: cos(f1; ( global highp float) 0:25 Function Parameters: -0:25 'x' (in highp float) +0:25 'x' ( in highp float) 0:27 Sequence 0:27 Branch: Return -0:29 Function Definition: radians(b1; (global bool) +0:29 Function Definition: radians(b1; ( global bool) 0:29 Function Parameters: -0:29 'x' (in bool) +0:29 'x' ( in bool) 0:31 Sequence 0:31 Branch: Return -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp highp int) -0:42 'sin' (temp highp float) +0:39 Function Call: g( ( temp highp int) +0:42 'sin' ( temp highp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global highp int) +0:44 Function Call: f(i1;i1;i1; ( global highp int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp highp float) -0:47 'f' (temp highp float) +0:47 move second child to first child ( temp highp float) +0:47 'f' ( temp highp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position) -0:49 Construct vec4 (temp highp 4-component vector of float) -0:49 'f' (temp highp float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( invariant gl_Position highp 4-component vector of float Position) +0:49 Construct vec4 ( temp highp 4-component vector of float) +0:49 'f' ( temp highp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp highp int) -0:51 'f' (temp highp int) +0:51 move second child to first child ( temp highp int) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp highp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp highp int) -0:52 'f' (temp highp int) +0:52 Pre-Increment ( temp highp int) +0:52 'f' ( temp highp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp highp int) -0:51 'f' (temp highp int) +0:51 Pre-Increment ( temp highp int) +0:51 'f' ( temp highp int) 0:54 Sequence -0:54 move second child to first child (temp highp int) -0:54 'x' (temp highp int) +0:54 move second child to first child ( temp highp int) +0:54 'x' ( temp highp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'x' ( temp highp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp highp float) -0:56 'y' (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'y' ( temp highp float) +0:56 'x' ( temp highp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp highp int) -0:60 'x' (temp highp int) -0:60 'x' (temp highp int) +0:60 move second child to first child ( temp highp int) +0:60 'x' ( temp highp int) +0:60 'x' ( temp highp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp highp int x}) -0:68 'S' (temp structure{temp highp int x}) +0:68 move second child to first child ( temp structure{ temp highp int x}) +0:68 'S' ( temp structure{ temp highp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp highp int) -0:69 'S' (temp structure{temp highp int x}) +0:69 x: direct index for structure ( temp highp int) +0:69 'S' ( temp structure{ temp highp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'b' ( global bool) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -136,96 +136,96 @@ ERROR: Linking vertex stage: No function definition (body) found: Shader version: 300 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global highp int) +0:3 Function Definition: f(i1;i1;i1; ( global highp int) 0:3 Function Parameters: -0:3 'a' (in highp int) -0:3 'b' (in highp int) -0:3 'c' (in highp int) +0:3 'a' ( in highp int) +0:3 'b' ( in highp int) +0:3 'c' ( in highp int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp highp float) -0:8 'a' (temp highp float) -0:8 add (temp highp float) -0:8 Convert int to float (temp highp float) -0:8 'a' (in highp int) +0:8 move second child to first child ( temp highp float) +0:8 'a' ( temp highp float) +0:8 add ( temp highp float) +0:8 Convert int to float ( temp highp float) +0:8 'a' ( in highp int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in highp int) -0:36 Function Definition: main( (global void) +0:11 'a' ( in highp int) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp highp int) -0:42 'sin' (temp highp float) +0:39 Function Call: g( ( temp highp int) +0:42 'sin' ( temp highp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global highp int) +0:44 Function Call: f(i1;i1;i1; ( global highp int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp highp float) -0:47 'f' (temp highp float) +0:47 move second child to first child ( temp highp float) +0:47 'f' ( temp highp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position) -0:49 Construct vec4 (temp highp 4-component vector of float) -0:49 'f' (temp highp float) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 'gl_Position' ( invariant gl_Position highp 4-component vector of float Position) +0:49 Construct vec4 ( temp highp 4-component vector of float) +0:49 'f' ( temp highp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp highp int) -0:51 'f' (temp highp int) +0:51 move second child to first child ( temp highp int) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp highp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp highp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp highp int) -0:52 'f' (temp highp int) +0:52 Pre-Increment ( temp highp int) +0:52 'f' ( temp highp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp highp int) -0:51 'f' (temp highp int) +0:51 Pre-Increment ( temp highp int) +0:51 'f' ( temp highp int) 0:54 Sequence -0:54 move second child to first child (temp highp int) -0:54 'x' (temp highp int) +0:54 move second child to first child ( temp highp int) +0:54 'x' ( temp highp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'x' ( temp highp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp highp float) -0:56 'y' (temp highp float) -0:56 'x' (temp highp float) +0:56 move second child to first child ( temp highp float) +0:56 'y' ( temp highp float) +0:56 'x' ( temp highp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp highp int) -0:60 'x' (temp highp int) -0:60 'x' (temp highp int) +0:60 move second child to first child ( temp highp int) +0:60 'x' ( temp highp int) +0:60 'x' ( temp highp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp highp int x}) -0:68 'S' (temp structure{temp highp int x}) +0:68 move second child to first child ( temp structure{ temp highp int x}) +0:68 'S' ( temp structure{ temp highp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp highp int) -0:69 'S' (temp structure{temp highp int x}) +0:69 x: direct index for structure ( temp highp int) +0:69 'S' ( temp structure{ temp highp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'b' ( global bool) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.comp.out index a5be10e13eb..3246622de19 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.comp.out @@ -16,7 +16,7 @@ ERROR: 0:47: 'local_size' : can only apply to 'in' ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer) ERROR: 0:66: 'buffer' : buffers can be declared only as blocks ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:76: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:81: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:82: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic @@ -54,12 +54,12 @@ ERROR: 0:171: 'samplerCubeArray' : Reserved word. ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:172: 'iimage2DRect' : Reserved word. ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:172: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:172: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:173: 'image2DMS' : Reserved word. -ERROR: 0:173: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:173: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:174: 'uimage2DMSArray' : Reserved word. ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:174: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:174: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier @@ -81,522 +81,537 @@ ERROR: 0:227: 'input block' : not supported in this stage: compute ERROR: 0:231: 'output block' : not supported in this stage: compute WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D -ERROR: 79 compilation errors. No code generated. +ERROR: 0:244: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier +ERROR: 0:255: 'gl_ViewIndex' : undeclared identifier +ERROR: 82 compilation errors. No code generated. Shader version: 310 +Requested GL_EXT_device_group local_size = (2, 1, 4096) ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence -0:29 Barrier (global void) -0:30 MemoryBarrier (global void) -0:31 MemoryBarrierAtomicCounter (global void) -0:32 MemoryBarrierBuffer (global void) -0:33 MemoryBarrierShared (global void) -0:34 MemoryBarrierImage (global void) -0:35 GroupMemoryBarrier (global void) -0:36 move second child to first child (temp highp int) -0:36 value: direct index for structure (layout(column_major shared ) buffer highp int) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:29 Barrier ( global void) +0:30 MemoryBarrier ( global void) +0:31 MemoryBarrierAtomicCounter ( global void) +0:32 MemoryBarrierBuffer ( global void) +0:33 MemoryBarrierShared ( global void) +0:34 MemoryBarrierImage ( global void) +0:35 GroupMemoryBarrier ( global void) +0:36 move second child to first child ( temp highp int) +0:36 value: direct index for structure (layout( column_major shared) buffer highp int) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:36 Constant: 0:36 0 (const uint) -0:36 Convert float to int (temp highp int) -0:36 indirect index (layout(column_major shared ) temp highp float) -0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:36 Convert float to int ( temp highp int) +0:36 indirect index (layout( column_major shared) temp highp float) +0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:36 Constant: 0:36 1 (const uint) -0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex) -0:59 Function Definition: foo( (global void) +0:36 'gl_LocalInvocationIndex' ( in highp uint LocalInvocationIndex) +0:59 Function Definition: foo( ( global void) 0:59 Function Parameters: 0:61 Sequence -0:61 move second child to first child (temp highp float) -0:61 direct index (layout(column_major shared ) temp highp float) -0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:61 move second child to first child ( temp highp float) +0:61 direct index (layout( column_major shared) temp highp float) +0:61 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:61 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:61 Constant: 0:61 1 (const int) 0:61 Constant: 0:61 2 (const int) 0:61 Constant: 0:61 4.700000 -0:62 array length (temp int) -0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:62 array length ( temp int) +0:62 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:62 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:62 Constant: 0:62 1 (const int) -0:63 Pre-Increment (temp highp 4-component vector of float) -0:63 's' (shared highp 4-component vector of float) -0:84 Function Definition: qux( (global void) +0:63 Pre-Increment ( temp highp 4-component vector of float) +0:63 's' ( shared highp 4-component vector of float) +0:84 Function Definition: qux( ( global void) 0:84 Function Parameters: 0:86 Sequence 0:86 Sequence -0:86 move second child to first child (temp highp int) -0:86 'i' (temp highp int) +0:86 move second child to first child ( temp highp int) +0:86 'i' ( temp highp int) 0:86 Constant: 0:86 4 (const int) -0:87 imageAtomicCompSwap (global highp int) -0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D) -0:87 Construct ivec2 (temp highp 2-component vector of int) -0:87 'i' (temp highp int) -0:87 'i' (temp highp int) -0:87 'i' (temp highp int) -0:87 'i' (temp highp int) -0:88 imageAtomicAdd (global highp uint) -0:88 'uimg2D' (layout(r32ui ) uniform mediump uimage2D) -0:88 Construct ivec2 (temp highp 2-component vector of int) -0:88 'i' (temp highp int) -0:88 'i' (temp highp int) -0:88 Convert int to uint (temp highp uint) -0:88 'i' (temp highp int) -0:89 imageAtomicMin (global highp int) -0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D) -0:89 Construct ivec2 (temp highp 2-component vector of int) -0:89 'i' (temp highp int) -0:89 'i' (temp highp int) -0:89 'i' (temp highp int) +0:87 imageAtomicCompSwap ( global highp int) +0:87 'iimg2D' (layout( r32i) uniform highp iimage2D) +0:87 Construct ivec2 ( temp highp 2-component vector of int) +0:87 'i' ( temp highp int) +0:87 'i' ( temp highp int) +0:87 'i' ( temp highp int) +0:87 'i' ( temp highp int) +0:88 imageAtomicAdd ( global highp uint) +0:88 'uimg2D' (layout( r32ui) uniform mediump uimage2D) +0:88 Construct ivec2 ( temp highp 2-component vector of int) +0:88 'i' ( temp highp int) +0:88 'i' ( temp highp int) +0:88 Convert int to uint ( temp highp uint) +0:88 'i' ( temp highp int) +0:89 imageAtomicMin ( global highp int) +0:89 'iimg2Drgba' (layout( rgba32i) readonly uniform highp iimage2D) +0:89 Construct ivec2 ( temp highp 2-component vector of int) +0:89 'i' ( temp highp int) +0:89 'i' ( temp highp int) +0:89 'i' ( temp highp int) 0:90 Constant: 0:90 0.000000 0:91 Sequence -0:91 move second child to first child (temp highp 4-component vector of int) -0:91 'pos' (temp highp 4-component vector of int) -0:91 imageLoad (global highp 4-component vector of int) -0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D) -0:91 Construct ivec2 (temp highp 2-component vector of int) -0:91 'i' (temp highp int) -0:91 'i' (temp highp int) -0:92 imageStore (global highp void) -0:92 'ii2da' (writeonly uniform highp iimage2DArray) -0:92 Construct ivec3 (temp 3-component vector of int) -0:92 'i' (temp highp int) -0:92 'i' (temp highp int) -0:92 'i' (temp highp int) +0:91 move second child to first child ( temp highp 4-component vector of int) +0:91 'pos' ( temp highp 4-component vector of int) +0:91 imageLoad ( global highp 4-component vector of int) +0:91 'iimg2D' (layout( r32i) uniform highp iimage2D) +0:91 Construct ivec2 ( temp highp 2-component vector of int) +0:91 'i' ( temp highp int) +0:91 'i' ( temp highp int) +0:92 imageStore ( global highp void) +0:92 'ii2da' ( writeonly uniform highp iimage2DArray) +0:92 Construct ivec3 ( temp 3-component vector of int) +0:92 'i' ( temp highp int) +0:92 'i' ( temp highp int) +0:92 'i' ( temp highp int) 0:92 Constant: 0:92 0 (const int) 0:92 0 (const int) 0:92 0 (const int) 0:92 0 (const int) -0:93 imageLoad (global mediump 4-component vector of float) -0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D) -0:93 Construct ivec2 (temp mediump 2-component vector of int) -0:93 'i' (temp highp int) -0:93 'i' (temp highp int) -0:94 imageLoad (global highp 4-component vector of int) -0:94 'ii2da' (writeonly uniform highp iimage2DArray) -0:94 Construct ivec3 (temp highp 3-component vector of int) -0:94 'i' (temp highp int) -0:94 'i' (temp highp int) -0:94 'i' (temp highp int) -0:100 Function Definition: passr(iI21; (global void) +0:93 imageLoad ( global mediump 4-component vector of float) +0:93 'img2Drgba' (layout( rgba32f) readonly uniform mediump image2D) +0:93 Construct ivec2 ( temp mediump 2-component vector of int) +0:93 'i' ( temp highp int) +0:93 'i' ( temp highp int) +0:94 imageLoad ( global highp 4-component vector of int) +0:94 'ii2da' ( writeonly uniform highp iimage2DArray) +0:94 Construct ivec3 ( temp highp 3-component vector of int) +0:94 'i' ( temp highp int) +0:94 'i' ( temp highp int) +0:94 'i' ( temp highp int) +0:100 Function Definition: passr(iI21; ( global void) 0:100 Function Parameters: -0:100 'image' (coherent readonly in highp iimage2D) -0:107 Function Definition: passrc( (global void) +0:100 'image' ( coherent readonly in highp iimage2D) +0:107 Function Definition: passrc( ( global void) 0:107 Function Parameters: 0:109 Sequence -0:109 Function Call: passr(iI21; (global void) -0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D) -0:110 Function Call: passr(iI21; (global void) -0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D) -0:111 Function Call: passr(iI21; (global void) -0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D) -0:123 Function Definition: func(au1; (global highp uint) +0:109 Function Call: passr(iI21; ( global void) +0:109 'qualim1' (layout( r32i) coherent readonly uniform highp iimage2D) +0:110 Function Call: passr(iI21; ( global void) +0:110 'qualim2' (layout( r32i) coherent restrict readonly uniform highp iimage2D) +0:111 Function Call: passr(iI21; ( global void) +0:111 'iimg2D' (layout( r32i) uniform highp iimage2D) +0:123 Function Definition: func(au1; ( global highp uint) 0:123 Function Parameters: -0:123 'c' (in highp atomic_uint) +0:123 'c' ( in highp atomic_uint) 0:125 Sequence 0:125 Branch: Return with expression -0:125 AtomicCounterIncrement (global highp uint) -0:125 'c' (in highp atomic_uint) -0:128 Function Definition: func2(au1; (global highp uint) +0:125 AtomicCounterIncrement ( global highp uint) +0:125 'c' ( in highp atomic_uint) +0:128 Function Definition: func2(au1; ( global highp uint) 0:128 Function Parameters: -0:128 'c' (out highp atomic_uint) +0:128 'c' ( out highp atomic_uint) 0:130 Sequence 0:130 Branch: Return with expression -0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) +0:130 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) 0:131 Branch: Return with expression -0:131 AtomicCounter (global highp uint) -0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:134 Function Definition: mainAC( (global void) +0:131 AtomicCounter ( global highp uint) +0:131 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:134 Function Definition: mainAC( ( global void) 0:134 Function Parameters: 0:? Sequence 0:137 Sequence -0:137 move second child to first child (temp highp uint) -0:137 'val' (temp highp uint) -0:137 AtomicCounter (global highp uint) -0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:138 AtomicCounterDecrement (global highp uint) -0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:146 Function Definition: opac( (global void) +0:137 move second child to first child ( temp highp uint) +0:137 'val' ( temp highp uint) +0:137 AtomicCounter ( global highp uint) +0:137 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:138 AtomicCounterDecrement ( global highp uint) +0:138 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:146 Function Definition: opac( ( global void) 0:146 Function Parameters: 0:? Sequence -0:149 indirect index (temp highp int) -0:149 'a' (temp 3-element array of highp int) -0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint) -0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint) +0:149 indirect index ( temp highp int) +0:149 'a' ( temp 3-element array of highp int) +0:149 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:150 direct index (layout( binding=2 offset=4) temp highp atomic_uint) +0:150 'countArr' (layout( binding=2 offset=4) uniform 4-element array of highp atomic_uint) 0:150 Constant: 0:150 2 (const int) -0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint) -0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint) -0:151 'i' (uniform highp int) -0:157 Function Definition: atoms( (global void) +0:151 indirect index (layout( binding=2 offset=4) temp highp atomic_uint) +0:151 'countArr' (layout( binding=2 offset=4) uniform 4-element array of highp atomic_uint) +0:151 'i' ( uniform highp int) +0:157 Function Definition: atoms( ( global void) 0:157 Function Parameters: 0:159 Sequence 0:159 Sequence -0:159 move second child to first child (temp highp int) -0:159 'origi' (temp highp int) -0:159 AtomicAdd (global highp int) -0:159 'atomi' (shared highp int) +0:159 move second child to first child ( temp highp int) +0:159 'origi' ( temp highp int) +0:159 AtomicAdd ( global highp int) +0:159 'atomi' ( shared highp int) 0:159 Constant: 0:159 3 (const int) 0:160 Sequence -0:160 move second child to first child (temp highp uint) -0:160 'origu' (temp highp uint) -0:160 AtomicAnd (global highp uint) -0:160 'atomu' (shared highp uint) +0:160 move second child to first child ( temp highp uint) +0:160 'origu' ( temp highp uint) +0:160 AtomicAnd ( global highp uint) +0:160 'atomu' ( shared highp uint) 0:160 Constant: 0:160 7 (const uint) -0:161 move second child to first child (temp highp int) -0:161 'origi' (temp highp int) -0:161 AtomicExchange (global highp int) -0:161 'atomi' (shared highp int) +0:161 move second child to first child ( temp highp int) +0:161 'origi' ( temp highp int) +0:161 AtomicExchange ( global highp int) +0:161 'atomi' ( shared highp int) 0:161 Constant: 0:161 4 (const int) -0:162 move second child to first child (temp highp uint) -0:162 'origu' (temp highp uint) -0:162 AtomicCompSwap (global highp uint) -0:162 'atomu' (shared highp uint) +0:162 move second child to first child ( temp highp uint) +0:162 'origu' ( temp highp uint) +0:162 AtomicCompSwap ( global highp uint) +0:162 'atomu' ( shared highp uint) 0:162 Constant: 0:162 10 (const uint) 0:162 Constant: 0:162 8 (const uint) -0:191 Function Definition: foowo( (global void) +0:191 Function Definition: foowo( ( global void) 0:191 Function Parameters: 0:? Sequence -0:194 move second child to first child (temp highp float) -0:194 'g' (temp highp float) -0:194 direct index (layout(column_major shared ) temp highp float) -0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:194 move second child to first child ( temp highp float) +0:194 'g' ( temp highp float) +0:194 direct index (layout( column_major shared) temp highp float) +0:194 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:194 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:194 Constant: 0:194 1 (const int) 0:194 Constant: 0:194 2 (const int) 0:195 Sequence -0:195 move second child to first child (temp highp float) -0:195 'f' (temp highp float) -0:195 direct index (layout(column_major shared ) temp highp float) -0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:195 move second child to first child ( temp highp float) +0:195 'f' ( temp highp float) +0:195 direct index (layout( column_major shared) temp highp float) +0:195 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:195 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:195 Constant: 0:195 1 (const int) 0:195 Constant: 0:195 2 (const int) -0:196 Pre-Increment (temp highp float) -0:196 direct index (layout(column_major shared ) temp highp float) -0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:196 Pre-Increment ( temp highp float) +0:196 direct index (layout( column_major shared) temp highp float) +0:196 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:196 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:196 Constant: 0:196 1 (const int) 0:196 Constant: 0:196 2 (const int) -0:197 Post-Decrement (temp highp float) -0:197 direct index (layout(column_major shared ) temp highp float) -0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:197 Post-Decrement ( temp highp float) +0:197 direct index (layout( column_major shared) temp highp float) +0:197 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:197 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:197 Constant: 0:197 1 (const int) 0:197 Constant: 0:197 2 (const int) -0:198 add (temp highp float) -0:198 'f' (temp highp float) -0:198 direct index (layout(column_major shared ) temp highp float) -0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:198 add ( temp highp float) +0:198 'f' ( temp highp float) +0:198 direct index (layout( column_major shared) temp highp float) +0:198 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:198 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:198 Constant: 0:198 1 (const int) 0:198 Constant: 0:198 2 (const int) -0:199 subtract (temp highp float) -0:199 direct index (layout(column_major shared ) temp highp float) -0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:199 subtract ( temp highp float) +0:199 direct index (layout( column_major shared) temp highp float) +0:199 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:199 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:199 Constant: 0:199 1 (const int) 0:199 Constant: 0:199 2 (const int) -0:199 'f' (temp highp float) -0:201 Test condition and select (temp highp float) +0:199 'f' ( temp highp float) +0:201 Test condition and select ( temp highp float) 0:201 Condition -0:201 'b' (temp bool) +0:201 'b' ( temp bool) 0:201 true case -0:201 'f' (temp highp float) +0:201 'f' ( temp highp float) 0:201 false case -0:201 direct index (layout(column_major shared ) temp highp float) -0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:201 direct index (layout( column_major shared) temp highp float) +0:201 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:201 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:201 Constant: 0:201 1 (const int) 0:201 Constant: 0:201 2 (const int) -0:202 Test condition and select (temp highp float) +0:202 Test condition and select ( temp highp float) 0:202 Condition -0:202 'b' (temp bool) +0:202 'b' ( temp bool) 0:202 true case -0:202 direct index (layout(column_major shared ) temp highp float) -0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:202 direct index (layout( column_major shared) temp highp float) +0:202 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:202 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:202 Constant: 0:202 1 (const int) 0:202 Constant: 0:202 2 (const int) 0:202 false case -0:202 'f' (temp highp float) -0:203 Test condition and select (temp void) +0:202 'f' ( temp highp float) +0:203 Test condition and select ( temp void) 0:203 Condition -0:203 Compare Equal (temp bool) -0:203 'f' (temp highp float) -0:203 direct index (layout(column_major shared ) temp highp float) -0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:203 Compare Equal ( temp bool) +0:203 'f' ( temp highp float) +0:203 direct index (layout( column_major shared) temp highp float) +0:203 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:203 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:203 Constant: 0:203 1 (const int) 0:203 Constant: 0:203 2 (const int) 0:203 true case -0:204 Pre-Increment (temp highp float) -0:204 'f' (temp highp float) -0:205 Test condition and select (temp void) +0:204 Pre-Increment ( temp highp float) +0:204 'f' ( temp highp float) +0:205 Test condition and select ( temp void) 0:205 Condition -0:205 Compare Greater Than or Equal (temp bool) -0:205 'f' (temp highp float) -0:205 direct index (layout(column_major shared ) temp highp float) -0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:205 Compare Greater Than or Equal ( temp bool) +0:205 'f' ( temp highp float) +0:205 direct index (layout( column_major shared) temp highp float) +0:205 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:205 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:205 Constant: 0:205 1 (const int) 0:205 Constant: 0:205 2 (const int) 0:205 true case -0:206 Pre-Increment (temp highp float) -0:206 'f' (temp highp float) -0:207 move second child to first child (temp highp float) -0:207 'f' (temp highp float) -0:207 direct index (temp highp float) -0:207 Construct vec3 (temp highp 3-component vector of float) -0:207 direct index (layout(column_major shared ) temp highp float) -0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:206 Pre-Increment ( temp highp float) +0:206 'f' ( temp highp float) +0:207 move second child to first child ( temp highp float) +0:207 'f' ( temp highp float) +0:207 direct index ( temp highp float) +0:207 Construct vec3 ( temp highp 3-component vector of float) +0:207 direct index (layout( column_major shared) temp highp float) +0:207 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:207 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:207 Constant: 0:207 1 (const int) 0:207 Constant: 0:207 2 (const int) 0:207 Constant: 0:207 0 (const int) -0:208 Bitwise not (temp highp int) -0:208 value: direct index for structure (layout(column_major shared ) buffer highp int) -0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:208 Bitwise not ( temp highp int) +0:208 value: direct index for structure (layout( column_major shared) buffer highp int) +0:208 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:208 Constant: 0:208 0 (const int) -0:209 move second child to first child (temp highp float) -0:209 direct index (layout(column_major shared ) temp highp float) -0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:209 move second child to first child ( temp highp float) +0:209 direct index (layout( column_major shared) temp highp float) +0:209 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:209 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:209 Constant: 0:209 1 (const int) 0:209 Constant: 0:209 2 (const int) 0:209 Constant: 0:209 3.400000 -0:218 Function Definition: foomultio( (global void) +0:218 Function Definition: foomultio( ( global void) 0:218 Function Parameters: 0:? Sequence -0:221 move second child to first child (temp highp float) -0:221 'g' (temp highp float) -0:221 direct index (layout(column_major shared ) temp highp float) -0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:221 move second child to first child ( temp highp float) +0:221 'g' ( temp highp float) +0:221 direct index (layout( column_major shared) temp highp float) +0:221 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:221 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:221 Constant: 0:221 1 (const int) 0:221 Constant: 0:221 2 (const int) -0:222 Bitwise not (temp highp int) -0:222 value: direct index for structure (layout(column_major shared ) buffer highp int) -0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:222 Bitwise not ( temp highp int) +0:222 value: direct index for structure (layout( column_major shared) buffer highp int) +0:222 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:222 Constant: 0:222 0 (const int) -0:223 move second child to first child (temp highp float) -0:223 direct index (layout(column_major shared ) temp highp float) -0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:223 move second child to first child ( temp highp float) +0:223 direct index (layout( column_major shared) temp highp float) +0:223 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:223 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:223 Constant: 0:223 1 (const int) 0:223 Constant: 0:223 2 (const int) 0:223 Constant: 0:223 3.400000 -0:224 move second child to first child (temp highp int) -0:224 value: direct index for structure (layout(column_major shared ) buffer highp int) -0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:224 move second child to first child ( temp highp int) +0:224 value: direct index for structure (layout( column_major shared) buffer highp int) +0:224 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:224 Constant: 0:224 0 (const int) 0:224 Constant: 0:224 2 (const int) +0:242 Function Definition: devi( ( global void) +0:242 Function Parameters: +0:244 Sequence +0:244 'gl_DeviceIndex' ( in highp int DeviceIndex) +0:245 'gl_ViewIndex' ( temp float) +0:252 Function Definition: devie( ( global void) +0:252 Function Parameters: +0:254 Sequence +0:254 'gl_DeviceIndex' ( in highp int DeviceIndex) +0:255 'gl_ViewIndex' ( temp float) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 1 (const uint) 0:? 4096 (const uint) -0:? 'total' (const highp int) +0:? 'total' ( const highp int) 0:? 66592 (const int) -0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value}) -0:? 'v3' (layout(location=2 ) in highp 3-component vector of float) -0:? 'f' (in highp float) -0:? 'fo' (out highp float) -0:? 's' (shared highp 4-component vector of float) -0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float) -0:? 'fs' (shared highp float) -0:? 'arrX' (global 2-element array of highp int) -0:? 'arrY' (global 1-element array of highp int) -0:? 'arrZ' (global 4096-element array of highp int) -0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'v' (buffer highp 4-component vector of float) -0:? 'us2dbad' (uniform mediump usampler2D) -0:? 'us2d' (uniform highp usampler2D) -0:? 'ii2dabad' (uniform highp iimage2DArray) -0:? 'ii2da' (writeonly uniform highp iimage2DArray) -0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D) -0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D) -0:? 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D) -0:? 'uimg2D' (layout(r32ui ) uniform mediump uimage2D) -0:? 'vol' (volatile temp highp float) -0:? 'vol2' (readonly temp highp int) -0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D) -0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D) -0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D) -0:? 'i2bad' (layout(rgba32i ) readonly uniform highp image2D) -0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D) -0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D) -0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D) -0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D) -0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint) -0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint) -0:? 'i' (uniform highp int) -0:? 'atomi' (shared highp int) -0:? 'atomu' (shared highp uint) -0:? 'pfoo' (noContraction temp highp int) -0:? 'dm' (global 2X4 matrix of double) -0:? 'sca' (uniform mediump samplerCubeArray) -0:? 'i2dr' (uniform mediump iimage2DRect) -0:? 'i2dms' (uniform highp image2DMS) -0:? 'u2dmsa' (uniform mediump uimage2DMSArray) -0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform highp image2D) -0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D) -0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D) -0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform highp image2D) -0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform highp image2D) -0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D) -0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D) -0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values}) -0:? 'inbi' (in block{in highp int a}) -0:? 'outbi' (out block{out highp int a}) -0:? 't__' (global highp float) -0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float) +0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of highp float values, layout( column_major shared) buffer highp int value}) +0:? 'v3' (layout( location=2) in highp 3-component vector of float) +0:? 'f' ( in highp float) +0:? 'fo' ( out highp float) +0:? 's' ( shared highp 4-component vector of float) +0:? 'sl' (layout( location=2) shared highp 4-component vector of float) +0:? 'fs' ( shared highp float) +0:? 'arrX' ( global 2-element array of highp int) +0:? 'arrY' ( global 1-element array of highp int) +0:? 'arrZ' ( global 4096-element array of highp int) +0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'v' ( buffer highp 4-component vector of float) +0:? 'us2dbad' ( uniform mediump usampler2D) +0:? 'us2d' ( uniform highp usampler2D) +0:? 'ii2dabad' ( uniform highp iimage2DArray) +0:? 'ii2da' ( writeonly uniform highp iimage2DArray) +0:? 'iimg2D' (layout( r32i) uniform highp iimage2D) +0:? 'iimg2Drgba' (layout( rgba32i) readonly uniform highp iimage2D) +0:? 'img2Drgba' (layout( rgba32f) readonly uniform mediump image2D) +0:? 'uimg2D' (layout( r32ui) uniform mediump uimage2D) +0:? 'vol' ( volatile temp highp float) +0:? 'vol2' ( readonly temp highp int) +0:? 'qualim1' (layout( r32i) coherent readonly uniform highp iimage2D) +0:? 'qualim2' (layout( r32i) coherent restrict readonly uniform highp iimage2D) +0:? 'i1bad' (layout( rg8i) readonly uniform highp uimage2D) +0:? 'i2bad' (layout( rgba32i) readonly uniform highp image2D) +0:? 'i3bad' (layout( rgba32f) readonly uniform highp uimage2D) +0:? 'i4bad' (layout( r8_snorm) readonly uniform highp iimage2D) +0:? 'i5bad' (layout( rgba32ui) readonly uniform highp iimage2D) +0:? 'i6bad' (layout( r8ui) readonly uniform highp iimage2D) +0:? 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:? 'counterBad' (layout( binding=1) uniform mediump atomic_uint) +0:? 'countArr' (layout( binding=2 offset=4) uniform 4-element array of highp atomic_uint) +0:? 'i' ( uniform highp int) +0:? 'atomi' ( shared highp int) +0:? 'atomu' ( shared highp uint) +0:? 'pfoo' ( noContraction temp highp int) +0:? 'dm' ( global 2X4 matrix of double) +0:? 'sca' ( uniform mediump samplerCubeArray) +0:? 'i2dr' ( uniform mediump iimage2DRect) +0:? 'i2dms' ( uniform highp image2DMS) +0:? 'u2dmsa' ( uniform mediump uimage2DMSArray) +0:? 'okay1' (layout( r32f) coherent volatile restrict readonly writeonly uniform highp image2D) +0:? 'okay2' (layout( r32i) coherent volatile restrict readonly uniform highp iimage2D) +0:? 'okay3' (layout( r32ui) coherent volatile restrict writeonly uniform highp uimage2D) +0:? 'okay4' (layout( r32f) coherent volatile restrict uniform highp image2D) +0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D) +0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D) +0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D) +0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer implicitly-sized array of highp float values}) +0:? 'inbi' ( in block{ in highp int a}) +0:? 'outbi' ( out block{ out highp int a}) +0:? 't__' ( global highp float) +0:? 'arr' ( shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float) Linked compute stage: Shader version: 310 +Requested GL_EXT_device_group local_size = (2, 1, 4096) ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence -0:29 Barrier (global void) -0:30 MemoryBarrier (global void) -0:31 MemoryBarrierAtomicCounter (global void) -0:32 MemoryBarrierBuffer (global void) -0:33 MemoryBarrierShared (global void) -0:34 MemoryBarrierImage (global void) -0:35 GroupMemoryBarrier (global void) -0:36 move second child to first child (temp highp int) -0:36 value: direct index for structure (layout(column_major shared ) buffer highp int) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:29 Barrier ( global void) +0:30 MemoryBarrier ( global void) +0:31 MemoryBarrierAtomicCounter ( global void) +0:32 MemoryBarrierBuffer ( global void) +0:33 MemoryBarrierShared ( global void) +0:34 MemoryBarrierImage ( global void) +0:35 GroupMemoryBarrier ( global void) +0:36 move second child to first child ( temp highp int) +0:36 value: direct index for structure (layout( column_major shared) buffer highp int) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:36 Constant: 0:36 0 (const uint) -0:36 Convert float to int (temp highp int) -0:36 indirect index (layout(column_major shared ) temp highp float) -0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) +0:36 Convert float to int ( temp highp int) +0:36 indirect index (layout( column_major shared) temp highp float) +0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) 0:36 Constant: 0:36 1 (const uint) -0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex) +0:36 'gl_LocalInvocationIndex' ( in highp uint LocalInvocationIndex) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 1 (const uint) 0:? 4096 (const uint) -0:? 'total' (const highp int) +0:? 'total' ( const highp int) 0:? 66592 (const int) -0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value}) -0:? 'v3' (layout(location=2 ) in highp 3-component vector of float) -0:? 'f' (in highp float) -0:? 'fo' (out highp float) -0:? 's' (shared highp 4-component vector of float) -0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float) -0:? 'fs' (shared highp float) -0:? 'arrX' (global 2-element array of highp int) -0:? 'arrY' (global 1-element array of highp int) -0:? 'arrZ' (global 4096-element array of highp int) -0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'v' (buffer highp 4-component vector of float) -0:? 'us2dbad' (uniform mediump usampler2D) -0:? 'us2d' (uniform highp usampler2D) -0:? 'ii2dabad' (uniform highp iimage2DArray) -0:? 'ii2da' (writeonly uniform highp iimage2DArray) -0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D) -0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D) -0:? 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D) -0:? 'uimg2D' (layout(r32ui ) uniform mediump uimage2D) -0:? 'vol' (volatile temp highp float) -0:? 'vol2' (readonly temp highp int) -0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D) -0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D) -0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D) -0:? 'i2bad' (layout(rgba32i ) readonly uniform highp image2D) -0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D) -0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D) -0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D) -0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D) -0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint) -0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint) -0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint) -0:? 'i' (uniform highp int) -0:? 'atomi' (shared highp int) -0:? 'atomu' (shared highp uint) -0:? 'pfoo' (noContraction temp highp int) -0:? 'dm' (global 2X4 matrix of double) -0:? 'sca' (uniform mediump samplerCubeArray) -0:? 'i2dr' (uniform mediump iimage2DRect) -0:? 'i2dms' (uniform highp image2DMS) -0:? 'u2dmsa' (uniform mediump uimage2DMSArray) -0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform highp image2D) -0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D) -0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D) -0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform highp image2D) -0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform highp image2D) -0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D) -0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D) -0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values}) -0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values}) -0:? 'inbi' (in block{in highp int a}) -0:? 'outbi' (out block{out highp int a}) -0:? 't__' (global highp float) -0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float) +0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of highp float values, layout( column_major shared) buffer highp int value}) +0:? 'v3' (layout( location=2) in highp 3-component vector of float) +0:? 'f' ( in highp float) +0:? 'fo' ( out highp float) +0:? 's' ( shared highp 4-component vector of float) +0:? 'sl' (layout( location=2) shared highp 4-component vector of float) +0:? 'fs' ( shared highp float) +0:? 'arrX' ( global 2-element array of highp int) +0:? 'arrY' ( global 1-element array of highp int) +0:? 'arrZ' ( global 4096-element array of highp int) +0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'v' ( buffer highp 4-component vector of float) +0:? 'us2dbad' ( uniform mediump usampler2D) +0:? 'us2d' ( uniform highp usampler2D) +0:? 'ii2dabad' ( uniform highp iimage2DArray) +0:? 'ii2da' ( writeonly uniform highp iimage2DArray) +0:? 'iimg2D' (layout( r32i) uniform highp iimage2D) +0:? 'iimg2Drgba' (layout( rgba32i) readonly uniform highp iimage2D) +0:? 'img2Drgba' (layout( rgba32f) readonly uniform mediump image2D) +0:? 'uimg2D' (layout( r32ui) uniform mediump uimage2D) +0:? 'vol' ( volatile temp highp float) +0:? 'vol2' ( readonly temp highp int) +0:? 'qualim1' (layout( r32i) coherent readonly uniform highp iimage2D) +0:? 'qualim2' (layout( r32i) coherent restrict readonly uniform highp iimage2D) +0:? 'i1bad' (layout( rg8i) readonly uniform highp uimage2D) +0:? 'i2bad' (layout( rgba32i) readonly uniform highp image2D) +0:? 'i3bad' (layout( rgba32f) readonly uniform highp uimage2D) +0:? 'i4bad' (layout( r8_snorm) readonly uniform highp iimage2D) +0:? 'i5bad' (layout( rgba32ui) readonly uniform highp iimage2D) +0:? 'i6bad' (layout( r8ui) readonly uniform highp iimage2D) +0:? 'counter' (layout( binding=0 offset=0) uniform highp atomic_uint) +0:? 'counterBad' (layout( binding=1) uniform mediump atomic_uint) +0:? 'countArr' (layout( binding=2 offset=4) uniform 4-element array of highp atomic_uint) +0:? 'i' ( uniform highp int) +0:? 'atomi' ( shared highp int) +0:? 'atomu' ( shared highp uint) +0:? 'pfoo' ( noContraction temp highp int) +0:? 'dm' ( global 2X4 matrix of double) +0:? 'sca' ( uniform mediump samplerCubeArray) +0:? 'i2dr' ( uniform mediump iimage2DRect) +0:? 'i2dms' ( uniform highp image2DMS) +0:? 'u2dmsa' ( uniform mediump uimage2DMSArray) +0:? 'okay1' (layout( r32f) coherent volatile restrict readonly writeonly uniform highp image2D) +0:? 'okay2' (layout( r32i) coherent volatile restrict readonly uniform highp iimage2D) +0:? 'okay3' (layout( r32ui) coherent volatile restrict writeonly uniform highp uimage2D) +0:? 'okay4' (layout( r32f) coherent volatile restrict uniform highp image2D) +0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D) +0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D) +0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D) +0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values}) +0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer implicitly-sized array of highp float values}) +0:? 'inbi' ( in block{ in highp int a}) +0:? 'outbi' ( out block{ out highp int a}) +0:? 't__' ( global highp float) +0:? 'arr' ( shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.frag.out index 34cae953bd2..3b2fdd087f2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.frag.out @@ -9,7 +9,7 @@ ERROR: 0:15: 'usampler2DRect' : Reserved word. ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:23: 'variable indexing sampler array' : not supported for this version or the enabled extensions ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found -ERROR: 0:27: '=' : cannot convert from 'const float' to 'temp mediump 4-component vector of uint' +ERROR: 0:27: '=' : cannot convert from ' const float' to ' temp mediump 4-component vector of uint' ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument ERROR: 0:34: 'non-constant offset argument' : not supported for this version or the enabled extensions @@ -19,13 +19,13 @@ ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset] ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset] ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:66: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:66: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:67: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:67: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:67: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:68: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:68: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:69: 'sampler/image' : type requires declaration of default precision qualifier -ERROR: 0:69: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:69: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type ERROR: 0:77: 'location' : location is too large ERROR: 0:81: 'location' : too large for fragment output @@ -36,7 +36,7 @@ ERROR: 0:83: 'layout-id value' : cannot be negative ERROR: 0:96: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:110: 'out' : cannot be bool ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut -ERROR: 0:111: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:111: 'image variables declared 'writeonly' without a format layout qualifier' : not supported with this profile: es ERROR: 0:112: 'out' : cannot be a matrix ERROR: 0:114: 'in' : cannot be bool ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino @@ -113,13 +113,13 @@ ERROR: 0:356: 'interpolateAtSample' : required extension not requested: GL_OES_s ERROR: 0:357: 'interpolateAtOffset' : required extension not requested: GL_OES_shader_multisample_interpolation ERROR: 0:365: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output ERROR: 0:380: 'interpolateAtCentroid' : no matching overloaded function found -ERROR: 0:380: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float' +ERROR: 0:380: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float' ERROR: 0:382: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element ERROR: 0:384: 'interpolateAtSample' : no matching overloaded function found -ERROR: 0:384: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float' +ERROR: 0:384: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float' ERROR: 0:386: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element ERROR: 0:389: 'interpolateAtOffset' : no matching overloaded function found -ERROR: 0:389: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float' +ERROR: 0:389: 'assign' : cannot convert from ' const float' to ' temp mediump 3-component vector of float' ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element @@ -133,10 +133,14 @@ ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier ERROR: 0:429: 'blend_support' : unknown blend equation ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es -ERROR: 125 compilation errors. No code generated. +ERROR: 0:435: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:436: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 127 compilation errors. No code generated. Shader version: 310 +Requested GL_EXT_device_group +Requested GL_EXT_multiview Requested GL_EXT_shader_io_blocks Requested GL_EXT_texture_cube_map_array Requested GL_KHR_blend_equation_advanced @@ -152,31 +156,31 @@ using early_fragment_tests using depth_any using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations ERROR: node is still EOpNull! -0:21 Function Definition: main( (global void) +0:21 Function Definition: main( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp highp 4-component vector of float) -0:23 'v' (temp mediump 4-component vector of float) -0:23 texture (global highp 4-component vector of float) -0:23 indirect index (temp highp sampler2D) -0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D) -0:23 'i' (uniform mediump int) -0:23 'c2D' (smooth in mediump 2-component vector of float) +0:23 move second child to first child ( temp highp 4-component vector of float) +0:23 'v' ( temp mediump 4-component vector of float) +0:23 texture ( global highp 4-component vector of float) +0:23 indirect index ( temp highp sampler2D) +0:23 'arrayedSampler' ( uniform 5-element array of highp sampler2D) +0:23 'i' ( uniform mediump int) +0:23 'c2D' ( smooth in mediump 2-component vector of float) 0:28 Sequence -0:28 move second child to first child (temp highp 4-component vector of float) -0:28 'v4' (temp mediump 4-component vector of float) -0:28 textureGather (global highp 4-component vector of float) -0:28 direct index (temp highp sampler2D) -0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D) +0:28 move second child to first child ( temp highp 4-component vector of float) +0:28 'v4' ( temp mediump 4-component vector of float) +0:28 textureGather ( global highp 4-component vector of float) +0:28 direct index ( temp highp sampler2D) +0:28 'arrayedSampler' ( uniform 5-element array of highp sampler2D) 0:28 Constant: 0:28 0 (const int) -0:28 'c2D' (smooth in mediump 2-component vector of float) +0:28 'c2D' ( smooth in mediump 2-component vector of float) 0:29 Sequence -0:29 move second child to first child (temp highp 4-component vector of int) -0:29 'iv4' (temp mediump 4-component vector of int) -0:29 textureGatherOffset (global highp 4-component vector of int) -0:29 'isamp2DA' (uniform highp isampler2DArray) +0:29 move second child to first child ( temp highp 4-component vector of int) +0:29 'iv4' ( temp mediump 4-component vector of int) +0:29 textureGatherOffset ( global highp 4-component vector of int) +0:29 'isamp2DA' ( uniform highp isampler2DArray) 0:29 Constant: 0:29 0.100000 0:29 0.100000 @@ -186,10 +190,10 @@ ERROR: node is still EOpNull! 0:29 1 (const int) 0:29 Constant: 0:29 3 (const int) -0:30 move second child to first child (temp highp 4-component vector of int) -0:30 'iv4' (temp mediump 4-component vector of int) -0:30 textureGatherOffset (global highp 4-component vector of int) -0:30 'isamp2DA' (uniform highp isampler2DArray) +0:30 move second child to first child ( temp highp 4-component vector of int) +0:30 'iv4' ( temp mediump 4-component vector of int) +0:30 textureGatherOffset ( global highp 4-component vector of int) +0:30 'isamp2DA' ( uniform highp isampler2DArray) 0:30 Constant: 0:30 0.100000 0:30 0.100000 @@ -197,11 +201,11 @@ ERROR: node is still EOpNull! 0:30 Constant: 0:30 1 (const int) 0:30 1 (const int) -0:30 'i' (uniform mediump int) -0:31 move second child to first child (temp highp 4-component vector of int) -0:31 'iv4' (temp mediump 4-component vector of int) -0:31 textureGatherOffset (global highp 4-component vector of int) -0:31 'isamp2DA' (uniform highp isampler2DArray) +0:30 'i' ( uniform mediump int) +0:31 move second child to first child ( temp highp 4-component vector of int) +0:31 'iv4' ( temp mediump 4-component vector of int) +0:31 textureGatherOffset ( global highp 4-component vector of int) +0:31 'isamp2DA' ( uniform highp isampler2DArray) 0:31 Constant: 0:31 0.100000 0:31 0.100000 @@ -211,10 +215,10 @@ ERROR: node is still EOpNull! 0:31 1 (const int) 0:31 Constant: 0:31 4 (const int) -0:32 move second child to first child (temp highp 4-component vector of int) -0:32 'iv4' (temp mediump 4-component vector of int) -0:32 textureGatherOffset (global highp 4-component vector of int) -0:32 'isamp2DA' (uniform highp isampler2DArray) +0:32 move second child to first child ( temp highp 4-component vector of int) +0:32 'iv4' ( temp mediump 4-component vector of int) +0:32 textureGatherOffset ( global highp 4-component vector of int) +0:32 'isamp2DA' ( uniform highp isampler2DArray) 0:32 Constant: 0:32 0.100000 0:32 0.100000 @@ -224,10 +228,10 @@ ERROR: node is still EOpNull! 0:32 1 (const int) 0:32 Constant: 0:32 3 (const int) -0:33 move second child to first child (temp highp 4-component vector of int) -0:33 'iv4' (temp mediump 4-component vector of int) -0:33 textureGatherOffset (global highp 4-component vector of int) -0:33 'isamp2DA' (uniform highp isampler2DArray) +0:33 move second child to first child ( temp highp 4-component vector of int) +0:33 'iv4' ( temp mediump 4-component vector of int) +0:33 textureGatherOffset ( global highp 4-component vector of int) +0:33 'isamp2DA' ( uniform highp isampler2DArray) 0:33 Constant: 0:33 0.100000 0:33 0.100000 @@ -235,33 +239,33 @@ ERROR: node is still EOpNull! 0:33 Constant: 0:33 0 (const int) 0:33 0 (const int) -0:34 move second child to first child (temp highp 4-component vector of int) -0:34 'iv4' (temp mediump 4-component vector of int) -0:34 textureGatherOffset (global highp 4-component vector of int) -0:34 'isamp2DA' (uniform highp isampler2DArray) +0:34 move second child to first child ( temp highp 4-component vector of int) +0:34 'iv4' ( temp mediump 4-component vector of int) +0:34 textureGatherOffset ( global highp 4-component vector of int) +0:34 'isamp2DA' ( uniform highp isampler2DArray) 0:34 Constant: 0:34 0.100000 0:34 0.100000 0:34 0.100000 -0:34 Construct ivec2 (temp highp 2-component vector of int) -0:34 'i' (uniform mediump int) -0:38 Function Definition: foo23( (global void) +0:34 Construct ivec2 ( temp highp 2-component vector of int) +0:34 'i' ( uniform mediump int) +0:38 Function Definition: foo23( ( global void) 0:38 Function Parameters: 0:? Sequence -0:42 textureProjGradOffset (global highp 4-component vector of uint) -0:42 'usamp2d' (uniform highp usampler2D) -0:42 'outp' (out mediump 4-component vector of float) +0:42 textureProjGradOffset ( global highp 4-component vector of uint) +0:42 'usamp2d' ( uniform highp usampler2D) +0:42 'outp' ( out mediump 4-component vector of float) 0:42 Constant: 0:42 0.000000 0:42 0.000000 0:42 Constant: 0:42 0.000000 0:42 0.000000 -0:42 Convert float to int (temp highp 2-component vector of int) -0:42 'c2D' (smooth in mediump 2-component vector of float) -0:43 textureProjGradOffset (global highp 4-component vector of uint) -0:43 'usamp2d' (uniform highp usampler2D) -0:43 'outp' (out mediump 4-component vector of float) +0:42 Convert float to int ( temp highp 2-component vector of int) +0:42 'c2D' ( smooth in mediump 2-component vector of float) +0:43 textureProjGradOffset ( global highp 4-component vector of uint) +0:43 'usamp2d' ( uniform highp usampler2D) +0:43 'outp' ( out mediump 4-component vector of float) 0:43 Constant: 0:43 0.000000 0:43 0.000000 @@ -271,9 +275,9 @@ ERROR: node is still EOpNull! 0:43 Constant: 0:43 3 (const int) 0:43 4 (const int) -0:44 textureProjGradOffset (global highp 4-component vector of uint) -0:44 'usamp2d' (uniform highp usampler2D) -0:44 'outp' (out mediump 4-component vector of float) +0:44 textureProjGradOffset ( global highp 4-component vector of uint) +0:44 'usamp2d' ( uniform highp usampler2D) +0:44 'outp' ( out mediump 4-component vector of float) 0:44 Constant: 0:44 0.000000 0:44 0.000000 @@ -283,9 +287,9 @@ ERROR: node is still EOpNull! 0:44 Constant: 0:44 15 (const int) 0:44 16 (const int) -0:45 textureProjGradOffset (global highp 4-component vector of uint) -0:45 'usamp2d' (uniform highp usampler2D) -0:45 'outp' (out mediump 4-component vector of float) +0:45 textureProjGradOffset ( global highp 4-component vector of uint) +0:45 'usamp2d' ( uniform highp usampler2D) +0:45 'outp' ( out mediump 4-component vector of float) 0:45 Constant: 0:45 0.000000 0:45 0.000000 @@ -295,164 +299,164 @@ ERROR: node is still EOpNull! 0:45 Constant: 0:45 -10 (const int) 0:45 20 (const int) -0:47 Test condition and select (temp void) +0:47 Test condition and select ( temp void) 0:47 Condition -0:47 'gl_HelperInvocation' (in bool HelperInvocation) +0:47 'gl_HelperInvocation' ( in bool HelperInvocation) 0:47 true case -0:48 Pre-Increment (temp mediump 4-component vector of float) -0:48 'outp' (out mediump 4-component vector of float) +0:48 Pre-Increment ( temp mediump 4-component vector of float) +0:48 'outp' ( out mediump 4-component vector of float) 0:50 Sequence -0:50 move second child to first child (temp mediump int) -0:50 'sum' (temp mediump int) +0:50 move second child to first child ( temp mediump int) +0:50 'sum' ( temp mediump int) 0:50 Constant: 0:50 32 (const int) -0:58 move second child to first child (temp bool) -0:58 'b1' (temp bool) -0:58 mix (global bool) -0:58 'b2' (temp bool) -0:58 'b3' (temp bool) -0:58 'b' (temp bool) +0:58 move second child to first child ( temp bool) +0:58 'b1' ( temp bool) +0:58 mix ( global bool) +0:58 'b2' ( temp bool) +0:58 'b3' ( temp bool) +0:58 'b' ( temp bool) 0:59 Sequence -0:59 move second child to first child (temp mediump 3-component vector of uint) -0:59 'um3' (temp mediump 3-component vector of uint) -0:59 mix (global mediump 3-component vector of uint) -0:59 Construct uvec3 (temp mediump 3-component vector of uint) -0:59 Convert int to uint (temp mediump uint) -0:59 'i' (uniform mediump int) -0:59 Construct uvec3 (temp mediump 3-component vector of uint) -0:59 Convert int to uint (temp mediump uint) -0:59 'i' (uniform mediump int) -0:59 Construct bvec3 (temp 3-component vector of bool) -0:59 'b' (temp bool) +0:59 move second child to first child ( temp mediump 3-component vector of uint) +0:59 'um3' ( temp mediump 3-component vector of uint) +0:59 mix ( global mediump 3-component vector of uint) +0:59 Construct uvec3 ( temp mediump 3-component vector of uint) +0:59 Convert int to uint ( temp mediump uint) +0:59 'i' ( uniform mediump int) +0:59 Construct uvec3 ( temp mediump 3-component vector of uint) +0:59 Convert int to uint ( temp mediump uint) +0:59 'i' ( uniform mediump int) +0:59 Construct bvec3 ( temp 3-component vector of bool) +0:59 'b' ( temp bool) 0:60 Sequence -0:60 move second child to first child (temp mediump 4-component vector of int) -0:60 'im4' (temp mediump 4-component vector of int) -0:60 mix (global mediump 4-component vector of int) -0:60 Construct ivec4 (temp mediump 4-component vector of int) -0:60 'i' (uniform mediump int) -0:60 Construct ivec4 (temp mediump 4-component vector of int) -0:60 'i' (uniform mediump int) -0:60 Construct bvec4 (temp 4-component vector of bool) -0:60 'b' (temp bool) -0:98 Function Definition: foots( (global void) +0:60 move second child to first child ( temp mediump 4-component vector of int) +0:60 'im4' ( temp mediump 4-component vector of int) +0:60 mix ( global mediump 4-component vector of int) +0:60 Construct ivec4 ( temp mediump 4-component vector of int) +0:60 'i' ( uniform mediump int) +0:60 Construct ivec4 ( temp mediump 4-component vector of int) +0:60 'i' ( uniform mediump int) +0:60 Construct bvec4 ( temp 4-component vector of bool) +0:60 'b' ( temp bool) +0:98 Function Definition: foots( ( global void) 0:98 Function Parameters: 0:100 Sequence 0:100 Sequence -0:100 move second child to first child (temp highp 2-component vector of int) -0:100 'v2' (temp highp 2-component vector of int) -0:100 textureSize (global highp 2-component vector of int) -0:100 's1' (layout(binding=3 ) uniform highp sampler2D) +0:100 move second child to first child ( temp highp 2-component vector of int) +0:100 'v2' ( temp highp 2-component vector of int) +0:100 textureSize ( global highp 2-component vector of int) +0:100 's1' (layout( binding=3) uniform highp sampler2D) 0:100 Constant: 0:100 2 (const int) 0:101 Sequence -0:101 move second child to first child (temp highp 3-component vector of int) -0:101 'v3' (temp highp 3-component vector of int) -0:101 textureSize (global highp 3-component vector of int) -0:101 'isamp2DA' (uniform highp isampler2DArray) +0:101 move second child to first child ( temp highp 3-component vector of int) +0:101 'v3' ( temp highp 3-component vector of int) +0:101 textureSize ( global highp 3-component vector of int) +0:101 'isamp2DA' ( uniform highp isampler2DArray) 0:101 Constant: 0:101 3 (const int) -0:102 move second child to first child (temp highp 2-component vector of int) -0:102 'v2' (temp highp 2-component vector of int) -0:102 textureSize (global highp 2-component vector of int, operation at mediump) -0:102 's2dms' (uniform mediump sampler2DMS) -0:103 move second child to first child (temp highp 2-component vector of int) -0:103 'v2' (temp highp 2-component vector of int) -0:103 imageQuerySize (global highp 2-component vector of int) -0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D) -0:104 move second child to first child (temp highp 3-component vector of int) -0:104 'v3' (temp highp 3-component vector of int) -0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump) -0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D) -0:105 move second child to first child (temp highp 2-component vector of int) -0:105 'v2' (temp highp 2-component vector of int) -0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump) -0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube) -0:106 move second child to first child (temp highp 3-component vector of int) -0:106 'v3' (temp highp 3-component vector of int) -0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump) -0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray) -0:107 move second child to first child (temp highp 2-component vector of int) -0:107 'v2' (temp highp 2-component vector of int) -0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump) -0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D) -0:165 Function Definition: fooIO( (global void) +0:102 move second child to first child ( temp highp 2-component vector of int) +0:102 'v2' ( temp highp 2-component vector of int) +0:102 textureSize ( global highp 2-component vector of int, operation at mediump) +0:102 's2dms' ( uniform mediump sampler2DMS) +0:103 move second child to first child ( temp highp 2-component vector of int) +0:103 'v2' ( temp highp 2-component vector of int) +0:103 imageQuerySize ( global highp 2-component vector of int) +0:103 'i2D' (layout( binding=2) writeonly uniform highp image2D) +0:104 move second child to first child ( temp highp 3-component vector of int) +0:104 'v3' ( temp highp 3-component vector of int) +0:104 imageQuerySize ( global highp 3-component vector of int, operation at mediump) +0:104 'i3D' (layout( binding=4) readonly uniform mediump image3D) +0:105 move second child to first child ( temp highp 2-component vector of int) +0:105 'v2' ( temp highp 2-component vector of int) +0:105 imageQuerySize ( global highp 2-component vector of int, operation at mediump) +0:105 'iCube' (layout( binding=5) uniform mediump imageCube) +0:106 move second child to first child ( temp highp 3-component vector of int) +0:106 'v3' ( temp highp 3-component vector of int) +0:106 imageQuerySize ( global highp 3-component vector of int, operation at mediump) +0:106 'i2DA' (layout( binding=6) uniform mediump image2DArray) +0:107 move second child to first child ( temp highp 2-component vector of int) +0:107 'v2' ( temp highp 2-component vector of int) +0:107 imageQuerySize ( global highp 2-component vector of int, operation at mediump) +0:107 'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D) +0:165 Function Definition: fooIO( ( global void) 0:165 Function Parameters: 0:167 Sequence 0:167 Sequence -0:167 move second child to first child (temp mediump 4-component vector of float) -0:167 'v' (temp mediump 4-component vector of float) -0:167 add (temp mediump 4-component vector of float) -0:167 v: direct index for structure (in mediump 4-component vector of float) -0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s}) +0:167 move second child to first child ( temp mediump 4-component vector of float) +0:167 'v' ( temp mediump 4-component vector of float) +0:167 add ( temp mediump 4-component vector of float) +0:167 v: direct index for structure ( in mediump 4-component vector of float) +0:167 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s}) 0:167 Constant: 0:167 1 (const int) -0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float) -0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon}) +0:167 vAnon: direct index for structure (layout( location=13) centroid in mediump 4-component vector of float) +0:167 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon}) 0:167 Constant: 0:167 1 (const uint) -0:168 vector scale second child into first child (temp mediump 4-component vector of float) -0:168 'v' (temp mediump 4-component vector of float) -0:168 f: direct index for structure (in mediump float) -0:168 direct index (temp block{in mediump float f}) -0:168 'arrayedInst' (in 4-element array of block{in mediump float f}) +0:168 vector scale second child into first child ( temp mediump 4-component vector of float) +0:168 'v' ( temp mediump 4-component vector of float) +0:168 f: direct index for structure ( in mediump float) +0:168 direct index ( temp block{ in mediump float f}) +0:168 'arrayedInst' ( in 4-element array of block{ in mediump float f}) 0:168 Constant: 0:168 2 (const int) 0:168 Constant: 0:168 0 (const int) -0:169 vector scale second child into first child (temp mediump 4-component vector of float) -0:169 'v' (temp mediump 4-component vector of float) -0:169 f: direct index for structure (in mediump float) -0:169 indirect index (temp block{in mediump float f}) -0:169 'arrayedInst' (in 4-element array of block{in mediump float f}) -0:169 'i' (uniform mediump int) +0:169 vector scale second child into first child ( temp mediump 4-component vector of float) +0:169 'v' ( temp mediump 4-component vector of float) +0:169 f: direct index for structure ( in mediump float) +0:169 indirect index ( temp block{ in mediump float f}) +0:169 'arrayedInst' ( in 4-element array of block{ in mediump float f}) +0:169 'i' ( uniform mediump int) 0:169 Constant: 0:169 0 (const int) -0:179 Function Definition: foo_IO( (global void) +0:179 Function Definition: foo_IO( ( global void) 0:179 Function Parameters: 0:181 Sequence -0:181 move second child to first child (temp highp float) -0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth) +0:181 move second child to first child ( temp highp float) +0:181 'gl_FragDepth' ( gl_FragDepth highp float FragDepth) 0:181 Constant: 0:181 0.200000 -0:182 'gl_Layer' (flat in highp int Layer) -0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID) +0:182 'gl_Layer' ( flat in highp int Layer) +0:183 'gl_PrimitiveID' ( flat in highp int PrimitiveID) 0:184 Sequence -0:184 move second child to first child (temp bool) -0:184 'f' (temp bool) -0:184 'gl_FrontFacing' (gl_FrontFacing bool Face) -0:191 Function Definition: foo_GS( (global void) +0:184 move second child to first child ( temp bool) +0:184 'f' ( temp bool) +0:184 'gl_FrontFacing' ( gl_FrontFacing bool Face) +0:191 Function Definition: foo_GS( ( global void) 0:191 Function Parameters: 0:193 Sequence 0:193 Sequence -0:193 move second child to first child (temp highp int) -0:193 'l' (temp highp int) -0:193 'gl_Layer' (flat in highp int Layer) +0:193 move second child to first child ( temp highp int) +0:193 'l' ( temp highp int) +0:193 'gl_Layer' ( flat in highp int Layer) 0:194 Sequence -0:194 move second child to first child (temp highp int) -0:194 'p' (temp highp int) -0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID) -0:207 Function Definition: pfooBad( (global void) +0:194 move second child to first child ( temp highp int) +0:194 'p' ( temp highp int) +0:194 'gl_PrimitiveID' ( flat in highp int PrimitiveID) +0:207 Function Definition: pfooBad( ( global void) 0:207 Function Parameters: 0:? Sequence -0:210 move second child to first child (temp mediump 2-component vector of float) -0:210 'h' (noContraction temp mediump 2-component vector of float) -0:210 fma (global mediump 2-component vector of float) -0:210 'inf' (smooth in mediump 2-component vector of float) -0:210 'ing' (smooth in mediump 2-component vector of float) -0:210 'h' (noContraction temp mediump 2-component vector of float) -0:211 textureGatherOffset (global highp 4-component vector of float) -0:211 direct index (temp highp sampler2D) -0:211 'sArray' (uniform 4-element array of highp sampler2D) +0:210 move second child to first child ( temp mediump 2-component vector of float) +0:210 'h' ( noContraction temp mediump 2-component vector of float) +0:210 fma ( global mediump 2-component vector of float) +0:210 'inf' ( smooth in mediump 2-component vector of float) +0:210 'ing' ( smooth in mediump 2-component vector of float) +0:210 'h' ( noContraction temp mediump 2-component vector of float) +0:211 textureGatherOffset ( global highp 4-component vector of float) +0:211 direct index ( temp highp sampler2D) +0:211 'sArray' ( uniform 4-element array of highp sampler2D) 0:211 Constant: 0:211 0 (const int) 0:211 Constant: 0:211 0.100000 0:211 0.100000 -0:211 Convert float to int (temp highp 2-component vector of int) -0:211 'inf' (smooth in mediump 2-component vector of float) -0:212 textureGatherOffsets (global highp 4-component vector of float) -0:212 direct index (temp highp sampler2D) -0:212 'sArray' (uniform 4-element array of highp sampler2D) +0:211 Convert float to int ( temp highp 2-component vector of int) +0:211 'inf' ( smooth in mediump 2-component vector of float) +0:212 textureGatherOffsets ( global highp 4-component vector of float) +0:212 direct index ( temp highp sampler2D) +0:212 'sArray' ( uniform 4-element array of highp sampler2D) 0:212 Constant: 0:212 0 (const int) 0:212 Constant: @@ -467,28 +471,28 @@ ERROR: node is still EOpNull! 0:212 0 (const int) 0:212 0 (const int) 0:212 0 (const int) -0:217 Function Definition: pfoo( (global void) +0:217 Function Definition: pfoo( ( global void) 0:217 Function Parameters: 0:? Sequence -0:220 move second child to first child (temp mediump 2-component vector of float) -0:220 'h' (noContraction temp mediump 2-component vector of float) -0:220 fma (global mediump 2-component vector of float) -0:220 'inf' (smooth in mediump 2-component vector of float) -0:220 'ing' (smooth in mediump 2-component vector of float) -0:220 'h' (noContraction temp mediump 2-component vector of float) -0:221 textureGatherOffset (global highp 4-component vector of float) -0:221 direct index (temp highp sampler2D) -0:221 'sArray' (uniform 4-element array of highp sampler2D) +0:220 move second child to first child ( temp mediump 2-component vector of float) +0:220 'h' ( noContraction temp mediump 2-component vector of float) +0:220 fma ( global mediump 2-component vector of float) +0:220 'inf' ( smooth in mediump 2-component vector of float) +0:220 'ing' ( smooth in mediump 2-component vector of float) +0:220 'h' ( noContraction temp mediump 2-component vector of float) +0:221 textureGatherOffset ( global highp 4-component vector of float) +0:221 direct index ( temp highp sampler2D) +0:221 'sArray' ( uniform 4-element array of highp sampler2D) 0:221 Constant: 0:221 0 (const int) 0:221 Constant: 0:221 0.100000 0:221 0.100000 -0:221 Convert float to int (temp highp 2-component vector of int) -0:221 'inf' (smooth in mediump 2-component vector of float) -0:222 textureGatherOffsets (global highp 4-component vector of float) -0:222 direct index (temp highp sampler2D) -0:222 'sArray' (uniform 4-element array of highp sampler2D) +0:221 Convert float to int ( temp highp 2-component vector of int) +0:221 'inf' ( smooth in mediump 2-component vector of float) +0:222 textureGatherOffsets ( global highp 4-component vector of float) +0:222 direct index ( temp highp sampler2D) +0:222 'sArray' ( uniform 4-element array of highp sampler2D) 0:222 Constant: 0:222 0 (const int) 0:222 Constant: @@ -503,23 +507,23 @@ ERROR: node is still EOpNull! 0:222 0 (const int) 0:222 0 (const int) 0:222 0 (const int) -0:223 textureGatherOffsets (global highp 4-component vector of float) -0:223 direct index (temp highp sampler2D) -0:223 'sArray' (uniform 4-element array of highp sampler2D) +0:223 textureGatherOffsets ( global highp 4-component vector of float) +0:223 direct index ( temp highp sampler2D) +0:223 'sArray' ( uniform 4-element array of highp sampler2D) 0:223 Constant: 0:223 0 (const int) 0:223 Constant: 0:223 0.100000 0:223 0.100000 -0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int) -0:248 Function Definition: CAT( (global void) +0:223 'offsets' ( uniform 4-element array of mediump 2-component vector of int) +0:248 Function Definition: CAT( ( global void) 0:248 Function Parameters: 0:250 Sequence 0:250 Sequence -0:250 move second child to first child (temp highp 4-component vector of float) -0:250 'b4' (temp highp 4-component vector of float) -0:250 texture (global highp 4-component vector of float) -0:250 'CA4' (uniform highp samplerCubeArray) +0:250 move second child to first child ( temp highp 4-component vector of float) +0:250 'b4' ( temp highp 4-component vector of float) +0:250 texture ( global highp 4-component vector of float) +0:250 'CA4' ( uniform highp samplerCubeArray) 0:250 Constant: 0:250 0.500000 0:250 0.500000 @@ -528,10 +532,10 @@ ERROR: node is still EOpNull! 0:250 Constant: 0:250 0.240000 0:251 Sequence -0:251 move second child to first child (temp highp 4-component vector of int) -0:251 'b6' (temp highp 4-component vector of int) -0:251 texture (global highp 4-component vector of int) -0:251 'CA6' (uniform highp isamplerCubeArray) +0:251 move second child to first child ( temp highp 4-component vector of int) +0:251 'b6' ( temp highp 4-component vector of int) +0:251 texture ( global highp 4-component vector of int) +0:251 'CA6' ( uniform highp isamplerCubeArray) 0:251 Constant: 0:251 0.500000 0:251 0.500000 @@ -540,10 +544,10 @@ ERROR: node is still EOpNull! 0:251 Constant: 0:251 0.260000 0:252 Sequence -0:252 move second child to first child (temp highp 4-component vector of uint) -0:252 'b7' (temp highp 4-component vector of uint) -0:252 texture (global highp 4-component vector of uint) -0:252 'CA7' (uniform highp usamplerCubeArray) +0:252 move second child to first child ( temp highp 4-component vector of uint) +0:252 'b7' ( temp highp 4-component vector of uint) +0:252 texture ( global highp 4-component vector of uint) +0:252 'CA7' ( uniform highp usamplerCubeArray) 0:252 Constant: 0:252 0.500000 0:252 0.500000 @@ -551,276 +555,276 @@ ERROR: node is still EOpNull! 0:252 0.500000 0:252 Constant: 0:252 0.270000 -0:255 Function Definition: badSample( (global void) +0:255 Function Definition: badSample( ( global void) 0:255 Function Parameters: 0:257 Sequence 0:257 Sequence -0:257 move second child to first child (temp lowp int) -0:257 'a1' (temp lowp int) -0:257 'gl_SampleID' (flat in lowp int SampleId) +0:257 move second child to first child ( temp lowp int) +0:257 'a1' ( temp lowp int) +0:257 'gl_SampleID' ( flat in lowp int SampleId) 0:258 Sequence -0:258 move second child to first child (temp mediump 2-component vector of float) -0:258 'a2' (temp mediump 2-component vector of float) -0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition) +0:258 move second child to first child ( temp mediump 2-component vector of float) +0:258 'a2' ( temp mediump 2-component vector of float) +0:258 'gl_SamplePosition' ( smooth in mediump 2-component vector of float SamplePosition) 0:259 Sequence -0:259 move second child to first child (temp highp int) -0:259 'a3' (temp highp int) -0:259 direct index (flat temp highp int SampleMaskIn) -0:259 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn) +0:259 move second child to first child ( temp highp int) +0:259 'a3' ( temp highp int) +0:259 direct index ( flat temp highp int SampleMaskIn) +0:259 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn) 0:259 Constant: 0:259 0 (const int) -0:260 move second child to first child (temp highp int) -0:260 direct index (temp highp int SampleMaskIn) -0:260 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn) +0:260 move second child to first child ( temp highp int) +0:260 direct index ( temp highp int SampleMaskIn) +0:260 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn) 0:260 Constant: 0:260 0 (const int) -0:260 'a3' (temp highp int) +0:260 'a3' ( temp highp int) 0:261 Sequence -0:261 move second child to first child (temp mediump int) -0:261 'n' (temp mediump int) -0:261 'gl_NumSamples' (uniform lowp int) -0:268 Function Definition: goodSample( (global void) +0:261 move second child to first child ( temp mediump int) +0:261 'n' ( temp mediump int) +0:261 'gl_NumSamples' ( uniform lowp int) +0:268 Function Definition: goodSample( ( global void) 0:268 Function Parameters: 0:270 Sequence 0:270 Sequence -0:270 move second child to first child (temp lowp int) -0:270 'a1' (temp lowp int) -0:270 'gl_SampleID' (flat in lowp int SampleId) +0:270 move second child to first child ( temp lowp int) +0:270 'a1' ( temp lowp int) +0:270 'gl_SampleID' ( flat in lowp int SampleId) 0:271 Sequence -0:271 move second child to first child (temp mediump 2-component vector of float) -0:271 'a2' (temp mediump 2-component vector of float) -0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition) +0:271 move second child to first child ( temp mediump 2-component vector of float) +0:271 'a2' ( temp mediump 2-component vector of float) +0:271 'gl_SamplePosition' ( smooth in mediump 2-component vector of float SamplePosition) 0:272 Sequence -0:272 move second child to first child (temp highp int) -0:272 'a3' (temp highp int) -0:272 direct index (flat temp highp int SampleMaskIn) -0:272 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn) +0:272 move second child to first child ( temp highp int) +0:272 'a3' ( temp highp int) +0:272 direct index ( flat temp highp int SampleMaskIn) +0:272 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn) 0:272 Constant: 0:272 0 (const int) -0:273 move second child to first child (temp highp int) -0:273 direct index (temp highp int SampleMaskIn) -0:273 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn) +0:273 move second child to first child ( temp highp int) +0:273 direct index ( temp highp int SampleMaskIn) +0:273 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn) 0:273 Constant: 0:273 0 (const int) -0:273 'a3' (temp highp int) +0:273 'a3' ( temp highp int) 0:274 Sequence -0:274 move second child to first child (temp mediump int) -0:274 'n1' (temp mediump int) +0:274 move second child to first child ( temp mediump int) +0:274 'n1' ( temp mediump int) 0:274 Constant: 0:274 4 (const int) 0:275 Sequence -0:275 move second child to first child (temp mediump int) -0:275 'n2' (temp mediump int) -0:275 'gl_NumSamples' (uniform lowp int) -0:283 Function Definition: badImageAtom( (global void) +0:275 move second child to first child ( temp mediump int) +0:275 'n2' ( temp mediump int) +0:275 'gl_NumSamples' ( uniform lowp int) +0:283 Function Definition: badImageAtom( ( global void) 0:283 Function Parameters: 0:? Sequence -0:289 imageAtomicAdd (global highp int) -0:289 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:289 'P' (uniform mediump 2-component vector of int) -0:289 'dati' (temp mediump int) -0:290 imageAtomicAdd (global highp uint) -0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:290 'P' (uniform mediump 2-component vector of int) -0:290 'datu' (temp mediump uint) -0:291 imageAtomicMin (global highp int) -0:291 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:291 'P' (uniform mediump 2-component vector of int) -0:291 'dati' (temp mediump int) -0:292 imageAtomicMin (global highp uint) -0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:292 'P' (uniform mediump 2-component vector of int) -0:292 'datu' (temp mediump uint) -0:293 imageAtomicMax (global highp int) -0:293 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:293 'P' (uniform mediump 2-component vector of int) -0:293 'dati' (temp mediump int) -0:294 imageAtomicMax (global highp uint) -0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:294 'P' (uniform mediump 2-component vector of int) -0:294 'datu' (temp mediump uint) -0:295 imageAtomicAnd (global highp int) -0:295 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:295 'P' (uniform mediump 2-component vector of int) -0:295 'dati' (temp mediump int) -0:296 imageAtomicAnd (global highp uint) -0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:296 'P' (uniform mediump 2-component vector of int) -0:296 'datu' (temp mediump uint) -0:297 imageAtomicOr (global highp int) -0:297 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:297 'P' (uniform mediump 2-component vector of int) -0:297 'dati' (temp mediump int) -0:298 imageAtomicOr (global highp uint) -0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:298 'P' (uniform mediump 2-component vector of int) -0:298 'datu' (temp mediump uint) -0:299 imageAtomicXor (global highp int) -0:299 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:299 'P' (uniform mediump 2-component vector of int) -0:299 'dati' (temp mediump int) -0:300 imageAtomicXor (global highp uint) -0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:300 'P' (uniform mediump 2-component vector of int) -0:300 'datu' (temp mediump uint) -0:301 imageAtomicExchange (global highp int) -0:301 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:301 'P' (uniform mediump 2-component vector of int) -0:301 'dati' (temp mediump int) -0:302 imageAtomicExchange (global highp uint) -0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:302 'P' (uniform mediump 2-component vector of int) -0:302 'datu' (temp mediump uint) -0:303 imageAtomicExchange (global highp float) -0:303 'im2Df' (layout(r32f ) uniform highp image2D) -0:303 'P' (uniform mediump 2-component vector of int) -0:303 'datf' (temp mediump float) -0:304 imageAtomicCompSwap (global highp int) -0:304 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:304 'P' (uniform mediump 2-component vector of int) +0:289 imageAtomicAdd ( global highp int) +0:289 'im2Di' (layout( r32i) uniform highp iimage2D) +0:289 'P' ( uniform mediump 2-component vector of int) +0:289 'dati' ( temp mediump int) +0:290 imageAtomicAdd ( global highp uint) +0:290 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:290 'P' ( uniform mediump 2-component vector of int) +0:290 'datu' ( temp mediump uint) +0:291 imageAtomicMin ( global highp int) +0:291 'im2Di' (layout( r32i) uniform highp iimage2D) +0:291 'P' ( uniform mediump 2-component vector of int) +0:291 'dati' ( temp mediump int) +0:292 imageAtomicMin ( global highp uint) +0:292 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:292 'P' ( uniform mediump 2-component vector of int) +0:292 'datu' ( temp mediump uint) +0:293 imageAtomicMax ( global highp int) +0:293 'im2Di' (layout( r32i) uniform highp iimage2D) +0:293 'P' ( uniform mediump 2-component vector of int) +0:293 'dati' ( temp mediump int) +0:294 imageAtomicMax ( global highp uint) +0:294 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:294 'P' ( uniform mediump 2-component vector of int) +0:294 'datu' ( temp mediump uint) +0:295 imageAtomicAnd ( global highp int) +0:295 'im2Di' (layout( r32i) uniform highp iimage2D) +0:295 'P' ( uniform mediump 2-component vector of int) +0:295 'dati' ( temp mediump int) +0:296 imageAtomicAnd ( global highp uint) +0:296 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:296 'P' ( uniform mediump 2-component vector of int) +0:296 'datu' ( temp mediump uint) +0:297 imageAtomicOr ( global highp int) +0:297 'im2Di' (layout( r32i) uniform highp iimage2D) +0:297 'P' ( uniform mediump 2-component vector of int) +0:297 'dati' ( temp mediump int) +0:298 imageAtomicOr ( global highp uint) +0:298 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:298 'P' ( uniform mediump 2-component vector of int) +0:298 'datu' ( temp mediump uint) +0:299 imageAtomicXor ( global highp int) +0:299 'im2Di' (layout( r32i) uniform highp iimage2D) +0:299 'P' ( uniform mediump 2-component vector of int) +0:299 'dati' ( temp mediump int) +0:300 imageAtomicXor ( global highp uint) +0:300 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:300 'P' ( uniform mediump 2-component vector of int) +0:300 'datu' ( temp mediump uint) +0:301 imageAtomicExchange ( global highp int) +0:301 'im2Di' (layout( r32i) uniform highp iimage2D) +0:301 'P' ( uniform mediump 2-component vector of int) +0:301 'dati' ( temp mediump int) +0:302 imageAtomicExchange ( global highp uint) +0:302 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:302 'P' ( uniform mediump 2-component vector of int) +0:302 'datu' ( temp mediump uint) +0:303 imageAtomicExchange ( global highp float) +0:303 'im2Df' (layout( r32f) uniform highp image2D) +0:303 'P' ( uniform mediump 2-component vector of int) +0:303 'datf' ( temp mediump float) +0:304 imageAtomicCompSwap ( global highp int) +0:304 'im2Di' (layout( r32i) uniform highp iimage2D) +0:304 'P' ( uniform mediump 2-component vector of int) 0:304 Constant: 0:304 3 (const int) -0:304 'dati' (temp mediump int) -0:305 imageAtomicCompSwap (global highp uint) -0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:305 'P' (uniform mediump 2-component vector of int) +0:304 'dati' ( temp mediump int) +0:305 imageAtomicCompSwap ( global highp uint) +0:305 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:305 'P' ( uniform mediump 2-component vector of int) 0:305 Constant: 0:305 5 (const uint) -0:305 'datu' (temp mediump uint) -0:316 Function Definition: goodImageAtom( (global void) +0:305 'datu' ( temp mediump uint) +0:316 Function Definition: goodImageAtom( ( global void) 0:316 Function Parameters: 0:? Sequence -0:322 imageAtomicAdd (global highp int) -0:322 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:322 'P' (uniform mediump 2-component vector of int) -0:322 'dati' (temp mediump int) -0:323 imageAtomicAdd (global highp uint) -0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:323 'P' (uniform mediump 2-component vector of int) -0:323 'datu' (temp mediump uint) -0:324 imageAtomicMin (global highp int) -0:324 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:324 'P' (uniform mediump 2-component vector of int) -0:324 'dati' (temp mediump int) -0:325 imageAtomicMin (global highp uint) -0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:325 'P' (uniform mediump 2-component vector of int) -0:325 'datu' (temp mediump uint) -0:326 imageAtomicMax (global highp int) -0:326 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:326 'P' (uniform mediump 2-component vector of int) -0:326 'dati' (temp mediump int) -0:327 imageAtomicMax (global highp uint) -0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:327 'P' (uniform mediump 2-component vector of int) -0:327 'datu' (temp mediump uint) -0:328 imageAtomicAnd (global highp int) -0:328 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:328 'P' (uniform mediump 2-component vector of int) -0:328 'dati' (temp mediump int) -0:329 imageAtomicAnd (global highp uint) -0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:329 'P' (uniform mediump 2-component vector of int) -0:329 'datu' (temp mediump uint) -0:330 imageAtomicOr (global highp int) -0:330 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:330 'P' (uniform mediump 2-component vector of int) -0:330 'dati' (temp mediump int) -0:331 imageAtomicOr (global highp uint) -0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:331 'P' (uniform mediump 2-component vector of int) -0:331 'datu' (temp mediump uint) -0:332 imageAtomicXor (global highp int) -0:332 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:332 'P' (uniform mediump 2-component vector of int) -0:332 'dati' (temp mediump int) -0:333 imageAtomicXor (global highp uint) -0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:333 'P' (uniform mediump 2-component vector of int) -0:333 'datu' (temp mediump uint) -0:334 imageAtomicExchange (global highp int) -0:334 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:334 'P' (uniform mediump 2-component vector of int) -0:334 'dati' (temp mediump int) -0:335 imageAtomicExchange (global highp uint) -0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:335 'P' (uniform mediump 2-component vector of int) -0:335 'datu' (temp mediump uint) -0:336 imageAtomicExchange (global highp float) -0:336 'im2Df' (layout(r32f ) uniform highp image2D) -0:336 'P' (uniform mediump 2-component vector of int) -0:336 'datf' (temp mediump float) -0:337 imageAtomicCompSwap (global highp int) -0:337 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:337 'P' (uniform mediump 2-component vector of int) +0:322 imageAtomicAdd ( global highp int) +0:322 'im2Di' (layout( r32i) uniform highp iimage2D) +0:322 'P' ( uniform mediump 2-component vector of int) +0:322 'dati' ( temp mediump int) +0:323 imageAtomicAdd ( global highp uint) +0:323 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:323 'P' ( uniform mediump 2-component vector of int) +0:323 'datu' ( temp mediump uint) +0:324 imageAtomicMin ( global highp int) +0:324 'im2Di' (layout( r32i) uniform highp iimage2D) +0:324 'P' ( uniform mediump 2-component vector of int) +0:324 'dati' ( temp mediump int) +0:325 imageAtomicMin ( global highp uint) +0:325 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:325 'P' ( uniform mediump 2-component vector of int) +0:325 'datu' ( temp mediump uint) +0:326 imageAtomicMax ( global highp int) +0:326 'im2Di' (layout( r32i) uniform highp iimage2D) +0:326 'P' ( uniform mediump 2-component vector of int) +0:326 'dati' ( temp mediump int) +0:327 imageAtomicMax ( global highp uint) +0:327 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:327 'P' ( uniform mediump 2-component vector of int) +0:327 'datu' ( temp mediump uint) +0:328 imageAtomicAnd ( global highp int) +0:328 'im2Di' (layout( r32i) uniform highp iimage2D) +0:328 'P' ( uniform mediump 2-component vector of int) +0:328 'dati' ( temp mediump int) +0:329 imageAtomicAnd ( global highp uint) +0:329 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:329 'P' ( uniform mediump 2-component vector of int) +0:329 'datu' ( temp mediump uint) +0:330 imageAtomicOr ( global highp int) +0:330 'im2Di' (layout( r32i) uniform highp iimage2D) +0:330 'P' ( uniform mediump 2-component vector of int) +0:330 'dati' ( temp mediump int) +0:331 imageAtomicOr ( global highp uint) +0:331 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:331 'P' ( uniform mediump 2-component vector of int) +0:331 'datu' ( temp mediump uint) +0:332 imageAtomicXor ( global highp int) +0:332 'im2Di' (layout( r32i) uniform highp iimage2D) +0:332 'P' ( uniform mediump 2-component vector of int) +0:332 'dati' ( temp mediump int) +0:333 imageAtomicXor ( global highp uint) +0:333 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:333 'P' ( uniform mediump 2-component vector of int) +0:333 'datu' ( temp mediump uint) +0:334 imageAtomicExchange ( global highp int) +0:334 'im2Di' (layout( r32i) uniform highp iimage2D) +0:334 'P' ( uniform mediump 2-component vector of int) +0:334 'dati' ( temp mediump int) +0:335 imageAtomicExchange ( global highp uint) +0:335 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:335 'P' ( uniform mediump 2-component vector of int) +0:335 'datu' ( temp mediump uint) +0:336 imageAtomicExchange ( global highp float) +0:336 'im2Df' (layout( r32f) uniform highp image2D) +0:336 'P' ( uniform mediump 2-component vector of int) +0:336 'datf' ( temp mediump float) +0:337 imageAtomicCompSwap ( global highp int) +0:337 'im2Di' (layout( r32i) uniform highp iimage2D) +0:337 'P' ( uniform mediump 2-component vector of int) 0:337 Constant: 0:337 3 (const int) -0:337 'dati' (temp mediump int) -0:338 imageAtomicCompSwap (global highp uint) -0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:338 'P' (uniform mediump 2-component vector of int) +0:337 'dati' ( temp mediump int) +0:338 imageAtomicCompSwap ( global highp uint) +0:338 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:338 'P' ( uniform mediump 2-component vector of int) 0:338 Constant: 0:338 5 (const uint) -0:338 'datu' (temp mediump uint) -0:340 imageAtomicMax (global highp int) -0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D) -0:340 'P' (uniform mediump 2-component vector of int) -0:340 'dati' (temp mediump int) -0:341 imageAtomicMax (global highp uint) -0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D) -0:341 'P' (uniform mediump 2-component vector of int) -0:341 'datu' (temp mediump uint) -0:342 imageAtomicExchange (global highp float) -0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D) -0:342 'P' (uniform mediump 2-component vector of int) -0:342 'datf' (temp mediump float) -0:353 Function Definition: badInterp( (global void) +0:338 'datu' ( temp mediump uint) +0:340 imageAtomicMax ( global highp int) +0:340 'badIm2Di' (layout( rgba16i) uniform highp iimage2D) +0:340 'P' ( uniform mediump 2-component vector of int) +0:340 'dati' ( temp mediump int) +0:341 imageAtomicMax ( global highp uint) +0:341 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D) +0:341 'P' ( uniform mediump 2-component vector of int) +0:341 'datu' ( temp mediump uint) +0:342 imageAtomicExchange ( global highp float) +0:342 'badIm2Df' (layout( rgba32f) uniform highp image2D) +0:342 'P' ( uniform mediump 2-component vector of int) +0:342 'datf' ( temp mediump float) +0:353 Function Definition: badInterp( ( global void) 0:353 Function Parameters: 0:355 Sequence -0:355 interpolateAtCentroid (global mediump 2-component vector of float) -0:355 'colorfc' (centroid flat in mediump 2-component vector of float) -0:356 interpolateAtSample (global mediump 2-component vector of float) -0:356 'colorfc' (centroid flat in mediump 2-component vector of float) +0:355 interpolateAtCentroid ( global mediump 2-component vector of float) +0:355 'colorfc' ( centroid flat in mediump 2-component vector of float) +0:356 interpolateAtSample ( global mediump 2-component vector of float) +0:356 'colorfc' ( centroid flat in mediump 2-component vector of float) 0:356 Constant: 0:356 1 (const int) -0:357 interpolateAtOffset (global mediump 2-component vector of float) -0:357 'colorfc' (centroid flat in mediump 2-component vector of float) +0:357 interpolateAtOffset ( global mediump 2-component vector of float) +0:357 'colorfc' ( centroid flat in mediump 2-component vector of float) 0:357 Constant: 0:357 0.200000 0:357 0.200000 -0:369 Function Definition: interp( (global void) +0:369 Function Definition: interp( ( global void) 0:369 Function Parameters: 0:? Sequence -0:376 move second child to first child (temp mediump 2-component vector of float) -0:376 'res2' (temp mediump 2-component vector of float) -0:376 interpolateAtCentroid (global mediump 2-component vector of float) -0:376 'colorfc' (centroid flat in mediump 2-component vector of float) -0:377 move second child to first child (temp mediump 4-component vector of float) -0:377 'res4' (temp mediump 4-component vector of float) -0:377 interpolateAtCentroid (global mediump 4-component vector of float) -0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float) -0:378 move second child to first child (temp mediump 4-component vector of float) -0:378 'res4' (temp mediump 4-component vector of float) -0:378 interpolateAtCentroid (global mediump 4-component vector of float) -0:378 'colorfsi' (flat sample in mediump 4-component vector of float) -0:379 move second child to first child (temp mediump float) -0:379 'res' (temp mediump float) -0:379 interpolateAtCentroid (global mediump float) -0:379 'scalarIn' (smooth in mediump float) -0:380 'res3' (temp mediump 3-component vector of float) -0:381 move second child to first child (temp mediump 3-component vector of float) -0:381 'res3' (temp mediump 3-component vector of float) -0:381 interpolateAtCentroid (global mediump 3-component vector of float) -0:381 direct index (smooth sample temp mediump 3-component vector of float) -0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) +0:376 move second child to first child ( temp mediump 2-component vector of float) +0:376 'res2' ( temp mediump 2-component vector of float) +0:376 interpolateAtCentroid ( global mediump 2-component vector of float) +0:376 'colorfc' ( centroid flat in mediump 2-component vector of float) +0:377 move second child to first child ( temp mediump 4-component vector of float) +0:377 'res4' ( temp mediump 4-component vector of float) +0:377 interpolateAtCentroid ( global mediump 4-component vector of float) +0:377 'colorSampIn' ( smooth sample in mediump 4-component vector of float) +0:378 move second child to first child ( temp mediump 4-component vector of float) +0:378 'res4' ( temp mediump 4-component vector of float) +0:378 interpolateAtCentroid ( global mediump 4-component vector of float) +0:378 'colorfsi' ( flat sample in mediump 4-component vector of float) +0:379 move second child to first child ( temp mediump float) +0:379 'res' ( temp mediump float) +0:379 interpolateAtCentroid ( global mediump float) +0:379 'scalarIn' ( smooth in mediump float) +0:380 'res3' ( temp mediump 3-component vector of float) +0:381 move second child to first child ( temp mediump 3-component vector of float) +0:381 'res3' ( temp mediump 3-component vector of float) +0:381 interpolateAtCentroid ( global mediump 3-component vector of float) +0:381 direct index ( smooth sample temp mediump 3-component vector of float) +0:381 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) 0:381 Constant: 0:381 2 (const int) -0:382 move second child to first child (temp mediump 2-component vector of float) -0:382 'res2' (temp mediump 2-component vector of float) -0:382 interpolateAtCentroid (global mediump 2-component vector of float) -0:382 vector swizzle (temp mediump 2-component vector of float) -0:382 direct index (smooth sample temp mediump 3-component vector of float) -0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) +0:382 move second child to first child ( temp mediump 2-component vector of float) +0:382 'res2' ( temp mediump 2-component vector of float) +0:382 interpolateAtCentroid ( global mediump 2-component vector of float) +0:382 vector swizzle ( temp mediump 2-component vector of float) +0:382 direct index ( smooth sample temp mediump 3-component vector of float) +0:382 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) 0:382 Constant: 0:382 2 (const int) 0:382 Sequence @@ -828,21 +832,21 @@ ERROR: node is still EOpNull! 0:382 0 (const int) 0:382 Constant: 0:382 1 (const int) -0:384 'res3' (temp mediump 3-component vector of float) -0:385 move second child to first child (temp mediump 3-component vector of float) -0:385 'res3' (temp mediump 3-component vector of float) -0:385 interpolateAtSample (global mediump 3-component vector of float) -0:385 indirect index (smooth sample temp mediump 3-component vector of float) -0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) -0:385 'i' (uniform mediump int) +0:384 'res3' ( temp mediump 3-component vector of float) +0:385 move second child to first child ( temp mediump 3-component vector of float) +0:385 'res3' ( temp mediump 3-component vector of float) +0:385 interpolateAtSample ( global mediump 3-component vector of float) +0:385 indirect index ( smooth sample temp mediump 3-component vector of float) +0:385 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) +0:385 'i' ( uniform mediump int) 0:385 Constant: 0:385 0 (const int) -0:386 move second child to first child (temp mediump 2-component vector of float) -0:386 'res2' (temp mediump 2-component vector of float) -0:386 interpolateAtSample (global mediump 2-component vector of float) -0:386 vector swizzle (temp mediump 2-component vector of float) -0:386 direct index (smooth sample temp mediump 3-component vector of float) -0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) +0:386 move second child to first child ( temp mediump 2-component vector of float) +0:386 'res2' ( temp mediump 2-component vector of float) +0:386 interpolateAtSample ( global mediump 2-component vector of float) +0:386 vector swizzle ( temp mediump 2-component vector of float) +0:386 direct index ( smooth sample temp mediump 3-component vector of float) +0:386 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) 0:386 Constant: 0:386 2 (const int) 0:386 Sequence @@ -852,29 +856,29 @@ ERROR: node is still EOpNull! 0:386 1 (const int) 0:386 Constant: 0:386 2 (const int) -0:387 move second child to first child (temp mediump float) -0:387 'res' (temp mediump float) -0:387 interpolateAtSample (global mediump float) -0:387 'scalarIn' (smooth in mediump float) +0:387 move second child to first child ( temp mediump float) +0:387 'res' ( temp mediump float) +0:387 interpolateAtSample ( global mediump float) +0:387 'scalarIn' ( smooth in mediump float) 0:387 Constant: 0:387 1 (const int) -0:389 'res3' (temp mediump 3-component vector of float) -0:390 move second child to first child (temp mediump 3-component vector of float) -0:390 'res3' (temp mediump 3-component vector of float) -0:390 interpolateAtOffset (global mediump 3-component vector of float) -0:390 direct index (smooth sample temp mediump 3-component vector of float) -0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) +0:389 'res3' ( temp mediump 3-component vector of float) +0:390 move second child to first child ( temp mediump 3-component vector of float) +0:390 'res3' ( temp mediump 3-component vector of float) +0:390 interpolateAtOffset ( global mediump 3-component vector of float) +0:390 direct index ( smooth sample temp mediump 3-component vector of float) +0:390 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) 0:390 Constant: 0:390 2 (const int) 0:390 Constant: 0:390 0.200000 0:390 0.200000 -0:391 move second child to first child (temp mediump 2-component vector of float) -0:391 'res2' (temp mediump 2-component vector of float) -0:391 interpolateAtOffset (global mediump 2-component vector of float) -0:391 vector swizzle (temp mediump 2-component vector of float) -0:391 direct index (smooth sample temp mediump 3-component vector of float) -0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) +0:391 move second child to first child ( temp mediump 2-component vector of float) +0:391 'res2' ( temp mediump 2-component vector of float) +0:391 interpolateAtOffset ( global mediump 2-component vector of float) +0:391 vector swizzle ( temp mediump 2-component vector of float) +0:391 direct index ( smooth sample temp mediump 3-component vector of float) +0:391 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) 0:391 Constant: 0:391 2 (const int) 0:391 Sequence @@ -885,94 +889,104 @@ ERROR: node is still EOpNull! 0:391 Constant: 0:391 0.200000 0:391 0.200000 -0:392 move second child to first child (temp mediump float) -0:392 'res' (temp mediump float) -0:392 interpolateAtOffset (global mediump float) -0:392 add (temp mediump float) -0:392 'scalarIn' (smooth in mediump float) -0:392 'scalarIn' (smooth in mediump float) +0:392 move second child to first child ( temp mediump float) +0:392 'res' ( temp mediump float) +0:392 interpolateAtOffset ( global mediump float) +0:392 add ( temp mediump float) +0:392 'scalarIn' ( smooth in mediump float) +0:392 'scalarIn' ( smooth in mediump float) 0:392 Constant: 0:392 0.200000 0:392 0.200000 -0:393 move second child to first child (temp mediump float) -0:393 'res' (temp mediump float) -0:393 interpolateAtOffset (global mediump float) -0:393 'scalarIn' (smooth in mediump float) +0:393 move second child to first child ( temp mediump float) +0:393 'res' ( temp mediump float) +0:393 interpolateAtOffset ( global mediump float) +0:393 'scalarIn' ( smooth in mediump float) 0:393 Constant: 0:393 0.200000 0:393 0.200000 -0:396 move second child to first child (temp mediump float) -0:396 'res' (temp mediump float) -0:396 interpolateAtCentroid (global mediump float) -0:396 'f' (temp mediump float) -0:397 move second child to first child (temp mediump 4-component vector of float) -0:397 'res4' (temp mediump 4-component vector of float) -0:397 interpolateAtSample (global mediump 4-component vector of float) -0:397 'outp' (out mediump 4-component vector of float) +0:396 move second child to first child ( temp mediump float) +0:396 'res' ( temp mediump float) +0:396 interpolateAtCentroid ( global mediump float) +0:396 'f' ( temp mediump float) +0:397 move second child to first child ( temp mediump 4-component vector of float) +0:397 'res4' ( temp mediump 4-component vector of float) +0:397 interpolateAtSample ( global mediump 4-component vector of float) +0:397 'outp' ( out mediump 4-component vector of float) 0:397 Constant: 0:397 0 (const int) -0:427 Function Definition: blendFoo( (temp void) +0:427 Function Definition: blendFoo( ( temp void) 0:427 Function Parameters: -0:428 Function Definition: blendFoo(vf3; (global void) +0:428 Function Definition: blendFoo(vf3; ( global void) 0:428 Function Parameters: -0:428 'v' (in mediump 3-component vector of float) +0:428 'v' ( in mediump 3-component vector of float) +0:433 Function Definition: devi( ( global void) +0:433 Function Parameters: +0:435 Sequence +0:435 'gl_DeviceIndex' ( flat in highp int DeviceIndex) +0:436 'gl_ViewIndex' ( flat in highp int ViewIndex) +0:447 Function Definition: devie( ( global void) +0:447 Function Parameters: +0:449 Sequence +0:449 'gl_DeviceIndex' ( flat in highp int DeviceIndex) +0:450 'gl_ViewIndex' ( flat in highp int ViewIndex) 0:? Linker Objects -0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float) -0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float) -0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float) -0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D) -0:? 'usamp2d' (uniform highp usampler2D) -0:? 'samp2dr' (uniform mediump usampler2DRect) -0:? 'isamp2DA' (uniform highp isampler2DArray) -0:? 'c2D' (smooth in mediump 2-component vector of float) -0:? 'i' (uniform mediump int) -0:? 'outp' (out mediump 4-component vector of float) -0:? 's1' (layout(binding=3 ) uniform highp sampler2D) -0:? 's2' (layout(binding=3 ) uniform highp sampler2D) -0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D) -0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D) -0:? 'iCube' (layout(binding=5 ) uniform mediump imageCube) -0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray) -0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D) -0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f}) -0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float) -0:? 'bigl' (uniform mediump 4-component vector of float) -0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float) -0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float) -0:? 'neg' (out mediump 4-component vector of float) -0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i}) -0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i}) -0:? 'smoothIn' (smooth in mediump 4-component vector of float) -0:? 'flatIn' (flat in mediump int) -0:? 's2dms' (uniform mediump sampler2DMS) -0:? 'bout' (out bool) -0:? 'imageOut' (out highp image2D) -0:? 'mout' (out mediump 2X3 matrix of float) -0:? 'inb' (smooth in bool) -0:? 'ino' (smooth in highp sampler2D) -0:? 'ina' (smooth in 4-element array of mediump float) -0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float) -0:? 'ins' (smooth in structure{global mediump float f}) -0:? 'inasa' (smooth in 4-element array of structure{global mediump float f}) -0:? 'insa' (smooth in 4-element array of structure{global mediump float f}) -0:? 'inSA' (smooth in structure{global 4-element array of mediump float f}) -0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s}) -0:? 'outbinst' (out block{out mediump int a}) -0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s}) -0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon}) -0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float) -0:? 'arrayedInst' (in 4-element array of block{in mediump float f}) -0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:? 'inf' (smooth in mediump 2-component vector of float) -0:? 'ing' (smooth in mediump 2-component vector of float) -0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int) -0:? 'sArray' (uniform 4-element array of highp sampler2D) -0:? 'sIndex' (uniform mediump int) -0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint) -0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i}) -0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i}) -0:? 'iArray' (writeonly uniform 5-element array of highp image2D) -0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int) +0:? 'gl_FragCoord' ( smooth in mediump 4-component vector of float) +0:? 'v3' (layout( location=2) smooth in mediump 3-component vector of float) +0:? 'yi' (layout( location=2) smooth in mediump 4X4 matrix of float) +0:? 'arrayedSampler' ( uniform 5-element array of highp sampler2D) +0:? 'usamp2d' ( uniform highp usampler2D) +0:? 'samp2dr' ( uniform mediump usampler2DRect) +0:? 'isamp2DA' ( uniform highp isampler2DArray) +0:? 'c2D' ( smooth in mediump 2-component vector of float) +0:? 'i' ( uniform mediump int) +0:? 'outp' ( out mediump 4-component vector of float) +0:? 's1' (layout( binding=3) uniform highp sampler2D) +0:? 's2' (layout( binding=3) uniform highp sampler2D) +0:? 'i2D' (layout( binding=2) writeonly uniform highp image2D) +0:? 'i3D' (layout( binding=4) readonly uniform mediump image3D) +0:? 'iCube' (layout( binding=5) uniform mediump imageCube) +0:? 'i2DA' (layout( binding=6) uniform mediump image2DArray) +0:? 'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D) +0:? 'bbi' (layout( binding=1 column_major shared) uniform block{layout( column_major shared) uniform mediump int foo, layout( binding=2 column_major shared) uniform mediump float f}) +0:? 'centroidIn' ( centroid smooth in mediump 4-component vector of float) +0:? 'bigl' ( uniform mediump 4-component vector of float) +0:? 'bigout1' (layout( location=40) out mediump 4-component vector of float) +0:? 'bigout2' (layout( location=40) out mediump 4-component vector of float) +0:? 'neg' ( out mediump 4-component vector of float) +0:? 'b430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump int i}) +0:? 'bshari' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int i}) +0:? 'smoothIn' ( smooth in mediump 4-component vector of float) +0:? 'flatIn' ( flat in mediump int) +0:? 's2dms' ( uniform mediump sampler2DMS) +0:? 'bout' ( out bool) +0:? 'imageOut' ( out highp image2D) +0:? 'mout' ( out mediump 2X3 matrix of float) +0:? 'inb' ( smooth in bool) +0:? 'ino' ( smooth in highp sampler2D) +0:? 'ina' ( smooth in 4-element array of mediump float) +0:? 'inaa' ( smooth in 4-element array of 2-element array of mediump float) +0:? 'ins' ( smooth in structure{ global mediump float f}) +0:? 'inasa' ( smooth in 4-element array of structure{ global mediump float f}) +0:? 'insa' ( smooth in 4-element array of structure{ global mediump float f}) +0:? 'inSA' ( smooth in structure{ global 4-element array of mediump float f}) +0:? 'inSS' ( smooth in structure{ global mediump float f, global structure{ global mediump float f} s}) +0:? 'outbinst' ( out block{ out mediump int a}) +0:? 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s}) +0:? 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon}) +0:? 'aliased' (layout( location=13) smooth in mediump 4-component vector of float) +0:? 'arrayedInst' ( in 4-element array of block{ in mediump float f}) +0:? 'gl_FragDepth' ( gl_FragDepth highp float FragDepth) +0:? 'inf' ( smooth in mediump 2-component vector of float) +0:? 'ing' ( smooth in mediump 2-component vector of float) +0:? 'offsets' ( uniform 4-element array of mediump 2-component vector of int) +0:? 'sArray' ( uniform 4-element array of highp sampler2D) +0:? 'sIndex' ( uniform mediump int) +0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint) +0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i}) +0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i}) +0:? 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:? 'constOffsets' ( const 4-element array of mediump 2-component vector of int) 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) @@ -981,35 +995,35 @@ ERROR: node is still EOpNull! 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) -0:? 'CA1' (writeonly uniform highp imageCubeArray) -0:? 'CA2' (writeonly uniform highp iimageCubeArray) -0:? 'CA3' (writeonly uniform highp uimageCubeArray) -0:? 'CA4' (uniform highp samplerCubeArray) -0:? 'CA5' (uniform highp samplerCubeArrayShadow) -0:? 'CA6' (uniform highp isamplerCubeArray) -0:? 'CA7' (uniform highp usamplerCubeArray) -0:? 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn) -0:? 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn) -0:? 'im2Df' (layout(r32f ) uniform highp image2D) -0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:? 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:? 'P' (uniform mediump 2-component vector of int) -0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D) -0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D) -0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D) -0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float) -0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float) -0:? 'colorBadFlat' (flat out mediump 4-component vector of float) -0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float) -0:? 'colorBadNo' (noperspective out mediump 4-component vector of float) -0:? 'colorfc' (centroid flat in mediump 2-component vector of float) -0:? 'scalarIn' (smooth in mediump float) -0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float) -0:? 'colorSampleBad' (sample out mediump 4-component vector of float) -0:? 'colorfsi' (flat sample in mediump 4-component vector of float) -0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) -0:? 'badout' (out mediump 4-component vector of float) -0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float) +0:? 'CA1' ( writeonly uniform highp imageCubeArray) +0:? 'CA2' ( writeonly uniform highp iimageCubeArray) +0:? 'CA3' ( writeonly uniform highp uimageCubeArray) +0:? 'CA4' ( uniform highp samplerCubeArray) +0:? 'CA5' ( uniform highp samplerCubeArrayShadow) +0:? 'CA6' ( uniform highp isamplerCubeArray) +0:? 'CA7' ( uniform highp usamplerCubeArray) +0:? 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn) +0:? 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn) +0:? 'im2Df' (layout( r32f) uniform highp image2D) +0:? 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:? 'im2Di' (layout( r32i) uniform highp iimage2D) +0:? 'P' ( uniform mediump 2-component vector of int) +0:? 'badIm2Df' (layout( rgba32f) uniform highp image2D) +0:? 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D) +0:? 'badIm2Di' (layout( rgba16i) uniform highp iimage2D) +0:? 'colorSampInBad' ( smooth sample in mediump 4-component vector of float) +0:? 'colorCentroidBad' ( centroid out mediump 4-component vector of float) +0:? 'colorBadFlat' ( flat out mediump 4-component vector of float) +0:? 'colorBadSmooth' ( smooth out mediump 4-component vector of float) +0:? 'colorBadNo' ( noperspective out mediump 4-component vector of float) +0:? 'colorfc' ( centroid flat in mediump 2-component vector of float) +0:? 'scalarIn' ( smooth in mediump float) +0:? 'colorSampIn' ( smooth sample in mediump 4-component vector of float) +0:? 'colorSampleBad' ( sample out mediump 4-component vector of float) +0:? 'colorfsi' ( flat sample in mediump 4-component vector of float) +0:? 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) +0:? 'badout' ( out mediump 4-component vector of float) +0:? 'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float) Linked fragment stage: @@ -1017,6 +1031,8 @@ Linked fragment stage: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers Shader version: 310 +Requested GL_EXT_device_group +Requested GL_EXT_multiview Requested GL_EXT_shader_io_blocks Requested GL_EXT_texture_cube_map_array Requested GL_KHR_blend_equation_advanced @@ -1032,31 +1048,31 @@ using early_fragment_tests using depth_any using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations ERROR: node is still EOpNull! -0:21 Function Definition: main( (global void) +0:21 Function Definition: main( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp highp 4-component vector of float) -0:23 'v' (temp mediump 4-component vector of float) -0:23 texture (global highp 4-component vector of float) -0:23 indirect index (temp highp sampler2D) -0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D) -0:23 'i' (uniform mediump int) -0:23 'c2D' (smooth in mediump 2-component vector of float) +0:23 move second child to first child ( temp highp 4-component vector of float) +0:23 'v' ( temp mediump 4-component vector of float) +0:23 texture ( global highp 4-component vector of float) +0:23 indirect index ( temp highp sampler2D) +0:23 'arrayedSampler' ( uniform 5-element array of highp sampler2D) +0:23 'i' ( uniform mediump int) +0:23 'c2D' ( smooth in mediump 2-component vector of float) 0:28 Sequence -0:28 move second child to first child (temp highp 4-component vector of float) -0:28 'v4' (temp mediump 4-component vector of float) -0:28 textureGather (global highp 4-component vector of float) -0:28 direct index (temp highp sampler2D) -0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D) +0:28 move second child to first child ( temp highp 4-component vector of float) +0:28 'v4' ( temp mediump 4-component vector of float) +0:28 textureGather ( global highp 4-component vector of float) +0:28 direct index ( temp highp sampler2D) +0:28 'arrayedSampler' ( uniform 5-element array of highp sampler2D) 0:28 Constant: 0:28 0 (const int) -0:28 'c2D' (smooth in mediump 2-component vector of float) +0:28 'c2D' ( smooth in mediump 2-component vector of float) 0:29 Sequence -0:29 move second child to first child (temp highp 4-component vector of int) -0:29 'iv4' (temp mediump 4-component vector of int) -0:29 textureGatherOffset (global highp 4-component vector of int) -0:29 'isamp2DA' (uniform highp isampler2DArray) +0:29 move second child to first child ( temp highp 4-component vector of int) +0:29 'iv4' ( temp mediump 4-component vector of int) +0:29 textureGatherOffset ( global highp 4-component vector of int) +0:29 'isamp2DA' ( uniform highp isampler2DArray) 0:29 Constant: 0:29 0.100000 0:29 0.100000 @@ -1066,10 +1082,10 @@ ERROR: node is still EOpNull! 0:29 1 (const int) 0:29 Constant: 0:29 3 (const int) -0:30 move second child to first child (temp highp 4-component vector of int) -0:30 'iv4' (temp mediump 4-component vector of int) -0:30 textureGatherOffset (global highp 4-component vector of int) -0:30 'isamp2DA' (uniform highp isampler2DArray) +0:30 move second child to first child ( temp highp 4-component vector of int) +0:30 'iv4' ( temp mediump 4-component vector of int) +0:30 textureGatherOffset ( global highp 4-component vector of int) +0:30 'isamp2DA' ( uniform highp isampler2DArray) 0:30 Constant: 0:30 0.100000 0:30 0.100000 @@ -1077,11 +1093,11 @@ ERROR: node is still EOpNull! 0:30 Constant: 0:30 1 (const int) 0:30 1 (const int) -0:30 'i' (uniform mediump int) -0:31 move second child to first child (temp highp 4-component vector of int) -0:31 'iv4' (temp mediump 4-component vector of int) -0:31 textureGatherOffset (global highp 4-component vector of int) -0:31 'isamp2DA' (uniform highp isampler2DArray) +0:30 'i' ( uniform mediump int) +0:31 move second child to first child ( temp highp 4-component vector of int) +0:31 'iv4' ( temp mediump 4-component vector of int) +0:31 textureGatherOffset ( global highp 4-component vector of int) +0:31 'isamp2DA' ( uniform highp isampler2DArray) 0:31 Constant: 0:31 0.100000 0:31 0.100000 @@ -1091,10 +1107,10 @@ ERROR: node is still EOpNull! 0:31 1 (const int) 0:31 Constant: 0:31 4 (const int) -0:32 move second child to first child (temp highp 4-component vector of int) -0:32 'iv4' (temp mediump 4-component vector of int) -0:32 textureGatherOffset (global highp 4-component vector of int) -0:32 'isamp2DA' (uniform highp isampler2DArray) +0:32 move second child to first child ( temp highp 4-component vector of int) +0:32 'iv4' ( temp mediump 4-component vector of int) +0:32 textureGatherOffset ( global highp 4-component vector of int) +0:32 'isamp2DA' ( uniform highp isampler2DArray) 0:32 Constant: 0:32 0.100000 0:32 0.100000 @@ -1104,10 +1120,10 @@ ERROR: node is still EOpNull! 0:32 1 (const int) 0:32 Constant: 0:32 3 (const int) -0:33 move second child to first child (temp highp 4-component vector of int) -0:33 'iv4' (temp mediump 4-component vector of int) -0:33 textureGatherOffset (global highp 4-component vector of int) -0:33 'isamp2DA' (uniform highp isampler2DArray) +0:33 move second child to first child ( temp highp 4-component vector of int) +0:33 'iv4' ( temp mediump 4-component vector of int) +0:33 textureGatherOffset ( global highp 4-component vector of int) +0:33 'isamp2DA' ( uniform highp isampler2DArray) 0:33 Constant: 0:33 0.100000 0:33 0.100000 @@ -1115,73 +1131,73 @@ ERROR: node is still EOpNull! 0:33 Constant: 0:33 0 (const int) 0:33 0 (const int) -0:34 move second child to first child (temp highp 4-component vector of int) -0:34 'iv4' (temp mediump 4-component vector of int) -0:34 textureGatherOffset (global highp 4-component vector of int) -0:34 'isamp2DA' (uniform highp isampler2DArray) +0:34 move second child to first child ( temp highp 4-component vector of int) +0:34 'iv4' ( temp mediump 4-component vector of int) +0:34 textureGatherOffset ( global highp 4-component vector of int) +0:34 'isamp2DA' ( uniform highp isampler2DArray) 0:34 Constant: 0:34 0.100000 0:34 0.100000 0:34 0.100000 -0:34 Construct ivec2 (temp highp 2-component vector of int) -0:34 'i' (uniform mediump int) +0:34 Construct ivec2 ( temp highp 2-component vector of int) +0:34 'i' ( uniform mediump int) 0:? Linker Objects -0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float) -0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float) -0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float) -0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D) -0:? 'usamp2d' (uniform highp usampler2D) -0:? 'samp2dr' (uniform mediump usampler2DRect) -0:? 'isamp2DA' (uniform highp isampler2DArray) -0:? 'c2D' (smooth in mediump 2-component vector of float) -0:? 'i' (uniform mediump int) -0:? 'outp' (out mediump 4-component vector of float) -0:? 's1' (layout(binding=3 ) uniform highp sampler2D) -0:? 's2' (layout(binding=3 ) uniform highp sampler2D) -0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D) -0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D) -0:? 'iCube' (layout(binding=5 ) uniform mediump imageCube) -0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray) -0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D) -0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f}) -0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float) -0:? 'bigl' (uniform mediump 4-component vector of float) -0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float) -0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float) -0:? 'neg' (out mediump 4-component vector of float) -0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i}) -0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i}) -0:? 'smoothIn' (smooth in mediump 4-component vector of float) -0:? 'flatIn' (flat in mediump int) -0:? 's2dms' (uniform mediump sampler2DMS) -0:? 'bout' (out bool) -0:? 'imageOut' (out highp image2D) -0:? 'mout' (out mediump 2X3 matrix of float) -0:? 'inb' (smooth in bool) -0:? 'ino' (smooth in highp sampler2D) -0:? 'ina' (smooth in 4-element array of mediump float) -0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float) -0:? 'ins' (smooth in structure{global mediump float f}) -0:? 'inasa' (smooth in 4-element array of structure{global mediump float f}) -0:? 'insa' (smooth in 4-element array of structure{global mediump float f}) -0:? 'inSA' (smooth in structure{global 4-element array of mediump float f}) -0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s}) -0:? 'outbinst' (out block{out mediump int a}) -0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s}) -0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon}) -0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float) -0:? 'arrayedInst' (in 4-element array of block{in mediump float f}) -0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:? 'inf' (smooth in mediump 2-component vector of float) -0:? 'ing' (smooth in mediump 2-component vector of float) -0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int) -0:? 'sArray' (uniform 4-element array of highp sampler2D) -0:? 'sIndex' (uniform mediump int) -0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint) -0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i}) -0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i}) -0:? 'iArray' (writeonly uniform 5-element array of highp image2D) -0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int) +0:? 'gl_FragCoord' ( smooth in mediump 4-component vector of float) +0:? 'v3' (layout( location=2) smooth in mediump 3-component vector of float) +0:? 'yi' (layout( location=2) smooth in mediump 4X4 matrix of float) +0:? 'arrayedSampler' ( uniform 5-element array of highp sampler2D) +0:? 'usamp2d' ( uniform highp usampler2D) +0:? 'samp2dr' ( uniform mediump usampler2DRect) +0:? 'isamp2DA' ( uniform highp isampler2DArray) +0:? 'c2D' ( smooth in mediump 2-component vector of float) +0:? 'i' ( uniform mediump int) +0:? 'outp' ( out mediump 4-component vector of float) +0:? 's1' (layout( binding=3) uniform highp sampler2D) +0:? 's2' (layout( binding=3) uniform highp sampler2D) +0:? 'i2D' (layout( binding=2) writeonly uniform highp image2D) +0:? 'i3D' (layout( binding=4) readonly uniform mediump image3D) +0:? 'iCube' (layout( binding=5) uniform mediump imageCube) +0:? 'i2DA' (layout( binding=6) uniform mediump image2DArray) +0:? 'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D) +0:? 'bbi' (layout( binding=1 column_major shared) uniform block{layout( column_major shared) uniform mediump int foo, layout( binding=2 column_major shared) uniform mediump float f}) +0:? 'centroidIn' ( centroid smooth in mediump 4-component vector of float) +0:? 'bigl' ( uniform mediump 4-component vector of float) +0:? 'bigout1' (layout( location=40) out mediump 4-component vector of float) +0:? 'bigout2' (layout( location=40) out mediump 4-component vector of float) +0:? 'neg' ( out mediump 4-component vector of float) +0:? 'b430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump int i}) +0:? 'bshari' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int i}) +0:? 'smoothIn' ( smooth in mediump 4-component vector of float) +0:? 'flatIn' ( flat in mediump int) +0:? 's2dms' ( uniform mediump sampler2DMS) +0:? 'bout' ( out bool) +0:? 'imageOut' ( out highp image2D) +0:? 'mout' ( out mediump 2X3 matrix of float) +0:? 'inb' ( smooth in bool) +0:? 'ino' ( smooth in highp sampler2D) +0:? 'ina' ( smooth in 4-element array of mediump float) +0:? 'inaa' ( smooth in 4-element array of 2-element array of mediump float) +0:? 'ins' ( smooth in structure{ global mediump float f}) +0:? 'inasa' ( smooth in 4-element array of structure{ global mediump float f}) +0:? 'insa' ( smooth in 4-element array of structure{ global mediump float f}) +0:? 'inSA' ( smooth in structure{ global 4-element array of mediump float f}) +0:? 'inSS' ( smooth in structure{ global mediump float f, global structure{ global mediump float f} s}) +0:? 'outbinst' ( out block{ out mediump int a}) +0:? 'inbinst' ( in block{ in mediump int a, in mediump 4-component vector of float v, in structure{ global mediump int b} s}) +0:? 'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon}) +0:? 'aliased' (layout( location=13) smooth in mediump 4-component vector of float) +0:? 'arrayedInst' ( in 4-element array of block{ in mediump float f}) +0:? 'gl_FragDepth' ( gl_FragDepth highp float FragDepth) +0:? 'inf' ( smooth in mediump 2-component vector of float) +0:? 'ing' ( smooth in mediump 2-component vector of float) +0:? 'offsets' ( uniform 4-element array of mediump 2-component vector of int) +0:? 'sArray' ( uniform 4-element array of highp sampler2D) +0:? 'sIndex' ( uniform mediump int) +0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint) +0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i}) +0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i}) +0:? 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:? 'constOffsets' ( const 4-element array of mediump 2-component vector of int) 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) @@ -1190,33 +1206,33 @@ ERROR: node is still EOpNull! 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) -0:? 'CA1' (writeonly uniform highp imageCubeArray) -0:? 'CA2' (writeonly uniform highp iimageCubeArray) -0:? 'CA3' (writeonly uniform highp uimageCubeArray) -0:? 'CA4' (uniform highp samplerCubeArray) -0:? 'CA5' (uniform highp samplerCubeArrayShadow) -0:? 'CA6' (uniform highp isamplerCubeArray) -0:? 'CA7' (uniform highp usamplerCubeArray) -0:? 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn) -0:? 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn) -0:? 'im2Df' (layout(r32f ) uniform highp image2D) -0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:? 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:? 'P' (uniform mediump 2-component vector of int) -0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D) -0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D) -0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D) -0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float) -0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float) -0:? 'colorBadFlat' (flat out mediump 4-component vector of float) -0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float) -0:? 'colorBadNo' (noperspective out mediump 4-component vector of float) -0:? 'colorfc' (centroid flat in mediump 2-component vector of float) -0:? 'scalarIn' (smooth in mediump float) -0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float) -0:? 'colorSampleBad' (sample out mediump 4-component vector of float) -0:? 'colorfsi' (flat sample in mediump 4-component vector of float) -0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float) -0:? 'badout' (out mediump 4-component vector of float) -0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float) +0:? 'CA1' ( writeonly uniform highp imageCubeArray) +0:? 'CA2' ( writeonly uniform highp iimageCubeArray) +0:? 'CA3' ( writeonly uniform highp uimageCubeArray) +0:? 'CA4' ( uniform highp samplerCubeArray) +0:? 'CA5' ( uniform highp samplerCubeArrayShadow) +0:? 'CA6' ( uniform highp isamplerCubeArray) +0:? 'CA7' ( uniform highp usamplerCubeArray) +0:? 'gl_SampleMaskIn' ( flat in 1-element array of highp int SampleMaskIn) +0:? 'gl_SampleMask' ( out 1-element array of highp int SampleMaskIn) +0:? 'im2Df' (layout( r32f) uniform highp image2D) +0:? 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:? 'im2Di' (layout( r32i) uniform highp iimage2D) +0:? 'P' ( uniform mediump 2-component vector of int) +0:? 'badIm2Df' (layout( rgba32f) uniform highp image2D) +0:? 'badIm2Du' (layout( rgba8ui) uniform highp uimage2D) +0:? 'badIm2Di' (layout( rgba16i) uniform highp iimage2D) +0:? 'colorSampInBad' ( smooth sample in mediump 4-component vector of float) +0:? 'colorCentroidBad' ( centroid out mediump 4-component vector of float) +0:? 'colorBadFlat' ( flat out mediump 4-component vector of float) +0:? 'colorBadSmooth' ( smooth out mediump 4-component vector of float) +0:? 'colorBadNo' ( noperspective out mediump 4-component vector of float) +0:? 'colorfc' ( centroid flat in mediump 2-component vector of float) +0:? 'scalarIn' ( smooth in mediump float) +0:? 'colorSampIn' ( smooth sample in mediump 4-component vector of float) +0:? 'colorSampleBad' ( sample out mediump 4-component vector of float) +0:? 'colorfsi' ( flat sample in mediump 4-component vector of float) +0:? 'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float) +0:? 'badout' ( out mediump 4-component vector of float) +0:? 'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.geom.out index def6b7ab310..e57c8222c13 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.geom.out @@ -53,58 +53,58 @@ max_vertices = 200 input primitive = lines_adjacency output primitive = triangle_strip ERROR: node is still EOpNull! -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:41 Sequence -0:41 EmitVertex (global void) -0:42 EndPrimitive (global void) +0:41 EmitVertex ( global void) +0:42 EndPrimitive ( global void) 0:43 Constant: 0:43 0.000000 0:44 Constant: 0:44 0.000000 -0:46 move second child to first child (temp mediump 3-component vector of float) -0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float) -0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) +0:46 move second child to first child ( temp mediump 3-component vector of float) +0:46 color: direct index for structure (layout( stream=0) out mediump 3-component vector of float) +0:46 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) 0:46 Constant: 0:46 0 (const uint) -0:46 color: direct index for structure (in mediump 3-component vector of float) -0:46 direct index (temp block{in mediump 3-component vector of float color}) -0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color}) +0:46 color: direct index for structure ( in mediump 3-component vector of float) +0:46 direct index ( temp block{ in mediump 3-component vector of float color}) +0:46 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) -0:47 move second child to first child (temp float) +0:47 move second child to first child ( temp float) 0:47 Constant: 0:47 0.000000 0:48 Constant: 0:48 0.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position) -0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize}) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position) +0:49 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize}) 0:49 Constant: 0:49 0 (const uint) -0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:49 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:49 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:49 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 0 (const int) -0:51 move second child to first child (temp highp int) -0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID) -0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID) -0:52 move second child to first child (temp highp int) -0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer) +0:51 move second child to first child ( temp highp int) +0:51 'gl_PrimitiveID' (layout( stream=0) out highp int PrimitiveID) +0:51 'gl_PrimitiveIDIn' ( in highp int PrimitiveID) +0:52 move second child to first child ( temp highp int) +0:52 'gl_Layer' (layout( stream=0) out highp int Layer) 0:52 Constant: 0:52 2 (const int) -0:63 Function Definition: foo(i1; (global void) +0:63 Function Definition: foo(i1; ( global void) 0:63 Function Parameters: -0:63 'a' (in highp int) +0:63 'a' ( in highp int) 0:65 Sequence -0:65 move second child to first child (temp mediump 4-component vector of float) -0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float) -0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a}) +0:65 move second child to first child ( temp mediump 4-component vector of float) +0:65 a: direct index for structure (layout( stream=0) out mediump 4-component vector of float) +0:65 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a}) 0:65 Constant: 0:65 0 (const int) 0:65 Constant: @@ -112,85 +112,85 @@ ERROR: node is still EOpNull! 0:65 1.000000 0:65 1.000000 0:65 1.000000 -0:114 Function Definition: fooe1( (global void) +0:114 Function Definition: fooe1( ( global void) 0:114 Function Parameters: 0:116 Sequence -0:116 'gl_ViewportIndex' (temp float) -0:117 'gl_MaxViewports' (temp float) +0:116 'gl_ViewportIndex' ( temp float) +0:117 'gl_MaxViewports' ( temp float) 0:118 Constant: 0:118 4 (const int) 0:119 Sequence -0:119 move second child to first child (temp highp int) -0:119 'inv' (temp highp int) -0:119 'gl_InvocationID' (in highp int InvocationID) -0:134 Function Definition: notHere( (global void) +0:119 move second child to first child ( temp highp int) +0:119 'inv' ( temp highp int) +0:119 'gl_InvocationID' ( in highp int InvocationID) +0:134 Function Definition: notHere( ( global void) 0:134 Function Parameters: 0:136 Sequence -0:136 'gl_MaxGeometryVaryingComponents' (temp float) -0:137 'gl_VerticesIn' (temp float) -0:140 Function Definition: pointSize1( (global void) +0:136 'gl_MaxGeometryVaryingComponents' ( temp float) +0:137 'gl_VerticesIn' ( temp float) +0:140 Function Definition: pointSize1( ( global void) 0:140 Function Parameters: 0:142 Sequence 0:142 Sequence -0:142 move second child to first child (temp highp float) -0:142 'ps' (temp highp float) -0:142 gl_PointSize: direct index for structure (in highp float PointSize) -0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:142 move second child to first child ( temp highp float) +0:142 'ps' ( temp highp float) +0:142 gl_PointSize: direct index for structure ( in highp float PointSize) +0:142 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:142 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) 0:142 Constant: 0:142 3 (const int) 0:142 Constant: 0:142 1 (const int) -0:143 move second child to first child (temp highp float) -0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize) -0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize}) +0:143 move second child to first child ( temp highp float) +0:143 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize highp float PointSize) +0:143 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize}) 0:143 Constant: 0:143 1 (const uint) -0:143 'ps' (temp highp float) -0:148 Function Definition: pointSize2( (global void) +0:143 'ps' ( temp highp float) +0:148 Function Definition: pointSize2( ( global void) 0:148 Function Parameters: 0:150 Sequence 0:150 Sequence -0:150 move second child to first child (temp highp float) -0:150 'ps' (temp highp float) -0:150 gl_PointSize: direct index for structure (in highp float PointSize) -0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:150 move second child to first child ( temp highp float) +0:150 'ps' ( temp highp float) +0:150 gl_PointSize: direct index for structure ( in highp float PointSize) +0:150 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:150 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) 0:150 Constant: 0:150 3 (const int) 0:150 Constant: 0:150 1 (const int) -0:151 move second child to first child (temp highp float) -0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize) -0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize}) +0:151 move second child to first child ( temp highp float) +0:151 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize highp float PointSize) +0:151 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize}) 0:151 Constant: 0:151 1 (const uint) -0:151 'ps' (temp highp float) +0:151 'ps' ( temp highp float) 0:? Linker Objects -0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color}) -0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float) -0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) -0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float) -0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a}) -0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float) -0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float) -0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a}) -0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c}) -0:? 'insn' (in 4-element array of block{in highp int a15}) -0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15}) -0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) -0:? 'summ' (const highp int) +0:? 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color}) +0:? 'nonBlockUnsized' ( in 4-element array of mediump 4-component vector of float) +0:? 'toF' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) +0:? 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:? 'ov4' (layout( stream=4) out mediump 4-component vector of float) +0:? 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a}) +0:? 'badv4' (layout( stream=0) out mediump 4-component vector of float) +0:? 'bad2v4' ( in 4-element array of mediump 4-component vector of float) +0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) out highp int a}) +0:? 'outbi' (layout( stream=0) out block{layout( stream=0) out highp int a, layout( stream=0) out highp int b, layout( stream=0) out highp int c}) +0:? 'insn' ( in 4-element array of block{ in highp int a15}) +0:? 'anon@2' (layout( stream=0) out block{layout( stream=0) out mediump float f15}) +0:? 'anon@3' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15}) +0:? 'summ' ( const highp int) 0:? 2752 (const int) -0:? 'explArray' (in 4-element array of mediump 4-component vector of float) -0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float) -0:? 'nonArrayed' (in mediump 4-component vector of float) -0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float) -0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float) -0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float) -0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float) -0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float) +0:? 'explArray' ( in 4-element array of mediump 4-component vector of float) +0:? 'explArrayBad' ( in 5-element array of mediump 4-component vector of float) +0:? 'nonArrayed' ( in mediump 4-component vector of float) +0:? 'myColor1' (layout( stream=0) flat out mediump 3-component vector of float) +0:? 'myColor2' (layout( stream=0) centroid out mediump 3-component vector of float) +0:? 'centr' ( centroid in 4-element array of mediump 3-component vector of float) +0:? 'perSampleColor' (layout( stream=0) sample out mediump 4-component vector of float) +0:? 'comp' (layout( location=7 component=2) in 4-element array of mediump float) Linked geometry stage: @@ -205,74 +205,74 @@ max_vertices = 200 input primitive = lines_adjacency output primitive = triangle_strip ERROR: node is still EOpNull! -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:41 Sequence -0:41 EmitVertex (global void) -0:42 EndPrimitive (global void) +0:41 EmitVertex ( global void) +0:42 EndPrimitive ( global void) 0:43 Constant: 0:43 0.000000 0:44 Constant: 0:44 0.000000 -0:46 move second child to first child (temp mediump 3-component vector of float) -0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float) -0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) +0:46 move second child to first child ( temp mediump 3-component vector of float) +0:46 color: direct index for structure (layout( stream=0) out mediump 3-component vector of float) +0:46 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) 0:46 Constant: 0:46 0 (const uint) -0:46 color: direct index for structure (in mediump 3-component vector of float) -0:46 direct index (temp block{in mediump 3-component vector of float color}) -0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color}) +0:46 color: direct index for structure ( in mediump 3-component vector of float) +0:46 direct index ( temp block{ in mediump 3-component vector of float color}) +0:46 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) -0:47 move second child to first child (temp float) +0:47 move second child to first child ( temp float) 0:47 Constant: 0:47 0.000000 0:48 Constant: 0:48 0.000000 -0:49 move second child to first child (temp highp 4-component vector of float) -0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position) -0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize}) +0:49 move second child to first child ( temp highp 4-component vector of float) +0:49 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position) +0:49 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position highp 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize highp float PointSize gl_PointSize}) 0:49 Constant: 0:49 0 (const uint) -0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:49 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:49 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:49 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 0 (const int) -0:51 move second child to first child (temp highp int) -0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID) -0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID) -0:52 move second child to first child (temp highp int) -0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer) +0:51 move second child to first child ( temp highp int) +0:51 'gl_PrimitiveID' (layout( stream=0) out highp int PrimitiveID) +0:51 'gl_PrimitiveIDIn' ( in highp int PrimitiveID) +0:52 move second child to first child ( temp highp int) +0:52 'gl_Layer' (layout( stream=0) out highp int Layer) 0:52 Constant: 0:52 2 (const int) 0:? Linker Objects -0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color}) -0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float) -0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color}) -0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) -0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float) -0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a}) -0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float) -0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float) -0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a}) -0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c}) -0:? 'insn' (in 4-element array of block{in highp int a15}) -0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15}) -0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) -0:? 'summ' (const highp int) +0:? 'fromV' ( in 4-element array of block{ in mediump 3-component vector of float color}) +0:? 'nonBlockUnsized' ( in 4-element array of mediump 4-component vector of float) +0:? 'toF' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out mediump 3-component vector of float color}) +0:? 'gl_in' ( in 4-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize}) +0:? 'ov4' (layout( stream=4) out mediump 4-component vector of float) +0:? 'ouuaa6' (layout( stream=0) out block{layout( stream=0) out mediump 4-component vector of float a}) +0:? 'badv4' (layout( stream=0) out mediump 4-component vector of float) +0:? 'bad2v4' ( in 4-element array of mediump 4-component vector of float) +0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) out highp int a}) +0:? 'outbi' (layout( stream=0) out block{layout( stream=0) out highp int a, layout( stream=0) out highp int b, layout( stream=0) out highp int c}) +0:? 'insn' ( in 4-element array of block{ in highp int a15}) +0:? 'anon@2' (layout( stream=0) out block{layout( stream=0) out mediump float f15}) +0:? 'anon@3' (layout( column_major shared) uniform block{layout( column_major shared) uniform bool b15}) +0:? 'summ' ( const highp int) 0:? 2752 (const int) -0:? 'explArray' (in 4-element array of mediump 4-component vector of float) -0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float) -0:? 'nonArrayed' (in mediump 4-component vector of float) -0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float) -0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float) -0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float) -0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float) -0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float) +0:? 'explArray' ( in 4-element array of mediump 4-component vector of float) +0:? 'explArrayBad' ( in 5-element array of mediump 4-component vector of float) +0:? 'nonArrayed' ( in mediump 4-component vector of float) +0:? 'myColor1' (layout( stream=0) flat out mediump 3-component vector of float) +0:? 'myColor2' (layout( stream=0) centroid out mediump 3-component vector of float) +0:? 'centr' ( centroid in 4-element array of mediump 3-component vector of float) +0:? 'perSampleColor' (layout( stream=0) sample out mediump 4-component vector of float) +0:? 'comp' (layout( location=7 component=2) in 4-element array of mediump float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tesc.out index d004fa166c2..9c3d1d55fcc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tesc.out @@ -58,200 +58,200 @@ Requested GL_OES_tessellation_point_size Requested GL_OES_tessellation_shader vertices = 4 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence -0:17 Barrier (global void) +0:17 Barrier ( global void) 0:19 Sequence -0:19 move second child to first child (temp highp int) -0:19 'a' (temp highp int) +0:19 move second child to first child ( temp highp int) +0:19 'a' ( temp highp int) 0:19 Constant: 0:19 5392 (const int) 0:25 Sequence -0:25 move second child to first child (temp highp 4-component vector of float) -0:25 'p' (temp highp 4-component vector of float) -0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:25 move second child to first child ( temp highp 4-component vector of float) +0:25 'p' ( temp highp 4-component vector of float) +0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) +0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: 0:25 0 (const int) 0:26 Sequence -0:26 move second child to first child (temp highp float) -0:26 'ps' (temp highp float) -0:26 gl_PointSize: direct index for structure (in highp float PointSize) -0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:26 move second child to first child ( temp highp float) +0:26 'ps' ( temp highp float) +0:26 gl_PointSize: direct index for structure ( in highp float PointSize) +0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) +0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) 0:26 Constant: 0:26 1 (const int) 0:26 Constant: 0:26 1 (const int) 0:27 Sequence -0:27 move second child to first child (temp highp float) -0:27 'cd' (temp highp float) +0:27 move second child to first child ( temp highp float) +0:27 'cd' ( temp highp float) 0:27 Constant: 0:27 0.000000 0:29 Sequence -0:29 move second child to first child (temp highp int) -0:29 'pvi' (temp highp int) -0:29 'gl_PatchVerticesIn' (in highp int PatchVertices) +0:29 move second child to first child ( temp highp int) +0:29 'pvi' ( temp highp int) +0:29 'gl_PatchVerticesIn' ( in highp int PatchVertices) 0:30 Sequence -0:30 move second child to first child (temp highp int) -0:30 'pid' (temp highp int) -0:30 'gl_PrimitiveID' (in highp int PrimitiveID) +0:30 move second child to first child ( temp highp int) +0:30 'pid' ( temp highp int) +0:30 'gl_PrimitiveID' ( in highp int PrimitiveID) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'iid' (temp highp int) -0:31 'gl_InvocationID' (in highp int InvocationID) -0:33 move second child to first child (temp highp 4-component vector of float) -0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position) -0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:33 'gl_InvocationID' (in highp int InvocationID) +0:31 move second child to first child ( temp highp int) +0:31 'iid' ( temp highp int) +0:31 'gl_InvocationID' ( in highp int InvocationID) +0:33 move second child to first child ( temp highp 4-component vector of float) +0:33 gl_Position: direct index for structure ( out highp 4-component vector of float Position) +0:33 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:33 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:33 'gl_InvocationID' ( in highp int InvocationID) 0:33 Constant: 0:33 0 (const int) -0:33 'p' (temp highp 4-component vector of float) -0:34 move second child to first child (temp highp float) -0:34 gl_PointSize: direct index for structure (out highp float PointSize) -0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:34 'gl_InvocationID' (in highp int InvocationID) +0:33 'p' ( temp highp 4-component vector of float) +0:34 move second child to first child ( temp highp float) +0:34 gl_PointSize: direct index for structure ( out highp float PointSize) +0:34 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:34 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:34 'gl_InvocationID' ( in highp int InvocationID) 0:34 Constant: 0:34 1 (const int) -0:34 'ps' (temp highp float) -0:35 move second child to first child (temp highp float) +0:34 'ps' ( temp highp float) +0:35 move second child to first child ( temp highp float) 0:35 Constant: 0:35 0.000000 -0:35 'cd' (temp highp float) -0:37 move second child to first child (temp highp float) -0:37 direct index (patch temp highp float TessLevelOuter) -0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter) +0:35 'cd' ( temp highp float) +0:37 move second child to first child ( temp highp float) +0:37 direct index ( patch temp highp float TessLevelOuter) +0:37 'gl_TessLevelOuter' ( patch out 4-element array of highp float TessLevelOuter) 0:37 Constant: 0:37 3 (const int) 0:37 Constant: 0:37 3.200000 -0:38 move second child to first child (temp highp float) -0:38 direct index (patch temp highp float TessLevelInner) -0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner) +0:38 move second child to first child ( temp highp float) +0:38 direct index ( patch temp highp float TessLevelInner) +0:38 'gl_TessLevelInner' ( patch out 2-element array of highp float TessLevelInner) 0:38 Constant: 0:38 1 (const int) 0:38 Constant: 0:38 1.300000 -0:40 Test condition and select (temp void) +0:40 Test condition and select ( temp void) 0:40 Condition -0:40 Compare Greater Than (temp bool) -0:40 'a' (temp highp int) +0:40 Compare Greater Than ( temp bool) +0:40 'a' ( temp highp int) 0:40 Constant: 0:40 10 (const int) 0:40 true case -0:41 Barrier (global void) +0:41 Barrier ( global void) 0:40 false case -0:43 Barrier (global void) -0:45 Barrier (global void) +0:43 Barrier ( global void) +0:45 Barrier ( global void) 0:49 Loop with condition not tested first 0:49 Loop Condition -0:49 Compare Greater Than (temp bool) -0:49 'a' (temp highp int) +0:49 Compare Greater Than ( temp bool) +0:49 'a' ( temp highp int) 0:49 Constant: 0:49 10 (const int) 0:49 Loop Body 0:48 Sequence -0:48 Barrier (global void) +0:48 Barrier ( global void) 0:51 switch 0:51 condition -0:51 'a' (temp highp int) +0:51 'a' ( temp highp int) 0:51 body 0:51 Sequence 0:52 default: 0:? Sequence -0:53 Barrier (global void) +0:53 Barrier ( global void) 0:54 Branch: Break -0:56 Test condition and select (temp highp int) +0:56 Test condition and select ( temp highp int) 0:56 Condition -0:56 Compare Less Than (temp bool) -0:56 'a' (temp highp int) +0:56 Compare Less Than ( temp bool) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 12 (const int) 0:56 true case -0:56 'a' (temp highp int) +0:56 'a' ( temp highp int) 0:56 false case -0:56 Comma (temp highp int) -0:56 Barrier (global void) -0:56 'a' (temp highp int) +0:56 Comma ( temp highp int) +0:56 Barrier ( global void) +0:56 'a' ( temp highp int) 0:58 Sequence -0:58 Barrier (global void) +0:58 Barrier ( global void) 0:61 Branch: Return -0:63 Barrier (global void) -0:69 Function Definition: foo( (global void) +0:63 Barrier ( global void) +0:69 Function Definition: foo( ( global void) 0:69 Function Parameters: 0:71 Sequence -0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position) -0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:71 gl_Position: direct index for structure ( out highp 4-component vector of float Position) +0:71 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:71 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) 0:71 Constant: 0:71 4 (const int) 0:71 Constant: 0:71 0 (const int) -0:73 Barrier (global void) -0:92 Function Definition: foop( (global void) +0:73 Barrier ( global void) +0:92 Function Definition: foop( ( global void) 0:92 Function Parameters: 0:? Sequence -0:95 move second child to first child (temp highp float) -0:95 'd' (noContraction temp highp float) -0:95 fma (global highp float) -0:95 'd' (noContraction temp highp float) -0:95 'd' (noContraction temp highp float) -0:95 'd' (noContraction temp highp float) -0:112 Function Definition: pointSize2( (global void) +0:95 move second child to first child ( temp highp float) +0:95 'd' ( noContraction temp highp float) +0:95 fma ( global highp float) +0:95 'd' ( noContraction temp highp float) +0:95 'd' ( noContraction temp highp float) +0:95 'd' ( noContraction temp highp float) +0:112 Function Definition: pointSize2( ( global void) 0:112 Function Parameters: 0:114 Sequence 0:114 Sequence -0:114 move second child to first child (temp highp float) -0:114 'ps' (temp highp float) -0:114 gl_PointSize: direct index for structure (in highp float PointSize) -0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:114 move second child to first child ( temp highp float) +0:114 'ps' ( temp highp float) +0:114 gl_PointSize: direct index for structure ( in highp float PointSize) +0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) +0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) 0:114 Constant: 0:114 1 (const int) 0:114 Constant: 0:114 1 (const int) -0:115 move second child to first child (temp highp float) -0:115 gl_PointSize: direct index for structure (out highp float PointSize) -0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:115 'gl_InvocationID' (in highp int InvocationID) +0:115 move second child to first child ( temp highp float) +0:115 gl_PointSize: direct index for structure ( out highp float PointSize) +0:115 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:115 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:115 'gl_InvocationID' ( in highp int InvocationID) 0:115 Constant: 0:115 1 (const int) -0:115 'ps' (temp highp float) -0:122 Function Definition: goodfoop( (global void) +0:115 'ps' ( temp highp float) +0:122 Function Definition: goodfoop( ( global void) 0:122 Function Parameters: 0:? Sequence -0:126 multiply second child into first child (temp highp 3-component vector of float) -0:126 'pv3' (noContraction temp highp 3-component vector of float) -0:126 'pv3' (noContraction temp highp 3-component vector of float) -0:127 move second child to first child (temp highp 3-component vector of float) -0:127 'pv3' (noContraction temp highp 3-component vector of float) -0:127 fma (global highp 3-component vector of float) -0:127 'pv3' (noContraction temp highp 3-component vector of float) -0:127 'pv3' (noContraction temp highp 3-component vector of float) -0:127 'pv3' (noContraction temp highp 3-component vector of float) -0:128 move second child to first child (temp highp float) -0:128 'd' (noContraction temp highp float) -0:128 fma (global highp float) -0:128 'd' (noContraction temp highp float) -0:128 'd' (noContraction temp highp float) -0:128 'd' (noContraction temp highp float) -0:131 Function Definition: bbBad( (global void) +0:126 multiply second child into first child ( temp highp 3-component vector of float) +0:126 'pv3' ( noContraction temp highp 3-component vector of float) +0:126 'pv3' ( noContraction temp highp 3-component vector of float) +0:127 move second child to first child ( temp highp 3-component vector of float) +0:127 'pv3' ( noContraction temp highp 3-component vector of float) +0:127 fma ( global highp 3-component vector of float) +0:127 'pv3' ( noContraction temp highp 3-component vector of float) +0:127 'pv3' ( noContraction temp highp 3-component vector of float) +0:127 'pv3' ( noContraction temp highp 3-component vector of float) +0:128 move second child to first child ( temp highp float) +0:128 'd' ( noContraction temp highp float) +0:128 fma ( global highp float) +0:128 'd' ( noContraction temp highp float) +0:128 'd' ( noContraction temp highp float) +0:128 'd' ( noContraction temp highp float) +0:131 Function Definition: bbBad( ( global void) 0:131 Function Parameters: 0:133 Sequence -0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox) -0:138 Function Definition: bb( (global void) +0:133 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox) +0:138 Function Definition: bb( ( global void) 0:138 Function Parameters: 0:140 Sequence -0:140 move second child to first child (temp highp 4-component vector of float) -0:140 direct index (patch temp highp 4-component vector of float BoundingBox) -0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox) +0:140 move second child to first child ( temp highp 4-component vector of float) +0:140 direct index ( patch temp highp 4-component vector of float BoundingBox) +0:140 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox) 0:140 Constant: 0:140 0 (const int) 0:140 Constant: @@ -259,9 +259,9 @@ ERROR: node is still EOpNull! 0:140 0.000000 0:140 0.000000 0:140 0.000000 -0:141 move second child to first child (temp highp 4-component vector of float) -0:141 direct index (patch temp highp 4-component vector of float BoundingBox) -0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox) +0:141 move second child to first child ( temp highp 4-component vector of float) +0:141 direct index ( patch temp highp 4-component vector of float BoundingBox) +0:141 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox) 0:141 Constant: 0:141 1 (const int) 0:141 Constant: @@ -269,9 +269,9 @@ ERROR: node is still EOpNull! 0:141 1.000000 0:141 1.000000 0:141 1.000000 -0:142 move second child to first child (temp highp 4-component vector of float) -0:142 direct index (patch temp highp 4-component vector of float BoundingBox) -0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox) +0:142 move second child to first child ( temp highp 4-component vector of float) +0:142 direct index ( patch temp highp 4-component vector of float BoundingBox) +0:142 'gl_BoundingBoxOES' ( patch out 2-element array of highp 4-component vector of float BoundingBox) 0:142 Constant: 0:142 2 (const int) 0:142 Constant: @@ -279,34 +279,34 @@ ERROR: node is still EOpNull! 0:142 2.000000 0:142 2.000000 0:142 2.000000 -0:153 Function Definition: outputtingOutparam(i1; (global void) +0:153 Function Definition: outputtingOutparam(i1; ( global void) 0:153 Function Parameters: -0:153 'a' (out highp int) +0:153 'a' ( out highp int) 0:155 Sequence -0:155 move second child to first child (temp highp int) -0:155 'a' (out highp int) +0:155 move second child to first child ( temp highp int) +0:155 'a' ( out highp int) 0:155 Constant: 0:155 2 (const int) -0:158 Function Definition: outputting( (global void) +0:158 Function Definition: outputting( ( global void) 0:158 Function Parameters: 0:160 Sequence -0:160 move second child to first child (temp highp int) -0:160 indirect index (temp highp int) -0:160 'outa' (out 4-element array of highp int) -0:160 'gl_InvocationID' (in highp int InvocationID) +0:160 move second child to first child ( temp highp int) +0:160 indirect index ( temp highp int) +0:160 'outa' ( out 4-element array of highp int) +0:160 'gl_InvocationID' ( in highp int InvocationID) 0:160 Constant: 0:160 2 (const int) -0:161 move second child to first child (temp highp int) -0:161 direct index (temp highp int) -0:161 'outa' (out 4-element array of highp int) +0:161 move second child to first child ( temp highp int) +0:161 direct index ( temp highp int) +0:161 'outa' ( out 4-element array of highp int) 0:161 Constant: 0:161 1 (const int) 0:161 Constant: 0:161 2 (const int) -0:162 move second child to first child (temp highp 4-component vector of float) -0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position) -0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:162 move second child to first child ( temp highp 4-component vector of float) +0:162 gl_Position: direct index for structure ( out highp 4-component vector of float Position) +0:162 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:162 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) 0:162 Constant: 0:162 0 (const int) 0:162 Constant: @@ -316,65 +316,65 @@ ERROR: node is still EOpNull! 0:162 1.000000 0:162 1.000000 0:162 1.000000 -0:163 direct index (temp highp int) -0:163 'outa' (out 4-element array of highp int) +0:163 direct index ( temp highp int) +0:163 'outa' ( out 4-element array of highp int) 0:163 Constant: 0:163 1 (const int) -0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:164 direct index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:164 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) 0:164 Constant: 0:164 0 (const int) -0:165 Function Call: outputtingOutparam(i1; (global void) -0:165 direct index (temp highp int) -0:165 'outa' (out 4-element array of highp int) +0:165 Function Call: outputtingOutparam(i1; ( global void) +0:165 direct index ( temp highp int) +0:165 'outa' ( out 4-element array of highp int) 0:165 Constant: 0:165 0 (const int) -0:166 Function Call: outputtingOutparam(i1; (global void) -0:166 indirect index (temp highp int) -0:166 'outa' (out 4-element array of highp int) -0:166 'gl_InvocationID' (in highp int InvocationID) -0:167 move second child to first child (temp highp float) -0:167 f: direct index for structure (out highp float) -0:167 direct index (patch temp block{out highp float f}) -0:167 'patchIName' (patch out 4-element array of block{out highp float f}) +0:166 Function Call: outputtingOutparam(i1; ( global void) +0:166 indirect index ( temp highp int) +0:166 'outa' ( out 4-element array of highp int) +0:166 'gl_InvocationID' ( in highp int InvocationID) +0:167 move second child to first child ( temp highp float) +0:167 f: direct index for structure ( out highp float) +0:167 direct index ( patch temp block{ out highp float f}) +0:167 'patchIName' ( patch out 4-element array of block{ out highp float f}) 0:167 Constant: 0:167 1 (const int) 0:167 Constant: 0:167 0 (const int) 0:167 Constant: 0:167 3.140000 -0:168 move second child to first child (temp highp int) -0:168 indirect index (temp highp int) -0:168 'outa' (out 4-element array of highp int) -0:168 'gl_InvocationID' (in highp int InvocationID) +0:168 move second child to first child ( temp highp int) +0:168 indirect index ( temp highp int) +0:168 'outa' ( out 4-element array of highp int) +0:168 'gl_InvocationID' ( in highp int InvocationID) 0:168 Constant: 0:168 2 (const int) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:? 'outa' (out 4-element array of highp int) -0:? 'patchIn' (patch in highp 4-component vector of float) -0:? 'patchOut' (patch out highp 4-component vector of float) -0:? 'ina' (in highp 2-component vector of float) -0:? 'inb' (in 32-element array of highp 2-component vector of float) -0:? 'inc' (in 32-element array of highp 2-component vector of float) -0:? 'ind' (in 32-element array of highp 2-component vector of float) -0:? 'implA' (patch out implicitly-sized array of highp float) -0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float) -0:? 'pinbi' (patch out block{out highp int a}) -0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float) -0:? 'centr' (centroid in 32-element array of highp 3-component vector of float) -0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float) -0:? 'badlay' (out 4-element array of highp float) -0:? 'misSized' (out 5-element array of highp float) -0:? 'okaySize' (out 4-element array of highp float) -0:? 'pv3' (noContraction temp highp 3-component vector of float) -0:? 'badpatchIName' (patch out implicitly-sized array of block{out highp float f}) -0:? 'patchIName' (patch out 4-element array of block{out highp float f}) +0:? 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:? 'outa' ( out 4-element array of highp int) +0:? 'patchIn' ( patch in highp 4-component vector of float) +0:? 'patchOut' ( patch out highp 4-component vector of float) +0:? 'ina' ( in highp 2-component vector of float) +0:? 'inb' ( in 32-element array of highp 2-component vector of float) +0:? 'inc' ( in 32-element array of highp 2-component vector of float) +0:? 'ind' ( in 32-element array of highp 2-component vector of float) +0:? 'implA' ( patch out implicitly-sized array of highp float) +0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of highp 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of highp 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of highp 4-component vector of float) +0:? 'pinbi' ( patch out block{ out highp int a}) +0:? 'myColor2' ( centroid out 4-element array of highp 3-component vector of float) +0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float) +0:? 'perSampleColor' ( sample out 4-element array of highp 4-component vector of float) +0:? 'badlay' ( out 4-element array of highp float) +0:? 'misSized' ( out 5-element array of highp float) +0:? 'okaySize' ( out 4-element array of highp float) +0:? 'pv3' ( noContraction temp highp 3-component vector of float) +0:? 'badpatchIName' ( patch out implicitly-sized array of block{ out highp float f}) +0:? 'patchIName' ( patch out 4-element array of block{ out highp float f}) Linked tessellation control stage: @@ -389,155 +389,155 @@ Requested GL_OES_tessellation_point_size Requested GL_OES_tessellation_shader vertices = 4 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence -0:17 Barrier (global void) +0:17 Barrier ( global void) 0:19 Sequence -0:19 move second child to first child (temp highp int) -0:19 'a' (temp highp int) +0:19 move second child to first child ( temp highp int) +0:19 'a' ( temp highp int) 0:19 Constant: 0:19 5392 (const int) 0:25 Sequence -0:25 move second child to first child (temp highp 4-component vector of float) -0:25 'p' (temp highp 4-component vector of float) -0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:25 move second child to first child ( temp highp 4-component vector of float) +0:25 'p' ( temp highp 4-component vector of float) +0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) +0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: 0:25 0 (const int) 0:26 Sequence -0:26 move second child to first child (temp highp float) -0:26 'ps' (temp highp float) -0:26 gl_PointSize: direct index for structure (in highp float PointSize) -0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:26 move second child to first child ( temp highp float) +0:26 'ps' ( temp highp float) +0:26 gl_PointSize: direct index for structure ( in highp float PointSize) +0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) +0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) 0:26 Constant: 0:26 1 (const int) 0:26 Constant: 0:26 1 (const int) 0:27 Sequence -0:27 move second child to first child (temp highp float) -0:27 'cd' (temp highp float) +0:27 move second child to first child ( temp highp float) +0:27 'cd' ( temp highp float) 0:27 Constant: 0:27 0.000000 0:29 Sequence -0:29 move second child to first child (temp highp int) -0:29 'pvi' (temp highp int) -0:29 'gl_PatchVerticesIn' (in highp int PatchVertices) +0:29 move second child to first child ( temp highp int) +0:29 'pvi' ( temp highp int) +0:29 'gl_PatchVerticesIn' ( in highp int PatchVertices) 0:30 Sequence -0:30 move second child to first child (temp highp int) -0:30 'pid' (temp highp int) -0:30 'gl_PrimitiveID' (in highp int PrimitiveID) +0:30 move second child to first child ( temp highp int) +0:30 'pid' ( temp highp int) +0:30 'gl_PrimitiveID' ( in highp int PrimitiveID) 0:31 Sequence -0:31 move second child to first child (temp highp int) -0:31 'iid' (temp highp int) -0:31 'gl_InvocationID' (in highp int InvocationID) -0:33 move second child to first child (temp highp 4-component vector of float) -0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position) -0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:33 'gl_InvocationID' (in highp int InvocationID) +0:31 move second child to first child ( temp highp int) +0:31 'iid' ( temp highp int) +0:31 'gl_InvocationID' ( in highp int InvocationID) +0:33 move second child to first child ( temp highp 4-component vector of float) +0:33 gl_Position: direct index for structure ( out highp 4-component vector of float Position) +0:33 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:33 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:33 'gl_InvocationID' ( in highp int InvocationID) 0:33 Constant: 0:33 0 (const int) -0:33 'p' (temp highp 4-component vector of float) -0:34 move second child to first child (temp highp float) -0:34 gl_PointSize: direct index for structure (out highp float PointSize) -0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:34 'gl_InvocationID' (in highp int InvocationID) +0:33 'p' ( temp highp 4-component vector of float) +0:34 move second child to first child ( temp highp float) +0:34 gl_PointSize: direct index for structure ( out highp float PointSize) +0:34 indirect index ( temp block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:34 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:34 'gl_InvocationID' ( in highp int InvocationID) 0:34 Constant: 0:34 1 (const int) -0:34 'ps' (temp highp float) -0:35 move second child to first child (temp highp float) +0:34 'ps' ( temp highp float) +0:35 move second child to first child ( temp highp float) 0:35 Constant: 0:35 0.000000 -0:35 'cd' (temp highp float) -0:37 move second child to first child (temp highp float) -0:37 direct index (patch temp highp float TessLevelOuter) -0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter) +0:35 'cd' ( temp highp float) +0:37 move second child to first child ( temp highp float) +0:37 direct index ( patch temp highp float TessLevelOuter) +0:37 'gl_TessLevelOuter' ( patch out 4-element array of highp float TessLevelOuter) 0:37 Constant: 0:37 3 (const int) 0:37 Constant: 0:37 3.200000 -0:38 move second child to first child (temp highp float) -0:38 direct index (patch temp highp float TessLevelInner) -0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner) +0:38 move second child to first child ( temp highp float) +0:38 direct index ( patch temp highp float TessLevelInner) +0:38 'gl_TessLevelInner' ( patch out 2-element array of highp float TessLevelInner) 0:38 Constant: 0:38 1 (const int) 0:38 Constant: 0:38 1.300000 -0:40 Test condition and select (temp void) +0:40 Test condition and select ( temp void) 0:40 Condition -0:40 Compare Greater Than (temp bool) -0:40 'a' (temp highp int) +0:40 Compare Greater Than ( temp bool) +0:40 'a' ( temp highp int) 0:40 Constant: 0:40 10 (const int) 0:40 true case -0:41 Barrier (global void) +0:41 Barrier ( global void) 0:40 false case -0:43 Barrier (global void) -0:45 Barrier (global void) +0:43 Barrier ( global void) +0:45 Barrier ( global void) 0:49 Loop with condition not tested first 0:49 Loop Condition -0:49 Compare Greater Than (temp bool) -0:49 'a' (temp highp int) +0:49 Compare Greater Than ( temp bool) +0:49 'a' ( temp highp int) 0:49 Constant: 0:49 10 (const int) 0:49 Loop Body 0:48 Sequence -0:48 Barrier (global void) +0:48 Barrier ( global void) 0:51 switch 0:51 condition -0:51 'a' (temp highp int) +0:51 'a' ( temp highp int) 0:51 body 0:51 Sequence 0:52 default: 0:? Sequence -0:53 Barrier (global void) +0:53 Barrier ( global void) 0:54 Branch: Break -0:56 Test condition and select (temp highp int) +0:56 Test condition and select ( temp highp int) 0:56 Condition -0:56 Compare Less Than (temp bool) -0:56 'a' (temp highp int) +0:56 Compare Less Than ( temp bool) +0:56 'a' ( temp highp int) 0:56 Constant: 0:56 12 (const int) 0:56 true case -0:56 'a' (temp highp int) +0:56 'a' ( temp highp int) 0:56 false case -0:56 Comma (temp highp int) -0:56 Barrier (global void) -0:56 'a' (temp highp int) +0:56 Comma ( temp highp int) +0:56 Barrier ( global void) +0:56 'a' ( temp highp int) 0:58 Sequence -0:58 Barrier (global void) +0:58 Barrier ( global void) 0:61 Branch: Return -0:63 Barrier (global void) +0:63 Barrier ( global void) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) -0:? 'outa' (out 4-element array of highp int) -0:? 'patchIn' (patch in highp 4-component vector of float) -0:? 'patchOut' (patch out highp 4-component vector of float) -0:? 'ina' (in highp 2-component vector of float) -0:? 'inb' (in 32-element array of highp 2-component vector of float) -0:? 'inc' (in 32-element array of highp 2-component vector of float) -0:? 'ind' (in 32-element array of highp 2-component vector of float) -0:? 'implA' (patch out 1-element array of highp float) -0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float) -0:? 'pinbi' (patch out block{out highp int a}) -0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float) -0:? 'centr' (centroid in 32-element array of highp 3-component vector of float) -0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float) -0:? 'badlay' (out 4-element array of highp float) -0:? 'misSized' (out 5-element array of highp float) -0:? 'okaySize' (out 4-element array of highp float) -0:? 'pv3' (noContraction temp highp 3-component vector of float) -0:? 'badpatchIName' (patch out 1-element array of block{out highp float f}) -0:? 'patchIName' (patch out 4-element array of block{out highp float f}) +0:? 'gl_out' ( out 4-element array of block{ out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize}) +0:? 'outa' ( out 4-element array of highp int) +0:? 'patchIn' ( patch in highp 4-component vector of float) +0:? 'patchOut' ( patch out highp 4-component vector of float) +0:? 'ina' ( in highp 2-component vector of float) +0:? 'inb' ( in 32-element array of highp 2-component vector of float) +0:? 'inc' ( in 32-element array of highp 2-component vector of float) +0:? 'ind' ( in 32-element array of highp 2-component vector of float) +0:? 'implA' ( patch out 1-element array of highp float) +0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of highp 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of highp 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of highp 4-component vector of float) +0:? 'pinbi' ( patch out block{ out highp int a}) +0:? 'myColor2' ( centroid out 4-element array of highp 3-component vector of float) +0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float) +0:? 'perSampleColor' ( sample out 4-element array of highp 4-component vector of float) +0:? 'badlay' ( out 4-element array of highp float) +0:? 'misSized' ( out 5-element array of highp float) +0:? 'okaySize' ( out 4-element array of highp float) +0:? 'pv3' ( noContraction temp highp 3-component vector of float) +0:? 'badpatchIName' ( patch out 1-element array of block{ out highp float f}) +0:? 'patchIName' ( patch out 4-element array of block{ out highp float f}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tese.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tese.out index c6ce6650bd3..4550230d21c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tese.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.tese.out @@ -46,7 +46,7 @@ ERROR: 0:103: 'location' : overlapping use of location 24 ERROR: 0:105: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved ERROR: 0:113: 'sample' : Reserved word. ERROR: 0:119: 'gl_PointSize' : no such field in structure -ERROR: 0:119: '=' : cannot convert from 'temp block{in highp 4-component vector of float Position gl_Position}' to 'temp highp float' +ERROR: 0:119: '=' : cannot convert from ' temp block{ in highp 4-component vector of float Position gl_Position}' to ' temp highp float' ERROR: 0:127: 'gl_BoundingBoxOES' : undeclared identifier ERROR: 44 compilation errors. No code generated. @@ -64,121 +64,121 @@ vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:24 Function Definition: main( (global void) +0:24 Function Definition: main( ( global void) 0:24 Function Parameters: 0:26 Sequence 0:26 Constant: 0:26 0.000000 0:28 Sequence -0:28 move second child to first child (temp highp int) -0:28 'a' (temp highp int) +0:28 move second child to first child ( temp highp int) +0:28 'a' ( temp highp int) 0:28 Constant: 0:28 1512 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp 4-component vector of float) -0:36 'p' (temp highp 4-component vector of float) -0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:36 move second child to first child ( temp highp 4-component vector of float) +0:36 'p' ( temp highp 4-component vector of float) +0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) +0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp highp float) -0:37 'ps' (temp highp float) -0:37 gl_PointSize: direct index for structure (in highp float PointSize) -0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:37 move second child to first child ( temp highp float) +0:37 'ps' ( temp highp float) +0:37 gl_PointSize: direct index for structure ( in highp float PointSize) +0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) +0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV}) 0:37 Constant: 0:37 1 (const int) 0:37 Constant: 0:37 1 (const int) 0:38 Sequence -0:38 move second child to first child (temp highp float) -0:38 'cd' (temp highp float) +0:38 move second child to first child ( temp highp float) +0:38 'cd' ( temp highp float) 0:38 Constant: 0:38 0.000000 0:40 Sequence -0:40 move second child to first child (temp highp int) -0:40 'pvi' (temp highp int) -0:40 'gl_PatchVerticesIn' (in highp int PatchVertices) +0:40 move second child to first child ( temp highp int) +0:40 'pvi' ( temp highp int) +0:40 'gl_PatchVerticesIn' ( in highp int PatchVertices) 0:41 Sequence -0:41 move second child to first child (temp highp int) -0:41 'pid' (temp highp int) -0:41 'gl_PrimitiveID' (in highp int PrimitiveID) +0:41 move second child to first child ( temp highp int) +0:41 'pid' ( temp highp int) +0:41 'gl_PrimitiveID' ( in highp int PrimitiveID) 0:42 Sequence -0:42 move second child to first child (temp highp 3-component vector of float) -0:42 'tc' (temp highp 3-component vector of float) -0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord) +0:42 move second child to first child ( temp highp 3-component vector of float) +0:42 'tc' ( temp highp 3-component vector of float) +0:42 'gl_TessCoord' ( in highp 3-component vector of float TessCoord) 0:43 Sequence -0:43 move second child to first child (temp highp float) -0:43 'tlo' (temp highp float) -0:43 direct index (patch temp highp float TessLevelOuter) -0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter) +0:43 move second child to first child ( temp highp float) +0:43 'tlo' ( temp highp float) +0:43 direct index ( patch temp highp float TessLevelOuter) +0:43 'gl_TessLevelOuter' ( patch in 4-element array of highp float TessLevelOuter) 0:43 Constant: 0:43 3 (const int) 0:44 Sequence -0:44 move second child to first child (temp highp float) -0:44 'tli' (temp highp float) -0:44 direct index (patch temp highp float TessLevelInner) -0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner) +0:44 move second child to first child ( temp highp float) +0:44 'tli' ( temp highp float) +0:44 direct index ( patch temp highp float TessLevelInner) +0:44 'gl_TessLevelInner' ( patch in 2-element array of highp float TessLevelInner) 0:44 Constant: 0:44 1 (const int) -0:46 move second child to first child (temp highp 4-component vector of float) -0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position) -0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) +0:46 move second child to first child ( temp highp 4-component vector of float) +0:46 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position) +0:46 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) 0:46 Constant: 0:46 0 (const uint) -0:46 'p' (temp highp 4-component vector of float) -0:47 move second child to first child (temp highp float) -0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize) -0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) +0:46 'p' ( temp highp 4-component vector of float) +0:47 move second child to first child ( temp highp float) +0:47 gl_PointSize: direct index for structure ( gl_PointSize highp float PointSize) +0:47 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) 0:47 Constant: 0:47 1 (const uint) -0:47 'ps' (temp highp float) -0:48 move second child to first child (temp highp float) +0:47 'ps' ( temp highp float) +0:48 move second child to first child ( temp highp float) 0:48 Constant: 0:48 0.000000 -0:48 'cd' (temp highp float) -0:117 Function Definition: pointSize2( (global void) +0:48 'cd' ( temp highp float) +0:117 Function Definition: pointSize2( ( global void) 0:117 Function Parameters: 0:? Sequence -0:120 move second child to first child (temp highp float) -0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize) -0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) +0:120 move second child to first child ( temp highp float) +0:120 gl_PointSize: direct index for structure ( gl_PointSize highp float PointSize) +0:120 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) 0:120 Constant: 0:120 1 (const uint) -0:120 'ps' (temp highp float) -0:125 Function Definition: bbbad( (global void) +0:120 'ps' ( temp highp float) +0:125 Function Definition: bbbad( ( global void) 0:125 Function Parameters: 0:127 Sequence -0:127 'gl_BoundingBoxOES' (temp float) +0:127 'gl_BoundingBoxOES' ( temp float) 0:? Linker Objects -0:? 'patchIn' (patch in highp 4-component vector of float) -0:? 'patchOut' (patch out highp 4-component vector of float) -0:? 'badp1' (smooth patch in highp 4-component vector of float) -0:? 'badp2' (flat patch in highp 4-component vector of float) -0:? 'badp3' (noperspective patch in highp 4-component vector of float) -0:? 'badp4' (patch sample in highp 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position}) -0:? 'ina' (in highp 2-component vector of float) -0:? 'inb' (in 32-element array of highp 2-component vector of float) -0:? 'inc' (in 32-element array of highp 2-component vector of float) -0:? 'ind' (in 32-element array of highp 2-component vector of float) -0:? 'bla' (in block{in highp int f}) -0:? 'blb' (in 32-element array of block{in highp int f}) -0:? 'blc' (in 32-element array of block{in highp int f}) -0:? 'bld' (in 32-element array of block{in highp int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float) -0:? 'pinbi' (patch in block{in highp int a}) -0:? 'myColor2' (centroid out highp 3-component vector of float) -0:? 'centr' (centroid in 32-element array of highp 3-component vector of float) -0:? 'perSampleColor' (sample out highp 4-component vector of float) +0:? 'patchIn' ( patch in highp 4-component vector of float) +0:? 'patchOut' ( patch out highp 4-component vector of float) +0:? 'badp1' ( smooth patch in highp 4-component vector of float) +0:? 'badp2' ( flat patch in highp 4-component vector of float) +0:? 'badp3' ( noperspective patch in highp 4-component vector of float) +0:? 'badp4' ( patch sample in highp 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position}) +0:? 'ina' ( in highp 2-component vector of float) +0:? 'inb' ( in 32-element array of highp 2-component vector of float) +0:? 'inc' ( in 32-element array of highp 2-component vector of float) +0:? 'ind' ( in 32-element array of highp 2-component vector of float) +0:? 'bla' ( in block{ in highp int f}) +0:? 'blb' ( in 32-element array of block{ in highp int f}) +0:? 'blc' ( in 32-element array of block{ in highp int f}) +0:? 'bld' ( in 32-element array of block{ in highp int f}) +0:? 'ivla' (layout( location=23) in 32-element array of highp 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of highp 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of highp 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of highp 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of highp 4-component vector of float) +0:? 'pinbi' ( patch in block{ in highp int a}) +0:? 'myColor2' ( centroid out highp 3-component vector of float) +0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float) +0:? 'perSampleColor' ( sample out highp 4-component vector of float) Linked tessellation evaluation stage: @@ -197,106 +197,106 @@ vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:24 Function Definition: main( (global void) +0:24 Function Definition: main( ( global void) 0:24 Function Parameters: 0:26 Sequence 0:26 Constant: 0:26 0.000000 0:28 Sequence -0:28 move second child to first child (temp highp int) -0:28 'a' (temp highp int) +0:28 move second child to first child ( temp highp int) +0:28 'a' ( temp highp int) 0:28 Constant: 0:28 1512 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp 4-component vector of float) -0:36 'p' (temp highp 4-component vector of float) -0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position) -0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:36 move second child to first child ( temp highp 4-component vector of float) +0:36 'p' ( temp highp 4-component vector of float) +0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position) +0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) +0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp highp float) -0:37 'ps' (temp highp float) -0:37 gl_PointSize: direct index for structure (in highp float PointSize) -0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) -0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV}) +0:37 move second child to first child ( temp highp float) +0:37 'ps' ( temp highp float) +0:37 gl_PointSize: direct index for structure ( in highp float PointSize) +0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) +0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV}) 0:37 Constant: 0:37 1 (const int) 0:37 Constant: 0:37 1 (const int) 0:38 Sequence -0:38 move second child to first child (temp highp float) -0:38 'cd' (temp highp float) +0:38 move second child to first child ( temp highp float) +0:38 'cd' ( temp highp float) 0:38 Constant: 0:38 0.000000 0:40 Sequence -0:40 move second child to first child (temp highp int) -0:40 'pvi' (temp highp int) -0:40 'gl_PatchVerticesIn' (in highp int PatchVertices) +0:40 move second child to first child ( temp highp int) +0:40 'pvi' ( temp highp int) +0:40 'gl_PatchVerticesIn' ( in highp int PatchVertices) 0:41 Sequence -0:41 move second child to first child (temp highp int) -0:41 'pid' (temp highp int) -0:41 'gl_PrimitiveID' (in highp int PrimitiveID) +0:41 move second child to first child ( temp highp int) +0:41 'pid' ( temp highp int) +0:41 'gl_PrimitiveID' ( in highp int PrimitiveID) 0:42 Sequence -0:42 move second child to first child (temp highp 3-component vector of float) -0:42 'tc' (temp highp 3-component vector of float) -0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord) +0:42 move second child to first child ( temp highp 3-component vector of float) +0:42 'tc' ( temp highp 3-component vector of float) +0:42 'gl_TessCoord' ( in highp 3-component vector of float TessCoord) 0:43 Sequence -0:43 move second child to first child (temp highp float) -0:43 'tlo' (temp highp float) -0:43 direct index (patch temp highp float TessLevelOuter) -0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter) +0:43 move second child to first child ( temp highp float) +0:43 'tlo' ( temp highp float) +0:43 direct index ( patch temp highp float TessLevelOuter) +0:43 'gl_TessLevelOuter' ( patch in 4-element array of highp float TessLevelOuter) 0:43 Constant: 0:43 3 (const int) 0:44 Sequence -0:44 move second child to first child (temp highp float) -0:44 'tli' (temp highp float) -0:44 direct index (patch temp highp float TessLevelInner) -0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner) +0:44 move second child to first child ( temp highp float) +0:44 'tli' ( temp highp float) +0:44 direct index ( patch temp highp float TessLevelInner) +0:44 'gl_TessLevelInner' ( patch in 2-element array of highp float TessLevelInner) 0:44 Constant: 0:44 1 (const int) -0:46 move second child to first child (temp highp 4-component vector of float) -0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position) -0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) +0:46 move second child to first child ( temp highp 4-component vector of float) +0:46 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position) +0:46 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) 0:46 Constant: 0:46 0 (const uint) -0:46 'p' (temp highp 4-component vector of float) -0:47 move second child to first child (temp highp float) -0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize) -0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) +0:46 'p' ( temp highp 4-component vector of float) +0:47 move second child to first child ( temp highp float) +0:47 gl_PointSize: direct index for structure ( gl_PointSize highp float PointSize) +0:47 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize}) 0:47 Constant: 0:47 1 (const uint) -0:47 'ps' (temp highp float) -0:48 move second child to first child (temp highp float) +0:47 'ps' ( temp highp float) +0:48 move second child to first child ( temp highp float) 0:48 Constant: 0:48 0.000000 -0:48 'cd' (temp highp float) +0:48 'cd' ( temp highp float) 0:? Linker Objects -0:? 'patchIn' (patch in highp 4-component vector of float) -0:? 'patchOut' (patch out highp 4-component vector of float) -0:? 'badp1' (smooth patch in highp 4-component vector of float) -0:? 'badp2' (flat patch in highp 4-component vector of float) -0:? 'badp3' (noperspective patch in highp 4-component vector of float) -0:? 'badp4' (patch sample in highp 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position}) -0:? 'ina' (in highp 2-component vector of float) -0:? 'inb' (in 32-element array of highp 2-component vector of float) -0:? 'inc' (in 32-element array of highp 2-component vector of float) -0:? 'ind' (in 32-element array of highp 2-component vector of float) -0:? 'bla' (in block{in highp int f}) -0:? 'blb' (in 32-element array of block{in highp int f}) -0:? 'blc' (in 32-element array of block{in highp int f}) -0:? 'bld' (in 32-element array of block{in highp int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float) -0:? 'pinbi' (patch in block{in highp int a}) -0:? 'myColor2' (centroid out highp 3-component vector of float) -0:? 'centr' (centroid in 32-element array of highp 3-component vector of float) -0:? 'perSampleColor' (sample out highp 4-component vector of float) +0:? 'patchIn' ( patch in highp 4-component vector of float) +0:? 'patchOut' ( patch out highp 4-component vector of float) +0:? 'badp1' ( smooth patch in highp 4-component vector of float) +0:? 'badp2' ( flat patch in highp 4-component vector of float) +0:? 'badp3' ( noperspective patch in highp 4-component vector of float) +0:? 'badp4' ( patch sample in highp 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position}) +0:? 'ina' ( in highp 2-component vector of float) +0:? 'inb' ( in 32-element array of highp 2-component vector of float) +0:? 'inc' ( in 32-element array of highp 2-component vector of float) +0:? 'ind' ( in 32-element array of highp 2-component vector of float) +0:? 'bla' ( in block{ in highp int f}) +0:? 'blb' ( in 32-element array of block{ in highp int f}) +0:? 'blc' ( in 32-element array of block{ in highp int f}) +0:? 'bld' ( in 32-element array of block{ in highp int f}) +0:? 'ivla' (layout( location=23) in 32-element array of highp 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of highp 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of highp 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of highp 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of highp 4-component vector of float) +0:? 'pinbi' ( patch in block{ in highp int a}) +0:? 'myColor2' ( centroid out highp 3-component vector of float) +0:? 'centr' ( centroid in 32-element array of highp 3-component vector of float) +0:? 'perSampleColor' ( sample out highp 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.vert.out index d0dfedf218e..6d4599c53c6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310.vert.out @@ -22,7 +22,7 @@ ERROR: 0:105: 'location' : overlapping use of location 12 ERROR: 0:107: 'input block' : not supported in this stage: vertex ERROR: 0:109: 'gl_PerVertex' : block redeclaration has extra members ERROR: 0:119: 'gl_PointSize' : member of nameless block was not redeclared -ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'gl_PointSize highp void PointSize' +ERROR: 0:119: 'assign' : cannot convert from ' const float' to ' gl_PointSize highp void PointSize' ERROR: 0:122: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use ERROR: 0:127: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block ERROR: 0:131: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block @@ -92,7 +92,7 @@ ERROR: 0:329: 'sampler/image' : type requires declaration of default precision q ERROR: 0:330: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:331: 'sampler/image' : type requires declaration of default precision qualifier ERROR: 0:351: 'textureSize' : no matching overloaded function found -ERROR: 0:351: '=' : cannot convert from 'const float' to 'temp highp 3-component vector of int' +ERROR: 0:351: '=' : cannot convert from ' const float' to ' temp highp 3-component vector of int' ERROR: 0:389: 'sample' : Reserved word. ERROR: 0:400: 'interpolateAtCentroid' : no matching overloaded function found ERROR: 0:401: 'interpolateAtSample' : no matching overloaded function found @@ -110,167 +110,167 @@ Requested GL_OES_texture_buffer Requested GL_OES_texture_cube_map_array Requested GL_OES_texture_storage_multisample_2d_array ERROR: node is still EOpNull! -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:? Sequence -0:15 move second child to first child (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 addCarry (global highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:17 move second child to first child (temp highp uint) -0:17 'u1' (temp highp uint) -0:17 subBorrow (global highp uint) -0:17 'u1' (temp highp uint) -0:17 'u1' (temp highp uint) -0:17 'u1' (temp highp uint) -0:19 uMulExtended (global highp void) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:21 iMulExtended (global highp void) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:23 move second child to first child (temp highp int) -0:23 'i1' (temp highp int) -0:23 bitfieldExtract (global highp int) -0:23 'i1' (temp highp int) +0:15 move second child to first child ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 addCarry ( global highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:17 move second child to first child ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:17 subBorrow ( global highp uint) +0:17 'u1' ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:19 uMulExtended ( global highp void) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:21 iMulExtended ( global highp void) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:23 move second child to first child ( temp highp int) +0:23 'i1' ( temp highp int) +0:23 bitfieldExtract ( global highp int) +0:23 'i1' ( temp highp int) 0:23 Constant: 0:23 4 (const int) 0:23 Constant: 0:23 5 (const int) -0:25 move second child to first child (temp highp 3-component vector of uint) -0:25 'u3' (temp highp 3-component vector of uint) -0:25 bitfieldExtract (global highp 3-component vector of uint) -0:25 'u3' (temp highp 3-component vector of uint) +0:25 move second child to first child ( temp highp 3-component vector of uint) +0:25 'u3' ( temp highp 3-component vector of uint) +0:25 bitfieldExtract ( global highp 3-component vector of uint) +0:25 'u3' ( temp highp 3-component vector of uint) 0:25 Constant: 0:25 4 (const int) 0:25 Constant: 0:25 5 (const int) -0:27 move second child to first child (temp highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) -0:27 bitfieldInsert (global highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) +0:27 move second child to first child ( temp highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) +0:27 bitfieldInsert ( global highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) 0:27 Constant: 0:27 4 (const int) 0:27 Constant: 0:27 5 (const int) -0:28 move second child to first child (temp highp uint) -0:28 'u1' (temp highp uint) -0:28 bitfieldInsert (global highp uint) -0:28 'u1' (temp highp uint) -0:28 'u1' (temp highp uint) +0:28 move second child to first child ( temp highp uint) +0:28 'u1' ( temp highp uint) +0:28 bitfieldInsert ( global highp uint) +0:28 'u1' ( temp highp uint) +0:28 'u1' ( temp highp uint) 0:28 Constant: 0:28 4 (const int) 0:28 Constant: 0:28 5 (const int) -0:30 move second child to first child (temp highp 2-component vector of int) -0:30 'i2' (temp highp 2-component vector of int) -0:30 bitFieldReverse (global highp 2-component vector of int) -0:30 'i2' (temp highp 2-component vector of int) -0:31 move second child to first child (temp highp 4-component vector of uint) -0:31 'u4' (temp highp 4-component vector of uint) -0:31 bitFieldReverse (global highp 4-component vector of uint) -0:31 'u4' (temp highp 4-component vector of uint) -0:32 move second child to first child (temp highp int) -0:32 'i1' (temp highp int) -0:32 bitCount (global lowp int, operation at highp) -0:32 'i1' (temp highp int) -0:33 move second child to first child (temp highp 3-component vector of int) -0:33 'i3' (temp highp 3-component vector of int) -0:33 bitCount (global lowp 3-component vector of int, operation at highp) -0:33 'u3' (temp highp 3-component vector of uint) -0:34 move second child to first child (temp highp 2-component vector of int) -0:34 'i2' (temp highp 2-component vector of int) -0:34 findLSB (global lowp 2-component vector of int, operation at highp) -0:34 'i2' (temp highp 2-component vector of int) -0:35 move second child to first child (temp highp 4-component vector of int) -0:35 'i4' (temp highp 4-component vector of int) -0:35 findLSB (global lowp 4-component vector of int, operation at highp) -0:35 'u4' (temp highp 4-component vector of uint) -0:36 move second child to first child (temp highp int) -0:36 'i1' (temp highp int) -0:36 findMSB (global lowp int, operation at highp) -0:36 'i1' (temp highp int) -0:37 move second child to first child (temp highp 2-component vector of int) -0:37 'i2' (temp highp 2-component vector of int) -0:37 findMSB (global lowp 2-component vector of int, operation at highp) -0:37 'u2' (temp highp 2-component vector of uint) -0:40 move second child to first child (temp highp 3-component vector of float) -0:40 'v3' (temp highp 3-component vector of float) -0:40 frexp (global highp 3-component vector of float) -0:40 'v3' (temp highp 3-component vector of float) -0:40 'i3' (temp highp 3-component vector of int) -0:42 move second child to first child (temp highp 2-component vector of float) -0:42 'v2' (temp highp 2-component vector of float) -0:42 ldexp (global highp 2-component vector of float) -0:42 'v2' (temp highp 2-component vector of float) -0:42 'i2' (temp highp 2-component vector of int) -0:45 move second child to first child (temp highp uint) -0:45 'u1' (temp highp uint) -0:45 PackUnorm4x8 (global highp uint, operation at mediump) -0:45 'v4' (temp mediump 4-component vector of float) -0:46 move second child to first child (temp highp uint) -0:46 'u1' (temp highp uint) -0:46 PackSnorm4x8 (global highp uint, operation at mediump) -0:46 'v4' (temp mediump 4-component vector of float) -0:47 move second child to first child (temp mediump 4-component vector of float) -0:47 'v4' (temp mediump 4-component vector of float) -0:47 UnpackUnorm4x8 (global mediump 4-component vector of float, operation at highp) -0:47 'u1' (temp highp uint) -0:48 move second child to first child (temp mediump 4-component vector of float) -0:48 'v4' (temp mediump 4-component vector of float) -0:48 UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp) -0:48 'u1' (temp highp uint) -0:60 Function Definition: foo( (global void) +0:30 move second child to first child ( temp highp 2-component vector of int) +0:30 'i2' ( temp highp 2-component vector of int) +0:30 bitFieldReverse ( global highp 2-component vector of int) +0:30 'i2' ( temp highp 2-component vector of int) +0:31 move second child to first child ( temp highp 4-component vector of uint) +0:31 'u4' ( temp highp 4-component vector of uint) +0:31 bitFieldReverse ( global highp 4-component vector of uint) +0:31 'u4' ( temp highp 4-component vector of uint) +0:32 move second child to first child ( temp highp int) +0:32 'i1' ( temp highp int) +0:32 bitCount ( global lowp int, operation at highp) +0:32 'i1' ( temp highp int) +0:33 move second child to first child ( temp highp 3-component vector of int) +0:33 'i3' ( temp highp 3-component vector of int) +0:33 bitCount ( global lowp 3-component vector of int, operation at highp) +0:33 'u3' ( temp highp 3-component vector of uint) +0:34 move second child to first child ( temp highp 2-component vector of int) +0:34 'i2' ( temp highp 2-component vector of int) +0:34 findLSB ( global lowp 2-component vector of int, operation at highp) +0:34 'i2' ( temp highp 2-component vector of int) +0:35 move second child to first child ( temp highp 4-component vector of int) +0:35 'i4' ( temp highp 4-component vector of int) +0:35 findLSB ( global lowp 4-component vector of int, operation at highp) +0:35 'u4' ( temp highp 4-component vector of uint) +0:36 move second child to first child ( temp highp int) +0:36 'i1' ( temp highp int) +0:36 findMSB ( global lowp int, operation at highp) +0:36 'i1' ( temp highp int) +0:37 move second child to first child ( temp highp 2-component vector of int) +0:37 'i2' ( temp highp 2-component vector of int) +0:37 findMSB ( global lowp 2-component vector of int, operation at highp) +0:37 'u2' ( temp highp 2-component vector of uint) +0:40 move second child to first child ( temp highp 3-component vector of float) +0:40 'v3' ( temp highp 3-component vector of float) +0:40 frexp ( global highp 3-component vector of float) +0:40 'v3' ( temp highp 3-component vector of float) +0:40 'i3' ( temp highp 3-component vector of int) +0:42 move second child to first child ( temp highp 2-component vector of float) +0:42 'v2' ( temp highp 2-component vector of float) +0:42 ldexp ( global highp 2-component vector of float) +0:42 'v2' ( temp highp 2-component vector of float) +0:42 'i2' ( temp highp 2-component vector of int) +0:45 move second child to first child ( temp highp uint) +0:45 'u1' ( temp highp uint) +0:45 PackUnorm4x8 ( global highp uint, operation at mediump) +0:45 'v4' ( temp mediump 4-component vector of float) +0:46 move second child to first child ( temp highp uint) +0:46 'u1' ( temp highp uint) +0:46 PackSnorm4x8 ( global highp uint, operation at mediump) +0:46 'v4' ( temp mediump 4-component vector of float) +0:47 move second child to first child ( temp mediump 4-component vector of float) +0:47 'v4' ( temp mediump 4-component vector of float) +0:47 UnpackUnorm4x8 ( global mediump 4-component vector of float, operation at highp) +0:47 'u1' ( temp highp uint) +0:48 move second child to first child ( temp mediump 4-component vector of float) +0:48 'v4' ( temp mediump 4-component vector of float) +0:48 UnpackSnorm4x8 ( global mediump 4-component vector of float, operation at highp) +0:48 'u1' ( temp highp uint) +0:60 Function Definition: foo( ( global void) 0:60 Function Parameters: 0:? Sequence -0:63 move second child to first child (temp highp 2-component vector of int) -0:63 'v2' (temp highp 2-component vector of int) -0:63 textureSize (global highp 2-component vector of int) -0:63 's2dms' (uniform highp sampler2DMS) -0:64 move second child to first child (temp highp 2-component vector of int) -0:64 'v2' (temp highp 2-component vector of int) -0:64 textureSize (global highp 2-component vector of int) -0:64 'us2dms' (uniform highp usampler2DMS) +0:63 move second child to first child ( temp highp 2-component vector of int) +0:63 'v2' ( temp highp 2-component vector of int) +0:63 textureSize ( global highp 2-component vector of int) +0:63 's2dms' ( uniform highp sampler2DMS) +0:64 move second child to first child ( temp highp 2-component vector of int) +0:64 'v2' ( temp highp 2-component vector of int) +0:64 textureSize ( global highp 2-component vector of int) +0:64 'us2dms' ( uniform highp usampler2DMS) 0:65 Sequence -0:65 move second child to first child (temp highp 4-component vector of float) -0:65 'v4' (temp highp 4-component vector of float) -0:65 textureFetch (global highp 4-component vector of float) -0:65 's2dms' (uniform highp sampler2DMS) -0:65 'v2' (temp highp 2-component vector of int) +0:65 move second child to first child ( temp highp 4-component vector of float) +0:65 'v4' ( temp highp 4-component vector of float) +0:65 textureFetch ( global highp 4-component vector of float) +0:65 's2dms' ( uniform highp sampler2DMS) +0:65 'v2' ( temp highp 2-component vector of int) 0:65 Constant: 0:65 2 (const int) 0:66 Sequence -0:66 move second child to first child (temp highp 4-component vector of int) -0:66 'iv4' (temp highp 4-component vector of int) -0:66 textureFetch (global highp 4-component vector of int) -0:66 'is2dms' (uniform highp isampler2DMS) -0:66 'v2' (temp highp 2-component vector of int) +0:66 move second child to first child ( temp highp 4-component vector of int) +0:66 'iv4' ( temp highp 4-component vector of int) +0:66 textureFetch ( global highp 4-component vector of int) +0:66 'is2dms' ( uniform highp isampler2DMS) +0:66 'v2' ( temp highp 2-component vector of int) 0:66 Constant: 0:66 2 (const int) 0:67 Constant: 0:67 0.000000 -0:69 frexp (global highp float) -0:69 'f' (temp highp float) -0:69 'ini' (in highp int) -0:114 Function Definition: foo_IO( (global void) +0:69 frexp ( global highp float) +0:69 'f' ( temp highp float) +0:69 'ini' ( in highp int) +0:114 Function Definition: foo_IO( ( global void) 0:114 Function Parameters: 0:116 Sequence 0:116 Sequence -0:116 move second child to first child (temp highp int) -0:116 'sum' (temp highp int) -0:116 add (temp highp int) -0:116 'gl_VertexID' (gl_VertexId highp int VertexId) -0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId) -0:118 move second child to first child (temp highp 4-component vector of float) -0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position) -0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, }) +0:116 move second child to first child ( temp highp int) +0:116 'sum' ( temp highp int) +0:116 add ( temp highp int) +0:116 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:117 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) +0:118 move second child to first child ( temp highp 4-component vector of float) +0:118 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position) +0:118 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, }) 0:118 Constant: 0:118 0 (const uint) 0:118 Constant: @@ -278,71 +278,71 @@ ERROR: node is still EOpNull! 0:118 1.000000 0:118 1.000000 0:118 1.000000 -0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize) -0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, }) +0:119 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize) +0:119 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, }) 0:119 Constant: 0:119 1 (const uint) -0:153 Function Definition: pfooBad( (global void) +0:153 Function Definition: pfooBad( ( global void) 0:153 Function Parameters: 0:? Sequence -0:156 move second child to first child (temp highp 2-component vector of float) -0:156 'h' (noContraction temp highp 2-component vector of float) -0:156 fma (global highp 2-component vector of float) -0:156 'inf' (in highp 2-component vector of float) -0:156 'ing' (in highp 2-component vector of float) -0:156 'h' (noContraction temp highp 2-component vector of float) -0:157 indirect index (temp lowp sampler2D) -0:157 'sArray' (uniform 4-element array of lowp sampler2D) -0:157 add (temp highp int) -0:157 'sIndex' (uniform highp int) +0:156 move second child to first child ( temp highp 2-component vector of float) +0:156 'h' ( noContraction temp highp 2-component vector of float) +0:156 fma ( global highp 2-component vector of float) +0:156 'inf' ( in highp 2-component vector of float) +0:156 'ing' ( in highp 2-component vector of float) +0:156 'h' ( noContraction temp highp 2-component vector of float) +0:157 indirect index ( temp lowp sampler2D) +0:157 'sArray' ( uniform 4-element array of lowp sampler2D) +0:157 add ( temp highp int) +0:157 'sIndex' ( uniform highp int) 0:157 Constant: 0:157 1 (const int) -0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint) -0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint) -0:158 add (temp highp int) -0:158 'sIndex' (uniform highp int) +0:158 indirect index (layout( binding=0 offset=0) temp highp atomic_uint) +0:158 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint) +0:158 add ( temp highp int) +0:158 'sIndex' ( uniform highp int) 0:158 Constant: 0:158 1 (const int) -0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i}) -0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i}) +0:159 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform highp int i}) +0:159 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i}) 0:159 Constant: 0:159 1 (const int) -0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i}) -0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i}) +0:160 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer highp int i}) +0:160 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i}) 0:160 Constant: 0:160 2 (const int) -0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i}) -0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i}) -0:161 add (temp highp int) -0:161 'sIndex' (uniform highp int) +0:161 indirect index (layout( column_major shared) temp block{layout( column_major shared) uniform highp int i}) +0:161 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i}) +0:161 add ( temp highp int) +0:161 'sIndex' ( uniform highp int) 0:161 Constant: 0:161 1 (const int) -0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i}) -0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i}) -0:162 'sIndex' (uniform highp int) -0:163 direct index (writeonly temp highp image2D) -0:163 'iArray' (writeonly uniform 5-element array of highp image2D) +0:162 indirect index (layout( column_major shared) temp block{layout( column_major shared) buffer highp int i}) +0:162 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i}) +0:162 'sIndex' ( uniform highp int) +0:163 direct index ( writeonly temp highp image2D) +0:163 'iArray' ( writeonly uniform 5-element array of highp image2D) 0:163 Constant: 0:163 2 (const int) -0:164 indirect index (writeonly temp highp image2D) -0:164 'iArray' (writeonly uniform 5-element array of highp image2D) -0:164 component-wise multiply (temp highp int) -0:164 'sIndex' (uniform highp int) +0:164 indirect index ( writeonly temp highp image2D) +0:164 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:164 component-wise multiply ( temp highp int) +0:164 'sIndex' ( uniform highp int) 0:164 Constant: 0:164 2 (const int) -0:165 textureGatherOffset (global lowp 4-component vector of float) -0:165 direct index (temp lowp sampler2D) -0:165 'sArray' (uniform 4-element array of lowp sampler2D) +0:165 textureGatherOffset ( global lowp 4-component vector of float) +0:165 direct index ( temp lowp sampler2D) +0:165 'sArray' ( uniform 4-element array of lowp sampler2D) 0:165 Constant: 0:165 0 (const int) 0:165 Constant: 0:165 0.100000 0:165 0.100000 -0:165 Convert float to int (temp lowp 2-component vector of int) -0:165 'inf' (in highp 2-component vector of float) -0:166 textureGatherOffsets (global lowp 4-component vector of float, operation at highp) -0:166 direct index (temp lowp sampler2D) -0:166 'sArray' (uniform 4-element array of lowp sampler2D) +0:165 Convert float to int ( temp lowp 2-component vector of int) +0:165 'inf' ( in highp 2-component vector of float) +0:166 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp) +0:166 direct index ( temp lowp sampler2D) +0:166 'sArray' ( uniform 4-element array of lowp sampler2D) 0:166 Constant: 0:166 0 (const int) 0:166 Constant: @@ -357,56 +357,56 @@ ERROR: node is still EOpNull! 0:166 0 (const int) 0:166 0 (const int) 0:166 0 (const int) -0:171 Function Definition: pfoo( (global void) +0:171 Function Definition: pfoo( ( global void) 0:171 Function Parameters: 0:? Sequence -0:174 move second child to first child (temp highp 2-component vector of float) -0:174 'h' (noContraction temp highp 2-component vector of float) -0:174 fma (global highp 2-component vector of float) -0:174 'inf' (in highp 2-component vector of float) -0:174 'ing' (in highp 2-component vector of float) -0:174 'h' (noContraction temp highp 2-component vector of float) -0:175 indirect index (temp lowp sampler2D) -0:175 'sArray' (uniform 4-element array of lowp sampler2D) -0:175 add (temp highp int) -0:175 'sIndex' (uniform highp int) +0:174 move second child to first child ( temp highp 2-component vector of float) +0:174 'h' ( noContraction temp highp 2-component vector of float) +0:174 fma ( global highp 2-component vector of float) +0:174 'inf' ( in highp 2-component vector of float) +0:174 'ing' ( in highp 2-component vector of float) +0:174 'h' ( noContraction temp highp 2-component vector of float) +0:175 indirect index ( temp lowp sampler2D) +0:175 'sArray' ( uniform 4-element array of lowp sampler2D) +0:175 add ( temp highp int) +0:175 'sIndex' ( uniform highp int) 0:175 Constant: 0:175 1 (const int) -0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i}) -0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i}) -0:176 add (temp highp int) -0:176 'sIndex' (uniform highp int) +0:176 indirect index (layout( column_major shared) temp block{layout( column_major shared) uniform highp int i}) +0:176 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i}) +0:176 add ( temp highp int) +0:176 'sIndex' ( uniform highp int) 0:176 Constant: 0:176 1 (const int) -0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i}) -0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i}) -0:177 subtract (temp highp int) -0:177 'sIndex' (uniform highp int) +0:177 indirect index (layout( column_major shared) temp block{layout( column_major shared) buffer highp int i}) +0:177 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i}) +0:177 subtract ( temp highp int) +0:177 'sIndex' ( uniform highp int) 0:177 Constant: 0:177 2 (const int) -0:178 direct index (writeonly temp highp image2D) -0:178 'iArray' (writeonly uniform 5-element array of highp image2D) +0:178 direct index ( writeonly temp highp image2D) +0:178 'iArray' ( writeonly uniform 5-element array of highp image2D) 0:178 Constant: 0:178 2 (const int) -0:179 indirect index (writeonly temp highp image2D) -0:179 'iArray' (writeonly uniform 5-element array of highp image2D) -0:179 subtract (temp highp int) -0:179 'sIndex' (uniform highp int) +0:179 indirect index ( writeonly temp highp image2D) +0:179 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:179 subtract ( temp highp int) +0:179 'sIndex' ( uniform highp int) 0:179 Constant: 0:179 2 (const int) -0:180 textureGatherOffset (global lowp 4-component vector of float) -0:180 direct index (temp lowp sampler2D) -0:180 'sArray' (uniform 4-element array of lowp sampler2D) +0:180 textureGatherOffset ( global lowp 4-component vector of float) +0:180 direct index ( temp lowp sampler2D) +0:180 'sArray' ( uniform 4-element array of lowp sampler2D) 0:180 Constant: 0:180 0 (const int) 0:180 Constant: 0:180 0.100000 0:180 0.100000 -0:180 Convert float to int (temp lowp 2-component vector of int) -0:180 'inf' (in highp 2-component vector of float) -0:181 textureGatherOffsets (global lowp 4-component vector of float, operation at highp) -0:181 direct index (temp lowp sampler2D) -0:181 'sArray' (uniform 4-element array of lowp sampler2D) +0:180 Convert float to int ( temp lowp 2-component vector of int) +0:180 'inf' ( in highp 2-component vector of float) +0:181 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp) +0:181 direct index ( temp lowp sampler2D) +0:181 'sArray' ( uniform 4-element array of lowp sampler2D) 0:181 Constant: 0:181 0 (const int) 0:181 Constant: @@ -421,112 +421,112 @@ ERROR: node is still EOpNull! 0:181 0 (const int) 0:181 0 (const int) 0:181 0 (const int) -0:182 textureGatherOffsets (global lowp 4-component vector of float, operation at highp) -0:182 direct index (temp lowp sampler2D) -0:182 'sArray' (uniform 4-element array of lowp sampler2D) +0:182 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp) +0:182 direct index ( temp lowp sampler2D) +0:182 'sArray' ( uniform 4-element array of lowp sampler2D) 0:182 Constant: 0:182 0 (const int) 0:182 Constant: 0:182 0.100000 0:182 0.100000 -0:182 'offsets' (uniform 4-element array of highp 2-component vector of int) -0:220 Function Definition: bufferT( (global void) +0:182 'offsets' ( uniform 4-element array of highp 2-component vector of int) +0:220 Function Definition: bufferT( ( global void) 0:220 Function Parameters: 0:222 Sequence 0:222 Sequence -0:222 move second child to first child (temp highp int) -0:222 's1' (temp highp int) -0:222 textureSize (global highp int) -0:222 'bufSamp1' (uniform highp samplerBuffer) +0:222 move second child to first child ( temp highp int) +0:222 's1' ( temp highp int) +0:222 textureSize ( global highp int) +0:222 'bufSamp1' ( uniform highp samplerBuffer) 0:223 Sequence -0:223 move second child to first child (temp highp int) -0:223 's2' (temp highp int) -0:223 textureSize (global highp int) -0:223 'bufSamp2' (uniform highp isamplerBuffer) +0:223 move second child to first child ( temp highp int) +0:223 's2' ( temp highp int) +0:223 textureSize ( global highp int) +0:223 'bufSamp2' ( uniform highp isamplerBuffer) 0:224 Sequence -0:224 move second child to first child (temp highp int) -0:224 's3' (temp highp int) -0:224 textureSize (global highp int) -0:224 'bufSamp3' (uniform highp usamplerBuffer) +0:224 move second child to first child ( temp highp int) +0:224 's3' ( temp highp int) +0:224 textureSize ( global highp int) +0:224 'bufSamp3' ( uniform highp usamplerBuffer) 0:226 Sequence -0:226 move second child to first child (temp highp int) -0:226 's4' (temp highp int) -0:226 imageQuerySize (global highp int) -0:226 'bufSamp4' (writeonly uniform highp imageBuffer) +0:226 move second child to first child ( temp highp int) +0:226 's4' ( temp highp int) +0:226 imageQuerySize ( global highp int) +0:226 'bufSamp4' ( writeonly uniform highp imageBuffer) 0:227 Sequence -0:227 move second child to first child (temp highp int) -0:227 's5' (temp highp int) -0:227 imageQuerySize (global highp int) -0:227 'bufSamp5' (writeonly uniform highp iimageBuffer) +0:227 move second child to first child ( temp highp int) +0:227 's5' ( temp highp int) +0:227 imageQuerySize ( global highp int) +0:227 'bufSamp5' ( writeonly uniform highp iimageBuffer) 0:228 Sequence -0:228 move second child to first child (temp highp int) -0:228 's6' (temp highp int) -0:228 imageQuerySize (global highp int) -0:228 'bufSamp6' (writeonly uniform highp uimageBuffer) +0:228 move second child to first child ( temp highp int) +0:228 's6' ( temp highp int) +0:228 imageQuerySize ( global highp int) +0:228 'bufSamp6' ( writeonly uniform highp uimageBuffer) 0:230 Sequence -0:230 move second child to first child (temp highp 4-component vector of float) -0:230 'f1' (temp highp 4-component vector of float) -0:230 textureFetch (global highp 4-component vector of float) -0:230 'bufSamp1' (uniform highp samplerBuffer) -0:230 's1' (temp highp int) +0:230 move second child to first child ( temp highp 4-component vector of float) +0:230 'f1' ( temp highp 4-component vector of float) +0:230 textureFetch ( global highp 4-component vector of float) +0:230 'bufSamp1' ( uniform highp samplerBuffer) +0:230 's1' ( temp highp int) 0:231 Sequence -0:231 move second child to first child (temp highp 4-component vector of int) -0:231 'f2' (temp highp 4-component vector of int) -0:231 textureFetch (global highp 4-component vector of int) -0:231 'bufSamp2' (uniform highp isamplerBuffer) -0:231 's2' (temp highp int) +0:231 move second child to first child ( temp highp 4-component vector of int) +0:231 'f2' ( temp highp 4-component vector of int) +0:231 textureFetch ( global highp 4-component vector of int) +0:231 'bufSamp2' ( uniform highp isamplerBuffer) +0:231 's2' ( temp highp int) 0:232 Sequence -0:232 move second child to first child (temp highp 4-component vector of uint) -0:232 'f3' (temp highp 4-component vector of uint) -0:232 textureFetch (global highp 4-component vector of uint) -0:232 'bufSamp3' (uniform highp usamplerBuffer) -0:232 's3' (temp highp int) -0:279 Function Definition: CAT( (global void) +0:232 move second child to first child ( temp highp 4-component vector of uint) +0:232 'f3' ( temp highp 4-component vector of uint) +0:232 textureFetch ( global highp 4-component vector of uint) +0:232 'bufSamp3' ( uniform highp usamplerBuffer) +0:232 's3' ( temp highp int) +0:279 Function Definition: CAT( ( global void) 0:279 Function Parameters: 0:281 Sequence 0:281 Sequence -0:281 move second child to first child (temp highp 3-component vector of int) -0:281 's4' (temp highp 3-component vector of int) -0:281 textureSize (global highp 3-component vector of int) -0:281 'CA4' (uniform highp samplerCubeArray) +0:281 move second child to first child ( temp highp 3-component vector of int) +0:281 's4' ( temp highp 3-component vector of int) +0:281 textureSize ( global highp 3-component vector of int) +0:281 'CA4' ( uniform highp samplerCubeArray) 0:281 Constant: 0:281 1 (const int) 0:282 Sequence -0:282 move second child to first child (temp highp 3-component vector of int) -0:282 's5' (temp highp 3-component vector of int) -0:282 textureSize (global highp 3-component vector of int) -0:282 'CA5' (uniform highp samplerCubeArrayShadow) +0:282 move second child to first child ( temp highp 3-component vector of int) +0:282 's5' ( temp highp 3-component vector of int) +0:282 textureSize ( global highp 3-component vector of int) +0:282 'CA5' ( uniform highp samplerCubeArrayShadow) 0:282 Constant: 0:282 1 (const int) 0:283 Sequence -0:283 move second child to first child (temp highp 3-component vector of int) -0:283 's6' (temp highp 3-component vector of int) -0:283 textureSize (global highp 3-component vector of int) -0:283 'CA6' (uniform highp isamplerCubeArray) +0:283 move second child to first child ( temp highp 3-component vector of int) +0:283 's6' ( temp highp 3-component vector of int) +0:283 textureSize ( global highp 3-component vector of int) +0:283 'CA6' ( uniform highp isamplerCubeArray) 0:283 Constant: 0:283 1 (const int) 0:284 Sequence -0:284 move second child to first child (temp highp 3-component vector of int) -0:284 's7' (temp highp 3-component vector of int) -0:284 textureSize (global highp 3-component vector of int) -0:284 'CA7' (uniform highp usamplerCubeArray) +0:284 move second child to first child ( temp highp 3-component vector of int) +0:284 's7' ( temp highp 3-component vector of int) +0:284 textureSize ( global highp 3-component vector of int) +0:284 'CA7' ( uniform highp usamplerCubeArray) 0:284 Constant: 0:284 1 (const int) 0:286 Sequence -0:286 move second child to first child (temp highp 4-component vector of float) -0:286 't4' (temp highp 4-component vector of float) -0:286 texture (global highp 4-component vector of float) -0:286 'CA4' (uniform highp samplerCubeArray) +0:286 move second child to first child ( temp highp 4-component vector of float) +0:286 't4' ( temp highp 4-component vector of float) +0:286 texture ( global highp 4-component vector of float) +0:286 'CA4' ( uniform highp samplerCubeArray) 0:286 Constant: 0:286 0.500000 0:286 0.500000 0:286 0.500000 0:286 0.500000 0:287 Sequence -0:287 move second child to first child (temp highp float) -0:287 't5' (temp highp float) -0:287 texture (global highp float) -0:287 'CA5' (uniform highp samplerCubeArrayShadow) +0:287 move second child to first child ( temp highp float) +0:287 't5' ( temp highp float) +0:287 texture ( global highp float) +0:287 'CA5' ( uniform highp samplerCubeArrayShadow) 0:287 Constant: 0:287 0.500000 0:287 0.500000 @@ -535,30 +535,30 @@ ERROR: node is still EOpNull! 0:287 Constant: 0:287 3.000000 0:288 Sequence -0:288 move second child to first child (temp highp 4-component vector of int) -0:288 't6' (temp highp 4-component vector of int) -0:288 texture (global highp 4-component vector of int) -0:288 'CA6' (uniform highp isamplerCubeArray) +0:288 move second child to first child ( temp highp 4-component vector of int) +0:288 't6' ( temp highp 4-component vector of int) +0:288 texture ( global highp 4-component vector of int) +0:288 'CA6' ( uniform highp isamplerCubeArray) 0:288 Constant: 0:288 0.500000 0:288 0.500000 0:288 0.500000 0:288 0.500000 0:289 Sequence -0:289 move second child to first child (temp highp 4-component vector of uint) -0:289 't7' (temp highp 4-component vector of uint) -0:289 texture (global highp 4-component vector of uint) -0:289 'CA7' (uniform highp usamplerCubeArray) +0:289 move second child to first child ( temp highp 4-component vector of uint) +0:289 't7' ( temp highp 4-component vector of uint) +0:289 texture ( global highp 4-component vector of uint) +0:289 'CA7' ( uniform highp usamplerCubeArray) 0:289 Constant: 0:289 0.500000 0:289 0.500000 0:289 0.500000 0:289 0.500000 0:291 Sequence -0:291 move second child to first child (temp highp 4-component vector of float) -0:291 'L4' (temp highp 4-component vector of float) -0:291 textureLod (global highp 4-component vector of float) -0:291 'CA4' (uniform highp samplerCubeArray) +0:291 move second child to first child ( temp highp 4-component vector of float) +0:291 'L4' ( temp highp 4-component vector of float) +0:291 textureLod ( global highp 4-component vector of float) +0:291 'CA4' ( uniform highp samplerCubeArray) 0:291 Constant: 0:291 0.500000 0:291 0.500000 @@ -567,10 +567,10 @@ ERROR: node is still EOpNull! 0:291 Constant: 0:291 0.240000 0:292 Sequence -0:292 move second child to first child (temp highp 4-component vector of int) -0:292 'L6' (temp highp 4-component vector of int) -0:292 textureLod (global highp 4-component vector of int) -0:292 'CA6' (uniform highp isamplerCubeArray) +0:292 move second child to first child ( temp highp 4-component vector of int) +0:292 'L6' ( temp highp 4-component vector of int) +0:292 textureLod ( global highp 4-component vector of int) +0:292 'CA6' ( uniform highp isamplerCubeArray) 0:292 Constant: 0:292 0.500000 0:292 0.500000 @@ -579,10 +579,10 @@ ERROR: node is still EOpNull! 0:292 Constant: 0:292 0.260000 0:293 Sequence -0:293 move second child to first child (temp highp 4-component vector of uint) -0:293 'L7' (temp highp 4-component vector of uint) -0:293 textureLod (global highp 4-component vector of uint) -0:293 'CA7' (uniform highp usamplerCubeArray) +0:293 move second child to first child ( temp highp 4-component vector of uint) +0:293 'L7' ( temp highp 4-component vector of uint) +0:293 textureLod ( global highp 4-component vector of uint) +0:293 'CA7' ( uniform highp usamplerCubeArray) 0:293 Constant: 0:293 0.500000 0:293 0.500000 @@ -591,10 +591,10 @@ ERROR: node is still EOpNull! 0:293 Constant: 0:293 0.270000 0:295 Sequence -0:295 move second child to first child (temp highp 4-component vector of float) -0:295 'g4' (temp highp 4-component vector of float) -0:295 textureGrad (global highp 4-component vector of float) -0:295 'CA4' (uniform highp samplerCubeArray) +0:295 move second child to first child ( temp highp 4-component vector of float) +0:295 'g4' ( temp highp 4-component vector of float) +0:295 textureGrad ( global highp 4-component vector of float) +0:295 'CA4' ( uniform highp samplerCubeArray) 0:295 Constant: 0:295 0.500000 0:295 0.500000 @@ -609,10 +609,10 @@ ERROR: node is still EOpNull! 0:295 0.200000 0:295 0.200000 0:296 Sequence -0:296 move second child to first child (temp highp 4-component vector of int) -0:296 'g6' (temp highp 4-component vector of int) -0:296 textureGrad (global highp 4-component vector of int) -0:296 'CA6' (uniform highp isamplerCubeArray) +0:296 move second child to first child ( temp highp 4-component vector of int) +0:296 'g6' ( temp highp 4-component vector of int) +0:296 textureGrad ( global highp 4-component vector of int) +0:296 'CA6' ( uniform highp isamplerCubeArray) 0:296 Constant: 0:296 0.500000 0:296 0.500000 @@ -627,10 +627,10 @@ ERROR: node is still EOpNull! 0:296 0.200000 0:296 0.200000 0:297 Sequence -0:297 move second child to first child (temp highp 4-component vector of uint) -0:297 'g7' (temp highp 4-component vector of uint) -0:297 textureGrad (global highp 4-component vector of uint) -0:297 'CA7' (uniform highp usamplerCubeArray) +0:297 move second child to first child ( temp highp 4-component vector of uint) +0:297 'g7' ( temp highp 4-component vector of uint) +0:297 textureGrad ( global highp 4-component vector of uint) +0:297 'CA7' ( uniform highp usamplerCubeArray) 0:297 Constant: 0:297 0.500000 0:297 0.500000 @@ -645,20 +645,20 @@ ERROR: node is still EOpNull! 0:297 0.200000 0:297 0.200000 0:299 Sequence -0:299 move second child to first child (temp highp 4-component vector of float) -0:299 'gath4' (temp highp 4-component vector of float) -0:299 textureGather (global highp 4-component vector of float) -0:299 'CA4' (uniform highp samplerCubeArray) +0:299 move second child to first child ( temp highp 4-component vector of float) +0:299 'gath4' ( temp highp 4-component vector of float) +0:299 textureGather ( global highp 4-component vector of float) +0:299 'CA4' ( uniform highp samplerCubeArray) 0:299 Constant: 0:299 0.500000 0:299 0.500000 0:299 0.500000 0:299 0.500000 0:300 Sequence -0:300 move second child to first child (temp highp 4-component vector of float) -0:300 'gathC4' (temp highp 4-component vector of float) -0:300 textureGather (global highp 4-component vector of float) -0:300 'CA4' (uniform highp samplerCubeArray) +0:300 move second child to first child ( temp highp 4-component vector of float) +0:300 'gathC4' ( temp highp 4-component vector of float) +0:300 textureGather ( global highp 4-component vector of float) +0:300 'CA4' ( uniform highp samplerCubeArray) 0:300 Constant: 0:300 0.500000 0:300 0.500000 @@ -667,20 +667,20 @@ ERROR: node is still EOpNull! 0:300 Constant: 0:300 2 (const int) 0:301 Sequence -0:301 move second child to first child (temp highp 4-component vector of int) -0:301 'gath6' (temp highp 4-component vector of int) -0:301 textureGather (global highp 4-component vector of int) -0:301 'CA6' (uniform highp isamplerCubeArray) +0:301 move second child to first child ( temp highp 4-component vector of int) +0:301 'gath6' ( temp highp 4-component vector of int) +0:301 textureGather ( global highp 4-component vector of int) +0:301 'CA6' ( uniform highp isamplerCubeArray) 0:301 Constant: 0:301 0.500000 0:301 0.500000 0:301 0.500000 0:301 0.500000 0:302 Sequence -0:302 move second child to first child (temp highp 4-component vector of int) -0:302 'gathC6' (temp highp 4-component vector of int) -0:302 textureGather (global highp 4-component vector of int) -0:302 'CA6' (uniform highp isamplerCubeArray) +0:302 move second child to first child ( temp highp 4-component vector of int) +0:302 'gathC6' ( temp highp 4-component vector of int) +0:302 textureGather ( global highp 4-component vector of int) +0:302 'CA6' ( uniform highp isamplerCubeArray) 0:302 Constant: 0:302 0.500000 0:302 0.500000 @@ -689,20 +689,20 @@ ERROR: node is still EOpNull! 0:302 Constant: 0:302 1 (const int) 0:303 Sequence -0:303 move second child to first child (temp highp 4-component vector of uint) -0:303 'gath7' (temp highp 4-component vector of uint) -0:303 textureGather (global highp 4-component vector of uint) -0:303 'CA7' (uniform highp usamplerCubeArray) +0:303 move second child to first child ( temp highp 4-component vector of uint) +0:303 'gath7' ( temp highp 4-component vector of uint) +0:303 textureGather ( global highp 4-component vector of uint) +0:303 'CA7' ( uniform highp usamplerCubeArray) 0:303 Constant: 0:303 0.500000 0:303 0.500000 0:303 0.500000 0:303 0.500000 0:304 Sequence -0:304 move second child to first child (temp highp 4-component vector of uint) -0:304 'gathC7' (temp highp 4-component vector of uint) -0:304 textureGather (global highp 4-component vector of uint) -0:304 'CA7' (uniform highp usamplerCubeArray) +0:304 move second child to first child ( temp highp 4-component vector of uint) +0:304 'gathC7' ( temp highp 4-component vector of uint) +0:304 textureGather ( global highp 4-component vector of uint) +0:304 'CA7' ( uniform highp usamplerCubeArray) 0:304 Constant: 0:304 0.500000 0:304 0.500000 @@ -711,10 +711,10 @@ ERROR: node is still EOpNull! 0:304 Constant: 0:304 0 (const int) 0:306 Sequence -0:306 move second child to first child (temp highp 4-component vector of float) -0:306 'gath5' (temp highp 4-component vector of float) -0:306 textureGather (global highp 4-component vector of float) -0:306 'CA5' (uniform highp samplerCubeArrayShadow) +0:306 move second child to first child ( temp highp 4-component vector of float) +0:306 'gath5' ( temp highp 4-component vector of float) +0:306 textureGather ( global highp 4-component vector of float) +0:306 'CA5' ( uniform highp samplerCubeArrayShadow) 0:306 Constant: 0:306 0.500000 0:306 0.500000 @@ -723,70 +723,70 @@ ERROR: node is still EOpNull! 0:306 Constant: 0:306 2.500000 0:308 Sequence -0:308 move second child to first child (temp highp 3-component vector of int) -0:308 's1' (temp highp 3-component vector of int) -0:308 imageQuerySize (global highp 3-component vector of int) -0:308 'CA1' (writeonly uniform highp imageCubeArray) +0:308 move second child to first child ( temp highp 3-component vector of int) +0:308 's1' ( temp highp 3-component vector of int) +0:308 imageQuerySize ( global highp 3-component vector of int) +0:308 'CA1' ( writeonly uniform highp imageCubeArray) 0:309 Sequence -0:309 move second child to first child (temp highp 3-component vector of int) -0:309 's2' (temp highp 3-component vector of int) -0:309 imageQuerySize (global highp 3-component vector of int) -0:309 'CA2' (writeonly uniform highp iimageCubeArray) +0:309 move second child to first child ( temp highp 3-component vector of int) +0:309 's2' ( temp highp 3-component vector of int) +0:309 imageQuerySize ( global highp 3-component vector of int) +0:309 'CA2' ( writeonly uniform highp iimageCubeArray) 0:310 Sequence -0:310 move second child to first child (temp highp 3-component vector of int) -0:310 's3' (temp highp 3-component vector of int) -0:310 imageQuerySize (global highp 3-component vector of int) -0:310 'CA3' (writeonly uniform highp uimageCubeArray) -0:312 imageStore (global highp void) -0:312 'CA1' (writeonly uniform highp imageCubeArray) -0:312 's3' (temp highp 3-component vector of int) +0:310 move second child to first child ( temp highp 3-component vector of int) +0:310 's3' ( temp highp 3-component vector of int) +0:310 imageQuerySize ( global highp 3-component vector of int) +0:310 'CA3' ( writeonly uniform highp uimageCubeArray) +0:312 imageStore ( global highp void) +0:312 'CA1' ( writeonly uniform highp imageCubeArray) +0:312 's3' ( temp highp 3-component vector of int) 0:312 Constant: 0:312 1.000000 0:312 1.000000 0:312 1.000000 0:312 1.000000 -0:313 imageStore (global highp void) -0:313 'CA2' (writeonly uniform highp iimageCubeArray) -0:313 's3' (temp highp 3-component vector of int) +0:313 imageStore ( global highp void) +0:313 'CA2' ( writeonly uniform highp iimageCubeArray) +0:313 's3' ( temp highp 3-component vector of int) 0:313 Constant: 0:313 1 (const int) 0:313 1 (const int) 0:313 1 (const int) 0:313 1 (const int) -0:314 imageStore (global highp void) -0:314 'CA3' (writeonly uniform highp uimageCubeArray) -0:314 's3' (temp highp 3-component vector of int) +0:314 imageStore ( global highp void) +0:314 'CA3' ( writeonly uniform highp uimageCubeArray) +0:314 's3' ( temp highp 3-component vector of int) 0:314 Constant: 0:314 1 (const uint) 0:314 1 (const uint) 0:314 1 (const uint) 0:314 1 (const uint) 0:316 Sequence -0:316 move second child to first child (temp highp 4-component vector of float) -0:316 'cl1' (temp highp 4-component vector of float) -0:316 imageLoad (global highp 4-component vector of float) -0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray) -0:316 's3' (temp highp 3-component vector of int) +0:316 move second child to first child ( temp highp 4-component vector of float) +0:316 'cl1' ( temp highp 4-component vector of float) +0:316 imageLoad ( global highp 4-component vector of float) +0:316 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray) +0:316 's3' ( temp highp 3-component vector of int) 0:317 Sequence -0:317 move second child to first child (temp highp 4-component vector of int) -0:317 'cl2' (temp highp 4-component vector of int) -0:317 imageLoad (global highp 4-component vector of int) -0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray) -0:317 's3' (temp highp 3-component vector of int) +0:317 move second child to first child ( temp highp 4-component vector of int) +0:317 'cl2' ( temp highp 4-component vector of int) +0:317 imageLoad ( global highp 4-component vector of int) +0:317 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray) +0:317 's3' ( temp highp 3-component vector of int) 0:318 Sequence -0:318 move second child to first child (temp highp 4-component vector of uint) -0:318 'cl3' (temp highp 4-component vector of uint) -0:318 imageLoad (global highp 4-component vector of uint) -0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray) -0:318 's3' (temp highp 3-component vector of int) -0:343 Function Definition: MSA( (global void) +0:318 move second child to first child ( temp highp 4-component vector of uint) +0:318 'cl3' ( temp highp 4-component vector of uint) +0:318 imageLoad ( global highp 4-component vector of uint) +0:318 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray) +0:318 's3' ( temp highp 3-component vector of int) +0:343 Function Definition: MSA( ( global void) 0:343 Function Parameters: 0:345 Sequence 0:345 Sequence -0:345 move second child to first child (temp highp 4-component vector of float) -0:345 'tf' (temp highp 4-component vector of float) -0:345 textureFetch (global highp 4-component vector of float) -0:345 'samp2DMSA' (uniform highp sampler2DMSArray) +0:345 move second child to first child ( temp highp 4-component vector of float) +0:345 'tf' ( temp highp 4-component vector of float) +0:345 textureFetch ( global highp 4-component vector of float) +0:345 'samp2DMSA' ( uniform highp sampler2DMSArray) 0:345 Constant: 0:345 5 (const int) 0:345 5 (const int) @@ -794,10 +794,10 @@ ERROR: node is still EOpNull! 0:345 Constant: 0:345 2 (const int) 0:346 Sequence -0:346 move second child to first child (temp highp 4-component vector of int) -0:346 'tfi' (temp highp 4-component vector of int) -0:346 textureFetch (global highp 4-component vector of int) -0:346 'samp2DMSAi' (uniform highp isampler2DMSArray) +0:346 move second child to first child ( temp highp 4-component vector of int) +0:346 'tfi' ( temp highp 4-component vector of int) +0:346 textureFetch ( global highp 4-component vector of int) +0:346 'samp2DMSAi' ( uniform highp isampler2DMSArray) 0:346 Constant: 0:346 5 (const int) 0:346 5 (const int) @@ -805,10 +805,10 @@ ERROR: node is still EOpNull! 0:346 Constant: 0:346 2 (const int) 0:347 Sequence -0:347 move second child to first child (temp highp 4-component vector of uint) -0:347 'tfu' (temp highp 4-component vector of uint) -0:347 textureFetch (global highp 4-component vector of uint) -0:347 'samp2DMSAu' (uniform highp usampler2DMSArray) +0:347 move second child to first child ( temp highp 4-component vector of uint) +0:347 'tfu' ( temp highp 4-component vector of uint) +0:347 textureFetch ( global highp 4-component vector of uint) +0:347 'samp2DMSAu' ( uniform highp usampler2DMSArray) 0:347 Constant: 0:347 5 (const int) 0:347 5 (const int) @@ -816,96 +816,96 @@ ERROR: node is still EOpNull! 0:347 Constant: 0:347 2 (const int) 0:349 Sequence -0:349 move second child to first child (temp highp 3-component vector of int) -0:349 'tfs' (temp highp 3-component vector of int) -0:349 textureSize (global highp 3-component vector of int) -0:349 'samp2DMSA' (uniform highp sampler2DMSArray) +0:349 move second child to first child ( temp highp 3-component vector of int) +0:349 'tfs' ( temp highp 3-component vector of int) +0:349 textureSize ( global highp 3-component vector of int) +0:349 'samp2DMSA' ( uniform highp sampler2DMSArray) 0:350 Sequence -0:350 move second child to first child (temp highp 3-component vector of int) -0:350 'tfsi' (temp highp 3-component vector of int) -0:350 textureSize (global highp 3-component vector of int) -0:350 'samp2DMSAi' (uniform highp isampler2DMSArray) +0:350 move second child to first child ( temp highp 3-component vector of int) +0:350 'tfsi' ( temp highp 3-component vector of int) +0:350 textureSize ( global highp 3-component vector of int) +0:350 'samp2DMSAi' ( uniform highp isampler2DMSArray) 0:352 Sequence -0:352 move second child to first child (temp highp 3-component vector of int) -0:352 'tfsu' (temp highp 3-component vector of int) -0:352 textureSize (global highp 3-component vector of int) -0:352 'samp2DMSAu' (uniform highp usampler2DMSArray) -0:364 Function Definition: goodImageAtom( (global void) +0:352 move second child to first child ( temp highp 3-component vector of int) +0:352 'tfsu' ( temp highp 3-component vector of int) +0:352 textureSize ( global highp 3-component vector of int) +0:352 'samp2DMSAu' ( uniform highp usampler2DMSArray) +0:364 Function Definition: goodImageAtom( ( global void) 0:364 Function Parameters: 0:? Sequence -0:370 imageAtomicAdd (global highp int) -0:370 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:370 'P' (uniform highp 2-component vector of int) -0:370 'dati' (temp highp int) -0:371 imageAtomicAdd (global highp uint) -0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:371 'P' (uniform highp 2-component vector of int) -0:371 'datu' (temp highp uint) -0:372 imageAtomicMin (global highp int) -0:372 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:372 'P' (uniform highp 2-component vector of int) -0:372 'dati' (temp highp int) -0:373 imageAtomicMin (global highp uint) -0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:373 'P' (uniform highp 2-component vector of int) -0:373 'datu' (temp highp uint) -0:374 imageAtomicMax (global highp int) -0:374 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:374 'P' (uniform highp 2-component vector of int) -0:374 'dati' (temp highp int) -0:375 imageAtomicMax (global highp uint) -0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:375 'P' (uniform highp 2-component vector of int) -0:375 'datu' (temp highp uint) -0:376 imageAtomicAnd (global highp int) -0:376 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:376 'P' (uniform highp 2-component vector of int) -0:376 'dati' (temp highp int) -0:377 imageAtomicAnd (global highp uint) -0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:377 'P' (uniform highp 2-component vector of int) -0:377 'datu' (temp highp uint) -0:378 imageAtomicOr (global highp int) -0:378 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:378 'P' (uniform highp 2-component vector of int) -0:378 'dati' (temp highp int) -0:379 imageAtomicOr (global highp uint) -0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:379 'P' (uniform highp 2-component vector of int) -0:379 'datu' (temp highp uint) -0:380 imageAtomicXor (global highp int) -0:380 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:380 'P' (uniform highp 2-component vector of int) -0:380 'dati' (temp highp int) -0:381 imageAtomicXor (global highp uint) -0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:381 'P' (uniform highp 2-component vector of int) -0:381 'datu' (temp highp uint) -0:382 imageAtomicExchange (global highp int) -0:382 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:382 'P' (uniform highp 2-component vector of int) -0:382 'dati' (temp highp int) -0:383 imageAtomicExchange (global highp uint) -0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:383 'P' (uniform highp 2-component vector of int) -0:383 'datu' (temp highp uint) -0:384 imageAtomicExchange (global highp float) -0:384 'im2Df' (layout(r32f ) uniform highp image2D) -0:384 'P' (uniform highp 2-component vector of int) -0:384 'datf' (temp highp float) -0:385 imageAtomicCompSwap (global highp int) -0:385 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:385 'P' (uniform highp 2-component vector of int) +0:370 imageAtomicAdd ( global highp int) +0:370 'im2Di' (layout( r32i) uniform highp iimage2D) +0:370 'P' ( uniform highp 2-component vector of int) +0:370 'dati' ( temp highp int) +0:371 imageAtomicAdd ( global highp uint) +0:371 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:371 'P' ( uniform highp 2-component vector of int) +0:371 'datu' ( temp highp uint) +0:372 imageAtomicMin ( global highp int) +0:372 'im2Di' (layout( r32i) uniform highp iimage2D) +0:372 'P' ( uniform highp 2-component vector of int) +0:372 'dati' ( temp highp int) +0:373 imageAtomicMin ( global highp uint) +0:373 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:373 'P' ( uniform highp 2-component vector of int) +0:373 'datu' ( temp highp uint) +0:374 imageAtomicMax ( global highp int) +0:374 'im2Di' (layout( r32i) uniform highp iimage2D) +0:374 'P' ( uniform highp 2-component vector of int) +0:374 'dati' ( temp highp int) +0:375 imageAtomicMax ( global highp uint) +0:375 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:375 'P' ( uniform highp 2-component vector of int) +0:375 'datu' ( temp highp uint) +0:376 imageAtomicAnd ( global highp int) +0:376 'im2Di' (layout( r32i) uniform highp iimage2D) +0:376 'P' ( uniform highp 2-component vector of int) +0:376 'dati' ( temp highp int) +0:377 imageAtomicAnd ( global highp uint) +0:377 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:377 'P' ( uniform highp 2-component vector of int) +0:377 'datu' ( temp highp uint) +0:378 imageAtomicOr ( global highp int) +0:378 'im2Di' (layout( r32i) uniform highp iimage2D) +0:378 'P' ( uniform highp 2-component vector of int) +0:378 'dati' ( temp highp int) +0:379 imageAtomicOr ( global highp uint) +0:379 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:379 'P' ( uniform highp 2-component vector of int) +0:379 'datu' ( temp highp uint) +0:380 imageAtomicXor ( global highp int) +0:380 'im2Di' (layout( r32i) uniform highp iimage2D) +0:380 'P' ( uniform highp 2-component vector of int) +0:380 'dati' ( temp highp int) +0:381 imageAtomicXor ( global highp uint) +0:381 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:381 'P' ( uniform highp 2-component vector of int) +0:381 'datu' ( temp highp uint) +0:382 imageAtomicExchange ( global highp int) +0:382 'im2Di' (layout( r32i) uniform highp iimage2D) +0:382 'P' ( uniform highp 2-component vector of int) +0:382 'dati' ( temp highp int) +0:383 imageAtomicExchange ( global highp uint) +0:383 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:383 'P' ( uniform highp 2-component vector of int) +0:383 'datu' ( temp highp uint) +0:384 imageAtomicExchange ( global highp float) +0:384 'im2Df' (layout( r32f) uniform highp image2D) +0:384 'P' ( uniform highp 2-component vector of int) +0:384 'datf' ( temp highp float) +0:385 imageAtomicCompSwap ( global highp int) +0:385 'im2Di' (layout( r32i) uniform highp iimage2D) +0:385 'P' ( uniform highp 2-component vector of int) 0:385 Constant: 0:385 3 (const int) -0:385 'dati' (temp highp int) -0:386 imageAtomicCompSwap (global highp uint) -0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:386 'P' (uniform highp 2-component vector of int) +0:385 'dati' ( temp highp int) +0:386 imageAtomicCompSwap ( global highp uint) +0:386 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:386 'P' ( uniform highp 2-component vector of int) 0:386 Constant: 0:386 5 (const uint) -0:386 'datu' (temp highp uint) -0:398 Function Definition: badInterp( (global void) +0:386 'datu' ( temp highp uint) +0:398 Function Definition: badInterp( ( global void) 0:398 Function Parameters: 0:400 Sequence 0:400 Constant: @@ -915,47 +915,47 @@ ERROR: node is still EOpNull! 0:402 Constant: 0:402 0.000000 0:? Linker Objects -0:? 's' (shared highp 4-component vector of float) -0:? 'v' (buffer highp 4-component vector of float) -0:? 'ini' (in highp int) -0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float) -0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float) -0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float) -0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float) -0:? 's2dms' (uniform highp sampler2DMS) -0:? 'is2dms' (uniform highp isampler2DMS) -0:? 'us2dms' (uniform highp usampler2DMS) -0:? 'us2dmsa' (uniform mediump usampler2DMSArray) -0:? 'outb' (smooth out bool) -0:? 'outo' (smooth out lowp sampler2D) -0:? 'outa' (smooth out 4-element array of highp float) -0:? 'outaa' (smooth out 4-element array of 2-element array of highp float) -0:? 'outs' (smooth out structure{global highp float f}) -0:? 'outasa' (smooth out 4-element array of structure{global highp float f}) -0:? 'outsa' (smooth out 4-element array of structure{global highp float f}) -0:? 'outSA' (smooth out structure{global 4-element array of highp float f}) -0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s}) -0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a}) -0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a}) -0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s}) -0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon}) -0:? 'aliased' (layout(location=12 ) smooth out highp int) -0:? 'inbinst' (in block{in highp int a}) -0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, }) -0:? 'smon' (smooth out block{out highp int i}) -0:? 'fmon' (flat out block{out highp int i}) -0:? 'cmon' (centroid out block{out highp int i}) -0:? 'imon' (invariant out block{out highp int i}) -0:? 'inf' (in highp 2-component vector of float) -0:? 'ing' (in highp 2-component vector of float) -0:? 'offsets' (uniform 4-element array of highp 2-component vector of int) -0:? 'sArray' (uniform 4-element array of lowp sampler2D) -0:? 'sIndex' (uniform highp int) -0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint) -0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i}) -0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i}) -0:? 'iArray' (writeonly uniform 5-element array of highp image2D) -0:? 'constOffsets' (const 4-element array of highp 2-component vector of int) +0:? 's' ( shared highp 4-component vector of float) +0:? 'v' ( buffer highp 4-component vector of float) +0:? 'ini' ( in highp int) +0:? 'x' (layout( location=2) uniform highp 4X4 matrix of float) +0:? 'y' (layout( location=3) uniform highp 4X4 matrix of float) +0:? 'xi' (layout( location=2) smooth out highp 4X4 matrix of float) +0:? 'yi' (layout( location=3) smooth out highp 4X4 matrix of float) +0:? 's2dms' ( uniform highp sampler2DMS) +0:? 'is2dms' ( uniform highp isampler2DMS) +0:? 'us2dms' ( uniform highp usampler2DMS) +0:? 'us2dmsa' ( uniform mediump usampler2DMSArray) +0:? 'outb' ( smooth out bool) +0:? 'outo' ( smooth out lowp sampler2D) +0:? 'outa' ( smooth out 4-element array of highp float) +0:? 'outaa' ( smooth out 4-element array of 2-element array of highp float) +0:? 'outs' ( smooth out structure{ global highp float f}) +0:? 'outasa' ( smooth out 4-element array of structure{ global highp float f}) +0:? 'outsa' ( smooth out 4-element array of structure{ global highp float f}) +0:? 'outSA' ( smooth out structure{ global 4-element array of highp float f}) +0:? 'outSS' ( smooth out structure{ global highp float f, global structure{ global highp float f} s}) +0:? 'U430i' (layout( column_major std430) uniform block{layout( column_major std430 offset=0) uniform highp int a}) +0:? 'B430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp int a}) +0:? 'outbinst' ( out block{ out highp int a, out highp 4-component vector of float v, out highp sampler2D s}) +0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon}) +0:? 'aliased' (layout( location=12) smooth out highp int) +0:? 'inbinst' ( in block{ in highp int a}) +0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, }) +0:? 'smon' ( smooth out block{ out highp int i}) +0:? 'fmon' ( flat out block{ out highp int i}) +0:? 'cmon' ( centroid out block{ out highp int i}) +0:? 'imon' ( invariant out block{ out highp int i}) +0:? 'inf' ( in highp 2-component vector of float) +0:? 'ing' ( in highp 2-component vector of float) +0:? 'offsets' ( uniform 4-element array of highp 2-component vector of int) +0:? 'sArray' ( uniform 4-element array of lowp sampler2D) +0:? 'sIndex' ( uniform highp int) +0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint) +0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i}) +0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i}) +0:? 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:? 'constOffsets' ( const 4-element array of highp 2-component vector of int) 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) @@ -964,68 +964,68 @@ ERROR: node is still EOpNull! 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) -0:? 'badSamp1' (uniform mediump samplerBuffer) -0:? 'badSamp2' (uniform mediump isamplerBuffer) -0:? 'badSamp3' (uniform mediump usamplerBuffer) -0:? 'badSamp4' (writeonly uniform mediump imageBuffer) -0:? 'badSamp5' (writeonly uniform mediump iimageBuffer) -0:? 'badSamp6' (writeonly uniform mediump uimageBuffer) -0:? 'noPreSamp1' (uniform mediump samplerBuffer) -0:? 'noPreSamp2' (uniform mediump isamplerBuffer) -0:? 'noPreSamp3' (uniform mediump usamplerBuffer) -0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer) -0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer) -0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer) -0:? 'bufSamp1' (uniform highp samplerBuffer) -0:? 'bufSamp2' (uniform highp isamplerBuffer) -0:? 'bufSamp3' (uniform highp usamplerBuffer) -0:? 'bufSamp4' (writeonly uniform highp imageBuffer) -0:? 'bufSamp5' (writeonly uniform highp iimageBuffer) -0:? 'bufSamp6' (writeonly uniform highp uimageBuffer) -0:? 'badCA1' (writeonly uniform mediump imageCubeArray) -0:? 'badCA2' (writeonly uniform mediump iimageCubeArray) -0:? 'badCA3' (writeonly uniform mediump uimageCubeArray) -0:? 'badCA4' (uniform mediump samplerCubeArray) -0:? 'badCA5' (uniform mediump samplerCubeArrayShadow) -0:? 'badCA6' (uniform mediump isamplerCubeArray) -0:? 'badCA7' (uniform mediump usamplerCubeArray) -0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray) -0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray) -0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray) -0:? 'noPreCA4' (uniform mediump samplerCubeArray) -0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow) -0:? 'noPreCA6' (uniform mediump isamplerCubeArray) -0:? 'noPreCA7' (uniform mediump usamplerCubeArray) -0:? 'CA1' (writeonly uniform highp imageCubeArray) -0:? 'CA2' (writeonly uniform highp iimageCubeArray) -0:? 'CA3' (writeonly uniform highp uimageCubeArray) -0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray) -0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray) -0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray) -0:? 'CA4' (uniform highp samplerCubeArray) -0:? 'CA5' (uniform highp samplerCubeArrayShadow) -0:? 'CA6' (uniform highp isamplerCubeArray) -0:? 'CA7' (uniform highp usamplerCubeArray) -0:? 'bad2DMS' (uniform mediump sampler2DMSArray) -0:? 'bad2DMSi' (uniform mediump isampler2DMSArray) -0:? 'bad2DMSu' (uniform mediump usampler2DMSArray) -0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray) -0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray) -0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray) -0:? 'samp2DMSA' (uniform highp sampler2DMSArray) -0:? 'samp2DMSAi' (uniform highp isampler2DMSArray) -0:? 'samp2DMSAu' (uniform highp usampler2DMSArray) -0:? 'im2Df' (layout(r32f ) uniform highp image2D) -0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:? 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:? 'P' (uniform highp 2-component vector of int) -0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float) -0:? 'colorSample' (smooth sample out highp 4-component vector of float) -0:? 'colorfsi' (flat sample out highp 4-component vector of float) -0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float) -0:? 'inv4' (in highp 4-component vector of float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'badSamp1' ( uniform mediump samplerBuffer) +0:? 'badSamp2' ( uniform mediump isamplerBuffer) +0:? 'badSamp3' ( uniform mediump usamplerBuffer) +0:? 'badSamp4' ( writeonly uniform mediump imageBuffer) +0:? 'badSamp5' ( writeonly uniform mediump iimageBuffer) +0:? 'badSamp6' ( writeonly uniform mediump uimageBuffer) +0:? 'noPreSamp1' ( uniform mediump samplerBuffer) +0:? 'noPreSamp2' ( uniform mediump isamplerBuffer) +0:? 'noPreSamp3' ( uniform mediump usamplerBuffer) +0:? 'noPreSamp4' ( writeonly uniform mediump imageBuffer) +0:? 'noPreSamp5' ( writeonly uniform mediump iimageBuffer) +0:? 'noPreSamp6' ( writeonly uniform mediump uimageBuffer) +0:? 'bufSamp1' ( uniform highp samplerBuffer) +0:? 'bufSamp2' ( uniform highp isamplerBuffer) +0:? 'bufSamp3' ( uniform highp usamplerBuffer) +0:? 'bufSamp4' ( writeonly uniform highp imageBuffer) +0:? 'bufSamp5' ( writeonly uniform highp iimageBuffer) +0:? 'bufSamp6' ( writeonly uniform highp uimageBuffer) +0:? 'badCA1' ( writeonly uniform mediump imageCubeArray) +0:? 'badCA2' ( writeonly uniform mediump iimageCubeArray) +0:? 'badCA3' ( writeonly uniform mediump uimageCubeArray) +0:? 'badCA4' ( uniform mediump samplerCubeArray) +0:? 'badCA5' ( uniform mediump samplerCubeArrayShadow) +0:? 'badCA6' ( uniform mediump isamplerCubeArray) +0:? 'badCA7' ( uniform mediump usamplerCubeArray) +0:? 'noPreCA1' ( writeonly uniform mediump imageCubeArray) +0:? 'noPreCA2' ( writeonly uniform mediump iimageCubeArray) +0:? 'noPreCA3' ( writeonly uniform mediump uimageCubeArray) +0:? 'noPreCA4' ( uniform mediump samplerCubeArray) +0:? 'noPreCA5' ( uniform mediump samplerCubeArrayShadow) +0:? 'noPreCA6' ( uniform mediump isamplerCubeArray) +0:? 'noPreCA7' ( uniform mediump usamplerCubeArray) +0:? 'CA1' ( writeonly uniform highp imageCubeArray) +0:? 'CA2' ( writeonly uniform highp iimageCubeArray) +0:? 'CA3' ( writeonly uniform highp uimageCubeArray) +0:? 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray) +0:? 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray) +0:? 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray) +0:? 'CA4' ( uniform highp samplerCubeArray) +0:? 'CA5' ( uniform highp samplerCubeArrayShadow) +0:? 'CA6' ( uniform highp isamplerCubeArray) +0:? 'CA7' ( uniform highp usamplerCubeArray) +0:? 'bad2DMS' ( uniform mediump sampler2DMSArray) +0:? 'bad2DMSi' ( uniform mediump isampler2DMSArray) +0:? 'bad2DMSu' ( uniform mediump usampler2DMSArray) +0:? 'noPrec2DMS' ( uniform mediump sampler2DMSArray) +0:? 'noPrec2DMSi' ( uniform mediump isampler2DMSArray) +0:? 'noPrec2DMSu' ( uniform mediump usampler2DMSArray) +0:? 'samp2DMSA' ( uniform highp sampler2DMSArray) +0:? 'samp2DMSAi' ( uniform highp isampler2DMSArray) +0:? 'samp2DMSAu' ( uniform highp usampler2DMSArray) +0:? 'im2Df' (layout( r32f) uniform highp image2D) +0:? 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:? 'im2Di' (layout( r32i) uniform highp iimage2D) +0:? 'P' ( uniform highp 2-component vector of int) +0:? 'colorSampInBad' ( smooth sample out highp 4-component vector of float) +0:? 'colorSample' ( smooth sample out highp 4-component vector of float) +0:? 'colorfsi' ( flat sample out highp 4-component vector of float) +0:? 'sampInArray' ( smooth sample out 4-element array of highp 3-component vector of float) +0:? 'inv4' ( in highp 4-component vector of float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -1041,165 +1041,165 @@ Requested GL_OES_texture_buffer Requested GL_OES_texture_cube_map_array Requested GL_OES_texture_storage_multisample_2d_array ERROR: node is still EOpNull! -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:? Sequence -0:15 move second child to first child (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 addCarry (global highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:15 'u2' (temp highp 2-component vector of uint) -0:17 move second child to first child (temp highp uint) -0:17 'u1' (temp highp uint) -0:17 subBorrow (global highp uint) -0:17 'u1' (temp highp uint) -0:17 'u1' (temp highp uint) -0:17 'u1' (temp highp uint) -0:19 uMulExtended (global highp void) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:19 'u4' (temp highp 4-component vector of uint) -0:21 iMulExtended (global highp void) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:21 'i4' (temp highp 4-component vector of int) -0:23 move second child to first child (temp highp int) -0:23 'i1' (temp highp int) -0:23 bitfieldExtract (global highp int) -0:23 'i1' (temp highp int) +0:15 move second child to first child ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 addCarry ( global highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:15 'u2' ( temp highp 2-component vector of uint) +0:17 move second child to first child ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:17 subBorrow ( global highp uint) +0:17 'u1' ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:17 'u1' ( temp highp uint) +0:19 uMulExtended ( global highp void) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:19 'u4' ( temp highp 4-component vector of uint) +0:21 iMulExtended ( global highp void) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:21 'i4' ( temp highp 4-component vector of int) +0:23 move second child to first child ( temp highp int) +0:23 'i1' ( temp highp int) +0:23 bitfieldExtract ( global highp int) +0:23 'i1' ( temp highp int) 0:23 Constant: 0:23 4 (const int) 0:23 Constant: 0:23 5 (const int) -0:25 move second child to first child (temp highp 3-component vector of uint) -0:25 'u3' (temp highp 3-component vector of uint) -0:25 bitfieldExtract (global highp 3-component vector of uint) -0:25 'u3' (temp highp 3-component vector of uint) +0:25 move second child to first child ( temp highp 3-component vector of uint) +0:25 'u3' ( temp highp 3-component vector of uint) +0:25 bitfieldExtract ( global highp 3-component vector of uint) +0:25 'u3' ( temp highp 3-component vector of uint) 0:25 Constant: 0:25 4 (const int) 0:25 Constant: 0:25 5 (const int) -0:27 move second child to first child (temp highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) -0:27 bitfieldInsert (global highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) -0:27 'i3' (temp highp 3-component vector of int) +0:27 move second child to first child ( temp highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) +0:27 bitfieldInsert ( global highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) +0:27 'i3' ( temp highp 3-component vector of int) 0:27 Constant: 0:27 4 (const int) 0:27 Constant: 0:27 5 (const int) -0:28 move second child to first child (temp highp uint) -0:28 'u1' (temp highp uint) -0:28 bitfieldInsert (global highp uint) -0:28 'u1' (temp highp uint) -0:28 'u1' (temp highp uint) +0:28 move second child to first child ( temp highp uint) +0:28 'u1' ( temp highp uint) +0:28 bitfieldInsert ( global highp uint) +0:28 'u1' ( temp highp uint) +0:28 'u1' ( temp highp uint) 0:28 Constant: 0:28 4 (const int) 0:28 Constant: 0:28 5 (const int) -0:30 move second child to first child (temp highp 2-component vector of int) -0:30 'i2' (temp highp 2-component vector of int) -0:30 bitFieldReverse (global highp 2-component vector of int) -0:30 'i2' (temp highp 2-component vector of int) -0:31 move second child to first child (temp highp 4-component vector of uint) -0:31 'u4' (temp highp 4-component vector of uint) -0:31 bitFieldReverse (global highp 4-component vector of uint) -0:31 'u4' (temp highp 4-component vector of uint) -0:32 move second child to first child (temp highp int) -0:32 'i1' (temp highp int) -0:32 bitCount (global lowp int, operation at highp) -0:32 'i1' (temp highp int) -0:33 move second child to first child (temp highp 3-component vector of int) -0:33 'i3' (temp highp 3-component vector of int) -0:33 bitCount (global lowp 3-component vector of int, operation at highp) -0:33 'u3' (temp highp 3-component vector of uint) -0:34 move second child to first child (temp highp 2-component vector of int) -0:34 'i2' (temp highp 2-component vector of int) -0:34 findLSB (global lowp 2-component vector of int, operation at highp) -0:34 'i2' (temp highp 2-component vector of int) -0:35 move second child to first child (temp highp 4-component vector of int) -0:35 'i4' (temp highp 4-component vector of int) -0:35 findLSB (global lowp 4-component vector of int, operation at highp) -0:35 'u4' (temp highp 4-component vector of uint) -0:36 move second child to first child (temp highp int) -0:36 'i1' (temp highp int) -0:36 findMSB (global lowp int, operation at highp) -0:36 'i1' (temp highp int) -0:37 move second child to first child (temp highp 2-component vector of int) -0:37 'i2' (temp highp 2-component vector of int) -0:37 findMSB (global lowp 2-component vector of int, operation at highp) -0:37 'u2' (temp highp 2-component vector of uint) -0:40 move second child to first child (temp highp 3-component vector of float) -0:40 'v3' (temp highp 3-component vector of float) -0:40 frexp (global highp 3-component vector of float) -0:40 'v3' (temp highp 3-component vector of float) -0:40 'i3' (temp highp 3-component vector of int) -0:42 move second child to first child (temp highp 2-component vector of float) -0:42 'v2' (temp highp 2-component vector of float) -0:42 ldexp (global highp 2-component vector of float) -0:42 'v2' (temp highp 2-component vector of float) -0:42 'i2' (temp highp 2-component vector of int) -0:45 move second child to first child (temp highp uint) -0:45 'u1' (temp highp uint) -0:45 PackUnorm4x8 (global highp uint, operation at mediump) -0:45 'v4' (temp mediump 4-component vector of float) -0:46 move second child to first child (temp highp uint) -0:46 'u1' (temp highp uint) -0:46 PackSnorm4x8 (global highp uint, operation at mediump) -0:46 'v4' (temp mediump 4-component vector of float) -0:47 move second child to first child (temp mediump 4-component vector of float) -0:47 'v4' (temp mediump 4-component vector of float) -0:47 UnpackUnorm4x8 (global mediump 4-component vector of float, operation at highp) -0:47 'u1' (temp highp uint) -0:48 move second child to first child (temp mediump 4-component vector of float) -0:48 'v4' (temp mediump 4-component vector of float) -0:48 UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp) -0:48 'u1' (temp highp uint) +0:30 move second child to first child ( temp highp 2-component vector of int) +0:30 'i2' ( temp highp 2-component vector of int) +0:30 bitFieldReverse ( global highp 2-component vector of int) +0:30 'i2' ( temp highp 2-component vector of int) +0:31 move second child to first child ( temp highp 4-component vector of uint) +0:31 'u4' ( temp highp 4-component vector of uint) +0:31 bitFieldReverse ( global highp 4-component vector of uint) +0:31 'u4' ( temp highp 4-component vector of uint) +0:32 move second child to first child ( temp highp int) +0:32 'i1' ( temp highp int) +0:32 bitCount ( global lowp int, operation at highp) +0:32 'i1' ( temp highp int) +0:33 move second child to first child ( temp highp 3-component vector of int) +0:33 'i3' ( temp highp 3-component vector of int) +0:33 bitCount ( global lowp 3-component vector of int, operation at highp) +0:33 'u3' ( temp highp 3-component vector of uint) +0:34 move second child to first child ( temp highp 2-component vector of int) +0:34 'i2' ( temp highp 2-component vector of int) +0:34 findLSB ( global lowp 2-component vector of int, operation at highp) +0:34 'i2' ( temp highp 2-component vector of int) +0:35 move second child to first child ( temp highp 4-component vector of int) +0:35 'i4' ( temp highp 4-component vector of int) +0:35 findLSB ( global lowp 4-component vector of int, operation at highp) +0:35 'u4' ( temp highp 4-component vector of uint) +0:36 move second child to first child ( temp highp int) +0:36 'i1' ( temp highp int) +0:36 findMSB ( global lowp int, operation at highp) +0:36 'i1' ( temp highp int) +0:37 move second child to first child ( temp highp 2-component vector of int) +0:37 'i2' ( temp highp 2-component vector of int) +0:37 findMSB ( global lowp 2-component vector of int, operation at highp) +0:37 'u2' ( temp highp 2-component vector of uint) +0:40 move second child to first child ( temp highp 3-component vector of float) +0:40 'v3' ( temp highp 3-component vector of float) +0:40 frexp ( global highp 3-component vector of float) +0:40 'v3' ( temp highp 3-component vector of float) +0:40 'i3' ( temp highp 3-component vector of int) +0:42 move second child to first child ( temp highp 2-component vector of float) +0:42 'v2' ( temp highp 2-component vector of float) +0:42 ldexp ( global highp 2-component vector of float) +0:42 'v2' ( temp highp 2-component vector of float) +0:42 'i2' ( temp highp 2-component vector of int) +0:45 move second child to first child ( temp highp uint) +0:45 'u1' ( temp highp uint) +0:45 PackUnorm4x8 ( global highp uint, operation at mediump) +0:45 'v4' ( temp mediump 4-component vector of float) +0:46 move second child to first child ( temp highp uint) +0:46 'u1' ( temp highp uint) +0:46 PackSnorm4x8 ( global highp uint, operation at mediump) +0:46 'v4' ( temp mediump 4-component vector of float) +0:47 move second child to first child ( temp mediump 4-component vector of float) +0:47 'v4' ( temp mediump 4-component vector of float) +0:47 UnpackUnorm4x8 ( global mediump 4-component vector of float, operation at highp) +0:47 'u1' ( temp highp uint) +0:48 move second child to first child ( temp mediump 4-component vector of float) +0:48 'v4' ( temp mediump 4-component vector of float) +0:48 UnpackSnorm4x8 ( global mediump 4-component vector of float, operation at highp) +0:48 'u1' ( temp highp uint) 0:? Linker Objects -0:? 's' (shared highp 4-component vector of float) -0:? 'v' (buffer highp 4-component vector of float) -0:? 'ini' (in highp int) -0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float) -0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float) -0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float) -0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float) -0:? 's2dms' (uniform highp sampler2DMS) -0:? 'is2dms' (uniform highp isampler2DMS) -0:? 'us2dms' (uniform highp usampler2DMS) -0:? 'us2dmsa' (uniform mediump usampler2DMSArray) -0:? 'outb' (smooth out bool) -0:? 'outo' (smooth out lowp sampler2D) -0:? 'outa' (smooth out 4-element array of highp float) -0:? 'outaa' (smooth out 4-element array of 2-element array of highp float) -0:? 'outs' (smooth out structure{global highp float f}) -0:? 'outasa' (smooth out 4-element array of structure{global highp float f}) -0:? 'outsa' (smooth out 4-element array of structure{global highp float f}) -0:? 'outSA' (smooth out structure{global 4-element array of highp float f}) -0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s}) -0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a}) -0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a}) -0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s}) -0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon}) -0:? 'aliased' (layout(location=12 ) smooth out highp int) -0:? 'inbinst' (in block{in highp int a}) -0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, }) -0:? 'smon' (smooth out block{out highp int i}) -0:? 'fmon' (flat out block{out highp int i}) -0:? 'cmon' (centroid out block{out highp int i}) -0:? 'imon' (invariant out block{out highp int i}) -0:? 'inf' (in highp 2-component vector of float) -0:? 'ing' (in highp 2-component vector of float) -0:? 'offsets' (uniform 4-element array of highp 2-component vector of int) -0:? 'sArray' (uniform 4-element array of lowp sampler2D) -0:? 'sIndex' (uniform highp int) -0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint) -0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i}) -0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i}) -0:? 'iArray' (writeonly uniform 5-element array of highp image2D) -0:? 'constOffsets' (const 4-element array of highp 2-component vector of int) +0:? 's' ( shared highp 4-component vector of float) +0:? 'v' ( buffer highp 4-component vector of float) +0:? 'ini' ( in highp int) +0:? 'x' (layout( location=2) uniform highp 4X4 matrix of float) +0:? 'y' (layout( location=3) uniform highp 4X4 matrix of float) +0:? 'xi' (layout( location=2) smooth out highp 4X4 matrix of float) +0:? 'yi' (layout( location=3) smooth out highp 4X4 matrix of float) +0:? 's2dms' ( uniform highp sampler2DMS) +0:? 'is2dms' ( uniform highp isampler2DMS) +0:? 'us2dms' ( uniform highp usampler2DMS) +0:? 'us2dmsa' ( uniform mediump usampler2DMSArray) +0:? 'outb' ( smooth out bool) +0:? 'outo' ( smooth out lowp sampler2D) +0:? 'outa' ( smooth out 4-element array of highp float) +0:? 'outaa' ( smooth out 4-element array of 2-element array of highp float) +0:? 'outs' ( smooth out structure{ global highp float f}) +0:? 'outasa' ( smooth out 4-element array of structure{ global highp float f}) +0:? 'outsa' ( smooth out 4-element array of structure{ global highp float f}) +0:? 'outSA' ( smooth out structure{ global 4-element array of highp float f}) +0:? 'outSS' ( smooth out structure{ global highp float f, global structure{ global highp float f} s}) +0:? 'U430i' (layout( column_major std430) uniform block{layout( column_major std430 offset=0) uniform highp int a}) +0:? 'B430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp int a}) +0:? 'outbinst' ( out block{ out highp int a, out highp 4-component vector of float v, out highp sampler2D s}) +0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon}) +0:? 'aliased' (layout( location=12) smooth out highp int) +0:? 'inbinst' ( in block{ in highp int a}) +0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, }) +0:? 'smon' ( smooth out block{ out highp int i}) +0:? 'fmon' ( flat out block{ out highp int i}) +0:? 'cmon' ( centroid out block{ out highp int i}) +0:? 'imon' ( invariant out block{ out highp int i}) +0:? 'inf' ( in highp 2-component vector of float) +0:? 'ing' ( in highp 2-component vector of float) +0:? 'offsets' ( uniform 4-element array of highp 2-component vector of int) +0:? 'sArray' ( uniform 4-element array of lowp sampler2D) +0:? 'sIndex' ( uniform highp int) +0:? 'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint) +0:? 'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform highp int i}) +0:? 'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp int i}) +0:? 'iArray' ( writeonly uniform 5-element array of highp image2D) +0:? 'constOffsets' ( const 4-element array of highp 2-component vector of int) 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) @@ -1208,66 +1208,66 @@ ERROR: node is still EOpNull! 0:? 0 (const int) 0:? 0 (const int) 0:? 0 (const int) -0:? 'badSamp1' (uniform mediump samplerBuffer) -0:? 'badSamp2' (uniform mediump isamplerBuffer) -0:? 'badSamp3' (uniform mediump usamplerBuffer) -0:? 'badSamp4' (writeonly uniform mediump imageBuffer) -0:? 'badSamp5' (writeonly uniform mediump iimageBuffer) -0:? 'badSamp6' (writeonly uniform mediump uimageBuffer) -0:? 'noPreSamp1' (uniform mediump samplerBuffer) -0:? 'noPreSamp2' (uniform mediump isamplerBuffer) -0:? 'noPreSamp3' (uniform mediump usamplerBuffer) -0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer) -0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer) -0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer) -0:? 'bufSamp1' (uniform highp samplerBuffer) -0:? 'bufSamp2' (uniform highp isamplerBuffer) -0:? 'bufSamp3' (uniform highp usamplerBuffer) -0:? 'bufSamp4' (writeonly uniform highp imageBuffer) -0:? 'bufSamp5' (writeonly uniform highp iimageBuffer) -0:? 'bufSamp6' (writeonly uniform highp uimageBuffer) -0:? 'badCA1' (writeonly uniform mediump imageCubeArray) -0:? 'badCA2' (writeonly uniform mediump iimageCubeArray) -0:? 'badCA3' (writeonly uniform mediump uimageCubeArray) -0:? 'badCA4' (uniform mediump samplerCubeArray) -0:? 'badCA5' (uniform mediump samplerCubeArrayShadow) -0:? 'badCA6' (uniform mediump isamplerCubeArray) -0:? 'badCA7' (uniform mediump usamplerCubeArray) -0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray) -0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray) -0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray) -0:? 'noPreCA4' (uniform mediump samplerCubeArray) -0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow) -0:? 'noPreCA6' (uniform mediump isamplerCubeArray) -0:? 'noPreCA7' (uniform mediump usamplerCubeArray) -0:? 'CA1' (writeonly uniform highp imageCubeArray) -0:? 'CA2' (writeonly uniform highp iimageCubeArray) -0:? 'CA3' (writeonly uniform highp uimageCubeArray) -0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray) -0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray) -0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray) -0:? 'CA4' (uniform highp samplerCubeArray) -0:? 'CA5' (uniform highp samplerCubeArrayShadow) -0:? 'CA6' (uniform highp isamplerCubeArray) -0:? 'CA7' (uniform highp usamplerCubeArray) -0:? 'bad2DMS' (uniform mediump sampler2DMSArray) -0:? 'bad2DMSi' (uniform mediump isampler2DMSArray) -0:? 'bad2DMSu' (uniform mediump usampler2DMSArray) -0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray) -0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray) -0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray) -0:? 'samp2DMSA' (uniform highp sampler2DMSArray) -0:? 'samp2DMSAi' (uniform highp isampler2DMSArray) -0:? 'samp2DMSAu' (uniform highp usampler2DMSArray) -0:? 'im2Df' (layout(r32f ) uniform highp image2D) -0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D) -0:? 'im2Di' (layout(r32i ) uniform highp iimage2D) -0:? 'P' (uniform highp 2-component vector of int) -0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float) -0:? 'colorSample' (smooth sample out highp 4-component vector of float) -0:? 'colorfsi' (flat sample out highp 4-component vector of float) -0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float) -0:? 'inv4' (in highp 4-component vector of float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'badSamp1' ( uniform mediump samplerBuffer) +0:? 'badSamp2' ( uniform mediump isamplerBuffer) +0:? 'badSamp3' ( uniform mediump usamplerBuffer) +0:? 'badSamp4' ( writeonly uniform mediump imageBuffer) +0:? 'badSamp5' ( writeonly uniform mediump iimageBuffer) +0:? 'badSamp6' ( writeonly uniform mediump uimageBuffer) +0:? 'noPreSamp1' ( uniform mediump samplerBuffer) +0:? 'noPreSamp2' ( uniform mediump isamplerBuffer) +0:? 'noPreSamp3' ( uniform mediump usamplerBuffer) +0:? 'noPreSamp4' ( writeonly uniform mediump imageBuffer) +0:? 'noPreSamp5' ( writeonly uniform mediump iimageBuffer) +0:? 'noPreSamp6' ( writeonly uniform mediump uimageBuffer) +0:? 'bufSamp1' ( uniform highp samplerBuffer) +0:? 'bufSamp2' ( uniform highp isamplerBuffer) +0:? 'bufSamp3' ( uniform highp usamplerBuffer) +0:? 'bufSamp4' ( writeonly uniform highp imageBuffer) +0:? 'bufSamp5' ( writeonly uniform highp iimageBuffer) +0:? 'bufSamp6' ( writeonly uniform highp uimageBuffer) +0:? 'badCA1' ( writeonly uniform mediump imageCubeArray) +0:? 'badCA2' ( writeonly uniform mediump iimageCubeArray) +0:? 'badCA3' ( writeonly uniform mediump uimageCubeArray) +0:? 'badCA4' ( uniform mediump samplerCubeArray) +0:? 'badCA5' ( uniform mediump samplerCubeArrayShadow) +0:? 'badCA6' ( uniform mediump isamplerCubeArray) +0:? 'badCA7' ( uniform mediump usamplerCubeArray) +0:? 'noPreCA1' ( writeonly uniform mediump imageCubeArray) +0:? 'noPreCA2' ( writeonly uniform mediump iimageCubeArray) +0:? 'noPreCA3' ( writeonly uniform mediump uimageCubeArray) +0:? 'noPreCA4' ( uniform mediump samplerCubeArray) +0:? 'noPreCA5' ( uniform mediump samplerCubeArrayShadow) +0:? 'noPreCA6' ( uniform mediump isamplerCubeArray) +0:? 'noPreCA7' ( uniform mediump usamplerCubeArray) +0:? 'CA1' ( writeonly uniform highp imageCubeArray) +0:? 'CA2' ( writeonly uniform highp iimageCubeArray) +0:? 'CA3' ( writeonly uniform highp uimageCubeArray) +0:? 'rCA1' (layout( rgba16f) readonly uniform highp imageCubeArray) +0:? 'rCA2' (layout( rgba32i) readonly uniform highp iimageCubeArray) +0:? 'rCA3' (layout( r32ui) readonly uniform highp uimageCubeArray) +0:? 'CA4' ( uniform highp samplerCubeArray) +0:? 'CA5' ( uniform highp samplerCubeArrayShadow) +0:? 'CA6' ( uniform highp isamplerCubeArray) +0:? 'CA7' ( uniform highp usamplerCubeArray) +0:? 'bad2DMS' ( uniform mediump sampler2DMSArray) +0:? 'bad2DMSi' ( uniform mediump isampler2DMSArray) +0:? 'bad2DMSu' ( uniform mediump usampler2DMSArray) +0:? 'noPrec2DMS' ( uniform mediump sampler2DMSArray) +0:? 'noPrec2DMSi' ( uniform mediump isampler2DMSArray) +0:? 'noPrec2DMSu' ( uniform mediump usampler2DMSArray) +0:? 'samp2DMSA' ( uniform highp sampler2DMSArray) +0:? 'samp2DMSAi' ( uniform highp isampler2DMSArray) +0:? 'samp2DMSAu' ( uniform highp usampler2DMSArray) +0:? 'im2Df' (layout( r32f) uniform highp image2D) +0:? 'im2Du' (layout( r32ui) uniform highp uimage2D) +0:? 'im2Di' (layout( r32i) uniform highp iimage2D) +0:? 'P' ( uniform highp 2-component vector of int) +0:? 'colorSampInBad' ( smooth sample out highp 4-component vector of float) +0:? 'colorSample' ( smooth sample out highp 4-component vector of float) +0:? 'colorfsi' ( flat sample out highp 4-component vector of float) +0:? 'sampInArray' ( smooth sample out 4-element array of highp 3-component vector of float) +0:? 'inv4' ( in highp 4-component vector of float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310AofA.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310AofA.vert.out index 6b69e71e8ec..ffba25f9a2a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310AofA.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310AofA.vert.out @@ -7,13 +7,13 @@ ERROR: 0:40: '' : array size required ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument ERROR: 0:49: 'constructor' : array constructor argument not correct type to construct array element ERROR: 0:62: '[' : array index out of range '4' -ERROR: 0:78: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float' -ERROR: 0:79: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float' +ERROR: 0:78: 'assign' : cannot convert from ' global 4-element array of 7-element array of highp float' to ' global 5-element array of 7-element array of highp float' +ERROR: 0:79: 'assign' : cannot convert from ' global 4-element array of 7-element array of highp float' to ' global implicitly-sized array of 7-element array of highp float' ERROR: 0:81: 'foo' : no matching overloaded function found -ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of highp float' and a right operand of type 'global 5-element array of 7-element array of highp float' (or there is no acceptable conversion) +ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type ' global 4-element array of 7-element array of highp float' and a right operand of type ' global 5-element array of 7-element array of highp float' (or there is no acceptable conversion) ERROR: 0:90: '[' : array index out of range '5' ERROR: 0:94: '[' : index out of range '-1' -ERROR: 0:96: 'assign' : cannot convert from 'temp 3-element array of highp 4-component vector of float' to 'layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float' +ERROR: 0:96: 'assign' : cannot convert from ' temp 3-element array of highp 4-component vector of float' to 'layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float' ERROR: 0:103: '' : array size required ERROR: 0:104: '' : array size required ERROR: 0:105: '' : array size required @@ -27,16 +27,16 @@ ERROR: 22 compilation errors. No code generated. Shader version: 310 ERROR: node is still EOpNull! -0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void) +0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; ( global void) 0:8 Function Parameters: -0:8 'a' (in bool) -0:8 'b' (in highp float) -0:8 'c' (in 4-element array of highp uint) -0:8 'd' (in 3-element array of 2-element array of highp int) -0:11 Function Definition: main( (global void) +0:8 'a' ( in bool) +0:8 'b' ( in highp float) +0:8 'c' ( in 4-element array of highp uint) +0:8 'd' ( in 3-element array of 2-element array of highp int) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:? Sequence -0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void) +0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; ( global void) 0:13 Constant: 0:13 false (const bool) 0:13 Constant: @@ -46,15 +46,15 @@ ERROR: node is still EOpNull! 0:13 1 (const uint) 0:13 1 (const uint) 0:13 2 (const uint) -0:13 'd' (temp 3-element array of 2-element array of highp int) -0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float) +0:13 'd' ( temp 3-element array of 2-element array of highp int) +0:44 Function Definition: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float) 0:44 Function Parameters: -0:44 'a' (in 5-element array of 7-element array of highp float) +0:44 'a' ( in 5-element array of 7-element array of highp float) 0:? Sequence -0:47 move second child to first child (temp 7-element array of highp float) -0:47 'r' (temp 7-element array of highp float) -0:47 direct index (temp 7-element array of highp float) -0:47 'a' (in 5-element array of 7-element array of highp float) +0:47 move second child to first child ( temp 7-element array of highp float) +0:47 'r' ( temp 7-element array of highp float) +0:47 direct index ( temp 7-element array of highp float) +0:47 'a' ( in 5-element array of 7-element array of highp float) 0:47 Constant: 0:47 2 (const int) 0:48 Constant: @@ -62,65 +62,65 @@ ERROR: node is still EOpNull! 0:49 Constant: 0:49 0.000000 0:50 Branch: Return with expression -0:50 Construct float (temp 4-element array of 7-element array of float) -0:50 direct index (temp 7-element array of highp float) -0:50 'a' (in 5-element array of 7-element array of highp float) +0:50 Construct float ( temp 4-element array of 7-element array of float) +0:50 direct index ( temp 7-element array of highp float) +0:50 'a' ( in 5-element array of 7-element array of highp float) 0:50 Constant: 0:50 0 (const int) -0:50 direct index (temp 7-element array of highp float) -0:50 'a' (in 5-element array of 7-element array of highp float) +0:50 direct index ( temp 7-element array of highp float) +0:50 'a' ( in 5-element array of 7-element array of highp float) 0:50 Constant: 0:50 1 (const int) -0:50 'r' (temp 7-element array of highp float) -0:50 direct index (temp 7-element array of highp float) -0:50 'a' (in 5-element array of 7-element array of highp float) +0:50 'r' ( temp 7-element array of highp float) +0:50 direct index ( temp 7-element array of highp float) +0:50 'a' ( in 5-element array of 7-element array of highp float) 0:50 Constant: 0:50 3 (const int) 0:51 Branch: Return with expression -0:51 Construct float (temp 4-element array of 7-element array of float) -0:51 direct index (temp 7-element array of highp float) -0:51 'a' (in 5-element array of 7-element array of highp float) +0:51 Construct float ( temp 4-element array of 7-element array of float) +0:51 direct index ( temp 7-element array of highp float) +0:51 'a' ( in 5-element array of 7-element array of highp float) 0:51 Constant: 0:51 0 (const int) -0:51 direct index (temp 7-element array of highp float) -0:51 'a' (in 5-element array of 7-element array of highp float) +0:51 direct index ( temp 7-element array of highp float) +0:51 'a' ( in 5-element array of 7-element array of highp float) 0:51 Constant: 0:51 1 (const int) -0:51 'r' (temp 7-element array of highp float) -0:51 direct index (temp 7-element array of highp float) -0:51 'a' (in 5-element array of 7-element array of highp float) +0:51 'r' ( temp 7-element array of highp float) +0:51 direct index ( temp 7-element array of highp float) +0:51 'a' ( in 5-element array of 7-element array of highp float) 0:51 Constant: 0:51 3 (const int) 0:52 Branch: Return with expression -0:52 Construct float (temp 4-element array of 7-element array of float) -0:52 direct index (temp 7-element array of highp float) -0:52 'a' (in 5-element array of 7-element array of highp float) +0:52 Construct float ( temp 4-element array of 7-element array of float) +0:52 direct index ( temp 7-element array of highp float) +0:52 'a' ( in 5-element array of 7-element array of highp float) 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp 7-element array of highp float) -0:52 'a' (in 5-element array of 7-element array of highp float) +0:52 direct index ( temp 7-element array of highp float) +0:52 'a' ( in 5-element array of 7-element array of highp float) 0:52 Constant: 0:52 1 (const int) -0:52 direct index (temp 7-element array of highp float) -0:52 'a' (in 5-element array of 7-element array of highp float) +0:52 direct index ( temp 7-element array of highp float) +0:52 'a' ( in 5-element array of 7-element array of highp float) 0:52 Constant: 0:52 2 (const int) -0:52 direct index (temp 7-element array of highp float) -0:52 'a' (in 5-element array of 7-element array of highp float) +0:52 direct index ( temp 7-element array of highp float) +0:52 'a' ( in 5-element array of 7-element array of highp float) 0:52 Constant: 0:52 3 (const int) -0:55 Function Definition: bar(f1[5][7]; (global void) +0:55 Function Definition: bar(f1[5][7]; ( global void) 0:55 Function Parameters: -0:55 '' (in 5-element array of 7-element array of highp float) -0:57 Function Definition: foo2( (global void) +0:55 '' ( in 5-element array of 7-element array of highp float) +0:57 Function Definition: foo2( ( global void) 0:57 Function Parameters: 0:? Sequence 0:? Sequence -0:62 move second child to first child (temp highp float) -0:62 direct index (temp highp float) -0:62 direct index (temp 2-element array of highp float) -0:62 direct index (temp 4-element array of 2-element array of highp float) -0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float) +0:62 move second child to first child ( temp highp float) +0:62 direct index ( temp highp float) +0:62 direct index ( temp 2-element array of highp float) +0:62 direct index ( temp 4-element array of 2-element array of highp float) +0:62 'gu' ( temp 3-element array of 4-element array of 2-element array of highp float) 0:62 Constant: 0:62 2 (const int) 0:62 Constant: @@ -130,8 +130,8 @@ ERROR: node is still EOpNull! 0:62 Constant: 0:62 4.000000 0:64 Sequence -0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float) -0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float) +0:64 move second child to first child ( temp 3-element array of 2-element array of highp 4-component vector of float) +0:64 'ca4' ( temp 3-element array of 2-element array of highp 4-component vector of float) 0:66 Constant: 0:66 0.000000 0:66 0.000000 @@ -158,8 +158,8 @@ ERROR: node is still EOpNull! 0:66 1.000000 0:66 1.000000 0:67 Sequence -0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float) -0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float) +0:67 move second child to first child ( temp 3-element array of 2-element array of highp 4-component vector of float) +0:67 'caim' ( temp 3-element array of 2-element array of highp 4-component vector of float) 0:69 Constant: 0:69 4.000000 0:69 4.000000 @@ -186,8 +186,8 @@ ERROR: node is still EOpNull! 0:69 2.000000 0:69 2.000000 0:70 Sequence -0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float) -0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float) +0:70 move second child to first child ( temp 3-element array of 2-element array of highp 4-component vector of float) +0:70 'caim2' ( temp 3-element array of 2-element array of highp 4-component vector of float) 0:72 Constant: 0:72 4.000000 0:72 4.000000 @@ -214,8 +214,8 @@ ERROR: node is still EOpNull! 0:72 2.000000 0:72 2.000000 0:73 Sequence -0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float) -0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float) +0:73 move second child to first child ( temp 3-element array of 2-element array of highp 4-component vector of float) +0:73 'caim3' ( temp 3-element array of 2-element array of highp 4-component vector of float) 0:75 Constant: 0:75 4.000000 0:75 4.000000 @@ -241,55 +241,55 @@ ERROR: node is still EOpNull! 0:75 2.000000 0:75 2.000000 0:75 2.000000 -0:77 move second child to first child (temp 4-element array of 7-element array of highp float) -0:77 'g4' (global 4-element array of 7-element array of highp float) -0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float) -0:77 'g5' (global 5-element array of 7-element array of highp float) -0:78 'g5' (global 5-element array of 7-element array of highp float) -0:79 'gu' (global implicitly-sized array of 7-element array of highp float) +0:77 move second child to first child ( temp 4-element array of 7-element array of highp float) +0:77 'g4' ( global 4-element array of 7-element array of highp float) +0:77 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float) +0:77 'g5' ( global 5-element array of 7-element array of highp float) +0:78 'g5' ( global 5-element array of 7-element array of highp float) +0:79 'gu' ( global implicitly-sized array of 7-element array of highp float) 0:81 Constant: 0:81 0.000000 -0:82 Function Call: bar(f1[5][7]; (global void) -0:82 'g5' (global 5-element array of 7-element array of highp float) -0:84 Test condition and select (temp void) +0:82 Function Call: bar(f1[5][7]; ( global void) +0:82 'g5' ( global 5-element array of 7-element array of highp float) +0:84 Test condition and select ( temp void) 0:84 Condition -0:84 Compare Equal (temp bool) -0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float) -0:84 'g5' (global 5-element array of 7-element array of highp float) -0:84 'g4' (global 4-element array of 7-element array of highp float) +0:84 Compare Equal ( temp bool) +0:84 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float) +0:84 'g5' ( global 5-element array of 7-element array of highp float) +0:84 'g4' ( global 4-element array of 7-element array of highp float) 0:84 true case is null -0:86 Test condition and select (temp void) +0:86 Test condition and select ( temp void) 0:86 Condition 0:86 Constant: 0:86 false (const bool) 0:86 true case is null -0:90 move second child to first child (temp highp float) -0:90 direct index (temp highp float) -0:90 direct index (temp 7-element array of highp float) -0:90 'u' (temp 5-element array of 7-element array of highp float) +0:90 move second child to first child ( temp highp float) +0:90 direct index ( temp highp float) +0:90 direct index ( temp 7-element array of highp float) +0:90 'u' ( temp 5-element array of 7-element array of highp float) 0:90 Constant: 0:90 5 (const int) 0:90 Constant: 0:90 2 (const int) 0:90 Constant: 0:90 5.000000 -0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float) -0:91 'u' (temp 5-element array of 7-element array of highp float) -0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float) -0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float) -0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) -0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) +0:91 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float) +0:91 'u' ( temp 5-element array of 7-element array of highp float) +0:94 direct index (layout( column_major shared) temp highp 4-component vector of float) +0:94 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float) +0:94 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) +0:94 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) 0:94 Constant: 0:94 1 (const int) 0:94 Constant: 0:94 1 (const int) 0:94 Constant: 0:94 -1 (const int) -0:95 move second child to first child (temp highp 4-component vector of float) -0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float) -0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float) -0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) -0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) +0:95 move second child to first child ( temp highp 4-component vector of float) +0:95 direct index (layout( column_major shared) temp highp 4-component vector of float) +0:95 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float) +0:95 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) +0:95 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) 0:95 Constant: 0:95 1 (const int) 0:95 Constant: @@ -301,37 +301,37 @@ ERROR: node is still EOpNull! 0:95 4.300000 0:95 4.300000 0:95 4.300000 -0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float) -0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) -0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) +0:96 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float) +0:96 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) +0:96 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) 0:96 Constant: 0:96 1 (const int) 0:96 Constant: 0:96 1 (const int) 0:98 Constant: 0:98 7 (const int) -0:99 array length (temp int) -0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float) -0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) -0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) +0:99 array length ( temp int) +0:99 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float) +0:99 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) +0:99 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) 0:99 Constant: 0:99 0 (const int) 0:99 Constant: 0:99 1 (const int) 0:? Linker Objects -0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) -0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform implicitly-sized array of highp 4-component vector of float v}) -0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v}) -0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) -0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float) -0:? 'gu' (global implicitly-sized array of 7-element array of highp float) -0:? 'g4' (global 4-element array of 7-element array of highp float) -0:? 'g5' (global 5-element array of 7-element array of highp float) -0:? 'inArray' (in 2-element array of 3-element array of highp float) -0:? 'outArray' (smooth out 2-element array of 3-element array of highp float) -0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a}) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) +0:? 'uname' (layout( column_major shared) uniform 3-element array of block{layout( column_major shared) uniform highp float u, layout( column_major shared) uniform implicitly-sized array of highp 4-component vector of float v}) +0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v}) +0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) +0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float) +0:? 'gu' ( global implicitly-sized array of 7-element array of highp float) +0:? 'g4' ( global 4-element array of 7-element array of highp float) +0:? 'g5' ( global 5-element array of 7-element array of highp float) +0:? 'inArray' ( in 2-element array of 3-element array of highp float) +0:? 'outArray' ( smooth out 2-element array of 3-element array of highp float) +0:? 'ubaaname' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform highp int a}) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -339,16 +339,16 @@ Linked vertex stage: Shader version: 310 ERROR: node is still EOpNull! -0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void) +0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; ( global void) 0:8 Function Parameters: -0:8 'a' (in bool) -0:8 'b' (in highp float) -0:8 'c' (in 4-element array of highp uint) -0:8 'd' (in 3-element array of 2-element array of highp int) -0:11 Function Definition: main( (global void) +0:8 'a' ( in bool) +0:8 'b' ( in highp float) +0:8 'c' ( in 4-element array of highp uint) +0:8 'd' ( in 3-element array of 2-element array of highp int) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:? Sequence -0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void) +0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; ( global void) 0:13 Constant: 0:13 false (const bool) 0:13 Constant: @@ -358,19 +358,19 @@ ERROR: node is still EOpNull! 0:13 1 (const uint) 0:13 1 (const uint) 0:13 2 (const uint) -0:13 'd' (temp 3-element array of 2-element array of highp int) +0:13 'd' ( temp 3-element array of 2-element array of highp int) 0:? Linker Objects -0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v}) -0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform 1-element array of highp 4-component vector of float v}) -0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v}) -0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) -0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float) -0:? 'gu' (global 1-element array of 7-element array of highp float) -0:? 'g4' (global 4-element array of 7-element array of highp float) -0:? 'g5' (global 5-element array of 7-element array of highp float) -0:? 'inArray' (in 2-element array of 3-element array of highp float) -0:? 'outArray' (smooth out 2-element array of 3-element array of highp float) -0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a}) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v}) +0:? 'uname' (layout( column_major shared) uniform 3-element array of block{layout( column_major shared) uniform highp float u, layout( column_major shared) uniform 1-element array of highp 4-component vector of float v}) +0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v}) +0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v}) +0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float) +0:? 'gu' ( global 1-element array of 7-element array of highp float) +0:? 'g4' ( global 4-element array of 7-element array of highp float) +0:? 'g5' ( global 5-element array of 7-element array of highp float) +0:? 'inArray' ( in 2-element array of 3-element array of highp float) +0:? 'outArray' ( smooth out 2-element array of 3-element array of highp float) +0:? 'ubaaname' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform highp int a}) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310implicitSizeArrayError.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310implicitSizeArrayError.vert.out index 963735d853d..07ac5237844 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310implicitSizeArrayError.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/310implicitSizeArrayError.vert.out @@ -6,23 +6,23 @@ ERROR: 1 compilation errors. No code generated. Shader version: 310 ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:7 Sequence -0:7 move second child to first child (temp highp int) -0:7 'o' (layout(location=0 ) smooth out highp int) -0:7 direct index (layout(column_major shared ) temp highp int) -0:7 a: direct index for structure (layout(column_major shared ) uniform implicitly-sized array of highp int) -0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a}) +0:7 move second child to first child ( temp highp int) +0:7 'o' (layout( location=0) smooth out highp int) +0:7 direct index (layout( column_major shared) temp highp int) +0:7 a: direct index for structure (layout( column_major shared) uniform implicitly-sized array of highp int) +0:7 'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 2 (const int) 0:? Linker Objects -0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a}) -0:? 'o' (layout(location=0 ) smooth out highp int) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a}) +0:? 'o' (layout( location=0) smooth out highp int) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -30,21 +30,21 @@ Linked vertex stage: Shader version: 310 ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:7 Sequence -0:7 move second child to first child (temp highp int) -0:7 'o' (layout(location=0 ) smooth out highp int) -0:7 direct index (layout(column_major shared ) temp highp int) -0:7 a: direct index for structure (layout(column_major shared ) uniform 1-element array of highp int) -0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a}) +0:7 move second child to first child ( temp highp int) +0:7 'o' (layout( location=0) smooth out highp int) +0:7 direct index (layout( column_major shared) temp highp int) +0:7 a: direct index for structure (layout( column_major shared) uniform 1-element array of highp int) +0:7 'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a}) 0:7 Constant: 0:7 0 (const int) 0:7 Constant: 0:7 2 (const int) 0:? Linker Objects -0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a}) -0:? 'o' (layout(location=0 ) smooth out highp int) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'uni' (layout( location=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a}) +0:? 'o' (layout( location=0) smooth out highp int) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330.frag.out index d3c54fcf733..4b5a84be5ac 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330.frag.out @@ -34,9 +34,9 @@ ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration ERROR: 0:128: 'output block' : not supported in this stage: fragment ERROR: 0:140: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:140: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:140: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:141: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:141: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:152: 'index' : value must be 0 or 1 ERROR: 39 compilation errors. No code generated. @@ -45,85 +45,85 @@ Shader version: 330 Requested GL_ARB_enhanced_layouts Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:10 'varyingVar' (smooth in 4-component vector of float) -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float FragData) -0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:10 move second child to first child ( temp 4-component vector of float) +0:10 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:10 'varyingVar' ( smooth in 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float FragData) +0:11 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:11 Constant: 0:11 1 (const int) -0:11 'inVar' (smooth in 4-component vector of float) +0:11 'inVar' ( smooth in 4-component vector of float) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'buffer' (temp int) +0:12 move second child to first child ( temp int) +0:12 'buffer' ( temp int) 0:12 Constant: 0:12 4 (const int) -0:21 Function Definition: foo( (global void) +0:21 Function Definition: foo( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'c' (temp 4-component vector of float) -0:23 gl_Color: direct index for structure (in 4-component vector of float Color) -0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, }) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'c' ( temp 4-component vector of float) +0:23 gl_Color: direct index for structure ( in 4-component vector of float Color) +0:23 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, }) 0:23 Constant: 0:23 2 (const uint) -0:24 move second child to first child (temp 4-component vector of float) -0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float) -0:24 'inVar' (smooth in 4-component vector of float) -0:133 Function Definition: qlod( (global void) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 'outVar' (layout( location=0 index=0) out 4-component vector of float) +0:24 'inVar' ( smooth in 4-component vector of float) +0:133 Function Definition: qlod( ( global void) 0:133 Function Parameters: 0:? Sequence -0:140 'lod' (temp 2-component vector of float) -0:141 'lod' (temp 2-component vector of float) -0:147 Function Definition: fooKeyMem( (global void) +0:140 'lod' ( temp 2-component vector of float) +0:141 'lod' ( temp 2-component vector of float) +0:147 Function Definition: fooKeyMem( ( global void) 0:147 Function Parameters: 0:149 Sequence -0:149 precise: direct index for structure (global int) -0:149 'KeyMem' (global structure{global int precise}) +0:149 precise: direct index for structure ( global int) +0:149 'KeyMem' ( global structure{ global int precise}) 0:149 Constant: 0:149 0 (const int) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float) -0:? 'varyingVar' (smooth in 4-component vector of float) -0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, }) -0:? 'gl_name' (in block{in int gl_i}) -0:? 'start' (const int) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float) +0:? 'varyingVar' ( smooth in 4-component vector of float) +0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, }) +0:? 'gl_name' ( in block{ in int gl_i}) +0:? 'start' ( const int) 0:? 6 (const int) -0:? 'v1' (smooth in 4-component vector of float) -0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float) -0:? 'v20' (smooth in 4-component vector of float) -0:? 'v21' (layout(location=60 ) smooth in float) -0:? 'v22' (layout(location=2 ) smooth in float) -0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2}) -0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) -0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float) -0:? 'v4' (smooth in 4-component vector of float) -0:? 'v5' (smooth in 4-component vector of float) -0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float) -0:? 'v23' (layout(location=61 ) smooth in float) -0:? 'v24' (layout(location=62 ) smooth in float) -0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5}) -0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) -0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2}) -0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A}) -0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k}) -0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float) -0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float) -0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float) -0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float) -0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a}) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'precise' (global int) -0:? 'KeyMem' (global structure{global int precise}) -0:? 'outIndex2' (layout(location=28 index=0 ) out 4-component vector of float) +0:? 'v1' ( smooth in 4-component vector of float) +0:? 'v2' (layout( location=8) smooth in 4-component vector of float) +0:? 'v20' ( smooth in 4-component vector of float) +0:? 'v21' (layout( location=60) smooth in float) +0:? 'v22' (layout( location=2) smooth in float) +0:? 'anon@1' ( in block{layout( location=1 component=0) in float f1, layout( location=3) in float f2}) +0:? 'uinst' (layout( location=1 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2}) +0:? 'v3' (layout( location=6) smooth in 4-component vector of float) +0:? 'v4' ( smooth in 4-component vector of float) +0:? 'v5' ( smooth in 4-component vector of float) +0:? 'v6' (layout( location=30) smooth in 4-component vector of float) +0:? 'v23' (layout( location=61) smooth in float) +0:? 'v24' (layout( location=62) smooth in float) +0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2, layout( location=26 component=0) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23 component=0) in 4-component vector of float f4, layout( location=24 component=0) in 4-component vector of float f5}) +0:? 'uinst2' (layout( location=13 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2}) +0:? 'in3' ( in block{ in float f1, layout( location=40) in float f2}) +0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 's' (layout( location=33) smooth in structure{ global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A}) +0:? 'anon@2' ( in block{layout( location=44 component=0) in 4-component vector of float d, layout( location=45 component=0) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48 component=0) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42 component=0) in 4-component vector of float i, layout( location=43 component=0) in 4-component vector of float j, layout( location=44 component=0) in 4-component vector of float k}) +0:? 'outVar2' (layout( location=4095 index=0) out 4-component vector of float) +0:? 'outVar3' (layout( location=0 index=1) out 4-component vector of float) +0:? 'outVar4' (layout( location=0 index=1) out 4-component vector of float) +0:? 'indexIn' (layout( location=27 index=0) smooth in 4-component vector of float) +0:? 'indexBlockI' (layout( location=26 index=0) out block{ out int a}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'precise' ( global int) +0:? 'KeyMem' ( global structure{ global int precise}) +0:? 'outIndex2' (layout( location=28 index=0) out 4-component vector of float) Linked fragment stage: @@ -135,58 +135,58 @@ Shader version: 330 Requested GL_ARB_enhanced_layouts Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:10 'varyingVar' (smooth in 4-component vector of float) -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float FragData) -0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:10 move second child to first child ( temp 4-component vector of float) +0:10 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:10 'varyingVar' ( smooth in 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float FragData) +0:11 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:11 Constant: 0:11 1 (const int) -0:11 'inVar' (smooth in 4-component vector of float) +0:11 'inVar' ( smooth in 4-component vector of float) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'buffer' (temp int) +0:12 move second child to first child ( temp int) +0:12 'buffer' ( temp int) 0:12 Constant: 0:12 4 (const int) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float) -0:? 'varyingVar' (smooth in 4-component vector of float) -0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, }) -0:? 'gl_name' (in block{in int gl_i}) -0:? 'start' (const int) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float) +0:? 'varyingVar' ( smooth in 4-component vector of float) +0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, }) +0:? 'gl_name' ( in block{ in int gl_i}) +0:? 'start' ( const int) 0:? 6 (const int) -0:? 'v1' (smooth in 4-component vector of float) -0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float) -0:? 'v20' (smooth in 4-component vector of float) -0:? 'v21' (layout(location=60 ) smooth in float) -0:? 'v22' (layout(location=2 ) smooth in float) -0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2}) -0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) -0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float) -0:? 'v4' (smooth in 4-component vector of float) -0:? 'v5' (smooth in 4-component vector of float) -0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float) -0:? 'v23' (layout(location=61 ) smooth in float) -0:? 'v24' (layout(location=62 ) smooth in float) -0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5}) -0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) -0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2}) -0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A}) -0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k}) -0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float) -0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float) -0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float) -0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float) -0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a}) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'precise' (global int) -0:? 'KeyMem' (global structure{global int precise}) -0:? 'outIndex2' (layout(location=28 index=0 ) out 4-component vector of float) +0:? 'v1' ( smooth in 4-component vector of float) +0:? 'v2' (layout( location=8) smooth in 4-component vector of float) +0:? 'v20' ( smooth in 4-component vector of float) +0:? 'v21' (layout( location=60) smooth in float) +0:? 'v22' (layout( location=2) smooth in float) +0:? 'anon@1' ( in block{layout( location=1 component=0) in float f1, layout( location=3) in float f2}) +0:? 'uinst' (layout( location=1 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2}) +0:? 'v3' (layout( location=6) smooth in 4-component vector of float) +0:? 'v4' ( smooth in 4-component vector of float) +0:? 'v5' ( smooth in 4-component vector of float) +0:? 'v6' (layout( location=30) smooth in 4-component vector of float) +0:? 'v23' (layout( location=61) smooth in float) +0:? 'v24' (layout( location=62) smooth in float) +0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2, layout( location=26 component=0) in 4-component vector of float f3, layout( location=21) in structure{ global float f1, temp float f2} s2, layout( location=23 component=0) in 4-component vector of float f4, layout( location=24 component=0) in 4-component vector of float f5}) +0:? 'uinst2' (layout( location=13 column_major shared) uniform block{layout( column_major shared) uniform float f1, layout( location=3 column_major shared) uniform float f2}) +0:? 'in3' ( in block{ in float f1, layout( location=40) in float f2}) +0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 's' (layout( location=33) smooth in structure{ global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A}) +0:? 'anon@2' ( in block{layout( location=44 component=0) in 4-component vector of float d, layout( location=45 component=0) in 4-component vector of float e, layout( location=47) in 4-component vector of float f, layout( location=48 component=0) in 4-component vector of float g, layout( location=41) in 4-component vector of float h, layout( location=42 component=0) in 4-component vector of float i, layout( location=43 component=0) in 4-component vector of float j, layout( location=44 component=0) in 4-component vector of float k}) +0:? 'outVar2' (layout( location=4095 index=0) out 4-component vector of float) +0:? 'outVar3' (layout( location=0 index=1) out 4-component vector of float) +0:? 'outVar4' (layout( location=0 index=1) out 4-component vector of float) +0:? 'indexIn' (layout( location=27 index=0) smooth in 4-component vector of float) +0:? 'indexBlockI' (layout( location=26 index=0) out block{ out int a}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'precise' ( global int) +0:? 'KeyMem' ( global structure{ global int precise}) +0:? 'outIndex2' (layout( location=28 index=0) out 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330comp.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330comp.frag.out index 58d6e5fdf6a..1b8ded125e3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330comp.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/330comp.frag.out @@ -1,24 +1,24 @@ 330comp.frag Shader version: 330 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:10 'varyingVar' (smooth in 4-component vector of float) -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float FragData) -0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:10 move second child to first child ( temp 4-component vector of float) +0:10 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:10 'varyingVar' ( smooth in 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float FragData) +0:11 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:11 Constant: 0:11 1 (const int) -0:11 vector-times-matrix (temp 4-component vector of float) -0:11 'inVar' (smooth in 4-component vector of float) -0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float) +0:11 vector-times-matrix ( temp 4-component vector of float) +0:11 'inVar' ( smooth in 4-component vector of float) +0:11 'gl_ModelViewMatrix' ( uniform 4X4 matrix of float) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (out 4-component vector of float) -0:? 'varyingVar' (smooth in 4-component vector of float) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' ( out 4-component vector of float) +0:? 'varyingVar' ( smooth in 4-component vector of float) Linked fragment stage: @@ -27,22 +27,22 @@ ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData Shader version: 330 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:10 'varyingVar' (smooth in 4-component vector of float) -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float FragData) -0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:10 move second child to first child ( temp 4-component vector of float) +0:10 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:10 'varyingVar' ( smooth in 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float FragData) +0:11 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:11 Constant: 0:11 1 (const int) -0:11 vector-times-matrix (temp 4-component vector of float) -0:11 'inVar' (smooth in 4-component vector of float) -0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float) +0:11 vector-times-matrix ( temp 4-component vector of float) +0:11 'inVar' ( smooth in 4-component vector of float) +0:11 'gl_ModelViewMatrix' ( uniform 4X4 matrix of float) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (out 4-component vector of float) -0:? 'varyingVar' (smooth in 4-component vector of float) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' ( out 4-component vector of float) +0:? 'varyingVar' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.frag.out index aea4e49b3d5..bd936c714d8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.frag.out @@ -31,9 +31,9 @@ ERROR: 0:136: 'interpolateAtOffset' : first argument must be an interpolant, or ERROR: 0:139: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element ERROR: 0:140: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:183: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:183: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:184: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:184: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:187: '' : syntax error ERROR: 35 compilation errors. No code generated. @@ -44,39 +44,39 @@ Requested GL_ARB_separate_shader_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'v' (temp 4-component vector of float) -0:13 texture (global 4-component vector of float) -0:13 indirect index (temp sampler2D) -0:13 'arrayedSampler' (uniform 5-element array of sampler2D) -0:13 'i' (flat in int) -0:13 'c2D' (smooth in 2-component vector of float) -0:14 move second child to first child (temp float) -0:14 direct index (temp float) -0:14 'outp' (out 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'v' ( temp 4-component vector of float) +0:13 texture ( global 4-component vector of float) +0:13 indirect index ( temp sampler2D) +0:13 'arrayedSampler' ( uniform 5-element array of sampler2D) +0:13 'i' ( flat in int) +0:13 'c2D' ( smooth in 2-component vector of float) +0:14 move second child to first child ( temp float) +0:14 direct index ( temp float) +0:14 'outp' ( out 4-component vector of float) 0:14 Constant: 0:14 0 (const int) -0:14 direct index (smooth temp float ClipDistance) -0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) +0:14 direct index ( smooth temp float ClipDistance) +0:14 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) 0:14 Constant: 0:14 1 (const int) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of uint) -0:18 'uv4' (temp 4-component vector of uint) -0:18 textureGatherOffsets (global 4-component vector of uint) -0:18 'samp2dr' (uniform usampler2DRect) -0:18 'c2D' (smooth in 2-component vector of float) -0:18 'offsets' (temp 4-element array of 2-component vector of int) +0:18 move second child to first child ( temp 4-component vector of uint) +0:18 'uv4' ( temp 4-component vector of uint) +0:18 textureGatherOffsets ( global 4-component vector of uint) +0:18 'samp2dr' ( uniform usampler2DRect) +0:18 'c2D' ( smooth in 2-component vector of float) +0:18 'offsets' ( temp 4-element array of 2-component vector of int) 0:18 Constant: 0:18 2 (const int) -0:19 move second child to first child (temp 4-component vector of uint) -0:19 'uv4' (temp 4-component vector of uint) -0:19 textureGatherOffsets (global 4-component vector of uint) -0:19 'samp2dr' (uniform usampler2DRect) -0:19 'c2D' (smooth in 2-component vector of float) +0:19 move second child to first child ( temp 4-component vector of uint) +0:19 'uv4' ( temp 4-component vector of uint) +0:19 textureGatherOffsets ( global 4-component vector of uint) +0:19 'samp2dr' ( uniform usampler2DRect) +0:19 'c2D' ( smooth in 2-component vector of float) 0:19 Constant: 0:19 1 (const int) 0:19 2 (const int) @@ -89,19 +89,19 @@ ERROR: node is still EOpNull! 0:19 Constant: 0:19 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'v4' (temp 4-component vector of float) -0:20 textureGather (global 4-component vector of float) -0:20 direct index (temp sampler2D) -0:20 'arrayedSampler' (uniform 5-element array of sampler2D) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'v4' ( temp 4-component vector of float) +0:20 textureGather ( global 4-component vector of float) +0:20 direct index ( temp sampler2D) +0:20 'arrayedSampler' ( uniform 5-element array of sampler2D) 0:20 Constant: 0:20 0 (const int) -0:20 'c2D' (smooth in 2-component vector of float) +0:20 'c2D' ( smooth in 2-component vector of float) 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of int) -0:21 'iv4' (temp 4-component vector of int) -0:21 textureGatherOffset (global 4-component vector of int) -0:21 'isamp2DA' (uniform isampler2DArray) +0:21 move second child to first child ( temp 4-component vector of int) +0:21 'iv4' ( temp 4-component vector of int) +0:21 textureGatherOffset ( global 4-component vector of int) +0:21 'isamp2DA' ( uniform isampler2DArray) 0:21 Constant: 0:21 0.100000 0:21 0.100000 @@ -111,10 +111,10 @@ ERROR: node is still EOpNull! 0:21 1 (const int) 0:21 Constant: 0:21 3 (const int) -0:22 move second child to first child (temp 4-component vector of int) -0:22 'iv4' (temp 4-component vector of int) -0:22 textureGatherOffset (global 4-component vector of int) -0:22 'isamp2DA' (uniform isampler2DArray) +0:22 move second child to first child ( temp 4-component vector of int) +0:22 'iv4' ( temp 4-component vector of int) +0:22 textureGatherOffset ( global 4-component vector of int) +0:22 'isamp2DA' ( uniform isampler2DArray) 0:22 Constant: 0:22 0.100000 0:22 0.100000 @@ -122,11 +122,11 @@ ERROR: node is still EOpNull! 0:22 Constant: 0:22 1 (const int) 0:22 1 (const int) -0:22 'i' (flat in int) -0:23 move second child to first child (temp 4-component vector of int) -0:23 'iv4' (temp 4-component vector of int) -0:23 textureGatherOffset (global 4-component vector of int) -0:23 'isamp2DA' (uniform isampler2DArray) +0:22 'i' ( flat in int) +0:23 move second child to first child ( temp 4-component vector of int) +0:23 'iv4' ( temp 4-component vector of int) +0:23 textureGatherOffset ( global 4-component vector of int) +0:23 'isamp2DA' ( uniform isampler2DArray) 0:23 Constant: 0:23 0.100000 0:23 0.100000 @@ -136,10 +136,10 @@ ERROR: node is still EOpNull! 0:23 1 (const int) 0:23 Constant: 0:23 4 (const int) -0:24 move second child to first child (temp 4-component vector of int) -0:24 'iv4' (temp 4-component vector of int) -0:24 textureGatherOffset (global 4-component vector of int) -0:24 'isamp2DA' (uniform isampler2DArray) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'iv4' ( temp 4-component vector of int) +0:24 textureGatherOffset ( global 4-component vector of int) +0:24 'isamp2DA' ( uniform isampler2DArray) 0:24 Constant: 0:24 0.100000 0:24 0.100000 @@ -149,37 +149,37 @@ ERROR: node is still EOpNull! 0:24 1 (const int) 0:24 Constant: 0:24 3 (const int) -0:25 move second child to first child (temp 4-component vector of int) -0:25 'iv4' (temp 4-component vector of int) -0:25 textureGatherOffset (global 4-component vector of int) -0:25 'isamp2DA' (uniform isampler2DArray) +0:25 move second child to first child ( temp 4-component vector of int) +0:25 'iv4' ( temp 4-component vector of int) +0:25 textureGatherOffset ( global 4-component vector of int) +0:25 'isamp2DA' ( uniform isampler2DArray) 0:25 Constant: 0:25 0.100000 0:25 0.100000 0:25 0.100000 -0:25 Construct ivec2 (temp 2-component vector of int) -0:25 'i' (flat in int) +0:25 Construct ivec2 ( temp 2-component vector of int) +0:25 'i' ( flat in int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'c' (temp 4-component vector of float) -0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:47 Function Definition: foo23( (global void) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'c' ( temp 4-component vector of float) +0:27 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:47 Function Definition: foo23( ( global void) 0:47 Function Parameters: 0:? Sequence -0:51 textureProjGradOffset (global float) -0:51 'u2drs' (uniform sampler2DRectShadow) -0:51 'outp' (out 4-component vector of float) +0:51 textureProjGradOffset ( global float) +0:51 'u2drs' ( uniform sampler2DRectShadow) +0:51 'outp' ( out 4-component vector of float) 0:51 Constant: 0:51 0.000000 0:51 0.000000 0:51 Constant: 0:51 0.000000 0:51 0.000000 -0:51 Convert float to int (temp 2-component vector of int) -0:51 'c2D' (smooth in 2-component vector of float) -0:52 textureProjGradOffset (global float) -0:52 'u2drs' (uniform sampler2DRectShadow) -0:52 'outp' (out 4-component vector of float) +0:51 Convert float to int ( temp 2-component vector of int) +0:51 'c2D' ( smooth in 2-component vector of float) +0:52 textureProjGradOffset ( global float) +0:52 'u2drs' ( uniform sampler2DRectShadow) +0:52 'outp' ( out 4-component vector of float) 0:52 Constant: 0:52 0.000000 0:52 0.000000 @@ -189,9 +189,9 @@ ERROR: node is still EOpNull! 0:52 Constant: 0:52 3 (const int) 0:52 4 (const int) -0:53 textureProjGradOffset (global float) -0:53 'u2drs' (uniform sampler2DRectShadow) -0:53 'outp' (out 4-component vector of float) +0:53 textureProjGradOffset ( global float) +0:53 'u2drs' ( uniform sampler2DRectShadow) +0:53 'outp' ( out 4-component vector of float) 0:53 Constant: 0:53 0.000000 0:53 0.000000 @@ -201,9 +201,9 @@ ERROR: node is still EOpNull! 0:53 Constant: 0:53 15 (const int) 0:53 16 (const int) -0:54 textureProjGradOffset (global float) -0:54 'u2drs' (uniform sampler2DRectShadow) -0:54 'outp' (out 4-component vector of float) +0:54 textureProjGradOffset ( global float) +0:54 'u2drs' ( uniform sampler2DRectShadow) +0:54 'outp' ( out 4-component vector of float) 0:54 Constant: 0:54 0.000000 0:54 0.000000 @@ -213,15 +213,15 @@ ERROR: node is still EOpNull! 0:54 Constant: 0:54 -10 (const int) 0:54 20 (const int) -0:60 Function Definition: foo24( (global void) +0:60 Function Definition: foo24( ( global void) 0:60 Function Parameters: 0:? Sequence -0:63 move second child to first child (temp 3-component vector of double) -0:63 'df' (temp 3-component vector of double) -0:63 modf (global 3-component vector of double) -0:63 Convert float to double (temp 3-component vector of double) -0:63 vector swizzle (temp 3-component vector of float) -0:63 'outp' (out 4-component vector of float) +0:63 move second child to first child ( temp 3-component vector of double) +0:63 'df' ( temp 3-component vector of double) +0:63 modf ( global 3-component vector of double) +0:63 Convert float to double ( temp 3-component vector of double) +0:63 vector swizzle ( temp 3-component vector of float) +0:63 'outp' ( out 4-component vector of float) 0:63 Sequence 0:63 Constant: 0:63 0 (const int) @@ -229,105 +229,105 @@ ERROR: node is still EOpNull! 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 'di' (temp 3-component vector of double) -0:71 Function Definition: foodc1( (global void) +0:63 'di' ( temp 3-component vector of double) +0:71 Function Definition: foodc1( ( global void) 0:71 Function Parameters: 0:73 Sequence 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of float) -0:73 'v2' (temp 2-component vector of float) -0:73 dPdxFine (global 2-component vector of float) -0:73 'in2' (smooth in 2-component vector of float) +0:73 move second child to first child ( temp 2-component vector of float) +0:73 'v2' ( temp 2-component vector of float) +0:73 dPdxFine ( global 2-component vector of float) +0:73 'in2' ( smooth in 2-component vector of float) 0:74 Sequence -0:74 move second child to first child (temp 3-component vector of float) -0:74 'v3' (temp 3-component vector of float) -0:74 dPdyCoarse (global 3-component vector of float) -0:74 'in3' (smooth in 3-component vector of float) +0:74 move second child to first child ( temp 3-component vector of float) +0:74 'v3' ( temp 3-component vector of float) +0:74 dPdyCoarse ( global 3-component vector of float) +0:74 'in3' ( smooth in 3-component vector of float) 0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:75 'v4' (temp 4-component vector of float) -0:75 add (temp 4-component vector of float) -0:75 fwidthCoarse (global 4-component vector of float) -0:75 'in4' (smooth in 4-component vector of float) -0:75 fwidthFine (global 4-component vector of float) -0:75 'in4' (smooth in 4-component vector of float) -0:80 Function Definition: foodc2( (global void) +0:75 move second child to first child ( temp 4-component vector of float) +0:75 'v4' ( temp 4-component vector of float) +0:75 add ( temp 4-component vector of float) +0:75 fwidthCoarse ( global 4-component vector of float) +0:75 'in4' ( smooth in 4-component vector of float) +0:75 fwidthFine ( global 4-component vector of float) +0:75 'in4' ( smooth in 4-component vector of float) +0:80 Function Definition: foodc2( ( global void) 0:80 Function Parameters: 0:82 Sequence 0:82 Sequence -0:82 move second child to first child (temp 2-component vector of float) -0:82 'v2' (temp 2-component vector of float) -0:82 dPdxFine (global 2-component vector of float) -0:82 'in2' (smooth in 2-component vector of float) +0:82 move second child to first child ( temp 2-component vector of float) +0:82 'v2' ( temp 2-component vector of float) +0:82 dPdxFine ( global 2-component vector of float) +0:82 'in2' ( smooth in 2-component vector of float) 0:83 Sequence -0:83 move second child to first child (temp 3-component vector of float) -0:83 'v3' (temp 3-component vector of float) -0:83 dPdyCoarse (global 3-component vector of float) -0:83 'in3' (smooth in 3-component vector of float) +0:83 move second child to first child ( temp 3-component vector of float) +0:83 'v3' ( temp 3-component vector of float) +0:83 dPdyCoarse ( global 3-component vector of float) +0:83 'in3' ( smooth in 3-component vector of float) 0:84 Sequence -0:84 move second child to first child (temp 4-component vector of float) -0:84 'v4' (temp 4-component vector of float) -0:84 add (temp 4-component vector of float) -0:84 fwidthCoarse (global 4-component vector of float) -0:84 'in4' (smooth in 4-component vector of float) -0:84 fwidthFine (global 4-component vector of float) -0:84 'in4' (smooth in 4-component vector of float) -0:89 move second child to first child (temp 2-component vector of float) -0:89 'v2' (temp 2-component vector of float) -0:89 frexp (global 2-component vector of float) -0:89 'v2' (temp 2-component vector of float) -0:89 'i2' (temp 2-component vector of int) -0:90 move second child to first child (temp 3-component vector of float) -0:90 'v3' (temp 3-component vector of float) -0:90 ldexp (global 3-component vector of float) -0:90 'v3' (temp 3-component vector of float) -0:90 'i3' (temp 3-component vector of int) -0:92 move second child to first child (temp uint) -0:92 'u1' (temp uint) -0:92 PackUnorm4x8 (global uint) -0:92 'v4' (temp 4-component vector of float) -0:93 move second child to first child (temp uint) -0:93 'u1' (temp uint) -0:93 PackSnorm4x8 (global uint) -0:93 'v4' (temp 4-component vector of float) -0:94 move second child to first child (temp 4-component vector of float) -0:94 'v4' (temp 4-component vector of float) -0:94 UnpackUnorm4x8 (global 4-component vector of float) -0:94 'u1' (temp uint) -0:95 move second child to first child (temp 4-component vector of float) -0:95 'v4' (temp 4-component vector of float) -0:95 UnpackSnorm4x8 (global 4-component vector of float) -0:95 'u1' (temp uint) -0:99 move second child to first child (temp double) -0:99 'd' (temp double) -0:99 PackDouble2x32 (global double) -0:99 'u2' (temp 2-component vector of uint) -0:100 move second child to first child (temp 2-component vector of uint) -0:100 'u2' (temp 2-component vector of uint) -0:100 UnpackDouble2x32 (global 2-component vector of uint) -0:100 'd' (temp double) -0:117 Function Definition: interp( (global void) +0:84 move second child to first child ( temp 4-component vector of float) +0:84 'v4' ( temp 4-component vector of float) +0:84 add ( temp 4-component vector of float) +0:84 fwidthCoarse ( global 4-component vector of float) +0:84 'in4' ( smooth in 4-component vector of float) +0:84 fwidthFine ( global 4-component vector of float) +0:84 'in4' ( smooth in 4-component vector of float) +0:89 move second child to first child ( temp 2-component vector of float) +0:89 'v2' ( temp 2-component vector of float) +0:89 frexp ( global 2-component vector of float) +0:89 'v2' ( temp 2-component vector of float) +0:89 'i2' ( temp 2-component vector of int) +0:90 move second child to first child ( temp 3-component vector of float) +0:90 'v3' ( temp 3-component vector of float) +0:90 ldexp ( global 3-component vector of float) +0:90 'v3' ( temp 3-component vector of float) +0:90 'i3' ( temp 3-component vector of int) +0:92 move second child to first child ( temp uint) +0:92 'u1' ( temp uint) +0:92 PackUnorm4x8 ( global uint) +0:92 'v4' ( temp 4-component vector of float) +0:93 move second child to first child ( temp uint) +0:93 'u1' ( temp uint) +0:93 PackSnorm4x8 ( global uint) +0:93 'v4' ( temp 4-component vector of float) +0:94 move second child to first child ( temp 4-component vector of float) +0:94 'v4' ( temp 4-component vector of float) +0:94 UnpackUnorm4x8 ( global 4-component vector of float) +0:94 'u1' ( temp uint) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 'v4' ( temp 4-component vector of float) +0:95 UnpackSnorm4x8 ( global 4-component vector of float) +0:95 'u1' ( temp uint) +0:99 move second child to first child ( temp double) +0:99 'd' ( temp double) +0:99 PackDouble2x32 ( global double) +0:99 'u2' ( temp 2-component vector of uint) +0:100 move second child to first child ( temp 2-component vector of uint) +0:100 'u2' ( temp 2-component vector of uint) +0:100 UnpackDouble2x32 ( global 2-component vector of uint) +0:100 'd' ( temp double) +0:117 Function Definition: interp( ( global void) 0:117 Function Parameters: 0:119 Sequence -0:119 interpolateAtCentroid (global 2-component vector of float) -0:119 'colorfc' (centroid flat in 2-component vector of float) -0:120 interpolateAtCentroid (global 4-component vector of float) -0:120 'colorSampIn' (smooth sample in 4-component vector of float) -0:121 interpolateAtCentroid (global 4-component vector of float) -0:121 'colorfsi' (noperspective in 4-component vector of float) -0:122 interpolateAtCentroid (global float) -0:122 'scalarIn' (smooth in float) +0:119 interpolateAtCentroid ( global 2-component vector of float) +0:119 'colorfc' ( centroid flat in 2-component vector of float) +0:120 interpolateAtCentroid ( global 4-component vector of float) +0:120 'colorSampIn' ( smooth sample in 4-component vector of float) +0:121 interpolateAtCentroid ( global 4-component vector of float) +0:121 'colorfsi' ( noperspective in 4-component vector of float) +0:122 interpolateAtCentroid ( global float) +0:122 'scalarIn' ( smooth in float) 0:123 Constant: 0:123 0.000000 -0:124 interpolateAtCentroid (global 3-component vector of float) -0:124 direct index (smooth sample temp 3-component vector of float) -0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:124 interpolateAtCentroid ( global 3-component vector of float) +0:124 direct index ( smooth sample temp 3-component vector of float) +0:124 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:124 Constant: 0:124 2 (const int) -0:125 interpolateAtCentroid (global 2-component vector of float) -0:125 vector swizzle (temp 2-component vector of float) -0:125 direct index (smooth sample temp 3-component vector of float) -0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:125 interpolateAtCentroid ( global 2-component vector of float) +0:125 vector swizzle ( temp 2-component vector of float) +0:125 direct index ( smooth sample temp 3-component vector of float) +0:125 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:125 Constant: 0:125 2 (const int) 0:125 Sequence @@ -337,37 +337,37 @@ ERROR: node is still EOpNull! 0:125 1 (const int) 0:127 Constant: 0:127 0.000000 -0:128 interpolateAtSample (global 3-component vector of float) -0:128 indirect index (smooth sample temp 3-component vector of float) -0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) -0:128 'i' (flat in int) +0:128 interpolateAtSample ( global 3-component vector of float) +0:128 indirect index ( smooth sample temp 3-component vector of float) +0:128 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) +0:128 'i' ( flat in int) 0:128 Constant: 0:128 0 (const int) -0:129 interpolateAtSample (global float) -0:129 x: direct index for structure (global float) -0:129 's1' (smooth in structure{global float x}) +0:129 interpolateAtSample ( global float) +0:129 x: direct index for structure ( global float) +0:129 's1' ( smooth in structure{ global float x}) 0:129 Constant: 0:129 0 (const int) 0:129 Constant: 0:129 2 (const int) -0:130 interpolateAtSample (global float) -0:130 'scalarIn' (smooth in float) +0:130 interpolateAtSample ( global float) +0:130 'scalarIn' ( smooth in float) 0:130 Constant: 0:130 1 (const int) 0:132 Constant: 0:132 0.000000 -0:133 interpolateAtOffset (global 3-component vector of float) -0:133 direct index (smooth sample temp 3-component vector of float) -0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:133 interpolateAtOffset ( global 3-component vector of float) +0:133 direct index ( smooth sample temp 3-component vector of float) +0:133 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:133 Constant: 0:133 2 (const int) 0:133 Constant: 0:133 0.200000 0:133 0.200000 -0:134 interpolateAtOffset (global 2-component vector of float) -0:134 vector swizzle (temp 2-component vector of float) -0:134 direct index (smooth sample temp 3-component vector of float) -0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:134 interpolateAtOffset ( global 2-component vector of float) +0:134 vector swizzle ( temp 2-component vector of float) +0:134 direct index ( smooth sample temp 3-component vector of float) +0:134 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:134 Constant: 0:134 2 (const int) 0:134 Sequence @@ -378,140 +378,140 @@ ERROR: node is still EOpNull! 0:134 Constant: 0:134 0.200000 0:134 0.200000 -0:135 interpolateAtOffset (global float) -0:135 add (temp float) -0:135 'scalarIn' (smooth in float) -0:135 'scalarIn' (smooth in float) +0:135 interpolateAtOffset ( global float) +0:135 add ( temp float) +0:135 'scalarIn' ( smooth in float) +0:135 'scalarIn' ( smooth in float) 0:135 Constant: 0:135 0.200000 0:135 0.200000 -0:136 interpolateAtOffset (global float) -0:136 x: direct index for structure (global float) -0:136 's2' (sample temp structure{global float x}) +0:136 interpolateAtOffset ( global float) +0:136 x: direct index for structure ( global float) +0:136 's2' ( sample temp structure{ global float x}) 0:136 Constant: 0:136 0 (const int) 0:136 Constant: 0:136 0.200000 0:136 0.200000 -0:139 interpolateAtCentroid (global float) -0:139 'f' (temp float) -0:140 interpolateAtSample (global 4-component vector of float) -0:140 'outp' (out 4-component vector of float) +0:139 interpolateAtCentroid ( global float) +0:139 'f' ( temp float) +0:140 interpolateAtSample ( global 4-component vector of float) +0:140 'outp' ( out 4-component vector of float) 0:140 Constant: 0:140 0 (const int) -0:161 Function Definition: qlod( (global void) +0:161 Function Definition: qlod( ( global void) 0:161 Function Parameters: 0:? Sequence -0:168 move second child to first child (temp 2-component vector of float) -0:168 'lod' (temp 2-component vector of float) -0:168 textureQueryLod (global 2-component vector of float) -0:168 'samp1D' (uniform sampler1D) -0:168 'pf' (temp float) -0:169 move second child to first child (temp 2-component vector of float) -0:169 'lod' (temp 2-component vector of float) -0:169 textureQueryLod (global 2-component vector of float) -0:169 'isamp2D' (uniform isampler2D) -0:169 'pf2' (temp 2-component vector of float) -0:170 move second child to first child (temp 2-component vector of float) -0:170 'lod' (temp 2-component vector of float) -0:170 textureQueryLod (global 2-component vector of float) -0:170 'usamp3D' (uniform usampler3D) -0:170 'pf3' (temp 3-component vector of float) -0:171 move second child to first child (temp 2-component vector of float) -0:171 'lod' (temp 2-component vector of float) -0:171 textureQueryLod (global 2-component vector of float) -0:171 'sampCube' (uniform samplerCube) -0:171 'pf3' (temp 3-component vector of float) -0:172 move second child to first child (temp 2-component vector of float) -0:172 'lod' (temp 2-component vector of float) -0:172 textureQueryLod (global 2-component vector of float) -0:172 'isamp1DA' (uniform isampler1DArray) -0:172 'pf' (temp float) -0:173 move second child to first child (temp 2-component vector of float) -0:173 'lod' (temp 2-component vector of float) -0:173 textureQueryLod (global 2-component vector of float) -0:173 'usamp2DA' (uniform usampler2DArray) -0:173 'pf2' (temp 2-component vector of float) -0:174 move second child to first child (temp 2-component vector of float) -0:174 'lod' (temp 2-component vector of float) -0:174 textureQueryLod (global 2-component vector of float) -0:174 'isampCubeA' (uniform isamplerCubeArray) -0:174 'pf3' (temp 3-component vector of float) -0:176 move second child to first child (temp 2-component vector of float) -0:176 'lod' (temp 2-component vector of float) -0:176 textureQueryLod (global 2-component vector of float) -0:176 'samp1Ds' (uniform sampler1DShadow) -0:176 'pf' (temp float) -0:177 move second child to first child (temp 2-component vector of float) -0:177 'lod' (temp 2-component vector of float) -0:177 textureQueryLod (global 2-component vector of float) -0:177 'samp2Ds' (uniform sampler2DShadow) -0:177 'pf2' (temp 2-component vector of float) -0:178 move second child to first child (temp 2-component vector of float) -0:178 'lod' (temp 2-component vector of float) -0:178 textureQueryLod (global 2-component vector of float) -0:178 'sampCubes' (uniform samplerCubeShadow) -0:178 'pf3' (temp 3-component vector of float) -0:179 move second child to first child (temp 2-component vector of float) -0:179 'lod' (temp 2-component vector of float) -0:179 textureQueryLod (global 2-component vector of float) -0:179 'samp1DAs' (uniform sampler1DArrayShadow) -0:179 'pf' (temp float) -0:180 move second child to first child (temp 2-component vector of float) -0:180 'lod' (temp 2-component vector of float) -0:180 textureQueryLod (global 2-component vector of float) -0:180 'samp2DAs' (uniform sampler2DArrayShadow) -0:180 'pf2' (temp 2-component vector of float) -0:181 move second child to first child (temp 2-component vector of float) -0:181 'lod' (temp 2-component vector of float) -0:181 textureQueryLod (global 2-component vector of float) -0:181 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:181 'pf3' (temp 3-component vector of float) -0:183 'lod' (temp 2-component vector of float) -0:184 'lod' (temp 2-component vector of float) +0:168 move second child to first child ( temp 2-component vector of float) +0:168 'lod' ( temp 2-component vector of float) +0:168 textureQueryLod ( global 2-component vector of float) +0:168 'samp1D' ( uniform sampler1D) +0:168 'pf' ( temp float) +0:169 move second child to first child ( temp 2-component vector of float) +0:169 'lod' ( temp 2-component vector of float) +0:169 textureQueryLod ( global 2-component vector of float) +0:169 'isamp2D' ( uniform isampler2D) +0:169 'pf2' ( temp 2-component vector of float) +0:170 move second child to first child ( temp 2-component vector of float) +0:170 'lod' ( temp 2-component vector of float) +0:170 textureQueryLod ( global 2-component vector of float) +0:170 'usamp3D' ( uniform usampler3D) +0:170 'pf3' ( temp 3-component vector of float) +0:171 move second child to first child ( temp 2-component vector of float) +0:171 'lod' ( temp 2-component vector of float) +0:171 textureQueryLod ( global 2-component vector of float) +0:171 'sampCube' ( uniform samplerCube) +0:171 'pf3' ( temp 3-component vector of float) +0:172 move second child to first child ( temp 2-component vector of float) +0:172 'lod' ( temp 2-component vector of float) +0:172 textureQueryLod ( global 2-component vector of float) +0:172 'isamp1DA' ( uniform isampler1DArray) +0:172 'pf' ( temp float) +0:173 move second child to first child ( temp 2-component vector of float) +0:173 'lod' ( temp 2-component vector of float) +0:173 textureQueryLod ( global 2-component vector of float) +0:173 'usamp2DA' ( uniform usampler2DArray) +0:173 'pf2' ( temp 2-component vector of float) +0:174 move second child to first child ( temp 2-component vector of float) +0:174 'lod' ( temp 2-component vector of float) +0:174 textureQueryLod ( global 2-component vector of float) +0:174 'isampCubeA' ( uniform isamplerCubeArray) +0:174 'pf3' ( temp 3-component vector of float) +0:176 move second child to first child ( temp 2-component vector of float) +0:176 'lod' ( temp 2-component vector of float) +0:176 textureQueryLod ( global 2-component vector of float) +0:176 'samp1Ds' ( uniform sampler1DShadow) +0:176 'pf' ( temp float) +0:177 move second child to first child ( temp 2-component vector of float) +0:177 'lod' ( temp 2-component vector of float) +0:177 textureQueryLod ( global 2-component vector of float) +0:177 'samp2Ds' ( uniform sampler2DShadow) +0:177 'pf2' ( temp 2-component vector of float) +0:178 move second child to first child ( temp 2-component vector of float) +0:178 'lod' ( temp 2-component vector of float) +0:178 textureQueryLod ( global 2-component vector of float) +0:178 'sampCubes' ( uniform samplerCubeShadow) +0:178 'pf3' ( temp 3-component vector of float) +0:179 move second child to first child ( temp 2-component vector of float) +0:179 'lod' ( temp 2-component vector of float) +0:179 textureQueryLod ( global 2-component vector of float) +0:179 'samp1DAs' ( uniform sampler1DArrayShadow) +0:179 'pf' ( temp float) +0:180 move second child to first child ( temp 2-component vector of float) +0:180 'lod' ( temp 2-component vector of float) +0:180 textureQueryLod ( global 2-component vector of float) +0:180 'samp2DAs' ( uniform sampler2DArrayShadow) +0:180 'pf2' ( temp 2-component vector of float) +0:181 move second child to first child ( temp 2-component vector of float) +0:181 'lod' ( temp 2-component vector of float) +0:181 textureQueryLod ( global 2-component vector of float) +0:181 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:181 'pf3' ( temp 3-component vector of float) +0:183 'lod' ( temp 2-component vector of float) +0:184 'lod' ( temp 2-component vector of float) 0:? Linker Objects -0:? 'c2D' (smooth in 2-component vector of float) -0:? 'i' (flat in int) -0:? 'outp' (out 4-component vector of float) -0:? 'arrayedSampler' (uniform 5-element array of sampler2D) -0:? 'samp2dr' (uniform usampler2DRect) -0:? 'isamp2DA' (uniform isampler2DArray) -0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) -0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) -0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) -0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'u2drs' (uniform sampler2DRectShadow) -0:? 'patchIn' (smooth patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'in1' (smooth in float) -0:? 'in2' (smooth in 2-component vector of float) -0:? 'in3' (smooth in 3-component vector of float) -0:? 'in4' (smooth in 4-component vector of float) -0:? 'colorSampIn' (smooth sample in 4-component vector of float) -0:? 'colorSampleBad' (sample out 4-component vector of float) -0:? 'colorfsi' (noperspective in 4-component vector of float) -0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) -0:? 'scalarIn' (smooth in float) -0:? 'colorfc' (centroid flat in 2-component vector of float) -0:? 's1' (smooth in structure{global float x}) -0:? 's2' (sample temp structure{global float x}) -0:? 'samp1D' (uniform sampler1D) -0:? 'isamp2D' (uniform isampler2D) -0:? 'usamp3D' (uniform usampler3D) -0:? 'sampCube' (uniform samplerCube) -0:? 'isamp1DA' (uniform isampler1DArray) -0:? 'usamp2DA' (uniform usampler2DArray) -0:? 'isampCubeA' (uniform isamplerCubeArray) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'sampCubes' (uniform samplerCubeShadow) -0:? 'samp1DAs' (uniform sampler1DArrayShadow) -0:? 'samp2DAs' (uniform sampler2DArrayShadow) -0:? 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:? 'sampBuf' (uniform samplerBuffer) -0:? 'sampRect' (uniform sampler2DRect) +0:? 'c2D' ( smooth in 2-component vector of float) +0:? 'i' ( flat in int) +0:? 'outp' ( out 4-component vector of float) +0:? 'arrayedSampler' ( uniform 5-element array of sampler2D) +0:? 'samp2dr' ( uniform usampler2DRect) +0:? 'isamp2DA' ( uniform isampler2DArray) +0:? 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) +0:? 'vl' (layout( location=4) smooth in 4-component vector of float) +0:? 'vl2' (layout( location=6) smooth in 4-component vector of float) +0:? 'uv3' (layout( location=3) uniform 3-component vector of float) +0:? 'anon@0' ( in block{ in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'u2drs' ( uniform sampler2DRectShadow) +0:? 'patchIn' ( smooth patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'in1' ( smooth in float) +0:? 'in2' ( smooth in 2-component vector of float) +0:? 'in3' ( smooth in 3-component vector of float) +0:? 'in4' ( smooth in 4-component vector of float) +0:? 'colorSampIn' ( smooth sample in 4-component vector of float) +0:? 'colorSampleBad' ( sample out 4-component vector of float) +0:? 'colorfsi' ( noperspective in 4-component vector of float) +0:? 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) +0:? 'scalarIn' ( smooth in float) +0:? 'colorfc' ( centroid flat in 2-component vector of float) +0:? 's1' ( smooth in structure{ global float x}) +0:? 's2' ( sample temp structure{ global float x}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'isamp2D' ( uniform isampler2D) +0:? 'usamp3D' ( uniform usampler3D) +0:? 'sampCube' ( uniform samplerCube) +0:? 'isamp1DA' ( uniform isampler1DArray) +0:? 'usamp2DA' ( uniform usampler2DArray) +0:? 'isampCubeA' ( uniform isamplerCubeArray) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'sampCubes' ( uniform samplerCubeShadow) +0:? 'samp1DAs' ( uniform sampler1DArrayShadow) +0:? 'samp2DAs' ( uniform sampler2DArrayShadow) +0:? 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:? 'sampBuf' ( uniform samplerBuffer) +0:? 'sampRect' ( uniform sampler2DRect) Linked fragment stage: @@ -523,39 +523,39 @@ Requested GL_ARB_separate_shader_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'v' (temp 4-component vector of float) -0:13 texture (global 4-component vector of float) -0:13 indirect index (temp sampler2D) -0:13 'arrayedSampler' (uniform 5-element array of sampler2D) -0:13 'i' (flat in int) -0:13 'c2D' (smooth in 2-component vector of float) -0:14 move second child to first child (temp float) -0:14 direct index (temp float) -0:14 'outp' (out 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'v' ( temp 4-component vector of float) +0:13 texture ( global 4-component vector of float) +0:13 indirect index ( temp sampler2D) +0:13 'arrayedSampler' ( uniform 5-element array of sampler2D) +0:13 'i' ( flat in int) +0:13 'c2D' ( smooth in 2-component vector of float) +0:14 move second child to first child ( temp float) +0:14 direct index ( temp float) +0:14 'outp' ( out 4-component vector of float) 0:14 Constant: 0:14 0 (const int) -0:14 direct index (smooth temp float ClipDistance) -0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) +0:14 direct index ( smooth temp float ClipDistance) +0:14 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) 0:14 Constant: 0:14 1 (const int) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of uint) -0:18 'uv4' (temp 4-component vector of uint) -0:18 textureGatherOffsets (global 4-component vector of uint) -0:18 'samp2dr' (uniform usampler2DRect) -0:18 'c2D' (smooth in 2-component vector of float) -0:18 'offsets' (temp 4-element array of 2-component vector of int) +0:18 move second child to first child ( temp 4-component vector of uint) +0:18 'uv4' ( temp 4-component vector of uint) +0:18 textureGatherOffsets ( global 4-component vector of uint) +0:18 'samp2dr' ( uniform usampler2DRect) +0:18 'c2D' ( smooth in 2-component vector of float) +0:18 'offsets' ( temp 4-element array of 2-component vector of int) 0:18 Constant: 0:18 2 (const int) -0:19 move second child to first child (temp 4-component vector of uint) -0:19 'uv4' (temp 4-component vector of uint) -0:19 textureGatherOffsets (global 4-component vector of uint) -0:19 'samp2dr' (uniform usampler2DRect) -0:19 'c2D' (smooth in 2-component vector of float) +0:19 move second child to first child ( temp 4-component vector of uint) +0:19 'uv4' ( temp 4-component vector of uint) +0:19 textureGatherOffsets ( global 4-component vector of uint) +0:19 'samp2dr' ( uniform usampler2DRect) +0:19 'c2D' ( smooth in 2-component vector of float) 0:19 Constant: 0:19 1 (const int) 0:19 2 (const int) @@ -568,19 +568,19 @@ ERROR: node is still EOpNull! 0:19 Constant: 0:19 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'v4' (temp 4-component vector of float) -0:20 textureGather (global 4-component vector of float) -0:20 direct index (temp sampler2D) -0:20 'arrayedSampler' (uniform 5-element array of sampler2D) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'v4' ( temp 4-component vector of float) +0:20 textureGather ( global 4-component vector of float) +0:20 direct index ( temp sampler2D) +0:20 'arrayedSampler' ( uniform 5-element array of sampler2D) 0:20 Constant: 0:20 0 (const int) -0:20 'c2D' (smooth in 2-component vector of float) +0:20 'c2D' ( smooth in 2-component vector of float) 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of int) -0:21 'iv4' (temp 4-component vector of int) -0:21 textureGatherOffset (global 4-component vector of int) -0:21 'isamp2DA' (uniform isampler2DArray) +0:21 move second child to first child ( temp 4-component vector of int) +0:21 'iv4' ( temp 4-component vector of int) +0:21 textureGatherOffset ( global 4-component vector of int) +0:21 'isamp2DA' ( uniform isampler2DArray) 0:21 Constant: 0:21 0.100000 0:21 0.100000 @@ -590,10 +590,10 @@ ERROR: node is still EOpNull! 0:21 1 (const int) 0:21 Constant: 0:21 3 (const int) -0:22 move second child to first child (temp 4-component vector of int) -0:22 'iv4' (temp 4-component vector of int) -0:22 textureGatherOffset (global 4-component vector of int) -0:22 'isamp2DA' (uniform isampler2DArray) +0:22 move second child to first child ( temp 4-component vector of int) +0:22 'iv4' ( temp 4-component vector of int) +0:22 textureGatherOffset ( global 4-component vector of int) +0:22 'isamp2DA' ( uniform isampler2DArray) 0:22 Constant: 0:22 0.100000 0:22 0.100000 @@ -601,11 +601,11 @@ ERROR: node is still EOpNull! 0:22 Constant: 0:22 1 (const int) 0:22 1 (const int) -0:22 'i' (flat in int) -0:23 move second child to first child (temp 4-component vector of int) -0:23 'iv4' (temp 4-component vector of int) -0:23 textureGatherOffset (global 4-component vector of int) -0:23 'isamp2DA' (uniform isampler2DArray) +0:22 'i' ( flat in int) +0:23 move second child to first child ( temp 4-component vector of int) +0:23 'iv4' ( temp 4-component vector of int) +0:23 textureGatherOffset ( global 4-component vector of int) +0:23 'isamp2DA' ( uniform isampler2DArray) 0:23 Constant: 0:23 0.100000 0:23 0.100000 @@ -615,10 +615,10 @@ ERROR: node is still EOpNull! 0:23 1 (const int) 0:23 Constant: 0:23 4 (const int) -0:24 move second child to first child (temp 4-component vector of int) -0:24 'iv4' (temp 4-component vector of int) -0:24 textureGatherOffset (global 4-component vector of int) -0:24 'isamp2DA' (uniform isampler2DArray) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'iv4' ( temp 4-component vector of int) +0:24 textureGatherOffset ( global 4-component vector of int) +0:24 'isamp2DA' ( uniform isampler2DArray) 0:24 Constant: 0:24 0.100000 0:24 0.100000 @@ -628,61 +628,61 @@ ERROR: node is still EOpNull! 0:24 1 (const int) 0:24 Constant: 0:24 3 (const int) -0:25 move second child to first child (temp 4-component vector of int) -0:25 'iv4' (temp 4-component vector of int) -0:25 textureGatherOffset (global 4-component vector of int) -0:25 'isamp2DA' (uniform isampler2DArray) +0:25 move second child to first child ( temp 4-component vector of int) +0:25 'iv4' ( temp 4-component vector of int) +0:25 textureGatherOffset ( global 4-component vector of int) +0:25 'isamp2DA' ( uniform isampler2DArray) 0:25 Constant: 0:25 0.100000 0:25 0.100000 0:25 0.100000 -0:25 Construct ivec2 (temp 2-component vector of int) -0:25 'i' (flat in int) +0:25 Construct ivec2 ( temp 2-component vector of int) +0:25 'i' ( flat in int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'c' (temp 4-component vector of float) -0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'c' ( temp 4-component vector of float) +0:27 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) 0:? Linker Objects -0:? 'c2D' (smooth in 2-component vector of float) -0:? 'i' (flat in int) -0:? 'outp' (out 4-component vector of float) -0:? 'arrayedSampler' (uniform 5-element array of sampler2D) -0:? 'samp2dr' (uniform usampler2DRect) -0:? 'isamp2DA' (uniform isampler2DArray) -0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) -0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) -0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) -0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'u2drs' (uniform sampler2DRectShadow) -0:? 'patchIn' (smooth patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'in1' (smooth in float) -0:? 'in2' (smooth in 2-component vector of float) -0:? 'in3' (smooth in 3-component vector of float) -0:? 'in4' (smooth in 4-component vector of float) -0:? 'colorSampIn' (smooth sample in 4-component vector of float) -0:? 'colorSampleBad' (sample out 4-component vector of float) -0:? 'colorfsi' (noperspective in 4-component vector of float) -0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) -0:? 'scalarIn' (smooth in float) -0:? 'colorfc' (centroid flat in 2-component vector of float) -0:? 's1' (smooth in structure{global float x}) -0:? 's2' (sample temp structure{global float x}) -0:? 'samp1D' (uniform sampler1D) -0:? 'isamp2D' (uniform isampler2D) -0:? 'usamp3D' (uniform usampler3D) -0:? 'sampCube' (uniform samplerCube) -0:? 'isamp1DA' (uniform isampler1DArray) -0:? 'usamp2DA' (uniform usampler2DArray) -0:? 'isampCubeA' (uniform isamplerCubeArray) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'sampCubes' (uniform samplerCubeShadow) -0:? 'samp1DAs' (uniform sampler1DArrayShadow) -0:? 'samp2DAs' (uniform sampler2DArrayShadow) -0:? 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:? 'sampBuf' (uniform samplerBuffer) -0:? 'sampRect' (uniform sampler2DRect) +0:? 'c2D' ( smooth in 2-component vector of float) +0:? 'i' ( flat in int) +0:? 'outp' ( out 4-component vector of float) +0:? 'arrayedSampler' ( uniform 5-element array of sampler2D) +0:? 'samp2dr' ( uniform usampler2DRect) +0:? 'isamp2DA' ( uniform isampler2DArray) +0:? 'gl_ClipDistance' ( smooth in 4-element array of float ClipDistance) +0:? 'vl' (layout( location=4) smooth in 4-component vector of float) +0:? 'vl2' (layout( location=6) smooth in 4-component vector of float) +0:? 'uv3' (layout( location=3) uniform 3-component vector of float) +0:? 'anon@0' ( in block{ in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'u2drs' ( uniform sampler2DRectShadow) +0:? 'patchIn' ( smooth patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'in1' ( smooth in float) +0:? 'in2' ( smooth in 2-component vector of float) +0:? 'in3' ( smooth in 3-component vector of float) +0:? 'in4' ( smooth in 4-component vector of float) +0:? 'colorSampIn' ( smooth sample in 4-component vector of float) +0:? 'colorSampleBad' ( sample out 4-component vector of float) +0:? 'colorfsi' ( noperspective in 4-component vector of float) +0:? 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) +0:? 'scalarIn' ( smooth in float) +0:? 'colorfc' ( centroid flat in 2-component vector of float) +0:? 's1' ( smooth in structure{ global float x}) +0:? 's2' ( sample temp structure{ global float x}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'isamp2D' ( uniform isampler2D) +0:? 'usamp3D' ( uniform usampler3D) +0:? 'sampCube' ( uniform samplerCube) +0:? 'isamp1DA' ( uniform isampler1DArray) +0:? 'usamp2DA' ( uniform usampler2DArray) +0:? 'isampCubeA' ( uniform isamplerCubeArray) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'sampCubes' ( uniform samplerCubeShadow) +0:? 'samp1DAs' ( uniform sampler1DArrayShadow) +0:? 'samp2DAs' ( uniform sampler2DArrayShadow) +0:? 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:? 'sampBuf' ( uniform samplerBuffer) +0:? 'sampRect' ( uniform sampler2DRect) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.geom.out index 86e2b8ffa6b..989b439b115 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.geom.out @@ -20,9 +20,9 @@ ERROR: 0:67: 'in' : type must be an array: inbls ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla ERROR: 0:103: 'index' : there is no such layout identifier for this stage taking an assigned value ERROR: 0:115: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:115: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:115: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 0:116: 'textureQueryLod' : no matching overloaded function found -ERROR: 0:116: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float' +ERROR: 0:116: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float' ERROR: 23 compilation errors. No code generated. @@ -33,41 +33,41 @@ max_vertices = 127 input primitive = triangles output primitive = none ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence -0:5 EmitStreamVertex (global void) +0:5 EmitStreamVertex ( global void) 0:5 Constant: 0:5 1 (const int) -0:6 EndStreamPrimitive (global void) +0:6 EndStreamPrimitive ( global void) 0:6 Constant: 0:6 0 (const int) -0:7 EmitVertex (global void) -0:8 EndPrimitive (global void) +0:7 EmitVertex ( global void) +0:8 EndPrimitive ( global void) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'id' (temp int) -0:9 'gl_InvocationID' (in int InvocationID) -0:23 Function Definition: foo( (global void) +0:9 move second child to first child ( temp int) +0:9 'id' ( temp int) +0:9 'gl_InvocationID' ( in int InvocationID) +0:23 Function Definition: foo( ( global void) 0:23 Function Parameters: 0:25 Sequence 0:25 Constant: 0:25 1 (const int) -0:26 gl_Position: direct index for structure (in 4-component vector of float Position) -0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) -0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) +0:26 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:26 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) +0:26 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) 0:26 Constant: 0:26 1 (const int) 0:26 Constant: 0:26 0 (const int) -0:34 Function Definition: foo2( (global void) +0:34 Function Definition: foo2( ( global void) 0:34 Function Parameters: 0:36 Sequence 0:36 Constant: 0:36 1 (const int) 0:37 Constant: 0:37 3 (const int) -0:46 Function Definition: foo3( (global void) +0:46 Function Definition: foo3( ( global void) 0:46 Function Parameters: 0:48 Sequence 0:48 Constant: @@ -78,970 +78,970 @@ ERROR: node is still EOpNull! 0:50 3 (const int) 0:51 Constant: 0:51 3 (const int) -0:75 Function Definition: bits( (global void) +0:75 Function Definition: bits( ( global void) 0:75 Function Parameters: 0:? Sequence -0:78 move second child to first child (temp 2-component vector of uint) -0:78 'u2' (temp 2-component vector of uint) -0:78 addCarry (global 2-component vector of uint) -0:78 'u2' (temp 2-component vector of uint) -0:78 'u2' (temp 2-component vector of uint) -0:78 'u2' (temp 2-component vector of uint) -0:80 move second child to first child (temp uint) -0:80 'u1' (temp uint) -0:80 subBorrow (global uint) -0:80 'u1' (temp uint) -0:80 'u1' (temp uint) -0:80 'u1' (temp uint) -0:82 uMulExtended (global void) -0:82 'u4' (temp 4-component vector of uint) -0:82 'u4' (temp 4-component vector of uint) -0:82 'u4' (temp 4-component vector of uint) -0:82 'u4' (temp 4-component vector of uint) -0:84 iMulExtended (global void) -0:84 'i4' (temp 4-component vector of int) -0:84 'i4' (temp 4-component vector of int) -0:84 'i4' (temp 4-component vector of int) -0:84 'i4' (temp 4-component vector of int) -0:86 move second child to first child (temp int) -0:86 'i1' (temp int) -0:86 bitfieldExtract (global int) -0:86 'i1' (temp int) +0:78 move second child to first child ( temp 2-component vector of uint) +0:78 'u2' ( temp 2-component vector of uint) +0:78 addCarry ( global 2-component vector of uint) +0:78 'u2' ( temp 2-component vector of uint) +0:78 'u2' ( temp 2-component vector of uint) +0:78 'u2' ( temp 2-component vector of uint) +0:80 move second child to first child ( temp uint) +0:80 'u1' ( temp uint) +0:80 subBorrow ( global uint) +0:80 'u1' ( temp uint) +0:80 'u1' ( temp uint) +0:80 'u1' ( temp uint) +0:82 uMulExtended ( global void) +0:82 'u4' ( temp 4-component vector of uint) +0:82 'u4' ( temp 4-component vector of uint) +0:82 'u4' ( temp 4-component vector of uint) +0:82 'u4' ( temp 4-component vector of uint) +0:84 iMulExtended ( global void) +0:84 'i4' ( temp 4-component vector of int) +0:84 'i4' ( temp 4-component vector of int) +0:84 'i4' ( temp 4-component vector of int) +0:84 'i4' ( temp 4-component vector of int) +0:86 move second child to first child ( temp int) +0:86 'i1' ( temp int) +0:86 bitfieldExtract ( global int) +0:86 'i1' ( temp int) 0:86 Constant: 0:86 4 (const int) 0:86 Constant: 0:86 5 (const int) -0:88 move second child to first child (temp 3-component vector of uint) -0:88 'u3' (temp 3-component vector of uint) -0:88 bitfieldExtract (global 3-component vector of uint) -0:88 'u3' (temp 3-component vector of uint) +0:88 move second child to first child ( temp 3-component vector of uint) +0:88 'u3' ( temp 3-component vector of uint) +0:88 bitfieldExtract ( global 3-component vector of uint) +0:88 'u3' ( temp 3-component vector of uint) 0:88 Constant: 0:88 4 (const int) 0:88 Constant: 0:88 5 (const int) -0:90 move second child to first child (temp 3-component vector of int) -0:90 'i3' (temp 3-component vector of int) -0:90 bitfieldInsert (global 3-component vector of int) -0:90 'i3' (temp 3-component vector of int) -0:90 'i3' (temp 3-component vector of int) +0:90 move second child to first child ( temp 3-component vector of int) +0:90 'i3' ( temp 3-component vector of int) +0:90 bitfieldInsert ( global 3-component vector of int) +0:90 'i3' ( temp 3-component vector of int) +0:90 'i3' ( temp 3-component vector of int) 0:90 Constant: 0:90 4 (const int) 0:90 Constant: 0:90 5 (const int) -0:91 move second child to first child (temp uint) -0:91 'u1' (temp uint) -0:91 bitfieldInsert (global uint) -0:91 'u1' (temp uint) -0:91 'u1' (temp uint) +0:91 move second child to first child ( temp uint) +0:91 'u1' ( temp uint) +0:91 bitfieldInsert ( global uint) +0:91 'u1' ( temp uint) +0:91 'u1' ( temp uint) 0:91 Constant: 0:91 4 (const int) 0:91 Constant: 0:91 5 (const int) -0:93 move second child to first child (temp 2-component vector of int) -0:93 'i2' (temp 2-component vector of int) -0:93 bitFieldReverse (global 2-component vector of int) -0:93 'i2' (temp 2-component vector of int) -0:94 move second child to first child (temp 4-component vector of uint) -0:94 'u4' (temp 4-component vector of uint) -0:94 bitFieldReverse (global 4-component vector of uint) -0:94 'u4' (temp 4-component vector of uint) -0:95 move second child to first child (temp int) -0:95 'i1' (temp int) -0:95 bitCount (global int) -0:95 'i1' (temp int) -0:96 move second child to first child (temp 3-component vector of int) -0:96 'i3' (temp 3-component vector of int) -0:96 bitCount (global 3-component vector of int) -0:96 'u3' (temp 3-component vector of uint) -0:97 move second child to first child (temp 2-component vector of int) -0:97 'i2' (temp 2-component vector of int) -0:97 findLSB (global 2-component vector of int) -0:97 'i2' (temp 2-component vector of int) -0:98 move second child to first child (temp 4-component vector of int) -0:98 'i4' (temp 4-component vector of int) -0:98 findLSB (global 4-component vector of int) -0:98 'u4' (temp 4-component vector of uint) -0:99 move second child to first child (temp int) -0:99 'i1' (temp int) -0:99 findMSB (global int) -0:99 'i1' (temp int) -0:100 move second child to first child (temp 2-component vector of int) -0:100 'i2' (temp 2-component vector of int) -0:100 findMSB (global 2-component vector of int) -0:100 'u2' (temp 2-component vector of uint) -0:108 Function Definition: qlod( (global void) +0:93 move second child to first child ( temp 2-component vector of int) +0:93 'i2' ( temp 2-component vector of int) +0:93 bitFieldReverse ( global 2-component vector of int) +0:93 'i2' ( temp 2-component vector of int) +0:94 move second child to first child ( temp 4-component vector of uint) +0:94 'u4' ( temp 4-component vector of uint) +0:94 bitFieldReverse ( global 4-component vector of uint) +0:94 'u4' ( temp 4-component vector of uint) +0:95 move second child to first child ( temp int) +0:95 'i1' ( temp int) +0:95 bitCount ( global int) +0:95 'i1' ( temp int) +0:96 move second child to first child ( temp 3-component vector of int) +0:96 'i3' ( temp 3-component vector of int) +0:96 bitCount ( global 3-component vector of int) +0:96 'u3' ( temp 3-component vector of uint) +0:97 move second child to first child ( temp 2-component vector of int) +0:97 'i2' ( temp 2-component vector of int) +0:97 findLSB ( global 2-component vector of int) +0:97 'i2' ( temp 2-component vector of int) +0:98 move second child to first child ( temp 4-component vector of int) +0:98 'i4' ( temp 4-component vector of int) +0:98 findLSB ( global 4-component vector of int) +0:98 'u4' ( temp 4-component vector of uint) +0:99 move second child to first child ( temp int) +0:99 'i1' ( temp int) +0:99 findMSB ( global int) +0:99 'i1' ( temp int) +0:100 move second child to first child ( temp 2-component vector of int) +0:100 'i2' ( temp 2-component vector of int) +0:100 findMSB ( global 2-component vector of int) +0:100 'u2' ( temp 2-component vector of uint) +0:108 Function Definition: qlod( ( global void) 0:108 Function Parameters: 0:? Sequence -0:115 'lod' (temp 2-component vector of float) -0:116 'lod' (temp 2-component vector of float) -0:119 Function Definition: doubles( (global void) +0:115 'lod' ( temp 2-component vector of float) +0:116 'lod' ( temp 2-component vector of float) +0:119 Function Definition: doubles( ( global void) 0:119 Function Parameters: 0:? Sequence -0:131 move second child to first child (temp double) -0:131 'doublev' (temp double) +0:131 move second child to first child ( temp double) +0:131 'doublev' ( temp double) 0:131 Constant: 0:131 1.702939 -0:132 move second child to first child (temp 2-component vector of double) -0:132 'dvec2v' (temp 2-component vector of double) +0:132 move second child to first child ( temp 2-component vector of double) +0:132 'dvec2v' ( temp 2-component vector of double) 0:132 Constant: 0:132 1.643168 0:132 1.643168 -0:133 move second child to first child (temp 3-component vector of double) -0:133 'dvec3v' (temp 3-component vector of double) +0:133 move second child to first child ( temp 3-component vector of double) +0:133 'dvec3v' ( temp 3-component vector of double) 0:133 Constant: 0:133 1.414214 0:133 1.414214 0:133 1.414214 -0:134 move second child to first child (temp 4-component vector of double) -0:134 'dvec4v' (temp 4-component vector of double) +0:134 move second child to first child ( temp 4-component vector of double) +0:134 'dvec4v' ( temp 4-component vector of double) 0:134 Constant: 0:134 1.449138 0:134 1.449138 0:134 1.449138 0:134 1.449138 -0:136 add second child into first child (temp double) -0:136 'doublev' (temp double) -0:136 inverse sqrt (global double) -0:136 'doublev' (temp double) -0:137 add second child into first child (temp 2-component vector of double) -0:137 'dvec2v' (temp 2-component vector of double) -0:137 inverse sqrt (global 2-component vector of double) -0:137 'dvec2v' (temp 2-component vector of double) -0:138 add second child into first child (temp 3-component vector of double) -0:138 'dvec3v' (temp 3-component vector of double) -0:138 inverse sqrt (global 3-component vector of double) -0:138 'dvec3v' (temp 3-component vector of double) -0:139 add second child into first child (temp 4-component vector of double) -0:139 'dvec4v' (temp 4-component vector of double) -0:139 inverse sqrt (global 4-component vector of double) -0:139 'dvec4v' (temp 4-component vector of double) -0:141 add second child into first child (temp double) -0:141 'doublev' (temp double) -0:141 Absolute value (global double) -0:141 'doublev' (temp double) -0:142 add second child into first child (temp 2-component vector of double) -0:142 'dvec2v' (temp 2-component vector of double) -0:142 Absolute value (global 2-component vector of double) -0:142 'dvec2v' (temp 2-component vector of double) -0:143 add second child into first child (temp 3-component vector of double) -0:143 'dvec3v' (temp 3-component vector of double) -0:143 Absolute value (global 3-component vector of double) -0:143 'dvec3v' (temp 3-component vector of double) -0:144 add second child into first child (temp 4-component vector of double) -0:144 'dvec4v' (temp 4-component vector of double) -0:144 Absolute value (global 4-component vector of double) -0:144 'dvec4v' (temp 4-component vector of double) -0:146 add second child into first child (temp double) -0:146 'doublev' (temp double) -0:146 Sign (global double) -0:146 'doublev' (temp double) -0:147 add second child into first child (temp 2-component vector of double) -0:147 'dvec2v' (temp 2-component vector of double) -0:147 Sign (global 2-component vector of double) -0:147 'dvec2v' (temp 2-component vector of double) -0:148 add second child into first child (temp 3-component vector of double) -0:148 'dvec3v' (temp 3-component vector of double) -0:148 Sign (global 3-component vector of double) -0:148 'dvec3v' (temp 3-component vector of double) -0:149 add second child into first child (temp 4-component vector of double) -0:149 'dvec4v' (temp 4-component vector of double) -0:149 Sign (global 4-component vector of double) -0:149 'dvec4v' (temp 4-component vector of double) -0:151 add second child into first child (temp double) -0:151 'doublev' (temp double) -0:151 Floor (global double) -0:151 'doublev' (temp double) -0:152 add second child into first child (temp 2-component vector of double) -0:152 'dvec2v' (temp 2-component vector of double) -0:152 Floor (global 2-component vector of double) -0:152 'dvec2v' (temp 2-component vector of double) -0:153 add second child into first child (temp 3-component vector of double) -0:153 'dvec3v' (temp 3-component vector of double) -0:153 Floor (global 3-component vector of double) -0:153 'dvec3v' (temp 3-component vector of double) -0:154 add second child into first child (temp 4-component vector of double) -0:154 'dvec4v' (temp 4-component vector of double) -0:154 Floor (global 4-component vector of double) -0:154 'dvec4v' (temp 4-component vector of double) -0:156 add second child into first child (temp double) -0:156 'doublev' (temp double) -0:156 trunc (global double) -0:156 'doublev' (temp double) -0:157 add second child into first child (temp 2-component vector of double) -0:157 'dvec2v' (temp 2-component vector of double) -0:157 trunc (global 2-component vector of double) -0:157 'dvec2v' (temp 2-component vector of double) -0:158 add second child into first child (temp 3-component vector of double) -0:158 'dvec3v' (temp 3-component vector of double) -0:158 trunc (global 3-component vector of double) -0:158 'dvec3v' (temp 3-component vector of double) -0:159 add second child into first child (temp 4-component vector of double) -0:159 'dvec4v' (temp 4-component vector of double) -0:159 trunc (global 4-component vector of double) -0:159 'dvec4v' (temp 4-component vector of double) -0:161 add second child into first child (temp double) -0:161 'doublev' (temp double) -0:161 round (global double) -0:161 'doublev' (temp double) -0:162 add second child into first child (temp 2-component vector of double) -0:162 'dvec2v' (temp 2-component vector of double) -0:162 round (global 2-component vector of double) -0:162 'dvec2v' (temp 2-component vector of double) -0:163 add second child into first child (temp 3-component vector of double) -0:163 'dvec3v' (temp 3-component vector of double) -0:163 round (global 3-component vector of double) -0:163 'dvec3v' (temp 3-component vector of double) -0:164 add second child into first child (temp 4-component vector of double) -0:164 'dvec4v' (temp 4-component vector of double) -0:164 round (global 4-component vector of double) -0:164 'dvec4v' (temp 4-component vector of double) -0:166 add second child into first child (temp double) -0:166 'doublev' (temp double) -0:166 roundEven (global double) -0:166 'doublev' (temp double) -0:167 add second child into first child (temp 2-component vector of double) -0:167 'dvec2v' (temp 2-component vector of double) -0:167 roundEven (global 2-component vector of double) -0:167 'dvec2v' (temp 2-component vector of double) -0:168 add second child into first child (temp 3-component vector of double) -0:168 'dvec3v' (temp 3-component vector of double) -0:168 roundEven (global 3-component vector of double) -0:168 'dvec3v' (temp 3-component vector of double) -0:169 add second child into first child (temp 4-component vector of double) -0:169 'dvec4v' (temp 4-component vector of double) -0:169 roundEven (global 4-component vector of double) -0:169 'dvec4v' (temp 4-component vector of double) -0:171 add second child into first child (temp double) -0:171 'doublev' (temp double) -0:171 Ceiling (global double) -0:171 'doublev' (temp double) -0:172 add second child into first child (temp 2-component vector of double) -0:172 'dvec2v' (temp 2-component vector of double) -0:172 Ceiling (global 2-component vector of double) -0:172 'dvec2v' (temp 2-component vector of double) -0:173 add second child into first child (temp 3-component vector of double) -0:173 'dvec3v' (temp 3-component vector of double) -0:173 Ceiling (global 3-component vector of double) -0:173 'dvec3v' (temp 3-component vector of double) -0:174 add second child into first child (temp 4-component vector of double) -0:174 'dvec4v' (temp 4-component vector of double) -0:174 Ceiling (global 4-component vector of double) -0:174 'dvec4v' (temp 4-component vector of double) -0:176 add second child into first child (temp double) -0:176 'doublev' (temp double) -0:176 Fraction (global double) -0:176 'doublev' (temp double) -0:177 add second child into first child (temp 2-component vector of double) -0:177 'dvec2v' (temp 2-component vector of double) -0:177 Fraction (global 2-component vector of double) -0:177 'dvec2v' (temp 2-component vector of double) -0:178 add second child into first child (temp 3-component vector of double) -0:178 'dvec3v' (temp 3-component vector of double) -0:178 Fraction (global 3-component vector of double) -0:178 'dvec3v' (temp 3-component vector of double) -0:179 add second child into first child (temp 4-component vector of double) -0:179 'dvec4v' (temp 4-component vector of double) -0:179 Fraction (global 4-component vector of double) -0:179 'dvec4v' (temp 4-component vector of double) -0:181 add second child into first child (temp double) -0:181 'doublev' (temp double) -0:181 mod (global double) -0:181 'doublev' (temp double) -0:181 'doublev' (temp double) -0:182 add second child into first child (temp 2-component vector of double) -0:182 'dvec2v' (temp 2-component vector of double) -0:182 mod (global 2-component vector of double) -0:182 'dvec2v' (temp 2-component vector of double) -0:182 'doublev' (temp double) -0:183 add second child into first child (temp 3-component vector of double) -0:183 'dvec3v' (temp 3-component vector of double) -0:183 mod (global 3-component vector of double) -0:183 'dvec3v' (temp 3-component vector of double) -0:183 'doublev' (temp double) -0:184 add second child into first child (temp 4-component vector of double) -0:184 'dvec4v' (temp 4-component vector of double) -0:184 mod (global 4-component vector of double) -0:184 'dvec4v' (temp 4-component vector of double) -0:184 'doublev' (temp double) -0:185 add second child into first child (temp 2-component vector of double) -0:185 'dvec2v' (temp 2-component vector of double) -0:185 mod (global 2-component vector of double) -0:185 'dvec2v' (temp 2-component vector of double) -0:185 'dvec2v' (temp 2-component vector of double) -0:186 add second child into first child (temp 3-component vector of double) -0:186 'dvec3v' (temp 3-component vector of double) -0:186 mod (global 3-component vector of double) -0:186 'dvec3v' (temp 3-component vector of double) -0:186 'dvec3v' (temp 3-component vector of double) -0:187 add second child into first child (temp 4-component vector of double) -0:187 'dvec4v' (temp 4-component vector of double) -0:187 mod (global 4-component vector of double) -0:187 'dvec4v' (temp 4-component vector of double) -0:187 'dvec4v' (temp 4-component vector of double) -0:189 add second child into first child (temp double) -0:189 'doublev' (temp double) -0:189 modf (global double) -0:189 'doublev' (temp double) -0:189 'doublev' (temp double) -0:190 add second child into first child (temp 2-component vector of double) -0:190 'dvec2v' (temp 2-component vector of double) -0:190 modf (global 2-component vector of double) -0:190 'dvec2v' (temp 2-component vector of double) -0:190 'dvec2v' (temp 2-component vector of double) -0:191 add second child into first child (temp 3-component vector of double) -0:191 'dvec3v' (temp 3-component vector of double) -0:191 modf (global 3-component vector of double) -0:191 'dvec3v' (temp 3-component vector of double) -0:191 'dvec3v' (temp 3-component vector of double) -0:192 add second child into first child (temp 4-component vector of double) -0:192 'dvec4v' (temp 4-component vector of double) -0:192 modf (global 4-component vector of double) -0:192 'dvec4v' (temp 4-component vector of double) -0:192 'dvec4v' (temp 4-component vector of double) -0:194 add second child into first child (temp double) -0:194 'doublev' (temp double) -0:194 min (global double) -0:194 'doublev' (temp double) -0:194 'doublev' (temp double) -0:195 add second child into first child (temp 2-component vector of double) -0:195 'dvec2v' (temp 2-component vector of double) -0:195 min (global 2-component vector of double) -0:195 'dvec2v' (temp 2-component vector of double) -0:195 'doublev' (temp double) -0:196 add second child into first child (temp 3-component vector of double) -0:196 'dvec3v' (temp 3-component vector of double) -0:196 min (global 3-component vector of double) -0:196 'dvec3v' (temp 3-component vector of double) -0:196 'doublev' (temp double) -0:197 add second child into first child (temp 4-component vector of double) -0:197 'dvec4v' (temp 4-component vector of double) -0:197 min (global 4-component vector of double) -0:197 'dvec4v' (temp 4-component vector of double) -0:197 'doublev' (temp double) -0:198 add second child into first child (temp 2-component vector of double) -0:198 'dvec2v' (temp 2-component vector of double) -0:198 min (global 2-component vector of double) -0:198 'dvec2v' (temp 2-component vector of double) -0:198 'dvec2v' (temp 2-component vector of double) -0:199 add second child into first child (temp 3-component vector of double) -0:199 'dvec3v' (temp 3-component vector of double) -0:199 min (global 3-component vector of double) -0:199 'dvec3v' (temp 3-component vector of double) -0:199 'dvec3v' (temp 3-component vector of double) -0:200 add second child into first child (temp 4-component vector of double) -0:200 'dvec4v' (temp 4-component vector of double) -0:200 min (global 4-component vector of double) -0:200 'dvec4v' (temp 4-component vector of double) -0:200 'dvec4v' (temp 4-component vector of double) -0:202 add second child into first child (temp double) -0:202 'doublev' (temp double) -0:202 max (global double) -0:202 'doublev' (temp double) -0:202 'doublev' (temp double) -0:203 add second child into first child (temp 2-component vector of double) -0:203 'dvec2v' (temp 2-component vector of double) -0:203 max (global 2-component vector of double) -0:203 'dvec2v' (temp 2-component vector of double) -0:203 'doublev' (temp double) -0:204 add second child into first child (temp 3-component vector of double) -0:204 'dvec3v' (temp 3-component vector of double) -0:204 max (global 3-component vector of double) -0:204 'dvec3v' (temp 3-component vector of double) -0:204 'doublev' (temp double) -0:205 add second child into first child (temp 4-component vector of double) -0:205 'dvec4v' (temp 4-component vector of double) -0:205 max (global 4-component vector of double) -0:205 'dvec4v' (temp 4-component vector of double) -0:205 'doublev' (temp double) -0:206 add second child into first child (temp 2-component vector of double) -0:206 'dvec2v' (temp 2-component vector of double) -0:206 max (global 2-component vector of double) -0:206 'dvec2v' (temp 2-component vector of double) -0:206 'dvec2v' (temp 2-component vector of double) -0:207 add second child into first child (temp 3-component vector of double) -0:207 'dvec3v' (temp 3-component vector of double) -0:207 max (global 3-component vector of double) -0:207 'dvec3v' (temp 3-component vector of double) -0:207 'dvec3v' (temp 3-component vector of double) -0:208 add second child into first child (temp 4-component vector of double) -0:208 'dvec4v' (temp 4-component vector of double) -0:208 max (global 4-component vector of double) -0:208 'dvec4v' (temp 4-component vector of double) -0:208 'dvec4v' (temp 4-component vector of double) -0:210 add second child into first child (temp double) -0:210 'doublev' (temp double) -0:210 clamp (global double) -0:210 'doublev' (temp double) -0:210 'doublev' (temp double) -0:210 'doublev' (temp double) -0:211 add second child into first child (temp 2-component vector of double) -0:211 'dvec2v' (temp 2-component vector of double) -0:211 clamp (global 2-component vector of double) -0:211 'dvec2v' (temp 2-component vector of double) -0:211 'doublev' (temp double) -0:211 'doublev' (temp double) -0:212 add second child into first child (temp 3-component vector of double) -0:212 'dvec3v' (temp 3-component vector of double) -0:212 clamp (global 3-component vector of double) -0:212 'dvec3v' (temp 3-component vector of double) -0:212 'doublev' (temp double) -0:212 'doublev' (temp double) -0:213 add second child into first child (temp 4-component vector of double) -0:213 'dvec4v' (temp 4-component vector of double) -0:213 clamp (global 4-component vector of double) -0:213 'dvec4v' (temp 4-component vector of double) -0:213 'doublev' (temp double) -0:213 'doublev' (temp double) -0:214 add second child into first child (temp 2-component vector of double) -0:214 'dvec2v' (temp 2-component vector of double) -0:214 clamp (global 2-component vector of double) -0:214 'dvec2v' (temp 2-component vector of double) -0:214 'dvec2v' (temp 2-component vector of double) -0:214 'dvec2v' (temp 2-component vector of double) -0:215 add second child into first child (temp 3-component vector of double) -0:215 'dvec3v' (temp 3-component vector of double) -0:215 clamp (global 3-component vector of double) -0:215 'dvec3v' (temp 3-component vector of double) -0:215 'dvec3v' (temp 3-component vector of double) -0:215 'dvec3v' (temp 3-component vector of double) -0:216 add second child into first child (temp 4-component vector of double) -0:216 'dvec4v' (temp 4-component vector of double) -0:216 clamp (global 4-component vector of double) -0:216 'dvec4v' (temp 4-component vector of double) -0:216 'dvec4v' (temp 4-component vector of double) -0:216 'dvec4v' (temp 4-component vector of double) -0:218 add second child into first child (temp double) -0:218 'doublev' (temp double) -0:218 mix (global double) -0:218 'doublev' (temp double) -0:218 'doublev' (temp double) -0:218 'doublev' (temp double) -0:219 add second child into first child (temp 2-component vector of double) -0:219 'dvec2v' (temp 2-component vector of double) -0:219 mix (global 2-component vector of double) -0:219 'dvec2v' (temp 2-component vector of double) -0:219 'dvec2v' (temp 2-component vector of double) -0:219 'doublev' (temp double) -0:220 add second child into first child (temp 3-component vector of double) -0:220 'dvec3v' (temp 3-component vector of double) -0:220 mix (global 3-component vector of double) -0:220 'dvec3v' (temp 3-component vector of double) -0:220 'dvec3v' (temp 3-component vector of double) -0:220 'doublev' (temp double) -0:221 add second child into first child (temp 4-component vector of double) -0:221 'dvec4v' (temp 4-component vector of double) -0:221 mix (global 4-component vector of double) -0:221 'dvec4v' (temp 4-component vector of double) -0:221 'dvec4v' (temp 4-component vector of double) -0:221 'doublev' (temp double) -0:222 add second child into first child (temp 2-component vector of double) -0:222 'dvec2v' (temp 2-component vector of double) -0:222 mix (global 2-component vector of double) -0:222 'dvec2v' (temp 2-component vector of double) -0:222 'dvec2v' (temp 2-component vector of double) -0:222 'dvec2v' (temp 2-component vector of double) -0:223 add second child into first child (temp 3-component vector of double) -0:223 'dvec3v' (temp 3-component vector of double) -0:223 mix (global 3-component vector of double) -0:223 'dvec3v' (temp 3-component vector of double) -0:223 'dvec3v' (temp 3-component vector of double) -0:223 'dvec3v' (temp 3-component vector of double) -0:224 add second child into first child (temp 4-component vector of double) -0:224 'dvec4v' (temp 4-component vector of double) -0:224 mix (global 4-component vector of double) -0:224 'dvec4v' (temp 4-component vector of double) -0:224 'dvec4v' (temp 4-component vector of double) -0:224 'dvec4v' (temp 4-component vector of double) -0:225 add second child into first child (temp double) -0:225 'doublev' (temp double) -0:225 mix (global double) -0:225 'doublev' (temp double) -0:225 'doublev' (temp double) -0:225 'boolv' (temp bool) -0:226 add second child into first child (temp 2-component vector of double) -0:226 'dvec2v' (temp 2-component vector of double) -0:226 mix (global 2-component vector of double) -0:226 'dvec2v' (temp 2-component vector of double) -0:226 'dvec2v' (temp 2-component vector of double) -0:226 'bvec2v' (temp 2-component vector of bool) -0:227 add second child into first child (temp 3-component vector of double) -0:227 'dvec3v' (temp 3-component vector of double) -0:227 mix (global 3-component vector of double) -0:227 'dvec3v' (temp 3-component vector of double) -0:227 'dvec3v' (temp 3-component vector of double) -0:227 'bvec3v' (temp 3-component vector of bool) -0:228 add second child into first child (temp 4-component vector of double) -0:228 'dvec4v' (temp 4-component vector of double) -0:228 mix (global 4-component vector of double) -0:228 'dvec4v' (temp 4-component vector of double) -0:228 'dvec4v' (temp 4-component vector of double) -0:228 'bvec4v' (temp 4-component vector of bool) -0:230 add second child into first child (temp double) -0:230 'doublev' (temp double) -0:230 step (global double) -0:230 'doublev' (temp double) -0:230 'doublev' (temp double) -0:231 add second child into first child (temp 2-component vector of double) -0:231 'dvec2v' (temp 2-component vector of double) -0:231 step (global 2-component vector of double) -0:231 'dvec2v' (temp 2-component vector of double) -0:231 'dvec2v' (temp 2-component vector of double) -0:232 add second child into first child (temp 3-component vector of double) -0:232 'dvec3v' (temp 3-component vector of double) -0:232 step (global 3-component vector of double) -0:232 'dvec3v' (temp 3-component vector of double) -0:232 'dvec3v' (temp 3-component vector of double) -0:233 add second child into first child (temp 4-component vector of double) -0:233 'dvec4v' (temp 4-component vector of double) -0:233 step (global 4-component vector of double) -0:233 'dvec4v' (temp 4-component vector of double) -0:233 'dvec4v' (temp 4-component vector of double) -0:234 add second child into first child (temp 2-component vector of double) -0:234 'dvec2v' (temp 2-component vector of double) -0:234 step (global 2-component vector of double) -0:234 'doublev' (temp double) -0:234 'dvec2v' (temp 2-component vector of double) -0:235 add second child into first child (temp 3-component vector of double) -0:235 'dvec3v' (temp 3-component vector of double) -0:235 step (global 3-component vector of double) -0:235 'doublev' (temp double) -0:235 'dvec3v' (temp 3-component vector of double) -0:236 add second child into first child (temp 4-component vector of double) -0:236 'dvec4v' (temp 4-component vector of double) -0:236 step (global 4-component vector of double) -0:236 'doublev' (temp double) -0:236 'dvec4v' (temp 4-component vector of double) -0:238 add second child into first child (temp double) -0:238 'doublev' (temp double) -0:238 smoothstep (global double) -0:238 'doublev' (temp double) -0:238 'doublev' (temp double) -0:238 'doublev' (temp double) -0:239 add second child into first child (temp 2-component vector of double) -0:239 'dvec2v' (temp 2-component vector of double) -0:239 smoothstep (global 2-component vector of double) -0:239 'dvec2v' (temp 2-component vector of double) -0:239 'dvec2v' (temp 2-component vector of double) -0:239 'dvec2v' (temp 2-component vector of double) -0:240 add second child into first child (temp 3-component vector of double) -0:240 'dvec3v' (temp 3-component vector of double) -0:240 smoothstep (global 3-component vector of double) -0:240 'dvec3v' (temp 3-component vector of double) -0:240 'dvec3v' (temp 3-component vector of double) -0:240 'dvec3v' (temp 3-component vector of double) -0:241 add second child into first child (temp 4-component vector of double) -0:241 'dvec4v' (temp 4-component vector of double) -0:241 smoothstep (global 4-component vector of double) -0:241 'dvec4v' (temp 4-component vector of double) -0:241 'dvec4v' (temp 4-component vector of double) -0:241 'dvec4v' (temp 4-component vector of double) -0:242 add second child into first child (temp 2-component vector of double) -0:242 'dvec2v' (temp 2-component vector of double) -0:242 smoothstep (global 2-component vector of double) -0:242 'doublev' (temp double) -0:242 'doublev' (temp double) -0:242 'dvec2v' (temp 2-component vector of double) -0:243 add second child into first child (temp 3-component vector of double) -0:243 'dvec3v' (temp 3-component vector of double) -0:243 smoothstep (global 3-component vector of double) -0:243 'doublev' (temp double) -0:243 'doublev' (temp double) -0:243 'dvec3v' (temp 3-component vector of double) -0:244 add second child into first child (temp 4-component vector of double) -0:244 'dvec4v' (temp 4-component vector of double) -0:244 smoothstep (global 4-component vector of double) -0:244 'doublev' (temp double) -0:244 'doublev' (temp double) -0:244 'dvec4v' (temp 4-component vector of double) -0:246 move second child to first child (temp bool) -0:246 'boolv' (temp bool) -0:246 isnan (global bool) -0:246 'doublev' (temp double) -0:247 move second child to first child (temp 2-component vector of bool) -0:247 'bvec2v' (temp 2-component vector of bool) -0:247 isnan (global 2-component vector of bool) -0:247 'dvec2v' (temp 2-component vector of double) -0:248 move second child to first child (temp 3-component vector of bool) -0:248 'bvec3v' (temp 3-component vector of bool) -0:248 isnan (global 3-component vector of bool) -0:248 'dvec3v' (temp 3-component vector of double) -0:249 move second child to first child (temp 4-component vector of bool) -0:249 'bvec4v' (temp 4-component vector of bool) -0:249 isnan (global 4-component vector of bool) -0:249 'dvec4v' (temp 4-component vector of double) -0:251 move second child to first child (temp bool) -0:251 'boolv' (temp bool) -0:251 Test condition and select (temp bool) +0:136 add second child into first child ( temp double) +0:136 'doublev' ( temp double) +0:136 inverse sqrt ( global double) +0:136 'doublev' ( temp double) +0:137 add second child into first child ( temp 2-component vector of double) +0:137 'dvec2v' ( temp 2-component vector of double) +0:137 inverse sqrt ( global 2-component vector of double) +0:137 'dvec2v' ( temp 2-component vector of double) +0:138 add second child into first child ( temp 3-component vector of double) +0:138 'dvec3v' ( temp 3-component vector of double) +0:138 inverse sqrt ( global 3-component vector of double) +0:138 'dvec3v' ( temp 3-component vector of double) +0:139 add second child into first child ( temp 4-component vector of double) +0:139 'dvec4v' ( temp 4-component vector of double) +0:139 inverse sqrt ( global 4-component vector of double) +0:139 'dvec4v' ( temp 4-component vector of double) +0:141 add second child into first child ( temp double) +0:141 'doublev' ( temp double) +0:141 Absolute value ( global double) +0:141 'doublev' ( temp double) +0:142 add second child into first child ( temp 2-component vector of double) +0:142 'dvec2v' ( temp 2-component vector of double) +0:142 Absolute value ( global 2-component vector of double) +0:142 'dvec2v' ( temp 2-component vector of double) +0:143 add second child into first child ( temp 3-component vector of double) +0:143 'dvec3v' ( temp 3-component vector of double) +0:143 Absolute value ( global 3-component vector of double) +0:143 'dvec3v' ( temp 3-component vector of double) +0:144 add second child into first child ( temp 4-component vector of double) +0:144 'dvec4v' ( temp 4-component vector of double) +0:144 Absolute value ( global 4-component vector of double) +0:144 'dvec4v' ( temp 4-component vector of double) +0:146 add second child into first child ( temp double) +0:146 'doublev' ( temp double) +0:146 Sign ( global double) +0:146 'doublev' ( temp double) +0:147 add second child into first child ( temp 2-component vector of double) +0:147 'dvec2v' ( temp 2-component vector of double) +0:147 Sign ( global 2-component vector of double) +0:147 'dvec2v' ( temp 2-component vector of double) +0:148 add second child into first child ( temp 3-component vector of double) +0:148 'dvec3v' ( temp 3-component vector of double) +0:148 Sign ( global 3-component vector of double) +0:148 'dvec3v' ( temp 3-component vector of double) +0:149 add second child into first child ( temp 4-component vector of double) +0:149 'dvec4v' ( temp 4-component vector of double) +0:149 Sign ( global 4-component vector of double) +0:149 'dvec4v' ( temp 4-component vector of double) +0:151 add second child into first child ( temp double) +0:151 'doublev' ( temp double) +0:151 Floor ( global double) +0:151 'doublev' ( temp double) +0:152 add second child into first child ( temp 2-component vector of double) +0:152 'dvec2v' ( temp 2-component vector of double) +0:152 Floor ( global 2-component vector of double) +0:152 'dvec2v' ( temp 2-component vector of double) +0:153 add second child into first child ( temp 3-component vector of double) +0:153 'dvec3v' ( temp 3-component vector of double) +0:153 Floor ( global 3-component vector of double) +0:153 'dvec3v' ( temp 3-component vector of double) +0:154 add second child into first child ( temp 4-component vector of double) +0:154 'dvec4v' ( temp 4-component vector of double) +0:154 Floor ( global 4-component vector of double) +0:154 'dvec4v' ( temp 4-component vector of double) +0:156 add second child into first child ( temp double) +0:156 'doublev' ( temp double) +0:156 trunc ( global double) +0:156 'doublev' ( temp double) +0:157 add second child into first child ( temp 2-component vector of double) +0:157 'dvec2v' ( temp 2-component vector of double) +0:157 trunc ( global 2-component vector of double) +0:157 'dvec2v' ( temp 2-component vector of double) +0:158 add second child into first child ( temp 3-component vector of double) +0:158 'dvec3v' ( temp 3-component vector of double) +0:158 trunc ( global 3-component vector of double) +0:158 'dvec3v' ( temp 3-component vector of double) +0:159 add second child into first child ( temp 4-component vector of double) +0:159 'dvec4v' ( temp 4-component vector of double) +0:159 trunc ( global 4-component vector of double) +0:159 'dvec4v' ( temp 4-component vector of double) +0:161 add second child into first child ( temp double) +0:161 'doublev' ( temp double) +0:161 round ( global double) +0:161 'doublev' ( temp double) +0:162 add second child into first child ( temp 2-component vector of double) +0:162 'dvec2v' ( temp 2-component vector of double) +0:162 round ( global 2-component vector of double) +0:162 'dvec2v' ( temp 2-component vector of double) +0:163 add second child into first child ( temp 3-component vector of double) +0:163 'dvec3v' ( temp 3-component vector of double) +0:163 round ( global 3-component vector of double) +0:163 'dvec3v' ( temp 3-component vector of double) +0:164 add second child into first child ( temp 4-component vector of double) +0:164 'dvec4v' ( temp 4-component vector of double) +0:164 round ( global 4-component vector of double) +0:164 'dvec4v' ( temp 4-component vector of double) +0:166 add second child into first child ( temp double) +0:166 'doublev' ( temp double) +0:166 roundEven ( global double) +0:166 'doublev' ( temp double) +0:167 add second child into first child ( temp 2-component vector of double) +0:167 'dvec2v' ( temp 2-component vector of double) +0:167 roundEven ( global 2-component vector of double) +0:167 'dvec2v' ( temp 2-component vector of double) +0:168 add second child into first child ( temp 3-component vector of double) +0:168 'dvec3v' ( temp 3-component vector of double) +0:168 roundEven ( global 3-component vector of double) +0:168 'dvec3v' ( temp 3-component vector of double) +0:169 add second child into first child ( temp 4-component vector of double) +0:169 'dvec4v' ( temp 4-component vector of double) +0:169 roundEven ( global 4-component vector of double) +0:169 'dvec4v' ( temp 4-component vector of double) +0:171 add second child into first child ( temp double) +0:171 'doublev' ( temp double) +0:171 Ceiling ( global double) +0:171 'doublev' ( temp double) +0:172 add second child into first child ( temp 2-component vector of double) +0:172 'dvec2v' ( temp 2-component vector of double) +0:172 Ceiling ( global 2-component vector of double) +0:172 'dvec2v' ( temp 2-component vector of double) +0:173 add second child into first child ( temp 3-component vector of double) +0:173 'dvec3v' ( temp 3-component vector of double) +0:173 Ceiling ( global 3-component vector of double) +0:173 'dvec3v' ( temp 3-component vector of double) +0:174 add second child into first child ( temp 4-component vector of double) +0:174 'dvec4v' ( temp 4-component vector of double) +0:174 Ceiling ( global 4-component vector of double) +0:174 'dvec4v' ( temp 4-component vector of double) +0:176 add second child into first child ( temp double) +0:176 'doublev' ( temp double) +0:176 Fraction ( global double) +0:176 'doublev' ( temp double) +0:177 add second child into first child ( temp 2-component vector of double) +0:177 'dvec2v' ( temp 2-component vector of double) +0:177 Fraction ( global 2-component vector of double) +0:177 'dvec2v' ( temp 2-component vector of double) +0:178 add second child into first child ( temp 3-component vector of double) +0:178 'dvec3v' ( temp 3-component vector of double) +0:178 Fraction ( global 3-component vector of double) +0:178 'dvec3v' ( temp 3-component vector of double) +0:179 add second child into first child ( temp 4-component vector of double) +0:179 'dvec4v' ( temp 4-component vector of double) +0:179 Fraction ( global 4-component vector of double) +0:179 'dvec4v' ( temp 4-component vector of double) +0:181 add second child into first child ( temp double) +0:181 'doublev' ( temp double) +0:181 mod ( global double) +0:181 'doublev' ( temp double) +0:181 'doublev' ( temp double) +0:182 add second child into first child ( temp 2-component vector of double) +0:182 'dvec2v' ( temp 2-component vector of double) +0:182 mod ( global 2-component vector of double) +0:182 'dvec2v' ( temp 2-component vector of double) +0:182 'doublev' ( temp double) +0:183 add second child into first child ( temp 3-component vector of double) +0:183 'dvec3v' ( temp 3-component vector of double) +0:183 mod ( global 3-component vector of double) +0:183 'dvec3v' ( temp 3-component vector of double) +0:183 'doublev' ( temp double) +0:184 add second child into first child ( temp 4-component vector of double) +0:184 'dvec4v' ( temp 4-component vector of double) +0:184 mod ( global 4-component vector of double) +0:184 'dvec4v' ( temp 4-component vector of double) +0:184 'doublev' ( temp double) +0:185 add second child into first child ( temp 2-component vector of double) +0:185 'dvec2v' ( temp 2-component vector of double) +0:185 mod ( global 2-component vector of double) +0:185 'dvec2v' ( temp 2-component vector of double) +0:185 'dvec2v' ( temp 2-component vector of double) +0:186 add second child into first child ( temp 3-component vector of double) +0:186 'dvec3v' ( temp 3-component vector of double) +0:186 mod ( global 3-component vector of double) +0:186 'dvec3v' ( temp 3-component vector of double) +0:186 'dvec3v' ( temp 3-component vector of double) +0:187 add second child into first child ( temp 4-component vector of double) +0:187 'dvec4v' ( temp 4-component vector of double) +0:187 mod ( global 4-component vector of double) +0:187 'dvec4v' ( temp 4-component vector of double) +0:187 'dvec4v' ( temp 4-component vector of double) +0:189 add second child into first child ( temp double) +0:189 'doublev' ( temp double) +0:189 modf ( global double) +0:189 'doublev' ( temp double) +0:189 'doublev' ( temp double) +0:190 add second child into first child ( temp 2-component vector of double) +0:190 'dvec2v' ( temp 2-component vector of double) +0:190 modf ( global 2-component vector of double) +0:190 'dvec2v' ( temp 2-component vector of double) +0:190 'dvec2v' ( temp 2-component vector of double) +0:191 add second child into first child ( temp 3-component vector of double) +0:191 'dvec3v' ( temp 3-component vector of double) +0:191 modf ( global 3-component vector of double) +0:191 'dvec3v' ( temp 3-component vector of double) +0:191 'dvec3v' ( temp 3-component vector of double) +0:192 add second child into first child ( temp 4-component vector of double) +0:192 'dvec4v' ( temp 4-component vector of double) +0:192 modf ( global 4-component vector of double) +0:192 'dvec4v' ( temp 4-component vector of double) +0:192 'dvec4v' ( temp 4-component vector of double) +0:194 add second child into first child ( temp double) +0:194 'doublev' ( temp double) +0:194 min ( global double) +0:194 'doublev' ( temp double) +0:194 'doublev' ( temp double) +0:195 add second child into first child ( temp 2-component vector of double) +0:195 'dvec2v' ( temp 2-component vector of double) +0:195 min ( global 2-component vector of double) +0:195 'dvec2v' ( temp 2-component vector of double) +0:195 'doublev' ( temp double) +0:196 add second child into first child ( temp 3-component vector of double) +0:196 'dvec3v' ( temp 3-component vector of double) +0:196 min ( global 3-component vector of double) +0:196 'dvec3v' ( temp 3-component vector of double) +0:196 'doublev' ( temp double) +0:197 add second child into first child ( temp 4-component vector of double) +0:197 'dvec4v' ( temp 4-component vector of double) +0:197 min ( global 4-component vector of double) +0:197 'dvec4v' ( temp 4-component vector of double) +0:197 'doublev' ( temp double) +0:198 add second child into first child ( temp 2-component vector of double) +0:198 'dvec2v' ( temp 2-component vector of double) +0:198 min ( global 2-component vector of double) +0:198 'dvec2v' ( temp 2-component vector of double) +0:198 'dvec2v' ( temp 2-component vector of double) +0:199 add second child into first child ( temp 3-component vector of double) +0:199 'dvec3v' ( temp 3-component vector of double) +0:199 min ( global 3-component vector of double) +0:199 'dvec3v' ( temp 3-component vector of double) +0:199 'dvec3v' ( temp 3-component vector of double) +0:200 add second child into first child ( temp 4-component vector of double) +0:200 'dvec4v' ( temp 4-component vector of double) +0:200 min ( global 4-component vector of double) +0:200 'dvec4v' ( temp 4-component vector of double) +0:200 'dvec4v' ( temp 4-component vector of double) +0:202 add second child into first child ( temp double) +0:202 'doublev' ( temp double) +0:202 max ( global double) +0:202 'doublev' ( temp double) +0:202 'doublev' ( temp double) +0:203 add second child into first child ( temp 2-component vector of double) +0:203 'dvec2v' ( temp 2-component vector of double) +0:203 max ( global 2-component vector of double) +0:203 'dvec2v' ( temp 2-component vector of double) +0:203 'doublev' ( temp double) +0:204 add second child into first child ( temp 3-component vector of double) +0:204 'dvec3v' ( temp 3-component vector of double) +0:204 max ( global 3-component vector of double) +0:204 'dvec3v' ( temp 3-component vector of double) +0:204 'doublev' ( temp double) +0:205 add second child into first child ( temp 4-component vector of double) +0:205 'dvec4v' ( temp 4-component vector of double) +0:205 max ( global 4-component vector of double) +0:205 'dvec4v' ( temp 4-component vector of double) +0:205 'doublev' ( temp double) +0:206 add second child into first child ( temp 2-component vector of double) +0:206 'dvec2v' ( temp 2-component vector of double) +0:206 max ( global 2-component vector of double) +0:206 'dvec2v' ( temp 2-component vector of double) +0:206 'dvec2v' ( temp 2-component vector of double) +0:207 add second child into first child ( temp 3-component vector of double) +0:207 'dvec3v' ( temp 3-component vector of double) +0:207 max ( global 3-component vector of double) +0:207 'dvec3v' ( temp 3-component vector of double) +0:207 'dvec3v' ( temp 3-component vector of double) +0:208 add second child into first child ( temp 4-component vector of double) +0:208 'dvec4v' ( temp 4-component vector of double) +0:208 max ( global 4-component vector of double) +0:208 'dvec4v' ( temp 4-component vector of double) +0:208 'dvec4v' ( temp 4-component vector of double) +0:210 add second child into first child ( temp double) +0:210 'doublev' ( temp double) +0:210 clamp ( global double) +0:210 'doublev' ( temp double) +0:210 'doublev' ( temp double) +0:210 'doublev' ( temp double) +0:211 add second child into first child ( temp 2-component vector of double) +0:211 'dvec2v' ( temp 2-component vector of double) +0:211 clamp ( global 2-component vector of double) +0:211 'dvec2v' ( temp 2-component vector of double) +0:211 'doublev' ( temp double) +0:211 'doublev' ( temp double) +0:212 add second child into first child ( temp 3-component vector of double) +0:212 'dvec3v' ( temp 3-component vector of double) +0:212 clamp ( global 3-component vector of double) +0:212 'dvec3v' ( temp 3-component vector of double) +0:212 'doublev' ( temp double) +0:212 'doublev' ( temp double) +0:213 add second child into first child ( temp 4-component vector of double) +0:213 'dvec4v' ( temp 4-component vector of double) +0:213 clamp ( global 4-component vector of double) +0:213 'dvec4v' ( temp 4-component vector of double) +0:213 'doublev' ( temp double) +0:213 'doublev' ( temp double) +0:214 add second child into first child ( temp 2-component vector of double) +0:214 'dvec2v' ( temp 2-component vector of double) +0:214 clamp ( global 2-component vector of double) +0:214 'dvec2v' ( temp 2-component vector of double) +0:214 'dvec2v' ( temp 2-component vector of double) +0:214 'dvec2v' ( temp 2-component vector of double) +0:215 add second child into first child ( temp 3-component vector of double) +0:215 'dvec3v' ( temp 3-component vector of double) +0:215 clamp ( global 3-component vector of double) +0:215 'dvec3v' ( temp 3-component vector of double) +0:215 'dvec3v' ( temp 3-component vector of double) +0:215 'dvec3v' ( temp 3-component vector of double) +0:216 add second child into first child ( temp 4-component vector of double) +0:216 'dvec4v' ( temp 4-component vector of double) +0:216 clamp ( global 4-component vector of double) +0:216 'dvec4v' ( temp 4-component vector of double) +0:216 'dvec4v' ( temp 4-component vector of double) +0:216 'dvec4v' ( temp 4-component vector of double) +0:218 add second child into first child ( temp double) +0:218 'doublev' ( temp double) +0:218 mix ( global double) +0:218 'doublev' ( temp double) +0:218 'doublev' ( temp double) +0:218 'doublev' ( temp double) +0:219 add second child into first child ( temp 2-component vector of double) +0:219 'dvec2v' ( temp 2-component vector of double) +0:219 mix ( global 2-component vector of double) +0:219 'dvec2v' ( temp 2-component vector of double) +0:219 'dvec2v' ( temp 2-component vector of double) +0:219 'doublev' ( temp double) +0:220 add second child into first child ( temp 3-component vector of double) +0:220 'dvec3v' ( temp 3-component vector of double) +0:220 mix ( global 3-component vector of double) +0:220 'dvec3v' ( temp 3-component vector of double) +0:220 'dvec3v' ( temp 3-component vector of double) +0:220 'doublev' ( temp double) +0:221 add second child into first child ( temp 4-component vector of double) +0:221 'dvec4v' ( temp 4-component vector of double) +0:221 mix ( global 4-component vector of double) +0:221 'dvec4v' ( temp 4-component vector of double) +0:221 'dvec4v' ( temp 4-component vector of double) +0:221 'doublev' ( temp double) +0:222 add second child into first child ( temp 2-component vector of double) +0:222 'dvec2v' ( temp 2-component vector of double) +0:222 mix ( global 2-component vector of double) +0:222 'dvec2v' ( temp 2-component vector of double) +0:222 'dvec2v' ( temp 2-component vector of double) +0:222 'dvec2v' ( temp 2-component vector of double) +0:223 add second child into first child ( temp 3-component vector of double) +0:223 'dvec3v' ( temp 3-component vector of double) +0:223 mix ( global 3-component vector of double) +0:223 'dvec3v' ( temp 3-component vector of double) +0:223 'dvec3v' ( temp 3-component vector of double) +0:223 'dvec3v' ( temp 3-component vector of double) +0:224 add second child into first child ( temp 4-component vector of double) +0:224 'dvec4v' ( temp 4-component vector of double) +0:224 mix ( global 4-component vector of double) +0:224 'dvec4v' ( temp 4-component vector of double) +0:224 'dvec4v' ( temp 4-component vector of double) +0:224 'dvec4v' ( temp 4-component vector of double) +0:225 add second child into first child ( temp double) +0:225 'doublev' ( temp double) +0:225 mix ( global double) +0:225 'doublev' ( temp double) +0:225 'doublev' ( temp double) +0:225 'boolv' ( temp bool) +0:226 add second child into first child ( temp 2-component vector of double) +0:226 'dvec2v' ( temp 2-component vector of double) +0:226 mix ( global 2-component vector of double) +0:226 'dvec2v' ( temp 2-component vector of double) +0:226 'dvec2v' ( temp 2-component vector of double) +0:226 'bvec2v' ( temp 2-component vector of bool) +0:227 add second child into first child ( temp 3-component vector of double) +0:227 'dvec3v' ( temp 3-component vector of double) +0:227 mix ( global 3-component vector of double) +0:227 'dvec3v' ( temp 3-component vector of double) +0:227 'dvec3v' ( temp 3-component vector of double) +0:227 'bvec3v' ( temp 3-component vector of bool) +0:228 add second child into first child ( temp 4-component vector of double) +0:228 'dvec4v' ( temp 4-component vector of double) +0:228 mix ( global 4-component vector of double) +0:228 'dvec4v' ( temp 4-component vector of double) +0:228 'dvec4v' ( temp 4-component vector of double) +0:228 'bvec4v' ( temp 4-component vector of bool) +0:230 add second child into first child ( temp double) +0:230 'doublev' ( temp double) +0:230 step ( global double) +0:230 'doublev' ( temp double) +0:230 'doublev' ( temp double) +0:231 add second child into first child ( temp 2-component vector of double) +0:231 'dvec2v' ( temp 2-component vector of double) +0:231 step ( global 2-component vector of double) +0:231 'dvec2v' ( temp 2-component vector of double) +0:231 'dvec2v' ( temp 2-component vector of double) +0:232 add second child into first child ( temp 3-component vector of double) +0:232 'dvec3v' ( temp 3-component vector of double) +0:232 step ( global 3-component vector of double) +0:232 'dvec3v' ( temp 3-component vector of double) +0:232 'dvec3v' ( temp 3-component vector of double) +0:233 add second child into first child ( temp 4-component vector of double) +0:233 'dvec4v' ( temp 4-component vector of double) +0:233 step ( global 4-component vector of double) +0:233 'dvec4v' ( temp 4-component vector of double) +0:233 'dvec4v' ( temp 4-component vector of double) +0:234 add second child into first child ( temp 2-component vector of double) +0:234 'dvec2v' ( temp 2-component vector of double) +0:234 step ( global 2-component vector of double) +0:234 'doublev' ( temp double) +0:234 'dvec2v' ( temp 2-component vector of double) +0:235 add second child into first child ( temp 3-component vector of double) +0:235 'dvec3v' ( temp 3-component vector of double) +0:235 step ( global 3-component vector of double) +0:235 'doublev' ( temp double) +0:235 'dvec3v' ( temp 3-component vector of double) +0:236 add second child into first child ( temp 4-component vector of double) +0:236 'dvec4v' ( temp 4-component vector of double) +0:236 step ( global 4-component vector of double) +0:236 'doublev' ( temp double) +0:236 'dvec4v' ( temp 4-component vector of double) +0:238 add second child into first child ( temp double) +0:238 'doublev' ( temp double) +0:238 smoothstep ( global double) +0:238 'doublev' ( temp double) +0:238 'doublev' ( temp double) +0:238 'doublev' ( temp double) +0:239 add second child into first child ( temp 2-component vector of double) +0:239 'dvec2v' ( temp 2-component vector of double) +0:239 smoothstep ( global 2-component vector of double) +0:239 'dvec2v' ( temp 2-component vector of double) +0:239 'dvec2v' ( temp 2-component vector of double) +0:239 'dvec2v' ( temp 2-component vector of double) +0:240 add second child into first child ( temp 3-component vector of double) +0:240 'dvec3v' ( temp 3-component vector of double) +0:240 smoothstep ( global 3-component vector of double) +0:240 'dvec3v' ( temp 3-component vector of double) +0:240 'dvec3v' ( temp 3-component vector of double) +0:240 'dvec3v' ( temp 3-component vector of double) +0:241 add second child into first child ( temp 4-component vector of double) +0:241 'dvec4v' ( temp 4-component vector of double) +0:241 smoothstep ( global 4-component vector of double) +0:241 'dvec4v' ( temp 4-component vector of double) +0:241 'dvec4v' ( temp 4-component vector of double) +0:241 'dvec4v' ( temp 4-component vector of double) +0:242 add second child into first child ( temp 2-component vector of double) +0:242 'dvec2v' ( temp 2-component vector of double) +0:242 smoothstep ( global 2-component vector of double) +0:242 'doublev' ( temp double) +0:242 'doublev' ( temp double) +0:242 'dvec2v' ( temp 2-component vector of double) +0:243 add second child into first child ( temp 3-component vector of double) +0:243 'dvec3v' ( temp 3-component vector of double) +0:243 smoothstep ( global 3-component vector of double) +0:243 'doublev' ( temp double) +0:243 'doublev' ( temp double) +0:243 'dvec3v' ( temp 3-component vector of double) +0:244 add second child into first child ( temp 4-component vector of double) +0:244 'dvec4v' ( temp 4-component vector of double) +0:244 smoothstep ( global 4-component vector of double) +0:244 'doublev' ( temp double) +0:244 'doublev' ( temp double) +0:244 'dvec4v' ( temp 4-component vector of double) +0:246 move second child to first child ( temp bool) +0:246 'boolv' ( temp bool) +0:246 isnan ( global bool) +0:246 'doublev' ( temp double) +0:247 move second child to first child ( temp 2-component vector of bool) +0:247 'bvec2v' ( temp 2-component vector of bool) +0:247 isnan ( global 2-component vector of bool) +0:247 'dvec2v' ( temp 2-component vector of double) +0:248 move second child to first child ( temp 3-component vector of bool) +0:248 'bvec3v' ( temp 3-component vector of bool) +0:248 isnan ( global 3-component vector of bool) +0:248 'dvec3v' ( temp 3-component vector of double) +0:249 move second child to first child ( temp 4-component vector of bool) +0:249 'bvec4v' ( temp 4-component vector of bool) +0:249 isnan ( global 4-component vector of bool) +0:249 'dvec4v' ( temp 4-component vector of double) +0:251 move second child to first child ( temp bool) +0:251 'boolv' ( temp bool) +0:251 Test condition and select ( temp bool) 0:251 Condition -0:251 'boolv' (temp bool) +0:251 'boolv' ( temp bool) 0:251 true case -0:251 isinf (global bool) -0:251 'doublev' (temp double) +0:251 isinf ( global bool) +0:251 'doublev' ( temp double) 0:251 false case 0:251 Constant: 0:251 false (const bool) -0:252 move second child to first child (temp 2-component vector of bool) -0:252 'bvec2v' (temp 2-component vector of bool) -0:252 Test condition and select (temp 2-component vector of bool) +0:252 move second child to first child ( temp 2-component vector of bool) +0:252 'bvec2v' ( temp 2-component vector of bool) +0:252 Test condition and select ( temp 2-component vector of bool) 0:252 Condition -0:252 'boolv' (temp bool) +0:252 'boolv' ( temp bool) 0:252 true case -0:252 isinf (global 2-component vector of bool) -0:252 'dvec2v' (temp 2-component vector of double) +0:252 isinf ( global 2-component vector of bool) +0:252 'dvec2v' ( temp 2-component vector of double) 0:252 false case 0:252 Constant: 0:252 false (const bool) 0:252 false (const bool) -0:253 move second child to first child (temp 3-component vector of bool) -0:253 'bvec3v' (temp 3-component vector of bool) -0:253 Test condition and select (temp 3-component vector of bool) +0:253 move second child to first child ( temp 3-component vector of bool) +0:253 'bvec3v' ( temp 3-component vector of bool) +0:253 Test condition and select ( temp 3-component vector of bool) 0:253 Condition -0:253 'boolv' (temp bool) +0:253 'boolv' ( temp bool) 0:253 true case -0:253 isinf (global 3-component vector of bool) -0:253 'dvec3v' (temp 3-component vector of double) +0:253 isinf ( global 3-component vector of bool) +0:253 'dvec3v' ( temp 3-component vector of double) 0:253 false case 0:253 Constant: 0:253 false (const bool) 0:253 false (const bool) 0:253 false (const bool) -0:254 move second child to first child (temp 4-component vector of bool) -0:254 'bvec4v' (temp 4-component vector of bool) -0:254 Test condition and select (temp 4-component vector of bool) +0:254 move second child to first child ( temp 4-component vector of bool) +0:254 'bvec4v' ( temp 4-component vector of bool) +0:254 Test condition and select ( temp 4-component vector of bool) 0:254 Condition -0:254 'boolv' (temp bool) +0:254 'boolv' ( temp bool) 0:254 true case -0:254 isinf (global 4-component vector of bool) -0:254 'dvec4v' (temp 4-component vector of double) +0:254 isinf ( global 4-component vector of bool) +0:254 'dvec4v' ( temp 4-component vector of double) 0:254 false case 0:254 Constant: 0:254 false (const bool) 0:254 false (const bool) 0:254 false (const bool) 0:254 false (const bool) -0:256 add second child into first child (temp double) -0:256 'doublev' (temp double) -0:256 length (global double) -0:256 'doublev' (temp double) -0:257 add second child into first child (temp double) -0:257 'doublev' (temp double) -0:257 length (global double) -0:257 'dvec2v' (temp 2-component vector of double) -0:258 add second child into first child (temp double) -0:258 'doublev' (temp double) -0:258 length (global double) -0:258 'dvec3v' (temp 3-component vector of double) -0:259 add second child into first child (temp double) -0:259 'doublev' (temp double) -0:259 length (global double) -0:259 'dvec4v' (temp 4-component vector of double) -0:261 add second child into first child (temp double) -0:261 'doublev' (temp double) -0:261 distance (global double) -0:261 'doublev' (temp double) -0:261 'doublev' (temp double) -0:262 add second child into first child (temp double) -0:262 'doublev' (temp double) -0:262 distance (global double) -0:262 'dvec2v' (temp 2-component vector of double) -0:262 'dvec2v' (temp 2-component vector of double) -0:263 add second child into first child (temp double) -0:263 'doublev' (temp double) -0:263 distance (global double) -0:263 'dvec3v' (temp 3-component vector of double) -0:263 'dvec3v' (temp 3-component vector of double) -0:264 add second child into first child (temp double) -0:264 'doublev' (temp double) -0:264 distance (global double) -0:264 'dvec4v' (temp 4-component vector of double) -0:264 'dvec4v' (temp 4-component vector of double) -0:266 add second child into first child (temp double) -0:266 'doublev' (temp double) -0:266 dot-product (global double) -0:266 'doublev' (temp double) -0:266 'doublev' (temp double) -0:267 add second child into first child (temp double) -0:267 'doublev' (temp double) -0:267 dot-product (global double) -0:267 'dvec2v' (temp 2-component vector of double) -0:267 'dvec2v' (temp 2-component vector of double) -0:268 add second child into first child (temp double) -0:268 'doublev' (temp double) -0:268 dot-product (global double) -0:268 'dvec3v' (temp 3-component vector of double) -0:268 'dvec3v' (temp 3-component vector of double) -0:269 add second child into first child (temp double) -0:269 'doublev' (temp double) -0:269 dot-product (global double) -0:269 'dvec4v' (temp 4-component vector of double) -0:269 'dvec4v' (temp 4-component vector of double) -0:271 add second child into first child (temp 3-component vector of double) -0:271 'dvec3v' (temp 3-component vector of double) -0:271 cross-product (global 3-component vector of double) -0:271 'dvec3v' (temp 3-component vector of double) -0:271 'dvec3v' (temp 3-component vector of double) -0:273 add second child into first child (temp double) -0:273 'doublev' (temp double) -0:273 normalize (global double) -0:273 'doublev' (temp double) -0:274 add second child into first child (temp 2-component vector of double) -0:274 'dvec2v' (temp 2-component vector of double) -0:274 normalize (global 2-component vector of double) -0:274 'dvec2v' (temp 2-component vector of double) -0:275 add second child into first child (temp 3-component vector of double) -0:275 'dvec3v' (temp 3-component vector of double) -0:275 normalize (global 3-component vector of double) -0:275 'dvec3v' (temp 3-component vector of double) -0:276 add second child into first child (temp 4-component vector of double) -0:276 'dvec4v' (temp 4-component vector of double) -0:276 normalize (global 4-component vector of double) -0:276 'dvec4v' (temp 4-component vector of double) -0:278 add second child into first child (temp double) -0:278 'doublev' (temp double) -0:278 face-forward (global double) -0:278 'doublev' (temp double) -0:278 'doublev' (temp double) -0:278 'doublev' (temp double) -0:279 add second child into first child (temp 2-component vector of double) -0:279 'dvec2v' (temp 2-component vector of double) -0:279 face-forward (global 2-component vector of double) -0:279 'dvec2v' (temp 2-component vector of double) -0:279 'dvec2v' (temp 2-component vector of double) -0:279 'dvec2v' (temp 2-component vector of double) -0:280 add second child into first child (temp 3-component vector of double) -0:280 'dvec3v' (temp 3-component vector of double) -0:280 face-forward (global 3-component vector of double) -0:280 'dvec3v' (temp 3-component vector of double) -0:280 'dvec3v' (temp 3-component vector of double) -0:280 'dvec3v' (temp 3-component vector of double) -0:281 add second child into first child (temp 4-component vector of double) -0:281 'dvec4v' (temp 4-component vector of double) -0:281 face-forward (global 4-component vector of double) -0:281 'dvec4v' (temp 4-component vector of double) -0:281 'dvec4v' (temp 4-component vector of double) -0:281 'dvec4v' (temp 4-component vector of double) -0:283 add second child into first child (temp double) -0:283 'doublev' (temp double) -0:283 reflect (global double) -0:283 'doublev' (temp double) -0:283 'doublev' (temp double) -0:284 add second child into first child (temp 2-component vector of double) -0:284 'dvec2v' (temp 2-component vector of double) -0:284 reflect (global 2-component vector of double) -0:284 'dvec2v' (temp 2-component vector of double) -0:284 'dvec2v' (temp 2-component vector of double) -0:285 add second child into first child (temp 3-component vector of double) -0:285 'dvec3v' (temp 3-component vector of double) -0:285 reflect (global 3-component vector of double) -0:285 'dvec3v' (temp 3-component vector of double) -0:285 'dvec3v' (temp 3-component vector of double) -0:286 add second child into first child (temp 4-component vector of double) -0:286 'dvec4v' (temp 4-component vector of double) -0:286 reflect (global 4-component vector of double) -0:286 'dvec4v' (temp 4-component vector of double) -0:286 'dvec4v' (temp 4-component vector of double) -0:288 add second child into first child (temp double) -0:288 'doublev' (temp double) -0:288 refract (global double) -0:288 'doublev' (temp double) -0:288 'doublev' (temp double) -0:288 'doublev' (temp double) -0:289 add second child into first child (temp 2-component vector of double) -0:289 'dvec2v' (temp 2-component vector of double) -0:289 refract (global 2-component vector of double) -0:289 'dvec2v' (temp 2-component vector of double) -0:289 'dvec2v' (temp 2-component vector of double) -0:289 'doublev' (temp double) -0:290 add second child into first child (temp 3-component vector of double) -0:290 'dvec3v' (temp 3-component vector of double) -0:290 refract (global 3-component vector of double) -0:290 'dvec3v' (temp 3-component vector of double) -0:290 'dvec3v' (temp 3-component vector of double) -0:290 'doublev' (temp double) -0:291 add second child into first child (temp 4-component vector of double) -0:291 'dvec4v' (temp 4-component vector of double) -0:291 refract (global 4-component vector of double) -0:291 'dvec4v' (temp 4-component vector of double) -0:291 'dvec4v' (temp 4-component vector of double) -0:291 'doublev' (temp double) +0:256 add second child into first child ( temp double) +0:256 'doublev' ( temp double) +0:256 length ( global double) +0:256 'doublev' ( temp double) +0:257 add second child into first child ( temp double) +0:257 'doublev' ( temp double) +0:257 length ( global double) +0:257 'dvec2v' ( temp 2-component vector of double) +0:258 add second child into first child ( temp double) +0:258 'doublev' ( temp double) +0:258 length ( global double) +0:258 'dvec3v' ( temp 3-component vector of double) +0:259 add second child into first child ( temp double) +0:259 'doublev' ( temp double) +0:259 length ( global double) +0:259 'dvec4v' ( temp 4-component vector of double) +0:261 add second child into first child ( temp double) +0:261 'doublev' ( temp double) +0:261 distance ( global double) +0:261 'doublev' ( temp double) +0:261 'doublev' ( temp double) +0:262 add second child into first child ( temp double) +0:262 'doublev' ( temp double) +0:262 distance ( global double) +0:262 'dvec2v' ( temp 2-component vector of double) +0:262 'dvec2v' ( temp 2-component vector of double) +0:263 add second child into first child ( temp double) +0:263 'doublev' ( temp double) +0:263 distance ( global double) +0:263 'dvec3v' ( temp 3-component vector of double) +0:263 'dvec3v' ( temp 3-component vector of double) +0:264 add second child into first child ( temp double) +0:264 'doublev' ( temp double) +0:264 distance ( global double) +0:264 'dvec4v' ( temp 4-component vector of double) +0:264 'dvec4v' ( temp 4-component vector of double) +0:266 add second child into first child ( temp double) +0:266 'doublev' ( temp double) +0:266 dot-product ( global double) +0:266 'doublev' ( temp double) +0:266 'doublev' ( temp double) +0:267 add second child into first child ( temp double) +0:267 'doublev' ( temp double) +0:267 dot-product ( global double) +0:267 'dvec2v' ( temp 2-component vector of double) +0:267 'dvec2v' ( temp 2-component vector of double) +0:268 add second child into first child ( temp double) +0:268 'doublev' ( temp double) +0:268 dot-product ( global double) +0:268 'dvec3v' ( temp 3-component vector of double) +0:268 'dvec3v' ( temp 3-component vector of double) +0:269 add second child into first child ( temp double) +0:269 'doublev' ( temp double) +0:269 dot-product ( global double) +0:269 'dvec4v' ( temp 4-component vector of double) +0:269 'dvec4v' ( temp 4-component vector of double) +0:271 add second child into first child ( temp 3-component vector of double) +0:271 'dvec3v' ( temp 3-component vector of double) +0:271 cross-product ( global 3-component vector of double) +0:271 'dvec3v' ( temp 3-component vector of double) +0:271 'dvec3v' ( temp 3-component vector of double) +0:273 add second child into first child ( temp double) +0:273 'doublev' ( temp double) +0:273 normalize ( global double) +0:273 'doublev' ( temp double) +0:274 add second child into first child ( temp 2-component vector of double) +0:274 'dvec2v' ( temp 2-component vector of double) +0:274 normalize ( global 2-component vector of double) +0:274 'dvec2v' ( temp 2-component vector of double) +0:275 add second child into first child ( temp 3-component vector of double) +0:275 'dvec3v' ( temp 3-component vector of double) +0:275 normalize ( global 3-component vector of double) +0:275 'dvec3v' ( temp 3-component vector of double) +0:276 add second child into first child ( temp 4-component vector of double) +0:276 'dvec4v' ( temp 4-component vector of double) +0:276 normalize ( global 4-component vector of double) +0:276 'dvec4v' ( temp 4-component vector of double) +0:278 add second child into first child ( temp double) +0:278 'doublev' ( temp double) +0:278 face-forward ( global double) +0:278 'doublev' ( temp double) +0:278 'doublev' ( temp double) +0:278 'doublev' ( temp double) +0:279 add second child into first child ( temp 2-component vector of double) +0:279 'dvec2v' ( temp 2-component vector of double) +0:279 face-forward ( global 2-component vector of double) +0:279 'dvec2v' ( temp 2-component vector of double) +0:279 'dvec2v' ( temp 2-component vector of double) +0:279 'dvec2v' ( temp 2-component vector of double) +0:280 add second child into first child ( temp 3-component vector of double) +0:280 'dvec3v' ( temp 3-component vector of double) +0:280 face-forward ( global 3-component vector of double) +0:280 'dvec3v' ( temp 3-component vector of double) +0:280 'dvec3v' ( temp 3-component vector of double) +0:280 'dvec3v' ( temp 3-component vector of double) +0:281 add second child into first child ( temp 4-component vector of double) +0:281 'dvec4v' ( temp 4-component vector of double) +0:281 face-forward ( global 4-component vector of double) +0:281 'dvec4v' ( temp 4-component vector of double) +0:281 'dvec4v' ( temp 4-component vector of double) +0:281 'dvec4v' ( temp 4-component vector of double) +0:283 add second child into first child ( temp double) +0:283 'doublev' ( temp double) +0:283 reflect ( global double) +0:283 'doublev' ( temp double) +0:283 'doublev' ( temp double) +0:284 add second child into first child ( temp 2-component vector of double) +0:284 'dvec2v' ( temp 2-component vector of double) +0:284 reflect ( global 2-component vector of double) +0:284 'dvec2v' ( temp 2-component vector of double) +0:284 'dvec2v' ( temp 2-component vector of double) +0:285 add second child into first child ( temp 3-component vector of double) +0:285 'dvec3v' ( temp 3-component vector of double) +0:285 reflect ( global 3-component vector of double) +0:285 'dvec3v' ( temp 3-component vector of double) +0:285 'dvec3v' ( temp 3-component vector of double) +0:286 add second child into first child ( temp 4-component vector of double) +0:286 'dvec4v' ( temp 4-component vector of double) +0:286 reflect ( global 4-component vector of double) +0:286 'dvec4v' ( temp 4-component vector of double) +0:286 'dvec4v' ( temp 4-component vector of double) +0:288 add second child into first child ( temp double) +0:288 'doublev' ( temp double) +0:288 refract ( global double) +0:288 'doublev' ( temp double) +0:288 'doublev' ( temp double) +0:288 'doublev' ( temp double) +0:289 add second child into first child ( temp 2-component vector of double) +0:289 'dvec2v' ( temp 2-component vector of double) +0:289 refract ( global 2-component vector of double) +0:289 'dvec2v' ( temp 2-component vector of double) +0:289 'dvec2v' ( temp 2-component vector of double) +0:289 'doublev' ( temp double) +0:290 add second child into first child ( temp 3-component vector of double) +0:290 'dvec3v' ( temp 3-component vector of double) +0:290 refract ( global 3-component vector of double) +0:290 'dvec3v' ( temp 3-component vector of double) +0:290 'dvec3v' ( temp 3-component vector of double) +0:290 'doublev' ( temp double) +0:291 add second child into first child ( temp 4-component vector of double) +0:291 'dvec4v' ( temp 4-component vector of double) +0:291 refract ( global 4-component vector of double) +0:291 'dvec4v' ( temp 4-component vector of double) +0:291 'dvec4v' ( temp 4-component vector of double) +0:291 'doublev' ( temp double) 0:293 Sequence -0:293 move second child to first child (temp 2X2 matrix of double) -0:293 'dmat2v' (temp 2X2 matrix of double) -0:293 outer product (global 2X2 matrix of double) -0:293 'dvec2v' (temp 2-component vector of double) -0:293 'dvec2v' (temp 2-component vector of double) +0:293 move second child to first child ( temp 2X2 matrix of double) +0:293 'dmat2v' ( temp 2X2 matrix of double) +0:293 outer product ( global 2X2 matrix of double) +0:293 'dvec2v' ( temp 2-component vector of double) +0:293 'dvec2v' ( temp 2-component vector of double) 0:294 Sequence -0:294 move second child to first child (temp 3X3 matrix of double) -0:294 'dmat3v' (temp 3X3 matrix of double) -0:294 outer product (global 3X3 matrix of double) -0:294 'dvec3v' (temp 3-component vector of double) -0:294 'dvec3v' (temp 3-component vector of double) +0:294 move second child to first child ( temp 3X3 matrix of double) +0:294 'dmat3v' ( temp 3X3 matrix of double) +0:294 outer product ( global 3X3 matrix of double) +0:294 'dvec3v' ( temp 3-component vector of double) +0:294 'dvec3v' ( temp 3-component vector of double) 0:295 Sequence -0:295 move second child to first child (temp 4X4 matrix of double) -0:295 'dmat4v' (temp 4X4 matrix of double) -0:295 outer product (global 4X4 matrix of double) -0:295 'dvec4v' (temp 4-component vector of double) -0:295 'dvec4v' (temp 4-component vector of double) +0:295 move second child to first child ( temp 4X4 matrix of double) +0:295 'dmat4v' ( temp 4X4 matrix of double) +0:295 outer product ( global 4X4 matrix of double) +0:295 'dvec4v' ( temp 4-component vector of double) +0:295 'dvec4v' ( temp 4-component vector of double) 0:296 Sequence -0:296 move second child to first child (temp 2X3 matrix of double) -0:296 'dmat2x3v' (temp 2X3 matrix of double) -0:296 outer product (global 2X3 matrix of double) -0:296 'dvec3v' (temp 3-component vector of double) -0:296 'dvec2v' (temp 2-component vector of double) +0:296 move second child to first child ( temp 2X3 matrix of double) +0:296 'dmat2x3v' ( temp 2X3 matrix of double) +0:296 outer product ( global 2X3 matrix of double) +0:296 'dvec3v' ( temp 3-component vector of double) +0:296 'dvec2v' ( temp 2-component vector of double) 0:297 Sequence -0:297 move second child to first child (temp 3X2 matrix of double) -0:297 'dmat3x2v' (temp 3X2 matrix of double) -0:297 outer product (global 3X2 matrix of double) -0:297 'dvec2v' (temp 2-component vector of double) -0:297 'dvec3v' (temp 3-component vector of double) +0:297 move second child to first child ( temp 3X2 matrix of double) +0:297 'dmat3x2v' ( temp 3X2 matrix of double) +0:297 outer product ( global 3X2 matrix of double) +0:297 'dvec2v' ( temp 2-component vector of double) +0:297 'dvec3v' ( temp 3-component vector of double) 0:298 Sequence -0:298 move second child to first child (temp 2X4 matrix of double) -0:298 'dmat2x4v' (temp 2X4 matrix of double) -0:298 outer product (global 2X4 matrix of double) -0:298 'dvec4v' (temp 4-component vector of double) -0:298 'dvec2v' (temp 2-component vector of double) +0:298 move second child to first child ( temp 2X4 matrix of double) +0:298 'dmat2x4v' ( temp 2X4 matrix of double) +0:298 outer product ( global 2X4 matrix of double) +0:298 'dvec4v' ( temp 4-component vector of double) +0:298 'dvec2v' ( temp 2-component vector of double) 0:299 Sequence -0:299 move second child to first child (temp 4X2 matrix of double) -0:299 'dmat4x2v' (temp 4X2 matrix of double) -0:299 outer product (global 4X2 matrix of double) -0:299 'dvec2v' (temp 2-component vector of double) -0:299 'dvec4v' (temp 4-component vector of double) +0:299 move second child to first child ( temp 4X2 matrix of double) +0:299 'dmat4x2v' ( temp 4X2 matrix of double) +0:299 outer product ( global 4X2 matrix of double) +0:299 'dvec2v' ( temp 2-component vector of double) +0:299 'dvec4v' ( temp 4-component vector of double) 0:300 Sequence -0:300 move second child to first child (temp 3X4 matrix of double) -0:300 'dmat3x4v' (temp 3X4 matrix of double) -0:300 outer product (global 3X4 matrix of double) -0:300 'dvec4v' (temp 4-component vector of double) -0:300 'dvec3v' (temp 3-component vector of double) +0:300 move second child to first child ( temp 3X4 matrix of double) +0:300 'dmat3x4v' ( temp 3X4 matrix of double) +0:300 outer product ( global 3X4 matrix of double) +0:300 'dvec4v' ( temp 4-component vector of double) +0:300 'dvec3v' ( temp 3-component vector of double) 0:301 Sequence -0:301 move second child to first child (temp 4X3 matrix of double) -0:301 'dmat4x3v' (temp 4X3 matrix of double) -0:301 outer product (global 4X3 matrix of double) -0:301 'dvec3v' (temp 3-component vector of double) -0:301 'dvec4v' (temp 4-component vector of double) -0:303 matrix mult second child into first child (temp 2X2 matrix of double) -0:303 'dmat2v' (temp 2X2 matrix of double) -0:303 component-wise multiply (global 2X2 matrix of double) -0:303 'dmat2v' (temp 2X2 matrix of double) -0:303 'dmat2v' (temp 2X2 matrix of double) -0:304 matrix mult second child into first child (temp 3X3 matrix of double) -0:304 'dmat3v' (temp 3X3 matrix of double) -0:304 component-wise multiply (global 3X3 matrix of double) -0:304 'dmat3v' (temp 3X3 matrix of double) -0:304 'dmat3v' (temp 3X3 matrix of double) -0:305 matrix mult second child into first child (temp 4X4 matrix of double) -0:305 'dmat4v' (temp 4X4 matrix of double) -0:305 component-wise multiply (global 4X4 matrix of double) -0:305 'dmat4v' (temp 4X4 matrix of double) -0:305 'dmat4v' (temp 4X4 matrix of double) -0:306 move second child to first child (temp 2X3 matrix of double) -0:306 'dmat2x3v' (temp 2X3 matrix of double) -0:306 component-wise multiply (global 2X3 matrix of double) -0:306 'dmat2x3v' (temp 2X3 matrix of double) -0:306 'dmat2x3v' (temp 2X3 matrix of double) -0:307 move second child to first child (temp 2X4 matrix of double) -0:307 'dmat2x4v' (temp 2X4 matrix of double) -0:307 component-wise multiply (global 2X4 matrix of double) -0:307 'dmat2x4v' (temp 2X4 matrix of double) -0:307 'dmat2x4v' (temp 2X4 matrix of double) -0:308 move second child to first child (temp 3X2 matrix of double) -0:308 'dmat3x2v' (temp 3X2 matrix of double) -0:308 component-wise multiply (global 3X2 matrix of double) -0:308 'dmat3x2v' (temp 3X2 matrix of double) -0:308 'dmat3x2v' (temp 3X2 matrix of double) -0:309 move second child to first child (temp 3X4 matrix of double) -0:309 'dmat3x4v' (temp 3X4 matrix of double) -0:309 component-wise multiply (global 3X4 matrix of double) -0:309 'dmat3x4v' (temp 3X4 matrix of double) -0:309 'dmat3x4v' (temp 3X4 matrix of double) -0:310 move second child to first child (temp 4X2 matrix of double) -0:310 'dmat4x2v' (temp 4X2 matrix of double) -0:310 component-wise multiply (global 4X2 matrix of double) -0:310 'dmat4x2v' (temp 4X2 matrix of double) -0:310 'dmat4x2v' (temp 4X2 matrix of double) -0:311 move second child to first child (temp 4X3 matrix of double) -0:311 'dmat4x3v' (temp 4X3 matrix of double) -0:311 component-wise multiply (global 4X3 matrix of double) -0:311 'dmat4x3v' (temp 4X3 matrix of double) -0:311 'dmat4x3v' (temp 4X3 matrix of double) -0:313 matrix mult second child into first child (temp 2X2 matrix of double) -0:313 'dmat2v' (temp 2X2 matrix of double) -0:313 transpose (global 2X2 matrix of double) -0:313 'dmat2v' (temp 2X2 matrix of double) -0:314 matrix mult second child into first child (temp 3X3 matrix of double) -0:314 'dmat3v' (temp 3X3 matrix of double) -0:314 transpose (global 3X3 matrix of double) -0:314 'dmat3v' (temp 3X3 matrix of double) -0:315 matrix mult second child into first child (temp 4X4 matrix of double) -0:315 'dmat4v' (temp 4X4 matrix of double) -0:315 transpose (global 4X4 matrix of double) -0:315 'dmat4v' (temp 4X4 matrix of double) -0:316 move second child to first child (temp 2X3 matrix of double) -0:316 'dmat2x3v' (temp 2X3 matrix of double) -0:316 transpose (global 2X3 matrix of double) -0:316 'dmat3x2v' (temp 3X2 matrix of double) -0:317 move second child to first child (temp 3X2 matrix of double) -0:317 'dmat3x2v' (temp 3X2 matrix of double) -0:317 transpose (global 3X2 matrix of double) -0:317 'dmat2x3v' (temp 2X3 matrix of double) -0:318 move second child to first child (temp 2X4 matrix of double) -0:318 'dmat2x4v' (temp 2X4 matrix of double) -0:318 transpose (global 2X4 matrix of double) -0:318 'dmat4x2v' (temp 4X2 matrix of double) -0:319 move second child to first child (temp 4X2 matrix of double) -0:319 'dmat4x2v' (temp 4X2 matrix of double) -0:319 transpose (global 4X2 matrix of double) -0:319 'dmat2x4v' (temp 2X4 matrix of double) -0:320 move second child to first child (temp 3X4 matrix of double) -0:320 'dmat3x4v' (temp 3X4 matrix of double) -0:320 transpose (global 3X4 matrix of double) -0:320 'dmat4x3v' (temp 4X3 matrix of double) -0:321 move second child to first child (temp 4X3 matrix of double) -0:321 'dmat4x3v' (temp 4X3 matrix of double) -0:321 transpose (global 4X3 matrix of double) -0:321 'dmat3x4v' (temp 3X4 matrix of double) -0:323 add second child into first child (temp double) -0:323 'doublev' (temp double) -0:323 determinant (global double) -0:323 'dmat2v' (temp 2X2 matrix of double) -0:324 add second child into first child (temp double) -0:324 'doublev' (temp double) -0:324 determinant (global double) -0:324 'dmat3v' (temp 3X3 matrix of double) -0:325 add second child into first child (temp double) -0:325 'doublev' (temp double) -0:325 determinant (global double) -0:325 'dmat4v' (temp 4X4 matrix of double) -0:327 matrix mult second child into first child (temp 2X2 matrix of double) -0:327 'dmat2v' (temp 2X2 matrix of double) -0:327 inverse (global 2X2 matrix of double) -0:327 'dmat2v' (temp 2X2 matrix of double) -0:328 matrix mult second child into first child (temp 3X3 matrix of double) -0:328 'dmat3v' (temp 3X3 matrix of double) -0:328 inverse (global 3X3 matrix of double) -0:328 'dmat3v' (temp 3X3 matrix of double) -0:329 matrix mult second child into first child (temp 4X4 matrix of double) -0:329 'dmat4v' (temp 4X4 matrix of double) -0:329 inverse (global 4X4 matrix of double) -0:329 'dmat4v' (temp 4X4 matrix of double) +0:301 move second child to first child ( temp 4X3 matrix of double) +0:301 'dmat4x3v' ( temp 4X3 matrix of double) +0:301 outer product ( global 4X3 matrix of double) +0:301 'dvec3v' ( temp 3-component vector of double) +0:301 'dvec4v' ( temp 4-component vector of double) +0:303 matrix mult second child into first child ( temp 2X2 matrix of double) +0:303 'dmat2v' ( temp 2X2 matrix of double) +0:303 component-wise multiply ( global 2X2 matrix of double) +0:303 'dmat2v' ( temp 2X2 matrix of double) +0:303 'dmat2v' ( temp 2X2 matrix of double) +0:304 matrix mult second child into first child ( temp 3X3 matrix of double) +0:304 'dmat3v' ( temp 3X3 matrix of double) +0:304 component-wise multiply ( global 3X3 matrix of double) +0:304 'dmat3v' ( temp 3X3 matrix of double) +0:304 'dmat3v' ( temp 3X3 matrix of double) +0:305 matrix mult second child into first child ( temp 4X4 matrix of double) +0:305 'dmat4v' ( temp 4X4 matrix of double) +0:305 component-wise multiply ( global 4X4 matrix of double) +0:305 'dmat4v' ( temp 4X4 matrix of double) +0:305 'dmat4v' ( temp 4X4 matrix of double) +0:306 move second child to first child ( temp 2X3 matrix of double) +0:306 'dmat2x3v' ( temp 2X3 matrix of double) +0:306 component-wise multiply ( global 2X3 matrix of double) +0:306 'dmat2x3v' ( temp 2X3 matrix of double) +0:306 'dmat2x3v' ( temp 2X3 matrix of double) +0:307 move second child to first child ( temp 2X4 matrix of double) +0:307 'dmat2x4v' ( temp 2X4 matrix of double) +0:307 component-wise multiply ( global 2X4 matrix of double) +0:307 'dmat2x4v' ( temp 2X4 matrix of double) +0:307 'dmat2x4v' ( temp 2X4 matrix of double) +0:308 move second child to first child ( temp 3X2 matrix of double) +0:308 'dmat3x2v' ( temp 3X2 matrix of double) +0:308 component-wise multiply ( global 3X2 matrix of double) +0:308 'dmat3x2v' ( temp 3X2 matrix of double) +0:308 'dmat3x2v' ( temp 3X2 matrix of double) +0:309 move second child to first child ( temp 3X4 matrix of double) +0:309 'dmat3x4v' ( temp 3X4 matrix of double) +0:309 component-wise multiply ( global 3X4 matrix of double) +0:309 'dmat3x4v' ( temp 3X4 matrix of double) +0:309 'dmat3x4v' ( temp 3X4 matrix of double) +0:310 move second child to first child ( temp 4X2 matrix of double) +0:310 'dmat4x2v' ( temp 4X2 matrix of double) +0:310 component-wise multiply ( global 4X2 matrix of double) +0:310 'dmat4x2v' ( temp 4X2 matrix of double) +0:310 'dmat4x2v' ( temp 4X2 matrix of double) +0:311 move second child to first child ( temp 4X3 matrix of double) +0:311 'dmat4x3v' ( temp 4X3 matrix of double) +0:311 component-wise multiply ( global 4X3 matrix of double) +0:311 'dmat4x3v' ( temp 4X3 matrix of double) +0:311 'dmat4x3v' ( temp 4X3 matrix of double) +0:313 matrix mult second child into first child ( temp 2X2 matrix of double) +0:313 'dmat2v' ( temp 2X2 matrix of double) +0:313 transpose ( global 2X2 matrix of double) +0:313 'dmat2v' ( temp 2X2 matrix of double) +0:314 matrix mult second child into first child ( temp 3X3 matrix of double) +0:314 'dmat3v' ( temp 3X3 matrix of double) +0:314 transpose ( global 3X3 matrix of double) +0:314 'dmat3v' ( temp 3X3 matrix of double) +0:315 matrix mult second child into first child ( temp 4X4 matrix of double) +0:315 'dmat4v' ( temp 4X4 matrix of double) +0:315 transpose ( global 4X4 matrix of double) +0:315 'dmat4v' ( temp 4X4 matrix of double) +0:316 move second child to first child ( temp 2X3 matrix of double) +0:316 'dmat2x3v' ( temp 2X3 matrix of double) +0:316 transpose ( global 2X3 matrix of double) +0:316 'dmat3x2v' ( temp 3X2 matrix of double) +0:317 move second child to first child ( temp 3X2 matrix of double) +0:317 'dmat3x2v' ( temp 3X2 matrix of double) +0:317 transpose ( global 3X2 matrix of double) +0:317 'dmat2x3v' ( temp 2X3 matrix of double) +0:318 move second child to first child ( temp 2X4 matrix of double) +0:318 'dmat2x4v' ( temp 2X4 matrix of double) +0:318 transpose ( global 2X4 matrix of double) +0:318 'dmat4x2v' ( temp 4X2 matrix of double) +0:319 move second child to first child ( temp 4X2 matrix of double) +0:319 'dmat4x2v' ( temp 4X2 matrix of double) +0:319 transpose ( global 4X2 matrix of double) +0:319 'dmat2x4v' ( temp 2X4 matrix of double) +0:320 move second child to first child ( temp 3X4 matrix of double) +0:320 'dmat3x4v' ( temp 3X4 matrix of double) +0:320 transpose ( global 3X4 matrix of double) +0:320 'dmat4x3v' ( temp 4X3 matrix of double) +0:321 move second child to first child ( temp 4X3 matrix of double) +0:321 'dmat4x3v' ( temp 4X3 matrix of double) +0:321 transpose ( global 4X3 matrix of double) +0:321 'dmat3x4v' ( temp 3X4 matrix of double) +0:323 add second child into first child ( temp double) +0:323 'doublev' ( temp double) +0:323 determinant ( global double) +0:323 'dmat2v' ( temp 2X2 matrix of double) +0:324 add second child into first child ( temp double) +0:324 'doublev' ( temp double) +0:324 determinant ( global double) +0:324 'dmat3v' ( temp 3X3 matrix of double) +0:325 add second child into first child ( temp double) +0:325 'doublev' ( temp double) +0:325 determinant ( global double) +0:325 'dmat4v' ( temp 4X4 matrix of double) +0:327 matrix mult second child into first child ( temp 2X2 matrix of double) +0:327 'dmat2v' ( temp 2X2 matrix of double) +0:327 inverse ( global 2X2 matrix of double) +0:327 'dmat2v' ( temp 2X2 matrix of double) +0:328 matrix mult second child into first child ( temp 3X3 matrix of double) +0:328 'dmat3v' ( temp 3X3 matrix of double) +0:328 inverse ( global 3X3 matrix of double) +0:328 'dmat3v' ( temp 3X3 matrix of double) +0:329 matrix mult second child into first child ( temp 4X4 matrix of double) +0:329 'dmat4v' ( temp 4X4 matrix of double) +0:329 inverse ( global 4X4 matrix of double) +0:329 'dmat4v' ( temp 4X4 matrix of double) 0:? Linker Objects -0:? 'bn' (in 3-element array of block{in int a}) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) -0:? 'color' (in 3-element array of 4-component vector of float) -0:? 'color2' (in 3-element array of 4-component vector of float) -0:? 'colorS' (in 3-element array of 4-component vector of float) -0:? 'colorBad' (in 4-element array of 4-component vector of float) -0:? 'colorbad2' (in 2-element array of 4-component vector of float) -0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float) -0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float) -0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float) -0:? 'patchIn' (patch in 3-element array of 4-component vector of float) -0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float) -0:? 'scalar' (in float) -0:? 'inbls' (in block{in int a}) -0:? 'inbla' (in 17-element array of block{in int a}) -0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp2Ds' (uniform sampler2DShadow) +0:? 'bn' ( in 3-element array of block{ in int a}) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) +0:? 'color' ( in 3-element array of 4-component vector of float) +0:? 'color2' ( in 3-element array of 4-component vector of float) +0:? 'colorS' ( in 3-element array of 4-component vector of float) +0:? 'colorBad' ( in 4-element array of 4-component vector of float) +0:? 'colorbad2' ( in 2-element array of 4-component vector of float) +0:? 'cva' (layout( location=4) in 3-element array of 4-component vector of float) +0:? 'cvb' (layout( location=5) in 3-element array of 4-component vector of float) +0:? 'cmc' (layout( location=2) in 3-element array of 3X3 matrix of float) +0:? 'patchIn' ( patch in 3-element array of 4-component vector of float) +0:? 'patchOut' (layout( stream=0) patch out 4-component vector of float) +0:? 'scalar' ( in float) +0:? 'inbls' ( in block{ in int a}) +0:? 'inbla' ( in 17-element array of block{ in int a}) +0:? 'indexedOut' (layout( location=7 stream=0) out 4-component vector of float) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp2Ds' ( uniform sampler2DShadow) Linked geometry stage: @@ -1055,38 +1055,38 @@ max_vertices = 127 input primitive = triangles output primitive = none ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence -0:5 EmitStreamVertex (global void) +0:5 EmitStreamVertex ( global void) 0:5 Constant: 0:5 1 (const int) -0:6 EndStreamPrimitive (global void) +0:6 EndStreamPrimitive ( global void) 0:6 Constant: 0:6 0 (const int) -0:7 EmitVertex (global void) -0:8 EndPrimitive (global void) +0:7 EmitVertex ( global void) +0:8 EndPrimitive ( global void) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'id' (temp int) -0:9 'gl_InvocationID' (in int InvocationID) +0:9 move second child to first child ( temp int) +0:9 'id' ( temp int) +0:9 'gl_InvocationID' ( in int InvocationID) 0:? Linker Objects -0:? 'bn' (in 3-element array of block{in int a}) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) -0:? 'color' (in 3-element array of 4-component vector of float) -0:? 'color2' (in 3-element array of 4-component vector of float) -0:? 'colorS' (in 3-element array of 4-component vector of float) -0:? 'colorBad' (in 4-element array of 4-component vector of float) -0:? 'colorbad2' (in 2-element array of 4-component vector of float) -0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float) -0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float) -0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float) -0:? 'patchIn' (patch in 3-element array of 4-component vector of float) -0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float) -0:? 'scalar' (in float) -0:? 'inbls' (in block{in int a}) -0:? 'inbla' (in 17-element array of block{in int a}) -0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp2Ds' (uniform sampler2DShadow) +0:? 'bn' ( in 3-element array of block{ in int a}) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize}) +0:? 'color' ( in 3-element array of 4-component vector of float) +0:? 'color2' ( in 3-element array of 4-component vector of float) +0:? 'colorS' ( in 3-element array of 4-component vector of float) +0:? 'colorBad' ( in 4-element array of 4-component vector of float) +0:? 'colorbad2' ( in 2-element array of 4-component vector of float) +0:? 'cva' (layout( location=4) in 3-element array of 4-component vector of float) +0:? 'cvb' (layout( location=5) in 3-element array of 4-component vector of float) +0:? 'cmc' (layout( location=2) in 3-element array of 3X3 matrix of float) +0:? 'patchIn' ( patch in 3-element array of 4-component vector of float) +0:? 'patchOut' (layout( stream=0) patch out 4-component vector of float) +0:? 'scalar' ( in float) +0:? 'inbls' ( in block{ in int a}) +0:? 'inbla' ( in 17-element array of block{ in int a}) +0:? 'indexedOut' (layout( location=7 stream=0) out 4-component vector of float) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp2Ds' ( uniform sampler2DShadow) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tesc.out index f3e7b8bb68b..434079e9565 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tesc.out @@ -21,49 +21,53 @@ ERROR: 0:87: 'location' : overlapping use of location 4 ERROR: 0:104: '' : precise qualifier must appear first ERROR: 0:105: '' : precise qualifier must appear first ERROR: 0:105: '' : precise qualifier must appear first -ERROR: 21 compilation errors. No code generated. +ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 23 compilation errors. No code generated. Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview vertices = 4 ERROR: node is still EOpNull! -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence -0:15 Barrier (global void) +0:15 Barrier ( global void) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'a' (temp int) +0:17 move second child to first child ( temp int) +0:17 'a' ( temp int) 0:17 Constant: 0:17 5392 (const int) 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'p' (temp 4-component vector of float) -0:23 gl_Position: direct index for structure (in 4-component vector of float Position) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'p' ( temp 4-component vector of float) +0:23 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'ps' (temp float) -0:24 gl_PointSize: direct index for structure (in float PointSize) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'ps' ( temp float) +0:24 gl_PointSize: direct index for structure ( in float PointSize) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'cd' (temp float) -0:25 direct index (temp float ClipDistance) -0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:25 move second child to first child ( temp float) +0:25 'cd' ( temp float) +0:25 direct index ( temp float ClipDistance) +0:25 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -71,150 +75,160 @@ ERROR: node is still EOpNull! 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pvi' (temp int) -0:27 'gl_PatchVerticesIn' (in int PatchVertices) +0:27 move second child to first child ( temp int) +0:27 'pvi' ( temp int) +0:27 'gl_PatchVerticesIn' ( in int PatchVertices) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'pid' (temp int) -0:28 'gl_PrimitiveID' (in int PrimitiveID) +0:28 move second child to first child ( temp int) +0:28 'pid' ( temp int) +0:28 'gl_PrimitiveID' ( in int PrimitiveID) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'iid' (temp int) -0:29 'gl_InvocationID' (in int InvocationID) -0:31 move second child to first child (temp 4-component vector of float) -0:31 gl_Position: direct index for structure (out 4-component vector of float Position) -0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:31 'gl_InvocationID' (in int InvocationID) +0:29 move second child to first child ( temp int) +0:29 'iid' ( temp int) +0:29 'gl_InvocationID' ( in int InvocationID) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:31 'gl_InvocationID' ( in int InvocationID) 0:31 Constant: 0:31 0 (const int) -0:31 'p' (temp 4-component vector of float) -0:32 move second child to first child (temp float) -0:32 gl_PointSize: direct index for structure (out float PointSize) -0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_InvocationID' (in int InvocationID) +0:31 'p' ( temp 4-component vector of float) +0:32 move second child to first child ( temp float) +0:32 gl_PointSize: direct index for structure ( out float PointSize) +0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_InvocationID' ( in int InvocationID) 0:32 Constant: 0:32 1 (const int) -0:32 'ps' (temp float) -0:33 move second child to first child (temp float) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_InvocationID' (in int InvocationID) +0:32 'ps' ( temp float) +0:33 move second child to first child ( temp float) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_InvocationID' ( in int InvocationID) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 'cd' (temp float) -0:35 move second child to first child (temp float) -0:35 direct index (patch temp float TessLevelOuter) -0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:33 'cd' ( temp float) +0:35 move second child to first child ( temp float) +0:35 direct index ( patch temp float TessLevelOuter) +0:35 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 3.200000 -0:36 move second child to first child (temp float) -0:36 direct index (patch temp float TessLevelInner) -0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:36 move second child to first child ( temp float) +0:36 direct index ( patch temp float TessLevelInner) +0:36 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.300000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Greater Than (temp bool) -0:38 'a' (temp int) +0:38 Compare Greater Than ( temp bool) +0:38 'a' ( temp int) 0:38 Constant: 0:38 10 (const int) 0:38 true case -0:39 Barrier (global void) +0:39 Barrier ( global void) 0:38 false case -0:41 Barrier (global void) -0:43 Barrier (global void) +0:41 Barrier ( global void) +0:43 Barrier ( global void) 0:47 Loop with condition not tested first 0:47 Loop Condition -0:47 Compare Greater Than (temp bool) -0:47 'a' (temp int) +0:47 Compare Greater Than ( temp bool) +0:47 'a' ( temp int) 0:47 Constant: 0:47 10 (const int) 0:47 Loop Body 0:46 Sequence -0:46 Barrier (global void) +0:46 Barrier ( global void) 0:49 switch 0:49 condition -0:49 'a' (temp int) +0:49 'a' ( temp int) 0:49 body 0:49 Sequence 0:50 default: 0:? Sequence -0:51 Barrier (global void) +0:51 Barrier ( global void) 0:52 Branch: Break -0:54 Test condition and select (temp int) +0:54 Test condition and select ( temp int) 0:54 Condition -0:54 Compare Less Than (temp bool) -0:54 'a' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'a' ( temp int) 0:54 Constant: 0:54 12 (const int) 0:54 true case -0:54 'a' (temp int) +0:54 'a' ( temp int) 0:54 false case -0:54 Comma (temp int) -0:54 Barrier (global void) -0:54 'a' (temp int) +0:54 Comma ( temp int) +0:54 Barrier ( global void) +0:54 'a' ( temp int) 0:56 Sequence -0:56 Barrier (global void) +0:56 Barrier ( global void) 0:59 Branch: Return -0:61 Barrier (global void) -0:67 Function Definition: foo( (global void) +0:61 Barrier ( global void) +0:67 Function Definition: foo( ( global void) 0:67 Function Parameters: 0:69 Sequence -0:69 gl_PointSize: direct index for structure (out float PointSize) -0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:69 gl_PointSize: direct index for structure ( out float PointSize) +0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:69 Constant: 0:69 4 (const int) 0:69 Constant: 0:69 1 (const int) -0:71 Barrier (global void) -0:91 Function Definition: foop( (global void) +0:71 Barrier ( global void) +0:91 Function Definition: foop( ( global void) 0:91 Function Parameters: 0:? Sequence -0:95 multiply second child into first child (temp 3-component vector of float) -0:95 'pv3' (noContraction temp 3-component vector of float) -0:95 'pv3' (noContraction temp 3-component vector of float) -0:96 move second child to first child (temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 fma (global 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:96 'pv3' (noContraction temp 3-component vector of float) -0:97 move second child to first child (temp double) -0:97 'd' (noContraction temp double) -0:97 fma (global double) -0:97 'd' (noContraction temp double) -0:97 'd' (noContraction temp double) -0:97 'd' (noContraction temp double) +0:95 multiply second child into first child ( temp 3-component vector of float) +0:95 'pv3' ( noContraction temp 3-component vector of float) +0:95 'pv3' ( noContraction temp 3-component vector of float) +0:96 move second child to first child ( temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 fma ( global 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:96 'pv3' ( noContraction temp 3-component vector of float) +0:97 move second child to first child ( temp double) +0:97 'd' ( noContraction temp double) +0:97 fma ( global double) +0:97 'd' ( noContraction temp double) +0:97 'd' ( noContraction temp double) +0:97 'd' ( noContraction temp double) +0:107 Function Definition: devi( ( global void) +0:107 Function Parameters: +0:109 Sequence +0:109 'gl_DeviceIndex' ( in int DeviceIndex) +0:110 'gl_ViewIndex' ( in int ViewIndex) +0:121 Function Definition: devie( ( global void) +0:121 Function Parameters: +0:123 Sequence +0:123 'gl_DeviceIndex' ( in int DeviceIndex) +0:124 'gl_ViewIndex' ( in int ViewIndex) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 4-element array of int) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'pv3' (noContraction temp 3-component vector of float) -0:? 'pinbi' (patch out block{out int a}) -0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float) +0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 4-element array of int) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'ivla' (layout( location=3) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'pv3' ( noContraction temp 3-component vector of float) +0:? 'pinbi' ( patch out block{ out int a}) +0:? 'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float) Linked tessellation control stage: @@ -222,44 +236,46 @@ Linked tessellation control stage: Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview vertices = 4 ERROR: node is still EOpNull! -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence -0:15 Barrier (global void) +0:15 Barrier ( global void) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'a' (temp int) +0:17 move second child to first child ( temp int) +0:17 'a' ( temp int) 0:17 Constant: 0:17 5392 (const int) 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'p' (temp 4-component vector of float) -0:23 gl_Position: direct index for structure (in 4-component vector of float Position) -0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'p' ( temp 4-component vector of float) +0:23 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'ps' (temp float) -0:24 gl_PointSize: direct index for structure (in float PointSize) -0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 move second child to first child ( temp float) +0:24 'ps' ( temp float) +0:24 gl_PointSize: direct index for structure ( in float PointSize) +0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'cd' (temp float) -0:25 direct index (temp float ClipDistance) -0:25 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:25 move second child to first child ( temp float) +0:25 'cd' ( temp float) +0:25 direct index ( temp float ClipDistance) +0:25 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -267,119 +283,119 @@ ERROR: node is still EOpNull! 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'pvi' (temp int) -0:27 'gl_PatchVerticesIn' (in int PatchVertices) +0:27 move second child to first child ( temp int) +0:27 'pvi' ( temp int) +0:27 'gl_PatchVerticesIn' ( in int PatchVertices) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'pid' (temp int) -0:28 'gl_PrimitiveID' (in int PrimitiveID) +0:28 move second child to first child ( temp int) +0:28 'pid' ( temp int) +0:28 'gl_PrimitiveID' ( in int PrimitiveID) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'iid' (temp int) -0:29 'gl_InvocationID' (in int InvocationID) -0:31 move second child to first child (temp 4-component vector of float) -0:31 gl_Position: direct index for structure (out 4-component vector of float Position) -0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:31 'gl_InvocationID' (in int InvocationID) +0:29 move second child to first child ( temp int) +0:29 'iid' ( temp int) +0:29 'gl_InvocationID' ( in int InvocationID) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:31 'gl_InvocationID' ( in int InvocationID) 0:31 Constant: 0:31 0 (const int) -0:31 'p' (temp 4-component vector of float) -0:32 move second child to first child (temp float) -0:32 gl_PointSize: direct index for structure (out float PointSize) -0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_InvocationID' (in int InvocationID) +0:31 'p' ( temp 4-component vector of float) +0:32 move second child to first child ( temp float) +0:32 gl_PointSize: direct index for structure ( out float PointSize) +0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_InvocationID' ( in int InvocationID) 0:32 Constant: 0:32 1 (const int) -0:32 'ps' (temp float) -0:33 move second child to first child (temp float) -0:33 direct index (temp float ClipDistance) -0:33 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance) -0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_InvocationID' (in int InvocationID) +0:32 'ps' ( temp float) +0:33 move second child to first child ( temp float) +0:33 direct index ( temp float ClipDistance) +0:33 gl_ClipDistance: direct index for structure ( out 2-element array of float ClipDistance) +0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_InvocationID' ( in int InvocationID) 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 'cd' (temp float) -0:35 move second child to first child (temp float) -0:35 direct index (patch temp float TessLevelOuter) -0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter) +0:33 'cd' ( temp float) +0:35 move second child to first child ( temp float) +0:35 direct index ( patch temp float TessLevelOuter) +0:35 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: 0:35 3.200000 -0:36 move second child to first child (temp float) -0:36 direct index (patch temp float TessLevelInner) -0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner) +0:36 move second child to first child ( temp float) +0:36 direct index ( patch temp float TessLevelInner) +0:36 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.300000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Greater Than (temp bool) -0:38 'a' (temp int) +0:38 Compare Greater Than ( temp bool) +0:38 'a' ( temp int) 0:38 Constant: 0:38 10 (const int) 0:38 true case -0:39 Barrier (global void) +0:39 Barrier ( global void) 0:38 false case -0:41 Barrier (global void) -0:43 Barrier (global void) +0:41 Barrier ( global void) +0:43 Barrier ( global void) 0:47 Loop with condition not tested first 0:47 Loop Condition -0:47 Compare Greater Than (temp bool) -0:47 'a' (temp int) +0:47 Compare Greater Than ( temp bool) +0:47 'a' ( temp int) 0:47 Constant: 0:47 10 (const int) 0:47 Loop Body 0:46 Sequence -0:46 Barrier (global void) +0:46 Barrier ( global void) 0:49 switch 0:49 condition -0:49 'a' (temp int) +0:49 'a' ( temp int) 0:49 body 0:49 Sequence 0:50 default: 0:? Sequence -0:51 Barrier (global void) +0:51 Barrier ( global void) 0:52 Branch: Break -0:54 Test condition and select (temp int) +0:54 Test condition and select ( temp int) 0:54 Condition -0:54 Compare Less Than (temp bool) -0:54 'a' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'a' ( temp int) 0:54 Constant: 0:54 12 (const int) 0:54 true case -0:54 'a' (temp int) +0:54 'a' ( temp int) 0:54 false case -0:54 Comma (temp int) -0:54 Barrier (global void) -0:54 'a' (temp int) +0:54 Comma ( temp int) +0:54 Barrier ( global void) +0:54 'a' ( temp int) 0:56 Sequence -0:56 Barrier (global void) +0:56 Barrier ( global void) 0:59 Branch: Return -0:61 Barrier (global void) +0:61 Barrier ( global void) 0:? Linker Objects -0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 4-element array of int) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) -0:? 'pv3' (noContraction temp 3-component vector of float) -0:? 'pinbi' (patch out block{out int a}) -0:? 'badOrder' (invariant noContraction out 4-element array of 4-component vector of float) +0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 4-element array of int) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'ivla' (layout( location=3) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=4) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=3) out 4-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'ovlc' (layout( location=4) out 4-element array of 4-component vector of float) +0:? 'pv3' ( noContraction temp 3-component vector of float) +0:? 'pinbi' ( patch out block{ out int a}) +0:? 'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tese.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tese.out index 324dbaa304d..2f1c97c09e1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tese.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.tese.out @@ -30,53 +30,57 @@ ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or ERROR: 0:96: 'location' : overlapping use of location 24 ERROR: 0:99: 'location' : overlapping use of location 24 ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved -ERROR: 30 compilation errors. No code generated. +ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group +ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview +ERROR: 32 compilation errors. No code generated. Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Constant: 0:22 0.000000 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'a' (temp int) +0:24 move second child to first child ( temp int) +0:24 'a' ( temp int) 0:24 Constant: 0:24 1512 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'p' (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (in 4-component vector of float Position) -0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'p' ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'ps' (temp float) -0:33 gl_PointSize: direct index for structure (in float PointSize) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 'ps' ( temp float) +0:33 gl_PointSize: direct index for structure ( in float PointSize) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'cd' (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp float) +0:34 'cd' ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -84,75 +88,85 @@ ERROR: node is still EOpNull! 0:34 Constant: 0:34 2 (const int) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'pvi' (temp int) -0:36 'gl_PatchVerticesIn' (in int PatchVertices) +0:36 move second child to first child ( temp int) +0:36 'pvi' ( temp int) +0:36 'gl_PatchVerticesIn' ( in int PatchVertices) 0:37 Sequence -0:37 move second child to first child (temp int) -0:37 'pid' (temp int) -0:37 'gl_PrimitiveID' (in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'pid' ( temp int) +0:37 'gl_PrimitiveID' ( in int PrimitiveID) 0:38 Sequence -0:38 move second child to first child (temp 3-component vector of float) -0:38 'tc' (temp 3-component vector of float) -0:38 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:38 move second child to first child ( temp 3-component vector of float) +0:38 'tc' ( temp 3-component vector of float) +0:38 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'tlo' (temp float) -0:39 direct index (patch temp float TessLevelOuter) -0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:39 move second child to first child ( temp float) +0:39 'tlo' ( temp float) +0:39 direct index ( patch temp float TessLevelOuter) +0:39 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:39 Constant: 0:39 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'tli' (temp float) -0:40 direct index (patch temp float TessLevelInner) -0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:40 move second child to first child ( temp float) +0:40 'tli' ( temp float) +0:40 direct index ( patch temp float TessLevelInner) +0:40 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:40 Constant: 0:40 1 (const int) -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:42 Constant: 0:42 0 (const uint) -0:42 'p' (temp 4-component vector of float) -0:43 move second child to first child (temp float) -0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:42 'p' ( temp 4-component vector of float) +0:43 move second child to first child ( temp float) +0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:43 Constant: 0:43 1 (const uint) -0:43 'ps' (temp float) -0:44 move second child to first child (temp float) -0:44 direct index (temp float ClipDistance) -0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:43 'ps' ( temp float) +0:44 move second child to first child ( temp float) +0:44 direct index ( temp float ClipDistance) +0:44 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 2 (const int) -0:44 'cd' (temp float) +0:44 'cd' ( temp float) +0:107 Function Definition: devi( ( global void) +0:107 Function Parameters: +0:109 Sequence +0:109 'gl_DeviceIndex' ( in int DeviceIndex) +0:110 'gl_ViewIndex' ( in int ViewIndex) +0:121 Function Definition: devie( ( global void) +0:121 Function Parameters: +0:123 Sequence +0:123 'gl_DeviceIndex' ( in int DeviceIndex) +0:124 'gl_ViewIndex' ( in int ViewIndex) 0:? Linker Objects -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'badp1' (smooth patch in 4-component vector of float) -0:? 'badp2' (flat patch in 4-component vector of float) -0:? 'badp3' (noperspective patch in 4-component vector of float) -0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{in int f}) -0:? 'blb' (in 32-element array of block{in int f}) -0:? 'blc' (in 32-element array of block{in int f}) -0:? 'bld' (in 32-element array of block{in int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) -0:? 'pinbi' (patch in block{in int a}) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'badp1' ( smooth patch in 4-component vector of float) +0:? 'badp2' ( flat patch in 4-component vector of float) +0:? 'badp3' ( noperspective patch in 4-component vector of float) +0:? 'badp4' ( patch sample in 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'bla' ( in block{ in int f}) +0:? 'blb' ( in 32-element array of block{ in int f}) +0:? 'blc' ( in 32-element array of block{ in int f}) +0:? 'bld' ( in 32-element array of block{ in int f}) +0:? 'ivla' (layout( location=23) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of 4-component vector of float) +0:? 'pinbi' ( patch in block{ in int a}) Linked tessellation evaluation stage: @@ -160,48 +174,50 @@ Linked tessellation evaluation stage: Shader version: 400 Requested GL_ARB_separate_shader_objects +Requested GL_EXT_device_group +Requested GL_EXT_multiview input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw using point mode ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Constant: 0:22 0.000000 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'a' (temp int) +0:24 move second child to first child ( temp int) +0:24 'a' ( temp int) 0:24 Constant: 0:24 1512 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'p' (temp 4-component vector of float) -0:32 gl_Position: direct index for structure (in 4-component vector of float Position) -0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'p' ( temp 4-component vector of float) +0:32 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'ps' (temp float) -0:33 gl_PointSize: direct index for structure (in float PointSize) -0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 move second child to first child ( temp float) +0:33 'ps' ( temp float) +0:33 gl_PointSize: direct index for structure ( in float PointSize) +0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'cd' (temp float) -0:34 direct index (temp float ClipDistance) -0:34 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 move second child to first child ( temp float) +0:34 'cd' ( temp float) +0:34 direct index ( temp float ClipDistance) +0:34 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -209,73 +225,73 @@ ERROR: node is still EOpNull! 0:34 Constant: 0:34 2 (const int) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'pvi' (temp int) -0:36 'gl_PatchVerticesIn' (in int PatchVertices) +0:36 move second child to first child ( temp int) +0:36 'pvi' ( temp int) +0:36 'gl_PatchVerticesIn' ( in int PatchVertices) 0:37 Sequence -0:37 move second child to first child (temp int) -0:37 'pid' (temp int) -0:37 'gl_PrimitiveID' (in int PrimitiveID) +0:37 move second child to first child ( temp int) +0:37 'pid' ( temp int) +0:37 'gl_PrimitiveID' ( in int PrimitiveID) 0:38 Sequence -0:38 move second child to first child (temp 3-component vector of float) -0:38 'tc' (temp 3-component vector of float) -0:38 'gl_TessCoord' (in 3-component vector of float TessCoord) +0:38 move second child to first child ( temp 3-component vector of float) +0:38 'tc' ( temp 3-component vector of float) +0:38 'gl_TessCoord' ( in 3-component vector of float TessCoord) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'tlo' (temp float) -0:39 direct index (patch temp float TessLevelOuter) -0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter) +0:39 move second child to first child ( temp float) +0:39 'tlo' ( temp float) +0:39 direct index ( patch temp float TessLevelOuter) +0:39 'gl_TessLevelOuter' ( patch in 4-element array of float TessLevelOuter) 0:39 Constant: 0:39 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'tli' (temp float) -0:40 direct index (patch temp float TessLevelInner) -0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner) +0:40 move second child to first child ( temp float) +0:40 'tli' ( temp float) +0:40 direct index ( patch temp float TessLevelInner) +0:40 'gl_TessLevelInner' ( patch in 2-element array of float TessLevelInner) 0:40 Constant: 0:40 1 (const int) -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:42 Constant: 0:42 0 (const uint) -0:42 'p' (temp 4-component vector of float) -0:43 move second child to first child (temp float) -0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize) -0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:42 'p' ( temp 4-component vector of float) +0:43 move second child to first child ( temp float) +0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize) +0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:43 Constant: 0:43 1 (const uint) -0:43 'ps' (temp float) -0:44 move second child to first child (temp float) -0:44 direct index (temp float ClipDistance) -0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:43 'ps' ( temp float) +0:44 move second child to first child ( temp float) +0:44 direct index ( temp float ClipDistance) +0:44 gl_ClipDistance: direct index for structure ( out 3-element array of float ClipDistance) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 2 (const int) -0:44 'cd' (temp float) +0:44 'cd' ( temp float) 0:? Linker Objects -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (patch out 4-component vector of float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) -0:? 'badp1' (smooth patch in 4-component vector of float) -0:? 'badp2' (flat patch in 4-component vector of float) -0:? 'badp3' (noperspective patch in 4-component vector of float) -0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'ina' (in 2-component vector of float) -0:? 'inb' (in 32-element array of 2-component vector of float) -0:? 'inc' (in 32-element array of 2-component vector of float) -0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{in int f}) -0:? 'blb' (in 32-element array of block{in int f}) -0:? 'blc' (in 32-element array of block{in int f}) -0:? 'bld' (in 32-element array of block{in int f}) -0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) -0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) -0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float) -0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) -0:? 'pinbi' (patch in block{in int a}) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( patch out 4-component vector of float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance}) +0:? 'badp1' ( smooth patch in 4-component vector of float) +0:? 'badp2' ( flat patch in 4-component vector of float) +0:? 'badp3' ( noperspective patch in 4-component vector of float) +0:? 'badp4' ( patch sample in 3-component vector of float) +0:? 'gl_in' ( in 32-element array of block{ in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'ina' ( in 2-component vector of float) +0:? 'inb' ( in 32-element array of 2-component vector of float) +0:? 'inc' ( in 32-element array of 2-component vector of float) +0:? 'ind' ( in 32-element array of 2-component vector of float) +0:? 'bla' ( in block{ in int f}) +0:? 'blb' ( in 32-element array of block{ in int f}) +0:? 'blc' ( in 32-element array of block{ in int f}) +0:? 'bld' ( in 32-element array of block{ in int f}) +0:? 'ivla' (layout( location=23) in 32-element array of 4-component vector of float) +0:? 'ivlb' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ivlc' (layout( location=24) in 32-element array of 4-component vector of float) +0:? 'ovla' (layout( location=23) out 2-element array of 4-component vector of float) +0:? 'ovlb' (layout( location=24) out 2-element array of 4-component vector of float) +0:? 'pinbi' ( patch in block{ in int a}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.vert.out index bf07887558c..0fd453d8e5a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/400.vert.out @@ -18,279 +18,279 @@ ERROR: 13 compilation errors. No code generated. Shader version: 400 ERROR: node is still EOpNull! -0:8 Function Definition: foo1(d1;u1; (global void) +0:8 Function Definition: foo1(d1;u1; ( global void) 0:8 Function Parameters: -0:8 'a' (in double) -0:8 'b' (in uint) -0:9 Function Definition: foo1(d1;i1; (global void) +0:8 'a' ( in double) +0:8 'b' ( in uint) +0:9 Function Definition: foo1(d1;i1; ( global void) 0:9 Function Parameters: -0:9 'a' (in double) -0:9 'b' (in int) -0:10 Function Definition: foo1(d1;f1; (global void) +0:9 'a' ( in double) +0:9 'b' ( in int) +0:10 Function Definition: foo1(d1;f1; ( global void) 0:10 Function Parameters: -0:10 'a' (in double) -0:10 'b' (in float) -0:11 Function Definition: foo1(d1;d1; (global void) +0:10 'a' ( in double) +0:10 'b' ( in float) +0:11 Function Definition: foo1(d1;d1; ( global void) 0:11 Function Parameters: -0:11 'a' (in double) -0:11 'b' (in double) -0:13 Function Definition: foo2(d1;f1; (global void) +0:11 'a' ( in double) +0:11 'b' ( in double) +0:13 Function Definition: foo2(d1;f1; ( global void) 0:13 Function Parameters: -0:13 'a' (in double) -0:13 'b' (in float) -0:14 Function Definition: foo2(d1;d1; (global void) +0:13 'a' ( in double) +0:13 'b' ( in float) +0:14 Function Definition: foo2(d1;d1; ( global void) 0:14 Function Parameters: -0:14 'a' (in double) -0:14 'b' (in double) -0:16 Function Definition: foo3(d1;f1; (global void) +0:14 'a' ( in double) +0:14 'b' ( in double) +0:16 Function Definition: foo3(d1;f1; ( global void) 0:16 Function Parameters: -0:16 'a' (in double) -0:16 'b' (in float) -0:17 Function Definition: foo3(f1;d1; (global void) +0:16 'a' ( in double) +0:16 'b' ( in float) +0:17 Function Definition: foo3(f1;d1; ( global void) 0:17 Function Parameters: -0:17 'a' (in float) -0:17 'b' (in double) -0:19 Function Definition: ftd(i1;f1;d1; (global void) +0:17 'a' ( in float) +0:17 'b' ( in double) +0:19 Function Definition: ftd(i1;f1;d1; ( global void) 0:19 Function Parameters: -0:19 '' (in int) -0:19 '' (in float) -0:19 '' (in double) -0:20 Function Definition: ftd(u1;f1;d1; (global void) +0:19 '' ( in int) +0:19 '' ( in float) +0:19 '' ( in double) +0:20 Function Definition: ftd(u1;f1;d1; ( global void) 0:20 Function Parameters: -0:20 '' (in uint) -0:20 '' (in float) -0:20 '' (in double) -0:21 Function Definition: ftd(f1;d1;d1; (global void) +0:20 '' ( in uint) +0:20 '' ( in float) +0:20 '' ( in double) +0:21 Function Definition: ftd(f1;d1;d1; ( global void) 0:21 Function Parameters: -0:21 '' (in float) -0:21 '' (in double) -0:21 '' (in double) -0:23 Function Definition: main( (global void) +0:21 '' ( in float) +0:21 '' ( in double) +0:21 '' ( in double) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence -0:30 Function Call: foo1(d1;d1; (global void) -0:30 'd' (temp double) -0:30 'd' (temp double) -0:31 Function Call: foo1(d1;u1; (global void) -0:31 'd' (temp double) -0:31 'u' (temp uint) -0:32 Function Call: foo1(d1;i1; (global void) -0:32 'd' (temp double) -0:32 'i' (temp int) -0:33 Function Call: foo1(d1;f1; (global void) -0:33 'd' (temp double) -0:33 'f' (temp float) -0:35 Function Call: foo1(d1;d1; (global void) -0:35 Convert float to double (temp double) -0:35 'f' (temp float) -0:35 'd' (temp double) -0:36 Function Call: foo1(d1;u1; (global void) -0:36 Convert float to double (temp double) -0:36 'f' (temp float) -0:36 'u' (temp uint) -0:37 Function Call: foo1(d1;i1; (global void) -0:37 Convert float to double (temp double) -0:37 'f' (temp float) -0:37 'i' (temp int) -0:38 Function Call: foo1(d1;f1; (global void) -0:38 Convert float to double (temp double) -0:38 'f' (temp float) -0:38 'f' (temp float) -0:40 Function Call: foo1(d1;d1; (global void) -0:40 Convert uint to double (temp double) -0:40 'u' (temp uint) -0:40 'd' (temp double) -0:41 Function Call: foo1(d1;u1; (global void) -0:41 Convert uint to double (temp double) -0:41 'u' (temp uint) -0:41 'u' (temp uint) -0:42 Function Call: foo1(d1;i1; (global void) -0:42 Convert uint to double (temp double) -0:42 'u' (temp uint) -0:42 'i' (temp int) -0:43 Function Call: foo1(d1;f1; (global void) -0:43 Convert uint to double (temp double) -0:43 'u' (temp uint) -0:43 'f' (temp float) -0:45 Function Call: foo1(d1;d1; (global void) -0:45 Convert int to double (temp double) -0:45 'i' (temp int) -0:45 'd' (temp double) -0:46 Function Call: foo1(d1;u1; (global void) -0:46 Convert int to double (temp double) -0:46 'i' (temp int) -0:46 'u' (temp uint) -0:47 Function Call: foo1(d1;i1; (global void) -0:47 Convert int to double (temp double) -0:47 'i' (temp int) -0:47 'i' (temp int) -0:48 Function Call: foo1(d1;f1; (global void) -0:48 Convert int to double (temp double) -0:48 'i' (temp int) -0:48 'f' (temp float) -0:50 Function Call: foo2(d1;d1; (global void) -0:50 'd' (temp double) -0:50 'd' (temp double) -0:51 Function Call: foo2(d1;f1; (global void) -0:51 'd' (temp double) -0:51 Convert uint to float (temp float) -0:51 'u' (temp uint) -0:52 Function Call: foo2(d1;f1; (global void) -0:52 'd' (temp double) -0:52 Convert int to float (temp float) -0:52 'i' (temp int) -0:53 Function Call: foo2(d1;f1; (global void) -0:53 'd' (temp double) -0:53 'f' (temp float) -0:55 Function Call: foo2(d1;d1; (global void) -0:55 Convert float to double (temp double) -0:55 'f' (temp float) -0:55 'd' (temp double) -0:56 Function Call: foo2(d1;f1; (global void) -0:56 Convert float to double (temp double) -0:56 'f' (temp float) -0:56 Convert uint to float (temp float) -0:56 'u' (temp uint) -0:57 Function Call: foo2(d1;f1; (global void) -0:57 Convert float to double (temp double) -0:57 'f' (temp float) -0:57 Convert int to float (temp float) -0:57 'i' (temp int) -0:58 Function Call: foo2(d1;f1; (global void) -0:58 Convert float to double (temp double) -0:58 'f' (temp float) -0:58 'f' (temp float) -0:60 Function Call: foo2(d1;d1; (global void) -0:60 Convert uint to double (temp double) -0:60 'u' (temp uint) -0:60 'd' (temp double) -0:61 Function Call: foo2(d1;f1; (global void) -0:61 Convert uint to double (temp double) -0:61 'u' (temp uint) -0:61 Convert uint to float (temp float) -0:61 'u' (temp uint) -0:62 Function Call: foo2(d1;f1; (global void) -0:62 Convert uint to double (temp double) -0:62 'u' (temp uint) -0:62 Convert int to float (temp float) -0:62 'i' (temp int) -0:63 Function Call: foo2(d1;f1; (global void) -0:63 Convert uint to double (temp double) -0:63 'u' (temp uint) -0:63 'f' (temp float) -0:65 Function Call: foo2(d1;d1; (global void) -0:65 Convert int to double (temp double) -0:65 'i' (temp int) -0:65 'd' (temp double) -0:66 Function Call: foo2(d1;f1; (global void) -0:66 Convert int to double (temp double) -0:66 'i' (temp int) -0:66 Convert uint to float (temp float) -0:66 'u' (temp uint) -0:67 Function Call: foo2(d1;f1; (global void) -0:67 Convert int to double (temp double) -0:67 'i' (temp int) -0:67 Convert int to float (temp float) -0:67 'i' (temp int) -0:68 Function Call: foo2(d1;f1; (global void) -0:68 Convert int to double (temp double) -0:68 'i' (temp int) -0:68 'f' (temp float) +0:30 Function Call: foo1(d1;d1; ( global void) +0:30 'd' ( temp double) +0:30 'd' ( temp double) +0:31 Function Call: foo1(d1;u1; ( global void) +0:31 'd' ( temp double) +0:31 'u' ( temp uint) +0:32 Function Call: foo1(d1;i1; ( global void) +0:32 'd' ( temp double) +0:32 'i' ( temp int) +0:33 Function Call: foo1(d1;f1; ( global void) +0:33 'd' ( temp double) +0:33 'f' ( temp float) +0:35 Function Call: foo1(d1;d1; ( global void) +0:35 Convert float to double ( temp double) +0:35 'f' ( temp float) +0:35 'd' ( temp double) +0:36 Function Call: foo1(d1;u1; ( global void) +0:36 Convert float to double ( temp double) +0:36 'f' ( temp float) +0:36 'u' ( temp uint) +0:37 Function Call: foo1(d1;i1; ( global void) +0:37 Convert float to double ( temp double) +0:37 'f' ( temp float) +0:37 'i' ( temp int) +0:38 Function Call: foo1(d1;f1; ( global void) +0:38 Convert float to double ( temp double) +0:38 'f' ( temp float) +0:38 'f' ( temp float) +0:40 Function Call: foo1(d1;d1; ( global void) +0:40 Convert uint to double ( temp double) +0:40 'u' ( temp uint) +0:40 'd' ( temp double) +0:41 Function Call: foo1(d1;u1; ( global void) +0:41 Convert uint to double ( temp double) +0:41 'u' ( temp uint) +0:41 'u' ( temp uint) +0:42 Function Call: foo1(d1;i1; ( global void) +0:42 Convert uint to double ( temp double) +0:42 'u' ( temp uint) +0:42 'i' ( temp int) +0:43 Function Call: foo1(d1;f1; ( global void) +0:43 Convert uint to double ( temp double) +0:43 'u' ( temp uint) +0:43 'f' ( temp float) +0:45 Function Call: foo1(d1;d1; ( global void) +0:45 Convert int to double ( temp double) +0:45 'i' ( temp int) +0:45 'd' ( temp double) +0:46 Function Call: foo1(d1;u1; ( global void) +0:46 Convert int to double ( temp double) +0:46 'i' ( temp int) +0:46 'u' ( temp uint) +0:47 Function Call: foo1(d1;i1; ( global void) +0:47 Convert int to double ( temp double) +0:47 'i' ( temp int) +0:47 'i' ( temp int) +0:48 Function Call: foo1(d1;f1; ( global void) +0:48 Convert int to double ( temp double) +0:48 'i' ( temp int) +0:48 'f' ( temp float) +0:50 Function Call: foo2(d1;d1; ( global void) +0:50 'd' ( temp double) +0:50 'd' ( temp double) +0:51 Function Call: foo2(d1;f1; ( global void) +0:51 'd' ( temp double) +0:51 Convert uint to float ( temp float) +0:51 'u' ( temp uint) +0:52 Function Call: foo2(d1;f1; ( global void) +0:52 'd' ( temp double) +0:52 Convert int to float ( temp float) +0:52 'i' ( temp int) +0:53 Function Call: foo2(d1;f1; ( global void) +0:53 'd' ( temp double) +0:53 'f' ( temp float) +0:55 Function Call: foo2(d1;d1; ( global void) +0:55 Convert float to double ( temp double) +0:55 'f' ( temp float) +0:55 'd' ( temp double) +0:56 Function Call: foo2(d1;f1; ( global void) +0:56 Convert float to double ( temp double) +0:56 'f' ( temp float) +0:56 Convert uint to float ( temp float) +0:56 'u' ( temp uint) +0:57 Function Call: foo2(d1;f1; ( global void) +0:57 Convert float to double ( temp double) +0:57 'f' ( temp float) +0:57 Convert int to float ( temp float) +0:57 'i' ( temp int) +0:58 Function Call: foo2(d1;f1; ( global void) +0:58 Convert float to double ( temp double) +0:58 'f' ( temp float) +0:58 'f' ( temp float) +0:60 Function Call: foo2(d1;d1; ( global void) +0:60 Convert uint to double ( temp double) +0:60 'u' ( temp uint) +0:60 'd' ( temp double) +0:61 Function Call: foo2(d1;f1; ( global void) +0:61 Convert uint to double ( temp double) +0:61 'u' ( temp uint) +0:61 Convert uint to float ( temp float) +0:61 'u' ( temp uint) +0:62 Function Call: foo2(d1;f1; ( global void) +0:62 Convert uint to double ( temp double) +0:62 'u' ( temp uint) +0:62 Convert int to float ( temp float) +0:62 'i' ( temp int) +0:63 Function Call: foo2(d1;f1; ( global void) +0:63 Convert uint to double ( temp double) +0:63 'u' ( temp uint) +0:63 'f' ( temp float) +0:65 Function Call: foo2(d1;d1; ( global void) +0:65 Convert int to double ( temp double) +0:65 'i' ( temp int) +0:65 'd' ( temp double) +0:66 Function Call: foo2(d1;f1; ( global void) +0:66 Convert int to double ( temp double) +0:66 'i' ( temp int) +0:66 Convert uint to float ( temp float) +0:66 'u' ( temp uint) +0:67 Function Call: foo2(d1;f1; ( global void) +0:67 Convert int to double ( temp double) +0:67 'i' ( temp int) +0:67 Convert int to float ( temp float) +0:67 'i' ( temp int) +0:68 Function Call: foo2(d1;f1; ( global void) +0:68 Convert int to double ( temp double) +0:68 'i' ( temp int) +0:68 'f' ( temp float) 0:70 Constant: 0:70 0.000000 -0:71 Function Call: foo3(d1;f1; (global void) -0:71 'd' (temp double) -0:71 Convert uint to float (temp float) -0:71 'u' (temp uint) -0:72 Function Call: foo3(d1;f1; (global void) -0:72 'd' (temp double) -0:72 Convert int to float (temp float) -0:72 'i' (temp int) -0:73 Function Call: foo3(d1;f1; (global void) -0:73 'd' (temp double) -0:73 'f' (temp float) -0:75 Function Call: foo3(f1;d1; (global void) -0:75 'f' (temp float) -0:75 'd' (temp double) -0:76 Function Call: foo3(d1;f1; (global void) -0:76 Convert float to double (temp double) -0:76 'f' (temp float) -0:76 Convert uint to float (temp float) -0:76 'u' (temp uint) -0:77 Function Call: foo3(d1;f1; (global void) -0:77 Convert float to double (temp double) -0:77 'f' (temp float) -0:77 Convert int to float (temp float) -0:77 'i' (temp int) -0:78 Function Call: foo3(d1;f1; (global void) -0:78 Convert float to double (temp double) -0:78 'f' (temp float) -0:78 'f' (temp float) -0:80 Function Call: foo3(f1;d1; (global void) -0:80 Convert uint to float (temp float) -0:80 'u' (temp uint) -0:80 'd' (temp double) -0:81 Function Call: foo3(d1;f1; (global void) -0:81 Convert uint to double (temp double) -0:81 'u' (temp uint) -0:81 Convert uint to float (temp float) -0:81 'u' (temp uint) -0:82 Function Call: foo3(d1;f1; (global void) -0:82 Convert uint to double (temp double) -0:82 'u' (temp uint) -0:82 Convert int to float (temp float) -0:82 'i' (temp int) -0:83 Function Call: foo3(d1;f1; (global void) -0:83 Convert uint to double (temp double) -0:83 'u' (temp uint) -0:83 'f' (temp float) -0:85 Function Call: foo3(f1;d1; (global void) -0:85 Convert int to float (temp float) -0:85 'i' (temp int) -0:85 'd' (temp double) -0:86 Function Call: foo3(d1;f1; (global void) -0:86 Convert int to double (temp double) -0:86 'i' (temp int) -0:86 Convert uint to float (temp float) -0:86 'u' (temp uint) -0:87 Function Call: foo3(d1;f1; (global void) -0:87 Convert int to double (temp double) -0:87 'i' (temp int) -0:87 Convert int to float (temp float) -0:87 'i' (temp int) -0:88 Function Call: foo3(d1;f1; (global void) -0:88 Convert int to double (temp double) -0:88 'i' (temp int) -0:88 'f' (temp float) -0:90 Function Call: ftd(i1;f1;d1; (global void) -0:90 'i' (temp int) -0:90 'f' (temp float) -0:90 Convert float to double (temp double) -0:90 'f' (temp float) -0:91 Function Call: ftd(u1;f1;d1; (global void) -0:91 'u' (temp uint) -0:91 'f' (temp float) -0:91 Convert float to double (temp double) -0:91 'f' (temp float) -0:97 Function Definition: tf( (global void) +0:71 Function Call: foo3(d1;f1; ( global void) +0:71 'd' ( temp double) +0:71 Convert uint to float ( temp float) +0:71 'u' ( temp uint) +0:72 Function Call: foo3(d1;f1; ( global void) +0:72 'd' ( temp double) +0:72 Convert int to float ( temp float) +0:72 'i' ( temp int) +0:73 Function Call: foo3(d1;f1; ( global void) +0:73 'd' ( temp double) +0:73 'f' ( temp float) +0:75 Function Call: foo3(f1;d1; ( global void) +0:75 'f' ( temp float) +0:75 'd' ( temp double) +0:76 Function Call: foo3(d1;f1; ( global void) +0:76 Convert float to double ( temp double) +0:76 'f' ( temp float) +0:76 Convert uint to float ( temp float) +0:76 'u' ( temp uint) +0:77 Function Call: foo3(d1;f1; ( global void) +0:77 Convert float to double ( temp double) +0:77 'f' ( temp float) +0:77 Convert int to float ( temp float) +0:77 'i' ( temp int) +0:78 Function Call: foo3(d1;f1; ( global void) +0:78 Convert float to double ( temp double) +0:78 'f' ( temp float) +0:78 'f' ( temp float) +0:80 Function Call: foo3(f1;d1; ( global void) +0:80 Convert uint to float ( temp float) +0:80 'u' ( temp uint) +0:80 'd' ( temp double) +0:81 Function Call: foo3(d1;f1; ( global void) +0:81 Convert uint to double ( temp double) +0:81 'u' ( temp uint) +0:81 Convert uint to float ( temp float) +0:81 'u' ( temp uint) +0:82 Function Call: foo3(d1;f1; ( global void) +0:82 Convert uint to double ( temp double) +0:82 'u' ( temp uint) +0:82 Convert int to float ( temp float) +0:82 'i' ( temp int) +0:83 Function Call: foo3(d1;f1; ( global void) +0:83 Convert uint to double ( temp double) +0:83 'u' ( temp uint) +0:83 'f' ( temp float) +0:85 Function Call: foo3(f1;d1; ( global void) +0:85 Convert int to float ( temp float) +0:85 'i' ( temp int) +0:85 'd' ( temp double) +0:86 Function Call: foo3(d1;f1; ( global void) +0:86 Convert int to double ( temp double) +0:86 'i' ( temp int) +0:86 Convert uint to float ( temp float) +0:86 'u' ( temp uint) +0:87 Function Call: foo3(d1;f1; ( global void) +0:87 Convert int to double ( temp double) +0:87 'i' ( temp int) +0:87 Convert int to float ( temp float) +0:87 'i' ( temp int) +0:88 Function Call: foo3(d1;f1; ( global void) +0:88 Convert int to double ( temp double) +0:88 'i' ( temp int) +0:88 'f' ( temp float) +0:90 Function Call: ftd(i1;f1;d1; ( global void) +0:90 'i' ( temp int) +0:90 'f' ( temp float) +0:90 Convert float to double ( temp double) +0:90 'f' ( temp float) +0:91 Function Call: ftd(u1;f1;d1; ( global void) +0:91 'u' ( temp uint) +0:91 'f' ( temp float) +0:91 Convert float to double ( temp double) +0:91 'f' ( temp float) +0:97 Function Definition: tf( ( global void) 0:97 Function Parameters: 0:? Sequence -0:104 Function Call: itf(i1;f1;i1; (global void) -0:104 'i' (temp int) -0:104 Convert int to float (temp float) -0:104 'i' (temp int) -0:104 'i' (temp int) -0:105 Function Call: itf(i1;f1;i1; (global void) -0:105 'i' (temp int) -0:105 Convert uint to float (temp float) -0:105 'u' (temp uint) -0:105 'i' (temp int) +0:104 Function Call: itf(i1;f1;i1; ( global void) +0:104 'i' ( temp int) +0:104 Convert int to float ( temp float) +0:104 'i' ( temp int) +0:104 'i' ( temp int) +0:105 Function Call: itf(i1;f1;i1; ( global void) +0:105 'i' ( temp int) +0:105 Convert uint to float ( temp float) +0:105 'u' ( temp uint) +0:105 'i' ( temp int) 0:? Linker Objects -0:? 'd' (in double) -0:? 'd3' (in 3-component vector of double) -0:? 'dm4' (in 4X4 matrix of double) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'd' ( in double) +0:? 'd3' ( in 3-component vector of double) +0:? 'dm4' ( in 4X4 matrix of double) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -298,259 +298,259 @@ Linked vertex stage: Shader version: 400 ERROR: node is still EOpNull! -0:8 Function Definition: foo1(d1;u1; (global void) +0:8 Function Definition: foo1(d1;u1; ( global void) 0:8 Function Parameters: -0:8 'a' (in double) -0:8 'b' (in uint) -0:9 Function Definition: foo1(d1;i1; (global void) +0:8 'a' ( in double) +0:8 'b' ( in uint) +0:9 Function Definition: foo1(d1;i1; ( global void) 0:9 Function Parameters: -0:9 'a' (in double) -0:9 'b' (in int) -0:10 Function Definition: foo1(d1;f1; (global void) +0:9 'a' ( in double) +0:9 'b' ( in int) +0:10 Function Definition: foo1(d1;f1; ( global void) 0:10 Function Parameters: -0:10 'a' (in double) -0:10 'b' (in float) -0:11 Function Definition: foo1(d1;d1; (global void) +0:10 'a' ( in double) +0:10 'b' ( in float) +0:11 Function Definition: foo1(d1;d1; ( global void) 0:11 Function Parameters: -0:11 'a' (in double) -0:11 'b' (in double) -0:13 Function Definition: foo2(d1;f1; (global void) +0:11 'a' ( in double) +0:11 'b' ( in double) +0:13 Function Definition: foo2(d1;f1; ( global void) 0:13 Function Parameters: -0:13 'a' (in double) -0:13 'b' (in float) -0:14 Function Definition: foo2(d1;d1; (global void) +0:13 'a' ( in double) +0:13 'b' ( in float) +0:14 Function Definition: foo2(d1;d1; ( global void) 0:14 Function Parameters: -0:14 'a' (in double) -0:14 'b' (in double) -0:16 Function Definition: foo3(d1;f1; (global void) +0:14 'a' ( in double) +0:14 'b' ( in double) +0:16 Function Definition: foo3(d1;f1; ( global void) 0:16 Function Parameters: -0:16 'a' (in double) -0:16 'b' (in float) -0:17 Function Definition: foo3(f1;d1; (global void) +0:16 'a' ( in double) +0:16 'b' ( in float) +0:17 Function Definition: foo3(f1;d1; ( global void) 0:17 Function Parameters: -0:17 'a' (in float) -0:17 'b' (in double) -0:19 Function Definition: ftd(i1;f1;d1; (global void) +0:17 'a' ( in float) +0:17 'b' ( in double) +0:19 Function Definition: ftd(i1;f1;d1; ( global void) 0:19 Function Parameters: -0:19 '' (in int) -0:19 '' (in float) -0:19 '' (in double) -0:20 Function Definition: ftd(u1;f1;d1; (global void) +0:19 '' ( in int) +0:19 '' ( in float) +0:19 '' ( in double) +0:20 Function Definition: ftd(u1;f1;d1; ( global void) 0:20 Function Parameters: -0:20 '' (in uint) -0:20 '' (in float) -0:20 '' (in double) -0:23 Function Definition: main( (global void) +0:20 '' ( in uint) +0:20 '' ( in float) +0:20 '' ( in double) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence -0:30 Function Call: foo1(d1;d1; (global void) -0:30 'd' (temp double) -0:30 'd' (temp double) -0:31 Function Call: foo1(d1;u1; (global void) -0:31 'd' (temp double) -0:31 'u' (temp uint) -0:32 Function Call: foo1(d1;i1; (global void) -0:32 'd' (temp double) -0:32 'i' (temp int) -0:33 Function Call: foo1(d1;f1; (global void) -0:33 'd' (temp double) -0:33 'f' (temp float) -0:35 Function Call: foo1(d1;d1; (global void) -0:35 Convert float to double (temp double) -0:35 'f' (temp float) -0:35 'd' (temp double) -0:36 Function Call: foo1(d1;u1; (global void) -0:36 Convert float to double (temp double) -0:36 'f' (temp float) -0:36 'u' (temp uint) -0:37 Function Call: foo1(d1;i1; (global void) -0:37 Convert float to double (temp double) -0:37 'f' (temp float) -0:37 'i' (temp int) -0:38 Function Call: foo1(d1;f1; (global void) -0:38 Convert float to double (temp double) -0:38 'f' (temp float) -0:38 'f' (temp float) -0:40 Function Call: foo1(d1;d1; (global void) -0:40 Convert uint to double (temp double) -0:40 'u' (temp uint) -0:40 'd' (temp double) -0:41 Function Call: foo1(d1;u1; (global void) -0:41 Convert uint to double (temp double) -0:41 'u' (temp uint) -0:41 'u' (temp uint) -0:42 Function Call: foo1(d1;i1; (global void) -0:42 Convert uint to double (temp double) -0:42 'u' (temp uint) -0:42 'i' (temp int) -0:43 Function Call: foo1(d1;f1; (global void) -0:43 Convert uint to double (temp double) -0:43 'u' (temp uint) -0:43 'f' (temp float) -0:45 Function Call: foo1(d1;d1; (global void) -0:45 Convert int to double (temp double) -0:45 'i' (temp int) -0:45 'd' (temp double) -0:46 Function Call: foo1(d1;u1; (global void) -0:46 Convert int to double (temp double) -0:46 'i' (temp int) -0:46 'u' (temp uint) -0:47 Function Call: foo1(d1;i1; (global void) -0:47 Convert int to double (temp double) -0:47 'i' (temp int) -0:47 'i' (temp int) -0:48 Function Call: foo1(d1;f1; (global void) -0:48 Convert int to double (temp double) -0:48 'i' (temp int) -0:48 'f' (temp float) -0:50 Function Call: foo2(d1;d1; (global void) -0:50 'd' (temp double) -0:50 'd' (temp double) -0:51 Function Call: foo2(d1;f1; (global void) -0:51 'd' (temp double) -0:51 Convert uint to float (temp float) -0:51 'u' (temp uint) -0:52 Function Call: foo2(d1;f1; (global void) -0:52 'd' (temp double) -0:52 Convert int to float (temp float) -0:52 'i' (temp int) -0:53 Function Call: foo2(d1;f1; (global void) -0:53 'd' (temp double) -0:53 'f' (temp float) -0:55 Function Call: foo2(d1;d1; (global void) -0:55 Convert float to double (temp double) -0:55 'f' (temp float) -0:55 'd' (temp double) -0:56 Function Call: foo2(d1;f1; (global void) -0:56 Convert float to double (temp double) -0:56 'f' (temp float) -0:56 Convert uint to float (temp float) -0:56 'u' (temp uint) -0:57 Function Call: foo2(d1;f1; (global void) -0:57 Convert float to double (temp double) -0:57 'f' (temp float) -0:57 Convert int to float (temp float) -0:57 'i' (temp int) -0:58 Function Call: foo2(d1;f1; (global void) -0:58 Convert float to double (temp double) -0:58 'f' (temp float) -0:58 'f' (temp float) -0:60 Function Call: foo2(d1;d1; (global void) -0:60 Convert uint to double (temp double) -0:60 'u' (temp uint) -0:60 'd' (temp double) -0:61 Function Call: foo2(d1;f1; (global void) -0:61 Convert uint to double (temp double) -0:61 'u' (temp uint) -0:61 Convert uint to float (temp float) -0:61 'u' (temp uint) -0:62 Function Call: foo2(d1;f1; (global void) -0:62 Convert uint to double (temp double) -0:62 'u' (temp uint) -0:62 Convert int to float (temp float) -0:62 'i' (temp int) -0:63 Function Call: foo2(d1;f1; (global void) -0:63 Convert uint to double (temp double) -0:63 'u' (temp uint) -0:63 'f' (temp float) -0:65 Function Call: foo2(d1;d1; (global void) -0:65 Convert int to double (temp double) -0:65 'i' (temp int) -0:65 'd' (temp double) -0:66 Function Call: foo2(d1;f1; (global void) -0:66 Convert int to double (temp double) -0:66 'i' (temp int) -0:66 Convert uint to float (temp float) -0:66 'u' (temp uint) -0:67 Function Call: foo2(d1;f1; (global void) -0:67 Convert int to double (temp double) -0:67 'i' (temp int) -0:67 Convert int to float (temp float) -0:67 'i' (temp int) -0:68 Function Call: foo2(d1;f1; (global void) -0:68 Convert int to double (temp double) -0:68 'i' (temp int) -0:68 'f' (temp float) +0:30 Function Call: foo1(d1;d1; ( global void) +0:30 'd' ( temp double) +0:30 'd' ( temp double) +0:31 Function Call: foo1(d1;u1; ( global void) +0:31 'd' ( temp double) +0:31 'u' ( temp uint) +0:32 Function Call: foo1(d1;i1; ( global void) +0:32 'd' ( temp double) +0:32 'i' ( temp int) +0:33 Function Call: foo1(d1;f1; ( global void) +0:33 'd' ( temp double) +0:33 'f' ( temp float) +0:35 Function Call: foo1(d1;d1; ( global void) +0:35 Convert float to double ( temp double) +0:35 'f' ( temp float) +0:35 'd' ( temp double) +0:36 Function Call: foo1(d1;u1; ( global void) +0:36 Convert float to double ( temp double) +0:36 'f' ( temp float) +0:36 'u' ( temp uint) +0:37 Function Call: foo1(d1;i1; ( global void) +0:37 Convert float to double ( temp double) +0:37 'f' ( temp float) +0:37 'i' ( temp int) +0:38 Function Call: foo1(d1;f1; ( global void) +0:38 Convert float to double ( temp double) +0:38 'f' ( temp float) +0:38 'f' ( temp float) +0:40 Function Call: foo1(d1;d1; ( global void) +0:40 Convert uint to double ( temp double) +0:40 'u' ( temp uint) +0:40 'd' ( temp double) +0:41 Function Call: foo1(d1;u1; ( global void) +0:41 Convert uint to double ( temp double) +0:41 'u' ( temp uint) +0:41 'u' ( temp uint) +0:42 Function Call: foo1(d1;i1; ( global void) +0:42 Convert uint to double ( temp double) +0:42 'u' ( temp uint) +0:42 'i' ( temp int) +0:43 Function Call: foo1(d1;f1; ( global void) +0:43 Convert uint to double ( temp double) +0:43 'u' ( temp uint) +0:43 'f' ( temp float) +0:45 Function Call: foo1(d1;d1; ( global void) +0:45 Convert int to double ( temp double) +0:45 'i' ( temp int) +0:45 'd' ( temp double) +0:46 Function Call: foo1(d1;u1; ( global void) +0:46 Convert int to double ( temp double) +0:46 'i' ( temp int) +0:46 'u' ( temp uint) +0:47 Function Call: foo1(d1;i1; ( global void) +0:47 Convert int to double ( temp double) +0:47 'i' ( temp int) +0:47 'i' ( temp int) +0:48 Function Call: foo1(d1;f1; ( global void) +0:48 Convert int to double ( temp double) +0:48 'i' ( temp int) +0:48 'f' ( temp float) +0:50 Function Call: foo2(d1;d1; ( global void) +0:50 'd' ( temp double) +0:50 'd' ( temp double) +0:51 Function Call: foo2(d1;f1; ( global void) +0:51 'd' ( temp double) +0:51 Convert uint to float ( temp float) +0:51 'u' ( temp uint) +0:52 Function Call: foo2(d1;f1; ( global void) +0:52 'd' ( temp double) +0:52 Convert int to float ( temp float) +0:52 'i' ( temp int) +0:53 Function Call: foo2(d1;f1; ( global void) +0:53 'd' ( temp double) +0:53 'f' ( temp float) +0:55 Function Call: foo2(d1;d1; ( global void) +0:55 Convert float to double ( temp double) +0:55 'f' ( temp float) +0:55 'd' ( temp double) +0:56 Function Call: foo2(d1;f1; ( global void) +0:56 Convert float to double ( temp double) +0:56 'f' ( temp float) +0:56 Convert uint to float ( temp float) +0:56 'u' ( temp uint) +0:57 Function Call: foo2(d1;f1; ( global void) +0:57 Convert float to double ( temp double) +0:57 'f' ( temp float) +0:57 Convert int to float ( temp float) +0:57 'i' ( temp int) +0:58 Function Call: foo2(d1;f1; ( global void) +0:58 Convert float to double ( temp double) +0:58 'f' ( temp float) +0:58 'f' ( temp float) +0:60 Function Call: foo2(d1;d1; ( global void) +0:60 Convert uint to double ( temp double) +0:60 'u' ( temp uint) +0:60 'd' ( temp double) +0:61 Function Call: foo2(d1;f1; ( global void) +0:61 Convert uint to double ( temp double) +0:61 'u' ( temp uint) +0:61 Convert uint to float ( temp float) +0:61 'u' ( temp uint) +0:62 Function Call: foo2(d1;f1; ( global void) +0:62 Convert uint to double ( temp double) +0:62 'u' ( temp uint) +0:62 Convert int to float ( temp float) +0:62 'i' ( temp int) +0:63 Function Call: foo2(d1;f1; ( global void) +0:63 Convert uint to double ( temp double) +0:63 'u' ( temp uint) +0:63 'f' ( temp float) +0:65 Function Call: foo2(d1;d1; ( global void) +0:65 Convert int to double ( temp double) +0:65 'i' ( temp int) +0:65 'd' ( temp double) +0:66 Function Call: foo2(d1;f1; ( global void) +0:66 Convert int to double ( temp double) +0:66 'i' ( temp int) +0:66 Convert uint to float ( temp float) +0:66 'u' ( temp uint) +0:67 Function Call: foo2(d1;f1; ( global void) +0:67 Convert int to double ( temp double) +0:67 'i' ( temp int) +0:67 Convert int to float ( temp float) +0:67 'i' ( temp int) +0:68 Function Call: foo2(d1;f1; ( global void) +0:68 Convert int to double ( temp double) +0:68 'i' ( temp int) +0:68 'f' ( temp float) 0:70 Constant: 0:70 0.000000 -0:71 Function Call: foo3(d1;f1; (global void) -0:71 'd' (temp double) -0:71 Convert uint to float (temp float) -0:71 'u' (temp uint) -0:72 Function Call: foo3(d1;f1; (global void) -0:72 'd' (temp double) -0:72 Convert int to float (temp float) -0:72 'i' (temp int) -0:73 Function Call: foo3(d1;f1; (global void) -0:73 'd' (temp double) -0:73 'f' (temp float) -0:75 Function Call: foo3(f1;d1; (global void) -0:75 'f' (temp float) -0:75 'd' (temp double) -0:76 Function Call: foo3(d1;f1; (global void) -0:76 Convert float to double (temp double) -0:76 'f' (temp float) -0:76 Convert uint to float (temp float) -0:76 'u' (temp uint) -0:77 Function Call: foo3(d1;f1; (global void) -0:77 Convert float to double (temp double) -0:77 'f' (temp float) -0:77 Convert int to float (temp float) -0:77 'i' (temp int) -0:78 Function Call: foo3(d1;f1; (global void) -0:78 Convert float to double (temp double) -0:78 'f' (temp float) -0:78 'f' (temp float) -0:80 Function Call: foo3(f1;d1; (global void) -0:80 Convert uint to float (temp float) -0:80 'u' (temp uint) -0:80 'd' (temp double) -0:81 Function Call: foo3(d1;f1; (global void) -0:81 Convert uint to double (temp double) -0:81 'u' (temp uint) -0:81 Convert uint to float (temp float) -0:81 'u' (temp uint) -0:82 Function Call: foo3(d1;f1; (global void) -0:82 Convert uint to double (temp double) -0:82 'u' (temp uint) -0:82 Convert int to float (temp float) -0:82 'i' (temp int) -0:83 Function Call: foo3(d1;f1; (global void) -0:83 Convert uint to double (temp double) -0:83 'u' (temp uint) -0:83 'f' (temp float) -0:85 Function Call: foo3(f1;d1; (global void) -0:85 Convert int to float (temp float) -0:85 'i' (temp int) -0:85 'd' (temp double) -0:86 Function Call: foo3(d1;f1; (global void) -0:86 Convert int to double (temp double) -0:86 'i' (temp int) -0:86 Convert uint to float (temp float) -0:86 'u' (temp uint) -0:87 Function Call: foo3(d1;f1; (global void) -0:87 Convert int to double (temp double) -0:87 'i' (temp int) -0:87 Convert int to float (temp float) -0:87 'i' (temp int) -0:88 Function Call: foo3(d1;f1; (global void) -0:88 Convert int to double (temp double) -0:88 'i' (temp int) -0:88 'f' (temp float) -0:90 Function Call: ftd(i1;f1;d1; (global void) -0:90 'i' (temp int) -0:90 'f' (temp float) -0:90 Convert float to double (temp double) -0:90 'f' (temp float) -0:91 Function Call: ftd(u1;f1;d1; (global void) -0:91 'u' (temp uint) -0:91 'f' (temp float) -0:91 Convert float to double (temp double) -0:91 'f' (temp float) +0:71 Function Call: foo3(d1;f1; ( global void) +0:71 'd' ( temp double) +0:71 Convert uint to float ( temp float) +0:71 'u' ( temp uint) +0:72 Function Call: foo3(d1;f1; ( global void) +0:72 'd' ( temp double) +0:72 Convert int to float ( temp float) +0:72 'i' ( temp int) +0:73 Function Call: foo3(d1;f1; ( global void) +0:73 'd' ( temp double) +0:73 'f' ( temp float) +0:75 Function Call: foo3(f1;d1; ( global void) +0:75 'f' ( temp float) +0:75 'd' ( temp double) +0:76 Function Call: foo3(d1;f1; ( global void) +0:76 Convert float to double ( temp double) +0:76 'f' ( temp float) +0:76 Convert uint to float ( temp float) +0:76 'u' ( temp uint) +0:77 Function Call: foo3(d1;f1; ( global void) +0:77 Convert float to double ( temp double) +0:77 'f' ( temp float) +0:77 Convert int to float ( temp float) +0:77 'i' ( temp int) +0:78 Function Call: foo3(d1;f1; ( global void) +0:78 Convert float to double ( temp double) +0:78 'f' ( temp float) +0:78 'f' ( temp float) +0:80 Function Call: foo3(f1;d1; ( global void) +0:80 Convert uint to float ( temp float) +0:80 'u' ( temp uint) +0:80 'd' ( temp double) +0:81 Function Call: foo3(d1;f1; ( global void) +0:81 Convert uint to double ( temp double) +0:81 'u' ( temp uint) +0:81 Convert uint to float ( temp float) +0:81 'u' ( temp uint) +0:82 Function Call: foo3(d1;f1; ( global void) +0:82 Convert uint to double ( temp double) +0:82 'u' ( temp uint) +0:82 Convert int to float ( temp float) +0:82 'i' ( temp int) +0:83 Function Call: foo3(d1;f1; ( global void) +0:83 Convert uint to double ( temp double) +0:83 'u' ( temp uint) +0:83 'f' ( temp float) +0:85 Function Call: foo3(f1;d1; ( global void) +0:85 Convert int to float ( temp float) +0:85 'i' ( temp int) +0:85 'd' ( temp double) +0:86 Function Call: foo3(d1;f1; ( global void) +0:86 Convert int to double ( temp double) +0:86 'i' ( temp int) +0:86 Convert uint to float ( temp float) +0:86 'u' ( temp uint) +0:87 Function Call: foo3(d1;f1; ( global void) +0:87 Convert int to double ( temp double) +0:87 'i' ( temp int) +0:87 Convert int to float ( temp float) +0:87 'i' ( temp int) +0:88 Function Call: foo3(d1;f1; ( global void) +0:88 Convert int to double ( temp double) +0:88 'i' ( temp int) +0:88 'f' ( temp float) +0:90 Function Call: ftd(i1;f1;d1; ( global void) +0:90 'i' ( temp int) +0:90 'f' ( temp float) +0:90 Convert float to double ( temp double) +0:90 'f' ( temp float) +0:91 Function Call: ftd(u1;f1;d1; ( global void) +0:91 'u' ( temp uint) +0:91 'f' ( temp float) +0:91 Convert float to double ( temp double) +0:91 'f' ( temp float) 0:? Linker Objects -0:? 'd' (in double) -0:? 'd3' (in 3-component vector of double) -0:? 'dm4' (in 4X4 matrix of double) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'd' ( in double) +0:? 'd3' ( in 3-component vector of double) +0:? 'dm4' ( in 4X4 matrix of double) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.geom.out index aa421dbe8bf..7219e4de1a7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.geom.out @@ -4,9 +4,9 @@ ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use ERROR: 0:32: 'gl_Position' : no such field in structure -ERROR: 0:32: '=' : cannot convert from 'temp block{in float PointSize gl_PointSize}' to 'temp 4-component vector of float' +ERROR: 0:32: '=' : cannot convert from ' temp block{ in float PointSize gl_PointSize}' to ' temp 4-component vector of float' ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared -ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void Position' +ERROR: 0:33: 'assign' : cannot convert from ' const 4-component vector of float' to 'layout( stream=0) gl_Position void Position' WARNING: 0:38: 'return' : type conversion on return values was not explicitly allowed until version 420 ERROR: 7 compilation errors. No code generated. @@ -17,45 +17,45 @@ max_vertices = -1 input primitive = none output primitive = none ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex) +0:5 move second child to first child ( temp int) +0:5 'gl_ViewportIndex' (layout( stream=0) out int ViewportIndex) 0:5 Constant: 0:5 7 (const int) -0:28 Function Definition: foo( (global void) +0:28 Function Definition: foo( ( global void) 0:28 Function Parameters: 0:30 Sequence 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'p' (temp float) -0:30 gl_PointSize: direct index for structure (in float PointSize) -0:30 direct index (temp block{in float PointSize gl_PointSize}) -0:30 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize}) +0:30 move second child to first child ( temp float) +0:30 'p' ( temp float) +0:30 gl_PointSize: direct index for structure ( in float PointSize) +0:30 direct index ( temp block{ in float PointSize gl_PointSize}) +0:30 'gl_in' ( in implicitly-sized array of block{ in float PointSize gl_PointSize}) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: 0:30 0 (const int) -0:31 move second child to first child (temp float) -0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize) -0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, }) +0:31 move second child to first child ( temp float) +0:31 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize float PointSize) +0:31 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, }) 0:31 Constant: 0:31 1 (const uint) -0:31 'p' (temp float) -0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position) -0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, }) +0:31 'p' ( temp float) +0:33 gl_Position: direct index for structure (layout( stream=0) gl_Position void Position) +0:33 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, }) 0:33 Constant: 0:33 0 (const uint) -0:36 Function Definition: foo5( (global float) +0:36 Function Definition: foo5( ( global float) 0:36 Function Parameters: 0:38 Sequence 0:38 Branch: Return with expression 0:38 Constant: 0:38 4.000000 0:? Linker Objects -0:? 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, }) +0:? 'gl_in' ( in implicitly-sized array of block{ in float PointSize gl_PointSize}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, }) Linked geometry stage: @@ -70,14 +70,14 @@ max_vertices = -1 input primitive = none output primitive = none ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex) +0:5 move second child to first child ( temp int) +0:5 'gl_ViewportIndex' (layout( stream=0) out int ViewportIndex) 0:5 Constant: 0:5 7 (const int) 0:? Linker Objects -0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, }) +0:? 'gl_in' ( in 2-element array of block{ in float PointSize gl_PointSize}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, }) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.tesc.out index 3305c407fd8..9b459b17f72 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.tesc.out @@ -7,12 +7,12 @@ ERROR: 1 compilation errors. No code generated. Shader version: 400 vertices = -1 ERROR: node is still EOpNull! -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:? Linker Objects -0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 1-element array of int) -0:? 'patchOut' (patch out 4-component vector of float) +0:? 'gl_out' ( out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 1-element array of int) +0:? 'patchOut' ( patch out 4-component vector of float) Linked tessellation control stage: @@ -22,10 +22,10 @@ ERROR: Linking tessellation control stage: At least one shader must specify an o Shader version: 400 vertices = -1 ERROR: node is still EOpNull! -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:? Linker Objects -0:? 'gl_out' (out 1-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'outa' (global 1-element array of int) -0:? 'patchOut' (patch out 4-component vector of float) +0:? 'gl_out' ( out 1-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'outa' ( global 1-element array of int) +0:? 'patchOut' ( patch out 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.vert.out index eb4f43a2e65..0e2c87e736f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/410.vert.out @@ -3,14 +3,14 @@ Warning, version 410 is not yet complete; most version-specific features are pre Shader version: 410 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects -0:? 'd' (in double) -0:? 'd3' (in 3-component vector of double) -0:? 'dm4' (in 4X4 matrix of double) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'd' ( in double) +0:? 'd3' ( in 3-component vector of double) +0:? 'dm4' ( in 4X4 matrix of double) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -18,12 +18,12 @@ Linked vertex stage: Shader version: 410 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects -0:? 'd' (in double) -0:? 'd3' (in 3-component vector of double) -0:? 'dm4' (in 4X4 matrix of double) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'd' ( in double) +0:? 'd3' ( in 3-component vector of double) +0:? 'dm4' ( in 4X4 matrix of double) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.comp.out index a2311d5a80c..07944de8fae 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.comp.out @@ -8,57 +8,57 @@ Shader version: 420 Requested GL_ARB_compute_shader local_size = (2, 4, 6) ERROR: node is still EOpNull! -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 'sfoo' (shared 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 'sfoo' ( shared 3-component vector of float) 0:13 Constant: 0:13 2.000000 0:13 4.000000 0:13 6.000000 -0:14 add second child into first child (temp 3-component vector of float) -0:14 'sfoo' (shared 3-component vector of float) -0:14 Convert uint to float (temp 3-component vector of float) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) +0:14 add second child into first child ( temp 3-component vector of float) +0:14 'sfoo' ( shared 3-component vector of float) +0:14 Convert uint to float ( temp 3-component vector of float) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) 0:14 Constant: 0:14 2 (const uint) 0:14 4 (const uint) 0:14 6 (const uint) -0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups) -0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID) -0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID) -0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID) -0:15 vector scale second child into first child (temp 3-component vector of float) -0:15 'sfoo' (shared 3-component vector of float) -0:15 Convert uint to float (temp float) -0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex) -0:16 add second child into first child (temp 3-component vector of float) -0:16 'sfoo' (shared 3-component vector of float) +0:14 'gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups) +0:14 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID) +0:14 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID) +0:14 'gl_GlobalInvocationID' ( in 3-component vector of uint GlobalInvocationID) +0:15 vector scale second child into first child ( temp 3-component vector of float) +0:15 'sfoo' ( shared 3-component vector of float) +0:15 Convert uint to float ( temp float) +0:15 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex) +0:16 add second child into first child ( temp 3-component vector of float) +0:16 'sfoo' ( shared 3-component vector of float) 0:16 Constant: 0:16 66559.000000 0:16 66559.000000 0:16 65599.000000 -0:17 vector scale second child into first child (temp 3-component vector of float) -0:17 'sfoo' (shared 3-component vector of float) +0:17 vector scale second child into first child ( temp 3-component vector of float) +0:17 'sfoo' ( shared 3-component vector of float) 0:17 Constant: 0:17 1057.000000 -0:23 Barrier (global void) -0:24 MemoryBarrier (global void) -0:25 MemoryBarrierAtomicCounter (global void) -0:26 MemoryBarrierBuffer (global void) -0:27 MemoryBarrierImage (global void) -0:28 MemoryBarrierShared (global void) -0:29 GroupMemoryBarrier (global void) +0:23 Barrier ( global void) +0:24 MemoryBarrier ( global void) +0:25 MemoryBarrierAtomicCounter ( global void) +0:26 MemoryBarrierBuffer ( global void) +0:27 MemoryBarrierImage ( global void) +0:28 MemoryBarrierShared ( global void) +0:29 GroupMemoryBarrier ( global void) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 4 (const uint) 0:? 6 (const uint) -0:? 'sfoo' (shared 3-component vector of float) +0:? 'sfoo' ( shared 3-component vector of float) Linked compute stage: @@ -68,55 +68,55 @@ Shader version: 420 Requested GL_ARB_compute_shader local_size = (2, 4, 6) ERROR: node is still EOpNull! -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 'sfoo' (shared 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 'sfoo' ( shared 3-component vector of float) 0:13 Constant: 0:13 2.000000 0:13 4.000000 0:13 6.000000 -0:14 add second child into first child (temp 3-component vector of float) -0:14 'sfoo' (shared 3-component vector of float) -0:14 Convert uint to float (temp 3-component vector of float) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) -0:14 add (temp 3-component vector of uint) +0:14 add second child into first child ( temp 3-component vector of float) +0:14 'sfoo' ( shared 3-component vector of float) +0:14 Convert uint to float ( temp 3-component vector of float) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) +0:14 add ( temp 3-component vector of uint) 0:14 Constant: 0:14 2 (const uint) 0:14 4 (const uint) 0:14 6 (const uint) -0:14 'gl_NumWorkGroups' (in 3-component vector of uint NumWorkGroups) -0:14 'gl_WorkGroupID' (in 3-component vector of uint WorkGroupID) -0:14 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID) -0:14 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID) -0:15 vector scale second child into first child (temp 3-component vector of float) -0:15 'sfoo' (shared 3-component vector of float) -0:15 Convert uint to float (temp float) -0:15 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex) -0:16 add second child into first child (temp 3-component vector of float) -0:16 'sfoo' (shared 3-component vector of float) +0:14 'gl_NumWorkGroups' ( in 3-component vector of uint NumWorkGroups) +0:14 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID) +0:14 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID) +0:14 'gl_GlobalInvocationID' ( in 3-component vector of uint GlobalInvocationID) +0:15 vector scale second child into first child ( temp 3-component vector of float) +0:15 'sfoo' ( shared 3-component vector of float) +0:15 Convert uint to float ( temp float) +0:15 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex) +0:16 add second child into first child ( temp 3-component vector of float) +0:16 'sfoo' ( shared 3-component vector of float) 0:16 Constant: 0:16 66559.000000 0:16 66559.000000 0:16 65599.000000 -0:17 vector scale second child into first child (temp 3-component vector of float) -0:17 'sfoo' (shared 3-component vector of float) +0:17 vector scale second child into first child ( temp 3-component vector of float) +0:17 'sfoo' ( shared 3-component vector of float) 0:17 Constant: 0:17 1057.000000 -0:23 Barrier (global void) -0:24 MemoryBarrier (global void) -0:25 MemoryBarrierAtomicCounter (global void) -0:26 MemoryBarrierBuffer (global void) -0:27 MemoryBarrierImage (global void) -0:28 MemoryBarrierShared (global void) -0:29 GroupMemoryBarrier (global void) +0:23 Barrier ( global void) +0:24 MemoryBarrier ( global void) +0:25 MemoryBarrierAtomicCounter ( global void) +0:26 MemoryBarrierBuffer ( global void) +0:27 MemoryBarrierImage ( global void) +0:28 MemoryBarrierShared ( global void) +0:29 GroupMemoryBarrier ( global void) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 4 (const uint) 0:? 6 (const uint) -0:? 'sfoo' (shared 3-component vector of float) +0:? 'sfoo' ( shared 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.frag.out index 3b4c9be3051..31fe7f96f88 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.frag.out @@ -10,17 +10,17 @@ ERROR: 3 compilation errors. No code generated. Shader version: 420 using depth_any ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'gl_FragDepth' (gl_FragDepth float FragDepth) +0:8 move second child to first child ( temp float) +0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth) 0:8 Constant: 0:8 0.300000 0:? Linker Objects -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'depth' (smooth in float) -0:? 'a' (layout(binding=0 offset=0 ) uniform implicitly-sized array of atomic_uint) +0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:? 'depth' ( smooth in float) +0:? 'a' (layout( binding=0 offset=0) uniform implicitly-sized array of atomic_uint) Linked fragment stage: @@ -29,15 +29,15 @@ Linked fragment stage: Shader version: 420 using depth_any ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'gl_FragDepth' (gl_FragDepth float FragDepth) +0:8 move second child to first child ( temp float) +0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth) 0:8 Constant: 0:8 0.300000 0:? Linker Objects -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'depth' (smooth in float) -0:? 'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint) +0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:? 'depth' ( smooth in float) +0:? 'a' (layout( binding=0 offset=0) uniform 1-element array of atomic_uint) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.geom.out index ca459a64a2d..0fccfe0f2fa 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.geom.out @@ -15,51 +15,51 @@ max_vertices = -1 input primitive = triangles output primitive = none ERROR: node is still EOpNull! -0:7 Function Definition: foo( (global void) +0:7 Function Definition: foo( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Constant: 0:9 1 (const int) -0:10 gl_Position: direct index for structure (in 4-component vector of float Position) -0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:10 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:10 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:10 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:10 Constant: 0:10 1 (const int) 0:10 Constant: 0:10 0 (const int) -0:11 gl_Position: direct index for structure (in 4-component vector of float Position) -0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:11 'i' (global int) +0:11 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:11 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:11 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:11 'i' ( global int) 0:11 Constant: 0:11 0 (const int) -0:18 Function Definition: foo3( (global void) +0:18 Function Definition: foo3( ( global void) 0:18 Function Parameters: 0:20 Sequence 0:20 Constant: 0:20 3 (const int) -0:21 gl_Position: direct index for structure (in 4-component vector of float Position) -0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:21 'i' (global int) +0:21 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:21 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:21 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:21 'i' ( global int) 0:21 Constant: 0:21 0 (const int) 0:22 Constant: 0:22 3 (const int) -0:29 Function Definition: foo4( (global void) +0:29 Function Definition: foo4( ( global void) 0:29 Function Parameters: 0:? Sequence 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:40 textureGatherOffset (global 4-component vector of float) -0:40 's2D' (uniform sampler2D) -0:40 direct index (temp 2-component vector of float) -0:40 'coord' (in 3-element array of 2-component vector of float) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:40 textureGatherOffset ( global 4-component vector of float) +0:40 's2D' ( uniform sampler2D) +0:40 direct index ( temp 2-component vector of float) +0:40 'coord' ( in 3-element array of 2-component vector of float) 0:40 Constant: 0:40 0 (const int) -0:40 vector swizzle (temp 2-component vector of int) -0:40 indirect index (temp 2-component vector of int) +0:40 vector swizzle ( temp 2-component vector of int) +0:40 indirect index ( temp 2-component vector of int) 0:40 Constant: 0:40 0 (const int) 0:40 1 (const int) @@ -71,15 +71,15 @@ ERROR: node is still EOpNull! 0:40 0 (const int) 0:40 2 (const int) 0:40 1 (const int) -0:40 'i' (global int) +0:40 'i' ( global int) 0:40 Sequence 0:40 Constant: 0:40 0 (const int) 0:40 Constant: 0:40 1 (const int) -0:42 move second child to first child (temp 2-component vector of int) -0:42 vector swizzle (temp 2-component vector of int) -0:42 indirect index (temp 2-component vector of int) +0:42 move second child to first child ( temp 2-component vector of int) +0:42 vector swizzle ( temp 2-component vector of int) +0:42 indirect index ( temp 2-component vector of int) 0:42 Constant: 0:42 0 (const int) 0:42 1 (const int) @@ -91,7 +91,7 @@ ERROR: node is still EOpNull! 0:42 0 (const int) 0:42 2 (const int) 0:42 1 (const int) -0:42 'i' (global int) +0:42 'i' ( global int) 0:42 Sequence 0:42 Constant: 0:42 0 (const int) @@ -100,34 +100,34 @@ ERROR: node is still EOpNull! 0:42 Constant: 0:42 3 (const int) 0:42 3 (const int) -0:43 move second child to first child (temp float) -0:43 direct index (temp float) -0:43 'v4' (uniform 4-component vector of float) +0:43 move second child to first child ( temp float) +0:43 direct index ( temp float) +0:43 'v4' ( uniform 4-component vector of float) 0:43 Constant: 0:43 0 (const int) 0:43 Constant: 0:43 3.200000 -0:44 vector swizzle (temp 2-component vector of float) -0:44 'v4' (uniform 4-component vector of float) +0:44 vector swizzle ( temp 2-component vector of float) +0:44 'v4' ( uniform 4-component vector of float) 0:44 Sequence 0:44 Constant: 0:44 0 (const int) 0:44 Constant: 0:44 1 (const int) -0:52 Function Definition: foo5( (global float) +0:52 Function Definition: foo5( ( global float) 0:52 Function Parameters: 0:54 Sequence 0:54 Branch: Return with expression -0:54 Convert int to float (temp float) -0:54 'i' (global int) +0:54 Convert int to float ( temp float) +0:54 'i' ( global int) 0:? Linker Objects -0:? 'i' (global int) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:? 'color3' (in 3-element array of 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'coord' (in 3-element array of 2-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'i' ( global int) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'color3' ( in 3-element array of 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'coord' ( in 3-element array of 2-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance}) Linked geometry stage: @@ -143,11 +143,11 @@ input primitive = triangles output primitive = none ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'i' (global int) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) -0:? 'color3' (in 3-element array of 4-component vector of float) -0:? 's2D' (uniform sampler2D) -0:? 'coord' (in 3-element array of 2-component vector of float) -0:? 'v4' (uniform 4-component vector of float) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'i' ( global int) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'color3' ( in 3-element array of 4-component vector of float) +0:? 's2D' ( uniform sampler2D) +0:? 'coord' ( in 3-element array of 2-component vector of float) +0:? 'v4' ( uniform 4-component vector of float) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tesc.out index 30839ec8db8..83816f30b51 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tesc.out @@ -4,7 +4,7 @@ ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size o ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb ERROR: 0:26: 'gl_PointSize' : no such field in structure -ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}' +ERROR: 0:26: 'assign' : cannot convert from ' temp float' to ' temp block{ out 4-component vector of float Position gl_Position}' ERROR: 0:29: 'out' : type must be an array: outf ERROR: 0:43: 'vertices' : must be greater than 0 ERROR: 7 compilation errors. No code generated. @@ -14,36 +14,36 @@ Shader version: 420 Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'p' (temp 4-component vector of float) -0:17 gl_Position: direct index for structure (in 4-component vector of float Position) -0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'p' ( temp 4-component vector of float) +0:17 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 0 (const int) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'ps' (temp float) -0:18 gl_PointSize: direct index for structure (in float PointSize) -0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:18 move second child to first child ( temp float) +0:18 'ps' ( temp float) +0:18 gl_PointSize: direct index for structure ( in float PointSize) +0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'cd' (temp float) -0:19 direct index (temp float ClipDistance) -0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance) -0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:19 move second child to first child ( temp float) +0:19 'cd' ( temp float) +0:19 direct index ( temp float ClipDistance) +0:19 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance) +0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -51,35 +51,35 @@ ERROR: node is still EOpNull! 0:19 Constant: 0:19 2 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'pvi' (temp int) -0:21 'gl_PatchVerticesIn' (in int PatchVertices) +0:21 move second child to first child ( temp int) +0:21 'pvi' ( temp int) +0:21 'gl_PatchVerticesIn' ( in int PatchVertices) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'pid' (temp int) -0:22 'gl_PrimitiveID' (in int PrimitiveID) +0:22 move second child to first child ( temp int) +0:22 'pid' ( temp int) +0:22 'gl_PrimitiveID' ( in int PrimitiveID) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'iid' (temp int) -0:23 'gl_InvocationID' (in int InvocationID) -0:25 move second child to first child (temp 4-component vector of float) -0:25 gl_Position: direct index for structure (out 4-component vector of float Position) -0:25 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:25 'gl_InvocationID' (in int InvocationID) +0:23 move second child to first child ( temp int) +0:23 'iid' ( temp int) +0:23 'gl_InvocationID' ( in int InvocationID) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:25 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_InvocationID' ( in int InvocationID) 0:25 Constant: 0:25 0 (const int) -0:25 'p' (temp 4-component vector of float) -0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:26 'gl_InvocationID' (in int InvocationID) -0:34 Function Definition: foo( (global void) +0:25 'p' ( temp 4-component vector of float) +0:26 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_InvocationID' ( in int InvocationID) +0:34 Function Definition: foo( ( global void) 0:34 Function Parameters: 0:36 Sequence -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 logical-or (temp bool) -0:36 Compare Not Equal (temp bool) +0:36 logical-or ( temp bool) +0:36 Compare Not Equal ( temp bool) 0:36 Constant: 0:36 -0.625000 0:36 -0.500000 @@ -89,11 +89,11 @@ ERROR: node is still EOpNull! 0:36 -0.250000 0:36 -0.125000 0:36 0.000000 -0:36 direct index (layout(location=0 ) temp 2X4 matrix of double) -0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) +0:36 direct index (layout( location=0) temp 2X4 matrix of double) +0:36 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) 0:36 Constant: 0:36 0 (const int) -0:37 Compare Not Equal (temp bool) +0:37 Compare Not Equal ( temp bool) 0:37 Constant: 0:37 0.375000 0:37 0.500000 @@ -103,19 +103,19 @@ ERROR: node is still EOpNull! 0:37 0.750000 0:37 0.875000 0:37 -0.625000 -0:37 direct index (layout(location=12 ) temp 2X4 matrix of double) -0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:37 direct index (layout( location=12) temp 2X4 matrix of double) +0:37 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) 0:37 Constant: 0:37 0 (const int) 0:36 true case is null 0:? Linker Objects -0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:? 'a' (out 3-element array of int) -0:? 'outb' (out 5-element array of int) -0:? 'outc' (out 4-element array of int) -0:? 'outf' (out float) -0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) -0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:? 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:? 'a' ( out 3-element array of int) +0:? 'outb' ( out 5-element array of int) +0:? 'outc' ( out 4-element array of int) +0:? 'outf' ( out float) +0:? 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) +0:? 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) Linked tessellation control stage: @@ -125,36 +125,36 @@ Shader version: 420 Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'p' (temp 4-component vector of float) -0:17 gl_Position: direct index for structure (in 4-component vector of float Position) -0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'p' ( temp 4-component vector of float) +0:17 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: 0:17 0 (const int) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'ps' (temp float) -0:18 gl_PointSize: direct index for structure (in float PointSize) -0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:18 move second child to first child ( temp float) +0:18 'ps' ( temp float) +0:18 gl_PointSize: direct index for structure ( in float PointSize) +0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'cd' (temp float) -0:19 direct index (temp float ClipDistance) -0:19 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance) -0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:19 move second child to first child ( temp float) +0:19 'cd' ( temp float) +0:19 direct index ( temp float ClipDistance) +0:19 gl_ClipDistance: direct index for structure ( in 3-element array of float ClipDistance) +0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) +0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -162,34 +162,34 @@ ERROR: node is still EOpNull! 0:19 Constant: 0:19 2 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'pvi' (temp int) -0:21 'gl_PatchVerticesIn' (in int PatchVertices) +0:21 move second child to first child ( temp int) +0:21 'pvi' ( temp int) +0:21 'gl_PatchVerticesIn' ( in int PatchVertices) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'pid' (temp int) -0:22 'gl_PrimitiveID' (in int PrimitiveID) +0:22 move second child to first child ( temp int) +0:22 'pid' ( temp int) +0:22 'gl_PrimitiveID' ( in int PrimitiveID) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'iid' (temp int) -0:23 'gl_InvocationID' (in int InvocationID) -0:25 move second child to first child (temp 4-component vector of float) -0:25 gl_Position: direct index for structure (out 4-component vector of float Position) -0:25 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:25 'gl_InvocationID' (in int InvocationID) +0:23 move second child to first child ( temp int) +0:23 'iid' ( temp int) +0:23 'gl_InvocationID' ( in int InvocationID) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:25 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:25 'gl_InvocationID' ( in int InvocationID) 0:25 Constant: 0:25 0 (const int) -0:25 'p' (temp 4-component vector of float) -0:26 indirect index (temp block{out 4-component vector of float Position gl_Position}) -0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:26 'gl_InvocationID' (in int InvocationID) +0:25 'p' ( temp 4-component vector of float) +0:26 indirect index ( temp block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:26 'gl_InvocationID' ( in int InvocationID) 0:? Linker Objects -0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position}) -0:? 'a' (out 3-element array of int) -0:? 'outb' (out 5-element array of int) -0:? 'outc' (out 4-element array of int) -0:? 'outf' (out float) -0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double) -0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double) +0:? 'gl_out' ( out 3-element array of block{ out 4-component vector of float Position gl_Position}) +0:? 'a' ( out 3-element array of int) +0:? 'outb' ( out 5-element array of int) +0:? 'outc' ( out 4-element array of int) +0:? 'outf' ( out float) +0:? 'vs_tcs_first' (layout( location=0) in 32-element array of 2X4 matrix of double) +0:? 'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tese.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tese.out index b8379d1500e..9986c2a2625 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tese.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.tese.out @@ -1,17 +1,17 @@ 420.tese Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. -ERROR: 0:7: '=' : cannot convert from 'const 3-element array of float' to 'global 2-element array of float' -ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float -ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float -ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float +ERROR: 0:7: '=' : cannot convert from ' const 3-element array of float' to ' global 2-element array of float' +ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): temp 2-component vector of float +ERROR: 0:9: 'initializer list' : wrong number of matrix columns: temp 3X3 matrix of float +ERROR: 0:10: 'initializer list' : wrong number of matrix columns: temp 2X2 matrix of float ERROR: 0:25: 'initializer list' : wrong number of structure members -ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int' -ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'temp 4-component vector of float' -ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float' -ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments -ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float' -ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float -ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}' +ERROR: 0:27: '=' : cannot convert from ' const bool' to ' global int' +ERROR: 0:28: 'constructor' : cannot convert parameter 2 from ' const float' to ' temp 4-component vector of float' +ERROR: 0:29: 'constructor' : cannot convert parameter 2 from ' const 2X2 matrix of float' to ' const 4-component vector of float' +ERROR: 0:29: ' const 2-element array of 4-component vector of float' : cannot construct with these arguments +ERROR: 0:29: '=' : cannot convert from ' const float' to ' global 2-element array of 4-component vector of float' +ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float +ERROR: 0:40: 'constructor' : cannot convert parameter 1 from ' temp float' to ' temp structure{ global float s, global float t}' ERROR: 0:70: 'initializer list' : wrong number of structure members ERROR: 13 compilation errors. No code generated. @@ -22,28 +22,28 @@ vertex spacing = none triangle order = none ERROR: node is still EOpNull! 0:4 Sequence -0:4 move second child to first child (temp 2X2 matrix of float) -0:4 'b' (global 2X2 matrix of float) +0:4 move second child to first child ( temp 2X2 matrix of float) +0:4 'b' ( global 2X2 matrix of float) 0:4 Constant: 0:4 1.000000 0:4 0.000000 0:4 0.000000 0:4 1.000000 0:15 Sequence -0:15 move second child to first child (temp structure{global float a, global int b}) -0:15 'e' (global structure{global float a, global int b}) +0:15 move second child to first child ( temp structure{ global float a, global int b}) +0:15 'e' ( global structure{ global float a, global int b}) 0:15 Constant: 0:15 1.200000 0:15 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp structure{global float a, global int b}) -0:20 'e2' (global structure{global float a, global int b}) +0:20 move second child to first child ( temp structure{ global float a, global int b}) +0:20 'e2' ( global structure{ global float a, global int b}) 0:20 Constant: 0:20 1.000000 0:20 3 (const int) 0:42 Sequence -0:42 move second child to first child (temp 5-element array of float) -0:42 'b5' (global 5-element array of float) +0:42 move second child to first child ( temp 5-element array of float) +0:42 'b5' ( global 5-element array of float) 0:42 Constant: 0:42 3.400000 0:42 4.200000 @@ -51,48 +51,48 @@ ERROR: node is still EOpNull! 0:42 5.200000 0:42 1.100000 0:55 Sequence -0:55 move second child to first child (temp structure{global int f}) -0:55 'single1' (global structure{global int f}) +0:55 move second child to first child ( temp structure{ global int f}) +0:55 'single1' ( global structure{ global int f}) 0:55 Constant: 0:55 10 (const int) 0:58 Sequence -0:58 move second child to first child (temp structure{global 2-component vector of uint v}) -0:58 'single2' (global structure{global 2-component vector of uint v}) +0:58 move second child to first child ( temp structure{ global 2-component vector of uint v}) +0:58 'single2' ( global structure{ global 2-component vector of uint v}) 0:58 Constant: 0:58 1 (const uint) 0:58 2 (const uint) 0:61 Sequence -0:61 move second child to first child (temp structure{global structure{global int f} s1}) -0:61 'single3' (global structure{global structure{global int f} s1}) +0:61 move second child to first child ( temp structure{ global structure{ global int f} s1}) +0:61 'single3' ( global structure{ global structure{ global int f} s1}) 0:61 Constant: 0:61 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1}) -0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) +0:64 move second child to first child ( temp structure{ global structure{ global 2-component vector of uint v} s1}) +0:64 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) 0:64 Constant: 0:64 4 (const uint) 0:64 5 (const uint) 0:79 Sequence -0:79 move second child to first child (temp 3-component vector of float) -0:79 'av3' (global 3-component vector of float) -0:79 Construct vec3 (global 3-component vector of float) -0:79 'vc1' (global float) -0:79 'vc2' (global float) -0:79 'vc3' (global float) +0:79 move second child to first child ( temp 3-component vector of float) +0:79 'av3' ( global 3-component vector of float) +0:79 Construct vec3 ( global 3-component vector of float) +0:79 'vc1' ( global float) +0:79 'vc2' ( global float) +0:79 'vc3' ( global float) 0:80 Sequence -0:80 move second child to first child (temp 3-component vector of float) -0:80 'bv3' (global 3-component vector of float) -0:80 Construct vec3 (temp 3-component vector of float) -0:80 'vc1' (global float) -0:80 'vc2' (global float) -0:80 'vc3' (global float) -0:82 Function Definition: main( (global void) +0:80 move second child to first child ( temp 3-component vector of float) +0:80 'bv3' ( global 3-component vector of float) +0:80 Construct vec3 ( temp 3-component vector of float) +0:80 'vc1' ( global float) +0:80 'vc2' ( global float) +0:80 'vc3' ( global float) +0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:84 Sequence -0:84 MemoryBarrier (global void) -0:86 Test condition and select (temp void) +0:84 MemoryBarrier ( global void) +0:86 Test condition and select ( temp void) 0:86 Condition -0:86 Compare Equal (temp bool) +0:86 Compare Equal ( temp bool) 0:86 Constant: 0:86 1 (const uint) 0:86 2 (const uint) @@ -110,43 +110,43 @@ ERROR: node is still EOpNull! 0:86 0.000000 0:86 6.000000 0:86 0.000000 -0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:86 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:86 true case is null -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition 0:88 Constant: 0:88 true (const bool) 0:88 true case is null 0:? Linker Objects -0:? 'a' (const 2X2 matrix of float) +0:? 'a' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'b' (global 2X2 matrix of float) -0:? 'c' (const 2X2 matrix of float) +0:? 'b' ( global 2X2 matrix of float) +0:? 'c' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'a2' (global 2-element array of float) -0:? 'b2' (global 2-component vector of float) -0:? 'c2' (global 3X3 matrix of float) -0:? 'd' (global 2X2 matrix of float) -0:? 'e' (global structure{global float a, global int b}) -0:? 'e2' (global structure{global float a, global int b}) -0:? 'e3' (global structure{global float a, global int b}) -0:? 'a3' (global int) -0:? 'b3' (global 2-element array of 4-component vector of float) -0:? 'b4' (global 2-element array of 4-component vector of float) -0:? 'c3' (global 4X2 matrix of float) -0:? 'd2' (global implicitly-sized array of structure{global float s, global float t}) -0:? 'b5' (global 5-element array of float) -0:? 'single1' (global structure{global int f}) -0:? 'single2' (global structure{global 2-component vector of uint v}) -0:? 'single3' (global structure{global structure{global int f} s1}) -0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) -0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'a2' ( global 2-element array of float) +0:? 'b2' ( global 2-component vector of float) +0:? 'c2' ( global 3X3 matrix of float) +0:? 'd' ( global 2X2 matrix of float) +0:? 'e' ( global structure{ global float a, global int b}) +0:? 'e2' ( global structure{ global float a, global int b}) +0:? 'e3' ( global structure{ global float a, global int b}) +0:? 'a3' ( global int) +0:? 'b3' ( global 2-element array of 4-component vector of float) +0:? 'b4' ( global 2-element array of 4-component vector of float) +0:? 'c3' ( global 4X2 matrix of float) +0:? 'd2' ( global implicitly-sized array of structure{ global float s, global float t}) +0:? 'b5' ( global 5-element array of float) +0:? 'single1' ( global structure{ global int f}) +0:? 'single2' ( global structure{ global 2-component vector of uint v}) +0:? 'single3' ( global structure{ global structure{ global int f} s1}) +0:? 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) +0:? 'constructed' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -163,8 +163,8 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) -0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) +0:? 'curlyInit' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -181,11 +181,11 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'vc1' (global float) -0:? 'vc2' (global float) -0:? 'vc3' (global float) -0:? 'av3' (global 3-component vector of float) -0:? 'bv3' (global 3-component vector of float) +0:? 'vc1' ( global float) +0:? 'vc2' ( global float) +0:? 'vc3' ( global float) +0:? 'av3' ( global 3-component vector of float) +0:? 'bv3' ( global 3-component vector of float) Linked tessellation evaluation stage: @@ -198,28 +198,28 @@ vertex spacing = equal_spacing triangle order = ccw ERROR: node is still EOpNull! 0:4 Sequence -0:4 move second child to first child (temp 2X2 matrix of float) -0:4 'b' (global 2X2 matrix of float) +0:4 move second child to first child ( temp 2X2 matrix of float) +0:4 'b' ( global 2X2 matrix of float) 0:4 Constant: 0:4 1.000000 0:4 0.000000 0:4 0.000000 0:4 1.000000 0:15 Sequence -0:15 move second child to first child (temp structure{global float a, global int b}) -0:15 'e' (global structure{global float a, global int b}) +0:15 move second child to first child ( temp structure{ global float a, global int b}) +0:15 'e' ( global structure{ global float a, global int b}) 0:15 Constant: 0:15 1.200000 0:15 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp structure{global float a, global int b}) -0:20 'e2' (global structure{global float a, global int b}) +0:20 move second child to first child ( temp structure{ global float a, global int b}) +0:20 'e2' ( global structure{ global float a, global int b}) 0:20 Constant: 0:20 1.000000 0:20 3 (const int) 0:42 Sequence -0:42 move second child to first child (temp 5-element array of float) -0:42 'b5' (global 5-element array of float) +0:42 move second child to first child ( temp 5-element array of float) +0:42 'b5' ( global 5-element array of float) 0:42 Constant: 0:42 3.400000 0:42 4.200000 @@ -227,48 +227,48 @@ ERROR: node is still EOpNull! 0:42 5.200000 0:42 1.100000 0:55 Sequence -0:55 move second child to first child (temp structure{global int f}) -0:55 'single1' (global structure{global int f}) +0:55 move second child to first child ( temp structure{ global int f}) +0:55 'single1' ( global structure{ global int f}) 0:55 Constant: 0:55 10 (const int) 0:58 Sequence -0:58 move second child to first child (temp structure{global 2-component vector of uint v}) -0:58 'single2' (global structure{global 2-component vector of uint v}) +0:58 move second child to first child ( temp structure{ global 2-component vector of uint v}) +0:58 'single2' ( global structure{ global 2-component vector of uint v}) 0:58 Constant: 0:58 1 (const uint) 0:58 2 (const uint) 0:61 Sequence -0:61 move second child to first child (temp structure{global structure{global int f} s1}) -0:61 'single3' (global structure{global structure{global int f} s1}) +0:61 move second child to first child ( temp structure{ global structure{ global int f} s1}) +0:61 'single3' ( global structure{ global structure{ global int f} s1}) 0:61 Constant: 0:61 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1}) -0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) +0:64 move second child to first child ( temp structure{ global structure{ global 2-component vector of uint v} s1}) +0:64 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) 0:64 Constant: 0:64 4 (const uint) 0:64 5 (const uint) 0:79 Sequence -0:79 move second child to first child (temp 3-component vector of float) -0:79 'av3' (global 3-component vector of float) -0:79 Construct vec3 (global 3-component vector of float) -0:79 'vc1' (global float) -0:79 'vc2' (global float) -0:79 'vc3' (global float) +0:79 move second child to first child ( temp 3-component vector of float) +0:79 'av3' ( global 3-component vector of float) +0:79 Construct vec3 ( global 3-component vector of float) +0:79 'vc1' ( global float) +0:79 'vc2' ( global float) +0:79 'vc3' ( global float) 0:80 Sequence -0:80 move second child to first child (temp 3-component vector of float) -0:80 'bv3' (global 3-component vector of float) -0:80 Construct vec3 (temp 3-component vector of float) -0:80 'vc1' (global float) -0:80 'vc2' (global float) -0:80 'vc3' (global float) -0:82 Function Definition: main( (global void) +0:80 move second child to first child ( temp 3-component vector of float) +0:80 'bv3' ( global 3-component vector of float) +0:80 Construct vec3 ( temp 3-component vector of float) +0:80 'vc1' ( global float) +0:80 'vc2' ( global float) +0:80 'vc3' ( global float) +0:82 Function Definition: main( ( global void) 0:82 Function Parameters: 0:84 Sequence -0:84 MemoryBarrier (global void) -0:86 Test condition and select (temp void) +0:84 MemoryBarrier ( global void) +0:86 Test condition and select ( temp void) 0:86 Condition -0:86 Compare Equal (temp bool) +0:86 Compare Equal ( temp bool) 0:86 Constant: 0:86 1 (const uint) 0:86 2 (const uint) @@ -286,43 +286,43 @@ ERROR: node is still EOpNull! 0:86 0.000000 0:86 6.000000 0:86 0.000000 -0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:86 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:86 true case is null -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition 0:88 Constant: 0:88 true (const bool) 0:88 true case is null 0:? Linker Objects -0:? 'a' (const 2X2 matrix of float) +0:? 'a' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'b' (global 2X2 matrix of float) -0:? 'c' (const 2X2 matrix of float) +0:? 'b' ( global 2X2 matrix of float) +0:? 'c' ( const 2X2 matrix of float) 0:? 1.000000 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'a2' (global 2-element array of float) -0:? 'b2' (global 2-component vector of float) -0:? 'c2' (global 3X3 matrix of float) -0:? 'd' (global 2X2 matrix of float) -0:? 'e' (global structure{global float a, global int b}) -0:? 'e2' (global structure{global float a, global int b}) -0:? 'e3' (global structure{global float a, global int b}) -0:? 'a3' (global int) -0:? 'b3' (global 2-element array of 4-component vector of float) -0:? 'b4' (global 2-element array of 4-component vector of float) -0:? 'c3' (global 4X2 matrix of float) -0:? 'd2' (global 1-element array of structure{global float s, global float t}) -0:? 'b5' (global 5-element array of float) -0:? 'single1' (global structure{global int f}) -0:? 'single2' (global structure{global 2-component vector of uint v}) -0:? 'single3' (global structure{global structure{global int f} s1}) -0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1}) -0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'a2' ( global 2-element array of float) +0:? 'b2' ( global 2-component vector of float) +0:? 'c2' ( global 3X3 matrix of float) +0:? 'd' ( global 2X2 matrix of float) +0:? 'e' ( global structure{ global float a, global int b}) +0:? 'e2' ( global structure{ global float a, global int b}) +0:? 'e3' ( global structure{ global float a, global int b}) +0:? 'a3' ( global int) +0:? 'b3' ( global 2-element array of 4-component vector of float) +0:? 'b4' ( global 2-element array of 4-component vector of float) +0:? 'c3' ( global 4X2 matrix of float) +0:? 'd2' ( global 1-element array of structure{ global float s, global float t}) +0:? 'b5' ( global 5-element array of float) +0:? 'single1' ( global structure{ global int f}) +0:? 'single2' ( global structure{ global 2-component vector of uint v}) +0:? 'single3' ( global structure{ global structure{ global int f} s1}) +0:? 'single4' ( global structure{ global structure{ global 2-component vector of uint v} s1}) +0:? 'constructed' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -339,8 +339,8 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) -0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s}) +0:? 'curlybad1' ( temp structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) +0:? 'curlyInit' ( const structure{ global 2-component vector of uint uv2, global 2-element array of structure{ global float f, global 2X3 matrix of float m23} s}) 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3.000000 @@ -357,9 +357,9 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 6.000000 0:? 0.000000 -0:? 'vc1' (global float) -0:? 'vc2' (global float) -0:? 'vc3' (global float) -0:? 'av3' (global 3-component vector of float) -0:? 'bv3' (global 3-component vector of float) +0:? 'vc1' ( global float) +0:? 'vc2' ( global float) +0:? 'vc3' ( global float) +0:? 'av3' ( global 3-component vector of float) +0:? 'bv3' ( global 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.vert.out index b8e1306d787..8fb8546eef8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420.vert.out @@ -7,17 +7,17 @@ ERROR: 0:7: '' : vertex input cannot be further qualified ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD) ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample) ERROR: 0:13: 'uniform' : too many storage qualifiers -ERROR: 0:18: '=' : global const initializers must be constant 'const int' +ERROR: 0:18: '=' : global const initializers must be constant ' const int' ERROR: 0:20: 'const' : no qualifiers allowed for function return ERROR: 0:27: '' : array size must be a constant integer expression ERROR: 0:38: 'j' : undeclared identifier -ERROR: 0:38: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:38: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:39: 'k' : undeclared identifier -ERROR: 0:39: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:39: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:40: 'j' : undeclared identifier -ERROR: 0:40: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:40: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:44: 'jj' : undeclared identifier -ERROR: 0:44: '=' : cannot convert from 'temp float' to 'temp int' +ERROR: 0:44: '=' : cannot convert from ' temp float' to ' temp int' ERROR: 0:54: 'y' : vector swizzle selection out of range ERROR: 0:62: 'xxxxx' : vector swizzle too long ERROR: 0:63: 'xxy' : vector swizzle selection out of range @@ -31,9 +31,9 @@ ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImag ERROR: 0:85: 'patch' : not supported in this stage: vertex ERROR: 0:85: '' : vertex input cannot be further qualified ERROR: 0:86: 'patch' : not supported in this stage: vertex -ERROR: 0:100: '=' : global const initializers must be constant 'const int' +ERROR: 0:100: '=' : global const initializers must be constant ' const int' ERROR: 0:101: '' : array size must be a constant integer expression -ERROR: 0:107: '' : image variables not declared 'writeonly' must have a format layout qualifier +ERROR: 0:107: 'image variables declared 'writeonly' without a format layout qualifier' : not supported for this version or the enabled extensions ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter @@ -47,60 +47,61 @@ ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images ERROR: 0:144: 'r8ui' : does not apply to signed integer images ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions +ERROR: 0:147: 'offset/align' : can only be used with std140 or std430 layout packing ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found -ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int' +ERROR: 0:157: 'assign' : cannot convert from ' const float' to ' temp int' ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found -ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int' +ERROR: 0:158: 'assign' : cannot convert from ' const float' to ' temp int' WARNING: 0:161: '[]' : assuming array size of one for compile-time checking of binding numbers for implicitly-sized array -ERROR: 50 compilation errors. No code generated. +ERROR: 51 compilation errors. No code generated. Shader version: 420 ERROR: node is still EOpNull! -0:20 Function Definition: foo( (const int) +0:20 Function Definition: foo( ( const int) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'b' (const (read only) int) -0:23 'anonconst' (global int) +0:23 move second child to first child ( temp int) +0:23 'b' ( const (read only) int) +0:23 'anonconst' ( global int) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'd' (const (read only) int) -0:25 'b' (const (read only) int) +0:25 move second child to first child ( temp int) +0:25 'd' ( const (read only) int) +0:25 'b' ( const (read only) int) 0:29 Branch: Return with expression -0:29 'b' (const (read only) int) -0:32 Function Definition: main( (global void) +0:29 'b' ( const (read only) int) +0:32 Function Definition: main( ( global void) 0:32 Function Parameters: 0:? Sequence -0:35 Test condition and select (temp void) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 Compare Equal (temp bool) -0:35 'i' (temp int) +0:35 Compare Equal ( temp bool) +0:35 'i' ( temp int) 0:35 Constant: 0:35 3 (const int) 0:35 true case 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'j' (temp int) -0:36 'i' (temp int) +0:36 move second child to first child ( temp int) +0:36 'j' ( temp int) +0:36 'i' ( temp int) 0:42 Loop with condition tested first 0:42 Loop Condition 0:42 Constant: 0:42 true (const bool) 0:42 No loop body -0:50 Function Definition: bar(vf4; (global void) +0:50 Function Definition: bar(vf4; ( global void) 0:50 Function Parameters: -0:50 'v' (volatile in 4-component vector of float) +0:50 'v' ( volatile in 4-component vector of float) 0:? Sequence -0:53 's' (temp int) -0:54 's' (temp int) -0:55 Test condition and select (temp void) +0:53 's' ( temp int) +0:54 's' ( temp int) +0:55 Test condition and select ( temp void) 0:55 Condition -0:55 Compare Equal (temp bool) -0:55 direct index (temp float) -0:55 direct index (temp 4-component vector of float) -0:55 'bad' (in 10-element array of 4-component vector of float) +0:55 Compare Equal ( temp bool) +0:55 direct index ( temp float) +0:55 direct index ( temp 4-component vector of float) +0:55 'bad' ( in 10-element array of 4-component vector of float) 0:55 Constant: 0:55 0 (const int) 0:55 Constant: @@ -108,203 +109,203 @@ ERROR: node is still EOpNull! 0:55 Constant: 0:55 4.200000 0:55 true case is null -0:57 Test condition and select (temp void) +0:57 Test condition and select ( temp void) 0:57 Condition 0:57 Constant: 0:57 true (const bool) 0:57 true case -0:58 move second child to first child (temp 4-component vector of float) -0:58 'badorder3' (flat out 4-component vector of float) -0:58 direct index (temp 4-component vector of float) -0:58 'bad' (in 10-element array of 4-component vector of float) +0:58 move second child to first child ( temp 4-component vector of float) +0:58 'badorder3' ( flat out 4-component vector of float) +0:58 direct index ( temp 4-component vector of float) +0:58 'bad' ( in 10-element array of 4-component vector of float) 0:58 Constant: 0:58 0 (const int) 0:61 Sequence -0:61 move second child to first child (temp 3-component vector of float) -0:61 'smeared' (temp 3-component vector of float) -0:61 Construct vec3 (temp 3-component vector of float) -0:61 'f' (temp float) -0:62 Construct vec4 (temp 4-component vector of float) -0:62 'f' (temp float) -0:63 Construct vec2 (temp 2-component vector of float) -0:63 'f' (temp float) -0:88 Function Definition: bar23444( (global void) +0:61 move second child to first child ( temp 3-component vector of float) +0:61 'smeared' ( temp 3-component vector of float) +0:61 Construct vec3 ( temp 3-component vector of float) +0:61 'f' ( temp float) +0:62 Construct vec4 ( temp 4-component vector of float) +0:62 'f' ( temp float) +0:63 Construct vec2 ( temp 2-component vector of float) +0:63 'f' ( temp float) +0:88 Function Definition: bar23444( ( global void) 0:88 Function Parameters: 0:? Sequence 0:91 Sequence -0:91 move second child to first child (temp float) -0:91 'a1' (temp float) -0:91 direct index (temp float) -0:91 direct index (temp 3-component vector of float) -0:91 'm43' (temp 4X3 matrix of float) +0:91 move second child to first child ( temp float) +0:91 'a1' ( temp float) +0:91 direct index ( temp float) +0:91 direct index ( temp 3-component vector of float) +0:91 'm43' ( temp 4X3 matrix of float) 0:91 Constant: 0:91 3 (const int) 0:91 Constant: 0:91 1 (const int) 0:93 Sequence -0:93 move second child to first child (temp int) -0:93 'a2' (temp int) +0:93 move second child to first child ( temp int) +0:93 'a2' ( temp int) 0:93 Constant: 0:93 4 (const int) -0:94 add second child into first child (temp int) -0:94 'a2' (temp int) +0:94 add second child into first child ( temp int) +0:94 'a2' ( temp int) 0:94 Constant: 0:94 3 (const int) -0:95 add second child into first child (temp int) -0:95 'a2' (temp int) +0:95 add second child into first child ( temp int) +0:95 'a2' ( temp int) 0:95 Constant: 0:95 3 (const int) 0:96 Sequence -0:96 move second child to first child (temp float) -0:96 'b' (const (read only) float) -0:96 component-wise multiply (temp float) +0:96 move second child to first child ( temp float) +0:96 'b' ( const (read only) float) +0:96 component-wise multiply ( temp float) 0:96 Constant: 0:96 2.000000 -0:96 'a1' (temp float) +0:96 'a1' ( temp float) 0:97 Sequence -0:97 move second child to first child (temp int) -0:97 'a' (temp int) +0:97 move second child to first child ( temp int) +0:97 'a' ( temp int) 0:97 Constant: 0:97 -1 (const int) -0:109 Function Definition: qux( (global void) +0:109 Function Definition: qux( ( global void) 0:109 Function Parameters: 0:111 Sequence 0:111 Sequence -0:111 move second child to first child (temp int) -0:111 'i' (temp int) -0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int) -0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) +0:111 move second child to first child ( temp int) +0:111 'i' ( temp int) +0:111 aoeu: direct index for structure (layout( column_major shared) uniform int) +0:111 'anon@0' (layout( binding=7 column_major shared) uniform block{layout( column_major shared) uniform int aoeu}) 0:111 Constant: 0:111 0 (const uint) -0:112 imageAtomicCompSwap (global int) -0:112 'iimg2D' (layout(r32i ) uniform iimage2D) -0:112 Construct ivec2 (temp 2-component vector of int) -0:112 'i' (temp int) -0:112 'i' (temp int) -0:112 'i' (temp int) -0:112 'i' (temp int) -0:113 imageAtomicAdd (global uint) -0:113 'uimg2D' (layout(r32ui ) uniform uimage2D) -0:113 Construct ivec2 (temp 2-component vector of int) -0:113 'i' (temp int) -0:113 'i' (temp int) -0:113 Convert int to uint (temp uint) -0:113 'i' (temp int) -0:114 imageAtomicMin (global int) -0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D) -0:114 Construct ivec2 (temp 2-component vector of int) -0:114 'i' (temp int) -0:114 'i' (temp int) -0:114 'i' (temp int) +0:112 imageAtomicCompSwap ( global int) +0:112 'iimg2D' (layout( r32i) uniform iimage2D) +0:112 Construct ivec2 ( temp 2-component vector of int) +0:112 'i' ( temp int) +0:112 'i' ( temp int) +0:112 'i' ( temp int) +0:112 'i' ( temp int) +0:113 imageAtomicAdd ( global uint) +0:113 'uimg2D' (layout( r32ui) uniform uimage2D) +0:113 Construct ivec2 ( temp 2-component vector of int) +0:113 'i' ( temp int) +0:113 'i' ( temp int) +0:113 Convert int to uint ( temp uint) +0:113 'i' ( temp int) +0:114 imageAtomicMin ( global int) +0:114 'iimg2Drgba' (layout( rgba32i) uniform iimage2D) +0:114 Construct ivec2 ( temp 2-component vector of int) +0:114 'i' ( temp int) +0:114 'i' ( temp int) +0:114 'i' ( temp int) 0:115 Constant: 0:115 0.000000 0:116 Sequence -0:116 move second child to first child (temp 4-component vector of int) -0:116 'pos' (temp 4-component vector of int) -0:116 imageLoad (global 4-component vector of int) -0:116 'iimg2D' (layout(r32i ) uniform iimage2D) -0:116 Construct ivec2 (temp 2-component vector of int) -0:116 'i' (temp int) -0:116 'i' (temp int) +0:116 move second child to first child ( temp 4-component vector of int) +0:116 'pos' ( temp 4-component vector of int) +0:116 imageLoad ( global 4-component vector of int) +0:116 'iimg2D' (layout( r32i) uniform iimage2D) +0:116 Construct ivec2 ( temp 2-component vector of int) +0:116 'i' ( temp int) +0:116 'i' ( temp int) 0:117 Sequence -0:117 move second child to first child (temp 4-component vector of float) -0:117 'col' (temp 4-component vector of float) -0:117 imageLoad (global 4-component vector of float) -0:117 'img2DMS' (uniform image2DMS) -0:117 Construct ivec2 (temp 2-component vector of int) -0:117 'i' (temp int) -0:117 'i' (temp int) -0:117 'i' (temp int) -0:118 imageStore (global void) -0:118 'img2DMSWO' (writeonly uniform image2DMS) -0:118 Construct ivec2 (temp 2-component vector of int) -0:118 'i' (temp int) -0:118 'i' (temp int) -0:118 'i' (temp int) +0:117 move second child to first child ( temp 4-component vector of float) +0:117 'col' ( temp 4-component vector of float) +0:117 imageLoad ( global 4-component vector of float) +0:117 'img2DMS' ( uniform image2DMS) +0:117 Construct ivec2 ( temp 2-component vector of int) +0:117 'i' ( temp int) +0:117 'i' ( temp int) +0:117 'i' ( temp int) +0:118 imageStore ( global void) +0:118 'img2DMSWO' ( writeonly uniform image2DMS) +0:118 Construct ivec2 ( temp 2-component vector of int) +0:118 'i' ( temp int) +0:118 'i' ( temp int) +0:118 'i' ( temp int) 0:118 Constant: 0:118 0.000000 0:118 0.000000 0:118 0.000000 0:118 0.000000 -0:119 imageLoad (global 4-component vector of float) -0:119 'img2DMSWO' (writeonly uniform image2DMS) -0:119 Construct ivec2 (temp 2-component vector of int) -0:119 'i' (temp int) -0:119 'i' (temp int) -0:119 'i' (temp int) -0:125 Function Definition: passr(iI21; (global void) +0:119 imageLoad ( global 4-component vector of float) +0:119 'img2DMSWO' ( writeonly uniform image2DMS) +0:119 Construct ivec2 ( temp 2-component vector of int) +0:119 'i' ( temp int) +0:119 'i' ( temp int) +0:119 'i' ( temp int) +0:125 Function Definition: passr(iI21; ( global void) 0:125 Function Parameters: -0:125 'image' (coherent readonly in iimage2D) -0:132 Function Definition: passrc( (global void) +0:125 'image' ( coherent readonly in iimage2D) +0:132 Function Definition: passrc( ( global void) 0:132 Function Parameters: 0:134 Sequence -0:134 Function Call: passr(iI21; (global void) -0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D) -0:135 Function Call: passr(iI21; (global void) -0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D) -0:136 Function Call: passr(iI21; (global void) -0:136 'iimg2D' (layout(r32i ) uniform iimage2D) -0:153 Function Definition: qlod( (global void) +0:134 Function Call: passr(iI21; ( global void) +0:134 'qualim1' (layout( r32i) coherent readonly uniform iimage2D) +0:135 Function Call: passr(iI21; ( global void) +0:135 'qualim2' (layout( r32i) coherent volatile readonly uniform iimage2D) +0:136 Function Call: passr(iI21; ( global void) +0:136 'iimg2D' (layout( r32i) uniform iimage2D) +0:153 Function Definition: qlod( ( global void) 0:153 Function Parameters: 0:? Sequence -0:157 'levels' (temp int) -0:158 'levels' (temp int) +0:157 'levels' ( temp int) +0:158 'levels' ( temp int) 0:? Linker Objects -0:? 'v2' (smooth out 2-component vector of float) -0:? 'bad' (in 10-element array of 4-component vector of float) -0:? 'badorder' (in 4-component vector of float) -0:? 'badorder2' (invariant smooth out 4-component vector of float) -0:? 'badorder4' (centroid in 4-component vector of float) -0:? 'badorder3' (flat out 4-component vector of float) -0:? 'rep' (smooth flat out 4-component vector of float) -0:? 'rep2' (centroid smooth sample out 4-component vector of float) -0:? 'rep3' (in 4-component vector of float) -0:? 'anonconst' (global int) -0:? 'aconst' (const int) +0:? 'v2' ( smooth out 2-component vector of float) +0:? 'bad' ( in 10-element array of 4-component vector of float) +0:? 'badorder' ( in 4-component vector of float) +0:? 'badorder2' ( invariant smooth out 4-component vector of float) +0:? 'badorder4' ( centroid in 4-component vector of float) +0:? 'badorder3' ( flat out 4-component vector of float) +0:? 'rep' ( smooth flat out 4-component vector of float) +0:? 'rep2' ( centroid smooth sample out 4-component vector of float) +0:? 'rep3' ( in 4-component vector of float) +0:? 'anonconst' ( global int) +0:? 'aconst' ( const int) 0:? 5 (const int) -0:? 'a' (const int) +0:? 'a' ( const int) 0:? 5 (const int) -0:? 'b' (temp int) -0:? 'cx' (const float) +0:? 'b' ( temp int) +0:? 'cx' ( const float) 0:? 4.200000 -0:? 'dx' (const float) +0:? 'dx' ( const float) 0:? 4.200000 -0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) -0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) -0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua}) -0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu}) -0:? 'sampb1' (layout(binding=4 ) uniform sampler2D) -0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D) -0:? 'sampb3' (layout(binding=80 ) uniform sampler2D) -0:? 'sampb4' (layout(binding=31 ) uniform sampler2D) -0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D) -0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, }) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (smooth patch out 4-component vector of float) -0:? 'comma0' (temp int) -0:? 'comma1' (global 1-element array of int) -0:? 'iimg2D' (layout(r32i ) uniform iimage2D) -0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D) -0:? 'img2Drgba' (layout(rgba32f ) uniform image2D) -0:? 'uimg2D' (layout(r32ui ) uniform uimage2D) -0:? 'img2DMS' (uniform image2DMS) -0:? 'img2DMSWO' (writeonly uniform image2DMS) -0:? 'vol' (volatile temp float) -0:? 'vol2' (readonly temp int) -0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D) -0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D) -0:? 'i1bad' (layout(rg8i ) uniform uimage2D) -0:? 'i2bad' (layout(rgba32i ) uniform image2D) -0:? 'i3bad' (layout(rgba32f ) uniform uimage2D) -0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D) -0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D) -0:? 'i6bad' (layout(r8ui ) uniform iimage2D) -0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo}) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'badArray' (layout(binding=0 ) writeonly uniform implicitly-sized array of image1D) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'boundInst' (layout( binding=3 column_major shared) uniform block{layout( column_major shared) uniform int aoeu}) +0:? 'anon@0' (layout( binding=7 column_major shared) uniform block{layout( column_major shared) uniform int aoeu}) +0:? 'anon@1' (layout( binding=1) in block{ in int aoeua}) +0:? 'anon@2' (layout( column_major shared) uniform block{layout( column_major shared) uniform int aooeu}) +0:? 'sampb1' (layout( binding=4) uniform sampler2D) +0:? 'sampb2' (layout( binding=5) uniform 10-element array of sampler2D) +0:? 'sampb3' (layout( binding=80) uniform sampler2D) +0:? 'sampb4' (layout( binding=31) uniform sampler2D) +0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D) +0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, }) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( smooth patch out 4-component vector of float) +0:? 'comma0' ( temp int) +0:? 'comma1' ( global 1-element array of int) +0:? 'iimg2D' (layout( r32i) uniform iimage2D) +0:? 'iimg2Drgba' (layout( rgba32i) uniform iimage2D) +0:? 'img2Drgba' (layout( rgba32f) uniform image2D) +0:? 'uimg2D' (layout( r32ui) uniform uimage2D) +0:? 'img2DMS' ( uniform image2DMS) +0:? 'img2DMSWO' ( writeonly uniform image2DMS) +0:? 'vol' ( volatile temp float) +0:? 'vol2' ( readonly temp int) +0:? 'qualim1' (layout( r32i) coherent readonly uniform iimage2D) +0:? 'qualim2' (layout( r32i) coherent volatile readonly uniform iimage2D) +0:? 'i1bad' (layout( rg8i) uniform uimage2D) +0:? 'i2bad' (layout( rgba32i) uniform image2D) +0:? 'i3bad' (layout( rgba32f) uniform uimage2D) +0:? 'i4bad' (layout( r8_snorm) uniform iimage2D) +0:? 'i5bad' (layout( rgba32ui) uniform iimage2D) +0:? 'i6bad' (layout( r8ui) uniform iimage2D) +0:? 'offcheckI' (layout( column_major shared) uniform block{layout( column_major shared offset=16) uniform int foo}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'badArray' (layout( binding=0) writeonly uniform implicitly-sized array of image1D) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -312,79 +313,79 @@ Linked vertex stage: Shader version: 420 ERROR: node is still EOpNull! -0:32 Function Definition: main( (global void) +0:32 Function Definition: main( ( global void) 0:32 Function Parameters: 0:? Sequence -0:35 Test condition and select (temp void) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 Compare Equal (temp bool) -0:35 'i' (temp int) +0:35 Compare Equal ( temp bool) +0:35 'i' ( temp int) 0:35 Constant: 0:35 3 (const int) 0:35 true case 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'j' (temp int) -0:36 'i' (temp int) +0:36 move second child to first child ( temp int) +0:36 'j' ( temp int) +0:36 'i' ( temp int) 0:42 Loop with condition tested first 0:42 Loop Condition 0:42 Constant: 0:42 true (const bool) 0:42 No loop body 0:? Linker Objects -0:? 'v2' (smooth out 2-component vector of float) -0:? 'bad' (in 10-element array of 4-component vector of float) -0:? 'badorder' (in 4-component vector of float) -0:? 'badorder2' (invariant smooth out 4-component vector of float) -0:? 'badorder4' (centroid in 4-component vector of float) -0:? 'badorder3' (flat out 4-component vector of float) -0:? 'rep' (smooth flat out 4-component vector of float) -0:? 'rep2' (centroid smooth sample out 4-component vector of float) -0:? 'rep3' (in 4-component vector of float) -0:? 'anonconst' (global int) -0:? 'aconst' (const int) +0:? 'v2' ( smooth out 2-component vector of float) +0:? 'bad' ( in 10-element array of 4-component vector of float) +0:? 'badorder' ( in 4-component vector of float) +0:? 'badorder2' ( invariant smooth out 4-component vector of float) +0:? 'badorder4' ( centroid in 4-component vector of float) +0:? 'badorder3' ( flat out 4-component vector of float) +0:? 'rep' ( smooth flat out 4-component vector of float) +0:? 'rep2' ( centroid smooth sample out 4-component vector of float) +0:? 'rep3' ( in 4-component vector of float) +0:? 'anonconst' ( global int) +0:? 'aconst' ( const int) 0:? 5 (const int) -0:? 'a' (const int) +0:? 'a' ( const int) 0:? 5 (const int) -0:? 'b' (temp int) -0:? 'cx' (const float) +0:? 'b' ( temp int) +0:? 'cx' ( const float) 0:? 4.200000 -0:? 'dx' (const float) +0:? 'dx' ( const float) 0:? 4.200000 -0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) -0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) -0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua}) -0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu}) -0:? 'sampb1' (layout(binding=4 ) uniform sampler2D) -0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D) -0:? 'sampb3' (layout(binding=80 ) uniform sampler2D) -0:? 'sampb4' (layout(binding=31 ) uniform sampler2D) -0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D) -0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, }) -0:? 'patchIn' (patch in 4-component vector of float) -0:? 'patchOut' (smooth patch out 4-component vector of float) -0:? 'comma0' (temp int) -0:? 'comma1' (global 1-element array of int) -0:? 'iimg2D' (layout(r32i ) uniform iimage2D) -0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D) -0:? 'img2Drgba' (layout(rgba32f ) uniform image2D) -0:? 'uimg2D' (layout(r32ui ) uniform uimage2D) -0:? 'img2DMS' (uniform image2DMS) -0:? 'img2DMSWO' (writeonly uniform image2DMS) -0:? 'vol' (volatile temp float) -0:? 'vol2' (readonly temp int) -0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D) -0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D) -0:? 'i1bad' (layout(rg8i ) uniform uimage2D) -0:? 'i2bad' (layout(rgba32i ) uniform image2D) -0:? 'i3bad' (layout(rgba32f ) uniform uimage2D) -0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D) -0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D) -0:? 'i6bad' (layout(r8ui ) uniform iimage2D) -0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo}) -0:? 'samp1D' (uniform sampler1D) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'badArray' (layout(binding=0 ) writeonly uniform 1-element array of image1D) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'boundInst' (layout( binding=3 column_major shared) uniform block{layout( column_major shared) uniform int aoeu}) +0:? 'anon@0' (layout( binding=7 column_major shared) uniform block{layout( column_major shared) uniform int aoeu}) +0:? 'anon@1' (layout( binding=1) in block{ in int aoeua}) +0:? 'anon@2' (layout( column_major shared) uniform block{layout( column_major shared) uniform int aooeu}) +0:? 'sampb1' (layout( binding=4) uniform sampler2D) +0:? 'sampb2' (layout( binding=5) uniform 10-element array of sampler2D) +0:? 'sampb3' (layout( binding=80) uniform sampler2D) +0:? 'sampb4' (layout( binding=31) uniform sampler2D) +0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D) +0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, }) +0:? 'patchIn' ( patch in 4-component vector of float) +0:? 'patchOut' ( smooth patch out 4-component vector of float) +0:? 'comma0' ( temp int) +0:? 'comma1' ( global 1-element array of int) +0:? 'iimg2D' (layout( r32i) uniform iimage2D) +0:? 'iimg2Drgba' (layout( rgba32i) uniform iimage2D) +0:? 'img2Drgba' (layout( rgba32f) uniform image2D) +0:? 'uimg2D' (layout( r32ui) uniform uimage2D) +0:? 'img2DMS' ( uniform image2DMS) +0:? 'img2DMSWO' ( writeonly uniform image2DMS) +0:? 'vol' ( volatile temp float) +0:? 'vol2' ( readonly temp int) +0:? 'qualim1' (layout( r32i) coherent readonly uniform iimage2D) +0:? 'qualim2' (layout( r32i) coherent volatile readonly uniform iimage2D) +0:? 'i1bad' (layout( rg8i) uniform uimage2D) +0:? 'i2bad' (layout( rgba32i) uniform image2D) +0:? 'i3bad' (layout( rgba32f) uniform uimage2D) +0:? 'i4bad' (layout( r8_snorm) uniform iimage2D) +0:? 'i5bad' (layout( rgba32ui) uniform iimage2D) +0:? 'i6bad' (layout( r8ui) uniform iimage2D) +0:? 'offcheckI' (layout( column_major shared) uniform block{layout( column_major shared offset=16) uniform int foo}) +0:? 'samp1D' ( uniform sampler1D) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'badArray' (layout( binding=0) writeonly uniform 1-element array of image1D) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out index 54ec99ea868..3c3b8105fe6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out @@ -10,31 +10,31 @@ max_vertices = -1 input primitive = triangles output primitive = none ERROR: node is still EOpNull! -0:11 Function Definition: foo( (global void) +0:11 Function Definition: foo( ( global void) 0:11 Function Parameters: 0:13 Sequence 0:13 Constant: 0:13 3 (const int) -0:14 gl_Position: direct index for structure (in 4-component vector of float Position) -0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:14 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:14 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:14 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) 0:14 Constant: 0:14 1 (const int) 0:14 Constant: 0:14 0 (const int) 0:15 Constant: 0:15 3 (const int) -0:16 gl_Position: direct index for structure (in 4-component vector of float Position) -0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) -0:16 'i' (global int) +0:16 gl_Position: direct index for structure ( in 4-component vector of float Position) +0:16 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:16 'i' ( global int) 0:16 Constant: 0:16 0 (const int) 0:? Linker Objects -0:? 'i' (global int) -0:? 'colorun' (in 3-element array of 4-component vector of float) -0:? 'color3' (in 3-element array of 4-component vector of float) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) +0:? 'i' ( global int) +0:? 'colorun' ( in 3-element array of 4-component vector of float) +0:? 'color3' ( in 3-element array of 4-component vector of float) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance}) Linked geometry stage: @@ -50,8 +50,8 @@ input primitive = triangles output primitive = none ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'i' (global int) -0:? 'colorun' (in 3-element array of 4-component vector of float) -0:? 'color3' (in 3-element array of 4-component vector of float) -0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) +0:? 'i' ( global int) +0:? 'colorun' ( in 3-element array of 4-component vector of float) +0:? 'color3' ( in 3-element array of 4-component vector of float) +0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.comp.out index ed61346fba0..91aaf786c1c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.comp.out @@ -13,7 +13,7 @@ ERROR: 0:51: 'local_size' : can only apply to 'in' ERROR: 0:51: 'local_size' : can only apply to 'in' ERROR: 0:51: 'local_size' : can only apply to 'in' ERROR: 0:65: 'assign' : l-value required "ro" (can't modify a readonly buffer) -ERROR: 0:77: '=' : cannot convert from 'temp double' to 'temp int' +ERROR: 0:77: '=' : cannot convert from ' temp double' to ' temp int' ERROR: 0:81: 'input block' : not supported in this stage: compute ERROR: 0:85: 'output block' : not supported in this stage: compute ERROR: 16 compilation errors. No code generated. @@ -22,80 +22,80 @@ ERROR: 16 compilation errors. No code generated. Shader version: 430 local_size = (2, 1, 4096) ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence -0:29 Barrier (global void) -0:30 MemoryBarrier (global void) -0:31 MemoryBarrierAtomicCounter (global void) -0:32 MemoryBarrierBuffer (global void) -0:33 MemoryBarrierShared (global void) -0:34 MemoryBarrierImage (global void) -0:35 GroupMemoryBarrier (global void) -0:36 move second child to first child (temp int) -0:36 value: direct index for structure (layout(column_major shared ) buffer int) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:29 Barrier ( global void) +0:30 MemoryBarrier ( global void) +0:31 MemoryBarrierAtomicCounter ( global void) +0:32 MemoryBarrierBuffer ( global void) +0:33 MemoryBarrierShared ( global void) +0:34 MemoryBarrierImage ( global void) +0:35 GroupMemoryBarrier ( global void) +0:36 move second child to first child ( temp int) +0:36 value: direct index for structure (layout( column_major shared) buffer int) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:36 Constant: 0:36 0 (const uint) -0:36 Convert float to int (temp int) -0:36 indirect index (layout(column_major shared ) temp float) -0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:36 Convert float to int ( temp int) +0:36 indirect index (layout( column_major shared) temp float) +0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:36 Constant: 0:36 1 (const uint) -0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex) -0:39 Test condition and select (temp void) +0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex) +0:39 Test condition and select ( temp void) 0:39 Condition -0:39 Compare Greater Than (temp bool) -0:39 'a' (temp int) +0:39 Compare Greater Than ( temp bool) +0:39 'a' ( temp int) 0:39 Constant: 0:39 10 (const int) 0:39 true case -0:40 Barrier (global void) -0:63 Function Definition: foo( (global void) +0:40 Barrier ( global void) +0:63 Function Definition: foo( ( global void) 0:63 Function Parameters: 0:65 Sequence -0:65 move second child to first child (temp float) -0:65 direct index (layout(column_major shared ) temp float) -0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float) -0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:65 move second child to first child ( temp float) +0:65 direct index (layout( column_major shared) temp float) +0:65 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float) +0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:65 Constant: 0:65 1 (const int) 0:65 Constant: 0:65 2 (const int) 0:65 Constant: 0:65 4.700000 -0:66 array length (temp int) -0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float) -0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:66 array length ( temp int) +0:66 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float) +0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:66 Constant: 0:66 1 (const int) -0:67 Barrier (global void) -0:72 Function Definition: fooaoeu( (global void) +0:67 Barrier ( global void) +0:72 Function Definition: fooaoeu( ( global void) 0:72 Function Parameters: 0:73 Sequence 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of int) -0:73 'storePos' (temp 2-component vector of int) -0:73 Convert uint to int (temp 2-component vector of int) -0:73 vector swizzle (temp 2-component vector of uint) -0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID) +0:73 move second child to first child ( temp 2-component vector of int) +0:73 'storePos' ( temp 2-component vector of int) +0:73 Convert uint to int ( temp 2-component vector of int) +0:73 vector swizzle ( temp 2-component vector of uint) +0:73 'gl_GlobalInvocationID' ( in 3-component vector of uint GlobalInvocationID) 0:73 Sequence 0:73 Constant: 0:73 0 (const int) 0:73 Constant: 0:73 1 (const int) 0:74 Sequence -0:74 move second child to first child (temp double) -0:74 'localCoef' (temp double) -0:74 Convert float to double (temp double) -0:74 length (global float) -0:74 divide (temp 2-component vector of float) -0:74 Convert int to float (temp 2-component vector of float) -0:74 subtract (temp 2-component vector of int) -0:74 Convert uint to int (temp 2-component vector of int) -0:74 vector swizzle (temp 2-component vector of uint) -0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID) +0:74 move second child to first child ( temp double) +0:74 'localCoef' ( temp double) +0:74 Convert float to double ( temp double) +0:74 length ( global float) +0:74 divide ( temp 2-component vector of float) +0:74 Convert int to float ( temp 2-component vector of float) +0:74 subtract ( temp 2-component vector of int) +0:74 Convert uint to int ( temp 2-component vector of int) +0:74 vector swizzle ( temp 2-component vector of uint) +0:74 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID) 0:74 Sequence 0:74 Constant: 0:74 0 (const int) @@ -106,46 +106,46 @@ ERROR: node is still EOpNull! 0:74 Constant: 0:74 8.000000 0:75 Sequence -0:75 move second child to first child (temp 4-component vector of double) -0:75 'aa' (temp 4-component vector of double) +0:75 move second child to first child ( temp 4-component vector of double) +0:75 'aa' ( temp 4-component vector of double) 0:75 Constant: 0:75 0.400000 0:75 0.200000 0:75 0.300000 0:75 0.400000 0:76 Sequence -0:76 move second child to first child (temp double) -0:76 'globalCoef' (temp double) +0:76 move second child to first child ( temp double) +0:76 'globalCoef' ( temp double) 0:76 Constant: 0:76 1.000000 0:78 Sequence -0:78 move second child to first child (temp double) -0:78 'di' (temp double) -0:78 Convert int to double (temp double) -0:78 'i' (temp int) +0:78 move second child to first child ( temp double) +0:78 'di' ( temp double) +0:78 Convert int to double ( temp double) +0:78 'i' ( temp int) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 1 (const uint) 0:? 4096 (const uint) -0:? 'total' (const int) +0:? 'total' ( const int) 0:? 66592 (const int) -0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) -0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value}) -0:? 'v3' (layout(location=2 ) in 3-component vector of float) -0:? 'f' (in float) -0:? 'fo' (out float) -0:? 's' (shared 4-component vector of float) -0:? 'sl' (layout(location=2 ) shared 4-component vector of float) -0:? 'fs' (shared float) -0:? 'arrX' (global 2-element array of int) -0:? 'arrY' (global 1-element array of int) -0:? 'arrZ' (global 4096-element array of int) -0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) -0:? 'roll' (uniform double) -0:? 'destTex' (writeonly uniform image2D) -0:? 'inbi' (in block{in int a}) -0:? 'outbi' (out block{out int a}) +0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) +0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of float values, layout( column_major shared) buffer int value}) +0:? 'v3' (layout( location=2) in 3-component vector of float) +0:? 'f' ( in float) +0:? 'fo' ( out float) +0:? 's' ( shared 4-component vector of float) +0:? 'sl' (layout( location=2) shared 4-component vector of float) +0:? 'fs' ( shared float) +0:? 'arrX' ( global 2-element array of int) +0:? 'arrY' ( global 1-element array of int) +0:? 'arrZ' ( global 4096-element array of int) +0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) +0:? 'roll' ( uniform double) +0:? 'destTex' ( writeonly uniform image2D) +0:? 'inbi' ( in block{ in int a}) +0:? 'outbi' ( out block{ out int a}) Linked compute stage: @@ -154,57 +154,57 @@ Linked compute stage: Shader version: 430 local_size = (2, 1, 4096) ERROR: node is still EOpNull! -0:27 Function Definition: main( (global void) +0:27 Function Definition: main( ( global void) 0:27 Function Parameters: 0:29 Sequence -0:29 Barrier (global void) -0:30 MemoryBarrier (global void) -0:31 MemoryBarrierAtomicCounter (global void) -0:32 MemoryBarrierBuffer (global void) -0:33 MemoryBarrierShared (global void) -0:34 MemoryBarrierImage (global void) -0:35 GroupMemoryBarrier (global void) -0:36 move second child to first child (temp int) -0:36 value: direct index for structure (layout(column_major shared ) buffer int) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:29 Barrier ( global void) +0:30 MemoryBarrier ( global void) +0:31 MemoryBarrierAtomicCounter ( global void) +0:32 MemoryBarrierBuffer ( global void) +0:33 MemoryBarrierShared ( global void) +0:34 MemoryBarrierImage ( global void) +0:35 GroupMemoryBarrier ( global void) +0:36 move second child to first child ( temp int) +0:36 value: direct index for structure (layout( column_major shared) buffer int) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:36 Constant: 0:36 0 (const uint) -0:36 Convert float to int (temp int) -0:36 indirect index (layout(column_major shared ) temp float) -0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float) -0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) +0:36 Convert float to int ( temp int) +0:36 indirect index (layout( column_major shared) temp float) +0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float) +0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) 0:36 Constant: 0:36 1 (const uint) -0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex) -0:39 Test condition and select (temp void) +0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex) +0:39 Test condition and select ( temp void) 0:39 Condition -0:39 Compare Greater Than (temp bool) -0:39 'a' (temp int) +0:39 Compare Greater Than ( temp bool) +0:39 'a' ( temp int) 0:39 Constant: 0:39 10 (const int) 0:39 true case -0:40 Barrier (global void) +0:40 Barrier ( global void) 0:? Linker Objects -0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize) +0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 2 (const uint) 0:? 1 (const uint) 0:? 4096 (const uint) -0:? 'total' (const int) +0:? 'total' ( const int) 0:? 66592 (const int) -0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) -0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value}) -0:? 'v3' (layout(location=2 ) in 3-component vector of float) -0:? 'f' (in float) -0:? 'fo' (out float) -0:? 's' (shared 4-component vector of float) -0:? 'sl' (layout(location=2 ) shared 4-component vector of float) -0:? 'fs' (shared float) -0:? 'arrX' (global 2-element array of int) -0:? 'arrY' (global 1-element array of int) -0:? 'arrZ' (global 4096-element array of int) -0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values}) -0:? 'roll' (uniform double) -0:? 'destTex' (writeonly uniform image2D) -0:? 'inbi' (in block{in int a}) -0:? 'outbi' (out block{out int a}) +0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) +0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of float values, layout( column_major shared) buffer int value}) +0:? 'v3' (layout( location=2) in 3-component vector of float) +0:? 'f' ( in float) +0:? 'fo' ( out float) +0:? 's' ( shared 4-component vector of float) +0:? 'sl' (layout( location=2) shared 4-component vector of float) +0:? 'fs' ( shared float) +0:? 'arrX' ( global 2-element array of int) +0:? 'arrY' ( global 1-element array of int) +0:? 'arrZ' ( global 4096-element array of int) +0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values}) +0:? 'roll' ( uniform double) +0:? 'destTex' ( writeonly uniform image2D) +0:? 'inbi' ( in block{ in int a}) +0:? 'outbi' ( out block{ out int a}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.vert.out index 8cd1156b5ac..a5898f24f61 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430.vert.out @@ -28,8 +28,9 @@ ERROR: 0:64: 'uniform buffer-member align' : not supported for this version or t ERROR: 0:65: 'uniform buffer-member align' : not supported for this version or the enabled extensions ERROR: 0:65: 'offset on block member' : not supported for this version or the enabled extensions ERROR: 0:66: 'offset on block member' : not supported for this version or the enabled extensions -ERROR: 0:64: 'offset/align' : can only be used with std140 or std430 layout packing -ERROR: 0:65: 'align' : can only be used with std140 or std430 layout packing +ERROR: 0:64: 'align' : can only be used with std140 or std430 layout packing +ERROR: 0:65: 'offset/align' : can only be used with std140 or std430 layout packing +ERROR: 0:66: 'offset/align' : can only be used with std140 or std430 layout packing ERROR: 0:71: 'offset on block member' : not supported for this version or the enabled extensions ERROR: 0:74: 'gl_MaxTransformFeedbackBuffers' : required extension not requested: GL_ARB_enhanced_layouts ERROR: 0:75: 'gl_MaxTransformFeedbackInterleavedComponents' : required extension not requested: GL_ARB_enhanced_layouts @@ -60,10 +61,10 @@ ERROR: 0:169: 'textureSamples and imageSamples' : not supported for this version ERROR: 0:170: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions ERROR: 0:171: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions ERROR: 0:221: 'textureQueryLevels' : no matching overloaded function found -ERROR: 0:221: 'assign' : cannot convert from 'const float' to 'temp int' +ERROR: 0:221: 'assign' : cannot convert from ' const float' to ' temp int' ERROR: 0:222: 'textureQueryLevels' : no matching overloaded function found -ERROR: 0:222: 'assign' : cannot convert from 'const float' to 'temp int' -ERROR: 63 compilation errors. No code generated. +ERROR: 0:222: 'assign' : cannot convert from ' const float' to ' temp int' +ERROR: 64 compilation errors. No code generated. Shader version: 430 @@ -71,197 +72,197 @@ Requested GL_ARB_enhanced_layouts Requested GL_ARB_shader_texture_image_samples in xfb mode ERROR: node is still EOpNull! -0:14 Function Definition: foo( (global void) +0:14 Function Definition: foo( ( global void) 0:14 Function Parameters: 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 direct index (temp float ClipDistance) -0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance) -0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, }) +0:16 move second child to first child ( temp float) +0:16 direct index ( temp float ClipDistance) +0:16 gl_ClipDistance: direct index for structure ( out 17-element array of float ClipDistance) +0:16 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, }) 0:16 Constant: 0:16 2 (const uint) 0:16 Constant: 0:16 2 (const int) 0:16 Constant: 0:16 3.700000 -0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void) +0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; ( global void) 0:31 Function Parameters: -0:31 'v4' (in 4-component vector of float) -0:31 'v3' (volatile in 3-component vector of float) -0:31 'v2' (in 2-component vector of float) -0:31 'cv3' (in 3-component vector of float) -0:148 Function Definition: fooBarrier( (global void) +0:31 'v4' ( in 4-component vector of float) +0:31 'v3' ( volatile in 3-component vector of float) +0:31 'v2' ( in 2-component vector of float) +0:31 'cv3' ( in 3-component vector of float) +0:148 Function Definition: fooBarrier( ( global void) 0:148 Function Parameters: 0:150 Sequence 0:150 Constant: 0:150 0.000000 -0:151 MemoryBarrier (global void) -0:152 MemoryBarrierAtomicCounter (global void) -0:153 MemoryBarrierBuffer (global void) +0:151 MemoryBarrier ( global void) +0:152 MemoryBarrierAtomicCounter ( global void) +0:153 MemoryBarrierBuffer ( global void) 0:154 Constant: 0:154 0.000000 -0:155 MemoryBarrierImage (global void) +0:155 MemoryBarrierImage ( global void) 0:156 Constant: 0:156 0.000000 -0:166 Function Definition: fooq( (global void) +0:166 Function Definition: fooq( ( global void) 0:166 Function Parameters: 0:168 Sequence 0:168 Sequence -0:168 move second child to first child (temp int) -0:168 's' (temp int) -0:168 textureSamples (global int) -0:168 's2dms' (uniform sampler2DMS) -0:169 add second child into first child (temp int) -0:169 's' (temp int) -0:169 textureSamples (global int) -0:169 'us2dmsa' (uniform usampler2DMSArray) -0:170 add second child into first child (temp int) -0:170 's' (temp int) -0:170 imageQuerySamples (global int) -0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:171 add second child into first child (temp int) -0:171 's' (temp int) -0:171 imageQuerySamples (global int) -0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) -0:176 Function Definition: fooq2( (global void) +0:168 move second child to first child ( temp int) +0:168 's' ( temp int) +0:168 textureSamples ( global int) +0:168 's2dms' ( uniform sampler2DMS) +0:169 add second child into first child ( temp int) +0:169 's' ( temp int) +0:169 textureSamples ( global int) +0:169 'us2dmsa' ( uniform usampler2DMSArray) +0:170 add second child into first child ( temp int) +0:170 's' ( temp int) +0:170 imageQuerySamples ( global int) +0:170 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:171 add second child into first child ( temp int) +0:171 's' ( temp int) +0:171 imageQuerySamples ( global int) +0:171 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) +0:176 Function Definition: fooq2( ( global void) 0:176 Function Parameters: 0:178 Sequence 0:178 Sequence -0:178 move second child to first child (temp int) -0:178 's' (temp int) -0:178 textureSamples (global int) -0:178 's2dms' (uniform sampler2DMS) -0:179 add second child into first child (temp int) -0:179 's' (temp int) -0:179 textureSamples (global int) -0:179 'us2dmsa' (uniform usampler2DMSArray) -0:180 add second child into first child (temp int) -0:180 's' (temp int) -0:180 imageQuerySamples (global int) -0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:181 add second child into first child (temp int) -0:181 's' (temp int) -0:181 imageQuerySamples (global int) -0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) -0:202 Function Definition: qlod( (global void) +0:178 move second child to first child ( temp int) +0:178 's' ( temp int) +0:178 textureSamples ( global int) +0:178 's2dms' ( uniform sampler2DMS) +0:179 add second child into first child ( temp int) +0:179 's' ( temp int) +0:179 textureSamples ( global int) +0:179 'us2dmsa' ( uniform usampler2DMSArray) +0:180 add second child into first child ( temp int) +0:180 's' ( temp int) +0:180 imageQuerySamples ( global int) +0:180 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:181 add second child into first child ( temp int) +0:181 's' ( temp int) +0:181 imageQuerySamples ( global int) +0:181 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) +0:202 Function Definition: qlod( ( global void) 0:202 Function Parameters: 0:? Sequence -0:206 move second child to first child (temp int) -0:206 'levels' (temp int) -0:206 textureQueryLevels (global int) -0:206 'samp1D' (uniform sampler1D) -0:207 move second child to first child (temp int) -0:207 'levels' (temp int) -0:207 textureQueryLevels (global int) -0:207 'usamp2D' (uniform usampler2D) -0:208 move second child to first child (temp int) -0:208 'levels' (temp int) -0:208 textureQueryLevels (global int) -0:208 'isamp3D' (uniform isampler3D) -0:209 move second child to first child (temp int) -0:209 'levels' (temp int) -0:209 textureQueryLevels (global int) -0:209 'isampCube' (uniform isamplerCube) -0:210 move second child to first child (temp int) -0:210 'levels' (temp int) -0:210 textureQueryLevels (global int) -0:210 'isamp1DA' (uniform isampler1DArray) -0:211 move second child to first child (temp int) -0:211 'levels' (temp int) -0:211 textureQueryLevels (global int) -0:211 'samp2DA' (uniform sampler2DArray) -0:212 move second child to first child (temp int) -0:212 'levels' (temp int) -0:212 textureQueryLevels (global int) -0:212 'usampCubeA' (uniform usamplerCubeArray) -0:214 move second child to first child (temp int) -0:214 'levels' (temp int) -0:214 textureQueryLevels (global int) -0:214 'samp1Ds' (uniform sampler1DShadow) -0:215 move second child to first child (temp int) -0:215 'levels' (temp int) -0:215 textureQueryLevels (global int) -0:215 'samp2Ds' (uniform sampler2DShadow) -0:216 move second child to first child (temp int) -0:216 'levels' (temp int) -0:216 textureQueryLevels (global int) -0:216 'sampCubes' (uniform samplerCubeShadow) -0:217 move second child to first child (temp int) -0:217 'levels' (temp int) -0:217 textureQueryLevels (global int) -0:217 'samp1DAs' (uniform sampler1DArrayShadow) -0:218 move second child to first child (temp int) -0:218 'levels' (temp int) -0:218 textureQueryLevels (global int) -0:218 'samp2DAs' (uniform sampler2DArrayShadow) -0:219 move second child to first child (temp int) -0:219 'levels' (temp int) -0:219 textureQueryLevels (global int) -0:219 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:221 'levels' (temp int) -0:222 'levels' (temp int) +0:206 move second child to first child ( temp int) +0:206 'levels' ( temp int) +0:206 textureQueryLevels ( global int) +0:206 'samp1D' ( uniform sampler1D) +0:207 move second child to first child ( temp int) +0:207 'levels' ( temp int) +0:207 textureQueryLevels ( global int) +0:207 'usamp2D' ( uniform usampler2D) +0:208 move second child to first child ( temp int) +0:208 'levels' ( temp int) +0:208 textureQueryLevels ( global int) +0:208 'isamp3D' ( uniform isampler3D) +0:209 move second child to first child ( temp int) +0:209 'levels' ( temp int) +0:209 textureQueryLevels ( global int) +0:209 'isampCube' ( uniform isamplerCube) +0:210 move second child to first child ( temp int) +0:210 'levels' ( temp int) +0:210 textureQueryLevels ( global int) +0:210 'isamp1DA' ( uniform isampler1DArray) +0:211 move second child to first child ( temp int) +0:211 'levels' ( temp int) +0:211 textureQueryLevels ( global int) +0:211 'samp2DA' ( uniform sampler2DArray) +0:212 move second child to first child ( temp int) +0:212 'levels' ( temp int) +0:212 textureQueryLevels ( global int) +0:212 'usampCubeA' ( uniform usamplerCubeArray) +0:214 move second child to first child ( temp int) +0:214 'levels' ( temp int) +0:214 textureQueryLevels ( global int) +0:214 'samp1Ds' ( uniform sampler1DShadow) +0:215 move second child to first child ( temp int) +0:215 'levels' ( temp int) +0:215 textureQueryLevels ( global int) +0:215 'samp2Ds' ( uniform sampler2DShadow) +0:216 move second child to first child ( temp int) +0:216 'levels' ( temp int) +0:216 textureQueryLevels ( global int) +0:216 'sampCubes' ( uniform samplerCubeShadow) +0:217 move second child to first child ( temp int) +0:217 'levels' ( temp int) +0:217 textureQueryLevels ( global int) +0:217 'samp1DAs' ( uniform sampler1DArrayShadow) +0:218 move second child to first child ( temp int) +0:218 'levels' ( temp int) +0:218 textureQueryLevels ( global int) +0:218 'samp2DAs' ( uniform sampler2DArrayShadow) +0:219 move second child to first child ( temp int) +0:219 'levels' ( temp int) +0:219 textureQueryLevels ( global int) +0:219 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:221 'levels' ( temp int) +0:222 'levels' ( temp int) 0:? Linker Objects -0:? 'v4' (layout(location=3 ) temp 4-component vector of float) -0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float) -0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v}) -0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v}) -0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, }) -0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f}) -0:? 'cf' (layout(location=54 ) smooth out float) -0:? 'cg' (layout(location=53 ) smooth out float) -0:? 'alias1' (layout(location=10 ) in 4-component vector of float) -0:? 'alias2' (layout(location=10 ) in 4-component vector of float) -0:? 'v6e' (layout(location=0 ) in 4-component vector of float) -0:? 'ininst2e' (in block{layout(location=25 ) in float f2}) -0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g}) -0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) -0:? 'aconste' (global 4-element array of int) -0:? 'bconste' (global 64-element array of int) -0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) -0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2}) -0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g}) -0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) -0:? 'aconst' (global 4-element array of int) -0:? 'bconst' (global 64-element array of int) -0:? 'start2' (const int) +0:? 'v4' (layout( location=3) temp 4-component vector of float) +0:? 'uv4' (layout( location=4) uniform 4-component vector of float) +0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v}) +0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v}) +0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, }) +0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f}) +0:? 'cf' (layout( location=54) smooth out float) +0:? 'cg' (layout( location=53) smooth out float) +0:? 'alias1' (layout( location=10) in 4-component vector of float) +0:? 'alias2' (layout( location=10) in 4-component vector of float) +0:? 'v6e' (layout( location=0) in 4-component vector of float) +0:? 'ininst2e' ( in block{layout( location=25) in float f2}) +0:? 'in4e' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 'inst4e' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst9e' (layout( column_major shared align=32) uniform block{layout( column_major shared offset=12 align=4) uniform float f, layout( column_major shared offset=20) uniform float g}) +0:? 'spinste' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b}) +0:? 'aconste' ( global 4-element array of int) +0:? 'bconste' ( global 64-element array of int) +0:? 'bbinst2' ( out block{layout( xfb_buffer=0 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bge' (layout( xfb_buffer=2 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bhe' (layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) smooth out 4-component vector of float) +0:? 'bbinst4e' (layout( xfb_stride=80) out block{layout( xfb_buffer=2 xfb_offset=16) out 4-component vector of float bbv1, layout( xfb_buffer=2 xfb_offset=32) out 4-component vector of float bbv2}) +0:? 'bbinst5e' ( out block{layout( xfb_buffer=3 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=48 xfb_stride=64) out 4-component vector of float bbv2}) +0:? 'inst4' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst9' (layout( column_major std430 align=32) uniform block{layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430 offset=20 align=32) uniform float g}) +0:? 'spinst' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b}) +0:? 'aconst' ( global 4-element array of int) +0:? 'bconst' ( global 64-element array of int) +0:? 'start2' ( const int) 0:? 5 (const int) -0:? 'v6' (layout(location=19 ) in 4-component vector of float) -0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2}) -0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1}) -0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2}) -0:? 'sharedv' (shared 4-component vector of float) -0:? 'v' (buffer 4-component vector of float) -0:? 's2dms' (uniform sampler2DMS) -0:? 'us2dmsa' (uniform usampler2DMSArray) -0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) -0:? 'samp1D' (uniform sampler1D) -0:? 'usamp2D' (uniform usampler2D) -0:? 'isamp3D' (uniform isampler3D) -0:? 'isampCube' (uniform isamplerCube) -0:? 'isamp1DA' (uniform isampler1DArray) -0:? 'samp2DA' (uniform sampler2DArray) -0:? 'usampCubeA' (uniform usamplerCubeArray) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'sampCubes' (uniform samplerCubeShadow) -0:? 'samp1DAs' (uniform sampler1DArrayShadow) -0:? 'samp2DAs' (uniform sampler2DArrayShadow) -0:? 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:? 'sampBuf' (uniform samplerBuffer) -0:? 'sampRect' (uniform sampler2DRect) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'v6' (layout( location=19) in 4-component vector of float) +0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2}) +0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 'bbinst2g' ( out block{layout( xfb_buffer=3 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bg' (layout( xfb_buffer=1 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bh' (layout( xfb_buffer=1 xfb_offset=32 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bbinst4' (layout( xfb_stride=80) out block{layout( xfb_buffer=1 xfb_offset=16) out 4-component vector of float bbv1}) +0:? 'bbinst5' ( out block{layout( xfb_buffer=1 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=1 xfb_offset=64 xfb_stride=80) out 4-component vector of float bbv2}) +0:? 'sharedv' ( shared 4-component vector of float) +0:? 'v' ( buffer 4-component vector of float) +0:? 's2dms' ( uniform sampler2DMS) +0:? 'us2dmsa' ( uniform usampler2DMSArray) +0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) +0:? 'samp1D' ( uniform sampler1D) +0:? 'usamp2D' ( uniform usampler2D) +0:? 'isamp3D' ( uniform isampler3D) +0:? 'isampCube' ( uniform isamplerCube) +0:? 'isamp1DA' ( uniform isampler1DArray) +0:? 'samp2DA' ( uniform sampler2DArray) +0:? 'usampCubeA' ( uniform usamplerCubeArray) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'sampCubes' ( uniform samplerCubeShadow) +0:? 'samp1DAs' ( uniform sampler1DArrayShadow) +0:? 'samp2DAs' ( uniform sampler2DArrayShadow) +0:? 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:? 'sampBuf' ( uniform samplerBuffer) +0:? 'sampRect' ( uniform sampler2DRect) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -276,65 +277,65 @@ Requested GL_ARB_shader_texture_image_samples in xfb mode ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'v4' (layout(location=3 ) temp 4-component vector of float) -0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float) -0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v}) -0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v}) -0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, }) -0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f}) -0:? 'cf' (layout(location=54 ) smooth out float) -0:? 'cg' (layout(location=53 ) smooth out float) -0:? 'alias1' (layout(location=10 ) in 4-component vector of float) -0:? 'alias2' (layout(location=10 ) in 4-component vector of float) -0:? 'v6e' (layout(location=0 ) in 4-component vector of float) -0:? 'ininst2e' (in block{layout(location=25 ) in float f2}) -0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g}) -0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) -0:? 'aconste' (global 4-element array of int) -0:? 'bconste' (global 64-element array of int) -0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) -0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2}) -0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g}) -0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) -0:? 'aconst' (global 4-element array of int) -0:? 'bconst' (global 64-element array of int) -0:? 'start2' (const int) +0:? 'v4' (layout( location=3) temp 4-component vector of float) +0:? 'uv4' (layout( location=4) uniform 4-component vector of float) +0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v}) +0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v}) +0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, }) +0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f}) +0:? 'cf' (layout( location=54) smooth out float) +0:? 'cg' (layout( location=53) smooth out float) +0:? 'alias1' (layout( location=10) in 4-component vector of float) +0:? 'alias2' (layout( location=10) in 4-component vector of float) +0:? 'v6e' (layout( location=0) in 4-component vector of float) +0:? 'ininst2e' ( in block{layout( location=25) in float f2}) +0:? 'in4e' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 'inst4e' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst9e' (layout( column_major shared align=32) uniform block{layout( column_major shared offset=12 align=4) uniform float f, layout( column_major shared offset=20) uniform float g}) +0:? 'spinste' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b}) +0:? 'aconste' ( global 4-element array of int) +0:? 'bconste' ( global 64-element array of int) +0:? 'bbinst2' ( out block{layout( xfb_buffer=0 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bge' (layout( xfb_buffer=2 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bhe' (layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) smooth out 4-component vector of float) +0:? 'bbinst4e' (layout( xfb_stride=80) out block{layout( xfb_buffer=2 xfb_offset=16) out 4-component vector of float bbv1, layout( xfb_buffer=2 xfb_offset=32) out 4-component vector of float bbv2}) +0:? 'bbinst5e' ( out block{layout( xfb_buffer=3 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=48 xfb_stride=64) out 4-component vector of float bbv2}) +0:? 'inst4' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst9' (layout( column_major std430 align=32) uniform block{layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430 offset=20 align=32) uniform float g}) +0:? 'spinst' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b}) +0:? 'aconst' ( global 4-element array of int) +0:? 'bconst' ( global 64-element array of int) +0:? 'start2' ( const int) 0:? 5 (const int) -0:? 'v6' (layout(location=19 ) in 4-component vector of float) -0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2}) -0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) -0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1}) -0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2}) -0:? 'sharedv' (shared 4-component vector of float) -0:? 'v' (buffer 4-component vector of float) -0:? 's2dms' (uniform sampler2DMS) -0:? 'us2dmsa' (uniform usampler2DMSArray) -0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) -0:? 'samp1D' (uniform sampler1D) -0:? 'usamp2D' (uniform usampler2D) -0:? 'isamp3D' (uniform isampler3D) -0:? 'isampCube' (uniform isamplerCube) -0:? 'isamp1DA' (uniform isampler1DArray) -0:? 'samp2DA' (uniform sampler2DArray) -0:? 'usampCubeA' (uniform usamplerCubeArray) -0:? 'samp1Ds' (uniform sampler1DShadow) -0:? 'samp2Ds' (uniform sampler2DShadow) -0:? 'sampCubes' (uniform samplerCubeShadow) -0:? 'samp1DAs' (uniform sampler1DArrayShadow) -0:? 'samp2DAs' (uniform sampler2DArrayShadow) -0:? 'sampCubeAs' (uniform samplerCubeArrayShadow) -0:? 'sampBuf' (uniform samplerBuffer) -0:? 'sampRect' (uniform sampler2DRect) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'v6' (layout( location=19) in 4-component vector of float) +0:? 'ininst2' ( in block{layout( location=28 component=0) in bool b1, layout( location=29 component=0) in float f1, layout( location=25) in float f2}) +0:? 'in4' ( in block{layout( location=50) in float f1, layout( location=51) in float f2}) +0:? 'bbinst2g' ( out block{layout( xfb_buffer=3 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bg' (layout( xfb_buffer=1 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bh' (layout( xfb_buffer=1 xfb_offset=32 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bbinst4' (layout( xfb_stride=80) out block{layout( xfb_buffer=1 xfb_offset=16) out 4-component vector of float bbv1}) +0:? 'bbinst5' ( out block{layout( xfb_buffer=1 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=1 xfb_offset=64 xfb_stride=80) out 4-component vector of float bbv2}) +0:? 'sharedv' ( shared 4-component vector of float) +0:? 'v' ( buffer 4-component vector of float) +0:? 's2dms' ( uniform sampler2DMS) +0:? 'us2dmsa' ( uniform usampler2DMSArray) +0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) +0:? 'samp1D' ( uniform sampler1D) +0:? 'usamp2D' ( uniform usampler2D) +0:? 'isamp3D' ( uniform isampler3D) +0:? 'isampCube' ( uniform isamplerCube) +0:? 'isamp1DA' ( uniform isampler1DArray) +0:? 'samp2DA' ( uniform sampler2DArray) +0:? 'usampCubeA' ( uniform usamplerCubeArray) +0:? 'samp1Ds' ( uniform sampler1DShadow) +0:? 'samp2Ds' ( uniform sampler2DShadow) +0:? 'sampCubes' ( uniform samplerCubeShadow) +0:? 'samp1DAs' ( uniform sampler1DArrayShadow) +0:? 'samp2DAs' ( uniform sampler2DArrayShadow) +0:? 'sampCubeAs' ( uniform samplerCubeArrayShadow) +0:? 'sampBuf' ( uniform samplerBuffer) +0:? 'sampRect' ( uniform sampler2DRect) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430AofA.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430AofA.frag.out index fd3892dc497..3d532803a21 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430AofA.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430AofA.frag.out @@ -4,17 +4,17 @@ ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implici ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element ERROR: 0:28: '[' : array index out of range '4' -ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float' -ERROR: 0:60: 'constructor' : cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float' -ERROR: 0:64: '=' : cannot convert from 'const 3-element array of 2-element array of 4-component vector of float' to 'temp 4-element array of 2-element array of 4-component vector of float' -ERROR: 0:70: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global 5-element array of 7-element array of float' -ERROR: 0:71: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global implicitly-sized array of 7-element array of float' +ERROR: 0:56: 'constructor' : cannot convert parameter 2 from ' const 3-element array of 4-component vector of float' to ' temp 2-element array of 4-component vector of float' +ERROR: 0:60: 'constructor' : cannot convert parameter 2 from ' const 2-element array of 4-component vector of float' to ' temp 3-element array of 4-component vector of float' +ERROR: 0:64: '=' : cannot convert from ' const 3-element array of 2-element array of 4-component vector of float' to ' temp 4-element array of 2-element array of 4-component vector of float' +ERROR: 0:70: 'assign' : cannot convert from ' global 4-element array of 7-element array of float' to ' global 5-element array of 7-element array of float' +ERROR: 0:71: 'assign' : cannot convert from ' global 4-element array of 7-element array of float' to ' global implicitly-sized array of 7-element array of float' ERROR: 0:73: 'foo' : no matching overloaded function found -ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of float' and a right operand of type 'global 5-element array of 7-element array of float' (or there is no acceptable conversion) +ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type ' global 4-element array of 7-element array of float' and a right operand of type ' global 5-element array of 7-element array of float' (or there is no acceptable conversion) ERROR: 0:84: '[' : array index out of range '5' ERROR: 0:91: 'length' : array must be declared with a size before using this method ERROR: 0:93: 'length' : array must be declared with a size before using this method -ERROR: 0:98: 'length' : does not operate on this type: temp float +ERROR: 0:98: 'length' : does not operate on this type: temp float ERROR: 0:98: '' : function call, method, or subroutine call expected ERROR: 0:98: '' : no matching overloaded function found ERROR: 0:101: 'resize2' : redeclaration of array with a different array dimensions or sizes @@ -25,14 +25,14 @@ ERROR: 20 compilation errors. No code generated. Shader version: 430 ERROR: node is still EOpNull! -0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float) +0:10 Function Definition: foo(f1[5][7]; ( global 4-element array of 7-element array of float) 0:10 Function Parameters: -0:10 'a' (in 5-element array of 7-element array of float) +0:10 'a' ( in 5-element array of 7-element array of float) 0:? Sequence -0:13 move second child to first child (temp 7-element array of float) -0:13 'r' (temp 7-element array of float) -0:13 direct index (temp 7-element array of float) -0:13 'a' (in 5-element array of 7-element array of float) +0:13 move second child to first child ( temp 7-element array of float) +0:13 'r' ( temp 7-element array of float) +0:13 direct index ( temp 7-element array of float) +0:13 'a' ( in 5-element array of 7-element array of float) 0:13 Constant: 0:13 2 (const int) 0:14 Constant: @@ -40,65 +40,65 @@ ERROR: node is still EOpNull! 0:15 Constant: 0:15 0.000000 0:16 Branch: Return with expression -0:16 Construct float (temp 4-element array of 7-element array of float) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 Construct float ( temp 4-element array of 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 0 (const int) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 1 (const int) -0:16 'r' (temp 7-element array of float) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 'r' ( temp 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 3 (const int) 0:17 Branch: Return with expression -0:17 Construct float (temp 4-element array of 7-element array of float) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 Construct float ( temp 4-element array of 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 0 (const int) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 1 (const int) -0:17 'r' (temp 7-element array of float) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 'r' ( temp 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 3 (const int) 0:18 Branch: Return with expression -0:18 Construct float (temp 4-element array of 7-element array of float) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 Construct float ( temp 4-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 2 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 3 (const int) -0:21 Function Definition: bar(f1[5][7]; (global void) +0:21 Function Definition: bar(f1[5][7]; ( global void) 0:21 Function Parameters: -0:21 '' (in 5-element array of 7-element array of float) -0:23 Function Definition: main( (global void) +0:21 '' ( in 5-element array of 7-element array of float) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence 0:? Sequence -0:28 move second child to first child (temp float) -0:28 direct index (temp float) -0:28 direct index (temp 2-element array of float) -0:28 direct index (temp 4-element array of 2-element array of float) -0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float) +0:28 move second child to first child ( temp float) +0:28 direct index ( temp float) +0:28 direct index ( temp 2-element array of float) +0:28 direct index ( temp 4-element array of 2-element array of float) +0:28 'gu' ( temp 3-element array of 4-element array of 2-element array of float) 0:28 Constant: 0:28 2 (const int) 0:28 Constant: @@ -108,8 +108,8 @@ ERROR: node is still EOpNull! 0:28 Constant: 0:28 4.000000 0:30 Sequence -0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float) +0:30 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:30 'ca4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:32 Constant: 0:32 0.000000 0:32 0.000000 @@ -136,8 +136,8 @@ ERROR: node is still EOpNull! 0:32 1.000000 0:32 1.000000 0:33 Sequence -0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float) +0:33 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:33 'caim' ( temp 3-element array of 2-element array of 4-component vector of float) 0:35 Constant: 0:35 4.000000 0:35 4.000000 @@ -164,8 +164,8 @@ ERROR: node is still EOpNull! 0:35 2.000000 0:35 2.000000 0:36 Sequence -0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float) +0:36 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:36 'caim2' ( temp 3-element array of 2-element array of 4-component vector of float) 0:38 Constant: 0:38 4.000000 0:38 4.000000 @@ -192,8 +192,8 @@ ERROR: node is still EOpNull! 0:38 2.000000 0:38 2.000000 0:39 Sequence -0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float) +0:39 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:39 'caim3' ( temp 3-element array of 2-element array of 4-component vector of float) 0:41 Constant: 0:41 4.000000 0:41 4.000000 @@ -220,8 +220,8 @@ ERROR: node is still EOpNull! 0:41 2.000000 0:41 2.000000 0:43 Sequence -0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float) +0:43 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:43 'a4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:43 Constant: 0:43 0.000000 0:43 0.000000 @@ -248,8 +248,8 @@ ERROR: node is still EOpNull! 0:43 1.000000 0:43 1.000000 0:46 Sequence -0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float) +0:46 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:46 'aim' ( temp 3-element array of 2-element array of 4-component vector of float) 0:46 Constant: 0:46 4.000000 0:46 4.000000 @@ -276,8 +276,8 @@ ERROR: node is still EOpNull! 0:46 2.000000 0:46 2.000000 0:49 Sequence -0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float) +0:49 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:49 'aim2' ( temp 3-element array of 2-element array of 4-component vector of float) 0:49 Constant: 0:49 4.000000 0:49 4.000000 @@ -304,8 +304,8 @@ ERROR: node is still EOpNull! 0:49 2.000000 0:49 2.000000 0:52 Sequence -0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float) +0:52 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:52 'aim3' ( temp 3-element array of 2-element array of 4-component vector of float) 0:52 Constant: 0:52 4.000000 0:52 4.000000 @@ -331,60 +331,60 @@ ERROR: node is still EOpNull! 0:52 2.000000 0:52 2.000000 0:52 2.000000 -0:69 move second child to first child (temp 4-element array of 7-element array of float) -0:69 'g4' (global 4-element array of 7-element array of float) -0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:69 'g5' (global 5-element array of 7-element array of float) -0:70 'g5' (global 5-element array of 7-element array of float) -0:71 'gu' (global implicitly-sized array of 7-element array of float) +0:69 move second child to first child ( temp 4-element array of 7-element array of float) +0:69 'g4' ( global 4-element array of 7-element array of float) +0:69 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:69 'g5' ( global 5-element array of 7-element array of float) +0:70 'g5' ( global 5-element array of 7-element array of float) +0:71 'gu' ( global implicitly-sized array of 7-element array of float) 0:73 Constant: 0:73 0.000000 -0:74 Function Call: bar(f1[5][7]; (global void) -0:74 'g5' (global 5-element array of 7-element array of float) -0:76 Test condition and select (temp void) +0:74 Function Call: bar(f1[5][7]; ( global void) +0:74 'g5' ( global 5-element array of 7-element array of float) +0:76 Test condition and select ( temp void) 0:76 Condition -0:76 Compare Equal (temp bool) -0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:76 'g5' (global 5-element array of 7-element array of float) -0:76 'g4' (global 4-element array of 7-element array of float) +0:76 Compare Equal ( temp bool) +0:76 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:76 'g5' ( global 5-element array of 7-element array of float) +0:76 'g4' ( global 4-element array of 7-element array of float) 0:76 true case is null -0:78 Test condition and select (temp void) +0:78 Test condition and select ( temp void) 0:78 Condition 0:78 Constant: 0:78 false (const bool) 0:78 true case is null -0:82 move second child to first child (temp float) -0:82 direct index (temp float) -0:82 direct index (temp 7-element array of float) -0:82 'u' (temp 5-element array of 7-element array of float) +0:82 move second child to first child ( temp float) +0:82 direct index ( temp float) +0:82 direct index ( temp 7-element array of float) +0:82 'u' ( temp 5-element array of 7-element array of float) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 3.000000 -0:84 move second child to first child (temp float) -0:84 direct index (temp float) -0:84 direct index (temp 7-element array of float) -0:84 'u' (temp 5-element array of 7-element array of float) +0:84 move second child to first child ( temp float) +0:84 direct index ( temp float) +0:84 direct index ( temp 7-element array of float) +0:84 'u' ( temp 5-element array of 7-element array of float) 0:84 Constant: 0:84 5 (const int) 0:84 Constant: 0:84 2 (const int) 0:84 Constant: 0:84 5.000000 -0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:85 'u' (temp 5-element array of 7-element array of float) -0:88 Function Definition: foo3( (global void) +0:85 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:85 'u' ( temp 5-element array of 7-element array of float) +0:88 Function Definition: foo3( ( global void) 0:88 Function Parameters: 0:? Sequence 0:91 Constant: 0:91 1 (const int) -0:92 move second child to first child (temp float) -0:92 direct index (temp float) -0:92 direct index (temp 7-element array of float) -0:92 direct index (temp 5-element array of 7-element array of float) -0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float) +0:92 move second child to first child ( temp float) +0:92 direct index ( temp float) +0:92 direct index ( temp 7-element array of float) +0:92 direct index ( temp 5-element array of 7-element array of float) +0:92 'resize1' ( temp 3-element array of 5-element array of 7-element array of float) 0:92 Constant: 0:92 1 (const int) 0:92 Constant: @@ -404,11 +404,11 @@ ERROR: node is still EOpNull! 0:98 Constant: 0:98 0.000000 0:? Linker Objects -0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float) -0:? 'gu' (global implicitly-sized array of 7-element array of float) -0:? 'gimp' (global implicitly-sized array of implicitly-sized array of float) -0:? 'g4' (global 4-element array of 7-element array of float) -0:? 'g5' (global 5-element array of 7-element array of float) +0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float) +0:? 'gu' ( global implicitly-sized array of 7-element array of float) +0:? 'gimp' ( global implicitly-sized array of implicitly-sized array of float) +0:? 'g4' ( global 4-element array of 7-element array of float) +0:? 'g5' ( global 5-element array of 7-element array of float) Linked fragment stage: @@ -416,14 +416,14 @@ Linked fragment stage: Shader version: 430 ERROR: node is still EOpNull! -0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float) +0:10 Function Definition: foo(f1[5][7]; ( global 4-element array of 7-element array of float) 0:10 Function Parameters: -0:10 'a' (in 5-element array of 7-element array of float) +0:10 'a' ( in 5-element array of 7-element array of float) 0:? Sequence -0:13 move second child to first child (temp 7-element array of float) -0:13 'r' (temp 7-element array of float) -0:13 direct index (temp 7-element array of float) -0:13 'a' (in 5-element array of 7-element array of float) +0:13 move second child to first child ( temp 7-element array of float) +0:13 'r' ( temp 7-element array of float) +0:13 direct index ( temp 7-element array of float) +0:13 'a' ( in 5-element array of 7-element array of float) 0:13 Constant: 0:13 2 (const int) 0:14 Constant: @@ -431,65 +431,65 @@ ERROR: node is still EOpNull! 0:15 Constant: 0:15 0.000000 0:16 Branch: Return with expression -0:16 Construct float (temp 4-element array of 7-element array of float) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 Construct float ( temp 4-element array of 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 0 (const int) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 1 (const int) -0:16 'r' (temp 7-element array of float) -0:16 direct index (temp 7-element array of float) -0:16 'a' (in 5-element array of 7-element array of float) +0:16 'r' ( temp 7-element array of float) +0:16 direct index ( temp 7-element array of float) +0:16 'a' ( in 5-element array of 7-element array of float) 0:16 Constant: 0:16 3 (const int) 0:17 Branch: Return with expression -0:17 Construct float (temp 4-element array of 7-element array of float) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 Construct float ( temp 4-element array of 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 0 (const int) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 1 (const int) -0:17 'r' (temp 7-element array of float) -0:17 direct index (temp 7-element array of float) -0:17 'a' (in 5-element array of 7-element array of float) +0:17 'r' ( temp 7-element array of float) +0:17 direct index ( temp 7-element array of float) +0:17 'a' ( in 5-element array of 7-element array of float) 0:17 Constant: 0:17 3 (const int) 0:18 Branch: Return with expression -0:18 Construct float (temp 4-element array of 7-element array of float) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 Construct float ( temp 4-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 2 (const int) -0:18 direct index (temp 7-element array of float) -0:18 'a' (in 5-element array of 7-element array of float) +0:18 direct index ( temp 7-element array of float) +0:18 'a' ( in 5-element array of 7-element array of float) 0:18 Constant: 0:18 3 (const int) -0:21 Function Definition: bar(f1[5][7]; (global void) +0:21 Function Definition: bar(f1[5][7]; ( global void) 0:21 Function Parameters: -0:21 '' (in 5-element array of 7-element array of float) -0:23 Function Definition: main( (global void) +0:21 '' ( in 5-element array of 7-element array of float) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence 0:? Sequence -0:28 move second child to first child (temp float) -0:28 direct index (temp float) -0:28 direct index (temp 2-element array of float) -0:28 direct index (temp 4-element array of 2-element array of float) -0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float) +0:28 move second child to first child ( temp float) +0:28 direct index ( temp float) +0:28 direct index ( temp 2-element array of float) +0:28 direct index ( temp 4-element array of 2-element array of float) +0:28 'gu' ( temp 3-element array of 4-element array of 2-element array of float) 0:28 Constant: 0:28 2 (const int) 0:28 Constant: @@ -499,8 +499,8 @@ ERROR: node is still EOpNull! 0:28 Constant: 0:28 4.000000 0:30 Sequence -0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float) +0:30 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:30 'ca4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:32 Constant: 0:32 0.000000 0:32 0.000000 @@ -527,8 +527,8 @@ ERROR: node is still EOpNull! 0:32 1.000000 0:32 1.000000 0:33 Sequence -0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float) +0:33 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:33 'caim' ( temp 3-element array of 2-element array of 4-component vector of float) 0:35 Constant: 0:35 4.000000 0:35 4.000000 @@ -555,8 +555,8 @@ ERROR: node is still EOpNull! 0:35 2.000000 0:35 2.000000 0:36 Sequence -0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float) +0:36 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:36 'caim2' ( temp 3-element array of 2-element array of 4-component vector of float) 0:38 Constant: 0:38 4.000000 0:38 4.000000 @@ -583,8 +583,8 @@ ERROR: node is still EOpNull! 0:38 2.000000 0:38 2.000000 0:39 Sequence -0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float) +0:39 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:39 'caim3' ( temp 3-element array of 2-element array of 4-component vector of float) 0:41 Constant: 0:41 4.000000 0:41 4.000000 @@ -611,8 +611,8 @@ ERROR: node is still EOpNull! 0:41 2.000000 0:41 2.000000 0:43 Sequence -0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float) +0:43 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:43 'a4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:43 Constant: 0:43 0.000000 0:43 0.000000 @@ -639,8 +639,8 @@ ERROR: node is still EOpNull! 0:43 1.000000 0:43 1.000000 0:46 Sequence -0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float) +0:46 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:46 'aim' ( temp 3-element array of 2-element array of 4-component vector of float) 0:46 Constant: 0:46 4.000000 0:46 4.000000 @@ -667,8 +667,8 @@ ERROR: node is still EOpNull! 0:46 2.000000 0:46 2.000000 0:49 Sequence -0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float) +0:49 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:49 'aim2' ( temp 3-element array of 2-element array of 4-component vector of float) 0:49 Constant: 0:49 4.000000 0:49 4.000000 @@ -695,8 +695,8 @@ ERROR: node is still EOpNull! 0:49 2.000000 0:49 2.000000 0:52 Sequence -0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float) +0:52 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:52 'aim3' ( temp 3-element array of 2-element array of 4-component vector of float) 0:52 Constant: 0:52 4.000000 0:52 4.000000 @@ -722,54 +722,54 @@ ERROR: node is still EOpNull! 0:52 2.000000 0:52 2.000000 0:52 2.000000 -0:69 move second child to first child (temp 4-element array of 7-element array of float) -0:69 'g4' (global 4-element array of 7-element array of float) -0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:69 'g5' (global 5-element array of 7-element array of float) -0:70 'g5' (global 5-element array of 7-element array of float) -0:71 'gu' (global 1-element array of 7-element array of float) +0:69 move second child to first child ( temp 4-element array of 7-element array of float) +0:69 'g4' ( global 4-element array of 7-element array of float) +0:69 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:69 'g5' ( global 5-element array of 7-element array of float) +0:70 'g5' ( global 5-element array of 7-element array of float) +0:71 'gu' ( global 1-element array of 7-element array of float) 0:73 Constant: 0:73 0.000000 -0:74 Function Call: bar(f1[5][7]; (global void) -0:74 'g5' (global 5-element array of 7-element array of float) -0:76 Test condition and select (temp void) +0:74 Function Call: bar(f1[5][7]; ( global void) +0:74 'g5' ( global 5-element array of 7-element array of float) +0:76 Test condition and select ( temp void) 0:76 Condition -0:76 Compare Equal (temp bool) -0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:76 'g5' (global 5-element array of 7-element array of float) -0:76 'g4' (global 4-element array of 7-element array of float) +0:76 Compare Equal ( temp bool) +0:76 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:76 'g5' ( global 5-element array of 7-element array of float) +0:76 'g4' ( global 4-element array of 7-element array of float) 0:76 true case is null -0:78 Test condition and select (temp void) +0:78 Test condition and select ( temp void) 0:78 Condition 0:78 Constant: 0:78 false (const bool) 0:78 true case is null -0:82 move second child to first child (temp float) -0:82 direct index (temp float) -0:82 direct index (temp 7-element array of float) -0:82 'u' (temp 5-element array of 7-element array of float) +0:82 move second child to first child ( temp float) +0:82 direct index ( temp float) +0:82 direct index ( temp 7-element array of float) +0:82 'u' ( temp 5-element array of 7-element array of float) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 3.000000 -0:84 move second child to first child (temp float) -0:84 direct index (temp float) -0:84 direct index (temp 7-element array of float) -0:84 'u' (temp 5-element array of 7-element array of float) +0:84 move second child to first child ( temp float) +0:84 direct index ( temp float) +0:84 direct index ( temp 7-element array of float) +0:84 'u' ( temp 5-element array of 7-element array of float) 0:84 Constant: 0:84 5 (const int) 0:84 Constant: 0:84 2 (const int) 0:84 Constant: 0:84 5.000000 -0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float) -0:85 'u' (temp 5-element array of 7-element array of float) +0:85 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float) +0:85 'u' ( temp 5-element array of 7-element array of float) 0:? Linker Objects -0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float) -0:? 'gu' (global 1-element array of 7-element array of float) -0:? 'gimp' (global 1-element array of implicitly-sized array of float) -0:? 'g4' (global 4-element array of 7-element array of float) -0:? 'g5' (global 5-element array of 7-element array of float) +0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float) +0:? 'gu' ( global 1-element array of 7-element array of float) +0:? 'gimp' ( global 1-element array of implicitly-sized array of float) +0:? 'g4' ( global 4-element array of 7-element array of float) +0:? 'g5' ( global 5-element array of 7-element array of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430scope.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430scope.vert.out index c7d05038f9c..3e710024ab1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430scope.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/430scope.vert.out @@ -13,116 +13,116 @@ ERROR: 8 compilation errors. No code generated. Shader version: 430 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global int) +0:3 Function Definition: f(i1;i1;i1; ( global int) 0:3 Function Parameters: -0:3 'a' (in int) -0:3 'b' (in int) -0:3 'c' (in int) +0:3 'a' ( in int) +0:3 'b' ( in int) +0:3 'c' ( in int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'a' (temp float) -0:8 add (temp float) -0:8 Convert int to float (temp float) -0:8 'a' (in int) +0:8 move second child to first child ( temp float) +0:8 'a' ( temp float) +0:8 add ( temp float) +0:8 Convert int to float ( temp float) +0:8 'a' ( in int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in int) -0:25 Function Definition: cos(f1; (global float) +0:11 'a' ( in int) +0:25 Function Definition: cos(f1; ( global float) 0:25 Function Parameters: -0:25 'x' (in float) +0:25 'x' ( in float) 0:27 Sequence 0:27 Branch: Return with expression 0:27 Constant: 0:27 1.000000 -0:29 Function Definition: radians(b1; (global bool) +0:29 Function Definition: radians(b1; ( global bool) 0:29 Function Parameters: -0:29 'x' (in bool) +0:29 'x' ( in bool) 0:31 Sequence 0:31 Branch: Return with expression 0:31 Constant: 0:31 true (const bool) -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp int) -0:42 'sin' (temp float) +0:39 Function Call: g( ( temp int) +0:42 'sin' ( temp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global int) +0:44 Function Call: f(i1;i1;i1; ( global int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp float) -0:47 'f' (temp float) +0:47 move second child to first child ( temp float) +0:47 'f' ( temp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position) -0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...}) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position) +0:49 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:49 Constant: 0:49 0 (const uint) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 'f' (temp float) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 'f' ( temp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp int) -0:51 'f' (temp int) +0:51 move second child to first child ( temp int) +0:51 'f' ( temp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp int) -0:52 'f' (temp int) +0:52 Pre-Increment ( temp int) +0:52 'f' ( temp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp int) -0:51 'f' (temp int) +0:51 Pre-Increment ( temp int) +0:51 'f' ( temp int) 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'x' (temp int) +0:54 move second child to first child ( temp int) +0:54 'x' ( temp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'x' ( temp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp float) -0:56 'y' (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'y' ( temp float) +0:56 'x' ( temp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'x' (temp int) -0:60 'x' (temp int) +0:60 move second child to first child ( temp int) +0:60 'x' ( temp int) +0:60 'x' ( temp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp int x}) -0:68 'S' (temp structure{temp int x}) +0:68 move second child to first child ( temp structure{ temp int x}) +0:68 'S' ( temp structure{ temp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp int) -0:69 'S' (temp structure{temp int x}) +0:69 x: direct index for structure ( temp int) +0:69 'S' ( temp structure{ temp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'tan' (global float) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'b' ( global bool) +0:? 'tan' ( global float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -132,100 +132,100 @@ ERROR: Linking vertex stage: No function definition (body) found: Shader version: 430 ERROR: node is still EOpNull! -0:3 Function Definition: f(i1;i1;i1; (global int) +0:3 Function Definition: f(i1;i1;i1; ( global int) 0:3 Function Parameters: -0:3 'a' (in int) -0:3 'b' (in int) -0:3 'c' (in int) +0:3 'a' ( in int) +0:3 'b' ( in int) +0:3 'c' ( in int) 0:? Sequence 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'a' (temp float) -0:8 add (temp float) -0:8 Convert int to float (temp float) -0:8 'a' (in int) +0:8 move second child to first child ( temp float) +0:8 'a' ( temp float) +0:8 add ( temp float) +0:8 Convert int to float ( temp float) +0:8 'a' ( in int) 0:8 Constant: 0:8 1.000000 0:11 Branch: Return with expression -0:11 'a' (in int) -0:36 Function Definition: main( (global void) +0:11 'a' ( in int) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:? Sequence -0:39 Function Call: g( (temp int) -0:42 'sin' (temp float) +0:39 Function Call: g( ( temp int) +0:42 'sin' ( temp float) 0:43 Constant: 0:43 0.000000 -0:44 Function Call: f(i1;i1;i1; (global int) +0:44 Function Call: f(i1;i1;i1; ( global int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 3 (const int) -0:47 move second child to first child (temp float) -0:47 'f' (temp float) +0:47 move second child to first child ( temp float) +0:47 'f' ( temp float) 0:47 Constant: 0:47 3.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position) -0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position) +0:49 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:49 Constant: 0:49 0 (const uint) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 'f' (temp float) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 'f' ( temp float) 0:51 Sequence 0:51 Sequence -0:51 move second child to first child (temp int) -0:51 'f' (temp int) +0:51 move second child to first child ( temp int) +0:51 'f' ( temp int) 0:51 Constant: 0:51 0 (const int) 0:51 Loop with condition tested first 0:51 Loop Condition -0:51 Compare Less Than (temp bool) -0:51 'f' (temp int) +0:51 Compare Less Than ( temp bool) +0:51 'f' ( temp int) 0:51 Constant: 0:51 10 (const int) 0:51 Loop Body -0:52 Pre-Increment (temp int) -0:52 'f' (temp int) +0:52 Pre-Increment ( temp int) +0:52 'f' ( temp int) 0:51 Loop Terminal Expression -0:51 Pre-Increment (temp int) -0:51 'f' (temp int) +0:51 Pre-Increment ( temp int) +0:51 'f' ( temp int) 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'x' (temp int) +0:54 move second child to first child ( temp int) +0:54 'x' ( temp int) 0:54 Constant: 0:54 1 (const int) 0:56 Sequence 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'x' ( temp float) 0:56 Constant: 0:56 2.000000 -0:56 move second child to first child (temp float) -0:56 'y' (temp float) -0:56 'x' (temp float) +0:56 move second child to first child ( temp float) +0:56 'y' ( temp float) +0:56 'x' ( temp float) 0:60 Sequence 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'x' (temp int) -0:60 'x' (temp int) +0:60 move second child to first child ( temp int) +0:60 'x' ( temp int) +0:60 'x' ( temp int) 0:68 Sequence 0:68 Sequence -0:68 move second child to first child (temp structure{temp int x}) -0:68 'S' (temp structure{temp int x}) +0:68 move second child to first child ( temp structure{ temp int x}) +0:68 'S' ( temp structure{ temp int x}) 0:68 Constant: 0:68 0 (const int) -0:69 x: direct index for structure (temp int) -0:69 'S' (temp structure{temp int x}) +0:69 x: direct index for structure ( temp int) +0:69 'S' ( temp structure{ temp int x}) 0:69 Constant: 0:69 0 (const int) 0:73 Constant: 0:73 0.000000 0:? Linker Objects -0:? 'b' (global bool) -0:? 'tan' (global float) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'b' ( global bool) +0:? 'tan' ( global float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.frag.out index bdc1b09561d..ff276415fce 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.frag.out @@ -22,11 +22,11 @@ ERROR: 0:38: 'offset' : only applies to block members, not blocks ERROR: 0:39: 'output block' : not supported in this stage: fragment ERROR: 0:39: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:39: 'offset' : only applies to block members, not blocks -ERROR: 0:42: 'offset/align' : can only be used with std140 or std430 layout packing -ERROR: 0:43: 'offset/align' : can only be used with std140 or std430 layout packing +ERROR: 0:42: 'align' : can only be used with std140 or std430 layout packing +ERROR: 0:43: 'align' : can only be used with std140 or std430 layout packing ERROR: 0:43: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:44: 'output block' : not supported in this stage: fragment -ERROR: 0:44: 'offset/align' : can only be used with std140 or std430 layout packing +ERROR: 0:44: 'align' : can only be used with std140 or std430 layout packing ERROR: 0:44: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:46: 'offset' : cannot specify on a variable declaration ERROR: 0:47: 'layout' : offset/align can only be used on a uniform or buffer @@ -37,8 +37,9 @@ ERROR: 0:52: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:54: 'layout' : matrix or packing qualifiers can only be used on a uniform or buffer ERROR: 0:55: 'layout' : cannot specify packing on a variable declaration ERROR: 0:57: 'align' : must be a power of 2 -ERROR: 0:58: 'align' : can only be used with std140 or std430 layout packing -ERROR: 0:63: 'align' : can only be used with std140 or std430 layout packing +ERROR: 0:58: 'offset/align' : can only be used with std140 or std430 layout packing +ERROR: 0:62: 'offset/align' : can only be used with std140 or std430 layout packing +ERROR: 0:63: 'offset/align' : can only be used with std140 or std430 layout packing ERROR: 0:62: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:63: 'layout' : offset/align can only be used on a uniform or buffer ERROR: 0:84: 'align' : must be a power of 2 @@ -48,18 +49,18 @@ ERROR: 0:103: 'align' : must be a power of 2 ERROR: 0:105: 'align' : must be a power of 2 ERROR: 0:102: 'offset' : cannot lie in previous members ERROR: 0:104: 'offset' : must be a multiple of the member's alignment -ERROR: 48 compilation errors. No code generated. +ERROR: 49 compilation errors. No code generated. Shader version: 440 ERROR: node is still EOpNull! -0:144 Function Definition: interp( (global void) +0:144 Function Definition: interp( ( global void) 0:144 Function Parameters: 0:146 Sequence -0:146 interpolateAtCentroid (global 2-component vector of float) -0:146 vector swizzle (temp 2-component vector of float) -0:146 direct index (smooth sample temp 3-component vector of float) -0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:146 interpolateAtCentroid ( global 2-component vector of float) +0:146 vector swizzle ( temp 2-component vector of float) +0:146 direct index ( smooth sample temp 3-component vector of float) +0:146 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:146 Constant: 0:146 2 (const int) 0:146 Sequence @@ -67,57 +68,57 @@ ERROR: node is still EOpNull! 0:146 0 (const int) 0:146 Constant: 0:146 1 (const int) -0:147 interpolateAtSample (global float) -0:147 direct index (temp float) -0:147 direct index (smooth sample temp 3-component vector of float) -0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:147 interpolateAtSample ( global float) +0:147 direct index ( temp float) +0:147 direct index ( smooth sample temp 3-component vector of float) +0:147 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) 0:147 Constant: 0:147 2 (const int) 0:147 Constant: 0:147 0 (const int) 0:147 Constant: 0:147 2 (const int) -0:150 Function Definition: layer( (global int) +0:150 Function Definition: layer( ( global int) 0:150 Function Parameters: 0:152 Sequence 0:152 Branch: Return with expression -0:152 'gl_Layer' (flat in int Layer) +0:152 'gl_Layer' ( flat in int Layer) 0:? Linker Objects -0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float) -0:? 'b' (layout(location=4 component=1 ) smooth in float) -0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float) -0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float) -0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float) -0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float) -0:? 'be' (layout(location=30 component=3 ) out int) -0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float) -0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'inst2' (layout(offset=12 ) in block{in int a}) -0:? 'inst3' (layout(offset=12 ) out block{out int a}) -0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'inst5' (layout(align=16 ) in block{in int a}) -0:? 'inst6' (layout(align=16 ) out block{out int a}) -0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float) -0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float) -0:? 'v3' (layout(offset=12 ) out 4-component vector of float) -0:? 'v4' (layout(align=16 ) uniform 4-component vector of float) -0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float) -0:? 'v6' (layout(align=16 ) out 4-component vector of float) -0:? 'v7' (layout(std140 ) uniform 4-component vector of float) -0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f}) -0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g}) -0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h}) -0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g}) -0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h}) -0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j}) -0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i}) -0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j}) -0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i}) -0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i}) -0:? 'aconst' (global 4-element array of int) -0:? 'bconst' (global 64-element array of int) -0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:? 'a' (layout( location=4 component=2) smooth in 2-component vector of float) +0:? 'b' (layout( location=4 component=1) smooth in float) +0:? 'h' (layout( location=4 component=2) smooth in 2-component vector of float) +0:? 'c' (layout( location=3 component=2) smooth in 3-component vector of float) +0:? 'e' (layout( location=20 component=0) smooth in 6-element array of 3-component vector of float) +0:? 'f' (layout( location=20 component=3) smooth in 6-element array of float) +0:? 'be' (layout( location=30 component=3) out int) +0:? 'bf' (layout( location=30 component=0) out 3-component vector of float) +0:? 'inst1' (layout( column_major shared offset=12) uniform block{layout( column_major shared) uniform int a}) +0:? 'inst2' (layout( offset=12) in block{ in int a}) +0:? 'inst3' (layout( offset=12) out block{ out int a}) +0:? 'inst4' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst8' (layout( column_major shared align=16) uniform block{layout( column_major shared) uniform int a}) +0:? 'inst5' (layout( align=16) in block{ in int a}) +0:? 'inst6' (layout( align=16) out block{ out int a}) +0:? 'v1' (layout( offset=12) uniform 4-component vector of float) +0:? 'v2' (layout( offset=12) smooth in 4-component vector of float) +0:? 'v3' (layout( offset=12) out 4-component vector of float) +0:? 'v4' (layout( align=16) uniform 4-component vector of float) +0:? 'v5' (layout( align=16) smooth in 4-component vector of float) +0:? 'v6' (layout( align=16) out 4-component vector of float) +0:? 'v7' (layout( std140) uniform 4-component vector of float) +0:? 'inst7' (layout( column_major shared) uniform block{layout( column_major shared offset=12 align=4) uniform float f}) +0:? 'inst10' ( in block{layout( offset=12) in float f, layout( align=4) in float g}) +0:? 'inst9' (layout( column_major std430 align=32) uniform block{layout( column_major std430 align=32) uniform float e, layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430 offset=20 align=32) uniform float g, layout( column_major std430 align=32) uniform float h}) +0:? 'inst11' (layout( column_major std430) uniform block{layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430) uniform float g}) +0:? 'specExampleErrors' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b, layout( column_major std140 offset=48) uniform 2-component vector of float c, layout( column_major std140 offset=56) uniform double g, layout( column_major std140 offset=72) uniform double h}) +0:? 'specExample' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b, layout( column_major std140 offset=48) uniform 2-component vector of float d, layout( column_major std140 offset=64 align=16) uniform float e, layout( column_major std140 offset=72 align=2) uniform double f, layout( column_major std140 offset=80) uniform float h, layout( column_major std140 offset=128 align=64) uniform 3-component vector of double i, layout( column_major std140 offset=168 align=8) uniform float j}) +0:? 'specExampleErrors430' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer 4-component vector of float a, layout( column_major std430 offset=32) buffer 3-component vector of float b, layout( column_major std430 offset=48) buffer 2-component vector of float c, layout( column_major std430 offset=56) buffer double g, layout( column_major std430 offset=72) buffer double h, layout( column_major std430 offset=80) buffer double i}) +0:? 'specExample430' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer 4-component vector of float a, layout( column_major std430 offset=32) buffer 3-component vector of float b, layout( column_major std430 offset=48) buffer 2-component vector of float d, layout( column_major std430 offset=64 align=16) buffer float e, layout( column_major std430 offset=72 align=2) buffer double f, layout( column_major std430 offset=80) buffer float h, layout( column_major std430 offset=128 align=64) buffer 3-component vector of double i, layout( column_major std430 offset=168 align=8) buffer float j}) +0:? 'specExample4300' (layout( column_major std430 align=128) buffer block{layout( column_major std430 offset=0 align=128) buffer 4-component vector of float a, layout( column_major std430 offset=128 align=128) buffer 3-component vector of float b, layout( column_major std430 offset=256 align=128) buffer 2-component vector of float d, layout( column_major std430 offset=384 align=128) buffer float e, layout( column_major std430 offset=512 align=128) buffer double f, layout( column_major std430 offset=640 align=128) buffer float h, layout( column_major std430 offset=768 align=128) buffer 3-component vector of double i}) +0:? 'specExample4301' (layout( column_major std430 align=128) buffer block{layout( column_major std430 offset=0 align=128) buffer 4-component vector of float a, layout( column_major std430 offset=128 align=128) buffer 3-component vector of float b, layout( column_major std430 offset=256 align=128) buffer 2-component vector of float d, layout( column_major std430 offset=512 align=128) buffer float e, layout( column_major std430 offset=520 align=8) buffer double f, layout( column_major std430 offset=640 align=128) buffer float h, layout( column_major std430 offset=768 align=128) buffer 3-component vector of double i}) +0:? 'aconst' ( global 4-element array of int) +0:? 'bconst' ( global 64-element array of int) +0:? 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) Linked fragment stage: @@ -127,39 +128,39 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr Shader version: 440 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float) -0:? 'b' (layout(location=4 component=1 ) smooth in float) -0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float) -0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float) -0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float) -0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float) -0:? 'be' (layout(location=30 component=3 ) out int) -0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float) -0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'inst2' (layout(offset=12 ) in block{in int a}) -0:? 'inst3' (layout(offset=12 ) out block{out int a}) -0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) -0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a}) -0:? 'inst5' (layout(align=16 ) in block{in int a}) -0:? 'inst6' (layout(align=16 ) out block{out int a}) -0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float) -0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float) -0:? 'v3' (layout(offset=12 ) out 4-component vector of float) -0:? 'v4' (layout(align=16 ) uniform 4-component vector of float) -0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float) -0:? 'v6' (layout(align=16 ) out 4-component vector of float) -0:? 'v7' (layout(std140 ) uniform 4-component vector of float) -0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f}) -0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g}) -0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h}) -0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g}) -0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h}) -0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j}) -0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i}) -0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j}) -0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i}) -0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i}) -0:? 'aconst' (global 4-element array of int) -0:? 'bconst' (global 64-element array of int) -0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float) +0:? 'a' (layout( location=4 component=2) smooth in 2-component vector of float) +0:? 'b' (layout( location=4 component=1) smooth in float) +0:? 'h' (layout( location=4 component=2) smooth in 2-component vector of float) +0:? 'c' (layout( location=3 component=2) smooth in 3-component vector of float) +0:? 'e' (layout( location=20 component=0) smooth in 6-element array of 3-component vector of float) +0:? 'f' (layout( location=20 component=3) smooth in 6-element array of float) +0:? 'be' (layout( location=30 component=3) out int) +0:? 'bf' (layout( location=30 component=0) out 3-component vector of float) +0:? 'inst1' (layout( column_major shared offset=12) uniform block{layout( column_major shared) uniform int a}) +0:? 'inst2' (layout( offset=12) in block{ in int a}) +0:? 'inst3' (layout( offset=12) out block{ out int a}) +0:? 'inst4' (layout( column_major std140 align=16) uniform block{layout( column_major std140 offset=0 align=16) uniform int a}) +0:? 'inst8' (layout( column_major shared align=16) uniform block{layout( column_major shared) uniform int a}) +0:? 'inst5' (layout( align=16) in block{ in int a}) +0:? 'inst6' (layout( align=16) out block{ out int a}) +0:? 'v1' (layout( offset=12) uniform 4-component vector of float) +0:? 'v2' (layout( offset=12) smooth in 4-component vector of float) +0:? 'v3' (layout( offset=12) out 4-component vector of float) +0:? 'v4' (layout( align=16) uniform 4-component vector of float) +0:? 'v5' (layout( align=16) smooth in 4-component vector of float) +0:? 'v6' (layout( align=16) out 4-component vector of float) +0:? 'v7' (layout( std140) uniform 4-component vector of float) +0:? 'inst7' (layout( column_major shared) uniform block{layout( column_major shared offset=12 align=4) uniform float f}) +0:? 'inst10' ( in block{layout( offset=12) in float f, layout( align=4) in float g}) +0:? 'inst9' (layout( column_major std430 align=32) uniform block{layout( column_major std430 align=32) uniform float e, layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430 offset=20 align=32) uniform float g, layout( column_major std430 align=32) uniform float h}) +0:? 'inst11' (layout( column_major std430) uniform block{layout( column_major std430 offset=12 align=4) uniform float f, layout( column_major std430) uniform float g}) +0:? 'specExampleErrors' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b, layout( column_major std140 offset=48) uniform 2-component vector of float c, layout( column_major std140 offset=56) uniform double g, layout( column_major std140 offset=72) uniform double h}) +0:? 'specExample' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform 4-component vector of float a, layout( column_major std140 offset=32) uniform 3-component vector of float b, layout( column_major std140 offset=48) uniform 2-component vector of float d, layout( column_major std140 offset=64 align=16) uniform float e, layout( column_major std140 offset=72 align=2) uniform double f, layout( column_major std140 offset=80) uniform float h, layout( column_major std140 offset=128 align=64) uniform 3-component vector of double i, layout( column_major std140 offset=168 align=8) uniform float j}) +0:? 'specExampleErrors430' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer 4-component vector of float a, layout( column_major std430 offset=32) buffer 3-component vector of float b, layout( column_major std430 offset=48) buffer 2-component vector of float c, layout( column_major std430 offset=56) buffer double g, layout( column_major std430 offset=72) buffer double h, layout( column_major std430 offset=80) buffer double i}) +0:? 'specExample430' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer 4-component vector of float a, layout( column_major std430 offset=32) buffer 3-component vector of float b, layout( column_major std430 offset=48) buffer 2-component vector of float d, layout( column_major std430 offset=64 align=16) buffer float e, layout( column_major std430 offset=72 align=2) buffer double f, layout( column_major std430 offset=80) buffer float h, layout( column_major std430 offset=128 align=64) buffer 3-component vector of double i, layout( column_major std430 offset=168 align=8) buffer float j}) +0:? 'specExample4300' (layout( column_major std430 align=128) buffer block{layout( column_major std430 offset=0 align=128) buffer 4-component vector of float a, layout( column_major std430 offset=128 align=128) buffer 3-component vector of float b, layout( column_major std430 offset=256 align=128) buffer 2-component vector of float d, layout( column_major std430 offset=384 align=128) buffer float e, layout( column_major std430 offset=512 align=128) buffer double f, layout( column_major std430 offset=640 align=128) buffer float h, layout( column_major std430 offset=768 align=128) buffer 3-component vector of double i}) +0:? 'specExample4301' (layout( column_major std430 align=128) buffer block{layout( column_major std430 offset=0 align=128) buffer 4-component vector of float a, layout( column_major std430 offset=128 align=128) buffer 3-component vector of float b, layout( column_major std430 offset=256 align=128) buffer 2-component vector of float d, layout( column_major std430 offset=512 align=128) buffer float e, layout( column_major std430 offset=520 align=8) buffer double f, layout( column_major std430 offset=640 align=128) buffer float h, layout( column_major std430 offset=768 align=128) buffer 3-component vector of double i}) +0:? 'aconst' ( global 4-element array of int) +0:? 'bconst' ( global 64-element array of int) +0:? 'sampInArray' ( smooth sample in 4-element array of 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.vert.out index bf625c8a776..3448113c830 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/440.vert.out @@ -61,101 +61,101 @@ Shader version: 440 Requested GL_ARB_shader_draw_parameters in xfb mode ERROR: node is still EOpNull! -0:177 Function Definition: drawParamsBad( (global int) +0:177 Function Definition: drawParamsBad( ( global int) 0:177 Function Parameters: 0:179 Sequence 0:179 Branch: Return with expression -0:179 add (temp int) -0:179 add (temp int) -0:179 'gl_BaseVertexARB' (in int BaseVertex) -0:179 'gl_BaseInstanceARB' (in int BaseInstance) -0:179 'gl_DrawIDARB' (in int DrawId) -0:184 Function Definition: drawParams( (global int) +0:179 add ( temp int) +0:179 add ( temp int) +0:179 'gl_BaseVertexARB' ( in int BaseVertex) +0:179 'gl_BaseInstanceARB' ( in int BaseInstance) +0:179 'gl_DrawIDARB' ( in int DrawId) +0:184 Function Definition: drawParams( ( global int) 0:184 Function Parameters: 0:186 Sequence 0:186 Branch: Return with expression -0:186 add (temp int) -0:186 add (temp int) -0:186 'gl_BaseVertexARB' (in int BaseVertex) -0:186 'gl_BaseInstanceARB' (in int BaseInstance) -0:186 'gl_DrawIDARB' (in int DrawId) -0:187 move second child to first child (temp int) -0:187 'gl_BaseVertexARB' (in int BaseVertex) +0:186 add ( temp int) +0:186 add ( temp int) +0:186 'gl_BaseVertexARB' ( in int BaseVertex) +0:186 'gl_BaseInstanceARB' ( in int BaseInstance) +0:186 'gl_DrawIDARB' ( in int DrawId) +0:187 move second child to first child ( temp int) +0:187 'gl_BaseVertexARB' ( in int BaseVertex) 0:187 Constant: 0:187 3 (const int) -0:188 move second child to first child (temp int) -0:188 'gl_BaseInstanceARB' (in int BaseInstance) +0:188 move second child to first child ( temp int) +0:188 'gl_BaseInstanceARB' ( in int BaseInstance) 0:188 Constant: 0:188 3 (const int) -0:189 move second child to first child (temp int) -0:189 'gl_DrawIDARB' (in int DrawId) +0:189 move second child to first child ( temp int) +0:189 'gl_DrawIDARB' ( in int DrawId) 0:189 Constant: 0:189 3 (const int) -0:190 'glBaseInstanceARB' (temp float) +0:190 'glBaseInstanceARB' ( temp float) 0:? Linker Objects -0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) -0:? 'b' (layout(location=2 component=1 ) in float) -0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float) -0:? 'd' (layout(location=0 component=3 ) in 4-element array of float) -0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float) -0:? 'f' (layout(location=4 component=3 ) in 5-element array of float) -0:? 'g' (layout(location=9 ) in 6-element array of float) -0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float) -0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float) -0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float) -0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float) -0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float) -0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float) -0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float) -0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float) -0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float) -0:? 's' (layout(location=15 component=3 ) smooth out float) -0:? 't' (layout(location=10 component=1 ) smooth out float) -0:? 'u' (layout(location=20 component=2 ) smooth out float) -0:? 'v' (layout(location=20 component=0 ) smooth out float) -0:? 'w' (layout(location=20 component=3 ) smooth out float) -0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float) -0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float) -0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float) -0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float) -0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a}) -0:? 'bb' (layout(location=34 component=1 ) out block{out int a}) -0:? 'bc' (layout(location=4095 component=1 ) smooth out float) -0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss}) -0:? 'be' (layout(location=50 component=3 ) smooth out int) -0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float) -0:? 'dfo' (layout(location=51 component=1 ) smooth out double) -0:? 'dvo' (layout(location=52 component=2 ) smooth out 2-component vector of double) -0:? 'dfo2' (layout(location=53 ) smooth out double) -0:? 'ffv2' (layout(location=53 component=2 ) smooth out 2-component vector of float) -0:? 'dvec4out' (layout(location=54 ) smooth out 4-component vector of double) -0:? 'overf' (layout(location=55 ) smooth out float) -0:? 'df2o' (layout(location=56 component=1 ) smooth out 2-component vector of float) -0:? 'sf2o' (layout(location=56 component=3 ) smooth out float) -0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float) -0:? 'sf4o' (layout(location=57 component=3 ) smooth out float) -0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double) -0:? 'dfo3' (layout(location=59 component=2 ) flat out double) -0:? 'dfo4' (layout(location=59 component=0 ) flat out double) -0:? 'bbinst1' (out block{out 4-component vector of float bbv}) -0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv}) -0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv}) -0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) -0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3}) -0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6}) -0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float) -0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int) -0:? 'bl' (layout(xfb_stride=48 ) smooth out float) -0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g}) -0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s}) -0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float) -0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'a' (layout( location=2 component=2) in 2-component vector of float) +0:? 'b' (layout( location=2 component=1) in float) +0:? 'c' (layout( location=3 component=2) in 3-component vector of float) +0:? 'd' (layout( location=0 component=3) in 4-element array of float) +0:? 'e' (layout( location=4 component=0) in 5-element array of 3-component vector of float) +0:? 'f' (layout( location=4 component=3) in 5-element array of float) +0:? 'g' (layout( location=9) in 6-element array of float) +0:? 'h' (layout( location=4 component=2) in 2-component vector of float) +0:? 'i' (layout( location=3 component=2) smooth out 2-component vector of float) +0:? 'j' (layout( location=3 component=0) smooth out 2-component vector of float) +0:? 'k' (layout( location=4 component=2) smooth out 2-component vector of float) +0:? 'm' (layout( location=4 component=2) smooth out 2-component vector of float) +0:? 'n' (layout( location=2 component=2) smooth out 2-component vector of float) +0:? 'p' (layout( location=2 component=0) smooth out 3-component vector of float) +0:? 'q' (layout( location=10 component=3) smooth out 6-element array of float) +0:? 'r' (layout( location=10 component=0) smooth out 6-element array of 3-component vector of float) +0:? 's' (layout( location=15 component=3) smooth out float) +0:? 't' (layout( location=10 component=1) smooth out float) +0:? 'u' (layout( location=20 component=2) smooth out float) +0:? 'v' (layout( location=20 component=0) smooth out float) +0:? 'w' (layout( location=20 component=3) smooth out float) +0:? 'x' (layout( location=20 component=1) smooth out 2-component vector of float) +0:? 'y' (layout( location=30 component=3) smooth out 2-component vector of float) +0:? 'z' (layout( location=31 component=1) smooth out 4-component vector of float) +0:? 'ba' (layout( location=32 component=1) smooth out 4X4 matrix of float) +0:? 'Ss' (layout( location=33 component=1) smooth out structure{ global int a}) +0:? 'bb' (layout( location=34 component=1) out block{ out int a}) +0:? 'bc' (layout( location=4095 component=1) smooth out float) +0:? 'bd' ( out block{layout( location=40 component=2) out float u, layout( location=40 component=0) out float v, layout( location=40 component=3) out float w, layout( location=40 component=1) out 2-component vector of float x, layout( location=41 component=3) out 2-component vector of float y, layout( location=42 component=1) out 4-component vector of float z, layout( location=42 component=1) out 4X4 matrix of float ba, layout( location=43 component=1) out structure{ global int a} Ss}) +0:? 'be' (layout( location=50 component=3) smooth out int) +0:? 'bf' (layout( location=50 component=0) smooth out 3-component vector of float) +0:? 'dfo' (layout( location=51 component=1) smooth out double) +0:? 'dvo' (layout( location=52 component=2) smooth out 2-component vector of double) +0:? 'dfo2' (layout( location=53) smooth out double) +0:? 'ffv2' (layout( location=53 component=2) smooth out 2-component vector of float) +0:? 'dvec4out' (layout( location=54) smooth out 4-component vector of double) +0:? 'overf' (layout( location=55) smooth out float) +0:? 'df2o' (layout( location=56 component=1) smooth out 2-component vector of float) +0:? 'sf2o' (layout( location=56 component=3) smooth out float) +0:? 'dv3o' (layout( location=57 component=2) smooth out 2-component vector of float) +0:? 'sf4o' (layout( location=57 component=3) smooth out float) +0:? 'dv3o2' (layout( location=58) flat out 3-component vector of double) +0:? 'dfo3' (layout( location=59 component=2) flat out double) +0:? 'dfo4' (layout( location=59 component=0) flat out double) +0:? 'bbinst1' ( out block{ out 4-component vector of float bbv}) +0:? 'bbinst2' ( out block{layout( xfb_buffer=0 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bbinst3' ( out block{layout( xfb_buffer=3 xfb_offset=16) out 4-component vector of float bbv}) +0:? 'ubbinst3' (layout( column_major shared) uniform block{layout( column_major shared xfb_offset=16) uniform 4-component vector of float bbv}) +0:? 'bg' (layout( xfb_buffer=2 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bh' (layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) smooth out 4-component vector of float) +0:? 'bbinst4' (layout( xfb_stride=80) out block{layout( xfb_buffer=2 xfb_offset=16) out 4-component vector of float bbv1, layout( xfb_buffer=2 xfb_offset=32) out 4-component vector of float bbv2}) +0:? 'bbinst5' ( out block{layout( xfb_buffer=3 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=48 xfb_stride=64) out 4-component vector of float bbv2, out 4-component vector of float bbv3}) +0:? 'bbinst6' ( out block{layout( xfb_buffer=2 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) out 4-component vector of float bbv2, layout( xfb_buffer=2 xfb_offset=0) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout( xfb_buffer=2 xfb_offset=24) out float bbf6}) +0:? 'bj' (layout( xfb_buffer=1 xfb_offset=4) smooth out float) +0:? 'bk' (layout( xfb_buffer=1 xfb_offset=0) smooth out 2-component vector of int) +0:? 'bl' (layout( xfb_stride=48) smooth out float) +0:? 'bbinst7' (layout( xfb_stride=48) out block{layout( xfb_stride=64) out 4-component vector of float bbv1, layout( xfb_stride=32) out 4-component vector of float bbv2}) +0:? 'bbinst8' (layout( xfb_stride=92) out block{layout( xfb_buffer=0 xfb_offset=0) out bool b, layout( xfb_buffer=0 xfb_offset=8) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=0 xfb_offset=48) out int i, layout( xfb_buffer=0 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=0 xfb_offset=88) out float f, layout( xfb_buffer=0 xfb_offset=92) out float g}) +0:? 'bbinst9' ( out block{layout( xfb_buffer=4 xfb_offset=1) out bool b, layout( xfb_buffer=4 xfb_offset=12) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=4 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=4 xfb_offset=90) out int i, layout( xfb_buffer=4 xfb_offset=98) out double d, layout( xfb_buffer=4 xfb_offset=108) out structure{ global int a} s}) +0:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float) +0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -175,67 +175,67 @@ Requested GL_ARB_shader_draw_parameters in xfb mode ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) -0:? 'b' (layout(location=2 component=1 ) in float) -0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float) -0:? 'd' (layout(location=0 component=3 ) in 4-element array of float) -0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float) -0:? 'f' (layout(location=4 component=3 ) in 5-element array of float) -0:? 'g' (layout(location=9 ) in 6-element array of float) -0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float) -0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float) -0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float) -0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float) -0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float) -0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float) -0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float) -0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float) -0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float) -0:? 's' (layout(location=15 component=3 ) smooth out float) -0:? 't' (layout(location=10 component=1 ) smooth out float) -0:? 'u' (layout(location=20 component=2 ) smooth out float) -0:? 'v' (layout(location=20 component=0 ) smooth out float) -0:? 'w' (layout(location=20 component=3 ) smooth out float) -0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float) -0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float) -0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float) -0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float) -0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a}) -0:? 'bb' (layout(location=34 component=1 ) out block{out int a}) -0:? 'bc' (layout(location=4095 component=1 ) smooth out float) -0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss}) -0:? 'be' (layout(location=50 component=3 ) smooth out int) -0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float) -0:? 'dfo' (layout(location=51 component=1 ) smooth out double) -0:? 'dvo' (layout(location=52 component=2 ) smooth out 2-component vector of double) -0:? 'dfo2' (layout(location=53 ) smooth out double) -0:? 'ffv2' (layout(location=53 component=2 ) smooth out 2-component vector of float) -0:? 'dvec4out' (layout(location=54 ) smooth out 4-component vector of double) -0:? 'overf' (layout(location=55 ) smooth out float) -0:? 'df2o' (layout(location=56 component=1 ) smooth out 2-component vector of float) -0:? 'sf2o' (layout(location=56 component=3 ) smooth out float) -0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float) -0:? 'sf4o' (layout(location=57 component=3 ) smooth out float) -0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double) -0:? 'dfo3' (layout(location=59 component=2 ) flat out double) -0:? 'dfo4' (layout(location=59 component=0 ) flat out double) -0:? 'bbinst1' (out block{out 4-component vector of float bbv}) -0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) -0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv}) -0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv}) -0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) -0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) -0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3}) -0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6}) -0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float) -0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int) -0:? 'bl' (layout(xfb_stride=48 ) smooth out float) -0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2}) -0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g}) -0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{global int a} s}) -0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float) -0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'a' (layout( location=2 component=2) in 2-component vector of float) +0:? 'b' (layout( location=2 component=1) in float) +0:? 'c' (layout( location=3 component=2) in 3-component vector of float) +0:? 'd' (layout( location=0 component=3) in 4-element array of float) +0:? 'e' (layout( location=4 component=0) in 5-element array of 3-component vector of float) +0:? 'f' (layout( location=4 component=3) in 5-element array of float) +0:? 'g' (layout( location=9) in 6-element array of float) +0:? 'h' (layout( location=4 component=2) in 2-component vector of float) +0:? 'i' (layout( location=3 component=2) smooth out 2-component vector of float) +0:? 'j' (layout( location=3 component=0) smooth out 2-component vector of float) +0:? 'k' (layout( location=4 component=2) smooth out 2-component vector of float) +0:? 'm' (layout( location=4 component=2) smooth out 2-component vector of float) +0:? 'n' (layout( location=2 component=2) smooth out 2-component vector of float) +0:? 'p' (layout( location=2 component=0) smooth out 3-component vector of float) +0:? 'q' (layout( location=10 component=3) smooth out 6-element array of float) +0:? 'r' (layout( location=10 component=0) smooth out 6-element array of 3-component vector of float) +0:? 's' (layout( location=15 component=3) smooth out float) +0:? 't' (layout( location=10 component=1) smooth out float) +0:? 'u' (layout( location=20 component=2) smooth out float) +0:? 'v' (layout( location=20 component=0) smooth out float) +0:? 'w' (layout( location=20 component=3) smooth out float) +0:? 'x' (layout( location=20 component=1) smooth out 2-component vector of float) +0:? 'y' (layout( location=30 component=3) smooth out 2-component vector of float) +0:? 'z' (layout( location=31 component=1) smooth out 4-component vector of float) +0:? 'ba' (layout( location=32 component=1) smooth out 4X4 matrix of float) +0:? 'Ss' (layout( location=33 component=1) smooth out structure{ global int a}) +0:? 'bb' (layout( location=34 component=1) out block{ out int a}) +0:? 'bc' (layout( location=4095 component=1) smooth out float) +0:? 'bd' ( out block{layout( location=40 component=2) out float u, layout( location=40 component=0) out float v, layout( location=40 component=3) out float w, layout( location=40 component=1) out 2-component vector of float x, layout( location=41 component=3) out 2-component vector of float y, layout( location=42 component=1) out 4-component vector of float z, layout( location=42 component=1) out 4X4 matrix of float ba, layout( location=43 component=1) out structure{ global int a} Ss}) +0:? 'be' (layout( location=50 component=3) smooth out int) +0:? 'bf' (layout( location=50 component=0) smooth out 3-component vector of float) +0:? 'dfo' (layout( location=51 component=1) smooth out double) +0:? 'dvo' (layout( location=52 component=2) smooth out 2-component vector of double) +0:? 'dfo2' (layout( location=53) smooth out double) +0:? 'ffv2' (layout( location=53 component=2) smooth out 2-component vector of float) +0:? 'dvec4out' (layout( location=54) smooth out 4-component vector of double) +0:? 'overf' (layout( location=55) smooth out float) +0:? 'df2o' (layout( location=56 component=1) smooth out 2-component vector of float) +0:? 'sf2o' (layout( location=56 component=3) smooth out float) +0:? 'dv3o' (layout( location=57 component=2) smooth out 2-component vector of float) +0:? 'sf4o' (layout( location=57 component=3) smooth out float) +0:? 'dv3o2' (layout( location=58) flat out 3-component vector of double) +0:? 'dfo3' (layout( location=59 component=2) flat out double) +0:? 'dfo4' (layout( location=59 component=0) flat out double) +0:? 'bbinst1' ( out block{ out 4-component vector of float bbv}) +0:? 'bbinst2' ( out block{layout( xfb_buffer=0 xfb_offset=64) out 4-component vector of float bbv}) +0:? 'bbinst3' ( out block{layout( xfb_buffer=3 xfb_offset=16) out 4-component vector of float bbv}) +0:? 'ubbinst3' (layout( column_major shared) uniform block{layout( column_major shared xfb_offset=16) uniform 4-component vector of float bbv}) +0:? 'bg' (layout( xfb_buffer=2 xfb_offset=48 xfb_stride=80) smooth out 4-component vector of float) +0:? 'bh' (layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) smooth out 4-component vector of float) +0:? 'bbinst4' (layout( xfb_stride=80) out block{layout( xfb_buffer=2 xfb_offset=16) out 4-component vector of float bbv1, layout( xfb_buffer=2 xfb_offset=32) out 4-component vector of float bbv2}) +0:? 'bbinst5' ( out block{layout( xfb_buffer=3 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=48 xfb_stride=64) out 4-component vector of float bbv2, out 4-component vector of float bbv3}) +0:? 'bbinst6' ( out block{layout( xfb_buffer=2 xfb_offset=0) out 4-component vector of float bbv1, layout( xfb_buffer=3 xfb_offset=32 xfb_stride=64) out 4-component vector of float bbv2, layout( xfb_buffer=2 xfb_offset=0) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout( xfb_buffer=2 xfb_offset=24) out float bbf6}) +0:? 'bj' (layout( xfb_buffer=1 xfb_offset=4) smooth out float) +0:? 'bk' (layout( xfb_buffer=1 xfb_offset=0) smooth out 2-component vector of int) +0:? 'bl' (layout( xfb_stride=48) smooth out float) +0:? 'bbinst7' (layout( xfb_stride=48) out block{layout( xfb_stride=64) out 4-component vector of float bbv1, layout( xfb_stride=32) out 4-component vector of float bbv2}) +0:? 'bbinst8' (layout( xfb_stride=92) out block{layout( xfb_buffer=0 xfb_offset=0) out bool b, layout( xfb_buffer=0 xfb_offset=8) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=0 xfb_offset=48) out int i, layout( xfb_buffer=0 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=0 xfb_offset=88) out float f, layout( xfb_buffer=0 xfb_offset=92) out float g}) +0:? 'bbinst9' ( out block{layout( xfb_buffer=4 xfb_offset=1) out bool b, layout( xfb_buffer=4 xfb_offset=12) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=4 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=4 xfb_offset=90) out int i, layout( xfb_buffer=4 xfb_offset=98) out double d, layout( xfb_buffer=4 xfb_offset=108) out structure{ global int a} s}) +0:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float) +0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.frag.out index 038267335d2..297ae63fb01 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.frag.out @@ -3,163 +3,163 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence 0:10 Sequence -0:10 move second child to first child (temp 2-component vector of float) -0:10 'v2' (temp 2-component vector of float) -0:10 dPdxFine (global 2-component vector of float) -0:10 'in2' (smooth in 2-component vector of float) +0:10 move second child to first child ( temp 2-component vector of float) +0:10 'v2' ( temp 2-component vector of float) +0:10 dPdxFine ( global 2-component vector of float) +0:10 'in2' ( smooth in 2-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp 3-component vector of float) -0:11 'v3' (temp 3-component vector of float) -0:11 dPdyCoarse (global 3-component vector of float) -0:11 'in3' (smooth in 3-component vector of float) +0:11 move second child to first child ( temp 3-component vector of float) +0:11 'v3' ( temp 3-component vector of float) +0:11 dPdyCoarse ( global 3-component vector of float) +0:11 'in3' ( smooth in 3-component vector of float) 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'v4' (temp 4-component vector of float) -0:12 fwidth (global 4-component vector of float) -0:12 'in4' (smooth in 4-component vector of float) -0:13 move second child to first child (temp 4-component vector of float) -0:13 'v4' (temp 4-component vector of float) -0:13 dPdyFine (global 4-component vector of float) -0:13 'in4' (smooth in 4-component vector of float) -0:14 move second child to first child (temp 3-component vector of float) -0:14 'v3' (temp 3-component vector of float) -0:14 dPdyFine (global 3-component vector of float) -0:14 'in3' (smooth in 3-component vector of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'v4' ( temp 4-component vector of float) +0:12 fwidth ( global 4-component vector of float) +0:12 'in4' ( smooth in 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'v4' ( temp 4-component vector of float) +0:13 dPdyFine ( global 4-component vector of float) +0:13 'in4' ( smooth in 4-component vector of float) +0:14 move second child to first child ( temp 3-component vector of float) +0:14 'v3' ( temp 3-component vector of float) +0:14 dPdyFine ( global 3-component vector of float) +0:14 'in3' ( smooth in 3-component vector of float) 0:15 Sequence -0:15 move second child to first child (temp float) -0:15 'f' (temp float) -0:15 add (temp float) -0:15 add (temp float) -0:15 dPdx (global float) -0:15 'in1' (smooth in float) -0:15 dPdxFine (global float) -0:15 'in1' (smooth in float) -0:15 dPdxCoarse (global float) -0:15 'in1' (smooth in float) -0:16 move second child to first child (temp 4-component vector of float) -0:16 'v4' (temp 4-component vector of float) -0:16 add (temp 4-component vector of float) -0:16 fwidthCoarse (global 4-component vector of float) -0:16 'in4' (smooth in 4-component vector of float) -0:16 fwidthFine (global 4-component vector of float) -0:16 'in4' (smooth in 4-component vector of float) +0:15 move second child to first child ( temp float) +0:15 'f' ( temp float) +0:15 add ( temp float) +0:15 add ( temp float) +0:15 dPdx ( global float) +0:15 'in1' ( smooth in float) +0:15 dPdxFine ( global float) +0:15 'in1' ( smooth in float) +0:15 dPdxCoarse ( global float) +0:15 'in1' ( smooth in float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'v4' ( temp 4-component vector of float) +0:16 add ( temp 4-component vector of float) +0:16 fwidthCoarse ( global 4-component vector of float) +0:16 'in4' ( smooth in 4-component vector of float) +0:16 fwidthFine ( global 4-component vector of float) +0:16 'in4' ( smooth in 4-component vector of float) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'cull' (temp float) -0:18 direct index (smooth temp float CullDistance) -0:18 'gl_CullDistance' (smooth in 6-element array of float CullDistance) +0:18 move second child to first child ( temp float) +0:18 'cull' ( temp float) +0:18 direct index ( smooth temp float CullDistance) +0:18 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) 0:18 Constant: 0:18 2 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'consts' (temp float) +0:19 move second child to first child ( temp float) +0:19 'consts' ( temp float) 0:19 Constant: 0:19 20.000000 -0:21 Test condition and select (temp void) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 'gl_HelperInvocation' (in bool HelperInvocation) +0:21 'gl_HelperInvocation' ( in bool HelperInvocation) 0:21 true case -0:22 Pre-Increment (temp 4-component vector of float) -0:22 'v4' (temp 4-component vector of float) +0:22 Pre-Increment ( temp 4-component vector of float) +0:22 'v4' ( temp 4-component vector of float) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'sum' (temp int) +0:24 move second child to first child ( temp int) +0:24 'sum' ( temp int) 0:24 Constant: 0:24 32 (const int) 0:32 Sequence -0:32 move second child to first child (temp 2-component vector of bool) -0:32 'b2' (temp 2-component vector of bool) -0:32 mix (global 2-component vector of bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b1' (temp bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b3' (temp bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b' (temp bool) +0:32 move second child to first child ( temp 2-component vector of bool) +0:32 'b2' ( temp 2-component vector of bool) +0:32 mix ( global 2-component vector of bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b1' ( temp bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b3' ( temp bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b' ( temp bool) 0:33 Sequence -0:33 move second child to first child (temp uint) -0:33 'um' (temp uint) -0:33 mix (global uint) -0:33 'uin' (temp uint) -0:33 'uin' (temp uint) -0:33 'b' (temp bool) +0:33 move second child to first child ( temp uint) +0:33 'um' ( temp uint) +0:33 mix ( global uint) +0:33 'uin' ( temp uint) +0:33 'uin' ( temp uint) +0:33 'b' ( temp bool) 0:34 Sequence -0:34 move second child to first child (temp 3-component vector of int) -0:34 'im3' (temp 3-component vector of int) -0:34 mix (global 3-component vector of int) -0:34 Construct ivec3 (temp 3-component vector of int) -0:34 Convert uint to int (temp int) -0:34 'uin' (temp uint) -0:34 Construct ivec3 (temp 3-component vector of int) -0:34 Convert uint to int (temp int) -0:34 'uin' (temp uint) -0:34 Construct bvec3 (temp 3-component vector of bool) -0:34 'b' (temp bool) -0:42 Function Definition: foo( (global void) +0:34 move second child to first child ( temp 3-component vector of int) +0:34 'im3' ( temp 3-component vector of int) +0:34 mix ( global 3-component vector of int) +0:34 Construct ivec3 ( temp 3-component vector of int) +0:34 Convert uint to int ( temp int) +0:34 'uin' ( temp uint) +0:34 Construct ivec3 ( temp 3-component vector of int) +0:34 Convert uint to int ( temp int) +0:34 'uin' ( temp uint) +0:34 Construct bvec3 ( temp 3-component vector of bool) +0:34 'b' ( temp bool) +0:42 Function Definition: foo( ( global void) 0:42 Function Parameters: 0:44 Sequence 0:44 Sequence -0:44 move second child to first child (temp int) -0:44 's' (temp int) -0:44 textureSamples (global int) -0:44 's2dms' (uniform sampler2DMS) -0:45 add second child into first child (temp int) -0:45 's' (temp int) -0:45 textureSamples (global int) -0:45 'us2dmsa' (uniform usampler2DMSArray) -0:46 add second child into first child (temp int) -0:46 's' (temp int) -0:46 imageQuerySamples (global int) -0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:47 add second child into first child (temp int) -0:47 's' (temp int) -0:47 imageQuerySamples (global int) -0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) +0:44 move second child to first child ( temp int) +0:44 's' ( temp int) +0:44 textureSamples ( global int) +0:44 's2dms' ( uniform sampler2DMS) +0:45 add second child into first child ( temp int) +0:45 's' ( temp int) +0:45 textureSamples ( global int) +0:45 'us2dmsa' ( uniform usampler2DMSArray) +0:46 add second child into first child ( temp int) +0:46 's' ( temp int) +0:46 imageQuerySamples ( global int) +0:46 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:47 add second child into first child ( temp int) +0:47 's' ( temp int) +0:47 imageQuerySamples ( global int) +0:47 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'f' (temp float) -0:48 imageAtomicExchange (global float) -0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) -0:48 Convert float to int (temp 3-component vector of int) -0:48 'in3' (smooth in 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'f' ( temp float) +0:48 imageAtomicExchange ( global float) +0:48 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) +0:48 Convert float to int ( temp 3-component vector of int) +0:48 'in3' ( smooth in 3-component vector of float) 0:48 Constant: 0:48 2 (const int) 0:48 Constant: 0:48 4.500000 -0:53 Function Definition: cull(i1; (global float) +0:53 Function Definition: cull(i1; ( global float) 0:53 Function Parameters: -0:53 'i' (in int) +0:53 'i' ( in int) 0:55 Sequence 0:55 Branch: Return with expression -0:55 Test condition and select (temp float) +0:55 Test condition and select ( temp float) 0:55 Condition -0:55 Compare Greater Than or Equal (temp bool) -0:55 'i' (in int) +0:55 Compare Greater Than or Equal ( temp bool) +0:55 'i' ( in int) 0:55 Constant: 0:55 6 (const int) 0:55 true case -0:55 direct index (smooth temp float CullDistance) -0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance) +0:55 direct index ( smooth temp float CullDistance) +0:55 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) 0:55 Constant: 0:55 5 (const int) 0:55 false case -0:55 indirect index (smooth temp float CullDistance) -0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance) -0:55 'i' (in int) +0:55 indirect index ( smooth temp float CullDistance) +0:55 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) +0:55 'i' ( in int) 0:? Linker Objects -0:? 'in1' (smooth in float) -0:? 'in2' (smooth in 2-component vector of float) -0:? 'in3' (smooth in 3-component vector of float) -0:? 'in4' (smooth in 4-component vector of float) -0:? 'gl_CullDistance' (smooth in 6-element array of float CullDistance) -0:? 's2dms' (uniform sampler2DMS) -0:? 'us2dmsa' (uniform usampler2DMSArray) -0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) +0:? 'in1' ( smooth in float) +0:? 'in2' ( smooth in 2-component vector of float) +0:? 'in3' ( smooth in 3-component vector of float) +0:? 'in4' ( smooth in 4-component vector of float) +0:? 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) +0:? 's2dms' ( uniform sampler2DMS) +0:? 'us2dmsa' ( uniform usampler2DMSArray) +0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) Linked fragment stage: @@ -167,110 +167,110 @@ Linked fragment stage: Shader version: 450 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence 0:10 Sequence -0:10 move second child to first child (temp 2-component vector of float) -0:10 'v2' (temp 2-component vector of float) -0:10 dPdxFine (global 2-component vector of float) -0:10 'in2' (smooth in 2-component vector of float) +0:10 move second child to first child ( temp 2-component vector of float) +0:10 'v2' ( temp 2-component vector of float) +0:10 dPdxFine ( global 2-component vector of float) +0:10 'in2' ( smooth in 2-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp 3-component vector of float) -0:11 'v3' (temp 3-component vector of float) -0:11 dPdyCoarse (global 3-component vector of float) -0:11 'in3' (smooth in 3-component vector of float) +0:11 move second child to first child ( temp 3-component vector of float) +0:11 'v3' ( temp 3-component vector of float) +0:11 dPdyCoarse ( global 3-component vector of float) +0:11 'in3' ( smooth in 3-component vector of float) 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'v4' (temp 4-component vector of float) -0:12 fwidth (global 4-component vector of float) -0:12 'in4' (smooth in 4-component vector of float) -0:13 move second child to first child (temp 4-component vector of float) -0:13 'v4' (temp 4-component vector of float) -0:13 dPdyFine (global 4-component vector of float) -0:13 'in4' (smooth in 4-component vector of float) -0:14 move second child to first child (temp 3-component vector of float) -0:14 'v3' (temp 3-component vector of float) -0:14 dPdyFine (global 3-component vector of float) -0:14 'in3' (smooth in 3-component vector of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'v4' ( temp 4-component vector of float) +0:12 fwidth ( global 4-component vector of float) +0:12 'in4' ( smooth in 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'v4' ( temp 4-component vector of float) +0:13 dPdyFine ( global 4-component vector of float) +0:13 'in4' ( smooth in 4-component vector of float) +0:14 move second child to first child ( temp 3-component vector of float) +0:14 'v3' ( temp 3-component vector of float) +0:14 dPdyFine ( global 3-component vector of float) +0:14 'in3' ( smooth in 3-component vector of float) 0:15 Sequence -0:15 move second child to first child (temp float) -0:15 'f' (temp float) -0:15 add (temp float) -0:15 add (temp float) -0:15 dPdx (global float) -0:15 'in1' (smooth in float) -0:15 dPdxFine (global float) -0:15 'in1' (smooth in float) -0:15 dPdxCoarse (global float) -0:15 'in1' (smooth in float) -0:16 move second child to first child (temp 4-component vector of float) -0:16 'v4' (temp 4-component vector of float) -0:16 add (temp 4-component vector of float) -0:16 fwidthCoarse (global 4-component vector of float) -0:16 'in4' (smooth in 4-component vector of float) -0:16 fwidthFine (global 4-component vector of float) -0:16 'in4' (smooth in 4-component vector of float) +0:15 move second child to first child ( temp float) +0:15 'f' ( temp float) +0:15 add ( temp float) +0:15 add ( temp float) +0:15 dPdx ( global float) +0:15 'in1' ( smooth in float) +0:15 dPdxFine ( global float) +0:15 'in1' ( smooth in float) +0:15 dPdxCoarse ( global float) +0:15 'in1' ( smooth in float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'v4' ( temp 4-component vector of float) +0:16 add ( temp 4-component vector of float) +0:16 fwidthCoarse ( global 4-component vector of float) +0:16 'in4' ( smooth in 4-component vector of float) +0:16 fwidthFine ( global 4-component vector of float) +0:16 'in4' ( smooth in 4-component vector of float) 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'cull' (temp float) -0:18 direct index (smooth temp float CullDistance) -0:18 'gl_CullDistance' (smooth in 6-element array of float CullDistance) +0:18 move second child to first child ( temp float) +0:18 'cull' ( temp float) +0:18 direct index ( smooth temp float CullDistance) +0:18 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) 0:18 Constant: 0:18 2 (const int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'consts' (temp float) +0:19 move second child to first child ( temp float) +0:19 'consts' ( temp float) 0:19 Constant: 0:19 20.000000 -0:21 Test condition and select (temp void) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 'gl_HelperInvocation' (in bool HelperInvocation) +0:21 'gl_HelperInvocation' ( in bool HelperInvocation) 0:21 true case -0:22 Pre-Increment (temp 4-component vector of float) -0:22 'v4' (temp 4-component vector of float) +0:22 Pre-Increment ( temp 4-component vector of float) +0:22 'v4' ( temp 4-component vector of float) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'sum' (temp int) +0:24 move second child to first child ( temp int) +0:24 'sum' ( temp int) 0:24 Constant: 0:24 32 (const int) 0:32 Sequence -0:32 move second child to first child (temp 2-component vector of bool) -0:32 'b2' (temp 2-component vector of bool) -0:32 mix (global 2-component vector of bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b1' (temp bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b3' (temp bool) -0:32 Construct bvec2 (temp 2-component vector of bool) -0:32 'b' (temp bool) +0:32 move second child to first child ( temp 2-component vector of bool) +0:32 'b2' ( temp 2-component vector of bool) +0:32 mix ( global 2-component vector of bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b1' ( temp bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b3' ( temp bool) +0:32 Construct bvec2 ( temp 2-component vector of bool) +0:32 'b' ( temp bool) 0:33 Sequence -0:33 move second child to first child (temp uint) -0:33 'um' (temp uint) -0:33 mix (global uint) -0:33 'uin' (temp uint) -0:33 'uin' (temp uint) -0:33 'b' (temp bool) +0:33 move second child to first child ( temp uint) +0:33 'um' ( temp uint) +0:33 mix ( global uint) +0:33 'uin' ( temp uint) +0:33 'uin' ( temp uint) +0:33 'b' ( temp bool) 0:34 Sequence -0:34 move second child to first child (temp 3-component vector of int) -0:34 'im3' (temp 3-component vector of int) -0:34 mix (global 3-component vector of int) -0:34 Construct ivec3 (temp 3-component vector of int) -0:34 Convert uint to int (temp int) -0:34 'uin' (temp uint) -0:34 Construct ivec3 (temp 3-component vector of int) -0:34 Convert uint to int (temp int) -0:34 'uin' (temp uint) -0:34 Construct bvec3 (temp 3-component vector of bool) -0:34 'b' (temp bool) +0:34 move second child to first child ( temp 3-component vector of int) +0:34 'im3' ( temp 3-component vector of int) +0:34 mix ( global 3-component vector of int) +0:34 Construct ivec3 ( temp 3-component vector of int) +0:34 Convert uint to int ( temp int) +0:34 'uin' ( temp uint) +0:34 Construct ivec3 ( temp 3-component vector of int) +0:34 Convert uint to int ( temp int) +0:34 'uin' ( temp uint) +0:34 Construct bvec3 ( temp 3-component vector of bool) +0:34 'b' ( temp bool) 0:? Linker Objects -0:? 'in1' (smooth in float) -0:? 'in2' (smooth in 2-component vector of float) -0:? 'in3' (smooth in 3-component vector of float) -0:? 'in4' (smooth in 4-component vector of float) -0:? 'gl_CullDistance' (smooth in 6-element array of float CullDistance) -0:? 's2dms' (uniform sampler2DMS) -0:? 'us2dmsa' (uniform usampler2DMSArray) -0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS) -0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray) +0:? 'in1' ( smooth in float) +0:? 'in2' ( smooth in 2-component vector of float) +0:? 'in3' ( smooth in 3-component vector of float) +0:? 'in4' ( smooth in 4-component vector of float) +0:? 'gl_CullDistance' ( smooth in 6-element array of float CullDistance) +0:? 's2dms' ( uniform sampler2DMS) +0:? 'us2dmsa' ( uniform usampler2DMSArray) +0:? 'ii2dms' (layout( rgba32i) uniform iimage2DMS) +0:? 'i2dmsa' (layout( rgba32f) uniform image2DMSArray) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.geom.out index fef3486aeb6..5e6c88f9d19 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.geom.out @@ -7,21 +7,21 @@ max_vertices = -1 input primitive = none output primitive = none 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (layout(stream=0 ) temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance) -0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance}) +0:13 move second child to first child ( temp float) +0:13 direct index (layout( stream=0) temp float CullDistance) +0:13 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) +0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 3 (const uint) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in implicitly-sized array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -29,8 +29,8 @@ output primitive = none 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in implicitly-sized array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) Linked geometry stage: @@ -45,21 +45,21 @@ max_vertices = -1 input primitive = none output primitive = none 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (layout(stream=0 ) temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance) -0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance}) +0:13 move second child to first child ( temp float) +0:13 direct index (layout( stream=0) temp float CullDistance) +0:13 gl_CullDistance: direct index for structure (layout( stream=0) out 3-element array of float CullDistance) +0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 3 (const uint) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in 2-element array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in 2-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -67,6 +67,6 @@ output primitive = none 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in 2-element array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 2-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-element array of float CullDistance gl_CullDistance}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tesc.out index aeef6cb3ad1..29da425ec94 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tesc.out @@ -4,23 +4,23 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 vertices = -1 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:13 indirect index (temp block{out 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_InvocationID' (in int InvocationID) +0:13 move second child to first child ( temp float) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:13 indirect index ( temp block{ out 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_InvocationID' ( in int InvocationID) 0:13 Constant: 0:13 0 (const int) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -28,8 +28,8 @@ vertices = -1 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance}) Linked tessellation control stage: @@ -39,23 +39,23 @@ ERROR: Linking tessellation control stage: At least one shader must specify an o Shader version: 450 vertices = -1 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:13 indirect index (temp block{out 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_InvocationID' (in int InvocationID) +0:13 move second child to first child ( temp float) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:13 indirect index ( temp block{ out 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_InvocationID' ( in int InvocationID) 0:13 Constant: 0:13 0 (const int) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -63,6 +63,6 @@ vertices = -1 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_out' ( out 4-element array of block{ out 3-element array of float CullDistance gl_CullDistance}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tese.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tese.out index f988f1086de..b7735e66baf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tese.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.tese.out @@ -6,21 +6,21 @@ input primitive = none vertex spacing = none triangle order = none 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:13 move second child to first child ( temp float) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:13 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 3 (const uint) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -28,8 +28,8 @@ triangle order = none 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) Linked tessellation evaluation stage: @@ -41,21 +41,21 @@ input primitive = none vertex spacing = equal_spacing triangle order = ccw 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:13 move second child to first child ( temp float) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:13 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 3 (const uint) 0:13 Constant: 0:13 2 (const int) -0:13 direct index (temp float CullDistance) -0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance) -0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance}) -0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) +0:13 direct index ( temp float CullDistance) +0:13 gl_CullDistance: direct index for structure ( in 3-element array of float CullDistance) +0:13 direct index ( temp block{ in 3-element array of float CullDistance gl_CullDistance}) +0:13 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -63,6 +63,6 @@ triangle order = ccw 0:13 Constant: 0:13 2 (const int) 0:? Linker Objects -0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance}) -0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:? 'gl_in' ( in 32-element array of block{ in 3-element array of float CullDistance gl_CullDistance}) +0:? 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.vert.out index 86338c76129..cc300d99ea0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/450.vert.out @@ -2,37 +2,40 @@ Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:12: 'out' : cannot be bool ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo -ERROR: 2 compilation errors. No code generated. +ERROR: 0:27: '::' : not supported +ERROR: 3 compilation errors. No code generated. Shader version: 450 ERROR: node is still EOpNull! -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp float) -0:9 direct index (temp float CullDistance) -0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:9 move second child to first child ( temp float) +0:9 direct index ( temp float CullDistance) +0:9 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:9 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) 0:9 Constant: 0:9 10 (const uint) 0:9 Constant: 0:9 2 (const int) 0:9 Constant: 0:9 4.500000 +0:25 Function Definition: foo( ( global void) +0:25 Function Parameters: 0:? Linker Objects -0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) -0:? 'outb' (smooth out bool) -0:? 'outo' (smooth out sampler2D) -0:? 'outa' (smooth out 4-element array of float) -0:? 'outaa' (smooth out 4-element array of 2-element array of float) -0:? 'outs' (smooth out structure{global float f}) -0:? 'outasa' (smooth out 4-element array of structure{global float f}) -0:? 'outsa' (smooth out 4-element array of structure{global float f}) -0:? 'outSA' (smooth out structure{global 4-element array of float f}) -0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) +0:? 'outb' ( smooth out bool) +0:? 'outo' ( smooth out sampler2D) +0:? 'outa' ( smooth out 4-element array of float) +0:? 'outaa' ( smooth out 4-element array of 2-element array of float) +0:? 'outs' ( smooth out structure{ global float f}) +0:? 'outasa' ( smooth out 4-element array of structure{ global float f}) +0:? 'outsa' ( smooth out 4-element array of structure{ global float f}) +0:? 'outSA' ( smooth out structure{ global 4-element array of float f}) +0:? 'outSS' ( smooth out structure{ global float f, global structure{ global float f} s}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -40,13 +43,13 @@ Linked vertex stage: Shader version: 450 ERROR: node is still EOpNull! -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp float) -0:9 direct index (temp float CullDistance) -0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance) -0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) +0:9 move second child to first child ( temp float) +0:9 direct index ( temp float CullDistance) +0:9 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:9 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) 0:9 Constant: 0:9 10 (const uint) 0:9 Constant: @@ -54,16 +57,16 @@ ERROR: node is still EOpNull! 0:9 Constant: 0:9 4.500000 0:? Linker Objects -0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance}) -0:? 'outb' (smooth out bool) -0:? 'outo' (smooth out sampler2D) -0:? 'outa' (smooth out 4-element array of float) -0:? 'outaa' (smooth out 4-element array of 2-element array of float) -0:? 'outs' (smooth out structure{global float f}) -0:? 'outasa' (smooth out 4-element array of structure{global float f}) -0:? 'outsa' (smooth out 4-element array of structure{global float f}) -0:? 'outSA' (smooth out structure{global 4-element array of float f}) -0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'anon@0' ( out block{ out 3-element array of float CullDistance gl_CullDistance}) +0:? 'outb' ( smooth out bool) +0:? 'outo' ( smooth out sampler2D) +0:? 'outa' ( smooth out 4-element array of float) +0:? 'outaa' ( smooth out 4-element array of 2-element array of float) +0:? 'outs' ( smooth out structure{ global float f}) +0:? 'outasa' ( smooth out 4-element array of structure{ global float f}) +0:? 'outsa' ( smooth out 4-element array of structure{ global float f}) +0:? 'outSA' ( smooth out structure{ global 4-element array of float f}) +0:? 'outSS' ( smooth out structure{ global float f, global structure{ global float f} s}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/Operations.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/Operations.frag.out index bc12fe0daee..680eb26559b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/Operations.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/Operations.frag.out @@ -11,307 +11,307 @@ ERROR: 0:107: 'floatsBitsToInt' : no matching overloaded function found ERROR: 0:108: 'packUnorm2x16' : no matching overloaded function found ERROR: 0:109: 'packUnorm4x8' : no matching overloaded function found ERROR: 0:110: 'packSnorm4x8' : no matching overloaded function found -ERROR: 0:113: 'assign' : cannot convert from 'global float' to 'temp uint' -ERROR: 0:114: 'assign' : cannot convert from 'global float' to 'temp uint' +ERROR: 0:113: 'assign' : cannot convert from ' global float' to ' temp uint' +ERROR: 0:114: 'assign' : cannot convert from ' global float' to ' temp uint' ERROR: 0:118: 'floatsBitToInt' : no matching overloaded function found -ERROR: 0:118: 'assign' : cannot convert from 'const float' to 'temp uint' +ERROR: 0:118: 'assign' : cannot convert from ' const float' to ' temp uint' ERROR: 0:119: 'packUnorm2x16' : no matching overloaded function found -ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'temp uint' +ERROR: 0:119: 'assign' : cannot convert from ' const float' to ' temp uint' ERROR: 0:120: 'packUnorm4x8' : no matching overloaded function found -ERROR: 0:120: 'assign' : cannot convert from 'const float' to 'temp uint' -ERROR: 0:121: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'uniform uint' and a right operand of type 'temp int' (or there is no acceptable conversion) -ERROR: 0:121: 'assign' : cannot convert from 'uniform uint' to 'temp int' -ERROR: 0:122: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'uniform uint' and a right operand of type 'temp int' (or there is no acceptable conversion) -ERROR: 0:122: 'assign' : cannot convert from 'uniform uint' to 'temp int' -ERROR: 0:123: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'uniform uint' (or there is no acceptable conversion) +ERROR: 0:120: 'assign' : cannot convert from ' const float' to ' temp uint' +ERROR: 0:121: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type ' uniform uint' and a right operand of type ' temp int' (or there is no acceptable conversion) +ERROR: 0:121: 'assign' : cannot convert from ' uniform uint' to ' temp int' +ERROR: 0:122: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type ' uniform uint' and a right operand of type ' temp int' (or there is no acceptable conversion) +ERROR: 0:122: 'assign' : cannot convert from ' uniform uint' to ' temp int' +ERROR: 0:123: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type ' temp int' and a right operand of type ' uniform uint' (or there is no acceptable conversion) ERROR: 25 compilation errors. No code generated. Shader version: 130 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:? Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'v' (temp 4-component vector of float) -0:27 radians (global 4-component vector of float) -0:27 'uv4' (uniform 4-component vector of float) -0:28 add second child into first child (temp 4-component vector of float) -0:28 'v' (temp 4-component vector of float) -0:28 degrees (global 4-component vector of float) -0:28 'v' (temp 4-component vector of float) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'v' (temp 4-component vector of float) -0:29 Comma (temp 4-component vector of float) -0:29 move second child to first child (temp int) -0:29 'i' (temp int) -0:29 component-wise multiply (temp int) -0:29 'ui' (uniform int) -0:29 'ui' (uniform int) -0:29 sine (global 4-component vector of float) -0:29 'v' (temp 4-component vector of float) -0:30 add second child into first child (temp 4-component vector of float) -0:30 'v' (temp 4-component vector of float) -0:30 cosine (global 4-component vector of float) -0:30 'v' (temp 4-component vector of float) -0:31 add second child into first child (temp 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:31 tangent (global 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:32 add second child into first child (temp 4-component vector of float) -0:32 'v' (temp 4-component vector of float) -0:32 arc sine (global 4-component vector of float) -0:32 'v' (temp 4-component vector of float) -0:33 add second child into first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:33 arc cosine (global 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:35 add second child into first child (temp 4-component vector of float) -0:35 'v' (temp 4-component vector of float) -0:35 arc tangent (global 4-component vector of float) -0:35 'v' (temp 4-component vector of float) -0:36 add second child into first child (temp 4-component vector of float) -0:36 'v' (temp 4-component vector of float) -0:36 hyp. sine (global 4-component vector of float) -0:36 'v' (temp 4-component vector of float) -0:37 add second child into first child (temp 4-component vector of float) -0:37 'v' (temp 4-component vector of float) -0:37 hyp. cosine (global 4-component vector of float) -0:37 'v' (temp 4-component vector of float) -0:38 add second child into first child (temp 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:38 hyp. tangent (global 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:39 add second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:39 arc hyp. sine (global 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:40 arc hyp. cosine (global 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:41 add second child into first child (temp 4-component vector of float) -0:41 'v' (temp 4-component vector of float) -0:41 arc hyp. tangent (global 4-component vector of float) -0:41 'v' (temp 4-component vector of float) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 pow (global 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:44 add second child into first child (temp 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:44 exp (global 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:45 add second child into first child (temp 4-component vector of float) -0:45 'v' (temp 4-component vector of float) -0:45 log (global 4-component vector of float) -0:45 'v' (temp 4-component vector of float) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:46 exp2 (global 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:47 add second child into first child (temp 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:47 log2 (global 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:48 add second child into first child (temp 4-component vector of float) -0:48 'v' (temp 4-component vector of float) -0:48 sqrt (global 4-component vector of float) -0:48 'v' (temp 4-component vector of float) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:49 inverse sqrt (global 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:50 Absolute value (global 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:51 add second child into first child (temp 4-component vector of float) -0:51 'v' (temp 4-component vector of float) -0:51 Sign (global 4-component vector of float) -0:51 'v' (temp 4-component vector of float) -0:52 add second child into first child (temp 4-component vector of float) -0:52 'v' (temp 4-component vector of float) -0:52 Floor (global 4-component vector of float) -0:52 'v' (temp 4-component vector of float) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:55 trunc (global 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:56 add second child into first child (temp 4-component vector of float) -0:56 'v' (temp 4-component vector of float) -0:56 round (global 4-component vector of float) -0:56 'v' (temp 4-component vector of float) -0:57 add second child into first child (temp 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:57 roundEven (global 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:60 add second child into first child (temp 4-component vector of float) -0:60 'v' (temp 4-component vector of float) -0:60 Ceiling (global 4-component vector of float) -0:60 'v' (temp 4-component vector of float) -0:61 add second child into first child (temp 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:61 Fraction (global 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:62 add second child into first child (temp 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:62 mod (global 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:63 add second child into first child (temp 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 mod (global 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 direct index (temp float) -0:63 'v' (temp 4-component vector of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'v' ( temp 4-component vector of float) +0:27 radians ( global 4-component vector of float) +0:27 'uv4' ( uniform 4-component vector of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'v' ( temp 4-component vector of float) +0:28 degrees ( global 4-component vector of float) +0:28 'v' ( temp 4-component vector of float) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'v' ( temp 4-component vector of float) +0:29 Comma ( temp 4-component vector of float) +0:29 move second child to first child ( temp int) +0:29 'i' ( temp int) +0:29 component-wise multiply ( temp int) +0:29 'ui' ( uniform int) +0:29 'ui' ( uniform int) +0:29 sine ( global 4-component vector of float) +0:29 'v' ( temp 4-component vector of float) +0:30 add second child into first child ( temp 4-component vector of float) +0:30 'v' ( temp 4-component vector of float) +0:30 cosine ( global 4-component vector of float) +0:30 'v' ( temp 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:31 tangent ( global 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'v' ( temp 4-component vector of float) +0:32 arc sine ( global 4-component vector of float) +0:32 'v' ( temp 4-component vector of float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:33 arc cosine ( global 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:35 add second child into first child ( temp 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) +0:35 arc tangent ( global 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) +0:36 hyp. sine ( global 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) +0:37 add second child into first child ( temp 4-component vector of float) +0:37 'v' ( temp 4-component vector of float) +0:37 hyp. cosine ( global 4-component vector of float) +0:37 'v' ( temp 4-component vector of float) +0:38 add second child into first child ( temp 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:38 hyp. tangent ( global 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:39 add second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:39 arc hyp. sine ( global 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:40 arc hyp. cosine ( global 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:41 add second child into first child ( temp 4-component vector of float) +0:41 'v' ( temp 4-component vector of float) +0:41 arc hyp. tangent ( global 4-component vector of float) +0:41 'v' ( temp 4-component vector of float) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 pow ( global 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:44 add second child into first child ( temp 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:44 exp ( global 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:45 add second child into first child ( temp 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) +0:45 log ( global 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:46 exp2 ( global 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:47 add second child into first child ( temp 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:47 log2 ( global 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:48 add second child into first child ( temp 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) +0:48 sqrt ( global 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:49 inverse sqrt ( global 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:50 Absolute value ( global 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'v' ( temp 4-component vector of float) +0:51 Sign ( global 4-component vector of float) +0:51 'v' ( temp 4-component vector of float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'v' ( temp 4-component vector of float) +0:52 Floor ( global 4-component vector of float) +0:52 'v' ( temp 4-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:55 trunc ( global 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:56 add second child into first child ( temp 4-component vector of float) +0:56 'v' ( temp 4-component vector of float) +0:56 round ( global 4-component vector of float) +0:56 'v' ( temp 4-component vector of float) +0:57 add second child into first child ( temp 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:57 roundEven ( global 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'v' ( temp 4-component vector of float) +0:60 Ceiling ( global 4-component vector of float) +0:60 'v' ( temp 4-component vector of float) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:61 Fraction ( global 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:62 add second child into first child ( temp 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:62 mod ( global 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:63 add second child into first child ( temp 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 mod ( global 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 direct index ( temp float) +0:63 'v' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) -0:66 add second child into first child (temp 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:66 modf (global 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 min (global 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 'uv4' (uniform 4-component vector of float) -0:70 add second child into first child (temp 4-component vector of float) -0:70 'v' (temp 4-component vector of float) -0:70 max (global 4-component vector of float) -0:70 'v' (temp 4-component vector of float) -0:70 'uv4' (uniform 4-component vector of float) -0:71 add second child into first child (temp 4-component vector of float) -0:71 'v' (temp 4-component vector of float) -0:71 clamp (global 4-component vector of float) -0:71 'v' (temp 4-component vector of float) -0:71 'uv4' (uniform 4-component vector of float) -0:71 'uv4' (uniform 4-component vector of float) -0:72 add second child into first child (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 mix (global 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:75 add second child into first child (temp 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 mix (global 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 'bv4' (temp 4-component vector of bool) -0:76 add second child into first child (temp 4-component vector of float) -0:76 'v' (temp 4-component vector of float) +0:66 add second child into first child ( temp 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:66 modf ( global 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 min ( global 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 'uv4' ( uniform 4-component vector of float) +0:70 add second child into first child ( temp 4-component vector of float) +0:70 'v' ( temp 4-component vector of float) +0:70 max ( global 4-component vector of float) +0:70 'v' ( temp 4-component vector of float) +0:70 'uv4' ( uniform 4-component vector of float) +0:71 add second child into first child ( temp 4-component vector of float) +0:71 'v' ( temp 4-component vector of float) +0:71 clamp ( global 4-component vector of float) +0:71 'v' ( temp 4-component vector of float) +0:71 'uv4' ( uniform 4-component vector of float) +0:71 'uv4' ( uniform 4-component vector of float) +0:72 add second child into first child ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 mix ( global 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:75 add second child into first child ( temp 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 mix ( global 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 'bv4' ( temp 4-component vector of bool) +0:76 add second child into first child ( temp 4-component vector of float) +0:76 'v' ( temp 4-component vector of float) 0:76 Constant: 0:76 0.000000 -0:77 add second child into first child (temp 4-component vector of float) -0:77 'v' (temp 4-component vector of float) +0:77 add second child into first child ( temp 4-component vector of float) +0:77 'v' ( temp 4-component vector of float) 0:77 Constant: 0:77 0.000000 -0:78 add second child into first child (temp 4-component vector of float) -0:78 'v' (temp 4-component vector of float) +0:78 add second child into first child ( temp 4-component vector of float) +0:78 'v' ( temp 4-component vector of float) 0:78 Constant: 0:78 0.000000 -0:79 add second child into first child (temp 4-component vector of float) -0:79 'v' (temp 4-component vector of float) +0:79 add second child into first child ( temp 4-component vector of float) +0:79 'v' ( temp 4-component vector of float) 0:79 Constant: 0:79 0.000000 -0:80 add second child into first child (temp 4-component vector of float) -0:80 'v' (temp 4-component vector of float) +0:80 add second child into first child ( temp 4-component vector of float) +0:80 'v' ( temp 4-component vector of float) 0:80 Constant: 0:80 0.000000 -0:81 add second child into first child (temp 4-component vector of float) -0:81 'v' (temp 4-component vector of float) +0:81 add second child into first child ( temp 4-component vector of float) +0:81 'v' ( temp 4-component vector of float) 0:81 Constant: 0:81 0.000000 -0:82 add second child into first child (temp 4-component vector of float) -0:82 'v' (temp 4-component vector of float) +0:82 add second child into first child ( temp 4-component vector of float) +0:82 'v' ( temp 4-component vector of float) 0:82 Constant: 0:82 0.000000 -0:83 add second child into first child (temp 4-component vector of float) -0:83 'v' (temp 4-component vector of float) +0:83 add second child into first child ( temp 4-component vector of float) +0:83 'v' ( temp 4-component vector of float) 0:83 Constant: 0:83 0.000000 -0:86 add second child into first child (temp 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:86 step (global 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:87 add second child into first child (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 smoothstep (global 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:88 add second child into first child (temp 4-component vector of float) -0:88 'v' (temp 4-component vector of float) -0:88 step (global 4-component vector of float) -0:88 'uf' (uniform float) -0:88 'v' (temp 4-component vector of float) -0:89 add second child into first child (temp 4-component vector of float) -0:89 'v' (temp 4-component vector of float) -0:89 smoothstep (global 4-component vector of float) -0:89 'uf' (uniform float) -0:89 'uf' (uniform float) -0:89 'v' (temp 4-component vector of float) -0:90 add second child into first child (temp 4-component vector of float) -0:90 'v' (temp 4-component vector of float) -0:90 normalize (global 4-component vector of float) -0:90 'v' (temp 4-component vector of float) -0:91 add second child into first child (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 face-forward (global 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:92 add second child into first child (temp 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:92 reflect (global 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:93 add second child into first child (temp 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 refract (global 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 'uf' (uniform float) -0:94 add second child into first child (temp 4-component vector of float) -0:94 'v' (temp 4-component vector of float) -0:94 dPdx (global 4-component vector of float) -0:94 'v' (temp 4-component vector of float) -0:95 add second child into first child (temp 4-component vector of float) -0:95 'v' (temp 4-component vector of float) -0:95 dPdy (global 4-component vector of float) -0:95 'v' (temp 4-component vector of float) -0:96 add second child into first child (temp 4-component vector of float) -0:96 'v' (temp 4-component vector of float) -0:96 fwidth (global 4-component vector of float) -0:96 'v' (temp 4-component vector of float) -0:101 add second child into first child (temp int) -0:101 'i' (temp int) -0:101 Absolute value (global int) -0:101 'ui' (uniform int) -0:102 add second child into first child (temp int) -0:102 'i' (temp int) -0:102 Sign (global int) -0:102 'i' (temp int) -0:103 add second child into first child (temp int) -0:103 'i' (temp int) -0:103 min (global int) -0:103 'i' (temp int) -0:103 'ui' (uniform int) -0:104 add second child into first child (temp int) -0:104 'i' (temp int) -0:104 max (global int) -0:104 'i' (temp int) -0:104 'ui' (uniform int) -0:105 add second child into first child (temp int) -0:105 'i' (temp int) -0:105 clamp (global int) -0:105 'i' (temp int) -0:105 'ui' (uniform int) -0:105 'ui' (uniform int) +0:86 add second child into first child ( temp 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:86 step ( global 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:87 add second child into first child ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 smoothstep ( global 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:88 add second child into first child ( temp 4-component vector of float) +0:88 'v' ( temp 4-component vector of float) +0:88 step ( global 4-component vector of float) +0:88 'uf' ( uniform float) +0:88 'v' ( temp 4-component vector of float) +0:89 add second child into first child ( temp 4-component vector of float) +0:89 'v' ( temp 4-component vector of float) +0:89 smoothstep ( global 4-component vector of float) +0:89 'uf' ( uniform float) +0:89 'uf' ( uniform float) +0:89 'v' ( temp 4-component vector of float) +0:90 add second child into first child ( temp 4-component vector of float) +0:90 'v' ( temp 4-component vector of float) +0:90 normalize ( global 4-component vector of float) +0:90 'v' ( temp 4-component vector of float) +0:91 add second child into first child ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 face-forward ( global 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:92 add second child into first child ( temp 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:92 reflect ( global 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:93 add second child into first child ( temp 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 refract ( global 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 'uf' ( uniform float) +0:94 add second child into first child ( temp 4-component vector of float) +0:94 'v' ( temp 4-component vector of float) +0:94 dPdx ( global 4-component vector of float) +0:94 'v' ( temp 4-component vector of float) +0:95 add second child into first child ( temp 4-component vector of float) +0:95 'v' ( temp 4-component vector of float) +0:95 dPdy ( global 4-component vector of float) +0:95 'v' ( temp 4-component vector of float) +0:96 add second child into first child ( temp 4-component vector of float) +0:96 'v' ( temp 4-component vector of float) +0:96 fwidth ( global 4-component vector of float) +0:96 'v' ( temp 4-component vector of float) +0:101 add second child into first child ( temp int) +0:101 'i' ( temp int) +0:101 Absolute value ( global int) +0:101 'ui' ( uniform int) +0:102 add second child into first child ( temp int) +0:102 'i' ( temp int) +0:102 Sign ( global int) +0:102 'i' ( temp int) +0:103 add second child into first child ( temp int) +0:103 'i' ( temp int) +0:103 min ( global int) +0:103 'i' ( temp int) +0:103 'ui' ( uniform int) +0:104 add second child into first child ( temp int) +0:104 'i' ( temp int) +0:104 max ( global int) +0:104 'i' ( temp int) +0:104 'ui' ( uniform int) +0:105 add second child into first child ( temp int) +0:105 'i' ( temp int) +0:105 clamp ( global int) +0:105 'i' ( temp int) +0:105 'ui' ( uniform int) +0:105 'ui' ( uniform int) 0:107 Constant: 0:107 0.000000 0:108 Constant: @@ -320,181 +320,181 @@ ERROR: node is still EOpNull! 0:109 0.000000 0:110 Constant: 0:110 0.000000 -0:113 'u' (temp uint) -0:114 'u' (temp uint) -0:115 add second child into first child (temp uint) -0:115 'u' (temp uint) -0:115 min (global uint) -0:115 'u' (temp uint) -0:115 'uui' (uniform uint) -0:116 add second child into first child (temp uint) -0:116 'u' (temp uint) -0:116 max (global uint) -0:116 'u' (temp uint) -0:116 'uui' (uniform uint) -0:117 add second child into first child (temp uint) -0:117 'u' (temp uint) -0:117 clamp (global uint) -0:117 'u' (temp uint) -0:117 'uui' (uniform uint) -0:117 'uui' (uniform uint) -0:118 'u' (temp uint) -0:119 'u' (temp uint) -0:120 'u' (temp uint) -0:121 'i' (temp int) -0:122 'i' (temp int) -0:123 add second child into first child (temp int) -0:123 'i' (temp int) -0:123 'i' (temp int) -0:127 move second child to first child (temp bool) -0:127 'b' (temp bool) -0:127 isnan (global bool) -0:127 'uf' (uniform float) -0:128 move second child to first child (temp bool) -0:128 'b' (temp bool) -0:128 isinf (global bool) -0:128 direct index (temp float) -0:128 'v' (temp 4-component vector of float) +0:113 'u' ( temp uint) +0:114 'u' ( temp uint) +0:115 add second child into first child ( temp uint) +0:115 'u' ( temp uint) +0:115 min ( global uint) +0:115 'u' ( temp uint) +0:115 'uui' ( uniform uint) +0:116 add second child into first child ( temp uint) +0:116 'u' ( temp uint) +0:116 max ( global uint) +0:116 'u' ( temp uint) +0:116 'uui' ( uniform uint) +0:117 add second child into first child ( temp uint) +0:117 'u' ( temp uint) +0:117 clamp ( global uint) +0:117 'u' ( temp uint) +0:117 'uui' ( uniform uint) +0:117 'uui' ( uniform uint) +0:118 'u' ( temp uint) +0:119 'u' ( temp uint) +0:120 'u' ( temp uint) +0:121 'i' ( temp int) +0:122 'i' ( temp int) +0:123 add second child into first child ( temp int) +0:123 'i' ( temp int) +0:123 'i' ( temp int) +0:127 move second child to first child ( temp bool) +0:127 'b' ( temp bool) +0:127 isnan ( global bool) +0:127 'uf' ( uniform float) +0:128 move second child to first child ( temp bool) +0:128 'b' ( temp bool) +0:128 isinf ( global bool) +0:128 direct index ( temp float) +0:128 'v' ( temp 4-component vector of float) 0:128 Constant: 0:128 1 (const int) -0:130 move second child to first child (temp bool) -0:130 'b' (temp bool) -0:130 any (global bool) -0:130 Compare Less Than (global 4-component vector of bool) -0:130 'v' (temp 4-component vector of float) -0:130 'uv4' (uniform 4-component vector of float) -0:131 move second child to first child (temp bool) -0:131 'b' (temp bool) -0:131 logical-and (temp bool) -0:131 'b' (temp bool) -0:131 any (global bool) -0:131 Compare Less Than or Equal (global 4-component vector of bool) -0:131 'v' (temp 4-component vector of float) -0:131 'uv4' (uniform 4-component vector of float) -0:132 move second child to first child (temp bool) -0:132 'b' (temp bool) -0:132 logical-and (temp bool) -0:132 'b' (temp bool) -0:132 any (global bool) -0:132 Compare Greater Than (global 4-component vector of bool) -0:132 'v' (temp 4-component vector of float) -0:132 'uv4' (uniform 4-component vector of float) -0:133 move second child to first child (temp bool) -0:133 'b' (temp bool) -0:133 logical-and (temp bool) -0:133 'b' (temp bool) -0:133 any (global bool) -0:133 Compare Greater Than or Equal (global 4-component vector of bool) -0:133 'v' (temp 4-component vector of float) -0:133 'uv4' (uniform 4-component vector of float) -0:134 move second child to first child (temp bool) -0:134 'b' (temp bool) -0:134 logical-and (temp bool) -0:134 'b' (temp bool) -0:134 any (global bool) -0:134 Equal (global 4-component vector of bool) -0:134 'ub41' (uniform 4-component vector of bool) -0:134 'ub42' (uniform 4-component vector of bool) -0:135 move second child to first child (temp bool) -0:135 'b' (temp bool) -0:135 logical-and (temp bool) -0:135 'b' (temp bool) -0:135 any (global bool) -0:135 NotEqual (global 4-component vector of bool) -0:135 'ub41' (uniform 4-component vector of bool) -0:135 'ub42' (uniform 4-component vector of bool) -0:136 move second child to first child (temp bool) -0:136 'b' (temp bool) -0:136 logical-and (temp bool) -0:136 'b' (temp bool) -0:136 any (global bool) -0:136 'ub41' (uniform 4-component vector of bool) -0:137 move second child to first child (temp bool) -0:137 'b' (temp bool) -0:137 logical-and (temp bool) -0:137 'b' (temp bool) -0:137 all (global bool) -0:137 'ub41' (uniform 4-component vector of bool) -0:138 move second child to first child (temp bool) -0:138 'b' (temp bool) -0:138 logical-and (temp bool) -0:138 'b' (temp bool) -0:138 any (global bool) -0:138 Negate conditional (global 4-component vector of bool) -0:138 'ub41' (uniform 4-component vector of bool) -0:140 move second child to first child (temp int) -0:140 'i' (temp int) -0:140 divide (temp int) -0:140 subtract (temp int) -0:140 component-wise multiply (temp int) -0:140 add (temp int) -0:140 'i' (temp int) -0:140 'ui' (uniform int) -0:140 'i' (temp int) -0:140 'ui' (uniform int) -0:140 'i' (temp int) -0:141 move second child to first child (temp int) -0:141 'i' (temp int) -0:141 mod (temp int) -0:141 'i' (temp int) -0:141 'ui' (uniform int) -0:142 Test condition and select (temp void) +0:130 move second child to first child ( temp bool) +0:130 'b' ( temp bool) +0:130 any ( global bool) +0:130 Compare Less Than ( global 4-component vector of bool) +0:130 'v' ( temp 4-component vector of float) +0:130 'uv4' ( uniform 4-component vector of float) +0:131 move second child to first child ( temp bool) +0:131 'b' ( temp bool) +0:131 logical-and ( temp bool) +0:131 'b' ( temp bool) +0:131 any ( global bool) +0:131 Compare Less Than or Equal ( global 4-component vector of bool) +0:131 'v' ( temp 4-component vector of float) +0:131 'uv4' ( uniform 4-component vector of float) +0:132 move second child to first child ( temp bool) +0:132 'b' ( temp bool) +0:132 logical-and ( temp bool) +0:132 'b' ( temp bool) +0:132 any ( global bool) +0:132 Compare Greater Than ( global 4-component vector of bool) +0:132 'v' ( temp 4-component vector of float) +0:132 'uv4' ( uniform 4-component vector of float) +0:133 move second child to first child ( temp bool) +0:133 'b' ( temp bool) +0:133 logical-and ( temp bool) +0:133 'b' ( temp bool) +0:133 any ( global bool) +0:133 Compare Greater Than or Equal ( global 4-component vector of bool) +0:133 'v' ( temp 4-component vector of float) +0:133 'uv4' ( uniform 4-component vector of float) +0:134 move second child to first child ( temp bool) +0:134 'b' ( temp bool) +0:134 logical-and ( temp bool) +0:134 'b' ( temp bool) +0:134 any ( global bool) +0:134 Equal ( global 4-component vector of bool) +0:134 'ub41' ( uniform 4-component vector of bool) +0:134 'ub42' ( uniform 4-component vector of bool) +0:135 move second child to first child ( temp bool) +0:135 'b' ( temp bool) +0:135 logical-and ( temp bool) +0:135 'b' ( temp bool) +0:135 any ( global bool) +0:135 NotEqual ( global 4-component vector of bool) +0:135 'ub41' ( uniform 4-component vector of bool) +0:135 'ub42' ( uniform 4-component vector of bool) +0:136 move second child to first child ( temp bool) +0:136 'b' ( temp bool) +0:136 logical-and ( temp bool) +0:136 'b' ( temp bool) +0:136 any ( global bool) +0:136 'ub41' ( uniform 4-component vector of bool) +0:137 move second child to first child ( temp bool) +0:137 'b' ( temp bool) +0:137 logical-and ( temp bool) +0:137 'b' ( temp bool) +0:137 all ( global bool) +0:137 'ub41' ( uniform 4-component vector of bool) +0:138 move second child to first child ( temp bool) +0:138 'b' ( temp bool) +0:138 logical-and ( temp bool) +0:138 'b' ( temp bool) +0:138 any ( global bool) +0:138 Negate conditional ( global 4-component vector of bool) +0:138 'ub41' ( uniform 4-component vector of bool) +0:140 move second child to first child ( temp int) +0:140 'i' ( temp int) +0:140 divide ( temp int) +0:140 subtract ( temp int) +0:140 component-wise multiply ( temp int) +0:140 add ( temp int) +0:140 'i' ( temp int) +0:140 'ui' ( uniform int) +0:140 'i' ( temp int) +0:140 'ui' ( uniform int) +0:140 'i' ( temp int) +0:141 move second child to first child ( temp int) +0:141 'i' ( temp int) +0:141 mod ( temp int) +0:141 'i' ( temp int) +0:141 'ui' ( uniform int) +0:142 Test condition and select ( temp void) 0:142 Condition -0:142 logical-or (temp bool) -0:142 Compare Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 logical-xor (temp bool) -0:142 logical-and (temp bool) -0:142 Compare Not Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 Compare Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 Compare Not Equal (temp bool) -0:142 'i' (temp int) +0:142 logical-or ( temp bool) +0:142 Compare Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 logical-xor ( temp bool) +0:142 logical-and ( temp bool) +0:142 Compare Not Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 Compare Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 Compare Not Equal ( temp bool) +0:142 'i' ( temp int) 0:142 Constant: 0:142 2 (const int) 0:142 true case -0:143 Pre-Increment (temp int) -0:143 'i' (temp int) -0:145 move second child to first child (temp float) -0:145 'f' (temp float) -0:145 divide (temp float) -0:145 subtract (temp float) -0:145 component-wise multiply (temp float) -0:145 add (temp float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:147 add second child into first child (temp float) -0:147 'f' (temp float) -0:147 length (global float) -0:147 'v' (temp 4-component vector of float) -0:148 add second child into first child (temp float) -0:148 'f' (temp float) -0:148 distance (global float) -0:148 'v' (temp 4-component vector of float) -0:148 'v' (temp 4-component vector of float) -0:149 add second child into first child (temp float) -0:149 'f' (temp float) -0:149 dot-product (global float) -0:149 'v' (temp 4-component vector of float) -0:149 'v' (temp 4-component vector of float) -0:150 add second child into first child (temp float) -0:150 'f' (temp float) -0:150 dot-product (global float) -0:150 'f' (temp float) -0:150 'uf' (uniform float) -0:151 add second child into first child (temp float) -0:151 'f' (temp float) -0:151 direct index (temp float) -0:151 cross-product (global 3-component vector of float) -0:151 vector swizzle (temp 3-component vector of float) -0:151 'v' (temp 4-component vector of float) +0:143 Pre-Increment ( temp int) +0:143 'i' ( temp int) +0:145 move second child to first child ( temp float) +0:145 'f' ( temp float) +0:145 divide ( temp float) +0:145 subtract ( temp float) +0:145 component-wise multiply ( temp float) +0:145 add ( temp float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:147 add second child into first child ( temp float) +0:147 'f' ( temp float) +0:147 length ( global float) +0:147 'v' ( temp 4-component vector of float) +0:148 add second child into first child ( temp float) +0:148 'f' ( temp float) +0:148 distance ( global float) +0:148 'v' ( temp 4-component vector of float) +0:148 'v' ( temp 4-component vector of float) +0:149 add second child into first child ( temp float) +0:149 'f' ( temp float) +0:149 dot-product ( global float) +0:149 'v' ( temp 4-component vector of float) +0:149 'v' ( temp 4-component vector of float) +0:150 add second child into first child ( temp float) +0:150 'f' ( temp float) +0:150 dot-product ( global float) +0:150 'f' ( temp float) +0:150 'uf' ( uniform float) +0:151 add second child into first child ( temp float) +0:151 'f' ( temp float) +0:151 direct index ( temp float) +0:151 cross-product ( global 3-component vector of float) +0:151 vector swizzle ( temp 3-component vector of float) +0:151 'v' ( temp 4-component vector of float) 0:151 Sequence 0:151 Constant: 0:151 0 (const int) @@ -502,8 +502,8 @@ ERROR: node is still EOpNull! 0:151 1 (const int) 0:151 Constant: 0:151 2 (const int) -0:151 vector swizzle (temp 3-component vector of float) -0:151 'v' (temp 4-component vector of float) +0:151 vector swizzle ( temp 3-component vector of float) +0:151 'v' ( temp 4-component vector of float) 0:151 Sequence 0:151 Constant: 0:151 0 (const int) @@ -513,78 +513,78 @@ ERROR: node is still EOpNull! 0:151 2 (const int) 0:151 Constant: 0:151 0 (const int) -0:153 Test condition and select (temp void) +0:153 Test condition and select ( temp void) 0:153 Condition -0:153 logical-or (temp bool) -0:153 Compare Equal (temp bool) -0:153 'f' (temp float) -0:153 'uf' (uniform float) -0:153 logical-and (temp bool) -0:153 Compare Not Equal (temp bool) -0:153 'f' (temp float) -0:153 'uf' (uniform float) -0:153 Compare Not Equal (temp bool) -0:153 'f' (temp float) +0:153 logical-or ( temp bool) +0:153 Compare Equal ( temp bool) +0:153 'f' ( temp float) +0:153 'uf' ( uniform float) +0:153 logical-and ( temp bool) +0:153 Compare Not Equal ( temp bool) +0:153 'f' ( temp float) +0:153 'uf' ( uniform float) +0:153 Compare Not Equal ( temp bool) +0:153 'f' ( temp float) 0:153 Constant: 0:153 2.000000 0:153 true case -0:154 Pre-Increment (temp float) -0:154 'f' (temp float) -0:156 and second child into first child (temp int) -0:156 'i' (temp int) -0:156 'ui' (uniform int) -0:157 or second child into first child (temp int) -0:157 'i' (temp int) +0:154 Pre-Increment ( temp float) +0:154 'f' ( temp float) +0:156 and second child into first child ( temp int) +0:156 'i' ( temp int) +0:156 'ui' ( uniform int) +0:157 or second child into first child ( temp int) +0:157 'i' ( temp int) 0:157 Constant: 0:157 66 (const int) -0:158 exclusive or second child into first child (temp int) -0:158 'i' (temp int) -0:158 'ui' (uniform int) -0:159 mod second child into first child (temp int) -0:159 'i' (temp int) +0:158 exclusive or second child into first child ( temp int) +0:158 'i' ( temp int) +0:158 'ui' ( uniform int) +0:159 mod second child into first child ( temp int) +0:159 'i' ( temp int) 0:159 Constant: 0:159 17 (const int) -0:160 right shift second child into first child (temp int) -0:160 'i' (temp int) +0:160 right shift second child into first child ( temp int) +0:160 'i' ( temp int) 0:160 Constant: 0:160 2 (const int) -0:161 left shift second child into first child (temp int) -0:161 'i' (temp int) -0:161 'ui' (uniform int) -0:162 move second child to first child (temp int) -0:162 'i' (temp int) -0:162 Bitwise not (temp int) -0:162 'i' (temp int) -0:163 move second child to first child (temp bool) -0:163 'b' (temp bool) -0:163 Negate conditional (temp bool) -0:163 'b' (temp bool) -0:165 move second child to first child (temp 4-component vector of float) -0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:165 Test condition and select (temp 4-component vector of float) +0:161 left shift second child into first child ( temp int) +0:161 'i' ( temp int) +0:161 'ui' ( uniform int) +0:162 move second child to first child ( temp int) +0:162 'i' ( temp int) +0:162 Bitwise not ( temp int) +0:162 'i' ( temp int) +0:163 move second child to first child ( temp bool) +0:163 'b' ( temp bool) +0:163 Negate conditional ( temp bool) +0:163 'b' ( temp bool) +0:165 move second child to first child ( temp 4-component vector of float) +0:165 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:165 Test condition and select ( temp 4-component vector of float) 0:165 Condition -0:165 'b' (temp bool) +0:165 'b' ( temp bool) 0:165 true case -0:165 add (temp 4-component vector of float) -0:165 add (temp 4-component vector of float) -0:165 Construct vec4 (temp 4-component vector of float) -0:165 Convert int to float (temp float) -0:165 'i' (temp int) -0:165 Construct vec4 (temp 4-component vector of float) -0:165 'f' (temp float) -0:165 'v' (temp 4-component vector of float) +0:165 add ( temp 4-component vector of float) +0:165 add ( temp 4-component vector of float) +0:165 Construct vec4 ( temp 4-component vector of float) +0:165 Convert int to float ( temp float) +0:165 'i' ( temp int) +0:165 Construct vec4 ( temp 4-component vector of float) +0:165 'f' ( temp float) +0:165 'v' ( temp 4-component vector of float) 0:165 false case -0:165 'v' (temp 4-component vector of float) +0:165 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'uiv4' (uniform 4-component vector of int) -0:? 'uv4' (uniform 4-component vector of float) -0:? 'ub' (uniform bool) -0:? 'ub41' (uniform 4-component vector of bool) -0:? 'ub42' (uniform 4-component vector of bool) -0:? 'uf' (uniform float) -0:? 'ui' (uniform int) -0:? 'uuv4' (uniform 4-component vector of uint) -0:? 'uui' (uniform uint) +0:? 'uiv4' ( uniform 4-component vector of int) +0:? 'uv4' ( uniform 4-component vector of float) +0:? 'ub' ( uniform bool) +0:? 'ub41' ( uniform 4-component vector of bool) +0:? 'ub42' ( uniform 4-component vector of bool) +0:? 'uf' ( uniform float) +0:? 'ui' ( uniform int) +0:? 'uuv4' ( uniform 4-component vector of uint) +0:? 'uui' ( uniform uint) Linked fragment stage: @@ -592,289 +592,289 @@ Linked fragment stage: Shader version: 130 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:? Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'v' (temp 4-component vector of float) -0:27 radians (global 4-component vector of float) -0:27 'uv4' (uniform 4-component vector of float) -0:28 add second child into first child (temp 4-component vector of float) -0:28 'v' (temp 4-component vector of float) -0:28 degrees (global 4-component vector of float) -0:28 'v' (temp 4-component vector of float) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'v' (temp 4-component vector of float) -0:29 Comma (temp 4-component vector of float) -0:29 move second child to first child (temp int) -0:29 'i' (temp int) -0:29 component-wise multiply (temp int) -0:29 'ui' (uniform int) -0:29 'ui' (uniform int) -0:29 sine (global 4-component vector of float) -0:29 'v' (temp 4-component vector of float) -0:30 add second child into first child (temp 4-component vector of float) -0:30 'v' (temp 4-component vector of float) -0:30 cosine (global 4-component vector of float) -0:30 'v' (temp 4-component vector of float) -0:31 add second child into first child (temp 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:31 tangent (global 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:32 add second child into first child (temp 4-component vector of float) -0:32 'v' (temp 4-component vector of float) -0:32 arc sine (global 4-component vector of float) -0:32 'v' (temp 4-component vector of float) -0:33 add second child into first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:33 arc cosine (global 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:35 add second child into first child (temp 4-component vector of float) -0:35 'v' (temp 4-component vector of float) -0:35 arc tangent (global 4-component vector of float) -0:35 'v' (temp 4-component vector of float) -0:36 add second child into first child (temp 4-component vector of float) -0:36 'v' (temp 4-component vector of float) -0:36 hyp. sine (global 4-component vector of float) -0:36 'v' (temp 4-component vector of float) -0:37 add second child into first child (temp 4-component vector of float) -0:37 'v' (temp 4-component vector of float) -0:37 hyp. cosine (global 4-component vector of float) -0:37 'v' (temp 4-component vector of float) -0:38 add second child into first child (temp 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:38 hyp. tangent (global 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:39 add second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:39 arc hyp. sine (global 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:40 arc hyp. cosine (global 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:41 add second child into first child (temp 4-component vector of float) -0:41 'v' (temp 4-component vector of float) -0:41 arc hyp. tangent (global 4-component vector of float) -0:41 'v' (temp 4-component vector of float) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 pow (global 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:44 add second child into first child (temp 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:44 exp (global 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:45 add second child into first child (temp 4-component vector of float) -0:45 'v' (temp 4-component vector of float) -0:45 log (global 4-component vector of float) -0:45 'v' (temp 4-component vector of float) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:46 exp2 (global 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:47 add second child into first child (temp 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:47 log2 (global 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:48 add second child into first child (temp 4-component vector of float) -0:48 'v' (temp 4-component vector of float) -0:48 sqrt (global 4-component vector of float) -0:48 'v' (temp 4-component vector of float) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:49 inverse sqrt (global 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:50 Absolute value (global 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:51 add second child into first child (temp 4-component vector of float) -0:51 'v' (temp 4-component vector of float) -0:51 Sign (global 4-component vector of float) -0:51 'v' (temp 4-component vector of float) -0:52 add second child into first child (temp 4-component vector of float) -0:52 'v' (temp 4-component vector of float) -0:52 Floor (global 4-component vector of float) -0:52 'v' (temp 4-component vector of float) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:55 trunc (global 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:56 add second child into first child (temp 4-component vector of float) -0:56 'v' (temp 4-component vector of float) -0:56 round (global 4-component vector of float) -0:56 'v' (temp 4-component vector of float) -0:57 add second child into first child (temp 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:57 roundEven (global 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:60 add second child into first child (temp 4-component vector of float) -0:60 'v' (temp 4-component vector of float) -0:60 Ceiling (global 4-component vector of float) -0:60 'v' (temp 4-component vector of float) -0:61 add second child into first child (temp 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:61 Fraction (global 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:62 add second child into first child (temp 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:62 mod (global 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:62 'v' (temp 4-component vector of float) -0:63 add second child into first child (temp 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 mod (global 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 direct index (temp float) -0:63 'v' (temp 4-component vector of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'v' ( temp 4-component vector of float) +0:27 radians ( global 4-component vector of float) +0:27 'uv4' ( uniform 4-component vector of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'v' ( temp 4-component vector of float) +0:28 degrees ( global 4-component vector of float) +0:28 'v' ( temp 4-component vector of float) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'v' ( temp 4-component vector of float) +0:29 Comma ( temp 4-component vector of float) +0:29 move second child to first child ( temp int) +0:29 'i' ( temp int) +0:29 component-wise multiply ( temp int) +0:29 'ui' ( uniform int) +0:29 'ui' ( uniform int) +0:29 sine ( global 4-component vector of float) +0:29 'v' ( temp 4-component vector of float) +0:30 add second child into first child ( temp 4-component vector of float) +0:30 'v' ( temp 4-component vector of float) +0:30 cosine ( global 4-component vector of float) +0:30 'v' ( temp 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:31 tangent ( global 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'v' ( temp 4-component vector of float) +0:32 arc sine ( global 4-component vector of float) +0:32 'v' ( temp 4-component vector of float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:33 arc cosine ( global 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:35 add second child into first child ( temp 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) +0:35 arc tangent ( global 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) +0:36 hyp. sine ( global 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) +0:37 add second child into first child ( temp 4-component vector of float) +0:37 'v' ( temp 4-component vector of float) +0:37 hyp. cosine ( global 4-component vector of float) +0:37 'v' ( temp 4-component vector of float) +0:38 add second child into first child ( temp 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:38 hyp. tangent ( global 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:39 add second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:39 arc hyp. sine ( global 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:40 arc hyp. cosine ( global 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:41 add second child into first child ( temp 4-component vector of float) +0:41 'v' ( temp 4-component vector of float) +0:41 arc hyp. tangent ( global 4-component vector of float) +0:41 'v' ( temp 4-component vector of float) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 pow ( global 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:44 add second child into first child ( temp 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:44 exp ( global 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:45 add second child into first child ( temp 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) +0:45 log ( global 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:46 exp2 ( global 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:47 add second child into first child ( temp 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:47 log2 ( global 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:48 add second child into first child ( temp 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) +0:48 sqrt ( global 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:49 inverse sqrt ( global 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:50 Absolute value ( global 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'v' ( temp 4-component vector of float) +0:51 Sign ( global 4-component vector of float) +0:51 'v' ( temp 4-component vector of float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'v' ( temp 4-component vector of float) +0:52 Floor ( global 4-component vector of float) +0:52 'v' ( temp 4-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:55 trunc ( global 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:56 add second child into first child ( temp 4-component vector of float) +0:56 'v' ( temp 4-component vector of float) +0:56 round ( global 4-component vector of float) +0:56 'v' ( temp 4-component vector of float) +0:57 add second child into first child ( temp 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:57 roundEven ( global 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'v' ( temp 4-component vector of float) +0:60 Ceiling ( global 4-component vector of float) +0:60 'v' ( temp 4-component vector of float) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:61 Fraction ( global 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:62 add second child into first child ( temp 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:62 mod ( global 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:62 'v' ( temp 4-component vector of float) +0:63 add second child into first child ( temp 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 mod ( global 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 direct index ( temp float) +0:63 'v' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) -0:66 add second child into first child (temp 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:66 modf (global 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:66 'v' (temp 4-component vector of float) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 min (global 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 'uv4' (uniform 4-component vector of float) -0:70 add second child into first child (temp 4-component vector of float) -0:70 'v' (temp 4-component vector of float) -0:70 max (global 4-component vector of float) -0:70 'v' (temp 4-component vector of float) -0:70 'uv4' (uniform 4-component vector of float) -0:71 add second child into first child (temp 4-component vector of float) -0:71 'v' (temp 4-component vector of float) -0:71 clamp (global 4-component vector of float) -0:71 'v' (temp 4-component vector of float) -0:71 'uv4' (uniform 4-component vector of float) -0:71 'uv4' (uniform 4-component vector of float) -0:72 add second child into first child (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 mix (global 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:72 'v' (temp 4-component vector of float) -0:75 add second child into first child (temp 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 mix (global 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 'v' (temp 4-component vector of float) -0:75 'bv4' (temp 4-component vector of bool) -0:76 add second child into first child (temp 4-component vector of float) -0:76 'v' (temp 4-component vector of float) +0:66 add second child into first child ( temp 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:66 modf ( global 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:66 'v' ( temp 4-component vector of float) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 min ( global 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 'uv4' ( uniform 4-component vector of float) +0:70 add second child into first child ( temp 4-component vector of float) +0:70 'v' ( temp 4-component vector of float) +0:70 max ( global 4-component vector of float) +0:70 'v' ( temp 4-component vector of float) +0:70 'uv4' ( uniform 4-component vector of float) +0:71 add second child into first child ( temp 4-component vector of float) +0:71 'v' ( temp 4-component vector of float) +0:71 clamp ( global 4-component vector of float) +0:71 'v' ( temp 4-component vector of float) +0:71 'uv4' ( uniform 4-component vector of float) +0:71 'uv4' ( uniform 4-component vector of float) +0:72 add second child into first child ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 mix ( global 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:72 'v' ( temp 4-component vector of float) +0:75 add second child into first child ( temp 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 mix ( global 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 'v' ( temp 4-component vector of float) +0:75 'bv4' ( temp 4-component vector of bool) +0:76 add second child into first child ( temp 4-component vector of float) +0:76 'v' ( temp 4-component vector of float) 0:76 Constant: 0:76 0.000000 -0:77 add second child into first child (temp 4-component vector of float) -0:77 'v' (temp 4-component vector of float) +0:77 add second child into first child ( temp 4-component vector of float) +0:77 'v' ( temp 4-component vector of float) 0:77 Constant: 0:77 0.000000 -0:78 add second child into first child (temp 4-component vector of float) -0:78 'v' (temp 4-component vector of float) +0:78 add second child into first child ( temp 4-component vector of float) +0:78 'v' ( temp 4-component vector of float) 0:78 Constant: 0:78 0.000000 -0:79 add second child into first child (temp 4-component vector of float) -0:79 'v' (temp 4-component vector of float) +0:79 add second child into first child ( temp 4-component vector of float) +0:79 'v' ( temp 4-component vector of float) 0:79 Constant: 0:79 0.000000 -0:80 add second child into first child (temp 4-component vector of float) -0:80 'v' (temp 4-component vector of float) +0:80 add second child into first child ( temp 4-component vector of float) +0:80 'v' ( temp 4-component vector of float) 0:80 Constant: 0:80 0.000000 -0:81 add second child into first child (temp 4-component vector of float) -0:81 'v' (temp 4-component vector of float) +0:81 add second child into first child ( temp 4-component vector of float) +0:81 'v' ( temp 4-component vector of float) 0:81 Constant: 0:81 0.000000 -0:82 add second child into first child (temp 4-component vector of float) -0:82 'v' (temp 4-component vector of float) +0:82 add second child into first child ( temp 4-component vector of float) +0:82 'v' ( temp 4-component vector of float) 0:82 Constant: 0:82 0.000000 -0:83 add second child into first child (temp 4-component vector of float) -0:83 'v' (temp 4-component vector of float) +0:83 add second child into first child ( temp 4-component vector of float) +0:83 'v' ( temp 4-component vector of float) 0:83 Constant: 0:83 0.000000 -0:86 add second child into first child (temp 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:86 step (global 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:86 'v' (temp 4-component vector of float) -0:87 add second child into first child (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 smoothstep (global 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:87 'v' (temp 4-component vector of float) -0:88 add second child into first child (temp 4-component vector of float) -0:88 'v' (temp 4-component vector of float) -0:88 step (global 4-component vector of float) -0:88 'uf' (uniform float) -0:88 'v' (temp 4-component vector of float) -0:89 add second child into first child (temp 4-component vector of float) -0:89 'v' (temp 4-component vector of float) -0:89 smoothstep (global 4-component vector of float) -0:89 'uf' (uniform float) -0:89 'uf' (uniform float) -0:89 'v' (temp 4-component vector of float) -0:90 add second child into first child (temp 4-component vector of float) -0:90 'v' (temp 4-component vector of float) -0:90 normalize (global 4-component vector of float) -0:90 'v' (temp 4-component vector of float) -0:91 add second child into first child (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 face-forward (global 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:91 'v' (temp 4-component vector of float) -0:92 add second child into first child (temp 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:92 reflect (global 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:92 'v' (temp 4-component vector of float) -0:93 add second child into first child (temp 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 refract (global 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 'v' (temp 4-component vector of float) -0:93 'uf' (uniform float) -0:94 add second child into first child (temp 4-component vector of float) -0:94 'v' (temp 4-component vector of float) -0:94 dPdx (global 4-component vector of float) -0:94 'v' (temp 4-component vector of float) -0:95 add second child into first child (temp 4-component vector of float) -0:95 'v' (temp 4-component vector of float) -0:95 dPdy (global 4-component vector of float) -0:95 'v' (temp 4-component vector of float) -0:96 add second child into first child (temp 4-component vector of float) -0:96 'v' (temp 4-component vector of float) -0:96 fwidth (global 4-component vector of float) -0:96 'v' (temp 4-component vector of float) -0:101 add second child into first child (temp int) -0:101 'i' (temp int) -0:101 Absolute value (global int) -0:101 'ui' (uniform int) -0:102 add second child into first child (temp int) -0:102 'i' (temp int) -0:102 Sign (global int) -0:102 'i' (temp int) -0:103 add second child into first child (temp int) -0:103 'i' (temp int) -0:103 min (global int) -0:103 'i' (temp int) -0:103 'ui' (uniform int) -0:104 add second child into first child (temp int) -0:104 'i' (temp int) -0:104 max (global int) -0:104 'i' (temp int) -0:104 'ui' (uniform int) -0:105 add second child into first child (temp int) -0:105 'i' (temp int) -0:105 clamp (global int) -0:105 'i' (temp int) -0:105 'ui' (uniform int) -0:105 'ui' (uniform int) +0:86 add second child into first child ( temp 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:86 step ( global 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:86 'v' ( temp 4-component vector of float) +0:87 add second child into first child ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 smoothstep ( global 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:87 'v' ( temp 4-component vector of float) +0:88 add second child into first child ( temp 4-component vector of float) +0:88 'v' ( temp 4-component vector of float) +0:88 step ( global 4-component vector of float) +0:88 'uf' ( uniform float) +0:88 'v' ( temp 4-component vector of float) +0:89 add second child into first child ( temp 4-component vector of float) +0:89 'v' ( temp 4-component vector of float) +0:89 smoothstep ( global 4-component vector of float) +0:89 'uf' ( uniform float) +0:89 'uf' ( uniform float) +0:89 'v' ( temp 4-component vector of float) +0:90 add second child into first child ( temp 4-component vector of float) +0:90 'v' ( temp 4-component vector of float) +0:90 normalize ( global 4-component vector of float) +0:90 'v' ( temp 4-component vector of float) +0:91 add second child into first child ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 face-forward ( global 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:91 'v' ( temp 4-component vector of float) +0:92 add second child into first child ( temp 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:92 reflect ( global 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:92 'v' ( temp 4-component vector of float) +0:93 add second child into first child ( temp 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 refract ( global 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 'v' ( temp 4-component vector of float) +0:93 'uf' ( uniform float) +0:94 add second child into first child ( temp 4-component vector of float) +0:94 'v' ( temp 4-component vector of float) +0:94 dPdx ( global 4-component vector of float) +0:94 'v' ( temp 4-component vector of float) +0:95 add second child into first child ( temp 4-component vector of float) +0:95 'v' ( temp 4-component vector of float) +0:95 dPdy ( global 4-component vector of float) +0:95 'v' ( temp 4-component vector of float) +0:96 add second child into first child ( temp 4-component vector of float) +0:96 'v' ( temp 4-component vector of float) +0:96 fwidth ( global 4-component vector of float) +0:96 'v' ( temp 4-component vector of float) +0:101 add second child into first child ( temp int) +0:101 'i' ( temp int) +0:101 Absolute value ( global int) +0:101 'ui' ( uniform int) +0:102 add second child into first child ( temp int) +0:102 'i' ( temp int) +0:102 Sign ( global int) +0:102 'i' ( temp int) +0:103 add second child into first child ( temp int) +0:103 'i' ( temp int) +0:103 min ( global int) +0:103 'i' ( temp int) +0:103 'ui' ( uniform int) +0:104 add second child into first child ( temp int) +0:104 'i' ( temp int) +0:104 max ( global int) +0:104 'i' ( temp int) +0:104 'ui' ( uniform int) +0:105 add second child into first child ( temp int) +0:105 'i' ( temp int) +0:105 clamp ( global int) +0:105 'i' ( temp int) +0:105 'ui' ( uniform int) +0:105 'ui' ( uniform int) 0:107 Constant: 0:107 0.000000 0:108 Constant: @@ -883,181 +883,181 @@ ERROR: node is still EOpNull! 0:109 0.000000 0:110 Constant: 0:110 0.000000 -0:113 'u' (temp uint) -0:114 'u' (temp uint) -0:115 add second child into first child (temp uint) -0:115 'u' (temp uint) -0:115 min (global uint) -0:115 'u' (temp uint) -0:115 'uui' (uniform uint) -0:116 add second child into first child (temp uint) -0:116 'u' (temp uint) -0:116 max (global uint) -0:116 'u' (temp uint) -0:116 'uui' (uniform uint) -0:117 add second child into first child (temp uint) -0:117 'u' (temp uint) -0:117 clamp (global uint) -0:117 'u' (temp uint) -0:117 'uui' (uniform uint) -0:117 'uui' (uniform uint) -0:118 'u' (temp uint) -0:119 'u' (temp uint) -0:120 'u' (temp uint) -0:121 'i' (temp int) -0:122 'i' (temp int) -0:123 add second child into first child (temp int) -0:123 'i' (temp int) -0:123 'i' (temp int) -0:127 move second child to first child (temp bool) -0:127 'b' (temp bool) -0:127 isnan (global bool) -0:127 'uf' (uniform float) -0:128 move second child to first child (temp bool) -0:128 'b' (temp bool) -0:128 isinf (global bool) -0:128 direct index (temp float) -0:128 'v' (temp 4-component vector of float) +0:113 'u' ( temp uint) +0:114 'u' ( temp uint) +0:115 add second child into first child ( temp uint) +0:115 'u' ( temp uint) +0:115 min ( global uint) +0:115 'u' ( temp uint) +0:115 'uui' ( uniform uint) +0:116 add second child into first child ( temp uint) +0:116 'u' ( temp uint) +0:116 max ( global uint) +0:116 'u' ( temp uint) +0:116 'uui' ( uniform uint) +0:117 add second child into first child ( temp uint) +0:117 'u' ( temp uint) +0:117 clamp ( global uint) +0:117 'u' ( temp uint) +0:117 'uui' ( uniform uint) +0:117 'uui' ( uniform uint) +0:118 'u' ( temp uint) +0:119 'u' ( temp uint) +0:120 'u' ( temp uint) +0:121 'i' ( temp int) +0:122 'i' ( temp int) +0:123 add second child into first child ( temp int) +0:123 'i' ( temp int) +0:123 'i' ( temp int) +0:127 move second child to first child ( temp bool) +0:127 'b' ( temp bool) +0:127 isnan ( global bool) +0:127 'uf' ( uniform float) +0:128 move second child to first child ( temp bool) +0:128 'b' ( temp bool) +0:128 isinf ( global bool) +0:128 direct index ( temp float) +0:128 'v' ( temp 4-component vector of float) 0:128 Constant: 0:128 1 (const int) -0:130 move second child to first child (temp bool) -0:130 'b' (temp bool) -0:130 any (global bool) -0:130 Compare Less Than (global 4-component vector of bool) -0:130 'v' (temp 4-component vector of float) -0:130 'uv4' (uniform 4-component vector of float) -0:131 move second child to first child (temp bool) -0:131 'b' (temp bool) -0:131 logical-and (temp bool) -0:131 'b' (temp bool) -0:131 any (global bool) -0:131 Compare Less Than or Equal (global 4-component vector of bool) -0:131 'v' (temp 4-component vector of float) -0:131 'uv4' (uniform 4-component vector of float) -0:132 move second child to first child (temp bool) -0:132 'b' (temp bool) -0:132 logical-and (temp bool) -0:132 'b' (temp bool) -0:132 any (global bool) -0:132 Compare Greater Than (global 4-component vector of bool) -0:132 'v' (temp 4-component vector of float) -0:132 'uv4' (uniform 4-component vector of float) -0:133 move second child to first child (temp bool) -0:133 'b' (temp bool) -0:133 logical-and (temp bool) -0:133 'b' (temp bool) -0:133 any (global bool) -0:133 Compare Greater Than or Equal (global 4-component vector of bool) -0:133 'v' (temp 4-component vector of float) -0:133 'uv4' (uniform 4-component vector of float) -0:134 move second child to first child (temp bool) -0:134 'b' (temp bool) -0:134 logical-and (temp bool) -0:134 'b' (temp bool) -0:134 any (global bool) -0:134 Equal (global 4-component vector of bool) -0:134 'ub41' (uniform 4-component vector of bool) -0:134 'ub42' (uniform 4-component vector of bool) -0:135 move second child to first child (temp bool) -0:135 'b' (temp bool) -0:135 logical-and (temp bool) -0:135 'b' (temp bool) -0:135 any (global bool) -0:135 NotEqual (global 4-component vector of bool) -0:135 'ub41' (uniform 4-component vector of bool) -0:135 'ub42' (uniform 4-component vector of bool) -0:136 move second child to first child (temp bool) -0:136 'b' (temp bool) -0:136 logical-and (temp bool) -0:136 'b' (temp bool) -0:136 any (global bool) -0:136 'ub41' (uniform 4-component vector of bool) -0:137 move second child to first child (temp bool) -0:137 'b' (temp bool) -0:137 logical-and (temp bool) -0:137 'b' (temp bool) -0:137 all (global bool) -0:137 'ub41' (uniform 4-component vector of bool) -0:138 move second child to first child (temp bool) -0:138 'b' (temp bool) -0:138 logical-and (temp bool) -0:138 'b' (temp bool) -0:138 any (global bool) -0:138 Negate conditional (global 4-component vector of bool) -0:138 'ub41' (uniform 4-component vector of bool) -0:140 move second child to first child (temp int) -0:140 'i' (temp int) -0:140 divide (temp int) -0:140 subtract (temp int) -0:140 component-wise multiply (temp int) -0:140 add (temp int) -0:140 'i' (temp int) -0:140 'ui' (uniform int) -0:140 'i' (temp int) -0:140 'ui' (uniform int) -0:140 'i' (temp int) -0:141 move second child to first child (temp int) -0:141 'i' (temp int) -0:141 mod (temp int) -0:141 'i' (temp int) -0:141 'ui' (uniform int) -0:142 Test condition and select (temp void) +0:130 move second child to first child ( temp bool) +0:130 'b' ( temp bool) +0:130 any ( global bool) +0:130 Compare Less Than ( global 4-component vector of bool) +0:130 'v' ( temp 4-component vector of float) +0:130 'uv4' ( uniform 4-component vector of float) +0:131 move second child to first child ( temp bool) +0:131 'b' ( temp bool) +0:131 logical-and ( temp bool) +0:131 'b' ( temp bool) +0:131 any ( global bool) +0:131 Compare Less Than or Equal ( global 4-component vector of bool) +0:131 'v' ( temp 4-component vector of float) +0:131 'uv4' ( uniform 4-component vector of float) +0:132 move second child to first child ( temp bool) +0:132 'b' ( temp bool) +0:132 logical-and ( temp bool) +0:132 'b' ( temp bool) +0:132 any ( global bool) +0:132 Compare Greater Than ( global 4-component vector of bool) +0:132 'v' ( temp 4-component vector of float) +0:132 'uv4' ( uniform 4-component vector of float) +0:133 move second child to first child ( temp bool) +0:133 'b' ( temp bool) +0:133 logical-and ( temp bool) +0:133 'b' ( temp bool) +0:133 any ( global bool) +0:133 Compare Greater Than or Equal ( global 4-component vector of bool) +0:133 'v' ( temp 4-component vector of float) +0:133 'uv4' ( uniform 4-component vector of float) +0:134 move second child to first child ( temp bool) +0:134 'b' ( temp bool) +0:134 logical-and ( temp bool) +0:134 'b' ( temp bool) +0:134 any ( global bool) +0:134 Equal ( global 4-component vector of bool) +0:134 'ub41' ( uniform 4-component vector of bool) +0:134 'ub42' ( uniform 4-component vector of bool) +0:135 move second child to first child ( temp bool) +0:135 'b' ( temp bool) +0:135 logical-and ( temp bool) +0:135 'b' ( temp bool) +0:135 any ( global bool) +0:135 NotEqual ( global 4-component vector of bool) +0:135 'ub41' ( uniform 4-component vector of bool) +0:135 'ub42' ( uniform 4-component vector of bool) +0:136 move second child to first child ( temp bool) +0:136 'b' ( temp bool) +0:136 logical-and ( temp bool) +0:136 'b' ( temp bool) +0:136 any ( global bool) +0:136 'ub41' ( uniform 4-component vector of bool) +0:137 move second child to first child ( temp bool) +0:137 'b' ( temp bool) +0:137 logical-and ( temp bool) +0:137 'b' ( temp bool) +0:137 all ( global bool) +0:137 'ub41' ( uniform 4-component vector of bool) +0:138 move second child to first child ( temp bool) +0:138 'b' ( temp bool) +0:138 logical-and ( temp bool) +0:138 'b' ( temp bool) +0:138 any ( global bool) +0:138 Negate conditional ( global 4-component vector of bool) +0:138 'ub41' ( uniform 4-component vector of bool) +0:140 move second child to first child ( temp int) +0:140 'i' ( temp int) +0:140 divide ( temp int) +0:140 subtract ( temp int) +0:140 component-wise multiply ( temp int) +0:140 add ( temp int) +0:140 'i' ( temp int) +0:140 'ui' ( uniform int) +0:140 'i' ( temp int) +0:140 'ui' ( uniform int) +0:140 'i' ( temp int) +0:141 move second child to first child ( temp int) +0:141 'i' ( temp int) +0:141 mod ( temp int) +0:141 'i' ( temp int) +0:141 'ui' ( uniform int) +0:142 Test condition and select ( temp void) 0:142 Condition -0:142 logical-or (temp bool) -0:142 Compare Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 logical-xor (temp bool) -0:142 logical-and (temp bool) -0:142 Compare Not Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 Compare Equal (temp bool) -0:142 'i' (temp int) -0:142 'ui' (uniform int) -0:142 Compare Not Equal (temp bool) -0:142 'i' (temp int) +0:142 logical-or ( temp bool) +0:142 Compare Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 logical-xor ( temp bool) +0:142 logical-and ( temp bool) +0:142 Compare Not Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 Compare Equal ( temp bool) +0:142 'i' ( temp int) +0:142 'ui' ( uniform int) +0:142 Compare Not Equal ( temp bool) +0:142 'i' ( temp int) 0:142 Constant: 0:142 2 (const int) 0:142 true case -0:143 Pre-Increment (temp int) -0:143 'i' (temp int) -0:145 move second child to first child (temp float) -0:145 'f' (temp float) -0:145 divide (temp float) -0:145 subtract (temp float) -0:145 component-wise multiply (temp float) -0:145 add (temp float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:145 'uf' (uniform float) -0:147 add second child into first child (temp float) -0:147 'f' (temp float) -0:147 length (global float) -0:147 'v' (temp 4-component vector of float) -0:148 add second child into first child (temp float) -0:148 'f' (temp float) -0:148 distance (global float) -0:148 'v' (temp 4-component vector of float) -0:148 'v' (temp 4-component vector of float) -0:149 add second child into first child (temp float) -0:149 'f' (temp float) -0:149 dot-product (global float) -0:149 'v' (temp 4-component vector of float) -0:149 'v' (temp 4-component vector of float) -0:150 add second child into first child (temp float) -0:150 'f' (temp float) -0:150 dot-product (global float) -0:150 'f' (temp float) -0:150 'uf' (uniform float) -0:151 add second child into first child (temp float) -0:151 'f' (temp float) -0:151 direct index (temp float) -0:151 cross-product (global 3-component vector of float) -0:151 vector swizzle (temp 3-component vector of float) -0:151 'v' (temp 4-component vector of float) +0:143 Pre-Increment ( temp int) +0:143 'i' ( temp int) +0:145 move second child to first child ( temp float) +0:145 'f' ( temp float) +0:145 divide ( temp float) +0:145 subtract ( temp float) +0:145 component-wise multiply ( temp float) +0:145 add ( temp float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:145 'uf' ( uniform float) +0:147 add second child into first child ( temp float) +0:147 'f' ( temp float) +0:147 length ( global float) +0:147 'v' ( temp 4-component vector of float) +0:148 add second child into first child ( temp float) +0:148 'f' ( temp float) +0:148 distance ( global float) +0:148 'v' ( temp 4-component vector of float) +0:148 'v' ( temp 4-component vector of float) +0:149 add second child into first child ( temp float) +0:149 'f' ( temp float) +0:149 dot-product ( global float) +0:149 'v' ( temp 4-component vector of float) +0:149 'v' ( temp 4-component vector of float) +0:150 add second child into first child ( temp float) +0:150 'f' ( temp float) +0:150 dot-product ( global float) +0:150 'f' ( temp float) +0:150 'uf' ( uniform float) +0:151 add second child into first child ( temp float) +0:151 'f' ( temp float) +0:151 direct index ( temp float) +0:151 cross-product ( global 3-component vector of float) +0:151 vector swizzle ( temp 3-component vector of float) +0:151 'v' ( temp 4-component vector of float) 0:151 Sequence 0:151 Constant: 0:151 0 (const int) @@ -1065,8 +1065,8 @@ ERROR: node is still EOpNull! 0:151 1 (const int) 0:151 Constant: 0:151 2 (const int) -0:151 vector swizzle (temp 3-component vector of float) -0:151 'v' (temp 4-component vector of float) +0:151 vector swizzle ( temp 3-component vector of float) +0:151 'v' ( temp 4-component vector of float) 0:151 Sequence 0:151 Constant: 0:151 0 (const int) @@ -1076,76 +1076,76 @@ ERROR: node is still EOpNull! 0:151 2 (const int) 0:151 Constant: 0:151 0 (const int) -0:153 Test condition and select (temp void) +0:153 Test condition and select ( temp void) 0:153 Condition -0:153 logical-or (temp bool) -0:153 Compare Equal (temp bool) -0:153 'f' (temp float) -0:153 'uf' (uniform float) -0:153 logical-and (temp bool) -0:153 Compare Not Equal (temp bool) -0:153 'f' (temp float) -0:153 'uf' (uniform float) -0:153 Compare Not Equal (temp bool) -0:153 'f' (temp float) +0:153 logical-or ( temp bool) +0:153 Compare Equal ( temp bool) +0:153 'f' ( temp float) +0:153 'uf' ( uniform float) +0:153 logical-and ( temp bool) +0:153 Compare Not Equal ( temp bool) +0:153 'f' ( temp float) +0:153 'uf' ( uniform float) +0:153 Compare Not Equal ( temp bool) +0:153 'f' ( temp float) 0:153 Constant: 0:153 2.000000 0:153 true case -0:154 Pre-Increment (temp float) -0:154 'f' (temp float) -0:156 and second child into first child (temp int) -0:156 'i' (temp int) -0:156 'ui' (uniform int) -0:157 or second child into first child (temp int) -0:157 'i' (temp int) +0:154 Pre-Increment ( temp float) +0:154 'f' ( temp float) +0:156 and second child into first child ( temp int) +0:156 'i' ( temp int) +0:156 'ui' ( uniform int) +0:157 or second child into first child ( temp int) +0:157 'i' ( temp int) 0:157 Constant: 0:157 66 (const int) -0:158 exclusive or second child into first child (temp int) -0:158 'i' (temp int) -0:158 'ui' (uniform int) -0:159 mod second child into first child (temp int) -0:159 'i' (temp int) +0:158 exclusive or second child into first child ( temp int) +0:158 'i' ( temp int) +0:158 'ui' ( uniform int) +0:159 mod second child into first child ( temp int) +0:159 'i' ( temp int) 0:159 Constant: 0:159 17 (const int) -0:160 right shift second child into first child (temp int) -0:160 'i' (temp int) +0:160 right shift second child into first child ( temp int) +0:160 'i' ( temp int) 0:160 Constant: 0:160 2 (const int) -0:161 left shift second child into first child (temp int) -0:161 'i' (temp int) -0:161 'ui' (uniform int) -0:162 move second child to first child (temp int) -0:162 'i' (temp int) -0:162 Bitwise not (temp int) -0:162 'i' (temp int) -0:163 move second child to first child (temp bool) -0:163 'b' (temp bool) -0:163 Negate conditional (temp bool) -0:163 'b' (temp bool) -0:165 move second child to first child (temp 4-component vector of float) -0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:165 Test condition and select (temp 4-component vector of float) +0:161 left shift second child into first child ( temp int) +0:161 'i' ( temp int) +0:161 'ui' ( uniform int) +0:162 move second child to first child ( temp int) +0:162 'i' ( temp int) +0:162 Bitwise not ( temp int) +0:162 'i' ( temp int) +0:163 move second child to first child ( temp bool) +0:163 'b' ( temp bool) +0:163 Negate conditional ( temp bool) +0:163 'b' ( temp bool) +0:165 move second child to first child ( temp 4-component vector of float) +0:165 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:165 Test condition and select ( temp 4-component vector of float) 0:165 Condition -0:165 'b' (temp bool) +0:165 'b' ( temp bool) 0:165 true case -0:165 add (temp 4-component vector of float) -0:165 add (temp 4-component vector of float) -0:165 Construct vec4 (temp 4-component vector of float) -0:165 Convert int to float (temp float) -0:165 'i' (temp int) -0:165 Construct vec4 (temp 4-component vector of float) -0:165 'f' (temp float) -0:165 'v' (temp 4-component vector of float) +0:165 add ( temp 4-component vector of float) +0:165 add ( temp 4-component vector of float) +0:165 Construct vec4 ( temp 4-component vector of float) +0:165 Convert int to float ( temp float) +0:165 'i' ( temp int) +0:165 Construct vec4 ( temp 4-component vector of float) +0:165 'f' ( temp float) +0:165 'v' ( temp 4-component vector of float) 0:165 false case -0:165 'v' (temp 4-component vector of float) +0:165 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'uiv4' (uniform 4-component vector of int) -0:? 'uv4' (uniform 4-component vector of float) -0:? 'ub' (uniform bool) -0:? 'ub41' (uniform 4-component vector of bool) -0:? 'ub42' (uniform 4-component vector of bool) -0:? 'uf' (uniform float) -0:? 'ui' (uniform int) -0:? 'uuv4' (uniform 4-component vector of uint) -0:? 'uui' (uniform uint) +0:? 'uiv4' ( uniform 4-component vector of int) +0:? 'uv4' ( uniform 4-component vector of float) +0:? 'ub' ( uniform bool) +0:? 'ub41' ( uniform 4-component vector of bool) +0:? 'ub42' ( uniform 4-component vector of bool) +0:? 'uf' ( uniform float) +0:? 'ui' ( uniform int) +0:? 'uuv4' ( uniform 4-component vector of uint) +0:? 'uui' ( uniform uint) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/aggOps.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/aggOps.frag.out index 7a60fbc6d03..eba1bf78cfd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/aggOps.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/aggOps.frag.out @@ -4,148 +4,148 @@ WARNING: 0:6: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:23 Function Definition: main( (global void) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence -0:27 move second child to first child (temp 3-element array of structure{global int i, global float f}) -0:27 'a' (temp 3-element array of structure{global int i, global float f}) -0:27 Construct structure (temp 3-element array of structure{global int i, global float f}) -0:27 Construct structure (temp structure{global int i, global float f}) -0:27 Convert float to int (temp int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 move second child to first child ( temp 3-element array of structure{ global int i, global float f}) +0:27 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:27 Construct structure ( temp 3-element array of structure{ global int i, global float f}) +0:27 Construct structure ( temp structure{ global int i, global float f}) +0:27 Convert float to int ( temp int) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 0 (const int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 1 (const int) -0:27 Construct structure (temp structure{global int i, global float f}) -0:27 Convert float to int (temp int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 Construct structure ( temp structure{ global int i, global float f}) +0:27 Convert float to int ( temp int) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 2 (const int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 3 (const int) 0:27 Constant: 0:27 14 (const int) 0:27 14.000000 -0:28 move second child to first child (temp 3-element array of structure{global int i, global float f}) -0:28 'b' (temp 3-element array of structure{global int i, global float f}) -0:28 Construct structure (temp 3-element array of structure{global int i, global float f}) +0:28 move second child to first child ( temp 3-element array of structure{ global int i, global float f}) +0:28 'b' ( temp 3-element array of structure{ global int i, global float f}) +0:28 Construct structure ( temp 3-element array of structure{ global int i, global float f}) 0:28 Constant: 0:28 17 (const int) 0:28 17.000000 -0:28 Construct structure (temp structure{global int i, global float f}) -0:28 Convert float to int (temp int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 Construct structure ( temp structure{ global int i, global float f}) +0:28 Convert float to int ( temp int) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 0 (const int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 1 (const int) -0:28 Construct structure (temp structure{global int i, global float f}) -0:28 Convert float to int (temp int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 Construct structure ( temp structure{ global int i, global float f}) +0:28 Convert float to int ( temp int) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 2 (const int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 3 (const int) -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Equal (temp bool) -0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:30 Compare Equal ( temp bool) +0:30 'foo2a' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:30 'foo2b' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:30 true case -0:31 move second child to first child (temp 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:31 texture (global 4-component vector of float) -0:31 'sampler' (uniform sampler2D) -0:31 'coord' (smooth in 2-component vector of float) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:31 texture ( global 4-component vector of float) +0:31 'sampler' ( uniform sampler2D) +0:31 'coord' ( smooth in 2-component vector of float) 0:30 false case -0:33 move second child to first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:33 texture (global 4-component vector of float) -0:33 'sampler' (uniform sampler2D) -0:33 vector-scale (temp 2-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:33 texture ( global 4-component vector of float) +0:33 'sampler' ( uniform sampler2D) +0:33 vector-scale ( temp 2-component vector of float) 0:33 Constant: 0:33 2.000000 -0:33 'coord' (smooth in 2-component vector of float) -0:35 Test condition and select (temp void) +0:33 'coord' ( smooth in 2-component vector of float) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 Compare Equal (temp bool) -0:35 'u' (smooth in 4-component vector of float) -0:35 'v' (temp 4-component vector of float) +0:35 Compare Equal ( temp bool) +0:35 'u' ( smooth in 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) 0:35 true case -0:36 vector scale second child into first child (temp 4-component vector of float) -0:36 'v' (temp 4-component vector of float) +0:36 vector scale second child into first child ( temp 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) 0:36 Constant: 0:36 3.000000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Not Equal (temp bool) -0:38 'u' (smooth in 4-component vector of float) -0:38 'v' (temp 4-component vector of float) +0:38 Compare Not Equal ( temp bool) +0:38 'u' ( smooth in 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) 0:38 true case -0:39 vector scale second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) +0:39 vector scale second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) 0:39 Constant: 0:39 4.000000 -0:41 Test condition and select (temp void) +0:41 Test condition and select ( temp void) 0:41 Condition -0:41 Compare Equal (temp bool) -0:41 'coord' (smooth in 2-component vector of float) -0:41 vector swizzle (temp 2-component vector of float) -0:41 'v' (temp 4-component vector of float) +0:41 Compare Equal ( temp bool) +0:41 'coord' ( smooth in 2-component vector of float) +0:41 vector swizzle ( temp 2-component vector of float) +0:41 'v' ( temp 4-component vector of float) 0:41 Sequence 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 3 (const int) 0:41 true case -0:42 vector scale second child into first child (temp 4-component vector of float) -0:42 'v' (temp 4-component vector of float) +0:42 vector scale second child into first child ( temp 4-component vector of float) +0:42 'v' ( temp 4-component vector of float) 0:42 Constant: 0:42 5.000000 -0:44 Test condition and select (temp void) +0:44 Test condition and select ( temp void) 0:44 Condition -0:44 Compare Equal (temp bool) -0:44 'a' (temp 3-element array of structure{global int i, global float f}) -0:44 'b' (temp 3-element array of structure{global int i, global float f}) +0:44 Compare Equal ( temp bool) +0:44 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:44 'b' ( temp 3-element array of structure{ global int i, global float f}) 0:44 true case -0:45 vector scale second child into first child (temp 4-component vector of float) -0:45 'v' (temp 4-component vector of float) +0:45 vector scale second child into first child ( temp 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) 0:45 Constant: 0:45 6.000000 -0:47 Test condition and select (temp void) +0:47 Test condition and select ( temp void) 0:47 Condition -0:47 Compare Not Equal (temp bool) -0:47 'a' (temp 3-element array of structure{global int i, global float f}) -0:47 'b' (temp 3-element array of structure{global int i, global float f}) +0:47 Compare Not Equal ( temp bool) +0:47 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:47 'b' ( temp 3-element array of structure{ global int i, global float f}) 0:47 true case -0:48 vector scale second child into first child (temp 4-component vector of float) -0:48 'v' (temp 4-component vector of float) +0:48 vector scale second child into first child ( temp 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) 0:48 Constant: 0:48 7.000000 -0:50 move second child to first child (temp 4-component vector of float) -0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:50 'v' (temp 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:50 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'u' (smooth in 4-component vector of float) -0:? 'w' (smooth in 4-component vector of float) -0:? 'foo1' (uniform structure{global int i, global float f}) -0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'u' ( smooth in 4-component vector of float) +0:? 'w' ( smooth in 4-component vector of float) +0:? 'foo1' ( uniform structure{ global int i, global float f}) +0:? 'foo2a' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo2b' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) Linked fragment stage: @@ -153,146 +153,146 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:23 Function Definition: main( (global void) +0:23 Function Definition: main( ( global void) 0:23 Function Parameters: 0:? Sequence -0:27 move second child to first child (temp 3-element array of structure{global int i, global float f}) -0:27 'a' (temp 3-element array of structure{global int i, global float f}) -0:27 Construct structure (temp 3-element array of structure{global int i, global float f}) -0:27 Construct structure (temp structure{global int i, global float f}) -0:27 Convert float to int (temp int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 move second child to first child ( temp 3-element array of structure{ global int i, global float f}) +0:27 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:27 Construct structure ( temp 3-element array of structure{ global int i, global float f}) +0:27 Construct structure ( temp structure{ global int i, global float f}) +0:27 Convert float to int ( temp int) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 0 (const int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 1 (const int) -0:27 Construct structure (temp structure{global int i, global float f}) -0:27 Convert float to int (temp int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 Construct structure ( temp structure{ global int i, global float f}) +0:27 Convert float to int ( temp int) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 2 (const int) -0:27 direct index (temp float) -0:27 'u' (smooth in 4-component vector of float) +0:27 direct index ( temp float) +0:27 'u' ( smooth in 4-component vector of float) 0:27 Constant: 0:27 3 (const int) 0:27 Constant: 0:27 14 (const int) 0:27 14.000000 -0:28 move second child to first child (temp 3-element array of structure{global int i, global float f}) -0:28 'b' (temp 3-element array of structure{global int i, global float f}) -0:28 Construct structure (temp 3-element array of structure{global int i, global float f}) +0:28 move second child to first child ( temp 3-element array of structure{ global int i, global float f}) +0:28 'b' ( temp 3-element array of structure{ global int i, global float f}) +0:28 Construct structure ( temp 3-element array of structure{ global int i, global float f}) 0:28 Constant: 0:28 17 (const int) 0:28 17.000000 -0:28 Construct structure (temp structure{global int i, global float f}) -0:28 Convert float to int (temp int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 Construct structure ( temp structure{ global int i, global float f}) +0:28 Convert float to int ( temp int) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 0 (const int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 1 (const int) -0:28 Construct structure (temp structure{global int i, global float f}) -0:28 Convert float to int (temp int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 Construct structure ( temp structure{ global int i, global float f}) +0:28 Convert float to int ( temp int) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 2 (const int) -0:28 direct index (temp float) -0:28 'w' (smooth in 4-component vector of float) +0:28 direct index ( temp float) +0:28 'w' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 3 (const int) -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Equal (temp bool) -0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:30 Compare Equal ( temp bool) +0:30 'foo2a' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:30 'foo2b' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:30 true case -0:31 move second child to first child (temp 4-component vector of float) -0:31 'v' (temp 4-component vector of float) -0:31 texture (global 4-component vector of float) -0:31 'sampler' (uniform sampler2D) -0:31 'coord' (smooth in 2-component vector of float) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'v' ( temp 4-component vector of float) +0:31 texture ( global 4-component vector of float) +0:31 'sampler' ( uniform sampler2D) +0:31 'coord' ( smooth in 2-component vector of float) 0:30 false case -0:33 move second child to first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) -0:33 texture (global 4-component vector of float) -0:33 'sampler' (uniform sampler2D) -0:33 vector-scale (temp 2-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) +0:33 texture ( global 4-component vector of float) +0:33 'sampler' ( uniform sampler2D) +0:33 vector-scale ( temp 2-component vector of float) 0:33 Constant: 0:33 2.000000 -0:33 'coord' (smooth in 2-component vector of float) -0:35 Test condition and select (temp void) +0:33 'coord' ( smooth in 2-component vector of float) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 Compare Equal (temp bool) -0:35 'u' (smooth in 4-component vector of float) -0:35 'v' (temp 4-component vector of float) +0:35 Compare Equal ( temp bool) +0:35 'u' ( smooth in 4-component vector of float) +0:35 'v' ( temp 4-component vector of float) 0:35 true case -0:36 vector scale second child into first child (temp 4-component vector of float) -0:36 'v' (temp 4-component vector of float) +0:36 vector scale second child into first child ( temp 4-component vector of float) +0:36 'v' ( temp 4-component vector of float) 0:36 Constant: 0:36 3.000000 -0:38 Test condition and select (temp void) +0:38 Test condition and select ( temp void) 0:38 Condition -0:38 Compare Not Equal (temp bool) -0:38 'u' (smooth in 4-component vector of float) -0:38 'v' (temp 4-component vector of float) +0:38 Compare Not Equal ( temp bool) +0:38 'u' ( smooth in 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) 0:38 true case -0:39 vector scale second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) +0:39 vector scale second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) 0:39 Constant: 0:39 4.000000 -0:41 Test condition and select (temp void) +0:41 Test condition and select ( temp void) 0:41 Condition -0:41 Compare Equal (temp bool) -0:41 'coord' (smooth in 2-component vector of float) -0:41 vector swizzle (temp 2-component vector of float) -0:41 'v' (temp 4-component vector of float) +0:41 Compare Equal ( temp bool) +0:41 'coord' ( smooth in 2-component vector of float) +0:41 vector swizzle ( temp 2-component vector of float) +0:41 'v' ( temp 4-component vector of float) 0:41 Sequence 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 3 (const int) 0:41 true case -0:42 vector scale second child into first child (temp 4-component vector of float) -0:42 'v' (temp 4-component vector of float) +0:42 vector scale second child into first child ( temp 4-component vector of float) +0:42 'v' ( temp 4-component vector of float) 0:42 Constant: 0:42 5.000000 -0:44 Test condition and select (temp void) +0:44 Test condition and select ( temp void) 0:44 Condition -0:44 Compare Equal (temp bool) -0:44 'a' (temp 3-element array of structure{global int i, global float f}) -0:44 'b' (temp 3-element array of structure{global int i, global float f}) +0:44 Compare Equal ( temp bool) +0:44 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:44 'b' ( temp 3-element array of structure{ global int i, global float f}) 0:44 true case -0:45 vector scale second child into first child (temp 4-component vector of float) -0:45 'v' (temp 4-component vector of float) +0:45 vector scale second child into first child ( temp 4-component vector of float) +0:45 'v' ( temp 4-component vector of float) 0:45 Constant: 0:45 6.000000 -0:47 Test condition and select (temp void) +0:47 Test condition and select ( temp void) 0:47 Condition -0:47 Compare Not Equal (temp bool) -0:47 'a' (temp 3-element array of structure{global int i, global float f}) -0:47 'b' (temp 3-element array of structure{global int i, global float f}) +0:47 Compare Not Equal ( temp bool) +0:47 'a' ( temp 3-element array of structure{ global int i, global float f}) +0:47 'b' ( temp 3-element array of structure{ global int i, global float f}) 0:47 true case -0:48 vector scale second child into first child (temp 4-component vector of float) -0:48 'v' (temp 4-component vector of float) +0:48 vector scale second child into first child ( temp 4-component vector of float) +0:48 'v' ( temp 4-component vector of float) 0:48 Constant: 0:48 7.000000 -0:50 move second child to first child (temp 4-component vector of float) -0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:50 'v' (temp 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:50 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'u' (smooth in 4-component vector of float) -0:? 'w' (smooth in 4-component vector of float) -0:? 'foo1' (uniform structure{global int i, global float f}) -0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'u' ( smooth in 4-component vector of float) +0:? 'w' ( smooth in 4-component vector of float) +0:? 'foo1' ( uniform structure{ global int i, global float f}) +0:? 'foo2a' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo2b' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard.frag.out index e1eeae3e6cf..17cd443ec82 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard.frag.out @@ -1,36 +1,36 @@ always-discard.frag Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -38,12 +38,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -51,70 +51,70 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Sequence -0:14 move second child to first child (temp float) -0:14 'radius' (temp float) -0:14 sqrt (global float) -0:14 add (temp float) -0:14 component-wise multiply (temp float) -0:14 'x' (temp float) -0:14 'x' (temp float) -0:14 component-wise multiply (temp float) -0:14 'y' (temp float) -0:14 'y' (temp float) -0:15 Test condition and select (temp void) +0:14 move second child to first child ( temp float) +0:14 'radius' ( temp float) +0:14 sqrt ( global float) +0:14 add ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'x' ( temp float) +0:14 'x' ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'y' ( temp float) +0:14 'y' ( temp float) +0:15 Test condition and select ( temp void) 0:15 Condition -0:15 Compare Greater Than (temp bool) -0:15 'radius' (temp float) +0:15 Compare Greater Than ( temp bool) +0:15 'radius' ( temp float) 0:15 Constant: 0:15 1.000000 0:15 true case 0:16 Sequence -0:16 Test condition and select (temp void) +0:16 Test condition and select ( temp void) 0:16 Condition -0:16 Compare Greater Than (temp bool) -0:16 'radius' (temp float) +0:16 Compare Greater Than ( temp bool) +0:16 'radius' ( temp float) 0:16 Constant: 0:16 1.100000 0:16 true case 0:17 Sequence -0:17 Pre-Increment (temp 4-component vector of float) -0:17 'color' (temp 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 'color' (temp 4-component vector of float) -0:22 Test condition and select (temp void) +0:17 Pre-Increment ( temp 4-component vector of float) +0:17 'color' ( temp 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 'color' ( temp 4-component vector of float) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Greater Than (temp bool) -0:22 'radius' (temp float) +0:22 Compare Greater Than ( temp bool) +0:22 'radius' ( temp float) 0:22 Constant: 0:22 1.200000 0:22 true case 0:23 Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'color' (temp 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'color' ( temp 4-component vector of float) 0:28 Branch: Kill -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Greater Than or Equal (temp bool) -0:31 'radius' (temp float) +0:31 Compare Greater Than or Equal ( temp bool) +0:31 'radius' ( temp float) 0:31 Constant: 0:31 0.750000 0:31 true case -0:32 subtract second child into first child (temp 4-component vector of float) -0:32 'color' (temp 4-component vector of float) -0:32 Absolute value (global float) -0:32 divide (temp float) -0:32 pow (global float) -0:32 'radius' (temp float) +0:32 subtract second child into first child ( temp 4-component vector of float) +0:32 'color' ( temp 4-component vector of float) +0:32 Absolute value ( global float) +0:32 divide ( temp float) +0:32 pow ( global float) +0:32 'radius' ( temp float) 0:32 Constant: 0:32 16.000000 0:32 Constant: 0:32 2.000000 -0:34 move second child to first child (temp 4-component vector of float) -0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:34 'color' (temp 4-component vector of float) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:34 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) Linked fragment stage: @@ -122,36 +122,36 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -159,12 +159,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -172,68 +172,68 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Sequence -0:14 move second child to first child (temp float) -0:14 'radius' (temp float) -0:14 sqrt (global float) -0:14 add (temp float) -0:14 component-wise multiply (temp float) -0:14 'x' (temp float) -0:14 'x' (temp float) -0:14 component-wise multiply (temp float) -0:14 'y' (temp float) -0:14 'y' (temp float) -0:15 Test condition and select (temp void) +0:14 move second child to first child ( temp float) +0:14 'radius' ( temp float) +0:14 sqrt ( global float) +0:14 add ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'x' ( temp float) +0:14 'x' ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'y' ( temp float) +0:14 'y' ( temp float) +0:15 Test condition and select ( temp void) 0:15 Condition -0:15 Compare Greater Than (temp bool) -0:15 'radius' (temp float) +0:15 Compare Greater Than ( temp bool) +0:15 'radius' ( temp float) 0:15 Constant: 0:15 1.000000 0:15 true case 0:16 Sequence -0:16 Test condition and select (temp void) +0:16 Test condition and select ( temp void) 0:16 Condition -0:16 Compare Greater Than (temp bool) -0:16 'radius' (temp float) +0:16 Compare Greater Than ( temp bool) +0:16 'radius' ( temp float) 0:16 Constant: 0:16 1.100000 0:16 true case 0:17 Sequence -0:17 Pre-Increment (temp 4-component vector of float) -0:17 'color' (temp 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 'color' (temp 4-component vector of float) -0:22 Test condition and select (temp void) +0:17 Pre-Increment ( temp 4-component vector of float) +0:17 'color' ( temp 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 'color' ( temp 4-component vector of float) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Greater Than (temp bool) -0:22 'radius' (temp float) +0:22 Compare Greater Than ( temp bool) +0:22 'radius' ( temp float) 0:22 Constant: 0:22 1.200000 0:22 true case 0:23 Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'color' (temp 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'color' ( temp 4-component vector of float) 0:28 Branch: Kill -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Greater Than or Equal (temp bool) -0:31 'radius' (temp float) +0:31 Compare Greater Than or Equal ( temp bool) +0:31 'radius' ( temp float) 0:31 Constant: 0:31 0.750000 0:31 true case -0:32 subtract second child into first child (temp 4-component vector of float) -0:32 'color' (temp 4-component vector of float) -0:32 Absolute value (global float) -0:32 divide (temp float) -0:32 pow (global float) -0:32 'radius' (temp float) +0:32 subtract second child into first child ( temp 4-component vector of float) +0:32 'color' ( temp 4-component vector of float) +0:32 Absolute value ( global float) +0:32 divide ( temp float) +0:32 pow ( global float) +0:32 'radius' ( temp float) 0:32 Constant: 0:32 16.000000 0:32 Constant: 0:32 2.000000 -0:34 move second child to first child (temp 4-component vector of float) -0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:34 'color' (temp 4-component vector of float) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:34 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard2.frag.out index 72f21d2f00e..3c7c06f3743 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/always-discard2.frag.out @@ -1,36 +1,36 @@ always-discard2.frag Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -38,12 +38,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -51,11 +51,11 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Branch: Kill -0:17 move second child to first child (temp 4-component vector of float) -0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:17 'color' (temp 4-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:17 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) Linked fragment stage: @@ -63,36 +63,36 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -100,12 +100,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -113,9 +113,9 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Branch: Kill -0:17 move second child to first child (temp 4-component vector of float) -0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:17 'color' (temp 4-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:17 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array.frag.out index e254bf1397f..f41f0afedbb 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array.frag.out @@ -1,137 +1,137 @@ array.frag ERROR: 0:21: '[' : array index out of range '2' ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable -ERROR: 0:30: 'assign' : cannot convert from 'global 4-element array of float' to 'global 5-element array of float' -ERROR: 0:31: 'assign' : cannot convert from 'global 4-element array of float' to 'global implicitly-sized array of float' +ERROR: 0:30: 'assign' : cannot convert from ' global 4-element array of float' to ' global 5-element array of float' +ERROR: 0:31: 'assign' : cannot convert from ' global 4-element array of float' to ' global implicitly-sized array of float' ERROR: 0:33: 'foo' : no matching overloaded function found ERROR: 0:42: '[' : array index out of range '5' ERROR: 0:45: '[' : array index out of range '1000' ERROR: 0:46: '[' : index out of range '-1' ERROR: 0:52: '[' : array index out of range '2' ERROR: 0:54: 'const' : non-matching or non-convertible constant type for const initializer -ERROR: 0:56: '=' : cannot convert from 'const 2-element array of int' to 'temp 3-element array of int' +ERROR: 0:56: '=' : cannot convert from ' const 2-element array of int' to ' temp 3-element array of int' ERROR: 0:57: '[]' : scalar integer expression required ERROR: 0:57: '[' : index out of range '-858993459' ERROR: 0:58: '[]' : scalar integer expression required ERROR: 0:61: '' : array size required ERROR: 0:62: '' : array size required ERROR: 0:63: '' : array size required -ERROR: 0:66: '=' : cannot convert from 'temp 3-component vector of float' to 'global float' +ERROR: 0:66: '=' : cannot convert from ' temp 3-component vector of float' to ' global float' ERROR: 0:76: 'bar' : no matching overloaded function found ERROR: 0:79: '' : array size required ERROR: 0:84: 'return' : type does not match, or is not convertible to, the function's return type ERROR: 0:93: 'length' : array must be declared with a size before using this method ERROR: 0:101: '[' : array index out of range '5' ERROR: 0:104: 'constructor' : array constructor must have at least one argument -ERROR: 0:104: '=' : cannot convert from 'const float' to 'global implicitly-sized array of int' +ERROR: 0:104: '=' : cannot convert from ' const float' to ' global implicitly-sized array of int' ERROR: 0:106: 'constructor' : array argument must be sized ERROR: 26 compilation errors. No code generated. Shader version: 130 ERROR: node is still EOpNull! -0:9 Function Definition: foo(f1[5]; (global 4-element array of float) +0:9 Function Definition: foo(f1[5]; ( global 4-element array of float) 0:9 Function Parameters: -0:9 'a' (in 5-element array of float) +0:9 'a' ( in 5-element array of float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 Construct float (temp 4-element array of float) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 Construct float ( temp 4-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 1 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 2 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 3 (const int) -0:14 Function Definition: bar(f1[5]; (global void) +0:14 Function Definition: bar(f1[5]; ( global void) 0:14 Function Parameters: -0:14 '' (in 5-element array of float) -0:16 Function Definition: main( (global void) +0:14 '' ( in 5-element array of float) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:? Sequence -0:21 move second child to first child (temp float) -0:21 direct index (temp float) -0:21 'gu' (temp 2-element array of float) +0:21 move second child to first child ( temp float) +0:21 direct index ( temp float) +0:21 'gu' ( temp 2-element array of float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4.000000 -0:24 move second child to first child (temp float) -0:24 direct index (temp float) -0:24 'gu' (global implicitly-sized array of float) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 'gu' ( global implicitly-sized array of float) 0:24 Constant: 0:24 2 (const int) 0:24 Constant: 0:24 4.000000 -0:26 move second child to first child (temp float) -0:26 direct index (temp float) -0:26 'gu' (global implicitly-sized array of float) +0:26 move second child to first child ( temp float) +0:26 direct index ( temp float) +0:26 'gu' ( global implicitly-sized array of float) 0:26 Constant: 0:26 3 (const int) 0:26 Constant: 0:26 3.000000 -0:27 move second child to first child (temp float) -0:27 indirect index (temp float) -0:27 'gu' (global implicitly-sized array of float) -0:27 'a' (uniform int) +0:27 move second child to first child ( temp float) +0:27 indirect index ( temp float) +0:27 'gu' ( global implicitly-sized array of float) +0:27 'a' ( uniform int) 0:27 Constant: 0:27 5.000000 -0:29 move second child to first child (temp 4-element array of float) -0:29 'g4' (global 4-element array of float) -0:29 Function Call: foo(f1[5]; (global 4-element array of float) -0:29 'g5' (global 5-element array of float) -0:30 'g5' (global 5-element array of float) -0:31 'gu' (global implicitly-sized array of float) +0:29 move second child to first child ( temp 4-element array of float) +0:29 'g4' ( global 4-element array of float) +0:29 Function Call: foo(f1[5]; ( global 4-element array of float) +0:29 'g5' ( global 5-element array of float) +0:30 'g5' ( global 5-element array of float) +0:31 'gu' ( global implicitly-sized array of float) 0:33 Constant: 0:33 0.000000 -0:34 Function Call: bar(f1[5]; (global void) -0:34 'g5' (global 5-element array of float) -0:36 Test condition and select (temp void) +0:34 Function Call: bar(f1[5]; ( global void) +0:34 'g5' ( global 5-element array of float) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Equal (temp bool) +0:36 Compare Equal ( temp bool) 0:36 Constant: 0:36 1.000000 0:36 2.000000 0:36 3.000000 0:36 4.000000 -0:36 'g4' (global 4-element array of float) +0:36 'g4' ( global 4-element array of float) 0:36 true case -0:37 move second child to first child (temp float) -0:37 direct index (temp float) -0:37 'gu' (global implicitly-sized array of float) +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 'gu' ( global implicitly-sized array of float) 0:37 Constant: 0:37 0 (const int) 0:37 Constant: 0:37 2.000000 -0:40 move second child to first child (temp float) -0:40 direct index (temp float) -0:40 'u' (temp 5-element array of float) +0:40 move second child to first child ( temp float) +0:40 direct index ( temp float) +0:40 'u' ( temp 5-element array of float) 0:40 Constant: 0:40 2 (const int) 0:40 Constant: 0:40 3.000000 -0:42 move second child to first child (temp float) -0:42 direct index (temp float) -0:42 'u' (temp 5-element array of float) +0:42 move second child to first child ( temp float) +0:42 direct index ( temp float) +0:42 'u' ( temp 5-element array of float) 0:42 Constant: 0:42 5 (const int) 0:42 Constant: 0:42 5.000000 -0:43 Function Call: foo(f1[5]; (global 4-element array of float) -0:43 'u' (temp 5-element array of float) -0:45 move second child to first child (temp 4-component vector of float) -0:45 direct index (temp 4-component vector of float FragData) -0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:43 Function Call: foo(f1[5]; ( global 4-element array of float) +0:43 'u' ( temp 5-element array of float) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 direct index ( temp 4-component vector of float FragData) +0:45 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:45 Constant: 0:45 1000 (const int) 0:45 Constant: @@ -139,9 +139,9 @@ ERROR: node is still EOpNull! 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 direct index (temp 4-component vector of float FragData) -0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 direct index ( temp 4-component vector of float FragData) +0:46 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:46 Constant: 0:46 -1 (const int) 0:46 Constant: @@ -149,9 +149,9 @@ ERROR: node is still EOpNull! 0:46 1.000000 0:46 1.000000 0:46 1.000000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 direct index (temp 4-component vector of float FragData) -0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 direct index ( temp 4-component vector of float FragData) +0:47 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:47 Constant: 0:47 3 (const int) 0:47 Constant: @@ -160,60 +160,60 @@ ERROR: node is still EOpNull! 0:47 1.000000 0:47 1.000000 0:50 Sequence -0:50 move second child to first child (temp int) -0:50 'sum' (temp int) +0:50 move second child to first child ( temp int) +0:50 'sum' ( temp int) 0:50 Constant: 0:50 3 (const int) -0:51 add second child into first child (temp int) -0:51 'sum' (temp int) +0:51 add second child into first child ( temp int) +0:51 'sum' ( temp int) 0:51 Constant: 0:51 2 (const int) -0:52 add second child into first child (temp int) -0:52 'sum' (temp int) +0:52 add second child into first child ( temp int) +0:52 'sum' ( temp int) 0:52 Constant: 0:52 2 (const int) 0:55 Sequence -0:55 move second child to first child (temp 2-element array of int) -0:55 'ica' (temp 2-element array of int) +0:55 move second child to first child ( temp 2-element array of int) +0:55 'ica' ( temp 2-element array of int) 0:55 Constant: 0:55 3 (const int) 0:55 2 (const int) -0:57 move second child to first child (temp int) -0:57 direct index (temp int) -0:57 'ica' (temp 2-element array of int) +0:57 move second child to first child ( temp int) +0:57 direct index ( temp int) +0:57 'ica' ( temp 2-element array of int) 0:57 Constant: 0:57 3.100000 0:57 Constant: 0:57 3 (const int) -0:58 move second child to first child (temp int) -0:58 indirect index (temp int) -0:58 'ica' (temp 2-element array of int) -0:58 direct index (temp float) -0:58 'u' (temp 5-element array of float) +0:58 move second child to first child ( temp int) +0:58 indirect index ( temp int) +0:58 'ica' ( temp 2-element array of int) +0:58 direct index ( temp float) +0:58 'u' ( temp 5-element array of float) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 4 (const int) -0:68 Function Definition: foo( (global void) +0:68 Function Definition: foo( ( global void) 0:68 Function Parameters: 0:? Sequence -0:71 move second child to first child (temp int) -0:71 direct index (temp int) -0:71 'uns' (temp implicitly-sized array of int) +0:71 move second child to first child ( temp int) +0:71 direct index ( temp int) +0:71 'uns' ( temp implicitly-sized array of int) 0:71 Constant: 0:71 3 (const int) 0:71 Constant: 0:71 40 (const int) -0:72 move second child to first child (temp int) -0:72 direct index (temp int) -0:72 'uns' (temp implicitly-sized array of int) +0:72 move second child to first child ( temp int) +0:72 direct index ( temp int) +0:72 'uns' ( temp implicitly-sized array of int) 0:72 Constant: 0:72 1 (const int) 0:72 Constant: 0:72 30 (const int) -0:73 move second child to first child (temp 3-component vector of float) -0:73 direct index (temp 3-component vector of float) -0:73 'guns' (global implicitly-sized array of 3-component vector of float) +0:73 move second child to first child ( temp 3-component vector of float) +0:73 direct index ( temp 3-component vector of float) +0:73 'guns' ( global implicitly-sized array of 3-component vector of float) 0:73 Constant: 0:73 2 (const int) 0:73 Constant: @@ -222,19 +222,19 @@ ERROR: node is still EOpNull! 0:73 2.400000 0:76 Constant: 0:76 0.000000 -0:79 Function Definition: foo2( (global implicitly-sized array of float) +0:79 Function Definition: foo2( ( global implicitly-sized array of float) 0:79 Function Parameters: 0:? Sequence 0:82 Branch: Return with expression -0:82 'f' (temp implicitly-sized array of float) +0:82 'f' ( temp implicitly-sized array of float) 0:84 Branch: Return with expression -0:84 'g' (temp 9-element array of float) -0:89 Function Definition: foo3( (global void) +0:84 'g' ( temp 9-element array of float) +0:89 Function Definition: foo3( ( global void) 0:89 Function Parameters: 0:? Sequence -0:92 move second child to first child (temp float) -0:92 direct index (temp float) -0:92 'resize1' (temp 3-element array of float) +0:92 move second child to first child ( temp float) +0:92 direct index ( temp float) +0:92 'resize1' ( temp 3-element array of float) 0:92 Constant: 0:92 2 (const int) 0:92 Constant: @@ -243,38 +243,38 @@ ERROR: node is still EOpNull! 0:93 1 (const int) 0:95 Constant: 0:95 3 (const int) -0:98 move second child to first child (temp float) -0:98 direct index (temp float) -0:98 'resize2' (temp 5-element array of float) +0:98 move second child to first child ( temp float) +0:98 direct index ( temp float) +0:98 'resize2' ( temp 5-element array of float) 0:98 Constant: 0:98 5 (const int) 0:98 Constant: 0:98 4.000000 0:100 Constant: 0:100 5 (const int) -0:101 move second child to first child (temp float) -0:101 direct index (temp float) -0:101 'resize2' (temp 5-element array of float) +0:101 move second child to first child ( temp float) +0:101 direct index ( temp float) +0:101 'resize2' ( temp 5-element array of float) 0:101 Constant: 0:101 5 (const int) 0:101 Constant: 0:101 4.000000 0:106 Sequence -0:106 move second child to first child (temp float) -0:106 'b' (global float) +0:106 move second child to first child ( temp float) +0:106 'b' ( global float) 0:106 Constant: 0:106 0.000000 0:? Linker Objects -0:? 'gu' (global implicitly-sized array of float) -0:? 'g4' (global 4-element array of float) -0:? 'g5' (global 5-element array of float) -0:? 'a' (uniform int) -0:? 'guns' (global implicitly-sized array of 3-component vector of float) -0:? 'f' (global float) -0:? 'gUnusedUnsized' (global implicitly-sized array of float) -0:? 'i' (global implicitly-sized array of int) -0:? 'emptyA' (global implicitly-sized array of float) -0:? 'b' (global float) +0:? 'gu' ( global implicitly-sized array of float) +0:? 'g4' ( global 4-element array of float) +0:? 'g5' ( global 5-element array of float) +0:? 'a' ( uniform int) +0:? 'guns' ( global implicitly-sized array of 3-component vector of float) +0:? 'f' ( global float) +0:? 'gUnusedUnsized' ( global implicitly-sized array of float) +0:? 'i' ( global implicitly-sized array of int) +0:? 'emptyA' ( global implicitly-sized array of float) +0:? 'b' ( global float) Linked fragment stage: @@ -282,108 +282,108 @@ Linked fragment stage: Shader version: 130 ERROR: node is still EOpNull! -0:9 Function Definition: foo(f1[5]; (global 4-element array of float) +0:9 Function Definition: foo(f1[5]; ( global 4-element array of float) 0:9 Function Parameters: -0:9 'a' (in 5-element array of float) +0:9 'a' ( in 5-element array of float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 Construct float (temp 4-element array of float) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 Construct float ( temp 4-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 1 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 2 (const int) -0:11 direct index (temp float) -0:11 'a' (in 5-element array of float) +0:11 direct index ( temp float) +0:11 'a' ( in 5-element array of float) 0:11 Constant: 0:11 3 (const int) -0:14 Function Definition: bar(f1[5]; (global void) +0:14 Function Definition: bar(f1[5]; ( global void) 0:14 Function Parameters: -0:14 '' (in 5-element array of float) -0:16 Function Definition: main( (global void) +0:14 '' ( in 5-element array of float) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:? Sequence -0:21 move second child to first child (temp float) -0:21 direct index (temp float) -0:21 'gu' (temp 2-element array of float) +0:21 move second child to first child ( temp float) +0:21 direct index ( temp float) +0:21 'gu' ( temp 2-element array of float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4.000000 -0:24 move second child to first child (temp float) -0:24 direct index (temp float) -0:24 'gu' (global 4-element array of float) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 'gu' ( global 4-element array of float) 0:24 Constant: 0:24 2 (const int) 0:24 Constant: 0:24 4.000000 -0:26 move second child to first child (temp float) -0:26 direct index (temp float) -0:26 'gu' (global 4-element array of float) +0:26 move second child to first child ( temp float) +0:26 direct index ( temp float) +0:26 'gu' ( global 4-element array of float) 0:26 Constant: 0:26 3 (const int) 0:26 Constant: 0:26 3.000000 -0:27 move second child to first child (temp float) -0:27 indirect index (temp float) -0:27 'gu' (global 4-element array of float) -0:27 'a' (uniform int) +0:27 move second child to first child ( temp float) +0:27 indirect index ( temp float) +0:27 'gu' ( global 4-element array of float) +0:27 'a' ( uniform int) 0:27 Constant: 0:27 5.000000 -0:29 move second child to first child (temp 4-element array of float) -0:29 'g4' (global 4-element array of float) -0:29 Function Call: foo(f1[5]; (global 4-element array of float) -0:29 'g5' (global 5-element array of float) -0:30 'g5' (global 5-element array of float) -0:31 'gu' (global 4-element array of float) +0:29 move second child to first child ( temp 4-element array of float) +0:29 'g4' ( global 4-element array of float) +0:29 Function Call: foo(f1[5]; ( global 4-element array of float) +0:29 'g5' ( global 5-element array of float) +0:30 'g5' ( global 5-element array of float) +0:31 'gu' ( global 4-element array of float) 0:33 Constant: 0:33 0.000000 -0:34 Function Call: bar(f1[5]; (global void) -0:34 'g5' (global 5-element array of float) -0:36 Test condition and select (temp void) +0:34 Function Call: bar(f1[5]; ( global void) +0:34 'g5' ( global 5-element array of float) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Equal (temp bool) +0:36 Compare Equal ( temp bool) 0:36 Constant: 0:36 1.000000 0:36 2.000000 0:36 3.000000 0:36 4.000000 -0:36 'g4' (global 4-element array of float) +0:36 'g4' ( global 4-element array of float) 0:36 true case -0:37 move second child to first child (temp float) -0:37 direct index (temp float) -0:37 'gu' (global 4-element array of float) +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 'gu' ( global 4-element array of float) 0:37 Constant: 0:37 0 (const int) 0:37 Constant: 0:37 2.000000 -0:40 move second child to first child (temp float) -0:40 direct index (temp float) -0:40 'u' (temp 5-element array of float) +0:40 move second child to first child ( temp float) +0:40 direct index ( temp float) +0:40 'u' ( temp 5-element array of float) 0:40 Constant: 0:40 2 (const int) 0:40 Constant: 0:40 3.000000 -0:42 move second child to first child (temp float) -0:42 direct index (temp float) -0:42 'u' (temp 5-element array of float) +0:42 move second child to first child ( temp float) +0:42 direct index ( temp float) +0:42 'u' ( temp 5-element array of float) 0:42 Constant: 0:42 5 (const int) 0:42 Constant: 0:42 5.000000 -0:43 Function Call: foo(f1[5]; (global 4-element array of float) -0:43 'u' (temp 5-element array of float) -0:45 move second child to first child (temp 4-component vector of float) -0:45 direct index (temp 4-component vector of float FragData) -0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:43 Function Call: foo(f1[5]; ( global 4-element array of float) +0:43 'u' ( temp 5-element array of float) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 direct index ( temp 4-component vector of float FragData) +0:45 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:45 Constant: 0:45 1000 (const int) 0:45 Constant: @@ -391,9 +391,9 @@ ERROR: node is still EOpNull! 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 direct index (temp 4-component vector of float FragData) -0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 direct index ( temp 4-component vector of float FragData) +0:46 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:46 Constant: 0:46 -1 (const int) 0:46 Constant: @@ -401,9 +401,9 @@ ERROR: node is still EOpNull! 0:46 1.000000 0:46 1.000000 0:46 1.000000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 direct index (temp 4-component vector of float FragData) -0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 direct index ( temp 4-component vector of float FragData) +0:47 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:47 Constant: 0:47 3 (const int) 0:47 Constant: @@ -412,54 +412,54 @@ ERROR: node is still EOpNull! 0:47 1.000000 0:47 1.000000 0:50 Sequence -0:50 move second child to first child (temp int) -0:50 'sum' (temp int) +0:50 move second child to first child ( temp int) +0:50 'sum' ( temp int) 0:50 Constant: 0:50 3 (const int) -0:51 add second child into first child (temp int) -0:51 'sum' (temp int) +0:51 add second child into first child ( temp int) +0:51 'sum' ( temp int) 0:51 Constant: 0:51 2 (const int) -0:52 add second child into first child (temp int) -0:52 'sum' (temp int) +0:52 add second child into first child ( temp int) +0:52 'sum' ( temp int) 0:52 Constant: 0:52 2 (const int) 0:55 Sequence -0:55 move second child to first child (temp 2-element array of int) -0:55 'ica' (temp 2-element array of int) +0:55 move second child to first child ( temp 2-element array of int) +0:55 'ica' ( temp 2-element array of int) 0:55 Constant: 0:55 3 (const int) 0:55 2 (const int) -0:57 move second child to first child (temp int) -0:57 direct index (temp int) -0:57 'ica' (temp 2-element array of int) +0:57 move second child to first child ( temp int) +0:57 direct index ( temp int) +0:57 'ica' ( temp 2-element array of int) 0:57 Constant: 0:57 3.100000 0:57 Constant: 0:57 3 (const int) -0:58 move second child to first child (temp int) -0:58 indirect index (temp int) -0:58 'ica' (temp 2-element array of int) -0:58 direct index (temp float) -0:58 'u' (temp 5-element array of float) +0:58 move second child to first child ( temp int) +0:58 indirect index ( temp int) +0:58 'ica' ( temp 2-element array of int) +0:58 direct index ( temp float) +0:58 'u' ( temp 5-element array of float) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 4 (const int) 0:106 Sequence -0:106 move second child to first child (temp float) -0:106 'b' (global float) +0:106 move second child to first child ( temp float) +0:106 'b' ( global float) 0:106 Constant: 0:106 0.000000 0:? Linker Objects -0:? 'gu' (global 4-element array of float) -0:? 'g4' (global 4-element array of float) -0:? 'g5' (global 5-element array of float) -0:? 'a' (uniform int) -0:? 'guns' (global 8-element array of 3-component vector of float) -0:? 'f' (global float) -0:? 'gUnusedUnsized' (global 1-element array of float) -0:? 'i' (global 1-element array of int) -0:? 'emptyA' (global 1-element array of float) -0:? 'b' (global float) +0:? 'gu' ( global 4-element array of float) +0:? 'g4' ( global 4-element array of float) +0:? 'g5' ( global 5-element array of float) +0:? 'a' ( uniform int) +0:? 'guns' ( global 8-element array of 3-component vector of float) +0:? 'f' ( global float) +0:? 'gUnusedUnsized' ( global 1-element array of float) +0:? 'i' ( global 1-element array of int) +0:? 'emptyA' ( global 1-element array of float) +0:? 'b' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array100.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array100.frag.out index cf54361420e..b99d8174392 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array100.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/array100.frag.out @@ -8,9 +8,9 @@ ERROR: 0:11: 'arrayed constructor' : not supported for this version or the enabl ERROR: 0:21: '[' : array index out of range '2' ERROR: 0:24: 'array assignment' : not supported for this version or the enabled extensions ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions -ERROR: 0:25: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global 5-element array of mediump float' +ERROR: 0:25: 'assign' : cannot convert from ' global 4-element array of mediump float' to ' global 5-element array of mediump float' ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions -ERROR: 0:26: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global implicitly-sized array of mediump float' +ERROR: 0:26: 'assign' : cannot convert from ' global 4-element array of mediump float' to ' global implicitly-sized array of mediump float' ERROR: 0:28: 'foo' : no matching overloaded function found ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions @@ -26,81 +26,81 @@ ERROR: 22 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! -0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float) +0:9 Function Definition: foo(f1[5]; ( global 4-element array of mediump float) 0:9 Function Parameters: -0:9 'a' (in 5-element array of mediump float) +0:9 'a' ( in 5-element array of mediump float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 Construct float (temp 4-element array of float) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 Construct float ( temp 4-element array of float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 1 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 2 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 3 (const int) -0:14 Function Definition: bar(f1[5]; (global void) +0:14 Function Definition: bar(f1[5]; ( global void) 0:14 Function Parameters: -0:14 '' (in 5-element array of mediump float) -0:16 Function Definition: main( (global void) +0:14 '' ( in 5-element array of mediump float) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:? Sequence -0:21 move second child to first child (temp mediump float) -0:21 direct index (temp mediump float) -0:21 'gu' (temp 2-element array of mediump float) +0:21 move second child to first child ( temp mediump float) +0:21 direct index ( temp mediump float) +0:21 'gu' ( temp 2-element array of mediump float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4.000000 -0:24 move second child to first child (temp 4-element array of mediump float) -0:24 'g4' (global 4-element array of mediump float) -0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float) -0:24 'g5' (global 5-element array of mediump float) -0:25 'g5' (global 5-element array of mediump float) -0:26 'gu' (global implicitly-sized array of mediump float) +0:24 move second child to first child ( temp 4-element array of mediump float) +0:24 'g4' ( global 4-element array of mediump float) +0:24 Function Call: foo(f1[5]; ( global 4-element array of mediump float) +0:24 'g5' ( global 5-element array of mediump float) +0:25 'g5' ( global 5-element array of mediump float) +0:26 'gu' ( global implicitly-sized array of mediump float) 0:28 Constant: 0:28 0.000000 -0:29 Function Call: bar(f1[5]; (global void) -0:29 'g5' (global 5-element array of mediump float) -0:31 Test condition and select (temp void) +0:29 Function Call: bar(f1[5]; ( global void) +0:29 'g5' ( global 5-element array of mediump float) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Equal (temp bool) +0:31 Compare Equal ( temp bool) 0:31 Constant: 0:31 1.000000 0:31 2.000000 0:31 3.000000 0:31 4.000000 -0:31 'g4' (global 4-element array of mediump float) +0:31 'g4' ( global 4-element array of mediump float) 0:31 true case -0:32 move second child to first child (temp mediump float) -0:32 direct index (temp mediump float) -0:32 'gu' (global implicitly-sized array of mediump float) +0:32 move second child to first child ( temp mediump float) +0:32 direct index ( temp mediump float) +0:32 'gu' ( global implicitly-sized array of mediump float) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: 0:32 2.000000 -0:35 move second child to first child (temp mediump float) -0:35 direct index (temp mediump float) -0:35 'u' (temp 5-element array of mediump float) +0:35 move second child to first child ( temp mediump float) +0:35 direct index ( temp mediump float) +0:35 'u' ( temp 5-element array of mediump float) 0:35 Constant: 0:35 5 (const int) 0:35 Constant: 0:35 5.000000 -0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float) -0:36 'u' (temp 5-element array of mediump float) -0:38 move second child to first child (temp mediump 4-component vector of float) -0:38 direct index (temp mediump 4-component vector of float FragData) -0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:36 Function Call: foo(f1[5]; ( global 4-element array of mediump float) +0:36 'u' ( temp 5-element array of mediump float) +0:38 move second child to first child ( temp mediump 4-component vector of float) +0:38 direct index ( temp mediump 4-component vector of float FragData) +0:38 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:38 Constant: 0:38 1000 (const int) 0:38 Constant: @@ -108,9 +108,9 @@ ERROR: node is still EOpNull! 0:38 1.000000 0:38 1.000000 0:38 1.000000 -0:39 move second child to first child (temp mediump 4-component vector of float) -0:39 direct index (temp mediump 4-component vector of float FragData) -0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:39 move second child to first child ( temp mediump 4-component vector of float) +0:39 direct index ( temp mediump 4-component vector of float FragData) +0:39 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:39 Constant: 0:39 -1 (const int) 0:39 Constant: @@ -118,9 +118,9 @@ ERROR: node is still EOpNull! 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp mediump 4-component vector of float) -0:40 direct index (temp mediump 4-component vector of float FragData) -0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:40 move second child to first child ( temp mediump 4-component vector of float) +0:40 direct index ( temp mediump 4-component vector of float FragData) +0:40 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:40 Constant: 0:40 3 (const int) 0:40 Constant: @@ -128,34 +128,34 @@ ERROR: node is still EOpNull! 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:53 Function Definition: bar9( ( global structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) 0:53 Function Parameters: 0:? Sequence 0:56 Branch: Return with expression -0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void) +0:56 's' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; ( global void) 0:59 Function Parameters: -0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:63 Function Definition: bar11( (global void) +0:59 's' ( in structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:63 Function Definition: bar11( ( global void) 0:63 Function Parameters: 0:? Sequence -0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void) -0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:66 move second child to first child ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:66 's1' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:66 's2' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; ( global void) +0:67 's1' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:68 move second child to first child ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:68 's2' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:68 Function Call: bar9( ( global structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) 0:69 Sequence -0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) -0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:69 move second child to first child ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:69 'initSb' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) +0:69 's1' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa}) 0:? Linker Objects -0:? 'gu' (global implicitly-sized array of mediump float) -0:? 'g4' (global 4-element array of mediump float) -0:? 'g5' (global 5-element array of mediump float) -0:? 'a' (uniform mediump int) +0:? 'gu' ( global implicitly-sized array of mediump float) +0:? 'g4' ( global 4-element array of mediump float) +0:? 'g5' ( global 5-element array of mediump float) +0:? 'a' ( uniform mediump int) Linked fragment stage: @@ -163,81 +163,81 @@ Linked fragment stage: Shader version: 100 ERROR: node is still EOpNull! -0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float) +0:9 Function Definition: foo(f1[5]; ( global 4-element array of mediump float) 0:9 Function Parameters: -0:9 'a' (in 5-element array of mediump float) +0:9 'a' ( in 5-element array of mediump float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 Construct float (temp 4-element array of float) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 Construct float ( temp 4-element array of float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 1 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 2 (const int) -0:11 direct index (temp mediump float) -0:11 'a' (in 5-element array of mediump float) +0:11 direct index ( temp mediump float) +0:11 'a' ( in 5-element array of mediump float) 0:11 Constant: 0:11 3 (const int) -0:14 Function Definition: bar(f1[5]; (global void) +0:14 Function Definition: bar(f1[5]; ( global void) 0:14 Function Parameters: -0:14 '' (in 5-element array of mediump float) -0:16 Function Definition: main( (global void) +0:14 '' ( in 5-element array of mediump float) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:? Sequence -0:21 move second child to first child (temp mediump float) -0:21 direct index (temp mediump float) -0:21 'gu' (temp 2-element array of mediump float) +0:21 move second child to first child ( temp mediump float) +0:21 direct index ( temp mediump float) +0:21 'gu' ( temp 2-element array of mediump float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4.000000 -0:24 move second child to first child (temp 4-element array of mediump float) -0:24 'g4' (global 4-element array of mediump float) -0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float) -0:24 'g5' (global 5-element array of mediump float) -0:25 'g5' (global 5-element array of mediump float) -0:26 'gu' (global 1-element array of mediump float) +0:24 move second child to first child ( temp 4-element array of mediump float) +0:24 'g4' ( global 4-element array of mediump float) +0:24 Function Call: foo(f1[5]; ( global 4-element array of mediump float) +0:24 'g5' ( global 5-element array of mediump float) +0:25 'g5' ( global 5-element array of mediump float) +0:26 'gu' ( global 1-element array of mediump float) 0:28 Constant: 0:28 0.000000 -0:29 Function Call: bar(f1[5]; (global void) -0:29 'g5' (global 5-element array of mediump float) -0:31 Test condition and select (temp void) +0:29 Function Call: bar(f1[5]; ( global void) +0:29 'g5' ( global 5-element array of mediump float) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Equal (temp bool) +0:31 Compare Equal ( temp bool) 0:31 Constant: 0:31 1.000000 0:31 2.000000 0:31 3.000000 0:31 4.000000 -0:31 'g4' (global 4-element array of mediump float) +0:31 'g4' ( global 4-element array of mediump float) 0:31 true case -0:32 move second child to first child (temp mediump float) -0:32 direct index (temp mediump float) -0:32 'gu' (global 1-element array of mediump float) +0:32 move second child to first child ( temp mediump float) +0:32 direct index ( temp mediump float) +0:32 'gu' ( global 1-element array of mediump float) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: 0:32 2.000000 -0:35 move second child to first child (temp mediump float) -0:35 direct index (temp mediump float) -0:35 'u' (temp 5-element array of mediump float) +0:35 move second child to first child ( temp mediump float) +0:35 direct index ( temp mediump float) +0:35 'u' ( temp 5-element array of mediump float) 0:35 Constant: 0:35 5 (const int) 0:35 Constant: 0:35 5.000000 -0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float) -0:36 'u' (temp 5-element array of mediump float) -0:38 move second child to first child (temp mediump 4-component vector of float) -0:38 direct index (temp mediump 4-component vector of float FragData) -0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:36 Function Call: foo(f1[5]; ( global 4-element array of mediump float) +0:36 'u' ( temp 5-element array of mediump float) +0:38 move second child to first child ( temp mediump 4-component vector of float) +0:38 direct index ( temp mediump 4-component vector of float FragData) +0:38 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:38 Constant: 0:38 1000 (const int) 0:38 Constant: @@ -245,9 +245,9 @@ ERROR: node is still EOpNull! 0:38 1.000000 0:38 1.000000 0:38 1.000000 -0:39 move second child to first child (temp mediump 4-component vector of float) -0:39 direct index (temp mediump 4-component vector of float FragData) -0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:39 move second child to first child ( temp mediump 4-component vector of float) +0:39 direct index ( temp mediump 4-component vector of float FragData) +0:39 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:39 Constant: 0:39 -1 (const int) 0:39 Constant: @@ -255,9 +255,9 @@ ERROR: node is still EOpNull! 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp mediump 4-component vector of float) -0:40 direct index (temp mediump 4-component vector of float FragData) -0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData) +0:40 move second child to first child ( temp mediump 4-component vector of float) +0:40 direct index ( temp mediump 4-component vector of float FragData) +0:40 'gl_FragData' ( fragColor 32-element array of mediump 4-component vector of float FragData) 0:40 Constant: 0:40 3 (const int) 0:40 Constant: @@ -266,8 +266,8 @@ ERROR: node is still EOpNull! 0:40 1.000000 0:40 1.000000 0:? Linker Objects -0:? 'gu' (global 1-element array of mediump float) -0:? 'g4' (global 4-element array of mediump float) -0:? 'g5' (global 5-element array of mediump float) -0:? 'a' (uniform mediump int) +0:? 'gu' ( global 1-element array of mediump float) +0:? 'g4' ( global 4-element array of mediump float) +0:? 'g5' ( global 5-element array of mediump float) +0:? 'a' ( uniform mediump int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/atomic_uint.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/atomic_uint.frag.out index e54b5dcf1ed..e0ba0994b1f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/atomic_uint.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/atomic_uint.frag.out @@ -5,11 +5,11 @@ ERROR: 0:12: 'return' : type does not match, or is not convertible to, the funct ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings -ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' (or there is no acceptable conversion) -ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 offset=0 ) uniform atomic_uint (or there is no acceptable conversion) +ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( binding=0 offset=0) uniform atomic_uint' and a right operand of type 'layout( binding=0 offset=0) uniform atomic_uint' (or there is no acceptable conversion) +ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( binding=0 offset=0) uniform atomic_uint (or there is no acceptable conversion) ERROR: 0:31: '[]' : scalar integer expression required ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform) -ERROR: 0:34: 'assign' : cannot convert from 'const int' to 'layout(binding=0 offset=0 ) uniform atomic_uint' +ERROR: 0:34: 'assign' : cannot convert from ' const int' to 'layout( binding=0 offset=0) uniform atomic_uint' ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin ERROR: 0:37: 'atomic_uint' : layout(binding=X) is required ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg @@ -23,62 +23,62 @@ ERROR: 18 compilation errors. No code generated. Shader version: 420 ERROR: node is still EOpNull! -0:5 Function Definition: func(au1; (global uint) +0:5 Function Definition: func(au1; ( global uint) 0:5 Function Parameters: -0:5 'c' (in atomic_uint) +0:5 'c' ( in atomic_uint) 0:7 Sequence 0:7 Branch: Return with expression -0:7 AtomicCounterIncrement (global uint) -0:7 'c' (in atomic_uint) -0:10 Function Definition: func2(au1; (global uint) +0:7 AtomicCounterIncrement ( global uint) +0:7 'c' ( in atomic_uint) +0:10 Function Definition: func2(au1; ( global uint) 0:10 Function Parameters: -0:10 'c' (out atomic_uint) +0:10 'c' ( out atomic_uint) 0:12 Sequence 0:12 Branch: Return with expression -0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) +0:12 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:13 Branch: Return with expression -0:13 AtomicCounter (global uint) -0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:16 Function Definition: main( (global void) +0:13 AtomicCounter ( global uint) +0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:19 Sequence -0:19 move second child to first child (temp uint) -0:19 'val' (temp uint) -0:19 AtomicCounter (global uint) -0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:20 AtomicCounterDecrement (global uint) -0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:26 Function Definition: opac( (global void) +0:19 move second child to first child ( temp uint) +0:19 'val' ( temp uint) +0:19 AtomicCounter ( global uint) +0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:20 AtomicCounterDecrement ( global uint) +0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:26 Function Definition: opac( ( global void) 0:26 Function Parameters: 0:28 Sequence -0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:31 indirect index (temp int) -0:31 'a' (temp 3-element array of int) -0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint) -0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint) +0:28 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:29 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:31 indirect index ( temp int) +0:31 'a' ( temp 3-element array of int) +0:31 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:32 direct index (layout( binding=1 offset=3) temp atomic_uint) +0:32 'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint) 0:32 Constant: 0:32 2 (const int) -0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint) -0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint) -0:33 'i' (uniform int) -0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) +0:33 indirect index (layout( binding=1 offset=3) temp atomic_uint) +0:33 'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint) +0:33 'i' ( uniform int) +0:34 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:? Linker Objects -0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint) -0:? 'i' (uniform int) -0:? 'acin' (smooth in atomic_uint) -0:? 'acg' (global atomic_uint) -0:? 'aNoBind' (uniform atomic_uint) -0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint) -0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint) -0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint) -0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint) -0:? 'bar4' (layout(offset=8 ) uniform atomic_uint) -0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint) -0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint) +0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:? 'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint) +0:? 'i' ( uniform int) +0:? 'acin' ( smooth in atomic_uint) +0:? 'acg' ( global atomic_uint) +0:? 'aNoBind' ( uniform atomic_uint) +0:? 'aOffset' (layout( binding=0 offset=32) uniform atomic_uint) +0:? 'bar3' (layout( binding=0 offset=4) uniform atomic_uint) +0:? 'ac' (layout( binding=0 offset=8) uniform 3-element array of atomic_uint) +0:? 'ad' (layout( binding=0 offset=20) uniform atomic_uint) +0:? 'bar4' (layout( offset=8) uniform atomic_uint) +0:? 'overlap' (layout( binding=0 offset=12) uniform atomic_uint) +0:? 'bigBind' (layout( binding=20) uniform atomic_uint) Linked fragment stage: @@ -86,28 +86,28 @@ Linked fragment stage: Shader version: 420 ERROR: node is still EOpNull! -0:16 Function Definition: main( (global void) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:? Sequence 0:19 Sequence -0:19 move second child to first child (temp uint) -0:19 'val' (temp uint) -0:19 AtomicCounter (global uint) -0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:20 AtomicCounterDecrement (global uint) -0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) +0:19 move second child to first child ( temp uint) +0:19 'val' ( temp uint) +0:19 AtomicCounter ( global uint) +0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:20 AtomicCounterDecrement ( global uint) +0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint) 0:? Linker Objects -0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint) -0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint) -0:? 'i' (uniform int) -0:? 'acin' (smooth in atomic_uint) -0:? 'acg' (global atomic_uint) -0:? 'aNoBind' (uniform atomic_uint) -0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint) -0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint) -0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint) -0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint) -0:? 'bar4' (layout(offset=8 ) uniform atomic_uint) -0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint) -0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint) +0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint) +0:? 'countArr' (layout( binding=1 offset=3) uniform 4-element array of atomic_uint) +0:? 'i' ( uniform int) +0:? 'acin' ( smooth in atomic_uint) +0:? 'acg' ( global atomic_uint) +0:? 'aNoBind' ( uniform atomic_uint) +0:? 'aOffset' (layout( binding=0 offset=32) uniform atomic_uint) +0:? 'bar3' (layout( binding=0 offset=4) uniform atomic_uint) +0:? 'ac' (layout( binding=0 offset=8) uniform 3-element array of atomic_uint) +0:? 'ad' (layout( binding=0 offset=20) uniform atomic_uint) +0:? 'bar4' (layout( offset=8) uniform atomic_uint) +0:? 'overlap' (layout( binding=0 offset=12) uniform atomic_uint) +0:? 'bigBind' (layout( binding=20) uniform atomic_uint) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/badChars.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/badChars.frag.out index a29b22f59b1..de9af0dae4a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/badChars.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/badChars.frag.out @@ -4,15 +4,16 @@ ERROR: 0:1: '#if' : unexpected tokens following directive ERROR: 0:3: '#error' : A B ERROR: 0:4: 'preprocessor evaluation' : bad expression ERROR: 0:4: '#if' : unexpected tokens following directive -ERROR: 0:6: 'ÿ' : unexpected token +ERROR: 0:6: '€' : unexpected token +ERROR: 0:7: 'string' : End of line in string ERROR: 0:7: '' : syntax error -ERROR: 7 compilation errors. No code generated. +ERROR: 8 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'a' (global mediump int) +0:? 'a' ( global mediump int) Linked fragment stage: @@ -22,5 +23,5 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr Shader version: 100 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'a' (global mediump int) +0:? 'a' ( global mediump int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/comment.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/comment.frag.out index 1c876bb597e..57f2a1d0834 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/comment.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/comment.frag.out @@ -5,10 +5,10 @@ WARNING: 0:12: 'line continuation' : used at end of comment; the following line Shader version: 430 0:? Sequence -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:? Linker Objects -0:? 'v' (smooth in 4-component vector of float) +0:? 'v' ( smooth in 4-component vector of float) Linked fragment stage: @@ -16,8 +16,8 @@ Linked fragment stage: Shader version: 430 0:? Sequence -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:? Linker Objects -0:? 'v' (smooth in 4-component vector of float) +0:? 'v' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conditionalDiscard.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conditionalDiscard.frag.out index 169787f46c7..255d9c4deaf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conditionalDiscard.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conditionalDiscard.frag.out @@ -1,19 +1,19 @@ conditionalDiscard.frag Shader version: 110 0:? Sequence -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'v' (temp 4-component vector of float) -0:8 texture (global 4-component vector of float) -0:8 'tex' (uniform sampler2D) -0:8 'coord' (smooth in 2-component vector of float) -0:10 Test condition and select (temp void) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'v' ( temp 4-component vector of float) +0:8 texture ( global 4-component vector of float) +0:8 'tex' ( uniform sampler2D) +0:8 'coord' ( smooth in 2-component vector of float) +0:10 Test condition and select ( temp void) 0:10 Condition -0:10 Compare Equal (temp bool) -0:10 'v' (temp 4-component vector of float) +0:10 Compare Equal ( temp bool) +0:10 'v' ( temp 4-component vector of float) 0:10 Constant: 0:10 0.100000 0:10 0.200000 @@ -21,12 +21,12 @@ Shader version: 110 0:10 0.400000 0:10 true case 0:11 Branch: Kill -0:13 move second child to first child (temp 4-component vector of float) -0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:13 'v' (temp 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:13 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) +0:? 'tex' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) Linked fragment stage: @@ -34,19 +34,19 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'v' (temp 4-component vector of float) -0:8 texture (global 4-component vector of float) -0:8 'tex' (uniform sampler2D) -0:8 'coord' (smooth in 2-component vector of float) -0:10 Test condition and select (temp void) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'v' ( temp 4-component vector of float) +0:8 texture ( global 4-component vector of float) +0:8 'tex' ( uniform sampler2D) +0:8 'coord' ( smooth in 2-component vector of float) +0:10 Test condition and select ( temp void) 0:10 Condition -0:10 Compare Equal (temp bool) -0:10 'v' (temp 4-component vector of float) +0:10 Compare Equal ( temp bool) +0:10 'v' ( temp 4-component vector of float) 0:10 Constant: 0:10 0.100000 0:10 0.200000 @@ -54,10 +54,10 @@ Shader version: 110 0:10 0.400000 0:10 true case 0:11 Branch: Kill -0:13 move second child to first child (temp 4-component vector of float) -0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:13 'v' (temp 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:13 'v' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) +0:? 'tex' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constErrors.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constErrors.frag.out index f04c7369ff6..0b2dc62f8aa 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constErrors.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constErrors.frag.out @@ -3,29 +3,29 @@ ERROR: 0:14: 'non-constant initializer' : not supported for this version or the ERROR: 0:17: '' : array size must be a constant integer expression ERROR: 0:18: '' : array size must be a constant integer expression ERROR: 0:19: '' : array size must be a constant integer expression -ERROR: 0:27: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2}' -ERROR: 0:33: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}' +ERROR: 0:27: '=' : global const initializers must be constant ' const structure{ global 3-component vector of float v3, global 2-component vector of int iv2}' +ERROR: 0:33: '=' : global const initializers must be constant ' const structure{ global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}' ERROR: 6 compilation errors. No code generated. Shader version: 330 ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:? Sequence 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a3' (const (read only) int) -0:14 'uniformInt' (uniform int) +0:14 move second child to first child ( temp int) +0:14 'a3' ( const (read only) int) +0:14 'uniformInt' ( uniform int) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (out 4-component vector of float) -0:? 'constInt' (const int) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' ( out 4-component vector of float) +0:? 'constInt' ( const int) 0:? 3 (const int) -0:? 'uniformInt' (uniform int) -0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2}) -0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) -0:? 'f' (const float) +0:? 'uniformInt' ( uniform int) +0:? 's' ( temp structure{ global 3-component vector of float v3, global 2-component vector of int iv2}) +0:? 's2' ( temp structure{ global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) +0:? 'f' ( const float) 0:? 3.000000 @@ -34,21 +34,21 @@ Linked fragment stage: Shader version: 330 ERROR: node is still EOpNull! -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:? Sequence 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'a3' (const (read only) int) -0:14 'uniformInt' (uniform int) +0:14 move second child to first child ( temp int) +0:14 'a3' ( const (read only) int) +0:14 'uniformInt' ( uniform int) 0:? Linker Objects -0:? 'inVar' (smooth in 4-component vector of float) -0:? 'outVar' (out 4-component vector of float) -0:? 'constInt' (const int) +0:? 'inVar' ( smooth in 4-component vector of float) +0:? 'outVar' ( out 4-component vector of float) +0:? 'constInt' ( const int) 0:? 3 (const int) -0:? 'uniformInt' (uniform int) -0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2}) -0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) -0:? 'f' (const float) +0:? 'uniformInt' ( uniform int) +0:? 's' ( temp structure{ global 3-component vector of float v3, global 2-component vector of int iv2}) +0:? 's2' ( temp structure{ global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) +0:? 'f' ( const float) 0:? 3.000000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constFold.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constFold.frag.out index 33bf51306d2..8c014684377 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constFold.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/constFold.frag.out @@ -11,165 +11,165 @@ ERROR: 6 compilation errors. No code generated. Shader version: 430 ERROR: node is still EOpNull! -0:28 Function Definition: main( (global void) +0:28 Function Definition: main( ( global void) 0:28 Function Parameters: 0:30 Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'dx' (temp 4-component vector of float) -0:30 dPdx (global 4-component vector of float) -0:30 'inv' (smooth in 4-component vector of float) -0:37 move second child to first child (temp 4-component vector of float) -0:37 'FragColor' (out 4-component vector of float) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'dx' ( temp 4-component vector of float) +0:30 dPdx ( global 4-component vector of float) +0:30 'inv' ( smooth in 4-component vector of float) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'FragColor' ( out 4-component vector of float) 0:37 Constant: 0:37 2.000000 0:37 6.000000 0:37 3.000000 0:37 171.887339 -0:42 move second child to first child (temp 4-component vector of float) -0:42 'FragColor' (out 4-component vector of float) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'FragColor' ( out 4-component vector of float) 0:42 Constant: 0:42 3.000000 0:42 2.000000 0:42 0.001593 0:42 -0.999999 -0:43 move second child to first child (temp 2-component vector of float) -0:43 'out2' (out 2-component vector of float) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'out2' ( out 2-component vector of float) 0:43 Constant: 0:43 5.600000 0:43 5.800000 -0:44 move second child to first child (temp 4-component vector of float) -0:44 'out3' (out 4-component vector of float) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'out3' ( out 4-component vector of float) 0:44 Constant: 0:44 20.085537 0:44 2.302585 0:44 16.000000 0:44 8.000000 -0:45 move second child to first child (temp 4-component vector of float) -0:45 'out4' (out 4-component vector of float) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'out4' ( out 4-component vector of float) 0:45 Constant: 0:45 10.000000 0:45 0.100000 0:45 4.700000 0:45 10.900000 -0:46 move second child to first child (temp 4-component vector of int) -0:46 'out5' (out 4-component vector of int) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'out5' ( out 4-component vector of int) 0:46 Constant: 0:46 8 (const int) 0:46 17 (const int) 0:46 -1 (const int) 0:46 1 (const int) -0:47 move second child to first child (temp 3-component vector of float) -0:47 'out6' (out 3-component vector of float) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'out6' ( out 3-component vector of float) 0:47 Constant: 0:47 -1.000000 0:47 1.000000 0:47 0.000000 -0:48 move second child to first child (temp 4-component vector of float) -0:48 'out7' (out 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'out7' ( out 4-component vector of float) 0:48 Constant: 0:48 4.000000 0:48 -4.000000 0:48 5.000000 0:48 -5.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 'out8' (out 4-component vector of float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'out8' ( out 4-component vector of float) 0:49 Constant: 0:49 4.000000 0:49 5.000000 0:49 4.000000 0:49 -6.000000 -0:50 move second child to first child (temp 4-component vector of float) -0:50 'out9' (out 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'out9' ( out 4-component vector of float) 0:50 Constant: 0:50 8.000000 0:50 -4.000000 0:50 0.345000 0:50 0.400000 -0:51 move second child to first child (temp 4-component vector of float) -0:51 'out10' (out 4-component vector of float) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'out10' ( out 4-component vector of float) 0:51 Constant: 0:51 1.000000 0:51 1.000000 0:51 0.000000 0:51 0.000000 -0:52 move second child to first child (temp 4-component vector of float) -0:52 'out11' (out 4-component vector of float) +0:52 move second child to first child ( temp 4-component vector of float) +0:52 'out11' ( out 4-component vector of float) 0:52 Constant: 0:52 0.000000 0:52 0.000000 0:52 1.000000 0:52 0.000000 -0:53 move second child to first child (temp 4-component vector of float) -0:53 'out11' (out 4-component vector of float) +0:53 move second child to first child ( temp 4-component vector of float) +0:53 'out11' ( out 4-component vector of float) 0:53 Constant: 0:53 1.029639 0:53 0.799690 0:53 0.674741 0:53 1.570696 -0:54 move second child to first child (temp 4-component vector of float) -0:54 'out11' (out 4-component vector of float) +0:54 move second child to first child ( temp 4-component vector of float) +0:54 'out11' ( out 4-component vector of float) 0:54 Constant: 0:54 0.000000 0:54 0.523599 0:54 1.570796 0:54 1.047198 -0:58 move second child to first child (temp 4-component vector of float) -0:58 'out11' (out 4-component vector of float) +0:58 move second child to first child ( temp 4-component vector of float) +0:58 'out11' ( out 4-component vector of float) 0:58 Constant: 0:58 1.373401 0:58 0.000000 0:58 0.896055 0:58 -0.380506 -0:62 move second child to first child (temp 2-component vector of int) -0:62 'out12' (out 2-component vector of int) +0:62 move second child to first child ( temp 2-component vector of int) +0:62 'out12' ( out 2-component vector of int) 0:62 Constant: 0:62 15 (const int) 0:62 16 (const int) -0:63 move second child to first child (temp 2-component vector of int) -0:63 'out12' (out 2-component vector of int) +0:63 move second child to first child ( temp 2-component vector of int) +0:63 'out12' ( out 2-component vector of int) 0:63 Constant: 0:63 17 (const int) 0:63 17 (const int) -0:64 move second child to first child (temp 2-component vector of float) -0:64 'out2' (out 2-component vector of float) +0:64 move second child to first child ( temp 2-component vector of float) +0:64 'out2' ( out 2-component vector of float) 0:64 Constant: 0:64 871.421253 0:64 4913.000000 -0:65 move second child to first child (temp 3-component vector of uint) -0:65 'out13' (out 3-component vector of uint) +0:65 move second child to first child ( temp 3-component vector of uint) +0:65 'out13' ( out 3-component vector of uint) 0:65 Constant: 0:65 10 (const uint) 0:65 20 (const uint) 0:65 30 (const uint) -0:66 move second child to first child (temp 2-component vector of float) -0:66 'out2' (out 2-component vector of float) +0:66 move second child to first child ( temp 2-component vector of float) +0:66 'out2' ( out 2-component vector of float) 0:66 Constant: 0:66 3.000000 0:66 6.000000 -0:67 move second child to first child (temp 2-component vector of float) -0:67 'out2' (out 2-component vector of float) +0:67 move second child to first child ( temp 2-component vector of float) +0:67 'out2' ( out 2-component vector of float) 0:67 Constant: 0:67 3.500000 0:67 4.500000 -0:68 move second child to first child (temp 2-component vector of float) -0:68 'out2' (out 2-component vector of float) +0:68 move second child to first child ( temp 2-component vector of float) +0:68 'out2' ( out 2-component vector of float) 0:68 Constant: 0:68 0.000000 0:68 1.000000 -0:69 move second child to first child (temp 4-component vector of float) -0:69 'out11' (out 4-component vector of float) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'out11' ( out 4-component vector of float) 0:69 Constant: 0:69 0.000000 0:69 0.028000 0:69 0.500000 0:69 1.000000 -0:78 Function Definition: foo( (global void) +0:78 Function Definition: foo( ( global void) 0:78 Function Parameters: 0:? Sequence -0:81 move second child to first child (temp float) -0:81 direct index (temp float) -0:81 'a' (temp 3-element array of float) +0:81 move second child to first child ( temp float) +0:81 direct index ( temp float) +0:81 'a' ( temp 3-element array of float) 0:81 Constant: 0:81 0 (const int) 0:81 Constant: @@ -188,23 +188,23 @@ ERROR: node is still EOpNull! 0:90 Constant: 0:90 6 (const uint) 0:90 7 (const uint) -0:103 Function Definition: foo2( (global void) +0:103 Function Definition: foo2( ( global void) 0:103 Function Parameters: 0:105 Sequence -0:105 direct index (temp float) -0:105 'a1' (global 1-element array of float) +0:105 direct index ( temp float) +0:105 'a1' ( global 1-element array of float) 0:105 Constant: 0:105 0 (const int) -0:106 direct index (temp float) -0:106 'a2' (global 2-element array of float) +0:106 direct index ( temp float) +0:106 'a2' ( global 2-element array of float) 0:106 Constant: 0:106 0 (const int) -0:107 direct index (temp float) -0:107 'a3' (global 4-element array of float) +0:107 direct index ( temp float) +0:107 'a3' ( global 4-element array of float) 0:107 Constant: 0:107 0 (const int) -0:108 direct index (temp float) -0:108 'a4' (global 2-element array of float) +0:108 direct index ( temp float) +0:108 'a4' ( global 2-element array of float) 0:108 Constant: 0:108 0 (const int) 0:109 Constant: @@ -219,32 +219,32 @@ ERROR: node is still EOpNull! 0:113 0.000000 0:114 Constant: 0:114 0.000000 -0:116 move second child to first child (temp int) -0:116 'p' (temp int) +0:116 move second child to first child ( temp int) +0:116 'p' ( temp int) 0:116 Constant: 0:116 2147483647 (const int) -0:117 move second child to first child (temp int) -0:117 'p' (temp int) +0:117 move second child to first child ( temp int) +0:117 'p' ( temp int) 0:117 Constant: 0:117 -2147483648 (const int) -0:118 move second child to first child (temp int) -0:118 'p' (temp int) +0:118 move second child to first child ( temp int) +0:118 'p' ( temp int) 0:118 Constant: 0:118 -2147483647 (const int) 0:119 Sequence -0:119 move second child to first child (temp float) -0:119 'f' (temp float) +0:119 move second child to first child ( temp float) +0:119 'f' ( temp float) 0:119 Constant: 0:119 1.444000 -0:120 move second child to first child (temp float) -0:120 'f' (temp float) -0:120 direct index (temp float) -0:120 Construct vec4 (temp 4-component vector of float) -0:120 Test condition and select (temp float) +0:120 move second child to first child ( temp float) +0:120 'f' ( temp float) +0:120 direct index ( temp float) +0:120 Construct vec4 ( temp 4-component vector of float) +0:120 Test condition and select ( temp float) 0:120 Condition -0:120 Compare Less Than (temp bool) -0:120 direct index (temp float) -0:120 'inv' (smooth in 4-component vector of float) +0:120 Compare Less Than ( temp bool) +0:120 direct index ( temp float) +0:120 'inv' ( smooth in 4-component vector of float) 0:120 Constant: 0:120 0 (const int) 0:120 Constant: @@ -257,12 +257,12 @@ ERROR: node is still EOpNull! 0:120 1.000000 0:120 Constant: 0:120 3 (const int) -0:126 Function Definition: foo3( (global void) +0:126 Function Definition: foo3( ( global void) 0:126 Function Parameters: 0:128 Sequence 0:128 Sequence -0:128 move second child to first child (temp 3X2 matrix of float) -0:128 'r32' (temp 3X2 matrix of float) +0:128 move second child to first child ( temp 3X2 matrix of float) +0:128 'r32' ( temp 3X2 matrix of float) 0:128 Constant: 0:128 43.000000 0:128 64.000000 @@ -270,47 +270,47 @@ ERROR: node is still EOpNull! 0:128 76.000000 0:128 59.000000 0:128 88.000000 -0:138 Function Definition: foo4( (global void) +0:138 Function Definition: foo4( ( global void) 0:138 Function Parameters: 0:140 Sequence 0:140 Sequence -0:140 move second child to first child (temp int) -0:140 'a' (temp int) +0:140 move second child to first child ( temp int) +0:140 'a' ( temp int) 0:140 Constant: 0:140 9 (const int) 0:? Linker Objects -0:? 'a' (const int) +0:? 'a' ( const int) 0:? 1 (const int) -0:? 'b' (const int) +0:? 'b' ( const int) 0:? 2 (const int) -0:? 'c' (const int) +0:? 'c' ( const int) 0:? 3 (const int) -0:? 'd' (const int) +0:? 'd' ( const int) 0:? 2 (const int) -0:? 'e' (const float) +0:? 'e' ( const float) 0:? 2.000000 -0:? 'f' (const float) +0:? 'f' ( const float) 0:? 6.000000 -0:? 'g' (const float) +0:? 'g' ( const float) 0:? 3.000000 -0:? 'pytho' (const 2-component vector of float) +0:? 'pytho' ( const 2-component vector of float) 0:? 3.000000 0:? 4.000000 -0:? 'inv' (smooth in 4-component vector of float) -0:? 'FragColor' (out 4-component vector of float) -0:? 'out2' (out 2-component vector of float) -0:? 'out3' (out 4-component vector of float) -0:? 'out4' (out 4-component vector of float) -0:? 'out5' (out 4-component vector of int) -0:? 'out6' (out 3-component vector of float) -0:? 'out7' (out 4-component vector of float) -0:? 'out8' (out 4-component vector of float) -0:? 'out9' (out 4-component vector of float) -0:? 'out10' (out 4-component vector of float) -0:? 'out11' (out 4-component vector of float) -0:? 'out12' (out 2-component vector of int) -0:? 'out13' (out 3-component vector of uint) -0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) +0:? 'inv' ( smooth in 4-component vector of float) +0:? 'FragColor' ( out 4-component vector of float) +0:? 'out2' ( out 2-component vector of float) +0:? 'out3' ( out 4-component vector of float) +0:? 'out4' ( out 4-component vector of float) +0:? 'out5' ( out 4-component vector of int) +0:? 'out6' ( out 3-component vector of float) +0:? 'out7' ( out 4-component vector of float) +0:? 'out8' ( out 4-component vector of float) +0:? 'out9' ( out 4-component vector of float) +0:? 'out10' ( out 4-component vector of float) +0:? 'out11' ( out 4-component vector of float) +0:? 'out12' ( out 2-component vector of int) +0:? 'out13' ( out 3-component vector of uint) +0:? 's' ( const structure{ global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) 0:? 3.000000 0:? 3.000000 0:? 3.000000 @@ -324,12 +324,12 @@ ERROR: node is still EOpNull! 0:? 6.000000 0:? 7.000000 0:? 8.000000 -0:? 'm2' (const 2X2 matrix of float) +0:? 'm2' ( const 2X2 matrix of float) 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:? 5.000000 -0:? 'm3' (const 3X3 matrix of float) +0:? 'm3' ( const 3X3 matrix of float) 0:? 2.000000 0:? 3.000000 0:? 0.000000 @@ -339,32 +339,32 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'mc' (const int) +0:? 'mc' ( const int) 0:? 1 (const int) -0:? 'a1' (global 1-element array of float) -0:? 'a2' (global 2-element array of float) -0:? 'a3' (global 4-element array of float) -0:? 'v2' (const 2-component vector of float) +0:? 'a1' ( global 1-element array of float) +0:? 'a2' ( global 2-element array of float) +0:? 'a3' ( global 4-element array of float) +0:? 'v2' ( const 2-component vector of float) 0:? 1.000000 0:? 2.000000 -0:? 'v3' (const 3-component vector of float) +0:? 'v3' ( const 3-component vector of float) 0:? 3.000000 0:? 4.000000 0:? 5.000000 -0:? 'a4' (global 2-element array of float) -0:? 'mm2' (const 2X2 matrix of float) +0:? 'a4' ( global 2-element array of float) +0:? 'mm2' ( const 2X2 matrix of float) 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:? 'mm32' (const 3X2 matrix of float) +0:? 'mm32' ( const 3X2 matrix of float) 0:? 10.000000 0:? 11.000000 0:? 12.000000 0:? 13.000000 0:? 14.000000 0:? 15.000000 -0:? 'a0' (const 3-element array of structure{global int i, global float f, global bool b}) +0:? 'a0' ( const 3-element array of structure{ global int i, global float f, global bool b}) 0:? 3 (const int) 0:? 2.000000 0:? true (const bool) @@ -374,17 +374,17 @@ ERROR: node is still EOpNull! 0:? 1 (const int) 0:? 9.000000 0:? false (const bool) -0:? 'cval1' (const bool) +0:? 'cval1' ( const bool) 0:? true (const bool) -0:? 'cval2' (const bool) +0:? 'cval2' ( const bool) 0:? false (const bool) -0:? 'cval3' (const bool) +0:? 'cval3' ( const bool) 0:? false (const bool) -0:? 'cval4' (const bool) +0:? 'cval4' ( const bool) 0:? true (const bool) -0:? 'cval5' (const bool) +0:? 'cval5' ( const bool) 0:? false (const bool) -0:? 'cval6' (const bool) +0:? 'cval6' ( const bool) 0:? true (const bool) @@ -393,192 +393,192 @@ Linked fragment stage: Shader version: 430 ERROR: node is still EOpNull! -0:28 Function Definition: main( (global void) +0:28 Function Definition: main( ( global void) 0:28 Function Parameters: 0:30 Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'dx' (temp 4-component vector of float) -0:30 dPdx (global 4-component vector of float) -0:30 'inv' (smooth in 4-component vector of float) -0:37 move second child to first child (temp 4-component vector of float) -0:37 'FragColor' (out 4-component vector of float) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'dx' ( temp 4-component vector of float) +0:30 dPdx ( global 4-component vector of float) +0:30 'inv' ( smooth in 4-component vector of float) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'FragColor' ( out 4-component vector of float) 0:37 Constant: 0:37 2.000000 0:37 6.000000 0:37 3.000000 0:37 171.887339 -0:42 move second child to first child (temp 4-component vector of float) -0:42 'FragColor' (out 4-component vector of float) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'FragColor' ( out 4-component vector of float) 0:42 Constant: 0:42 3.000000 0:42 2.000000 0:42 0.001593 0:42 -0.999999 -0:43 move second child to first child (temp 2-component vector of float) -0:43 'out2' (out 2-component vector of float) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'out2' ( out 2-component vector of float) 0:43 Constant: 0:43 5.600000 0:43 5.800000 -0:44 move second child to first child (temp 4-component vector of float) -0:44 'out3' (out 4-component vector of float) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'out3' ( out 4-component vector of float) 0:44 Constant: 0:44 20.085537 0:44 2.302585 0:44 16.000000 0:44 8.000000 -0:45 move second child to first child (temp 4-component vector of float) -0:45 'out4' (out 4-component vector of float) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'out4' ( out 4-component vector of float) 0:45 Constant: 0:45 10.000000 0:45 0.100000 0:45 4.700000 0:45 10.900000 -0:46 move second child to first child (temp 4-component vector of int) -0:46 'out5' (out 4-component vector of int) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'out5' ( out 4-component vector of int) 0:46 Constant: 0:46 8 (const int) 0:46 17 (const int) 0:46 -1 (const int) 0:46 1 (const int) -0:47 move second child to first child (temp 3-component vector of float) -0:47 'out6' (out 3-component vector of float) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'out6' ( out 3-component vector of float) 0:47 Constant: 0:47 -1.000000 0:47 1.000000 0:47 0.000000 -0:48 move second child to first child (temp 4-component vector of float) -0:48 'out7' (out 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'out7' ( out 4-component vector of float) 0:48 Constant: 0:48 4.000000 0:48 -4.000000 0:48 5.000000 0:48 -5.000000 -0:49 move second child to first child (temp 4-component vector of float) -0:49 'out8' (out 4-component vector of float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'out8' ( out 4-component vector of float) 0:49 Constant: 0:49 4.000000 0:49 5.000000 0:49 4.000000 0:49 -6.000000 -0:50 move second child to first child (temp 4-component vector of float) -0:50 'out9' (out 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'out9' ( out 4-component vector of float) 0:50 Constant: 0:50 8.000000 0:50 -4.000000 0:50 0.345000 0:50 0.400000 -0:51 move second child to first child (temp 4-component vector of float) -0:51 'out10' (out 4-component vector of float) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'out10' ( out 4-component vector of float) 0:51 Constant: 0:51 1.000000 0:51 1.000000 0:51 0.000000 0:51 0.000000 -0:52 move second child to first child (temp 4-component vector of float) -0:52 'out11' (out 4-component vector of float) +0:52 move second child to first child ( temp 4-component vector of float) +0:52 'out11' ( out 4-component vector of float) 0:52 Constant: 0:52 0.000000 0:52 0.000000 0:52 1.000000 0:52 0.000000 -0:53 move second child to first child (temp 4-component vector of float) -0:53 'out11' (out 4-component vector of float) +0:53 move second child to first child ( temp 4-component vector of float) +0:53 'out11' ( out 4-component vector of float) 0:53 Constant: 0:53 1.029639 0:53 0.799690 0:53 0.674741 0:53 1.570696 -0:54 move second child to first child (temp 4-component vector of float) -0:54 'out11' (out 4-component vector of float) +0:54 move second child to first child ( temp 4-component vector of float) +0:54 'out11' ( out 4-component vector of float) 0:54 Constant: 0:54 0.000000 0:54 0.523599 0:54 1.570796 0:54 1.047198 -0:58 move second child to first child (temp 4-component vector of float) -0:58 'out11' (out 4-component vector of float) +0:58 move second child to first child ( temp 4-component vector of float) +0:58 'out11' ( out 4-component vector of float) 0:58 Constant: 0:58 1.373401 0:58 0.000000 0:58 0.896055 0:58 -0.380506 -0:62 move second child to first child (temp 2-component vector of int) -0:62 'out12' (out 2-component vector of int) +0:62 move second child to first child ( temp 2-component vector of int) +0:62 'out12' ( out 2-component vector of int) 0:62 Constant: 0:62 15 (const int) 0:62 16 (const int) -0:63 move second child to first child (temp 2-component vector of int) -0:63 'out12' (out 2-component vector of int) +0:63 move second child to first child ( temp 2-component vector of int) +0:63 'out12' ( out 2-component vector of int) 0:63 Constant: 0:63 17 (const int) 0:63 17 (const int) -0:64 move second child to first child (temp 2-component vector of float) -0:64 'out2' (out 2-component vector of float) +0:64 move second child to first child ( temp 2-component vector of float) +0:64 'out2' ( out 2-component vector of float) 0:64 Constant: 0:64 871.421253 0:64 4913.000000 -0:65 move second child to first child (temp 3-component vector of uint) -0:65 'out13' (out 3-component vector of uint) +0:65 move second child to first child ( temp 3-component vector of uint) +0:65 'out13' ( out 3-component vector of uint) 0:65 Constant: 0:65 10 (const uint) 0:65 20 (const uint) 0:65 30 (const uint) -0:66 move second child to first child (temp 2-component vector of float) -0:66 'out2' (out 2-component vector of float) +0:66 move second child to first child ( temp 2-component vector of float) +0:66 'out2' ( out 2-component vector of float) 0:66 Constant: 0:66 3.000000 0:66 6.000000 -0:67 move second child to first child (temp 2-component vector of float) -0:67 'out2' (out 2-component vector of float) +0:67 move second child to first child ( temp 2-component vector of float) +0:67 'out2' ( out 2-component vector of float) 0:67 Constant: 0:67 3.500000 0:67 4.500000 -0:68 move second child to first child (temp 2-component vector of float) -0:68 'out2' (out 2-component vector of float) +0:68 move second child to first child ( temp 2-component vector of float) +0:68 'out2' ( out 2-component vector of float) 0:68 Constant: 0:68 0.000000 0:68 1.000000 -0:69 move second child to first child (temp 4-component vector of float) -0:69 'out11' (out 4-component vector of float) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'out11' ( out 4-component vector of float) 0:69 Constant: 0:69 0.000000 0:69 0.028000 0:69 0.500000 0:69 1.000000 0:? Linker Objects -0:? 'a' (const int) +0:? 'a' ( const int) 0:? 1 (const int) -0:? 'b' (const int) +0:? 'b' ( const int) 0:? 2 (const int) -0:? 'c' (const int) +0:? 'c' ( const int) 0:? 3 (const int) -0:? 'd' (const int) +0:? 'd' ( const int) 0:? 2 (const int) -0:? 'e' (const float) +0:? 'e' ( const float) 0:? 2.000000 -0:? 'f' (const float) +0:? 'f' ( const float) 0:? 6.000000 -0:? 'g' (const float) +0:? 'g' ( const float) 0:? 3.000000 -0:? 'pytho' (const 2-component vector of float) +0:? 'pytho' ( const 2-component vector of float) 0:? 3.000000 0:? 4.000000 -0:? 'inv' (smooth in 4-component vector of float) -0:? 'FragColor' (out 4-component vector of float) -0:? 'out2' (out 2-component vector of float) -0:? 'out3' (out 4-component vector of float) -0:? 'out4' (out 4-component vector of float) -0:? 'out5' (out 4-component vector of int) -0:? 'out6' (out 3-component vector of float) -0:? 'out7' (out 4-component vector of float) -0:? 'out8' (out 4-component vector of float) -0:? 'out9' (out 4-component vector of float) -0:? 'out10' (out 4-component vector of float) -0:? 'out11' (out 4-component vector of float) -0:? 'out12' (out 2-component vector of int) -0:? 'out13' (out 3-component vector of uint) -0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) +0:? 'inv' ( smooth in 4-component vector of float) +0:? 'FragColor' ( out 4-component vector of float) +0:? 'out2' ( out 2-component vector of float) +0:? 'out3' ( out 4-component vector of float) +0:? 'out4' ( out 4-component vector of float) +0:? 'out5' ( out 4-component vector of int) +0:? 'out6' ( out 3-component vector of float) +0:? 'out7' ( out 4-component vector of float) +0:? 'out8' ( out 4-component vector of float) +0:? 'out9' ( out 4-component vector of float) +0:? 'out10' ( out 4-component vector of float) +0:? 'out11' ( out 4-component vector of float) +0:? 'out12' ( out 2-component vector of int) +0:? 'out13' ( out 3-component vector of uint) +0:? 's' ( const structure{ global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}) 0:? 3.000000 0:? 3.000000 0:? 3.000000 @@ -592,12 +592,12 @@ ERROR: node is still EOpNull! 0:? 6.000000 0:? 7.000000 0:? 8.000000 -0:? 'm2' (const 2X2 matrix of float) +0:? 'm2' ( const 2X2 matrix of float) 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:? 5.000000 -0:? 'm3' (const 3X3 matrix of float) +0:? 'm3' ( const 3X3 matrix of float) 0:? 2.000000 0:? 3.000000 0:? 0.000000 @@ -607,32 +607,32 @@ ERROR: node is still EOpNull! 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:? 'mc' (const int) +0:? 'mc' ( const int) 0:? 1 (const int) -0:? 'a1' (global 1-element array of float) -0:? 'a2' (global 2-element array of float) -0:? 'a3' (global 4-element array of float) -0:? 'v2' (const 2-component vector of float) +0:? 'a1' ( global 1-element array of float) +0:? 'a2' ( global 2-element array of float) +0:? 'a3' ( global 4-element array of float) +0:? 'v2' ( const 2-component vector of float) 0:? 1.000000 0:? 2.000000 -0:? 'v3' (const 3-component vector of float) +0:? 'v3' ( const 3-component vector of float) 0:? 3.000000 0:? 4.000000 0:? 5.000000 -0:? 'a4' (global 2-element array of float) -0:? 'mm2' (const 2X2 matrix of float) +0:? 'a4' ( global 2-element array of float) +0:? 'mm2' ( const 2X2 matrix of float) 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:? 'mm32' (const 3X2 matrix of float) +0:? 'mm32' ( const 3X2 matrix of float) 0:? 10.000000 0:? 11.000000 0:? 12.000000 0:? 13.000000 0:? 14.000000 0:? 15.000000 -0:? 'a0' (const 3-element array of structure{global int i, global float f, global bool b}) +0:? 'a0' ( const 3-element array of structure{ global int i, global float f, global bool b}) 0:? 3 (const int) 0:? 2.000000 0:? true (const bool) @@ -642,16 +642,16 @@ ERROR: node is still EOpNull! 0:? 1 (const int) 0:? 9.000000 0:? false (const bool) -0:? 'cval1' (const bool) +0:? 'cval1' ( const bool) 0:? true (const bool) -0:? 'cval2' (const bool) +0:? 'cval2' ( const bool) 0:? false (const bool) -0:? 'cval3' (const bool) +0:? 'cval3' ( const bool) 0:? false (const bool) -0:? 'cval4' (const bool) +0:? 'cval4' ( const bool) 0:? true (const bool) -0:? 'cval5' (const bool) +0:? 'cval5' ( const bool) 0:? false (const bool) -0:? 'cval6' (const bool) +0:? 'cval6' ( const bool) 0:? true (const bool) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conversion.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conversion.frag.out index 3abf82ceffc..73875d1962a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conversion.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/conversion.frag.out @@ -1,427 +1,427 @@ conversion.frag Shader version: 130 0:? Sequence -0:33 Function Definition: main( (global void) +0:33 Function Definition: main( ( global void) 0:33 Function Parameters: 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp bool) -0:35 'b' (temp bool) -0:35 logical-xor (temp bool) -0:35 Convert int to bool (temp bool) -0:35 'u_i' (uniform int) -0:35 Convert float to bool (temp bool) -0:35 'u_f' (uniform float) +0:35 move second child to first child ( temp bool) +0:35 'b' ( temp bool) +0:35 logical-xor ( temp bool) +0:35 Convert int to bool ( temp bool) +0:35 'u_i' ( uniform int) +0:35 Convert float to bool ( temp bool) +0:35 'u_f' ( uniform float) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of bool) -0:36 'b2' (temp 2-component vector of bool) -0:36 Construct bvec2 (temp 2-component vector of bool) -0:36 Convert int to bool (temp bool) -0:36 'u_i' (uniform int) -0:36 Convert float to bool (temp bool) -0:36 'u_f' (uniform float) +0:36 move second child to first child ( temp 2-component vector of bool) +0:36 'b2' ( temp 2-component vector of bool) +0:36 Construct bvec2 ( temp 2-component vector of bool) +0:36 Convert int to bool ( temp bool) +0:36 'u_i' ( uniform int) +0:36 Convert float to bool ( temp bool) +0:36 'u_f' ( uniform float) 0:37 Sequence -0:37 move second child to first child (temp 3-component vector of bool) -0:37 'b3' (temp 3-component vector of bool) -0:37 Construct bvec3 (temp 3-component vector of bool) -0:37 Convert int to bool (temp bool) -0:37 'u_i' (uniform int) -0:37 Convert float to bool (temp bool) -0:37 'u_f' (uniform float) -0:37 Convert int to bool (temp bool) -0:37 'i_i' (flat in int) +0:37 move second child to first child ( temp 3-component vector of bool) +0:37 'b3' ( temp 3-component vector of bool) +0:37 Construct bvec3 ( temp 3-component vector of bool) +0:37 Convert int to bool ( temp bool) +0:37 'u_i' ( uniform int) +0:37 Convert float to bool ( temp bool) +0:37 'u_f' ( uniform float) +0:37 Convert int to bool ( temp bool) +0:37 'i_i' ( flat in int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b4' (temp 4-component vector of bool) -0:38 Construct bvec4 (temp 4-component vector of bool) -0:38 Convert int to bool (temp bool) -0:38 'u_i' (uniform int) -0:38 Convert float to bool (temp bool) -0:38 'u_f' (uniform float) -0:38 Convert int to bool (temp bool) -0:38 'i_i' (flat in int) -0:38 Convert float to bool (temp bool) -0:38 'i_f' (smooth in float) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b4' ( temp 4-component vector of bool) +0:38 Construct bvec4 ( temp 4-component vector of bool) +0:38 Convert int to bool ( temp bool) +0:38 'u_i' ( uniform int) +0:38 Convert float to bool ( temp bool) +0:38 'u_f' ( uniform float) +0:38 Convert int to bool ( temp bool) +0:38 'i_i' ( flat in int) +0:38 Convert float to bool ( temp bool) +0:38 'i_f' ( smooth in float) 0:40 Sequence -0:40 move second child to first child (temp int) -0:40 'i' (temp int) -0:40 add (temp int) -0:40 Convert float to int (temp int) -0:40 'u_f' (uniform float) -0:40 Convert bool to int (temp int) -0:40 'b' (temp bool) +0:40 move second child to first child ( temp int) +0:40 'i' ( temp int) +0:40 add ( temp int) +0:40 Convert float to int ( temp int) +0:40 'u_f' ( uniform float) +0:40 Convert bool to int ( temp int) +0:40 'b' ( temp bool) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of int) -0:41 'i2' (temp 2-component vector of int) -0:41 add (temp 2-component vector of int) -0:41 Convert float to int (temp 2-component vector of int) -0:41 'u_f2' (uniform 2-component vector of float) -0:41 Convert bool to int (temp 2-component vector of int) -0:41 'b2' (temp 2-component vector of bool) +0:41 move second child to first child ( temp 2-component vector of int) +0:41 'i2' ( temp 2-component vector of int) +0:41 add ( temp 2-component vector of int) +0:41 Convert float to int ( temp 2-component vector of int) +0:41 'u_f2' ( uniform 2-component vector of float) +0:41 Convert bool to int ( temp 2-component vector of int) +0:41 'b2' ( temp 2-component vector of bool) 0:42 Sequence -0:42 move second child to first child (temp 3-component vector of int) -0:42 'i3' (temp 3-component vector of int) -0:42 add (temp 3-component vector of int) -0:42 Convert float to int (temp 3-component vector of int) -0:42 'u_f3' (uniform 3-component vector of float) -0:42 Convert bool to int (temp 3-component vector of int) -0:42 'b3' (temp 3-component vector of bool) +0:42 move second child to first child ( temp 3-component vector of int) +0:42 'i3' ( temp 3-component vector of int) +0:42 add ( temp 3-component vector of int) +0:42 Convert float to int ( temp 3-component vector of int) +0:42 'u_f3' ( uniform 3-component vector of float) +0:42 Convert bool to int ( temp 3-component vector of int) +0:42 'b3' ( temp 3-component vector of bool) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'i4' (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:43 Convert float to int (temp 4-component vector of int) -0:43 'u_f4' (uniform 4-component vector of float) -0:43 Convert bool to int (temp 4-component vector of int) -0:43 'b4' (temp 4-component vector of bool) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'i4' ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:43 Convert float to int ( temp 4-component vector of int) +0:43 'u_f4' ( uniform 4-component vector of float) +0:43 Convert bool to int ( temp 4-component vector of int) +0:43 'b4' ( temp 4-component vector of bool) 0:45 Sequence -0:45 move second child to first child (temp float) -0:45 'f' (temp float) -0:45 Convert int to float (temp float) -0:45 'i' (temp int) +0:45 move second child to first child ( temp float) +0:45 'f' ( temp float) +0:45 Convert int to float ( temp float) +0:45 'i' ( temp int) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'f2' (temp 2-component vector of float) -0:46 Convert int to float (temp 2-component vector of float) -0:46 'i2' (temp 2-component vector of int) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'f2' ( temp 2-component vector of float) +0:46 Convert int to float ( temp 2-component vector of float) +0:46 'i2' ( temp 2-component vector of int) 0:47 Sequence -0:47 move second child to first child (temp 3-component vector of float) -0:47 'f3' (temp 3-component vector of float) -0:47 Convert int to float (temp 3-component vector of float) -0:47 'i3' (temp 3-component vector of int) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'f3' ( temp 3-component vector of float) +0:47 Convert int to float ( temp 3-component vector of float) +0:47 'i3' ( temp 3-component vector of int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'f4' (temp 4-component vector of float) -0:48 Convert int to float (temp 4-component vector of float) -0:48 'i4' (temp 4-component vector of int) -0:50 add second child into first child (temp float) -0:50 'f' (temp float) -0:50 add (temp float) -0:50 Convert int to float (temp float) -0:50 'i' (temp int) -0:50 Convert bool to float (temp float) -0:50 'b' (temp bool) -0:51 subtract second child into first child (temp 2-component vector of float) -0:51 'f2' (temp 2-component vector of float) -0:51 add (temp 2-component vector of float) -0:51 Convert int to float (temp 2-component vector of float) -0:51 'i2' (temp 2-component vector of int) -0:51 Convert bool to float (temp 2-component vector of float) -0:51 'b2' (temp 2-component vector of bool) -0:52 divide second child into first child (temp 3-component vector of float) -0:52 'f3' (temp 3-component vector of float) -0:52 add (temp 3-component vector of float) -0:52 Convert int to float (temp 3-component vector of float) -0:52 'i3' (temp 3-component vector of int) -0:52 Convert bool to float (temp 3-component vector of float) -0:52 'b3' (temp 3-component vector of bool) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'f4' (temp 4-component vector of float) -0:53 add (temp 4-component vector of float) -0:53 Convert int to float (temp 4-component vector of float) -0:53 'i4' (temp 4-component vector of int) -0:53 Convert bool to float (temp 4-component vector of float) -0:53 'b4' (temp 4-component vector of bool) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'f4' (temp 4-component vector of float) -0:55 Convert bool to float (temp 4-component vector of float) -0:55 Convert int to bool (temp 4-component vector of bool) -0:55 'i_i4' (flat in 4-component vector of int) -0:56 add second child into first child (temp 4-component vector of float) -0:56 'f4' (temp 4-component vector of float) -0:56 Convert bool to float (temp 4-component vector of float) -0:56 Convert float to bool (temp 4-component vector of bool) -0:56 'u_f4' (uniform 4-component vector of float) -0:58 add second child into first child (temp float) -0:58 'f' (temp float) -0:58 subtract (temp float) -0:58 'f' (temp float) -0:58 Convert int to float (temp float) -0:58 'i' (temp int) -0:59 add second child into first child (temp 2-component vector of float) -0:59 'f2' (temp 2-component vector of float) -0:59 add (temp 2-component vector of float) -0:59 Construct vec2 (temp 2-component vector of float) -0:59 'f' (temp float) -0:59 Convert int to float (temp float) -0:59 'i' (temp int) -0:59 Convert int to float (temp 2-component vector of float) -0:59 'i2' (temp 2-component vector of int) -0:60 add second child into first child (temp 3-component vector of float) -0:60 'f3' (temp 3-component vector of float) -0:60 add (temp 3-component vector of float) -0:60 Convert int to float (temp 3-component vector of float) -0:60 'i3' (temp 3-component vector of int) -0:60 Construct vec3 (temp 3-component vector of float) -0:60 'f' (temp float) -0:60 Convert int to float (temp float) -0:60 'i' (temp int) -0:60 'f' (temp float) -0:61 add second child into first child (temp 4-component vector of float) -0:61 'f4' (temp 4-component vector of float) -0:61 add (temp 4-component vector of float) -0:61 Construct vec4 (temp 4-component vector of float) -0:61 Convert bool to float (temp float) -0:61 'b' (temp bool) -0:61 Convert int to float (temp float) -0:61 'i' (temp int) -0:61 'f' (temp float) -0:61 Convert int to float (temp float) -0:61 'i' (temp int) -0:61 Convert int to float (temp 4-component vector of float) -0:61 'i4' (temp 4-component vector of int) -0:63 add second child into first child (temp 2-component vector of float) -0:63 'f2' (temp 2-component vector of float) -0:63 vector-scale (temp 2-component vector of float) -0:63 Construct vec2 (temp 2-component vector of float) -0:63 'f' (temp float) -0:63 Convert int to float (temp float) -0:63 'i' (temp int) -0:63 Convert int to float (temp float) -0:63 'i' (temp int) -0:64 add second child into first child (temp 3-component vector of float) -0:64 'f3' (temp 3-component vector of float) -0:64 add (temp 3-component vector of float) -0:64 Construct vec3 (temp 3-component vector of float) -0:64 'f' (temp float) -0:64 Convert int to float (temp float) -0:64 'i' (temp int) -0:64 'f' (temp float) -0:64 Convert int to float (temp float) -0:64 'i' (temp int) -0:65 add second child into first child (temp 4-component vector of float) -0:65 'f4' (temp 4-component vector of float) -0:65 subtract (temp 4-component vector of float) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:65 Construct vec4 (temp 4-component vector of float) -0:65 Convert bool to float (temp float) -0:65 'b' (temp bool) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:65 'f' (temp float) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:67 add second child into first child (temp 2-component vector of int) -0:67 'i2' (temp 2-component vector of int) -0:67 Construct ivec2 (temp 2-component vector of int) -0:67 Convert float to int (temp int) -0:67 'f' (temp float) -0:67 'i' (temp int) -0:68 add second child into first child (temp 3-component vector of int) -0:68 'i3' (temp 3-component vector of int) -0:68 Construct ivec3 (temp 3-component vector of int) -0:68 Convert float to int (temp int) -0:68 'f' (temp float) -0:68 'i' (temp int) -0:68 Convert float to int (temp int) -0:68 'f' (temp float) -0:69 add second child into first child (temp 4-component vector of int) -0:69 'i4' (temp 4-component vector of int) -0:69 Construct ivec4 (temp 4-component vector of int) -0:69 Convert bool to int (temp int) -0:69 'b' (temp bool) -0:69 'i' (temp int) -0:69 Convert float to int (temp int) -0:69 'f' (temp float) -0:69 'i' (temp int) -0:71 Test condition and select (temp void) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'f4' ( temp 4-component vector of float) +0:48 Convert int to float ( temp 4-component vector of float) +0:48 'i4' ( temp 4-component vector of int) +0:50 add second child into first child ( temp float) +0:50 'f' ( temp float) +0:50 add ( temp float) +0:50 Convert int to float ( temp float) +0:50 'i' ( temp int) +0:50 Convert bool to float ( temp float) +0:50 'b' ( temp bool) +0:51 subtract second child into first child ( temp 2-component vector of float) +0:51 'f2' ( temp 2-component vector of float) +0:51 add ( temp 2-component vector of float) +0:51 Convert int to float ( temp 2-component vector of float) +0:51 'i2' ( temp 2-component vector of int) +0:51 Convert bool to float ( temp 2-component vector of float) +0:51 'b2' ( temp 2-component vector of bool) +0:52 divide second child into first child ( temp 3-component vector of float) +0:52 'f3' ( temp 3-component vector of float) +0:52 add ( temp 3-component vector of float) +0:52 Convert int to float ( temp 3-component vector of float) +0:52 'i3' ( temp 3-component vector of int) +0:52 Convert bool to float ( temp 3-component vector of float) +0:52 'b3' ( temp 3-component vector of bool) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'f4' ( temp 4-component vector of float) +0:53 add ( temp 4-component vector of float) +0:53 Convert int to float ( temp 4-component vector of float) +0:53 'i4' ( temp 4-component vector of int) +0:53 Convert bool to float ( temp 4-component vector of float) +0:53 'b4' ( temp 4-component vector of bool) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'f4' ( temp 4-component vector of float) +0:55 Convert bool to float ( temp 4-component vector of float) +0:55 Convert int to bool ( temp 4-component vector of bool) +0:55 'i_i4' ( flat in 4-component vector of int) +0:56 add second child into first child ( temp 4-component vector of float) +0:56 'f4' ( temp 4-component vector of float) +0:56 Convert bool to float ( temp 4-component vector of float) +0:56 Convert float to bool ( temp 4-component vector of bool) +0:56 'u_f4' ( uniform 4-component vector of float) +0:58 add second child into first child ( temp float) +0:58 'f' ( temp float) +0:58 subtract ( temp float) +0:58 'f' ( temp float) +0:58 Convert int to float ( temp float) +0:58 'i' ( temp int) +0:59 add second child into first child ( temp 2-component vector of float) +0:59 'f2' ( temp 2-component vector of float) +0:59 add ( temp 2-component vector of float) +0:59 Construct vec2 ( temp 2-component vector of float) +0:59 'f' ( temp float) +0:59 Convert int to float ( temp float) +0:59 'i' ( temp int) +0:59 Convert int to float ( temp 2-component vector of float) +0:59 'i2' ( temp 2-component vector of int) +0:60 add second child into first child ( temp 3-component vector of float) +0:60 'f3' ( temp 3-component vector of float) +0:60 add ( temp 3-component vector of float) +0:60 Convert int to float ( temp 3-component vector of float) +0:60 'i3' ( temp 3-component vector of int) +0:60 Construct vec3 ( temp 3-component vector of float) +0:60 'f' ( temp float) +0:60 Convert int to float ( temp float) +0:60 'i' ( temp int) +0:60 'f' ( temp float) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'f4' ( temp 4-component vector of float) +0:61 add ( temp 4-component vector of float) +0:61 Construct vec4 ( temp 4-component vector of float) +0:61 Convert bool to float ( temp float) +0:61 'b' ( temp bool) +0:61 Convert int to float ( temp float) +0:61 'i' ( temp int) +0:61 'f' ( temp float) +0:61 Convert int to float ( temp float) +0:61 'i' ( temp int) +0:61 Convert int to float ( temp 4-component vector of float) +0:61 'i4' ( temp 4-component vector of int) +0:63 add second child into first child ( temp 2-component vector of float) +0:63 'f2' ( temp 2-component vector of float) +0:63 vector-scale ( temp 2-component vector of float) +0:63 Construct vec2 ( temp 2-component vector of float) +0:63 'f' ( temp float) +0:63 Convert int to float ( temp float) +0:63 'i' ( temp int) +0:63 Convert int to float ( temp float) +0:63 'i' ( temp int) +0:64 add second child into first child ( temp 3-component vector of float) +0:64 'f3' ( temp 3-component vector of float) +0:64 add ( temp 3-component vector of float) +0:64 Construct vec3 ( temp 3-component vector of float) +0:64 'f' ( temp float) +0:64 Convert int to float ( temp float) +0:64 'i' ( temp int) +0:64 'f' ( temp float) +0:64 Convert int to float ( temp float) +0:64 'i' ( temp int) +0:65 add second child into first child ( temp 4-component vector of float) +0:65 'f4' ( temp 4-component vector of float) +0:65 subtract ( temp 4-component vector of float) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:65 Construct vec4 ( temp 4-component vector of float) +0:65 Convert bool to float ( temp float) +0:65 'b' ( temp bool) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:65 'f' ( temp float) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:67 add second child into first child ( temp 2-component vector of int) +0:67 'i2' ( temp 2-component vector of int) +0:67 Construct ivec2 ( temp 2-component vector of int) +0:67 Convert float to int ( temp int) +0:67 'f' ( temp float) +0:67 'i' ( temp int) +0:68 add second child into first child ( temp 3-component vector of int) +0:68 'i3' ( temp 3-component vector of int) +0:68 Construct ivec3 ( temp 3-component vector of int) +0:68 Convert float to int ( temp int) +0:68 'f' ( temp float) +0:68 'i' ( temp int) +0:68 Convert float to int ( temp int) +0:68 'f' ( temp float) +0:69 add second child into first child ( temp 4-component vector of int) +0:69 'i4' ( temp 4-component vector of int) +0:69 Construct ivec4 ( temp 4-component vector of int) +0:69 Convert bool to int ( temp int) +0:69 'b' ( temp bool) +0:69 'i' ( temp int) +0:69 Convert float to int ( temp int) +0:69 'f' ( temp float) +0:69 'i' ( temp int) +0:71 Test condition and select ( temp void) 0:71 Condition -0:72 logical-or (temp bool) -0:71 logical-or (temp bool) -0:71 logical-or (temp bool) -0:71 Compare Less Than (temp bool) -0:71 'f' (temp float) -0:71 Convert int to float (temp float) -0:71 'i' (temp int) -0:71 Compare Less Than (temp bool) -0:71 Convert int to float (temp float) -0:71 'i' (temp int) -0:71 'f' (temp float) -0:72 Compare Equal (temp bool) -0:72 'f2' (temp 2-component vector of float) -0:72 Convert int to float (temp 2-component vector of float) -0:72 'i2' (temp 2-component vector of int) -0:73 Compare Not Equal (temp bool) -0:73 Convert int to float (temp 3-component vector of float) -0:73 'i3' (temp 3-component vector of int) -0:73 'f3' (temp 3-component vector of float) +0:72 logical-or ( temp bool) +0:71 logical-or ( temp bool) +0:71 logical-or ( temp bool) +0:71 Compare Less Than ( temp bool) +0:71 'f' ( temp float) +0:71 Convert int to float ( temp float) +0:71 'i' ( temp int) +0:71 Compare Less Than ( temp bool) +0:71 Convert int to float ( temp float) +0:71 'i' ( temp int) +0:71 'f' ( temp float) +0:72 Compare Equal ( temp bool) +0:72 'f2' ( temp 2-component vector of float) +0:72 Convert int to float ( temp 2-component vector of float) +0:72 'i2' ( temp 2-component vector of int) +0:73 Compare Not Equal ( temp bool) +0:73 Convert int to float ( temp 3-component vector of float) +0:73 'i3' ( temp 3-component vector of int) +0:73 'f3' ( temp 3-component vector of float) 0:71 true case -0:74 move second child to first child (temp float) -0:74 'f' (temp float) -0:74 add (temp float) -0:74 Test condition and select (temp float) +0:74 move second child to first child ( temp float) +0:74 'f' ( temp float) +0:74 add ( temp float) +0:74 Test condition and select ( temp float) 0:74 Condition -0:74 'b' (temp bool) +0:74 'b' ( temp bool) 0:74 true case -0:74 Convert int to float (temp float) -0:74 'i' (temp int) +0:74 Convert int to float ( temp float) +0:74 'i' ( temp int) 0:74 false case -0:74 direct index (temp float) -0:74 'f2' (temp 2-component vector of float) +0:74 direct index ( temp float) +0:74 'f2' ( temp 2-component vector of float) 0:74 Constant: 0:74 0 (const int) -0:74 Test condition and select (temp float) +0:74 Test condition and select ( temp float) 0:74 Condition -0:74 direct index (temp bool) -0:74 'b2' (temp 2-component vector of bool) +0:74 direct index ( temp bool) +0:74 'b2' ( temp 2-component vector of bool) 0:74 Constant: 0:74 0 (const int) 0:74 true case -0:74 direct index (temp float) -0:74 'f3' (temp 3-component vector of float) +0:74 direct index ( temp float) +0:74 'f3' ( temp 3-component vector of float) 0:74 Constant: 0:74 0 (const int) 0:74 false case -0:74 Convert int to float (temp float) -0:74 direct index (temp int) -0:74 'i2' (temp 2-component vector of int) +0:74 Convert int to float ( temp float) +0:74 direct index ( temp int) +0:74 'i2' ( temp 2-component vector of int) 0:74 Constant: 0:74 1 (const int) -0:76 move second child to first child (temp 4-component vector of float) -0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:86 Test condition and select (temp 4-component vector of float) +0:76 move second child to first child ( temp 4-component vector of float) +0:76 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:86 Test condition and select ( temp 4-component vector of float) 0:86 Condition -0:85 logical-or (temp bool) -0:84 logical-or (temp bool) -0:83 logical-or (temp bool) -0:82 logical-or (temp bool) -0:81 logical-or (temp bool) -0:80 logical-or (temp bool) -0:79 logical-or (temp bool) -0:78 logical-or (temp bool) -0:77 logical-or (temp bool) -0:77 'b' (temp bool) -0:78 direct index (temp bool) -0:78 'b2' (temp 2-component vector of bool) +0:85 logical-or ( temp bool) +0:84 logical-or ( temp bool) +0:83 logical-or ( temp bool) +0:82 logical-or ( temp bool) +0:81 logical-or ( temp bool) +0:80 logical-or ( temp bool) +0:79 logical-or ( temp bool) +0:78 logical-or ( temp bool) +0:77 logical-or ( temp bool) +0:77 'b' ( temp bool) +0:78 direct index ( temp bool) +0:78 'b2' ( temp 2-component vector of bool) 0:78 Constant: 0:78 0 (const int) -0:79 direct index (temp bool) -0:79 'b2' (temp 2-component vector of bool) +0:79 direct index ( temp bool) +0:79 'b2' ( temp 2-component vector of bool) 0:79 Constant: 0:79 1 (const int) -0:80 direct index (temp bool) -0:80 'b3' (temp 3-component vector of bool) +0:80 direct index ( temp bool) +0:80 'b3' ( temp 3-component vector of bool) 0:80 Constant: 0:80 0 (const int) -0:81 direct index (temp bool) -0:81 'b3' (temp 3-component vector of bool) +0:81 direct index ( temp bool) +0:81 'b3' ( temp 3-component vector of bool) 0:81 Constant: 0:81 1 (const int) -0:82 direct index (temp bool) -0:82 'b3' (temp 3-component vector of bool) +0:82 direct index ( temp bool) +0:82 'b3' ( temp 3-component vector of bool) 0:82 Constant: 0:82 2 (const int) -0:83 direct index (temp bool) -0:83 'b4' (temp 4-component vector of bool) +0:83 direct index ( temp bool) +0:83 'b4' ( temp 4-component vector of bool) 0:83 Constant: 0:83 0 (const int) -0:84 direct index (temp bool) -0:84 'b4' (temp 4-component vector of bool) +0:84 direct index ( temp bool) +0:84 'b4' ( temp 4-component vector of bool) 0:84 Constant: 0:84 1 (const int) -0:85 direct index (temp bool) -0:85 'b4' (temp 4-component vector of bool) +0:85 direct index ( temp bool) +0:85 'b4' ( temp 4-component vector of bool) 0:85 Constant: 0:85 2 (const int) -0:86 direct index (temp bool) -0:86 'b4' (temp 4-component vector of bool) +0:86 direct index ( temp bool) +0:86 'b4' ( temp 4-component vector of bool) 0:86 Constant: 0:86 3 (const int) 0:86 true case -0:105 Construct vec4 (temp 4-component vector of float) -0:105 add (temp float) -0:104 add (temp float) -0:103 add (temp float) -0:102 add (temp float) -0:101 add (temp float) -0:100 add (temp float) -0:99 add (temp float) -0:98 add (temp float) -0:97 add (temp float) -0:96 add (temp float) -0:95 Convert int to float (temp float) -0:95 add (temp int) -0:94 add (temp int) -0:93 add (temp int) -0:92 add (temp int) -0:91 add (temp int) -0:90 add (temp int) -0:89 add (temp int) -0:88 add (temp int) -0:87 add (temp int) -0:87 'i' (temp int) -0:88 direct index (temp int) -0:88 'i2' (temp 2-component vector of int) +0:105 Construct vec4 ( temp 4-component vector of float) +0:105 add ( temp float) +0:104 add ( temp float) +0:103 add ( temp float) +0:102 add ( temp float) +0:101 add ( temp float) +0:100 add ( temp float) +0:99 add ( temp float) +0:98 add ( temp float) +0:97 add ( temp float) +0:96 add ( temp float) +0:95 Convert int to float ( temp float) +0:95 add ( temp int) +0:94 add ( temp int) +0:93 add ( temp int) +0:92 add ( temp int) +0:91 add ( temp int) +0:90 add ( temp int) +0:89 add ( temp int) +0:88 add ( temp int) +0:87 add ( temp int) +0:87 'i' ( temp int) +0:88 direct index ( temp int) +0:88 'i2' ( temp 2-component vector of int) 0:88 Constant: 0:88 0 (const int) -0:89 direct index (temp int) -0:89 'i2' (temp 2-component vector of int) +0:89 direct index ( temp int) +0:89 'i2' ( temp 2-component vector of int) 0:89 Constant: 0:89 1 (const int) -0:90 direct index (temp int) -0:90 'i3' (temp 3-component vector of int) +0:90 direct index ( temp int) +0:90 'i3' ( temp 3-component vector of int) 0:90 Constant: 0:90 0 (const int) -0:91 direct index (temp int) -0:91 'i3' (temp 3-component vector of int) +0:91 direct index ( temp int) +0:91 'i3' ( temp 3-component vector of int) 0:91 Constant: 0:91 1 (const int) -0:92 direct index (temp int) -0:92 'i3' (temp 3-component vector of int) +0:92 direct index ( temp int) +0:92 'i3' ( temp 3-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:93 direct index (temp int) -0:93 'i4' (temp 4-component vector of int) +0:93 direct index ( temp int) +0:93 'i4' ( temp 4-component vector of int) 0:93 Constant: 0:93 0 (const int) -0:94 direct index (temp int) -0:94 'i4' (temp 4-component vector of int) +0:94 direct index ( temp int) +0:94 'i4' ( temp 4-component vector of int) 0:94 Constant: 0:94 1 (const int) -0:95 direct index (temp int) -0:95 'i4' (temp 4-component vector of int) +0:95 direct index ( temp int) +0:95 'i4' ( temp 4-component vector of int) 0:95 Constant: 0:95 2 (const int) -0:96 direct index (temp int) -0:96 'i4' (temp 4-component vector of int) +0:96 direct index ( temp int) +0:96 'i4' ( temp 4-component vector of int) 0:96 Constant: 0:96 3 (const int) -0:97 'f' (temp float) -0:98 direct index (temp float) -0:98 'f2' (temp 2-component vector of float) +0:97 'f' ( temp float) +0:98 direct index ( temp float) +0:98 'f2' ( temp 2-component vector of float) 0:98 Constant: 0:98 0 (const int) -0:99 direct index (temp float) -0:99 'f2' (temp 2-component vector of float) +0:99 direct index ( temp float) +0:99 'f2' ( temp 2-component vector of float) 0:99 Constant: 0:99 1 (const int) -0:100 direct index (temp float) -0:100 'f3' (temp 3-component vector of float) +0:100 direct index ( temp float) +0:100 'f3' ( temp 3-component vector of float) 0:100 Constant: 0:100 0 (const int) -0:101 direct index (temp float) -0:101 'f3' (temp 3-component vector of float) +0:101 direct index ( temp float) +0:101 'f3' ( temp 3-component vector of float) 0:101 Constant: 0:101 1 (const int) -0:102 direct index (temp float) -0:102 'f3' (temp 3-component vector of float) +0:102 direct index ( temp float) +0:102 'f3' ( temp 3-component vector of float) 0:102 Constant: 0:102 2 (const int) -0:103 direct index (temp float) -0:103 'f4' (temp 4-component vector of float) +0:103 direct index ( temp float) +0:103 'f4' ( temp 4-component vector of float) 0:103 Constant: 0:103 0 (const int) -0:104 direct index (temp float) -0:104 'f4' (temp 4-component vector of float) +0:104 direct index ( temp float) +0:104 'f4' ( temp 4-component vector of float) 0:104 Constant: 0:104 1 (const int) -0:105 direct index (temp float) -0:105 'f4' (temp 4-component vector of float) +0:105 direct index ( temp float) +0:105 'f4' ( temp 4-component vector of float) 0:105 Constant: 0:105 2 (const int) -0:106 direct index (temp float) -0:106 'f4' (temp 4-component vector of float) +0:106 direct index ( temp float) +0:106 'f4' ( temp 4-component vector of float) 0:106 Constant: 0:106 3 (const int) 0:86 false case @@ -431,48 +431,48 @@ Shader version: 130 0:106 1.000000 0:106 1.000000 0:109 Sequence -0:109 move second child to first child (temp 4-component vector of int) -0:109 'cv2' (temp 4-component vector of int) +0:109 move second child to first child ( temp 4-component vector of int) +0:109 'cv2' ( temp 4-component vector of int) 0:109 Constant: 0:109 1 (const int) 0:109 1 (const int) 0:109 1 (const int) 0:109 1 (const int) 0:110 Sequence -0:110 move second child to first child (temp 4-component vector of bool) -0:110 'cv5' (temp 4-component vector of bool) -0:110 Convert int to bool (temp 4-component vector of bool) -0:110 'cv2' (temp 4-component vector of int) -0:111 add second child into first child (temp 4-component vector of float) -0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:111 Construct float (temp float) -0:111 Convert bool to float (temp 4-component vector of float) -0:111 'cv5' (temp 4-component vector of bool) +0:110 move second child to first child ( temp 4-component vector of bool) +0:110 'cv5' ( temp 4-component vector of bool) +0:110 Convert int to bool ( temp 4-component vector of bool) +0:110 'cv2' ( temp 4-component vector of int) +0:111 add second child into first child ( temp 4-component vector of float) +0:111 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:111 Construct float ( temp float) +0:111 Convert bool to float ( temp 4-component vector of float) +0:111 'cv5' ( temp 4-component vector of bool) 0:? Linker Objects -0:? 'u_b' (uniform bool) -0:? 'u_b2' (uniform 2-component vector of bool) -0:? 'u_b3' (uniform 3-component vector of bool) -0:? 'u_b4' (uniform 4-component vector of bool) -0:? 'u_i' (uniform int) -0:? 'u_i2' (uniform 2-component vector of int) -0:? 'u_i3' (uniform 3-component vector of int) -0:? 'u_i4' (uniform 4-component vector of int) -0:? 'u_f' (uniform float) -0:? 'u_f2' (uniform 2-component vector of float) -0:? 'u_f3' (uniform 3-component vector of float) -0:? 'u_f4' (uniform 4-component vector of float) -0:? 'i_b' (uniform bool) -0:? 'i_b2' (uniform 2-component vector of bool) -0:? 'i_b3' (uniform 3-component vector of bool) -0:? 'i_b4' (uniform 4-component vector of bool) -0:? 'i_i' (flat in int) -0:? 'i_i2' (flat in 2-component vector of int) -0:? 'i_i3' (flat in 3-component vector of int) -0:? 'i_i4' (flat in 4-component vector of int) -0:? 'i_f' (smooth in float) -0:? 'i_f2' (smooth in 2-component vector of float) -0:? 'i_f3' (smooth in 3-component vector of float) -0:? 'i_f4' (smooth in 4-component vector of float) +0:? 'u_b' ( uniform bool) +0:? 'u_b2' ( uniform 2-component vector of bool) +0:? 'u_b3' ( uniform 3-component vector of bool) +0:? 'u_b4' ( uniform 4-component vector of bool) +0:? 'u_i' ( uniform int) +0:? 'u_i2' ( uniform 2-component vector of int) +0:? 'u_i3' ( uniform 3-component vector of int) +0:? 'u_i4' ( uniform 4-component vector of int) +0:? 'u_f' ( uniform float) +0:? 'u_f2' ( uniform 2-component vector of float) +0:? 'u_f3' ( uniform 3-component vector of float) +0:? 'u_f4' ( uniform 4-component vector of float) +0:? 'i_b' ( uniform bool) +0:? 'i_b2' ( uniform 2-component vector of bool) +0:? 'i_b3' ( uniform 3-component vector of bool) +0:? 'i_b4' ( uniform 4-component vector of bool) +0:? 'i_i' ( flat in int) +0:? 'i_i2' ( flat in 2-component vector of int) +0:? 'i_i3' ( flat in 3-component vector of int) +0:? 'i_i4' ( flat in 4-component vector of int) +0:? 'i_f' ( smooth in float) +0:? 'i_f2' ( smooth in 2-component vector of float) +0:? 'i_f3' ( smooth in 3-component vector of float) +0:? 'i_f4' ( smooth in 4-component vector of float) Linked fragment stage: @@ -480,427 +480,427 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:33 Function Definition: main( (global void) +0:33 Function Definition: main( ( global void) 0:33 Function Parameters: 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp bool) -0:35 'b' (temp bool) -0:35 logical-xor (temp bool) -0:35 Convert int to bool (temp bool) -0:35 'u_i' (uniform int) -0:35 Convert float to bool (temp bool) -0:35 'u_f' (uniform float) +0:35 move second child to first child ( temp bool) +0:35 'b' ( temp bool) +0:35 logical-xor ( temp bool) +0:35 Convert int to bool ( temp bool) +0:35 'u_i' ( uniform int) +0:35 Convert float to bool ( temp bool) +0:35 'u_f' ( uniform float) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of bool) -0:36 'b2' (temp 2-component vector of bool) -0:36 Construct bvec2 (temp 2-component vector of bool) -0:36 Convert int to bool (temp bool) -0:36 'u_i' (uniform int) -0:36 Convert float to bool (temp bool) -0:36 'u_f' (uniform float) +0:36 move second child to first child ( temp 2-component vector of bool) +0:36 'b2' ( temp 2-component vector of bool) +0:36 Construct bvec2 ( temp 2-component vector of bool) +0:36 Convert int to bool ( temp bool) +0:36 'u_i' ( uniform int) +0:36 Convert float to bool ( temp bool) +0:36 'u_f' ( uniform float) 0:37 Sequence -0:37 move second child to first child (temp 3-component vector of bool) -0:37 'b3' (temp 3-component vector of bool) -0:37 Construct bvec3 (temp 3-component vector of bool) -0:37 Convert int to bool (temp bool) -0:37 'u_i' (uniform int) -0:37 Convert float to bool (temp bool) -0:37 'u_f' (uniform float) -0:37 Convert int to bool (temp bool) -0:37 'i_i' (flat in int) +0:37 move second child to first child ( temp 3-component vector of bool) +0:37 'b3' ( temp 3-component vector of bool) +0:37 Construct bvec3 ( temp 3-component vector of bool) +0:37 Convert int to bool ( temp bool) +0:37 'u_i' ( uniform int) +0:37 Convert float to bool ( temp bool) +0:37 'u_f' ( uniform float) +0:37 Convert int to bool ( temp bool) +0:37 'i_i' ( flat in int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b4' (temp 4-component vector of bool) -0:38 Construct bvec4 (temp 4-component vector of bool) -0:38 Convert int to bool (temp bool) -0:38 'u_i' (uniform int) -0:38 Convert float to bool (temp bool) -0:38 'u_f' (uniform float) -0:38 Convert int to bool (temp bool) -0:38 'i_i' (flat in int) -0:38 Convert float to bool (temp bool) -0:38 'i_f' (smooth in float) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b4' ( temp 4-component vector of bool) +0:38 Construct bvec4 ( temp 4-component vector of bool) +0:38 Convert int to bool ( temp bool) +0:38 'u_i' ( uniform int) +0:38 Convert float to bool ( temp bool) +0:38 'u_f' ( uniform float) +0:38 Convert int to bool ( temp bool) +0:38 'i_i' ( flat in int) +0:38 Convert float to bool ( temp bool) +0:38 'i_f' ( smooth in float) 0:40 Sequence -0:40 move second child to first child (temp int) -0:40 'i' (temp int) -0:40 add (temp int) -0:40 Convert float to int (temp int) -0:40 'u_f' (uniform float) -0:40 Convert bool to int (temp int) -0:40 'b' (temp bool) +0:40 move second child to first child ( temp int) +0:40 'i' ( temp int) +0:40 add ( temp int) +0:40 Convert float to int ( temp int) +0:40 'u_f' ( uniform float) +0:40 Convert bool to int ( temp int) +0:40 'b' ( temp bool) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of int) -0:41 'i2' (temp 2-component vector of int) -0:41 add (temp 2-component vector of int) -0:41 Convert float to int (temp 2-component vector of int) -0:41 'u_f2' (uniform 2-component vector of float) -0:41 Convert bool to int (temp 2-component vector of int) -0:41 'b2' (temp 2-component vector of bool) +0:41 move second child to first child ( temp 2-component vector of int) +0:41 'i2' ( temp 2-component vector of int) +0:41 add ( temp 2-component vector of int) +0:41 Convert float to int ( temp 2-component vector of int) +0:41 'u_f2' ( uniform 2-component vector of float) +0:41 Convert bool to int ( temp 2-component vector of int) +0:41 'b2' ( temp 2-component vector of bool) 0:42 Sequence -0:42 move second child to first child (temp 3-component vector of int) -0:42 'i3' (temp 3-component vector of int) -0:42 add (temp 3-component vector of int) -0:42 Convert float to int (temp 3-component vector of int) -0:42 'u_f3' (uniform 3-component vector of float) -0:42 Convert bool to int (temp 3-component vector of int) -0:42 'b3' (temp 3-component vector of bool) +0:42 move second child to first child ( temp 3-component vector of int) +0:42 'i3' ( temp 3-component vector of int) +0:42 add ( temp 3-component vector of int) +0:42 Convert float to int ( temp 3-component vector of int) +0:42 'u_f3' ( uniform 3-component vector of float) +0:42 Convert bool to int ( temp 3-component vector of int) +0:42 'b3' ( temp 3-component vector of bool) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'i4' (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:43 Convert float to int (temp 4-component vector of int) -0:43 'u_f4' (uniform 4-component vector of float) -0:43 Convert bool to int (temp 4-component vector of int) -0:43 'b4' (temp 4-component vector of bool) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'i4' ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:43 Convert float to int ( temp 4-component vector of int) +0:43 'u_f4' ( uniform 4-component vector of float) +0:43 Convert bool to int ( temp 4-component vector of int) +0:43 'b4' ( temp 4-component vector of bool) 0:45 Sequence -0:45 move second child to first child (temp float) -0:45 'f' (temp float) -0:45 Convert int to float (temp float) -0:45 'i' (temp int) +0:45 move second child to first child ( temp float) +0:45 'f' ( temp float) +0:45 Convert int to float ( temp float) +0:45 'i' ( temp int) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'f2' (temp 2-component vector of float) -0:46 Convert int to float (temp 2-component vector of float) -0:46 'i2' (temp 2-component vector of int) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'f2' ( temp 2-component vector of float) +0:46 Convert int to float ( temp 2-component vector of float) +0:46 'i2' ( temp 2-component vector of int) 0:47 Sequence -0:47 move second child to first child (temp 3-component vector of float) -0:47 'f3' (temp 3-component vector of float) -0:47 Convert int to float (temp 3-component vector of float) -0:47 'i3' (temp 3-component vector of int) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'f3' ( temp 3-component vector of float) +0:47 Convert int to float ( temp 3-component vector of float) +0:47 'i3' ( temp 3-component vector of int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'f4' (temp 4-component vector of float) -0:48 Convert int to float (temp 4-component vector of float) -0:48 'i4' (temp 4-component vector of int) -0:50 add second child into first child (temp float) -0:50 'f' (temp float) -0:50 add (temp float) -0:50 Convert int to float (temp float) -0:50 'i' (temp int) -0:50 Convert bool to float (temp float) -0:50 'b' (temp bool) -0:51 subtract second child into first child (temp 2-component vector of float) -0:51 'f2' (temp 2-component vector of float) -0:51 add (temp 2-component vector of float) -0:51 Convert int to float (temp 2-component vector of float) -0:51 'i2' (temp 2-component vector of int) -0:51 Convert bool to float (temp 2-component vector of float) -0:51 'b2' (temp 2-component vector of bool) -0:52 divide second child into first child (temp 3-component vector of float) -0:52 'f3' (temp 3-component vector of float) -0:52 add (temp 3-component vector of float) -0:52 Convert int to float (temp 3-component vector of float) -0:52 'i3' (temp 3-component vector of int) -0:52 Convert bool to float (temp 3-component vector of float) -0:52 'b3' (temp 3-component vector of bool) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'f4' (temp 4-component vector of float) -0:53 add (temp 4-component vector of float) -0:53 Convert int to float (temp 4-component vector of float) -0:53 'i4' (temp 4-component vector of int) -0:53 Convert bool to float (temp 4-component vector of float) -0:53 'b4' (temp 4-component vector of bool) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'f4' (temp 4-component vector of float) -0:55 Convert bool to float (temp 4-component vector of float) -0:55 Convert int to bool (temp 4-component vector of bool) -0:55 'i_i4' (flat in 4-component vector of int) -0:56 add second child into first child (temp 4-component vector of float) -0:56 'f4' (temp 4-component vector of float) -0:56 Convert bool to float (temp 4-component vector of float) -0:56 Convert float to bool (temp 4-component vector of bool) -0:56 'u_f4' (uniform 4-component vector of float) -0:58 add second child into first child (temp float) -0:58 'f' (temp float) -0:58 subtract (temp float) -0:58 'f' (temp float) -0:58 Convert int to float (temp float) -0:58 'i' (temp int) -0:59 add second child into first child (temp 2-component vector of float) -0:59 'f2' (temp 2-component vector of float) -0:59 add (temp 2-component vector of float) -0:59 Construct vec2 (temp 2-component vector of float) -0:59 'f' (temp float) -0:59 Convert int to float (temp float) -0:59 'i' (temp int) -0:59 Convert int to float (temp 2-component vector of float) -0:59 'i2' (temp 2-component vector of int) -0:60 add second child into first child (temp 3-component vector of float) -0:60 'f3' (temp 3-component vector of float) -0:60 add (temp 3-component vector of float) -0:60 Convert int to float (temp 3-component vector of float) -0:60 'i3' (temp 3-component vector of int) -0:60 Construct vec3 (temp 3-component vector of float) -0:60 'f' (temp float) -0:60 Convert int to float (temp float) -0:60 'i' (temp int) -0:60 'f' (temp float) -0:61 add second child into first child (temp 4-component vector of float) -0:61 'f4' (temp 4-component vector of float) -0:61 add (temp 4-component vector of float) -0:61 Construct vec4 (temp 4-component vector of float) -0:61 Convert bool to float (temp float) -0:61 'b' (temp bool) -0:61 Convert int to float (temp float) -0:61 'i' (temp int) -0:61 'f' (temp float) -0:61 Convert int to float (temp float) -0:61 'i' (temp int) -0:61 Convert int to float (temp 4-component vector of float) -0:61 'i4' (temp 4-component vector of int) -0:63 add second child into first child (temp 2-component vector of float) -0:63 'f2' (temp 2-component vector of float) -0:63 vector-scale (temp 2-component vector of float) -0:63 Construct vec2 (temp 2-component vector of float) -0:63 'f' (temp float) -0:63 Convert int to float (temp float) -0:63 'i' (temp int) -0:63 Convert int to float (temp float) -0:63 'i' (temp int) -0:64 add second child into first child (temp 3-component vector of float) -0:64 'f3' (temp 3-component vector of float) -0:64 add (temp 3-component vector of float) -0:64 Construct vec3 (temp 3-component vector of float) -0:64 'f' (temp float) -0:64 Convert int to float (temp float) -0:64 'i' (temp int) -0:64 'f' (temp float) -0:64 Convert int to float (temp float) -0:64 'i' (temp int) -0:65 add second child into first child (temp 4-component vector of float) -0:65 'f4' (temp 4-component vector of float) -0:65 subtract (temp 4-component vector of float) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:65 Construct vec4 (temp 4-component vector of float) -0:65 Convert bool to float (temp float) -0:65 'b' (temp bool) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:65 'f' (temp float) -0:65 Convert int to float (temp float) -0:65 'i' (temp int) -0:67 add second child into first child (temp 2-component vector of int) -0:67 'i2' (temp 2-component vector of int) -0:67 Construct ivec2 (temp 2-component vector of int) -0:67 Convert float to int (temp int) -0:67 'f' (temp float) -0:67 'i' (temp int) -0:68 add second child into first child (temp 3-component vector of int) -0:68 'i3' (temp 3-component vector of int) -0:68 Construct ivec3 (temp 3-component vector of int) -0:68 Convert float to int (temp int) -0:68 'f' (temp float) -0:68 'i' (temp int) -0:68 Convert float to int (temp int) -0:68 'f' (temp float) -0:69 add second child into first child (temp 4-component vector of int) -0:69 'i4' (temp 4-component vector of int) -0:69 Construct ivec4 (temp 4-component vector of int) -0:69 Convert bool to int (temp int) -0:69 'b' (temp bool) -0:69 'i' (temp int) -0:69 Convert float to int (temp int) -0:69 'f' (temp float) -0:69 'i' (temp int) -0:71 Test condition and select (temp void) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'f4' ( temp 4-component vector of float) +0:48 Convert int to float ( temp 4-component vector of float) +0:48 'i4' ( temp 4-component vector of int) +0:50 add second child into first child ( temp float) +0:50 'f' ( temp float) +0:50 add ( temp float) +0:50 Convert int to float ( temp float) +0:50 'i' ( temp int) +0:50 Convert bool to float ( temp float) +0:50 'b' ( temp bool) +0:51 subtract second child into first child ( temp 2-component vector of float) +0:51 'f2' ( temp 2-component vector of float) +0:51 add ( temp 2-component vector of float) +0:51 Convert int to float ( temp 2-component vector of float) +0:51 'i2' ( temp 2-component vector of int) +0:51 Convert bool to float ( temp 2-component vector of float) +0:51 'b2' ( temp 2-component vector of bool) +0:52 divide second child into first child ( temp 3-component vector of float) +0:52 'f3' ( temp 3-component vector of float) +0:52 add ( temp 3-component vector of float) +0:52 Convert int to float ( temp 3-component vector of float) +0:52 'i3' ( temp 3-component vector of int) +0:52 Convert bool to float ( temp 3-component vector of float) +0:52 'b3' ( temp 3-component vector of bool) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'f4' ( temp 4-component vector of float) +0:53 add ( temp 4-component vector of float) +0:53 Convert int to float ( temp 4-component vector of float) +0:53 'i4' ( temp 4-component vector of int) +0:53 Convert bool to float ( temp 4-component vector of float) +0:53 'b4' ( temp 4-component vector of bool) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'f4' ( temp 4-component vector of float) +0:55 Convert bool to float ( temp 4-component vector of float) +0:55 Convert int to bool ( temp 4-component vector of bool) +0:55 'i_i4' ( flat in 4-component vector of int) +0:56 add second child into first child ( temp 4-component vector of float) +0:56 'f4' ( temp 4-component vector of float) +0:56 Convert bool to float ( temp 4-component vector of float) +0:56 Convert float to bool ( temp 4-component vector of bool) +0:56 'u_f4' ( uniform 4-component vector of float) +0:58 add second child into first child ( temp float) +0:58 'f' ( temp float) +0:58 subtract ( temp float) +0:58 'f' ( temp float) +0:58 Convert int to float ( temp float) +0:58 'i' ( temp int) +0:59 add second child into first child ( temp 2-component vector of float) +0:59 'f2' ( temp 2-component vector of float) +0:59 add ( temp 2-component vector of float) +0:59 Construct vec2 ( temp 2-component vector of float) +0:59 'f' ( temp float) +0:59 Convert int to float ( temp float) +0:59 'i' ( temp int) +0:59 Convert int to float ( temp 2-component vector of float) +0:59 'i2' ( temp 2-component vector of int) +0:60 add second child into first child ( temp 3-component vector of float) +0:60 'f3' ( temp 3-component vector of float) +0:60 add ( temp 3-component vector of float) +0:60 Convert int to float ( temp 3-component vector of float) +0:60 'i3' ( temp 3-component vector of int) +0:60 Construct vec3 ( temp 3-component vector of float) +0:60 'f' ( temp float) +0:60 Convert int to float ( temp float) +0:60 'i' ( temp int) +0:60 'f' ( temp float) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'f4' ( temp 4-component vector of float) +0:61 add ( temp 4-component vector of float) +0:61 Construct vec4 ( temp 4-component vector of float) +0:61 Convert bool to float ( temp float) +0:61 'b' ( temp bool) +0:61 Convert int to float ( temp float) +0:61 'i' ( temp int) +0:61 'f' ( temp float) +0:61 Convert int to float ( temp float) +0:61 'i' ( temp int) +0:61 Convert int to float ( temp 4-component vector of float) +0:61 'i4' ( temp 4-component vector of int) +0:63 add second child into first child ( temp 2-component vector of float) +0:63 'f2' ( temp 2-component vector of float) +0:63 vector-scale ( temp 2-component vector of float) +0:63 Construct vec2 ( temp 2-component vector of float) +0:63 'f' ( temp float) +0:63 Convert int to float ( temp float) +0:63 'i' ( temp int) +0:63 Convert int to float ( temp float) +0:63 'i' ( temp int) +0:64 add second child into first child ( temp 3-component vector of float) +0:64 'f3' ( temp 3-component vector of float) +0:64 add ( temp 3-component vector of float) +0:64 Construct vec3 ( temp 3-component vector of float) +0:64 'f' ( temp float) +0:64 Convert int to float ( temp float) +0:64 'i' ( temp int) +0:64 'f' ( temp float) +0:64 Convert int to float ( temp float) +0:64 'i' ( temp int) +0:65 add second child into first child ( temp 4-component vector of float) +0:65 'f4' ( temp 4-component vector of float) +0:65 subtract ( temp 4-component vector of float) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:65 Construct vec4 ( temp 4-component vector of float) +0:65 Convert bool to float ( temp float) +0:65 'b' ( temp bool) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:65 'f' ( temp float) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) +0:67 add second child into first child ( temp 2-component vector of int) +0:67 'i2' ( temp 2-component vector of int) +0:67 Construct ivec2 ( temp 2-component vector of int) +0:67 Convert float to int ( temp int) +0:67 'f' ( temp float) +0:67 'i' ( temp int) +0:68 add second child into first child ( temp 3-component vector of int) +0:68 'i3' ( temp 3-component vector of int) +0:68 Construct ivec3 ( temp 3-component vector of int) +0:68 Convert float to int ( temp int) +0:68 'f' ( temp float) +0:68 'i' ( temp int) +0:68 Convert float to int ( temp int) +0:68 'f' ( temp float) +0:69 add second child into first child ( temp 4-component vector of int) +0:69 'i4' ( temp 4-component vector of int) +0:69 Construct ivec4 ( temp 4-component vector of int) +0:69 Convert bool to int ( temp int) +0:69 'b' ( temp bool) +0:69 'i' ( temp int) +0:69 Convert float to int ( temp int) +0:69 'f' ( temp float) +0:69 'i' ( temp int) +0:71 Test condition and select ( temp void) 0:71 Condition -0:72 logical-or (temp bool) -0:71 logical-or (temp bool) -0:71 logical-or (temp bool) -0:71 Compare Less Than (temp bool) -0:71 'f' (temp float) -0:71 Convert int to float (temp float) -0:71 'i' (temp int) -0:71 Compare Less Than (temp bool) -0:71 Convert int to float (temp float) -0:71 'i' (temp int) -0:71 'f' (temp float) -0:72 Compare Equal (temp bool) -0:72 'f2' (temp 2-component vector of float) -0:72 Convert int to float (temp 2-component vector of float) -0:72 'i2' (temp 2-component vector of int) -0:73 Compare Not Equal (temp bool) -0:73 Convert int to float (temp 3-component vector of float) -0:73 'i3' (temp 3-component vector of int) -0:73 'f3' (temp 3-component vector of float) +0:72 logical-or ( temp bool) +0:71 logical-or ( temp bool) +0:71 logical-or ( temp bool) +0:71 Compare Less Than ( temp bool) +0:71 'f' ( temp float) +0:71 Convert int to float ( temp float) +0:71 'i' ( temp int) +0:71 Compare Less Than ( temp bool) +0:71 Convert int to float ( temp float) +0:71 'i' ( temp int) +0:71 'f' ( temp float) +0:72 Compare Equal ( temp bool) +0:72 'f2' ( temp 2-component vector of float) +0:72 Convert int to float ( temp 2-component vector of float) +0:72 'i2' ( temp 2-component vector of int) +0:73 Compare Not Equal ( temp bool) +0:73 Convert int to float ( temp 3-component vector of float) +0:73 'i3' ( temp 3-component vector of int) +0:73 'f3' ( temp 3-component vector of float) 0:71 true case -0:74 move second child to first child (temp float) -0:74 'f' (temp float) -0:74 add (temp float) -0:74 Test condition and select (temp float) +0:74 move second child to first child ( temp float) +0:74 'f' ( temp float) +0:74 add ( temp float) +0:74 Test condition and select ( temp float) 0:74 Condition -0:74 'b' (temp bool) +0:74 'b' ( temp bool) 0:74 true case -0:74 Convert int to float (temp float) -0:74 'i' (temp int) +0:74 Convert int to float ( temp float) +0:74 'i' ( temp int) 0:74 false case -0:74 direct index (temp float) -0:74 'f2' (temp 2-component vector of float) +0:74 direct index ( temp float) +0:74 'f2' ( temp 2-component vector of float) 0:74 Constant: 0:74 0 (const int) -0:74 Test condition and select (temp float) +0:74 Test condition and select ( temp float) 0:74 Condition -0:74 direct index (temp bool) -0:74 'b2' (temp 2-component vector of bool) +0:74 direct index ( temp bool) +0:74 'b2' ( temp 2-component vector of bool) 0:74 Constant: 0:74 0 (const int) 0:74 true case -0:74 direct index (temp float) -0:74 'f3' (temp 3-component vector of float) +0:74 direct index ( temp float) +0:74 'f3' ( temp 3-component vector of float) 0:74 Constant: 0:74 0 (const int) 0:74 false case -0:74 Convert int to float (temp float) -0:74 direct index (temp int) -0:74 'i2' (temp 2-component vector of int) +0:74 Convert int to float ( temp float) +0:74 direct index ( temp int) +0:74 'i2' ( temp 2-component vector of int) 0:74 Constant: 0:74 1 (const int) -0:76 move second child to first child (temp 4-component vector of float) -0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:86 Test condition and select (temp 4-component vector of float) +0:76 move second child to first child ( temp 4-component vector of float) +0:76 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:86 Test condition and select ( temp 4-component vector of float) 0:86 Condition -0:85 logical-or (temp bool) -0:84 logical-or (temp bool) -0:83 logical-or (temp bool) -0:82 logical-or (temp bool) -0:81 logical-or (temp bool) -0:80 logical-or (temp bool) -0:79 logical-or (temp bool) -0:78 logical-or (temp bool) -0:77 logical-or (temp bool) -0:77 'b' (temp bool) -0:78 direct index (temp bool) -0:78 'b2' (temp 2-component vector of bool) +0:85 logical-or ( temp bool) +0:84 logical-or ( temp bool) +0:83 logical-or ( temp bool) +0:82 logical-or ( temp bool) +0:81 logical-or ( temp bool) +0:80 logical-or ( temp bool) +0:79 logical-or ( temp bool) +0:78 logical-or ( temp bool) +0:77 logical-or ( temp bool) +0:77 'b' ( temp bool) +0:78 direct index ( temp bool) +0:78 'b2' ( temp 2-component vector of bool) 0:78 Constant: 0:78 0 (const int) -0:79 direct index (temp bool) -0:79 'b2' (temp 2-component vector of bool) +0:79 direct index ( temp bool) +0:79 'b2' ( temp 2-component vector of bool) 0:79 Constant: 0:79 1 (const int) -0:80 direct index (temp bool) -0:80 'b3' (temp 3-component vector of bool) +0:80 direct index ( temp bool) +0:80 'b3' ( temp 3-component vector of bool) 0:80 Constant: 0:80 0 (const int) -0:81 direct index (temp bool) -0:81 'b3' (temp 3-component vector of bool) +0:81 direct index ( temp bool) +0:81 'b3' ( temp 3-component vector of bool) 0:81 Constant: 0:81 1 (const int) -0:82 direct index (temp bool) -0:82 'b3' (temp 3-component vector of bool) +0:82 direct index ( temp bool) +0:82 'b3' ( temp 3-component vector of bool) 0:82 Constant: 0:82 2 (const int) -0:83 direct index (temp bool) -0:83 'b4' (temp 4-component vector of bool) +0:83 direct index ( temp bool) +0:83 'b4' ( temp 4-component vector of bool) 0:83 Constant: 0:83 0 (const int) -0:84 direct index (temp bool) -0:84 'b4' (temp 4-component vector of bool) +0:84 direct index ( temp bool) +0:84 'b4' ( temp 4-component vector of bool) 0:84 Constant: 0:84 1 (const int) -0:85 direct index (temp bool) -0:85 'b4' (temp 4-component vector of bool) +0:85 direct index ( temp bool) +0:85 'b4' ( temp 4-component vector of bool) 0:85 Constant: 0:85 2 (const int) -0:86 direct index (temp bool) -0:86 'b4' (temp 4-component vector of bool) +0:86 direct index ( temp bool) +0:86 'b4' ( temp 4-component vector of bool) 0:86 Constant: 0:86 3 (const int) 0:86 true case -0:105 Construct vec4 (temp 4-component vector of float) -0:105 add (temp float) -0:104 add (temp float) -0:103 add (temp float) -0:102 add (temp float) -0:101 add (temp float) -0:100 add (temp float) -0:99 add (temp float) -0:98 add (temp float) -0:97 add (temp float) -0:96 add (temp float) -0:95 Convert int to float (temp float) -0:95 add (temp int) -0:94 add (temp int) -0:93 add (temp int) -0:92 add (temp int) -0:91 add (temp int) -0:90 add (temp int) -0:89 add (temp int) -0:88 add (temp int) -0:87 add (temp int) -0:87 'i' (temp int) -0:88 direct index (temp int) -0:88 'i2' (temp 2-component vector of int) +0:105 Construct vec4 ( temp 4-component vector of float) +0:105 add ( temp float) +0:104 add ( temp float) +0:103 add ( temp float) +0:102 add ( temp float) +0:101 add ( temp float) +0:100 add ( temp float) +0:99 add ( temp float) +0:98 add ( temp float) +0:97 add ( temp float) +0:96 add ( temp float) +0:95 Convert int to float ( temp float) +0:95 add ( temp int) +0:94 add ( temp int) +0:93 add ( temp int) +0:92 add ( temp int) +0:91 add ( temp int) +0:90 add ( temp int) +0:89 add ( temp int) +0:88 add ( temp int) +0:87 add ( temp int) +0:87 'i' ( temp int) +0:88 direct index ( temp int) +0:88 'i2' ( temp 2-component vector of int) 0:88 Constant: 0:88 0 (const int) -0:89 direct index (temp int) -0:89 'i2' (temp 2-component vector of int) +0:89 direct index ( temp int) +0:89 'i2' ( temp 2-component vector of int) 0:89 Constant: 0:89 1 (const int) -0:90 direct index (temp int) -0:90 'i3' (temp 3-component vector of int) +0:90 direct index ( temp int) +0:90 'i3' ( temp 3-component vector of int) 0:90 Constant: 0:90 0 (const int) -0:91 direct index (temp int) -0:91 'i3' (temp 3-component vector of int) +0:91 direct index ( temp int) +0:91 'i3' ( temp 3-component vector of int) 0:91 Constant: 0:91 1 (const int) -0:92 direct index (temp int) -0:92 'i3' (temp 3-component vector of int) +0:92 direct index ( temp int) +0:92 'i3' ( temp 3-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:93 direct index (temp int) -0:93 'i4' (temp 4-component vector of int) +0:93 direct index ( temp int) +0:93 'i4' ( temp 4-component vector of int) 0:93 Constant: 0:93 0 (const int) -0:94 direct index (temp int) -0:94 'i4' (temp 4-component vector of int) +0:94 direct index ( temp int) +0:94 'i4' ( temp 4-component vector of int) 0:94 Constant: 0:94 1 (const int) -0:95 direct index (temp int) -0:95 'i4' (temp 4-component vector of int) +0:95 direct index ( temp int) +0:95 'i4' ( temp 4-component vector of int) 0:95 Constant: 0:95 2 (const int) -0:96 direct index (temp int) -0:96 'i4' (temp 4-component vector of int) +0:96 direct index ( temp int) +0:96 'i4' ( temp 4-component vector of int) 0:96 Constant: 0:96 3 (const int) -0:97 'f' (temp float) -0:98 direct index (temp float) -0:98 'f2' (temp 2-component vector of float) +0:97 'f' ( temp float) +0:98 direct index ( temp float) +0:98 'f2' ( temp 2-component vector of float) 0:98 Constant: 0:98 0 (const int) -0:99 direct index (temp float) -0:99 'f2' (temp 2-component vector of float) +0:99 direct index ( temp float) +0:99 'f2' ( temp 2-component vector of float) 0:99 Constant: 0:99 1 (const int) -0:100 direct index (temp float) -0:100 'f3' (temp 3-component vector of float) +0:100 direct index ( temp float) +0:100 'f3' ( temp 3-component vector of float) 0:100 Constant: 0:100 0 (const int) -0:101 direct index (temp float) -0:101 'f3' (temp 3-component vector of float) +0:101 direct index ( temp float) +0:101 'f3' ( temp 3-component vector of float) 0:101 Constant: 0:101 1 (const int) -0:102 direct index (temp float) -0:102 'f3' (temp 3-component vector of float) +0:102 direct index ( temp float) +0:102 'f3' ( temp 3-component vector of float) 0:102 Constant: 0:102 2 (const int) -0:103 direct index (temp float) -0:103 'f4' (temp 4-component vector of float) +0:103 direct index ( temp float) +0:103 'f4' ( temp 4-component vector of float) 0:103 Constant: 0:103 0 (const int) -0:104 direct index (temp float) -0:104 'f4' (temp 4-component vector of float) +0:104 direct index ( temp float) +0:104 'f4' ( temp 4-component vector of float) 0:104 Constant: 0:104 1 (const int) -0:105 direct index (temp float) -0:105 'f4' (temp 4-component vector of float) +0:105 direct index ( temp float) +0:105 'f4' ( temp 4-component vector of float) 0:105 Constant: 0:105 2 (const int) -0:106 direct index (temp float) -0:106 'f4' (temp 4-component vector of float) +0:106 direct index ( temp float) +0:106 'f4' ( temp 4-component vector of float) 0:106 Constant: 0:106 3 (const int) 0:86 false case @@ -910,46 +910,46 @@ Shader version: 130 0:106 1.000000 0:106 1.000000 0:109 Sequence -0:109 move second child to first child (temp 4-component vector of int) -0:109 'cv2' (temp 4-component vector of int) +0:109 move second child to first child ( temp 4-component vector of int) +0:109 'cv2' ( temp 4-component vector of int) 0:109 Constant: 0:109 1 (const int) 0:109 1 (const int) 0:109 1 (const int) 0:109 1 (const int) 0:110 Sequence -0:110 move second child to first child (temp 4-component vector of bool) -0:110 'cv5' (temp 4-component vector of bool) -0:110 Convert int to bool (temp 4-component vector of bool) -0:110 'cv2' (temp 4-component vector of int) -0:111 add second child into first child (temp 4-component vector of float) -0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:111 Construct float (temp float) -0:111 Convert bool to float (temp 4-component vector of float) -0:111 'cv5' (temp 4-component vector of bool) +0:110 move second child to first child ( temp 4-component vector of bool) +0:110 'cv5' ( temp 4-component vector of bool) +0:110 Convert int to bool ( temp 4-component vector of bool) +0:110 'cv2' ( temp 4-component vector of int) +0:111 add second child into first child ( temp 4-component vector of float) +0:111 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:111 Construct float ( temp float) +0:111 Convert bool to float ( temp 4-component vector of float) +0:111 'cv5' ( temp 4-component vector of bool) 0:? Linker Objects -0:? 'u_b' (uniform bool) -0:? 'u_b2' (uniform 2-component vector of bool) -0:? 'u_b3' (uniform 3-component vector of bool) -0:? 'u_b4' (uniform 4-component vector of bool) -0:? 'u_i' (uniform int) -0:? 'u_i2' (uniform 2-component vector of int) -0:? 'u_i3' (uniform 3-component vector of int) -0:? 'u_i4' (uniform 4-component vector of int) -0:? 'u_f' (uniform float) -0:? 'u_f2' (uniform 2-component vector of float) -0:? 'u_f3' (uniform 3-component vector of float) -0:? 'u_f4' (uniform 4-component vector of float) -0:? 'i_b' (uniform bool) -0:? 'i_b2' (uniform 2-component vector of bool) -0:? 'i_b3' (uniform 3-component vector of bool) -0:? 'i_b4' (uniform 4-component vector of bool) -0:? 'i_i' (flat in int) -0:? 'i_i2' (flat in 2-component vector of int) -0:? 'i_i3' (flat in 3-component vector of int) -0:? 'i_i4' (flat in 4-component vector of int) -0:? 'i_f' (smooth in float) -0:? 'i_f2' (smooth in 2-component vector of float) -0:? 'i_f3' (smooth in 3-component vector of float) -0:? 'i_f4' (smooth in 4-component vector of float) +0:? 'u_b' ( uniform bool) +0:? 'u_b2' ( uniform 2-component vector of bool) +0:? 'u_b3' ( uniform 3-component vector of bool) +0:? 'u_b4' ( uniform 4-component vector of bool) +0:? 'u_i' ( uniform int) +0:? 'u_i2' ( uniform 2-component vector of int) +0:? 'u_i3' ( uniform 3-component vector of int) +0:? 'u_i4' ( uniform 4-component vector of int) +0:? 'u_f' ( uniform float) +0:? 'u_f2' ( uniform 2-component vector of float) +0:? 'u_f3' ( uniform 3-component vector of float) +0:? 'u_f4' ( uniform 4-component vector of float) +0:? 'i_b' ( uniform bool) +0:? 'i_b2' ( uniform 2-component vector of bool) +0:? 'i_b3' ( uniform 3-component vector of bool) +0:? 'i_b4' ( uniform 4-component vector of bool) +0:? 'i_i' ( flat in int) +0:? 'i_i2' ( flat in 2-component vector of int) +0:? 'i_i3' ( flat in 3-component vector of int) +0:? 'i_i4' ( flat in 4-component vector of int) +0:? 'i_f' ( smooth in float) +0:? 'i_f2' ( smooth in 2-component vector of float) +0:? 'i_f3' ( smooth in 3-component vector of float) +0:? 'i_f4' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out index 90d62c126d8..6bfcd9cca3c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out @@ -55,37 +55,37 @@ ERROR: 49 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! 0:4 Sequence -0:4 move second child to first child (temp highp float) -0:4 'sum' (global highp float) +0:4 move second child to first child ( temp highp float) +0:4 'sum' ( global highp float) 0:4 Constant: 0:4 0.000000 -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:10 Sequence -0:10 add second child into first child (temp highp float) -0:10 'sum' (global highp float) +0:10 add second child into first child ( temp highp float) +0:10 'sum' ( global highp float) 0:10 Constant: 0:10 1.000000 -0:15 add second child into first child (temp highp float) -0:15 'sum' (global highp float) +0:15 add second child into first child ( temp highp float) +0:15 'sum' ( global highp float) 0:15 Constant: 0:15 20.000000 -0:30 add second child into first child (temp highp float) -0:30 'sum' (global highp float) +0:30 add second child into first child ( temp highp float) +0:30 'sum' ( global highp float) 0:30 Constant: 0:30 300.000000 -0:39 move second child to first child (temp highp 4-component vector of float) -0:39 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:39 Construct vec4 (temp highp 4-component vector of float) -0:39 'sum' (global highp float) -0:44 Function Definition: foo( (global highp float) +0:39 move second child to first child ( temp highp 4-component vector of float) +0:39 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:39 Construct vec4 ( temp highp 4-component vector of float) +0:39 'sum' ( global highp float) +0:44 Function Definition: foo( ( global highp float) 0:44 Function Parameters: 0:46 Sequence 0:46 Branch: Return with expression -0:46 add (temp highp 4-component vector of float) -0:46 add (temp highp 4-component vector of float) -0:46 vector swizzle (temp highp 4-component vector of float) -0:46 'gl_Position' (gl_Position highp 4-component vector of float Position) +0:46 add ( temp highp 4-component vector of float) +0:46 add ( temp highp 4-component vector of float) +0:46 vector swizzle ( temp highp 4-component vector of float) +0:46 'gl_Position' ( gl_Position highp 4-component vector of float Position) 0:46 Sequence 0:46 Constant: 0:46 0 (const int) @@ -97,9 +97,9 @@ ERROR: node is still EOpNull! 0:46 3 (const int) 0:46 Constant: 0:46 3.000000 -0:46 add (temp highp 4-component vector of float) -0:46 vector swizzle (temp highp 4-component vector of float) -0:46 'gl_Position' (gl_Position highp 4-component vector of float Position) +0:46 add ( temp highp 4-component vector of float) +0:46 vector swizzle ( temp highp 4-component vector of float) +0:46 'gl_Position' ( gl_Position highp 4-component vector of float Position) 0:46 Sequence 0:46 Constant: 0:46 0 (const int) @@ -112,31 +112,31 @@ ERROR: node is still EOpNull! 0:46 Constant: 0:46 3.000000 0:47 Branch: Return with expression -0:47 add (temp highp float) -0:47 add (temp highp float) -0:47 direct index (temp highp float) -0:47 'gl_Position' (gl_Position highp 4-component vector of float Position) +0:47 add ( temp highp float) +0:47 add ( temp highp float) +0:47 direct index ( temp highp float) +0:47 'gl_Position' ( gl_Position highp 4-component vector of float Position) 0:47 Constant: 0:47 1 (const int) 0:47 Constant: 0:47 3.000000 -0:47 add (temp highp float) -0:47 direct index (temp highp float) -0:47 'gl_Position' (gl_Position highp 4-component vector of float Position) +0:47 add ( temp highp float) +0:47 direct index ( temp highp float) +0:47 'gl_Position' ( gl_Position highp 4-component vector of float Position) 0:47 Constant: 0:47 1 (const int) 0:47 Constant: 0:47 3.000000 0:97 Sequence -0:97 move second child to first child (temp highp float) -0:97 'c' (global highp float) +0:97 move second child to first child ( temp highp float) +0:97 'c' ( global highp float) 0:98 Constant: 0:98 3.300000 0:? Linker Objects -0:? 'sum' (global highp float) -0:? 'c' (global highp float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'sum' ( global highp float) +0:? 'c' ( global highp float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -145,37 +145,37 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! 0:4 Sequence -0:4 move second child to first child (temp highp float) -0:4 'sum' (global highp float) +0:4 move second child to first child ( temp highp float) +0:4 'sum' ( global highp float) 0:4 Constant: 0:4 0.000000 -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:10 Sequence -0:10 add second child into first child (temp highp float) -0:10 'sum' (global highp float) +0:10 add second child into first child ( temp highp float) +0:10 'sum' ( global highp float) 0:10 Constant: 0:10 1.000000 -0:15 add second child into first child (temp highp float) -0:15 'sum' (global highp float) +0:15 add second child into first child ( temp highp float) +0:15 'sum' ( global highp float) 0:15 Constant: 0:15 20.000000 -0:30 add second child into first child (temp highp float) -0:30 'sum' (global highp float) +0:30 add second child into first child ( temp highp float) +0:30 'sum' ( global highp float) 0:30 Constant: 0:30 300.000000 -0:39 move second child to first child (temp highp 4-component vector of float) -0:39 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:39 Construct vec4 (temp highp 4-component vector of float) -0:39 'sum' (global highp float) +0:39 move second child to first child ( temp highp 4-component vector of float) +0:39 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:39 Construct vec4 ( temp highp 4-component vector of float) +0:39 'sum' ( global highp float) 0:97 Sequence -0:97 move second child to first child (temp highp float) -0:97 'c' (global highp float) +0:97 move second child to first child ( temp highp float) +0:97 'c' ( global highp float) 0:98 Constant: 0:98 3.300000 0:? Linker Objects -0:? 'sum' (global highp float) -0:? 'c' (global highp float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'sum' ( global highp float) +0:? 'c' ( global highp float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppIndent.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppIndent.vert.out index 318ca815d4d..e6ff0468c2a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppIndent.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppIndent.vert.out @@ -7,39 +7,39 @@ ERROR: 2 compilation errors. No code generated. Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:22 add second child into first child (temp float) -0:22 'sum' (global float) +0:22 add second child into first child ( temp float) +0:22 'sum' ( global float) 0:22 Constant: 0:22 300.000000 -0:37 add second child into first child (temp float) -0:37 'sum' (global float) +0:37 add second child into first child ( temp float) +0:37 'sum' ( global float) 0:37 Constant: 0:37 600000.000000 -0:47 add second child into first child (temp float) -0:47 'sum' (global float) +0:47 add second child into first child ( temp float) +0:47 'sum' ( global float) 0:47 Constant: 0:47 80000000.000000 -0:52 add second child into first child (temp float) -0:52 'sum' (global float) +0:52 add second child into first child ( temp float) +0:52 'sum' ( global float) 0:52 Constant: 0:52 900000000.000000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 'gl_Position' (gl_Position 4-component vector of float Position) -0:56 Construct vec4 (temp 4-component vector of float) -0:56 'sum' (global float) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'gl_Position' ( gl_Position 4-component vector of float Position) +0:56 Construct vec4 ( temp 4-component vector of float) +0:56 'sum' ( global float) 0:? Linker Objects -0:? 'sum' (global float) +0:? 'sum' ( global float) Linked vertex stage: @@ -48,37 +48,37 @@ Linked vertex stage: Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:22 add second child into first child (temp float) -0:22 'sum' (global float) +0:22 add second child into first child ( temp float) +0:22 'sum' ( global float) 0:22 Constant: 0:22 300.000000 -0:37 add second child into first child (temp float) -0:37 'sum' (global float) +0:37 add second child into first child ( temp float) +0:37 'sum' ( global float) 0:37 Constant: 0:37 600000.000000 -0:47 add second child into first child (temp float) -0:47 'sum' (global float) +0:47 add second child into first child ( temp float) +0:47 'sum' ( global float) 0:47 Constant: 0:47 80000000.000000 -0:52 add second child into first child (temp float) -0:52 'sum' (global float) +0:52 add second child into first child ( temp float) +0:52 'sum' ( global float) 0:52 Constant: 0:52 900000000.000000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 'gl_Position' (gl_Position 4-component vector of float Position) -0:56 Construct vec4 (temp 4-component vector of float) -0:56 'sum' (global float) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'gl_Position' ( gl_Position 4-component vector of float Position) +0:56 Construct vec4 ( temp 4-component vector of float) +0:56 'sum' ( global float) 0:? Linker Objects -0:? 'sum' (global float) +0:? 'sum' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppNest.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppNest.vert.out index 2077ec33792..afd0370d072 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppNest.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppNest.vert.out @@ -11,72 +11,72 @@ ERROR: 6 compilation errors. No code generated. Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:21 add second child into first child (temp float) -0:21 'sum' (global float) +0:21 add second child into first child ( temp float) +0:21 'sum' ( global float) 0:21 Constant: 0:21 300.000000 -0:61 add second child into first child (temp float) -0:61 'sum' (global float) +0:61 add second child into first child ( temp float) +0:61 'sum' ( global float) 0:61 Constant: 0:61 600000.000000 -0:65 add second child into first child (temp float) -0:65 'sum' (global float) +0:65 add second child into first child ( temp float) +0:65 'sum' ( global float) 0:65 Constant: 0:65 80000000.000000 -0:69 add second child into first child (temp float) -0:69 'sum' (global float) +0:69 add second child into first child ( temp float) +0:69 'sum' ( global float) 0:69 Constant: 0:69 900000000.000000 -0:76 add second child into first child (temp float) -0:76 'sum' (global float) +0:76 add second child into first child ( temp float) +0:76 'sum' ( global float) 0:76 Constant: 0:76 7000000.000000 -0:86 move second child to first child (temp 4-component vector of float) -0:86 'gl_Position' (gl_Position 4-component vector of float Position) -0:86 Construct vec4 (temp 4-component vector of float) -0:86 'sum' (global float) +0:86 move second child to first child ( temp 4-component vector of float) +0:86 'gl_Position' ( gl_Position 4-component vector of float Position) +0:86 Construct vec4 ( temp 4-component vector of float) +0:86 'sum' ( global float) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'selected4' (global int) +0:103 move second child to first child ( temp int) +0:103 'selected4' ( global int) 0:103 Constant: 0:103 4 (const int) 0:115 Sequence -0:115 move second child to first child (temp int) -0:115 'selected2' (global int) +0:115 move second child to first child ( temp int) +0:115 'selected2' ( global int) 0:115 Constant: 0:115 2 (const int) 0:133 Sequence -0:133 move second child to first child (temp int) -0:133 'selected3' (global int) +0:133 move second child to first child ( temp int) +0:133 'selected3' ( global int) 0:133 Constant: 0:133 3 (const int) -0:175 Function Definition: foo985( (global void) +0:175 Function Definition: foo985( ( global void) 0:175 Function Parameters: 0:175 Sequence -0:175 add (temp int) +0:175 add ( temp int) 0:175 Constant: 0:175 2 (const int) -0:175 Comma (temp int) +0:175 Comma ( temp int) 0:175 Constant: 0:175 3 (const int) 0:175 Constant: 0:175 4 (const int) 0:? Linker Objects -0:? 'sum' (global float) -0:? 'selected4' (global int) -0:? 'selected2' (global int) -0:? 'selected3' (global int) +0:? 'sum' ( global float) +0:? 'selected4' ( global int) +0:? 'selected2' ( global int) +0:? 'selected3' ( global int) Linked vertex stage: @@ -85,59 +85,59 @@ Linked vertex stage: Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:21 add second child into first child (temp float) -0:21 'sum' (global float) +0:21 add second child into first child ( temp float) +0:21 'sum' ( global float) 0:21 Constant: 0:21 300.000000 -0:61 add second child into first child (temp float) -0:61 'sum' (global float) +0:61 add second child into first child ( temp float) +0:61 'sum' ( global float) 0:61 Constant: 0:61 600000.000000 -0:65 add second child into first child (temp float) -0:65 'sum' (global float) +0:65 add second child into first child ( temp float) +0:65 'sum' ( global float) 0:65 Constant: 0:65 80000000.000000 -0:69 add second child into first child (temp float) -0:69 'sum' (global float) +0:69 add second child into first child ( temp float) +0:69 'sum' ( global float) 0:69 Constant: 0:69 900000000.000000 -0:76 add second child into first child (temp float) -0:76 'sum' (global float) +0:76 add second child into first child ( temp float) +0:76 'sum' ( global float) 0:76 Constant: 0:76 7000000.000000 -0:86 move second child to first child (temp 4-component vector of float) -0:86 'gl_Position' (gl_Position 4-component vector of float Position) -0:86 Construct vec4 (temp 4-component vector of float) -0:86 'sum' (global float) +0:86 move second child to first child ( temp 4-component vector of float) +0:86 'gl_Position' ( gl_Position 4-component vector of float Position) +0:86 Construct vec4 ( temp 4-component vector of float) +0:86 'sum' ( global float) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'selected4' (global int) +0:103 move second child to first child ( temp int) +0:103 'selected4' ( global int) 0:103 Constant: 0:103 4 (const int) 0:115 Sequence -0:115 move second child to first child (temp int) -0:115 'selected2' (global int) +0:115 move second child to first child ( temp int) +0:115 'selected2' ( global int) 0:115 Constant: 0:115 2 (const int) 0:133 Sequence -0:133 move second child to first child (temp int) -0:133 'selected3' (global int) +0:133 move second child to first child ( temp int) +0:133 'selected3' ( global int) 0:133 Constant: 0:133 3 (const int) 0:? Linker Objects -0:? 'sum' (global float) -0:? 'selected4' (global int) -0:? 'selected2' (global int) -0:? 'selected3' (global int) +0:? 'sum' ( global float) +0:? 'selected4' ( global int) +0:? 'selected2' ( global int) +0:? 'selected3' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppSimple.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppSimple.vert.out index bf4b42aeef0..0696c744707 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppSimple.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/cppSimple.vert.out @@ -22,7 +22,7 @@ ERROR: 0:122: '#endif' : unexpected tokens following directive ERROR: 0:135: '""' : string literals not supported ERROR: 0:136: '""' : string literals not supported ERROR: 0:136: 'length' : no matching overloaded function found -ERROR: 0:136: '=' : cannot convert from 'const float' to 'global int' +ERROR: 0:136: '=' : cannot convert from ' const float' to ' global int' ERROR: 0:138: ''' : character literals not supported ERROR: 0:138: ''' : character literals not supported ERROR: 0:141: '#define' : names beginning with "GL_" can't be (un)defined: GL_ @@ -78,7 +78,7 @@ ERROR: 12:9000: 'preprocessor evaluation' : expected ')' ERROR: 12:9002: '#if' : unexpected tokens following directive ERROR: 12:9014: 'macro expansion' : expected '(' following FOOOM ERROR: 12:9014: 'FOOOM' : undeclared identifier -ERROR: 12:9014: '=' : cannot convert from 'temp float' to 'global int' +ERROR: 12:9014: '=' : cannot convert from ' temp float' to ' global int' ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM ERROR: 12:9016: 'preprocessor evaluation' : can't evaluate expression ERROR: 12:9016: 'preprocessor evaluation' : bad expression @@ -98,84 +98,84 @@ ERROR: 88 compilation errors. No code generated. Shader version: 400 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:22 add second child into first child (temp float) -0:22 'sum' (global float) +0:22 add second child into first child ( temp float) +0:22 'sum' ( global float) 0:22 Constant: 0:22 300.000000 -0:37 add second child into first child (temp float) -0:37 'sum' (global float) +0:37 add second child into first child ( temp float) +0:37 'sum' ( global float) 0:37 Constant: 0:37 600000.000000 -0:48 add second child into first child (temp float) -0:48 'sum' (global float) +0:48 add second child into first child ( temp float) +0:48 'sum' ( global float) 0:48 Constant: 0:48 7000000.000000 -0:53 add second child into first child (temp float) -0:53 'sum' (global float) +0:53 add second child into first child ( temp float) +0:53 'sum' ( global float) 0:53 Constant: 0:53 80000000.000000 -0:58 add second child into first child (temp float) -0:58 'sum' (global float) +0:58 add second child into first child ( temp float) +0:58 'sum' ( global float) 0:58 Constant: 0:58 900000000.000000 -0:65 add second child into first child (temp float) -0:65 'sum' (global float) +0:65 add second child into first child ( temp float) +0:65 'sum' ( global float) 0:65 Constant: 0:65 0.050000 -0:69 move second child to first child (temp 4-component vector of float) -0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:69 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:69 Constant: 0:69 0 (const uint) -0:69 Construct vec4 (temp 4-component vector of float) -0:69 'sum' (global float) +0:69 Construct vec4 ( temp 4-component vector of float) +0:69 'sum' ( global float) 0:124 Sequence -0:124 move second child to first child (temp int) -0:124 'linenumber' (global int) +0:124 move second child to first child ( temp int) +0:124 'linenumber' ( global int) 0:124 Constant: 0:124 124 (const int) 0:125 Sequence -0:125 move second child to first child (temp int) -0:125 'filenumber' (global int) +0:125 move second child to first child ( temp int) +0:125 'filenumber' ( global int) 0:125 Constant: 0:125 0 (const int) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'version' (global int) +0:126 move second child to first child ( temp int) +0:126 'version' ( global int) 0:126 Constant: 0:126 400 (const int) 0:130 Sequence -0:130 move second child to first child (temp float) -0:130 'twoPi' (global float) +0:130 move second child to first child ( temp float) +0:130 'twoPi' ( global float) 0:130 Constant: 0:130 6.280000 0:199 Sequence -0:199 move second child to first child (temp int) -0:199 'n' (global int) +0:199 move second child to first child ( temp int) +0:199 'n' ( global int) 0:199 Constant: 0:199 15 (const int) 0:202 Sequence -0:202 move second child to first child (temp double) -0:202 'f' (global double) +0:202 move second child to first child ( temp double) +0:202 'f' ( global double) 0:202 Constant: 0:202 0.000800 -12:20031 Function Definition: foo234( (global void) +12:20031 Function Definition: foo234( ( global void) 12:20031 Function Parameters: 12:20033 Sequence -12:20033 move second child to first child (temp 4-component vector of float) -12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +12:20033 move second child to first child ( temp 4-component vector of float) +12:20033 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +12:20033 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 12:20033 Constant: 12:20033 0 (const uint) 12:20033 Constant: @@ -184,24 +184,24 @@ ERROR: node is still EOpNull! 12:20033 6.000000 12:20033 6.000000 12:9011 Sequence -12:9011 move second child to first child (temp int) -12:9011 'R1' (global int) -12:9011 'RECURSE' (global int) +12:9011 move second child to first child ( temp int) +12:9011 'R1' ( global int) +12:9011 'RECURSE' ( global int) 0:? Linker Objects -0:? 'sum' (global float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'linenumber' (global int) -0:? 'filenumber' (global int) -0:? 'version' (global int) -0:? 'twoPi' (global float) -0:? 'a' (global int) -0:? 'n' (global int) -0:? 'f' (global double) -0:? 'RECURSE' (global int) -0:? 'R1' (global int) -0:? 'aoeua' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'sum' ( global float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'linenumber' ( global int) +0:? 'filenumber' ( global int) +0:? 'version' ( global int) +0:? 'twoPi' ( global float) +0:? 'a' ( global int) +0:? 'n' ( global int) +0:? 'f' ( global double) +0:? 'RECURSE' ( global int) +0:? 'R1' ( global int) +0:? 'aoeua' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -210,95 +210,95 @@ Linked vertex stage: Shader version: 400 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'sum' (global float) +0:5 move second child to first child ( temp float) +0:5 'sum' ( global float) 0:5 Constant: 0:5 0.000000 -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:12 Sequence -0:12 add second child into first child (temp float) -0:12 'sum' (global float) +0:12 add second child into first child ( temp float) +0:12 'sum' ( global float) 0:12 Constant: 0:12 1.000000 -0:22 add second child into first child (temp float) -0:22 'sum' (global float) +0:22 add second child into first child ( temp float) +0:22 'sum' ( global float) 0:22 Constant: 0:22 300.000000 -0:37 add second child into first child (temp float) -0:37 'sum' (global float) +0:37 add second child into first child ( temp float) +0:37 'sum' ( global float) 0:37 Constant: 0:37 600000.000000 -0:48 add second child into first child (temp float) -0:48 'sum' (global float) +0:48 add second child into first child ( temp float) +0:48 'sum' ( global float) 0:48 Constant: 0:48 7000000.000000 -0:53 add second child into first child (temp float) -0:53 'sum' (global float) +0:53 add second child into first child ( temp float) +0:53 'sum' ( global float) 0:53 Constant: 0:53 80000000.000000 -0:58 add second child into first child (temp float) -0:58 'sum' (global float) +0:58 add second child into first child ( temp float) +0:58 'sum' ( global float) 0:58 Constant: 0:58 900000000.000000 -0:65 add second child into first child (temp float) -0:65 'sum' (global float) +0:65 add second child into first child ( temp float) +0:65 'sum' ( global float) 0:65 Constant: 0:65 0.050000 -0:69 move second child to first child (temp 4-component vector of float) -0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:69 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:69 Constant: 0:69 0 (const uint) -0:69 Construct vec4 (temp 4-component vector of float) -0:69 'sum' (global float) +0:69 Construct vec4 ( temp 4-component vector of float) +0:69 'sum' ( global float) 0:124 Sequence -0:124 move second child to first child (temp int) -0:124 'linenumber' (global int) +0:124 move second child to first child ( temp int) +0:124 'linenumber' ( global int) 0:124 Constant: 0:124 124 (const int) 0:125 Sequence -0:125 move second child to first child (temp int) -0:125 'filenumber' (global int) +0:125 move second child to first child ( temp int) +0:125 'filenumber' ( global int) 0:125 Constant: 0:125 0 (const int) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'version' (global int) +0:126 move second child to first child ( temp int) +0:126 'version' ( global int) 0:126 Constant: 0:126 400 (const int) 0:130 Sequence -0:130 move second child to first child (temp float) -0:130 'twoPi' (global float) +0:130 move second child to first child ( temp float) +0:130 'twoPi' ( global float) 0:130 Constant: 0:130 6.280000 0:199 Sequence -0:199 move second child to first child (temp int) -0:199 'n' (global int) +0:199 move second child to first child ( temp int) +0:199 'n' ( global int) 0:199 Constant: 0:199 15 (const int) 0:202 Sequence -0:202 move second child to first child (temp double) -0:202 'f' (global double) +0:202 move second child to first child ( temp double) +0:202 'f' ( global double) 0:202 Constant: 0:202 0.000800 12:9011 Sequence -12:9011 move second child to first child (temp int) -12:9011 'R1' (global int) -12:9011 'RECURSE' (global int) +12:9011 move second child to first child ( temp int) +12:9011 'R1' ( global int) +12:9011 'RECURSE' ( global int) 0:? Linker Objects -0:? 'sum' (global float) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'linenumber' (global int) -0:? 'filenumber' (global int) -0:? 'version' (global int) -0:? 'twoPi' (global float) -0:? 'a' (global int) -0:? 'n' (global int) -0:? 'f' (global double) -0:? 'RECURSE' (global int) -0:? 'R1' (global int) -0:? 'aoeua' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'sum' ( global float) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'linenumber' ( global int) +0:? 'filenumber' ( global int) +0:? 'version' ( global int) +0:? 'twoPi' ( global float) +0:? 'a' ( global int) +0:? 'n' ( global int) +0:? 'f' ( global double) +0:? 'RECURSE' ( global int) +0:? 'R1' ( global int) +0:? 'aoeua' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOut.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOut.frag.out index 030bae7d9eb..789761692f4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOut.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOut.frag.out @@ -3,17 +3,17 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 direct index (temp 4-component vector of float FragData) -0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 direct index ( temp 4-component vector of float FragData) +0:7 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:7 Constant: 0:7 1 (const int) -0:7 'Color' (smooth in 4-component vector of float) +0:7 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) +0:? 'Color' ( smooth in 4-component vector of float) Linked fragment stage: @@ -21,15 +21,15 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 direct index (temp 4-component vector of float FragData) -0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 direct index ( temp 4-component vector of float FragData) +0:7 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) 0:7 Constant: 0:7 1 (const int) -0:7 'Color' (smooth in 4-component vector of float) +0:7 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) +0:? 'Color' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOutIndirect.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOutIndirect.frag.out index 31b4f07a5fe..dbadb03ed71 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOutIndirect.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dataOutIndirect.frag.out @@ -3,17 +3,17 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 indirect index (temp 4-component vector of float FragData) -0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) -0:9 'i' (uniform int) -0:9 'Color' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 indirect index ( temp 4-component vector of float FragData) +0:9 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) +0:9 'i' ( uniform int) +0:9 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) -0:? 'i' (uniform int) +0:? 'Color' ( smooth in 4-component vector of float) +0:? 'i' ( uniform int) Linked fragment stage: @@ -21,15 +21,15 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 indirect index (temp 4-component vector of float FragData) -0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData) -0:9 'i' (uniform int) -0:9 'Color' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 indirect index ( temp 4-component vector of float FragData) +0:9 'gl_FragData' ( fragColor 32-element array of 4-component vector of float FragData) +0:9 'i' ( uniform int) +0:9 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) -0:? 'i' (uniform int) +0:? 'Color' ( smooth in 4-component vector of float) +0:? 'i' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dce.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dce.frag.out index 6707ae72f5f..63d194ca48a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dce.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/dce.frag.out @@ -4,118 +4,118 @@ Warning, version 400 is not yet complete; most version-specific features are pre Shader version: 400 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'c' (global int) +0:5 move second child to first child ( temp int) +0:5 'c' ( global int) 0:5 Constant: 0:5 0 (const int) -0:7 Function Definition: bar( (global void) +0:7 Function Definition: bar( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 Test condition and select (temp void) +0:9 Test condition and select ( temp void) 0:9 Condition 0:9 Constant: 0:9 false (const bool) 0:9 true case -0:10 Pre-Increment (temp int) -0:10 'c' (global int) +0:10 Pre-Increment ( temp int) +0:10 'c' ( global int) 0:9 false case -0:12 Pre-Increment (temp int) -0:12 'c' (global int) -0:14 Test condition and select (temp int) +0:12 Pre-Increment ( temp int) +0:12 'c' ( global int) +0:14 Test condition and select ( temp int) 0:14 Condition 0:14 Constant: 0:14 false (const bool) 0:14 true case -0:14 Pre-Increment (temp int) -0:14 'c' (global int) +0:14 Pre-Increment ( temp int) +0:14 'c' ( global int) 0:14 false case -0:14 Pre-Increment (temp int) -0:14 'c' (global int) +0:14 Pre-Increment ( temp int) +0:14 'c' ( global int) 0:16 switch 0:16 condition -0:16 'c' (global int) +0:16 'c' ( global int) 0:16 body 0:16 Sequence 0:17 case: with expression 0:17 Constant: 0:17 1 (const int) 0:? Sequence -0:18 Pre-Increment (temp int) -0:18 'c' (global int) +0:18 Pre-Increment ( temp int) +0:18 'c' ( global int) 0:19 Branch: Break -0:20 Pre-Increment (temp int) -0:20 'c' (global int) +0:20 Pre-Increment ( temp int) +0:20 'c' ( global int) 0:21 case: with expression 0:21 Constant: 0:21 2 (const int) 0:? Sequence 0:22 Branch: Break -0:23 Pre-Increment (temp int) -0:23 'c' (global int) +0:23 Pre-Increment ( temp int) +0:23 'c' ( global int) 0:24 default: 0:? Sequence 0:25 Branch: Break 0:28 Sequence 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'i' (temp int) +0:28 move second child to first child ( temp int) +0:28 'i' ( temp int) 0:28 Constant: 0:28 0 (const int) 0:28 Loop with condition tested first 0:28 Loop Condition -0:28 Compare Less Than (temp bool) -0:28 'i' (temp int) +0:28 Compare Less Than ( temp bool) +0:28 'i' ( temp int) 0:28 Constant: 0:28 0 (const int) 0:28 Loop Body -0:29 Pre-Increment (temp int) -0:29 'c' (global int) +0:29 Pre-Increment ( temp int) +0:29 'c' ( global int) 0:28 Loop Terminal Expression -0:28 Pre-Increment (temp int) -0:28 'i' (temp int) +0:28 Pre-Increment ( temp int) +0:28 'i' ( temp int) 0:31 Sequence 0:31 Sequence -0:31 move second child to first child (temp int) -0:31 'i' (temp int) +0:31 move second child to first child ( temp int) +0:31 'i' ( temp int) 0:31 Constant: 0:31 0 (const int) 0:31 Loop with condition tested first 0:31 Loop Condition -0:31 Compare Less Than (temp bool) -0:31 'i' (temp int) +0:31 Compare Less Than ( temp bool) +0:31 'i' ( temp int) 0:31 Constant: 0:31 10 (const int) 0:31 Loop Body 0:32 Sequence -0:32 Test condition and select (temp void) +0:32 Test condition and select ( temp void) 0:32 Condition -0:32 Compare Less Than (temp bool) -0:32 'c' (global int) +0:32 Compare Less Than ( temp bool) +0:32 'c' ( global int) 0:32 Constant: 0:32 3 (const int) 0:32 true case 0:33 Sequence 0:33 Branch: Break -0:34 Pre-Increment (temp int) -0:34 'c' (global int) +0:34 Pre-Increment ( temp int) +0:34 'c' ( global int) 0:32 false case 0:36 Sequence 0:36 Branch: Continue -0:37 Pre-Increment (temp int) -0:37 'c' (global int) +0:37 Pre-Increment ( temp int) +0:37 'c' ( global int) 0:31 Loop Terminal Expression -0:31 Pre-Increment (temp int) -0:31 'i' (temp int) +0:31 Pre-Increment ( temp int) +0:31 'i' ( temp int) 0:41 Branch: Return -0:43 Pre-Increment (temp int) -0:43 'c' (global int) -0:46 Function Definition: foo( (global int) +0:43 Pre-Increment ( temp int) +0:43 'c' ( global int) +0:46 Function Definition: foo( ( global int) 0:46 Function Parameters: 0:48 Sequence -0:48 Test condition and select (temp void) +0:48 Test condition and select ( temp void) 0:48 Condition -0:48 Compare Greater Than (temp bool) -0:48 'c' (global int) +0:48 Compare Greater Than ( temp bool) +0:48 'c' ( global int) 0:48 Constant: 0:48 4 (const int) 0:48 true case @@ -123,17 +123,17 @@ Shader version: 400 0:49 Branch: Return with expression 0:49 Constant: 0:49 4 (const int) -0:50 Pre-Increment (temp int) -0:50 'c' (global int) +0:50 Pre-Increment ( temp int) +0:50 'c' ( global int) 0:53 Branch: Return with expression 0:53 Constant: 0:53 5 (const int) -0:55 Pre-Increment (temp int) -0:55 'c' (global int) +0:55 Pre-Increment ( temp int) +0:55 'c' ( global int) 0:? Linker Objects -0:? 'flag' (const bool) +0:? 'flag' ( const bool) 0:? false (const bool) -0:? 'c' (global int) +0:? 'c' ( global int) Linked fragment stage: @@ -143,12 +143,12 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr Shader version: 400 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'c' (global int) +0:5 move second child to first child ( temp int) +0:5 'c' ( global int) 0:5 Constant: 0:5 0 (const int) 0:? Linker Objects -0:? 'flag' (const bool) +0:? 'flag' ( const bool) 0:? false (const bool) -0:? 'c' (global int) +0:? 'c' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/decls.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/decls.frag.out index a7e2137d4e0..72ad11c4f75 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/decls.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/decls.frag.out @@ -30,31 +30,31 @@ ERROR: 18 compilation errors. No code generated. Shader version: 120 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'd1' (global int) +0:5 move second child to first child ( temp int) +0:5 'd1' ( global int) 0:5 Constant: 0:5 1 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'e2' (global int) +0:6 move second child to first child ( temp int) +0:6 'e2' ( global int) 0:6 Constant: 0:6 2 (const int) 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'h3' (global int) +0:7 move second child to first child ( temp int) +0:7 'h3' ( global int) 0:7 Constant: 0:7 3 (const int) 0:14 Sequence -0:14 move second child to first child (temp 4-element array of int) -0:14 'ii4' (global 4-element array of int) +0:14 move second child to first child ( temp 4-element array of int) +0:14 'ii4' ( global 4-element array of int) 0:14 Constant: 0:14 1 (const int) 0:14 2 (const int) 0:14 3 (const int) 0:14 4 (const int) 0:15 Sequence -0:15 move second child to first child (temp 5-element array of int) -0:15 'ik5' (global 5-element array of int) +0:15 move second child to first child ( temp 5-element array of int) +0:15 'ik5' ( global 5-element array of int) 0:15 Constant: 0:15 5 (const int) 0:15 6 (const int) @@ -62,36 +62,36 @@ ERROR: node is still EOpNull! 0:15 8 (const int) 0:15 9 (const int) 0:16 Sequence -0:16 move second child to first child (temp 2-element array of int) -0:16 'im2' (global 2-element array of int) +0:16 move second child to first child ( temp 2-element array of int) +0:16 'im2' ( global 2-element array of int) 0:16 Constant: 0:16 10 (const int) 0:16 11 (const int) -0:16 move second child to first child (temp 3-element array of int) -0:16 'im3' (global 3-element array of int) +0:16 move second child to first child ( temp 3-element array of int) +0:16 'im3' ( global 3-element array of int) 0:16 Constant: 0:16 12 (const int) 0:16 13 (const int) 0:16 14 (const int) 0:17 Sequence -0:17 move second child to first child (temp 4-element array of int) -0:17 'in8' (global 4-element array of int) +0:17 move second child to first child ( temp 4-element array of int) +0:17 'in8' ( global 4-element array of int) 0:17 Constant: 0:17 21 (const int) 0:17 22 (const int) 0:17 23 (const int) 0:17 24 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-element array of int) -0:34 'gl_vi4' (global 4-element array of int) +0:34 move second child to first child ( temp 4-element array of int) +0:34 'gl_vi4' ( global 4-element array of int) 0:34 Constant: 0:34 1 (const int) 0:34 2 (const int) 0:34 3 (const int) 0:34 4 (const int) 0:35 Sequence -0:35 move second child to first child (temp 5-element array of int) -0:35 'gl_vk5' (global 5-element array of int) +0:35 move second child to first child ( temp 5-element array of int) +0:35 'gl_vk5' ( global 5-element array of int) 0:35 Constant: 0:35 5 (const int) 0:35 6 (const int) @@ -99,61 +99,61 @@ ERROR: node is still EOpNull! 0:35 8 (const int) 0:35 9 (const int) 0:36 Sequence -0:36 move second child to first child (temp 2-element array of int) -0:36 'gl_vm2' (global 2-element array of int) +0:36 move second child to first child ( temp 2-element array of int) +0:36 'gl_vm2' ( global 2-element array of int) 0:36 Constant: 0:36 10 (const int) 0:36 11 (const int) -0:36 move second child to first child (temp 3-element array of int) -0:36 'gl_vm3' (global 3-element array of int) +0:36 move second child to first child ( temp 3-element array of int) +0:36 'gl_vm3' ( global 3-element array of int) 0:36 Constant: 0:36 12 (const int) 0:36 13 (const int) 0:36 14 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-element array of int) -0:37 'gl_vn8' (global 4-element array of int) +0:37 move second child to first child ( temp 4-element array of int) +0:37 'gl_vn8' ( global 4-element array of int) 0:37 Constant: 0:37 21 (const int) 0:37 22 (const int) 0:37 23 (const int) 0:37 24 (const int) -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:41 Sequence 0:41 Loop with condition tested first 0:41 Loop Condition -0:41 move second child to first child (temp bool) -0:41 'cond' (temp bool) -0:41 Compare Less Than (temp bool) -0:41 'b' (global int) -0:41 'c' (global int) +0:41 move second child to first child ( temp bool) +0:41 'cond' ( temp bool) +0:41 Compare Less Than ( temp bool) +0:41 'b' ( global int) +0:41 'c' ( global int) 0:41 No loop body 0:42 Loop with condition tested first 0:42 Loop Condition -0:42 move second child to first child (temp int) -0:42 'icond' (temp int) -0:42 'b' (global int) +0:42 move second child to first child ( temp int) +0:42 'icond' ( temp int) +0:42 'b' ( global int) 0:42 No loop body 0:43 Loop with condition tested first 0:43 Loop Condition -0:43 move second child to first child (temp bool) -0:43 'gl_cond' (temp bool) -0:43 Compare Less Than (temp bool) -0:43 'b' (global int) -0:43 'c' (global int) +0:43 move second child to first child ( temp bool) +0:43 'gl_cond' ( temp bool) +0:43 Compare Less Than ( temp bool) +0:43 'b' ( global int) +0:43 'c' ( global int) 0:43 No loop body 0:46 Sequence -0:46 move second child to first child (temp 4-element array of int) -0:46 'foob__vi4' (global 4-element array of int) +0:46 move second child to first child ( temp 4-element array of int) +0:46 'foob__vi4' ( global 4-element array of int) 0:46 Constant: 0:46 1 (const int) 0:46 2 (const int) 0:46 3 (const int) 0:46 4 (const int) 0:47 Sequence -0:47 move second child to first child (temp 5-element array of int) -0:47 'foob__vk5' (global 5-element array of int) +0:47 move second child to first child ( temp 5-element array of int) +0:47 'foob__vk5' ( global 5-element array of int) 0:47 Constant: 0:47 5 (const int) 0:47 6 (const int) @@ -161,112 +161,112 @@ ERROR: node is still EOpNull! 0:47 8 (const int) 0:47 9 (const int) 0:48 Sequence -0:48 move second child to first child (temp 2-element array of int) -0:48 '__foobvm2' (global 2-element array of int) +0:48 move second child to first child ( temp 2-element array of int) +0:48 '__foobvm2' ( global 2-element array of int) 0:48 Constant: 0:48 10 (const int) 0:48 11 (const int) -0:48 move second child to first child (temp 3-element array of int) -0:48 '__foobvm3' (global 3-element array of int) +0:48 move second child to first child ( temp 3-element array of int) +0:48 '__foobvm3' ( global 3-element array of int) 0:48 Constant: 0:48 12 (const int) 0:48 13 (const int) 0:48 14 (const int) 0:49 Sequence -0:49 move second child to first child (temp 4-element array of int) -0:49 'foob__vn8' (global 4-element array of int) +0:49 move second child to first child ( temp 4-element array of int) +0:49 'foob__vn8' ( global 4-element array of int) 0:49 Constant: 0:49 21 (const int) 0:49 22 (const int) 0:49 23 (const int) 0:49 24 (const int) 0:? Linker Objects -0:? 'a' (global int) -0:? 'b' (global int) -0:? 'c' (global int) -0:? 'd1' (global int) -0:? 'e2' (global int) -0:? 'f' (global int) -0:? 'g' (global int) -0:? 'h3' (global int) -0:? 'i4' (global 4-element array of int) -0:? 'j' (global int) -0:? 'k5' (global 5-element array of int) -0:? 'm6' (global 6-element array of int) -0:? 'm7' (global 7-element array of int) -0:? 'n8' (global 8-element array of int) -0:? 'p' (global int) -0:? 'ii4' (global 4-element array of int) -0:? 'ij' (global int) -0:? 'ik5' (global 5-element array of int) -0:? 'im2' (global 2-element array of int) -0:? 'im3' (global 3-element array of int) -0:? 'in8' (global 4-element array of int) -0:? 'ip' (global int) -0:? 'cii4' (const 4-element array of int) +0:? 'a' ( global int) +0:? 'b' ( global int) +0:? 'c' ( global int) +0:? 'd1' ( global int) +0:? 'e2' ( global int) +0:? 'f' ( global int) +0:? 'g' ( global int) +0:? 'h3' ( global int) +0:? 'i4' ( global 4-element array of int) +0:? 'j' ( global int) +0:? 'k5' ( global 5-element array of int) +0:? 'm6' ( global 6-element array of int) +0:? 'm7' ( global 7-element array of int) +0:? 'n8' ( global 8-element array of int) +0:? 'p' ( global int) +0:? 'ii4' ( global 4-element array of int) +0:? 'ij' ( global int) +0:? 'ik5' ( global 5-element array of int) +0:? 'im2' ( global 2-element array of int) +0:? 'im3' ( global 3-element array of int) +0:? 'in8' ( global 4-element array of int) +0:? 'ip' ( global int) +0:? 'cii4' ( const 4-element array of int) 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:? 'cij' (temp int) -0:? 'cik5' (const 5-element array of int) +0:? 'cij' ( temp int) +0:? 'cik5' ( const 5-element array of int) 0:? 5 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) 0:? 9 (const int) -0:? 'cim2' (const 2-element array of int) +0:? 'cim2' ( const 2-element array of int) 0:? 10 (const int) 0:? 11 (const int) -0:? 'cim3' (const 3-element array of int) +0:? 'cim3' ( const 3-element array of int) 0:? 12 (const int) 0:? 13 (const int) 0:? 14 (const int) -0:? 'cin8' (const 4-element array of int) +0:? 'cin8' ( const 4-element array of int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) 0:? 24 (const int) -0:? 'cip' (temp int) -0:? 'uii4' (uniform 4-element array of int) +0:? 'cip' ( temp int) +0:? 'uii4' ( uniform 4-element array of int) 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:? 'uij' (uniform int) -0:? 'uik5' (uniform 5-element array of int) +0:? 'uij' ( uniform int) +0:? 'uik5' ( uniform 5-element array of int) 0:? 5 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) 0:? 9 (const int) -0:? 'uim2' (uniform 2-element array of int) +0:? 'uim2' ( uniform 2-element array of int) 0:? 10 (const int) 0:? 11 (const int) -0:? 'uim3' (uniform 3-element array of int) +0:? 'uim3' ( uniform 3-element array of int) 0:? 12 (const int) 0:? 13 (const int) 0:? 14 (const int) -0:? 'uin8' (uniform 4-element array of int) +0:? 'uin8' ( uniform 4-element array of int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) 0:? 24 (const int) -0:? 'uip' (uniform int) -0:? 'gl_vi4' (global 4-element array of int) -0:? 'gl_vj' (global int) -0:? 'gl_vk5' (global 5-element array of int) -0:? 'gl_vm2' (global 2-element array of int) -0:? 'gl_vm3' (global 3-element array of int) -0:? 'gl_vn8' (global 4-element array of int) -0:? 'gl_vp' (global int) -0:? 'foob__vi4' (global 4-element array of int) -0:? 'foob__vj' (global int) -0:? 'foob__vk5' (global 5-element array of int) -0:? '__foobvm2' (global 2-element array of int) -0:? '__foobvm3' (global 3-element array of int) -0:? 'foob__vn8' (global 4-element array of int) -0:? 'foob__vp' (global int) +0:? 'uip' ( uniform int) +0:? 'gl_vi4' ( global 4-element array of int) +0:? 'gl_vj' ( global int) +0:? 'gl_vk5' ( global 5-element array of int) +0:? 'gl_vm2' ( global 2-element array of int) +0:? 'gl_vm3' ( global 3-element array of int) +0:? 'gl_vn8' ( global 4-element array of int) +0:? 'gl_vp' ( global int) +0:? 'foob__vi4' ( global 4-element array of int) +0:? 'foob__vj' ( global int) +0:? 'foob__vk5' ( global 5-element array of int) +0:? '__foobvm2' ( global 2-element array of int) +0:? '__foobvm3' ( global 3-element array of int) +0:? 'foob__vn8' ( global 4-element array of int) +0:? 'foob__vp' ( global int) Linked fragment stage: @@ -275,31 +275,31 @@ Linked fragment stage: Shader version: 120 ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'd1' (global int) +0:5 move second child to first child ( temp int) +0:5 'd1' ( global int) 0:5 Constant: 0:5 1 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'e2' (global int) +0:6 move second child to first child ( temp int) +0:6 'e2' ( global int) 0:6 Constant: 0:6 2 (const int) 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'h3' (global int) +0:7 move second child to first child ( temp int) +0:7 'h3' ( global int) 0:7 Constant: 0:7 3 (const int) 0:14 Sequence -0:14 move second child to first child (temp 4-element array of int) -0:14 'ii4' (global 4-element array of int) +0:14 move second child to first child ( temp 4-element array of int) +0:14 'ii4' ( global 4-element array of int) 0:14 Constant: 0:14 1 (const int) 0:14 2 (const int) 0:14 3 (const int) 0:14 4 (const int) 0:15 Sequence -0:15 move second child to first child (temp 5-element array of int) -0:15 'ik5' (global 5-element array of int) +0:15 move second child to first child ( temp 5-element array of int) +0:15 'ik5' ( global 5-element array of int) 0:15 Constant: 0:15 5 (const int) 0:15 6 (const int) @@ -307,36 +307,36 @@ ERROR: node is still EOpNull! 0:15 8 (const int) 0:15 9 (const int) 0:16 Sequence -0:16 move second child to first child (temp 2-element array of int) -0:16 'im2' (global 2-element array of int) +0:16 move second child to first child ( temp 2-element array of int) +0:16 'im2' ( global 2-element array of int) 0:16 Constant: 0:16 10 (const int) 0:16 11 (const int) -0:16 move second child to first child (temp 3-element array of int) -0:16 'im3' (global 3-element array of int) +0:16 move second child to first child ( temp 3-element array of int) +0:16 'im3' ( global 3-element array of int) 0:16 Constant: 0:16 12 (const int) 0:16 13 (const int) 0:16 14 (const int) 0:17 Sequence -0:17 move second child to first child (temp 4-element array of int) -0:17 'in8' (global 4-element array of int) +0:17 move second child to first child ( temp 4-element array of int) +0:17 'in8' ( global 4-element array of int) 0:17 Constant: 0:17 21 (const int) 0:17 22 (const int) 0:17 23 (const int) 0:17 24 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-element array of int) -0:34 'gl_vi4' (global 4-element array of int) +0:34 move second child to first child ( temp 4-element array of int) +0:34 'gl_vi4' ( global 4-element array of int) 0:34 Constant: 0:34 1 (const int) 0:34 2 (const int) 0:34 3 (const int) 0:34 4 (const int) 0:35 Sequence -0:35 move second child to first child (temp 5-element array of int) -0:35 'gl_vk5' (global 5-element array of int) +0:35 move second child to first child ( temp 5-element array of int) +0:35 'gl_vk5' ( global 5-element array of int) 0:35 Constant: 0:35 5 (const int) 0:35 6 (const int) @@ -344,61 +344,61 @@ ERROR: node is still EOpNull! 0:35 8 (const int) 0:35 9 (const int) 0:36 Sequence -0:36 move second child to first child (temp 2-element array of int) -0:36 'gl_vm2' (global 2-element array of int) +0:36 move second child to first child ( temp 2-element array of int) +0:36 'gl_vm2' ( global 2-element array of int) 0:36 Constant: 0:36 10 (const int) 0:36 11 (const int) -0:36 move second child to first child (temp 3-element array of int) -0:36 'gl_vm3' (global 3-element array of int) +0:36 move second child to first child ( temp 3-element array of int) +0:36 'gl_vm3' ( global 3-element array of int) 0:36 Constant: 0:36 12 (const int) 0:36 13 (const int) 0:36 14 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-element array of int) -0:37 'gl_vn8' (global 4-element array of int) +0:37 move second child to first child ( temp 4-element array of int) +0:37 'gl_vn8' ( global 4-element array of int) 0:37 Constant: 0:37 21 (const int) 0:37 22 (const int) 0:37 23 (const int) 0:37 24 (const int) -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:41 Sequence 0:41 Loop with condition tested first 0:41 Loop Condition -0:41 move second child to first child (temp bool) -0:41 'cond' (temp bool) -0:41 Compare Less Than (temp bool) -0:41 'b' (global int) -0:41 'c' (global int) +0:41 move second child to first child ( temp bool) +0:41 'cond' ( temp bool) +0:41 Compare Less Than ( temp bool) +0:41 'b' ( global int) +0:41 'c' ( global int) 0:41 No loop body 0:42 Loop with condition tested first 0:42 Loop Condition -0:42 move second child to first child (temp int) -0:42 'icond' (temp int) -0:42 'b' (global int) +0:42 move second child to first child ( temp int) +0:42 'icond' ( temp int) +0:42 'b' ( global int) 0:42 No loop body 0:43 Loop with condition tested first 0:43 Loop Condition -0:43 move second child to first child (temp bool) -0:43 'gl_cond' (temp bool) -0:43 Compare Less Than (temp bool) -0:43 'b' (global int) -0:43 'c' (global int) +0:43 move second child to first child ( temp bool) +0:43 'gl_cond' ( temp bool) +0:43 Compare Less Than ( temp bool) +0:43 'b' ( global int) +0:43 'c' ( global int) 0:43 No loop body 0:46 Sequence -0:46 move second child to first child (temp 4-element array of int) -0:46 'foob__vi4' (global 4-element array of int) +0:46 move second child to first child ( temp 4-element array of int) +0:46 'foob__vi4' ( global 4-element array of int) 0:46 Constant: 0:46 1 (const int) 0:46 2 (const int) 0:46 3 (const int) 0:46 4 (const int) 0:47 Sequence -0:47 move second child to first child (temp 5-element array of int) -0:47 'foob__vk5' (global 5-element array of int) +0:47 move second child to first child ( temp 5-element array of int) +0:47 'foob__vk5' ( global 5-element array of int) 0:47 Constant: 0:47 5 (const int) 0:47 6 (const int) @@ -406,110 +406,110 @@ ERROR: node is still EOpNull! 0:47 8 (const int) 0:47 9 (const int) 0:48 Sequence -0:48 move second child to first child (temp 2-element array of int) -0:48 '__foobvm2' (global 2-element array of int) +0:48 move second child to first child ( temp 2-element array of int) +0:48 '__foobvm2' ( global 2-element array of int) 0:48 Constant: 0:48 10 (const int) 0:48 11 (const int) -0:48 move second child to first child (temp 3-element array of int) -0:48 '__foobvm3' (global 3-element array of int) +0:48 move second child to first child ( temp 3-element array of int) +0:48 '__foobvm3' ( global 3-element array of int) 0:48 Constant: 0:48 12 (const int) 0:48 13 (const int) 0:48 14 (const int) 0:49 Sequence -0:49 move second child to first child (temp 4-element array of int) -0:49 'foob__vn8' (global 4-element array of int) +0:49 move second child to first child ( temp 4-element array of int) +0:49 'foob__vn8' ( global 4-element array of int) 0:49 Constant: 0:49 21 (const int) 0:49 22 (const int) 0:49 23 (const int) 0:49 24 (const int) 0:? Linker Objects -0:? 'a' (global int) -0:? 'b' (global int) -0:? 'c' (global int) -0:? 'd1' (global int) -0:? 'e2' (global int) -0:? 'f' (global int) -0:? 'g' (global int) -0:? 'h3' (global int) -0:? 'i4' (global 4-element array of int) -0:? 'j' (global int) -0:? 'k5' (global 5-element array of int) -0:? 'm6' (global 6-element array of int) -0:? 'm7' (global 7-element array of int) -0:? 'n8' (global 8-element array of int) -0:? 'p' (global int) -0:? 'ii4' (global 4-element array of int) -0:? 'ij' (global int) -0:? 'ik5' (global 5-element array of int) -0:? 'im2' (global 2-element array of int) -0:? 'im3' (global 3-element array of int) -0:? 'in8' (global 4-element array of int) -0:? 'ip' (global int) -0:? 'cii4' (const 4-element array of int) +0:? 'a' ( global int) +0:? 'b' ( global int) +0:? 'c' ( global int) +0:? 'd1' ( global int) +0:? 'e2' ( global int) +0:? 'f' ( global int) +0:? 'g' ( global int) +0:? 'h3' ( global int) +0:? 'i4' ( global 4-element array of int) +0:? 'j' ( global int) +0:? 'k5' ( global 5-element array of int) +0:? 'm6' ( global 6-element array of int) +0:? 'm7' ( global 7-element array of int) +0:? 'n8' ( global 8-element array of int) +0:? 'p' ( global int) +0:? 'ii4' ( global 4-element array of int) +0:? 'ij' ( global int) +0:? 'ik5' ( global 5-element array of int) +0:? 'im2' ( global 2-element array of int) +0:? 'im3' ( global 3-element array of int) +0:? 'in8' ( global 4-element array of int) +0:? 'ip' ( global int) +0:? 'cii4' ( const 4-element array of int) 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:? 'cij' (temp int) -0:? 'cik5' (const 5-element array of int) +0:? 'cij' ( temp int) +0:? 'cik5' ( const 5-element array of int) 0:? 5 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) 0:? 9 (const int) -0:? 'cim2' (const 2-element array of int) +0:? 'cim2' ( const 2-element array of int) 0:? 10 (const int) 0:? 11 (const int) -0:? 'cim3' (const 3-element array of int) +0:? 'cim3' ( const 3-element array of int) 0:? 12 (const int) 0:? 13 (const int) 0:? 14 (const int) -0:? 'cin8' (const 4-element array of int) +0:? 'cin8' ( const 4-element array of int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) 0:? 24 (const int) -0:? 'cip' (temp int) -0:? 'uii4' (uniform 4-element array of int) +0:? 'cip' ( temp int) +0:? 'uii4' ( uniform 4-element array of int) 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:? 'uij' (uniform int) -0:? 'uik5' (uniform 5-element array of int) +0:? 'uij' ( uniform int) +0:? 'uik5' ( uniform 5-element array of int) 0:? 5 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) 0:? 9 (const int) -0:? 'uim2' (uniform 2-element array of int) +0:? 'uim2' ( uniform 2-element array of int) 0:? 10 (const int) 0:? 11 (const int) -0:? 'uim3' (uniform 3-element array of int) +0:? 'uim3' ( uniform 3-element array of int) 0:? 12 (const int) 0:? 13 (const int) 0:? 14 (const int) -0:? 'uin8' (uniform 4-element array of int) +0:? 'uin8' ( uniform 4-element array of int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) 0:? 24 (const int) -0:? 'uip' (uniform int) -0:? 'gl_vi4' (global 4-element array of int) -0:? 'gl_vj' (global int) -0:? 'gl_vk5' (global 5-element array of int) -0:? 'gl_vm2' (global 2-element array of int) -0:? 'gl_vm3' (global 3-element array of int) -0:? 'gl_vn8' (global 4-element array of int) -0:? 'gl_vp' (global int) -0:? 'foob__vi4' (global 4-element array of int) -0:? 'foob__vj' (global int) -0:? 'foob__vk5' (global 5-element array of int) -0:? '__foobvm2' (global 2-element array of int) -0:? '__foobvm3' (global 3-element array of int) -0:? 'foob__vn8' (global 4-element array of int) -0:? 'foob__vp' (global int) +0:? 'uip' ( uniform int) +0:? 'gl_vi4' ( global 4-element array of int) +0:? 'gl_vj' ( global int) +0:? 'gl_vk5' ( global 5-element array of int) +0:? 'gl_vm2' ( global 2-element array of int) +0:? 'gl_vm3' ( global 3-element array of int) +0:? 'gl_vn8' ( global 4-element array of int) +0:? 'gl_vp' ( global int) +0:? 'foob__vi4' ( global 4-element array of int) +0:? 'foob__vj' ( global int) +0:? 'foob__vk5' ( global 5-element array of int) +0:? '__foobvm2' ( global 2-element array of int) +0:? '__foobvm3' ( global 3-element array of int) +0:? 'foob__vn8' ( global 4-element array of int) +0:? 'foob__vp' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/deepRvalue.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/deepRvalue.frag.out index 9441ace9750..a4fdf5a8ee2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/deepRvalue.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/deepRvalue.frag.out @@ -2,114 +2,114 @@ deepRvalue.frag Shader version: 120 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v1' (global 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v1' ( global 4-component vector of float) 0:5 Constant: 0:5 2.000000 0:5 3.000000 0:5 5.000000 0:5 7.000000 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'v2' (global 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'v2' ( global 4-component vector of float) 0:6 Constant: 0:6 11.000000 0:6 13.000000 0:6 17.000000 0:6 19.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'v3' (global 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'v3' ( global 4-component vector of float) 0:7 Constant: 0:7 23.000000 0:7 29.000000 0:7 31.000000 0:7 37.000000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'v4' (global 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'v4' ( global 4-component vector of float) 0:8 Constant: 0:8 41.000000 0:8 43.000000 0:8 47.000000 0:8 53.000000 -0:16 Function Definition: main( (global void) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:18 Sequence 0:18 Sequence -0:18 move second child to first child (temp 4X4 matrix of float) -0:18 'm' (temp 4X4 matrix of float) -0:18 Construct mat4 (temp 4X4 matrix of float) -0:18 'v1' (global 4-component vector of float) -0:18 'v2' (global 4-component vector of float) -0:18 'v3' (global 4-component vector of float) -0:18 'v4' (global 4-component vector of float) +0:18 move second child to first child ( temp 4X4 matrix of float) +0:18 'm' ( temp 4X4 matrix of float) +0:18 Construct mat4 ( temp 4X4 matrix of float) +0:18 'v1' ( global 4-component vector of float) +0:18 'v2' ( global 4-component vector of float) +0:18 'v3' ( global 4-component vector of float) +0:18 'v4' ( global 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp 4X4 matrix of float) -0:20 'mm' (temp 4X4 matrix of float) -0:20 component-wise multiply (global 4X4 matrix of float) -0:20 'm' (temp 4X4 matrix of float) -0:20 'm' (temp 4X4 matrix of float) +0:20 move second child to first child ( temp 4X4 matrix of float) +0:20 'mm' ( temp 4X4 matrix of float) +0:20 component-wise multiply ( global 4X4 matrix of float) +0:20 'm' ( temp 4X4 matrix of float) +0:20 'm' ( temp 4X4 matrix of float) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'f' (temp float) -0:21 direct index (temp float) -0:21 direct index (temp 4-component vector of float) -0:21 'mm' (temp 4X4 matrix of float) +0:21 move second child to first child ( temp float) +0:21 'f' ( temp float) +0:21 direct index ( temp float) +0:21 direct index ( temp 4-component vector of float) +0:21 'mm' ( temp 4X4 matrix of float) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 3 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'g' (temp float) -0:24 direct index (temp float) -0:24 direct index (temp 4-component vector of float) -0:24 component-wise multiply (global 4X4 matrix of float) -0:24 'm' (temp 4X4 matrix of float) -0:24 'm' (temp 4X4 matrix of float) +0:24 move second child to first child ( temp float) +0:24 'g' ( temp float) +0:24 direct index ( temp float) +0:24 direct index ( temp 4-component vector of float) +0:24 component-wise multiply ( global 4X4 matrix of float) +0:24 'm' ( temp 4X4 matrix of float) +0:24 'm' ( temp 4X4 matrix of float) 0:24 Constant: 0:24 2 (const int) 0:24 Constant: 0:24 1 (const int) 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'h' (temp float) +0:26 move second child to first child ( temp float) +0:26 'h' ( temp float) 0:26 Constant: 0:26 5.000000 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'i' (temp float) -0:28 direct index (temp float) -0:28 texture (global 4-component vector of float) -0:28 'sampler' (uniform sampler2D) +0:28 move second child to first child ( temp float) +0:28 'i' ( temp float) +0:28 direct index ( temp float) +0:28 texture ( global 4-component vector of float) +0:28 'sampler' ( uniform sampler2D) 0:28 Constant: 0:28 0.500000 0:28 0.500000 0:28 Constant: 0:28 1 (const int) -0:30 add second child into first child (temp float) -0:30 'i' (temp float) -0:30 direct index (temp float) -0:30 Test condition and select (temp 4-component vector of float) +0:30 add second child into first child ( temp float) +0:30 'i' ( temp float) +0:30 direct index ( temp float) +0:30 Test condition and select ( temp 4-component vector of float) 0:30 Condition -0:30 Compare Greater Than (temp bool) -0:30 'i' (temp float) +0:30 Compare Greater Than ( temp bool) +0:30 'i' ( temp float) 0:30 Constant: 0:30 0.100000 0:30 true case -0:30 'v1' (global 4-component vector of float) +0:30 'v1' ( global 4-component vector of float) 0:30 false case -0:30 'v2' (global 4-component vector of float) +0:30 'v2' ( global 4-component vector of float) 0:30 Constant: 0:30 3 (const int) -0:33 add second child into first child (temp float) -0:33 'i' (temp float) -0:33 direct index (temp float) -0:33 direct index (temp 2-component vector of float) -0:33 b: direct index for structure (global 3-element array of 2-component vector of float) -0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c}) -0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c}) +0:33 add second child into first child ( temp float) +0:33 'i' ( temp float) +0:33 direct index ( temp float) +0:33 direct index ( temp 2-component vector of float) +0:33 b: direct index for structure ( global 3-element array of 2-component vector of float) +0:33 move second child to first child ( temp structure{ global int a, global 3-element array of 2-component vector of float b, global bool c}) +0:33 't' ( temp structure{ global int a, global 3-element array of 2-component vector of float b, global bool c}) 0:33 Constant: 0:33 1 (const int) 0:33 2.000000 @@ -125,19 +125,19 @@ Shader version: 120 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:35 move second child to first child (temp 4-component vector of float) -0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:35 Construct vec4 (temp 4-component vector of float) -0:35 'f' (temp float) -0:35 'g' (temp float) -0:35 'h' (temp float) -0:35 'i' (temp float) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:35 Construct vec4 ( temp 4-component vector of float) +0:35 'f' ( temp float) +0:35 'g' ( temp float) +0:35 'h' ( temp float) +0:35 'i' ( temp float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'v1' (global 4-component vector of float) -0:? 'v2' (global 4-component vector of float) -0:? 'v3' (global 4-component vector of float) -0:? 'v4' (global 4-component vector of float) +0:? 'sampler' ( uniform sampler2D) +0:? 'v1' ( global 4-component vector of float) +0:? 'v2' ( global 4-component vector of float) +0:? 'v3' ( global 4-component vector of float) +0:? 'v4' ( global 4-component vector of float) Linked fragment stage: @@ -146,114 +146,114 @@ Linked fragment stage: Shader version: 120 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v1' (global 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v1' ( global 4-component vector of float) 0:5 Constant: 0:5 2.000000 0:5 3.000000 0:5 5.000000 0:5 7.000000 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'v2' (global 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'v2' ( global 4-component vector of float) 0:6 Constant: 0:6 11.000000 0:6 13.000000 0:6 17.000000 0:6 19.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'v3' (global 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'v3' ( global 4-component vector of float) 0:7 Constant: 0:7 23.000000 0:7 29.000000 0:7 31.000000 0:7 37.000000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'v4' (global 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'v4' ( global 4-component vector of float) 0:8 Constant: 0:8 41.000000 0:8 43.000000 0:8 47.000000 0:8 53.000000 -0:16 Function Definition: main( (global void) +0:16 Function Definition: main( ( global void) 0:16 Function Parameters: 0:18 Sequence 0:18 Sequence -0:18 move second child to first child (temp 4X4 matrix of float) -0:18 'm' (temp 4X4 matrix of float) -0:18 Construct mat4 (temp 4X4 matrix of float) -0:18 'v1' (global 4-component vector of float) -0:18 'v2' (global 4-component vector of float) -0:18 'v3' (global 4-component vector of float) -0:18 'v4' (global 4-component vector of float) +0:18 move second child to first child ( temp 4X4 matrix of float) +0:18 'm' ( temp 4X4 matrix of float) +0:18 Construct mat4 ( temp 4X4 matrix of float) +0:18 'v1' ( global 4-component vector of float) +0:18 'v2' ( global 4-component vector of float) +0:18 'v3' ( global 4-component vector of float) +0:18 'v4' ( global 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp 4X4 matrix of float) -0:20 'mm' (temp 4X4 matrix of float) -0:20 component-wise multiply (global 4X4 matrix of float) -0:20 'm' (temp 4X4 matrix of float) -0:20 'm' (temp 4X4 matrix of float) +0:20 move second child to first child ( temp 4X4 matrix of float) +0:20 'mm' ( temp 4X4 matrix of float) +0:20 component-wise multiply ( global 4X4 matrix of float) +0:20 'm' ( temp 4X4 matrix of float) +0:20 'm' ( temp 4X4 matrix of float) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'f' (temp float) -0:21 direct index (temp float) -0:21 direct index (temp 4-component vector of float) -0:21 'mm' (temp 4X4 matrix of float) +0:21 move second child to first child ( temp float) +0:21 'f' ( temp float) +0:21 direct index ( temp float) +0:21 direct index ( temp 4-component vector of float) +0:21 'mm' ( temp 4X4 matrix of float) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 3 (const int) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'g' (temp float) -0:24 direct index (temp float) -0:24 direct index (temp 4-component vector of float) -0:24 component-wise multiply (global 4X4 matrix of float) -0:24 'm' (temp 4X4 matrix of float) -0:24 'm' (temp 4X4 matrix of float) +0:24 move second child to first child ( temp float) +0:24 'g' ( temp float) +0:24 direct index ( temp float) +0:24 direct index ( temp 4-component vector of float) +0:24 component-wise multiply ( global 4X4 matrix of float) +0:24 'm' ( temp 4X4 matrix of float) +0:24 'm' ( temp 4X4 matrix of float) 0:24 Constant: 0:24 2 (const int) 0:24 Constant: 0:24 1 (const int) 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'h' (temp float) +0:26 move second child to first child ( temp float) +0:26 'h' ( temp float) 0:26 Constant: 0:26 5.000000 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'i' (temp float) -0:28 direct index (temp float) -0:28 texture (global 4-component vector of float) -0:28 'sampler' (uniform sampler2D) +0:28 move second child to first child ( temp float) +0:28 'i' ( temp float) +0:28 direct index ( temp float) +0:28 texture ( global 4-component vector of float) +0:28 'sampler' ( uniform sampler2D) 0:28 Constant: 0:28 0.500000 0:28 0.500000 0:28 Constant: 0:28 1 (const int) -0:30 add second child into first child (temp float) -0:30 'i' (temp float) -0:30 direct index (temp float) -0:30 Test condition and select (temp 4-component vector of float) +0:30 add second child into first child ( temp float) +0:30 'i' ( temp float) +0:30 direct index ( temp float) +0:30 Test condition and select ( temp 4-component vector of float) 0:30 Condition -0:30 Compare Greater Than (temp bool) -0:30 'i' (temp float) +0:30 Compare Greater Than ( temp bool) +0:30 'i' ( temp float) 0:30 Constant: 0:30 0.100000 0:30 true case -0:30 'v1' (global 4-component vector of float) +0:30 'v1' ( global 4-component vector of float) 0:30 false case -0:30 'v2' (global 4-component vector of float) +0:30 'v2' ( global 4-component vector of float) 0:30 Constant: 0:30 3 (const int) -0:33 add second child into first child (temp float) -0:33 'i' (temp float) -0:33 direct index (temp float) -0:33 direct index (temp 2-component vector of float) -0:33 b: direct index for structure (global 3-element array of 2-component vector of float) -0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c}) -0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c}) +0:33 add second child into first child ( temp float) +0:33 'i' ( temp float) +0:33 direct index ( temp float) +0:33 direct index ( temp 2-component vector of float) +0:33 b: direct index for structure ( global 3-element array of 2-component vector of float) +0:33 move second child to first child ( temp structure{ global int a, global 3-element array of 2-component vector of float b, global bool c}) +0:33 't' ( temp structure{ global int a, global 3-element array of 2-component vector of float b, global bool c}) 0:33 Constant: 0:33 1 (const int) 0:33 2.000000 @@ -269,17 +269,17 @@ Shader version: 120 0:33 2 (const int) 0:33 Constant: 0:33 1 (const int) -0:35 move second child to first child (temp 4-component vector of float) -0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:35 Construct vec4 (temp 4-component vector of float) -0:35 'f' (temp float) -0:35 'g' (temp float) -0:35 'h' (temp float) -0:35 'i' (temp float) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:35 Construct vec4 ( temp 4-component vector of float) +0:35 'f' ( temp float) +0:35 'g' ( temp float) +0:35 'h' ( temp float) +0:35 'i' ( temp float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'v1' (global 4-component vector of float) -0:? 'v2' (global 4-component vector of float) -0:? 'v3' (global 4-component vector of float) -0:? 'v4' (global 4-component vector of float) +0:? 'sampler' ( uniform sampler2D) +0:? 'v1' ( global 4-component vector of float) +0:? 'v2' ( global 4-component vector of float) +0:? 'v3' ( global 4-component vector of float) +0:? 'v4' ( global 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/depthOut.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/depthOut.frag.out index 0177b39e328..91c1fc20753 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/depthOut.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/depthOut.frag.out @@ -4,18 +4,18 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:8 'Depth' (smooth in float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:9 'Color' (smooth in 4-component vector of float) +0:8 move second child to first child ( temp float) +0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:8 'Depth' ( smooth in float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:9 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) -0:? 'Depth' (smooth in float) +0:? 'Color' ( smooth in 4-component vector of float) +0:? 'Depth' ( smooth in float) Linked fragment stage: @@ -23,16 +23,16 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:8 'Depth' (smooth in float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:9 'Color' (smooth in 4-component vector of float) +0:8 move second child to first child ( temp float) +0:8 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:8 'Depth' ( smooth in float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:9 'Color' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'Color' (smooth in 4-component vector of float) -0:? 'Depth' (smooth in float) +0:? 'Color' ( smooth in 4-component vector of float) +0:? 'Depth' ( smooth in float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/discard-dce.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/discard-dce.frag.out index 9b194c7bd2d..5f5e8894551 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/discard-dce.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/discard-dce.frag.out @@ -1,36 +1,36 @@ discard-dce.frag Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -38,12 +38,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -51,70 +51,70 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Sequence -0:14 move second child to first child (temp float) -0:14 'radius' (temp float) -0:14 sqrt (global float) -0:14 add (temp float) -0:14 component-wise multiply (temp float) -0:14 'x' (temp float) -0:14 'x' (temp float) -0:14 component-wise multiply (temp float) -0:14 'y' (temp float) -0:14 'y' (temp float) -0:15 Test condition and select (temp void) +0:14 move second child to first child ( temp float) +0:14 'radius' ( temp float) +0:14 sqrt ( global float) +0:14 add ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'x' ( temp float) +0:14 'x' ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'y' ( temp float) +0:14 'y' ( temp float) +0:15 Test condition and select ( temp void) 0:15 Condition -0:15 Compare Greater Than (temp bool) -0:15 'radius' (temp float) +0:15 Compare Greater Than ( temp bool) +0:15 'radius' ( temp float) 0:15 Constant: 0:15 1.000000 0:15 true case 0:16 Sequence -0:16 Test condition and select (temp void) +0:16 Test condition and select ( temp void) 0:16 Condition -0:16 Compare Greater Than (temp bool) -0:16 'radius' (temp float) +0:16 Compare Greater Than ( temp bool) +0:16 'radius' ( temp float) 0:16 Constant: 0:16 1.100000 0:16 true case 0:17 Sequence -0:17 Pre-Increment (temp 4-component vector of float) -0:17 'color' (temp 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 'color' (temp 4-component vector of float) -0:22 Test condition and select (temp void) +0:17 Pre-Increment ( temp 4-component vector of float) +0:17 'color' ( temp 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 'color' ( temp 4-component vector of float) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Greater Than (temp bool) -0:22 'radius' (temp float) +0:22 Compare Greater Than ( temp bool) +0:22 'radius' ( temp float) 0:22 Constant: 0:22 1.200000 0:22 true case 0:23 Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'color' (temp 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'color' ( temp 4-component vector of float) 0:26 Branch: Kill -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Greater Than or Equal (temp bool) -0:30 'radius' (temp float) +0:30 Compare Greater Than or Equal ( temp bool) +0:30 'radius' ( temp float) 0:30 Constant: 0:30 0.750000 0:30 true case -0:31 subtract second child into first child (temp 4-component vector of float) -0:31 'color' (temp 4-component vector of float) -0:31 Absolute value (global float) -0:31 divide (temp float) -0:31 pow (global float) -0:31 'radius' (temp float) +0:31 subtract second child into first child ( temp 4-component vector of float) +0:31 'color' ( temp 4-component vector of float) +0:31 Absolute value ( global float) +0:31 divide ( temp float) +0:31 pow ( global float) +0:31 'radius' ( temp float) 0:31 Constant: 0:31 16.000000 0:31 Constant: 0:31 2.000000 -0:33 move second child to first child (temp 4-component vector of float) -0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:33 'color' (temp 4-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:33 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) Linked fragment stage: @@ -122,36 +122,36 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:4 Function Definition: main( (global void) +0:4 Function Definition: main( ( global void) 0:4 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'white' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'white' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'black' (temp 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'black' ( temp 4-component vector of float) 0:7 Constant: 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:7 0.200000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'color' (temp 4-component vector of float) -0:8 'white' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'color' ( temp 4-component vector of float) +0:8 'white' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'x' (temp float) -0:11 subtract (temp float) -0:11 component-wise multiply (temp float) -0:11 direct index (temp float) -0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 move second child to first child ( temp float) +0:11 'x' ( temp float) +0:11 subtract ( temp float) +0:11 component-wise multiply ( temp float) +0:11 direct index ( temp float) +0:11 'tex_coord' ( smooth in 2-component vector of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -159,12 +159,12 @@ Shader version: 110 0:11 Constant: 0:11 1.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'y' (temp float) -0:12 subtract (temp float) -0:12 component-wise multiply (temp float) -0:12 direct index (temp float) -0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'y' ( temp float) +0:12 subtract ( temp float) +0:12 component-wise multiply ( temp float) +0:12 direct index ( temp float) +0:12 'tex_coord' ( smooth in 2-component vector of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -172,68 +172,68 @@ Shader version: 110 0:12 Constant: 0:12 1.000000 0:14 Sequence -0:14 move second child to first child (temp float) -0:14 'radius' (temp float) -0:14 sqrt (global float) -0:14 add (temp float) -0:14 component-wise multiply (temp float) -0:14 'x' (temp float) -0:14 'x' (temp float) -0:14 component-wise multiply (temp float) -0:14 'y' (temp float) -0:14 'y' (temp float) -0:15 Test condition and select (temp void) +0:14 move second child to first child ( temp float) +0:14 'radius' ( temp float) +0:14 sqrt ( global float) +0:14 add ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'x' ( temp float) +0:14 'x' ( temp float) +0:14 component-wise multiply ( temp float) +0:14 'y' ( temp float) +0:14 'y' ( temp float) +0:15 Test condition and select ( temp void) 0:15 Condition -0:15 Compare Greater Than (temp bool) -0:15 'radius' (temp float) +0:15 Compare Greater Than ( temp bool) +0:15 'radius' ( temp float) 0:15 Constant: 0:15 1.000000 0:15 true case 0:16 Sequence -0:16 Test condition and select (temp void) +0:16 Test condition and select ( temp void) 0:16 Condition -0:16 Compare Greater Than (temp bool) -0:16 'radius' (temp float) +0:16 Compare Greater Than ( temp bool) +0:16 'radius' ( temp float) 0:16 Constant: 0:16 1.100000 0:16 true case 0:17 Sequence -0:17 Pre-Increment (temp 4-component vector of float) -0:17 'color' (temp 4-component vector of float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 'color' (temp 4-component vector of float) -0:22 Test condition and select (temp void) +0:17 Pre-Increment ( temp 4-component vector of float) +0:17 'color' ( temp 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 'color' ( temp 4-component vector of float) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Compare Greater Than (temp bool) -0:22 'radius' (temp float) +0:22 Compare Greater Than ( temp bool) +0:22 'radius' ( temp float) 0:22 Constant: 0:22 1.200000 0:22 true case 0:23 Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'color' (temp 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'color' ( temp 4-component vector of float) 0:26 Branch: Kill -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Greater Than or Equal (temp bool) -0:30 'radius' (temp float) +0:30 Compare Greater Than or Equal ( temp bool) +0:30 'radius' ( temp float) 0:30 Constant: 0:30 0.750000 0:30 true case -0:31 subtract second child into first child (temp 4-component vector of float) -0:31 'color' (temp 4-component vector of float) -0:31 Absolute value (global float) -0:31 divide (temp float) -0:31 pow (global float) -0:31 'radius' (temp float) +0:31 subtract second child into first child ( temp 4-component vector of float) +0:31 'color' ( temp 4-component vector of float) +0:31 Absolute value ( global float) +0:31 divide ( temp float) +0:31 pow ( global float) +0:31 'radius' ( temp float) 0:31 Constant: 0:31 16.000000 0:31 Constant: 0:31 2.000000 -0:33 move second child to first child (temp 4-component vector of float) -0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:33 'color' (temp 4-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:33 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'tex_coord' (smooth in 2-component vector of float) +0:? 'tex_coord' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/doWhileLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/doWhileLoop.frag.out index 4cfbea97dc8..5302cb98b44 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/doWhileLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/doWhileLoop.frag.out @@ -1,33 +1,33 @@ doWhileLoop.frag Shader version: 110 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'color' (temp 4-component vector of float) -0:9 'BaseColor' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'color' ( temp 4-component vector of float) +0:9 'BaseColor' ( smooth in 4-component vector of float) 0:13 Loop with condition not tested first 0:13 Loop Condition -0:13 Compare Less Than (temp bool) -0:13 direct index (temp float) -0:13 'color' (temp 4-component vector of float) +0:13 Compare Less Than ( temp bool) +0:13 direct index ( temp float) +0:13 'color' ( temp 4-component vector of float) 0:13 Constant: 0:13 0 (const int) -0:13 'd' (uniform float) +0:13 'd' ( uniform float) 0:13 Loop Body 0:12 Sequence -0:12 add second child into first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'bigColor' (uniform 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'color' (temp 4-component vector of float) +0:12 add second child into first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'bigColor' ( uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) Linked fragment stage: @@ -35,31 +35,31 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'color' (temp 4-component vector of float) -0:9 'BaseColor' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'color' ( temp 4-component vector of float) +0:9 'BaseColor' ( smooth in 4-component vector of float) 0:13 Loop with condition not tested first 0:13 Loop Condition -0:13 Compare Less Than (temp bool) -0:13 direct index (temp float) -0:13 'color' (temp 4-component vector of float) +0:13 Compare Less Than ( temp bool) +0:13 direct index ( temp float) +0:13 'color' ( temp 4-component vector of float) 0:13 Constant: 0:13 0 (const int) -0:13 'd' (uniform float) +0:13 'd' ( uniform float) 0:13 Loop Body 0:12 Sequence -0:12 add second child into first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'bigColor' (uniform 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'color' (temp 4-component vector of float) +0:12 add second child into first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'bigColor' ( uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/earlyReturnDiscard.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/earlyReturnDiscard.frag.out index 160b7566971..8c9e4d97152 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/earlyReturnDiscard.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/earlyReturnDiscard.frag.out @@ -1,129 +1,129 @@ earlyReturnDiscard.frag Shader version: 110 0:? Sequence -0:19 Function Definition: main( (global void) +0:19 Function Definition: main( ( global void) 0:19 Function Parameters: 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:21 'color' (temp 4-component vector of float) -0:21 'BaseColor' (smooth in 4-component vector of float) -0:24 move second child to first child (temp 4-component vector of float) -0:24 'color2' (temp 4-component vector of float) -0:24 'otherColor' (uniform 4-component vector of float) -0:26 Test condition and select (temp void) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'color' ( temp 4-component vector of float) +0:21 'BaseColor' ( smooth in 4-component vector of float) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 'color2' ( temp 4-component vector of float) +0:24 'otherColor' ( uniform 4-component vector of float) +0:26 Test condition and select ( temp void) 0:26 Condition -0:26 Compare Greater Than (temp bool) -0:26 'c' (smooth in float) -0:26 'd' (uniform float) +0:26 Compare Greater Than ( temp bool) +0:26 'c' ( smooth in float) +0:26 'd' ( uniform float) 0:26 true case -0:27 add second child into first child (temp 4-component vector of float) -0:27 'color' (temp 4-component vector of float) -0:27 'bigColor' (uniform 4-component vector of float) +0:27 add second child into first child ( temp 4-component vector of float) +0:27 'color' ( temp 4-component vector of float) +0:27 'bigColor' ( uniform 4-component vector of float) 0:26 false case -0:29 add second child into first child (temp 4-component vector of float) -0:29 'color' (temp 4-component vector of float) -0:29 'smallColor' (uniform 4-component vector of float) -0:31 Test condition and select (temp void) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'color' ( temp 4-component vector of float) +0:29 'smallColor' ( uniform 4-component vector of float) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Less Than (temp bool) -0:31 direct index (temp float) -0:31 'color' (temp 4-component vector of float) +0:31 Compare Less Than ( temp bool) +0:31 direct index ( temp float) +0:31 'color' ( temp 4-component vector of float) 0:31 Constant: 0:31 2 (const int) -0:31 'minimum' (uniform float) +0:31 'minimum' ( uniform float) 0:31 true case 0:32 Branch: Return -0:34 Post-Increment (temp float) -0:34 direct index (temp float) -0:34 'color' (temp 4-component vector of float) +0:34 Post-Increment ( temp float) +0:34 direct index ( temp float) +0:34 'color' ( temp 4-component vector of float) 0:34 Constant: 0:34 2 (const int) -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Greater Than (temp bool) -0:36 direct index (temp float) -0:36 'color' (temp 4-component vector of float) +0:36 Compare Greater Than ( temp bool) +0:36 direct index ( temp float) +0:36 'color' ( temp 4-component vector of float) 0:36 Constant: 0:36 2 (const int) -0:36 'threshhold' (uniform float) +0:36 'threshhold' ( uniform float) 0:36 true case 0:37 Branch: Kill -0:39 Post-Increment (temp 4-component vector of float) -0:39 'color' (temp 4-component vector of float) -0:42 Test condition and select (temp void) +0:39 Post-Increment ( temp 4-component vector of float) +0:39 'color' ( temp 4-component vector of float) +0:42 Test condition and select ( temp void) 0:42 Condition -0:42 Compare Greater Than (temp bool) -0:42 direct index (temp float) -0:42 'color' (temp 4-component vector of float) +0:42 Compare Greater Than ( temp bool) +0:42 direct index ( temp float) +0:42 'color' ( temp 4-component vector of float) 0:42 Constant: 0:42 3 (const int) -0:42 'threshhold2' (uniform float) +0:42 'threshhold2' ( uniform float) 0:42 true case 0:43 Sequence -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition -0:43 Compare Greater Than (temp bool) -0:43 direct index (temp float) -0:43 'color' (temp 4-component vector of float) +0:43 Compare Greater Than ( temp bool) +0:43 direct index ( temp float) +0:43 'color' ( temp 4-component vector of float) 0:43 Constant: 0:43 2 (const int) -0:43 'threshhold2' (uniform float) +0:43 'threshhold2' ( uniform float) 0:43 true case 0:44 Branch: Return 0:43 false case -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition -0:45 'b' (uniform bool) +0:45 'b' ( uniform bool) 0:45 true case -0:46 Post-Increment (temp float) -0:46 direct index (temp float) -0:46 'color' (temp 4-component vector of float) +0:46 Post-Increment ( temp float) +0:46 direct index ( temp float) +0:46 'color' ( temp 4-component vector of float) 0:46 Constant: 0:46 2 (const int) 0:45 false case 0:48 Sequence -0:48 Test condition and select (temp void) +0:48 Test condition and select ( temp void) 0:48 Condition -0:48 Compare Less Than (temp bool) -0:48 direct index (temp float) -0:48 'color' (temp 4-component vector of float) +0:48 Compare Less Than ( temp bool) +0:48 direct index ( temp float) +0:48 'color' ( temp 4-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:48 'minimum' (uniform float) +0:48 'minimum' ( uniform float) 0:48 true case 0:49 Sequence 0:49 Branch: Kill 0:48 false case 0:51 Sequence -0:51 Post-Increment (temp 4-component vector of float) -0:51 'color' (temp 4-component vector of float) +0:51 Post-Increment ( temp 4-component vector of float) +0:51 'color' ( temp 4-component vector of float) 0:42 false case 0:55 Sequence -0:55 Test condition and select (temp void) +0:55 Test condition and select ( temp void) 0:55 Condition -0:55 'b' (uniform bool) +0:55 'b' ( uniform bool) 0:55 true case 0:56 Branch: Kill 0:55 false case 0:58 Branch: Return -0:101 move second child to first child (temp 4-component vector of float) -0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:101 component-wise multiply (temp 4-component vector of float) -0:101 'color' (temp 4-component vector of float) -0:101 'color2' (temp 4-component vector of float) +0:101 move second child to first child ( temp 4-component vector of float) +0:101 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:101 component-wise multiply ( temp 4-component vector of float) +0:101 'color' ( temp 4-component vector of float) +0:101 'color2' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'd' (uniform float) -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'smallColor' (uniform 4-component vector of float) -0:? 'otherColor' (uniform 4-component vector of float) -0:? 'c' (smooth in float) -0:? 'threshhold' (uniform float) -0:? 'threshhold2' (uniform float) -0:? 'threshhold3' (uniform float) -0:? 'minimum' (uniform float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'b' (uniform bool) +0:? 'd' ( uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'smallColor' ( uniform 4-component vector of float) +0:? 'otherColor' ( uniform 4-component vector of float) +0:? 'c' ( smooth in float) +0:? 'threshhold' ( uniform float) +0:? 'threshhold2' ( uniform float) +0:? 'threshhold3' ( uniform float) +0:? 'minimum' ( uniform float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'b' ( uniform bool) Linked fragment stage: @@ -131,127 +131,127 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:19 Function Definition: main( (global void) +0:19 Function Definition: main( ( global void) 0:19 Function Parameters: 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:21 'color' (temp 4-component vector of float) -0:21 'BaseColor' (smooth in 4-component vector of float) -0:24 move second child to first child (temp 4-component vector of float) -0:24 'color2' (temp 4-component vector of float) -0:24 'otherColor' (uniform 4-component vector of float) -0:26 Test condition and select (temp void) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'color' ( temp 4-component vector of float) +0:21 'BaseColor' ( smooth in 4-component vector of float) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 'color2' ( temp 4-component vector of float) +0:24 'otherColor' ( uniform 4-component vector of float) +0:26 Test condition and select ( temp void) 0:26 Condition -0:26 Compare Greater Than (temp bool) -0:26 'c' (smooth in float) -0:26 'd' (uniform float) +0:26 Compare Greater Than ( temp bool) +0:26 'c' ( smooth in float) +0:26 'd' ( uniform float) 0:26 true case -0:27 add second child into first child (temp 4-component vector of float) -0:27 'color' (temp 4-component vector of float) -0:27 'bigColor' (uniform 4-component vector of float) +0:27 add second child into first child ( temp 4-component vector of float) +0:27 'color' ( temp 4-component vector of float) +0:27 'bigColor' ( uniform 4-component vector of float) 0:26 false case -0:29 add second child into first child (temp 4-component vector of float) -0:29 'color' (temp 4-component vector of float) -0:29 'smallColor' (uniform 4-component vector of float) -0:31 Test condition and select (temp void) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'color' ( temp 4-component vector of float) +0:29 'smallColor' ( uniform 4-component vector of float) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Less Than (temp bool) -0:31 direct index (temp float) -0:31 'color' (temp 4-component vector of float) +0:31 Compare Less Than ( temp bool) +0:31 direct index ( temp float) +0:31 'color' ( temp 4-component vector of float) 0:31 Constant: 0:31 2 (const int) -0:31 'minimum' (uniform float) +0:31 'minimum' ( uniform float) 0:31 true case 0:32 Branch: Return -0:34 Post-Increment (temp float) -0:34 direct index (temp float) -0:34 'color' (temp 4-component vector of float) +0:34 Post-Increment ( temp float) +0:34 direct index ( temp float) +0:34 'color' ( temp 4-component vector of float) 0:34 Constant: 0:34 2 (const int) -0:36 Test condition and select (temp void) +0:36 Test condition and select ( temp void) 0:36 Condition -0:36 Compare Greater Than (temp bool) -0:36 direct index (temp float) -0:36 'color' (temp 4-component vector of float) +0:36 Compare Greater Than ( temp bool) +0:36 direct index ( temp float) +0:36 'color' ( temp 4-component vector of float) 0:36 Constant: 0:36 2 (const int) -0:36 'threshhold' (uniform float) +0:36 'threshhold' ( uniform float) 0:36 true case 0:37 Branch: Kill -0:39 Post-Increment (temp 4-component vector of float) -0:39 'color' (temp 4-component vector of float) -0:42 Test condition and select (temp void) +0:39 Post-Increment ( temp 4-component vector of float) +0:39 'color' ( temp 4-component vector of float) +0:42 Test condition and select ( temp void) 0:42 Condition -0:42 Compare Greater Than (temp bool) -0:42 direct index (temp float) -0:42 'color' (temp 4-component vector of float) +0:42 Compare Greater Than ( temp bool) +0:42 direct index ( temp float) +0:42 'color' ( temp 4-component vector of float) 0:42 Constant: 0:42 3 (const int) -0:42 'threshhold2' (uniform float) +0:42 'threshhold2' ( uniform float) 0:42 true case 0:43 Sequence -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition -0:43 Compare Greater Than (temp bool) -0:43 direct index (temp float) -0:43 'color' (temp 4-component vector of float) +0:43 Compare Greater Than ( temp bool) +0:43 direct index ( temp float) +0:43 'color' ( temp 4-component vector of float) 0:43 Constant: 0:43 2 (const int) -0:43 'threshhold2' (uniform float) +0:43 'threshhold2' ( uniform float) 0:43 true case 0:44 Branch: Return 0:43 false case -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition -0:45 'b' (uniform bool) +0:45 'b' ( uniform bool) 0:45 true case -0:46 Post-Increment (temp float) -0:46 direct index (temp float) -0:46 'color' (temp 4-component vector of float) +0:46 Post-Increment ( temp float) +0:46 direct index ( temp float) +0:46 'color' ( temp 4-component vector of float) 0:46 Constant: 0:46 2 (const int) 0:45 false case 0:48 Sequence -0:48 Test condition and select (temp void) +0:48 Test condition and select ( temp void) 0:48 Condition -0:48 Compare Less Than (temp bool) -0:48 direct index (temp float) -0:48 'color' (temp 4-component vector of float) +0:48 Compare Less Than ( temp bool) +0:48 direct index ( temp float) +0:48 'color' ( temp 4-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:48 'minimum' (uniform float) +0:48 'minimum' ( uniform float) 0:48 true case 0:49 Sequence 0:49 Branch: Kill 0:48 false case 0:51 Sequence -0:51 Post-Increment (temp 4-component vector of float) -0:51 'color' (temp 4-component vector of float) +0:51 Post-Increment ( temp 4-component vector of float) +0:51 'color' ( temp 4-component vector of float) 0:42 false case 0:55 Sequence -0:55 Test condition and select (temp void) +0:55 Test condition and select ( temp void) 0:55 Condition -0:55 'b' (uniform bool) +0:55 'b' ( uniform bool) 0:55 true case 0:56 Branch: Kill 0:55 false case 0:58 Branch: Return -0:101 move second child to first child (temp 4-component vector of float) -0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:101 component-wise multiply (temp 4-component vector of float) -0:101 'color' (temp 4-component vector of float) -0:101 'color2' (temp 4-component vector of float) +0:101 move second child to first child ( temp 4-component vector of float) +0:101 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:101 component-wise multiply ( temp 4-component vector of float) +0:101 'color' ( temp 4-component vector of float) +0:101 'color2' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'd' (uniform float) -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'smallColor' (uniform 4-component vector of float) -0:? 'otherColor' (uniform 4-component vector of float) -0:? 'c' (smooth in float) -0:? 'threshhold' (uniform float) -0:? 'threshhold2' (uniform float) -0:? 'threshhold3' (uniform float) -0:? 'minimum' (uniform float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'b' (uniform bool) +0:? 'd' ( uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'smallColor' ( uniform 4-component vector of float) +0:? 'otherColor' ( uniform 4-component vector of float) +0:? 'c' ( smooth in float) +0:? 'threshhold' ( uniform float) +0:? 'threshhold2' ( uniform float) +0:? 'threshhold3' ( uniform float) +0:? 'minimum' ( uniform float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'b' ( uniform bool) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/errors.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/errors.frag.out index 23f66315a06..7271107e021 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/errors.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/errors.frag.out @@ -6,9 +6,9 @@ ERROR: 2 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! -0:1 Function Definition: main(i1; (global mediump int) +0:1 Function Definition: main(i1; ( global mediump int) 0:1 Function Parameters: -0:1 'foo' (in mediump int) +0:1 'foo' ( in mediump int) 0:3 Sequence 0:3 Branch: Return with expression 0:3 Constant: @@ -21,9 +21,9 @@ Linked fragment stage: Shader version: 100 ERROR: node is still EOpNull! -0:1 Function Definition: main(i1; (global mediump int) +0:1 Function Definition: main(i1; ( global mediump int) 0:1 Function Parameters: -0:1 'foo' (in mediump int) +0:1 'foo' ( in mediump int) 0:3 Sequence 0:3 Branch: Return with expression 0:3 Constant: diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/es-link1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/es-link1.frag.out index 41ce9a0fdfe..8e662c3d79c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/es-link1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/es-link1.frag.out @@ -1,27 +1,27 @@ es-link1.frag Shader version: 100 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:7 Sequence -0:7 move second child to first child (temp mediump 4-component vector of float) -0:7 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor) -0:7 Function Call: calculateColor( (global mediump 4-component vector of float) +0:7 move second child to first child ( temp mediump 4-component vector of float) +0:7 'gl_FragColor' ( fragColor mediump 4-component vector of float FragColor) +0:7 Function Call: calculateColor( ( global mediump 4-component vector of float) 0:? Linker Objects es-link2.frag Shader version: 100 0:? Sequence -0:5 Function Definition: calculateColor( (global mediump 4-component vector of float) +0:5 Function Definition: calculateColor( ( global mediump 4-component vector of float) 0:5 Function Parameters: 0:7 Sequence 0:7 Branch: Return with expression -0:7 vector-scale (temp mediump 4-component vector of float) -0:7 'varyingColor' (smooth in mediump 4-component vector of float) +0:7 vector-scale ( temp mediump 4-component vector of float) +0:7 'varyingColor' ( smooth in mediump 4-component vector of float) 0:7 Constant: 0:7 0.500000 0:? Linker Objects -0:? 'varyingColor' (smooth in mediump 4-component vector of float) +0:? 'varyingColor' ( smooth in mediump 4-component vector of float) ERROR: Cannot attach multiple ES shaders of the same type to a single program diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/flowControl.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/flowControl.frag.out index 324da066c14..4f5fc8bcece 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/flowControl.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/flowControl.frag.out @@ -1,41 +1,41 @@ flowControl.frag Shader version: 120 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'BaseColor' (smooth in 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'color2' (temp 4-component vector of float) -0:15 'otherColor' (uniform 4-component vector of float) -0:17 Test condition and select (temp void) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'BaseColor' ( smooth in 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'color2' ( temp 4-component vector of float) +0:15 'otherColor' ( uniform 4-component vector of float) +0:17 Test condition and select ( temp void) 0:17 Condition -0:17 Compare Greater Than (temp bool) -0:17 'c' (smooth in float) -0:17 'd' (uniform float) +0:17 Compare Greater Than ( temp bool) +0:17 'c' ( smooth in float) +0:17 'd' ( uniform float) 0:17 true case -0:18 add second child into first child (temp 4-component vector of float) -0:18 'color' (temp 4-component vector of float) -0:18 'bigColor' (uniform 4-component vector of float) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'color' ( temp 4-component vector of float) +0:18 'bigColor' ( uniform 4-component vector of float) 0:17 false case -0:20 add second child into first child (temp 4-component vector of float) -0:20 'color' (temp 4-component vector of float) -0:20 'smallColor' (uniform 4-component vector of float) -0:22 move second child to first child (temp 4-component vector of float) -0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:22 component-wise multiply (temp 4-component vector of float) -0:22 'color' (temp 4-component vector of float) -0:22 'color2' (temp 4-component vector of float) +0:20 add second child into first child ( temp 4-component vector of float) +0:20 'color' ( temp 4-component vector of float) +0:20 'smallColor' ( uniform 4-component vector of float) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:22 component-wise multiply ( temp 4-component vector of float) +0:22 'color' ( temp 4-component vector of float) +0:22 'color2' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'd' (uniform float) -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'smallColor' (uniform 4-component vector of float) -0:? 'otherColor' (uniform 4-component vector of float) -0:? 'c' (smooth in float) -0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'smallColor' ( uniform 4-component vector of float) +0:? 'otherColor' ( uniform 4-component vector of float) +0:? 'c' ( smooth in float) +0:? 'BaseColor' ( smooth in 4-component vector of float) Linked fragment stage: @@ -43,39 +43,39 @@ Linked fragment stage: Shader version: 120 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'BaseColor' (smooth in 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'color2' (temp 4-component vector of float) -0:15 'otherColor' (uniform 4-component vector of float) -0:17 Test condition and select (temp void) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'BaseColor' ( smooth in 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'color2' ( temp 4-component vector of float) +0:15 'otherColor' ( uniform 4-component vector of float) +0:17 Test condition and select ( temp void) 0:17 Condition -0:17 Compare Greater Than (temp bool) -0:17 'c' (smooth in float) -0:17 'd' (uniform float) +0:17 Compare Greater Than ( temp bool) +0:17 'c' ( smooth in float) +0:17 'd' ( uniform float) 0:17 true case -0:18 add second child into first child (temp 4-component vector of float) -0:18 'color' (temp 4-component vector of float) -0:18 'bigColor' (uniform 4-component vector of float) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'color' ( temp 4-component vector of float) +0:18 'bigColor' ( uniform 4-component vector of float) 0:17 false case -0:20 add second child into first child (temp 4-component vector of float) -0:20 'color' (temp 4-component vector of float) -0:20 'smallColor' (uniform 4-component vector of float) -0:22 move second child to first child (temp 4-component vector of float) -0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:22 component-wise multiply (temp 4-component vector of float) -0:22 'color' (temp 4-component vector of float) -0:22 'color2' (temp 4-component vector of float) +0:20 add second child into first child ( temp 4-component vector of float) +0:20 'color' ( temp 4-component vector of float) +0:20 'smallColor' ( uniform 4-component vector of float) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:22 component-wise multiply ( temp 4-component vector of float) +0:22 'color' ( temp 4-component vector of float) +0:22 'color2' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'd' (uniform float) -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'smallColor' (uniform 4-component vector of float) -0:? 'otherColor' (uniform 4-component vector of float) -0:? 'c' (smooth in float) -0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'smallColor' ( uniform 4-component vector of float) +0:? 'otherColor' ( uniform 4-component vector of float) +0:? 'c' ( smooth in float) +0:? 'BaseColor' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forLoop.frag.out index babd30e45d6..e6a151788ed 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forLoop.frag.out @@ -1,98 +1,98 @@ forLoop.frag Shader version: 130 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'BaseColor' (smooth in 4-component vector of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'BaseColor' ( smooth in 4-component vector of float) 0:14 Sequence 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'i' (temp int) +0:14 move second child to first child ( temp int) +0:14 'i' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:14 Loop with condition tested first 0:14 Loop Condition -0:14 Compare Less Than (temp bool) -0:14 'i' (temp int) -0:14 'Count' (uniform int) +0:14 Compare Less Than ( temp bool) +0:14 'i' ( temp int) +0:14 'Count' ( uniform int) 0:14 Loop Body 0:15 Sequence -0:15 add second child into first child (temp 4-component vector of float) -0:15 'color' (temp 4-component vector of float) -0:15 'bigColor' (uniform 4-component vector of float) +0:15 add second child into first child ( temp 4-component vector of float) +0:15 'color' ( temp 4-component vector of float) +0:15 'bigColor' ( uniform 4-component vector of float) 0:14 Loop Terminal Expression -0:14 Pre-Increment (temp int) -0:14 'i' (temp int) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 'color' (temp 4-component vector of float) +0:14 Pre-Increment ( temp int) +0:14 'i' ( temp int) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 'color' ( temp 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp float) -0:20 'sum' (temp float) +0:20 move second child to first child ( temp float) +0:20 'sum' ( temp float) 0:20 Constant: 0:20 0.000000 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'i' (temp int) +0:21 move second child to first child ( temp int) +0:21 'i' ( temp int) 0:21 Constant: 0:21 0 (const int) 0:21 Loop with condition tested first 0:21 Loop Condition -0:21 Compare Less Than (temp bool) -0:21 'i' (temp int) +0:21 Compare Less Than ( temp bool) +0:21 'i' ( temp int) 0:21 Constant: 0:21 4 (const int) 0:21 Loop Body -0:22 add second child into first child (temp float) -0:22 'sum' (temp float) -0:22 Convert uint to float (temp float) -0:22 indirect index (temp uint) -0:22 'v4' (uniform 4-component vector of uint) -0:22 'i' (temp int) +0:22 add second child into first child ( temp float) +0:22 'sum' ( temp float) +0:22 Convert uint to float ( temp float) +0:22 indirect index ( temp uint) +0:22 'v4' ( uniform 4-component vector of uint) +0:22 'i' ( temp int) 0:21 Loop Terminal Expression -0:21 Pre-Increment (temp int) -0:21 'i' (temp int) +0:21 Pre-Increment ( temp int) +0:21 'i' ( temp int) 0:26 Sequence 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'i' (temp int) +0:26 move second child to first child ( temp int) +0:26 'i' ( temp int) 0:26 Constant: 0:26 0 (const int) 0:26 Loop with condition tested first 0:26 Loop Condition -0:26 Compare Less Than (temp bool) -0:26 'i' (temp int) +0:26 Compare Less Than ( temp bool) +0:26 'i' ( temp int) 0:26 Constant: 0:26 4 (const int) 0:26 Loop Body -0:27 move second child to first child (temp float) -0:27 indirect index (temp float) -0:27 'tv4' (temp 4-component vector of float) -0:27 'i' (temp int) -0:27 Convert uint to float (temp float) -0:27 component-wise multiply (temp uint) -0:27 indirect index (temp uint) -0:27 'v4' (uniform 4-component vector of uint) -0:27 'i' (temp int) +0:27 move second child to first child ( temp float) +0:27 indirect index ( temp float) +0:27 'tv4' ( temp 4-component vector of float) +0:27 'i' ( temp int) +0:27 Convert uint to float ( temp float) +0:27 component-wise multiply ( temp uint) +0:27 indirect index ( temp uint) +0:27 'v4' ( uniform 4-component vector of uint) +0:27 'i' ( temp int) 0:27 Constant: 0:27 4 (const uint) 0:26 Loop Terminal Expression -0:26 Pre-Increment (temp int) -0:26 'i' (temp int) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:29 add (temp 4-component vector of float) -0:29 Construct vec4 (temp 4-component vector of float) -0:29 'sum' (temp float) -0:29 'tv4' (temp 4-component vector of float) -0:32 move second child to first child (temp 3-component vector of float) -0:32 vector swizzle (temp 3-component vector of float) -0:32 'r' (temp 4-component vector of float) +0:26 Pre-Increment ( temp int) +0:26 'i' ( temp int) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:29 add ( temp 4-component vector of float) +0:29 Construct vec4 ( temp 4-component vector of float) +0:29 'sum' ( temp float) +0:29 'tv4' ( temp 4-component vector of float) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 vector swizzle ( temp 3-component vector of float) +0:32 'r' ( temp 4-component vector of float) 0:32 Sequence 0:32 Constant: 0:32 0 (const int) @@ -100,8 +100,8 @@ Shader version: 130 0:32 1 (const int) 0:32 Constant: 0:32 2 (const int) -0:32 vector swizzle (temp 3-component vector of float) -0:32 'BaseColor' (smooth in 4-component vector of float) +0:32 vector swizzle ( temp 3-component vector of float) +0:32 'BaseColor' ( smooth in 4-component vector of float) 0:32 Sequence 0:32 Constant: 0:32 0 (const int) @@ -111,28 +111,28 @@ Shader version: 130 0:32 2 (const int) 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'i' (temp int) +0:34 move second child to first child ( temp int) +0:34 'i' ( temp int) 0:34 Constant: 0:34 0 (const int) 0:34 Loop with condition tested first 0:34 Loop Condition -0:34 Compare Less Than (temp bool) -0:34 'i' (temp int) -0:34 'Count' (uniform int) +0:34 Compare Less Than ( temp bool) +0:34 'i' ( temp int) +0:34 'Count' ( uniform int) 0:34 Loop Body -0:35 move second child to first child (temp float) -0:35 direct index (temp float) -0:35 'r' (temp 4-component vector of float) +0:35 move second child to first child ( temp float) +0:35 direct index ( temp float) +0:35 'r' ( temp 4-component vector of float) 0:35 Constant: 0:35 3 (const int) -0:35 'f' (smooth in float) +0:35 'f' ( smooth in float) 0:34 Loop Terminal Expression -0:34 Pre-Increment (temp int) -0:34 'i' (temp int) -0:37 add second child into first child (temp 3-component vector of float) -0:37 vector swizzle (temp 3-component vector of float) -0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:34 Pre-Increment ( temp int) +0:34 'i' ( temp int) +0:37 add second child into first child ( temp 3-component vector of float) +0:37 vector swizzle ( temp 3-component vector of float) +0:37 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:37 Sequence 0:37 Constant: 0:37 0 (const int) @@ -140,8 +140,8 @@ Shader version: 130 0:37 1 (const int) 0:37 Constant: 0:37 2 (const int) -0:37 vector swizzle (temp 3-component vector of float) -0:37 'r' (temp 4-component vector of float) +0:37 vector swizzle ( temp 3-component vector of float) +0:37 'r' ( temp 4-component vector of float) 0:37 Sequence 0:37 Constant: 0:37 0 (const int) @@ -151,31 +151,31 @@ Shader version: 130 0:37 2 (const int) 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp int) -0:39 'i' (temp int) +0:39 move second child to first child ( temp int) +0:39 'i' ( temp int) 0:39 Constant: 0:39 0 (const int) 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Less Than (temp bool) -0:39 'i' (temp int) +0:39 Compare Less Than ( temp bool) +0:39 'i' ( temp int) 0:39 Constant: 0:39 16 (const int) 0:39 Loop Body -0:40 vector scale second child into first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 'f' (smooth in float) +0:40 vector scale second child into first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 'f' ( smooth in float) 0:39 Loop Terminal Expression -0:39 add second child into first child (temp int) -0:39 'i' (temp int) +0:39 add second child into first child ( temp int) +0:39 'i' ( temp int) 0:39 Constant: 0:39 4 (const int) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'f' (smooth in float) -0:? 'Count' (uniform int) -0:? 'v4' (uniform 4-component vector of uint) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'f' ( smooth in float) +0:? 'Count' ( uniform int) +0:? 'v4' ( uniform 4-component vector of uint) Linked fragment stage: @@ -183,98 +183,98 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'BaseColor' (smooth in 4-component vector of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'BaseColor' ( smooth in 4-component vector of float) 0:14 Sequence 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'i' (temp int) +0:14 move second child to first child ( temp int) +0:14 'i' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:14 Loop with condition tested first 0:14 Loop Condition -0:14 Compare Less Than (temp bool) -0:14 'i' (temp int) -0:14 'Count' (uniform int) +0:14 Compare Less Than ( temp bool) +0:14 'i' ( temp int) +0:14 'Count' ( uniform int) 0:14 Loop Body 0:15 Sequence -0:15 add second child into first child (temp 4-component vector of float) -0:15 'color' (temp 4-component vector of float) -0:15 'bigColor' (uniform 4-component vector of float) +0:15 add second child into first child ( temp 4-component vector of float) +0:15 'color' ( temp 4-component vector of float) +0:15 'bigColor' ( uniform 4-component vector of float) 0:14 Loop Terminal Expression -0:14 Pre-Increment (temp int) -0:14 'i' (temp int) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 'color' (temp 4-component vector of float) +0:14 Pre-Increment ( temp int) +0:14 'i' ( temp int) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 'color' ( temp 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp float) -0:20 'sum' (temp float) +0:20 move second child to first child ( temp float) +0:20 'sum' ( temp float) 0:20 Constant: 0:20 0.000000 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'i' (temp int) +0:21 move second child to first child ( temp int) +0:21 'i' ( temp int) 0:21 Constant: 0:21 0 (const int) 0:21 Loop with condition tested first 0:21 Loop Condition -0:21 Compare Less Than (temp bool) -0:21 'i' (temp int) +0:21 Compare Less Than ( temp bool) +0:21 'i' ( temp int) 0:21 Constant: 0:21 4 (const int) 0:21 Loop Body -0:22 add second child into first child (temp float) -0:22 'sum' (temp float) -0:22 Convert uint to float (temp float) -0:22 indirect index (temp uint) -0:22 'v4' (uniform 4-component vector of uint) -0:22 'i' (temp int) +0:22 add second child into first child ( temp float) +0:22 'sum' ( temp float) +0:22 Convert uint to float ( temp float) +0:22 indirect index ( temp uint) +0:22 'v4' ( uniform 4-component vector of uint) +0:22 'i' ( temp int) 0:21 Loop Terminal Expression -0:21 Pre-Increment (temp int) -0:21 'i' (temp int) +0:21 Pre-Increment ( temp int) +0:21 'i' ( temp int) 0:26 Sequence 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'i' (temp int) +0:26 move second child to first child ( temp int) +0:26 'i' ( temp int) 0:26 Constant: 0:26 0 (const int) 0:26 Loop with condition tested first 0:26 Loop Condition -0:26 Compare Less Than (temp bool) -0:26 'i' (temp int) +0:26 Compare Less Than ( temp bool) +0:26 'i' ( temp int) 0:26 Constant: 0:26 4 (const int) 0:26 Loop Body -0:27 move second child to first child (temp float) -0:27 indirect index (temp float) -0:27 'tv4' (temp 4-component vector of float) -0:27 'i' (temp int) -0:27 Convert uint to float (temp float) -0:27 component-wise multiply (temp uint) -0:27 indirect index (temp uint) -0:27 'v4' (uniform 4-component vector of uint) -0:27 'i' (temp int) +0:27 move second child to first child ( temp float) +0:27 indirect index ( temp float) +0:27 'tv4' ( temp 4-component vector of float) +0:27 'i' ( temp int) +0:27 Convert uint to float ( temp float) +0:27 component-wise multiply ( temp uint) +0:27 indirect index ( temp uint) +0:27 'v4' ( uniform 4-component vector of uint) +0:27 'i' ( temp int) 0:27 Constant: 0:27 4 (const uint) 0:26 Loop Terminal Expression -0:26 Pre-Increment (temp int) -0:26 'i' (temp int) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:29 add (temp 4-component vector of float) -0:29 Construct vec4 (temp 4-component vector of float) -0:29 'sum' (temp float) -0:29 'tv4' (temp 4-component vector of float) -0:32 move second child to first child (temp 3-component vector of float) -0:32 vector swizzle (temp 3-component vector of float) -0:32 'r' (temp 4-component vector of float) +0:26 Pre-Increment ( temp int) +0:26 'i' ( temp int) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:29 add ( temp 4-component vector of float) +0:29 Construct vec4 ( temp 4-component vector of float) +0:29 'sum' ( temp float) +0:29 'tv4' ( temp 4-component vector of float) +0:32 move second child to first child ( temp 3-component vector of float) +0:32 vector swizzle ( temp 3-component vector of float) +0:32 'r' ( temp 4-component vector of float) 0:32 Sequence 0:32 Constant: 0:32 0 (const int) @@ -282,8 +282,8 @@ Shader version: 130 0:32 1 (const int) 0:32 Constant: 0:32 2 (const int) -0:32 vector swizzle (temp 3-component vector of float) -0:32 'BaseColor' (smooth in 4-component vector of float) +0:32 vector swizzle ( temp 3-component vector of float) +0:32 'BaseColor' ( smooth in 4-component vector of float) 0:32 Sequence 0:32 Constant: 0:32 0 (const int) @@ -293,28 +293,28 @@ Shader version: 130 0:32 2 (const int) 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'i' (temp int) +0:34 move second child to first child ( temp int) +0:34 'i' ( temp int) 0:34 Constant: 0:34 0 (const int) 0:34 Loop with condition tested first 0:34 Loop Condition -0:34 Compare Less Than (temp bool) -0:34 'i' (temp int) -0:34 'Count' (uniform int) +0:34 Compare Less Than ( temp bool) +0:34 'i' ( temp int) +0:34 'Count' ( uniform int) 0:34 Loop Body -0:35 move second child to first child (temp float) -0:35 direct index (temp float) -0:35 'r' (temp 4-component vector of float) +0:35 move second child to first child ( temp float) +0:35 direct index ( temp float) +0:35 'r' ( temp 4-component vector of float) 0:35 Constant: 0:35 3 (const int) -0:35 'f' (smooth in float) +0:35 'f' ( smooth in float) 0:34 Loop Terminal Expression -0:34 Pre-Increment (temp int) -0:34 'i' (temp int) -0:37 add second child into first child (temp 3-component vector of float) -0:37 vector swizzle (temp 3-component vector of float) -0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:34 Pre-Increment ( temp int) +0:34 'i' ( temp int) +0:37 add second child into first child ( temp 3-component vector of float) +0:37 vector swizzle ( temp 3-component vector of float) +0:37 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:37 Sequence 0:37 Constant: 0:37 0 (const int) @@ -322,8 +322,8 @@ Shader version: 130 0:37 1 (const int) 0:37 Constant: 0:37 2 (const int) -0:37 vector swizzle (temp 3-component vector of float) -0:37 'r' (temp 4-component vector of float) +0:37 vector swizzle ( temp 3-component vector of float) +0:37 'r' ( temp 4-component vector of float) 0:37 Sequence 0:37 Constant: 0:37 0 (const int) @@ -333,29 +333,29 @@ Shader version: 130 0:37 2 (const int) 0:39 Sequence 0:39 Sequence -0:39 move second child to first child (temp int) -0:39 'i' (temp int) +0:39 move second child to first child ( temp int) +0:39 'i' ( temp int) 0:39 Constant: 0:39 0 (const int) 0:39 Loop with condition tested first 0:39 Loop Condition -0:39 Compare Less Than (temp bool) -0:39 'i' (temp int) +0:39 Compare Less Than ( temp bool) +0:39 'i' ( temp int) 0:39 Constant: 0:39 16 (const int) 0:39 Loop Body -0:40 vector scale second child into first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 'f' (smooth in float) +0:40 vector scale second child into first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 'f' ( smooth in float) 0:39 Loop Terminal Expression -0:39 add second child into first child (temp int) -0:39 'i' (temp int) +0:39 add second child into first child ( temp int) +0:39 'i' ( temp int) 0:39 Constant: 0:39 4 (const int) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'f' (smooth in float) -0:? 'Count' (uniform int) -0:? 'v4' (uniform 4-component vector of uint) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'f' ( smooth in float) +0:? 'Count' ( uniform int) +0:? 'v4' ( uniform 4-component vector of uint) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forwardRef.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forwardRef.frag.out index 357cc2bd458..22e77c5b76a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forwardRef.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/forwardRef.frag.out @@ -1,35 +1,35 @@ forwardRef.frag Shader version: 110 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'color' (temp 4-component vector of float) -0:13 Construct vec4 (temp 4-component vector of float) -0:13 Function Call: foo(vf4; (global float) -0:13 'BaseColor' (smooth in 4-component vector of float) -0:15 Function Call: bar( (global void) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'color' ( temp 4-component vector of float) +0:13 Construct vec4 ( temp 4-component vector of float) +0:13 Function Call: foo(vf4; ( global float) +0:13 'BaseColor' ( smooth in 4-component vector of float) +0:15 Function Call: bar( ( global void) 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 'f' (temp float) -0:16 Function Call: unreachableReturn( (global float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 vector-scale (temp 4-component vector of float) -0:18 'color' (temp 4-component vector of float) -0:18 'f' (temp float) -0:21 Function Definition: bar( (global void) +0:16 move second child to first child ( temp float) +0:16 'f' ( temp float) +0:16 Function Call: unreachableReturn( ( global float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 vector-scale ( temp 4-component vector of float) +0:18 'color' ( temp 4-component vector of float) +0:18 'f' ( temp float) +0:21 Function Definition: bar( ( global void) 0:21 Function Parameters: -0:25 Function Definition: unreachableReturn( (global float) +0:25 Function Definition: unreachableReturn( ( global float) 0:25 Function Parameters: 0:27 Sequence -0:27 Function Call: bar( (global void) -0:28 Test condition and select (temp void) +0:27 Function Call: bar( ( global void) +0:28 Test condition and select ( temp void) 0:28 Condition -0:28 Compare Less Than (temp bool) -0:28 'd' (uniform float) +0:28 Compare Less Than ( temp bool) +0:28 'd' ( uniform float) 0:28 Constant: 0:28 4.200000 0:28 true case @@ -40,24 +40,24 @@ Shader version: 110 0:31 Branch: Return with expression 0:31 Constant: 0:31 4.500000 -0:34 Function Definition: foo(vf4; (global float) +0:34 Function Definition: foo(vf4; ( global float) 0:34 Function Parameters: -0:34 'bar' (in 4-component vector of float) +0:34 'bar' ( in 4-component vector of float) 0:36 Sequence 0:36 Branch: Return with expression -0:36 add (temp float) -0:36 direct index (temp float) -0:36 'bar' (in 4-component vector of float) +0:36 add ( temp float) +0:36 direct index ( temp float) +0:36 'bar' ( in 4-component vector of float) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp float) -0:36 'bar' (in 4-component vector of float) +0:36 direct index ( temp float) +0:36 'bar' ( in 4-component vector of float) 0:36 Constant: 0:36 1 (const int) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) Linked fragment stage: @@ -65,35 +65,35 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:13 Sequence 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'color' (temp 4-component vector of float) -0:13 Construct vec4 (temp 4-component vector of float) -0:13 Function Call: foo(vf4; (global float) -0:13 'BaseColor' (smooth in 4-component vector of float) -0:15 Function Call: bar( (global void) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'color' ( temp 4-component vector of float) +0:13 Construct vec4 ( temp 4-component vector of float) +0:13 Function Call: foo(vf4; ( global float) +0:13 'BaseColor' ( smooth in 4-component vector of float) +0:15 Function Call: bar( ( global void) 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 'f' (temp float) -0:16 Function Call: unreachableReturn( (global float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 vector-scale (temp 4-component vector of float) -0:18 'color' (temp 4-component vector of float) -0:18 'f' (temp float) -0:21 Function Definition: bar( (global void) +0:16 move second child to first child ( temp float) +0:16 'f' ( temp float) +0:16 Function Call: unreachableReturn( ( global float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 vector-scale ( temp 4-component vector of float) +0:18 'color' ( temp 4-component vector of float) +0:18 'f' ( temp float) +0:21 Function Definition: bar( ( global void) 0:21 Function Parameters: -0:25 Function Definition: unreachableReturn( (global float) +0:25 Function Definition: unreachableReturn( ( global float) 0:25 Function Parameters: 0:27 Sequence -0:27 Function Call: bar( (global void) -0:28 Test condition and select (temp void) +0:27 Function Call: bar( ( global void) +0:28 Test condition and select ( temp void) 0:28 Condition -0:28 Compare Less Than (temp bool) -0:28 'd' (uniform float) +0:28 Compare Less Than ( temp bool) +0:28 'd' ( uniform float) 0:28 Constant: 0:28 4.200000 0:28 true case @@ -104,22 +104,22 @@ Shader version: 110 0:31 Branch: Return with expression 0:31 Constant: 0:31 4.500000 -0:34 Function Definition: foo(vf4; (global float) +0:34 Function Definition: foo(vf4; ( global float) 0:34 Function Parameters: -0:34 'bar' (in 4-component vector of float) +0:34 'bar' ( in 4-component vector of float) 0:36 Sequence 0:36 Branch: Return with expression -0:36 add (temp float) -0:36 direct index (temp float) -0:36 'bar' (in 4-component vector of float) +0:36 add ( temp float) +0:36 direct index ( temp float) +0:36 'bar' ( in 4-component vector of float) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp float) -0:36 'bar' (in 4-component vector of float) +0:36 direct index ( temp float) +0:36 'bar' ( in 4-component vector of float) 0:36 Constant: 0:36 1 (const int) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionCall.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionCall.frag.out index 610f2bb1e65..902208ff7c3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionCall.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionCall.frag.out @@ -4,33 +4,33 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'h' (global float) +0:7 move second child to first child ( temp float) +0:7 'h' ( global float) 0:7 Constant: 0:7 0.000000 -0:9 Function Definition: foo(vf4; (global float) +0:9 Function Definition: foo(vf4; ( global float) 0:9 Function Parameters: -0:9 'bar' (in 4-component vector of float) +0:9 'bar' ( in 4-component vector of float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 add (temp float) -0:11 direct index (temp float) -0:11 'bar' (in 4-component vector of float) +0:11 add ( temp float) +0:11 direct index ( temp float) +0:11 'bar' ( in 4-component vector of float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp float) -0:11 'bar' (in 4-component vector of float) +0:11 direct index ( temp float) +0:11 'bar' ( in 4-component vector of float) 0:11 Constant: 0:11 1 (const int) -0:14 Function Definition: bar( (global void) +0:14 Function Definition: bar( ( global void) 0:14 Function Parameters: -0:18 Function Definition: unreachableReturn( (global float) +0:18 Function Definition: unreachableReturn( ( global float) 0:18 Function Parameters: 0:20 Sequence -0:20 Test condition and select (temp void) +0:20 Test condition and select ( temp void) 0:20 Condition -0:20 Compare Less Than (temp bool) -0:20 'd' (uniform float) +0:20 Compare Less Than ( temp bool) +0:20 'd' ( uniform float) 0:20 Constant: 0:20 4.200000 0:20 true case @@ -41,53 +41,53 @@ Shader version: 130 0:23 Branch: Return with expression 0:23 Constant: 0:23 4.500000 -0:27 Function Definition: missingReturn( (global float) +0:27 Function Definition: missingReturn( ( global float) 0:27 Function Parameters: 0:29 Sequence -0:29 Test condition and select (temp void) +0:29 Test condition and select ( temp void) 0:29 Condition -0:29 Compare Less Than (temp bool) -0:29 'd' (uniform float) +0:29 Compare Less Than ( temp bool) +0:29 'd' ( uniform float) 0:29 Constant: 0:29 4.500000 0:29 true case 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'h' (global float) -0:30 'd' (uniform float) +0:30 move second child to first child ( temp float) +0:30 'h' ( global float) +0:30 'd' ( uniform float) 0:31 Branch: Return with expression 0:31 Constant: 0:31 3.900000 -0:35 Function Definition: main( (global void) +0:35 Function Definition: main( ( global void) 0:35 Function Parameters: 0:37 Sequence 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:37 'color' (temp 4-component vector of float) -0:37 Construct vec4 (temp 4-component vector of float) -0:37 Function Call: foo(vf4; (global float) -0:37 'BaseColor' (smooth in 4-component vector of float) -0:39 Function Call: bar( (global void) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'color' ( temp 4-component vector of float) +0:37 Construct vec4 ( temp 4-component vector of float) +0:37 Function Call: foo(vf4; ( global float) +0:37 'BaseColor' ( smooth in 4-component vector of float) +0:39 Function Call: bar( ( global void) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'f' (temp float) -0:40 Function Call: unreachableReturn( (global float) +0:40 move second child to first child ( temp float) +0:40 'f' ( temp float) +0:40 Function Call: unreachableReturn( ( global float) 0:41 Sequence -0:41 move second child to first child (temp float) -0:41 'g' (temp float) -0:41 Function Call: missingReturn( (global float) -0:43 move second child to first child (temp 4-component vector of float) -0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:43 vector-scale (temp 4-component vector of float) -0:43 vector-scale (temp 4-component vector of float) -0:43 'color' (temp 4-component vector of float) -0:43 'f' (temp float) -0:43 'h' (global float) +0:41 move second child to first child ( temp float) +0:41 'g' ( temp float) +0:41 Function Call: missingReturn( ( global float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:43 vector-scale ( temp 4-component vector of float) +0:43 vector-scale ( temp 4-component vector of float) +0:43 'color' ( temp 4-component vector of float) +0:43 'f' ( temp float) +0:43 'h' ( global float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'h' (global float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'h' ( global float) Linked fragment stage: @@ -96,33 +96,33 @@ Linked fragment stage: Shader version: 130 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'h' (global float) +0:7 move second child to first child ( temp float) +0:7 'h' ( global float) 0:7 Constant: 0:7 0.000000 -0:9 Function Definition: foo(vf4; (global float) +0:9 Function Definition: foo(vf4; ( global float) 0:9 Function Parameters: -0:9 'bar' (in 4-component vector of float) +0:9 'bar' ( in 4-component vector of float) 0:11 Sequence 0:11 Branch: Return with expression -0:11 add (temp float) -0:11 direct index (temp float) -0:11 'bar' (in 4-component vector of float) +0:11 add ( temp float) +0:11 direct index ( temp float) +0:11 'bar' ( in 4-component vector of float) 0:11 Constant: 0:11 0 (const int) -0:11 direct index (temp float) -0:11 'bar' (in 4-component vector of float) +0:11 direct index ( temp float) +0:11 'bar' ( in 4-component vector of float) 0:11 Constant: 0:11 1 (const int) -0:14 Function Definition: bar( (global void) +0:14 Function Definition: bar( ( global void) 0:14 Function Parameters: -0:18 Function Definition: unreachableReturn( (global float) +0:18 Function Definition: unreachableReturn( ( global float) 0:18 Function Parameters: 0:20 Sequence -0:20 Test condition and select (temp void) +0:20 Test condition and select ( temp void) 0:20 Condition -0:20 Compare Less Than (temp bool) -0:20 'd' (uniform float) +0:20 Compare Less Than ( temp bool) +0:20 'd' ( uniform float) 0:20 Constant: 0:20 4.200000 0:20 true case @@ -133,51 +133,51 @@ Shader version: 130 0:23 Branch: Return with expression 0:23 Constant: 0:23 4.500000 -0:27 Function Definition: missingReturn( (global float) +0:27 Function Definition: missingReturn( ( global float) 0:27 Function Parameters: 0:29 Sequence -0:29 Test condition and select (temp void) +0:29 Test condition and select ( temp void) 0:29 Condition -0:29 Compare Less Than (temp bool) -0:29 'd' (uniform float) +0:29 Compare Less Than ( temp bool) +0:29 'd' ( uniform float) 0:29 Constant: 0:29 4.500000 0:29 true case 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'h' (global float) -0:30 'd' (uniform float) +0:30 move second child to first child ( temp float) +0:30 'h' ( global float) +0:30 'd' ( uniform float) 0:31 Branch: Return with expression 0:31 Constant: 0:31 3.900000 -0:35 Function Definition: main( (global void) +0:35 Function Definition: main( ( global void) 0:35 Function Parameters: 0:37 Sequence 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:37 'color' (temp 4-component vector of float) -0:37 Construct vec4 (temp 4-component vector of float) -0:37 Function Call: foo(vf4; (global float) -0:37 'BaseColor' (smooth in 4-component vector of float) -0:39 Function Call: bar( (global void) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'color' ( temp 4-component vector of float) +0:37 Construct vec4 ( temp 4-component vector of float) +0:37 Function Call: foo(vf4; ( global float) +0:37 'BaseColor' ( smooth in 4-component vector of float) +0:39 Function Call: bar( ( global void) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'f' (temp float) -0:40 Function Call: unreachableReturn( (global float) +0:40 move second child to first child ( temp float) +0:40 'f' ( temp float) +0:40 Function Call: unreachableReturn( ( global float) 0:41 Sequence -0:41 move second child to first child (temp float) -0:41 'g' (temp float) -0:41 Function Call: missingReturn( (global float) -0:43 move second child to first child (temp 4-component vector of float) -0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:43 vector-scale (temp 4-component vector of float) -0:43 vector-scale (temp 4-component vector of float) -0:43 'color' (temp 4-component vector of float) -0:43 'f' (temp float) -0:43 'h' (global float) +0:41 move second child to first child ( temp float) +0:41 'g' ( temp float) +0:41 Function Call: missingReturn( ( global float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:43 vector-scale ( temp 4-component vector of float) +0:43 vector-scale ( temp 4-component vector of float) +0:43 'color' ( temp 4-component vector of float) +0:43 'f' ( temp float) +0:43 'h' ( global float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'h' (global float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'h' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionSemantics.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionSemantics.frag.out index e0fd0767a88..6c5ebdc6f80 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionSemantics.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/functionSemantics.frag.out @@ -7,93 +7,93 @@ ERROR: 1 compilation errors. No code generated. Shader version: 400 ERROR: node is still EOpNull! -0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int) +0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; ( global int) 0:5 Function Parameters: -0:5 'a' (in int) -0:5 'b' (const (read only) int) -0:5 'c' (in int) -0:5 'd' (const (read only) int) -0:5 'e' (out int) -0:5 'f' (inout int) +0:5 'a' ( in int) +0:5 'b' ( const (read only) int) +0:5 'c' ( in int) +0:5 'd' ( const (read only) int) +0:5 'e' ( out int) +0:5 'f' ( inout int) 0:7 Sequence 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'sum' (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 'a' (in int) -0:7 'b' (const (read only) int) -0:7 'c' (in int) -0:7 'd' (const (read only) int) -0:7 'f' (inout int) -0:10 multiply second child into first child (temp int) -0:10 'a' (in int) +0:7 move second child to first child ( temp int) +0:7 'sum' ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 'a' ( in int) +0:7 'b' ( const (read only) int) +0:7 'c' ( in int) +0:7 'd' ( const (read only) int) +0:7 'f' ( inout int) +0:10 multiply second child into first child ( temp int) +0:10 'a' ( in int) 0:10 Constant: 0:10 64 (const int) -0:12 multiply second child into first child (temp int) -0:12 'c' (in int) +0:12 multiply second child into first child ( temp int) +0:12 'c' ( in int) 0:12 Constant: 0:12 64 (const int) -0:14 move second child to first child (temp int) -0:14 'e' (out int) +0:14 move second child to first child ( temp int) +0:14 'e' ( out int) 0:14 Constant: 0:14 1024 (const int) -0:15 multiply second child into first child (temp int) -0:15 'f' (inout int) +0:15 multiply second child into first child ( temp int) +0:15 'f' ( inout int) 0:15 Constant: 0:15 64 (const int) -0:17 add second child into first child (temp int) -0:17 'sum' (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 'a' (in int) -0:17 component-wise multiply (temp int) +0:17 add second child into first child ( temp int) +0:17 'sum' ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 'a' ( in int) +0:17 component-wise multiply ( temp int) 0:17 Constant: 0:17 64 (const int) -0:17 'b' (const (read only) int) -0:17 'c' (in int) -0:17 component-wise multiply (temp int) +0:17 'b' ( const (read only) int) +0:17 'c' ( in int) +0:17 component-wise multiply ( temp int) 0:17 Constant: 0:17 64 (const int) -0:17 'd' (const (read only) int) -0:17 'e' (out int) -0:17 'f' (inout int) +0:17 'd' ( const (read only) int) +0:17 'e' ( out int) +0:17 'f' ( inout int) 0:20 Branch: Return with expression -0:20 'sum' (temp int) -0:23 Function Definition: foo2(f1;vf3;i1; (global int) +0:20 'sum' ( temp int) +0:23 Function Definition: foo2(f1;vf3;i1; ( global int) 0:23 Function Parameters: -0:23 'a' (in float) -0:23 'b' (in 3-component vector of float) -0:23 'r' (out int) +0:23 'a' ( in float) +0:23 'b' ( in 3-component vector of float) +0:23 'r' ( out int) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r' (out int) -0:25 Convert float to int (temp int) -0:25 component-wise multiply (temp float) +0:25 move second child to first child ( temp int) +0:25 'r' ( out int) +0:25 Convert float to int ( temp int) +0:25 component-wise multiply ( temp float) 0:25 Constant: 0:25 3.000000 -0:25 'a' (in float) +0:25 'a' ( in float) 0:26 Branch: Return with expression -0:26 Convert float to int (temp int) -0:26 component-wise multiply (temp float) +0:26 Convert float to int ( temp int) +0:26 component-wise multiply ( temp float) 0:26 Constant: 0:26 5.000000 -0:26 direct index (temp float) -0:26 'b' (in 3-component vector of float) +0:26 direct index ( temp float) +0:26 'b' ( in 3-component vector of float) 0:26 Constant: 0:26 1 (const int) -0:29 Function Definition: foo3( (global int) +0:29 Function Definition: foo3( ( global int) 0:29 Function Parameters: 0:31 Sequence -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Greater Than (temp bool) -0:31 'u' (uniform float) +0:31 Compare Greater Than ( temp bool) +0:31 'u' ( uniform float) 0:31 Constant: 0:31 3.200000 0:31 true case @@ -105,18 +105,18 @@ ERROR: node is still EOpNull! 0:36 Branch: Return with expression 0:36 Constant: 0:36 2000000 (const int) -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp int) -0:42 't' (temp int) +0:42 move second child to first child ( temp int) +0:42 't' ( temp int) 0:42 Constant: 0:42 2 (const int) -0:46 move second child to first child (temp int) -0:46 direct index (temp int) -0:46 t: direct index for structure (temp 4-component vector of int) -0:46 'f' (temp structure{temp 4-component vector of int t}) +0:46 move second child to first child ( temp int) +0:46 direct index ( temp int) +0:46 t: direct index for structure ( temp 4-component vector of int) +0:46 'f' ( temp structure{ temp 4-component vector of int t}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: @@ -124,88 +124,88 @@ ERROR: node is still EOpNull! 0:46 Constant: 0:46 32 (const int) 0:49 Sequence -0:49 move second child to first child (temp int) -0:49 'color' (temp int) -0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int) +0:49 move second child to first child ( temp int) +0:49 'color' ( temp int) +0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; ( global int) 0:49 Constant: 0:49 1 (const int) 0:49 Constant: 0:49 2 (const int) -0:49 add (temp int) -0:49 't' (temp int) -0:49 't' (temp int) +0:49 add ( temp int) +0:49 't' ( temp int) +0:49 't' ( temp int) 0:49 Constant: 0:49 8 (const int) -0:49 'e' (temp int) -0:49 direct index (temp int) -0:49 t: direct index for structure (temp 4-component vector of int) -0:49 'f' (temp structure{temp 4-component vector of int t}) +0:49 'e' ( temp int) +0:49 direct index ( temp int) +0:49 t: direct index for structure ( temp 4-component vector of int) +0:49 'f' ( temp structure{ temp 4-component vector of int t}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 1 (const int) -0:51 add second child into first child (temp int) -0:51 'color' (temp int) -0:51 component-wise multiply (temp int) +0:51 add second child into first child ( temp int) +0:51 'color' ( temp int) +0:51 component-wise multiply ( temp int) 0:51 Constant: 0:51 128 (const int) -0:51 add (temp int) -0:51 'e' (temp int) -0:51 direct index (temp int) -0:51 t: direct index for structure (temp 4-component vector of int) -0:51 'f' (temp structure{temp 4-component vector of int t}) +0:51 add ( temp int) +0:51 'e' ( temp int) +0:51 direct index ( temp int) +0:51 t: direct index for structure ( temp 4-component vector of int) +0:51 'f' ( temp structure{ temp 4-component vector of int t}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: 0:51 1 (const int) -0:57 move second child to first child (temp float) -0:57 'ret' (temp float) -0:57 Convert int to float (temp float) -0:57 Comma (global int) -0:57 move second child to first child (temp int) -0:57 'tempReturn' (global int) -0:57 Function Call: foo2(f1;vf3;i1; (global int) +0:57 move second child to first child ( temp float) +0:57 'ret' ( temp float) +0:57 Convert int to float ( temp float) +0:57 Comma ( global int) +0:57 move second child to first child ( temp int) +0:57 'tempReturn' ( global int) +0:57 Function Call: foo2(f1;vf3;i1; ( global int) 0:57 Constant: 0:57 4.000000 0:57 Constant: 0:57 1.000000 0:57 2.000000 0:57 3.000000 -0:57 'tempArg' (temp int) -0:57 move second child to first child (temp float) -0:57 'arg' (temp float) -0:57 Convert int to float (temp float) -0:57 'tempArg' (temp int) -0:57 'tempReturn' (global int) -0:58 add second child into first child (temp int) -0:58 'color' (temp int) -0:58 Convert float to int (temp int) -0:58 add (temp float) -0:58 'ret' (temp float) -0:58 'arg' (temp float) -0:60 add second child into first child (temp int) -0:60 'color' (temp int) -0:60 Function Call: foo3( (global int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:62 Construct vec4 (temp 4-component vector of float) -0:62 Convert int to float (temp float) -0:62 'color' (temp int) -0:66 Function Definition: aggCall( (global void) +0:57 'tempArg' ( temp int) +0:57 move second child to first child ( temp float) +0:57 'arg' ( temp float) +0:57 Convert int to float ( temp float) +0:57 'tempArg' ( temp int) +0:57 'tempReturn' ( global int) +0:58 add second child into first child ( temp int) +0:58 'color' ( temp int) +0:58 Convert float to int ( temp int) +0:58 add ( temp float) +0:58 'ret' ( temp float) +0:58 'arg' ( temp float) +0:60 add second child into first child ( temp int) +0:60 'color' ( temp int) +0:60 Function Call: foo3( ( global int) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:62 Construct vec4 ( temp 4-component vector of float) +0:62 Convert int to float ( temp float) +0:62 'color' ( temp int) +0:66 Function Definition: aggCall( ( global void) 0:66 Function Parameters: 0:? Sequence -0:69 Function Call: m(vf2; (global 3-component vector of float) -0:69 Convert int to float (temp 2-component vector of float) -0:69 Construct ivec2 (temp 2-component vector of int) -0:69 Convert float to int (temp int) -0:69 'F' (temp float) -0:72 Function Definition: badConv( (global 4-component vector of float) +0:69 Function Call: m(vf2; ( global 3-component vector of float) +0:69 Convert int to float ( temp 2-component vector of float) +0:69 Construct ivec2 ( temp 2-component vector of int) +0:69 Convert float to int ( temp int) +0:69 'F' ( temp float) +0:72 Function Definition: badConv( ( global 4-component vector of float) 0:72 Function Parameters: 0:74 Sequence 0:74 Branch: Return with expression -0:74 'u' (uniform float) +0:74 'u' ( uniform float) 0:? Linker Objects -0:? 'u' (uniform float) +0:? 'u' ( uniform float) Linked fragment stage: @@ -213,93 +213,93 @@ Linked fragment stage: Shader version: 400 ERROR: node is still EOpNull! -0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int) +0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; ( global int) 0:5 Function Parameters: -0:5 'a' (in int) -0:5 'b' (const (read only) int) -0:5 'c' (in int) -0:5 'd' (const (read only) int) -0:5 'e' (out int) -0:5 'f' (inout int) +0:5 'a' ( in int) +0:5 'b' ( const (read only) int) +0:5 'c' ( in int) +0:5 'd' ( const (read only) int) +0:5 'e' ( out int) +0:5 'f' ( inout int) 0:7 Sequence 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'sum' (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 add (temp int) -0:7 'a' (in int) -0:7 'b' (const (read only) int) -0:7 'c' (in int) -0:7 'd' (const (read only) int) -0:7 'f' (inout int) -0:10 multiply second child into first child (temp int) -0:10 'a' (in int) +0:7 move second child to first child ( temp int) +0:7 'sum' ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 add ( temp int) +0:7 'a' ( in int) +0:7 'b' ( const (read only) int) +0:7 'c' ( in int) +0:7 'd' ( const (read only) int) +0:7 'f' ( inout int) +0:10 multiply second child into first child ( temp int) +0:10 'a' ( in int) 0:10 Constant: 0:10 64 (const int) -0:12 multiply second child into first child (temp int) -0:12 'c' (in int) +0:12 multiply second child into first child ( temp int) +0:12 'c' ( in int) 0:12 Constant: 0:12 64 (const int) -0:14 move second child to first child (temp int) -0:14 'e' (out int) +0:14 move second child to first child ( temp int) +0:14 'e' ( out int) 0:14 Constant: 0:14 1024 (const int) -0:15 multiply second child into first child (temp int) -0:15 'f' (inout int) +0:15 multiply second child into first child ( temp int) +0:15 'f' ( inout int) 0:15 Constant: 0:15 64 (const int) -0:17 add second child into first child (temp int) -0:17 'sum' (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 add (temp int) -0:17 'a' (in int) -0:17 component-wise multiply (temp int) +0:17 add second child into first child ( temp int) +0:17 'sum' ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 add ( temp int) +0:17 'a' ( in int) +0:17 component-wise multiply ( temp int) 0:17 Constant: 0:17 64 (const int) -0:17 'b' (const (read only) int) -0:17 'c' (in int) -0:17 component-wise multiply (temp int) +0:17 'b' ( const (read only) int) +0:17 'c' ( in int) +0:17 component-wise multiply ( temp int) 0:17 Constant: 0:17 64 (const int) -0:17 'd' (const (read only) int) -0:17 'e' (out int) -0:17 'f' (inout int) +0:17 'd' ( const (read only) int) +0:17 'e' ( out int) +0:17 'f' ( inout int) 0:20 Branch: Return with expression -0:20 'sum' (temp int) -0:23 Function Definition: foo2(f1;vf3;i1; (global int) +0:20 'sum' ( temp int) +0:23 Function Definition: foo2(f1;vf3;i1; ( global int) 0:23 Function Parameters: -0:23 'a' (in float) -0:23 'b' (in 3-component vector of float) -0:23 'r' (out int) +0:23 'a' ( in float) +0:23 'b' ( in 3-component vector of float) +0:23 'r' ( out int) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r' (out int) -0:25 Convert float to int (temp int) -0:25 component-wise multiply (temp float) +0:25 move second child to first child ( temp int) +0:25 'r' ( out int) +0:25 Convert float to int ( temp int) +0:25 component-wise multiply ( temp float) 0:25 Constant: 0:25 3.000000 -0:25 'a' (in float) +0:25 'a' ( in float) 0:26 Branch: Return with expression -0:26 Convert float to int (temp int) -0:26 component-wise multiply (temp float) +0:26 Convert float to int ( temp int) +0:26 component-wise multiply ( temp float) 0:26 Constant: 0:26 5.000000 -0:26 direct index (temp float) -0:26 'b' (in 3-component vector of float) +0:26 direct index ( temp float) +0:26 'b' ( in 3-component vector of float) 0:26 Constant: 0:26 1 (const int) -0:29 Function Definition: foo3( (global int) +0:29 Function Definition: foo3( ( global int) 0:29 Function Parameters: 0:31 Sequence -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition -0:31 Compare Greater Than (temp bool) -0:31 'u' (uniform float) +0:31 Compare Greater Than ( temp bool) +0:31 'u' ( uniform float) 0:31 Constant: 0:31 3.200000 0:31 true case @@ -311,18 +311,18 @@ ERROR: node is still EOpNull! 0:36 Branch: Return with expression 0:36 Constant: 0:36 2000000 (const int) -0:39 Function Definition: main( (global void) +0:39 Function Definition: main( ( global void) 0:39 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp int) -0:42 't' (temp int) +0:42 move second child to first child ( temp int) +0:42 't' ( temp int) 0:42 Constant: 0:42 2 (const int) -0:46 move second child to first child (temp int) -0:46 direct index (temp int) -0:46 t: direct index for structure (temp 4-component vector of int) -0:46 'f' (temp structure{temp 4-component vector of int t}) +0:46 move second child to first child ( temp int) +0:46 direct index ( temp int) +0:46 t: direct index for structure ( temp 4-component vector of int) +0:46 'f' ( temp structure{ temp 4-component vector of int t}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: @@ -330,73 +330,73 @@ ERROR: node is still EOpNull! 0:46 Constant: 0:46 32 (const int) 0:49 Sequence -0:49 move second child to first child (temp int) -0:49 'color' (temp int) -0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int) +0:49 move second child to first child ( temp int) +0:49 'color' ( temp int) +0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; ( global int) 0:49 Constant: 0:49 1 (const int) 0:49 Constant: 0:49 2 (const int) -0:49 add (temp int) -0:49 't' (temp int) -0:49 't' (temp int) +0:49 add ( temp int) +0:49 't' ( temp int) +0:49 't' ( temp int) 0:49 Constant: 0:49 8 (const int) -0:49 'e' (temp int) -0:49 direct index (temp int) -0:49 t: direct index for structure (temp 4-component vector of int) -0:49 'f' (temp structure{temp 4-component vector of int t}) +0:49 'e' ( temp int) +0:49 direct index ( temp int) +0:49 t: direct index for structure ( temp 4-component vector of int) +0:49 'f' ( temp structure{ temp 4-component vector of int t}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 1 (const int) -0:51 add second child into first child (temp int) -0:51 'color' (temp int) -0:51 component-wise multiply (temp int) +0:51 add second child into first child ( temp int) +0:51 'color' ( temp int) +0:51 component-wise multiply ( temp int) 0:51 Constant: 0:51 128 (const int) -0:51 add (temp int) -0:51 'e' (temp int) -0:51 direct index (temp int) -0:51 t: direct index for structure (temp 4-component vector of int) -0:51 'f' (temp structure{temp 4-component vector of int t}) +0:51 add ( temp int) +0:51 'e' ( temp int) +0:51 direct index ( temp int) +0:51 t: direct index for structure ( temp 4-component vector of int) +0:51 'f' ( temp structure{ temp 4-component vector of int t}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: 0:51 1 (const int) -0:57 move second child to first child (temp float) -0:57 'ret' (temp float) -0:57 Convert int to float (temp float) -0:57 Comma (global int) -0:57 move second child to first child (temp int) -0:57 'tempReturn' (global int) -0:57 Function Call: foo2(f1;vf3;i1; (global int) +0:57 move second child to first child ( temp float) +0:57 'ret' ( temp float) +0:57 Convert int to float ( temp float) +0:57 Comma ( global int) +0:57 move second child to first child ( temp int) +0:57 'tempReturn' ( global int) +0:57 Function Call: foo2(f1;vf3;i1; ( global int) 0:57 Constant: 0:57 4.000000 0:57 Constant: 0:57 1.000000 0:57 2.000000 0:57 3.000000 -0:57 'tempArg' (temp int) -0:57 move second child to first child (temp float) -0:57 'arg' (temp float) -0:57 Convert int to float (temp float) -0:57 'tempArg' (temp int) -0:57 'tempReturn' (global int) -0:58 add second child into first child (temp int) -0:58 'color' (temp int) -0:58 Convert float to int (temp int) -0:58 add (temp float) -0:58 'ret' (temp float) -0:58 'arg' (temp float) -0:60 add second child into first child (temp int) -0:60 'color' (temp int) -0:60 Function Call: foo3( (global int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:62 Construct vec4 (temp 4-component vector of float) -0:62 Convert int to float (temp float) -0:62 'color' (temp int) +0:57 'tempArg' ( temp int) +0:57 move second child to first child ( temp float) +0:57 'arg' ( temp float) +0:57 Convert int to float ( temp float) +0:57 'tempArg' ( temp int) +0:57 'tempReturn' ( global int) +0:58 add second child into first child ( temp int) +0:58 'color' ( temp int) +0:58 Convert float to int ( temp int) +0:58 add ( temp float) +0:58 'ret' ( temp float) +0:58 'arg' ( temp float) +0:60 add second child into first child ( temp int) +0:60 'color' ( temp int) +0:60 Function Call: foo3( ( global int) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:62 Construct vec4 ( temp 4-component vector of float) +0:62 Convert int to float ( temp float) +0:62 'color' ( temp int) 0:? Linker Objects -0:? 'u' (uniform float) +0:? 'u' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out index 44d7655296f..a93643e5553 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.amend.frag.out @@ -2,63 +2,80 @@ hlsl.amend.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: f1( (temp void) +0:3 Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:3 'm' ( global 4-component vector of float) +0:3 vector-scale ( temp 4-component vector of float) +0:3 a: direct index for structure ( uniform 4-component vector of float) +0:3 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:3 Constant: +0:3 0 (const uint) +0:3 b: direct index for structure ( uniform float) +0:3 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:3 Constant: +0:3 1 (const uint) +0:5 Function Definition: @f1( ( temp void) 0:5 Function Parameters: 0:? Sequence -0:6 vector-scale (temp 4-component vector of float) -0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:6 vector-scale ( temp 4-component vector of float) +0:6 a: direct index for structure ( uniform 4-component vector of float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:6 Constant: 0:6 0 (const uint) -0:6 b: direct index for structure (layout(offset=16 ) uniform float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:6 b: direct index for structure ( uniform float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:6 Constant: 0:6 1 (const uint) -0:12 Function Definition: f2( (temp void) +0:5 Function Definition: f1( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Function Call: @f1( ( temp void) +0:12 Function Definition: f2( ( temp void) 0:12 Function Parameters: 0:? Sequence -0:13 add (temp float) -0:13 add (temp float) -0:13 direct index (temp float) -0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 add ( temp float) +0:13 add ( temp float) +0:13 direct index ( temp float) +0:13 a: direct index for structure ( uniform 4-component vector of float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 0 (const uint) 0:13 Constant: 0:13 0 (const int) -0:13 b: direct index for structure (layout(offset=16 ) uniform float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 b: direct index for structure ( uniform float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 1 (const uint) -0:13 direct index (temp float) -0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 direct index ( temp float) +0:13 c: direct index for structure ( uniform 3-component vector of float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 2 (const uint) 0:13 Constant: 0:13 0 (const int) -0:17 Function Definition: f3( (temp void) +0:17 Function Definition: f3( ( temp void) 0:17 Function Parameters: 0:? Sequence -0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:18 c: direct index for structure ( uniform 3-component vector of float) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:18 Constant: 0:18 2 (const uint) -0:24 Function Definition: f4( (temp void) +0:24 Function Definition: f4( ( temp void) 0:24 Function Parameters: 0:? Sequence -0:25 vector-scale (temp 4-component vector of float) -0:25 Convert int to float (temp float) -0:25 d: direct index for structure (layout(offset=44 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:25 vector-scale ( temp 4-component vector of float) +0:25 Convert int to float ( temp float) +0:25 d: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:25 Constant: 0:25 3 (const uint) -0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:25 a: direct index for structure ( uniform 4-component vector of float) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:25 Constant: 0:25 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:? 'm' ( global 4-component vector of float) Linked fragment stage: @@ -67,67 +84,84 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: f1( (temp void) +0:3 Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:3 'm' ( global 4-component vector of float) +0:3 vector-scale ( temp 4-component vector of float) +0:3 a: direct index for structure ( uniform 4-component vector of float) +0:3 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:3 Constant: +0:3 0 (const uint) +0:3 b: direct index for structure ( uniform float) +0:3 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:3 Constant: +0:3 1 (const uint) +0:5 Function Definition: @f1( ( temp void) 0:5 Function Parameters: 0:? Sequence -0:6 vector-scale (temp 4-component vector of float) -0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:6 vector-scale ( temp 4-component vector of float) +0:6 a: direct index for structure ( uniform 4-component vector of float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:6 Constant: 0:6 0 (const uint) -0:6 b: direct index for structure (layout(offset=16 ) uniform float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:6 b: direct index for structure ( uniform float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:6 Constant: 0:6 1 (const uint) -0:12 Function Definition: f2( (temp void) +0:5 Function Definition: f1( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Function Call: @f1( ( temp void) +0:12 Function Definition: f2( ( temp void) 0:12 Function Parameters: 0:? Sequence -0:13 add (temp float) -0:13 add (temp float) -0:13 direct index (temp float) -0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 add ( temp float) +0:13 add ( temp float) +0:13 direct index ( temp float) +0:13 a: direct index for structure ( uniform 4-component vector of float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 0 (const uint) 0:13 Constant: 0:13 0 (const int) -0:13 b: direct index for structure (layout(offset=16 ) uniform float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 b: direct index for structure ( uniform float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 1 (const uint) -0:13 direct index (temp float) -0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:13 direct index ( temp float) +0:13 c: direct index for structure ( uniform 3-component vector of float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:13 Constant: 0:13 2 (const uint) 0:13 Constant: 0:13 0 (const int) -0:17 Function Definition: f3( (temp void) +0:17 Function Definition: f3( ( temp void) 0:17 Function Parameters: 0:? Sequence -0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:18 c: direct index for structure ( uniform 3-component vector of float) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:18 Constant: 0:18 2 (const uint) -0:24 Function Definition: f4( (temp void) +0:24 Function Definition: f4( ( temp void) 0:24 Function Parameters: 0:? Sequence -0:25 vector-scale (temp 4-component vector of float) -0:25 Convert int to float (temp float) -0:25 d: direct index for structure (layout(offset=44 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:25 vector-scale ( temp 4-component vector of float) +0:25 Convert int to float ( temp float) +0:25 d: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:25 Constant: 0:25 3 (const uint) -0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:25 a: direct index for structure ( uniform 4-component vector of float) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) 0:25 Constant: 0:25 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a, uniform float b, uniform 3-component vector of float c, uniform int d, uniform int e}) +0:? 'm' ( global 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 47 +// Id's are bound by 57 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -135,73 +169,88 @@ gl_FragCoord origin is upper left EntryPoint Fragment 4 "f1" ExecutionMode 4 OriginUpperLeft Name 4 "f1" - Name 6 "f2(" - Name 8 "f3(" - Name 10 "f4(" - Name 16 "$Global" - MemberName 16($Global) 0 "a" - MemberName 16($Global) 1 "b" - MemberName 16($Global) 2 "c" - MemberName 16($Global) 3 "d" - MemberName 16($Global) 4 "e" - Name 18 "" - MemberDecorate 16($Global) 0 Offset 0 - MemberDecorate 16($Global) 1 Offset 16 - MemberDecorate 16($Global) 2 Offset 32 - MemberDecorate 16($Global) 3 Offset 44 - MemberDecorate 16($Global) 4 Offset 48 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 + Name 6 "@f1(" + Name 8 "f2(" + Name 10 "f3(" + Name 12 "f4(" + Name 17 "m" + Name 20 "$Global" + MemberName 20($Global) 0 "a" + MemberName 20($Global) 1 "b" + MemberName 20($Global) 2 "c" + MemberName 20($Global) 3 "d" + MemberName 20($Global) 4 "e" + Name 22 "" + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 16 + MemberDecorate 20($Global) 2 Offset 32 + MemberDecorate 20($Global) 3 Offset 44 + MemberDecorate 20($Global) 4 Offset 48 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 12: TypeFloat 32 - 13: TypeVector 12(float) 4 - 14: TypeVector 12(float) 3 - 15: TypeInt 32 1 - 16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int) - 17: TypePointer Uniform 16($Global) - 18: 17(ptr) Variable Uniform - 19: 15(int) Constant 0 - 20: TypePointer Uniform 13(fvec4) - 23: 15(int) Constant 1 - 24: TypePointer Uniform 12(float) - 28: TypeInt 32 0 - 29: 28(int) Constant 0 - 35: 15(int) Constant 2 - 39: 15(int) Constant 3 - 40: TypePointer Uniform 15(int) + 14: TypeFloat 32 + 15: TypeVector 14(float) 4 + 16: TypePointer Private 15(fvec4) + 17(m): 16(ptr) Variable Private + 18: TypeVector 14(float) 3 + 19: TypeInt 32 1 + 20($Global): TypeStruct 15(fvec4) 14(float) 18(fvec3) 19(int) 19(int) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 19(int) Constant 0 + 24: TypePointer Uniform 15(fvec4) + 27: 19(int) Constant 1 + 28: TypePointer Uniform 14(float) + 38: TypeInt 32 0 + 39: 38(int) Constant 0 + 45: 19(int) Constant 2 + 49: 19(int) Constant 3 + 50: TypePointer Uniform 19(int) 4(f1): 2 Function None 3 5: Label - 21: 20(ptr) AccessChain 18 19 - 22: 13(fvec4) Load 21 - 25: 24(ptr) AccessChain 18 23 - 26: 12(float) Load 25 - 27: 13(fvec4) VectorTimesScalar 22 26 + 25: 24(ptr) AccessChain 22 23 + 26: 15(fvec4) Load 25 + 29: 28(ptr) AccessChain 22 27 + 30: 14(float) Load 29 + 31: 15(fvec4) VectorTimesScalar 26 30 + Store 17(m) 31 + 37: 2 FunctionCall 6(@f1() Return FunctionEnd - 6(f2(): 2 Function None 3 + 6(@f1(): 2 Function None 3 7: Label - 30: 24(ptr) AccessChain 18 19 29 - 31: 12(float) Load 30 - 32: 24(ptr) AccessChain 18 23 - 33: 12(float) Load 32 - 34: 12(float) FAdd 31 33 - 36: 24(ptr) AccessChain 18 35 29 - 37: 12(float) Load 36 - 38: 12(float) FAdd 34 37 + 32: 24(ptr) AccessChain 22 23 + 33: 15(fvec4) Load 32 + 34: 28(ptr) AccessChain 22 27 + 35: 14(float) Load 34 + 36: 15(fvec4) VectorTimesScalar 33 35 Return FunctionEnd - 8(f3(): 2 Function None 3 + 8(f2(): 2 Function None 3 9: Label + 40: 28(ptr) AccessChain 22 23 39 + 41: 14(float) Load 40 + 42: 28(ptr) AccessChain 22 27 + 43: 14(float) Load 42 + 44: 14(float) FAdd 41 43 + 46: 28(ptr) AccessChain 22 45 39 + 47: 14(float) Load 46 + 48: 14(float) FAdd 44 47 Return FunctionEnd - 10(f4(): 2 Function None 3 + 10(f3(): 2 Function None 3 11: Label - 41: 40(ptr) AccessChain 18 39 - 42: 15(int) Load 41 - 43: 12(float) ConvertSToF 42 - 44: 20(ptr) AccessChain 18 19 - 45: 13(fvec4) Load 44 - 46: 13(fvec4) VectorTimesScalar 45 43 + Return + FunctionEnd + 12(f4(): 2 Function None 3 + 13: Label + 51: 50(ptr) AccessChain 22 49 + 52: 19(int) Load 51 + 53: 14(float) ConvertSToF 52 + 54: 24(ptr) AccessChain 22 23 + 55: 15(fvec4) Load 54 + 56: 15(fvec4) VectorTimesScalar 55 53 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out index 74a348a2ede..1beb71f4bbf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out @@ -2,157 +2,172 @@ hlsl.array.flatten.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:17 Function Definition: TestFn1( (temp 4-component vector of float) +0:17 Function Definition: TestFn1( ( temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence 0:18 Branch: Return with expression -0:18 texture (temp 4-component vector of float) -0:18 Construct combined texture-sampler (temp sampler1D) -0:? 'g_tex[1]' (uniform texture1D) -0:? 'g_samp[1]' (uniform sampler) +0:18 texture ( temp 4-component vector of float) +0:18 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:? 'g_samp[1]' ( uniform sampler) 0:18 Constant: 0:18 0.200000 -0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) +0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 0:22 Function Parameters: -0:22 'l_tex' (in 3-element array of texture1D) -0:22 'l_samp' (in 3-element array of sampler) +0:22 'l_tex' ( in 3-element array of texture1D) +0:22 'l_samp' ( in 3-element array of sampler) 0:? Sequence 0:23 Branch: Return with expression -0:23 texture (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1D) -0:23 direct index (temp texture1D) -0:23 'l_tex' (in 3-element array of texture1D) +0:23 texture ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1D) +0:23 direct index ( temp texture1D) +0:23 'l_tex' ( in 3-element array of texture1D) 0:23 Constant: 0:23 2 (const int) -0:23 direct index (temp sampler) -0:23 'l_samp' (in 3-element array of sampler) +0:23 direct index ( temp sampler) +0:23 'l_samp' ( in 3-element array of sampler) 0:23 Constant: 0:23 2 (const int) 0:23 Constant: 0:23 0.200000 0:26 Sequence -0:26 move second child to first child (temp 5-element array of int) -0:26 'not_flattened_a' (global 5-element array of int) +0:26 move second child to first child ( temp 5-element array of int) +0:26 'not_flattened_a' ( global 5-element array of int) 0:26 Constant: 0:26 1 (const int) 0:26 2 (const int) 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) -0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:31 Function Parameters: -0:31 'ps_output' (out structure{temp 4-component vector of float color}) +0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:33 Sequence 0:33 Sequence -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 0 (const int) -0:? 'g_samp[0]' (uniform sampler) -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:? 'g_samp[0]' ( uniform sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 1 (const int) -0:? 'g_samp[1]' (uniform sampler) -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 2 (const int) -0:? 'g_samp[2]' (uniform sampler) +0:? 'g_samp[2]' ( uniform sampler) 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 0 (const int) -0:? 'g_tex[0]' (uniform texture1D) -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:? 'g_tex[0]' ( uniform texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 1 (const int) -0:? 'g_tex[1]' (uniform texture1D) -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 2 (const int) -0:? 'g_tex[2]' (uniform texture1D) +0:? 'g_tex[2]' ( uniform texture1D) 0:35 Sequence -0:35 move second child to first child (temp 4-element array of float) -0:35 'local_float_array' (temp 4-element array of float) -0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) +0:35 move second child to first child ( temp 4-element array of float) +0:35 'local_float_array' ( temp 4-element array of float) +0:35 g_floats: direct index for structure ( uniform 4-element array of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 0:35 Constant: 0:35 2 (const uint) -0:37 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:37 add (temp 4-component vector of float) -0:37 Function Call: TestFn1( (temp 4-component vector of float) -0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) -0:37 Comma (temp 3-element array of texture1D) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 color: direct index for structure ( temp 4-component vector of float) +0:37 'ps_output' ( out structure{ temp 4-component vector of float color}) +0:37 Constant: +0:37 0 (const int) +0:37 add ( temp 4-component vector of float) +0:37 Function Call: TestFn1( ( temp 4-component vector of float) +0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) +0:37 Comma ( temp 3-element array of texture1D) 0:37 Sequence -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 0 (const int) -0:? 'g_tex[0]' (uniform texture1D) -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:? 'g_tex[0]' ( uniform texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 1 (const int) -0:? 'g_tex[1]' (uniform texture1D) -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 2 (const int) -0:? 'g_tex[2]' (uniform texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) -0:37 Comma (temp 3-element array of sampler) +0:? 'g_tex[2]' ( uniform texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) +0:37 Comma ( temp 3-element array of sampler) 0:37 Sequence -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 0 (const int) -0:? 'g_samp[0]' (uniform sampler) -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[0]' ( uniform sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 1 (const int) -0:? 'g_samp[1]' (uniform sampler) -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 2 (const int) -0:? 'g_samp[2]' (uniform sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[2]' ( uniform sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) +0:31 Function Definition: main( ( temp void) +0:31 Function Parameters: +0:? Sequence +0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:31 color: direct index for structure ( temp 4-component vector of float) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tex[0]' (uniform texture1D) -0:? 'g_tex[1]' (uniform texture1D) -0:? 'g_tex[2]' (uniform texture1D) -0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D) -0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D) -0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D) -0:? 'g_samp[0]' (uniform sampler) -0:? 'g_samp[1]' (uniform sampler) -0:? 'g_samp[2]' (uniform sampler) -0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) -0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) -0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) -0:? 'not_flattened_a' (global 5-element array of int) +0:? 'g_tex[0]' ( uniform texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:? 'g_tex[2]' ( uniform texture1D) +0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D) +0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D) +0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D) +0:? 'g_samp[0]' ( uniform sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:? 'g_samp[2]' ( uniform sampler) +0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler) +0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler) +0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) +0:? 'not_flattened_a' ( global 5-element array of int) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -161,228 +176,249 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:17 Function Definition: TestFn1( (temp 4-component vector of float) +0:17 Function Definition: TestFn1( ( temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence 0:18 Branch: Return with expression -0:18 texture (temp 4-component vector of float) -0:18 Construct combined texture-sampler (temp sampler1D) -0:? 'g_tex[1]' (uniform texture1D) -0:? 'g_samp[1]' (uniform sampler) +0:18 texture ( temp 4-component vector of float) +0:18 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:? 'g_samp[1]' ( uniform sampler) 0:18 Constant: 0:18 0.200000 -0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) +0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) 0:22 Function Parameters: -0:22 'l_tex' (in 3-element array of texture1D) -0:22 'l_samp' (in 3-element array of sampler) +0:22 'l_tex' ( in 3-element array of texture1D) +0:22 'l_samp' ( in 3-element array of sampler) 0:? Sequence 0:23 Branch: Return with expression -0:23 texture (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1D) -0:23 direct index (temp texture1D) -0:23 'l_tex' (in 3-element array of texture1D) +0:23 texture ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1D) +0:23 direct index ( temp texture1D) +0:23 'l_tex' ( in 3-element array of texture1D) 0:23 Constant: 0:23 2 (const int) -0:23 direct index (temp sampler) -0:23 'l_samp' (in 3-element array of sampler) +0:23 direct index ( temp sampler) +0:23 'l_samp' ( in 3-element array of sampler) 0:23 Constant: 0:23 2 (const int) 0:23 Constant: 0:23 0.200000 0:26 Sequence -0:26 move second child to first child (temp 5-element array of int) -0:26 'not_flattened_a' (global 5-element array of int) +0:26 move second child to first child ( temp 5-element array of int) +0:26 'not_flattened_a' ( global 5-element array of int) 0:26 Constant: 0:26 1 (const int) 0:26 2 (const int) 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) -0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:31 Function Parameters: -0:31 'ps_output' (out structure{temp 4-component vector of float color}) +0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:33 Sequence 0:33 Sequence -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 0 (const int) -0:? 'g_samp[0]' (uniform sampler) -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:? 'g_samp[0]' ( uniform sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 1 (const int) -0:? 'g_samp[1]' (uniform sampler) -0:33 move second child to first child (temp sampler) -0:33 direct index (temp sampler) -0:33 'local_sampler_array' (temp 3-element array of sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:33 move second child to first child ( temp sampler) +0:33 direct index ( temp sampler) +0:33 'local_sampler_array' ( temp 3-element array of sampler) 0:33 Constant: 0:33 2 (const int) -0:? 'g_samp[2]' (uniform sampler) +0:? 'g_samp[2]' ( uniform sampler) 0:34 Sequence 0:34 Sequence -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 0 (const int) -0:? 'g_tex[0]' (uniform texture1D) -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:? 'g_tex[0]' ( uniform texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 1 (const int) -0:? 'g_tex[1]' (uniform texture1D) -0:34 move second child to first child (temp texture1D) -0:34 direct index (temp texture1D) -0:34 'local_texture_array' (temp 3-element array of texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:34 move second child to first child ( temp texture1D) +0:34 direct index ( temp texture1D) +0:34 'local_texture_array' ( temp 3-element array of texture1D) 0:34 Constant: 0:34 2 (const int) -0:? 'g_tex[2]' (uniform texture1D) +0:? 'g_tex[2]' ( uniform texture1D) 0:35 Sequence -0:35 move second child to first child (temp 4-element array of float) -0:35 'local_float_array' (temp 4-element array of float) -0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) +0:35 move second child to first child ( temp 4-element array of float) +0:35 'local_float_array' ( temp 4-element array of float) +0:35 g_floats: direct index for structure ( uniform 4-element array of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) 0:35 Constant: 0:35 2 (const uint) -0:37 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:37 add (temp 4-component vector of float) -0:37 Function Call: TestFn1( (temp 4-component vector of float) -0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) -0:37 Comma (temp 3-element array of texture1D) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 color: direct index for structure ( temp 4-component vector of float) +0:37 'ps_output' ( out structure{ temp 4-component vector of float color}) +0:37 Constant: +0:37 0 (const int) +0:37 add ( temp 4-component vector of float) +0:37 Function Call: TestFn1( ( temp 4-component vector of float) +0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float) +0:37 Comma ( temp 3-element array of texture1D) 0:37 Sequence -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 0 (const int) -0:? 'g_tex[0]' (uniform texture1D) -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:? 'g_tex[0]' ( uniform texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 1 (const int) -0:? 'g_tex[1]' (uniform texture1D) -0:37 move second child to first child (temp texture1D) -0:37 direct index (temp texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:37 move second child to first child ( temp texture1D) +0:37 direct index ( temp texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) 0:37 Constant: 0:37 2 (const int) -0:? 'g_tex[2]' (uniform texture1D) -0:37 'aggShadow' (temp 3-element array of texture1D) -0:37 Comma (temp 3-element array of sampler) +0:? 'g_tex[2]' ( uniform texture1D) +0:37 'aggShadow' ( temp 3-element array of texture1D) +0:37 Comma ( temp 3-element array of sampler) 0:37 Sequence -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 0 (const int) -0:? 'g_samp[0]' (uniform sampler) -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[0]' ( uniform sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 1 (const int) -0:? 'g_samp[1]' (uniform sampler) -0:37 move second child to first child (temp sampler) -0:37 direct index (temp sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:37 move second child to first child ( temp sampler) +0:37 direct index ( temp sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) 0:37 Constant: 0:37 2 (const int) -0:? 'g_samp[2]' (uniform sampler) -0:37 'aggShadow' (temp 3-element array of sampler) +0:? 'g_samp[2]' ( uniform sampler) +0:37 'aggShadow' ( temp 3-element array of sampler) +0:31 Function Definition: main( ( temp void) +0:31 Function Parameters: +0:? Sequence +0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:31 Sequence +0:31 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:31 color: direct index for structure ( temp 4-component vector of float) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:31 Constant: +0:31 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tex[0]' (uniform texture1D) -0:? 'g_tex[1]' (uniform texture1D) -0:? 'g_tex[2]' (uniform texture1D) -0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D) -0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D) -0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D) -0:? 'g_samp[0]' (uniform sampler) -0:? 'g_samp[1]' (uniform sampler) -0:? 'g_samp[2]' (uniform sampler) -0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) -0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) -0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) -0:? 'not_flattened_a' (global 5-element array of int) +0:? 'g_tex[0]' ( uniform texture1D) +0:? 'g_tex[1]' ( uniform texture1D) +0:? 'g_tex[2]' ( uniform texture1D) +0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D) +0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D) +0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D) +0:? 'g_samp[0]' ( uniform sampler) +0:? 'g_samp[1]' ( uniform sampler) +0:? 'g_samp[2]' ( uniform sampler) +0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler) +0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler) +0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats}) +0:? 'not_flattened_a' ( global 5-element array of int) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 123 +// Id's are bound by 137 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 99 + EntryPoint Fragment 4 "main" 128 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "TestFn1(" Name 22 "TestFn2(t11[3];p1[3];" Name 20 "l_tex" Name 21 "l_samp" - Name 28 "not_flattened_a" - Name 36 "g_tex[1]" - Name 39 "g_samp[1]" - Name 55 "local_sampler_array" - Name 57 "g_samp[0]" - Name 62 "g_samp[2]" - Name 65 "local_texture_array" - Name 66 "g_tex[0]" - Name 71 "g_tex[2]" - Name 77 "local_float_array" - Name 83 "$Global" - MemberName 83($Global) 0 "g_mats" - MemberName 83($Global) 1 "g_mats_explicit" - MemberName 83($Global) 2 "g_floats" - Name 85 "" - Name 99 "color" - Name 101 "aggShadow" - Name 108 "aggShadow" - Name 117 "g_tex_explicit[0]" - Name 118 "g_tex_explicit[1]" - Name 119 "g_tex_explicit[2]" - Name 120 "g_samp_explicit[0]" - Name 121 "g_samp_explicit[1]" - Name 122 "g_samp_explicit[2]" - Decorate 36(g_tex[1]) DescriptorSet 0 - Decorate 39(g_samp[1]) DescriptorSet 0 - Decorate 57(g_samp[0]) DescriptorSet 0 - Decorate 62(g_samp[2]) DescriptorSet 0 - Decorate 66(g_tex[0]) DescriptorSet 0 - Decorate 71(g_tex[2]) DescriptorSet 0 - Decorate 80 ArrayStride 48 - Decorate 81 ArrayStride 48 - Decorate 82 ArrayStride 16 - MemberDecorate 83($Global) 0 RowMajor - MemberDecorate 83($Global) 0 Offset 0 - MemberDecorate 83($Global) 0 MatrixStride 16 - MemberDecorate 83($Global) 1 RowMajor - MemberDecorate 83($Global) 1 Offset 192 - MemberDecorate 83($Global) 1 MatrixStride 16 - MemberDecorate 83($Global) 2 Offset 384 - Decorate 83($Global) Block - Decorate 85 DescriptorSet 0 - Decorate 99(color) Location 0 - Decorate 117(g_tex_explicit[0]) DescriptorSet 0 - Decorate 117(g_tex_explicit[0]) Binding 1 - Decorate 118(g_tex_explicit[1]) DescriptorSet 0 - Decorate 118(g_tex_explicit[1]) Binding 2 - Decorate 119(g_tex_explicit[2]) DescriptorSet 0 - Decorate 119(g_tex_explicit[2]) Binding 3 - Decorate 120(g_samp_explicit[0]) DescriptorSet 0 - Decorate 120(g_samp_explicit[0]) Binding 5 - Decorate 121(g_samp_explicit[1]) DescriptorSet 0 - Decorate 121(g_samp_explicit[1]) Binding 6 - Decorate 122(g_samp_explicit[2]) DescriptorSet 0 - Decorate 122(g_samp_explicit[2]) Binding 7 + Name 24 "PS_OUTPUT" + MemberName 24(PS_OUTPUT) 0 "color" + Name 28 "@main(struct-PS_OUTPUT-vf41;" + Name 27 "ps_output" + Name 34 "not_flattened_a" + Name 42 "g_tex[1]" + Name 45 "g_samp[1]" + Name 61 "local_sampler_array" + Name 63 "g_samp[0]" + Name 68 "g_samp[2]" + Name 71 "local_texture_array" + Name 72 "g_tex[0]" + Name 77 "g_tex[2]" + Name 83 "local_float_array" + Name 89 "$Global" + MemberName 89($Global) 0 "g_mats" + MemberName 89($Global) 1 "g_mats_explicit" + MemberName 89($Global) 2 "g_floats" + Name 91 "" + Name 105 "aggShadow" + Name 112 "aggShadow" + Name 123 "ps_output" + Name 124 "param" + Name 128 "color" + Name 131 "g_tex_explicit[0]" + Name 132 "g_tex_explicit[1]" + Name 133 "g_tex_explicit[2]" + Name 134 "g_samp_explicit[0]" + Name 135 "g_samp_explicit[1]" + Name 136 "g_samp_explicit[2]" + Decorate 42(g_tex[1]) DescriptorSet 0 + Decorate 45(g_samp[1]) DescriptorSet 0 + Decorate 63(g_samp[0]) DescriptorSet 0 + Decorate 68(g_samp[2]) DescriptorSet 0 + Decorate 72(g_tex[0]) DescriptorSet 0 + Decorate 77(g_tex[2]) DescriptorSet 0 + Decorate 86 ArrayStride 48 + Decorate 87 ArrayStride 48 + Decorate 88 ArrayStride 16 + MemberDecorate 89($Global) 0 RowMajor + MemberDecorate 89($Global) 0 Offset 0 + MemberDecorate 89($Global) 0 MatrixStride 16 + MemberDecorate 89($Global) 1 RowMajor + MemberDecorate 89($Global) 1 Offset 192 + MemberDecorate 89($Global) 1 MatrixStride 16 + MemberDecorate 89($Global) 2 Offset 384 + Decorate 89($Global) Block + Decorate 91 DescriptorSet 0 + Decorate 128(color) Location 0 + Decorate 131(g_tex_explicit[0]) DescriptorSet 0 + Decorate 131(g_tex_explicit[0]) Binding 1 + Decorate 132(g_tex_explicit[1]) DescriptorSet 0 + Decorate 132(g_tex_explicit[1]) Binding 2 + Decorate 133(g_tex_explicit[2]) DescriptorSet 0 + Decorate 133(g_tex_explicit[2]) Binding 3 + Decorate 134(g_samp_explicit[0]) DescriptorSet 0 + Decorate 134(g_samp_explicit[0]) Binding 5 + Decorate 135(g_samp_explicit[1]) DescriptorSet 0 + Decorate 135(g_samp_explicit[1]) Binding 6 + Decorate 136(g_samp_explicit[2]) DescriptorSet 0 + Decorate 136(g_samp_explicit[2]) Binding 7 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -397,130 +433,148 @@ gl_FragCoord origin is upper left 17: TypeArray 16 13 18: TypePointer UniformConstant 17 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr) - 24: TypeInt 32 1 - 25: 12(int) Constant 5 - 26: TypeArray 24(int) 25 - 27: TypePointer Private 26 -28(not_flattened_a): 27(ptr) Variable Private - 29: 24(int) Constant 1 - 30: 24(int) Constant 2 - 31: 24(int) Constant 3 - 32: 24(int) Constant 4 - 33: 24(int) Constant 5 - 34: 26 ConstantComposite 29 30 31 32 33 - 35: TypePointer UniformConstant 11 - 36(g_tex[1]): 35(ptr) Variable UniformConstant - 38: TypePointer UniformConstant 16 - 39(g_samp[1]): 38(ptr) Variable UniformConstant - 41: TypeSampledImage 11 - 43: 6(float) Constant 1045220557 -55(local_sampler_array): 18(ptr) Variable UniformConstant - 56: 24(int) Constant 0 - 57(g_samp[0]): 38(ptr) Variable UniformConstant - 62(g_samp[2]): 38(ptr) Variable UniformConstant -65(local_texture_array): 15(ptr) Variable UniformConstant - 66(g_tex[0]): 35(ptr) Variable UniformConstant - 71(g_tex[2]): 35(ptr) Variable UniformConstant - 74: 12(int) Constant 4 - 75: TypeArray 6(float) 74 - 76: TypePointer Function 75 - 78: TypeVector 6(float) 3 - 79: TypeMatrix 78(fvec3) 3 - 80: TypeArray 79 74 - 81: TypeArray 79 74 - 82: TypeArray 6(float) 74 - 83($Global): TypeStruct 80 81 82 - 84: TypePointer Uniform 83($Global) - 85: 84(ptr) Variable Uniform - 86: TypePointer Uniform 82 - 90: TypePointer Function 6(float) - 98: TypePointer Output 7(fvec4) - 99(color): 98(ptr) Variable Output - 101(aggShadow): 15(ptr) Variable UniformConstant - 108(aggShadow): 18(ptr) Variable UniformConstant -117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant -118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant -119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant -120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant -121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant -122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant + 24(PS_OUTPUT): TypeStruct 7(fvec4) + 25: TypePointer Function 24(PS_OUTPUT) + 26: TypeFunction 2 25(ptr) + 30: TypeInt 32 1 + 31: 12(int) Constant 5 + 32: TypeArray 30(int) 31 + 33: TypePointer Private 32 +34(not_flattened_a): 33(ptr) Variable Private + 35: 30(int) Constant 1 + 36: 30(int) Constant 2 + 37: 30(int) Constant 3 + 38: 30(int) Constant 4 + 39: 30(int) Constant 5 + 40: 32 ConstantComposite 35 36 37 38 39 + 41: TypePointer UniformConstant 11 + 42(g_tex[1]): 41(ptr) Variable UniformConstant + 44: TypePointer UniformConstant 16 + 45(g_samp[1]): 44(ptr) Variable UniformConstant + 47: TypeSampledImage 11 + 49: 6(float) Constant 1045220557 +61(local_sampler_array): 18(ptr) Variable UniformConstant + 62: 30(int) Constant 0 + 63(g_samp[0]): 44(ptr) Variable UniformConstant + 68(g_samp[2]): 44(ptr) Variable UniformConstant +71(local_texture_array): 15(ptr) Variable UniformConstant + 72(g_tex[0]): 41(ptr) Variable UniformConstant + 77(g_tex[2]): 41(ptr) Variable UniformConstant + 80: 12(int) Constant 4 + 81: TypeArray 6(float) 80 + 82: TypePointer Function 81 + 84: TypeVector 6(float) 3 + 85: TypeMatrix 84(fvec3) 3 + 86: TypeArray 85 80 + 87: TypeArray 85 80 + 88: TypeArray 6(float) 80 + 89($Global): TypeStruct 86 87 88 + 90: TypePointer Uniform 89($Global) + 91: 90(ptr) Variable Uniform + 92: TypePointer Uniform 88 + 96: TypePointer Function 6(float) + 105(aggShadow): 15(ptr) Variable UniformConstant + 112(aggShadow): 18(ptr) Variable UniformConstant + 121: TypePointer Function 7(fvec4) + 127: TypePointer Output 7(fvec4) + 128(color): 127(ptr) Variable Output +131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant +132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant +133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant +134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant +135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant +136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -77(local_float_array): 76(ptr) Variable Function - Store 28(not_flattened_a) 34 - 58: 16 Load 57(g_samp[0]) - 59: 38(ptr) AccessChain 55(local_sampler_array) 56 - Store 59 58 - 60: 16 Load 39(g_samp[1]) - 61: 38(ptr) AccessChain 55(local_sampler_array) 29 - Store 61 60 - 63: 16 Load 62(g_samp[2]) - 64: 38(ptr) AccessChain 55(local_sampler_array) 30 - Store 64 63 - 67: 11 Load 66(g_tex[0]) - 68: 35(ptr) AccessChain 65(local_texture_array) 56 - Store 68 67 - 69: 11 Load 36(g_tex[1]) - 70: 35(ptr) AccessChain 65(local_texture_array) 29 - Store 70 69 - 72: 11 Load 71(g_tex[2]) - 73: 35(ptr) AccessChain 65(local_texture_array) 30 - Store 73 72 - 87: 86(ptr) AccessChain 85 30 - 88: 82 Load 87 - 89: 6(float) CompositeExtract 88 0 - 91: 90(ptr) AccessChain 77(local_float_array) 56 - Store 91 89 - 92: 6(float) CompositeExtract 88 1 - 93: 90(ptr) AccessChain 77(local_float_array) 29 - Store 93 92 - 94: 6(float) CompositeExtract 88 2 - 95: 90(ptr) AccessChain 77(local_float_array) 30 - Store 95 94 - 96: 6(float) CompositeExtract 88 3 - 97: 90(ptr) AccessChain 77(local_float_array) 31 - Store 97 96 - 100: 7(fvec4) FunctionCall 9(TestFn1() - 102: 11 Load 66(g_tex[0]) - 103: 35(ptr) AccessChain 101(aggShadow) 56 - Store 103 102 - 104: 11 Load 36(g_tex[1]) - 105: 35(ptr) AccessChain 101(aggShadow) 29 - Store 105 104 - 106: 11 Load 71(g_tex[2]) - 107: 35(ptr) AccessChain 101(aggShadow) 30 - Store 107 106 - 109: 16 Load 57(g_samp[0]) - 110: 38(ptr) AccessChain 108(aggShadow) 56 - Store 110 109 - 111: 16 Load 39(g_samp[1]) - 112: 38(ptr) AccessChain 108(aggShadow) 29 - Store 112 111 - 113: 16 Load 62(g_samp[2]) - 114: 38(ptr) AccessChain 108(aggShadow) 30 - Store 114 113 - 115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow) - 116: 7(fvec4) FAdd 100 115 - Store 99(color) 116 + 123(ps_output): 25(ptr) Variable Function + 124(param): 25(ptr) Variable Function + Store 34(not_flattened_a) 40 + 125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param) + 126:24(PS_OUTPUT) Load 124(param) + Store 123(ps_output) 126 + 129: 121(ptr) AccessChain 123(ps_output) 62 + 130: 7(fvec4) Load 129 + Store 128(color) 130 Return FunctionEnd 9(TestFn1(): 7(fvec4) Function None 8 10: Label - 37: 11 Load 36(g_tex[1]) - 40: 16 Load 39(g_samp[1]) - 42: 41 SampledImage 37 40 - 44: 7(fvec4) ImageSampleImplicitLod 42 43 - ReturnValue 44 + 43: 11 Load 42(g_tex[1]) + 46: 16 Load 45(g_samp[1]) + 48: 47 SampledImage 43 46 + 50: 7(fvec4) ImageSampleImplicitLod 48 49 + ReturnValue 50 FunctionEnd 22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19 20(l_tex): 15(ptr) FunctionParameter 21(l_samp): 18(ptr) FunctionParameter 23: Label - 47: 35(ptr) AccessChain 20(l_tex) 30 - 48: 11 Load 47 - 49: 38(ptr) AccessChain 21(l_samp) 30 - 50: 16 Load 49 - 51: 41 SampledImage 48 50 - 52: 7(fvec4) ImageSampleImplicitLod 51 43 - ReturnValue 52 + 53: 41(ptr) AccessChain 20(l_tex) 36 + 54: 11 Load 53 + 55: 44(ptr) AccessChain 21(l_samp) 36 + 56: 16 Load 55 + 57: 47 SampledImage 54 56 + 58: 7(fvec4) ImageSampleImplicitLod 57 49 + ReturnValue 58 + FunctionEnd +28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26 + 27(ps_output): 25(ptr) FunctionParameter + 29: Label +83(local_float_array): 82(ptr) Variable Function + 64: 16 Load 63(g_samp[0]) + 65: 44(ptr) AccessChain 61(local_sampler_array) 62 + Store 65 64 + 66: 16 Load 45(g_samp[1]) + 67: 44(ptr) AccessChain 61(local_sampler_array) 35 + Store 67 66 + 69: 16 Load 68(g_samp[2]) + 70: 44(ptr) AccessChain 61(local_sampler_array) 36 + Store 70 69 + 73: 11 Load 72(g_tex[0]) + 74: 41(ptr) AccessChain 71(local_texture_array) 62 + Store 74 73 + 75: 11 Load 42(g_tex[1]) + 76: 41(ptr) AccessChain 71(local_texture_array) 35 + Store 76 75 + 78: 11 Load 77(g_tex[2]) + 79: 41(ptr) AccessChain 71(local_texture_array) 36 + Store 79 78 + 93: 92(ptr) AccessChain 91 36 + 94: 88 Load 93 + 95: 6(float) CompositeExtract 94 0 + 97: 96(ptr) AccessChain 83(local_float_array) 62 + Store 97 95 + 98: 6(float) CompositeExtract 94 1 + 99: 96(ptr) AccessChain 83(local_float_array) 35 + Store 99 98 + 100: 6(float) CompositeExtract 94 2 + 101: 96(ptr) AccessChain 83(local_float_array) 36 + Store 101 100 + 102: 6(float) CompositeExtract 94 3 + 103: 96(ptr) AccessChain 83(local_float_array) 37 + Store 103 102 + 104: 7(fvec4) FunctionCall 9(TestFn1() + 106: 11 Load 72(g_tex[0]) + 107: 41(ptr) AccessChain 105(aggShadow) 62 + Store 107 106 + 108: 11 Load 42(g_tex[1]) + 109: 41(ptr) AccessChain 105(aggShadow) 35 + Store 109 108 + 110: 11 Load 77(g_tex[2]) + 111: 41(ptr) AccessChain 105(aggShadow) 36 + Store 111 110 + 113: 16 Load 63(g_samp[0]) + 114: 44(ptr) AccessChain 112(aggShadow) 62 + Store 114 113 + 115: 16 Load 45(g_samp[1]) + 116: 44(ptr) AccessChain 112(aggShadow) 35 + Store 116 115 + 117: 16 Load 68(g_samp[2]) + 118: 44(ptr) AccessChain 112(aggShadow) 36 + Store 118 117 + 119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow) + 120: 7(fvec4) FAdd 104 119 + 122: 121(ptr) AccessChain 27(ps_output) 62 + Store 122 120 + Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out index e04a5e81611..58fa077735b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.frag.out @@ -2,64 +2,75 @@ hlsl.array.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) 0:8 Function Parameters: -0:8 'i' (layout(location=0 ) in int) -0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 'i' ( in int) +0:8 'input' ( in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 direct index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 direct index ( temp 4-component vector of float) +0:10 a: direct index for structure ( uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:10 0 (const uint) 0:10 Constant: -0:10 2 (const int) -0:10 indirect index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) -0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 1 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 a: direct index for structure ( uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 0 (const uint) +0:10 'i' ( in int) +0:10 direct index ( temp 4-component vector of float) +0:10 'input' ( in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const uint) -0:10 'i' (layout(location=0 ) in int) +0:10 2 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 'input' ( in 3-element array of 4-component vector of float) +0:10 'i' ( in int) +0:10 direct index ( temp 4-component vector of float) +0:10 'b' ( temp 10-element array of 4-component vector of float) 0:10 Constant: -0:10 0 (const int) -0:10 'i' (layout(location=0 ) in int) -0:10 Branch: Return +0:10 5 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 'b' ( temp 10-element array of 4-component vector of float) +0:10 'i' ( in int) +0:10 indirect index ( temp 4-component vector of float) +0:10 m: direct index for structure ( temp 7-element array of 4-component vector of float) +0:10 indirect index ( temp structure{ temp 7-element array of 4-component vector of float m}) +0:10 s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m}) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 1 (const uint) +0:10 'i' ( in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' ( in int) +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp int) +0:? 'i' ( temp int) +0:? 'i' (layout( location=0) in int) +0:8 move second child to first child ( temp 3-element array of 4-component vector of float) +0:? 'input' ( temp 3-element array of 4-component vector of float) +0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) +0:? 'i' ( temp int) +0:? 'input' ( temp 3-element array of 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in int) -0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in int) +0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float) Linked fragment stage: @@ -68,158 +79,197 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) 0:8 Function Parameters: -0:8 'i' (layout(location=0 ) in int) -0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:8 'i' ( in int) +0:8 'input' ( in 3-element array of 4-component vector of float) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 direct index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 direct index ( temp 4-component vector of float) +0:10 a: direct index for structure ( uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) 0:10 Constant: -0:10 1 (const int) -0:10 indirect index (layout(offset=0 ) temp 4-component vector of float) -0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) -0:10 Constant: -0:10 0 (const uint) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:10 0 (const uint) 0:10 Constant: -0:10 2 (const int) -0:10 indirect index (layout(location=1 ) temp 4-component vector of float) -0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 direct index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 Constant: -0:10 5 (const int) -0:10 indirect index (temp 4-component vector of float) -0:10 'b' (temp 10-element array of 4-component vector of float) -0:10 'i' (layout(location=0 ) in int) -0:10 indirect index (temp 4-component vector of float) -0:10 m: direct index for structure (temp 7-element array of 4-component vector of float) -0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m}) -0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m}) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:10 1 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 a: direct index for structure ( uniform 4-element array of 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 0 (const uint) +0:10 'i' ( in int) +0:10 direct index ( temp 4-component vector of float) +0:10 'input' ( in 3-element array of 4-component vector of float) 0:10 Constant: -0:10 1 (const uint) -0:10 'i' (layout(location=0 ) in int) +0:10 2 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 'input' ( in 3-element array of 4-component vector of float) +0:10 'i' ( in int) +0:10 direct index ( temp 4-component vector of float) +0:10 'b' ( temp 10-element array of 4-component vector of float) 0:10 Constant: -0:10 0 (const int) -0:10 'i' (layout(location=0 ) in int) -0:10 Branch: Return +0:10 5 (const int) +0:10 indirect index ( temp 4-component vector of float) +0:10 'b' ( temp 10-element array of 4-component vector of float) +0:10 'i' ( in int) +0:10 indirect index ( temp 4-component vector of float) +0:10 m: direct index for structure ( temp 7-element array of 4-component vector of float) +0:10 indirect index ( temp structure{ temp 7-element array of 4-component vector of float m}) +0:10 s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m}) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:10 Constant: +0:10 1 (const uint) +0:10 'i' ( in int) +0:10 Constant: +0:10 0 (const int) +0:10 'i' ( in int) +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp int) +0:? 'i' ( temp int) +0:? 'i' (layout( location=0) in int) +0:8 move second child to first child ( temp 3-element array of 4-component vector of float) +0:? 'input' ( temp 3-element array of 4-component vector of float) +0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float) +0:? 'i' ( temp int) +0:? 'input' ( temp 3-element array of 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in int) -0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a, uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in int) +0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 65 +// Id's are bound by 81 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 28 36 + EntryPoint Fragment 4 "PixelShaderFunction" 68 72 75 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 15 "" - MemberName 15 0 "m" - Name 18 "$Global" - MemberName 18($Global) 0 "a" - MemberName 18($Global) 1 "s" - Name 20 "" - Name 28 "i" - Name 36 "input" - Name 49 "b" - Decorate 9(@entryPointOutput) Location 0 - Decorate 12 ArrayStride 16 - Decorate 14 ArrayStride 16 - MemberDecorate 15 0 Offset 0 - Decorate 17 ArrayStride 112 - MemberDecorate 18($Global) 0 Offset 0 - MemberDecorate 18($Global) 1 Offset 64 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 - Decorate 28(i) Location 0 - Decorate 36(input) Location 1 + Name 17 "@PixelShaderFunction(i1;vf4[3];" + Name 15 "i" + Name 16 "input" + Name 23 "" + MemberName 23 0 "m" + Name 26 "$Global" + MemberName 26($Global) 0 "a" + MemberName 26($Global) 1 "s" + Name 28 "" + Name 50 "b" + Name 66 "i" + Name 68 "i" + Name 70 "input" + Name 72 "input" + Name 75 "@entryPointOutput" + Name 76 "param" + Name 78 "param" + Decorate 20 ArrayStride 16 + Decorate 22 ArrayStride 16 + MemberDecorate 23 0 Offset 0 + Decorate 25 ArrayStride 112 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 64 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 68(i) Location 0 + Decorate 72(input) Location 1 + Decorate 75(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 10: TypeInt 32 0 - 11: 10(int) Constant 4 - 12: TypeArray 7(fvec4) 11 - 13: 10(int) Constant 7 - 14: TypeArray 7(fvec4) 13 - 15: TypeStruct 14 - 16: 10(int) Constant 11 - 17: TypeArray 15(struct) 16 - 18($Global): TypeStruct 12 17 - 19: TypePointer Uniform 18($Global) - 20: 19(ptr) Variable Uniform - 21: TypeInt 32 1 - 22: 21(int) Constant 0 - 23: 21(int) Constant 1 - 24: TypePointer Uniform 7(fvec4) - 27: TypePointer Input 21(int) - 28(i): 27(ptr) Variable Input - 33: 10(int) Constant 3 - 34: TypeArray 7(fvec4) 33 - 35: TypePointer Input 34 - 36(input): 35(ptr) Variable Input - 37: 21(int) Constant 2 - 38: TypePointer Input 7(fvec4) - 46: 10(int) Constant 10 - 47: TypeArray 7(fvec4) 46 - 48: TypePointer Function 47 - 50: 21(int) Constant 5 - 51: TypePointer Function 7(fvec4) + 11: 10(int) Constant 3 + 12: TypeArray 9(fvec4) 11 + 13: TypePointer Function 12 + 14: TypeFunction 9(fvec4) 7(ptr) 13(ptr) + 19: 10(int) Constant 4 + 20: TypeArray 9(fvec4) 19 + 21: 10(int) Constant 7 + 22: TypeArray 9(fvec4) 21 + 23: TypeStruct 22 + 24: 10(int) Constant 11 + 25: TypeArray 23(struct) 24 + 26($Global): TypeStruct 20 25 + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: 6(int) Constant 0 + 30: 6(int) Constant 1 + 31: TypePointer Uniform 9(fvec4) + 38: 6(int) Constant 2 + 39: TypePointer Function 9(fvec4) + 47: 10(int) Constant 10 + 48: TypeArray 9(fvec4) 47 + 49: TypePointer Function 48 + 51: 6(int) Constant 5 + 67: TypePointer Input 6(int) + 68(i): 67(ptr) Variable Input + 71: TypePointer Input 12 + 72(input): 71(ptr) Variable Input + 74: TypePointer Output 9(fvec4) +75(@entryPointOutput): 74(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 49(b): 48(ptr) Variable Function - 25: 24(ptr) AccessChain 20 22 23 - 26: 7(fvec4) Load 25 - 29: 21(int) Load 28(i) - 30: 24(ptr) AccessChain 20 22 29 - 31: 7(fvec4) Load 30 - 32: 7(fvec4) FAdd 26 31 - 39: 38(ptr) AccessChain 36(input) 37 - 40: 7(fvec4) Load 39 - 41: 7(fvec4) FAdd 32 40 - 42: 21(int) Load 28(i) - 43: 38(ptr) AccessChain 36(input) 42 - 44: 7(fvec4) Load 43 - 45: 7(fvec4) FAdd 41 44 - 52: 51(ptr) AccessChain 49(b) 50 - 53: 7(fvec4) Load 52 - 54: 7(fvec4) FAdd 45 53 - 55: 21(int) Load 28(i) - 56: 51(ptr) AccessChain 49(b) 55 - 57: 7(fvec4) Load 56 - 58: 7(fvec4) FAdd 54 57 - 59: 21(int) Load 28(i) - 60: 21(int) Load 28(i) - 61: 24(ptr) AccessChain 20 23 59 22 60 - 62: 7(fvec4) Load 61 - 63: 7(fvec4) FAdd 58 62 - Store 9(@entryPointOutput) 63 + 66(i): 7(ptr) Variable Function + 70(input): 13(ptr) Variable Function + 76(param): 7(ptr) Variable Function + 78(param): 13(ptr) Variable Function + 69: 6(int) Load 68(i) + Store 66(i) 69 + 73: 12 Load 72(input) + Store 70(input) 73 + 77: 6(int) Load 66(i) + Store 76(param) 77 + 79: 12 Load 70(input) + Store 78(param) 79 + 80: 9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 76(param) 78(param) + Store 75(@entryPointOutput) 80 Return FunctionEnd +17(@PixelShaderFunction(i1;vf4[3];): 9(fvec4) Function None 14 + 15(i): 7(ptr) FunctionParameter + 16(input): 13(ptr) FunctionParameter + 18: Label + 50(b): 49(ptr) Variable Function + 32: 31(ptr) AccessChain 28 29 30 + 33: 9(fvec4) Load 32 + 34: 6(int) Load 15(i) + 35: 31(ptr) AccessChain 28 29 34 + 36: 9(fvec4) Load 35 + 37: 9(fvec4) FAdd 33 36 + 40: 39(ptr) AccessChain 16(input) 38 + 41: 9(fvec4) Load 40 + 42: 9(fvec4) FAdd 37 41 + 43: 6(int) Load 15(i) + 44: 39(ptr) AccessChain 16(input) 43 + 45: 9(fvec4) Load 44 + 46: 9(fvec4) FAdd 42 45 + 52: 39(ptr) AccessChain 50(b) 51 + 53: 9(fvec4) Load 52 + 54: 9(fvec4) FAdd 46 53 + 55: 6(int) Load 15(i) + 56: 39(ptr) AccessChain 50(b) 55 + 57: 9(fvec4) Load 56 + 58: 9(fvec4) FAdd 54 57 + 59: 6(int) Load 15(i) + 60: 6(int) Load 15(i) + 61: 31(ptr) AccessChain 28 30 59 29 60 + 62: 9(fvec4) Load 61 + 63: 9(fvec4) FAdd 58 62 + ReturnValue 63 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out index 5f203622658..efe12400060 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out @@ -3,8 +3,8 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp 5-element array of float) -0:3 'g_array' (global 5-element array of float) +0:3 move second child to first child ( temp 5-element array of float) +0:3 'g_array' ( global 5-element array of float) 0:3 Constant: 0:3 1.000000 0:3 2.000000 @@ -12,8 +12,8 @@ gl_FragCoord origin is upper left 0:3 4.000000 0:3 5.000000 0:6 Sequence -0:6 move second child to first child (temp 7-element array of float) -0:6 'g_array_unused' (global 7-element array of float) +0:6 move second child to first child ( temp 7-element array of float) +0:6 'g_array_unused' ( global 7-element array of float) 0:6 Constant: 0:6 1.000000 0:6 2.000000 @@ -23,60 +23,60 @@ gl_FragCoord origin is upper left 0:6 6.000000 0:6 7.000000 0:12 Sequence -0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f}) -0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:12 move second child to first child ( temp 2-element array of structure{ temp int i, temp float f}) +0:12 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) 0:12 Constant: 0:12 1 (const int) 0:12 2.000000 0:12 3 (const int) 0:12 4.000000 -0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:26 Function Definition: main(struct-PS_OUTPUT-vf41; ( temp void) 0:26 Function Parameters: -0:26 'ps_output' (out structure{temp 4-component vector of float color}) +0:26 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp 3-element array of float) -0:28 'l_array' (temp 3-element array of float) +0:28 move second child to first child ( temp 3-element array of float) +0:28 'l_array' ( temp 3-element array of float) 0:28 Constant: 0:28 1.000000 0:28 2.000000 0:28 3.000000 -0:31 move second child to first child (temp 4-component vector of float) -0:31 color: direct index for structure (temp 4-component vector of float) -0:31 'ps_output' (out structure{temp 4-component vector of float color}) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 color: direct index for structure ( temp 4-component vector of float) +0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:31 Constant: 0:31 0 (const int) -0:31 Construct vec4 (temp 4-component vector of float) -0:31 add (temp float) -0:31 add (temp float) -0:31 add (temp float) -0:31 add (temp float) -0:31 direct index (temp float) -0:31 'g_array' (global 5-element array of float) +0:31 Construct vec4 ( temp 4-component vector of float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 direct index ( temp float) +0:31 'g_array' ( global 5-element array of float) 0:31 Constant: 0:31 0 (const int) -0:31 direct index (temp float) -0:31 'g_array' (global 5-element array of float) +0:31 direct index ( temp float) +0:31 'g_array' ( global 5-element array of float) 0:31 Constant: 0:31 4 (const int) -0:31 direct index (temp float) -0:31 'l_array' (temp 3-element array of float) +0:31 direct index ( temp float) +0:31 'l_array' ( temp 3-element array of float) 0:31 Constant: 0:31 1 (const int) -0:31 f: direct index for structure (temp float) -0:31 direct index (temp structure{temp int i, temp float f}) -0:31 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:31 f: direct index for structure ( temp float) +0:31 direct index ( temp structure{ temp int i, temp float f}) +0:31 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) 0:31 Constant: 0:31 0 (const int) 0:31 Constant: 0:31 1 (const int) -0:31 indirect index (temp float) -0:31 'g_array' (global 5-element array of float) -0:31 'idx' (temp int) +0:31 indirect index ( temp float) +0:31 'g_array' ( global 5-element array of float) +0:31 'idx' ( temp int) 0:? Linker Objects -0:? 'g_array' (global 5-element array of float) -0:? 'g_array_unused' (global 7-element array of float) -0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:? 'g_array' ( global 5-element array of float) +0:? 'g_array_unused' ( global 7-element array of float) +0:? 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) Linked fragment stage: @@ -87,8 +87,8 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp 5-element array of float) -0:3 'g_array' (global 5-element array of float) +0:3 move second child to first child ( temp 5-element array of float) +0:3 'g_array' ( global 5-element array of float) 0:3 Constant: 0:3 1.000000 0:3 2.000000 @@ -96,8 +96,8 @@ gl_FragCoord origin is upper left 0:3 4.000000 0:3 5.000000 0:6 Sequence -0:6 move second child to first child (temp 7-element array of float) -0:6 'g_array_unused' (global 7-element array of float) +0:6 move second child to first child ( temp 7-element array of float) +0:6 'g_array_unused' ( global 7-element array of float) 0:6 Constant: 0:6 1.000000 0:6 2.000000 @@ -107,60 +107,60 @@ gl_FragCoord origin is upper left 0:6 6.000000 0:6 7.000000 0:12 Sequence -0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f}) -0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:12 move second child to first child ( temp 2-element array of structure{ temp int i, temp float f}) +0:12 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) 0:12 Constant: 0:12 1 (const int) 0:12 2.000000 0:12 3 (const int) 0:12 4.000000 -0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:26 Function Definition: main(struct-PS_OUTPUT-vf41; ( temp void) 0:26 Function Parameters: -0:26 'ps_output' (out structure{temp 4-component vector of float color}) +0:26 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp 3-element array of float) -0:28 'l_array' (temp 3-element array of float) +0:28 move second child to first child ( temp 3-element array of float) +0:28 'l_array' ( temp 3-element array of float) 0:28 Constant: 0:28 1.000000 0:28 2.000000 0:28 3.000000 -0:31 move second child to first child (temp 4-component vector of float) -0:31 color: direct index for structure (temp 4-component vector of float) -0:31 'ps_output' (out structure{temp 4-component vector of float color}) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 color: direct index for structure ( temp 4-component vector of float) +0:31 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:31 Constant: 0:31 0 (const int) -0:31 Construct vec4 (temp 4-component vector of float) -0:31 add (temp float) -0:31 add (temp float) -0:31 add (temp float) -0:31 add (temp float) -0:31 direct index (temp float) -0:31 'g_array' (global 5-element array of float) +0:31 Construct vec4 ( temp 4-component vector of float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 add ( temp float) +0:31 direct index ( temp float) +0:31 'g_array' ( global 5-element array of float) 0:31 Constant: 0:31 0 (const int) -0:31 direct index (temp float) -0:31 'g_array' (global 5-element array of float) +0:31 direct index ( temp float) +0:31 'g_array' ( global 5-element array of float) 0:31 Constant: 0:31 4 (const int) -0:31 direct index (temp float) -0:31 'l_array' (temp 3-element array of float) +0:31 direct index ( temp float) +0:31 'l_array' ( temp 3-element array of float) 0:31 Constant: 0:31 1 (const int) -0:31 f: direct index for structure (temp float) -0:31 direct index (temp structure{temp int i, temp float f}) -0:31 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:31 f: direct index for structure ( temp float) +0:31 direct index ( temp structure{ temp int i, temp float f}) +0:31 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) 0:31 Constant: 0:31 0 (const int) 0:31 Constant: 0:31 1 (const int) -0:31 indirect index (temp float) -0:31 'g_array' (global 5-element array of float) -0:31 'idx' (temp int) +0:31 indirect index ( temp float) +0:31 'g_array' ( global 5-element array of float) +0:31 'idx' ( temp int) 0:? Linker Objects -0:? 'g_array' (global 5-element array of float) -0:? 'g_array_unused' (global 7-element array of float) -0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f}) +0:? 'g_array' ( global 5-element array of float) +0:? 'g_array_unused' ( global 7-element array of float) +0:? 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out index 66890b52ce9..e13399e4f85 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.array.multidim.frag.out @@ -2,23 +2,23 @@ hlsl.array.multidim.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 direct index (temp 4-component vector of float) -0:14 direct index (temp 3-element array of 4-component vector of float) -0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 direct index ( temp 3-element array of 4-component vector of float) +0:14 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 Constant: 0:14 2 (const int) -0:14 Construct vec4 (temp 4-component vector of float) -0:14 direct index (layout(offset=0 ) temp float) -0:14 direct index (layout(offset=0 ) temp 3-element array of float) -0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float) -0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:14 Construct vec4 ( temp 4-component vector of float) +0:14 direct index ( temp float) +0:14 direct index ( temp 3-element array of float) +0:14 direct index ( temp 4-element array of 3-element array of float) +0:14 float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array}) 0:14 Constant: 0:14 0 (const uint) 0:14 Constant: @@ -27,39 +27,42 @@ gl_FragCoord origin is upper left 0:14 3 (const int) 0:14 Constant: 0:14 1 (const int) -0:15 move second child to first child (temp 3-element array of 4-component vector of float) -0:15 direct index (temp 3-element array of 4-component vector of float) -0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float) +0:15 move second child to first child ( temp 3-element array of 4-component vector of float) +0:15 direct index ( temp 3-element array of 4-component vector of float) +0:15 'float4_array_2' ( temp 5-element array of 3-element array of 4-component vector of float) 0:15 Constant: 0:15 1 (const int) -0:15 direct index (temp 3-element array of 4-component vector of float) -0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:15 direct index ( temp 3-element array of 4-component vector of float) +0:15 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:15 Constant: 0:15 0 (const int) -0:18 move second child to first child (temp 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 Color: direct index for structure ( temp 4-component vector of float) +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp 4-component vector of float) -0:18 direct index (temp 3-element array of 4-component vector of float) -0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:18 direct index ( temp 4-component vector of float) +0:18 direct index ( temp 3-element array of 4-component vector of float) +0:18 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -68,23 +71,23 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 direct index (temp 4-component vector of float) -0:14 direct index (temp 3-element array of 4-component vector of float) -0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 direct index ( temp 3-element array of 4-component vector of float) +0:14 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 Constant: 0:14 2 (const int) -0:14 Construct vec4 (temp 4-component vector of float) -0:14 direct index (layout(offset=0 ) temp float) -0:14 direct index (layout(offset=0 ) temp 3-element array of float) -0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float) -0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:14 Construct vec4 ( temp 4-component vector of float) +0:14 direct index ( temp float) +0:14 direct index ( temp 3-element array of float) +0:14 direct index ( temp 4-element array of 3-element array of float) +0:14 float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array}) 0:14 Constant: 0:14 0 (const uint) 0:14 Constant: @@ -93,118 +96,128 @@ gl_FragCoord origin is upper left 0:14 3 (const int) 0:14 Constant: 0:14 1 (const int) -0:15 move second child to first child (temp 3-element array of 4-component vector of float) -0:15 direct index (temp 3-element array of 4-component vector of float) -0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float) +0:15 move second child to first child ( temp 3-element array of 4-component vector of float) +0:15 direct index ( temp 3-element array of 4-component vector of float) +0:15 'float4_array_2' ( temp 5-element array of 3-element array of 4-component vector of float) 0:15 Constant: 0:15 1 (const int) -0:15 direct index (temp 3-element array of 4-component vector of float) -0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:15 direct index ( temp 3-element array of 4-component vector of float) +0:15 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:15 Constant: 0:15 0 (const int) -0:18 move second child to first child (temp 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 Color: direct index for structure ( temp 4-component vector of float) +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp 4-component vector of float) -0:18 direct index (temp 3-element array of 4-component vector of float) -0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float) +0:18 direct index ( temp 4-component vector of float) +0:18 direct index ( temp 3-element array of 4-component vector of float) +0:18 'float4_array_1' ( temp 2-element array of 3-element array of 4-component vector of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 57 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 48 + EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 14 "float4_array_1" - Name 23 "$Global" - MemberName 23($Global) 0 "float_array" - Name 25 "" - Name 36 "float4_array_2" - Name 41 "PS_OUTPUT" - MemberName 41(PS_OUTPUT) 0 "Color" - Name 43 "psout" - Name 48 "Color" - Decorate 18 ArrayStride 16 - Decorate 20 ArrayStride 48 - Decorate 22 ArrayStride 192 - MemberDecorate 23($Global) 0 Offset 0 - Decorate 23($Global) Block - Decorate 25 DescriptorSet 0 - Decorate 48(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 18 "float4_array_1" + Name 27 "$Global" + MemberName 27($Global) 0 "float_array" + Name 29 "" + Name 40 "float4_array_2" + Name 46 "psout" + Name 54 "Color" + Decorate 22 ArrayStride 16 + Decorate 24 ArrayStride 48 + Decorate 26 ArrayStride 192 + MemberDecorate 27($Global) 0 Offset 0 + Decorate 27($Global) Block + Decorate 29 DescriptorSet 0 + Decorate 54(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypeInt 32 0 - 9: 8(int) Constant 3 - 10: TypeArray 7(fvec4) 9 - 11: 8(int) Constant 2 - 12: TypeArray 10 11 - 13: TypePointer Function 12 - 15: TypeInt 32 1 - 16: 15(int) Constant 1 - 17: 15(int) Constant 2 - 18: TypeArray 6(float) 9 - 19: 8(int) Constant 4 - 20: TypeArray 18 19 - 21: 8(int) Constant 5 - 22: TypeArray 20 21 - 23($Global): TypeStruct 22 - 24: TypePointer Uniform 23($Global) - 25: 24(ptr) Variable Uniform - 26: 15(int) Constant 0 - 27: 15(int) Constant 3 - 28: TypePointer Uniform 6(float) - 32: TypePointer Function 7(fvec4) - 34: TypeArray 10 21 - 35: TypePointer Function 34 - 37: TypePointer Function 10 - 41(PS_OUTPUT): TypeStruct 7(fvec4) - 42: TypePointer Function 41(PS_OUTPUT) - 47: TypePointer Output 7(fvec4) - 48(Color): 47(ptr) Variable Output + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: 12(int) Constant 3 + 14: TypeArray 7(fvec4) 13 + 15: 12(int) Constant 2 + 16: TypeArray 14 15 + 17: TypePointer Function 16 + 19: TypeInt 32 1 + 20: 19(int) Constant 1 + 21: 19(int) Constant 2 + 22: TypeArray 6(float) 13 + 23: 12(int) Constant 4 + 24: TypeArray 22 23 + 25: 12(int) Constant 5 + 26: TypeArray 24 25 + 27($Global): TypeStruct 26 + 28: TypePointer Uniform 27($Global) + 29: 28(ptr) Variable Uniform + 30: 19(int) Constant 0 + 31: 19(int) Constant 3 + 32: TypePointer Uniform 6(float) + 36: TypePointer Function 7(fvec4) + 38: TypeArray 14 25 + 39: TypePointer Function 38 + 41: TypePointer Function 14 + 45: TypePointer Function 8(PS_OUTPUT) + 53: TypePointer Output 7(fvec4) + 54(Color): 53(ptr) Variable Output 4(main): 2 Function None 3 5: Label -14(float4_array_1): 13(ptr) Variable Function -36(float4_array_2): 35(ptr) Variable Function - 43(psout): 42(ptr) Variable Function - 29: 28(ptr) AccessChain 25 26 17 27 16 - 30: 6(float) Load 29 - 31: 7(fvec4) CompositeConstruct 30 30 30 30 - 33: 32(ptr) AccessChain 14(float4_array_1) 16 17 - Store 33 31 - 38: 37(ptr) AccessChain 14(float4_array_1) 26 - 39: 10 Load 38 - 40: 37(ptr) AccessChain 36(float4_array_2) 16 - Store 40 39 - 44: 32(ptr) AccessChain 14(float4_array_1) 16 17 - 45: 7(fvec4) Load 44 - 46: 32(ptr) AccessChain 43(psout) 26 - Store 46 45 - 49: 32(ptr) AccessChain 43(psout) 26 - 50: 7(fvec4) Load 49 - Store 48(Color) 50 + 55:8(PS_OUTPUT) FunctionCall 10(@main() + 56: 7(fvec4) CompositeExtract 55 0 + Store 54(Color) 56 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +18(float4_array_1): 17(ptr) Variable Function +40(float4_array_2): 39(ptr) Variable Function + 46(psout): 45(ptr) Variable Function + 33: 32(ptr) AccessChain 29 30 21 31 20 + 34: 6(float) Load 33 + 35: 7(fvec4) CompositeConstruct 34 34 34 34 + 37: 36(ptr) AccessChain 18(float4_array_1) 20 21 + Store 37 35 + 42: 41(ptr) AccessChain 18(float4_array_1) 30 + 43: 14 Load 42 + 44: 41(ptr) AccessChain 40(float4_array_2) 20 + Store 44 43 + 47: 36(ptr) AccessChain 18(float4_array_1) 20 21 + 48: 7(fvec4) Load 47 + 49: 36(ptr) AccessChain 46(psout) 30 + Store 49 48 + 50:8(PS_OUTPUT) Load 46(psout) + ReturnValue 50 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out index bcd16036910..0a48528ec3d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.assoc.frag.out @@ -2,43 +2,66 @@ hlsl.assoc.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) 0:8 Function Parameters: -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:8 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 'a3' ( in 4-component vector of float) +0:8 'a4' ( in 4-component vector of float) +0:8 'a5' ( in 4-component vector of float) 0:? Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a1' (layout(location=0 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a2' (layout(location=1 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a3' (layout(location=2 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a4' (layout(location=3 ) in 4-component vector of float) -0:9 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 'a1' (layout(location=0 ) in 4-component vector of float) -0:10 'a2' (layout(location=1 ) in 4-component vector of float) -0:10 'a3' (layout(location=2 ) in 4-component vector of float) -0:10 'a4' (layout(location=3 ) in 4-component vector of float) -0:10 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Branch: Return +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a1' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a2' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a3' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a4' ( in 4-component vector of float) +0:9 'a5' ( in 4-component vector of float) +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 'a1' ( in 4-component vector of float) +0:10 'a2' ( in 4-component vector of float) +0:10 'a3' ( in 4-component vector of float) +0:10 'a4' ( in 4-component vector of float) +0:10 'a5' ( in 4-component vector of float) +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a5' ( temp 4-component vector of float) +0:? 'a5' (layout( location=4) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a5' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'a1' (layout(location=0 ) in 4-component vector of float) -0:? 'a2' (layout(location=1 ) in 4-component vector of float) -0:? 'a3' (layout(location=2 ) in 4-component vector of float) -0:? 'a4' (layout(location=3 ) in 4-component vector of float) -0:? 'a5' (layout(location=4 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:? 'a5' (layout( location=4) in 4-component vector of float) Linked fragment stage: @@ -47,94 +70,175 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:8 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) 0:8 Function Parameters: -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:8 'a5' (layout(location=4 ) in 4-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 'a3' ( in 4-component vector of float) +0:8 'a4' ( in 4-component vector of float) +0:8 'a5' ( in 4-component vector of float) 0:? Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a1' (layout(location=0 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a2' (layout(location=1 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a3' (layout(location=2 ) in 4-component vector of float) -0:9 move second child to first child (temp 4-component vector of float) -0:9 'a4' (layout(location=3 ) in 4-component vector of float) -0:9 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 add (temp 4-component vector of float) -0:10 'a1' (layout(location=0 ) in 4-component vector of float) -0:10 'a2' (layout(location=1 ) in 4-component vector of float) -0:10 'a3' (layout(location=2 ) in 4-component vector of float) -0:10 'a4' (layout(location=3 ) in 4-component vector of float) -0:10 'a5' (layout(location=4 ) in 4-component vector of float) -0:10 Branch: Return +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a1' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a2' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a3' ( in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'a4' ( in 4-component vector of float) +0:9 'a5' ( in 4-component vector of float) +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:10 'a1' ( in 4-component vector of float) +0:10 'a2' ( in 4-component vector of float) +0:10 'a3' ( in 4-component vector of float) +0:10 'a4' ( in 4-component vector of float) +0:10 'a5' ( in 4-component vector of float) +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'a5' ( temp 4-component vector of float) +0:? 'a5' (layout( location=4) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a5' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'a1' (layout(location=0 ) in 4-component vector of float) -0:? 'a2' (layout(location=1 ) in 4-component vector of float) -0:? 'a3' (layout(location=2 ) in 4-component vector of float) -0:? 'a4' (layout(location=3 ) in 4-component vector of float) -0:? 'a5' (layout(location=4 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:? 'a5' (layout( location=4) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 58 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 16 + EntryPoint Fragment 4 "PixelShaderFunction" 31 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "a1" - Name 10 "a2" - Name 11 "a3" - Name 12 "a4" - Name 13 "a5" - Name 16 "@entryPointOutput" - Decorate 9(a1) Location 0 - Decorate 10(a2) Location 1 - Decorate 11(a3) Location 2 - Decorate 12(a4) Location 3 - Decorate 13(a5) Location 4 - Decorate 16(@entryPointOutput) Location 0 + Name 15 "@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;" + Name 10 "a1" + Name 11 "a2" + Name 12 "a3" + Name 13 "a4" + Name 14 "a5" + Name 29 "a1" + Name 31 "a1" + Name 33 "a2" + Name 34 "a2" + Name 36 "a3" + Name 37 "a3" + Name 39 "a4" + Name 40 "a4" + Name 42 "a5" + Name 43 "a5" + Name 46 "@entryPointOutput" + Name 47 "param" + Name 49 "param" + Name 51 "param" + Name 53 "param" + Name 55 "param" + Decorate 31(a1) Location 0 + Decorate 34(a2) Location 1 + Decorate 37(a3) Location 2 + Decorate 40(a4) Location 3 + Decorate 43(a5) Location 4 + Decorate 46(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(a1): 8(ptr) Variable Input - 10(a2): 8(ptr) Variable Input - 11(a3): 8(ptr) Variable Input - 12(a4): 8(ptr) Variable Input - 13(a5): 8(ptr) Variable Input - 15: TypePointer Output 7(fvec4) -16(@entryPointOutput): 15(ptr) Variable Output + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr) 8(ptr) + 30: TypePointer Input 7(fvec4) + 31(a1): 30(ptr) Variable Input + 34(a2): 30(ptr) Variable Input + 37(a3): 30(ptr) Variable Input + 40(a4): 30(ptr) Variable Input + 43(a5): 30(ptr) Variable Input + 45: TypePointer Output 7(fvec4) +46(@entryPointOutput): 45(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 14: 7(fvec4) Load 13(a5) - Store 12(a4) 14 - Store 11(a3) 14 - Store 10(a2) 14 - Store 9(a1) 14 - 17: 7(fvec4) Load 9(a1) - 18: 7(fvec4) Load 10(a2) - 19: 7(fvec4) FAdd 17 18 - 20: 7(fvec4) Load 11(a3) - 21: 7(fvec4) FAdd 19 20 - 22: 7(fvec4) Load 12(a4) - 23: 7(fvec4) FAdd 21 22 - 24: 7(fvec4) Load 13(a5) - 25: 7(fvec4) FAdd 23 24 - Store 16(@entryPointOutput) 25 + 29(a1): 8(ptr) Variable Function + 33(a2): 8(ptr) Variable Function + 36(a3): 8(ptr) Variable Function + 39(a4): 8(ptr) Variable Function + 42(a5): 8(ptr) Variable Function + 47(param): 8(ptr) Variable Function + 49(param): 8(ptr) Variable Function + 51(param): 8(ptr) Variable Function + 53(param): 8(ptr) Variable Function + 55(param): 8(ptr) Variable Function + 32: 7(fvec4) Load 31(a1) + Store 29(a1) 32 + 35: 7(fvec4) Load 34(a2) + Store 33(a2) 35 + 38: 7(fvec4) Load 37(a3) + Store 36(a3) 38 + 41: 7(fvec4) Load 40(a4) + Store 39(a4) 41 + 44: 7(fvec4) Load 43(a5) + Store 42(a5) 44 + 48: 7(fvec4) Load 29(a1) + Store 47(param) 48 + 50: 7(fvec4) Load 33(a2) + Store 49(param) 50 + 52: 7(fvec4) Load 36(a3) + Store 51(param) 52 + 54: 7(fvec4) Load 39(a4) + Store 53(param) 54 + 56: 7(fvec4) Load 42(a5) + Store 55(param) 56 + 57: 7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;) 47(param) 49(param) 51(param) 53(param) 55(param) + Store 46(@entryPointOutput) 57 Return FunctionEnd +15(@PixelShaderFunction(vf4;vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9 + 10(a1): 8(ptr) FunctionParameter + 11(a2): 8(ptr) FunctionParameter + 12(a3): 8(ptr) FunctionParameter + 13(a4): 8(ptr) FunctionParameter + 14(a5): 8(ptr) FunctionParameter + 16: Label + 17: 7(fvec4) Load 14(a5) + Store 13(a4) 17 + Store 12(a3) 17 + Store 11(a2) 17 + Store 10(a1) 17 + 18: 7(fvec4) Load 10(a1) + 19: 7(fvec4) Load 11(a2) + 20: 7(fvec4) FAdd 18 19 + 21: 7(fvec4) Load 12(a3) + 22: 7(fvec4) FAdd 20 21 + 23: 7(fvec4) Load 13(a4) + 24: 7(fvec4) FAdd 22 23 + 25: 7(fvec4) Load 14(a5) + 26: 7(fvec4) FAdd 24 25 + ReturnValue 26 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out index 2316cd9b9d8..bd4e96ba346 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.expression.comp.out @@ -2,38 +2,41 @@ hlsl.attribute.expression.comp Shader version: 450 local_size = (4, 6, 8) 0:? Sequence -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( ( temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'x' (temp int) +0:11 move second child to first child ( temp int) +0:11 'x' ( temp int) 0:11 Constant: 0:11 0 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 'x' (temp int) -0:11 bound: direct index for structure (layout(offset=0 ) uniform int) -0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:11 Compare Less Than ( temp bool) +0:11 'x' ( temp int) +0:11 bound: direct index for structure ( uniform int) +0:11 'anon@0' (layout( row_major std140) uniform block{ uniform int bound}) 0:11 Constant: 0:11 0 (const uint) 0:11 No loop body 0:11 Loop Terminal Expression -0:11 Pre-Increment (temp int) -0:11 'x' (temp int) -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:14 Branch: Return +0:11 Pre-Increment ( temp int) +0:11 'x' ( temp int) +0:14 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:9 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int bound}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked compute stage: @@ -42,97 +45,107 @@ Linked compute stage: Shader version: 450 local_size = (4, 6, 8) 0:? Sequence -0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Definition: @main( ( temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'x' (temp int) +0:11 move second child to first child ( temp int) +0:11 'x' ( temp int) 0:11 Constant: 0:11 0 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 'x' (temp int) -0:11 bound: direct index for structure (layout(offset=0 ) uniform int) -0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:11 Compare Less Than ( temp bool) +0:11 'x' ( temp int) +0:11 bound: direct index for structure ( uniform int) +0:11 'anon@0' (layout( row_major std140) uniform block{ uniform int bound}) 0:11 Constant: 0:11 0 (const uint) 0:11 No loop body 0:11 Loop Terminal Expression -0:11 Pre-Increment (temp int) -0:11 'x' (temp int) -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:14 Branch: Return +0:11 Pre-Increment ( temp int) +0:11 'x' ( temp int) +0:14 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:9 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int bound}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 34 +// Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 30 + EntryPoint GLCompute 4 "main" 37 ExecutionMode 4 LocalSize 4 6 8 Name 4 "main" - Name 8 "x" - Name 16 "$Global" - MemberName 16($Global) 0 "bound" - Name 18 "" - Name 30 "@entryPointOutput" - MemberDecorate 16($Global) 0 Offset 0 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 - Decorate 30(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 13 "x" + Name 21 "$Global" + MemberName 21($Global) 0 "bound" + Name 23 "" + Name 37 "@entryPointOutput" + MemberDecorate 21($Global) 0 Offset 0 + Decorate 21($Global) Block + Decorate 23 DescriptorSet 0 + Decorate 37(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 0 - 16($Global): TypeStruct 6(int) - 17: TypePointer Uniform 16($Global) - 18: 17(ptr) Variable Uniform - 19: TypePointer Uniform 6(int) - 22: TypeBool - 25: 6(int) Constant 1 - 27: TypeFloat 32 - 28: TypeVector 27(float) 4 - 29: TypePointer Output 28(fvec4) -30(@entryPointOutput): 29(ptr) Variable Output - 31: 27(float) Constant 0 - 32: 28(fvec4) ConstantComposite 31 31 31 31 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypeInt 32 1 + 12: TypePointer Function 11(int) + 14: 11(int) Constant 0 + 21($Global): TypeStruct 11(int) + 22: TypePointer Uniform 21($Global) + 23: 22(ptr) Variable Uniform + 24: TypePointer Uniform 11(int) + 27: TypeBool + 30: 11(int) Constant 1 + 32: 6(float) Constant 0 + 33: 7(fvec4) ConstantComposite 32 32 32 32 + 36: TypePointer Output 7(fvec4) +37(@entryPointOutput): 36(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(x): 7(ptr) Variable Function - Store 8(x) 9 - Branch 10 - 10: Label - LoopMerge 12 13 None - Branch 14 - 14: Label - 15: 6(int) Load 8(x) - 20: 19(ptr) AccessChain 18 9 - 21: 6(int) Load 20 - 23: 22(bool) SLessThan 15 21 - BranchConditional 23 11 12 - 11: Label - Branch 13 - 13: Label - 24: 6(int) Load 8(x) - 26: 6(int) IAdd 24 25 - Store 8(x) 26 - Branch 10 - 12: Label - Store 30(@entryPointOutput) 32 + 38: 7(fvec4) FunctionCall 9(@main() + Store 37(@entryPointOutput) 38 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 13(x): 12(ptr) Variable Function + Store 13(x) 14 + Branch 15 + 15: Label + LoopMerge 17 18 None + Branch 19 + 19: Label + 20: 11(int) Load 13(x) + 25: 24(ptr) AccessChain 23 14 + 26: 11(int) Load 25 + 28: 27(bool) SLessThan 20 26 + BranchConditional 28 16 17 + 16: Label + Branch 18 + 18: Label + 29: 11(int) Load 13(x) + 31: 11(int) IAdd 29 30 + Store 13(x) 31 + Branch 15 + 17: Label + ReturnValue 33 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out index a3ce657da0f..7a2641653f3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.attribute.frag.out @@ -2,17 +2,25 @@ hlsl.attribute.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:11 Test condition and select (temp void) +0:11 Test condition and select ( temp void) 0:11 Condition 0:11 Constant: 0:11 0 (const int) 0:11 true case is null +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -21,44 +29,70 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:11 Test condition and select (temp void) +0:11 Test condition and select ( temp void) 0:11 Condition 0:11 Constant: 0:11 0 (const int) 0:11 true case is null +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 14 +// Id's are bound by 24 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 13 + EntryPoint Fragment 4 "PixelShaderFunction" 19 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 13 "input" - Decorate 13(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 17 "input" + Name 19 "input" + Name 21 "param" + Decorate 19(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: 6(int) Constant 0 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12: TypePointer Input 11(fvec4) - 13(input): 12(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 2 8(ptr) + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 18: TypePointer Input 7(fvec4) + 19(input): 18(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - SelectionMerge 9 None - BranchConditional 7 8 9 - 8: Label - Branch 9 - 9: Label + 17(input): 8(ptr) Variable Function + 21(param): 8(ptr) Variable Function + 20: 7(fvec4) Load 19(input) + Store 17(input) 20 + 22: 7(fvec4) Load 17(input) + Store 21(param) 22 + 23: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 21(param) + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 2 Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + SelectionMerge 16 None + BranchConditional 14 15 16 + 15: Label + Branch 16 + 16: Label Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out index b6557efa50c..172dfeff3ce 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.comp.out @@ -2,18 +2,30 @@ hlsl.basic.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:4 Function Definition: main(i1;i1; (temp void) +0:4 Function Definition: @main(i1;i1; ( temp void) 0:4 Function Parameters: -0:4 'dti' (in int GlobalInvocationID) -0:4 'gti' (in int LocalInvocationID) +0:4 'dti' ( in int) +0:4 'gti' ( in int) 0:? Sequence -0:5 subtract (temp int) -0:5 'dti' (in int GlobalInvocationID) -0:5 'gti' (in int LocalInvocationID) +0:5 subtract ( temp int) +0:5 'dti' ( in int) +0:5 'gti' ( in int) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child ( temp int) +0:? 'dti' ( temp int) +0:? 'dti' ( in int GlobalInvocationID) +0:4 move second child to first child ( temp int) +0:? 'gti' ( temp int) +0:? 'gti' ( in int LocalInvocationID) +0:4 Function Call: @main(i1;i1; ( temp void) +0:? 'dti' ( temp int) +0:? 'gti' ( temp int) 0:? Linker Objects -0:? 'dti' (in int GlobalInvocationID) -0:? 'gti' (in int LocalInvocationID) -0:? 'a' (shared 100-element array of 4-component vector of float) +0:? 'a' ( shared 100-element array of 4-component vector of float) +0:? 'dti' ( in int GlobalInvocationID) +0:? 'gti' ( in int LocalInvocationID) Linked compute stage: @@ -22,51 +34,91 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:4 Function Definition: main(i1;i1; (temp void) +0:4 Function Definition: @main(i1;i1; ( temp void) +0:4 Function Parameters: +0:4 'dti' ( in int) +0:4 'gti' ( in int) +0:? Sequence +0:5 subtract ( temp int) +0:5 'dti' ( in int) +0:5 'gti' ( in int) +0:4 Function Definition: main( ( temp void) 0:4 Function Parameters: -0:4 'dti' (in int GlobalInvocationID) -0:4 'gti' (in int LocalInvocationID) 0:? Sequence -0:5 subtract (temp int) -0:5 'dti' (in int GlobalInvocationID) -0:5 'gti' (in int LocalInvocationID) +0:4 move second child to first child ( temp int) +0:? 'dti' ( temp int) +0:? 'dti' ( in int GlobalInvocationID) +0:4 move second child to first child ( temp int) +0:? 'gti' ( temp int) +0:? 'gti' ( in int LocalInvocationID) +0:4 Function Call: @main(i1;i1; ( temp void) +0:? 'dti' ( temp int) +0:? 'gti' ( temp int) 0:? Linker Objects -0:? 'dti' (in int GlobalInvocationID) -0:? 'gti' (in int LocalInvocationID) -0:? 'a' (shared 100-element array of 4-component vector of float) +0:? 'a' ( shared 100-element array of 4-component vector of float) +0:? 'dti' ( in int GlobalInvocationID) +0:? 'gti' ( in int LocalInvocationID) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 20 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 8 10 + EntryPoint GLCompute 4 "main" 18 21 ExecutionMode 4 LocalSize 1 1 1 Name 4 "main" - Name 8 "dti" + Name 11 "@main(i1;i1;" + Name 9 "dti" Name 10 "gti" - Name 19 "a" - Decorate 8(dti) BuiltIn GlobalInvocationId - Decorate 10(gti) BuiltIn LocalInvocationId + Name 16 "dti" + Name 18 "dti" + Name 20 "gti" + Name 21 "gti" + Name 23 "param" + Name 25 "param" + Name 34 "a" + Decorate 18(dti) BuiltIn GlobalInvocationId + Decorate 21(gti) BuiltIn LocalInvocationId 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 - 7: TypePointer Input 6(int) - 8(dti): 7(ptr) Variable Input - 10(gti): 7(ptr) Variable Input - 13: TypeFloat 32 - 14: TypeVector 13(float) 4 - 15: TypeInt 32 0 - 16: 15(int) Constant 100 - 17: TypeArray 14(fvec4) 16 - 18: TypePointer Workgroup 17 - 19(a): 18(ptr) Variable Workgroup + 7: TypePointer Function 6(int) + 8: TypeFunction 2 7(ptr) 7(ptr) + 17: TypePointer Input 6(int) + 18(dti): 17(ptr) Variable Input + 21(gti): 17(ptr) Variable Input + 28: TypeFloat 32 + 29: TypeVector 28(float) 4 + 30: TypeInt 32 0 + 31: 30(int) Constant 100 + 32: TypeArray 29(fvec4) 31 + 33: TypePointer Workgroup 32 + 34(a): 33(ptr) Variable Workgroup 4(main): 2 Function None 3 5: Label - 9: 6(int) Load 8(dti) - 11: 6(int) Load 10(gti) - 12: 6(int) ISub 9 11 + 16(dti): 7(ptr) Variable Function + 20(gti): 7(ptr) Variable Function + 23(param): 7(ptr) Variable Function + 25(param): 7(ptr) Variable Function + 19: 6(int) Load 18(dti) + Store 16(dti) 19 + 22: 6(int) Load 21(gti) + Store 20(gti) 22 + 24: 6(int) Load 16(dti) + Store 23(param) 24 + 26: 6(int) Load 20(gti) + Store 25(param) 26 + 27: 2 FunctionCall 11(@main(i1;i1;) 23(param) 25(param) + Return + FunctionEnd +11(@main(i1;i1;): 2 Function None 8 + 9(dti): 7(ptr) FunctionParameter + 10(gti): 7(ptr) FunctionParameter + 12: Label + 13: 6(int) Load 9(dti) + 14: 6(int) Load 10(gti) + 15: 6(int) ISub 13 14 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out index 67477fba58d..24250b3e1a3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.basic.geom.out @@ -5,57 +5,69 @@ max_vertices = 4 input primitive = triangles output primitive = line_strip 0:? Sequence -0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void) 0:16 Function Parameters: -0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:16 'test' (layout(location=3 ) in 3-element array of uint) -0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:16 'VertexID' ( in 3-element array of uint) +0:16 'test' ( in 3-element array of uint) +0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something}) 0:? Sequence -0:19 move second child to first child (temp float) -0:19 myfloat: direct index for structure (temp float) -0:19 'Vert' (temp structure{temp float myfloat, temp int something}) +0:19 move second child to first child ( temp float) +0:19 myfloat: direct index for structure ( temp float) +0:19 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:19 Constant: 0:19 0 (const int) -0:19 Convert uint to float (temp float) -0:19 add (temp uint) -0:19 add (temp uint) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Convert uint to float ( temp float) +0:19 add ( temp uint) +0:19 add ( temp uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 2 (const int) -0:20 move second child to first child (temp int) -0:20 something: direct index for structure (temp int) -0:20 'Vert' (temp structure{temp float myfloat, temp int something}) +0:20 move second child to first child ( temp int) +0:20 something: direct index for structure ( temp int) +0:20 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:20 Constant: 0:20 1 (const int) -0:20 Convert uint to int (temp int) -0:20 direct index (layout(location=0 ) temp uint) -0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 Convert uint to int ( temp int) +0:20 direct index ( temp uint) +0:20 'VertexID' ( in 3-element array of uint) 0:20 Constant: 0:20 0 (const int) 0:22 Sequence -0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) -0:22 'Vert' (temp structure{temp float myfloat, temp int something}) -0:22 EmitVertex (temp void) +0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something}) +0:22 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:22 'Vert' ( temp structure{ temp float myfloat, temp int something}) +0:22 EmitVertex ( temp void) 0:23 Sequence -0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) -0:23 'Vert' (temp structure{temp float myfloat, temp int something}) -0:23 EmitVertex (temp void) -0:24 EndPrimitive (temp void) +0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something}) +0:23 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:23 'Vert' ( temp structure{ temp float myfloat, temp int something}) +0:23 EmitVertex ( temp void) +0:24 EndPrimitive ( temp void) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 3-element array of uint) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:16 move second child to first child ( temp 3-element array of uint) +0:? 'test' ( temp 3-element array of uint) +0:? 'test' (layout( location=3) in 3-element array of uint) +0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'test' ( temp 3-element array of uint) +0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something}) 0:? Linker Objects -0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:? 'test' (layout(location=3 ) in 3-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:? 'test' (layout( location=3) in 3-element array of uint) Linked geometry stage: @@ -67,125 +79,167 @@ max_vertices = 4 input primitive = triangles output primitive = line_strip 0:? Sequence -0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void) 0:16 Function Parameters: -0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:16 'test' (layout(location=3 ) in 3-element array of uint) -0:16 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:16 'VertexID' ( in 3-element array of uint) +0:16 'test' ( in 3-element array of uint) +0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something}) 0:? Sequence -0:19 move second child to first child (temp float) -0:19 myfloat: direct index for structure (temp float) -0:19 'Vert' (temp structure{temp float myfloat, temp int something}) +0:19 move second child to first child ( temp float) +0:19 myfloat: direct index for structure ( temp float) +0:19 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:19 Constant: 0:19 0 (const int) -0:19 Convert uint to float (temp float) -0:19 add (temp uint) -0:19 add (temp uint) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Convert uint to float ( temp float) +0:19 add ( temp uint) +0:19 add ( temp uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (layout(location=3 ) temp uint) -0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 direct index ( temp uint) +0:19 'test' ( in 3-element array of uint) 0:19 Constant: 0:19 2 (const int) -0:20 move second child to first child (temp int) -0:20 something: direct index for structure (temp int) -0:20 'Vert' (temp structure{temp float myfloat, temp int something}) +0:20 move second child to first child ( temp int) +0:20 something: direct index for structure ( temp int) +0:20 'Vert' ( temp structure{ temp float myfloat, temp int something}) 0:20 Constant: 0:20 1 (const int) -0:20 Convert uint to int (temp int) -0:20 direct index (layout(location=0 ) temp uint) -0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 Convert uint to int ( temp int) +0:20 direct index ( temp uint) +0:20 'VertexID' ( in 3-element array of uint) 0:20 Constant: 0:20 0 (const int) 0:22 Sequence -0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:22 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) -0:22 'Vert' (temp structure{temp float myfloat, temp int something}) -0:22 EmitVertex (temp void) +0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something}) +0:22 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:22 'Vert' ( temp structure{ temp float myfloat, temp int something}) +0:22 EmitVertex ( temp void) 0:23 Sequence -0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) -0:23 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) -0:23 'Vert' (temp structure{temp float myfloat, temp int something}) -0:23 EmitVertex (temp void) -0:24 EndPrimitive (temp void) +0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something}) +0:23 'OutputStream' ( out structure{ temp float myfloat, temp int something}) +0:23 'Vert' ( temp structure{ temp float myfloat, temp int something}) +0:23 EmitVertex ( temp void) +0:24 EndPrimitive ( temp void) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 3-element array of uint) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:16 move second child to first child ( temp 3-element array of uint) +0:? 'test' ( temp 3-element array of uint) +0:? 'test' (layout( location=3) in 3-element array of uint) +0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'test' ( temp 3-element array of uint) +0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something}) 0:? Linker Objects -0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) -0:? 'test' (layout(location=3 ) in 3-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp float myfloat, temp int something}) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:? 'test' (layout( location=3) in 3-element array of uint) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 57 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 16 31 38 + EntryPoint Geometry 4 "main" 45 48 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputLineStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 8 "PSInput" - MemberName 8(PSInput) 0 "myfloat" - MemberName 8(PSInput) 1 "something" - Name 10 "Vert" + Name 12 "PSInput" + MemberName 12(PSInput) 0 "myfloat" + MemberName 12(PSInput) 1 "something" + Name 18 "@main(u1[3];u1[3];struct-PSInput-f1-i11;" + Name 15 "VertexID" Name 16 "test" - Name 31 "VertexID" - Name 38 "OutputStream" - Decorate 16(test) Location 3 - Decorate 31(VertexID) Location 0 - Decorate 38(OutputStream) Location 0 + Name 17 "OutputStream" + Name 20 "Vert" + Name 43 "VertexID" + Name 45 "VertexID" + Name 47 "test" + Name 48 "test" + Name 50 "OutputStream" + Name 51 "param" + Name 53 "param" + Name 55 "param" + Decorate 45(VertexID) Location 0 + Decorate 48(test) Location 3 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeInt 32 1 - 8(PSInput): TypeStruct 6(float) 7(int) - 9: TypePointer Function 8(PSInput) - 11: 7(int) Constant 0 - 12: TypeInt 32 0 - 13: 12(int) Constant 3 - 14: TypeArray 12(int) 13 - 15: TypePointer Input 14 - 16(test): 15(ptr) Variable Input - 17: TypePointer Input 12(int) - 20: 7(int) Constant 1 - 24: 7(int) Constant 2 - 29: TypePointer Function 6(float) - 31(VertexID): 15(ptr) Variable Input - 35: TypePointer Function 7(int) - 37: TypePointer Output 8(PSInput) -38(OutputStream): 37(ptr) Variable Output + 6: TypeInt 32 0 + 7: 6(int) Constant 3 + 8: TypeArray 6(int) 7 + 9: TypePointer Function 8 + 10: TypeFloat 32 + 11: TypeInt 32 1 + 12(PSInput): TypeStruct 10(float) 11(int) + 13: TypePointer Function 12(PSInput) + 14: TypeFunction 2 9(ptr) 9(ptr) 13(ptr) + 21: 11(int) Constant 0 + 22: TypePointer Function 6(int) + 25: 11(int) Constant 1 + 29: 11(int) Constant 2 + 34: TypePointer Function 10(float) + 39: TypePointer Function 11(int) + 44: TypePointer Input 8 + 45(VertexID): 44(ptr) Variable Input + 48(test): 44(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 10(Vert): 9(ptr) Variable Function - 18: 17(ptr) AccessChain 16(test) 11 - 19: 12(int) Load 18 - 21: 17(ptr) AccessChain 16(test) 20 - 22: 12(int) Load 21 - 23: 12(int) IAdd 19 22 - 25: 17(ptr) AccessChain 16(test) 24 - 26: 12(int) Load 25 - 27: 12(int) IAdd 23 26 - 28: 6(float) ConvertUToF 27 - 30: 29(ptr) AccessChain 10(Vert) 11 - Store 30 28 - 32: 17(ptr) AccessChain 31(VertexID) 11 - 33: 12(int) Load 32 - 34: 7(int) Bitcast 33 - 36: 35(ptr) AccessChain 10(Vert) 20 - Store 36 34 - 39: 8(PSInput) Load 10(Vert) - Store 38(OutputStream) 39 + 43(VertexID): 9(ptr) Variable Function + 47(test): 9(ptr) Variable Function +50(OutputStream): 13(ptr) Variable Function + 51(param): 9(ptr) Variable Function + 53(param): 9(ptr) Variable Function + 55(param): 13(ptr) Variable Function + 46: 8 Load 45(VertexID) + Store 43(VertexID) 46 + 49: 8 Load 48(test) + Store 47(test) 49 + 52: 8 Load 43(VertexID) + Store 51(param) 52 + 54: 8 Load 47(test) + Store 53(param) 54 + 56: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 51(param) 53(param) 55(param) + Return + FunctionEnd +18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14 + 15(VertexID): 9(ptr) FunctionParameter + 16(test): 9(ptr) FunctionParameter +17(OutputStream): 13(ptr) FunctionParameter + 19: Label + 20(Vert): 13(ptr) Variable Function + 23: 22(ptr) AccessChain 16(test) 21 + 24: 6(int) Load 23 + 26: 22(ptr) AccessChain 16(test) 25 + 27: 6(int) Load 26 + 28: 6(int) IAdd 24 27 + 30: 22(ptr) AccessChain 16(test) 29 + 31: 6(int) Load 30 + 32: 6(int) IAdd 28 31 + 33: 10(float) ConvertUToF 32 + 35: 34(ptr) AccessChain 20(Vert) 21 + Store 35 33 + 36: 22(ptr) AccessChain 15(VertexID) 21 + 37: 6(int) Load 36 + 38: 11(int) Bitcast 37 + 40: 39(ptr) AccessChain 20(Vert) 25 + Store 40 38 + 41: 12(PSInput) Load 20(Vert) + Store 17(OutputStream) 41 EmitVertex - 40: 8(PSInput) Load 10(Vert) - Store 38(OutputStream) 40 + 42: 12(PSInput) Load 20(Vert) + Store 17(OutputStream) 42 EmitVertex EndPrimitive Return diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out index dbb2b5e1c46..c406f24d363 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.buffer.frag.out @@ -2,42 +2,49 @@ hlsl.buffer.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:30 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:30 Function Parameters: -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' ( in 4-component vector of float) 0:? Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) -0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:31 Constant: -0:31 0 (const uint) -0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) -0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) +0:31 Branch: Return with expression +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 'input' ( in 4-component vector of float) +0:31 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) +0:31 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 0:31 Constant: 0:31 0 (const uint) -0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) +0:31 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) +0:31 'anon@1' (layout( row_major std430) buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 0:31 Constant: 0:31 0 (const uint) -0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 v3: direct index for structure (layout( row_major std140) uniform 4-component vector of float) +0:31 'anon@2' (layout( set=10 binding=2 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 0:31 Constant: 0:31 0 (const uint) -0:31 Branch: Return +0:31 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:31 'anon@3' (layout( binding=8 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430) buffer float f7, layout( row_major std430) buffer 3X4 matrix of float m1, layout( column_major std430) buffer 3X4 matrix of float m2, layout( row_major std430) buffer 3X4 matrix of float m3, layout( row_major std430) buffer 3X4 matrix of float m4}) +0:31 Constant: +0:31 0 (const uint) +0:30 Function Definition: PixelShaderFunction( ( temp void) +0:30 Function Parameters: +0:? Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:30 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:30 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) -0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) -0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) +0:? 'anon@1' (layout( row_major std430) buffer block{layout( row_major std430) buffer 4-component vector of float v2}) +0:? 'anon@2' (layout( set=10 binding=2 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) +0:? 'anon@3' (layout( binding=8 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430) buffer float f7, layout( row_major std430) buffer 3X4 matrix of float m1, layout( column_major std430) buffer 3X4 matrix of float m2, layout( row_major std430) buffer 3X4 matrix of float m3, layout( row_major std430) buffer 3X4 matrix of float m4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -46,154 +53,179 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:30 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:30 Function Parameters: -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 'input' ( in 4-component vector of float) 0:? Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 add (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) -0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:31 Constant: -0:31 0 (const uint) -0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float) -0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) +0:31 Branch: Return with expression +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 add ( temp 4-component vector of float) +0:31 'input' ( in 4-component vector of float) +0:31 v1: direct index for structure (layout( row_major std140) uniform 4-component vector of float) +0:31 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) 0:31 Constant: 0:31 0 (const uint) -0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float) -0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) +0:31 v2: direct index for structure (layout( row_major std430) buffer 4-component vector of float) +0:31 'anon@1' (layout( row_major std430) buffer block{layout( row_major std430) buffer 4-component vector of float v2}) 0:31 Constant: 0:31 0 (const uint) -0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:31 v3: direct index for structure (layout( row_major std140) uniform 4-component vector of float) +0:31 'anon@2' (layout( set=10 binding=2 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) 0:31 Constant: 0:31 0 (const uint) -0:31 Branch: Return +0:31 v4: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:31 'anon@3' (layout( binding=8 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430) buffer float f7, layout( row_major std430) buffer 3X4 matrix of float m1, layout( column_major std430) buffer 3X4 matrix of float m2, layout( row_major std430) buffer 3X4 matrix of float m3, layout( row_major std430) buffer 3X4 matrix of float m4}) +0:31 Constant: +0:31 0 (const uint) +0:30 Function Definition: PixelShaderFunction( ( temp void) +0:30 Function Parameters: +0:? Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:30 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:30 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) -0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) -0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) -0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v1}) +0:? 'anon@1' (layout( row_major std430) buffer block{layout( row_major std430) buffer 4-component vector of float v2}) +0:? 'anon@2' (layout( set=10 binding=2 row_major std140) uniform block{layout( row_major std140) uniform 4-component vector of float v3, layout( row_major std140 offset=20) uniform int i3}) +0:? 'anon@3' (layout( binding=8 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v4, layout( row_major std430 offset=48) buffer int i4, layout( row_major std430 offset=60) buffer float f1, layout( row_major std430 offset=64) buffer float f3, layout( row_major std430 offset=68) buffer float f4, layout( row_major std430 offset=72) buffer float f5, layout( row_major std430) buffer float f6, layout( row_major std430) buffer float f7, layout( row_major std430) buffer 3X4 matrix of float m1, layout( column_major std430) buffer 3X4 matrix of float m2, layout( row_major std430) buffer 3X4 matrix of float m3, layout( row_major std430) buffer 3X4 matrix of float m4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 42 +// Id's are bound by 53 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 46 49 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Name 13 "" - MemberName 13 0 "v1" - Name 15 "" - Name 22 "" - MemberName 22 0 "v2" - Name 24 "" - Name 28 "cbufName" - MemberName 28(cbufName) 0 "v3" - MemberName 28(cbufName) 1 "i3" - Name 30 "" - Name 35 "tbufName" - MemberName 35(tbufName) 0 "v4" - MemberName 35(tbufName) 1 "i4" - MemberName 35(tbufName) 2 "f1" - MemberName 35(tbufName) 3 "f3" - MemberName 35(tbufName) 4 "f4" - MemberName 35(tbufName) 5 "f5" - MemberName 35(tbufName) 6 "f6" - MemberName 35(tbufName) 7 "f7" - MemberName 35(tbufName) 8 "m1" - MemberName 35(tbufName) 9 "m2" - MemberName 35(tbufName) 10 "m3" - MemberName 35(tbufName) 11 "m4" - Name 37 "" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 - MemberDecorate 13 0 Offset 0 - Decorate 13 Block - Decorate 15 DescriptorSet 0 - MemberDecorate 22 0 Offset 0 - Decorate 22 BufferBlock - Decorate 24 DescriptorSet 0 - MemberDecorate 28(cbufName) 0 Offset 0 - MemberDecorate 28(cbufName) 1 Offset 20 - Decorate 28(cbufName) Block - Decorate 30 DescriptorSet 10 - Decorate 30 Binding 2 - MemberDecorate 35(tbufName) 0 Offset 16 - MemberDecorate 35(tbufName) 1 Offset 48 - MemberDecorate 35(tbufName) 2 Offset 60 - MemberDecorate 35(tbufName) 3 Offset 64 - MemberDecorate 35(tbufName) 4 Offset 68 - MemberDecorate 35(tbufName) 5 Offset 72 - MemberDecorate 35(tbufName) 6 Offset 76 - MemberDecorate 35(tbufName) 7 Offset 80 - MemberDecorate 35(tbufName) 8 RowMajor - MemberDecorate 35(tbufName) 8 Offset 96 - MemberDecorate 35(tbufName) 8 MatrixStride 16 - MemberDecorate 35(tbufName) 9 ColMajor - MemberDecorate 35(tbufName) 9 Offset 160 - MemberDecorate 35(tbufName) 9 MatrixStride 16 - MemberDecorate 35(tbufName) 10 RowMajor - MemberDecorate 35(tbufName) 10 Offset 208 - MemberDecorate 35(tbufName) 10 MatrixStride 16 - MemberDecorate 35(tbufName) 11 RowMajor - MemberDecorate 35(tbufName) 11 Offset 272 - MemberDecorate 35(tbufName) 11 MatrixStride 16 - Decorate 35(tbufName) BufferBlock - Decorate 37 DescriptorSet 0 - Decorate 37 Binding 8 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 14 "" + MemberName 14 0 "v1" + Name 16 "" + Name 23 "" + MemberName 23 0 "v2" + Name 25 "" + Name 29 "cbufName" + MemberName 29(cbufName) 0 "v3" + MemberName 29(cbufName) 1 "i3" + Name 31 "" + Name 36 "tbufName" + MemberName 36(tbufName) 0 "v4" + MemberName 36(tbufName) 1 "i4" + MemberName 36(tbufName) 2 "f1" + MemberName 36(tbufName) 3 "f3" + MemberName 36(tbufName) 4 "f4" + MemberName 36(tbufName) 5 "f5" + MemberName 36(tbufName) 6 "f6" + MemberName 36(tbufName) 7 "f7" + MemberName 36(tbufName) 8 "m1" + MemberName 36(tbufName) 9 "m2" + MemberName 36(tbufName) 10 "m3" + MemberName 36(tbufName) 11 "m4" + Name 38 "" + Name 44 "input" + Name 46 "input" + Name 49 "@entryPointOutput" + Name 50 "param" + MemberDecorate 14 0 Offset 0 + Decorate 14 Block + Decorate 16 DescriptorSet 0 + MemberDecorate 23 0 Offset 0 + Decorate 23 BufferBlock + Decorate 25 DescriptorSet 0 + MemberDecorate 29(cbufName) 0 Offset 0 + MemberDecorate 29(cbufName) 1 Offset 20 + Decorate 29(cbufName) Block + Decorate 31 DescriptorSet 10 + Decorate 31 Binding 2 + MemberDecorate 36(tbufName) 0 Offset 16 + MemberDecorate 36(tbufName) 1 Offset 48 + MemberDecorate 36(tbufName) 2 Offset 60 + MemberDecorate 36(tbufName) 3 Offset 64 + MemberDecorate 36(tbufName) 4 Offset 68 + MemberDecorate 36(tbufName) 5 Offset 72 + MemberDecorate 36(tbufName) 6 Offset 76 + MemberDecorate 36(tbufName) 7 Offset 80 + MemberDecorate 36(tbufName) 8 RowMajor + MemberDecorate 36(tbufName) 8 Offset 96 + MemberDecorate 36(tbufName) 8 MatrixStride 16 + MemberDecorate 36(tbufName) 9 ColMajor + MemberDecorate 36(tbufName) 9 Offset 160 + MemberDecorate 36(tbufName) 9 MatrixStride 16 + MemberDecorate 36(tbufName) 10 RowMajor + MemberDecorate 36(tbufName) 10 Offset 208 + MemberDecorate 36(tbufName) 10 MatrixStride 16 + MemberDecorate 36(tbufName) 11 RowMajor + MemberDecorate 36(tbufName) 11 Offset 272 + MemberDecorate 36(tbufName) 11 MatrixStride 16 + Decorate 36(tbufName) BufferBlock + Decorate 38 DescriptorSet 0 + Decorate 38 Binding 8 + Decorate 46(input) Location 0 + Decorate 49(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input - 13: TypeStruct 7(fvec4) - 14: TypePointer Uniform 13(struct) - 15: 14(ptr) Variable Uniform - 16: TypeInt 32 1 - 17: 16(int) Constant 0 - 18: TypePointer Uniform 7(fvec4) - 22: TypeStruct 7(fvec4) - 23: TypePointer Uniform 22(struct) - 24: 23(ptr) Variable Uniform - 28(cbufName): TypeStruct 7(fvec4) 16(int) - 29: TypePointer Uniform 28(cbufName) - 30: 29(ptr) Variable Uniform - 34: TypeMatrix 7(fvec4) 3 - 35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34 - 36: TypePointer Uniform 35(tbufName) - 37: 36(ptr) Variable Uniform + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 14: TypeStruct 7(fvec4) + 15: TypePointer Uniform 14(struct) + 16: 15(ptr) Variable Uniform + 17: TypeInt 32 1 + 18: 17(int) Constant 0 + 19: TypePointer Uniform 7(fvec4) + 23: TypeStruct 7(fvec4) + 24: TypePointer Uniform 23(struct) + 25: 24(ptr) Variable Uniform + 29(cbufName): TypeStruct 7(fvec4) 17(int) + 30: TypePointer Uniform 29(cbufName) + 31: 30(ptr) Variable Uniform + 35: TypeMatrix 7(fvec4) 3 + 36(tbufName): TypeStruct 7(fvec4) 17(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 35 35 35 35 + 37: TypePointer Uniform 36(tbufName) + 38: 37(ptr) Variable Uniform + 45: TypePointer Input 7(fvec4) + 46(input): 45(ptr) Variable Input + 48: TypePointer Output 7(fvec4) +49(@entryPointOutput): 48(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 19: 18(ptr) AccessChain 15 17 - 20: 7(fvec4) Load 19 - 21: 7(fvec4) FAdd 12 20 - 25: 18(ptr) AccessChain 24 17 - 26: 7(fvec4) Load 25 - 27: 7(fvec4) FAdd 21 26 - 31: 18(ptr) AccessChain 30 17 - 32: 7(fvec4) Load 31 - 33: 7(fvec4) FAdd 27 32 - 38: 18(ptr) AccessChain 37 17 - 39: 7(fvec4) Load 38 - 40: 7(fvec4) FAdd 33 39 - Store 9(@entryPointOutput) 40 + 44(input): 8(ptr) Variable Function + 50(param): 8(ptr) Variable Function + 47: 7(fvec4) Load 46(input) + Store 44(input) 47 + 51: 7(fvec4) Load 44(input) + Store 50(param) 51 + 52: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 50(param) + Store 49(@entryPointOutput) 52 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 20: 19(ptr) AccessChain 16 18 + 21: 7(fvec4) Load 20 + 22: 7(fvec4) FAdd 13 21 + 26: 19(ptr) AccessChain 25 18 + 27: 7(fvec4) Load 26 + 28: 7(fvec4) FAdd 22 27 + 32: 19(ptr) AccessChain 31 18 + 33: 7(fvec4) Load 32 + 34: 7(fvec4) FAdd 28 33 + 39: 19(ptr) AccessChain 38 18 + 40: 7(fvec4) Load 39 + 41: 7(fvec4) FAdd 34 40 + ReturnValue 41 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out index 56a2ce869e4..f018984f3d6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -2,92 +2,92 @@ hlsl.calculatelod.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'txval10' (temp float) -0:28 direct index (temp float) -0:? textureQueryLod (temp float) -0:28 Construct combined texture-sampler (temp sampler1DArray) -0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp float) +0:28 'txval10' ( temp float) +0:28 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:28 Construct combined texture-sampler ( temp sampler1DArray) +0:28 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:28 Constant: 0:28 0.100000 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'txval11' (temp float) -0:29 direct index (temp float) -0:? textureQueryLod (temp float) -0:29 Construct combined texture-sampler (temp isampler1DArray) -0:29 'g_tTex1di4a' (uniform itexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp float) +0:29 'txval11' ( temp float) +0:29 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:29 Construct combined texture-sampler ( temp isampler1DArray) +0:29 'g_tTex1di4a' ( uniform itexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:29 Constant: 0:29 0.200000 0:29 Constant: 0:29 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'txval12' (temp float) -0:30 direct index (temp float) -0:? textureQueryLod (temp float) -0:30 Construct combined texture-sampler (temp usampler1DArray) -0:30 'g_tTex1du4a' (uniform utexture1DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp float) +0:30 'txval12' ( temp float) +0:30 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:30 Construct combined texture-sampler ( temp usampler1DArray) +0:30 'g_tTex1du4a' ( uniform utexture1DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.300000 0:30 Constant: 0:30 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'txval20' (temp float) -0:32 direct index (temp float) -0:? textureQueryLod (temp float) -0:32 Construct combined texture-sampler (temp sampler2DArray) -0:32 'g_tTex2df4a' (uniform texture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp float) +0:32 'txval20' ( temp float) +0:32 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:32 Construct combined texture-sampler ( temp sampler2DArray) +0:32 'g_tTex2df4a' ( uniform texture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'txval21' (temp float) -0:33 direct index (temp float) -0:? textureQueryLod (temp float) -0:33 Construct combined texture-sampler (temp isampler2DArray) -0:33 'g_tTex2di4a' (uniform itexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp float) +0:33 'txval21' ( temp float) +0:33 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:33 Construct combined texture-sampler ( temp isampler2DArray) +0:33 'g_tTex2di4a' ( uniform itexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'txval22' (temp float) -0:34 direct index (temp float) -0:? textureQueryLod (temp float) -0:34 Construct combined texture-sampler (temp usampler2DArray) -0:34 'g_tTex2du4a' (uniform utexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp float) +0:34 'txval22' ( temp float) +0:34 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:34 Construct combined texture-sampler ( temp usampler2DArray) +0:34 'g_tTex2du4a' ( uniform utexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:34 Constant: 0:34 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp float) -0:36 'txval40' (temp float) -0:36 direct index (temp float) -0:? textureQueryLod (temp float) -0:36 Construct combined texture-sampler (temp samplerCubeArray) -0:36 'g_tTexcdf4a' (uniform textureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp float) +0:36 'txval40' ( temp float) +0:36 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:36 Construct combined texture-sampler ( temp samplerCubeArray) +0:36 'g_tTexcdf4a' ( uniform textureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,13 +95,13 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'txval41' (temp float) -0:37 direct index (temp float) -0:? textureQueryLod (temp float) -0:37 Construct combined texture-sampler (temp isamplerCubeArray) -0:37 'g_tTexcdi4a' (uniform itextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp float) +0:37 'txval41' ( temp float) +0:37 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:37 Construct combined texture-sampler ( temp isamplerCubeArray) +0:37 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -109,22 +109,22 @@ gl_FragCoord origin is upper left 0:37 Constant: 0:37 0 (const int) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'txval42' (temp float) -0:38 direct index (temp float) -0:? textureQueryLod (temp float) -0:38 Construct combined texture-sampler (temp usamplerCubeArray) -0:38 'g_tTexcdu4a' (uniform utextureCubeArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp float) +0:38 'txval42' ( temp float) +0:38 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:38 Construct combined texture-sampler ( temp usamplerCubeArray) +0:38 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:38 Constant: 0:38 0 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -132,42 +132,48 @@ gl_FragCoord origin is upper left 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -176,92 +182,92 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'txval10' (temp float) -0:28 direct index (temp float) -0:? textureQueryLod (temp float) -0:28 Construct combined texture-sampler (temp sampler1DArray) -0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp float) +0:28 'txval10' ( temp float) +0:28 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:28 Construct combined texture-sampler ( temp sampler1DArray) +0:28 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:28 Constant: 0:28 0.100000 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'txval11' (temp float) -0:29 direct index (temp float) -0:? textureQueryLod (temp float) -0:29 Construct combined texture-sampler (temp isampler1DArray) -0:29 'g_tTex1di4a' (uniform itexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp float) +0:29 'txval11' ( temp float) +0:29 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:29 Construct combined texture-sampler ( temp isampler1DArray) +0:29 'g_tTex1di4a' ( uniform itexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:29 Constant: 0:29 0.200000 0:29 Constant: 0:29 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'txval12' (temp float) -0:30 direct index (temp float) -0:? textureQueryLod (temp float) -0:30 Construct combined texture-sampler (temp usampler1DArray) -0:30 'g_tTex1du4a' (uniform utexture1DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp float) +0:30 'txval12' ( temp float) +0:30 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:30 Construct combined texture-sampler ( temp usampler1DArray) +0:30 'g_tTex1du4a' ( uniform utexture1DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.300000 0:30 Constant: 0:30 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'txval20' (temp float) -0:32 direct index (temp float) -0:? textureQueryLod (temp float) -0:32 Construct combined texture-sampler (temp sampler2DArray) -0:32 'g_tTex2df4a' (uniform texture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp float) +0:32 'txval20' ( temp float) +0:32 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:32 Construct combined texture-sampler ( temp sampler2DArray) +0:32 'g_tTex2df4a' ( uniform texture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'txval21' (temp float) -0:33 direct index (temp float) -0:? textureQueryLod (temp float) -0:33 Construct combined texture-sampler (temp isampler2DArray) -0:33 'g_tTex2di4a' (uniform itexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp float) +0:33 'txval21' ( temp float) +0:33 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:33 Construct combined texture-sampler ( temp isampler2DArray) +0:33 'g_tTex2di4a' ( uniform itexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'txval22' (temp float) -0:34 direct index (temp float) -0:? textureQueryLod (temp float) -0:34 Construct combined texture-sampler (temp usampler2DArray) -0:34 'g_tTex2du4a' (uniform utexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp float) +0:34 'txval22' ( temp float) +0:34 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:34 Construct combined texture-sampler ( temp usampler2DArray) +0:34 'g_tTex2du4a' ( uniform utexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:34 Constant: 0:34 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp float) -0:36 'txval40' (temp float) -0:36 direct index (temp float) -0:? textureQueryLod (temp float) -0:36 Construct combined texture-sampler (temp samplerCubeArray) -0:36 'g_tTexcdf4a' (uniform textureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp float) +0:36 'txval40' ( temp float) +0:36 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:36 Construct combined texture-sampler ( temp samplerCubeArray) +0:36 'g_tTexcdf4a' ( uniform textureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -269,13 +275,13 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'txval41' (temp float) -0:37 direct index (temp float) -0:? textureQueryLod (temp float) -0:37 Construct combined texture-sampler (temp isamplerCubeArray) -0:37 'g_tTexcdi4a' (uniform itextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp float) +0:37 'txval41' ( temp float) +0:37 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:37 Construct combined texture-sampler ( temp isamplerCubeArray) +0:37 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -283,22 +289,22 @@ gl_FragCoord origin is upper left 0:37 Constant: 0:37 0 (const int) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'txval42' (temp float) -0:38 direct index (temp float) -0:? textureQueryLod (temp float) -0:38 Construct combined texture-sampler (temp usamplerCubeArray) -0:38 'g_tTexcdu4a' (uniform utextureCubeArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp float) +0:38 'txval42' ( temp float) +0:38 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:38 Construct combined texture-sampler ( temp usamplerCubeArray) +0:38 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:38 Constant: 0:38 0 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -306,46 +312,52 @@ gl_FragCoord origin is upper left 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 141 +// Id's are bound by 148 Capability Shader Capability Sampled1D @@ -353,201 +365,212 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 132 136 + EntryPoint Fragment 4 "main" 140 144 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "txval10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 25 "txval11" - Name 28 "g_tTex1di4a" - Name 36 "txval12" - Name 40 "g_tTex1du4a" - Name 48 "txval20" - Name 51 "g_tTex2df4a" - Name 59 "txval21" - Name 62 "g_tTex2di4a" - Name 71 "txval22" - Name 74 "g_tTex2du4a" - Name 84 "txval40" - Name 87 "g_tTexcdf4a" - Name 96 "txval41" - Name 99 "g_tTexcdi4a" - Name 107 "txval42" - Name 110 "g_tTexcdu4a" - Name 122 "PS_OUTPUT" - MemberName 122(PS_OUTPUT) 0 "Color" - MemberName 122(PS_OUTPUT) 1 "Depth" - Name 124 "psout" - Name 132 "Color" - Name 136 "Depth" - Name 140 "g_tTex1df4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 11(g_tTex1df4a) Binding 1 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 28(g_tTex1di4a) DescriptorSet 0 - Decorate 40(g_tTex1du4a) DescriptorSet 0 - Decorate 51(g_tTex2df4a) DescriptorSet 0 - Decorate 62(g_tTex2di4a) DescriptorSet 0 - Decorate 74(g_tTex2du4a) DescriptorSet 0 - Decorate 87(g_tTexcdf4a) DescriptorSet 0 - Decorate 99(g_tTexcdi4a) DescriptorSet 0 - Decorate 110(g_tTexcdu4a) DescriptorSet 0 - Decorate 132(Color) Location 0 - Decorate 136(Depth) BuiltIn FragDepth - Decorate 140(g_tTex1df4) DescriptorSet 0 - Decorate 140(g_tTex1df4) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4a" + Name 41 "txval12" + Name 45 "g_tTex1du4a" + Name 53 "txval20" + Name 56 "g_tTex2df4a" + Name 64 "txval21" + Name 67 "g_tTex2di4a" + Name 76 "txval22" + Name 79 "g_tTex2du4a" + Name 89 "txval40" + Name 92 "g_tTexcdf4a" + Name 101 "txval41" + Name 104 "g_tTexcdi4a" + Name 112 "txval42" + Name 115 "g_tTexcdu4a" + Name 127 "psout" + Name 137 "flattenTemp" + Name 140 "Color" + Name 144 "Depth" + Name 147 "g_tTex1df4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 16(g_tTex1df4a) Binding 1 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 140(Color) Location 0 + Decorate 144(Depth) BuiltIn FragDepth + Decorate 147(g_tTex1df4) DescriptorSet 0 + Decorate 147(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeSampledImage 9 - 19: 6(float) Constant 1036831949 - 20: TypeVector 6(float) 2 - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 26: TypeImage 22(int) 1D array sampled format:Unknown - 27: TypePointer UniformConstant 26 - 28(g_tTex1di4a): 27(ptr) Variable UniformConstant - 31: TypeSampledImage 26 - 33: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeImage 37(int) 1D array sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4a): 39(ptr) Variable UniformConstant - 43: TypeSampledImage 38 - 45: 6(float) Constant 1050253722 - 49: TypeImage 6(float) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2df4a): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 20(fvec2) ConstantComposite 19 33 - 60: TypeImage 22(int) 2D array sampled format:Unknown - 61: TypePointer UniformConstant 60 - 62(g_tTex2di4a): 61(ptr) Variable UniformConstant - 65: TypeSampledImage 60 - 67: 6(float) Constant 1053609165 - 68: 20(fvec2) ConstantComposite 45 67 - 72: TypeImage 37(int) 2D array sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4a): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 20(fvec2) ConstantComposite 79 80 - 85: TypeImage 6(float) Cube array sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTexcdf4a): 86(ptr) Variable UniformConstant - 90: TypeSampledImage 85 - 92: TypeVector 6(float) 3 - 93: 92(fvec3) ConstantComposite 19 33 45 - 97: TypeImage 22(int) Cube array sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTexcdi4a): 98(ptr) Variable UniformConstant - 102: TypeSampledImage 97 - 104: 92(fvec3) ConstantComposite 67 79 80 - 108: TypeImage 37(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 -110(g_tTexcdu4a): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1060320051 - 116: 6(float) Constant 1061997773 - 117: 6(float) Constant 1063675494 - 118: 92(fvec3) ConstantComposite 115 116 117 - 121: TypeVector 6(float) 4 - 122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float) - 123: TypePointer Function 122(PS_OUTPUT) - 125: 6(float) Constant 1065353216 - 126: 121(fvec4) ConstantComposite 125 125 125 125 - 127: TypePointer Function 121(fvec4) - 129: 22(int) Constant 1 - 131: TypePointer Output 121(fvec4) - 132(Color): 131(ptr) Variable Output - 135: TypePointer Output 6(float) - 136(Depth): 135(ptr) Variable Output - 140(g_tTex1df4): 10(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: TypeVector 6(float) 2 + 27: TypeInt 32 1 + 28: 27(int) Constant 0 + 31: TypeImage 27(int) 1D array sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4a): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 42: TypeInt 32 0 + 43: TypeImage 42(int) 1D array sampled format:Unknown + 44: TypePointer UniformConstant 43 + 45(g_tTex1du4a): 44(ptr) Variable UniformConstant + 48: TypeSampledImage 43 + 50: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4a): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: 25(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D array sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4a): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 25(fvec2) ConstantComposite 50 72 + 77: TypeImage 42(int) 2D array sampled format:Unknown + 78: TypePointer UniformConstant 77 + 79(g_tTex2du4a): 78(ptr) Variable UniformConstant + 82: TypeSampledImage 77 + 84: 6(float) Constant 1056964608 + 85: 6(float) Constant 1058642330 + 86: 25(fvec2) ConstantComposite 84 85 + 90: TypeImage 6(float) Cube array sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTexcdf4a): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 38 50 + 102: TypeImage 27(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTexcdi4a): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 97(fvec3) ConstantComposite 72 84 85 + 113: TypeImage 42(int) Cube array sampled format:Unknown + 114: TypePointer UniformConstant 113 +115(g_tTexcdu4a): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypePointer Function 8(PS_OUTPUT) + 128: 6(float) Constant 1065353216 + 129: 7(fvec4) ConstantComposite 128 128 128 128 + 130: TypePointer Function 7(fvec4) + 132: 27(int) Constant 1 + 139: TypePointer Output 7(fvec4) + 140(Color): 139(ptr) Variable Output + 143: TypePointer Output 6(float) + 144(Depth): 143(ptr) Variable Output + 147(g_tTex1df4): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(txval10): 7(ptr) Variable Function - 25(txval11): 7(ptr) Variable Function - 36(txval12): 7(ptr) Variable Function - 48(txval20): 7(ptr) Variable Function - 59(txval21): 7(ptr) Variable Function - 71(txval22): 7(ptr) Variable Function - 84(txval40): 7(ptr) Variable Function - 96(txval41): 7(ptr) Variable Function - 107(txval42): 7(ptr) Variable Function - 124(psout): 123(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 18: 17 SampledImage 12 16 - 21: 20(fvec2) ImageQueryLod 18 19 - 24: 6(float) CompositeExtract 21 0 - Store 8(txval10) 24 - 29: 26 Load 28(g_tTex1di4a) - 30: 13 Load 15(g_sSamp) - 32: 31 SampledImage 29 30 - 34: 20(fvec2) ImageQueryLod 32 33 - 35: 6(float) CompositeExtract 34 0 - Store 25(txval11) 35 - 41: 38 Load 40(g_tTex1du4a) - 42: 13 Load 15(g_sSamp) - 44: 43 SampledImage 41 42 - 46: 20(fvec2) ImageQueryLod 44 45 - 47: 6(float) CompositeExtract 46 0 - Store 36(txval12) 47 - 52: 49 Load 51(g_tTex2df4a) - 53: 13 Load 15(g_sSamp) - 55: 54 SampledImage 52 53 - 57: 20(fvec2) ImageQueryLod 55 56 - 58: 6(float) CompositeExtract 57 0 - Store 48(txval20) 58 - 63: 60 Load 62(g_tTex2di4a) - 64: 13 Load 15(g_sSamp) - 66: 65 SampledImage 63 64 - 69: 20(fvec2) ImageQueryLod 66 68 - 70: 6(float) CompositeExtract 69 0 - Store 59(txval21) 70 - 75: 72 Load 74(g_tTex2du4a) - 76: 13 Load 15(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 20(fvec2) ImageQueryLod 78 81 - 83: 6(float) CompositeExtract 82 0 - Store 71(txval22) 83 - 88: 85 Load 87(g_tTexcdf4a) - 89: 13 Load 15(g_sSamp) - 91: 90 SampledImage 88 89 - 94: 20(fvec2) ImageQueryLod 91 93 - 95: 6(float) CompositeExtract 94 0 - Store 84(txval40) 95 - 100: 97 Load 99(g_tTexcdi4a) - 101: 13 Load 15(g_sSamp) - 103: 102 SampledImage 100 101 - 105: 20(fvec2) ImageQueryLod 103 104 - 106: 6(float) CompositeExtract 105 0 - Store 96(txval41) 106 - 111: 108 Load 110(g_tTexcdu4a) - 112: 13 Load 15(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 20(fvec2) ImageQueryLod 114 118 - 120: 6(float) CompositeExtract 119 0 - Store 107(txval42) 120 - 128: 127(ptr) AccessChain 124(psout) 23 - Store 128 126 - 130: 7(ptr) AccessChain 124(psout) 129 - Store 130 125 - 133: 127(ptr) AccessChain 124(psout) 23 - 134: 121(fvec4) Load 133 - Store 132(Color) 134 - 137: 7(ptr) AccessChain 124(psout) 129 - 138: 6(float) Load 137 - Store 136(Depth) 138 +137(flattenTemp): 126(ptr) Variable Function + 138:8(PS_OUTPUT) FunctionCall 10(@main() + Store 137(flattenTemp) 138 + 141: 130(ptr) AccessChain 137(flattenTemp) 28 + 142: 7(fvec4) Load 141 + Store 140(Color) 142 + 145: 12(ptr) AccessChain 137(flattenTemp) 132 + 146: 6(float) Load 145 + Store 144(Depth) 146 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 12(ptr) Variable Function + 41(txval12): 12(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 12(ptr) Variable Function + 76(txval22): 12(ptr) Variable Function + 89(txval40): 12(ptr) Variable Function + 101(txval41): 12(ptr) Variable Function + 112(txval42): 12(ptr) Variable Function + 127(psout): 126(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 25(fvec2) ImageQueryLod 23 24 + 29: 6(float) CompositeExtract 26 0 + Store 13(txval10) 29 + 34: 31 Load 33(g_tTex1di4a) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 25(fvec2) ImageQueryLod 37 38 + 40: 6(float) CompositeExtract 39 0 + Store 30(txval11) 40 + 46: 43 Load 45(g_tTex1du4a) + 47: 18 Load 20(g_sSamp) + 49: 48 SampledImage 46 47 + 51: 25(fvec2) ImageQueryLod 49 50 + 52: 6(float) CompositeExtract 51 0 + Store 41(txval12) 52 + 57: 54 Load 56(g_tTex2df4a) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 62: 25(fvec2) ImageQueryLod 60 61 + 63: 6(float) CompositeExtract 62 0 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4a) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 25(fvec2) ImageQueryLod 71 73 + 75: 6(float) CompositeExtract 74 0 + Store 64(txval21) 75 + 80: 77 Load 79(g_tTex2du4a) + 81: 18 Load 20(g_sSamp) + 83: 82 SampledImage 80 81 + 87: 25(fvec2) ImageQueryLod 83 86 + 88: 6(float) CompositeExtract 87 0 + Store 76(txval22) 88 + 93: 90 Load 92(g_tTexcdf4a) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 99: 25(fvec2) ImageQueryLod 96 98 + 100: 6(float) CompositeExtract 99 0 + Store 89(txval40) 100 + 105: 102 Load 104(g_tTexcdi4a) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 25(fvec2) ImageQueryLod 108 109 + 111: 6(float) CompositeExtract 110 0 + Store 101(txval41) 111 + 116: 113 Load 115(g_tTexcdu4a) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 25(fvec2) ImageQueryLod 119 123 + 125: 6(float) CompositeExtract 124 0 + Store 112(txval42) 125 + 131: 130(ptr) AccessChain 127(psout) 28 + Store 131 129 + 133: 12(ptr) AccessChain 127(psout) 132 + Store 133 128 + 134:8(PS_OUTPUT) Load 127(psout) + ReturnValue 134 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 799dcc37fbd..4e2e8860064 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -14,92 +14,92 @@ ERROR: 9 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'txval10' (temp float) -0:28 direct index (temp float) -0:? textureQueryLod (temp float) -0:28 Construct combined texture-sampler (temp sampler1DArray) -0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp float) +0:28 'txval10' ( temp float) +0:28 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:28 Construct combined texture-sampler ( temp sampler1DArray) +0:28 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:28 Constant: 0:28 0.100000 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'txval11' (temp float) -0:29 direct index (temp float) -0:? textureQueryLod (temp float) -0:29 Construct combined texture-sampler (temp isampler1DArray) -0:29 'g_tTex1di4a' (uniform itexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp float) +0:29 'txval11' ( temp float) +0:29 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:29 Construct combined texture-sampler ( temp isampler1DArray) +0:29 'g_tTex1di4a' ( uniform itexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:29 Constant: 0:29 0.200000 0:29 Constant: 0:29 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'txval12' (temp float) -0:30 direct index (temp float) -0:? textureQueryLod (temp float) -0:30 Construct combined texture-sampler (temp usampler1DArray) -0:30 'g_tTex1du4a' (uniform utexture1DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp float) +0:30 'txval12' ( temp float) +0:30 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:30 Construct combined texture-sampler ( temp usampler1DArray) +0:30 'g_tTex1du4a' ( uniform utexture1DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.300000 0:30 Constant: 0:30 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'txval20' (temp float) -0:32 direct index (temp float) -0:? textureQueryLod (temp float) -0:32 Construct combined texture-sampler (temp sampler2DArray) -0:32 'g_tTex2df4a' (uniform texture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp float) +0:32 'txval20' ( temp float) +0:32 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:32 Construct combined texture-sampler ( temp sampler2DArray) +0:32 'g_tTex2df4a' ( uniform texture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'txval21' (temp float) -0:33 direct index (temp float) -0:? textureQueryLod (temp float) -0:33 Construct combined texture-sampler (temp isampler2DArray) -0:33 'g_tTex2di4a' (uniform itexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp float) +0:33 'txval21' ( temp float) +0:33 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:33 Construct combined texture-sampler ( temp isampler2DArray) +0:33 'g_tTex2di4a' ( uniform itexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'txval22' (temp float) -0:34 direct index (temp float) -0:? textureQueryLod (temp float) -0:34 Construct combined texture-sampler (temp usampler2DArray) -0:34 'g_tTex2du4a' (uniform utexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp float) +0:34 'txval22' ( temp float) +0:34 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:34 Construct combined texture-sampler ( temp usampler2DArray) +0:34 'g_tTex2du4a' ( uniform utexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:34 Constant: 0:34 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp float) -0:36 'txval40' (temp float) -0:36 direct index (temp float) -0:? textureQueryLod (temp float) -0:36 Construct combined texture-sampler (temp samplerCubeArray) -0:36 'g_tTexcdf4a' (uniform textureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp float) +0:36 'txval40' ( temp float) +0:36 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:36 Construct combined texture-sampler ( temp samplerCubeArray) +0:36 'g_tTexcdf4a' ( uniform textureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -107,13 +107,13 @@ ERROR: node is still EOpNull! 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'txval41' (temp float) -0:37 direct index (temp float) -0:? textureQueryLod (temp float) -0:37 Construct combined texture-sampler (temp isamplerCubeArray) -0:37 'g_tTexcdi4a' (uniform itextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp float) +0:37 'txval41' ( temp float) +0:37 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:37 Construct combined texture-sampler ( temp isamplerCubeArray) +0:37 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -121,22 +121,22 @@ ERROR: node is still EOpNull! 0:37 Constant: 0:37 0 (const int) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'txval42' (temp float) -0:38 direct index (temp float) -0:? textureQueryLod (temp float) -0:38 Construct combined texture-sampler (temp usamplerCubeArray) -0:38 'g_tTexcdu4a' (uniform utextureCubeArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp float) +0:38 'txval42' ( temp float) +0:38 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:38 Construct combined texture-sampler ( temp usamplerCubeArray) +0:38 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:38 Constant: 0:38 0 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -144,42 +144,48 @@ ERROR: node is still EOpNull! 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -188,92 +194,92 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'txval10' (temp float) -0:28 direct index (temp float) -0:? textureQueryLod (temp float) -0:28 Construct combined texture-sampler (temp sampler1DArray) -0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp float) +0:28 'txval10' ( temp float) +0:28 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:28 Construct combined texture-sampler ( temp sampler1DArray) +0:28 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:28 Constant: 0:28 0.100000 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'txval11' (temp float) -0:29 direct index (temp float) -0:? textureQueryLod (temp float) -0:29 Construct combined texture-sampler (temp isampler1DArray) -0:29 'g_tTex1di4a' (uniform itexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp float) +0:29 'txval11' ( temp float) +0:29 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:29 Construct combined texture-sampler ( temp isampler1DArray) +0:29 'g_tTex1di4a' ( uniform itexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:29 Constant: 0:29 0.200000 0:29 Constant: 0:29 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'txval12' (temp float) -0:30 direct index (temp float) -0:? textureQueryLod (temp float) -0:30 Construct combined texture-sampler (temp usampler1DArray) -0:30 'g_tTex1du4a' (uniform utexture1DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp float) +0:30 'txval12' ( temp float) +0:30 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:30 Construct combined texture-sampler ( temp usampler1DArray) +0:30 'g_tTex1du4a' ( uniform utexture1DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.300000 0:30 Constant: 0:30 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'txval20' (temp float) -0:32 direct index (temp float) -0:? textureQueryLod (temp float) -0:32 Construct combined texture-sampler (temp sampler2DArray) -0:32 'g_tTex2df4a' (uniform texture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp float) +0:32 'txval20' ( temp float) +0:32 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:32 Construct combined texture-sampler ( temp sampler2DArray) +0:32 'g_tTex2df4a' ( uniform texture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:32 Constant: 0:32 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'txval21' (temp float) -0:33 direct index (temp float) -0:? textureQueryLod (temp float) -0:33 Construct combined texture-sampler (temp isampler2DArray) -0:33 'g_tTex2di4a' (uniform itexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp float) +0:33 'txval21' ( temp float) +0:33 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:33 Construct combined texture-sampler ( temp isampler2DArray) +0:33 'g_tTex2di4a' ( uniform itexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'txval22' (temp float) -0:34 direct index (temp float) -0:? textureQueryLod (temp float) -0:34 Construct combined texture-sampler (temp usampler2DArray) -0:34 'g_tTex2du4a' (uniform utexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp float) +0:34 'txval22' ( temp float) +0:34 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:34 Construct combined texture-sampler ( temp usampler2DArray) +0:34 'g_tTex2du4a' ( uniform utexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:34 Constant: 0:34 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp float) -0:36 'txval40' (temp float) -0:36 direct index (temp float) -0:? textureQueryLod (temp float) -0:36 Construct combined texture-sampler (temp samplerCubeArray) -0:36 'g_tTexcdf4a' (uniform textureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp float) +0:36 'txval40' ( temp float) +0:36 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:36 Construct combined texture-sampler ( temp samplerCubeArray) +0:36 'g_tTexcdf4a' ( uniform textureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -281,13 +287,13 @@ ERROR: node is still EOpNull! 0:36 Constant: 0:36 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'txval41' (temp float) -0:37 direct index (temp float) -0:? textureQueryLod (temp float) -0:37 Construct combined texture-sampler (temp isamplerCubeArray) -0:37 'g_tTexcdi4a' (uniform itextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp float) +0:37 'txval41' ( temp float) +0:37 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:37 Construct combined texture-sampler ( temp isamplerCubeArray) +0:37 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -295,22 +301,22 @@ ERROR: node is still EOpNull! 0:37 Constant: 0:37 0 (const int) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'txval42' (temp float) -0:38 direct index (temp float) -0:? textureQueryLod (temp float) -0:38 Construct combined texture-sampler (temp usamplerCubeArray) -0:38 'g_tTexcdu4a' (uniform utextureCubeArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp float) +0:38 'txval42' ( temp float) +0:38 direct index ( temp float) +0:? textureQueryLod ( temp float) +0:38 Construct combined texture-sampler ( temp usamplerCubeArray) +0:38 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:38 Constant: 0:38 0 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -318,41 +324,47 @@ ERROR: node is still EOpNull! 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out index bf7183f277f..d17251dd61d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.cast.frag.out @@ -2,29 +2,36 @@ hlsl.cast.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 add ( temp 4-component vector of float) +0:3 add ( temp 4-component vector of float) +0:3 Construct vec4 ( temp 4-component vector of float) +0:3 'input' ( in 4-component vector of float) +0:3 Convert int to float ( temp 4-component vector of float) +0:3 Convert float to int ( temp 4-component vector of int) +0:3 'input' ( in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -33,69 +40,94 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 add (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Convert int to float (temp 4-component vector of float) -0:3 Convert float to int (temp 4-component vector of int) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Constant: -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 1.198000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 add ( temp 4-component vector of float) +0:3 add ( temp 4-component vector of float) +0:3 Construct vec4 ( temp 4-component vector of float) +0:3 'input' ( in 4-component vector of float) +0:3 Convert int to float ( temp 4-component vector of float) +0:3 Convert float to int ( temp 4-component vector of int) +0:3 'input' ( in 4-component vector of float) +0:3 Constant: +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:3 1.198000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 39 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 32 35 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 30 "input" + Name 32 "input" + Name 35 "@entryPointOutput" + Name 36 "param" + Decorate 32(input) Location 0 + Decorate 35(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input - 19: TypeInt 32 1 - 20: TypeVector 19(int) 4 - 24: 6(float) Constant 1067014160 - 25: 7(fvec4) ConstantComposite 24 24 24 24 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 20: TypeInt 32 1 + 21: TypeVector 20(int) 4 + 25: 6(float) Constant 1067014160 + 26: 7(fvec4) ConstantComposite 25 25 25 25 + 31: TypePointer Input 7(fvec4) + 32(input): 31(ptr) Variable Input + 34: TypePointer Output 7(fvec4) +35(@entryPointOutput): 34(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 13: 6(float) CompositeExtract 12 0 - 14: 6(float) CompositeExtract 12 1 - 15: 6(float) CompositeExtract 12 2 - 16: 6(float) CompositeExtract 12 3 - 17: 7(fvec4) CompositeConstruct 13 14 15 16 - 18: 7(fvec4) Load 11(input) - 21: 20(ivec4) ConvertFToS 18 - 22: 7(fvec4) ConvertSToF 21 - 23: 7(fvec4) FAdd 17 22 - 26: 7(fvec4) FAdd 23 25 - Store 9(@entryPointOutput) 26 + 30(input): 8(ptr) Variable Function + 36(param): 8(ptr) Variable Function + 33: 7(fvec4) Load 32(input) + Store 30(input) 33 + 37: 7(fvec4) Load 30(input) + Store 36(param) 37 + 38: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 36(param) + Store 35(@entryPointOutput) 38 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 14: 6(float) CompositeExtract 13 0 + 15: 6(float) CompositeExtract 13 1 + 16: 6(float) CompositeExtract 13 2 + 17: 6(float) CompositeExtract 13 3 + 18: 7(fvec4) CompositeConstruct 14 15 16 17 + 19: 7(fvec4) Load 10(input) + 22: 21(ivec4) ConvertFToS 19 + 23: 7(fvec4) ConvertSToF 22 + 24: 7(fvec4) FAdd 18 23 + 27: 7(fvec4) FAdd 24 26 + ReturnValue 27 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out index 1bf63ec8a70..dacdb7717c0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.comparison.vec.frag.out @@ -2,109 +2,109 @@ hlsl.comparison.vec.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: Bug1(vf4; (temp void) +0:4 Function Definition: Bug1(vf4; ( temp void) 0:4 Function Parameters: -0:4 'a' (in 4-component vector of float) +0:4 'a' ( in 4-component vector of float) 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v04' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v04' ( temp 4-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:6 Sequence -0:6 move second child to first child (temp float) -0:6 'v01' (temp float) +0:6 move second child to first child ( temp float) +0:6 'v01' ( temp float) 0:6 Constant: 0:6 0.000000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of bool) -0:8 'r00' (temp 4-component vector of bool) -0:8 Equal (temp 4-component vector of bool) -0:8 'a' (in 4-component vector of float) -0:8 'v04' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of bool) +0:8 'r00' ( temp 4-component vector of bool) +0:8 Equal ( temp 4-component vector of bool) +0:8 'a' ( in 4-component vector of float) +0:8 'v04' ( temp 4-component vector of float) 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of bool) -0:9 'r01' (temp 4-component vector of bool) -0:9 NotEqual (temp 4-component vector of bool) -0:9 'a' (in 4-component vector of float) -0:9 'v04' (temp 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of bool) +0:9 'r01' ( temp 4-component vector of bool) +0:9 NotEqual ( temp 4-component vector of bool) +0:9 'a' ( in 4-component vector of float) +0:9 'v04' ( temp 4-component vector of float) 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of bool) -0:10 'r02' (temp 4-component vector of bool) -0:10 Compare Less Than (temp 4-component vector of bool) -0:10 'a' (in 4-component vector of float) -0:10 'v04' (temp 4-component vector of float) +0:10 move second child to first child ( temp 4-component vector of bool) +0:10 'r02' ( temp 4-component vector of bool) +0:10 Compare Less Than ( temp 4-component vector of bool) +0:10 'a' ( in 4-component vector of float) +0:10 'v04' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of bool) -0:11 'r03' (temp 4-component vector of bool) -0:11 Compare Greater Than (temp 4-component vector of bool) -0:11 'a' (in 4-component vector of float) -0:11 'v04' (temp 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of bool) +0:11 'r03' ( temp 4-component vector of bool) +0:11 Compare Greater Than ( temp 4-component vector of bool) +0:11 'a' ( in 4-component vector of float) +0:11 'v04' ( temp 4-component vector of float) 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of bool) -0:13 'r10' (temp 4-component vector of bool) -0:13 Equal (temp 4-component vector of bool) -0:13 'a' (in 4-component vector of float) -0:13 Construct vec4 (in 4-component vector of float) -0:13 'v01' (temp float) +0:13 move second child to first child ( temp 4-component vector of bool) +0:13 'r10' ( temp 4-component vector of bool) +0:13 Equal ( temp 4-component vector of bool) +0:13 'a' ( in 4-component vector of float) +0:13 Construct vec4 ( in 4-component vector of float) +0:13 'v01' ( temp float) 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of bool) -0:14 'r11' (temp 4-component vector of bool) -0:14 NotEqual (temp 4-component vector of bool) -0:14 'a' (in 4-component vector of float) -0:14 Construct vec4 (in 4-component vector of float) -0:14 'v01' (temp float) +0:14 move second child to first child ( temp 4-component vector of bool) +0:14 'r11' ( temp 4-component vector of bool) +0:14 NotEqual ( temp 4-component vector of bool) +0:14 'a' ( in 4-component vector of float) +0:14 Construct vec4 ( in 4-component vector of float) +0:14 'v01' ( temp float) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of bool) -0:15 'r12' (temp 4-component vector of bool) -0:15 Compare Less Than (temp 4-component vector of bool) -0:15 'a' (in 4-component vector of float) -0:15 Construct vec4 (in 4-component vector of float) -0:15 'v01' (temp float) +0:15 move second child to first child ( temp 4-component vector of bool) +0:15 'r12' ( temp 4-component vector of bool) +0:15 Compare Less Than ( temp 4-component vector of bool) +0:15 'a' ( in 4-component vector of float) +0:15 Construct vec4 ( in 4-component vector of float) +0:15 'v01' ( temp float) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of bool) -0:16 'r13' (temp 4-component vector of bool) -0:16 Compare Greater Than (temp 4-component vector of bool) -0:16 'a' (in 4-component vector of float) -0:16 Construct vec4 (in 4-component vector of float) -0:16 'v01' (temp float) +0:16 move second child to first child ( temp 4-component vector of bool) +0:16 'r13' ( temp 4-component vector of bool) +0:16 Compare Greater Than ( temp 4-component vector of bool) +0:16 'a' ( in 4-component vector of float) +0:16 Construct vec4 ( in 4-component vector of float) +0:16 'v01' ( temp float) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of bool) -0:18 'r20' (temp 4-component vector of bool) -0:18 Equal (temp 4-component vector of bool) -0:18 Construct vec4 (in 4-component vector of float) -0:18 'v01' (temp float) -0:18 'a' (in 4-component vector of float) +0:18 move second child to first child ( temp 4-component vector of bool) +0:18 'r20' ( temp 4-component vector of bool) +0:18 Equal ( temp 4-component vector of bool) +0:18 Construct vec4 ( in 4-component vector of float) +0:18 'v01' ( temp float) +0:18 'a' ( in 4-component vector of float) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of bool) -0:19 'r21' (temp 4-component vector of bool) -0:19 NotEqual (temp 4-component vector of bool) -0:19 Construct vec4 (in 4-component vector of float) -0:19 'v01' (temp float) -0:19 'a' (in 4-component vector of float) +0:19 move second child to first child ( temp 4-component vector of bool) +0:19 'r21' ( temp 4-component vector of bool) +0:19 NotEqual ( temp 4-component vector of bool) +0:19 Construct vec4 ( in 4-component vector of float) +0:19 'v01' ( temp float) +0:19 'a' ( in 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of bool) -0:20 'r22' (temp 4-component vector of bool) -0:20 Compare Less Than (temp 4-component vector of bool) -0:20 Construct vec4 (in 4-component vector of float) -0:20 'v01' (temp float) -0:20 'a' (in 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of bool) +0:20 'r22' ( temp 4-component vector of bool) +0:20 Compare Less Than ( temp 4-component vector of bool) +0:20 Construct vec4 ( in 4-component vector of float) +0:20 'v01' ( temp float) +0:20 'a' ( in 4-component vector of float) 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of bool) -0:21 'r23' (temp 4-component vector of bool) -0:21 Compare Greater Than (temp 4-component vector of bool) -0:21 Construct vec4 (in 4-component vector of float) -0:21 'v01' (temp float) -0:21 'a' (in 4-component vector of float) -0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:21 move second child to first child ( temp 4-component vector of bool) +0:21 'r23' ( temp 4-component vector of bool) +0:21 Compare Greater Than ( temp 4-component vector of bool) +0:21 Construct vec4 ( in 4-component vector of float) +0:21 'v01' ( temp float) +0:21 'a' ( in 4-component vector of float) +0:30 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:30 Function Parameters: 0:? Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 Color: direct index for structure (temp 4-component vector of float) -0:32 'psout' (temp structure{temp 4-component vector of float Color}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 Color: direct index for structure ( temp 4-component vector of float) +0:32 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: @@ -112,18 +112,21 @@ gl_FragCoord origin is upper left 0:32 0.000000 0:32 0.000000 0:32 0.000000 -0:33 Sequence -0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color}) -0:33 Constant: -0:33 0 (const int) -0:33 Branch: Return +0:33 Branch: Return with expression +0:33 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:30 Function Definition: main( ( temp void) +0:30 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:30 Color: direct index for structure ( temp 4-component vector of float) +0:30 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:30 Constant: +0:30 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -132,109 +135,109 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: Bug1(vf4; (temp void) +0:4 Function Definition: Bug1(vf4; ( temp void) 0:4 Function Parameters: -0:4 'a' (in 4-component vector of float) +0:4 'a' ( in 4-component vector of float) 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v04' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v04' ( temp 4-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:6 Sequence -0:6 move second child to first child (temp float) -0:6 'v01' (temp float) +0:6 move second child to first child ( temp float) +0:6 'v01' ( temp float) 0:6 Constant: 0:6 0.000000 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of bool) -0:8 'r00' (temp 4-component vector of bool) -0:8 Equal (temp 4-component vector of bool) -0:8 'a' (in 4-component vector of float) -0:8 'v04' (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of bool) +0:8 'r00' ( temp 4-component vector of bool) +0:8 Equal ( temp 4-component vector of bool) +0:8 'a' ( in 4-component vector of float) +0:8 'v04' ( temp 4-component vector of float) 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of bool) -0:9 'r01' (temp 4-component vector of bool) -0:9 NotEqual (temp 4-component vector of bool) -0:9 'a' (in 4-component vector of float) -0:9 'v04' (temp 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of bool) +0:9 'r01' ( temp 4-component vector of bool) +0:9 NotEqual ( temp 4-component vector of bool) +0:9 'a' ( in 4-component vector of float) +0:9 'v04' ( temp 4-component vector of float) 0:10 Sequence -0:10 move second child to first child (temp 4-component vector of bool) -0:10 'r02' (temp 4-component vector of bool) -0:10 Compare Less Than (temp 4-component vector of bool) -0:10 'a' (in 4-component vector of float) -0:10 'v04' (temp 4-component vector of float) +0:10 move second child to first child ( temp 4-component vector of bool) +0:10 'r02' ( temp 4-component vector of bool) +0:10 Compare Less Than ( temp 4-component vector of bool) +0:10 'a' ( in 4-component vector of float) +0:10 'v04' ( temp 4-component vector of float) 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of bool) -0:11 'r03' (temp 4-component vector of bool) -0:11 Compare Greater Than (temp 4-component vector of bool) -0:11 'a' (in 4-component vector of float) -0:11 'v04' (temp 4-component vector of float) +0:11 move second child to first child ( temp 4-component vector of bool) +0:11 'r03' ( temp 4-component vector of bool) +0:11 Compare Greater Than ( temp 4-component vector of bool) +0:11 'a' ( in 4-component vector of float) +0:11 'v04' ( temp 4-component vector of float) 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of bool) -0:13 'r10' (temp 4-component vector of bool) -0:13 Equal (temp 4-component vector of bool) -0:13 'a' (in 4-component vector of float) -0:13 Construct vec4 (in 4-component vector of float) -0:13 'v01' (temp float) +0:13 move second child to first child ( temp 4-component vector of bool) +0:13 'r10' ( temp 4-component vector of bool) +0:13 Equal ( temp 4-component vector of bool) +0:13 'a' ( in 4-component vector of float) +0:13 Construct vec4 ( in 4-component vector of float) +0:13 'v01' ( temp float) 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of bool) -0:14 'r11' (temp 4-component vector of bool) -0:14 NotEqual (temp 4-component vector of bool) -0:14 'a' (in 4-component vector of float) -0:14 Construct vec4 (in 4-component vector of float) -0:14 'v01' (temp float) +0:14 move second child to first child ( temp 4-component vector of bool) +0:14 'r11' ( temp 4-component vector of bool) +0:14 NotEqual ( temp 4-component vector of bool) +0:14 'a' ( in 4-component vector of float) +0:14 Construct vec4 ( in 4-component vector of float) +0:14 'v01' ( temp float) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of bool) -0:15 'r12' (temp 4-component vector of bool) -0:15 Compare Less Than (temp 4-component vector of bool) -0:15 'a' (in 4-component vector of float) -0:15 Construct vec4 (in 4-component vector of float) -0:15 'v01' (temp float) +0:15 move second child to first child ( temp 4-component vector of bool) +0:15 'r12' ( temp 4-component vector of bool) +0:15 Compare Less Than ( temp 4-component vector of bool) +0:15 'a' ( in 4-component vector of float) +0:15 Construct vec4 ( in 4-component vector of float) +0:15 'v01' ( temp float) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of bool) -0:16 'r13' (temp 4-component vector of bool) -0:16 Compare Greater Than (temp 4-component vector of bool) -0:16 'a' (in 4-component vector of float) -0:16 Construct vec4 (in 4-component vector of float) -0:16 'v01' (temp float) +0:16 move second child to first child ( temp 4-component vector of bool) +0:16 'r13' ( temp 4-component vector of bool) +0:16 Compare Greater Than ( temp 4-component vector of bool) +0:16 'a' ( in 4-component vector of float) +0:16 Construct vec4 ( in 4-component vector of float) +0:16 'v01' ( temp float) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of bool) -0:18 'r20' (temp 4-component vector of bool) -0:18 Equal (temp 4-component vector of bool) -0:18 Construct vec4 (in 4-component vector of float) -0:18 'v01' (temp float) -0:18 'a' (in 4-component vector of float) +0:18 move second child to first child ( temp 4-component vector of bool) +0:18 'r20' ( temp 4-component vector of bool) +0:18 Equal ( temp 4-component vector of bool) +0:18 Construct vec4 ( in 4-component vector of float) +0:18 'v01' ( temp float) +0:18 'a' ( in 4-component vector of float) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of bool) -0:19 'r21' (temp 4-component vector of bool) -0:19 NotEqual (temp 4-component vector of bool) -0:19 Construct vec4 (in 4-component vector of float) -0:19 'v01' (temp float) -0:19 'a' (in 4-component vector of float) +0:19 move second child to first child ( temp 4-component vector of bool) +0:19 'r21' ( temp 4-component vector of bool) +0:19 NotEqual ( temp 4-component vector of bool) +0:19 Construct vec4 ( in 4-component vector of float) +0:19 'v01' ( temp float) +0:19 'a' ( in 4-component vector of float) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of bool) -0:20 'r22' (temp 4-component vector of bool) -0:20 Compare Less Than (temp 4-component vector of bool) -0:20 Construct vec4 (in 4-component vector of float) -0:20 'v01' (temp float) -0:20 'a' (in 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of bool) +0:20 'r22' ( temp 4-component vector of bool) +0:20 Compare Less Than ( temp 4-component vector of bool) +0:20 Construct vec4 ( in 4-component vector of float) +0:20 'v01' ( temp float) +0:20 'a' ( in 4-component vector of float) 0:21 Sequence -0:21 move second child to first child (temp 4-component vector of bool) -0:21 'r23' (temp 4-component vector of bool) -0:21 Compare Greater Than (temp 4-component vector of bool) -0:21 Construct vec4 (in 4-component vector of float) -0:21 'v01' (temp float) -0:21 'a' (in 4-component vector of float) -0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:21 move second child to first child ( temp 4-component vector of bool) +0:21 'r23' ( temp 4-component vector of bool) +0:21 Compare Greater Than ( temp 4-component vector of bool) +0:21 Construct vec4 ( in 4-component vector of float) +0:21 'v01' ( temp float) +0:21 'a' ( in 4-component vector of float) +0:30 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:30 Function Parameters: 0:? Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 Color: direct index for structure (temp 4-component vector of float) -0:32 'psout' (temp structure{temp 4-component vector of float Color}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 Color: direct index for structure ( temp 4-component vector of float) +0:32 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: @@ -242,161 +245,171 @@ gl_FragCoord origin is upper left 0:32 0.000000 0:32 0.000000 0:32 0.000000 -0:33 Sequence -0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color}) -0:33 Constant: -0:33 0 (const int) -0:33 Branch: Return +0:33 Branch: Return with expression +0:33 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:30 Function Definition: main( ( temp void) +0:30 Function Parameters: +0:? Sequence +0:30 Sequence +0:30 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:30 Color: direct index for structure ( temp 4-component vector of float) +0:30 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:30 Constant: +0:30 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 91 +// Id's are bound by 96 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 84 + EntryPoint Fragment 4 "main" 90 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Bug1(vf4;" Name 10 "a" - Name 13 "v04" - Name 17 "v01" - Name 21 "r00" - Name 25 "r01" - Name 29 "r02" - Name 33 "r03" - Name 37 "r10" - Name 42 "r11" - Name 47 "r12" - Name 52 "r13" - Name 57 "r20" - Name 62 "r21" - Name 67 "r22" - Name 72 "r23" - Name 77 "PS_OUTPUT" - MemberName 77(PS_OUTPUT) 0 "Color" - Name 79 "psout" - Name 84 "Color" - Name 88 "$Global" - MemberName 88($Global) 0 "uf4" - Name 90 "" - Decorate 84(Color) Location 0 - MemberDecorate 88($Global) 0 Offset 0 - Decorate 88($Global) Block - Decorate 90 DescriptorSet 0 + Name 13 "PS_OUTPUT" + MemberName 13(PS_OUTPUT) 0 "Color" + Name 15 "@main(" + Name 17 "v04" + Name 21 "v01" + Name 25 "r00" + Name 29 "r01" + Name 33 "r02" + Name 37 "r03" + Name 41 "r10" + Name 46 "r11" + Name 51 "r12" + Name 56 "r13" + Name 61 "r20" + Name 66 "r21" + Name 71 "r22" + Name 76 "r23" + Name 82 "psout" + Name 90 "Color" + Name 93 "$Global" + MemberName 93($Global) 0 "uf4" + Name 95 "" + Decorate 90(Color) Location 0 + MemberDecorate 93($Global) 0 Offset 0 + Decorate 93($Global) Block + Decorate 95 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) 9: TypeFunction 2 8(ptr) - 14: 6(float) Constant 0 - 15: 7(fvec4) ConstantComposite 14 14 14 14 - 16: TypePointer Function 6(float) - 18: TypeBool - 19: TypeVector 18(bool) 4 - 20: TypePointer Function 19(bvec4) - 77(PS_OUTPUT): TypeStruct 7(fvec4) - 78: TypePointer Function 77(PS_OUTPUT) - 80: TypeInt 32 1 - 81: 80(int) Constant 0 - 83: TypePointer Output 7(fvec4) - 84(Color): 83(ptr) Variable Output - 88($Global): TypeStruct 7(fvec4) - 89: TypePointer Uniform 88($Global) - 90: 89(ptr) Variable Uniform + 13(PS_OUTPUT): TypeStruct 7(fvec4) + 14: TypeFunction 13(PS_OUTPUT) + 18: 6(float) Constant 0 + 19: 7(fvec4) ConstantComposite 18 18 18 18 + 20: TypePointer Function 6(float) + 22: TypeBool + 23: TypeVector 22(bool) 4 + 24: TypePointer Function 23(bvec4) + 81: TypePointer Function 13(PS_OUTPUT) + 83: TypeInt 32 1 + 84: 83(int) Constant 0 + 89: TypePointer Output 7(fvec4) + 90(Color): 89(ptr) Variable Output + 93($Global): TypeStruct 7(fvec4) + 94: TypePointer Uniform 93($Global) + 95: 94(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 79(psout): 78(ptr) Variable Function - 82: 8(ptr) AccessChain 79(psout) 81 - Store 82 15 - 85: 8(ptr) AccessChain 79(psout) 81 - 86: 7(fvec4) Load 85 - Store 84(Color) 86 + 91:13(PS_OUTPUT) FunctionCall 15(@main() + 92: 7(fvec4) CompositeExtract 91 0 + Store 90(Color) 92 Return FunctionEnd 11(Bug1(vf4;): 2 Function None 9 10(a): 8(ptr) FunctionParameter 12: Label - 13(v04): 8(ptr) Variable Function - 17(v01): 16(ptr) Variable Function - 21(r00): 20(ptr) Variable Function - 25(r01): 20(ptr) Variable Function - 29(r02): 20(ptr) Variable Function - 33(r03): 20(ptr) Variable Function - 37(r10): 20(ptr) Variable Function - 42(r11): 20(ptr) Variable Function - 47(r12): 20(ptr) Variable Function - 52(r13): 20(ptr) Variable Function - 57(r20): 20(ptr) Variable Function - 62(r21): 20(ptr) Variable Function - 67(r22): 20(ptr) Variable Function - 72(r23): 20(ptr) Variable Function - Store 13(v04) 15 - Store 17(v01) 14 - 22: 7(fvec4) Load 10(a) - 23: 7(fvec4) Load 13(v04) - 24: 19(bvec4) FOrdEqual 22 23 - Store 21(r00) 24 + 17(v04): 8(ptr) Variable Function + 21(v01): 20(ptr) Variable Function + 25(r00): 24(ptr) Variable Function + 29(r01): 24(ptr) Variable Function + 33(r02): 24(ptr) Variable Function + 37(r03): 24(ptr) Variable Function + 41(r10): 24(ptr) Variable Function + 46(r11): 24(ptr) Variable Function + 51(r12): 24(ptr) Variable Function + 56(r13): 24(ptr) Variable Function + 61(r20): 24(ptr) Variable Function + 66(r21): 24(ptr) Variable Function + 71(r22): 24(ptr) Variable Function + 76(r23): 24(ptr) Variable Function + Store 17(v04) 19 + Store 21(v01) 18 26: 7(fvec4) Load 10(a) - 27: 7(fvec4) Load 13(v04) - 28: 19(bvec4) FOrdNotEqual 26 27 - Store 25(r01) 28 + 27: 7(fvec4) Load 17(v04) + 28: 23(bvec4) FOrdEqual 26 27 + Store 25(r00) 28 30: 7(fvec4) Load 10(a) - 31: 7(fvec4) Load 13(v04) - 32: 19(bvec4) FOrdLessThan 30 31 - Store 29(r02) 32 + 31: 7(fvec4) Load 17(v04) + 32: 23(bvec4) FOrdNotEqual 30 31 + Store 29(r01) 32 34: 7(fvec4) Load 10(a) - 35: 7(fvec4) Load 13(v04) - 36: 19(bvec4) FOrdGreaterThan 34 35 - Store 33(r03) 36 + 35: 7(fvec4) Load 17(v04) + 36: 23(bvec4) FOrdLessThan 34 35 + Store 33(r02) 36 38: 7(fvec4) Load 10(a) - 39: 6(float) Load 17(v01) - 40: 7(fvec4) CompositeConstruct 39 39 39 39 - 41: 19(bvec4) FOrdEqual 38 40 - Store 37(r10) 41 - 43: 7(fvec4) Load 10(a) - 44: 6(float) Load 17(v01) - 45: 7(fvec4) CompositeConstruct 44 44 44 44 - 46: 19(bvec4) FOrdNotEqual 43 45 - Store 42(r11) 46 - 48: 7(fvec4) Load 10(a) - 49: 6(float) Load 17(v01) - 50: 7(fvec4) CompositeConstruct 49 49 49 49 - 51: 19(bvec4) FOrdLessThan 48 50 - Store 47(r12) 51 - 53: 7(fvec4) Load 10(a) - 54: 6(float) Load 17(v01) - 55: 7(fvec4) CompositeConstruct 54 54 54 54 - 56: 19(bvec4) FOrdGreaterThan 53 55 - Store 52(r13) 56 - 58: 6(float) Load 17(v01) + 39: 7(fvec4) Load 17(v04) + 40: 23(bvec4) FOrdGreaterThan 38 39 + Store 37(r03) 40 + 42: 7(fvec4) Load 10(a) + 43: 6(float) Load 21(v01) + 44: 7(fvec4) CompositeConstruct 43 43 43 43 + 45: 23(bvec4) FOrdEqual 42 44 + Store 41(r10) 45 + 47: 7(fvec4) Load 10(a) + 48: 6(float) Load 21(v01) + 49: 7(fvec4) CompositeConstruct 48 48 48 48 + 50: 23(bvec4) FOrdNotEqual 47 49 + Store 46(r11) 50 + 52: 7(fvec4) Load 10(a) + 53: 6(float) Load 21(v01) + 54: 7(fvec4) CompositeConstruct 53 53 53 53 + 55: 23(bvec4) FOrdLessThan 52 54 + Store 51(r12) 55 + 57: 7(fvec4) Load 10(a) + 58: 6(float) Load 21(v01) 59: 7(fvec4) CompositeConstruct 58 58 58 58 - 60: 7(fvec4) Load 10(a) - 61: 19(bvec4) FOrdEqual 59 60 - Store 57(r20) 61 - 63: 6(float) Load 17(v01) - 64: 7(fvec4) CompositeConstruct 63 63 63 63 - 65: 7(fvec4) Load 10(a) - 66: 19(bvec4) FOrdNotEqual 64 65 - Store 62(r21) 66 - 68: 6(float) Load 17(v01) - 69: 7(fvec4) CompositeConstruct 68 68 68 68 - 70: 7(fvec4) Load 10(a) - 71: 19(bvec4) FOrdLessThan 69 70 - Store 67(r22) 71 - 73: 6(float) Load 17(v01) - 74: 7(fvec4) CompositeConstruct 73 73 73 73 - 75: 7(fvec4) Load 10(a) - 76: 19(bvec4) FOrdGreaterThan 74 75 - Store 72(r23) 76 + 60: 23(bvec4) FOrdGreaterThan 57 59 + Store 56(r13) 60 + 62: 6(float) Load 21(v01) + 63: 7(fvec4) CompositeConstruct 62 62 62 62 + 64: 7(fvec4) Load 10(a) + 65: 23(bvec4) FOrdEqual 63 64 + Store 61(r20) 65 + 67: 6(float) Load 21(v01) + 68: 7(fvec4) CompositeConstruct 67 67 67 67 + 69: 7(fvec4) Load 10(a) + 70: 23(bvec4) FOrdNotEqual 68 69 + Store 66(r21) 70 + 72: 6(float) Load 21(v01) + 73: 7(fvec4) CompositeConstruct 72 72 72 72 + 74: 7(fvec4) Load 10(a) + 75: 23(bvec4) FOrdLessThan 73 74 + Store 71(r22) 75 + 77: 6(float) Load 21(v01) + 78: 7(fvec4) CompositeConstruct 77 77 77 77 + 79: 7(fvec4) Load 10(a) + 80: 23(bvec4) FOrdGreaterThan 78 79 + Store 76(r23) 80 Return FunctionEnd + 15(@main():13(PS_OUTPUT) Function None 14 + 16: Label + 82(psout): 81(ptr) Variable Function + 85: 8(ptr) AccessChain 82(psout) 84 + Store 85 19 + 86:13(PS_OUTPUT) Load 82(psout) + ReturnValue 86 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out index 32edbda72d9..cd0abf815a1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.conditional.frag.out @@ -2,115 +2,122 @@ hlsl.conditional.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp int) -0:3 'a' (temp int) +0:3 move second child to first child ( temp int) +0:3 'a' ( temp int) 0:3 Constant: 0:3 5 (const int) 0:4 Sequence -0:4 move second child to first child (temp int) -0:4 'b' (temp int) +0:4 move second child to first child ( temp int) +0:4 'b' ( temp int) 0:4 Constant: 0:4 6 (const int) 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'c' (temp int) +0:5 move second child to first child ( temp int) +0:5 'c' ( temp int) 0:5 Constant: 0:5 7 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'd' (temp int) +0:6 move second child to first child ( temp int) +0:6 'd' ( temp int) 0:6 Constant: 0:6 7 (const int) 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'ret' (temp 4-component vector of float) -0:9 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:7 add (temp 4-component vector of float) -0:7 vector-scale (temp 4-component vector of float) -0:7 Convert int to float (temp float) -0:7 'a' (temp int) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:8 vector-scale (temp 4-component vector of float) -0:8 Convert int to float (temp float) -0:8 'b' (temp int) -0:8 'input' (layout(location=0 ) in 4-component vector of float) -0:9 vector-scale (temp 4-component vector of float) -0:9 Convert int to float (temp float) -0:9 'c' (temp int) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:10 vector-scale (temp 4-component vector of float) -0:10 Convert int to float (temp float) -0:10 'd' (temp int) -0:10 'input' (layout(location=0 ) in 4-component vector of float) -0:12 Comma (temp int) -0:12 move second child to first child (temp int) -0:12 'e' (temp int) -0:12 move second child to first child (temp int) -0:12 'a' (temp int) -0:12 Test condition and select (temp int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'ret' ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:7 add ( temp 4-component vector of float) +0:7 vector-scale ( temp 4-component vector of float) +0:7 Convert int to float ( temp float) +0:7 'a' ( temp int) +0:7 'input' ( in 4-component vector of float) +0:8 vector-scale ( temp 4-component vector of float) +0:8 Convert int to float ( temp float) +0:8 'b' ( temp int) +0:8 'input' ( in 4-component vector of float) +0:9 vector-scale ( temp 4-component vector of float) +0:9 Convert int to float ( temp float) +0:9 'c' ( temp int) +0:9 'input' ( in 4-component vector of float) +0:10 vector-scale ( temp 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 'd' ( temp int) +0:10 'input' ( in 4-component vector of float) +0:12 Comma ( temp int) +0:12 move second child to first child ( temp int) +0:12 'e' ( temp int) +0:12 move second child to first child ( temp int) +0:12 'a' ( temp int) +0:12 Test condition and select ( temp int) 0:12 Condition -0:12 'b' (temp int) +0:12 'b' ( temp int) 0:12 true case -0:12 move second child to first child (temp int) -0:12 'c' (temp int) -0:12 'd' (temp int) +0:12 move second child to first child ( temp int) +0:12 'c' ( temp int) +0:12 'd' ( temp int) 0:12 false case 0:12 Constant: 0:12 10 (const int) -0:12 move second child to first child (temp int) -0:12 'b' (temp int) -0:12 Test condition and select (temp int) +0:12 move second child to first child ( temp int) +0:12 'b' ( temp int) +0:12 Test condition and select ( temp int) 0:12 Condition -0:12 'a' (temp int) +0:12 'a' ( temp int) 0:12 true case -0:12 move second child to first child (temp int) -0:12 'd' (temp int) -0:12 'c' (temp int) +0:12 move second child to first child ( temp int) +0:12 'd' ( temp int) +0:12 'c' ( temp int) 0:12 false case 0:12 Constant: 0:12 11 (const int) -0:14 move second child to first child (temp 4-component vector of float) -0:14 'f' (temp 4-component vector of float) -0:14 Test condition and select (temp 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'f' ( temp 4-component vector of float) +0:14 Test condition and select ( temp 4-component vector of float) 0:14 Condition -0:14 Compare Less Than (temp bool) -0:14 direct index (temp float) -0:14 'ret' (temp 4-component vector of float) +0:14 Compare Less Than ( temp bool) +0:14 direct index ( temp float) +0:14 'ret' ( temp 4-component vector of float) 0:14 Constant: 0:14 0 (const int) -0:14 direct index (temp float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 direct index ( temp float) +0:14 'input' ( in 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 true case -0:14 vector-scale (temp 4-component vector of float) -0:14 Convert int to float (temp float) -0:14 'c' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 vector-scale ( temp 4-component vector of float) +0:14 Convert int to float ( temp float) +0:14 'c' ( temp int) +0:14 'input' ( in 4-component vector of float) 0:14 false case -0:14 vector-scale (temp 4-component vector of float) -0:14 Convert int to float (temp float) -0:14 'd' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) -0:15 Branch: Return +0:14 vector-scale ( temp 4-component vector of float) +0:14 Convert int to float ( temp float) +0:14 'd' ( temp int) +0:14 'input' ( in 4-component vector of float) +0:15 Branch: Return with expression +0:15 add ( temp 4-component vector of float) +0:15 vector-scale ( temp 4-component vector of float) +0:15 Convert int to float ( temp float) +0:15 'e' ( temp int) +0:15 'ret' ( temp 4-component vector of float) +0:15 'f' ( temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -119,254 +126,277 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp int) -0:3 'a' (temp int) +0:3 move second child to first child ( temp int) +0:3 'a' ( temp int) 0:3 Constant: 0:3 5 (const int) 0:4 Sequence -0:4 move second child to first child (temp int) -0:4 'b' (temp int) +0:4 move second child to first child ( temp int) +0:4 'b' ( temp int) 0:4 Constant: 0:4 6 (const int) 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'c' (temp int) +0:5 move second child to first child ( temp int) +0:5 'c' ( temp int) 0:5 Constant: 0:5 7 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'd' (temp int) +0:6 move second child to first child ( temp int) +0:6 'd' ( temp int) 0:6 Constant: 0:6 7 (const int) 0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:7 'ret' (temp 4-component vector of float) -0:9 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:7 add (temp 4-component vector of float) -0:7 vector-scale (temp 4-component vector of float) -0:7 Convert int to float (temp float) -0:7 'a' (temp int) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:8 vector-scale (temp 4-component vector of float) -0:8 Convert int to float (temp float) -0:8 'b' (temp int) -0:8 'input' (layout(location=0 ) in 4-component vector of float) -0:9 vector-scale (temp 4-component vector of float) -0:9 Convert int to float (temp float) -0:9 'c' (temp int) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:10 vector-scale (temp 4-component vector of float) -0:10 Convert int to float (temp float) -0:10 'd' (temp int) -0:10 'input' (layout(location=0 ) in 4-component vector of float) -0:12 Comma (temp int) -0:12 move second child to first child (temp int) -0:12 'e' (temp int) -0:12 move second child to first child (temp int) -0:12 'a' (temp int) -0:12 Test condition and select (temp int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 'ret' ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:7 add ( temp 4-component vector of float) +0:7 vector-scale ( temp 4-component vector of float) +0:7 Convert int to float ( temp float) +0:7 'a' ( temp int) +0:7 'input' ( in 4-component vector of float) +0:8 vector-scale ( temp 4-component vector of float) +0:8 Convert int to float ( temp float) +0:8 'b' ( temp int) +0:8 'input' ( in 4-component vector of float) +0:9 vector-scale ( temp 4-component vector of float) +0:9 Convert int to float ( temp float) +0:9 'c' ( temp int) +0:9 'input' ( in 4-component vector of float) +0:10 vector-scale ( temp 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 'd' ( temp int) +0:10 'input' ( in 4-component vector of float) +0:12 Comma ( temp int) +0:12 move second child to first child ( temp int) +0:12 'e' ( temp int) +0:12 move second child to first child ( temp int) +0:12 'a' ( temp int) +0:12 Test condition and select ( temp int) 0:12 Condition -0:12 'b' (temp int) +0:12 'b' ( temp int) 0:12 true case -0:12 move second child to first child (temp int) -0:12 'c' (temp int) -0:12 'd' (temp int) +0:12 move second child to first child ( temp int) +0:12 'c' ( temp int) +0:12 'd' ( temp int) 0:12 false case 0:12 Constant: 0:12 10 (const int) -0:12 move second child to first child (temp int) -0:12 'b' (temp int) -0:12 Test condition and select (temp int) +0:12 move second child to first child ( temp int) +0:12 'b' ( temp int) +0:12 Test condition and select ( temp int) 0:12 Condition -0:12 'a' (temp int) +0:12 'a' ( temp int) 0:12 true case -0:12 move second child to first child (temp int) -0:12 'd' (temp int) -0:12 'c' (temp int) +0:12 move second child to first child ( temp int) +0:12 'd' ( temp int) +0:12 'c' ( temp int) 0:12 false case 0:12 Constant: 0:12 11 (const int) -0:14 move second child to first child (temp 4-component vector of float) -0:14 'f' (temp 4-component vector of float) -0:14 Test condition and select (temp 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'f' ( temp 4-component vector of float) +0:14 Test condition and select ( temp 4-component vector of float) 0:14 Condition -0:14 Compare Less Than (temp bool) -0:14 direct index (temp float) -0:14 'ret' (temp 4-component vector of float) +0:14 Compare Less Than ( temp bool) +0:14 direct index ( temp float) +0:14 'ret' ( temp 4-component vector of float) 0:14 Constant: 0:14 0 (const int) -0:14 direct index (temp float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 direct index ( temp float) +0:14 'input' ( in 4-component vector of float) 0:14 Constant: 0:14 1 (const int) 0:14 true case -0:14 vector-scale (temp 4-component vector of float) -0:14 Convert int to float (temp float) -0:14 'c' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 vector-scale ( temp 4-component vector of float) +0:14 Convert int to float ( temp float) +0:14 'c' ( temp int) +0:14 'input' ( in 4-component vector of float) 0:14 false case -0:14 vector-scale (temp 4-component vector of float) -0:14 Convert int to float (temp float) -0:14 'd' (temp int) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:15 add (temp 4-component vector of float) -0:15 vector-scale (temp 4-component vector of float) -0:15 Convert int to float (temp float) -0:15 'e' (temp int) -0:15 'ret' (temp 4-component vector of float) -0:15 'f' (temp 4-component vector of float) -0:15 Branch: Return +0:14 vector-scale ( temp 4-component vector of float) +0:14 Convert int to float ( temp float) +0:14 'd' ( temp int) +0:14 'input' ( in 4-component vector of float) +0:15 Branch: Return with expression +0:15 add ( temp 4-component vector of float) +0:15 vector-scale ( temp 4-component vector of float) +0:15 Convert int to float ( temp float) +0:15 'e' ( temp int) +0:15 'ret' ( temp 4-component vector of float) +0:15 'f' ( temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 91 +// Id's are bound by 100 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 22 83 + EntryPoint Fragment 4 "PixelShaderFunction" 93 96 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "a" - Name 10 "b" - Name 12 "c" - Name 14 "d" - Name 18 "ret" - Name 22 "input" - Name 40 "e" - Name 57 "f" - Name 83 "@entryPointOutput" - Decorate 22(input) Location 0 - Decorate 83(@entryPointOutput) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 15 "a" + Name 17 "b" + Name 19 "c" + Name 21 "d" + Name 22 "ret" + Name 42 "e" + Name 59 "f" + Name 91 "input" + Name 93 "input" + Name 96 "@entryPointOutput" + Name 97 "param" + Decorate 93(input) Location 0 + Decorate 96(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 5 - 11: 6(int) Constant 6 - 13: 6(int) Constant 7 - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Function 16(fvec4) - 21: TypePointer Input 16(fvec4) - 22(input): 21(ptr) Variable Input - 47: 6(int) Constant 10 - 55: 6(int) Constant 11 - 59: TypeInt 32 0 - 60: 59(int) Constant 0 - 61: TypePointer Function 15(float) - 64: 59(int) Constant 1 - 65: TypePointer Input 15(float) - 68: TypeBool - 82: TypePointer Output 16(fvec4) -83(@entryPointOutput): 82(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 13: TypeInt 32 1 + 14: TypePointer Function 13(int) + 16: 13(int) Constant 5 + 18: 13(int) Constant 6 + 20: 13(int) Constant 7 + 49: 13(int) Constant 10 + 57: 13(int) Constant 11 + 61: TypeInt 32 0 + 62: 61(int) Constant 0 + 63: TypePointer Function 6(float) + 66: 61(int) Constant 1 + 69: TypeBool + 92: TypePointer Input 7(fvec4) + 93(input): 92(ptr) Variable Input + 95: TypePointer Output 7(fvec4) +96(@entryPointOutput): 95(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(a): 7(ptr) Variable Function - 10(b): 7(ptr) Variable Function - 12(c): 7(ptr) Variable Function - 14(d): 7(ptr) Variable Function - 18(ret): 17(ptr) Variable Function - 40(e): 7(ptr) Variable Function - 41: 7(ptr) Variable Function - 49: 7(ptr) Variable Function - 57(f): 17(ptr) Variable Function - 58: 17(ptr) Variable Function - Store 8(a) 9 - Store 10(b) 11 - Store 12(c) 13 - Store 14(d) 13 - 19: 6(int) Load 8(a) - 20: 15(float) ConvertSToF 19 - 23: 16(fvec4) Load 22(input) - 24: 16(fvec4) VectorTimesScalar 23 20 - 25: 6(int) Load 10(b) - 26: 15(float) ConvertSToF 25 - 27: 16(fvec4) Load 22(input) - 28: 16(fvec4) VectorTimesScalar 27 26 - 29: 16(fvec4) FAdd 24 28 - 30: 6(int) Load 12(c) - 31: 15(float) ConvertSToF 30 - 32: 16(fvec4) Load 22(input) - 33: 16(fvec4) VectorTimesScalar 32 31 - 34: 16(fvec4) FAdd 29 33 - 35: 6(int) Load 14(d) - 36: 15(float) ConvertSToF 35 - 37: 16(fvec4) Load 22(input) - 38: 16(fvec4) VectorTimesScalar 37 36 - 39: 16(fvec4) FAdd 34 38 - Store 18(ret) 39 - 42: 6(int) Load 10(b) - SelectionMerge 44 None - BranchConditional 42 43 46 - 43: Label - 45: 6(int) Load 14(d) - Store 12(c) 45 - Store 41 45 - Branch 44 - 46: Label - Store 41 47 - Branch 44 - 44: Label - 48: 6(int) Load 41 - Store 8(a) 48 - Store 40(e) 48 - 50: 6(int) Load 8(a) - SelectionMerge 52 None - BranchConditional 50 51 54 - 51: Label - 53: 6(int) Load 12(c) - Store 14(d) 53 - Store 49 53 - Branch 52 - 54: Label - Store 49 55 - Branch 52 - 52: Label - 56: 6(int) Load 49 - Store 10(b) 56 - 62: 61(ptr) AccessChain 18(ret) 60 - 63: 15(float) Load 62 - 66: 65(ptr) AccessChain 22(input) 64 - 67: 15(float) Load 66 - 69: 68(bool) FOrdLessThan 63 67 - SelectionMerge 71 None - BranchConditional 69 70 76 - 70: Label - 72: 6(int) Load 12(c) - 73: 15(float) ConvertSToF 72 - 74: 16(fvec4) Load 22(input) - 75: 16(fvec4) VectorTimesScalar 74 73 - Store 58 75 - Branch 71 - 76: Label - 77: 6(int) Load 14(d) - 78: 15(float) ConvertSToF 77 - 79: 16(fvec4) Load 22(input) - 80: 16(fvec4) VectorTimesScalar 79 78 - Store 58 80 - Branch 71 - 71: Label - 81: 16(fvec4) Load 58 - Store 57(f) 81 - 84: 6(int) Load 40(e) - 85: 15(float) ConvertSToF 84 - 86: 16(fvec4) Load 18(ret) - 87: 16(fvec4) VectorTimesScalar 86 85 - 88: 16(fvec4) Load 57(f) - 89: 16(fvec4) FAdd 87 88 - Store 83(@entryPointOutput) 89 + 91(input): 8(ptr) Variable Function + 97(param): 8(ptr) Variable Function + 94: 7(fvec4) Load 93(input) + Store 91(input) 94 + 98: 7(fvec4) Load 91(input) + Store 97(param) 98 + 99: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 97(param) + Store 96(@entryPointOutput) 99 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 15(a): 14(ptr) Variable Function + 17(b): 14(ptr) Variable Function + 19(c): 14(ptr) Variable Function + 21(d): 14(ptr) Variable Function + 22(ret): 8(ptr) Variable Function + 42(e): 14(ptr) Variable Function + 43: 14(ptr) Variable Function + 51: 14(ptr) Variable Function + 59(f): 8(ptr) Variable Function + 60: 8(ptr) Variable Function + Store 15(a) 16 + Store 17(b) 18 + Store 19(c) 20 + Store 21(d) 20 + 23: 13(int) Load 15(a) + 24: 6(float) ConvertSToF 23 + 25: 7(fvec4) Load 10(input) + 26: 7(fvec4) VectorTimesScalar 25 24 + 27: 13(int) Load 17(b) + 28: 6(float) ConvertSToF 27 + 29: 7(fvec4) Load 10(input) + 30: 7(fvec4) VectorTimesScalar 29 28 + 31: 7(fvec4) FAdd 26 30 + 32: 13(int) Load 19(c) + 33: 6(float) ConvertSToF 32 + 34: 7(fvec4) Load 10(input) + 35: 7(fvec4) VectorTimesScalar 34 33 + 36: 7(fvec4) FAdd 31 35 + 37: 13(int) Load 21(d) + 38: 6(float) ConvertSToF 37 + 39: 7(fvec4) Load 10(input) + 40: 7(fvec4) VectorTimesScalar 39 38 + 41: 7(fvec4) FAdd 36 40 + Store 22(ret) 41 + 44: 13(int) Load 17(b) + SelectionMerge 46 None + BranchConditional 44 45 48 + 45: Label + 47: 13(int) Load 21(d) + Store 19(c) 47 + Store 43 47 + Branch 46 + 48: Label + Store 43 49 + Branch 46 + 46: Label + 50: 13(int) Load 43 + Store 15(a) 50 + Store 42(e) 50 + 52: 13(int) Load 15(a) + SelectionMerge 54 None + BranchConditional 52 53 56 + 53: Label + 55: 13(int) Load 19(c) + Store 21(d) 55 + Store 51 55 + Branch 54 + 56: Label + Store 51 57 + Branch 54 + 54: Label + 58: 13(int) Load 51 + Store 17(b) 58 + 64: 63(ptr) AccessChain 22(ret) 62 + 65: 6(float) Load 64 + 67: 63(ptr) AccessChain 10(input) 66 + 68: 6(float) Load 67 + 70: 69(bool) FOrdLessThan 65 68 + SelectionMerge 72 None + BranchConditional 70 71 77 + 71: Label + 73: 13(int) Load 19(c) + 74: 6(float) ConvertSToF 73 + 75: 7(fvec4) Load 10(input) + 76: 7(fvec4) VectorTimesScalar 75 74 + Store 60 76 + Branch 72 + 77: Label + 78: 13(int) Load 21(d) + 79: 6(float) ConvertSToF 78 + 80: 7(fvec4) Load 10(input) + 81: 7(fvec4) VectorTimesScalar 80 79 + Store 60 81 + Branch 72 + 72: Label + 82: 7(fvec4) Load 60 + Store 59(f) 82 + 83: 13(int) Load 42(e) + 84: 6(float) ConvertSToF 83 + 85: 7(fvec4) Load 22(ret) + 86: 7(fvec4) VectorTimesScalar 85 84 + 87: 7(fvec4) Load 59(f) + 88: 7(fvec4) FAdd 86 87 + ReturnValue 88 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out index e6ed6e13b86..eed169486a7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.constructexpr.frag.out @@ -2,7 +2,7 @@ hlsl.constructexpr.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:4 Function Parameters: 0:? Sequence 0:6 Constant: @@ -17,16 +17,16 @@ gl_FragCoord origin is upper left 0:10 7 (const int) 0:11 Constant: 0:11 8 (const int) -0:12 Comma (temp 2-component vector of float) +0:12 Comma ( temp 2-component vector of float) 0:? Constant: 0:? 9.000000 0:? 10.000000 0:? Constant: 0:? 11.000000 0:? 12.000000 -0:15 move second child to first child (temp 4-component vector of float) -0:15 color: direct index for structure (temp 4-component vector of float) -0:15 'ps_output' (temp structure{temp 4-component vector of float color}) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 color: direct index for structure ( temp 4-component vector of float) +0:15 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:15 Constant: 0:15 0 (const int) 0:15 Constant: @@ -34,17 +34,20 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) -0:16 Constant: -0:16 0 (const int) -0:16 Branch: Return +0:16 Branch: Return with expression +0:16 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:4 color: direct index for structure ( temp 4-component vector of float) +0:4 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:4 Constant: +0:4 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -53,7 +56,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:4 Function Parameters: 0:? Sequence 0:6 Constant: @@ -68,16 +71,16 @@ gl_FragCoord origin is upper left 0:10 7 (const int) 0:11 Constant: 0:11 8 (const int) -0:12 Comma (temp 2-component vector of float) +0:12 Comma ( temp 2-component vector of float) 0:? Constant: 0:? 9.000000 0:? 10.000000 0:? Constant: 0:? 11.000000 0:? 12.000000 -0:15 move second child to first child (temp 4-component vector of float) -0:15 color: direct index for structure (temp 4-component vector of float) -0:15 'ps_output' (temp structure{temp 4-component vector of float color}) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 color: direct index for structure ( temp 4-component vector of float) +0:15 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:15 Constant: 0:15 0 (const int) 0:15 Constant: @@ -85,66 +88,76 @@ gl_FragCoord origin is upper left 0:15 1.000000 0:15 1.000000 0:15 1.000000 -0:16 Sequence -0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) -0:16 Constant: -0:16 0 (const int) -0:16 Branch: Return +0:16 Branch: Return with expression +0:16 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:4 color: direct index for structure ( temp 4-component vector of float) +0:4 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:4 Constant: +0:4 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 35 +// Id's are bound by 40 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 31 + EntryPoint Fragment 4 "main" 37 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 22 "PS_OUTPUT" - MemberName 22(PS_OUTPUT) 0 "color" - Name 24 "ps_output" - Name 31 "color" - Decorate 31(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 27 "ps_output" + Name 37 "color" + Decorate 37(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: 6(int) Constant 3 - 8: 6(int) Constant 4 - 9: 6(int) Constant 5 - 10: 6(int) Constant 6 - 11: 6(int) Constant 7 - 12: 6(int) Constant 8 - 13: TypeFloat 32 - 14: TypeVector 13(float) 2 - 15: 13(float) Constant 1091567616 - 16: 13(float) Constant 1092616192 - 17: 14(fvec2) ConstantComposite 15 16 - 18: 13(float) Constant 1093664768 - 19: 13(float) Constant 1094713344 - 20: 14(fvec2) ConstantComposite 18 19 - 21: TypeVector 13(float) 4 - 22(PS_OUTPUT): TypeStruct 21(fvec4) - 23: TypePointer Function 22(PS_OUTPUT) - 25: 6(int) Constant 0 - 26: 13(float) Constant 1065353216 - 27: 21(fvec4) ConstantComposite 26 26 26 26 - 28: TypePointer Function 21(fvec4) - 30: TypePointer Output 21(fvec4) - 31(color): 30(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: 12(int) Constant 3 + 14: 12(int) Constant 4 + 15: 12(int) Constant 5 + 16: 12(int) Constant 6 + 17: 12(int) Constant 7 + 18: 12(int) Constant 8 + 19: TypeVector 6(float) 2 + 20: 6(float) Constant 1091567616 + 21: 6(float) Constant 1092616192 + 22: 19(fvec2) ConstantComposite 20 21 + 23: 6(float) Constant 1093664768 + 24: 6(float) Constant 1094713344 + 25: 19(fvec2) ConstantComposite 23 24 + 26: TypePointer Function 8(PS_OUTPUT) + 28: 12(int) Constant 0 + 29: 6(float) Constant 1065353216 + 30: 7(fvec4) ConstantComposite 29 29 29 29 + 31: TypePointer Function 7(fvec4) + 36: TypePointer Output 7(fvec4) + 37(color): 36(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 24(ps_output): 23(ptr) Variable Function - 29: 28(ptr) AccessChain 24(ps_output) 25 - Store 29 27 - 32: 28(ptr) AccessChain 24(ps_output) 25 - 33: 21(fvec4) Load 32 - Store 31(color) 33 + 38:8(PS_OUTPUT) FunctionCall 10(@main() + 39: 7(fvec4) CompositeExtract 38 0 + Store 37(color) 39 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 27(ps_output): 26(ptr) Variable Function + 32: 31(ptr) AccessChain 27(ps_output) 28 + Store 32 30 + 33:8(PS_OUTPUT) Load 27(ps_output) + ReturnValue 33 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out index 71842afa478..24e6982808e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out @@ -1,25 +1,32 @@ hlsl.deadFunctionMissingBody.vert // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 13 +// Id's are bound by 18 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 9 + EntryPoint Vertex 4 "main" 16 Name 4 "main" - Name 9 "@entryPointOutput" - Decorate 9(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 16 "@entryPointOutput" + Decorate 16(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: 6(float) Constant 0 - 11: 7(fvec4) ConstantComposite 10 10 10 10 + 8: TypeFunction 7(fvec4) + 11: 6(float) Constant 0 + 12: 7(fvec4) ConstantComposite 11 11 11 11 + 15: TypePointer Output 7(fvec4) +16(@entryPointOutput): 15(ptr) Variable Output 4(main): 2 Function None 3 5: Label - Store 9(@entryPointOutput) 11 + 17: 7(fvec4) FunctionCall 9(@main() + Store 16(@entryPointOutput) 17 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + ReturnValue 12 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out index 0b532460214..8ff7e7332c8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthGreater.frag.out @@ -3,16 +3,24 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_greater 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1; ( temp void) 0:2 Function Parameters: -0:2 'depth' (out float FragDepth) +0:2 'depth' ( out float) 0:? Sequence -0:3 move second child to first child (temp float) -0:3 'depth' (out float FragDepth) +0:3 move second child to first child ( temp float) +0:3 'depth' ( out float) 0:3 Constant: 0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 Function Call: @PixelShaderFunction(f1; ( temp void) +0:? 'depth' ( temp float) +0:2 move second child to first child ( temp float) +0:? 'depth' ( out float FragDepth) +0:? 'depth' ( temp float) 0:? Linker Objects -0:? 'depth' (out float FragDepth) +0:? 'depth' ( out float FragDepth) Linked fragment stage: @@ -22,38 +30,64 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_greater 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1; ( temp void) 0:2 Function Parameters: -0:2 'depth' (out float FragDepth) +0:2 'depth' ( out float) 0:? Sequence -0:3 move second child to first child (temp float) -0:3 'depth' (out float FragDepth) +0:3 move second child to first child ( temp float) +0:3 'depth' ( out float) 0:3 Constant: 0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 Function Call: @PixelShaderFunction(f1; ( temp void) +0:? 'depth' ( temp float) +0:2 move second child to first child ( temp float) +0:? 'depth' ( out float FragDepth) +0:? 'depth' ( temp float) 0:? Linker Objects -0:? 'depth' (out float FragDepth) +0:? 'depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 10 +// Id's are bound by 20 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 + EntryPoint Fragment 4 "PixelShaderFunction" 18 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthGreater Name 4 "PixelShaderFunction" - Name 8 "depth" - Decorate 8(depth) BuiltIn FragDepth + Name 10 "@PixelShaderFunction(f1;" + Name 9 "depth" + Name 13 "depth" + Name 14 "param" + Name 18 "depth" + Decorate 18(depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) - 8(depth): 7(ptr) Variable Output - 9: 6(float) Constant 1045220557 + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) + 12: 6(float) Constant 1045220557 + 17: TypePointer Output 6(float) + 18(depth): 17(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Store 8(depth) 9 + 13(depth): 7(ptr) Variable Function + 14(param): 7(ptr) Variable Function + 15: 2 FunctionCall 10(@PixelShaderFunction(f1;) 14(param) + 16: 6(float) Load 14(param) + Store 13(depth) 16 + 19: 6(float) Load 13(depth) + Store 18(depth) 19 + Return + FunctionEnd +10(@PixelShaderFunction(f1;): 2 Function None 8 + 9(depth): 7(ptr) FunctionParameter + 11: Label + Store 9(depth) 12 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out index ec664e10615..ef81b4a9e81 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.depthLess.frag.out @@ -3,17 +3,20 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_less 0:? Sequence -0:2 Function Definition: PixelShaderFunction( (temp float FragDepth) +0:2 Function Definition: @PixelShaderFunction( ( temp float) 0:2 Function Parameters: 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp float) -0:? '@entryPointOutput' (out float unknown built-in variable) -0:3 Constant: -0:3 0.200000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 Constant: +0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? '@entryPointOutput' ( out float FragDepth) +0:2 Function Call: @PixelShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (out float unknown built-in variable) +0:? '@entryPointOutput' ( out float FragDepth) Linked fragment stage: @@ -23,38 +26,49 @@ Shader version: 450 gl_FragCoord origin is upper left using depth_less 0:? Sequence -0:2 Function Definition: PixelShaderFunction( (temp float FragDepth) +0:2 Function Definition: @PixelShaderFunction( ( temp float) 0:2 Function Parameters: 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp float) -0:? '@entryPointOutput' (out float unknown built-in variable) -0:3 Constant: -0:3 0.200000 -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 Constant: +0:3 0.200000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? '@entryPointOutput' ( out float FragDepth) +0:2 Function Call: @PixelShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (out float unknown built-in variable) +0:? '@entryPointOutput' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 11 +// Id's are bound by 16 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 + EntryPoint Fragment 4 "PixelShaderFunction" 14 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthLess Name 4 "PixelShaderFunction" - Name 8 "@entryPointOutput" + Name 8 "@PixelShaderFunction(" + Name 14 "@entryPointOutput" + Decorate 14(@entryPointOutput) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) -8(@entryPointOutput): 7(ptr) Variable Output - 9: 6(float) Constant 1045220557 + 7: TypeFunction 6(float) + 10: 6(float) Constant 1045220557 + 13: TypePointer Output 6(float) +14(@entryPointOutput): 13(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Store 8(@entryPointOutput) 9 + 15: 6(float) FunctionCall 8(@PixelShaderFunction() + Store 14(@entryPointOutput) 15 Return FunctionEnd +8(@PixelShaderFunction(): 6(float) Function None 7 + 9: Label + ReturnValue 10 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out index 9b4f2c72e07..6baea901eb7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.discard.frag.out @@ -2,45 +2,53 @@ hlsl.discard.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo(f1; (temp void) +0:2 Function Definition: foo(f1; ( temp void) 0:2 Function Parameters: -0:2 'f' (in float) +0:2 'f' ( in float) 0:? Sequence -0:3 Test condition and select (temp void) +0:3 Test condition and select ( temp void) 0:3 Condition -0:3 Compare Less Than (temp bool) -0:3 'f' (in float) +0:3 Compare Less Than ( temp bool) +0:3 'f' ( in float) 0:3 Constant: 0:3 1.000000 0:3 true case 0:4 Branch: Kill -0:8 Function Definition: PixelShaderFunction(vf4; (temp void) +0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:8 Function Parameters: -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' ( in 4-component vector of float) 0:? Sequence -0:9 Function Call: foo(f1; (temp void) -0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 Function Call: foo(f1; ( temp void) +0:9 direct index ( temp float) +0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) -0:10 Test condition and select (temp void) +0:10 Test condition and select ( temp void) 0:10 Condition -0:10 direct index (temp float) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 direct index ( temp float) +0:10 'input' ( in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case 0:11 Branch: Kill 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'f' (temp float) -0:12 direct index (temp float) -0:12 'input' (layout(location=0 ) in 4-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'f' ( temp float) +0:12 direct index ( temp float) +0:12 'input' ( in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -49,105 +57,130 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo(f1; (temp void) +0:2 Function Definition: foo(f1; ( temp void) 0:2 Function Parameters: -0:2 'f' (in float) +0:2 'f' ( in float) 0:? Sequence -0:3 Test condition and select (temp void) +0:3 Test condition and select ( temp void) 0:3 Condition -0:3 Compare Less Than (temp bool) -0:3 'f' (in float) +0:3 Compare Less Than ( temp bool) +0:3 'f' ( in float) 0:3 Constant: 0:3 1.000000 0:3 true case 0:4 Branch: Kill -0:8 Function Definition: PixelShaderFunction(vf4; (temp void) +0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:8 Function Parameters: -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 'input' ( in 4-component vector of float) 0:? Sequence -0:9 Function Call: foo(f1; (temp void) -0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 Function Call: foo(f1; ( temp void) +0:9 direct index ( temp float) +0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 2 (const int) -0:10 Test condition and select (temp void) +0:10 Test condition and select ( temp void) 0:10 Condition -0:10 direct index (temp float) -0:10 'input' (layout(location=0 ) in 4-component vector of float) +0:10 direct index ( temp float) +0:10 'input' ( in 4-component vector of float) 0:10 Constant: 0:10 0 (const int) 0:10 true case 0:11 Branch: Kill 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'f' (temp float) -0:12 direct index (temp float) -0:12 'input' (layout(location=0 ) in 4-component vector of float) +0:12 move second child to first child ( temp float) +0:12 'f' ( temp float) +0:12 direct index ( temp float) +0:12 'input' ( in 4-component vector of float) 0:12 Constant: 0:12 0 (const int) 0:13 Branch: Kill +0:8 Function Definition: PixelShaderFunction( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:8 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 48 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 21 + EntryPoint Fragment 4 "PixelShaderFunction" 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 10 "foo(f1;" Name 9 "f" - Name 21 "input" - Name 22 "param" - Name 35 "f" - Decorate 21(input) Location 0 + Name 16 "@PixelShaderFunction(vf4;" + Name 15 "input" + Name 25 "param" + Name 37 "f" + Name 41 "input" + Name 43 "input" + Name 45 "param" + Decorate 43(input) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 2 7(ptr) - 13: 6(float) Constant 1065353216 - 14: TypeBool - 19: TypeVector 6(float) 4 - 20: TypePointer Input 19(fvec4) - 21(input): 20(ptr) Variable Input - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Input 6(float) - 29: 23(int) Constant 0 + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeFunction 2 13(ptr) + 19: 6(float) Constant 1065353216 + 20: TypeBool + 26: TypeInt 32 0 + 27: 26(int) Constant 2 + 31: 26(int) Constant 0 + 42: TypePointer Input 12(fvec4) + 43(input): 42(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 22(param): 7(ptr) Variable Function - 35(f): 7(ptr) Variable Function - 26: 25(ptr) AccessChain 21(input) 24 - 27: 6(float) Load 26 - Store 22(param) 27 - 28: 2 FunctionCall 10(foo(f1;) 22(param) - 30: 25(ptr) AccessChain 21(input) 29 - 31: 6(float) Load 30 - SelectionMerge 33 None - BranchConditional 31 32 33 - 32: Label - Kill - 33: Label - 36: 25(ptr) AccessChain 21(input) 29 - 37: 6(float) Load 36 - Store 35(f) 37 - Kill + 41(input): 13(ptr) Variable Function + 45(param): 13(ptr) Variable Function + 44: 12(fvec4) Load 43(input) + Store 41(input) 44 + 46: 12(fvec4) Load 41(input) + Store 45(param) 46 + 47: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 45(param) + Return FunctionEnd 10(foo(f1;): 2 Function None 8 9(f): 7(ptr) FunctionParameter 11: Label - 12: 6(float) Load 9(f) - 15: 14(bool) FOrdLessThan 12 13 - SelectionMerge 17 None - BranchConditional 15 16 17 - 16: Label + 18: 6(float) Load 9(f) + 21: 20(bool) FOrdLessThan 18 19 + SelectionMerge 23 None + BranchConditional 21 22 23 + 22: Label Kill - 17: Label + 23: Label Return FunctionEnd +16(@PixelShaderFunction(vf4;): 2 Function None 14 + 15(input): 13(ptr) FunctionParameter + 17: Label + 25(param): 7(ptr) Variable Function + 37(f): 7(ptr) Variable Function + 28: 7(ptr) AccessChain 15(input) 27 + 29: 6(float) Load 28 + Store 25(param) 29 + 30: 2 FunctionCall 10(foo(f1;) 25(param) + 32: 7(ptr) AccessChain 15(input) 31 + 33: 6(float) Load 32 + SelectionMerge 35 None + BranchConditional 33 34 35 + 34: Label + Kill + 35: Label + 38: 7(ptr) AccessChain 15(input) 31 + 39: 6(float) Load 38 + Store 37(f) 39 + Kill + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out index c060cdc7e37..35cf7482f99 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.doLoop.frag.out @@ -2,9 +2,9 @@ hlsl.doLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Loop with condition not tested first 0:3 Loop Condition @@ -18,19 +18,26 @@ gl_FragCoord origin is upper left 0:4 No loop body 0:5 Loop with condition not tested first 0:5 Loop Condition -0:5 all (temp bool) -0:5 Equal (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 all ( temp bool) +0:5 Equal ( temp 4-component vector of bool) +0:5 'input' ( in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 Loop Body -0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 Branch: Return +0:5 Branch: Return with expression +0:5 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -39,9 +46,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Loop with condition not tested first 0:3 Loop Condition @@ -55,79 +62,105 @@ gl_FragCoord origin is upper left 0:4 No loop body 0:5 Loop with condition not tested first 0:5 Loop Condition -0:5 all (temp bool) -0:5 Equal (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 all ( temp bool) +0:5 Equal ( temp 4-component vector of bool) +0:5 'input' ( in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 Loop Body -0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 Branch: Return +0:5 Branch: Return with expression +0:5 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 33 +// Id's are bound by 44 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 23 25 + EntryPoint Fragment 4 "PixelShaderFunction" 37 40 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 23 "@entryPointOutput" - Name 25 "input" - Decorate 23(@entryPointOutput) Location 0 - Decorate 25(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 35 "input" + Name 37 "input" + Name 40 "@entryPointOutput" + Name 41 "param" + Decorate 37(input) Location 0 + Decorate 40(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeBool - 11: 10(bool) ConstantFalse - 20: TypeFloat 32 - 21: TypeVector 20(float) 4 - 22: TypePointer Output 21(fvec4) -23(@entryPointOutput): 22(ptr) Variable Output - 24: TypePointer Input 21(fvec4) - 25(input): 24(ptr) Variable Input - 30: TypeVector 10(bool) 4 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 17: TypeBool + 18: 17(bool) ConstantFalse + 31: TypeVector 17(bool) 4 + 36: TypePointer Input 7(fvec4) + 37(input): 36(ptr) Variable Input + 39: TypePointer Output 7(fvec4) +40(@entryPointOutput): 39(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 7 - 7: Label - Branch 9 - 9: Label - BranchConditional 11 6 8 - 8: Label - Branch 12 + 35(input): 8(ptr) Variable Function + 41(param): 8(ptr) Variable Function + 38: 7(fvec4) Load 37(input) + Store 35(input) 38 + 42: 7(fvec4) Load 35(input) + Store 41(param) 42 + 43: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 41(param) + Store 40(@entryPointOutput) 43 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter 12: Label - LoopMerge 14 15 None Branch 13 13: Label - Branch 15 - 15: Label - BranchConditional 11 12 14 + LoopMerge 15 16 None + Branch 14 14: Label Branch 16 16: Label - LoopMerge 18 19 None - Branch 17 - 17: Label - 26: 21(fvec4) Load 25(input) - Store 23(@entryPointOutput) 26 - Return + BranchConditional 18 13 15 + 15: Label + Branch 19 19: Label - 28: 21(fvec4) Load 25(input) - 29: 21(fvec4) Load 25(input) - 31: 30(bvec4) FOrdEqual 28 29 - 32: 10(bool) All 31 - BranchConditional 32 16 18 - 18: Label - Return + LoopMerge 21 22 None + Branch 20 + 20: Label + Branch 22 + 22: Label + BranchConditional 18 19 21 + 21: Label + Branch 23 + 23: Label + LoopMerge 25 26 None + Branch 24 + 24: Label + 27: 7(fvec4) Load 10(input) + ReturnValue 27 + 26: Label + 29: 7(fvec4) Load 10(input) + 30: 7(fvec4) Load 10(input) + 32: 31(bvec4) FOrdEqual 29 30 + 33: 17(bool) All 32 + BranchConditional 33 23 25 + 25: Label + 34: 7(fvec4) Undef + ReturnValue 34 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out new file mode 100644 index 00000000000..e0da9852112 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.frag.out @@ -0,0 +1,101 @@ +hlsl.emptystructreturn.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: @main(struct-ps_in1; ( temp structure{}) +0:10 Function Parameters: +0:10 'i' ( in structure{}) +0:? Sequence +0:12 Branch: Return with expression +0:12 'o' ( temp structure{}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? 'i' (layout( location=0) in structure{}) +0:10 Sequence +0:10 move second child to first child ( temp structure{}) +0:? '@entryPointOutput' ( out structure{}) +0:10 Function Call: @main(struct-ps_in1; ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? Linker Objects +0:? 'i' (layout( location=0) in structure{}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: @main(struct-ps_in1; ( temp structure{}) +0:10 Function Parameters: +0:10 'i' ( in structure{}) +0:? Sequence +0:12 Branch: Return with expression +0:12 'o' ( temp structure{}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? 'i' (layout( location=0) in structure{}) +0:10 Sequence +0:10 move second child to first child ( temp structure{}) +0:? '@entryPointOutput' ( out structure{}) +0:10 Function Call: @main(struct-ps_in1; ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? Linker Objects +0:? 'i' (layout( location=0) in structure{}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 27 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 20 23 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 6 "ps_in" + Name 8 "ps_out" + Name 11 "@main(struct-ps_in1;" + Name 10 "i" + Name 14 "o" + Name 18 "i" + Name 20 "i" + Name 23 "@entryPointOutput" + Name 24 "param" + Decorate 20(i) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6(ps_in): TypeStruct + 7: TypePointer Function 6(ps_in) + 8(ps_out): TypeStruct + 9: TypeFunction 8(ps_out) 7(ptr) + 13: TypePointer Function 8(ps_out) + 19: TypePointer Input 6(ps_in) + 20(i): 19(ptr) Variable Input + 22: TypePointer Output 8(ps_out) +23(@entryPointOutput): 22(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 18(i): 7(ptr) Variable Function + 24(param): 7(ptr) Variable Function + 21: 6(ps_in) Load 20(i) + Store 18(i) 21 + 25: 6(ps_in) Load 18(i) + Store 24(param) 25 + 26: 8(ps_out) FunctionCall 11(@main(struct-ps_in1;) 24(param) + Store 23(@entryPointOutput) 26 + Return + FunctionEnd +11(@main(struct-ps_in1;): 8(ps_out) Function None 9 + 10(i): 7(ptr) FunctionParameter + 12: Label + 14(o): 13(ptr) Variable Function + 15: 8(ps_out) Load 14(o) + ReturnValue 15 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out new file mode 100644 index 00000000000..ff8935246aa --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.emptystructreturn.vert.out @@ -0,0 +1,98 @@ +hlsl.emptystructreturn.vert +Shader version: 450 +0:? Sequence +0:10 Function Definition: @main(struct-vs_in1; ( temp structure{}) +0:10 Function Parameters: +0:10 'i' ( in structure{}) +0:? Sequence +0:12 Branch: Return with expression +0:12 'o' ( temp structure{}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? 'i' ( in structure{}) +0:10 move second child to first child ( temp structure{}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) +0:10 Function Call: @main(struct-vs_in1; ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{}) + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:10 Function Definition: @main(struct-vs_in1; ( temp structure{}) +0:10 Function Parameters: +0:10 'i' ( in structure{}) +0:? Sequence +0:12 Branch: Return with expression +0:12 'o' ( temp structure{}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? 'i' ( in structure{}) +0:10 move second child to first child ( temp structure{}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) +0:10 Function Call: @main(struct-vs_in1; ( temp structure{}) +0:? 'i' ( temp structure{}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 27 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 20 23 + Name 4 "main" + Name 6 "vs_in" + Name 8 "vs_out" + Name 11 "@main(struct-vs_in1;" + Name 10 "i" + Name 14 "o" + Name 18 "i" + Name 20 "i" + Name 23 "@entryPointOutput" + Name 24 "param" + Decorate 23(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6(vs_in): TypeStruct + 7: TypePointer Function 6(vs_in) + 8(vs_out): TypeStruct + 9: TypeFunction 8(vs_out) 7(ptr) + 13: TypePointer Function 8(vs_out) + 19: TypePointer Input 6(vs_in) + 20(i): 19(ptr) Variable Input + 22: TypePointer Output 8(vs_out) +23(@entryPointOutput): 22(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 18(i): 7(ptr) Variable Function + 24(param): 7(ptr) Variable Function + 21: 6(vs_in) Load 20(i) + Store 18(i) 21 + 25: 6(vs_in) Load 18(i) + Store 24(param) 25 + 26: 8(vs_out) FunctionCall 11(@main(struct-vs_in1;) 24(param) + Store 23(@entryPointOutput) 26 + Return + FunctionEnd +11(@main(struct-vs_in1;): 8(vs_out) Function None 9 + 10(i): 7(ptr) FunctionParameter + 12: Label + 14(o): 13(ptr) Variable Function + 15: 8(vs_out) Load 14(o) + ReturnValue 15 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out index 9dfbe419414..7c1561605ba 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-in.frag.out @@ -2,107 +2,88 @@ hlsl.entry-in.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float) +0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float) 0:8 Function Parameters: -0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:8 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Sequence 0:9 Branch: Return with expression -0:9 add (temp float) -0:9 direct index (temp float) -0:9 v: direct index for structure (temp 2-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 add ( temp float) +0:9 direct index ( temp float) +0:9 v: direct index for structure ( temp 2-component vector of float) +0:9 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const int) -0:9 direct index (temp float) -0:9 fragCoord: direct index for structure (temp 4-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 direct index ( temp float) +0:9 fragCoord: direct index for structure ( temp 4-component vector of float) +0:9 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 0 (const int) -0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float) 0:13 Function Parameters: -0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Sequence -0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 fragCoord: direct index for structure (temp 4-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:15 move second child to first child (temp 2-component vector of int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 2 (const int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) +0:15 move second child to first child ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 'ret1' (temp float) -0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:16 move second child to first child ( temp float) +0:16 'ret1' ( temp float) +0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float) +0:16 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'ret2' (temp float) -0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:17 move second child to first child (temp 2-component vector of int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 2 (const int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 fragCoord: direct index for structure (temp 4-component vector of float) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:19 Constant: -0:19 1 (const int) -0:19 'ret1' (temp float) -0:19 'ret2' (temp float) -0:19 Branch: Return +0:17 move second child to first child ( temp float) +0:17 'ret2' ( temp float) +0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float) +0:17 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Branch: Return with expression +0:19 vector-scale ( temp 4-component vector of float) +0:19 vector-scale ( temp 4-component vector of float) +0:19 fragCoord: direct index for structure ( temp 4-component vector of float) +0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Constant: +0:19 1 (const int) +0:19 'ret1' ( temp float) +0:19 'ret2' ( temp float) +0:13 Function Definition: PixelShaderFunction( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 fragCoord: direct index for structure ( temp 4-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:? 'i_fragCoord' ( in 4-component vector of float FragCoord) +0:13 move second child to first child ( temp 2-component vector of int) +0:13 i2: direct index for structure ( temp 2-component vector of int) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 2 (const int) +0:13 i2: direct index for structure ( temp 2-component vector of int) +0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:13 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:? 'i_fragCoord' ( in 4-component vector of float FragCoord) Linked fragment stage: @@ -111,116 +92,97 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float) +0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; ( temp float) 0:8 Function Parameters: -0:8 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:8 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Sequence 0:9 Branch: Return with expression -0:9 add (temp float) -0:9 direct index (temp float) -0:9 v: direct index for structure (temp 2-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 add ( temp float) +0:9 direct index ( temp float) +0:9 v: direct index for structure ( temp 2-component vector of float) +0:9 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const int) -0:9 direct index (temp float) -0:9 fragCoord: direct index for structure (temp 4-component vector of float) -0:9 'p' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:9 direct index ( temp float) +0:9 fragCoord: direct index for structure ( temp 4-component vector of float) +0:9 'p' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 0 (const int) -0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float) 0:13 Function Parameters: -0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) +0:13 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Sequence -0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 v: direct index for structure (temp 2-component vector of float) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 0 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 fragCoord: direct index for structure (temp 4-component vector of float) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:15 move second child to first child (temp 2-component vector of int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:15 Constant: -0:15 2 (const int) -0:15 i2: direct index for structure (temp 2-component vector of int) -0:15 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:15 Constant: -0:15 1 (const int) +0:15 move second child to first child ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:15 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 'ret1' (temp float) -0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:16 move second child to first child ( temp float) +0:16 'ret1' ( temp float) +0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float) +0:16 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'ret2' (temp float) -0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float) -0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 v: direct index for structure (temp 2-component vector of float) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 fragCoord: direct index for structure (temp 4-component vector of float FragCoord) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) -0:17 move second child to first child (temp 2-component vector of int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:17 Constant: -0:17 2 (const int) -0:17 i2: direct index for structure (temp 2-component vector of int) -0:17 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:17 Constant: -0:17 1 (const int) -0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float FragCoord fragCoord, temp 2-component vector of int i2}) -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 vector-scale (temp 4-component vector of float) -0:19 fragCoord: direct index for structure (temp 4-component vector of float) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) -0:19 Constant: -0:19 1 (const int) -0:19 'ret1' (temp float) -0:19 'ret2' (temp float) -0:19 Branch: Return +0:17 move second child to first child ( temp float) +0:17 'ret2' ( temp float) +0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; ( temp float) +0:17 'i' ( in structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Branch: Return with expression +0:19 vector-scale ( temp 4-component vector of float) +0:19 vector-scale ( temp 4-component vector of float) +0:19 fragCoord: direct index for structure ( temp 4-component vector of float) +0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:19 Constant: +0:19 1 (const int) +0:19 'ret1' ( temp float) +0:19 'ret2' ( temp float) +0:13 Function Definition: PixelShaderFunction( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 fragCoord: direct index for structure ( temp 4-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:? 'i_fragCoord' ( in 4-component vector of float FragCoord) +0:13 move second child to first child ( temp 2-component vector of int) +0:13 i2: direct index for structure ( temp 2-component vector of int) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) +0:13 Constant: +0:13 2 (const int) +0:13 i2: direct index for structure ( temp 2-component vector of int) +0:13 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:13 Constant: +0:13 1 (const int) +0:13 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(struct-InParam-vf2-vf4-vi21; ( temp 4-component vector of float) +0:? 'i' ( temp structure{ temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in structure{temp 2-component vector of float v, temp 2-component vector of int i2}) -0:? 'i_fragCoord' (in 4-component vector of float FragCoord) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in structure{ temp 2-component vector of float v, temp 2-component vector of int i2}) +0:? 'i_fragCoord' ( in 4-component vector of float FragCoord) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 77 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 33 40 70 + EntryPoint Fragment 4 "PixelShaderFunction" 56 63 73 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 11 "InParam" @@ -229,26 +191,24 @@ gl_FragCoord origin is upper left MemberName 11(InParam) 2 "i2" Name 15 "fun(struct-InParam-vf2-vf4-vi21;" Name 14 "p" - Name 30 "local" - Name 31 "InParam" - MemberName 31(InParam) 0 "v" - MemberName 31(InParam) 1 "i2" - Name 33 "i" - Name 40 "i_fragCoord" - Name 50 "ret1" - Name 51 "param" - Name 54 "ret2" - Name 55 "InParam" - MemberName 55(InParam) 0 "v" - MemberName 55(InParam) 1 "fragCoord" - MemberName 55(InParam) 2 "i2" - Name 57 "aggShadow" - Name 66 "param" - Name 70 "@entryPointOutput" - Decorate 33(i) Location 0 - Decorate 40(i_fragCoord) BuiltIn FragCoord - MemberDecorate 55(InParam) 1 BuiltIn FragCoord - Decorate 70(@entryPointOutput) Location 0 + Name 19 "@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;" + Name 18 "i" + Name 34 "local" + Name 36 "ret1" + Name 37 "param" + Name 40 "ret2" + Name 41 "param" + Name 53 "i" + Name 54 "InParam" + MemberName 54(InParam) 0 "v" + MemberName 54(InParam) 1 "i2" + Name 56 "i" + Name 63 "i_fragCoord" + Name 73 "@entryPointOutput" + Name 74 "param" + Decorate 56(i) Location 0 + Decorate 63(i_fragCoord) BuiltIn FragCoord + Decorate 73(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -259,81 +219,80 @@ gl_FragCoord origin is upper left 11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2) 12: TypePointer Function 11(InParam) 13: TypeFunction 6(float) 12(ptr) - 17: 9(int) Constant 0 - 18: TypeInt 32 0 - 19: 18(int) Constant 1 - 20: TypePointer Function 6(float) - 23: 9(int) Constant 1 - 24: 18(int) Constant 0 - 31(InParam): TypeStruct 7(fvec2) 10(ivec2) - 32: TypePointer Input 31(InParam) - 33(i): 32(ptr) Variable Input - 34: TypePointer Input 7(fvec2) - 37: TypePointer Function 7(fvec2) - 39: TypePointer Input 8(fvec4) - 40(i_fragCoord): 39(ptr) Variable Input - 42: TypePointer Function 8(fvec4) - 44: 9(int) Constant 2 - 45: TypePointer Input 10(ivec2) - 48: TypePointer Function 10(ivec2) - 55(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2) - 56: TypePointer Function 55(InParam) - 69: TypePointer Output 8(fvec4) -70(@entryPointOutput): 69(ptr) Variable Output + 17: TypeFunction 8(fvec4) 12(ptr) + 21: 9(int) Constant 0 + 22: TypeInt 32 0 + 23: 22(int) Constant 1 + 24: TypePointer Function 6(float) + 27: 9(int) Constant 1 + 28: 22(int) Constant 0 + 44: TypePointer Function 8(fvec4) + 54(InParam): TypeStruct 7(fvec2) 10(ivec2) + 55: TypePointer Input 54(InParam) + 56(i): 55(ptr) Variable Input + 57: TypePointer Input 7(fvec2) + 60: TypePointer Function 7(fvec2) + 62: TypePointer Input 8(fvec4) + 63(i_fragCoord): 62(ptr) Variable Input + 66: 9(int) Constant 2 + 67: TypePointer Input 10(ivec2) + 70: TypePointer Function 10(ivec2) + 72: TypePointer Output 8(fvec4) +73(@entryPointOutput): 72(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 30(local): 12(ptr) Variable Function - 50(ret1): 20(ptr) Variable Function - 51(param): 12(ptr) Variable Function - 54(ret2): 20(ptr) Variable Function - 57(aggShadow): 56(ptr) Variable Function - 66(param): 56(ptr) Variable Function - 35: 34(ptr) AccessChain 33(i) 17 - 36: 7(fvec2) Load 35 - 38: 37(ptr) AccessChain 30(local) 17 - Store 38 36 - 41: 8(fvec4) Load 40(i_fragCoord) - 43: 42(ptr) AccessChain 30(local) 23 - Store 43 41 - 46: 45(ptr) AccessChain 33(i) 23 - 47: 10(ivec2) Load 46 - 49: 48(ptr) AccessChain 30(local) 44 - Store 49 47 - 52: 11(InParam) Load 30(local) - Store 51(param) 52 - 53: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 51(param) - Store 50(ret1) 53 - 58: 34(ptr) AccessChain 33(i) 17 + 53(i): 12(ptr) Variable Function + 74(param): 12(ptr) Variable Function + 58: 57(ptr) AccessChain 56(i) 21 59: 7(fvec2) Load 58 - 60: 37(ptr) AccessChain 57(aggShadow) 17 - Store 60 59 - 61: 8(fvec4) Load 40(i_fragCoord) - 62: 42(ptr) AccessChain 57(aggShadow) 23 - Store 62 61 - 63: 45(ptr) AccessChain 33(i) 23 - 64: 10(ivec2) Load 63 - 65: 48(ptr) AccessChain 57(aggShadow) 44 + 61: 60(ptr) AccessChain 53(i) 21 + Store 61 59 + 64: 8(fvec4) Load 63(i_fragCoord) + 65: 44(ptr) AccessChain 53(i) 27 Store 65 64 - 67: 55(InParam) Load 57(aggShadow) - Store 66(param) 67 - 68: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 66(param) - Store 54(ret2) 68 - 71: 42(ptr) AccessChain 30(local) 23 - 72: 8(fvec4) Load 71 - 73: 6(float) Load 50(ret1) - 74: 8(fvec4) VectorTimesScalar 72 73 - 75: 6(float) Load 54(ret2) - 76: 8(fvec4) VectorTimesScalar 74 75 - Store 70(@entryPointOutput) 76 + 68: 67(ptr) AccessChain 56(i) 27 + 69: 10(ivec2) Load 68 + 71: 70(ptr) AccessChain 53(i) 66 + Store 71 69 + 75: 11(InParam) Load 53(i) + Store 74(param) 75 + 76: 8(fvec4) FunctionCall 19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;) 74(param) + Store 73(@entryPointOutput) 76 Return FunctionEnd 15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13 14(p): 12(ptr) FunctionParameter 16: Label - 21: 20(ptr) AccessChain 14(p) 17 19 - 22: 6(float) Load 21 - 25: 20(ptr) AccessChain 14(p) 23 24 + 25: 24(ptr) AccessChain 14(p) 21 23 26: 6(float) Load 25 - 27: 6(float) FAdd 22 26 - ReturnValue 27 + 29: 24(ptr) AccessChain 14(p) 27 28 + 30: 6(float) Load 29 + 31: 6(float) FAdd 26 30 + ReturnValue 31 + FunctionEnd +19(@PixelShaderFunction(struct-InParam-vf2-vf4-vi21;): 8(fvec4) Function None 17 + 18(i): 12(ptr) FunctionParameter + 20: Label + 34(local): 12(ptr) Variable Function + 36(ret1): 24(ptr) Variable Function + 37(param): 12(ptr) Variable Function + 40(ret2): 24(ptr) Variable Function + 41(param): 12(ptr) Variable Function + 35: 11(InParam) Load 18(i) + Store 34(local) 35 + 38: 11(InParam) Load 34(local) + Store 37(param) 38 + 39: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 37(param) + Store 36(ret1) 39 + 42: 11(InParam) Load 18(i) + Store 41(param) 42 + 43: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 41(param) + Store 40(ret2) 43 + 45: 44(ptr) AccessChain 34(local) 27 + 46: 8(fvec4) Load 45 + 47: 6(float) Load 36(ret1) + 48: 8(fvec4) VectorTimesScalar 46 47 + 49: 6(float) Load 40(ret2) + 50: 8(fvec4) VectorTimesScalar 48 49 + ReturnValue 50 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out index 86fde14c632..f92605f9e2d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry-out.frag.out @@ -2,91 +2,122 @@ hlsl.entry-out.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void) +0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 0:7 Function Parameters: -0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence -0:8 move second child to first child (temp 2-component vector of float) -0:8 v: direct index for structure (temp 2-component vector of float) -0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:8 move second child to first child ( temp 2-component vector of float) +0:8 v: direct index for structure ( temp 2-component vector of float) +0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: 0:8 0.400000 0:8 0.400000 -0:9 move second child to first child (temp 2-component vector of int) -0:9 i: direct index for structure (temp 2-component vector of int) -0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:9 move second child to first child ( temp 2-component vector of int) +0:9 i: direct index for structure ( temp 2-component vector of int) +0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 7 (const int) 0:9 7 (const int) -0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 0:13 Function Parameters: -0:13 'input' (layout(location=0 ) in 4-component vector of float) -0:13 'out1' (layout(location=1 ) out 4-component vector of float) -0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 'input' ( in 4-component vector of float) +0:13 'out1' ( out 4-component vector of float) +0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'out1' (layout(location=1 ) out 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'out1' ( out 4-component vector of float) +0:14 'input' ( in 4-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 v: direct index for structure ( temp 2-component vector of float) +0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:15 Constant: +0:15 0 (const int) 0:15 Constant: 0:15 2.000000 0:15 2.000000 -0:16 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:16 move second child to first child ( temp 2-component vector of int) +0:16 i: direct index for structure ( temp 2-component vector of int) +0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:16 Constant: +0:16 1 (const int) 0:16 Constant: 0:16 3 (const int) 0:16 3 (const int) -0:18 move second child to first child (temp 2-component vector of float) -0:18 v: direct index for structure (temp 2-component vector of float) -0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:18 move second child to first child ( temp 2-component vector of float) +0:18 v: direct index for structure ( temp 2-component vector of float) +0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:18 Constant: 0:18 0 (const int) 0:18 Constant: 0:18 12.000000 0:18 12.000000 -0:19 move second child to first child (temp 2-component vector of int) -0:19 i: direct index for structure (temp 2-component vector of int) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:19 move second child to first child ( temp 2-component vector of int) +0:19 i: direct index for structure ( temp 2-component vector of int) +0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 13 (const int) 0:19 13 (const int) -0:20 Comma (temp void) -0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:20 v: direct index for structure (temp 2-component vector of float) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 0 (const int) -0:20 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=5 ) out 2-component vector of int) -0:20 i: direct index for structure (temp 2-component vector of int) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 1 (const int) -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:22 'out1' (layout(location=1 ) out 4-component vector of float) -0:22 Branch: Return +0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) +0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:22 Branch: Return with expression +0:22 'out1' ( out 4-component vector of float) +0:13 Function Definition: PixelShaderFunction( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'out1' ( temp 4-component vector of float) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'out1' (layout( location=1) out 4-component vector of float) +0:? 'out1' ( temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:? 'v' (layout( location=2) out 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 2-component vector of int) +0:? 'i' (layout( location=3) out 2-component vector of int) +0:13 i: direct index for structure ( temp 2-component vector of int) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:? 'v' (layout( location=4) out 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 2-component vector of int) +0:? 'i' (layout( location=5) out 2-component vector of int) +0:13 i: direct index for structure ( temp 2-component vector of int) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'out1' (layout(location=1 ) out 4-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) -0:? 'i' (layout(location=3 ) out 2-component vector of int) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'out1' (layout( location=1) out 4-component vector of float) +0:? 'v' (layout( location=2) out 2-component vector of float) +0:? 'i' (layout( location=3) out 2-component vector of int) +0:? 'v' (layout( location=4) out 2-component vector of float) +0:? 'i' (layout( location=5) out 2-component vector of int) Linked fragment stage: @@ -95,100 +126,131 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void) +0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void) 0:7 Function Parameters: -0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence -0:8 move second child to first child (temp 2-component vector of float) -0:8 v: direct index for structure (temp 2-component vector of float) -0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:8 move second child to first child ( temp 2-component vector of float) +0:8 v: direct index for structure ( temp 2-component vector of float) +0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: 0:8 0.400000 0:8 0.400000 -0:9 move second child to first child (temp 2-component vector of int) -0:9 i: direct index for structure (temp 2-component vector of int) -0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:9 move second child to first child ( temp 2-component vector of int) +0:9 i: direct index for structure ( temp 2-component vector of int) +0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:9 Constant: 0:9 1 (const int) 0:9 Constant: 0:9 7 (const int) 0:9 7 (const int) -0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float) +0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) 0:13 Function Parameters: -0:13 'input' (layout(location=0 ) in 4-component vector of float) -0:13 'out1' (layout(location=1 ) out 4-component vector of float) -0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 'input' ( in 4-component vector of float) +0:13 'out1' ( out 4-component vector of float) +0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:? Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'out1' (layout(location=1 ) out 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:15 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'out1' ( out 4-component vector of float) +0:14 'input' ( in 4-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 v: direct index for structure ( temp 2-component vector of float) +0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:15 Constant: +0:15 0 (const int) 0:15 Constant: 0:15 2.000000 0:15 2.000000 -0:16 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=3 ) out 2-component vector of int) +0:16 move second child to first child ( temp 2-component vector of int) +0:16 i: direct index for structure ( temp 2-component vector of int) +0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:16 Constant: +0:16 1 (const int) 0:16 Constant: 0:16 3 (const int) 0:16 3 (const int) -0:18 move second child to first child (temp 2-component vector of float) -0:18 v: direct index for structure (temp 2-component vector of float) -0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:18 move second child to first child ( temp 2-component vector of float) +0:18 v: direct index for structure ( temp 2-component vector of float) +0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:18 Constant: 0:18 0 (const int) 0:18 Constant: 0:18 12.000000 0:18 12.000000 -0:19 move second child to first child (temp 2-component vector of int) -0:19 i: direct index for structure (temp 2-component vector of int) -0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) +0:19 move second child to first child ( temp 2-component vector of int) +0:19 i: direct index for structure ( temp 2-component vector of int) +0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 13 (const int) 0:19 13 (const int) -0:20 Comma (temp void) -0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:20 v: direct index for structure (temp 2-component vector of float) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 0 (const int) -0:20 move second child to first child (temp 2-component vector of int) -0:? 'i' (layout(location=5 ) out 2-component vector of int) -0:20 i: direct index for structure (temp 2-component vector of int) -0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i}) -0:20 Constant: -0:20 1 (const int) -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:22 'out1' (layout(location=1 ) out 4-component vector of float) -0:22 Branch: Return +0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void) +0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:22 Branch: Return with expression +0:22 'out1' ( out 4-component vector of float) +0:13 Function Definition: PixelShaderFunction( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'out1' ( temp 4-component vector of float) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'out1' (layout( location=1) out 4-component vector of float) +0:? 'out1' ( temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:? 'v' (layout( location=2) out 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 2-component vector of int) +0:? 'i' (layout( location=3) out 2-component vector of int) +0:13 i: direct index for structure ( temp 2-component vector of int) +0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) +0:13 Sequence +0:13 move second child to first child ( temp 2-component vector of float) +0:? 'v' (layout( location=4) out 2-component vector of float) +0:13 v: direct index for structure ( temp 2-component vector of float) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp 2-component vector of int) +0:? 'i' (layout( location=5) out 2-component vector of int) +0:13 i: direct index for structure ( temp 2-component vector of int) +0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'out1' (layout(location=1 ) out 4-component vector of float) -0:? 'v' (layout(location=2 ) out 2-component vector of float) -0:? 'i' (layout(location=3 ) out 2-component vector of int) -0:? 'v' (layout(location=4 ) out 2-component vector of float) -0:? 'i' (layout(location=5 ) out 2-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'out1' (layout( location=1) out 4-component vector of float) +0:? 'v' (layout( location=2) out 2-component vector of float) +0:? 'i' (layout( location=3) out 2-component vector of int) +0:? 'v' (layout( location=4) out 2-component vector of float) +0:? 'i' (layout( location=5) out 2-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 60 +// Id's are bound by 89 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57 + EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 10 "OutParam" @@ -196,23 +258,35 @@ gl_FragCoord origin is upper left MemberName 10(OutParam) 1 "i" Name 14 "fun(struct-OutParam-vf2-vi21;" Name 13 "op" - Name 28 "out1" - Name 30 "input" - Name 33 "v" - Name 37 "i" - Name 40 "local" - Name 47 "tempArg" - Name 48 "param" - Name 51 "v" - Name 54 "i" - Name 57 "@entryPointOutput" - Decorate 28(out1) Location 1 - Decorate 30(input) Location 0 - Decorate 33(v) Location 2 - Decorate 37(i) Location 3 - Decorate 51(v) Location 4 - Decorate 54(i) Location 5 - Decorate 57(@entryPointOutput) Location 0 + Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;" + Name 19 "input" + Name 20 "out1" + Name 21 "out2" + Name 22 "out3" + Name 42 "local" + Name 49 "param" + Name 55 "input" + Name 57 "input" + Name 60 "@entryPointOutput" + Name 61 "out1" + Name 62 "out2" + Name 63 "out3" + Name 64 "param" + Name 66 "param" + Name 67 "param" + Name 68 "param" + Name 73 "out1" + Name 76 "v" + Name 80 "i" + Name 83 "v" + Name 86 "i" + Decorate 57(input) Location 0 + Decorate 60(@entryPointOutput) Location 0 + Decorate 73(out1) Location 1 + Decorate 76(v) Location 2 + Decorate 80(i) Location 3 + Decorate 83(v) Location 4 + Decorate 86(i) Location 5 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -222,66 +296,104 @@ gl_FragCoord origin is upper left 10(OutParam): TypeStruct 7(fvec2) 9(ivec2) 11: TypePointer Function 10(OutParam) 12: TypeFunction 2 11(ptr) - 16: 8(int) Constant 0 - 17: 6(float) Constant 1053609165 - 18: 7(fvec2) ConstantComposite 17 17 - 19: TypePointer Function 7(fvec2) - 21: 8(int) Constant 1 - 22: 8(int) Constant 7 - 23: 9(ivec2) ConstantComposite 22 22 - 24: TypePointer Function 9(ivec2) - 26: TypeVector 6(float) 4 - 27: TypePointer Output 26(fvec4) - 28(out1): 27(ptr) Variable Output - 29: TypePointer Input 26(fvec4) - 30(input): 29(ptr) Variable Input - 32: TypePointer Output 7(fvec2) - 33(v): 32(ptr) Variable Output - 34: 6(float) Constant 1073741824 - 35: 7(fvec2) ConstantComposite 34 34 - 36: TypePointer Output 9(ivec2) - 37(i): 36(ptr) Variable Output - 38: 8(int) Constant 3 - 39: 9(ivec2) ConstantComposite 38 38 - 41: 6(float) Constant 1094713344 - 42: 7(fvec2) ConstantComposite 41 41 - 44: 8(int) Constant 13 - 45: 9(ivec2) ConstantComposite 44 44 - 51(v): 32(ptr) Variable Output - 54(i): 36(ptr) Variable Output -57(@entryPointOutput): 27(ptr) Variable Output + 16: TypeVector 6(float) 4 + 17: TypePointer Function 16(fvec4) + 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr) + 25: 8(int) Constant 0 + 26: 6(float) Constant 1053609165 + 27: 7(fvec2) ConstantComposite 26 26 + 28: TypePointer Function 7(fvec2) + 30: 8(int) Constant 1 + 31: 8(int) Constant 7 + 32: 9(ivec2) ConstantComposite 31 31 + 33: TypePointer Function 9(ivec2) + 36: 6(float) Constant 1073741824 + 37: 7(fvec2) ConstantComposite 36 36 + 39: 8(int) Constant 3 + 40: 9(ivec2) ConstantComposite 39 39 + 43: 6(float) Constant 1094713344 + 44: 7(fvec2) ConstantComposite 43 43 + 46: 8(int) Constant 13 + 47: 9(ivec2) ConstantComposite 46 46 + 56: TypePointer Input 16(fvec4) + 57(input): 56(ptr) Variable Input + 59: TypePointer Output 16(fvec4) +60(@entryPointOutput): 59(ptr) Variable Output + 73(out1): 59(ptr) Variable Output + 75: TypePointer Output 7(fvec2) + 76(v): 75(ptr) Variable Output + 79: TypePointer Output 9(ivec2) + 80(i): 79(ptr) Variable Output + 83(v): 75(ptr) Variable Output + 86(i): 79(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 40(local): 11(ptr) Variable Function - 47(tempArg): 11(ptr) Variable Function - 48(param): 11(ptr) Variable Function - 31: 26(fvec4) Load 30(input) - Store 28(out1) 31 - Store 33(v) 35 - Store 37(i) 39 - 43: 19(ptr) AccessChain 40(local) 16 - Store 43 42 - 46: 24(ptr) AccessChain 40(local) 21 - Store 46 45 - 49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param) - 50:10(OutParam) Load 48(param) - Store 47(tempArg) 50 - 52: 19(ptr) AccessChain 47(tempArg) 16 - 53: 7(fvec2) Load 52 - Store 51(v) 53 - 55: 24(ptr) AccessChain 47(tempArg) 21 - 56: 9(ivec2) Load 55 - Store 54(i) 56 - 58: 26(fvec4) Load 28(out1) - Store 57(@entryPointOutput) 58 + 55(input): 17(ptr) Variable Function + 61(out1): 17(ptr) Variable Function + 62(out2): 11(ptr) Variable Function + 63(out3): 11(ptr) Variable Function + 64(param): 17(ptr) Variable Function + 66(param): 17(ptr) Variable Function + 67(param): 11(ptr) Variable Function + 68(param): 11(ptr) Variable Function + 58: 16(fvec4) Load 57(input) + Store 55(input) 58 + 65: 16(fvec4) Load 55(input) + Store 64(param) 65 + 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param) + 70: 16(fvec4) Load 66(param) + Store 61(out1) 70 + 71:10(OutParam) Load 67(param) + Store 62(out2) 71 + 72:10(OutParam) Load 68(param) + Store 63(out3) 72 + Store 60(@entryPointOutput) 69 + 74: 16(fvec4) Load 61(out1) + Store 73(out1) 74 + 77: 28(ptr) AccessChain 62(out2) 25 + 78: 7(fvec2) Load 77 + Store 76(v) 78 + 81: 33(ptr) AccessChain 62(out2) 30 + 82: 9(ivec2) Load 81 + Store 80(i) 82 + 84: 28(ptr) AccessChain 63(out3) 25 + 85: 7(fvec2) Load 84 + Store 83(v) 85 + 87: 33(ptr) AccessChain 63(out3) 30 + 88: 9(ivec2) Load 87 + Store 86(i) 88 Return FunctionEnd 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12 13(op): 11(ptr) FunctionParameter 15: Label - 20: 19(ptr) AccessChain 13(op) 16 - Store 20 18 - 25: 24(ptr) AccessChain 13(op) 21 - Store 25 23 + 29: 28(ptr) AccessChain 13(op) 25 + Store 29 27 + 34: 33(ptr) AccessChain 13(op) 30 + Store 34 32 Return FunctionEnd +23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18 + 19(input): 17(ptr) FunctionParameter + 20(out1): 17(ptr) FunctionParameter + 21(out2): 11(ptr) FunctionParameter + 22(out3): 11(ptr) FunctionParameter + 24: Label + 42(local): 11(ptr) Variable Function + 49(param): 11(ptr) Variable Function + 35: 16(fvec4) Load 19(input) + Store 20(out1) 35 + 38: 28(ptr) AccessChain 21(out2) 25 + Store 38 37 + 41: 33(ptr) AccessChain 21(out2) 30 + Store 41 40 + 45: 28(ptr) AccessChain 42(local) 25 + Store 45 44 + 48: 33(ptr) AccessChain 42(local) 30 + Store 48 47 + 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param) + 51:10(OutParam) Load 49(param) + Store 22(out3) 51 + 52: 16(fvec4) Load 20(out1) + ReturnValue 52 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out index b24cb7a2571..293592f85c3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out @@ -2,14 +2,14 @@ hlsl.entry.rename.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: not_the_entry_point( (temp void) +0:7 Function Definition: not_the_entry_point( ( temp void) 0:7 Function Parameters: -0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main_in_spv( ( temp structure{ temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 Color: direct index for structure (temp 4-component vector of float) -0:13 'psout' (temp structure{temp 4-component vector of float Color}) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 Color: direct index for structure ( temp 4-component vector of float) +0:13 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:13 Constant: 0:13 0 (const int) 0:13 Constant: @@ -17,18 +17,21 @@ gl_FragCoord origin is upper left 0:13 0.000000 0:13 0.000000 0:13 0.000000 -0:14 Sequence -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:14 Color: direct index for structure (temp 4-component vector of float) -0:14 'psout' (temp structure{temp 4-component vector of float Color}) -0:14 Constant: -0:14 0 (const int) -0:14 Branch: Return +0:14 Branch: Return with expression +0:14 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:11 Function Definition: main_in_spv( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:11 Color: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main_in_spv( ( temp structure{ temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int also_not_the_entry_point}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -37,14 +40,14 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: not_the_entry_point( (temp void) +0:7 Function Definition: not_the_entry_point( ( temp void) 0:7 Function Parameters: -0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main_in_spv( ( temp structure{ temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 Color: direct index for structure (temp 4-component vector of float) -0:13 'psout' (temp structure{temp 4-component vector of float Color}) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 Color: direct index for structure ( temp 4-component vector of float) +0:13 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:13 Constant: 0:13 0 (const int) 0:13 Constant: @@ -52,68 +55,78 @@ gl_FragCoord origin is upper left 0:13 0.000000 0:13 0.000000 0:13 0.000000 -0:14 Sequence -0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:14 Color: direct index for structure (temp 4-component vector of float) -0:14 'psout' (temp structure{temp 4-component vector of float Color}) -0:14 Constant: -0:14 0 (const int) -0:14 Branch: Return +0:14 Branch: Return with expression +0:14 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:11 Function Definition: main_in_spv( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:11 Color: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main_in_spv( ( temp structure{ temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int also_not_the_entry_point}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 27 +// Id's are bound by 32 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_in_spv" 20 + EntryPoint Fragment 4 "main_in_spv" 26 ExecutionMode 4 OriginUpperLeft Name 4 "main_in_spv" Name 6 "not_the_entry_point(" Name 10 "PS_OUTPUT" MemberName 10(PS_OUTPUT) 0 "Color" - Name 12 "psout" - Name 20 "Color" - Name 24 "$Global" - MemberName 24($Global) 0 "also_not_the_entry_point" - Name 26 "" - Decorate 20(Color) Location 0 - MemberDecorate 24($Global) 0 Offset 0 - Decorate 24($Global) Block - Decorate 26 DescriptorSet 0 + Name 12 "@main_in_spv(" + Name 15 "psout" + Name 26 "Color" + Name 29 "$Global" + MemberName 29($Global) 0 "also_not_the_entry_point" + Name 31 "" + Decorate 26(Color) Location 0 + MemberDecorate 29($Global) 0 Offset 0 + Decorate 29($Global) Block + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 9: TypeVector 8(float) 4 10(PS_OUTPUT): TypeStruct 9(fvec4) - 11: TypePointer Function 10(PS_OUTPUT) - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 15: 8(float) Constant 0 - 16: 9(fvec4) ConstantComposite 15 15 15 15 - 17: TypePointer Function 9(fvec4) - 19: TypePointer Output 9(fvec4) - 20(Color): 19(ptr) Variable Output - 24($Global): TypeStruct 13(int) - 25: TypePointer Uniform 24($Global) - 26: 25(ptr) Variable Uniform + 11: TypeFunction 10(PS_OUTPUT) + 14: TypePointer Function 10(PS_OUTPUT) + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: 8(float) Constant 0 + 19: 9(fvec4) ConstantComposite 18 18 18 18 + 20: TypePointer Function 9(fvec4) + 25: TypePointer Output 9(fvec4) + 26(Color): 25(ptr) Variable Output + 29($Global): TypeStruct 16(int) + 30: TypePointer Uniform 29($Global) + 31: 30(ptr) Variable Uniform 4(main_in_spv): 2 Function None 3 5: Label - 12(psout): 11(ptr) Variable Function - 18: 17(ptr) AccessChain 12(psout) 14 - Store 18 16 - 21: 17(ptr) AccessChain 12(psout) 14 - 22: 9(fvec4) Load 21 - Store 20(Color) 22 + 27:10(PS_OUTPUT) FunctionCall 12(@main_in_spv() + 28: 9(fvec4) CompositeExtract 27 0 + Store 26(Color) 28 Return FunctionEnd 6(not_the_entry_point(): 2 Function None 3 7: Label Return FunctionEnd +12(@main_in_spv():10(PS_OUTPUT) Function None 11 + 13: Label + 15(psout): 14(ptr) Variable Function + 21: 20(ptr) AccessChain 15(psout) 17 + Store 21 19 + 22:10(PS_OUTPUT) Load 15(psout) + ReturnValue 22 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out index 39fbf0ef87f..9b28695f782 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.flatten.return.frag.out @@ -2,7 +2,7 @@ hlsl.flatten.return.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) 0:11 Function Parameters: 0:? Sequence 0:12 Branch: Return with expression @@ -14,44 +14,47 @@ gl_FragCoord origin is upper left 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) 0:16 Function Parameters: 0:? Sequence -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:17 other_struct_member1: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 1 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:17 other_struct_member2: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 2 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member3' (layout(location=3 ) out float) -0:17 other_struct_member3: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 Function Call: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:16 color: direct index for structure ( temp 4-component vector of float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 0 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member1' (layout( location=1) out float) +0:16 other_struct_member1: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 1 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member2' (layout( location=2) out float) +0:16 other_struct_member2: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 2 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member3' (layout( location=3) out float) +0:16 other_struct_member3: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 3 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:? 'other_struct_member3' (layout(location=3 ) out float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:? 'other_struct_member1' (layout( location=1) out float) +0:? 'other_struct_member2' (layout( location=2) out float) +0:? 'other_struct_member3' (layout( location=3) out float) Linked fragment stage: @@ -60,7 +63,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:11 Function Definition: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) 0:11 Function Parameters: 0:? Sequence 0:12 Branch: Return with expression @@ -72,53 +75,56 @@ gl_FragCoord origin is upper left 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Parameters: +0:? Sequence +0:17 Branch: Return with expression +0:17 Function Call: Func1( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Definition: main( ( temp void) 0:16 Function Parameters: 0:? Sequence -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 0 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:17 other_struct_member1: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 1 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:17 other_struct_member2: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 2 (const int) -0:17 move second child to first child (temp float) -0:? 'other_struct_member3' (layout(location=3 ) out float) -0:17 other_struct_member3: direct index for structure (temp float) -0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:16 Sequence +0:16 move second child to first child ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:16 color: direct index for structure ( temp 4-component vector of float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 0 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member1' (layout( location=1) out float) +0:16 other_struct_member1: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 1 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member2' (layout( location=2) out float) +0:16 other_struct_member2: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 2 (const int) +0:16 move second child to first child ( temp float) +0:? 'other_struct_member3' (layout( location=3) out float) +0:16 other_struct_member3: direct index for structure ( temp float) +0:16 'flattenTemp' ( temp structure{ temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3}) +0:16 Constant: +0:16 3 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'other_struct_member1' (layout(location=1 ) out float) -0:? 'other_struct_member2' (layout(location=2 ) out float) -0:? 'other_struct_member3' (layout(location=3 ) out float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:? 'other_struct_member1' (layout( location=1) out float) +0:? 'other_struct_member2' (layout( location=2) out float) +0:? 'other_struct_member3' (layout( location=3) out float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 49 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 24 31 36 40 + EntryPoint Fragment 4 "main" 29 36 41 45 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" @@ -127,61 +133,67 @@ gl_FragCoord origin is upper left MemberName 8(PS_OUTPUT) 2 "other_struct_member2" MemberName 8(PS_OUTPUT) 3 "other_struct_member3" Name 10 "Func1(" - Name 21 "flattenTemp" - Name 24 "color" - Name 31 "other_struct_member1" - Name 36 "other_struct_member2" - Name 40 "other_struct_member3" - Decorate 24(color) Location 0 - Decorate 31(other_struct_member1) Location 1 - Decorate 36(other_struct_member2) Location 2 - Decorate 40(other_struct_member3) Location 3 + Name 12 "@main(" + Name 26 "flattenTemp" + Name 29 "color" + Name 36 "other_struct_member1" + Name 41 "other_struct_member2" + Name 45 "other_struct_member3" + Decorate 29(color) Location 0 + Decorate 36(other_struct_member1) Location 1 + Decorate 41(other_struct_member2) Location 2 + Decorate 45(other_struct_member3) Location 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float) 9: TypeFunction 8(PS_OUTPUT) - 12: 6(float) Constant 1065353216 - 13: 7(fvec4) ConstantComposite 12 12 12 12 - 14: 6(float) Constant 1073741824 - 15: 6(float) Constant 1077936128 - 16: 6(float) Constant 1082130432 - 17:8(PS_OUTPUT) ConstantComposite 13 14 15 16 - 20: TypePointer Function 8(PS_OUTPUT) - 23: TypePointer Output 7(fvec4) - 24(color): 23(ptr) Variable Output - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 27: TypePointer Function 7(fvec4) - 30: TypePointer Output 6(float) -31(other_struct_member1): 30(ptr) Variable Output - 32: 25(int) Constant 1 - 33: TypePointer Function 6(float) -36(other_struct_member2): 30(ptr) Variable Output - 37: 25(int) Constant 2 -40(other_struct_member3): 30(ptr) Variable Output - 41: 25(int) Constant 3 + 14: 6(float) Constant 1065353216 + 15: 7(fvec4) ConstantComposite 14 14 14 14 + 16: 6(float) Constant 1073741824 + 17: 6(float) Constant 1077936128 + 18: 6(float) Constant 1082130432 + 19:8(PS_OUTPUT) ConstantComposite 15 16 17 18 + 25: TypePointer Function 8(PS_OUTPUT) + 28: TypePointer Output 7(fvec4) + 29(color): 28(ptr) Variable Output + 30: TypeInt 32 1 + 31: 30(int) Constant 0 + 32: TypePointer Function 7(fvec4) + 35: TypePointer Output 6(float) +36(other_struct_member1): 35(ptr) Variable Output + 37: 30(int) Constant 1 + 38: TypePointer Function 6(float) +41(other_struct_member2): 35(ptr) Variable Output + 42: 30(int) Constant 2 +45(other_struct_member3): 35(ptr) Variable Output + 46: 30(int) Constant 3 4(main): 2 Function None 3 5: Label - 21(flattenTemp): 20(ptr) Variable Function - 22:8(PS_OUTPUT) FunctionCall 10(Func1() - Store 21(flattenTemp) 22 - 28: 27(ptr) AccessChain 21(flattenTemp) 26 - 29: 7(fvec4) Load 28 - Store 24(color) 29 - 34: 33(ptr) AccessChain 21(flattenTemp) 32 - 35: 6(float) Load 34 - Store 31(other_struct_member1) 35 - 38: 33(ptr) AccessChain 21(flattenTemp) 37 - 39: 6(float) Load 38 - Store 36(other_struct_member2) 39 - 42: 33(ptr) AccessChain 21(flattenTemp) 41 - 43: 6(float) Load 42 - Store 40(other_struct_member3) 43 + 26(flattenTemp): 25(ptr) Variable Function + 27:8(PS_OUTPUT) FunctionCall 12(@main() + Store 26(flattenTemp) 27 + 33: 32(ptr) AccessChain 26(flattenTemp) 31 + 34: 7(fvec4) Load 33 + Store 29(color) 34 + 39: 38(ptr) AccessChain 26(flattenTemp) 37 + 40: 6(float) Load 39 + Store 36(other_struct_member1) 40 + 43: 38(ptr) AccessChain 26(flattenTemp) 42 + 44: 6(float) Load 43 + Store 41(other_struct_member2) 44 + 47: 38(ptr) AccessChain 26(flattenTemp) 46 + 48: 6(float) Load 47 + Store 45(other_struct_member3) 48 Return FunctionEnd 10(Func1():8(PS_OUTPUT) Function None 9 11: Label - ReturnValue 17 + ReturnValue 19 + FunctionEnd + 12(@main():8(PS_OUTPUT) Function None 9 + 13: Label + 22:8(PS_OUTPUT) FunctionCall 10(Func1() + ReturnValue 22 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out index 641febd7bbb..ad29daac4b0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out @@ -3,31 +3,31 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 1-component vector of float) -0:1 'f1' (global 1-component vector of float) +0:1 move second child to first child ( temp 1-component vector of float) +0:1 'f1' ( global 1-component vector of float) 0:1 Constant: 0:1 1.000000 0:2 Sequence -0:2 move second child to first child (temp float) -0:2 'scalar' (global float) +0:2 move second child to first child ( temp float) +0:2 'scalar' ( global float) 0:2 Constant: 0:2 2.000000 -0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float) +0:5 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) 0:5 Function Parameters: -0:5 'inFloat1' (in 1-component vector of float) -0:5 'inScalar' (in float) +0:5 'inFloat1' ( in 1-component vector of float) +0:5 'inScalar' ( in float) 0:? Sequence 0:6 Branch: Return with expression -0:6 add (temp 1-component vector of float) -0:6 vector-scale (temp 1-component vector of float) -0:6 'f1' (global 1-component vector of float) -0:6 'scalar' (global float) -0:6 vector-scale (temp 1-component vector of float) -0:6 'inFloat1' (in 1-component vector of float) -0:6 'inScalar' (in float) +0:6 add ( temp 1-component vector of float) +0:6 vector-scale ( temp 1-component vector of float) +0:6 'f1' ( global 1-component vector of float) +0:6 'scalar' ( global float) +0:6 vector-scale ( temp 1-component vector of float) +0:6 'inFloat1' ( in 1-component vector of float) +0:6 'inScalar' ( in float) 0:? Linker Objects -0:? 'f1' (global 1-component vector of float) -0:? 'scalar' (global float) +0:? 'f1' ( global 1-component vector of float) +0:? 'scalar' ( global float) Linked fragment stage: @@ -38,31 +38,31 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 1-component vector of float) -0:1 'f1' (global 1-component vector of float) +0:1 move second child to first child ( temp 1-component vector of float) +0:1 'f1' ( global 1-component vector of float) 0:1 Constant: 0:1 1.000000 0:2 Sequence -0:2 move second child to first child (temp float) -0:2 'scalar' (global float) +0:2 move second child to first child ( temp float) +0:2 'scalar' ( global float) 0:2 Constant: 0:2 2.000000 -0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float) +0:5 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) 0:5 Function Parameters: -0:5 'inFloat1' (in 1-component vector of float) -0:5 'inScalar' (in float) +0:5 'inFloat1' ( in 1-component vector of float) +0:5 'inScalar' ( in float) 0:? Sequence 0:6 Branch: Return with expression -0:6 add (temp 1-component vector of float) -0:6 vector-scale (temp 1-component vector of float) -0:6 'f1' (global 1-component vector of float) -0:6 'scalar' (global float) -0:6 vector-scale (temp 1-component vector of float) -0:6 'inFloat1' (in 1-component vector of float) -0:6 'inScalar' (in float) +0:6 add ( temp 1-component vector of float) +0:6 vector-scale ( temp 1-component vector of float) +0:6 'f1' ( global 1-component vector of float) +0:6 'scalar' ( global float) +0:6 vector-scale ( temp 1-component vector of float) +0:6 'inFloat1' ( in 1-component vector of float) +0:6 'inScalar' ( in float) 0:? Linker Objects -0:? 'f1' (global 1-component vector of float) -0:? 'scalar' (global float) +0:? 'f1' ( global 1-component vector of float) +0:? 'scalar' ( global float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out index 27c9a5c6cf0..d14de7b2dab 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out @@ -5,19 +5,19 @@ WARNING: 0:6: 'register' : ignoring shader_profile Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:9 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) 0:9 Function Parameters: -0:9 'input' (in 4-component vector of float) +0:9 'input' ( in 4-component vector of float) 0:? Sequence 0:10 Branch: Return with expression -0:10 component-wise multiply (temp 4-component vector of float) -0:10 'input' (in 4-component vector of float) -0:10 AmbientColor: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:10 component-wise multiply ( temp 4-component vector of float) +0:10 'input' ( in 4-component vector of float) +0:10 AmbientColor: direct index for structure ( uniform 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4}) 0:10 Constant: 0:10 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4}) Linked fragment stage: @@ -27,19 +27,19 @@ WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:9 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) 0:9 Function Parameters: -0:9 'input' (in 4-component vector of float) +0:9 'input' ( in 4-component vector of float) 0:? Sequence 0:10 Branch: Return with expression -0:10 component-wise multiply (temp 4-component vector of float) -0:10 'input' (in 4-component vector of float) -0:10 AmbientColor: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:10 component-wise multiply ( temp 4-component vector of float) +0:10 'input' ( in 4-component vector of float) +0:10 AmbientColor: direct index for structure ( uniform 4-component vector of float) +0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4}) 0:10 Constant: 0:10 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4}) // Module Version 10000 // Generated by (magic number): 80001 @@ -62,7 +62,6 @@ gl_FragCoord origin is upper left Name 17 "" MemberDecorate 15($Global) 0 Offset 0 MemberDecorate 15($Global) 1 Offset 16 - MemberDecorate 15($Global) 1 BuiltIn FrontFacing MemberDecorate 15($Global) 2 Offset 20 MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 15($Global) 4 Offset 48 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out index 85b8fb272b4..a14b9ac0b93 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.forLoop.frag.out @@ -2,74 +2,68 @@ hlsl.forLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first 0:3 No loop condition 0:3 No loop body 0:4 Sequence -0:4 Pre-Increment (temp 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) +0:4 Pre-Increment ( temp 4-component vector of float) +0:4 'input' ( in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition -0:5 any (temp bool) -0:5 NotEqual (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 any ( temp bool) +0:5 NotEqual ( temp 4-component vector of bool) +0:5 'input' ( in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition -0:6 any (temp bool) -0:6 NotEqual (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 any ( temp bool) +0:6 NotEqual ( temp 4-component vector of bool) +0:6 'input' ( in 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Negate value ( temp 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:7 Sequence -0:7 Pre-Decrement (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 Pre-Decrement ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition -0:7 any (temp bool) -0:7 NotEqual (temp 4-component vector of bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 any ( temp bool) +0:7 NotEqual ( temp 4-component vector of bool) +0:7 'input' ( in 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 Negate value ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop Terminal Expression -0:7 add second child into first child (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 add second child into first child ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence 0:8 Loop with condition tested first 0:8 No loop condition 0:8 Loop Body -0:8 Test condition and select (temp void) +0:8 Test condition and select ( temp void) 0:8 Condition -0:8 Compare Greater Than (temp bool) -0:8 direct index (temp float) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 Compare Greater Than ( temp bool) +0:8 direct index ( temp float) +0:8 'input' ( in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: @@ -80,11 +74,11 @@ gl_FragCoord origin is upper left 0:9 Loop with condition tested first 0:9 No loop condition 0:9 Loop Body -0:9 Test condition and select (temp void) +0:9 Test condition and select ( temp void) 0:9 Condition -0:9 Compare Greater Than (temp bool) -0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 Compare Greater Than ( temp bool) +0:9 direct index ( temp float) +0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: @@ -92,33 +86,43 @@ gl_FragCoord origin is upper left 0:9 true case 0:9 Branch: Continue 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'ii' (temp int) +0:11 move second child to first child ( temp int) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 -1 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 'ii' (temp int) +0:11 Compare Less Than ( temp bool) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 3 (const int) 0:11 Loop Body -0:11 Test condition and select (temp void) +0:11 Test condition and select ( temp void) 0:11 Condition -0:11 Compare Equal (temp bool) -0:11 'ii' (temp int) +0:11 Compare Equal ( temp bool) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 2 (const int) 0:11 true case 0:11 Branch: Continue 0:11 Loop Terminal Expression -0:11 Pre-Increment (temp int) -0:11 'ii' (temp int) -0:12 Pre-Decrement (temp float) -0:12 'ii' (temp float) +0:11 Pre-Increment ( temp int) +0:11 'ii' ( temp int) +0:12 Pre-Decrement ( temp float) +0:12 'ii' ( temp float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -127,74 +131,68 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:? Sequence 0:3 Loop with condition tested first 0:3 No loop condition 0:3 No loop body 0:4 Sequence -0:4 Pre-Increment (temp 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) +0:4 Pre-Increment ( temp 4-component vector of float) +0:4 'input' ( in 4-component vector of float) 0:4 Loop with condition tested first 0:4 No loop condition 0:4 No loop body 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition -0:5 any (temp bool) -0:5 NotEqual (temp 4-component vector of bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 any ( temp bool) +0:5 NotEqual ( temp 4-component vector of bool) +0:5 'input' ( in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition -0:6 any (temp bool) -0:6 NotEqual (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 any ( temp bool) +0:6 NotEqual ( temp 4-component vector of bool) +0:6 'input' ( in 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:6 Loop Body 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:6 Negate value (temp 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Negate value ( temp 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:7 Sequence -0:7 Pre-Decrement (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 Pre-Decrement ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition -0:7 any (temp bool) -0:7 NotEqual (temp 4-component vector of bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 any ( temp bool) +0:7 NotEqual ( temp 4-component vector of bool) +0:7 'input' ( in 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop Body 0:? Sequence -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 Negate value (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 Negate value ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Loop Terminal Expression -0:7 add second child into first child (temp 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 add second child into first child ( temp 4-component vector of float) +0:7 'input' ( in 4-component vector of float) 0:7 Constant: 0:7 2.000000 0:? Sequence 0:8 Loop with condition tested first 0:8 No loop condition 0:8 Loop Body -0:8 Test condition and select (temp void) +0:8 Test condition and select ( temp void) 0:8 Condition -0:8 Compare Greater Than (temp bool) -0:8 direct index (temp float) -0:8 'input' (layout(location=0 ) in 4-component vector of float) +0:8 Compare Greater Than ( temp bool) +0:8 direct index ( temp float) +0:8 'input' ( in 4-component vector of float) 0:8 Constant: 0:8 0 (const int) 0:8 Constant: @@ -205,11 +203,11 @@ gl_FragCoord origin is upper left 0:9 Loop with condition tested first 0:9 No loop condition 0:9 Loop Body -0:9 Test condition and select (temp void) +0:9 Test condition and select ( temp void) 0:9 Condition -0:9 Compare Greater Than (temp bool) -0:9 direct index (temp float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) +0:9 Compare Greater Than ( temp bool) +0:9 direct index ( temp float) +0:9 'input' ( in 4-component vector of float) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: @@ -217,217 +215,244 @@ gl_FragCoord origin is upper left 0:9 true case 0:9 Branch: Continue 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'ii' (temp int) +0:11 move second child to first child ( temp int) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 -1 (const int) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 'ii' (temp int) +0:11 Compare Less Than ( temp bool) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 3 (const int) 0:11 Loop Body -0:11 Test condition and select (temp void) +0:11 Test condition and select ( temp void) 0:11 Condition -0:11 Compare Equal (temp bool) -0:11 'ii' (temp int) +0:11 Compare Equal ( temp bool) +0:11 'ii' ( temp int) 0:11 Constant: 0:11 2 (const int) 0:11 true case 0:11 Branch: Continue 0:11 Loop Terminal Expression -0:11 Pre-Increment (temp int) -0:11 'ii' (temp int) -0:12 Pre-Decrement (temp float) -0:12 'ii' (temp float) +0:11 Pre-Increment ( temp int) +0:11 'ii' ( temp int) +0:12 Pre-Decrement ( temp float) +0:12 'ii' ( temp float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 114 +// Id's are bound by 124 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 13 43 + EntryPoint Fragment 4 "PixelShaderFunction" 117 120 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 13 "input" - Name 43 "@entryPointOutput" - Name 91 "ii" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 92 "ii" Name 111 "ii" - Decorate 13(input) Location 0 - Decorate 43(@entryPointOutput) Location 0 + Name 115 "input" + Name 117 "input" + Name 120 "@entryPointOutput" + Name 121 "param" + Decorate 117(input) Location 0 + Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12: TypePointer Input 11(fvec4) - 13(input): 12(ptr) Variable Input - 15: 10(float) Constant 1065353216 - 29: TypeBool - 30: TypeVector 29(bool) 4 - 42: TypePointer Output 11(fvec4) -43(@entryPointOutput): 42(ptr) Variable Output - 62: 10(float) Constant 1073741824 - 70: TypeInt 32 0 - 71: 70(int) Constant 0 - 72: TypePointer Input 10(float) - 89: TypeInt 32 1 - 90: TypePointer Function 89(int) - 92: 89(int) Constant 4294967295 - 99: 89(int) Constant 3 - 102: 89(int) Constant 2 - 108: 89(int) Constant 1 - 110: TypePointer Function 10(float) + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 18: 6(float) Constant 1065353216 + 32: TypeBool + 33: TypeVector 32(bool) 4 + 63: 6(float) Constant 1073741824 + 71: TypeInt 32 0 + 72: 71(int) Constant 0 + 73: TypePointer Function 6(float) + 90: TypeInt 32 1 + 91: TypePointer Function 90(int) + 93: 90(int) Constant 4294967295 + 100: 90(int) Constant 3 + 103: 90(int) Constant 2 + 109: 90(int) Constant 1 + 116: TypePointer Input 7(fvec4) + 117(input): 116(ptr) Variable Input + 119: TypePointer Output 7(fvec4) +120(@entryPointOutput): 119(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 91(ii): 90(ptr) Variable Function - 111(ii): 110(ptr) Variable Function - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 7 - 7: Label - Branch 9 - 9: Label - Branch 6 - 8: Label - 14: 11(fvec4) Load 13(input) - 16: 11(fvec4) CompositeConstruct 15 15 15 15 - 17: 11(fvec4) FAdd 14 16 - Store 13(input) 17 - Branch 18 - 18: Label - LoopMerge 20 21 None - Branch 19 - 19: Label + 115(input): 8(ptr) Variable Function + 121(param): 8(ptr) Variable Function + 118: 7(fvec4) Load 117(input) + Store 115(input) 118 + 122: 7(fvec4) Load 115(input) + Store 121(param) 122 + 123: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 121(param) + Store 120(@entryPointOutput) 123 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 92(ii): 91(ptr) Variable Function + 111(ii): 73(ptr) Variable Function + Branch 13 + 13: Label + LoopMerge 15 16 None + Branch 14 + 14: Label + Branch 16 + 16: Label + Branch 13 + 15: Label + 17: 7(fvec4) Load 10(input) + 19: 7(fvec4) CompositeConstruct 18 18 18 18 + 20: 7(fvec4) FAdd 17 19 + Store 10(input) 20 Branch 21 21: Label - Branch 18 - 20: Label + LoopMerge 23 24 None Branch 22 22: Label - LoopMerge 24 25 None - Branch 26 - 26: Label - 27: 11(fvec4) Load 13(input) - 28: 11(fvec4) Load 13(input) - 31: 30(bvec4) FOrdNotEqual 27 28 - 32: 29(bool) Any 31 - BranchConditional 32 23 24 - 23: Label - Branch 25 - 25: Label - Branch 22 + Branch 24 24: Label - Branch 33 - 33: Label - LoopMerge 35 36 None - Branch 37 - 37: Label - 38: 11(fvec4) Load 13(input) - 39: 11(fvec4) Load 13(input) - 40: 30(bvec4) FOrdNotEqual 38 39 - 41: 29(bool) Any 40 - BranchConditional 41 34 35 - 34: Label - 44: 11(fvec4) Load 13(input) - 45: 11(fvec4) FNegate 44 - Store 43(@entryPointOutput) 45 - Return - 36: Label - Branch 33 - 35: Label - 47: 11(fvec4) Load 13(input) - 48: 11(fvec4) CompositeConstruct 15 15 15 15 - 49: 11(fvec4) FSub 47 48 - Store 13(input) 49 - Branch 50 - 50: Label - LoopMerge 52 53 None - Branch 54 - 54: Label - 55: 11(fvec4) Load 13(input) - 56: 11(fvec4) Load 13(input) - 57: 30(bvec4) FOrdNotEqual 55 56 - 58: 29(bool) Any 57 - BranchConditional 58 51 52 - 51: Label - 59: 11(fvec4) Load 13(input) - 60: 11(fvec4) FNegate 59 - Store 43(@entryPointOutput) 60 - Return - 53: Label - 63: 11(fvec4) Load 13(input) - 64: 11(fvec4) CompositeConstruct 62 62 62 62 - 65: 11(fvec4) FAdd 63 64 - Store 13(input) 65 - Branch 50 - 52: Label - Branch 66 - 66: Label - LoopMerge 68 69 None + Branch 21 + 23: Label + Branch 25 + 25: Label + LoopMerge 27 28 None + Branch 29 + 29: Label + 30: 7(fvec4) Load 10(input) + 31: 7(fvec4) Load 10(input) + 34: 33(bvec4) FOrdNotEqual 30 31 + 35: 32(bool) Any 34 + BranchConditional 35 26 27 + 26: Label + Branch 28 + 28: Label + Branch 25 + 27: Label + Branch 36 + 36: Label + LoopMerge 38 39 None + Branch 40 + 40: Label + 41: 7(fvec4) Load 10(input) + 42: 7(fvec4) Load 10(input) + 43: 33(bvec4) FOrdNotEqual 41 42 + 44: 32(bool) Any 43 + BranchConditional 44 37 38 + 37: Label + 45: 7(fvec4) Load 10(input) + 46: 7(fvec4) FNegate 45 + ReturnValue 46 + 39: Label + Branch 36 + 38: Label + 48: 7(fvec4) Load 10(input) + 49: 7(fvec4) CompositeConstruct 18 18 18 18 + 50: 7(fvec4) FSub 48 49 + Store 10(input) 50 + Branch 51 + 51: Label + LoopMerge 53 54 None + Branch 55 + 55: Label + 56: 7(fvec4) Load 10(input) + 57: 7(fvec4) Load 10(input) + 58: 33(bvec4) FOrdNotEqual 56 57 + 59: 32(bool) Any 58 + BranchConditional 59 52 53 + 52: Label + 60: 7(fvec4) Load 10(input) + 61: 7(fvec4) FNegate 60 + ReturnValue 61 + 54: Label + 64: 7(fvec4) Load 10(input) + 65: 7(fvec4) CompositeConstruct 63 63 63 63 + 66: 7(fvec4) FAdd 64 65 + Store 10(input) 66 + Branch 51 + 53: Label Branch 67 67: Label - 73: 72(ptr) AccessChain 13(input) 71 - 74: 10(float) Load 73 - 75: 29(bool) FOrdGreaterThan 74 62 - SelectionMerge 77 None - BranchConditional 75 76 77 - 76: Label - Branch 68 - 77: Label - Branch 69 - 69: Label - Branch 66 + LoopMerge 69 70 None + Branch 68 68: Label - Branch 79 - 79: Label - LoopMerge 81 82 None + 74: 73(ptr) AccessChain 10(input) 72 + 75: 6(float) Load 74 + 76: 32(bool) FOrdGreaterThan 75 63 + SelectionMerge 78 None + BranchConditional 76 77 78 + 77: Label + Branch 69 + 78: Label + Branch 70 + 70: Label + Branch 67 + 69: Label Branch 80 80: Label - 83: 72(ptr) AccessChain 13(input) 71 - 84: 10(float) Load 83 - 85: 29(bool) FOrdGreaterThan 84 62 - SelectionMerge 87 None - BranchConditional 85 86 87 - 86: Label - Branch 82 - 87: Label - Branch 82 - 82: Label - Branch 79 + LoopMerge 82 83 None + Branch 81 81: Label - Store 91(ii) 92 - Branch 93 - 93: Label - LoopMerge 95 96 None - Branch 97 - 97: Label - 98: 89(int) Load 91(ii) - 100: 29(bool) SLessThan 98 99 - BranchConditional 100 94 95 - 94: Label - 101: 89(int) Load 91(ii) - 103: 29(bool) IEqual 101 102 - SelectionMerge 105 None - BranchConditional 103 104 105 - 104: Label - Branch 96 - 105: Label - Branch 96 - 96: Label - 107: 89(int) Load 91(ii) - 109: 89(int) IAdd 107 108 - Store 91(ii) 109 - Branch 93 - 95: Label - 112: 10(float) Load 111(ii) - 113: 10(float) FSub 112 15 + 84: 73(ptr) AccessChain 10(input) 72 + 85: 6(float) Load 84 + 86: 32(bool) FOrdGreaterThan 85 63 + SelectionMerge 88 None + BranchConditional 86 87 88 + 87: Label + Branch 83 + 88: Label + Branch 83 + 83: Label + Branch 80 + 82: Label + Store 92(ii) 93 + Branch 94 + 94: Label + LoopMerge 96 97 None + Branch 98 + 98: Label + 99: 90(int) Load 92(ii) + 101: 32(bool) SLessThan 99 100 + BranchConditional 101 95 96 + 95: Label + 102: 90(int) Load 92(ii) + 104: 32(bool) IEqual 102 103 + SelectionMerge 106 None + BranchConditional 104 105 106 + 105: Label + Branch 97 + 106: Label + Branch 97 + 97: Label + 108: 90(int) Load 92(ii) + 110: 90(int) IAdd 108 109 + Store 92(ii) 110 + Branch 94 + 96: Label + 112: 6(float) Load 111(ii) + 113: 6(float) FSub 112 18 Store 111(ii) 113 - Return + 114: 7(fvec4) Undef + ReturnValue 114 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out index ee550d165cb..69f8e3d7d39 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -2,81 +2,81 @@ hlsl.gather.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of float) -0:29 'txval20' (temp 4-component vector of float) -0:29 textureGather (temp 4-component vector of float) -0:29 Construct combined texture-sampler (temp sampler2DArray) -0:29 'g_tTex2df4a' (uniform texture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 'txval20' ( temp 4-component vector of float) +0:29 textureGather ( temp 4-component vector of float) +0:29 Construct combined texture-sampler ( temp sampler2DArray) +0:29 'g_tTex2df4a' ( uniform texture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of int) -0:30 'txval21' (temp 4-component vector of int) -0:30 textureGather (temp 4-component vector of int) -0:30 Construct combined texture-sampler (temp isampler2DArray) -0:30 'g_tTex2di4a' (uniform itexture2DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of int) +0:30 'txval21' ( temp 4-component vector of int) +0:30 textureGather ( temp 4-component vector of int) +0:30 Construct combined texture-sampler ( temp isampler2DArray) +0:30 'g_tTex2di4a' ( uniform itexture2DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of uint) -0:31 'txval22' (temp 4-component vector of uint) -0:31 textureGather (temp 4-component vector of uint) -0:31 Construct combined texture-sampler (temp usampler2DArray) -0:31 'g_tTex2du4a' (uniform utexture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of uint) +0:31 'txval22' ( temp 4-component vector of uint) +0:31 textureGather ( temp 4-component vector of uint) +0:31 Construct combined texture-sampler ( temp usampler2DArray) +0:31 'g_tTex2du4a' ( uniform utexture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureGather (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4a' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureGather ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4a' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureGather (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4a' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureGather ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGather (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4a' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureGather ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:? 1.000000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -84,42 +84,48 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -128,81 +134,81 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of float) -0:29 'txval20' (temp 4-component vector of float) -0:29 textureGather (temp 4-component vector of float) -0:29 Construct combined texture-sampler (temp sampler2DArray) -0:29 'g_tTex2df4a' (uniform texture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 'txval20' ( temp 4-component vector of float) +0:29 textureGather ( temp 4-component vector of float) +0:29 Construct combined texture-sampler ( temp sampler2DArray) +0:29 'g_tTex2df4a' ( uniform texture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of int) -0:30 'txval21' (temp 4-component vector of int) -0:30 textureGather (temp 4-component vector of int) -0:30 Construct combined texture-sampler (temp isampler2DArray) -0:30 'g_tTex2di4a' (uniform itexture2DArray) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of int) +0:30 'txval21' ( temp 4-component vector of int) +0:30 textureGather ( temp 4-component vector of int) +0:30 Construct combined texture-sampler ( temp isampler2DArray) +0:30 'g_tTex2di4a' ( uniform itexture2DArray) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of uint) -0:31 'txval22' (temp 4-component vector of uint) -0:31 textureGather (temp 4-component vector of uint) -0:31 Construct combined texture-sampler (temp usampler2DArray) -0:31 'g_tTex2du4a' (uniform utexture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of uint) +0:31 'txval22' ( temp 4-component vector of uint) +0:31 textureGather ( temp 4-component vector of uint) +0:31 Construct combined texture-sampler ( temp usampler2DArray) +0:31 'g_tTex2du4a' ( uniform utexture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureGather (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4a' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureGather ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4a' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureGather (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4a' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureGather ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGather (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4a' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureGather ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:? 1.000000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -210,217 +216,234 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 117 +// Id's are bound by 124 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 99 103 + EntryPoint Fragment 4 "main" 107 111 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 30 "txval21" - Name 33 "g_tTex2di4a" - Name 45 "txval22" - Name 48 "g_tTex2du4a" - Name 57 "txval40" - Name 60 "g_tTexcdf4a" - Name 67 "txval41" - Name 70 "g_tTexcdi4a" - Name 77 "txval42" - Name 80 "g_tTexcdu4a" - Name 90 "PS_OUTPUT" - MemberName 90(PS_OUTPUT) 0 "Color" - MemberName 90(PS_OUTPUT) 1 "Depth" - Name 92 "psout" - Name 99 "Color" - Name 103 "Depth" - Name 109 "g_tTex1df4a" - Name 110 "g_tTex1df4" - Name 113 "g_tTex1di4a" - Name 116 "g_tTex1du4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex2di4a) DescriptorSet 0 - Decorate 48(g_tTex2du4a) DescriptorSet 0 - Decorate 60(g_tTexcdf4a) DescriptorSet 0 - Decorate 70(g_tTexcdi4a) DescriptorSet 0 - Decorate 80(g_tTexcdu4a) DescriptorSet 0 - Decorate 99(Color) Location 0 - Decorate 103(Depth) BuiltIn FragDepth - Decorate 109(g_tTex1df4a) DescriptorSet 0 - Decorate 109(g_tTex1df4a) Binding 1 - Decorate 110(g_tTex1df4) DescriptorSet 0 - Decorate 110(g_tTex1df4) Binding 0 - Decorate 113(g_tTex1di4a) DescriptorSet 0 - Decorate 116(g_tTex1du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 34 "txval21" + Name 37 "g_tTex2di4a" + Name 49 "txval22" + Name 52 "g_tTex2du4a" + Name 61 "txval40" + Name 64 "g_tTexcdf4a" + Name 71 "txval41" + Name 74 "g_tTexcdi4a" + Name 81 "txval42" + Name 84 "g_tTexcdu4a" + Name 95 "psout" + Name 104 "flattenTemp" + Name 107 "Color" + Name 111 "Depth" + Name 116 "g_tTex1df4a" + Name 117 "g_tTex1df4" + Name 120 "g_tTex1di4a" + Name 123 "g_tTex1du4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex2di4a) DescriptorSet 0 + Decorate 52(g_tTex2du4a) DescriptorSet 0 + Decorate 64(g_tTexcdf4a) DescriptorSet 0 + Decorate 74(g_tTexcdi4a) DescriptorSet 0 + Decorate 84(g_tTexcdu4a) DescriptorSet 0 + Decorate 107(Color) Location 0 + Decorate 111(Depth) BuiltIn FragDepth + Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 116(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4) DescriptorSet 0 + Decorate 117(g_tTex1df4) Binding 0 + Decorate 120(g_tTex1di4a) DescriptorSet 0 + Decorate 123(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 3 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 6(float) Constant 1050253722 - 24: 20(fvec3) ConstantComposite 21 22 23 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 2D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex2di4a): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1053609165 - 39: 6(float) Constant 1056964608 - 40: 20(fvec3) ConstantComposite 23 38 39 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 2D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex2du4a): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1058642330 - 54: 6(float) Constant 1060320051 - 55: 20(fvec3) ConstantComposite 39 53 54 - 58: TypeImage 6(float) Cube array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTexcdf4a): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: 7(fvec4) ConstantComposite 21 22 23 38 - 68: TypeImage 25(int) Cube array sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4a): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 7(fvec4) ConstantComposite 38 39 53 54 - 78: TypeImage 42(int) Cube array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4a): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1061997773 - 86: 6(float) Constant 1063675494 - 87: 6(float) Constant 1065353216 - 88: 7(fvec4) ConstantComposite 54 85 86 87 - 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 91: TypePointer Function 90(PS_OUTPUT) - 93: 7(fvec4) ConstantComposite 87 87 87 87 - 95: 25(int) Constant 1 - 96: TypePointer Function 6(float) - 98: TypePointer Output 7(fvec4) - 99(Color): 98(ptr) Variable Output - 102: TypePointer Output 6(float) - 103(Depth): 102(ptr) Variable Output - 107: TypeImage 6(float) 1D array sampled format:Unknown - 108: TypePointer UniformConstant 107 -109(g_tTex1df4a): 108(ptr) Variable UniformConstant - 110(g_tTex1df4): 108(ptr) Variable UniformConstant - 111: TypeImage 25(int) 1D array sampled format:Unknown - 112: TypePointer UniformConstant 111 -113(g_tTex1di4a): 112(ptr) Variable UniformConstant - 114: TypeImage 42(int) 1D array sampled format:Unknown + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 3 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 6(float) Constant 1050253722 + 28: 24(fvec3) ConstantComposite 25 26 27 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 2D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex2di4a): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1053609165 + 43: 6(float) Constant 1056964608 + 44: 24(fvec3) ConstantComposite 27 42 43 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 2D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex2du4a): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1058642330 + 58: 6(float) Constant 1060320051 + 59: 24(fvec3) ConstantComposite 43 57 58 + 62: TypeImage 6(float) Cube array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTexcdf4a): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: 7(fvec4) ConstantComposite 25 26 27 42 + 72: TypeImage 29(int) Cube array sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4a): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 7(fvec4) ConstantComposite 42 43 57 58 + 82: TypeImage 46(int) Cube array sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4a): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1061997773 + 90: 6(float) Constant 1063675494 + 91: 6(float) Constant 1065353216 + 92: 7(fvec4) ConstantComposite 58 89 90 91 + 94: TypePointer Function 8(PS_OUTPUT) + 96: 7(fvec4) ConstantComposite 91 91 91 91 + 98: 29(int) Constant 1 + 99: TypePointer Function 6(float) + 106: TypePointer Output 7(fvec4) + 107(Color): 106(ptr) Variable Output + 110: TypePointer Output 6(float) + 111(Depth): 110(ptr) Variable Output + 114: TypeImage 6(float) 1D array sampled format:Unknown 115: TypePointer UniformConstant 114 -116(g_tTex1du4a): 115(ptr) Variable UniformConstant +116(g_tTex1df4a): 115(ptr) Variable UniformConstant + 117(g_tTex1df4): 115(ptr) Variable UniformConstant + 118: TypeImage 29(int) 1D array sampled format:Unknown + 119: TypePointer UniformConstant 118 +120(g_tTex1di4a): 119(ptr) Variable UniformConstant + 121: TypeImage 46(int) 1D array sampled format:Unknown + 122: TypePointer UniformConstant 121 +123(g_tTex1du4a): 122(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 30(txval21): 29(ptr) Variable Function - 45(txval22): 44(ptr) Variable Function - 57(txval40): 8(ptr) Variable Function - 67(txval41): 29(ptr) Variable Function - 77(txval42): 44(ptr) Variable Function - 92(psout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageGather 19 24 26 - Store 9(txval20) 27 - 34: 31 Load 33(g_tTex2di4a) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageGather 37 40 26 - Store 30(txval21) 41 - 49: 46 Load 48(g_tTex2du4a) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageGather 52 55 26 - Store 45(txval22) 56 - 61: 58 Load 60(g_tTexcdf4a) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 66: 7(fvec4) ImageGather 64 65 26 - Store 57(txval40) 66 - 71: 68 Load 70(g_tTexcdi4a) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 28(ivec4) ImageGather 74 75 26 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4a) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 43(ivec4) ImageGather 84 88 26 - Store 77(txval42) 89 - 94: 8(ptr) AccessChain 92(psout) 26 - Store 94 93 - 97: 96(ptr) AccessChain 92(psout) 95 - Store 97 87 - 100: 8(ptr) AccessChain 92(psout) 26 - 101: 7(fvec4) Load 100 - Store 99(Color) 101 - 104: 96(ptr) AccessChain 92(psout) 95 - 105: 6(float) Load 104 - Store 103(Depth) 105 +104(flattenTemp): 94(ptr) Variable Function + 105:8(PS_OUTPUT) FunctionCall 10(@main() + Store 104(flattenTemp) 105 + 108: 12(ptr) AccessChain 104(flattenTemp) 30 + 109: 7(fvec4) Load 108 + Store 107(Color) 109 + 112: 99(ptr) AccessChain 104(flattenTemp) 98 + 113: 6(float) Load 112 + Store 111(Depth) 113 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 34(txval21): 33(ptr) Variable Function + 49(txval22): 48(ptr) Variable Function + 61(txval40): 12(ptr) Variable Function + 71(txval41): 33(ptr) Variable Function + 81(txval42): 48(ptr) Variable Function + 95(psout): 94(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageGather 23 28 30 + Store 13(txval20) 31 + 38: 35 Load 37(g_tTex2di4a) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageGather 41 44 30 + Store 34(txval21) 45 + 53: 50 Load 52(g_tTex2du4a) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageGather 56 59 30 + Store 49(txval22) 60 + 65: 62 Load 64(g_tTexcdf4a) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 70: 7(fvec4) ImageGather 68 69 30 + Store 61(txval40) 70 + 75: 72 Load 74(g_tTexcdi4a) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 32(ivec4) ImageGather 78 79 30 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4a) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 47(ivec4) ImageGather 88 92 30 + Store 81(txval42) 93 + 97: 12(ptr) AccessChain 95(psout) 30 + Store 97 96 + 100: 99(ptr) AccessChain 95(psout) 98 + Store 100 91 + 101:8(PS_OUTPUT) Load 95(psout) + ReturnValue 101 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 86e106ca05c..6d2526df494 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -2,75 +2,75 @@ hlsl.gather.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureGather (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureGather ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureGather (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureGather ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGather (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureGather ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval40' (temp 4-component vector of float) -0:40 textureGather (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp samplerCube) -0:40 'g_tTexcdf4' (uniform textureCube) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval40' ( temp 4-component vector of float) +0:40 textureGather ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp samplerCube) +0:40 'g_tTexcdf4' ( uniform textureCube) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval41' (temp 4-component vector of int) -0:41 textureGather (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isamplerCube) -0:41 'g_tTexcdi4' (uniform itextureCube) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval41' ( temp 4-component vector of int) +0:41 textureGather ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isamplerCube) +0:41 'g_tTexcdi4' ( uniform itextureCube) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval42' (temp 4-component vector of uint) -0:42 textureGather (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usamplerCube) -0:42 'g_tTexcdu4' (uniform utextureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval42' ( temp 4-component vector of uint) +0:42 textureGather ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usamplerCube) +0:42 'g_tTexcdu4' ( uniform utextureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:44 move second child to first child (temp 4-component vector of float) -0:44 Color: direct index for structure (temp 4-component vector of float) -0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 Color: direct index for structure ( temp 4-component vector of float) +0:44 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:44 Constant: 0:44 0 (const int) 0:44 Constant: @@ -78,46 +78,52 @@ gl_FragCoord origin is upper left 0:44 1.000000 0:44 1.000000 0:44 1.000000 -0:45 move second child to first child (temp float) -0:45 Depth: direct index for structure (temp float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp float) +0:45 Depth: direct index for structure ( temp float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 0 (const int) -0:47 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:47 Depth: direct index for structure (temp float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 1 (const int) -0:47 Branch: Return +0:47 Branch: Return with expression +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:29 Depth: direct index for structure ( temp float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -126,75 +132,75 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureGather (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureGather ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureGather (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureGather ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGather (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureGather ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval40' (temp 4-component vector of float) -0:40 textureGather (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp samplerCube) -0:40 'g_tTexcdf4' (uniform textureCube) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval40' ( temp 4-component vector of float) +0:40 textureGather ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp samplerCube) +0:40 'g_tTexcdf4' ( uniform textureCube) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval41' (temp 4-component vector of int) -0:41 textureGather (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isamplerCube) -0:41 'g_tTexcdi4' (uniform itextureCube) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval41' ( temp 4-component vector of int) +0:41 textureGather ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isamplerCube) +0:41 'g_tTexcdi4' ( uniform itextureCube) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval42' (temp 4-component vector of uint) -0:42 textureGather (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usamplerCube) -0:42 'g_tTexcdu4' (uniform utextureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval42' ( temp 4-component vector of uint) +0:42 textureGather ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usamplerCube) +0:42 'g_tTexcdu4' ( uniform utextureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:44 move second child to first child (temp 4-component vector of float) -0:44 Color: direct index for structure (temp 4-component vector of float) -0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 Color: direct index for structure ( temp 4-component vector of float) +0:44 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:44 Constant: 0:44 0 (const int) 0:44 Constant: @@ -202,239 +208,256 @@ gl_FragCoord origin is upper left 0:44 1.000000 0:44 1.000000 0:44 1.000000 -0:45 move second child to first child (temp float) -0:45 Depth: direct index for structure (temp float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp float) +0:45 Depth: direct index for structure ( temp float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 1 (const int) 0:45 Constant: 0:45 1.000000 -0:47 Sequence -0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 0 (const int) -0:47 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:47 Depth: direct index for structure (temp float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:47 Constant: -0:47 1 (const int) -0:47 Branch: Return +0:47 Branch: Return with expression +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:29 Depth: direct index for structure ( temp float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 128 +// Id's are bound by 135 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 100 104 + EntryPoint Fragment 4 "main" 108 112 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 29 "txval21" - Name 32 "g_tTex2di4" - Name 44 "txval22" - Name 47 "g_tTex2du4" - Name 56 "txval40" - Name 59 "g_tTexcdf4" - Name 67 "txval41" - Name 70 "g_tTexcdi4" - Name 77 "txval42" - Name 80 "g_tTexcdu4" - Name 90 "PS_OUTPUT" - MemberName 90(PS_OUTPUT) 0 "Color" - MemberName 90(PS_OUTPUT) 1 "Depth" - Name 92 "psout" - Name 100 "Color" - Name 104 "Depth" - Name 108 "g_sSamp2d" - Name 111 "g_tTex1df4a" - Name 112 "g_tTex1df4" - Name 115 "g_tTex1di4" - Name 118 "g_tTex1du4" - Name 121 "g_tTex3df4" - Name 124 "g_tTex3di4" - Name 127 "g_tTex3du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex2di4) DescriptorSet 0 - Decorate 47(g_tTex2du4) DescriptorSet 0 - Decorate 59(g_tTexcdf4) DescriptorSet 0 - Decorate 70(g_tTexcdi4) DescriptorSet 0 - Decorate 80(g_tTexcdu4) DescriptorSet 0 - Decorate 100(Color) Location 0 - Decorate 104(Depth) BuiltIn FragDepth - Decorate 108(g_sSamp2d) DescriptorSet 0 - Decorate 111(g_tTex1df4a) DescriptorSet 0 - Decorate 111(g_tTex1df4a) Binding 1 - Decorate 112(g_tTex1df4) DescriptorSet 0 - Decorate 112(g_tTex1df4) Binding 0 - Decorate 115(g_tTex1di4) DescriptorSet 0 - Decorate 118(g_tTex1du4) DescriptorSet 0 - Decorate 121(g_tTex3df4) DescriptorSet 0 - Decorate 124(g_tTex3di4) DescriptorSet 0 - Decorate 127(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 33 "txval21" + Name 36 "g_tTex2di4" + Name 48 "txval22" + Name 51 "g_tTex2du4" + Name 60 "txval40" + Name 63 "g_tTexcdf4" + Name 71 "txval41" + Name 74 "g_tTexcdi4" + Name 81 "txval42" + Name 84 "g_tTexcdu4" + Name 95 "psout" + Name 105 "flattenTemp" + Name 108 "Color" + Name 112 "Depth" + Name 115 "g_sSamp2d" + Name 118 "g_tTex1df4a" + Name 119 "g_tTex1df4" + Name 122 "g_tTex1di4" + Name 125 "g_tTex1du4" + Name 128 "g_tTex3df4" + Name 131 "g_tTex3di4" + Name 134 "g_tTex3du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 108(Color) Location 0 + Decorate 112(Depth) BuiltIn FragDepth + Decorate 115(g_sSamp2d) DescriptorSet 0 + Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 118(g_tTex1df4a) Binding 1 + Decorate 119(g_tTex1df4) DescriptorSet 0 + Decorate 119(g_tTex1df4) Binding 0 + Decorate 122(g_tTex1di4) DescriptorSet 0 + Decorate 125(g_tTex1du4) DescriptorSet 0 + Decorate 128(g_tTex3df4) DescriptorSet 0 + Decorate 131(g_tTex3di4) DescriptorSet 0 + Decorate 134(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 2D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex2di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 6(float) Constant 1053609165 - 39: 20(fvec2) ConstantComposite 37 38 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 2D sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex2du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1056964608 - 53: 6(float) Constant 1058642330 - 54: 20(fvec2) ConstantComposite 52 53 - 57: TypeImage 6(float) Cube sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTexcdf4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 68: TypeImage 24(int) Cube sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 64(fvec3) ConstantComposite 38 52 53 - 78: TypeImage 41(int) Cube sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1060320051 - 86: 6(float) Constant 1061997773 - 87: 6(float) Constant 1063675494 - 88: 64(fvec3) ConstantComposite 85 86 87 - 90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 91: TypePointer Function 90(PS_OUTPUT) - 93: 6(float) Constant 1065353216 - 94: 7(fvec4) ConstantComposite 93 93 93 93 - 96: 24(int) Constant 1 - 97: TypePointer Function 6(float) - 99: TypePointer Output 7(fvec4) - 100(Color): 99(ptr) Variable Output - 103: TypePointer Output 6(float) - 104(Depth): 103(ptr) Variable Output - 108(g_sSamp2d): 15(ptr) Variable UniformConstant - 109: TypeImage 6(float) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTex1df4a): 110(ptr) Variable UniformConstant - 112(g_tTex1df4): 110(ptr) Variable UniformConstant - 113: TypeImage 24(int) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1di4): 114(ptr) Variable UniformConstant - 116: TypeImage 41(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 2D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex2di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 6(float) Constant 1053609165 + 43: 24(fvec2) ConstantComposite 41 42 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 2D sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex2du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1056964608 + 57: 6(float) Constant 1058642330 + 58: 24(fvec2) ConstantComposite 56 57 + 61: TypeImage 6(float) Cube sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTexcdf4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 72: TypeImage 28(int) Cube sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 68(fvec3) ConstantComposite 42 56 57 + 82: TypeImage 45(int) Cube sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1060320051 + 90: 6(float) Constant 1061997773 + 91: 6(float) Constant 1063675494 + 92: 68(fvec3) ConstantComposite 89 90 91 + 94: TypePointer Function 8(PS_OUTPUT) + 96: 6(float) Constant 1065353216 + 97: 7(fvec4) ConstantComposite 96 96 96 96 + 99: 28(int) Constant 1 + 100: TypePointer Function 6(float) + 107: TypePointer Output 7(fvec4) + 108(Color): 107(ptr) Variable Output + 111: TypePointer Output 6(float) + 112(Depth): 111(ptr) Variable Output + 115(g_sSamp2d): 19(ptr) Variable UniformConstant + 116: TypeImage 6(float) 1D sampled format:Unknown 117: TypePointer UniformConstant 116 - 118(g_tTex1du4): 117(ptr) Variable UniformConstant - 119: TypeImage 6(float) 3D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex3df4): 120(ptr) Variable UniformConstant - 122: TypeImage 24(int) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3di4): 123(ptr) Variable UniformConstant - 125: TypeImage 41(int) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3du4): 126(ptr) Variable UniformConstant +118(g_tTex1df4a): 117(ptr) Variable UniformConstant + 119(g_tTex1df4): 117(ptr) Variable UniformConstant + 120: TypeImage 28(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1di4): 121(ptr) Variable UniformConstant + 123: TypeImage 45(int) 1D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex1du4): 124(ptr) Variable UniformConstant + 126: TypeImage 6(float) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3df4): 127(ptr) Variable UniformConstant + 129: TypeImage 28(int) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3di4): 130(ptr) Variable UniformConstant + 132: TypeImage 45(int) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3du4): 133(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 29(txval21): 28(ptr) Variable Function - 44(txval22): 43(ptr) Variable Function - 56(txval40): 8(ptr) Variable Function - 67(txval41): 28(ptr) Variable Function - 77(txval42): 43(ptr) Variable Function - 92(psout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageGather 19 23 25 - Store 9(txval20) 26 - 33: 30 Load 32(g_tTex2di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageGather 36 39 25 - Store 29(txval21) 40 - 48: 45 Load 47(g_tTex2du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageGather 51 54 25 - Store 44(txval22) 55 - 60: 57 Load 59(g_tTexcdf4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 66: 7(fvec4) ImageGather 63 65 25 - Store 56(txval40) 66 - 71: 68 Load 70(g_tTexcdi4) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 27(ivec4) ImageGather 74 75 25 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 42(ivec4) ImageGather 84 88 25 - Store 77(txval42) 89 - 95: 8(ptr) AccessChain 92(psout) 25 - Store 95 94 - 98: 97(ptr) AccessChain 92(psout) 96 - Store 98 93 - 101: 8(ptr) AccessChain 92(psout) 25 - 102: 7(fvec4) Load 101 - Store 100(Color) 102 - 105: 97(ptr) AccessChain 92(psout) 96 - 106: 6(float) Load 105 - Store 104(Depth) 106 +105(flattenTemp): 94(ptr) Variable Function + 106:8(PS_OUTPUT) FunctionCall 10(@main() + Store 105(flattenTemp) 106 + 109: 12(ptr) AccessChain 105(flattenTemp) 29 + 110: 7(fvec4) Load 109 + Store 108(Color) 110 + 113: 100(ptr) AccessChain 105(flattenTemp) 99 + 114: 6(float) Load 113 + Store 112(Depth) 114 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 33(txval21): 32(ptr) Variable Function + 48(txval22): 47(ptr) Variable Function + 60(txval40): 12(ptr) Variable Function + 71(txval41): 32(ptr) Variable Function + 81(txval42): 47(ptr) Variable Function + 95(psout): 94(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageGather 23 27 29 + Store 13(txval20) 30 + 37: 34 Load 36(g_tTex2di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageGather 40 43 29 + Store 33(txval21) 44 + 52: 49 Load 51(g_tTex2du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageGather 55 58 29 + Store 48(txval22) 59 + 64: 61 Load 63(g_tTexcdf4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 70: 7(fvec4) ImageGather 67 69 29 + Store 60(txval40) 70 + 75: 72 Load 74(g_tTexcdi4) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 31(ivec4) ImageGather 78 79 29 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 46(ivec4) ImageGather 88 92 29 + Store 81(txval42) 93 + 98: 12(ptr) AccessChain 95(psout) 29 + Store 98 97 + 101: 100(ptr) AccessChain 95(psout) 99 + Store 101 96 + 102:8(PS_OUTPUT) Load 95(psout) + ReturnValue 102 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out index bea5142b3f2..9eec1ca6c59 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -1,75 +1,75 @@ hlsl.gather.basic.dx10.vert Shader version: 450 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval20' (temp 4-component vector of float) -0:33 textureGather (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2D) -0:33 'g_tTex2df4' (uniform texture2D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval20' ( temp 4-component vector of float) +0:33 textureGather ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2D) +0:33 'g_tTex2df4' ( uniform texture2D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval21' (temp 4-component vector of int) -0:34 textureGather (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2D) -0:34 'g_tTex2di4' (uniform itexture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval21' ( temp 4-component vector of int) +0:34 textureGather ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2D) +0:34 'g_tTex2di4' ( uniform itexture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGather (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2D) -0:35 'g_tTex2du4' (uniform utexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval22' ( temp 4-component vector of uint) +0:35 textureGather ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2D) +0:35 'g_tTex2du4' ( uniform utexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval40' (temp 4-component vector of float) -0:39 textureGather (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp samplerCube) -0:39 'g_tTexcdf4' (uniform textureCube) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval40' ( temp 4-component vector of float) +0:39 textureGather ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp samplerCube) +0:39 'g_tTexcdf4' ( uniform textureCube) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval41' (temp 4-component vector of int) -0:40 textureGather (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isamplerCube) -0:40 'g_tTexcdi4' (uniform itextureCube) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval41' ( temp 4-component vector of int) +0:40 textureGather ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isamplerCube) +0:40 'g_tTexcdi4' ( uniform itextureCube) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval42' (temp 4-component vector of uint) -0:41 textureGather (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usamplerCube) -0:41 'g_tTexcdu4' (uniform utextureCube) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval42' ( temp 4-component vector of uint) +0:41 textureGather ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usamplerCube) +0:41 'g_tTexcdu4' ( uniform utextureCube) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:43 move second child to first child (temp 4-component vector of float) -0:43 Pos: direct index for structure (temp 4-component vector of float) -0:43 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 Pos: direct index for structure ( temp 4-component vector of float) +0:43 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:43 Constant: 0:43 0 (const int) 0:? Constant: @@ -77,32 +77,35 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:45 Pos: direct index for structure (temp 4-component vector of float) -0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:45 Constant: -0:45 0 (const int) -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:28 Pos: direct index for structure ( temp 4-component vector of float) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:28 Constant: +0:28 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) Linked vertex stage: @@ -110,75 +113,75 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval20' (temp 4-component vector of float) -0:33 textureGather (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2D) -0:33 'g_tTex2df4' (uniform texture2D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval20' ( temp 4-component vector of float) +0:33 textureGather ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2D) +0:33 'g_tTex2df4' ( uniform texture2D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval21' (temp 4-component vector of int) -0:34 textureGather (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2D) -0:34 'g_tTex2di4' (uniform itexture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval21' ( temp 4-component vector of int) +0:34 textureGather ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2D) +0:34 'g_tTex2di4' ( uniform itexture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGather (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2D) -0:35 'g_tTex2du4' (uniform utexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval22' ( temp 4-component vector of uint) +0:35 textureGather ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2D) +0:35 'g_tTex2du4' ( uniform utexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval40' (temp 4-component vector of float) -0:39 textureGather (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp samplerCube) -0:39 'g_tTexcdf4' (uniform textureCube) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval40' ( temp 4-component vector of float) +0:39 textureGather ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp samplerCube) +0:39 'g_tTexcdf4' ( uniform textureCube) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval41' (temp 4-component vector of int) -0:40 textureGather (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isamplerCube) -0:40 'g_tTexcdi4' (uniform itextureCube) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval41' ( temp 4-component vector of int) +0:40 textureGather ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isamplerCube) +0:40 'g_tTexcdi4' ( uniform itextureCube) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval42' (temp 4-component vector of uint) -0:41 textureGather (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usamplerCube) -0:41 'g_tTexcdu4' (uniform utextureCube) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval42' ( temp 4-component vector of uint) +0:41 textureGather ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usamplerCube) +0:41 'g_tTexcdu4' ( uniform utextureCube) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:43 move second child to first child (temp 4-component vector of float) -0:43 Pos: direct index for structure (temp 4-component vector of float) -0:43 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 Pos: direct index for structure ( temp 4-component vector of float) +0:43 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:43 Constant: 0:43 0 (const int) 0:? Constant: @@ -186,220 +189,228 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:45 Sequence -0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:45 Pos: direct index for structure (temp 4-component vector of float) -0:45 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:45 Constant: -0:45 0 (const int) -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:28 Pos: direct index for structure ( temp 4-component vector of float) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:28 Constant: +0:28 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 124 +// Id's are bound by 129 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 97 123 + EntryPoint Vertex 4 "main" 103 128 Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 29 "txval21" - Name 32 "g_tTex2di4" - Name 44 "txval22" - Name 47 "g_tTex2du4" - Name 56 "txval40" - Name 59 "g_tTexcdf4" - Name 67 "txval41" - Name 70 "g_tTexcdi4" - Name 77 "txval42" - Name 80 "g_tTexcdu4" - Name 90 "VS_OUTPUT" - MemberName 90(VS_OUTPUT) 0 "Pos" - Name 92 "vsout" - Name 97 "Pos" - Name 101 "g_sSamp2d" - Name 104 "g_tTex1df4a" - Name 105 "g_tTex1df4" - Name 108 "g_tTex1di4" - Name 111 "g_tTex1du4" - Name 114 "g_tTex3df4" - Name 117 "g_tTex3di4" - Name 120 "g_tTex3du4" - Name 121 "PerVertex_out" - MemberName 121(PerVertex_out) 0 "Pos" - Name 123 "PerVertex_out" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex2di4) DescriptorSet 0 - Decorate 47(g_tTex2du4) DescriptorSet 0 - Decorate 59(g_tTexcdf4) DescriptorSet 0 - Decorate 70(g_tTexcdi4) DescriptorSet 0 - Decorate 80(g_tTexcdu4) DescriptorSet 0 - Decorate 97(Pos) BuiltIn Position - Decorate 101(g_sSamp2d) DescriptorSet 0 - Decorate 104(g_tTex1df4a) DescriptorSet 0 - Decorate 104(g_tTex1df4a) Binding 1 - Decorate 105(g_tTex1df4) DescriptorSet 0 - Decorate 105(g_tTex1df4) Binding 0 - Decorate 108(g_tTex1di4) DescriptorSet 0 - Decorate 111(g_tTex1du4) DescriptorSet 0 - Decorate 114(g_tTex3df4) DescriptorSet 0 - Decorate 117(g_tTex3di4) DescriptorSet 0 - Decorate 120(g_tTex3du4) DescriptorSet 0 - MemberDecorate 121(PerVertex_out) 0 BuiltIn Position - Decorate 121(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 33 "txval21" + Name 36 "g_tTex2di4" + Name 48 "txval22" + Name 51 "g_tTex2du4" + Name 60 "txval40" + Name 63 "g_tTexcdf4" + Name 71 "txval41" + Name 74 "g_tTexcdi4" + Name 81 "txval42" + Name 84 "g_tTexcdu4" + Name 95 "vsout" + Name 103 "@entryPointOutput_Pos" + Name 106 "g_sSamp2d" + Name 109 "g_tTex1df4a" + Name 110 "g_tTex1df4" + Name 113 "g_tTex1di4" + Name 116 "g_tTex1du4" + Name 119 "g_tTex3df4" + Name 122 "g_tTex3di4" + Name 125 "g_tTex3du4" + Name 126 "VS_OUTPUT" + Name 128 "@entryPointOutput" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 103(@entryPointOutput_Pos) BuiltIn Position + Decorate 106(g_sSamp2d) DescriptorSet 0 + Decorate 109(g_tTex1df4a) DescriptorSet 0 + Decorate 109(g_tTex1df4a) Binding 1 + Decorate 110(g_tTex1df4) DescriptorSet 0 + Decorate 110(g_tTex1df4) Binding 0 + Decorate 113(g_tTex1di4) DescriptorSet 0 + Decorate 116(g_tTex1du4) DescriptorSet 0 + Decorate 119(g_tTex3df4) DescriptorSet 0 + Decorate 122(g_tTex3di4) DescriptorSet 0 + Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 128(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 2D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex2di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 6(float) Constant 1053609165 - 39: 20(fvec2) ConstantComposite 37 38 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 2D sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex2du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1056964608 - 53: 6(float) Constant 1058642330 - 54: 20(fvec2) ConstantComposite 52 53 - 57: TypeImage 6(float) Cube sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTexcdf4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 68: TypeImage 24(int) Cube sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTexcdi4): 69(ptr) Variable UniformConstant - 73: TypeSampledImage 68 - 75: 64(fvec3) ConstantComposite 38 52 53 - 78: TypeImage 41(int) Cube sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTexcdu4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 85: 6(float) Constant 1060320051 - 86: 6(float) Constant 1061997773 - 87: 6(float) Constant 1063675494 - 88: 64(fvec3) ConstantComposite 85 86 87 - 90(VS_OUTPUT): TypeStruct 7(fvec4) - 91: TypePointer Function 90(VS_OUTPUT) - 93: 6(float) Constant 0 - 94: 7(fvec4) ConstantComposite 93 93 93 93 - 96: TypePointer Output 7(fvec4) - 97(Pos): 96(ptr) Variable Output - 101(g_sSamp2d): 15(ptr) Variable UniformConstant - 102: TypeImage 6(float) 1D sampled format:Unknown - 103: TypePointer UniformConstant 102 -104(g_tTex1df4a): 103(ptr) Variable UniformConstant - 105(g_tTex1df4): 103(ptr) Variable UniformConstant - 106: TypeImage 24(int) 1D sampled format:Unknown - 107: TypePointer UniformConstant 106 - 108(g_tTex1di4): 107(ptr) Variable UniformConstant - 109: TypeImage 41(int) 1D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex1du4): 110(ptr) Variable UniformConstant - 112: TypeImage 6(float) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3df4): 113(ptr) Variable UniformConstant - 115: TypeImage 24(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3di4): 116(ptr) Variable UniformConstant - 118: TypeImage 41(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3du4): 119(ptr) Variable UniformConstant -121(PerVertex_out): TypeStruct 7(fvec4) - 122: TypePointer Output 121(PerVertex_out) -123(PerVertex_out): 122(ptr) Variable Output + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 2D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex2di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 6(float) Constant 1053609165 + 43: 24(fvec2) ConstantComposite 41 42 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 2D sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex2du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1056964608 + 57: 6(float) Constant 1058642330 + 58: 24(fvec2) ConstantComposite 56 57 + 61: TypeImage 6(float) Cube sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTexcdf4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 72: TypeImage 28(int) Cube sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTexcdi4): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 79: 68(fvec3) ConstantComposite 42 56 57 + 82: TypeImage 45(int) Cube sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTexcdu4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 89: 6(float) Constant 1060320051 + 90: 6(float) Constant 1061997773 + 91: 6(float) Constant 1063675494 + 92: 68(fvec3) ConstantComposite 89 90 91 + 94: TypePointer Function 8(VS_OUTPUT) + 96: 6(float) Constant 0 + 97: 7(fvec4) ConstantComposite 96 96 96 96 + 102: TypePointer Output 7(fvec4) +103(@entryPointOutput_Pos): 102(ptr) Variable Output + 106(g_sSamp2d): 19(ptr) Variable UniformConstant + 107: TypeImage 6(float) 1D sampled format:Unknown + 108: TypePointer UniformConstant 107 +109(g_tTex1df4a): 108(ptr) Variable UniformConstant + 110(g_tTex1df4): 108(ptr) Variable UniformConstant + 111: TypeImage 28(int) 1D sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTex1di4): 112(ptr) Variable UniformConstant + 114: TypeImage 45(int) 1D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex1du4): 115(ptr) Variable UniformConstant + 117: TypeImage 6(float) 3D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex3df4): 118(ptr) Variable UniformConstant + 120: TypeImage 28(int) 3D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex3di4): 121(ptr) Variable UniformConstant + 123: TypeImage 45(int) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3du4): 124(ptr) Variable UniformConstant + 126(VS_OUTPUT): TypeStruct + 127: TypePointer Output 126(VS_OUTPUT) +128(@entryPointOutput): 127(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 29(txval21): 28(ptr) Variable Function - 44(txval22): 43(ptr) Variable Function - 56(txval40): 8(ptr) Variable Function - 67(txval41): 28(ptr) Variable Function - 77(txval42): 43(ptr) Variable Function - 92(vsout): 91(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageGather 19 23 25 - Store 9(txval20) 26 - 33: 30 Load 32(g_tTex2di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageGather 36 39 25 - Store 29(txval21) 40 - 48: 45 Load 47(g_tTex2du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageGather 51 54 25 - Store 44(txval22) 55 - 60: 57 Load 59(g_tTexcdf4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 66: 7(fvec4) ImageGather 63 65 25 - Store 56(txval40) 66 - 71: 68 Load 70(g_tTexcdi4) - 72: 14 Load 16(g_sSamp) - 74: 73 SampledImage 71 72 - 76: 27(ivec4) ImageGather 74 75 25 - Store 67(txval41) 76 - 81: 78 Load 80(g_tTexcdu4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 89: 42(ivec4) ImageGather 84 88 25 - Store 77(txval42) 89 - 95: 8(ptr) AccessChain 92(vsout) 25 - Store 95 94 - 98: 8(ptr) AccessChain 92(vsout) 25 - 99: 7(fvec4) Load 98 - Store 97(Pos) 99 + 104:8(VS_OUTPUT) FunctionCall 10(@main() + 105: 7(fvec4) CompositeExtract 104 0 + Store 103(@entryPointOutput_Pos) 105 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 33(txval21): 32(ptr) Variable Function + 48(txval22): 47(ptr) Variable Function + 60(txval40): 12(ptr) Variable Function + 71(txval41): 32(ptr) Variable Function + 81(txval42): 47(ptr) Variable Function + 95(vsout): 94(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageGather 23 27 29 + Store 13(txval20) 30 + 37: 34 Load 36(g_tTex2di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageGather 40 43 29 + Store 33(txval21) 44 + 52: 49 Load 51(g_tTex2du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageGather 55 58 29 + Store 48(txval22) 59 + 64: 61 Load 63(g_tTexcdf4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 70: 7(fvec4) ImageGather 67 69 29 + Store 60(txval40) 70 + 75: 72 Load 74(g_tTexcdi4) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 80: 31(ivec4) ImageGather 78 79 29 + Store 71(txval41) 80 + 85: 82 Load 84(g_tTexcdu4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 93: 46(ivec4) ImageGather 88 92 29 + Store 81(txval42) 93 + 98: 12(ptr) AccessChain 95(vsout) 29 + Store 98 97 + 99:8(VS_OUTPUT) Load 95(vsout) + ReturnValue 99 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 5b48bf323bd..c9213137cb2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.gather.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval20' (temp 4-component vector of float) -0:33 textureGatherOffset (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2D) -0:33 'g_tTex2df4' (uniform texture2D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval20' ( temp 4-component vector of float) +0:33 textureGatherOffset ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2D) +0:33 'g_tTex2df4' ( uniform texture2D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -19,12 +19,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval21' (temp 4-component vector of int) -0:34 textureGatherOffset (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2D) -0:34 'g_tTex2di4' (uniform itexture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval21' ( temp 4-component vector of int) +0:34 textureGatherOffset ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2D) +0:34 'g_tTex2di4' ( uniform itexture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -32,21 +32,21 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGatherOffset (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2D) -0:35 'g_tTex2du4' (uniform utexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval22' ( temp 4-component vector of uint) +0:35 textureGatherOffset ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2D) +0:35 'g_tTex2du4' ( uniform utexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -54,45 +54,51 @@ gl_FragCoord origin is upper left 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -101,16 +107,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval20' (temp 4-component vector of float) -0:33 textureGatherOffset (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2D) -0:33 'g_tTex2df4' (uniform texture2D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval20' ( temp 4-component vector of float) +0:33 textureGatherOffset ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2D) +0:33 'g_tTex2df4' ( uniform texture2D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -118,12 +124,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval21' (temp 4-component vector of int) -0:34 textureGatherOffset (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2D) -0:34 'g_tTex2di4' (uniform itexture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval21' ( temp 4-component vector of int) +0:34 textureGatherOffset ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2D) +0:34 'g_tTex2di4' ( uniform itexture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -131,21 +137,21 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGatherOffset (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2D) -0:35 'g_tTex2du4' (uniform utexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval22' ( temp 4-component vector of uint) +0:35 textureGatherOffset ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2D) +0:35 'g_tTex2du4' ( uniform utexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 Color: direct index for structure (temp 4-component vector of float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 0 (const int) 0:40 Constant: @@ -153,209 +159,226 @@ gl_FragCoord origin is upper left 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:41 move second child to first child (temp float) -0:41 Depth: direct index for structure (temp float) -0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:41 move second child to first child ( temp float) +0:41 Depth: direct index for structure ( temp float) +0:41 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:41 Constant: 0:41 1 (const int) 0:41 Constant: 0:41 1.000000 -0:43 Sequence -0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:43 Color: direct index for structure (temp 4-component vector of float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 0 (const int) -0:43 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:43 Depth: direct index for structure (temp float) -0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:43 Constant: -0:43 1 (const int) -0:43 Branch: Return +0:43 Branch: Return with expression +0:43 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 107 +// Id's are bound by 114 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 71 75 + EntryPoint Fragment 4 "main" 79 83 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 32 "txval21" - Name 35 "g_tTex2di4" - Name 48 "txval22" - Name 51 "g_tTex2du4" - Name 62 "PS_OUTPUT" - MemberName 62(PS_OUTPUT) 0 "Color" - MemberName 62(PS_OUTPUT) 1 "Depth" - Name 64 "psout" - Name 71 "Color" - Name 75 "Depth" - Name 81 "g_tTex1df4a" - Name 82 "g_tTex1df4" - Name 85 "g_tTex1di4" - Name 88 "g_tTex1du4" - Name 91 "g_tTex3df4" - Name 94 "g_tTex3di4" - Name 97 "g_tTex3du4" - Name 100 "g_tTexcdf4" - Name 103 "g_tTexcdi4" - Name 106 "g_tTexcdu4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 35(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 71(Color) Location 0 - Decorate 75(Depth) BuiltIn FragDepth - Decorate 81(g_tTex1df4a) DescriptorSet 0 - Decorate 81(g_tTex1df4a) Binding 1 - Decorate 82(g_tTex1df4) DescriptorSet 0 - Decorate 82(g_tTex1df4) Binding 0 - Decorate 85(g_tTex1di4) DescriptorSet 0 - Decorate 88(g_tTex1du4) DescriptorSet 0 - Decorate 91(g_tTex3df4) DescriptorSet 0 - Decorate 94(g_tTex3di4) DescriptorSet 0 - Decorate 97(g_tTex3du4) DescriptorSet 0 - Decorate 100(g_tTexcdf4) DescriptorSet 0 - Decorate 103(g_tTexcdi4) DescriptorSet 0 - Decorate 106(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 36 "txval21" + Name 39 "g_tTex2di4" + Name 52 "txval22" + Name 55 "g_tTex2du4" + Name 67 "psout" + Name 76 "flattenTemp" + Name 79 "Color" + Name 83 "Depth" + Name 88 "g_tTex1df4a" + Name 89 "g_tTex1df4" + Name 92 "g_tTex1di4" + Name 95 "g_tTex1du4" + Name 98 "g_tTex3df4" + Name 101 "g_tTex3di4" + Name 104 "g_tTex3du4" + Name 107 "g_tTexcdf4" + Name 110 "g_tTexcdi4" + Name 113 "g_tTexcdu4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 39(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 79(Color) Location 0 + Decorate 83(Depth) BuiltIn FragDepth + Decorate 88(g_tTex1df4a) DescriptorSet 0 + Decorate 88(g_tTex1df4a) Binding 1 + Decorate 89(g_tTex1df4) DescriptorSet 0 + Decorate 89(g_tTex1df4) Binding 0 + Decorate 92(g_tTex1di4) DescriptorSet 0 + Decorate 95(g_tTex1du4) DescriptorSet 0 + Decorate 98(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 104(g_tTex3du4) DescriptorSet 0 + Decorate 107(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTexcdi4) DescriptorSet 0 + Decorate 113(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 2 - 26: 24(int) Constant 1 - 27: 24(int) Constant 0 - 28: 25(ivec2) ConstantComposite 26 27 - 30: TypeVector 24(int) 4 - 31: TypePointer Function 30(ivec4) - 33: TypeImage 24(int) 2D sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex2di4): 34(ptr) Variable UniformConstant - 38: TypeSampledImage 33 - 40: 6(float) Constant 1050253722 - 41: 6(float) Constant 1053609165 - 42: 20(fvec2) ConstantComposite 40 41 - 43: 25(ivec2) ConstantComposite 26 26 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 6(float) Constant 1056964608 - 57: 6(float) Constant 1058642330 - 58: 20(fvec2) ConstantComposite 56 57 - 59: 24(int) Constant 4294967295 - 60: 25(ivec2) ConstantComposite 26 59 - 62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 63: TypePointer Function 62(PS_OUTPUT) - 65: 6(float) Constant 1065353216 - 66: 7(fvec4) ConstantComposite 65 65 65 65 - 68: TypePointer Function 6(float) - 70: TypePointer Output 7(fvec4) - 71(Color): 70(ptr) Variable Output - 74: TypePointer Output 6(float) - 75(Depth): 74(ptr) Variable Output - 79: TypeImage 6(float) 1D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex1df4a): 80(ptr) Variable UniformConstant - 82(g_tTex1df4): 80(ptr) Variable UniformConstant - 83: TypeImage 24(int) 1D sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex1di4): 84(ptr) Variable UniformConstant - 86: TypeImage 45(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 2 + 30: 28(int) Constant 1 + 31: 28(int) Constant 0 + 32: 29(ivec2) ConstantComposite 30 31 + 34: TypeVector 28(int) 4 + 35: TypePointer Function 34(ivec4) + 37: TypeImage 28(int) 2D sampled format:Unknown + 38: TypePointer UniformConstant 37 + 39(g_tTex2di4): 38(ptr) Variable UniformConstant + 42: TypeSampledImage 37 + 44: 6(float) Constant 1050253722 + 45: 6(float) Constant 1053609165 + 46: 24(fvec2) ConstantComposite 44 45 + 47: 29(ivec2) ConstantComposite 30 30 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 60: 6(float) Constant 1056964608 + 61: 6(float) Constant 1058642330 + 62: 24(fvec2) ConstantComposite 60 61 + 63: 28(int) Constant 4294967295 + 64: 29(ivec2) ConstantComposite 30 63 + 66: TypePointer Function 8(PS_OUTPUT) + 68: 6(float) Constant 1065353216 + 69: 7(fvec4) ConstantComposite 68 68 68 68 + 71: TypePointer Function 6(float) + 78: TypePointer Output 7(fvec4) + 79(Color): 78(ptr) Variable Output + 82: TypePointer Output 6(float) + 83(Depth): 82(ptr) Variable Output + 86: TypeImage 6(float) 1D sampled format:Unknown 87: TypePointer UniformConstant 86 - 88(g_tTex1du4): 87(ptr) Variable UniformConstant - 89: TypeImage 6(float) 3D sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex3df4): 90(ptr) Variable UniformConstant - 92: TypeImage 24(int) 3D sampled format:Unknown - 93: TypePointer UniformConstant 92 - 94(g_tTex3di4): 93(ptr) Variable UniformConstant - 95: TypeImage 45(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3du4): 96(ptr) Variable UniformConstant - 98: TypeImage 6(float) Cube sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdf4): 99(ptr) Variable UniformConstant - 101: TypeImage 24(int) Cube sampled format:Unknown - 102: TypePointer UniformConstant 101 - 103(g_tTexcdi4): 102(ptr) Variable UniformConstant - 104: TypeImage 45(int) Cube sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdu4): 105(ptr) Variable UniformConstant + 88(g_tTex1df4a): 87(ptr) Variable UniformConstant + 89(g_tTex1df4): 87(ptr) Variable UniformConstant + 90: TypeImage 28(int) 1D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex1di4): 91(ptr) Variable UniformConstant + 93: TypeImage 49(int) 1D sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTex1du4): 94(ptr) Variable UniformConstant + 96: TypeImage 6(float) 3D sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex3df4): 97(ptr) Variable UniformConstant + 99: TypeImage 28(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 102: TypeImage 49(int) 3D sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTex3du4): 103(ptr) Variable UniformConstant + 105: TypeImage 6(float) Cube sampled format:Unknown + 106: TypePointer UniformConstant 105 + 107(g_tTexcdf4): 106(ptr) Variable UniformConstant + 108: TypeImage 28(int) Cube sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTexcdi4): 109(ptr) Variable UniformConstant + 111: TypeImage 49(int) Cube sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTexcdu4): 112(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 32(txval21): 31(ptr) Variable Function - 48(txval22): 47(ptr) Variable Function - 64(psout): 63(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 29: 7(fvec4) ImageGather 19 23 27 ConstOffset 28 - Store 9(txval20) 29 - 36: 33 Load 35(g_tTex2di4) - 37: 14 Load 16(g_sSamp) - 39: 38 SampledImage 36 37 - 44: 30(ivec4) ImageGather 39 42 27 ConstOffset 43 - Store 32(txval21) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 61: 46(ivec4) ImageGather 55 58 27 ConstOffset 60 - Store 48(txval22) 61 - 67: 8(ptr) AccessChain 64(psout) 27 - Store 67 66 - 69: 68(ptr) AccessChain 64(psout) 26 - Store 69 65 - 72: 8(ptr) AccessChain 64(psout) 27 - 73: 7(fvec4) Load 72 - Store 71(Color) 73 - 76: 68(ptr) AccessChain 64(psout) 26 - 77: 6(float) Load 76 - Store 75(Depth) 77 + 76(flattenTemp): 66(ptr) Variable Function + 77:8(PS_OUTPUT) FunctionCall 10(@main() + Store 76(flattenTemp) 77 + 80: 12(ptr) AccessChain 76(flattenTemp) 31 + 81: 7(fvec4) Load 80 + Store 79(Color) 81 + 84: 71(ptr) AccessChain 76(flattenTemp) 30 + 85: 6(float) Load 84 + Store 83(Depth) 85 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 36(txval21): 35(ptr) Variable Function + 52(txval22): 51(ptr) Variable Function + 67(psout): 66(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 33: 7(fvec4) ImageGather 23 27 31 ConstOffset 32 + Store 13(txval20) 33 + 40: 37 Load 39(g_tTex2di4) + 41: 18 Load 20(g_sSamp) + 43: 42 SampledImage 40 41 + 48: 34(ivec4) ImageGather 43 46 31 ConstOffset 47 + Store 36(txval21) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 65: 50(ivec4) ImageGather 59 62 31 ConstOffset 64 + Store 52(txval22) 65 + 70: 12(ptr) AccessChain 67(psout) 31 + Store 70 69 + 72: 71(ptr) AccessChain 67(psout) 30 + Store 72 68 + 73:8(PS_OUTPUT) Load 67(psout) + ReturnValue 73 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index a7589cd9b06..6b1cac30dcf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.gather.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of float) -0:25 'txval20' (temp 4-component vector of float) -0:25 textureGatherOffset (temp 4-component vector of float) -0:25 Construct combined texture-sampler (temp sampler2DArray) -0:25 'g_tTex2df4' (uniform texture2DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'txval20' ( temp 4-component vector of float) +0:25 textureGatherOffset ( temp 4-component vector of float) +0:25 Construct combined texture-sampler ( temp sampler2DArray) +0:25 'g_tTex2df4' ( uniform texture2DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -20,12 +20,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of int) -0:26 'txval21' (temp 4-component vector of int) -0:26 textureGatherOffset (temp 4-component vector of int) -0:26 Construct combined texture-sampler (temp isampler2DArray) -0:26 'g_tTex2di4' (uniform itexture2DArray) -0:26 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:26 move second child to first child ( temp 4-component vector of int) +0:26 'txval21' ( temp 4-component vector of int) +0:26 textureGatherOffset ( temp 4-component vector of int) +0:26 Construct combined texture-sampler ( temp isampler2DArray) +0:26 'g_tTex2di4' ( uniform itexture2DArray) +0:26 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -34,12 +34,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of uint) -0:27 'txval22' (temp 4-component vector of uint) -0:27 textureGatherOffset (temp 4-component vector of uint) -0:27 Construct combined texture-sampler (temp usampler2DArray) -0:27 'g_tTex2du4' (uniform utexture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of uint) +0:27 'txval22' ( temp 4-component vector of uint) +0:27 textureGatherOffset ( temp 4-component vector of uint) +0:27 Construct combined texture-sampler ( temp usampler2DArray) +0:27 'g_tTex2du4' ( uniform utexture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -47,9 +47,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:32 Color: direct index for structure (temp 4-component vector of float) -0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 Color: direct index for structure ( temp 4-component vector of float) +0:32 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: @@ -57,39 +57,45 @@ gl_FragCoord origin is upper left 0:32 1.000000 0:32 1.000000 0:32 1.000000 -0:33 move second child to first child (temp float) -0:33 Depth: direct index for structure (temp float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp float) +0:33 Depth: direct index for structure ( temp float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 0 (const int) -0:35 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 1 (const int) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -98,16 +104,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of float) -0:25 'txval20' (temp 4-component vector of float) -0:25 textureGatherOffset (temp 4-component vector of float) -0:25 Construct combined texture-sampler (temp sampler2DArray) -0:25 'g_tTex2df4' (uniform texture2DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'txval20' ( temp 4-component vector of float) +0:25 textureGatherOffset ( temp 4-component vector of float) +0:25 Construct combined texture-sampler ( temp sampler2DArray) +0:25 'g_tTex2df4' ( uniform texture2DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -116,12 +122,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of int) -0:26 'txval21' (temp 4-component vector of int) -0:26 textureGatherOffset (temp 4-component vector of int) -0:26 Construct combined texture-sampler (temp isampler2DArray) -0:26 'g_tTex2di4' (uniform itexture2DArray) -0:26 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:26 move second child to first child ( temp 4-component vector of int) +0:26 'txval21' ( temp 4-component vector of int) +0:26 textureGatherOffset ( temp 4-component vector of int) +0:26 Construct combined texture-sampler ( temp isampler2DArray) +0:26 'g_tTex2di4' ( uniform itexture2DArray) +0:26 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -130,12 +136,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of uint) -0:27 'txval22' (temp 4-component vector of uint) -0:27 textureGatherOffset (temp 4-component vector of uint) -0:27 Construct combined texture-sampler (temp usampler2DArray) -0:27 'g_tTex2du4' (uniform utexture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of uint) +0:27 'txval22' ( temp 4-component vector of uint) +0:27 textureGatherOffset ( temp 4-component vector of uint) +0:27 Construct combined texture-sampler ( temp usampler2DArray) +0:27 'g_tTex2du4' ( uniform utexture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -143,9 +149,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? -1 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:32 Color: direct index for structure (temp 4-component vector of float) -0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 Color: direct index for structure ( temp 4-component vector of float) +0:32 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: @@ -153,174 +159,191 @@ gl_FragCoord origin is upper left 0:32 1.000000 0:32 1.000000 0:32 1.000000 -0:33 move second child to first child (temp float) -0:33 Depth: direct index for structure (temp float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp float) +0:33 Depth: direct index for structure ( temp float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: 0:33 1.000000 -0:35 Sequence -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 0 (const int) -0:35 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:35 Constant: -0:35 1 (const int) -0:35 Branch: Return +0:35 Branch: Return with expression +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 90 +// Id's are bound by 97 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 72 76 + EntryPoint Fragment 4 "main" 80 84 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval20" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 33 "txval21" - Name 36 "g_tTex2di4" - Name 48 "txval22" - Name 51 "g_tTex2du4" - Name 63 "PS_OUTPUT" - MemberName 63(PS_OUTPUT) 0 "Color" - MemberName 63(PS_OUTPUT) 1 "Depth" - Name 65 "psout" - Name 72 "Color" - Name 76 "Depth" - Name 82 "g_tTex1df4a" - Name 83 "g_tTex1df4" - Name 86 "g_tTex1di4" - Name 89 "g_tTex1du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 72(Color) Location 0 - Decorate 76(Depth) BuiltIn FragDepth - Decorate 82(g_tTex1df4a) DescriptorSet 0 - Decorate 82(g_tTex1df4a) Binding 1 - Decorate 83(g_tTex1df4) DescriptorSet 0 - Decorate 83(g_tTex1df4) Binding 0 - Decorate 86(g_tTex1di4) DescriptorSet 0 - Decorate 89(g_tTex1du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval20" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 37 "txval21" + Name 40 "g_tTex2di4" + Name 52 "txval22" + Name 55 "g_tTex2du4" + Name 68 "psout" + Name 77 "flattenTemp" + Name 80 "Color" + Name 84 "Depth" + Name 89 "g_tTex1df4a" + Name 90 "g_tTex1df4" + Name 93 "g_tTex1di4" + Name 96 "g_tTex1du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 40(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 80(Color) Location 0 + Decorate 84(Depth) BuiltIn FragDepth + Decorate 89(g_tTex1df4a) DescriptorSet 0 + Decorate 89(g_tTex1df4a) Binding 1 + Decorate 90(g_tTex1df4) DescriptorSet 0 + Decorate 90(g_tTex1df4) Binding 0 + Decorate 93(g_tTex1di4) DescriptorSet 0 + Decorate 96(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 3 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 6(float) Constant 1050253722 - 24: 20(fvec3) ConstantComposite 21 22 23 - 25: TypeInt 32 1 - 26: TypeVector 25(int) 2 - 27: 25(int) Constant 1 - 28: 25(int) Constant 0 - 29: 26(ivec2) ConstantComposite 27 28 - 31: TypeVector 25(int) 4 - 32: TypePointer Function 31(ivec4) - 34: TypeImage 25(int) 2D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex2di4): 35(ptr) Variable UniformConstant - 39: TypeSampledImage 34 - 41: 6(float) Constant 1053609165 - 42: 20(fvec3) ConstantComposite 23 41 41 - 43: 26(ivec2) ConstantComposite 27 27 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 56: 6(float) Constant 1056964608 - 57: 6(float) Constant 1058642330 - 58: 6(float) Constant 1060320051 - 59: 20(fvec3) ConstantComposite 56 57 58 - 60: 25(int) Constant 4294967295 - 61: 26(ivec2) ConstantComposite 27 60 - 63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 64: TypePointer Function 63(PS_OUTPUT) - 66: 6(float) Constant 1065353216 - 67: 7(fvec4) ConstantComposite 66 66 66 66 - 69: TypePointer Function 6(float) - 71: TypePointer Output 7(fvec4) - 72(Color): 71(ptr) Variable Output - 75: TypePointer Output 6(float) - 76(Depth): 75(ptr) Variable Output - 80: TypeImage 6(float) 1D array sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex1df4a): 81(ptr) Variable UniformConstant - 83(g_tTex1df4): 81(ptr) Variable UniformConstant - 84: TypeImage 25(int) 1D array sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex1di4): 85(ptr) Variable UniformConstant - 87: TypeImage 45(int) 1D array sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 3 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 6(float) Constant 1050253722 + 28: 24(fvec3) ConstantComposite 25 26 27 + 29: TypeInt 32 1 + 30: TypeVector 29(int) 2 + 31: 29(int) Constant 1 + 32: 29(int) Constant 0 + 33: 30(ivec2) ConstantComposite 31 32 + 35: TypeVector 29(int) 4 + 36: TypePointer Function 35(ivec4) + 38: TypeImage 29(int) 2D array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex2di4): 39(ptr) Variable UniformConstant + 43: TypeSampledImage 38 + 45: 6(float) Constant 1053609165 + 46: 24(fvec3) ConstantComposite 27 45 45 + 47: 30(ivec2) ConstantComposite 31 31 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 60: 6(float) Constant 1056964608 + 61: 6(float) Constant 1058642330 + 62: 6(float) Constant 1060320051 + 63: 24(fvec3) ConstantComposite 60 61 62 + 64: 29(int) Constant 4294967295 + 65: 30(ivec2) ConstantComposite 31 64 + 67: TypePointer Function 8(PS_OUTPUT) + 69: 6(float) Constant 1065353216 + 70: 7(fvec4) ConstantComposite 69 69 69 69 + 72: TypePointer Function 6(float) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output + 83: TypePointer Output 6(float) + 84(Depth): 83(ptr) Variable Output + 87: TypeImage 6(float) 1D array sampled format:Unknown 88: TypePointer UniformConstant 87 - 89(g_tTex1du4): 88(ptr) Variable UniformConstant + 89(g_tTex1df4a): 88(ptr) Variable UniformConstant + 90(g_tTex1df4): 88(ptr) Variable UniformConstant + 91: TypeImage 29(int) 1D array sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTex1di4): 92(ptr) Variable UniformConstant + 94: TypeImage 49(int) 1D array sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex1du4): 95(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval20): 8(ptr) Variable Function - 33(txval21): 32(ptr) Variable Function - 48(txval22): 47(ptr) Variable Function - 65(psout): 64(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 30: 7(fvec4) ImageGather 19 24 28 ConstOffset 29 - Store 9(txval20) 30 - 37: 34 Load 36(g_tTex2di4) - 38: 14 Load 16(g_sSamp) - 40: 39 SampledImage 37 38 - 44: 31(ivec4) ImageGather 40 42 28 ConstOffset 43 - Store 33(txval21) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 62: 46(ivec4) ImageGather 55 59 28 ConstOffset 61 - Store 48(txval22) 62 - 68: 8(ptr) AccessChain 65(psout) 28 - Store 68 67 - 70: 69(ptr) AccessChain 65(psout) 27 - Store 70 66 - 73: 8(ptr) AccessChain 65(psout) 28 - 74: 7(fvec4) Load 73 - Store 72(Color) 74 - 77: 69(ptr) AccessChain 65(psout) 27 - 78: 6(float) Load 77 - Store 76(Depth) 78 + 77(flattenTemp): 67(ptr) Variable Function + 78:8(PS_OUTPUT) FunctionCall 10(@main() + Store 77(flattenTemp) 78 + 81: 12(ptr) AccessChain 77(flattenTemp) 32 + 82: 7(fvec4) Load 81 + Store 80(Color) 82 + 85: 72(ptr) AccessChain 77(flattenTemp) 31 + 86: 6(float) Load 85 + Store 84(Depth) 86 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval20): 12(ptr) Variable Function + 37(txval21): 36(ptr) Variable Function + 52(txval22): 51(ptr) Variable Function + 68(psout): 67(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 34: 7(fvec4) ImageGather 23 28 32 ConstOffset 33 + Store 13(txval20) 34 + 41: 38 Load 40(g_tTex2di4) + 42: 18 Load 20(g_sSamp) + 44: 43 SampledImage 41 42 + 48: 35(ivec4) ImageGather 44 46 32 ConstOffset 47 + Store 37(txval21) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 66: 50(ivec4) ImageGather 59 63 32 ConstOffset 65 + Store 52(txval22) 66 + 71: 12(ptr) AccessChain 68(psout) 32 + Store 71 70 + 73: 72(ptr) AccessChain 68(psout) 31 + Store 73 69 + 74:8(PS_OUTPUT) Load 68(psout) + ReturnValue 74 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index b04a857336f..c918d9917c5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -2,324 +2,324 @@ hlsl.gatherRGBA.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval00' (temp 4-component vector of float) -0:33 textureGather (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2DArray) -0:33 'g_tTex2df4a' (uniform texture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:33 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval00' ( temp 4-component vector of float) +0:33 textureGather ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2DArray) +0:33 'g_tTex2df4a' ( uniform texture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) +0:33 c3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval01' (temp 4-component vector of int) -0:34 textureGather (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2DArray) -0:34 'g_tTex2di4a' (uniform itexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:34 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval01' ( temp 4-component vector of int) +0:34 textureGather ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2DArray) +0:34 'g_tTex2di4a' ( uniform itexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) +0:34 c3: direct index for structure ( uniform 3-component vector of float) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: 0:34 0 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval02' (temp 4-component vector of uint) -0:35 textureGather (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2DArray) -0:35 'g_tTex2du4a' (uniform utexture2DArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:35 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval02' ( temp 4-component vector of uint) +0:35 textureGather ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2DArray) +0:35 'g_tTex2du4a' ( uniform utexture2DArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) +0:35 c3: direct index for structure ( uniform 3-component vector of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:35 Constant: 0:35 2 (const uint) 0:35 Constant: 0:35 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:37 'txval10' (temp 4-component vector of float) -0:37 textureGather (temp 4-component vector of float) -0:37 Construct combined texture-sampler (temp sampler2DArray) -0:37 'g_tTex2df4a' (uniform texture2DArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:37 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'txval10' ( temp 4-component vector of float) +0:37 textureGather ( temp 4-component vector of float) +0:37 Construct combined texture-sampler ( temp sampler2DArray) +0:37 'g_tTex2df4a' ( uniform texture2DArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) +0:37 c3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:37 Constant: 0:37 2 (const uint) 0:37 Constant: 0:37 1 (const int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of int) -0:38 'txval11' (temp 4-component vector of int) -0:38 textureGather (temp 4-component vector of int) -0:38 Construct combined texture-sampler (temp isampler2DArray) -0:38 'g_tTex2di4a' (uniform itexture2DArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:38 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:38 move second child to first child ( temp 4-component vector of int) +0:38 'txval11' ( temp 4-component vector of int) +0:38 textureGather ( temp 4-component vector of int) +0:38 Construct combined texture-sampler ( temp isampler2DArray) +0:38 'g_tTex2di4a' ( uniform itexture2DArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) +0:38 c3: direct index for structure ( uniform 3-component vector of float) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:38 Constant: 0:38 2 (const uint) 0:38 Constant: 0:38 1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of uint) -0:39 'txval12' (temp 4-component vector of uint) -0:39 textureGather (temp 4-component vector of uint) -0:39 Construct combined texture-sampler (temp usampler2DArray) -0:39 'g_tTex2du4a' (uniform utexture2DArray) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:39 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:39 move second child to first child ( temp 4-component vector of uint) +0:39 'txval12' ( temp 4-component vector of uint) +0:39 textureGather ( temp 4-component vector of uint) +0:39 Construct combined texture-sampler ( temp usampler2DArray) +0:39 'g_tTex2du4a' ( uniform utexture2DArray) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) +0:39 c3: direct index for structure ( uniform 3-component vector of float) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:39 Constant: 0:39 2 (const uint) 0:39 Constant: 0:39 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of float) -0:41 'txval20' (temp 4-component vector of float) -0:41 textureGather (temp 4-component vector of float) -0:41 Construct combined texture-sampler (temp sampler2DArray) -0:41 'g_tTex2df4a' (uniform texture2DArray) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:41 move second child to first child ( temp 4-component vector of float) +0:41 'txval20' ( temp 4-component vector of float) +0:41 textureGather ( temp 4-component vector of float) +0:41 Construct combined texture-sampler ( temp sampler2DArray) +0:41 'g_tTex2df4a' ( uniform texture2DArray) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c3: direct index for structure ( uniform 3-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:41 Constant: 0:41 2 (const uint) 0:41 Constant: 0:41 2 (const int) 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of int) -0:42 'txval21' (temp 4-component vector of int) -0:42 textureGather (temp 4-component vector of int) -0:42 Construct combined texture-sampler (temp isampler2DArray) -0:42 'g_tTex2di4a' (uniform itexture2DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:42 move second child to first child ( temp 4-component vector of int) +0:42 'txval21' ( temp 4-component vector of int) +0:42 textureGather ( temp 4-component vector of int) +0:42 Construct combined texture-sampler ( temp isampler2DArray) +0:42 'g_tTex2di4a' ( uniform itexture2DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 c3: direct index for structure ( uniform 3-component vector of float) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:42 Constant: 0:42 2 (const uint) 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of uint) -0:43 'txval22' (temp 4-component vector of uint) -0:43 textureGather (temp 4-component vector of uint) -0:43 Construct combined texture-sampler (temp usampler2DArray) -0:43 'g_tTex2du4a' (uniform utexture2DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:43 move second child to first child ( temp 4-component vector of uint) +0:43 'txval22' ( temp 4-component vector of uint) +0:43 textureGather ( temp 4-component vector of uint) +0:43 Construct combined texture-sampler ( temp usampler2DArray) +0:43 'g_tTex2du4a' ( uniform utexture2DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 c3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:43 Constant: 0:43 2 (const uint) 0:43 Constant: 0:43 2 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:45 'txval30' (temp 4-component vector of float) -0:45 textureGather (temp 4-component vector of float) -0:45 Construct combined texture-sampler (temp sampler2DArray) -0:45 'g_tTex2df4a' (uniform texture2DArray) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'txval30' ( temp 4-component vector of float) +0:45 textureGather ( temp 4-component vector of float) +0:45 Construct combined texture-sampler ( temp sampler2DArray) +0:45 'g_tTex2df4a' ( uniform texture2DArray) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c3: direct index for structure ( uniform 3-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:45 Constant: 0:45 2 (const uint) 0:45 Constant: 0:45 3 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of int) -0:46 'txval31' (temp 4-component vector of int) -0:46 textureGather (temp 4-component vector of int) -0:46 Construct combined texture-sampler (temp isampler2DArray) -0:46 'g_tTex2di4a' (uniform itexture2DArray) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'txval31' ( temp 4-component vector of int) +0:46 textureGather ( temp 4-component vector of int) +0:46 Construct combined texture-sampler ( temp isampler2DArray) +0:46 'g_tTex2di4a' ( uniform itexture2DArray) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c3: direct index for structure ( uniform 3-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:46 Constant: 0:46 2 (const uint) 0:46 Constant: 0:46 3 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of uint) -0:47 'txval32' (temp 4-component vector of uint) -0:47 textureGather (temp 4-component vector of uint) -0:47 Construct combined texture-sampler (temp usampler2DArray) -0:47 'g_tTex2du4a' (uniform utexture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'txval32' ( temp 4-component vector of uint) +0:47 textureGather ( temp 4-component vector of uint) +0:47 Construct combined texture-sampler ( temp usampler2DArray) +0:47 'g_tTex2du4a' ( uniform utexture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c3: direct index for structure ( uniform 3-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:47 Constant: 0:47 2 (const uint) 0:47 Constant: 0:47 3 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'txval40' (temp 4-component vector of float) -0:51 textureGather (temp 4-component vector of float) -0:51 Construct combined texture-sampler (temp samplerCubeArray) -0:51 'g_tTexcdf4a' (uniform textureCubeArray) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'txval40' ( temp 4-component vector of float) +0:51 textureGather ( temp 4-component vector of float) +0:51 Construct combined texture-sampler ( temp samplerCubeArray) +0:51 'g_tTexcdf4a' ( uniform textureCubeArray) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c4: direct index for structure ( uniform 4-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:51 Constant: 0:51 3 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'txval41' (temp 4-component vector of int) -0:52 textureGather (temp 4-component vector of int) -0:52 Construct combined texture-sampler (temp isamplerCubeArray) -0:52 'g_tTexcdi4a' (uniform itextureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'txval41' ( temp 4-component vector of int) +0:52 textureGather ( temp 4-component vector of int) +0:52 Construct combined texture-sampler ( temp isamplerCubeArray) +0:52 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c4: direct index for structure ( uniform 4-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:52 Constant: 0:52 3 (const uint) 0:52 Constant: 0:52 0 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'txval42' (temp 4-component vector of uint) -0:53 textureGather (temp 4-component vector of uint) -0:53 Construct combined texture-sampler (temp usamplerCubeArray) -0:53 'g_tTexcdu4a' (uniform utextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'txval42' ( temp 4-component vector of uint) +0:53 textureGather ( temp 4-component vector of uint) +0:53 Construct combined texture-sampler ( temp usamplerCubeArray) +0:53 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 c4: direct index for structure ( uniform 4-component vector of float) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:53 Constant: 0:53 3 (const uint) 0:53 Constant: 0:53 0 (const int) 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'txval50' (temp 4-component vector of float) -0:55 textureGather (temp 4-component vector of float) -0:55 Construct combined texture-sampler (temp samplerCubeArray) -0:55 'g_tTexcdf4a' (uniform textureCubeArray) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'txval50' ( temp 4-component vector of float) +0:55 textureGather ( temp 4-component vector of float) +0:55 Construct combined texture-sampler ( temp samplerCubeArray) +0:55 'g_tTexcdf4a' ( uniform textureCubeArray) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 c4: direct index for structure ( uniform 4-component vector of float) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:55 Constant: 0:55 3 (const uint) 0:55 Constant: 0:55 1 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of int) -0:56 'txval51' (temp 4-component vector of int) -0:56 textureGather (temp 4-component vector of int) -0:56 Construct combined texture-sampler (temp isamplerCubeArray) -0:56 'g_tTexcdi4a' (uniform itextureCubeArray) -0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:56 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:56 move second child to first child ( temp 4-component vector of int) +0:56 'txval51' ( temp 4-component vector of int) +0:56 textureGather ( temp 4-component vector of int) +0:56 Construct combined texture-sampler ( temp isamplerCubeArray) +0:56 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:56 'g_sSamp' (layout( binding=0) uniform sampler) +0:56 c4: direct index for structure ( uniform 4-component vector of float) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:56 Constant: 0:56 3 (const uint) 0:56 Constant: 0:56 1 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of uint) -0:57 'txval52' (temp 4-component vector of uint) -0:57 textureGather (temp 4-component vector of uint) -0:57 Construct combined texture-sampler (temp usamplerCubeArray) -0:57 'g_tTexcdu4a' (uniform utextureCubeArray) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:57 move second child to first child ( temp 4-component vector of uint) +0:57 'txval52' ( temp 4-component vector of uint) +0:57 textureGather ( temp 4-component vector of uint) +0:57 Construct combined texture-sampler ( temp usamplerCubeArray) +0:57 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c4: direct index for structure ( uniform 4-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 1 (const int) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:59 'txval60' (temp 4-component vector of float) -0:59 textureGather (temp 4-component vector of float) -0:59 Construct combined texture-sampler (temp samplerCubeArray) -0:59 'g_tTexcdf4a' (uniform textureCubeArray) -0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:59 move second child to first child ( temp 4-component vector of float) +0:59 'txval60' ( temp 4-component vector of float) +0:59 textureGather ( temp 4-component vector of float) +0:59 Construct combined texture-sampler ( temp samplerCubeArray) +0:59 'g_tTexcdf4a' ( uniform textureCubeArray) +0:59 'g_sSamp' (layout( binding=0) uniform sampler) +0:59 c4: direct index for structure ( uniform 4-component vector of float) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 2 (const int) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of int) -0:60 'txval61' (temp 4-component vector of int) -0:60 textureGather (temp 4-component vector of int) -0:60 Construct combined texture-sampler (temp isamplerCubeArray) -0:60 'g_tTexcdi4a' (uniform itextureCubeArray) -0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:60 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'txval61' ( temp 4-component vector of int) +0:60 textureGather ( temp 4-component vector of int) +0:60 Construct combined texture-sampler ( temp isamplerCubeArray) +0:60 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:60 'g_sSamp' (layout( binding=0) uniform sampler) +0:60 c4: direct index for structure ( uniform 4-component vector of float) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:60 Constant: 0:60 3 (const uint) 0:60 Constant: 0:60 2 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of uint) -0:61 'txval62' (temp 4-component vector of uint) -0:61 textureGather (temp 4-component vector of uint) -0:61 Construct combined texture-sampler (temp usamplerCubeArray) -0:61 'g_tTexcdu4a' (uniform utextureCubeArray) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:61 move second child to first child ( temp 4-component vector of uint) +0:61 'txval62' ( temp 4-component vector of uint) +0:61 textureGather ( temp 4-component vector of uint) +0:61 Construct combined texture-sampler ( temp usamplerCubeArray) +0:61 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c4: direct index for structure ( uniform 4-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Constant: 0:61 2 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of float) -0:63 'txval70' (temp 4-component vector of float) -0:63 textureGather (temp 4-component vector of float) -0:63 Construct combined texture-sampler (temp samplerCubeArray) -0:63 'g_tTexcdf4a' (uniform textureCubeArray) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 'txval70' ( temp 4-component vector of float) +0:63 textureGather ( temp 4-component vector of float) +0:63 Construct combined texture-sampler ( temp samplerCubeArray) +0:63 'g_tTexcdf4a' ( uniform textureCubeArray) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c4: direct index for structure ( uniform 4-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of int) -0:64 'txval71' (temp 4-component vector of int) -0:64 textureGather (temp 4-component vector of int) -0:64 Construct combined texture-sampler (temp isamplerCubeArray) -0:64 'g_tTexcdi4a' (uniform itextureCubeArray) -0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:64 move second child to first child ( temp 4-component vector of int) +0:64 'txval71' ( temp 4-component vector of int) +0:64 textureGather ( temp 4-component vector of int) +0:64 Construct combined texture-sampler ( temp isamplerCubeArray) +0:64 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:64 'g_sSamp' (layout( binding=0) uniform sampler) +0:64 c4: direct index for structure ( uniform 4-component vector of float) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of uint) -0:65 'txval72' (temp 4-component vector of uint) -0:65 textureGather (temp 4-component vector of uint) -0:65 Construct combined texture-sampler (temp usamplerCubeArray) -0:65 'g_tTexcdu4a' (uniform utextureCubeArray) -0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:65 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:65 move second child to first child ( temp 4-component vector of uint) +0:65 'txval72' ( temp 4-component vector of uint) +0:65 textureGather ( temp 4-component vector of uint) +0:65 Construct combined texture-sampler ( temp usamplerCubeArray) +0:65 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:65 'g_sSamp' (layout( binding=0) uniform sampler) +0:65 c4: direct index for structure ( uniform 4-component vector of float) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:65 Constant: 0:65 3 (const uint) 0:65 Constant: 0:65 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Color: direct index for structure (temp 4-component vector of float) -0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Color: direct index for structure ( temp 4-component vector of float) +0:67 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: @@ -327,43 +327,49 @@ gl_FragCoord origin is upper left 0:67 1.000000 0:67 1.000000 0:67 1.000000 -0:68 move second child to first child (temp float) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:68 move second child to first child ( temp float) +0:68 Depth: direct index for structure ( temp float) +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:68 Constant: 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -372,324 +378,324 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'txval00' (temp 4-component vector of float) -0:33 textureGather (temp 4-component vector of float) -0:33 Construct combined texture-sampler (temp sampler2DArray) -0:33 'g_tTex2df4a' (uniform texture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:33 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'txval00' ( temp 4-component vector of float) +0:33 textureGather ( temp 4-component vector of float) +0:33 Construct combined texture-sampler ( temp sampler2DArray) +0:33 'g_tTex2df4a' ( uniform texture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) +0:33 c3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: 0:33 0 (const int) 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of int) -0:34 'txval01' (temp 4-component vector of int) -0:34 textureGather (temp 4-component vector of int) -0:34 Construct combined texture-sampler (temp isampler2DArray) -0:34 'g_tTex2di4a' (uniform itexture2DArray) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:34 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:34 move second child to first child ( temp 4-component vector of int) +0:34 'txval01' ( temp 4-component vector of int) +0:34 textureGather ( temp 4-component vector of int) +0:34 Construct combined texture-sampler ( temp isampler2DArray) +0:34 'g_tTex2di4a' ( uniform itexture2DArray) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) +0:34 c3: direct index for structure ( uniform 3-component vector of float) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: 0:34 0 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of uint) -0:35 'txval02' (temp 4-component vector of uint) -0:35 textureGather (temp 4-component vector of uint) -0:35 Construct combined texture-sampler (temp usampler2DArray) -0:35 'g_tTex2du4a' (uniform utexture2DArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:35 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:35 move second child to first child ( temp 4-component vector of uint) +0:35 'txval02' ( temp 4-component vector of uint) +0:35 textureGather ( temp 4-component vector of uint) +0:35 Construct combined texture-sampler ( temp usampler2DArray) +0:35 'g_tTex2du4a' ( uniform utexture2DArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) +0:35 c3: direct index for structure ( uniform 3-component vector of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:35 Constant: 0:35 2 (const uint) 0:35 Constant: 0:35 0 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:37 'txval10' (temp 4-component vector of float) -0:37 textureGather (temp 4-component vector of float) -0:37 Construct combined texture-sampler (temp sampler2DArray) -0:37 'g_tTex2df4a' (uniform texture2DArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:37 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'txval10' ( temp 4-component vector of float) +0:37 textureGather ( temp 4-component vector of float) +0:37 Construct combined texture-sampler ( temp sampler2DArray) +0:37 'g_tTex2df4a' ( uniform texture2DArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) +0:37 c3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:37 Constant: 0:37 2 (const uint) 0:37 Constant: 0:37 1 (const int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of int) -0:38 'txval11' (temp 4-component vector of int) -0:38 textureGather (temp 4-component vector of int) -0:38 Construct combined texture-sampler (temp isampler2DArray) -0:38 'g_tTex2di4a' (uniform itexture2DArray) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:38 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:38 move second child to first child ( temp 4-component vector of int) +0:38 'txval11' ( temp 4-component vector of int) +0:38 textureGather ( temp 4-component vector of int) +0:38 Construct combined texture-sampler ( temp isampler2DArray) +0:38 'g_tTex2di4a' ( uniform itexture2DArray) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) +0:38 c3: direct index for structure ( uniform 3-component vector of float) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:38 Constant: 0:38 2 (const uint) 0:38 Constant: 0:38 1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of uint) -0:39 'txval12' (temp 4-component vector of uint) -0:39 textureGather (temp 4-component vector of uint) -0:39 Construct combined texture-sampler (temp usampler2DArray) -0:39 'g_tTex2du4a' (uniform utexture2DArray) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:39 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:39 move second child to first child ( temp 4-component vector of uint) +0:39 'txval12' ( temp 4-component vector of uint) +0:39 textureGather ( temp 4-component vector of uint) +0:39 Construct combined texture-sampler ( temp usampler2DArray) +0:39 'g_tTex2du4a' ( uniform utexture2DArray) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) +0:39 c3: direct index for structure ( uniform 3-component vector of float) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:39 Constant: 0:39 2 (const uint) 0:39 Constant: 0:39 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of float) -0:41 'txval20' (temp 4-component vector of float) -0:41 textureGather (temp 4-component vector of float) -0:41 Construct combined texture-sampler (temp sampler2DArray) -0:41 'g_tTex2df4a' (uniform texture2DArray) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:41 move second child to first child ( temp 4-component vector of float) +0:41 'txval20' ( temp 4-component vector of float) +0:41 textureGather ( temp 4-component vector of float) +0:41 Construct combined texture-sampler ( temp sampler2DArray) +0:41 'g_tTex2df4a' ( uniform texture2DArray) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c3: direct index for structure ( uniform 3-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:41 Constant: 0:41 2 (const uint) 0:41 Constant: 0:41 2 (const int) 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of int) -0:42 'txval21' (temp 4-component vector of int) -0:42 textureGather (temp 4-component vector of int) -0:42 Construct combined texture-sampler (temp isampler2DArray) -0:42 'g_tTex2di4a' (uniform itexture2DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:42 move second child to first child ( temp 4-component vector of int) +0:42 'txval21' ( temp 4-component vector of int) +0:42 textureGather ( temp 4-component vector of int) +0:42 Construct combined texture-sampler ( temp isampler2DArray) +0:42 'g_tTex2di4a' ( uniform itexture2DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 c3: direct index for structure ( uniform 3-component vector of float) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:42 Constant: 0:42 2 (const uint) 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of uint) -0:43 'txval22' (temp 4-component vector of uint) -0:43 textureGather (temp 4-component vector of uint) -0:43 Construct combined texture-sampler (temp usampler2DArray) -0:43 'g_tTex2du4a' (uniform utexture2DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:43 move second child to first child ( temp 4-component vector of uint) +0:43 'txval22' ( temp 4-component vector of uint) +0:43 textureGather ( temp 4-component vector of uint) +0:43 Construct combined texture-sampler ( temp usampler2DArray) +0:43 'g_tTex2du4a' ( uniform utexture2DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 c3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:43 Constant: 0:43 2 (const uint) 0:43 Constant: 0:43 2 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of float) -0:45 'txval30' (temp 4-component vector of float) -0:45 textureGather (temp 4-component vector of float) -0:45 Construct combined texture-sampler (temp sampler2DArray) -0:45 'g_tTex2df4a' (uniform texture2DArray) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'txval30' ( temp 4-component vector of float) +0:45 textureGather ( temp 4-component vector of float) +0:45 Construct combined texture-sampler ( temp sampler2DArray) +0:45 'g_tTex2df4a' ( uniform texture2DArray) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c3: direct index for structure ( uniform 3-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:45 Constant: 0:45 2 (const uint) 0:45 Constant: 0:45 3 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of int) -0:46 'txval31' (temp 4-component vector of int) -0:46 textureGather (temp 4-component vector of int) -0:46 Construct combined texture-sampler (temp isampler2DArray) -0:46 'g_tTex2di4a' (uniform itexture2DArray) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'txval31' ( temp 4-component vector of int) +0:46 textureGather ( temp 4-component vector of int) +0:46 Construct combined texture-sampler ( temp isampler2DArray) +0:46 'g_tTex2di4a' ( uniform itexture2DArray) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c3: direct index for structure ( uniform 3-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:46 Constant: 0:46 2 (const uint) 0:46 Constant: 0:46 3 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of uint) -0:47 'txval32' (temp 4-component vector of uint) -0:47 textureGather (temp 4-component vector of uint) -0:47 Construct combined texture-sampler (temp usampler2DArray) -0:47 'g_tTex2du4a' (uniform utexture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'txval32' ( temp 4-component vector of uint) +0:47 textureGather ( temp 4-component vector of uint) +0:47 Construct combined texture-sampler ( temp usampler2DArray) +0:47 'g_tTex2du4a' ( uniform utexture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c3: direct index for structure ( uniform 3-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:47 Constant: 0:47 2 (const uint) 0:47 Constant: 0:47 3 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'txval40' (temp 4-component vector of float) -0:51 textureGather (temp 4-component vector of float) -0:51 Construct combined texture-sampler (temp samplerCubeArray) -0:51 'g_tTexcdf4a' (uniform textureCubeArray) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'txval40' ( temp 4-component vector of float) +0:51 textureGather ( temp 4-component vector of float) +0:51 Construct combined texture-sampler ( temp samplerCubeArray) +0:51 'g_tTexcdf4a' ( uniform textureCubeArray) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c4: direct index for structure ( uniform 4-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:51 Constant: 0:51 3 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'txval41' (temp 4-component vector of int) -0:52 textureGather (temp 4-component vector of int) -0:52 Construct combined texture-sampler (temp isamplerCubeArray) -0:52 'g_tTexcdi4a' (uniform itextureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'txval41' ( temp 4-component vector of int) +0:52 textureGather ( temp 4-component vector of int) +0:52 Construct combined texture-sampler ( temp isamplerCubeArray) +0:52 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c4: direct index for structure ( uniform 4-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:52 Constant: 0:52 3 (const uint) 0:52 Constant: 0:52 0 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'txval42' (temp 4-component vector of uint) -0:53 textureGather (temp 4-component vector of uint) -0:53 Construct combined texture-sampler (temp usamplerCubeArray) -0:53 'g_tTexcdu4a' (uniform utextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'txval42' ( temp 4-component vector of uint) +0:53 textureGather ( temp 4-component vector of uint) +0:53 Construct combined texture-sampler ( temp usamplerCubeArray) +0:53 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 c4: direct index for structure ( uniform 4-component vector of float) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:53 Constant: 0:53 3 (const uint) 0:53 Constant: 0:53 0 (const int) 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'txval50' (temp 4-component vector of float) -0:55 textureGather (temp 4-component vector of float) -0:55 Construct combined texture-sampler (temp samplerCubeArray) -0:55 'g_tTexcdf4a' (uniform textureCubeArray) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'txval50' ( temp 4-component vector of float) +0:55 textureGather ( temp 4-component vector of float) +0:55 Construct combined texture-sampler ( temp samplerCubeArray) +0:55 'g_tTexcdf4a' ( uniform textureCubeArray) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 c4: direct index for structure ( uniform 4-component vector of float) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:55 Constant: 0:55 3 (const uint) 0:55 Constant: 0:55 1 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of int) -0:56 'txval51' (temp 4-component vector of int) -0:56 textureGather (temp 4-component vector of int) -0:56 Construct combined texture-sampler (temp isamplerCubeArray) -0:56 'g_tTexcdi4a' (uniform itextureCubeArray) -0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:56 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:56 move second child to first child ( temp 4-component vector of int) +0:56 'txval51' ( temp 4-component vector of int) +0:56 textureGather ( temp 4-component vector of int) +0:56 Construct combined texture-sampler ( temp isamplerCubeArray) +0:56 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:56 'g_sSamp' (layout( binding=0) uniform sampler) +0:56 c4: direct index for structure ( uniform 4-component vector of float) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:56 Constant: 0:56 3 (const uint) 0:56 Constant: 0:56 1 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of uint) -0:57 'txval52' (temp 4-component vector of uint) -0:57 textureGather (temp 4-component vector of uint) -0:57 Construct combined texture-sampler (temp usamplerCubeArray) -0:57 'g_tTexcdu4a' (uniform utextureCubeArray) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:57 move second child to first child ( temp 4-component vector of uint) +0:57 'txval52' ( temp 4-component vector of uint) +0:57 textureGather ( temp 4-component vector of uint) +0:57 Construct combined texture-sampler ( temp usamplerCubeArray) +0:57 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c4: direct index for structure ( uniform 4-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 1 (const int) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:59 'txval60' (temp 4-component vector of float) -0:59 textureGather (temp 4-component vector of float) -0:59 Construct combined texture-sampler (temp samplerCubeArray) -0:59 'g_tTexcdf4a' (uniform textureCubeArray) -0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:59 move second child to first child ( temp 4-component vector of float) +0:59 'txval60' ( temp 4-component vector of float) +0:59 textureGather ( temp 4-component vector of float) +0:59 Construct combined texture-sampler ( temp samplerCubeArray) +0:59 'g_tTexcdf4a' ( uniform textureCubeArray) +0:59 'g_sSamp' (layout( binding=0) uniform sampler) +0:59 c4: direct index for structure ( uniform 4-component vector of float) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 2 (const int) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of int) -0:60 'txval61' (temp 4-component vector of int) -0:60 textureGather (temp 4-component vector of int) -0:60 Construct combined texture-sampler (temp isamplerCubeArray) -0:60 'g_tTexcdi4a' (uniform itextureCubeArray) -0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:60 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'txval61' ( temp 4-component vector of int) +0:60 textureGather ( temp 4-component vector of int) +0:60 Construct combined texture-sampler ( temp isamplerCubeArray) +0:60 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:60 'g_sSamp' (layout( binding=0) uniform sampler) +0:60 c4: direct index for structure ( uniform 4-component vector of float) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:60 Constant: 0:60 3 (const uint) 0:60 Constant: 0:60 2 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of uint) -0:61 'txval62' (temp 4-component vector of uint) -0:61 textureGather (temp 4-component vector of uint) -0:61 Construct combined texture-sampler (temp usamplerCubeArray) -0:61 'g_tTexcdu4a' (uniform utextureCubeArray) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:61 move second child to first child ( temp 4-component vector of uint) +0:61 'txval62' ( temp 4-component vector of uint) +0:61 textureGather ( temp 4-component vector of uint) +0:61 Construct combined texture-sampler ( temp usamplerCubeArray) +0:61 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c4: direct index for structure ( uniform 4-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Constant: 0:61 2 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of float) -0:63 'txval70' (temp 4-component vector of float) -0:63 textureGather (temp 4-component vector of float) -0:63 Construct combined texture-sampler (temp samplerCubeArray) -0:63 'g_tTexcdf4a' (uniform textureCubeArray) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 'txval70' ( temp 4-component vector of float) +0:63 textureGather ( temp 4-component vector of float) +0:63 Construct combined texture-sampler ( temp samplerCubeArray) +0:63 'g_tTexcdf4a' ( uniform textureCubeArray) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c4: direct index for structure ( uniform 4-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of int) -0:64 'txval71' (temp 4-component vector of int) -0:64 textureGather (temp 4-component vector of int) -0:64 Construct combined texture-sampler (temp isamplerCubeArray) -0:64 'g_tTexcdi4a' (uniform itextureCubeArray) -0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:64 move second child to first child ( temp 4-component vector of int) +0:64 'txval71' ( temp 4-component vector of int) +0:64 textureGather ( temp 4-component vector of int) +0:64 Construct combined texture-sampler ( temp isamplerCubeArray) +0:64 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:64 'g_sSamp' (layout( binding=0) uniform sampler) +0:64 c4: direct index for structure ( uniform 4-component vector of float) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of uint) -0:65 'txval72' (temp 4-component vector of uint) -0:65 textureGather (temp 4-component vector of uint) -0:65 Construct combined texture-sampler (temp usamplerCubeArray) -0:65 'g_tTexcdu4a' (uniform utextureCubeArray) -0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:65 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:65 move second child to first child ( temp 4-component vector of uint) +0:65 'txval72' ( temp 4-component vector of uint) +0:65 textureGather ( temp 4-component vector of uint) +0:65 Construct combined texture-sampler ( temp usamplerCubeArray) +0:65 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:65 'g_sSamp' (layout( binding=0) uniform sampler) +0:65 c4: direct index for structure ( uniform 4-component vector of float) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:65 Constant: 0:65 3 (const uint) 0:65 Constant: 0:65 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Color: direct index for structure (temp 4-component vector of float) -0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Color: direct index for structure ( temp 4-component vector of float) +0:67 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: @@ -697,396 +703,413 @@ gl_FragCoord origin is upper left 0:67 1.000000 0:67 1.000000 0:67 1.000000 -0:68 move second child to first child (temp float) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:68 move second child to first child ( temp float) +0:68 Depth: direct index for structure ( temp float) +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:68 Constant: 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 248 +// Id's are bound by 255 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 230 234 + EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval00" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 22 "$Global" - MemberName 22($Global) 0 "c1" - MemberName 22($Global) 1 "c2" - MemberName 22($Global) 2 "c3" - MemberName 22($Global) 3 "c4" - Name 24 "" - Name 34 "txval01" - Name 37 "g_tTex2di4a" - Name 48 "txval02" - Name 51 "g_tTex2du4a" - Name 59 "txval10" - Name 67 "txval11" - Name 74 "txval12" - Name 81 "txval20" - Name 88 "txval21" - Name 95 "txval22" - Name 102 "txval30" - Name 110 "txval31" - Name 117 "txval32" - Name 124 "txval40" - Name 127 "g_tTexcdf4a" - Name 136 "txval41" - Name 139 "g_tTexcdi4a" - Name 147 "txval42" - Name 150 "g_tTexcdu4a" - Name 158 "txval50" - Name 165 "txval51" - Name 172 "txval52" - Name 179 "txval60" - Name 186 "txval61" - Name 193 "txval62" - Name 200 "txval70" - Name 207 "txval71" - Name 214 "txval72" - Name 221 "PS_OUTPUT" - MemberName 221(PS_OUTPUT) 0 "Color" - MemberName 221(PS_OUTPUT) 1 "Depth" - Name 223 "psout" - Name 230 "Color" - Name 234 "Depth" - Name 238 "g_sSamp2d" - Name 241 "g_tTex1df4a" - Name 244 "g_tTex1di4a" - Name 247 "g_tTex1du4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 22($Global) 0 Offset 0 - MemberDecorate 22($Global) 1 Offset 8 - MemberDecorate 22($Global) 2 Offset 16 - MemberDecorate 22($Global) 3 Offset 32 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 - Decorate 37(g_tTex2di4a) DescriptorSet 0 - Decorate 51(g_tTex2du4a) DescriptorSet 0 - Decorate 127(g_tTexcdf4a) DescriptorSet 0 - Decorate 139(g_tTexcdi4a) DescriptorSet 0 - Decorate 150(g_tTexcdu4a) DescriptorSet 0 - Decorate 230(Color) Location 0 - Decorate 234(Depth) BuiltIn FragDepth - Decorate 238(g_sSamp2d) DescriptorSet 0 - Decorate 241(g_tTex1df4a) DescriptorSet 0 - Decorate 241(g_tTex1df4a) Binding 0 - Decorate 244(g_tTex1di4a) DescriptorSet 0 - Decorate 247(g_tTex1du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval00" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 26 "$Global" + MemberName 26($Global) 0 "c1" + MemberName 26($Global) 1 "c2" + MemberName 26($Global) 2 "c3" + MemberName 26($Global) 3 "c4" + Name 28 "" + Name 38 "txval01" + Name 41 "g_tTex2di4a" + Name 52 "txval02" + Name 55 "g_tTex2du4a" + Name 63 "txval10" + Name 71 "txval11" + Name 78 "txval12" + Name 85 "txval20" + Name 92 "txval21" + Name 99 "txval22" + Name 106 "txval30" + Name 114 "txval31" + Name 121 "txval32" + Name 128 "txval40" + Name 131 "g_tTexcdf4a" + Name 140 "txval41" + Name 143 "g_tTexcdi4a" + Name 151 "txval42" + Name 154 "g_tTexcdu4a" + Name 162 "txval50" + Name 169 "txval51" + Name 176 "txval52" + Name 183 "txval60" + Name 190 "txval61" + Name 197 "txval62" + Name 204 "txval70" + Name 211 "txval71" + Name 218 "txval72" + Name 226 "psout" + Name 235 "flattenTemp" + Name 238 "Color" + Name 242 "Depth" + Name 245 "g_sSamp2d" + Name 248 "g_tTex1df4a" + Name 251 "g_tTex1di4a" + Name 254 "g_tTex1du4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 8 + MemberDecorate 26($Global) 2 Offset 16 + MemberDecorate 26($Global) 3 Offset 32 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 41(g_tTex2di4a) DescriptorSet 0 + Decorate 55(g_tTex2du4a) DescriptorSet 0 + Decorate 131(g_tTexcdf4a) DescriptorSet 0 + Decorate 143(g_tTexcdi4a) DescriptorSet 0 + Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 238(Color) Location 0 + Decorate 242(Depth) BuiltIn FragDepth + Decorate 245(g_sSamp2d) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) Binding 0 + Decorate 251(g_tTex1di4a) DescriptorSet 0 + Decorate 254(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) - 23: TypePointer Uniform 22($Global) - 24: 23(ptr) Variable Uniform - 25: TypeInt 32 1 - 26: 25(int) Constant 2 - 27: TypePointer Uniform 21(fvec3) - 30: 25(int) Constant 0 - 32: TypeVector 25(int) 4 - 33: TypePointer Function 32(ivec4) - 35: TypeImage 25(int) 2D array sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex2di4a): 36(ptr) Variable UniformConstant - 40: TypeSampledImage 35 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4a): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 65: 25(int) Constant 1 - 108: 25(int) Constant 3 - 125: TypeImage 6(float) Cube array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTexcdf4a): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 132: TypePointer Uniform 7(fvec4) - 137: TypeImage 25(int) Cube array sampled format:Unknown - 138: TypePointer UniformConstant 137 -139(g_tTexcdi4a): 138(ptr) Variable UniformConstant - 142: TypeSampledImage 137 - 148: TypeImage 45(int) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdu4a): 149(ptr) Variable UniformConstant - 153: TypeSampledImage 148 - 221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 222: TypePointer Function 221(PS_OUTPUT) - 224: 6(float) Constant 1065353216 - 225: 7(fvec4) ConstantComposite 224 224 224 224 - 227: TypePointer Function 6(float) - 229: TypePointer Output 7(fvec4) - 230(Color): 229(ptr) Variable Output - 233: TypePointer Output 6(float) - 234(Depth): 233(ptr) Variable Output - 238(g_sSamp2d): 15(ptr) Variable UniformConstant - 239: TypeImage 6(float) 1D array sampled format:Unknown - 240: TypePointer UniformConstant 239 -241(g_tTex1df4a): 240(ptr) Variable UniformConstant - 242: TypeImage 25(int) 1D array sampled format:Unknown - 243: TypePointer UniformConstant 242 -244(g_tTex1di4a): 243(ptr) Variable UniformConstant - 245: TypeImage 45(int) 1D array sampled format:Unknown - 246: TypePointer UniformConstant 245 -247(g_tTex1du4a): 246(ptr) Variable UniformConstant + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 31: TypePointer Uniform 25(fvec3) + 34: 29(int) Constant 0 + 36: TypeVector 29(int) 4 + 37: TypePointer Function 36(ivec4) + 39: TypeImage 29(int) 2D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex2di4a): 40(ptr) Variable UniformConstant + 44: TypeSampledImage 39 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4a): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 69: 29(int) Constant 1 + 112: 29(int) Constant 3 + 129: TypeImage 6(float) Cube array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTexcdf4a): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 136: TypePointer Uniform 7(fvec4) + 141: TypeImage 29(int) Cube array sampled format:Unknown + 142: TypePointer UniformConstant 141 +143(g_tTexcdi4a): 142(ptr) Variable UniformConstant + 146: TypeSampledImage 141 + 152: TypeImage 49(int) Cube array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTexcdu4a): 153(ptr) Variable UniformConstant + 157: TypeSampledImage 152 + 225: TypePointer Function 8(PS_OUTPUT) + 227: 6(float) Constant 1065353216 + 228: 7(fvec4) ConstantComposite 227 227 227 227 + 230: TypePointer Function 6(float) + 237: TypePointer Output 7(fvec4) + 238(Color): 237(ptr) Variable Output + 241: TypePointer Output 6(float) + 242(Depth): 241(ptr) Variable Output + 245(g_sSamp2d): 19(ptr) Variable UniformConstant + 246: TypeImage 6(float) 1D array sampled format:Unknown + 247: TypePointer UniformConstant 246 +248(g_tTex1df4a): 247(ptr) Variable UniformConstant + 249: TypeImage 29(int) 1D array sampled format:Unknown + 250: TypePointer UniformConstant 249 +251(g_tTex1di4a): 250(ptr) Variable UniformConstant + 252: TypeImage 49(int) 1D array sampled format:Unknown + 253: TypePointer UniformConstant 252 +254(g_tTex1du4a): 253(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval00): 8(ptr) Variable Function - 34(txval01): 33(ptr) Variable Function - 48(txval02): 47(ptr) Variable Function - 59(txval10): 8(ptr) Variable Function - 67(txval11): 33(ptr) Variable Function - 74(txval12): 47(ptr) Variable Function - 81(txval20): 8(ptr) Variable Function - 88(txval21): 33(ptr) Variable Function - 95(txval22): 47(ptr) Variable Function - 102(txval30): 8(ptr) Variable Function - 110(txval31): 33(ptr) Variable Function - 117(txval32): 47(ptr) Variable Function - 124(txval40): 8(ptr) Variable Function - 136(txval41): 33(ptr) Variable Function - 147(txval42): 47(ptr) Variable Function - 158(txval50): 8(ptr) Variable Function - 165(txval51): 33(ptr) Variable Function - 172(txval52): 47(ptr) Variable Function - 179(txval60): 8(ptr) Variable Function - 186(txval61): 33(ptr) Variable Function - 193(txval62): 47(ptr) Variable Function - 200(txval70): 8(ptr) Variable Function - 207(txval71): 33(ptr) Variable Function - 214(txval72): 47(ptr) Variable Function - 223(psout): 222(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 27(ptr) AccessChain 24 26 - 29: 21(fvec3) Load 28 - 31: 7(fvec4) ImageGather 19 29 30 - Store 9(txval00) 31 - 38: 35 Load 37(g_tTex2di4a) - 39: 14 Load 16(g_sSamp) - 41: 40 SampledImage 38 39 - 42: 27(ptr) AccessChain 24 26 - 43: 21(fvec3) Load 42 - 44: 32(ivec4) ImageGather 41 43 30 - Store 34(txval01) 44 - 52: 49 Load 51(g_tTex2du4a) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 56: 27(ptr) AccessChain 24 26 - 57: 21(fvec3) Load 56 - 58: 46(ivec4) ImageGather 55 57 30 - Store 48(txval02) 58 - 60: 10 Load 12(g_tTex2df4a) - 61: 14 Load 16(g_sSamp) - 62: 18 SampledImage 60 61 - 63: 27(ptr) AccessChain 24 26 - 64: 21(fvec3) Load 63 - 66: 7(fvec4) ImageGather 62 64 65 - Store 59(txval10) 66 - 68: 35 Load 37(g_tTex2di4a) - 69: 14 Load 16(g_sSamp) - 70: 40 SampledImage 68 69 - 71: 27(ptr) AccessChain 24 26 - 72: 21(fvec3) Load 71 - 73: 32(ivec4) ImageGather 70 72 65 - Store 67(txval11) 73 - 75: 49 Load 51(g_tTex2du4a) - 76: 14 Load 16(g_sSamp) - 77: 54 SampledImage 75 76 - 78: 27(ptr) AccessChain 24 26 - 79: 21(fvec3) Load 78 - 80: 46(ivec4) ImageGather 77 79 65 - Store 74(txval12) 80 - 82: 10 Load 12(g_tTex2df4a) - 83: 14 Load 16(g_sSamp) - 84: 18 SampledImage 82 83 - 85: 27(ptr) AccessChain 24 26 - 86: 21(fvec3) Load 85 - 87: 7(fvec4) ImageGather 84 86 26 - Store 81(txval20) 87 - 89: 35 Load 37(g_tTex2di4a) - 90: 14 Load 16(g_sSamp) - 91: 40 SampledImage 89 90 - 92: 27(ptr) AccessChain 24 26 - 93: 21(fvec3) Load 92 - 94: 32(ivec4) ImageGather 91 93 26 - Store 88(txval21) 94 - 96: 49 Load 51(g_tTex2du4a) - 97: 14 Load 16(g_sSamp) - 98: 54 SampledImage 96 97 - 99: 27(ptr) AccessChain 24 26 - 100: 21(fvec3) Load 99 - 101: 46(ivec4) ImageGather 98 100 26 - Store 95(txval22) 101 - 103: 10 Load 12(g_tTex2df4a) - 104: 14 Load 16(g_sSamp) - 105: 18 SampledImage 103 104 - 106: 27(ptr) AccessChain 24 26 - 107: 21(fvec3) Load 106 - 109: 7(fvec4) ImageGather 105 107 108 - Store 102(txval30) 109 - 111: 35 Load 37(g_tTex2di4a) - 112: 14 Load 16(g_sSamp) - 113: 40 SampledImage 111 112 - 114: 27(ptr) AccessChain 24 26 - 115: 21(fvec3) Load 114 - 116: 32(ivec4) ImageGather 113 115 108 - Store 110(txval31) 116 - 118: 49 Load 51(g_tTex2du4a) - 119: 14 Load 16(g_sSamp) - 120: 54 SampledImage 118 119 - 121: 27(ptr) AccessChain 24 26 - 122: 21(fvec3) Load 121 - 123: 46(ivec4) ImageGather 120 122 108 - Store 117(txval32) 123 - 128: 125 Load 127(g_tTexcdf4a) - 129: 14 Load 16(g_sSamp) - 131: 130 SampledImage 128 129 - 133: 132(ptr) AccessChain 24 108 - 134: 7(fvec4) Load 133 - 135: 7(fvec4) ImageGather 131 134 30 - Store 124(txval40) 135 - 140: 137 Load 139(g_tTexcdi4a) - 141: 14 Load 16(g_sSamp) - 143: 142 SampledImage 140 141 - 144: 132(ptr) AccessChain 24 108 - 145: 7(fvec4) Load 144 - 146: 32(ivec4) ImageGather 143 145 30 - Store 136(txval41) 146 - 151: 148 Load 150(g_tTexcdu4a) - 152: 14 Load 16(g_sSamp) - 154: 153 SampledImage 151 152 - 155: 132(ptr) AccessChain 24 108 - 156: 7(fvec4) Load 155 - 157: 46(ivec4) ImageGather 154 156 30 - Store 147(txval42) 157 - 159: 125 Load 127(g_tTexcdf4a) - 160: 14 Load 16(g_sSamp) - 161: 130 SampledImage 159 160 - 162: 132(ptr) AccessChain 24 108 - 163: 7(fvec4) Load 162 - 164: 7(fvec4) ImageGather 161 163 65 - Store 158(txval50) 164 - 166: 137 Load 139(g_tTexcdi4a) - 167: 14 Load 16(g_sSamp) - 168: 142 SampledImage 166 167 - 169: 132(ptr) AccessChain 24 108 - 170: 7(fvec4) Load 169 - 171: 32(ivec4) ImageGather 168 170 65 - Store 165(txval51) 171 - 173: 148 Load 150(g_tTexcdu4a) - 174: 14 Load 16(g_sSamp) - 175: 153 SampledImage 173 174 - 176: 132(ptr) AccessChain 24 108 - 177: 7(fvec4) Load 176 - 178: 46(ivec4) ImageGather 175 177 65 - Store 172(txval52) 178 - 180: 125 Load 127(g_tTexcdf4a) - 181: 14 Load 16(g_sSamp) - 182: 130 SampledImage 180 181 - 183: 132(ptr) AccessChain 24 108 - 184: 7(fvec4) Load 183 - 185: 7(fvec4) ImageGather 182 184 26 - Store 179(txval60) 185 - 187: 137 Load 139(g_tTexcdi4a) - 188: 14 Load 16(g_sSamp) - 189: 142 SampledImage 187 188 - 190: 132(ptr) AccessChain 24 108 - 191: 7(fvec4) Load 190 - 192: 32(ivec4) ImageGather 189 191 26 - Store 186(txval61) 192 - 194: 148 Load 150(g_tTexcdu4a) - 195: 14 Load 16(g_sSamp) - 196: 153 SampledImage 194 195 - 197: 132(ptr) AccessChain 24 108 - 198: 7(fvec4) Load 197 - 199: 46(ivec4) ImageGather 196 198 26 - Store 193(txval62) 199 - 201: 125 Load 127(g_tTexcdf4a) - 202: 14 Load 16(g_sSamp) - 203: 130 SampledImage 201 202 - 204: 132(ptr) AccessChain 24 108 - 205: 7(fvec4) Load 204 - 206: 7(fvec4) ImageGather 203 205 108 - Store 200(txval70) 206 - 208: 137 Load 139(g_tTexcdi4a) - 209: 14 Load 16(g_sSamp) - 210: 142 SampledImage 208 209 - 211: 132(ptr) AccessChain 24 108 - 212: 7(fvec4) Load 211 - 213: 32(ivec4) ImageGather 210 212 108 - Store 207(txval71) 213 - 215: 148 Load 150(g_tTexcdu4a) - 216: 14 Load 16(g_sSamp) - 217: 153 SampledImage 215 216 - 218: 132(ptr) AccessChain 24 108 - 219: 7(fvec4) Load 218 - 220: 46(ivec4) ImageGather 217 219 108 - Store 214(txval72) 220 - 226: 8(ptr) AccessChain 223(psout) 30 - Store 226 225 - 228: 227(ptr) AccessChain 223(psout) 65 - Store 228 224 - 231: 8(ptr) AccessChain 223(psout) 30 - 232: 7(fvec4) Load 231 - Store 230(Color) 232 - 235: 227(ptr) AccessChain 223(psout) 65 - 236: 6(float) Load 235 - Store 234(Depth) 236 +235(flattenTemp): 225(ptr) Variable Function + 236:8(PS_OUTPUT) FunctionCall 10(@main() + Store 235(flattenTemp) 236 + 239: 12(ptr) AccessChain 235(flattenTemp) 34 + 240: 7(fvec4) Load 239 + Store 238(Color) 240 + 243: 230(ptr) AccessChain 235(flattenTemp) 69 + 244: 6(float) Load 243 + Store 242(Depth) 244 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval00): 12(ptr) Variable Function + 38(txval01): 37(ptr) Variable Function + 52(txval02): 51(ptr) Variable Function + 63(txval10): 12(ptr) Variable Function + 71(txval11): 37(ptr) Variable Function + 78(txval12): 51(ptr) Variable Function + 85(txval20): 12(ptr) Variable Function + 92(txval21): 37(ptr) Variable Function + 99(txval22): 51(ptr) Variable Function + 106(txval30): 12(ptr) Variable Function + 114(txval31): 37(ptr) Variable Function + 121(txval32): 51(ptr) Variable Function + 128(txval40): 12(ptr) Variable Function + 140(txval41): 37(ptr) Variable Function + 151(txval42): 51(ptr) Variable Function + 162(txval50): 12(ptr) Variable Function + 169(txval51): 37(ptr) Variable Function + 176(txval52): 51(ptr) Variable Function + 183(txval60): 12(ptr) Variable Function + 190(txval61): 37(ptr) Variable Function + 197(txval62): 51(ptr) Variable Function + 204(txval70): 12(ptr) Variable Function + 211(txval71): 37(ptr) Variable Function + 218(txval72): 51(ptr) Variable Function + 226(psout): 225(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 31(ptr) AccessChain 28 30 + 33: 25(fvec3) Load 32 + 35: 7(fvec4) ImageGather 23 33 34 + Store 13(txval00) 35 + 42: 39 Load 41(g_tTex2di4a) + 43: 18 Load 20(g_sSamp) + 45: 44 SampledImage 42 43 + 46: 31(ptr) AccessChain 28 30 + 47: 25(fvec3) Load 46 + 48: 36(ivec4) ImageGather 45 47 34 + Store 38(txval01) 48 + 56: 53 Load 55(g_tTex2du4a) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 60: 31(ptr) AccessChain 28 30 + 61: 25(fvec3) Load 60 + 62: 50(ivec4) ImageGather 59 61 34 + Store 52(txval02) 62 + 64: 14 Load 16(g_tTex2df4a) + 65: 18 Load 20(g_sSamp) + 66: 22 SampledImage 64 65 + 67: 31(ptr) AccessChain 28 30 + 68: 25(fvec3) Load 67 + 70: 7(fvec4) ImageGather 66 68 69 + Store 63(txval10) 70 + 72: 39 Load 41(g_tTex2di4a) + 73: 18 Load 20(g_sSamp) + 74: 44 SampledImage 72 73 + 75: 31(ptr) AccessChain 28 30 + 76: 25(fvec3) Load 75 + 77: 36(ivec4) ImageGather 74 76 69 + Store 71(txval11) 77 + 79: 53 Load 55(g_tTex2du4a) + 80: 18 Load 20(g_sSamp) + 81: 58 SampledImage 79 80 + 82: 31(ptr) AccessChain 28 30 + 83: 25(fvec3) Load 82 + 84: 50(ivec4) ImageGather 81 83 69 + Store 78(txval12) 84 + 86: 14 Load 16(g_tTex2df4a) + 87: 18 Load 20(g_sSamp) + 88: 22 SampledImage 86 87 + 89: 31(ptr) AccessChain 28 30 + 90: 25(fvec3) Load 89 + 91: 7(fvec4) ImageGather 88 90 30 + Store 85(txval20) 91 + 93: 39 Load 41(g_tTex2di4a) + 94: 18 Load 20(g_sSamp) + 95: 44 SampledImage 93 94 + 96: 31(ptr) AccessChain 28 30 + 97: 25(fvec3) Load 96 + 98: 36(ivec4) ImageGather 95 97 30 + Store 92(txval21) 98 + 100: 53 Load 55(g_tTex2du4a) + 101: 18 Load 20(g_sSamp) + 102: 58 SampledImage 100 101 + 103: 31(ptr) AccessChain 28 30 + 104: 25(fvec3) Load 103 + 105: 50(ivec4) ImageGather 102 104 30 + Store 99(txval22) 105 + 107: 14 Load 16(g_tTex2df4a) + 108: 18 Load 20(g_sSamp) + 109: 22 SampledImage 107 108 + 110: 31(ptr) AccessChain 28 30 + 111: 25(fvec3) Load 110 + 113: 7(fvec4) ImageGather 109 111 112 + Store 106(txval30) 113 + 115: 39 Load 41(g_tTex2di4a) + 116: 18 Load 20(g_sSamp) + 117: 44 SampledImage 115 116 + 118: 31(ptr) AccessChain 28 30 + 119: 25(fvec3) Load 118 + 120: 36(ivec4) ImageGather 117 119 112 + Store 114(txval31) 120 + 122: 53 Load 55(g_tTex2du4a) + 123: 18 Load 20(g_sSamp) + 124: 58 SampledImage 122 123 + 125: 31(ptr) AccessChain 28 30 + 126: 25(fvec3) Load 125 + 127: 50(ivec4) ImageGather 124 126 112 + Store 121(txval32) 127 + 132: 129 Load 131(g_tTexcdf4a) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 137: 136(ptr) AccessChain 28 112 + 138: 7(fvec4) Load 137 + 139: 7(fvec4) ImageGather 135 138 34 + Store 128(txval40) 139 + 144: 141 Load 143(g_tTexcdi4a) + 145: 18 Load 20(g_sSamp) + 147: 146 SampledImage 144 145 + 148: 136(ptr) AccessChain 28 112 + 149: 7(fvec4) Load 148 + 150: 36(ivec4) ImageGather 147 149 34 + Store 140(txval41) 150 + 155: 152 Load 154(g_tTexcdu4a) + 156: 18 Load 20(g_sSamp) + 158: 157 SampledImage 155 156 + 159: 136(ptr) AccessChain 28 112 + 160: 7(fvec4) Load 159 + 161: 50(ivec4) ImageGather 158 160 34 + Store 151(txval42) 161 + 163: 129 Load 131(g_tTexcdf4a) + 164: 18 Load 20(g_sSamp) + 165: 134 SampledImage 163 164 + 166: 136(ptr) AccessChain 28 112 + 167: 7(fvec4) Load 166 + 168: 7(fvec4) ImageGather 165 167 69 + Store 162(txval50) 168 + 170: 141 Load 143(g_tTexcdi4a) + 171: 18 Load 20(g_sSamp) + 172: 146 SampledImage 170 171 + 173: 136(ptr) AccessChain 28 112 + 174: 7(fvec4) Load 173 + 175: 36(ivec4) ImageGather 172 174 69 + Store 169(txval51) 175 + 177: 152 Load 154(g_tTexcdu4a) + 178: 18 Load 20(g_sSamp) + 179: 157 SampledImage 177 178 + 180: 136(ptr) AccessChain 28 112 + 181: 7(fvec4) Load 180 + 182: 50(ivec4) ImageGather 179 181 69 + Store 176(txval52) 182 + 184: 129 Load 131(g_tTexcdf4a) + 185: 18 Load 20(g_sSamp) + 186: 134 SampledImage 184 185 + 187: 136(ptr) AccessChain 28 112 + 188: 7(fvec4) Load 187 + 189: 7(fvec4) ImageGather 186 188 30 + Store 183(txval60) 189 + 191: 141 Load 143(g_tTexcdi4a) + 192: 18 Load 20(g_sSamp) + 193: 146 SampledImage 191 192 + 194: 136(ptr) AccessChain 28 112 + 195: 7(fvec4) Load 194 + 196: 36(ivec4) ImageGather 193 195 30 + Store 190(txval61) 196 + 198: 152 Load 154(g_tTexcdu4a) + 199: 18 Load 20(g_sSamp) + 200: 157 SampledImage 198 199 + 201: 136(ptr) AccessChain 28 112 + 202: 7(fvec4) Load 201 + 203: 50(ivec4) ImageGather 200 202 30 + Store 197(txval62) 203 + 205: 129 Load 131(g_tTexcdf4a) + 206: 18 Load 20(g_sSamp) + 207: 134 SampledImage 205 206 + 208: 136(ptr) AccessChain 28 112 + 209: 7(fvec4) Load 208 + 210: 7(fvec4) ImageGather 207 209 112 + Store 204(txval70) 210 + 212: 141 Load 143(g_tTexcdi4a) + 213: 18 Load 20(g_sSamp) + 214: 146 SampledImage 212 213 + 215: 136(ptr) AccessChain 28 112 + 216: 7(fvec4) Load 215 + 217: 36(ivec4) ImageGather 214 216 112 + Store 211(txval71) 217 + 219: 152 Load 154(g_tTexcdu4a) + 220: 18 Load 20(g_sSamp) + 221: 157 SampledImage 219 220 + 222: 136(ptr) AccessChain 28 112 + 223: 7(fvec4) Load 222 + 224: 50(ivec4) ImageGather 221 223 112 + Store 218(txval72) 224 + 229: 12(ptr) AccessChain 226(psout) 34 + Store 229 228 + 231: 230(ptr) AccessChain 226(psout) 69 + Store 231 227 + 232:8(PS_OUTPUT) Load 226(psout) + ReturnValue 232 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index d2fb0b17147..7bd005a7e1b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -2,324 +2,324 @@ hlsl.gatherRGBA.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Function Parameters: 0:? Sequence 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval00' (temp 4-component vector of float) -0:39 textureGather (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler2D) -0:39 'g_tTex2df4' (uniform texture2D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval00' ( temp 4-component vector of float) +0:39 textureGather ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler2D) +0:39 'g_tTex2df4' ( uniform texture2D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) +0:39 c2: direct index for structure ( uniform 2-component vector of float) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:39 Constant: 0:39 1 (const uint) 0:39 Constant: 0:39 0 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval01' (temp 4-component vector of int) -0:40 textureGather (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler2D) -0:40 'g_tTex2di4' (uniform itexture2D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:40 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval01' ( temp 4-component vector of int) +0:40 textureGather ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler2D) +0:40 'g_tTex2di4' ( uniform itexture2D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) +0:40 c2: direct index for structure ( uniform 2-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:40 Constant: 0:40 1 (const uint) 0:40 Constant: 0:40 0 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval02' (temp 4-component vector of uint) -0:41 textureGather (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler2D) -0:41 'g_tTex2du4' (uniform utexture2D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval02' ( temp 4-component vector of uint) +0:41 textureGather ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler2D) +0:41 'g_tTex2du4' ( uniform utexture2D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c2: direct index for structure ( uniform 2-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:41 Constant: 0:41 1 (const uint) 0:41 Constant: 0:41 0 (const int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval10' (temp 4-component vector of float) -0:43 textureGather (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp sampler2D) -0:43 'g_tTex2df4' (uniform texture2D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval10' ( temp 4-component vector of float) +0:43 textureGather ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp sampler2D) +0:43 'g_tTex2df4' ( uniform texture2D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 c2: direct index for structure ( uniform 2-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:43 Constant: 0:43 1 (const uint) 0:43 Constant: 0:43 1 (const int) 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval11' (temp 4-component vector of int) -0:44 textureGather (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isampler2D) -0:44 'g_tTex2di4' (uniform itexture2D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval11' ( temp 4-component vector of int) +0:44 textureGather ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isampler2D) +0:44 'g_tTex2di4' ( uniform itexture2D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 c2: direct index for structure ( uniform 2-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:44 Constant: 0:44 1 (const uint) 0:44 Constant: 0:44 1 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval12' (temp 4-component vector of uint) -0:45 textureGather (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usampler2D) -0:45 'g_tTex2du4' (uniform utexture2D) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval12' ( temp 4-component vector of uint) +0:45 textureGather ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usampler2D) +0:45 'g_tTex2du4' ( uniform utexture2D) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c2: direct index for structure ( uniform 2-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:45 Constant: 0:45 1 (const uint) 0:45 Constant: 0:45 1 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:47 'txval20' (temp 4-component vector of float) -0:47 textureGather (temp 4-component vector of float) -0:47 Construct combined texture-sampler (temp sampler2D) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 'txval20' ( temp 4-component vector of float) +0:47 textureGather ( temp 4-component vector of float) +0:47 Construct combined texture-sampler ( temp sampler2D) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:47 Constant: 0:47 1 (const uint) 0:47 Constant: 0:47 2 (const int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of int) -0:48 'txval21' (temp 4-component vector of int) -0:48 textureGather (temp 4-component vector of int) -0:48 Construct combined texture-sampler (temp isampler2D) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:48 move second child to first child ( temp 4-component vector of int) +0:48 'txval21' ( temp 4-component vector of int) +0:48 textureGather ( temp 4-component vector of int) +0:48 Construct combined texture-sampler ( temp isampler2D) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 c2: direct index for structure ( uniform 2-component vector of float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:48 Constant: 0:48 1 (const uint) 0:48 Constant: 0:48 2 (const int) 0:49 Sequence -0:49 move second child to first child (temp 4-component vector of uint) -0:49 'txval22' (temp 4-component vector of uint) -0:49 textureGather (temp 4-component vector of uint) -0:49 Construct combined texture-sampler (temp usampler2D) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:49 move second child to first child ( temp 4-component vector of uint) +0:49 'txval22' ( temp 4-component vector of uint) +0:49 textureGather ( temp 4-component vector of uint) +0:49 Construct combined texture-sampler ( temp usampler2D) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 c2: direct index for structure ( uniform 2-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:49 Constant: 0:49 1 (const uint) 0:49 Constant: 0:49 2 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'txval30' (temp 4-component vector of float) -0:51 textureGather (temp 4-component vector of float) -0:51 Construct combined texture-sampler (temp sampler2D) -0:51 'g_tTex2df4' (uniform texture2D) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'txval30' ( temp 4-component vector of float) +0:51 textureGather ( temp 4-component vector of float) +0:51 Construct combined texture-sampler ( temp sampler2D) +0:51 'g_tTex2df4' ( uniform texture2D) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Constant: 0:51 3 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'txval31' (temp 4-component vector of int) -0:52 textureGather (temp 4-component vector of int) -0:52 Construct combined texture-sampler (temp isampler2D) -0:52 'g_tTex2di4' (uniform itexture2D) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'txval31' ( temp 4-component vector of int) +0:52 textureGather ( temp 4-component vector of int) +0:52 Construct combined texture-sampler ( temp isampler2D) +0:52 'g_tTex2di4' ( uniform itexture2D) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c2: direct index for structure ( uniform 2-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 3 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'txval32' (temp 4-component vector of uint) -0:53 textureGather (temp 4-component vector of uint) -0:53 Construct combined texture-sampler (temp usampler2D) -0:53 'g_tTex2du4' (uniform utexture2D) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'txval32' ( temp 4-component vector of uint) +0:53 textureGather ( temp 4-component vector of uint) +0:53 Construct combined texture-sampler ( temp usampler2D) +0:53 'g_tTex2du4' ( uniform utexture2D) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 c2: direct index for structure ( uniform 2-component vector of float) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 3 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of float) -0:57 'txval40' (temp 4-component vector of float) -0:57 textureGather (temp 4-component vector of float) -0:57 Construct combined texture-sampler (temp samplerCube) -0:57 'g_tTexcdf4' (uniform textureCube) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 'txval40' ( temp 4-component vector of float) +0:57 textureGather ( temp 4-component vector of float) +0:57 Construct combined texture-sampler ( temp samplerCube) +0:57 'g_tTexcdf4' ( uniform textureCube) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c3: direct index for structure ( uniform 3-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 0 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of int) -0:58 'txval41' (temp 4-component vector of int) -0:58 textureGather (temp 4-component vector of int) -0:58 Construct combined texture-sampler (temp isamplerCube) -0:58 'g_tTexcdi4' (uniform itextureCube) -0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:58 move second child to first child ( temp 4-component vector of int) +0:58 'txval41' ( temp 4-component vector of int) +0:58 textureGather ( temp 4-component vector of int) +0:58 Construct combined texture-sampler ( temp isamplerCube) +0:58 'g_tTexcdi4' ( uniform itextureCube) +0:58 'g_sSamp' (layout( binding=0) uniform sampler) +0:58 c3: direct index for structure ( uniform 3-component vector of float) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 0 (const int) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of uint) -0:59 'txval42' (temp 4-component vector of uint) -0:59 textureGather (temp 4-component vector of uint) -0:59 Construct combined texture-sampler (temp usamplerCube) -0:59 'g_tTexcdu4' (uniform utextureCube) -0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:59 move second child to first child ( temp 4-component vector of uint) +0:59 'txval42' ( temp 4-component vector of uint) +0:59 textureGather ( temp 4-component vector of uint) +0:59 Construct combined texture-sampler ( temp usamplerCube) +0:59 'g_tTexcdu4' ( uniform utextureCube) +0:59 'g_sSamp' (layout( binding=0) uniform sampler) +0:59 c3: direct index for structure ( uniform 3-component vector of float) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 0 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:61 'txval50' (temp 4-component vector of float) -0:61 textureGather (temp 4-component vector of float) -0:61 Construct combined texture-sampler (temp samplerCube) -0:61 'g_tTexcdf4' (uniform textureCube) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:61 move second child to first child ( temp 4-component vector of float) +0:61 'txval50' ( temp 4-component vector of float) +0:61 textureGather ( temp 4-component vector of float) +0:61 Construct combined texture-sampler ( temp samplerCube) +0:61 'g_tTexcdf4' ( uniform textureCube) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:61 Constant: 0:61 2 (const uint) 0:61 Constant: 0:61 1 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of int) -0:62 'txval51' (temp 4-component vector of int) -0:62 textureGather (temp 4-component vector of int) -0:62 Construct combined texture-sampler (temp isamplerCube) -0:62 'g_tTexcdi4' (uniform itextureCube) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'txval51' ( temp 4-component vector of int) +0:62 textureGather ( temp 4-component vector of int) +0:62 Construct combined texture-sampler ( temp isamplerCube) +0:62 'g_tTexcdi4' ( uniform itextureCube) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c3: direct index for structure ( uniform 3-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:62 Constant: 0:62 2 (const uint) 0:62 Constant: 0:62 1 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of uint) -0:63 'txval52' (temp 4-component vector of uint) -0:63 textureGather (temp 4-component vector of uint) -0:63 Construct combined texture-sampler (temp usamplerCube) -0:63 'g_tTexcdu4' (uniform utextureCube) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:63 move second child to first child ( temp 4-component vector of uint) +0:63 'txval52' ( temp 4-component vector of uint) +0:63 textureGather ( temp 4-component vector of uint) +0:63 Construct combined texture-sampler ( temp usamplerCube) +0:63 'g_tTexcdu4' ( uniform utextureCube) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c3: direct index for structure ( uniform 3-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:63 Constant: 0:63 2 (const uint) 0:63 Constant: 0:63 1 (const int) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:65 'txval60' (temp 4-component vector of float) -0:65 textureGather (temp 4-component vector of float) -0:65 Construct combined texture-sampler (temp samplerCube) -0:65 'g_tTexcdf4' (uniform textureCube) -0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:65 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:65 move second child to first child ( temp 4-component vector of float) +0:65 'txval60' ( temp 4-component vector of float) +0:65 textureGather ( temp 4-component vector of float) +0:65 Construct combined texture-sampler ( temp samplerCube) +0:65 'g_tTexcdf4' ( uniform textureCube) +0:65 'g_sSamp' (layout( binding=0) uniform sampler) +0:65 c3: direct index for structure ( uniform 3-component vector of float) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:65 Constant: 0:65 2 (const uint) 0:65 Constant: 0:65 2 (const int) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of int) -0:66 'txval61' (temp 4-component vector of int) -0:66 textureGather (temp 4-component vector of int) -0:66 Construct combined texture-sampler (temp isamplerCube) -0:66 'g_tTexcdi4' (uniform itextureCube) -0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:66 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:66 move second child to first child ( temp 4-component vector of int) +0:66 'txval61' ( temp 4-component vector of int) +0:66 textureGather ( temp 4-component vector of int) +0:66 Construct combined texture-sampler ( temp isamplerCube) +0:66 'g_tTexcdi4' ( uniform itextureCube) +0:66 'g_sSamp' (layout( binding=0) uniform sampler) +0:66 c3: direct index for structure ( uniform 3-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:66 Constant: 0:66 2 (const uint) 0:66 Constant: 0:66 2 (const int) 0:67 Sequence -0:67 move second child to first child (temp 4-component vector of uint) -0:67 'txval62' (temp 4-component vector of uint) -0:67 textureGather (temp 4-component vector of uint) -0:67 Construct combined texture-sampler (temp usamplerCube) -0:67 'g_tTexcdu4' (uniform utextureCube) -0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:67 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:67 move second child to first child ( temp 4-component vector of uint) +0:67 'txval62' ( temp 4-component vector of uint) +0:67 textureGather ( temp 4-component vector of uint) +0:67 Construct combined texture-sampler ( temp usamplerCube) +0:67 'g_tTexcdu4' ( uniform utextureCube) +0:67 'g_sSamp' (layout( binding=0) uniform sampler) +0:67 c3: direct index for structure ( uniform 3-component vector of float) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:67 Constant: 0:67 2 (const uint) 0:67 Constant: 0:67 2 (const int) 0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:69 'txval70' (temp 4-component vector of float) -0:69 textureGather (temp 4-component vector of float) -0:69 Construct combined texture-sampler (temp samplerCube) -0:69 'g_tTexcdf4' (uniform textureCube) -0:69 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'txval70' ( temp 4-component vector of float) +0:69 textureGather ( temp 4-component vector of float) +0:69 Construct combined texture-sampler ( temp samplerCube) +0:69 'g_tTexcdf4' ( uniform textureCube) +0:69 'g_sSamp' (layout( binding=0) uniform sampler) +0:69 c3: direct index for structure ( uniform 3-component vector of float) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:69 Constant: 0:69 2 (const uint) 0:69 Constant: 0:69 3 (const int) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of int) -0:70 'txval71' (temp 4-component vector of int) -0:70 textureGather (temp 4-component vector of int) -0:70 Construct combined texture-sampler (temp isamplerCube) -0:70 'g_tTexcdi4' (uniform itextureCube) -0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:70 move second child to first child ( temp 4-component vector of int) +0:70 'txval71' ( temp 4-component vector of int) +0:70 textureGather ( temp 4-component vector of int) +0:70 Construct combined texture-sampler ( temp isamplerCube) +0:70 'g_tTexcdi4' ( uniform itextureCube) +0:70 'g_sSamp' (layout( binding=0) uniform sampler) +0:70 c3: direct index for structure ( uniform 3-component vector of float) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:70 Constant: 0:70 2 (const uint) 0:70 Constant: 0:70 3 (const int) 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of uint) -0:71 'txval72' (temp 4-component vector of uint) -0:71 textureGather (temp 4-component vector of uint) -0:71 Construct combined texture-sampler (temp usamplerCube) -0:71 'g_tTexcdu4' (uniform utextureCube) -0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:71 move second child to first child ( temp 4-component vector of uint) +0:71 'txval72' ( temp 4-component vector of uint) +0:71 textureGather ( temp 4-component vector of uint) +0:71 Construct combined texture-sampler ( temp usamplerCube) +0:71 'g_tTexcdu4' ( uniform utextureCube) +0:71 'g_sSamp' (layout( binding=0) uniform sampler) +0:71 c3: direct index for structure ( uniform 3-component vector of float) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:71 Constant: 0:71 2 (const uint) 0:71 Constant: 0:71 3 (const int) -0:73 move second child to first child (temp 4-component vector of float) -0:73 Color: direct index for structure (temp 4-component vector of float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp 4-component vector of float) +0:73 Color: direct index for structure ( temp 4-component vector of float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 0 (const int) 0:73 Constant: @@ -327,47 +327,53 @@ gl_FragCoord origin is upper left 0:73 1.000000 0:73 1.000000 0:73 1.000000 -0:74 move second child to first child (temp float) -0:74 Depth: direct index for structure (temp float) -0:74 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:74 move second child to first child ( temp float) +0:74 Depth: direct index for structure ( temp float) +0:74 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:74 Constant: 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:76 Color: direct index for structure (temp 4-component vector of float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 0 (const int) -0:76 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:76 Depth: direct index for structure (temp float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 1 (const int) -0:76 Branch: Return +0:76 Branch: Return with expression +0:76 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: main( ( temp void) +0:34 Function Parameters: +0:? Sequence +0:34 Sequence +0:34 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:34 Depth: direct index for structure ( temp float) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -376,324 +382,324 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Function Parameters: 0:? Sequence 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval00' (temp 4-component vector of float) -0:39 textureGather (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler2D) -0:39 'g_tTex2df4' (uniform texture2D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval00' ( temp 4-component vector of float) +0:39 textureGather ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler2D) +0:39 'g_tTex2df4' ( uniform texture2D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) +0:39 c2: direct index for structure ( uniform 2-component vector of float) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:39 Constant: 0:39 1 (const uint) 0:39 Constant: 0:39 0 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval01' (temp 4-component vector of int) -0:40 textureGather (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler2D) -0:40 'g_tTex2di4' (uniform itexture2D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:40 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval01' ( temp 4-component vector of int) +0:40 textureGather ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler2D) +0:40 'g_tTex2di4' ( uniform itexture2D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) +0:40 c2: direct index for structure ( uniform 2-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:40 Constant: 0:40 1 (const uint) 0:40 Constant: 0:40 0 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval02' (temp 4-component vector of uint) -0:41 textureGather (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler2D) -0:41 'g_tTex2du4' (uniform utexture2D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval02' ( temp 4-component vector of uint) +0:41 textureGather ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler2D) +0:41 'g_tTex2du4' ( uniform utexture2D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c2: direct index for structure ( uniform 2-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:41 Constant: 0:41 1 (const uint) 0:41 Constant: 0:41 0 (const int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval10' (temp 4-component vector of float) -0:43 textureGather (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp sampler2D) -0:43 'g_tTex2df4' (uniform texture2D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval10' ( temp 4-component vector of float) +0:43 textureGather ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp sampler2D) +0:43 'g_tTex2df4' ( uniform texture2D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 c2: direct index for structure ( uniform 2-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:43 Constant: 0:43 1 (const uint) 0:43 Constant: 0:43 1 (const int) 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval11' (temp 4-component vector of int) -0:44 textureGather (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isampler2D) -0:44 'g_tTex2di4' (uniform itexture2D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval11' ( temp 4-component vector of int) +0:44 textureGather ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isampler2D) +0:44 'g_tTex2di4' ( uniform itexture2D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 c2: direct index for structure ( uniform 2-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:44 Constant: 0:44 1 (const uint) 0:44 Constant: 0:44 1 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval12' (temp 4-component vector of uint) -0:45 textureGather (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usampler2D) -0:45 'g_tTex2du4' (uniform utexture2D) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval12' ( temp 4-component vector of uint) +0:45 textureGather ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usampler2D) +0:45 'g_tTex2du4' ( uniform utexture2D) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c2: direct index for structure ( uniform 2-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:45 Constant: 0:45 1 (const uint) 0:45 Constant: 0:45 1 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of float) -0:47 'txval20' (temp 4-component vector of float) -0:47 textureGather (temp 4-component vector of float) -0:47 Construct combined texture-sampler (temp sampler2D) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 'txval20' ( temp 4-component vector of float) +0:47 textureGather ( temp 4-component vector of float) +0:47 Construct combined texture-sampler ( temp sampler2D) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:47 Constant: 0:47 1 (const uint) 0:47 Constant: 0:47 2 (const int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of int) -0:48 'txval21' (temp 4-component vector of int) -0:48 textureGather (temp 4-component vector of int) -0:48 Construct combined texture-sampler (temp isampler2D) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:48 move second child to first child ( temp 4-component vector of int) +0:48 'txval21' ( temp 4-component vector of int) +0:48 textureGather ( temp 4-component vector of int) +0:48 Construct combined texture-sampler ( temp isampler2D) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 c2: direct index for structure ( uniform 2-component vector of float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:48 Constant: 0:48 1 (const uint) 0:48 Constant: 0:48 2 (const int) 0:49 Sequence -0:49 move second child to first child (temp 4-component vector of uint) -0:49 'txval22' (temp 4-component vector of uint) -0:49 textureGather (temp 4-component vector of uint) -0:49 Construct combined texture-sampler (temp usampler2D) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:49 move second child to first child ( temp 4-component vector of uint) +0:49 'txval22' ( temp 4-component vector of uint) +0:49 textureGather ( temp 4-component vector of uint) +0:49 Construct combined texture-sampler ( temp usampler2D) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 c2: direct index for structure ( uniform 2-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:49 Constant: 0:49 1 (const uint) 0:49 Constant: 0:49 2 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'txval30' (temp 4-component vector of float) -0:51 textureGather (temp 4-component vector of float) -0:51 Construct combined texture-sampler (temp sampler2D) -0:51 'g_tTex2df4' (uniform texture2D) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'txval30' ( temp 4-component vector of float) +0:51 textureGather ( temp 4-component vector of float) +0:51 Construct combined texture-sampler ( temp sampler2D) +0:51 'g_tTex2df4' ( uniform texture2D) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Constant: 0:51 3 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'txval31' (temp 4-component vector of int) -0:52 textureGather (temp 4-component vector of int) -0:52 Construct combined texture-sampler (temp isampler2D) -0:52 'g_tTex2di4' (uniform itexture2D) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'txval31' ( temp 4-component vector of int) +0:52 textureGather ( temp 4-component vector of int) +0:52 Construct combined texture-sampler ( temp isampler2D) +0:52 'g_tTex2di4' ( uniform itexture2D) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c2: direct index for structure ( uniform 2-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 3 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'txval32' (temp 4-component vector of uint) -0:53 textureGather (temp 4-component vector of uint) -0:53 Construct combined texture-sampler (temp usampler2D) -0:53 'g_tTex2du4' (uniform utexture2D) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'txval32' ( temp 4-component vector of uint) +0:53 textureGather ( temp 4-component vector of uint) +0:53 Construct combined texture-sampler ( temp usampler2D) +0:53 'g_tTex2du4' ( uniform utexture2D) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 c2: direct index for structure ( uniform 2-component vector of float) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 3 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of float) -0:57 'txval40' (temp 4-component vector of float) -0:57 textureGather (temp 4-component vector of float) -0:57 Construct combined texture-sampler (temp samplerCube) -0:57 'g_tTexcdf4' (uniform textureCube) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 'txval40' ( temp 4-component vector of float) +0:57 textureGather ( temp 4-component vector of float) +0:57 Construct combined texture-sampler ( temp samplerCube) +0:57 'g_tTexcdf4' ( uniform textureCube) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c3: direct index for structure ( uniform 3-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 0 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of int) -0:58 'txval41' (temp 4-component vector of int) -0:58 textureGather (temp 4-component vector of int) -0:58 Construct combined texture-sampler (temp isamplerCube) -0:58 'g_tTexcdi4' (uniform itextureCube) -0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:58 move second child to first child ( temp 4-component vector of int) +0:58 'txval41' ( temp 4-component vector of int) +0:58 textureGather ( temp 4-component vector of int) +0:58 Construct combined texture-sampler ( temp isamplerCube) +0:58 'g_tTexcdi4' ( uniform itextureCube) +0:58 'g_sSamp' (layout( binding=0) uniform sampler) +0:58 c3: direct index for structure ( uniform 3-component vector of float) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 0 (const int) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of uint) -0:59 'txval42' (temp 4-component vector of uint) -0:59 textureGather (temp 4-component vector of uint) -0:59 Construct combined texture-sampler (temp usamplerCube) -0:59 'g_tTexcdu4' (uniform utextureCube) -0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:59 move second child to first child ( temp 4-component vector of uint) +0:59 'txval42' ( temp 4-component vector of uint) +0:59 textureGather ( temp 4-component vector of uint) +0:59 Construct combined texture-sampler ( temp usamplerCube) +0:59 'g_tTexcdu4' ( uniform utextureCube) +0:59 'g_sSamp' (layout( binding=0) uniform sampler) +0:59 c3: direct index for structure ( uniform 3-component vector of float) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 0 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:61 'txval50' (temp 4-component vector of float) -0:61 textureGather (temp 4-component vector of float) -0:61 Construct combined texture-sampler (temp samplerCube) -0:61 'g_tTexcdf4' (uniform textureCube) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:61 move second child to first child ( temp 4-component vector of float) +0:61 'txval50' ( temp 4-component vector of float) +0:61 textureGather ( temp 4-component vector of float) +0:61 Construct combined texture-sampler ( temp samplerCube) +0:61 'g_tTexcdf4' ( uniform textureCube) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:61 Constant: 0:61 2 (const uint) 0:61 Constant: 0:61 1 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of int) -0:62 'txval51' (temp 4-component vector of int) -0:62 textureGather (temp 4-component vector of int) -0:62 Construct combined texture-sampler (temp isamplerCube) -0:62 'g_tTexcdi4' (uniform itextureCube) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'txval51' ( temp 4-component vector of int) +0:62 textureGather ( temp 4-component vector of int) +0:62 Construct combined texture-sampler ( temp isamplerCube) +0:62 'g_tTexcdi4' ( uniform itextureCube) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c3: direct index for structure ( uniform 3-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:62 Constant: 0:62 2 (const uint) 0:62 Constant: 0:62 1 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of uint) -0:63 'txval52' (temp 4-component vector of uint) -0:63 textureGather (temp 4-component vector of uint) -0:63 Construct combined texture-sampler (temp usamplerCube) -0:63 'g_tTexcdu4' (uniform utextureCube) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:63 move second child to first child ( temp 4-component vector of uint) +0:63 'txval52' ( temp 4-component vector of uint) +0:63 textureGather ( temp 4-component vector of uint) +0:63 Construct combined texture-sampler ( temp usamplerCube) +0:63 'g_tTexcdu4' ( uniform utextureCube) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c3: direct index for structure ( uniform 3-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:63 Constant: 0:63 2 (const uint) 0:63 Constant: 0:63 1 (const int) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:65 'txval60' (temp 4-component vector of float) -0:65 textureGather (temp 4-component vector of float) -0:65 Construct combined texture-sampler (temp samplerCube) -0:65 'g_tTexcdf4' (uniform textureCube) -0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:65 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:65 move second child to first child ( temp 4-component vector of float) +0:65 'txval60' ( temp 4-component vector of float) +0:65 textureGather ( temp 4-component vector of float) +0:65 Construct combined texture-sampler ( temp samplerCube) +0:65 'g_tTexcdf4' ( uniform textureCube) +0:65 'g_sSamp' (layout( binding=0) uniform sampler) +0:65 c3: direct index for structure ( uniform 3-component vector of float) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:65 Constant: 0:65 2 (const uint) 0:65 Constant: 0:65 2 (const int) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of int) -0:66 'txval61' (temp 4-component vector of int) -0:66 textureGather (temp 4-component vector of int) -0:66 Construct combined texture-sampler (temp isamplerCube) -0:66 'g_tTexcdi4' (uniform itextureCube) -0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:66 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:66 move second child to first child ( temp 4-component vector of int) +0:66 'txval61' ( temp 4-component vector of int) +0:66 textureGather ( temp 4-component vector of int) +0:66 Construct combined texture-sampler ( temp isamplerCube) +0:66 'g_tTexcdi4' ( uniform itextureCube) +0:66 'g_sSamp' (layout( binding=0) uniform sampler) +0:66 c3: direct index for structure ( uniform 3-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:66 Constant: 0:66 2 (const uint) 0:66 Constant: 0:66 2 (const int) 0:67 Sequence -0:67 move second child to first child (temp 4-component vector of uint) -0:67 'txval62' (temp 4-component vector of uint) -0:67 textureGather (temp 4-component vector of uint) -0:67 Construct combined texture-sampler (temp usamplerCube) -0:67 'g_tTexcdu4' (uniform utextureCube) -0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:67 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:67 move second child to first child ( temp 4-component vector of uint) +0:67 'txval62' ( temp 4-component vector of uint) +0:67 textureGather ( temp 4-component vector of uint) +0:67 Construct combined texture-sampler ( temp usamplerCube) +0:67 'g_tTexcdu4' ( uniform utextureCube) +0:67 'g_sSamp' (layout( binding=0) uniform sampler) +0:67 c3: direct index for structure ( uniform 3-component vector of float) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:67 Constant: 0:67 2 (const uint) 0:67 Constant: 0:67 2 (const int) 0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:69 'txval70' (temp 4-component vector of float) -0:69 textureGather (temp 4-component vector of float) -0:69 Construct combined texture-sampler (temp samplerCube) -0:69 'g_tTexcdf4' (uniform textureCube) -0:69 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'txval70' ( temp 4-component vector of float) +0:69 textureGather ( temp 4-component vector of float) +0:69 Construct combined texture-sampler ( temp samplerCube) +0:69 'g_tTexcdf4' ( uniform textureCube) +0:69 'g_sSamp' (layout( binding=0) uniform sampler) +0:69 c3: direct index for structure ( uniform 3-component vector of float) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:69 Constant: 0:69 2 (const uint) 0:69 Constant: 0:69 3 (const int) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of int) -0:70 'txval71' (temp 4-component vector of int) -0:70 textureGather (temp 4-component vector of int) -0:70 Construct combined texture-sampler (temp isamplerCube) -0:70 'g_tTexcdi4' (uniform itextureCube) -0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:70 move second child to first child ( temp 4-component vector of int) +0:70 'txval71' ( temp 4-component vector of int) +0:70 textureGather ( temp 4-component vector of int) +0:70 Construct combined texture-sampler ( temp isamplerCube) +0:70 'g_tTexcdi4' ( uniform itextureCube) +0:70 'g_sSamp' (layout( binding=0) uniform sampler) +0:70 c3: direct index for structure ( uniform 3-component vector of float) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:70 Constant: 0:70 2 (const uint) 0:70 Constant: 0:70 3 (const int) 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of uint) -0:71 'txval72' (temp 4-component vector of uint) -0:71 textureGather (temp 4-component vector of uint) -0:71 Construct combined texture-sampler (temp usamplerCube) -0:71 'g_tTexcdu4' (uniform utextureCube) -0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:71 move second child to first child ( temp 4-component vector of uint) +0:71 'txval72' ( temp 4-component vector of uint) +0:71 textureGather ( temp 4-component vector of uint) +0:71 Construct combined texture-sampler ( temp usamplerCube) +0:71 'g_tTexcdu4' ( uniform utextureCube) +0:71 'g_sSamp' (layout( binding=0) uniform sampler) +0:71 c3: direct index for structure ( uniform 3-component vector of float) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) 0:71 Constant: 0:71 2 (const uint) 0:71 Constant: 0:71 3 (const int) -0:73 move second child to first child (temp 4-component vector of float) -0:73 Color: direct index for structure (temp 4-component vector of float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp 4-component vector of float) +0:73 Color: direct index for structure ( temp 4-component vector of float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 0 (const int) 0:73 Constant: @@ -701,418 +707,435 @@ gl_FragCoord origin is upper left 0:73 1.000000 0:73 1.000000 0:73 1.000000 -0:74 move second child to first child (temp float) -0:74 Depth: direct index for structure (temp float) -0:74 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:74 move second child to first child ( temp float) +0:74 Depth: direct index for structure ( temp float) +0:74 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:74 Constant: 0:74 1 (const int) 0:74 Constant: 0:74 1.000000 -0:76 Sequence -0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:76 Color: direct index for structure (temp 4-component vector of float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 0 (const int) -0:76 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:76 Depth: direct index for structure (temp float) -0:76 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:76 Constant: -0:76 1 (const int) -0:76 Branch: Return +0:76 Branch: Return with expression +0:76 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Function Definition: main( ( temp void) +0:34 Function Parameters: +0:? Sequence +0:34 Sequence +0:34 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 0 (const int) +0:34 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:34 Depth: direct index for structure ( temp float) +0:34 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:34 Constant: +0:34 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 258 +// Id's are bound by 265 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 230 234 + EntryPoint Fragment 4 "main" 238 242 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval00" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 22 "$Global" - MemberName 22($Global) 0 "c1" - MemberName 22($Global) 1 "c2" - MemberName 22($Global) 2 "c3" - MemberName 22($Global) 3 "c4" - Name 24 "" - Name 34 "txval01" - Name 37 "g_tTex2di4" - Name 48 "txval02" - Name 51 "g_tTex2du4" - Name 59 "txval10" - Name 66 "txval11" - Name 73 "txval12" - Name 80 "txval20" - Name 88 "txval21" - Name 95 "txval22" - Name 102 "txval30" - Name 110 "txval31" - Name 117 "txval32" - Name 124 "txval40" - Name 127 "g_tTexcdf4" - Name 136 "txval41" - Name 139 "g_tTexcdi4" - Name 147 "txval42" - Name 150 "g_tTexcdu4" - Name 158 "txval50" - Name 165 "txval51" - Name 172 "txval52" - Name 179 "txval60" - Name 186 "txval61" - Name 193 "txval62" - Name 200 "txval70" - Name 207 "txval71" - Name 214 "txval72" - Name 221 "PS_OUTPUT" - MemberName 221(PS_OUTPUT) 0 "Color" - MemberName 221(PS_OUTPUT) 1 "Depth" - Name 223 "psout" - Name 230 "Color" - Name 234 "Depth" - Name 238 "g_sSamp2d" - Name 241 "g_tTex1df4a" - Name 242 "g_tTex1df4" - Name 245 "g_tTex1di4" - Name 248 "g_tTex1du4" - Name 251 "g_tTex3df4" - Name 254 "g_tTex3di4" - Name 257 "g_tTex3du4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 22($Global) 0 Offset 0 - MemberDecorate 22($Global) 1 Offset 8 - MemberDecorate 22($Global) 2 Offset 16 - MemberDecorate 22($Global) 3 Offset 32 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 - Decorate 37(g_tTex2di4) DescriptorSet 0 - Decorate 51(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTexcdf4) DescriptorSet 0 - Decorate 139(g_tTexcdi4) DescriptorSet 0 - Decorate 150(g_tTexcdu4) DescriptorSet 0 - Decorate 230(Color) Location 0 - Decorate 234(Depth) BuiltIn FragDepth - Decorate 238(g_sSamp2d) DescriptorSet 0 - Decorate 241(g_tTex1df4a) DescriptorSet 0 - Decorate 241(g_tTex1df4a) Binding 1 - Decorate 242(g_tTex1df4) DescriptorSet 0 - Decorate 242(g_tTex1df4) Binding 0 - Decorate 245(g_tTex1di4) DescriptorSet 0 - Decorate 248(g_tTex1du4) DescriptorSet 0 - Decorate 251(g_tTex3df4) DescriptorSet 0 - Decorate 254(g_tTex3di4) DescriptorSet 0 - Decorate 257(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval00" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 26 "$Global" + MemberName 26($Global) 0 "c1" + MemberName 26($Global) 1 "c2" + MemberName 26($Global) 2 "c3" + MemberName 26($Global) 3 "c4" + Name 28 "" + Name 38 "txval01" + Name 41 "g_tTex2di4" + Name 52 "txval02" + Name 55 "g_tTex2du4" + Name 63 "txval10" + Name 70 "txval11" + Name 77 "txval12" + Name 84 "txval20" + Name 92 "txval21" + Name 99 "txval22" + Name 106 "txval30" + Name 114 "txval31" + Name 121 "txval32" + Name 128 "txval40" + Name 131 "g_tTexcdf4" + Name 140 "txval41" + Name 143 "g_tTexcdi4" + Name 151 "txval42" + Name 154 "g_tTexcdu4" + Name 162 "txval50" + Name 169 "txval51" + Name 176 "txval52" + Name 183 "txval60" + Name 190 "txval61" + Name 197 "txval62" + Name 204 "txval70" + Name 211 "txval71" + Name 218 "txval72" + Name 226 "psout" + Name 235 "flattenTemp" + Name 238 "Color" + Name 242 "Depth" + Name 245 "g_sSamp2d" + Name 248 "g_tTex1df4a" + Name 249 "g_tTex1df4" + Name 252 "g_tTex1di4" + Name 255 "g_tTex1du4" + Name 258 "g_tTex3df4" + Name 261 "g_tTex3di4" + Name 264 "g_tTex3du4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 8 + MemberDecorate 26($Global) 2 Offset 16 + MemberDecorate 26($Global) 3 Offset 32 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 41(g_tTex2di4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdu4) DescriptorSet 0 + Decorate 238(Color) Location 0 + Decorate 242(Depth) BuiltIn FragDepth + Decorate 245(g_sSamp2d) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) Binding 1 + Decorate 249(g_tTex1df4) DescriptorSet 0 + Decorate 249(g_tTex1df4) Binding 0 + Decorate 252(g_tTex1di4) DescriptorSet 0 + Decorate 255(g_tTex1du4) DescriptorSet 0 + Decorate 258(g_tTex3df4) DescriptorSet 0 + Decorate 261(g_tTex3di4) DescriptorSet 0 + Decorate 264(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) - 23: TypePointer Uniform 22($Global) - 24: 23(ptr) Variable Uniform - 25: TypeInt 32 1 - 26: 25(int) Constant 1 - 27: TypePointer Uniform 20(fvec2) - 30: 25(int) Constant 0 - 32: TypeVector 25(int) 4 - 33: TypePointer Function 32(ivec4) - 35: TypeImage 25(int) 2D sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex2di4): 36(ptr) Variable UniformConstant - 40: TypeSampledImage 35 - 45: TypeInt 32 0 - 46: TypeVector 45(int) 4 - 47: TypePointer Function 46(ivec4) - 49: TypeImage 45(int) 2D sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2du4): 50(ptr) Variable UniformConstant - 54: TypeSampledImage 49 - 86: 25(int) Constant 2 - 108: 25(int) Constant 3 - 125: TypeImage 6(float) Cube sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTexcdf4): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 132: TypePointer Uniform 21(fvec3) - 137: TypeImage 25(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 142: TypeSampledImage 137 - 148: TypeImage 45(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdu4): 149(ptr) Variable UniformConstant - 153: TypeSampledImage 148 - 221(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 222: TypePointer Function 221(PS_OUTPUT) - 224: 6(float) Constant 1065353216 - 225: 7(fvec4) ConstantComposite 224 224 224 224 - 227: TypePointer Function 6(float) - 229: TypePointer Output 7(fvec4) - 230(Color): 229(ptr) Variable Output - 233: TypePointer Output 6(float) - 234(Depth): 233(ptr) Variable Output - 238(g_sSamp2d): 15(ptr) Variable UniformConstant - 239: TypeImage 6(float) 1D sampled format:Unknown - 240: TypePointer UniformConstant 239 -241(g_tTex1df4a): 240(ptr) Variable UniformConstant - 242(g_tTex1df4): 240(ptr) Variable UniformConstant - 243: TypeImage 25(int) 1D sampled format:Unknown - 244: TypePointer UniformConstant 243 - 245(g_tTex1di4): 244(ptr) Variable UniformConstant - 246: TypeImage 45(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: TypeInt 32 1 + 30: 29(int) Constant 1 + 31: TypePointer Uniform 24(fvec2) + 34: 29(int) Constant 0 + 36: TypeVector 29(int) 4 + 37: TypePointer Function 36(ivec4) + 39: TypeImage 29(int) 2D sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex2di4): 40(ptr) Variable UniformConstant + 44: TypeSampledImage 39 + 49: TypeInt 32 0 + 50: TypeVector 49(int) 4 + 51: TypePointer Function 50(ivec4) + 53: TypeImage 49(int) 2D sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2du4): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 90: 29(int) Constant 2 + 112: 29(int) Constant 3 + 129: TypeImage 6(float) Cube sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTexcdf4): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 136: TypePointer Uniform 25(fvec3) + 141: TypeImage 29(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 146: TypeSampledImage 141 + 152: TypeImage 49(int) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdu4): 153(ptr) Variable UniformConstant + 157: TypeSampledImage 152 + 225: TypePointer Function 8(PS_OUTPUT) + 227: 6(float) Constant 1065353216 + 228: 7(fvec4) ConstantComposite 227 227 227 227 + 230: TypePointer Function 6(float) + 237: TypePointer Output 7(fvec4) + 238(Color): 237(ptr) Variable Output + 241: TypePointer Output 6(float) + 242(Depth): 241(ptr) Variable Output + 245(g_sSamp2d): 19(ptr) Variable UniformConstant + 246: TypeImage 6(float) 1D sampled format:Unknown 247: TypePointer UniformConstant 246 - 248(g_tTex1du4): 247(ptr) Variable UniformConstant - 249: TypeImage 6(float) 3D sampled format:Unknown - 250: TypePointer UniformConstant 249 - 251(g_tTex3df4): 250(ptr) Variable UniformConstant - 252: TypeImage 25(int) 3D sampled format:Unknown - 253: TypePointer UniformConstant 252 - 254(g_tTex3di4): 253(ptr) Variable UniformConstant - 255: TypeImage 45(int) 3D sampled format:Unknown - 256: TypePointer UniformConstant 255 - 257(g_tTex3du4): 256(ptr) Variable UniformConstant +248(g_tTex1df4a): 247(ptr) Variable UniformConstant + 249(g_tTex1df4): 247(ptr) Variable UniformConstant + 250: TypeImage 29(int) 1D sampled format:Unknown + 251: TypePointer UniformConstant 250 + 252(g_tTex1di4): 251(ptr) Variable UniformConstant + 253: TypeImage 49(int) 1D sampled format:Unknown + 254: TypePointer UniformConstant 253 + 255(g_tTex1du4): 254(ptr) Variable UniformConstant + 256: TypeImage 6(float) 3D sampled format:Unknown + 257: TypePointer UniformConstant 256 + 258(g_tTex3df4): 257(ptr) Variable UniformConstant + 259: TypeImage 29(int) 3D sampled format:Unknown + 260: TypePointer UniformConstant 259 + 261(g_tTex3di4): 260(ptr) Variable UniformConstant + 262: TypeImage 49(int) 3D sampled format:Unknown + 263: TypePointer UniformConstant 262 + 264(g_tTex3du4): 263(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval00): 8(ptr) Variable Function - 34(txval01): 33(ptr) Variable Function - 48(txval02): 47(ptr) Variable Function - 59(txval10): 8(ptr) Variable Function - 66(txval11): 33(ptr) Variable Function - 73(txval12): 47(ptr) Variable Function - 80(txval20): 8(ptr) Variable Function - 88(txval21): 33(ptr) Variable Function - 95(txval22): 47(ptr) Variable Function - 102(txval30): 8(ptr) Variable Function - 110(txval31): 33(ptr) Variable Function - 117(txval32): 47(ptr) Variable Function - 124(txval40): 8(ptr) Variable Function - 136(txval41): 33(ptr) Variable Function - 147(txval42): 47(ptr) Variable Function - 158(txval50): 8(ptr) Variable Function - 165(txval51): 33(ptr) Variable Function - 172(txval52): 47(ptr) Variable Function - 179(txval60): 8(ptr) Variable Function - 186(txval61): 33(ptr) Variable Function - 193(txval62): 47(ptr) Variable Function - 200(txval70): 8(ptr) Variable Function - 207(txval71): 33(ptr) Variable Function - 214(txval72): 47(ptr) Variable Function - 223(psout): 222(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 27(ptr) AccessChain 24 26 - 29: 20(fvec2) Load 28 - 31: 7(fvec4) ImageGather 19 29 30 - Store 9(txval00) 31 - 38: 35 Load 37(g_tTex2di4) - 39: 14 Load 16(g_sSamp) - 41: 40 SampledImage 38 39 - 42: 27(ptr) AccessChain 24 26 - 43: 20(fvec2) Load 42 - 44: 32(ivec4) ImageGather 41 43 30 - Store 34(txval01) 44 - 52: 49 Load 51(g_tTex2du4) - 53: 14 Load 16(g_sSamp) - 55: 54 SampledImage 52 53 - 56: 27(ptr) AccessChain 24 26 - 57: 20(fvec2) Load 56 - 58: 46(ivec4) ImageGather 55 57 30 - Store 48(txval02) 58 - 60: 10 Load 12(g_tTex2df4) - 61: 14 Load 16(g_sSamp) - 62: 18 SampledImage 60 61 - 63: 27(ptr) AccessChain 24 26 - 64: 20(fvec2) Load 63 - 65: 7(fvec4) ImageGather 62 64 26 - Store 59(txval10) 65 - 67: 35 Load 37(g_tTex2di4) - 68: 14 Load 16(g_sSamp) - 69: 40 SampledImage 67 68 - 70: 27(ptr) AccessChain 24 26 - 71: 20(fvec2) Load 70 - 72: 32(ivec4) ImageGather 69 71 26 - Store 66(txval11) 72 - 74: 49 Load 51(g_tTex2du4) - 75: 14 Load 16(g_sSamp) - 76: 54 SampledImage 74 75 - 77: 27(ptr) AccessChain 24 26 - 78: 20(fvec2) Load 77 - 79: 46(ivec4) ImageGather 76 78 26 - Store 73(txval12) 79 - 81: 10 Load 12(g_tTex2df4) - 82: 14 Load 16(g_sSamp) - 83: 18 SampledImage 81 82 - 84: 27(ptr) AccessChain 24 26 - 85: 20(fvec2) Load 84 - 87: 7(fvec4) ImageGather 83 85 86 - Store 80(txval20) 87 - 89: 35 Load 37(g_tTex2di4) - 90: 14 Load 16(g_sSamp) - 91: 40 SampledImage 89 90 - 92: 27(ptr) AccessChain 24 26 - 93: 20(fvec2) Load 92 - 94: 32(ivec4) ImageGather 91 93 86 - Store 88(txval21) 94 - 96: 49 Load 51(g_tTex2du4) - 97: 14 Load 16(g_sSamp) - 98: 54 SampledImage 96 97 - 99: 27(ptr) AccessChain 24 26 - 100: 20(fvec2) Load 99 - 101: 46(ivec4) ImageGather 98 100 86 - Store 95(txval22) 101 - 103: 10 Load 12(g_tTex2df4) - 104: 14 Load 16(g_sSamp) - 105: 18 SampledImage 103 104 - 106: 27(ptr) AccessChain 24 26 - 107: 20(fvec2) Load 106 - 109: 7(fvec4) ImageGather 105 107 108 - Store 102(txval30) 109 - 111: 35 Load 37(g_tTex2di4) - 112: 14 Load 16(g_sSamp) - 113: 40 SampledImage 111 112 - 114: 27(ptr) AccessChain 24 26 - 115: 20(fvec2) Load 114 - 116: 32(ivec4) ImageGather 113 115 108 - Store 110(txval31) 116 - 118: 49 Load 51(g_tTex2du4) - 119: 14 Load 16(g_sSamp) - 120: 54 SampledImage 118 119 - 121: 27(ptr) AccessChain 24 26 - 122: 20(fvec2) Load 121 - 123: 46(ivec4) ImageGather 120 122 108 - Store 117(txval32) 123 - 128: 125 Load 127(g_tTexcdf4) - 129: 14 Load 16(g_sSamp) - 131: 130 SampledImage 128 129 - 133: 132(ptr) AccessChain 24 86 - 134: 21(fvec3) Load 133 - 135: 7(fvec4) ImageGather 131 134 30 - Store 124(txval40) 135 - 140: 137 Load 139(g_tTexcdi4) - 141: 14 Load 16(g_sSamp) - 143: 142 SampledImage 140 141 - 144: 132(ptr) AccessChain 24 86 - 145: 21(fvec3) Load 144 - 146: 32(ivec4) ImageGather 143 145 30 - Store 136(txval41) 146 - 151: 148 Load 150(g_tTexcdu4) - 152: 14 Load 16(g_sSamp) - 154: 153 SampledImage 151 152 - 155: 132(ptr) AccessChain 24 86 - 156: 21(fvec3) Load 155 - 157: 46(ivec4) ImageGather 154 156 30 - Store 147(txval42) 157 - 159: 125 Load 127(g_tTexcdf4) - 160: 14 Load 16(g_sSamp) - 161: 130 SampledImage 159 160 - 162: 132(ptr) AccessChain 24 86 - 163: 21(fvec3) Load 162 - 164: 7(fvec4) ImageGather 161 163 26 - Store 158(txval50) 164 - 166: 137 Load 139(g_tTexcdi4) - 167: 14 Load 16(g_sSamp) - 168: 142 SampledImage 166 167 - 169: 132(ptr) AccessChain 24 86 - 170: 21(fvec3) Load 169 - 171: 32(ivec4) ImageGather 168 170 26 - Store 165(txval51) 171 - 173: 148 Load 150(g_tTexcdu4) - 174: 14 Load 16(g_sSamp) - 175: 153 SampledImage 173 174 - 176: 132(ptr) AccessChain 24 86 - 177: 21(fvec3) Load 176 - 178: 46(ivec4) ImageGather 175 177 26 - Store 172(txval52) 178 - 180: 125 Load 127(g_tTexcdf4) - 181: 14 Load 16(g_sSamp) - 182: 130 SampledImage 180 181 - 183: 132(ptr) AccessChain 24 86 - 184: 21(fvec3) Load 183 - 185: 7(fvec4) ImageGather 182 184 86 - Store 179(txval60) 185 - 187: 137 Load 139(g_tTexcdi4) - 188: 14 Load 16(g_sSamp) - 189: 142 SampledImage 187 188 - 190: 132(ptr) AccessChain 24 86 - 191: 21(fvec3) Load 190 - 192: 32(ivec4) ImageGather 189 191 86 - Store 186(txval61) 192 - 194: 148 Load 150(g_tTexcdu4) - 195: 14 Load 16(g_sSamp) - 196: 153 SampledImage 194 195 - 197: 132(ptr) AccessChain 24 86 - 198: 21(fvec3) Load 197 - 199: 46(ivec4) ImageGather 196 198 86 - Store 193(txval62) 199 - 201: 125 Load 127(g_tTexcdf4) - 202: 14 Load 16(g_sSamp) - 203: 130 SampledImage 201 202 - 204: 132(ptr) AccessChain 24 86 - 205: 21(fvec3) Load 204 - 206: 7(fvec4) ImageGather 203 205 108 - Store 200(txval70) 206 - 208: 137 Load 139(g_tTexcdi4) - 209: 14 Load 16(g_sSamp) - 210: 142 SampledImage 208 209 - 211: 132(ptr) AccessChain 24 86 - 212: 21(fvec3) Load 211 - 213: 32(ivec4) ImageGather 210 212 108 - Store 207(txval71) 213 - 215: 148 Load 150(g_tTexcdu4) - 216: 14 Load 16(g_sSamp) - 217: 153 SampledImage 215 216 - 218: 132(ptr) AccessChain 24 86 - 219: 21(fvec3) Load 218 - 220: 46(ivec4) ImageGather 217 219 108 - Store 214(txval72) 220 - 226: 8(ptr) AccessChain 223(psout) 30 - Store 226 225 - 228: 227(ptr) AccessChain 223(psout) 26 - Store 228 224 - 231: 8(ptr) AccessChain 223(psout) 30 - 232: 7(fvec4) Load 231 - Store 230(Color) 232 - 235: 227(ptr) AccessChain 223(psout) 26 - 236: 6(float) Load 235 - Store 234(Depth) 236 +235(flattenTemp): 225(ptr) Variable Function + 236:8(PS_OUTPUT) FunctionCall 10(@main() + Store 235(flattenTemp) 236 + 239: 12(ptr) AccessChain 235(flattenTemp) 34 + 240: 7(fvec4) Load 239 + Store 238(Color) 240 + 243: 230(ptr) AccessChain 235(flattenTemp) 30 + 244: 6(float) Load 243 + Store 242(Depth) 244 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval00): 12(ptr) Variable Function + 38(txval01): 37(ptr) Variable Function + 52(txval02): 51(ptr) Variable Function + 63(txval10): 12(ptr) Variable Function + 70(txval11): 37(ptr) Variable Function + 77(txval12): 51(ptr) Variable Function + 84(txval20): 12(ptr) Variable Function + 92(txval21): 37(ptr) Variable Function + 99(txval22): 51(ptr) Variable Function + 106(txval30): 12(ptr) Variable Function + 114(txval31): 37(ptr) Variable Function + 121(txval32): 51(ptr) Variable Function + 128(txval40): 12(ptr) Variable Function + 140(txval41): 37(ptr) Variable Function + 151(txval42): 51(ptr) Variable Function + 162(txval50): 12(ptr) Variable Function + 169(txval51): 37(ptr) Variable Function + 176(txval52): 51(ptr) Variable Function + 183(txval60): 12(ptr) Variable Function + 190(txval61): 37(ptr) Variable Function + 197(txval62): 51(ptr) Variable Function + 204(txval70): 12(ptr) Variable Function + 211(txval71): 37(ptr) Variable Function + 218(txval72): 51(ptr) Variable Function + 226(psout): 225(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 31(ptr) AccessChain 28 30 + 33: 24(fvec2) Load 32 + 35: 7(fvec4) ImageGather 23 33 34 + Store 13(txval00) 35 + 42: 39 Load 41(g_tTex2di4) + 43: 18 Load 20(g_sSamp) + 45: 44 SampledImage 42 43 + 46: 31(ptr) AccessChain 28 30 + 47: 24(fvec2) Load 46 + 48: 36(ivec4) ImageGather 45 47 34 + Store 38(txval01) 48 + 56: 53 Load 55(g_tTex2du4) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 60: 31(ptr) AccessChain 28 30 + 61: 24(fvec2) Load 60 + 62: 50(ivec4) ImageGather 59 61 34 + Store 52(txval02) 62 + 64: 14 Load 16(g_tTex2df4) + 65: 18 Load 20(g_sSamp) + 66: 22 SampledImage 64 65 + 67: 31(ptr) AccessChain 28 30 + 68: 24(fvec2) Load 67 + 69: 7(fvec4) ImageGather 66 68 30 + Store 63(txval10) 69 + 71: 39 Load 41(g_tTex2di4) + 72: 18 Load 20(g_sSamp) + 73: 44 SampledImage 71 72 + 74: 31(ptr) AccessChain 28 30 + 75: 24(fvec2) Load 74 + 76: 36(ivec4) ImageGather 73 75 30 + Store 70(txval11) 76 + 78: 53 Load 55(g_tTex2du4) + 79: 18 Load 20(g_sSamp) + 80: 58 SampledImage 78 79 + 81: 31(ptr) AccessChain 28 30 + 82: 24(fvec2) Load 81 + 83: 50(ivec4) ImageGather 80 82 30 + Store 77(txval12) 83 + 85: 14 Load 16(g_tTex2df4) + 86: 18 Load 20(g_sSamp) + 87: 22 SampledImage 85 86 + 88: 31(ptr) AccessChain 28 30 + 89: 24(fvec2) Load 88 + 91: 7(fvec4) ImageGather 87 89 90 + Store 84(txval20) 91 + 93: 39 Load 41(g_tTex2di4) + 94: 18 Load 20(g_sSamp) + 95: 44 SampledImage 93 94 + 96: 31(ptr) AccessChain 28 30 + 97: 24(fvec2) Load 96 + 98: 36(ivec4) ImageGather 95 97 90 + Store 92(txval21) 98 + 100: 53 Load 55(g_tTex2du4) + 101: 18 Load 20(g_sSamp) + 102: 58 SampledImage 100 101 + 103: 31(ptr) AccessChain 28 30 + 104: 24(fvec2) Load 103 + 105: 50(ivec4) ImageGather 102 104 90 + Store 99(txval22) 105 + 107: 14 Load 16(g_tTex2df4) + 108: 18 Load 20(g_sSamp) + 109: 22 SampledImage 107 108 + 110: 31(ptr) AccessChain 28 30 + 111: 24(fvec2) Load 110 + 113: 7(fvec4) ImageGather 109 111 112 + Store 106(txval30) 113 + 115: 39 Load 41(g_tTex2di4) + 116: 18 Load 20(g_sSamp) + 117: 44 SampledImage 115 116 + 118: 31(ptr) AccessChain 28 30 + 119: 24(fvec2) Load 118 + 120: 36(ivec4) ImageGather 117 119 112 + Store 114(txval31) 120 + 122: 53 Load 55(g_tTex2du4) + 123: 18 Load 20(g_sSamp) + 124: 58 SampledImage 122 123 + 125: 31(ptr) AccessChain 28 30 + 126: 24(fvec2) Load 125 + 127: 50(ivec4) ImageGather 124 126 112 + Store 121(txval32) 127 + 132: 129 Load 131(g_tTexcdf4) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 137: 136(ptr) AccessChain 28 90 + 138: 25(fvec3) Load 137 + 139: 7(fvec4) ImageGather 135 138 34 + Store 128(txval40) 139 + 144: 141 Load 143(g_tTexcdi4) + 145: 18 Load 20(g_sSamp) + 147: 146 SampledImage 144 145 + 148: 136(ptr) AccessChain 28 90 + 149: 25(fvec3) Load 148 + 150: 36(ivec4) ImageGather 147 149 34 + Store 140(txval41) 150 + 155: 152 Load 154(g_tTexcdu4) + 156: 18 Load 20(g_sSamp) + 158: 157 SampledImage 155 156 + 159: 136(ptr) AccessChain 28 90 + 160: 25(fvec3) Load 159 + 161: 50(ivec4) ImageGather 158 160 34 + Store 151(txval42) 161 + 163: 129 Load 131(g_tTexcdf4) + 164: 18 Load 20(g_sSamp) + 165: 134 SampledImage 163 164 + 166: 136(ptr) AccessChain 28 90 + 167: 25(fvec3) Load 166 + 168: 7(fvec4) ImageGather 165 167 30 + Store 162(txval50) 168 + 170: 141 Load 143(g_tTexcdi4) + 171: 18 Load 20(g_sSamp) + 172: 146 SampledImage 170 171 + 173: 136(ptr) AccessChain 28 90 + 174: 25(fvec3) Load 173 + 175: 36(ivec4) ImageGather 172 174 30 + Store 169(txval51) 175 + 177: 152 Load 154(g_tTexcdu4) + 178: 18 Load 20(g_sSamp) + 179: 157 SampledImage 177 178 + 180: 136(ptr) AccessChain 28 90 + 181: 25(fvec3) Load 180 + 182: 50(ivec4) ImageGather 179 181 30 + Store 176(txval52) 182 + 184: 129 Load 131(g_tTexcdf4) + 185: 18 Load 20(g_sSamp) + 186: 134 SampledImage 184 185 + 187: 136(ptr) AccessChain 28 90 + 188: 25(fvec3) Load 187 + 189: 7(fvec4) ImageGather 186 188 90 + Store 183(txval60) 189 + 191: 141 Load 143(g_tTexcdi4) + 192: 18 Load 20(g_sSamp) + 193: 146 SampledImage 191 192 + 194: 136(ptr) AccessChain 28 90 + 195: 25(fvec3) Load 194 + 196: 36(ivec4) ImageGather 193 195 90 + Store 190(txval61) 196 + 198: 152 Load 154(g_tTexcdu4) + 199: 18 Load 20(g_sSamp) + 200: 157 SampledImage 198 199 + 201: 136(ptr) AccessChain 28 90 + 202: 25(fvec3) Load 201 + 203: 50(ivec4) ImageGather 200 202 90 + Store 197(txval62) 203 + 205: 129 Load 131(g_tTexcdf4) + 206: 18 Load 20(g_sSamp) + 207: 134 SampledImage 205 206 + 208: 136(ptr) AccessChain 28 90 + 209: 25(fvec3) Load 208 + 210: 7(fvec4) ImageGather 207 209 112 + Store 204(txval70) 210 + 212: 141 Load 143(g_tTexcdi4) + 213: 18 Load 20(g_sSamp) + 214: 146 SampledImage 212 213 + 215: 136(ptr) AccessChain 28 90 + 216: 25(fvec3) Load 215 + 217: 36(ivec4) ImageGather 214 216 112 + Store 211(txval71) 217 + 219: 152 Load 154(g_tTexcdu4) + 220: 18 Load 20(g_sSamp) + 221: 157 SampledImage 219 220 + 222: 136(ptr) AccessChain 28 90 + 223: 25(fvec3) Load 222 + 224: 50(ivec4) ImageGather 221 223 112 + Store 218(txval72) 224 + 229: 12(ptr) AccessChain 226(psout) 34 + Store 229 228 + 231: 230(ptr) AccessChain 226(psout) 30 + Store 231 227 + 232:8(PS_OUTPUT) Load 226(psout) + ReturnValue 232 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 433957417e5..1d3fe467ded 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -2,576 +2,576 @@ hlsl.gatherRGBA.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:39 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Function Parameters: 0:? Sequence 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of float) -0:46 'txval001' (temp 4-component vector of float) -0:46 textureGatherOffset (temp 4-component vector of float) -0:46 Construct combined texture-sampler (temp sampler2D) -0:46 'g_tTex2df4' (uniform texture2D) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 'txval001' ( temp 4-component vector of float) +0:46 textureGatherOffset ( temp 4-component vector of float) +0:46 Construct combined texture-sampler ( temp sampler2D) +0:46 'g_tTex2df4' ( uniform texture2D) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 1 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) 0:46 Constant: 0:46 0 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of int) -0:47 'txval011' (temp 4-component vector of int) -0:47 textureGatherOffset (temp 4-component vector of int) -0:47 Construct combined texture-sampler (temp isampler2D) -0:47 'g_tTex2di4' (uniform itexture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 move second child to first child ( temp 4-component vector of int) +0:47 'txval011' ( temp 4-component vector of int) +0:47 textureGatherOffset ( temp 4-component vector of int) +0:47 Construct combined texture-sampler ( temp isampler2D) +0:47 'g_tTex2di4' ( uniform itexture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 1 (const uint) -0:47 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 o2: direct index for structure ( uniform 2-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 5 (const uint) 0:47 Constant: 0:47 0 (const int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of uint) -0:48 'txval021' (temp 4-component vector of uint) -0:48 textureGatherOffset (temp 4-component vector of uint) -0:48 Construct combined texture-sampler (temp usampler2D) -0:48 'g_tTex2du4' (uniform utexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 move second child to first child ( temp 4-component vector of uint) +0:48 'txval021' ( temp 4-component vector of uint) +0:48 textureGatherOffset ( temp 4-component vector of uint) +0:48 Construct combined texture-sampler ( temp usampler2D) +0:48 'g_tTex2du4' ( uniform utexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 c2: direct index for structure ( uniform 2-component vector of float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 1 (const uint) -0:48 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 o2: direct index for structure ( uniform 2-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 5 (const uint) 0:48 Constant: 0:48 0 (const int) 0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:50 'txval004' (temp 4-component vector of float) -0:50 textureGatherOffsets (temp 4-component vector of float) -0:50 Construct combined texture-sampler (temp sampler2D) -0:50 'g_tTex2df4' (uniform texture2D) -0:50 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'txval004' ( temp 4-component vector of float) +0:50 textureGatherOffsets ( temp 4-component vector of float) +0:50 Construct combined texture-sampler ( temp sampler2D) +0:50 'g_tTex2df4' ( uniform texture2D) +0:50 'g_sSamp' (layout( binding=0) uniform sampler) +0:50 c2: direct index for structure ( uniform 2-component vector of float) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 1 (const uint) -0:50 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) 0:50 Constant: 0:50 0 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of int) -0:51 'txval014' (temp 4-component vector of int) -0:51 textureGatherOffsets (temp 4-component vector of int) -0:51 Construct combined texture-sampler (temp isampler2D) -0:51 'g_tTex2di4' (uniform itexture2D) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 move second child to first child ( temp 4-component vector of int) +0:51 'txval014' ( temp 4-component vector of int) +0:51 textureGatherOffsets ( temp 4-component vector of int) +0:51 Construct combined texture-sampler ( temp isampler2D) +0:51 'g_tTex2di4' ( uniform itexture2D) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) -0:51 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of uint) -0:52 'txval024' (temp 4-component vector of uint) -0:52 textureGatherOffsets (temp 4-component vector of uint) -0:52 Construct combined texture-sampler (temp usampler2D) -0:52 'g_tTex2du4' (uniform utexture2D) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 move second child to first child ( temp 4-component vector of uint) +0:52 'txval024' ( temp 4-component vector of uint) +0:52 textureGatherOffsets ( temp 4-component vector of uint) +0:52 Construct combined texture-sampler ( temp usampler2D) +0:52 'g_tTex2du4' ( uniform utexture2D) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c2: direct index for structure ( uniform 2-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) -0:52 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) 0:52 Constant: 0:52 0 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of float) -0:62 'txval101' (temp 4-component vector of float) -0:62 textureGatherOffset (temp 4-component vector of float) -0:62 Construct combined texture-sampler (temp sampler2D) -0:62 'g_tTex2df4' (uniform texture2D) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 'txval101' ( temp 4-component vector of float) +0:62 textureGatherOffset ( temp 4-component vector of float) +0:62 Construct combined texture-sampler ( temp sampler2D) +0:62 'g_tTex2df4' ( uniform texture2D) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c2: direct index for structure ( uniform 2-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 1 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) 0:62 Constant: 0:62 1 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of int) -0:63 'txval111' (temp 4-component vector of int) -0:63 textureGatherOffset (temp 4-component vector of int) -0:63 Construct combined texture-sampler (temp isampler2D) -0:63 'g_tTex2di4' (uniform itexture2D) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 move second child to first child ( temp 4-component vector of int) +0:63 'txval111' ( temp 4-component vector of int) +0:63 textureGatherOffset ( temp 4-component vector of int) +0:63 Construct combined texture-sampler ( temp isampler2D) +0:63 'g_tTex2di4' ( uniform itexture2D) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c2: direct index for structure ( uniform 2-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 1 (const uint) -0:63 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 o2: direct index for structure ( uniform 2-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 5 (const uint) 0:63 Constant: 0:63 1 (const int) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of uint) -0:64 'txval121' (temp 4-component vector of uint) -0:64 textureGatherOffset (temp 4-component vector of uint) -0:64 Construct combined texture-sampler (temp usampler2D) -0:64 'g_tTex2du4' (uniform utexture2D) -0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 move second child to first child ( temp 4-component vector of uint) +0:64 'txval121' ( temp 4-component vector of uint) +0:64 textureGatherOffset ( temp 4-component vector of uint) +0:64 Construct combined texture-sampler ( temp usampler2D) +0:64 'g_tTex2du4' ( uniform utexture2D) +0:64 'g_sSamp' (layout( binding=0) uniform sampler) +0:64 c2: direct index for structure ( uniform 2-component vector of float) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 1 (const uint) -0:64 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 o2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 5 (const uint) 0:64 Constant: 0:64 1 (const int) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:66 'txval104' (temp 4-component vector of float) -0:66 textureGatherOffsets (temp 4-component vector of float) -0:66 Construct combined texture-sampler (temp sampler2D) -0:66 'g_tTex2df4' (uniform texture2D) -0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 move second child to first child ( temp 4-component vector of float) +0:66 'txval104' ( temp 4-component vector of float) +0:66 textureGatherOffsets ( temp 4-component vector of float) +0:66 Construct combined texture-sampler ( temp sampler2D) +0:66 'g_tTex2df4' ( uniform texture2D) +0:66 'g_sSamp' (layout( binding=0) uniform sampler) +0:66 c2: direct index for structure ( uniform 2-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 1 (const uint) -0:66 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) 0:66 Constant: 0:66 1 (const int) 0:67 Sequence -0:67 move second child to first child (temp 4-component vector of int) -0:67 'txval114' (temp 4-component vector of int) -0:67 textureGatherOffsets (temp 4-component vector of int) -0:67 Construct combined texture-sampler (temp isampler2D) -0:67 'g_tTex2di4' (uniform itexture2D) -0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:67 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 move second child to first child ( temp 4-component vector of int) +0:67 'txval114' ( temp 4-component vector of int) +0:67 textureGatherOffsets ( temp 4-component vector of int) +0:67 Construct combined texture-sampler ( temp isampler2D) +0:67 'g_tTex2di4' ( uniform itexture2D) +0:67 'g_sSamp' (layout( binding=0) uniform sampler) +0:67 c2: direct index for structure ( uniform 2-component vector of float) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 1 (const uint) -0:67 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) 0:67 Constant: 0:67 1 (const int) 0:68 Sequence -0:68 move second child to first child (temp 4-component vector of uint) -0:68 'txval124' (temp 4-component vector of uint) -0:68 textureGatherOffsets (temp 4-component vector of uint) -0:68 Construct combined texture-sampler (temp usampler2D) -0:68 'g_tTex2du4' (uniform utexture2D) -0:68 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:68 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 move second child to first child ( temp 4-component vector of uint) +0:68 'txval124' ( temp 4-component vector of uint) +0:68 textureGatherOffsets ( temp 4-component vector of uint) +0:68 Construct combined texture-sampler ( temp usampler2D) +0:68 'g_tTex2du4' ( uniform utexture2D) +0:68 'g_sSamp' (layout( binding=0) uniform sampler) +0:68 c2: direct index for structure ( uniform 2-component vector of float) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 1 (const uint) -0:68 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) 0:68 Constant: 0:68 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:78 'txval201' (temp 4-component vector of float) -0:78 textureGatherOffset (temp 4-component vector of float) -0:78 Construct combined texture-sampler (temp sampler2D) -0:78 'g_tTex2df4' (uniform texture2D) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:78 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 move second child to first child ( temp 4-component vector of float) +0:78 'txval201' ( temp 4-component vector of float) +0:78 textureGatherOffset ( temp 4-component vector of float) +0:78 Construct combined texture-sampler ( temp sampler2D) +0:78 'g_tTex2df4' ( uniform texture2D) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) +0:78 c2: direct index for structure ( uniform 2-component vector of float) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 1 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) 0:78 Constant: 0:78 2 (const int) 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'txval211' (temp 4-component vector of int) -0:79 textureGatherOffset (temp 4-component vector of int) -0:79 Construct combined texture-sampler (temp isampler2D) -0:79 'g_tTex2di4' (uniform itexture2D) -0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:79 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'txval211' ( temp 4-component vector of int) +0:79 textureGatherOffset ( temp 4-component vector of int) +0:79 Construct combined texture-sampler ( temp isampler2D) +0:79 'g_tTex2di4' ( uniform itexture2D) +0:79 'g_sSamp' (layout( binding=0) uniform sampler) +0:79 c2: direct index for structure ( uniform 2-component vector of float) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:79 Constant: 0:79 1 (const uint) -0:79 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:79 o2: direct index for structure ( uniform 2-component vector of int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:79 Constant: 0:79 5 (const uint) 0:79 Constant: 0:79 2 (const int) 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'txval221' (temp 4-component vector of uint) -0:80 textureGatherOffset (temp 4-component vector of uint) -0:80 Construct combined texture-sampler (temp usampler2D) -0:80 'g_tTex2du4' (uniform utexture2D) -0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:80 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'txval221' ( temp 4-component vector of uint) +0:80 textureGatherOffset ( temp 4-component vector of uint) +0:80 Construct combined texture-sampler ( temp usampler2D) +0:80 'g_tTex2du4' ( uniform utexture2D) +0:80 'g_sSamp' (layout( binding=0) uniform sampler) +0:80 c2: direct index for structure ( uniform 2-component vector of float) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:80 Constant: 0:80 1 (const uint) -0:80 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:80 o2: direct index for structure ( uniform 2-component vector of int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:80 Constant: 0:80 5 (const uint) 0:80 Constant: 0:80 2 (const int) 0:82 Sequence -0:82 move second child to first child (temp 4-component vector of float) -0:82 'txval204' (temp 4-component vector of float) -0:82 textureGatherOffsets (temp 4-component vector of float) -0:82 Construct combined texture-sampler (temp sampler2D) -0:82 'g_tTex2df4' (uniform texture2D) -0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:82 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 move second child to first child ( temp 4-component vector of float) +0:82 'txval204' ( temp 4-component vector of float) +0:82 textureGatherOffsets ( temp 4-component vector of float) +0:82 Construct combined texture-sampler ( temp sampler2D) +0:82 'g_tTex2df4' ( uniform texture2D) +0:82 'g_sSamp' (layout( binding=0) uniform sampler) +0:82 c2: direct index for structure ( uniform 2-component vector of float) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 1 (const uint) -0:82 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) 0:82 Constant: 0:82 2 (const int) 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of int) -0:83 'txval214' (temp 4-component vector of int) -0:83 textureGatherOffsets (temp 4-component vector of int) -0:83 Construct combined texture-sampler (temp isampler2D) -0:83 'g_tTex2di4' (uniform itexture2D) -0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:83 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 move second child to first child ( temp 4-component vector of int) +0:83 'txval214' ( temp 4-component vector of int) +0:83 textureGatherOffsets ( temp 4-component vector of int) +0:83 Construct combined texture-sampler ( temp isampler2D) +0:83 'g_tTex2di4' ( uniform itexture2D) +0:83 'g_sSamp' (layout( binding=0) uniform sampler) +0:83 c2: direct index for structure ( uniform 2-component vector of float) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 1 (const uint) -0:83 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) 0:83 Constant: 0:83 2 (const int) 0:84 Sequence -0:84 move second child to first child (temp 4-component vector of uint) -0:84 'txval224' (temp 4-component vector of uint) -0:84 textureGatherOffsets (temp 4-component vector of uint) -0:84 Construct combined texture-sampler (temp usampler2D) -0:84 'g_tTex2du4' (uniform utexture2D) -0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:84 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 move second child to first child ( temp 4-component vector of uint) +0:84 'txval224' ( temp 4-component vector of uint) +0:84 textureGatherOffsets ( temp 4-component vector of uint) +0:84 Construct combined texture-sampler ( temp usampler2D) +0:84 'g_tTex2du4' ( uniform utexture2D) +0:84 'g_sSamp' (layout( binding=0) uniform sampler) +0:84 c2: direct index for structure ( uniform 2-component vector of float) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 1 (const uint) -0:84 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) 0:84 Constant: 0:84 2 (const int) 0:94 Sequence -0:94 move second child to first child (temp 4-component vector of float) -0:94 'txval301' (temp 4-component vector of float) -0:94 textureGatherOffset (temp 4-component vector of float) -0:94 Construct combined texture-sampler (temp sampler2D) -0:94 'g_tTex2df4' (uniform texture2D) -0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:94 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 move second child to first child ( temp 4-component vector of float) +0:94 'txval301' ( temp 4-component vector of float) +0:94 textureGatherOffset ( temp 4-component vector of float) +0:94 Construct combined texture-sampler ( temp sampler2D) +0:94 'g_tTex2df4' ( uniform texture2D) +0:94 'g_sSamp' (layout( binding=0) uniform sampler) +0:94 c2: direct index for structure ( uniform 2-component vector of float) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 1 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) 0:94 Constant: 0:94 3 (const int) 0:95 Sequence -0:95 move second child to first child (temp 4-component vector of int) -0:95 'txval311' (temp 4-component vector of int) -0:95 textureGatherOffset (temp 4-component vector of int) -0:95 Construct combined texture-sampler (temp isampler2D) -0:95 'g_tTex2di4' (uniform itexture2D) -0:95 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:95 move second child to first child ( temp 4-component vector of int) +0:95 'txval311' ( temp 4-component vector of int) +0:95 textureGatherOffset ( temp 4-component vector of int) +0:95 Construct combined texture-sampler ( temp isampler2D) +0:95 'g_tTex2di4' ( uniform itexture2D) +0:95 'g_sSamp' (layout( binding=0) uniform sampler) +0:95 c2: direct index for structure ( uniform 2-component vector of float) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:95 Constant: 0:95 1 (const uint) -0:95 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:95 o2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:95 Constant: 0:95 5 (const uint) 0:95 Constant: 0:95 3 (const int) 0:96 Sequence -0:96 move second child to first child (temp 4-component vector of uint) -0:96 'txval321' (temp 4-component vector of uint) -0:96 textureGatherOffset (temp 4-component vector of uint) -0:96 Construct combined texture-sampler (temp usampler2D) -0:96 'g_tTex2du4' (uniform utexture2D) -0:96 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:96 move second child to first child ( temp 4-component vector of uint) +0:96 'txval321' ( temp 4-component vector of uint) +0:96 textureGatherOffset ( temp 4-component vector of uint) +0:96 Construct combined texture-sampler ( temp usampler2D) +0:96 'g_tTex2du4' ( uniform utexture2D) +0:96 'g_sSamp' (layout( binding=0) uniform sampler) +0:96 c2: direct index for structure ( uniform 2-component vector of float) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:96 Constant: 0:96 1 (const uint) -0:96 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:96 o2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:96 Constant: 0:96 5 (const uint) 0:96 Constant: 0:96 3 (const int) 0:98 Sequence -0:98 move second child to first child (temp 4-component vector of float) -0:98 'txval304' (temp 4-component vector of float) -0:98 textureGatherOffsets (temp 4-component vector of float) -0:98 Construct combined texture-sampler (temp sampler2D) -0:98 'g_tTex2df4' (uniform texture2D) -0:98 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 move second child to first child ( temp 4-component vector of float) +0:98 'txval304' ( temp 4-component vector of float) +0:98 textureGatherOffsets ( temp 4-component vector of float) +0:98 Construct combined texture-sampler ( temp sampler2D) +0:98 'g_tTex2df4' ( uniform texture2D) +0:98 'g_sSamp' (layout( binding=0) uniform sampler) +0:98 c2: direct index for structure ( uniform 2-component vector of float) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 1 (const uint) -0:98 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) 0:98 Constant: 0:98 3 (const int) 0:99 Sequence -0:99 move second child to first child (temp 4-component vector of int) -0:99 'txval314' (temp 4-component vector of int) -0:99 textureGatherOffsets (temp 4-component vector of int) -0:99 Construct combined texture-sampler (temp isampler2D) -0:99 'g_tTex2di4' (uniform itexture2D) -0:99 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:99 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 move second child to first child ( temp 4-component vector of int) +0:99 'txval314' ( temp 4-component vector of int) +0:99 textureGatherOffsets ( temp 4-component vector of int) +0:99 Construct combined texture-sampler ( temp isampler2D) +0:99 'g_tTex2di4' ( uniform itexture2D) +0:99 'g_sSamp' (layout( binding=0) uniform sampler) +0:99 c2: direct index for structure ( uniform 2-component vector of float) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 1 (const uint) -0:99 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) 0:99 Constant: 0:99 3 (const int) 0:100 Sequence -0:100 move second child to first child (temp 4-component vector of uint) -0:100 'txval324' (temp 4-component vector of uint) -0:100 textureGatherOffsets (temp 4-component vector of uint) -0:100 Construct combined texture-sampler (temp usampler2D) -0:100 'g_tTex2du4' (uniform utexture2D) -0:100 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:100 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 move second child to first child ( temp 4-component vector of uint) +0:100 'txval324' ( temp 4-component vector of uint) +0:100 textureGatherOffsets ( temp 4-component vector of uint) +0:100 Construct combined texture-sampler ( temp usampler2D) +0:100 'g_tTex2du4' ( uniform utexture2D) +0:100 'g_sSamp' (layout( binding=0) uniform sampler) +0:100 c2: direct index for structure ( uniform 2-component vector of float) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 1 (const uint) -0:100 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) 0:100 Constant: 0:100 3 (const int) -0:112 move second child to first child (temp 4-component vector of float) -0:112 Color: direct index for structure (temp 4-component vector of float) -0:112 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:112 move second child to first child ( temp 4-component vector of float) +0:112 Color: direct index for structure ( temp 4-component vector of float) +0:112 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:112 Constant: 0:112 0 (const int) 0:112 Constant: @@ -579,47 +579,53 @@ gl_FragCoord origin is upper left 0:112 1.000000 0:112 1.000000 0:112 1.000000 -0:113 move second child to first child (temp float) -0:113 Depth: direct index for structure (temp float) -0:113 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:113 move second child to first child ( temp float) +0:113 Depth: direct index for structure ( temp float) +0:113 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:113 Constant: 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 Sequence -0:115 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:115 Color: direct index for structure (temp 4-component vector of float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 0 (const int) -0:115 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:115 Depth: direct index for structure (temp float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 1 (const int) -0:115 Branch: Return +0:115 Branch: Return with expression +0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: main( ( temp void) +0:39 Function Parameters: +0:? Sequence +0:39 Sequence +0:39 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:39 Depth: direct index for structure ( temp float) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -628,576 +634,576 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:39 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Function Parameters: 0:? Sequence 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of float) -0:46 'txval001' (temp 4-component vector of float) -0:46 textureGatherOffset (temp 4-component vector of float) -0:46 Construct combined texture-sampler (temp sampler2D) -0:46 'g_tTex2df4' (uniform texture2D) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 'txval001' ( temp 4-component vector of float) +0:46 textureGatherOffset ( temp 4-component vector of float) +0:46 Construct combined texture-sampler ( temp sampler2D) +0:46 'g_tTex2df4' ( uniform texture2D) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 1 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) 0:46 Constant: 0:46 0 (const int) 0:47 Sequence -0:47 move second child to first child (temp 4-component vector of int) -0:47 'txval011' (temp 4-component vector of int) -0:47 textureGatherOffset (temp 4-component vector of int) -0:47 Construct combined texture-sampler (temp isampler2D) -0:47 'g_tTex2di4' (uniform itexture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 move second child to first child ( temp 4-component vector of int) +0:47 'txval011' ( temp 4-component vector of int) +0:47 textureGatherOffset ( temp 4-component vector of int) +0:47 Construct combined texture-sampler ( temp isampler2D) +0:47 'g_tTex2di4' ( uniform itexture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 1 (const uint) -0:47 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 o2: direct index for structure ( uniform 2-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 5 (const uint) 0:47 Constant: 0:47 0 (const int) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of uint) -0:48 'txval021' (temp 4-component vector of uint) -0:48 textureGatherOffset (temp 4-component vector of uint) -0:48 Construct combined texture-sampler (temp usampler2D) -0:48 'g_tTex2du4' (uniform utexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 move second child to first child ( temp 4-component vector of uint) +0:48 'txval021' ( temp 4-component vector of uint) +0:48 textureGatherOffset ( temp 4-component vector of uint) +0:48 Construct combined texture-sampler ( temp usampler2D) +0:48 'g_tTex2du4' ( uniform utexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 c2: direct index for structure ( uniform 2-component vector of float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 1 (const uint) -0:48 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 o2: direct index for structure ( uniform 2-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 5 (const uint) 0:48 Constant: 0:48 0 (const int) 0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:50 'txval004' (temp 4-component vector of float) -0:50 textureGatherOffsets (temp 4-component vector of float) -0:50 Construct combined texture-sampler (temp sampler2D) -0:50 'g_tTex2df4' (uniform texture2D) -0:50 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'txval004' ( temp 4-component vector of float) +0:50 textureGatherOffsets ( temp 4-component vector of float) +0:50 Construct combined texture-sampler ( temp sampler2D) +0:50 'g_tTex2df4' ( uniform texture2D) +0:50 'g_sSamp' (layout( binding=0) uniform sampler) +0:50 c2: direct index for structure ( uniform 2-component vector of float) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 1 (const uint) -0:50 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) -0:50 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 o2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 5 (const uint) 0:50 Constant: 0:50 0 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of int) -0:51 'txval014' (temp 4-component vector of int) -0:51 textureGatherOffsets (temp 4-component vector of int) -0:51 Construct combined texture-sampler (temp isampler2D) -0:51 'g_tTex2di4' (uniform itexture2D) -0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 move second child to first child ( temp 4-component vector of int) +0:51 'txval014' ( temp 4-component vector of int) +0:51 textureGatherOffsets ( temp 4-component vector of int) +0:51 Construct combined texture-sampler ( temp isampler2D) +0:51 'g_tTex2di4' ( uniform itexture2D) +0:51 'g_sSamp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) -0:51 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) -0:51 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 o2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 5 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of uint) -0:52 'txval024' (temp 4-component vector of uint) -0:52 textureGatherOffsets (temp 4-component vector of uint) -0:52 Construct combined texture-sampler (temp usampler2D) -0:52 'g_tTex2du4' (uniform utexture2D) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 move second child to first child ( temp 4-component vector of uint) +0:52 'txval024' ( temp 4-component vector of uint) +0:52 textureGatherOffsets ( temp 4-component vector of uint) +0:52 Construct combined texture-sampler ( temp usampler2D) +0:52 'g_tTex2du4' ( uniform utexture2D) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 c2: direct index for structure ( uniform 2-component vector of float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) -0:52 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) -0:52 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 5 (const uint) 0:52 Constant: 0:52 0 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of float) -0:62 'txval101' (temp 4-component vector of float) -0:62 textureGatherOffset (temp 4-component vector of float) -0:62 Construct combined texture-sampler (temp sampler2D) -0:62 'g_tTex2df4' (uniform texture2D) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 'txval101' ( temp 4-component vector of float) +0:62 textureGatherOffset ( temp 4-component vector of float) +0:62 Construct combined texture-sampler ( temp sampler2D) +0:62 'g_tTex2df4' ( uniform texture2D) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c2: direct index for structure ( uniform 2-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 1 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) 0:62 Constant: 0:62 1 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of int) -0:63 'txval111' (temp 4-component vector of int) -0:63 textureGatherOffset (temp 4-component vector of int) -0:63 Construct combined texture-sampler (temp isampler2D) -0:63 'g_tTex2di4' (uniform itexture2D) -0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:63 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 move second child to first child ( temp 4-component vector of int) +0:63 'txval111' ( temp 4-component vector of int) +0:63 textureGatherOffset ( temp 4-component vector of int) +0:63 Construct combined texture-sampler ( temp isampler2D) +0:63 'g_tTex2di4' ( uniform itexture2D) +0:63 'g_sSamp' (layout( binding=0) uniform sampler) +0:63 c2: direct index for structure ( uniform 2-component vector of float) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 1 (const uint) -0:63 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 o2: direct index for structure ( uniform 2-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 5 (const uint) 0:63 Constant: 0:63 1 (const int) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of uint) -0:64 'txval121' (temp 4-component vector of uint) -0:64 textureGatherOffset (temp 4-component vector of uint) -0:64 Construct combined texture-sampler (temp usampler2D) -0:64 'g_tTex2du4' (uniform utexture2D) -0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 move second child to first child ( temp 4-component vector of uint) +0:64 'txval121' ( temp 4-component vector of uint) +0:64 textureGatherOffset ( temp 4-component vector of uint) +0:64 Construct combined texture-sampler ( temp usampler2D) +0:64 'g_tTex2du4' ( uniform utexture2D) +0:64 'g_sSamp' (layout( binding=0) uniform sampler) +0:64 c2: direct index for structure ( uniform 2-component vector of float) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 1 (const uint) -0:64 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 o2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 5 (const uint) 0:64 Constant: 0:64 1 (const int) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:66 'txval104' (temp 4-component vector of float) -0:66 textureGatherOffsets (temp 4-component vector of float) -0:66 Construct combined texture-sampler (temp sampler2D) -0:66 'g_tTex2df4' (uniform texture2D) -0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 move second child to first child ( temp 4-component vector of float) +0:66 'txval104' ( temp 4-component vector of float) +0:66 textureGatherOffsets ( temp 4-component vector of float) +0:66 Construct combined texture-sampler ( temp sampler2D) +0:66 'g_tTex2df4' ( uniform texture2D) +0:66 'g_sSamp' (layout( binding=0) uniform sampler) +0:66 c2: direct index for structure ( uniform 2-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 1 (const uint) -0:66 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) -0:66 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 o2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 5 (const uint) 0:66 Constant: 0:66 1 (const int) 0:67 Sequence -0:67 move second child to first child (temp 4-component vector of int) -0:67 'txval114' (temp 4-component vector of int) -0:67 textureGatherOffsets (temp 4-component vector of int) -0:67 Construct combined texture-sampler (temp isampler2D) -0:67 'g_tTex2di4' (uniform itexture2D) -0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:67 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 move second child to first child ( temp 4-component vector of int) +0:67 'txval114' ( temp 4-component vector of int) +0:67 textureGatherOffsets ( temp 4-component vector of int) +0:67 Construct combined texture-sampler ( temp isampler2D) +0:67 'g_tTex2di4' ( uniform itexture2D) +0:67 'g_sSamp' (layout( binding=0) uniform sampler) +0:67 c2: direct index for structure ( uniform 2-component vector of float) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 1 (const uint) -0:67 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) -0:67 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 o2: direct index for structure ( uniform 2-component vector of int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 5 (const uint) 0:67 Constant: 0:67 1 (const int) 0:68 Sequence -0:68 move second child to first child (temp 4-component vector of uint) -0:68 'txval124' (temp 4-component vector of uint) -0:68 textureGatherOffsets (temp 4-component vector of uint) -0:68 Construct combined texture-sampler (temp usampler2D) -0:68 'g_tTex2du4' (uniform utexture2D) -0:68 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:68 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 move second child to first child ( temp 4-component vector of uint) +0:68 'txval124' ( temp 4-component vector of uint) +0:68 textureGatherOffsets ( temp 4-component vector of uint) +0:68 Construct combined texture-sampler ( temp usampler2D) +0:68 'g_tTex2du4' ( uniform utexture2D) +0:68 'g_sSamp' (layout( binding=0) uniform sampler) +0:68 c2: direct index for structure ( uniform 2-component vector of float) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 1 (const uint) -0:68 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) -0:68 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 o2: direct index for structure ( uniform 2-component vector of int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 5 (const uint) 0:68 Constant: 0:68 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:78 'txval201' (temp 4-component vector of float) -0:78 textureGatherOffset (temp 4-component vector of float) -0:78 Construct combined texture-sampler (temp sampler2D) -0:78 'g_tTex2df4' (uniform texture2D) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:78 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 move second child to first child ( temp 4-component vector of float) +0:78 'txval201' ( temp 4-component vector of float) +0:78 textureGatherOffset ( temp 4-component vector of float) +0:78 Construct combined texture-sampler ( temp sampler2D) +0:78 'g_tTex2df4' ( uniform texture2D) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) +0:78 c2: direct index for structure ( uniform 2-component vector of float) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 1 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) 0:78 Constant: 0:78 2 (const int) 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'txval211' (temp 4-component vector of int) -0:79 textureGatherOffset (temp 4-component vector of int) -0:79 Construct combined texture-sampler (temp isampler2D) -0:79 'g_tTex2di4' (uniform itexture2D) -0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:79 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'txval211' ( temp 4-component vector of int) +0:79 textureGatherOffset ( temp 4-component vector of int) +0:79 Construct combined texture-sampler ( temp isampler2D) +0:79 'g_tTex2di4' ( uniform itexture2D) +0:79 'g_sSamp' (layout( binding=0) uniform sampler) +0:79 c2: direct index for structure ( uniform 2-component vector of float) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:79 Constant: 0:79 1 (const uint) -0:79 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:79 o2: direct index for structure ( uniform 2-component vector of int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:79 Constant: 0:79 5 (const uint) 0:79 Constant: 0:79 2 (const int) 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'txval221' (temp 4-component vector of uint) -0:80 textureGatherOffset (temp 4-component vector of uint) -0:80 Construct combined texture-sampler (temp usampler2D) -0:80 'g_tTex2du4' (uniform utexture2D) -0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:80 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'txval221' ( temp 4-component vector of uint) +0:80 textureGatherOffset ( temp 4-component vector of uint) +0:80 Construct combined texture-sampler ( temp usampler2D) +0:80 'g_tTex2du4' ( uniform utexture2D) +0:80 'g_sSamp' (layout( binding=0) uniform sampler) +0:80 c2: direct index for structure ( uniform 2-component vector of float) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:80 Constant: 0:80 1 (const uint) -0:80 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:80 o2: direct index for structure ( uniform 2-component vector of int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:80 Constant: 0:80 5 (const uint) 0:80 Constant: 0:80 2 (const int) 0:82 Sequence -0:82 move second child to first child (temp 4-component vector of float) -0:82 'txval204' (temp 4-component vector of float) -0:82 textureGatherOffsets (temp 4-component vector of float) -0:82 Construct combined texture-sampler (temp sampler2D) -0:82 'g_tTex2df4' (uniform texture2D) -0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:82 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 move second child to first child ( temp 4-component vector of float) +0:82 'txval204' ( temp 4-component vector of float) +0:82 textureGatherOffsets ( temp 4-component vector of float) +0:82 Construct combined texture-sampler ( temp sampler2D) +0:82 'g_tTex2df4' ( uniform texture2D) +0:82 'g_sSamp' (layout( binding=0) uniform sampler) +0:82 c2: direct index for structure ( uniform 2-component vector of float) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 1 (const uint) -0:82 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) -0:82 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:82 o2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:82 Constant: 0:82 5 (const uint) 0:82 Constant: 0:82 2 (const int) 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of int) -0:83 'txval214' (temp 4-component vector of int) -0:83 textureGatherOffsets (temp 4-component vector of int) -0:83 Construct combined texture-sampler (temp isampler2D) -0:83 'g_tTex2di4' (uniform itexture2D) -0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:83 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 move second child to first child ( temp 4-component vector of int) +0:83 'txval214' ( temp 4-component vector of int) +0:83 textureGatherOffsets ( temp 4-component vector of int) +0:83 Construct combined texture-sampler ( temp isampler2D) +0:83 'g_tTex2di4' ( uniform itexture2D) +0:83 'g_sSamp' (layout( binding=0) uniform sampler) +0:83 c2: direct index for structure ( uniform 2-component vector of float) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 1 (const uint) -0:83 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) -0:83 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:83 o2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:83 Constant: 0:83 5 (const uint) 0:83 Constant: 0:83 2 (const int) 0:84 Sequence -0:84 move second child to first child (temp 4-component vector of uint) -0:84 'txval224' (temp 4-component vector of uint) -0:84 textureGatherOffsets (temp 4-component vector of uint) -0:84 Construct combined texture-sampler (temp usampler2D) -0:84 'g_tTex2du4' (uniform utexture2D) -0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:84 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 move second child to first child ( temp 4-component vector of uint) +0:84 'txval224' ( temp 4-component vector of uint) +0:84 textureGatherOffsets ( temp 4-component vector of uint) +0:84 Construct combined texture-sampler ( temp usampler2D) +0:84 'g_tTex2du4' ( uniform utexture2D) +0:84 'g_sSamp' (layout( binding=0) uniform sampler) +0:84 c2: direct index for structure ( uniform 2-component vector of float) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 1 (const uint) -0:84 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) -0:84 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:84 o2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:84 Constant: 0:84 5 (const uint) 0:84 Constant: 0:84 2 (const int) 0:94 Sequence -0:94 move second child to first child (temp 4-component vector of float) -0:94 'txval301' (temp 4-component vector of float) -0:94 textureGatherOffset (temp 4-component vector of float) -0:94 Construct combined texture-sampler (temp sampler2D) -0:94 'g_tTex2df4' (uniform texture2D) -0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:94 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 move second child to first child ( temp 4-component vector of float) +0:94 'txval301' ( temp 4-component vector of float) +0:94 textureGatherOffset ( temp 4-component vector of float) +0:94 Construct combined texture-sampler ( temp sampler2D) +0:94 'g_tTex2df4' ( uniform texture2D) +0:94 'g_sSamp' (layout( binding=0) uniform sampler) +0:94 c2: direct index for structure ( uniform 2-component vector of float) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 1 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) 0:94 Constant: 0:94 3 (const int) 0:95 Sequence -0:95 move second child to first child (temp 4-component vector of int) -0:95 'txval311' (temp 4-component vector of int) -0:95 textureGatherOffset (temp 4-component vector of int) -0:95 Construct combined texture-sampler (temp isampler2D) -0:95 'g_tTex2di4' (uniform itexture2D) -0:95 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:95 move second child to first child ( temp 4-component vector of int) +0:95 'txval311' ( temp 4-component vector of int) +0:95 textureGatherOffset ( temp 4-component vector of int) +0:95 Construct combined texture-sampler ( temp isampler2D) +0:95 'g_tTex2di4' ( uniform itexture2D) +0:95 'g_sSamp' (layout( binding=0) uniform sampler) +0:95 c2: direct index for structure ( uniform 2-component vector of float) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:95 Constant: 0:95 1 (const uint) -0:95 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:95 o2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:95 Constant: 0:95 5 (const uint) 0:95 Constant: 0:95 3 (const int) 0:96 Sequence -0:96 move second child to first child (temp 4-component vector of uint) -0:96 'txval321' (temp 4-component vector of uint) -0:96 textureGatherOffset (temp 4-component vector of uint) -0:96 Construct combined texture-sampler (temp usampler2D) -0:96 'g_tTex2du4' (uniform utexture2D) -0:96 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:96 move second child to first child ( temp 4-component vector of uint) +0:96 'txval321' ( temp 4-component vector of uint) +0:96 textureGatherOffset ( temp 4-component vector of uint) +0:96 Construct combined texture-sampler ( temp usampler2D) +0:96 'g_tTex2du4' ( uniform utexture2D) +0:96 'g_sSamp' (layout( binding=0) uniform sampler) +0:96 c2: direct index for structure ( uniform 2-component vector of float) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:96 Constant: 0:96 1 (const uint) -0:96 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:96 o2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:96 Constant: 0:96 5 (const uint) 0:96 Constant: 0:96 3 (const int) 0:98 Sequence -0:98 move second child to first child (temp 4-component vector of float) -0:98 'txval304' (temp 4-component vector of float) -0:98 textureGatherOffsets (temp 4-component vector of float) -0:98 Construct combined texture-sampler (temp sampler2D) -0:98 'g_tTex2df4' (uniform texture2D) -0:98 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 move second child to first child ( temp 4-component vector of float) +0:98 'txval304' ( temp 4-component vector of float) +0:98 textureGatherOffsets ( temp 4-component vector of float) +0:98 Construct combined texture-sampler ( temp sampler2D) +0:98 'g_tTex2df4' ( uniform texture2D) +0:98 'g_sSamp' (layout( binding=0) uniform sampler) +0:98 c2: direct index for structure ( uniform 2-component vector of float) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 1 (const uint) -0:98 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) -0:98 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:98 o2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:98 Constant: 0:98 5 (const uint) 0:98 Constant: 0:98 3 (const int) 0:99 Sequence -0:99 move second child to first child (temp 4-component vector of int) -0:99 'txval314' (temp 4-component vector of int) -0:99 textureGatherOffsets (temp 4-component vector of int) -0:99 Construct combined texture-sampler (temp isampler2D) -0:99 'g_tTex2di4' (uniform itexture2D) -0:99 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:99 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 move second child to first child ( temp 4-component vector of int) +0:99 'txval314' ( temp 4-component vector of int) +0:99 textureGatherOffsets ( temp 4-component vector of int) +0:99 Construct combined texture-sampler ( temp isampler2D) +0:99 'g_tTex2di4' ( uniform itexture2D) +0:99 'g_sSamp' (layout( binding=0) uniform sampler) +0:99 c2: direct index for structure ( uniform 2-component vector of float) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 1 (const uint) -0:99 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) -0:99 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:99 o2: direct index for structure ( uniform 2-component vector of int) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:99 Constant: 0:99 5 (const uint) 0:99 Constant: 0:99 3 (const int) 0:100 Sequence -0:100 move second child to first child (temp 4-component vector of uint) -0:100 'txval324' (temp 4-component vector of uint) -0:100 textureGatherOffsets (temp 4-component vector of uint) -0:100 Construct combined texture-sampler (temp usampler2D) -0:100 'g_tTex2du4' (uniform utexture2D) -0:100 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:100 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 move second child to first child ( temp 4-component vector of uint) +0:100 'txval324' ( temp 4-component vector of uint) +0:100 textureGatherOffsets ( temp 4-component vector of uint) +0:100 Construct combined texture-sampler ( temp usampler2D) +0:100 'g_tTex2du4' ( uniform utexture2D) +0:100 'g_sSamp' (layout( binding=0) uniform sampler) +0:100 c2: direct index for structure ( uniform 2-component vector of float) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 1 (const uint) -0:100 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) -0:100 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:100 o2: direct index for structure ( uniform 2-component vector of int) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:100 Constant: 0:100 5 (const uint) 0:100 Constant: 0:100 3 (const int) -0:112 move second child to first child (temp 4-component vector of float) -0:112 Color: direct index for structure (temp 4-component vector of float) -0:112 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:112 move second child to first child ( temp 4-component vector of float) +0:112 Color: direct index for structure ( temp 4-component vector of float) +0:112 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:112 Constant: 0:112 0 (const int) 0:112 Constant: @@ -1205,561 +1211,578 @@ gl_FragCoord origin is upper left 0:112 1.000000 0:112 1.000000 0:112 1.000000 -0:113 move second child to first child (temp float) -0:113 Depth: direct index for structure (temp float) -0:113 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:113 move second child to first child ( temp float) +0:113 Depth: direct index for structure ( temp float) +0:113 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:113 Constant: 0:113 1 (const int) 0:113 Constant: 0:113 1.000000 -0:115 Sequence -0:115 Sequence -0:115 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:115 Color: direct index for structure (temp 4-component vector of float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 0 (const int) -0:115 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:115 Depth: direct index for structure (temp float) -0:115 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:115 Constant: -0:115 1 (const int) -0:115 Branch: Return +0:115 Branch: Return with expression +0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Function Definition: main( ( temp void) +0:39 Function Parameters: +0:? Sequence +0:39 Sequence +0:39 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 0 (const int) +0:39 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:39 Depth: direct index for structure ( temp float) +0:39 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:39 Constant: +0:39 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 392 +// Id's are bound by 399 Capability Shader Capability ImageGatherExtended Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 355 359 + EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval001" - Name 12 "g_tTex2df4" - Name 16 "g_sSamp" - Name 26 "$Global" - MemberName 26($Global) 0 "c1" - MemberName 26($Global) 1 "c2" - MemberName 26($Global) 2 "c3" - MemberName 26($Global) 3 "c4" - MemberName 26($Global) 4 "o1" - MemberName 26($Global) 5 "o2" - MemberName 26($Global) 6 "o3" - MemberName 26($Global) 7 "o4" - Name 28 "" - Name 40 "txval011" - Name 43 "g_tTex2di4" - Name 56 "txval021" - Name 59 "g_tTex2du4" - Name 69 "txval004" - Name 87 "txval014" - Name 103 "txval024" - Name 119 "txval101" - Name 128 "txval111" - Name 137 "txval121" - Name 146 "txval104" - Name 162 "txval114" - Name 178 "txval124" - Name 194 "txval201" - Name 204 "txval211" - Name 213 "txval221" - Name 222 "txval204" - Name 238 "txval214" - Name 254 "txval224" - Name 270 "txval301" - Name 280 "txval311" - Name 289 "txval321" - Name 298 "txval304" - Name 314 "txval314" - Name 330 "txval324" - Name 346 "PS_OUTPUT" - MemberName 346(PS_OUTPUT) 0 "Color" - MemberName 346(PS_OUTPUT) 1 "Depth" - Name 348 "psout" - Name 355 "Color" - Name 359 "Depth" - Name 363 "g_sSamp2d" - Name 366 "g_tTex1df4a" - Name 367 "g_tTex1df4" - Name 370 "g_tTex1di4" - Name 373 "g_tTex1du4" - Name 376 "g_tTex3df4" - Name 379 "g_tTex3di4" - Name 382 "g_tTex3du4" - Name 385 "g_tTexcdf4" - Name 388 "g_tTexcdi4" - Name 391 "g_tTexcdu4" - Decorate 12(g_tTex2df4) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 26($Global) 0 Offset 0 - MemberDecorate 26($Global) 1 Offset 8 - MemberDecorate 26($Global) 2 Offset 16 - MemberDecorate 26($Global) 3 Offset 32 - MemberDecorate 26($Global) 4 Offset 48 - MemberDecorate 26($Global) 5 Offset 56 - MemberDecorate 26($Global) 6 Offset 64 - MemberDecorate 26($Global) 7 Offset 80 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 - Decorate 43(g_tTex2di4) DescriptorSet 0 - Decorate 59(g_tTex2du4) DescriptorSet 0 - Decorate 355(Color) Location 0 - Decorate 359(Depth) BuiltIn FragDepth - Decorate 363(g_sSamp2d) DescriptorSet 0 - Decorate 366(g_tTex1df4a) DescriptorSet 0 - Decorate 366(g_tTex1df4a) Binding 1 - Decorate 367(g_tTex1df4) DescriptorSet 0 - Decorate 367(g_tTex1df4) Binding 0 - Decorate 370(g_tTex1di4) DescriptorSet 0 - Decorate 373(g_tTex1du4) DescriptorSet 0 - Decorate 376(g_tTex3df4) DescriptorSet 0 - Decorate 379(g_tTex3di4) DescriptorSet 0 - Decorate 382(g_tTex3du4) DescriptorSet 0 - Decorate 385(g_tTexcdf4) DescriptorSet 0 - Decorate 388(g_tTexcdi4) DescriptorSet 0 - Decorate 391(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval001" + Name 16 "g_tTex2df4" + Name 20 "g_sSamp" + Name 30 "$Global" + MemberName 30($Global) 0 "c1" + MemberName 30($Global) 1 "c2" + MemberName 30($Global) 2 "c3" + MemberName 30($Global) 3 "c4" + MemberName 30($Global) 4 "o1" + MemberName 30($Global) 5 "o2" + MemberName 30($Global) 6 "o3" + MemberName 30($Global) 7 "o4" + Name 32 "" + Name 44 "txval011" + Name 47 "g_tTex2di4" + Name 60 "txval021" + Name 63 "g_tTex2du4" + Name 73 "txval004" + Name 91 "txval014" + Name 107 "txval024" + Name 123 "txval101" + Name 132 "txval111" + Name 141 "txval121" + Name 150 "txval104" + Name 166 "txval114" + Name 182 "txval124" + Name 198 "txval201" + Name 208 "txval211" + Name 217 "txval221" + Name 226 "txval204" + Name 242 "txval214" + Name 258 "txval224" + Name 274 "txval301" + Name 284 "txval311" + Name 293 "txval321" + Name 302 "txval304" + Name 318 "txval314" + Name 334 "txval324" + Name 351 "psout" + Name 360 "flattenTemp" + Name 363 "Color" + Name 367 "Depth" + Name 370 "g_sSamp2d" + Name 373 "g_tTex1df4a" + Name 374 "g_tTex1df4" + Name 377 "g_tTex1di4" + Name 380 "g_tTex1du4" + Name 383 "g_tTex3df4" + Name 386 "g_tTex3di4" + Name 389 "g_tTex3du4" + Name 392 "g_tTexcdf4" + Name 395 "g_tTexcdi4" + Name 398 "g_tTexcdu4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 30($Global) 0 Offset 0 + MemberDecorate 30($Global) 1 Offset 8 + MemberDecorate 30($Global) 2 Offset 16 + MemberDecorate 30($Global) 3 Offset 32 + MemberDecorate 30($Global) 4 Offset 48 + MemberDecorate 30($Global) 5 Offset 56 + MemberDecorate 30($Global) 6 Offset 64 + MemberDecorate 30($Global) 7 Offset 80 + Decorate 30($Global) Block + Decorate 32 DescriptorSet 0 + Decorate 47(g_tTex2di4) DescriptorSet 0 + Decorate 63(g_tTex2du4) DescriptorSet 0 + Decorate 363(Color) Location 0 + Decorate 367(Depth) BuiltIn FragDepth + Decorate 370(g_sSamp2d) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) Binding 1 + Decorate 374(g_tTex1df4) DescriptorSet 0 + Decorate 374(g_tTex1df4) Binding 0 + Decorate 377(g_tTex1di4) DescriptorSet 0 + Decorate 380(g_tTex1du4) DescriptorSet 0 + Decorate 383(g_tTex3df4) DescriptorSet 0 + Decorate 386(g_tTex3di4) DescriptorSet 0 + Decorate 389(g_tTex3du4) DescriptorSet 0 + Decorate 392(g_tTexcdf4) DescriptorSet 0 + Decorate 395(g_tTexcdi4) DescriptorSet 0 + Decorate 398(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypeVector 22(int) 3 - 25: TypeVector 22(int) 4 - 26($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22(int) 23(ivec2) 24(ivec3) 25(ivec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform - 29: 22(int) Constant 1 - 30: TypePointer Uniform 20(fvec2) - 33: 22(int) Constant 5 - 34: TypePointer Uniform 23(ivec2) - 37: 22(int) Constant 0 - 39: TypePointer Function 25(ivec4) - 41: TypeImage 22(int) 2D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex2di4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 53: TypeInt 32 0 - 54: TypeVector 53(int) 4 - 55: TypePointer Function 54(ivec4) - 57: TypeImage 53(int) 2D sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2du4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 83: 53(int) Constant 4 - 84: TypeArray 23(ivec2) 83 - 202: 22(int) Constant 2 - 278: 22(int) Constant 3 - 346(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 347: TypePointer Function 346(PS_OUTPUT) - 349: 6(float) Constant 1065353216 - 350: 7(fvec4) ConstantComposite 349 349 349 349 - 352: TypePointer Function 6(float) - 354: TypePointer Output 7(fvec4) - 355(Color): 354(ptr) Variable Output - 358: TypePointer Output 6(float) - 359(Depth): 358(ptr) Variable Output - 363(g_sSamp2d): 15(ptr) Variable UniformConstant - 364: TypeImage 6(float) 1D sampled format:Unknown - 365: TypePointer UniformConstant 364 -366(g_tTex1df4a): 365(ptr) Variable UniformConstant - 367(g_tTex1df4): 365(ptr) Variable UniformConstant - 368: TypeImage 22(int) 1D sampled format:Unknown - 369: TypePointer UniformConstant 368 - 370(g_tTex1di4): 369(ptr) Variable UniformConstant - 371: TypeImage 53(int) 1D sampled format:Unknown + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26: TypeInt 32 1 + 27: TypeVector 26(int) 2 + 28: TypeVector 26(int) 3 + 29: TypeVector 26(int) 4 + 30($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) 26(int) 27(ivec2) 28(ivec3) 29(ivec4) + 31: TypePointer Uniform 30($Global) + 32: 31(ptr) Variable Uniform + 33: 26(int) Constant 1 + 34: TypePointer Uniform 24(fvec2) + 37: 26(int) Constant 5 + 38: TypePointer Uniform 27(ivec2) + 41: 26(int) Constant 0 + 43: TypePointer Function 29(ivec4) + 45: TypeImage 26(int) 2D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex2di4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 57: TypeInt 32 0 + 58: TypeVector 57(int) 4 + 59: TypePointer Function 58(ivec4) + 61: TypeImage 57(int) 2D sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2du4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 87: 57(int) Constant 4 + 88: TypeArray 27(ivec2) 87 + 206: 26(int) Constant 2 + 282: 26(int) Constant 3 + 350: TypePointer Function 8(PS_OUTPUT) + 352: 6(float) Constant 1065353216 + 353: 7(fvec4) ConstantComposite 352 352 352 352 + 355: TypePointer Function 6(float) + 362: TypePointer Output 7(fvec4) + 363(Color): 362(ptr) Variable Output + 366: TypePointer Output 6(float) + 367(Depth): 366(ptr) Variable Output + 370(g_sSamp2d): 19(ptr) Variable UniformConstant + 371: TypeImage 6(float) 1D sampled format:Unknown 372: TypePointer UniformConstant 371 - 373(g_tTex1du4): 372(ptr) Variable UniformConstant - 374: TypeImage 6(float) 3D sampled format:Unknown - 375: TypePointer UniformConstant 374 - 376(g_tTex3df4): 375(ptr) Variable UniformConstant - 377: TypeImage 22(int) 3D sampled format:Unknown - 378: TypePointer UniformConstant 377 - 379(g_tTex3di4): 378(ptr) Variable UniformConstant - 380: TypeImage 53(int) 3D sampled format:Unknown - 381: TypePointer UniformConstant 380 - 382(g_tTex3du4): 381(ptr) Variable UniformConstant - 383: TypeImage 6(float) Cube sampled format:Unknown - 384: TypePointer UniformConstant 383 - 385(g_tTexcdf4): 384(ptr) Variable UniformConstant - 386: TypeImage 22(int) Cube sampled format:Unknown - 387: TypePointer UniformConstant 386 - 388(g_tTexcdi4): 387(ptr) Variable UniformConstant - 389: TypeImage 53(int) Cube sampled format:Unknown - 390: TypePointer UniformConstant 389 - 391(g_tTexcdu4): 390(ptr) Variable UniformConstant +373(g_tTex1df4a): 372(ptr) Variable UniformConstant + 374(g_tTex1df4): 372(ptr) Variable UniformConstant + 375: TypeImage 26(int) 1D sampled format:Unknown + 376: TypePointer UniformConstant 375 + 377(g_tTex1di4): 376(ptr) Variable UniformConstant + 378: TypeImage 57(int) 1D sampled format:Unknown + 379: TypePointer UniformConstant 378 + 380(g_tTex1du4): 379(ptr) Variable UniformConstant + 381: TypeImage 6(float) 3D sampled format:Unknown + 382: TypePointer UniformConstant 381 + 383(g_tTex3df4): 382(ptr) Variable UniformConstant + 384: TypeImage 26(int) 3D sampled format:Unknown + 385: TypePointer UniformConstant 384 + 386(g_tTex3di4): 385(ptr) Variable UniformConstant + 387: TypeImage 57(int) 3D sampled format:Unknown + 388: TypePointer UniformConstant 387 + 389(g_tTex3du4): 388(ptr) Variable UniformConstant + 390: TypeImage 6(float) Cube sampled format:Unknown + 391: TypePointer UniformConstant 390 + 392(g_tTexcdf4): 391(ptr) Variable UniformConstant + 393: TypeImage 26(int) Cube sampled format:Unknown + 394: TypePointer UniformConstant 393 + 395(g_tTexcdi4): 394(ptr) Variable UniformConstant + 396: TypeImage 57(int) Cube sampled format:Unknown + 397: TypePointer UniformConstant 396 + 398(g_tTexcdu4): 397(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval001): 8(ptr) Variable Function - 40(txval011): 39(ptr) Variable Function - 56(txval021): 55(ptr) Variable Function - 69(txval004): 8(ptr) Variable Function - 87(txval014): 39(ptr) Variable Function - 103(txval024): 55(ptr) Variable Function - 119(txval101): 8(ptr) Variable Function - 128(txval111): 39(ptr) Variable Function - 137(txval121): 55(ptr) Variable Function - 146(txval104): 8(ptr) Variable Function - 162(txval114): 39(ptr) Variable Function - 178(txval124): 55(ptr) Variable Function - 194(txval201): 8(ptr) Variable Function - 204(txval211): 39(ptr) Variable Function - 213(txval221): 55(ptr) Variable Function - 222(txval204): 8(ptr) Variable Function - 238(txval214): 39(ptr) Variable Function - 254(txval224): 55(ptr) Variable Function - 270(txval301): 8(ptr) Variable Function - 280(txval311): 39(ptr) Variable Function - 289(txval321): 55(ptr) Variable Function - 298(txval304): 8(ptr) Variable Function - 314(txval314): 39(ptr) Variable Function - 330(txval324): 55(ptr) Variable Function - 348(psout): 347(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 31: 30(ptr) AccessChain 28 29 - 32: 20(fvec2) Load 31 - 35: 34(ptr) AccessChain 28 33 - 36: 23(ivec2) Load 35 - 38: 7(fvec4) ImageGather 19 32 37 Offset 36 - Store 9(txval001) 38 - 44: 41 Load 43(g_tTex2di4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 48: 30(ptr) AccessChain 28 29 - 49: 20(fvec2) Load 48 - 50: 34(ptr) AccessChain 28 33 - 51: 23(ivec2) Load 50 - 52: 25(ivec4) ImageGather 47 49 37 Offset 51 - Store 40(txval011) 52 - 60: 57 Load 59(g_tTex2du4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 64: 30(ptr) AccessChain 28 29 - 65: 20(fvec2) Load 64 - 66: 34(ptr) AccessChain 28 33 - 67: 23(ivec2) Load 66 - 68: 54(ivec4) ImageGather 63 65 37 Offset 67 - Store 56(txval021) 68 - 70: 10 Load 12(g_tTex2df4) - 71: 14 Load 16(g_sSamp) - 72: 18 SampledImage 70 71 - 73: 30(ptr) AccessChain 28 29 - 74: 20(fvec2) Load 73 - 75: 34(ptr) AccessChain 28 33 - 76: 23(ivec2) Load 75 - 77: 34(ptr) AccessChain 28 33 - 78: 23(ivec2) Load 77 - 79: 34(ptr) AccessChain 28 33 - 80: 23(ivec2) Load 79 - 81: 34(ptr) AccessChain 28 33 - 82: 23(ivec2) Load 81 - 85: 84 CompositeConstruct 76 78 80 82 - 86: 7(fvec4) ImageGather 72 74 37 ConstOffsets 85 - Store 69(txval004) 86 - 88: 41 Load 43(g_tTex2di4) - 89: 14 Load 16(g_sSamp) - 90: 46 SampledImage 88 89 - 91: 30(ptr) AccessChain 28 29 - 92: 20(fvec2) Load 91 - 93: 34(ptr) AccessChain 28 33 - 94: 23(ivec2) Load 93 - 95: 34(ptr) AccessChain 28 33 - 96: 23(ivec2) Load 95 - 97: 34(ptr) AccessChain 28 33 - 98: 23(ivec2) Load 97 - 99: 34(ptr) AccessChain 28 33 - 100: 23(ivec2) Load 99 - 101: 84 CompositeConstruct 94 96 98 100 - 102: 25(ivec4) ImageGather 90 92 37 ConstOffsets 101 - Store 87(txval014) 102 - 104: 57 Load 59(g_tTex2du4) - 105: 14 Load 16(g_sSamp) - 106: 62 SampledImage 104 105 - 107: 30(ptr) AccessChain 28 29 - 108: 20(fvec2) Load 107 - 109: 34(ptr) AccessChain 28 33 - 110: 23(ivec2) Load 109 - 111: 34(ptr) AccessChain 28 33 - 112: 23(ivec2) Load 111 - 113: 34(ptr) AccessChain 28 33 - 114: 23(ivec2) Load 113 - 115: 34(ptr) AccessChain 28 33 - 116: 23(ivec2) Load 115 - 117: 84 CompositeConstruct 110 112 114 116 - 118: 54(ivec4) ImageGather 106 108 37 ConstOffsets 117 - Store 103(txval024) 118 - 120: 10 Load 12(g_tTex2df4) - 121: 14 Load 16(g_sSamp) - 122: 18 SampledImage 120 121 - 123: 30(ptr) AccessChain 28 29 - 124: 20(fvec2) Load 123 - 125: 34(ptr) AccessChain 28 33 - 126: 23(ivec2) Load 125 - 127: 7(fvec4) ImageGather 122 124 29 Offset 126 - Store 119(txval101) 127 - 129: 41 Load 43(g_tTex2di4) - 130: 14 Load 16(g_sSamp) - 131: 46 SampledImage 129 130 - 132: 30(ptr) AccessChain 28 29 - 133: 20(fvec2) Load 132 - 134: 34(ptr) AccessChain 28 33 - 135: 23(ivec2) Load 134 - 136: 25(ivec4) ImageGather 131 133 29 Offset 135 - Store 128(txval111) 136 - 138: 57 Load 59(g_tTex2du4) - 139: 14 Load 16(g_sSamp) - 140: 62 SampledImage 138 139 - 141: 30(ptr) AccessChain 28 29 - 142: 20(fvec2) Load 141 - 143: 34(ptr) AccessChain 28 33 - 144: 23(ivec2) Load 143 - 145: 54(ivec4) ImageGather 140 142 29 Offset 144 - Store 137(txval121) 145 - 147: 10 Load 12(g_tTex2df4) - 148: 14 Load 16(g_sSamp) - 149: 18 SampledImage 147 148 - 150: 30(ptr) AccessChain 28 29 - 151: 20(fvec2) Load 150 - 152: 34(ptr) AccessChain 28 33 - 153: 23(ivec2) Load 152 - 154: 34(ptr) AccessChain 28 33 - 155: 23(ivec2) Load 154 - 156: 34(ptr) AccessChain 28 33 - 157: 23(ivec2) Load 156 - 158: 34(ptr) AccessChain 28 33 - 159: 23(ivec2) Load 158 - 160: 84 CompositeConstruct 153 155 157 159 - 161: 7(fvec4) ImageGather 149 151 29 ConstOffsets 160 - Store 146(txval104) 161 - 163: 41 Load 43(g_tTex2di4) - 164: 14 Load 16(g_sSamp) - 165: 46 SampledImage 163 164 - 166: 30(ptr) AccessChain 28 29 - 167: 20(fvec2) Load 166 - 168: 34(ptr) AccessChain 28 33 - 169: 23(ivec2) Load 168 - 170: 34(ptr) AccessChain 28 33 - 171: 23(ivec2) Load 170 - 172: 34(ptr) AccessChain 28 33 - 173: 23(ivec2) Load 172 - 174: 34(ptr) AccessChain 28 33 - 175: 23(ivec2) Load 174 - 176: 84 CompositeConstruct 169 171 173 175 - 177: 25(ivec4) ImageGather 165 167 29 ConstOffsets 176 - Store 162(txval114) 177 - 179: 57 Load 59(g_tTex2du4) - 180: 14 Load 16(g_sSamp) - 181: 62 SampledImage 179 180 - 182: 30(ptr) AccessChain 28 29 - 183: 20(fvec2) Load 182 - 184: 34(ptr) AccessChain 28 33 - 185: 23(ivec2) Load 184 - 186: 34(ptr) AccessChain 28 33 - 187: 23(ivec2) Load 186 - 188: 34(ptr) AccessChain 28 33 - 189: 23(ivec2) Load 188 - 190: 34(ptr) AccessChain 28 33 - 191: 23(ivec2) Load 190 - 192: 84 CompositeConstruct 185 187 189 191 - 193: 54(ivec4) ImageGather 181 183 29 ConstOffsets 192 - Store 178(txval124) 193 - 195: 10 Load 12(g_tTex2df4) - 196: 14 Load 16(g_sSamp) - 197: 18 SampledImage 195 196 - 198: 30(ptr) AccessChain 28 29 - 199: 20(fvec2) Load 198 - 200: 34(ptr) AccessChain 28 33 - 201: 23(ivec2) Load 200 - 203: 7(fvec4) ImageGather 197 199 202 Offset 201 - Store 194(txval201) 203 - 205: 41 Load 43(g_tTex2di4) - 206: 14 Load 16(g_sSamp) - 207: 46 SampledImage 205 206 - 208: 30(ptr) AccessChain 28 29 - 209: 20(fvec2) Load 208 - 210: 34(ptr) AccessChain 28 33 - 211: 23(ivec2) Load 210 - 212: 25(ivec4) ImageGather 207 209 202 Offset 211 - Store 204(txval211) 212 - 214: 57 Load 59(g_tTex2du4) - 215: 14 Load 16(g_sSamp) - 216: 62 SampledImage 214 215 - 217: 30(ptr) AccessChain 28 29 - 218: 20(fvec2) Load 217 - 219: 34(ptr) AccessChain 28 33 - 220: 23(ivec2) Load 219 - 221: 54(ivec4) ImageGather 216 218 202 Offset 220 - Store 213(txval221) 221 - 223: 10 Load 12(g_tTex2df4) - 224: 14 Load 16(g_sSamp) - 225: 18 SampledImage 223 224 - 226: 30(ptr) AccessChain 28 29 - 227: 20(fvec2) Load 226 - 228: 34(ptr) AccessChain 28 33 - 229: 23(ivec2) Load 228 - 230: 34(ptr) AccessChain 28 33 - 231: 23(ivec2) Load 230 - 232: 34(ptr) AccessChain 28 33 - 233: 23(ivec2) Load 232 - 234: 34(ptr) AccessChain 28 33 - 235: 23(ivec2) Load 234 - 236: 84 CompositeConstruct 229 231 233 235 - 237: 7(fvec4) ImageGather 225 227 202 ConstOffsets 236 - Store 222(txval204) 237 - 239: 41 Load 43(g_tTex2di4) - 240: 14 Load 16(g_sSamp) - 241: 46 SampledImage 239 240 - 242: 30(ptr) AccessChain 28 29 - 243: 20(fvec2) Load 242 - 244: 34(ptr) AccessChain 28 33 - 245: 23(ivec2) Load 244 - 246: 34(ptr) AccessChain 28 33 - 247: 23(ivec2) Load 246 - 248: 34(ptr) AccessChain 28 33 - 249: 23(ivec2) Load 248 - 250: 34(ptr) AccessChain 28 33 - 251: 23(ivec2) Load 250 - 252: 84 CompositeConstruct 245 247 249 251 - 253: 25(ivec4) ImageGather 241 243 202 ConstOffsets 252 - Store 238(txval214) 253 - 255: 57 Load 59(g_tTex2du4) - 256: 14 Load 16(g_sSamp) - 257: 62 SampledImage 255 256 - 258: 30(ptr) AccessChain 28 29 - 259: 20(fvec2) Load 258 - 260: 34(ptr) AccessChain 28 33 - 261: 23(ivec2) Load 260 - 262: 34(ptr) AccessChain 28 33 - 263: 23(ivec2) Load 262 - 264: 34(ptr) AccessChain 28 33 - 265: 23(ivec2) Load 264 - 266: 34(ptr) AccessChain 28 33 - 267: 23(ivec2) Load 266 - 268: 84 CompositeConstruct 261 263 265 267 - 269: 54(ivec4) ImageGather 257 259 202 ConstOffsets 268 - Store 254(txval224) 269 - 271: 10 Load 12(g_tTex2df4) - 272: 14 Load 16(g_sSamp) - 273: 18 SampledImage 271 272 - 274: 30(ptr) AccessChain 28 29 - 275: 20(fvec2) Load 274 - 276: 34(ptr) AccessChain 28 33 - 277: 23(ivec2) Load 276 - 279: 7(fvec4) ImageGather 273 275 278 Offset 277 - Store 270(txval301) 279 - 281: 41 Load 43(g_tTex2di4) - 282: 14 Load 16(g_sSamp) - 283: 46 SampledImage 281 282 - 284: 30(ptr) AccessChain 28 29 - 285: 20(fvec2) Load 284 - 286: 34(ptr) AccessChain 28 33 - 287: 23(ivec2) Load 286 - 288: 25(ivec4) ImageGather 283 285 278 Offset 287 - Store 280(txval311) 288 - 290: 57 Load 59(g_tTex2du4) - 291: 14 Load 16(g_sSamp) - 292: 62 SampledImage 290 291 - 293: 30(ptr) AccessChain 28 29 - 294: 20(fvec2) Load 293 - 295: 34(ptr) AccessChain 28 33 - 296: 23(ivec2) Load 295 - 297: 54(ivec4) ImageGather 292 294 278 Offset 296 - Store 289(txval321) 297 - 299: 10 Load 12(g_tTex2df4) - 300: 14 Load 16(g_sSamp) - 301: 18 SampledImage 299 300 - 302: 30(ptr) AccessChain 28 29 - 303: 20(fvec2) Load 302 - 304: 34(ptr) AccessChain 28 33 - 305: 23(ivec2) Load 304 - 306: 34(ptr) AccessChain 28 33 - 307: 23(ivec2) Load 306 - 308: 34(ptr) AccessChain 28 33 - 309: 23(ivec2) Load 308 - 310: 34(ptr) AccessChain 28 33 - 311: 23(ivec2) Load 310 - 312: 84 CompositeConstruct 305 307 309 311 - 313: 7(fvec4) ImageGather 301 303 278 ConstOffsets 312 - Store 298(txval304) 313 - 315: 41 Load 43(g_tTex2di4) - 316: 14 Load 16(g_sSamp) - 317: 46 SampledImage 315 316 - 318: 30(ptr) AccessChain 28 29 - 319: 20(fvec2) Load 318 - 320: 34(ptr) AccessChain 28 33 - 321: 23(ivec2) Load 320 - 322: 34(ptr) AccessChain 28 33 - 323: 23(ivec2) Load 322 - 324: 34(ptr) AccessChain 28 33 - 325: 23(ivec2) Load 324 - 326: 34(ptr) AccessChain 28 33 - 327: 23(ivec2) Load 326 - 328: 84 CompositeConstruct 321 323 325 327 - 329: 25(ivec4) ImageGather 317 319 278 ConstOffsets 328 - Store 314(txval314) 329 - 331: 57 Load 59(g_tTex2du4) - 332: 14 Load 16(g_sSamp) - 333: 62 SampledImage 331 332 - 334: 30(ptr) AccessChain 28 29 - 335: 20(fvec2) Load 334 - 336: 34(ptr) AccessChain 28 33 - 337: 23(ivec2) Load 336 - 338: 34(ptr) AccessChain 28 33 - 339: 23(ivec2) Load 338 - 340: 34(ptr) AccessChain 28 33 - 341: 23(ivec2) Load 340 - 342: 34(ptr) AccessChain 28 33 - 343: 23(ivec2) Load 342 - 344: 84 CompositeConstruct 337 339 341 343 - 345: 54(ivec4) ImageGather 333 335 278 ConstOffsets 344 - Store 330(txval324) 345 - 351: 8(ptr) AccessChain 348(psout) 37 - Store 351 350 - 353: 352(ptr) AccessChain 348(psout) 29 - Store 353 349 - 356: 8(ptr) AccessChain 348(psout) 37 - 357: 7(fvec4) Load 356 - Store 355(Color) 357 - 360: 352(ptr) AccessChain 348(psout) 29 - 361: 6(float) Load 360 - Store 359(Depth) 361 +360(flattenTemp): 350(ptr) Variable Function + 361:8(PS_OUTPUT) FunctionCall 10(@main() + Store 360(flattenTemp) 361 + 364: 12(ptr) AccessChain 360(flattenTemp) 41 + 365: 7(fvec4) Load 364 + Store 363(Color) 365 + 368: 355(ptr) AccessChain 360(flattenTemp) 33 + 369: 6(float) Load 368 + Store 367(Depth) 369 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval001): 12(ptr) Variable Function + 44(txval011): 43(ptr) Variable Function + 60(txval021): 59(ptr) Variable Function + 73(txval004): 12(ptr) Variable Function + 91(txval014): 43(ptr) Variable Function + 107(txval024): 59(ptr) Variable Function + 123(txval101): 12(ptr) Variable Function + 132(txval111): 43(ptr) Variable Function + 141(txval121): 59(ptr) Variable Function + 150(txval104): 12(ptr) Variable Function + 166(txval114): 43(ptr) Variable Function + 182(txval124): 59(ptr) Variable Function + 198(txval201): 12(ptr) Variable Function + 208(txval211): 43(ptr) Variable Function + 217(txval221): 59(ptr) Variable Function + 226(txval204): 12(ptr) Variable Function + 242(txval214): 43(ptr) Variable Function + 258(txval224): 59(ptr) Variable Function + 274(txval301): 12(ptr) Variable Function + 284(txval311): 43(ptr) Variable Function + 293(txval321): 59(ptr) Variable Function + 302(txval304): 12(ptr) Variable Function + 318(txval314): 43(ptr) Variable Function + 334(txval324): 59(ptr) Variable Function + 351(psout): 350(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 35: 34(ptr) AccessChain 32 33 + 36: 24(fvec2) Load 35 + 39: 38(ptr) AccessChain 32 37 + 40: 27(ivec2) Load 39 + 42: 7(fvec4) ImageGather 23 36 41 Offset 40 + Store 13(txval001) 42 + 48: 45 Load 47(g_tTex2di4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 34(ptr) AccessChain 32 33 + 53: 24(fvec2) Load 52 + 54: 38(ptr) AccessChain 32 37 + 55: 27(ivec2) Load 54 + 56: 29(ivec4) ImageGather 51 53 41 Offset 55 + Store 44(txval011) 56 + 64: 61 Load 63(g_tTex2du4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 68: 34(ptr) AccessChain 32 33 + 69: 24(fvec2) Load 68 + 70: 38(ptr) AccessChain 32 37 + 71: 27(ivec2) Load 70 + 72: 58(ivec4) ImageGather 67 69 41 Offset 71 + Store 60(txval021) 72 + 74: 14 Load 16(g_tTex2df4) + 75: 18 Load 20(g_sSamp) + 76: 22 SampledImage 74 75 + 77: 34(ptr) AccessChain 32 33 + 78: 24(fvec2) Load 77 + 79: 38(ptr) AccessChain 32 37 + 80: 27(ivec2) Load 79 + 81: 38(ptr) AccessChain 32 37 + 82: 27(ivec2) Load 81 + 83: 38(ptr) AccessChain 32 37 + 84: 27(ivec2) Load 83 + 85: 38(ptr) AccessChain 32 37 + 86: 27(ivec2) Load 85 + 89: 88 CompositeConstruct 80 82 84 86 + 90: 7(fvec4) ImageGather 76 78 41 ConstOffsets 89 + Store 73(txval004) 90 + 92: 45 Load 47(g_tTex2di4) + 93: 18 Load 20(g_sSamp) + 94: 50 SampledImage 92 93 + 95: 34(ptr) AccessChain 32 33 + 96: 24(fvec2) Load 95 + 97: 38(ptr) AccessChain 32 37 + 98: 27(ivec2) Load 97 + 99: 38(ptr) AccessChain 32 37 + 100: 27(ivec2) Load 99 + 101: 38(ptr) AccessChain 32 37 + 102: 27(ivec2) Load 101 + 103: 38(ptr) AccessChain 32 37 + 104: 27(ivec2) Load 103 + 105: 88 CompositeConstruct 98 100 102 104 + 106: 29(ivec4) ImageGather 94 96 41 ConstOffsets 105 + Store 91(txval014) 106 + 108: 61 Load 63(g_tTex2du4) + 109: 18 Load 20(g_sSamp) + 110: 66 SampledImage 108 109 + 111: 34(ptr) AccessChain 32 33 + 112: 24(fvec2) Load 111 + 113: 38(ptr) AccessChain 32 37 + 114: 27(ivec2) Load 113 + 115: 38(ptr) AccessChain 32 37 + 116: 27(ivec2) Load 115 + 117: 38(ptr) AccessChain 32 37 + 118: 27(ivec2) Load 117 + 119: 38(ptr) AccessChain 32 37 + 120: 27(ivec2) Load 119 + 121: 88 CompositeConstruct 114 116 118 120 + 122: 58(ivec4) ImageGather 110 112 41 ConstOffsets 121 + Store 107(txval024) 122 + 124: 14 Load 16(g_tTex2df4) + 125: 18 Load 20(g_sSamp) + 126: 22 SampledImage 124 125 + 127: 34(ptr) AccessChain 32 33 + 128: 24(fvec2) Load 127 + 129: 38(ptr) AccessChain 32 37 + 130: 27(ivec2) Load 129 + 131: 7(fvec4) ImageGather 126 128 33 Offset 130 + Store 123(txval101) 131 + 133: 45 Load 47(g_tTex2di4) + 134: 18 Load 20(g_sSamp) + 135: 50 SampledImage 133 134 + 136: 34(ptr) AccessChain 32 33 + 137: 24(fvec2) Load 136 + 138: 38(ptr) AccessChain 32 37 + 139: 27(ivec2) Load 138 + 140: 29(ivec4) ImageGather 135 137 33 Offset 139 + Store 132(txval111) 140 + 142: 61 Load 63(g_tTex2du4) + 143: 18 Load 20(g_sSamp) + 144: 66 SampledImage 142 143 + 145: 34(ptr) AccessChain 32 33 + 146: 24(fvec2) Load 145 + 147: 38(ptr) AccessChain 32 37 + 148: 27(ivec2) Load 147 + 149: 58(ivec4) ImageGather 144 146 33 Offset 148 + Store 141(txval121) 149 + 151: 14 Load 16(g_tTex2df4) + 152: 18 Load 20(g_sSamp) + 153: 22 SampledImage 151 152 + 154: 34(ptr) AccessChain 32 33 + 155: 24(fvec2) Load 154 + 156: 38(ptr) AccessChain 32 37 + 157: 27(ivec2) Load 156 + 158: 38(ptr) AccessChain 32 37 + 159: 27(ivec2) Load 158 + 160: 38(ptr) AccessChain 32 37 + 161: 27(ivec2) Load 160 + 162: 38(ptr) AccessChain 32 37 + 163: 27(ivec2) Load 162 + 164: 88 CompositeConstruct 157 159 161 163 + 165: 7(fvec4) ImageGather 153 155 33 ConstOffsets 164 + Store 150(txval104) 165 + 167: 45 Load 47(g_tTex2di4) + 168: 18 Load 20(g_sSamp) + 169: 50 SampledImage 167 168 + 170: 34(ptr) AccessChain 32 33 + 171: 24(fvec2) Load 170 + 172: 38(ptr) AccessChain 32 37 + 173: 27(ivec2) Load 172 + 174: 38(ptr) AccessChain 32 37 + 175: 27(ivec2) Load 174 + 176: 38(ptr) AccessChain 32 37 + 177: 27(ivec2) Load 176 + 178: 38(ptr) AccessChain 32 37 + 179: 27(ivec2) Load 178 + 180: 88 CompositeConstruct 173 175 177 179 + 181: 29(ivec4) ImageGather 169 171 33 ConstOffsets 180 + Store 166(txval114) 181 + 183: 61 Load 63(g_tTex2du4) + 184: 18 Load 20(g_sSamp) + 185: 66 SampledImage 183 184 + 186: 34(ptr) AccessChain 32 33 + 187: 24(fvec2) Load 186 + 188: 38(ptr) AccessChain 32 37 + 189: 27(ivec2) Load 188 + 190: 38(ptr) AccessChain 32 37 + 191: 27(ivec2) Load 190 + 192: 38(ptr) AccessChain 32 37 + 193: 27(ivec2) Load 192 + 194: 38(ptr) AccessChain 32 37 + 195: 27(ivec2) Load 194 + 196: 88 CompositeConstruct 189 191 193 195 + 197: 58(ivec4) ImageGather 185 187 33 ConstOffsets 196 + Store 182(txval124) 197 + 199: 14 Load 16(g_tTex2df4) + 200: 18 Load 20(g_sSamp) + 201: 22 SampledImage 199 200 + 202: 34(ptr) AccessChain 32 33 + 203: 24(fvec2) Load 202 + 204: 38(ptr) AccessChain 32 37 + 205: 27(ivec2) Load 204 + 207: 7(fvec4) ImageGather 201 203 206 Offset 205 + Store 198(txval201) 207 + 209: 45 Load 47(g_tTex2di4) + 210: 18 Load 20(g_sSamp) + 211: 50 SampledImage 209 210 + 212: 34(ptr) AccessChain 32 33 + 213: 24(fvec2) Load 212 + 214: 38(ptr) AccessChain 32 37 + 215: 27(ivec2) Load 214 + 216: 29(ivec4) ImageGather 211 213 206 Offset 215 + Store 208(txval211) 216 + 218: 61 Load 63(g_tTex2du4) + 219: 18 Load 20(g_sSamp) + 220: 66 SampledImage 218 219 + 221: 34(ptr) AccessChain 32 33 + 222: 24(fvec2) Load 221 + 223: 38(ptr) AccessChain 32 37 + 224: 27(ivec2) Load 223 + 225: 58(ivec4) ImageGather 220 222 206 Offset 224 + Store 217(txval221) 225 + 227: 14 Load 16(g_tTex2df4) + 228: 18 Load 20(g_sSamp) + 229: 22 SampledImage 227 228 + 230: 34(ptr) AccessChain 32 33 + 231: 24(fvec2) Load 230 + 232: 38(ptr) AccessChain 32 37 + 233: 27(ivec2) Load 232 + 234: 38(ptr) AccessChain 32 37 + 235: 27(ivec2) Load 234 + 236: 38(ptr) AccessChain 32 37 + 237: 27(ivec2) Load 236 + 238: 38(ptr) AccessChain 32 37 + 239: 27(ivec2) Load 238 + 240: 88 CompositeConstruct 233 235 237 239 + 241: 7(fvec4) ImageGather 229 231 206 ConstOffsets 240 + Store 226(txval204) 241 + 243: 45 Load 47(g_tTex2di4) + 244: 18 Load 20(g_sSamp) + 245: 50 SampledImage 243 244 + 246: 34(ptr) AccessChain 32 33 + 247: 24(fvec2) Load 246 + 248: 38(ptr) AccessChain 32 37 + 249: 27(ivec2) Load 248 + 250: 38(ptr) AccessChain 32 37 + 251: 27(ivec2) Load 250 + 252: 38(ptr) AccessChain 32 37 + 253: 27(ivec2) Load 252 + 254: 38(ptr) AccessChain 32 37 + 255: 27(ivec2) Load 254 + 256: 88 CompositeConstruct 249 251 253 255 + 257: 29(ivec4) ImageGather 245 247 206 ConstOffsets 256 + Store 242(txval214) 257 + 259: 61 Load 63(g_tTex2du4) + 260: 18 Load 20(g_sSamp) + 261: 66 SampledImage 259 260 + 262: 34(ptr) AccessChain 32 33 + 263: 24(fvec2) Load 262 + 264: 38(ptr) AccessChain 32 37 + 265: 27(ivec2) Load 264 + 266: 38(ptr) AccessChain 32 37 + 267: 27(ivec2) Load 266 + 268: 38(ptr) AccessChain 32 37 + 269: 27(ivec2) Load 268 + 270: 38(ptr) AccessChain 32 37 + 271: 27(ivec2) Load 270 + 272: 88 CompositeConstruct 265 267 269 271 + 273: 58(ivec4) ImageGather 261 263 206 ConstOffsets 272 + Store 258(txval224) 273 + 275: 14 Load 16(g_tTex2df4) + 276: 18 Load 20(g_sSamp) + 277: 22 SampledImage 275 276 + 278: 34(ptr) AccessChain 32 33 + 279: 24(fvec2) Load 278 + 280: 38(ptr) AccessChain 32 37 + 281: 27(ivec2) Load 280 + 283: 7(fvec4) ImageGather 277 279 282 Offset 281 + Store 274(txval301) 283 + 285: 45 Load 47(g_tTex2di4) + 286: 18 Load 20(g_sSamp) + 287: 50 SampledImage 285 286 + 288: 34(ptr) AccessChain 32 33 + 289: 24(fvec2) Load 288 + 290: 38(ptr) AccessChain 32 37 + 291: 27(ivec2) Load 290 + 292: 29(ivec4) ImageGather 287 289 282 Offset 291 + Store 284(txval311) 292 + 294: 61 Load 63(g_tTex2du4) + 295: 18 Load 20(g_sSamp) + 296: 66 SampledImage 294 295 + 297: 34(ptr) AccessChain 32 33 + 298: 24(fvec2) Load 297 + 299: 38(ptr) AccessChain 32 37 + 300: 27(ivec2) Load 299 + 301: 58(ivec4) ImageGather 296 298 282 Offset 300 + Store 293(txval321) 301 + 303: 14 Load 16(g_tTex2df4) + 304: 18 Load 20(g_sSamp) + 305: 22 SampledImage 303 304 + 306: 34(ptr) AccessChain 32 33 + 307: 24(fvec2) Load 306 + 308: 38(ptr) AccessChain 32 37 + 309: 27(ivec2) Load 308 + 310: 38(ptr) AccessChain 32 37 + 311: 27(ivec2) Load 310 + 312: 38(ptr) AccessChain 32 37 + 313: 27(ivec2) Load 312 + 314: 38(ptr) AccessChain 32 37 + 315: 27(ivec2) Load 314 + 316: 88 CompositeConstruct 309 311 313 315 + 317: 7(fvec4) ImageGather 305 307 282 ConstOffsets 316 + Store 302(txval304) 317 + 319: 45 Load 47(g_tTex2di4) + 320: 18 Load 20(g_sSamp) + 321: 50 SampledImage 319 320 + 322: 34(ptr) AccessChain 32 33 + 323: 24(fvec2) Load 322 + 324: 38(ptr) AccessChain 32 37 + 325: 27(ivec2) Load 324 + 326: 38(ptr) AccessChain 32 37 + 327: 27(ivec2) Load 326 + 328: 38(ptr) AccessChain 32 37 + 329: 27(ivec2) Load 328 + 330: 38(ptr) AccessChain 32 37 + 331: 27(ivec2) Load 330 + 332: 88 CompositeConstruct 325 327 329 331 + 333: 29(ivec4) ImageGather 321 323 282 ConstOffsets 332 + Store 318(txval314) 333 + 335: 61 Load 63(g_tTex2du4) + 336: 18 Load 20(g_sSamp) + 337: 66 SampledImage 335 336 + 338: 34(ptr) AccessChain 32 33 + 339: 24(fvec2) Load 338 + 340: 38(ptr) AccessChain 32 37 + 341: 27(ivec2) Load 340 + 342: 38(ptr) AccessChain 32 37 + 343: 27(ivec2) Load 342 + 344: 38(ptr) AccessChain 32 37 + 345: 27(ivec2) Load 344 + 346: 38(ptr) AccessChain 32 37 + 347: 27(ivec2) Load 346 + 348: 88 CompositeConstruct 341 343 345 347 + 349: 58(ivec4) ImageGather 337 339 282 ConstOffsets 348 + Store 334(txval324) 349 + 354: 12(ptr) AccessChain 351(psout) 41 + Store 354 353 + 356: 355(ptr) AccessChain 351(psout) 33 + Store 356 352 + 357:8(PS_OUTPUT) Load 351(psout) + ReturnValue 357 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index 4722cff67d9..86e0a99656b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -2,576 +2,576 @@ hlsl.gatherRGBA.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:33 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Function Parameters: 0:? Sequence 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval001' (temp 4-component vector of float) -0:40 textureGatherOffset (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp sampler2DArray) -0:40 'g_tTex2df4a' (uniform texture2DArray) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:40 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval001' ( temp 4-component vector of float) +0:40 textureGatherOffset ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp sampler2DArray) +0:40 'g_tTex2df4a' ( uniform texture2DArray) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) +0:40 c3: direct index for structure ( uniform 3-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:40 Constant: 0:40 2 (const uint) -0:40 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:40 o2: direct index for structure ( uniform 2-component vector of int) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:40 Constant: 0:40 5 (const uint) 0:40 Constant: 0:40 0 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval011' (temp 4-component vector of int) -0:41 textureGatherOffset (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isampler2DArray) -0:41 'g_tTex2di4a' (uniform itexture2DArray) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval011' ( temp 4-component vector of int) +0:41 textureGatherOffset ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isampler2DArray) +0:41 'g_tTex2di4a' ( uniform itexture2DArray) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c3: direct index for structure ( uniform 3-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:41 Constant: 0:41 2 (const uint) -0:41 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:41 o2: direct index for structure ( uniform 2-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:41 Constant: 0:41 5 (const uint) 0:41 Constant: 0:41 0 (const int) 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval021' (temp 4-component vector of uint) -0:42 textureGatherOffset (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usampler2DArray) -0:42 'g_tTex2du4a' (uniform utexture2DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval021' ( temp 4-component vector of uint) +0:42 textureGatherOffset ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usampler2DArray) +0:42 'g_tTex2du4a' ( uniform utexture2DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 c3: direct index for structure ( uniform 3-component vector of float) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 2 (const uint) -0:42 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 o2: direct index for structure ( uniform 2-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 5 (const uint) 0:42 Constant: 0:42 0 (const int) 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'txval004' (temp 4-component vector of float) -0:44 textureGatherOffsets (temp 4-component vector of float) -0:44 Construct combined texture-sampler (temp sampler2DArray) -0:44 'g_tTex2df4a' (uniform texture2DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'txval004' ( temp 4-component vector of float) +0:44 textureGatherOffsets ( temp 4-component vector of float) +0:44 Construct combined texture-sampler ( temp sampler2DArray) +0:44 'g_tTex2df4a' ( uniform texture2DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 c3: direct index for structure ( uniform 3-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 2 (const uint) -0:44 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) 0:44 Constant: 0:44 0 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of int) -0:45 'txval014' (temp 4-component vector of int) -0:45 textureGatherOffsets (temp 4-component vector of int) -0:45 Construct combined texture-sampler (temp isampler2DArray) -0:45 'g_tTex2di4a' (uniform itexture2DArray) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 move second child to first child ( temp 4-component vector of int) +0:45 'txval014' ( temp 4-component vector of int) +0:45 textureGatherOffsets ( temp 4-component vector of int) +0:45 Construct combined texture-sampler ( temp isampler2DArray) +0:45 'g_tTex2di4a' ( uniform itexture2DArray) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c3: direct index for structure ( uniform 3-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 2 (const uint) -0:45 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) 0:45 Constant: 0:45 0 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of uint) -0:46 'txval024' (temp 4-component vector of uint) -0:46 textureGatherOffsets (temp 4-component vector of uint) -0:46 Construct combined texture-sampler (temp usampler2DArray) -0:46 'g_tTex2du4a' (uniform utexture2DArray) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 move second child to first child ( temp 4-component vector of uint) +0:46 'txval024' ( temp 4-component vector of uint) +0:46 textureGatherOffsets ( temp 4-component vector of uint) +0:46 Construct combined texture-sampler ( temp usampler2DArray) +0:46 'g_tTex2du4a' ( uniform utexture2DArray) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c3: direct index for structure ( uniform 3-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 2 (const uint) -0:46 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) 0:46 Constant: 0:46 0 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:56 'txval101' (temp 4-component vector of float) -0:56 textureGatherOffset (temp 4-component vector of float) -0:56 Construct combined texture-sampler (temp sampler2DArray) -0:56 'g_tTex2df4a' (uniform texture2DArray) -0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'txval101' ( temp 4-component vector of float) +0:56 textureGatherOffset ( temp 4-component vector of float) +0:56 Construct combined texture-sampler ( temp sampler2DArray) +0:56 'g_tTex2df4a' ( uniform texture2DArray) +0:56 'g_sSamp' (layout( binding=0) uniform sampler) +0:56 c3: direct index for structure ( uniform 3-component vector of float) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) -0:56 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 o2: direct index for structure ( uniform 2-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 5 (const uint) 0:56 Constant: 0:56 1 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of int) -0:57 'txval111' (temp 4-component vector of int) -0:57 textureGatherOffset (temp 4-component vector of int) -0:57 Construct combined texture-sampler (temp isampler2DArray) -0:57 'g_tTex2di4a' (uniform itexture2DArray) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 move second child to first child ( temp 4-component vector of int) +0:57 'txval111' ( temp 4-component vector of int) +0:57 textureGatherOffset ( temp 4-component vector of int) +0:57 Construct combined texture-sampler ( temp isampler2DArray) +0:57 'g_tTex2di4a' ( uniform itexture2DArray) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c3: direct index for structure ( uniform 3-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) 0:57 Constant: 0:57 1 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of uint) -0:58 'txval121' (temp 4-component vector of uint) -0:58 textureGatherOffset (temp 4-component vector of uint) -0:58 Construct combined texture-sampler (temp usampler2DArray) -0:58 'g_tTex2du4a' (uniform utexture2DArray) -0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 move second child to first child ( temp 4-component vector of uint) +0:58 'txval121' ( temp 4-component vector of uint) +0:58 textureGatherOffset ( temp 4-component vector of uint) +0:58 Construct combined texture-sampler ( temp usampler2DArray) +0:58 'g_tTex2du4a' ( uniform utexture2DArray) +0:58 'g_sSamp' (layout( binding=0) uniform sampler) +0:58 c3: direct index for structure ( uniform 3-component vector of float) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) 0:58 Constant: 0:58 1 (const int) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:60 'txval104' (temp 4-component vector of float) -0:60 textureGatherOffsets (temp 4-component vector of float) -0:60 Construct combined texture-sampler (temp sampler2DArray) -0:60 'g_tTex2df4a' (uniform texture2DArray) -0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:60 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 move second child to first child ( temp 4-component vector of float) +0:60 'txval104' ( temp 4-component vector of float) +0:60 textureGatherOffsets ( temp 4-component vector of float) +0:60 Construct combined texture-sampler ( temp sampler2DArray) +0:60 'g_tTex2df4a' ( uniform texture2DArray) +0:60 'g_sSamp' (layout( binding=0) uniform sampler) +0:60 c3: direct index for structure ( uniform 3-component vector of float) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 2 (const uint) -0:60 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) 0:60 Constant: 0:60 1 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of int) -0:61 'txval114' (temp 4-component vector of int) -0:61 textureGatherOffsets (temp 4-component vector of int) -0:61 Construct combined texture-sampler (temp isampler2DArray) -0:61 'g_tTex2di4a' (uniform itexture2DArray) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 move second child to first child ( temp 4-component vector of int) +0:61 'txval114' ( temp 4-component vector of int) +0:61 textureGatherOffsets ( temp 4-component vector of int) +0:61 Construct combined texture-sampler ( temp isampler2DArray) +0:61 'g_tTex2di4a' ( uniform itexture2DArray) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 2 (const uint) -0:61 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) 0:61 Constant: 0:61 1 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of uint) -0:62 'txval124' (temp 4-component vector of uint) -0:62 textureGatherOffsets (temp 4-component vector of uint) -0:62 Construct combined texture-sampler (temp usampler2DArray) -0:62 'g_tTex2du4a' (uniform utexture2DArray) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of uint) +0:62 'txval124' ( temp 4-component vector of uint) +0:62 textureGatherOffsets ( temp 4-component vector of uint) +0:62 Construct combined texture-sampler ( temp usampler2DArray) +0:62 'g_tTex2du4a' ( uniform utexture2DArray) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c3: direct index for structure ( uniform 3-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 2 (const uint) -0:62 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) 0:62 Constant: 0:62 1 (const int) 0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:72 'txval201' (temp 4-component vector of float) -0:72 textureGatherOffset (temp 4-component vector of float) -0:72 Construct combined texture-sampler (temp sampler2DArray) -0:72 'g_tTex2df4a' (uniform texture2DArray) -0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:72 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 'txval201' ( temp 4-component vector of float) +0:72 textureGatherOffset ( temp 4-component vector of float) +0:72 Construct combined texture-sampler ( temp sampler2DArray) +0:72 'g_tTex2df4a' ( uniform texture2DArray) +0:72 'g_sSamp' (layout( binding=0) uniform sampler) +0:72 c3: direct index for structure ( uniform 3-component vector of float) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:72 Constant: 0:72 2 (const uint) -0:72 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:72 o2: direct index for structure ( uniform 2-component vector of int) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:72 Constant: 0:72 5 (const uint) 0:72 Constant: 0:72 2 (const int) 0:73 Sequence -0:73 move second child to first child (temp 4-component vector of int) -0:73 'txval211' (temp 4-component vector of int) -0:73 textureGatherOffset (temp 4-component vector of int) -0:73 Construct combined texture-sampler (temp isampler2DArray) -0:73 'g_tTex2di4a' (uniform itexture2DArray) -0:73 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:73 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:73 move second child to first child ( temp 4-component vector of int) +0:73 'txval211' ( temp 4-component vector of int) +0:73 textureGatherOffset ( temp 4-component vector of int) +0:73 Construct combined texture-sampler ( temp isampler2DArray) +0:73 'g_tTex2di4a' ( uniform itexture2DArray) +0:73 'g_sSamp' (layout( binding=0) uniform sampler) +0:73 c3: direct index for structure ( uniform 3-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:73 Constant: 0:73 2 (const uint) -0:73 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:73 o2: direct index for structure ( uniform 2-component vector of int) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:73 Constant: 0:73 5 (const uint) 0:73 Constant: 0:73 2 (const int) 0:74 Sequence -0:74 move second child to first child (temp 4-component vector of uint) -0:74 'txval221' (temp 4-component vector of uint) -0:74 textureGatherOffset (temp 4-component vector of uint) -0:74 Construct combined texture-sampler (temp usampler2DArray) -0:74 'g_tTex2du4a' (uniform utexture2DArray) -0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:74 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:74 move second child to first child ( temp 4-component vector of uint) +0:74 'txval221' ( temp 4-component vector of uint) +0:74 textureGatherOffset ( temp 4-component vector of uint) +0:74 Construct combined texture-sampler ( temp usampler2DArray) +0:74 'g_tTex2du4a' ( uniform utexture2DArray) +0:74 'g_sSamp' (layout( binding=0) uniform sampler) +0:74 c3: direct index for structure ( uniform 3-component vector of float) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:74 Constant: 0:74 2 (const uint) -0:74 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:74 o2: direct index for structure ( uniform 2-component vector of int) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:74 Constant: 0:74 5 (const uint) 0:74 Constant: 0:74 2 (const int) 0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:76 'txval204' (temp 4-component vector of float) -0:76 textureGatherOffsets (temp 4-component vector of float) -0:76 Construct combined texture-sampler (temp sampler2DArray) -0:76 'g_tTex2df4a' (uniform texture2DArray) -0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:76 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 move second child to first child ( temp 4-component vector of float) +0:76 'txval204' ( temp 4-component vector of float) +0:76 textureGatherOffsets ( temp 4-component vector of float) +0:76 Construct combined texture-sampler ( temp sampler2DArray) +0:76 'g_tTex2df4a' ( uniform texture2DArray) +0:76 'g_sSamp' (layout( binding=0) uniform sampler) +0:76 c3: direct index for structure ( uniform 3-component vector of float) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 2 (const uint) -0:76 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) 0:76 Constant: 0:76 2 (const int) 0:77 Sequence -0:77 move second child to first child (temp 4-component vector of int) -0:77 'txval214' (temp 4-component vector of int) -0:77 textureGatherOffsets (temp 4-component vector of int) -0:77 Construct combined texture-sampler (temp isampler2DArray) -0:77 'g_tTex2di4a' (uniform itexture2DArray) -0:77 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:77 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 move second child to first child ( temp 4-component vector of int) +0:77 'txval214' ( temp 4-component vector of int) +0:77 textureGatherOffsets ( temp 4-component vector of int) +0:77 Construct combined texture-sampler ( temp isampler2DArray) +0:77 'g_tTex2di4a' ( uniform itexture2DArray) +0:77 'g_sSamp' (layout( binding=0) uniform sampler) +0:77 c3: direct index for structure ( uniform 3-component vector of float) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 2 (const uint) -0:77 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) 0:77 Constant: 0:77 2 (const int) 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of uint) -0:78 'txval224' (temp 4-component vector of uint) -0:78 textureGatherOffsets (temp 4-component vector of uint) -0:78 Construct combined texture-sampler (temp usampler2DArray) -0:78 'g_tTex2du4a' (uniform utexture2DArray) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:78 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 move second child to first child ( temp 4-component vector of uint) +0:78 'txval224' ( temp 4-component vector of uint) +0:78 textureGatherOffsets ( temp 4-component vector of uint) +0:78 Construct combined texture-sampler ( temp usampler2DArray) +0:78 'g_tTex2du4a' ( uniform utexture2DArray) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) +0:78 c3: direct index for structure ( uniform 3-component vector of float) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 2 (const uint) -0:78 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) 0:78 Constant: 0:78 2 (const int) 0:88 Sequence -0:88 move second child to first child (temp 4-component vector of float) -0:88 'txval301' (temp 4-component vector of float) -0:88 textureGatherOffset (temp 4-component vector of float) -0:88 Construct combined texture-sampler (temp sampler2DArray) -0:88 'g_tTex2df4a' (uniform texture2DArray) -0:88 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:88 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:88 move second child to first child ( temp 4-component vector of float) +0:88 'txval301' ( temp 4-component vector of float) +0:88 textureGatherOffset ( temp 4-component vector of float) +0:88 Construct combined texture-sampler ( temp sampler2DArray) +0:88 'g_tTex2df4a' ( uniform texture2DArray) +0:88 'g_sSamp' (layout( binding=0) uniform sampler) +0:88 c3: direct index for structure ( uniform 3-component vector of float) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:88 Constant: 0:88 2 (const uint) -0:88 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:88 o2: direct index for structure ( uniform 2-component vector of int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:88 Constant: 0:88 5 (const uint) 0:88 Constant: 0:88 3 (const int) 0:89 Sequence -0:89 move second child to first child (temp 4-component vector of int) -0:89 'txval311' (temp 4-component vector of int) -0:89 textureGatherOffset (temp 4-component vector of int) -0:89 Construct combined texture-sampler (temp isampler2DArray) -0:89 'g_tTex2di4a' (uniform itexture2DArray) -0:89 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:89 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:89 move second child to first child ( temp 4-component vector of int) +0:89 'txval311' ( temp 4-component vector of int) +0:89 textureGatherOffset ( temp 4-component vector of int) +0:89 Construct combined texture-sampler ( temp isampler2DArray) +0:89 'g_tTex2di4a' ( uniform itexture2DArray) +0:89 'g_sSamp' (layout( binding=0) uniform sampler) +0:89 c3: direct index for structure ( uniform 3-component vector of float) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:89 Constant: 0:89 2 (const uint) -0:89 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:89 o2: direct index for structure ( uniform 2-component vector of int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:89 Constant: 0:89 5 (const uint) 0:89 Constant: 0:89 3 (const int) 0:90 Sequence -0:90 move second child to first child (temp 4-component vector of uint) -0:90 'txval321' (temp 4-component vector of uint) -0:90 textureGatherOffset (temp 4-component vector of uint) -0:90 Construct combined texture-sampler (temp usampler2DArray) -0:90 'g_tTex2du4a' (uniform utexture2DArray) -0:90 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:90 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:90 move second child to first child ( temp 4-component vector of uint) +0:90 'txval321' ( temp 4-component vector of uint) +0:90 textureGatherOffset ( temp 4-component vector of uint) +0:90 Construct combined texture-sampler ( temp usampler2DArray) +0:90 'g_tTex2du4a' ( uniform utexture2DArray) +0:90 'g_sSamp' (layout( binding=0) uniform sampler) +0:90 c3: direct index for structure ( uniform 3-component vector of float) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:90 Constant: 0:90 2 (const uint) -0:90 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:90 o2: direct index for structure ( uniform 2-component vector of int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:90 Constant: 0:90 5 (const uint) 0:90 Constant: 0:90 3 (const int) 0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:92 'txval304' (temp 4-component vector of float) -0:92 textureGatherOffsets (temp 4-component vector of float) -0:92 Construct combined texture-sampler (temp sampler2DArray) -0:92 'g_tTex2df4a' (uniform texture2DArray) -0:92 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:92 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 move second child to first child ( temp 4-component vector of float) +0:92 'txval304' ( temp 4-component vector of float) +0:92 textureGatherOffsets ( temp 4-component vector of float) +0:92 Construct combined texture-sampler ( temp sampler2DArray) +0:92 'g_tTex2df4a' ( uniform texture2DArray) +0:92 'g_sSamp' (layout( binding=0) uniform sampler) +0:92 c3: direct index for structure ( uniform 3-component vector of float) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 2 (const uint) -0:92 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) 0:92 Constant: 0:92 3 (const int) 0:93 Sequence -0:93 move second child to first child (temp 4-component vector of int) -0:93 'txval314' (temp 4-component vector of int) -0:93 textureGatherOffsets (temp 4-component vector of int) -0:93 Construct combined texture-sampler (temp isampler2DArray) -0:93 'g_tTex2di4a' (uniform itexture2DArray) -0:93 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:93 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 move second child to first child ( temp 4-component vector of int) +0:93 'txval314' ( temp 4-component vector of int) +0:93 textureGatherOffsets ( temp 4-component vector of int) +0:93 Construct combined texture-sampler ( temp isampler2DArray) +0:93 'g_tTex2di4a' ( uniform itexture2DArray) +0:93 'g_sSamp' (layout( binding=0) uniform sampler) +0:93 c3: direct index for structure ( uniform 3-component vector of float) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 2 (const uint) -0:93 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) 0:93 Constant: 0:93 3 (const int) 0:94 Sequence -0:94 move second child to first child (temp 4-component vector of uint) -0:94 'txval324' (temp 4-component vector of uint) -0:94 textureGatherOffsets (temp 4-component vector of uint) -0:94 Construct combined texture-sampler (temp usampler2DArray) -0:94 'g_tTex2du4a' (uniform utexture2DArray) -0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:94 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 move second child to first child ( temp 4-component vector of uint) +0:94 'txval324' ( temp 4-component vector of uint) +0:94 textureGatherOffsets ( temp 4-component vector of uint) +0:94 Construct combined texture-sampler ( temp usampler2DArray) +0:94 'g_tTex2du4a' ( uniform utexture2DArray) +0:94 'g_sSamp' (layout( binding=0) uniform sampler) +0:94 c3: direct index for structure ( uniform 3-component vector of float) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 2 (const uint) -0:94 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) 0:94 Constant: 0:94 3 (const int) -0:106 move second child to first child (temp 4-component vector of float) -0:106 Color: direct index for structure (temp 4-component vector of float) -0:106 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:106 move second child to first child ( temp 4-component vector of float) +0:106 Color: direct index for structure ( temp 4-component vector of float) +0:106 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:106 Constant: 0:106 0 (const int) 0:106 Constant: @@ -579,43 +579,49 @@ gl_FragCoord origin is upper left 0:106 1.000000 0:106 1.000000 0:106 1.000000 -0:107 move second child to first child (temp float) -0:107 Depth: direct index for structure (temp float) -0:107 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:107 move second child to first child ( temp float) +0:107 Depth: direct index for structure ( temp float) +0:107 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:107 Constant: 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 Sequence -0:109 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:109 Color: direct index for structure (temp 4-component vector of float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 0 (const int) -0:109 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:109 Depth: direct index for structure (temp float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 1 (const int) -0:109 Branch: Return +0:109 Branch: Return with expression +0:109 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: main( ( temp void) +0:33 Function Parameters: +0:? Sequence +0:33 Sequence +0:33 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:33 Depth: direct index for structure ( temp float) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -624,576 +630,576 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:33 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Function Parameters: 0:? Sequence 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval001' (temp 4-component vector of float) -0:40 textureGatherOffset (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp sampler2DArray) -0:40 'g_tTex2df4a' (uniform texture2DArray) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:40 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval001' ( temp 4-component vector of float) +0:40 textureGatherOffset ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp sampler2DArray) +0:40 'g_tTex2df4a' ( uniform texture2DArray) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) +0:40 c3: direct index for structure ( uniform 3-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:40 Constant: 0:40 2 (const uint) -0:40 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:40 o2: direct index for structure ( uniform 2-component vector of int) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:40 Constant: 0:40 5 (const uint) 0:40 Constant: 0:40 0 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval011' (temp 4-component vector of int) -0:41 textureGatherOffset (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isampler2DArray) -0:41 'g_tTex2di4a' (uniform itexture2DArray) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:41 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval011' ( temp 4-component vector of int) +0:41 textureGatherOffset ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isampler2DArray) +0:41 'g_tTex2di4a' ( uniform itexture2DArray) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) +0:41 c3: direct index for structure ( uniform 3-component vector of float) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:41 Constant: 0:41 2 (const uint) -0:41 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:41 o2: direct index for structure ( uniform 2-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:41 Constant: 0:41 5 (const uint) 0:41 Constant: 0:41 0 (const int) 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval021' (temp 4-component vector of uint) -0:42 textureGatherOffset (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usampler2DArray) -0:42 'g_tTex2du4a' (uniform utexture2DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval021' ( temp 4-component vector of uint) +0:42 textureGatherOffset ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usampler2DArray) +0:42 'g_tTex2du4a' ( uniform utexture2DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 c3: direct index for structure ( uniform 3-component vector of float) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 2 (const uint) -0:42 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 o2: direct index for structure ( uniform 2-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 5 (const uint) 0:42 Constant: 0:42 0 (const int) 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'txval004' (temp 4-component vector of float) -0:44 textureGatherOffsets (temp 4-component vector of float) -0:44 Construct combined texture-sampler (temp sampler2DArray) -0:44 'g_tTex2df4a' (uniform texture2DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'txval004' ( temp 4-component vector of float) +0:44 textureGatherOffsets ( temp 4-component vector of float) +0:44 Construct combined texture-sampler ( temp sampler2DArray) +0:44 'g_tTex2df4a' ( uniform texture2DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 c3: direct index for structure ( uniform 3-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 2 (const uint) -0:44 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) -0:44 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 o2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 5 (const uint) 0:44 Constant: 0:44 0 (const int) 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of int) -0:45 'txval014' (temp 4-component vector of int) -0:45 textureGatherOffsets (temp 4-component vector of int) -0:45 Construct combined texture-sampler (temp isampler2DArray) -0:45 'g_tTex2di4a' (uniform itexture2DArray) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:45 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 move second child to first child ( temp 4-component vector of int) +0:45 'txval014' ( temp 4-component vector of int) +0:45 textureGatherOffsets ( temp 4-component vector of int) +0:45 Construct combined texture-sampler ( temp isampler2DArray) +0:45 'g_tTex2di4a' ( uniform itexture2DArray) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) +0:45 c3: direct index for structure ( uniform 3-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 2 (const uint) -0:45 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) -0:45 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 o2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 5 (const uint) 0:45 Constant: 0:45 0 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of uint) -0:46 'txval024' (temp 4-component vector of uint) -0:46 textureGatherOffsets (temp 4-component vector of uint) -0:46 Construct combined texture-sampler (temp usampler2DArray) -0:46 'g_tTex2du4a' (uniform utexture2DArray) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:46 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 move second child to first child ( temp 4-component vector of uint) +0:46 'txval024' ( temp 4-component vector of uint) +0:46 textureGatherOffsets ( temp 4-component vector of uint) +0:46 Construct combined texture-sampler ( temp usampler2DArray) +0:46 'g_tTex2du4a' ( uniform utexture2DArray) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) +0:46 c3: direct index for structure ( uniform 3-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 2 (const uint) -0:46 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) -0:46 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 o2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 5 (const uint) 0:46 Constant: 0:46 0 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:56 'txval101' (temp 4-component vector of float) -0:56 textureGatherOffset (temp 4-component vector of float) -0:56 Construct combined texture-sampler (temp sampler2DArray) -0:56 'g_tTex2df4a' (uniform texture2DArray) -0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'txval101' ( temp 4-component vector of float) +0:56 textureGatherOffset ( temp 4-component vector of float) +0:56 Construct combined texture-sampler ( temp sampler2DArray) +0:56 'g_tTex2df4a' ( uniform texture2DArray) +0:56 'g_sSamp' (layout( binding=0) uniform sampler) +0:56 c3: direct index for structure ( uniform 3-component vector of float) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) -0:56 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 o2: direct index for structure ( uniform 2-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 5 (const uint) 0:56 Constant: 0:56 1 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of int) -0:57 'txval111' (temp 4-component vector of int) -0:57 textureGatherOffset (temp 4-component vector of int) -0:57 Construct combined texture-sampler (temp isampler2DArray) -0:57 'g_tTex2di4a' (uniform itexture2DArray) -0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 move second child to first child ( temp 4-component vector of int) +0:57 'txval111' ( temp 4-component vector of int) +0:57 textureGatherOffset ( temp 4-component vector of int) +0:57 Construct combined texture-sampler ( temp isampler2DArray) +0:57 'g_tTex2di4a' ( uniform itexture2DArray) +0:57 'g_sSamp' (layout( binding=0) uniform sampler) +0:57 c3: direct index for structure ( uniform 3-component vector of float) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) 0:57 Constant: 0:57 1 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of uint) -0:58 'txval121' (temp 4-component vector of uint) -0:58 textureGatherOffset (temp 4-component vector of uint) -0:58 Construct combined texture-sampler (temp usampler2DArray) -0:58 'g_tTex2du4a' (uniform utexture2DArray) -0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 move second child to first child ( temp 4-component vector of uint) +0:58 'txval121' ( temp 4-component vector of uint) +0:58 textureGatherOffset ( temp 4-component vector of uint) +0:58 Construct combined texture-sampler ( temp usampler2DArray) +0:58 'g_tTex2du4a' ( uniform utexture2DArray) +0:58 'g_sSamp' (layout( binding=0) uniform sampler) +0:58 c3: direct index for structure ( uniform 3-component vector of float) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) 0:58 Constant: 0:58 1 (const int) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:60 'txval104' (temp 4-component vector of float) -0:60 textureGatherOffsets (temp 4-component vector of float) -0:60 Construct combined texture-sampler (temp sampler2DArray) -0:60 'g_tTex2df4a' (uniform texture2DArray) -0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:60 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 move second child to first child ( temp 4-component vector of float) +0:60 'txval104' ( temp 4-component vector of float) +0:60 textureGatherOffsets ( temp 4-component vector of float) +0:60 Construct combined texture-sampler ( temp sampler2DArray) +0:60 'g_tTex2df4a' ( uniform texture2DArray) +0:60 'g_sSamp' (layout( binding=0) uniform sampler) +0:60 c3: direct index for structure ( uniform 3-component vector of float) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 2 (const uint) -0:60 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) -0:60 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:60 o2: direct index for structure ( uniform 2-component vector of int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:60 Constant: 0:60 5 (const uint) 0:60 Constant: 0:60 1 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of int) -0:61 'txval114' (temp 4-component vector of int) -0:61 textureGatherOffsets (temp 4-component vector of int) -0:61 Construct combined texture-sampler (temp isampler2DArray) -0:61 'g_tTex2di4a' (uniform itexture2DArray) -0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 move second child to first child ( temp 4-component vector of int) +0:61 'txval114' ( temp 4-component vector of int) +0:61 textureGatherOffsets ( temp 4-component vector of int) +0:61 Construct combined texture-sampler ( temp isampler2DArray) +0:61 'g_tTex2di4a' ( uniform itexture2DArray) +0:61 'g_sSamp' (layout( binding=0) uniform sampler) +0:61 c3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 2 (const uint) -0:61 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) -0:61 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 o2: direct index for structure ( uniform 2-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 5 (const uint) 0:61 Constant: 0:61 1 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of uint) -0:62 'txval124' (temp 4-component vector of uint) -0:62 textureGatherOffsets (temp 4-component vector of uint) -0:62 Construct combined texture-sampler (temp usampler2DArray) -0:62 'g_tTex2du4a' (uniform utexture2DArray) -0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of uint) +0:62 'txval124' ( temp 4-component vector of uint) +0:62 textureGatherOffsets ( temp 4-component vector of uint) +0:62 Construct combined texture-sampler ( temp usampler2DArray) +0:62 'g_tTex2du4a' ( uniform utexture2DArray) +0:62 'g_sSamp' (layout( binding=0) uniform sampler) +0:62 c3: direct index for structure ( uniform 3-component vector of float) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 2 (const uint) -0:62 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) -0:62 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o2: direct index for structure ( uniform 2-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 5 (const uint) 0:62 Constant: 0:62 1 (const int) 0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:72 'txval201' (temp 4-component vector of float) -0:72 textureGatherOffset (temp 4-component vector of float) -0:72 Construct combined texture-sampler (temp sampler2DArray) -0:72 'g_tTex2df4a' (uniform texture2DArray) -0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:72 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 'txval201' ( temp 4-component vector of float) +0:72 textureGatherOffset ( temp 4-component vector of float) +0:72 Construct combined texture-sampler ( temp sampler2DArray) +0:72 'g_tTex2df4a' ( uniform texture2DArray) +0:72 'g_sSamp' (layout( binding=0) uniform sampler) +0:72 c3: direct index for structure ( uniform 3-component vector of float) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:72 Constant: 0:72 2 (const uint) -0:72 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:72 o2: direct index for structure ( uniform 2-component vector of int) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:72 Constant: 0:72 5 (const uint) 0:72 Constant: 0:72 2 (const int) 0:73 Sequence -0:73 move second child to first child (temp 4-component vector of int) -0:73 'txval211' (temp 4-component vector of int) -0:73 textureGatherOffset (temp 4-component vector of int) -0:73 Construct combined texture-sampler (temp isampler2DArray) -0:73 'g_tTex2di4a' (uniform itexture2DArray) -0:73 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:73 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:73 move second child to first child ( temp 4-component vector of int) +0:73 'txval211' ( temp 4-component vector of int) +0:73 textureGatherOffset ( temp 4-component vector of int) +0:73 Construct combined texture-sampler ( temp isampler2DArray) +0:73 'g_tTex2di4a' ( uniform itexture2DArray) +0:73 'g_sSamp' (layout( binding=0) uniform sampler) +0:73 c3: direct index for structure ( uniform 3-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:73 Constant: 0:73 2 (const uint) -0:73 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:73 o2: direct index for structure ( uniform 2-component vector of int) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:73 Constant: 0:73 5 (const uint) 0:73 Constant: 0:73 2 (const int) 0:74 Sequence -0:74 move second child to first child (temp 4-component vector of uint) -0:74 'txval221' (temp 4-component vector of uint) -0:74 textureGatherOffset (temp 4-component vector of uint) -0:74 Construct combined texture-sampler (temp usampler2DArray) -0:74 'g_tTex2du4a' (uniform utexture2DArray) -0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:74 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:74 move second child to first child ( temp 4-component vector of uint) +0:74 'txval221' ( temp 4-component vector of uint) +0:74 textureGatherOffset ( temp 4-component vector of uint) +0:74 Construct combined texture-sampler ( temp usampler2DArray) +0:74 'g_tTex2du4a' ( uniform utexture2DArray) +0:74 'g_sSamp' (layout( binding=0) uniform sampler) +0:74 c3: direct index for structure ( uniform 3-component vector of float) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:74 Constant: 0:74 2 (const uint) -0:74 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:74 o2: direct index for structure ( uniform 2-component vector of int) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:74 Constant: 0:74 5 (const uint) 0:74 Constant: 0:74 2 (const int) 0:76 Sequence -0:76 move second child to first child (temp 4-component vector of float) -0:76 'txval204' (temp 4-component vector of float) -0:76 textureGatherOffsets (temp 4-component vector of float) -0:76 Construct combined texture-sampler (temp sampler2DArray) -0:76 'g_tTex2df4a' (uniform texture2DArray) -0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:76 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 move second child to first child ( temp 4-component vector of float) +0:76 'txval204' ( temp 4-component vector of float) +0:76 textureGatherOffsets ( temp 4-component vector of float) +0:76 Construct combined texture-sampler ( temp sampler2DArray) +0:76 'g_tTex2df4a' ( uniform texture2DArray) +0:76 'g_sSamp' (layout( binding=0) uniform sampler) +0:76 c3: direct index for structure ( uniform 3-component vector of float) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 2 (const uint) -0:76 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) -0:76 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:76 o2: direct index for structure ( uniform 2-component vector of int) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:76 Constant: 0:76 5 (const uint) 0:76 Constant: 0:76 2 (const int) 0:77 Sequence -0:77 move second child to first child (temp 4-component vector of int) -0:77 'txval214' (temp 4-component vector of int) -0:77 textureGatherOffsets (temp 4-component vector of int) -0:77 Construct combined texture-sampler (temp isampler2DArray) -0:77 'g_tTex2di4a' (uniform itexture2DArray) -0:77 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:77 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 move second child to first child ( temp 4-component vector of int) +0:77 'txval214' ( temp 4-component vector of int) +0:77 textureGatherOffsets ( temp 4-component vector of int) +0:77 Construct combined texture-sampler ( temp isampler2DArray) +0:77 'g_tTex2di4a' ( uniform itexture2DArray) +0:77 'g_sSamp' (layout( binding=0) uniform sampler) +0:77 c3: direct index for structure ( uniform 3-component vector of float) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 2 (const uint) -0:77 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) -0:77 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:77 o2: direct index for structure ( uniform 2-component vector of int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:77 Constant: 0:77 5 (const uint) 0:77 Constant: 0:77 2 (const int) 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of uint) -0:78 'txval224' (temp 4-component vector of uint) -0:78 textureGatherOffsets (temp 4-component vector of uint) -0:78 Construct combined texture-sampler (temp usampler2DArray) -0:78 'g_tTex2du4a' (uniform utexture2DArray) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:78 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 move second child to first child ( temp 4-component vector of uint) +0:78 'txval224' ( temp 4-component vector of uint) +0:78 textureGatherOffsets ( temp 4-component vector of uint) +0:78 Construct combined texture-sampler ( temp usampler2DArray) +0:78 'g_tTex2du4a' ( uniform utexture2DArray) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) +0:78 c3: direct index for structure ( uniform 3-component vector of float) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 2 (const uint) -0:78 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) -0:78 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:78 o2: direct index for structure ( uniform 2-component vector of int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:78 Constant: 0:78 5 (const uint) 0:78 Constant: 0:78 2 (const int) 0:88 Sequence -0:88 move second child to first child (temp 4-component vector of float) -0:88 'txval301' (temp 4-component vector of float) -0:88 textureGatherOffset (temp 4-component vector of float) -0:88 Construct combined texture-sampler (temp sampler2DArray) -0:88 'g_tTex2df4a' (uniform texture2DArray) -0:88 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:88 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:88 move second child to first child ( temp 4-component vector of float) +0:88 'txval301' ( temp 4-component vector of float) +0:88 textureGatherOffset ( temp 4-component vector of float) +0:88 Construct combined texture-sampler ( temp sampler2DArray) +0:88 'g_tTex2df4a' ( uniform texture2DArray) +0:88 'g_sSamp' (layout( binding=0) uniform sampler) +0:88 c3: direct index for structure ( uniform 3-component vector of float) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:88 Constant: 0:88 2 (const uint) -0:88 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:88 o2: direct index for structure ( uniform 2-component vector of int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:88 Constant: 0:88 5 (const uint) 0:88 Constant: 0:88 3 (const int) 0:89 Sequence -0:89 move second child to first child (temp 4-component vector of int) -0:89 'txval311' (temp 4-component vector of int) -0:89 textureGatherOffset (temp 4-component vector of int) -0:89 Construct combined texture-sampler (temp isampler2DArray) -0:89 'g_tTex2di4a' (uniform itexture2DArray) -0:89 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:89 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:89 move second child to first child ( temp 4-component vector of int) +0:89 'txval311' ( temp 4-component vector of int) +0:89 textureGatherOffset ( temp 4-component vector of int) +0:89 Construct combined texture-sampler ( temp isampler2DArray) +0:89 'g_tTex2di4a' ( uniform itexture2DArray) +0:89 'g_sSamp' (layout( binding=0) uniform sampler) +0:89 c3: direct index for structure ( uniform 3-component vector of float) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:89 Constant: 0:89 2 (const uint) -0:89 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:89 o2: direct index for structure ( uniform 2-component vector of int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:89 Constant: 0:89 5 (const uint) 0:89 Constant: 0:89 3 (const int) 0:90 Sequence -0:90 move second child to first child (temp 4-component vector of uint) -0:90 'txval321' (temp 4-component vector of uint) -0:90 textureGatherOffset (temp 4-component vector of uint) -0:90 Construct combined texture-sampler (temp usampler2DArray) -0:90 'g_tTex2du4a' (uniform utexture2DArray) -0:90 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:90 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:90 move second child to first child ( temp 4-component vector of uint) +0:90 'txval321' ( temp 4-component vector of uint) +0:90 textureGatherOffset ( temp 4-component vector of uint) +0:90 Construct combined texture-sampler ( temp usampler2DArray) +0:90 'g_tTex2du4a' ( uniform utexture2DArray) +0:90 'g_sSamp' (layout( binding=0) uniform sampler) +0:90 c3: direct index for structure ( uniform 3-component vector of float) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:90 Constant: 0:90 2 (const uint) -0:90 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:90 o2: direct index for structure ( uniform 2-component vector of int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:90 Constant: 0:90 5 (const uint) 0:90 Constant: 0:90 3 (const int) 0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:92 'txval304' (temp 4-component vector of float) -0:92 textureGatherOffsets (temp 4-component vector of float) -0:92 Construct combined texture-sampler (temp sampler2DArray) -0:92 'g_tTex2df4a' (uniform texture2DArray) -0:92 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:92 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 move second child to first child ( temp 4-component vector of float) +0:92 'txval304' ( temp 4-component vector of float) +0:92 textureGatherOffsets ( temp 4-component vector of float) +0:92 Construct combined texture-sampler ( temp sampler2DArray) +0:92 'g_tTex2df4a' ( uniform texture2DArray) +0:92 'g_sSamp' (layout( binding=0) uniform sampler) +0:92 c3: direct index for structure ( uniform 3-component vector of float) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 2 (const uint) -0:92 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) -0:92 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:92 o2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:92 Constant: 0:92 5 (const uint) 0:92 Constant: 0:92 3 (const int) 0:93 Sequence -0:93 move second child to first child (temp 4-component vector of int) -0:93 'txval314' (temp 4-component vector of int) -0:93 textureGatherOffsets (temp 4-component vector of int) -0:93 Construct combined texture-sampler (temp isampler2DArray) -0:93 'g_tTex2di4a' (uniform itexture2DArray) -0:93 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:93 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 move second child to first child ( temp 4-component vector of int) +0:93 'txval314' ( temp 4-component vector of int) +0:93 textureGatherOffsets ( temp 4-component vector of int) +0:93 Construct combined texture-sampler ( temp isampler2DArray) +0:93 'g_tTex2di4a' ( uniform itexture2DArray) +0:93 'g_sSamp' (layout( binding=0) uniform sampler) +0:93 c3: direct index for structure ( uniform 3-component vector of float) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 2 (const uint) -0:93 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) -0:93 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:93 o2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:93 Constant: 0:93 5 (const uint) 0:93 Constant: 0:93 3 (const int) 0:94 Sequence -0:94 move second child to first child (temp 4-component vector of uint) -0:94 'txval324' (temp 4-component vector of uint) -0:94 textureGatherOffsets (temp 4-component vector of uint) -0:94 Construct combined texture-sampler (temp usampler2DArray) -0:94 'g_tTex2du4a' (uniform utexture2DArray) -0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:94 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 move second child to first child ( temp 4-component vector of uint) +0:94 'txval324' ( temp 4-component vector of uint) +0:94 textureGatherOffsets ( temp 4-component vector of uint) +0:94 Construct combined texture-sampler ( temp usampler2DArray) +0:94 'g_tTex2du4a' ( uniform utexture2DArray) +0:94 'g_sSamp' (layout( binding=0) uniform sampler) +0:94 c3: direct index for structure ( uniform 3-component vector of float) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 2 (const uint) -0:94 Construct ivec2 (temp 4-element array of 2-component vector of int) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 Construct ivec2 ( temp 4-element array of 2-component vector of int) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) -0:94 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:94 o2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:94 Constant: 0:94 5 (const uint) 0:94 Constant: 0:94 3 (const int) -0:106 move second child to first child (temp 4-component vector of float) -0:106 Color: direct index for structure (temp 4-component vector of float) -0:106 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:106 move second child to first child ( temp 4-component vector of float) +0:106 Color: direct index for structure ( temp 4-component vector of float) +0:106 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:106 Constant: 0:106 0 (const int) 0:106 Constant: @@ -1201,47 +1207,53 @@ gl_FragCoord origin is upper left 0:106 1.000000 0:106 1.000000 0:106 1.000000 -0:107 move second child to first child (temp float) -0:107 Depth: direct index for structure (temp float) -0:107 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:107 move second child to first child ( temp float) +0:107 Depth: direct index for structure ( temp float) +0:107 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:107 Constant: 0:107 1 (const int) 0:107 Constant: 0:107 1.000000 -0:109 Sequence -0:109 Sequence -0:109 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:109 Color: direct index for structure (temp 4-component vector of float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 0 (const int) -0:109 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:109 Depth: direct index for structure (temp float) -0:109 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:109 Constant: -0:109 1 (const int) -0:109 Branch: Return +0:109 Branch: Return with expression +0:109 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Function Definition: main( ( temp void) +0:33 Function Parameters: +0:? Sequence +0:33 Sequence +0:33 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 0 (const int) +0:33 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:33 Depth: direct index for structure ( temp float) +0:33 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:33 Constant: +0:33 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 382 +// Id's are bound by 389 Capability Shader Capability ImageGatherExtended @@ -1249,491 +1261,502 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 355 359 + EntryPoint Fragment 4 "main" 363 367 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval001" - Name 12 "g_tTex2df4a" - Name 16 "g_sSamp" - Name 26 "$Global" - MemberName 26($Global) 0 "c1" - MemberName 26($Global) 1 "c2" - MemberName 26($Global) 2 "c3" - MemberName 26($Global) 3 "c4" - MemberName 26($Global) 4 "o1" - MemberName 26($Global) 5 "o2" - MemberName 26($Global) 6 "o3" - MemberName 26($Global) 7 "o4" - Name 28 "" - Name 40 "txval011" - Name 43 "g_tTex2di4a" - Name 56 "txval021" - Name 59 "g_tTex2du4a" - Name 69 "txval004" - Name 87 "txval014" - Name 103 "txval024" - Name 119 "txval101" - Name 129 "txval111" - Name 138 "txval121" - Name 147 "txval104" - Name 163 "txval114" - Name 179 "txval124" - Name 195 "txval201" - Name 204 "txval211" - Name 213 "txval221" - Name 222 "txval204" - Name 238 "txval214" - Name 254 "txval224" - Name 270 "txval301" - Name 280 "txval311" - Name 289 "txval321" - Name 298 "txval304" - Name 314 "txval314" - Name 330 "txval324" - Name 346 "PS_OUTPUT" - MemberName 346(PS_OUTPUT) 0 "Color" - MemberName 346(PS_OUTPUT) 1 "Depth" - Name 348 "psout" - Name 355 "Color" - Name 359 "Depth" - Name 363 "g_sSamp2d" - Name 366 "g_tTex1df4a" - Name 369 "g_tTex1di4a" - Name 372 "g_tTex1du4a" - Name 375 "g_tTexcdf4a" - Name 378 "g_tTexcdi4a" - Name 381 "g_tTexcdu4a" - Decorate 12(g_tTex2df4a) DescriptorSet 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - MemberDecorate 26($Global) 0 Offset 0 - MemberDecorate 26($Global) 1 Offset 8 - MemberDecorate 26($Global) 2 Offset 16 - MemberDecorate 26($Global) 3 Offset 32 - MemberDecorate 26($Global) 4 Offset 48 - MemberDecorate 26($Global) 5 Offset 56 - MemberDecorate 26($Global) 6 Offset 64 - MemberDecorate 26($Global) 7 Offset 80 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 - Decorate 43(g_tTex2di4a) DescriptorSet 0 - Decorate 59(g_tTex2du4a) DescriptorSet 0 - Decorate 355(Color) Location 0 - Decorate 359(Depth) BuiltIn FragDepth - Decorate 363(g_sSamp2d) DescriptorSet 0 - Decorate 366(g_tTex1df4a) DescriptorSet 0 - Decorate 366(g_tTex1df4a) Binding 0 - Decorate 369(g_tTex1di4a) DescriptorSet 0 - Decorate 372(g_tTex1du4a) DescriptorSet 0 - Decorate 375(g_tTexcdf4a) DescriptorSet 0 - Decorate 378(g_tTexcdi4a) DescriptorSet 0 - Decorate 381(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval001" + Name 16 "g_tTex2df4a" + Name 20 "g_sSamp" + Name 30 "$Global" + MemberName 30($Global) 0 "c1" + MemberName 30($Global) 1 "c2" + MemberName 30($Global) 2 "c3" + MemberName 30($Global) 3 "c4" + MemberName 30($Global) 4 "o1" + MemberName 30($Global) 5 "o2" + MemberName 30($Global) 6 "o3" + MemberName 30($Global) 7 "o4" + Name 32 "" + Name 44 "txval011" + Name 47 "g_tTex2di4a" + Name 60 "txval021" + Name 63 "g_tTex2du4a" + Name 73 "txval004" + Name 91 "txval014" + Name 107 "txval024" + Name 123 "txval101" + Name 133 "txval111" + Name 142 "txval121" + Name 151 "txval104" + Name 167 "txval114" + Name 183 "txval124" + Name 199 "txval201" + Name 208 "txval211" + Name 217 "txval221" + Name 226 "txval204" + Name 242 "txval214" + Name 258 "txval224" + Name 274 "txval301" + Name 284 "txval311" + Name 293 "txval321" + Name 302 "txval304" + Name 318 "txval314" + Name 334 "txval324" + Name 351 "psout" + Name 360 "flattenTemp" + Name 363 "Color" + Name 367 "Depth" + Name 370 "g_sSamp2d" + Name 373 "g_tTex1df4a" + Name 376 "g_tTex1di4a" + Name 379 "g_tTex1du4a" + Name 382 "g_tTexcdf4a" + Name 385 "g_tTexcdi4a" + Name 388 "g_tTexcdu4a" + Decorate 16(g_tTex2df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + MemberDecorate 30($Global) 0 Offset 0 + MemberDecorate 30($Global) 1 Offset 8 + MemberDecorate 30($Global) 2 Offset 16 + MemberDecorate 30($Global) 3 Offset 32 + MemberDecorate 30($Global) 4 Offset 48 + MemberDecorate 30($Global) 5 Offset 56 + MemberDecorate 30($Global) 6 Offset 64 + MemberDecorate 30($Global) 7 Offset 80 + Decorate 30($Global) Block + Decorate 32 DescriptorSet 0 + Decorate 47(g_tTex2di4a) DescriptorSet 0 + Decorate 63(g_tTex2du4a) DescriptorSet 0 + Decorate 363(Color) Location 0 + Decorate 367(Depth) BuiltIn FragDepth + Decorate 370(g_sSamp2d) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) Binding 0 + Decorate 376(g_tTex1di4a) DescriptorSet 0 + Decorate 379(g_tTex1du4a) DescriptorSet 0 + Decorate 382(g_tTexcdf4a) DescriptorSet 0 + Decorate 385(g_tTexcdi4a) DescriptorSet 0 + Decorate 388(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 2D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex2df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: TypeVector 6(float) 3 - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypeVector 22(int) 3 - 25: TypeVector 22(int) 4 - 26($Global): TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4) 22(int) 23(ivec2) 24(ivec3) 25(ivec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform - 29: 22(int) Constant 2 - 30: TypePointer Uniform 21(fvec3) - 33: 22(int) Constant 5 - 34: TypePointer Uniform 23(ivec2) - 37: 22(int) Constant 0 - 39: TypePointer Function 25(ivec4) - 41: TypeImage 22(int) 2D array sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex2di4a): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 53: TypeInt 32 0 - 54: TypeVector 53(int) 4 - 55: TypePointer Function 54(ivec4) - 57: TypeImage 53(int) 2D array sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2du4a): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 83: 53(int) Constant 4 - 84: TypeArray 23(ivec2) 83 - 127: 22(int) Constant 1 - 278: 22(int) Constant 3 - 346(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 347: TypePointer Function 346(PS_OUTPUT) - 349: 6(float) Constant 1065353216 - 350: 7(fvec4) ConstantComposite 349 349 349 349 - 352: TypePointer Function 6(float) - 354: TypePointer Output 7(fvec4) - 355(Color): 354(ptr) Variable Output - 358: TypePointer Output 6(float) - 359(Depth): 358(ptr) Variable Output - 363(g_sSamp2d): 15(ptr) Variable UniformConstant - 364: TypeImage 6(float) 1D array sampled format:Unknown - 365: TypePointer UniformConstant 364 -366(g_tTex1df4a): 365(ptr) Variable UniformConstant - 367: TypeImage 22(int) 1D array sampled format:Unknown - 368: TypePointer UniformConstant 367 -369(g_tTex1di4a): 368(ptr) Variable UniformConstant - 370: TypeImage 53(int) 1D array sampled format:Unknown - 371: TypePointer UniformConstant 370 -372(g_tTex1du4a): 371(ptr) Variable UniformConstant - 373: TypeImage 6(float) Cube array sampled format:Unknown - 374: TypePointer UniformConstant 373 -375(g_tTexcdf4a): 374(ptr) Variable UniformConstant - 376: TypeImage 22(int) Cube array sampled format:Unknown - 377: TypePointer UniformConstant 376 -378(g_tTexcdi4a): 377(ptr) Variable UniformConstant - 379: TypeImage 53(int) Cube array sampled format:Unknown - 380: TypePointer UniformConstant 379 -381(g_tTexcdu4a): 380(ptr) Variable UniformConstant + 16(g_tTex2df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26: TypeInt 32 1 + 27: TypeVector 26(int) 2 + 28: TypeVector 26(int) 3 + 29: TypeVector 26(int) 4 + 30($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) 26(int) 27(ivec2) 28(ivec3) 29(ivec4) + 31: TypePointer Uniform 30($Global) + 32: 31(ptr) Variable Uniform + 33: 26(int) Constant 2 + 34: TypePointer Uniform 25(fvec3) + 37: 26(int) Constant 5 + 38: TypePointer Uniform 27(ivec2) + 41: 26(int) Constant 0 + 43: TypePointer Function 29(ivec4) + 45: TypeImage 26(int) 2D array sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex2di4a): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 57: TypeInt 32 0 + 58: TypeVector 57(int) 4 + 59: TypePointer Function 58(ivec4) + 61: TypeImage 57(int) 2D array sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2du4a): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 87: 57(int) Constant 4 + 88: TypeArray 27(ivec2) 87 + 131: 26(int) Constant 1 + 282: 26(int) Constant 3 + 350: TypePointer Function 8(PS_OUTPUT) + 352: 6(float) Constant 1065353216 + 353: 7(fvec4) ConstantComposite 352 352 352 352 + 355: TypePointer Function 6(float) + 362: TypePointer Output 7(fvec4) + 363(Color): 362(ptr) Variable Output + 366: TypePointer Output 6(float) + 367(Depth): 366(ptr) Variable Output + 370(g_sSamp2d): 19(ptr) Variable UniformConstant + 371: TypeImage 6(float) 1D array sampled format:Unknown + 372: TypePointer UniformConstant 371 +373(g_tTex1df4a): 372(ptr) Variable UniformConstant + 374: TypeImage 26(int) 1D array sampled format:Unknown + 375: TypePointer UniformConstant 374 +376(g_tTex1di4a): 375(ptr) Variable UniformConstant + 377: TypeImage 57(int) 1D array sampled format:Unknown + 378: TypePointer UniformConstant 377 +379(g_tTex1du4a): 378(ptr) Variable UniformConstant + 380: TypeImage 6(float) Cube array sampled format:Unknown + 381: TypePointer UniformConstant 380 +382(g_tTexcdf4a): 381(ptr) Variable UniformConstant + 383: TypeImage 26(int) Cube array sampled format:Unknown + 384: TypePointer UniformConstant 383 +385(g_tTexcdi4a): 384(ptr) Variable UniformConstant + 386: TypeImage 57(int) Cube array sampled format:Unknown + 387: TypePointer UniformConstant 386 +388(g_tTexcdu4a): 387(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval001): 8(ptr) Variable Function - 40(txval011): 39(ptr) Variable Function - 56(txval021): 55(ptr) Variable Function - 69(txval004): 8(ptr) Variable Function - 87(txval014): 39(ptr) Variable Function - 103(txval024): 55(ptr) Variable Function - 119(txval101): 8(ptr) Variable Function - 129(txval111): 39(ptr) Variable Function - 138(txval121): 55(ptr) Variable Function - 147(txval104): 8(ptr) Variable Function - 163(txval114): 39(ptr) Variable Function - 179(txval124): 55(ptr) Variable Function - 195(txval201): 8(ptr) Variable Function - 204(txval211): 39(ptr) Variable Function - 213(txval221): 55(ptr) Variable Function - 222(txval204): 8(ptr) Variable Function - 238(txval214): 39(ptr) Variable Function - 254(txval224): 55(ptr) Variable Function - 270(txval301): 8(ptr) Variable Function - 280(txval311): 39(ptr) Variable Function - 289(txval321): 55(ptr) Variable Function - 298(txval304): 8(ptr) Variable Function - 314(txval314): 39(ptr) Variable Function - 330(txval324): 55(ptr) Variable Function - 348(psout): 347(ptr) Variable Function - 13: 10 Load 12(g_tTex2df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 31: 30(ptr) AccessChain 28 29 - 32: 21(fvec3) Load 31 - 35: 34(ptr) AccessChain 28 33 - 36: 23(ivec2) Load 35 - 38: 7(fvec4) ImageGather 19 32 37 Offset 36 - Store 9(txval001) 38 - 44: 41 Load 43(g_tTex2di4a) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 48: 30(ptr) AccessChain 28 29 - 49: 21(fvec3) Load 48 - 50: 34(ptr) AccessChain 28 33 - 51: 23(ivec2) Load 50 - 52: 25(ivec4) ImageGather 47 49 37 Offset 51 - Store 40(txval011) 52 - 60: 57 Load 59(g_tTex2du4a) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 64: 30(ptr) AccessChain 28 29 - 65: 21(fvec3) Load 64 - 66: 34(ptr) AccessChain 28 33 - 67: 23(ivec2) Load 66 - 68: 54(ivec4) ImageGather 63 65 37 Offset 67 - Store 56(txval021) 68 - 70: 10 Load 12(g_tTex2df4a) - 71: 14 Load 16(g_sSamp) - 72: 18 SampledImage 70 71 - 73: 30(ptr) AccessChain 28 29 - 74: 21(fvec3) Load 73 - 75: 34(ptr) AccessChain 28 33 - 76: 23(ivec2) Load 75 - 77: 34(ptr) AccessChain 28 33 - 78: 23(ivec2) Load 77 - 79: 34(ptr) AccessChain 28 33 - 80: 23(ivec2) Load 79 - 81: 34(ptr) AccessChain 28 33 - 82: 23(ivec2) Load 81 - 85: 84 CompositeConstruct 76 78 80 82 - 86: 7(fvec4) ImageGather 72 74 37 ConstOffsets 85 - Store 69(txval004) 86 - 88: 41 Load 43(g_tTex2di4a) - 89: 14 Load 16(g_sSamp) - 90: 46 SampledImage 88 89 - 91: 30(ptr) AccessChain 28 29 - 92: 21(fvec3) Load 91 - 93: 34(ptr) AccessChain 28 33 - 94: 23(ivec2) Load 93 - 95: 34(ptr) AccessChain 28 33 - 96: 23(ivec2) Load 95 - 97: 34(ptr) AccessChain 28 33 - 98: 23(ivec2) Load 97 - 99: 34(ptr) AccessChain 28 33 - 100: 23(ivec2) Load 99 - 101: 84 CompositeConstruct 94 96 98 100 - 102: 25(ivec4) ImageGather 90 92 37 ConstOffsets 101 - Store 87(txval014) 102 - 104: 57 Load 59(g_tTex2du4a) - 105: 14 Load 16(g_sSamp) - 106: 62 SampledImage 104 105 - 107: 30(ptr) AccessChain 28 29 - 108: 21(fvec3) Load 107 - 109: 34(ptr) AccessChain 28 33 - 110: 23(ivec2) Load 109 - 111: 34(ptr) AccessChain 28 33 - 112: 23(ivec2) Load 111 - 113: 34(ptr) AccessChain 28 33 - 114: 23(ivec2) Load 113 - 115: 34(ptr) AccessChain 28 33 - 116: 23(ivec2) Load 115 - 117: 84 CompositeConstruct 110 112 114 116 - 118: 54(ivec4) ImageGather 106 108 37 ConstOffsets 117 - Store 103(txval024) 118 - 120: 10 Load 12(g_tTex2df4a) - 121: 14 Load 16(g_sSamp) - 122: 18 SampledImage 120 121 - 123: 30(ptr) AccessChain 28 29 - 124: 21(fvec3) Load 123 - 125: 34(ptr) AccessChain 28 33 - 126: 23(ivec2) Load 125 - 128: 7(fvec4) ImageGather 122 124 127 Offset 126 - Store 119(txval101) 128 - 130: 41 Load 43(g_tTex2di4a) - 131: 14 Load 16(g_sSamp) - 132: 46 SampledImage 130 131 - 133: 30(ptr) AccessChain 28 29 - 134: 21(fvec3) Load 133 - 135: 34(ptr) AccessChain 28 33 - 136: 23(ivec2) Load 135 - 137: 25(ivec4) ImageGather 132 134 127 Offset 136 - Store 129(txval111) 137 - 139: 57 Load 59(g_tTex2du4a) - 140: 14 Load 16(g_sSamp) - 141: 62 SampledImage 139 140 - 142: 30(ptr) AccessChain 28 29 - 143: 21(fvec3) Load 142 - 144: 34(ptr) AccessChain 28 33 - 145: 23(ivec2) Load 144 - 146: 54(ivec4) ImageGather 141 143 127 Offset 145 - Store 138(txval121) 146 - 148: 10 Load 12(g_tTex2df4a) - 149: 14 Load 16(g_sSamp) - 150: 18 SampledImage 148 149 - 151: 30(ptr) AccessChain 28 29 - 152: 21(fvec3) Load 151 - 153: 34(ptr) AccessChain 28 33 - 154: 23(ivec2) Load 153 - 155: 34(ptr) AccessChain 28 33 - 156: 23(ivec2) Load 155 - 157: 34(ptr) AccessChain 28 33 - 158: 23(ivec2) Load 157 - 159: 34(ptr) AccessChain 28 33 - 160: 23(ivec2) Load 159 - 161: 84 CompositeConstruct 154 156 158 160 - 162: 7(fvec4) ImageGather 150 152 127 ConstOffsets 161 - Store 147(txval104) 162 - 164: 41 Load 43(g_tTex2di4a) - 165: 14 Load 16(g_sSamp) - 166: 46 SampledImage 164 165 - 167: 30(ptr) AccessChain 28 29 - 168: 21(fvec3) Load 167 - 169: 34(ptr) AccessChain 28 33 - 170: 23(ivec2) Load 169 - 171: 34(ptr) AccessChain 28 33 - 172: 23(ivec2) Load 171 - 173: 34(ptr) AccessChain 28 33 - 174: 23(ivec2) Load 173 - 175: 34(ptr) AccessChain 28 33 - 176: 23(ivec2) Load 175 - 177: 84 CompositeConstruct 170 172 174 176 - 178: 25(ivec4) ImageGather 166 168 127 ConstOffsets 177 - Store 163(txval114) 178 - 180: 57 Load 59(g_tTex2du4a) - 181: 14 Load 16(g_sSamp) - 182: 62 SampledImage 180 181 - 183: 30(ptr) AccessChain 28 29 - 184: 21(fvec3) Load 183 - 185: 34(ptr) AccessChain 28 33 - 186: 23(ivec2) Load 185 - 187: 34(ptr) AccessChain 28 33 - 188: 23(ivec2) Load 187 - 189: 34(ptr) AccessChain 28 33 - 190: 23(ivec2) Load 189 - 191: 34(ptr) AccessChain 28 33 - 192: 23(ivec2) Load 191 - 193: 84 CompositeConstruct 186 188 190 192 - 194: 54(ivec4) ImageGather 182 184 127 ConstOffsets 193 - Store 179(txval124) 194 - 196: 10 Load 12(g_tTex2df4a) - 197: 14 Load 16(g_sSamp) - 198: 18 SampledImage 196 197 - 199: 30(ptr) AccessChain 28 29 - 200: 21(fvec3) Load 199 - 201: 34(ptr) AccessChain 28 33 - 202: 23(ivec2) Load 201 - 203: 7(fvec4) ImageGather 198 200 29 Offset 202 - Store 195(txval201) 203 - 205: 41 Load 43(g_tTex2di4a) - 206: 14 Load 16(g_sSamp) - 207: 46 SampledImage 205 206 - 208: 30(ptr) AccessChain 28 29 - 209: 21(fvec3) Load 208 - 210: 34(ptr) AccessChain 28 33 - 211: 23(ivec2) Load 210 - 212: 25(ivec4) ImageGather 207 209 29 Offset 211 - Store 204(txval211) 212 - 214: 57 Load 59(g_tTex2du4a) - 215: 14 Load 16(g_sSamp) - 216: 62 SampledImage 214 215 - 217: 30(ptr) AccessChain 28 29 - 218: 21(fvec3) Load 217 - 219: 34(ptr) AccessChain 28 33 - 220: 23(ivec2) Load 219 - 221: 54(ivec4) ImageGather 216 218 29 Offset 220 - Store 213(txval221) 221 - 223: 10 Load 12(g_tTex2df4a) - 224: 14 Load 16(g_sSamp) - 225: 18 SampledImage 223 224 - 226: 30(ptr) AccessChain 28 29 - 227: 21(fvec3) Load 226 - 228: 34(ptr) AccessChain 28 33 - 229: 23(ivec2) Load 228 - 230: 34(ptr) AccessChain 28 33 - 231: 23(ivec2) Load 230 - 232: 34(ptr) AccessChain 28 33 - 233: 23(ivec2) Load 232 - 234: 34(ptr) AccessChain 28 33 - 235: 23(ivec2) Load 234 - 236: 84 CompositeConstruct 229 231 233 235 - 237: 7(fvec4) ImageGather 225 227 29 ConstOffsets 236 - Store 222(txval204) 237 - 239: 41 Load 43(g_tTex2di4a) - 240: 14 Load 16(g_sSamp) - 241: 46 SampledImage 239 240 - 242: 30(ptr) AccessChain 28 29 - 243: 21(fvec3) Load 242 - 244: 34(ptr) AccessChain 28 33 - 245: 23(ivec2) Load 244 - 246: 34(ptr) AccessChain 28 33 - 247: 23(ivec2) Load 246 - 248: 34(ptr) AccessChain 28 33 - 249: 23(ivec2) Load 248 - 250: 34(ptr) AccessChain 28 33 - 251: 23(ivec2) Load 250 - 252: 84 CompositeConstruct 245 247 249 251 - 253: 25(ivec4) ImageGather 241 243 29 ConstOffsets 252 - Store 238(txval214) 253 - 255: 57 Load 59(g_tTex2du4a) - 256: 14 Load 16(g_sSamp) - 257: 62 SampledImage 255 256 - 258: 30(ptr) AccessChain 28 29 - 259: 21(fvec3) Load 258 - 260: 34(ptr) AccessChain 28 33 - 261: 23(ivec2) Load 260 - 262: 34(ptr) AccessChain 28 33 - 263: 23(ivec2) Load 262 - 264: 34(ptr) AccessChain 28 33 - 265: 23(ivec2) Load 264 - 266: 34(ptr) AccessChain 28 33 - 267: 23(ivec2) Load 266 - 268: 84 CompositeConstruct 261 263 265 267 - 269: 54(ivec4) ImageGather 257 259 29 ConstOffsets 268 - Store 254(txval224) 269 - 271: 10 Load 12(g_tTex2df4a) - 272: 14 Load 16(g_sSamp) - 273: 18 SampledImage 271 272 - 274: 30(ptr) AccessChain 28 29 - 275: 21(fvec3) Load 274 - 276: 34(ptr) AccessChain 28 33 - 277: 23(ivec2) Load 276 - 279: 7(fvec4) ImageGather 273 275 278 Offset 277 - Store 270(txval301) 279 - 281: 41 Load 43(g_tTex2di4a) - 282: 14 Load 16(g_sSamp) - 283: 46 SampledImage 281 282 - 284: 30(ptr) AccessChain 28 29 - 285: 21(fvec3) Load 284 - 286: 34(ptr) AccessChain 28 33 - 287: 23(ivec2) Load 286 - 288: 25(ivec4) ImageGather 283 285 278 Offset 287 - Store 280(txval311) 288 - 290: 57 Load 59(g_tTex2du4a) - 291: 14 Load 16(g_sSamp) - 292: 62 SampledImage 290 291 - 293: 30(ptr) AccessChain 28 29 - 294: 21(fvec3) Load 293 - 295: 34(ptr) AccessChain 28 33 - 296: 23(ivec2) Load 295 - 297: 54(ivec4) ImageGather 292 294 278 Offset 296 - Store 289(txval321) 297 - 299: 10 Load 12(g_tTex2df4a) - 300: 14 Load 16(g_sSamp) - 301: 18 SampledImage 299 300 - 302: 30(ptr) AccessChain 28 29 - 303: 21(fvec3) Load 302 - 304: 34(ptr) AccessChain 28 33 - 305: 23(ivec2) Load 304 - 306: 34(ptr) AccessChain 28 33 - 307: 23(ivec2) Load 306 - 308: 34(ptr) AccessChain 28 33 - 309: 23(ivec2) Load 308 - 310: 34(ptr) AccessChain 28 33 - 311: 23(ivec2) Load 310 - 312: 84 CompositeConstruct 305 307 309 311 - 313: 7(fvec4) ImageGather 301 303 278 ConstOffsets 312 - Store 298(txval304) 313 - 315: 41 Load 43(g_tTex2di4a) - 316: 14 Load 16(g_sSamp) - 317: 46 SampledImage 315 316 - 318: 30(ptr) AccessChain 28 29 - 319: 21(fvec3) Load 318 - 320: 34(ptr) AccessChain 28 33 - 321: 23(ivec2) Load 320 - 322: 34(ptr) AccessChain 28 33 - 323: 23(ivec2) Load 322 - 324: 34(ptr) AccessChain 28 33 - 325: 23(ivec2) Load 324 - 326: 34(ptr) AccessChain 28 33 - 327: 23(ivec2) Load 326 - 328: 84 CompositeConstruct 321 323 325 327 - 329: 25(ivec4) ImageGather 317 319 278 ConstOffsets 328 - Store 314(txval314) 329 - 331: 57 Load 59(g_tTex2du4a) - 332: 14 Load 16(g_sSamp) - 333: 62 SampledImage 331 332 - 334: 30(ptr) AccessChain 28 29 - 335: 21(fvec3) Load 334 - 336: 34(ptr) AccessChain 28 33 - 337: 23(ivec2) Load 336 - 338: 34(ptr) AccessChain 28 33 - 339: 23(ivec2) Load 338 - 340: 34(ptr) AccessChain 28 33 - 341: 23(ivec2) Load 340 - 342: 34(ptr) AccessChain 28 33 - 343: 23(ivec2) Load 342 - 344: 84 CompositeConstruct 337 339 341 343 - 345: 54(ivec4) ImageGather 333 335 278 ConstOffsets 344 - Store 330(txval324) 345 - 351: 8(ptr) AccessChain 348(psout) 37 - Store 351 350 - 353: 352(ptr) AccessChain 348(psout) 127 - Store 353 349 - 356: 8(ptr) AccessChain 348(psout) 37 - 357: 7(fvec4) Load 356 - Store 355(Color) 357 - 360: 352(ptr) AccessChain 348(psout) 127 - 361: 6(float) Load 360 - Store 359(Depth) 361 +360(flattenTemp): 350(ptr) Variable Function + 361:8(PS_OUTPUT) FunctionCall 10(@main() + Store 360(flattenTemp) 361 + 364: 12(ptr) AccessChain 360(flattenTemp) 41 + 365: 7(fvec4) Load 364 + Store 363(Color) 365 + 368: 355(ptr) AccessChain 360(flattenTemp) 131 + 369: 6(float) Load 368 + Store 367(Depth) 369 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval001): 12(ptr) Variable Function + 44(txval011): 43(ptr) Variable Function + 60(txval021): 59(ptr) Variable Function + 73(txval004): 12(ptr) Variable Function + 91(txval014): 43(ptr) Variable Function + 107(txval024): 59(ptr) Variable Function + 123(txval101): 12(ptr) Variable Function + 133(txval111): 43(ptr) Variable Function + 142(txval121): 59(ptr) Variable Function + 151(txval104): 12(ptr) Variable Function + 167(txval114): 43(ptr) Variable Function + 183(txval124): 59(ptr) Variable Function + 199(txval201): 12(ptr) Variable Function + 208(txval211): 43(ptr) Variable Function + 217(txval221): 59(ptr) Variable Function + 226(txval204): 12(ptr) Variable Function + 242(txval214): 43(ptr) Variable Function + 258(txval224): 59(ptr) Variable Function + 274(txval301): 12(ptr) Variable Function + 284(txval311): 43(ptr) Variable Function + 293(txval321): 59(ptr) Variable Function + 302(txval304): 12(ptr) Variable Function + 318(txval314): 43(ptr) Variable Function + 334(txval324): 59(ptr) Variable Function + 351(psout): 350(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 35: 34(ptr) AccessChain 32 33 + 36: 25(fvec3) Load 35 + 39: 38(ptr) AccessChain 32 37 + 40: 27(ivec2) Load 39 + 42: 7(fvec4) ImageGather 23 36 41 Offset 40 + Store 13(txval001) 42 + 48: 45 Load 47(g_tTex2di4a) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 34(ptr) AccessChain 32 33 + 53: 25(fvec3) Load 52 + 54: 38(ptr) AccessChain 32 37 + 55: 27(ivec2) Load 54 + 56: 29(ivec4) ImageGather 51 53 41 Offset 55 + Store 44(txval011) 56 + 64: 61 Load 63(g_tTex2du4a) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 68: 34(ptr) AccessChain 32 33 + 69: 25(fvec3) Load 68 + 70: 38(ptr) AccessChain 32 37 + 71: 27(ivec2) Load 70 + 72: 58(ivec4) ImageGather 67 69 41 Offset 71 + Store 60(txval021) 72 + 74: 14 Load 16(g_tTex2df4a) + 75: 18 Load 20(g_sSamp) + 76: 22 SampledImage 74 75 + 77: 34(ptr) AccessChain 32 33 + 78: 25(fvec3) Load 77 + 79: 38(ptr) AccessChain 32 37 + 80: 27(ivec2) Load 79 + 81: 38(ptr) AccessChain 32 37 + 82: 27(ivec2) Load 81 + 83: 38(ptr) AccessChain 32 37 + 84: 27(ivec2) Load 83 + 85: 38(ptr) AccessChain 32 37 + 86: 27(ivec2) Load 85 + 89: 88 CompositeConstruct 80 82 84 86 + 90: 7(fvec4) ImageGather 76 78 41 ConstOffsets 89 + Store 73(txval004) 90 + 92: 45 Load 47(g_tTex2di4a) + 93: 18 Load 20(g_sSamp) + 94: 50 SampledImage 92 93 + 95: 34(ptr) AccessChain 32 33 + 96: 25(fvec3) Load 95 + 97: 38(ptr) AccessChain 32 37 + 98: 27(ivec2) Load 97 + 99: 38(ptr) AccessChain 32 37 + 100: 27(ivec2) Load 99 + 101: 38(ptr) AccessChain 32 37 + 102: 27(ivec2) Load 101 + 103: 38(ptr) AccessChain 32 37 + 104: 27(ivec2) Load 103 + 105: 88 CompositeConstruct 98 100 102 104 + 106: 29(ivec4) ImageGather 94 96 41 ConstOffsets 105 + Store 91(txval014) 106 + 108: 61 Load 63(g_tTex2du4a) + 109: 18 Load 20(g_sSamp) + 110: 66 SampledImage 108 109 + 111: 34(ptr) AccessChain 32 33 + 112: 25(fvec3) Load 111 + 113: 38(ptr) AccessChain 32 37 + 114: 27(ivec2) Load 113 + 115: 38(ptr) AccessChain 32 37 + 116: 27(ivec2) Load 115 + 117: 38(ptr) AccessChain 32 37 + 118: 27(ivec2) Load 117 + 119: 38(ptr) AccessChain 32 37 + 120: 27(ivec2) Load 119 + 121: 88 CompositeConstruct 114 116 118 120 + 122: 58(ivec4) ImageGather 110 112 41 ConstOffsets 121 + Store 107(txval024) 122 + 124: 14 Load 16(g_tTex2df4a) + 125: 18 Load 20(g_sSamp) + 126: 22 SampledImage 124 125 + 127: 34(ptr) AccessChain 32 33 + 128: 25(fvec3) Load 127 + 129: 38(ptr) AccessChain 32 37 + 130: 27(ivec2) Load 129 + 132: 7(fvec4) ImageGather 126 128 131 Offset 130 + Store 123(txval101) 132 + 134: 45 Load 47(g_tTex2di4a) + 135: 18 Load 20(g_sSamp) + 136: 50 SampledImage 134 135 + 137: 34(ptr) AccessChain 32 33 + 138: 25(fvec3) Load 137 + 139: 38(ptr) AccessChain 32 37 + 140: 27(ivec2) Load 139 + 141: 29(ivec4) ImageGather 136 138 131 Offset 140 + Store 133(txval111) 141 + 143: 61 Load 63(g_tTex2du4a) + 144: 18 Load 20(g_sSamp) + 145: 66 SampledImage 143 144 + 146: 34(ptr) AccessChain 32 33 + 147: 25(fvec3) Load 146 + 148: 38(ptr) AccessChain 32 37 + 149: 27(ivec2) Load 148 + 150: 58(ivec4) ImageGather 145 147 131 Offset 149 + Store 142(txval121) 150 + 152: 14 Load 16(g_tTex2df4a) + 153: 18 Load 20(g_sSamp) + 154: 22 SampledImage 152 153 + 155: 34(ptr) AccessChain 32 33 + 156: 25(fvec3) Load 155 + 157: 38(ptr) AccessChain 32 37 + 158: 27(ivec2) Load 157 + 159: 38(ptr) AccessChain 32 37 + 160: 27(ivec2) Load 159 + 161: 38(ptr) AccessChain 32 37 + 162: 27(ivec2) Load 161 + 163: 38(ptr) AccessChain 32 37 + 164: 27(ivec2) Load 163 + 165: 88 CompositeConstruct 158 160 162 164 + 166: 7(fvec4) ImageGather 154 156 131 ConstOffsets 165 + Store 151(txval104) 166 + 168: 45 Load 47(g_tTex2di4a) + 169: 18 Load 20(g_sSamp) + 170: 50 SampledImage 168 169 + 171: 34(ptr) AccessChain 32 33 + 172: 25(fvec3) Load 171 + 173: 38(ptr) AccessChain 32 37 + 174: 27(ivec2) Load 173 + 175: 38(ptr) AccessChain 32 37 + 176: 27(ivec2) Load 175 + 177: 38(ptr) AccessChain 32 37 + 178: 27(ivec2) Load 177 + 179: 38(ptr) AccessChain 32 37 + 180: 27(ivec2) Load 179 + 181: 88 CompositeConstruct 174 176 178 180 + 182: 29(ivec4) ImageGather 170 172 131 ConstOffsets 181 + Store 167(txval114) 182 + 184: 61 Load 63(g_tTex2du4a) + 185: 18 Load 20(g_sSamp) + 186: 66 SampledImage 184 185 + 187: 34(ptr) AccessChain 32 33 + 188: 25(fvec3) Load 187 + 189: 38(ptr) AccessChain 32 37 + 190: 27(ivec2) Load 189 + 191: 38(ptr) AccessChain 32 37 + 192: 27(ivec2) Load 191 + 193: 38(ptr) AccessChain 32 37 + 194: 27(ivec2) Load 193 + 195: 38(ptr) AccessChain 32 37 + 196: 27(ivec2) Load 195 + 197: 88 CompositeConstruct 190 192 194 196 + 198: 58(ivec4) ImageGather 186 188 131 ConstOffsets 197 + Store 183(txval124) 198 + 200: 14 Load 16(g_tTex2df4a) + 201: 18 Load 20(g_sSamp) + 202: 22 SampledImage 200 201 + 203: 34(ptr) AccessChain 32 33 + 204: 25(fvec3) Load 203 + 205: 38(ptr) AccessChain 32 37 + 206: 27(ivec2) Load 205 + 207: 7(fvec4) ImageGather 202 204 33 Offset 206 + Store 199(txval201) 207 + 209: 45 Load 47(g_tTex2di4a) + 210: 18 Load 20(g_sSamp) + 211: 50 SampledImage 209 210 + 212: 34(ptr) AccessChain 32 33 + 213: 25(fvec3) Load 212 + 214: 38(ptr) AccessChain 32 37 + 215: 27(ivec2) Load 214 + 216: 29(ivec4) ImageGather 211 213 33 Offset 215 + Store 208(txval211) 216 + 218: 61 Load 63(g_tTex2du4a) + 219: 18 Load 20(g_sSamp) + 220: 66 SampledImage 218 219 + 221: 34(ptr) AccessChain 32 33 + 222: 25(fvec3) Load 221 + 223: 38(ptr) AccessChain 32 37 + 224: 27(ivec2) Load 223 + 225: 58(ivec4) ImageGather 220 222 33 Offset 224 + Store 217(txval221) 225 + 227: 14 Load 16(g_tTex2df4a) + 228: 18 Load 20(g_sSamp) + 229: 22 SampledImage 227 228 + 230: 34(ptr) AccessChain 32 33 + 231: 25(fvec3) Load 230 + 232: 38(ptr) AccessChain 32 37 + 233: 27(ivec2) Load 232 + 234: 38(ptr) AccessChain 32 37 + 235: 27(ivec2) Load 234 + 236: 38(ptr) AccessChain 32 37 + 237: 27(ivec2) Load 236 + 238: 38(ptr) AccessChain 32 37 + 239: 27(ivec2) Load 238 + 240: 88 CompositeConstruct 233 235 237 239 + 241: 7(fvec4) ImageGather 229 231 33 ConstOffsets 240 + Store 226(txval204) 241 + 243: 45 Load 47(g_tTex2di4a) + 244: 18 Load 20(g_sSamp) + 245: 50 SampledImage 243 244 + 246: 34(ptr) AccessChain 32 33 + 247: 25(fvec3) Load 246 + 248: 38(ptr) AccessChain 32 37 + 249: 27(ivec2) Load 248 + 250: 38(ptr) AccessChain 32 37 + 251: 27(ivec2) Load 250 + 252: 38(ptr) AccessChain 32 37 + 253: 27(ivec2) Load 252 + 254: 38(ptr) AccessChain 32 37 + 255: 27(ivec2) Load 254 + 256: 88 CompositeConstruct 249 251 253 255 + 257: 29(ivec4) ImageGather 245 247 33 ConstOffsets 256 + Store 242(txval214) 257 + 259: 61 Load 63(g_tTex2du4a) + 260: 18 Load 20(g_sSamp) + 261: 66 SampledImage 259 260 + 262: 34(ptr) AccessChain 32 33 + 263: 25(fvec3) Load 262 + 264: 38(ptr) AccessChain 32 37 + 265: 27(ivec2) Load 264 + 266: 38(ptr) AccessChain 32 37 + 267: 27(ivec2) Load 266 + 268: 38(ptr) AccessChain 32 37 + 269: 27(ivec2) Load 268 + 270: 38(ptr) AccessChain 32 37 + 271: 27(ivec2) Load 270 + 272: 88 CompositeConstruct 265 267 269 271 + 273: 58(ivec4) ImageGather 261 263 33 ConstOffsets 272 + Store 258(txval224) 273 + 275: 14 Load 16(g_tTex2df4a) + 276: 18 Load 20(g_sSamp) + 277: 22 SampledImage 275 276 + 278: 34(ptr) AccessChain 32 33 + 279: 25(fvec3) Load 278 + 280: 38(ptr) AccessChain 32 37 + 281: 27(ivec2) Load 280 + 283: 7(fvec4) ImageGather 277 279 282 Offset 281 + Store 274(txval301) 283 + 285: 45 Load 47(g_tTex2di4a) + 286: 18 Load 20(g_sSamp) + 287: 50 SampledImage 285 286 + 288: 34(ptr) AccessChain 32 33 + 289: 25(fvec3) Load 288 + 290: 38(ptr) AccessChain 32 37 + 291: 27(ivec2) Load 290 + 292: 29(ivec4) ImageGather 287 289 282 Offset 291 + Store 284(txval311) 292 + 294: 61 Load 63(g_tTex2du4a) + 295: 18 Load 20(g_sSamp) + 296: 66 SampledImage 294 295 + 297: 34(ptr) AccessChain 32 33 + 298: 25(fvec3) Load 297 + 299: 38(ptr) AccessChain 32 37 + 300: 27(ivec2) Load 299 + 301: 58(ivec4) ImageGather 296 298 282 Offset 300 + Store 293(txval321) 301 + 303: 14 Load 16(g_tTex2df4a) + 304: 18 Load 20(g_sSamp) + 305: 22 SampledImage 303 304 + 306: 34(ptr) AccessChain 32 33 + 307: 25(fvec3) Load 306 + 308: 38(ptr) AccessChain 32 37 + 309: 27(ivec2) Load 308 + 310: 38(ptr) AccessChain 32 37 + 311: 27(ivec2) Load 310 + 312: 38(ptr) AccessChain 32 37 + 313: 27(ivec2) Load 312 + 314: 38(ptr) AccessChain 32 37 + 315: 27(ivec2) Load 314 + 316: 88 CompositeConstruct 309 311 313 315 + 317: 7(fvec4) ImageGather 305 307 282 ConstOffsets 316 + Store 302(txval304) 317 + 319: 45 Load 47(g_tTex2di4a) + 320: 18 Load 20(g_sSamp) + 321: 50 SampledImage 319 320 + 322: 34(ptr) AccessChain 32 33 + 323: 25(fvec3) Load 322 + 324: 38(ptr) AccessChain 32 37 + 325: 27(ivec2) Load 324 + 326: 38(ptr) AccessChain 32 37 + 327: 27(ivec2) Load 326 + 328: 38(ptr) AccessChain 32 37 + 329: 27(ivec2) Load 328 + 330: 38(ptr) AccessChain 32 37 + 331: 27(ivec2) Load 330 + 332: 88 CompositeConstruct 325 327 329 331 + 333: 29(ivec4) ImageGather 321 323 282 ConstOffsets 332 + Store 318(txval314) 333 + 335: 61 Load 63(g_tTex2du4a) + 336: 18 Load 20(g_sSamp) + 337: 66 SampledImage 335 336 + 338: 34(ptr) AccessChain 32 33 + 339: 25(fvec3) Load 338 + 340: 38(ptr) AccessChain 32 37 + 341: 27(ivec2) Load 340 + 342: 38(ptr) AccessChain 32 37 + 343: 27(ivec2) Load 342 + 344: 38(ptr) AccessChain 32 37 + 345: 27(ivec2) Load 344 + 346: 38(ptr) AccessChain 32 37 + 347: 27(ivec2) Load 346 + 348: 88 CompositeConstruct 341 343 345 347 + 349: 58(ivec4) ImageGather 337 339 282 ConstOffsets 348 + Store 334(txval324) 349 + 354: 12(ptr) AccessChain 351(psout) 41 + Store 354 353 + 356: 355(ptr) AccessChain 351(psout) 131 + Store 356 352 + 357:8(PS_OUTPUT) Load 351(psout) + ReturnValue 357 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out new file mode 100644 index 00000000000..1c7487deb79 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out @@ -0,0 +1,586 @@ +hlsl.gathercmpRGBA.offset.dx10.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'txval001' ( temp 4-component vector of float) +0:45 textureGatherOffset ( temp 4-component vector of float) +0:45 Construct combined texture-sampler ( temp sampler2DShadow) +0:45 'g_tTex2df4' ( uniform texture2D) +0:45 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:45 c2: direct index for structure ( uniform 2-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:45 Constant: +0:45 1 (const uint) +0:45 Constant: +0:45 0.750000 +0:? Constant: +0:? 1 (const int) +0:? 0 (const int) +0:46 Sequence +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'txval011' ( temp 4-component vector of int) +0:46 textureGatherOffset ( temp 4-component vector of int) +0:46 Construct combined texture-sampler ( temp isampler2DShadow) +0:46 'g_tTex2di4' ( uniform itexture2D) +0:46 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:46 c2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:46 Constant: +0:46 1 (const uint) +0:46 Constant: +0:46 0.750000 +0:? Constant: +0:? 1 (const int) +0:? -1 (const int) +0:47 Sequence +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'txval021' ( temp 4-component vector of uint) +0:47 textureGatherOffset ( temp 4-component vector of uint) +0:47 Construct combined texture-sampler ( temp usampler2DShadow) +0:47 'g_tTex2du4' ( uniform utexture2D) +0:47 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:47 Constant: +0:47 1 (const uint) +0:47 Constant: +0:47 0.750000 +0:? Constant: +0:? 1 (const int) +0:? 1 (const int) +0:49 Sequence +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'txval004' ( temp 4-component vector of float) +0:49 textureGatherOffsets ( temp 4-component vector of float) +0:49 Construct combined texture-sampler ( temp sampler2DShadow) +0:49 'g_tTex2df4' ( uniform texture2D) +0:49 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:49 c2: direct index for structure ( uniform 2-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:49 Constant: +0:49 1 (const uint) +0:49 Constant: +0:49 0.750000 +0:49 Constant: +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:50 Sequence +0:50 move second child to first child ( temp 4-component vector of int) +0:50 'txval014' ( temp 4-component vector of int) +0:50 textureGatherOffsets ( temp 4-component vector of int) +0:50 Construct combined texture-sampler ( temp isampler2DShadow) +0:50 'g_tTex2di4' ( uniform itexture2D) +0:50 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:50 c2: direct index for structure ( uniform 2-component vector of float) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:50 Constant: +0:50 1 (const uint) +0:50 Constant: +0:50 0.750000 +0:50 Constant: +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:51 Sequence +0:51 move second child to first child ( temp 4-component vector of uint) +0:51 'txval024' ( temp 4-component vector of uint) +0:51 textureGatherOffsets ( temp 4-component vector of uint) +0:51 Construct combined texture-sampler ( temp usampler2DShadow) +0:51 'g_tTex2du4' ( uniform utexture2D) +0:51 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:51 Constant: +0:51 1 (const uint) +0:51 Constant: +0:51 0.750000 +0:51 Constant: +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:114 move second child to first child ( temp 4-component vector of float) +0:114 Color: direct index for structure ( temp 4-component vector of float) +0:114 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:114 Constant: +0:114 0 (const int) +0:114 Constant: +0:114 1.000000 +0:114 1.000000 +0:114 1.000000 +0:114 1.000000 +0:115 move second child to first child ( temp float) +0:115 Depth: direct index for structure ( temp float) +0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:115 Constant: +0:115 1 (const int) +0:115 Constant: +0:115 1.000000 +0:117 Branch: Return with expression +0:117 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) +0:? Linker Objects +0:? 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:45 'txval001' ( temp 4-component vector of float) +0:45 textureGatherOffset ( temp 4-component vector of float) +0:45 Construct combined texture-sampler ( temp sampler2DShadow) +0:45 'g_tTex2df4' ( uniform texture2D) +0:45 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:45 c2: direct index for structure ( uniform 2-component vector of float) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:45 Constant: +0:45 1 (const uint) +0:45 Constant: +0:45 0.750000 +0:? Constant: +0:? 1 (const int) +0:? 0 (const int) +0:46 Sequence +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'txval011' ( temp 4-component vector of int) +0:46 textureGatherOffset ( temp 4-component vector of int) +0:46 Construct combined texture-sampler ( temp isampler2DShadow) +0:46 'g_tTex2di4' ( uniform itexture2D) +0:46 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:46 c2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:46 Constant: +0:46 1 (const uint) +0:46 Constant: +0:46 0.750000 +0:? Constant: +0:? 1 (const int) +0:? -1 (const int) +0:47 Sequence +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'txval021' ( temp 4-component vector of uint) +0:47 textureGatherOffset ( temp 4-component vector of uint) +0:47 Construct combined texture-sampler ( temp usampler2DShadow) +0:47 'g_tTex2du4' ( uniform utexture2D) +0:47 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:47 c2: direct index for structure ( uniform 2-component vector of float) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:47 Constant: +0:47 1 (const uint) +0:47 Constant: +0:47 0.750000 +0:? Constant: +0:? 1 (const int) +0:? 1 (const int) +0:49 Sequence +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'txval004' ( temp 4-component vector of float) +0:49 textureGatherOffsets ( temp 4-component vector of float) +0:49 Construct combined texture-sampler ( temp sampler2DShadow) +0:49 'g_tTex2df4' ( uniform texture2D) +0:49 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:49 c2: direct index for structure ( uniform 2-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:49 Constant: +0:49 1 (const uint) +0:49 Constant: +0:49 0.750000 +0:49 Constant: +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:49 1 (const int) +0:49 0 (const int) +0:50 Sequence +0:50 move second child to first child ( temp 4-component vector of int) +0:50 'txval014' ( temp 4-component vector of int) +0:50 textureGatherOffsets ( temp 4-component vector of int) +0:50 Construct combined texture-sampler ( temp isampler2DShadow) +0:50 'g_tTex2di4' ( uniform itexture2D) +0:50 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:50 c2: direct index for structure ( uniform 2-component vector of float) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:50 Constant: +0:50 1 (const uint) +0:50 Constant: +0:50 0.750000 +0:50 Constant: +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:50 1 (const int) +0:50 -1 (const int) +0:51 Sequence +0:51 move second child to first child ( temp 4-component vector of uint) +0:51 'txval024' ( temp 4-component vector of uint) +0:51 textureGatherOffsets ( temp 4-component vector of uint) +0:51 Construct combined texture-sampler ( temp usampler2DShadow) +0:51 'g_tTex2du4' ( uniform utexture2D) +0:51 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:51 c2: direct index for structure ( uniform 2-component vector of float) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:51 Constant: +0:51 1 (const uint) +0:51 Constant: +0:51 0.750000 +0:51 Constant: +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:51 1 (const int) +0:114 move second child to first child ( temp 4-component vector of float) +0:114 Color: direct index for structure ( temp 4-component vector of float) +0:114 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:114 Constant: +0:114 0 (const int) +0:114 Constant: +0:114 1.000000 +0:114 1.000000 +0:114 1.000000 +0:114 1.000000 +0:115 move second child to first child ( temp float) +0:115 Depth: direct index for structure ( temp float) +0:115 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:115 Constant: +0:115 1 (const int) +0:115 Constant: +0:115 1.000000 +0:117 Branch: Return with expression +0:117 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) +0:? Linker Objects +0:? 'g_sSampCmp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 146 + + Capability Shader + Capability Sampled1D + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 111 115 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval001" + Name 16 "g_tTex2df4" + Name 20 "g_sSampCmp" + Name 27 "$Global" + MemberName 27($Global) 0 "c1" + MemberName 27($Global) 1 "c2" + MemberName 27($Global) 2 "c3" + MemberName 27($Global) 3 "c4" + Name 29 "" + Name 42 "txval011" + Name 45 "g_tTex2di4" + Name 59 "txval021" + Name 62 "g_tTex2du4" + Name 72 "txval004" + Name 82 "txval014" + Name 90 "txval024" + Name 99 "psout" + Name 108 "flattenTemp" + Name 111 "Color" + Name 115 "Depth" + Name 120 "g_tTex1df4a" + Name 121 "g_tTex1df4" + Name 124 "g_tTex1di4" + Name 127 "g_tTex1du4" + Name 130 "g_tTex3df4" + Name 133 "g_tTex3di4" + Name 136 "g_tTex3du4" + Name 139 "g_tTexcdf4" + Name 142 "g_tTexcdi4" + Name 145 "g_tTexcdu4" + Decorate 16(g_tTex2df4) DescriptorSet 0 + Decorate 20(g_sSampCmp) DescriptorSet 0 + Decorate 20(g_sSampCmp) Binding 0 + MemberDecorate 27($Global) 0 Offset 0 + MemberDecorate 27($Global) 1 Offset 8 + MemberDecorate 27($Global) 2 Offset 16 + MemberDecorate 27($Global) 3 Offset 32 + Decorate 27($Global) Block + Decorate 29 DescriptorSet 0 + Decorate 45(g_tTex2di4) DescriptorSet 0 + Decorate 62(g_tTex2du4) DescriptorSet 0 + Decorate 111(Color) Location 0 + Decorate 115(Depth) BuiltIn FragDepth + Decorate 120(g_tTex1df4a) DescriptorSet 0 + Decorate 120(g_tTex1df4a) Binding 1 + Decorate 121(g_tTex1df4) DescriptorSet 0 + Decorate 121(g_tTex1df4) Binding 0 + Decorate 124(g_tTex1di4) DescriptorSet 0 + Decorate 127(g_tTex1du4) DescriptorSet 0 + Decorate 130(g_tTex3df4) DescriptorSet 0 + Decorate 133(g_tTex3di4) DescriptorSet 0 + Decorate 136(g_tTex3du4) DescriptorSet 0 + Decorate 139(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdu4) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 2D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex2df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSampCmp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 2D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: TypeVector 6(float) 3 + 27($Global): TypeStruct 6(float) 25(fvec2) 26(fvec3) 7(fvec4) + 28: TypePointer Uniform 27($Global) + 29: 28(ptr) Variable Uniform + 30: TypeInt 32 1 + 31: 30(int) Constant 1 + 32: TypePointer Uniform 25(fvec2) + 35: 6(float) Constant 1061158912 + 36: TypeVector 30(int) 2 + 37: 30(int) Constant 0 + 38: 36(ivec2) ConstantComposite 31 37 + 40: TypeVector 30(int) 4 + 41: TypePointer Function 40(ivec4) + 43: TypeImage 30(int) 2D sampled format:Unknown + 44: TypePointer UniformConstant 43 + 45(g_tTex2di4): 44(ptr) Variable UniformConstant + 48: TypeImage 30(int) 2D depth sampled format:Unknown + 49: TypeSampledImage 48 + 53: 30(int) Constant 4294967295 + 54: 36(ivec2) ConstantComposite 31 53 + 56: TypeInt 32 0 + 57: TypeVector 56(int) 4 + 58: TypePointer Function 57(ivec4) + 60: TypeImage 56(int) 2D sampled format:Unknown + 61: TypePointer UniformConstant 60 + 62(g_tTex2du4): 61(ptr) Variable UniformConstant + 65: TypeImage 56(int) 2D depth sampled format:Unknown + 66: TypeSampledImage 65 + 70: 36(ivec2) ConstantComposite 31 31 + 78: 56(int) Constant 4 + 79: TypeArray 36(ivec2) 78 + 80: 79 ConstantComposite 38 38 38 38 + 88: 79 ConstantComposite 54 54 54 54 + 96: 79 ConstantComposite 70 70 70 70 + 98: TypePointer Function 8(PS_OUTPUT) + 100: 6(float) Constant 1065353216 + 101: 7(fvec4) ConstantComposite 100 100 100 100 + 103: TypePointer Function 6(float) + 110: TypePointer Output 7(fvec4) + 111(Color): 110(ptr) Variable Output + 114: TypePointer Output 6(float) + 115(Depth): 114(ptr) Variable Output + 118: TypeImage 6(float) 1D sampled format:Unknown + 119: TypePointer UniformConstant 118 +120(g_tTex1df4a): 119(ptr) Variable UniformConstant + 121(g_tTex1df4): 119(ptr) Variable UniformConstant + 122: TypeImage 30(int) 1D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex1di4): 123(ptr) Variable UniformConstant + 125: TypeImage 56(int) 1D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex1du4): 126(ptr) Variable UniformConstant + 128: TypeImage 6(float) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3df4): 129(ptr) Variable UniformConstant + 131: TypeImage 30(int) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3di4): 132(ptr) Variable UniformConstant + 134: TypeImage 56(int) 3D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex3du4): 135(ptr) Variable UniformConstant + 137: TypeImage 6(float) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdf4): 138(ptr) Variable UniformConstant + 140: TypeImage 30(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdi4): 141(ptr) Variable UniformConstant + 143: TypeImage 56(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdu4): 144(ptr) Variable UniformConstant + 4(main): 2 Function None 3 + 5: Label +108(flattenTemp): 98(ptr) Variable Function + 109:8(PS_OUTPUT) FunctionCall 10(@main() + Store 108(flattenTemp) 109 + 112: 12(ptr) AccessChain 108(flattenTemp) 37 + 113: 7(fvec4) Load 112 + Store 111(Color) 113 + 116: 103(ptr) AccessChain 108(flattenTemp) 31 + 117: 6(float) Load 116 + Store 115(Depth) 117 + Return + FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval001): 12(ptr) Variable Function + 42(txval011): 41(ptr) Variable Function + 59(txval021): 58(ptr) Variable Function + 72(txval004): 12(ptr) Variable Function + 82(txval014): 41(ptr) Variable Function + 90(txval024): 58(ptr) Variable Function + 99(psout): 98(ptr) Variable Function + 17: 14 Load 16(g_tTex2df4) + 21: 18 Load 20(g_sSampCmp) + 24: 23 SampledImage 17 21 + 33: 32(ptr) AccessChain 29 31 + 34: 25(fvec2) Load 33 + 39: 7(fvec4) ImageDrefGather 24 34 35 ConstOffset 38 + Store 13(txval001) 39 + 46: 43 Load 45(g_tTex2di4) + 47: 18 Load 20(g_sSampCmp) + 50: 49 SampledImage 46 47 + 51: 32(ptr) AccessChain 29 31 + 52: 25(fvec2) Load 51 + 55: 40(ivec4) ImageDrefGather 50 52 35 ConstOffset 54 + Store 42(txval011) 55 + 63: 60 Load 62(g_tTex2du4) + 64: 18 Load 20(g_sSampCmp) + 67: 66 SampledImage 63 64 + 68: 32(ptr) AccessChain 29 31 + 69: 25(fvec2) Load 68 + 71: 57(ivec4) ImageDrefGather 67 69 35 ConstOffset 70 + Store 59(txval021) 71 + 73: 14 Load 16(g_tTex2df4) + 74: 18 Load 20(g_sSampCmp) + 75: 23 SampledImage 73 74 + 76: 32(ptr) AccessChain 29 31 + 77: 25(fvec2) Load 76 + 81: 7(fvec4) ImageDrefGather 75 77 35 ConstOffsets 80 + Store 72(txval004) 81 + 83: 43 Load 45(g_tTex2di4) + 84: 18 Load 20(g_sSampCmp) + 85: 49 SampledImage 83 84 + 86: 32(ptr) AccessChain 29 31 + 87: 25(fvec2) Load 86 + 89: 40(ivec4) ImageDrefGather 85 87 35 ConstOffsets 88 + Store 82(txval014) 89 + 91: 60 Load 62(g_tTex2du4) + 92: 18 Load 20(g_sSampCmp) + 93: 66 SampledImage 91 92 + 94: 32(ptr) AccessChain 29 31 + 95: 25(fvec2) Load 94 + 97: 57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96 + Store 90(txval024) 97 + 102: 12(ptr) AccessChain 99(psout) 37 + Store 102 101 + 104: 103(ptr) AccessChain 99(psout) 31 + Store 104 100 + 105:8(PS_OUTPUT) Load 99(psout) + ReturnValue 105 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 0c488cfbfab..30483db50ef 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -2,1050 +2,1092 @@ hlsl.getdimensions.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:46 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Function Parameters: 0:? Sequence 0:65 Sequence -0:65 move second child to first child (temp uint) -0:65 'sizeQueryTemp' (temp uint) -0:65 textureSize (temp uint) -0:65 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:65 move second child to first child (temp uint) -0:65 'WidthU' (temp uint) -0:65 'sizeQueryTemp' (temp uint) +0:65 move second child to first child ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) +0:65 textureSize ( temp uint) +0:65 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child ( temp uint) +0:65 'WidthU' ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) 0:66 Sequence -0:66 move second child to first child (temp uint) -0:66 'sizeQueryTemp' (temp uint) -0:66 textureSize (temp uint) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:66 move second child to first child ( temp uint) +0:66 'sizeQueryTemp' ( temp uint) +0:66 textureSize ( temp uint) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:66 Constant: 0:66 6 (const uint) -0:66 move second child to first child (temp uint) -0:66 'WidthU' (temp uint) -0:66 'sizeQueryTemp' (temp uint) -0:66 move second child to first child (temp uint) -0:66 'NumberOfLevelsU' (temp uint) -0:66 textureQueryLevels (temp uint) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:66 move second child to first child ( temp uint) +0:66 'WidthU' ( temp uint) +0:66 'sizeQueryTemp' ( temp uint) +0:66 move second child to first child ( temp uint) +0:66 'NumberOfLevelsU' ( temp uint) +0:66 textureQueryLevels ( temp uint) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'sizeQueryTemp' (temp uint) -0:69 textureSize (temp uint) -0:69 'g_tTex1di4' (uniform itexture1D) -0:69 move second child to first child (temp uint) -0:69 'WidthU' (temp uint) -0:69 'sizeQueryTemp' (temp uint) +0:69 move second child to first child ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) +0:69 textureSize ( temp uint) +0:69 'g_tTex1di4' ( uniform itexture1D) +0:69 Constant: +0:69 0 (const int) +0:69 move second child to first child ( temp uint) +0:69 'WidthU' ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 textureSize (temp uint) -0:70 'g_tTex1di4' (uniform itexture1D) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 textureSize ( temp uint) +0:70 'g_tTex1di4' ( uniform itexture1D) 0:70 Constant: 0:70 6 (const uint) -0:70 move second child to first child (temp uint) -0:70 'WidthU' (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 move second child to first child (temp uint) -0:70 'NumberOfLevelsU' (temp uint) -0:70 textureQueryLevels (temp uint) -0:70 'g_tTex1di4' (uniform itexture1D) +0:70 move second child to first child ( temp uint) +0:70 'WidthU' ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 move second child to first child ( temp uint) +0:70 'NumberOfLevelsU' ( temp uint) +0:70 textureQueryLevels ( temp uint) +0:70 'g_tTex1di4' ( uniform itexture1D) 0:73 Sequence -0:73 move second child to first child (temp uint) -0:73 'sizeQueryTemp' (temp uint) -0:73 textureSize (temp uint) -0:73 'g_tTex1du4' (uniform utexture1D) -0:73 move second child to first child (temp uint) -0:73 'WidthU' (temp uint) -0:73 'sizeQueryTemp' (temp uint) +0:73 move second child to first child ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) +0:73 textureSize ( temp uint) +0:73 'g_tTex1du4' ( uniform utexture1D) +0:73 Constant: +0:73 0 (const int) +0:73 move second child to first child ( temp uint) +0:73 'WidthU' ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) 0:74 Sequence -0:74 move second child to first child (temp uint) -0:74 'sizeQueryTemp' (temp uint) -0:74 textureSize (temp uint) -0:74 'g_tTex1du4' (uniform utexture1D) +0:74 move second child to first child ( temp uint) +0:74 'sizeQueryTemp' ( temp uint) +0:74 textureSize ( temp uint) +0:74 'g_tTex1du4' ( uniform utexture1D) 0:74 Constant: 0:74 6 (const uint) -0:74 move second child to first child (temp uint) -0:74 'WidthU' (temp uint) -0:74 'sizeQueryTemp' (temp uint) -0:74 move second child to first child (temp uint) -0:74 'NumberOfLevelsU' (temp uint) -0:74 textureQueryLevels (temp uint) -0:74 'g_tTex1du4' (uniform utexture1D) +0:74 move second child to first child ( temp uint) +0:74 'WidthU' ( temp uint) +0:74 'sizeQueryTemp' ( temp uint) +0:74 move second child to first child ( temp uint) +0:74 'NumberOfLevelsU' ( temp uint) +0:74 textureQueryLevels ( temp uint) +0:74 'g_tTex1du4' ( uniform utexture1D) 0:77 Sequence -0:77 move second child to first child (temp 2-component vector of uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) -0:77 textureSize (temp 2-component vector of uint) -0:77 'g_tTex1df4a' (uniform texture1DArray) -0:77 move second child to first child (temp uint) -0:77 'WidthU' (temp uint) -0:77 direct index (temp uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 move second child to first child ( temp 2-component vector of uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) +0:77 textureSize ( temp 2-component vector of uint) +0:77 'g_tTex1df4a' ( uniform texture1DArray) 0:77 Constant: 0:77 0 (const int) -0:77 move second child to first child (temp uint) -0:77 'ElementsU' (temp uint) -0:77 direct index (temp uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 move second child to first child ( temp uint) +0:77 'WidthU' ( temp uint) +0:77 direct index ( temp uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) +0:77 Constant: +0:77 0 (const int) +0:77 move second child to first child ( temp uint) +0:77 'ElementsU' ( temp uint) +0:77 direct index ( temp uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) 0:77 Constant: 0:77 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 2-component vector of uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) -0:78 textureSize (temp 2-component vector of uint) -0:78 'g_tTex1df4a' (uniform texture1DArray) +0:78 move second child to first child ( temp 2-component vector of uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) +0:78 textureSize ( temp 2-component vector of uint) +0:78 'g_tTex1df4a' ( uniform texture1DArray) 0:78 Constant: 0:78 6 (const uint) -0:78 move second child to first child (temp uint) -0:78 'WidthU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'WidthU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 0 (const int) -0:78 move second child to first child (temp uint) -0:78 'ElementsU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'ElementsU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 1 (const int) -0:78 move second child to first child (temp uint) -0:78 'NumberOfLevelsU' (temp uint) -0:78 textureQueryLevels (temp uint) -0:78 'g_tTex1df4a' (uniform texture1DArray) +0:78 move second child to first child ( temp uint) +0:78 'NumberOfLevelsU' ( temp uint) +0:78 textureQueryLevels ( temp uint) +0:78 'g_tTex1df4a' ( uniform texture1DArray) 0:81 Sequence -0:81 move second child to first child (temp 2-component vector of uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) -0:81 textureSize (temp 2-component vector of uint) -0:81 'g_tTex1di4a' (uniform itexture1DArray) -0:81 move second child to first child (temp uint) -0:81 'WidthU' (temp uint) -0:81 direct index (temp uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 move second child to first child ( temp 2-component vector of uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) +0:81 textureSize ( temp 2-component vector of uint) +0:81 'g_tTex1di4a' ( uniform itexture1DArray) 0:81 Constant: 0:81 0 (const int) -0:81 move second child to first child (temp uint) -0:81 'ElementsU' (temp uint) -0:81 direct index (temp uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 move second child to first child ( temp uint) +0:81 'WidthU' ( temp uint) +0:81 direct index ( temp uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) +0:81 Constant: +0:81 0 (const int) +0:81 move second child to first child ( temp uint) +0:81 'ElementsU' ( temp uint) +0:81 direct index ( temp uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) 0:81 Constant: 0:81 1 (const int) 0:82 Sequence -0:82 move second child to first child (temp 2-component vector of uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) -0:82 textureSize (temp 2-component vector of uint) -0:82 'g_tTex1di4a' (uniform itexture1DArray) +0:82 move second child to first child ( temp 2-component vector of uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) +0:82 textureSize ( temp 2-component vector of uint) +0:82 'g_tTex1di4a' ( uniform itexture1DArray) 0:82 Constant: 0:82 6 (const uint) -0:82 move second child to first child (temp uint) -0:82 'WidthU' (temp uint) -0:82 direct index (temp uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 move second child to first child ( temp uint) +0:82 'WidthU' ( temp uint) +0:82 direct index ( temp uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) 0:82 Constant: 0:82 0 (const int) -0:82 move second child to first child (temp uint) -0:82 'ElementsU' (temp uint) -0:82 direct index (temp uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 move second child to first child ( temp uint) +0:82 'ElementsU' ( temp uint) +0:82 direct index ( temp uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) 0:82 Constant: 0:82 1 (const int) -0:82 move second child to first child (temp uint) -0:82 'NumberOfLevelsU' (temp uint) -0:82 textureQueryLevels (temp uint) -0:82 'g_tTex1di4a' (uniform itexture1DArray) +0:82 move second child to first child ( temp uint) +0:82 'NumberOfLevelsU' ( temp uint) +0:82 textureQueryLevels ( temp uint) +0:82 'g_tTex1di4a' ( uniform itexture1DArray) 0:85 Sequence -0:85 move second child to first child (temp 2-component vector of uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) -0:85 textureSize (temp 2-component vector of uint) -0:85 'g_tTex1du4a' (uniform utexture1DArray) -0:85 move second child to first child (temp uint) -0:85 'WidthU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 move second child to first child ( temp 2-component vector of uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) +0:85 textureSize ( temp 2-component vector of uint) +0:85 'g_tTex1du4a' ( uniform utexture1DArray) +0:85 Constant: +0:85 0 (const int) +0:85 move second child to first child ( temp uint) +0:85 'WidthU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) 0:85 Constant: 0:85 0 (const int) -0:85 move second child to first child (temp uint) -0:85 'ElementsU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'ElementsU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) 0:85 Constant: 0:85 1 (const int) 0:86 Sequence -0:86 move second child to first child (temp 2-component vector of uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) -0:86 textureSize (temp 2-component vector of uint) -0:86 'g_tTex1du4a' (uniform utexture1DArray) +0:86 move second child to first child ( temp 2-component vector of uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) +0:86 textureSize ( temp 2-component vector of uint) +0:86 'g_tTex1du4a' ( uniform utexture1DArray) 0:86 Constant: 0:86 6 (const uint) -0:86 move second child to first child (temp uint) -0:86 'WidthU' (temp uint) -0:86 direct index (temp uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 move second child to first child ( temp uint) +0:86 'WidthU' ( temp uint) +0:86 direct index ( temp uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) 0:86 Constant: 0:86 0 (const int) -0:86 move second child to first child (temp uint) -0:86 'ElementsU' (temp uint) -0:86 direct index (temp uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 move second child to first child ( temp uint) +0:86 'ElementsU' ( temp uint) +0:86 direct index ( temp uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) 0:86 Constant: 0:86 1 (const int) -0:86 move second child to first child (temp uint) -0:86 'NumberOfLevelsU' (temp uint) -0:86 textureQueryLevels (temp uint) -0:86 'g_tTex1du4a' (uniform utexture1DArray) +0:86 move second child to first child ( temp uint) +0:86 'NumberOfLevelsU' ( temp uint) +0:86 textureQueryLevels ( temp uint) +0:86 'g_tTex1du4a' ( uniform utexture1DArray) 0:89 Sequence -0:89 move second child to first child (temp 2-component vector of uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) -0:89 textureSize (temp 2-component vector of uint) -0:89 'g_tTex2df4' (uniform texture2D) -0:89 move second child to first child (temp uint) -0:89 'WidthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 move second child to first child ( temp 2-component vector of uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) +0:89 textureSize ( temp 2-component vector of uint) +0:89 'g_tTex2df4' ( uniform texture2D) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child ( temp uint) +0:89 'WidthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) 0:89 Constant: 0:89 0 (const int) -0:89 move second child to first child (temp uint) -0:89 'HeightU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'HeightU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) 0:89 Constant: 0:89 1 (const int) 0:90 Sequence -0:90 move second child to first child (temp 2-component vector of uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) -0:90 textureSize (temp 2-component vector of uint) -0:90 'g_tTex2df4' (uniform texture2D) +0:90 move second child to first child ( temp 2-component vector of uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) +0:90 textureSize ( temp 2-component vector of uint) +0:90 'g_tTex2df4' ( uniform texture2D) 0:90 Constant: 0:90 6 (const uint) -0:90 move second child to first child (temp uint) -0:90 'WidthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'WidthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) 0:90 Constant: 0:90 0 (const int) -0:90 move second child to first child (temp uint) -0:90 'HeightU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'HeightU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) 0:90 Constant: 0:90 1 (const int) -0:90 move second child to first child (temp uint) -0:90 'NumberOfLevelsU' (temp uint) -0:90 textureQueryLevels (temp uint) -0:90 'g_tTex2df4' (uniform texture2D) +0:90 move second child to first child ( temp uint) +0:90 'NumberOfLevelsU' ( temp uint) +0:90 textureQueryLevels ( temp uint) +0:90 'g_tTex2df4' ( uniform texture2D) 0:93 Sequence -0:93 move second child to first child (temp 2-component vector of uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) -0:93 textureSize (temp 2-component vector of uint) -0:93 'g_tTex2di4' (uniform itexture2D) -0:93 move second child to first child (temp uint) -0:93 'WidthU' (temp uint) -0:93 direct index (temp uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) +0:93 move second child to first child ( temp 2-component vector of uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) +0:93 textureSize ( temp 2-component vector of uint) +0:93 'g_tTex2di4' ( uniform itexture2D) +0:93 Constant: +0:93 0 (const int) +0:93 move second child to first child ( temp uint) +0:93 'WidthU' ( temp uint) +0:93 direct index ( temp uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) 0:93 Constant: 0:93 0 (const int) -0:93 move second child to first child (temp uint) -0:93 'HeightU' (temp uint) -0:93 direct index (temp uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) +0:93 move second child to first child ( temp uint) +0:93 'HeightU' ( temp uint) +0:93 direct index ( temp uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) 0:93 Constant: 0:93 1 (const int) 0:94 Sequence -0:94 move second child to first child (temp 2-component vector of uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) -0:94 textureSize (temp 2-component vector of uint) -0:94 'g_tTex2di4' (uniform itexture2D) +0:94 move second child to first child ( temp 2-component vector of uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) +0:94 textureSize ( temp 2-component vector of uint) +0:94 'g_tTex2di4' ( uniform itexture2D) 0:94 Constant: 0:94 6 (const uint) -0:94 move second child to first child (temp uint) -0:94 'WidthU' (temp uint) -0:94 direct index (temp uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) +0:94 move second child to first child ( temp uint) +0:94 'WidthU' ( temp uint) +0:94 direct index ( temp uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) 0:94 Constant: 0:94 0 (const int) -0:94 move second child to first child (temp uint) -0:94 'HeightU' (temp uint) -0:94 direct index (temp uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) +0:94 move second child to first child ( temp uint) +0:94 'HeightU' ( temp uint) +0:94 direct index ( temp uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) 0:94 Constant: 0:94 1 (const int) -0:94 move second child to first child (temp uint) -0:94 'NumberOfLevelsU' (temp uint) -0:94 textureQueryLevels (temp uint) -0:94 'g_tTex2di4' (uniform itexture2D) +0:94 move second child to first child ( temp uint) +0:94 'NumberOfLevelsU' ( temp uint) +0:94 textureQueryLevels ( temp uint) +0:94 'g_tTex2di4' ( uniform itexture2D) 0:97 Sequence -0:97 move second child to first child (temp 2-component vector of uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) -0:97 textureSize (temp 2-component vector of uint) -0:97 'g_tTex2du4' (uniform utexture2D) -0:97 move second child to first child (temp uint) -0:97 'WidthU' (temp uint) -0:97 direct index (temp uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) +0:97 move second child to first child ( temp 2-component vector of uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) +0:97 textureSize ( temp 2-component vector of uint) +0:97 'g_tTex2du4' ( uniform utexture2D) 0:97 Constant: 0:97 0 (const int) -0:97 move second child to first child (temp uint) -0:97 'HeightU' (temp uint) -0:97 direct index (temp uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) +0:97 move second child to first child ( temp uint) +0:97 'WidthU' ( temp uint) +0:97 direct index ( temp uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) +0:97 Constant: +0:97 0 (const int) +0:97 move second child to first child ( temp uint) +0:97 'HeightU' ( temp uint) +0:97 direct index ( temp uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) 0:97 Constant: 0:97 1 (const int) 0:98 Sequence -0:98 move second child to first child (temp 2-component vector of uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) -0:98 textureSize (temp 2-component vector of uint) -0:98 'g_tTex2du4' (uniform utexture2D) +0:98 move second child to first child ( temp 2-component vector of uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) +0:98 textureSize ( temp 2-component vector of uint) +0:98 'g_tTex2du4' ( uniform utexture2D) 0:98 Constant: 0:98 6 (const uint) -0:98 move second child to first child (temp uint) -0:98 'WidthU' (temp uint) -0:98 direct index (temp uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp uint) +0:98 'WidthU' ( temp uint) +0:98 direct index ( temp uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) 0:98 Constant: 0:98 0 (const int) -0:98 move second child to first child (temp uint) -0:98 'HeightU' (temp uint) -0:98 direct index (temp uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp uint) +0:98 'HeightU' ( temp uint) +0:98 direct index ( temp uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) 0:98 Constant: 0:98 1 (const int) -0:98 move second child to first child (temp uint) -0:98 'NumberOfLevelsU' (temp uint) -0:98 textureQueryLevels (temp uint) -0:98 'g_tTex2du4' (uniform utexture2D) +0:98 move second child to first child ( temp uint) +0:98 'NumberOfLevelsU' ( temp uint) +0:98 textureQueryLevels ( temp uint) +0:98 'g_tTex2du4' ( uniform utexture2D) 0:101 Sequence -0:101 move second child to first child (temp 3-component vector of uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) -0:101 textureSize (temp 3-component vector of uint) -0:101 'g_tTex2df4a' (uniform texture2DArray) -0:101 move second child to first child (temp uint) -0:101 'WidthU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp 3-component vector of uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) +0:101 textureSize ( temp 3-component vector of uint) +0:101 'g_tTex2df4a' ( uniform texture2DArray) 0:101 Constant: 0:101 0 (const int) -0:101 move second child to first child (temp uint) -0:101 'HeightU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp uint) +0:101 'WidthU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) +0:101 Constant: +0:101 0 (const int) +0:101 move second child to first child ( temp uint) +0:101 'HeightU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) 0:101 Constant: 0:101 1 (const int) -0:101 move second child to first child (temp uint) -0:101 'ElementsU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp uint) +0:101 'ElementsU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) 0:101 Constant: 0:101 2 (const int) 0:102 Sequence -0:102 move second child to first child (temp 3-component vector of uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) -0:102 textureSize (temp 3-component vector of uint) -0:102 'g_tTex2df4a' (uniform texture2DArray) +0:102 move second child to first child ( temp 3-component vector of uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) +0:102 textureSize ( temp 3-component vector of uint) +0:102 'g_tTex2df4a' ( uniform texture2DArray) 0:102 Constant: 0:102 6 (const uint) -0:102 move second child to first child (temp uint) -0:102 'WidthU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'WidthU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 0 (const int) -0:102 move second child to first child (temp uint) -0:102 'HeightU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'HeightU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 1 (const int) -0:102 move second child to first child (temp uint) -0:102 'ElementsU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'ElementsU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 2 (const int) -0:102 move second child to first child (temp uint) -0:102 'NumberOfLevelsU' (temp uint) -0:102 textureQueryLevels (temp uint) -0:102 'g_tTex2df4a' (uniform texture2DArray) +0:102 move second child to first child ( temp uint) +0:102 'NumberOfLevelsU' ( temp uint) +0:102 textureQueryLevels ( temp uint) +0:102 'g_tTex2df4a' ( uniform texture2DArray) 0:105 Sequence -0:105 move second child to first child (temp 3-component vector of uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) -0:105 textureSize (temp 3-component vector of uint) -0:105 'g_tTex2di4a' (uniform itexture2DArray) -0:105 move second child to first child (temp uint) -0:105 'WidthU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp 3-component vector of uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) +0:105 textureSize ( temp 3-component vector of uint) +0:105 'g_tTex2di4a' ( uniform itexture2DArray) +0:105 Constant: +0:105 0 (const int) +0:105 move second child to first child ( temp uint) +0:105 'WidthU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 0 (const int) -0:105 move second child to first child (temp uint) -0:105 'HeightU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp uint) +0:105 'HeightU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 1 (const int) -0:105 move second child to first child (temp uint) -0:105 'ElementsU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp uint) +0:105 'ElementsU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 2 (const int) 0:106 Sequence -0:106 move second child to first child (temp 3-component vector of uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) -0:106 textureSize (temp 3-component vector of uint) -0:106 'g_tTex2di4a' (uniform itexture2DArray) +0:106 move second child to first child ( temp 3-component vector of uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) +0:106 textureSize ( temp 3-component vector of uint) +0:106 'g_tTex2di4a' ( uniform itexture2DArray) 0:106 Constant: 0:106 6 (const uint) -0:106 move second child to first child (temp uint) -0:106 'WidthU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'WidthU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 0 (const int) -0:106 move second child to first child (temp uint) -0:106 'HeightU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'HeightU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 1 (const int) -0:106 move second child to first child (temp uint) -0:106 'ElementsU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'ElementsU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 2 (const int) -0:106 move second child to first child (temp uint) -0:106 'NumberOfLevelsU' (temp uint) -0:106 textureQueryLevels (temp uint) -0:106 'g_tTex2di4a' (uniform itexture2DArray) +0:106 move second child to first child ( temp uint) +0:106 'NumberOfLevelsU' ( temp uint) +0:106 textureQueryLevels ( temp uint) +0:106 'g_tTex2di4a' ( uniform itexture2DArray) 0:109 Sequence -0:109 move second child to first child (temp 3-component vector of uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) -0:109 textureSize (temp 3-component vector of uint) -0:109 'g_tTex2du4a' (uniform utexture2DArray) -0:109 move second child to first child (temp uint) -0:109 'WidthU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp 3-component vector of uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) +0:109 textureSize ( temp 3-component vector of uint) +0:109 'g_tTex2du4a' ( uniform utexture2DArray) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child ( temp uint) +0:109 'WidthU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) 0:109 Constant: 0:109 0 (const int) -0:109 move second child to first child (temp uint) -0:109 'HeightU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp uint) +0:109 'HeightU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) 0:109 Constant: 0:109 1 (const int) -0:109 move second child to first child (temp uint) -0:109 'ElementsU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp uint) +0:109 'ElementsU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) 0:109 Constant: 0:109 2 (const int) 0:110 Sequence -0:110 move second child to first child (temp 3-component vector of uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) -0:110 textureSize (temp 3-component vector of uint) -0:110 'g_tTex2du4a' (uniform utexture2DArray) +0:110 move second child to first child ( temp 3-component vector of uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) +0:110 textureSize ( temp 3-component vector of uint) +0:110 'g_tTex2du4a' ( uniform utexture2DArray) 0:110 Constant: 0:110 6 (const uint) -0:110 move second child to first child (temp uint) -0:110 'WidthU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'WidthU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 0 (const int) -0:110 move second child to first child (temp uint) -0:110 'HeightU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'HeightU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 1 (const int) -0:110 move second child to first child (temp uint) -0:110 'ElementsU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'ElementsU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 2 (const int) -0:110 move second child to first child (temp uint) -0:110 'NumberOfLevelsU' (temp uint) -0:110 textureQueryLevels (temp uint) -0:110 'g_tTex2du4a' (uniform utexture2DArray) +0:110 move second child to first child ( temp uint) +0:110 'NumberOfLevelsU' ( temp uint) +0:110 textureQueryLevels ( temp uint) +0:110 'g_tTex2du4a' ( uniform utexture2DArray) 0:113 Sequence -0:113 move second child to first child (temp 3-component vector of uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) -0:113 textureSize (temp 3-component vector of uint) -0:113 'g_tTex3df4' (uniform texture3D) -0:113 move second child to first child (temp uint) -0:113 'WidthU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp 3-component vector of uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) +0:113 textureSize ( temp 3-component vector of uint) +0:113 'g_tTex3df4' ( uniform texture3D) +0:113 Constant: +0:113 0 (const int) +0:113 move second child to first child ( temp uint) +0:113 'WidthU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 0 (const int) -0:113 move second child to first child (temp uint) -0:113 'HeightU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp uint) +0:113 'HeightU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 1 (const int) -0:113 move second child to first child (temp uint) -0:113 'DepthU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp uint) +0:113 'DepthU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 2 (const int) 0:114 Sequence -0:114 move second child to first child (temp 3-component vector of uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) -0:114 textureSize (temp 3-component vector of uint) -0:114 'g_tTex3df4' (uniform texture3D) +0:114 move second child to first child ( temp 3-component vector of uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) +0:114 textureSize ( temp 3-component vector of uint) +0:114 'g_tTex3df4' ( uniform texture3D) 0:114 Constant: 0:114 6 (const uint) -0:114 move second child to first child (temp uint) -0:114 'WidthU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'WidthU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 0 (const int) -0:114 move second child to first child (temp uint) -0:114 'HeightU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'HeightU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 1 (const int) -0:114 move second child to first child (temp uint) -0:114 'DepthU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'DepthU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 2 (const int) -0:114 move second child to first child (temp uint) -0:114 'NumberOfLevelsU' (temp uint) -0:114 textureQueryLevels (temp uint) -0:114 'g_tTex3df4' (uniform texture3D) +0:114 move second child to first child ( temp uint) +0:114 'NumberOfLevelsU' ( temp uint) +0:114 textureQueryLevels ( temp uint) +0:114 'g_tTex3df4' ( uniform texture3D) 0:117 Sequence -0:117 move second child to first child (temp 3-component vector of uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) -0:117 textureSize (temp 3-component vector of uint) -0:117 'g_tTex3di4' (uniform itexture3D) -0:117 move second child to first child (temp uint) -0:117 'WidthU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp 3-component vector of uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) +0:117 textureSize ( temp 3-component vector of uint) +0:117 'g_tTex3di4' ( uniform itexture3D) 0:117 Constant: 0:117 0 (const int) -0:117 move second child to first child (temp uint) -0:117 'HeightU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp uint) +0:117 'WidthU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) +0:117 Constant: +0:117 0 (const int) +0:117 move second child to first child ( temp uint) +0:117 'HeightU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) 0:117 Constant: 0:117 1 (const int) -0:117 move second child to first child (temp uint) -0:117 'DepthU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp uint) +0:117 'DepthU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) 0:117 Constant: 0:117 2 (const int) 0:118 Sequence -0:118 move second child to first child (temp 3-component vector of uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) -0:118 textureSize (temp 3-component vector of uint) -0:118 'g_tTex3di4' (uniform itexture3D) +0:118 move second child to first child ( temp 3-component vector of uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) +0:118 textureSize ( temp 3-component vector of uint) +0:118 'g_tTex3di4' ( uniform itexture3D) 0:118 Constant: 0:118 6 (const uint) -0:118 move second child to first child (temp uint) -0:118 'WidthU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'WidthU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 0 (const int) -0:118 move second child to first child (temp uint) -0:118 'HeightU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'HeightU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 1 (const int) -0:118 move second child to first child (temp uint) -0:118 'DepthU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'DepthU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 2 (const int) -0:118 move second child to first child (temp uint) -0:118 'NumberOfLevelsU' (temp uint) -0:118 textureQueryLevels (temp uint) -0:118 'g_tTex3di4' (uniform itexture3D) +0:118 move second child to first child ( temp uint) +0:118 'NumberOfLevelsU' ( temp uint) +0:118 textureQueryLevels ( temp uint) +0:118 'g_tTex3di4' ( uniform itexture3D) 0:121 Sequence -0:121 move second child to first child (temp 3-component vector of uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) -0:121 textureSize (temp 3-component vector of uint) -0:121 'g_tTex3du4' (uniform utexture3D) -0:121 move second child to first child (temp uint) -0:121 'WidthU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp 3-component vector of uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) +0:121 textureSize ( temp 3-component vector of uint) +0:121 'g_tTex3du4' ( uniform utexture3D) 0:121 Constant: 0:121 0 (const int) -0:121 move second child to first child (temp uint) -0:121 'HeightU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp uint) +0:121 'WidthU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) +0:121 Constant: +0:121 0 (const int) +0:121 move second child to first child ( temp uint) +0:121 'HeightU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) 0:121 Constant: 0:121 1 (const int) -0:121 move second child to first child (temp uint) -0:121 'DepthU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp uint) +0:121 'DepthU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) 0:121 Constant: 0:121 2 (const int) 0:122 Sequence -0:122 move second child to first child (temp 3-component vector of uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) -0:122 textureSize (temp 3-component vector of uint) -0:122 'g_tTex3du4' (uniform utexture3D) +0:122 move second child to first child ( temp 3-component vector of uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) +0:122 textureSize ( temp 3-component vector of uint) +0:122 'g_tTex3du4' ( uniform utexture3D) 0:122 Constant: 0:122 6 (const uint) -0:122 move second child to first child (temp uint) -0:122 'WidthU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'WidthU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 0 (const int) -0:122 move second child to first child (temp uint) -0:122 'HeightU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'HeightU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 1 (const int) -0:122 move second child to first child (temp uint) -0:122 'DepthU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'DepthU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 2 (const int) -0:122 move second child to first child (temp uint) -0:122 'NumberOfLevelsU' (temp uint) -0:122 textureQueryLevels (temp uint) -0:122 'g_tTex3du4' (uniform utexture3D) +0:122 move second child to first child ( temp uint) +0:122 'NumberOfLevelsU' ( temp uint) +0:122 textureQueryLevels ( temp uint) +0:122 'g_tTex3du4' ( uniform utexture3D) 0:125 Sequence -0:125 move second child to first child (temp 2-component vector of uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) -0:125 textureSize (temp 2-component vector of uint) -0:125 'g_tTexcdf4' (uniform textureCube) -0:125 move second child to first child (temp uint) -0:125 'WidthU' (temp uint) -0:125 direct index (temp uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 move second child to first child ( temp 2-component vector of uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) +0:125 textureSize ( temp 2-component vector of uint) +0:125 'g_tTexcdf4' ( uniform textureCube) +0:125 Constant: +0:125 0 (const int) +0:125 move second child to first child ( temp uint) +0:125 'WidthU' ( temp uint) +0:125 direct index ( temp uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) 0:125 Constant: 0:125 0 (const int) -0:125 move second child to first child (temp uint) -0:125 'HeightU' (temp uint) -0:125 direct index (temp uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 move second child to first child ( temp uint) +0:125 'HeightU' ( temp uint) +0:125 direct index ( temp uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) 0:125 Constant: 0:125 1 (const int) 0:126 Sequence -0:126 move second child to first child (temp 2-component vector of uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) -0:126 textureSize (temp 2-component vector of uint) -0:126 'g_tTexcdf4' (uniform textureCube) +0:126 move second child to first child ( temp 2-component vector of uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) +0:126 textureSize ( temp 2-component vector of uint) +0:126 'g_tTexcdf4' ( uniform textureCube) 0:126 Constant: 0:126 6 (const uint) -0:126 move second child to first child (temp uint) -0:126 'WidthU' (temp uint) -0:126 direct index (temp uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 move second child to first child ( temp uint) +0:126 'WidthU' ( temp uint) +0:126 direct index ( temp uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) 0:126 Constant: 0:126 0 (const int) -0:126 move second child to first child (temp uint) -0:126 'HeightU' (temp uint) -0:126 direct index (temp uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 move second child to first child ( temp uint) +0:126 'HeightU' ( temp uint) +0:126 direct index ( temp uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) 0:126 Constant: 0:126 1 (const int) -0:126 move second child to first child (temp uint) -0:126 'NumberOfLevelsU' (temp uint) -0:126 textureQueryLevels (temp uint) -0:126 'g_tTexcdf4' (uniform textureCube) +0:126 move second child to first child ( temp uint) +0:126 'NumberOfLevelsU' ( temp uint) +0:126 textureQueryLevels ( temp uint) +0:126 'g_tTexcdf4' ( uniform textureCube) 0:129 Sequence -0:129 move second child to first child (temp 2-component vector of uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) -0:129 textureSize (temp 2-component vector of uint) -0:129 'g_tTexcdi4' (uniform itextureCube) -0:129 move second child to first child (temp uint) -0:129 'WidthU' (temp uint) -0:129 direct index (temp uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) +0:129 move second child to first child ( temp 2-component vector of uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) +0:129 textureSize ( temp 2-component vector of uint) +0:129 'g_tTexcdi4' ( uniform itextureCube) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child ( temp uint) +0:129 'WidthU' ( temp uint) +0:129 direct index ( temp uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) 0:129 Constant: 0:129 0 (const int) -0:129 move second child to first child (temp uint) -0:129 'HeightU' (temp uint) -0:129 direct index (temp uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) +0:129 move second child to first child ( temp uint) +0:129 'HeightU' ( temp uint) +0:129 direct index ( temp uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) 0:129 Constant: 0:129 1 (const int) 0:130 Sequence -0:130 move second child to first child (temp 2-component vector of uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) -0:130 textureSize (temp 2-component vector of uint) -0:130 'g_tTexcdi4' (uniform itextureCube) +0:130 move second child to first child ( temp 2-component vector of uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) +0:130 textureSize ( temp 2-component vector of uint) +0:130 'g_tTexcdi4' ( uniform itextureCube) 0:130 Constant: 0:130 6 (const uint) -0:130 move second child to first child (temp uint) -0:130 'WidthU' (temp uint) -0:130 direct index (temp uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) +0:130 move second child to first child ( temp uint) +0:130 'WidthU' ( temp uint) +0:130 direct index ( temp uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) 0:130 Constant: 0:130 0 (const int) -0:130 move second child to first child (temp uint) -0:130 'HeightU' (temp uint) -0:130 direct index (temp uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) +0:130 move second child to first child ( temp uint) +0:130 'HeightU' ( temp uint) +0:130 direct index ( temp uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) 0:130 Constant: 0:130 1 (const int) -0:130 move second child to first child (temp uint) -0:130 'NumberOfLevelsU' (temp uint) -0:130 textureQueryLevels (temp uint) -0:130 'g_tTexcdi4' (uniform itextureCube) +0:130 move second child to first child ( temp uint) +0:130 'NumberOfLevelsU' ( temp uint) +0:130 textureQueryLevels ( temp uint) +0:130 'g_tTexcdi4' ( uniform itextureCube) 0:133 Sequence -0:133 move second child to first child (temp 2-component vector of uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) -0:133 textureSize (temp 2-component vector of uint) -0:133 'g_tTexcdu4' (uniform utextureCube) -0:133 move second child to first child (temp uint) -0:133 'WidthU' (temp uint) -0:133 direct index (temp uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) +0:133 move second child to first child ( temp 2-component vector of uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) +0:133 textureSize ( temp 2-component vector of uint) +0:133 'g_tTexcdu4' ( uniform utextureCube) +0:133 Constant: +0:133 0 (const int) +0:133 move second child to first child ( temp uint) +0:133 'WidthU' ( temp uint) +0:133 direct index ( temp uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) 0:133 Constant: 0:133 0 (const int) -0:133 move second child to first child (temp uint) -0:133 'HeightU' (temp uint) -0:133 direct index (temp uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) +0:133 move second child to first child ( temp uint) +0:133 'HeightU' ( temp uint) +0:133 direct index ( temp uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) 0:133 Constant: 0:133 1 (const int) 0:134 Sequence -0:134 move second child to first child (temp 2-component vector of uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) -0:134 textureSize (temp 2-component vector of uint) -0:134 'g_tTexcdu4' (uniform utextureCube) +0:134 move second child to first child ( temp 2-component vector of uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) +0:134 textureSize ( temp 2-component vector of uint) +0:134 'g_tTexcdu4' ( uniform utextureCube) 0:134 Constant: 0:134 6 (const uint) -0:134 move second child to first child (temp uint) -0:134 'WidthU' (temp uint) -0:134 direct index (temp uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) +0:134 move second child to first child ( temp uint) +0:134 'WidthU' ( temp uint) +0:134 direct index ( temp uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) 0:134 Constant: 0:134 0 (const int) -0:134 move second child to first child (temp uint) -0:134 'HeightU' (temp uint) -0:134 direct index (temp uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) +0:134 move second child to first child ( temp uint) +0:134 'HeightU' ( temp uint) +0:134 direct index ( temp uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) 0:134 Constant: 0:134 1 (const int) -0:134 move second child to first child (temp uint) -0:134 'NumberOfLevelsU' (temp uint) -0:134 textureQueryLevels (temp uint) -0:134 'g_tTexcdu4' (uniform utextureCube) +0:134 move second child to first child ( temp uint) +0:134 'NumberOfLevelsU' ( temp uint) +0:134 textureQueryLevels ( temp uint) +0:134 'g_tTexcdu4' ( uniform utextureCube) 0:137 Sequence -0:137 move second child to first child (temp 3-component vector of uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) -0:137 textureSize (temp 3-component vector of uint) -0:137 'g_tTexcdf4a' (uniform textureCubeArray) -0:137 move second child to first child (temp uint) -0:137 'WidthU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp 3-component vector of uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) +0:137 textureSize ( temp 3-component vector of uint) +0:137 'g_tTexcdf4a' ( uniform textureCubeArray) 0:137 Constant: 0:137 0 (const int) -0:137 move second child to first child (temp uint) -0:137 'HeightU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp uint) +0:137 'WidthU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) +0:137 Constant: +0:137 0 (const int) +0:137 move second child to first child ( temp uint) +0:137 'HeightU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) 0:137 Constant: 0:137 1 (const int) -0:137 move second child to first child (temp uint) -0:137 'ElementsU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp uint) +0:137 'ElementsU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) 0:137 Constant: 0:137 2 (const int) 0:138 Sequence -0:138 move second child to first child (temp 3-component vector of uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) -0:138 textureSize (temp 3-component vector of uint) -0:138 'g_tTexcdf4a' (uniform textureCubeArray) +0:138 move second child to first child ( temp 3-component vector of uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) +0:138 textureSize ( temp 3-component vector of uint) +0:138 'g_tTexcdf4a' ( uniform textureCubeArray) 0:138 Constant: 0:138 6 (const uint) -0:138 move second child to first child (temp uint) -0:138 'WidthU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'WidthU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 0 (const int) -0:138 move second child to first child (temp uint) -0:138 'HeightU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'HeightU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 1 (const int) -0:138 move second child to first child (temp uint) -0:138 'ElementsU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'ElementsU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 2 (const int) -0:138 move second child to first child (temp uint) -0:138 'NumberOfLevelsU' (temp uint) -0:138 textureQueryLevels (temp uint) -0:138 'g_tTexcdf4a' (uniform textureCubeArray) +0:138 move second child to first child ( temp uint) +0:138 'NumberOfLevelsU' ( temp uint) +0:138 textureQueryLevels ( temp uint) +0:138 'g_tTexcdf4a' ( uniform textureCubeArray) 0:141 Sequence -0:141 move second child to first child (temp 3-component vector of uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) -0:141 textureSize (temp 3-component vector of uint) -0:141 'g_tTexcdi4a' (uniform itextureCubeArray) -0:141 move second child to first child (temp uint) -0:141 'WidthU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp 3-component vector of uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) +0:141 textureSize ( temp 3-component vector of uint) +0:141 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:141 Constant: 0:141 0 (const int) -0:141 move second child to first child (temp uint) -0:141 'HeightU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp uint) +0:141 'WidthU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) +0:141 Constant: +0:141 0 (const int) +0:141 move second child to first child ( temp uint) +0:141 'HeightU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) 0:141 Constant: 0:141 1 (const int) -0:141 move second child to first child (temp uint) -0:141 'ElementsU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp uint) +0:141 'ElementsU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) 0:141 Constant: 0:141 2 (const int) 0:142 Sequence -0:142 move second child to first child (temp 3-component vector of uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) -0:142 textureSize (temp 3-component vector of uint) -0:142 'g_tTexcdi4a' (uniform itextureCubeArray) +0:142 move second child to first child ( temp 3-component vector of uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) +0:142 textureSize ( temp 3-component vector of uint) +0:142 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:142 Constant: 0:142 6 (const uint) -0:142 move second child to first child (temp uint) -0:142 'WidthU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'WidthU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 0 (const int) -0:142 move second child to first child (temp uint) -0:142 'HeightU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'HeightU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 1 (const int) -0:142 move second child to first child (temp uint) -0:142 'ElementsU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'ElementsU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 2 (const int) -0:142 move second child to first child (temp uint) -0:142 'NumberOfLevelsU' (temp uint) -0:142 textureQueryLevels (temp uint) -0:142 'g_tTexcdi4a' (uniform itextureCubeArray) +0:142 move second child to first child ( temp uint) +0:142 'NumberOfLevelsU' ( temp uint) +0:142 textureQueryLevels ( temp uint) +0:142 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:145 Sequence -0:145 move second child to first child (temp 3-component vector of uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) -0:145 textureSize (temp 3-component vector of uint) -0:145 'g_tTexcdu4a' (uniform utextureCubeArray) -0:145 move second child to first child (temp uint) -0:145 'WidthU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp 3-component vector of uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) +0:145 textureSize ( temp 3-component vector of uint) +0:145 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:145 Constant: 0:145 0 (const int) -0:145 move second child to first child (temp uint) -0:145 'HeightU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp uint) +0:145 'WidthU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) +0:145 Constant: +0:145 0 (const int) +0:145 move second child to first child ( temp uint) +0:145 'HeightU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) 0:145 Constant: 0:145 1 (const int) -0:145 move second child to first child (temp uint) -0:145 'ElementsU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp uint) +0:145 'ElementsU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) 0:145 Constant: 0:145 2 (const int) 0:146 Sequence -0:146 move second child to first child (temp 3-component vector of uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) -0:146 textureSize (temp 3-component vector of uint) -0:146 'g_tTexcdu4a' (uniform utextureCubeArray) +0:146 move second child to first child ( temp 3-component vector of uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) +0:146 textureSize ( temp 3-component vector of uint) +0:146 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:146 Constant: 0:146 6 (const uint) -0:146 move second child to first child (temp uint) -0:146 'WidthU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'WidthU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 0 (const int) -0:146 move second child to first child (temp uint) -0:146 'HeightU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'HeightU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 1 (const int) -0:146 move second child to first child (temp uint) -0:146 'ElementsU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'ElementsU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 2 (const int) -0:146 move second child to first child (temp uint) -0:146 'NumberOfLevelsU' (temp uint) -0:146 textureQueryLevels (temp uint) -0:146 'g_tTexcdu4a' (uniform utextureCubeArray) +0:146 move second child to first child ( temp uint) +0:146 'NumberOfLevelsU' ( temp uint) +0:146 textureQueryLevels ( temp uint) +0:146 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:149 Sequence -0:149 move second child to first child (temp 2-component vector of uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) -0:149 textureSize (temp 2-component vector of uint) -0:149 'g_tTex2dmsf4' (uniform texture2DMS) -0:149 move second child to first child (temp uint) -0:149 'WidthU' (temp uint) -0:149 direct index (temp uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) +0:149 move second child to first child ( temp 2-component vector of uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) +0:149 textureSize ( temp 2-component vector of uint) +0:149 'g_tTex2dmsf4' ( uniform texture2DMS) +0:149 move second child to first child ( temp uint) +0:149 'WidthU' ( temp uint) +0:149 direct index ( temp uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) 0:149 Constant: 0:149 0 (const int) -0:149 move second child to first child (temp uint) -0:149 'HeightU' (temp uint) -0:149 direct index (temp uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) +0:149 move second child to first child ( temp uint) +0:149 'HeightU' ( temp uint) +0:149 direct index ( temp uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) 0:149 Constant: 0:149 1 (const int) -0:149 move second child to first child (temp uint) -0:149 'NumberOfSamplesU' (temp uint) -0:149 imageQuerySamples (temp uint) -0:149 'g_tTex2dmsf4' (uniform texture2DMS) +0:149 move second child to first child ( temp uint) +0:149 'NumberOfSamplesU' ( temp uint) +0:149 imageQuerySamples ( temp uint) +0:149 'g_tTex2dmsf4' ( uniform texture2DMS) 0:152 Sequence -0:152 move second child to first child (temp 2-component vector of uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) -0:152 textureSize (temp 2-component vector of uint) -0:152 'g_tTex2dmsi4' (uniform itexture2DMS) -0:152 move second child to first child (temp uint) -0:152 'WidthU' (temp uint) -0:152 direct index (temp uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) +0:152 move second child to first child ( temp 2-component vector of uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) +0:152 textureSize ( temp 2-component vector of uint) +0:152 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:152 move second child to first child ( temp uint) +0:152 'WidthU' ( temp uint) +0:152 direct index ( temp uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) 0:152 Constant: 0:152 0 (const int) -0:152 move second child to first child (temp uint) -0:152 'HeightU' (temp uint) -0:152 direct index (temp uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) +0:152 move second child to first child ( temp uint) +0:152 'HeightU' ( temp uint) +0:152 direct index ( temp uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) 0:152 Constant: 0:152 1 (const int) -0:152 move second child to first child (temp uint) -0:152 'NumberOfSamplesU' (temp uint) -0:152 imageQuerySamples (temp uint) -0:152 'g_tTex2dmsi4' (uniform itexture2DMS) +0:152 move second child to first child ( temp uint) +0:152 'NumberOfSamplesU' ( temp uint) +0:152 imageQuerySamples ( temp uint) +0:152 'g_tTex2dmsi4' ( uniform itexture2DMS) 0:155 Sequence -0:155 move second child to first child (temp 2-component vector of uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) -0:155 textureSize (temp 2-component vector of uint) -0:155 'g_tTex2dmsu4' (uniform utexture2DMS) -0:155 move second child to first child (temp uint) -0:155 'WidthU' (temp uint) -0:155 direct index (temp uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) +0:155 move second child to first child ( temp 2-component vector of uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) +0:155 textureSize ( temp 2-component vector of uint) +0:155 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:155 move second child to first child ( temp uint) +0:155 'WidthU' ( temp uint) +0:155 direct index ( temp uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) 0:155 Constant: 0:155 0 (const int) -0:155 move second child to first child (temp uint) -0:155 'HeightU' (temp uint) -0:155 direct index (temp uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) +0:155 move second child to first child ( temp uint) +0:155 'HeightU' ( temp uint) +0:155 direct index ( temp uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) 0:155 Constant: 0:155 1 (const int) -0:155 move second child to first child (temp uint) -0:155 'NumberOfSamplesU' (temp uint) -0:155 imageQuerySamples (temp uint) -0:155 'g_tTex2dmsu4' (uniform utexture2DMS) +0:155 move second child to first child ( temp uint) +0:155 'NumberOfSamplesU' ( temp uint) +0:155 imageQuerySamples ( temp uint) +0:155 'g_tTex2dmsu4' ( uniform utexture2DMS) 0:158 Sequence -0:158 move second child to first child (temp 3-component vector of uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) -0:158 textureSize (temp 3-component vector of uint) -0:158 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:158 move second child to first child (temp uint) -0:158 'WidthU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp 3-component vector of uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) +0:158 textureSize ( temp 3-component vector of uint) +0:158 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:158 move second child to first child ( temp uint) +0:158 'WidthU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 0 (const int) -0:158 move second child to first child (temp uint) -0:158 'HeightU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp uint) +0:158 'HeightU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 1 (const int) -0:158 move second child to first child (temp uint) -0:158 'ElementsU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp uint) +0:158 'ElementsU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 2 (const int) -0:158 move second child to first child (temp uint) -0:158 'NumberOfSamplesU' (temp uint) -0:158 imageQuerySamples (temp uint) -0:158 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:158 move second child to first child ( temp uint) +0:158 'NumberOfSamplesU' ( temp uint) +0:158 imageQuerySamples ( temp uint) +0:158 'g_tTex2dmsf4a' ( uniform texture2DMSArray) 0:161 Sequence -0:161 move second child to first child (temp 3-component vector of uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) -0:161 textureSize (temp 3-component vector of uint) -0:161 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:161 move second child to first child (temp uint) -0:161 'WidthU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp 3-component vector of uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) +0:161 textureSize ( temp 3-component vector of uint) +0:161 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:161 move second child to first child ( temp uint) +0:161 'WidthU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 0 (const int) -0:161 move second child to first child (temp uint) -0:161 'HeightU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp uint) +0:161 'HeightU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 1 (const int) -0:161 move second child to first child (temp uint) -0:161 'ElementsU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp uint) +0:161 'ElementsU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 2 (const int) -0:161 move second child to first child (temp uint) -0:161 'NumberOfSamplesU' (temp uint) -0:161 imageQuerySamples (temp uint) -0:161 'g_tTex2dmsi4a' (uniform itexture2DMSArray) +0:161 move second child to first child ( temp uint) +0:161 'NumberOfSamplesU' ( temp uint) +0:161 imageQuerySamples ( temp uint) +0:161 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) 0:164 Sequence -0:164 move second child to first child (temp 3-component vector of uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) -0:164 textureSize (temp 3-component vector of uint) -0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:164 move second child to first child (temp uint) -0:164 'WidthU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp 3-component vector of uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) +0:164 textureSize ( temp 3-component vector of uint) +0:164 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:164 move second child to first child ( temp uint) +0:164 'WidthU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 0 (const int) -0:164 move second child to first child (temp uint) -0:164 'HeightU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp uint) +0:164 'HeightU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 1 (const int) -0:164 move second child to first child (temp uint) -0:164 'ElementsU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp uint) +0:164 'ElementsU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 2 (const int) -0:164 move second child to first child (temp uint) -0:164 'NumberOfSamplesU' (temp uint) -0:164 imageQuerySamples (temp uint) -0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:276 move second child to first child (temp 4-component vector of float) -0:276 Color: direct index for structure (temp 4-component vector of float) -0:276 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:164 move second child to first child ( temp uint) +0:164 'NumberOfSamplesU' ( temp uint) +0:164 imageQuerySamples ( temp uint) +0:164 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:276 move second child to first child ( temp 4-component vector of float) +0:276 Color: direct index for structure ( temp 4-component vector of float) +0:276 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:276 Constant: 0:276 0 (const int) 0:276 Constant: @@ -1053,59 +1095,65 @@ gl_FragCoord origin is upper left 0:276 1.000000 0:276 1.000000 0:276 1.000000 -0:277 move second child to first child (temp float) -0:277 Depth: direct index for structure (temp float) -0:277 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:277 move second child to first child ( temp float) +0:277 Depth: direct index for structure ( temp float) +0:277 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:277 Constant: 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 Sequence -0:279 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:279 Color: direct index for structure (temp 4-component vector of float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 0 (const int) -0:279 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:279 Depth: direct index for structure (temp float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 1 (const int) -0:279 Branch: Return +0:279 Branch: Return with expression +0:279 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: main( ( temp void) +0:46 Function Parameters: +0:? Sequence +0:46 Sequence +0:46 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:46 Color: direct index for structure ( temp 4-component vector of float) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 0 (const int) +0:46 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:46 Depth: direct index for structure ( temp float) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsi4' (uniform itexture2DMS) -0:? 'g_tTex2dmsu4' (uniform utexture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:? 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:? 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -1114,1050 +1162,1092 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:46 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Function Parameters: 0:? Sequence 0:65 Sequence -0:65 move second child to first child (temp uint) -0:65 'sizeQueryTemp' (temp uint) -0:65 textureSize (temp uint) -0:65 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:65 move second child to first child (temp uint) -0:65 'WidthU' (temp uint) -0:65 'sizeQueryTemp' (temp uint) +0:65 move second child to first child ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) +0:65 textureSize ( temp uint) +0:65 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:65 Constant: +0:65 0 (const int) +0:65 move second child to first child ( temp uint) +0:65 'WidthU' ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) 0:66 Sequence -0:66 move second child to first child (temp uint) -0:66 'sizeQueryTemp' (temp uint) -0:66 textureSize (temp uint) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:66 move second child to first child ( temp uint) +0:66 'sizeQueryTemp' ( temp uint) +0:66 textureSize ( temp uint) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:66 Constant: 0:66 6 (const uint) -0:66 move second child to first child (temp uint) -0:66 'WidthU' (temp uint) -0:66 'sizeQueryTemp' (temp uint) -0:66 move second child to first child (temp uint) -0:66 'NumberOfLevelsU' (temp uint) -0:66 textureQueryLevels (temp uint) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:66 move second child to first child ( temp uint) +0:66 'WidthU' ( temp uint) +0:66 'sizeQueryTemp' ( temp uint) +0:66 move second child to first child ( temp uint) +0:66 'NumberOfLevelsU' ( temp uint) +0:66 textureQueryLevels ( temp uint) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'sizeQueryTemp' (temp uint) -0:69 textureSize (temp uint) -0:69 'g_tTex1di4' (uniform itexture1D) -0:69 move second child to first child (temp uint) -0:69 'WidthU' (temp uint) -0:69 'sizeQueryTemp' (temp uint) +0:69 move second child to first child ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) +0:69 textureSize ( temp uint) +0:69 'g_tTex1di4' ( uniform itexture1D) +0:69 Constant: +0:69 0 (const int) +0:69 move second child to first child ( temp uint) +0:69 'WidthU' ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 textureSize (temp uint) -0:70 'g_tTex1di4' (uniform itexture1D) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 textureSize ( temp uint) +0:70 'g_tTex1di4' ( uniform itexture1D) 0:70 Constant: 0:70 6 (const uint) -0:70 move second child to first child (temp uint) -0:70 'WidthU' (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 move second child to first child (temp uint) -0:70 'NumberOfLevelsU' (temp uint) -0:70 textureQueryLevels (temp uint) -0:70 'g_tTex1di4' (uniform itexture1D) +0:70 move second child to first child ( temp uint) +0:70 'WidthU' ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 move second child to first child ( temp uint) +0:70 'NumberOfLevelsU' ( temp uint) +0:70 textureQueryLevels ( temp uint) +0:70 'g_tTex1di4' ( uniform itexture1D) 0:73 Sequence -0:73 move second child to first child (temp uint) -0:73 'sizeQueryTemp' (temp uint) -0:73 textureSize (temp uint) -0:73 'g_tTex1du4' (uniform utexture1D) -0:73 move second child to first child (temp uint) -0:73 'WidthU' (temp uint) -0:73 'sizeQueryTemp' (temp uint) +0:73 move second child to first child ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) +0:73 textureSize ( temp uint) +0:73 'g_tTex1du4' ( uniform utexture1D) +0:73 Constant: +0:73 0 (const int) +0:73 move second child to first child ( temp uint) +0:73 'WidthU' ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) 0:74 Sequence -0:74 move second child to first child (temp uint) -0:74 'sizeQueryTemp' (temp uint) -0:74 textureSize (temp uint) -0:74 'g_tTex1du4' (uniform utexture1D) +0:74 move second child to first child ( temp uint) +0:74 'sizeQueryTemp' ( temp uint) +0:74 textureSize ( temp uint) +0:74 'g_tTex1du4' ( uniform utexture1D) 0:74 Constant: 0:74 6 (const uint) -0:74 move second child to first child (temp uint) -0:74 'WidthU' (temp uint) -0:74 'sizeQueryTemp' (temp uint) -0:74 move second child to first child (temp uint) -0:74 'NumberOfLevelsU' (temp uint) -0:74 textureQueryLevels (temp uint) -0:74 'g_tTex1du4' (uniform utexture1D) +0:74 move second child to first child ( temp uint) +0:74 'WidthU' ( temp uint) +0:74 'sizeQueryTemp' ( temp uint) +0:74 move second child to first child ( temp uint) +0:74 'NumberOfLevelsU' ( temp uint) +0:74 textureQueryLevels ( temp uint) +0:74 'g_tTex1du4' ( uniform utexture1D) 0:77 Sequence -0:77 move second child to first child (temp 2-component vector of uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) -0:77 textureSize (temp 2-component vector of uint) -0:77 'g_tTex1df4a' (uniform texture1DArray) -0:77 move second child to first child (temp uint) -0:77 'WidthU' (temp uint) -0:77 direct index (temp uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 move second child to first child ( temp 2-component vector of uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) +0:77 textureSize ( temp 2-component vector of uint) +0:77 'g_tTex1df4a' ( uniform texture1DArray) 0:77 Constant: 0:77 0 (const int) -0:77 move second child to first child (temp uint) -0:77 'ElementsU' (temp uint) -0:77 direct index (temp uint) -0:77 'sizeQueryTemp' (temp 2-component vector of uint) +0:77 move second child to first child ( temp uint) +0:77 'WidthU' ( temp uint) +0:77 direct index ( temp uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) +0:77 Constant: +0:77 0 (const int) +0:77 move second child to first child ( temp uint) +0:77 'ElementsU' ( temp uint) +0:77 direct index ( temp uint) +0:77 'sizeQueryTemp' ( temp 2-component vector of uint) 0:77 Constant: 0:77 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 2-component vector of uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) -0:78 textureSize (temp 2-component vector of uint) -0:78 'g_tTex1df4a' (uniform texture1DArray) +0:78 move second child to first child ( temp 2-component vector of uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) +0:78 textureSize ( temp 2-component vector of uint) +0:78 'g_tTex1df4a' ( uniform texture1DArray) 0:78 Constant: 0:78 6 (const uint) -0:78 move second child to first child (temp uint) -0:78 'WidthU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'WidthU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 0 (const int) -0:78 move second child to first child (temp uint) -0:78 'ElementsU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'ElementsU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 1 (const int) -0:78 move second child to first child (temp uint) -0:78 'NumberOfLevelsU' (temp uint) -0:78 textureQueryLevels (temp uint) -0:78 'g_tTex1df4a' (uniform texture1DArray) +0:78 move second child to first child ( temp uint) +0:78 'NumberOfLevelsU' ( temp uint) +0:78 textureQueryLevels ( temp uint) +0:78 'g_tTex1df4a' ( uniform texture1DArray) 0:81 Sequence -0:81 move second child to first child (temp 2-component vector of uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) -0:81 textureSize (temp 2-component vector of uint) -0:81 'g_tTex1di4a' (uniform itexture1DArray) -0:81 move second child to first child (temp uint) -0:81 'WidthU' (temp uint) -0:81 direct index (temp uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 move second child to first child ( temp 2-component vector of uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) +0:81 textureSize ( temp 2-component vector of uint) +0:81 'g_tTex1di4a' ( uniform itexture1DArray) +0:81 Constant: +0:81 0 (const int) +0:81 move second child to first child ( temp uint) +0:81 'WidthU' ( temp uint) +0:81 direct index ( temp uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) 0:81 Constant: 0:81 0 (const int) -0:81 move second child to first child (temp uint) -0:81 'ElementsU' (temp uint) -0:81 direct index (temp uint) -0:81 'sizeQueryTemp' (temp 2-component vector of uint) +0:81 move second child to first child ( temp uint) +0:81 'ElementsU' ( temp uint) +0:81 direct index ( temp uint) +0:81 'sizeQueryTemp' ( temp 2-component vector of uint) 0:81 Constant: 0:81 1 (const int) 0:82 Sequence -0:82 move second child to first child (temp 2-component vector of uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) -0:82 textureSize (temp 2-component vector of uint) -0:82 'g_tTex1di4a' (uniform itexture1DArray) +0:82 move second child to first child ( temp 2-component vector of uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) +0:82 textureSize ( temp 2-component vector of uint) +0:82 'g_tTex1di4a' ( uniform itexture1DArray) 0:82 Constant: 0:82 6 (const uint) -0:82 move second child to first child (temp uint) -0:82 'WidthU' (temp uint) -0:82 direct index (temp uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 move second child to first child ( temp uint) +0:82 'WidthU' ( temp uint) +0:82 direct index ( temp uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) 0:82 Constant: 0:82 0 (const int) -0:82 move second child to first child (temp uint) -0:82 'ElementsU' (temp uint) -0:82 direct index (temp uint) -0:82 'sizeQueryTemp' (temp 2-component vector of uint) +0:82 move second child to first child ( temp uint) +0:82 'ElementsU' ( temp uint) +0:82 direct index ( temp uint) +0:82 'sizeQueryTemp' ( temp 2-component vector of uint) 0:82 Constant: 0:82 1 (const int) -0:82 move second child to first child (temp uint) -0:82 'NumberOfLevelsU' (temp uint) -0:82 textureQueryLevels (temp uint) -0:82 'g_tTex1di4a' (uniform itexture1DArray) +0:82 move second child to first child ( temp uint) +0:82 'NumberOfLevelsU' ( temp uint) +0:82 textureQueryLevels ( temp uint) +0:82 'g_tTex1di4a' ( uniform itexture1DArray) 0:85 Sequence -0:85 move second child to first child (temp 2-component vector of uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) -0:85 textureSize (temp 2-component vector of uint) -0:85 'g_tTex1du4a' (uniform utexture1DArray) -0:85 move second child to first child (temp uint) -0:85 'WidthU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 move second child to first child ( temp 2-component vector of uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) +0:85 textureSize ( temp 2-component vector of uint) +0:85 'g_tTex1du4a' ( uniform utexture1DArray) +0:85 Constant: +0:85 0 (const int) +0:85 move second child to first child ( temp uint) +0:85 'WidthU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) 0:85 Constant: 0:85 0 (const int) -0:85 move second child to first child (temp uint) -0:85 'ElementsU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 2-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'ElementsU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 2-component vector of uint) 0:85 Constant: 0:85 1 (const int) 0:86 Sequence -0:86 move second child to first child (temp 2-component vector of uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) -0:86 textureSize (temp 2-component vector of uint) -0:86 'g_tTex1du4a' (uniform utexture1DArray) +0:86 move second child to first child ( temp 2-component vector of uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) +0:86 textureSize ( temp 2-component vector of uint) +0:86 'g_tTex1du4a' ( uniform utexture1DArray) 0:86 Constant: 0:86 6 (const uint) -0:86 move second child to first child (temp uint) -0:86 'WidthU' (temp uint) -0:86 direct index (temp uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 move second child to first child ( temp uint) +0:86 'WidthU' ( temp uint) +0:86 direct index ( temp uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) 0:86 Constant: 0:86 0 (const int) -0:86 move second child to first child (temp uint) -0:86 'ElementsU' (temp uint) -0:86 direct index (temp uint) -0:86 'sizeQueryTemp' (temp 2-component vector of uint) +0:86 move second child to first child ( temp uint) +0:86 'ElementsU' ( temp uint) +0:86 direct index ( temp uint) +0:86 'sizeQueryTemp' ( temp 2-component vector of uint) 0:86 Constant: 0:86 1 (const int) -0:86 move second child to first child (temp uint) -0:86 'NumberOfLevelsU' (temp uint) -0:86 textureQueryLevels (temp uint) -0:86 'g_tTex1du4a' (uniform utexture1DArray) +0:86 move second child to first child ( temp uint) +0:86 'NumberOfLevelsU' ( temp uint) +0:86 textureQueryLevels ( temp uint) +0:86 'g_tTex1du4a' ( uniform utexture1DArray) 0:89 Sequence -0:89 move second child to first child (temp 2-component vector of uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) -0:89 textureSize (temp 2-component vector of uint) -0:89 'g_tTex2df4' (uniform texture2D) -0:89 move second child to first child (temp uint) -0:89 'WidthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 move second child to first child ( temp 2-component vector of uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) +0:89 textureSize ( temp 2-component vector of uint) +0:89 'g_tTex2df4' ( uniform texture2D) 0:89 Constant: 0:89 0 (const int) -0:89 move second child to first child (temp uint) -0:89 'HeightU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 2-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'WidthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) +0:89 Constant: +0:89 0 (const int) +0:89 move second child to first child ( temp uint) +0:89 'HeightU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 2-component vector of uint) 0:89 Constant: 0:89 1 (const int) 0:90 Sequence -0:90 move second child to first child (temp 2-component vector of uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) -0:90 textureSize (temp 2-component vector of uint) -0:90 'g_tTex2df4' (uniform texture2D) +0:90 move second child to first child ( temp 2-component vector of uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) +0:90 textureSize ( temp 2-component vector of uint) +0:90 'g_tTex2df4' ( uniform texture2D) 0:90 Constant: 0:90 6 (const uint) -0:90 move second child to first child (temp uint) -0:90 'WidthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'WidthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) 0:90 Constant: 0:90 0 (const int) -0:90 move second child to first child (temp uint) -0:90 'HeightU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 2-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'HeightU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 2-component vector of uint) 0:90 Constant: 0:90 1 (const int) -0:90 move second child to first child (temp uint) -0:90 'NumberOfLevelsU' (temp uint) -0:90 textureQueryLevels (temp uint) -0:90 'g_tTex2df4' (uniform texture2D) +0:90 move second child to first child ( temp uint) +0:90 'NumberOfLevelsU' ( temp uint) +0:90 textureQueryLevels ( temp uint) +0:90 'g_tTex2df4' ( uniform texture2D) 0:93 Sequence -0:93 move second child to first child (temp 2-component vector of uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) -0:93 textureSize (temp 2-component vector of uint) -0:93 'g_tTex2di4' (uniform itexture2D) -0:93 move second child to first child (temp uint) -0:93 'WidthU' (temp uint) -0:93 direct index (temp uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) +0:93 move second child to first child ( temp 2-component vector of uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) +0:93 textureSize ( temp 2-component vector of uint) +0:93 'g_tTex2di4' ( uniform itexture2D) 0:93 Constant: 0:93 0 (const int) -0:93 move second child to first child (temp uint) -0:93 'HeightU' (temp uint) -0:93 direct index (temp uint) -0:93 'sizeQueryTemp' (temp 2-component vector of uint) +0:93 move second child to first child ( temp uint) +0:93 'WidthU' ( temp uint) +0:93 direct index ( temp uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) +0:93 Constant: +0:93 0 (const int) +0:93 move second child to first child ( temp uint) +0:93 'HeightU' ( temp uint) +0:93 direct index ( temp uint) +0:93 'sizeQueryTemp' ( temp 2-component vector of uint) 0:93 Constant: 0:93 1 (const int) 0:94 Sequence -0:94 move second child to first child (temp 2-component vector of uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) -0:94 textureSize (temp 2-component vector of uint) -0:94 'g_tTex2di4' (uniform itexture2D) +0:94 move second child to first child ( temp 2-component vector of uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) +0:94 textureSize ( temp 2-component vector of uint) +0:94 'g_tTex2di4' ( uniform itexture2D) 0:94 Constant: 0:94 6 (const uint) -0:94 move second child to first child (temp uint) -0:94 'WidthU' (temp uint) -0:94 direct index (temp uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) +0:94 move second child to first child ( temp uint) +0:94 'WidthU' ( temp uint) +0:94 direct index ( temp uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) 0:94 Constant: 0:94 0 (const int) -0:94 move second child to first child (temp uint) -0:94 'HeightU' (temp uint) -0:94 direct index (temp uint) -0:94 'sizeQueryTemp' (temp 2-component vector of uint) +0:94 move second child to first child ( temp uint) +0:94 'HeightU' ( temp uint) +0:94 direct index ( temp uint) +0:94 'sizeQueryTemp' ( temp 2-component vector of uint) 0:94 Constant: 0:94 1 (const int) -0:94 move second child to first child (temp uint) -0:94 'NumberOfLevelsU' (temp uint) -0:94 textureQueryLevels (temp uint) -0:94 'g_tTex2di4' (uniform itexture2D) +0:94 move second child to first child ( temp uint) +0:94 'NumberOfLevelsU' ( temp uint) +0:94 textureQueryLevels ( temp uint) +0:94 'g_tTex2di4' ( uniform itexture2D) 0:97 Sequence -0:97 move second child to first child (temp 2-component vector of uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) -0:97 textureSize (temp 2-component vector of uint) -0:97 'g_tTex2du4' (uniform utexture2D) -0:97 move second child to first child (temp uint) -0:97 'WidthU' (temp uint) -0:97 direct index (temp uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) +0:97 move second child to first child ( temp 2-component vector of uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) +0:97 textureSize ( temp 2-component vector of uint) +0:97 'g_tTex2du4' ( uniform utexture2D) 0:97 Constant: 0:97 0 (const int) -0:97 move second child to first child (temp uint) -0:97 'HeightU' (temp uint) -0:97 direct index (temp uint) -0:97 'sizeQueryTemp' (temp 2-component vector of uint) +0:97 move second child to first child ( temp uint) +0:97 'WidthU' ( temp uint) +0:97 direct index ( temp uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) +0:97 Constant: +0:97 0 (const int) +0:97 move second child to first child ( temp uint) +0:97 'HeightU' ( temp uint) +0:97 direct index ( temp uint) +0:97 'sizeQueryTemp' ( temp 2-component vector of uint) 0:97 Constant: 0:97 1 (const int) 0:98 Sequence -0:98 move second child to first child (temp 2-component vector of uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) -0:98 textureSize (temp 2-component vector of uint) -0:98 'g_tTex2du4' (uniform utexture2D) +0:98 move second child to first child ( temp 2-component vector of uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) +0:98 textureSize ( temp 2-component vector of uint) +0:98 'g_tTex2du4' ( uniform utexture2D) 0:98 Constant: 0:98 6 (const uint) -0:98 move second child to first child (temp uint) -0:98 'WidthU' (temp uint) -0:98 direct index (temp uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp uint) +0:98 'WidthU' ( temp uint) +0:98 direct index ( temp uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) 0:98 Constant: 0:98 0 (const int) -0:98 move second child to first child (temp uint) -0:98 'HeightU' (temp uint) -0:98 direct index (temp uint) -0:98 'sizeQueryTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp uint) +0:98 'HeightU' ( temp uint) +0:98 direct index ( temp uint) +0:98 'sizeQueryTemp' ( temp 2-component vector of uint) 0:98 Constant: 0:98 1 (const int) -0:98 move second child to first child (temp uint) -0:98 'NumberOfLevelsU' (temp uint) -0:98 textureQueryLevels (temp uint) -0:98 'g_tTex2du4' (uniform utexture2D) +0:98 move second child to first child ( temp uint) +0:98 'NumberOfLevelsU' ( temp uint) +0:98 textureQueryLevels ( temp uint) +0:98 'g_tTex2du4' ( uniform utexture2D) 0:101 Sequence -0:101 move second child to first child (temp 3-component vector of uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) -0:101 textureSize (temp 3-component vector of uint) -0:101 'g_tTex2df4a' (uniform texture2DArray) -0:101 move second child to first child (temp uint) -0:101 'WidthU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp 3-component vector of uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) +0:101 textureSize ( temp 3-component vector of uint) +0:101 'g_tTex2df4a' ( uniform texture2DArray) +0:101 Constant: +0:101 0 (const int) +0:101 move second child to first child ( temp uint) +0:101 'WidthU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) 0:101 Constant: 0:101 0 (const int) -0:101 move second child to first child (temp uint) -0:101 'HeightU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp uint) +0:101 'HeightU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) 0:101 Constant: 0:101 1 (const int) -0:101 move second child to first child (temp uint) -0:101 'ElementsU' (temp uint) -0:101 direct index (temp uint) -0:101 'sizeQueryTemp' (temp 3-component vector of uint) +0:101 move second child to first child ( temp uint) +0:101 'ElementsU' ( temp uint) +0:101 direct index ( temp uint) +0:101 'sizeQueryTemp' ( temp 3-component vector of uint) 0:101 Constant: 0:101 2 (const int) 0:102 Sequence -0:102 move second child to first child (temp 3-component vector of uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) -0:102 textureSize (temp 3-component vector of uint) -0:102 'g_tTex2df4a' (uniform texture2DArray) +0:102 move second child to first child ( temp 3-component vector of uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) +0:102 textureSize ( temp 3-component vector of uint) +0:102 'g_tTex2df4a' ( uniform texture2DArray) 0:102 Constant: 0:102 6 (const uint) -0:102 move second child to first child (temp uint) -0:102 'WidthU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'WidthU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 0 (const int) -0:102 move second child to first child (temp uint) -0:102 'HeightU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'HeightU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 1 (const int) -0:102 move second child to first child (temp uint) -0:102 'ElementsU' (temp uint) -0:102 direct index (temp uint) -0:102 'sizeQueryTemp' (temp 3-component vector of uint) +0:102 move second child to first child ( temp uint) +0:102 'ElementsU' ( temp uint) +0:102 direct index ( temp uint) +0:102 'sizeQueryTemp' ( temp 3-component vector of uint) 0:102 Constant: 0:102 2 (const int) -0:102 move second child to first child (temp uint) -0:102 'NumberOfLevelsU' (temp uint) -0:102 textureQueryLevels (temp uint) -0:102 'g_tTex2df4a' (uniform texture2DArray) +0:102 move second child to first child ( temp uint) +0:102 'NumberOfLevelsU' ( temp uint) +0:102 textureQueryLevels ( temp uint) +0:102 'g_tTex2df4a' ( uniform texture2DArray) 0:105 Sequence -0:105 move second child to first child (temp 3-component vector of uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) -0:105 textureSize (temp 3-component vector of uint) -0:105 'g_tTex2di4a' (uniform itexture2DArray) -0:105 move second child to first child (temp uint) -0:105 'WidthU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp 3-component vector of uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) +0:105 textureSize ( temp 3-component vector of uint) +0:105 'g_tTex2di4a' ( uniform itexture2DArray) +0:105 Constant: +0:105 0 (const int) +0:105 move second child to first child ( temp uint) +0:105 'WidthU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 0 (const int) -0:105 move second child to first child (temp uint) -0:105 'HeightU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp uint) +0:105 'HeightU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 1 (const int) -0:105 move second child to first child (temp uint) -0:105 'ElementsU' (temp uint) -0:105 direct index (temp uint) -0:105 'sizeQueryTemp' (temp 3-component vector of uint) +0:105 move second child to first child ( temp uint) +0:105 'ElementsU' ( temp uint) +0:105 direct index ( temp uint) +0:105 'sizeQueryTemp' ( temp 3-component vector of uint) 0:105 Constant: 0:105 2 (const int) 0:106 Sequence -0:106 move second child to first child (temp 3-component vector of uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) -0:106 textureSize (temp 3-component vector of uint) -0:106 'g_tTex2di4a' (uniform itexture2DArray) +0:106 move second child to first child ( temp 3-component vector of uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) +0:106 textureSize ( temp 3-component vector of uint) +0:106 'g_tTex2di4a' ( uniform itexture2DArray) 0:106 Constant: 0:106 6 (const uint) -0:106 move second child to first child (temp uint) -0:106 'WidthU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'WidthU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 0 (const int) -0:106 move second child to first child (temp uint) -0:106 'HeightU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'HeightU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 1 (const int) -0:106 move second child to first child (temp uint) -0:106 'ElementsU' (temp uint) -0:106 direct index (temp uint) -0:106 'sizeQueryTemp' (temp 3-component vector of uint) +0:106 move second child to first child ( temp uint) +0:106 'ElementsU' ( temp uint) +0:106 direct index ( temp uint) +0:106 'sizeQueryTemp' ( temp 3-component vector of uint) 0:106 Constant: 0:106 2 (const int) -0:106 move second child to first child (temp uint) -0:106 'NumberOfLevelsU' (temp uint) -0:106 textureQueryLevels (temp uint) -0:106 'g_tTex2di4a' (uniform itexture2DArray) +0:106 move second child to first child ( temp uint) +0:106 'NumberOfLevelsU' ( temp uint) +0:106 textureQueryLevels ( temp uint) +0:106 'g_tTex2di4a' ( uniform itexture2DArray) 0:109 Sequence -0:109 move second child to first child (temp 3-component vector of uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) -0:109 textureSize (temp 3-component vector of uint) -0:109 'g_tTex2du4a' (uniform utexture2DArray) -0:109 move second child to first child (temp uint) -0:109 'WidthU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp 3-component vector of uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) +0:109 textureSize ( temp 3-component vector of uint) +0:109 'g_tTex2du4a' ( uniform utexture2DArray) 0:109 Constant: 0:109 0 (const int) -0:109 move second child to first child (temp uint) -0:109 'HeightU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp uint) +0:109 'WidthU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) +0:109 Constant: +0:109 0 (const int) +0:109 move second child to first child ( temp uint) +0:109 'HeightU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) 0:109 Constant: 0:109 1 (const int) -0:109 move second child to first child (temp uint) -0:109 'ElementsU' (temp uint) -0:109 direct index (temp uint) -0:109 'sizeQueryTemp' (temp 3-component vector of uint) +0:109 move second child to first child ( temp uint) +0:109 'ElementsU' ( temp uint) +0:109 direct index ( temp uint) +0:109 'sizeQueryTemp' ( temp 3-component vector of uint) 0:109 Constant: 0:109 2 (const int) 0:110 Sequence -0:110 move second child to first child (temp 3-component vector of uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) -0:110 textureSize (temp 3-component vector of uint) -0:110 'g_tTex2du4a' (uniform utexture2DArray) +0:110 move second child to first child ( temp 3-component vector of uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) +0:110 textureSize ( temp 3-component vector of uint) +0:110 'g_tTex2du4a' ( uniform utexture2DArray) 0:110 Constant: 0:110 6 (const uint) -0:110 move second child to first child (temp uint) -0:110 'WidthU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'WidthU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 0 (const int) -0:110 move second child to first child (temp uint) -0:110 'HeightU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'HeightU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 1 (const int) -0:110 move second child to first child (temp uint) -0:110 'ElementsU' (temp uint) -0:110 direct index (temp uint) -0:110 'sizeQueryTemp' (temp 3-component vector of uint) +0:110 move second child to first child ( temp uint) +0:110 'ElementsU' ( temp uint) +0:110 direct index ( temp uint) +0:110 'sizeQueryTemp' ( temp 3-component vector of uint) 0:110 Constant: 0:110 2 (const int) -0:110 move second child to first child (temp uint) -0:110 'NumberOfLevelsU' (temp uint) -0:110 textureQueryLevels (temp uint) -0:110 'g_tTex2du4a' (uniform utexture2DArray) +0:110 move second child to first child ( temp uint) +0:110 'NumberOfLevelsU' ( temp uint) +0:110 textureQueryLevels ( temp uint) +0:110 'g_tTex2du4a' ( uniform utexture2DArray) 0:113 Sequence -0:113 move second child to first child (temp 3-component vector of uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) -0:113 textureSize (temp 3-component vector of uint) -0:113 'g_tTex3df4' (uniform texture3D) -0:113 move second child to first child (temp uint) -0:113 'WidthU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp 3-component vector of uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) +0:113 textureSize ( temp 3-component vector of uint) +0:113 'g_tTex3df4' ( uniform texture3D) +0:113 Constant: +0:113 0 (const int) +0:113 move second child to first child ( temp uint) +0:113 'WidthU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 0 (const int) -0:113 move second child to first child (temp uint) -0:113 'HeightU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp uint) +0:113 'HeightU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 1 (const int) -0:113 move second child to first child (temp uint) -0:113 'DepthU' (temp uint) -0:113 direct index (temp uint) -0:113 'sizeQueryTemp' (temp 3-component vector of uint) +0:113 move second child to first child ( temp uint) +0:113 'DepthU' ( temp uint) +0:113 direct index ( temp uint) +0:113 'sizeQueryTemp' ( temp 3-component vector of uint) 0:113 Constant: 0:113 2 (const int) 0:114 Sequence -0:114 move second child to first child (temp 3-component vector of uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) -0:114 textureSize (temp 3-component vector of uint) -0:114 'g_tTex3df4' (uniform texture3D) +0:114 move second child to first child ( temp 3-component vector of uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) +0:114 textureSize ( temp 3-component vector of uint) +0:114 'g_tTex3df4' ( uniform texture3D) 0:114 Constant: 0:114 6 (const uint) -0:114 move second child to first child (temp uint) -0:114 'WidthU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'WidthU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 0 (const int) -0:114 move second child to first child (temp uint) -0:114 'HeightU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'HeightU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 1 (const int) -0:114 move second child to first child (temp uint) -0:114 'DepthU' (temp uint) -0:114 direct index (temp uint) -0:114 'sizeQueryTemp' (temp 3-component vector of uint) +0:114 move second child to first child ( temp uint) +0:114 'DepthU' ( temp uint) +0:114 direct index ( temp uint) +0:114 'sizeQueryTemp' ( temp 3-component vector of uint) 0:114 Constant: 0:114 2 (const int) -0:114 move second child to first child (temp uint) -0:114 'NumberOfLevelsU' (temp uint) -0:114 textureQueryLevels (temp uint) -0:114 'g_tTex3df4' (uniform texture3D) +0:114 move second child to first child ( temp uint) +0:114 'NumberOfLevelsU' ( temp uint) +0:114 textureQueryLevels ( temp uint) +0:114 'g_tTex3df4' ( uniform texture3D) 0:117 Sequence -0:117 move second child to first child (temp 3-component vector of uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) -0:117 textureSize (temp 3-component vector of uint) -0:117 'g_tTex3di4' (uniform itexture3D) -0:117 move second child to first child (temp uint) -0:117 'WidthU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp 3-component vector of uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) +0:117 textureSize ( temp 3-component vector of uint) +0:117 'g_tTex3di4' ( uniform itexture3D) 0:117 Constant: 0:117 0 (const int) -0:117 move second child to first child (temp uint) -0:117 'HeightU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp uint) +0:117 'WidthU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) +0:117 Constant: +0:117 0 (const int) +0:117 move second child to first child ( temp uint) +0:117 'HeightU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) 0:117 Constant: 0:117 1 (const int) -0:117 move second child to first child (temp uint) -0:117 'DepthU' (temp uint) -0:117 direct index (temp uint) -0:117 'sizeQueryTemp' (temp 3-component vector of uint) +0:117 move second child to first child ( temp uint) +0:117 'DepthU' ( temp uint) +0:117 direct index ( temp uint) +0:117 'sizeQueryTemp' ( temp 3-component vector of uint) 0:117 Constant: 0:117 2 (const int) 0:118 Sequence -0:118 move second child to first child (temp 3-component vector of uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) -0:118 textureSize (temp 3-component vector of uint) -0:118 'g_tTex3di4' (uniform itexture3D) +0:118 move second child to first child ( temp 3-component vector of uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) +0:118 textureSize ( temp 3-component vector of uint) +0:118 'g_tTex3di4' ( uniform itexture3D) 0:118 Constant: 0:118 6 (const uint) -0:118 move second child to first child (temp uint) -0:118 'WidthU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'WidthU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 0 (const int) -0:118 move second child to first child (temp uint) -0:118 'HeightU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'HeightU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 1 (const int) -0:118 move second child to first child (temp uint) -0:118 'DepthU' (temp uint) -0:118 direct index (temp uint) -0:118 'sizeQueryTemp' (temp 3-component vector of uint) +0:118 move second child to first child ( temp uint) +0:118 'DepthU' ( temp uint) +0:118 direct index ( temp uint) +0:118 'sizeQueryTemp' ( temp 3-component vector of uint) 0:118 Constant: 0:118 2 (const int) -0:118 move second child to first child (temp uint) -0:118 'NumberOfLevelsU' (temp uint) -0:118 textureQueryLevels (temp uint) -0:118 'g_tTex3di4' (uniform itexture3D) +0:118 move second child to first child ( temp uint) +0:118 'NumberOfLevelsU' ( temp uint) +0:118 textureQueryLevels ( temp uint) +0:118 'g_tTex3di4' ( uniform itexture3D) 0:121 Sequence -0:121 move second child to first child (temp 3-component vector of uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) -0:121 textureSize (temp 3-component vector of uint) -0:121 'g_tTex3du4' (uniform utexture3D) -0:121 move second child to first child (temp uint) -0:121 'WidthU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp 3-component vector of uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) +0:121 textureSize ( temp 3-component vector of uint) +0:121 'g_tTex3du4' ( uniform utexture3D) 0:121 Constant: 0:121 0 (const int) -0:121 move second child to first child (temp uint) -0:121 'HeightU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp uint) +0:121 'WidthU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) +0:121 Constant: +0:121 0 (const int) +0:121 move second child to first child ( temp uint) +0:121 'HeightU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) 0:121 Constant: 0:121 1 (const int) -0:121 move second child to first child (temp uint) -0:121 'DepthU' (temp uint) -0:121 direct index (temp uint) -0:121 'sizeQueryTemp' (temp 3-component vector of uint) +0:121 move second child to first child ( temp uint) +0:121 'DepthU' ( temp uint) +0:121 direct index ( temp uint) +0:121 'sizeQueryTemp' ( temp 3-component vector of uint) 0:121 Constant: 0:121 2 (const int) 0:122 Sequence -0:122 move second child to first child (temp 3-component vector of uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) -0:122 textureSize (temp 3-component vector of uint) -0:122 'g_tTex3du4' (uniform utexture3D) +0:122 move second child to first child ( temp 3-component vector of uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) +0:122 textureSize ( temp 3-component vector of uint) +0:122 'g_tTex3du4' ( uniform utexture3D) 0:122 Constant: 0:122 6 (const uint) -0:122 move second child to first child (temp uint) -0:122 'WidthU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'WidthU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 0 (const int) -0:122 move second child to first child (temp uint) -0:122 'HeightU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'HeightU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 1 (const int) -0:122 move second child to first child (temp uint) -0:122 'DepthU' (temp uint) -0:122 direct index (temp uint) -0:122 'sizeQueryTemp' (temp 3-component vector of uint) +0:122 move second child to first child ( temp uint) +0:122 'DepthU' ( temp uint) +0:122 direct index ( temp uint) +0:122 'sizeQueryTemp' ( temp 3-component vector of uint) 0:122 Constant: 0:122 2 (const int) -0:122 move second child to first child (temp uint) -0:122 'NumberOfLevelsU' (temp uint) -0:122 textureQueryLevels (temp uint) -0:122 'g_tTex3du4' (uniform utexture3D) +0:122 move second child to first child ( temp uint) +0:122 'NumberOfLevelsU' ( temp uint) +0:122 textureQueryLevels ( temp uint) +0:122 'g_tTex3du4' ( uniform utexture3D) 0:125 Sequence -0:125 move second child to first child (temp 2-component vector of uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) -0:125 textureSize (temp 2-component vector of uint) -0:125 'g_tTexcdf4' (uniform textureCube) -0:125 move second child to first child (temp uint) -0:125 'WidthU' (temp uint) -0:125 direct index (temp uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 move second child to first child ( temp 2-component vector of uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) +0:125 textureSize ( temp 2-component vector of uint) +0:125 'g_tTexcdf4' ( uniform textureCube) +0:125 Constant: +0:125 0 (const int) +0:125 move second child to first child ( temp uint) +0:125 'WidthU' ( temp uint) +0:125 direct index ( temp uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) 0:125 Constant: 0:125 0 (const int) -0:125 move second child to first child (temp uint) -0:125 'HeightU' (temp uint) -0:125 direct index (temp uint) -0:125 'sizeQueryTemp' (temp 2-component vector of uint) +0:125 move second child to first child ( temp uint) +0:125 'HeightU' ( temp uint) +0:125 direct index ( temp uint) +0:125 'sizeQueryTemp' ( temp 2-component vector of uint) 0:125 Constant: 0:125 1 (const int) 0:126 Sequence -0:126 move second child to first child (temp 2-component vector of uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) -0:126 textureSize (temp 2-component vector of uint) -0:126 'g_tTexcdf4' (uniform textureCube) +0:126 move second child to first child ( temp 2-component vector of uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) +0:126 textureSize ( temp 2-component vector of uint) +0:126 'g_tTexcdf4' ( uniform textureCube) 0:126 Constant: 0:126 6 (const uint) -0:126 move second child to first child (temp uint) -0:126 'WidthU' (temp uint) -0:126 direct index (temp uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 move second child to first child ( temp uint) +0:126 'WidthU' ( temp uint) +0:126 direct index ( temp uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) 0:126 Constant: 0:126 0 (const int) -0:126 move second child to first child (temp uint) -0:126 'HeightU' (temp uint) -0:126 direct index (temp uint) -0:126 'sizeQueryTemp' (temp 2-component vector of uint) +0:126 move second child to first child ( temp uint) +0:126 'HeightU' ( temp uint) +0:126 direct index ( temp uint) +0:126 'sizeQueryTemp' ( temp 2-component vector of uint) 0:126 Constant: 0:126 1 (const int) -0:126 move second child to first child (temp uint) -0:126 'NumberOfLevelsU' (temp uint) -0:126 textureQueryLevels (temp uint) -0:126 'g_tTexcdf4' (uniform textureCube) +0:126 move second child to first child ( temp uint) +0:126 'NumberOfLevelsU' ( temp uint) +0:126 textureQueryLevels ( temp uint) +0:126 'g_tTexcdf4' ( uniform textureCube) 0:129 Sequence -0:129 move second child to first child (temp 2-component vector of uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) -0:129 textureSize (temp 2-component vector of uint) -0:129 'g_tTexcdi4' (uniform itextureCube) -0:129 move second child to first child (temp uint) -0:129 'WidthU' (temp uint) -0:129 direct index (temp uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) +0:129 move second child to first child ( temp 2-component vector of uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) +0:129 textureSize ( temp 2-component vector of uint) +0:129 'g_tTexcdi4' ( uniform itextureCube) +0:129 Constant: +0:129 0 (const int) +0:129 move second child to first child ( temp uint) +0:129 'WidthU' ( temp uint) +0:129 direct index ( temp uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) 0:129 Constant: 0:129 0 (const int) -0:129 move second child to first child (temp uint) -0:129 'HeightU' (temp uint) -0:129 direct index (temp uint) -0:129 'sizeQueryTemp' (temp 2-component vector of uint) +0:129 move second child to first child ( temp uint) +0:129 'HeightU' ( temp uint) +0:129 direct index ( temp uint) +0:129 'sizeQueryTemp' ( temp 2-component vector of uint) 0:129 Constant: 0:129 1 (const int) 0:130 Sequence -0:130 move second child to first child (temp 2-component vector of uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) -0:130 textureSize (temp 2-component vector of uint) -0:130 'g_tTexcdi4' (uniform itextureCube) +0:130 move second child to first child ( temp 2-component vector of uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) +0:130 textureSize ( temp 2-component vector of uint) +0:130 'g_tTexcdi4' ( uniform itextureCube) 0:130 Constant: 0:130 6 (const uint) -0:130 move second child to first child (temp uint) -0:130 'WidthU' (temp uint) -0:130 direct index (temp uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) +0:130 move second child to first child ( temp uint) +0:130 'WidthU' ( temp uint) +0:130 direct index ( temp uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) 0:130 Constant: 0:130 0 (const int) -0:130 move second child to first child (temp uint) -0:130 'HeightU' (temp uint) -0:130 direct index (temp uint) -0:130 'sizeQueryTemp' (temp 2-component vector of uint) +0:130 move second child to first child ( temp uint) +0:130 'HeightU' ( temp uint) +0:130 direct index ( temp uint) +0:130 'sizeQueryTemp' ( temp 2-component vector of uint) 0:130 Constant: 0:130 1 (const int) -0:130 move second child to first child (temp uint) -0:130 'NumberOfLevelsU' (temp uint) -0:130 textureQueryLevels (temp uint) -0:130 'g_tTexcdi4' (uniform itextureCube) +0:130 move second child to first child ( temp uint) +0:130 'NumberOfLevelsU' ( temp uint) +0:130 textureQueryLevels ( temp uint) +0:130 'g_tTexcdi4' ( uniform itextureCube) 0:133 Sequence -0:133 move second child to first child (temp 2-component vector of uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) -0:133 textureSize (temp 2-component vector of uint) -0:133 'g_tTexcdu4' (uniform utextureCube) -0:133 move second child to first child (temp uint) -0:133 'WidthU' (temp uint) -0:133 direct index (temp uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) +0:133 move second child to first child ( temp 2-component vector of uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) +0:133 textureSize ( temp 2-component vector of uint) +0:133 'g_tTexcdu4' ( uniform utextureCube) +0:133 Constant: +0:133 0 (const int) +0:133 move second child to first child ( temp uint) +0:133 'WidthU' ( temp uint) +0:133 direct index ( temp uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) 0:133 Constant: 0:133 0 (const int) -0:133 move second child to first child (temp uint) -0:133 'HeightU' (temp uint) -0:133 direct index (temp uint) -0:133 'sizeQueryTemp' (temp 2-component vector of uint) +0:133 move second child to first child ( temp uint) +0:133 'HeightU' ( temp uint) +0:133 direct index ( temp uint) +0:133 'sizeQueryTemp' ( temp 2-component vector of uint) 0:133 Constant: 0:133 1 (const int) 0:134 Sequence -0:134 move second child to first child (temp 2-component vector of uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) -0:134 textureSize (temp 2-component vector of uint) -0:134 'g_tTexcdu4' (uniform utextureCube) +0:134 move second child to first child ( temp 2-component vector of uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) +0:134 textureSize ( temp 2-component vector of uint) +0:134 'g_tTexcdu4' ( uniform utextureCube) 0:134 Constant: 0:134 6 (const uint) -0:134 move second child to first child (temp uint) -0:134 'WidthU' (temp uint) -0:134 direct index (temp uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) +0:134 move second child to first child ( temp uint) +0:134 'WidthU' ( temp uint) +0:134 direct index ( temp uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) 0:134 Constant: 0:134 0 (const int) -0:134 move second child to first child (temp uint) -0:134 'HeightU' (temp uint) -0:134 direct index (temp uint) -0:134 'sizeQueryTemp' (temp 2-component vector of uint) +0:134 move second child to first child ( temp uint) +0:134 'HeightU' ( temp uint) +0:134 direct index ( temp uint) +0:134 'sizeQueryTemp' ( temp 2-component vector of uint) 0:134 Constant: 0:134 1 (const int) -0:134 move second child to first child (temp uint) -0:134 'NumberOfLevelsU' (temp uint) -0:134 textureQueryLevels (temp uint) -0:134 'g_tTexcdu4' (uniform utextureCube) +0:134 move second child to first child ( temp uint) +0:134 'NumberOfLevelsU' ( temp uint) +0:134 textureQueryLevels ( temp uint) +0:134 'g_tTexcdu4' ( uniform utextureCube) 0:137 Sequence -0:137 move second child to first child (temp 3-component vector of uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) -0:137 textureSize (temp 3-component vector of uint) -0:137 'g_tTexcdf4a' (uniform textureCubeArray) -0:137 move second child to first child (temp uint) -0:137 'WidthU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp 3-component vector of uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) +0:137 textureSize ( temp 3-component vector of uint) +0:137 'g_tTexcdf4a' ( uniform textureCubeArray) 0:137 Constant: 0:137 0 (const int) -0:137 move second child to first child (temp uint) -0:137 'HeightU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp uint) +0:137 'WidthU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) +0:137 Constant: +0:137 0 (const int) +0:137 move second child to first child ( temp uint) +0:137 'HeightU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) 0:137 Constant: 0:137 1 (const int) -0:137 move second child to first child (temp uint) -0:137 'ElementsU' (temp uint) -0:137 direct index (temp uint) -0:137 'sizeQueryTemp' (temp 3-component vector of uint) +0:137 move second child to first child ( temp uint) +0:137 'ElementsU' ( temp uint) +0:137 direct index ( temp uint) +0:137 'sizeQueryTemp' ( temp 3-component vector of uint) 0:137 Constant: 0:137 2 (const int) 0:138 Sequence -0:138 move second child to first child (temp 3-component vector of uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) -0:138 textureSize (temp 3-component vector of uint) -0:138 'g_tTexcdf4a' (uniform textureCubeArray) +0:138 move second child to first child ( temp 3-component vector of uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) +0:138 textureSize ( temp 3-component vector of uint) +0:138 'g_tTexcdf4a' ( uniform textureCubeArray) 0:138 Constant: 0:138 6 (const uint) -0:138 move second child to first child (temp uint) -0:138 'WidthU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'WidthU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 0 (const int) -0:138 move second child to first child (temp uint) -0:138 'HeightU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'HeightU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 1 (const int) -0:138 move second child to first child (temp uint) -0:138 'ElementsU' (temp uint) -0:138 direct index (temp uint) -0:138 'sizeQueryTemp' (temp 3-component vector of uint) +0:138 move second child to first child ( temp uint) +0:138 'ElementsU' ( temp uint) +0:138 direct index ( temp uint) +0:138 'sizeQueryTemp' ( temp 3-component vector of uint) 0:138 Constant: 0:138 2 (const int) -0:138 move second child to first child (temp uint) -0:138 'NumberOfLevelsU' (temp uint) -0:138 textureQueryLevels (temp uint) -0:138 'g_tTexcdf4a' (uniform textureCubeArray) +0:138 move second child to first child ( temp uint) +0:138 'NumberOfLevelsU' ( temp uint) +0:138 textureQueryLevels ( temp uint) +0:138 'g_tTexcdf4a' ( uniform textureCubeArray) 0:141 Sequence -0:141 move second child to first child (temp 3-component vector of uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) -0:141 textureSize (temp 3-component vector of uint) -0:141 'g_tTexcdi4a' (uniform itextureCubeArray) -0:141 move second child to first child (temp uint) -0:141 'WidthU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp 3-component vector of uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) +0:141 textureSize ( temp 3-component vector of uint) +0:141 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:141 Constant: 0:141 0 (const int) -0:141 move second child to first child (temp uint) -0:141 'HeightU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp uint) +0:141 'WidthU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) +0:141 Constant: +0:141 0 (const int) +0:141 move second child to first child ( temp uint) +0:141 'HeightU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) 0:141 Constant: 0:141 1 (const int) -0:141 move second child to first child (temp uint) -0:141 'ElementsU' (temp uint) -0:141 direct index (temp uint) -0:141 'sizeQueryTemp' (temp 3-component vector of uint) +0:141 move second child to first child ( temp uint) +0:141 'ElementsU' ( temp uint) +0:141 direct index ( temp uint) +0:141 'sizeQueryTemp' ( temp 3-component vector of uint) 0:141 Constant: 0:141 2 (const int) 0:142 Sequence -0:142 move second child to first child (temp 3-component vector of uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) -0:142 textureSize (temp 3-component vector of uint) -0:142 'g_tTexcdi4a' (uniform itextureCubeArray) +0:142 move second child to first child ( temp 3-component vector of uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) +0:142 textureSize ( temp 3-component vector of uint) +0:142 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:142 Constant: 0:142 6 (const uint) -0:142 move second child to first child (temp uint) -0:142 'WidthU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'WidthU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 0 (const int) -0:142 move second child to first child (temp uint) -0:142 'HeightU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'HeightU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 1 (const int) -0:142 move second child to first child (temp uint) -0:142 'ElementsU' (temp uint) -0:142 direct index (temp uint) -0:142 'sizeQueryTemp' (temp 3-component vector of uint) +0:142 move second child to first child ( temp uint) +0:142 'ElementsU' ( temp uint) +0:142 direct index ( temp uint) +0:142 'sizeQueryTemp' ( temp 3-component vector of uint) 0:142 Constant: 0:142 2 (const int) -0:142 move second child to first child (temp uint) -0:142 'NumberOfLevelsU' (temp uint) -0:142 textureQueryLevels (temp uint) -0:142 'g_tTexcdi4a' (uniform itextureCubeArray) +0:142 move second child to first child ( temp uint) +0:142 'NumberOfLevelsU' ( temp uint) +0:142 textureQueryLevels ( temp uint) +0:142 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:145 Sequence -0:145 move second child to first child (temp 3-component vector of uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) -0:145 textureSize (temp 3-component vector of uint) -0:145 'g_tTexcdu4a' (uniform utextureCubeArray) -0:145 move second child to first child (temp uint) -0:145 'WidthU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp 3-component vector of uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) +0:145 textureSize ( temp 3-component vector of uint) +0:145 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:145 Constant: 0:145 0 (const int) -0:145 move second child to first child (temp uint) -0:145 'HeightU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp uint) +0:145 'WidthU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) +0:145 Constant: +0:145 0 (const int) +0:145 move second child to first child ( temp uint) +0:145 'HeightU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) 0:145 Constant: 0:145 1 (const int) -0:145 move second child to first child (temp uint) -0:145 'ElementsU' (temp uint) -0:145 direct index (temp uint) -0:145 'sizeQueryTemp' (temp 3-component vector of uint) +0:145 move second child to first child ( temp uint) +0:145 'ElementsU' ( temp uint) +0:145 direct index ( temp uint) +0:145 'sizeQueryTemp' ( temp 3-component vector of uint) 0:145 Constant: 0:145 2 (const int) 0:146 Sequence -0:146 move second child to first child (temp 3-component vector of uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) -0:146 textureSize (temp 3-component vector of uint) -0:146 'g_tTexcdu4a' (uniform utextureCubeArray) +0:146 move second child to first child ( temp 3-component vector of uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) +0:146 textureSize ( temp 3-component vector of uint) +0:146 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:146 Constant: 0:146 6 (const uint) -0:146 move second child to first child (temp uint) -0:146 'WidthU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'WidthU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 0 (const int) -0:146 move second child to first child (temp uint) -0:146 'HeightU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'HeightU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 1 (const int) -0:146 move second child to first child (temp uint) -0:146 'ElementsU' (temp uint) -0:146 direct index (temp uint) -0:146 'sizeQueryTemp' (temp 3-component vector of uint) +0:146 move second child to first child ( temp uint) +0:146 'ElementsU' ( temp uint) +0:146 direct index ( temp uint) +0:146 'sizeQueryTemp' ( temp 3-component vector of uint) 0:146 Constant: 0:146 2 (const int) -0:146 move second child to first child (temp uint) -0:146 'NumberOfLevelsU' (temp uint) -0:146 textureQueryLevels (temp uint) -0:146 'g_tTexcdu4a' (uniform utextureCubeArray) +0:146 move second child to first child ( temp uint) +0:146 'NumberOfLevelsU' ( temp uint) +0:146 textureQueryLevels ( temp uint) +0:146 'g_tTexcdu4a' ( uniform utextureCubeArray) 0:149 Sequence -0:149 move second child to first child (temp 2-component vector of uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) -0:149 textureSize (temp 2-component vector of uint) -0:149 'g_tTex2dmsf4' (uniform texture2DMS) -0:149 move second child to first child (temp uint) -0:149 'WidthU' (temp uint) -0:149 direct index (temp uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) +0:149 move second child to first child ( temp 2-component vector of uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) +0:149 textureSize ( temp 2-component vector of uint) +0:149 'g_tTex2dmsf4' ( uniform texture2DMS) +0:149 move second child to first child ( temp uint) +0:149 'WidthU' ( temp uint) +0:149 direct index ( temp uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) 0:149 Constant: 0:149 0 (const int) -0:149 move second child to first child (temp uint) -0:149 'HeightU' (temp uint) -0:149 direct index (temp uint) -0:149 'sizeQueryTemp' (temp 2-component vector of uint) +0:149 move second child to first child ( temp uint) +0:149 'HeightU' ( temp uint) +0:149 direct index ( temp uint) +0:149 'sizeQueryTemp' ( temp 2-component vector of uint) 0:149 Constant: 0:149 1 (const int) -0:149 move second child to first child (temp uint) -0:149 'NumberOfSamplesU' (temp uint) -0:149 imageQuerySamples (temp uint) -0:149 'g_tTex2dmsf4' (uniform texture2DMS) +0:149 move second child to first child ( temp uint) +0:149 'NumberOfSamplesU' ( temp uint) +0:149 imageQuerySamples ( temp uint) +0:149 'g_tTex2dmsf4' ( uniform texture2DMS) 0:152 Sequence -0:152 move second child to first child (temp 2-component vector of uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) -0:152 textureSize (temp 2-component vector of uint) -0:152 'g_tTex2dmsi4' (uniform itexture2DMS) -0:152 move second child to first child (temp uint) -0:152 'WidthU' (temp uint) -0:152 direct index (temp uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) +0:152 move second child to first child ( temp 2-component vector of uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) +0:152 textureSize ( temp 2-component vector of uint) +0:152 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:152 move second child to first child ( temp uint) +0:152 'WidthU' ( temp uint) +0:152 direct index ( temp uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) 0:152 Constant: 0:152 0 (const int) -0:152 move second child to first child (temp uint) -0:152 'HeightU' (temp uint) -0:152 direct index (temp uint) -0:152 'sizeQueryTemp' (temp 2-component vector of uint) +0:152 move second child to first child ( temp uint) +0:152 'HeightU' ( temp uint) +0:152 direct index ( temp uint) +0:152 'sizeQueryTemp' ( temp 2-component vector of uint) 0:152 Constant: 0:152 1 (const int) -0:152 move second child to first child (temp uint) -0:152 'NumberOfSamplesU' (temp uint) -0:152 imageQuerySamples (temp uint) -0:152 'g_tTex2dmsi4' (uniform itexture2DMS) +0:152 move second child to first child ( temp uint) +0:152 'NumberOfSamplesU' ( temp uint) +0:152 imageQuerySamples ( temp uint) +0:152 'g_tTex2dmsi4' ( uniform itexture2DMS) 0:155 Sequence -0:155 move second child to first child (temp 2-component vector of uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) -0:155 textureSize (temp 2-component vector of uint) -0:155 'g_tTex2dmsu4' (uniform utexture2DMS) -0:155 move second child to first child (temp uint) -0:155 'WidthU' (temp uint) -0:155 direct index (temp uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) +0:155 move second child to first child ( temp 2-component vector of uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) +0:155 textureSize ( temp 2-component vector of uint) +0:155 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:155 move second child to first child ( temp uint) +0:155 'WidthU' ( temp uint) +0:155 direct index ( temp uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) 0:155 Constant: 0:155 0 (const int) -0:155 move second child to first child (temp uint) -0:155 'HeightU' (temp uint) -0:155 direct index (temp uint) -0:155 'sizeQueryTemp' (temp 2-component vector of uint) +0:155 move second child to first child ( temp uint) +0:155 'HeightU' ( temp uint) +0:155 direct index ( temp uint) +0:155 'sizeQueryTemp' ( temp 2-component vector of uint) 0:155 Constant: 0:155 1 (const int) -0:155 move second child to first child (temp uint) -0:155 'NumberOfSamplesU' (temp uint) -0:155 imageQuerySamples (temp uint) -0:155 'g_tTex2dmsu4' (uniform utexture2DMS) +0:155 move second child to first child ( temp uint) +0:155 'NumberOfSamplesU' ( temp uint) +0:155 imageQuerySamples ( temp uint) +0:155 'g_tTex2dmsu4' ( uniform utexture2DMS) 0:158 Sequence -0:158 move second child to first child (temp 3-component vector of uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) -0:158 textureSize (temp 3-component vector of uint) -0:158 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:158 move second child to first child (temp uint) -0:158 'WidthU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp 3-component vector of uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) +0:158 textureSize ( temp 3-component vector of uint) +0:158 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:158 move second child to first child ( temp uint) +0:158 'WidthU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 0 (const int) -0:158 move second child to first child (temp uint) -0:158 'HeightU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp uint) +0:158 'HeightU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 1 (const int) -0:158 move second child to first child (temp uint) -0:158 'ElementsU' (temp uint) -0:158 direct index (temp uint) -0:158 'sizeQueryTemp' (temp 3-component vector of uint) +0:158 move second child to first child ( temp uint) +0:158 'ElementsU' ( temp uint) +0:158 direct index ( temp uint) +0:158 'sizeQueryTemp' ( temp 3-component vector of uint) 0:158 Constant: 0:158 2 (const int) -0:158 move second child to first child (temp uint) -0:158 'NumberOfSamplesU' (temp uint) -0:158 imageQuerySamples (temp uint) -0:158 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:158 move second child to first child ( temp uint) +0:158 'NumberOfSamplesU' ( temp uint) +0:158 imageQuerySamples ( temp uint) +0:158 'g_tTex2dmsf4a' ( uniform texture2DMSArray) 0:161 Sequence -0:161 move second child to first child (temp 3-component vector of uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) -0:161 textureSize (temp 3-component vector of uint) -0:161 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:161 move second child to first child (temp uint) -0:161 'WidthU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp 3-component vector of uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) +0:161 textureSize ( temp 3-component vector of uint) +0:161 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:161 move second child to first child ( temp uint) +0:161 'WidthU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 0 (const int) -0:161 move second child to first child (temp uint) -0:161 'HeightU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp uint) +0:161 'HeightU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 1 (const int) -0:161 move second child to first child (temp uint) -0:161 'ElementsU' (temp uint) -0:161 direct index (temp uint) -0:161 'sizeQueryTemp' (temp 3-component vector of uint) +0:161 move second child to first child ( temp uint) +0:161 'ElementsU' ( temp uint) +0:161 direct index ( temp uint) +0:161 'sizeQueryTemp' ( temp 3-component vector of uint) 0:161 Constant: 0:161 2 (const int) -0:161 move second child to first child (temp uint) -0:161 'NumberOfSamplesU' (temp uint) -0:161 imageQuerySamples (temp uint) -0:161 'g_tTex2dmsi4a' (uniform itexture2DMSArray) +0:161 move second child to first child ( temp uint) +0:161 'NumberOfSamplesU' ( temp uint) +0:161 imageQuerySamples ( temp uint) +0:161 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) 0:164 Sequence -0:164 move second child to first child (temp 3-component vector of uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) -0:164 textureSize (temp 3-component vector of uint) -0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:164 move second child to first child (temp uint) -0:164 'WidthU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp 3-component vector of uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) +0:164 textureSize ( temp 3-component vector of uint) +0:164 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:164 move second child to first child ( temp uint) +0:164 'WidthU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 0 (const int) -0:164 move second child to first child (temp uint) -0:164 'HeightU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp uint) +0:164 'HeightU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 1 (const int) -0:164 move second child to first child (temp uint) -0:164 'ElementsU' (temp uint) -0:164 direct index (temp uint) -0:164 'sizeQueryTemp' (temp 3-component vector of uint) +0:164 move second child to first child ( temp uint) +0:164 'ElementsU' ( temp uint) +0:164 direct index ( temp uint) +0:164 'sizeQueryTemp' ( temp 3-component vector of uint) 0:164 Constant: 0:164 2 (const int) -0:164 move second child to first child (temp uint) -0:164 'NumberOfSamplesU' (temp uint) -0:164 imageQuerySamples (temp uint) -0:164 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:276 move second child to first child (temp 4-component vector of float) -0:276 Color: direct index for structure (temp 4-component vector of float) -0:276 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:164 move second child to first child ( temp uint) +0:164 'NumberOfSamplesU' ( temp uint) +0:164 imageQuerySamples ( temp uint) +0:164 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:276 move second child to first child ( temp 4-component vector of float) +0:276 Color: direct index for structure ( temp 4-component vector of float) +0:276 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:276 Constant: 0:276 0 (const int) 0:276 Constant: @@ -2165,63 +2255,69 @@ gl_FragCoord origin is upper left 0:276 1.000000 0:276 1.000000 0:276 1.000000 -0:277 move second child to first child (temp float) -0:277 Depth: direct index for structure (temp float) -0:277 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:277 move second child to first child ( temp float) +0:277 Depth: direct index for structure ( temp float) +0:277 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:277 Constant: 0:277 1 (const int) 0:277 Constant: 0:277 1.000000 -0:279 Sequence -0:279 Sequence -0:279 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:279 Color: direct index for structure (temp 4-component vector of float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 0 (const int) -0:279 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:279 Depth: direct index for structure (temp float) -0:279 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:279 Constant: -0:279 1 (const int) -0:279 Branch: Return +0:279 Branch: Return with expression +0:279 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Function Definition: main( ( temp void) +0:46 Function Parameters: +0:? Sequence +0:46 Sequence +0:46 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:46 Color: direct index for structure ( temp 4-component vector of float) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 0 (const int) +0:46 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:46 Depth: direct index for structure ( temp float) +0:46 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:46 Constant: +0:46 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsi4' (uniform itexture2DMS) -0:? 'g_tTex2dmsu4' (uniform utexture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:? 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:? 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 545 +// Id's are bound by 550 Capability Shader Capability Sampled1D @@ -2230,860 +2326,869 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 534 538 + EntryPoint Fragment 4 "main" 540 544 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 23 "NumberOfLevelsU" - Name 26 "sizeQueryTemp" - Name 29 "g_tTex1di4" - Name 33 "sizeQueryTemp" + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 22 "WidthU" + Name 24 "sizeQueryTemp" + Name 29 "NumberOfLevelsU" + Name 32 "sizeQueryTemp" + Name 35 "g_tTex1di4" Name 39 "sizeQueryTemp" - Name 42 "g_tTex1du4" - Name 46 "sizeQueryTemp" - Name 54 "sizeQueryTemp" - Name 57 "g_tTex1df4a" - Name 64 "ElementsU" - Name 68 "sizeQueryTemp" - Name 77 "sizeQueryTemp" - Name 80 "g_tTex1di4a" - Name 87 "sizeQueryTemp" - Name 96 "sizeQueryTemp" - Name 99 "g_tTex1du4a" - Name 106 "sizeQueryTemp" - Name 115 "sizeQueryTemp" - Name 118 "g_tTex2df4" - Name 123 "HeightU" - Name 126 "sizeQueryTemp" - Name 135 "sizeQueryTemp" - Name 138 "g_tTex2di4" - Name 145 "sizeQueryTemp" - Name 154 "sizeQueryTemp" - Name 157 "g_tTex2du4" - Name 164 "sizeQueryTemp" - Name 175 "sizeQueryTemp" - Name 178 "g_tTex2df4a" - Name 189 "sizeQueryTemp" - Name 200 "sizeQueryTemp" - Name 203 "g_tTex2di4a" - Name 212 "sizeQueryTemp" - Name 223 "sizeQueryTemp" - Name 226 "g_tTex2du4a" - Name 235 "sizeQueryTemp" - Name 246 "sizeQueryTemp" - Name 249 "g_tTex3df4" - Name 256 "DepthU" - Name 259 "sizeQueryTemp" - Name 270 "sizeQueryTemp" - Name 273 "g_tTex3di4" - Name 282 "sizeQueryTemp" - Name 293 "sizeQueryTemp" - Name 296 "g_tTex3du4" - Name 305 "sizeQueryTemp" - Name 316 "sizeQueryTemp" - Name 319 "g_tTexcdf4" - Name 326 "sizeQueryTemp" - Name 335 "sizeQueryTemp" - Name 338 "g_tTexcdi4" - Name 345 "sizeQueryTemp" - Name 354 "sizeQueryTemp" - Name 357 "g_tTexcdu4" - Name 364 "sizeQueryTemp" - Name 373 "sizeQueryTemp" - Name 376 "g_tTexcdf4a" - Name 385 "sizeQueryTemp" - Name 396 "sizeQueryTemp" - Name 399 "g_tTexcdi4a" - Name 408 "sizeQueryTemp" - Name 419 "sizeQueryTemp" - Name 422 "g_tTexcdu4a" - Name 431 "sizeQueryTemp" - Name 442 "sizeQueryTemp" - Name 445 "g_tTex2dmsf4" - Name 452 "NumberOfSamplesU" - Name 455 "sizeQueryTemp" - Name 458 "g_tTex2dmsi4" - Name 467 "sizeQueryTemp" - Name 470 "g_tTex2dmsu4" - Name 479 "sizeQueryTemp" - Name 482 "g_tTex2dmsf4a" - Name 493 "sizeQueryTemp" - Name 496 "g_tTex2dmsi4a" - Name 507 "sizeQueryTemp" - Name 510 "g_tTex2dmsu4a" - Name 522 "PS_OUTPUT" - MemberName 522(PS_OUTPUT) 0 "Color" - MemberName 522(PS_OUTPUT) 1 "Depth" - Name 524 "psout" - Name 534 "Color" - Name 538 "Depth" - Name 544 "g_sSamp" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex1df4a) DescriptorSet 0 - Decorate 80(g_tTex1di4a) DescriptorSet 0 - Decorate 99(g_tTex1du4a) DescriptorSet 0 - Decorate 118(g_tTex2df4) DescriptorSet 0 - Decorate 138(g_tTex2di4) DescriptorSet 0 - Decorate 157(g_tTex2du4) DescriptorSet 0 - Decorate 178(g_tTex2df4a) DescriptorSet 0 - Decorate 203(g_tTex2di4a) DescriptorSet 0 - Decorate 226(g_tTex2du4a) DescriptorSet 0 - Decorate 249(g_tTex3df4) DescriptorSet 0 - Decorate 273(g_tTex3di4) DescriptorSet 0 - Decorate 296(g_tTex3du4) DescriptorSet 0 - Decorate 319(g_tTexcdf4) DescriptorSet 0 - Decorate 338(g_tTexcdi4) DescriptorSet 0 - Decorate 357(g_tTexcdu4) DescriptorSet 0 - Decorate 376(g_tTexcdf4a) DescriptorSet 0 - Decorate 399(g_tTexcdi4a) DescriptorSet 0 - Decorate 422(g_tTexcdu4a) DescriptorSet 0 - Decorate 445(g_tTex2dmsf4) DescriptorSet 0 - Decorate 458(g_tTex2dmsi4) DescriptorSet 0 - Decorate 470(g_tTex2dmsu4) DescriptorSet 0 - Decorate 482(g_tTex2dmsf4a) DescriptorSet 0 - Decorate 496(g_tTex2dmsi4a) DescriptorSet 0 - Decorate 510(g_tTex2dmsu4a) DescriptorSet 0 - Decorate 534(Color) Location 0 - Decorate 538(Depth) BuiltIn FragDepth - Decorate 544(g_sSamp) DescriptorSet 0 - Decorate 544(g_sSamp) Binding 0 + Name 45 "sizeQueryTemp" + Name 48 "g_tTex1du4" + Name 52 "sizeQueryTemp" + Name 60 "sizeQueryTemp" + Name 63 "g_tTex1df4a" + Name 69 "ElementsU" + Name 73 "sizeQueryTemp" + Name 82 "sizeQueryTemp" + Name 85 "g_tTex1di4a" + Name 92 "sizeQueryTemp" + Name 101 "sizeQueryTemp" + Name 104 "g_tTex1du4a" + Name 111 "sizeQueryTemp" + Name 120 "sizeQueryTemp" + Name 123 "g_tTex2df4" + Name 128 "HeightU" + Name 131 "sizeQueryTemp" + Name 140 "sizeQueryTemp" + Name 143 "g_tTex2di4" + Name 150 "sizeQueryTemp" + Name 159 "sizeQueryTemp" + Name 162 "g_tTex2du4" + Name 169 "sizeQueryTemp" + Name 180 "sizeQueryTemp" + Name 183 "g_tTex2df4a" + Name 193 "sizeQueryTemp" + Name 204 "sizeQueryTemp" + Name 207 "g_tTex2di4a" + Name 216 "sizeQueryTemp" + Name 227 "sizeQueryTemp" + Name 230 "g_tTex2du4a" + Name 239 "sizeQueryTemp" + Name 250 "sizeQueryTemp" + Name 253 "g_tTex3df4" + Name 260 "DepthU" + Name 263 "sizeQueryTemp" + Name 274 "sizeQueryTemp" + Name 277 "g_tTex3di4" + Name 286 "sizeQueryTemp" + Name 297 "sizeQueryTemp" + Name 300 "g_tTex3du4" + Name 309 "sizeQueryTemp" + Name 320 "sizeQueryTemp" + Name 323 "g_tTexcdf4" + Name 330 "sizeQueryTemp" + Name 339 "sizeQueryTemp" + Name 342 "g_tTexcdi4" + Name 349 "sizeQueryTemp" + Name 358 "sizeQueryTemp" + Name 361 "g_tTexcdu4" + Name 368 "sizeQueryTemp" + Name 377 "sizeQueryTemp" + Name 380 "g_tTexcdf4a" + Name 389 "sizeQueryTemp" + Name 400 "sizeQueryTemp" + Name 403 "g_tTexcdi4a" + Name 412 "sizeQueryTemp" + Name 423 "sizeQueryTemp" + Name 426 "g_tTexcdu4a" + Name 435 "sizeQueryTemp" + Name 446 "sizeQueryTemp" + Name 449 "g_tTex2dmsf4" + Name 456 "NumberOfSamplesU" + Name 459 "sizeQueryTemp" + Name 462 "g_tTex2dmsi4" + Name 471 "sizeQueryTemp" + Name 474 "g_tTex2dmsu4" + Name 483 "sizeQueryTemp" + Name 486 "g_tTex2dmsf4a" + Name 497 "sizeQueryTemp" + Name 500 "g_tTex2dmsi4a" + Name 511 "sizeQueryTemp" + Name 514 "g_tTex2dmsu4a" + Name 526 "psout" + Name 537 "flattenTemp" + Name 540 "Color" + Name 544 "Depth" + Name 549 "g_sSamp" + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 85(g_tTex1di4a) DescriptorSet 0 + Decorate 104(g_tTex1du4a) DescriptorSet 0 + Decorate 123(g_tTex2df4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 162(g_tTex2du4) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 207(g_tTex2di4a) DescriptorSet 0 + Decorate 230(g_tTex2du4a) DescriptorSet 0 + Decorate 253(g_tTex3df4) DescriptorSet 0 + Decorate 277(g_tTex3di4) DescriptorSet 0 + Decorate 300(g_tTex3du4) DescriptorSet 0 + Decorate 323(g_tTexcdf4) DescriptorSet 0 + Decorate 342(g_tTexcdi4) DescriptorSet 0 + Decorate 361(g_tTexcdu4) DescriptorSet 0 + Decorate 380(g_tTexcdf4a) DescriptorSet 0 + Decorate 403(g_tTexcdi4a) DescriptorSet 0 + Decorate 426(g_tTexcdu4a) DescriptorSet 0 + Decorate 449(g_tTex2dmsf4) DescriptorSet 0 + Decorate 462(g_tTex2dmsi4) DescriptorSet 0 + Decorate 474(g_tTex2dmsu4) DescriptorSet 0 + Decorate 486(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 500(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 514(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 540(Color) Location 0 + Decorate 544(Depth) BuiltIn FragDepth + Decorate 549(g_sSamp) DescriptorSet 0 + Decorate 549(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 20: 6(int) Constant 6 - 27: TypeImage 14(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 40: TypeImage 6(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 52: TypeVector 6(int) 2 - 53: TypePointer Function 52(ivec2) - 55: TypeImage 9(float) 1D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex1df4a): 56(ptr) Variable UniformConstant - 59: TypeVector 14(int) 2 - 61: 6(int) Constant 0 - 65: 6(int) Constant 1 - 78: TypeImage 14(int) 1D array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex1di4a): 79(ptr) Variable UniformConstant - 97: TypeImage 6(int) 1D array sampled format:Unknown - 98: TypePointer UniformConstant 97 - 99(g_tTex1du4a): 98(ptr) Variable UniformConstant - 116: TypeImage 9(float) 2D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex2df4): 117(ptr) Variable UniformConstant - 136: TypeImage 14(int) 2D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex2di4): 137(ptr) Variable UniformConstant - 155: TypeImage 6(int) 2D sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTex2du4): 156(ptr) Variable UniformConstant - 173: TypeVector 6(int) 3 - 174: TypePointer Function 173(ivec3) - 176: TypeImage 9(float) 2D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex2df4a): 177(ptr) Variable UniformConstant - 180: TypeVector 14(int) 3 - 186: 6(int) Constant 2 - 201: TypeImage 14(int) 2D array sampled format:Unknown - 202: TypePointer UniformConstant 201 -203(g_tTex2di4a): 202(ptr) Variable UniformConstant - 224: TypeImage 6(int) 2D array sampled format:Unknown - 225: TypePointer UniformConstant 224 -226(g_tTex2du4a): 225(ptr) Variable UniformConstant - 247: TypeImage 9(float) 3D sampled format:Unknown - 248: TypePointer UniformConstant 247 - 249(g_tTex3df4): 248(ptr) Variable UniformConstant - 271: TypeImage 14(int) 3D sampled format:Unknown - 272: TypePointer UniformConstant 271 - 273(g_tTex3di4): 272(ptr) Variable UniformConstant - 294: TypeImage 6(int) 3D sampled format:Unknown - 295: TypePointer UniformConstant 294 - 296(g_tTex3du4): 295(ptr) Variable UniformConstant - 317: TypeImage 9(float) Cube sampled format:Unknown - 318: TypePointer UniformConstant 317 - 319(g_tTexcdf4): 318(ptr) Variable UniformConstant - 336: TypeImage 14(int) Cube sampled format:Unknown - 337: TypePointer UniformConstant 336 - 338(g_tTexcdi4): 337(ptr) Variable UniformConstant - 355: TypeImage 6(int) Cube sampled format:Unknown - 356: TypePointer UniformConstant 355 - 357(g_tTexcdu4): 356(ptr) Variable UniformConstant - 374: TypeImage 9(float) Cube array sampled format:Unknown - 375: TypePointer UniformConstant 374 -376(g_tTexcdf4a): 375(ptr) Variable UniformConstant - 397: TypeImage 14(int) Cube array sampled format:Unknown - 398: TypePointer UniformConstant 397 -399(g_tTexcdi4a): 398(ptr) Variable UniformConstant - 420: TypeImage 6(int) Cube array sampled format:Unknown - 421: TypePointer UniformConstant 420 -422(g_tTexcdu4a): 421(ptr) Variable UniformConstant - 443: TypeImage 9(float) 2D multi-sampled sampled format:Unknown - 444: TypePointer UniformConstant 443 -445(g_tTex2dmsf4): 444(ptr) Variable UniformConstant - 456: TypeImage 14(int) 2D multi-sampled sampled format:Unknown - 457: TypePointer UniformConstant 456 -458(g_tTex2dmsi4): 457(ptr) Variable UniformConstant - 468: TypeImage 6(int) 2D multi-sampled sampled format:Unknown - 469: TypePointer UniformConstant 468 -470(g_tTex2dmsu4): 469(ptr) Variable UniformConstant - 480: TypeImage 9(float) 2D array multi-sampled sampled format:Unknown - 481: TypePointer UniformConstant 480 -482(g_tTex2dmsf4a): 481(ptr) Variable UniformConstant - 494: TypeImage 14(int) 2D array multi-sampled sampled format:Unknown - 495: TypePointer UniformConstant 494 -496(g_tTex2dmsi4a): 495(ptr) Variable UniformConstant - 508: TypeImage 6(int) 2D array multi-sampled sampled format:Unknown - 509: TypePointer UniformConstant 508 -510(g_tTex2dmsu4a): 509(ptr) Variable UniformConstant - 521: TypeVector 9(float) 4 - 522(PS_OUTPUT): TypeStruct 521(fvec4) 9(float) - 523: TypePointer Function 522(PS_OUTPUT) - 525: 14(int) Constant 0 - 526: 9(float) Constant 1065353216 - 527: 521(fvec4) ConstantComposite 526 526 526 526 - 528: TypePointer Function 521(fvec4) - 530: 14(int) Constant 1 - 531: TypePointer Function 9(float) - 533: TypePointer Output 521(fvec4) - 534(Color): 533(ptr) Variable Output - 537: TypePointer Output 9(float) - 538(Depth): 537(ptr) Variable Output - 542: TypeSampler - 543: TypePointer UniformConstant 542 - 544(g_sSamp): 543(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D sampled format:Unknown + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 26: 12(int) Constant 6 + 33: TypeImage 19(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 46: TypeImage 12(int) 1D sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 58: TypeVector 12(int) 2 + 59: TypePointer Function 58(ivec2) + 61: TypeImage 6(float) 1D array sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex1df4a): 62(ptr) Variable UniformConstant + 66: 12(int) Constant 0 + 70: 12(int) Constant 1 + 83: TypeImage 19(int) 1D array sampled format:Unknown + 84: TypePointer UniformConstant 83 + 85(g_tTex1di4a): 84(ptr) Variable UniformConstant + 102: TypeImage 12(int) 1D array sampled format:Unknown + 103: TypePointer UniformConstant 102 +104(g_tTex1du4a): 103(ptr) Variable UniformConstant + 121: TypeImage 6(float) 2D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex2df4): 122(ptr) Variable UniformConstant + 141: TypeImage 19(int) 2D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex2di4): 142(ptr) Variable UniformConstant + 160: TypeImage 12(int) 2D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex2du4): 161(ptr) Variable UniformConstant + 178: TypeVector 12(int) 3 + 179: TypePointer Function 178(ivec3) + 181: TypeImage 6(float) 2D array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTex2df4a): 182(ptr) Variable UniformConstant + 190: 12(int) Constant 2 + 205: TypeImage 19(int) 2D array sampled format:Unknown + 206: TypePointer UniformConstant 205 +207(g_tTex2di4a): 206(ptr) Variable UniformConstant + 228: TypeImage 12(int) 2D array sampled format:Unknown + 229: TypePointer UniformConstant 228 +230(g_tTex2du4a): 229(ptr) Variable UniformConstant + 251: TypeImage 6(float) 3D sampled format:Unknown + 252: TypePointer UniformConstant 251 + 253(g_tTex3df4): 252(ptr) Variable UniformConstant + 275: TypeImage 19(int) 3D sampled format:Unknown + 276: TypePointer UniformConstant 275 + 277(g_tTex3di4): 276(ptr) Variable UniformConstant + 298: TypeImage 12(int) 3D sampled format:Unknown + 299: TypePointer UniformConstant 298 + 300(g_tTex3du4): 299(ptr) Variable UniformConstant + 321: TypeImage 6(float) Cube sampled format:Unknown + 322: TypePointer UniformConstant 321 + 323(g_tTexcdf4): 322(ptr) Variable UniformConstant + 340: TypeImage 19(int) Cube sampled format:Unknown + 341: TypePointer UniformConstant 340 + 342(g_tTexcdi4): 341(ptr) Variable UniformConstant + 359: TypeImage 12(int) Cube sampled format:Unknown + 360: TypePointer UniformConstant 359 + 361(g_tTexcdu4): 360(ptr) Variable UniformConstant + 378: TypeImage 6(float) Cube array sampled format:Unknown + 379: TypePointer UniformConstant 378 +380(g_tTexcdf4a): 379(ptr) Variable UniformConstant + 401: TypeImage 19(int) Cube array sampled format:Unknown + 402: TypePointer UniformConstant 401 +403(g_tTexcdi4a): 402(ptr) Variable UniformConstant + 424: TypeImage 12(int) Cube array sampled format:Unknown + 425: TypePointer UniformConstant 424 +426(g_tTexcdu4a): 425(ptr) Variable UniformConstant + 447: TypeImage 6(float) 2D multi-sampled sampled format:Unknown + 448: TypePointer UniformConstant 447 +449(g_tTex2dmsf4): 448(ptr) Variable UniformConstant + 460: TypeImage 19(int) 2D multi-sampled sampled format:Unknown + 461: TypePointer UniformConstant 460 +462(g_tTex2dmsi4): 461(ptr) Variable UniformConstant + 472: TypeImage 12(int) 2D multi-sampled sampled format:Unknown + 473: TypePointer UniformConstant 472 +474(g_tTex2dmsu4): 473(ptr) Variable UniformConstant + 484: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown + 485: TypePointer UniformConstant 484 +486(g_tTex2dmsf4a): 485(ptr) Variable UniformConstant + 498: TypeImage 19(int) 2D array multi-sampled sampled format:Unknown + 499: TypePointer UniformConstant 498 +500(g_tTex2dmsi4a): 499(ptr) Variable UniformConstant + 512: TypeImage 12(int) 2D array multi-sampled sampled format:Unknown + 513: TypePointer UniformConstant 512 +514(g_tTex2dmsu4a): 513(ptr) Variable UniformConstant + 525: TypePointer Function 8(PS_OUTPUT) + 527: 6(float) Constant 1065353216 + 528: 7(fvec4) ConstantComposite 527 527 527 527 + 529: TypePointer Function 7(fvec4) + 531: 19(int) Constant 1 + 532: TypePointer Function 6(float) + 539: TypePointer Output 7(fvec4) + 540(Color): 539(ptr) Variable Output + 543: TypePointer Output 6(float) + 544(Depth): 543(ptr) Variable Output + 547: TypeSampler + 548: TypePointer UniformConstant 547 + 549(g_sSamp): 548(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -23(NumberOfLevelsU): 7(ptr) Variable Function -26(sizeQueryTemp): 7(ptr) Variable Function -33(sizeQueryTemp): 7(ptr) Variable Function -39(sizeQueryTemp): 7(ptr) Variable Function -46(sizeQueryTemp): 7(ptr) Variable Function -54(sizeQueryTemp): 53(ptr) Variable Function - 64(ElementsU): 7(ptr) Variable Function -68(sizeQueryTemp): 53(ptr) Variable Function -77(sizeQueryTemp): 53(ptr) Variable Function -87(sizeQueryTemp): 53(ptr) Variable Function -96(sizeQueryTemp): 53(ptr) Variable Function -106(sizeQueryTemp): 53(ptr) Variable Function -115(sizeQueryTemp): 53(ptr) Variable Function - 123(HeightU): 7(ptr) Variable Function -126(sizeQueryTemp): 53(ptr) Variable Function -135(sizeQueryTemp): 53(ptr) Variable Function -145(sizeQueryTemp): 53(ptr) Variable Function -154(sizeQueryTemp): 53(ptr) Variable Function -164(sizeQueryTemp): 53(ptr) Variable Function -175(sizeQueryTemp): 174(ptr) Variable Function -189(sizeQueryTemp): 174(ptr) Variable Function -200(sizeQueryTemp): 174(ptr) Variable Function -212(sizeQueryTemp): 174(ptr) Variable Function -223(sizeQueryTemp): 174(ptr) Variable Function -235(sizeQueryTemp): 174(ptr) Variable Function -246(sizeQueryTemp): 174(ptr) Variable Function - 256(DepthU): 7(ptr) Variable Function -259(sizeQueryTemp): 174(ptr) Variable Function -270(sizeQueryTemp): 174(ptr) Variable Function -282(sizeQueryTemp): 174(ptr) Variable Function -293(sizeQueryTemp): 174(ptr) Variable Function -305(sizeQueryTemp): 174(ptr) Variable Function -316(sizeQueryTemp): 53(ptr) Variable Function -326(sizeQueryTemp): 53(ptr) Variable Function -335(sizeQueryTemp): 53(ptr) Variable Function -345(sizeQueryTemp): 53(ptr) Variable Function -354(sizeQueryTemp): 53(ptr) Variable Function -364(sizeQueryTemp): 53(ptr) Variable Function -373(sizeQueryTemp): 174(ptr) Variable Function -385(sizeQueryTemp): 174(ptr) Variable Function -396(sizeQueryTemp): 174(ptr) Variable Function -408(sizeQueryTemp): 174(ptr) Variable Function -419(sizeQueryTemp): 174(ptr) Variable Function -431(sizeQueryTemp): 174(ptr) Variable Function -442(sizeQueryTemp): 53(ptr) Variable Function -452(NumberOfSamplesU): 7(ptr) Variable Function -455(sizeQueryTemp): 53(ptr) Variable Function -467(sizeQueryTemp): 53(ptr) Variable Function -479(sizeQueryTemp): 174(ptr) Variable Function -493(sizeQueryTemp): 174(ptr) Variable Function -507(sizeQueryTemp): 174(ptr) Variable Function - 524(psout): 523(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 19: 10 Load 12(g_tTex1df4) - 21: 14(int) ImageQuerySizeLod 19 20 - Store 18(sizeQueryTemp) 21 - 22: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 22 - 24: 10 Load 12(g_tTex1df4) - 25: 14(int) ImageQueryLevels 24 - Store 23(NumberOfLevelsU) 25 - 30: 27 Load 29(g_tTex1di4) - 31: 14(int) ImageQuerySize 30 - Store 26(sizeQueryTemp) 31 - 32: 6(int) Load 26(sizeQueryTemp) - Store 16(WidthU) 32 - 34: 27 Load 29(g_tTex1di4) - 35: 14(int) ImageQuerySizeLod 34 20 - Store 33(sizeQueryTemp) 35 - 36: 6(int) Load 33(sizeQueryTemp) - Store 16(WidthU) 36 - 37: 27 Load 29(g_tTex1di4) - 38: 14(int) ImageQueryLevels 37 - Store 23(NumberOfLevelsU) 38 - 43: 40 Load 42(g_tTex1du4) - 44: 14(int) ImageQuerySize 43 - Store 39(sizeQueryTemp) 44 - 45: 6(int) Load 39(sizeQueryTemp) - Store 16(WidthU) 45 - 47: 40 Load 42(g_tTex1du4) - 48: 14(int) ImageQuerySizeLod 47 20 - Store 46(sizeQueryTemp) 48 - 49: 6(int) Load 46(sizeQueryTemp) - Store 16(WidthU) 49 - 50: 40 Load 42(g_tTex1du4) - 51: 14(int) ImageQueryLevels 50 - Store 23(NumberOfLevelsU) 51 - 58: 55 Load 57(g_tTex1df4a) - 60: 59(ivec2) ImageQuerySize 58 - Store 54(sizeQueryTemp) 60 - 62: 7(ptr) AccessChain 54(sizeQueryTemp) 61 - 63: 6(int) Load 62 - Store 16(WidthU) 63 - 66: 7(ptr) AccessChain 54(sizeQueryTemp) 65 - 67: 6(int) Load 66 - Store 64(ElementsU) 67 - 69: 55 Load 57(g_tTex1df4a) - 70: 59(ivec2) ImageQuerySizeLod 69 20 - Store 68(sizeQueryTemp) 70 - 71: 7(ptr) AccessChain 68(sizeQueryTemp) 61 - 72: 6(int) Load 71 - Store 16(WidthU) 72 - 73: 7(ptr) AccessChain 68(sizeQueryTemp) 65 - 74: 6(int) Load 73 - Store 64(ElementsU) 74 - 75: 55 Load 57(g_tTex1df4a) - 76: 14(int) ImageQueryLevels 75 - Store 23(NumberOfLevelsU) 76 - 81: 78 Load 80(g_tTex1di4a) - 82: 59(ivec2) ImageQuerySize 81 - Store 77(sizeQueryTemp) 82 - 83: 7(ptr) AccessChain 77(sizeQueryTemp) 61 - 84: 6(int) Load 83 - Store 16(WidthU) 84 - 85: 7(ptr) AccessChain 77(sizeQueryTemp) 65 - 86: 6(int) Load 85 - Store 64(ElementsU) 86 - 88: 78 Load 80(g_tTex1di4a) - 89: 59(ivec2) ImageQuerySizeLod 88 20 - Store 87(sizeQueryTemp) 89 - 90: 7(ptr) AccessChain 87(sizeQueryTemp) 61 - 91: 6(int) Load 90 - Store 16(WidthU) 91 - 92: 7(ptr) AccessChain 87(sizeQueryTemp) 65 - 93: 6(int) Load 92 - Store 64(ElementsU) 93 - 94: 78 Load 80(g_tTex1di4a) - 95: 14(int) ImageQueryLevels 94 - Store 23(NumberOfLevelsU) 95 - 100: 97 Load 99(g_tTex1du4a) - 101: 59(ivec2) ImageQuerySize 100 - Store 96(sizeQueryTemp) 101 - 102: 7(ptr) AccessChain 96(sizeQueryTemp) 61 - 103: 6(int) Load 102 - Store 16(WidthU) 103 - 104: 7(ptr) AccessChain 96(sizeQueryTemp) 65 - 105: 6(int) Load 104 - Store 64(ElementsU) 105 - 107: 97 Load 99(g_tTex1du4a) - 108: 59(ivec2) ImageQuerySizeLod 107 20 - Store 106(sizeQueryTemp) 108 - 109: 7(ptr) AccessChain 106(sizeQueryTemp) 61 - 110: 6(int) Load 109 - Store 16(WidthU) 110 - 111: 7(ptr) AccessChain 106(sizeQueryTemp) 65 - 112: 6(int) Load 111 - Store 64(ElementsU) 112 - 113: 97 Load 99(g_tTex1du4a) - 114: 14(int) ImageQueryLevels 113 - Store 23(NumberOfLevelsU) 114 - 119: 116 Load 118(g_tTex2df4) - 120: 59(ivec2) ImageQuerySize 119 - Store 115(sizeQueryTemp) 120 - 121: 7(ptr) AccessChain 115(sizeQueryTemp) 61 - 122: 6(int) Load 121 - Store 16(WidthU) 122 - 124: 7(ptr) AccessChain 115(sizeQueryTemp) 65 - 125: 6(int) Load 124 - Store 123(HeightU) 125 - 127: 116 Load 118(g_tTex2df4) - 128: 59(ivec2) ImageQuerySizeLod 127 20 - Store 126(sizeQueryTemp) 128 - 129: 7(ptr) AccessChain 126(sizeQueryTemp) 61 - 130: 6(int) Load 129 - Store 16(WidthU) 130 - 131: 7(ptr) AccessChain 126(sizeQueryTemp) 65 - 132: 6(int) Load 131 - Store 123(HeightU) 132 - 133: 116 Load 118(g_tTex2df4) - 134: 14(int) ImageQueryLevels 133 - Store 23(NumberOfLevelsU) 134 - 139: 136 Load 138(g_tTex2di4) - 140: 59(ivec2) ImageQuerySize 139 - Store 135(sizeQueryTemp) 140 - 141: 7(ptr) AccessChain 135(sizeQueryTemp) 61 - 142: 6(int) Load 141 - Store 16(WidthU) 142 - 143: 7(ptr) AccessChain 135(sizeQueryTemp) 65 - 144: 6(int) Load 143 - Store 123(HeightU) 144 - 146: 136 Load 138(g_tTex2di4) - 147: 59(ivec2) ImageQuerySizeLod 146 20 - Store 145(sizeQueryTemp) 147 - 148: 7(ptr) AccessChain 145(sizeQueryTemp) 61 - 149: 6(int) Load 148 - Store 16(WidthU) 149 - 150: 7(ptr) AccessChain 145(sizeQueryTemp) 65 - 151: 6(int) Load 150 - Store 123(HeightU) 151 - 152: 136 Load 138(g_tTex2di4) - 153: 14(int) ImageQueryLevels 152 - Store 23(NumberOfLevelsU) 153 - 158: 155 Load 157(g_tTex2du4) - 159: 59(ivec2) ImageQuerySize 158 - Store 154(sizeQueryTemp) 159 - 160: 7(ptr) AccessChain 154(sizeQueryTemp) 61 - 161: 6(int) Load 160 - Store 16(WidthU) 161 - 162: 7(ptr) AccessChain 154(sizeQueryTemp) 65 - 163: 6(int) Load 162 - Store 123(HeightU) 163 - 165: 155 Load 157(g_tTex2du4) - 166: 59(ivec2) ImageQuerySizeLod 165 20 - Store 164(sizeQueryTemp) 166 - 167: 7(ptr) AccessChain 164(sizeQueryTemp) 61 - 168: 6(int) Load 167 - Store 16(WidthU) 168 - 169: 7(ptr) AccessChain 164(sizeQueryTemp) 65 - 170: 6(int) Load 169 - Store 123(HeightU) 170 - 171: 155 Load 157(g_tTex2du4) - 172: 14(int) ImageQueryLevels 171 - Store 23(NumberOfLevelsU) 172 - 179: 176 Load 178(g_tTex2df4a) - 181: 180(ivec3) ImageQuerySize 179 - Store 175(sizeQueryTemp) 181 - 182: 7(ptr) AccessChain 175(sizeQueryTemp) 61 - 183: 6(int) Load 182 - Store 16(WidthU) 183 - 184: 7(ptr) AccessChain 175(sizeQueryTemp) 65 - 185: 6(int) Load 184 - Store 123(HeightU) 185 - 187: 7(ptr) AccessChain 175(sizeQueryTemp) 186 - 188: 6(int) Load 187 - Store 64(ElementsU) 188 - 190: 176 Load 178(g_tTex2df4a) - 191: 180(ivec3) ImageQuerySizeLod 190 20 - Store 189(sizeQueryTemp) 191 - 192: 7(ptr) AccessChain 189(sizeQueryTemp) 61 - 193: 6(int) Load 192 - Store 16(WidthU) 193 - 194: 7(ptr) AccessChain 189(sizeQueryTemp) 65 - 195: 6(int) Load 194 - Store 123(HeightU) 195 - 196: 7(ptr) AccessChain 189(sizeQueryTemp) 186 - 197: 6(int) Load 196 - Store 64(ElementsU) 197 - 198: 176 Load 178(g_tTex2df4a) - 199: 14(int) ImageQueryLevels 198 - Store 23(NumberOfLevelsU) 199 - 204: 201 Load 203(g_tTex2di4a) - 205: 180(ivec3) ImageQuerySize 204 - Store 200(sizeQueryTemp) 205 - 206: 7(ptr) AccessChain 200(sizeQueryTemp) 61 - 207: 6(int) Load 206 - Store 16(WidthU) 207 - 208: 7(ptr) AccessChain 200(sizeQueryTemp) 65 - 209: 6(int) Load 208 - Store 123(HeightU) 209 - 210: 7(ptr) AccessChain 200(sizeQueryTemp) 186 - 211: 6(int) Load 210 - Store 64(ElementsU) 211 - 213: 201 Load 203(g_tTex2di4a) - 214: 180(ivec3) ImageQuerySizeLod 213 20 - Store 212(sizeQueryTemp) 214 - 215: 7(ptr) AccessChain 212(sizeQueryTemp) 61 - 216: 6(int) Load 215 - Store 16(WidthU) 216 - 217: 7(ptr) AccessChain 212(sizeQueryTemp) 65 - 218: 6(int) Load 217 - Store 123(HeightU) 218 - 219: 7(ptr) AccessChain 212(sizeQueryTemp) 186 - 220: 6(int) Load 219 - Store 64(ElementsU) 220 - 221: 201 Load 203(g_tTex2di4a) - 222: 14(int) ImageQueryLevels 221 - Store 23(NumberOfLevelsU) 222 - 227: 224 Load 226(g_tTex2du4a) - 228: 180(ivec3) ImageQuerySize 227 - Store 223(sizeQueryTemp) 228 - 229: 7(ptr) AccessChain 223(sizeQueryTemp) 61 - 230: 6(int) Load 229 - Store 16(WidthU) 230 - 231: 7(ptr) AccessChain 223(sizeQueryTemp) 65 - 232: 6(int) Load 231 - Store 123(HeightU) 232 - 233: 7(ptr) AccessChain 223(sizeQueryTemp) 186 - 234: 6(int) Load 233 - Store 64(ElementsU) 234 - 236: 224 Load 226(g_tTex2du4a) - 237: 180(ivec3) ImageQuerySizeLod 236 20 - Store 235(sizeQueryTemp) 237 - 238: 7(ptr) AccessChain 235(sizeQueryTemp) 61 - 239: 6(int) Load 238 - Store 16(WidthU) 239 - 240: 7(ptr) AccessChain 235(sizeQueryTemp) 65 - 241: 6(int) Load 240 - Store 123(HeightU) 241 - 242: 7(ptr) AccessChain 235(sizeQueryTemp) 186 - 243: 6(int) Load 242 - Store 64(ElementsU) 243 - 244: 224 Load 226(g_tTex2du4a) - 245: 14(int) ImageQueryLevels 244 - Store 23(NumberOfLevelsU) 245 - 250: 247 Load 249(g_tTex3df4) - 251: 180(ivec3) ImageQuerySize 250 - Store 246(sizeQueryTemp) 251 - 252: 7(ptr) AccessChain 246(sizeQueryTemp) 61 - 253: 6(int) Load 252 - Store 16(WidthU) 253 - 254: 7(ptr) AccessChain 246(sizeQueryTemp) 65 - 255: 6(int) Load 254 - Store 123(HeightU) 255 - 257: 7(ptr) AccessChain 246(sizeQueryTemp) 186 - 258: 6(int) Load 257 - Store 256(DepthU) 258 - 260: 247 Load 249(g_tTex3df4) - 261: 180(ivec3) ImageQuerySizeLod 260 20 - Store 259(sizeQueryTemp) 261 - 262: 7(ptr) AccessChain 259(sizeQueryTemp) 61 - 263: 6(int) Load 262 - Store 16(WidthU) 263 - 264: 7(ptr) AccessChain 259(sizeQueryTemp) 65 - 265: 6(int) Load 264 - Store 123(HeightU) 265 - 266: 7(ptr) AccessChain 259(sizeQueryTemp) 186 - 267: 6(int) Load 266 - Store 256(DepthU) 267 - 268: 247 Load 249(g_tTex3df4) - 269: 14(int) ImageQueryLevels 268 - Store 23(NumberOfLevelsU) 269 - 274: 271 Load 273(g_tTex3di4) - 275: 180(ivec3) ImageQuerySize 274 - Store 270(sizeQueryTemp) 275 - 276: 7(ptr) AccessChain 270(sizeQueryTemp) 61 - 277: 6(int) Load 276 - Store 16(WidthU) 277 - 278: 7(ptr) AccessChain 270(sizeQueryTemp) 65 - 279: 6(int) Load 278 - Store 123(HeightU) 279 - 280: 7(ptr) AccessChain 270(sizeQueryTemp) 186 - 281: 6(int) Load 280 - Store 256(DepthU) 281 - 283: 271 Load 273(g_tTex3di4) - 284: 180(ivec3) ImageQuerySizeLod 283 20 - Store 282(sizeQueryTemp) 284 - 285: 7(ptr) AccessChain 282(sizeQueryTemp) 61 - 286: 6(int) Load 285 - Store 16(WidthU) 286 - 287: 7(ptr) AccessChain 282(sizeQueryTemp) 65 - 288: 6(int) Load 287 - Store 123(HeightU) 288 - 289: 7(ptr) AccessChain 282(sizeQueryTemp) 186 - 290: 6(int) Load 289 - Store 256(DepthU) 290 - 291: 271 Load 273(g_tTex3di4) - 292: 14(int) ImageQueryLevels 291 - Store 23(NumberOfLevelsU) 292 - 297: 294 Load 296(g_tTex3du4) - 298: 180(ivec3) ImageQuerySize 297 - Store 293(sizeQueryTemp) 298 - 299: 7(ptr) AccessChain 293(sizeQueryTemp) 61 - 300: 6(int) Load 299 - Store 16(WidthU) 300 - 301: 7(ptr) AccessChain 293(sizeQueryTemp) 65 - 302: 6(int) Load 301 - Store 123(HeightU) 302 - 303: 7(ptr) AccessChain 293(sizeQueryTemp) 186 - 304: 6(int) Load 303 - Store 256(DepthU) 304 - 306: 294 Load 296(g_tTex3du4) - 307: 180(ivec3) ImageQuerySizeLod 306 20 - Store 305(sizeQueryTemp) 307 - 308: 7(ptr) AccessChain 305(sizeQueryTemp) 61 - 309: 6(int) Load 308 - Store 16(WidthU) 309 - 310: 7(ptr) AccessChain 305(sizeQueryTemp) 65 - 311: 6(int) Load 310 - Store 123(HeightU) 311 - 312: 7(ptr) AccessChain 305(sizeQueryTemp) 186 - 313: 6(int) Load 312 - Store 256(DepthU) 313 - 314: 294 Load 296(g_tTex3du4) - 315: 14(int) ImageQueryLevels 314 - Store 23(NumberOfLevelsU) 315 - 320: 317 Load 319(g_tTexcdf4) - 321: 59(ivec2) ImageQuerySize 320 - Store 316(sizeQueryTemp) 321 - 322: 7(ptr) AccessChain 316(sizeQueryTemp) 61 - 323: 6(int) Load 322 - Store 16(WidthU) 323 - 324: 7(ptr) AccessChain 316(sizeQueryTemp) 65 - 325: 6(int) Load 324 - Store 123(HeightU) 325 - 327: 317 Load 319(g_tTexcdf4) - 328: 59(ivec2) ImageQuerySizeLod 327 20 - Store 326(sizeQueryTemp) 328 - 329: 7(ptr) AccessChain 326(sizeQueryTemp) 61 - 330: 6(int) Load 329 - Store 16(WidthU) 330 - 331: 7(ptr) AccessChain 326(sizeQueryTemp) 65 - 332: 6(int) Load 331 - Store 123(HeightU) 332 - 333: 317 Load 319(g_tTexcdf4) - 334: 14(int) ImageQueryLevels 333 - Store 23(NumberOfLevelsU) 334 - 339: 336 Load 338(g_tTexcdi4) - 340: 59(ivec2) ImageQuerySize 339 - Store 335(sizeQueryTemp) 340 - 341: 7(ptr) AccessChain 335(sizeQueryTemp) 61 - 342: 6(int) Load 341 - Store 16(WidthU) 342 - 343: 7(ptr) AccessChain 335(sizeQueryTemp) 65 - 344: 6(int) Load 343 - Store 123(HeightU) 344 - 346: 336 Load 338(g_tTexcdi4) - 347: 59(ivec2) ImageQuerySizeLod 346 20 - Store 345(sizeQueryTemp) 347 - 348: 7(ptr) AccessChain 345(sizeQueryTemp) 61 - 349: 6(int) Load 348 - Store 16(WidthU) 349 - 350: 7(ptr) AccessChain 345(sizeQueryTemp) 65 - 351: 6(int) Load 350 - Store 123(HeightU) 351 - 352: 336 Load 338(g_tTexcdi4) - 353: 14(int) ImageQueryLevels 352 - Store 23(NumberOfLevelsU) 353 - 358: 355 Load 357(g_tTexcdu4) - 359: 59(ivec2) ImageQuerySize 358 - Store 354(sizeQueryTemp) 359 - 360: 7(ptr) AccessChain 354(sizeQueryTemp) 61 - 361: 6(int) Load 360 - Store 16(WidthU) 361 - 362: 7(ptr) AccessChain 354(sizeQueryTemp) 65 - 363: 6(int) Load 362 - Store 123(HeightU) 363 - 365: 355 Load 357(g_tTexcdu4) - 366: 59(ivec2) ImageQuerySizeLod 365 20 - Store 364(sizeQueryTemp) 366 - 367: 7(ptr) AccessChain 364(sizeQueryTemp) 61 - 368: 6(int) Load 367 - Store 16(WidthU) 368 - 369: 7(ptr) AccessChain 364(sizeQueryTemp) 65 - 370: 6(int) Load 369 - Store 123(HeightU) 370 - 371: 355 Load 357(g_tTexcdu4) - 372: 14(int) ImageQueryLevels 371 - Store 23(NumberOfLevelsU) 372 - 377: 374 Load 376(g_tTexcdf4a) - 378: 180(ivec3) ImageQuerySize 377 - Store 373(sizeQueryTemp) 378 - 379: 7(ptr) AccessChain 373(sizeQueryTemp) 61 - 380: 6(int) Load 379 - Store 16(WidthU) 380 - 381: 7(ptr) AccessChain 373(sizeQueryTemp) 65 - 382: 6(int) Load 381 - Store 123(HeightU) 382 - 383: 7(ptr) AccessChain 373(sizeQueryTemp) 186 - 384: 6(int) Load 383 - Store 64(ElementsU) 384 - 386: 374 Load 376(g_tTexcdf4a) - 387: 180(ivec3) ImageQuerySizeLod 386 20 - Store 385(sizeQueryTemp) 387 - 388: 7(ptr) AccessChain 385(sizeQueryTemp) 61 - 389: 6(int) Load 388 - Store 16(WidthU) 389 - 390: 7(ptr) AccessChain 385(sizeQueryTemp) 65 - 391: 6(int) Load 390 - Store 123(HeightU) 391 - 392: 7(ptr) AccessChain 385(sizeQueryTemp) 186 - 393: 6(int) Load 392 - Store 64(ElementsU) 393 - 394: 374 Load 376(g_tTexcdf4a) - 395: 14(int) ImageQueryLevels 394 - Store 23(NumberOfLevelsU) 395 - 400: 397 Load 399(g_tTexcdi4a) - 401: 180(ivec3) ImageQuerySize 400 - Store 396(sizeQueryTemp) 401 - 402: 7(ptr) AccessChain 396(sizeQueryTemp) 61 - 403: 6(int) Load 402 - Store 16(WidthU) 403 - 404: 7(ptr) AccessChain 396(sizeQueryTemp) 65 - 405: 6(int) Load 404 - Store 123(HeightU) 405 - 406: 7(ptr) AccessChain 396(sizeQueryTemp) 186 - 407: 6(int) Load 406 - Store 64(ElementsU) 407 - 409: 397 Load 399(g_tTexcdi4a) - 410: 180(ivec3) ImageQuerySizeLod 409 20 - Store 408(sizeQueryTemp) 410 - 411: 7(ptr) AccessChain 408(sizeQueryTemp) 61 - 412: 6(int) Load 411 - Store 16(WidthU) 412 - 413: 7(ptr) AccessChain 408(sizeQueryTemp) 65 - 414: 6(int) Load 413 - Store 123(HeightU) 414 - 415: 7(ptr) AccessChain 408(sizeQueryTemp) 186 - 416: 6(int) Load 415 - Store 64(ElementsU) 416 - 417: 397 Load 399(g_tTexcdi4a) - 418: 14(int) ImageQueryLevels 417 - Store 23(NumberOfLevelsU) 418 - 423: 420 Load 422(g_tTexcdu4a) - 424: 180(ivec3) ImageQuerySize 423 - Store 419(sizeQueryTemp) 424 - 425: 7(ptr) AccessChain 419(sizeQueryTemp) 61 - 426: 6(int) Load 425 - Store 16(WidthU) 426 - 427: 7(ptr) AccessChain 419(sizeQueryTemp) 65 - 428: 6(int) Load 427 - Store 123(HeightU) 428 - 429: 7(ptr) AccessChain 419(sizeQueryTemp) 186 - 430: 6(int) Load 429 - Store 64(ElementsU) 430 - 432: 420 Load 422(g_tTexcdu4a) - 433: 180(ivec3) ImageQuerySizeLod 432 20 - Store 431(sizeQueryTemp) 433 - 434: 7(ptr) AccessChain 431(sizeQueryTemp) 61 - 435: 6(int) Load 434 - Store 16(WidthU) 435 - 436: 7(ptr) AccessChain 431(sizeQueryTemp) 65 - 437: 6(int) Load 436 - Store 123(HeightU) 437 - 438: 7(ptr) AccessChain 431(sizeQueryTemp) 186 - 439: 6(int) Load 438 - Store 64(ElementsU) 439 - 440: 420 Load 422(g_tTexcdu4a) - 441: 14(int) ImageQueryLevels 440 - Store 23(NumberOfLevelsU) 441 - 446: 443 Load 445(g_tTex2dmsf4) - 447: 59(ivec2) ImageQuerySize 446 - Store 442(sizeQueryTemp) 447 - 448: 7(ptr) AccessChain 442(sizeQueryTemp) 61 - 449: 6(int) Load 448 - Store 16(WidthU) 449 - 450: 7(ptr) AccessChain 442(sizeQueryTemp) 65 - 451: 6(int) Load 450 - Store 123(HeightU) 451 - 453: 443 Load 445(g_tTex2dmsf4) - 454: 14(int) ImageQuerySamples 453 - Store 452(NumberOfSamplesU) 454 - 459: 456 Load 458(g_tTex2dmsi4) - 460: 59(ivec2) ImageQuerySize 459 - Store 455(sizeQueryTemp) 460 - 461: 7(ptr) AccessChain 455(sizeQueryTemp) 61 - 462: 6(int) Load 461 - Store 16(WidthU) 462 - 463: 7(ptr) AccessChain 455(sizeQueryTemp) 65 - 464: 6(int) Load 463 - Store 123(HeightU) 464 - 465: 456 Load 458(g_tTex2dmsi4) - 466: 14(int) ImageQuerySamples 465 - Store 452(NumberOfSamplesU) 466 - 471: 468 Load 470(g_tTex2dmsu4) - 472: 59(ivec2) ImageQuerySize 471 - Store 467(sizeQueryTemp) 472 - 473: 7(ptr) AccessChain 467(sizeQueryTemp) 61 - 474: 6(int) Load 473 - Store 16(WidthU) 474 - 475: 7(ptr) AccessChain 467(sizeQueryTemp) 65 - 476: 6(int) Load 475 - Store 123(HeightU) 476 - 477: 468 Load 470(g_tTex2dmsu4) - 478: 14(int) ImageQuerySamples 477 - Store 452(NumberOfSamplesU) 478 - 483: 480 Load 482(g_tTex2dmsf4a) - 484: 180(ivec3) ImageQuerySize 483 - Store 479(sizeQueryTemp) 484 - 485: 7(ptr) AccessChain 479(sizeQueryTemp) 61 - 486: 6(int) Load 485 - Store 16(WidthU) 486 - 487: 7(ptr) AccessChain 479(sizeQueryTemp) 65 - 488: 6(int) Load 487 - Store 123(HeightU) 488 - 489: 7(ptr) AccessChain 479(sizeQueryTemp) 186 - 490: 6(int) Load 489 - Store 64(ElementsU) 490 - 491: 480 Load 482(g_tTex2dmsf4a) - 492: 14(int) ImageQuerySamples 491 - Store 452(NumberOfSamplesU) 492 - 497: 494 Load 496(g_tTex2dmsi4a) - 498: 180(ivec3) ImageQuerySize 497 - Store 493(sizeQueryTemp) 498 - 499: 7(ptr) AccessChain 493(sizeQueryTemp) 61 - 500: 6(int) Load 499 - Store 16(WidthU) 500 - 501: 7(ptr) AccessChain 493(sizeQueryTemp) 65 - 502: 6(int) Load 501 - Store 123(HeightU) 502 - 503: 7(ptr) AccessChain 493(sizeQueryTemp) 186 - 504: 6(int) Load 503 - Store 64(ElementsU) 504 - 505: 494 Load 496(g_tTex2dmsi4a) - 506: 14(int) ImageQuerySamples 505 - Store 452(NumberOfSamplesU) 506 - 511: 508 Load 510(g_tTex2dmsu4a) - 512: 180(ivec3) ImageQuerySize 511 - Store 507(sizeQueryTemp) 512 - 513: 7(ptr) AccessChain 507(sizeQueryTemp) 61 - 514: 6(int) Load 513 - Store 16(WidthU) 514 - 515: 7(ptr) AccessChain 507(sizeQueryTemp) 65 - 516: 6(int) Load 515 - Store 123(HeightU) 516 - 517: 7(ptr) AccessChain 507(sizeQueryTemp) 186 - 518: 6(int) Load 517 - Store 64(ElementsU) 518 - 519: 508 Load 510(g_tTex2dmsu4a) - 520: 14(int) ImageQuerySamples 519 - Store 452(NumberOfSamplesU) 520 - 529: 528(ptr) AccessChain 524(psout) 525 - Store 529 527 - 532: 531(ptr) AccessChain 524(psout) 530 - Store 532 526 - 535: 528(ptr) AccessChain 524(psout) 525 - 536: 521(fvec4) Load 535 - Store 534(Color) 536 - 539: 531(ptr) AccessChain 524(psout) 530 - 540: 9(float) Load 539 - Store 538(Depth) 540 +537(flattenTemp): 525(ptr) Variable Function + 538:8(PS_OUTPUT) FunctionCall 10(@main() + Store 537(flattenTemp) 538 + 541: 529(ptr) AccessChain 537(flattenTemp) 20 + 542: 7(fvec4) Load 541 + Store 540(Color) 542 + 545: 532(ptr) AccessChain 537(flattenTemp) 531 + 546: 6(float) Load 545 + Store 544(Depth) 546 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 22(WidthU): 13(ptr) Variable Function +24(sizeQueryTemp): 13(ptr) Variable Function +29(NumberOfLevelsU): 13(ptr) Variable Function +32(sizeQueryTemp): 13(ptr) Variable Function +39(sizeQueryTemp): 13(ptr) Variable Function +45(sizeQueryTemp): 13(ptr) Variable Function +52(sizeQueryTemp): 13(ptr) Variable Function +60(sizeQueryTemp): 59(ptr) Variable Function + 69(ElementsU): 13(ptr) Variable Function +73(sizeQueryTemp): 59(ptr) Variable Function +82(sizeQueryTemp): 59(ptr) Variable Function +92(sizeQueryTemp): 59(ptr) Variable Function +101(sizeQueryTemp): 59(ptr) Variable Function +111(sizeQueryTemp): 59(ptr) Variable Function +120(sizeQueryTemp): 59(ptr) Variable Function + 128(HeightU): 13(ptr) Variable Function +131(sizeQueryTemp): 59(ptr) Variable Function +140(sizeQueryTemp): 59(ptr) Variable Function +150(sizeQueryTemp): 59(ptr) Variable Function +159(sizeQueryTemp): 59(ptr) Variable Function +169(sizeQueryTemp): 59(ptr) Variable Function +180(sizeQueryTemp): 179(ptr) Variable Function +193(sizeQueryTemp): 179(ptr) Variable Function +204(sizeQueryTemp): 179(ptr) Variable Function +216(sizeQueryTemp): 179(ptr) Variable Function +227(sizeQueryTemp): 179(ptr) Variable Function +239(sizeQueryTemp): 179(ptr) Variable Function +250(sizeQueryTemp): 179(ptr) Variable Function + 260(DepthU): 13(ptr) Variable Function +263(sizeQueryTemp): 179(ptr) Variable Function +274(sizeQueryTemp): 179(ptr) Variable Function +286(sizeQueryTemp): 179(ptr) Variable Function +297(sizeQueryTemp): 179(ptr) Variable Function +309(sizeQueryTemp): 179(ptr) Variable Function +320(sizeQueryTemp): 59(ptr) Variable Function +330(sizeQueryTemp): 59(ptr) Variable Function +339(sizeQueryTemp): 59(ptr) Variable Function +349(sizeQueryTemp): 59(ptr) Variable Function +358(sizeQueryTemp): 59(ptr) Variable Function +368(sizeQueryTemp): 59(ptr) Variable Function +377(sizeQueryTemp): 179(ptr) Variable Function +389(sizeQueryTemp): 179(ptr) Variable Function +400(sizeQueryTemp): 179(ptr) Variable Function +412(sizeQueryTemp): 179(ptr) Variable Function +423(sizeQueryTemp): 179(ptr) Variable Function +435(sizeQueryTemp): 179(ptr) Variable Function +446(sizeQueryTemp): 59(ptr) Variable Function +456(NumberOfSamplesU): 13(ptr) Variable Function +459(sizeQueryTemp): 59(ptr) Variable Function +471(sizeQueryTemp): 59(ptr) Variable Function +483(sizeQueryTemp): 179(ptr) Variable Function +497(sizeQueryTemp): 179(ptr) Variable Function +511(sizeQueryTemp): 179(ptr) Variable Function + 526(psout): 525(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 21: 12(int) ImageQuerySizeLod 18 20 + Store 14(sizeQueryTemp) 21 + 23: 12(int) Load 14(sizeQueryTemp) + Store 22(WidthU) 23 + 25: 15 Load 17(g_tTex1df4) + 27: 12(int) ImageQuerySizeLod 25 26 + Store 24(sizeQueryTemp) 27 + 28: 12(int) Load 24(sizeQueryTemp) + Store 22(WidthU) 28 + 30: 15 Load 17(g_tTex1df4) + 31: 12(int) ImageQueryLevels 30 + Store 29(NumberOfLevelsU) 31 + 36: 33 Load 35(g_tTex1di4) + 37: 12(int) ImageQuerySizeLod 36 20 + Store 32(sizeQueryTemp) 37 + 38: 12(int) Load 32(sizeQueryTemp) + Store 22(WidthU) 38 + 40: 33 Load 35(g_tTex1di4) + 41: 12(int) ImageQuerySizeLod 40 26 + Store 39(sizeQueryTemp) 41 + 42: 12(int) Load 39(sizeQueryTemp) + Store 22(WidthU) 42 + 43: 33 Load 35(g_tTex1di4) + 44: 12(int) ImageQueryLevels 43 + Store 29(NumberOfLevelsU) 44 + 49: 46 Load 48(g_tTex1du4) + 50: 12(int) ImageQuerySizeLod 49 20 + Store 45(sizeQueryTemp) 50 + 51: 12(int) Load 45(sizeQueryTemp) + Store 22(WidthU) 51 + 53: 46 Load 48(g_tTex1du4) + 54: 12(int) ImageQuerySizeLod 53 26 + Store 52(sizeQueryTemp) 54 + 55: 12(int) Load 52(sizeQueryTemp) + Store 22(WidthU) 55 + 56: 46 Load 48(g_tTex1du4) + 57: 12(int) ImageQueryLevels 56 + Store 29(NumberOfLevelsU) 57 + 64: 61 Load 63(g_tTex1df4a) + 65: 58(ivec2) ImageQuerySizeLod 64 20 + Store 60(sizeQueryTemp) 65 + 67: 13(ptr) AccessChain 60(sizeQueryTemp) 66 + 68: 12(int) Load 67 + Store 22(WidthU) 68 + 71: 13(ptr) AccessChain 60(sizeQueryTemp) 70 + 72: 12(int) Load 71 + Store 69(ElementsU) 72 + 74: 61 Load 63(g_tTex1df4a) + 75: 58(ivec2) ImageQuerySizeLod 74 26 + Store 73(sizeQueryTemp) 75 + 76: 13(ptr) AccessChain 73(sizeQueryTemp) 66 + 77: 12(int) Load 76 + Store 22(WidthU) 77 + 78: 13(ptr) AccessChain 73(sizeQueryTemp) 70 + 79: 12(int) Load 78 + Store 69(ElementsU) 79 + 80: 61 Load 63(g_tTex1df4a) + 81: 12(int) ImageQueryLevels 80 + Store 29(NumberOfLevelsU) 81 + 86: 83 Load 85(g_tTex1di4a) + 87: 58(ivec2) ImageQuerySizeLod 86 20 + Store 82(sizeQueryTemp) 87 + 88: 13(ptr) AccessChain 82(sizeQueryTemp) 66 + 89: 12(int) Load 88 + Store 22(WidthU) 89 + 90: 13(ptr) AccessChain 82(sizeQueryTemp) 70 + 91: 12(int) Load 90 + Store 69(ElementsU) 91 + 93: 83 Load 85(g_tTex1di4a) + 94: 58(ivec2) ImageQuerySizeLod 93 26 + Store 92(sizeQueryTemp) 94 + 95: 13(ptr) AccessChain 92(sizeQueryTemp) 66 + 96: 12(int) Load 95 + Store 22(WidthU) 96 + 97: 13(ptr) AccessChain 92(sizeQueryTemp) 70 + 98: 12(int) Load 97 + Store 69(ElementsU) 98 + 99: 83 Load 85(g_tTex1di4a) + 100: 12(int) ImageQueryLevels 99 + Store 29(NumberOfLevelsU) 100 + 105: 102 Load 104(g_tTex1du4a) + 106: 58(ivec2) ImageQuerySizeLod 105 20 + Store 101(sizeQueryTemp) 106 + 107: 13(ptr) AccessChain 101(sizeQueryTemp) 66 + 108: 12(int) Load 107 + Store 22(WidthU) 108 + 109: 13(ptr) AccessChain 101(sizeQueryTemp) 70 + 110: 12(int) Load 109 + Store 69(ElementsU) 110 + 112: 102 Load 104(g_tTex1du4a) + 113: 58(ivec2) ImageQuerySizeLod 112 26 + Store 111(sizeQueryTemp) 113 + 114: 13(ptr) AccessChain 111(sizeQueryTemp) 66 + 115: 12(int) Load 114 + Store 22(WidthU) 115 + 116: 13(ptr) AccessChain 111(sizeQueryTemp) 70 + 117: 12(int) Load 116 + Store 69(ElementsU) 117 + 118: 102 Load 104(g_tTex1du4a) + 119: 12(int) ImageQueryLevels 118 + Store 29(NumberOfLevelsU) 119 + 124: 121 Load 123(g_tTex2df4) + 125: 58(ivec2) ImageQuerySizeLod 124 20 + Store 120(sizeQueryTemp) 125 + 126: 13(ptr) AccessChain 120(sizeQueryTemp) 66 + 127: 12(int) Load 126 + Store 22(WidthU) 127 + 129: 13(ptr) AccessChain 120(sizeQueryTemp) 70 + 130: 12(int) Load 129 + Store 128(HeightU) 130 + 132: 121 Load 123(g_tTex2df4) + 133: 58(ivec2) ImageQuerySizeLod 132 26 + Store 131(sizeQueryTemp) 133 + 134: 13(ptr) AccessChain 131(sizeQueryTemp) 66 + 135: 12(int) Load 134 + Store 22(WidthU) 135 + 136: 13(ptr) AccessChain 131(sizeQueryTemp) 70 + 137: 12(int) Load 136 + Store 128(HeightU) 137 + 138: 121 Load 123(g_tTex2df4) + 139: 12(int) ImageQueryLevels 138 + Store 29(NumberOfLevelsU) 139 + 144: 141 Load 143(g_tTex2di4) + 145: 58(ivec2) ImageQuerySizeLod 144 20 + Store 140(sizeQueryTemp) 145 + 146: 13(ptr) AccessChain 140(sizeQueryTemp) 66 + 147: 12(int) Load 146 + Store 22(WidthU) 147 + 148: 13(ptr) AccessChain 140(sizeQueryTemp) 70 + 149: 12(int) Load 148 + Store 128(HeightU) 149 + 151: 141 Load 143(g_tTex2di4) + 152: 58(ivec2) ImageQuerySizeLod 151 26 + Store 150(sizeQueryTemp) 152 + 153: 13(ptr) AccessChain 150(sizeQueryTemp) 66 + 154: 12(int) Load 153 + Store 22(WidthU) 154 + 155: 13(ptr) AccessChain 150(sizeQueryTemp) 70 + 156: 12(int) Load 155 + Store 128(HeightU) 156 + 157: 141 Load 143(g_tTex2di4) + 158: 12(int) ImageQueryLevels 157 + Store 29(NumberOfLevelsU) 158 + 163: 160 Load 162(g_tTex2du4) + 164: 58(ivec2) ImageQuerySizeLod 163 20 + Store 159(sizeQueryTemp) 164 + 165: 13(ptr) AccessChain 159(sizeQueryTemp) 66 + 166: 12(int) Load 165 + Store 22(WidthU) 166 + 167: 13(ptr) AccessChain 159(sizeQueryTemp) 70 + 168: 12(int) Load 167 + Store 128(HeightU) 168 + 170: 160 Load 162(g_tTex2du4) + 171: 58(ivec2) ImageQuerySizeLod 170 26 + Store 169(sizeQueryTemp) 171 + 172: 13(ptr) AccessChain 169(sizeQueryTemp) 66 + 173: 12(int) Load 172 + Store 22(WidthU) 173 + 174: 13(ptr) AccessChain 169(sizeQueryTemp) 70 + 175: 12(int) Load 174 + Store 128(HeightU) 175 + 176: 160 Load 162(g_tTex2du4) + 177: 12(int) ImageQueryLevels 176 + Store 29(NumberOfLevelsU) 177 + 184: 181 Load 183(g_tTex2df4a) + 185: 178(ivec3) ImageQuerySizeLod 184 20 + Store 180(sizeQueryTemp) 185 + 186: 13(ptr) AccessChain 180(sizeQueryTemp) 66 + 187: 12(int) Load 186 + Store 22(WidthU) 187 + 188: 13(ptr) AccessChain 180(sizeQueryTemp) 70 + 189: 12(int) Load 188 + Store 128(HeightU) 189 + 191: 13(ptr) AccessChain 180(sizeQueryTemp) 190 + 192: 12(int) Load 191 + Store 69(ElementsU) 192 + 194: 181 Load 183(g_tTex2df4a) + 195: 178(ivec3) ImageQuerySizeLod 194 26 + Store 193(sizeQueryTemp) 195 + 196: 13(ptr) AccessChain 193(sizeQueryTemp) 66 + 197: 12(int) Load 196 + Store 22(WidthU) 197 + 198: 13(ptr) AccessChain 193(sizeQueryTemp) 70 + 199: 12(int) Load 198 + Store 128(HeightU) 199 + 200: 13(ptr) AccessChain 193(sizeQueryTemp) 190 + 201: 12(int) Load 200 + Store 69(ElementsU) 201 + 202: 181 Load 183(g_tTex2df4a) + 203: 12(int) ImageQueryLevels 202 + Store 29(NumberOfLevelsU) 203 + 208: 205 Load 207(g_tTex2di4a) + 209: 178(ivec3) ImageQuerySizeLod 208 20 + Store 204(sizeQueryTemp) 209 + 210: 13(ptr) AccessChain 204(sizeQueryTemp) 66 + 211: 12(int) Load 210 + Store 22(WidthU) 211 + 212: 13(ptr) AccessChain 204(sizeQueryTemp) 70 + 213: 12(int) Load 212 + Store 128(HeightU) 213 + 214: 13(ptr) AccessChain 204(sizeQueryTemp) 190 + 215: 12(int) Load 214 + Store 69(ElementsU) 215 + 217: 205 Load 207(g_tTex2di4a) + 218: 178(ivec3) ImageQuerySizeLod 217 26 + Store 216(sizeQueryTemp) 218 + 219: 13(ptr) AccessChain 216(sizeQueryTemp) 66 + 220: 12(int) Load 219 + Store 22(WidthU) 220 + 221: 13(ptr) AccessChain 216(sizeQueryTemp) 70 + 222: 12(int) Load 221 + Store 128(HeightU) 222 + 223: 13(ptr) AccessChain 216(sizeQueryTemp) 190 + 224: 12(int) Load 223 + Store 69(ElementsU) 224 + 225: 205 Load 207(g_tTex2di4a) + 226: 12(int) ImageQueryLevels 225 + Store 29(NumberOfLevelsU) 226 + 231: 228 Load 230(g_tTex2du4a) + 232: 178(ivec3) ImageQuerySizeLod 231 20 + Store 227(sizeQueryTemp) 232 + 233: 13(ptr) AccessChain 227(sizeQueryTemp) 66 + 234: 12(int) Load 233 + Store 22(WidthU) 234 + 235: 13(ptr) AccessChain 227(sizeQueryTemp) 70 + 236: 12(int) Load 235 + Store 128(HeightU) 236 + 237: 13(ptr) AccessChain 227(sizeQueryTemp) 190 + 238: 12(int) Load 237 + Store 69(ElementsU) 238 + 240: 228 Load 230(g_tTex2du4a) + 241: 178(ivec3) ImageQuerySizeLod 240 26 + Store 239(sizeQueryTemp) 241 + 242: 13(ptr) AccessChain 239(sizeQueryTemp) 66 + 243: 12(int) Load 242 + Store 22(WidthU) 243 + 244: 13(ptr) AccessChain 239(sizeQueryTemp) 70 + 245: 12(int) Load 244 + Store 128(HeightU) 245 + 246: 13(ptr) AccessChain 239(sizeQueryTemp) 190 + 247: 12(int) Load 246 + Store 69(ElementsU) 247 + 248: 228 Load 230(g_tTex2du4a) + 249: 12(int) ImageQueryLevels 248 + Store 29(NumberOfLevelsU) 249 + 254: 251 Load 253(g_tTex3df4) + 255: 178(ivec3) ImageQuerySizeLod 254 20 + Store 250(sizeQueryTemp) 255 + 256: 13(ptr) AccessChain 250(sizeQueryTemp) 66 + 257: 12(int) Load 256 + Store 22(WidthU) 257 + 258: 13(ptr) AccessChain 250(sizeQueryTemp) 70 + 259: 12(int) Load 258 + Store 128(HeightU) 259 + 261: 13(ptr) AccessChain 250(sizeQueryTemp) 190 + 262: 12(int) Load 261 + Store 260(DepthU) 262 + 264: 251 Load 253(g_tTex3df4) + 265: 178(ivec3) ImageQuerySizeLod 264 26 + Store 263(sizeQueryTemp) 265 + 266: 13(ptr) AccessChain 263(sizeQueryTemp) 66 + 267: 12(int) Load 266 + Store 22(WidthU) 267 + 268: 13(ptr) AccessChain 263(sizeQueryTemp) 70 + 269: 12(int) Load 268 + Store 128(HeightU) 269 + 270: 13(ptr) AccessChain 263(sizeQueryTemp) 190 + 271: 12(int) Load 270 + Store 260(DepthU) 271 + 272: 251 Load 253(g_tTex3df4) + 273: 12(int) ImageQueryLevels 272 + Store 29(NumberOfLevelsU) 273 + 278: 275 Load 277(g_tTex3di4) + 279: 178(ivec3) ImageQuerySizeLod 278 20 + Store 274(sizeQueryTemp) 279 + 280: 13(ptr) AccessChain 274(sizeQueryTemp) 66 + 281: 12(int) Load 280 + Store 22(WidthU) 281 + 282: 13(ptr) AccessChain 274(sizeQueryTemp) 70 + 283: 12(int) Load 282 + Store 128(HeightU) 283 + 284: 13(ptr) AccessChain 274(sizeQueryTemp) 190 + 285: 12(int) Load 284 + Store 260(DepthU) 285 + 287: 275 Load 277(g_tTex3di4) + 288: 178(ivec3) ImageQuerySizeLod 287 26 + Store 286(sizeQueryTemp) 288 + 289: 13(ptr) AccessChain 286(sizeQueryTemp) 66 + 290: 12(int) Load 289 + Store 22(WidthU) 290 + 291: 13(ptr) AccessChain 286(sizeQueryTemp) 70 + 292: 12(int) Load 291 + Store 128(HeightU) 292 + 293: 13(ptr) AccessChain 286(sizeQueryTemp) 190 + 294: 12(int) Load 293 + Store 260(DepthU) 294 + 295: 275 Load 277(g_tTex3di4) + 296: 12(int) ImageQueryLevels 295 + Store 29(NumberOfLevelsU) 296 + 301: 298 Load 300(g_tTex3du4) + 302: 178(ivec3) ImageQuerySizeLod 301 20 + Store 297(sizeQueryTemp) 302 + 303: 13(ptr) AccessChain 297(sizeQueryTemp) 66 + 304: 12(int) Load 303 + Store 22(WidthU) 304 + 305: 13(ptr) AccessChain 297(sizeQueryTemp) 70 + 306: 12(int) Load 305 + Store 128(HeightU) 306 + 307: 13(ptr) AccessChain 297(sizeQueryTemp) 190 + 308: 12(int) Load 307 + Store 260(DepthU) 308 + 310: 298 Load 300(g_tTex3du4) + 311: 178(ivec3) ImageQuerySizeLod 310 26 + Store 309(sizeQueryTemp) 311 + 312: 13(ptr) AccessChain 309(sizeQueryTemp) 66 + 313: 12(int) Load 312 + Store 22(WidthU) 313 + 314: 13(ptr) AccessChain 309(sizeQueryTemp) 70 + 315: 12(int) Load 314 + Store 128(HeightU) 315 + 316: 13(ptr) AccessChain 309(sizeQueryTemp) 190 + 317: 12(int) Load 316 + Store 260(DepthU) 317 + 318: 298 Load 300(g_tTex3du4) + 319: 12(int) ImageQueryLevels 318 + Store 29(NumberOfLevelsU) 319 + 324: 321 Load 323(g_tTexcdf4) + 325: 58(ivec2) ImageQuerySizeLod 324 20 + Store 320(sizeQueryTemp) 325 + 326: 13(ptr) AccessChain 320(sizeQueryTemp) 66 + 327: 12(int) Load 326 + Store 22(WidthU) 327 + 328: 13(ptr) AccessChain 320(sizeQueryTemp) 70 + 329: 12(int) Load 328 + Store 128(HeightU) 329 + 331: 321 Load 323(g_tTexcdf4) + 332: 58(ivec2) ImageQuerySizeLod 331 26 + Store 330(sizeQueryTemp) 332 + 333: 13(ptr) AccessChain 330(sizeQueryTemp) 66 + 334: 12(int) Load 333 + Store 22(WidthU) 334 + 335: 13(ptr) AccessChain 330(sizeQueryTemp) 70 + 336: 12(int) Load 335 + Store 128(HeightU) 336 + 337: 321 Load 323(g_tTexcdf4) + 338: 12(int) ImageQueryLevels 337 + Store 29(NumberOfLevelsU) 338 + 343: 340 Load 342(g_tTexcdi4) + 344: 58(ivec2) ImageQuerySizeLod 343 20 + Store 339(sizeQueryTemp) 344 + 345: 13(ptr) AccessChain 339(sizeQueryTemp) 66 + 346: 12(int) Load 345 + Store 22(WidthU) 346 + 347: 13(ptr) AccessChain 339(sizeQueryTemp) 70 + 348: 12(int) Load 347 + Store 128(HeightU) 348 + 350: 340 Load 342(g_tTexcdi4) + 351: 58(ivec2) ImageQuerySizeLod 350 26 + Store 349(sizeQueryTemp) 351 + 352: 13(ptr) AccessChain 349(sizeQueryTemp) 66 + 353: 12(int) Load 352 + Store 22(WidthU) 353 + 354: 13(ptr) AccessChain 349(sizeQueryTemp) 70 + 355: 12(int) Load 354 + Store 128(HeightU) 355 + 356: 340 Load 342(g_tTexcdi4) + 357: 12(int) ImageQueryLevels 356 + Store 29(NumberOfLevelsU) 357 + 362: 359 Load 361(g_tTexcdu4) + 363: 58(ivec2) ImageQuerySizeLod 362 20 + Store 358(sizeQueryTemp) 363 + 364: 13(ptr) AccessChain 358(sizeQueryTemp) 66 + 365: 12(int) Load 364 + Store 22(WidthU) 365 + 366: 13(ptr) AccessChain 358(sizeQueryTemp) 70 + 367: 12(int) Load 366 + Store 128(HeightU) 367 + 369: 359 Load 361(g_tTexcdu4) + 370: 58(ivec2) ImageQuerySizeLod 369 26 + Store 368(sizeQueryTemp) 370 + 371: 13(ptr) AccessChain 368(sizeQueryTemp) 66 + 372: 12(int) Load 371 + Store 22(WidthU) 372 + 373: 13(ptr) AccessChain 368(sizeQueryTemp) 70 + 374: 12(int) Load 373 + Store 128(HeightU) 374 + 375: 359 Load 361(g_tTexcdu4) + 376: 12(int) ImageQueryLevels 375 + Store 29(NumberOfLevelsU) 376 + 381: 378 Load 380(g_tTexcdf4a) + 382: 178(ivec3) ImageQuerySizeLod 381 20 + Store 377(sizeQueryTemp) 382 + 383: 13(ptr) AccessChain 377(sizeQueryTemp) 66 + 384: 12(int) Load 383 + Store 22(WidthU) 384 + 385: 13(ptr) AccessChain 377(sizeQueryTemp) 70 + 386: 12(int) Load 385 + Store 128(HeightU) 386 + 387: 13(ptr) AccessChain 377(sizeQueryTemp) 190 + 388: 12(int) Load 387 + Store 69(ElementsU) 388 + 390: 378 Load 380(g_tTexcdf4a) + 391: 178(ivec3) ImageQuerySizeLod 390 26 + Store 389(sizeQueryTemp) 391 + 392: 13(ptr) AccessChain 389(sizeQueryTemp) 66 + 393: 12(int) Load 392 + Store 22(WidthU) 393 + 394: 13(ptr) AccessChain 389(sizeQueryTemp) 70 + 395: 12(int) Load 394 + Store 128(HeightU) 395 + 396: 13(ptr) AccessChain 389(sizeQueryTemp) 190 + 397: 12(int) Load 396 + Store 69(ElementsU) 397 + 398: 378 Load 380(g_tTexcdf4a) + 399: 12(int) ImageQueryLevels 398 + Store 29(NumberOfLevelsU) 399 + 404: 401 Load 403(g_tTexcdi4a) + 405: 178(ivec3) ImageQuerySizeLod 404 20 + Store 400(sizeQueryTemp) 405 + 406: 13(ptr) AccessChain 400(sizeQueryTemp) 66 + 407: 12(int) Load 406 + Store 22(WidthU) 407 + 408: 13(ptr) AccessChain 400(sizeQueryTemp) 70 + 409: 12(int) Load 408 + Store 128(HeightU) 409 + 410: 13(ptr) AccessChain 400(sizeQueryTemp) 190 + 411: 12(int) Load 410 + Store 69(ElementsU) 411 + 413: 401 Load 403(g_tTexcdi4a) + 414: 178(ivec3) ImageQuerySizeLod 413 26 + Store 412(sizeQueryTemp) 414 + 415: 13(ptr) AccessChain 412(sizeQueryTemp) 66 + 416: 12(int) Load 415 + Store 22(WidthU) 416 + 417: 13(ptr) AccessChain 412(sizeQueryTemp) 70 + 418: 12(int) Load 417 + Store 128(HeightU) 418 + 419: 13(ptr) AccessChain 412(sizeQueryTemp) 190 + 420: 12(int) Load 419 + Store 69(ElementsU) 420 + 421: 401 Load 403(g_tTexcdi4a) + 422: 12(int) ImageQueryLevels 421 + Store 29(NumberOfLevelsU) 422 + 427: 424 Load 426(g_tTexcdu4a) + 428: 178(ivec3) ImageQuerySizeLod 427 20 + Store 423(sizeQueryTemp) 428 + 429: 13(ptr) AccessChain 423(sizeQueryTemp) 66 + 430: 12(int) Load 429 + Store 22(WidthU) 430 + 431: 13(ptr) AccessChain 423(sizeQueryTemp) 70 + 432: 12(int) Load 431 + Store 128(HeightU) 432 + 433: 13(ptr) AccessChain 423(sizeQueryTemp) 190 + 434: 12(int) Load 433 + Store 69(ElementsU) 434 + 436: 424 Load 426(g_tTexcdu4a) + 437: 178(ivec3) ImageQuerySizeLod 436 26 + Store 435(sizeQueryTemp) 437 + 438: 13(ptr) AccessChain 435(sizeQueryTemp) 66 + 439: 12(int) Load 438 + Store 22(WidthU) 439 + 440: 13(ptr) AccessChain 435(sizeQueryTemp) 70 + 441: 12(int) Load 440 + Store 128(HeightU) 441 + 442: 13(ptr) AccessChain 435(sizeQueryTemp) 190 + 443: 12(int) Load 442 + Store 69(ElementsU) 443 + 444: 424 Load 426(g_tTexcdu4a) + 445: 12(int) ImageQueryLevels 444 + Store 29(NumberOfLevelsU) 445 + 450: 447 Load 449(g_tTex2dmsf4) + 451: 58(ivec2) ImageQuerySize 450 + Store 446(sizeQueryTemp) 451 + 452: 13(ptr) AccessChain 446(sizeQueryTemp) 66 + 453: 12(int) Load 452 + Store 22(WidthU) 453 + 454: 13(ptr) AccessChain 446(sizeQueryTemp) 70 + 455: 12(int) Load 454 + Store 128(HeightU) 455 + 457: 447 Load 449(g_tTex2dmsf4) + 458: 12(int) ImageQuerySamples 457 + Store 456(NumberOfSamplesU) 458 + 463: 460 Load 462(g_tTex2dmsi4) + 464: 58(ivec2) ImageQuerySize 463 + Store 459(sizeQueryTemp) 464 + 465: 13(ptr) AccessChain 459(sizeQueryTemp) 66 + 466: 12(int) Load 465 + Store 22(WidthU) 466 + 467: 13(ptr) AccessChain 459(sizeQueryTemp) 70 + 468: 12(int) Load 467 + Store 128(HeightU) 468 + 469: 460 Load 462(g_tTex2dmsi4) + 470: 12(int) ImageQuerySamples 469 + Store 456(NumberOfSamplesU) 470 + 475: 472 Load 474(g_tTex2dmsu4) + 476: 58(ivec2) ImageQuerySize 475 + Store 471(sizeQueryTemp) 476 + 477: 13(ptr) AccessChain 471(sizeQueryTemp) 66 + 478: 12(int) Load 477 + Store 22(WidthU) 478 + 479: 13(ptr) AccessChain 471(sizeQueryTemp) 70 + 480: 12(int) Load 479 + Store 128(HeightU) 480 + 481: 472 Load 474(g_tTex2dmsu4) + 482: 12(int) ImageQuerySamples 481 + Store 456(NumberOfSamplesU) 482 + 487: 484 Load 486(g_tTex2dmsf4a) + 488: 178(ivec3) ImageQuerySize 487 + Store 483(sizeQueryTemp) 488 + 489: 13(ptr) AccessChain 483(sizeQueryTemp) 66 + 490: 12(int) Load 489 + Store 22(WidthU) 490 + 491: 13(ptr) AccessChain 483(sizeQueryTemp) 70 + 492: 12(int) Load 491 + Store 128(HeightU) 492 + 493: 13(ptr) AccessChain 483(sizeQueryTemp) 190 + 494: 12(int) Load 493 + Store 69(ElementsU) 494 + 495: 484 Load 486(g_tTex2dmsf4a) + 496: 12(int) ImageQuerySamples 495 + Store 456(NumberOfSamplesU) 496 + 501: 498 Load 500(g_tTex2dmsi4a) + 502: 178(ivec3) ImageQuerySize 501 + Store 497(sizeQueryTemp) 502 + 503: 13(ptr) AccessChain 497(sizeQueryTemp) 66 + 504: 12(int) Load 503 + Store 22(WidthU) 504 + 505: 13(ptr) AccessChain 497(sizeQueryTemp) 70 + 506: 12(int) Load 505 + Store 128(HeightU) 506 + 507: 13(ptr) AccessChain 497(sizeQueryTemp) 190 + 508: 12(int) Load 507 + Store 69(ElementsU) 508 + 509: 498 Load 500(g_tTex2dmsi4a) + 510: 12(int) ImageQuerySamples 509 + Store 456(NumberOfSamplesU) 510 + 515: 512 Load 514(g_tTex2dmsu4a) + 516: 178(ivec3) ImageQuerySize 515 + Store 511(sizeQueryTemp) 516 + 517: 13(ptr) AccessChain 511(sizeQueryTemp) 66 + 518: 12(int) Load 517 + Store 22(WidthU) 518 + 519: 13(ptr) AccessChain 511(sizeQueryTemp) 70 + 520: 12(int) Load 519 + Store 128(HeightU) 520 + 521: 13(ptr) AccessChain 511(sizeQueryTemp) 190 + 522: 12(int) Load 521 + Store 69(ElementsU) 522 + 523: 512 Load 514(g_tTex2dmsu4a) + 524: 12(int) ImageQuerySamples 523 + Store 456(NumberOfSamplesU) 524 + 530: 529(ptr) AccessChain 526(psout) 20 + Store 530 528 + 533: 532(ptr) AccessChain 526(psout) 531 + Store 533 527 + 534:8(PS_OUTPUT) Load 526(psout) + ReturnValue 534 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 85a25af4df8..2faa744dbd3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -1,34 +1,36 @@ hlsl.getdimensions.dx10.vert Shader version: 450 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: 0:? Sequence 0:21 Sequence -0:21 move second child to first child (temp uint) -0:21 'sizeQueryTemp' (temp uint) -0:21 textureSize (temp uint) -0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:21 move second child to first child (temp uint) -0:21 'WidthU' (temp uint) -0:21 'sizeQueryTemp' (temp uint) +0:21 move second child to first child ( temp uint) +0:21 'sizeQueryTemp' ( temp uint) +0:21 textureSize ( temp uint) +0:21 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:21 Constant: +0:21 0 (const int) +0:21 move second child to first child ( temp uint) +0:21 'WidthU' ( temp uint) +0:21 'sizeQueryTemp' ( temp uint) 0:22 Sequence -0:22 move second child to first child (temp uint) -0:22 'sizeQueryTemp' (temp uint) -0:22 textureSize (temp uint) -0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:22 move second child to first child ( temp uint) +0:22 'sizeQueryTemp' ( temp uint) +0:22 textureSize ( temp uint) +0:22 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:22 Constant: 0:22 6 (const uint) -0:22 move second child to first child (temp uint) -0:22 'WidthU' (temp uint) -0:22 'sizeQueryTemp' (temp uint) -0:22 move second child to first child (temp uint) -0:22 'NumberOfLevelsU' (temp uint) -0:22 textureQueryLevels (temp uint) -0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:24 move second child to first child (temp 4-component vector of float) -0:24 Pos: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:22 move second child to first child ( temp uint) +0:22 'WidthU' ( temp uint) +0:22 'sizeQueryTemp' ( temp uint) +0:22 move second child to first child ( temp uint) +0:22 'NumberOfLevelsU' ( temp uint) +0:22 textureQueryLevels ( temp uint) +0:22 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 Pos: direct index for structure ( temp 4-component vector of float) +0:24 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:24 Constant: 0:24 0 (const int) 0:? Constant: @@ -36,19 +38,22 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:26 Pos: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:11 Function Definition: main( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:11 Pos: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? '@entryPointOutput' (layout( location=0) out structure{}) Linked vertex stage: @@ -56,34 +61,36 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: 0:? Sequence 0:21 Sequence -0:21 move second child to first child (temp uint) -0:21 'sizeQueryTemp' (temp uint) -0:21 textureSize (temp uint) -0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:21 move second child to first child (temp uint) -0:21 'WidthU' (temp uint) -0:21 'sizeQueryTemp' (temp uint) +0:21 move second child to first child ( temp uint) +0:21 'sizeQueryTemp' ( temp uint) +0:21 textureSize ( temp uint) +0:21 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:21 Constant: +0:21 0 (const int) +0:21 move second child to first child ( temp uint) +0:21 'WidthU' ( temp uint) +0:21 'sizeQueryTemp' ( temp uint) 0:22 Sequence -0:22 move second child to first child (temp uint) -0:22 'sizeQueryTemp' (temp uint) -0:22 textureSize (temp uint) -0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) +0:22 move second child to first child ( temp uint) +0:22 'sizeQueryTemp' ( temp uint) +0:22 textureSize ( temp uint) +0:22 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:22 Constant: 0:22 6 (const uint) -0:22 move second child to first child (temp uint) -0:22 'WidthU' (temp uint) -0:22 'sizeQueryTemp' (temp uint) -0:22 move second child to first child (temp uint) -0:22 'NumberOfLevelsU' (temp uint) -0:22 textureQueryLevels (temp uint) -0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:24 move second child to first child (temp 4-component vector of float) -0:24 Pos: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:22 move second child to first child ( temp uint) +0:22 'WidthU' ( temp uint) +0:22 'sizeQueryTemp' ( temp uint) +0:22 move second child to first child ( temp uint) +0:22 'NumberOfLevelsU' ( temp uint) +0:22 textureQueryLevels ( temp uint) +0:22 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 Pos: direct index for structure ( temp 4-component vector of float) +0:24 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:24 Constant: 0:24 0 (const int) 0:? Constant: @@ -91,100 +98,108 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:26 Pos: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:11 Function Definition: main( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:11 Pos: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? '@entryPointOutput' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 51 Capability Shader Capability Sampled1D Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 36 45 + EntryPoint Vertex 4 "main" 42 50 Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 23 "NumberOfLevelsU" - Name 27 "VS_OUTPUT" - MemberName 27(VS_OUTPUT) 0 "Pos" - Name 29 "vsout" - Name 36 "Pos" - Name 42 "g_sSamp" - Name 43 "PerVertex_out" - MemberName 43(PerVertex_out) 0 "Pos" - Name 45 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 36(Pos) BuiltIn Position - Decorate 42(g_sSamp) DescriptorSet 0 - Decorate 42(g_sSamp) Binding 0 - MemberDecorate 43(PerVertex_out) 0 BuiltIn Position - Decorate 43(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 22 "WidthU" + Name 24 "sizeQueryTemp" + Name 29 "NumberOfLevelsU" + Name 33 "vsout" + Name 42 "@entryPointOutput_Pos" + Name 47 "g_sSamp" + Name 48 "VS_OUTPUT" + Name 50 "@entryPointOutput" + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 42(@entryPointOutput_Pos) BuiltIn Position + Decorate 47(g_sSamp) DescriptorSet 0 + Decorate 47(g_sSamp) Binding 0 + Decorate 50(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 20: 6(int) Constant 6 - 26: TypeVector 9(float) 4 - 27(VS_OUTPUT): TypeStruct 26(fvec4) - 28: TypePointer Function 27(VS_OUTPUT) - 30: 14(int) Constant 0 - 31: 9(float) Constant 0 - 32: 26(fvec4) ConstantComposite 31 31 31 31 - 33: TypePointer Function 26(fvec4) - 35: TypePointer Output 26(fvec4) - 36(Pos): 35(ptr) Variable Output - 40: TypeSampler - 41: TypePointer UniformConstant 40 - 42(g_sSamp): 41(ptr) Variable UniformConstant -43(PerVertex_out): TypeStruct 26(fvec4) - 44: TypePointer Output 43(PerVertex_out) -45(PerVertex_out): 44(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D sampled format:Unknown + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 26: 12(int) Constant 6 + 32: TypePointer Function 8(VS_OUTPUT) + 34: 6(float) Constant 0 + 35: 7(fvec4) ConstantComposite 34 34 34 34 + 36: TypePointer Function 7(fvec4) + 41: TypePointer Output 7(fvec4) +42(@entryPointOutput_Pos): 41(ptr) Variable Output + 45: TypeSampler + 46: TypePointer UniformConstant 45 + 47(g_sSamp): 46(ptr) Variable UniformConstant + 48(VS_OUTPUT): TypeStruct + 49: TypePointer Output 48(VS_OUTPUT) +50(@entryPointOutput): 49(ptr) Variable Output 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -23(NumberOfLevelsU): 7(ptr) Variable Function - 29(vsout): 28(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 19: 10 Load 12(g_tTex1df4) - 21: 14(int) ImageQuerySizeLod 19 20 - Store 18(sizeQueryTemp) 21 - 22: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 22 - 24: 10 Load 12(g_tTex1df4) - 25: 14(int) ImageQueryLevels 24 - Store 23(NumberOfLevelsU) 25 - 34: 33(ptr) AccessChain 29(vsout) 30 - Store 34 32 - 37: 33(ptr) AccessChain 29(vsout) 30 - 38: 26(fvec4) Load 37 - Store 36(Pos) 38 + 43:8(VS_OUTPUT) FunctionCall 10(@main() + 44: 7(fvec4) CompositeExtract 43 0 + Store 42(@entryPointOutput_Pos) 44 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 22(WidthU): 13(ptr) Variable Function +24(sizeQueryTemp): 13(ptr) Variable Function +29(NumberOfLevelsU): 13(ptr) Variable Function + 33(vsout): 32(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 21: 12(int) ImageQuerySizeLod 18 20 + Store 14(sizeQueryTemp) 21 + 23: 12(int) Load 14(sizeQueryTemp) + Store 22(WidthU) 23 + 25: 15 Load 17(g_tTex1df4) + 27: 12(int) ImageQuerySizeLod 25 26 + Store 24(sizeQueryTemp) 27 + 28: 12(int) Load 24(sizeQueryTemp) + Store 22(WidthU) 28 + 30: 15 Load 17(g_tTex1df4) + 31: 12(int) ImageQueryLevels 30 + Store 29(NumberOfLevelsU) 31 + 37: 36(ptr) AccessChain 33(vsout) 20 + Store 37 35 + 38:8(VS_OUTPUT) Load 33(vsout) + ReturnValue 38 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 918246b6ed1..781ed906632 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -2,300 +2,300 @@ hlsl.getdimensions.rw.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:44 Function Parameters: 0:? Sequence 0:63 Sequence -0:63 move second child to first child (temp uint) -0:63 'sizeQueryTemp' (temp uint) -0:63 imageQuerySize (temp uint) -0:63 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:63 move second child to first child (temp uint) -0:63 'WidthU' (temp uint) -0:63 'sizeQueryTemp' (temp uint) +0:63 move second child to first child ( temp uint) +0:63 'sizeQueryTemp' ( temp uint) +0:63 imageQuerySize ( temp uint) +0:63 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:63 move second child to first child ( temp uint) +0:63 'WidthU' ( temp uint) +0:63 'sizeQueryTemp' ( temp uint) 0:64 Sequence -0:64 move second child to first child (temp uint) -0:64 'sizeQueryTemp' (temp uint) -0:64 imageQuerySize (temp uint) -0:64 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:64 move second child to first child (temp uint) -0:64 'WidthU' (temp uint) -0:64 'sizeQueryTemp' (temp uint) +0:64 move second child to first child ( temp uint) +0:64 'sizeQueryTemp' ( temp uint) +0:64 imageQuerySize ( temp uint) +0:64 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:64 move second child to first child ( temp uint) +0:64 'WidthU' ( temp uint) +0:64 'sizeQueryTemp' ( temp uint) 0:65 Sequence -0:65 move second child to first child (temp uint) -0:65 'sizeQueryTemp' (temp uint) -0:65 imageQuerySize (temp uint) -0:65 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:65 move second child to first child (temp uint) -0:65 'WidthU' (temp uint) -0:65 'sizeQueryTemp' (temp uint) +0:65 move second child to first child ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) +0:65 imageQuerySize ( temp uint) +0:65 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:65 move second child to first child ( temp uint) +0:65 'WidthU' ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) 0:68 Sequence -0:68 move second child to first child (temp uint) -0:68 'sizeQueryTemp' (temp uint) -0:68 imageQuerySize (temp uint) -0:68 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:68 move second child to first child (temp uint) -0:68 'WidthU' (temp uint) -0:68 'sizeQueryTemp' (temp uint) +0:68 move second child to first child ( temp uint) +0:68 'sizeQueryTemp' ( temp uint) +0:68 imageQuerySize ( temp uint) +0:68 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:68 move second child to first child ( temp uint) +0:68 'WidthU' ( temp uint) +0:68 'sizeQueryTemp' ( temp uint) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'sizeQueryTemp' (temp uint) -0:69 imageQuerySize (temp uint) -0:69 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:69 move second child to first child (temp uint) -0:69 'WidthU' (temp uint) -0:69 'sizeQueryTemp' (temp uint) +0:69 move second child to first child ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) +0:69 imageQuerySize ( temp uint) +0:69 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:69 move second child to first child ( temp uint) +0:69 'WidthU' ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 imageQuerySize (temp uint) -0:70 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:70 move second child to first child (temp uint) -0:70 'WidthU' (temp uint) -0:70 'sizeQueryTemp' (temp uint) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 imageQuerySize ( temp uint) +0:70 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:70 move second child to first child ( temp uint) +0:70 'WidthU' ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) -0:73 imageQuerySize (temp 2-component vector of uint) -0:73 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:73 move second child to first child (temp uint) -0:73 'WidthU' (temp uint) -0:73 direct index (temp uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 move second child to first child ( temp 2-component vector of uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) +0:73 imageQuerySize ( temp 2-component vector of uint) +0:73 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:73 move second child to first child ( temp uint) +0:73 'WidthU' ( temp uint) +0:73 direct index ( temp uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) 0:73 Constant: 0:73 0 (const int) -0:73 move second child to first child (temp uint) -0:73 'ElementsU' (temp uint) -0:73 direct index (temp uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 move second child to first child ( temp uint) +0:73 'ElementsU' ( temp uint) +0:73 direct index ( temp uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) 0:73 Constant: 0:73 1 (const int) 0:74 Sequence -0:74 move second child to first child (temp 2-component vector of uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) -0:74 imageQuerySize (temp 2-component vector of uint) -0:74 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:74 move second child to first child (temp uint) -0:74 'WidthU' (temp uint) -0:74 direct index (temp uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 move second child to first child ( temp 2-component vector of uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) +0:74 imageQuerySize ( temp 2-component vector of uint) +0:74 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:74 move second child to first child ( temp uint) +0:74 'WidthU' ( temp uint) +0:74 direct index ( temp uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) 0:74 Constant: 0:74 0 (const int) -0:74 move second child to first child (temp uint) -0:74 'ElementsU' (temp uint) -0:74 direct index (temp uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 move second child to first child ( temp uint) +0:74 'ElementsU' ( temp uint) +0:74 direct index ( temp uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) 0:74 Constant: 0:74 1 (const int) 0:75 Sequence -0:75 move second child to first child (temp 2-component vector of uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) -0:75 imageQuerySize (temp 2-component vector of uint) -0:75 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:75 move second child to first child (temp uint) -0:75 'WidthU' (temp uint) -0:75 direct index (temp uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) +0:75 move second child to first child ( temp 2-component vector of uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) +0:75 imageQuerySize ( temp 2-component vector of uint) +0:75 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:75 move second child to first child ( temp uint) +0:75 'WidthU' ( temp uint) +0:75 direct index ( temp uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) 0:75 Constant: 0:75 0 (const int) -0:75 move second child to first child (temp uint) -0:75 'ElementsU' (temp uint) -0:75 direct index (temp uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) +0:75 move second child to first child ( temp uint) +0:75 'ElementsU' ( temp uint) +0:75 direct index ( temp uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) 0:75 Constant: 0:75 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 2-component vector of uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) -0:78 imageQuerySize (temp 2-component vector of uint) -0:78 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:78 move second child to first child (temp uint) -0:78 'WidthU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp 2-component vector of uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) +0:78 imageQuerySize ( temp 2-component vector of uint) +0:78 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:78 move second child to first child ( temp uint) +0:78 'WidthU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 0 (const int) -0:78 move second child to first child (temp uint) -0:78 'HeightU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'HeightU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 1 (const int) 0:79 Sequence -0:79 move second child to first child (temp 2-component vector of uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) -0:79 imageQuerySize (temp 2-component vector of uint) -0:79 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:79 move second child to first child (temp uint) -0:79 'WidthU' (temp uint) -0:79 direct index (temp uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) +0:79 move second child to first child ( temp 2-component vector of uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) +0:79 imageQuerySize ( temp 2-component vector of uint) +0:79 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:79 move second child to first child ( temp uint) +0:79 'WidthU' ( temp uint) +0:79 direct index ( temp uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) 0:79 Constant: 0:79 0 (const int) -0:79 move second child to first child (temp uint) -0:79 'HeightU' (temp uint) -0:79 direct index (temp uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) +0:79 move second child to first child ( temp uint) +0:79 'HeightU' ( temp uint) +0:79 direct index ( temp uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) 0:79 Constant: 0:79 1 (const int) 0:80 Sequence -0:80 move second child to first child (temp 2-component vector of uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) -0:80 imageQuerySize (temp 2-component vector of uint) -0:80 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:80 move second child to first child (temp uint) -0:80 'WidthU' (temp uint) -0:80 direct index (temp uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp 2-component vector of uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) +0:80 imageQuerySize ( temp 2-component vector of uint) +0:80 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:80 move second child to first child ( temp uint) +0:80 'WidthU' ( temp uint) +0:80 direct index ( temp uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) 0:80 Constant: 0:80 0 (const int) -0:80 move second child to first child (temp uint) -0:80 'HeightU' (temp uint) -0:80 direct index (temp uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp uint) +0:80 'HeightU' ( temp uint) +0:80 direct index ( temp uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) 0:80 Constant: 0:80 1 (const int) 0:83 Sequence -0:83 move second child to first child (temp 3-component vector of uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) -0:83 imageQuerySize (temp 3-component vector of uint) -0:83 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:83 move second child to first child (temp uint) -0:83 'WidthU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp 3-component vector of uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) +0:83 imageQuerySize ( temp 3-component vector of uint) +0:83 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:83 move second child to first child ( temp uint) +0:83 'WidthU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 0 (const int) -0:83 move second child to first child (temp uint) -0:83 'HeightU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp uint) +0:83 'HeightU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 1 (const int) -0:83 move second child to first child (temp uint) -0:83 'ElementsU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp uint) +0:83 'ElementsU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 2 (const int) 0:84 Sequence -0:84 move second child to first child (temp 3-component vector of uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) -0:84 imageQuerySize (temp 3-component vector of uint) -0:84 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:84 move second child to first child (temp uint) -0:84 'WidthU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp 3-component vector of uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) +0:84 imageQuerySize ( temp 3-component vector of uint) +0:84 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:84 move second child to first child ( temp uint) +0:84 'WidthU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 0 (const int) -0:84 move second child to first child (temp uint) -0:84 'HeightU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp uint) +0:84 'HeightU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 1 (const int) -0:84 move second child to first child (temp uint) -0:84 'ElementsU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp uint) +0:84 'ElementsU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 2 (const int) 0:85 Sequence -0:85 move second child to first child (temp 3-component vector of uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) -0:85 imageQuerySize (temp 3-component vector of uint) -0:85 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:85 move second child to first child (temp uint) -0:85 'WidthU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp 3-component vector of uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) +0:85 imageQuerySize ( temp 3-component vector of uint) +0:85 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:85 move second child to first child ( temp uint) +0:85 'WidthU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 0 (const int) -0:85 move second child to first child (temp uint) -0:85 'HeightU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'HeightU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 1 (const int) -0:85 move second child to first child (temp uint) -0:85 'ElementsU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'ElementsU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 2 (const int) 0:88 Sequence -0:88 move second child to first child (temp 3-component vector of uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) -0:88 imageQuerySize (temp 3-component vector of uint) -0:88 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:88 move second child to first child (temp uint) -0:88 'WidthU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp 3-component vector of uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) +0:88 imageQuerySize ( temp 3-component vector of uint) +0:88 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:88 move second child to first child ( temp uint) +0:88 'WidthU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 0 (const int) -0:88 move second child to first child (temp uint) -0:88 'HeightU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp uint) +0:88 'HeightU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 1 (const int) -0:88 move second child to first child (temp uint) -0:88 'DepthU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp uint) +0:88 'DepthU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 2 (const int) 0:89 Sequence -0:89 move second child to first child (temp 3-component vector of uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) -0:89 imageQuerySize (temp 3-component vector of uint) -0:89 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:89 move second child to first child (temp uint) -0:89 'WidthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp 3-component vector of uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) +0:89 imageQuerySize ( temp 3-component vector of uint) +0:89 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:89 move second child to first child ( temp uint) +0:89 'WidthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 0 (const int) -0:89 move second child to first child (temp uint) -0:89 'HeightU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'HeightU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 1 (const int) -0:89 move second child to first child (temp uint) -0:89 'DepthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'DepthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 2 (const int) 0:90 Sequence -0:90 move second child to first child (temp 3-component vector of uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) -0:90 imageQuerySize (temp 3-component vector of uint) -0:90 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:90 move second child to first child (temp uint) -0:90 'WidthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp 3-component vector of uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) +0:90 imageQuerySize ( temp 3-component vector of uint) +0:90 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:90 move second child to first child ( temp uint) +0:90 'WidthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 0 (const int) -0:90 move second child to first child (temp uint) -0:90 'HeightU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'HeightU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 1 (const int) -0:90 move second child to first child (temp uint) -0:90 'DepthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'DepthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 2 (const int) -0:92 move second child to first child (temp 4-component vector of float) -0:92 Color: direct index for structure (temp 4-component vector of float) -0:92 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:92 move second child to first child ( temp 4-component vector of float) +0:92 Color: direct index for structure ( temp 4-component vector of float) +0:92 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:92 Constant: 0:92 0 (const int) 0:92 Constant: @@ -303,51 +303,57 @@ gl_FragCoord origin is upper left 0:92 1.000000 0:92 1.000000 0:92 1.000000 -0:93 move second child to first child (temp float) -0:93 Depth: direct index for structure (temp float) -0:93 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:93 move second child to first child ( temp float) +0:93 Depth: direct index for structure ( temp float) +0:93 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:93 Constant: 0:93 1 (const int) 0:93 Constant: 0:93 1.000000 -0:95 Sequence -0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:95 Color: direct index for structure (temp 4-component vector of float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 0 (const int) -0:95 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:95 Depth: direct index for structure (temp float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 1 (const int) -0:95 Branch: Return +0:95 Branch: Return with expression +0:95 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: main( ( temp void) +0:44 Function Parameters: +0:? Sequence +0:44 Sequence +0:44 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:44 Color: direct index for structure ( temp 4-component vector of float) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:44 Depth: direct index for structure ( temp float) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -356,300 +362,300 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:44 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:44 Function Parameters: 0:? Sequence 0:63 Sequence -0:63 move second child to first child (temp uint) -0:63 'sizeQueryTemp' (temp uint) -0:63 imageQuerySize (temp uint) -0:63 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:63 move second child to first child (temp uint) -0:63 'WidthU' (temp uint) -0:63 'sizeQueryTemp' (temp uint) +0:63 move second child to first child ( temp uint) +0:63 'sizeQueryTemp' ( temp uint) +0:63 imageQuerySize ( temp uint) +0:63 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:63 move second child to first child ( temp uint) +0:63 'WidthU' ( temp uint) +0:63 'sizeQueryTemp' ( temp uint) 0:64 Sequence -0:64 move second child to first child (temp uint) -0:64 'sizeQueryTemp' (temp uint) -0:64 imageQuerySize (temp uint) -0:64 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:64 move second child to first child (temp uint) -0:64 'WidthU' (temp uint) -0:64 'sizeQueryTemp' (temp uint) +0:64 move second child to first child ( temp uint) +0:64 'sizeQueryTemp' ( temp uint) +0:64 imageQuerySize ( temp uint) +0:64 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:64 move second child to first child ( temp uint) +0:64 'WidthU' ( temp uint) +0:64 'sizeQueryTemp' ( temp uint) 0:65 Sequence -0:65 move second child to first child (temp uint) -0:65 'sizeQueryTemp' (temp uint) -0:65 imageQuerySize (temp uint) -0:65 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:65 move second child to first child (temp uint) -0:65 'WidthU' (temp uint) -0:65 'sizeQueryTemp' (temp uint) +0:65 move second child to first child ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) +0:65 imageQuerySize ( temp uint) +0:65 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:65 move second child to first child ( temp uint) +0:65 'WidthU' ( temp uint) +0:65 'sizeQueryTemp' ( temp uint) 0:68 Sequence -0:68 move second child to first child (temp uint) -0:68 'sizeQueryTemp' (temp uint) -0:68 imageQuerySize (temp uint) -0:68 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:68 move second child to first child (temp uint) -0:68 'WidthU' (temp uint) -0:68 'sizeQueryTemp' (temp uint) +0:68 move second child to first child ( temp uint) +0:68 'sizeQueryTemp' ( temp uint) +0:68 imageQuerySize ( temp uint) +0:68 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:68 move second child to first child ( temp uint) +0:68 'WidthU' ( temp uint) +0:68 'sizeQueryTemp' ( temp uint) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'sizeQueryTemp' (temp uint) -0:69 imageQuerySize (temp uint) -0:69 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:69 move second child to first child (temp uint) -0:69 'WidthU' (temp uint) -0:69 'sizeQueryTemp' (temp uint) +0:69 move second child to first child ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) +0:69 imageQuerySize ( temp uint) +0:69 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:69 move second child to first child ( temp uint) +0:69 'WidthU' ( temp uint) +0:69 'sizeQueryTemp' ( temp uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 imageQuerySize (temp uint) -0:70 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:70 move second child to first child (temp uint) -0:70 'WidthU' (temp uint) -0:70 'sizeQueryTemp' (temp uint) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 imageQuerySize ( temp uint) +0:70 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:70 move second child to first child ( temp uint) +0:70 'WidthU' ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) -0:73 imageQuerySize (temp 2-component vector of uint) -0:73 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:73 move second child to first child (temp uint) -0:73 'WidthU' (temp uint) -0:73 direct index (temp uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 move second child to first child ( temp 2-component vector of uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) +0:73 imageQuerySize ( temp 2-component vector of uint) +0:73 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:73 move second child to first child ( temp uint) +0:73 'WidthU' ( temp uint) +0:73 direct index ( temp uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) 0:73 Constant: 0:73 0 (const int) -0:73 move second child to first child (temp uint) -0:73 'ElementsU' (temp uint) -0:73 direct index (temp uint) -0:73 'sizeQueryTemp' (temp 2-component vector of uint) +0:73 move second child to first child ( temp uint) +0:73 'ElementsU' ( temp uint) +0:73 direct index ( temp uint) +0:73 'sizeQueryTemp' ( temp 2-component vector of uint) 0:73 Constant: 0:73 1 (const int) 0:74 Sequence -0:74 move second child to first child (temp 2-component vector of uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) -0:74 imageQuerySize (temp 2-component vector of uint) -0:74 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:74 move second child to first child (temp uint) -0:74 'WidthU' (temp uint) -0:74 direct index (temp uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 move second child to first child ( temp 2-component vector of uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) +0:74 imageQuerySize ( temp 2-component vector of uint) +0:74 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:74 move second child to first child ( temp uint) +0:74 'WidthU' ( temp uint) +0:74 direct index ( temp uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) 0:74 Constant: 0:74 0 (const int) -0:74 move second child to first child (temp uint) -0:74 'ElementsU' (temp uint) -0:74 direct index (temp uint) -0:74 'sizeQueryTemp' (temp 2-component vector of uint) +0:74 move second child to first child ( temp uint) +0:74 'ElementsU' ( temp uint) +0:74 direct index ( temp uint) +0:74 'sizeQueryTemp' ( temp 2-component vector of uint) 0:74 Constant: 0:74 1 (const int) 0:75 Sequence -0:75 move second child to first child (temp 2-component vector of uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) -0:75 imageQuerySize (temp 2-component vector of uint) -0:75 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:75 move second child to first child (temp uint) -0:75 'WidthU' (temp uint) -0:75 direct index (temp uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) +0:75 move second child to first child ( temp 2-component vector of uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) +0:75 imageQuerySize ( temp 2-component vector of uint) +0:75 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:75 move second child to first child ( temp uint) +0:75 'WidthU' ( temp uint) +0:75 direct index ( temp uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) 0:75 Constant: 0:75 0 (const int) -0:75 move second child to first child (temp uint) -0:75 'ElementsU' (temp uint) -0:75 direct index (temp uint) -0:75 'sizeQueryTemp' (temp 2-component vector of uint) +0:75 move second child to first child ( temp uint) +0:75 'ElementsU' ( temp uint) +0:75 direct index ( temp uint) +0:75 'sizeQueryTemp' ( temp 2-component vector of uint) 0:75 Constant: 0:75 1 (const int) 0:78 Sequence -0:78 move second child to first child (temp 2-component vector of uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) -0:78 imageQuerySize (temp 2-component vector of uint) -0:78 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:78 move second child to first child (temp uint) -0:78 'WidthU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp 2-component vector of uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) +0:78 imageQuerySize ( temp 2-component vector of uint) +0:78 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:78 move second child to first child ( temp uint) +0:78 'WidthU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 0 (const int) -0:78 move second child to first child (temp uint) -0:78 'HeightU' (temp uint) -0:78 direct index (temp uint) -0:78 'sizeQueryTemp' (temp 2-component vector of uint) +0:78 move second child to first child ( temp uint) +0:78 'HeightU' ( temp uint) +0:78 direct index ( temp uint) +0:78 'sizeQueryTemp' ( temp 2-component vector of uint) 0:78 Constant: 0:78 1 (const int) 0:79 Sequence -0:79 move second child to first child (temp 2-component vector of uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) -0:79 imageQuerySize (temp 2-component vector of uint) -0:79 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:79 move second child to first child (temp uint) -0:79 'WidthU' (temp uint) -0:79 direct index (temp uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) +0:79 move second child to first child ( temp 2-component vector of uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) +0:79 imageQuerySize ( temp 2-component vector of uint) +0:79 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:79 move second child to first child ( temp uint) +0:79 'WidthU' ( temp uint) +0:79 direct index ( temp uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) 0:79 Constant: 0:79 0 (const int) -0:79 move second child to first child (temp uint) -0:79 'HeightU' (temp uint) -0:79 direct index (temp uint) -0:79 'sizeQueryTemp' (temp 2-component vector of uint) +0:79 move second child to first child ( temp uint) +0:79 'HeightU' ( temp uint) +0:79 direct index ( temp uint) +0:79 'sizeQueryTemp' ( temp 2-component vector of uint) 0:79 Constant: 0:79 1 (const int) 0:80 Sequence -0:80 move second child to first child (temp 2-component vector of uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) -0:80 imageQuerySize (temp 2-component vector of uint) -0:80 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:80 move second child to first child (temp uint) -0:80 'WidthU' (temp uint) -0:80 direct index (temp uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp 2-component vector of uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) +0:80 imageQuerySize ( temp 2-component vector of uint) +0:80 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:80 move second child to first child ( temp uint) +0:80 'WidthU' ( temp uint) +0:80 direct index ( temp uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) 0:80 Constant: 0:80 0 (const int) -0:80 move second child to first child (temp uint) -0:80 'HeightU' (temp uint) -0:80 direct index (temp uint) -0:80 'sizeQueryTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp uint) +0:80 'HeightU' ( temp uint) +0:80 direct index ( temp uint) +0:80 'sizeQueryTemp' ( temp 2-component vector of uint) 0:80 Constant: 0:80 1 (const int) 0:83 Sequence -0:83 move second child to first child (temp 3-component vector of uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) -0:83 imageQuerySize (temp 3-component vector of uint) -0:83 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:83 move second child to first child (temp uint) -0:83 'WidthU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp 3-component vector of uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) +0:83 imageQuerySize ( temp 3-component vector of uint) +0:83 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:83 move second child to first child ( temp uint) +0:83 'WidthU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 0 (const int) -0:83 move second child to first child (temp uint) -0:83 'HeightU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp uint) +0:83 'HeightU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 1 (const int) -0:83 move second child to first child (temp uint) -0:83 'ElementsU' (temp uint) -0:83 direct index (temp uint) -0:83 'sizeQueryTemp' (temp 3-component vector of uint) +0:83 move second child to first child ( temp uint) +0:83 'ElementsU' ( temp uint) +0:83 direct index ( temp uint) +0:83 'sizeQueryTemp' ( temp 3-component vector of uint) 0:83 Constant: 0:83 2 (const int) 0:84 Sequence -0:84 move second child to first child (temp 3-component vector of uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) -0:84 imageQuerySize (temp 3-component vector of uint) -0:84 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:84 move second child to first child (temp uint) -0:84 'WidthU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp 3-component vector of uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) +0:84 imageQuerySize ( temp 3-component vector of uint) +0:84 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:84 move second child to first child ( temp uint) +0:84 'WidthU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 0 (const int) -0:84 move second child to first child (temp uint) -0:84 'HeightU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp uint) +0:84 'HeightU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 1 (const int) -0:84 move second child to first child (temp uint) -0:84 'ElementsU' (temp uint) -0:84 direct index (temp uint) -0:84 'sizeQueryTemp' (temp 3-component vector of uint) +0:84 move second child to first child ( temp uint) +0:84 'ElementsU' ( temp uint) +0:84 direct index ( temp uint) +0:84 'sizeQueryTemp' ( temp 3-component vector of uint) 0:84 Constant: 0:84 2 (const int) 0:85 Sequence -0:85 move second child to first child (temp 3-component vector of uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) -0:85 imageQuerySize (temp 3-component vector of uint) -0:85 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:85 move second child to first child (temp uint) -0:85 'WidthU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp 3-component vector of uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) +0:85 imageQuerySize ( temp 3-component vector of uint) +0:85 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:85 move second child to first child ( temp uint) +0:85 'WidthU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 0 (const int) -0:85 move second child to first child (temp uint) -0:85 'HeightU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'HeightU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 1 (const int) -0:85 move second child to first child (temp uint) -0:85 'ElementsU' (temp uint) -0:85 direct index (temp uint) -0:85 'sizeQueryTemp' (temp 3-component vector of uint) +0:85 move second child to first child ( temp uint) +0:85 'ElementsU' ( temp uint) +0:85 direct index ( temp uint) +0:85 'sizeQueryTemp' ( temp 3-component vector of uint) 0:85 Constant: 0:85 2 (const int) 0:88 Sequence -0:88 move second child to first child (temp 3-component vector of uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) -0:88 imageQuerySize (temp 3-component vector of uint) -0:88 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:88 move second child to first child (temp uint) -0:88 'WidthU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp 3-component vector of uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) +0:88 imageQuerySize ( temp 3-component vector of uint) +0:88 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:88 move second child to first child ( temp uint) +0:88 'WidthU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 0 (const int) -0:88 move second child to first child (temp uint) -0:88 'HeightU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp uint) +0:88 'HeightU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 1 (const int) -0:88 move second child to first child (temp uint) -0:88 'DepthU' (temp uint) -0:88 direct index (temp uint) -0:88 'sizeQueryTemp' (temp 3-component vector of uint) +0:88 move second child to first child ( temp uint) +0:88 'DepthU' ( temp uint) +0:88 direct index ( temp uint) +0:88 'sizeQueryTemp' ( temp 3-component vector of uint) 0:88 Constant: 0:88 2 (const int) 0:89 Sequence -0:89 move second child to first child (temp 3-component vector of uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) -0:89 imageQuerySize (temp 3-component vector of uint) -0:89 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:89 move second child to first child (temp uint) -0:89 'WidthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp 3-component vector of uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) +0:89 imageQuerySize ( temp 3-component vector of uint) +0:89 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:89 move second child to first child ( temp uint) +0:89 'WidthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 0 (const int) -0:89 move second child to first child (temp uint) -0:89 'HeightU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'HeightU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 1 (const int) -0:89 move second child to first child (temp uint) -0:89 'DepthU' (temp uint) -0:89 direct index (temp uint) -0:89 'sizeQueryTemp' (temp 3-component vector of uint) +0:89 move second child to first child ( temp uint) +0:89 'DepthU' ( temp uint) +0:89 direct index ( temp uint) +0:89 'sizeQueryTemp' ( temp 3-component vector of uint) 0:89 Constant: 0:89 2 (const int) 0:90 Sequence -0:90 move second child to first child (temp 3-component vector of uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) -0:90 imageQuerySize (temp 3-component vector of uint) -0:90 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:90 move second child to first child (temp uint) -0:90 'WidthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp 3-component vector of uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) +0:90 imageQuerySize ( temp 3-component vector of uint) +0:90 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:90 move second child to first child ( temp uint) +0:90 'WidthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 0 (const int) -0:90 move second child to first child (temp uint) -0:90 'HeightU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'HeightU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 1 (const int) -0:90 move second child to first child (temp uint) -0:90 'DepthU' (temp uint) -0:90 direct index (temp uint) -0:90 'sizeQueryTemp' (temp 3-component vector of uint) +0:90 move second child to first child ( temp uint) +0:90 'DepthU' ( temp uint) +0:90 direct index ( temp uint) +0:90 'sizeQueryTemp' ( temp 3-component vector of uint) 0:90 Constant: 0:90 2 (const int) -0:92 move second child to first child (temp 4-component vector of float) -0:92 Color: direct index for structure (temp 4-component vector of float) -0:92 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:92 move second child to first child ( temp 4-component vector of float) +0:92 Color: direct index for structure ( temp 4-component vector of float) +0:92 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:92 Constant: 0:92 0 (const int) 0:92 Constant: @@ -657,55 +663,61 @@ gl_FragCoord origin is upper left 0:92 1.000000 0:92 1.000000 0:92 1.000000 -0:93 move second child to first child (temp float) -0:93 Depth: direct index for structure (temp float) -0:93 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:93 move second child to first child ( temp float) +0:93 Depth: direct index for structure ( temp float) +0:93 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:93 Constant: 0:93 1 (const int) 0:93 Constant: 0:93 1.000000 -0:95 Sequence -0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:95 Color: direct index for structure (temp 4-component vector of float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 0 (const int) -0:95 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:95 Depth: direct index for structure (temp float) -0:95 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:95 Constant: -0:95 1 (const int) -0:95 Branch: Return +0:95 Branch: Return with expression +0:95 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Function Definition: main( ( temp void) +0:44 Function Parameters: +0:? Sequence +0:44 Sequence +0:44 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:44 Color: direct index for structure ( temp 4-component vector of float) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 0 (const int) +0:44 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:44 Depth: direct index for structure ( temp float) +0:44 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:44 Constant: +0:44 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 225 +// Id's are bound by 232 Capability Shader Capability Sampled1D @@ -713,378 +725,389 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 210 214 + EntryPoint Fragment 4 "main" 216 220 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "sizeQueryTemp" - Name 12 "g_tTex1df4" - Name 16 "WidthU" - Name 18 "sizeQueryTemp" - Name 21 "g_tTex1di4" - Name 25 "sizeQueryTemp" - Name 28 "g_tTex1du4" - Name 32 "sizeQueryTemp" - Name 35 "g_tBuffF" - Name 39 "sizeQueryTemp" - Name 42 "g_tBuffI" - Name 46 "sizeQueryTemp" - Name 49 "g_tBuffU" - Name 55 "sizeQueryTemp" - Name 58 "g_tTex1df4a" - Name 65 "ElementsU" - Name 69 "sizeQueryTemp" - Name 72 "g_tTex1di4a" - Name 79 "sizeQueryTemp" - Name 82 "g_tTex1du4a" - Name 89 "sizeQueryTemp" - Name 92 "g_tTex2df4" - Name 97 "HeightU" - Name 100 "sizeQueryTemp" - Name 103 "g_tTex2di4" - Name 110 "sizeQueryTemp" - Name 113 "g_tTex2du4" - Name 122 "sizeQueryTemp" - Name 125 "g_tTex2df4a" - Name 136 "sizeQueryTemp" - Name 139 "g_tTex2di4a" - Name 148 "sizeQueryTemp" - Name 151 "g_tTex2du4a" - Name 160 "sizeQueryTemp" - Name 163 "g_tTex3df4" - Name 170 "DepthU" - Name 173 "sizeQueryTemp" - Name 176 "g_tTex3di4" - Name 185 "sizeQueryTemp" - Name 188 "g_tTex3du4" - Name 198 "PS_OUTPUT" - MemberName 198(PS_OUTPUT) 0 "Color" - MemberName 198(PS_OUTPUT) 1 "Depth" - Name 200 "psout" - Name 210 "Color" - Name 214 "Depth" - Name 220 "g_sSamp" - Name 222 "$Global" - MemberName 222($Global) 0 "c1" - MemberName 222($Global) 1 "c2" - MemberName 222($Global) 2 "c3" - MemberName 222($Global) 3 "c4" - MemberName 222($Global) 4 "o1" - MemberName 222($Global) 5 "o2" - MemberName 222($Global) 6 "o3" - MemberName 222($Global) 7 "o4" - Name 224 "" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 21(g_tTex1di4) DescriptorSet 0 - Decorate 28(g_tTex1du4) DescriptorSet 0 - Decorate 35(g_tBuffF) DescriptorSet 0 - Decorate 42(g_tBuffI) DescriptorSet 0 - Decorate 49(g_tBuffU) DescriptorSet 0 - Decorate 58(g_tTex1df4a) DescriptorSet 0 - Decorate 72(g_tTex1di4a) DescriptorSet 0 - Decorate 82(g_tTex1du4a) DescriptorSet 0 - Decorate 92(g_tTex2df4) DescriptorSet 0 - Decorate 103(g_tTex2di4) DescriptorSet 0 - Decorate 113(g_tTex2du4) DescriptorSet 0 - Decorate 125(g_tTex2df4a) DescriptorSet 0 - Decorate 139(g_tTex2di4a) DescriptorSet 0 - Decorate 151(g_tTex2du4a) DescriptorSet 0 - Decorate 163(g_tTex3df4) DescriptorSet 0 - Decorate 176(g_tTex3di4) DescriptorSet 0 - Decorate 188(g_tTex3du4) DescriptorSet 0 - Decorate 210(Color) Location 0 - Decorate 214(Depth) BuiltIn FragDepth - Decorate 220(g_sSamp) DescriptorSet 0 - Decorate 220(g_sSamp) Binding 0 - MemberDecorate 222($Global) 0 Offset 0 - MemberDecorate 222($Global) 1 Offset 8 - MemberDecorate 222($Global) 2 Offset 16 - MemberDecorate 222($Global) 3 Offset 32 - MemberDecorate 222($Global) 4 Offset 48 - MemberDecorate 222($Global) 5 Offset 56 - MemberDecorate 222($Global) 6 Offset 64 - MemberDecorate 222($Global) 7 Offset 80 - Decorate 222($Global) Block - Decorate 224 DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "sizeQueryTemp" + Name 17 "g_tTex1df4" + Name 20 "WidthU" + Name 22 "sizeQueryTemp" + Name 26 "g_tTex1di4" + Name 30 "sizeQueryTemp" + Name 33 "g_tTex1du4" + Name 37 "sizeQueryTemp" + Name 40 "g_tBuffF" + Name 44 "sizeQueryTemp" + Name 47 "g_tBuffI" + Name 51 "sizeQueryTemp" + Name 54 "g_tBuffU" + Name 60 "sizeQueryTemp" + Name 63 "g_tTex1df4a" + Name 69 "ElementsU" + Name 73 "sizeQueryTemp" + Name 76 "g_tTex1di4a" + Name 83 "sizeQueryTemp" + Name 86 "g_tTex1du4a" + Name 93 "sizeQueryTemp" + Name 96 "g_tTex2df4" + Name 101 "HeightU" + Name 104 "sizeQueryTemp" + Name 107 "g_tTex2di4" + Name 114 "sizeQueryTemp" + Name 117 "g_tTex2du4" + Name 126 "sizeQueryTemp" + Name 129 "g_tTex2df4a" + Name 139 "sizeQueryTemp" + Name 142 "g_tTex2di4a" + Name 151 "sizeQueryTemp" + Name 154 "g_tTex2du4a" + Name 163 "sizeQueryTemp" + Name 166 "g_tTex3df4" + Name 173 "DepthU" + Name 176 "sizeQueryTemp" + Name 179 "g_tTex3di4" + Name 188 "sizeQueryTemp" + Name 191 "g_tTex3du4" + Name 201 "psout" + Name 213 "flattenTemp" + Name 216 "Color" + Name 220 "Depth" + Name 225 "g_sSamp" + Name 229 "$Global" + MemberName 229($Global) 0 "c1" + MemberName 229($Global) 1 "c2" + MemberName 229($Global) 2 "c3" + MemberName 229($Global) 3 "c4" + MemberName 229($Global) 4 "o1" + MemberName 229($Global) 5 "o2" + MemberName 229($Global) 6 "o3" + MemberName 229($Global) 7 "o4" + Name 231 "" + Decorate 17(g_tTex1df4) DescriptorSet 0 + Decorate 17(g_tTex1df4) Binding 0 + Decorate 26(g_tTex1di4) DescriptorSet 0 + Decorate 33(g_tTex1du4) DescriptorSet 0 + Decorate 40(g_tBuffF) DescriptorSet 0 + Decorate 47(g_tBuffI) DescriptorSet 0 + Decorate 54(g_tBuffU) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 76(g_tTex1di4a) DescriptorSet 0 + Decorate 86(g_tTex1du4a) DescriptorSet 0 + Decorate 96(g_tTex2df4) DescriptorSet 0 + Decorate 107(g_tTex2di4) DescriptorSet 0 + Decorate 117(g_tTex2du4) DescriptorSet 0 + Decorate 129(g_tTex2df4a) DescriptorSet 0 + Decorate 142(g_tTex2di4a) DescriptorSet 0 + Decorate 154(g_tTex2du4a) DescriptorSet 0 + Decorate 166(g_tTex3df4) DescriptorSet 0 + Decorate 179(g_tTex3di4) DescriptorSet 0 + Decorate 191(g_tTex3du4) DescriptorSet 0 + Decorate 216(Color) Location 0 + Decorate 220(Depth) BuiltIn FragDepth + Decorate 225(g_sSamp) DescriptorSet 0 + Decorate 225(g_sSamp) Binding 0 + MemberDecorate 229($Global) 0 Offset 0 + MemberDecorate 229($Global) 1 Offset 8 + MemberDecorate 229($Global) 2 Offset 16 + MemberDecorate 229($Global) 3 Offset 32 + MemberDecorate 229($Global) 4 Offset 48 + MemberDecorate 229($Global) 5 Offset 56 + MemberDecorate 229($Global) 6 Offset 64 + MemberDecorate 229($Global) 7 Offset 80 + Decorate 229($Global) Block + Decorate 231 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypeImage 9(float) 1D nonsampled format:Rgba32f - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 19: TypeImage 14(int) 1D nonsampled format:Rgba32i - 20: TypePointer UniformConstant 19 - 21(g_tTex1di4): 20(ptr) Variable UniformConstant - 26: TypeImage 6(int) 1D nonsampled format:Rgba32ui - 27: TypePointer UniformConstant 26 - 28(g_tTex1du4): 27(ptr) Variable UniformConstant - 33: TypeImage 9(float) Buffer nonsampled format:Rgba32f - 34: TypePointer UniformConstant 33 - 35(g_tBuffF): 34(ptr) Variable UniformConstant - 40: TypeImage 14(int) Buffer nonsampled format:Rgba32i - 41: TypePointer UniformConstant 40 - 42(g_tBuffI): 41(ptr) Variable UniformConstant - 47: TypeImage 6(int) Buffer nonsampled format:Rgba32ui - 48: TypePointer UniformConstant 47 - 49(g_tBuffU): 48(ptr) Variable UniformConstant - 53: TypeVector 6(int) 2 - 54: TypePointer Function 53(ivec2) - 56: TypeImage 9(float) 1D array nonsampled format:Rgba32f - 57: TypePointer UniformConstant 56 - 58(g_tTex1df4a): 57(ptr) Variable UniformConstant - 60: TypeVector 14(int) 2 - 62: 6(int) Constant 0 - 66: 6(int) Constant 1 - 70: TypeImage 14(int) 1D array nonsampled format:Rgba32i - 71: TypePointer UniformConstant 70 - 72(g_tTex1di4a): 71(ptr) Variable UniformConstant - 80: TypeImage 6(int) 1D array nonsampled format:Rgba32ui - 81: TypePointer UniformConstant 80 - 82(g_tTex1du4a): 81(ptr) Variable UniformConstant - 90: TypeImage 9(float) 2D nonsampled format:Rgba32f - 91: TypePointer UniformConstant 90 - 92(g_tTex2df4): 91(ptr) Variable UniformConstant - 101: TypeImage 14(int) 2D nonsampled format:Rgba32i - 102: TypePointer UniformConstant 101 - 103(g_tTex2di4): 102(ptr) Variable UniformConstant - 111: TypeImage 6(int) 2D nonsampled format:Rgba32ui - 112: TypePointer UniformConstant 111 - 113(g_tTex2du4): 112(ptr) Variable UniformConstant - 120: TypeVector 6(int) 3 - 121: TypePointer Function 120(ivec3) - 123: TypeImage 9(float) 2D array nonsampled format:Rgba32f - 124: TypePointer UniformConstant 123 -125(g_tTex2df4a): 124(ptr) Variable UniformConstant - 127: TypeVector 14(int) 3 - 133: 6(int) Constant 2 - 137: TypeImage 14(int) 2D array nonsampled format:Rgba32i - 138: TypePointer UniformConstant 137 -139(g_tTex2di4a): 138(ptr) Variable UniformConstant - 149: TypeImage 6(int) 2D array nonsampled format:Rgba32ui - 150: TypePointer UniformConstant 149 -151(g_tTex2du4a): 150(ptr) Variable UniformConstant - 161: TypeImage 9(float) 3D nonsampled format:Rgba32f - 162: TypePointer UniformConstant 161 - 163(g_tTex3df4): 162(ptr) Variable UniformConstant - 174: TypeImage 14(int) 3D nonsampled format:Rgba32i - 175: TypePointer UniformConstant 174 - 176(g_tTex3di4): 175(ptr) Variable UniformConstant - 186: TypeImage 6(int) 3D nonsampled format:Rgba32ui - 187: TypePointer UniformConstant 186 - 188(g_tTex3du4): 187(ptr) Variable UniformConstant - 197: TypeVector 9(float) 4 - 198(PS_OUTPUT): TypeStruct 197(fvec4) 9(float) - 199: TypePointer Function 198(PS_OUTPUT) - 201: 14(int) Constant 0 - 202: 9(float) Constant 1065353216 - 203: 197(fvec4) ConstantComposite 202 202 202 202 - 204: TypePointer Function 197(fvec4) - 206: 14(int) Constant 1 - 207: TypePointer Function 9(float) - 209: TypePointer Output 197(fvec4) - 210(Color): 209(ptr) Variable Output - 213: TypePointer Output 9(float) - 214(Depth): 213(ptr) Variable Output - 218: TypeSampler - 219: TypePointer UniformConstant 218 - 220(g_sSamp): 219(ptr) Variable UniformConstant - 221: TypeVector 14(int) 4 - 222($Global): TypeStruct 14(int) 60(ivec2) 127(ivec3) 221(ivec4) 14(int) 60(ivec2) 127(ivec3) 221(ivec4) - 223: TypePointer Uniform 222($Global) - 224: 223(ptr) Variable Uniform + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeImage 6(float) 1D nonsampled format:Rgba32f + 16: TypePointer UniformConstant 15 + 17(g_tTex1df4): 16(ptr) Variable UniformConstant + 23: TypeInt 32 1 + 24: TypeImage 23(int) 1D nonsampled format:Rgba32i + 25: TypePointer UniformConstant 24 + 26(g_tTex1di4): 25(ptr) Variable UniformConstant + 31: TypeImage 12(int) 1D nonsampled format:Rgba32ui + 32: TypePointer UniformConstant 31 + 33(g_tTex1du4): 32(ptr) Variable UniformConstant + 38: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 39: TypePointer UniformConstant 38 + 40(g_tBuffF): 39(ptr) Variable UniformConstant + 45: TypeImage 23(int) Buffer nonsampled format:Rgba32i + 46: TypePointer UniformConstant 45 + 47(g_tBuffI): 46(ptr) Variable UniformConstant + 52: TypeImage 12(int) Buffer nonsampled format:Rgba32ui + 53: TypePointer UniformConstant 52 + 54(g_tBuffU): 53(ptr) Variable UniformConstant + 58: TypeVector 12(int) 2 + 59: TypePointer Function 58(ivec2) + 61: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 62: TypePointer UniformConstant 61 + 63(g_tTex1df4a): 62(ptr) Variable UniformConstant + 66: 12(int) Constant 0 + 70: 12(int) Constant 1 + 74: TypeImage 23(int) 1D array nonsampled format:Rgba32i + 75: TypePointer UniformConstant 74 + 76(g_tTex1di4a): 75(ptr) Variable UniformConstant + 84: TypeImage 12(int) 1D array nonsampled format:Rgba32ui + 85: TypePointer UniformConstant 84 + 86(g_tTex1du4a): 85(ptr) Variable UniformConstant + 94: TypeImage 6(float) 2D nonsampled format:Rgba32f + 95: TypePointer UniformConstant 94 + 96(g_tTex2df4): 95(ptr) Variable UniformConstant + 105: TypeImage 23(int) 2D nonsampled format:Rgba32i + 106: TypePointer UniformConstant 105 + 107(g_tTex2di4): 106(ptr) Variable UniformConstant + 115: TypeImage 12(int) 2D nonsampled format:Rgba32ui + 116: TypePointer UniformConstant 115 + 117(g_tTex2du4): 116(ptr) Variable UniformConstant + 124: TypeVector 12(int) 3 + 125: TypePointer Function 124(ivec3) + 127: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 128: TypePointer UniformConstant 127 +129(g_tTex2df4a): 128(ptr) Variable UniformConstant + 136: 12(int) Constant 2 + 140: TypeImage 23(int) 2D array nonsampled format:Rgba32i + 141: TypePointer UniformConstant 140 +142(g_tTex2di4a): 141(ptr) Variable UniformConstant + 152: TypeImage 12(int) 2D array nonsampled format:Rgba32ui + 153: TypePointer UniformConstant 152 +154(g_tTex2du4a): 153(ptr) Variable UniformConstant + 164: TypeImage 6(float) 3D nonsampled format:Rgba32f + 165: TypePointer UniformConstant 164 + 166(g_tTex3df4): 165(ptr) Variable UniformConstant + 177: TypeImage 23(int) 3D nonsampled format:Rgba32i + 178: TypePointer UniformConstant 177 + 179(g_tTex3di4): 178(ptr) Variable UniformConstant + 189: TypeImage 12(int) 3D nonsampled format:Rgba32ui + 190: TypePointer UniformConstant 189 + 191(g_tTex3du4): 190(ptr) Variable UniformConstant + 200: TypePointer Function 8(PS_OUTPUT) + 202: 23(int) Constant 0 + 203: 6(float) Constant 1065353216 + 204: 7(fvec4) ConstantComposite 203 203 203 203 + 205: TypePointer Function 7(fvec4) + 207: 23(int) Constant 1 + 208: TypePointer Function 6(float) + 215: TypePointer Output 7(fvec4) + 216(Color): 215(ptr) Variable Output + 219: TypePointer Output 6(float) + 220(Depth): 219(ptr) Variable Output + 223: TypeSampler + 224: TypePointer UniformConstant 223 + 225(g_sSamp): 224(ptr) Variable UniformConstant + 226: TypeVector 23(int) 2 + 227: TypeVector 23(int) 3 + 228: TypeVector 23(int) 4 + 229($Global): TypeStruct 23(int) 226(ivec2) 227(ivec3) 228(ivec4) 23(int) 226(ivec2) 227(ivec3) 228(ivec4) + 230: TypePointer Uniform 229($Global) + 231: 230(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label -8(sizeQueryTemp): 7(ptr) Variable Function - 16(WidthU): 7(ptr) Variable Function -18(sizeQueryTemp): 7(ptr) Variable Function -25(sizeQueryTemp): 7(ptr) Variable Function -32(sizeQueryTemp): 7(ptr) Variable Function -39(sizeQueryTemp): 7(ptr) Variable Function -46(sizeQueryTemp): 7(ptr) Variable Function -55(sizeQueryTemp): 54(ptr) Variable Function - 65(ElementsU): 7(ptr) Variable Function -69(sizeQueryTemp): 54(ptr) Variable Function -79(sizeQueryTemp): 54(ptr) Variable Function -89(sizeQueryTemp): 54(ptr) Variable Function - 97(HeightU): 7(ptr) Variable Function -100(sizeQueryTemp): 54(ptr) Variable Function -110(sizeQueryTemp): 54(ptr) Variable Function -122(sizeQueryTemp): 121(ptr) Variable Function -136(sizeQueryTemp): 121(ptr) Variable Function -148(sizeQueryTemp): 121(ptr) Variable Function -160(sizeQueryTemp): 121(ptr) Variable Function - 170(DepthU): 7(ptr) Variable Function -173(sizeQueryTemp): 121(ptr) Variable Function -185(sizeQueryTemp): 121(ptr) Variable Function - 200(psout): 199(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 15: 14(int) ImageQuerySize 13 - Store 8(sizeQueryTemp) 15 - 17: 6(int) Load 8(sizeQueryTemp) - Store 16(WidthU) 17 - 22: 19 Load 21(g_tTex1di4) - 23: 14(int) ImageQuerySize 22 - Store 18(sizeQueryTemp) 23 - 24: 6(int) Load 18(sizeQueryTemp) - Store 16(WidthU) 24 - 29: 26 Load 28(g_tTex1du4) - 30: 14(int) ImageQuerySize 29 - Store 25(sizeQueryTemp) 30 - 31: 6(int) Load 25(sizeQueryTemp) - Store 16(WidthU) 31 - 36: 33 Load 35(g_tBuffF) - 37: 14(int) ImageQuerySize 36 - Store 32(sizeQueryTemp) 37 - 38: 6(int) Load 32(sizeQueryTemp) - Store 16(WidthU) 38 - 43: 40 Load 42(g_tBuffI) - 44: 14(int) ImageQuerySize 43 - Store 39(sizeQueryTemp) 44 - 45: 6(int) Load 39(sizeQueryTemp) - Store 16(WidthU) 45 - 50: 47 Load 49(g_tBuffU) - 51: 14(int) ImageQuerySize 50 - Store 46(sizeQueryTemp) 51 - 52: 6(int) Load 46(sizeQueryTemp) - Store 16(WidthU) 52 - 59: 56 Load 58(g_tTex1df4a) - 61: 60(ivec2) ImageQuerySize 59 - Store 55(sizeQueryTemp) 61 - 63: 7(ptr) AccessChain 55(sizeQueryTemp) 62 - 64: 6(int) Load 63 - Store 16(WidthU) 64 - 67: 7(ptr) AccessChain 55(sizeQueryTemp) 66 - 68: 6(int) Load 67 - Store 65(ElementsU) 68 - 73: 70 Load 72(g_tTex1di4a) - 74: 60(ivec2) ImageQuerySize 73 - Store 69(sizeQueryTemp) 74 - 75: 7(ptr) AccessChain 69(sizeQueryTemp) 62 - 76: 6(int) Load 75 - Store 16(WidthU) 76 - 77: 7(ptr) AccessChain 69(sizeQueryTemp) 66 - 78: 6(int) Load 77 - Store 65(ElementsU) 78 - 83: 80 Load 82(g_tTex1du4a) - 84: 60(ivec2) ImageQuerySize 83 - Store 79(sizeQueryTemp) 84 - 85: 7(ptr) AccessChain 79(sizeQueryTemp) 62 - 86: 6(int) Load 85 - Store 16(WidthU) 86 - 87: 7(ptr) AccessChain 79(sizeQueryTemp) 66 - 88: 6(int) Load 87 - Store 65(ElementsU) 88 - 93: 90 Load 92(g_tTex2df4) - 94: 60(ivec2) ImageQuerySize 93 - Store 89(sizeQueryTemp) 94 - 95: 7(ptr) AccessChain 89(sizeQueryTemp) 62 - 96: 6(int) Load 95 - Store 16(WidthU) 96 - 98: 7(ptr) AccessChain 89(sizeQueryTemp) 66 - 99: 6(int) Load 98 - Store 97(HeightU) 99 - 104: 101 Load 103(g_tTex2di4) - 105: 60(ivec2) ImageQuerySize 104 - Store 100(sizeQueryTemp) 105 - 106: 7(ptr) AccessChain 100(sizeQueryTemp) 62 - 107: 6(int) Load 106 - Store 16(WidthU) 107 - 108: 7(ptr) AccessChain 100(sizeQueryTemp) 66 - 109: 6(int) Load 108 - Store 97(HeightU) 109 - 114: 111 Load 113(g_tTex2du4) - 115: 60(ivec2) ImageQuerySize 114 - Store 110(sizeQueryTemp) 115 - 116: 7(ptr) AccessChain 110(sizeQueryTemp) 62 - 117: 6(int) Load 116 - Store 16(WidthU) 117 - 118: 7(ptr) AccessChain 110(sizeQueryTemp) 66 - 119: 6(int) Load 118 - Store 97(HeightU) 119 - 126: 123 Load 125(g_tTex2df4a) - 128: 127(ivec3) ImageQuerySize 126 - Store 122(sizeQueryTemp) 128 - 129: 7(ptr) AccessChain 122(sizeQueryTemp) 62 - 130: 6(int) Load 129 - Store 16(WidthU) 130 - 131: 7(ptr) AccessChain 122(sizeQueryTemp) 66 - 132: 6(int) Load 131 - Store 97(HeightU) 132 - 134: 7(ptr) AccessChain 122(sizeQueryTemp) 133 - 135: 6(int) Load 134 - Store 65(ElementsU) 135 - 140: 137 Load 139(g_tTex2di4a) - 141: 127(ivec3) ImageQuerySize 140 - Store 136(sizeQueryTemp) 141 - 142: 7(ptr) AccessChain 136(sizeQueryTemp) 62 - 143: 6(int) Load 142 - Store 16(WidthU) 143 - 144: 7(ptr) AccessChain 136(sizeQueryTemp) 66 - 145: 6(int) Load 144 - Store 97(HeightU) 145 - 146: 7(ptr) AccessChain 136(sizeQueryTemp) 133 - 147: 6(int) Load 146 - Store 65(ElementsU) 147 - 152: 149 Load 151(g_tTex2du4a) - 153: 127(ivec3) ImageQuerySize 152 - Store 148(sizeQueryTemp) 153 - 154: 7(ptr) AccessChain 148(sizeQueryTemp) 62 - 155: 6(int) Load 154 - Store 16(WidthU) 155 - 156: 7(ptr) AccessChain 148(sizeQueryTemp) 66 - 157: 6(int) Load 156 - Store 97(HeightU) 157 - 158: 7(ptr) AccessChain 148(sizeQueryTemp) 133 - 159: 6(int) Load 158 - Store 65(ElementsU) 159 - 164: 161 Load 163(g_tTex3df4) - 165: 127(ivec3) ImageQuerySize 164 - Store 160(sizeQueryTemp) 165 - 166: 7(ptr) AccessChain 160(sizeQueryTemp) 62 - 167: 6(int) Load 166 - Store 16(WidthU) 167 - 168: 7(ptr) AccessChain 160(sizeQueryTemp) 66 - 169: 6(int) Load 168 - Store 97(HeightU) 169 - 171: 7(ptr) AccessChain 160(sizeQueryTemp) 133 - 172: 6(int) Load 171 - Store 170(DepthU) 172 - 177: 174 Load 176(g_tTex3di4) - 178: 127(ivec3) ImageQuerySize 177 - Store 173(sizeQueryTemp) 178 - 179: 7(ptr) AccessChain 173(sizeQueryTemp) 62 - 180: 6(int) Load 179 - Store 16(WidthU) 180 - 181: 7(ptr) AccessChain 173(sizeQueryTemp) 66 - 182: 6(int) Load 181 - Store 97(HeightU) 182 - 183: 7(ptr) AccessChain 173(sizeQueryTemp) 133 - 184: 6(int) Load 183 - Store 170(DepthU) 184 - 189: 186 Load 188(g_tTex3du4) - 190: 127(ivec3) ImageQuerySize 189 - Store 185(sizeQueryTemp) 190 - 191: 7(ptr) AccessChain 185(sizeQueryTemp) 62 - 192: 6(int) Load 191 - Store 16(WidthU) 192 - 193: 7(ptr) AccessChain 185(sizeQueryTemp) 66 - 194: 6(int) Load 193 - Store 97(HeightU) 194 - 195: 7(ptr) AccessChain 185(sizeQueryTemp) 133 - 196: 6(int) Load 195 - Store 170(DepthU) 196 - 205: 204(ptr) AccessChain 200(psout) 201 - Store 205 203 - 208: 207(ptr) AccessChain 200(psout) 206 - Store 208 202 - 211: 204(ptr) AccessChain 200(psout) 201 - 212: 197(fvec4) Load 211 - Store 210(Color) 212 - 215: 207(ptr) AccessChain 200(psout) 206 - 216: 9(float) Load 215 - Store 214(Depth) 216 +213(flattenTemp): 200(ptr) Variable Function + 214:8(PS_OUTPUT) FunctionCall 10(@main() + Store 213(flattenTemp) 214 + 217: 205(ptr) AccessChain 213(flattenTemp) 202 + 218: 7(fvec4) Load 217 + Store 216(Color) 218 + 221: 208(ptr) AccessChain 213(flattenTemp) 207 + 222: 6(float) Load 221 + Store 220(Depth) 222 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +14(sizeQueryTemp): 13(ptr) Variable Function + 20(WidthU): 13(ptr) Variable Function +22(sizeQueryTemp): 13(ptr) Variable Function +30(sizeQueryTemp): 13(ptr) Variable Function +37(sizeQueryTemp): 13(ptr) Variable Function +44(sizeQueryTemp): 13(ptr) Variable Function +51(sizeQueryTemp): 13(ptr) Variable Function +60(sizeQueryTemp): 59(ptr) Variable Function + 69(ElementsU): 13(ptr) Variable Function +73(sizeQueryTemp): 59(ptr) Variable Function +83(sizeQueryTemp): 59(ptr) Variable Function +93(sizeQueryTemp): 59(ptr) Variable Function + 101(HeightU): 13(ptr) Variable Function +104(sizeQueryTemp): 59(ptr) Variable Function +114(sizeQueryTemp): 59(ptr) Variable Function +126(sizeQueryTemp): 125(ptr) Variable Function +139(sizeQueryTemp): 125(ptr) Variable Function +151(sizeQueryTemp): 125(ptr) Variable Function +163(sizeQueryTemp): 125(ptr) Variable Function + 173(DepthU): 13(ptr) Variable Function +176(sizeQueryTemp): 125(ptr) Variable Function +188(sizeQueryTemp): 125(ptr) Variable Function + 201(psout): 200(ptr) Variable Function + 18: 15 Load 17(g_tTex1df4) + 19: 12(int) ImageQuerySize 18 + Store 14(sizeQueryTemp) 19 + 21: 12(int) Load 14(sizeQueryTemp) + Store 20(WidthU) 21 + 27: 24 Load 26(g_tTex1di4) + 28: 12(int) ImageQuerySize 27 + Store 22(sizeQueryTemp) 28 + 29: 12(int) Load 22(sizeQueryTemp) + Store 20(WidthU) 29 + 34: 31 Load 33(g_tTex1du4) + 35: 12(int) ImageQuerySize 34 + Store 30(sizeQueryTemp) 35 + 36: 12(int) Load 30(sizeQueryTemp) + Store 20(WidthU) 36 + 41: 38 Load 40(g_tBuffF) + 42: 12(int) ImageQuerySize 41 + Store 37(sizeQueryTemp) 42 + 43: 12(int) Load 37(sizeQueryTemp) + Store 20(WidthU) 43 + 48: 45 Load 47(g_tBuffI) + 49: 12(int) ImageQuerySize 48 + Store 44(sizeQueryTemp) 49 + 50: 12(int) Load 44(sizeQueryTemp) + Store 20(WidthU) 50 + 55: 52 Load 54(g_tBuffU) + 56: 12(int) ImageQuerySize 55 + Store 51(sizeQueryTemp) 56 + 57: 12(int) Load 51(sizeQueryTemp) + Store 20(WidthU) 57 + 64: 61 Load 63(g_tTex1df4a) + 65: 58(ivec2) ImageQuerySize 64 + Store 60(sizeQueryTemp) 65 + 67: 13(ptr) AccessChain 60(sizeQueryTemp) 66 + 68: 12(int) Load 67 + Store 20(WidthU) 68 + 71: 13(ptr) AccessChain 60(sizeQueryTemp) 70 + 72: 12(int) Load 71 + Store 69(ElementsU) 72 + 77: 74 Load 76(g_tTex1di4a) + 78: 58(ivec2) ImageQuerySize 77 + Store 73(sizeQueryTemp) 78 + 79: 13(ptr) AccessChain 73(sizeQueryTemp) 66 + 80: 12(int) Load 79 + Store 20(WidthU) 80 + 81: 13(ptr) AccessChain 73(sizeQueryTemp) 70 + 82: 12(int) Load 81 + Store 69(ElementsU) 82 + 87: 84 Load 86(g_tTex1du4a) + 88: 58(ivec2) ImageQuerySize 87 + Store 83(sizeQueryTemp) 88 + 89: 13(ptr) AccessChain 83(sizeQueryTemp) 66 + 90: 12(int) Load 89 + Store 20(WidthU) 90 + 91: 13(ptr) AccessChain 83(sizeQueryTemp) 70 + 92: 12(int) Load 91 + Store 69(ElementsU) 92 + 97: 94 Load 96(g_tTex2df4) + 98: 58(ivec2) ImageQuerySize 97 + Store 93(sizeQueryTemp) 98 + 99: 13(ptr) AccessChain 93(sizeQueryTemp) 66 + 100: 12(int) Load 99 + Store 20(WidthU) 100 + 102: 13(ptr) AccessChain 93(sizeQueryTemp) 70 + 103: 12(int) Load 102 + Store 101(HeightU) 103 + 108: 105 Load 107(g_tTex2di4) + 109: 58(ivec2) ImageQuerySize 108 + Store 104(sizeQueryTemp) 109 + 110: 13(ptr) AccessChain 104(sizeQueryTemp) 66 + 111: 12(int) Load 110 + Store 20(WidthU) 111 + 112: 13(ptr) AccessChain 104(sizeQueryTemp) 70 + 113: 12(int) Load 112 + Store 101(HeightU) 113 + 118: 115 Load 117(g_tTex2du4) + 119: 58(ivec2) ImageQuerySize 118 + Store 114(sizeQueryTemp) 119 + 120: 13(ptr) AccessChain 114(sizeQueryTemp) 66 + 121: 12(int) Load 120 + Store 20(WidthU) 121 + 122: 13(ptr) AccessChain 114(sizeQueryTemp) 70 + 123: 12(int) Load 122 + Store 101(HeightU) 123 + 130: 127 Load 129(g_tTex2df4a) + 131: 124(ivec3) ImageQuerySize 130 + Store 126(sizeQueryTemp) 131 + 132: 13(ptr) AccessChain 126(sizeQueryTemp) 66 + 133: 12(int) Load 132 + Store 20(WidthU) 133 + 134: 13(ptr) AccessChain 126(sizeQueryTemp) 70 + 135: 12(int) Load 134 + Store 101(HeightU) 135 + 137: 13(ptr) AccessChain 126(sizeQueryTemp) 136 + 138: 12(int) Load 137 + Store 69(ElementsU) 138 + 143: 140 Load 142(g_tTex2di4a) + 144: 124(ivec3) ImageQuerySize 143 + Store 139(sizeQueryTemp) 144 + 145: 13(ptr) AccessChain 139(sizeQueryTemp) 66 + 146: 12(int) Load 145 + Store 20(WidthU) 146 + 147: 13(ptr) AccessChain 139(sizeQueryTemp) 70 + 148: 12(int) Load 147 + Store 101(HeightU) 148 + 149: 13(ptr) AccessChain 139(sizeQueryTemp) 136 + 150: 12(int) Load 149 + Store 69(ElementsU) 150 + 155: 152 Load 154(g_tTex2du4a) + 156: 124(ivec3) ImageQuerySize 155 + Store 151(sizeQueryTemp) 156 + 157: 13(ptr) AccessChain 151(sizeQueryTemp) 66 + 158: 12(int) Load 157 + Store 20(WidthU) 158 + 159: 13(ptr) AccessChain 151(sizeQueryTemp) 70 + 160: 12(int) Load 159 + Store 101(HeightU) 160 + 161: 13(ptr) AccessChain 151(sizeQueryTemp) 136 + 162: 12(int) Load 161 + Store 69(ElementsU) 162 + 167: 164 Load 166(g_tTex3df4) + 168: 124(ivec3) ImageQuerySize 167 + Store 163(sizeQueryTemp) 168 + 169: 13(ptr) AccessChain 163(sizeQueryTemp) 66 + 170: 12(int) Load 169 + Store 20(WidthU) 170 + 171: 13(ptr) AccessChain 163(sizeQueryTemp) 70 + 172: 12(int) Load 171 + Store 101(HeightU) 172 + 174: 13(ptr) AccessChain 163(sizeQueryTemp) 136 + 175: 12(int) Load 174 + Store 173(DepthU) 175 + 180: 177 Load 179(g_tTex3di4) + 181: 124(ivec3) ImageQuerySize 180 + Store 176(sizeQueryTemp) 181 + 182: 13(ptr) AccessChain 176(sizeQueryTemp) 66 + 183: 12(int) Load 182 + Store 20(WidthU) 183 + 184: 13(ptr) AccessChain 176(sizeQueryTemp) 70 + 185: 12(int) Load 184 + Store 101(HeightU) 185 + 186: 13(ptr) AccessChain 176(sizeQueryTemp) 136 + 187: 12(int) Load 186 + Store 173(DepthU) 187 + 192: 189 Load 191(g_tTex3du4) + 193: 124(ivec3) ImageQuerySize 192 + Store 188(sizeQueryTemp) 193 + 194: 13(ptr) AccessChain 188(sizeQueryTemp) 66 + 195: 12(int) Load 194 + Store 20(WidthU) 195 + 196: 13(ptr) AccessChain 188(sizeQueryTemp) 70 + 197: 12(int) Load 196 + Store 101(HeightU) 197 + 198: 13(ptr) AccessChain 188(sizeQueryTemp) 136 + 199: 12(int) Load 198 + Store 173(DepthU) 199 + 206: 205(ptr) AccessChain 201(psout) 202 + Store 206 204 + 209: 208(ptr) AccessChain 201(psout) 207 + Store 209 203 + 210:8(PS_OUTPUT) Load 201(psout) + ReturnValue 210 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index 5985eadc1f4..57097a410f9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -7,28 +7,28 @@ ERROR: 2 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:13 Function Parameters: 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp 2-component vector of float) -0:16 'r00' (temp 2-component vector of float) +0:16 move second child to first child ( temp 2-component vector of float) +0:16 'r00' ( temp 2-component vector of float) 0:16 ERROR: Bad aggregation op - (temp 2-component vector of float) -0:16 'g_tTex2dmsf4' (uniform texture2DMS) + ( temp 2-component vector of float) +0:16 'g_tTex2dmsf4' ( uniform texture2DMS) 0:16 Constant: 0:16 1 (const int) 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 'r01' (temp 2-component vector of float) +0:17 move second child to first child ( temp 2-component vector of float) +0:17 'r01' ( temp 2-component vector of float) 0:17 ERROR: Bad aggregation op - (temp 2-component vector of float) -0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) + ( temp 2-component vector of float) +0:17 'g_tTex2dmsf4a' ( uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) -0:19 move second child to first child (temp 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 Color: direct index for structure ( temp 4-component vector of float) +0:19 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: @@ -36,34 +36,40 @@ ERROR: node is still EOpNull! 0:19 1.000000 0:19 1.000000 0:19 1.000000 -0:20 move second child to first child (temp float) -0:20 Depth: direct index for structure (temp float) -0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp float) +0:20 Depth: direct index for structure ( temp float) +0:20 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 1 (const int) -0:22 Branch: Return +0:22 Branch: Return with expression +0:22 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:13 Color: direct index for structure ( temp 4-component vector of float) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:13 Depth: direct index for structure ( temp float) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -72,28 +78,28 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:13 Function Parameters: 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp 2-component vector of float) -0:16 'r00' (temp 2-component vector of float) +0:16 move second child to first child ( temp 2-component vector of float) +0:16 'r00' ( temp 2-component vector of float) 0:16 ERROR: Bad aggregation op - (temp 2-component vector of float) -0:16 'g_tTex2dmsf4' (uniform texture2DMS) + ( temp 2-component vector of float) +0:16 'g_tTex2dmsf4' ( uniform texture2DMS) 0:16 Constant: 0:16 1 (const int) 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of float) -0:17 'r01' (temp 2-component vector of float) +0:17 move second child to first child ( temp 2-component vector of float) +0:17 'r01' ( temp 2-component vector of float) 0:17 ERROR: Bad aggregation op - (temp 2-component vector of float) -0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) + ( temp 2-component vector of float) +0:17 'g_tTex2dmsf4a' ( uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) -0:19 move second child to first child (temp 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 Color: direct index for structure ( temp 4-component vector of float) +0:19 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: @@ -101,33 +107,39 @@ ERROR: node is still EOpNull! 0:19 1.000000 0:19 1.000000 0:19 1.000000 -0:20 move second child to first child (temp float) -0:20 Depth: direct index for structure (temp float) -0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp float) +0:20 Depth: direct index for structure ( temp float) +0:20 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 1.000000 -0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:22 Constant: -0:22 1 (const int) -0:22 Branch: Return +0:22 Branch: Return with expression +0:22 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:13 Color: direct index for structure ( temp 4-component vector of float) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 0 (const int) +0:13 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:13 Depth: direct index for structure ( temp float) +0:13 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:13 Constant: +0:13 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out new file mode 100644 index 00000000000..89ab4e63394 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.1.tesc.out @@ -0,0 +1,359 @@ +hlsl.hull.1.tesc +Shader version: 450 +vertices = 4 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 'm_cpid' ( in uint) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp uint) +0:? 'm_cpid' ( temp uint) +0:? 'm_cpid' ( in uint InvocationID) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'm_cpid' ( temp uint) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'm_cpid' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges}) +0:? 'pid' ( in uint PrimitiveID) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:33 Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges}) +0:33 Function Parameters: +0:33 'pid' ( in uint) +0:? Sequence +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 edges: direct index for structure ( temp 2-element array of float) +0:36 'output' ( temp structure{ temp 2-element array of float edges}) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 2.000000 +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 edges: direct index for structure ( temp 2-element array of float) +0:37 'output' ( temp structure{ temp 2-element array of float edges}) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 1 (const int) +0:37 Constant: +0:37 8.000000 +0:38 Branch: Return with expression +0:38 'output' ( temp structure{ temp 2-element array of float edges}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'm_cpid' ( in uint InvocationID) +0:? 'pid' ( in uint PrimitiveID) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) + + +Linked tessellation control stage: + + +Shader version: 450 +vertices = 4 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 'm_cpid' ( in uint) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp uint) +0:? 'm_cpid' ( temp uint) +0:? 'm_cpid' ( in uint InvocationID) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'm_cpid' ( temp uint) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'm_cpid' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges}) +0:? 'pid' ( in uint PrimitiveID) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:33 Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges}) +0:33 Function Parameters: +0:33 'pid' ( in uint) +0:? Sequence +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 edges: direct index for structure ( temp 2-element array of float) +0:36 'output' ( temp structure{ temp 2-element array of float edges}) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 2.000000 +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 edges: direct index for structure ( temp 2-element array of float) +0:37 'output' ( temp structure{ temp 2-element array of float edges}) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 1 (const int) +0:37 Constant: +0:37 8.000000 +0:38 Branch: Return with expression +0:38 'output' ( temp structure{ temp 2-element array of float edges}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'm_cpid' ( in uint InvocationID) +0:? 'pid' ( in uint PrimitiveID) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 85 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 40 44 47 62 67 + ExecutionMode 4 OutputVertices 4 + Name 4 "main" + Name 8 "VS_OUT" + MemberName 8(VS_OUT) 0 "cpoint" + Name 14 "HS_OUT" + MemberName 14(HS_OUT) 0 "cpoint" + Name 18 "@main(struct-VS_OUT-vf31[4];u1;" + Name 16 "ip" + Name 17 "m_cpid" + Name 22 "HS_CONSTANT_OUT" + MemberName 22(HS_CONSTANT_OUT) 0 "edges" + Name 25 "PCF(u1;" + Name 24 "pid" + Name 28 "output" + Name 38 "ip" + Name 40 "ip" + Name 42 "m_cpid" + Name 44 "m_cpid" + Name 47 "@entryPointOutput" + Name 48 "param" + Name 50 "param" + Name 61 "@patchConstantResult" + Name 62 "pid" + Name 63 "param" + Name 67 "@patchConstantOutput_edges" + Name 77 "output" + Decorate 40(ip) Location 0 + Decorate 44(m_cpid) BuiltIn InvocationId + Decorate 47(@entryPointOutput) Location 0 + Decorate 62(pid) BuiltIn PrimitiveId + Decorate 67(@patchConstantOutput_edges) BuiltIn TessLevelOuter + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 3 + 8(VS_OUT): TypeStruct 7(fvec3) + 9: TypeInt 32 0 + 10: 9(int) Constant 4 + 11: TypeArray 8(VS_OUT) 10 + 12: TypePointer Function 11 + 13: TypePointer Function 9(int) + 14(HS_OUT): TypeStruct 7(fvec3) + 15: TypeFunction 14(HS_OUT) 12(ptr) 13(ptr) + 20: 9(int) Constant 2 + 21: TypeArray 6(float) 20 +22(HS_CONSTANT_OUT): TypeStruct 21 + 23: TypeFunction 22(HS_CONSTANT_OUT) 13(ptr) + 27: TypePointer Function 14(HS_OUT) + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 31: TypePointer Function 7(fvec3) + 39: TypePointer Input 11 + 40(ip): 39(ptr) Variable Input + 43: TypePointer Input 9(int) + 44(m_cpid): 43(ptr) Variable Input + 46: TypePointer Output 14(HS_OUT) +47(@entryPointOutput): 46(ptr) Variable Output + 53: 9(int) Constant 1 + 54: 9(int) Constant 0 + 56: TypeBool + 60: TypePointer Function 22(HS_CONSTANT_OUT) + 62(pid): 43(ptr) Variable Input + 66: TypePointer Output 21 +67(@patchConstantOutput_edges): 66(ptr) Variable Output + 68: TypePointer Function 6(float) + 71: TypePointer Output 6(float) + 73: 29(int) Constant 1 + 78: 6(float) Constant 1073741824 + 80: 6(float) Constant 1090519040 + 4(main): 2 Function None 3 + 5: Label + 38(ip): 12(ptr) Variable Function + 42(m_cpid): 13(ptr) Variable Function + 48(param): 12(ptr) Variable Function + 50(param): 13(ptr) Variable Function +61(@patchConstantResult): 60(ptr) Variable Function + 63(param): 13(ptr) Variable Function + 41: 11 Load 40(ip) + Store 38(ip) 41 + 45: 9(int) Load 44(m_cpid) + Store 42(m_cpid) 45 + 49: 11 Load 38(ip) + Store 48(param) 49 + 51: 9(int) Load 42(m_cpid) + Store 50(param) 51 + 52: 14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 48(param) 50(param) + Store 47(@entryPointOutput) 52 + ControlBarrier 20 53 54 + 55: 9(int) Load 44(m_cpid) + 57: 56(bool) IEqual 55 30 + SelectionMerge 59 None + BranchConditional 57 58 59 + 58: Label + 64: 9(int) Load 62(pid) + Store 63(param) 64 + 65:22(HS_CONSTANT_OUT) FunctionCall 25(PCF(u1;) 63(param) + Store 61(@patchConstantResult) 65 + 69: 68(ptr) AccessChain 61(@patchConstantResult) 30 30 + 70: 6(float) Load 69 + 72: 71(ptr) AccessChain 67(@patchConstantOutput_edges) 30 + Store 72 70 + 74: 68(ptr) AccessChain 61(@patchConstantResult) 30 73 + 75: 6(float) Load 74 + 76: 71(ptr) AccessChain 67(@patchConstantOutput_edges) 73 + Store 76 75 + Branch 59 + 59: Label + Return + FunctionEnd +18(@main(struct-VS_OUT-vf31[4];u1;): 14(HS_OUT) Function None 15 + 16(ip): 12(ptr) FunctionParameter + 17(m_cpid): 13(ptr) FunctionParameter + 19: Label + 28(output): 27(ptr) Variable Function + 32: 31(ptr) AccessChain 16(ip) 30 30 + 33: 7(fvec3) Load 32 + 34: 31(ptr) AccessChain 28(output) 30 + Store 34 33 + 35: 14(HS_OUT) Load 28(output) + ReturnValue 35 + FunctionEnd + 25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23 + 24(pid): 13(ptr) FunctionParameter + 26: Label + 77(output): 60(ptr) Variable Function + 79: 68(ptr) AccessChain 77(output) 30 30 + Store 79 78 + 81: 68(ptr) AccessChain 77(output) 30 73 + Store 81 80 + 82:22(HS_CONSTANT_OUT) Load 77(output) + ReturnValue 82 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out new file mode 100644 index 00000000000..9d848c61b92 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.2.tesc.out @@ -0,0 +1,357 @@ +hlsl.hull.2.tesc +Shader version: 450 +vertices = 4 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'InvocationId' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) +0:? 'pid' ( in uint PrimitiveID) +0:? 'pos' ( in 4-component vector of float Position) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) +0:33 Function Parameters: +0:33 'pid' ( in uint) +0:33 'pos' ( in 4-component vector of float) +0:? Sequence +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 edges: direct index for structure ( temp 2-element array of float) +0:36 'output' ( temp structure{ temp 2-element array of float edges}) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 2.000000 +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 edges: direct index for structure ( temp 2-element array of float) +0:37 'output' ( temp structure{ temp 2-element array of float edges}) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 1 (const int) +0:37 Constant: +0:37 8.000000 +0:38 Branch: Return with expression +0:38 'output' ( temp structure{ temp 2-element array of float edges}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'pid' ( in uint PrimitiveID) +0:? 'pos' ( in 4-component vector of float Position) +0:? 'InvocationId' ( in uint InvocationID) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) + + +Linked tessellation control stage: + + +Shader version: 450 +vertices = 4 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'InvocationId' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Sequence +0:? move second child to first child ( temp structure{ temp 2-element array of float edges}) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Function Call: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) +0:? 'pid' ( in uint PrimitiveID) +0:? 'pos' ( in 4-component vector of float Position) +0:? Sequence +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 0 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 0 (const int) +0:? move second child to first child ( temp float) +0:? direct index ( out float TessLevelOuter) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) +0:? Constant: +0:? 1 (const int) +0:? direct index ( temp float) +0:? edges: direct index for structure ( temp 2-element array of float) +0:? '@patchConstantResult' ( temp structure{ temp 2-element array of float edges}) +0:? Constant: +0:? 0 (const int) +0:? Constant: +0:? 1 (const int) +0:33 Function Definition: PCF(u1;vf4; ( temp structure{ temp 2-element array of float edges}) +0:33 Function Parameters: +0:33 'pid' ( in uint) +0:33 'pos' ( in 4-component vector of float) +0:? Sequence +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 edges: direct index for structure ( temp 2-element array of float) +0:36 'output' ( temp structure{ temp 2-element array of float edges}) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 0 (const int) +0:36 Constant: +0:36 2.000000 +0:37 move second child to first child ( temp float) +0:37 direct index ( temp float) +0:37 edges: direct index for structure ( temp 2-element array of float) +0:37 'output' ( temp structure{ temp 2-element array of float edges}) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 1 (const int) +0:37 Constant: +0:37 8.000000 +0:38 Branch: Return with expression +0:38 'output' ( temp structure{ temp 2-element array of float edges}) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'pid' ( in uint PrimitiveID) +0:? 'pos' ( in 4-component vector of float Position) +0:? 'InvocationId' ( in uint InvocationID) +0:? '@patchConstantOutput_edges' ( out 2-element array of float TessLevelOuter) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 87 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 42 45 52 60 62 69 + ExecutionMode 4 OutputVertices 4 + Name 4 "main" + Name 8 "VS_OUT" + MemberName 8(VS_OUT) 0 "cpoint" + Name 13 "HS_OUT" + MemberName 13(HS_OUT) 0 "cpoint" + Name 16 "@main(struct-VS_OUT-vf31[4];" + Name 15 "ip" + Name 23 "HS_CONSTANT_OUT" + MemberName 23(HS_CONSTANT_OUT) 0 "edges" + Name 27 "PCF(u1;vf4;" + Name 25 "pid" + Name 26 "pos" + Name 30 "output" + Name 40 "ip" + Name 42 "ip" + Name 45 "@entryPointOutput" + Name 46 "param" + Name 52 "InvocationId" + Name 59 "@patchConstantResult" + Name 60 "pid" + Name 62 "pos" + Name 63 "param" + Name 65 "param" + Name 69 "@patchConstantOutput_edges" + Name 79 "output" + Decorate 42(ip) Location 0 + Decorate 45(@entryPointOutput) Location 0 + Decorate 52(InvocationId) BuiltIn InvocationId + Decorate 60(pid) BuiltIn PrimitiveId + Decorate 62(pos) BuiltIn Position + Decorate 69(@patchConstantOutput_edges) BuiltIn TessLevelOuter + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 3 + 8(VS_OUT): TypeStruct 7(fvec3) + 9: TypeInt 32 0 + 10: 9(int) Constant 4 + 11: TypeArray 8(VS_OUT) 10 + 12: TypePointer Function 11 + 13(HS_OUT): TypeStruct 7(fvec3) + 14: TypeFunction 13(HS_OUT) 12(ptr) + 18: TypePointer Function 9(int) + 19: TypeVector 6(float) 4 + 20: TypePointer Function 19(fvec4) + 21: 9(int) Constant 2 + 22: TypeArray 6(float) 21 +23(HS_CONSTANT_OUT): TypeStruct 22 + 24: TypeFunction 23(HS_CONSTANT_OUT) 18(ptr) 20(ptr) + 29: TypePointer Function 13(HS_OUT) + 31: TypeInt 32 1 + 32: 31(int) Constant 0 + 33: TypePointer Function 7(fvec3) + 41: TypePointer Input 11 + 42(ip): 41(ptr) Variable Input + 44: TypePointer Output 13(HS_OUT) +45(@entryPointOutput): 44(ptr) Variable Output + 49: 9(int) Constant 1 + 50: 9(int) Constant 0 + 51: TypePointer Input 9(int) +52(InvocationId): 51(ptr) Variable Input + 54: TypeBool + 58: TypePointer Function 23(HS_CONSTANT_OUT) + 60(pid): 51(ptr) Variable Input + 61: TypePointer Input 19(fvec4) + 62(pos): 61(ptr) Variable Input + 68: TypePointer Output 22 +69(@patchConstantOutput_edges): 68(ptr) Variable Output + 70: TypePointer Function 6(float) + 73: TypePointer Output 6(float) + 75: 31(int) Constant 1 + 80: 6(float) Constant 1073741824 + 82: 6(float) Constant 1090519040 + 4(main): 2 Function None 3 + 5: Label + 40(ip): 12(ptr) Variable Function + 46(param): 12(ptr) Variable Function +59(@patchConstantResult): 58(ptr) Variable Function + 63(param): 18(ptr) Variable Function + 65(param): 20(ptr) Variable Function + 43: 11 Load 42(ip) + Store 40(ip) 43 + 47: 11 Load 40(ip) + Store 46(param) 47 + 48: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[4];) 46(param) + Store 45(@entryPointOutput) 48 + ControlBarrier 21 49 50 + 53: 9(int) Load 52(InvocationId) + 55: 54(bool) IEqual 53 32 + SelectionMerge 57 None + BranchConditional 55 56 57 + 56: Label + 64: 9(int) Load 60(pid) + Store 63(param) 64 + 66: 19(fvec4) Load 62(pos) + Store 65(param) 66 + 67:23(HS_CONSTANT_OUT) FunctionCall 27(PCF(u1;vf4;) 63(param) 65(param) + Store 59(@patchConstantResult) 67 + 71: 70(ptr) AccessChain 59(@patchConstantResult) 32 32 + 72: 6(float) Load 71 + 74: 73(ptr) AccessChain 69(@patchConstantOutput_edges) 32 + Store 74 72 + 76: 70(ptr) AccessChain 59(@patchConstantResult) 32 75 + 77: 6(float) Load 76 + 78: 73(ptr) AccessChain 69(@patchConstantOutput_edges) 75 + Store 78 77 + Branch 57 + 57: Label + Return + FunctionEnd +16(@main(struct-VS_OUT-vf31[4];): 13(HS_OUT) Function None 14 + 15(ip): 12(ptr) FunctionParameter + 17: Label + 30(output): 29(ptr) Variable Function + 34: 33(ptr) AccessChain 15(ip) 32 32 + 35: 7(fvec3) Load 34 + 36: 33(ptr) AccessChain 30(output) 32 + Store 36 35 + 37: 13(HS_OUT) Load 30(output) + ReturnValue 37 + FunctionEnd + 27(PCF(u1;vf4;):23(HS_CONSTANT_OUT) Function None 24 + 25(pid): 18(ptr) FunctionParameter + 26(pos): 20(ptr) FunctionParameter + 28: Label + 79(output): 58(ptr) Variable Function + 81: 70(ptr) AccessChain 79(output) 32 32 + Store 81 80 + 83: 70(ptr) AccessChain 79(output) 32 75 + Store 83 82 + 84:23(HS_CONSTANT_OUT) Load 79(output) + ReturnValue 84 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out new file mode 100644 index 00000000000..a2d0a1c7420 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.hull.void.tesc.out @@ -0,0 +1,186 @@ +hlsl.hull.void.tesc +Shader version: 450 +vertices = 3 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'InvocationId' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Function Call: PCF( ( temp void) +0:33 Function Definition: PCF( ( temp void) +0:33 Function Parameters: +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'InvocationId' ( in uint InvocationID) + + +Linked tessellation control stage: + + +Shader version: 450 +vertices = 3 +0:? Sequence +0:26 Function Definition: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Parameters: +0:26 'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? Sequence +0:28 move second child to first child ( temp 3-component vector of float) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 cpoint: direct index for structure ( temp 3-component vector of float) +0:28 direct index ( temp structure{ temp 3-component vector of float cpoint}) +0:28 'ip' ( in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:28 Constant: +0:28 0 (const int) +0:28 Constant: +0:28 0 (const int) +0:29 Branch: Return with expression +0:29 'output' ( temp structure{ temp 3-component vector of float cpoint}) +0:26 Function Definition: main( ( temp void) +0:26 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:26 move second child to first child ( temp structure{ temp 3-component vector of float cpoint}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:26 Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint}) +0:? 'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? Barrier ( temp void) +0:? Test condition and select ( temp void) +0:? Condition +0:? Compare Equal ( temp bool) +0:? 'InvocationId' ( in uint InvocationID) +0:? Constant: +0:? 0 (const int) +0:? true case +0:? Function Call: PCF( ( temp void) +0:33 Function Definition: PCF( ( temp void) +0:33 Function Parameters: +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp 3-component vector of float cpoint}) +0:? 'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint}) +0:? 'InvocationId' ( in uint InvocationID) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 51 + + Capability Tessellation + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 33 36 44 + ExecutionMode 4 OutputVertices 3 + Name 4 "main" + Name 8 "VS_OUT" + MemberName 8(VS_OUT) 0 "cpoint" + Name 13 "HS_OUT" + MemberName 13(HS_OUT) 0 "cpoint" + Name 16 "@main(struct-VS_OUT-vf31[3];" + Name 15 "ip" + Name 18 "PCF(" + Name 21 "output" + Name 31 "ip" + Name 33 "ip" + Name 36 "@entryPointOutput" + Name 37 "param" + Name 44 "InvocationId" + Decorate 33(ip) Location 0 + Decorate 36(@entryPointOutput) Location 0 + Decorate 44(InvocationId) BuiltIn InvocationId + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 3 + 8(VS_OUT): TypeStruct 7(fvec3) + 9: TypeInt 32 0 + 10: 9(int) Constant 3 + 11: TypeArray 8(VS_OUT) 10 + 12: TypePointer Function 11 + 13(HS_OUT): TypeStruct 7(fvec3) + 14: TypeFunction 13(HS_OUT) 12(ptr) + 20: TypePointer Function 13(HS_OUT) + 22: TypeInt 32 1 + 23: 22(int) Constant 0 + 24: TypePointer Function 7(fvec3) + 32: TypePointer Input 11 + 33(ip): 32(ptr) Variable Input + 35: TypePointer Output 13(HS_OUT) +36(@entryPointOutput): 35(ptr) Variable Output + 40: 9(int) Constant 2 + 41: 9(int) Constant 1 + 42: 9(int) Constant 0 + 43: TypePointer Input 9(int) +44(InvocationId): 43(ptr) Variable Input + 46: TypeBool + 4(main): 2 Function None 3 + 5: Label + 31(ip): 12(ptr) Variable Function + 37(param): 12(ptr) Variable Function + 34: 11 Load 33(ip) + Store 31(ip) 34 + 38: 11 Load 31(ip) + Store 37(param) 38 + 39: 13(HS_OUT) FunctionCall 16(@main(struct-VS_OUT-vf31[3];) 37(param) + Store 36(@entryPointOutput) 39 + ControlBarrier 40 41 42 + 45: 9(int) Load 44(InvocationId) + 47: 46(bool) IEqual 45 23 + SelectionMerge 49 None + BranchConditional 47 48 49 + 48: Label + 50: 2 FunctionCall 18(PCF() + Branch 49 + 49: Label + Return + FunctionEnd +16(@main(struct-VS_OUT-vf31[3];): 13(HS_OUT) Function None 14 + 15(ip): 12(ptr) FunctionParameter + 17: Label + 21(output): 20(ptr) Variable Function + 25: 24(ptr) AccessChain 15(ip) 23 23 + 26: 7(fvec3) Load 25 + 27: 24(ptr) AccessChain 21(output) 23 + Store 27 26 + 28: 13(HS_OUT) Load 21(output) + ReturnValue 28 + FunctionEnd + 18(PCF(): 2 Function None 3 + 19: Label + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out index 35e88e93c22..3583141ce6b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.identifier.sample.frag.out @@ -2,40 +2,43 @@ hlsl.identifier.sample.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: sample(i1; (temp int) +0:9 Function Definition: sample(i1; ( temp int) 0:9 Function Parameters: -0:9 'x' (in int) +0:9 'x' ( in int) 0:? Sequence 0:9 Branch: Return with expression -0:9 'x' (in int) -0:12 Function Definition: main( (temp 4-component vector of float) +0:9 'x' ( in int) +0:12 Function Definition: @main( ( temp 4-component vector of float) 0:12 Function Parameters: 0:? Sequence 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:15 'sample' (temp 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'sample' ( temp 4-component vector of float) 0:? Constant: 0:? 3.000000 0:? 4.000000 0:? 5.000000 0:? 6.000000 -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 'sample' (temp 4-component vector of float) -0:17 Sequence -0:17 Constant: -0:17 0 (const int) -0:17 Constant: -0:17 1 (const int) -0:17 Constant: -0:17 2 (const int) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 vector swizzle ( temp 4-component vector of float) +0:17 'sample' ( temp 4-component vector of float) +0:17 Sequence +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 3 (const int) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -44,82 +47,92 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: sample(i1; (temp int) +0:9 Function Definition: sample(i1; ( temp int) 0:9 Function Parameters: -0:9 'x' (in int) +0:9 'x' ( in int) 0:? Sequence 0:9 Branch: Return with expression -0:9 'x' (in int) -0:12 Function Definition: main( (temp 4-component vector of float) +0:9 'x' ( in int) +0:12 Function Definition: @main( ( temp 4-component vector of float) 0:12 Function Parameters: 0:? Sequence 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:15 'sample' (temp 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'sample' ( temp 4-component vector of float) 0:? Constant: 0:? 3.000000 0:? 4.000000 0:? 5.000000 0:? 6.000000 -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 'sample' (temp 4-component vector of float) -0:17 Sequence -0:17 Constant: -0:17 0 (const int) -0:17 Constant: -0:17 1 (const int) -0:17 Constant: -0:17 2 (const int) -0:17 Constant: -0:17 3 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 vector swizzle ( temp 4-component vector of float) +0:17 'sample' ( temp 4-component vector of float) +0:17 Sequence +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 3 (const int) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 28 +// Id's are bound by 33 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 25 + EntryPoint Fragment 4 "main" 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "sample(i1;" Name 9 "x" - Name 18 "sample" - Name 25 "@entryPointOutput" - Decorate 25(@entryPointOutput) Location 0 + Name 15 "@main(" + Name 21 "sample" + Name 31 "@entryPointOutput" + Decorate 31(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 8: TypeFunction 6(int) 7(ptr) - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Function 16(fvec4) - 19: 15(float) Constant 1077936128 - 20: 15(float) Constant 1082130432 - 21: 15(float) Constant 1084227584 - 22: 15(float) Constant 1086324736 - 23: 16(fvec4) ConstantComposite 19 20 21 22 - 24: TypePointer Output 16(fvec4) -25(@entryPointOutput): 24(ptr) Variable Output + 12: TypeFloat 32 + 13: TypeVector 12(float) 4 + 14: TypeFunction 13(fvec4) + 20: TypePointer Function 13(fvec4) + 22: 12(float) Constant 1077936128 + 23: 12(float) Constant 1082130432 + 24: 12(float) Constant 1084227584 + 25: 12(float) Constant 1086324736 + 26: 13(fvec4) ConstantComposite 22 23 24 25 + 30: TypePointer Output 13(fvec4) +31(@entryPointOutput): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 18(sample): 17(ptr) Variable Function - Store 18(sample) 23 - 26: 16(fvec4) Load 18(sample) - Store 25(@entryPointOutput) 26 + 32: 13(fvec4) FunctionCall 15(@main() + Store 31(@entryPointOutput) 32 Return FunctionEnd 10(sample(i1;): 6(int) Function None 8 9(x): 7(ptr) FunctionParameter 11: Label - 12: 6(int) Load 9(x) - ReturnValue 12 + 17: 6(int) Load 9(x) + ReturnValue 17 + FunctionEnd + 15(@main(): 13(fvec4) Function None 14 + 16: Label + 21(sample): 20(ptr) Variable Function + Store 21(sample) 26 + 27: 13(fvec4) Load 21(sample) + ReturnValue 27 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out index c37bff61a1e..6f887ca78d2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.if.frag.out @@ -2,105 +2,107 @@ hlsl.if.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Test condition and select (temp void) +0:3 Test condition and select ( temp void) 0:3 Condition -0:3 all (temp bool) -0:3 Equal (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 all ( temp bool) +0:3 Equal ( temp 4-component vector of bool) +0:3 'input' ( in 4-component vector of float) +0:3 'input' ( in 4-component vector of float) 0:3 true case -0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) -0:4 Branch: Return -0:6 Test condition and select (temp void) +0:4 Branch: Return with expression +0:4 'input' ( in 4-component vector of float) +0:6 Test condition and select ( temp void) 0:6 Condition -0:6 all (temp bool) -0:6 Equal (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 all ( temp bool) +0:6 Equal ( temp 4-component vector of bool) +0:6 'input' ( in 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:6 true case -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 'input' ( in 4-component vector of float) 0:6 false case -0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:9 Branch: Return -0:11 Test condition and select (temp void) +0:9 Branch: Return with expression +0:9 Negate value ( temp 4-component vector of float) +0:9 'input' ( in 4-component vector of float) +0:11 Test condition and select ( temp void) 0:11 Condition -0:11 all (temp bool) -0:11 Equal (temp 4-component vector of bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 all ( temp bool) +0:11 Equal ( temp 4-component vector of bool) +0:11 'input' ( in 4-component vector of float) +0:11 'input' ( in 4-component vector of float) 0:11 true case is null -0:14 Test condition and select (temp void) +0:14 Test condition and select ( temp void) 0:14 Condition -0:14 all (temp bool) -0:14 Equal (temp 4-component vector of bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 all ( temp bool) +0:14 Equal ( temp 4-component vector of bool) +0:14 'input' ( in 4-component vector of float) +0:14 'input' ( in 4-component vector of float) 0:14 true case is null -0:19 Test condition and select (temp void) +0:19 Test condition and select ( temp void) 0:19 Condition -0:19 all (temp bool) -0:19 Equal (temp 4-component vector of bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 all ( temp bool) +0:19 Equal ( temp 4-component vector of bool) +0:19 'input' ( in 4-component vector of float) +0:19 'input' ( in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:20 'input' (layout(location=0 ) in 4-component vector of float) -0:20 Branch: Return -0:23 Test condition and select (temp void) +0:20 Branch: Return with expression +0:20 'input' ( in 4-component vector of float) +0:23 Test condition and select ( temp void) 0:23 Condition -0:23 all (temp bool) -0:23 Equal (temp 4-component vector of bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 all ( temp bool) +0:23 Equal ( temp 4-component vector of bool) +0:23 'input' ( in 4-component vector of float) +0:23 'input' ( in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:24 'input' (layout(location=0 ) in 4-component vector of float) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'input' ( in 4-component vector of float) 0:23 false case 0:? Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (layout(location=0 ) in 4-component vector of float) -0:26 Branch: Return -0:30 Test condition and select (temp void) +0:26 Branch: Return with expression +0:26 Negate value ( temp 4-component vector of float) +0:26 'input' ( in 4-component vector of float) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 move second child to first child (temp float) -0:30 'ii' (temp float) -0:30 direct index (temp float) -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 move second child to first child ( temp float) +0:30 'ii' ( temp float) +0:30 direct index ( temp float) +0:30 'input' ( in 4-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 true case -0:31 Pre-Increment (temp float) -0:31 'ii' (temp float) -0:32 Pre-Increment (temp int) -0:32 'ii' (temp int) +0:31 Pre-Increment ( temp float) +0:31 'ii' ( temp float) +0:32 Pre-Increment ( temp int) +0:32 'ii' ( temp int) +0:33 Test condition and select ( temp void) +0:33 Condition +0:33 Compare Equal ( temp bool) +0:33 Convert int to float ( temp float) +0:33 'ii' ( temp int) +0:33 Constant: +0:33 1.000000 +0:33 true case +0:34 Pre-Increment ( temp int) +0:34 'ii' ( temp int) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -109,229 +111,255 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Test condition and select (temp void) +0:3 Test condition and select ( temp void) 0:3 Condition -0:3 all (temp bool) -0:3 Equal (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 all ( temp bool) +0:3 Equal ( temp 4-component vector of bool) +0:3 'input' ( in 4-component vector of float) +0:3 'input' ( in 4-component vector of float) 0:3 true case -0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:4 'input' (layout(location=0 ) in 4-component vector of float) -0:4 Branch: Return -0:6 Test condition and select (temp void) +0:4 Branch: Return with expression +0:4 'input' ( in 4-component vector of float) +0:6 Test condition and select ( temp void) 0:6 Condition -0:6 all (temp bool) -0:6 Equal (temp 4-component vector of bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 all ( temp bool) +0:6 Equal ( temp 4-component vector of bool) +0:6 'input' ( in 4-component vector of float) +0:6 'input' ( in 4-component vector of float) 0:6 true case -0:7 Sequence -0:7 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 Branch: Return +0:7 Branch: Return with expression +0:7 'input' ( in 4-component vector of float) 0:6 false case -0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:9 Negate value (temp 4-component vector of float) -0:9 'input' (layout(location=0 ) in 4-component vector of float) -0:9 Branch: Return -0:11 Test condition and select (temp void) +0:9 Branch: Return with expression +0:9 Negate value ( temp 4-component vector of float) +0:9 'input' ( in 4-component vector of float) +0:11 Test condition and select ( temp void) 0:11 Condition -0:11 all (temp bool) -0:11 Equal (temp 4-component vector of bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 all ( temp bool) +0:11 Equal ( temp 4-component vector of bool) +0:11 'input' ( in 4-component vector of float) +0:11 'input' ( in 4-component vector of float) 0:11 true case is null -0:14 Test condition and select (temp void) +0:14 Test condition and select ( temp void) 0:14 Condition -0:14 all (temp bool) -0:14 Equal (temp 4-component vector of bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 all ( temp bool) +0:14 Equal ( temp 4-component vector of bool) +0:14 'input' ( in 4-component vector of float) +0:14 'input' ( in 4-component vector of float) 0:14 true case is null -0:19 Test condition and select (temp void) +0:19 Test condition and select ( temp void) 0:19 Condition -0:19 all (temp bool) -0:19 Equal (temp 4-component vector of bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 all ( temp bool) +0:19 Equal ( temp 4-component vector of bool) +0:19 'input' ( in 4-component vector of float) +0:19 'input' ( in 4-component vector of float) 0:19 true case 0:? Sequence -0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:20 'input' (layout(location=0 ) in 4-component vector of float) -0:20 Branch: Return -0:23 Test condition and select (temp void) +0:20 Branch: Return with expression +0:20 'input' ( in 4-component vector of float) +0:23 Test condition and select ( temp void) 0:23 Condition -0:23 all (temp bool) -0:23 Equal (temp 4-component vector of bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 all ( temp bool) +0:23 Equal ( temp 4-component vector of bool) +0:23 'input' ( in 4-component vector of float) +0:23 'input' ( in 4-component vector of float) 0:23 true case 0:? Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:24 'input' (layout(location=0 ) in 4-component vector of float) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'input' ( in 4-component vector of float) 0:23 false case 0:? Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:26 Negate value (temp 4-component vector of float) -0:26 'input' (layout(location=0 ) in 4-component vector of float) -0:26 Branch: Return -0:30 Test condition and select (temp void) +0:26 Branch: Return with expression +0:26 Negate value ( temp 4-component vector of float) +0:26 'input' ( in 4-component vector of float) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 move second child to first child (temp float) -0:30 'ii' (temp float) -0:30 direct index (temp float) -0:30 'input' (layout(location=0 ) in 4-component vector of float) +0:30 move second child to first child ( temp float) +0:30 'ii' ( temp float) +0:30 direct index ( temp float) +0:30 'input' ( in 4-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 true case -0:31 Pre-Increment (temp float) -0:31 'ii' (temp float) -0:32 Pre-Increment (temp int) -0:32 'ii' (temp int) +0:31 Pre-Increment ( temp float) +0:31 'ii' ( temp float) +0:32 Pre-Increment ( temp int) +0:32 'ii' ( temp int) +0:33 Test condition and select ( temp void) +0:33 Condition +0:33 Compare Equal ( temp bool) +0:33 Convert int to float ( temp float) +0:33 'ii' ( temp int) +0:33 Constant: +0:33 1.000000 +0:33 true case +0:34 Pre-Increment ( temp int) +0:34 'ii' ( temp int) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 84 +// Id's are bound by 101 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 19 + EntryPoint Fragment 4 "PixelShaderFunction" 94 97 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "input" - Name 19 "@entryPointOutput" - Name 67 "ii" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 68 "ii" Name 80 "ii" - Decorate 9(input) Location 0 - Decorate 19(@entryPointOutput) Location 0 + Name 92 "input" + Name 94 "input" + Name 97 "@entryPointOutput" + Name 98 "param" + Decorate 94(input) Location 0 + Decorate 97(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Input 7(fvec4) - 9(input): 8(ptr) Variable Input - 12: TypeBool - 13: TypeVector 12(bool) 4 - 18: TypePointer Output 7(fvec4) -19(@entryPointOutput): 18(ptr) Variable Output - 66: TypePointer Function 6(float) - 68: TypeInt 32 0 - 69: 68(int) Constant 2 - 70: TypePointer Input 6(float) + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 15: TypeBool + 16: TypeVector 15(bool) 4 + 67: TypePointer Function 6(float) + 69: TypeInt 32 0 + 70: 69(int) Constant 2 76: 6(float) Constant 1065353216 78: TypeInt 32 1 79: TypePointer Function 78(int) 82: 78(int) Constant 1 + 93: TypePointer Input 7(fvec4) + 94(input): 93(ptr) Variable Input + 96: TypePointer Output 7(fvec4) +97(@entryPointOutput): 96(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 67(ii): 66(ptr) Variable Function + 92(input): 8(ptr) Variable Function + 98(param): 8(ptr) Variable Function + 95: 7(fvec4) Load 94(input) + Store 92(input) 95 + 99: 7(fvec4) Load 92(input) + Store 98(param) 99 + 100: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 98(param) + Store 97(@entryPointOutput) 100 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 68(ii): 67(ptr) Variable Function 80(ii): 79(ptr) Variable Function - 10: 7(fvec4) Load 9(input) - 11: 7(fvec4) Load 9(input) - 14: 13(bvec4) FOrdEqual 10 11 - 15: 12(bool) All 14 - SelectionMerge 17 None - BranchConditional 15 16 17 - 16: Label - 20: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 20 - Return - 17: Label - 22: 7(fvec4) Load 9(input) - 23: 7(fvec4) Load 9(input) - 24: 13(bvec4) FOrdEqual 22 23 - 25: 12(bool) All 24 - SelectionMerge 27 None - BranchConditional 25 26 30 - 26: Label - 28: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 28 - Return - 30: Label - 31: 7(fvec4) Load 9(input) - 32: 7(fvec4) FNegate 31 - Store 19(@entryPointOutput) 32 - Return - 27: Label - 34: 7(fvec4) Load 9(input) - 35: 7(fvec4) Load 9(input) - 36: 13(bvec4) FOrdEqual 34 35 - 37: 12(bool) All 36 - SelectionMerge 39 None - BranchConditional 37 38 39 - 38: Label - Branch 39 - 39: Label - 40: 7(fvec4) Load 9(input) - 41: 7(fvec4) Load 9(input) - 42: 13(bvec4) FOrdEqual 40 41 - 43: 12(bool) All 42 - SelectionMerge 45 None - BranchConditional 43 44 45 - 44: Label - Branch 45 - 45: Label - 46: 7(fvec4) Load 9(input) - 47: 7(fvec4) Load 9(input) - 48: 13(bvec4) FOrdEqual 46 47 - 49: 12(bool) All 48 - SelectionMerge 51 None - BranchConditional 49 50 51 - 50: Label - 52: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 52 - Return - 51: Label - 54: 7(fvec4) Load 9(input) - 55: 7(fvec4) Load 9(input) - 56: 13(bvec4) FOrdEqual 54 55 - 57: 12(bool) All 56 - SelectionMerge 59 None - BranchConditional 57 58 62 - 58: Label - 60: 7(fvec4) Load 9(input) - Store 19(@entryPointOutput) 60 - Return - 62: Label - 63: 7(fvec4) Load 9(input) - 64: 7(fvec4) FNegate 63 - Store 19(@entryPointOutput) 64 - Return - 59: Label - 71: 70(ptr) AccessChain 9(input) 69 + 13: 7(fvec4) Load 10(input) + 14: 7(fvec4) Load 10(input) + 17: 16(bvec4) FOrdEqual 13 14 + 18: 15(bool) All 17 + SelectionMerge 20 None + BranchConditional 18 19 20 + 19: Label + 21: 7(fvec4) Load 10(input) + ReturnValue 21 + 20: Label + 23: 7(fvec4) Load 10(input) + 24: 7(fvec4) Load 10(input) + 25: 16(bvec4) FOrdEqual 23 24 + 26: 15(bool) All 25 + SelectionMerge 28 None + BranchConditional 26 27 31 + 27: Label + 29: 7(fvec4) Load 10(input) + ReturnValue 29 + 31: Label + 32: 7(fvec4) Load 10(input) + 33: 7(fvec4) FNegate 32 + ReturnValue 33 + 28: Label + 35: 7(fvec4) Load 10(input) + 36: 7(fvec4) Load 10(input) + 37: 16(bvec4) FOrdEqual 35 36 + 38: 15(bool) All 37 + SelectionMerge 40 None + BranchConditional 38 39 40 + 39: Label + Branch 40 + 40: Label + 41: 7(fvec4) Load 10(input) + 42: 7(fvec4) Load 10(input) + 43: 16(bvec4) FOrdEqual 41 42 + 44: 15(bool) All 43 + SelectionMerge 46 None + BranchConditional 44 45 46 + 45: Label + Branch 46 + 46: Label + 47: 7(fvec4) Load 10(input) + 48: 7(fvec4) Load 10(input) + 49: 16(bvec4) FOrdEqual 47 48 + 50: 15(bool) All 49 + SelectionMerge 52 None + BranchConditional 50 51 52 + 51: Label + 53: 7(fvec4) Load 10(input) + ReturnValue 53 + 52: Label + 55: 7(fvec4) Load 10(input) + 56: 7(fvec4) Load 10(input) + 57: 16(bvec4) FOrdEqual 55 56 + 58: 15(bool) All 57 + SelectionMerge 60 None + BranchConditional 58 59 63 + 59: Label + 61: 7(fvec4) Load 10(input) + ReturnValue 61 + 63: Label + 64: 7(fvec4) Load 10(input) + 65: 7(fvec4) FNegate 64 + ReturnValue 65 + 60: Label + 71: 67(ptr) AccessChain 10(input) 70 72: 6(float) Load 71 - Store 67(ii) 72 + Store 68(ii) 72 SelectionMerge 74 None BranchConditional 72 73 74 73: Label - 75: 6(float) Load 67(ii) + 75: 6(float) Load 68(ii) 77: 6(float) FAdd 75 76 - Store 67(ii) 77 + Store 68(ii) 77 Branch 74 74: Label 81: 78(int) Load 80(ii) 83: 78(int) IAdd 81 82 Store 80(ii) 83 - Return + 84: 78(int) Load 80(ii) + 85: 6(float) ConvertSToF 84 + 86: 15(bool) FOrdEqual 85 76 + SelectionMerge 88 None + BranchConditional 86 87 88 + 87: Label + 89: 78(int) Load 80(ii) + 90: 78(int) IAdd 89 82 + Store 80(ii) 90 + Branch 88 + 88: Label + 91: 7(fvec4) Undef + ReturnValue 91 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out index c7e5e23fcd9..7ae9475e165 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init.frag.out @@ -6,156 +6,163 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 4-component vector of float) -0:1 'a1' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'a1' ( global 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 0.500000 0:? 0.000000 0:? 1.000000 -0:1 move second child to first child (temp 4-component vector of float) -0:1 'b1' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'b1' ( global 4-component vector of float) 0:? Constant: 0:? 2.000000 0:? 2.500000 0:? 2.100000 0:? 2.200000 0:2 Sequence -0:2 move second child to first child (temp 4-component vector of float) -0:2 'a1i' (global 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:2 'a1i' ( global 4-component vector of float) 0:2 Constant: 0:2 1.000000 0:2 0.500000 0:2 0.000000 0:2 1.000000 -0:2 move second child to first child (temp 4-component vector of float) -0:2 'b1i' (global 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:2 'b1i' ( global 4-component vector of float) 0:2 Constant: 0:2 2.000000 0:2 2.500000 0:2 2.100000 0:2 2.200000 0:3 Sequence -0:3 move second child to first child (temp float) -0:3 'a2' (global float) +0:3 move second child to first child ( temp float) +0:3 'a2' ( global float) 0:3 Constant: 0:3 0.200000 0:4 Sequence -0:4 move second child to first child (temp float) -0:4 'b3' (global float) +0:4 move second child to first child ( temp float) +0:4 'b3' ( global float) 0:4 Constant: 0:4 0.300000 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'b4' (global float) +0:5 move second child to first child ( temp float) +0:5 'b4' ( global float) 0:5 Constant: 0:5 0.400000 0:6 Sequence -0:6 move second child to first child (temp float) -0:6 'a5' (global float) +0:6 move second child to first child ( temp float) +0:6 'a5' ( global float) 0:6 Constant: 0:6 0.500000 -0:6 move second child to first child (temp float) -0:6 'c5' (global float) +0:6 move second child to first child ( temp float) +0:6 'c5' ( global float) 0:6 Constant: 0:6 1.500000 0:9 Sequence -0:9 move second child to first child (temp structure{temp int f}) -0:9 'single1' (global structure{temp int f}) +0:9 move second child to first child ( temp structure{ temp int f}) +0:9 'single1' ( global structure{ temp int f}) 0:9 Constant: 0:9 10 (const int) 0:12 Sequence -0:12 move second child to first child (temp structure{temp 2-component vector of uint v}) -0:12 'single2' (global structure{temp 2-component vector of uint v}) +0:12 move second child to first child ( temp structure{ temp 2-component vector of uint v}) +0:12 'single2' ( global structure{ temp 2-component vector of uint v}) 0:12 Constant: 0:12 1 (const uint) 0:12 2 (const uint) 0:15 Sequence -0:15 move second child to first child (temp structure{temp structure{temp int f} s1}) -0:15 'single3' (global structure{temp structure{temp int f} s1}) +0:15 move second child to first child ( temp structure{ temp structure{ temp int f} s1}) +0:15 'single3' ( global structure{ temp structure{ temp int f} s1}) 0:15 Constant: 0:15 3 (const int) 0:18 Sequence -0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1}) -0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) +0:18 move second child to first child ( temp structure{ temp structure{ temp 2-component vector of uint v} s1}) +0:18 'single4' ( global structure{ temp structure{ temp 2-component vector of uint v} s1}) 0:18 Constant: 0:18 4 (const uint) 0:18 5 (const uint) -0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:21 Function Definition: @ShaderFunction(vf4; ( temp 4-component vector of float) 0:21 Function Parameters: -0:21 'input' (layout(location=0 ) in 4-component vector of float) +0:21 'input' ( in 4-component vector of float) 0:? Sequence 0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:22 'a2' (temp 4-component vector of float) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'a2' ( temp 4-component vector of float) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:32 Sequence -0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) +0:32 move second child to first child ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 's2i' ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 Construct structure ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) 0:32 Constant: 0:32 9 (const int) -0:32 'a5' (global float) -0:32 Construct structure (temp structure{temp float f, temp int i}) -0:32 Comma (temp float) -0:32 'a3' (global float) -0:32 'a4' (global float) +0:32 'a5' ( global float) +0:32 Construct structure ( temp structure{ temp float f, temp int i}) +0:32 Comma ( temp float) +0:32 'a3' ( global float) +0:32 'a4' ( global float) 0:32 Constant: 0:32 12 (const int) -0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) +0:32 move second child to first child ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 's2' ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:? Construct structure ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) 0:32 Constant: 0:32 9 (const int) -0:32 'a5' (global float) -0:? Construct structure (temp structure{temp float f, temp int i}) -0:32 Comma (temp float) -0:32 'a3' (global float) -0:32 'a4' (global float) +0:32 'a5' ( global float) +0:? Construct structure ( temp structure{ temp float f, temp int i}) +0:32 Comma ( temp float) +0:32 'a3' ( global float) +0:32 'a4' ( global float) 0:32 Constant: 0:32 12 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'a8' (temp float) -0:33 Comma (temp float) -0:33 'a2' (temp 4-component vector of float) -0:33 'b2' (global float) -0:33 move second child to first child (temp float) -0:33 'a9' (temp float) -0:33 'a5' (global float) -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (layout(location=0 ) in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) -0:35 Branch: Return +0:33 move second child to first child ( temp float) +0:33 'a8' ( temp float) +0:33 Comma ( temp float) +0:33 'a2' ( temp 4-component vector of float) +0:33 'b2' ( global float) +0:33 move second child to first child ( temp float) +0:33 'a9' ( temp float) +0:33 'a5' ( global float) +0:35 Branch: Return with expression +0:35 component-wise multiply ( temp 4-component vector of float) +0:35 'input' ( in 4-component vector of float) +0:35 'a1' ( global 4-component vector of float) +0:21 Function Definition: ShaderFunction( ( temp void) +0:21 Function Parameters: +0:? Sequence +0:21 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:21 Function Call: @ShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'a1' (global 4-component vector of float) -0:? 'b1' (global 4-component vector of float) -0:? 'a1i' (global 4-component vector of float) -0:? 'b1i' (global 4-component vector of float) -0:? 'a2' (global float) -0:? 'b2' (global float) -0:? 'a3' (global float) -0:? 'b3' (global float) -0:? 'a4' (global float) -0:? 'b4' (global float) -0:? 'c4' (global float) -0:? 'a5' (global float) -0:? 'b5' (global float) -0:? 'c5' (global float) -0:? 'single1' (global structure{temp int f}) -0:? 'single2' (global structure{temp 2-component vector of uint v}) -0:? 'single3' (global structure{temp structure{temp int f} s1}) -0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c}) +0:? 'a1' ( global 4-component vector of float) +0:? 'b1' ( global 4-component vector of float) +0:? 'a1i' ( global 4-component vector of float) +0:? 'b1i' ( global 4-component vector of float) +0:? 'a2' ( global float) +0:? 'b2' ( global float) +0:? 'a3' ( global float) +0:? 'b3' ( global float) +0:? 'a4' ( global float) +0:? 'b4' ( global float) +0:? 'c4' ( global float) +0:? 'a5' ( global float) +0:? 'b5' ( global float) +0:? 'c5' ( global float) +0:? 'single1' ( global structure{ temp int f}) +0:? 'single2' ( global structure{ temp 2-component vector of uint v}) +0:? 'single3' ( global structure{ temp structure{ temp int f} s1}) +0:? 'single4' ( global structure{ temp structure{ temp 2-component vector of uint v} s1}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float a, layout( row_major std140) uniform float b, layout( row_major std140) uniform float c}) Linked fragment stage: @@ -165,334 +172,358 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 4-component vector of float) -0:1 'a1' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'a1' ( global 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 0.500000 0:? 0.000000 0:? 1.000000 -0:1 move second child to first child (temp 4-component vector of float) -0:1 'b1' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'b1' ( global 4-component vector of float) 0:? Constant: 0:? 2.000000 0:? 2.500000 0:? 2.100000 0:? 2.200000 0:2 Sequence -0:2 move second child to first child (temp 4-component vector of float) -0:2 'a1i' (global 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:2 'a1i' ( global 4-component vector of float) 0:2 Constant: 0:2 1.000000 0:2 0.500000 0:2 0.000000 0:2 1.000000 -0:2 move second child to first child (temp 4-component vector of float) -0:2 'b1i' (global 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:2 'b1i' ( global 4-component vector of float) 0:2 Constant: 0:2 2.000000 0:2 2.500000 0:2 2.100000 0:2 2.200000 0:3 Sequence -0:3 move second child to first child (temp float) -0:3 'a2' (global float) +0:3 move second child to first child ( temp float) +0:3 'a2' ( global float) 0:3 Constant: 0:3 0.200000 0:4 Sequence -0:4 move second child to first child (temp float) -0:4 'b3' (global float) +0:4 move second child to first child ( temp float) +0:4 'b3' ( global float) 0:4 Constant: 0:4 0.300000 0:5 Sequence -0:5 move second child to first child (temp float) -0:5 'b4' (global float) +0:5 move second child to first child ( temp float) +0:5 'b4' ( global float) 0:5 Constant: 0:5 0.400000 0:6 Sequence -0:6 move second child to first child (temp float) -0:6 'a5' (global float) +0:6 move second child to first child ( temp float) +0:6 'a5' ( global float) 0:6 Constant: 0:6 0.500000 -0:6 move second child to first child (temp float) -0:6 'c5' (global float) +0:6 move second child to first child ( temp float) +0:6 'c5' ( global float) 0:6 Constant: 0:6 1.500000 0:9 Sequence -0:9 move second child to first child (temp structure{temp int f}) -0:9 'single1' (global structure{temp int f}) +0:9 move second child to first child ( temp structure{ temp int f}) +0:9 'single1' ( global structure{ temp int f}) 0:9 Constant: 0:9 10 (const int) 0:12 Sequence -0:12 move second child to first child (temp structure{temp 2-component vector of uint v}) -0:12 'single2' (global structure{temp 2-component vector of uint v}) +0:12 move second child to first child ( temp structure{ temp 2-component vector of uint v}) +0:12 'single2' ( global structure{ temp 2-component vector of uint v}) 0:12 Constant: 0:12 1 (const uint) 0:12 2 (const uint) 0:15 Sequence -0:15 move second child to first child (temp structure{temp structure{temp int f} s1}) -0:15 'single3' (global structure{temp structure{temp int f} s1}) +0:15 move second child to first child ( temp structure{ temp structure{ temp int f} s1}) +0:15 'single3' ( global structure{ temp structure{ temp int f} s1}) 0:15 Constant: 0:15 3 (const int) 0:18 Sequence -0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1}) -0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) +0:18 move second child to first child ( temp structure{ temp structure{ temp 2-component vector of uint v} s1}) +0:18 'single4' ( global structure{ temp structure{ temp 2-component vector of uint v} s1}) 0:18 Constant: 0:18 4 (const uint) 0:18 5 (const uint) -0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:21 Function Definition: @ShaderFunction(vf4; ( temp 4-component vector of float) 0:21 Function Parameters: -0:21 'input' (layout(location=0 ) in 4-component vector of float) +0:21 'input' ( in 4-component vector of float) 0:? Sequence 0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:22 'a2' (temp 4-component vector of float) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 'a2' ( temp 4-component vector of float) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:32 Sequence -0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) +0:32 move second child to first child ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 's2i' ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 Construct structure ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) 0:32 Constant: 0:32 9 (const int) -0:32 'a5' (global float) -0:32 Construct structure (temp structure{temp float f, temp int i}) -0:32 Comma (temp float) -0:32 'a3' (global float) -0:32 'a4' (global float) +0:32 'a5' ( global float) +0:32 Construct structure ( temp structure{ temp float f, temp int i}) +0:32 Comma ( temp float) +0:32 'a3' ( global float) +0:32 'a4' ( global float) 0:32 Constant: 0:32 12 (const int) -0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) -0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1}) +0:32 move second child to first child ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:32 's2' ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) +0:? Construct structure ( temp structure{ temp int j, temp float g, temp structure{ temp float f, temp int i} s1}) 0:32 Constant: 0:32 9 (const int) -0:32 'a5' (global float) -0:? Construct structure (temp structure{temp float f, temp int i}) -0:32 Comma (temp float) -0:32 'a3' (global float) -0:32 'a4' (global float) +0:32 'a5' ( global float) +0:? Construct structure ( temp structure{ temp float f, temp int i}) +0:32 Comma ( temp float) +0:32 'a3' ( global float) +0:32 'a4' ( global float) 0:32 Constant: 0:32 12 (const int) 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'a8' (temp float) -0:33 Comma (temp float) -0:33 'a2' (temp 4-component vector of float) -0:33 'b2' (global float) -0:33 move second child to first child (temp float) -0:33 'a9' (temp float) -0:33 'a5' (global float) -0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:35 component-wise multiply (temp 4-component vector of float) -0:35 'input' (layout(location=0 ) in 4-component vector of float) -0:35 'a1' (global 4-component vector of float) -0:35 Branch: Return +0:33 move second child to first child ( temp float) +0:33 'a8' ( temp float) +0:33 Comma ( temp float) +0:33 'a2' ( temp 4-component vector of float) +0:33 'b2' ( global float) +0:33 move second child to first child ( temp float) +0:33 'a9' ( temp float) +0:33 'a5' ( global float) +0:35 Branch: Return with expression +0:35 component-wise multiply ( temp 4-component vector of float) +0:35 'input' ( in 4-component vector of float) +0:35 'a1' ( global 4-component vector of float) +0:21 Function Definition: ShaderFunction( ( temp void) +0:21 Function Parameters: +0:? Sequence +0:21 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:21 Function Call: @ShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'a1' (global 4-component vector of float) -0:? 'b1' (global 4-component vector of float) -0:? 'a1i' (global 4-component vector of float) -0:? 'b1i' (global 4-component vector of float) -0:? 'a2' (global float) -0:? 'b2' (global float) -0:? 'a3' (global float) -0:? 'b3' (global float) -0:? 'a4' (global float) -0:? 'b4' (global float) -0:? 'c4' (global float) -0:? 'a5' (global float) -0:? 'b5' (global float) -0:? 'c5' (global float) -0:? 'single1' (global structure{temp int f}) -0:? 'single2' (global structure{temp 2-component vector of uint v}) -0:? 'single3' (global structure{temp structure{temp int f} s1}) -0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform float a, layout(row_major std140 ) uniform float b, layout(row_major std140 ) uniform float c}) +0:? 'a1' ( global 4-component vector of float) +0:? 'b1' ( global 4-component vector of float) +0:? 'a1i' ( global 4-component vector of float) +0:? 'b1i' ( global 4-component vector of float) +0:? 'a2' ( global float) +0:? 'b2' ( global float) +0:? 'a3' ( global float) +0:? 'b3' ( global float) +0:? 'a4' ( global float) +0:? 'b4' ( global float) +0:? 'c4' ( global float) +0:? 'a5' ( global float) +0:? 'b5' ( global float) +0:? 'c5' ( global float) +0:? 'single1' ( global structure{ temp int f}) +0:? 'single2' ( global structure{ temp 2-component vector of uint v}) +0:? 'single3' ( global structure{ temp structure{ temp int f} s1}) +0:? 'single4' ( global structure{ temp structure{ temp 2-component vector of uint v} s1}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float a, layout( row_major std140) uniform float b, layout( row_major std140) uniform float c}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 100 +// Id's are bound by 110 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "ShaderFunction" 88 90 + EntryPoint Fragment 4 "ShaderFunction" 98 101 ExecutionMode 4 OriginUpperLeft Name 4 "ShaderFunction" - Name 9 "a1" - Name 14 "b1" - Name 20 "a1i" - Name 21 "b1i" - Name 23 "a2" - Name 25 "b3" - Name 27 "b4" - Name 29 "a5" - Name 30 "c5" - Name 33 "Single1" - MemberName 33(Single1) 0 "f" - Name 35 "single1" - Name 40 "Single2" - MemberName 40(Single2) 0 "v" - Name 42 "single2" - Name 47 "Single3" - MemberName 47(Single3) 0 "s1" - Name 49 "single3" - Name 53 "Single4" - MemberName 53(Single4) 0 "s1" - Name 55 "single4" - Name 62 "a2" - Name 64 "S1" - MemberName 64(S1) 0 "f" - MemberName 64(S1) 1 "i" - Name 65 "S2" - MemberName 65(S2) 0 "j" - MemberName 65(S2) 1 "g" - MemberName 65(S2) 2 "s1" - Name 67 "s2i" - Name 70 "a3" - Name 71 "a4" - Name 76 "s2" - Name 82 "a8" - Name 83 "b2" - Name 85 "a9" - Name 88 "@entryPointOutput" - Name 90 "input" - Name 95 "c4" - Name 96 "b5" - Name 97 "Constants" - MemberName 97(Constants) 0 "a" - MemberName 97(Constants) 1 "b" - MemberName 97(Constants) 2 "c" - Name 99 "" - Decorate 88(@entryPointOutput) Location 0 - Decorate 90(input) Location 0 - MemberDecorate 97(Constants) 0 Offset 0 - MemberDecorate 97(Constants) 1 Offset 4 - MemberDecorate 97(Constants) 2 Offset 8 - Decorate 97(Constants) Block - Decorate 99 DescriptorSet 0 + Name 11 "@ShaderFunction(vf4;" + Name 10 "input" + Name 14 "a1" + Name 19 "b1" + Name 25 "a1i" + Name 26 "b1i" + Name 28 "a2" + Name 30 "b3" + Name 32 "b4" + Name 34 "a5" + Name 35 "c5" + Name 38 "Single1" + MemberName 38(Single1) 0 "f" + Name 40 "single1" + Name 45 "Single2" + MemberName 45(Single2) 0 "v" + Name 47 "single2" + Name 52 "Single3" + MemberName 52(Single3) 0 "s1" + Name 54 "single3" + Name 58 "Single4" + MemberName 58(Single4) 0 "s1" + Name 60 "single4" + Name 66 "a2" + Name 68 "S1" + MemberName 68(S1) 0 "f" + MemberName 68(S1) 1 "i" + Name 69 "S2" + MemberName 69(S2) 0 "j" + MemberName 69(S2) 1 "g" + MemberName 69(S2) 2 "s1" + Name 71 "s2i" + Name 74 "a3" + Name 75 "a4" + Name 80 "s2" + Name 86 "a8" + Name 87 "b2" + Name 89 "a9" + Name 96 "input" + Name 98 "input" + Name 101 "@entryPointOutput" + Name 102 "param" + Name 105 "c4" + Name 106 "b5" + Name 107 "Constants" + MemberName 107(Constants) 0 "a" + MemberName 107(Constants) 1 "b" + MemberName 107(Constants) 2 "c" + Name 109 "" + Decorate 98(input) Location 0 + Decorate 101(@entryPointOutput) Location 0 + MemberDecorate 107(Constants) 0 Offset 0 + MemberDecorate 107(Constants) 1 Offset 4 + MemberDecorate 107(Constants) 2 Offset 8 + Decorate 107(Constants) Block + Decorate 109 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Private 7(fvec4) - 9(a1): 8(ptr) Variable Private - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1056964608 - 12: 6(float) Constant 0 - 13: 7(fvec4) ConstantComposite 10 11 12 10 - 14(b1): 8(ptr) Variable Private - 15: 6(float) Constant 1073741824 - 16: 6(float) Constant 1075838976 - 17: 6(float) Constant 1074161254 - 18: 6(float) Constant 1074580685 - 19: 7(fvec4) ConstantComposite 15 16 17 18 - 20(a1i): 8(ptr) Variable Private - 21(b1i): 8(ptr) Variable Private - 22: TypePointer Private 6(float) - 23(a2): 22(ptr) Variable Private - 24: 6(float) Constant 1045220557 - 25(b3): 22(ptr) Variable Private - 26: 6(float) Constant 1050253722 - 27(b4): 22(ptr) Variable Private - 28: 6(float) Constant 1053609165 - 29(a5): 22(ptr) Variable Private - 30(c5): 22(ptr) Variable Private - 31: 6(float) Constant 1069547520 - 32: TypeInt 32 1 - 33(Single1): TypeStruct 32(int) - 34: TypePointer Private 33(Single1) - 35(single1): 34(ptr) Variable Private - 36: 32(int) Constant 10 - 37: 33(Single1) ConstantComposite 36 - 38: TypeInt 32 0 - 39: TypeVector 38(int) 2 - 40(Single2): TypeStruct 39(ivec2) - 41: TypePointer Private 40(Single2) - 42(single2): 41(ptr) Variable Private - 43: 38(int) Constant 1 - 44: 38(int) Constant 2 - 45: 39(ivec2) ConstantComposite 43 44 - 46: 40(Single2) ConstantComposite 45 - 47(Single3): TypeStruct 33(Single1) - 48: TypePointer Private 47(Single3) - 49(single3): 48(ptr) Variable Private - 50: 32(int) Constant 3 - 51: 33(Single1) ConstantComposite 50 - 52: 47(Single3) ConstantComposite 51 - 53(Single4): TypeStruct 40(Single2) - 54: TypePointer Private 53(Single4) - 55(single4): 54(ptr) Variable Private - 56: 38(int) Constant 4 - 57: 38(int) Constant 5 - 58: 39(ivec2) ConstantComposite 56 57 - 59: 40(Single2) ConstantComposite 58 - 60: 53(Single4) ConstantComposite 59 - 61: TypePointer Function 7(fvec4) - 63: 7(fvec4) ConstantComposite 24 26 28 11 - 64(S1): TypeStruct 6(float) 32(int) - 65(S2): TypeStruct 32(int) 6(float) 64(S1) - 66: TypePointer Function 65(S2) - 68: 32(int) Constant 9 - 70(a3): 22(ptr) Variable Private - 71(a4): 22(ptr) Variable Private - 73: 32(int) Constant 12 - 81: TypePointer Function 6(float) - 83(b2): 22(ptr) Variable Private - 87: TypePointer Output 7(fvec4) -88(@entryPointOutput): 87(ptr) Variable Output - 89: TypePointer Input 7(fvec4) - 90(input): 89(ptr) Variable Input - 95(c4): 22(ptr) Variable Private - 96(b5): 22(ptr) Variable Private - 97(Constants): TypeStruct 6(float) 6(float) 6(float) - 98: TypePointer Uniform 97(Constants) - 99: 98(ptr) Variable Uniform + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 13: TypePointer Private 7(fvec4) + 14(a1): 13(ptr) Variable Private + 15: 6(float) Constant 1065353216 + 16: 6(float) Constant 1056964608 + 17: 6(float) Constant 0 + 18: 7(fvec4) ConstantComposite 15 16 17 15 + 19(b1): 13(ptr) Variable Private + 20: 6(float) Constant 1073741824 + 21: 6(float) Constant 1075838976 + 22: 6(float) Constant 1074161254 + 23: 6(float) Constant 1074580685 + 24: 7(fvec4) ConstantComposite 20 21 22 23 + 25(a1i): 13(ptr) Variable Private + 26(b1i): 13(ptr) Variable Private + 27: TypePointer Private 6(float) + 28(a2): 27(ptr) Variable Private + 29: 6(float) Constant 1045220557 + 30(b3): 27(ptr) Variable Private + 31: 6(float) Constant 1050253722 + 32(b4): 27(ptr) Variable Private + 33: 6(float) Constant 1053609165 + 34(a5): 27(ptr) Variable Private + 35(c5): 27(ptr) Variable Private + 36: 6(float) Constant 1069547520 + 37: TypeInt 32 1 + 38(Single1): TypeStruct 37(int) + 39: TypePointer Private 38(Single1) + 40(single1): 39(ptr) Variable Private + 41: 37(int) Constant 10 + 42: 38(Single1) ConstantComposite 41 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 2 + 45(Single2): TypeStruct 44(ivec2) + 46: TypePointer Private 45(Single2) + 47(single2): 46(ptr) Variable Private + 48: 43(int) Constant 1 + 49: 43(int) Constant 2 + 50: 44(ivec2) ConstantComposite 48 49 + 51: 45(Single2) ConstantComposite 50 + 52(Single3): TypeStruct 38(Single1) + 53: TypePointer Private 52(Single3) + 54(single3): 53(ptr) Variable Private + 55: 37(int) Constant 3 + 56: 38(Single1) ConstantComposite 55 + 57: 52(Single3) ConstantComposite 56 + 58(Single4): TypeStruct 45(Single2) + 59: TypePointer Private 58(Single4) + 60(single4): 59(ptr) Variable Private + 61: 43(int) Constant 4 + 62: 43(int) Constant 5 + 63: 44(ivec2) ConstantComposite 61 62 + 64: 45(Single2) ConstantComposite 63 + 65: 58(Single4) ConstantComposite 64 + 67: 7(fvec4) ConstantComposite 29 31 33 16 + 68(S1): TypeStruct 6(float) 37(int) + 69(S2): TypeStruct 37(int) 6(float) 68(S1) + 70: TypePointer Function 69(S2) + 72: 37(int) Constant 9 + 74(a3): 27(ptr) Variable Private + 75(a4): 27(ptr) Variable Private + 77: 37(int) Constant 12 + 85: TypePointer Function 6(float) + 87(b2): 27(ptr) Variable Private + 97: TypePointer Input 7(fvec4) + 98(input): 97(ptr) Variable Input + 100: TypePointer Output 7(fvec4) +101(@entryPointOutput): 100(ptr) Variable Output + 105(c4): 27(ptr) Variable Private + 106(b5): 27(ptr) Variable Private + 107(Constants): TypeStruct 6(float) 6(float) 6(float) + 108: TypePointer Uniform 107(Constants) + 109: 108(ptr) Variable Uniform 4(ShaderFunction): 2 Function None 3 5: Label - 62(a2): 61(ptr) Variable Function - 67(s2i): 66(ptr) Variable Function - 76(s2): 66(ptr) Variable Function - 82(a8): 81(ptr) Variable Function - 85(a9): 81(ptr) Variable Function - Store 9(a1) 13 - Store 14(b1) 19 - Store 20(a1i) 13 - Store 21(b1i) 19 - Store 23(a2) 24 - Store 25(b3) 26 - Store 27(b4) 28 - Store 29(a5) 11 - Store 30(c5) 31 - Store 35(single1) 37 - Store 42(single2) 46 - Store 49(single3) 52 - Store 55(single4) 60 - Store 62(a2) 63 - 69: 6(float) Load 29(a5) - 72: 6(float) Load 71(a4) - 74: 64(S1) CompositeConstruct 72 73 - 75: 65(S2) CompositeConstruct 68 69 74 - Store 67(s2i) 75 - 77: 6(float) Load 29(a5) - 78: 6(float) Load 71(a4) - 79: 64(S1) CompositeConstruct 78 73 - 80: 65(S2) CompositeConstruct 68 77 79 - Store 76(s2) 80 - 84: 6(float) Load 83(b2) - Store 82(a8) 84 - 86: 6(float) Load 29(a5) - Store 85(a9) 86 - 91: 7(fvec4) Load 90(input) - 92: 7(fvec4) Load 9(a1) - 93: 7(fvec4) FMul 91 92 - Store 88(@entryPointOutput) 93 + 96(input): 8(ptr) Variable Function + 102(param): 8(ptr) Variable Function + Store 14(a1) 18 + Store 19(b1) 24 + Store 25(a1i) 18 + Store 26(b1i) 24 + Store 28(a2) 29 + Store 30(b3) 31 + Store 32(b4) 33 + Store 34(a5) 16 + Store 35(c5) 36 + Store 40(single1) 42 + Store 47(single2) 51 + Store 54(single3) 57 + Store 60(single4) 65 + 99: 7(fvec4) Load 98(input) + Store 96(input) 99 + 103: 7(fvec4) Load 96(input) + Store 102(param) 103 + 104: 7(fvec4) FunctionCall 11(@ShaderFunction(vf4;) 102(param) + Store 101(@entryPointOutput) 104 Return FunctionEnd +11(@ShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 66(a2): 8(ptr) Variable Function + 71(s2i): 70(ptr) Variable Function + 80(s2): 70(ptr) Variable Function + 86(a8): 85(ptr) Variable Function + 89(a9): 85(ptr) Variable Function + Store 66(a2) 67 + 73: 6(float) Load 34(a5) + 76: 6(float) Load 75(a4) + 78: 68(S1) CompositeConstruct 76 77 + 79: 69(S2) CompositeConstruct 72 73 78 + Store 71(s2i) 79 + 81: 6(float) Load 34(a5) + 82: 6(float) Load 75(a4) + 83: 68(S1) CompositeConstruct 82 77 + 84: 69(S2) CompositeConstruct 72 81 83 + Store 80(s2) 84 + 88: 6(float) Load 87(b2) + Store 86(a8) 88 + 90: 6(float) Load 34(a5) + Store 89(a9) 90 + 91: 7(fvec4) Load 10(input) + 92: 7(fvec4) Load 14(a1) + 93: 7(fvec4) FMul 91 92 + ReturnValue 93 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out index d8d2d371f9a..33714aa486a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.init2.frag.out @@ -2,29 +2,29 @@ hlsl.init2.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: Test1( (temp void) +0:3 Function Definition: Test1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp structure{temp 2-component vector of float a}) -0:5 'test1' (temp structure{temp 2-component vector of float a}) +0:5 move second child to first child ( temp structure{ temp 2-component vector of float a}) +0:5 'test1' ( temp structure{ temp 2-component vector of float a}) 0:5 Constant: 0:5 1.000000 0:5 2.000000 0:9 Sequence -0:9 move second child to first child (temp structure{temp 2-component vector of float a}) -0:9 'test2' (temp structure{temp 2-component vector of float a}) +0:9 move second child to first child ( temp structure{ temp 2-component vector of float a}) +0:9 'test2' ( temp structure{ temp 2-component vector of float a}) 0:9 Constant: 0:9 3.000000 0:9 4.000000 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'test4' (temp float) +0:17 move second child to first child ( temp float) +0:17 'test4' ( temp float) 0:17 Constant: 0:17 7.000000 0:20 Sequence -0:20 move second child to first child (temp structure{temp float a, temp float b, temp float c}) -0:20 'test5' (temp structure{temp float a, temp float b, temp float c}) +0:20 move second child to first child ( temp structure{ temp float a, temp float b, temp float c}) +0:20 'test5' ( temp structure{ temp float a, temp float b, temp float c}) 0:20 Constant: 0:20 8.000000 0:20 9.000000 @@ -32,128 +32,128 @@ gl_FragCoord origin is upper left 0:22 Constant: 0:22 10.000000 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'n' (temp float) +0:25 move second child to first child ( temp float) +0:25 'n' ( temp float) 0:25 Constant: 0:25 0.000000 0:26 Sequence -0:26 move second child to first child (temp 8-element array of 3-component vector of float) -0:26 'a' (const (read only) 8-element array of 3-component vector of float) -0:26 Construct vec3 (temp 8-element array of 3-component vector of float) -0:27 vector-scale (temp 3-component vector of float) +0:26 move second child to first child ( temp 8-element array of 3-component vector of float) +0:26 'a' ( const (read only) 8-element array of 3-component vector of float) +0:26 Construct vec3 ( temp 8-element array of 3-component vector of float) +0:27 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? 0.577350 0:? 0.577350 -0:27 add second child into first child (temp float) -0:27 'n' (temp float) +0:27 add second child into first child ( temp float) +0:27 'n' ( temp float) 0:27 Constant: 0:27 1.000000 -0:28 vector-scale (temp 3-component vector of float) +0:28 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? -0.577350 0:? -0.577350 -0:28 add second child into first child (temp float) -0:28 'n' (temp float) +0:28 add second child into first child ( temp float) +0:28 'n' ( temp float) 0:28 Constant: 0:28 1.000000 -0:29 vector-scale (temp 3-component vector of float) +0:29 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? -0.577350 0:? 0.577350 -0:29 add second child into first child (temp float) -0:29 'n' (temp float) +0:29 add second child into first child ( temp float) +0:29 'n' ( temp float) 0:29 Constant: 0:29 1.000000 -0:30 vector-scale (temp 3-component vector of float) +0:30 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? -0.577350 -0:30 add second child into first child (temp float) -0:30 'n' (temp float) +0:30 add second child into first child ( temp float) +0:30 'n' ( temp float) 0:30 Constant: 0:30 1.000000 -0:31 vector-scale (temp 3-component vector of float) +0:31 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:31 add second child into first child (temp float) -0:31 'n' (temp float) +0:31 add second child into first child ( temp float) +0:31 'n' ( temp float) 0:31 Constant: 0:31 1.000000 -0:32 vector-scale (temp 3-component vector of float) +0:32 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? -0.577350 0:? -0.577350 -0:32 add second child into first child (temp float) -0:32 'n' (temp float) +0:32 add second child into first child ( temp float) +0:32 'n' ( temp float) 0:32 Constant: 0:32 1.000000 -0:33 vector-scale (temp 3-component vector of float) +0:33 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? -0.577350 0:? 0.577350 -0:33 add second child into first child (temp float) -0:33 'n' (temp float) +0:33 add second child into first child ( temp float) +0:33 'n' ( temp float) 0:33 Constant: 0:33 1.000000 -0:34 vector-scale (temp 3-component vector of float) +0:34 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? 0.577350 0:? -0.577350 -0:34 add second child into first child (temp float) -0:34 'n' (temp float) +0:34 add second child into first child ( temp float) +0:34 'n' ( temp float) 0:34 Constant: 0:34 1.000000 0:36 Sequence -0:36 move second child to first child (temp structure{temp 3-component vector of float a}) -0:36 'oneNonConst' (const (read only) structure{temp 3-component vector of float a}) -0:36 Construct structure (temp structure{temp 3-component vector of float a}) -0:36 vector-scale (temp 3-component vector of float) +0:36 move second child to first child ( temp structure{ temp 3-component vector of float a}) +0:36 'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a}) +0:36 Construct structure ( temp structure{ temp 3-component vector of float a}) +0:36 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:36 add second child into first child (temp float) -0:36 'n' (temp float) +0:36 add second child into first child ( temp float) +0:36 'n' ( temp float) 0:36 Constant: 0:36 1.000000 0:38 Sequence -0:38 move second child to first child (temp structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 'twoNonConst' (const (read only) structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 Construct structure (temp structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 vector-scale (temp 3-component vector of float) +0:38 move second child to first child ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 Construct structure ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:38 add second child into first child (temp float) -0:38 'n' (temp float) +0:38 add second child into first child ( temp float) +0:38 'n' ( temp float) 0:38 Constant: 0:38 1.000000 -0:39 vector-scale (temp 3-component vector of float) +0:39 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:39 add second child into first child (temp float) -0:39 'n' (temp float) +0:39 add second child into first child ( temp float) +0:39 'n' ( temp float) 0:39 Constant: 0:39 1.000000 -0:45 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence -0:46 Function Call: Test1( (temp void) -0:49 move second child to first child (temp 4-component vector of float) -0:49 color: direct index for structure (temp 4-component vector of float) -0:49 'ps_output' (temp structure{temp 4-component vector of float color}) +0:46 Function Call: Test1( ( temp void) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 color: direct index for structure ( temp 4-component vector of float) +0:49 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: @@ -161,17 +161,20 @@ gl_FragCoord origin is upper left 0:49 1.000000 0:49 1.000000 0:49 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:50 color: direct index for structure (temp 4-component vector of float) -0:50 'ps_output' (temp structure{temp 4-component vector of float color}) -0:50 Constant: -0:50 0 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:45 color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -180,29 +183,29 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: Test1( (temp void) +0:3 Function Definition: Test1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:5 Sequence -0:5 move second child to first child (temp structure{temp 2-component vector of float a}) -0:5 'test1' (temp structure{temp 2-component vector of float a}) +0:5 move second child to first child ( temp structure{ temp 2-component vector of float a}) +0:5 'test1' ( temp structure{ temp 2-component vector of float a}) 0:5 Constant: 0:5 1.000000 0:5 2.000000 0:9 Sequence -0:9 move second child to first child (temp structure{temp 2-component vector of float a}) -0:9 'test2' (temp structure{temp 2-component vector of float a}) +0:9 move second child to first child ( temp structure{ temp 2-component vector of float a}) +0:9 'test2' ( temp structure{ temp 2-component vector of float a}) 0:9 Constant: 0:9 3.000000 0:9 4.000000 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'test4' (temp float) +0:17 move second child to first child ( temp float) +0:17 'test4' ( temp float) 0:17 Constant: 0:17 7.000000 0:20 Sequence -0:20 move second child to first child (temp structure{temp float a, temp float b, temp float c}) -0:20 'test5' (temp structure{temp float a, temp float b, temp float c}) +0:20 move second child to first child ( temp structure{ temp float a, temp float b, temp float c}) +0:20 'test5' ( temp structure{ temp float a, temp float b, temp float c}) 0:20 Constant: 0:20 8.000000 0:20 9.000000 @@ -210,128 +213,128 @@ gl_FragCoord origin is upper left 0:22 Constant: 0:22 10.000000 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'n' (temp float) +0:25 move second child to first child ( temp float) +0:25 'n' ( temp float) 0:25 Constant: 0:25 0.000000 0:26 Sequence -0:26 move second child to first child (temp 8-element array of 3-component vector of float) -0:26 'a' (const (read only) 8-element array of 3-component vector of float) -0:26 Construct vec3 (temp 8-element array of 3-component vector of float) -0:27 vector-scale (temp 3-component vector of float) +0:26 move second child to first child ( temp 8-element array of 3-component vector of float) +0:26 'a' ( const (read only) 8-element array of 3-component vector of float) +0:26 Construct vec3 ( temp 8-element array of 3-component vector of float) +0:27 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? 0.577350 0:? 0.577350 -0:27 add second child into first child (temp float) -0:27 'n' (temp float) +0:27 add second child into first child ( temp float) +0:27 'n' ( temp float) 0:27 Constant: 0:27 1.000000 -0:28 vector-scale (temp 3-component vector of float) +0:28 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? -0.577350 0:? -0.577350 -0:28 add second child into first child (temp float) -0:28 'n' (temp float) +0:28 add second child into first child ( temp float) +0:28 'n' ( temp float) 0:28 Constant: 0:28 1.000000 -0:29 vector-scale (temp 3-component vector of float) +0:29 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? -0.577350 0:? 0.577350 -0:29 add second child into first child (temp float) -0:29 'n' (temp float) +0:29 add second child into first child ( temp float) +0:29 'n' ( temp float) 0:29 Constant: 0:29 1.000000 -0:30 vector-scale (temp 3-component vector of float) +0:30 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? -0.577350 -0:30 add second child into first child (temp float) -0:30 'n' (temp float) +0:30 add second child into first child ( temp float) +0:30 'n' ( temp float) 0:30 Constant: 0:30 1.000000 -0:31 vector-scale (temp 3-component vector of float) +0:31 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:31 add second child into first child (temp float) -0:31 'n' (temp float) +0:31 add second child into first child ( temp float) +0:31 'n' ( temp float) 0:31 Constant: 0:31 1.000000 -0:32 vector-scale (temp 3-component vector of float) +0:32 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? -0.577350 0:? -0.577350 -0:32 add second child into first child (temp float) -0:32 'n' (temp float) +0:32 add second child into first child ( temp float) +0:32 'n' ( temp float) 0:32 Constant: 0:32 1.000000 -0:33 vector-scale (temp 3-component vector of float) +0:33 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? -0.577350 0:? 0.577350 -0:33 add second child into first child (temp float) -0:33 'n' (temp float) +0:33 add second child into first child ( temp float) +0:33 'n' ( temp float) 0:33 Constant: 0:33 1.000000 -0:34 vector-scale (temp 3-component vector of float) +0:34 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? 0.577350 0:? 0.577350 0:? -0.577350 -0:34 add second child into first child (temp float) -0:34 'n' (temp float) +0:34 add second child into first child ( temp float) +0:34 'n' ( temp float) 0:34 Constant: 0:34 1.000000 0:36 Sequence -0:36 move second child to first child (temp structure{temp 3-component vector of float a}) -0:36 'oneNonConst' (const (read only) structure{temp 3-component vector of float a}) -0:36 Construct structure (temp structure{temp 3-component vector of float a}) -0:36 vector-scale (temp 3-component vector of float) +0:36 move second child to first child ( temp structure{ temp 3-component vector of float a}) +0:36 'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a}) +0:36 Construct structure ( temp structure{ temp 3-component vector of float a}) +0:36 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:36 add second child into first child (temp float) -0:36 'n' (temp float) +0:36 add second child into first child ( temp float) +0:36 'n' ( temp float) 0:36 Constant: 0:36 1.000000 0:38 Sequence -0:38 move second child to first child (temp structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 'twoNonConst' (const (read only) structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 Construct structure (temp structure{temp 3-component vector of float a, temp 3-component vector of float b}) -0:38 vector-scale (temp 3-component vector of float) +0:38 move second child to first child ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 Construct structure ( temp structure{ temp 3-component vector of float a, temp 3-component vector of float b}) +0:38 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:38 add second child into first child (temp float) -0:38 'n' (temp float) +0:38 add second child into first child ( temp float) +0:38 'n' ( temp float) 0:38 Constant: 0:38 1.000000 -0:39 vector-scale (temp 3-component vector of float) +0:39 vector-scale ( temp 3-component vector of float) 0:? Constant: 0:? -0.577350 0:? 0.577350 0:? 0.577350 -0:39 add second child into first child (temp float) -0:39 'n' (temp float) +0:39 add second child into first child ( temp float) +0:39 'n' ( temp float) 0:39 Constant: 0:39 1.000000 -0:45 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:45 Function Parameters: 0:? Sequence -0:46 Function Call: Test1( (temp void) -0:49 move second child to first child (temp 4-component vector of float) -0:49 color: direct index for structure (temp 4-component vector of float) -0:49 'ps_output' (temp structure{temp 4-component vector of float color}) +0:46 Function Call: Test1( ( temp void) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 color: direct index for structure ( temp 4-component vector of float) +0:49 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: @@ -339,179 +342,189 @@ gl_FragCoord origin is upper left 0:49 1.000000 0:49 1.000000 0:49 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:50 color: direct index for structure (temp 4-component vector of float) -0:50 'ps_output' (temp structure{temp 4-component vector of float color}) -0:50 Constant: -0:50 0 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:45 color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 107 +// Id's are bound by 112 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 + EntryPoint Fragment 4 "main" 109 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "Test1(" - Name 10 "mystruct" - MemberName 10(mystruct) 0 "a" - Name 12 "test1" - Name 17 "test2" - Name 23 "test4" - Name 25 "mystruct2" - MemberName 25(mystruct2) 0 "a" - MemberName 25(mystruct2) 1 "b" - MemberName 25(mystruct2) 2 "c" - Name 27 "test5" - Name 32 "n" - Name 39 "a" - Name 75 "one" - MemberName 75(one) 0 "a" - Name 77 "oneNonConst" - Name 82 "two" - MemberName 82(two) 0 "a" - MemberName 82(two) 1 "b" - Name 84 "twoNonConst" - Name 94 "PS_OUTPUT" - MemberName 94(PS_OUTPUT) 0 "color" - Name 96 "ps_output" - Name 103 "color" - Decorate 103(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 15 "mystruct" + MemberName 15(mystruct) 0 "a" + Name 17 "test1" + Name 22 "test2" + Name 28 "test4" + Name 30 "mystruct2" + MemberName 30(mystruct2) 0 "a" + MemberName 30(mystruct2) 1 "b" + MemberName 30(mystruct2) 2 "c" + Name 32 "test5" + Name 37 "n" + Name 44 "a" + Name 80 "one" + MemberName 80(one) 0 "a" + Name 82 "oneNonConst" + Name 87 "two" + MemberName 87(two) 0 "a" + MemberName 87(two) 1 "b" + Name 89 "twoNonConst" + Name 99 "ps_output" + Name 109 "color" + Decorate 109(color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 - 9: TypeVector 8(float) 2 - 10(mystruct): TypeStruct 9(fvec2) - 11: TypePointer Function 10(mystruct) - 13: 8(float) Constant 1065353216 - 14: 8(float) Constant 1073741824 - 15: 9(fvec2) ConstantComposite 13 14 - 16:10(mystruct) ConstantComposite 15 - 18: 8(float) Constant 1077936128 - 19: 8(float) Constant 1082130432 - 20: 9(fvec2) ConstantComposite 18 19 - 21:10(mystruct) ConstantComposite 20 - 22: TypePointer Function 8(float) - 24: 8(float) Constant 1088421888 - 25(mystruct2): TypeStruct 8(float) 8(float) 8(float) - 26: TypePointer Function 25(mystruct2) - 28: 8(float) Constant 1090519040 - 29: 8(float) Constant 1091567616 - 30: 8(float) Constant 1092616192 - 31:25(mystruct2) ConstantComposite 28 29 30 - 33: 8(float) Constant 0 - 34: TypeVector 8(float) 3 - 35: TypeInt 32 0 - 36: 35(int) Constant 8 - 37: TypeArray 34(fvec3) 36 - 38: TypePointer Function 37 - 40: 8(float) Constant 1058262330 - 41: 34(fvec3) ConstantComposite 40 40 40 - 45: 8(float) Constant 3205745978 - 46: 34(fvec3) ConstantComposite 45 45 45 - 50: 34(fvec3) ConstantComposite 45 45 40 - 54: 34(fvec3) ConstantComposite 45 40 45 - 58: 34(fvec3) ConstantComposite 45 40 40 - 62: 34(fvec3) ConstantComposite 40 45 45 - 66: 34(fvec3) ConstantComposite 40 45 40 - 70: 34(fvec3) ConstantComposite 40 40 45 - 75(one): TypeStruct 34(fvec3) - 76: TypePointer Function 75(one) - 82(two): TypeStruct 34(fvec3) 34(fvec3) - 83: TypePointer Function 82(two) - 93: TypeVector 8(float) 4 - 94(PS_OUTPUT): TypeStruct 93(fvec4) - 95: TypePointer Function 94(PS_OUTPUT) - 97: TypeInt 32 1 - 98: 97(int) Constant 0 - 99: 93(fvec4) ConstantComposite 13 13 13 13 - 100: TypePointer Function 93(fvec4) - 102: TypePointer Output 93(fvec4) - 103(color): 102(ptr) Variable Output + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeVector 8(float) 2 + 15(mystruct): TypeStruct 14(fvec2) + 16: TypePointer Function 15(mystruct) + 18: 8(float) Constant 1065353216 + 19: 8(float) Constant 1073741824 + 20: 14(fvec2) ConstantComposite 18 19 + 21:15(mystruct) ConstantComposite 20 + 23: 8(float) Constant 1077936128 + 24: 8(float) Constant 1082130432 + 25: 14(fvec2) ConstantComposite 23 24 + 26:15(mystruct) ConstantComposite 25 + 27: TypePointer Function 8(float) + 29: 8(float) Constant 1088421888 + 30(mystruct2): TypeStruct 8(float) 8(float) 8(float) + 31: TypePointer Function 30(mystruct2) + 33: 8(float) Constant 1090519040 + 34: 8(float) Constant 1091567616 + 35: 8(float) Constant 1092616192 + 36:30(mystruct2) ConstantComposite 33 34 35 + 38: 8(float) Constant 0 + 39: TypeVector 8(float) 3 + 40: TypeInt 32 0 + 41: 40(int) Constant 8 + 42: TypeArray 39(fvec3) 41 + 43: TypePointer Function 42 + 45: 8(float) Constant 1058262330 + 46: 39(fvec3) ConstantComposite 45 45 45 + 50: 8(float) Constant 3205745978 + 51: 39(fvec3) ConstantComposite 50 50 50 + 55: 39(fvec3) ConstantComposite 50 50 45 + 59: 39(fvec3) ConstantComposite 50 45 50 + 63: 39(fvec3) ConstantComposite 50 45 45 + 67: 39(fvec3) ConstantComposite 45 50 50 + 71: 39(fvec3) ConstantComposite 45 50 45 + 75: 39(fvec3) ConstantComposite 45 45 50 + 80(one): TypeStruct 39(fvec3) + 81: TypePointer Function 80(one) + 87(two): TypeStruct 39(fvec3) 39(fvec3) + 88: TypePointer Function 87(two) + 98: TypePointer Function 10(PS_OUTPUT) + 100: TypeInt 32 1 + 101: 100(int) Constant 0 + 102: 9(fvec4) ConstantComposite 18 18 18 18 + 103: TypePointer Function 9(fvec4) + 108: TypePointer Output 9(fvec4) + 109(color): 108(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 96(ps_output): 95(ptr) Variable Function - 92: 2 FunctionCall 6(Test1() - 101: 100(ptr) AccessChain 96(ps_output) 98 - Store 101 99 - 104: 100(ptr) AccessChain 96(ps_output) 98 - 105: 93(fvec4) Load 104 - Store 103(color) 105 + 110:10(PS_OUTPUT) FunctionCall 12(@main() + 111: 9(fvec4) CompositeExtract 110 0 + Store 109(color) 111 Return FunctionEnd 6(Test1(): 2 Function None 3 7: Label - 12(test1): 11(ptr) Variable Function - 17(test2): 11(ptr) Variable Function - 23(test4): 22(ptr) Variable Function - 27(test5): 26(ptr) Variable Function - 32(n): 22(ptr) Variable Function - 39(a): 38(ptr) Variable Function - 77(oneNonConst): 76(ptr) Variable Function - 84(twoNonConst): 83(ptr) Variable Function - Store 12(test1) 16 - Store 17(test2) 21 - Store 23(test4) 24 - Store 27(test5) 31 - Store 32(n) 33 - 42: 8(float) Load 32(n) - 43: 8(float) FAdd 42 13 - Store 32(n) 43 - 44: 34(fvec3) VectorTimesScalar 41 43 - 47: 8(float) Load 32(n) - 48: 8(float) FAdd 47 13 - Store 32(n) 48 - 49: 34(fvec3) VectorTimesScalar 46 48 - 51: 8(float) Load 32(n) - 52: 8(float) FAdd 51 13 - Store 32(n) 52 - 53: 34(fvec3) VectorTimesScalar 50 52 - 55: 8(float) Load 32(n) - 56: 8(float) FAdd 55 13 - Store 32(n) 56 - 57: 34(fvec3) VectorTimesScalar 54 56 - 59: 8(float) Load 32(n) - 60: 8(float) FAdd 59 13 - Store 32(n) 60 - 61: 34(fvec3) VectorTimesScalar 58 60 - 63: 8(float) Load 32(n) - 64: 8(float) FAdd 63 13 - Store 32(n) 64 - 65: 34(fvec3) VectorTimesScalar 62 64 - 67: 8(float) Load 32(n) - 68: 8(float) FAdd 67 13 - Store 32(n) 68 - 69: 34(fvec3) VectorTimesScalar 66 68 - 71: 8(float) Load 32(n) - 72: 8(float) FAdd 71 13 - Store 32(n) 72 - 73: 34(fvec3) VectorTimesScalar 70 72 - 74: 37 CompositeConstruct 44 49 53 57 61 65 69 73 - Store 39(a) 74 - 78: 8(float) Load 32(n) - 79: 8(float) FAdd 78 13 - Store 32(n) 79 - 80: 34(fvec3) VectorTimesScalar 58 79 - 81: 75(one) CompositeConstruct 80 - Store 77(oneNonConst) 81 - 85: 8(float) Load 32(n) - 86: 8(float) FAdd 85 13 - Store 32(n) 86 - 87: 34(fvec3) VectorTimesScalar 58 86 - 88: 8(float) Load 32(n) - 89: 8(float) FAdd 88 13 - Store 32(n) 89 - 90: 34(fvec3) VectorTimesScalar 58 89 - 91: 82(two) CompositeConstruct 87 90 - Store 84(twoNonConst) 91 + 17(test1): 16(ptr) Variable Function + 22(test2): 16(ptr) Variable Function + 28(test4): 27(ptr) Variable Function + 32(test5): 31(ptr) Variable Function + 37(n): 27(ptr) Variable Function + 44(a): 43(ptr) Variable Function + 82(oneNonConst): 81(ptr) Variable Function + 89(twoNonConst): 88(ptr) Variable Function + Store 17(test1) 21 + Store 22(test2) 26 + Store 28(test4) 29 + Store 32(test5) 36 + Store 37(n) 38 + 47: 8(float) Load 37(n) + 48: 8(float) FAdd 47 18 + Store 37(n) 48 + 49: 39(fvec3) VectorTimesScalar 46 48 + 52: 8(float) Load 37(n) + 53: 8(float) FAdd 52 18 + Store 37(n) 53 + 54: 39(fvec3) VectorTimesScalar 51 53 + 56: 8(float) Load 37(n) + 57: 8(float) FAdd 56 18 + Store 37(n) 57 + 58: 39(fvec3) VectorTimesScalar 55 57 + 60: 8(float) Load 37(n) + 61: 8(float) FAdd 60 18 + Store 37(n) 61 + 62: 39(fvec3) VectorTimesScalar 59 61 + 64: 8(float) Load 37(n) + 65: 8(float) FAdd 64 18 + Store 37(n) 65 + 66: 39(fvec3) VectorTimesScalar 63 65 + 68: 8(float) Load 37(n) + 69: 8(float) FAdd 68 18 + Store 37(n) 69 + 70: 39(fvec3) VectorTimesScalar 67 69 + 72: 8(float) Load 37(n) + 73: 8(float) FAdd 72 18 + Store 37(n) 73 + 74: 39(fvec3) VectorTimesScalar 71 73 + 76: 8(float) Load 37(n) + 77: 8(float) FAdd 76 18 + Store 37(n) 77 + 78: 39(fvec3) VectorTimesScalar 75 77 + 79: 42 CompositeConstruct 49 54 58 62 66 70 74 78 + Store 44(a) 79 + 83: 8(float) Load 37(n) + 84: 8(float) FAdd 83 18 + Store 37(n) 84 + 85: 39(fvec3) VectorTimesScalar 63 84 + 86: 80(one) CompositeConstruct 85 + Store 82(oneNonConst) 86 + 90: 8(float) Load 37(n) + 91: 8(float) FAdd 90 18 + Store 37(n) 91 + 92: 39(fvec3) VectorTimesScalar 63 91 + 93: 8(float) Load 37(n) + 94: 8(float) FAdd 93 18 + Store 37(n) 94 + 95: 39(fvec3) VectorTimesScalar 63 94 + 96: 87(two) CompositeConstruct 92 95 + Store 89(twoNonConst) 96 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 99(ps_output): 98(ptr) Variable Function + 97: 2 FunctionCall 6(Test1() + 104: 103(ptr) AccessChain 99(ps_output) 101 + Store 104 102 + 105:10(PS_OUTPUT) Load 99(ps_output) + ReturnValue 105 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out index b2716a4c84a..65017035b53 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.inoutquals.frag.out @@ -2,80 +2,94 @@ hlsl.inoutquals.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: MyFunc(f1;f1;f1; (temp void) +0:8 Function Definition: MyFunc(f1;f1;f1; ( temp void) 0:8 Function Parameters: -0:8 'x' (in float) -0:8 'y' (out float) -0:8 'z' (inout float) +0:8 'x' ( in float) +0:8 'y' ( out float) +0:8 'z' ( inout float) 0:? Sequence -0:9 move second child to first child (temp float) -0:9 'y' (out float) -0:9 'x' (in float) -0:10 move second child to first child (temp float) -0:10 'z' (inout float) -0:10 'y' (out float) -0:11 move second child to first child (temp float) -0:11 'x' (in float) +0:9 move second child to first child ( temp float) +0:9 'y' ( out float) +0:9 'x' ( in float) +0:10 move second child to first child ( temp float) +0:10 'z' ( inout float) +0:10 'y' ( out float) +0:11 move second child to first child ( temp float) +0:11 'x' ( in float) 0:11 Constant: 0:11 -1.000000 -0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:15 'inpos' (noperspective in 4-component vector of float FragCoord) -0:15 'sampleMask' (out int SampleMaskIn) +0:15 'inpos' ( in 4-component vector of float) +0:15 'sampleMask' ( out int) 0:? Sequence 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'x' (temp float) +0:18 move second child to first child ( temp float) +0:18 'x' ( temp float) 0:18 Constant: 0:18 7.000000 -0:18 move second child to first child (temp float) -0:18 'z' (temp float) +0:18 move second child to first child ( temp float) +0:18 'z' ( temp float) 0:18 Constant: 0:18 3.000000 -0:19 Function Call: MyFunc(f1;f1;f1; (temp void) -0:19 'x' (temp float) -0:19 'y' (temp float) -0:19 'z' (temp float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 Color: direct index for structure (temp 4-component vector of float) -0:21 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:19 Function Call: MyFunc(f1;f1;f1; ( temp void) +0:19 'x' ( temp float) +0:19 'y' ( temp float) +0:19 'z' ( temp float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 Color: direct index for structure ( temp 4-component vector of float) +0:21 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:21 Constant: 0:21 0 (const int) -0:? Construct vec4 (temp 4-component vector of float) -0:21 'x' (temp float) -0:21 'y' (temp float) -0:21 'z' (temp float) +0:? Construct vec4 ( temp 4-component vector of float) +0:21 'x' ( temp float) +0:21 'y' ( temp float) +0:21 'z' ( temp float) 0:21 Constant: 0:21 1.000000 -0:22 move second child to first child (temp float) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:22 move second child to first child ( temp float) +0:22 Depth: direct index for structure ( temp float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:22 Constant: 0:22 1 (const int) -0:22 direct index (temp float) -0:22 'inpos' (noperspective in 4-component vector of float FragCoord) +0:22 direct index ( temp float) +0:22 'inpos' ( in 4-component vector of float) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:24 Color: direct index for structure (temp 4-component vector of float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:24 Depth: direct index for structure (temp float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 1 (const int) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'inpos' ( temp 4-component vector of float) +0:? 'inpos' ( noperspective in 4-component vector of float FragCoord) +0:15 Sequence +0:15 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Function Call: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:? 'inpos' ( temp 4-component vector of float) +0:? 'sampleMask' ( temp int) +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:15 Color: direct index for structure ( temp 4-component vector of float) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:15 Depth: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child ( temp int) +0:? 'sampleMask' ( out int SampleMaskIn) +0:? 'sampleMask' ( temp int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'inpos' (noperspective in 4-component vector of float FragCoord) -0:? 'sampleMask' (out int SampleMaskIn) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) +0:? 'inpos' ( noperspective in 4-component vector of float FragCoord) +0:? 'sampleMask' ( out int SampleMaskIn) Linked fragment stage: @@ -84,178 +98,188 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:8 Function Definition: MyFunc(f1;f1;f1; (temp void) +0:8 Function Definition: MyFunc(f1;f1;f1; ( temp void) 0:8 Function Parameters: -0:8 'x' (in float) -0:8 'y' (out float) -0:8 'z' (inout float) +0:8 'x' ( in float) +0:8 'y' ( out float) +0:8 'z' ( inout float) 0:? Sequence -0:9 move second child to first child (temp float) -0:9 'y' (out float) -0:9 'x' (in float) -0:10 move second child to first child (temp float) -0:10 'z' (inout float) -0:10 'y' (out float) -0:11 move second child to first child (temp float) -0:11 'x' (in float) +0:9 move second child to first child ( temp float) +0:9 'y' ( out float) +0:9 'x' ( in float) +0:10 move second child to first child ( temp float) +0:10 'z' ( inout float) +0:10 'y' ( out float) +0:11 move second child to first child ( temp float) +0:11 'x' ( in float) 0:11 Constant: 0:11 -1.000000 -0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:15 'inpos' (noperspective in 4-component vector of float FragCoord) -0:15 'sampleMask' (out int SampleMaskIn) +0:15 'inpos' ( in 4-component vector of float) +0:15 'sampleMask' ( out int) 0:? Sequence 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'x' (temp float) +0:18 move second child to first child ( temp float) +0:18 'x' ( temp float) 0:18 Constant: 0:18 7.000000 -0:18 move second child to first child (temp float) -0:18 'z' (temp float) +0:18 move second child to first child ( temp float) +0:18 'z' ( temp float) 0:18 Constant: 0:18 3.000000 -0:19 Function Call: MyFunc(f1;f1;f1; (temp void) -0:19 'x' (temp float) -0:19 'y' (temp float) -0:19 'z' (temp float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 Color: direct index for structure (temp 4-component vector of float) -0:21 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:19 Function Call: MyFunc(f1;f1;f1; ( temp void) +0:19 'x' ( temp float) +0:19 'y' ( temp float) +0:19 'z' ( temp float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 Color: direct index for structure ( temp 4-component vector of float) +0:21 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:21 Constant: 0:21 0 (const int) -0:? Construct vec4 (temp 4-component vector of float) -0:21 'x' (temp float) -0:21 'y' (temp float) -0:21 'z' (temp float) +0:? Construct vec4 ( temp 4-component vector of float) +0:21 'x' ( temp float) +0:21 'y' ( temp float) +0:21 'z' ( temp float) 0:21 Constant: 0:21 1.000000 -0:22 move second child to first child (temp float) -0:22 Depth: direct index for structure (temp float) -0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:22 move second child to first child ( temp float) +0:22 Depth: direct index for structure ( temp float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:22 Constant: 0:22 1 (const int) -0:22 direct index (temp float) -0:22 'inpos' (noperspective in 4-component vector of float FragCoord) +0:22 direct index ( temp float) +0:22 'inpos' ( in 4-component vector of float) 0:22 Constant: 0:22 3 (const int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:24 Color: direct index for structure (temp 4-component vector of float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:24 Depth: direct index for structure (temp float) -0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:24 Constant: -0:24 1 (const int) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'inpos' ( temp 4-component vector of float) +0:? 'inpos' ( noperspective in 4-component vector of float FragCoord) +0:15 Sequence +0:15 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Function Call: @main(vf4;i1; ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:? 'inpos' ( temp 4-component vector of float) +0:? 'sampleMask' ( temp int) +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:15 Color: direct index for structure ( temp 4-component vector of float) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:15 Depth: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child ( temp int) +0:? 'sampleMask' ( out int SampleMaskIn) +0:? 'sampleMask' ( temp int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'inpos' (noperspective in 4-component vector of float FragCoord) -0:? 'sampleMask' (out int SampleMaskIn) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) +0:? 'inpos' ( noperspective in 4-component vector of float FragCoord) +0:? 'sampleMask' ( out int SampleMaskIn) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 63 +// Id's are bound by 80 Capability Shader Capability SampleRateShading 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 45 53 57 62 + EntryPoint Fragment 4 "main" 60 70 74 78 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 12 "MyFunc(f1;f1;f1;" Name 9 "x" Name 10 "y" Name 11 "z" - Name 17 "x" - Name 19 "z" - Name 21 "y" - Name 22 "param" - Name 24 "param" - Name 25 "param" - Name 31 "PS_OUTPUT" - MemberName 31(PS_OUTPUT) 0 "Color" - MemberName 31(PS_OUTPUT) 1 "Depth" - Name 33 "psout" - Name 45 "inpos" - Name 53 "Color" - Name 57 "Depth" - Name 62 "sampleMask" - Decorate 45(inpos) NoPerspective - Decorate 45(inpos) BuiltIn FragCoord - Decorate 53(Color) Location 0 - Decorate 57(Depth) BuiltIn FragDepth - Decorate 62(sampleMask) BuiltIn SampleMask + Name 18 "PS_OUTPUT" + MemberName 18(PS_OUTPUT) 0 "Color" + MemberName 18(PS_OUTPUT) 1 "Depth" + Name 22 "@main(vf4;i1;" + Name 20 "inpos" + Name 21 "sampleMask" + Name 27 "x" + Name 29 "z" + Name 31 "y" + Name 32 "param" + Name 34 "param" + Name 35 "param" + Name 41 "psout" + Name 58 "inpos" + Name 60 "inpos" + Name 62 "flattenTemp" + Name 63 "sampleMask" + Name 64 "param" + Name 66 "param" + Name 70 "Color" + Name 74 "Depth" + Name 78 "sampleMask" + Decorate 60(inpos) NoPerspective + Decorate 60(inpos) BuiltIn FragCoord + Decorate 70(Color) Location 0 + Decorate 74(Depth) BuiltIn FragDepth + Decorate 78(sampleMask) BuiltIn SampleMask 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) - 16: 6(float) Constant 3212836864 - 18: 6(float) Constant 1088421888 - 20: 6(float) Constant 1077936128 - 30: TypeVector 6(float) 4 - 31(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) - 32: TypePointer Function 31(PS_OUTPUT) - 34: TypeInt 32 1 - 35: 34(int) Constant 0 - 39: 6(float) Constant 1065353216 - 41: TypePointer Function 30(fvec4) - 43: 34(int) Constant 1 - 44: TypePointer Input 30(fvec4) - 45(inpos): 44(ptr) Variable Input - 46: TypeInt 32 0 - 47: 46(int) Constant 3 - 48: TypePointer Input 6(float) - 52: TypePointer Output 30(fvec4) - 53(Color): 52(ptr) Variable Output - 56: TypePointer Output 6(float) - 57(Depth): 56(ptr) Variable Output - 61: TypePointer Output 34(int) - 62(sampleMask): 61(ptr) Variable Output + 14: TypeVector 6(float) 4 + 15: TypePointer Function 14(fvec4) + 16: TypeInt 32 1 + 17: TypePointer Function 16(int) + 18(PS_OUTPUT): TypeStruct 14(fvec4) 6(float) + 19: TypeFunction 18(PS_OUTPUT) 15(ptr) 17(ptr) + 26: 6(float) Constant 3212836864 + 28: 6(float) Constant 1088421888 + 30: 6(float) Constant 1077936128 + 40: TypePointer Function 18(PS_OUTPUT) + 42: 16(int) Constant 0 + 46: 6(float) Constant 1065353216 + 49: 16(int) Constant 1 + 50: TypeInt 32 0 + 51: 50(int) Constant 3 + 59: TypePointer Input 14(fvec4) + 60(inpos): 59(ptr) Variable Input + 69: TypePointer Output 14(fvec4) + 70(Color): 69(ptr) Variable Output + 73: TypePointer Output 6(float) + 74(Depth): 73(ptr) Variable Output + 77: TypePointer Output 16(int) + 78(sampleMask): 77(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 17(x): 7(ptr) Variable Function - 19(z): 7(ptr) Variable Function - 21(y): 7(ptr) Variable Function - 22(param): 7(ptr) Variable Function - 24(param): 7(ptr) Variable Function - 25(param): 7(ptr) Variable Function - 33(psout): 32(ptr) Variable Function - Store 17(x) 18 - Store 19(z) 20 - 23: 6(float) Load 17(x) - Store 22(param) 23 - 26: 6(float) Load 19(z) - Store 25(param) 26 - 27: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 22(param) 24(param) 25(param) - 28: 6(float) Load 24(param) - Store 21(y) 28 - 29: 6(float) Load 25(param) - Store 19(z) 29 - 36: 6(float) Load 17(x) - 37: 6(float) Load 21(y) - 38: 6(float) Load 19(z) - 40: 30(fvec4) CompositeConstruct 36 37 38 39 - 42: 41(ptr) AccessChain 33(psout) 35 - Store 42 40 - 49: 48(ptr) AccessChain 45(inpos) 47 - 50: 6(float) Load 49 - 51: 7(ptr) AccessChain 33(psout) 43 - Store 51 50 - 54: 41(ptr) AccessChain 33(psout) 35 - 55: 30(fvec4) Load 54 - Store 53(Color) 55 - 58: 7(ptr) AccessChain 33(psout) 43 - 59: 6(float) Load 58 - Store 57(Depth) 59 + 58(inpos): 15(ptr) Variable Function + 62(flattenTemp): 40(ptr) Variable Function + 63(sampleMask): 17(ptr) Variable Function + 64(param): 15(ptr) Variable Function + 66(param): 17(ptr) Variable Function + 61: 14(fvec4) Load 60(inpos) + Store 58(inpos) 61 + 65: 14(fvec4) Load 58(inpos) + Store 64(param) 65 + 67:18(PS_OUTPUT) FunctionCall 22(@main(vf4;i1;) 64(param) 66(param) + 68: 16(int) Load 66(param) + Store 63(sampleMask) 68 + Store 62(flattenTemp) 67 + 71: 15(ptr) AccessChain 62(flattenTemp) 42 + 72: 14(fvec4) Load 71 + Store 70(Color) 72 + 75: 7(ptr) AccessChain 62(flattenTemp) 49 + 76: 6(float) Load 75 + Store 74(Depth) 76 + 79: 16(int) Load 63(sampleMask) + Store 78(sampleMask) 79 Return FunctionEnd 12(MyFunc(f1;f1;f1;): 2 Function None 8 @@ -263,10 +287,45 @@ gl_FragCoord origin is upper left 10(y): 7(ptr) FunctionParameter 11(z): 7(ptr) FunctionParameter 13: Label - 14: 6(float) Load 9(x) - Store 10(y) 14 - 15: 6(float) Load 10(y) - Store 11(z) 15 - Store 9(x) 16 + 24: 6(float) Load 9(x) + Store 10(y) 24 + 25: 6(float) Load 10(y) + Store 11(z) 25 + Store 9(x) 26 Return FunctionEnd +22(@main(vf4;i1;):18(PS_OUTPUT) Function None 19 + 20(inpos): 15(ptr) FunctionParameter + 21(sampleMask): 17(ptr) FunctionParameter + 23: Label + 27(x): 7(ptr) Variable Function + 29(z): 7(ptr) Variable Function + 31(y): 7(ptr) Variable Function + 32(param): 7(ptr) Variable Function + 34(param): 7(ptr) Variable Function + 35(param): 7(ptr) Variable Function + 41(psout): 40(ptr) Variable Function + Store 27(x) 28 + Store 29(z) 30 + 33: 6(float) Load 27(x) + Store 32(param) 33 + 36: 6(float) Load 29(z) + Store 35(param) 36 + 37: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 32(param) 34(param) 35(param) + 38: 6(float) Load 34(param) + Store 31(y) 38 + 39: 6(float) Load 35(param) + Store 29(z) 39 + 43: 6(float) Load 27(x) + 44: 6(float) Load 31(y) + 45: 6(float) Load 29(z) + 47: 14(fvec4) CompositeConstruct 43 44 45 46 + 48: 15(ptr) AccessChain 41(psout) 42 + Store 48 47 + 52: 7(ptr) AccessChain 20(inpos) 51 + 53: 6(float) Load 52 + 54: 7(ptr) AccessChain 41(psout) 49 + Store 54 53 + 55:18(PS_OUTPUT) Load 41(psout) + ReturnValue 55 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out index 07bd3709e2f..c82ee0f0526 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.barriers.comp.out @@ -2,23 +2,26 @@ hlsl.intrinsics.barriers.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:3 Function Definition: ComputeShaderFunction( (temp float) +0:3 Function Definition: @ComputeShaderFunction( ( temp float) 0:3 Function Parameters: 0:? Sequence -0:4 MemoryBarrier (temp void) -0:5 AllMemoryBarrierWithGroupSync (temp void) -0:6 GroupMemoryBarrier (temp void) -0:7 GroupMemoryBarrierWithGroupSync (temp void) -0:8 WorkgroupMemoryBarrier (temp void) -0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 Constant: -0:11 0.000000 -0:11 Branch: Return +0:4 MemoryBarrier ( temp void) +0:5 AllMemoryBarrierWithGroupSync ( temp void) +0:6 GroupMemoryBarrier ( temp void) +0:7 GroupMemoryBarrierWithGroupSync ( temp void) +0:8 WorkgroupMemoryBarrier ( temp void) +0:9 WorkgroupMemoryBarrierWithGroupSync ( temp void) +0:11 Branch: Return with expression +0:11 Constant: +0:11 0.000000 +0:3 Function Definition: ComputeShaderFunction( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:3 Function Call: @ComputeShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) +0:? '@entryPointOutput' (layout( location=0) out float) Linked compute stage: @@ -27,56 +30,66 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:3 Function Definition: ComputeShaderFunction( (temp float) +0:3 Function Definition: @ComputeShaderFunction( ( temp float) 0:3 Function Parameters: 0:? Sequence -0:4 MemoryBarrier (temp void) -0:5 AllMemoryBarrierWithGroupSync (temp void) -0:6 GroupMemoryBarrier (temp void) -0:7 GroupMemoryBarrierWithGroupSync (temp void) -0:8 WorkgroupMemoryBarrier (temp void) -0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 Constant: -0:11 0.000000 -0:11 Branch: Return +0:4 MemoryBarrier ( temp void) +0:5 AllMemoryBarrierWithGroupSync ( temp void) +0:6 GroupMemoryBarrier ( temp void) +0:7 GroupMemoryBarrierWithGroupSync ( temp void) +0:8 WorkgroupMemoryBarrier ( temp void) +0:9 WorkgroupMemoryBarrierWithGroupSync ( temp void) +0:11 Branch: Return with expression +0:11 Constant: +0:11 0.000000 +0:3 Function Definition: ComputeShaderFunction( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:3 Function Call: @ComputeShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) +0:? '@entryPointOutput' (layout( location=0) out float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 22 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 14 + EntryPoint GLCompute 4 "ComputeShaderFunction" 20 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" - Name 14 "@entryPointOutput" - Decorate 14(@entryPointOutput) Location 0 + Name 8 "@ComputeShaderFunction(" + Name 20 "@entryPointOutput" + Decorate 20(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: 6(int) Constant 1 - 8: 6(int) Constant 4048 - 9: 6(int) Constant 512 - 10: 6(int) Constant 2 - 11: 6(int) Constant 256 - 12: TypeFloat 32 - 13: TypePointer Output 12(float) -14(@entryPointOutput): 13(ptr) Variable Output - 15: 12(float) Constant 0 + 6: TypeFloat 32 + 7: TypeFunction 6(float) + 10: TypeInt 32 0 + 11: 10(int) Constant 1 + 12: 10(int) Constant 4048 + 13: 10(int) Constant 512 + 14: 10(int) Constant 2 + 15: 10(int) Constant 256 + 16: 6(float) Constant 0 + 19: TypePointer Output 6(float) +20(@entryPointOutput): 19(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - MemoryBarrier 7 8 - ControlBarrier 7 7 8 - MemoryBarrier 7 9 - ControlBarrier 7 7 9 - MemoryBarrier 10 11 - ControlBarrier 10 10 11 - Store 14(@entryPointOutput) 15 + 21: 6(float) FunctionCall 8(@ComputeShaderFunction() + Store 20(@entryPointOutput) 21 Return FunctionEnd +8(@ComputeShaderFunction(): 6(float) Function None 7 + 9: Label + MemoryBarrier 11 12 + ControlBarrier 11 11 12 + MemoryBarrier 11 13 + ControlBarrier 11 11 13 + MemoryBarrier 14 15 + ControlBarrier 14 14 15 + ReturnValue 16 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out index 42ad9731639..c4f7ac89ade 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.comp.out @@ -2,331 +2,354 @@ hlsl.intrinsics.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:17 Function Parameters: -0:17 'inF0' (in float) -0:17 'inF1' (in float) -0:17 'inF2' (in float) -0:17 'inU0' (in uint) -0:17 'inU1' (in uint) +0:17 'inF0' ( in float) +0:17 'inF1' ( in float) +0:17 'inF2' ( in float) +0:17 'inU0' ( in uint) +0:17 'inU1' ( in uint) 0:? Sequence -0:21 all (temp bool) -0:21 'inF0' (in float) -0:24 AtomicAdd (temp void) -0:24 'gs_ua' (shared uint) -0:24 'gs_ub' (shared uint) -0:25 move second child to first child (temp uint) -0:25 'out_u1' (temp uint) -0:25 AtomicAdd (temp uint) -0:25 'gs_ua' (shared uint) -0:25 'gs_ub' (shared uint) -0:26 AtomicAnd (temp void) -0:26 'gs_ua' (shared uint) -0:26 'gs_ub' (shared uint) -0:27 move second child to first child (temp uint) -0:27 'out_u1' (temp uint) -0:27 AtomicAnd (temp uint) -0:27 'gs_ua' (shared uint) -0:27 'gs_ub' (shared uint) -0:28 move second child to first child (temp uint) -0:28 'out_u1' (temp uint) -0:28 AtomicCompSwap (temp uint) -0:28 'gs_ua' (shared uint) -0:28 'gs_ub' (shared uint) -0:28 'gs_uc' (shared uint) -0:29 move second child to first child (temp uint) -0:29 'out_u1' (temp uint) -0:29 AtomicExchange (temp uint) -0:29 'gs_ua' (shared uint) -0:29 'gs_ub' (shared uint) -0:30 AtomicMax (temp void) -0:30 'gs_ua' (shared uint) -0:30 'gs_ub' (shared uint) -0:31 move second child to first child (temp uint) -0:31 'out_u1' (temp uint) -0:31 AtomicMax (temp uint) -0:31 'gs_ua' (shared uint) -0:31 'gs_ub' (shared uint) -0:32 AtomicMin (temp void) -0:32 'gs_ua' (shared uint) -0:32 'gs_ub' (shared uint) -0:33 move second child to first child (temp uint) -0:33 'out_u1' (temp uint) -0:33 AtomicMin (temp uint) -0:33 'gs_ua' (shared uint) -0:33 'gs_ub' (shared uint) -0:34 AtomicOr (temp void) -0:34 'gs_ua' (shared uint) -0:34 'gs_ub' (shared uint) -0:35 move second child to first child (temp uint) -0:35 'out_u1' (temp uint) -0:35 AtomicOr (temp uint) -0:35 'gs_ua' (shared uint) -0:35 'gs_ub' (shared uint) -0:36 AtomicXor (temp void) -0:36 'gs_ua' (shared uint) -0:36 'gs_ub' (shared uint) -0:37 move second child to first child (temp uint) -0:37 'out_u1' (temp uint) -0:37 AtomicXor (temp uint) -0:37 'gs_ua' (shared uint) -0:37 'gs_ub' (shared uint) +0:21 all ( temp bool) +0:21 'inF0' ( in float) +0:24 AtomicAdd ( temp void) +0:24 'gs_ua' ( shared uint) +0:24 'gs_ub' ( shared uint) +0:25 move second child to first child ( temp uint) +0:25 'out_u1' ( temp uint) +0:25 AtomicAdd ( temp uint) +0:25 'gs_ua' ( shared uint) +0:25 'gs_ub' ( shared uint) +0:26 AtomicAnd ( temp void) +0:26 'gs_ua' ( shared uint) +0:26 'gs_ub' ( shared uint) +0:27 move second child to first child ( temp uint) +0:27 'out_u1' ( temp uint) +0:27 AtomicAnd ( temp uint) +0:27 'gs_ua' ( shared uint) +0:27 'gs_ub' ( shared uint) +0:28 move second child to first child ( temp uint) +0:28 'out_u1' ( temp uint) +0:28 AtomicCompSwap ( temp uint) +0:28 'gs_ua' ( shared uint) +0:28 'gs_ub' ( shared uint) +0:28 'gs_uc' ( shared uint) +0:29 move second child to first child ( temp uint) +0:29 'out_u1' ( temp uint) +0:29 AtomicExchange ( temp uint) +0:29 'gs_ua' ( shared uint) +0:29 'gs_ub' ( shared uint) +0:30 AtomicMax ( temp void) +0:30 'gs_ua' ( shared uint) +0:30 'gs_ub' ( shared uint) +0:31 move second child to first child ( temp uint) +0:31 'out_u1' ( temp uint) +0:31 AtomicMax ( temp uint) +0:31 'gs_ua' ( shared uint) +0:31 'gs_ub' ( shared uint) +0:32 AtomicMin ( temp void) +0:32 'gs_ua' ( shared uint) +0:32 'gs_ub' ( shared uint) +0:33 move second child to first child ( temp uint) +0:33 'out_u1' ( temp uint) +0:33 AtomicMin ( temp uint) +0:33 'gs_ua' ( shared uint) +0:33 'gs_ub' ( shared uint) +0:34 AtomicOr ( temp void) +0:34 'gs_ua' ( shared uint) +0:34 'gs_ub' ( shared uint) +0:35 move second child to first child ( temp uint) +0:35 'out_u1' ( temp uint) +0:35 AtomicOr ( temp uint) +0:35 'gs_ua' ( shared uint) +0:35 'gs_ub' ( shared uint) +0:36 AtomicXor ( temp void) +0:36 'gs_ua' ( shared uint) +0:36 'gs_ub' ( shared uint) +0:37 move second child to first child ( temp uint) +0:37 'out_u1' ( temp uint) +0:37 AtomicXor ( temp uint) +0:37 'gs_ua' ( shared uint) +0:37 'gs_ub' ( shared uint) 0:41 Branch: Return with expression 0:41 Constant: 0:41 0.000000 -0:45 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:45 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:45 Function Parameters: -0:45 'inF0' (in 1-component vector of float) -0:45 'inF1' (in 1-component vector of float) -0:45 'inF2' (in 1-component vector of float) +0:45 'inF0' ( in 1-component vector of float) +0:45 'inF1' ( in 1-component vector of float) +0:45 'inF2' ( in 1-component vector of float) 0:? Sequence 0:47 Branch: Return with expression 0:47 Constant: 0:47 0.000000 -0:51 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:51 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:51 Function Parameters: -0:51 'inF0' (in 2-component vector of float) -0:51 'inF1' (in 2-component vector of float) -0:51 'inF2' (in 2-component vector of float) -0:51 'inU0' (in 2-component vector of uint) -0:51 'inU1' (in 2-component vector of uint) +0:51 'inF0' ( in 2-component vector of float) +0:51 'inF1' ( in 2-component vector of float) +0:51 'inF2' ( in 2-component vector of float) +0:51 'inU0' ( in 2-component vector of uint) +0:51 'inU1' ( in 2-component vector of uint) 0:? Sequence -0:55 all (temp bool) -0:55 'inF0' (in 2-component vector of float) -0:58 AtomicAdd (temp void) -0:58 'gs_ua2' (shared 2-component vector of uint) -0:58 'gs_ub2' (shared 2-component vector of uint) -0:59 move second child to first child (temp 2-component vector of uint) -0:59 'out_u2' (temp 2-component vector of uint) -0:59 AtomicAdd (temp 2-component vector of uint) -0:59 'gs_ua2' (shared 2-component vector of uint) -0:59 'gs_ub2' (shared 2-component vector of uint) -0:60 AtomicAnd (temp void) -0:60 'gs_ua2' (shared 2-component vector of uint) -0:60 'gs_ub2' (shared 2-component vector of uint) -0:61 move second child to first child (temp 2-component vector of uint) -0:61 'out_u2' (temp 2-component vector of uint) -0:61 AtomicAnd (temp 2-component vector of uint) -0:61 'gs_ua2' (shared 2-component vector of uint) -0:61 'gs_ub2' (shared 2-component vector of uint) -0:62 move second child to first child (temp 2-component vector of uint) -0:62 'out_u2' (temp 2-component vector of uint) -0:62 AtomicCompSwap (temp 2-component vector of uint) -0:62 'gs_ua2' (shared 2-component vector of uint) -0:62 'gs_ub2' (shared 2-component vector of uint) -0:62 'gs_uc2' (shared 2-component vector of uint) -0:63 move second child to first child (temp 2-component vector of uint) -0:63 'out_u2' (temp 2-component vector of uint) -0:63 AtomicExchange (temp 2-component vector of uint) -0:63 'gs_ua2' (shared 2-component vector of uint) -0:63 'gs_ub2' (shared 2-component vector of uint) -0:64 AtomicMax (temp void) -0:64 'gs_ua2' (shared 2-component vector of uint) -0:64 'gs_ub2' (shared 2-component vector of uint) -0:65 move second child to first child (temp 2-component vector of uint) -0:65 'out_u2' (temp 2-component vector of uint) -0:65 AtomicMax (temp 2-component vector of uint) -0:65 'gs_ua2' (shared 2-component vector of uint) -0:65 'gs_ub2' (shared 2-component vector of uint) -0:66 AtomicMin (temp void) -0:66 'gs_ua2' (shared 2-component vector of uint) -0:66 'gs_ub2' (shared 2-component vector of uint) -0:67 move second child to first child (temp 2-component vector of uint) -0:67 'out_u2' (temp 2-component vector of uint) -0:67 AtomicMin (temp 2-component vector of uint) -0:67 'gs_ua2' (shared 2-component vector of uint) -0:67 'gs_ub2' (shared 2-component vector of uint) -0:68 AtomicOr (temp void) -0:68 'gs_ua2' (shared 2-component vector of uint) -0:68 'gs_ub2' (shared 2-component vector of uint) -0:69 move second child to first child (temp 2-component vector of uint) -0:69 'out_u2' (temp 2-component vector of uint) -0:69 AtomicOr (temp 2-component vector of uint) -0:69 'gs_ua2' (shared 2-component vector of uint) -0:69 'gs_ub2' (shared 2-component vector of uint) -0:70 AtomicXor (temp void) -0:70 'gs_ua2' (shared 2-component vector of uint) -0:70 'gs_ub2' (shared 2-component vector of uint) -0:71 move second child to first child (temp 2-component vector of uint) -0:71 'out_u2' (temp 2-component vector of uint) -0:71 AtomicXor (temp 2-component vector of uint) -0:71 'gs_ua2' (shared 2-component vector of uint) -0:71 'gs_ub2' (shared 2-component vector of uint) +0:55 all ( temp bool) +0:55 'inF0' ( in 2-component vector of float) +0:58 AtomicAdd ( temp void) +0:58 'gs_ua2' ( shared 2-component vector of uint) +0:58 'gs_ub2' ( shared 2-component vector of uint) +0:59 move second child to first child ( temp 2-component vector of uint) +0:59 'out_u2' ( temp 2-component vector of uint) +0:59 AtomicAdd ( temp 2-component vector of uint) +0:59 'gs_ua2' ( shared 2-component vector of uint) +0:59 'gs_ub2' ( shared 2-component vector of uint) +0:60 AtomicAnd ( temp void) +0:60 'gs_ua2' ( shared 2-component vector of uint) +0:60 'gs_ub2' ( shared 2-component vector of uint) +0:61 move second child to first child ( temp 2-component vector of uint) +0:61 'out_u2' ( temp 2-component vector of uint) +0:61 AtomicAnd ( temp 2-component vector of uint) +0:61 'gs_ua2' ( shared 2-component vector of uint) +0:61 'gs_ub2' ( shared 2-component vector of uint) +0:62 move second child to first child ( temp 2-component vector of uint) +0:62 'out_u2' ( temp 2-component vector of uint) +0:62 AtomicCompSwap ( temp 2-component vector of uint) +0:62 'gs_ua2' ( shared 2-component vector of uint) +0:62 'gs_ub2' ( shared 2-component vector of uint) +0:62 'gs_uc2' ( shared 2-component vector of uint) +0:63 move second child to first child ( temp 2-component vector of uint) +0:63 'out_u2' ( temp 2-component vector of uint) +0:63 AtomicExchange ( temp 2-component vector of uint) +0:63 'gs_ua2' ( shared 2-component vector of uint) +0:63 'gs_ub2' ( shared 2-component vector of uint) +0:64 AtomicMax ( temp void) +0:64 'gs_ua2' ( shared 2-component vector of uint) +0:64 'gs_ub2' ( shared 2-component vector of uint) +0:65 move second child to first child ( temp 2-component vector of uint) +0:65 'out_u2' ( temp 2-component vector of uint) +0:65 AtomicMax ( temp 2-component vector of uint) +0:65 'gs_ua2' ( shared 2-component vector of uint) +0:65 'gs_ub2' ( shared 2-component vector of uint) +0:66 AtomicMin ( temp void) +0:66 'gs_ua2' ( shared 2-component vector of uint) +0:66 'gs_ub2' ( shared 2-component vector of uint) +0:67 move second child to first child ( temp 2-component vector of uint) +0:67 'out_u2' ( temp 2-component vector of uint) +0:67 AtomicMin ( temp 2-component vector of uint) +0:67 'gs_ua2' ( shared 2-component vector of uint) +0:67 'gs_ub2' ( shared 2-component vector of uint) +0:68 AtomicOr ( temp void) +0:68 'gs_ua2' ( shared 2-component vector of uint) +0:68 'gs_ub2' ( shared 2-component vector of uint) +0:69 move second child to first child ( temp 2-component vector of uint) +0:69 'out_u2' ( temp 2-component vector of uint) +0:69 AtomicOr ( temp 2-component vector of uint) +0:69 'gs_ua2' ( shared 2-component vector of uint) +0:69 'gs_ub2' ( shared 2-component vector of uint) +0:70 AtomicXor ( temp void) +0:70 'gs_ua2' ( shared 2-component vector of uint) +0:70 'gs_ub2' ( shared 2-component vector of uint) +0:71 move second child to first child ( temp 2-component vector of uint) +0:71 'out_u2' ( temp 2-component vector of uint) +0:71 AtomicXor ( temp 2-component vector of uint) +0:71 'gs_ua2' ( shared 2-component vector of uint) +0:71 'gs_ub2' ( shared 2-component vector of uint) 0:74 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:78 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:78 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:78 Function Parameters: -0:78 'inF0' (in 3-component vector of float) -0:78 'inF1' (in 3-component vector of float) -0:78 'inF2' (in 3-component vector of float) -0:78 'inU0' (in 3-component vector of uint) -0:78 'inU1' (in 3-component vector of uint) +0:78 'inF0' ( in 3-component vector of float) +0:78 'inF1' ( in 3-component vector of float) +0:78 'inF2' ( in 3-component vector of float) +0:78 'inU0' ( in 3-component vector of uint) +0:78 'inU1' ( in 3-component vector of uint) 0:? Sequence -0:82 all (temp bool) -0:82 'inF0' (in 3-component vector of float) -0:85 AtomicAdd (temp void) -0:85 'gs_ua3' (shared 3-component vector of uint) -0:85 'gs_ub3' (shared 3-component vector of uint) -0:86 move second child to first child (temp 3-component vector of uint) -0:86 'out_u3' (temp 3-component vector of uint) -0:86 AtomicAdd (temp 3-component vector of uint) -0:86 'gs_ua3' (shared 3-component vector of uint) -0:86 'gs_ub3' (shared 3-component vector of uint) -0:87 AtomicAnd (temp void) -0:87 'gs_ua3' (shared 3-component vector of uint) -0:87 'gs_ub3' (shared 3-component vector of uint) -0:88 move second child to first child (temp 3-component vector of uint) -0:88 'out_u3' (temp 3-component vector of uint) -0:88 AtomicAnd (temp 3-component vector of uint) -0:88 'gs_ua3' (shared 3-component vector of uint) -0:88 'gs_ub3' (shared 3-component vector of uint) -0:89 move second child to first child (temp 3-component vector of uint) -0:89 'out_u3' (temp 3-component vector of uint) -0:89 AtomicCompSwap (temp 3-component vector of uint) -0:89 'gs_ua3' (shared 3-component vector of uint) -0:89 'gs_ub3' (shared 3-component vector of uint) -0:89 'gs_uc3' (shared 3-component vector of uint) -0:90 move second child to first child (temp 3-component vector of uint) -0:90 'out_u3' (temp 3-component vector of uint) -0:90 AtomicExchange (temp 3-component vector of uint) -0:90 'gs_ua3' (shared 3-component vector of uint) -0:90 'gs_ub3' (shared 3-component vector of uint) -0:91 AtomicMax (temp void) -0:91 'gs_ua3' (shared 3-component vector of uint) -0:91 'gs_ub3' (shared 3-component vector of uint) -0:92 move second child to first child (temp 3-component vector of uint) -0:92 'out_u3' (temp 3-component vector of uint) -0:92 AtomicMax (temp 3-component vector of uint) -0:92 'gs_ua3' (shared 3-component vector of uint) -0:92 'gs_ub3' (shared 3-component vector of uint) -0:93 AtomicMin (temp void) -0:93 'gs_ua3' (shared 3-component vector of uint) -0:93 'gs_ub3' (shared 3-component vector of uint) -0:94 move second child to first child (temp 3-component vector of uint) -0:94 'out_u3' (temp 3-component vector of uint) -0:94 AtomicMin (temp 3-component vector of uint) -0:94 'gs_ua3' (shared 3-component vector of uint) -0:94 'gs_ub3' (shared 3-component vector of uint) -0:95 AtomicOr (temp void) -0:95 'gs_ua3' (shared 3-component vector of uint) -0:95 'gs_ub3' (shared 3-component vector of uint) -0:96 move second child to first child (temp 3-component vector of uint) -0:96 'out_u3' (temp 3-component vector of uint) -0:96 AtomicOr (temp 3-component vector of uint) -0:96 'gs_ua3' (shared 3-component vector of uint) -0:96 'gs_ub3' (shared 3-component vector of uint) -0:97 AtomicXor (temp void) -0:97 'gs_ua3' (shared 3-component vector of uint) -0:97 'gs_ub3' (shared 3-component vector of uint) -0:98 move second child to first child (temp 3-component vector of uint) -0:98 'out_u3' (temp 3-component vector of uint) -0:98 AtomicXor (temp 3-component vector of uint) -0:98 'gs_ua3' (shared 3-component vector of uint) -0:98 'gs_ub3' (shared 3-component vector of uint) +0:82 all ( temp bool) +0:82 'inF0' ( in 3-component vector of float) +0:85 AtomicAdd ( temp void) +0:85 'gs_ua3' ( shared 3-component vector of uint) +0:85 'gs_ub3' ( shared 3-component vector of uint) +0:86 move second child to first child ( temp 3-component vector of uint) +0:86 'out_u3' ( temp 3-component vector of uint) +0:86 AtomicAdd ( temp 3-component vector of uint) +0:86 'gs_ua3' ( shared 3-component vector of uint) +0:86 'gs_ub3' ( shared 3-component vector of uint) +0:87 AtomicAnd ( temp void) +0:87 'gs_ua3' ( shared 3-component vector of uint) +0:87 'gs_ub3' ( shared 3-component vector of uint) +0:88 move second child to first child ( temp 3-component vector of uint) +0:88 'out_u3' ( temp 3-component vector of uint) +0:88 AtomicAnd ( temp 3-component vector of uint) +0:88 'gs_ua3' ( shared 3-component vector of uint) +0:88 'gs_ub3' ( shared 3-component vector of uint) +0:89 move second child to first child ( temp 3-component vector of uint) +0:89 'out_u3' ( temp 3-component vector of uint) +0:89 AtomicCompSwap ( temp 3-component vector of uint) +0:89 'gs_ua3' ( shared 3-component vector of uint) +0:89 'gs_ub3' ( shared 3-component vector of uint) +0:89 'gs_uc3' ( shared 3-component vector of uint) +0:90 move second child to first child ( temp 3-component vector of uint) +0:90 'out_u3' ( temp 3-component vector of uint) +0:90 AtomicExchange ( temp 3-component vector of uint) +0:90 'gs_ua3' ( shared 3-component vector of uint) +0:90 'gs_ub3' ( shared 3-component vector of uint) +0:91 AtomicMax ( temp void) +0:91 'gs_ua3' ( shared 3-component vector of uint) +0:91 'gs_ub3' ( shared 3-component vector of uint) +0:92 move second child to first child ( temp 3-component vector of uint) +0:92 'out_u3' ( temp 3-component vector of uint) +0:92 AtomicMax ( temp 3-component vector of uint) +0:92 'gs_ua3' ( shared 3-component vector of uint) +0:92 'gs_ub3' ( shared 3-component vector of uint) +0:93 AtomicMin ( temp void) +0:93 'gs_ua3' ( shared 3-component vector of uint) +0:93 'gs_ub3' ( shared 3-component vector of uint) +0:94 move second child to first child ( temp 3-component vector of uint) +0:94 'out_u3' ( temp 3-component vector of uint) +0:94 AtomicMin ( temp 3-component vector of uint) +0:94 'gs_ua3' ( shared 3-component vector of uint) +0:94 'gs_ub3' ( shared 3-component vector of uint) +0:95 AtomicOr ( temp void) +0:95 'gs_ua3' ( shared 3-component vector of uint) +0:95 'gs_ub3' ( shared 3-component vector of uint) +0:96 move second child to first child ( temp 3-component vector of uint) +0:96 'out_u3' ( temp 3-component vector of uint) +0:96 AtomicOr ( temp 3-component vector of uint) +0:96 'gs_ua3' ( shared 3-component vector of uint) +0:96 'gs_ub3' ( shared 3-component vector of uint) +0:97 AtomicXor ( temp void) +0:97 'gs_ua3' ( shared 3-component vector of uint) +0:97 'gs_ub3' ( shared 3-component vector of uint) +0:98 move second child to first child ( temp 3-component vector of uint) +0:98 'out_u3' ( temp 3-component vector of uint) +0:98 AtomicXor ( temp 3-component vector of uint) +0:98 'gs_ua3' ( shared 3-component vector of uint) +0:98 'gs_ub3' ( shared 3-component vector of uint) 0:101 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:105 Function Parameters: -0:105 'inF0' (layout(location=0 ) in 4-component vector of float) -0:105 'inF1' (layout(location=1 ) in 4-component vector of float) -0:105 'inF2' (layout(location=2 ) in 4-component vector of float) -0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 'inF0' ( in 4-component vector of float) +0:105 'inF1' ( in 4-component vector of float) +0:105 'inF2' ( in 4-component vector of float) +0:105 'inU0' ( in 4-component vector of uint) +0:105 'inU1' ( in 4-component vector of uint) 0:? Sequence -0:109 all (temp bool) -0:109 'inF0' (layout(location=0 ) in 4-component vector of float) -0:112 AtomicAdd (temp void) -0:112 'gs_ua4' (shared 4-component vector of uint) -0:112 'gs_ub4' (shared 4-component vector of uint) -0:113 move second child to first child (temp 4-component vector of uint) -0:113 'out_u4' (temp 4-component vector of uint) -0:113 AtomicAdd (temp 4-component vector of uint) -0:113 'gs_ua4' (shared 4-component vector of uint) -0:113 'gs_ub4' (shared 4-component vector of uint) -0:114 AtomicAnd (temp void) -0:114 'gs_ua4' (shared 4-component vector of uint) -0:114 'gs_ub4' (shared 4-component vector of uint) -0:115 move second child to first child (temp 4-component vector of uint) -0:115 'out_u4' (temp 4-component vector of uint) -0:115 AtomicAnd (temp 4-component vector of uint) -0:115 'gs_ua4' (shared 4-component vector of uint) -0:115 'gs_ub4' (shared 4-component vector of uint) -0:116 move second child to first child (temp 4-component vector of uint) -0:116 'out_u4' (temp 4-component vector of uint) -0:116 AtomicCompSwap (temp 4-component vector of uint) -0:116 'gs_ua4' (shared 4-component vector of uint) -0:116 'gs_ub4' (shared 4-component vector of uint) -0:116 'gs_uc4' (shared 4-component vector of uint) -0:117 move second child to first child (temp 4-component vector of uint) -0:117 'out_u4' (temp 4-component vector of uint) -0:117 AtomicExchange (temp 4-component vector of uint) -0:117 'gs_ua4' (shared 4-component vector of uint) -0:117 'gs_ub4' (shared 4-component vector of uint) -0:118 AtomicMax (temp void) -0:118 'gs_ua4' (shared 4-component vector of uint) -0:118 'gs_ub4' (shared 4-component vector of uint) -0:119 move second child to first child (temp 4-component vector of uint) -0:119 'out_u4' (temp 4-component vector of uint) -0:119 AtomicMax (temp 4-component vector of uint) -0:119 'gs_ua4' (shared 4-component vector of uint) -0:119 'gs_ub4' (shared 4-component vector of uint) -0:120 AtomicMin (temp void) -0:120 'gs_ua4' (shared 4-component vector of uint) -0:120 'gs_ub4' (shared 4-component vector of uint) -0:121 move second child to first child (temp 4-component vector of uint) -0:121 'out_u4' (temp 4-component vector of uint) -0:121 AtomicMin (temp 4-component vector of uint) -0:121 'gs_ua4' (shared 4-component vector of uint) -0:121 'gs_ub4' (shared 4-component vector of uint) -0:122 AtomicOr (temp void) -0:122 'gs_ua4' (shared 4-component vector of uint) -0:122 'gs_ub4' (shared 4-component vector of uint) -0:123 move second child to first child (temp 4-component vector of uint) -0:123 'out_u4' (temp 4-component vector of uint) -0:123 AtomicOr (temp 4-component vector of uint) -0:123 'gs_ua4' (shared 4-component vector of uint) -0:123 'gs_ub4' (shared 4-component vector of uint) -0:124 AtomicXor (temp void) -0:124 'gs_ua4' (shared 4-component vector of uint) -0:124 'gs_ub4' (shared 4-component vector of uint) -0:125 move second child to first child (temp 4-component vector of uint) -0:125 'out_u4' (temp 4-component vector of uint) -0:125 AtomicXor (temp 4-component vector of uint) -0:125 'gs_ua4' (shared 4-component vector of uint) -0:125 'gs_ub4' (shared 4-component vector of uint) -0:128 Sequence -0:128 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:128 Branch: Return +0:109 all ( temp bool) +0:109 'inF0' ( in 4-component vector of float) +0:112 AtomicAdd ( temp void) +0:112 'gs_ua4' ( shared 4-component vector of uint) +0:112 'gs_ub4' ( shared 4-component vector of uint) +0:113 move second child to first child ( temp 4-component vector of uint) +0:113 'out_u4' ( temp 4-component vector of uint) +0:113 AtomicAdd ( temp 4-component vector of uint) +0:113 'gs_ua4' ( shared 4-component vector of uint) +0:113 'gs_ub4' ( shared 4-component vector of uint) +0:114 AtomicAnd ( temp void) +0:114 'gs_ua4' ( shared 4-component vector of uint) +0:114 'gs_ub4' ( shared 4-component vector of uint) +0:115 move second child to first child ( temp 4-component vector of uint) +0:115 'out_u4' ( temp 4-component vector of uint) +0:115 AtomicAnd ( temp 4-component vector of uint) +0:115 'gs_ua4' ( shared 4-component vector of uint) +0:115 'gs_ub4' ( shared 4-component vector of uint) +0:116 move second child to first child ( temp 4-component vector of uint) +0:116 'out_u4' ( temp 4-component vector of uint) +0:116 AtomicCompSwap ( temp 4-component vector of uint) +0:116 'gs_ua4' ( shared 4-component vector of uint) +0:116 'gs_ub4' ( shared 4-component vector of uint) +0:116 'gs_uc4' ( shared 4-component vector of uint) +0:117 move second child to first child ( temp 4-component vector of uint) +0:117 'out_u4' ( temp 4-component vector of uint) +0:117 AtomicExchange ( temp 4-component vector of uint) +0:117 'gs_ua4' ( shared 4-component vector of uint) +0:117 'gs_ub4' ( shared 4-component vector of uint) +0:118 AtomicMax ( temp void) +0:118 'gs_ua4' ( shared 4-component vector of uint) +0:118 'gs_ub4' ( shared 4-component vector of uint) +0:119 move second child to first child ( temp 4-component vector of uint) +0:119 'out_u4' ( temp 4-component vector of uint) +0:119 AtomicMax ( temp 4-component vector of uint) +0:119 'gs_ua4' ( shared 4-component vector of uint) +0:119 'gs_ub4' ( shared 4-component vector of uint) +0:120 AtomicMin ( temp void) +0:120 'gs_ua4' ( shared 4-component vector of uint) +0:120 'gs_ub4' ( shared 4-component vector of uint) +0:121 move second child to first child ( temp 4-component vector of uint) +0:121 'out_u4' ( temp 4-component vector of uint) +0:121 AtomicMin ( temp 4-component vector of uint) +0:121 'gs_ua4' ( shared 4-component vector of uint) +0:121 'gs_ub4' ( shared 4-component vector of uint) +0:122 AtomicOr ( temp void) +0:122 'gs_ua4' ( shared 4-component vector of uint) +0:122 'gs_ub4' ( shared 4-component vector of uint) +0:123 move second child to first child ( temp 4-component vector of uint) +0:123 'out_u4' ( temp 4-component vector of uint) +0:123 AtomicOr ( temp 4-component vector of uint) +0:123 'gs_ua4' ( shared 4-component vector of uint) +0:123 'gs_ub4' ( shared 4-component vector of uint) +0:124 AtomicXor ( temp void) +0:124 'gs_ua4' ( shared 4-component vector of uint) +0:124 'gs_ub4' ( shared 4-component vector of uint) +0:125 move second child to first child ( temp 4-component vector of uint) +0:125 'out_u4' ( temp 4-component vector of uint) +0:125 AtomicXor ( temp 4-component vector of uint) +0:125 'gs_ua4' ( shared 4-component vector of uint) +0:125 'gs_ub4' ( shared 4-component vector of uint) +0:128 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:105 Function Definition: ComputeShaderFunction( ( temp void) +0:105 Function Parameters: +0:? Sequence +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of uint) +0:? 'inU0' ( temp 4-component vector of uint) +0:? 'inU0' (layout( location=3) in 4-component vector of uint) +0:105 move second child to first child ( temp 4-component vector of uint) +0:? 'inU1' ( temp 4-component vector of uint) +0:? 'inU1' (layout( location=4) in 4-component vector of uint) +0:105 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inU0' ( temp 4-component vector of uint) +0:? 'inU1' ( temp 4-component vector of uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) -0:? 'gs_ua' (shared uint) -0:? 'gs_ub' (shared uint) -0:? 'gs_uc' (shared uint) -0:? 'gs_ua2' (shared 2-component vector of uint) -0:? 'gs_ub2' (shared 2-component vector of uint) -0:? 'gs_uc2' (shared 2-component vector of uint) -0:? 'gs_ua3' (shared 3-component vector of uint) -0:? 'gs_ub3' (shared 3-component vector of uint) -0:? 'gs_uc3' (shared 3-component vector of uint) -0:? 'gs_ua4' (shared 4-component vector of uint) -0:? 'gs_ub4' (shared 4-component vector of uint) -0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'gs_ua' ( shared uint) +0:? 'gs_ub' ( shared uint) +0:? 'gs_uc' ( shared uint) +0:? 'gs_ua2' ( shared 2-component vector of uint) +0:? 'gs_ub2' ( shared 2-component vector of uint) +0:? 'gs_uc2' ( shared 2-component vector of uint) +0:? 'gs_ua3' ( shared 3-component vector of uint) +0:? 'gs_ub3' ( shared 3-component vector of uint) +0:? 'gs_uc3' ( shared 3-component vector of uint) +0:? 'gs_ua4' ( shared 4-component vector of uint) +0:? 'gs_ub4' ( shared 4-component vector of uint) +0:? 'gs_uc4' ( shared 4-component vector of uint) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inU0' (layout( location=3) in 4-component vector of uint) +0:? 'inU1' (layout( location=4) in 4-component vector of uint) Linked compute stage: @@ -335,340 +358,363 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:17 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:17 Function Parameters: -0:17 'inF0' (in float) -0:17 'inF1' (in float) -0:17 'inF2' (in float) -0:17 'inU0' (in uint) -0:17 'inU1' (in uint) +0:17 'inF0' ( in float) +0:17 'inF1' ( in float) +0:17 'inF2' ( in float) +0:17 'inU0' ( in uint) +0:17 'inU1' ( in uint) 0:? Sequence -0:21 all (temp bool) -0:21 'inF0' (in float) -0:24 AtomicAdd (temp void) -0:24 'gs_ua' (shared uint) -0:24 'gs_ub' (shared uint) -0:25 move second child to first child (temp uint) -0:25 'out_u1' (temp uint) -0:25 AtomicAdd (temp uint) -0:25 'gs_ua' (shared uint) -0:25 'gs_ub' (shared uint) -0:26 AtomicAnd (temp void) -0:26 'gs_ua' (shared uint) -0:26 'gs_ub' (shared uint) -0:27 move second child to first child (temp uint) -0:27 'out_u1' (temp uint) -0:27 AtomicAnd (temp uint) -0:27 'gs_ua' (shared uint) -0:27 'gs_ub' (shared uint) -0:28 move second child to first child (temp uint) -0:28 'out_u1' (temp uint) -0:28 AtomicCompSwap (temp uint) -0:28 'gs_ua' (shared uint) -0:28 'gs_ub' (shared uint) -0:28 'gs_uc' (shared uint) -0:29 move second child to first child (temp uint) -0:29 'out_u1' (temp uint) -0:29 AtomicExchange (temp uint) -0:29 'gs_ua' (shared uint) -0:29 'gs_ub' (shared uint) -0:30 AtomicMax (temp void) -0:30 'gs_ua' (shared uint) -0:30 'gs_ub' (shared uint) -0:31 move second child to first child (temp uint) -0:31 'out_u1' (temp uint) -0:31 AtomicMax (temp uint) -0:31 'gs_ua' (shared uint) -0:31 'gs_ub' (shared uint) -0:32 AtomicMin (temp void) -0:32 'gs_ua' (shared uint) -0:32 'gs_ub' (shared uint) -0:33 move second child to first child (temp uint) -0:33 'out_u1' (temp uint) -0:33 AtomicMin (temp uint) -0:33 'gs_ua' (shared uint) -0:33 'gs_ub' (shared uint) -0:34 AtomicOr (temp void) -0:34 'gs_ua' (shared uint) -0:34 'gs_ub' (shared uint) -0:35 move second child to first child (temp uint) -0:35 'out_u1' (temp uint) -0:35 AtomicOr (temp uint) -0:35 'gs_ua' (shared uint) -0:35 'gs_ub' (shared uint) -0:36 AtomicXor (temp void) -0:36 'gs_ua' (shared uint) -0:36 'gs_ub' (shared uint) -0:37 move second child to first child (temp uint) -0:37 'out_u1' (temp uint) -0:37 AtomicXor (temp uint) -0:37 'gs_ua' (shared uint) -0:37 'gs_ub' (shared uint) +0:21 all ( temp bool) +0:21 'inF0' ( in float) +0:24 AtomicAdd ( temp void) +0:24 'gs_ua' ( shared uint) +0:24 'gs_ub' ( shared uint) +0:25 move second child to first child ( temp uint) +0:25 'out_u1' ( temp uint) +0:25 AtomicAdd ( temp uint) +0:25 'gs_ua' ( shared uint) +0:25 'gs_ub' ( shared uint) +0:26 AtomicAnd ( temp void) +0:26 'gs_ua' ( shared uint) +0:26 'gs_ub' ( shared uint) +0:27 move second child to first child ( temp uint) +0:27 'out_u1' ( temp uint) +0:27 AtomicAnd ( temp uint) +0:27 'gs_ua' ( shared uint) +0:27 'gs_ub' ( shared uint) +0:28 move second child to first child ( temp uint) +0:28 'out_u1' ( temp uint) +0:28 AtomicCompSwap ( temp uint) +0:28 'gs_ua' ( shared uint) +0:28 'gs_ub' ( shared uint) +0:28 'gs_uc' ( shared uint) +0:29 move second child to first child ( temp uint) +0:29 'out_u1' ( temp uint) +0:29 AtomicExchange ( temp uint) +0:29 'gs_ua' ( shared uint) +0:29 'gs_ub' ( shared uint) +0:30 AtomicMax ( temp void) +0:30 'gs_ua' ( shared uint) +0:30 'gs_ub' ( shared uint) +0:31 move second child to first child ( temp uint) +0:31 'out_u1' ( temp uint) +0:31 AtomicMax ( temp uint) +0:31 'gs_ua' ( shared uint) +0:31 'gs_ub' ( shared uint) +0:32 AtomicMin ( temp void) +0:32 'gs_ua' ( shared uint) +0:32 'gs_ub' ( shared uint) +0:33 move second child to first child ( temp uint) +0:33 'out_u1' ( temp uint) +0:33 AtomicMin ( temp uint) +0:33 'gs_ua' ( shared uint) +0:33 'gs_ub' ( shared uint) +0:34 AtomicOr ( temp void) +0:34 'gs_ua' ( shared uint) +0:34 'gs_ub' ( shared uint) +0:35 move second child to first child ( temp uint) +0:35 'out_u1' ( temp uint) +0:35 AtomicOr ( temp uint) +0:35 'gs_ua' ( shared uint) +0:35 'gs_ub' ( shared uint) +0:36 AtomicXor ( temp void) +0:36 'gs_ua' ( shared uint) +0:36 'gs_ub' ( shared uint) +0:37 move second child to first child ( temp uint) +0:37 'out_u1' ( temp uint) +0:37 AtomicXor ( temp uint) +0:37 'gs_ua' ( shared uint) +0:37 'gs_ub' ( shared uint) 0:41 Branch: Return with expression 0:41 Constant: 0:41 0.000000 -0:45 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:45 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:45 Function Parameters: -0:45 'inF0' (in 1-component vector of float) -0:45 'inF1' (in 1-component vector of float) -0:45 'inF2' (in 1-component vector of float) +0:45 'inF0' ( in 1-component vector of float) +0:45 'inF1' ( in 1-component vector of float) +0:45 'inF2' ( in 1-component vector of float) 0:? Sequence 0:47 Branch: Return with expression 0:47 Constant: 0:47 0.000000 -0:51 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:51 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:51 Function Parameters: -0:51 'inF0' (in 2-component vector of float) -0:51 'inF1' (in 2-component vector of float) -0:51 'inF2' (in 2-component vector of float) -0:51 'inU0' (in 2-component vector of uint) -0:51 'inU1' (in 2-component vector of uint) +0:51 'inF0' ( in 2-component vector of float) +0:51 'inF1' ( in 2-component vector of float) +0:51 'inF2' ( in 2-component vector of float) +0:51 'inU0' ( in 2-component vector of uint) +0:51 'inU1' ( in 2-component vector of uint) 0:? Sequence -0:55 all (temp bool) -0:55 'inF0' (in 2-component vector of float) -0:58 AtomicAdd (temp void) -0:58 'gs_ua2' (shared 2-component vector of uint) -0:58 'gs_ub2' (shared 2-component vector of uint) -0:59 move second child to first child (temp 2-component vector of uint) -0:59 'out_u2' (temp 2-component vector of uint) -0:59 AtomicAdd (temp 2-component vector of uint) -0:59 'gs_ua2' (shared 2-component vector of uint) -0:59 'gs_ub2' (shared 2-component vector of uint) -0:60 AtomicAnd (temp void) -0:60 'gs_ua2' (shared 2-component vector of uint) -0:60 'gs_ub2' (shared 2-component vector of uint) -0:61 move second child to first child (temp 2-component vector of uint) -0:61 'out_u2' (temp 2-component vector of uint) -0:61 AtomicAnd (temp 2-component vector of uint) -0:61 'gs_ua2' (shared 2-component vector of uint) -0:61 'gs_ub2' (shared 2-component vector of uint) -0:62 move second child to first child (temp 2-component vector of uint) -0:62 'out_u2' (temp 2-component vector of uint) -0:62 AtomicCompSwap (temp 2-component vector of uint) -0:62 'gs_ua2' (shared 2-component vector of uint) -0:62 'gs_ub2' (shared 2-component vector of uint) -0:62 'gs_uc2' (shared 2-component vector of uint) -0:63 move second child to first child (temp 2-component vector of uint) -0:63 'out_u2' (temp 2-component vector of uint) -0:63 AtomicExchange (temp 2-component vector of uint) -0:63 'gs_ua2' (shared 2-component vector of uint) -0:63 'gs_ub2' (shared 2-component vector of uint) -0:64 AtomicMax (temp void) -0:64 'gs_ua2' (shared 2-component vector of uint) -0:64 'gs_ub2' (shared 2-component vector of uint) -0:65 move second child to first child (temp 2-component vector of uint) -0:65 'out_u2' (temp 2-component vector of uint) -0:65 AtomicMax (temp 2-component vector of uint) -0:65 'gs_ua2' (shared 2-component vector of uint) -0:65 'gs_ub2' (shared 2-component vector of uint) -0:66 AtomicMin (temp void) -0:66 'gs_ua2' (shared 2-component vector of uint) -0:66 'gs_ub2' (shared 2-component vector of uint) -0:67 move second child to first child (temp 2-component vector of uint) -0:67 'out_u2' (temp 2-component vector of uint) -0:67 AtomicMin (temp 2-component vector of uint) -0:67 'gs_ua2' (shared 2-component vector of uint) -0:67 'gs_ub2' (shared 2-component vector of uint) -0:68 AtomicOr (temp void) -0:68 'gs_ua2' (shared 2-component vector of uint) -0:68 'gs_ub2' (shared 2-component vector of uint) -0:69 move second child to first child (temp 2-component vector of uint) -0:69 'out_u2' (temp 2-component vector of uint) -0:69 AtomicOr (temp 2-component vector of uint) -0:69 'gs_ua2' (shared 2-component vector of uint) -0:69 'gs_ub2' (shared 2-component vector of uint) -0:70 AtomicXor (temp void) -0:70 'gs_ua2' (shared 2-component vector of uint) -0:70 'gs_ub2' (shared 2-component vector of uint) -0:71 move second child to first child (temp 2-component vector of uint) -0:71 'out_u2' (temp 2-component vector of uint) -0:71 AtomicXor (temp 2-component vector of uint) -0:71 'gs_ua2' (shared 2-component vector of uint) -0:71 'gs_ub2' (shared 2-component vector of uint) +0:55 all ( temp bool) +0:55 'inF0' ( in 2-component vector of float) +0:58 AtomicAdd ( temp void) +0:58 'gs_ua2' ( shared 2-component vector of uint) +0:58 'gs_ub2' ( shared 2-component vector of uint) +0:59 move second child to first child ( temp 2-component vector of uint) +0:59 'out_u2' ( temp 2-component vector of uint) +0:59 AtomicAdd ( temp 2-component vector of uint) +0:59 'gs_ua2' ( shared 2-component vector of uint) +0:59 'gs_ub2' ( shared 2-component vector of uint) +0:60 AtomicAnd ( temp void) +0:60 'gs_ua2' ( shared 2-component vector of uint) +0:60 'gs_ub2' ( shared 2-component vector of uint) +0:61 move second child to first child ( temp 2-component vector of uint) +0:61 'out_u2' ( temp 2-component vector of uint) +0:61 AtomicAnd ( temp 2-component vector of uint) +0:61 'gs_ua2' ( shared 2-component vector of uint) +0:61 'gs_ub2' ( shared 2-component vector of uint) +0:62 move second child to first child ( temp 2-component vector of uint) +0:62 'out_u2' ( temp 2-component vector of uint) +0:62 AtomicCompSwap ( temp 2-component vector of uint) +0:62 'gs_ua2' ( shared 2-component vector of uint) +0:62 'gs_ub2' ( shared 2-component vector of uint) +0:62 'gs_uc2' ( shared 2-component vector of uint) +0:63 move second child to first child ( temp 2-component vector of uint) +0:63 'out_u2' ( temp 2-component vector of uint) +0:63 AtomicExchange ( temp 2-component vector of uint) +0:63 'gs_ua2' ( shared 2-component vector of uint) +0:63 'gs_ub2' ( shared 2-component vector of uint) +0:64 AtomicMax ( temp void) +0:64 'gs_ua2' ( shared 2-component vector of uint) +0:64 'gs_ub2' ( shared 2-component vector of uint) +0:65 move second child to first child ( temp 2-component vector of uint) +0:65 'out_u2' ( temp 2-component vector of uint) +0:65 AtomicMax ( temp 2-component vector of uint) +0:65 'gs_ua2' ( shared 2-component vector of uint) +0:65 'gs_ub2' ( shared 2-component vector of uint) +0:66 AtomicMin ( temp void) +0:66 'gs_ua2' ( shared 2-component vector of uint) +0:66 'gs_ub2' ( shared 2-component vector of uint) +0:67 move second child to first child ( temp 2-component vector of uint) +0:67 'out_u2' ( temp 2-component vector of uint) +0:67 AtomicMin ( temp 2-component vector of uint) +0:67 'gs_ua2' ( shared 2-component vector of uint) +0:67 'gs_ub2' ( shared 2-component vector of uint) +0:68 AtomicOr ( temp void) +0:68 'gs_ua2' ( shared 2-component vector of uint) +0:68 'gs_ub2' ( shared 2-component vector of uint) +0:69 move second child to first child ( temp 2-component vector of uint) +0:69 'out_u2' ( temp 2-component vector of uint) +0:69 AtomicOr ( temp 2-component vector of uint) +0:69 'gs_ua2' ( shared 2-component vector of uint) +0:69 'gs_ub2' ( shared 2-component vector of uint) +0:70 AtomicXor ( temp void) +0:70 'gs_ua2' ( shared 2-component vector of uint) +0:70 'gs_ub2' ( shared 2-component vector of uint) +0:71 move second child to first child ( temp 2-component vector of uint) +0:71 'out_u2' ( temp 2-component vector of uint) +0:71 AtomicXor ( temp 2-component vector of uint) +0:71 'gs_ua2' ( shared 2-component vector of uint) +0:71 'gs_ub2' ( shared 2-component vector of uint) 0:74 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:78 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:78 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:78 Function Parameters: -0:78 'inF0' (in 3-component vector of float) -0:78 'inF1' (in 3-component vector of float) -0:78 'inF2' (in 3-component vector of float) -0:78 'inU0' (in 3-component vector of uint) -0:78 'inU1' (in 3-component vector of uint) +0:78 'inF0' ( in 3-component vector of float) +0:78 'inF1' ( in 3-component vector of float) +0:78 'inF2' ( in 3-component vector of float) +0:78 'inU0' ( in 3-component vector of uint) +0:78 'inU1' ( in 3-component vector of uint) 0:? Sequence -0:82 all (temp bool) -0:82 'inF0' (in 3-component vector of float) -0:85 AtomicAdd (temp void) -0:85 'gs_ua3' (shared 3-component vector of uint) -0:85 'gs_ub3' (shared 3-component vector of uint) -0:86 move second child to first child (temp 3-component vector of uint) -0:86 'out_u3' (temp 3-component vector of uint) -0:86 AtomicAdd (temp 3-component vector of uint) -0:86 'gs_ua3' (shared 3-component vector of uint) -0:86 'gs_ub3' (shared 3-component vector of uint) -0:87 AtomicAnd (temp void) -0:87 'gs_ua3' (shared 3-component vector of uint) -0:87 'gs_ub3' (shared 3-component vector of uint) -0:88 move second child to first child (temp 3-component vector of uint) -0:88 'out_u3' (temp 3-component vector of uint) -0:88 AtomicAnd (temp 3-component vector of uint) -0:88 'gs_ua3' (shared 3-component vector of uint) -0:88 'gs_ub3' (shared 3-component vector of uint) -0:89 move second child to first child (temp 3-component vector of uint) -0:89 'out_u3' (temp 3-component vector of uint) -0:89 AtomicCompSwap (temp 3-component vector of uint) -0:89 'gs_ua3' (shared 3-component vector of uint) -0:89 'gs_ub3' (shared 3-component vector of uint) -0:89 'gs_uc3' (shared 3-component vector of uint) -0:90 move second child to first child (temp 3-component vector of uint) -0:90 'out_u3' (temp 3-component vector of uint) -0:90 AtomicExchange (temp 3-component vector of uint) -0:90 'gs_ua3' (shared 3-component vector of uint) -0:90 'gs_ub3' (shared 3-component vector of uint) -0:91 AtomicMax (temp void) -0:91 'gs_ua3' (shared 3-component vector of uint) -0:91 'gs_ub3' (shared 3-component vector of uint) -0:92 move second child to first child (temp 3-component vector of uint) -0:92 'out_u3' (temp 3-component vector of uint) -0:92 AtomicMax (temp 3-component vector of uint) -0:92 'gs_ua3' (shared 3-component vector of uint) -0:92 'gs_ub3' (shared 3-component vector of uint) -0:93 AtomicMin (temp void) -0:93 'gs_ua3' (shared 3-component vector of uint) -0:93 'gs_ub3' (shared 3-component vector of uint) -0:94 move second child to first child (temp 3-component vector of uint) -0:94 'out_u3' (temp 3-component vector of uint) -0:94 AtomicMin (temp 3-component vector of uint) -0:94 'gs_ua3' (shared 3-component vector of uint) -0:94 'gs_ub3' (shared 3-component vector of uint) -0:95 AtomicOr (temp void) -0:95 'gs_ua3' (shared 3-component vector of uint) -0:95 'gs_ub3' (shared 3-component vector of uint) -0:96 move second child to first child (temp 3-component vector of uint) -0:96 'out_u3' (temp 3-component vector of uint) -0:96 AtomicOr (temp 3-component vector of uint) -0:96 'gs_ua3' (shared 3-component vector of uint) -0:96 'gs_ub3' (shared 3-component vector of uint) -0:97 AtomicXor (temp void) -0:97 'gs_ua3' (shared 3-component vector of uint) -0:97 'gs_ub3' (shared 3-component vector of uint) -0:98 move second child to first child (temp 3-component vector of uint) -0:98 'out_u3' (temp 3-component vector of uint) -0:98 AtomicXor (temp 3-component vector of uint) -0:98 'gs_ua3' (shared 3-component vector of uint) -0:98 'gs_ub3' (shared 3-component vector of uint) +0:82 all ( temp bool) +0:82 'inF0' ( in 3-component vector of float) +0:85 AtomicAdd ( temp void) +0:85 'gs_ua3' ( shared 3-component vector of uint) +0:85 'gs_ub3' ( shared 3-component vector of uint) +0:86 move second child to first child ( temp 3-component vector of uint) +0:86 'out_u3' ( temp 3-component vector of uint) +0:86 AtomicAdd ( temp 3-component vector of uint) +0:86 'gs_ua3' ( shared 3-component vector of uint) +0:86 'gs_ub3' ( shared 3-component vector of uint) +0:87 AtomicAnd ( temp void) +0:87 'gs_ua3' ( shared 3-component vector of uint) +0:87 'gs_ub3' ( shared 3-component vector of uint) +0:88 move second child to first child ( temp 3-component vector of uint) +0:88 'out_u3' ( temp 3-component vector of uint) +0:88 AtomicAnd ( temp 3-component vector of uint) +0:88 'gs_ua3' ( shared 3-component vector of uint) +0:88 'gs_ub3' ( shared 3-component vector of uint) +0:89 move second child to first child ( temp 3-component vector of uint) +0:89 'out_u3' ( temp 3-component vector of uint) +0:89 AtomicCompSwap ( temp 3-component vector of uint) +0:89 'gs_ua3' ( shared 3-component vector of uint) +0:89 'gs_ub3' ( shared 3-component vector of uint) +0:89 'gs_uc3' ( shared 3-component vector of uint) +0:90 move second child to first child ( temp 3-component vector of uint) +0:90 'out_u3' ( temp 3-component vector of uint) +0:90 AtomicExchange ( temp 3-component vector of uint) +0:90 'gs_ua3' ( shared 3-component vector of uint) +0:90 'gs_ub3' ( shared 3-component vector of uint) +0:91 AtomicMax ( temp void) +0:91 'gs_ua3' ( shared 3-component vector of uint) +0:91 'gs_ub3' ( shared 3-component vector of uint) +0:92 move second child to first child ( temp 3-component vector of uint) +0:92 'out_u3' ( temp 3-component vector of uint) +0:92 AtomicMax ( temp 3-component vector of uint) +0:92 'gs_ua3' ( shared 3-component vector of uint) +0:92 'gs_ub3' ( shared 3-component vector of uint) +0:93 AtomicMin ( temp void) +0:93 'gs_ua3' ( shared 3-component vector of uint) +0:93 'gs_ub3' ( shared 3-component vector of uint) +0:94 move second child to first child ( temp 3-component vector of uint) +0:94 'out_u3' ( temp 3-component vector of uint) +0:94 AtomicMin ( temp 3-component vector of uint) +0:94 'gs_ua3' ( shared 3-component vector of uint) +0:94 'gs_ub3' ( shared 3-component vector of uint) +0:95 AtomicOr ( temp void) +0:95 'gs_ua3' ( shared 3-component vector of uint) +0:95 'gs_ub3' ( shared 3-component vector of uint) +0:96 move second child to first child ( temp 3-component vector of uint) +0:96 'out_u3' ( temp 3-component vector of uint) +0:96 AtomicOr ( temp 3-component vector of uint) +0:96 'gs_ua3' ( shared 3-component vector of uint) +0:96 'gs_ub3' ( shared 3-component vector of uint) +0:97 AtomicXor ( temp void) +0:97 'gs_ua3' ( shared 3-component vector of uint) +0:97 'gs_ub3' ( shared 3-component vector of uint) +0:98 move second child to first child ( temp 3-component vector of uint) +0:98 'out_u3' ( temp 3-component vector of uint) +0:98 AtomicXor ( temp 3-component vector of uint) +0:98 'gs_ua3' ( shared 3-component vector of uint) +0:98 'gs_ub3' ( shared 3-component vector of uint) 0:101 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:105 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:105 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:105 Function Parameters: -0:105 'inF0' (layout(location=0 ) in 4-component vector of float) -0:105 'inF1' (layout(location=1 ) in 4-component vector of float) -0:105 'inF2' (layout(location=2 ) in 4-component vector of float) -0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) +0:105 'inF0' ( in 4-component vector of float) +0:105 'inF1' ( in 4-component vector of float) +0:105 'inF2' ( in 4-component vector of float) +0:105 'inU0' ( in 4-component vector of uint) +0:105 'inU1' ( in 4-component vector of uint) 0:? Sequence -0:109 all (temp bool) -0:109 'inF0' (layout(location=0 ) in 4-component vector of float) -0:112 AtomicAdd (temp void) -0:112 'gs_ua4' (shared 4-component vector of uint) -0:112 'gs_ub4' (shared 4-component vector of uint) -0:113 move second child to first child (temp 4-component vector of uint) -0:113 'out_u4' (temp 4-component vector of uint) -0:113 AtomicAdd (temp 4-component vector of uint) -0:113 'gs_ua4' (shared 4-component vector of uint) -0:113 'gs_ub4' (shared 4-component vector of uint) -0:114 AtomicAnd (temp void) -0:114 'gs_ua4' (shared 4-component vector of uint) -0:114 'gs_ub4' (shared 4-component vector of uint) -0:115 move second child to first child (temp 4-component vector of uint) -0:115 'out_u4' (temp 4-component vector of uint) -0:115 AtomicAnd (temp 4-component vector of uint) -0:115 'gs_ua4' (shared 4-component vector of uint) -0:115 'gs_ub4' (shared 4-component vector of uint) -0:116 move second child to first child (temp 4-component vector of uint) -0:116 'out_u4' (temp 4-component vector of uint) -0:116 AtomicCompSwap (temp 4-component vector of uint) -0:116 'gs_ua4' (shared 4-component vector of uint) -0:116 'gs_ub4' (shared 4-component vector of uint) -0:116 'gs_uc4' (shared 4-component vector of uint) -0:117 move second child to first child (temp 4-component vector of uint) -0:117 'out_u4' (temp 4-component vector of uint) -0:117 AtomicExchange (temp 4-component vector of uint) -0:117 'gs_ua4' (shared 4-component vector of uint) -0:117 'gs_ub4' (shared 4-component vector of uint) -0:118 AtomicMax (temp void) -0:118 'gs_ua4' (shared 4-component vector of uint) -0:118 'gs_ub4' (shared 4-component vector of uint) -0:119 move second child to first child (temp 4-component vector of uint) -0:119 'out_u4' (temp 4-component vector of uint) -0:119 AtomicMax (temp 4-component vector of uint) -0:119 'gs_ua4' (shared 4-component vector of uint) -0:119 'gs_ub4' (shared 4-component vector of uint) -0:120 AtomicMin (temp void) -0:120 'gs_ua4' (shared 4-component vector of uint) -0:120 'gs_ub4' (shared 4-component vector of uint) -0:121 move second child to first child (temp 4-component vector of uint) -0:121 'out_u4' (temp 4-component vector of uint) -0:121 AtomicMin (temp 4-component vector of uint) -0:121 'gs_ua4' (shared 4-component vector of uint) -0:121 'gs_ub4' (shared 4-component vector of uint) -0:122 AtomicOr (temp void) -0:122 'gs_ua4' (shared 4-component vector of uint) -0:122 'gs_ub4' (shared 4-component vector of uint) -0:123 move second child to first child (temp 4-component vector of uint) -0:123 'out_u4' (temp 4-component vector of uint) -0:123 AtomicOr (temp 4-component vector of uint) -0:123 'gs_ua4' (shared 4-component vector of uint) -0:123 'gs_ub4' (shared 4-component vector of uint) -0:124 AtomicXor (temp void) -0:124 'gs_ua4' (shared 4-component vector of uint) -0:124 'gs_ub4' (shared 4-component vector of uint) -0:125 move second child to first child (temp 4-component vector of uint) -0:125 'out_u4' (temp 4-component vector of uint) -0:125 AtomicXor (temp 4-component vector of uint) -0:125 'gs_ua4' (shared 4-component vector of uint) -0:125 'gs_ub4' (shared 4-component vector of uint) -0:128 Sequence -0:128 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:128 Branch: Return +0:109 all ( temp bool) +0:109 'inF0' ( in 4-component vector of float) +0:112 AtomicAdd ( temp void) +0:112 'gs_ua4' ( shared 4-component vector of uint) +0:112 'gs_ub4' ( shared 4-component vector of uint) +0:113 move second child to first child ( temp 4-component vector of uint) +0:113 'out_u4' ( temp 4-component vector of uint) +0:113 AtomicAdd ( temp 4-component vector of uint) +0:113 'gs_ua4' ( shared 4-component vector of uint) +0:113 'gs_ub4' ( shared 4-component vector of uint) +0:114 AtomicAnd ( temp void) +0:114 'gs_ua4' ( shared 4-component vector of uint) +0:114 'gs_ub4' ( shared 4-component vector of uint) +0:115 move second child to first child ( temp 4-component vector of uint) +0:115 'out_u4' ( temp 4-component vector of uint) +0:115 AtomicAnd ( temp 4-component vector of uint) +0:115 'gs_ua4' ( shared 4-component vector of uint) +0:115 'gs_ub4' ( shared 4-component vector of uint) +0:116 move second child to first child ( temp 4-component vector of uint) +0:116 'out_u4' ( temp 4-component vector of uint) +0:116 AtomicCompSwap ( temp 4-component vector of uint) +0:116 'gs_ua4' ( shared 4-component vector of uint) +0:116 'gs_ub4' ( shared 4-component vector of uint) +0:116 'gs_uc4' ( shared 4-component vector of uint) +0:117 move second child to first child ( temp 4-component vector of uint) +0:117 'out_u4' ( temp 4-component vector of uint) +0:117 AtomicExchange ( temp 4-component vector of uint) +0:117 'gs_ua4' ( shared 4-component vector of uint) +0:117 'gs_ub4' ( shared 4-component vector of uint) +0:118 AtomicMax ( temp void) +0:118 'gs_ua4' ( shared 4-component vector of uint) +0:118 'gs_ub4' ( shared 4-component vector of uint) +0:119 move second child to first child ( temp 4-component vector of uint) +0:119 'out_u4' ( temp 4-component vector of uint) +0:119 AtomicMax ( temp 4-component vector of uint) +0:119 'gs_ua4' ( shared 4-component vector of uint) +0:119 'gs_ub4' ( shared 4-component vector of uint) +0:120 AtomicMin ( temp void) +0:120 'gs_ua4' ( shared 4-component vector of uint) +0:120 'gs_ub4' ( shared 4-component vector of uint) +0:121 move second child to first child ( temp 4-component vector of uint) +0:121 'out_u4' ( temp 4-component vector of uint) +0:121 AtomicMin ( temp 4-component vector of uint) +0:121 'gs_ua4' ( shared 4-component vector of uint) +0:121 'gs_ub4' ( shared 4-component vector of uint) +0:122 AtomicOr ( temp void) +0:122 'gs_ua4' ( shared 4-component vector of uint) +0:122 'gs_ub4' ( shared 4-component vector of uint) +0:123 move second child to first child ( temp 4-component vector of uint) +0:123 'out_u4' ( temp 4-component vector of uint) +0:123 AtomicOr ( temp 4-component vector of uint) +0:123 'gs_ua4' ( shared 4-component vector of uint) +0:123 'gs_ub4' ( shared 4-component vector of uint) +0:124 AtomicXor ( temp void) +0:124 'gs_ua4' ( shared 4-component vector of uint) +0:124 'gs_ub4' ( shared 4-component vector of uint) +0:125 move second child to first child ( temp 4-component vector of uint) +0:125 'out_u4' ( temp 4-component vector of uint) +0:125 AtomicXor ( temp 4-component vector of uint) +0:125 'gs_ua4' ( shared 4-component vector of uint) +0:125 'gs_ub4' ( shared 4-component vector of uint) +0:128 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:105 Function Definition: ComputeShaderFunction( ( temp void) +0:105 Function Parameters: +0:? Sequence +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:105 move second child to first child ( temp 4-component vector of uint) +0:? 'inU0' ( temp 4-component vector of uint) +0:? 'inU0' (layout( location=3) in 4-component vector of uint) +0:105 move second child to first child ( temp 4-component vector of uint) +0:? 'inU1' ( temp 4-component vector of uint) +0:? 'inU1' (layout( location=4) in 4-component vector of uint) +0:105 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:105 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inU0' ( temp 4-component vector of uint) +0:? 'inU1' ( temp 4-component vector of uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) -0:? 'gs_ua' (shared uint) -0:? 'gs_ub' (shared uint) -0:? 'gs_uc' (shared uint) -0:? 'gs_ua2' (shared 2-component vector of uint) -0:? 'gs_ub2' (shared 2-component vector of uint) -0:? 'gs_uc2' (shared 2-component vector of uint) -0:? 'gs_ua3' (shared 3-component vector of uint) -0:? 'gs_ub3' (shared 3-component vector of uint) -0:? 'gs_uc3' (shared 3-component vector of uint) -0:? 'gs_ua4' (shared 4-component vector of uint) -0:? 'gs_ub4' (shared 4-component vector of uint) -0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'gs_ua' ( shared uint) +0:? 'gs_ub' ( shared uint) +0:? 'gs_uc' ( shared uint) +0:? 'gs_ua2' ( shared 2-component vector of uint) +0:? 'gs_ub2' ( shared 2-component vector of uint) +0:? 'gs_uc2' ( shared 2-component vector of uint) +0:? 'gs_ua3' ( shared 3-component vector of uint) +0:? 'gs_ub3' ( shared 3-component vector of uint) +0:? 'gs_uc3' ( shared 3-component vector of uint) +0:? 'gs_ua4' ( shared 4-component vector of uint) +0:? 'gs_ub4' ( shared 4-component vector of uint) +0:? 'gs_uc4' ( shared 4-component vector of uint) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inU0' (layout( location=3) in 4-component vector of uint) +0:? 'inU1' (layout( location=4) in 4-component vector of uint) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 224 +// Id's are bound by 255 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 175 215 219 220 222 223 + EntryPoint GLCompute 4 "ComputeShaderFunction" 227 230 233 237 240 243 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;" @@ -693,34 +739,50 @@ local_size = (1, 1, 1) Name 43 "inF2" Name 44 "inU0" Name 45 "inU1" - Name 52 "gs_ua" - Name 53 "gs_ub" - Name 58 "out_u1" - Name 66 "gs_uc" - Name 95 "gs_ua2" - Name 96 "gs_ub2" - Name 99 "out_u2" - Name 107 "gs_uc2" - Name 136 "gs_ua3" - Name 137 "gs_ub3" - Name 140 "out_u3" - Name 148 "gs_uc3" - Name 175 "inF0" - Name 180 "gs_ua4" - Name 181 "gs_ub4" - Name 185 "out_u4" - Name 193 "gs_uc4" - Name 215 "@entryPointOutput" - Name 219 "inF1" - Name 220 "inF2" - Name 222 "inU0" - Name 223 "inU1" - Decorate 175(inF0) Location 0 - Decorate 215(@entryPointOutput) Location 0 - Decorate 219(inF1) Location 1 - Decorate 220(inF2) Location 2 - Decorate 222(inU0) Location 3 - Decorate 223(inU1) Location 4 + Name 58 "@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;" + Name 53 "inF0" + Name 54 "inF1" + Name 55 "inF2" + Name 56 "inU0" + Name 57 "inU1" + Name 64 "gs_ua" + Name 65 "gs_ub" + Name 70 "out_u1" + Name 78 "gs_uc" + Name 107 "gs_ua2" + Name 108 "gs_ub2" + Name 111 "out_u2" + Name 119 "gs_uc2" + Name 148 "gs_ua3" + Name 149 "gs_ub3" + Name 152 "out_u3" + Name 160 "gs_uc3" + Name 188 "gs_ua4" + Name 189 "gs_ub4" + Name 192 "out_u4" + Name 200 "gs_uc4" + Name 225 "inF0" + Name 227 "inF0" + Name 229 "inF1" + Name 230 "inF1" + Name 232 "inF2" + Name 233 "inF2" + Name 235 "inU0" + Name 237 "inU0" + Name 239 "inU1" + Name 240 "inU1" + Name 243 "@entryPointOutput" + Name 244 "param" + Name 246 "param" + Name 248 "param" + Name 250 "param" + Name 252 "param" + Decorate 227(inF0) Location 0 + Decorate 230(inF1) Location 1 + Decorate 233(inF2) Location 2 + Decorate 237(inU0) Location 3 + Decorate 240(inU1) Location 4 + Decorate 243(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -739,88 +801,81 @@ local_size = (1, 1, 1) 38: TypeVector 8(int) 3 39: TypePointer Function 38(ivec3) 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr) - 49: TypeBool - 51: TypePointer Workgroup 8(int) - 52(gs_ua): 51(ptr) Variable Workgroup - 53(gs_ub): 51(ptr) Variable Workgroup - 55: 8(int) Constant 1 - 56: 8(int) Constant 0 - 66(gs_uc): 51(ptr) Variable Workgroup - 87: 6(float) Constant 0 - 94: TypePointer Workgroup 26(ivec2) - 95(gs_ua2): 94(ptr) Variable Workgroup - 96(gs_ub2): 94(ptr) Variable Workgroup - 107(gs_uc2): 94(ptr) Variable Workgroup - 128: 6(float) Constant 1065353216 - 129: 6(float) Constant 1073741824 - 130: 24(fvec2) ConstantComposite 128 129 - 135: TypePointer Workgroup 38(ivec3) - 136(gs_ua3): 135(ptr) Variable Workgroup - 137(gs_ub3): 135(ptr) Variable Workgroup - 148(gs_uc3): 135(ptr) Variable Workgroup - 169: 6(float) Constant 1077936128 - 170: 36(fvec3) ConstantComposite 128 129 169 - 173: TypeVector 6(float) 4 - 174: TypePointer Input 173(fvec4) - 175(inF0): 174(ptr) Variable Input - 178: TypeVector 8(int) 4 - 179: TypePointer Workgroup 178(ivec4) - 180(gs_ua4): 179(ptr) Variable Workgroup - 181(gs_ub4): 179(ptr) Variable Workgroup - 184: TypePointer Function 178(ivec4) - 193(gs_uc4): 179(ptr) Variable Workgroup - 214: TypePointer Output 173(fvec4) -215(@entryPointOutput): 214(ptr) Variable Output - 216: 6(float) Constant 1082130432 - 217: 173(fvec4) ConstantComposite 128 129 169 216 - 219(inF1): 174(ptr) Variable Input - 220(inF2): 174(ptr) Variable Input - 221: TypePointer Input 178(ivec4) - 222(inU0): 221(ptr) Variable Input - 223(inU1): 221(ptr) Variable Input + 48: TypeVector 6(float) 4 + 49: TypePointer Function 48(fvec4) + 50: TypeVector 8(int) 4 + 51: TypePointer Function 50(ivec4) + 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr) + 61: TypeBool + 63: TypePointer Workgroup 8(int) + 64(gs_ua): 63(ptr) Variable Workgroup + 65(gs_ub): 63(ptr) Variable Workgroup + 67: 8(int) Constant 1 + 68: 8(int) Constant 0 + 78(gs_uc): 63(ptr) Variable Workgroup + 99: 6(float) Constant 0 + 106: TypePointer Workgroup 26(ivec2) + 107(gs_ua2): 106(ptr) Variable Workgroup + 108(gs_ub2): 106(ptr) Variable Workgroup + 119(gs_uc2): 106(ptr) Variable Workgroup + 140: 6(float) Constant 1065353216 + 141: 6(float) Constant 1073741824 + 142: 24(fvec2) ConstantComposite 140 141 + 147: TypePointer Workgroup 38(ivec3) + 148(gs_ua3): 147(ptr) Variable Workgroup + 149(gs_ub3): 147(ptr) Variable Workgroup + 160(gs_uc3): 147(ptr) Variable Workgroup + 181: 6(float) Constant 1077936128 + 182: 36(fvec3) ConstantComposite 140 141 181 + 187: TypePointer Workgroup 50(ivec4) + 188(gs_ua4): 187(ptr) Variable Workgroup + 189(gs_ub4): 187(ptr) Variable Workgroup + 200(gs_uc4): 187(ptr) Variable Workgroup + 221: 6(float) Constant 1082130432 + 222: 48(fvec4) ConstantComposite 140 141 181 221 + 226: TypePointer Input 48(fvec4) + 227(inF0): 226(ptr) Variable Input + 230(inF1): 226(ptr) Variable Input + 233(inF2): 226(ptr) Variable Input + 236: TypePointer Input 50(ivec4) + 237(inU0): 236(ptr) Variable Input + 240(inU1): 236(ptr) Variable Input + 242: TypePointer Output 48(fvec4) +243(@entryPointOutput): 242(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - 185(out_u4): 184(ptr) Variable Function - 176: 173(fvec4) Load 175(inF0) - 177: 49(bool) All 176 - 182: 178(ivec4) Load 181(gs_ub4) - 183: 2 AtomicIAdd 180(gs_ua4) 55 56 182 - 186: 178(ivec4) Load 181(gs_ub4) - 187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186 - Store 185(out_u4) 187 - 188: 178(ivec4) Load 181(gs_ub4) - 189: 2 AtomicAnd 180(gs_ua4) 55 56 188 - 190: 178(ivec4) Load 181(gs_ub4) - 191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190 - Store 185(out_u4) 191 - 192: 178(ivec4) Load 181(gs_ub4) - 194: 178(ivec4) Load 193(gs_uc4) - 195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192 - Store 185(out_u4) 195 - 196: 178(ivec4) Load 181(gs_ub4) - 197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196 - Store 185(out_u4) 197 - 198: 178(ivec4) Load 181(gs_ub4) - 199: 2 AtomicSMax 180(gs_ua4) 55 56 198 - 200: 178(ivec4) Load 181(gs_ub4) - 201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200 - Store 185(out_u4) 201 - 202: 178(ivec4) Load 181(gs_ub4) - 203: 2 AtomicSMin 180(gs_ua4) 55 56 202 - 204: 178(ivec4) Load 181(gs_ub4) - 205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204 - Store 185(out_u4) 205 - 206: 178(ivec4) Load 181(gs_ub4) - 207: 2 AtomicOr 180(gs_ua4) 55 56 206 - 208: 178(ivec4) Load 181(gs_ub4) - 209: 178(ivec4) AtomicOr 180(gs_ua4) 55 56 208 - Store 185(out_u4) 209 - 210: 178(ivec4) Load 181(gs_ub4) - 211: 2 AtomicXor 180(gs_ua4) 55 56 210 - 212: 178(ivec4) Load 181(gs_ub4) - 213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212 - Store 185(out_u4) 213 - Store 215(@entryPointOutput) 217 + 225(inF0): 49(ptr) Variable Function + 229(inF1): 49(ptr) Variable Function + 232(inF2): 49(ptr) Variable Function + 235(inU0): 51(ptr) Variable Function + 239(inU1): 51(ptr) Variable Function + 244(param): 49(ptr) Variable Function + 246(param): 49(ptr) Variable Function + 248(param): 49(ptr) Variable Function + 250(param): 51(ptr) Variable Function + 252(param): 51(ptr) Variable Function + 228: 48(fvec4) Load 227(inF0) + Store 225(inF0) 228 + 231: 48(fvec4) Load 230(inF1) + Store 229(inF1) 231 + 234: 48(fvec4) Load 233(inF2) + Store 232(inF2) 234 + 238: 50(ivec4) Load 237(inU0) + Store 235(inU0) 238 + 241: 50(ivec4) Load 240(inU1) + Store 239(inU1) 241 + 245: 48(fvec4) Load 225(inF0) + Store 244(param) 245 + 247: 48(fvec4) Load 229(inF1) + Store 246(param) 247 + 249: 48(fvec4) Load 232(inF2) + Store 248(param) 249 + 251: 50(ivec4) Load 235(inU0) + Store 250(param) 251 + 253: 50(ivec4) Load 239(inU1) + Store 252(param) 253 + 254: 48(fvec4) FunctionCall 58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;) 244(param) 246(param) 248(param) 250(param) 252(param) + Store 243(@entryPointOutput) 254 Return FunctionEnd 16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 @@ -830,54 +885,54 @@ local_size = (1, 1, 1) 14(inU0): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter 17: Label - 58(out_u1): 9(ptr) Variable Function - 48: 6(float) Load 11(inF0) - 50: 49(bool) All 48 - 54: 8(int) Load 53(gs_ub) - 57: 2 AtomicIAdd 52(gs_ua) 55 56 54 - 59: 8(int) Load 53(gs_ub) - 60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59 - Store 58(out_u1) 60 - 61: 8(int) Load 53(gs_ub) - 62: 2 AtomicAnd 52(gs_ua) 55 56 61 - 63: 8(int) Load 53(gs_ub) - 64: 8(int) AtomicAnd 52(gs_ua) 55 56 63 - Store 58(out_u1) 64 - 65: 8(int) Load 53(gs_ub) - 67: 8(int) Load 66(gs_uc) - 68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65 - Store 58(out_u1) 68 - 69: 8(int) Load 53(gs_ub) - 70: 8(int) AtomicExchange 52(gs_ua) 55 56 69 - Store 58(out_u1) 70 - 71: 8(int) Load 53(gs_ub) - 72: 2 AtomicSMax 52(gs_ua) 55 56 71 - 73: 8(int) Load 53(gs_ub) - 74: 8(int) AtomicUMax 52(gs_ua) 55 56 73 - Store 58(out_u1) 74 - 75: 8(int) Load 53(gs_ub) - 76: 2 AtomicSMin 52(gs_ua) 55 56 75 - 77: 8(int) Load 53(gs_ub) - 78: 8(int) AtomicUMin 52(gs_ua) 55 56 77 - Store 58(out_u1) 78 - 79: 8(int) Load 53(gs_ub) - 80: 2 AtomicOr 52(gs_ua) 55 56 79 - 81: 8(int) Load 53(gs_ub) - 82: 8(int) AtomicOr 52(gs_ua) 55 56 81 - Store 58(out_u1) 82 - 83: 8(int) Load 53(gs_ub) - 84: 2 AtomicXor 52(gs_ua) 55 56 83 - 85: 8(int) Load 53(gs_ub) - 86: 8(int) AtomicXor 52(gs_ua) 55 56 85 - Store 58(out_u1) 86 - ReturnValue 87 + 70(out_u1): 9(ptr) Variable Function + 60: 6(float) Load 11(inF0) + 62: 61(bool) All 60 + 66: 8(int) Load 65(gs_ub) + 69: 2 AtomicIAdd 64(gs_ua) 67 68 66 + 71: 8(int) Load 65(gs_ub) + 72: 8(int) AtomicIAdd 64(gs_ua) 67 68 71 + Store 70(out_u1) 72 + 73: 8(int) Load 65(gs_ub) + 74: 2 AtomicAnd 64(gs_ua) 67 68 73 + 75: 8(int) Load 65(gs_ub) + 76: 8(int) AtomicAnd 64(gs_ua) 67 68 75 + Store 70(out_u1) 76 + 77: 8(int) Load 65(gs_ub) + 79: 8(int) Load 78(gs_uc) + 80: 8(int) AtomicCompareExchange 64(gs_ua) 67 68 68 79 77 + Store 70(out_u1) 80 + 81: 8(int) Load 65(gs_ub) + 82: 8(int) AtomicExchange 64(gs_ua) 67 68 81 + Store 70(out_u1) 82 + 83: 8(int) Load 65(gs_ub) + 84: 2 AtomicSMax 64(gs_ua) 67 68 83 + 85: 8(int) Load 65(gs_ub) + 86: 8(int) AtomicUMax 64(gs_ua) 67 68 85 + Store 70(out_u1) 86 + 87: 8(int) Load 65(gs_ub) + 88: 2 AtomicSMin 64(gs_ua) 67 68 87 + 89: 8(int) Load 65(gs_ub) + 90: 8(int) AtomicUMin 64(gs_ua) 67 68 89 + Store 70(out_u1) 90 + 91: 8(int) Load 65(gs_ub) + 92: 2 AtomicOr 64(gs_ua) 67 68 91 + 93: 8(int) Load 65(gs_ub) + 94: 8(int) AtomicOr 64(gs_ua) 67 68 93 + Store 70(out_u1) 94 + 95: 8(int) Load 65(gs_ub) + 96: 2 AtomicXor 64(gs_ua) 67 68 95 + 97: 8(int) Load 65(gs_ub) + 98: 8(int) AtomicXor 64(gs_ua) 67 68 97 + Store 70(out_u1) 98 + ReturnValue 99 FunctionEnd 22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 19(inF0): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter 23: Label - ReturnValue 87 + ReturnValue 99 FunctionEnd 34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 29(inF0): 25(ptr) FunctionParameter @@ -886,47 +941,47 @@ local_size = (1, 1, 1) 32(inU0): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter 35: Label - 99(out_u2): 27(ptr) Variable Function - 92: 24(fvec2) Load 29(inF0) - 93: 49(bool) All 92 - 97: 26(ivec2) Load 96(gs_ub2) - 98: 2 AtomicIAdd 95(gs_ua2) 55 56 97 - 100: 26(ivec2) Load 96(gs_ub2) - 101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100 - Store 99(out_u2) 101 - 102: 26(ivec2) Load 96(gs_ub2) - 103: 2 AtomicAnd 95(gs_ua2) 55 56 102 - 104: 26(ivec2) Load 96(gs_ub2) - 105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104 - Store 99(out_u2) 105 - 106: 26(ivec2) Load 96(gs_ub2) - 108: 26(ivec2) Load 107(gs_uc2) - 109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106 - Store 99(out_u2) 109 - 110: 26(ivec2) Load 96(gs_ub2) - 111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110 - Store 99(out_u2) 111 - 112: 26(ivec2) Load 96(gs_ub2) - 113: 2 AtomicSMax 95(gs_ua2) 55 56 112 - 114: 26(ivec2) Load 96(gs_ub2) - 115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114 - Store 99(out_u2) 115 - 116: 26(ivec2) Load 96(gs_ub2) - 117: 2 AtomicSMin 95(gs_ua2) 55 56 116 - 118: 26(ivec2) Load 96(gs_ub2) - 119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118 - Store 99(out_u2) 119 - 120: 26(ivec2) Load 96(gs_ub2) - 121: 2 AtomicOr 95(gs_ua2) 55 56 120 - 122: 26(ivec2) Load 96(gs_ub2) - 123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122 - Store 99(out_u2) 123 - 124: 26(ivec2) Load 96(gs_ub2) - 125: 2 AtomicXor 95(gs_ua2) 55 56 124 - 126: 26(ivec2) Load 96(gs_ub2) - 127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126 - Store 99(out_u2) 127 - ReturnValue 130 + 111(out_u2): 27(ptr) Variable Function + 104: 24(fvec2) Load 29(inF0) + 105: 61(bool) All 104 + 109: 26(ivec2) Load 108(gs_ub2) + 110: 2 AtomicIAdd 107(gs_ua2) 67 68 109 + 112: 26(ivec2) Load 108(gs_ub2) + 113: 26(ivec2) AtomicIAdd 107(gs_ua2) 67 68 112 + Store 111(out_u2) 113 + 114: 26(ivec2) Load 108(gs_ub2) + 115: 2 AtomicAnd 107(gs_ua2) 67 68 114 + 116: 26(ivec2) Load 108(gs_ub2) + 117: 26(ivec2) AtomicAnd 107(gs_ua2) 67 68 116 + Store 111(out_u2) 117 + 118: 26(ivec2) Load 108(gs_ub2) + 120: 26(ivec2) Load 119(gs_uc2) + 121: 26(ivec2) AtomicCompareExchange 107(gs_ua2) 67 68 68 120 118 + Store 111(out_u2) 121 + 122: 26(ivec2) Load 108(gs_ub2) + 123: 26(ivec2) AtomicExchange 107(gs_ua2) 67 68 122 + Store 111(out_u2) 123 + 124: 26(ivec2) Load 108(gs_ub2) + 125: 2 AtomicSMax 107(gs_ua2) 67 68 124 + 126: 26(ivec2) Load 108(gs_ub2) + 127: 26(ivec2) AtomicUMax 107(gs_ua2) 67 68 126 + Store 111(out_u2) 127 + 128: 26(ivec2) Load 108(gs_ub2) + 129: 2 AtomicSMin 107(gs_ua2) 67 68 128 + 130: 26(ivec2) Load 108(gs_ub2) + 131: 26(ivec2) AtomicUMin 107(gs_ua2) 67 68 130 + Store 111(out_u2) 131 + 132: 26(ivec2) Load 108(gs_ub2) + 133: 2 AtomicOr 107(gs_ua2) 67 68 132 + 134: 26(ivec2) Load 108(gs_ub2) + 135: 26(ivec2) AtomicOr 107(gs_ua2) 67 68 134 + Store 111(out_u2) 135 + 136: 26(ivec2) Load 108(gs_ub2) + 137: 2 AtomicXor 107(gs_ua2) 67 68 136 + 138: 26(ivec2) Load 108(gs_ub2) + 139: 26(ivec2) AtomicXor 107(gs_ua2) 67 68 138 + Store 111(out_u2) 139 + ReturnValue 142 FunctionEnd 46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 41(inF0): 37(ptr) FunctionParameter @@ -935,45 +990,94 @@ local_size = (1, 1, 1) 44(inU0): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter 47: Label - 140(out_u3): 39(ptr) Variable Function - 133: 36(fvec3) Load 41(inF0) - 134: 49(bool) All 133 - 138: 38(ivec3) Load 137(gs_ub3) - 139: 2 AtomicIAdd 136(gs_ua3) 55 56 138 - 141: 38(ivec3) Load 137(gs_ub3) - 142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141 - Store 140(out_u3) 142 - 143: 38(ivec3) Load 137(gs_ub3) - 144: 2 AtomicAnd 136(gs_ua3) 55 56 143 - 145: 38(ivec3) Load 137(gs_ub3) - 146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145 - Store 140(out_u3) 146 - 147: 38(ivec3) Load 137(gs_ub3) - 149: 38(ivec3) Load 148(gs_uc3) - 150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147 - Store 140(out_u3) 150 - 151: 38(ivec3) Load 137(gs_ub3) - 152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151 - Store 140(out_u3) 152 - 153: 38(ivec3) Load 137(gs_ub3) - 154: 2 AtomicSMax 136(gs_ua3) 55 56 153 - 155: 38(ivec3) Load 137(gs_ub3) - 156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155 - Store 140(out_u3) 156 - 157: 38(ivec3) Load 137(gs_ub3) - 158: 2 AtomicSMin 136(gs_ua3) 55 56 157 - 159: 38(ivec3) Load 137(gs_ub3) - 160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159 - Store 140(out_u3) 160 - 161: 38(ivec3) Load 137(gs_ub3) - 162: 2 AtomicOr 136(gs_ua3) 55 56 161 - 163: 38(ivec3) Load 137(gs_ub3) - 164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163 - Store 140(out_u3) 164 - 165: 38(ivec3) Load 137(gs_ub3) - 166: 2 AtomicXor 136(gs_ua3) 55 56 165 - 167: 38(ivec3) Load 137(gs_ub3) - 168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167 - Store 140(out_u3) 168 - ReturnValue 170 + 152(out_u3): 39(ptr) Variable Function + 145: 36(fvec3) Load 41(inF0) + 146: 61(bool) All 145 + 150: 38(ivec3) Load 149(gs_ub3) + 151: 2 AtomicIAdd 148(gs_ua3) 67 68 150 + 153: 38(ivec3) Load 149(gs_ub3) + 154: 38(ivec3) AtomicIAdd 148(gs_ua3) 67 68 153 + Store 152(out_u3) 154 + 155: 38(ivec3) Load 149(gs_ub3) + 156: 2 AtomicAnd 148(gs_ua3) 67 68 155 + 157: 38(ivec3) Load 149(gs_ub3) + 158: 38(ivec3) AtomicAnd 148(gs_ua3) 67 68 157 + Store 152(out_u3) 158 + 159: 38(ivec3) Load 149(gs_ub3) + 161: 38(ivec3) Load 160(gs_uc3) + 162: 38(ivec3) AtomicCompareExchange 148(gs_ua3) 67 68 68 161 159 + Store 152(out_u3) 162 + 163: 38(ivec3) Load 149(gs_ub3) + 164: 38(ivec3) AtomicExchange 148(gs_ua3) 67 68 163 + Store 152(out_u3) 164 + 165: 38(ivec3) Load 149(gs_ub3) + 166: 2 AtomicSMax 148(gs_ua3) 67 68 165 + 167: 38(ivec3) Load 149(gs_ub3) + 168: 38(ivec3) AtomicUMax 148(gs_ua3) 67 68 167 + Store 152(out_u3) 168 + 169: 38(ivec3) Load 149(gs_ub3) + 170: 2 AtomicSMin 148(gs_ua3) 67 68 169 + 171: 38(ivec3) Load 149(gs_ub3) + 172: 38(ivec3) AtomicUMin 148(gs_ua3) 67 68 171 + Store 152(out_u3) 172 + 173: 38(ivec3) Load 149(gs_ub3) + 174: 2 AtomicOr 148(gs_ua3) 67 68 173 + 175: 38(ivec3) Load 149(gs_ub3) + 176: 38(ivec3) AtomicOr 148(gs_ua3) 67 68 175 + Store 152(out_u3) 176 + 177: 38(ivec3) Load 149(gs_ub3) + 178: 2 AtomicXor 148(gs_ua3) 67 68 177 + 179: 38(ivec3) Load 149(gs_ub3) + 180: 38(ivec3) AtomicXor 148(gs_ua3) 67 68 179 + Store 152(out_u3) 180 + ReturnValue 182 + FunctionEnd +58(@ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 + 53(inF0): 49(ptr) FunctionParameter + 54(inF1): 49(ptr) FunctionParameter + 55(inF2): 49(ptr) FunctionParameter + 56(inU0): 51(ptr) FunctionParameter + 57(inU1): 51(ptr) FunctionParameter + 59: Label + 192(out_u4): 51(ptr) Variable Function + 185: 48(fvec4) Load 53(inF0) + 186: 61(bool) All 185 + 190: 50(ivec4) Load 189(gs_ub4) + 191: 2 AtomicIAdd 188(gs_ua4) 67 68 190 + 193: 50(ivec4) Load 189(gs_ub4) + 194: 50(ivec4) AtomicIAdd 188(gs_ua4) 67 68 193 + Store 192(out_u4) 194 + 195: 50(ivec4) Load 189(gs_ub4) + 196: 2 AtomicAnd 188(gs_ua4) 67 68 195 + 197: 50(ivec4) Load 189(gs_ub4) + 198: 50(ivec4) AtomicAnd 188(gs_ua4) 67 68 197 + Store 192(out_u4) 198 + 199: 50(ivec4) Load 189(gs_ub4) + 201: 50(ivec4) Load 200(gs_uc4) + 202: 50(ivec4) AtomicCompareExchange 188(gs_ua4) 67 68 68 201 199 + Store 192(out_u4) 202 + 203: 50(ivec4) Load 189(gs_ub4) + 204: 50(ivec4) AtomicExchange 188(gs_ua4) 67 68 203 + Store 192(out_u4) 204 + 205: 50(ivec4) Load 189(gs_ub4) + 206: 2 AtomicSMax 188(gs_ua4) 67 68 205 + 207: 50(ivec4) Load 189(gs_ub4) + 208: 50(ivec4) AtomicUMax 188(gs_ua4) 67 68 207 + Store 192(out_u4) 208 + 209: 50(ivec4) Load 189(gs_ub4) + 210: 2 AtomicSMin 188(gs_ua4) 67 68 209 + 211: 50(ivec4) Load 189(gs_ub4) + 212: 50(ivec4) AtomicUMin 188(gs_ua4) 67 68 211 + Store 192(out_u4) 212 + 213: 50(ivec4) Load 189(gs_ub4) + 214: 2 AtomicOr 188(gs_ua4) 67 68 213 + 215: 50(ivec4) Load 189(gs_ub4) + 216: 50(ivec4) AtomicOr 188(gs_ua4) 67 68 215 + Store 192(out_u4) 216 + 217: 50(ivec4) Load 189(gs_ub4) + 218: 2 AtomicXor 188(gs_ua4) 67 68 217 + 219: 50(ivec4) Load 189(gs_ub4) + 220: 50(ivec4) AtomicXor 188(gs_ua4) 67 68 219 + Store 192(out_u4) 220 + ReturnValue 222 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out index 0bd429b522e..e38e621b8f1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out @@ -2,34 +2,37 @@ hlsl.intrinsics.d3dcolortoubyte4.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of int) +0:5 Function Definition: @main( ( temp 4-component vector of int) 0:5 Function Parameters: 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:6 Convert float to int (temp 4-component vector of int) -0:6 vector-scale (temp 4-component vector of float) -0:6 Constant: -0:6 255.001953 -0:6 vector swizzle (temp 4-component vector of float) -0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) -0:6 Constant: -0:6 0 (const uint) -0:6 Sequence -0:6 Constant: -0:6 2 (const int) -0:6 Constant: -0:6 1 (const int) -0:6 Constant: -0:6 0 (const int) -0:6 Constant: -0:6 3 (const int) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Convert float to int ( temp 4-component vector of int) +0:6 vector-scale ( temp 4-component vector of float) +0:6 Constant: +0:6 255.001953 +0:6 vector swizzle ( temp 4-component vector of float) +0:6 col4: direct index for structure ( uniform 4-component vector of float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4}) +0:6 Constant: +0:6 0 (const uint) +0:6 Sequence +0:6 Constant: +0:6 2 (const int) +0:6 Constant: +0:6 1 (const int) +0:6 Constant: +0:6 0 (const int) +0:6 Constant: +0:6 3 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:5 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) Linked fragment stage: @@ -38,74 +41,84 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of int) +0:5 Function Definition: @main( ( temp 4-component vector of int) 0:5 Function Parameters: 0:? Sequence -0:6 Sequence -0:6 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:6 Convert float to int (temp 4-component vector of int) -0:6 vector-scale (temp 4-component vector of float) -0:6 Constant: -0:6 255.001953 -0:6 vector swizzle (temp 4-component vector of float) -0:6 col4: direct index for structure (layout(offset=0 ) uniform 4-component vector of float) -0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) -0:6 Constant: -0:6 0 (const uint) -0:6 Sequence -0:6 Constant: -0:6 2 (const int) -0:6 Constant: -0:6 1 (const int) -0:6 Constant: -0:6 0 (const int) -0:6 Constant: -0:6 3 (const int) -0:6 Branch: Return +0:6 Branch: Return with expression +0:6 Convert float to int ( temp 4-component vector of int) +0:6 vector-scale ( temp 4-component vector of float) +0:6 Constant: +0:6 255.001953 +0:6 vector swizzle ( temp 4-component vector of float) +0:6 col4: direct index for structure ( uniform 4-component vector of float) +0:6 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4}) +0:6 Constant: +0:6 0 (const uint) +0:6 Sequence +0:6 Constant: +0:6 2 (const int) +0:6 Constant: +0:6 1 (const int) +0:6 Constant: +0:6 0 (const int) +0:6 Constant: +0:6 3 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:5 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float col4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24 +// Id's are bound by 29 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 27 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "@entryPointOutput" - Name 13 "$Global" - MemberName 13($Global) 0 "col4" - Name 15 "" - Decorate 9(@entryPointOutput) Location 0 - MemberDecorate 13($Global) 0 Offset 0 - Decorate 13($Global) Block - Decorate 15 DescriptorSet 0 + Name 9 "@main(" + Name 14 "$Global" + MemberName 14($Global) 0 "col4" + Name 16 "" + Name 27 "@entryPointOutput" + MemberDecorate 14($Global) 0 Offset 0 + Decorate 14($Global) Block + Decorate 16 DescriptorSet 0 + Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeVector 6(int) 4 - 8: TypePointer Output 7(ivec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypeFloat 32 - 11: 10(float) Constant 1132396672 - 12: TypeVector 10(float) 4 - 13($Global): TypeStruct 12(fvec4) - 14: TypePointer Uniform 13($Global) - 15: 14(ptr) Variable Uniform - 16: 6(int) Constant 0 - 17: TypePointer Uniform 12(fvec4) + 8: TypeFunction 7(ivec4) + 11: TypeFloat 32 + 12: 11(float) Constant 1132396672 + 13: TypeVector 11(float) 4 + 14($Global): TypeStruct 13(fvec4) + 15: TypePointer Uniform 14($Global) + 16: 15(ptr) Variable Uniform + 17: 6(int) Constant 0 + 18: TypePointer Uniform 13(fvec4) + 26: TypePointer Output 7(ivec4) +27(@entryPointOutput): 26(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 18: 17(ptr) AccessChain 15 16 - 19: 12(fvec4) Load 18 - 20: 12(fvec4) VectorShuffle 19 19 2 1 0 3 - 21: 12(fvec4) VectorTimesScalar 20 11 - 22: 7(ivec4) ConvertFToS 21 - Store 9(@entryPointOutput) 22 + 28: 7(ivec4) FunctionCall 9(@main() + Store 27(@entryPointOutput) 28 Return FunctionEnd + 9(@main(): 7(ivec4) Function None 8 + 10: Label + 19: 18(ptr) AccessChain 16 17 + 20: 13(fvec4) Load 19 + 21: 13(fvec4) VectorShuffle 20 20 2 1 0 3 + 22: 13(fvec4) VectorTimesScalar 21 12 + 23: 7(ivec4) ConvertFToS 22 + ReturnValue 23 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out index 91abf737891..1a6524f788c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.double.frag.out @@ -2,47 +2,82 @@ hlsl.intrinsics.double.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) 0:5 Function Parameters: -0:5 'inDV1a' (layout(location=0 ) in double) -0:5 'inDV1b' (layout(location=1 ) in double) -0:5 'inDV1c' (layout(location=2 ) in double) -0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:5 'inU1a' (layout(location=8 ) in uint) -0:5 'inU1b' (layout(location=9 ) in uint) +0:5 'inDV1a' ( in double) +0:5 'inDV1b' ( in double) +0:5 'inDV1c' ( in double) +0:5 'inDV2' ( in 2-component vector of double) +0:5 'inDV3' ( in 3-component vector of double) +0:5 'inDV4' ( in 4-component vector of double) +0:5 'inU1a' ( in uint) +0:5 'inU1b' ( in uint) 0:? Sequence 0:6 Sequence -0:6 move second child to first child (temp double) -0:6 'r00' (temp double) -0:6 fma (temp double) -0:6 'inDV1a' (layout(location=0 ) in double) -0:6 'inDV1b' (layout(location=1 ) in double) -0:6 'inDV1c' (layout(location=2 ) in double) +0:6 move second child to first child ( temp double) +0:6 'r00' ( temp double) +0:6 fma ( temp double) +0:6 'inDV1a' ( in double) +0:6 'inDV1b' ( in double) +0:6 'inDV1c' ( in double) 0:7 Sequence -0:7 move second child to first child (temp double) -0:7 'r01' (temp double) -0:7 uint64BitsToDouble (temp double) -0:7 Construct uvec2 (temp 2-component vector of uint) -0:7 'inU1a' (layout(location=8 ) in uint) -0:7 'inU1b' (layout(location=9 ) in uint) -0:9 Sequence -0:9 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:9 Constant: -0:9 0.000000 -0:9 Branch: Return +0:7 move second child to first child ( temp double) +0:7 'r01' ( temp double) +0:7 uint64BitsToDouble ( temp double) +0:7 Construct uvec2 ( temp 2-component vector of uint) +0:7 'inU1a' ( in uint) +0:7 'inU1b' ( in uint) +0:9 Branch: Return with expression +0:9 Constant: +0:9 0.000000 +0:5 Function Definition: PixelShaderFunction( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp double) +0:? 'inDV1a' ( temp double) +0:? 'inDV1a' (layout( location=0) in double) +0:5 move second child to first child ( temp double) +0:? 'inDV1b' ( temp double) +0:? 'inDV1b' (layout( location=1) in double) +0:5 move second child to first child ( temp double) +0:? 'inDV1c' ( temp double) +0:? 'inDV1c' (layout( location=2) in double) +0:5 move second child to first child ( temp 2-component vector of double) +0:? 'inDV2' ( temp 2-component vector of double) +0:? 'inDV2' (layout( location=3) in 2-component vector of double) +0:5 move second child to first child ( temp 3-component vector of double) +0:? 'inDV3' ( temp 3-component vector of double) +0:? 'inDV3' (layout( location=4) in 3-component vector of double) +0:5 move second child to first child ( temp 4-component vector of double) +0:? 'inDV4' ( temp 4-component vector of double) +0:? 'inDV4' (layout( location=6) in 4-component vector of double) +0:5 move second child to first child ( temp uint) +0:? 'inU1a' ( temp uint) +0:? 'inU1a' (layout( location=8) in uint) +0:5 move second child to first child ( temp uint) +0:? 'inU1b' ( temp uint) +0:? 'inU1b' (layout( location=9) in uint) +0:5 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) +0:? 'inDV1a' ( temp double) +0:? 'inDV1b' ( temp double) +0:? 'inDV1c' ( temp double) +0:? 'inDV2' ( temp 2-component vector of double) +0:? 'inDV3' ( temp 3-component vector of double) +0:? 'inDV4' ( temp 4-component vector of double) +0:? 'inU1a' ( temp uint) +0:? 'inU1b' ( temp uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:? 'inDV1a' (layout(location=0 ) in double) -0:? 'inDV1b' (layout(location=1 ) in double) -0:? 'inDV1c' (layout(location=2 ) in double) -0:? 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:? 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:? 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:? 'inU1a' (layout(location=8 ) in uint) -0:? 'inU1b' (layout(location=9 ) in uint) +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'inDV1a' (layout( location=0) in double) +0:? 'inDV1b' (layout( location=1) in double) +0:? 'inDV1c' (layout( location=2) in double) +0:? 'inDV2' (layout( location=3) in 2-component vector of double) +0:? 'inDV3' (layout( location=4) in 3-component vector of double) +0:? 'inDV4' (layout( location=6) in 4-component vector of double) +0:? 'inU1a' (layout( location=8) in uint) +0:? 'inU1b' (layout( location=9) in uint) Linked fragment stage: @@ -51,119 +86,245 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float) +0:5 Function Definition: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) 0:5 Function Parameters: -0:5 'inDV1a' (layout(location=0 ) in double) -0:5 'inDV1b' (layout(location=1 ) in double) -0:5 'inDV1c' (layout(location=2 ) in double) -0:5 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:5 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:5 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:5 'inU1a' (layout(location=8 ) in uint) -0:5 'inU1b' (layout(location=9 ) in uint) +0:5 'inDV1a' ( in double) +0:5 'inDV1b' ( in double) +0:5 'inDV1c' ( in double) +0:5 'inDV2' ( in 2-component vector of double) +0:5 'inDV3' ( in 3-component vector of double) +0:5 'inDV4' ( in 4-component vector of double) +0:5 'inU1a' ( in uint) +0:5 'inU1b' ( in uint) 0:? Sequence 0:6 Sequence -0:6 move second child to first child (temp double) -0:6 'r00' (temp double) -0:6 fma (temp double) -0:6 'inDV1a' (layout(location=0 ) in double) -0:6 'inDV1b' (layout(location=1 ) in double) -0:6 'inDV1c' (layout(location=2 ) in double) +0:6 move second child to first child ( temp double) +0:6 'r00' ( temp double) +0:6 fma ( temp double) +0:6 'inDV1a' ( in double) +0:6 'inDV1b' ( in double) +0:6 'inDV1c' ( in double) 0:7 Sequence -0:7 move second child to first child (temp double) -0:7 'r01' (temp double) -0:7 uint64BitsToDouble (temp double) -0:7 Construct uvec2 (temp 2-component vector of uint) -0:7 'inU1a' (layout(location=8 ) in uint) -0:7 'inU1b' (layout(location=9 ) in uint) -0:9 Sequence -0:9 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:9 Constant: -0:9 0.000000 -0:9 Branch: Return +0:7 move second child to first child ( temp double) +0:7 'r01' ( temp double) +0:7 uint64BitsToDouble ( temp double) +0:7 Construct uvec2 ( temp 2-component vector of uint) +0:7 'inU1a' ( in uint) +0:7 'inU1b' ( in uint) +0:9 Branch: Return with expression +0:9 Constant: +0:9 0.000000 +0:5 Function Definition: PixelShaderFunction( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp double) +0:? 'inDV1a' ( temp double) +0:? 'inDV1a' (layout( location=0) in double) +0:5 move second child to first child ( temp double) +0:? 'inDV1b' ( temp double) +0:? 'inDV1b' (layout( location=1) in double) +0:5 move second child to first child ( temp double) +0:? 'inDV1c' ( temp double) +0:? 'inDV1c' (layout( location=2) in double) +0:5 move second child to first child ( temp 2-component vector of double) +0:? 'inDV2' ( temp 2-component vector of double) +0:? 'inDV2' (layout( location=3) in 2-component vector of double) +0:5 move second child to first child ( temp 3-component vector of double) +0:? 'inDV3' ( temp 3-component vector of double) +0:? 'inDV3' (layout( location=4) in 3-component vector of double) +0:5 move second child to first child ( temp 4-component vector of double) +0:? 'inDV4' ( temp 4-component vector of double) +0:? 'inDV4' (layout( location=6) in 4-component vector of double) +0:5 move second child to first child ( temp uint) +0:? 'inU1a' ( temp uint) +0:? 'inU1a' (layout( location=8) in uint) +0:5 move second child to first child ( temp uint) +0:? 'inU1b' ( temp uint) +0:? 'inU1b' (layout( location=9) in uint) +0:5 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:5 Function Call: @PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; ( temp float) +0:? 'inDV1a' ( temp double) +0:? 'inDV1b' ( temp double) +0:? 'inDV1c' ( temp double) +0:? 'inDV2' ( temp 2-component vector of double) +0:? 'inDV3' ( temp 3-component vector of double) +0:? 'inDV4' ( temp 4-component vector of double) +0:? 'inU1a' ( temp uint) +0:? 'inU1b' ( temp uint) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:? 'inDV1a' (layout(location=0 ) in double) -0:? 'inDV1b' (layout(location=1 ) in double) -0:? 'inDV1c' (layout(location=2 ) in double) -0:? 'inDV2' (layout(location=3 ) in 2-component vector of double) -0:? 'inDV3' (layout(location=4 ) in 3-component vector of double) -0:? 'inDV4' (layout(location=6 ) in 4-component vector of double) -0:? 'inU1a' (layout(location=8 ) in uint) -0:? 'inU1b' (layout(location=9 ) in uint) +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'inDV1a' (layout( location=0) in double) +0:? 'inDV1b' (layout( location=1) in double) +0:? 'inDV1c' (layout( location=2) in double) +0:? 'inDV2' (layout( location=3) in 2-component vector of double) +0:? 'inDV3' (layout( location=4) in 3-component vector of double) +0:? 'inDV4' (layout( location=6) in 4-component vector of double) +0:? 'inU1a' (layout( location=8) in uint) +0:? 'inU1b' (layout( location=9) in uint) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 90 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 29 34 37 40 + EntryPoint Fragment 4 "PixelShaderFunction" 44 47 50 54 58 62 66 69 72 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "r00" - Name 10 "inDV1a" - Name 12 "inDV1b" - Name 14 "inDV1c" - Name 17 "r01" - Name 20 "inU1a" - Name 22 "inU1b" - Name 29 "@entryPointOutput" - Name 34 "inDV2" - Name 37 "inDV3" - Name 40 "inDV4" - Decorate 10(inDV1a) Location 0 - Decorate 12(inDV1b) Location 1 - Decorate 14(inDV1c) Location 2 - Decorate 20(inU1a) Location 8 - Decorate 22(inU1b) Location 9 - Decorate 29(@entryPointOutput) Location 0 - Decorate 34(inDV2) Location 3 - Decorate 37(inDV3) Location 4 - Decorate 40(inDV4) Location 6 + Name 26 "@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;" + Name 18 "inDV1a" + Name 19 "inDV1b" + Name 20 "inDV1c" + Name 21 "inDV2" + Name 22 "inDV3" + Name 23 "inDV4" + Name 24 "inU1a" + Name 25 "inU1b" + Name 28 "r00" + Name 33 "r01" + Name 42 "inDV1a" + Name 44 "inDV1a" + Name 46 "inDV1b" + Name 47 "inDV1b" + Name 49 "inDV1c" + Name 50 "inDV1c" + Name 52 "inDV2" + Name 54 "inDV2" + Name 56 "inDV3" + Name 58 "inDV3" + Name 60 "inDV4" + Name 62 "inDV4" + Name 64 "inU1a" + Name 66 "inU1a" + Name 68 "inU1b" + Name 69 "inU1b" + Name 72 "@entryPointOutput" + Name 73 "param" + Name 75 "param" + Name 77 "param" + Name 79 "param" + Name 81 "param" + Name 83 "param" + Name 85 "param" + Name 87 "param" + Decorate 44(inDV1a) Location 0 + Decorate 47(inDV1b) Location 1 + Decorate 50(inDV1c) Location 2 + Decorate 54(inDV2) Location 3 + Decorate 58(inDV3) Location 4 + Decorate 62(inDV4) Location 6 + Decorate 66(inU1a) Location 8 + Decorate 69(inU1b) Location 9 + Decorate 72(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 7: TypePointer Function 6(float) - 9: TypePointer Input 6(float) - 10(inDV1a): 9(ptr) Variable Input - 12(inDV1b): 9(ptr) Variable Input - 14(inDV1c): 9(ptr) Variable Input - 18: TypeInt 32 0 - 19: TypePointer Input 18(int) - 20(inU1a): 19(ptr) Variable Input - 22(inU1b): 19(ptr) Variable Input - 24: TypeVector 18(int) 2 - 27: TypeFloat 32 - 28: TypePointer Output 27(float) -29(@entryPointOutput): 28(ptr) Variable Output - 30: 27(float) Constant 0 - 32: TypeVector 6(float) 2 - 33: TypePointer Input 32(fvec2) - 34(inDV2): 33(ptr) Variable Input - 35: TypeVector 6(float) 3 - 36: TypePointer Input 35(fvec3) - 37(inDV3): 36(ptr) Variable Input - 38: TypeVector 6(float) 4 - 39: TypePointer Input 38(fvec4) - 40(inDV4): 39(ptr) Variable Input + 8: TypeVector 6(float) 2 + 9: TypePointer Function 8(fvec2) + 10: TypeVector 6(float) 3 + 11: TypePointer Function 10(fvec3) + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeInt 32 0 + 15: TypePointer Function 14(int) + 16: TypeFloat 32 + 17: TypeFunction 16(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 11(ptr) 13(ptr) 15(ptr) 15(ptr) + 36: TypeVector 14(int) 2 + 39: 16(float) Constant 0 + 43: TypePointer Input 6(float) + 44(inDV1a): 43(ptr) Variable Input + 47(inDV1b): 43(ptr) Variable Input + 50(inDV1c): 43(ptr) Variable Input + 53: TypePointer Input 8(fvec2) + 54(inDV2): 53(ptr) Variable Input + 57: TypePointer Input 10(fvec3) + 58(inDV3): 57(ptr) Variable Input + 61: TypePointer Input 12(fvec4) + 62(inDV4): 61(ptr) Variable Input + 65: TypePointer Input 14(int) + 66(inU1a): 65(ptr) Variable Input + 69(inU1b): 65(ptr) Variable Input + 71: TypePointer Output 16(float) +72(@entryPointOutput): 71(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 17(r01): 7(ptr) Variable Function - 11: 6(float) Load 10(inDV1a) - 13: 6(float) Load 12(inDV1b) - 15: 6(float) Load 14(inDV1c) - 16: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 11 13 15 - Store 8(r00) 16 - 21: 18(int) Load 20(inU1a) - 23: 18(int) Load 22(inU1b) - 25: 24(ivec2) CompositeConstruct 21 23 - 26: 6(float) Bitcast 25 - Store 17(r01) 26 - Store 29(@entryPointOutput) 30 + 42(inDV1a): 7(ptr) Variable Function + 46(inDV1b): 7(ptr) Variable Function + 49(inDV1c): 7(ptr) Variable Function + 52(inDV2): 9(ptr) Variable Function + 56(inDV3): 11(ptr) Variable Function + 60(inDV4): 13(ptr) Variable Function + 64(inU1a): 15(ptr) Variable Function + 68(inU1b): 15(ptr) Variable Function + 73(param): 7(ptr) Variable Function + 75(param): 7(ptr) Variable Function + 77(param): 7(ptr) Variable Function + 79(param): 9(ptr) Variable Function + 81(param): 11(ptr) Variable Function + 83(param): 13(ptr) Variable Function + 85(param): 15(ptr) Variable Function + 87(param): 15(ptr) Variable Function + 45: 6(float) Load 44(inDV1a) + Store 42(inDV1a) 45 + 48: 6(float) Load 47(inDV1b) + Store 46(inDV1b) 48 + 51: 6(float) Load 50(inDV1c) + Store 49(inDV1c) 51 + 55: 8(fvec2) Load 54(inDV2) + Store 52(inDV2) 55 + 59: 10(fvec3) Load 58(inDV3) + Store 56(inDV3) 59 + 63: 12(fvec4) Load 62(inDV4) + Store 60(inDV4) 63 + 67: 14(int) Load 66(inU1a) + Store 64(inU1a) 67 + 70: 14(int) Load 69(inU1b) + Store 68(inU1b) 70 + 74: 6(float) Load 42(inDV1a) + Store 73(param) 74 + 76: 6(float) Load 46(inDV1b) + Store 75(param) 76 + 78: 6(float) Load 49(inDV1c) + Store 77(param) 78 + 80: 8(fvec2) Load 52(inDV2) + Store 79(param) 80 + 82: 10(fvec3) Load 56(inDV3) + Store 81(param) 82 + 84: 12(fvec4) Load 60(inDV4) + Store 83(param) 84 + 86: 14(int) Load 64(inU1a) + Store 85(param) 86 + 88: 14(int) Load 68(inU1b) + Store 87(param) 88 + 89: 16(float) FunctionCall 26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;) 73(param) 75(param) 77(param) 79(param) 81(param) 83(param) 85(param) 87(param) + Store 72(@entryPointOutput) 89 Return FunctionEnd +26(@PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1;): 16(float) Function None 17 + 18(inDV1a): 7(ptr) FunctionParameter + 19(inDV1b): 7(ptr) FunctionParameter + 20(inDV1c): 7(ptr) FunctionParameter + 21(inDV2): 9(ptr) FunctionParameter + 22(inDV3): 11(ptr) FunctionParameter + 23(inDV4): 13(ptr) FunctionParameter + 24(inU1a): 15(ptr) FunctionParameter + 25(inU1b): 15(ptr) FunctionParameter + 27: Label + 28(r00): 7(ptr) Variable Function + 33(r01): 7(ptr) Variable Function + 29: 6(float) Load 18(inDV1a) + 30: 6(float) Load 19(inDV1b) + 31: 6(float) Load 20(inDV1c) + 32: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 29 30 31 + Store 28(r00) 32 + 34: 14(int) Load 24(inU1a) + 35: 14(int) Load 25(inU1b) + 37: 36(ivec2) CompositeConstruct 34 35 + 38: 6(float) Bitcast 37 + Store 33(r01) 38 + ReturnValue 39 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out index 8f8dd61015e..6d96f161998 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.evalfns.frag.out @@ -2,53 +2,77 @@ hlsl.intrinsics.evalfns.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void) +0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; ( temp void) 0:3 Function Parameters: -0:3 'inF1' (layout(location=0 ) in float) -0:3 'inF2' (layout(location=1 ) in 2-component vector of float) -0:3 'inF3' (layout(location=2 ) in 3-component vector of float) -0:3 'inF4' (layout(location=3 ) in 4-component vector of float) -0:3 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 'inF1' ( in float) +0:3 'inF2' ( in 2-component vector of float) +0:3 'inF3' ( in 3-component vector of float) +0:3 'inF4' ( in 4-component vector of float) +0:3 'inI2' ( in 2-component vector of int) 0:? Sequence -0:4 interpolateAtOffset (temp float) -0:4 'inF1' (layout(location=0 ) in float) +0:4 interpolateAtOffset ( temp float) +0:4 'inF1' ( in float) 0:? Constant: 0:? -0.500000 0:? -0.062500 -0:5 interpolateAtOffset (temp 2-component vector of float) -0:5 'inF2' (layout(location=1 ) in 2-component vector of float) +0:5 interpolateAtOffset ( temp 2-component vector of float) +0:5 'inF2' ( in 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.062500 -0:6 interpolateAtOffset (temp 3-component vector of float) -0:6 'inF3' (layout(location=2 ) in 3-component vector of float) +0:6 interpolateAtOffset ( temp 3-component vector of float) +0:6 'inF3' ( in 3-component vector of float) 0:? Constant: 0:? 0.187500 0:? -0.375000 -0:7 interpolateAtOffset (temp 4-component vector of float) -0:7 'inF4' (layout(location=3 ) in 4-component vector of float) +0:7 interpolateAtOffset ( temp 4-component vector of float) +0:7 'inF4' ( in 4-component vector of float) 0:? Constant: 0:? 0.437500 0:? -0.500000 -0:9 interpolateAtOffset (temp float) -0:9 'inF1' (layout(location=0 ) in float) -0:9 vector-scale (temp 2-component vector of float) -0:9 Convert int to float (temp 2-component vector of float) -0:9 right-shift (temp 2-component vector of int) -0:9 left-shift (temp 2-component vector of int) -0:9 'inI2' (layout(location=4 ) in 2-component vector of int) +0:9 interpolateAtOffset ( temp float) +0:9 'inF1' ( in float) +0:9 vector-scale ( temp 2-component vector of float) +0:9 Convert int to float ( temp 2-component vector of float) +0:9 right-shift ( temp 2-component vector of int) +0:9 left-shift ( temp 2-component vector of int) +0:9 'inI2' ( in 2-component vector of int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 0.062500 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? 'inF1' ( temp float) +0:? 'inF1' (layout( location=0) in float) +0:3 move second child to first child ( temp 2-component vector of float) +0:? 'inF2' ( temp 2-component vector of float) +0:? 'inF2' (layout( location=1) in 2-component vector of float) +0:3 move second child to first child ( temp 3-component vector of float) +0:? 'inF3' ( temp 3-component vector of float) +0:? 'inF3' (layout( location=2) in 3-component vector of float) +0:3 move second child to first child ( temp 4-component vector of float) +0:? 'inF4' ( temp 4-component vector of float) +0:? 'inF4' (layout( location=3) in 4-component vector of float) +0:3 move second child to first child ( temp 2-component vector of int) +0:? 'inI2' ( temp 2-component vector of int) +0:? 'inI2' (layout( location=4) in 2-component vector of int) +0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void) +0:? 'inF1' ( temp float) +0:? 'inF2' ( temp 2-component vector of float) +0:? 'inF3' ( temp 3-component vector of float) +0:? 'inF4' ( temp 4-component vector of float) +0:? 'inI2' ( temp 2-component vector of int) 0:? Linker Objects -0:? 'inF1' (layout(location=0 ) in float) -0:? 'inF2' (layout(location=1 ) in 2-component vector of float) -0:? 'inF3' (layout(location=2 ) in 3-component vector of float) -0:? 'inF4' (layout(location=3 ) in 4-component vector of float) -0:? 'inI2' (layout(location=4 ) in 2-component vector of int) +0:? 'inF1' (layout( location=0) in float) +0:? 'inF2' (layout( location=1) in 2-component vector of float) +0:? 'inF3' (layout( location=2) in 3-component vector of float) +0:? 'inF4' (layout( location=3) in 4-component vector of float) +0:? 'inI2' (layout( location=4) in 2-component vector of int) Linked fragment stage: @@ -57,118 +81,204 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void) +0:3 Function Definition: @main(f1;vf2;vf3;vf4;vi2; ( temp void) 0:3 Function Parameters: -0:3 'inF1' (layout(location=0 ) in float) -0:3 'inF2' (layout(location=1 ) in 2-component vector of float) -0:3 'inF3' (layout(location=2 ) in 3-component vector of float) -0:3 'inF4' (layout(location=3 ) in 4-component vector of float) -0:3 'inI2' (layout(location=4 ) in 2-component vector of int) +0:3 'inF1' ( in float) +0:3 'inF2' ( in 2-component vector of float) +0:3 'inF3' ( in 3-component vector of float) +0:3 'inF4' ( in 4-component vector of float) +0:3 'inI2' ( in 2-component vector of int) 0:? Sequence -0:4 interpolateAtOffset (temp float) -0:4 'inF1' (layout(location=0 ) in float) +0:4 interpolateAtOffset ( temp float) +0:4 'inF1' ( in float) 0:? Constant: 0:? -0.500000 0:? -0.062500 -0:5 interpolateAtOffset (temp 2-component vector of float) -0:5 'inF2' (layout(location=1 ) in 2-component vector of float) +0:5 interpolateAtOffset ( temp 2-component vector of float) +0:5 'inF2' ( in 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.062500 -0:6 interpolateAtOffset (temp 3-component vector of float) -0:6 'inF3' (layout(location=2 ) in 3-component vector of float) +0:6 interpolateAtOffset ( temp 3-component vector of float) +0:6 'inF3' ( in 3-component vector of float) 0:? Constant: 0:? 0.187500 0:? -0.375000 -0:7 interpolateAtOffset (temp 4-component vector of float) -0:7 'inF4' (layout(location=3 ) in 4-component vector of float) +0:7 interpolateAtOffset ( temp 4-component vector of float) +0:7 'inF4' ( in 4-component vector of float) 0:? Constant: 0:? 0.437500 0:? -0.500000 -0:9 interpolateAtOffset (temp float) -0:9 'inF1' (layout(location=0 ) in float) -0:9 vector-scale (temp 2-component vector of float) -0:9 Convert int to float (temp 2-component vector of float) -0:9 right-shift (temp 2-component vector of int) -0:9 left-shift (temp 2-component vector of int) -0:9 'inI2' (layout(location=4 ) in 2-component vector of int) +0:9 interpolateAtOffset ( temp float) +0:9 'inF1' ( in float) +0:9 vector-scale ( temp 2-component vector of float) +0:9 Convert int to float ( temp 2-component vector of float) +0:9 right-shift ( temp 2-component vector of int) +0:9 left-shift ( temp 2-component vector of int) +0:9 'inI2' ( in 2-component vector of int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 28 (const int) 0:9 Constant: 0:9 0.062500 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? 'inF1' ( temp float) +0:? 'inF1' (layout( location=0) in float) +0:3 move second child to first child ( temp 2-component vector of float) +0:? 'inF2' ( temp 2-component vector of float) +0:? 'inF2' (layout( location=1) in 2-component vector of float) +0:3 move second child to first child ( temp 3-component vector of float) +0:? 'inF3' ( temp 3-component vector of float) +0:? 'inF3' (layout( location=2) in 3-component vector of float) +0:3 move second child to first child ( temp 4-component vector of float) +0:? 'inF4' ( temp 4-component vector of float) +0:? 'inF4' (layout( location=3) in 4-component vector of float) +0:3 move second child to first child ( temp 2-component vector of int) +0:? 'inI2' ( temp 2-component vector of int) +0:? 'inI2' (layout( location=4) in 2-component vector of int) +0:3 Function Call: @main(f1;vf2;vf3;vf4;vi2; ( temp void) +0:? 'inF1' ( temp float) +0:? 'inF2' ( temp 2-component vector of float) +0:? 'inF3' ( temp 3-component vector of float) +0:? 'inF4' ( temp 4-component vector of float) +0:? 'inI2' ( temp 2-component vector of int) 0:? Linker Objects -0:? 'inF1' (layout(location=0 ) in float) -0:? 'inF2' (layout(location=1 ) in 2-component vector of float) -0:? 'inF3' (layout(location=2 ) in 3-component vector of float) -0:? 'inF4' (layout(location=3 ) in 4-component vector of float) -0:? 'inI2' (layout(location=4 ) in 2-component vector of int) +0:? 'inF1' (layout( location=0) in float) +0:? 'inF2' (layout( location=1) in 2-component vector of float) +0:? 'inF3' (layout( location=2) in 3-component vector of float) +0:? 'inF4' (layout( location=3) in 4-component vector of float) +0:? 'inI2' (layout( location=4) in 2-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 80 Capability Shader Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 8 15 22 29 36 + EntryPoint Fragment 4 "main" 51 55 59 63 67 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "inF1" - Name 15 "inF2" - Name 22 "inF3" - Name 29 "inF4" - Name 36 "inI2" - Decorate 8(inF1) Location 0 - Decorate 15(inF2) Location 1 - Decorate 22(inF3) Location 2 - Decorate 29(inF4) Location 3 - Decorate 36(inI2) Location 4 + Name 23 "@main(f1;vf2;vf3;vf4;vi2;" + Name 18 "inF1" + Name 19 "inF2" + Name 20 "inF3" + Name 21 "inF4" + Name 22 "inI2" + Name 49 "inF1" + Name 51 "inF1" + Name 53 "inF2" + Name 55 "inF2" + Name 57 "inF3" + Name 59 "inF3" + Name 61 "inF4" + Name 63 "inF4" + Name 65 "inI2" + Name 67 "inI2" + Name 69 "param" + Name 71 "param" + Name 73 "param" + Name 75 "param" + Name 77 "param" + Decorate 51(inF1) Location 0 + Decorate 55(inF2) Location 1 + Decorate 59(inF3) Location 2 + Decorate 63(inF4) Location 3 + Decorate 67(inI2) Location 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Input 6(float) - 8(inF1): 7(ptr) Variable Input - 9: TypeVector 6(float) 2 - 10: 6(float) Constant 3204448256 - 11: 6(float) Constant 3179282432 - 12: 9(fvec2) ConstantComposite 10 11 - 14: TypePointer Input 9(fvec2) - 15(inF2): 14(ptr) Variable Input - 16: 6(float) Constant 0 - 17: 6(float) Constant 1031798784 - 18: 9(fvec2) ConstantComposite 16 17 - 20: TypeVector 6(float) 3 - 21: TypePointer Input 20(fvec3) - 22(inF3): 21(ptr) Variable Input - 23: 6(float) Constant 1044381696 - 24: 6(float) Constant 3200253952 - 25: 9(fvec2) ConstantComposite 23 24 - 27: TypeVector 6(float) 4 - 28: TypePointer Input 27(fvec4) - 29(inF4): 28(ptr) Variable Input - 30: 6(float) Constant 1054867456 - 31: 9(fvec2) ConstantComposite 30 10 - 33: TypeInt 32 1 - 34: TypeVector 33(int) 2 - 35: TypePointer Input 34(ivec2) - 36(inI2): 35(ptr) Variable Input - 38: 33(int) Constant 28 + 7: TypePointer Function 6(float) + 8: TypeVector 6(float) 2 + 9: TypePointer Function 8(fvec2) + 10: TypeVector 6(float) 3 + 11: TypePointer Function 10(fvec3) + 12: TypeVector 6(float) 4 + 13: TypePointer Function 12(fvec4) + 14: TypeInt 32 1 + 15: TypeVector 14(int) 2 + 16: TypePointer Function 15(ivec2) + 17: TypeFunction 2 7(ptr) 9(ptr) 11(ptr) 13(ptr) 16(ptr) + 25: 6(float) Constant 3204448256 + 26: 6(float) Constant 3179282432 + 27: 8(fvec2) ConstantComposite 25 26 + 29: 6(float) Constant 0 + 30: 6(float) Constant 1031798784 + 31: 8(fvec2) ConstantComposite 29 30 + 33: 6(float) Constant 1044381696 + 34: 6(float) Constant 3200253952 + 35: 8(fvec2) ConstantComposite 33 34 + 37: 6(float) Constant 1054867456 + 38: 8(fvec2) ConstantComposite 37 25 + 41: 14(int) Constant 28 + 50: TypePointer Input 6(float) + 51(inF1): 50(ptr) Variable Input + 54: TypePointer Input 8(fvec2) + 55(inF2): 54(ptr) Variable Input + 58: TypePointer Input 10(fvec3) + 59(inF3): 58(ptr) Variable Input + 62: TypePointer Input 12(fvec4) + 63(inF4): 62(ptr) Variable Input + 66: TypePointer Input 15(ivec2) + 67(inI2): 66(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 13: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 12 - 19: 9(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 15(inF2) 18 - 26: 20(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 22(inF3) 25 - 32: 27(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 29(inF4) 31 - 37: 34(ivec2) Load 36(inI2) - 39: 34(ivec2) CompositeConstruct 38 38 - 40: 34(ivec2) ShiftLeftLogical 37 39 - 41: 34(ivec2) CompositeConstruct 38 38 - 42: 34(ivec2) ShiftRightArithmetic 40 41 - 43: 9(fvec2) ConvertSToF 42 - 44: 9(fvec2) VectorTimesScalar 43 17 - 45: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 8(inF1) 44 + 49(inF1): 7(ptr) Variable Function + 53(inF2): 9(ptr) Variable Function + 57(inF3): 11(ptr) Variable Function + 61(inF4): 13(ptr) Variable Function + 65(inI2): 16(ptr) Variable Function + 69(param): 7(ptr) Variable Function + 71(param): 9(ptr) Variable Function + 73(param): 11(ptr) Variable Function + 75(param): 13(ptr) Variable Function + 77(param): 16(ptr) Variable Function + 52: 6(float) Load 51(inF1) + Store 49(inF1) 52 + 56: 8(fvec2) Load 55(inF2) + Store 53(inF2) 56 + 60: 10(fvec3) Load 59(inF3) + Store 57(inF3) 60 + 64: 12(fvec4) Load 63(inF4) + Store 61(inF4) 64 + 68: 15(ivec2) Load 67(inI2) + Store 65(inI2) 68 + 70: 6(float) Load 49(inF1) + Store 69(param) 70 + 72: 8(fvec2) Load 53(inF2) + Store 71(param) 72 + 74: 10(fvec3) Load 57(inF3) + Store 73(param) 74 + 76: 12(fvec4) Load 61(inF4) + Store 75(param) 76 + 78: 15(ivec2) Load 65(inI2) + Store 77(param) 78 + 79: 2 FunctionCall 23(@main(f1;vf2;vf3;vf4;vi2;) 69(param) 71(param) 73(param) 75(param) 77(param) + Return + FunctionEnd +23(@main(f1;vf2;vf3;vf4;vi2;): 2 Function None 17 + 18(inF1): 7(ptr) FunctionParameter + 19(inF2): 9(ptr) FunctionParameter + 20(inF3): 11(ptr) FunctionParameter + 21(inF4): 13(ptr) FunctionParameter + 22(inI2): 16(ptr) FunctionParameter + 24: Label + 28: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 27 + 32: 8(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 19(inF2) 31 + 36: 10(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 20(inF3) 35 + 39: 12(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 21(inF4) 38 + 40: 15(ivec2) Load 22(inI2) + 42: 15(ivec2) CompositeConstruct 41 41 + 43: 15(ivec2) ShiftLeftLogical 40 42 + 44: 15(ivec2) CompositeConstruct 41 41 + 45: 15(ivec2) ShiftRightArithmetic 43 44 + 46: 8(fvec2) ConvertSToF 45 + 47: 8(fvec2) VectorTimesScalar 46 30 + 48: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 18(inF1) 47 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out index 0b4c0746e60..6b9a18bb497 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f1632.frag.out @@ -1,73 +1,131 @@ hlsl.intrinsics.f1632.frag -ERROR: 0:3: 'f32tof16' : unimplemented intrinsic: handle natively -ERROR: 0:16: 'f32tof16' : unimplemented intrinsic: handle natively -ERROR: 0:23: 'f32tof16' : unimplemented intrinsic: handle natively -ERROR: 0:30: 'f32tof16' : unimplemented intrinsic: handle natively -ERROR: 4 compilation errors. No code generated. - - Shader version: 450 gl_FragCoord origin is upper left -ERROR: node is still EOpNull! -0:2 Function Definition: PixelShaderFunctionS(f1; (temp float) +0:? Sequence +0:2 Function Definition: PixelShaderFunctionS(u1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) +0:2 'inF0' ( in uint) 0:? Sequence -0:3 ERROR: Bad unary op - (temp uint) -0:3 'inF0' (in float) -0:5 Branch: Return with expression -0:5 Constant: -0:5 0.000000 -0:9 Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of float) -0:9 Function Parameters: -0:9 'inF0' (in 1-component vector of float) +0:3 Branch: Return with expression +0:3 direct index ( temp float) +0:3 unpackHalf2x16 ( temp 2-component vector of float) +0:3 'inF0' ( in uint) +0:3 Constant: +0:3 0 (const int) +0:7 Function Definition: PixelShaderFunction1(vu1; ( temp 1-component vector of float) +0:7 Function Parameters: +0:7 'inF0' ( in 1-component vector of uint) 0:? Sequence -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 -0:15 Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of float) -0:15 Function Parameters: -0:15 'inF0' (in 2-component vector of float) +0:8 Branch: Return with expression +0:8 Constant: +0:8 0.000000 +0:12 Function Definition: PixelShaderFunction2(vu2; ( temp 2-component vector of float) +0:12 Function Parameters: +0:12 'inF0' ( in 2-component vector of uint) +0:? Sequence +0:13 Branch: Return with expression +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 unpackHalf2x16 ( temp 2-component vector of float) +0:13 direct index ( temp uint) +0:13 'inF0' ( in 2-component vector of uint) +0:13 Constant: +0:13 0 (const int) +0:13 Constant: +0:13 0 (const int) +0:13 direct index ( temp float) +0:13 unpackHalf2x16 ( temp 2-component vector of float) +0:13 direct index ( temp uint) +0:13 'inF0' ( in 2-component vector of uint) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 0 (const int) +0:17 Function Definition: PixelShaderFunction3(vu3; ( temp 3-component vector of float) +0:17 Function Parameters: +0:17 'inF0' ( in 3-component vector of uint) 0:? Sequence -0:16 ERROR: Bad unary op - (temp 2-component vector of uint) -0:16 'inF0' (in 2-component vector of float) 0:18 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:22 Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of float) +0:18 Construct vec3 ( temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 0 (const int) +0:18 Constant: +0:18 0 (const int) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 1 (const int) +0:18 Constant: +0:18 0 (const int) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 0 (const int) +0:22 Function Definition: PixelShaderFunction(vu4; ( temp 4-component vector of float) 0:22 Function Parameters: -0:22 'inF0' (in 3-component vector of float) +0:22 'inF0' ( in 4-component vector of uint) +0:? Sequence +0:23 Branch: Return with expression +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 0 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 3 (const int) +0:23 Constant: +0:23 0 (const int) +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: 0:? Sequence -0:23 ERROR: Bad unary op - (temp 3-component vector of uint) -0:23 'inF0' (in 3-component vector of float) -0:25 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) -0:29 Function Parameters: -0:29 'inF0' (layout(location=0 ) in 4-component vector of float) +0:28 Branch: Return with expression +0:28 Constant: +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: 0:? Sequence -0:30 ERROR: Bad unary op - (temp 4-component vector of uint) -0:30 'inF0' (layout(location=0 ) in 4-component vector of float) -0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:32 Branch: Return +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -75,65 +133,256 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left -ERROR: node is still EOpNull! -0:2 Function Definition: PixelShaderFunctionS(f1; (temp float) +0:? Sequence +0:2 Function Definition: PixelShaderFunctionS(u1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) +0:2 'inF0' ( in uint) 0:? Sequence -0:3 ERROR: Bad unary op - (temp uint) -0:3 'inF0' (in float) -0:5 Branch: Return with expression -0:5 Constant: -0:5 0.000000 -0:9 Function Definition: PixelShaderFunction1(vf1; (temp 1-component vector of float) -0:9 Function Parameters: -0:9 'inF0' (in 1-component vector of float) +0:3 Branch: Return with expression +0:3 direct index ( temp float) +0:3 unpackHalf2x16 ( temp 2-component vector of float) +0:3 'inF0' ( in uint) +0:3 Constant: +0:3 0 (const int) +0:7 Function Definition: PixelShaderFunction1(vu1; ( temp 1-component vector of float) +0:7 Function Parameters: +0:7 'inF0' ( in 1-component vector of uint) 0:? Sequence -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 -0:15 Function Definition: PixelShaderFunction2(vf2; (temp 2-component vector of float) -0:15 Function Parameters: -0:15 'inF0' (in 2-component vector of float) +0:8 Branch: Return with expression +0:8 Constant: +0:8 0.000000 +0:12 Function Definition: PixelShaderFunction2(vu2; ( temp 2-component vector of float) +0:12 Function Parameters: +0:12 'inF0' ( in 2-component vector of uint) +0:? Sequence +0:13 Branch: Return with expression +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 unpackHalf2x16 ( temp 2-component vector of float) +0:13 direct index ( temp uint) +0:13 'inF0' ( in 2-component vector of uint) +0:13 Constant: +0:13 0 (const int) +0:13 Constant: +0:13 0 (const int) +0:13 direct index ( temp float) +0:13 unpackHalf2x16 ( temp 2-component vector of float) +0:13 direct index ( temp uint) +0:13 'inF0' ( in 2-component vector of uint) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 0 (const int) +0:17 Function Definition: PixelShaderFunction3(vu3; ( temp 3-component vector of float) +0:17 Function Parameters: +0:17 'inF0' ( in 3-component vector of uint) 0:? Sequence -0:16 ERROR: Bad unary op - (temp 2-component vector of uint) -0:16 'inF0' (in 2-component vector of float) 0:18 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:22 Function Definition: PixelShaderFunction3(vf3; (temp 3-component vector of float) +0:18 Construct vec3 ( temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 0 (const int) +0:18 Constant: +0:18 0 (const int) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 1 (const int) +0:18 Constant: +0:18 0 (const int) +0:18 direct index ( temp float) +0:18 unpackHalf2x16 ( temp 2-component vector of float) +0:18 direct index ( temp uint) +0:18 'inF0' ( in 3-component vector of uint) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 0 (const int) +0:22 Function Definition: PixelShaderFunction(vu4; ( temp 4-component vector of float) 0:22 Function Parameters: -0:22 'inF0' (in 3-component vector of float) +0:22 'inF0' ( in 4-component vector of uint) +0:? Sequence +0:23 Branch: Return with expression +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 0 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 0 (const int) +0:23 direct index ( temp float) +0:23 unpackHalf2x16 ( temp 2-component vector of float) +0:23 direct index ( temp uint) +0:23 'inF0' ( in 4-component vector of uint) +0:23 Constant: +0:23 3 (const int) +0:23 Constant: +0:23 0 (const int) +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: 0:? Sequence -0:23 ERROR: Bad unary op - (temp 3-component vector of uint) -0:23 'inF0' (in 3-component vector of float) -0:25 Branch: Return with expression -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) -0:29 Function Parameters: -0:29 'inF0' (layout(location=0 ) in 4-component vector of float) +0:28 Branch: Return with expression +0:28 Constant: +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: 0:? Sequence -0:30 ERROR: Bad unary op - (temp 4-component vector of uint) -0:30 'inF0' (layout(location=0 ) in 4-component vector of float) -0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:32 Branch: Return +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 103 -SPIR-V is not generated for failed compile or link + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 101 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "PixelShaderFunctionS(u1;" + Name 10 "inF0" + Name 14 "PixelShaderFunction1(vu1;" + Name 13 "inF0" + Name 21 "PixelShaderFunction2(vu2;" + Name 20 "inF0" + Name 28 "PixelShaderFunction3(vu3;" + Name 27 "inF0" + Name 35 "PixelShaderFunction(vu4;" + Name 34 "inF0" + Name 38 "@main(" + Name 101 "@entryPointOutput" + Decorate 101(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeFunction 8(float) 7(ptr) + 16: TypeVector 6(int) 2 + 17: TypePointer Function 16(ivec2) + 18: TypeVector 8(float) 2 + 19: TypeFunction 18(fvec2) 17(ptr) + 23: TypeVector 6(int) 3 + 24: TypePointer Function 23(ivec3) + 25: TypeVector 8(float) 3 + 26: TypeFunction 25(fvec3) 24(ptr) + 30: TypeVector 6(int) 4 + 31: TypePointer Function 30(ivec4) + 32: TypeVector 8(float) 4 + 33: TypeFunction 32(fvec4) 31(ptr) + 37: TypeFunction 32(fvec4) + 42: 6(int) Constant 0 + 46: 8(float) Constant 0 + 53: 6(int) Constant 1 + 69: 6(int) Constant 2 + 89: 6(int) Constant 3 + 97: 32(fvec4) ConstantComposite 46 46 46 46 + 100: TypePointer Output 32(fvec4) +101(@entryPointOutput): 100(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 102: 32(fvec4) FunctionCall 38(@main() + Store 101(@entryPointOutput) 102 + Return + FunctionEnd +11(PixelShaderFunctionS(u1;): 8(float) Function None 9 + 10(inF0): 7(ptr) FunctionParameter + 12: Label + 40: 6(int) Load 10(inF0) + 41: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 40 + 43: 8(float) CompositeExtract 41 0 + ReturnValue 43 + FunctionEnd +14(PixelShaderFunction1(vu1;): 8(float) Function None 9 + 13(inF0): 7(ptr) FunctionParameter + 15: Label + ReturnValue 46 + FunctionEnd +21(PixelShaderFunction2(vu2;): 18(fvec2) Function None 19 + 20(inF0): 17(ptr) FunctionParameter + 22: Label + 49: 7(ptr) AccessChain 20(inF0) 42 + 50: 6(int) Load 49 + 51: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 50 + 52: 8(float) CompositeExtract 51 0 + 54: 7(ptr) AccessChain 20(inF0) 53 + 55: 6(int) Load 54 + 56: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 55 + 57: 8(float) CompositeExtract 56 0 + 58: 18(fvec2) CompositeConstruct 52 57 + ReturnValue 58 + FunctionEnd +28(PixelShaderFunction3(vu3;): 25(fvec3) Function None 26 + 27(inF0): 24(ptr) FunctionParameter + 29: Label + 61: 7(ptr) AccessChain 27(inF0) 42 + 62: 6(int) Load 61 + 63: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 62 + 64: 8(float) CompositeExtract 63 0 + 65: 7(ptr) AccessChain 27(inF0) 53 + 66: 6(int) Load 65 + 67: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 66 + 68: 8(float) CompositeExtract 67 0 + 70: 7(ptr) AccessChain 27(inF0) 69 + 71: 6(int) Load 70 + 72: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 71 + 73: 8(float) CompositeExtract 72 0 + 74: 25(fvec3) CompositeConstruct 64 68 73 + ReturnValue 74 + FunctionEnd +35(PixelShaderFunction(vu4;): 32(fvec4) Function None 33 + 34(inF0): 31(ptr) FunctionParameter + 36: Label + 77: 7(ptr) AccessChain 34(inF0) 42 + 78: 6(int) Load 77 + 79: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 78 + 80: 8(float) CompositeExtract 79 0 + 81: 7(ptr) AccessChain 34(inF0) 53 + 82: 6(int) Load 81 + 83: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 82 + 84: 8(float) CompositeExtract 83 0 + 85: 7(ptr) AccessChain 34(inF0) 69 + 86: 6(int) Load 85 + 87: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 86 + 88: 8(float) CompositeExtract 87 0 + 90: 7(ptr) AccessChain 34(inF0) 89 + 91: 6(int) Load 90 + 92: 18(fvec2) ExtInst 1(GLSL.std.450) 62(UnpackHalf2x16) 91 + 93: 8(float) CompositeExtract 92 0 + 94: 32(fvec4) CompositeConstruct 80 84 88 93 + ReturnValue 94 + FunctionEnd + 38(@main(): 32(fvec4) Function None 37 + 39: Label + ReturnValue 97 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out new file mode 100644 index 00000000000..30edb0ad0c6 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.f3216.frag.out @@ -0,0 +1,401 @@ +hlsl.intrinsics.f3216.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:2 Function Definition: PixelShaderFunctionS(f1; ( temp uint) +0:2 Function Parameters: +0:2 'inF0' ( in float) +0:? Sequence +0:3 Branch: Return with expression +0:3 packHalf2x16 ( temp uint) +0:3 Construct vec2 ( temp 2-component vector of float) +0:3 'inF0' ( in float) +0:3 Constant: +0:3 0.000000 +0:7 Function Definition: PixelShaderFunction1(vf1; ( temp 1-component vector of uint) +0:7 Function Parameters: +0:7 'inF0' ( in 1-component vector of float) +0:? Sequence +0:8 Branch: Return with expression +0:8 Construct uint ( temp 1-component vector of uint) +0:8 packHalf2x16 ( temp uint) +0:8 Construct vec2 ( temp 2-component vector of float) +0:8 Construct float ( in float) +0:8 'inF0' ( in 1-component vector of float) +0:8 Constant: +0:8 0.000000 +0:12 Function Definition: PixelShaderFunction2(vf2; ( temp 2-component vector of uint) +0:12 Function Parameters: +0:12 'inF0' ( in 2-component vector of float) +0:? Sequence +0:13 Branch: Return with expression +0:13 Construct uvec2 ( temp 2-component vector of uint) +0:13 packHalf2x16 ( temp uint) +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 'inF0' ( in 2-component vector of float) +0:13 Constant: +0:13 0 (const int) +0:13 Constant: +0:13 0.000000 +0:13 packHalf2x16 ( temp uint) +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 'inF0' ( in 2-component vector of float) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 0.000000 +0:17 Function Definition: PixelShaderFunction3(vf3; ( temp 3-component vector of uint) +0:17 Function Parameters: +0:17 'inF0' ( in 3-component vector of float) +0:? Sequence +0:18 Branch: Return with expression +0:18 Construct uvec3 ( temp 3-component vector of uint) +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 0 (const int) +0:18 Constant: +0:18 0.000000 +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 1 (const int) +0:18 Constant: +0:18 0.000000 +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 0.000000 +0:22 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of uint) +0:22 Function Parameters: +0:22 'inF0' ( in 4-component vector of float) +0:? Sequence +0:23 Branch: Return with expression +0:23 Construct uvec4 ( temp 4-component vector of uint) +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 0 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 3 (const int) +0:23 Constant: +0:23 0.000000 +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: +0:? Sequence +0:28 Branch: Return with expression +0:28 Constant: +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:2 Function Definition: PixelShaderFunctionS(f1; ( temp uint) +0:2 Function Parameters: +0:2 'inF0' ( in float) +0:? Sequence +0:3 Branch: Return with expression +0:3 packHalf2x16 ( temp uint) +0:3 Construct vec2 ( temp 2-component vector of float) +0:3 'inF0' ( in float) +0:3 Constant: +0:3 0.000000 +0:7 Function Definition: PixelShaderFunction1(vf1; ( temp 1-component vector of uint) +0:7 Function Parameters: +0:7 'inF0' ( in 1-component vector of float) +0:? Sequence +0:8 Branch: Return with expression +0:8 Construct uint ( temp 1-component vector of uint) +0:8 packHalf2x16 ( temp uint) +0:8 Construct vec2 ( temp 2-component vector of float) +0:8 Construct float ( in float) +0:8 'inF0' ( in 1-component vector of float) +0:8 Constant: +0:8 0.000000 +0:12 Function Definition: PixelShaderFunction2(vf2; ( temp 2-component vector of uint) +0:12 Function Parameters: +0:12 'inF0' ( in 2-component vector of float) +0:? Sequence +0:13 Branch: Return with expression +0:13 Construct uvec2 ( temp 2-component vector of uint) +0:13 packHalf2x16 ( temp uint) +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 'inF0' ( in 2-component vector of float) +0:13 Constant: +0:13 0 (const int) +0:13 Constant: +0:13 0.000000 +0:13 packHalf2x16 ( temp uint) +0:13 Construct vec2 ( temp 2-component vector of float) +0:13 direct index ( temp float) +0:13 'inF0' ( in 2-component vector of float) +0:13 Constant: +0:13 1 (const int) +0:13 Constant: +0:13 0.000000 +0:17 Function Definition: PixelShaderFunction3(vf3; ( temp 3-component vector of uint) +0:17 Function Parameters: +0:17 'inF0' ( in 3-component vector of float) +0:? Sequence +0:18 Branch: Return with expression +0:18 Construct uvec3 ( temp 3-component vector of uint) +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 0 (const int) +0:18 Constant: +0:18 0.000000 +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 1 (const int) +0:18 Constant: +0:18 0.000000 +0:18 packHalf2x16 ( temp uint) +0:18 Construct vec2 ( temp 2-component vector of float) +0:18 direct index ( temp float) +0:18 'inF0' ( in 3-component vector of float) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 0.000000 +0:22 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of uint) +0:22 Function Parameters: +0:22 'inF0' ( in 4-component vector of float) +0:? Sequence +0:23 Branch: Return with expression +0:23 Construct uvec4 ( temp 4-component vector of uint) +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 0 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 0.000000 +0:23 packHalf2x16 ( temp uint) +0:23 Construct vec2 ( temp 2-component vector of float) +0:23 direct index ( temp float) +0:23 'inF0' ( in 4-component vector of float) +0:23 Constant: +0:23 3 (const int) +0:23 Constant: +0:23 0.000000 +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: +0:? Sequence +0:28 Branch: Return with expression +0:28 Constant: +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:28 0.000000 +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 106 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 104 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "PixelShaderFunctionS(f1;" + Name 10 "inF0" + Name 14 "PixelShaderFunction1(vf1;" + Name 13 "inF0" + Name 21 "PixelShaderFunction2(vf2;" + Name 20 "inF0" + Name 28 "PixelShaderFunction3(vf3;" + Name 27 "inF0" + Name 35 "PixelShaderFunction(vf4;" + Name 34 "inF0" + Name 38 "@main(" + Name 104 "@entryPointOutput" + Decorate 104(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 8: TypeInt 32 0 + 9: TypeFunction 8(int) 7(ptr) + 16: TypeVector 6(float) 2 + 17: TypePointer Function 16(fvec2) + 18: TypeVector 8(int) 2 + 19: TypeFunction 18(ivec2) 17(ptr) + 23: TypeVector 6(float) 3 + 24: TypePointer Function 23(fvec3) + 25: TypeVector 8(int) 3 + 26: TypeFunction 25(ivec3) 24(ptr) + 30: TypeVector 6(float) 4 + 31: TypePointer Function 30(fvec4) + 32: TypeVector 8(int) 4 + 33: TypeFunction 32(ivec4) 31(ptr) + 37: TypeFunction 30(fvec4) + 41: 6(float) Constant 0 + 51: 8(int) Constant 0 + 56: 8(int) Constant 1 + 72: 8(int) Constant 2 + 92: 8(int) Constant 3 + 100: 30(fvec4) ConstantComposite 41 41 41 41 + 103: TypePointer Output 30(fvec4) +104(@entryPointOutput): 103(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 105: 30(fvec4) FunctionCall 38(@main() + Store 104(@entryPointOutput) 105 + Return + FunctionEnd +11(PixelShaderFunctionS(f1;): 8(int) Function None 9 + 10(inF0): 7(ptr) FunctionParameter + 12: Label + 40: 6(float) Load 10(inF0) + 42: 16(fvec2) CompositeConstruct 40 41 + 43: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 42 + ReturnValue 43 + FunctionEnd +14(PixelShaderFunction1(vf1;): 8(int) Function None 9 + 13(inF0): 7(ptr) FunctionParameter + 15: Label + 46: 6(float) Load 13(inF0) + 47: 16(fvec2) CompositeConstruct 46 41 + 48: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 47 + ReturnValue 48 + FunctionEnd +21(PixelShaderFunction2(vf2;): 18(ivec2) Function None 19 + 20(inF0): 17(ptr) FunctionParameter + 22: Label + 52: 7(ptr) AccessChain 20(inF0) 51 + 53: 6(float) Load 52 + 54: 16(fvec2) CompositeConstruct 53 41 + 55: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 54 + 57: 7(ptr) AccessChain 20(inF0) 56 + 58: 6(float) Load 57 + 59: 16(fvec2) CompositeConstruct 58 41 + 60: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 59 + 61: 18(ivec2) CompositeConstruct 55 60 + ReturnValue 61 + FunctionEnd +28(PixelShaderFunction3(vf3;): 25(ivec3) Function None 26 + 27(inF0): 24(ptr) FunctionParameter + 29: Label + 64: 7(ptr) AccessChain 27(inF0) 51 + 65: 6(float) Load 64 + 66: 16(fvec2) CompositeConstruct 65 41 + 67: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 66 + 68: 7(ptr) AccessChain 27(inF0) 56 + 69: 6(float) Load 68 + 70: 16(fvec2) CompositeConstruct 69 41 + 71: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 70 + 73: 7(ptr) AccessChain 27(inF0) 72 + 74: 6(float) Load 73 + 75: 16(fvec2) CompositeConstruct 74 41 + 76: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 75 + 77: 25(ivec3) CompositeConstruct 67 71 76 + ReturnValue 77 + FunctionEnd +35(PixelShaderFunction(vf4;): 32(ivec4) Function None 33 + 34(inF0): 31(ptr) FunctionParameter + 36: Label + 80: 7(ptr) AccessChain 34(inF0) 51 + 81: 6(float) Load 80 + 82: 16(fvec2) CompositeConstruct 81 41 + 83: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 82 + 84: 7(ptr) AccessChain 34(inF0) 56 + 85: 6(float) Load 84 + 86: 16(fvec2) CompositeConstruct 85 41 + 87: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 86 + 88: 7(ptr) AccessChain 34(inF0) 72 + 89: 6(float) Load 88 + 90: 16(fvec2) CompositeConstruct 89 41 + 91: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 90 + 93: 7(ptr) AccessChain 34(inF0) 92 + 94: 6(float) Load 93 + 95: 16(fvec2) CompositeConstruct 94 41 + 96: 8(int) ExtInst 1(GLSL.std.450) 58(PackHalf2x16) 95 + 97: 32(ivec4) CompositeConstruct 83 87 91 96 + ReturnValue 97 + FunctionEnd + 38(@main(): 30(fvec4) Function None 37 + 39: Label + ReturnValue 100 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out index 5def9667d69..1dbd218783c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out @@ -2,814 +2,814 @@ hlsl.intrinsics.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:17 Function Parameters: -0:17 'inF0' (in float) -0:17 'inF1' (in float) -0:17 'inF2' (in float) -0:17 'inU0' (in uint) -0:17 'inU1' (in uint) +0:17 'inF0' ( in float) +0:17 'inF1' ( in float) +0:17 'inF2' ( in float) +0:17 'inU0' ( in uint) +0:17 'inU1' ( in uint) 0:? Sequence 0:20 Sequence -0:20 move second child to first child (temp bool) -0:20 'r000' (temp bool) -0:20 all (temp bool) -0:20 'inF0' (in float) +0:20 move second child to first child ( temp bool) +0:20 'r000' ( temp bool) +0:20 all ( temp bool) +0:20 'inF0' ( in float) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'r001' (temp float) -0:21 Absolute value (temp float) -0:21 'inF0' (in float) +0:21 move second child to first child ( temp float) +0:21 'r001' ( temp float) +0:21 Absolute value ( temp float) +0:21 'inF0' ( in float) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'r002' (temp float) -0:22 arc cosine (temp float) -0:22 'inF0' (in float) +0:22 move second child to first child ( temp float) +0:22 'r002' ( temp float) +0:22 arc cosine ( temp float) +0:22 'inF0' ( in float) 0:23 Sequence -0:23 move second child to first child (temp bool) -0:23 'r003' (temp bool) -0:23 any (temp bool) -0:23 'inF0' (in float) +0:23 move second child to first child ( temp bool) +0:23 'r003' ( temp bool) +0:23 any ( temp bool) +0:23 'inF0' ( in float) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'r004' (temp float) -0:24 arc sine (temp float) -0:24 'inF0' (in float) +0:24 move second child to first child ( temp float) +0:24 'r004' ( temp float) +0:24 arc sine ( temp float) +0:24 'inF0' ( in float) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r005' (temp int) -0:25 floatBitsToInt (temp int) -0:25 'inF0' (in float) +0:25 move second child to first child ( temp int) +0:25 'r005' ( temp int) +0:25 floatBitsToInt ( temp int) +0:25 'inF0' ( in float) 0:26 Sequence -0:26 move second child to first child (temp uint) -0:26 'r006' (temp uint) -0:26 floatBitsToUint (temp uint) -0:26 'inF0' (in float) +0:26 move second child to first child ( temp uint) +0:26 'r006' ( temp uint) +0:26 floatBitsToUint ( temp uint) +0:26 'inF0' ( in float) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'r007' (temp float) -0:27 intBitsToFloat (temp float) -0:27 'inU0' (in uint) +0:27 move second child to first child ( temp float) +0:27 'r007' ( temp float) +0:27 intBitsToFloat ( temp float) +0:27 'inU0' ( in uint) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'r009' (temp float) -0:29 arc tangent (temp float) -0:29 'inF0' (in float) +0:29 move second child to first child ( temp float) +0:29 'r009' ( temp float) +0:29 arc tangent ( temp float) +0:29 'inF0' ( in float) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'r010' (temp float) -0:30 arc tangent (temp float) -0:30 'inF0' (in float) -0:30 'inF1' (in float) +0:30 move second child to first child ( temp float) +0:30 'r010' ( temp float) +0:30 arc tangent ( temp float) +0:30 'inF0' ( in float) +0:30 'inF1' ( in float) 0:31 Sequence -0:31 move second child to first child (temp float) -0:31 'r011' (temp float) -0:31 Ceiling (temp float) -0:31 'inF0' (in float) +0:31 move second child to first child ( temp float) +0:31 'r011' ( temp float) +0:31 Ceiling ( temp float) +0:31 'inF0' ( in float) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'r012' (temp float) -0:32 clamp (temp float) -0:32 'inF0' (in float) -0:32 'inF1' (in float) -0:32 'inF2' (in float) -0:33 Test condition and select (temp void) +0:32 move second child to first child ( temp float) +0:32 'r012' ( temp float) +0:32 clamp ( temp float) +0:32 'inF0' ( in float) +0:32 'inF1' ( in float) +0:32 'inF2' ( in float) +0:33 Test condition and select ( temp void) 0:33 Condition -0:33 Compare Less Than (temp bool) -0:33 'inF0' (in float) +0:33 Compare Less Than ( temp bool) +0:33 'inF0' ( in float) 0:33 Constant: 0:33 0.000000 0:33 true case 0:33 Branch: Kill 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'r014' (temp float) -0:34 cosine (temp float) -0:34 'inF0' (in float) +0:34 move second child to first child ( temp float) +0:34 'r014' ( temp float) +0:34 cosine ( temp float) +0:34 'inF0' ( in float) 0:35 Sequence -0:35 move second child to first child (temp float) -0:35 'r015' (temp float) -0:35 hyp. cosine (temp float) -0:35 'inF0' (in float) +0:35 move second child to first child ( temp float) +0:35 'r015' ( temp float) +0:35 hyp. cosine ( temp float) +0:35 'inF0' ( in float) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'r016' (temp int) -0:36 bitCount (temp int) +0:36 move second child to first child ( temp int) +0:36 'r016' ( temp int) +0:36 bitCount ( temp int) 0:36 Constant: 0:36 7 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'r017' (temp float) -0:37 dPdx (temp float) -0:37 'inF0' (in float) +0:37 move second child to first child ( temp float) +0:37 'r017' ( temp float) +0:37 dPdx ( temp float) +0:37 'inF0' ( in float) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'r018' (temp float) -0:38 dPdxCoarse (temp float) -0:38 'inF0' (in float) +0:38 move second child to first child ( temp float) +0:38 'r018' ( temp float) +0:38 dPdxCoarse ( temp float) +0:38 'inF0' ( in float) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'r019' (temp float) -0:39 dPdxFine (temp float) -0:39 'inF0' (in float) +0:39 move second child to first child ( temp float) +0:39 'r019' ( temp float) +0:39 dPdxFine ( temp float) +0:39 'inF0' ( in float) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'r020' (temp float) -0:40 dPdy (temp float) -0:40 'inF0' (in float) +0:40 move second child to first child ( temp float) +0:40 'r020' ( temp float) +0:40 dPdy ( temp float) +0:40 'inF0' ( in float) 0:41 Sequence -0:41 move second child to first child (temp float) -0:41 'r021' (temp float) -0:41 dPdyCoarse (temp float) -0:41 'inF0' (in float) +0:41 move second child to first child ( temp float) +0:41 'r021' ( temp float) +0:41 dPdyCoarse ( temp float) +0:41 'inF0' ( in float) 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r022' (temp float) -0:42 dPdyFine (temp float) -0:42 'inF0' (in float) +0:42 move second child to first child ( temp float) +0:42 'r022' ( temp float) +0:42 dPdyFine ( temp float) +0:42 'inF0' ( in float) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r023' (temp float) -0:43 degrees (temp float) -0:43 'inF0' (in float) +0:43 move second child to first child ( temp float) +0:43 'r023' ( temp float) +0:43 degrees ( temp float) +0:43 'inF0' ( in float) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r027' (temp float) -0:47 exp (temp float) -0:47 'inF0' (in float) +0:47 move second child to first child ( temp float) +0:47 'r027' ( temp float) +0:47 exp ( temp float) +0:47 'inF0' ( in float) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r028' (temp float) -0:48 exp2 (temp float) -0:48 'inF0' (in float) +0:48 move second child to first child ( temp float) +0:48 'r028' ( temp float) +0:48 exp2 ( temp float) +0:48 'inF0' ( in float) 0:49 Sequence -0:49 move second child to first child (temp uint) -0:49 'r029' (temp uint) -0:49 Convert int to uint (temp uint) -0:49 findMSB (temp int) +0:49 move second child to first child ( temp uint) +0:49 'r029' ( temp uint) +0:49 Convert int to uint ( temp uint) +0:49 findMSB ( temp int) 0:49 Constant: 0:49 7 (const int) 0:50 Sequence -0:50 move second child to first child (temp uint) -0:50 'r030' (temp uint) -0:50 Convert int to uint (temp uint) -0:50 findLSB (temp int) +0:50 move second child to first child ( temp uint) +0:50 'r030' ( temp uint) +0:50 Convert int to uint ( temp uint) +0:50 findLSB ( temp int) 0:50 Constant: 0:50 7 (const int) 0:51 Sequence -0:51 move second child to first child (temp float) -0:51 'r031' (temp float) -0:51 Floor (temp float) -0:51 'inF0' (in float) +0:51 move second child to first child ( temp float) +0:51 'r031' ( temp float) +0:51 Floor ( temp float) +0:51 'inF0' ( in float) 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r033' (temp float) -0:53 mod (temp float) -0:53 'inF0' (in float) -0:53 'inF1' (in float) +0:53 move second child to first child ( temp float) +0:53 'r033' ( temp float) +0:53 mod ( temp float) +0:53 'inF0' ( in float) +0:53 'inF1' ( in float) 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r034' (temp float) -0:54 Fraction (temp float) -0:54 'inF0' (in float) +0:54 move second child to first child ( temp float) +0:54 'r034' ( temp float) +0:54 Fraction ( temp float) +0:54 'inF0' ( in float) 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r035' (temp float) -0:55 frexp (temp float) -0:55 'inF0' (in float) -0:55 'inF1' (in float) +0:55 move second child to first child ( temp float) +0:55 'r035' ( temp float) +0:55 frexp ( temp float) +0:55 'inF0' ( in float) +0:55 'inF1' ( in float) 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'r036' (temp float) -0:56 fwidth (temp float) -0:56 'inF0' (in float) +0:56 move second child to first child ( temp float) +0:56 'r036' ( temp float) +0:56 fwidth ( temp float) +0:56 'inF0' ( in float) 0:57 Sequence -0:57 move second child to first child (temp bool) -0:57 'r037' (temp bool) -0:57 isinf (temp bool) -0:57 'inF0' (in float) +0:57 move second child to first child ( temp bool) +0:57 'r037' ( temp bool) +0:57 isinf ( temp bool) +0:57 'inF0' ( in float) 0:58 Sequence -0:58 move second child to first child (temp bool) -0:58 'r038' (temp bool) -0:58 isnan (temp bool) -0:58 'inF0' (in float) +0:58 move second child to first child ( temp bool) +0:58 'r038' ( temp bool) +0:58 isnan ( temp bool) +0:58 'inF0' ( in float) 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'r039' (temp float) -0:59 ldexp (temp float) -0:59 'inF0' (in float) -0:59 'inF1' (in float) +0:59 move second child to first child ( temp float) +0:59 'r039' ( temp float) +0:59 ldexp ( temp float) +0:59 'inF0' ( in float) +0:59 'inF1' ( in float) 0:60 Sequence -0:60 move second child to first child (temp float) -0:60 'r039a' (temp float) -0:60 mix (temp float) -0:60 'inF0' (in float) -0:60 'inF1' (in float) -0:60 'inF2' (in float) +0:60 move second child to first child ( temp float) +0:60 'r039a' ( temp float) +0:60 mix ( temp float) +0:60 'inF0' ( in float) +0:60 'inF1' ( in float) +0:60 'inF2' ( in float) 0:61 Sequence -0:61 move second child to first child (temp float) -0:61 'r040' (temp float) -0:61 log (temp float) -0:61 'inF0' (in float) +0:61 move second child to first child ( temp float) +0:61 'r040' ( temp float) +0:61 log ( temp float) +0:61 'inF0' ( in float) 0:62 Sequence -0:62 move second child to first child (temp float) -0:62 'r041' (temp float) -0:62 component-wise multiply (temp float) -0:62 log2 (temp float) -0:62 'inF0' (in float) +0:62 move second child to first child ( temp float) +0:62 'r041' ( temp float) +0:62 component-wise multiply ( temp float) +0:62 log2 ( temp float) +0:62 'inF0' ( in float) 0:62 Constant: 0:62 0.301030 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 'r042' (temp float) -0:63 log2 (temp float) -0:63 'inF0' (in float) +0:63 move second child to first child ( temp float) +0:63 'r042' ( temp float) +0:63 log2 ( temp float) +0:63 'inF0' ( in float) 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'r043' (temp float) -0:64 max (temp float) -0:64 'inF0' (in float) -0:64 'inF1' (in float) +0:64 move second child to first child ( temp float) +0:64 'r043' ( temp float) +0:64 max ( temp float) +0:64 'inF0' ( in float) +0:64 'inF1' ( in float) 0:65 Sequence -0:65 move second child to first child (temp float) -0:65 'r044' (temp float) -0:65 min (temp float) -0:65 'inF0' (in float) -0:65 'inF1' (in float) +0:65 move second child to first child ( temp float) +0:65 'r044' ( temp float) +0:65 min ( temp float) +0:65 'inF0' ( in float) +0:65 'inF1' ( in float) 0:66 Sequence -0:66 move second child to first child (temp float) -0:66 'r045' (temp float) -0:66 pow (temp float) -0:66 'inF0' (in float) -0:66 'inF1' (in float) +0:66 move second child to first child ( temp float) +0:66 'r045' ( temp float) +0:66 pow ( temp float) +0:66 'inF0' ( in float) +0:66 'inF1' ( in float) 0:67 Sequence -0:67 move second child to first child (temp float) -0:67 'r046' (temp float) -0:67 radians (temp float) -0:67 'inF0' (in float) +0:67 move second child to first child ( temp float) +0:67 'r046' ( temp float) +0:67 radians ( temp float) +0:67 'inF0' ( in float) 0:68 Sequence -0:68 move second child to first child (temp float) -0:68 'r047' (temp float) -0:68 divide (temp float) +0:68 move second child to first child ( temp float) +0:68 'r047' ( temp float) +0:68 divide ( temp float) 0:68 Constant: 0:68 1.000000 -0:68 'inF0' (in float) +0:68 'inF0' ( in float) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'r048' (temp uint) -0:69 Convert int to uint (temp uint) -0:69 bitFieldReverse (temp int) +0:69 move second child to first child ( temp uint) +0:69 'r048' ( temp uint) +0:69 Convert int to uint ( temp uint) +0:69 bitFieldReverse ( temp int) 0:69 Constant: 0:69 2 (const int) 0:70 Sequence -0:70 move second child to first child (temp float) -0:70 'r049' (temp float) -0:70 roundEven (temp float) -0:70 'inF0' (in float) +0:70 move second child to first child ( temp float) +0:70 'r049' ( temp float) +0:70 roundEven ( temp float) +0:70 'inF0' ( in float) 0:71 Sequence -0:71 move second child to first child (temp float) -0:71 'r050' (temp float) -0:71 inverse sqrt (temp float) -0:71 'inF0' (in float) +0:71 move second child to first child ( temp float) +0:71 'r050' ( temp float) +0:71 inverse sqrt ( temp float) +0:71 'inF0' ( in float) 0:72 Sequence -0:72 move second child to first child (temp float) -0:72 'r051' (temp float) -0:72 clamp (temp float) -0:72 'inF0' (in float) +0:72 move second child to first child ( temp float) +0:72 'r051' ( temp float) +0:72 clamp ( temp float) +0:72 'inF0' ( in float) 0:72 Constant: 0:72 0.000000 0:72 Constant: 0:72 1.000000 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'r052' (temp float) -0:73 Sign (temp float) -0:73 'inF0' (in float) +0:73 move second child to first child ( temp float) +0:73 'r052' ( temp float) +0:73 Sign ( temp float) +0:73 'inF0' ( in float) 0:74 Sequence -0:74 move second child to first child (temp float) -0:74 'r053' (temp float) -0:74 sine (temp float) -0:74 'inF0' (in float) +0:74 move second child to first child ( temp float) +0:74 'r053' ( temp float) +0:74 sine ( temp float) +0:74 'inF0' ( in float) 0:75 Sequence -0:75 move second child to first child (temp float) -0:75 'inF1' (in float) -0:75 sine (temp float) -0:75 'inF0' (in float) -0:75 move second child to first child (temp float) -0:75 'inF2' (in float) -0:75 cosine (temp float) -0:75 'inF0' (in float) +0:75 move second child to first child ( temp float) +0:75 'inF1' ( in float) +0:75 sine ( temp float) +0:75 'inF0' ( in float) +0:75 move second child to first child ( temp float) +0:75 'inF2' ( in float) +0:75 cosine ( temp float) +0:75 'inF0' ( in float) 0:76 Sequence -0:76 move second child to first child (temp float) -0:76 'r055' (temp float) -0:76 hyp. sine (temp float) -0:76 'inF0' (in float) +0:76 move second child to first child ( temp float) +0:76 'r055' ( temp float) +0:76 hyp. sine ( temp float) +0:76 'inF0' ( in float) 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'r056' (temp float) -0:77 smoothstep (temp float) -0:77 'inF0' (in float) -0:77 'inF1' (in float) -0:77 'inF2' (in float) +0:77 move second child to first child ( temp float) +0:77 'r056' ( temp float) +0:77 smoothstep ( temp float) +0:77 'inF0' ( in float) +0:77 'inF1' ( in float) +0:77 'inF2' ( in float) 0:78 Sequence -0:78 move second child to first child (temp float) -0:78 'r057' (temp float) -0:78 sqrt (temp float) -0:78 'inF0' (in float) +0:78 move second child to first child ( temp float) +0:78 'r057' ( temp float) +0:78 sqrt ( temp float) +0:78 'inF0' ( in float) 0:79 Sequence -0:79 move second child to first child (temp float) -0:79 'r058' (temp float) -0:79 step (temp float) -0:79 'inF0' (in float) -0:79 'inF1' (in float) +0:79 move second child to first child ( temp float) +0:79 'r058' ( temp float) +0:79 step ( temp float) +0:79 'inF0' ( in float) +0:79 'inF1' ( in float) 0:80 Sequence -0:80 move second child to first child (temp float) -0:80 'r059' (temp float) -0:80 tangent (temp float) -0:80 'inF0' (in float) +0:80 move second child to first child ( temp float) +0:80 'r059' ( temp float) +0:80 tangent ( temp float) +0:80 'inF0' ( in float) 0:81 Sequence -0:81 move second child to first child (temp float) -0:81 'r060' (temp float) -0:81 hyp. tangent (temp float) -0:81 'inF0' (in float) +0:81 move second child to first child ( temp float) +0:81 'r060' ( temp float) +0:81 hyp. tangent ( temp float) +0:81 'inF0' ( in float) 0:83 Sequence -0:83 move second child to first child (temp float) -0:83 'r061' (temp float) -0:83 trunc (temp float) -0:83 'inF0' (in float) +0:83 move second child to first child ( temp float) +0:83 'r061' ( temp float) +0:83 trunc ( temp float) +0:83 'inF0' ( in float) 0:85 Branch: Return with expression 0:85 Constant: 0:85 0.000000 -0:89 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:89 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:89 Function Parameters: -0:89 'inF0' (in 1-component vector of float) -0:89 'inF1' (in 1-component vector of float) -0:89 'inF2' (in 1-component vector of float) +0:89 'inF0' ( in 1-component vector of float) +0:89 'inF1' ( in 1-component vector of float) +0:89 'inF2' ( in 1-component vector of float) 0:? Sequence 0:91 Branch: Return with expression 0:91 Constant: 0:91 0.000000 -0:95 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:95 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:95 Function Parameters: -0:95 'inF0' (in 2-component vector of float) -0:95 'inF1' (in 2-component vector of float) -0:95 'inF2' (in 2-component vector of float) -0:95 'inU0' (in 2-component vector of uint) -0:95 'inU1' (in 2-component vector of uint) +0:95 'inF0' ( in 2-component vector of float) +0:95 'inF1' ( in 2-component vector of float) +0:95 'inF2' ( in 2-component vector of float) +0:95 'inU0' ( in 2-component vector of uint) +0:95 'inU1' ( in 2-component vector of uint) 0:? Sequence 0:98 Sequence -0:98 move second child to first child (temp bool) -0:98 'r000' (temp bool) -0:98 all (temp bool) -0:98 'inF0' (in 2-component vector of float) +0:98 move second child to first child ( temp bool) +0:98 'r000' ( temp bool) +0:98 all ( temp bool) +0:98 'inF0' ( in 2-component vector of float) 0:99 Sequence -0:99 move second child to first child (temp 2-component vector of float) -0:99 'r001' (temp 2-component vector of float) -0:99 Absolute value (temp 2-component vector of float) -0:99 'inF0' (in 2-component vector of float) +0:99 move second child to first child ( temp 2-component vector of float) +0:99 'r001' ( temp 2-component vector of float) +0:99 Absolute value ( temp 2-component vector of float) +0:99 'inF0' ( in 2-component vector of float) 0:100 Sequence -0:100 move second child to first child (temp 2-component vector of float) -0:100 'r002' (temp 2-component vector of float) -0:100 arc cosine (temp 2-component vector of float) -0:100 'inF0' (in 2-component vector of float) +0:100 move second child to first child ( temp 2-component vector of float) +0:100 'r002' ( temp 2-component vector of float) +0:100 arc cosine ( temp 2-component vector of float) +0:100 'inF0' ( in 2-component vector of float) 0:101 Sequence -0:101 move second child to first child (temp bool) -0:101 'r003' (temp bool) -0:101 any (temp bool) -0:101 'inF0' (in 2-component vector of float) +0:101 move second child to first child ( temp bool) +0:101 'r003' ( temp bool) +0:101 any ( temp bool) +0:101 'inF0' ( in 2-component vector of float) 0:102 Sequence -0:102 move second child to first child (temp 2-component vector of float) -0:102 'r004' (temp 2-component vector of float) -0:102 arc sine (temp 2-component vector of float) -0:102 'inF0' (in 2-component vector of float) +0:102 move second child to first child ( temp 2-component vector of float) +0:102 'r004' ( temp 2-component vector of float) +0:102 arc sine ( temp 2-component vector of float) +0:102 'inF0' ( in 2-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 2-component vector of int) -0:103 'r005' (temp 2-component vector of int) -0:103 floatBitsToInt (temp 2-component vector of int) -0:103 'inF0' (in 2-component vector of float) +0:103 move second child to first child ( temp 2-component vector of int) +0:103 'r005' ( temp 2-component vector of int) +0:103 floatBitsToInt ( temp 2-component vector of int) +0:103 'inF0' ( in 2-component vector of float) 0:104 Sequence -0:104 move second child to first child (temp 2-component vector of uint) -0:104 'r006' (temp 2-component vector of uint) -0:104 floatBitsToUint (temp 2-component vector of uint) -0:104 'inF0' (in 2-component vector of float) +0:104 move second child to first child ( temp 2-component vector of uint) +0:104 'r006' ( temp 2-component vector of uint) +0:104 floatBitsToUint ( temp 2-component vector of uint) +0:104 'inF0' ( in 2-component vector of float) 0:105 Sequence -0:105 move second child to first child (temp 2-component vector of float) -0:105 'r007' (temp 2-component vector of float) -0:105 intBitsToFloat (temp 2-component vector of float) -0:105 'inU0' (in 2-component vector of uint) +0:105 move second child to first child ( temp 2-component vector of float) +0:105 'r007' ( temp 2-component vector of float) +0:105 intBitsToFloat ( temp 2-component vector of float) +0:105 'inU0' ( in 2-component vector of uint) 0:107 Sequence -0:107 move second child to first child (temp 2-component vector of float) -0:107 'r009' (temp 2-component vector of float) -0:107 arc tangent (temp 2-component vector of float) -0:107 'inF0' (in 2-component vector of float) +0:107 move second child to first child ( temp 2-component vector of float) +0:107 'r009' ( temp 2-component vector of float) +0:107 arc tangent ( temp 2-component vector of float) +0:107 'inF0' ( in 2-component vector of float) 0:108 Sequence -0:108 move second child to first child (temp 2-component vector of float) -0:108 'r010' (temp 2-component vector of float) -0:108 arc tangent (temp 2-component vector of float) -0:108 'inF0' (in 2-component vector of float) -0:108 'inF1' (in 2-component vector of float) +0:108 move second child to first child ( temp 2-component vector of float) +0:108 'r010' ( temp 2-component vector of float) +0:108 arc tangent ( temp 2-component vector of float) +0:108 'inF0' ( in 2-component vector of float) +0:108 'inF1' ( in 2-component vector of float) 0:109 Sequence -0:109 move second child to first child (temp 2-component vector of float) -0:109 'r011' (temp 2-component vector of float) -0:109 Ceiling (temp 2-component vector of float) -0:109 'inF0' (in 2-component vector of float) +0:109 move second child to first child ( temp 2-component vector of float) +0:109 'r011' ( temp 2-component vector of float) +0:109 Ceiling ( temp 2-component vector of float) +0:109 'inF0' ( in 2-component vector of float) 0:110 Sequence -0:110 move second child to first child (temp 2-component vector of float) -0:110 'r012' (temp 2-component vector of float) -0:110 clamp (temp 2-component vector of float) -0:110 'inF0' (in 2-component vector of float) -0:110 'inF1' (in 2-component vector of float) -0:110 'inF2' (in 2-component vector of float) -0:111 Test condition and select (temp void) +0:110 move second child to first child ( temp 2-component vector of float) +0:110 'r012' ( temp 2-component vector of float) +0:110 clamp ( temp 2-component vector of float) +0:110 'inF0' ( in 2-component vector of float) +0:110 'inF1' ( in 2-component vector of float) +0:110 'inF2' ( in 2-component vector of float) +0:111 Test condition and select ( temp void) 0:111 Condition -0:111 any (temp bool) -0:111 Compare Less Than (temp 2-component vector of bool) -0:111 'inF0' (in 2-component vector of float) +0:111 any ( temp bool) +0:111 Compare Less Than ( temp 2-component vector of bool) +0:111 'inF0' ( in 2-component vector of float) 0:111 Constant: 0:111 0.000000 0:111 0.000000 0:111 true case 0:111 Branch: Kill 0:112 Sequence -0:112 move second child to first child (temp 2-component vector of float) -0:112 'r013' (temp 2-component vector of float) -0:112 cosine (temp 2-component vector of float) -0:112 'inF0' (in 2-component vector of float) +0:112 move second child to first child ( temp 2-component vector of float) +0:112 'r013' ( temp 2-component vector of float) +0:112 cosine ( temp 2-component vector of float) +0:112 'inF0' ( in 2-component vector of float) 0:113 Sequence -0:113 move second child to first child (temp 2-component vector of float) -0:113 'r015' (temp 2-component vector of float) -0:113 hyp. cosine (temp 2-component vector of float) -0:113 'inF0' (in 2-component vector of float) +0:113 move second child to first child ( temp 2-component vector of float) +0:113 'r015' ( temp 2-component vector of float) +0:113 hyp. cosine ( temp 2-component vector of float) +0:113 'inF0' ( in 2-component vector of float) 0:114 Sequence -0:114 move second child to first child (temp 2-component vector of int) -0:114 'r016' (temp 2-component vector of int) -0:? bitCount (temp 2-component vector of int) +0:114 move second child to first child ( temp 2-component vector of int) +0:114 'r016' ( temp 2-component vector of int) +0:? bitCount ( temp 2-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:115 Sequence -0:115 move second child to first child (temp 2-component vector of float) -0:115 'r017' (temp 2-component vector of float) -0:115 dPdx (temp 2-component vector of float) -0:115 'inF0' (in 2-component vector of float) +0:115 move second child to first child ( temp 2-component vector of float) +0:115 'r017' ( temp 2-component vector of float) +0:115 dPdx ( temp 2-component vector of float) +0:115 'inF0' ( in 2-component vector of float) 0:116 Sequence -0:116 move second child to first child (temp 2-component vector of float) -0:116 'r018' (temp 2-component vector of float) -0:116 dPdxCoarse (temp 2-component vector of float) -0:116 'inF0' (in 2-component vector of float) +0:116 move second child to first child ( temp 2-component vector of float) +0:116 'r018' ( temp 2-component vector of float) +0:116 dPdxCoarse ( temp 2-component vector of float) +0:116 'inF0' ( in 2-component vector of float) 0:117 Sequence -0:117 move second child to first child (temp 2-component vector of float) -0:117 'r019' (temp 2-component vector of float) -0:117 dPdxFine (temp 2-component vector of float) -0:117 'inF0' (in 2-component vector of float) +0:117 move second child to first child ( temp 2-component vector of float) +0:117 'r019' ( temp 2-component vector of float) +0:117 dPdxFine ( temp 2-component vector of float) +0:117 'inF0' ( in 2-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp 2-component vector of float) -0:118 'r020' (temp 2-component vector of float) -0:118 dPdy (temp 2-component vector of float) -0:118 'inF0' (in 2-component vector of float) +0:118 move second child to first child ( temp 2-component vector of float) +0:118 'r020' ( temp 2-component vector of float) +0:118 dPdy ( temp 2-component vector of float) +0:118 'inF0' ( in 2-component vector of float) 0:119 Sequence -0:119 move second child to first child (temp 2-component vector of float) -0:119 'r021' (temp 2-component vector of float) -0:119 dPdyCoarse (temp 2-component vector of float) -0:119 'inF0' (in 2-component vector of float) +0:119 move second child to first child ( temp 2-component vector of float) +0:119 'r021' ( temp 2-component vector of float) +0:119 dPdyCoarse ( temp 2-component vector of float) +0:119 'inF0' ( in 2-component vector of float) 0:120 Sequence -0:120 move second child to first child (temp 2-component vector of float) -0:120 'r022' (temp 2-component vector of float) -0:120 dPdyFine (temp 2-component vector of float) -0:120 'inF0' (in 2-component vector of float) +0:120 move second child to first child ( temp 2-component vector of float) +0:120 'r022' ( temp 2-component vector of float) +0:120 dPdyFine ( temp 2-component vector of float) +0:120 'inF0' ( in 2-component vector of float) 0:121 Sequence -0:121 move second child to first child (temp 2-component vector of float) -0:121 'r023' (temp 2-component vector of float) -0:121 degrees (temp 2-component vector of float) -0:121 'inF0' (in 2-component vector of float) +0:121 move second child to first child ( temp 2-component vector of float) +0:121 'r023' ( temp 2-component vector of float) +0:121 degrees ( temp 2-component vector of float) +0:121 'inF0' ( in 2-component vector of float) 0:125 Sequence -0:125 move second child to first child (temp float) -0:125 'r026' (temp float) -0:125 distance (temp float) -0:125 'inF0' (in 2-component vector of float) -0:125 'inF1' (in 2-component vector of float) +0:125 move second child to first child ( temp float) +0:125 'r026' ( temp float) +0:125 distance ( temp float) +0:125 'inF0' ( in 2-component vector of float) +0:125 'inF1' ( in 2-component vector of float) 0:126 Sequence -0:126 move second child to first child (temp float) -0:126 'r027' (temp float) -0:126 dot-product (temp float) -0:126 'inF0' (in 2-component vector of float) -0:126 'inF1' (in 2-component vector of float) +0:126 move second child to first child ( temp float) +0:126 'r027' ( temp float) +0:126 dot-product ( temp float) +0:126 'inF0' ( in 2-component vector of float) +0:126 'inF1' ( in 2-component vector of float) 0:130 Sequence -0:130 move second child to first child (temp 2-component vector of float) -0:130 'r028' (temp 2-component vector of float) -0:130 exp (temp 2-component vector of float) -0:130 'inF0' (in 2-component vector of float) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'r028' ( temp 2-component vector of float) +0:130 exp ( temp 2-component vector of float) +0:130 'inF0' ( in 2-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp 2-component vector of float) -0:131 'r029' (temp 2-component vector of float) -0:131 exp2 (temp 2-component vector of float) -0:131 'inF0' (in 2-component vector of float) +0:131 move second child to first child ( temp 2-component vector of float) +0:131 'r029' ( temp 2-component vector of float) +0:131 exp2 ( temp 2-component vector of float) +0:131 'inF0' ( in 2-component vector of float) 0:132 Sequence -0:132 move second child to first child (temp 2-component vector of float) -0:132 'r030' (temp 2-component vector of float) -0:132 face-forward (temp 2-component vector of float) -0:132 'inF0' (in 2-component vector of float) -0:132 'inF1' (in 2-component vector of float) -0:132 'inF2' (in 2-component vector of float) +0:132 move second child to first child ( temp 2-component vector of float) +0:132 'r030' ( temp 2-component vector of float) +0:132 face-forward ( temp 2-component vector of float) +0:132 'inF0' ( in 2-component vector of float) +0:132 'inF1' ( in 2-component vector of float) +0:132 'inF2' ( in 2-component vector of float) 0:133 Sequence -0:133 move second child to first child (temp 2-component vector of uint) -0:133 'r031' (temp 2-component vector of uint) -0:? findMSB (temp 2-component vector of uint) +0:133 move second child to first child ( temp 2-component vector of uint) +0:133 'r031' ( temp 2-component vector of uint) +0:? findMSB ( temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:134 Sequence -0:134 move second child to first child (temp 2-component vector of uint) -0:134 'r032' (temp 2-component vector of uint) -0:? findLSB (temp 2-component vector of uint) +0:134 move second child to first child ( temp 2-component vector of uint) +0:134 'r032' ( temp 2-component vector of uint) +0:? findLSB ( temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:135 Sequence -0:135 move second child to first child (temp 2-component vector of float) -0:135 'r033' (temp 2-component vector of float) -0:135 Floor (temp 2-component vector of float) -0:135 'inF0' (in 2-component vector of float) +0:135 move second child to first child ( temp 2-component vector of float) +0:135 'r033' ( temp 2-component vector of float) +0:135 Floor ( temp 2-component vector of float) +0:135 'inF0' ( in 2-component vector of float) 0:137 Sequence -0:137 move second child to first child (temp 2-component vector of float) -0:137 'r035' (temp 2-component vector of float) -0:137 mod (temp 2-component vector of float) -0:137 'inF0' (in 2-component vector of float) -0:137 'inF1' (in 2-component vector of float) +0:137 move second child to first child ( temp 2-component vector of float) +0:137 'r035' ( temp 2-component vector of float) +0:137 mod ( temp 2-component vector of float) +0:137 'inF0' ( in 2-component vector of float) +0:137 'inF1' ( in 2-component vector of float) 0:138 Sequence -0:138 move second child to first child (temp 2-component vector of float) -0:138 'r036' (temp 2-component vector of float) -0:138 Fraction (temp 2-component vector of float) -0:138 'inF0' (in 2-component vector of float) +0:138 move second child to first child ( temp 2-component vector of float) +0:138 'r036' ( temp 2-component vector of float) +0:138 Fraction ( temp 2-component vector of float) +0:138 'inF0' ( in 2-component vector of float) 0:139 Sequence -0:139 move second child to first child (temp 2-component vector of float) -0:139 'r037' (temp 2-component vector of float) -0:139 frexp (temp 2-component vector of float) -0:139 'inF0' (in 2-component vector of float) -0:139 'inF1' (in 2-component vector of float) +0:139 move second child to first child ( temp 2-component vector of float) +0:139 'r037' ( temp 2-component vector of float) +0:139 frexp ( temp 2-component vector of float) +0:139 'inF0' ( in 2-component vector of float) +0:139 'inF1' ( in 2-component vector of float) 0:140 Sequence -0:140 move second child to first child (temp 2-component vector of float) -0:140 'r038' (temp 2-component vector of float) -0:140 fwidth (temp 2-component vector of float) -0:140 'inF0' (in 2-component vector of float) +0:140 move second child to first child ( temp 2-component vector of float) +0:140 'r038' ( temp 2-component vector of float) +0:140 fwidth ( temp 2-component vector of float) +0:140 'inF0' ( in 2-component vector of float) 0:141 Sequence -0:141 move second child to first child (temp 2-component vector of bool) -0:141 'r039' (temp 2-component vector of bool) -0:141 isinf (temp 2-component vector of bool) -0:141 'inF0' (in 2-component vector of float) +0:141 move second child to first child ( temp 2-component vector of bool) +0:141 'r039' ( temp 2-component vector of bool) +0:141 isinf ( temp 2-component vector of bool) +0:141 'inF0' ( in 2-component vector of float) 0:142 Sequence -0:142 move second child to first child (temp 2-component vector of bool) -0:142 'r040' (temp 2-component vector of bool) -0:142 isnan (temp 2-component vector of bool) -0:142 'inF0' (in 2-component vector of float) +0:142 move second child to first child ( temp 2-component vector of bool) +0:142 'r040' ( temp 2-component vector of bool) +0:142 isnan ( temp 2-component vector of bool) +0:142 'inF0' ( in 2-component vector of float) 0:143 Sequence -0:143 move second child to first child (temp 2-component vector of float) -0:143 'r041' (temp 2-component vector of float) -0:143 ldexp (temp 2-component vector of float) -0:143 'inF0' (in 2-component vector of float) -0:143 'inF1' (in 2-component vector of float) +0:143 move second child to first child ( temp 2-component vector of float) +0:143 'r041' ( temp 2-component vector of float) +0:143 ldexp ( temp 2-component vector of float) +0:143 'inF0' ( in 2-component vector of float) +0:143 'inF1' ( in 2-component vector of float) 0:144 Sequence -0:144 move second child to first child (temp 2-component vector of float) -0:144 'r039a' (temp 2-component vector of float) -0:144 mix (temp 2-component vector of float) -0:144 'inF0' (in 2-component vector of float) -0:144 'inF1' (in 2-component vector of float) -0:144 'inF2' (in 2-component vector of float) +0:144 move second child to first child ( temp 2-component vector of float) +0:144 'r039a' ( temp 2-component vector of float) +0:144 mix ( temp 2-component vector of float) +0:144 'inF0' ( in 2-component vector of float) +0:144 'inF1' ( in 2-component vector of float) +0:144 'inF2' ( in 2-component vector of float) 0:145 Sequence -0:145 move second child to first child (temp float) -0:145 'r042' (temp float) -0:145 length (temp float) -0:145 'inF0' (in 2-component vector of float) +0:145 move second child to first child ( temp float) +0:145 'r042' ( temp float) +0:145 length ( temp float) +0:145 'inF0' ( in 2-component vector of float) 0:146 Sequence -0:146 move second child to first child (temp 2-component vector of float) -0:146 'r043' (temp 2-component vector of float) -0:146 log (temp 2-component vector of float) -0:146 'inF0' (in 2-component vector of float) +0:146 move second child to first child ( temp 2-component vector of float) +0:146 'r043' ( temp 2-component vector of float) +0:146 log ( temp 2-component vector of float) +0:146 'inF0' ( in 2-component vector of float) 0:147 Sequence -0:147 move second child to first child (temp 2-component vector of float) -0:147 'r044' (temp 2-component vector of float) -0:147 vector-scale (temp 2-component vector of float) -0:147 log2 (temp 2-component vector of float) -0:147 'inF0' (in 2-component vector of float) +0:147 move second child to first child ( temp 2-component vector of float) +0:147 'r044' ( temp 2-component vector of float) +0:147 vector-scale ( temp 2-component vector of float) +0:147 log2 ( temp 2-component vector of float) +0:147 'inF0' ( in 2-component vector of float) 0:147 Constant: 0:147 0.301030 0:148 Sequence -0:148 move second child to first child (temp 2-component vector of float) -0:148 'r045' (temp 2-component vector of float) -0:148 log2 (temp 2-component vector of float) -0:148 'inF0' (in 2-component vector of float) +0:148 move second child to first child ( temp 2-component vector of float) +0:148 'r045' ( temp 2-component vector of float) +0:148 log2 ( temp 2-component vector of float) +0:148 'inF0' ( in 2-component vector of float) 0:149 Sequence -0:149 move second child to first child (temp 2-component vector of float) -0:149 'r046' (temp 2-component vector of float) -0:149 max (temp 2-component vector of float) -0:149 'inF0' (in 2-component vector of float) -0:149 'inF1' (in 2-component vector of float) +0:149 move second child to first child ( temp 2-component vector of float) +0:149 'r046' ( temp 2-component vector of float) +0:149 max ( temp 2-component vector of float) +0:149 'inF0' ( in 2-component vector of float) +0:149 'inF1' ( in 2-component vector of float) 0:150 Sequence -0:150 move second child to first child (temp 2-component vector of float) -0:150 'r047' (temp 2-component vector of float) -0:150 min (temp 2-component vector of float) -0:150 'inF0' (in 2-component vector of float) -0:150 'inF1' (in 2-component vector of float) +0:150 move second child to first child ( temp 2-component vector of float) +0:150 'r047' ( temp 2-component vector of float) +0:150 min ( temp 2-component vector of float) +0:150 'inF0' ( in 2-component vector of float) +0:150 'inF1' ( in 2-component vector of float) 0:151 Sequence -0:151 move second child to first child (temp 2-component vector of float) -0:151 'r048' (temp 2-component vector of float) -0:151 normalize (temp 2-component vector of float) -0:151 'inF0' (in 2-component vector of float) +0:151 move second child to first child ( temp 2-component vector of float) +0:151 'r048' ( temp 2-component vector of float) +0:151 normalize ( temp 2-component vector of float) +0:151 'inF0' ( in 2-component vector of float) 0:152 Sequence -0:152 move second child to first child (temp 2-component vector of float) -0:152 'r049' (temp 2-component vector of float) -0:152 pow (temp 2-component vector of float) -0:152 'inF0' (in 2-component vector of float) -0:152 'inF1' (in 2-component vector of float) +0:152 move second child to first child ( temp 2-component vector of float) +0:152 'r049' ( temp 2-component vector of float) +0:152 pow ( temp 2-component vector of float) +0:152 'inF0' ( in 2-component vector of float) +0:152 'inF1' ( in 2-component vector of float) 0:153 Sequence -0:153 move second child to first child (temp 2-component vector of float) -0:153 'r050' (temp 2-component vector of float) -0:153 radians (temp 2-component vector of float) -0:153 'inF0' (in 2-component vector of float) +0:153 move second child to first child ( temp 2-component vector of float) +0:153 'r050' ( temp 2-component vector of float) +0:153 radians ( temp 2-component vector of float) +0:153 'inF0' ( in 2-component vector of float) 0:154 Sequence -0:154 move second child to first child (temp 2-component vector of float) -0:154 'r051' (temp 2-component vector of float) -0:154 divide (temp 2-component vector of float) +0:154 move second child to first child ( temp 2-component vector of float) +0:154 'r051' ( temp 2-component vector of float) +0:154 divide ( temp 2-component vector of float) 0:154 Constant: 0:154 1.000000 -0:154 'inF0' (in 2-component vector of float) +0:154 'inF0' ( in 2-component vector of float) 0:155 Sequence -0:155 move second child to first child (temp 2-component vector of float) -0:155 'r052' (temp 2-component vector of float) -0:155 reflect (temp 2-component vector of float) -0:155 'inF0' (in 2-component vector of float) -0:155 'inF1' (in 2-component vector of float) +0:155 move second child to first child ( temp 2-component vector of float) +0:155 'r052' ( temp 2-component vector of float) +0:155 reflect ( temp 2-component vector of float) +0:155 'inF0' ( in 2-component vector of float) +0:155 'inF1' ( in 2-component vector of float) 0:156 Sequence -0:156 move second child to first child (temp 2-component vector of float) -0:156 'r053' (temp 2-component vector of float) -0:156 refract (temp 2-component vector of float) -0:156 'inF0' (in 2-component vector of float) -0:156 'inF1' (in 2-component vector of float) +0:156 move second child to first child ( temp 2-component vector of float) +0:156 'r053' ( temp 2-component vector of float) +0:156 refract ( temp 2-component vector of float) +0:156 'inF0' ( in 2-component vector of float) +0:156 'inF1' ( in 2-component vector of float) 0:156 Constant: 0:156 2.000000 0:157 Sequence -0:157 move second child to first child (temp 2-component vector of uint) -0:157 'r054' (temp 2-component vector of uint) -0:? bitFieldReverse (temp 2-component vector of uint) +0:157 move second child to first child ( temp 2-component vector of uint) +0:157 'r054' ( temp 2-component vector of uint) +0:? bitFieldReverse ( temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:158 Sequence -0:158 move second child to first child (temp 2-component vector of float) -0:158 'r055' (temp 2-component vector of float) -0:158 roundEven (temp 2-component vector of float) -0:158 'inF0' (in 2-component vector of float) +0:158 move second child to first child ( temp 2-component vector of float) +0:158 'r055' ( temp 2-component vector of float) +0:158 roundEven ( temp 2-component vector of float) +0:158 'inF0' ( in 2-component vector of float) 0:159 Sequence -0:159 move second child to first child (temp 2-component vector of float) -0:159 'r056' (temp 2-component vector of float) -0:159 inverse sqrt (temp 2-component vector of float) -0:159 'inF0' (in 2-component vector of float) +0:159 move second child to first child ( temp 2-component vector of float) +0:159 'r056' ( temp 2-component vector of float) +0:159 inverse sqrt ( temp 2-component vector of float) +0:159 'inF0' ( in 2-component vector of float) 0:160 Sequence -0:160 move second child to first child (temp 2-component vector of float) -0:160 'r057' (temp 2-component vector of float) -0:160 clamp (temp 2-component vector of float) -0:160 'inF0' (in 2-component vector of float) +0:160 move second child to first child ( temp 2-component vector of float) +0:160 'r057' ( temp 2-component vector of float) +0:160 clamp ( temp 2-component vector of float) +0:160 'inF0' ( in 2-component vector of float) 0:160 Constant: 0:160 0.000000 0:160 Constant: 0:160 1.000000 0:161 Sequence -0:161 move second child to first child (temp 2-component vector of float) -0:161 'r058' (temp 2-component vector of float) -0:161 Sign (temp 2-component vector of float) -0:161 'inF0' (in 2-component vector of float) +0:161 move second child to first child ( temp 2-component vector of float) +0:161 'r058' ( temp 2-component vector of float) +0:161 Sign ( temp 2-component vector of float) +0:161 'inF0' ( in 2-component vector of float) 0:162 Sequence -0:162 move second child to first child (temp 2-component vector of float) -0:162 'r059' (temp 2-component vector of float) -0:162 sine (temp 2-component vector of float) -0:162 'inF0' (in 2-component vector of float) +0:162 move second child to first child ( temp 2-component vector of float) +0:162 'r059' ( temp 2-component vector of float) +0:162 sine ( temp 2-component vector of float) +0:162 'inF0' ( in 2-component vector of float) 0:163 Sequence -0:163 move second child to first child (temp 2-component vector of float) -0:163 'inF1' (in 2-component vector of float) -0:163 sine (temp 2-component vector of float) -0:163 'inF0' (in 2-component vector of float) -0:163 move second child to first child (temp 2-component vector of float) -0:163 'inF2' (in 2-component vector of float) -0:163 cosine (temp 2-component vector of float) -0:163 'inF0' (in 2-component vector of float) +0:163 move second child to first child ( temp 2-component vector of float) +0:163 'inF1' ( in 2-component vector of float) +0:163 sine ( temp 2-component vector of float) +0:163 'inF0' ( in 2-component vector of float) +0:163 move second child to first child ( temp 2-component vector of float) +0:163 'inF2' ( in 2-component vector of float) +0:163 cosine ( temp 2-component vector of float) +0:163 'inF0' ( in 2-component vector of float) 0:164 Sequence -0:164 move second child to first child (temp 2-component vector of float) -0:164 'r060' (temp 2-component vector of float) -0:164 hyp. sine (temp 2-component vector of float) -0:164 'inF0' (in 2-component vector of float) +0:164 move second child to first child ( temp 2-component vector of float) +0:164 'r060' ( temp 2-component vector of float) +0:164 hyp. sine ( temp 2-component vector of float) +0:164 'inF0' ( in 2-component vector of float) 0:165 Sequence -0:165 move second child to first child (temp 2-component vector of float) -0:165 'r061' (temp 2-component vector of float) -0:165 smoothstep (temp 2-component vector of float) -0:165 'inF0' (in 2-component vector of float) -0:165 'inF1' (in 2-component vector of float) -0:165 'inF2' (in 2-component vector of float) +0:165 move second child to first child ( temp 2-component vector of float) +0:165 'r061' ( temp 2-component vector of float) +0:165 smoothstep ( temp 2-component vector of float) +0:165 'inF0' ( in 2-component vector of float) +0:165 'inF1' ( in 2-component vector of float) +0:165 'inF2' ( in 2-component vector of float) 0:166 Sequence -0:166 move second child to first child (temp 2-component vector of float) -0:166 'r062' (temp 2-component vector of float) -0:166 sqrt (temp 2-component vector of float) -0:166 'inF0' (in 2-component vector of float) +0:166 move second child to first child ( temp 2-component vector of float) +0:166 'r062' ( temp 2-component vector of float) +0:166 sqrt ( temp 2-component vector of float) +0:166 'inF0' ( in 2-component vector of float) 0:167 Sequence -0:167 move second child to first child (temp 2-component vector of float) -0:167 'r063' (temp 2-component vector of float) -0:167 step (temp 2-component vector of float) -0:167 'inF0' (in 2-component vector of float) -0:167 'inF1' (in 2-component vector of float) +0:167 move second child to first child ( temp 2-component vector of float) +0:167 'r063' ( temp 2-component vector of float) +0:167 step ( temp 2-component vector of float) +0:167 'inF0' ( in 2-component vector of float) +0:167 'inF1' ( in 2-component vector of float) 0:168 Sequence -0:168 move second child to first child (temp 2-component vector of float) -0:168 'r064' (temp 2-component vector of float) -0:168 tangent (temp 2-component vector of float) -0:168 'inF0' (in 2-component vector of float) +0:168 move second child to first child ( temp 2-component vector of float) +0:168 'r064' ( temp 2-component vector of float) +0:168 tangent ( temp 2-component vector of float) +0:168 'inF0' ( in 2-component vector of float) 0:169 Sequence -0:169 move second child to first child (temp 2-component vector of float) -0:169 'r065' (temp 2-component vector of float) -0:169 hyp. tangent (temp 2-component vector of float) -0:169 'inF0' (in 2-component vector of float) +0:169 move second child to first child ( temp 2-component vector of float) +0:169 'r065' ( temp 2-component vector of float) +0:169 hyp. tangent ( temp 2-component vector of float) +0:169 'inF0' ( in 2-component vector of float) 0:171 Sequence -0:171 move second child to first child (temp 2-component vector of float) -0:171 'r066' (temp 2-component vector of float) -0:171 trunc (temp 2-component vector of float) -0:171 'inF0' (in 2-component vector of float) +0:171 move second child to first child ( temp 2-component vector of float) +0:171 'r066' ( temp 2-component vector of float) +0:171 trunc ( temp 2-component vector of float) +0:171 'inF0' ( in 2-component vector of float) 0:174 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:178 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:178 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:178 Function Parameters: -0:178 'inF0' (in 3-component vector of float) -0:178 'inF1' (in 3-component vector of float) -0:178 'inF2' (in 3-component vector of float) -0:178 'inU0' (in 3-component vector of uint) -0:178 'inU1' (in 3-component vector of uint) +0:178 'inF0' ( in 3-component vector of float) +0:178 'inF1' ( in 3-component vector of float) +0:178 'inF2' ( in 3-component vector of float) +0:178 'inU0' ( in 3-component vector of uint) +0:178 'inU1' ( in 3-component vector of uint) 0:? Sequence 0:181 Sequence -0:181 move second child to first child (temp bool) -0:181 'r000' (temp bool) -0:181 all (temp bool) -0:181 'inF0' (in 3-component vector of float) +0:181 move second child to first child ( temp bool) +0:181 'r000' ( temp bool) +0:181 all ( temp bool) +0:181 'inF0' ( in 3-component vector of float) 0:182 Sequence -0:182 move second child to first child (temp 3-component vector of float) -0:182 'r001' (temp 3-component vector of float) -0:182 Absolute value (temp 3-component vector of float) -0:182 'inF0' (in 3-component vector of float) +0:182 move second child to first child ( temp 3-component vector of float) +0:182 'r001' ( temp 3-component vector of float) +0:182 Absolute value ( temp 3-component vector of float) +0:182 'inF0' ( in 3-component vector of float) 0:183 Sequence -0:183 move second child to first child (temp 3-component vector of float) -0:183 'r002' (temp 3-component vector of float) -0:183 arc cosine (temp 3-component vector of float) -0:183 'inF0' (in 3-component vector of float) +0:183 move second child to first child ( temp 3-component vector of float) +0:183 'r002' ( temp 3-component vector of float) +0:183 arc cosine ( temp 3-component vector of float) +0:183 'inF0' ( in 3-component vector of float) 0:184 Sequence -0:184 move second child to first child (temp bool) -0:184 'r003' (temp bool) -0:184 any (temp bool) -0:184 'inF0' (in 3-component vector of float) +0:184 move second child to first child ( temp bool) +0:184 'r003' ( temp bool) +0:184 any ( temp bool) +0:184 'inF0' ( in 3-component vector of float) 0:185 Sequence -0:185 move second child to first child (temp 3-component vector of float) -0:185 'r004' (temp 3-component vector of float) -0:185 arc sine (temp 3-component vector of float) -0:185 'inF0' (in 3-component vector of float) +0:185 move second child to first child ( temp 3-component vector of float) +0:185 'r004' ( temp 3-component vector of float) +0:185 arc sine ( temp 3-component vector of float) +0:185 'inF0' ( in 3-component vector of float) 0:186 Sequence -0:186 move second child to first child (temp 3-component vector of int) -0:186 'r005' (temp 3-component vector of int) -0:186 floatBitsToInt (temp 3-component vector of int) -0:186 'inF0' (in 3-component vector of float) +0:186 move second child to first child ( temp 3-component vector of int) +0:186 'r005' ( temp 3-component vector of int) +0:186 floatBitsToInt ( temp 3-component vector of int) +0:186 'inF0' ( in 3-component vector of float) 0:187 Sequence -0:187 move second child to first child (temp 3-component vector of uint) -0:187 'r006' (temp 3-component vector of uint) -0:187 floatBitsToUint (temp 3-component vector of uint) -0:187 'inF0' (in 3-component vector of float) +0:187 move second child to first child ( temp 3-component vector of uint) +0:187 'r006' ( temp 3-component vector of uint) +0:187 floatBitsToUint ( temp 3-component vector of uint) +0:187 'inF0' ( in 3-component vector of float) 0:188 Sequence -0:188 move second child to first child (temp 3-component vector of float) -0:188 'r007' (temp 3-component vector of float) -0:188 intBitsToFloat (temp 3-component vector of float) -0:188 'inU0' (in 3-component vector of uint) +0:188 move second child to first child ( temp 3-component vector of float) +0:188 'r007' ( temp 3-component vector of float) +0:188 intBitsToFloat ( temp 3-component vector of float) +0:188 'inU0' ( in 3-component vector of uint) 0:190 Sequence -0:190 move second child to first child (temp 3-component vector of float) -0:190 'r009' (temp 3-component vector of float) -0:190 arc tangent (temp 3-component vector of float) -0:190 'inF0' (in 3-component vector of float) +0:190 move second child to first child ( temp 3-component vector of float) +0:190 'r009' ( temp 3-component vector of float) +0:190 arc tangent ( temp 3-component vector of float) +0:190 'inF0' ( in 3-component vector of float) 0:191 Sequence -0:191 move second child to first child (temp 3-component vector of float) -0:191 'r010' (temp 3-component vector of float) -0:191 arc tangent (temp 3-component vector of float) -0:191 'inF0' (in 3-component vector of float) -0:191 'inF1' (in 3-component vector of float) +0:191 move second child to first child ( temp 3-component vector of float) +0:191 'r010' ( temp 3-component vector of float) +0:191 arc tangent ( temp 3-component vector of float) +0:191 'inF0' ( in 3-component vector of float) +0:191 'inF1' ( in 3-component vector of float) 0:192 Sequence -0:192 move second child to first child (temp 3-component vector of float) -0:192 'r011' (temp 3-component vector of float) -0:192 Ceiling (temp 3-component vector of float) -0:192 'inF0' (in 3-component vector of float) +0:192 move second child to first child ( temp 3-component vector of float) +0:192 'r011' ( temp 3-component vector of float) +0:192 Ceiling ( temp 3-component vector of float) +0:192 'inF0' ( in 3-component vector of float) 0:193 Sequence -0:193 move second child to first child (temp 3-component vector of float) -0:193 'r012' (temp 3-component vector of float) -0:193 clamp (temp 3-component vector of float) -0:193 'inF0' (in 3-component vector of float) -0:193 'inF1' (in 3-component vector of float) -0:193 'inF2' (in 3-component vector of float) -0:194 Test condition and select (temp void) +0:193 move second child to first child ( temp 3-component vector of float) +0:193 'r012' ( temp 3-component vector of float) +0:193 clamp ( temp 3-component vector of float) +0:193 'inF0' ( in 3-component vector of float) +0:193 'inF1' ( in 3-component vector of float) +0:193 'inF2' ( in 3-component vector of float) +0:194 Test condition and select ( temp void) 0:194 Condition -0:194 any (temp bool) -0:194 Compare Less Than (temp 3-component vector of bool) -0:194 'inF0' (in 3-component vector of float) +0:194 any ( temp bool) +0:194 Compare Less Than ( temp 3-component vector of bool) +0:194 'inF0' ( in 3-component vector of float) 0:194 Constant: 0:194 0.000000 0:194 0.000000 @@ -817,404 +817,404 @@ gl_FragCoord origin is upper left 0:194 true case 0:194 Branch: Kill 0:195 Sequence -0:195 move second child to first child (temp 3-component vector of float) -0:195 'r013' (temp 3-component vector of float) -0:195 cosine (temp 3-component vector of float) -0:195 'inF0' (in 3-component vector of float) +0:195 move second child to first child ( temp 3-component vector of float) +0:195 'r013' ( temp 3-component vector of float) +0:195 cosine ( temp 3-component vector of float) +0:195 'inF0' ( in 3-component vector of float) 0:196 Sequence -0:196 move second child to first child (temp 3-component vector of float) -0:196 'r014' (temp 3-component vector of float) -0:196 hyp. cosine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'r014' ( temp 3-component vector of float) +0:196 hyp. cosine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) 0:197 Sequence -0:197 move second child to first child (temp 3-component vector of uint) -0:197 'r015' (temp 3-component vector of uint) -0:? bitCount (temp 3-component vector of uint) +0:197 move second child to first child ( temp 3-component vector of uint) +0:197 'r015' ( temp 3-component vector of uint) +0:? bitCount ( temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:198 Sequence -0:198 move second child to first child (temp 3-component vector of float) -0:198 'r016' (temp 3-component vector of float) -0:198 cross-product (temp 3-component vector of float) -0:198 'inF0' (in 3-component vector of float) -0:198 'inF1' (in 3-component vector of float) +0:198 move second child to first child ( temp 3-component vector of float) +0:198 'r016' ( temp 3-component vector of float) +0:198 cross-product ( temp 3-component vector of float) +0:198 'inF0' ( in 3-component vector of float) +0:198 'inF1' ( in 3-component vector of float) 0:199 Sequence -0:199 move second child to first child (temp 3-component vector of float) -0:199 'r017' (temp 3-component vector of float) -0:199 dPdx (temp 3-component vector of float) -0:199 'inF0' (in 3-component vector of float) +0:199 move second child to first child ( temp 3-component vector of float) +0:199 'r017' ( temp 3-component vector of float) +0:199 dPdx ( temp 3-component vector of float) +0:199 'inF0' ( in 3-component vector of float) 0:200 Sequence -0:200 move second child to first child (temp 3-component vector of float) -0:200 'r018' (temp 3-component vector of float) -0:200 dPdxCoarse (temp 3-component vector of float) -0:200 'inF0' (in 3-component vector of float) +0:200 move second child to first child ( temp 3-component vector of float) +0:200 'r018' ( temp 3-component vector of float) +0:200 dPdxCoarse ( temp 3-component vector of float) +0:200 'inF0' ( in 3-component vector of float) 0:201 Sequence -0:201 move second child to first child (temp 3-component vector of float) -0:201 'r019' (temp 3-component vector of float) -0:201 dPdxFine (temp 3-component vector of float) -0:201 'inF0' (in 3-component vector of float) +0:201 move second child to first child ( temp 3-component vector of float) +0:201 'r019' ( temp 3-component vector of float) +0:201 dPdxFine ( temp 3-component vector of float) +0:201 'inF0' ( in 3-component vector of float) 0:202 Sequence -0:202 move second child to first child (temp 3-component vector of float) -0:202 'r020' (temp 3-component vector of float) -0:202 dPdy (temp 3-component vector of float) -0:202 'inF0' (in 3-component vector of float) +0:202 move second child to first child ( temp 3-component vector of float) +0:202 'r020' ( temp 3-component vector of float) +0:202 dPdy ( temp 3-component vector of float) +0:202 'inF0' ( in 3-component vector of float) 0:203 Sequence -0:203 move second child to first child (temp 3-component vector of float) -0:203 'r021' (temp 3-component vector of float) -0:203 dPdyCoarse (temp 3-component vector of float) -0:203 'inF0' (in 3-component vector of float) +0:203 move second child to first child ( temp 3-component vector of float) +0:203 'r021' ( temp 3-component vector of float) +0:203 dPdyCoarse ( temp 3-component vector of float) +0:203 'inF0' ( in 3-component vector of float) 0:204 Sequence -0:204 move second child to first child (temp 3-component vector of float) -0:204 'r022' (temp 3-component vector of float) -0:204 dPdyFine (temp 3-component vector of float) -0:204 'inF0' (in 3-component vector of float) +0:204 move second child to first child ( temp 3-component vector of float) +0:204 'r022' ( temp 3-component vector of float) +0:204 dPdyFine ( temp 3-component vector of float) +0:204 'inF0' ( in 3-component vector of float) 0:205 Sequence -0:205 move second child to first child (temp 3-component vector of float) -0:205 'r023' (temp 3-component vector of float) -0:205 degrees (temp 3-component vector of float) -0:205 'inF0' (in 3-component vector of float) +0:205 move second child to first child ( temp 3-component vector of float) +0:205 'r023' ( temp 3-component vector of float) +0:205 degrees ( temp 3-component vector of float) +0:205 'inF0' ( in 3-component vector of float) 0:206 Sequence -0:206 move second child to first child (temp float) -0:206 'r024' (temp float) -0:206 distance (temp float) -0:206 'inF0' (in 3-component vector of float) -0:206 'inF1' (in 3-component vector of float) +0:206 move second child to first child ( temp float) +0:206 'r024' ( temp float) +0:206 distance ( temp float) +0:206 'inF0' ( in 3-component vector of float) +0:206 'inF1' ( in 3-component vector of float) 0:207 Sequence -0:207 move second child to first child (temp float) -0:207 'r025' (temp float) -0:207 dot-product (temp float) -0:207 'inF0' (in 3-component vector of float) -0:207 'inF1' (in 3-component vector of float) +0:207 move second child to first child ( temp float) +0:207 'r025' ( temp float) +0:207 dot-product ( temp float) +0:207 'inF0' ( in 3-component vector of float) +0:207 'inF1' ( in 3-component vector of float) 0:211 Sequence -0:211 move second child to first child (temp 3-component vector of float) -0:211 'r029' (temp 3-component vector of float) -0:211 exp (temp 3-component vector of float) -0:211 'inF0' (in 3-component vector of float) +0:211 move second child to first child ( temp 3-component vector of float) +0:211 'r029' ( temp 3-component vector of float) +0:211 exp ( temp 3-component vector of float) +0:211 'inF0' ( in 3-component vector of float) 0:212 Sequence -0:212 move second child to first child (temp 3-component vector of float) -0:212 'r030' (temp 3-component vector of float) -0:212 exp2 (temp 3-component vector of float) -0:212 'inF0' (in 3-component vector of float) +0:212 move second child to first child ( temp 3-component vector of float) +0:212 'r030' ( temp 3-component vector of float) +0:212 exp2 ( temp 3-component vector of float) +0:212 'inF0' ( in 3-component vector of float) 0:213 Sequence -0:213 move second child to first child (temp 3-component vector of float) -0:213 'r031' (temp 3-component vector of float) -0:213 face-forward (temp 3-component vector of float) -0:213 'inF0' (in 3-component vector of float) -0:213 'inF1' (in 3-component vector of float) -0:213 'inF2' (in 3-component vector of float) +0:213 move second child to first child ( temp 3-component vector of float) +0:213 'r031' ( temp 3-component vector of float) +0:213 face-forward ( temp 3-component vector of float) +0:213 'inF0' ( in 3-component vector of float) +0:213 'inF1' ( in 3-component vector of float) +0:213 'inF2' ( in 3-component vector of float) 0:214 Sequence -0:214 move second child to first child (temp 3-component vector of uint) -0:214 'r032' (temp 3-component vector of uint) -0:? findMSB (temp 3-component vector of uint) +0:214 move second child to first child ( temp 3-component vector of uint) +0:214 'r032' ( temp 3-component vector of uint) +0:? findMSB ( temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:215 Sequence -0:215 move second child to first child (temp 3-component vector of uint) -0:215 'r033' (temp 3-component vector of uint) -0:? findLSB (temp 3-component vector of uint) +0:215 move second child to first child ( temp 3-component vector of uint) +0:215 'r033' ( temp 3-component vector of uint) +0:? findLSB ( temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:216 Sequence -0:216 move second child to first child (temp 3-component vector of float) -0:216 'r034' (temp 3-component vector of float) -0:216 Floor (temp 3-component vector of float) -0:216 'inF0' (in 3-component vector of float) +0:216 move second child to first child ( temp 3-component vector of float) +0:216 'r034' ( temp 3-component vector of float) +0:216 Floor ( temp 3-component vector of float) +0:216 'inF0' ( in 3-component vector of float) 0:218 Sequence -0:218 move second child to first child (temp 3-component vector of float) -0:218 'r036' (temp 3-component vector of float) -0:218 mod (temp 3-component vector of float) -0:218 'inF0' (in 3-component vector of float) -0:218 'inF1' (in 3-component vector of float) +0:218 move second child to first child ( temp 3-component vector of float) +0:218 'r036' ( temp 3-component vector of float) +0:218 mod ( temp 3-component vector of float) +0:218 'inF0' ( in 3-component vector of float) +0:218 'inF1' ( in 3-component vector of float) 0:219 Sequence -0:219 move second child to first child (temp 3-component vector of float) -0:219 'r037' (temp 3-component vector of float) -0:219 Fraction (temp 3-component vector of float) -0:219 'inF0' (in 3-component vector of float) +0:219 move second child to first child ( temp 3-component vector of float) +0:219 'r037' ( temp 3-component vector of float) +0:219 Fraction ( temp 3-component vector of float) +0:219 'inF0' ( in 3-component vector of float) 0:220 Sequence -0:220 move second child to first child (temp 3-component vector of float) -0:220 'r038' (temp 3-component vector of float) -0:220 frexp (temp 3-component vector of float) -0:220 'inF0' (in 3-component vector of float) -0:220 'inF1' (in 3-component vector of float) +0:220 move second child to first child ( temp 3-component vector of float) +0:220 'r038' ( temp 3-component vector of float) +0:220 frexp ( temp 3-component vector of float) +0:220 'inF0' ( in 3-component vector of float) +0:220 'inF1' ( in 3-component vector of float) 0:221 Sequence -0:221 move second child to first child (temp 3-component vector of float) -0:221 'r039' (temp 3-component vector of float) -0:221 fwidth (temp 3-component vector of float) -0:221 'inF0' (in 3-component vector of float) +0:221 move second child to first child ( temp 3-component vector of float) +0:221 'r039' ( temp 3-component vector of float) +0:221 fwidth ( temp 3-component vector of float) +0:221 'inF0' ( in 3-component vector of float) 0:222 Sequence -0:222 move second child to first child (temp 3-component vector of bool) -0:222 'r040' (temp 3-component vector of bool) -0:222 isinf (temp 3-component vector of bool) -0:222 'inF0' (in 3-component vector of float) +0:222 move second child to first child ( temp 3-component vector of bool) +0:222 'r040' ( temp 3-component vector of bool) +0:222 isinf ( temp 3-component vector of bool) +0:222 'inF0' ( in 3-component vector of float) 0:223 Sequence -0:223 move second child to first child (temp 3-component vector of bool) -0:223 'r041' (temp 3-component vector of bool) -0:223 isnan (temp 3-component vector of bool) -0:223 'inF0' (in 3-component vector of float) +0:223 move second child to first child ( temp 3-component vector of bool) +0:223 'r041' ( temp 3-component vector of bool) +0:223 isnan ( temp 3-component vector of bool) +0:223 'inF0' ( in 3-component vector of float) 0:224 Sequence -0:224 move second child to first child (temp 3-component vector of float) -0:224 'r042' (temp 3-component vector of float) -0:224 ldexp (temp 3-component vector of float) -0:224 'inF0' (in 3-component vector of float) -0:224 'inF1' (in 3-component vector of float) +0:224 move second child to first child ( temp 3-component vector of float) +0:224 'r042' ( temp 3-component vector of float) +0:224 ldexp ( temp 3-component vector of float) +0:224 'inF0' ( in 3-component vector of float) +0:224 'inF1' ( in 3-component vector of float) 0:225 Sequence -0:225 move second child to first child (temp 3-component vector of float) -0:225 'r039a' (temp 3-component vector of float) -0:225 mix (temp 3-component vector of float) -0:225 'inF0' (in 3-component vector of float) -0:225 'inF1' (in 3-component vector of float) -0:225 'inF2' (in 3-component vector of float) +0:225 move second child to first child ( temp 3-component vector of float) +0:225 'r039a' ( temp 3-component vector of float) +0:225 mix ( temp 3-component vector of float) +0:225 'inF0' ( in 3-component vector of float) +0:225 'inF1' ( in 3-component vector of float) +0:225 'inF2' ( in 3-component vector of float) 0:226 Sequence -0:226 move second child to first child (temp 3-component vector of float) -0:226 'r039b' (temp 3-component vector of float) -0:226 mix (temp 3-component vector of float) -0:226 'inF0' (in 3-component vector of float) -0:226 'inF1' (in 3-component vector of float) +0:226 move second child to first child ( temp 3-component vector of float) +0:226 'r039b' ( temp 3-component vector of float) +0:226 mix ( temp 3-component vector of float) +0:226 'inF0' ( in 3-component vector of float) +0:226 'inF1' ( in 3-component vector of float) 0:226 Constant: 0:226 0.300000 0:227 Sequence -0:227 move second child to first child (temp float) -0:227 'r043' (temp float) -0:227 length (temp float) -0:227 'inF0' (in 3-component vector of float) +0:227 move second child to first child ( temp float) +0:227 'r043' ( temp float) +0:227 length ( temp float) +0:227 'inF0' ( in 3-component vector of float) 0:228 Sequence -0:228 move second child to first child (temp 3-component vector of float) -0:228 'r044' (temp 3-component vector of float) -0:228 log (temp 3-component vector of float) -0:228 'inF0' (in 3-component vector of float) +0:228 move second child to first child ( temp 3-component vector of float) +0:228 'r044' ( temp 3-component vector of float) +0:228 log ( temp 3-component vector of float) +0:228 'inF0' ( in 3-component vector of float) 0:229 Sequence -0:229 move second child to first child (temp 3-component vector of float) -0:229 'r045' (temp 3-component vector of float) -0:229 vector-scale (temp 3-component vector of float) -0:229 log2 (temp 3-component vector of float) -0:229 'inF0' (in 3-component vector of float) +0:229 move second child to first child ( temp 3-component vector of float) +0:229 'r045' ( temp 3-component vector of float) +0:229 vector-scale ( temp 3-component vector of float) +0:229 log2 ( temp 3-component vector of float) +0:229 'inF0' ( in 3-component vector of float) 0:229 Constant: 0:229 0.301030 0:230 Sequence -0:230 move second child to first child (temp 3-component vector of float) -0:230 'r046' (temp 3-component vector of float) -0:230 log2 (temp 3-component vector of float) -0:230 'inF0' (in 3-component vector of float) +0:230 move second child to first child ( temp 3-component vector of float) +0:230 'r046' ( temp 3-component vector of float) +0:230 log2 ( temp 3-component vector of float) +0:230 'inF0' ( in 3-component vector of float) 0:231 Sequence -0:231 move second child to first child (temp 3-component vector of float) -0:231 'r047' (temp 3-component vector of float) -0:231 max (temp 3-component vector of float) -0:231 'inF0' (in 3-component vector of float) -0:231 'inF1' (in 3-component vector of float) +0:231 move second child to first child ( temp 3-component vector of float) +0:231 'r047' ( temp 3-component vector of float) +0:231 max ( temp 3-component vector of float) +0:231 'inF0' ( in 3-component vector of float) +0:231 'inF1' ( in 3-component vector of float) 0:232 Sequence -0:232 move second child to first child (temp 3-component vector of float) -0:232 'r048' (temp 3-component vector of float) -0:232 min (temp 3-component vector of float) -0:232 'inF0' (in 3-component vector of float) -0:232 'inF1' (in 3-component vector of float) +0:232 move second child to first child ( temp 3-component vector of float) +0:232 'r048' ( temp 3-component vector of float) +0:232 min ( temp 3-component vector of float) +0:232 'inF0' ( in 3-component vector of float) +0:232 'inF1' ( in 3-component vector of float) 0:233 Sequence -0:233 move second child to first child (temp 3-component vector of float) -0:233 'r049' (temp 3-component vector of float) -0:233 normalize (temp 3-component vector of float) -0:233 'inF0' (in 3-component vector of float) +0:233 move second child to first child ( temp 3-component vector of float) +0:233 'r049' ( temp 3-component vector of float) +0:233 normalize ( temp 3-component vector of float) +0:233 'inF0' ( in 3-component vector of float) 0:234 Sequence -0:234 move second child to first child (temp 3-component vector of float) -0:234 'r050' (temp 3-component vector of float) -0:234 pow (temp 3-component vector of float) -0:234 'inF0' (in 3-component vector of float) -0:234 'inF1' (in 3-component vector of float) +0:234 move second child to first child ( temp 3-component vector of float) +0:234 'r050' ( temp 3-component vector of float) +0:234 pow ( temp 3-component vector of float) +0:234 'inF0' ( in 3-component vector of float) +0:234 'inF1' ( in 3-component vector of float) 0:235 Sequence -0:235 move second child to first child (temp 3-component vector of float) -0:235 'r051' (temp 3-component vector of float) -0:235 radians (temp 3-component vector of float) -0:235 'inF0' (in 3-component vector of float) +0:235 move second child to first child ( temp 3-component vector of float) +0:235 'r051' ( temp 3-component vector of float) +0:235 radians ( temp 3-component vector of float) +0:235 'inF0' ( in 3-component vector of float) 0:236 Sequence -0:236 move second child to first child (temp 3-component vector of float) -0:236 'r052' (temp 3-component vector of float) -0:236 divide (temp 3-component vector of float) +0:236 move second child to first child ( temp 3-component vector of float) +0:236 'r052' ( temp 3-component vector of float) +0:236 divide ( temp 3-component vector of float) 0:236 Constant: 0:236 1.000000 -0:236 'inF0' (in 3-component vector of float) +0:236 'inF0' ( in 3-component vector of float) 0:237 Sequence -0:237 move second child to first child (temp 3-component vector of float) -0:237 'r053' (temp 3-component vector of float) -0:237 reflect (temp 3-component vector of float) -0:237 'inF0' (in 3-component vector of float) -0:237 'inF1' (in 3-component vector of float) +0:237 move second child to first child ( temp 3-component vector of float) +0:237 'r053' ( temp 3-component vector of float) +0:237 reflect ( temp 3-component vector of float) +0:237 'inF0' ( in 3-component vector of float) +0:237 'inF1' ( in 3-component vector of float) 0:238 Sequence -0:238 move second child to first child (temp 3-component vector of float) -0:238 'r054' (temp 3-component vector of float) -0:238 refract (temp 3-component vector of float) -0:238 'inF0' (in 3-component vector of float) -0:238 'inF1' (in 3-component vector of float) +0:238 move second child to first child ( temp 3-component vector of float) +0:238 'r054' ( temp 3-component vector of float) +0:238 refract ( temp 3-component vector of float) +0:238 'inF0' ( in 3-component vector of float) +0:238 'inF1' ( in 3-component vector of float) 0:238 Constant: 0:238 2.000000 0:239 Sequence -0:239 move second child to first child (temp 3-component vector of uint) -0:239 'r055' (temp 3-component vector of uint) -0:? bitFieldReverse (temp 3-component vector of uint) +0:239 move second child to first child ( temp 3-component vector of uint) +0:239 'r055' ( temp 3-component vector of uint) +0:? bitFieldReverse ( temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:240 Sequence -0:240 move second child to first child (temp 3-component vector of float) -0:240 'r056' (temp 3-component vector of float) -0:240 roundEven (temp 3-component vector of float) -0:240 'inF0' (in 3-component vector of float) +0:240 move second child to first child ( temp 3-component vector of float) +0:240 'r056' ( temp 3-component vector of float) +0:240 roundEven ( temp 3-component vector of float) +0:240 'inF0' ( in 3-component vector of float) 0:241 Sequence -0:241 move second child to first child (temp 3-component vector of float) -0:241 'r057' (temp 3-component vector of float) -0:241 inverse sqrt (temp 3-component vector of float) -0:241 'inF0' (in 3-component vector of float) +0:241 move second child to first child ( temp 3-component vector of float) +0:241 'r057' ( temp 3-component vector of float) +0:241 inverse sqrt ( temp 3-component vector of float) +0:241 'inF0' ( in 3-component vector of float) 0:242 Sequence -0:242 move second child to first child (temp 3-component vector of float) -0:242 'r058' (temp 3-component vector of float) -0:242 clamp (temp 3-component vector of float) -0:242 'inF0' (in 3-component vector of float) +0:242 move second child to first child ( temp 3-component vector of float) +0:242 'r058' ( temp 3-component vector of float) +0:242 clamp ( temp 3-component vector of float) +0:242 'inF0' ( in 3-component vector of float) 0:242 Constant: 0:242 0.000000 0:242 Constant: 0:242 1.000000 0:243 Sequence -0:243 move second child to first child (temp 3-component vector of float) -0:243 'r059' (temp 3-component vector of float) -0:243 Sign (temp 3-component vector of float) -0:243 'inF0' (in 3-component vector of float) +0:243 move second child to first child ( temp 3-component vector of float) +0:243 'r059' ( temp 3-component vector of float) +0:243 Sign ( temp 3-component vector of float) +0:243 'inF0' ( in 3-component vector of float) 0:244 Sequence -0:244 move second child to first child (temp 3-component vector of float) -0:244 'r060' (temp 3-component vector of float) -0:244 sine (temp 3-component vector of float) -0:244 'inF0' (in 3-component vector of float) +0:244 move second child to first child ( temp 3-component vector of float) +0:244 'r060' ( temp 3-component vector of float) +0:244 sine ( temp 3-component vector of float) +0:244 'inF0' ( in 3-component vector of float) 0:245 Sequence -0:245 move second child to first child (temp 3-component vector of float) -0:245 'inF1' (in 3-component vector of float) -0:245 sine (temp 3-component vector of float) -0:245 'inF0' (in 3-component vector of float) -0:245 move second child to first child (temp 3-component vector of float) -0:245 'inF2' (in 3-component vector of float) -0:245 cosine (temp 3-component vector of float) -0:245 'inF0' (in 3-component vector of float) +0:245 move second child to first child ( temp 3-component vector of float) +0:245 'inF1' ( in 3-component vector of float) +0:245 sine ( temp 3-component vector of float) +0:245 'inF0' ( in 3-component vector of float) +0:245 move second child to first child ( temp 3-component vector of float) +0:245 'inF2' ( in 3-component vector of float) +0:245 cosine ( temp 3-component vector of float) +0:245 'inF0' ( in 3-component vector of float) 0:246 Sequence -0:246 move second child to first child (temp 3-component vector of float) -0:246 'r061' (temp 3-component vector of float) -0:246 hyp. sine (temp 3-component vector of float) -0:246 'inF0' (in 3-component vector of float) +0:246 move second child to first child ( temp 3-component vector of float) +0:246 'r061' ( temp 3-component vector of float) +0:246 hyp. sine ( temp 3-component vector of float) +0:246 'inF0' ( in 3-component vector of float) 0:247 Sequence -0:247 move second child to first child (temp 3-component vector of float) -0:247 'r062' (temp 3-component vector of float) -0:247 smoothstep (temp 3-component vector of float) -0:247 'inF0' (in 3-component vector of float) -0:247 'inF1' (in 3-component vector of float) -0:247 'inF2' (in 3-component vector of float) +0:247 move second child to first child ( temp 3-component vector of float) +0:247 'r062' ( temp 3-component vector of float) +0:247 smoothstep ( temp 3-component vector of float) +0:247 'inF0' ( in 3-component vector of float) +0:247 'inF1' ( in 3-component vector of float) +0:247 'inF2' ( in 3-component vector of float) 0:248 Sequence -0:248 move second child to first child (temp 3-component vector of float) -0:248 'r063' (temp 3-component vector of float) -0:248 sqrt (temp 3-component vector of float) -0:248 'inF0' (in 3-component vector of float) +0:248 move second child to first child ( temp 3-component vector of float) +0:248 'r063' ( temp 3-component vector of float) +0:248 sqrt ( temp 3-component vector of float) +0:248 'inF0' ( in 3-component vector of float) 0:249 Sequence -0:249 move second child to first child (temp 3-component vector of float) -0:249 'r064' (temp 3-component vector of float) -0:249 step (temp 3-component vector of float) -0:249 'inF0' (in 3-component vector of float) -0:249 'inF1' (in 3-component vector of float) +0:249 move second child to first child ( temp 3-component vector of float) +0:249 'r064' ( temp 3-component vector of float) +0:249 step ( temp 3-component vector of float) +0:249 'inF0' ( in 3-component vector of float) +0:249 'inF1' ( in 3-component vector of float) 0:250 Sequence -0:250 move second child to first child (temp 3-component vector of float) -0:250 'r065' (temp 3-component vector of float) -0:250 tangent (temp 3-component vector of float) -0:250 'inF0' (in 3-component vector of float) +0:250 move second child to first child ( temp 3-component vector of float) +0:250 'r065' ( temp 3-component vector of float) +0:250 tangent ( temp 3-component vector of float) +0:250 'inF0' ( in 3-component vector of float) 0:251 Sequence -0:251 move second child to first child (temp 3-component vector of float) -0:251 'r066' (temp 3-component vector of float) -0:251 hyp. tangent (temp 3-component vector of float) -0:251 'inF0' (in 3-component vector of float) +0:251 move second child to first child ( temp 3-component vector of float) +0:251 'r066' ( temp 3-component vector of float) +0:251 hyp. tangent ( temp 3-component vector of float) +0:251 'inF0' ( in 3-component vector of float) 0:253 Sequence -0:253 move second child to first child (temp 3-component vector of float) -0:253 'r067' (temp 3-component vector of float) -0:253 trunc (temp 3-component vector of float) -0:253 'inF0' (in 3-component vector of float) +0:253 move second child to first child ( temp 3-component vector of float) +0:253 'r067' ( temp 3-component vector of float) +0:253 trunc ( temp 3-component vector of float) +0:253 'inF0' ( in 3-component vector of float) 0:256 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:260 Function Parameters: -0:260 'inF0' (in 4-component vector of float) -0:260 'inF1' (in 4-component vector of float) -0:260 'inF2' (in 4-component vector of float) -0:260 'inU0' (in 4-component vector of uint) -0:260 'inU1' (in 4-component vector of uint) +0:260 'inF0' ( in 4-component vector of float) +0:260 'inF1' ( in 4-component vector of float) +0:260 'inF2' ( in 4-component vector of float) +0:260 'inU0' ( in 4-component vector of uint) +0:260 'inU1' ( in 4-component vector of uint) 0:? Sequence 0:263 Sequence -0:263 move second child to first child (temp bool) -0:263 'r000' (temp bool) -0:263 all (temp bool) -0:263 'inF0' (in 4-component vector of float) +0:263 move second child to first child ( temp bool) +0:263 'r000' ( temp bool) +0:263 all ( temp bool) +0:263 'inF0' ( in 4-component vector of float) 0:264 Sequence -0:264 move second child to first child (temp 4-component vector of float) -0:264 'r001' (temp 4-component vector of float) -0:264 Absolute value (temp 4-component vector of float) -0:264 'inF0' (in 4-component vector of float) +0:264 move second child to first child ( temp 4-component vector of float) +0:264 'r001' ( temp 4-component vector of float) +0:264 Absolute value ( temp 4-component vector of float) +0:264 'inF0' ( in 4-component vector of float) 0:265 Sequence -0:265 move second child to first child (temp 4-component vector of float) -0:265 'r002' (temp 4-component vector of float) -0:265 arc cosine (temp 4-component vector of float) -0:265 'inF0' (in 4-component vector of float) +0:265 move second child to first child ( temp 4-component vector of float) +0:265 'r002' ( temp 4-component vector of float) +0:265 arc cosine ( temp 4-component vector of float) +0:265 'inF0' ( in 4-component vector of float) 0:266 Sequence -0:266 move second child to first child (temp bool) -0:266 'r003' (temp bool) -0:266 any (temp bool) -0:266 'inF0' (in 4-component vector of float) +0:266 move second child to first child ( temp bool) +0:266 'r003' ( temp bool) +0:266 any ( temp bool) +0:266 'inF0' ( in 4-component vector of float) 0:267 Sequence -0:267 move second child to first child (temp 4-component vector of float) -0:267 'r004' (temp 4-component vector of float) -0:267 arc sine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'r004' ( temp 4-component vector of float) +0:267 arc sine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) 0:268 Sequence -0:268 move second child to first child (temp 4-component vector of int) -0:268 'r005' (temp 4-component vector of int) -0:268 floatBitsToInt (temp 4-component vector of int) -0:268 'inF0' (in 4-component vector of float) +0:268 move second child to first child ( temp 4-component vector of int) +0:268 'r005' ( temp 4-component vector of int) +0:268 floatBitsToInt ( temp 4-component vector of int) +0:268 'inF0' ( in 4-component vector of float) 0:269 Sequence -0:269 move second child to first child (temp 4-component vector of uint) -0:269 'r006' (temp 4-component vector of uint) -0:269 floatBitsToUint (temp 4-component vector of uint) -0:269 'inF0' (in 4-component vector of float) +0:269 move second child to first child ( temp 4-component vector of uint) +0:269 'r006' ( temp 4-component vector of uint) +0:269 floatBitsToUint ( temp 4-component vector of uint) +0:269 'inF0' ( in 4-component vector of float) 0:270 Sequence -0:270 move second child to first child (temp 4-component vector of float) -0:270 'r007' (temp 4-component vector of float) -0:270 intBitsToFloat (temp 4-component vector of float) -0:270 'inU0' (in 4-component vector of uint) +0:270 move second child to first child ( temp 4-component vector of float) +0:270 'r007' ( temp 4-component vector of float) +0:270 intBitsToFloat ( temp 4-component vector of float) +0:270 'inU0' ( in 4-component vector of uint) 0:272 Sequence -0:272 move second child to first child (temp 4-component vector of float) -0:272 'r009' (temp 4-component vector of float) -0:272 arc tangent (temp 4-component vector of float) -0:272 'inF0' (in 4-component vector of float) +0:272 move second child to first child ( temp 4-component vector of float) +0:272 'r009' ( temp 4-component vector of float) +0:272 arc tangent ( temp 4-component vector of float) +0:272 'inF0' ( in 4-component vector of float) 0:273 Sequence -0:273 move second child to first child (temp 4-component vector of float) -0:273 'r010' (temp 4-component vector of float) -0:273 arc tangent (temp 4-component vector of float) -0:273 'inF0' (in 4-component vector of float) -0:273 'inF1' (in 4-component vector of float) +0:273 move second child to first child ( temp 4-component vector of float) +0:273 'r010' ( temp 4-component vector of float) +0:273 arc tangent ( temp 4-component vector of float) +0:273 'inF0' ( in 4-component vector of float) +0:273 'inF1' ( in 4-component vector of float) 0:274 Sequence -0:274 move second child to first child (temp 4-component vector of float) -0:274 'r011' (temp 4-component vector of float) -0:274 Ceiling (temp 4-component vector of float) -0:274 'inF0' (in 4-component vector of float) +0:274 move second child to first child ( temp 4-component vector of float) +0:274 'r011' ( temp 4-component vector of float) +0:274 Ceiling ( temp 4-component vector of float) +0:274 'inF0' ( in 4-component vector of float) 0:275 Sequence -0:275 move second child to first child (temp 4-component vector of float) -0:275 'r012' (temp 4-component vector of float) -0:275 clamp (temp 4-component vector of float) -0:275 'inF0' (in 4-component vector of float) -0:275 'inF1' (in 4-component vector of float) -0:275 'inF2' (in 4-component vector of float) -0:276 Test condition and select (temp void) +0:275 move second child to first child ( temp 4-component vector of float) +0:275 'r012' ( temp 4-component vector of float) +0:275 clamp ( temp 4-component vector of float) +0:275 'inF0' ( in 4-component vector of float) +0:275 'inF1' ( in 4-component vector of float) +0:275 'inF2' ( in 4-component vector of float) +0:276 Test condition and select ( temp void) 0:276 Condition -0:276 any (temp bool) -0:276 Compare Less Than (temp 4-component vector of bool) -0:276 'inF0' (in 4-component vector of float) +0:276 any ( temp bool) +0:276 Compare Less Than ( temp 4-component vector of bool) +0:276 'inF0' ( in 4-component vector of float) 0:276 Constant: 0:276 0.000000 0:276 0.000000 @@ -1223,391 +1223,391 @@ gl_FragCoord origin is upper left 0:276 true case 0:276 Branch: Kill 0:277 Sequence -0:277 move second child to first child (temp 4-component vector of float) -0:277 'r013' (temp 4-component vector of float) -0:277 cosine (temp 4-component vector of float) -0:277 'inF0' (in 4-component vector of float) +0:277 move second child to first child ( temp 4-component vector of float) +0:277 'r013' ( temp 4-component vector of float) +0:277 cosine ( temp 4-component vector of float) +0:277 'inF0' ( in 4-component vector of float) 0:278 Sequence -0:278 move second child to first child (temp 4-component vector of float) -0:278 'r014' (temp 4-component vector of float) -0:278 hyp. cosine (temp 4-component vector of float) -0:278 'inF0' (in 4-component vector of float) +0:278 move second child to first child ( temp 4-component vector of float) +0:278 'r014' ( temp 4-component vector of float) +0:278 hyp. cosine ( temp 4-component vector of float) +0:278 'inF0' ( in 4-component vector of float) 0:279 Sequence -0:279 move second child to first child (temp 4-component vector of uint) -0:279 'r015' (temp 4-component vector of uint) -0:? bitCount (temp 4-component vector of uint) +0:279 move second child to first child ( temp 4-component vector of uint) +0:279 'r015' ( temp 4-component vector of uint) +0:? bitCount ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:? 2 (const uint) 0:280 Sequence -0:280 move second child to first child (temp 4-component vector of float) -0:280 'r016' (temp 4-component vector of float) -0:280 dPdx (temp 4-component vector of float) -0:280 'inF0' (in 4-component vector of float) +0:280 move second child to first child ( temp 4-component vector of float) +0:280 'r016' ( temp 4-component vector of float) +0:280 dPdx ( temp 4-component vector of float) +0:280 'inF0' ( in 4-component vector of float) 0:281 Sequence -0:281 move second child to first child (temp 4-component vector of float) -0:281 'r017' (temp 4-component vector of float) -0:281 dPdxCoarse (temp 4-component vector of float) -0:281 'inF0' (in 4-component vector of float) +0:281 move second child to first child ( temp 4-component vector of float) +0:281 'r017' ( temp 4-component vector of float) +0:281 dPdxCoarse ( temp 4-component vector of float) +0:281 'inF0' ( in 4-component vector of float) 0:282 Sequence -0:282 move second child to first child (temp 4-component vector of float) -0:282 'r018' (temp 4-component vector of float) -0:282 dPdxFine (temp 4-component vector of float) -0:282 'inF0' (in 4-component vector of float) +0:282 move second child to first child ( temp 4-component vector of float) +0:282 'r018' ( temp 4-component vector of float) +0:282 dPdxFine ( temp 4-component vector of float) +0:282 'inF0' ( in 4-component vector of float) 0:283 Sequence -0:283 move second child to first child (temp 4-component vector of float) -0:283 'r019' (temp 4-component vector of float) -0:283 dPdy (temp 4-component vector of float) -0:283 'inF0' (in 4-component vector of float) +0:283 move second child to first child ( temp 4-component vector of float) +0:283 'r019' ( temp 4-component vector of float) +0:283 dPdy ( temp 4-component vector of float) +0:283 'inF0' ( in 4-component vector of float) 0:284 Sequence -0:284 move second child to first child (temp 4-component vector of float) -0:284 'r020' (temp 4-component vector of float) -0:284 dPdyCoarse (temp 4-component vector of float) -0:284 'inF0' (in 4-component vector of float) +0:284 move second child to first child ( temp 4-component vector of float) +0:284 'r020' ( temp 4-component vector of float) +0:284 dPdyCoarse ( temp 4-component vector of float) +0:284 'inF0' ( in 4-component vector of float) 0:285 Sequence -0:285 move second child to first child (temp 4-component vector of float) -0:285 'r021' (temp 4-component vector of float) -0:285 dPdyFine (temp 4-component vector of float) -0:285 'inF0' (in 4-component vector of float) +0:285 move second child to first child ( temp 4-component vector of float) +0:285 'r021' ( temp 4-component vector of float) +0:285 dPdyFine ( temp 4-component vector of float) +0:285 'inF0' ( in 4-component vector of float) 0:286 Sequence -0:286 move second child to first child (temp 4-component vector of float) -0:286 'r022' (temp 4-component vector of float) -0:286 degrees (temp 4-component vector of float) -0:286 'inF0' (in 4-component vector of float) +0:286 move second child to first child ( temp 4-component vector of float) +0:286 'r022' ( temp 4-component vector of float) +0:286 degrees ( temp 4-component vector of float) +0:286 'inF0' ( in 4-component vector of float) 0:287 Sequence -0:287 move second child to first child (temp float) -0:287 'r023' (temp float) -0:287 distance (temp float) -0:287 'inF0' (in 4-component vector of float) -0:287 'inF1' (in 4-component vector of float) +0:287 move second child to first child ( temp float) +0:287 'r023' ( temp float) +0:287 distance ( temp float) +0:287 'inF0' ( in 4-component vector of float) +0:287 'inF1' ( in 4-component vector of float) 0:288 Sequence -0:288 move second child to first child (temp float) -0:288 'r024' (temp float) -0:288 dot-product (temp float) -0:288 'inF0' (in 4-component vector of float) -0:288 'inF1' (in 4-component vector of float) +0:288 move second child to first child ( temp float) +0:288 'r024' ( temp float) +0:288 dot-product ( temp float) +0:288 'inF0' ( in 4-component vector of float) +0:288 'inF1' ( in 4-component vector of float) 0:289 Sequence -0:289 move second child to first child (temp 4-component vector of float) -0:289 'r025' (temp 4-component vector of float) -0:289 Construct vec4 (temp 4-component vector of float) +0:289 move second child to first child ( temp 4-component vector of float) +0:289 'r025' ( temp 4-component vector of float) +0:289 Construct vec4 ( temp 4-component vector of float) 0:289 Constant: 0:289 1.000000 -0:289 component-wise multiply (temp float) -0:289 direct index (temp float) -0:289 'inF0' (in 4-component vector of float) +0:289 component-wise multiply ( temp float) +0:289 direct index ( temp float) +0:289 'inF0' ( in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) -0:289 direct index (temp float) -0:289 'inF1' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF1' ( in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) -0:289 direct index (temp float) -0:289 'inF0' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF0' ( in 4-component vector of float) 0:289 Constant: 0:289 2 (const int) -0:289 direct index (temp float) -0:289 'inF1' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF1' ( in 4-component vector of float) 0:289 Constant: 0:289 3 (const int) 0:293 Sequence -0:293 move second child to first child (temp 4-component vector of float) -0:293 'r029' (temp 4-component vector of float) -0:293 exp (temp 4-component vector of float) -0:293 'inF0' (in 4-component vector of float) +0:293 move second child to first child ( temp 4-component vector of float) +0:293 'r029' ( temp 4-component vector of float) +0:293 exp ( temp 4-component vector of float) +0:293 'inF0' ( in 4-component vector of float) 0:294 Sequence -0:294 move second child to first child (temp 4-component vector of float) -0:294 'r030' (temp 4-component vector of float) -0:294 exp2 (temp 4-component vector of float) -0:294 'inF0' (in 4-component vector of float) +0:294 move second child to first child ( temp 4-component vector of float) +0:294 'r030' ( temp 4-component vector of float) +0:294 exp2 ( temp 4-component vector of float) +0:294 'inF0' ( in 4-component vector of float) 0:295 Sequence -0:295 move second child to first child (temp 4-component vector of float) -0:295 'r031' (temp 4-component vector of float) -0:295 face-forward (temp 4-component vector of float) -0:295 'inF0' (in 4-component vector of float) -0:295 'inF1' (in 4-component vector of float) -0:295 'inF2' (in 4-component vector of float) +0:295 move second child to first child ( temp 4-component vector of float) +0:295 'r031' ( temp 4-component vector of float) +0:295 face-forward ( temp 4-component vector of float) +0:295 'inF0' ( in 4-component vector of float) +0:295 'inF1' ( in 4-component vector of float) +0:295 'inF2' ( in 4-component vector of float) 0:296 Sequence -0:296 move second child to first child (temp 4-component vector of uint) -0:296 'r032' (temp 4-component vector of uint) -0:? findMSB (temp 4-component vector of uint) +0:296 move second child to first child ( temp 4-component vector of uint) +0:296 'r032' ( temp 4-component vector of uint) +0:? findMSB ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:? 9 (const uint) 0:? 10 (const uint) 0:297 Sequence -0:297 move second child to first child (temp 4-component vector of uint) -0:297 'r033' (temp 4-component vector of uint) -0:? findLSB (temp 4-component vector of uint) +0:297 move second child to first child ( temp 4-component vector of uint) +0:297 'r033' ( temp 4-component vector of uint) +0:? findLSB ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:? 9 (const uint) 0:? 10 (const uint) 0:298 Sequence -0:298 move second child to first child (temp 4-component vector of float) -0:298 'r034' (temp 4-component vector of float) -0:298 Floor (temp 4-component vector of float) -0:298 'inF0' (in 4-component vector of float) +0:298 move second child to first child ( temp 4-component vector of float) +0:298 'r034' ( temp 4-component vector of float) +0:298 Floor ( temp 4-component vector of float) +0:298 'inF0' ( in 4-component vector of float) 0:300 Sequence -0:300 move second child to first child (temp 4-component vector of float) -0:300 'r036' (temp 4-component vector of float) -0:300 mod (temp 4-component vector of float) -0:300 'inF0' (in 4-component vector of float) -0:300 'inF1' (in 4-component vector of float) +0:300 move second child to first child ( temp 4-component vector of float) +0:300 'r036' ( temp 4-component vector of float) +0:300 mod ( temp 4-component vector of float) +0:300 'inF0' ( in 4-component vector of float) +0:300 'inF1' ( in 4-component vector of float) 0:301 Sequence -0:301 move second child to first child (temp 4-component vector of float) -0:301 'r037' (temp 4-component vector of float) -0:301 Fraction (temp 4-component vector of float) -0:301 'inF0' (in 4-component vector of float) +0:301 move second child to first child ( temp 4-component vector of float) +0:301 'r037' ( temp 4-component vector of float) +0:301 Fraction ( temp 4-component vector of float) +0:301 'inF0' ( in 4-component vector of float) 0:302 Sequence -0:302 move second child to first child (temp 4-component vector of float) -0:302 'r038' (temp 4-component vector of float) -0:302 frexp (temp 4-component vector of float) -0:302 'inF0' (in 4-component vector of float) -0:302 'inF1' (in 4-component vector of float) +0:302 move second child to first child ( temp 4-component vector of float) +0:302 'r038' ( temp 4-component vector of float) +0:302 frexp ( temp 4-component vector of float) +0:302 'inF0' ( in 4-component vector of float) +0:302 'inF1' ( in 4-component vector of float) 0:303 Sequence -0:303 move second child to first child (temp 4-component vector of float) -0:303 'r039' (temp 4-component vector of float) -0:303 fwidth (temp 4-component vector of float) -0:303 'inF0' (in 4-component vector of float) +0:303 move second child to first child ( temp 4-component vector of float) +0:303 'r039' ( temp 4-component vector of float) +0:303 fwidth ( temp 4-component vector of float) +0:303 'inF0' ( in 4-component vector of float) 0:304 Sequence -0:304 move second child to first child (temp 4-component vector of bool) -0:304 'r040' (temp 4-component vector of bool) -0:304 isinf (temp 4-component vector of bool) -0:304 'inF0' (in 4-component vector of float) +0:304 move second child to first child ( temp 4-component vector of bool) +0:304 'r040' ( temp 4-component vector of bool) +0:304 isinf ( temp 4-component vector of bool) +0:304 'inF0' ( in 4-component vector of float) 0:305 Sequence -0:305 move second child to first child (temp 4-component vector of bool) -0:305 'r041' (temp 4-component vector of bool) -0:305 isnan (temp 4-component vector of bool) -0:305 'inF0' (in 4-component vector of float) +0:305 move second child to first child ( temp 4-component vector of bool) +0:305 'r041' ( temp 4-component vector of bool) +0:305 isnan ( temp 4-component vector of bool) +0:305 'inF0' ( in 4-component vector of float) 0:306 Sequence -0:306 move second child to first child (temp 4-component vector of float) -0:306 'r042' (temp 4-component vector of float) -0:306 ldexp (temp 4-component vector of float) -0:306 'inF0' (in 4-component vector of float) -0:306 'inF1' (in 4-component vector of float) +0:306 move second child to first child ( temp 4-component vector of float) +0:306 'r042' ( temp 4-component vector of float) +0:306 ldexp ( temp 4-component vector of float) +0:306 'inF0' ( in 4-component vector of float) +0:306 'inF1' ( in 4-component vector of float) 0:307 Sequence -0:307 move second child to first child (temp 4-component vector of float) -0:307 'r039a' (temp 4-component vector of float) -0:307 mix (temp 4-component vector of float) -0:307 'inF0' (in 4-component vector of float) -0:307 'inF1' (in 4-component vector of float) -0:307 'inF2' (in 4-component vector of float) +0:307 move second child to first child ( temp 4-component vector of float) +0:307 'r039a' ( temp 4-component vector of float) +0:307 mix ( temp 4-component vector of float) +0:307 'inF0' ( in 4-component vector of float) +0:307 'inF1' ( in 4-component vector of float) +0:307 'inF2' ( in 4-component vector of float) 0:308 Sequence -0:308 move second child to first child (temp float) -0:308 'r043' (temp float) -0:308 length (temp float) -0:308 'inF0' (in 4-component vector of float) +0:308 move second child to first child ( temp float) +0:308 'r043' ( temp float) +0:308 length ( temp float) +0:308 'inF0' ( in 4-component vector of float) 0:309 Sequence -0:309 move second child to first child (temp 4-component vector of float) -0:309 'r044' (temp 4-component vector of float) -0:309 log (temp 4-component vector of float) -0:309 'inF0' (in 4-component vector of float) +0:309 move second child to first child ( temp 4-component vector of float) +0:309 'r044' ( temp 4-component vector of float) +0:309 log ( temp 4-component vector of float) +0:309 'inF0' ( in 4-component vector of float) 0:310 Sequence -0:310 move second child to first child (temp 4-component vector of float) -0:310 'r045' (temp 4-component vector of float) -0:310 vector-scale (temp 4-component vector of float) -0:310 log2 (temp 4-component vector of float) -0:310 'inF0' (in 4-component vector of float) +0:310 move second child to first child ( temp 4-component vector of float) +0:310 'r045' ( temp 4-component vector of float) +0:310 vector-scale ( temp 4-component vector of float) +0:310 log2 ( temp 4-component vector of float) +0:310 'inF0' ( in 4-component vector of float) 0:310 Constant: 0:310 0.301030 0:311 Sequence -0:311 move second child to first child (temp 4-component vector of float) -0:311 'r046' (temp 4-component vector of float) -0:311 log2 (temp 4-component vector of float) -0:311 'inF0' (in 4-component vector of float) +0:311 move second child to first child ( temp 4-component vector of float) +0:311 'r046' ( temp 4-component vector of float) +0:311 log2 ( temp 4-component vector of float) +0:311 'inF0' ( in 4-component vector of float) 0:312 Sequence -0:312 move second child to first child (temp 4-component vector of float) -0:312 'r047' (temp 4-component vector of float) -0:312 max (temp 4-component vector of float) -0:312 'inF0' (in 4-component vector of float) -0:312 'inF1' (in 4-component vector of float) +0:312 move second child to first child ( temp 4-component vector of float) +0:312 'r047' ( temp 4-component vector of float) +0:312 max ( temp 4-component vector of float) +0:312 'inF0' ( in 4-component vector of float) +0:312 'inF1' ( in 4-component vector of float) 0:313 Sequence -0:313 move second child to first child (temp 4-component vector of float) -0:313 'r048' (temp 4-component vector of float) -0:313 min (temp 4-component vector of float) -0:313 'inF0' (in 4-component vector of float) -0:313 'inF1' (in 4-component vector of float) +0:313 move second child to first child ( temp 4-component vector of float) +0:313 'r048' ( temp 4-component vector of float) +0:313 min ( temp 4-component vector of float) +0:313 'inF0' ( in 4-component vector of float) +0:313 'inF1' ( in 4-component vector of float) 0:314 Sequence -0:314 move second child to first child (temp 4-component vector of float) -0:314 'r049' (temp 4-component vector of float) -0:314 normalize (temp 4-component vector of float) -0:314 'inF0' (in 4-component vector of float) +0:314 move second child to first child ( temp 4-component vector of float) +0:314 'r049' ( temp 4-component vector of float) +0:314 normalize ( temp 4-component vector of float) +0:314 'inF0' ( in 4-component vector of float) 0:315 Sequence -0:315 move second child to first child (temp 4-component vector of float) -0:315 'r050' (temp 4-component vector of float) -0:315 pow (temp 4-component vector of float) -0:315 'inF0' (in 4-component vector of float) -0:315 'inF1' (in 4-component vector of float) +0:315 move second child to first child ( temp 4-component vector of float) +0:315 'r050' ( temp 4-component vector of float) +0:315 pow ( temp 4-component vector of float) +0:315 'inF0' ( in 4-component vector of float) +0:315 'inF1' ( in 4-component vector of float) 0:316 Sequence -0:316 move second child to first child (temp 4-component vector of float) -0:316 'r051' (temp 4-component vector of float) -0:316 radians (temp 4-component vector of float) -0:316 'inF0' (in 4-component vector of float) +0:316 move second child to first child ( temp 4-component vector of float) +0:316 'r051' ( temp 4-component vector of float) +0:316 radians ( temp 4-component vector of float) +0:316 'inF0' ( in 4-component vector of float) 0:317 Sequence -0:317 move second child to first child (temp 4-component vector of float) -0:317 'r052' (temp 4-component vector of float) -0:317 divide (temp 4-component vector of float) +0:317 move second child to first child ( temp 4-component vector of float) +0:317 'r052' ( temp 4-component vector of float) +0:317 divide ( temp 4-component vector of float) 0:317 Constant: 0:317 1.000000 -0:317 'inF0' (in 4-component vector of float) +0:317 'inF0' ( in 4-component vector of float) 0:318 Sequence -0:318 move second child to first child (temp 4-component vector of float) -0:318 'r053' (temp 4-component vector of float) -0:318 reflect (temp 4-component vector of float) -0:318 'inF0' (in 4-component vector of float) -0:318 'inF1' (in 4-component vector of float) +0:318 move second child to first child ( temp 4-component vector of float) +0:318 'r053' ( temp 4-component vector of float) +0:318 reflect ( temp 4-component vector of float) +0:318 'inF0' ( in 4-component vector of float) +0:318 'inF1' ( in 4-component vector of float) 0:319 Sequence -0:319 move second child to first child (temp 4-component vector of float) -0:319 'r054' (temp 4-component vector of float) -0:319 refract (temp 4-component vector of float) -0:319 'inF0' (in 4-component vector of float) -0:319 'inF1' (in 4-component vector of float) +0:319 move second child to first child ( temp 4-component vector of float) +0:319 'r054' ( temp 4-component vector of float) +0:319 refract ( temp 4-component vector of float) +0:319 'inF0' ( in 4-component vector of float) +0:319 'inF1' ( in 4-component vector of float) 0:319 Constant: 0:319 2.000000 0:320 Sequence -0:320 move second child to first child (temp 4-component vector of uint) -0:320 'r055' (temp 4-component vector of uint) -0:? bitFieldReverse (temp 4-component vector of uint) +0:320 move second child to first child ( temp 4-component vector of uint) +0:320 'r055' ( temp 4-component vector of uint) +0:? bitFieldReverse ( temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:321 Sequence -0:321 move second child to first child (temp 4-component vector of float) -0:321 'r056' (temp 4-component vector of float) -0:321 roundEven (temp 4-component vector of float) -0:321 'inF0' (in 4-component vector of float) +0:321 move second child to first child ( temp 4-component vector of float) +0:321 'r056' ( temp 4-component vector of float) +0:321 roundEven ( temp 4-component vector of float) +0:321 'inF0' ( in 4-component vector of float) 0:322 Sequence -0:322 move second child to first child (temp 4-component vector of float) -0:322 'r057' (temp 4-component vector of float) -0:322 inverse sqrt (temp 4-component vector of float) -0:322 'inF0' (in 4-component vector of float) +0:322 move second child to first child ( temp 4-component vector of float) +0:322 'r057' ( temp 4-component vector of float) +0:322 inverse sqrt ( temp 4-component vector of float) +0:322 'inF0' ( in 4-component vector of float) 0:323 Sequence -0:323 move second child to first child (temp 4-component vector of float) -0:323 'r058' (temp 4-component vector of float) -0:323 clamp (temp 4-component vector of float) -0:323 'inF0' (in 4-component vector of float) +0:323 move second child to first child ( temp 4-component vector of float) +0:323 'r058' ( temp 4-component vector of float) +0:323 clamp ( temp 4-component vector of float) +0:323 'inF0' ( in 4-component vector of float) 0:323 Constant: 0:323 0.000000 0:323 Constant: 0:323 1.000000 0:324 Sequence -0:324 move second child to first child (temp 4-component vector of float) -0:324 'r059' (temp 4-component vector of float) -0:324 Sign (temp 4-component vector of float) -0:324 'inF0' (in 4-component vector of float) +0:324 move second child to first child ( temp 4-component vector of float) +0:324 'r059' ( temp 4-component vector of float) +0:324 Sign ( temp 4-component vector of float) +0:324 'inF0' ( in 4-component vector of float) 0:325 Sequence -0:325 move second child to first child (temp 4-component vector of float) -0:325 'r060' (temp 4-component vector of float) -0:325 sine (temp 4-component vector of float) -0:325 'inF0' (in 4-component vector of float) +0:325 move second child to first child ( temp 4-component vector of float) +0:325 'r060' ( temp 4-component vector of float) +0:325 sine ( temp 4-component vector of float) +0:325 'inF0' ( in 4-component vector of float) 0:326 Sequence -0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF1' (in 4-component vector of float) -0:326 sine (temp 4-component vector of float) -0:326 'inF0' (in 4-component vector of float) -0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF2' (in 4-component vector of float) -0:326 cosine (temp 4-component vector of float) -0:326 'inF0' (in 4-component vector of float) +0:326 move second child to first child ( temp 4-component vector of float) +0:326 'inF1' ( in 4-component vector of float) +0:326 sine ( temp 4-component vector of float) +0:326 'inF0' ( in 4-component vector of float) +0:326 move second child to first child ( temp 4-component vector of float) +0:326 'inF2' ( in 4-component vector of float) +0:326 cosine ( temp 4-component vector of float) +0:326 'inF0' ( in 4-component vector of float) 0:327 Sequence -0:327 move second child to first child (temp 4-component vector of float) -0:327 'r061' (temp 4-component vector of float) -0:327 hyp. sine (temp 4-component vector of float) -0:327 'inF0' (in 4-component vector of float) +0:327 move second child to first child ( temp 4-component vector of float) +0:327 'r061' ( temp 4-component vector of float) +0:327 hyp. sine ( temp 4-component vector of float) +0:327 'inF0' ( in 4-component vector of float) 0:328 Sequence -0:328 move second child to first child (temp 4-component vector of float) -0:328 'r062' (temp 4-component vector of float) -0:328 smoothstep (temp 4-component vector of float) -0:328 'inF0' (in 4-component vector of float) -0:328 'inF1' (in 4-component vector of float) -0:328 'inF2' (in 4-component vector of float) +0:328 move second child to first child ( temp 4-component vector of float) +0:328 'r062' ( temp 4-component vector of float) +0:328 smoothstep ( temp 4-component vector of float) +0:328 'inF0' ( in 4-component vector of float) +0:328 'inF1' ( in 4-component vector of float) +0:328 'inF2' ( in 4-component vector of float) 0:329 Sequence -0:329 move second child to first child (temp 4-component vector of float) -0:329 'r063' (temp 4-component vector of float) -0:329 sqrt (temp 4-component vector of float) -0:329 'inF0' (in 4-component vector of float) +0:329 move second child to first child ( temp 4-component vector of float) +0:329 'r063' ( temp 4-component vector of float) +0:329 sqrt ( temp 4-component vector of float) +0:329 'inF0' ( in 4-component vector of float) 0:330 Sequence -0:330 move second child to first child (temp 4-component vector of float) -0:330 'r064' (temp 4-component vector of float) -0:330 step (temp 4-component vector of float) -0:330 'inF0' (in 4-component vector of float) -0:330 'inF1' (in 4-component vector of float) +0:330 move second child to first child ( temp 4-component vector of float) +0:330 'r064' ( temp 4-component vector of float) +0:330 step ( temp 4-component vector of float) +0:330 'inF0' ( in 4-component vector of float) +0:330 'inF1' ( in 4-component vector of float) 0:331 Sequence -0:331 move second child to first child (temp 4-component vector of float) -0:331 'r065' (temp 4-component vector of float) -0:331 tangent (temp 4-component vector of float) -0:331 'inF0' (in 4-component vector of float) +0:331 move second child to first child ( temp 4-component vector of float) +0:331 'r065' ( temp 4-component vector of float) +0:331 tangent ( temp 4-component vector of float) +0:331 'inF0' ( in 4-component vector of float) 0:332 Sequence -0:332 move second child to first child (temp 4-component vector of float) -0:332 'r066' (temp 4-component vector of float) -0:332 hyp. tangent (temp 4-component vector of float) -0:332 'inF0' (in 4-component vector of float) +0:332 move second child to first child ( temp 4-component vector of float) +0:332 'r066' ( temp 4-component vector of float) +0:332 hyp. tangent ( temp 4-component vector of float) +0:332 'inF0' ( in 4-component vector of float) 0:334 Sequence -0:334 move second child to first child (temp 4-component vector of float) -0:334 'r067' (temp 4-component vector of float) -0:334 trunc (temp 4-component vector of float) -0:334 'inF0' (in 4-component vector of float) +0:334 move second child to first child ( temp 4-component vector of float) +0:334 'r067' ( temp 4-component vector of float) +0:334 trunc ( temp 4-component vector of float) +0:334 'inF0' ( in 4-component vector of float) 0:337 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:401 Function Parameters: -0:401 'inF0' (in 2X2 matrix of float) -0:401 'inF1' (in 2X2 matrix of float) -0:401 'inF2' (in 2X2 matrix of float) +0:401 'inF0' ( in 2X2 matrix of float) +0:401 'inF1' ( in 2X2 matrix of float) +0:401 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:403 Sequence -0:403 move second child to first child (temp bool) -0:403 'r000' (temp bool) -0:403 all (temp bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp bool) +0:403 'r000' ( temp bool) +0:403 all ( temp bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r001' (temp 2X2 matrix of float) -0:403 Absolute value (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 arc cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r001' ( temp 2X2 matrix of float) +0:403 Absolute value ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 arc cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp bool) -0:403 'r003' (temp bool) -0:403 any (temp bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp bool) +0:403 'r003' ( temp bool) +0:403 any ( temp bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r004' (temp 2X2 matrix of float) -0:403 arc sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r004' ( temp 2X2 matrix of float) +0:403 arc sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r005' (temp 2X2 matrix of float) -0:403 arc tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r005' ( temp 2X2 matrix of float) +0:403 arc tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r006' (temp 2X2 matrix of float) -0:403 arc tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r006' ( temp 2X2 matrix of float) +0:403 arc tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r007' (temp 2X2 matrix of float) -0:403 Ceiling (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 Test condition and select (temp void) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r007' ( temp 2X2 matrix of float) +0:403 Ceiling ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 Test condition and select ( temp void) 0:403 Condition -0:403 any (temp bool) -0:403 Compare Less Than (temp 2X2 matrix of bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 any ( temp bool) +0:403 Compare Less Than ( temp 2X2 matrix of bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.000000 0:403 0.000000 @@ -1616,286 +1616,286 @@ gl_FragCoord origin is upper left 0:403 true case 0:403 Branch: Kill 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r008' (temp 2X2 matrix of float) -0:403 clamp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r008' ( temp 2X2 matrix of float) +0:403 clamp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r009' (temp 2X2 matrix of float) -0:403 cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r009' ( temp 2X2 matrix of float) +0:403 cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r010' (temp 2X2 matrix of float) -0:403 hyp. cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r010' ( temp 2X2 matrix of float) +0:403 hyp. cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r011' (temp 2X2 matrix of float) -0:403 dPdx (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r011' ( temp 2X2 matrix of float) +0:403 dPdx ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r012' (temp 2X2 matrix of float) -0:403 dPdxCoarse (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r012' ( temp 2X2 matrix of float) +0:403 dPdxCoarse ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r013' (temp 2X2 matrix of float) -0:403 dPdxFine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r013' ( temp 2X2 matrix of float) +0:403 dPdxFine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r014' (temp 2X2 matrix of float) -0:403 dPdy (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r014' ( temp 2X2 matrix of float) +0:403 dPdy ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r015' (temp 2X2 matrix of float) -0:403 dPdyCoarse (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r015' ( temp 2X2 matrix of float) +0:403 dPdyCoarse ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r016' (temp 2X2 matrix of float) -0:403 dPdyFine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r016' ( temp 2X2 matrix of float) +0:403 dPdyFine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r017' (temp 2X2 matrix of float) -0:403 degrees (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r017' ( temp 2X2 matrix of float) +0:403 degrees ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp float) -0:403 'r018' (temp float) -0:403 determinant (temp float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp float) +0:403 'r018' ( temp float) +0:403 determinant ( temp float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r019' (temp 2X2 matrix of float) -0:403 exp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r019' ( temp 2X2 matrix of float) +0:403 exp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'R020' (temp 2X2 matrix of float) -0:403 exp2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'R020' ( temp 2X2 matrix of float) +0:403 exp2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r021' (temp 2X2 matrix of float) -0:403 Floor (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r021' ( temp 2X2 matrix of float) +0:403 Floor ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r022' (temp 2X2 matrix of float) -0:403 mod (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r022' ( temp 2X2 matrix of float) +0:403 mod ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r023' (temp 2X2 matrix of float) -0:403 Fraction (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r023' ( temp 2X2 matrix of float) +0:403 Fraction ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r024' (temp 2X2 matrix of float) -0:403 frexp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r024' ( temp 2X2 matrix of float) +0:403 frexp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r025' (temp 2X2 matrix of float) -0:403 fwidth (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r025' ( temp 2X2 matrix of float) +0:403 fwidth ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r026' (temp 2X2 matrix of float) -0:403 ldexp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r026' ( temp 2X2 matrix of float) +0:403 ldexp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r026a' (temp 2X2 matrix of float) -0:403 mix (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r026a' ( temp 2X2 matrix of float) +0:403 mix ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r027' (temp 2X2 matrix of float) -0:403 log (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r027' ( temp 2X2 matrix of float) +0:403 log ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r028' (temp 2X2 matrix of float) -0:403 matrix-scale (temp 2X2 matrix of float) -0:403 log2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r028' ( temp 2X2 matrix of float) +0:403 matrix-scale ( temp 2X2 matrix of float) +0:403 log2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.301030 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r029' (temp 2X2 matrix of float) -0:403 log2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r029' ( temp 2X2 matrix of float) +0:403 log2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r030' (temp 2X2 matrix of float) -0:403 max (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r030' ( temp 2X2 matrix of float) +0:403 max ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r031' (temp 2X2 matrix of float) -0:403 min (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r031' ( temp 2X2 matrix of float) +0:403 min ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r032' (temp 2X2 matrix of float) -0:403 pow (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r032' ( temp 2X2 matrix of float) +0:403 pow ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r033' (temp 2X2 matrix of float) -0:403 radians (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r033' ( temp 2X2 matrix of float) +0:403 radians ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r034' (temp 2X2 matrix of float) -0:403 roundEven (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r034' ( temp 2X2 matrix of float) +0:403 roundEven ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r035' (temp 2X2 matrix of float) -0:403 inverse sqrt (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r035' ( temp 2X2 matrix of float) +0:403 inverse sqrt ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r036' (temp 2X2 matrix of float) -0:403 clamp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r036' ( temp 2X2 matrix of float) +0:403 clamp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.000000 0:403 Constant: 0:403 1.000000 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r037' (temp 2X2 matrix of float) -0:403 Sign (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r037' ( temp 2X2 matrix of float) +0:403 Sign ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r038' (temp 2X2 matrix of float) -0:403 sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r038' ( temp 2X2 matrix of float) +0:403 sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) -0:403 cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) +0:403 cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r039' (temp 2X2 matrix of float) -0:403 hyp. sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r039' ( temp 2X2 matrix of float) +0:403 hyp. sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r049' (temp 2X2 matrix of float) -0:403 smoothstep (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r049' ( temp 2X2 matrix of float) +0:403 smoothstep ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r041' (temp 2X2 matrix of float) -0:403 sqrt (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r041' ( temp 2X2 matrix of float) +0:403 sqrt ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r042' (temp 2X2 matrix of float) -0:403 step (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r042' ( temp 2X2 matrix of float) +0:403 step ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r043' (temp 2X2 matrix of float) -0:403 tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r043' ( temp 2X2 matrix of float) +0:403 tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r044' (temp 2X2 matrix of float) -0:403 hyp. tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 transpose (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r044' ( temp 2X2 matrix of float) +0:403 hyp. tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 transpose ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r046' (temp 2X2 matrix of float) -0:403 trunc (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r046' ( temp 2X2 matrix of float) +0:403 trunc ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:406 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:410 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:410 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:410 Function Parameters: -0:410 'inF0' (in 3X3 matrix of float) -0:410 'inF1' (in 3X3 matrix of float) -0:410 'inF2' (in 3X3 matrix of float) +0:410 'inF0' ( in 3X3 matrix of float) +0:410 'inF1' ( in 3X3 matrix of float) +0:410 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:412 Sequence -0:412 move second child to first child (temp bool) -0:412 'r000' (temp bool) -0:412 all (temp bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp bool) +0:412 'r000' ( temp bool) +0:412 all ( temp bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r001' (temp 3X3 matrix of float) -0:412 Absolute value (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 arc cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r001' ( temp 3X3 matrix of float) +0:412 Absolute value ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 arc cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp bool) -0:412 'r003' (temp bool) -0:412 any (temp bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp bool) +0:412 'r003' ( temp bool) +0:412 any ( temp bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r004' (temp 3X3 matrix of float) -0:412 arc sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r004' ( temp 3X3 matrix of float) +0:412 arc sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r005' (temp 3X3 matrix of float) -0:412 arc tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r005' ( temp 3X3 matrix of float) +0:412 arc tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r006' (temp 3X3 matrix of float) -0:412 arc tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r006' ( temp 3X3 matrix of float) +0:412 arc tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r007' (temp 3X3 matrix of float) -0:412 Ceiling (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 Test condition and select (temp void) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r007' ( temp 3X3 matrix of float) +0:412 Ceiling ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 Test condition and select ( temp void) 0:412 Condition -0:412 any (temp bool) -0:412 Compare Less Than (temp 3X3 matrix of bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 any ( temp bool) +0:412 Compare Less Than ( temp 3X3 matrix of bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.000000 0:412 0.000000 @@ -1909,231 +1909,231 @@ gl_FragCoord origin is upper left 0:412 true case 0:412 Branch: Kill 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r008' (temp 3X3 matrix of float) -0:412 clamp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r008' ( temp 3X3 matrix of float) +0:412 clamp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r009' (temp 3X3 matrix of float) -0:412 cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r009' ( temp 3X3 matrix of float) +0:412 cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r010' (temp 3X3 matrix of float) -0:412 hyp. cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r010' ( temp 3X3 matrix of float) +0:412 hyp. cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r011' (temp 3X3 matrix of float) -0:412 dPdx (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r011' ( temp 3X3 matrix of float) +0:412 dPdx ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r012' (temp 3X3 matrix of float) -0:412 dPdxCoarse (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r012' ( temp 3X3 matrix of float) +0:412 dPdxCoarse ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r013' (temp 3X3 matrix of float) -0:412 dPdxFine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r013' ( temp 3X3 matrix of float) +0:412 dPdxFine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r014' (temp 3X3 matrix of float) -0:412 dPdy (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r014' ( temp 3X3 matrix of float) +0:412 dPdy ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r015' (temp 3X3 matrix of float) -0:412 dPdyCoarse (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r015' ( temp 3X3 matrix of float) +0:412 dPdyCoarse ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r016' (temp 3X3 matrix of float) -0:412 dPdyFine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r016' ( temp 3X3 matrix of float) +0:412 dPdyFine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r017' (temp 3X3 matrix of float) -0:412 degrees (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r017' ( temp 3X3 matrix of float) +0:412 degrees ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp float) -0:412 'r018' (temp float) -0:412 determinant (temp float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp float) +0:412 'r018' ( temp float) +0:412 determinant ( temp float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r019' (temp 3X3 matrix of float) -0:412 exp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r019' ( temp 3X3 matrix of float) +0:412 exp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'R020' (temp 3X3 matrix of float) -0:412 exp2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'R020' ( temp 3X3 matrix of float) +0:412 exp2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r021' (temp 3X3 matrix of float) -0:412 Floor (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r021' ( temp 3X3 matrix of float) +0:412 Floor ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r022' (temp 3X3 matrix of float) -0:412 mod (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r022' ( temp 3X3 matrix of float) +0:412 mod ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r023' (temp 3X3 matrix of float) -0:412 Fraction (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r023' ( temp 3X3 matrix of float) +0:412 Fraction ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r024' (temp 3X3 matrix of float) -0:412 frexp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r024' ( temp 3X3 matrix of float) +0:412 frexp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r025' (temp 3X3 matrix of float) -0:412 fwidth (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r025' ( temp 3X3 matrix of float) +0:412 fwidth ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r026' (temp 3X3 matrix of float) -0:412 ldexp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r026' ( temp 3X3 matrix of float) +0:412 ldexp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r026a' (temp 3X3 matrix of float) -0:412 mix (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r026a' ( temp 3X3 matrix of float) +0:412 mix ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r027' (temp 3X3 matrix of float) -0:412 log (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r027' ( temp 3X3 matrix of float) +0:412 log ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r028' (temp 3X3 matrix of float) -0:412 matrix-scale (temp 3X3 matrix of float) -0:412 log2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r028' ( temp 3X3 matrix of float) +0:412 matrix-scale ( temp 3X3 matrix of float) +0:412 log2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.301030 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r029' (temp 3X3 matrix of float) -0:412 log2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r029' ( temp 3X3 matrix of float) +0:412 log2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r030' (temp 3X3 matrix of float) -0:412 max (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r030' ( temp 3X3 matrix of float) +0:412 max ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r031' (temp 3X3 matrix of float) -0:412 min (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r031' ( temp 3X3 matrix of float) +0:412 min ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r032' (temp 3X3 matrix of float) -0:412 pow (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r032' ( temp 3X3 matrix of float) +0:412 pow ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r033' (temp 3X3 matrix of float) -0:412 radians (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r033' ( temp 3X3 matrix of float) +0:412 radians ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r034' (temp 3X3 matrix of float) -0:412 roundEven (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r034' ( temp 3X3 matrix of float) +0:412 roundEven ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r035' (temp 3X3 matrix of float) -0:412 inverse sqrt (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r035' ( temp 3X3 matrix of float) +0:412 inverse sqrt ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r036' (temp 3X3 matrix of float) -0:412 clamp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r036' ( temp 3X3 matrix of float) +0:412 clamp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.000000 0:412 Constant: 0:412 1.000000 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r037' (temp 3X3 matrix of float) -0:412 Sign (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r037' ( temp 3X3 matrix of float) +0:412 Sign ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r038' (temp 3X3 matrix of float) -0:412 sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r038' ( temp 3X3 matrix of float) +0:412 sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) -0:412 cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) +0:412 cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r039' (temp 3X3 matrix of float) -0:412 hyp. sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r039' ( temp 3X3 matrix of float) +0:412 hyp. sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r049' (temp 3X3 matrix of float) -0:412 smoothstep (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r049' ( temp 3X3 matrix of float) +0:412 smoothstep ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r041' (temp 3X3 matrix of float) -0:412 sqrt (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r041' ( temp 3X3 matrix of float) +0:412 sqrt ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r042' (temp 3X3 matrix of float) -0:412 step (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r042' ( temp 3X3 matrix of float) +0:412 step ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r043' (temp 3X3 matrix of float) -0:412 tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r043' ( temp 3X3 matrix of float) +0:412 tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r044' (temp 3X3 matrix of float) -0:412 hyp. tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 transpose (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r044' ( temp 3X3 matrix of float) +0:412 hyp. tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 transpose ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r046' (temp 3X3 matrix of float) -0:412 trunc (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r046' ( temp 3X3 matrix of float) +0:412 trunc ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:415 Branch: Return with expression 0:? Constant: 0:? 3.000000 @@ -2145,55 +2145,55 @@ gl_FragCoord origin is upper left 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:419 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:419 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:419 Function Parameters: -0:419 'inF0' (in 4X4 matrix of float) -0:419 'inF1' (in 4X4 matrix of float) -0:419 'inF2' (in 4X4 matrix of float) +0:419 'inF0' ( in 4X4 matrix of float) +0:419 'inF1' ( in 4X4 matrix of float) +0:419 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:421 Sequence -0:421 move second child to first child (temp bool) -0:421 'r000' (temp bool) -0:421 all (temp bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp bool) +0:421 'r000' ( temp bool) +0:421 all ( temp bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r001' (temp 4X4 matrix of float) -0:421 Absolute value (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 arc cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r001' ( temp 4X4 matrix of float) +0:421 Absolute value ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 arc cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp bool) -0:421 'r003' (temp bool) -0:421 any (temp bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp bool) +0:421 'r003' ( temp bool) +0:421 any ( temp bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r004' (temp 4X4 matrix of float) -0:421 arc sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r004' ( temp 4X4 matrix of float) +0:421 arc sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r005' (temp 4X4 matrix of float) -0:421 arc tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r005' ( temp 4X4 matrix of float) +0:421 arc tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r006' (temp 4X4 matrix of float) -0:421 arc tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r006' ( temp 4X4 matrix of float) +0:421 arc tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r007' (temp 4X4 matrix of float) -0:421 Ceiling (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 Test condition and select (temp void) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r007' ( temp 4X4 matrix of float) +0:421 Ceiling ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 Test condition and select ( temp void) 0:421 Condition -0:421 any (temp bool) -0:421 Compare Less Than (temp 4X4 matrix of bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 any ( temp bool) +0:421 Compare Less Than ( temp 4X4 matrix of bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.000000 0:421 0.000000 @@ -2214,231 +2214,231 @@ gl_FragCoord origin is upper left 0:421 true case 0:421 Branch: Kill 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r008' (temp 4X4 matrix of float) -0:421 clamp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r008' ( temp 4X4 matrix of float) +0:421 clamp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r009' (temp 4X4 matrix of float) -0:421 cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r009' ( temp 4X4 matrix of float) +0:421 cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r010' (temp 4X4 matrix of float) -0:421 hyp. cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r010' ( temp 4X4 matrix of float) +0:421 hyp. cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r011' (temp 4X4 matrix of float) -0:421 dPdx (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r011' ( temp 4X4 matrix of float) +0:421 dPdx ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r012' (temp 4X4 matrix of float) -0:421 dPdxCoarse (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r012' ( temp 4X4 matrix of float) +0:421 dPdxCoarse ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r013' (temp 4X4 matrix of float) -0:421 dPdxFine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r013' ( temp 4X4 matrix of float) +0:421 dPdxFine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r014' (temp 4X4 matrix of float) -0:421 dPdy (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r014' ( temp 4X4 matrix of float) +0:421 dPdy ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r015' (temp 4X4 matrix of float) -0:421 dPdyCoarse (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r015' ( temp 4X4 matrix of float) +0:421 dPdyCoarse ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r016' (temp 4X4 matrix of float) -0:421 dPdyFine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r016' ( temp 4X4 matrix of float) +0:421 dPdyFine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r017' (temp 4X4 matrix of float) -0:421 degrees (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r017' ( temp 4X4 matrix of float) +0:421 degrees ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp float) -0:421 'r018' (temp float) -0:421 determinant (temp float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp float) +0:421 'r018' ( temp float) +0:421 determinant ( temp float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r019' (temp 4X4 matrix of float) -0:421 exp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r019' ( temp 4X4 matrix of float) +0:421 exp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'R020' (temp 4X4 matrix of float) -0:421 exp2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'R020' ( temp 4X4 matrix of float) +0:421 exp2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r021' (temp 4X4 matrix of float) -0:421 Floor (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r021' ( temp 4X4 matrix of float) +0:421 Floor ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r022' (temp 4X4 matrix of float) -0:421 mod (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r022' ( temp 4X4 matrix of float) +0:421 mod ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r023' (temp 4X4 matrix of float) -0:421 Fraction (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r023' ( temp 4X4 matrix of float) +0:421 Fraction ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r024' (temp 4X4 matrix of float) -0:421 frexp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r024' ( temp 4X4 matrix of float) +0:421 frexp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r025' (temp 4X4 matrix of float) -0:421 fwidth (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r025' ( temp 4X4 matrix of float) +0:421 fwidth ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r026' (temp 4X4 matrix of float) -0:421 ldexp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r026' ( temp 4X4 matrix of float) +0:421 ldexp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r026a' (temp 4X4 matrix of float) -0:421 mix (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r026a' ( temp 4X4 matrix of float) +0:421 mix ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r027' (temp 4X4 matrix of float) -0:421 log (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r027' ( temp 4X4 matrix of float) +0:421 log ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r028' (temp 4X4 matrix of float) -0:421 matrix-scale (temp 4X4 matrix of float) -0:421 log2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r028' ( temp 4X4 matrix of float) +0:421 matrix-scale ( temp 4X4 matrix of float) +0:421 log2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.301030 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r029' (temp 4X4 matrix of float) -0:421 log2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r029' ( temp 4X4 matrix of float) +0:421 log2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r030' (temp 4X4 matrix of float) -0:421 max (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r030' ( temp 4X4 matrix of float) +0:421 max ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r031' (temp 4X4 matrix of float) -0:421 min (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r031' ( temp 4X4 matrix of float) +0:421 min ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r032' (temp 4X4 matrix of float) -0:421 pow (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r032' ( temp 4X4 matrix of float) +0:421 pow ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r033' (temp 4X4 matrix of float) -0:421 radians (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r033' ( temp 4X4 matrix of float) +0:421 radians ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r034' (temp 4X4 matrix of float) -0:421 roundEven (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r034' ( temp 4X4 matrix of float) +0:421 roundEven ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r035' (temp 4X4 matrix of float) -0:421 inverse sqrt (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r035' ( temp 4X4 matrix of float) +0:421 inverse sqrt ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r036' (temp 4X4 matrix of float) -0:421 clamp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r036' ( temp 4X4 matrix of float) +0:421 clamp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.000000 0:421 Constant: 0:421 1.000000 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r037' (temp 4X4 matrix of float) -0:421 Sign (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r037' ( temp 4X4 matrix of float) +0:421 Sign ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r038' (temp 4X4 matrix of float) -0:421 sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r038' ( temp 4X4 matrix of float) +0:421 sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) -0:421 cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) +0:421 cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r039' (temp 4X4 matrix of float) -0:421 hyp. sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r039' ( temp 4X4 matrix of float) +0:421 hyp. sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r049' (temp 4X4 matrix of float) -0:421 smoothstep (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r049' ( temp 4X4 matrix of float) +0:421 smoothstep ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r041' (temp 4X4 matrix of float) -0:421 sqrt (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r041' ( temp 4X4 matrix of float) +0:421 sqrt ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r042' (temp 4X4 matrix of float) -0:421 step (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r042' ( temp 4X4 matrix of float) +0:421 step ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r043' (temp 4X4 matrix of float) -0:421 tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r043' ( temp 4X4 matrix of float) +0:421 tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r044' (temp 4X4 matrix of float) -0:421 hyp. tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 transpose (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r044' ( temp 4X4 matrix of float) +0:421 hyp. tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 transpose ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r046' (temp 4X4 matrix of float) -0:421 trunc (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r046' ( temp 4X4 matrix of float) +0:421 trunc ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:424 Branch: Return with expression 0:? Constant: 0:? 4.000000 @@ -2457,315 +2457,315 @@ gl_FragCoord origin is upper left 0:? 4.000000 0:? 4.000000 0:? 4.000000 -0:442 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void) +0:442 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void) 0:442 Function Parameters: -0:442 'inF0' (in float) -0:442 'inF1' (in float) -0:442 'inFV0' (in 2-component vector of float) -0:442 'inFV1' (in 2-component vector of float) -0:442 'inFM0' (in 2X2 matrix of float) -0:442 'inFM1' (in 2X2 matrix of float) +0:442 'inF0' ( in float) +0:442 'inF1' ( in float) +0:442 'inFV0' ( in 2-component vector of float) +0:442 'inFV1' ( in 2-component vector of float) +0:442 'inFM0' ( in 2X2 matrix of float) +0:442 'inFM1' ( in 2X2 matrix of float) 0:? Sequence 0:443 Sequence -0:443 move second child to first child (temp float) -0:443 'r0' (temp float) -0:443 component-wise multiply (temp float) -0:443 'inF1' (in float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp float) +0:443 'r0' ( temp float) +0:443 component-wise multiply ( temp float) +0:443 'inF1' ( in float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r1' (temp 2-component vector of float) -0:443 vector-scale (temp 2-component vector of float) -0:443 'inF0' (in float) -0:443 'inFV0' (in 2-component vector of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r1' ( temp 2-component vector of float) +0:443 vector-scale ( temp 2-component vector of float) +0:443 'inF0' ( in float) +0:443 'inFV0' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r2' (temp 2-component vector of float) -0:443 vector-scale (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r2' ( temp 2-component vector of float) +0:443 vector-scale ( temp 2-component vector of float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp float) -0:443 'r3' (temp float) -0:443 dot-product (temp float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inFV1' (in 2-component vector of float) +0:443 move second child to first child ( temp float) +0:443 'r3' ( temp float) +0:443 dot-product ( temp float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inFV1' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r4' (temp 2-component vector of float) -0:443 vector-times-matrix (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r4' ( temp 2-component vector of float) +0:443 vector-times-matrix ( temp 2-component vector of float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inFM0' ( in 2X2 matrix of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r5' (temp 2-component vector of float) -0:443 matrix-times-vector (temp 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inFV0' (in 2-component vector of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r5' ( temp 2-component vector of float) +0:443 matrix-times-vector ( temp 2-component vector of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:443 'inFV0' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r6' (temp 2X2 matrix of float) -0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inF0' (in float) -0:443 'inFM0' (in 2X2 matrix of float) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r6' ( temp 2X2 matrix of float) +0:443 matrix-scale ( temp 2X2 matrix of float) +0:443 'inF0' ( in float) +0:443 'inFM0' ( in 2X2 matrix of float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r7' (temp 2X2 matrix of float) -0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r7' ( temp 2X2 matrix of float) +0:443 matrix-scale ( temp 2X2 matrix of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r8' (temp 2X2 matrix of float) -0:443 matrix-multiply (temp 2X2 matrix of float) -0:443 'inFM1' (in 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r8' ( temp 2X2 matrix of float) +0:443 matrix-multiply ( temp 2X2 matrix of float) +0:443 'inFM1' ( in 2X2 matrix of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void) 0:449 Function Parameters: -0:449 'inF0' (in float) -0:449 'inF1' (in float) -0:449 'inFV0' (in 3-component vector of float) -0:449 'inFV1' (in 3-component vector of float) -0:449 'inFM0' (in 3X3 matrix of float) -0:449 'inFM1' (in 3X3 matrix of float) +0:449 'inF0' ( in float) +0:449 'inF1' ( in float) +0:449 'inFV0' ( in 3-component vector of float) +0:449 'inFV1' ( in 3-component vector of float) +0:449 'inFM0' ( in 3X3 matrix of float) +0:449 'inFM1' ( in 3X3 matrix of float) 0:? Sequence 0:450 Sequence -0:450 move second child to first child (temp float) -0:450 'r0' (temp float) -0:450 component-wise multiply (temp float) -0:450 'inF1' (in float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp float) +0:450 'r0' ( temp float) +0:450 component-wise multiply ( temp float) +0:450 'inF1' ( in float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r1' (temp 3-component vector of float) -0:450 vector-scale (temp 3-component vector of float) -0:450 'inF0' (in float) -0:450 'inFV0' (in 3-component vector of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r1' ( temp 3-component vector of float) +0:450 vector-scale ( temp 3-component vector of float) +0:450 'inF0' ( in float) +0:450 'inFV0' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r2' (temp 3-component vector of float) -0:450 vector-scale (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r2' ( temp 3-component vector of float) +0:450 vector-scale ( temp 3-component vector of float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp float) -0:450 'r3' (temp float) -0:450 dot-product (temp float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inFV1' (in 3-component vector of float) +0:450 move second child to first child ( temp float) +0:450 'r3' ( temp float) +0:450 dot-product ( temp float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inFV1' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r4' (temp 3-component vector of float) -0:450 vector-times-matrix (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r4' ( temp 3-component vector of float) +0:450 vector-times-matrix ( temp 3-component vector of float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inFM0' ( in 3X3 matrix of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r5' (temp 3-component vector of float) -0:450 matrix-times-vector (temp 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inFV0' (in 3-component vector of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r5' ( temp 3-component vector of float) +0:450 matrix-times-vector ( temp 3-component vector of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:450 'inFV0' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r6' (temp 3X3 matrix of float) -0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inF0' (in float) -0:450 'inFM0' (in 3X3 matrix of float) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r6' ( temp 3X3 matrix of float) +0:450 matrix-scale ( temp 3X3 matrix of float) +0:450 'inF0' ( in float) +0:450 'inFM0' ( in 3X3 matrix of float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r7' (temp 3X3 matrix of float) -0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r7' ( temp 3X3 matrix of float) +0:450 matrix-scale ( temp 3X3 matrix of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r8' (temp 3X3 matrix of float) -0:450 matrix-multiply (temp 3X3 matrix of float) -0:450 'inFM1' (in 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r8' ( temp 3X3 matrix of float) +0:450 matrix-multiply ( temp 3X3 matrix of float) +0:450 'inFM1' ( in 3X3 matrix of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void) 0:456 Function Parameters: -0:456 'inF0' (in float) -0:456 'inF1' (in float) -0:456 'inFV0' (in 4-component vector of float) -0:456 'inFV1' (in 4-component vector of float) -0:456 'inFM0' (in 4X4 matrix of float) -0:456 'inFM1' (in 4X4 matrix of float) +0:456 'inF0' ( in float) +0:456 'inF1' ( in float) +0:456 'inFV0' ( in 4-component vector of float) +0:456 'inFV1' ( in 4-component vector of float) +0:456 'inFM0' ( in 4X4 matrix of float) +0:456 'inFM1' ( in 4X4 matrix of float) 0:? Sequence 0:457 Sequence -0:457 move second child to first child (temp float) -0:457 'r0' (temp float) -0:457 component-wise multiply (temp float) -0:457 'inF1' (in float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp float) +0:457 'r0' ( temp float) +0:457 component-wise multiply ( temp float) +0:457 'inF1' ( in float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r1' (temp 4-component vector of float) -0:457 vector-scale (temp 4-component vector of float) -0:457 'inF0' (in float) -0:457 'inFV0' (in 4-component vector of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r1' ( temp 4-component vector of float) +0:457 vector-scale ( temp 4-component vector of float) +0:457 'inF0' ( in float) +0:457 'inFV0' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r2' (temp 4-component vector of float) -0:457 vector-scale (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r2' ( temp 4-component vector of float) +0:457 vector-scale ( temp 4-component vector of float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp float) -0:457 'r3' (temp float) -0:457 dot-product (temp float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inFV1' (in 4-component vector of float) +0:457 move second child to first child ( temp float) +0:457 'r3' ( temp float) +0:457 dot-product ( temp float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inFV1' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r4' (temp 4-component vector of float) -0:457 vector-times-matrix (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r4' ( temp 4-component vector of float) +0:457 vector-times-matrix ( temp 4-component vector of float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inFM0' ( in 4X4 matrix of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r5' (temp 4-component vector of float) -0:457 matrix-times-vector (temp 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inFV0' (in 4-component vector of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r5' ( temp 4-component vector of float) +0:457 matrix-times-vector ( temp 4-component vector of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:457 'inFV0' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r6' (temp 4X4 matrix of float) -0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inF0' (in float) -0:457 'inFM0' (in 4X4 matrix of float) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r6' ( temp 4X4 matrix of float) +0:457 matrix-scale ( temp 4X4 matrix of float) +0:457 'inF0' ( in float) +0:457 'inFM0' ( in 4X4 matrix of float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r7' (temp 4X4 matrix of float) -0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r7' ( temp 4X4 matrix of float) +0:457 matrix-scale ( temp 4X4 matrix of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r8' (temp 4X4 matrix of float) -0:457 matrix-multiply (temp 4X4 matrix of float) -0:457 'inFM1' (in 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (temp void) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r8' ( temp 4X4 matrix of float) +0:457 matrix-multiply ( temp 4X4 matrix of float) +0:457 'inFM1' ( in 4X4 matrix of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void) 0:466 Function Parameters: -0:466 'inF0' (in float) -0:466 'inF1' (in float) -0:466 'inFV2' (in 2-component vector of float) -0:466 'inFV3' (in 3-component vector of float) -0:466 'inFM2x3' (in 2X3 matrix of float) -0:466 'inFM3x2' (in 3X2 matrix of float) -0:466 'inFM3x3' (in 3X3 matrix of float) -0:466 'inFM3x4' (in 3X4 matrix of float) -0:466 'inFM2x4' (in 2X4 matrix of float) +0:466 'inF0' ( in float) +0:466 'inF1' ( in float) +0:466 'inFV2' ( in 2-component vector of float) +0:466 'inFV3' ( in 3-component vector of float) +0:466 'inFM2x3' ( in 2X3 matrix of float) +0:466 'inFM3x2' ( in 3X2 matrix of float) +0:466 'inFM3x3' ( in 3X3 matrix of float) +0:466 'inFM3x4' ( in 3X4 matrix of float) +0:466 'inFM2x4' ( in 2X4 matrix of float) 0:? Sequence 0:467 Sequence -0:467 move second child to first child (temp float) -0:467 'r00' (temp float) -0:467 component-wise multiply (temp float) -0:467 'inF1' (in float) -0:467 'inF0' (in float) +0:467 move second child to first child ( temp float) +0:467 'r00' ( temp float) +0:467 component-wise multiply ( temp float) +0:467 'inF1' ( in float) +0:467 'inF0' ( in float) 0:468 Sequence -0:468 move second child to first child (temp 2-component vector of float) -0:468 'r01' (temp 2-component vector of float) -0:468 vector-scale (temp 2-component vector of float) -0:468 'inF0' (in float) -0:468 'inFV2' (in 2-component vector of float) +0:468 move second child to first child ( temp 2-component vector of float) +0:468 'r01' ( temp 2-component vector of float) +0:468 vector-scale ( temp 2-component vector of float) +0:468 'inF0' ( in float) +0:468 'inFV2' ( in 2-component vector of float) 0:469 Sequence -0:469 move second child to first child (temp 3-component vector of float) -0:469 'r02' (temp 3-component vector of float) -0:469 vector-scale (temp 3-component vector of float) -0:469 'inF0' (in float) -0:469 'inFV3' (in 3-component vector of float) +0:469 move second child to first child ( temp 3-component vector of float) +0:469 'r02' ( temp 3-component vector of float) +0:469 vector-scale ( temp 3-component vector of float) +0:469 'inF0' ( in float) +0:469 'inFV3' ( in 3-component vector of float) 0:470 Sequence -0:470 move second child to first child (temp 2-component vector of float) -0:470 'r03' (temp 2-component vector of float) -0:470 vector-scale (temp 2-component vector of float) -0:470 'inFV2' (in 2-component vector of float) -0:470 'inF0' (in float) +0:470 move second child to first child ( temp 2-component vector of float) +0:470 'r03' ( temp 2-component vector of float) +0:470 vector-scale ( temp 2-component vector of float) +0:470 'inFV2' ( in 2-component vector of float) +0:470 'inF0' ( in float) 0:471 Sequence -0:471 move second child to first child (temp 3-component vector of float) -0:471 'r04' (temp 3-component vector of float) -0:471 vector-scale (temp 3-component vector of float) -0:471 'inFV3' (in 3-component vector of float) -0:471 'inF0' (in float) +0:471 move second child to first child ( temp 3-component vector of float) +0:471 'r04' ( temp 3-component vector of float) +0:471 vector-scale ( temp 3-component vector of float) +0:471 'inFV3' ( in 3-component vector of float) +0:471 'inF0' ( in float) 0:472 Sequence -0:472 move second child to first child (temp float) -0:472 'r05' (temp float) -0:472 dot-product (temp float) -0:472 'inFV2' (in 2-component vector of float) -0:472 'inFV2' (in 2-component vector of float) +0:472 move second child to first child ( temp float) +0:472 'r05' ( temp float) +0:472 dot-product ( temp float) +0:472 'inFV2' ( in 2-component vector of float) +0:472 'inFV2' ( in 2-component vector of float) 0:473 Sequence -0:473 move second child to first child (temp float) -0:473 'r06' (temp float) -0:473 dot-product (temp float) -0:473 'inFV3' (in 3-component vector of float) -0:473 'inFV3' (in 3-component vector of float) +0:473 move second child to first child ( temp float) +0:473 'r06' ( temp float) +0:473 dot-product ( temp float) +0:473 'inFV3' ( in 3-component vector of float) +0:473 'inFV3' ( in 3-component vector of float) 0:474 Sequence -0:474 move second child to first child (temp 3-component vector of float) -0:474 'r07' (temp 3-component vector of float) -0:474 matrix-times-vector (temp 3-component vector of float) -0:474 'inFM2x3' (in 2X3 matrix of float) -0:474 'inFV2' (in 2-component vector of float) +0:474 move second child to first child ( temp 3-component vector of float) +0:474 'r07' ( temp 3-component vector of float) +0:474 matrix-times-vector ( temp 3-component vector of float) +0:474 'inFM2x3' ( in 2X3 matrix of float) +0:474 'inFV2' ( in 2-component vector of float) 0:475 Sequence -0:475 move second child to first child (temp 2-component vector of float) -0:475 'r08' (temp 2-component vector of float) -0:475 matrix-times-vector (temp 2-component vector of float) -0:475 'inFM3x2' (in 3X2 matrix of float) -0:475 'inFV3' (in 3-component vector of float) +0:475 move second child to first child ( temp 2-component vector of float) +0:475 'r08' ( temp 2-component vector of float) +0:475 matrix-times-vector ( temp 2-component vector of float) +0:475 'inFM3x2' ( in 3X2 matrix of float) +0:475 'inFV3' ( in 3-component vector of float) 0:476 Sequence -0:476 move second child to first child (temp 2-component vector of float) -0:476 'r09' (temp 2-component vector of float) -0:476 vector-times-matrix (temp 2-component vector of float) -0:476 'inFV3' (in 3-component vector of float) -0:476 'inFM2x3' (in 2X3 matrix of float) +0:476 move second child to first child ( temp 2-component vector of float) +0:476 'r09' ( temp 2-component vector of float) +0:476 vector-times-matrix ( temp 2-component vector of float) +0:476 'inFV3' ( in 3-component vector of float) +0:476 'inFM2x3' ( in 2X3 matrix of float) 0:477 Sequence -0:477 move second child to first child (temp 3-component vector of float) -0:477 'r10' (temp 3-component vector of float) -0:477 vector-times-matrix (temp 3-component vector of float) -0:477 'inFV2' (in 2-component vector of float) -0:477 'inFM3x2' (in 3X2 matrix of float) +0:477 move second child to first child ( temp 3-component vector of float) +0:477 'r10' ( temp 3-component vector of float) +0:477 vector-times-matrix ( temp 3-component vector of float) +0:477 'inFV2' ( in 2-component vector of float) +0:477 'inFM3x2' ( in 3X2 matrix of float) 0:478 Sequence -0:478 move second child to first child (temp 2X3 matrix of float) -0:478 'r11' (temp 2X3 matrix of float) -0:478 matrix-scale (temp 2X3 matrix of float) -0:478 'inF0' (in float) -0:478 'inFM2x3' (in 2X3 matrix of float) +0:478 move second child to first child ( temp 2X3 matrix of float) +0:478 'r11' ( temp 2X3 matrix of float) +0:478 matrix-scale ( temp 2X3 matrix of float) +0:478 'inF0' ( in float) +0:478 'inFM2x3' ( in 2X3 matrix of float) 0:479 Sequence -0:479 move second child to first child (temp 3X2 matrix of float) -0:479 'r12' (temp 3X2 matrix of float) -0:479 matrix-scale (temp 3X2 matrix of float) -0:479 'inF0' (in float) -0:479 'inFM3x2' (in 3X2 matrix of float) +0:479 move second child to first child ( temp 3X2 matrix of float) +0:479 'r12' ( temp 3X2 matrix of float) +0:479 matrix-scale ( temp 3X2 matrix of float) +0:479 'inF0' ( in float) +0:479 'inFM3x2' ( in 3X2 matrix of float) 0:480 Sequence -0:480 move second child to first child (temp 2X2 matrix of float) -0:480 'r13' (temp 2X2 matrix of float) -0:480 matrix-multiply (temp 2X2 matrix of float) -0:480 'inFM3x2' (in 3X2 matrix of float) -0:480 'inFM2x3' (in 2X3 matrix of float) +0:480 move second child to first child ( temp 2X2 matrix of float) +0:480 'r13' ( temp 2X2 matrix of float) +0:480 matrix-multiply ( temp 2X2 matrix of float) +0:480 'inFM3x2' ( in 3X2 matrix of float) +0:480 'inFM2x3' ( in 2X3 matrix of float) 0:481 Sequence -0:481 move second child to first child (temp 2X3 matrix of float) -0:481 'r14' (temp 2X3 matrix of float) -0:481 matrix-multiply (temp 2X3 matrix of float) -0:481 'inFM3x3' (in 3X3 matrix of float) -0:481 'inFM2x3' (in 2X3 matrix of float) +0:481 move second child to first child ( temp 2X3 matrix of float) +0:481 'r14' ( temp 2X3 matrix of float) +0:481 matrix-multiply ( temp 2X3 matrix of float) +0:481 'inFM3x3' ( in 3X3 matrix of float) +0:481 'inFM2x3' ( in 2X3 matrix of float) 0:482 Sequence -0:482 move second child to first child (temp 2X4 matrix of float) -0:482 'r15' (temp 2X4 matrix of float) -0:482 matrix-multiply (temp 2X4 matrix of float) -0:482 'inFM3x4' (in 3X4 matrix of float) -0:482 'inFM2x3' (in 2X3 matrix of float) +0:482 move second child to first child ( temp 2X4 matrix of float) +0:482 'r15' ( temp 2X4 matrix of float) +0:482 matrix-multiply ( temp 2X4 matrix of float) +0:482 'inFM3x4' ( in 3X4 matrix of float) +0:482 'inFM2x3' ( in 2X3 matrix of float) 0:483 Sequence -0:483 move second child to first child (temp 3X4 matrix of float) -0:483 'r16' (temp 3X4 matrix of float) -0:483 matrix-multiply (temp 3X4 matrix of float) -0:483 'inFM2x4' (in 2X4 matrix of float) -0:483 'inFM3x2' (in 3X2 matrix of float) -0:489 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:483 move second child to first child ( temp 3X4 matrix of float) +0:483 'r16' ( temp 3X4 matrix of float) +0:483 matrix-multiply ( temp 3X4 matrix of float) +0:483 'inFM2x4' ( in 2X4 matrix of float) +0:483 'inFM3x2' ( in 3X2 matrix of float) +0:489 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:489 Function Parameters: 0:? Sequence -0:491 move second child to first child (temp 4-component vector of float) -0:491 color: direct index for structure (temp 4-component vector of float) -0:491 'ps_output' (temp structure{temp 4-component vector of float color}) +0:491 move second child to first child ( temp 4-component vector of float) +0:491 color: direct index for structure ( temp 4-component vector of float) +0:491 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:491 Constant: 0:491 0 (const int) 0:491 Constant: @@ -2773,29 +2773,32 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 Sequence -0:492 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:492 color: direct index for structure (temp 4-component vector of float) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) -0:492 Constant: -0:492 0 (const int) -0:492 Branch: Return +0:492 Branch: Return with expression +0:492 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:489 Function Definition: main( ( temp void) +0:489 Function Parameters: +0:? Sequence +0:489 Sequence +0:489 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:489 color: direct index for structure ( temp 4-component vector of float) +0:489 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:489 Constant: +0:489 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'gs_ua' (shared uint) -0:? 'gs_ub' (shared uint) -0:? 'gs_uc' (shared uint) -0:? 'gs_ua2' (shared 2-component vector of uint) -0:? 'gs_ub2' (shared 2-component vector of uint) -0:? 'gs_uc2' (shared 2-component vector of uint) -0:? 'gs_ua3' (shared 3-component vector of uint) -0:? 'gs_ub3' (shared 3-component vector of uint) -0:? 'gs_uc3' (shared 3-component vector of uint) -0:? 'gs_ua4' (shared 4-component vector of uint) -0:? 'gs_ub4' (shared 4-component vector of uint) -0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'gs_ua' ( shared uint) +0:? 'gs_ub' ( shared uint) +0:? 'gs_uc' ( shared uint) +0:? 'gs_ua2' ( shared 2-component vector of uint) +0:? 'gs_ub2' ( shared 2-component vector of uint) +0:? 'gs_uc2' ( shared 2-component vector of uint) +0:? 'gs_ua3' ( shared 3-component vector of uint) +0:? 'gs_ub3' ( shared 3-component vector of uint) +0:? 'gs_uc3' ( shared 3-component vector of uint) +0:? 'gs_ua4' ( shared 4-component vector of uint) +0:? 'gs_ub4' ( shared 4-component vector of uint) +0:? 'gs_uc4' ( shared 4-component vector of uint) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -2804,814 +2807,814 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:17 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:17 Function Parameters: -0:17 'inF0' (in float) -0:17 'inF1' (in float) -0:17 'inF2' (in float) -0:17 'inU0' (in uint) -0:17 'inU1' (in uint) +0:17 'inF0' ( in float) +0:17 'inF1' ( in float) +0:17 'inF2' ( in float) +0:17 'inU0' ( in uint) +0:17 'inU1' ( in uint) 0:? Sequence 0:20 Sequence -0:20 move second child to first child (temp bool) -0:20 'r000' (temp bool) -0:20 all (temp bool) -0:20 'inF0' (in float) +0:20 move second child to first child ( temp bool) +0:20 'r000' ( temp bool) +0:20 all ( temp bool) +0:20 'inF0' ( in float) 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'r001' (temp float) -0:21 Absolute value (temp float) -0:21 'inF0' (in float) +0:21 move second child to first child ( temp float) +0:21 'r001' ( temp float) +0:21 Absolute value ( temp float) +0:21 'inF0' ( in float) 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'r002' (temp float) -0:22 arc cosine (temp float) -0:22 'inF0' (in float) +0:22 move second child to first child ( temp float) +0:22 'r002' ( temp float) +0:22 arc cosine ( temp float) +0:22 'inF0' ( in float) 0:23 Sequence -0:23 move second child to first child (temp bool) -0:23 'r003' (temp bool) -0:23 any (temp bool) -0:23 'inF0' (in float) +0:23 move second child to first child ( temp bool) +0:23 'r003' ( temp bool) +0:23 any ( temp bool) +0:23 'inF0' ( in float) 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'r004' (temp float) -0:24 arc sine (temp float) -0:24 'inF0' (in float) +0:24 move second child to first child ( temp float) +0:24 'r004' ( temp float) +0:24 arc sine ( temp float) +0:24 'inF0' ( in float) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r005' (temp int) -0:25 floatBitsToInt (temp int) -0:25 'inF0' (in float) +0:25 move second child to first child ( temp int) +0:25 'r005' ( temp int) +0:25 floatBitsToInt ( temp int) +0:25 'inF0' ( in float) 0:26 Sequence -0:26 move second child to first child (temp uint) -0:26 'r006' (temp uint) -0:26 floatBitsToUint (temp uint) -0:26 'inF0' (in float) +0:26 move second child to first child ( temp uint) +0:26 'r006' ( temp uint) +0:26 floatBitsToUint ( temp uint) +0:26 'inF0' ( in float) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'r007' (temp float) -0:27 intBitsToFloat (temp float) -0:27 'inU0' (in uint) +0:27 move second child to first child ( temp float) +0:27 'r007' ( temp float) +0:27 intBitsToFloat ( temp float) +0:27 'inU0' ( in uint) 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'r009' (temp float) -0:29 arc tangent (temp float) -0:29 'inF0' (in float) +0:29 move second child to first child ( temp float) +0:29 'r009' ( temp float) +0:29 arc tangent ( temp float) +0:29 'inF0' ( in float) 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'r010' (temp float) -0:30 arc tangent (temp float) -0:30 'inF0' (in float) -0:30 'inF1' (in float) +0:30 move second child to first child ( temp float) +0:30 'r010' ( temp float) +0:30 arc tangent ( temp float) +0:30 'inF0' ( in float) +0:30 'inF1' ( in float) 0:31 Sequence -0:31 move second child to first child (temp float) -0:31 'r011' (temp float) -0:31 Ceiling (temp float) -0:31 'inF0' (in float) +0:31 move second child to first child ( temp float) +0:31 'r011' ( temp float) +0:31 Ceiling ( temp float) +0:31 'inF0' ( in float) 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'r012' (temp float) -0:32 clamp (temp float) -0:32 'inF0' (in float) -0:32 'inF1' (in float) -0:32 'inF2' (in float) -0:33 Test condition and select (temp void) +0:32 move second child to first child ( temp float) +0:32 'r012' ( temp float) +0:32 clamp ( temp float) +0:32 'inF0' ( in float) +0:32 'inF1' ( in float) +0:32 'inF2' ( in float) +0:33 Test condition and select ( temp void) 0:33 Condition -0:33 Compare Less Than (temp bool) -0:33 'inF0' (in float) +0:33 Compare Less Than ( temp bool) +0:33 'inF0' ( in float) 0:33 Constant: 0:33 0.000000 0:33 true case 0:33 Branch: Kill 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'r014' (temp float) -0:34 cosine (temp float) -0:34 'inF0' (in float) +0:34 move second child to first child ( temp float) +0:34 'r014' ( temp float) +0:34 cosine ( temp float) +0:34 'inF0' ( in float) 0:35 Sequence -0:35 move second child to first child (temp float) -0:35 'r015' (temp float) -0:35 hyp. cosine (temp float) -0:35 'inF0' (in float) +0:35 move second child to first child ( temp float) +0:35 'r015' ( temp float) +0:35 hyp. cosine ( temp float) +0:35 'inF0' ( in float) 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'r016' (temp int) -0:36 bitCount (temp int) +0:36 move second child to first child ( temp int) +0:36 'r016' ( temp int) +0:36 bitCount ( temp int) 0:36 Constant: 0:36 7 (const int) 0:37 Sequence -0:37 move second child to first child (temp float) -0:37 'r017' (temp float) -0:37 dPdx (temp float) -0:37 'inF0' (in float) +0:37 move second child to first child ( temp float) +0:37 'r017' ( temp float) +0:37 dPdx ( temp float) +0:37 'inF0' ( in float) 0:38 Sequence -0:38 move second child to first child (temp float) -0:38 'r018' (temp float) -0:38 dPdxCoarse (temp float) -0:38 'inF0' (in float) +0:38 move second child to first child ( temp float) +0:38 'r018' ( temp float) +0:38 dPdxCoarse ( temp float) +0:38 'inF0' ( in float) 0:39 Sequence -0:39 move second child to first child (temp float) -0:39 'r019' (temp float) -0:39 dPdxFine (temp float) -0:39 'inF0' (in float) +0:39 move second child to first child ( temp float) +0:39 'r019' ( temp float) +0:39 dPdxFine ( temp float) +0:39 'inF0' ( in float) 0:40 Sequence -0:40 move second child to first child (temp float) -0:40 'r020' (temp float) -0:40 dPdy (temp float) -0:40 'inF0' (in float) +0:40 move second child to first child ( temp float) +0:40 'r020' ( temp float) +0:40 dPdy ( temp float) +0:40 'inF0' ( in float) 0:41 Sequence -0:41 move second child to first child (temp float) -0:41 'r021' (temp float) -0:41 dPdyCoarse (temp float) -0:41 'inF0' (in float) +0:41 move second child to first child ( temp float) +0:41 'r021' ( temp float) +0:41 dPdyCoarse ( temp float) +0:41 'inF0' ( in float) 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r022' (temp float) -0:42 dPdyFine (temp float) -0:42 'inF0' (in float) +0:42 move second child to first child ( temp float) +0:42 'r022' ( temp float) +0:42 dPdyFine ( temp float) +0:42 'inF0' ( in float) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r023' (temp float) -0:43 degrees (temp float) -0:43 'inF0' (in float) +0:43 move second child to first child ( temp float) +0:43 'r023' ( temp float) +0:43 degrees ( temp float) +0:43 'inF0' ( in float) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r027' (temp float) -0:47 exp (temp float) -0:47 'inF0' (in float) +0:47 move second child to first child ( temp float) +0:47 'r027' ( temp float) +0:47 exp ( temp float) +0:47 'inF0' ( in float) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r028' (temp float) -0:48 exp2 (temp float) -0:48 'inF0' (in float) +0:48 move second child to first child ( temp float) +0:48 'r028' ( temp float) +0:48 exp2 ( temp float) +0:48 'inF0' ( in float) 0:49 Sequence -0:49 move second child to first child (temp uint) -0:49 'r029' (temp uint) -0:49 Convert int to uint (temp uint) -0:49 findMSB (temp int) +0:49 move second child to first child ( temp uint) +0:49 'r029' ( temp uint) +0:49 Convert int to uint ( temp uint) +0:49 findMSB ( temp int) 0:49 Constant: 0:49 7 (const int) 0:50 Sequence -0:50 move second child to first child (temp uint) -0:50 'r030' (temp uint) -0:50 Convert int to uint (temp uint) -0:50 findLSB (temp int) +0:50 move second child to first child ( temp uint) +0:50 'r030' ( temp uint) +0:50 Convert int to uint ( temp uint) +0:50 findLSB ( temp int) 0:50 Constant: 0:50 7 (const int) 0:51 Sequence -0:51 move second child to first child (temp float) -0:51 'r031' (temp float) -0:51 Floor (temp float) -0:51 'inF0' (in float) +0:51 move second child to first child ( temp float) +0:51 'r031' ( temp float) +0:51 Floor ( temp float) +0:51 'inF0' ( in float) 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r033' (temp float) -0:53 mod (temp float) -0:53 'inF0' (in float) -0:53 'inF1' (in float) +0:53 move second child to first child ( temp float) +0:53 'r033' ( temp float) +0:53 mod ( temp float) +0:53 'inF0' ( in float) +0:53 'inF1' ( in float) 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r034' (temp float) -0:54 Fraction (temp float) -0:54 'inF0' (in float) +0:54 move second child to first child ( temp float) +0:54 'r034' ( temp float) +0:54 Fraction ( temp float) +0:54 'inF0' ( in float) 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r035' (temp float) -0:55 frexp (temp float) -0:55 'inF0' (in float) -0:55 'inF1' (in float) +0:55 move second child to first child ( temp float) +0:55 'r035' ( temp float) +0:55 frexp ( temp float) +0:55 'inF0' ( in float) +0:55 'inF1' ( in float) 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'r036' (temp float) -0:56 fwidth (temp float) -0:56 'inF0' (in float) +0:56 move second child to first child ( temp float) +0:56 'r036' ( temp float) +0:56 fwidth ( temp float) +0:56 'inF0' ( in float) 0:57 Sequence -0:57 move second child to first child (temp bool) -0:57 'r037' (temp bool) -0:57 isinf (temp bool) -0:57 'inF0' (in float) +0:57 move second child to first child ( temp bool) +0:57 'r037' ( temp bool) +0:57 isinf ( temp bool) +0:57 'inF0' ( in float) 0:58 Sequence -0:58 move second child to first child (temp bool) -0:58 'r038' (temp bool) -0:58 isnan (temp bool) -0:58 'inF0' (in float) +0:58 move second child to first child ( temp bool) +0:58 'r038' ( temp bool) +0:58 isnan ( temp bool) +0:58 'inF0' ( in float) 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'r039' (temp float) -0:59 ldexp (temp float) -0:59 'inF0' (in float) -0:59 'inF1' (in float) +0:59 move second child to first child ( temp float) +0:59 'r039' ( temp float) +0:59 ldexp ( temp float) +0:59 'inF0' ( in float) +0:59 'inF1' ( in float) 0:60 Sequence -0:60 move second child to first child (temp float) -0:60 'r039a' (temp float) -0:60 mix (temp float) -0:60 'inF0' (in float) -0:60 'inF1' (in float) -0:60 'inF2' (in float) +0:60 move second child to first child ( temp float) +0:60 'r039a' ( temp float) +0:60 mix ( temp float) +0:60 'inF0' ( in float) +0:60 'inF1' ( in float) +0:60 'inF2' ( in float) 0:61 Sequence -0:61 move second child to first child (temp float) -0:61 'r040' (temp float) -0:61 log (temp float) -0:61 'inF0' (in float) +0:61 move second child to first child ( temp float) +0:61 'r040' ( temp float) +0:61 log ( temp float) +0:61 'inF0' ( in float) 0:62 Sequence -0:62 move second child to first child (temp float) -0:62 'r041' (temp float) -0:62 component-wise multiply (temp float) -0:62 log2 (temp float) -0:62 'inF0' (in float) +0:62 move second child to first child ( temp float) +0:62 'r041' ( temp float) +0:62 component-wise multiply ( temp float) +0:62 log2 ( temp float) +0:62 'inF0' ( in float) 0:62 Constant: 0:62 0.301030 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 'r042' (temp float) -0:63 log2 (temp float) -0:63 'inF0' (in float) +0:63 move second child to first child ( temp float) +0:63 'r042' ( temp float) +0:63 log2 ( temp float) +0:63 'inF0' ( in float) 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'r043' (temp float) -0:64 max (temp float) -0:64 'inF0' (in float) -0:64 'inF1' (in float) +0:64 move second child to first child ( temp float) +0:64 'r043' ( temp float) +0:64 max ( temp float) +0:64 'inF0' ( in float) +0:64 'inF1' ( in float) 0:65 Sequence -0:65 move second child to first child (temp float) -0:65 'r044' (temp float) -0:65 min (temp float) -0:65 'inF0' (in float) -0:65 'inF1' (in float) +0:65 move second child to first child ( temp float) +0:65 'r044' ( temp float) +0:65 min ( temp float) +0:65 'inF0' ( in float) +0:65 'inF1' ( in float) 0:66 Sequence -0:66 move second child to first child (temp float) -0:66 'r045' (temp float) -0:66 pow (temp float) -0:66 'inF0' (in float) -0:66 'inF1' (in float) +0:66 move second child to first child ( temp float) +0:66 'r045' ( temp float) +0:66 pow ( temp float) +0:66 'inF0' ( in float) +0:66 'inF1' ( in float) 0:67 Sequence -0:67 move second child to first child (temp float) -0:67 'r046' (temp float) -0:67 radians (temp float) -0:67 'inF0' (in float) +0:67 move second child to first child ( temp float) +0:67 'r046' ( temp float) +0:67 radians ( temp float) +0:67 'inF0' ( in float) 0:68 Sequence -0:68 move second child to first child (temp float) -0:68 'r047' (temp float) -0:68 divide (temp float) +0:68 move second child to first child ( temp float) +0:68 'r047' ( temp float) +0:68 divide ( temp float) 0:68 Constant: 0:68 1.000000 -0:68 'inF0' (in float) +0:68 'inF0' ( in float) 0:69 Sequence -0:69 move second child to first child (temp uint) -0:69 'r048' (temp uint) -0:69 Convert int to uint (temp uint) -0:69 bitFieldReverse (temp int) +0:69 move second child to first child ( temp uint) +0:69 'r048' ( temp uint) +0:69 Convert int to uint ( temp uint) +0:69 bitFieldReverse ( temp int) 0:69 Constant: 0:69 2 (const int) 0:70 Sequence -0:70 move second child to first child (temp float) -0:70 'r049' (temp float) -0:70 roundEven (temp float) -0:70 'inF0' (in float) +0:70 move second child to first child ( temp float) +0:70 'r049' ( temp float) +0:70 roundEven ( temp float) +0:70 'inF0' ( in float) 0:71 Sequence -0:71 move second child to first child (temp float) -0:71 'r050' (temp float) -0:71 inverse sqrt (temp float) -0:71 'inF0' (in float) +0:71 move second child to first child ( temp float) +0:71 'r050' ( temp float) +0:71 inverse sqrt ( temp float) +0:71 'inF0' ( in float) 0:72 Sequence -0:72 move second child to first child (temp float) -0:72 'r051' (temp float) -0:72 clamp (temp float) -0:72 'inF0' (in float) +0:72 move second child to first child ( temp float) +0:72 'r051' ( temp float) +0:72 clamp ( temp float) +0:72 'inF0' ( in float) 0:72 Constant: 0:72 0.000000 0:72 Constant: 0:72 1.000000 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'r052' (temp float) -0:73 Sign (temp float) -0:73 'inF0' (in float) +0:73 move second child to first child ( temp float) +0:73 'r052' ( temp float) +0:73 Sign ( temp float) +0:73 'inF0' ( in float) 0:74 Sequence -0:74 move second child to first child (temp float) -0:74 'r053' (temp float) -0:74 sine (temp float) -0:74 'inF0' (in float) +0:74 move second child to first child ( temp float) +0:74 'r053' ( temp float) +0:74 sine ( temp float) +0:74 'inF0' ( in float) 0:75 Sequence -0:75 move second child to first child (temp float) -0:75 'inF1' (in float) -0:75 sine (temp float) -0:75 'inF0' (in float) -0:75 move second child to first child (temp float) -0:75 'inF2' (in float) -0:75 cosine (temp float) -0:75 'inF0' (in float) +0:75 move second child to first child ( temp float) +0:75 'inF1' ( in float) +0:75 sine ( temp float) +0:75 'inF0' ( in float) +0:75 move second child to first child ( temp float) +0:75 'inF2' ( in float) +0:75 cosine ( temp float) +0:75 'inF0' ( in float) 0:76 Sequence -0:76 move second child to first child (temp float) -0:76 'r055' (temp float) -0:76 hyp. sine (temp float) -0:76 'inF0' (in float) +0:76 move second child to first child ( temp float) +0:76 'r055' ( temp float) +0:76 hyp. sine ( temp float) +0:76 'inF0' ( in float) 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'r056' (temp float) -0:77 smoothstep (temp float) -0:77 'inF0' (in float) -0:77 'inF1' (in float) -0:77 'inF2' (in float) +0:77 move second child to first child ( temp float) +0:77 'r056' ( temp float) +0:77 smoothstep ( temp float) +0:77 'inF0' ( in float) +0:77 'inF1' ( in float) +0:77 'inF2' ( in float) 0:78 Sequence -0:78 move second child to first child (temp float) -0:78 'r057' (temp float) -0:78 sqrt (temp float) -0:78 'inF0' (in float) +0:78 move second child to first child ( temp float) +0:78 'r057' ( temp float) +0:78 sqrt ( temp float) +0:78 'inF0' ( in float) 0:79 Sequence -0:79 move second child to first child (temp float) -0:79 'r058' (temp float) -0:79 step (temp float) -0:79 'inF0' (in float) -0:79 'inF1' (in float) +0:79 move second child to first child ( temp float) +0:79 'r058' ( temp float) +0:79 step ( temp float) +0:79 'inF0' ( in float) +0:79 'inF1' ( in float) 0:80 Sequence -0:80 move second child to first child (temp float) -0:80 'r059' (temp float) -0:80 tangent (temp float) -0:80 'inF0' (in float) +0:80 move second child to first child ( temp float) +0:80 'r059' ( temp float) +0:80 tangent ( temp float) +0:80 'inF0' ( in float) 0:81 Sequence -0:81 move second child to first child (temp float) -0:81 'r060' (temp float) -0:81 hyp. tangent (temp float) -0:81 'inF0' (in float) +0:81 move second child to first child ( temp float) +0:81 'r060' ( temp float) +0:81 hyp. tangent ( temp float) +0:81 'inF0' ( in float) 0:83 Sequence -0:83 move second child to first child (temp float) -0:83 'r061' (temp float) -0:83 trunc (temp float) -0:83 'inF0' (in float) +0:83 move second child to first child ( temp float) +0:83 'r061' ( temp float) +0:83 trunc ( temp float) +0:83 'inF0' ( in float) 0:85 Branch: Return with expression 0:85 Constant: 0:85 0.000000 -0:89 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:89 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:89 Function Parameters: -0:89 'inF0' (in 1-component vector of float) -0:89 'inF1' (in 1-component vector of float) -0:89 'inF2' (in 1-component vector of float) +0:89 'inF0' ( in 1-component vector of float) +0:89 'inF1' ( in 1-component vector of float) +0:89 'inF2' ( in 1-component vector of float) 0:? Sequence 0:91 Branch: Return with expression 0:91 Constant: 0:91 0.000000 -0:95 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:95 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:95 Function Parameters: -0:95 'inF0' (in 2-component vector of float) -0:95 'inF1' (in 2-component vector of float) -0:95 'inF2' (in 2-component vector of float) -0:95 'inU0' (in 2-component vector of uint) -0:95 'inU1' (in 2-component vector of uint) +0:95 'inF0' ( in 2-component vector of float) +0:95 'inF1' ( in 2-component vector of float) +0:95 'inF2' ( in 2-component vector of float) +0:95 'inU0' ( in 2-component vector of uint) +0:95 'inU1' ( in 2-component vector of uint) 0:? Sequence 0:98 Sequence -0:98 move second child to first child (temp bool) -0:98 'r000' (temp bool) -0:98 all (temp bool) -0:98 'inF0' (in 2-component vector of float) +0:98 move second child to first child ( temp bool) +0:98 'r000' ( temp bool) +0:98 all ( temp bool) +0:98 'inF0' ( in 2-component vector of float) 0:99 Sequence -0:99 move second child to first child (temp 2-component vector of float) -0:99 'r001' (temp 2-component vector of float) -0:99 Absolute value (temp 2-component vector of float) -0:99 'inF0' (in 2-component vector of float) +0:99 move second child to first child ( temp 2-component vector of float) +0:99 'r001' ( temp 2-component vector of float) +0:99 Absolute value ( temp 2-component vector of float) +0:99 'inF0' ( in 2-component vector of float) 0:100 Sequence -0:100 move second child to first child (temp 2-component vector of float) -0:100 'r002' (temp 2-component vector of float) -0:100 arc cosine (temp 2-component vector of float) -0:100 'inF0' (in 2-component vector of float) +0:100 move second child to first child ( temp 2-component vector of float) +0:100 'r002' ( temp 2-component vector of float) +0:100 arc cosine ( temp 2-component vector of float) +0:100 'inF0' ( in 2-component vector of float) 0:101 Sequence -0:101 move second child to first child (temp bool) -0:101 'r003' (temp bool) -0:101 any (temp bool) -0:101 'inF0' (in 2-component vector of float) +0:101 move second child to first child ( temp bool) +0:101 'r003' ( temp bool) +0:101 any ( temp bool) +0:101 'inF0' ( in 2-component vector of float) 0:102 Sequence -0:102 move second child to first child (temp 2-component vector of float) -0:102 'r004' (temp 2-component vector of float) -0:102 arc sine (temp 2-component vector of float) -0:102 'inF0' (in 2-component vector of float) +0:102 move second child to first child ( temp 2-component vector of float) +0:102 'r004' ( temp 2-component vector of float) +0:102 arc sine ( temp 2-component vector of float) +0:102 'inF0' ( in 2-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 2-component vector of int) -0:103 'r005' (temp 2-component vector of int) -0:103 floatBitsToInt (temp 2-component vector of int) -0:103 'inF0' (in 2-component vector of float) +0:103 move second child to first child ( temp 2-component vector of int) +0:103 'r005' ( temp 2-component vector of int) +0:103 floatBitsToInt ( temp 2-component vector of int) +0:103 'inF0' ( in 2-component vector of float) 0:104 Sequence -0:104 move second child to first child (temp 2-component vector of uint) -0:104 'r006' (temp 2-component vector of uint) -0:104 floatBitsToUint (temp 2-component vector of uint) -0:104 'inF0' (in 2-component vector of float) +0:104 move second child to first child ( temp 2-component vector of uint) +0:104 'r006' ( temp 2-component vector of uint) +0:104 floatBitsToUint ( temp 2-component vector of uint) +0:104 'inF0' ( in 2-component vector of float) 0:105 Sequence -0:105 move second child to first child (temp 2-component vector of float) -0:105 'r007' (temp 2-component vector of float) -0:105 intBitsToFloat (temp 2-component vector of float) -0:105 'inU0' (in 2-component vector of uint) +0:105 move second child to first child ( temp 2-component vector of float) +0:105 'r007' ( temp 2-component vector of float) +0:105 intBitsToFloat ( temp 2-component vector of float) +0:105 'inU0' ( in 2-component vector of uint) 0:107 Sequence -0:107 move second child to first child (temp 2-component vector of float) -0:107 'r009' (temp 2-component vector of float) -0:107 arc tangent (temp 2-component vector of float) -0:107 'inF0' (in 2-component vector of float) +0:107 move second child to first child ( temp 2-component vector of float) +0:107 'r009' ( temp 2-component vector of float) +0:107 arc tangent ( temp 2-component vector of float) +0:107 'inF0' ( in 2-component vector of float) 0:108 Sequence -0:108 move second child to first child (temp 2-component vector of float) -0:108 'r010' (temp 2-component vector of float) -0:108 arc tangent (temp 2-component vector of float) -0:108 'inF0' (in 2-component vector of float) -0:108 'inF1' (in 2-component vector of float) +0:108 move second child to first child ( temp 2-component vector of float) +0:108 'r010' ( temp 2-component vector of float) +0:108 arc tangent ( temp 2-component vector of float) +0:108 'inF0' ( in 2-component vector of float) +0:108 'inF1' ( in 2-component vector of float) 0:109 Sequence -0:109 move second child to first child (temp 2-component vector of float) -0:109 'r011' (temp 2-component vector of float) -0:109 Ceiling (temp 2-component vector of float) -0:109 'inF0' (in 2-component vector of float) +0:109 move second child to first child ( temp 2-component vector of float) +0:109 'r011' ( temp 2-component vector of float) +0:109 Ceiling ( temp 2-component vector of float) +0:109 'inF0' ( in 2-component vector of float) 0:110 Sequence -0:110 move second child to first child (temp 2-component vector of float) -0:110 'r012' (temp 2-component vector of float) -0:110 clamp (temp 2-component vector of float) -0:110 'inF0' (in 2-component vector of float) -0:110 'inF1' (in 2-component vector of float) -0:110 'inF2' (in 2-component vector of float) -0:111 Test condition and select (temp void) +0:110 move second child to first child ( temp 2-component vector of float) +0:110 'r012' ( temp 2-component vector of float) +0:110 clamp ( temp 2-component vector of float) +0:110 'inF0' ( in 2-component vector of float) +0:110 'inF1' ( in 2-component vector of float) +0:110 'inF2' ( in 2-component vector of float) +0:111 Test condition and select ( temp void) 0:111 Condition -0:111 any (temp bool) -0:111 Compare Less Than (temp 2-component vector of bool) -0:111 'inF0' (in 2-component vector of float) +0:111 any ( temp bool) +0:111 Compare Less Than ( temp 2-component vector of bool) +0:111 'inF0' ( in 2-component vector of float) 0:111 Constant: 0:111 0.000000 0:111 0.000000 0:111 true case 0:111 Branch: Kill 0:112 Sequence -0:112 move second child to first child (temp 2-component vector of float) -0:112 'r013' (temp 2-component vector of float) -0:112 cosine (temp 2-component vector of float) -0:112 'inF0' (in 2-component vector of float) +0:112 move second child to first child ( temp 2-component vector of float) +0:112 'r013' ( temp 2-component vector of float) +0:112 cosine ( temp 2-component vector of float) +0:112 'inF0' ( in 2-component vector of float) 0:113 Sequence -0:113 move second child to first child (temp 2-component vector of float) -0:113 'r015' (temp 2-component vector of float) -0:113 hyp. cosine (temp 2-component vector of float) -0:113 'inF0' (in 2-component vector of float) +0:113 move second child to first child ( temp 2-component vector of float) +0:113 'r015' ( temp 2-component vector of float) +0:113 hyp. cosine ( temp 2-component vector of float) +0:113 'inF0' ( in 2-component vector of float) 0:114 Sequence -0:114 move second child to first child (temp 2-component vector of int) -0:114 'r016' (temp 2-component vector of int) -0:? bitCount (temp 2-component vector of int) +0:114 move second child to first child ( temp 2-component vector of int) +0:114 'r016' ( temp 2-component vector of int) +0:? bitCount ( temp 2-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:115 Sequence -0:115 move second child to first child (temp 2-component vector of float) -0:115 'r017' (temp 2-component vector of float) -0:115 dPdx (temp 2-component vector of float) -0:115 'inF0' (in 2-component vector of float) +0:115 move second child to first child ( temp 2-component vector of float) +0:115 'r017' ( temp 2-component vector of float) +0:115 dPdx ( temp 2-component vector of float) +0:115 'inF0' ( in 2-component vector of float) 0:116 Sequence -0:116 move second child to first child (temp 2-component vector of float) -0:116 'r018' (temp 2-component vector of float) -0:116 dPdxCoarse (temp 2-component vector of float) -0:116 'inF0' (in 2-component vector of float) +0:116 move second child to first child ( temp 2-component vector of float) +0:116 'r018' ( temp 2-component vector of float) +0:116 dPdxCoarse ( temp 2-component vector of float) +0:116 'inF0' ( in 2-component vector of float) 0:117 Sequence -0:117 move second child to first child (temp 2-component vector of float) -0:117 'r019' (temp 2-component vector of float) -0:117 dPdxFine (temp 2-component vector of float) -0:117 'inF0' (in 2-component vector of float) +0:117 move second child to first child ( temp 2-component vector of float) +0:117 'r019' ( temp 2-component vector of float) +0:117 dPdxFine ( temp 2-component vector of float) +0:117 'inF0' ( in 2-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp 2-component vector of float) -0:118 'r020' (temp 2-component vector of float) -0:118 dPdy (temp 2-component vector of float) -0:118 'inF0' (in 2-component vector of float) +0:118 move second child to first child ( temp 2-component vector of float) +0:118 'r020' ( temp 2-component vector of float) +0:118 dPdy ( temp 2-component vector of float) +0:118 'inF0' ( in 2-component vector of float) 0:119 Sequence -0:119 move second child to first child (temp 2-component vector of float) -0:119 'r021' (temp 2-component vector of float) -0:119 dPdyCoarse (temp 2-component vector of float) -0:119 'inF0' (in 2-component vector of float) +0:119 move second child to first child ( temp 2-component vector of float) +0:119 'r021' ( temp 2-component vector of float) +0:119 dPdyCoarse ( temp 2-component vector of float) +0:119 'inF0' ( in 2-component vector of float) 0:120 Sequence -0:120 move second child to first child (temp 2-component vector of float) -0:120 'r022' (temp 2-component vector of float) -0:120 dPdyFine (temp 2-component vector of float) -0:120 'inF0' (in 2-component vector of float) +0:120 move second child to first child ( temp 2-component vector of float) +0:120 'r022' ( temp 2-component vector of float) +0:120 dPdyFine ( temp 2-component vector of float) +0:120 'inF0' ( in 2-component vector of float) 0:121 Sequence -0:121 move second child to first child (temp 2-component vector of float) -0:121 'r023' (temp 2-component vector of float) -0:121 degrees (temp 2-component vector of float) -0:121 'inF0' (in 2-component vector of float) +0:121 move second child to first child ( temp 2-component vector of float) +0:121 'r023' ( temp 2-component vector of float) +0:121 degrees ( temp 2-component vector of float) +0:121 'inF0' ( in 2-component vector of float) 0:125 Sequence -0:125 move second child to first child (temp float) -0:125 'r026' (temp float) -0:125 distance (temp float) -0:125 'inF0' (in 2-component vector of float) -0:125 'inF1' (in 2-component vector of float) +0:125 move second child to first child ( temp float) +0:125 'r026' ( temp float) +0:125 distance ( temp float) +0:125 'inF0' ( in 2-component vector of float) +0:125 'inF1' ( in 2-component vector of float) 0:126 Sequence -0:126 move second child to first child (temp float) -0:126 'r027' (temp float) -0:126 dot-product (temp float) -0:126 'inF0' (in 2-component vector of float) -0:126 'inF1' (in 2-component vector of float) +0:126 move second child to first child ( temp float) +0:126 'r027' ( temp float) +0:126 dot-product ( temp float) +0:126 'inF0' ( in 2-component vector of float) +0:126 'inF1' ( in 2-component vector of float) 0:130 Sequence -0:130 move second child to first child (temp 2-component vector of float) -0:130 'r028' (temp 2-component vector of float) -0:130 exp (temp 2-component vector of float) -0:130 'inF0' (in 2-component vector of float) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'r028' ( temp 2-component vector of float) +0:130 exp ( temp 2-component vector of float) +0:130 'inF0' ( in 2-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp 2-component vector of float) -0:131 'r029' (temp 2-component vector of float) -0:131 exp2 (temp 2-component vector of float) -0:131 'inF0' (in 2-component vector of float) +0:131 move second child to first child ( temp 2-component vector of float) +0:131 'r029' ( temp 2-component vector of float) +0:131 exp2 ( temp 2-component vector of float) +0:131 'inF0' ( in 2-component vector of float) 0:132 Sequence -0:132 move second child to first child (temp 2-component vector of float) -0:132 'r030' (temp 2-component vector of float) -0:132 face-forward (temp 2-component vector of float) -0:132 'inF0' (in 2-component vector of float) -0:132 'inF1' (in 2-component vector of float) -0:132 'inF2' (in 2-component vector of float) +0:132 move second child to first child ( temp 2-component vector of float) +0:132 'r030' ( temp 2-component vector of float) +0:132 face-forward ( temp 2-component vector of float) +0:132 'inF0' ( in 2-component vector of float) +0:132 'inF1' ( in 2-component vector of float) +0:132 'inF2' ( in 2-component vector of float) 0:133 Sequence -0:133 move second child to first child (temp 2-component vector of uint) -0:133 'r031' (temp 2-component vector of uint) -0:? findMSB (temp 2-component vector of uint) +0:133 move second child to first child ( temp 2-component vector of uint) +0:133 'r031' ( temp 2-component vector of uint) +0:? findMSB ( temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:134 Sequence -0:134 move second child to first child (temp 2-component vector of uint) -0:134 'r032' (temp 2-component vector of uint) -0:? findLSB (temp 2-component vector of uint) +0:134 move second child to first child ( temp 2-component vector of uint) +0:134 'r032' ( temp 2-component vector of uint) +0:? findLSB ( temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:135 Sequence -0:135 move second child to first child (temp 2-component vector of float) -0:135 'r033' (temp 2-component vector of float) -0:135 Floor (temp 2-component vector of float) -0:135 'inF0' (in 2-component vector of float) +0:135 move second child to first child ( temp 2-component vector of float) +0:135 'r033' ( temp 2-component vector of float) +0:135 Floor ( temp 2-component vector of float) +0:135 'inF0' ( in 2-component vector of float) 0:137 Sequence -0:137 move second child to first child (temp 2-component vector of float) -0:137 'r035' (temp 2-component vector of float) -0:137 mod (temp 2-component vector of float) -0:137 'inF0' (in 2-component vector of float) -0:137 'inF1' (in 2-component vector of float) +0:137 move second child to first child ( temp 2-component vector of float) +0:137 'r035' ( temp 2-component vector of float) +0:137 mod ( temp 2-component vector of float) +0:137 'inF0' ( in 2-component vector of float) +0:137 'inF1' ( in 2-component vector of float) 0:138 Sequence -0:138 move second child to first child (temp 2-component vector of float) -0:138 'r036' (temp 2-component vector of float) -0:138 Fraction (temp 2-component vector of float) -0:138 'inF0' (in 2-component vector of float) +0:138 move second child to first child ( temp 2-component vector of float) +0:138 'r036' ( temp 2-component vector of float) +0:138 Fraction ( temp 2-component vector of float) +0:138 'inF0' ( in 2-component vector of float) 0:139 Sequence -0:139 move second child to first child (temp 2-component vector of float) -0:139 'r037' (temp 2-component vector of float) -0:139 frexp (temp 2-component vector of float) -0:139 'inF0' (in 2-component vector of float) -0:139 'inF1' (in 2-component vector of float) +0:139 move second child to first child ( temp 2-component vector of float) +0:139 'r037' ( temp 2-component vector of float) +0:139 frexp ( temp 2-component vector of float) +0:139 'inF0' ( in 2-component vector of float) +0:139 'inF1' ( in 2-component vector of float) 0:140 Sequence -0:140 move second child to first child (temp 2-component vector of float) -0:140 'r038' (temp 2-component vector of float) -0:140 fwidth (temp 2-component vector of float) -0:140 'inF0' (in 2-component vector of float) +0:140 move second child to first child ( temp 2-component vector of float) +0:140 'r038' ( temp 2-component vector of float) +0:140 fwidth ( temp 2-component vector of float) +0:140 'inF0' ( in 2-component vector of float) 0:141 Sequence -0:141 move second child to first child (temp 2-component vector of bool) -0:141 'r039' (temp 2-component vector of bool) -0:141 isinf (temp 2-component vector of bool) -0:141 'inF0' (in 2-component vector of float) +0:141 move second child to first child ( temp 2-component vector of bool) +0:141 'r039' ( temp 2-component vector of bool) +0:141 isinf ( temp 2-component vector of bool) +0:141 'inF0' ( in 2-component vector of float) 0:142 Sequence -0:142 move second child to first child (temp 2-component vector of bool) -0:142 'r040' (temp 2-component vector of bool) -0:142 isnan (temp 2-component vector of bool) -0:142 'inF0' (in 2-component vector of float) +0:142 move second child to first child ( temp 2-component vector of bool) +0:142 'r040' ( temp 2-component vector of bool) +0:142 isnan ( temp 2-component vector of bool) +0:142 'inF0' ( in 2-component vector of float) 0:143 Sequence -0:143 move second child to first child (temp 2-component vector of float) -0:143 'r041' (temp 2-component vector of float) -0:143 ldexp (temp 2-component vector of float) -0:143 'inF0' (in 2-component vector of float) -0:143 'inF1' (in 2-component vector of float) +0:143 move second child to first child ( temp 2-component vector of float) +0:143 'r041' ( temp 2-component vector of float) +0:143 ldexp ( temp 2-component vector of float) +0:143 'inF0' ( in 2-component vector of float) +0:143 'inF1' ( in 2-component vector of float) 0:144 Sequence -0:144 move second child to first child (temp 2-component vector of float) -0:144 'r039a' (temp 2-component vector of float) -0:144 mix (temp 2-component vector of float) -0:144 'inF0' (in 2-component vector of float) -0:144 'inF1' (in 2-component vector of float) -0:144 'inF2' (in 2-component vector of float) +0:144 move second child to first child ( temp 2-component vector of float) +0:144 'r039a' ( temp 2-component vector of float) +0:144 mix ( temp 2-component vector of float) +0:144 'inF0' ( in 2-component vector of float) +0:144 'inF1' ( in 2-component vector of float) +0:144 'inF2' ( in 2-component vector of float) 0:145 Sequence -0:145 move second child to first child (temp float) -0:145 'r042' (temp float) -0:145 length (temp float) -0:145 'inF0' (in 2-component vector of float) +0:145 move second child to first child ( temp float) +0:145 'r042' ( temp float) +0:145 length ( temp float) +0:145 'inF0' ( in 2-component vector of float) 0:146 Sequence -0:146 move second child to first child (temp 2-component vector of float) -0:146 'r043' (temp 2-component vector of float) -0:146 log (temp 2-component vector of float) -0:146 'inF0' (in 2-component vector of float) +0:146 move second child to first child ( temp 2-component vector of float) +0:146 'r043' ( temp 2-component vector of float) +0:146 log ( temp 2-component vector of float) +0:146 'inF0' ( in 2-component vector of float) 0:147 Sequence -0:147 move second child to first child (temp 2-component vector of float) -0:147 'r044' (temp 2-component vector of float) -0:147 vector-scale (temp 2-component vector of float) -0:147 log2 (temp 2-component vector of float) -0:147 'inF0' (in 2-component vector of float) +0:147 move second child to first child ( temp 2-component vector of float) +0:147 'r044' ( temp 2-component vector of float) +0:147 vector-scale ( temp 2-component vector of float) +0:147 log2 ( temp 2-component vector of float) +0:147 'inF0' ( in 2-component vector of float) 0:147 Constant: 0:147 0.301030 0:148 Sequence -0:148 move second child to first child (temp 2-component vector of float) -0:148 'r045' (temp 2-component vector of float) -0:148 log2 (temp 2-component vector of float) -0:148 'inF0' (in 2-component vector of float) +0:148 move second child to first child ( temp 2-component vector of float) +0:148 'r045' ( temp 2-component vector of float) +0:148 log2 ( temp 2-component vector of float) +0:148 'inF0' ( in 2-component vector of float) 0:149 Sequence -0:149 move second child to first child (temp 2-component vector of float) -0:149 'r046' (temp 2-component vector of float) -0:149 max (temp 2-component vector of float) -0:149 'inF0' (in 2-component vector of float) -0:149 'inF1' (in 2-component vector of float) +0:149 move second child to first child ( temp 2-component vector of float) +0:149 'r046' ( temp 2-component vector of float) +0:149 max ( temp 2-component vector of float) +0:149 'inF0' ( in 2-component vector of float) +0:149 'inF1' ( in 2-component vector of float) 0:150 Sequence -0:150 move second child to first child (temp 2-component vector of float) -0:150 'r047' (temp 2-component vector of float) -0:150 min (temp 2-component vector of float) -0:150 'inF0' (in 2-component vector of float) -0:150 'inF1' (in 2-component vector of float) +0:150 move second child to first child ( temp 2-component vector of float) +0:150 'r047' ( temp 2-component vector of float) +0:150 min ( temp 2-component vector of float) +0:150 'inF0' ( in 2-component vector of float) +0:150 'inF1' ( in 2-component vector of float) 0:151 Sequence -0:151 move second child to first child (temp 2-component vector of float) -0:151 'r048' (temp 2-component vector of float) -0:151 normalize (temp 2-component vector of float) -0:151 'inF0' (in 2-component vector of float) +0:151 move second child to first child ( temp 2-component vector of float) +0:151 'r048' ( temp 2-component vector of float) +0:151 normalize ( temp 2-component vector of float) +0:151 'inF0' ( in 2-component vector of float) 0:152 Sequence -0:152 move second child to first child (temp 2-component vector of float) -0:152 'r049' (temp 2-component vector of float) -0:152 pow (temp 2-component vector of float) -0:152 'inF0' (in 2-component vector of float) -0:152 'inF1' (in 2-component vector of float) +0:152 move second child to first child ( temp 2-component vector of float) +0:152 'r049' ( temp 2-component vector of float) +0:152 pow ( temp 2-component vector of float) +0:152 'inF0' ( in 2-component vector of float) +0:152 'inF1' ( in 2-component vector of float) 0:153 Sequence -0:153 move second child to first child (temp 2-component vector of float) -0:153 'r050' (temp 2-component vector of float) -0:153 radians (temp 2-component vector of float) -0:153 'inF0' (in 2-component vector of float) +0:153 move second child to first child ( temp 2-component vector of float) +0:153 'r050' ( temp 2-component vector of float) +0:153 radians ( temp 2-component vector of float) +0:153 'inF0' ( in 2-component vector of float) 0:154 Sequence -0:154 move second child to first child (temp 2-component vector of float) -0:154 'r051' (temp 2-component vector of float) -0:154 divide (temp 2-component vector of float) +0:154 move second child to first child ( temp 2-component vector of float) +0:154 'r051' ( temp 2-component vector of float) +0:154 divide ( temp 2-component vector of float) 0:154 Constant: 0:154 1.000000 -0:154 'inF0' (in 2-component vector of float) +0:154 'inF0' ( in 2-component vector of float) 0:155 Sequence -0:155 move second child to first child (temp 2-component vector of float) -0:155 'r052' (temp 2-component vector of float) -0:155 reflect (temp 2-component vector of float) -0:155 'inF0' (in 2-component vector of float) -0:155 'inF1' (in 2-component vector of float) +0:155 move second child to first child ( temp 2-component vector of float) +0:155 'r052' ( temp 2-component vector of float) +0:155 reflect ( temp 2-component vector of float) +0:155 'inF0' ( in 2-component vector of float) +0:155 'inF1' ( in 2-component vector of float) 0:156 Sequence -0:156 move second child to first child (temp 2-component vector of float) -0:156 'r053' (temp 2-component vector of float) -0:156 refract (temp 2-component vector of float) -0:156 'inF0' (in 2-component vector of float) -0:156 'inF1' (in 2-component vector of float) +0:156 move second child to first child ( temp 2-component vector of float) +0:156 'r053' ( temp 2-component vector of float) +0:156 refract ( temp 2-component vector of float) +0:156 'inF0' ( in 2-component vector of float) +0:156 'inF1' ( in 2-component vector of float) 0:156 Constant: 0:156 2.000000 0:157 Sequence -0:157 move second child to first child (temp 2-component vector of uint) -0:157 'r054' (temp 2-component vector of uint) -0:? bitFieldReverse (temp 2-component vector of uint) +0:157 move second child to first child ( temp 2-component vector of uint) +0:157 'r054' ( temp 2-component vector of uint) +0:? bitFieldReverse ( temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:158 Sequence -0:158 move second child to first child (temp 2-component vector of float) -0:158 'r055' (temp 2-component vector of float) -0:158 roundEven (temp 2-component vector of float) -0:158 'inF0' (in 2-component vector of float) +0:158 move second child to first child ( temp 2-component vector of float) +0:158 'r055' ( temp 2-component vector of float) +0:158 roundEven ( temp 2-component vector of float) +0:158 'inF0' ( in 2-component vector of float) 0:159 Sequence -0:159 move second child to first child (temp 2-component vector of float) -0:159 'r056' (temp 2-component vector of float) -0:159 inverse sqrt (temp 2-component vector of float) -0:159 'inF0' (in 2-component vector of float) +0:159 move second child to first child ( temp 2-component vector of float) +0:159 'r056' ( temp 2-component vector of float) +0:159 inverse sqrt ( temp 2-component vector of float) +0:159 'inF0' ( in 2-component vector of float) 0:160 Sequence -0:160 move second child to first child (temp 2-component vector of float) -0:160 'r057' (temp 2-component vector of float) -0:160 clamp (temp 2-component vector of float) -0:160 'inF0' (in 2-component vector of float) +0:160 move second child to first child ( temp 2-component vector of float) +0:160 'r057' ( temp 2-component vector of float) +0:160 clamp ( temp 2-component vector of float) +0:160 'inF0' ( in 2-component vector of float) 0:160 Constant: 0:160 0.000000 0:160 Constant: 0:160 1.000000 0:161 Sequence -0:161 move second child to first child (temp 2-component vector of float) -0:161 'r058' (temp 2-component vector of float) -0:161 Sign (temp 2-component vector of float) -0:161 'inF0' (in 2-component vector of float) +0:161 move second child to first child ( temp 2-component vector of float) +0:161 'r058' ( temp 2-component vector of float) +0:161 Sign ( temp 2-component vector of float) +0:161 'inF0' ( in 2-component vector of float) 0:162 Sequence -0:162 move second child to first child (temp 2-component vector of float) -0:162 'r059' (temp 2-component vector of float) -0:162 sine (temp 2-component vector of float) -0:162 'inF0' (in 2-component vector of float) +0:162 move second child to first child ( temp 2-component vector of float) +0:162 'r059' ( temp 2-component vector of float) +0:162 sine ( temp 2-component vector of float) +0:162 'inF0' ( in 2-component vector of float) 0:163 Sequence -0:163 move second child to first child (temp 2-component vector of float) -0:163 'inF1' (in 2-component vector of float) -0:163 sine (temp 2-component vector of float) -0:163 'inF0' (in 2-component vector of float) -0:163 move second child to first child (temp 2-component vector of float) -0:163 'inF2' (in 2-component vector of float) -0:163 cosine (temp 2-component vector of float) -0:163 'inF0' (in 2-component vector of float) +0:163 move second child to first child ( temp 2-component vector of float) +0:163 'inF1' ( in 2-component vector of float) +0:163 sine ( temp 2-component vector of float) +0:163 'inF0' ( in 2-component vector of float) +0:163 move second child to first child ( temp 2-component vector of float) +0:163 'inF2' ( in 2-component vector of float) +0:163 cosine ( temp 2-component vector of float) +0:163 'inF0' ( in 2-component vector of float) 0:164 Sequence -0:164 move second child to first child (temp 2-component vector of float) -0:164 'r060' (temp 2-component vector of float) -0:164 hyp. sine (temp 2-component vector of float) -0:164 'inF0' (in 2-component vector of float) +0:164 move second child to first child ( temp 2-component vector of float) +0:164 'r060' ( temp 2-component vector of float) +0:164 hyp. sine ( temp 2-component vector of float) +0:164 'inF0' ( in 2-component vector of float) 0:165 Sequence -0:165 move second child to first child (temp 2-component vector of float) -0:165 'r061' (temp 2-component vector of float) -0:165 smoothstep (temp 2-component vector of float) -0:165 'inF0' (in 2-component vector of float) -0:165 'inF1' (in 2-component vector of float) -0:165 'inF2' (in 2-component vector of float) +0:165 move second child to first child ( temp 2-component vector of float) +0:165 'r061' ( temp 2-component vector of float) +0:165 smoothstep ( temp 2-component vector of float) +0:165 'inF0' ( in 2-component vector of float) +0:165 'inF1' ( in 2-component vector of float) +0:165 'inF2' ( in 2-component vector of float) 0:166 Sequence -0:166 move second child to first child (temp 2-component vector of float) -0:166 'r062' (temp 2-component vector of float) -0:166 sqrt (temp 2-component vector of float) -0:166 'inF0' (in 2-component vector of float) +0:166 move second child to first child ( temp 2-component vector of float) +0:166 'r062' ( temp 2-component vector of float) +0:166 sqrt ( temp 2-component vector of float) +0:166 'inF0' ( in 2-component vector of float) 0:167 Sequence -0:167 move second child to first child (temp 2-component vector of float) -0:167 'r063' (temp 2-component vector of float) -0:167 step (temp 2-component vector of float) -0:167 'inF0' (in 2-component vector of float) -0:167 'inF1' (in 2-component vector of float) +0:167 move second child to first child ( temp 2-component vector of float) +0:167 'r063' ( temp 2-component vector of float) +0:167 step ( temp 2-component vector of float) +0:167 'inF0' ( in 2-component vector of float) +0:167 'inF1' ( in 2-component vector of float) 0:168 Sequence -0:168 move second child to first child (temp 2-component vector of float) -0:168 'r064' (temp 2-component vector of float) -0:168 tangent (temp 2-component vector of float) -0:168 'inF0' (in 2-component vector of float) +0:168 move second child to first child ( temp 2-component vector of float) +0:168 'r064' ( temp 2-component vector of float) +0:168 tangent ( temp 2-component vector of float) +0:168 'inF0' ( in 2-component vector of float) 0:169 Sequence -0:169 move second child to first child (temp 2-component vector of float) -0:169 'r065' (temp 2-component vector of float) -0:169 hyp. tangent (temp 2-component vector of float) -0:169 'inF0' (in 2-component vector of float) +0:169 move second child to first child ( temp 2-component vector of float) +0:169 'r065' ( temp 2-component vector of float) +0:169 hyp. tangent ( temp 2-component vector of float) +0:169 'inF0' ( in 2-component vector of float) 0:171 Sequence -0:171 move second child to first child (temp 2-component vector of float) -0:171 'r066' (temp 2-component vector of float) -0:171 trunc (temp 2-component vector of float) -0:171 'inF0' (in 2-component vector of float) +0:171 move second child to first child ( temp 2-component vector of float) +0:171 'r066' ( temp 2-component vector of float) +0:171 trunc ( temp 2-component vector of float) +0:171 'inF0' ( in 2-component vector of float) 0:174 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:178 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:178 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:178 Function Parameters: -0:178 'inF0' (in 3-component vector of float) -0:178 'inF1' (in 3-component vector of float) -0:178 'inF2' (in 3-component vector of float) -0:178 'inU0' (in 3-component vector of uint) -0:178 'inU1' (in 3-component vector of uint) +0:178 'inF0' ( in 3-component vector of float) +0:178 'inF1' ( in 3-component vector of float) +0:178 'inF2' ( in 3-component vector of float) +0:178 'inU0' ( in 3-component vector of uint) +0:178 'inU1' ( in 3-component vector of uint) 0:? Sequence 0:181 Sequence -0:181 move second child to first child (temp bool) -0:181 'r000' (temp bool) -0:181 all (temp bool) -0:181 'inF0' (in 3-component vector of float) +0:181 move second child to first child ( temp bool) +0:181 'r000' ( temp bool) +0:181 all ( temp bool) +0:181 'inF0' ( in 3-component vector of float) 0:182 Sequence -0:182 move second child to first child (temp 3-component vector of float) -0:182 'r001' (temp 3-component vector of float) -0:182 Absolute value (temp 3-component vector of float) -0:182 'inF0' (in 3-component vector of float) +0:182 move second child to first child ( temp 3-component vector of float) +0:182 'r001' ( temp 3-component vector of float) +0:182 Absolute value ( temp 3-component vector of float) +0:182 'inF0' ( in 3-component vector of float) 0:183 Sequence -0:183 move second child to first child (temp 3-component vector of float) -0:183 'r002' (temp 3-component vector of float) -0:183 arc cosine (temp 3-component vector of float) -0:183 'inF0' (in 3-component vector of float) +0:183 move second child to first child ( temp 3-component vector of float) +0:183 'r002' ( temp 3-component vector of float) +0:183 arc cosine ( temp 3-component vector of float) +0:183 'inF0' ( in 3-component vector of float) 0:184 Sequence -0:184 move second child to first child (temp bool) -0:184 'r003' (temp bool) -0:184 any (temp bool) -0:184 'inF0' (in 3-component vector of float) +0:184 move second child to first child ( temp bool) +0:184 'r003' ( temp bool) +0:184 any ( temp bool) +0:184 'inF0' ( in 3-component vector of float) 0:185 Sequence -0:185 move second child to first child (temp 3-component vector of float) -0:185 'r004' (temp 3-component vector of float) -0:185 arc sine (temp 3-component vector of float) -0:185 'inF0' (in 3-component vector of float) +0:185 move second child to first child ( temp 3-component vector of float) +0:185 'r004' ( temp 3-component vector of float) +0:185 arc sine ( temp 3-component vector of float) +0:185 'inF0' ( in 3-component vector of float) 0:186 Sequence -0:186 move second child to first child (temp 3-component vector of int) -0:186 'r005' (temp 3-component vector of int) -0:186 floatBitsToInt (temp 3-component vector of int) -0:186 'inF0' (in 3-component vector of float) +0:186 move second child to first child ( temp 3-component vector of int) +0:186 'r005' ( temp 3-component vector of int) +0:186 floatBitsToInt ( temp 3-component vector of int) +0:186 'inF0' ( in 3-component vector of float) 0:187 Sequence -0:187 move second child to first child (temp 3-component vector of uint) -0:187 'r006' (temp 3-component vector of uint) -0:187 floatBitsToUint (temp 3-component vector of uint) -0:187 'inF0' (in 3-component vector of float) +0:187 move second child to first child ( temp 3-component vector of uint) +0:187 'r006' ( temp 3-component vector of uint) +0:187 floatBitsToUint ( temp 3-component vector of uint) +0:187 'inF0' ( in 3-component vector of float) 0:188 Sequence -0:188 move second child to first child (temp 3-component vector of float) -0:188 'r007' (temp 3-component vector of float) -0:188 intBitsToFloat (temp 3-component vector of float) -0:188 'inU0' (in 3-component vector of uint) +0:188 move second child to first child ( temp 3-component vector of float) +0:188 'r007' ( temp 3-component vector of float) +0:188 intBitsToFloat ( temp 3-component vector of float) +0:188 'inU0' ( in 3-component vector of uint) 0:190 Sequence -0:190 move second child to first child (temp 3-component vector of float) -0:190 'r009' (temp 3-component vector of float) -0:190 arc tangent (temp 3-component vector of float) -0:190 'inF0' (in 3-component vector of float) +0:190 move second child to first child ( temp 3-component vector of float) +0:190 'r009' ( temp 3-component vector of float) +0:190 arc tangent ( temp 3-component vector of float) +0:190 'inF0' ( in 3-component vector of float) 0:191 Sequence -0:191 move second child to first child (temp 3-component vector of float) -0:191 'r010' (temp 3-component vector of float) -0:191 arc tangent (temp 3-component vector of float) -0:191 'inF0' (in 3-component vector of float) -0:191 'inF1' (in 3-component vector of float) +0:191 move second child to first child ( temp 3-component vector of float) +0:191 'r010' ( temp 3-component vector of float) +0:191 arc tangent ( temp 3-component vector of float) +0:191 'inF0' ( in 3-component vector of float) +0:191 'inF1' ( in 3-component vector of float) 0:192 Sequence -0:192 move second child to first child (temp 3-component vector of float) -0:192 'r011' (temp 3-component vector of float) -0:192 Ceiling (temp 3-component vector of float) -0:192 'inF0' (in 3-component vector of float) +0:192 move second child to first child ( temp 3-component vector of float) +0:192 'r011' ( temp 3-component vector of float) +0:192 Ceiling ( temp 3-component vector of float) +0:192 'inF0' ( in 3-component vector of float) 0:193 Sequence -0:193 move second child to first child (temp 3-component vector of float) -0:193 'r012' (temp 3-component vector of float) -0:193 clamp (temp 3-component vector of float) -0:193 'inF0' (in 3-component vector of float) -0:193 'inF1' (in 3-component vector of float) -0:193 'inF2' (in 3-component vector of float) -0:194 Test condition and select (temp void) +0:193 move second child to first child ( temp 3-component vector of float) +0:193 'r012' ( temp 3-component vector of float) +0:193 clamp ( temp 3-component vector of float) +0:193 'inF0' ( in 3-component vector of float) +0:193 'inF1' ( in 3-component vector of float) +0:193 'inF2' ( in 3-component vector of float) +0:194 Test condition and select ( temp void) 0:194 Condition -0:194 any (temp bool) -0:194 Compare Less Than (temp 3-component vector of bool) -0:194 'inF0' (in 3-component vector of float) +0:194 any ( temp bool) +0:194 Compare Less Than ( temp 3-component vector of bool) +0:194 'inF0' ( in 3-component vector of float) 0:194 Constant: 0:194 0.000000 0:194 0.000000 @@ -3619,404 +3622,404 @@ gl_FragCoord origin is upper left 0:194 true case 0:194 Branch: Kill 0:195 Sequence -0:195 move second child to first child (temp 3-component vector of float) -0:195 'r013' (temp 3-component vector of float) -0:195 cosine (temp 3-component vector of float) -0:195 'inF0' (in 3-component vector of float) +0:195 move second child to first child ( temp 3-component vector of float) +0:195 'r013' ( temp 3-component vector of float) +0:195 cosine ( temp 3-component vector of float) +0:195 'inF0' ( in 3-component vector of float) 0:196 Sequence -0:196 move second child to first child (temp 3-component vector of float) -0:196 'r014' (temp 3-component vector of float) -0:196 hyp. cosine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'r014' ( temp 3-component vector of float) +0:196 hyp. cosine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) 0:197 Sequence -0:197 move second child to first child (temp 3-component vector of uint) -0:197 'r015' (temp 3-component vector of uint) -0:? bitCount (temp 3-component vector of uint) +0:197 move second child to first child ( temp 3-component vector of uint) +0:197 'r015' ( temp 3-component vector of uint) +0:? bitCount ( temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:198 Sequence -0:198 move second child to first child (temp 3-component vector of float) -0:198 'r016' (temp 3-component vector of float) -0:198 cross-product (temp 3-component vector of float) -0:198 'inF0' (in 3-component vector of float) -0:198 'inF1' (in 3-component vector of float) +0:198 move second child to first child ( temp 3-component vector of float) +0:198 'r016' ( temp 3-component vector of float) +0:198 cross-product ( temp 3-component vector of float) +0:198 'inF0' ( in 3-component vector of float) +0:198 'inF1' ( in 3-component vector of float) 0:199 Sequence -0:199 move second child to first child (temp 3-component vector of float) -0:199 'r017' (temp 3-component vector of float) -0:199 dPdx (temp 3-component vector of float) -0:199 'inF0' (in 3-component vector of float) +0:199 move second child to first child ( temp 3-component vector of float) +0:199 'r017' ( temp 3-component vector of float) +0:199 dPdx ( temp 3-component vector of float) +0:199 'inF0' ( in 3-component vector of float) 0:200 Sequence -0:200 move second child to first child (temp 3-component vector of float) -0:200 'r018' (temp 3-component vector of float) -0:200 dPdxCoarse (temp 3-component vector of float) -0:200 'inF0' (in 3-component vector of float) +0:200 move second child to first child ( temp 3-component vector of float) +0:200 'r018' ( temp 3-component vector of float) +0:200 dPdxCoarse ( temp 3-component vector of float) +0:200 'inF0' ( in 3-component vector of float) 0:201 Sequence -0:201 move second child to first child (temp 3-component vector of float) -0:201 'r019' (temp 3-component vector of float) -0:201 dPdxFine (temp 3-component vector of float) -0:201 'inF0' (in 3-component vector of float) +0:201 move second child to first child ( temp 3-component vector of float) +0:201 'r019' ( temp 3-component vector of float) +0:201 dPdxFine ( temp 3-component vector of float) +0:201 'inF0' ( in 3-component vector of float) 0:202 Sequence -0:202 move second child to first child (temp 3-component vector of float) -0:202 'r020' (temp 3-component vector of float) -0:202 dPdy (temp 3-component vector of float) -0:202 'inF0' (in 3-component vector of float) +0:202 move second child to first child ( temp 3-component vector of float) +0:202 'r020' ( temp 3-component vector of float) +0:202 dPdy ( temp 3-component vector of float) +0:202 'inF0' ( in 3-component vector of float) 0:203 Sequence -0:203 move second child to first child (temp 3-component vector of float) -0:203 'r021' (temp 3-component vector of float) -0:203 dPdyCoarse (temp 3-component vector of float) -0:203 'inF0' (in 3-component vector of float) +0:203 move second child to first child ( temp 3-component vector of float) +0:203 'r021' ( temp 3-component vector of float) +0:203 dPdyCoarse ( temp 3-component vector of float) +0:203 'inF0' ( in 3-component vector of float) 0:204 Sequence -0:204 move second child to first child (temp 3-component vector of float) -0:204 'r022' (temp 3-component vector of float) -0:204 dPdyFine (temp 3-component vector of float) -0:204 'inF0' (in 3-component vector of float) +0:204 move second child to first child ( temp 3-component vector of float) +0:204 'r022' ( temp 3-component vector of float) +0:204 dPdyFine ( temp 3-component vector of float) +0:204 'inF0' ( in 3-component vector of float) 0:205 Sequence -0:205 move second child to first child (temp 3-component vector of float) -0:205 'r023' (temp 3-component vector of float) -0:205 degrees (temp 3-component vector of float) -0:205 'inF0' (in 3-component vector of float) +0:205 move second child to first child ( temp 3-component vector of float) +0:205 'r023' ( temp 3-component vector of float) +0:205 degrees ( temp 3-component vector of float) +0:205 'inF0' ( in 3-component vector of float) 0:206 Sequence -0:206 move second child to first child (temp float) -0:206 'r024' (temp float) -0:206 distance (temp float) -0:206 'inF0' (in 3-component vector of float) -0:206 'inF1' (in 3-component vector of float) +0:206 move second child to first child ( temp float) +0:206 'r024' ( temp float) +0:206 distance ( temp float) +0:206 'inF0' ( in 3-component vector of float) +0:206 'inF1' ( in 3-component vector of float) 0:207 Sequence -0:207 move second child to first child (temp float) -0:207 'r025' (temp float) -0:207 dot-product (temp float) -0:207 'inF0' (in 3-component vector of float) -0:207 'inF1' (in 3-component vector of float) +0:207 move second child to first child ( temp float) +0:207 'r025' ( temp float) +0:207 dot-product ( temp float) +0:207 'inF0' ( in 3-component vector of float) +0:207 'inF1' ( in 3-component vector of float) 0:211 Sequence -0:211 move second child to first child (temp 3-component vector of float) -0:211 'r029' (temp 3-component vector of float) -0:211 exp (temp 3-component vector of float) -0:211 'inF0' (in 3-component vector of float) +0:211 move second child to first child ( temp 3-component vector of float) +0:211 'r029' ( temp 3-component vector of float) +0:211 exp ( temp 3-component vector of float) +0:211 'inF0' ( in 3-component vector of float) 0:212 Sequence -0:212 move second child to first child (temp 3-component vector of float) -0:212 'r030' (temp 3-component vector of float) -0:212 exp2 (temp 3-component vector of float) -0:212 'inF0' (in 3-component vector of float) +0:212 move second child to first child ( temp 3-component vector of float) +0:212 'r030' ( temp 3-component vector of float) +0:212 exp2 ( temp 3-component vector of float) +0:212 'inF0' ( in 3-component vector of float) 0:213 Sequence -0:213 move second child to first child (temp 3-component vector of float) -0:213 'r031' (temp 3-component vector of float) -0:213 face-forward (temp 3-component vector of float) -0:213 'inF0' (in 3-component vector of float) -0:213 'inF1' (in 3-component vector of float) -0:213 'inF2' (in 3-component vector of float) +0:213 move second child to first child ( temp 3-component vector of float) +0:213 'r031' ( temp 3-component vector of float) +0:213 face-forward ( temp 3-component vector of float) +0:213 'inF0' ( in 3-component vector of float) +0:213 'inF1' ( in 3-component vector of float) +0:213 'inF2' ( in 3-component vector of float) 0:214 Sequence -0:214 move second child to first child (temp 3-component vector of uint) -0:214 'r032' (temp 3-component vector of uint) -0:? findMSB (temp 3-component vector of uint) +0:214 move second child to first child ( temp 3-component vector of uint) +0:214 'r032' ( temp 3-component vector of uint) +0:? findMSB ( temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:215 Sequence -0:215 move second child to first child (temp 3-component vector of uint) -0:215 'r033' (temp 3-component vector of uint) -0:? findLSB (temp 3-component vector of uint) +0:215 move second child to first child ( temp 3-component vector of uint) +0:215 'r033' ( temp 3-component vector of uint) +0:? findLSB ( temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:216 Sequence -0:216 move second child to first child (temp 3-component vector of float) -0:216 'r034' (temp 3-component vector of float) -0:216 Floor (temp 3-component vector of float) -0:216 'inF0' (in 3-component vector of float) +0:216 move second child to first child ( temp 3-component vector of float) +0:216 'r034' ( temp 3-component vector of float) +0:216 Floor ( temp 3-component vector of float) +0:216 'inF0' ( in 3-component vector of float) 0:218 Sequence -0:218 move second child to first child (temp 3-component vector of float) -0:218 'r036' (temp 3-component vector of float) -0:218 mod (temp 3-component vector of float) -0:218 'inF0' (in 3-component vector of float) -0:218 'inF1' (in 3-component vector of float) +0:218 move second child to first child ( temp 3-component vector of float) +0:218 'r036' ( temp 3-component vector of float) +0:218 mod ( temp 3-component vector of float) +0:218 'inF0' ( in 3-component vector of float) +0:218 'inF1' ( in 3-component vector of float) 0:219 Sequence -0:219 move second child to first child (temp 3-component vector of float) -0:219 'r037' (temp 3-component vector of float) -0:219 Fraction (temp 3-component vector of float) -0:219 'inF0' (in 3-component vector of float) +0:219 move second child to first child ( temp 3-component vector of float) +0:219 'r037' ( temp 3-component vector of float) +0:219 Fraction ( temp 3-component vector of float) +0:219 'inF0' ( in 3-component vector of float) 0:220 Sequence -0:220 move second child to first child (temp 3-component vector of float) -0:220 'r038' (temp 3-component vector of float) -0:220 frexp (temp 3-component vector of float) -0:220 'inF0' (in 3-component vector of float) -0:220 'inF1' (in 3-component vector of float) +0:220 move second child to first child ( temp 3-component vector of float) +0:220 'r038' ( temp 3-component vector of float) +0:220 frexp ( temp 3-component vector of float) +0:220 'inF0' ( in 3-component vector of float) +0:220 'inF1' ( in 3-component vector of float) 0:221 Sequence -0:221 move second child to first child (temp 3-component vector of float) -0:221 'r039' (temp 3-component vector of float) -0:221 fwidth (temp 3-component vector of float) -0:221 'inF0' (in 3-component vector of float) +0:221 move second child to first child ( temp 3-component vector of float) +0:221 'r039' ( temp 3-component vector of float) +0:221 fwidth ( temp 3-component vector of float) +0:221 'inF0' ( in 3-component vector of float) 0:222 Sequence -0:222 move second child to first child (temp 3-component vector of bool) -0:222 'r040' (temp 3-component vector of bool) -0:222 isinf (temp 3-component vector of bool) -0:222 'inF0' (in 3-component vector of float) +0:222 move second child to first child ( temp 3-component vector of bool) +0:222 'r040' ( temp 3-component vector of bool) +0:222 isinf ( temp 3-component vector of bool) +0:222 'inF0' ( in 3-component vector of float) 0:223 Sequence -0:223 move second child to first child (temp 3-component vector of bool) -0:223 'r041' (temp 3-component vector of bool) -0:223 isnan (temp 3-component vector of bool) -0:223 'inF0' (in 3-component vector of float) +0:223 move second child to first child ( temp 3-component vector of bool) +0:223 'r041' ( temp 3-component vector of bool) +0:223 isnan ( temp 3-component vector of bool) +0:223 'inF0' ( in 3-component vector of float) 0:224 Sequence -0:224 move second child to first child (temp 3-component vector of float) -0:224 'r042' (temp 3-component vector of float) -0:224 ldexp (temp 3-component vector of float) -0:224 'inF0' (in 3-component vector of float) -0:224 'inF1' (in 3-component vector of float) +0:224 move second child to first child ( temp 3-component vector of float) +0:224 'r042' ( temp 3-component vector of float) +0:224 ldexp ( temp 3-component vector of float) +0:224 'inF0' ( in 3-component vector of float) +0:224 'inF1' ( in 3-component vector of float) 0:225 Sequence -0:225 move second child to first child (temp 3-component vector of float) -0:225 'r039a' (temp 3-component vector of float) -0:225 mix (temp 3-component vector of float) -0:225 'inF0' (in 3-component vector of float) -0:225 'inF1' (in 3-component vector of float) -0:225 'inF2' (in 3-component vector of float) +0:225 move second child to first child ( temp 3-component vector of float) +0:225 'r039a' ( temp 3-component vector of float) +0:225 mix ( temp 3-component vector of float) +0:225 'inF0' ( in 3-component vector of float) +0:225 'inF1' ( in 3-component vector of float) +0:225 'inF2' ( in 3-component vector of float) 0:226 Sequence -0:226 move second child to first child (temp 3-component vector of float) -0:226 'r039b' (temp 3-component vector of float) -0:226 mix (temp 3-component vector of float) -0:226 'inF0' (in 3-component vector of float) -0:226 'inF1' (in 3-component vector of float) +0:226 move second child to first child ( temp 3-component vector of float) +0:226 'r039b' ( temp 3-component vector of float) +0:226 mix ( temp 3-component vector of float) +0:226 'inF0' ( in 3-component vector of float) +0:226 'inF1' ( in 3-component vector of float) 0:226 Constant: 0:226 0.300000 0:227 Sequence -0:227 move second child to first child (temp float) -0:227 'r043' (temp float) -0:227 length (temp float) -0:227 'inF0' (in 3-component vector of float) +0:227 move second child to first child ( temp float) +0:227 'r043' ( temp float) +0:227 length ( temp float) +0:227 'inF0' ( in 3-component vector of float) 0:228 Sequence -0:228 move second child to first child (temp 3-component vector of float) -0:228 'r044' (temp 3-component vector of float) -0:228 log (temp 3-component vector of float) -0:228 'inF0' (in 3-component vector of float) +0:228 move second child to first child ( temp 3-component vector of float) +0:228 'r044' ( temp 3-component vector of float) +0:228 log ( temp 3-component vector of float) +0:228 'inF0' ( in 3-component vector of float) 0:229 Sequence -0:229 move second child to first child (temp 3-component vector of float) -0:229 'r045' (temp 3-component vector of float) -0:229 vector-scale (temp 3-component vector of float) -0:229 log2 (temp 3-component vector of float) -0:229 'inF0' (in 3-component vector of float) +0:229 move second child to first child ( temp 3-component vector of float) +0:229 'r045' ( temp 3-component vector of float) +0:229 vector-scale ( temp 3-component vector of float) +0:229 log2 ( temp 3-component vector of float) +0:229 'inF0' ( in 3-component vector of float) 0:229 Constant: 0:229 0.301030 0:230 Sequence -0:230 move second child to first child (temp 3-component vector of float) -0:230 'r046' (temp 3-component vector of float) -0:230 log2 (temp 3-component vector of float) -0:230 'inF0' (in 3-component vector of float) +0:230 move second child to first child ( temp 3-component vector of float) +0:230 'r046' ( temp 3-component vector of float) +0:230 log2 ( temp 3-component vector of float) +0:230 'inF0' ( in 3-component vector of float) 0:231 Sequence -0:231 move second child to first child (temp 3-component vector of float) -0:231 'r047' (temp 3-component vector of float) -0:231 max (temp 3-component vector of float) -0:231 'inF0' (in 3-component vector of float) -0:231 'inF1' (in 3-component vector of float) +0:231 move second child to first child ( temp 3-component vector of float) +0:231 'r047' ( temp 3-component vector of float) +0:231 max ( temp 3-component vector of float) +0:231 'inF0' ( in 3-component vector of float) +0:231 'inF1' ( in 3-component vector of float) 0:232 Sequence -0:232 move second child to first child (temp 3-component vector of float) -0:232 'r048' (temp 3-component vector of float) -0:232 min (temp 3-component vector of float) -0:232 'inF0' (in 3-component vector of float) -0:232 'inF1' (in 3-component vector of float) +0:232 move second child to first child ( temp 3-component vector of float) +0:232 'r048' ( temp 3-component vector of float) +0:232 min ( temp 3-component vector of float) +0:232 'inF0' ( in 3-component vector of float) +0:232 'inF1' ( in 3-component vector of float) 0:233 Sequence -0:233 move second child to first child (temp 3-component vector of float) -0:233 'r049' (temp 3-component vector of float) -0:233 normalize (temp 3-component vector of float) -0:233 'inF0' (in 3-component vector of float) +0:233 move second child to first child ( temp 3-component vector of float) +0:233 'r049' ( temp 3-component vector of float) +0:233 normalize ( temp 3-component vector of float) +0:233 'inF0' ( in 3-component vector of float) 0:234 Sequence -0:234 move second child to first child (temp 3-component vector of float) -0:234 'r050' (temp 3-component vector of float) -0:234 pow (temp 3-component vector of float) -0:234 'inF0' (in 3-component vector of float) -0:234 'inF1' (in 3-component vector of float) +0:234 move second child to first child ( temp 3-component vector of float) +0:234 'r050' ( temp 3-component vector of float) +0:234 pow ( temp 3-component vector of float) +0:234 'inF0' ( in 3-component vector of float) +0:234 'inF1' ( in 3-component vector of float) 0:235 Sequence -0:235 move second child to first child (temp 3-component vector of float) -0:235 'r051' (temp 3-component vector of float) -0:235 radians (temp 3-component vector of float) -0:235 'inF0' (in 3-component vector of float) +0:235 move second child to first child ( temp 3-component vector of float) +0:235 'r051' ( temp 3-component vector of float) +0:235 radians ( temp 3-component vector of float) +0:235 'inF0' ( in 3-component vector of float) 0:236 Sequence -0:236 move second child to first child (temp 3-component vector of float) -0:236 'r052' (temp 3-component vector of float) -0:236 divide (temp 3-component vector of float) +0:236 move second child to first child ( temp 3-component vector of float) +0:236 'r052' ( temp 3-component vector of float) +0:236 divide ( temp 3-component vector of float) 0:236 Constant: 0:236 1.000000 -0:236 'inF0' (in 3-component vector of float) +0:236 'inF0' ( in 3-component vector of float) 0:237 Sequence -0:237 move second child to first child (temp 3-component vector of float) -0:237 'r053' (temp 3-component vector of float) -0:237 reflect (temp 3-component vector of float) -0:237 'inF0' (in 3-component vector of float) -0:237 'inF1' (in 3-component vector of float) +0:237 move second child to first child ( temp 3-component vector of float) +0:237 'r053' ( temp 3-component vector of float) +0:237 reflect ( temp 3-component vector of float) +0:237 'inF0' ( in 3-component vector of float) +0:237 'inF1' ( in 3-component vector of float) 0:238 Sequence -0:238 move second child to first child (temp 3-component vector of float) -0:238 'r054' (temp 3-component vector of float) -0:238 refract (temp 3-component vector of float) -0:238 'inF0' (in 3-component vector of float) -0:238 'inF1' (in 3-component vector of float) +0:238 move second child to first child ( temp 3-component vector of float) +0:238 'r054' ( temp 3-component vector of float) +0:238 refract ( temp 3-component vector of float) +0:238 'inF0' ( in 3-component vector of float) +0:238 'inF1' ( in 3-component vector of float) 0:238 Constant: 0:238 2.000000 0:239 Sequence -0:239 move second child to first child (temp 3-component vector of uint) -0:239 'r055' (temp 3-component vector of uint) -0:? bitFieldReverse (temp 3-component vector of uint) +0:239 move second child to first child ( temp 3-component vector of uint) +0:239 'r055' ( temp 3-component vector of uint) +0:? bitFieldReverse ( temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:240 Sequence -0:240 move second child to first child (temp 3-component vector of float) -0:240 'r056' (temp 3-component vector of float) -0:240 roundEven (temp 3-component vector of float) -0:240 'inF0' (in 3-component vector of float) +0:240 move second child to first child ( temp 3-component vector of float) +0:240 'r056' ( temp 3-component vector of float) +0:240 roundEven ( temp 3-component vector of float) +0:240 'inF0' ( in 3-component vector of float) 0:241 Sequence -0:241 move second child to first child (temp 3-component vector of float) -0:241 'r057' (temp 3-component vector of float) -0:241 inverse sqrt (temp 3-component vector of float) -0:241 'inF0' (in 3-component vector of float) +0:241 move second child to first child ( temp 3-component vector of float) +0:241 'r057' ( temp 3-component vector of float) +0:241 inverse sqrt ( temp 3-component vector of float) +0:241 'inF0' ( in 3-component vector of float) 0:242 Sequence -0:242 move second child to first child (temp 3-component vector of float) -0:242 'r058' (temp 3-component vector of float) -0:242 clamp (temp 3-component vector of float) -0:242 'inF0' (in 3-component vector of float) +0:242 move second child to first child ( temp 3-component vector of float) +0:242 'r058' ( temp 3-component vector of float) +0:242 clamp ( temp 3-component vector of float) +0:242 'inF0' ( in 3-component vector of float) 0:242 Constant: 0:242 0.000000 0:242 Constant: 0:242 1.000000 0:243 Sequence -0:243 move second child to first child (temp 3-component vector of float) -0:243 'r059' (temp 3-component vector of float) -0:243 Sign (temp 3-component vector of float) -0:243 'inF0' (in 3-component vector of float) +0:243 move second child to first child ( temp 3-component vector of float) +0:243 'r059' ( temp 3-component vector of float) +0:243 Sign ( temp 3-component vector of float) +0:243 'inF0' ( in 3-component vector of float) 0:244 Sequence -0:244 move second child to first child (temp 3-component vector of float) -0:244 'r060' (temp 3-component vector of float) -0:244 sine (temp 3-component vector of float) -0:244 'inF0' (in 3-component vector of float) +0:244 move second child to first child ( temp 3-component vector of float) +0:244 'r060' ( temp 3-component vector of float) +0:244 sine ( temp 3-component vector of float) +0:244 'inF0' ( in 3-component vector of float) 0:245 Sequence -0:245 move second child to first child (temp 3-component vector of float) -0:245 'inF1' (in 3-component vector of float) -0:245 sine (temp 3-component vector of float) -0:245 'inF0' (in 3-component vector of float) -0:245 move second child to first child (temp 3-component vector of float) -0:245 'inF2' (in 3-component vector of float) -0:245 cosine (temp 3-component vector of float) -0:245 'inF0' (in 3-component vector of float) +0:245 move second child to first child ( temp 3-component vector of float) +0:245 'inF1' ( in 3-component vector of float) +0:245 sine ( temp 3-component vector of float) +0:245 'inF0' ( in 3-component vector of float) +0:245 move second child to first child ( temp 3-component vector of float) +0:245 'inF2' ( in 3-component vector of float) +0:245 cosine ( temp 3-component vector of float) +0:245 'inF0' ( in 3-component vector of float) 0:246 Sequence -0:246 move second child to first child (temp 3-component vector of float) -0:246 'r061' (temp 3-component vector of float) -0:246 hyp. sine (temp 3-component vector of float) -0:246 'inF0' (in 3-component vector of float) +0:246 move second child to first child ( temp 3-component vector of float) +0:246 'r061' ( temp 3-component vector of float) +0:246 hyp. sine ( temp 3-component vector of float) +0:246 'inF0' ( in 3-component vector of float) 0:247 Sequence -0:247 move second child to first child (temp 3-component vector of float) -0:247 'r062' (temp 3-component vector of float) -0:247 smoothstep (temp 3-component vector of float) -0:247 'inF0' (in 3-component vector of float) -0:247 'inF1' (in 3-component vector of float) -0:247 'inF2' (in 3-component vector of float) +0:247 move second child to first child ( temp 3-component vector of float) +0:247 'r062' ( temp 3-component vector of float) +0:247 smoothstep ( temp 3-component vector of float) +0:247 'inF0' ( in 3-component vector of float) +0:247 'inF1' ( in 3-component vector of float) +0:247 'inF2' ( in 3-component vector of float) 0:248 Sequence -0:248 move second child to first child (temp 3-component vector of float) -0:248 'r063' (temp 3-component vector of float) -0:248 sqrt (temp 3-component vector of float) -0:248 'inF0' (in 3-component vector of float) +0:248 move second child to first child ( temp 3-component vector of float) +0:248 'r063' ( temp 3-component vector of float) +0:248 sqrt ( temp 3-component vector of float) +0:248 'inF0' ( in 3-component vector of float) 0:249 Sequence -0:249 move second child to first child (temp 3-component vector of float) -0:249 'r064' (temp 3-component vector of float) -0:249 step (temp 3-component vector of float) -0:249 'inF0' (in 3-component vector of float) -0:249 'inF1' (in 3-component vector of float) +0:249 move second child to first child ( temp 3-component vector of float) +0:249 'r064' ( temp 3-component vector of float) +0:249 step ( temp 3-component vector of float) +0:249 'inF0' ( in 3-component vector of float) +0:249 'inF1' ( in 3-component vector of float) 0:250 Sequence -0:250 move second child to first child (temp 3-component vector of float) -0:250 'r065' (temp 3-component vector of float) -0:250 tangent (temp 3-component vector of float) -0:250 'inF0' (in 3-component vector of float) +0:250 move second child to first child ( temp 3-component vector of float) +0:250 'r065' ( temp 3-component vector of float) +0:250 tangent ( temp 3-component vector of float) +0:250 'inF0' ( in 3-component vector of float) 0:251 Sequence -0:251 move second child to first child (temp 3-component vector of float) -0:251 'r066' (temp 3-component vector of float) -0:251 hyp. tangent (temp 3-component vector of float) -0:251 'inF0' (in 3-component vector of float) +0:251 move second child to first child ( temp 3-component vector of float) +0:251 'r066' ( temp 3-component vector of float) +0:251 hyp. tangent ( temp 3-component vector of float) +0:251 'inF0' ( in 3-component vector of float) 0:253 Sequence -0:253 move second child to first child (temp 3-component vector of float) -0:253 'r067' (temp 3-component vector of float) -0:253 trunc (temp 3-component vector of float) -0:253 'inF0' (in 3-component vector of float) +0:253 move second child to first child ( temp 3-component vector of float) +0:253 'r067' ( temp 3-component vector of float) +0:253 trunc ( temp 3-component vector of float) +0:253 'inF0' ( in 3-component vector of float) 0:256 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:260 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:260 Function Parameters: -0:260 'inF0' (in 4-component vector of float) -0:260 'inF1' (in 4-component vector of float) -0:260 'inF2' (in 4-component vector of float) -0:260 'inU0' (in 4-component vector of uint) -0:260 'inU1' (in 4-component vector of uint) +0:260 'inF0' ( in 4-component vector of float) +0:260 'inF1' ( in 4-component vector of float) +0:260 'inF2' ( in 4-component vector of float) +0:260 'inU0' ( in 4-component vector of uint) +0:260 'inU1' ( in 4-component vector of uint) 0:? Sequence 0:263 Sequence -0:263 move second child to first child (temp bool) -0:263 'r000' (temp bool) -0:263 all (temp bool) -0:263 'inF0' (in 4-component vector of float) +0:263 move second child to first child ( temp bool) +0:263 'r000' ( temp bool) +0:263 all ( temp bool) +0:263 'inF0' ( in 4-component vector of float) 0:264 Sequence -0:264 move second child to first child (temp 4-component vector of float) -0:264 'r001' (temp 4-component vector of float) -0:264 Absolute value (temp 4-component vector of float) -0:264 'inF0' (in 4-component vector of float) +0:264 move second child to first child ( temp 4-component vector of float) +0:264 'r001' ( temp 4-component vector of float) +0:264 Absolute value ( temp 4-component vector of float) +0:264 'inF0' ( in 4-component vector of float) 0:265 Sequence -0:265 move second child to first child (temp 4-component vector of float) -0:265 'r002' (temp 4-component vector of float) -0:265 arc cosine (temp 4-component vector of float) -0:265 'inF0' (in 4-component vector of float) +0:265 move second child to first child ( temp 4-component vector of float) +0:265 'r002' ( temp 4-component vector of float) +0:265 arc cosine ( temp 4-component vector of float) +0:265 'inF0' ( in 4-component vector of float) 0:266 Sequence -0:266 move second child to first child (temp bool) -0:266 'r003' (temp bool) -0:266 any (temp bool) -0:266 'inF0' (in 4-component vector of float) +0:266 move second child to first child ( temp bool) +0:266 'r003' ( temp bool) +0:266 any ( temp bool) +0:266 'inF0' ( in 4-component vector of float) 0:267 Sequence -0:267 move second child to first child (temp 4-component vector of float) -0:267 'r004' (temp 4-component vector of float) -0:267 arc sine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'r004' ( temp 4-component vector of float) +0:267 arc sine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) 0:268 Sequence -0:268 move second child to first child (temp 4-component vector of int) -0:268 'r005' (temp 4-component vector of int) -0:268 floatBitsToInt (temp 4-component vector of int) -0:268 'inF0' (in 4-component vector of float) +0:268 move second child to first child ( temp 4-component vector of int) +0:268 'r005' ( temp 4-component vector of int) +0:268 floatBitsToInt ( temp 4-component vector of int) +0:268 'inF0' ( in 4-component vector of float) 0:269 Sequence -0:269 move second child to first child (temp 4-component vector of uint) -0:269 'r006' (temp 4-component vector of uint) -0:269 floatBitsToUint (temp 4-component vector of uint) -0:269 'inF0' (in 4-component vector of float) +0:269 move second child to first child ( temp 4-component vector of uint) +0:269 'r006' ( temp 4-component vector of uint) +0:269 floatBitsToUint ( temp 4-component vector of uint) +0:269 'inF0' ( in 4-component vector of float) 0:270 Sequence -0:270 move second child to first child (temp 4-component vector of float) -0:270 'r007' (temp 4-component vector of float) -0:270 intBitsToFloat (temp 4-component vector of float) -0:270 'inU0' (in 4-component vector of uint) +0:270 move second child to first child ( temp 4-component vector of float) +0:270 'r007' ( temp 4-component vector of float) +0:270 intBitsToFloat ( temp 4-component vector of float) +0:270 'inU0' ( in 4-component vector of uint) 0:272 Sequence -0:272 move second child to first child (temp 4-component vector of float) -0:272 'r009' (temp 4-component vector of float) -0:272 arc tangent (temp 4-component vector of float) -0:272 'inF0' (in 4-component vector of float) +0:272 move second child to first child ( temp 4-component vector of float) +0:272 'r009' ( temp 4-component vector of float) +0:272 arc tangent ( temp 4-component vector of float) +0:272 'inF0' ( in 4-component vector of float) 0:273 Sequence -0:273 move second child to first child (temp 4-component vector of float) -0:273 'r010' (temp 4-component vector of float) -0:273 arc tangent (temp 4-component vector of float) -0:273 'inF0' (in 4-component vector of float) -0:273 'inF1' (in 4-component vector of float) +0:273 move second child to first child ( temp 4-component vector of float) +0:273 'r010' ( temp 4-component vector of float) +0:273 arc tangent ( temp 4-component vector of float) +0:273 'inF0' ( in 4-component vector of float) +0:273 'inF1' ( in 4-component vector of float) 0:274 Sequence -0:274 move second child to first child (temp 4-component vector of float) -0:274 'r011' (temp 4-component vector of float) -0:274 Ceiling (temp 4-component vector of float) -0:274 'inF0' (in 4-component vector of float) +0:274 move second child to first child ( temp 4-component vector of float) +0:274 'r011' ( temp 4-component vector of float) +0:274 Ceiling ( temp 4-component vector of float) +0:274 'inF0' ( in 4-component vector of float) 0:275 Sequence -0:275 move second child to first child (temp 4-component vector of float) -0:275 'r012' (temp 4-component vector of float) -0:275 clamp (temp 4-component vector of float) -0:275 'inF0' (in 4-component vector of float) -0:275 'inF1' (in 4-component vector of float) -0:275 'inF2' (in 4-component vector of float) -0:276 Test condition and select (temp void) +0:275 move second child to first child ( temp 4-component vector of float) +0:275 'r012' ( temp 4-component vector of float) +0:275 clamp ( temp 4-component vector of float) +0:275 'inF0' ( in 4-component vector of float) +0:275 'inF1' ( in 4-component vector of float) +0:275 'inF2' ( in 4-component vector of float) +0:276 Test condition and select ( temp void) 0:276 Condition -0:276 any (temp bool) -0:276 Compare Less Than (temp 4-component vector of bool) -0:276 'inF0' (in 4-component vector of float) +0:276 any ( temp bool) +0:276 Compare Less Than ( temp 4-component vector of bool) +0:276 'inF0' ( in 4-component vector of float) 0:276 Constant: 0:276 0.000000 0:276 0.000000 @@ -4025,391 +4028,391 @@ gl_FragCoord origin is upper left 0:276 true case 0:276 Branch: Kill 0:277 Sequence -0:277 move second child to first child (temp 4-component vector of float) -0:277 'r013' (temp 4-component vector of float) -0:277 cosine (temp 4-component vector of float) -0:277 'inF0' (in 4-component vector of float) +0:277 move second child to first child ( temp 4-component vector of float) +0:277 'r013' ( temp 4-component vector of float) +0:277 cosine ( temp 4-component vector of float) +0:277 'inF0' ( in 4-component vector of float) 0:278 Sequence -0:278 move second child to first child (temp 4-component vector of float) -0:278 'r014' (temp 4-component vector of float) -0:278 hyp. cosine (temp 4-component vector of float) -0:278 'inF0' (in 4-component vector of float) +0:278 move second child to first child ( temp 4-component vector of float) +0:278 'r014' ( temp 4-component vector of float) +0:278 hyp. cosine ( temp 4-component vector of float) +0:278 'inF0' ( in 4-component vector of float) 0:279 Sequence -0:279 move second child to first child (temp 4-component vector of uint) -0:279 'r015' (temp 4-component vector of uint) -0:? bitCount (temp 4-component vector of uint) +0:279 move second child to first child ( temp 4-component vector of uint) +0:279 'r015' ( temp 4-component vector of uint) +0:? bitCount ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:? 2 (const uint) 0:280 Sequence -0:280 move second child to first child (temp 4-component vector of float) -0:280 'r016' (temp 4-component vector of float) -0:280 dPdx (temp 4-component vector of float) -0:280 'inF0' (in 4-component vector of float) +0:280 move second child to first child ( temp 4-component vector of float) +0:280 'r016' ( temp 4-component vector of float) +0:280 dPdx ( temp 4-component vector of float) +0:280 'inF0' ( in 4-component vector of float) 0:281 Sequence -0:281 move second child to first child (temp 4-component vector of float) -0:281 'r017' (temp 4-component vector of float) -0:281 dPdxCoarse (temp 4-component vector of float) -0:281 'inF0' (in 4-component vector of float) +0:281 move second child to first child ( temp 4-component vector of float) +0:281 'r017' ( temp 4-component vector of float) +0:281 dPdxCoarse ( temp 4-component vector of float) +0:281 'inF0' ( in 4-component vector of float) 0:282 Sequence -0:282 move second child to first child (temp 4-component vector of float) -0:282 'r018' (temp 4-component vector of float) -0:282 dPdxFine (temp 4-component vector of float) -0:282 'inF0' (in 4-component vector of float) +0:282 move second child to first child ( temp 4-component vector of float) +0:282 'r018' ( temp 4-component vector of float) +0:282 dPdxFine ( temp 4-component vector of float) +0:282 'inF0' ( in 4-component vector of float) 0:283 Sequence -0:283 move second child to first child (temp 4-component vector of float) -0:283 'r019' (temp 4-component vector of float) -0:283 dPdy (temp 4-component vector of float) -0:283 'inF0' (in 4-component vector of float) +0:283 move second child to first child ( temp 4-component vector of float) +0:283 'r019' ( temp 4-component vector of float) +0:283 dPdy ( temp 4-component vector of float) +0:283 'inF0' ( in 4-component vector of float) 0:284 Sequence -0:284 move second child to first child (temp 4-component vector of float) -0:284 'r020' (temp 4-component vector of float) -0:284 dPdyCoarse (temp 4-component vector of float) -0:284 'inF0' (in 4-component vector of float) +0:284 move second child to first child ( temp 4-component vector of float) +0:284 'r020' ( temp 4-component vector of float) +0:284 dPdyCoarse ( temp 4-component vector of float) +0:284 'inF0' ( in 4-component vector of float) 0:285 Sequence -0:285 move second child to first child (temp 4-component vector of float) -0:285 'r021' (temp 4-component vector of float) -0:285 dPdyFine (temp 4-component vector of float) -0:285 'inF0' (in 4-component vector of float) +0:285 move second child to first child ( temp 4-component vector of float) +0:285 'r021' ( temp 4-component vector of float) +0:285 dPdyFine ( temp 4-component vector of float) +0:285 'inF0' ( in 4-component vector of float) 0:286 Sequence -0:286 move second child to first child (temp 4-component vector of float) -0:286 'r022' (temp 4-component vector of float) -0:286 degrees (temp 4-component vector of float) -0:286 'inF0' (in 4-component vector of float) +0:286 move second child to first child ( temp 4-component vector of float) +0:286 'r022' ( temp 4-component vector of float) +0:286 degrees ( temp 4-component vector of float) +0:286 'inF0' ( in 4-component vector of float) 0:287 Sequence -0:287 move second child to first child (temp float) -0:287 'r023' (temp float) -0:287 distance (temp float) -0:287 'inF0' (in 4-component vector of float) -0:287 'inF1' (in 4-component vector of float) +0:287 move second child to first child ( temp float) +0:287 'r023' ( temp float) +0:287 distance ( temp float) +0:287 'inF0' ( in 4-component vector of float) +0:287 'inF1' ( in 4-component vector of float) 0:288 Sequence -0:288 move second child to first child (temp float) -0:288 'r024' (temp float) -0:288 dot-product (temp float) -0:288 'inF0' (in 4-component vector of float) -0:288 'inF1' (in 4-component vector of float) +0:288 move second child to first child ( temp float) +0:288 'r024' ( temp float) +0:288 dot-product ( temp float) +0:288 'inF0' ( in 4-component vector of float) +0:288 'inF1' ( in 4-component vector of float) 0:289 Sequence -0:289 move second child to first child (temp 4-component vector of float) -0:289 'r025' (temp 4-component vector of float) -0:289 Construct vec4 (temp 4-component vector of float) +0:289 move second child to first child ( temp 4-component vector of float) +0:289 'r025' ( temp 4-component vector of float) +0:289 Construct vec4 ( temp 4-component vector of float) 0:289 Constant: 0:289 1.000000 -0:289 component-wise multiply (temp float) -0:289 direct index (temp float) -0:289 'inF0' (in 4-component vector of float) +0:289 component-wise multiply ( temp float) +0:289 direct index ( temp float) +0:289 'inF0' ( in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) -0:289 direct index (temp float) -0:289 'inF1' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF1' ( in 4-component vector of float) 0:289 Constant: 0:289 1 (const int) -0:289 direct index (temp float) -0:289 'inF0' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF0' ( in 4-component vector of float) 0:289 Constant: 0:289 2 (const int) -0:289 direct index (temp float) -0:289 'inF1' (in 4-component vector of float) +0:289 direct index ( temp float) +0:289 'inF1' ( in 4-component vector of float) 0:289 Constant: 0:289 3 (const int) 0:293 Sequence -0:293 move second child to first child (temp 4-component vector of float) -0:293 'r029' (temp 4-component vector of float) -0:293 exp (temp 4-component vector of float) -0:293 'inF0' (in 4-component vector of float) +0:293 move second child to first child ( temp 4-component vector of float) +0:293 'r029' ( temp 4-component vector of float) +0:293 exp ( temp 4-component vector of float) +0:293 'inF0' ( in 4-component vector of float) 0:294 Sequence -0:294 move second child to first child (temp 4-component vector of float) -0:294 'r030' (temp 4-component vector of float) -0:294 exp2 (temp 4-component vector of float) -0:294 'inF0' (in 4-component vector of float) +0:294 move second child to first child ( temp 4-component vector of float) +0:294 'r030' ( temp 4-component vector of float) +0:294 exp2 ( temp 4-component vector of float) +0:294 'inF0' ( in 4-component vector of float) 0:295 Sequence -0:295 move second child to first child (temp 4-component vector of float) -0:295 'r031' (temp 4-component vector of float) -0:295 face-forward (temp 4-component vector of float) -0:295 'inF0' (in 4-component vector of float) -0:295 'inF1' (in 4-component vector of float) -0:295 'inF2' (in 4-component vector of float) +0:295 move second child to first child ( temp 4-component vector of float) +0:295 'r031' ( temp 4-component vector of float) +0:295 face-forward ( temp 4-component vector of float) +0:295 'inF0' ( in 4-component vector of float) +0:295 'inF1' ( in 4-component vector of float) +0:295 'inF2' ( in 4-component vector of float) 0:296 Sequence -0:296 move second child to first child (temp 4-component vector of uint) -0:296 'r032' (temp 4-component vector of uint) -0:? findMSB (temp 4-component vector of uint) +0:296 move second child to first child ( temp 4-component vector of uint) +0:296 'r032' ( temp 4-component vector of uint) +0:? findMSB ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:? 9 (const uint) 0:? 10 (const uint) 0:297 Sequence -0:297 move second child to first child (temp 4-component vector of uint) -0:297 'r033' (temp 4-component vector of uint) -0:? findLSB (temp 4-component vector of uint) +0:297 move second child to first child ( temp 4-component vector of uint) +0:297 'r033' ( temp 4-component vector of uint) +0:? findLSB ( temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) 0:? 9 (const uint) 0:? 10 (const uint) 0:298 Sequence -0:298 move second child to first child (temp 4-component vector of float) -0:298 'r034' (temp 4-component vector of float) -0:298 Floor (temp 4-component vector of float) -0:298 'inF0' (in 4-component vector of float) +0:298 move second child to first child ( temp 4-component vector of float) +0:298 'r034' ( temp 4-component vector of float) +0:298 Floor ( temp 4-component vector of float) +0:298 'inF0' ( in 4-component vector of float) 0:300 Sequence -0:300 move second child to first child (temp 4-component vector of float) -0:300 'r036' (temp 4-component vector of float) -0:300 mod (temp 4-component vector of float) -0:300 'inF0' (in 4-component vector of float) -0:300 'inF1' (in 4-component vector of float) +0:300 move second child to first child ( temp 4-component vector of float) +0:300 'r036' ( temp 4-component vector of float) +0:300 mod ( temp 4-component vector of float) +0:300 'inF0' ( in 4-component vector of float) +0:300 'inF1' ( in 4-component vector of float) 0:301 Sequence -0:301 move second child to first child (temp 4-component vector of float) -0:301 'r037' (temp 4-component vector of float) -0:301 Fraction (temp 4-component vector of float) -0:301 'inF0' (in 4-component vector of float) +0:301 move second child to first child ( temp 4-component vector of float) +0:301 'r037' ( temp 4-component vector of float) +0:301 Fraction ( temp 4-component vector of float) +0:301 'inF0' ( in 4-component vector of float) 0:302 Sequence -0:302 move second child to first child (temp 4-component vector of float) -0:302 'r038' (temp 4-component vector of float) -0:302 frexp (temp 4-component vector of float) -0:302 'inF0' (in 4-component vector of float) -0:302 'inF1' (in 4-component vector of float) +0:302 move second child to first child ( temp 4-component vector of float) +0:302 'r038' ( temp 4-component vector of float) +0:302 frexp ( temp 4-component vector of float) +0:302 'inF0' ( in 4-component vector of float) +0:302 'inF1' ( in 4-component vector of float) 0:303 Sequence -0:303 move second child to first child (temp 4-component vector of float) -0:303 'r039' (temp 4-component vector of float) -0:303 fwidth (temp 4-component vector of float) -0:303 'inF0' (in 4-component vector of float) +0:303 move second child to first child ( temp 4-component vector of float) +0:303 'r039' ( temp 4-component vector of float) +0:303 fwidth ( temp 4-component vector of float) +0:303 'inF0' ( in 4-component vector of float) 0:304 Sequence -0:304 move second child to first child (temp 4-component vector of bool) -0:304 'r040' (temp 4-component vector of bool) -0:304 isinf (temp 4-component vector of bool) -0:304 'inF0' (in 4-component vector of float) +0:304 move second child to first child ( temp 4-component vector of bool) +0:304 'r040' ( temp 4-component vector of bool) +0:304 isinf ( temp 4-component vector of bool) +0:304 'inF0' ( in 4-component vector of float) 0:305 Sequence -0:305 move second child to first child (temp 4-component vector of bool) -0:305 'r041' (temp 4-component vector of bool) -0:305 isnan (temp 4-component vector of bool) -0:305 'inF0' (in 4-component vector of float) +0:305 move second child to first child ( temp 4-component vector of bool) +0:305 'r041' ( temp 4-component vector of bool) +0:305 isnan ( temp 4-component vector of bool) +0:305 'inF0' ( in 4-component vector of float) 0:306 Sequence -0:306 move second child to first child (temp 4-component vector of float) -0:306 'r042' (temp 4-component vector of float) -0:306 ldexp (temp 4-component vector of float) -0:306 'inF0' (in 4-component vector of float) -0:306 'inF1' (in 4-component vector of float) +0:306 move second child to first child ( temp 4-component vector of float) +0:306 'r042' ( temp 4-component vector of float) +0:306 ldexp ( temp 4-component vector of float) +0:306 'inF0' ( in 4-component vector of float) +0:306 'inF1' ( in 4-component vector of float) 0:307 Sequence -0:307 move second child to first child (temp 4-component vector of float) -0:307 'r039a' (temp 4-component vector of float) -0:307 mix (temp 4-component vector of float) -0:307 'inF0' (in 4-component vector of float) -0:307 'inF1' (in 4-component vector of float) -0:307 'inF2' (in 4-component vector of float) +0:307 move second child to first child ( temp 4-component vector of float) +0:307 'r039a' ( temp 4-component vector of float) +0:307 mix ( temp 4-component vector of float) +0:307 'inF0' ( in 4-component vector of float) +0:307 'inF1' ( in 4-component vector of float) +0:307 'inF2' ( in 4-component vector of float) 0:308 Sequence -0:308 move second child to first child (temp float) -0:308 'r043' (temp float) -0:308 length (temp float) -0:308 'inF0' (in 4-component vector of float) +0:308 move second child to first child ( temp float) +0:308 'r043' ( temp float) +0:308 length ( temp float) +0:308 'inF0' ( in 4-component vector of float) 0:309 Sequence -0:309 move second child to first child (temp 4-component vector of float) -0:309 'r044' (temp 4-component vector of float) -0:309 log (temp 4-component vector of float) -0:309 'inF0' (in 4-component vector of float) +0:309 move second child to first child ( temp 4-component vector of float) +0:309 'r044' ( temp 4-component vector of float) +0:309 log ( temp 4-component vector of float) +0:309 'inF0' ( in 4-component vector of float) 0:310 Sequence -0:310 move second child to first child (temp 4-component vector of float) -0:310 'r045' (temp 4-component vector of float) -0:310 vector-scale (temp 4-component vector of float) -0:310 log2 (temp 4-component vector of float) -0:310 'inF0' (in 4-component vector of float) +0:310 move second child to first child ( temp 4-component vector of float) +0:310 'r045' ( temp 4-component vector of float) +0:310 vector-scale ( temp 4-component vector of float) +0:310 log2 ( temp 4-component vector of float) +0:310 'inF0' ( in 4-component vector of float) 0:310 Constant: 0:310 0.301030 0:311 Sequence -0:311 move second child to first child (temp 4-component vector of float) -0:311 'r046' (temp 4-component vector of float) -0:311 log2 (temp 4-component vector of float) -0:311 'inF0' (in 4-component vector of float) +0:311 move second child to first child ( temp 4-component vector of float) +0:311 'r046' ( temp 4-component vector of float) +0:311 log2 ( temp 4-component vector of float) +0:311 'inF0' ( in 4-component vector of float) 0:312 Sequence -0:312 move second child to first child (temp 4-component vector of float) -0:312 'r047' (temp 4-component vector of float) -0:312 max (temp 4-component vector of float) -0:312 'inF0' (in 4-component vector of float) -0:312 'inF1' (in 4-component vector of float) +0:312 move second child to first child ( temp 4-component vector of float) +0:312 'r047' ( temp 4-component vector of float) +0:312 max ( temp 4-component vector of float) +0:312 'inF0' ( in 4-component vector of float) +0:312 'inF1' ( in 4-component vector of float) 0:313 Sequence -0:313 move second child to first child (temp 4-component vector of float) -0:313 'r048' (temp 4-component vector of float) -0:313 min (temp 4-component vector of float) -0:313 'inF0' (in 4-component vector of float) -0:313 'inF1' (in 4-component vector of float) +0:313 move second child to first child ( temp 4-component vector of float) +0:313 'r048' ( temp 4-component vector of float) +0:313 min ( temp 4-component vector of float) +0:313 'inF0' ( in 4-component vector of float) +0:313 'inF1' ( in 4-component vector of float) 0:314 Sequence -0:314 move second child to first child (temp 4-component vector of float) -0:314 'r049' (temp 4-component vector of float) -0:314 normalize (temp 4-component vector of float) -0:314 'inF0' (in 4-component vector of float) +0:314 move second child to first child ( temp 4-component vector of float) +0:314 'r049' ( temp 4-component vector of float) +0:314 normalize ( temp 4-component vector of float) +0:314 'inF0' ( in 4-component vector of float) 0:315 Sequence -0:315 move second child to first child (temp 4-component vector of float) -0:315 'r050' (temp 4-component vector of float) -0:315 pow (temp 4-component vector of float) -0:315 'inF0' (in 4-component vector of float) -0:315 'inF1' (in 4-component vector of float) +0:315 move second child to first child ( temp 4-component vector of float) +0:315 'r050' ( temp 4-component vector of float) +0:315 pow ( temp 4-component vector of float) +0:315 'inF0' ( in 4-component vector of float) +0:315 'inF1' ( in 4-component vector of float) 0:316 Sequence -0:316 move second child to first child (temp 4-component vector of float) -0:316 'r051' (temp 4-component vector of float) -0:316 radians (temp 4-component vector of float) -0:316 'inF0' (in 4-component vector of float) +0:316 move second child to first child ( temp 4-component vector of float) +0:316 'r051' ( temp 4-component vector of float) +0:316 radians ( temp 4-component vector of float) +0:316 'inF0' ( in 4-component vector of float) 0:317 Sequence -0:317 move second child to first child (temp 4-component vector of float) -0:317 'r052' (temp 4-component vector of float) -0:317 divide (temp 4-component vector of float) +0:317 move second child to first child ( temp 4-component vector of float) +0:317 'r052' ( temp 4-component vector of float) +0:317 divide ( temp 4-component vector of float) 0:317 Constant: 0:317 1.000000 -0:317 'inF0' (in 4-component vector of float) +0:317 'inF0' ( in 4-component vector of float) 0:318 Sequence -0:318 move second child to first child (temp 4-component vector of float) -0:318 'r053' (temp 4-component vector of float) -0:318 reflect (temp 4-component vector of float) -0:318 'inF0' (in 4-component vector of float) -0:318 'inF1' (in 4-component vector of float) +0:318 move second child to first child ( temp 4-component vector of float) +0:318 'r053' ( temp 4-component vector of float) +0:318 reflect ( temp 4-component vector of float) +0:318 'inF0' ( in 4-component vector of float) +0:318 'inF1' ( in 4-component vector of float) 0:319 Sequence -0:319 move second child to first child (temp 4-component vector of float) -0:319 'r054' (temp 4-component vector of float) -0:319 refract (temp 4-component vector of float) -0:319 'inF0' (in 4-component vector of float) -0:319 'inF1' (in 4-component vector of float) +0:319 move second child to first child ( temp 4-component vector of float) +0:319 'r054' ( temp 4-component vector of float) +0:319 refract ( temp 4-component vector of float) +0:319 'inF0' ( in 4-component vector of float) +0:319 'inF1' ( in 4-component vector of float) 0:319 Constant: 0:319 2.000000 0:320 Sequence -0:320 move second child to first child (temp 4-component vector of uint) -0:320 'r055' (temp 4-component vector of uint) -0:? bitFieldReverse (temp 4-component vector of uint) +0:320 move second child to first child ( temp 4-component vector of uint) +0:320 'r055' ( temp 4-component vector of uint) +0:? bitFieldReverse ( temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:321 Sequence -0:321 move second child to first child (temp 4-component vector of float) -0:321 'r056' (temp 4-component vector of float) -0:321 roundEven (temp 4-component vector of float) -0:321 'inF0' (in 4-component vector of float) +0:321 move second child to first child ( temp 4-component vector of float) +0:321 'r056' ( temp 4-component vector of float) +0:321 roundEven ( temp 4-component vector of float) +0:321 'inF0' ( in 4-component vector of float) 0:322 Sequence -0:322 move second child to first child (temp 4-component vector of float) -0:322 'r057' (temp 4-component vector of float) -0:322 inverse sqrt (temp 4-component vector of float) -0:322 'inF0' (in 4-component vector of float) +0:322 move second child to first child ( temp 4-component vector of float) +0:322 'r057' ( temp 4-component vector of float) +0:322 inverse sqrt ( temp 4-component vector of float) +0:322 'inF0' ( in 4-component vector of float) 0:323 Sequence -0:323 move second child to first child (temp 4-component vector of float) -0:323 'r058' (temp 4-component vector of float) -0:323 clamp (temp 4-component vector of float) -0:323 'inF0' (in 4-component vector of float) +0:323 move second child to first child ( temp 4-component vector of float) +0:323 'r058' ( temp 4-component vector of float) +0:323 clamp ( temp 4-component vector of float) +0:323 'inF0' ( in 4-component vector of float) 0:323 Constant: 0:323 0.000000 0:323 Constant: 0:323 1.000000 0:324 Sequence -0:324 move second child to first child (temp 4-component vector of float) -0:324 'r059' (temp 4-component vector of float) -0:324 Sign (temp 4-component vector of float) -0:324 'inF0' (in 4-component vector of float) +0:324 move second child to first child ( temp 4-component vector of float) +0:324 'r059' ( temp 4-component vector of float) +0:324 Sign ( temp 4-component vector of float) +0:324 'inF0' ( in 4-component vector of float) 0:325 Sequence -0:325 move second child to first child (temp 4-component vector of float) -0:325 'r060' (temp 4-component vector of float) -0:325 sine (temp 4-component vector of float) -0:325 'inF0' (in 4-component vector of float) +0:325 move second child to first child ( temp 4-component vector of float) +0:325 'r060' ( temp 4-component vector of float) +0:325 sine ( temp 4-component vector of float) +0:325 'inF0' ( in 4-component vector of float) 0:326 Sequence -0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF1' (in 4-component vector of float) -0:326 sine (temp 4-component vector of float) -0:326 'inF0' (in 4-component vector of float) -0:326 move second child to first child (temp 4-component vector of float) -0:326 'inF2' (in 4-component vector of float) -0:326 cosine (temp 4-component vector of float) -0:326 'inF0' (in 4-component vector of float) +0:326 move second child to first child ( temp 4-component vector of float) +0:326 'inF1' ( in 4-component vector of float) +0:326 sine ( temp 4-component vector of float) +0:326 'inF0' ( in 4-component vector of float) +0:326 move second child to first child ( temp 4-component vector of float) +0:326 'inF2' ( in 4-component vector of float) +0:326 cosine ( temp 4-component vector of float) +0:326 'inF0' ( in 4-component vector of float) 0:327 Sequence -0:327 move second child to first child (temp 4-component vector of float) -0:327 'r061' (temp 4-component vector of float) -0:327 hyp. sine (temp 4-component vector of float) -0:327 'inF0' (in 4-component vector of float) +0:327 move second child to first child ( temp 4-component vector of float) +0:327 'r061' ( temp 4-component vector of float) +0:327 hyp. sine ( temp 4-component vector of float) +0:327 'inF0' ( in 4-component vector of float) 0:328 Sequence -0:328 move second child to first child (temp 4-component vector of float) -0:328 'r062' (temp 4-component vector of float) -0:328 smoothstep (temp 4-component vector of float) -0:328 'inF0' (in 4-component vector of float) -0:328 'inF1' (in 4-component vector of float) -0:328 'inF2' (in 4-component vector of float) +0:328 move second child to first child ( temp 4-component vector of float) +0:328 'r062' ( temp 4-component vector of float) +0:328 smoothstep ( temp 4-component vector of float) +0:328 'inF0' ( in 4-component vector of float) +0:328 'inF1' ( in 4-component vector of float) +0:328 'inF2' ( in 4-component vector of float) 0:329 Sequence -0:329 move second child to first child (temp 4-component vector of float) -0:329 'r063' (temp 4-component vector of float) -0:329 sqrt (temp 4-component vector of float) -0:329 'inF0' (in 4-component vector of float) +0:329 move second child to first child ( temp 4-component vector of float) +0:329 'r063' ( temp 4-component vector of float) +0:329 sqrt ( temp 4-component vector of float) +0:329 'inF0' ( in 4-component vector of float) 0:330 Sequence -0:330 move second child to first child (temp 4-component vector of float) -0:330 'r064' (temp 4-component vector of float) -0:330 step (temp 4-component vector of float) -0:330 'inF0' (in 4-component vector of float) -0:330 'inF1' (in 4-component vector of float) +0:330 move second child to first child ( temp 4-component vector of float) +0:330 'r064' ( temp 4-component vector of float) +0:330 step ( temp 4-component vector of float) +0:330 'inF0' ( in 4-component vector of float) +0:330 'inF1' ( in 4-component vector of float) 0:331 Sequence -0:331 move second child to first child (temp 4-component vector of float) -0:331 'r065' (temp 4-component vector of float) -0:331 tangent (temp 4-component vector of float) -0:331 'inF0' (in 4-component vector of float) +0:331 move second child to first child ( temp 4-component vector of float) +0:331 'r065' ( temp 4-component vector of float) +0:331 tangent ( temp 4-component vector of float) +0:331 'inF0' ( in 4-component vector of float) 0:332 Sequence -0:332 move second child to first child (temp 4-component vector of float) -0:332 'r066' (temp 4-component vector of float) -0:332 hyp. tangent (temp 4-component vector of float) -0:332 'inF0' (in 4-component vector of float) +0:332 move second child to first child ( temp 4-component vector of float) +0:332 'r066' ( temp 4-component vector of float) +0:332 hyp. tangent ( temp 4-component vector of float) +0:332 'inF0' ( in 4-component vector of float) 0:334 Sequence -0:334 move second child to first child (temp 4-component vector of float) -0:334 'r067' (temp 4-component vector of float) -0:334 trunc (temp 4-component vector of float) -0:334 'inF0' (in 4-component vector of float) +0:334 move second child to first child ( temp 4-component vector of float) +0:334 'r067' ( temp 4-component vector of float) +0:334 trunc ( temp 4-component vector of float) +0:334 'inF0' ( in 4-component vector of float) 0:337 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:401 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:401 Function Parameters: -0:401 'inF0' (in 2X2 matrix of float) -0:401 'inF1' (in 2X2 matrix of float) -0:401 'inF2' (in 2X2 matrix of float) +0:401 'inF0' ( in 2X2 matrix of float) +0:401 'inF1' ( in 2X2 matrix of float) +0:401 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:403 Sequence -0:403 move second child to first child (temp bool) -0:403 'r000' (temp bool) -0:403 all (temp bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp bool) +0:403 'r000' ( temp bool) +0:403 all ( temp bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r001' (temp 2X2 matrix of float) -0:403 Absolute value (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 arc cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r001' ( temp 2X2 matrix of float) +0:403 Absolute value ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 arc cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp bool) -0:403 'r003' (temp bool) -0:403 any (temp bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp bool) +0:403 'r003' ( temp bool) +0:403 any ( temp bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r004' (temp 2X2 matrix of float) -0:403 arc sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r004' ( temp 2X2 matrix of float) +0:403 arc sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r005' (temp 2X2 matrix of float) -0:403 arc tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r005' ( temp 2X2 matrix of float) +0:403 arc tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r006' (temp 2X2 matrix of float) -0:403 arc tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r006' ( temp 2X2 matrix of float) +0:403 arc tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r007' (temp 2X2 matrix of float) -0:403 Ceiling (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 Test condition and select (temp void) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r007' ( temp 2X2 matrix of float) +0:403 Ceiling ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 Test condition and select ( temp void) 0:403 Condition -0:403 any (temp bool) -0:403 Compare Less Than (temp 2X2 matrix of bool) -0:403 'inF0' (in 2X2 matrix of float) +0:403 any ( temp bool) +0:403 Compare Less Than ( temp 2X2 matrix of bool) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.000000 0:403 0.000000 @@ -4418,286 +4421,286 @@ gl_FragCoord origin is upper left 0:403 true case 0:403 Branch: Kill 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r008' (temp 2X2 matrix of float) -0:403 clamp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r008' ( temp 2X2 matrix of float) +0:403 clamp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r009' (temp 2X2 matrix of float) -0:403 cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r009' ( temp 2X2 matrix of float) +0:403 cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r010' (temp 2X2 matrix of float) -0:403 hyp. cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r010' ( temp 2X2 matrix of float) +0:403 hyp. cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r011' (temp 2X2 matrix of float) -0:403 dPdx (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r011' ( temp 2X2 matrix of float) +0:403 dPdx ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r012' (temp 2X2 matrix of float) -0:403 dPdxCoarse (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r012' ( temp 2X2 matrix of float) +0:403 dPdxCoarse ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r013' (temp 2X2 matrix of float) -0:403 dPdxFine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r013' ( temp 2X2 matrix of float) +0:403 dPdxFine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r014' (temp 2X2 matrix of float) -0:403 dPdy (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r014' ( temp 2X2 matrix of float) +0:403 dPdy ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r015' (temp 2X2 matrix of float) -0:403 dPdyCoarse (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r015' ( temp 2X2 matrix of float) +0:403 dPdyCoarse ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r016' (temp 2X2 matrix of float) -0:403 dPdyFine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r016' ( temp 2X2 matrix of float) +0:403 dPdyFine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r017' (temp 2X2 matrix of float) -0:403 degrees (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r017' ( temp 2X2 matrix of float) +0:403 degrees ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp float) -0:403 'r018' (temp float) -0:403 determinant (temp float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp float) +0:403 'r018' ( temp float) +0:403 determinant ( temp float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r019' (temp 2X2 matrix of float) -0:403 exp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r019' ( temp 2X2 matrix of float) +0:403 exp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'R020' (temp 2X2 matrix of float) -0:403 exp2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'R020' ( temp 2X2 matrix of float) +0:403 exp2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r021' (temp 2X2 matrix of float) -0:403 Floor (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r021' ( temp 2X2 matrix of float) +0:403 Floor ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r022' (temp 2X2 matrix of float) -0:403 mod (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r022' ( temp 2X2 matrix of float) +0:403 mod ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r023' (temp 2X2 matrix of float) -0:403 Fraction (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r023' ( temp 2X2 matrix of float) +0:403 Fraction ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r024' (temp 2X2 matrix of float) -0:403 frexp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r024' ( temp 2X2 matrix of float) +0:403 frexp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r025' (temp 2X2 matrix of float) -0:403 fwidth (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r025' ( temp 2X2 matrix of float) +0:403 fwidth ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r026' (temp 2X2 matrix of float) -0:403 ldexp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r026' ( temp 2X2 matrix of float) +0:403 ldexp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r026a' (temp 2X2 matrix of float) -0:403 mix (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r026a' ( temp 2X2 matrix of float) +0:403 mix ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r027' (temp 2X2 matrix of float) -0:403 log (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r027' ( temp 2X2 matrix of float) +0:403 log ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r028' (temp 2X2 matrix of float) -0:403 matrix-scale (temp 2X2 matrix of float) -0:403 log2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r028' ( temp 2X2 matrix of float) +0:403 matrix-scale ( temp 2X2 matrix of float) +0:403 log2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.301030 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r029' (temp 2X2 matrix of float) -0:403 log2 (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r029' ( temp 2X2 matrix of float) +0:403 log2 ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r030' (temp 2X2 matrix of float) -0:403 max (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r030' ( temp 2X2 matrix of float) +0:403 max ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r031' (temp 2X2 matrix of float) -0:403 min (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r031' ( temp 2X2 matrix of float) +0:403 min ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r032' (temp 2X2 matrix of float) -0:403 pow (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r032' ( temp 2X2 matrix of float) +0:403 pow ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r033' (temp 2X2 matrix of float) -0:403 radians (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r033' ( temp 2X2 matrix of float) +0:403 radians ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r034' (temp 2X2 matrix of float) -0:403 roundEven (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r034' ( temp 2X2 matrix of float) +0:403 roundEven ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r035' (temp 2X2 matrix of float) -0:403 inverse sqrt (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r035' ( temp 2X2 matrix of float) +0:403 inverse sqrt ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r036' (temp 2X2 matrix of float) -0:403 clamp (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r036' ( temp 2X2 matrix of float) +0:403 clamp ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Constant: 0:403 0.000000 0:403 Constant: 0:403 1.000000 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r037' (temp 2X2 matrix of float) -0:403 Sign (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r037' ( temp 2X2 matrix of float) +0:403 Sign ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r038' (temp 2X2 matrix of float) -0:403 sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r038' ( temp 2X2 matrix of float) +0:403 sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) -0:403 cosine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) +0:403 cosine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r039' (temp 2X2 matrix of float) -0:403 hyp. sine (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r039' ( temp 2X2 matrix of float) +0:403 hyp. sine ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r049' (temp 2X2 matrix of float) -0:403 smoothstep (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) -0:403 'inF2' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r049' ( temp 2X2 matrix of float) +0:403 smoothstep ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) +0:403 'inF2' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r041' (temp 2X2 matrix of float) -0:403 sqrt (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r041' ( temp 2X2 matrix of float) +0:403 sqrt ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r042' (temp 2X2 matrix of float) -0:403 step (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 'inF1' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r042' ( temp 2X2 matrix of float) +0:403 step ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 'inF1' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r043' (temp 2X2 matrix of float) -0:403 tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r043' ( temp 2X2 matrix of float) +0:403 tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r044' (temp 2X2 matrix of float) -0:403 hyp. tangent (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) -0:403 transpose (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r044' ( temp 2X2 matrix of float) +0:403 hyp. tangent ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) +0:403 transpose ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:403 Sequence -0:403 move second child to first child (temp 2X2 matrix of float) -0:403 'r046' (temp 2X2 matrix of float) -0:403 trunc (temp 2X2 matrix of float) -0:403 'inF0' (in 2X2 matrix of float) +0:403 move second child to first child ( temp 2X2 matrix of float) +0:403 'r046' ( temp 2X2 matrix of float) +0:403 trunc ( temp 2X2 matrix of float) +0:403 'inF0' ( in 2X2 matrix of float) 0:406 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:410 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:410 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:410 Function Parameters: -0:410 'inF0' (in 3X3 matrix of float) -0:410 'inF1' (in 3X3 matrix of float) -0:410 'inF2' (in 3X3 matrix of float) +0:410 'inF0' ( in 3X3 matrix of float) +0:410 'inF1' ( in 3X3 matrix of float) +0:410 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:412 Sequence -0:412 move second child to first child (temp bool) -0:412 'r000' (temp bool) -0:412 all (temp bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp bool) +0:412 'r000' ( temp bool) +0:412 all ( temp bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r001' (temp 3X3 matrix of float) -0:412 Absolute value (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 arc cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r001' ( temp 3X3 matrix of float) +0:412 Absolute value ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 arc cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp bool) -0:412 'r003' (temp bool) -0:412 any (temp bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp bool) +0:412 'r003' ( temp bool) +0:412 any ( temp bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r004' (temp 3X3 matrix of float) -0:412 arc sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r004' ( temp 3X3 matrix of float) +0:412 arc sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r005' (temp 3X3 matrix of float) -0:412 arc tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r005' ( temp 3X3 matrix of float) +0:412 arc tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r006' (temp 3X3 matrix of float) -0:412 arc tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r006' ( temp 3X3 matrix of float) +0:412 arc tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r007' (temp 3X3 matrix of float) -0:412 Ceiling (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 Test condition and select (temp void) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r007' ( temp 3X3 matrix of float) +0:412 Ceiling ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 Test condition and select ( temp void) 0:412 Condition -0:412 any (temp bool) -0:412 Compare Less Than (temp 3X3 matrix of bool) -0:412 'inF0' (in 3X3 matrix of float) +0:412 any ( temp bool) +0:412 Compare Less Than ( temp 3X3 matrix of bool) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.000000 0:412 0.000000 @@ -4711,231 +4714,231 @@ gl_FragCoord origin is upper left 0:412 true case 0:412 Branch: Kill 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r008' (temp 3X3 matrix of float) -0:412 clamp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r008' ( temp 3X3 matrix of float) +0:412 clamp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r009' (temp 3X3 matrix of float) -0:412 cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r009' ( temp 3X3 matrix of float) +0:412 cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r010' (temp 3X3 matrix of float) -0:412 hyp. cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r010' ( temp 3X3 matrix of float) +0:412 hyp. cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r011' (temp 3X3 matrix of float) -0:412 dPdx (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r011' ( temp 3X3 matrix of float) +0:412 dPdx ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r012' (temp 3X3 matrix of float) -0:412 dPdxCoarse (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r012' ( temp 3X3 matrix of float) +0:412 dPdxCoarse ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r013' (temp 3X3 matrix of float) -0:412 dPdxFine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r013' ( temp 3X3 matrix of float) +0:412 dPdxFine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r014' (temp 3X3 matrix of float) -0:412 dPdy (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r014' ( temp 3X3 matrix of float) +0:412 dPdy ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r015' (temp 3X3 matrix of float) -0:412 dPdyCoarse (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r015' ( temp 3X3 matrix of float) +0:412 dPdyCoarse ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r016' (temp 3X3 matrix of float) -0:412 dPdyFine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r016' ( temp 3X3 matrix of float) +0:412 dPdyFine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r017' (temp 3X3 matrix of float) -0:412 degrees (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r017' ( temp 3X3 matrix of float) +0:412 degrees ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp float) -0:412 'r018' (temp float) -0:412 determinant (temp float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp float) +0:412 'r018' ( temp float) +0:412 determinant ( temp float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r019' (temp 3X3 matrix of float) -0:412 exp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r019' ( temp 3X3 matrix of float) +0:412 exp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'R020' (temp 3X3 matrix of float) -0:412 exp2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'R020' ( temp 3X3 matrix of float) +0:412 exp2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r021' (temp 3X3 matrix of float) -0:412 Floor (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r021' ( temp 3X3 matrix of float) +0:412 Floor ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r022' (temp 3X3 matrix of float) -0:412 mod (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r022' ( temp 3X3 matrix of float) +0:412 mod ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r023' (temp 3X3 matrix of float) -0:412 Fraction (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r023' ( temp 3X3 matrix of float) +0:412 Fraction ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r024' (temp 3X3 matrix of float) -0:412 frexp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r024' ( temp 3X3 matrix of float) +0:412 frexp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r025' (temp 3X3 matrix of float) -0:412 fwidth (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r025' ( temp 3X3 matrix of float) +0:412 fwidth ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r026' (temp 3X3 matrix of float) -0:412 ldexp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r026' ( temp 3X3 matrix of float) +0:412 ldexp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r026a' (temp 3X3 matrix of float) -0:412 mix (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r026a' ( temp 3X3 matrix of float) +0:412 mix ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r027' (temp 3X3 matrix of float) -0:412 log (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r027' ( temp 3X3 matrix of float) +0:412 log ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r028' (temp 3X3 matrix of float) -0:412 matrix-scale (temp 3X3 matrix of float) -0:412 log2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r028' ( temp 3X3 matrix of float) +0:412 matrix-scale ( temp 3X3 matrix of float) +0:412 log2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.301030 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r029' (temp 3X3 matrix of float) -0:412 log2 (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r029' ( temp 3X3 matrix of float) +0:412 log2 ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r030' (temp 3X3 matrix of float) -0:412 max (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r030' ( temp 3X3 matrix of float) +0:412 max ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r031' (temp 3X3 matrix of float) -0:412 min (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r031' ( temp 3X3 matrix of float) +0:412 min ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r032' (temp 3X3 matrix of float) -0:412 pow (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r032' ( temp 3X3 matrix of float) +0:412 pow ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r033' (temp 3X3 matrix of float) -0:412 radians (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r033' ( temp 3X3 matrix of float) +0:412 radians ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r034' (temp 3X3 matrix of float) -0:412 roundEven (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r034' ( temp 3X3 matrix of float) +0:412 roundEven ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r035' (temp 3X3 matrix of float) -0:412 inverse sqrt (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r035' ( temp 3X3 matrix of float) +0:412 inverse sqrt ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r036' (temp 3X3 matrix of float) -0:412 clamp (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r036' ( temp 3X3 matrix of float) +0:412 clamp ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Constant: 0:412 0.000000 0:412 Constant: 0:412 1.000000 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r037' (temp 3X3 matrix of float) -0:412 Sign (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r037' ( temp 3X3 matrix of float) +0:412 Sign ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r038' (temp 3X3 matrix of float) -0:412 sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r038' ( temp 3X3 matrix of float) +0:412 sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) -0:412 cosine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) +0:412 cosine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r039' (temp 3X3 matrix of float) -0:412 hyp. sine (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r039' ( temp 3X3 matrix of float) +0:412 hyp. sine ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r049' (temp 3X3 matrix of float) -0:412 smoothstep (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) -0:412 'inF2' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r049' ( temp 3X3 matrix of float) +0:412 smoothstep ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) +0:412 'inF2' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r041' (temp 3X3 matrix of float) -0:412 sqrt (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r041' ( temp 3X3 matrix of float) +0:412 sqrt ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r042' (temp 3X3 matrix of float) -0:412 step (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 'inF1' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r042' ( temp 3X3 matrix of float) +0:412 step ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 'inF1' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r043' (temp 3X3 matrix of float) -0:412 tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r043' ( temp 3X3 matrix of float) +0:412 tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r044' (temp 3X3 matrix of float) -0:412 hyp. tangent (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) -0:412 transpose (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r044' ( temp 3X3 matrix of float) +0:412 hyp. tangent ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) +0:412 transpose ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3X3 matrix of float) -0:412 'r046' (temp 3X3 matrix of float) -0:412 trunc (temp 3X3 matrix of float) -0:412 'inF0' (in 3X3 matrix of float) +0:412 move second child to first child ( temp 3X3 matrix of float) +0:412 'r046' ( temp 3X3 matrix of float) +0:412 trunc ( temp 3X3 matrix of float) +0:412 'inF0' ( in 3X3 matrix of float) 0:415 Branch: Return with expression 0:? Constant: 0:? 3.000000 @@ -4947,55 +4950,55 @@ gl_FragCoord origin is upper left 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:419 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:419 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:419 Function Parameters: -0:419 'inF0' (in 4X4 matrix of float) -0:419 'inF1' (in 4X4 matrix of float) -0:419 'inF2' (in 4X4 matrix of float) +0:419 'inF0' ( in 4X4 matrix of float) +0:419 'inF1' ( in 4X4 matrix of float) +0:419 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:421 Sequence -0:421 move second child to first child (temp bool) -0:421 'r000' (temp bool) -0:421 all (temp bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp bool) +0:421 'r000' ( temp bool) +0:421 all ( temp bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r001' (temp 4X4 matrix of float) -0:421 Absolute value (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 arc cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r001' ( temp 4X4 matrix of float) +0:421 Absolute value ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 arc cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp bool) -0:421 'r003' (temp bool) -0:421 any (temp bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp bool) +0:421 'r003' ( temp bool) +0:421 any ( temp bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r004' (temp 4X4 matrix of float) -0:421 arc sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r004' ( temp 4X4 matrix of float) +0:421 arc sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r005' (temp 4X4 matrix of float) -0:421 arc tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r005' ( temp 4X4 matrix of float) +0:421 arc tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r006' (temp 4X4 matrix of float) -0:421 arc tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r006' ( temp 4X4 matrix of float) +0:421 arc tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r007' (temp 4X4 matrix of float) -0:421 Ceiling (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 Test condition and select (temp void) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r007' ( temp 4X4 matrix of float) +0:421 Ceiling ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 Test condition and select ( temp void) 0:421 Condition -0:421 any (temp bool) -0:421 Compare Less Than (temp 4X4 matrix of bool) -0:421 'inF0' (in 4X4 matrix of float) +0:421 any ( temp bool) +0:421 Compare Less Than ( temp 4X4 matrix of bool) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.000000 0:421 0.000000 @@ -5016,231 +5019,231 @@ gl_FragCoord origin is upper left 0:421 true case 0:421 Branch: Kill 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r008' (temp 4X4 matrix of float) -0:421 clamp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r008' ( temp 4X4 matrix of float) +0:421 clamp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r009' (temp 4X4 matrix of float) -0:421 cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r009' ( temp 4X4 matrix of float) +0:421 cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r010' (temp 4X4 matrix of float) -0:421 hyp. cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r010' ( temp 4X4 matrix of float) +0:421 hyp. cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r011' (temp 4X4 matrix of float) -0:421 dPdx (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r011' ( temp 4X4 matrix of float) +0:421 dPdx ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r012' (temp 4X4 matrix of float) -0:421 dPdxCoarse (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r012' ( temp 4X4 matrix of float) +0:421 dPdxCoarse ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r013' (temp 4X4 matrix of float) -0:421 dPdxFine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r013' ( temp 4X4 matrix of float) +0:421 dPdxFine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r014' (temp 4X4 matrix of float) -0:421 dPdy (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r014' ( temp 4X4 matrix of float) +0:421 dPdy ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r015' (temp 4X4 matrix of float) -0:421 dPdyCoarse (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r015' ( temp 4X4 matrix of float) +0:421 dPdyCoarse ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r016' (temp 4X4 matrix of float) -0:421 dPdyFine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r016' ( temp 4X4 matrix of float) +0:421 dPdyFine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r017' (temp 4X4 matrix of float) -0:421 degrees (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r017' ( temp 4X4 matrix of float) +0:421 degrees ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp float) -0:421 'r018' (temp float) -0:421 determinant (temp float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp float) +0:421 'r018' ( temp float) +0:421 determinant ( temp float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r019' (temp 4X4 matrix of float) -0:421 exp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r019' ( temp 4X4 matrix of float) +0:421 exp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'R020' (temp 4X4 matrix of float) -0:421 exp2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'R020' ( temp 4X4 matrix of float) +0:421 exp2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r021' (temp 4X4 matrix of float) -0:421 Floor (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r021' ( temp 4X4 matrix of float) +0:421 Floor ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r022' (temp 4X4 matrix of float) -0:421 mod (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r022' ( temp 4X4 matrix of float) +0:421 mod ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r023' (temp 4X4 matrix of float) -0:421 Fraction (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r023' ( temp 4X4 matrix of float) +0:421 Fraction ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r024' (temp 4X4 matrix of float) -0:421 frexp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r024' ( temp 4X4 matrix of float) +0:421 frexp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r025' (temp 4X4 matrix of float) -0:421 fwidth (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r025' ( temp 4X4 matrix of float) +0:421 fwidth ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r026' (temp 4X4 matrix of float) -0:421 ldexp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r026' ( temp 4X4 matrix of float) +0:421 ldexp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r026a' (temp 4X4 matrix of float) -0:421 mix (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r026a' ( temp 4X4 matrix of float) +0:421 mix ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r027' (temp 4X4 matrix of float) -0:421 log (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r027' ( temp 4X4 matrix of float) +0:421 log ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r028' (temp 4X4 matrix of float) -0:421 matrix-scale (temp 4X4 matrix of float) -0:421 log2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r028' ( temp 4X4 matrix of float) +0:421 matrix-scale ( temp 4X4 matrix of float) +0:421 log2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.301030 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r029' (temp 4X4 matrix of float) -0:421 log2 (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r029' ( temp 4X4 matrix of float) +0:421 log2 ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r030' (temp 4X4 matrix of float) -0:421 max (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r030' ( temp 4X4 matrix of float) +0:421 max ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r031' (temp 4X4 matrix of float) -0:421 min (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r031' ( temp 4X4 matrix of float) +0:421 min ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r032' (temp 4X4 matrix of float) -0:421 pow (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r032' ( temp 4X4 matrix of float) +0:421 pow ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r033' (temp 4X4 matrix of float) -0:421 radians (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r033' ( temp 4X4 matrix of float) +0:421 radians ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r034' (temp 4X4 matrix of float) -0:421 roundEven (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r034' ( temp 4X4 matrix of float) +0:421 roundEven ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r035' (temp 4X4 matrix of float) -0:421 inverse sqrt (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r035' ( temp 4X4 matrix of float) +0:421 inverse sqrt ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r036' (temp 4X4 matrix of float) -0:421 clamp (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r036' ( temp 4X4 matrix of float) +0:421 clamp ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Constant: 0:421 0.000000 0:421 Constant: 0:421 1.000000 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r037' (temp 4X4 matrix of float) -0:421 Sign (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r037' ( temp 4X4 matrix of float) +0:421 Sign ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r038' (temp 4X4 matrix of float) -0:421 sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r038' ( temp 4X4 matrix of float) +0:421 sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) -0:421 cosine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) +0:421 cosine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r039' (temp 4X4 matrix of float) -0:421 hyp. sine (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r039' ( temp 4X4 matrix of float) +0:421 hyp. sine ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r049' (temp 4X4 matrix of float) -0:421 smoothstep (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) -0:421 'inF2' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r049' ( temp 4X4 matrix of float) +0:421 smoothstep ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) +0:421 'inF2' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r041' (temp 4X4 matrix of float) -0:421 sqrt (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r041' ( temp 4X4 matrix of float) +0:421 sqrt ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r042' (temp 4X4 matrix of float) -0:421 step (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 'inF1' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r042' ( temp 4X4 matrix of float) +0:421 step ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 'inF1' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r043' (temp 4X4 matrix of float) -0:421 tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r043' ( temp 4X4 matrix of float) +0:421 tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r044' (temp 4X4 matrix of float) -0:421 hyp. tangent (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) -0:421 transpose (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r044' ( temp 4X4 matrix of float) +0:421 hyp. tangent ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) +0:421 transpose ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:421 Sequence -0:421 move second child to first child (temp 4X4 matrix of float) -0:421 'r046' (temp 4X4 matrix of float) -0:421 trunc (temp 4X4 matrix of float) -0:421 'inF0' (in 4X4 matrix of float) +0:421 move second child to first child ( temp 4X4 matrix of float) +0:421 'r046' ( temp 4X4 matrix of float) +0:421 trunc ( temp 4X4 matrix of float) +0:421 'inF0' ( in 4X4 matrix of float) 0:424 Branch: Return with expression 0:? Constant: 0:? 4.000000 @@ -5259,315 +5262,315 @@ gl_FragCoord origin is upper left 0:? 4.000000 0:? 4.000000 0:? 4.000000 -0:442 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void) +0:442 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void) 0:442 Function Parameters: -0:442 'inF0' (in float) -0:442 'inF1' (in float) -0:442 'inFV0' (in 2-component vector of float) -0:442 'inFV1' (in 2-component vector of float) -0:442 'inFM0' (in 2X2 matrix of float) -0:442 'inFM1' (in 2X2 matrix of float) +0:442 'inF0' ( in float) +0:442 'inF1' ( in float) +0:442 'inFV0' ( in 2-component vector of float) +0:442 'inFV1' ( in 2-component vector of float) +0:442 'inFM0' ( in 2X2 matrix of float) +0:442 'inFM1' ( in 2X2 matrix of float) 0:? Sequence 0:443 Sequence -0:443 move second child to first child (temp float) -0:443 'r0' (temp float) -0:443 component-wise multiply (temp float) -0:443 'inF1' (in float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp float) +0:443 'r0' ( temp float) +0:443 component-wise multiply ( temp float) +0:443 'inF1' ( in float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r1' (temp 2-component vector of float) -0:443 vector-scale (temp 2-component vector of float) -0:443 'inF0' (in float) -0:443 'inFV0' (in 2-component vector of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r1' ( temp 2-component vector of float) +0:443 vector-scale ( temp 2-component vector of float) +0:443 'inF0' ( in float) +0:443 'inFV0' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r2' (temp 2-component vector of float) -0:443 vector-scale (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r2' ( temp 2-component vector of float) +0:443 vector-scale ( temp 2-component vector of float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp float) -0:443 'r3' (temp float) -0:443 dot-product (temp float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inFV1' (in 2-component vector of float) +0:443 move second child to first child ( temp float) +0:443 'r3' ( temp float) +0:443 dot-product ( temp float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inFV1' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r4' (temp 2-component vector of float) -0:443 vector-times-matrix (temp 2-component vector of float) -0:443 'inFV0' (in 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r4' ( temp 2-component vector of float) +0:443 vector-times-matrix ( temp 2-component vector of float) +0:443 'inFV0' ( in 2-component vector of float) +0:443 'inFM0' ( in 2X2 matrix of float) 0:443 Sequence -0:443 move second child to first child (temp 2-component vector of float) -0:443 'r5' (temp 2-component vector of float) -0:443 matrix-times-vector (temp 2-component vector of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inFV0' (in 2-component vector of float) +0:443 move second child to first child ( temp 2-component vector of float) +0:443 'r5' ( temp 2-component vector of float) +0:443 matrix-times-vector ( temp 2-component vector of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:443 'inFV0' ( in 2-component vector of float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r6' (temp 2X2 matrix of float) -0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inF0' (in float) -0:443 'inFM0' (in 2X2 matrix of float) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r6' ( temp 2X2 matrix of float) +0:443 matrix-scale ( temp 2X2 matrix of float) +0:443 'inF0' ( in float) +0:443 'inFM0' ( in 2X2 matrix of float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r7' (temp 2X2 matrix of float) -0:443 matrix-scale (temp 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:443 'inF0' (in float) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r7' ( temp 2X2 matrix of float) +0:443 matrix-scale ( temp 2X2 matrix of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:443 'inF0' ( in float) 0:443 Sequence -0:443 move second child to first child (temp 2X2 matrix of float) -0:443 'r8' (temp 2X2 matrix of float) -0:443 matrix-multiply (temp 2X2 matrix of float) -0:443 'inFM1' (in 2X2 matrix of float) -0:443 'inFM0' (in 2X2 matrix of float) -0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void) +0:443 move second child to first child ( temp 2X2 matrix of float) +0:443 'r8' ( temp 2X2 matrix of float) +0:443 matrix-multiply ( temp 2X2 matrix of float) +0:443 'inFM1' ( in 2X2 matrix of float) +0:443 'inFM0' ( in 2X2 matrix of float) +0:449 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void) 0:449 Function Parameters: -0:449 'inF0' (in float) -0:449 'inF1' (in float) -0:449 'inFV0' (in 3-component vector of float) -0:449 'inFV1' (in 3-component vector of float) -0:449 'inFM0' (in 3X3 matrix of float) -0:449 'inFM1' (in 3X3 matrix of float) +0:449 'inF0' ( in float) +0:449 'inF1' ( in float) +0:449 'inFV0' ( in 3-component vector of float) +0:449 'inFV1' ( in 3-component vector of float) +0:449 'inFM0' ( in 3X3 matrix of float) +0:449 'inFM1' ( in 3X3 matrix of float) 0:? Sequence 0:450 Sequence -0:450 move second child to first child (temp float) -0:450 'r0' (temp float) -0:450 component-wise multiply (temp float) -0:450 'inF1' (in float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp float) +0:450 'r0' ( temp float) +0:450 component-wise multiply ( temp float) +0:450 'inF1' ( in float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r1' (temp 3-component vector of float) -0:450 vector-scale (temp 3-component vector of float) -0:450 'inF0' (in float) -0:450 'inFV0' (in 3-component vector of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r1' ( temp 3-component vector of float) +0:450 vector-scale ( temp 3-component vector of float) +0:450 'inF0' ( in float) +0:450 'inFV0' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r2' (temp 3-component vector of float) -0:450 vector-scale (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r2' ( temp 3-component vector of float) +0:450 vector-scale ( temp 3-component vector of float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp float) -0:450 'r3' (temp float) -0:450 dot-product (temp float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inFV1' (in 3-component vector of float) +0:450 move second child to first child ( temp float) +0:450 'r3' ( temp float) +0:450 dot-product ( temp float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inFV1' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r4' (temp 3-component vector of float) -0:450 vector-times-matrix (temp 3-component vector of float) -0:450 'inFV0' (in 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r4' ( temp 3-component vector of float) +0:450 vector-times-matrix ( temp 3-component vector of float) +0:450 'inFV0' ( in 3-component vector of float) +0:450 'inFM0' ( in 3X3 matrix of float) 0:450 Sequence -0:450 move second child to first child (temp 3-component vector of float) -0:450 'r5' (temp 3-component vector of float) -0:450 matrix-times-vector (temp 3-component vector of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inFV0' (in 3-component vector of float) +0:450 move second child to first child ( temp 3-component vector of float) +0:450 'r5' ( temp 3-component vector of float) +0:450 matrix-times-vector ( temp 3-component vector of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:450 'inFV0' ( in 3-component vector of float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r6' (temp 3X3 matrix of float) -0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inF0' (in float) -0:450 'inFM0' (in 3X3 matrix of float) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r6' ( temp 3X3 matrix of float) +0:450 matrix-scale ( temp 3X3 matrix of float) +0:450 'inF0' ( in float) +0:450 'inFM0' ( in 3X3 matrix of float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r7' (temp 3X3 matrix of float) -0:450 matrix-scale (temp 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:450 'inF0' (in float) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r7' ( temp 3X3 matrix of float) +0:450 matrix-scale ( temp 3X3 matrix of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:450 'inF0' ( in float) 0:450 Sequence -0:450 move second child to first child (temp 3X3 matrix of float) -0:450 'r8' (temp 3X3 matrix of float) -0:450 matrix-multiply (temp 3X3 matrix of float) -0:450 'inFM1' (in 3X3 matrix of float) -0:450 'inFM0' (in 3X3 matrix of float) -0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void) +0:450 move second child to first child ( temp 3X3 matrix of float) +0:450 'r8' ( temp 3X3 matrix of float) +0:450 matrix-multiply ( temp 3X3 matrix of float) +0:450 'inFM1' ( in 3X3 matrix of float) +0:450 'inFM0' ( in 3X3 matrix of float) +0:456 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void) 0:456 Function Parameters: -0:456 'inF0' (in float) -0:456 'inF1' (in float) -0:456 'inFV0' (in 4-component vector of float) -0:456 'inFV1' (in 4-component vector of float) -0:456 'inFM0' (in 4X4 matrix of float) -0:456 'inFM1' (in 4X4 matrix of float) +0:456 'inF0' ( in float) +0:456 'inF1' ( in float) +0:456 'inFV0' ( in 4-component vector of float) +0:456 'inFV1' ( in 4-component vector of float) +0:456 'inFM0' ( in 4X4 matrix of float) +0:456 'inFM1' ( in 4X4 matrix of float) 0:? Sequence 0:457 Sequence -0:457 move second child to first child (temp float) -0:457 'r0' (temp float) -0:457 component-wise multiply (temp float) -0:457 'inF1' (in float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp float) +0:457 'r0' ( temp float) +0:457 component-wise multiply ( temp float) +0:457 'inF1' ( in float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r1' (temp 4-component vector of float) -0:457 vector-scale (temp 4-component vector of float) -0:457 'inF0' (in float) -0:457 'inFV0' (in 4-component vector of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r1' ( temp 4-component vector of float) +0:457 vector-scale ( temp 4-component vector of float) +0:457 'inF0' ( in float) +0:457 'inFV0' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r2' (temp 4-component vector of float) -0:457 vector-scale (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r2' ( temp 4-component vector of float) +0:457 vector-scale ( temp 4-component vector of float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp float) -0:457 'r3' (temp float) -0:457 dot-product (temp float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inFV1' (in 4-component vector of float) +0:457 move second child to first child ( temp float) +0:457 'r3' ( temp float) +0:457 dot-product ( temp float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inFV1' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r4' (temp 4-component vector of float) -0:457 vector-times-matrix (temp 4-component vector of float) -0:457 'inFV0' (in 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r4' ( temp 4-component vector of float) +0:457 vector-times-matrix ( temp 4-component vector of float) +0:457 'inFV0' ( in 4-component vector of float) +0:457 'inFM0' ( in 4X4 matrix of float) 0:457 Sequence -0:457 move second child to first child (temp 4-component vector of float) -0:457 'r5' (temp 4-component vector of float) -0:457 matrix-times-vector (temp 4-component vector of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inFV0' (in 4-component vector of float) +0:457 move second child to first child ( temp 4-component vector of float) +0:457 'r5' ( temp 4-component vector of float) +0:457 matrix-times-vector ( temp 4-component vector of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:457 'inFV0' ( in 4-component vector of float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r6' (temp 4X4 matrix of float) -0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inF0' (in float) -0:457 'inFM0' (in 4X4 matrix of float) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r6' ( temp 4X4 matrix of float) +0:457 matrix-scale ( temp 4X4 matrix of float) +0:457 'inF0' ( in float) +0:457 'inFM0' ( in 4X4 matrix of float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r7' (temp 4X4 matrix of float) -0:457 matrix-scale (temp 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:457 'inF0' (in float) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r7' ( temp 4X4 matrix of float) +0:457 matrix-scale ( temp 4X4 matrix of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:457 'inF0' ( in float) 0:457 Sequence -0:457 move second child to first child (temp 4X4 matrix of float) -0:457 'r8' (temp 4X4 matrix of float) -0:457 matrix-multiply (temp 4X4 matrix of float) -0:457 'inFM1' (in 4X4 matrix of float) -0:457 'inFM0' (in 4X4 matrix of float) -0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (temp void) +0:457 move second child to first child ( temp 4X4 matrix of float) +0:457 'r8' ( temp 4X4 matrix of float) +0:457 matrix-multiply ( temp 4X4 matrix of float) +0:457 'inFM1' ( in 4X4 matrix of float) +0:457 'inFM0' ( in 4X4 matrix of float) +0:466 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void) 0:466 Function Parameters: -0:466 'inF0' (in float) -0:466 'inF1' (in float) -0:466 'inFV2' (in 2-component vector of float) -0:466 'inFV3' (in 3-component vector of float) -0:466 'inFM2x3' (in 2X3 matrix of float) -0:466 'inFM3x2' (in 3X2 matrix of float) -0:466 'inFM3x3' (in 3X3 matrix of float) -0:466 'inFM3x4' (in 3X4 matrix of float) -0:466 'inFM2x4' (in 2X4 matrix of float) +0:466 'inF0' ( in float) +0:466 'inF1' ( in float) +0:466 'inFV2' ( in 2-component vector of float) +0:466 'inFV3' ( in 3-component vector of float) +0:466 'inFM2x3' ( in 2X3 matrix of float) +0:466 'inFM3x2' ( in 3X2 matrix of float) +0:466 'inFM3x3' ( in 3X3 matrix of float) +0:466 'inFM3x4' ( in 3X4 matrix of float) +0:466 'inFM2x4' ( in 2X4 matrix of float) 0:? Sequence 0:467 Sequence -0:467 move second child to first child (temp float) -0:467 'r00' (temp float) -0:467 component-wise multiply (temp float) -0:467 'inF1' (in float) -0:467 'inF0' (in float) +0:467 move second child to first child ( temp float) +0:467 'r00' ( temp float) +0:467 component-wise multiply ( temp float) +0:467 'inF1' ( in float) +0:467 'inF0' ( in float) 0:468 Sequence -0:468 move second child to first child (temp 2-component vector of float) -0:468 'r01' (temp 2-component vector of float) -0:468 vector-scale (temp 2-component vector of float) -0:468 'inF0' (in float) -0:468 'inFV2' (in 2-component vector of float) +0:468 move second child to first child ( temp 2-component vector of float) +0:468 'r01' ( temp 2-component vector of float) +0:468 vector-scale ( temp 2-component vector of float) +0:468 'inF0' ( in float) +0:468 'inFV2' ( in 2-component vector of float) 0:469 Sequence -0:469 move second child to first child (temp 3-component vector of float) -0:469 'r02' (temp 3-component vector of float) -0:469 vector-scale (temp 3-component vector of float) -0:469 'inF0' (in float) -0:469 'inFV3' (in 3-component vector of float) +0:469 move second child to first child ( temp 3-component vector of float) +0:469 'r02' ( temp 3-component vector of float) +0:469 vector-scale ( temp 3-component vector of float) +0:469 'inF0' ( in float) +0:469 'inFV3' ( in 3-component vector of float) 0:470 Sequence -0:470 move second child to first child (temp 2-component vector of float) -0:470 'r03' (temp 2-component vector of float) -0:470 vector-scale (temp 2-component vector of float) -0:470 'inFV2' (in 2-component vector of float) -0:470 'inF0' (in float) +0:470 move second child to first child ( temp 2-component vector of float) +0:470 'r03' ( temp 2-component vector of float) +0:470 vector-scale ( temp 2-component vector of float) +0:470 'inFV2' ( in 2-component vector of float) +0:470 'inF0' ( in float) 0:471 Sequence -0:471 move second child to first child (temp 3-component vector of float) -0:471 'r04' (temp 3-component vector of float) -0:471 vector-scale (temp 3-component vector of float) -0:471 'inFV3' (in 3-component vector of float) -0:471 'inF0' (in float) +0:471 move second child to first child ( temp 3-component vector of float) +0:471 'r04' ( temp 3-component vector of float) +0:471 vector-scale ( temp 3-component vector of float) +0:471 'inFV3' ( in 3-component vector of float) +0:471 'inF0' ( in float) 0:472 Sequence -0:472 move second child to first child (temp float) -0:472 'r05' (temp float) -0:472 dot-product (temp float) -0:472 'inFV2' (in 2-component vector of float) -0:472 'inFV2' (in 2-component vector of float) +0:472 move second child to first child ( temp float) +0:472 'r05' ( temp float) +0:472 dot-product ( temp float) +0:472 'inFV2' ( in 2-component vector of float) +0:472 'inFV2' ( in 2-component vector of float) 0:473 Sequence -0:473 move second child to first child (temp float) -0:473 'r06' (temp float) -0:473 dot-product (temp float) -0:473 'inFV3' (in 3-component vector of float) -0:473 'inFV3' (in 3-component vector of float) +0:473 move second child to first child ( temp float) +0:473 'r06' ( temp float) +0:473 dot-product ( temp float) +0:473 'inFV3' ( in 3-component vector of float) +0:473 'inFV3' ( in 3-component vector of float) 0:474 Sequence -0:474 move second child to first child (temp 3-component vector of float) -0:474 'r07' (temp 3-component vector of float) -0:474 matrix-times-vector (temp 3-component vector of float) -0:474 'inFM2x3' (in 2X3 matrix of float) -0:474 'inFV2' (in 2-component vector of float) +0:474 move second child to first child ( temp 3-component vector of float) +0:474 'r07' ( temp 3-component vector of float) +0:474 matrix-times-vector ( temp 3-component vector of float) +0:474 'inFM2x3' ( in 2X3 matrix of float) +0:474 'inFV2' ( in 2-component vector of float) 0:475 Sequence -0:475 move second child to first child (temp 2-component vector of float) -0:475 'r08' (temp 2-component vector of float) -0:475 matrix-times-vector (temp 2-component vector of float) -0:475 'inFM3x2' (in 3X2 matrix of float) -0:475 'inFV3' (in 3-component vector of float) +0:475 move second child to first child ( temp 2-component vector of float) +0:475 'r08' ( temp 2-component vector of float) +0:475 matrix-times-vector ( temp 2-component vector of float) +0:475 'inFM3x2' ( in 3X2 matrix of float) +0:475 'inFV3' ( in 3-component vector of float) 0:476 Sequence -0:476 move second child to first child (temp 2-component vector of float) -0:476 'r09' (temp 2-component vector of float) -0:476 vector-times-matrix (temp 2-component vector of float) -0:476 'inFV3' (in 3-component vector of float) -0:476 'inFM2x3' (in 2X3 matrix of float) +0:476 move second child to first child ( temp 2-component vector of float) +0:476 'r09' ( temp 2-component vector of float) +0:476 vector-times-matrix ( temp 2-component vector of float) +0:476 'inFV3' ( in 3-component vector of float) +0:476 'inFM2x3' ( in 2X3 matrix of float) 0:477 Sequence -0:477 move second child to first child (temp 3-component vector of float) -0:477 'r10' (temp 3-component vector of float) -0:477 vector-times-matrix (temp 3-component vector of float) -0:477 'inFV2' (in 2-component vector of float) -0:477 'inFM3x2' (in 3X2 matrix of float) +0:477 move second child to first child ( temp 3-component vector of float) +0:477 'r10' ( temp 3-component vector of float) +0:477 vector-times-matrix ( temp 3-component vector of float) +0:477 'inFV2' ( in 2-component vector of float) +0:477 'inFM3x2' ( in 3X2 matrix of float) 0:478 Sequence -0:478 move second child to first child (temp 2X3 matrix of float) -0:478 'r11' (temp 2X3 matrix of float) -0:478 matrix-scale (temp 2X3 matrix of float) -0:478 'inF0' (in float) -0:478 'inFM2x3' (in 2X3 matrix of float) +0:478 move second child to first child ( temp 2X3 matrix of float) +0:478 'r11' ( temp 2X3 matrix of float) +0:478 matrix-scale ( temp 2X3 matrix of float) +0:478 'inF0' ( in float) +0:478 'inFM2x3' ( in 2X3 matrix of float) 0:479 Sequence -0:479 move second child to first child (temp 3X2 matrix of float) -0:479 'r12' (temp 3X2 matrix of float) -0:479 matrix-scale (temp 3X2 matrix of float) -0:479 'inF0' (in float) -0:479 'inFM3x2' (in 3X2 matrix of float) +0:479 move second child to first child ( temp 3X2 matrix of float) +0:479 'r12' ( temp 3X2 matrix of float) +0:479 matrix-scale ( temp 3X2 matrix of float) +0:479 'inF0' ( in float) +0:479 'inFM3x2' ( in 3X2 matrix of float) 0:480 Sequence -0:480 move second child to first child (temp 2X2 matrix of float) -0:480 'r13' (temp 2X2 matrix of float) -0:480 matrix-multiply (temp 2X2 matrix of float) -0:480 'inFM3x2' (in 3X2 matrix of float) -0:480 'inFM2x3' (in 2X3 matrix of float) +0:480 move second child to first child ( temp 2X2 matrix of float) +0:480 'r13' ( temp 2X2 matrix of float) +0:480 matrix-multiply ( temp 2X2 matrix of float) +0:480 'inFM3x2' ( in 3X2 matrix of float) +0:480 'inFM2x3' ( in 2X3 matrix of float) 0:481 Sequence -0:481 move second child to first child (temp 2X3 matrix of float) -0:481 'r14' (temp 2X3 matrix of float) -0:481 matrix-multiply (temp 2X3 matrix of float) -0:481 'inFM3x3' (in 3X3 matrix of float) -0:481 'inFM2x3' (in 2X3 matrix of float) +0:481 move second child to first child ( temp 2X3 matrix of float) +0:481 'r14' ( temp 2X3 matrix of float) +0:481 matrix-multiply ( temp 2X3 matrix of float) +0:481 'inFM3x3' ( in 3X3 matrix of float) +0:481 'inFM2x3' ( in 2X3 matrix of float) 0:482 Sequence -0:482 move second child to first child (temp 2X4 matrix of float) -0:482 'r15' (temp 2X4 matrix of float) -0:482 matrix-multiply (temp 2X4 matrix of float) -0:482 'inFM3x4' (in 3X4 matrix of float) -0:482 'inFM2x3' (in 2X3 matrix of float) +0:482 move second child to first child ( temp 2X4 matrix of float) +0:482 'r15' ( temp 2X4 matrix of float) +0:482 matrix-multiply ( temp 2X4 matrix of float) +0:482 'inFM3x4' ( in 3X4 matrix of float) +0:482 'inFM2x3' ( in 2X3 matrix of float) 0:483 Sequence -0:483 move second child to first child (temp 3X4 matrix of float) -0:483 'r16' (temp 3X4 matrix of float) -0:483 matrix-multiply (temp 3X4 matrix of float) -0:483 'inFM2x4' (in 2X4 matrix of float) -0:483 'inFM3x2' (in 3X2 matrix of float) -0:489 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:483 move second child to first child ( temp 3X4 matrix of float) +0:483 'r16' ( temp 3X4 matrix of float) +0:483 matrix-multiply ( temp 3X4 matrix of float) +0:483 'inFM2x4' ( in 2X4 matrix of float) +0:483 'inFM3x2' ( in 3X2 matrix of float) +0:489 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:489 Function Parameters: 0:? Sequence -0:491 move second child to first child (temp 4-component vector of float) -0:491 color: direct index for structure (temp 4-component vector of float) -0:491 'ps_output' (temp structure{temp 4-component vector of float color}) +0:491 move second child to first child ( temp 4-component vector of float) +0:491 color: direct index for structure ( temp 4-component vector of float) +0:491 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:491 Constant: 0:491 0 (const int) 0:491 Constant: @@ -5575,39 +5578,42 @@ gl_FragCoord origin is upper left 0:491 1.000000 0:491 1.000000 0:491 1.000000 -0:492 Sequence -0:492 Sequence -0:492 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:492 color: direct index for structure (temp 4-component vector of float) -0:492 'ps_output' (temp structure{temp 4-component vector of float color}) -0:492 Constant: -0:492 0 (const int) -0:492 Branch: Return +0:492 Branch: Return with expression +0:492 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:489 Function Definition: main( ( temp void) +0:489 Function Parameters: +0:? Sequence +0:489 Sequence +0:489 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:489 color: direct index for structure ( temp 4-component vector of float) +0:489 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:489 Constant: +0:489 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'gs_ua' (shared uint) -0:? 'gs_ub' (shared uint) -0:? 'gs_uc' (shared uint) -0:? 'gs_ua2' (shared 2-component vector of uint) -0:? 'gs_ub2' (shared 2-component vector of uint) -0:? 'gs_uc2' (shared 2-component vector of uint) -0:? 'gs_ua3' (shared 3-component vector of uint) -0:? 'gs_ub3' (shared 3-component vector of uint) -0:? 'gs_uc3' (shared 3-component vector of uint) -0:? 'gs_ua4' (shared 4-component vector of uint) -0:? 'gs_ub4' (shared 4-component vector of uint) -0:? 'gs_uc4' (shared 4-component vector of uint) +0:? 'gs_ua' ( shared uint) +0:? 'gs_ub' ( shared uint) +0:? 'gs_uc' ( shared uint) +0:? 'gs_ua2' ( shared 2-component vector of uint) +0:? 'gs_ub2' ( shared 2-component vector of uint) +0:? 'gs_uc2' ( shared 2-component vector of uint) +0:? 'gs_ua3' ( shared 3-component vector of uint) +0:? 'gs_ub3' ( shared 3-component vector of uint) +0:? 'gs_uc3' ( shared 3-component vector of uint) +0:? 'gs_ua4' ( shared 4-component vector of uint) +0:? 'gs_ub4' ( shared 4-component vector of uint) +0:? 'gs_uc4' ( shared 4-component vector of uint) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1828 +// Id's are bound by 1833 Capability Shader Capability DerivativeControl 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 1808 + EntryPoint Fragment 4 "main" 1814 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;" @@ -5681,460 +5687,461 @@ gl_FragCoord origin is upper left Name 126 "inFM3x3" Name 127 "inFM3x4" Name 128 "inFM2x4" - Name 133 "r000" - Name 136 "r001" - Name 139 "r002" - Name 142 "r003" - Name 145 "r004" - Name 150 "r005" - Name 153 "r006" - Name 156 "r007" - Name 159 "r009" - Name 162 "r010" - Name 166 "r011" - Name 169 "r012" - Name 180 "r014" - Name 183 "r015" - Name 186 "r016" - Name 189 "r017" - Name 192 "r018" - Name 195 "r019" - Name 198 "r020" - Name 201 "r021" - Name 204 "r022" - Name 207 "r023" - Name 210 "r027" - Name 213 "r028" - Name 216 "r029" - Name 219 "r030" - Name 222 "r031" - Name 225 "r033" - Name 229 "r034" - Name 232 "r035" - Name 234 "ResType" - Name 238 "r036" - Name 241 "r037" - Name 244 "r038" - Name 247 "r039" - Name 251 "r039a" - Name 256 "r040" - Name 259 "r041" - Name 264 "r042" - Name 267 "r043" - Name 271 "r044" - Name 275 "r045" - Name 279 "r046" - Name 282 "r047" - Name 286 "r048" - Name 290 "r049" - Name 293 "r050" - Name 296 "r051" - Name 299 "r052" - Name 302 "r053" - Name 309 "r055" - Name 312 "r056" - Name 317 "r057" - Name 320 "r058" - Name 324 "r059" - Name 327 "r060" - Name 330 "r061" - Name 337 "r000" - Name 340 "r001" - Name 343 "r002" - Name 346 "r003" - Name 349 "r004" - Name 354 "r005" - Name 357 "r006" - Name 360 "r007" - Name 363 "r009" - Name 366 "r010" - Name 370 "r011" - Name 373 "r012" - Name 386 "r013" - Name 389 "r015" - Name 392 "r016" - Name 396 "r017" - Name 399 "r018" - Name 402 "r019" - Name 405 "r020" - Name 408 "r021" - Name 411 "r022" - Name 414 "r023" - Name 417 "r026" - Name 421 "r027" - Name 425 "r028" - Name 428 "r029" - Name 431 "r030" - Name 436 "r031" - Name 441 "r032" - Name 443 "r033" - Name 446 "r035" - Name 450 "r036" - Name 453 "r037" - Name 455 "ResType" - Name 459 "r038" - Name 463 "r039" - Name 466 "r040" - Name 469 "r041" - Name 473 "r039a" - Name 478 "r042" - Name 481 "r043" - Name 484 "r044" - Name 488 "r045" - Name 491 "r046" - Name 495 "r047" - Name 499 "r048" - Name 502 "r049" - Name 506 "r050" - Name 509 "r051" - Name 513 "r052" - Name 517 "r053" - Name 522 "r054" - Name 527 "r055" - Name 530 "r056" - Name 533 "r057" - Name 538 "r058" - Name 541 "r059" - Name 548 "r060" - Name 551 "r061" - Name 556 "r062" - Name 559 "r063" - Name 563 "r064" - Name 566 "r065" - Name 569 "r066" - Name 575 "r000" - Name 578 "r001" - Name 581 "r002" - Name 584 "r003" - Name 587 "r004" - Name 592 "r005" - Name 595 "r006" - Name 598 "r007" - Name 601 "r009" - Name 604 "r010" - Name 608 "r011" - Name 611 "r012" - Name 624 "r013" - Name 627 "r014" - Name 630 "r015" - Name 635 "r016" - Name 639 "r017" - Name 642 "r018" - Name 645 "r019" - Name 648 "r020" - Name 651 "r021" - Name 654 "r022" - Name 657 "r023" - Name 660 "r024" - Name 664 "r025" - Name 668 "r029" - Name 671 "r030" - Name 674 "r031" - Name 679 "r032" - Name 683 "r033" - Name 685 "r034" - Name 688 "r036" - Name 692 "r037" - Name 695 "r038" - Name 697 "ResType" - Name 701 "r039" - Name 705 "r040" - Name 708 "r041" - Name 711 "r042" - Name 715 "r039a" - Name 720 "r039b" - Name 726 "r043" - Name 729 "r044" - Name 732 "r045" - Name 736 "r046" - Name 739 "r047" - Name 743 "r048" - Name 747 "r049" - Name 750 "r050" - Name 754 "r051" - Name 757 "r052" - Name 761 "r053" - Name 765 "r054" - Name 769 "r055" - Name 772 "r056" - Name 775 "r057" - Name 778 "r058" - Name 783 "r059" - Name 786 "r060" - Name 793 "r061" - Name 796 "r062" - Name 801 "r063" - Name 804 "r064" - Name 808 "r065" - Name 811 "r066" - Name 814 "r067" - Name 821 "r000" - Name 824 "r001" - Name 827 "r002" - Name 830 "r003" - Name 833 "r004" - Name 838 "r005" - Name 841 "r006" - Name 844 "r007" - Name 847 "r009" - Name 850 "r010" - Name 854 "r011" - Name 857 "r012" - Name 870 "r013" - Name 873 "r014" - Name 876 "r015" - Name 879 "r016" - Name 882 "r017" - Name 885 "r018" - Name 888 "r019" - Name 891 "r020" - Name 894 "r021" - Name 897 "r022" - Name 900 "r023" - Name 904 "r024" - Name 908 "r025" - Name 919 "r029" - Name 922 "r030" - Name 925 "r031" - Name 930 "r032" - Name 935 "r033" - Name 937 "r034" - Name 940 "r036" - Name 944 "r037" - Name 947 "r038" - Name 949 "ResType" - Name 953 "r039" - Name 957 "r040" - Name 960 "r041" - Name 963 "r042" - Name 967 "r039a" - Name 972 "r043" - Name 975 "r044" - Name 978 "r045" - Name 982 "r046" - Name 985 "r047" - Name 989 "r048" - Name 993 "r049" - Name 996 "r050" - Name 1000 "r051" - Name 1003 "r052" - Name 1007 "r053" - Name 1011 "r054" - Name 1015 "r055" - Name 1018 "r056" - Name 1021 "r057" - Name 1024 "r058" - Name 1029 "r059" - Name 1032 "r060" - Name 1039 "r061" - Name 1042 "r062" - Name 1047 "r063" - Name 1050 "r064" - Name 1054 "r065" - Name 1057 "r066" - Name 1060 "r067" - Name 1067 "r000" - Name 1070 "r001" - Name 1075 "r003" - Name 1078 "r004" - Name 1081 "r005" - Name 1084 "r006" - Name 1088 "r007" - Name 1099 "r008" - Name 1104 "r009" - Name 1107 "r010" - Name 1110 "r011" - Name 1113 "r012" - Name 1116 "r013" - Name 1119 "r014" - Name 1122 "r015" - Name 1125 "r016" - Name 1128 "r017" - Name 1131 "r018" - Name 1134 "r019" - Name 1137 "R020" - Name 1140 "r021" - Name 1143 "r022" - Name 1153 "r023" - Name 1156 "r024" - Name 1158 "ResType" - Name 1162 "r025" - Name 1165 "r026" - Name 1169 "r026a" - Name 1174 "r027" - Name 1177 "r028" - Name 1181 "r029" - Name 1184 "r030" - Name 1188 "r031" - Name 1192 "r032" - Name 1196 "r033" - Name 1199 "r034" - Name 1202 "r035" - Name 1205 "r036" - Name 1210 "r037" - Name 1213 "r038" - Name 1220 "r039" - Name 1223 "r049" - Name 1228 "r041" - Name 1231 "r042" - Name 1235 "r043" - Name 1238 "r044" - Name 1243 "r046" - Name 1250 "r000" - Name 1253 "r001" - Name 1258 "r003" - Name 1261 "r004" - Name 1264 "r005" - Name 1267 "r006" - Name 1271 "r007" - Name 1282 "r008" - Name 1287 "r009" - Name 1290 "r010" - Name 1293 "r011" - Name 1296 "r012" - Name 1299 "r013" - Name 1302 "r014" - Name 1305 "r015" - Name 1308 "r016" - Name 1311 "r017" - Name 1314 "r018" - Name 1317 "r019" - Name 1320 "R020" - Name 1323 "r021" - Name 1326 "r022" - Name 1339 "r023" - Name 1342 "r024" - Name 1344 "ResType" - Name 1348 "r025" - Name 1351 "r026" - Name 1355 "r026a" - Name 1360 "r027" - Name 1363 "r028" - Name 1367 "r029" - Name 1370 "r030" - Name 1374 "r031" - Name 1378 "r032" - Name 1382 "r033" - Name 1385 "r034" - Name 1388 "r035" - Name 1391 "r036" - Name 1396 "r037" - Name 1399 "r038" - Name 1406 "r039" - Name 1409 "r049" - Name 1414 "r041" - Name 1417 "r042" - Name 1421 "r043" - Name 1424 "r044" - Name 1429 "r046" - Name 1436 "r000" - Name 1439 "r001" - Name 1444 "r003" - Name 1447 "r004" - Name 1450 "r005" - Name 1453 "r006" - Name 1457 "r007" - Name 1468 "r008" - Name 1473 "r009" - Name 1476 "r010" - Name 1479 "r011" - Name 1482 "r012" - Name 1485 "r013" - Name 1488 "r014" - Name 1491 "r015" - Name 1494 "r016" - Name 1497 "r017" - Name 1500 "r018" - Name 1503 "r019" - Name 1506 "R020" - Name 1509 "r021" - Name 1512 "r022" - Name 1528 "r023" - Name 1531 "r024" - Name 1533 "ResType" - Name 1537 "r025" - Name 1540 "r026" - Name 1544 "r026a" - Name 1549 "r027" - Name 1552 "r028" - Name 1556 "r029" - Name 1559 "r030" - Name 1563 "r031" - Name 1567 "r032" - Name 1571 "r033" - Name 1574 "r034" - Name 1577 "r035" - Name 1580 "r036" - Name 1585 "r037" - Name 1588 "r038" - Name 1595 "r039" - Name 1598 "r049" - Name 1603 "r041" - Name 1606 "r042" - Name 1610 "r043" - Name 1613 "r044" - Name 1618 "r046" - Name 1625 "r0" - Name 1629 "r1" - Name 1633 "r2" - Name 1637 "r3" - Name 1641 "r4" - Name 1645 "r5" - Name 1649 "r6" - Name 1653 "r7" - Name 1657 "r8" - Name 1661 "r0" - Name 1665 "r1" - Name 1669 "r2" - Name 1673 "r3" - Name 1677 "r4" - Name 1681 "r5" - Name 1685 "r6" - Name 1689 "r7" - Name 1693 "r8" - Name 1697 "r0" - Name 1701 "r1" - Name 1705 "r2" - Name 1709 "r3" - Name 1713 "r4" - Name 1717 "r5" - Name 1721 "r6" - Name 1725 "r7" - Name 1729 "r8" - Name 1733 "r00" - Name 1737 "r01" - Name 1741 "r02" - Name 1745 "r03" - Name 1749 "r04" - Name 1753 "r05" - Name 1757 "r06" - Name 1761 "r07" - Name 1765 "r08" - Name 1769 "r09" - Name 1773 "r10" - Name 1777 "r11" - Name 1781 "r12" - Name 1785 "r13" - Name 1789 "r14" - Name 1793 "r15" - Name 1797 "r16" - Name 1801 "PS_OUTPUT" - MemberName 1801(PS_OUTPUT) 0 "color" - Name 1803 "ps_output" - Name 1808 "color" - Name 1813 "gs_ua" - Name 1814 "gs_ub" - Name 1815 "gs_uc" - Name 1817 "gs_ua2" - Name 1818 "gs_ub2" - Name 1819 "gs_uc2" - Name 1821 "gs_ua3" - Name 1822 "gs_ub3" - Name 1823 "gs_uc3" - Name 1825 "gs_ua4" - Name 1826 "gs_ub4" - Name 1827 "gs_uc4" - Decorate 1808(color) Location 0 + Name 131 "PS_OUTPUT" + MemberName 131(PS_OUTPUT) 0 "color" + Name 133 "@main(" + Name 137 "r000" + Name 140 "r001" + Name 143 "r002" + Name 146 "r003" + Name 149 "r004" + Name 154 "r005" + Name 157 "r006" + Name 160 "r007" + Name 163 "r009" + Name 166 "r010" + Name 170 "r011" + Name 173 "r012" + Name 184 "r014" + Name 187 "r015" + Name 190 "r016" + Name 193 "r017" + Name 196 "r018" + Name 199 "r019" + Name 202 "r020" + Name 205 "r021" + Name 208 "r022" + Name 211 "r023" + Name 214 "r027" + Name 217 "r028" + Name 220 "r029" + Name 223 "r030" + Name 226 "r031" + Name 229 "r033" + Name 233 "r034" + Name 236 "r035" + Name 238 "ResType" + Name 242 "r036" + Name 245 "r037" + Name 248 "r038" + Name 251 "r039" + Name 255 "r039a" + Name 260 "r040" + Name 263 "r041" + Name 268 "r042" + Name 271 "r043" + Name 275 "r044" + Name 279 "r045" + Name 283 "r046" + Name 286 "r047" + Name 290 "r048" + Name 294 "r049" + Name 297 "r050" + Name 300 "r051" + Name 303 "r052" + Name 306 "r053" + Name 313 "r055" + Name 316 "r056" + Name 321 "r057" + Name 324 "r058" + Name 328 "r059" + Name 331 "r060" + Name 334 "r061" + Name 341 "r000" + Name 344 "r001" + Name 347 "r002" + Name 350 "r003" + Name 353 "r004" + Name 358 "r005" + Name 361 "r006" + Name 364 "r007" + Name 367 "r009" + Name 370 "r010" + Name 374 "r011" + Name 377 "r012" + Name 390 "r013" + Name 393 "r015" + Name 396 "r016" + Name 400 "r017" + Name 403 "r018" + Name 406 "r019" + Name 409 "r020" + Name 412 "r021" + Name 415 "r022" + Name 418 "r023" + Name 421 "r026" + Name 425 "r027" + Name 429 "r028" + Name 432 "r029" + Name 435 "r030" + Name 440 "r031" + Name 445 "r032" + Name 447 "r033" + Name 450 "r035" + Name 454 "r036" + Name 457 "r037" + Name 459 "ResType" + Name 463 "r038" + Name 467 "r039" + Name 470 "r040" + Name 473 "r041" + Name 477 "r039a" + Name 482 "r042" + Name 485 "r043" + Name 488 "r044" + Name 492 "r045" + Name 495 "r046" + Name 499 "r047" + Name 503 "r048" + Name 506 "r049" + Name 510 "r050" + Name 513 "r051" + Name 517 "r052" + Name 521 "r053" + Name 526 "r054" + Name 531 "r055" + Name 534 "r056" + Name 537 "r057" + Name 542 "r058" + Name 545 "r059" + Name 552 "r060" + Name 555 "r061" + Name 560 "r062" + Name 563 "r063" + Name 567 "r064" + Name 570 "r065" + Name 573 "r066" + Name 579 "r000" + Name 582 "r001" + Name 585 "r002" + Name 588 "r003" + Name 591 "r004" + Name 596 "r005" + Name 599 "r006" + Name 602 "r007" + Name 605 "r009" + Name 608 "r010" + Name 612 "r011" + Name 615 "r012" + Name 628 "r013" + Name 631 "r014" + Name 634 "r015" + Name 639 "r016" + Name 643 "r017" + Name 646 "r018" + Name 649 "r019" + Name 652 "r020" + Name 655 "r021" + Name 658 "r022" + Name 661 "r023" + Name 664 "r024" + Name 668 "r025" + Name 672 "r029" + Name 675 "r030" + Name 678 "r031" + Name 683 "r032" + Name 687 "r033" + Name 689 "r034" + Name 692 "r036" + Name 696 "r037" + Name 699 "r038" + Name 701 "ResType" + Name 705 "r039" + Name 709 "r040" + Name 712 "r041" + Name 715 "r042" + Name 719 "r039a" + Name 724 "r039b" + Name 730 "r043" + Name 733 "r044" + Name 736 "r045" + Name 740 "r046" + Name 743 "r047" + Name 747 "r048" + Name 751 "r049" + Name 754 "r050" + Name 758 "r051" + Name 761 "r052" + Name 765 "r053" + Name 769 "r054" + Name 773 "r055" + Name 776 "r056" + Name 779 "r057" + Name 782 "r058" + Name 787 "r059" + Name 790 "r060" + Name 797 "r061" + Name 800 "r062" + Name 805 "r063" + Name 808 "r064" + Name 812 "r065" + Name 815 "r066" + Name 818 "r067" + Name 825 "r000" + Name 828 "r001" + Name 831 "r002" + Name 834 "r003" + Name 837 "r004" + Name 842 "r005" + Name 845 "r006" + Name 848 "r007" + Name 851 "r009" + Name 854 "r010" + Name 858 "r011" + Name 861 "r012" + Name 874 "r013" + Name 877 "r014" + Name 880 "r015" + Name 883 "r016" + Name 886 "r017" + Name 889 "r018" + Name 892 "r019" + Name 895 "r020" + Name 898 "r021" + Name 901 "r022" + Name 904 "r023" + Name 908 "r024" + Name 912 "r025" + Name 923 "r029" + Name 926 "r030" + Name 929 "r031" + Name 934 "r032" + Name 939 "r033" + Name 941 "r034" + Name 944 "r036" + Name 948 "r037" + Name 951 "r038" + Name 953 "ResType" + Name 957 "r039" + Name 961 "r040" + Name 964 "r041" + Name 967 "r042" + Name 971 "r039a" + Name 976 "r043" + Name 979 "r044" + Name 982 "r045" + Name 986 "r046" + Name 989 "r047" + Name 993 "r048" + Name 997 "r049" + Name 1000 "r050" + Name 1004 "r051" + Name 1007 "r052" + Name 1011 "r053" + Name 1015 "r054" + Name 1019 "r055" + Name 1022 "r056" + Name 1025 "r057" + Name 1028 "r058" + Name 1033 "r059" + Name 1036 "r060" + Name 1043 "r061" + Name 1046 "r062" + Name 1051 "r063" + Name 1054 "r064" + Name 1058 "r065" + Name 1061 "r066" + Name 1064 "r067" + Name 1071 "r000" + Name 1074 "r001" + Name 1079 "r003" + Name 1082 "r004" + Name 1085 "r005" + Name 1088 "r006" + Name 1092 "r007" + Name 1103 "r008" + Name 1108 "r009" + Name 1111 "r010" + Name 1114 "r011" + Name 1117 "r012" + Name 1120 "r013" + Name 1123 "r014" + Name 1126 "r015" + Name 1129 "r016" + Name 1132 "r017" + Name 1135 "r018" + Name 1138 "r019" + Name 1141 "R020" + Name 1144 "r021" + Name 1147 "r022" + Name 1157 "r023" + Name 1160 "r024" + Name 1162 "ResType" + Name 1166 "r025" + Name 1169 "r026" + Name 1173 "r026a" + Name 1178 "r027" + Name 1181 "r028" + Name 1185 "r029" + Name 1188 "r030" + Name 1192 "r031" + Name 1196 "r032" + Name 1200 "r033" + Name 1203 "r034" + Name 1206 "r035" + Name 1209 "r036" + Name 1214 "r037" + Name 1217 "r038" + Name 1224 "r039" + Name 1227 "r049" + Name 1232 "r041" + Name 1235 "r042" + Name 1239 "r043" + Name 1242 "r044" + Name 1247 "r046" + Name 1254 "r000" + Name 1257 "r001" + Name 1262 "r003" + Name 1265 "r004" + Name 1268 "r005" + Name 1271 "r006" + Name 1275 "r007" + Name 1286 "r008" + Name 1291 "r009" + Name 1294 "r010" + Name 1297 "r011" + Name 1300 "r012" + Name 1303 "r013" + Name 1306 "r014" + Name 1309 "r015" + Name 1312 "r016" + Name 1315 "r017" + Name 1318 "r018" + Name 1321 "r019" + Name 1324 "R020" + Name 1327 "r021" + Name 1330 "r022" + Name 1343 "r023" + Name 1346 "r024" + Name 1348 "ResType" + Name 1352 "r025" + Name 1355 "r026" + Name 1359 "r026a" + Name 1364 "r027" + Name 1367 "r028" + Name 1371 "r029" + Name 1374 "r030" + Name 1378 "r031" + Name 1382 "r032" + Name 1386 "r033" + Name 1389 "r034" + Name 1392 "r035" + Name 1395 "r036" + Name 1400 "r037" + Name 1403 "r038" + Name 1410 "r039" + Name 1413 "r049" + Name 1418 "r041" + Name 1421 "r042" + Name 1425 "r043" + Name 1428 "r044" + Name 1433 "r046" + Name 1440 "r000" + Name 1443 "r001" + Name 1448 "r003" + Name 1451 "r004" + Name 1454 "r005" + Name 1457 "r006" + Name 1461 "r007" + Name 1472 "r008" + Name 1477 "r009" + Name 1480 "r010" + Name 1483 "r011" + Name 1486 "r012" + Name 1489 "r013" + Name 1492 "r014" + Name 1495 "r015" + Name 1498 "r016" + Name 1501 "r017" + Name 1504 "r018" + Name 1507 "r019" + Name 1510 "R020" + Name 1513 "r021" + Name 1516 "r022" + Name 1532 "r023" + Name 1535 "r024" + Name 1537 "ResType" + Name 1541 "r025" + Name 1544 "r026" + Name 1548 "r026a" + Name 1553 "r027" + Name 1556 "r028" + Name 1560 "r029" + Name 1563 "r030" + Name 1567 "r031" + Name 1571 "r032" + Name 1575 "r033" + Name 1578 "r034" + Name 1581 "r035" + Name 1584 "r036" + Name 1589 "r037" + Name 1592 "r038" + Name 1599 "r039" + Name 1602 "r049" + Name 1607 "r041" + Name 1610 "r042" + Name 1614 "r043" + Name 1617 "r044" + Name 1622 "r046" + Name 1629 "r0" + Name 1633 "r1" + Name 1637 "r2" + Name 1641 "r3" + Name 1645 "r4" + Name 1649 "r5" + Name 1653 "r6" + Name 1657 "r7" + Name 1661 "r8" + Name 1665 "r0" + Name 1669 "r1" + Name 1673 "r2" + Name 1677 "r3" + Name 1681 "r4" + Name 1685 "r5" + Name 1689 "r6" + Name 1693 "r7" + Name 1697 "r8" + Name 1701 "r0" + Name 1705 "r1" + Name 1709 "r2" + Name 1713 "r3" + Name 1717 "r4" + Name 1721 "r5" + Name 1725 "r6" + Name 1729 "r7" + Name 1733 "r8" + Name 1737 "r00" + Name 1741 "r01" + Name 1745 "r02" + Name 1749 "r03" + Name 1753 "r04" + Name 1757 "r05" + Name 1761 "r06" + Name 1765 "r07" + Name 1769 "r08" + Name 1773 "r09" + Name 1777 "r10" + Name 1781 "r11" + Name 1785 "r12" + Name 1789 "r13" + Name 1793 "r14" + Name 1797 "r15" + Name 1801 "r16" + Name 1806 "ps_output" + Name 1814 "color" + Name 1818 "gs_ua" + Name 1819 "gs_ub" + Name 1820 "gs_uc" + Name 1822 "gs_ua2" + Name 1823 "gs_ub2" + Name 1824 "gs_uc2" + Name 1826 "gs_ua3" + Name 1827 "gs_ub3" + Name 1828 "gs_uc3" + Name 1830 "gs_ua4" + Name 1831 "gs_ub4" + Name 1832 "gs_uc4" + Decorate 1814(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -6179,105 +6186,103 @@ gl_FragCoord origin is upper left 117: TypeMatrix 48(fvec4) 2 118: TypePointer Function 117 119: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr) - 131: TypeBool - 132: TypePointer Function 131(bool) - 148: TypeInt 32 1 - 149: TypePointer Function 148(int) - 175: 6(float) Constant 0 - 187: 148(int) Constant 7 - 234(ResType): TypeStruct 6(float) 148(int) - 262: 6(float) Constant 1050288283 - 283: 6(float) Constant 1065353216 - 287: 148(int) Constant 2 - 352: TypeVector 148(int) 2 - 353: TypePointer Function 352(ivec2) - 379: 24(fvec2) ConstantComposite 175 175 - 380: TypeVector 131(bool) 2 - 393: 148(int) Constant 3 - 394: 352(ivec2) ConstantComposite 187 393 - 437: 8(int) Constant 7 - 438: 8(int) Constant 8 - 439: 26(ivec2) ConstantComposite 437 438 - 455(ResType): TypeStruct 24(fvec2) 352(ivec2) - 462: TypePointer Function 380(bvec2) - 520: 6(float) Constant 1073741824 - 523: 8(int) Constant 1 - 524: 8(int) Constant 2 - 525: 26(ivec2) ConstantComposite 523 524 - 572: 24(fvec2) ConstantComposite 283 520 - 590: TypeVector 148(int) 3 - 591: TypePointer Function 590(ivec3) - 617: 36(fvec3) ConstantComposite 175 175 175 - 618: TypeVector 131(bool) 3 - 631: 8(int) Constant 3 - 632: 8(int) Constant 5 - 633: 38(ivec3) ConstantComposite 437 631 632 - 680: 8(int) Constant 4 - 681: 38(ivec3) ConstantComposite 524 631 680 - 697(ResType): TypeStruct 36(fvec3) 590(ivec3) - 704: TypePointer Function 618(bvec3) - 723: 6(float) Constant 1050253722 - 770: 38(ivec3) ConstantComposite 523 524 631 - 817: 6(float) Constant 1077936128 - 818: 36(fvec3) ConstantComposite 283 520 817 - 836: TypeVector 148(int) 4 - 837: TypePointer Function 836(ivec4) - 863: 48(fvec4) ConstantComposite 175 175 175 175 - 864: TypeVector 131(bool) 4 - 877: 50(ivec4) ConstantComposite 437 631 632 524 - 931: 8(int) Constant 9 - 932: 8(int) Constant 10 - 933: 50(ivec4) ConstantComposite 437 438 931 932 - 949(ResType): TypeStruct 48(fvec4) 836(ivec4) - 956: TypePointer Function 864(bvec4) - 1016: 50(ivec4) ConstantComposite 523 524 631 680 - 1063: 6(float) Constant 1082130432 - 1064: 48(fvec4) ConstantComposite 283 520 817 1063 - 1092: 60 ConstantComposite 379 379 - 1093: TypeMatrix 380(bvec2) 2 - 1158(ResType): TypeStruct 60 352(ivec2) - 1246: 24(fvec2) ConstantComposite 520 520 - 1247: 60 ConstantComposite 1246 1246 - 1275: 68 ConstantComposite 617 617 617 - 1276: TypeMatrix 618(bvec3) 3 - 1344(ResType): TypeStruct 68 590(ivec3) - 1432: 36(fvec3) ConstantComposite 817 817 817 - 1433: 68 ConstantComposite 1432 1432 1432 - 1461: 76 ConstantComposite 863 863 863 863 - 1462: TypeMatrix 864(bvec4) 4 - 1533(ResType): TypeStruct 76 836(ivec4) - 1621: 48(fvec4) ConstantComposite 1063 1063 1063 1063 - 1622: 76 ConstantComposite 1621 1621 1621 1621 - 1801(PS_OUTPUT): TypeStruct 48(fvec4) - 1802: TypePointer Function 1801(PS_OUTPUT) - 1804: 148(int) Constant 0 - 1805: 48(fvec4) ConstantComposite 283 283 283 283 - 1807: TypePointer Output 48(fvec4) - 1808(color): 1807(ptr) Variable Output - 1812: TypePointer Workgroup 8(int) - 1813(gs_ua): 1812(ptr) Variable Workgroup - 1814(gs_ub): 1812(ptr) Variable Workgroup - 1815(gs_uc): 1812(ptr) Variable Workgroup - 1816: TypePointer Workgroup 26(ivec2) - 1817(gs_ua2): 1816(ptr) Variable Workgroup - 1818(gs_ub2): 1816(ptr) Variable Workgroup - 1819(gs_uc2): 1816(ptr) Variable Workgroup - 1820: TypePointer Workgroup 38(ivec3) - 1821(gs_ua3): 1820(ptr) Variable Workgroup - 1822(gs_ub3): 1820(ptr) Variable Workgroup - 1823(gs_uc3): 1820(ptr) Variable Workgroup - 1824: TypePointer Workgroup 50(ivec4) - 1825(gs_ua4): 1824(ptr) Variable Workgroup - 1826(gs_ub4): 1824(ptr) Variable Workgroup - 1827(gs_uc4): 1824(ptr) Variable Workgroup + 131(PS_OUTPUT): TypeStruct 48(fvec4) + 132: TypeFunction 131(PS_OUTPUT) + 135: TypeBool + 136: TypePointer Function 135(bool) + 152: TypeInt 32 1 + 153: TypePointer Function 152(int) + 179: 6(float) Constant 0 + 191: 152(int) Constant 7 + 238(ResType): TypeStruct 6(float) 152(int) + 266: 6(float) Constant 1050288283 + 287: 6(float) Constant 1065353216 + 291: 152(int) Constant 2 + 356: TypeVector 152(int) 2 + 357: TypePointer Function 356(ivec2) + 383: 24(fvec2) ConstantComposite 179 179 + 384: TypeVector 135(bool) 2 + 397: 152(int) Constant 3 + 398: 356(ivec2) ConstantComposite 191 397 + 441: 8(int) Constant 7 + 442: 8(int) Constant 8 + 443: 26(ivec2) ConstantComposite 441 442 + 459(ResType): TypeStruct 24(fvec2) 356(ivec2) + 466: TypePointer Function 384(bvec2) + 524: 6(float) Constant 1073741824 + 527: 8(int) Constant 1 + 528: 8(int) Constant 2 + 529: 26(ivec2) ConstantComposite 527 528 + 576: 24(fvec2) ConstantComposite 287 524 + 594: TypeVector 152(int) 3 + 595: TypePointer Function 594(ivec3) + 621: 36(fvec3) ConstantComposite 179 179 179 + 622: TypeVector 135(bool) 3 + 635: 8(int) Constant 3 + 636: 8(int) Constant 5 + 637: 38(ivec3) ConstantComposite 441 635 636 + 684: 8(int) Constant 4 + 685: 38(ivec3) ConstantComposite 528 635 684 + 701(ResType): TypeStruct 36(fvec3) 594(ivec3) + 708: TypePointer Function 622(bvec3) + 727: 6(float) Constant 1050253722 + 774: 38(ivec3) ConstantComposite 527 528 635 + 821: 6(float) Constant 1077936128 + 822: 36(fvec3) ConstantComposite 287 524 821 + 840: TypeVector 152(int) 4 + 841: TypePointer Function 840(ivec4) + 867: 48(fvec4) ConstantComposite 179 179 179 179 + 868: TypeVector 135(bool) 4 + 881: 50(ivec4) ConstantComposite 441 635 636 528 + 935: 8(int) Constant 9 + 936: 8(int) Constant 10 + 937: 50(ivec4) ConstantComposite 441 442 935 936 + 953(ResType): TypeStruct 48(fvec4) 840(ivec4) + 960: TypePointer Function 868(bvec4) + 1020: 50(ivec4) ConstantComposite 527 528 635 684 + 1067: 6(float) Constant 1082130432 + 1068: 48(fvec4) ConstantComposite 287 524 821 1067 + 1096: 60 ConstantComposite 383 383 + 1097: TypeMatrix 384(bvec2) 2 + 1162(ResType): TypeStruct 60 356(ivec2) + 1250: 24(fvec2) ConstantComposite 524 524 + 1251: 60 ConstantComposite 1250 1250 + 1279: 68 ConstantComposite 621 621 621 + 1280: TypeMatrix 622(bvec3) 3 + 1348(ResType): TypeStruct 68 594(ivec3) + 1436: 36(fvec3) ConstantComposite 821 821 821 + 1437: 68 ConstantComposite 1436 1436 1436 + 1465: 76 ConstantComposite 867 867 867 867 + 1466: TypeMatrix 868(bvec4) 4 + 1537(ResType): TypeStruct 76 840(ivec4) + 1625: 48(fvec4) ConstantComposite 1067 1067 1067 1067 + 1626: 76 ConstantComposite 1625 1625 1625 1625 + 1805: TypePointer Function 131(PS_OUTPUT) + 1807: 152(int) Constant 0 + 1808: 48(fvec4) ConstantComposite 287 287 287 287 + 1813: TypePointer Output 48(fvec4) + 1814(color): 1813(ptr) Variable Output + 1817: TypePointer Workgroup 8(int) + 1818(gs_ua): 1817(ptr) Variable Workgroup + 1819(gs_ub): 1817(ptr) Variable Workgroup + 1820(gs_uc): 1817(ptr) Variable Workgroup + 1821: TypePointer Workgroup 26(ivec2) + 1822(gs_ua2): 1821(ptr) Variable Workgroup + 1823(gs_ub2): 1821(ptr) Variable Workgroup + 1824(gs_uc2): 1821(ptr) Variable Workgroup + 1825: TypePointer Workgroup 38(ivec3) + 1826(gs_ua3): 1825(ptr) Variable Workgroup + 1827(gs_ub3): 1825(ptr) Variable Workgroup + 1828(gs_uc3): 1825(ptr) Variable Workgroup + 1829: TypePointer Workgroup 50(ivec4) + 1830(gs_ua4): 1829(ptr) Variable Workgroup + 1831(gs_ub4): 1829(ptr) Variable Workgroup + 1832(gs_uc4): 1829(ptr) Variable Workgroup 4(main): 2 Function None 3 5: Label - 1803(ps_output): 1802(ptr) Variable Function - 1806: 49(ptr) AccessChain 1803(ps_output) 1804 - Store 1806 1805 - 1809: 49(ptr) AccessChain 1803(ps_output) 1804 - 1810: 48(fvec4) Load 1809 - Store 1808(color) 1810 + 1815:131(PS_OUTPUT) FunctionCall 133(@main() + 1816: 48(fvec4) CompositeExtract 1815 0 + Store 1814(color) 1816 Return FunctionEnd 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 @@ -6287,267 +6292,267 @@ gl_FragCoord origin is upper left 14(inU0): 9(ptr) FunctionParameter 15(inU1): 9(ptr) FunctionParameter 17: Label - 133(r000): 132(ptr) Variable Function - 136(r001): 7(ptr) Variable Function - 139(r002): 7(ptr) Variable Function - 142(r003): 132(ptr) Variable Function - 145(r004): 7(ptr) Variable Function - 150(r005): 149(ptr) Variable Function - 153(r006): 9(ptr) Variable Function - 156(r007): 7(ptr) Variable Function - 159(r009): 7(ptr) Variable Function - 162(r010): 7(ptr) Variable Function - 166(r011): 7(ptr) Variable Function - 169(r012): 7(ptr) Variable Function - 180(r014): 7(ptr) Variable Function - 183(r015): 7(ptr) Variable Function - 186(r016): 149(ptr) Variable Function - 189(r017): 7(ptr) Variable Function - 192(r018): 7(ptr) Variable Function - 195(r019): 7(ptr) Variable Function - 198(r020): 7(ptr) Variable Function - 201(r021): 7(ptr) Variable Function - 204(r022): 7(ptr) Variable Function - 207(r023): 7(ptr) Variable Function - 210(r027): 7(ptr) Variable Function - 213(r028): 7(ptr) Variable Function - 216(r029): 9(ptr) Variable Function - 219(r030): 9(ptr) Variable Function - 222(r031): 7(ptr) Variable Function - 225(r033): 7(ptr) Variable Function - 229(r034): 7(ptr) Variable Function - 232(r035): 7(ptr) Variable Function - 238(r036): 7(ptr) Variable Function - 241(r037): 132(ptr) Variable Function - 244(r038): 132(ptr) Variable Function - 247(r039): 7(ptr) Variable Function - 251(r039a): 7(ptr) Variable Function - 256(r040): 7(ptr) Variable Function - 259(r041): 7(ptr) Variable Function - 264(r042): 7(ptr) Variable Function - 267(r043): 7(ptr) Variable Function - 271(r044): 7(ptr) Variable Function - 275(r045): 7(ptr) Variable Function - 279(r046): 7(ptr) Variable Function - 282(r047): 7(ptr) Variable Function - 286(r048): 9(ptr) Variable Function - 290(r049): 7(ptr) Variable Function - 293(r050): 7(ptr) Variable Function - 296(r051): 7(ptr) Variable Function - 299(r052): 7(ptr) Variable Function - 302(r053): 7(ptr) Variable Function - 309(r055): 7(ptr) Variable Function - 312(r056): 7(ptr) Variable Function - 317(r057): 7(ptr) Variable Function - 320(r058): 7(ptr) Variable Function - 324(r059): 7(ptr) Variable Function - 327(r060): 7(ptr) Variable Function - 330(r061): 7(ptr) Variable Function - 134: 6(float) Load 11(inF0) - 135: 131(bool) All 134 - Store 133(r000) 135 - 137: 6(float) Load 11(inF0) - 138: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 137 - Store 136(r001) 138 - 140: 6(float) Load 11(inF0) - 141: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 140 - Store 139(r002) 141 - 143: 6(float) Load 11(inF0) - 144: 131(bool) Any 143 - Store 142(r003) 144 - 146: 6(float) Load 11(inF0) - 147: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 146 - Store 145(r004) 147 - 151: 6(float) Load 11(inF0) - 152: 148(int) Bitcast 151 - Store 150(r005) 152 - 154: 6(float) Load 11(inF0) - 155: 8(int) Bitcast 154 - Store 153(r006) 155 - 157: 8(int) Load 14(inU0) - 158: 6(float) Bitcast 157 - Store 156(r007) 158 - 160: 6(float) Load 11(inF0) - 161: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 160 - Store 159(r009) 161 - 163: 6(float) Load 11(inF0) - 164: 6(float) Load 12(inF1) - 165: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 163 164 - Store 162(r010) 165 + 137(r000): 136(ptr) Variable Function + 140(r001): 7(ptr) Variable Function + 143(r002): 7(ptr) Variable Function + 146(r003): 136(ptr) Variable Function + 149(r004): 7(ptr) Variable Function + 154(r005): 153(ptr) Variable Function + 157(r006): 9(ptr) Variable Function + 160(r007): 7(ptr) Variable Function + 163(r009): 7(ptr) Variable Function + 166(r010): 7(ptr) Variable Function + 170(r011): 7(ptr) Variable Function + 173(r012): 7(ptr) Variable Function + 184(r014): 7(ptr) Variable Function + 187(r015): 7(ptr) Variable Function + 190(r016): 153(ptr) Variable Function + 193(r017): 7(ptr) Variable Function + 196(r018): 7(ptr) Variable Function + 199(r019): 7(ptr) Variable Function + 202(r020): 7(ptr) Variable Function + 205(r021): 7(ptr) Variable Function + 208(r022): 7(ptr) Variable Function + 211(r023): 7(ptr) Variable Function + 214(r027): 7(ptr) Variable Function + 217(r028): 7(ptr) Variable Function + 220(r029): 9(ptr) Variable Function + 223(r030): 9(ptr) Variable Function + 226(r031): 7(ptr) Variable Function + 229(r033): 7(ptr) Variable Function + 233(r034): 7(ptr) Variable Function + 236(r035): 7(ptr) Variable Function + 242(r036): 7(ptr) Variable Function + 245(r037): 136(ptr) Variable Function + 248(r038): 136(ptr) Variable Function + 251(r039): 7(ptr) Variable Function + 255(r039a): 7(ptr) Variable Function + 260(r040): 7(ptr) Variable Function + 263(r041): 7(ptr) Variable Function + 268(r042): 7(ptr) Variable Function + 271(r043): 7(ptr) Variable Function + 275(r044): 7(ptr) Variable Function + 279(r045): 7(ptr) Variable Function + 283(r046): 7(ptr) Variable Function + 286(r047): 7(ptr) Variable Function + 290(r048): 9(ptr) Variable Function + 294(r049): 7(ptr) Variable Function + 297(r050): 7(ptr) Variable Function + 300(r051): 7(ptr) Variable Function + 303(r052): 7(ptr) Variable Function + 306(r053): 7(ptr) Variable Function + 313(r055): 7(ptr) Variable Function + 316(r056): 7(ptr) Variable Function + 321(r057): 7(ptr) Variable Function + 324(r058): 7(ptr) Variable Function + 328(r059): 7(ptr) Variable Function + 331(r060): 7(ptr) Variable Function + 334(r061): 7(ptr) Variable Function + 138: 6(float) Load 11(inF0) + 139: 135(bool) All 138 + Store 137(r000) 139 + 141: 6(float) Load 11(inF0) + 142: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 141 + Store 140(r001) 142 + 144: 6(float) Load 11(inF0) + 145: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 144 + Store 143(r002) 145 + 147: 6(float) Load 11(inF0) + 148: 135(bool) Any 147 + Store 146(r003) 148 + 150: 6(float) Load 11(inF0) + 151: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 150 + Store 149(r004) 151 + 155: 6(float) Load 11(inF0) + 156: 152(int) Bitcast 155 + Store 154(r005) 156 + 158: 6(float) Load 11(inF0) + 159: 8(int) Bitcast 158 + Store 157(r006) 159 + 161: 8(int) Load 14(inU0) + 162: 6(float) Bitcast 161 + Store 160(r007) 162 + 164: 6(float) Load 11(inF0) + 165: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 164 + Store 163(r009) 165 167: 6(float) Load 11(inF0) - 168: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 167 - Store 166(r011) 168 - 170: 6(float) Load 11(inF0) - 171: 6(float) Load 12(inF1) - 172: 6(float) Load 13(inF2) - 173: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 170 171 172 - Store 169(r012) 173 + 168: 6(float) Load 12(inF1) + 169: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 167 168 + Store 166(r010) 169 + 171: 6(float) Load 11(inF0) + 172: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 171 + Store 170(r011) 172 174: 6(float) Load 11(inF0) - 176: 131(bool) FOrdLessThan 174 175 - SelectionMerge 178 None - BranchConditional 176 177 178 - 177: Label + 175: 6(float) Load 12(inF1) + 176: 6(float) Load 13(inF2) + 177: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 174 175 176 + Store 173(r012) 177 + 178: 6(float) Load 11(inF0) + 180: 135(bool) FOrdLessThan 178 179 + SelectionMerge 182 None + BranchConditional 180 181 182 + 181: Label Kill - 178: Label - 181: 6(float) Load 11(inF0) - 182: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 181 - Store 180(r014) 182 - 184: 6(float) Load 11(inF0) - 185: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 184 - Store 183(r015) 185 - 188: 148(int) BitCount 187 - Store 186(r016) 188 - 190: 6(float) Load 11(inF0) - 191: 6(float) DPdx 190 - Store 189(r017) 191 - 193: 6(float) Load 11(inF0) - 194: 6(float) DPdxCoarse 193 - Store 192(r018) 194 - 196: 6(float) Load 11(inF0) - 197: 6(float) DPdxFine 196 - Store 195(r019) 197 - 199: 6(float) Load 11(inF0) - 200: 6(float) DPdy 199 - Store 198(r020) 200 - 202: 6(float) Load 11(inF0) - 203: 6(float) DPdyCoarse 202 - Store 201(r021) 203 - 205: 6(float) Load 11(inF0) - 206: 6(float) DPdyFine 205 - Store 204(r022) 206 - 208: 6(float) Load 11(inF0) - 209: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 208 - Store 207(r023) 209 - 211: 6(float) Load 11(inF0) - 212: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 211 - Store 210(r027) 212 - 214: 6(float) Load 11(inF0) - 215: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 214 - Store 213(r028) 215 - 217: 148(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 187 - 218: 8(int) Bitcast 217 - Store 216(r029) 218 - 220: 148(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 187 - 221: 8(int) Bitcast 220 - Store 219(r030) 221 - 223: 6(float) Load 11(inF0) - 224: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 223 - Store 222(r031) 224 - 226: 6(float) Load 11(inF0) - 227: 6(float) Load 12(inF1) - 228: 6(float) FMod 226 227 - Store 225(r033) 228 + 182: Label + 185: 6(float) Load 11(inF0) + 186: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 185 + Store 184(r014) 186 + 188: 6(float) Load 11(inF0) + 189: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 188 + Store 187(r015) 189 + 192: 152(int) BitCount 191 + Store 190(r016) 192 + 194: 6(float) Load 11(inF0) + 195: 6(float) DPdx 194 + Store 193(r017) 195 + 197: 6(float) Load 11(inF0) + 198: 6(float) DPdxCoarse 197 + Store 196(r018) 198 + 200: 6(float) Load 11(inF0) + 201: 6(float) DPdxFine 200 + Store 199(r019) 201 + 203: 6(float) Load 11(inF0) + 204: 6(float) DPdy 203 + Store 202(r020) 204 + 206: 6(float) Load 11(inF0) + 207: 6(float) DPdyCoarse 206 + Store 205(r021) 207 + 209: 6(float) Load 11(inF0) + 210: 6(float) DPdyFine 209 + Store 208(r022) 210 + 212: 6(float) Load 11(inF0) + 213: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 212 + Store 211(r023) 213 + 215: 6(float) Load 11(inF0) + 216: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 215 + Store 214(r027) 216 + 218: 6(float) Load 11(inF0) + 219: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 218 + Store 217(r028) 219 + 221: 152(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 191 + 222: 8(int) Bitcast 221 + Store 220(r029) 222 + 224: 152(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 191 + 225: 8(int) Bitcast 224 + Store 223(r030) 225 + 227: 6(float) Load 11(inF0) + 228: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 227 + Store 226(r031) 228 230: 6(float) Load 11(inF0) - 231: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 230 - Store 229(r034) 231 - 233: 6(float) Load 11(inF0) - 235:234(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 233 - 236: 148(int) CompositeExtract 235 1 - Store 12(inF1) 236 - 237: 6(float) CompositeExtract 235 0 - Store 232(r035) 237 - 239: 6(float) Load 11(inF0) - 240: 6(float) Fwidth 239 - Store 238(r036) 240 - 242: 6(float) Load 11(inF0) - 243: 131(bool) IsInf 242 - Store 241(r037) 243 - 245: 6(float) Load 11(inF0) - 246: 131(bool) IsNan 245 - Store 244(r038) 246 - 248: 6(float) Load 11(inF0) - 249: 6(float) Load 12(inF1) - 250: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 248 249 - Store 247(r039) 250 + 231: 6(float) Load 12(inF1) + 232: 6(float) FMod 230 231 + Store 229(r033) 232 + 234: 6(float) Load 11(inF0) + 235: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 234 + Store 233(r034) 235 + 237: 6(float) Load 11(inF0) + 239:238(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 237 + 240: 152(int) CompositeExtract 239 1 + Store 12(inF1) 240 + 241: 6(float) CompositeExtract 239 0 + Store 236(r035) 241 + 243: 6(float) Load 11(inF0) + 244: 6(float) Fwidth 243 + Store 242(r036) 244 + 246: 6(float) Load 11(inF0) + 247: 135(bool) IsInf 246 + Store 245(r037) 247 + 249: 6(float) Load 11(inF0) + 250: 135(bool) IsNan 249 + Store 248(r038) 250 252: 6(float) Load 11(inF0) 253: 6(float) Load 12(inF1) - 254: 6(float) Load 13(inF2) - 255: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 252 253 254 - Store 251(r039a) 255 - 257: 6(float) Load 11(inF0) - 258: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 257 - Store 256(r040) 258 - 260: 6(float) Load 11(inF0) - 261: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 260 - 263: 6(float) FMul 261 262 - Store 259(r041) 263 - 265: 6(float) Load 11(inF0) - 266: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 265 - Store 264(r042) 266 - 268: 6(float) Load 11(inF0) - 269: 6(float) Load 12(inF1) - 270: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 268 269 - Store 267(r043) 270 + 254: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 252 253 + Store 251(r039) 254 + 256: 6(float) Load 11(inF0) + 257: 6(float) Load 12(inF1) + 258: 6(float) Load 13(inF2) + 259: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 256 257 258 + Store 255(r039a) 259 + 261: 6(float) Load 11(inF0) + 262: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 261 + Store 260(r040) 262 + 264: 6(float) Load 11(inF0) + 265: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 264 + 267: 6(float) FMul 265 266 + Store 263(r041) 267 + 269: 6(float) Load 11(inF0) + 270: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 269 + Store 268(r042) 270 272: 6(float) Load 11(inF0) 273: 6(float) Load 12(inF1) - 274: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 272 273 - Store 271(r044) 274 + 274: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 272 273 + Store 271(r043) 274 276: 6(float) Load 11(inF0) 277: 6(float) Load 12(inF1) - 278: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 276 277 - Store 275(r045) 278 + 278: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 276 277 + Store 275(r044) 278 280: 6(float) Load 11(inF0) - 281: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 280 - Store 279(r046) 281 + 281: 6(float) Load 12(inF1) + 282: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 280 281 + Store 279(r045) 282 284: 6(float) Load 11(inF0) - 285: 6(float) FDiv 283 284 - Store 282(r047) 285 - 288: 148(int) BitReverse 287 - 289: 8(int) Bitcast 288 - Store 286(r048) 289 - 291: 6(float) Load 11(inF0) - 292: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 291 - Store 290(r049) 292 - 294: 6(float) Load 11(inF0) - 295: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 294 - Store 293(r050) 295 - 297: 6(float) Load 11(inF0) - 298: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 297 175 283 - Store 296(r051) 298 - 300: 6(float) Load 11(inF0) - 301: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 300 - Store 299(r052) 301 - 303: 6(float) Load 11(inF0) - 304: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 303 - Store 302(r053) 304 - 305: 6(float) Load 11(inF0) - 306: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 305 - Store 12(inF1) 306 + 285: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 284 + Store 283(r046) 285 + 288: 6(float) Load 11(inF0) + 289: 6(float) FDiv 287 288 + Store 286(r047) 289 + 292: 152(int) BitReverse 291 + 293: 8(int) Bitcast 292 + Store 290(r048) 293 + 295: 6(float) Load 11(inF0) + 296: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 295 + Store 294(r049) 296 + 298: 6(float) Load 11(inF0) + 299: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 298 + Store 297(r050) 299 + 301: 6(float) Load 11(inF0) + 302: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 301 179 287 + Store 300(r051) 302 + 304: 6(float) Load 11(inF0) + 305: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 304 + Store 303(r052) 305 307: 6(float) Load 11(inF0) - 308: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 307 - Store 13(inF2) 308 - 310: 6(float) Load 11(inF0) - 311: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 310 - Store 309(r055) 311 - 313: 6(float) Load 11(inF0) - 314: 6(float) Load 12(inF1) - 315: 6(float) Load 13(inF2) - 316: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 313 314 315 - Store 312(r056) 316 - 318: 6(float) Load 11(inF0) - 319: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 318 - Store 317(r057) 319 - 321: 6(float) Load 11(inF0) - 322: 6(float) Load 12(inF1) - 323: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 321 322 - Store 320(r058) 323 + 308: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 307 + Store 306(r053) 308 + 309: 6(float) Load 11(inF0) + 310: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309 + Store 12(inF1) 310 + 311: 6(float) Load 11(inF0) + 312: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 311 + Store 13(inF2) 312 + 314: 6(float) Load 11(inF0) + 315: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 314 + Store 313(r055) 315 + 317: 6(float) Load 11(inF0) + 318: 6(float) Load 12(inF1) + 319: 6(float) Load 13(inF2) + 320: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 317 318 319 + Store 316(r056) 320 + 322: 6(float) Load 11(inF0) + 323: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 322 + Store 321(r057) 323 325: 6(float) Load 11(inF0) - 326: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 325 - Store 324(r059) 326 - 328: 6(float) Load 11(inF0) - 329: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 328 - Store 327(r060) 329 - 331: 6(float) Load 11(inF0) - 332: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 331 - Store 330(r061) 332 - ReturnValue 175 + 326: 6(float) Load 12(inF1) + 327: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 325 326 + Store 324(r058) 327 + 329: 6(float) Load 11(inF0) + 330: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 329 + Store 328(r059) 330 + 332: 6(float) Load 11(inF0) + 333: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 332 + Store 331(r060) 333 + 335: 6(float) Load 11(inF0) + 336: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 335 + Store 334(r061) 336 + ReturnValue 179 FunctionEnd 22(PixelShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18 19(inF0): 7(ptr) FunctionParameter 20(inF1): 7(ptr) FunctionParameter 21(inF2): 7(ptr) FunctionParameter 23: Label - ReturnValue 175 + ReturnValue 179 FunctionEnd 34(PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28 29(inF0): 25(ptr) FunctionParameter @@ -6556,295 +6561,295 @@ gl_FragCoord origin is upper left 32(inU0): 27(ptr) FunctionParameter 33(inU1): 27(ptr) FunctionParameter 35: Label - 337(r000): 132(ptr) Variable Function - 340(r001): 25(ptr) Variable Function - 343(r002): 25(ptr) Variable Function - 346(r003): 132(ptr) Variable Function - 349(r004): 25(ptr) Variable Function - 354(r005): 353(ptr) Variable Function - 357(r006): 27(ptr) Variable Function - 360(r007): 25(ptr) Variable Function - 363(r009): 25(ptr) Variable Function - 366(r010): 25(ptr) Variable Function - 370(r011): 25(ptr) Variable Function - 373(r012): 25(ptr) Variable Function - 386(r013): 25(ptr) Variable Function - 389(r015): 25(ptr) Variable Function - 392(r016): 353(ptr) Variable Function - 396(r017): 25(ptr) Variable Function - 399(r018): 25(ptr) Variable Function - 402(r019): 25(ptr) Variable Function - 405(r020): 25(ptr) Variable Function - 408(r021): 25(ptr) Variable Function - 411(r022): 25(ptr) Variable Function - 414(r023): 25(ptr) Variable Function - 417(r026): 7(ptr) Variable Function - 421(r027): 7(ptr) Variable Function - 425(r028): 25(ptr) Variable Function - 428(r029): 25(ptr) Variable Function - 431(r030): 25(ptr) Variable Function - 436(r031): 27(ptr) Variable Function - 441(r032): 27(ptr) Variable Function - 443(r033): 25(ptr) Variable Function - 446(r035): 25(ptr) Variable Function - 450(r036): 25(ptr) Variable Function - 453(r037): 25(ptr) Variable Function - 459(r038): 25(ptr) Variable Function - 463(r039): 462(ptr) Variable Function - 466(r040): 462(ptr) Variable Function - 469(r041): 25(ptr) Variable Function - 473(r039a): 25(ptr) Variable Function - 478(r042): 7(ptr) Variable Function - 481(r043): 25(ptr) Variable Function - 484(r044): 25(ptr) Variable Function - 488(r045): 25(ptr) Variable Function - 491(r046): 25(ptr) Variable Function - 495(r047): 25(ptr) Variable Function - 499(r048): 25(ptr) Variable Function - 502(r049): 25(ptr) Variable Function - 506(r050): 25(ptr) Variable Function - 509(r051): 25(ptr) Variable Function - 513(r052): 25(ptr) Variable Function - 517(r053): 25(ptr) Variable Function - 522(r054): 27(ptr) Variable Function - 527(r055): 25(ptr) Variable Function - 530(r056): 25(ptr) Variable Function - 533(r057): 25(ptr) Variable Function - 538(r058): 25(ptr) Variable Function - 541(r059): 25(ptr) Variable Function - 548(r060): 25(ptr) Variable Function - 551(r061): 25(ptr) Variable Function - 556(r062): 25(ptr) Variable Function - 559(r063): 25(ptr) Variable Function - 563(r064): 25(ptr) Variable Function - 566(r065): 25(ptr) Variable Function - 569(r066): 25(ptr) Variable Function - 338: 24(fvec2) Load 29(inF0) - 339: 131(bool) All 338 - Store 337(r000) 339 - 341: 24(fvec2) Load 29(inF0) - 342: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 341 - Store 340(r001) 342 - 344: 24(fvec2) Load 29(inF0) - 345: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 344 - Store 343(r002) 345 - 347: 24(fvec2) Load 29(inF0) - 348: 131(bool) Any 347 - Store 346(r003) 348 - 350: 24(fvec2) Load 29(inF0) - 351: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 350 - Store 349(r004) 351 - 355: 24(fvec2) Load 29(inF0) - 356: 352(ivec2) Bitcast 355 - Store 354(r005) 356 - 358: 24(fvec2) Load 29(inF0) - 359: 26(ivec2) Bitcast 358 - Store 357(r006) 359 - 361: 26(ivec2) Load 32(inU0) - 362: 24(fvec2) Bitcast 361 - Store 360(r007) 362 - 364: 24(fvec2) Load 29(inF0) - 365: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 364 - Store 363(r009) 365 - 367: 24(fvec2) Load 29(inF0) - 368: 24(fvec2) Load 30(inF1) - 369: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 367 368 - Store 366(r010) 369 + 341(r000): 136(ptr) Variable Function + 344(r001): 25(ptr) Variable Function + 347(r002): 25(ptr) Variable Function + 350(r003): 136(ptr) Variable Function + 353(r004): 25(ptr) Variable Function + 358(r005): 357(ptr) Variable Function + 361(r006): 27(ptr) Variable Function + 364(r007): 25(ptr) Variable Function + 367(r009): 25(ptr) Variable Function + 370(r010): 25(ptr) Variable Function + 374(r011): 25(ptr) Variable Function + 377(r012): 25(ptr) Variable Function + 390(r013): 25(ptr) Variable Function + 393(r015): 25(ptr) Variable Function + 396(r016): 357(ptr) Variable Function + 400(r017): 25(ptr) Variable Function + 403(r018): 25(ptr) Variable Function + 406(r019): 25(ptr) Variable Function + 409(r020): 25(ptr) Variable Function + 412(r021): 25(ptr) Variable Function + 415(r022): 25(ptr) Variable Function + 418(r023): 25(ptr) Variable Function + 421(r026): 7(ptr) Variable Function + 425(r027): 7(ptr) Variable Function + 429(r028): 25(ptr) Variable Function + 432(r029): 25(ptr) Variable Function + 435(r030): 25(ptr) Variable Function + 440(r031): 27(ptr) Variable Function + 445(r032): 27(ptr) Variable Function + 447(r033): 25(ptr) Variable Function + 450(r035): 25(ptr) Variable Function + 454(r036): 25(ptr) Variable Function + 457(r037): 25(ptr) Variable Function + 463(r038): 25(ptr) Variable Function + 467(r039): 466(ptr) Variable Function + 470(r040): 466(ptr) Variable Function + 473(r041): 25(ptr) Variable Function + 477(r039a): 25(ptr) Variable Function + 482(r042): 7(ptr) Variable Function + 485(r043): 25(ptr) Variable Function + 488(r044): 25(ptr) Variable Function + 492(r045): 25(ptr) Variable Function + 495(r046): 25(ptr) Variable Function + 499(r047): 25(ptr) Variable Function + 503(r048): 25(ptr) Variable Function + 506(r049): 25(ptr) Variable Function + 510(r050): 25(ptr) Variable Function + 513(r051): 25(ptr) Variable Function + 517(r052): 25(ptr) Variable Function + 521(r053): 25(ptr) Variable Function + 526(r054): 27(ptr) Variable Function + 531(r055): 25(ptr) Variable Function + 534(r056): 25(ptr) Variable Function + 537(r057): 25(ptr) Variable Function + 542(r058): 25(ptr) Variable Function + 545(r059): 25(ptr) Variable Function + 552(r060): 25(ptr) Variable Function + 555(r061): 25(ptr) Variable Function + 560(r062): 25(ptr) Variable Function + 563(r063): 25(ptr) Variable Function + 567(r064): 25(ptr) Variable Function + 570(r065): 25(ptr) Variable Function + 573(r066): 25(ptr) Variable Function + 342: 24(fvec2) Load 29(inF0) + 343: 135(bool) All 342 + Store 341(r000) 343 + 345: 24(fvec2) Load 29(inF0) + 346: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 345 + Store 344(r001) 346 + 348: 24(fvec2) Load 29(inF0) + 349: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 348 + Store 347(r002) 349 + 351: 24(fvec2) Load 29(inF0) + 352: 135(bool) Any 351 + Store 350(r003) 352 + 354: 24(fvec2) Load 29(inF0) + 355: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 354 + Store 353(r004) 355 + 359: 24(fvec2) Load 29(inF0) + 360: 356(ivec2) Bitcast 359 + Store 358(r005) 360 + 362: 24(fvec2) Load 29(inF0) + 363: 26(ivec2) Bitcast 362 + Store 361(r006) 363 + 365: 26(ivec2) Load 32(inU0) + 366: 24(fvec2) Bitcast 365 + Store 364(r007) 366 + 368: 24(fvec2) Load 29(inF0) + 369: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 368 + Store 367(r009) 369 371: 24(fvec2) Load 29(inF0) - 372: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 371 - Store 370(r011) 372 - 374: 24(fvec2) Load 29(inF0) - 375: 24(fvec2) Load 30(inF1) - 376: 24(fvec2) Load 31(inF2) - 377: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 374 375 376 - Store 373(r012) 377 + 372: 24(fvec2) Load 30(inF1) + 373: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 371 372 + Store 370(r010) 373 + 375: 24(fvec2) Load 29(inF0) + 376: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 375 + Store 374(r011) 376 378: 24(fvec2) Load 29(inF0) - 381: 380(bvec2) FOrdLessThan 378 379 - 382: 131(bool) Any 381 - SelectionMerge 384 None - BranchConditional 382 383 384 - 383: Label + 379: 24(fvec2) Load 30(inF1) + 380: 24(fvec2) Load 31(inF2) + 381: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 378 379 380 + Store 377(r012) 381 + 382: 24(fvec2) Load 29(inF0) + 385: 384(bvec2) FOrdLessThan 382 383 + 386: 135(bool) Any 385 + SelectionMerge 388 None + BranchConditional 386 387 388 + 387: Label Kill - 384: Label - 387: 24(fvec2) Load 29(inF0) - 388: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 387 - Store 386(r013) 388 - 390: 24(fvec2) Load 29(inF0) - 391: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 390 - Store 389(r015) 391 - 395: 352(ivec2) BitCount 394 - Store 392(r016) 395 - 397: 24(fvec2) Load 29(inF0) - 398: 24(fvec2) DPdx 397 - Store 396(r017) 398 - 400: 24(fvec2) Load 29(inF0) - 401: 24(fvec2) DPdxCoarse 400 - Store 399(r018) 401 - 403: 24(fvec2) Load 29(inF0) - 404: 24(fvec2) DPdxFine 403 - Store 402(r019) 404 - 406: 24(fvec2) Load 29(inF0) - 407: 24(fvec2) DPdy 406 - Store 405(r020) 407 - 409: 24(fvec2) Load 29(inF0) - 410: 24(fvec2) DPdyCoarse 409 - Store 408(r021) 410 - 412: 24(fvec2) Load 29(inF0) - 413: 24(fvec2) DPdyFine 412 - Store 411(r022) 413 - 415: 24(fvec2) Load 29(inF0) - 416: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 415 - Store 414(r023) 416 - 418: 24(fvec2) Load 29(inF0) - 419: 24(fvec2) Load 30(inF1) - 420: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 418 419 - Store 417(r026) 420 + 388: Label + 391: 24(fvec2) Load 29(inF0) + 392: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 391 + Store 390(r013) 392 + 394: 24(fvec2) Load 29(inF0) + 395: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 394 + Store 393(r015) 395 + 399: 356(ivec2) BitCount 398 + Store 396(r016) 399 + 401: 24(fvec2) Load 29(inF0) + 402: 24(fvec2) DPdx 401 + Store 400(r017) 402 + 404: 24(fvec2) Load 29(inF0) + 405: 24(fvec2) DPdxCoarse 404 + Store 403(r018) 405 + 407: 24(fvec2) Load 29(inF0) + 408: 24(fvec2) DPdxFine 407 + Store 406(r019) 408 + 410: 24(fvec2) Load 29(inF0) + 411: 24(fvec2) DPdy 410 + Store 409(r020) 411 + 413: 24(fvec2) Load 29(inF0) + 414: 24(fvec2) DPdyCoarse 413 + Store 412(r021) 414 + 416: 24(fvec2) Load 29(inF0) + 417: 24(fvec2) DPdyFine 416 + Store 415(r022) 417 + 419: 24(fvec2) Load 29(inF0) + 420: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 419 + Store 418(r023) 420 422: 24(fvec2) Load 29(inF0) 423: 24(fvec2) Load 30(inF1) - 424: 6(float) Dot 422 423 - Store 421(r027) 424 + 424: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 422 423 + Store 421(r026) 424 426: 24(fvec2) Load 29(inF0) - 427: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 426 - Store 425(r028) 427 - 429: 24(fvec2) Load 29(inF0) - 430: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 429 - Store 428(r029) 430 - 432: 24(fvec2) Load 29(inF0) - 433: 24(fvec2) Load 30(inF1) - 434: 24(fvec2) Load 31(inF2) - 435: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 432 433 434 - Store 431(r030) 435 - 440: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 439 - Store 436(r031) 440 - 442: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 439 - Store 441(r032) 442 - 444: 24(fvec2) Load 29(inF0) - 445: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 444 - Store 443(r033) 445 - 447: 24(fvec2) Load 29(inF0) - 448: 24(fvec2) Load 30(inF1) - 449: 24(fvec2) FMod 447 448 - Store 446(r035) 449 + 427: 24(fvec2) Load 30(inF1) + 428: 6(float) Dot 426 427 + Store 425(r027) 428 + 430: 24(fvec2) Load 29(inF0) + 431: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 430 + Store 429(r028) 431 + 433: 24(fvec2) Load 29(inF0) + 434: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 433 + Store 432(r029) 434 + 436: 24(fvec2) Load 29(inF0) + 437: 24(fvec2) Load 30(inF1) + 438: 24(fvec2) Load 31(inF2) + 439: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 436 437 438 + Store 435(r030) 439 + 444: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 443 + Store 440(r031) 444 + 446: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 443 + Store 445(r032) 446 + 448: 24(fvec2) Load 29(inF0) + 449: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 448 + Store 447(r033) 449 451: 24(fvec2) Load 29(inF0) - 452: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 451 - Store 450(r036) 452 - 454: 24(fvec2) Load 29(inF0) - 456:455(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 454 - 457: 352(ivec2) CompositeExtract 456 1 - Store 30(inF1) 457 - 458: 24(fvec2) CompositeExtract 456 0 - Store 453(r037) 458 - 460: 24(fvec2) Load 29(inF0) - 461: 24(fvec2) Fwidth 460 - Store 459(r038) 461 + 452: 24(fvec2) Load 30(inF1) + 453: 24(fvec2) FMod 451 452 + Store 450(r035) 453 + 455: 24(fvec2) Load 29(inF0) + 456: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 455 + Store 454(r036) 456 + 458: 24(fvec2) Load 29(inF0) + 460:459(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 458 + 461: 356(ivec2) CompositeExtract 460 1 + Store 30(inF1) 461 + 462: 24(fvec2) CompositeExtract 460 0 + Store 457(r037) 462 464: 24(fvec2) Load 29(inF0) - 465: 380(bvec2) IsInf 464 - Store 463(r039) 465 - 467: 24(fvec2) Load 29(inF0) - 468: 380(bvec2) IsNan 467 - Store 466(r040) 468 - 470: 24(fvec2) Load 29(inF0) - 471: 24(fvec2) Load 30(inF1) - 472: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 470 471 - Store 469(r041) 472 + 465: 24(fvec2) Fwidth 464 + Store 463(r038) 465 + 468: 24(fvec2) Load 29(inF0) + 469: 384(bvec2) IsInf 468 + Store 467(r039) 469 + 471: 24(fvec2) Load 29(inF0) + 472: 384(bvec2) IsNan 471 + Store 470(r040) 472 474: 24(fvec2) Load 29(inF0) 475: 24(fvec2) Load 30(inF1) - 476: 24(fvec2) Load 31(inF2) - 477: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 474 475 476 - Store 473(r039a) 477 - 479: 24(fvec2) Load 29(inF0) - 480: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 479 - Store 478(r042) 480 - 482: 24(fvec2) Load 29(inF0) - 483: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 482 - Store 481(r043) 483 - 485: 24(fvec2) Load 29(inF0) - 486: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 485 - 487: 24(fvec2) VectorTimesScalar 486 262 - Store 484(r044) 487 + 476: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 474 475 + Store 473(r041) 476 + 478: 24(fvec2) Load 29(inF0) + 479: 24(fvec2) Load 30(inF1) + 480: 24(fvec2) Load 31(inF2) + 481: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 478 479 480 + Store 477(r039a) 481 + 483: 24(fvec2) Load 29(inF0) + 484: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 483 + Store 482(r042) 484 + 486: 24(fvec2) Load 29(inF0) + 487: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 486 + Store 485(r043) 487 489: 24(fvec2) Load 29(inF0) 490: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 489 - Store 488(r045) 490 - 492: 24(fvec2) Load 29(inF0) - 493: 24(fvec2) Load 30(inF1) - 494: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 492 493 - Store 491(r046) 494 + 491: 24(fvec2) VectorTimesScalar 490 266 + Store 488(r044) 491 + 493: 24(fvec2) Load 29(inF0) + 494: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 493 + Store 492(r045) 494 496: 24(fvec2) Load 29(inF0) 497: 24(fvec2) Load 30(inF1) - 498: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 496 497 - Store 495(r047) 498 + 498: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 496 497 + Store 495(r046) 498 500: 24(fvec2) Load 29(inF0) - 501: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 500 - Store 499(r048) 501 - 503: 24(fvec2) Load 29(inF0) - 504: 24(fvec2) Load 30(inF1) - 505: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 503 504 - Store 502(r049) 505 + 501: 24(fvec2) Load 30(inF1) + 502: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 500 501 + Store 499(r047) 502 + 504: 24(fvec2) Load 29(inF0) + 505: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 504 + Store 503(r048) 505 507: 24(fvec2) Load 29(inF0) - 508: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 507 - Store 506(r050) 508 - 510: 24(fvec2) Load 29(inF0) - 511: 24(fvec2) CompositeConstruct 283 283 - 512: 24(fvec2) FDiv 511 510 - Store 509(r051) 512 + 508: 24(fvec2) Load 30(inF1) + 509: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 507 508 + Store 506(r049) 509 + 511: 24(fvec2) Load 29(inF0) + 512: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 511 + Store 510(r050) 512 514: 24(fvec2) Load 29(inF0) - 515: 24(fvec2) Load 30(inF1) - 516: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 514 515 - Store 513(r052) 516 + 515: 24(fvec2) CompositeConstruct 287 287 + 516: 24(fvec2) FDiv 515 514 + Store 513(r051) 516 518: 24(fvec2) Load 29(inF0) 519: 24(fvec2) Load 30(inF1) - 521: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 518 519 520 - Store 517(r053) 521 - 526: 26(ivec2) BitReverse 525 - Store 522(r054) 526 - 528: 24(fvec2) Load 29(inF0) - 529: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 528 - Store 527(r055) 529 - 531: 24(fvec2) Load 29(inF0) - 532: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 531 - Store 530(r056) 532 - 534: 24(fvec2) Load 29(inF0) - 535: 24(fvec2) CompositeConstruct 175 175 - 536: 24(fvec2) CompositeConstruct 283 283 - 537: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 534 535 536 - Store 533(r057) 537 - 539: 24(fvec2) Load 29(inF0) - 540: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 539 - Store 538(r058) 540 - 542: 24(fvec2) Load 29(inF0) - 543: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 542 - Store 541(r059) 543 - 544: 24(fvec2) Load 29(inF0) - 545: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 544 - Store 30(inF1) 545 + 520: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 518 519 + Store 517(r052) 520 + 522: 24(fvec2) Load 29(inF0) + 523: 24(fvec2) Load 30(inF1) + 525: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 522 523 524 + Store 521(r053) 525 + 530: 26(ivec2) BitReverse 529 + Store 526(r054) 530 + 532: 24(fvec2) Load 29(inF0) + 533: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 532 + Store 531(r055) 533 + 535: 24(fvec2) Load 29(inF0) + 536: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 535 + Store 534(r056) 536 + 538: 24(fvec2) Load 29(inF0) + 539: 24(fvec2) CompositeConstruct 179 179 + 540: 24(fvec2) CompositeConstruct 287 287 + 541: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 538 539 540 + Store 537(r057) 541 + 543: 24(fvec2) Load 29(inF0) + 544: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 543 + Store 542(r058) 544 546: 24(fvec2) Load 29(inF0) - 547: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 546 - Store 31(inF2) 547 - 549: 24(fvec2) Load 29(inF0) - 550: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 549 - Store 548(r060) 550 - 552: 24(fvec2) Load 29(inF0) - 553: 24(fvec2) Load 30(inF1) - 554: 24(fvec2) Load 31(inF2) - 555: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 552 553 554 - Store 551(r061) 555 - 557: 24(fvec2) Load 29(inF0) - 558: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 557 - Store 556(r062) 558 - 560: 24(fvec2) Load 29(inF0) - 561: 24(fvec2) Load 30(inF1) - 562: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 560 561 - Store 559(r063) 562 + 547: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 546 + Store 545(r059) 547 + 548: 24(fvec2) Load 29(inF0) + 549: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 548 + Store 30(inF1) 549 + 550: 24(fvec2) Load 29(inF0) + 551: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 550 + Store 31(inF2) 551 + 553: 24(fvec2) Load 29(inF0) + 554: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 553 + Store 552(r060) 554 + 556: 24(fvec2) Load 29(inF0) + 557: 24(fvec2) Load 30(inF1) + 558: 24(fvec2) Load 31(inF2) + 559: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 556 557 558 + Store 555(r061) 559 + 561: 24(fvec2) Load 29(inF0) + 562: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 561 + Store 560(r062) 562 564: 24(fvec2) Load 29(inF0) - 565: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 564 - Store 563(r064) 565 - 567: 24(fvec2) Load 29(inF0) - 568: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 567 - Store 566(r065) 568 - 570: 24(fvec2) Load 29(inF0) - 571: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 570 - Store 569(r066) 571 - ReturnValue 572 + 565: 24(fvec2) Load 30(inF1) + 566: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 564 565 + Store 563(r063) 566 + 568: 24(fvec2) Load 29(inF0) + 569: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 568 + Store 567(r064) 569 + 571: 24(fvec2) Load 29(inF0) + 572: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 571 + Store 570(r065) 572 + 574: 24(fvec2) Load 29(inF0) + 575: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 574 + Store 573(r066) 575 + ReturnValue 576 FunctionEnd 46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40 41(inF0): 37(ptr) FunctionParameter @@ -6853,306 +6858,306 @@ gl_FragCoord origin is upper left 44(inU0): 39(ptr) FunctionParameter 45(inU1): 39(ptr) FunctionParameter 47: Label - 575(r000): 132(ptr) Variable Function - 578(r001): 37(ptr) Variable Function - 581(r002): 37(ptr) Variable Function - 584(r003): 132(ptr) Variable Function - 587(r004): 37(ptr) Variable Function - 592(r005): 591(ptr) Variable Function - 595(r006): 39(ptr) Variable Function - 598(r007): 37(ptr) Variable Function - 601(r009): 37(ptr) Variable Function - 604(r010): 37(ptr) Variable Function - 608(r011): 37(ptr) Variable Function - 611(r012): 37(ptr) Variable Function - 624(r013): 37(ptr) Variable Function - 627(r014): 37(ptr) Variable Function - 630(r015): 39(ptr) Variable Function - 635(r016): 37(ptr) Variable Function - 639(r017): 37(ptr) Variable Function - 642(r018): 37(ptr) Variable Function - 645(r019): 37(ptr) Variable Function - 648(r020): 37(ptr) Variable Function - 651(r021): 37(ptr) Variable Function - 654(r022): 37(ptr) Variable Function - 657(r023): 37(ptr) Variable Function - 660(r024): 7(ptr) Variable Function - 664(r025): 7(ptr) Variable Function - 668(r029): 37(ptr) Variable Function - 671(r030): 37(ptr) Variable Function - 674(r031): 37(ptr) Variable Function - 679(r032): 39(ptr) Variable Function - 683(r033): 39(ptr) Variable Function - 685(r034): 37(ptr) Variable Function - 688(r036): 37(ptr) Variable Function - 692(r037): 37(ptr) Variable Function - 695(r038): 37(ptr) Variable Function - 701(r039): 37(ptr) Variable Function - 705(r040): 704(ptr) Variable Function - 708(r041): 704(ptr) Variable Function - 711(r042): 37(ptr) Variable Function - 715(r039a): 37(ptr) Variable Function - 720(r039b): 37(ptr) Variable Function - 726(r043): 7(ptr) Variable Function - 729(r044): 37(ptr) Variable Function - 732(r045): 37(ptr) Variable Function - 736(r046): 37(ptr) Variable Function - 739(r047): 37(ptr) Variable Function - 743(r048): 37(ptr) Variable Function - 747(r049): 37(ptr) Variable Function - 750(r050): 37(ptr) Variable Function - 754(r051): 37(ptr) Variable Function - 757(r052): 37(ptr) Variable Function - 761(r053): 37(ptr) Variable Function - 765(r054): 37(ptr) Variable Function - 769(r055): 39(ptr) Variable Function - 772(r056): 37(ptr) Variable Function - 775(r057): 37(ptr) Variable Function - 778(r058): 37(ptr) Variable Function - 783(r059): 37(ptr) Variable Function - 786(r060): 37(ptr) Variable Function - 793(r061): 37(ptr) Variable Function - 796(r062): 37(ptr) Variable Function - 801(r063): 37(ptr) Variable Function - 804(r064): 37(ptr) Variable Function - 808(r065): 37(ptr) Variable Function - 811(r066): 37(ptr) Variable Function - 814(r067): 37(ptr) Variable Function - 576: 36(fvec3) Load 41(inF0) - 577: 131(bool) All 576 - Store 575(r000) 577 - 579: 36(fvec3) Load 41(inF0) - 580: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 579 - Store 578(r001) 580 - 582: 36(fvec3) Load 41(inF0) - 583: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 582 - Store 581(r002) 583 - 585: 36(fvec3) Load 41(inF0) - 586: 131(bool) Any 585 - Store 584(r003) 586 - 588: 36(fvec3) Load 41(inF0) - 589: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 588 - Store 587(r004) 589 - 593: 36(fvec3) Load 41(inF0) - 594: 590(ivec3) Bitcast 593 - Store 592(r005) 594 - 596: 36(fvec3) Load 41(inF0) - 597: 38(ivec3) Bitcast 596 - Store 595(r006) 597 - 599: 38(ivec3) Load 44(inU0) - 600: 36(fvec3) Bitcast 599 - Store 598(r007) 600 - 602: 36(fvec3) Load 41(inF0) - 603: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 602 - Store 601(r009) 603 - 605: 36(fvec3) Load 41(inF0) - 606: 36(fvec3) Load 42(inF1) - 607: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 605 606 - Store 604(r010) 607 + 579(r000): 136(ptr) Variable Function + 582(r001): 37(ptr) Variable Function + 585(r002): 37(ptr) Variable Function + 588(r003): 136(ptr) Variable Function + 591(r004): 37(ptr) Variable Function + 596(r005): 595(ptr) Variable Function + 599(r006): 39(ptr) Variable Function + 602(r007): 37(ptr) Variable Function + 605(r009): 37(ptr) Variable Function + 608(r010): 37(ptr) Variable Function + 612(r011): 37(ptr) Variable Function + 615(r012): 37(ptr) Variable Function + 628(r013): 37(ptr) Variable Function + 631(r014): 37(ptr) Variable Function + 634(r015): 39(ptr) Variable Function + 639(r016): 37(ptr) Variable Function + 643(r017): 37(ptr) Variable Function + 646(r018): 37(ptr) Variable Function + 649(r019): 37(ptr) Variable Function + 652(r020): 37(ptr) Variable Function + 655(r021): 37(ptr) Variable Function + 658(r022): 37(ptr) Variable Function + 661(r023): 37(ptr) Variable Function + 664(r024): 7(ptr) Variable Function + 668(r025): 7(ptr) Variable Function + 672(r029): 37(ptr) Variable Function + 675(r030): 37(ptr) Variable Function + 678(r031): 37(ptr) Variable Function + 683(r032): 39(ptr) Variable Function + 687(r033): 39(ptr) Variable Function + 689(r034): 37(ptr) Variable Function + 692(r036): 37(ptr) Variable Function + 696(r037): 37(ptr) Variable Function + 699(r038): 37(ptr) Variable Function + 705(r039): 37(ptr) Variable Function + 709(r040): 708(ptr) Variable Function + 712(r041): 708(ptr) Variable Function + 715(r042): 37(ptr) Variable Function + 719(r039a): 37(ptr) Variable Function + 724(r039b): 37(ptr) Variable Function + 730(r043): 7(ptr) Variable Function + 733(r044): 37(ptr) Variable Function + 736(r045): 37(ptr) Variable Function + 740(r046): 37(ptr) Variable Function + 743(r047): 37(ptr) Variable Function + 747(r048): 37(ptr) Variable Function + 751(r049): 37(ptr) Variable Function + 754(r050): 37(ptr) Variable Function + 758(r051): 37(ptr) Variable Function + 761(r052): 37(ptr) Variable Function + 765(r053): 37(ptr) Variable Function + 769(r054): 37(ptr) Variable Function + 773(r055): 39(ptr) Variable Function + 776(r056): 37(ptr) Variable Function + 779(r057): 37(ptr) Variable Function + 782(r058): 37(ptr) Variable Function + 787(r059): 37(ptr) Variable Function + 790(r060): 37(ptr) Variable Function + 797(r061): 37(ptr) Variable Function + 800(r062): 37(ptr) Variable Function + 805(r063): 37(ptr) Variable Function + 808(r064): 37(ptr) Variable Function + 812(r065): 37(ptr) Variable Function + 815(r066): 37(ptr) Variable Function + 818(r067): 37(ptr) Variable Function + 580: 36(fvec3) Load 41(inF0) + 581: 135(bool) All 580 + Store 579(r000) 581 + 583: 36(fvec3) Load 41(inF0) + 584: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 583 + Store 582(r001) 584 + 586: 36(fvec3) Load 41(inF0) + 587: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 586 + Store 585(r002) 587 + 589: 36(fvec3) Load 41(inF0) + 590: 135(bool) Any 589 + Store 588(r003) 590 + 592: 36(fvec3) Load 41(inF0) + 593: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 592 + Store 591(r004) 593 + 597: 36(fvec3) Load 41(inF0) + 598: 594(ivec3) Bitcast 597 + Store 596(r005) 598 + 600: 36(fvec3) Load 41(inF0) + 601: 38(ivec3) Bitcast 600 + Store 599(r006) 601 + 603: 38(ivec3) Load 44(inU0) + 604: 36(fvec3) Bitcast 603 + Store 602(r007) 604 + 606: 36(fvec3) Load 41(inF0) + 607: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 606 + Store 605(r009) 607 609: 36(fvec3) Load 41(inF0) - 610: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 609 - Store 608(r011) 610 - 612: 36(fvec3) Load 41(inF0) - 613: 36(fvec3) Load 42(inF1) - 614: 36(fvec3) Load 43(inF2) - 615: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 612 613 614 - Store 611(r012) 615 + 610: 36(fvec3) Load 42(inF1) + 611: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 609 610 + Store 608(r010) 611 + 613: 36(fvec3) Load 41(inF0) + 614: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 613 + Store 612(r011) 614 616: 36(fvec3) Load 41(inF0) - 619: 618(bvec3) FOrdLessThan 616 617 - 620: 131(bool) Any 619 - SelectionMerge 622 None - BranchConditional 620 621 622 - 621: Label + 617: 36(fvec3) Load 42(inF1) + 618: 36(fvec3) Load 43(inF2) + 619: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 616 617 618 + Store 615(r012) 619 + 620: 36(fvec3) Load 41(inF0) + 623: 622(bvec3) FOrdLessThan 620 621 + 624: 135(bool) Any 623 + SelectionMerge 626 None + BranchConditional 624 625 626 + 625: Label Kill - 622: Label - 625: 36(fvec3) Load 41(inF0) - 626: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 625 - Store 624(r013) 626 - 628: 36(fvec3) Load 41(inF0) - 629: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 628 - Store 627(r014) 629 - 634: 38(ivec3) BitCount 633 - Store 630(r015) 634 - 636: 36(fvec3) Load 41(inF0) - 637: 36(fvec3) Load 42(inF1) - 638: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 636 637 - Store 635(r016) 638 + 626: Label + 629: 36(fvec3) Load 41(inF0) + 630: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 629 + Store 628(r013) 630 + 632: 36(fvec3) Load 41(inF0) + 633: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 632 + Store 631(r014) 633 + 638: 38(ivec3) BitCount 637 + Store 634(r015) 638 640: 36(fvec3) Load 41(inF0) - 641: 36(fvec3) DPdx 640 - Store 639(r017) 641 - 643: 36(fvec3) Load 41(inF0) - 644: 36(fvec3) DPdxCoarse 643 - Store 642(r018) 644 - 646: 36(fvec3) Load 41(inF0) - 647: 36(fvec3) DPdxFine 646 - Store 645(r019) 647 - 649: 36(fvec3) Load 41(inF0) - 650: 36(fvec3) DPdy 649 - Store 648(r020) 650 - 652: 36(fvec3) Load 41(inF0) - 653: 36(fvec3) DPdyCoarse 652 - Store 651(r021) 653 - 655: 36(fvec3) Load 41(inF0) - 656: 36(fvec3) DPdyFine 655 - Store 654(r022) 656 - 658: 36(fvec3) Load 41(inF0) - 659: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 658 - Store 657(r023) 659 - 661: 36(fvec3) Load 41(inF0) - 662: 36(fvec3) Load 42(inF1) - 663: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 661 662 - Store 660(r024) 663 + 641: 36(fvec3) Load 42(inF1) + 642: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 640 641 + Store 639(r016) 642 + 644: 36(fvec3) Load 41(inF0) + 645: 36(fvec3) DPdx 644 + Store 643(r017) 645 + 647: 36(fvec3) Load 41(inF0) + 648: 36(fvec3) DPdxCoarse 647 + Store 646(r018) 648 + 650: 36(fvec3) Load 41(inF0) + 651: 36(fvec3) DPdxFine 650 + Store 649(r019) 651 + 653: 36(fvec3) Load 41(inF0) + 654: 36(fvec3) DPdy 653 + Store 652(r020) 654 + 656: 36(fvec3) Load 41(inF0) + 657: 36(fvec3) DPdyCoarse 656 + Store 655(r021) 657 + 659: 36(fvec3) Load 41(inF0) + 660: 36(fvec3) DPdyFine 659 + Store 658(r022) 660 + 662: 36(fvec3) Load 41(inF0) + 663: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 662 + Store 661(r023) 663 665: 36(fvec3) Load 41(inF0) 666: 36(fvec3) Load 42(inF1) - 667: 6(float) Dot 665 666 - Store 664(r025) 667 + 667: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 665 666 + Store 664(r024) 667 669: 36(fvec3) Load 41(inF0) - 670: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 669 - Store 668(r029) 670 - 672: 36(fvec3) Load 41(inF0) - 673: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 672 - Store 671(r030) 673 - 675: 36(fvec3) Load 41(inF0) - 676: 36(fvec3) Load 42(inF1) - 677: 36(fvec3) Load 43(inF2) - 678: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 675 676 677 - Store 674(r031) 678 - 682: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 681 - Store 679(r032) 682 - 684: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 681 - Store 683(r033) 684 - 686: 36(fvec3) Load 41(inF0) - 687: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 686 - Store 685(r034) 687 - 689: 36(fvec3) Load 41(inF0) - 690: 36(fvec3) Load 42(inF1) - 691: 36(fvec3) FMod 689 690 - Store 688(r036) 691 + 670: 36(fvec3) Load 42(inF1) + 671: 6(float) Dot 669 670 + Store 668(r025) 671 + 673: 36(fvec3) Load 41(inF0) + 674: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 673 + Store 672(r029) 674 + 676: 36(fvec3) Load 41(inF0) + 677: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 676 + Store 675(r030) 677 + 679: 36(fvec3) Load 41(inF0) + 680: 36(fvec3) Load 42(inF1) + 681: 36(fvec3) Load 43(inF2) + 682: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 679 680 681 + Store 678(r031) 682 + 686: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 685 + Store 683(r032) 686 + 688: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 685 + Store 687(r033) 688 + 690: 36(fvec3) Load 41(inF0) + 691: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 690 + Store 689(r034) 691 693: 36(fvec3) Load 41(inF0) - 694: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 693 - Store 692(r037) 694 - 696: 36(fvec3) Load 41(inF0) - 698:697(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 696 - 699: 590(ivec3) CompositeExtract 698 1 - Store 42(inF1) 699 - 700: 36(fvec3) CompositeExtract 698 0 - Store 695(r038) 700 - 702: 36(fvec3) Load 41(inF0) - 703: 36(fvec3) Fwidth 702 - Store 701(r039) 703 + 694: 36(fvec3) Load 42(inF1) + 695: 36(fvec3) FMod 693 694 + Store 692(r036) 695 + 697: 36(fvec3) Load 41(inF0) + 698: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 697 + Store 696(r037) 698 + 700: 36(fvec3) Load 41(inF0) + 702:701(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 700 + 703: 594(ivec3) CompositeExtract 702 1 + Store 42(inF1) 703 + 704: 36(fvec3) CompositeExtract 702 0 + Store 699(r038) 704 706: 36(fvec3) Load 41(inF0) - 707: 618(bvec3) IsInf 706 - Store 705(r040) 707 - 709: 36(fvec3) Load 41(inF0) - 710: 618(bvec3) IsNan 709 - Store 708(r041) 710 - 712: 36(fvec3) Load 41(inF0) - 713: 36(fvec3) Load 42(inF1) - 714: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 712 713 - Store 711(r042) 714 + 707: 36(fvec3) Fwidth 706 + Store 705(r039) 707 + 710: 36(fvec3) Load 41(inF0) + 711: 622(bvec3) IsInf 710 + Store 709(r040) 711 + 713: 36(fvec3) Load 41(inF0) + 714: 622(bvec3) IsNan 713 + Store 712(r041) 714 716: 36(fvec3) Load 41(inF0) 717: 36(fvec3) Load 42(inF1) - 718: 36(fvec3) Load 43(inF2) - 719: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 716 717 718 - Store 715(r039a) 719 - 721: 36(fvec3) Load 41(inF0) - 722: 36(fvec3) Load 42(inF1) - 724: 36(fvec3) CompositeConstruct 723 723 723 - 725: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 721 722 724 - Store 720(r039b) 725 - 727: 36(fvec3) Load 41(inF0) - 728: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 727 - Store 726(r043) 728 - 730: 36(fvec3) Load 41(inF0) - 731: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 730 - Store 729(r044) 731 - 733: 36(fvec3) Load 41(inF0) - 734: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 733 - 735: 36(fvec3) VectorTimesScalar 734 262 - Store 732(r045) 735 + 718: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 716 717 + Store 715(r042) 718 + 720: 36(fvec3) Load 41(inF0) + 721: 36(fvec3) Load 42(inF1) + 722: 36(fvec3) Load 43(inF2) + 723: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 720 721 722 + Store 719(r039a) 723 + 725: 36(fvec3) Load 41(inF0) + 726: 36(fvec3) Load 42(inF1) + 728: 36(fvec3) CompositeConstruct 727 727 727 + 729: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 725 726 728 + Store 724(r039b) 729 + 731: 36(fvec3) Load 41(inF0) + 732: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 731 + Store 730(r043) 732 + 734: 36(fvec3) Load 41(inF0) + 735: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 734 + Store 733(r044) 735 737: 36(fvec3) Load 41(inF0) 738: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 737 - Store 736(r046) 738 - 740: 36(fvec3) Load 41(inF0) - 741: 36(fvec3) Load 42(inF1) - 742: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 740 741 - Store 739(r047) 742 + 739: 36(fvec3) VectorTimesScalar 738 266 + Store 736(r045) 739 + 741: 36(fvec3) Load 41(inF0) + 742: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 741 + Store 740(r046) 742 744: 36(fvec3) Load 41(inF0) 745: 36(fvec3) Load 42(inF1) - 746: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 744 745 - Store 743(r048) 746 + 746: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 744 745 + Store 743(r047) 746 748: 36(fvec3) Load 41(inF0) - 749: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 748 - Store 747(r049) 749 - 751: 36(fvec3) Load 41(inF0) - 752: 36(fvec3) Load 42(inF1) - 753: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 751 752 - Store 750(r050) 753 + 749: 36(fvec3) Load 42(inF1) + 750: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 748 749 + Store 747(r048) 750 + 752: 36(fvec3) Load 41(inF0) + 753: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 752 + Store 751(r049) 753 755: 36(fvec3) Load 41(inF0) - 756: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 755 - Store 754(r051) 756 - 758: 36(fvec3) Load 41(inF0) - 759: 36(fvec3) CompositeConstruct 283 283 283 - 760: 36(fvec3) FDiv 759 758 - Store 757(r052) 760 + 756: 36(fvec3) Load 42(inF1) + 757: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 755 756 + Store 754(r050) 757 + 759: 36(fvec3) Load 41(inF0) + 760: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 759 + Store 758(r051) 760 762: 36(fvec3) Load 41(inF0) - 763: 36(fvec3) Load 42(inF1) - 764: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 762 763 - Store 761(r053) 764 + 763: 36(fvec3) CompositeConstruct 287 287 287 + 764: 36(fvec3) FDiv 763 762 + Store 761(r052) 764 766: 36(fvec3) Load 41(inF0) 767: 36(fvec3) Load 42(inF1) - 768: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 766 767 520 - Store 765(r054) 768 - 771: 38(ivec3) BitReverse 770 - Store 769(r055) 771 - 773: 36(fvec3) Load 41(inF0) - 774: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 773 - Store 772(r056) 774 - 776: 36(fvec3) Load 41(inF0) - 777: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 776 - Store 775(r057) 777 - 779: 36(fvec3) Load 41(inF0) - 780: 36(fvec3) CompositeConstruct 175 175 175 - 781: 36(fvec3) CompositeConstruct 283 283 283 - 782: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 779 780 781 - Store 778(r058) 782 - 784: 36(fvec3) Load 41(inF0) - 785: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 784 - Store 783(r059) 785 - 787: 36(fvec3) Load 41(inF0) - 788: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 787 - Store 786(r060) 788 - 789: 36(fvec3) Load 41(inF0) - 790: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 789 - Store 42(inF1) 790 + 768: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 766 767 + Store 765(r053) 768 + 770: 36(fvec3) Load 41(inF0) + 771: 36(fvec3) Load 42(inF1) + 772: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 770 771 524 + Store 769(r054) 772 + 775: 38(ivec3) BitReverse 774 + Store 773(r055) 775 + 777: 36(fvec3) Load 41(inF0) + 778: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 777 + Store 776(r056) 778 + 780: 36(fvec3) Load 41(inF0) + 781: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 780 + Store 779(r057) 781 + 783: 36(fvec3) Load 41(inF0) + 784: 36(fvec3) CompositeConstruct 179 179 179 + 785: 36(fvec3) CompositeConstruct 287 287 287 + 786: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 783 784 785 + Store 782(r058) 786 + 788: 36(fvec3) Load 41(inF0) + 789: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 788 + Store 787(r059) 789 791: 36(fvec3) Load 41(inF0) - 792: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 791 - Store 43(inF2) 792 - 794: 36(fvec3) Load 41(inF0) - 795: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 794 - Store 793(r061) 795 - 797: 36(fvec3) Load 41(inF0) - 798: 36(fvec3) Load 42(inF1) - 799: 36(fvec3) Load 43(inF2) - 800: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 797 798 799 - Store 796(r062) 800 - 802: 36(fvec3) Load 41(inF0) - 803: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 802 - Store 801(r063) 803 - 805: 36(fvec3) Load 41(inF0) - 806: 36(fvec3) Load 42(inF1) - 807: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 805 806 - Store 804(r064) 807 + 792: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 791 + Store 790(r060) 792 + 793: 36(fvec3) Load 41(inF0) + 794: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 793 + Store 42(inF1) 794 + 795: 36(fvec3) Load 41(inF0) + 796: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 795 + Store 43(inF2) 796 + 798: 36(fvec3) Load 41(inF0) + 799: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 798 + Store 797(r061) 799 + 801: 36(fvec3) Load 41(inF0) + 802: 36(fvec3) Load 42(inF1) + 803: 36(fvec3) Load 43(inF2) + 804: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 801 802 803 + Store 800(r062) 804 + 806: 36(fvec3) Load 41(inF0) + 807: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 806 + Store 805(r063) 807 809: 36(fvec3) Load 41(inF0) - 810: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 809 - Store 808(r065) 810 - 812: 36(fvec3) Load 41(inF0) - 813: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 812 - Store 811(r066) 813 - 815: 36(fvec3) Load 41(inF0) - 816: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 815 - Store 814(r067) 816 - ReturnValue 818 + 810: 36(fvec3) Load 42(inF1) + 811: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 809 810 + Store 808(r064) 811 + 813: 36(fvec3) Load 41(inF0) + 814: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 813 + Store 812(r065) 814 + 816: 36(fvec3) Load 41(inF0) + 817: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 816 + Store 815(r066) 817 + 819: 36(fvec3) Load 41(inF0) + 820: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 819 + Store 818(r067) 820 + ReturnValue 822 FunctionEnd 58(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52 53(inF0): 49(ptr) FunctionParameter @@ -7161,1018 +7166,1018 @@ gl_FragCoord origin is upper left 56(inU0): 51(ptr) FunctionParameter 57(inU1): 51(ptr) FunctionParameter 59: Label - 821(r000): 132(ptr) Variable Function - 824(r001): 49(ptr) Variable Function - 827(r002): 49(ptr) Variable Function - 830(r003): 132(ptr) Variable Function - 833(r004): 49(ptr) Variable Function - 838(r005): 837(ptr) Variable Function - 841(r006): 51(ptr) Variable Function - 844(r007): 49(ptr) Variable Function - 847(r009): 49(ptr) Variable Function - 850(r010): 49(ptr) Variable Function - 854(r011): 49(ptr) Variable Function - 857(r012): 49(ptr) Variable Function - 870(r013): 49(ptr) Variable Function - 873(r014): 49(ptr) Variable Function - 876(r015): 51(ptr) Variable Function - 879(r016): 49(ptr) Variable Function - 882(r017): 49(ptr) Variable Function - 885(r018): 49(ptr) Variable Function - 888(r019): 49(ptr) Variable Function - 891(r020): 49(ptr) Variable Function - 894(r021): 49(ptr) Variable Function - 897(r022): 49(ptr) Variable Function - 900(r023): 7(ptr) Variable Function - 904(r024): 7(ptr) Variable Function - 908(r025): 49(ptr) Variable Function - 919(r029): 49(ptr) Variable Function - 922(r030): 49(ptr) Variable Function - 925(r031): 49(ptr) Variable Function - 930(r032): 51(ptr) Variable Function - 935(r033): 51(ptr) Variable Function - 937(r034): 49(ptr) Variable Function - 940(r036): 49(ptr) Variable Function - 944(r037): 49(ptr) Variable Function - 947(r038): 49(ptr) Variable Function - 953(r039): 49(ptr) Variable Function - 957(r040): 956(ptr) Variable Function - 960(r041): 956(ptr) Variable Function - 963(r042): 49(ptr) Variable Function - 967(r039a): 49(ptr) Variable Function - 972(r043): 7(ptr) Variable Function - 975(r044): 49(ptr) Variable Function - 978(r045): 49(ptr) Variable Function - 982(r046): 49(ptr) Variable Function - 985(r047): 49(ptr) Variable Function - 989(r048): 49(ptr) Variable Function - 993(r049): 49(ptr) Variable Function - 996(r050): 49(ptr) Variable Function - 1000(r051): 49(ptr) Variable Function - 1003(r052): 49(ptr) Variable Function - 1007(r053): 49(ptr) Variable Function - 1011(r054): 49(ptr) Variable Function - 1015(r055): 51(ptr) Variable Function - 1018(r056): 49(ptr) Variable Function - 1021(r057): 49(ptr) Variable Function - 1024(r058): 49(ptr) Variable Function - 1029(r059): 49(ptr) Variable Function - 1032(r060): 49(ptr) Variable Function - 1039(r061): 49(ptr) Variable Function - 1042(r062): 49(ptr) Variable Function - 1047(r063): 49(ptr) Variable Function - 1050(r064): 49(ptr) Variable Function - 1054(r065): 49(ptr) Variable Function - 1057(r066): 49(ptr) Variable Function - 1060(r067): 49(ptr) Variable Function - 822: 48(fvec4) Load 53(inF0) - 823: 131(bool) All 822 - Store 821(r000) 823 - 825: 48(fvec4) Load 53(inF0) - 826: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 825 - Store 824(r001) 826 - 828: 48(fvec4) Load 53(inF0) - 829: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 828 - Store 827(r002) 829 - 831: 48(fvec4) Load 53(inF0) - 832: 131(bool) Any 831 - Store 830(r003) 832 - 834: 48(fvec4) Load 53(inF0) - 835: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 834 - Store 833(r004) 835 - 839: 48(fvec4) Load 53(inF0) - 840: 836(ivec4) Bitcast 839 - Store 838(r005) 840 - 842: 48(fvec4) Load 53(inF0) - 843: 50(ivec4) Bitcast 842 - Store 841(r006) 843 - 845: 50(ivec4) Load 56(inU0) - 846: 48(fvec4) Bitcast 845 - Store 844(r007) 846 - 848: 48(fvec4) Load 53(inF0) - 849: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 848 - Store 847(r009) 849 - 851: 48(fvec4) Load 53(inF0) - 852: 48(fvec4) Load 54(inF1) - 853: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 851 852 - Store 850(r010) 853 + 825(r000): 136(ptr) Variable Function + 828(r001): 49(ptr) Variable Function + 831(r002): 49(ptr) Variable Function + 834(r003): 136(ptr) Variable Function + 837(r004): 49(ptr) Variable Function + 842(r005): 841(ptr) Variable Function + 845(r006): 51(ptr) Variable Function + 848(r007): 49(ptr) Variable Function + 851(r009): 49(ptr) Variable Function + 854(r010): 49(ptr) Variable Function + 858(r011): 49(ptr) Variable Function + 861(r012): 49(ptr) Variable Function + 874(r013): 49(ptr) Variable Function + 877(r014): 49(ptr) Variable Function + 880(r015): 51(ptr) Variable Function + 883(r016): 49(ptr) Variable Function + 886(r017): 49(ptr) Variable Function + 889(r018): 49(ptr) Variable Function + 892(r019): 49(ptr) Variable Function + 895(r020): 49(ptr) Variable Function + 898(r021): 49(ptr) Variable Function + 901(r022): 49(ptr) Variable Function + 904(r023): 7(ptr) Variable Function + 908(r024): 7(ptr) Variable Function + 912(r025): 49(ptr) Variable Function + 923(r029): 49(ptr) Variable Function + 926(r030): 49(ptr) Variable Function + 929(r031): 49(ptr) Variable Function + 934(r032): 51(ptr) Variable Function + 939(r033): 51(ptr) Variable Function + 941(r034): 49(ptr) Variable Function + 944(r036): 49(ptr) Variable Function + 948(r037): 49(ptr) Variable Function + 951(r038): 49(ptr) Variable Function + 957(r039): 49(ptr) Variable Function + 961(r040): 960(ptr) Variable Function + 964(r041): 960(ptr) Variable Function + 967(r042): 49(ptr) Variable Function + 971(r039a): 49(ptr) Variable Function + 976(r043): 7(ptr) Variable Function + 979(r044): 49(ptr) Variable Function + 982(r045): 49(ptr) Variable Function + 986(r046): 49(ptr) Variable Function + 989(r047): 49(ptr) Variable Function + 993(r048): 49(ptr) Variable Function + 997(r049): 49(ptr) Variable Function + 1000(r050): 49(ptr) Variable Function + 1004(r051): 49(ptr) Variable Function + 1007(r052): 49(ptr) Variable Function + 1011(r053): 49(ptr) Variable Function + 1015(r054): 49(ptr) Variable Function + 1019(r055): 51(ptr) Variable Function + 1022(r056): 49(ptr) Variable Function + 1025(r057): 49(ptr) Variable Function + 1028(r058): 49(ptr) Variable Function + 1033(r059): 49(ptr) Variable Function + 1036(r060): 49(ptr) Variable Function + 1043(r061): 49(ptr) Variable Function + 1046(r062): 49(ptr) Variable Function + 1051(r063): 49(ptr) Variable Function + 1054(r064): 49(ptr) Variable Function + 1058(r065): 49(ptr) Variable Function + 1061(r066): 49(ptr) Variable Function + 1064(r067): 49(ptr) Variable Function + 826: 48(fvec4) Load 53(inF0) + 827: 135(bool) All 826 + Store 825(r000) 827 + 829: 48(fvec4) Load 53(inF0) + 830: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 829 + Store 828(r001) 830 + 832: 48(fvec4) Load 53(inF0) + 833: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 832 + Store 831(r002) 833 + 835: 48(fvec4) Load 53(inF0) + 836: 135(bool) Any 835 + Store 834(r003) 836 + 838: 48(fvec4) Load 53(inF0) + 839: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 838 + Store 837(r004) 839 + 843: 48(fvec4) Load 53(inF0) + 844: 840(ivec4) Bitcast 843 + Store 842(r005) 844 + 846: 48(fvec4) Load 53(inF0) + 847: 50(ivec4) Bitcast 846 + Store 845(r006) 847 + 849: 50(ivec4) Load 56(inU0) + 850: 48(fvec4) Bitcast 849 + Store 848(r007) 850 + 852: 48(fvec4) Load 53(inF0) + 853: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 852 + Store 851(r009) 853 855: 48(fvec4) Load 53(inF0) - 856: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 855 - Store 854(r011) 856 - 858: 48(fvec4) Load 53(inF0) - 859: 48(fvec4) Load 54(inF1) - 860: 48(fvec4) Load 55(inF2) - 861: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 858 859 860 - Store 857(r012) 861 + 856: 48(fvec4) Load 54(inF1) + 857: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 855 856 + Store 854(r010) 857 + 859: 48(fvec4) Load 53(inF0) + 860: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 859 + Store 858(r011) 860 862: 48(fvec4) Load 53(inF0) - 865: 864(bvec4) FOrdLessThan 862 863 - 866: 131(bool) Any 865 - SelectionMerge 868 None - BranchConditional 866 867 868 - 867: Label + 863: 48(fvec4) Load 54(inF1) + 864: 48(fvec4) Load 55(inF2) + 865: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 862 863 864 + Store 861(r012) 865 + 866: 48(fvec4) Load 53(inF0) + 869: 868(bvec4) FOrdLessThan 866 867 + 870: 135(bool) Any 869 + SelectionMerge 872 None + BranchConditional 870 871 872 + 871: Label Kill - 868: Label - 871: 48(fvec4) Load 53(inF0) - 872: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 871 - Store 870(r013) 872 - 874: 48(fvec4) Load 53(inF0) - 875: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 874 - Store 873(r014) 875 - 878: 50(ivec4) BitCount 877 - Store 876(r015) 878 - 880: 48(fvec4) Load 53(inF0) - 881: 48(fvec4) DPdx 880 - Store 879(r016) 881 - 883: 48(fvec4) Load 53(inF0) - 884: 48(fvec4) DPdxCoarse 883 - Store 882(r017) 884 - 886: 48(fvec4) Load 53(inF0) - 887: 48(fvec4) DPdxFine 886 - Store 885(r018) 887 - 889: 48(fvec4) Load 53(inF0) - 890: 48(fvec4) DPdy 889 - Store 888(r019) 890 - 892: 48(fvec4) Load 53(inF0) - 893: 48(fvec4) DPdyCoarse 892 - Store 891(r020) 893 - 895: 48(fvec4) Load 53(inF0) - 896: 48(fvec4) DPdyFine 895 - Store 894(r021) 896 - 898: 48(fvec4) Load 53(inF0) - 899: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 898 - Store 897(r022) 899 - 901: 48(fvec4) Load 53(inF0) - 902: 48(fvec4) Load 54(inF1) - 903: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 901 902 - Store 900(r023) 903 + 872: Label + 875: 48(fvec4) Load 53(inF0) + 876: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 875 + Store 874(r013) 876 + 878: 48(fvec4) Load 53(inF0) + 879: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 878 + Store 877(r014) 879 + 882: 50(ivec4) BitCount 881 + Store 880(r015) 882 + 884: 48(fvec4) Load 53(inF0) + 885: 48(fvec4) DPdx 884 + Store 883(r016) 885 + 887: 48(fvec4) Load 53(inF0) + 888: 48(fvec4) DPdxCoarse 887 + Store 886(r017) 888 + 890: 48(fvec4) Load 53(inF0) + 891: 48(fvec4) DPdxFine 890 + Store 889(r018) 891 + 893: 48(fvec4) Load 53(inF0) + 894: 48(fvec4) DPdy 893 + Store 892(r019) 894 + 896: 48(fvec4) Load 53(inF0) + 897: 48(fvec4) DPdyCoarse 896 + Store 895(r020) 897 + 899: 48(fvec4) Load 53(inF0) + 900: 48(fvec4) DPdyFine 899 + Store 898(r021) 900 + 902: 48(fvec4) Load 53(inF0) + 903: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 902 + Store 901(r022) 903 905: 48(fvec4) Load 53(inF0) 906: 48(fvec4) Load 54(inF1) - 907: 6(float) Dot 905 906 - Store 904(r024) 907 - 909: 7(ptr) AccessChain 53(inF0) 523 - 910: 6(float) Load 909 - 911: 7(ptr) AccessChain 54(inF1) 523 - 912: 6(float) Load 911 - 913: 6(float) FMul 910 912 - 914: 7(ptr) AccessChain 53(inF0) 524 - 915: 6(float) Load 914 - 916: 7(ptr) AccessChain 54(inF1) 631 - 917: 6(float) Load 916 - 918: 48(fvec4) CompositeConstruct 283 913 915 917 - Store 908(r025) 918 - 920: 48(fvec4) Load 53(inF0) - 921: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 920 - Store 919(r029) 921 - 923: 48(fvec4) Load 53(inF0) - 924: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 923 - Store 922(r030) 924 - 926: 48(fvec4) Load 53(inF0) - 927: 48(fvec4) Load 54(inF1) - 928: 48(fvec4) Load 55(inF2) - 929: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 926 927 928 - Store 925(r031) 929 - 934: 50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 933 - Store 930(r032) 934 - 936: 50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 933 - Store 935(r033) 936 - 938: 48(fvec4) Load 53(inF0) - 939: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 938 - Store 937(r034) 939 - 941: 48(fvec4) Load 53(inF0) - 942: 48(fvec4) Load 54(inF1) - 943: 48(fvec4) FMod 941 942 - Store 940(r036) 943 + 907: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 905 906 + Store 904(r023) 907 + 909: 48(fvec4) Load 53(inF0) + 910: 48(fvec4) Load 54(inF1) + 911: 6(float) Dot 909 910 + Store 908(r024) 911 + 913: 7(ptr) AccessChain 53(inF0) 527 + 914: 6(float) Load 913 + 915: 7(ptr) AccessChain 54(inF1) 527 + 916: 6(float) Load 915 + 917: 6(float) FMul 914 916 + 918: 7(ptr) AccessChain 53(inF0) 528 + 919: 6(float) Load 918 + 920: 7(ptr) AccessChain 54(inF1) 635 + 921: 6(float) Load 920 + 922: 48(fvec4) CompositeConstruct 287 917 919 921 + Store 912(r025) 922 + 924: 48(fvec4) Load 53(inF0) + 925: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 924 + Store 923(r029) 925 + 927: 48(fvec4) Load 53(inF0) + 928: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 927 + Store 926(r030) 928 + 930: 48(fvec4) Load 53(inF0) + 931: 48(fvec4) Load 54(inF1) + 932: 48(fvec4) Load 55(inF2) + 933: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 930 931 932 + Store 929(r031) 933 + 938: 50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 937 + Store 934(r032) 938 + 940: 50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 937 + Store 939(r033) 940 + 942: 48(fvec4) Load 53(inF0) + 943: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 942 + Store 941(r034) 943 945: 48(fvec4) Load 53(inF0) - 946: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 945 - Store 944(r037) 946 - 948: 48(fvec4) Load 53(inF0) - 950:949(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 948 - 951: 836(ivec4) CompositeExtract 950 1 - Store 54(inF1) 951 - 952: 48(fvec4) CompositeExtract 950 0 - Store 947(r038) 952 - 954: 48(fvec4) Load 53(inF0) - 955: 48(fvec4) Fwidth 954 - Store 953(r039) 955 + 946: 48(fvec4) Load 54(inF1) + 947: 48(fvec4) FMod 945 946 + Store 944(r036) 947 + 949: 48(fvec4) Load 53(inF0) + 950: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 949 + Store 948(r037) 950 + 952: 48(fvec4) Load 53(inF0) + 954:953(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 952 + 955: 840(ivec4) CompositeExtract 954 1 + Store 54(inF1) 955 + 956: 48(fvec4) CompositeExtract 954 0 + Store 951(r038) 956 958: 48(fvec4) Load 53(inF0) - 959: 864(bvec4) IsInf 958 - Store 957(r040) 959 - 961: 48(fvec4) Load 53(inF0) - 962: 864(bvec4) IsNan 961 - Store 960(r041) 962 - 964: 48(fvec4) Load 53(inF0) - 965: 48(fvec4) Load 54(inF1) - 966: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 964 965 - Store 963(r042) 966 + 959: 48(fvec4) Fwidth 958 + Store 957(r039) 959 + 962: 48(fvec4) Load 53(inF0) + 963: 868(bvec4) IsInf 962 + Store 961(r040) 963 + 965: 48(fvec4) Load 53(inF0) + 966: 868(bvec4) IsNan 965 + Store 964(r041) 966 968: 48(fvec4) Load 53(inF0) 969: 48(fvec4) Load 54(inF1) - 970: 48(fvec4) Load 55(inF2) - 971: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 968 969 970 - Store 967(r039a) 971 - 973: 48(fvec4) Load 53(inF0) - 974: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 973 - Store 972(r043) 974 - 976: 48(fvec4) Load 53(inF0) - 977: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 976 - Store 975(r044) 977 - 979: 48(fvec4) Load 53(inF0) - 980: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 979 - 981: 48(fvec4) VectorTimesScalar 980 262 - Store 978(r045) 981 + 970: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 968 969 + Store 967(r042) 970 + 972: 48(fvec4) Load 53(inF0) + 973: 48(fvec4) Load 54(inF1) + 974: 48(fvec4) Load 55(inF2) + 975: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 972 973 974 + Store 971(r039a) 975 + 977: 48(fvec4) Load 53(inF0) + 978: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 977 + Store 976(r043) 978 + 980: 48(fvec4) Load 53(inF0) + 981: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 980 + Store 979(r044) 981 983: 48(fvec4) Load 53(inF0) 984: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 983 - Store 982(r046) 984 - 986: 48(fvec4) Load 53(inF0) - 987: 48(fvec4) Load 54(inF1) - 988: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 986 987 - Store 985(r047) 988 + 985: 48(fvec4) VectorTimesScalar 984 266 + Store 982(r045) 985 + 987: 48(fvec4) Load 53(inF0) + 988: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 987 + Store 986(r046) 988 990: 48(fvec4) Load 53(inF0) 991: 48(fvec4) Load 54(inF1) - 992: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 990 991 - Store 989(r048) 992 + 992: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 990 991 + Store 989(r047) 992 994: 48(fvec4) Load 53(inF0) - 995: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 994 - Store 993(r049) 995 - 997: 48(fvec4) Load 53(inF0) - 998: 48(fvec4) Load 54(inF1) - 999: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 997 998 - Store 996(r050) 999 + 995: 48(fvec4) Load 54(inF1) + 996: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 994 995 + Store 993(r048) 996 + 998: 48(fvec4) Load 53(inF0) + 999: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 998 + Store 997(r049) 999 1001: 48(fvec4) Load 53(inF0) - 1002: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1001 - Store 1000(r051) 1002 - 1004: 48(fvec4) Load 53(inF0) - 1005: 48(fvec4) CompositeConstruct 283 283 283 283 - 1006: 48(fvec4) FDiv 1005 1004 - Store 1003(r052) 1006 + 1002: 48(fvec4) Load 54(inF1) + 1003: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1001 1002 + Store 1000(r050) 1003 + 1005: 48(fvec4) Load 53(inF0) + 1006: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1005 + Store 1004(r051) 1006 1008: 48(fvec4) Load 53(inF0) - 1009: 48(fvec4) Load 54(inF1) - 1010: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1008 1009 - Store 1007(r053) 1010 + 1009: 48(fvec4) CompositeConstruct 287 287 287 287 + 1010: 48(fvec4) FDiv 1009 1008 + Store 1007(r052) 1010 1012: 48(fvec4) Load 53(inF0) 1013: 48(fvec4) Load 54(inF1) - 1014: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1012 1013 520 - Store 1011(r054) 1014 - 1017: 50(ivec4) BitReverse 1016 - Store 1015(r055) 1017 - 1019: 48(fvec4) Load 53(inF0) - 1020: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1019 - Store 1018(r056) 1020 - 1022: 48(fvec4) Load 53(inF0) - 1023: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1022 - Store 1021(r057) 1023 - 1025: 48(fvec4) Load 53(inF0) - 1026: 48(fvec4) CompositeConstruct 175 175 175 175 - 1027: 48(fvec4) CompositeConstruct 283 283 283 283 - 1028: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1025 1026 1027 - Store 1024(r058) 1028 - 1030: 48(fvec4) Load 53(inF0) - 1031: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1030 - Store 1029(r059) 1031 - 1033: 48(fvec4) Load 53(inF0) - 1034: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1033 - Store 1032(r060) 1034 - 1035: 48(fvec4) Load 53(inF0) - 1036: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1035 - Store 54(inF1) 1036 + 1014: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1012 1013 + Store 1011(r053) 1014 + 1016: 48(fvec4) Load 53(inF0) + 1017: 48(fvec4) Load 54(inF1) + 1018: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1016 1017 524 + Store 1015(r054) 1018 + 1021: 50(ivec4) BitReverse 1020 + Store 1019(r055) 1021 + 1023: 48(fvec4) Load 53(inF0) + 1024: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1023 + Store 1022(r056) 1024 + 1026: 48(fvec4) Load 53(inF0) + 1027: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1026 + Store 1025(r057) 1027 + 1029: 48(fvec4) Load 53(inF0) + 1030: 48(fvec4) CompositeConstruct 179 179 179 179 + 1031: 48(fvec4) CompositeConstruct 287 287 287 287 + 1032: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1029 1030 1031 + Store 1028(r058) 1032 + 1034: 48(fvec4) Load 53(inF0) + 1035: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1034 + Store 1033(r059) 1035 1037: 48(fvec4) Load 53(inF0) - 1038: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1037 - Store 55(inF2) 1038 - 1040: 48(fvec4) Load 53(inF0) - 1041: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1040 - Store 1039(r061) 1041 - 1043: 48(fvec4) Load 53(inF0) - 1044: 48(fvec4) Load 54(inF1) - 1045: 48(fvec4) Load 55(inF2) - 1046: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1043 1044 1045 - Store 1042(r062) 1046 - 1048: 48(fvec4) Load 53(inF0) - 1049: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1048 - Store 1047(r063) 1049 - 1051: 48(fvec4) Load 53(inF0) - 1052: 48(fvec4) Load 54(inF1) - 1053: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1051 1052 - Store 1050(r064) 1053 + 1038: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1037 + Store 1036(r060) 1038 + 1039: 48(fvec4) Load 53(inF0) + 1040: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1039 + Store 54(inF1) 1040 + 1041: 48(fvec4) Load 53(inF0) + 1042: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1041 + Store 55(inF2) 1042 + 1044: 48(fvec4) Load 53(inF0) + 1045: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1044 + Store 1043(r061) 1045 + 1047: 48(fvec4) Load 53(inF0) + 1048: 48(fvec4) Load 54(inF1) + 1049: 48(fvec4) Load 55(inF2) + 1050: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1047 1048 1049 + Store 1046(r062) 1050 + 1052: 48(fvec4) Load 53(inF0) + 1053: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1052 + Store 1051(r063) 1053 1055: 48(fvec4) Load 53(inF0) - 1056: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1055 - Store 1054(r065) 1056 - 1058: 48(fvec4) Load 53(inF0) - 1059: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1058 - Store 1057(r066) 1059 - 1061: 48(fvec4) Load 53(inF0) - 1062: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1061 - Store 1060(r067) 1062 - ReturnValue 1064 + 1056: 48(fvec4) Load 54(inF1) + 1057: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1055 1056 + Store 1054(r064) 1057 + 1059: 48(fvec4) Load 53(inF0) + 1060: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1059 + Store 1058(r065) 1060 + 1062: 48(fvec4) Load 53(inF0) + 1063: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1062 + Store 1061(r066) 1063 + 1065: 48(fvec4) Load 53(inF0) + 1066: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1065 + Store 1064(r067) 1066 + ReturnValue 1068 FunctionEnd 66(PixelShaderFunction2x2(mf22;mf22;mf22;): 60 Function None 62 63(inF0): 61(ptr) FunctionParameter 64(inF1): 61(ptr) FunctionParameter 65(inF2): 61(ptr) FunctionParameter 67: Label - 1067(r000): 132(ptr) Variable Function - 1070(r001): 61(ptr) Variable Function - 1075(r003): 132(ptr) Variable Function - 1078(r004): 61(ptr) Variable Function - 1081(r005): 61(ptr) Variable Function - 1084(r006): 61(ptr) Variable Function - 1088(r007): 61(ptr) Variable Function - 1099(r008): 61(ptr) Variable Function - 1104(r009): 61(ptr) Variable Function - 1107(r010): 61(ptr) Variable Function - 1110(r011): 61(ptr) Variable Function - 1113(r012): 61(ptr) Variable Function - 1116(r013): 61(ptr) Variable Function - 1119(r014): 61(ptr) Variable Function - 1122(r015): 61(ptr) Variable Function - 1125(r016): 61(ptr) Variable Function - 1128(r017): 61(ptr) Variable Function - 1131(r018): 7(ptr) Variable Function - 1134(r019): 61(ptr) Variable Function - 1137(R020): 61(ptr) Variable Function - 1140(r021): 61(ptr) Variable Function - 1143(r022): 61(ptr) Variable Function - 1153(r023): 61(ptr) Variable Function - 1156(r024): 61(ptr) Variable Function - 1162(r025): 61(ptr) Variable Function - 1165(r026): 61(ptr) Variable Function - 1169(r026a): 61(ptr) Variable Function - 1174(r027): 61(ptr) Variable Function - 1177(r028): 61(ptr) Variable Function - 1181(r029): 61(ptr) Variable Function - 1184(r030): 61(ptr) Variable Function - 1188(r031): 61(ptr) Variable Function - 1192(r032): 61(ptr) Variable Function - 1196(r033): 61(ptr) Variable Function - 1199(r034): 61(ptr) Variable Function - 1202(r035): 61(ptr) Variable Function - 1205(r036): 61(ptr) Variable Function - 1210(r037): 61(ptr) Variable Function - 1213(r038): 61(ptr) Variable Function - 1220(r039): 61(ptr) Variable Function - 1223(r049): 61(ptr) Variable Function - 1228(r041): 61(ptr) Variable Function - 1231(r042): 61(ptr) Variable Function - 1235(r043): 61(ptr) Variable Function - 1238(r044): 61(ptr) Variable Function - 1243(r046): 61(ptr) Variable Function - 1068: 60 Load 63(inF0) - 1069: 131(bool) All 1068 - Store 1067(r000) 1069 - 1071: 60 Load 63(inF0) - 1072: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 1071 - Store 1070(r001) 1072 - 1073: 60 Load 63(inF0) - 1074: 60 ExtInst 1(GLSL.std.450) 17(Acos) 1073 - 1076: 60 Load 63(inF0) - 1077: 131(bool) Any 1076 - Store 1075(r003) 1077 - 1079: 60 Load 63(inF0) - 1080: 60 ExtInst 1(GLSL.std.450) 16(Asin) 1079 - Store 1078(r004) 1080 - 1082: 60 Load 63(inF0) - 1083: 60 ExtInst 1(GLSL.std.450) 18(Atan) 1082 - Store 1081(r005) 1083 - 1085: 60 Load 63(inF0) - 1086: 60 Load 64(inF1) - 1087: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 1085 1086 - Store 1084(r006) 1087 + 1071(r000): 136(ptr) Variable Function + 1074(r001): 61(ptr) Variable Function + 1079(r003): 136(ptr) Variable Function + 1082(r004): 61(ptr) Variable Function + 1085(r005): 61(ptr) Variable Function + 1088(r006): 61(ptr) Variable Function + 1092(r007): 61(ptr) Variable Function + 1103(r008): 61(ptr) Variable Function + 1108(r009): 61(ptr) Variable Function + 1111(r010): 61(ptr) Variable Function + 1114(r011): 61(ptr) Variable Function + 1117(r012): 61(ptr) Variable Function + 1120(r013): 61(ptr) Variable Function + 1123(r014): 61(ptr) Variable Function + 1126(r015): 61(ptr) Variable Function + 1129(r016): 61(ptr) Variable Function + 1132(r017): 61(ptr) Variable Function + 1135(r018): 7(ptr) Variable Function + 1138(r019): 61(ptr) Variable Function + 1141(R020): 61(ptr) Variable Function + 1144(r021): 61(ptr) Variable Function + 1147(r022): 61(ptr) Variable Function + 1157(r023): 61(ptr) Variable Function + 1160(r024): 61(ptr) Variable Function + 1166(r025): 61(ptr) Variable Function + 1169(r026): 61(ptr) Variable Function + 1173(r026a): 61(ptr) Variable Function + 1178(r027): 61(ptr) Variable Function + 1181(r028): 61(ptr) Variable Function + 1185(r029): 61(ptr) Variable Function + 1188(r030): 61(ptr) Variable Function + 1192(r031): 61(ptr) Variable Function + 1196(r032): 61(ptr) Variable Function + 1200(r033): 61(ptr) Variable Function + 1203(r034): 61(ptr) Variable Function + 1206(r035): 61(ptr) Variable Function + 1209(r036): 61(ptr) Variable Function + 1214(r037): 61(ptr) Variable Function + 1217(r038): 61(ptr) Variable Function + 1224(r039): 61(ptr) Variable Function + 1227(r049): 61(ptr) Variable Function + 1232(r041): 61(ptr) Variable Function + 1235(r042): 61(ptr) Variable Function + 1239(r043): 61(ptr) Variable Function + 1242(r044): 61(ptr) Variable Function + 1247(r046): 61(ptr) Variable Function + 1072: 60 Load 63(inF0) + 1073: 135(bool) All 1072 + Store 1071(r000) 1073 + 1075: 60 Load 63(inF0) + 1076: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 1075 + Store 1074(r001) 1076 + 1077: 60 Load 63(inF0) + 1078: 60 ExtInst 1(GLSL.std.450) 17(Acos) 1077 + 1080: 60 Load 63(inF0) + 1081: 135(bool) Any 1080 + Store 1079(r003) 1081 + 1083: 60 Load 63(inF0) + 1084: 60 ExtInst 1(GLSL.std.450) 16(Asin) 1083 + Store 1082(r004) 1084 + 1086: 60 Load 63(inF0) + 1087: 60 ExtInst 1(GLSL.std.450) 18(Atan) 1086 + Store 1085(r005) 1087 1089: 60 Load 63(inF0) - 1090: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 1089 - Store 1088(r007) 1090 - 1091: 60 Load 63(inF0) - 1094: 1093 FOrdLessThan 1091 1092 - 1095: 131(bool) Any 1094 - SelectionMerge 1097 None - BranchConditional 1095 1096 1097 - 1096: Label + 1090: 60 Load 64(inF1) + 1091: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 1089 1090 + Store 1088(r006) 1091 + 1093: 60 Load 63(inF0) + 1094: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 1093 + Store 1092(r007) 1094 + 1095: 60 Load 63(inF0) + 1098: 1097 FOrdLessThan 1095 1096 + 1099: 135(bool) Any 1098 + SelectionMerge 1101 None + BranchConditional 1099 1100 1101 + 1100: Label Kill - 1097: Label - 1100: 60 Load 63(inF0) - 1101: 60 Load 64(inF1) - 1102: 60 Load 65(inF2) - 1103: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1100 1101 1102 - Store 1099(r008) 1103 - 1105: 60 Load 63(inF0) - 1106: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1105 - Store 1104(r009) 1106 - 1108: 60 Load 63(inF0) - 1109: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 1108 - Store 1107(r010) 1109 - 1111: 60 Load 63(inF0) - 1112: 60 DPdx 1111 - Store 1110(r011) 1112 - 1114: 60 Load 63(inF0) - 1115: 60 DPdxCoarse 1114 - Store 1113(r012) 1115 - 1117: 60 Load 63(inF0) - 1118: 60 DPdxFine 1117 - Store 1116(r013) 1118 - 1120: 60 Load 63(inF0) - 1121: 60 DPdy 1120 - Store 1119(r014) 1121 - 1123: 60 Load 63(inF0) - 1124: 60 DPdyCoarse 1123 - Store 1122(r015) 1124 - 1126: 60 Load 63(inF0) - 1127: 60 DPdyFine 1126 - Store 1125(r016) 1127 - 1129: 60 Load 63(inF0) - 1130: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 1129 - Store 1128(r017) 1130 - 1132: 60 Load 63(inF0) - 1133: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1132 - Store 1131(r018) 1133 - 1135: 60 Load 63(inF0) - 1136: 60 ExtInst 1(GLSL.std.450) 27(Exp) 1135 - Store 1134(r019) 1136 - 1138: 60 Load 63(inF0) - 1139: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 1138 - Store 1137(R020) 1139 - 1141: 60 Load 63(inF0) - 1142: 60 ExtInst 1(GLSL.std.450) 8(Floor) 1141 - Store 1140(r021) 1142 - 1144: 60 Load 63(inF0) - 1145: 60 Load 64(inF1) - 1146: 24(fvec2) CompositeExtract 1144 0 - 1147: 24(fvec2) CompositeExtract 1145 0 - 1148: 24(fvec2) FMod 1146 1147 - 1149: 24(fvec2) CompositeExtract 1144 1 - 1150: 24(fvec2) CompositeExtract 1145 1 - 1151: 24(fvec2) FMod 1149 1150 - 1152: 60 CompositeConstruct 1148 1151 - Store 1143(r022) 1152 - 1154: 60 Load 63(inF0) - 1155: 60 ExtInst 1(GLSL.std.450) 10(Fract) 1154 - Store 1153(r023) 1155 - 1157: 60 Load 63(inF0) - 1159:1158(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1157 - 1160: 352(ivec2) CompositeExtract 1159 1 - Store 64(inF1) 1160 - 1161: 60 CompositeExtract 1159 0 - Store 1156(r024) 1161 - 1163: 60 Load 63(inF0) - 1164: 60 Fwidth 1163 - Store 1162(r025) 1164 - 1166: 60 Load 63(inF0) - 1167: 60 Load 64(inF1) - 1168: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1166 1167 - Store 1165(r026) 1168 + 1101: Label + 1104: 60 Load 63(inF0) + 1105: 60 Load 64(inF1) + 1106: 60 Load 65(inF2) + 1107: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1104 1105 1106 + Store 1103(r008) 1107 + 1109: 60 Load 63(inF0) + 1110: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1109 + Store 1108(r009) 1110 + 1112: 60 Load 63(inF0) + 1113: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 1112 + Store 1111(r010) 1113 + 1115: 60 Load 63(inF0) + 1116: 60 DPdx 1115 + Store 1114(r011) 1116 + 1118: 60 Load 63(inF0) + 1119: 60 DPdxCoarse 1118 + Store 1117(r012) 1119 + 1121: 60 Load 63(inF0) + 1122: 60 DPdxFine 1121 + Store 1120(r013) 1122 + 1124: 60 Load 63(inF0) + 1125: 60 DPdy 1124 + Store 1123(r014) 1125 + 1127: 60 Load 63(inF0) + 1128: 60 DPdyCoarse 1127 + Store 1126(r015) 1128 + 1130: 60 Load 63(inF0) + 1131: 60 DPdyFine 1130 + Store 1129(r016) 1131 + 1133: 60 Load 63(inF0) + 1134: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 1133 + Store 1132(r017) 1134 + 1136: 60 Load 63(inF0) + 1137: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1136 + Store 1135(r018) 1137 + 1139: 60 Load 63(inF0) + 1140: 60 ExtInst 1(GLSL.std.450) 27(Exp) 1139 + Store 1138(r019) 1140 + 1142: 60 Load 63(inF0) + 1143: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 1142 + Store 1141(R020) 1143 + 1145: 60 Load 63(inF0) + 1146: 60 ExtInst 1(GLSL.std.450) 8(Floor) 1145 + Store 1144(r021) 1146 + 1148: 60 Load 63(inF0) + 1149: 60 Load 64(inF1) + 1150: 24(fvec2) CompositeExtract 1148 0 + 1151: 24(fvec2) CompositeExtract 1149 0 + 1152: 24(fvec2) FMod 1150 1151 + 1153: 24(fvec2) CompositeExtract 1148 1 + 1154: 24(fvec2) CompositeExtract 1149 1 + 1155: 24(fvec2) FMod 1153 1154 + 1156: 60 CompositeConstruct 1152 1155 + Store 1147(r022) 1156 + 1158: 60 Load 63(inF0) + 1159: 60 ExtInst 1(GLSL.std.450) 10(Fract) 1158 + Store 1157(r023) 1159 + 1161: 60 Load 63(inF0) + 1163:1162(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1161 + 1164: 356(ivec2) CompositeExtract 1163 1 + Store 64(inF1) 1164 + 1165: 60 CompositeExtract 1163 0 + Store 1160(r024) 1165 + 1167: 60 Load 63(inF0) + 1168: 60 Fwidth 1167 + Store 1166(r025) 1168 1170: 60 Load 63(inF0) 1171: 60 Load 64(inF1) - 1172: 60 Load 65(inF2) - 1173: 60 ExtInst 1(GLSL.std.450) 46(FMix) 1170 1171 1172 - Store 1169(r026a) 1173 - 1175: 60 Load 63(inF0) - 1176: 60 ExtInst 1(GLSL.std.450) 28(Log) 1175 - Store 1174(r027) 1176 - 1178: 60 Load 63(inF0) - 1179: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1178 - 1180: 60 MatrixTimesScalar 1179 262 - Store 1177(r028) 1180 + 1172: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1170 1171 + Store 1169(r026) 1172 + 1174: 60 Load 63(inF0) + 1175: 60 Load 64(inF1) + 1176: 60 Load 65(inF2) + 1177: 60 ExtInst 1(GLSL.std.450) 46(FMix) 1174 1175 1176 + Store 1173(r026a) 1177 + 1179: 60 Load 63(inF0) + 1180: 60 ExtInst 1(GLSL.std.450) 28(Log) 1179 + Store 1178(r027) 1180 1182: 60 Load 63(inF0) 1183: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1182 - Store 1181(r029) 1183 - 1185: 60 Load 63(inF0) - 1186: 60 Load 64(inF1) - 1187: 60 ExtInst 1(GLSL.std.450) 40(FMax) 1185 1186 - Store 1184(r030) 1187 + 1184: 60 MatrixTimesScalar 1183 266 + Store 1181(r028) 1184 + 1186: 60 Load 63(inF0) + 1187: 60 ExtInst 1(GLSL.std.450) 30(Log2) 1186 + Store 1185(r029) 1187 1189: 60 Load 63(inF0) 1190: 60 Load 64(inF1) - 1191: 60 ExtInst 1(GLSL.std.450) 37(FMin) 1189 1190 - Store 1188(r031) 1191 + 1191: 60 ExtInst 1(GLSL.std.450) 40(FMax) 1189 1190 + Store 1188(r030) 1191 1193: 60 Load 63(inF0) 1194: 60 Load 64(inF1) - 1195: 60 ExtInst 1(GLSL.std.450) 26(Pow) 1193 1194 - Store 1192(r032) 1195 + 1195: 60 ExtInst 1(GLSL.std.450) 37(FMin) 1193 1194 + Store 1192(r031) 1195 1197: 60 Load 63(inF0) - 1198: 60 ExtInst 1(GLSL.std.450) 11(Radians) 1197 - Store 1196(r033) 1198 - 1200: 60 Load 63(inF0) - 1201: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1200 - Store 1199(r034) 1201 - 1203: 60 Load 63(inF0) - 1204: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1203 - Store 1202(r035) 1204 - 1206: 60 Load 63(inF0) - 1207: 24(fvec2) CompositeConstruct 175 175 - 1208: 24(fvec2) CompositeConstruct 283 283 - 1209: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1206 1207 1208 - Store 1205(r036) 1209 - 1211: 60 Load 63(inF0) - 1212: 60 ExtInst 1(GLSL.std.450) 6(FSign) 1211 - Store 1210(r037) 1212 - 1214: 60 Load 63(inF0) - 1215: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1214 - Store 1213(r038) 1215 - 1216: 60 Load 63(inF0) - 1217: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1216 - Store 64(inF1) 1217 + 1198: 60 Load 64(inF1) + 1199: 60 ExtInst 1(GLSL.std.450) 26(Pow) 1197 1198 + Store 1196(r032) 1199 + 1201: 60 Load 63(inF0) + 1202: 60 ExtInst 1(GLSL.std.450) 11(Radians) 1201 + Store 1200(r033) 1202 + 1204: 60 Load 63(inF0) + 1205: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1204 + Store 1203(r034) 1205 + 1207: 60 Load 63(inF0) + 1208: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1207 + Store 1206(r035) 1208 + 1210: 60 Load 63(inF0) + 1211: 24(fvec2) CompositeConstruct 179 179 + 1212: 24(fvec2) CompositeConstruct 287 287 + 1213: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 1210 1211 1212 + Store 1209(r036) 1213 + 1215: 60 Load 63(inF0) + 1216: 60 ExtInst 1(GLSL.std.450) 6(FSign) 1215 + Store 1214(r037) 1216 1218: 60 Load 63(inF0) - 1219: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1218 - Store 65(inF2) 1219 - 1221: 60 Load 63(inF0) - 1222: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 1221 - Store 1220(r039) 1222 - 1224: 60 Load 63(inF0) - 1225: 60 Load 64(inF1) - 1226: 60 Load 65(inF2) - 1227: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1224 1225 1226 - Store 1223(r049) 1227 - 1229: 60 Load 63(inF0) - 1230: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1229 - Store 1228(r041) 1230 - 1232: 60 Load 63(inF0) - 1233: 60 Load 64(inF1) - 1234: 60 ExtInst 1(GLSL.std.450) 48(Step) 1232 1233 - Store 1231(r042) 1234 + 1219: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1218 + Store 1217(r038) 1219 + 1220: 60 Load 63(inF0) + 1221: 60 ExtInst 1(GLSL.std.450) 13(Sin) 1220 + Store 64(inF1) 1221 + 1222: 60 Load 63(inF0) + 1223: 60 ExtInst 1(GLSL.std.450) 14(Cos) 1222 + Store 65(inF2) 1223 + 1225: 60 Load 63(inF0) + 1226: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 1225 + Store 1224(r039) 1226 + 1228: 60 Load 63(inF0) + 1229: 60 Load 64(inF1) + 1230: 60 Load 65(inF2) + 1231: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1228 1229 1230 + Store 1227(r049) 1231 + 1233: 60 Load 63(inF0) + 1234: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1233 + Store 1232(r041) 1234 1236: 60 Load 63(inF0) - 1237: 60 ExtInst 1(GLSL.std.450) 15(Tan) 1236 - Store 1235(r043) 1237 - 1239: 60 Load 63(inF0) - 1240: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 1239 - Store 1238(r044) 1240 - 1241: 60 Load 63(inF0) - 1242: 60 Transpose 1241 - 1244: 60 Load 63(inF0) - 1245: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 1244 - Store 1243(r046) 1245 - ReturnValue 1247 + 1237: 60 Load 64(inF1) + 1238: 60 ExtInst 1(GLSL.std.450) 48(Step) 1236 1237 + Store 1235(r042) 1238 + 1240: 60 Load 63(inF0) + 1241: 60 ExtInst 1(GLSL.std.450) 15(Tan) 1240 + Store 1239(r043) 1241 + 1243: 60 Load 63(inF0) + 1244: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 1243 + Store 1242(r044) 1244 + 1245: 60 Load 63(inF0) + 1246: 60 Transpose 1245 + 1248: 60 Load 63(inF0) + 1249: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 1248 + Store 1247(r046) 1249 + ReturnValue 1251 FunctionEnd 74(PixelShaderFunction3x3(mf33;mf33;mf33;): 68 Function None 70 71(inF0): 69(ptr) FunctionParameter 72(inF1): 69(ptr) FunctionParameter 73(inF2): 69(ptr) FunctionParameter 75: Label - 1250(r000): 132(ptr) Variable Function - 1253(r001): 69(ptr) Variable Function - 1258(r003): 132(ptr) Variable Function - 1261(r004): 69(ptr) Variable Function - 1264(r005): 69(ptr) Variable Function - 1267(r006): 69(ptr) Variable Function - 1271(r007): 69(ptr) Variable Function - 1282(r008): 69(ptr) Variable Function - 1287(r009): 69(ptr) Variable Function - 1290(r010): 69(ptr) Variable Function - 1293(r011): 69(ptr) Variable Function - 1296(r012): 69(ptr) Variable Function - 1299(r013): 69(ptr) Variable Function - 1302(r014): 69(ptr) Variable Function - 1305(r015): 69(ptr) Variable Function - 1308(r016): 69(ptr) Variable Function - 1311(r017): 69(ptr) Variable Function - 1314(r018): 7(ptr) Variable Function - 1317(r019): 69(ptr) Variable Function - 1320(R020): 69(ptr) Variable Function - 1323(r021): 69(ptr) Variable Function - 1326(r022): 69(ptr) Variable Function - 1339(r023): 69(ptr) Variable Function - 1342(r024): 69(ptr) Variable Function - 1348(r025): 69(ptr) Variable Function - 1351(r026): 69(ptr) Variable Function - 1355(r026a): 69(ptr) Variable Function - 1360(r027): 69(ptr) Variable Function - 1363(r028): 69(ptr) Variable Function - 1367(r029): 69(ptr) Variable Function - 1370(r030): 69(ptr) Variable Function - 1374(r031): 69(ptr) Variable Function - 1378(r032): 69(ptr) Variable Function - 1382(r033): 69(ptr) Variable Function - 1385(r034): 69(ptr) Variable Function - 1388(r035): 69(ptr) Variable Function - 1391(r036): 69(ptr) Variable Function - 1396(r037): 69(ptr) Variable Function - 1399(r038): 69(ptr) Variable Function - 1406(r039): 69(ptr) Variable Function - 1409(r049): 69(ptr) Variable Function - 1414(r041): 69(ptr) Variable Function - 1417(r042): 69(ptr) Variable Function - 1421(r043): 69(ptr) Variable Function - 1424(r044): 69(ptr) Variable Function - 1429(r046): 69(ptr) Variable Function - 1251: 68 Load 71(inF0) - 1252: 131(bool) All 1251 - Store 1250(r000) 1252 - 1254: 68 Load 71(inF0) - 1255: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 1254 - Store 1253(r001) 1255 - 1256: 68 Load 71(inF0) - 1257: 68 ExtInst 1(GLSL.std.450) 17(Acos) 1256 - 1259: 68 Load 71(inF0) - 1260: 131(bool) Any 1259 - Store 1258(r003) 1260 - 1262: 68 Load 71(inF0) - 1263: 68 ExtInst 1(GLSL.std.450) 16(Asin) 1262 - Store 1261(r004) 1263 - 1265: 68 Load 71(inF0) - 1266: 68 ExtInst 1(GLSL.std.450) 18(Atan) 1265 - Store 1264(r005) 1266 - 1268: 68 Load 71(inF0) - 1269: 68 Load 72(inF1) - 1270: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 1268 1269 - Store 1267(r006) 1270 + 1254(r000): 136(ptr) Variable Function + 1257(r001): 69(ptr) Variable Function + 1262(r003): 136(ptr) Variable Function + 1265(r004): 69(ptr) Variable Function + 1268(r005): 69(ptr) Variable Function + 1271(r006): 69(ptr) Variable Function + 1275(r007): 69(ptr) Variable Function + 1286(r008): 69(ptr) Variable Function + 1291(r009): 69(ptr) Variable Function + 1294(r010): 69(ptr) Variable Function + 1297(r011): 69(ptr) Variable Function + 1300(r012): 69(ptr) Variable Function + 1303(r013): 69(ptr) Variable Function + 1306(r014): 69(ptr) Variable Function + 1309(r015): 69(ptr) Variable Function + 1312(r016): 69(ptr) Variable Function + 1315(r017): 69(ptr) Variable Function + 1318(r018): 7(ptr) Variable Function + 1321(r019): 69(ptr) Variable Function + 1324(R020): 69(ptr) Variable Function + 1327(r021): 69(ptr) Variable Function + 1330(r022): 69(ptr) Variable Function + 1343(r023): 69(ptr) Variable Function + 1346(r024): 69(ptr) Variable Function + 1352(r025): 69(ptr) Variable Function + 1355(r026): 69(ptr) Variable Function + 1359(r026a): 69(ptr) Variable Function + 1364(r027): 69(ptr) Variable Function + 1367(r028): 69(ptr) Variable Function + 1371(r029): 69(ptr) Variable Function + 1374(r030): 69(ptr) Variable Function + 1378(r031): 69(ptr) Variable Function + 1382(r032): 69(ptr) Variable Function + 1386(r033): 69(ptr) Variable Function + 1389(r034): 69(ptr) Variable Function + 1392(r035): 69(ptr) Variable Function + 1395(r036): 69(ptr) Variable Function + 1400(r037): 69(ptr) Variable Function + 1403(r038): 69(ptr) Variable Function + 1410(r039): 69(ptr) Variable Function + 1413(r049): 69(ptr) Variable Function + 1418(r041): 69(ptr) Variable Function + 1421(r042): 69(ptr) Variable Function + 1425(r043): 69(ptr) Variable Function + 1428(r044): 69(ptr) Variable Function + 1433(r046): 69(ptr) Variable Function + 1255: 68 Load 71(inF0) + 1256: 135(bool) All 1255 + Store 1254(r000) 1256 + 1258: 68 Load 71(inF0) + 1259: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 1258 + Store 1257(r001) 1259 + 1260: 68 Load 71(inF0) + 1261: 68 ExtInst 1(GLSL.std.450) 17(Acos) 1260 + 1263: 68 Load 71(inF0) + 1264: 135(bool) Any 1263 + Store 1262(r003) 1264 + 1266: 68 Load 71(inF0) + 1267: 68 ExtInst 1(GLSL.std.450) 16(Asin) 1266 + Store 1265(r004) 1267 + 1269: 68 Load 71(inF0) + 1270: 68 ExtInst 1(GLSL.std.450) 18(Atan) 1269 + Store 1268(r005) 1270 1272: 68 Load 71(inF0) - 1273: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 1272 - Store 1271(r007) 1273 - 1274: 68 Load 71(inF0) - 1277: 1276 FOrdLessThan 1274 1275 - 1278: 131(bool) Any 1277 - SelectionMerge 1280 None - BranchConditional 1278 1279 1280 - 1279: Label + 1273: 68 Load 72(inF1) + 1274: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 1272 1273 + Store 1271(r006) 1274 + 1276: 68 Load 71(inF0) + 1277: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 1276 + Store 1275(r007) 1277 + 1278: 68 Load 71(inF0) + 1281: 1280 FOrdLessThan 1278 1279 + 1282: 135(bool) Any 1281 + SelectionMerge 1284 None + BranchConditional 1282 1283 1284 + 1283: Label Kill - 1280: Label - 1283: 68 Load 71(inF0) - 1284: 68 Load 72(inF1) - 1285: 68 Load 73(inF2) - 1286: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1283 1284 1285 - Store 1282(r008) 1286 - 1288: 68 Load 71(inF0) - 1289: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1288 - Store 1287(r009) 1289 - 1291: 68 Load 71(inF0) - 1292: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 1291 - Store 1290(r010) 1292 - 1294: 68 Load 71(inF0) - 1295: 68 DPdx 1294 - Store 1293(r011) 1295 - 1297: 68 Load 71(inF0) - 1298: 68 DPdxCoarse 1297 - Store 1296(r012) 1298 - 1300: 68 Load 71(inF0) - 1301: 68 DPdxFine 1300 - Store 1299(r013) 1301 - 1303: 68 Load 71(inF0) - 1304: 68 DPdy 1303 - Store 1302(r014) 1304 - 1306: 68 Load 71(inF0) - 1307: 68 DPdyCoarse 1306 - Store 1305(r015) 1307 - 1309: 68 Load 71(inF0) - 1310: 68 DPdyFine 1309 - Store 1308(r016) 1310 - 1312: 68 Load 71(inF0) - 1313: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 1312 - Store 1311(r017) 1313 - 1315: 68 Load 71(inF0) - 1316: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1315 - Store 1314(r018) 1316 - 1318: 68 Load 71(inF0) - 1319: 68 ExtInst 1(GLSL.std.450) 27(Exp) 1318 - Store 1317(r019) 1319 - 1321: 68 Load 71(inF0) - 1322: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 1321 - Store 1320(R020) 1322 - 1324: 68 Load 71(inF0) - 1325: 68 ExtInst 1(GLSL.std.450) 8(Floor) 1324 - Store 1323(r021) 1325 - 1327: 68 Load 71(inF0) - 1328: 68 Load 72(inF1) - 1329: 36(fvec3) CompositeExtract 1327 0 - 1330: 36(fvec3) CompositeExtract 1328 0 - 1331: 36(fvec3) FMod 1329 1330 - 1332: 36(fvec3) CompositeExtract 1327 1 - 1333: 36(fvec3) CompositeExtract 1328 1 - 1334: 36(fvec3) FMod 1332 1333 - 1335: 36(fvec3) CompositeExtract 1327 2 - 1336: 36(fvec3) CompositeExtract 1328 2 - 1337: 36(fvec3) FMod 1335 1336 - 1338: 68 CompositeConstruct 1331 1334 1337 - Store 1326(r022) 1338 - 1340: 68 Load 71(inF0) - 1341: 68 ExtInst 1(GLSL.std.450) 10(Fract) 1340 - Store 1339(r023) 1341 - 1343: 68 Load 71(inF0) - 1345:1344(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1343 - 1346: 590(ivec3) CompositeExtract 1345 1 - Store 72(inF1) 1346 - 1347: 68 CompositeExtract 1345 0 - Store 1342(r024) 1347 - 1349: 68 Load 71(inF0) - 1350: 68 Fwidth 1349 - Store 1348(r025) 1350 - 1352: 68 Load 71(inF0) - 1353: 68 Load 72(inF1) - 1354: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1352 1353 - Store 1351(r026) 1354 + 1284: Label + 1287: 68 Load 71(inF0) + 1288: 68 Load 72(inF1) + 1289: 68 Load 73(inF2) + 1290: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1287 1288 1289 + Store 1286(r008) 1290 + 1292: 68 Load 71(inF0) + 1293: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1292 + Store 1291(r009) 1293 + 1295: 68 Load 71(inF0) + 1296: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 1295 + Store 1294(r010) 1296 + 1298: 68 Load 71(inF0) + 1299: 68 DPdx 1298 + Store 1297(r011) 1299 + 1301: 68 Load 71(inF0) + 1302: 68 DPdxCoarse 1301 + Store 1300(r012) 1302 + 1304: 68 Load 71(inF0) + 1305: 68 DPdxFine 1304 + Store 1303(r013) 1305 + 1307: 68 Load 71(inF0) + 1308: 68 DPdy 1307 + Store 1306(r014) 1308 + 1310: 68 Load 71(inF0) + 1311: 68 DPdyCoarse 1310 + Store 1309(r015) 1311 + 1313: 68 Load 71(inF0) + 1314: 68 DPdyFine 1313 + Store 1312(r016) 1314 + 1316: 68 Load 71(inF0) + 1317: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 1316 + Store 1315(r017) 1317 + 1319: 68 Load 71(inF0) + 1320: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1319 + Store 1318(r018) 1320 + 1322: 68 Load 71(inF0) + 1323: 68 ExtInst 1(GLSL.std.450) 27(Exp) 1322 + Store 1321(r019) 1323 + 1325: 68 Load 71(inF0) + 1326: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 1325 + Store 1324(R020) 1326 + 1328: 68 Load 71(inF0) + 1329: 68 ExtInst 1(GLSL.std.450) 8(Floor) 1328 + Store 1327(r021) 1329 + 1331: 68 Load 71(inF0) + 1332: 68 Load 72(inF1) + 1333: 36(fvec3) CompositeExtract 1331 0 + 1334: 36(fvec3) CompositeExtract 1332 0 + 1335: 36(fvec3) FMod 1333 1334 + 1336: 36(fvec3) CompositeExtract 1331 1 + 1337: 36(fvec3) CompositeExtract 1332 1 + 1338: 36(fvec3) FMod 1336 1337 + 1339: 36(fvec3) CompositeExtract 1331 2 + 1340: 36(fvec3) CompositeExtract 1332 2 + 1341: 36(fvec3) FMod 1339 1340 + 1342: 68 CompositeConstruct 1335 1338 1341 + Store 1330(r022) 1342 + 1344: 68 Load 71(inF0) + 1345: 68 ExtInst 1(GLSL.std.450) 10(Fract) 1344 + Store 1343(r023) 1345 + 1347: 68 Load 71(inF0) + 1349:1348(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1347 + 1350: 594(ivec3) CompositeExtract 1349 1 + Store 72(inF1) 1350 + 1351: 68 CompositeExtract 1349 0 + Store 1346(r024) 1351 + 1353: 68 Load 71(inF0) + 1354: 68 Fwidth 1353 + Store 1352(r025) 1354 1356: 68 Load 71(inF0) 1357: 68 Load 72(inF1) - 1358: 68 Load 73(inF2) - 1359: 68 ExtInst 1(GLSL.std.450) 46(FMix) 1356 1357 1358 - Store 1355(r026a) 1359 - 1361: 68 Load 71(inF0) - 1362: 68 ExtInst 1(GLSL.std.450) 28(Log) 1361 - Store 1360(r027) 1362 - 1364: 68 Load 71(inF0) - 1365: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1364 - 1366: 68 MatrixTimesScalar 1365 262 - Store 1363(r028) 1366 + 1358: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1356 1357 + Store 1355(r026) 1358 + 1360: 68 Load 71(inF0) + 1361: 68 Load 72(inF1) + 1362: 68 Load 73(inF2) + 1363: 68 ExtInst 1(GLSL.std.450) 46(FMix) 1360 1361 1362 + Store 1359(r026a) 1363 + 1365: 68 Load 71(inF0) + 1366: 68 ExtInst 1(GLSL.std.450) 28(Log) 1365 + Store 1364(r027) 1366 1368: 68 Load 71(inF0) 1369: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1368 - Store 1367(r029) 1369 - 1371: 68 Load 71(inF0) - 1372: 68 Load 72(inF1) - 1373: 68 ExtInst 1(GLSL.std.450) 40(FMax) 1371 1372 - Store 1370(r030) 1373 + 1370: 68 MatrixTimesScalar 1369 266 + Store 1367(r028) 1370 + 1372: 68 Load 71(inF0) + 1373: 68 ExtInst 1(GLSL.std.450) 30(Log2) 1372 + Store 1371(r029) 1373 1375: 68 Load 71(inF0) 1376: 68 Load 72(inF1) - 1377: 68 ExtInst 1(GLSL.std.450) 37(FMin) 1375 1376 - Store 1374(r031) 1377 + 1377: 68 ExtInst 1(GLSL.std.450) 40(FMax) 1375 1376 + Store 1374(r030) 1377 1379: 68 Load 71(inF0) 1380: 68 Load 72(inF1) - 1381: 68 ExtInst 1(GLSL.std.450) 26(Pow) 1379 1380 - Store 1378(r032) 1381 + 1381: 68 ExtInst 1(GLSL.std.450) 37(FMin) 1379 1380 + Store 1378(r031) 1381 1383: 68 Load 71(inF0) - 1384: 68 ExtInst 1(GLSL.std.450) 11(Radians) 1383 - Store 1382(r033) 1384 - 1386: 68 Load 71(inF0) - 1387: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1386 - Store 1385(r034) 1387 - 1389: 68 Load 71(inF0) - 1390: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1389 - Store 1388(r035) 1390 - 1392: 68 Load 71(inF0) - 1393: 36(fvec3) CompositeConstruct 175 175 175 - 1394: 36(fvec3) CompositeConstruct 283 283 283 - 1395: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1392 1393 1394 - Store 1391(r036) 1395 - 1397: 68 Load 71(inF0) - 1398: 68 ExtInst 1(GLSL.std.450) 6(FSign) 1397 - Store 1396(r037) 1398 - 1400: 68 Load 71(inF0) - 1401: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1400 - Store 1399(r038) 1401 - 1402: 68 Load 71(inF0) - 1403: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1402 - Store 72(inF1) 1403 + 1384: 68 Load 72(inF1) + 1385: 68 ExtInst 1(GLSL.std.450) 26(Pow) 1383 1384 + Store 1382(r032) 1385 + 1387: 68 Load 71(inF0) + 1388: 68 ExtInst 1(GLSL.std.450) 11(Radians) 1387 + Store 1386(r033) 1388 + 1390: 68 Load 71(inF0) + 1391: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1390 + Store 1389(r034) 1391 + 1393: 68 Load 71(inF0) + 1394: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1393 + Store 1392(r035) 1394 + 1396: 68 Load 71(inF0) + 1397: 36(fvec3) CompositeConstruct 179 179 179 + 1398: 36(fvec3) CompositeConstruct 287 287 287 + 1399: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 1396 1397 1398 + Store 1395(r036) 1399 + 1401: 68 Load 71(inF0) + 1402: 68 ExtInst 1(GLSL.std.450) 6(FSign) 1401 + Store 1400(r037) 1402 1404: 68 Load 71(inF0) - 1405: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1404 - Store 73(inF2) 1405 - 1407: 68 Load 71(inF0) - 1408: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 1407 - Store 1406(r039) 1408 - 1410: 68 Load 71(inF0) - 1411: 68 Load 72(inF1) - 1412: 68 Load 73(inF2) - 1413: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1410 1411 1412 - Store 1409(r049) 1413 - 1415: 68 Load 71(inF0) - 1416: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1415 - Store 1414(r041) 1416 - 1418: 68 Load 71(inF0) - 1419: 68 Load 72(inF1) - 1420: 68 ExtInst 1(GLSL.std.450) 48(Step) 1418 1419 - Store 1417(r042) 1420 + 1405: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1404 + Store 1403(r038) 1405 + 1406: 68 Load 71(inF0) + 1407: 68 ExtInst 1(GLSL.std.450) 13(Sin) 1406 + Store 72(inF1) 1407 + 1408: 68 Load 71(inF0) + 1409: 68 ExtInst 1(GLSL.std.450) 14(Cos) 1408 + Store 73(inF2) 1409 + 1411: 68 Load 71(inF0) + 1412: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 1411 + Store 1410(r039) 1412 + 1414: 68 Load 71(inF0) + 1415: 68 Load 72(inF1) + 1416: 68 Load 73(inF2) + 1417: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1414 1415 1416 + Store 1413(r049) 1417 + 1419: 68 Load 71(inF0) + 1420: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1419 + Store 1418(r041) 1420 1422: 68 Load 71(inF0) - 1423: 68 ExtInst 1(GLSL.std.450) 15(Tan) 1422 - Store 1421(r043) 1423 - 1425: 68 Load 71(inF0) - 1426: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 1425 - Store 1424(r044) 1426 - 1427: 68 Load 71(inF0) - 1428: 68 Transpose 1427 - 1430: 68 Load 71(inF0) - 1431: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 1430 - Store 1429(r046) 1431 - ReturnValue 1433 + 1423: 68 Load 72(inF1) + 1424: 68 ExtInst 1(GLSL.std.450) 48(Step) 1422 1423 + Store 1421(r042) 1424 + 1426: 68 Load 71(inF0) + 1427: 68 ExtInst 1(GLSL.std.450) 15(Tan) 1426 + Store 1425(r043) 1427 + 1429: 68 Load 71(inF0) + 1430: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 1429 + Store 1428(r044) 1430 + 1431: 68 Load 71(inF0) + 1432: 68 Transpose 1431 + 1434: 68 Load 71(inF0) + 1435: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 1434 + Store 1433(r046) 1435 + ReturnValue 1437 FunctionEnd 82(PixelShaderFunction4x4(mf44;mf44;mf44;): 76 Function None 78 79(inF0): 77(ptr) FunctionParameter 80(inF1): 77(ptr) FunctionParameter 81(inF2): 77(ptr) FunctionParameter 83: Label - 1436(r000): 132(ptr) Variable Function - 1439(r001): 77(ptr) Variable Function - 1444(r003): 132(ptr) Variable Function - 1447(r004): 77(ptr) Variable Function - 1450(r005): 77(ptr) Variable Function - 1453(r006): 77(ptr) Variable Function - 1457(r007): 77(ptr) Variable Function - 1468(r008): 77(ptr) Variable Function - 1473(r009): 77(ptr) Variable Function - 1476(r010): 77(ptr) Variable Function - 1479(r011): 77(ptr) Variable Function - 1482(r012): 77(ptr) Variable Function - 1485(r013): 77(ptr) Variable Function - 1488(r014): 77(ptr) Variable Function - 1491(r015): 77(ptr) Variable Function - 1494(r016): 77(ptr) Variable Function - 1497(r017): 77(ptr) Variable Function - 1500(r018): 7(ptr) Variable Function - 1503(r019): 77(ptr) Variable Function - 1506(R020): 77(ptr) Variable Function - 1509(r021): 77(ptr) Variable Function - 1512(r022): 77(ptr) Variable Function - 1528(r023): 77(ptr) Variable Function - 1531(r024): 77(ptr) Variable Function - 1537(r025): 77(ptr) Variable Function - 1540(r026): 77(ptr) Variable Function - 1544(r026a): 77(ptr) Variable Function - 1549(r027): 77(ptr) Variable Function - 1552(r028): 77(ptr) Variable Function - 1556(r029): 77(ptr) Variable Function - 1559(r030): 77(ptr) Variable Function - 1563(r031): 77(ptr) Variable Function - 1567(r032): 77(ptr) Variable Function - 1571(r033): 77(ptr) Variable Function - 1574(r034): 77(ptr) Variable Function - 1577(r035): 77(ptr) Variable Function - 1580(r036): 77(ptr) Variable Function - 1585(r037): 77(ptr) Variable Function - 1588(r038): 77(ptr) Variable Function - 1595(r039): 77(ptr) Variable Function - 1598(r049): 77(ptr) Variable Function - 1603(r041): 77(ptr) Variable Function - 1606(r042): 77(ptr) Variable Function - 1610(r043): 77(ptr) Variable Function - 1613(r044): 77(ptr) Variable Function - 1618(r046): 77(ptr) Variable Function - 1437: 76 Load 79(inF0) - 1438: 131(bool) All 1437 - Store 1436(r000) 1438 - 1440: 76 Load 79(inF0) - 1441: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 1440 - Store 1439(r001) 1441 - 1442: 76 Load 79(inF0) - 1443: 76 ExtInst 1(GLSL.std.450) 17(Acos) 1442 - 1445: 76 Load 79(inF0) - 1446: 131(bool) Any 1445 - Store 1444(r003) 1446 - 1448: 76 Load 79(inF0) - 1449: 76 ExtInst 1(GLSL.std.450) 16(Asin) 1448 - Store 1447(r004) 1449 - 1451: 76 Load 79(inF0) - 1452: 76 ExtInst 1(GLSL.std.450) 18(Atan) 1451 - Store 1450(r005) 1452 - 1454: 76 Load 79(inF0) - 1455: 76 Load 80(inF1) - 1456: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 1454 1455 - Store 1453(r006) 1456 + 1440(r000): 136(ptr) Variable Function + 1443(r001): 77(ptr) Variable Function + 1448(r003): 136(ptr) Variable Function + 1451(r004): 77(ptr) Variable Function + 1454(r005): 77(ptr) Variable Function + 1457(r006): 77(ptr) Variable Function + 1461(r007): 77(ptr) Variable Function + 1472(r008): 77(ptr) Variable Function + 1477(r009): 77(ptr) Variable Function + 1480(r010): 77(ptr) Variable Function + 1483(r011): 77(ptr) Variable Function + 1486(r012): 77(ptr) Variable Function + 1489(r013): 77(ptr) Variable Function + 1492(r014): 77(ptr) Variable Function + 1495(r015): 77(ptr) Variable Function + 1498(r016): 77(ptr) Variable Function + 1501(r017): 77(ptr) Variable Function + 1504(r018): 7(ptr) Variable Function + 1507(r019): 77(ptr) Variable Function + 1510(R020): 77(ptr) Variable Function + 1513(r021): 77(ptr) Variable Function + 1516(r022): 77(ptr) Variable Function + 1532(r023): 77(ptr) Variable Function + 1535(r024): 77(ptr) Variable Function + 1541(r025): 77(ptr) Variable Function + 1544(r026): 77(ptr) Variable Function + 1548(r026a): 77(ptr) Variable Function + 1553(r027): 77(ptr) Variable Function + 1556(r028): 77(ptr) Variable Function + 1560(r029): 77(ptr) Variable Function + 1563(r030): 77(ptr) Variable Function + 1567(r031): 77(ptr) Variable Function + 1571(r032): 77(ptr) Variable Function + 1575(r033): 77(ptr) Variable Function + 1578(r034): 77(ptr) Variable Function + 1581(r035): 77(ptr) Variable Function + 1584(r036): 77(ptr) Variable Function + 1589(r037): 77(ptr) Variable Function + 1592(r038): 77(ptr) Variable Function + 1599(r039): 77(ptr) Variable Function + 1602(r049): 77(ptr) Variable Function + 1607(r041): 77(ptr) Variable Function + 1610(r042): 77(ptr) Variable Function + 1614(r043): 77(ptr) Variable Function + 1617(r044): 77(ptr) Variable Function + 1622(r046): 77(ptr) Variable Function + 1441: 76 Load 79(inF0) + 1442: 135(bool) All 1441 + Store 1440(r000) 1442 + 1444: 76 Load 79(inF0) + 1445: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 1444 + Store 1443(r001) 1445 + 1446: 76 Load 79(inF0) + 1447: 76 ExtInst 1(GLSL.std.450) 17(Acos) 1446 + 1449: 76 Load 79(inF0) + 1450: 135(bool) Any 1449 + Store 1448(r003) 1450 + 1452: 76 Load 79(inF0) + 1453: 76 ExtInst 1(GLSL.std.450) 16(Asin) 1452 + Store 1451(r004) 1453 + 1455: 76 Load 79(inF0) + 1456: 76 ExtInst 1(GLSL.std.450) 18(Atan) 1455 + Store 1454(r005) 1456 1458: 76 Load 79(inF0) - 1459: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 1458 - Store 1457(r007) 1459 - 1460: 76 Load 79(inF0) - 1463: 1462 FOrdLessThan 1460 1461 - 1464: 131(bool) Any 1463 - SelectionMerge 1466 None - BranchConditional 1464 1465 1466 - 1465: Label + 1459: 76 Load 80(inF1) + 1460: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 1458 1459 + Store 1457(r006) 1460 + 1462: 76 Load 79(inF0) + 1463: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 1462 + Store 1461(r007) 1463 + 1464: 76 Load 79(inF0) + 1467: 1466 FOrdLessThan 1464 1465 + 1468: 135(bool) Any 1467 + SelectionMerge 1470 None + BranchConditional 1468 1469 1470 + 1469: Label Kill - 1466: Label - 1469: 76 Load 79(inF0) - 1470: 76 Load 80(inF1) - 1471: 76 Load 81(inF2) - 1472: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1469 1470 1471 - Store 1468(r008) 1472 - 1474: 76 Load 79(inF0) - 1475: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1474 - Store 1473(r009) 1475 - 1477: 76 Load 79(inF0) - 1478: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 1477 - Store 1476(r010) 1478 - 1480: 76 Load 79(inF0) - 1481: 76 DPdx 1480 - Store 1479(r011) 1481 - 1483: 76 Load 79(inF0) - 1484: 76 DPdxCoarse 1483 - Store 1482(r012) 1484 - 1486: 76 Load 79(inF0) - 1487: 76 DPdxFine 1486 - Store 1485(r013) 1487 - 1489: 76 Load 79(inF0) - 1490: 76 DPdy 1489 - Store 1488(r014) 1490 - 1492: 76 Load 79(inF0) - 1493: 76 DPdyCoarse 1492 - Store 1491(r015) 1493 - 1495: 76 Load 79(inF0) - 1496: 76 DPdyFine 1495 - Store 1494(r016) 1496 - 1498: 76 Load 79(inF0) - 1499: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 1498 - Store 1497(r017) 1499 - 1501: 76 Load 79(inF0) - 1502: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1501 - Store 1500(r018) 1502 - 1504: 76 Load 79(inF0) - 1505: 76 ExtInst 1(GLSL.std.450) 27(Exp) 1504 - Store 1503(r019) 1505 - 1507: 76 Load 79(inF0) - 1508: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 1507 - Store 1506(R020) 1508 - 1510: 76 Load 79(inF0) - 1511: 76 ExtInst 1(GLSL.std.450) 8(Floor) 1510 - Store 1509(r021) 1511 - 1513: 76 Load 79(inF0) - 1514: 76 Load 80(inF1) - 1515: 48(fvec4) CompositeExtract 1513 0 - 1516: 48(fvec4) CompositeExtract 1514 0 - 1517: 48(fvec4) FMod 1515 1516 - 1518: 48(fvec4) CompositeExtract 1513 1 - 1519: 48(fvec4) CompositeExtract 1514 1 - 1520: 48(fvec4) FMod 1518 1519 - 1521: 48(fvec4) CompositeExtract 1513 2 - 1522: 48(fvec4) CompositeExtract 1514 2 - 1523: 48(fvec4) FMod 1521 1522 - 1524: 48(fvec4) CompositeExtract 1513 3 - 1525: 48(fvec4) CompositeExtract 1514 3 - 1526: 48(fvec4) FMod 1524 1525 - 1527: 76 CompositeConstruct 1517 1520 1523 1526 - Store 1512(r022) 1527 - 1529: 76 Load 79(inF0) - 1530: 76 ExtInst 1(GLSL.std.450) 10(Fract) 1529 - Store 1528(r023) 1530 - 1532: 76 Load 79(inF0) - 1534:1533(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1532 - 1535: 836(ivec4) CompositeExtract 1534 1 - Store 80(inF1) 1535 - 1536: 76 CompositeExtract 1534 0 - Store 1531(r024) 1536 - 1538: 76 Load 79(inF0) - 1539: 76 Fwidth 1538 - Store 1537(r025) 1539 - 1541: 76 Load 79(inF0) - 1542: 76 Load 80(inF1) - 1543: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1541 1542 - Store 1540(r026) 1543 + 1470: Label + 1473: 76 Load 79(inF0) + 1474: 76 Load 80(inF1) + 1475: 76 Load 81(inF2) + 1476: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1473 1474 1475 + Store 1472(r008) 1476 + 1478: 76 Load 79(inF0) + 1479: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1478 + Store 1477(r009) 1479 + 1481: 76 Load 79(inF0) + 1482: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 1481 + Store 1480(r010) 1482 + 1484: 76 Load 79(inF0) + 1485: 76 DPdx 1484 + Store 1483(r011) 1485 + 1487: 76 Load 79(inF0) + 1488: 76 DPdxCoarse 1487 + Store 1486(r012) 1488 + 1490: 76 Load 79(inF0) + 1491: 76 DPdxFine 1490 + Store 1489(r013) 1491 + 1493: 76 Load 79(inF0) + 1494: 76 DPdy 1493 + Store 1492(r014) 1494 + 1496: 76 Load 79(inF0) + 1497: 76 DPdyCoarse 1496 + Store 1495(r015) 1497 + 1499: 76 Load 79(inF0) + 1500: 76 DPdyFine 1499 + Store 1498(r016) 1500 + 1502: 76 Load 79(inF0) + 1503: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 1502 + Store 1501(r017) 1503 + 1505: 76 Load 79(inF0) + 1506: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1505 + Store 1504(r018) 1506 + 1508: 76 Load 79(inF0) + 1509: 76 ExtInst 1(GLSL.std.450) 27(Exp) 1508 + Store 1507(r019) 1509 + 1511: 76 Load 79(inF0) + 1512: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 1511 + Store 1510(R020) 1512 + 1514: 76 Load 79(inF0) + 1515: 76 ExtInst 1(GLSL.std.450) 8(Floor) 1514 + Store 1513(r021) 1515 + 1517: 76 Load 79(inF0) + 1518: 76 Load 80(inF1) + 1519: 48(fvec4) CompositeExtract 1517 0 + 1520: 48(fvec4) CompositeExtract 1518 0 + 1521: 48(fvec4) FMod 1519 1520 + 1522: 48(fvec4) CompositeExtract 1517 1 + 1523: 48(fvec4) CompositeExtract 1518 1 + 1524: 48(fvec4) FMod 1522 1523 + 1525: 48(fvec4) CompositeExtract 1517 2 + 1526: 48(fvec4) CompositeExtract 1518 2 + 1527: 48(fvec4) FMod 1525 1526 + 1528: 48(fvec4) CompositeExtract 1517 3 + 1529: 48(fvec4) CompositeExtract 1518 3 + 1530: 48(fvec4) FMod 1528 1529 + 1531: 76 CompositeConstruct 1521 1524 1527 1530 + Store 1516(r022) 1531 + 1533: 76 Load 79(inF0) + 1534: 76 ExtInst 1(GLSL.std.450) 10(Fract) 1533 + Store 1532(r023) 1534 + 1536: 76 Load 79(inF0) + 1538:1537(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1536 + 1539: 840(ivec4) CompositeExtract 1538 1 + Store 80(inF1) 1539 + 1540: 76 CompositeExtract 1538 0 + Store 1535(r024) 1540 + 1542: 76 Load 79(inF0) + 1543: 76 Fwidth 1542 + Store 1541(r025) 1543 1545: 76 Load 79(inF0) 1546: 76 Load 80(inF1) - 1547: 76 Load 81(inF2) - 1548: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1545 1546 1547 - Store 1544(r026a) 1548 - 1550: 76 Load 79(inF0) - 1551: 76 ExtInst 1(GLSL.std.450) 28(Log) 1550 - Store 1549(r027) 1551 - 1553: 76 Load 79(inF0) - 1554: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1553 - 1555: 76 MatrixTimesScalar 1554 262 - Store 1552(r028) 1555 + 1547: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546 + Store 1544(r026) 1547 + 1549: 76 Load 79(inF0) + 1550: 76 Load 80(inF1) + 1551: 76 Load 81(inF2) + 1552: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551 + Store 1548(r026a) 1552 + 1554: 76 Load 79(inF0) + 1555: 76 ExtInst 1(GLSL.std.450) 28(Log) 1554 + Store 1553(r027) 1555 1557: 76 Load 79(inF0) 1558: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1557 - Store 1556(r029) 1558 - 1560: 76 Load 79(inF0) - 1561: 76 Load 80(inF1) - 1562: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1560 1561 - Store 1559(r030) 1562 + 1559: 76 MatrixTimesScalar 1558 266 + Store 1556(r028) 1559 + 1561: 76 Load 79(inF0) + 1562: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1561 + Store 1560(r029) 1562 1564: 76 Load 79(inF0) 1565: 76 Load 80(inF1) - 1566: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1564 1565 - Store 1563(r031) 1566 + 1566: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565 + Store 1563(r030) 1566 1568: 76 Load 79(inF0) 1569: 76 Load 80(inF1) - 1570: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1568 1569 - Store 1567(r032) 1570 + 1570: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569 + Store 1567(r031) 1570 1572: 76 Load 79(inF0) - 1573: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1572 - Store 1571(r033) 1573 - 1575: 76 Load 79(inF0) - 1576: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1575 - Store 1574(r034) 1576 - 1578: 76 Load 79(inF0) - 1579: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1578 - Store 1577(r035) 1579 - 1581: 76 Load 79(inF0) - 1582: 48(fvec4) CompositeConstruct 175 175 175 175 - 1583: 48(fvec4) CompositeConstruct 283 283 283 283 - 1584: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1581 1582 1583 - Store 1580(r036) 1584 - 1586: 76 Load 79(inF0) - 1587: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1586 - Store 1585(r037) 1587 - 1589: 76 Load 79(inF0) - 1590: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1589 - Store 1588(r038) 1590 - 1591: 76 Load 79(inF0) - 1592: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1591 - Store 80(inF1) 1592 + 1573: 76 Load 80(inF1) + 1574: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573 + Store 1571(r032) 1574 + 1576: 76 Load 79(inF0) + 1577: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1576 + Store 1575(r033) 1577 + 1579: 76 Load 79(inF0) + 1580: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579 + Store 1578(r034) 1580 + 1582: 76 Load 79(inF0) + 1583: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582 + Store 1581(r035) 1583 + 1585: 76 Load 79(inF0) + 1586: 48(fvec4) CompositeConstruct 179 179 179 179 + 1587: 48(fvec4) CompositeConstruct 287 287 287 287 + 1588: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587 + Store 1584(r036) 1588 + 1590: 76 Load 79(inF0) + 1591: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1590 + Store 1589(r037) 1591 1593: 76 Load 79(inF0) - 1594: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1593 - Store 81(inF2) 1594 - 1596: 76 Load 79(inF0) - 1597: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1596 - Store 1595(r039) 1597 - 1599: 76 Load 79(inF0) - 1600: 76 Load 80(inF1) - 1601: 76 Load 81(inF2) - 1602: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1599 1600 1601 - Store 1598(r049) 1602 - 1604: 76 Load 79(inF0) - 1605: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1604 - Store 1603(r041) 1605 - 1607: 76 Load 79(inF0) - 1608: 76 Load 80(inF1) - 1609: 76 ExtInst 1(GLSL.std.450) 48(Step) 1607 1608 - Store 1606(r042) 1609 + 1594: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1593 + Store 1592(r038) 1594 + 1595: 76 Load 79(inF0) + 1596: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1595 + Store 80(inF1) 1596 + 1597: 76 Load 79(inF0) + 1598: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1597 + Store 81(inF2) 1598 + 1600: 76 Load 79(inF0) + 1601: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1600 + Store 1599(r039) 1601 + 1603: 76 Load 79(inF0) + 1604: 76 Load 80(inF1) + 1605: 76 Load 81(inF2) + 1606: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605 + Store 1602(r049) 1606 + 1608: 76 Load 79(inF0) + 1609: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608 + Store 1607(r041) 1609 1611: 76 Load 79(inF0) - 1612: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1611 - Store 1610(r043) 1612 - 1614: 76 Load 79(inF0) - 1615: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1614 - Store 1613(r044) 1615 - 1616: 76 Load 79(inF0) - 1617: 76 Transpose 1616 - 1619: 76 Load 79(inF0) - 1620: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1619 - Store 1618(r046) 1620 - ReturnValue 1622 + 1612: 76 Load 80(inF1) + 1613: 76 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612 + Store 1610(r042) 1613 + 1615: 76 Load 79(inF0) + 1616: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1615 + Store 1614(r043) 1616 + 1618: 76 Load 79(inF0) + 1619: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1618 + Store 1617(r044) 1619 + 1620: 76 Load 79(inF0) + 1621: 76 Transpose 1620 + 1623: 76 Load 79(inF0) + 1624: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1623 + Store 1622(r046) 1624 + ReturnValue 1626 FunctionEnd 91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 84 85(inF0): 7(ptr) FunctionParameter @@ -8182,51 +8187,51 @@ gl_FragCoord origin is upper left 89(inFM0): 61(ptr) FunctionParameter 90(inFM1): 61(ptr) FunctionParameter 92: Label - 1625(r0): 7(ptr) Variable Function - 1629(r1): 25(ptr) Variable Function - 1633(r2): 25(ptr) Variable Function - 1637(r3): 7(ptr) Variable Function - 1641(r4): 25(ptr) Variable Function - 1645(r5): 25(ptr) Variable Function - 1649(r6): 61(ptr) Variable Function - 1653(r7): 61(ptr) Variable Function - 1657(r8): 61(ptr) Variable Function - 1626: 6(float) Load 86(inF1) - 1627: 6(float) Load 85(inF0) - 1628: 6(float) FMul 1626 1627 - Store 1625(r0) 1628 - 1630: 6(float) Load 85(inF0) - 1631: 24(fvec2) Load 87(inFV0) - 1632: 24(fvec2) VectorTimesScalar 1631 1630 - Store 1629(r1) 1632 - 1634: 24(fvec2) Load 87(inFV0) - 1635: 6(float) Load 85(inF0) - 1636: 24(fvec2) VectorTimesScalar 1634 1635 - Store 1633(r2) 1636 + 1629(r0): 7(ptr) Variable Function + 1633(r1): 25(ptr) Variable Function + 1637(r2): 25(ptr) Variable Function + 1641(r3): 7(ptr) Variable Function + 1645(r4): 25(ptr) Variable Function + 1649(r5): 25(ptr) Variable Function + 1653(r6): 61(ptr) Variable Function + 1657(r7): 61(ptr) Variable Function + 1661(r8): 61(ptr) Variable Function + 1630: 6(float) Load 86(inF1) + 1631: 6(float) Load 85(inF0) + 1632: 6(float) FMul 1630 1631 + Store 1629(r0) 1632 + 1634: 6(float) Load 85(inF0) + 1635: 24(fvec2) Load 87(inFV0) + 1636: 24(fvec2) VectorTimesScalar 1635 1634 + Store 1633(r1) 1636 1638: 24(fvec2) Load 87(inFV0) - 1639: 24(fvec2) Load 88(inFV1) - 1640: 6(float) Dot 1638 1639 - Store 1637(r3) 1640 + 1639: 6(float) Load 85(inF0) + 1640: 24(fvec2) VectorTimesScalar 1638 1639 + Store 1637(r2) 1640 1642: 24(fvec2) Load 87(inFV0) - 1643: 60 Load 89(inFM0) - 1644: 24(fvec2) VectorTimesMatrix 1642 1643 - Store 1641(r4) 1644 - 1646: 60 Load 89(inFM0) - 1647: 24(fvec2) Load 87(inFV0) - 1648: 24(fvec2) MatrixTimesVector 1646 1647 - Store 1645(r5) 1648 - 1650: 6(float) Load 85(inF0) - 1651: 60 Load 89(inFM0) - 1652: 60 MatrixTimesScalar 1651 1650 - Store 1649(r6) 1652 - 1654: 60 Load 89(inFM0) - 1655: 6(float) Load 85(inF0) - 1656: 60 MatrixTimesScalar 1654 1655 - Store 1653(r7) 1656 - 1658: 60 Load 90(inFM1) - 1659: 60 Load 89(inFM0) - 1660: 60 MatrixTimesMatrix 1658 1659 - Store 1657(r8) 1660 + 1643: 24(fvec2) Load 88(inFV1) + 1644: 6(float) Dot 1642 1643 + Store 1641(r3) 1644 + 1646: 24(fvec2) Load 87(inFV0) + 1647: 60 Load 89(inFM0) + 1648: 24(fvec2) VectorTimesMatrix 1646 1647 + Store 1645(r4) 1648 + 1650: 60 Load 89(inFM0) + 1651: 24(fvec2) Load 87(inFV0) + 1652: 24(fvec2) MatrixTimesVector 1650 1651 + Store 1649(r5) 1652 + 1654: 6(float) Load 85(inF0) + 1655: 60 Load 89(inFM0) + 1656: 60 MatrixTimesScalar 1655 1654 + Store 1653(r6) 1656 + 1658: 60 Load 89(inFM0) + 1659: 6(float) Load 85(inF0) + 1660: 60 MatrixTimesScalar 1658 1659 + Store 1657(r7) 1660 + 1662: 60 Load 90(inFM1) + 1663: 60 Load 89(inFM0) + 1664: 60 MatrixTimesMatrix 1662 1663 + Store 1661(r8) 1664 Return FunctionEnd 100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 93 @@ -8237,51 +8242,51 @@ gl_FragCoord origin is upper left 98(inFM0): 69(ptr) FunctionParameter 99(inFM1): 69(ptr) FunctionParameter 101: Label - 1661(r0): 7(ptr) Variable Function - 1665(r1): 37(ptr) Variable Function - 1669(r2): 37(ptr) Variable Function - 1673(r3): 7(ptr) Variable Function - 1677(r4): 37(ptr) Variable Function - 1681(r5): 37(ptr) Variable Function - 1685(r6): 69(ptr) Variable Function - 1689(r7): 69(ptr) Variable Function - 1693(r8): 69(ptr) Variable Function - 1662: 6(float) Load 95(inF1) - 1663: 6(float) Load 94(inF0) - 1664: 6(float) FMul 1662 1663 - Store 1661(r0) 1664 - 1666: 6(float) Load 94(inF0) - 1667: 36(fvec3) Load 96(inFV0) - 1668: 36(fvec3) VectorTimesScalar 1667 1666 - Store 1665(r1) 1668 - 1670: 36(fvec3) Load 96(inFV0) - 1671: 6(float) Load 94(inF0) - 1672: 36(fvec3) VectorTimesScalar 1670 1671 - Store 1669(r2) 1672 + 1665(r0): 7(ptr) Variable Function + 1669(r1): 37(ptr) Variable Function + 1673(r2): 37(ptr) Variable Function + 1677(r3): 7(ptr) Variable Function + 1681(r4): 37(ptr) Variable Function + 1685(r5): 37(ptr) Variable Function + 1689(r6): 69(ptr) Variable Function + 1693(r7): 69(ptr) Variable Function + 1697(r8): 69(ptr) Variable Function + 1666: 6(float) Load 95(inF1) + 1667: 6(float) Load 94(inF0) + 1668: 6(float) FMul 1666 1667 + Store 1665(r0) 1668 + 1670: 6(float) Load 94(inF0) + 1671: 36(fvec3) Load 96(inFV0) + 1672: 36(fvec3) VectorTimesScalar 1671 1670 + Store 1669(r1) 1672 1674: 36(fvec3) Load 96(inFV0) - 1675: 36(fvec3) Load 97(inFV1) - 1676: 6(float) Dot 1674 1675 - Store 1673(r3) 1676 + 1675: 6(float) Load 94(inF0) + 1676: 36(fvec3) VectorTimesScalar 1674 1675 + Store 1673(r2) 1676 1678: 36(fvec3) Load 96(inFV0) - 1679: 68 Load 98(inFM0) - 1680: 36(fvec3) VectorTimesMatrix 1678 1679 - Store 1677(r4) 1680 - 1682: 68 Load 98(inFM0) - 1683: 36(fvec3) Load 96(inFV0) - 1684: 36(fvec3) MatrixTimesVector 1682 1683 - Store 1681(r5) 1684 - 1686: 6(float) Load 94(inF0) - 1687: 68 Load 98(inFM0) - 1688: 68 MatrixTimesScalar 1687 1686 - Store 1685(r6) 1688 - 1690: 68 Load 98(inFM0) - 1691: 6(float) Load 94(inF0) - 1692: 68 MatrixTimesScalar 1690 1691 - Store 1689(r7) 1692 - 1694: 68 Load 99(inFM1) - 1695: 68 Load 98(inFM0) - 1696: 68 MatrixTimesMatrix 1694 1695 - Store 1693(r8) 1696 + 1679: 36(fvec3) Load 97(inFV1) + 1680: 6(float) Dot 1678 1679 + Store 1677(r3) 1680 + 1682: 36(fvec3) Load 96(inFV0) + 1683: 68 Load 98(inFM0) + 1684: 36(fvec3) VectorTimesMatrix 1682 1683 + Store 1681(r4) 1684 + 1686: 68 Load 98(inFM0) + 1687: 36(fvec3) Load 96(inFV0) + 1688: 36(fvec3) MatrixTimesVector 1686 1687 + Store 1685(r5) 1688 + 1690: 6(float) Load 94(inF0) + 1691: 68 Load 98(inFM0) + 1692: 68 MatrixTimesScalar 1691 1690 + Store 1689(r6) 1692 + 1694: 68 Load 98(inFM0) + 1695: 6(float) Load 94(inF0) + 1696: 68 MatrixTimesScalar 1694 1695 + Store 1693(r7) 1696 + 1698: 68 Load 99(inFM1) + 1699: 68 Load 98(inFM0) + 1700: 68 MatrixTimesMatrix 1698 1699 + Store 1697(r8) 1700 Return FunctionEnd 109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 102 @@ -8292,51 +8297,51 @@ gl_FragCoord origin is upper left 107(inFM0): 77(ptr) FunctionParameter 108(inFM1): 77(ptr) FunctionParameter 110: Label - 1697(r0): 7(ptr) Variable Function - 1701(r1): 49(ptr) Variable Function - 1705(r2): 49(ptr) Variable Function - 1709(r3): 7(ptr) Variable Function - 1713(r4): 49(ptr) Variable Function - 1717(r5): 49(ptr) Variable Function - 1721(r6): 77(ptr) Variable Function - 1725(r7): 77(ptr) Variable Function - 1729(r8): 77(ptr) Variable Function - 1698: 6(float) Load 104(inF1) - 1699: 6(float) Load 103(inF0) - 1700: 6(float) FMul 1698 1699 - Store 1697(r0) 1700 - 1702: 6(float) Load 103(inF0) - 1703: 48(fvec4) Load 105(inFV0) - 1704: 48(fvec4) VectorTimesScalar 1703 1702 - Store 1701(r1) 1704 - 1706: 48(fvec4) Load 105(inFV0) - 1707: 6(float) Load 103(inF0) - 1708: 48(fvec4) VectorTimesScalar 1706 1707 - Store 1705(r2) 1708 + 1701(r0): 7(ptr) Variable Function + 1705(r1): 49(ptr) Variable Function + 1709(r2): 49(ptr) Variable Function + 1713(r3): 7(ptr) Variable Function + 1717(r4): 49(ptr) Variable Function + 1721(r5): 49(ptr) Variable Function + 1725(r6): 77(ptr) Variable Function + 1729(r7): 77(ptr) Variable Function + 1733(r8): 77(ptr) Variable Function + 1702: 6(float) Load 104(inF1) + 1703: 6(float) Load 103(inF0) + 1704: 6(float) FMul 1702 1703 + Store 1701(r0) 1704 + 1706: 6(float) Load 103(inF0) + 1707: 48(fvec4) Load 105(inFV0) + 1708: 48(fvec4) VectorTimesScalar 1707 1706 + Store 1705(r1) 1708 1710: 48(fvec4) Load 105(inFV0) - 1711: 48(fvec4) Load 106(inFV1) - 1712: 6(float) Dot 1710 1711 - Store 1709(r3) 1712 + 1711: 6(float) Load 103(inF0) + 1712: 48(fvec4) VectorTimesScalar 1710 1711 + Store 1709(r2) 1712 1714: 48(fvec4) Load 105(inFV0) - 1715: 76 Load 107(inFM0) - 1716: 48(fvec4) VectorTimesMatrix 1714 1715 - Store 1713(r4) 1716 - 1718: 76 Load 107(inFM0) - 1719: 48(fvec4) Load 105(inFV0) - 1720: 48(fvec4) MatrixTimesVector 1718 1719 - Store 1717(r5) 1720 - 1722: 6(float) Load 103(inF0) - 1723: 76 Load 107(inFM0) - 1724: 76 MatrixTimesScalar 1723 1722 - Store 1721(r6) 1724 - 1726: 76 Load 107(inFM0) - 1727: 6(float) Load 103(inF0) - 1728: 76 MatrixTimesScalar 1726 1727 - Store 1725(r7) 1728 - 1730: 76 Load 108(inFM1) - 1731: 76 Load 107(inFM0) - 1732: 76 MatrixTimesMatrix 1730 1731 - Store 1729(r8) 1732 + 1715: 48(fvec4) Load 106(inFV1) + 1716: 6(float) Dot 1714 1715 + Store 1713(r3) 1716 + 1718: 48(fvec4) Load 105(inFV0) + 1719: 76 Load 107(inFM0) + 1720: 48(fvec4) VectorTimesMatrix 1718 1719 + Store 1717(r4) 1720 + 1722: 76 Load 107(inFM0) + 1723: 48(fvec4) Load 105(inFV0) + 1724: 48(fvec4) MatrixTimesVector 1722 1723 + Store 1721(r5) 1724 + 1726: 6(float) Load 103(inF0) + 1727: 76 Load 107(inFM0) + 1728: 76 MatrixTimesScalar 1727 1726 + Store 1725(r6) 1728 + 1730: 76 Load 107(inFM0) + 1731: 6(float) Load 103(inF0) + 1732: 76 MatrixTimesScalar 1730 1731 + Store 1729(r7) 1732 + 1734: 76 Load 108(inFM1) + 1735: 76 Load 107(inFM0) + 1736: 76 MatrixTimesMatrix 1734 1735 + Store 1733(r8) 1736 Return FunctionEnd 129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;): 2 Function None 119 @@ -8350,90 +8355,98 @@ gl_FragCoord origin is upper left 127(inFM3x4): 116(ptr) FunctionParameter 128(inFM2x4): 118(ptr) FunctionParameter 130: Label - 1733(r00): 7(ptr) Variable Function - 1737(r01): 25(ptr) Variable Function - 1741(r02): 37(ptr) Variable Function - 1745(r03): 25(ptr) Variable Function - 1749(r04): 37(ptr) Variable Function - 1753(r05): 7(ptr) Variable Function - 1757(r06): 7(ptr) Variable Function - 1761(r07): 37(ptr) Variable Function - 1765(r08): 25(ptr) Variable Function - 1769(r09): 25(ptr) Variable Function - 1773(r10): 37(ptr) Variable Function - 1777(r11): 112(ptr) Variable Function - 1781(r12): 114(ptr) Variable Function - 1785(r13): 61(ptr) Variable Function - 1789(r14): 112(ptr) Variable Function - 1793(r15): 118(ptr) Variable Function - 1797(r16): 116(ptr) Variable Function - 1734: 6(float) Load 121(inF1) - 1735: 6(float) Load 120(inF0) - 1736: 6(float) FMul 1734 1735 - Store 1733(r00) 1736 - 1738: 6(float) Load 120(inF0) - 1739: 24(fvec2) Load 122(inFV2) - 1740: 24(fvec2) VectorTimesScalar 1739 1738 - Store 1737(r01) 1740 + 1737(r00): 7(ptr) Variable Function + 1741(r01): 25(ptr) Variable Function + 1745(r02): 37(ptr) Variable Function + 1749(r03): 25(ptr) Variable Function + 1753(r04): 37(ptr) Variable Function + 1757(r05): 7(ptr) Variable Function + 1761(r06): 7(ptr) Variable Function + 1765(r07): 37(ptr) Variable Function + 1769(r08): 25(ptr) Variable Function + 1773(r09): 25(ptr) Variable Function + 1777(r10): 37(ptr) Variable Function + 1781(r11): 112(ptr) Variable Function + 1785(r12): 114(ptr) Variable Function + 1789(r13): 61(ptr) Variable Function + 1793(r14): 112(ptr) Variable Function + 1797(r15): 118(ptr) Variable Function + 1801(r16): 116(ptr) Variable Function + 1738: 6(float) Load 121(inF1) + 1739: 6(float) Load 120(inF0) + 1740: 6(float) FMul 1738 1739 + Store 1737(r00) 1740 1742: 6(float) Load 120(inF0) - 1743: 36(fvec3) Load 123(inFV3) - 1744: 36(fvec3) VectorTimesScalar 1743 1742 - Store 1741(r02) 1744 - 1746: 24(fvec2) Load 122(inFV2) - 1747: 6(float) Load 120(inF0) - 1748: 24(fvec2) VectorTimesScalar 1746 1747 - Store 1745(r03) 1748 - 1750: 36(fvec3) Load 123(inFV3) + 1743: 24(fvec2) Load 122(inFV2) + 1744: 24(fvec2) VectorTimesScalar 1743 1742 + Store 1741(r01) 1744 + 1746: 6(float) Load 120(inF0) + 1747: 36(fvec3) Load 123(inFV3) + 1748: 36(fvec3) VectorTimesScalar 1747 1746 + Store 1745(r02) 1748 + 1750: 24(fvec2) Load 122(inFV2) 1751: 6(float) Load 120(inF0) - 1752: 36(fvec3) VectorTimesScalar 1750 1751 - Store 1749(r04) 1752 - 1754: 24(fvec2) Load 122(inFV2) - 1755: 24(fvec2) Load 122(inFV2) - 1756: 6(float) Dot 1754 1755 - Store 1753(r05) 1756 - 1758: 36(fvec3) Load 123(inFV3) - 1759: 36(fvec3) Load 123(inFV3) + 1752: 24(fvec2) VectorTimesScalar 1750 1751 + Store 1749(r03) 1752 + 1754: 36(fvec3) Load 123(inFV3) + 1755: 6(float) Load 120(inF0) + 1756: 36(fvec3) VectorTimesScalar 1754 1755 + Store 1753(r04) 1756 + 1758: 24(fvec2) Load 122(inFV2) + 1759: 24(fvec2) Load 122(inFV2) 1760: 6(float) Dot 1758 1759 - Store 1757(r06) 1760 - 1762: 111 Load 124(inFM2x3) - 1763: 24(fvec2) Load 122(inFV2) - 1764: 36(fvec3) MatrixTimesVector 1762 1763 - Store 1761(r07) 1764 - 1766: 113 Load 125(inFM3x2) - 1767: 36(fvec3) Load 123(inFV3) - 1768: 24(fvec2) MatrixTimesVector 1766 1767 - Store 1765(r08) 1768 - 1770: 36(fvec3) Load 123(inFV3) - 1771: 111 Load 124(inFM2x3) - 1772: 24(fvec2) VectorTimesMatrix 1770 1771 - Store 1769(r09) 1772 - 1774: 24(fvec2) Load 122(inFV2) - 1775: 113 Load 125(inFM3x2) - 1776: 36(fvec3) VectorTimesMatrix 1774 1775 - Store 1773(r10) 1776 - 1778: 6(float) Load 120(inF0) - 1779: 111 Load 124(inFM2x3) - 1780: 111 MatrixTimesScalar 1779 1778 - Store 1777(r11) 1780 + Store 1757(r05) 1760 + 1762: 36(fvec3) Load 123(inFV3) + 1763: 36(fvec3) Load 123(inFV3) + 1764: 6(float) Dot 1762 1763 + Store 1761(r06) 1764 + 1766: 111 Load 124(inFM2x3) + 1767: 24(fvec2) Load 122(inFV2) + 1768: 36(fvec3) MatrixTimesVector 1766 1767 + Store 1765(r07) 1768 + 1770: 113 Load 125(inFM3x2) + 1771: 36(fvec3) Load 123(inFV3) + 1772: 24(fvec2) MatrixTimesVector 1770 1771 + Store 1769(r08) 1772 + 1774: 36(fvec3) Load 123(inFV3) + 1775: 111 Load 124(inFM2x3) + 1776: 24(fvec2) VectorTimesMatrix 1774 1775 + Store 1773(r09) 1776 + 1778: 24(fvec2) Load 122(inFV2) + 1779: 113 Load 125(inFM3x2) + 1780: 36(fvec3) VectorTimesMatrix 1778 1779 + Store 1777(r10) 1780 1782: 6(float) Load 120(inF0) - 1783: 113 Load 125(inFM3x2) - 1784: 113 MatrixTimesScalar 1783 1782 - Store 1781(r12) 1784 - 1786: 113 Load 125(inFM3x2) - 1787: 111 Load 124(inFM2x3) - 1788: 60 MatrixTimesMatrix 1786 1787 - Store 1785(r13) 1788 - 1790: 68 Load 126(inFM3x3) + 1783: 111 Load 124(inFM2x3) + 1784: 111 MatrixTimesScalar 1783 1782 + Store 1781(r11) 1784 + 1786: 6(float) Load 120(inF0) + 1787: 113 Load 125(inFM3x2) + 1788: 113 MatrixTimesScalar 1787 1786 + Store 1785(r12) 1788 + 1790: 113 Load 125(inFM3x2) 1791: 111 Load 124(inFM2x3) - 1792: 111 MatrixTimesMatrix 1790 1791 - Store 1789(r14) 1792 - 1794: 115 Load 127(inFM3x4) + 1792: 60 MatrixTimesMatrix 1790 1791 + Store 1789(r13) 1792 + 1794: 68 Load 126(inFM3x3) 1795: 111 Load 124(inFM2x3) - 1796: 117 MatrixTimesMatrix 1794 1795 - Store 1793(r15) 1796 - 1798: 117 Load 128(inFM2x4) - 1799: 113 Load 125(inFM3x2) - 1800: 115 MatrixTimesMatrix 1798 1799 - Store 1797(r16) 1800 + 1796: 111 MatrixTimesMatrix 1794 1795 + Store 1793(r14) 1796 + 1798: 115 Load 127(inFM3x4) + 1799: 111 Load 124(inFM2x3) + 1800: 117 MatrixTimesMatrix 1798 1799 + Store 1797(r15) 1800 + 1802: 117 Load 128(inFM2x4) + 1803: 113 Load 125(inFM3x2) + 1804: 115 MatrixTimesMatrix 1802 1803 + Store 1801(r16) 1804 Return FunctionEnd + 133(@main():131(PS_OUTPUT) Function None 132 + 134: Label + 1806(ps_output): 1805(ptr) Variable Function + 1809: 49(ptr) AccessChain 1806(ps_output) 1807 + Store 1809 1808 + 1810:131(PS_OUTPUT) Load 1806(ps_output) + ReturnValue 1810 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out index 6b393048e7f..affed169b60 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.lit.frag.out @@ -2,43 +2,59 @@ hlsl.intrinsics.lit.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; ( temp void) 0:2 Function Parameters: -0:2 'n_dot_l' (layout(location=0 ) in float) -0:2 'n_dot_h' (layout(location=1 ) in float) -0:2 'm' (layout(location=2 ) in float) +0:2 'n_dot_l' ( in float) +0:2 'n_dot_h' ( in float) +0:2 'm' ( in float) 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:3 'r0' (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) +0:3 move second child to first child ( temp 4-component vector of float) +0:3 'r0' ( temp 4-component vector of float) +0:3 Construct vec4 ( temp 4-component vector of float) 0:3 Constant: 0:3 1.000000 -0:3 max (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) +0:3 max ( temp float) +0:3 'n_dot_l' ( in float) 0:3 Constant: 0:3 0.000000 -0:3 Test condition and select (temp float) +0:3 Test condition and select ( temp float) 0:3 Condition -0:3 Compare Less Than (temp bool) -0:3 min (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) -0:3 'n_dot_h' (layout(location=1 ) in float) +0:3 Compare Less Than ( temp bool) +0:3 min ( temp float) +0:3 'n_dot_l' ( in float) +0:3 'n_dot_h' ( in float) 0:3 Constant: 0:3 0.000000 0:3 true case 0:3 Constant: 0:3 0.000000 0:3 false case -0:3 component-wise multiply (temp float) -0:3 'n_dot_h' (layout(location=1 ) in float) -0:3 'm' (layout(location=2 ) in float) +0:3 component-wise multiply ( temp float) +0:3 'n_dot_h' ( in float) +0:3 'm' ( in float) 0:3 Constant: 0:3 1.000000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? 'n_dot_l' ( temp float) +0:? 'n_dot_l' (layout( location=0) in float) +0:2 move second child to first child ( temp float) +0:? 'n_dot_h' ( temp float) +0:? 'n_dot_h' (layout( location=1) in float) +0:2 move second child to first child ( temp float) +0:? 'm' ( temp float) +0:? 'm' (layout( location=2) in float) +0:2 Function Call: @PixelShaderFunction(f1;f1;f1; ( temp void) +0:? 'n_dot_l' ( temp float) +0:? 'n_dot_h' ( temp float) +0:? 'm' ( temp float) 0:? Linker Objects -0:? 'n_dot_l' (layout(location=0 ) in float) -0:? 'n_dot_h' (layout(location=1 ) in float) -0:? 'm' (layout(location=2 ) in float) +0:? 'n_dot_l' (layout( location=0) in float) +0:? 'n_dot_h' (layout( location=1) in float) +0:? 'm' (layout( location=2) in float) Linked fragment stage: @@ -47,98 +63,151 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void) +0:2 Function Definition: @PixelShaderFunction(f1;f1;f1; ( temp void) 0:2 Function Parameters: -0:2 'n_dot_l' (layout(location=0 ) in float) -0:2 'n_dot_h' (layout(location=1 ) in float) -0:2 'm' (layout(location=2 ) in float) +0:2 'n_dot_l' ( in float) +0:2 'n_dot_h' ( in float) +0:2 'm' ( in float) 0:? Sequence 0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:3 'r0' (temp 4-component vector of float) -0:3 Construct vec4 (temp 4-component vector of float) +0:3 move second child to first child ( temp 4-component vector of float) +0:3 'r0' ( temp 4-component vector of float) +0:3 Construct vec4 ( temp 4-component vector of float) 0:3 Constant: 0:3 1.000000 -0:3 max (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) +0:3 max ( temp float) +0:3 'n_dot_l' ( in float) 0:3 Constant: 0:3 0.000000 -0:3 Test condition and select (temp float) +0:3 Test condition and select ( temp float) 0:3 Condition -0:3 Compare Less Than (temp bool) -0:3 min (temp float) -0:3 'n_dot_l' (layout(location=0 ) in float) -0:3 'n_dot_h' (layout(location=1 ) in float) +0:3 Compare Less Than ( temp bool) +0:3 min ( temp float) +0:3 'n_dot_l' ( in float) +0:3 'n_dot_h' ( in float) 0:3 Constant: 0:3 0.000000 0:3 true case 0:3 Constant: 0:3 0.000000 0:3 false case -0:3 component-wise multiply (temp float) -0:3 'n_dot_h' (layout(location=1 ) in float) -0:3 'm' (layout(location=2 ) in float) +0:3 component-wise multiply ( temp float) +0:3 'n_dot_h' ( in float) +0:3 'm' ( in float) 0:3 Constant: 0:3 1.000000 +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? 'n_dot_l' ( temp float) +0:? 'n_dot_l' (layout( location=0) in float) +0:2 move second child to first child ( temp float) +0:? 'n_dot_h' ( temp float) +0:? 'n_dot_h' (layout( location=1) in float) +0:2 move second child to first child ( temp float) +0:? 'm' ( temp float) +0:? 'm' (layout( location=2) in float) +0:2 Function Call: @PixelShaderFunction(f1;f1;f1; ( temp void) +0:? 'n_dot_l' ( temp float) +0:? 'n_dot_h' ( temp float) +0:? 'm' ( temp float) 0:? Linker Objects -0:? 'n_dot_l' (layout(location=0 ) in float) -0:? 'n_dot_h' (layout(location=1 ) in float) -0:? 'm' (layout(location=2 ) in float) +0:? 'n_dot_l' (layout( location=0) in float) +0:? 'n_dot_h' (layout( location=1) in float) +0:? 'm' (layout( location=2) in float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 33 +// Id's are bound by 52 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 12 19 28 + EntryPoint Fragment 4 "PixelShaderFunction" 37 40 43 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "r0" - Name 12 "n_dot_l" - Name 19 "n_dot_h" - Name 28 "m" - Decorate 12(n_dot_l) Location 0 - Decorate 19(n_dot_h) Location 1 - Decorate 28(m) Location 2 + Name 12 "@PixelShaderFunction(f1;f1;f1;" + Name 9 "n_dot_l" + Name 10 "n_dot_h" + Name 11 "m" + Name 16 "r0" + Name 35 "n_dot_l" + Name 37 "n_dot_l" + Name 39 "n_dot_h" + Name 40 "n_dot_h" + Name 42 "m" + Name 43 "m" + Name 45 "param" + Name 47 "param" + Name 49 "param" + Decorate 37(n_dot_l) Location 0 + Decorate 40(n_dot_h) Location 1 + Decorate 43(m) Location 2 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: TypePointer Input 6(float) - 12(n_dot_l): 11(ptr) Variable Input - 14: 6(float) Constant 0 - 16: TypePointer Function 6(float) - 19(n_dot_h): 11(ptr) Variable Input - 22: TypeBool - 28(m): 11(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) + 14: TypeVector 6(float) 4 + 15: TypePointer Function 14(fvec4) + 17: 6(float) Constant 1065353216 + 19: 6(float) Constant 0 + 25: TypeBool + 36: TypePointer Input 6(float) + 37(n_dot_l): 36(ptr) Variable Input + 40(n_dot_h): 36(ptr) Variable Input + 43(m): 36(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 9(r0): 8(ptr) Variable Function - 17: 16(ptr) Variable Function - 13: 6(float) Load 12(n_dot_l) - 15: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 13 14 - 18: 6(float) Load 12(n_dot_l) - 20: 6(float) Load 19(n_dot_h) - 21: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 18 20 - 23: 22(bool) FOrdLessThan 21 14 - SelectionMerge 25 None - BranchConditional 23 24 26 - 24: Label - Store 17 14 - Branch 25 - 26: Label - 27: 6(float) Load 19(n_dot_h) - 29: 6(float) Load 28(m) - 30: 6(float) FMul 27 29 - Store 17 30 - Branch 25 - 25: Label - 31: 6(float) Load 17 - 32: 7(fvec4) CompositeConstruct 10 15 31 10 - Store 9(r0) 32 + 35(n_dot_l): 7(ptr) Variable Function + 39(n_dot_h): 7(ptr) Variable Function + 42(m): 7(ptr) Variable Function + 45(param): 7(ptr) Variable Function + 47(param): 7(ptr) Variable Function + 49(param): 7(ptr) Variable Function + 38: 6(float) Load 37(n_dot_l) + Store 35(n_dot_l) 38 + 41: 6(float) Load 40(n_dot_h) + Store 39(n_dot_h) 41 + 44: 6(float) Load 43(m) + Store 42(m) 44 + 46: 6(float) Load 35(n_dot_l) + Store 45(param) 46 + 48: 6(float) Load 39(n_dot_h) + Store 47(param) 48 + 50: 6(float) Load 42(m) + Store 49(param) 50 + 51: 2 FunctionCall 12(@PixelShaderFunction(f1;f1;f1;) 45(param) 47(param) 49(param) + Return + FunctionEnd +12(@PixelShaderFunction(f1;f1;f1;): 2 Function None 8 + 9(n_dot_l): 7(ptr) FunctionParameter + 10(n_dot_h): 7(ptr) FunctionParameter + 11(m): 7(ptr) FunctionParameter + 13: Label + 16(r0): 15(ptr) Variable Function + 21: 7(ptr) Variable Function + 18: 6(float) Load 9(n_dot_l) + 20: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 18 19 + 22: 6(float) Load 9(n_dot_l) + 23: 6(float) Load 10(n_dot_h) + 24: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 22 23 + 26: 25(bool) FOrdLessThan 24 19 + SelectionMerge 28 None + BranchConditional 26 27 29 + 27: Label + Store 21 19 + Branch 28 + 29: Label + 30: 6(float) Load 10(n_dot_h) + 31: 6(float) Load 11(m) + 32: 6(float) FMul 30 31 + Store 21 32 + Branch 28 + 28: Label + 33: 6(float) Load 21 + 34: 14(fvec4) CompositeConstruct 17 20 33 17 + Store 16(r0) 34 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out index 44dedf77061..2c8b9157d3c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.comp.out @@ -2,71 +2,90 @@ hlsl.intrinsics.negative.comp Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (temp float) +0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inI0' (in int) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inI0' ( in int) 0:? Sequence 0:53 Branch: Return with expression 0:53 Constant: 0:53 0.000000 -0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:57 Function Parameters: -0:57 'inF0' (in 1-component vector of float) -0:57 'inF1' (in 1-component vector of float) -0:57 'inF2' (in 1-component vector of float) -0:57 'inI0' (in 1-component vector of int) +0:57 'inF0' ( in 1-component vector of float) +0:57 'inF1' ( in 1-component vector of float) +0:57 'inF2' ( in 1-component vector of float) +0:57 'inI0' ( in 1-component vector of int) 0:? Sequence 0:62 Branch: Return with expression 0:62 Constant: 0:62 0.000000 -0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:66 Function Parameters: -0:66 'inF0' (in 2-component vector of float) -0:66 'inF1' (in 2-component vector of float) -0:66 'inF2' (in 2-component vector of float) -0:66 'inI0' (in 2-component vector of int) +0:66 'inF0' ( in 2-component vector of float) +0:66 'inF1' ( in 2-component vector of float) +0:66 'inF2' ( in 2-component vector of float) +0:66 'inI0' ( in 2-component vector of int) 0:? Sequence 0:109 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:113 Function Parameters: -0:113 'inF0' (in 3-component vector of float) -0:113 'inF1' (in 3-component vector of float) -0:113 'inF2' (in 3-component vector of float) -0:113 'inI0' (in 3-component vector of int) +0:113 'inF0' ( in 3-component vector of float) +0:113 'inF1' ( in 3-component vector of float) +0:113 'inF2' ( in 3-component vector of float) +0:113 'inI0' ( in 3-component vector of int) 0:? Sequence 0:154 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) 0:158 Function Parameters: -0:158 'inF0' (layout(location=0 ) in 4-component vector of float) -0:158 'inF1' (layout(location=1 ) in 4-component vector of float) -0:158 'inF2' (layout(location=2 ) in 4-component vector of float) -0:158 'inI0' (layout(location=3 ) in 4-component vector of int) +0:158 'inF0' ( in 4-component vector of float) +0:158 'inF1' ( in 4-component vector of float) +0:158 'inF2' ( in 4-component vector of float) +0:158 'inI0' ( in 4-component vector of int) 0:? Sequence -0:199 Sequence -0:199 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:199 Branch: Return +0:199 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:158 Function Definition: ComputeShaderFunction( ( temp void) +0:158 Function Parameters: +0:? Sequence +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:158 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) Linked compute stage: @@ -75,80 +94,99 @@ Linked compute stage: Shader version: 450 local_size = (1, 1, 1) 0:? Sequence -0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (temp float) +0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inI0' (in int) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inI0' ( in int) 0:? Sequence 0:53 Branch: Return with expression 0:53 Constant: 0:53 0.000000 -0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:57 Function Parameters: -0:57 'inF0' (in 1-component vector of float) -0:57 'inF1' (in 1-component vector of float) -0:57 'inF2' (in 1-component vector of float) -0:57 'inI0' (in 1-component vector of int) +0:57 'inF0' ( in 1-component vector of float) +0:57 'inF1' ( in 1-component vector of float) +0:57 'inF2' ( in 1-component vector of float) +0:57 'inI0' ( in 1-component vector of int) 0:? Sequence 0:62 Branch: Return with expression 0:62 Constant: 0:62 0.000000 -0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:66 Function Parameters: -0:66 'inF0' (in 2-component vector of float) -0:66 'inF1' (in 2-component vector of float) -0:66 'inF2' (in 2-component vector of float) -0:66 'inI0' (in 2-component vector of int) +0:66 'inF0' ( in 2-component vector of float) +0:66 'inF1' ( in 2-component vector of float) +0:66 'inF2' ( in 2-component vector of float) +0:66 'inI0' ( in 2-component vector of int) 0:? Sequence 0:109 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:113 Function Parameters: -0:113 'inF0' (in 3-component vector of float) -0:113 'inF1' (in 3-component vector of float) -0:113 'inF2' (in 3-component vector of float) -0:113 'inI0' (in 3-component vector of int) +0:113 'inF0' ( in 3-component vector of float) +0:113 'inF1' ( in 3-component vector of float) +0:113 'inF2' ( in 3-component vector of float) +0:113 'inI0' ( in 3-component vector of int) 0:? Sequence 0:154 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:158 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:158 Function Parameters: +0:158 'inF0' ( in 4-component vector of float) +0:158 'inF1' ( in 4-component vector of float) +0:158 'inF2' ( in 4-component vector of float) +0:158 'inI0' ( in 4-component vector of int) +0:? Sequence +0:199 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:158 Function Definition: ComputeShaderFunction( ( temp void) 0:158 Function Parameters: -0:158 'inF0' (layout(location=0 ) in 4-component vector of float) -0:158 'inF1' (layout(location=1 ) in 4-component vector of float) -0:158 'inF2' (layout(location=2 ) in 4-component vector of float) -0:158 'inI0' (layout(location=3 ) in 4-component vector of int) 0:? Sequence -0:199 Sequence -0:199 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:199 Branch: Return +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:158 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:158 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 99 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "ComputeShaderFunction" 61 66 67 68 71 + EntryPoint GLCompute 4 "ComputeShaderFunction" 76 79 82 86 89 ExecutionMode 4 LocalSize 1 1 1 Name 4 "ComputeShaderFunction" Name 15 "ComputeShaderFunctionS(f1;f1;f1;i1;" @@ -171,16 +209,29 @@ local_size = (1, 1, 1) Name 40 "inF1" Name 41 "inF2" Name 42 "inI0" - Name 61 "@entryPointOutput" - Name 66 "inF0" - Name 67 "inF1" - Name 68 "inF2" - Name 71 "inI0" - Decorate 61(@entryPointOutput) Location 0 - Decorate 66(inF0) Location 0 - Decorate 67(inF1) Location 1 - Decorate 68(inF2) Location 2 - Decorate 71(inI0) Location 3 + Name 54 "@ComputeShaderFunction(vf4;vf4;vf4;vi4;" + Name 50 "inF0" + Name 51 "inF1" + Name 52 "inF2" + Name 53 "inI0" + Name 74 "inF0" + Name 76 "inF0" + Name 78 "inF1" + Name 79 "inF1" + Name 81 "inF2" + Name 82 "inF2" + Name 84 "inI0" + Name 86 "inI0" + Name 89 "@entryPointOutput" + Name 90 "param" + Name 92 "param" + Name 94 "param" + Name 96 "param" + Decorate 76(inF0) Location 0 + Decorate 79(inF1) Location 1 + Decorate 82(inF2) Location 2 + Decorate 86(inI0) Location 3 + Decorate 89(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -198,27 +249,55 @@ local_size = (1, 1, 1) 36: TypeVector 8(int) 3 37: TypePointer Function 36(ivec3) 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) - 45: 6(float) Constant 0 - 50: 6(float) Constant 1065353216 - 51: 6(float) Constant 1073741824 - 52: 23(fvec2) ConstantComposite 50 51 - 55: 6(float) Constant 1077936128 - 56: 34(fvec3) ConstantComposite 50 51 55 - 59: TypeVector 6(float) 4 - 60: TypePointer Output 59(fvec4) -61(@entryPointOutput): 60(ptr) Variable Output - 62: 6(float) Constant 1082130432 - 63: 59(fvec4) ConstantComposite 50 51 55 62 - 65: TypePointer Input 59(fvec4) - 66(inF0): 65(ptr) Variable Input - 67(inF1): 65(ptr) Variable Input - 68(inF2): 65(ptr) Variable Input - 69: TypeVector 8(int) 4 - 70: TypePointer Input 69(ivec4) - 71(inI0): 70(ptr) Variable Input + 45: TypeVector 6(float) 4 + 46: TypePointer Function 45(fvec4) + 47: TypeVector 8(int) 4 + 48: TypePointer Function 47(ivec4) + 49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr) + 56: 6(float) Constant 0 + 61: 6(float) Constant 1065353216 + 62: 6(float) Constant 1073741824 + 63: 23(fvec2) ConstantComposite 61 62 + 66: 6(float) Constant 1077936128 + 67: 34(fvec3) ConstantComposite 61 62 66 + 70: 6(float) Constant 1082130432 + 71: 45(fvec4) ConstantComposite 61 62 66 70 + 75: TypePointer Input 45(fvec4) + 76(inF0): 75(ptr) Variable Input + 79(inF1): 75(ptr) Variable Input + 82(inF2): 75(ptr) Variable Input + 85: TypePointer Input 47(ivec4) + 86(inI0): 85(ptr) Variable Input + 88: TypePointer Output 45(fvec4) +89(@entryPointOutput): 88(ptr) Variable Output 4(ComputeShaderFunction): 2 Function None 3 5: Label - Store 61(@entryPointOutput) 63 + 74(inF0): 46(ptr) Variable Function + 78(inF1): 46(ptr) Variable Function + 81(inF2): 46(ptr) Variable Function + 84(inI0): 48(ptr) Variable Function + 90(param): 46(ptr) Variable Function + 92(param): 46(ptr) Variable Function + 94(param): 46(ptr) Variable Function + 96(param): 48(ptr) Variable Function + 77: 45(fvec4) Load 76(inF0) + Store 74(inF0) 77 + 80: 45(fvec4) Load 79(inF1) + Store 78(inF1) 80 + 83: 45(fvec4) Load 82(inF2) + Store 81(inF2) 83 + 87: 47(ivec4) Load 86(inI0) + Store 84(inI0) 87 + 91: 45(fvec4) Load 74(inF0) + Store 90(param) 91 + 93: 45(fvec4) Load 78(inF1) + Store 92(param) 93 + 95: 45(fvec4) Load 81(inF2) + Store 94(param) 95 + 97: 47(ivec4) Load 84(inI0) + Store 96(param) 97 + 98: 45(fvec4) FunctionCall 54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;) 90(param) 92(param) 94(param) 96(param) + Store 89(@entryPointOutput) 98 Return FunctionEnd 15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 @@ -227,7 +306,7 @@ local_size = (1, 1, 1) 13(inF2): 7(ptr) FunctionParameter 14(inI0): 9(ptr) FunctionParameter 16: Label - ReturnValue 45 + ReturnValue 56 FunctionEnd 21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 17(inF0): 7(ptr) FunctionParameter @@ -235,7 +314,7 @@ local_size = (1, 1, 1) 19(inF2): 7(ptr) FunctionParameter 20(inI0): 9(ptr) FunctionParameter 22: Label - ReturnValue 45 + ReturnValue 56 FunctionEnd 32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 28(inF0): 24(ptr) FunctionParameter @@ -243,7 +322,7 @@ local_size = (1, 1, 1) 30(inF2): 24(ptr) FunctionParameter 31(inI0): 26(ptr) FunctionParameter 33: Label - ReturnValue 52 + ReturnValue 63 FunctionEnd 43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 39(inF0): 35(ptr) FunctionParameter @@ -251,5 +330,13 @@ local_size = (1, 1, 1) 41(inF2): 35(ptr) FunctionParameter 42(inI0): 37(ptr) FunctionParameter 44: Label - ReturnValue 56 + ReturnValue 67 + FunctionEnd +54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49 + 50(inF0): 46(ptr) FunctionParameter + 51(inF1): 46(ptr) FunctionParameter + 52(inF2): 46(ptr) FunctionParameter + 53(inI0): 48(ptr) FunctionParameter + 55: Label + ReturnValue 71 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out index 0468863fd1d..8f770c88aed 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.frag.out @@ -1,6 +1,5 @@ hlsl.intrinsics.negative.frag ERROR: 0:10: 'determinant' : no matching overloaded function found -ERROR: 0:12: 'f32tof16' : unimplemented intrinsic: handle natively ERROR: 0:23: 'length' : ambiguous best function under implicit type conversion ERROR: 0:25: 'normalize' : ambiguous best function under implicit type conversion ERROR: 0:26: 'reflect' : ambiguous best function under implicit type conversion @@ -13,16 +12,13 @@ ERROR: 0:47: 'CheckAccessFullyMapped' : no matching overloaded function found ERROR: 0:49: 'cross' : no matching overloaded function found ERROR: 0:50: 'D3DCOLORtoUBYTE4' : no matching overloaded function found ERROR: 0:51: 'determinant' : no matching overloaded function found -ERROR: 0:52: 'f32tof16' : unimplemented intrinsic: handle natively ERROR: 0:57: 'transpose' : no matching overloaded function found ERROR: 0:64: 'CheckAccessFullyMapped' : no matching overloaded function found ERROR: 0:66: 'D3DCOLORtoUBYTE4' : no matching overloaded function found ERROR: 0:67: 'determinant' : no matching overloaded function found -ERROR: 0:68: 'f32tof16' : unimplemented intrinsic: handle natively ERROR: 0:73: 'transpose' : no matching overloaded function found ERROR: 0:81: 'CheckAccessFullyMapped' : no matching overloaded function found ERROR: 0:84: 'determinant' : no matching overloaded function found -ERROR: 0:85: 'f32tof16' : unimplemented intrinsic: handle natively ERROR: 0:90: 'transpose' : no matching overloaded function found ERROR: 0:117: 'countbits' : no matching overloaded function found ERROR: 0:117: 'D3DCOLORtoUBYTE4' : no matching overloaded function found @@ -63,43 +59,43 @@ ERROR: 0:133: 'normalize' : no matching overloaded function found ERROR: 0:133: 'reflect' : no matching overloaded function found ERROR: 0:133: 'refract' : no matching overloaded function found ERROR: 0:133: 'reversebits' : no matching overloaded function found -ERROR: 64 compilation errors. No code generated. +ERROR: 60 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (temp float) +0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inI0' (in int) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inI0' ( in int) 0:? Sequence -0:5 uint64BitsToDouble (temp double) -0:5 Construct uvec2 (temp 2-component vector of uint) -0:5 Convert float to uint (temp uint) -0:5 'inF0' (in float) -0:5 Convert float to uint (temp uint) -0:5 'inF1' (in float) -0:6 Function Call: CheckAccessFullyMapped(u1; (temp bool) +0:5 uint64BitsToDouble ( temp double) +0:5 Construct uvec2 ( temp 2-component vector of uint) +0:5 Convert float to uint ( temp uint) +0:5 'inF0' ( in float) +0:5 Convert float to uint ( temp uint) +0:5 'inF1' ( in float) +0:6 Function Call: CheckAccessFullyMapped(u1; ( temp bool) 0:6 Constant: 0:6 3 (const uint) -0:7 bitCount (temp uint) -0:7 Convert float to uint (temp uint) -0:7 'inF0' (in float) -0:8 cross-product (temp 3-component vector of float) -0:8 Construct vec3 (in 3-component vector of float) -0:8 'inF0' (in float) -0:8 Construct vec3 (in 3-component vector of float) -0:8 'inF1' (in float) -0:9 Convert float to int (temp 4-component vector of int) -0:9 vector-scale (temp 4-component vector of float) +0:7 bitCount ( temp uint) +0:7 Convert float to uint ( temp uint) +0:7 'inF0' ( in float) +0:8 cross-product ( temp 3-component vector of float) +0:8 Construct vec3 ( in 3-component vector of float) +0:8 'inF0' ( in float) +0:8 Construct vec3 ( in 3-component vector of float) +0:8 'inF1' ( in float) +0:9 Convert float to int ( temp 4-component vector of int) +0:9 vector-scale ( temp 4-component vector of float) 0:9 Constant: 0:9 255.001953 -0:9 vector swizzle (temp 4-component vector of float) -0:9 Construct vec4 (in 4-component vector of float) -0:9 'inF0' (in float) +0:9 vector swizzle ( temp 4-component vector of float) +0:9 Construct vec4 ( in 4-component vector of float) +0:9 'inF0' ( in float) 0:9 Sequence 0:9 Constant: 0:9 2 (const int) @@ -111,22 +107,24 @@ ERROR: node is still EOpNull! 0:9 3 (const int) 0:10 Constant: 0:10 0.000000 -0:12 ERROR: Bad unary op - (temp float) -0:12 Convert float to uint (temp uint) -0:12 'inF0' (in float) -0:13 findMSB (temp uint) -0:13 Convert float to uint (temp uint) -0:13 'inF0' (in float) -0:14 findLSB (temp uint) -0:14 Convert float to uint (temp uint) -0:14 'inF0' (in float) -0:23 length (temp float) -0:23 Construct vec2 (in 2-component vector of float) -0:23 'inF0' (in float) -0:24 Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint) -0:24 Convert float to uint (temp uint) -0:24 'inF0' (in float) +0:12 direct index ( temp float) +0:12 unpackHalf2x16 ( temp 2-component vector of float) +0:12 Convert float to uint ( temp uint) +0:12 'inF0' ( in float) +0:12 Constant: +0:12 0 (const int) +0:13 findMSB ( temp uint) +0:13 Convert float to uint ( temp uint) +0:13 'inF0' ( in float) +0:14 findLSB ( temp uint) +0:14 Convert float to uint ( temp uint) +0:14 'inF0' ( in float) +0:23 length ( temp float) +0:23 Construct vec2 ( in 2-component vector of float) +0:23 'inF0' ( in float) +0:24 Function Call: msad4(u1;vu2;vu4; ( temp 4-component vector of uint) +0:24 Convert float to uint ( temp uint) +0:24 'inF0' ( in float) 0:24 Constant: 0:24 0 (const uint) 0:24 0 (const uint) @@ -135,114 +133,153 @@ ERROR: node is still EOpNull! 0:24 0 (const uint) 0:24 0 (const uint) 0:24 0 (const uint) -0:25 normalize (temp 2-component vector of float) -0:25 Construct vec2 (in 2-component vector of float) -0:25 'inF0' (in float) -0:26 reflect (temp 2-component vector of float) -0:26 Construct vec2 (in 2-component vector of float) -0:26 'inF0' (in float) -0:26 Construct vec2 (in 2-component vector of float) -0:26 'inF1' (in float) -0:27 refract (temp 2-component vector of float) -0:27 Construct vec2 (in 2-component vector of float) -0:27 'inF0' (in float) -0:27 Construct vec2 (in 2-component vector of float) -0:27 'inF1' (in float) -0:27 'inF2' (in float) +0:25 normalize ( temp 2-component vector of float) +0:25 Construct vec2 ( in 2-component vector of float) +0:25 'inF0' ( in float) +0:26 reflect ( temp 2-component vector of float) +0:26 Construct vec2 ( in 2-component vector of float) +0:26 'inF0' ( in float) +0:26 Construct vec2 ( in 2-component vector of float) +0:26 'inF1' ( in float) +0:27 refract ( temp 2-component vector of float) +0:27 Construct vec2 ( in 2-component vector of float) +0:27 'inF0' ( in float) +0:27 Construct vec2 ( in 2-component vector of float) +0:27 'inF1' ( in float) +0:27 'inF2' ( in float) 0:28 Constant: 0:28 0.000000 -0:29 bitFieldReverse (temp uint) -0:29 Convert float to uint (temp uint) -0:29 'inF0' (in float) +0:29 bitFieldReverse ( temp uint) +0:29 Convert float to uint ( temp uint) +0:29 'inF0' ( in float) 0:30 Constant: 0:30 0.000000 0:32 Branch: Return with expression 0:32 Constant: 0:32 0.000000 -0:36 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:36 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:36 Function Parameters: -0:36 'inF0' (in 1-component vector of float) -0:36 'inF1' (in 1-component vector of float) -0:36 'inF2' (in 1-component vector of float) -0:36 'inI0' (in 1-component vector of int) +0:36 'inF0' ( in 1-component vector of float) +0:36 'inF1' ( in 1-component vector of float) +0:36 'inF2' ( in 1-component vector of float) +0:36 'inI0' ( in 1-component vector of int) 0:? Sequence 0:39 Constant: 0:39 0.000000 0:41 Branch: Return with expression 0:41 Constant: 0:41 0.000000 -0:45 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:45 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:45 Function Parameters: -0:45 'inF0' (in 2-component vector of float) -0:45 'inF1' (in 2-component vector of float) -0:45 'inF2' (in 2-component vector of float) -0:45 'inI0' (in 2-component vector of int) +0:45 'inF0' ( in 2-component vector of float) +0:45 'inF1' ( in 2-component vector of float) +0:45 'inF2' ( in 2-component vector of float) +0:45 'inI0' ( in 2-component vector of int) 0:? Sequence 0:46 ERROR: Bad aggregation op - (temp 2-component vector of double) -0:46 Convert float to uint (temp 2-component vector of uint) -0:46 'inF0' (in 2-component vector of float) -0:46 Convert float to uint (temp 2-component vector of uint) -0:46 'inF1' (in 2-component vector of float) + ( temp 2-component vector of double) +0:46 Convert float to uint ( temp 2-component vector of uint) +0:46 'inF0' ( in 2-component vector of float) +0:46 Convert float to uint ( temp 2-component vector of uint) +0:46 'inF1' ( in 2-component vector of float) 0:47 Constant: 0:47 0.000000 -0:48 bitCount (temp 2-component vector of uint) -0:48 Convert float to uint (temp 2-component vector of uint) -0:48 'inF0' (in 2-component vector of float) +0:48 bitCount ( temp 2-component vector of uint) +0:48 Convert float to uint ( temp 2-component vector of uint) +0:48 'inF0' ( in 2-component vector of float) 0:49 Constant: 0:49 0.000000 0:50 Constant: 0:50 0.000000 0:51 Constant: 0:51 0.000000 -0:52 ERROR: Bad unary op - (temp 2-component vector of float) -0:52 Convert float to uint (temp 2-component vector of uint) -0:52 'inF0' (in 2-component vector of float) -0:53 findMSB (temp 2-component vector of uint) -0:53 Convert float to uint (temp 2-component vector of uint) -0:53 'inF0' (in 2-component vector of float) -0:54 findLSB (temp 2-component vector of uint) -0:54 Convert float to uint (temp 2-component vector of uint) -0:54 'inF0' (in 2-component vector of float) -0:56 bitFieldReverse (temp 2-component vector of uint) -0:56 Convert float to uint (temp 2-component vector of uint) -0:56 'inF0' (in 2-component vector of float) +0:52 Construct vec2 ( temp 2-component vector of float) +0:52 direct index ( temp float) +0:52 unpackHalf2x16 ( temp 2-component vector of float) +0:52 direct index ( temp uint) +0:52 Convert float to uint ( temp 2-component vector of uint) +0:52 'inF0' ( in 2-component vector of float) +0:52 Constant: +0:52 0 (const int) +0:52 Constant: +0:52 0 (const int) +0:52 direct index ( temp float) +0:52 unpackHalf2x16 ( temp 2-component vector of float) +0:52 direct index ( temp uint) +0:52 Convert float to uint ( temp 2-component vector of uint) +0:52 'inF0' ( in 2-component vector of float) +0:52 Constant: +0:52 1 (const int) +0:52 Constant: +0:52 0 (const int) +0:53 findMSB ( temp 2-component vector of uint) +0:53 Convert float to uint ( temp 2-component vector of uint) +0:53 'inF0' ( in 2-component vector of float) +0:54 findLSB ( temp 2-component vector of uint) +0:54 Convert float to uint ( temp 2-component vector of uint) +0:54 'inF0' ( in 2-component vector of float) +0:56 bitFieldReverse ( temp 2-component vector of uint) +0:56 Convert float to uint ( temp 2-component vector of uint) +0:56 'inF0' ( in 2-component vector of float) 0:57 Constant: 0:57 0.000000 0:59 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:63 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:63 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:63 Function Parameters: -0:63 'inF0' (in 3-component vector of float) -0:63 'inF1' (in 3-component vector of float) -0:63 'inF2' (in 3-component vector of float) -0:63 'inI0' (in 3-component vector of int) +0:63 'inF0' ( in 3-component vector of float) +0:63 'inF1' ( in 3-component vector of float) +0:63 'inF2' ( in 3-component vector of float) +0:63 'inI0' ( in 3-component vector of int) 0:? Sequence 0:64 Constant: 0:64 0.000000 -0:65 bitCount (temp 3-component vector of uint) -0:65 Convert float to uint (temp 3-component vector of uint) -0:65 'inF0' (in 3-component vector of float) +0:65 bitCount ( temp 3-component vector of uint) +0:65 Convert float to uint ( temp 3-component vector of uint) +0:65 'inF0' ( in 3-component vector of float) 0:66 Constant: 0:66 0.000000 0:67 Constant: 0:67 0.000000 -0:68 ERROR: Bad unary op - (temp 3-component vector of float) -0:68 Convert float to uint (temp 3-component vector of uint) -0:68 'inF0' (in 3-component vector of float) -0:69 findMSB (temp 3-component vector of uint) -0:69 Convert float to uint (temp 3-component vector of uint) -0:69 'inF0' (in 3-component vector of float) -0:70 findLSB (temp 3-component vector of uint) -0:70 Convert float to uint (temp 3-component vector of uint) -0:70 'inF0' (in 3-component vector of float) -0:72 bitFieldReverse (temp 3-component vector of uint) -0:72 Convert float to uint (temp 3-component vector of uint) -0:72 'inF0' (in 3-component vector of float) +0:68 Construct vec3 ( temp 3-component vector of float) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 0 (const int) +0:68 Constant: +0:68 0 (const int) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 1 (const int) +0:68 Constant: +0:68 0 (const int) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 2 (const int) +0:68 Constant: +0:68 0 (const int) +0:69 findMSB ( temp 3-component vector of uint) +0:69 Convert float to uint ( temp 3-component vector of uint) +0:69 'inF0' ( in 3-component vector of float) +0:70 findLSB ( temp 3-component vector of uint) +0:70 Convert float to uint ( temp 3-component vector of uint) +0:70 'inF0' ( in 3-component vector of float) +0:72 bitFieldReverse ( temp 3-component vector of uint) +0:72 Convert float to uint ( temp 3-component vector of uint) +0:72 'inF0' ( in 3-component vector of float) 0:73 Constant: 0:73 0.000000 0:76 Branch: Return with expression @@ -250,54 +287,106 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) 0:80 Function Parameters: -0:80 'inF0' (layout(location=0 ) in 4-component vector of float) -0:80 'inF1' (layout(location=1 ) in 4-component vector of float) -0:80 'inF2' (layout(location=2 ) in 4-component vector of float) -0:80 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 'inF0' ( in 4-component vector of float) +0:80 'inF1' ( in 4-component vector of float) +0:80 'inF2' ( in 4-component vector of float) +0:80 'inI0' ( in 4-component vector of int) 0:? Sequence 0:81 Constant: 0:81 0.000000 -0:82 bitCount (temp 4-component vector of uint) -0:82 Convert float to uint (temp 4-component vector of uint) -0:82 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 cross-product (temp 3-component vector of float) -0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF1' (layout(location=1 ) in 4-component vector of float) +0:82 bitCount ( temp 4-component vector of uint) +0:82 Convert float to uint ( temp 4-component vector of uint) +0:82 'inF0' ( in 4-component vector of float) +0:83 cross-product ( temp 3-component vector of float) +0:83 Construct vec3 ( in 3-component vector of float) +0:83 'inF0' ( in 4-component vector of float) +0:83 Construct vec3 ( in 3-component vector of float) +0:83 'inF1' ( in 4-component vector of float) 0:84 Constant: 0:84 0.000000 -0:85 ERROR: Bad unary op - (temp 4-component vector of float) -0:85 Convert float to uint (temp 4-component vector of uint) -0:85 'inF0' (layout(location=0 ) in 4-component vector of float) -0:86 findMSB (temp 4-component vector of uint) -0:86 Convert float to uint (temp 4-component vector of uint) -0:86 'inF0' (layout(location=0 ) in 4-component vector of float) -0:87 findLSB (temp 4-component vector of uint) -0:87 Convert float to uint (temp 4-component vector of uint) -0:87 'inF0' (layout(location=0 ) in 4-component vector of float) -0:89 bitFieldReverse (temp 4-component vector of uint) -0:89 Convert float to uint (temp 4-component vector of uint) -0:89 'inF0' (layout(location=0 ) in 4-component vector of float) +0:85 Construct vec4 ( temp 4-component vector of float) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 0 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 1 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 2 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 3 (const int) +0:85 Constant: +0:85 0 (const int) +0:86 findMSB ( temp 4-component vector of uint) +0:86 Convert float to uint ( temp 4-component vector of uint) +0:86 'inF0' ( in 4-component vector of float) +0:87 findLSB ( temp 4-component vector of uint) +0:87 Convert float to uint ( temp 4-component vector of uint) +0:87 'inF0' ( in 4-component vector of float) +0:89 bitFieldReverse ( temp 4-component vector of uint) +0:89 Convert float to uint ( temp 4-component vector of uint) +0:89 'inF0' ( in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:92 Branch: Return -0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:92 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:80 Function Definition: PixelShaderFunction( ( temp void) +0:80 Function Parameters: +0:? Sequence +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:80 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) +0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:115 Function Parameters: -0:115 'inF0' (in 2X2 matrix of float) -0:115 'inF1' (in 2X2 matrix of float) -0:115 'inF2' (in 2X2 matrix of float) +0:115 'inF0' ( in 2X2 matrix of float) +0:115 'inF1' ( in 2X2 matrix of float) +0:115 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:117 Constant: 0:117 0.000000 @@ -331,11 +420,11 @@ ERROR: node is still EOpNull! 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:123 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:123 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:123 Function Parameters: -0:123 'inF0' (in 3X3 matrix of float) -0:123 'inF1' (in 3X3 matrix of float) -0:123 'inF2' (in 3X3 matrix of float) +0:123 'inF0' ( in 3X3 matrix of float) +0:123 'inF1' ( in 3X3 matrix of float) +0:123 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:125 Constant: 0:125 0.000000 @@ -374,11 +463,11 @@ ERROR: node is still EOpNull! 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:131 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:131 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:131 Function Parameters: -0:131 'inF0' (in 4X4 matrix of float) -0:131 'inF1' (in 4X4 matrix of float) -0:131 'inF2' (in 4X4 matrix of float) +0:131 'inF0' ( in 4X4 matrix of float) +0:131 'inF1' ( in 4X4 matrix of float) +0:131 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:133 Constant: 0:133 0.000000 @@ -425,11 +514,11 @@ ERROR: node is still EOpNull! 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) Linked fragment stage: @@ -438,37 +527,37 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (temp float) +0:2 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inI0' (in int) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inI0' ( in int) 0:? Sequence -0:5 uint64BitsToDouble (temp double) -0:5 Construct uvec2 (temp 2-component vector of uint) -0:5 Convert float to uint (temp uint) -0:5 'inF0' (in float) -0:5 Convert float to uint (temp uint) -0:5 'inF1' (in float) -0:6 Function Call: CheckAccessFullyMapped(u1; (temp bool) +0:5 uint64BitsToDouble ( temp double) +0:5 Construct uvec2 ( temp 2-component vector of uint) +0:5 Convert float to uint ( temp uint) +0:5 'inF0' ( in float) +0:5 Convert float to uint ( temp uint) +0:5 'inF1' ( in float) +0:6 Function Call: CheckAccessFullyMapped(u1; ( temp bool) 0:6 Constant: 0:6 3 (const uint) -0:7 bitCount (temp uint) -0:7 Convert float to uint (temp uint) -0:7 'inF0' (in float) -0:8 cross-product (temp 3-component vector of float) -0:8 Construct vec3 (in 3-component vector of float) -0:8 'inF0' (in float) -0:8 Construct vec3 (in 3-component vector of float) -0:8 'inF1' (in float) -0:9 Convert float to int (temp 4-component vector of int) -0:9 vector-scale (temp 4-component vector of float) +0:7 bitCount ( temp uint) +0:7 Convert float to uint ( temp uint) +0:7 'inF0' ( in float) +0:8 cross-product ( temp 3-component vector of float) +0:8 Construct vec3 ( in 3-component vector of float) +0:8 'inF0' ( in float) +0:8 Construct vec3 ( in 3-component vector of float) +0:8 'inF1' ( in float) +0:9 Convert float to int ( temp 4-component vector of int) +0:9 vector-scale ( temp 4-component vector of float) 0:9 Constant: 0:9 255.001953 -0:9 vector swizzle (temp 4-component vector of float) -0:9 Construct vec4 (in 4-component vector of float) -0:9 'inF0' (in float) +0:9 vector swizzle ( temp 4-component vector of float) +0:9 Construct vec4 ( in 4-component vector of float) +0:9 'inF0' ( in float) 0:9 Sequence 0:9 Constant: 0:9 2 (const int) @@ -480,22 +569,24 @@ ERROR: node is still EOpNull! 0:9 3 (const int) 0:10 Constant: 0:10 0.000000 -0:12 ERROR: Bad unary op - (temp float) -0:12 Convert float to uint (temp uint) -0:12 'inF0' (in float) -0:13 findMSB (temp uint) -0:13 Convert float to uint (temp uint) -0:13 'inF0' (in float) -0:14 findLSB (temp uint) -0:14 Convert float to uint (temp uint) -0:14 'inF0' (in float) -0:23 length (temp float) -0:23 Construct vec2 (in 2-component vector of float) -0:23 'inF0' (in float) -0:24 Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint) -0:24 Convert float to uint (temp uint) -0:24 'inF0' (in float) +0:12 direct index ( temp float) +0:12 unpackHalf2x16 ( temp 2-component vector of float) +0:12 Convert float to uint ( temp uint) +0:12 'inF0' ( in float) +0:12 Constant: +0:12 0 (const int) +0:13 findMSB ( temp uint) +0:13 Convert float to uint ( temp uint) +0:13 'inF0' ( in float) +0:14 findLSB ( temp uint) +0:14 Convert float to uint ( temp uint) +0:14 'inF0' ( in float) +0:23 length ( temp float) +0:23 Construct vec2 ( in 2-component vector of float) +0:23 'inF0' ( in float) +0:24 Function Call: msad4(u1;vu2;vu4; ( temp 4-component vector of uint) +0:24 Convert float to uint ( temp uint) +0:24 'inF0' ( in float) 0:24 Constant: 0:24 0 (const uint) 0:24 0 (const uint) @@ -504,114 +595,153 @@ ERROR: node is still EOpNull! 0:24 0 (const uint) 0:24 0 (const uint) 0:24 0 (const uint) -0:25 normalize (temp 2-component vector of float) -0:25 Construct vec2 (in 2-component vector of float) -0:25 'inF0' (in float) -0:26 reflect (temp 2-component vector of float) -0:26 Construct vec2 (in 2-component vector of float) -0:26 'inF0' (in float) -0:26 Construct vec2 (in 2-component vector of float) -0:26 'inF1' (in float) -0:27 refract (temp 2-component vector of float) -0:27 Construct vec2 (in 2-component vector of float) -0:27 'inF0' (in float) -0:27 Construct vec2 (in 2-component vector of float) -0:27 'inF1' (in float) -0:27 'inF2' (in float) +0:25 normalize ( temp 2-component vector of float) +0:25 Construct vec2 ( in 2-component vector of float) +0:25 'inF0' ( in float) +0:26 reflect ( temp 2-component vector of float) +0:26 Construct vec2 ( in 2-component vector of float) +0:26 'inF0' ( in float) +0:26 Construct vec2 ( in 2-component vector of float) +0:26 'inF1' ( in float) +0:27 refract ( temp 2-component vector of float) +0:27 Construct vec2 ( in 2-component vector of float) +0:27 'inF0' ( in float) +0:27 Construct vec2 ( in 2-component vector of float) +0:27 'inF1' ( in float) +0:27 'inF2' ( in float) 0:28 Constant: 0:28 0.000000 -0:29 bitFieldReverse (temp uint) -0:29 Convert float to uint (temp uint) -0:29 'inF0' (in float) +0:29 bitFieldReverse ( temp uint) +0:29 Convert float to uint ( temp uint) +0:29 'inF0' ( in float) 0:30 Constant: 0:30 0.000000 0:32 Branch: Return with expression 0:32 Constant: 0:32 0.000000 -0:36 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:36 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:36 Function Parameters: -0:36 'inF0' (in 1-component vector of float) -0:36 'inF1' (in 1-component vector of float) -0:36 'inF2' (in 1-component vector of float) -0:36 'inI0' (in 1-component vector of int) +0:36 'inF0' ( in 1-component vector of float) +0:36 'inF1' ( in 1-component vector of float) +0:36 'inF2' ( in 1-component vector of float) +0:36 'inI0' ( in 1-component vector of int) 0:? Sequence 0:39 Constant: 0:39 0.000000 0:41 Branch: Return with expression 0:41 Constant: 0:41 0.000000 -0:45 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:45 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:45 Function Parameters: -0:45 'inF0' (in 2-component vector of float) -0:45 'inF1' (in 2-component vector of float) -0:45 'inF2' (in 2-component vector of float) -0:45 'inI0' (in 2-component vector of int) +0:45 'inF0' ( in 2-component vector of float) +0:45 'inF1' ( in 2-component vector of float) +0:45 'inF2' ( in 2-component vector of float) +0:45 'inI0' ( in 2-component vector of int) 0:? Sequence 0:46 ERROR: Bad aggregation op - (temp 2-component vector of double) -0:46 Convert float to uint (temp 2-component vector of uint) -0:46 'inF0' (in 2-component vector of float) -0:46 Convert float to uint (temp 2-component vector of uint) -0:46 'inF1' (in 2-component vector of float) + ( temp 2-component vector of double) +0:46 Convert float to uint ( temp 2-component vector of uint) +0:46 'inF0' ( in 2-component vector of float) +0:46 Convert float to uint ( temp 2-component vector of uint) +0:46 'inF1' ( in 2-component vector of float) 0:47 Constant: 0:47 0.000000 -0:48 bitCount (temp 2-component vector of uint) -0:48 Convert float to uint (temp 2-component vector of uint) -0:48 'inF0' (in 2-component vector of float) +0:48 bitCount ( temp 2-component vector of uint) +0:48 Convert float to uint ( temp 2-component vector of uint) +0:48 'inF0' ( in 2-component vector of float) 0:49 Constant: 0:49 0.000000 0:50 Constant: 0:50 0.000000 0:51 Constant: 0:51 0.000000 -0:52 ERROR: Bad unary op - (temp 2-component vector of float) -0:52 Convert float to uint (temp 2-component vector of uint) -0:52 'inF0' (in 2-component vector of float) -0:53 findMSB (temp 2-component vector of uint) -0:53 Convert float to uint (temp 2-component vector of uint) -0:53 'inF0' (in 2-component vector of float) -0:54 findLSB (temp 2-component vector of uint) -0:54 Convert float to uint (temp 2-component vector of uint) -0:54 'inF0' (in 2-component vector of float) -0:56 bitFieldReverse (temp 2-component vector of uint) -0:56 Convert float to uint (temp 2-component vector of uint) -0:56 'inF0' (in 2-component vector of float) +0:52 Construct vec2 ( temp 2-component vector of float) +0:52 direct index ( temp float) +0:52 unpackHalf2x16 ( temp 2-component vector of float) +0:52 direct index ( temp uint) +0:52 Convert float to uint ( temp 2-component vector of uint) +0:52 'inF0' ( in 2-component vector of float) +0:52 Constant: +0:52 0 (const int) +0:52 Constant: +0:52 0 (const int) +0:52 direct index ( temp float) +0:52 unpackHalf2x16 ( temp 2-component vector of float) +0:52 direct index ( temp uint) +0:52 Convert float to uint ( temp 2-component vector of uint) +0:52 'inF0' ( in 2-component vector of float) +0:52 Constant: +0:52 1 (const int) +0:52 Constant: +0:52 0 (const int) +0:53 findMSB ( temp 2-component vector of uint) +0:53 Convert float to uint ( temp 2-component vector of uint) +0:53 'inF0' ( in 2-component vector of float) +0:54 findLSB ( temp 2-component vector of uint) +0:54 Convert float to uint ( temp 2-component vector of uint) +0:54 'inF0' ( in 2-component vector of float) +0:56 bitFieldReverse ( temp 2-component vector of uint) +0:56 Convert float to uint ( temp 2-component vector of uint) +0:56 'inF0' ( in 2-component vector of float) 0:57 Constant: 0:57 0.000000 0:59 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:63 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:63 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:63 Function Parameters: -0:63 'inF0' (in 3-component vector of float) -0:63 'inF1' (in 3-component vector of float) -0:63 'inF2' (in 3-component vector of float) -0:63 'inI0' (in 3-component vector of int) +0:63 'inF0' ( in 3-component vector of float) +0:63 'inF1' ( in 3-component vector of float) +0:63 'inF2' ( in 3-component vector of float) +0:63 'inI0' ( in 3-component vector of int) 0:? Sequence 0:64 Constant: 0:64 0.000000 -0:65 bitCount (temp 3-component vector of uint) -0:65 Convert float to uint (temp 3-component vector of uint) -0:65 'inF0' (in 3-component vector of float) +0:65 bitCount ( temp 3-component vector of uint) +0:65 Convert float to uint ( temp 3-component vector of uint) +0:65 'inF0' ( in 3-component vector of float) 0:66 Constant: 0:66 0.000000 0:67 Constant: 0:67 0.000000 -0:68 ERROR: Bad unary op - (temp 3-component vector of float) -0:68 Convert float to uint (temp 3-component vector of uint) -0:68 'inF0' (in 3-component vector of float) -0:69 findMSB (temp 3-component vector of uint) -0:69 Convert float to uint (temp 3-component vector of uint) -0:69 'inF0' (in 3-component vector of float) -0:70 findLSB (temp 3-component vector of uint) -0:70 Convert float to uint (temp 3-component vector of uint) -0:70 'inF0' (in 3-component vector of float) -0:72 bitFieldReverse (temp 3-component vector of uint) -0:72 Convert float to uint (temp 3-component vector of uint) -0:72 'inF0' (in 3-component vector of float) +0:68 Construct vec3 ( temp 3-component vector of float) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 0 (const int) +0:68 Constant: +0:68 0 (const int) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 1 (const int) +0:68 Constant: +0:68 0 (const int) +0:68 direct index ( temp float) +0:68 unpackHalf2x16 ( temp 2-component vector of float) +0:68 direct index ( temp uint) +0:68 Convert float to uint ( temp 3-component vector of uint) +0:68 'inF0' ( in 3-component vector of float) +0:68 Constant: +0:68 2 (const int) +0:68 Constant: +0:68 0 (const int) +0:69 findMSB ( temp 3-component vector of uint) +0:69 Convert float to uint ( temp 3-component vector of uint) +0:69 'inF0' ( in 3-component vector of float) +0:70 findLSB ( temp 3-component vector of uint) +0:70 Convert float to uint ( temp 3-component vector of uint) +0:70 'inF0' ( in 3-component vector of float) +0:72 bitFieldReverse ( temp 3-component vector of uint) +0:72 Convert float to uint ( temp 3-component vector of uint) +0:72 'inF0' ( in 3-component vector of float) 0:73 Constant: 0:73 0.000000 0:76 Branch: Return with expression @@ -619,54 +749,106 @@ ERROR: node is still EOpNull! 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:80 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:80 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) 0:80 Function Parameters: -0:80 'inF0' (layout(location=0 ) in 4-component vector of float) -0:80 'inF1' (layout(location=1 ) in 4-component vector of float) -0:80 'inF2' (layout(location=2 ) in 4-component vector of float) -0:80 'inI0' (layout(location=3 ) in 4-component vector of int) +0:80 'inF0' ( in 4-component vector of float) +0:80 'inF1' ( in 4-component vector of float) +0:80 'inF2' ( in 4-component vector of float) +0:80 'inI0' ( in 4-component vector of int) 0:? Sequence 0:81 Constant: 0:81 0.000000 -0:82 bitCount (temp 4-component vector of uint) -0:82 Convert float to uint (temp 4-component vector of uint) -0:82 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 cross-product (temp 3-component vector of float) -0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 Construct vec3 (in 3-component vector of float) -0:83 'inF1' (layout(location=1 ) in 4-component vector of float) +0:82 bitCount ( temp 4-component vector of uint) +0:82 Convert float to uint ( temp 4-component vector of uint) +0:82 'inF0' ( in 4-component vector of float) +0:83 cross-product ( temp 3-component vector of float) +0:83 Construct vec3 ( in 3-component vector of float) +0:83 'inF0' ( in 4-component vector of float) +0:83 Construct vec3 ( in 3-component vector of float) +0:83 'inF1' ( in 4-component vector of float) 0:84 Constant: 0:84 0.000000 -0:85 ERROR: Bad unary op - (temp 4-component vector of float) -0:85 Convert float to uint (temp 4-component vector of uint) -0:85 'inF0' (layout(location=0 ) in 4-component vector of float) -0:86 findMSB (temp 4-component vector of uint) -0:86 Convert float to uint (temp 4-component vector of uint) -0:86 'inF0' (layout(location=0 ) in 4-component vector of float) -0:87 findLSB (temp 4-component vector of uint) -0:87 Convert float to uint (temp 4-component vector of uint) -0:87 'inF0' (layout(location=0 ) in 4-component vector of float) -0:89 bitFieldReverse (temp 4-component vector of uint) -0:89 Convert float to uint (temp 4-component vector of uint) -0:89 'inF0' (layout(location=0 ) in 4-component vector of float) +0:85 Construct vec4 ( temp 4-component vector of float) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 0 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 1 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 2 (const int) +0:85 Constant: +0:85 0 (const int) +0:85 direct index ( temp float) +0:85 unpackHalf2x16 ( temp 2-component vector of float) +0:85 direct index ( temp uint) +0:85 Convert float to uint ( temp 4-component vector of uint) +0:85 'inF0' ( in 4-component vector of float) +0:85 Constant: +0:85 3 (const int) +0:85 Constant: +0:85 0 (const int) +0:86 findMSB ( temp 4-component vector of uint) +0:86 Convert float to uint ( temp 4-component vector of uint) +0:86 'inF0' ( in 4-component vector of float) +0:87 findLSB ( temp 4-component vector of uint) +0:87 Convert float to uint ( temp 4-component vector of uint) +0:87 'inF0' ( in 4-component vector of float) +0:89 bitFieldReverse ( temp 4-component vector of uint) +0:89 Convert float to uint ( temp 4-component vector of uint) +0:89 'inF0' ( in 4-component vector of float) 0:90 Constant: 0:90 0.000000 -0:92 Sequence -0:92 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:92 Branch: Return -0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:92 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:80 Function Definition: PixelShaderFunction( ( temp void) +0:80 Function Parameters: +0:? Sequence +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:80 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:80 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:80 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) +0:115 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:115 Function Parameters: -0:115 'inF0' (in 2X2 matrix of float) -0:115 'inF1' (in 2X2 matrix of float) -0:115 'inF2' (in 2X2 matrix of float) +0:115 'inF0' ( in 2X2 matrix of float) +0:115 'inF1' ( in 2X2 matrix of float) +0:115 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:117 Constant: 0:117 0.000000 @@ -700,11 +882,11 @@ ERROR: node is still EOpNull! 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:123 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:123 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:123 Function Parameters: -0:123 'inF0' (in 3X3 matrix of float) -0:123 'inF1' (in 3X3 matrix of float) -0:123 'inF2' (in 3X3 matrix of float) +0:123 'inF0' ( in 3X3 matrix of float) +0:123 'inF1' ( in 3X3 matrix of float) +0:123 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:125 Constant: 0:125 0.000000 @@ -743,11 +925,11 @@ ERROR: node is still EOpNull! 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:131 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:131 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:131 Function Parameters: -0:131 'inF0' (in 4X4 matrix of float) -0:131 'inF1' (in 4X4 matrix of float) -0:131 'inF2' (in 4X4 matrix of float) +0:131 'inF0' ( in 4X4 matrix of float) +0:131 'inF1' ( in 4X4 matrix of float) +0:131 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:133 Constant: 0:133 0.000000 @@ -794,10 +976,10 @@ ERROR: node is still EOpNull! 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) SPIR-V is not generated for failed compile or link diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out index b57a5a9a278..9808b1cb38f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -1,70 +1,89 @@ hlsl.intrinsics.negative.vert Shader version: 450 0:? Sequence -0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (temp float) +0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:15 Function Parameters: -0:15 'inF0' (in float) -0:15 'inF1' (in float) -0:15 'inF2' (in float) -0:15 'inI0' (in int) +0:15 'inF0' ( in float) +0:15 'inF1' ( in float) +0:15 'inF2' ( in float) +0:15 'inI0' ( in int) 0:? Sequence 0:71 Branch: Return with expression 0:71 Constant: 0:71 0.000000 -0:75 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:75 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:75 Function Parameters: -0:75 'inF0' (in 1-component vector of float) -0:75 'inF1' (in 1-component vector of float) -0:75 'inF2' (in 1-component vector of float) -0:75 'inI0' (in 1-component vector of int) +0:75 'inF0' ( in 1-component vector of float) +0:75 'inF1' ( in 1-component vector of float) +0:75 'inF2' ( in 1-component vector of float) +0:75 'inI0' ( in 1-component vector of int) 0:? Sequence 0:80 Branch: Return with expression 0:80 Constant: 0:80 0.000000 -0:84 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:84 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:84 Function Parameters: -0:84 'inF0' (in 2-component vector of float) -0:84 'inF1' (in 2-component vector of float) -0:84 'inF2' (in 2-component vector of float) -0:84 'inI0' (in 2-component vector of int) +0:84 'inF0' ( in 2-component vector of float) +0:84 'inF1' ( in 2-component vector of float) +0:84 'inF2' ( in 2-component vector of float) +0:84 'inI0' ( in 2-component vector of int) 0:? Sequence 0:127 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:131 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:131 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:131 Function Parameters: -0:131 'inF0' (in 3-component vector of float) -0:131 'inF1' (in 3-component vector of float) -0:131 'inF2' (in 3-component vector of float) -0:131 'inI0' (in 3-component vector of int) +0:131 'inF0' ( in 3-component vector of float) +0:131 'inF1' ( in 3-component vector of float) +0:131 'inF2' ( in 3-component vector of float) +0:131 'inI0' ( in 3-component vector of int) 0:? Sequence 0:172 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) 0:176 Function Parameters: -0:176 'inF0' (layout(location=0 ) in 4-component vector of float) -0:176 'inF1' (layout(location=1 ) in 4-component vector of float) -0:176 'inF2' (layout(location=2 ) in 4-component vector of float) -0:176 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 'inF0' ( in 4-component vector of float) +0:176 'inF1' ( in 4-component vector of float) +0:176 'inF2' ( in 4-component vector of float) +0:176 'inI0' ( in 4-component vector of int) 0:? Sequence -0:217 Sequence -0:217 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:217 Branch: Return -0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:217 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:176 Function Definition: VertexShaderFunction( ( temp void) +0:176 Function Parameters: +0:? Sequence +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:176 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) +0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:226 Function Parameters: -0:226 'inF0' (in 2X2 matrix of float) -0:226 'inF1' (in 2X2 matrix of float) -0:226 'inF2' (in 2X2 matrix of float) +0:226 'inF0' ( in 2X2 matrix of float) +0:226 'inF1' ( in 2X2 matrix of float) +0:226 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:230 Branch: Return with expression 0:? Constant: @@ -72,11 +91,11 @@ Shader version: 450 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:234 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:234 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:234 Function Parameters: -0:234 'inF0' (in 3X3 matrix of float) -0:234 'inF1' (in 3X3 matrix of float) -0:234 'inF2' (in 3X3 matrix of float) +0:234 'inF0' ( in 3X3 matrix of float) +0:234 'inF1' ( in 3X3 matrix of float) +0:234 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:238 Branch: Return with expression 0:? Constant: @@ -89,11 +108,11 @@ Shader version: 450 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:242 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:242 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:242 Function Parameters: -0:242 'inF0' (in 4X4 matrix of float) -0:242 'inF1' (in 4X4 matrix of float) -0:242 'inF2' (in 4X4 matrix of float) +0:242 'inF0' ( in 4X4 matrix of float) +0:242 'inF1' ( in 4X4 matrix of float) +0:242 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:246 Branch: Return with expression 0:? Constant: @@ -114,23 +133,23 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) -0:? 'gs_ua' (global uint) -0:? 'gs_ub' (global uint) -0:? 'gs_uc' (global uint) -0:? 'gs_ua2' (global 2-component vector of uint) -0:? 'gs_ub2' (global 2-component vector of uint) -0:? 'gs_uc2' (global 2-component vector of uint) -0:? 'gs_ua3' (global 3-component vector of uint) -0:? 'gs_ub3' (global 3-component vector of uint) -0:? 'gs_uc3' (global 3-component vector of uint) -0:? 'gs_ua4' (global 4-component vector of uint) -0:? 'gs_ub4' (global 4-component vector of uint) -0:? 'gs_uc4' (global 4-component vector of uint) +0:? 'gs_ua' ( global uint) +0:? 'gs_ub' ( global uint) +0:? 'gs_uc' ( global uint) +0:? 'gs_ua2' ( global 2-component vector of uint) +0:? 'gs_ub2' ( global 2-component vector of uint) +0:? 'gs_uc2' ( global 2-component vector of uint) +0:? 'gs_ua3' ( global 3-component vector of uint) +0:? 'gs_ub3' ( global 3-component vector of uint) +0:? 'gs_uc3' ( global 3-component vector of uint) +0:? 'gs_ua4' ( global 4-component vector of uint) +0:? 'gs_ub4' ( global 4-component vector of uint) +0:? 'gs_uc4' ( global 4-component vector of uint) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) Linked vertex stage: @@ -138,70 +157,89 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (temp float) +0:15 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; ( temp float) 0:15 Function Parameters: -0:15 'inF0' (in float) -0:15 'inF1' (in float) -0:15 'inF2' (in float) -0:15 'inI0' (in int) +0:15 'inF0' ( in float) +0:15 'inF1' ( in float) +0:15 'inF2' ( in float) +0:15 'inI0' ( in int) 0:? Sequence 0:71 Branch: Return with expression 0:71 Constant: 0:71 0.000000 -0:75 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (temp 1-component vector of float) +0:75 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float) 0:75 Function Parameters: -0:75 'inF0' (in 1-component vector of float) -0:75 'inF1' (in 1-component vector of float) -0:75 'inF2' (in 1-component vector of float) -0:75 'inI0' (in 1-component vector of int) +0:75 'inF0' ( in 1-component vector of float) +0:75 'inF1' ( in 1-component vector of float) +0:75 'inF2' ( in 1-component vector of float) +0:75 'inI0' ( in 1-component vector of int) 0:? Sequence 0:80 Branch: Return with expression 0:80 Constant: 0:80 0.000000 -0:84 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (temp 2-component vector of float) +0:84 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float) 0:84 Function Parameters: -0:84 'inF0' (in 2-component vector of float) -0:84 'inF1' (in 2-component vector of float) -0:84 'inF2' (in 2-component vector of float) -0:84 'inI0' (in 2-component vector of int) +0:84 'inF0' ( in 2-component vector of float) +0:84 'inF1' ( in 2-component vector of float) +0:84 'inF2' ( in 2-component vector of float) +0:84 'inI0' ( in 2-component vector of int) 0:? Sequence 0:127 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:131 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (temp 3-component vector of float) +0:131 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float) 0:131 Function Parameters: -0:131 'inF0' (in 3-component vector of float) -0:131 'inF1' (in 3-component vector of float) -0:131 'inF2' (in 3-component vector of float) -0:131 'inI0' (in 3-component vector of int) +0:131 'inF0' ( in 3-component vector of float) +0:131 'inF1' ( in 3-component vector of float) +0:131 'inF2' ( in 3-component vector of float) +0:131 'inI0' ( in 3-component vector of int) 0:? Sequence 0:172 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:176 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float) +0:176 Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) 0:176 Function Parameters: -0:176 'inF0' (layout(location=0 ) in 4-component vector of float) -0:176 'inF1' (layout(location=1 ) in 4-component vector of float) -0:176 'inF2' (layout(location=2 ) in 4-component vector of float) -0:176 'inI0' (layout(location=3 ) in 4-component vector of int) +0:176 'inF0' ( in 4-component vector of float) +0:176 'inF1' ( in 4-component vector of float) +0:176 'inF2' ( in 4-component vector of float) +0:176 'inI0' ( in 4-component vector of int) 0:? Sequence -0:217 Sequence -0:217 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 1.000000 -0:? 2.000000 -0:? 3.000000 -0:? 4.000000 -0:217 Branch: Return -0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:217 Branch: Return with expression +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:176 Function Definition: VertexShaderFunction( ( temp void) +0:176 Function Parameters: +0:? Sequence +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:176 move second child to first child ( temp 4-component vector of int) +0:? 'inI0' ( temp 4-component vector of int) +0:? 'inI0' (layout( location=3) in 4-component vector of int) +0:176 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:176 Function Call: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float) +0:? 'inF0' ( temp 4-component vector of float) +0:? 'inF1' ( temp 4-component vector of float) +0:? 'inF2' ( temp 4-component vector of float) +0:? 'inI0' ( temp 4-component vector of int) +0:226 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:226 Function Parameters: -0:226 'inF0' (in 2X2 matrix of float) -0:226 'inF1' (in 2X2 matrix of float) -0:226 'inF2' (in 2X2 matrix of float) +0:226 'inF0' ( in 2X2 matrix of float) +0:226 'inF1' ( in 2X2 matrix of float) +0:226 'inF2' ( in 2X2 matrix of float) 0:? Sequence 0:230 Branch: Return with expression 0:? Constant: @@ -209,11 +247,11 @@ Shader version: 450 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:234 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:234 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:234 Function Parameters: -0:234 'inF0' (in 3X3 matrix of float) -0:234 'inF1' (in 3X3 matrix of float) -0:234 'inF2' (in 3X3 matrix of float) +0:234 'inF0' ( in 3X3 matrix of float) +0:234 'inF1' ( in 3X3 matrix of float) +0:234 'inF2' ( in 3X3 matrix of float) 0:? Sequence 0:238 Branch: Return with expression 0:? Constant: @@ -226,11 +264,11 @@ Shader version: 450 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:242 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:242 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:242 Function Parameters: -0:242 'inF0' (in 4X4 matrix of float) -0:242 'inF1' (in 4X4 matrix of float) -0:242 'inF2' (in 4X4 matrix of float) +0:242 'inF0' ( in 4X4 matrix of float) +0:242 'inF1' ( in 4X4 matrix of float) +0:242 'inF2' ( in 4X4 matrix of float) 0:? Sequence 0:246 Branch: Return with expression 0:? Constant: @@ -251,32 +289,32 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) -0:? 'gs_ua' (global uint) -0:? 'gs_ub' (global uint) -0:? 'gs_uc' (global uint) -0:? 'gs_ua2' (global 2-component vector of uint) -0:? 'gs_ub2' (global 2-component vector of uint) -0:? 'gs_uc2' (global 2-component vector of uint) -0:? 'gs_ua3' (global 3-component vector of uint) -0:? 'gs_ub3' (global 3-component vector of uint) -0:? 'gs_uc3' (global 3-component vector of uint) -0:? 'gs_ua4' (global 4-component vector of uint) -0:? 'gs_ub4' (global 4-component vector of uint) -0:? 'gs_uc4' (global 4-component vector of uint) +0:? 'gs_ua' ( global uint) +0:? 'gs_ub' ( global uint) +0:? 'gs_uc' ( global uint) +0:? 'gs_ua2' ( global 2-component vector of uint) +0:? 'gs_ub2' ( global 2-component vector of uint) +0:? 'gs_uc2' ( global 2-component vector of uint) +0:? 'gs_ua3' ( global 3-component vector of uint) +0:? 'gs_ub3' ( global 3-component vector of uint) +0:? 'gs_uc3' ( global 3-component vector of uint) +0:? 'gs_ua4' ( global 4-component vector of uint) +0:? 'gs_ub4' ( global 4-component vector of uint) +0:? 'gs_uc4' ( global 4-component vector of uint) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'inF0' (layout( location=0) in 4-component vector of float) +0:? 'inF1' (layout( location=1) in 4-component vector of float) +0:? 'inF2' (layout( location=2) in 4-component vector of float) +0:? 'inI0' (layout( location=3) in 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 128 +// Id's are bound by 155 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "VertexShaderFunction" 85 102 103 104 107 + EntryPoint Vertex 4 "VertexShaderFunction" 100 103 106 110 113 Name 4 "VertexShaderFunction" Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" @@ -298,40 +336,53 @@ Shader version: 450 Name 40 "inF1" Name 41 "inF2" Name 42 "inI0" - Name 51 "VertexShaderFunction2x2(mf22;mf22;mf22;" - Name 48 "inF0" - Name 49 "inF1" - Name 50 "inF2" - Name 59 "VertexShaderFunction3x3(mf33;mf33;mf33;" - Name 56 "inF0" - Name 57 "inF1" - Name 58 "inF2" - Name 68 "VertexShaderFunction4x4(mf44;mf44;mf44;" - Name 65 "inF0" - Name 66 "inF1" - Name 67 "inF2" - Name 85 "@entryPointOutput" - Name 102 "inF0" + Name 54 "@VertexShaderFunction(vf4;vf4;vf4;vi4;" + Name 50 "inF0" + Name 51 "inF1" + Name 52 "inF2" + Name 53 "inI0" + Name 62 "VertexShaderFunction2x2(mf22;mf22;mf22;" + Name 59 "inF0" + Name 60 "inF1" + Name 61 "inF2" + Name 70 "VertexShaderFunction3x3(mf33;mf33;mf33;" + Name 67 "inF0" + Name 68 "inF1" + Name 69 "inF2" + Name 78 "VertexShaderFunction4x4(mf44;mf44;mf44;" + Name 75 "inF0" + Name 76 "inF1" + Name 77 "inF2" + Name 98 "inF0" + Name 100 "inF0" + Name 102 "inF1" Name 103 "inF1" - Name 104 "inF2" - Name 107 "inI0" - Name 110 "gs_ua" - Name 111 "gs_ub" - Name 112 "gs_uc" - Name 115 "gs_ua2" - Name 116 "gs_ub2" - Name 117 "gs_uc2" - Name 120 "gs_ua3" - Name 121 "gs_ub3" - Name 122 "gs_uc3" - Name 125 "gs_ua4" - Name 126 "gs_ub4" - Name 127 "gs_uc4" - Decorate 85(@entryPointOutput) Location 0 - Decorate 102(inF0) Location 0 + Name 105 "inF2" + Name 106 "inF2" + Name 108 "inI0" + Name 110 "inI0" + Name 113 "@entryPointOutput" + Name 114 "param" + Name 116 "param" + Name 118 "param" + Name 120 "param" + Name 137 "gs_ua" + Name 138 "gs_ub" + Name 139 "gs_uc" + Name 142 "gs_ua2" + Name 143 "gs_ub2" + Name 144 "gs_uc2" + Name 147 "gs_ua3" + Name 148 "gs_ub3" + Name 149 "gs_uc3" + Name 152 "gs_ua4" + Name 153 "gs_ub4" + Name 154 "gs_uc4" + Decorate 100(inF0) Location 0 Decorate 103(inF1) Location 1 - Decorate 104(inF2) Location 2 - Decorate 107(inI0) Location 3 + Decorate 106(inF2) Location 2 + Decorate 110(inI0) Location 3 + Decorate 113(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -349,62 +400,90 @@ Shader version: 450 36: TypeVector 8(int) 3 37: TypePointer Function 36(ivec3) 38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr) - 45: TypeMatrix 23(fvec2) 2 - 46: TypePointer Function 45 - 47: TypeFunction 45 46(ptr) 46(ptr) 46(ptr) - 53: TypeMatrix 34(fvec3) 3 - 54: TypePointer Function 53 - 55: TypeFunction 53 54(ptr) 54(ptr) 54(ptr) - 61: TypeVector 6(float) 4 - 62: TypeMatrix 61(fvec4) 4 - 63: TypePointer Function 62 - 64: TypeFunction 62 63(ptr) 63(ptr) 63(ptr) - 70: 6(float) Constant 0 - 75: 6(float) Constant 1065353216 - 76: 6(float) Constant 1073741824 - 77: 23(fvec2) ConstantComposite 75 76 - 80: 6(float) Constant 1077936128 - 81: 34(fvec3) ConstantComposite 75 76 80 - 84: TypePointer Output 61(fvec4) -85(@entryPointOutput): 84(ptr) Variable Output - 86: 6(float) Constant 1082130432 - 87: 61(fvec4) ConstantComposite 75 76 80 86 - 89: 23(fvec2) ConstantComposite 76 76 - 90: 45 ConstantComposite 89 89 - 93: 34(fvec3) ConstantComposite 80 80 80 - 94: 53 ConstantComposite 93 93 93 - 97: 61(fvec4) ConstantComposite 86 86 86 86 - 98: 62 ConstantComposite 97 97 97 97 - 101: TypePointer Input 61(fvec4) - 102(inF0): 101(ptr) Variable Input - 103(inF1): 101(ptr) Variable Input - 104(inF2): 101(ptr) Variable Input - 105: TypeVector 8(int) 4 - 106: TypePointer Input 105(ivec4) - 107(inI0): 106(ptr) Variable Input - 108: TypeInt 32 0 - 109: TypePointer Private 108(int) - 110(gs_ua): 109(ptr) Variable Private - 111(gs_ub): 109(ptr) Variable Private - 112(gs_uc): 109(ptr) Variable Private - 113: TypeVector 108(int) 2 - 114: TypePointer Private 113(ivec2) - 115(gs_ua2): 114(ptr) Variable Private - 116(gs_ub2): 114(ptr) Variable Private - 117(gs_uc2): 114(ptr) Variable Private - 118: TypeVector 108(int) 3 - 119: TypePointer Private 118(ivec3) - 120(gs_ua3): 119(ptr) Variable Private - 121(gs_ub3): 119(ptr) Variable Private - 122(gs_uc3): 119(ptr) Variable Private - 123: TypeVector 108(int) 4 - 124: TypePointer Private 123(ivec4) - 125(gs_ua4): 124(ptr) Variable Private - 126(gs_ub4): 124(ptr) Variable Private - 127(gs_uc4): 124(ptr) Variable Private + 45: TypeVector 6(float) 4 + 46: TypePointer Function 45(fvec4) + 47: TypeVector 8(int) 4 + 48: TypePointer Function 47(ivec4) + 49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr) + 56: TypeMatrix 23(fvec2) 2 + 57: TypePointer Function 56 + 58: TypeFunction 56 57(ptr) 57(ptr) 57(ptr) + 64: TypeMatrix 34(fvec3) 3 + 65: TypePointer Function 64 + 66: TypeFunction 64 65(ptr) 65(ptr) 65(ptr) + 72: TypeMatrix 45(fvec4) 4 + 73: TypePointer Function 72 + 74: TypeFunction 72 73(ptr) 73(ptr) 73(ptr) + 80: 6(float) Constant 0 + 85: 6(float) Constant 1065353216 + 86: 6(float) Constant 1073741824 + 87: 23(fvec2) ConstantComposite 85 86 + 90: 6(float) Constant 1077936128 + 91: 34(fvec3) ConstantComposite 85 86 90 + 94: 6(float) Constant 1082130432 + 95: 45(fvec4) ConstantComposite 85 86 90 94 + 99: TypePointer Input 45(fvec4) + 100(inF0): 99(ptr) Variable Input + 103(inF1): 99(ptr) Variable Input + 106(inF2): 99(ptr) Variable Input + 109: TypePointer Input 47(ivec4) + 110(inI0): 109(ptr) Variable Input + 112: TypePointer Output 45(fvec4) +113(@entryPointOutput): 112(ptr) Variable Output + 123: 23(fvec2) ConstantComposite 86 86 + 124: 56 ConstantComposite 123 123 + 127: 34(fvec3) ConstantComposite 90 90 90 + 128: 64 ConstantComposite 127 127 127 + 131: 45(fvec4) ConstantComposite 94 94 94 94 + 132: 72 ConstantComposite 131 131 131 131 + 135: TypeInt 32 0 + 136: TypePointer Private 135(int) + 137(gs_ua): 136(ptr) Variable Private + 138(gs_ub): 136(ptr) Variable Private + 139(gs_uc): 136(ptr) Variable Private + 140: TypeVector 135(int) 2 + 141: TypePointer Private 140(ivec2) + 142(gs_ua2): 141(ptr) Variable Private + 143(gs_ub2): 141(ptr) Variable Private + 144(gs_uc2): 141(ptr) Variable Private + 145: TypeVector 135(int) 3 + 146: TypePointer Private 145(ivec3) + 147(gs_ua3): 146(ptr) Variable Private + 148(gs_ub3): 146(ptr) Variable Private + 149(gs_uc3): 146(ptr) Variable Private + 150: TypeVector 135(int) 4 + 151: TypePointer Private 150(ivec4) + 152(gs_ua4): 151(ptr) Variable Private + 153(gs_ub4): 151(ptr) Variable Private + 154(gs_uc4): 151(ptr) Variable Private 4(VertexShaderFunction): 2 Function None 3 5: Label - Store 85(@entryPointOutput) 87 + 98(inF0): 46(ptr) Variable Function + 102(inF1): 46(ptr) Variable Function + 105(inF2): 46(ptr) Variable Function + 108(inI0): 48(ptr) Variable Function + 114(param): 46(ptr) Variable Function + 116(param): 46(ptr) Variable Function + 118(param): 46(ptr) Variable Function + 120(param): 48(ptr) Variable Function + 101: 45(fvec4) Load 100(inF0) + Store 98(inF0) 101 + 104: 45(fvec4) Load 103(inF1) + Store 102(inF1) 104 + 107: 45(fvec4) Load 106(inF2) + Store 105(inF2) 107 + 111: 47(ivec4) Load 110(inI0) + Store 108(inI0) 111 + 115: 45(fvec4) Load 98(inF0) + Store 114(param) 115 + 117: 45(fvec4) Load 102(inF1) + Store 116(param) 117 + 119: 45(fvec4) Load 105(inF2) + Store 118(param) 119 + 121: 47(ivec4) Load 108(inI0) + Store 120(param) 121 + 122: 45(fvec4) FunctionCall 54(@VertexShaderFunction(vf4;vf4;vf4;vi4;) 114(param) 116(param) 118(param) 120(param) + Store 113(@entryPointOutput) 122 Return FunctionEnd 15(VertexShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10 @@ -413,7 +492,7 @@ Shader version: 450 13(inF2): 7(ptr) FunctionParameter 14(inI0): 9(ptr) FunctionParameter 16: Label - ReturnValue 70 + ReturnValue 80 FunctionEnd 21(VertexShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10 17(inF0): 7(ptr) FunctionParameter @@ -421,7 +500,7 @@ Shader version: 450 19(inF2): 7(ptr) FunctionParameter 20(inI0): 9(ptr) FunctionParameter 22: Label - ReturnValue 70 + ReturnValue 80 FunctionEnd 32(VertexShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27 28(inF0): 24(ptr) FunctionParameter @@ -429,7 +508,7 @@ Shader version: 450 30(inF2): 24(ptr) FunctionParameter 31(inI0): 26(ptr) FunctionParameter 33: Label - ReturnValue 77 + ReturnValue 87 FunctionEnd 43(VertexShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38 39(inF0): 35(ptr) FunctionParameter @@ -437,26 +516,34 @@ Shader version: 450 41(inF2): 35(ptr) FunctionParameter 42(inI0): 37(ptr) FunctionParameter 44: Label - ReturnValue 81 + ReturnValue 91 + FunctionEnd +54(@VertexShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49 + 50(inF0): 46(ptr) FunctionParameter + 51(inF1): 46(ptr) FunctionParameter + 52(inF2): 46(ptr) FunctionParameter + 53(inI0): 48(ptr) FunctionParameter + 55: Label + ReturnValue 95 FunctionEnd -51(VertexShaderFunction2x2(mf22;mf22;mf22;): 45 Function None 47 - 48(inF0): 46(ptr) FunctionParameter - 49(inF1): 46(ptr) FunctionParameter - 50(inF2): 46(ptr) FunctionParameter - 52: Label - ReturnValue 90 +62(VertexShaderFunction2x2(mf22;mf22;mf22;): 56 Function None 58 + 59(inF0): 57(ptr) FunctionParameter + 60(inF1): 57(ptr) FunctionParameter + 61(inF2): 57(ptr) FunctionParameter + 63: Label + ReturnValue 124 FunctionEnd -59(VertexShaderFunction3x3(mf33;mf33;mf33;): 53 Function None 55 - 56(inF0): 54(ptr) FunctionParameter - 57(inF1): 54(ptr) FunctionParameter - 58(inF2): 54(ptr) FunctionParameter - 60: Label - ReturnValue 94 +70(VertexShaderFunction3x3(mf33;mf33;mf33;): 64 Function None 66 + 67(inF0): 65(ptr) FunctionParameter + 68(inF1): 65(ptr) FunctionParameter + 69(inF2): 65(ptr) FunctionParameter + 71: Label + ReturnValue 128 FunctionEnd -68(VertexShaderFunction4x4(mf44;mf44;mf44;): 62 Function None 64 - 65(inF0): 63(ptr) FunctionParameter - 66(inF1): 63(ptr) FunctionParameter - 67(inF2): 63(ptr) FunctionParameter - 69: Label - ReturnValue 98 +78(VertexShaderFunction4x4(mf44;mf44;mf44;): 72 Function None 74 + 75(inF0): 73(ptr) FunctionParameter + 76(inF1): 73(ptr) FunctionParameter + 77(inF2): 73(ptr) FunctionParameter + 79: Label + ReturnValue 132 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out index f5ba86b023d..4f47d86f317 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out @@ -2,30 +2,30 @@ hlsl.intrinsics.promote.down.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:15 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:15 Function Parameters: 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp uint) -0:16 'r00' (temp uint) -0:16 bitCount (temp uint) -0:16 Convert float to uint (temp uint) -0:16 f: direct index for structure (layout(offset=8 ) uniform float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:16 move second child to first child ( temp uint) +0:16 'r00' ( temp uint) +0:16 bitCount ( temp uint) +0:16 Convert float to uint ( temp uint) +0:16 f: direct index for structure ( uniform float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) 0:16 Constant: 0:16 2 (const uint) 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of uint) -0:17 'r01' (temp 2-component vector of uint) -0:17 bitFieldReverse (temp 2-component vector of uint) -0:17 Convert float to uint (temp 2-component vector of uint) -0:17 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:17 move second child to first child ( temp 2-component vector of uint) +0:17 'r01' ( temp 2-component vector of uint) +0:17 bitFieldReverse ( temp 2-component vector of uint) +0:17 Convert float to uint ( temp 2-component vector of uint) +0:17 f2: direct index for structure ( uniform 2-component vector of float) +0:17 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) 0:17 Constant: 0:17 6 (const uint) -0:20 move second child to first child (temp 4-component vector of float) -0:20 color: direct index for structure (temp 4-component vector of float) -0:20 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:20 Constant: 0:20 0 (const int) 0:? Constant: @@ -33,18 +33,21 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:21 color: direct index for structure (temp 4-component vector of float) -0:21 'ps_output' (temp structure{temp 4-component vector of float color}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:15 color: direct index for structure ( temp 4-component vector of float) +0:15 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:15 Constant: +0:15 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -53,30 +56,30 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:15 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:15 Function Parameters: 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp uint) -0:16 'r00' (temp uint) -0:16 bitCount (temp uint) -0:16 Convert float to uint (temp uint) -0:16 f: direct index for structure (layout(offset=8 ) uniform float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:16 move second child to first child ( temp uint) +0:16 'r00' ( temp uint) +0:16 bitCount ( temp uint) +0:16 Convert float to uint ( temp uint) +0:16 f: direct index for structure ( uniform float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) 0:16 Constant: 0:16 2 (const uint) 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of uint) -0:17 'r01' (temp 2-component vector of uint) -0:17 bitFieldReverse (temp 2-component vector of uint) -0:17 Convert float to uint (temp 2-component vector of uint) -0:17 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:17 move second child to first child ( temp 2-component vector of uint) +0:17 'r01' ( temp 2-component vector of uint) +0:17 bitFieldReverse ( temp 2-component vector of uint) +0:17 Convert float to uint ( temp 2-component vector of uint) +0:17 f2: direct index for structure ( uniform 2-component vector of float) +0:17 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) 0:17 Constant: 0:17 6 (const uint) -0:20 move second child to first child (temp 4-component vector of float) -0:20 color: direct index for structure (temp 4-component vector of float) -0:20 'ps_output' (temp structure{temp 4-component vector of float color}) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:20 Constant: 0:20 0 (const int) 0:? Constant: @@ -84,101 +87,111 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:21 color: direct index for structure (temp 4-component vector of float) -0:21 'ps_output' (temp structure{temp 4-component vector of float color}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:21 Branch: Return with expression +0:21 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:15 color: direct index for structure ( temp 4-component vector of float) +0:15 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:15 Constant: +0:15 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2}) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 + EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 14 "$Global" - MemberName 14($Global) 0 "i" - MemberName 14($Global) 1 "u" - MemberName 14($Global) 2 "f" - MemberName 14($Global) 3 "b" - MemberName 14($Global) 4 "i2" - MemberName 14($Global) 5 "u2" - MemberName 14($Global) 6 "f2" - MemberName 14($Global) 7 "b2" - Name 16 "" - Name 24 "r01" - Name 32 "PS_OUTPUT" - MemberName 32(PS_OUTPUT) 0 "color" - Name 34 "ps_output" - Name 41 "color" - MemberDecorate 14($Global) 0 Offset 0 - MemberDecorate 14($Global) 1 Offset 4 - MemberDecorate 14($Global) 2 Offset 8 - MemberDecorate 14($Global) 3 Offset 12 - MemberDecorate 14($Global) 4 Offset 16 - MemberDecorate 14($Global) 5 Offset 24 - MemberDecorate 14($Global) 6 Offset 32 - MemberDecorate 14($Global) 7 Offset 40 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 - Decorate 41(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 14 "r00" + Name 19 "$Global" + MemberName 19($Global) 0 "i" + MemberName 19($Global) 1 "u" + MemberName 19($Global) 2 "f" + MemberName 19($Global) 3 "b" + MemberName 19($Global) 4 "i2" + MemberName 19($Global) 5 "u2" + MemberName 19($Global) 6 "f2" + MemberName 19($Global) 7 "b2" + Name 21 "" + Name 29 "r01" + Name 37 "ps_output" + Name 47 "color" + MemberDecorate 19($Global) 0 Offset 0 + MemberDecorate 19($Global) 1 Offset 4 + MemberDecorate 19($Global) 2 Offset 8 + MemberDecorate 19($Global) 3 Offset 12 + MemberDecorate 19($Global) 4 Offset 16 + MemberDecorate 19($Global) 5 Offset 24 + MemberDecorate 19($Global) 6 Offset 32 + MemberDecorate 19($Global) 7 Offset 40 + Decorate 19($Global) Block + Decorate 21 DescriptorSet 0 + Decorate 47(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypePointer Function 6(int) - 9: TypeInt 32 1 - 10: TypeFloat 32 - 11: TypeVector 9(int) 2 - 12: TypeVector 6(int) 2 - 13: TypeVector 10(float) 2 - 14($Global): TypeStruct 9(int) 6(int) 10(float) 6(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) - 15: TypePointer Uniform 14($Global) - 16: 15(ptr) Variable Uniform - 17: 9(int) Constant 2 - 18: TypePointer Uniform 10(float) - 23: TypePointer Function 12(ivec2) - 25: 9(int) Constant 6 - 26: TypePointer Uniform 13(fvec2) - 31: TypeVector 10(float) 4 - 32(PS_OUTPUT): TypeStruct 31(fvec4) - 33: TypePointer Function 32(PS_OUTPUT) - 35: 9(int) Constant 0 - 36: 10(float) Constant 0 - 37: 31(fvec4) ConstantComposite 36 36 36 36 - 38: TypePointer Function 31(fvec4) - 40: TypePointer Output 31(fvec4) - 41(color): 40(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypePointer Function 12(int) + 15: TypeInt 32 1 + 16: TypeVector 15(int) 2 + 17: TypeVector 12(int) 2 + 18: TypeVector 6(float) 2 + 19($Global): TypeStruct 15(int) 12(int) 6(float) 12(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) + 20: TypePointer Uniform 19($Global) + 21: 20(ptr) Variable Uniform + 22: 15(int) Constant 2 + 23: TypePointer Uniform 6(float) + 28: TypePointer Function 17(ivec2) + 30: 15(int) Constant 6 + 31: TypePointer Uniform 18(fvec2) + 36: TypePointer Function 8(PS_OUTPUT) + 38: 15(int) Constant 0 + 39: 6(float) Constant 0 + 40: 7(fvec4) ConstantComposite 39 39 39 39 + 41: TypePointer Function 7(fvec4) + 46: TypePointer Output 7(fvec4) + 47(color): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 24(r01): 23(ptr) Variable Function - 34(ps_output): 33(ptr) Variable Function - 19: 18(ptr) AccessChain 16 17 - 20: 10(float) Load 19 - 21: 6(int) ConvertFToU 20 - 22: 6(int) BitCount 21 - Store 8(r00) 22 - 27: 26(ptr) AccessChain 16 25 - 28: 13(fvec2) Load 27 - 29: 12(ivec2) ConvertFToU 28 - 30: 12(ivec2) BitReverse 29 - Store 24(r01) 30 - 39: 38(ptr) AccessChain 34(ps_output) 35 - Store 39 37 - 42: 38(ptr) AccessChain 34(ps_output) 35 - 43: 31(fvec4) Load 42 - Store 41(color) 43 + 48:8(PS_OUTPUT) FunctionCall 10(@main() + 49: 7(fvec4) CompositeExtract 48 0 + Store 47(color) 49 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(r00): 13(ptr) Variable Function + 29(r01): 28(ptr) Variable Function + 37(ps_output): 36(ptr) Variable Function + 24: 23(ptr) AccessChain 21 22 + 25: 6(float) Load 24 + 26: 12(int) ConvertFToU 25 + 27: 12(int) BitCount 26 + Store 14(r00) 27 + 32: 31(ptr) AccessChain 21 30 + 33: 18(fvec2) Load 32 + 34: 17(ivec2) ConvertFToU 33 + 35: 17(ivec2) BitReverse 34 + Store 29(r01) 35 + 42: 41(ptr) AccessChain 37(ps_output) 38 + Store 42 40 + 43:8(PS_OUTPUT) Load 37(ps_output) + ReturnValue 43 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out index 82b9e6861bf..7fec7a20b81 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out @@ -2,439 +2,444 @@ hlsl.intrinsics.promote.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'r00' (temp float) -0:23 max (temp float) -0:23 Convert bool to float (temp float) -0:23 b: direct index for structure (layout(offset=12 ) uniform bool) -0:23 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:23 move second child to first child ( temp float) +0:23 'r00' ( temp float) +0:23 max ( temp float) +0:23 Convert bool to float ( temp float) +0:23 b: direct index for structure ( uniform bool) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:23 Constant: 0:23 3 (const uint) -0:23 f: direct index for structure (layout(offset=8 ) uniform float) -0:23 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:23 f: direct index for structure ( uniform float) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:23 Constant: 0:23 2 (const uint) 0:24 Sequence -0:24 move second child to first child (temp uint) -0:24 'r01' (temp uint) -0:24 max (temp uint) -0:24 Convert bool to uint (temp uint) -0:24 b: direct index for structure (layout(offset=12 ) uniform bool) -0:24 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:24 move second child to first child ( temp uint) +0:24 'r01' ( temp uint) +0:24 max ( temp uint) +0:24 Convert bool to uint ( temp uint) +0:24 b: direct index for structure ( uniform bool) +0:24 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:24 Constant: 0:24 3 (const uint) -0:24 u: direct index for structure (layout(offset=4 ) uniform uint) -0:24 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:24 u: direct index for structure ( uniform uint) +0:24 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:24 Constant: 0:24 1 (const uint) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r02' (temp int) -0:25 max (temp int) -0:25 Convert bool to int (temp int) -0:25 b: direct index for structure (layout(offset=12 ) uniform bool) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:25 move second child to first child ( temp int) +0:25 'r02' ( temp int) +0:25 max ( temp int) +0:25 Convert bool to int ( temp int) +0:25 b: direct index for structure ( uniform bool) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:25 Constant: 0:25 3 (const uint) -0:25 i: direct index for structure (layout(offset=0 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:25 i: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:25 Constant: 0:25 0 (const uint) 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'r03' (temp float) -0:26 max (temp float) -0:26 Convert int to float (temp float) -0:26 i: direct index for structure (layout(offset=0 ) uniform int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:26 move second child to first child ( temp float) +0:26 'r03' ( temp float) +0:26 max ( temp float) +0:26 Convert int to float ( temp float) +0:26 i: direct index for structure ( uniform int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:26 Constant: 0:26 0 (const uint) -0:26 f: direct index for structure (layout(offset=8 ) uniform float) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:26 f: direct index for structure ( uniform float) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:26 Constant: 0:26 2 (const uint) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'r04' (temp float) -0:27 max (temp float) -0:27 Convert uint to float (temp float) -0:27 u: direct index for structure (layout(offset=4 ) uniform uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:27 move second child to first child ( temp float) +0:27 'r04' ( temp float) +0:27 max ( temp float) +0:27 Convert uint to float ( temp float) +0:27 u: direct index for structure ( uniform uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:27 Constant: 0:27 1 (const uint) -0:27 f: direct index for structure (layout(offset=8 ) uniform float) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:27 f: direct index for structure ( uniform float) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:27 Constant: 0:27 2 (const uint) 0:29 Sequence -0:29 move second child to first child (temp 2-component vector of float) -0:29 'r10' (temp 2-component vector of float) -0:29 max (temp 2-component vector of float) -0:29 Convert bool to float (temp 2-component vector of float) -0:29 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:29 move second child to first child ( temp 2-component vector of float) +0:29 'r10' ( temp 2-component vector of float) +0:29 max ( temp 2-component vector of float) +0:29 Convert bool to float ( temp 2-component vector of float) +0:29 b2: direct index for structure ( uniform 2-component vector of bool) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:29 Constant: 0:29 7 (const uint) -0:29 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:29 f2: direct index for structure ( uniform 2-component vector of float) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:29 Constant: 0:29 6 (const uint) 0:30 Sequence -0:30 move second child to first child (temp 2-component vector of uint) -0:30 'r11' (temp 2-component vector of uint) -0:30 max (temp 2-component vector of uint) -0:30 Convert bool to uint (temp 2-component vector of uint) -0:30 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:30 move second child to first child ( temp 2-component vector of uint) +0:30 'r11' ( temp 2-component vector of uint) +0:30 max ( temp 2-component vector of uint) +0:30 Convert bool to uint ( temp 2-component vector of uint) +0:30 b2: direct index for structure ( uniform 2-component vector of bool) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:30 Constant: 0:30 7 (const uint) -0:30 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:30 u2: direct index for structure ( uniform 2-component vector of uint) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:30 Constant: 0:30 5 (const uint) 0:31 Sequence -0:31 move second child to first child (temp 2-component vector of int) -0:31 'r12' (temp 2-component vector of int) -0:31 max (temp 2-component vector of int) -0:31 Convert bool to int (temp 2-component vector of int) -0:31 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:31 move second child to first child ( temp 2-component vector of int) +0:31 'r12' ( temp 2-component vector of int) +0:31 max ( temp 2-component vector of int) +0:31 Convert bool to int ( temp 2-component vector of int) +0:31 b2: direct index for structure ( uniform 2-component vector of bool) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:31 Constant: 0:31 7 (const uint) -0:31 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:31 i2: direct index for structure ( uniform 2-component vector of int) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:31 Constant: 0:31 4 (const uint) 0:32 Sequence -0:32 move second child to first child (temp 2-component vector of float) -0:32 'r13' (temp 2-component vector of float) -0:32 max (temp 2-component vector of float) -0:32 Convert int to float (temp 2-component vector of float) -0:32 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:32 move second child to first child ( temp 2-component vector of float) +0:32 'r13' ( temp 2-component vector of float) +0:32 max ( temp 2-component vector of float) +0:32 Convert int to float ( temp 2-component vector of float) +0:32 i2: direct index for structure ( uniform 2-component vector of int) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:32 Constant: 0:32 4 (const uint) -0:32 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:32 f2: direct index for structure ( uniform 2-component vector of float) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:32 Constant: 0:32 6 (const uint) 0:33 Sequence -0:33 move second child to first child (temp 2-component vector of float) -0:33 'r14' (temp 2-component vector of float) -0:33 max (temp 2-component vector of float) -0:33 Convert uint to float (temp 2-component vector of float) -0:33 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:33 move second child to first child ( temp 2-component vector of float) +0:33 'r14' ( temp 2-component vector of float) +0:33 max ( temp 2-component vector of float) +0:33 Convert uint to float ( temp 2-component vector of float) +0:33 u2: direct index for structure ( uniform 2-component vector of uint) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:33 Constant: 0:33 5 (const uint) -0:33 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:33 f2: direct index for structure ( uniform 2-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:33 Constant: 0:33 6 (const uint) 0:35 Sequence -0:35 move second child to first child (temp 2-component vector of float) -0:35 'r20' (temp 2-component vector of float) -0:35 clamp (temp 2-component vector of float) -0:35 Convert int to float (temp 2-component vector of float) -0:35 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 move second child to first child ( temp 2-component vector of float) +0:35 'r20' ( temp 2-component vector of float) +0:35 clamp ( temp 2-component vector of float) +0:35 Convert int to float ( temp 2-component vector of float) +0:35 i2: direct index for structure ( uniform 2-component vector of int) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 4 (const uint) -0:35 Convert uint to float (temp 2-component vector of float) -0:35 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 Convert uint to float ( temp 2-component vector of float) +0:35 u2: direct index for structure ( uniform 2-component vector of uint) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 5 (const uint) -0:35 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 f2: direct index for structure ( uniform 2-component vector of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 6 (const uint) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of uint) -0:36 'r21' (temp 2-component vector of uint) -0:36 clamp (temp 2-component vector of uint) -0:36 Convert bool to uint (temp 2-component vector of uint) -0:36 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 move second child to first child ( temp 2-component vector of uint) +0:36 'r21' ( temp 2-component vector of uint) +0:36 clamp ( temp 2-component vector of uint) +0:36 Convert bool to uint ( temp 2-component vector of uint) +0:36 b2: direct index for structure ( uniform 2-component vector of bool) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 7 (const uint) -0:36 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 u2: direct index for structure ( uniform 2-component vector of uint) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 5 (const uint) -0:36 Convert bool to uint (temp 2-component vector of uint) -0:36 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 Convert bool to uint ( temp 2-component vector of uint) +0:36 b2: direct index for structure ( uniform 2-component vector of bool) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 7 (const uint) 0:37 Sequence -0:37 move second child to first child (temp 2-component vector of float) -0:37 'r22' (temp 2-component vector of float) -0:37 clamp (temp 2-component vector of float) -0:37 Convert bool to float (temp 2-component vector of float) -0:37 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 move second child to first child ( temp 2-component vector of float) +0:37 'r22' ( temp 2-component vector of float) +0:37 clamp ( temp 2-component vector of float) +0:37 Convert bool to float ( temp 2-component vector of float) +0:37 b2: direct index for structure ( uniform 2-component vector of bool) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 7 (const uint) -0:37 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 f2: direct index for structure ( uniform 2-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 6 (const uint) -0:37 Convert bool to float (temp 2-component vector of float) -0:37 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 Convert bool to float ( temp 2-component vector of float) +0:37 b2: direct index for structure ( uniform 2-component vector of bool) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 7 (const uint) 0:40 Sequence -0:40 move second child to first child (temp 2-component vector of float) -0:40 'r30' (temp 2-component vector of float) -0:40 max (temp 2-component vector of float) -0:40 Construct vec2 (in 2-component vector of float) -0:40 Convert bool to float (temp float) -0:40 b: direct index for structure (layout(offset=12 ) uniform bool) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 'r30' ( temp 2-component vector of float) +0:40 max ( temp 2-component vector of float) +0:40 Construct vec2 ( in 2-component vector of float) +0:40 Convert bool to float ( temp float) +0:40 b: direct index for structure ( uniform bool) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:40 Constant: 0:40 3 (const uint) -0:40 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:40 f2: direct index for structure ( uniform 2-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:40 Constant: 0:40 6 (const uint) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of uint) -0:41 'r31' (temp 2-component vector of uint) -0:41 max (temp 2-component vector of uint) -0:41 Construct uvec2 (in 2-component vector of uint) -0:41 Convert bool to uint (temp uint) -0:41 b: direct index for structure (layout(offset=12 ) uniform bool) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:41 move second child to first child ( temp 2-component vector of uint) +0:41 'r31' ( temp 2-component vector of uint) +0:41 max ( temp 2-component vector of uint) +0:41 Construct uvec2 ( in 2-component vector of uint) +0:41 Convert bool to uint ( temp uint) +0:41 b: direct index for structure ( uniform bool) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:41 Constant: 0:41 3 (const uint) -0:41 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:41 u2: direct index for structure ( uniform 2-component vector of uint) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:41 Constant: 0:41 5 (const uint) 0:42 Sequence -0:42 move second child to first child (temp 2-component vector of int) -0:42 'r32' (temp 2-component vector of int) -0:42 max (temp 2-component vector of int) -0:42 Construct ivec2 (in 2-component vector of int) -0:42 Convert bool to int (temp int) -0:42 b: direct index for structure (layout(offset=12 ) uniform bool) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:42 move second child to first child ( temp 2-component vector of int) +0:42 'r32' ( temp 2-component vector of int) +0:42 max ( temp 2-component vector of int) +0:42 Construct ivec2 ( in 2-component vector of int) +0:42 Convert bool to int ( temp int) +0:42 b: direct index for structure ( uniform bool) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:42 Constant: 0:42 3 (const uint) -0:42 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:42 i2: direct index for structure ( uniform 2-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:42 Constant: 0:42 4 (const uint) 0:43 Sequence -0:43 move second child to first child (temp 2-component vector of float) -0:43 'r33' (temp 2-component vector of float) -0:43 max (temp 2-component vector of float) -0:43 Construct vec2 (in 2-component vector of float) -0:43 Convert int to float (temp float) -0:43 i: direct index for structure (layout(offset=0 ) uniform int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'r33' ( temp 2-component vector of float) +0:43 max ( temp 2-component vector of float) +0:43 Construct vec2 ( in 2-component vector of float) +0:43 Convert int to float ( temp float) +0:43 i: direct index for structure ( uniform int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:43 Constant: 0:43 0 (const uint) -0:43 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:43 f2: direct index for structure ( uniform 2-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:43 Constant: 0:43 6 (const uint) 0:44 Sequence -0:44 move second child to first child (temp 2-component vector of float) -0:44 'r34' (temp 2-component vector of float) -0:44 max (temp 2-component vector of float) -0:44 Construct vec2 (in 2-component vector of float) -0:44 Convert uint to float (temp float) -0:44 u: direct index for structure (layout(offset=4 ) uniform uint) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:44 move second child to first child ( temp 2-component vector of float) +0:44 'r34' ( temp 2-component vector of float) +0:44 max ( temp 2-component vector of float) +0:44 Construct vec2 ( in 2-component vector of float) +0:44 Convert uint to float ( temp float) +0:44 u: direct index for structure ( uniform uint) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:44 Constant: 0:44 1 (const uint) -0:44 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:44 f2: direct index for structure ( uniform 2-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:44 Constant: 0:44 6 (const uint) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'r40' (temp 2-component vector of float) -0:46 clamp (temp 2-component vector of float) -0:46 Construct vec2 (in 2-component vector of float) -0:46 Convert int to float (temp float) -0:46 i: direct index for structure (layout(offset=0 ) uniform int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'r40' ( temp 2-component vector of float) +0:46 clamp ( temp 2-component vector of float) +0:46 Construct vec2 ( in 2-component vector of float) +0:46 Convert int to float ( temp float) +0:46 i: direct index for structure ( uniform int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 0 (const uint) -0:46 Convert uint to float (temp 2-component vector of float) -0:46 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 Convert uint to float ( temp 2-component vector of float) +0:46 u2: direct index for structure ( uniform 2-component vector of uint) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 5 (const uint) -0:46 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 f2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 6 (const uint) 0:47 Sequence -0:47 move second child to first child (temp 2-component vector of uint) -0:47 'r41' (temp 2-component vector of uint) -0:47 clamp (temp 2-component vector of uint) -0:47 Convert bool to uint (temp 2-component vector of uint) -0:47 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 move second child to first child ( temp 2-component vector of uint) +0:47 'r41' ( temp 2-component vector of uint) +0:47 clamp ( temp 2-component vector of uint) +0:47 Convert bool to uint ( temp 2-component vector of uint) +0:47 b2: direct index for structure ( uniform 2-component vector of bool) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 7 (const uint) -0:47 Construct uvec2 (in 2-component vector of uint) -0:47 u: direct index for structure (layout(offset=4 ) uniform uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 Construct uvec2 ( in 2-component vector of uint) +0:47 u: direct index for structure ( uniform uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 1 (const uint) -0:47 Convert bool to uint (temp 2-component vector of uint) -0:47 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 Convert bool to uint ( temp 2-component vector of uint) +0:47 b2: direct index for structure ( uniform 2-component vector of bool) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 7 (const uint) 0:48 Sequence -0:48 move second child to first child (temp 2-component vector of float) -0:48 'r42' (temp 2-component vector of float) -0:48 clamp (temp 2-component vector of float) -0:48 Convert bool to float (temp 2-component vector of float) -0:48 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 move second child to first child ( temp 2-component vector of float) +0:48 'r42' ( temp 2-component vector of float) +0:48 clamp ( temp 2-component vector of float) +0:48 Convert bool to float ( temp 2-component vector of float) +0:48 b2: direct index for structure ( uniform 2-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 7 (const uint) -0:48 Construct vec2 (in 2-component vector of float) -0:48 f: direct index for structure (layout(offset=8 ) uniform float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 Construct vec2 ( in 2-component vector of float) +0:48 f: direct index for structure ( uniform float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 2 (const uint) -0:48 Construct vec2 (in 2-component vector of float) -0:48 Convert bool to float (temp float) -0:48 b: direct index for structure (layout(offset=12 ) uniform bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 Construct vec2 ( in 2-component vector of float) +0:48 Convert bool to float ( temp float) +0:48 b: direct index for structure ( uniform bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 3 (const uint) 0:49 Sequence -0:49 move second child to first child (temp 2-component vector of int) -0:49 'r43' (temp 2-component vector of int) -0:49 Convert uint to int (temp 2-component vector of int) -0:49 clamp (temp 2-component vector of uint) -0:49 Construct uvec2 (in 2-component vector of uint) -0:49 Convert int to uint (temp uint) -0:49 i: direct index for structure (layout(offset=0 ) uniform int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 move second child to first child ( temp 2-component vector of int) +0:49 'r43' ( temp 2-component vector of int) +0:49 Convert uint to int ( temp 2-component vector of int) +0:49 clamp ( temp 2-component vector of uint) +0:49 Construct uvec2 ( in 2-component vector of uint) +0:49 Convert int to uint ( temp uint) +0:49 i: direct index for structure ( uniform int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 0 (const uint) -0:49 Convert int to uint (temp 2-component vector of uint) -0:49 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 Convert int to uint ( temp 2-component vector of uint) +0:49 i2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 4 (const uint) -0:49 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 u2: direct index for structure ( uniform 2-component vector of uint) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 5 (const uint) 0:51 Sequence -0:51 move second child to first child (temp float) -0:51 'r50' (temp float) -0:51 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:51 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:51 Convert uint to int (temp int) -0:51 upos: direct index for structure (layout(offset=48 ) uniform uint) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:51 move second child to first child ( temp float) +0:51 'r50' ( temp float) +0:51 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:51 Convert uint to int ( temp int) +0:51 upos: direct index for structure ( uniform uint) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:51 Constant: 0:51 8 (const uint) 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r51' (temp float) -0:52 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:52 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:52 Convert float to int (temp int) -0:52 fpos: direct index for structure (layout(offset=52 ) uniform float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:52 move second child to first child ( temp float) +0:52 'r51' ( temp float) +0:52 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:52 Convert float to int ( temp int) +0:52 fpos: direct index for structure ( uniform float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:52 Constant: 0:52 9 (const uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 textureSize (temp uint) -0:70 'g_tTex1df4' (uniform texture1D) -0:70 move second child to first child (temp int) -0:70 'WidthI' (temp int) -0:70 Convert uint to int (temp int) -0:70 'sizeQueryTemp' (temp uint) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 textureSize ( temp uint) +0:70 'g_tTex1df4' ( uniform texture1D) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child ( temp int) +0:70 'WidthI' ( temp int) +0:70 Convert uint to int ( temp int) +0:70 'sizeQueryTemp' ( temp uint) 0:71 Sequence -0:71 move second child to first child (temp uint) -0:71 'sizeQueryTemp' (temp uint) -0:71 textureSize (temp uint) -0:71 'g_tTex1df4' (uniform texture1D) +0:71 move second child to first child ( temp uint) +0:71 'sizeQueryTemp' ( temp uint) +0:71 textureSize ( temp uint) +0:71 'g_tTex1df4' ( uniform texture1D) 0:71 Constant: 0:71 6 (const uint) -0:71 move second child to first child (temp int) -0:71 'WidthI' (temp int) -0:71 Convert uint to int (temp int) -0:71 'sizeQueryTemp' (temp uint) -0:71 move second child to first child (temp uint) -0:71 'NumberOfLevelsU' (temp uint) -0:71 textureQueryLevels (temp uint) -0:71 'g_tTex1df4' (uniform texture1D) +0:71 move second child to first child ( temp int) +0:71 'WidthI' ( temp int) +0:71 Convert uint to int ( temp int) +0:71 'sizeQueryTemp' ( temp uint) +0:71 move second child to first child ( temp uint) +0:71 'NumberOfLevelsU' ( temp uint) +0:71 textureQueryLevels ( temp uint) +0:71 'g_tTex1df4' ( uniform texture1D) 0:72 Sequence -0:72 move second child to first child (temp uint) -0:72 'sizeQueryTemp' (temp uint) -0:72 textureSize (temp uint) -0:72 'g_tTex1df4' (uniform texture1D) +0:72 move second child to first child ( temp uint) +0:72 'sizeQueryTemp' ( temp uint) +0:72 textureSize ( temp uint) +0:72 'g_tTex1df4' ( uniform texture1D) 0:72 Constant: 0:72 6 (const uint) -0:72 move second child to first child (temp uint) -0:72 'WidthU' (temp uint) -0:72 'sizeQueryTemp' (temp uint) -0:72 move second child to first child (temp int) -0:72 'NumberOfLevelsI' (temp int) -0:72 Convert uint to int (temp int) -0:72 textureQueryLevels (temp uint) -0:72 'g_tTex1df4' (uniform texture1D) +0:72 move second child to first child ( temp uint) +0:72 'WidthU' ( temp uint) +0:72 'sizeQueryTemp' ( temp uint) +0:72 move second child to first child ( temp int) +0:72 'NumberOfLevelsI' ( temp int) +0:72 Convert uint to int ( temp int) +0:72 textureQueryLevels ( temp uint) +0:72 'g_tTex1df4' ( uniform texture1D) 0:73 Sequence -0:73 move second child to first child (temp uint) -0:73 'sizeQueryTemp' (temp uint) -0:73 textureSize (temp uint) -0:73 'g_tTex1df4' (uniform texture1D) +0:73 move second child to first child ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) +0:73 textureSize ( temp uint) +0:73 'g_tTex1df4' ( uniform texture1D) 0:73 Constant: 0:73 6 (const uint) -0:73 move second child to first child (temp int) -0:73 'WidthI' (temp int) -0:73 Convert uint to int (temp int) -0:73 'sizeQueryTemp' (temp uint) -0:73 move second child to first child (temp int) -0:73 'NumberOfLevelsI' (temp int) -0:73 Convert uint to int (temp int) -0:73 textureQueryLevels (temp uint) -0:73 'g_tTex1df4' (uniform texture1D) -0:77 move second child to first child (temp 4-component vector of float) -0:77 color: direct index for structure (temp 4-component vector of float) -0:77 'ps_output' (temp structure{temp 4-component vector of float color}) +0:73 move second child to first child ( temp int) +0:73 'WidthI' ( temp int) +0:73 Convert uint to int ( temp int) +0:73 'sizeQueryTemp' ( temp uint) +0:73 move second child to first child ( temp int) +0:73 'NumberOfLevelsI' ( temp int) +0:73 Convert uint to int ( temp int) +0:73 textureQueryLevels ( temp uint) +0:73 'g_tTex1df4' ( uniform texture1D) +0:77 move second child to first child ( temp 4-component vector of float) +0:77 color: direct index for structure ( temp 4-component vector of float) +0:77 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:77 Constant: 0:77 0 (const int) -0:77 Construct vec4 (temp 4-component vector of float) -0:77 'r00' (temp float) -0:78 Sequence -0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:78 color: direct index for structure (temp 4-component vector of float) -0:78 'ps_output' (temp structure{temp 4-component vector of float color}) -0:78 Constant: -0:78 0 (const int) -0:78 Branch: Return +0:77 Construct vec4 ( temp 4-component vector of float) +0:77 'r00' ( temp float) +0:78 Branch: Return with expression +0:78 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTex1df4' (uniform texture1D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -443,443 +448,448 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'r00' (temp float) -0:23 max (temp float) -0:23 Convert bool to float (temp float) -0:23 b: direct index for structure (layout(offset=12 ) uniform bool) -0:23 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:23 move second child to first child ( temp float) +0:23 'r00' ( temp float) +0:23 max ( temp float) +0:23 Convert bool to float ( temp float) +0:23 b: direct index for structure ( uniform bool) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:23 Constant: 0:23 3 (const uint) -0:23 f: direct index for structure (layout(offset=8 ) uniform float) -0:23 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:23 f: direct index for structure ( uniform float) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:23 Constant: 0:23 2 (const uint) 0:24 Sequence -0:24 move second child to first child (temp uint) -0:24 'r01' (temp uint) -0:24 max (temp uint) -0:24 Convert bool to uint (temp uint) -0:24 b: direct index for structure (layout(offset=12 ) uniform bool) -0:24 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:24 move second child to first child ( temp uint) +0:24 'r01' ( temp uint) +0:24 max ( temp uint) +0:24 Convert bool to uint ( temp uint) +0:24 b: direct index for structure ( uniform bool) +0:24 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:24 Constant: 0:24 3 (const uint) -0:24 u: direct index for structure (layout(offset=4 ) uniform uint) -0:24 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:24 u: direct index for structure ( uniform uint) +0:24 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:24 Constant: 0:24 1 (const uint) 0:25 Sequence -0:25 move second child to first child (temp int) -0:25 'r02' (temp int) -0:25 max (temp int) -0:25 Convert bool to int (temp int) -0:25 b: direct index for structure (layout(offset=12 ) uniform bool) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:25 move second child to first child ( temp int) +0:25 'r02' ( temp int) +0:25 max ( temp int) +0:25 Convert bool to int ( temp int) +0:25 b: direct index for structure ( uniform bool) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:25 Constant: 0:25 3 (const uint) -0:25 i: direct index for structure (layout(offset=0 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:25 i: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:25 Constant: 0:25 0 (const uint) 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'r03' (temp float) -0:26 max (temp float) -0:26 Convert int to float (temp float) -0:26 i: direct index for structure (layout(offset=0 ) uniform int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:26 move second child to first child ( temp float) +0:26 'r03' ( temp float) +0:26 max ( temp float) +0:26 Convert int to float ( temp float) +0:26 i: direct index for structure ( uniform int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:26 Constant: 0:26 0 (const uint) -0:26 f: direct index for structure (layout(offset=8 ) uniform float) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:26 f: direct index for structure ( uniform float) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:26 Constant: 0:26 2 (const uint) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'r04' (temp float) -0:27 max (temp float) -0:27 Convert uint to float (temp float) -0:27 u: direct index for structure (layout(offset=4 ) uniform uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:27 move second child to first child ( temp float) +0:27 'r04' ( temp float) +0:27 max ( temp float) +0:27 Convert uint to float ( temp float) +0:27 u: direct index for structure ( uniform uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:27 Constant: 0:27 1 (const uint) -0:27 f: direct index for structure (layout(offset=8 ) uniform float) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:27 f: direct index for structure ( uniform float) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:27 Constant: 0:27 2 (const uint) 0:29 Sequence -0:29 move second child to first child (temp 2-component vector of float) -0:29 'r10' (temp 2-component vector of float) -0:29 max (temp 2-component vector of float) -0:29 Convert bool to float (temp 2-component vector of float) -0:29 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:29 move second child to first child ( temp 2-component vector of float) +0:29 'r10' ( temp 2-component vector of float) +0:29 max ( temp 2-component vector of float) +0:29 Convert bool to float ( temp 2-component vector of float) +0:29 b2: direct index for structure ( uniform 2-component vector of bool) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:29 Constant: 0:29 7 (const uint) -0:29 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:29 f2: direct index for structure ( uniform 2-component vector of float) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:29 Constant: 0:29 6 (const uint) 0:30 Sequence -0:30 move second child to first child (temp 2-component vector of uint) -0:30 'r11' (temp 2-component vector of uint) -0:30 max (temp 2-component vector of uint) -0:30 Convert bool to uint (temp 2-component vector of uint) -0:30 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:30 move second child to first child ( temp 2-component vector of uint) +0:30 'r11' ( temp 2-component vector of uint) +0:30 max ( temp 2-component vector of uint) +0:30 Convert bool to uint ( temp 2-component vector of uint) +0:30 b2: direct index for structure ( uniform 2-component vector of bool) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:30 Constant: 0:30 7 (const uint) -0:30 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:30 u2: direct index for structure ( uniform 2-component vector of uint) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:30 Constant: 0:30 5 (const uint) 0:31 Sequence -0:31 move second child to first child (temp 2-component vector of int) -0:31 'r12' (temp 2-component vector of int) -0:31 max (temp 2-component vector of int) -0:31 Convert bool to int (temp 2-component vector of int) -0:31 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:31 move second child to first child ( temp 2-component vector of int) +0:31 'r12' ( temp 2-component vector of int) +0:31 max ( temp 2-component vector of int) +0:31 Convert bool to int ( temp 2-component vector of int) +0:31 b2: direct index for structure ( uniform 2-component vector of bool) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:31 Constant: 0:31 7 (const uint) -0:31 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:31 i2: direct index for structure ( uniform 2-component vector of int) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:31 Constant: 0:31 4 (const uint) 0:32 Sequence -0:32 move second child to first child (temp 2-component vector of float) -0:32 'r13' (temp 2-component vector of float) -0:32 max (temp 2-component vector of float) -0:32 Convert int to float (temp 2-component vector of float) -0:32 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:32 move second child to first child ( temp 2-component vector of float) +0:32 'r13' ( temp 2-component vector of float) +0:32 max ( temp 2-component vector of float) +0:32 Convert int to float ( temp 2-component vector of float) +0:32 i2: direct index for structure ( uniform 2-component vector of int) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:32 Constant: 0:32 4 (const uint) -0:32 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:32 f2: direct index for structure ( uniform 2-component vector of float) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:32 Constant: 0:32 6 (const uint) 0:33 Sequence -0:33 move second child to first child (temp 2-component vector of float) -0:33 'r14' (temp 2-component vector of float) -0:33 max (temp 2-component vector of float) -0:33 Convert uint to float (temp 2-component vector of float) -0:33 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:33 move second child to first child ( temp 2-component vector of float) +0:33 'r14' ( temp 2-component vector of float) +0:33 max ( temp 2-component vector of float) +0:33 Convert uint to float ( temp 2-component vector of float) +0:33 u2: direct index for structure ( uniform 2-component vector of uint) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:33 Constant: 0:33 5 (const uint) -0:33 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:33 f2: direct index for structure ( uniform 2-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:33 Constant: 0:33 6 (const uint) 0:35 Sequence -0:35 move second child to first child (temp 2-component vector of float) -0:35 'r20' (temp 2-component vector of float) -0:35 clamp (temp 2-component vector of float) -0:35 Convert int to float (temp 2-component vector of float) -0:35 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 move second child to first child ( temp 2-component vector of float) +0:35 'r20' ( temp 2-component vector of float) +0:35 clamp ( temp 2-component vector of float) +0:35 Convert int to float ( temp 2-component vector of float) +0:35 i2: direct index for structure ( uniform 2-component vector of int) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 4 (const uint) -0:35 Convert uint to float (temp 2-component vector of float) -0:35 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 Convert uint to float ( temp 2-component vector of float) +0:35 u2: direct index for structure ( uniform 2-component vector of uint) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 5 (const uint) -0:35 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:35 f2: direct index for structure ( uniform 2-component vector of float) +0:35 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:35 Constant: 0:35 6 (const uint) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of uint) -0:36 'r21' (temp 2-component vector of uint) -0:36 clamp (temp 2-component vector of uint) -0:36 Convert bool to uint (temp 2-component vector of uint) -0:36 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 move second child to first child ( temp 2-component vector of uint) +0:36 'r21' ( temp 2-component vector of uint) +0:36 clamp ( temp 2-component vector of uint) +0:36 Convert bool to uint ( temp 2-component vector of uint) +0:36 b2: direct index for structure ( uniform 2-component vector of bool) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 7 (const uint) -0:36 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 u2: direct index for structure ( uniform 2-component vector of uint) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 5 (const uint) -0:36 Convert bool to uint (temp 2-component vector of uint) -0:36 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:36 Convert bool to uint ( temp 2-component vector of uint) +0:36 b2: direct index for structure ( uniform 2-component vector of bool) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:36 Constant: 0:36 7 (const uint) 0:37 Sequence -0:37 move second child to first child (temp 2-component vector of float) -0:37 'r22' (temp 2-component vector of float) -0:37 clamp (temp 2-component vector of float) -0:37 Convert bool to float (temp 2-component vector of float) -0:37 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 move second child to first child ( temp 2-component vector of float) +0:37 'r22' ( temp 2-component vector of float) +0:37 clamp ( temp 2-component vector of float) +0:37 Convert bool to float ( temp 2-component vector of float) +0:37 b2: direct index for structure ( uniform 2-component vector of bool) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 7 (const uint) -0:37 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 f2: direct index for structure ( uniform 2-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 6 (const uint) -0:37 Convert bool to float (temp 2-component vector of float) -0:37 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 Convert bool to float ( temp 2-component vector of float) +0:37 b2: direct index for structure ( uniform 2-component vector of bool) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 7 (const uint) 0:40 Sequence -0:40 move second child to first child (temp 2-component vector of float) -0:40 'r30' (temp 2-component vector of float) -0:40 max (temp 2-component vector of float) -0:40 Construct vec2 (in 2-component vector of float) -0:40 Convert bool to float (temp float) -0:40 b: direct index for structure (layout(offset=12 ) uniform bool) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 'r30' ( temp 2-component vector of float) +0:40 max ( temp 2-component vector of float) +0:40 Construct vec2 ( in 2-component vector of float) +0:40 Convert bool to float ( temp float) +0:40 b: direct index for structure ( uniform bool) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:40 Constant: 0:40 3 (const uint) -0:40 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:40 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:40 f2: direct index for structure ( uniform 2-component vector of float) +0:40 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:40 Constant: 0:40 6 (const uint) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of uint) -0:41 'r31' (temp 2-component vector of uint) -0:41 max (temp 2-component vector of uint) -0:41 Construct uvec2 (in 2-component vector of uint) -0:41 Convert bool to uint (temp uint) -0:41 b: direct index for structure (layout(offset=12 ) uniform bool) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:41 move second child to first child ( temp 2-component vector of uint) +0:41 'r31' ( temp 2-component vector of uint) +0:41 max ( temp 2-component vector of uint) +0:41 Construct uvec2 ( in 2-component vector of uint) +0:41 Convert bool to uint ( temp uint) +0:41 b: direct index for structure ( uniform bool) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:41 Constant: 0:41 3 (const uint) -0:41 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:41 u2: direct index for structure ( uniform 2-component vector of uint) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:41 Constant: 0:41 5 (const uint) 0:42 Sequence -0:42 move second child to first child (temp 2-component vector of int) -0:42 'r32' (temp 2-component vector of int) -0:42 max (temp 2-component vector of int) -0:42 Construct ivec2 (in 2-component vector of int) -0:42 Convert bool to int (temp int) -0:42 b: direct index for structure (layout(offset=12 ) uniform bool) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:42 move second child to first child ( temp 2-component vector of int) +0:42 'r32' ( temp 2-component vector of int) +0:42 max ( temp 2-component vector of int) +0:42 Construct ivec2 ( in 2-component vector of int) +0:42 Convert bool to int ( temp int) +0:42 b: direct index for structure ( uniform bool) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:42 Constant: 0:42 3 (const uint) -0:42 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:42 i2: direct index for structure ( uniform 2-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:42 Constant: 0:42 4 (const uint) 0:43 Sequence -0:43 move second child to first child (temp 2-component vector of float) -0:43 'r33' (temp 2-component vector of float) -0:43 max (temp 2-component vector of float) -0:43 Construct vec2 (in 2-component vector of float) -0:43 Convert int to float (temp float) -0:43 i: direct index for structure (layout(offset=0 ) uniform int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'r33' ( temp 2-component vector of float) +0:43 max ( temp 2-component vector of float) +0:43 Construct vec2 ( in 2-component vector of float) +0:43 Convert int to float ( temp float) +0:43 i: direct index for structure ( uniform int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:43 Constant: 0:43 0 (const uint) -0:43 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:43 f2: direct index for structure ( uniform 2-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:43 Constant: 0:43 6 (const uint) 0:44 Sequence -0:44 move second child to first child (temp 2-component vector of float) -0:44 'r34' (temp 2-component vector of float) -0:44 max (temp 2-component vector of float) -0:44 Construct vec2 (in 2-component vector of float) -0:44 Convert uint to float (temp float) -0:44 u: direct index for structure (layout(offset=4 ) uniform uint) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:44 move second child to first child ( temp 2-component vector of float) +0:44 'r34' ( temp 2-component vector of float) +0:44 max ( temp 2-component vector of float) +0:44 Construct vec2 ( in 2-component vector of float) +0:44 Convert uint to float ( temp float) +0:44 u: direct index for structure ( uniform uint) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:44 Constant: 0:44 1 (const uint) -0:44 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:44 f2: direct index for structure ( uniform 2-component vector of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:44 Constant: 0:44 6 (const uint) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'r40' (temp 2-component vector of float) -0:46 clamp (temp 2-component vector of float) -0:46 Construct vec2 (in 2-component vector of float) -0:46 Convert int to float (temp float) -0:46 i: direct index for structure (layout(offset=0 ) uniform int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'r40' ( temp 2-component vector of float) +0:46 clamp ( temp 2-component vector of float) +0:46 Construct vec2 ( in 2-component vector of float) +0:46 Convert int to float ( temp float) +0:46 i: direct index for structure ( uniform int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 0 (const uint) -0:46 Convert uint to float (temp 2-component vector of float) -0:46 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 Convert uint to float ( temp 2-component vector of float) +0:46 u2: direct index for structure ( uniform 2-component vector of uint) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 5 (const uint) -0:46 f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:46 f2: direct index for structure ( uniform 2-component vector of float) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:46 Constant: 0:46 6 (const uint) 0:47 Sequence -0:47 move second child to first child (temp 2-component vector of uint) -0:47 'r41' (temp 2-component vector of uint) -0:47 clamp (temp 2-component vector of uint) -0:47 Convert bool to uint (temp 2-component vector of uint) -0:47 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 move second child to first child ( temp 2-component vector of uint) +0:47 'r41' ( temp 2-component vector of uint) +0:47 clamp ( temp 2-component vector of uint) +0:47 Convert bool to uint ( temp 2-component vector of uint) +0:47 b2: direct index for structure ( uniform 2-component vector of bool) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 7 (const uint) -0:47 Construct uvec2 (in 2-component vector of uint) -0:47 u: direct index for structure (layout(offset=4 ) uniform uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 Construct uvec2 ( in 2-component vector of uint) +0:47 u: direct index for structure ( uniform uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 1 (const uint) -0:47 Convert bool to uint (temp 2-component vector of uint) -0:47 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:47 Convert bool to uint ( temp 2-component vector of uint) +0:47 b2: direct index for structure ( uniform 2-component vector of bool) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:47 Constant: 0:47 7 (const uint) 0:48 Sequence -0:48 move second child to first child (temp 2-component vector of float) -0:48 'r42' (temp 2-component vector of float) -0:48 clamp (temp 2-component vector of float) -0:48 Convert bool to float (temp 2-component vector of float) -0:48 b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 move second child to first child ( temp 2-component vector of float) +0:48 'r42' ( temp 2-component vector of float) +0:48 clamp ( temp 2-component vector of float) +0:48 Convert bool to float ( temp 2-component vector of float) +0:48 b2: direct index for structure ( uniform 2-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 7 (const uint) -0:48 Construct vec2 (in 2-component vector of float) -0:48 f: direct index for structure (layout(offset=8 ) uniform float) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 Construct vec2 ( in 2-component vector of float) +0:48 f: direct index for structure ( uniform float) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 2 (const uint) -0:48 Construct vec2 (in 2-component vector of float) -0:48 Convert bool to float (temp float) -0:48 b: direct index for structure (layout(offset=12 ) uniform bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:48 Construct vec2 ( in 2-component vector of float) +0:48 Convert bool to float ( temp float) +0:48 b: direct index for structure ( uniform bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:48 Constant: 0:48 3 (const uint) 0:49 Sequence -0:49 move second child to first child (temp 2-component vector of int) -0:49 'r43' (temp 2-component vector of int) -0:49 Convert uint to int (temp 2-component vector of int) -0:49 clamp (temp 2-component vector of uint) -0:49 Construct uvec2 (in 2-component vector of uint) -0:49 Convert int to uint (temp uint) -0:49 i: direct index for structure (layout(offset=0 ) uniform int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 move second child to first child ( temp 2-component vector of int) +0:49 'r43' ( temp 2-component vector of int) +0:49 Convert uint to int ( temp 2-component vector of int) +0:49 clamp ( temp 2-component vector of uint) +0:49 Construct uvec2 ( in 2-component vector of uint) +0:49 Convert int to uint ( temp uint) +0:49 i: direct index for structure ( uniform int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 0 (const uint) -0:49 Convert int to uint (temp 2-component vector of uint) -0:49 i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 Convert int to uint ( temp 2-component vector of uint) +0:49 i2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 4 (const uint) -0:49 u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:49 u2: direct index for structure ( uniform 2-component vector of uint) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:49 Constant: 0:49 5 (const uint) 0:51 Sequence -0:51 move second child to first child (temp float) -0:51 'r50' (temp float) -0:51 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:51 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:51 Convert uint to int (temp int) -0:51 upos: direct index for structure (layout(offset=48 ) uniform uint) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:51 move second child to first child ( temp float) +0:51 'r50' ( temp float) +0:51 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:51 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:51 Convert uint to int ( temp int) +0:51 upos: direct index for structure ( uniform uint) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:51 Constant: 0:51 8 (const uint) 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r51' (temp float) -0:52 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:52 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:52 Convert float to int (temp int) -0:52 fpos: direct index for structure (layout(offset=52 ) uniform float) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:52 move second child to first child ( temp float) +0:52 'r51' ( temp float) +0:52 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:52 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:52 Convert float to int ( temp int) +0:52 fpos: direct index for structure ( uniform float) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:52 Constant: 0:52 9 (const uint) 0:70 Sequence -0:70 move second child to first child (temp uint) -0:70 'sizeQueryTemp' (temp uint) -0:70 textureSize (temp uint) -0:70 'g_tTex1df4' (uniform texture1D) -0:70 move second child to first child (temp int) -0:70 'WidthI' (temp int) -0:70 Convert uint to int (temp int) -0:70 'sizeQueryTemp' (temp uint) +0:70 move second child to first child ( temp uint) +0:70 'sizeQueryTemp' ( temp uint) +0:70 textureSize ( temp uint) +0:70 'g_tTex1df4' ( uniform texture1D) +0:70 Constant: +0:70 0 (const int) +0:70 move second child to first child ( temp int) +0:70 'WidthI' ( temp int) +0:70 Convert uint to int ( temp int) +0:70 'sizeQueryTemp' ( temp uint) 0:71 Sequence -0:71 move second child to first child (temp uint) -0:71 'sizeQueryTemp' (temp uint) -0:71 textureSize (temp uint) -0:71 'g_tTex1df4' (uniform texture1D) +0:71 move second child to first child ( temp uint) +0:71 'sizeQueryTemp' ( temp uint) +0:71 textureSize ( temp uint) +0:71 'g_tTex1df4' ( uniform texture1D) 0:71 Constant: 0:71 6 (const uint) -0:71 move second child to first child (temp int) -0:71 'WidthI' (temp int) -0:71 Convert uint to int (temp int) -0:71 'sizeQueryTemp' (temp uint) -0:71 move second child to first child (temp uint) -0:71 'NumberOfLevelsU' (temp uint) -0:71 textureQueryLevels (temp uint) -0:71 'g_tTex1df4' (uniform texture1D) +0:71 move second child to first child ( temp int) +0:71 'WidthI' ( temp int) +0:71 Convert uint to int ( temp int) +0:71 'sizeQueryTemp' ( temp uint) +0:71 move second child to first child ( temp uint) +0:71 'NumberOfLevelsU' ( temp uint) +0:71 textureQueryLevels ( temp uint) +0:71 'g_tTex1df4' ( uniform texture1D) 0:72 Sequence -0:72 move second child to first child (temp uint) -0:72 'sizeQueryTemp' (temp uint) -0:72 textureSize (temp uint) -0:72 'g_tTex1df4' (uniform texture1D) +0:72 move second child to first child ( temp uint) +0:72 'sizeQueryTemp' ( temp uint) +0:72 textureSize ( temp uint) +0:72 'g_tTex1df4' ( uniform texture1D) 0:72 Constant: 0:72 6 (const uint) -0:72 move second child to first child (temp uint) -0:72 'WidthU' (temp uint) -0:72 'sizeQueryTemp' (temp uint) -0:72 move second child to first child (temp int) -0:72 'NumberOfLevelsI' (temp int) -0:72 Convert uint to int (temp int) -0:72 textureQueryLevels (temp uint) -0:72 'g_tTex1df4' (uniform texture1D) +0:72 move second child to first child ( temp uint) +0:72 'WidthU' ( temp uint) +0:72 'sizeQueryTemp' ( temp uint) +0:72 move second child to first child ( temp int) +0:72 'NumberOfLevelsI' ( temp int) +0:72 Convert uint to int ( temp int) +0:72 textureQueryLevels ( temp uint) +0:72 'g_tTex1df4' ( uniform texture1D) 0:73 Sequence -0:73 move second child to first child (temp uint) -0:73 'sizeQueryTemp' (temp uint) -0:73 textureSize (temp uint) -0:73 'g_tTex1df4' (uniform texture1D) +0:73 move second child to first child ( temp uint) +0:73 'sizeQueryTemp' ( temp uint) +0:73 textureSize ( temp uint) +0:73 'g_tTex1df4' ( uniform texture1D) 0:73 Constant: 0:73 6 (const uint) -0:73 move second child to first child (temp int) -0:73 'WidthI' (temp int) -0:73 Convert uint to int (temp int) -0:73 'sizeQueryTemp' (temp uint) -0:73 move second child to first child (temp int) -0:73 'NumberOfLevelsI' (temp int) -0:73 Convert uint to int (temp int) -0:73 textureQueryLevels (temp uint) -0:73 'g_tTex1df4' (uniform texture1D) -0:77 move second child to first child (temp 4-component vector of float) -0:77 color: direct index for structure (temp 4-component vector of float) -0:77 'ps_output' (temp structure{temp 4-component vector of float color}) +0:73 move second child to first child ( temp int) +0:73 'WidthI' ( temp int) +0:73 Convert uint to int ( temp int) +0:73 'sizeQueryTemp' ( temp uint) +0:73 move second child to first child ( temp int) +0:73 'NumberOfLevelsI' ( temp int) +0:73 Convert uint to int ( temp int) +0:73 textureQueryLevels ( temp uint) +0:73 'g_tTex1df4' ( uniform texture1D) +0:77 move second child to first child ( temp 4-component vector of float) +0:77 color: direct index for structure ( temp 4-component vector of float) +0:77 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:77 Constant: 0:77 0 (const int) -0:77 Construct vec4 (temp 4-component vector of float) -0:77 'r00' (temp float) -0:78 Sequence -0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:78 color: direct index for structure (temp 4-component vector of float) -0:78 'ps_output' (temp structure{temp 4-component vector of float color}) -0:78 Constant: -0:78 0 (const int) -0:78 Branch: Return +0:77 Construct vec4 ( temp 4-component vector of float) +0:77 'r00' ( temp float) +0:78 Branch: Return with expression +0:78 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTex1df4' (uniform texture1D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 320 +// Id's are bound by 322 Capability Shader Capability Sampled1D @@ -887,427 +897,432 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 316 + EntryPoint Fragment 4 "main" 319 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 14 "$Global" - MemberName 14($Global) 0 "i" - MemberName 14($Global) 1 "u" - MemberName 14($Global) 2 "f" - MemberName 14($Global) 3 "b" - MemberName 14($Global) 4 "i2" - MemberName 14($Global) 5 "u2" - MemberName 14($Global) 6 "f2" - MemberName 14($Global) 7 "b2" - MemberName 14($Global) 8 "upos" - MemberName 14($Global) 9 "fpos" - Name 16 "" - Name 33 "r01" - Name 44 "r02" - Name 54 "r03" - Name 61 "r04" - Name 69 "r10" - Name 86 "r11" - Name 97 "r12" - Name 109 "r13" - Name 116 "r14" - Name 123 "r20" - Name 133 "r21" - Name 145 "r22" - Name 157 "r30" - Name 166 "r31" - Name 175 "r32" - Name 184 "r33" - Name 192 "r34" - Name 200 "r40" - Name 211 "r41" - Name 224 "r42" - Name 238 "r43" - Name 250 "r50" - Name 254 "g_tTexbfs" - Name 264 "r51" - Name 273 "sizeQueryTemp" - Name 276 "g_tTex1df4" - Name 279 "WidthI" - Name 282 "sizeQueryTemp" - Name 288 "NumberOfLevelsU" - Name 291 "sizeQueryTemp" - Name 294 "WidthU" - Name 296 "NumberOfLevelsI" - Name 300 "sizeQueryTemp" - Name 308 "PS_OUTPUT" - MemberName 308(PS_OUTPUT) 0 "color" + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 13 "r00" + Name 19 "$Global" + MemberName 19($Global) 0 "i" + MemberName 19($Global) 1 "u" + MemberName 19($Global) 2 "f" + MemberName 19($Global) 3 "b" + MemberName 19($Global) 4 "i2" + MemberName 19($Global) 5 "u2" + MemberName 19($Global) 6 "f2" + MemberName 19($Global) 7 "b2" + MemberName 19($Global) 8 "upos" + MemberName 19($Global) 9 "fpos" + Name 21 "" + Name 38 "r01" + Name 49 "r02" + Name 59 "r03" + Name 66 "r04" + Name 74 "r10" + Name 91 "r11" + Name 102 "r12" + Name 114 "r13" + Name 121 "r14" + Name 128 "r20" + Name 138 "r21" + Name 150 "r22" + Name 162 "r30" + Name 171 "r31" + Name 180 "r32" + Name 189 "r33" + Name 197 "r34" + Name 205 "r40" + Name 216 "r41" + Name 229 "r42" + Name 243 "r43" + Name 255 "r50" + Name 258 "g_tTexbfs" + Name 266 "r51" + Name 274 "sizeQueryTemp" + Name 277 "g_tTex1df4" + Name 280 "WidthI" + Name 283 "sizeQueryTemp" + Name 289 "NumberOfLevelsU" + Name 292 "sizeQueryTemp" + Name 295 "WidthU" + Name 297 "NumberOfLevelsI" + Name 301 "sizeQueryTemp" Name 310 "ps_output" - Name 316 "color" - MemberDecorate 14($Global) 0 Offset 0 - MemberDecorate 14($Global) 1 Offset 4 - MemberDecorate 14($Global) 2 Offset 8 - MemberDecorate 14($Global) 3 Offset 12 - MemberDecorate 14($Global) 4 Offset 16 - MemberDecorate 14($Global) 5 Offset 24 - MemberDecorate 14($Global) 6 Offset 32 - MemberDecorate 14($Global) 7 Offset 40 - MemberDecorate 14($Global) 8 Offset 48 - MemberDecorate 14($Global) 9 Offset 52 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 - Decorate 254(g_tTexbfs) DescriptorSet 0 - Decorate 276(g_tTex1df4) DescriptorSet 0 - Decorate 316(color) Location 0 + Name 319 "color" + MemberDecorate 19($Global) 0 Offset 0 + MemberDecorate 19($Global) 1 Offset 4 + MemberDecorate 19($Global) 2 Offset 8 + MemberDecorate 19($Global) 3 Offset 12 + MemberDecorate 19($Global) 4 Offset 16 + MemberDecorate 19($Global) 5 Offset 24 + MemberDecorate 19($Global) 6 Offset 32 + MemberDecorate 19($Global) 7 Offset 40 + MemberDecorate 19($Global) 8 Offset 48 + MemberDecorate 19($Global) 9 Offset 52 + Decorate 19($Global) Block + Decorate 21 DescriptorSet 0 + Decorate 258(g_tTexbfs) DescriptorSet 0 + Decorate 258(g_tTexbfs) NonWritable + Decorate 277(g_tTex1df4) DescriptorSet 0 + Decorate 319(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeInt 32 1 - 10: TypeInt 32 0 - 11: TypeVector 9(int) 2 - 12: TypeVector 10(int) 2 - 13: TypeVector 6(float) 2 - 14($Global): TypeStruct 9(int) 10(int) 6(float) 10(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 10(int) 6(float) - 15: TypePointer Uniform 14($Global) - 16: 15(ptr) Variable Uniform - 17: 9(int) Constant 3 - 18: TypePointer Uniform 10(int) - 21: TypeBool - 22: 10(int) Constant 0 - 24: 6(float) Constant 0 - 25: 6(float) Constant 1065353216 - 27: 9(int) Constant 2 - 28: TypePointer Uniform 6(float) - 32: TypePointer Function 10(int) - 37: 10(int) Constant 1 - 39: 9(int) Constant 1 - 43: TypePointer Function 9(int) - 48: 9(int) Constant 0 - 50: TypePointer Uniform 9(int) - 68: TypePointer Function 13(fvec2) - 70: 9(int) Constant 7 - 71: TypePointer Uniform 12(ivec2) - 74: TypeVector 21(bool) 2 - 75: 12(ivec2) ConstantComposite 22 22 - 77: 13(fvec2) ConstantComposite 24 24 - 78: 13(fvec2) ConstantComposite 25 25 - 80: 9(int) Constant 6 - 81: TypePointer Uniform 13(fvec2) - 85: TypePointer Function 12(ivec2) - 90: 12(ivec2) ConstantComposite 37 37 - 92: 9(int) Constant 5 - 96: TypePointer Function 11(ivec2) - 101: 11(ivec2) ConstantComposite 48 48 - 102: 11(ivec2) ConstantComposite 39 39 - 104: 9(int) Constant 4 - 105: TypePointer Uniform 11(ivec2) - 251: TypeImage 6(float) Buffer sampled format:R32f - 252: TypeSampledImage 251 - 253: TypePointer UniformConstant 252 - 254(g_tTexbfs): 253(ptr) Variable UniformConstant - 256: 9(int) Constant 8 - 261: TypeVector 6(float) 4 - 266: 9(int) Constant 9 - 274: TypeImage 6(float) 1D sampled format:Unknown - 275: TypePointer UniformConstant 274 - 276(g_tTex1df4): 275(ptr) Variable UniformConstant - 284: 10(int) Constant 6 - 308(PS_OUTPUT): TypeStruct 261(fvec4) - 309: TypePointer Function 308(PS_OUTPUT) - 313: TypePointer Function 261(fvec4) - 315: TypePointer Output 261(fvec4) - 316(color): 315(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeInt 32 1 + 15: TypeInt 32 0 + 16: TypeVector 14(int) 2 + 17: TypeVector 15(int) 2 + 18: TypeVector 6(float) 2 + 19($Global): TypeStruct 14(int) 15(int) 6(float) 15(int) 16(ivec2) 17(ivec2) 18(fvec2) 17(ivec2) 15(int) 6(float) + 20: TypePointer Uniform 19($Global) + 21: 20(ptr) Variable Uniform + 22: 14(int) Constant 3 + 23: TypePointer Uniform 15(int) + 26: TypeBool + 27: 15(int) Constant 0 + 29: 6(float) Constant 0 + 30: 6(float) Constant 1065353216 + 32: 14(int) Constant 2 + 33: TypePointer Uniform 6(float) + 37: TypePointer Function 15(int) + 42: 15(int) Constant 1 + 44: 14(int) Constant 1 + 48: TypePointer Function 14(int) + 53: 14(int) Constant 0 + 55: TypePointer Uniform 14(int) + 73: TypePointer Function 18(fvec2) + 75: 14(int) Constant 7 + 76: TypePointer Uniform 17(ivec2) + 79: TypeVector 26(bool) 2 + 80: 17(ivec2) ConstantComposite 27 27 + 82: 18(fvec2) ConstantComposite 29 29 + 83: 18(fvec2) ConstantComposite 30 30 + 85: 14(int) Constant 6 + 86: TypePointer Uniform 18(fvec2) + 90: TypePointer Function 17(ivec2) + 95: 17(ivec2) ConstantComposite 42 42 + 97: 14(int) Constant 5 + 101: TypePointer Function 16(ivec2) + 106: 16(ivec2) ConstantComposite 53 53 + 107: 16(ivec2) ConstantComposite 44 44 + 109: 14(int) Constant 4 + 110: TypePointer Uniform 16(ivec2) + 256: TypeImage 6(float) Buffer nonsampled format:R32f + 257: TypePointer UniformConstant 256 + 258(g_tTexbfs): 257(ptr) Variable UniformConstant + 260: 14(int) Constant 8 + 268: 14(int) Constant 9 + 275: TypeImage 6(float) 1D sampled format:Unknown + 276: TypePointer UniformConstant 275 + 277(g_tTex1df4): 276(ptr) Variable UniformConstant + 285: 15(int) Constant 6 + 309: TypePointer Function 8(PS_OUTPUT) + 313: TypePointer Function 7(fvec4) + 318: TypePointer Output 7(fvec4) + 319(color): 318(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 33(r01): 32(ptr) Variable Function - 44(r02): 43(ptr) Variable Function - 54(r03): 7(ptr) Variable Function - 61(r04): 7(ptr) Variable Function - 69(r10): 68(ptr) Variable Function - 86(r11): 85(ptr) Variable Function - 97(r12): 96(ptr) Variable Function - 109(r13): 68(ptr) Variable Function - 116(r14): 68(ptr) Variable Function - 123(r20): 68(ptr) Variable Function - 133(r21): 85(ptr) Variable Function - 145(r22): 68(ptr) Variable Function - 157(r30): 68(ptr) Variable Function - 166(r31): 85(ptr) Variable Function - 175(r32): 96(ptr) Variable Function - 184(r33): 68(ptr) Variable Function - 192(r34): 68(ptr) Variable Function - 200(r40): 68(ptr) Variable Function - 211(r41): 85(ptr) Variable Function - 224(r42): 68(ptr) Variable Function - 238(r43): 96(ptr) Variable Function - 250(r50): 7(ptr) Variable Function - 264(r51): 7(ptr) Variable Function -273(sizeQueryTemp): 32(ptr) Variable Function - 279(WidthI): 43(ptr) Variable Function -282(sizeQueryTemp): 32(ptr) Variable Function -288(NumberOfLevelsU): 32(ptr) Variable Function -291(sizeQueryTemp): 32(ptr) Variable Function - 294(WidthU): 32(ptr) Variable Function -296(NumberOfLevelsI): 43(ptr) Variable Function -300(sizeQueryTemp): 32(ptr) Variable Function + 320:8(PS_OUTPUT) FunctionCall 10(@main() + 321: 7(fvec4) CompositeExtract 320 0 + Store 319(color) 321 + Return + FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 38(r01): 37(ptr) Variable Function + 49(r02): 48(ptr) Variable Function + 59(r03): 12(ptr) Variable Function + 66(r04): 12(ptr) Variable Function + 74(r10): 73(ptr) Variable Function + 91(r11): 90(ptr) Variable Function + 102(r12): 101(ptr) Variable Function + 114(r13): 73(ptr) Variable Function + 121(r14): 73(ptr) Variable Function + 128(r20): 73(ptr) Variable Function + 138(r21): 90(ptr) Variable Function + 150(r22): 73(ptr) Variable Function + 162(r30): 73(ptr) Variable Function + 171(r31): 90(ptr) Variable Function + 180(r32): 101(ptr) Variable Function + 189(r33): 73(ptr) Variable Function + 197(r34): 73(ptr) Variable Function + 205(r40): 73(ptr) Variable Function + 216(r41): 90(ptr) Variable Function + 229(r42): 73(ptr) Variable Function + 243(r43): 101(ptr) Variable Function + 255(r50): 12(ptr) Variable Function + 266(r51): 12(ptr) Variable Function +274(sizeQueryTemp): 37(ptr) Variable Function + 280(WidthI): 48(ptr) Variable Function +283(sizeQueryTemp): 37(ptr) Variable Function +289(NumberOfLevelsU): 37(ptr) Variable Function +292(sizeQueryTemp): 37(ptr) Variable Function + 295(WidthU): 37(ptr) Variable Function +297(NumberOfLevelsI): 48(ptr) Variable Function +301(sizeQueryTemp): 37(ptr) Variable Function 310(ps_output): 309(ptr) Variable Function - 19: 18(ptr) AccessChain 16 17 - 20: 10(int) Load 19 - 23: 21(bool) INotEqual 20 22 - 26: 6(float) Select 23 25 24 - 29: 28(ptr) AccessChain 16 27 - 30: 6(float) Load 29 - 31: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 26 30 - Store 8(r00) 31 - 34: 18(ptr) AccessChain 16 17 - 35: 10(int) Load 34 - 36: 21(bool) INotEqual 35 22 - 38: 10(int) Select 36 37 22 - 40: 18(ptr) AccessChain 16 39 - 41: 10(int) Load 40 - 42: 10(int) ExtInst 1(GLSL.std.450) 41(UMax) 38 41 - Store 33(r01) 42 - 45: 18(ptr) AccessChain 16 17 - 46: 10(int) Load 45 - 47: 21(bool) INotEqual 46 22 - 49: 9(int) Select 47 39 48 - 51: 50(ptr) AccessChain 16 48 - 52: 9(int) Load 51 - 53: 9(int) ExtInst 1(GLSL.std.450) 42(SMax) 49 52 - Store 44(r02) 53 - 55: 50(ptr) AccessChain 16 48 - 56: 9(int) Load 55 - 57: 6(float) ConvertSToF 56 - 58: 28(ptr) AccessChain 16 27 - 59: 6(float) Load 58 - 60: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 57 59 - Store 54(r03) 60 - 62: 18(ptr) AccessChain 16 39 - 63: 10(int) Load 62 - 64: 6(float) ConvertUToF 63 - 65: 28(ptr) AccessChain 16 27 - 66: 6(float) Load 65 - 67: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 64 66 - Store 61(r04) 67 - 72: 71(ptr) AccessChain 16 70 - 73: 12(ivec2) Load 72 - 76: 74(bvec2) INotEqual 73 75 - 79: 13(fvec2) Select 76 78 77 - 82: 81(ptr) AccessChain 16 80 - 83: 13(fvec2) Load 82 - 84: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 79 83 - Store 69(r10) 84 - 87: 71(ptr) AccessChain 16 70 - 88: 12(ivec2) Load 87 - 89: 74(bvec2) INotEqual 88 75 - 91: 12(ivec2) Select 89 90 75 - 93: 71(ptr) AccessChain 16 92 - 94: 12(ivec2) Load 93 - 95: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 91 94 - Store 86(r11) 95 - 98: 71(ptr) AccessChain 16 70 - 99: 12(ivec2) Load 98 - 100: 74(bvec2) INotEqual 99 75 - 103: 11(ivec2) Select 100 102 101 - 106: 105(ptr) AccessChain 16 104 - 107: 11(ivec2) Load 106 - 108: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 103 107 - Store 97(r12) 108 - 110: 105(ptr) AccessChain 16 104 - 111: 11(ivec2) Load 110 - 112: 13(fvec2) ConvertSToF 111 - 113: 81(ptr) AccessChain 16 80 - 114: 13(fvec2) Load 113 - 115: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 112 114 - Store 109(r13) 115 - 117: 71(ptr) AccessChain 16 92 - 118: 12(ivec2) Load 117 - 119: 13(fvec2) ConvertUToF 118 - 120: 81(ptr) AccessChain 16 80 - 121: 13(fvec2) Load 120 - 122: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 119 121 - Store 116(r14) 122 - 124: 105(ptr) AccessChain 16 104 - 125: 11(ivec2) Load 124 - 126: 13(fvec2) ConvertSToF 125 - 127: 71(ptr) AccessChain 16 92 - 128: 12(ivec2) Load 127 - 129: 13(fvec2) ConvertUToF 128 - 130: 81(ptr) AccessChain 16 80 - 131: 13(fvec2) Load 130 - 132: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 126 129 131 - Store 123(r20) 132 - 134: 71(ptr) AccessChain 16 70 - 135: 12(ivec2) Load 134 - 136: 74(bvec2) INotEqual 135 75 - 137: 12(ivec2) Select 136 90 75 - 138: 71(ptr) AccessChain 16 92 - 139: 12(ivec2) Load 138 - 140: 71(ptr) AccessChain 16 70 - 141: 12(ivec2) Load 140 - 142: 74(bvec2) INotEqual 141 75 - 143: 12(ivec2) Select 142 90 75 - 144: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 137 139 143 - Store 133(r21) 144 - 146: 71(ptr) AccessChain 16 70 - 147: 12(ivec2) Load 146 - 148: 74(bvec2) INotEqual 147 75 - 149: 13(fvec2) Select 148 78 77 - 150: 81(ptr) AccessChain 16 80 - 151: 13(fvec2) Load 150 - 152: 71(ptr) AccessChain 16 70 - 153: 12(ivec2) Load 152 - 154: 74(bvec2) INotEqual 153 75 - 155: 13(fvec2) Select 154 78 77 - 156: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 149 151 155 - Store 145(r22) 156 - 158: 18(ptr) AccessChain 16 17 - 159: 10(int) Load 158 - 160: 21(bool) INotEqual 159 22 - 161: 6(float) Select 160 25 24 - 162: 13(fvec2) CompositeConstruct 161 161 - 163: 81(ptr) AccessChain 16 80 - 164: 13(fvec2) Load 163 - 165: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 162 164 - Store 157(r30) 165 - 167: 18(ptr) AccessChain 16 17 - 168: 10(int) Load 167 - 169: 21(bool) INotEqual 168 22 - 170: 10(int) Select 169 37 22 - 171: 12(ivec2) CompositeConstruct 170 170 - 172: 71(ptr) AccessChain 16 92 - 173: 12(ivec2) Load 172 - 174: 12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 171 173 - Store 166(r31) 174 - 176: 18(ptr) AccessChain 16 17 - 177: 10(int) Load 176 - 178: 21(bool) INotEqual 177 22 - 179: 9(int) Select 178 39 48 - 180: 11(ivec2) CompositeConstruct 179 179 - 181: 105(ptr) AccessChain 16 104 - 182: 11(ivec2) Load 181 - 183: 11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 180 182 - Store 175(r32) 183 - 185: 50(ptr) AccessChain 16 48 - 186: 9(int) Load 185 - 187: 6(float) ConvertSToF 186 - 188: 13(fvec2) CompositeConstruct 187 187 - 189: 81(ptr) AccessChain 16 80 - 190: 13(fvec2) Load 189 - 191: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 188 190 - Store 184(r33) 191 - 193: 18(ptr) AccessChain 16 39 - 194: 10(int) Load 193 - 195: 6(float) ConvertUToF 194 - 196: 13(fvec2) CompositeConstruct 195 195 - 197: 81(ptr) AccessChain 16 80 - 198: 13(fvec2) Load 197 - 199: 13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 196 198 - Store 192(r34) 199 - 201: 50(ptr) AccessChain 16 48 - 202: 9(int) Load 201 - 203: 6(float) ConvertSToF 202 - 204: 13(fvec2) CompositeConstruct 203 203 - 205: 71(ptr) AccessChain 16 92 - 206: 12(ivec2) Load 205 - 207: 13(fvec2) ConvertUToF 206 - 208: 81(ptr) AccessChain 16 80 - 209: 13(fvec2) Load 208 - 210: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 204 207 209 - Store 200(r40) 210 - 212: 71(ptr) AccessChain 16 70 - 213: 12(ivec2) Load 212 - 214: 74(bvec2) INotEqual 213 75 - 215: 12(ivec2) Select 214 90 75 - 216: 18(ptr) AccessChain 16 39 - 217: 10(int) Load 216 - 218: 12(ivec2) CompositeConstruct 217 217 - 219: 71(ptr) AccessChain 16 70 - 220: 12(ivec2) Load 219 - 221: 74(bvec2) INotEqual 220 75 - 222: 12(ivec2) Select 221 90 75 - 223: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 215 218 222 - Store 211(r41) 223 - 225: 71(ptr) AccessChain 16 70 - 226: 12(ivec2) Load 225 - 227: 74(bvec2) INotEqual 226 75 - 228: 13(fvec2) Select 227 78 77 - 229: 28(ptr) AccessChain 16 27 - 230: 6(float) Load 229 - 231: 13(fvec2) CompositeConstruct 230 230 - 232: 18(ptr) AccessChain 16 17 - 233: 10(int) Load 232 - 234: 21(bool) INotEqual 233 22 - 235: 6(float) Select 234 25 24 - 236: 13(fvec2) CompositeConstruct 235 235 - 237: 13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 228 231 236 - Store 224(r42) 237 - 239: 50(ptr) AccessChain 16 48 - 240: 9(int) Load 239 - 241: 10(int) Bitcast 240 - 242: 12(ivec2) CompositeConstruct 241 241 - 243: 105(ptr) AccessChain 16 104 - 244: 11(ivec2) Load 243 - 245: 12(ivec2) Bitcast 244 - 246: 71(ptr) AccessChain 16 92 - 247: 12(ivec2) Load 246 - 248: 12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 242 245 247 - 249: 11(ivec2) Bitcast 248 - Store 238(r43) 249 - 255: 252 Load 254(g_tTexbfs) - 257: 18(ptr) AccessChain 16 256 - 258: 10(int) Load 257 - 259: 9(int) Bitcast 258 - 260: 251 Image 255 - 262: 261(fvec4) ImageFetch 260 259 - 263: 6(float) CompositeExtract 262 0 - Store 250(r50) 263 - 265: 252 Load 254(g_tTexbfs) - 267: 28(ptr) AccessChain 16 266 - 268: 6(float) Load 267 - 269: 9(int) ConvertFToS 268 - 270: 251 Image 265 - 271: 261(fvec4) ImageFetch 270 269 - 272: 6(float) CompositeExtract 271 0 - Store 264(r51) 272 - 277: 274 Load 276(g_tTex1df4) - 278: 9(int) ImageQuerySize 277 - Store 273(sizeQueryTemp) 278 - 280: 10(int) Load 273(sizeQueryTemp) - 281: 9(int) Bitcast 280 - Store 279(WidthI) 281 - 283: 274 Load 276(g_tTex1df4) - 285: 9(int) ImageQuerySizeLod 283 284 - Store 282(sizeQueryTemp) 285 - 286: 10(int) Load 282(sizeQueryTemp) - 287: 9(int) Bitcast 286 - Store 279(WidthI) 287 - 289: 274 Load 276(g_tTex1df4) - 290: 9(int) ImageQueryLevels 289 - Store 288(NumberOfLevelsU) 290 - 292: 274 Load 276(g_tTex1df4) - 293: 9(int) ImageQuerySizeLod 292 284 - Store 291(sizeQueryTemp) 293 - 295: 10(int) Load 291(sizeQueryTemp) - Store 294(WidthU) 295 - 297: 274 Load 276(g_tTex1df4) - 298: 9(int) ImageQueryLevels 297 - 299: 9(int) Bitcast 298 - Store 296(NumberOfLevelsI) 299 - 301: 274 Load 276(g_tTex1df4) - 302: 9(int) ImageQuerySizeLod 301 284 - Store 300(sizeQueryTemp) 302 - 303: 10(int) Load 300(sizeQueryTemp) - 304: 9(int) Bitcast 303 - Store 279(WidthI) 304 - 305: 274 Load 276(g_tTex1df4) - 306: 9(int) ImageQueryLevels 305 - 307: 9(int) Bitcast 306 - Store 296(NumberOfLevelsI) 307 - 311: 6(float) Load 8(r00) - 312: 261(fvec4) CompositeConstruct 311 311 311 311 - 314: 313(ptr) AccessChain 310(ps_output) 48 + 24: 23(ptr) AccessChain 21 22 + 25: 15(int) Load 24 + 28: 26(bool) INotEqual 25 27 + 31: 6(float) Select 28 30 29 + 34: 33(ptr) AccessChain 21 32 + 35: 6(float) Load 34 + 36: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 31 35 + Store 13(r00) 36 + 39: 23(ptr) AccessChain 21 22 + 40: 15(int) Load 39 + 41: 26(bool) INotEqual 40 27 + 43: 15(int) Select 41 42 27 + 45: 23(ptr) AccessChain 21 44 + 46: 15(int) Load 45 + 47: 15(int) ExtInst 1(GLSL.std.450) 41(UMax) 43 46 + Store 38(r01) 47 + 50: 23(ptr) AccessChain 21 22 + 51: 15(int) Load 50 + 52: 26(bool) INotEqual 51 27 + 54: 14(int) Select 52 44 53 + 56: 55(ptr) AccessChain 21 53 + 57: 14(int) Load 56 + 58: 14(int) ExtInst 1(GLSL.std.450) 42(SMax) 54 57 + Store 49(r02) 58 + 60: 55(ptr) AccessChain 21 53 + 61: 14(int) Load 60 + 62: 6(float) ConvertSToF 61 + 63: 33(ptr) AccessChain 21 32 + 64: 6(float) Load 63 + 65: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 62 64 + Store 59(r03) 65 + 67: 23(ptr) AccessChain 21 44 + 68: 15(int) Load 67 + 69: 6(float) ConvertUToF 68 + 70: 33(ptr) AccessChain 21 32 + 71: 6(float) Load 70 + 72: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 69 71 + Store 66(r04) 72 + 77: 76(ptr) AccessChain 21 75 + 78: 17(ivec2) Load 77 + 81: 79(bvec2) INotEqual 78 80 + 84: 18(fvec2) Select 81 83 82 + 87: 86(ptr) AccessChain 21 85 + 88: 18(fvec2) Load 87 + 89: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 84 88 + Store 74(r10) 89 + 92: 76(ptr) AccessChain 21 75 + 93: 17(ivec2) Load 92 + 94: 79(bvec2) INotEqual 93 80 + 96: 17(ivec2) Select 94 95 80 + 98: 76(ptr) AccessChain 21 97 + 99: 17(ivec2) Load 98 + 100: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 96 99 + Store 91(r11) 100 + 103: 76(ptr) AccessChain 21 75 + 104: 17(ivec2) Load 103 + 105: 79(bvec2) INotEqual 104 80 + 108: 16(ivec2) Select 105 107 106 + 111: 110(ptr) AccessChain 21 109 + 112: 16(ivec2) Load 111 + 113: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 108 112 + Store 102(r12) 113 + 115: 110(ptr) AccessChain 21 109 + 116: 16(ivec2) Load 115 + 117: 18(fvec2) ConvertSToF 116 + 118: 86(ptr) AccessChain 21 85 + 119: 18(fvec2) Load 118 + 120: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 117 119 + Store 114(r13) 120 + 122: 76(ptr) AccessChain 21 97 + 123: 17(ivec2) Load 122 + 124: 18(fvec2) ConvertUToF 123 + 125: 86(ptr) AccessChain 21 85 + 126: 18(fvec2) Load 125 + 127: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 124 126 + Store 121(r14) 127 + 129: 110(ptr) AccessChain 21 109 + 130: 16(ivec2) Load 129 + 131: 18(fvec2) ConvertSToF 130 + 132: 76(ptr) AccessChain 21 97 + 133: 17(ivec2) Load 132 + 134: 18(fvec2) ConvertUToF 133 + 135: 86(ptr) AccessChain 21 85 + 136: 18(fvec2) Load 135 + 137: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 131 134 136 + Store 128(r20) 137 + 139: 76(ptr) AccessChain 21 75 + 140: 17(ivec2) Load 139 + 141: 79(bvec2) INotEqual 140 80 + 142: 17(ivec2) Select 141 95 80 + 143: 76(ptr) AccessChain 21 97 + 144: 17(ivec2) Load 143 + 145: 76(ptr) AccessChain 21 75 + 146: 17(ivec2) Load 145 + 147: 79(bvec2) INotEqual 146 80 + 148: 17(ivec2) Select 147 95 80 + 149: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 142 144 148 + Store 138(r21) 149 + 151: 76(ptr) AccessChain 21 75 + 152: 17(ivec2) Load 151 + 153: 79(bvec2) INotEqual 152 80 + 154: 18(fvec2) Select 153 83 82 + 155: 86(ptr) AccessChain 21 85 + 156: 18(fvec2) Load 155 + 157: 76(ptr) AccessChain 21 75 + 158: 17(ivec2) Load 157 + 159: 79(bvec2) INotEqual 158 80 + 160: 18(fvec2) Select 159 83 82 + 161: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 154 156 160 + Store 150(r22) 161 + 163: 23(ptr) AccessChain 21 22 + 164: 15(int) Load 163 + 165: 26(bool) INotEqual 164 27 + 166: 6(float) Select 165 30 29 + 167: 18(fvec2) CompositeConstruct 166 166 + 168: 86(ptr) AccessChain 21 85 + 169: 18(fvec2) Load 168 + 170: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 167 169 + Store 162(r30) 170 + 172: 23(ptr) AccessChain 21 22 + 173: 15(int) Load 172 + 174: 26(bool) INotEqual 173 27 + 175: 15(int) Select 174 42 27 + 176: 17(ivec2) CompositeConstruct 175 175 + 177: 76(ptr) AccessChain 21 97 + 178: 17(ivec2) Load 177 + 179: 17(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 176 178 + Store 171(r31) 179 + 181: 23(ptr) AccessChain 21 22 + 182: 15(int) Load 181 + 183: 26(bool) INotEqual 182 27 + 184: 14(int) Select 183 44 53 + 185: 16(ivec2) CompositeConstruct 184 184 + 186: 110(ptr) AccessChain 21 109 + 187: 16(ivec2) Load 186 + 188: 16(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 185 187 + Store 180(r32) 188 + 190: 55(ptr) AccessChain 21 53 + 191: 14(int) Load 190 + 192: 6(float) ConvertSToF 191 + 193: 18(fvec2) CompositeConstruct 192 192 + 194: 86(ptr) AccessChain 21 85 + 195: 18(fvec2) Load 194 + 196: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 193 195 + Store 189(r33) 196 + 198: 23(ptr) AccessChain 21 44 + 199: 15(int) Load 198 + 200: 6(float) ConvertUToF 199 + 201: 18(fvec2) CompositeConstruct 200 200 + 202: 86(ptr) AccessChain 21 85 + 203: 18(fvec2) Load 202 + 204: 18(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 201 203 + Store 197(r34) 204 + 206: 55(ptr) AccessChain 21 53 + 207: 14(int) Load 206 + 208: 6(float) ConvertSToF 207 + 209: 18(fvec2) CompositeConstruct 208 208 + 210: 76(ptr) AccessChain 21 97 + 211: 17(ivec2) Load 210 + 212: 18(fvec2) ConvertUToF 211 + 213: 86(ptr) AccessChain 21 85 + 214: 18(fvec2) Load 213 + 215: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 209 212 214 + Store 205(r40) 215 + 217: 76(ptr) AccessChain 21 75 + 218: 17(ivec2) Load 217 + 219: 79(bvec2) INotEqual 218 80 + 220: 17(ivec2) Select 219 95 80 + 221: 23(ptr) AccessChain 21 44 + 222: 15(int) Load 221 + 223: 17(ivec2) CompositeConstruct 222 222 + 224: 76(ptr) AccessChain 21 75 + 225: 17(ivec2) Load 224 + 226: 79(bvec2) INotEqual 225 80 + 227: 17(ivec2) Select 226 95 80 + 228: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 220 223 227 + Store 216(r41) 228 + 230: 76(ptr) AccessChain 21 75 + 231: 17(ivec2) Load 230 + 232: 79(bvec2) INotEqual 231 80 + 233: 18(fvec2) Select 232 83 82 + 234: 33(ptr) AccessChain 21 32 + 235: 6(float) Load 234 + 236: 18(fvec2) CompositeConstruct 235 235 + 237: 23(ptr) AccessChain 21 22 + 238: 15(int) Load 237 + 239: 26(bool) INotEqual 238 27 + 240: 6(float) Select 239 30 29 + 241: 18(fvec2) CompositeConstruct 240 240 + 242: 18(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 233 236 241 + Store 229(r42) 242 + 244: 55(ptr) AccessChain 21 53 + 245: 14(int) Load 244 + 246: 15(int) Bitcast 245 + 247: 17(ivec2) CompositeConstruct 246 246 + 248: 110(ptr) AccessChain 21 109 + 249: 16(ivec2) Load 248 + 250: 17(ivec2) Bitcast 249 + 251: 76(ptr) AccessChain 21 97 + 252: 17(ivec2) Load 251 + 253: 17(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 247 250 252 + 254: 16(ivec2) Bitcast 253 + Store 243(r43) 254 + 259: 256 Load 258(g_tTexbfs) + 261: 23(ptr) AccessChain 21 260 + 262: 15(int) Load 261 + 263: 14(int) Bitcast 262 + 264: 7(fvec4) ImageRead 259 263 + 265: 6(float) CompositeExtract 264 0 + Store 255(r50) 265 + 267: 256 Load 258(g_tTexbfs) + 269: 33(ptr) AccessChain 21 268 + 270: 6(float) Load 269 + 271: 14(int) ConvertFToS 270 + 272: 7(fvec4) ImageRead 267 271 + 273: 6(float) CompositeExtract 272 0 + Store 266(r51) 273 + 278: 275 Load 277(g_tTex1df4) + 279: 15(int) ImageQuerySizeLod 278 53 + Store 274(sizeQueryTemp) 279 + 281: 15(int) Load 274(sizeQueryTemp) + 282: 14(int) Bitcast 281 + Store 280(WidthI) 282 + 284: 275 Load 277(g_tTex1df4) + 286: 15(int) ImageQuerySizeLod 284 285 + Store 283(sizeQueryTemp) 286 + 287: 15(int) Load 283(sizeQueryTemp) + 288: 14(int) Bitcast 287 + Store 280(WidthI) 288 + 290: 275 Load 277(g_tTex1df4) + 291: 15(int) ImageQueryLevels 290 + Store 289(NumberOfLevelsU) 291 + 293: 275 Load 277(g_tTex1df4) + 294: 15(int) ImageQuerySizeLod 293 285 + Store 292(sizeQueryTemp) 294 + 296: 15(int) Load 292(sizeQueryTemp) + Store 295(WidthU) 296 + 298: 275 Load 277(g_tTex1df4) + 299: 15(int) ImageQueryLevels 298 + 300: 14(int) Bitcast 299 + Store 297(NumberOfLevelsI) 300 + 302: 275 Load 277(g_tTex1df4) + 303: 15(int) ImageQuerySizeLod 302 285 + Store 301(sizeQueryTemp) 303 + 304: 15(int) Load 301(sizeQueryTemp) + 305: 14(int) Bitcast 304 + Store 280(WidthI) 305 + 306: 275 Load 277(g_tTex1df4) + 307: 15(int) ImageQueryLevels 306 + 308: 14(int) Bitcast 307 + Store 297(NumberOfLevelsI) 308 + 311: 6(float) Load 13(r00) + 312: 7(fvec4) CompositeConstruct 311 311 311 311 + 314: 313(ptr) AccessChain 310(ps_output) 53 Store 314 312 - 317: 313(ptr) AccessChain 310(ps_output) 48 - 318: 261(fvec4) Load 317 - Store 316(color) 318 - Return + 315:8(PS_OUTPUT) Load 310(ps_output) + ReturnValue 315 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out index ebe6a24c839..7ccc596bdc2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out @@ -2,12 +2,12 @@ hlsl.intrinsics.promote.outputs.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence -0:37 clamp (temp float) -0:37 fpos: direct index for structure (layout(offset=52 ) uniform float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 clamp ( temp float) +0:37 fpos: direct index for structure ( uniform float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 9 (const uint) 0:37 Constant: @@ -15,63 +15,65 @@ gl_FragCoord origin is upper left 0:37 Constant: 0:37 1.000000 0:40 Sequence -0:40 move second child to first child (temp uint) -0:40 'sizeQueryTemp' (temp uint) -0:40 textureSize (temp uint) -0:40 'g_tTex1df4' (uniform texture1D) -0:40 move second child to first child (temp int) -0:40 'WidthI' (temp int) -0:40 Convert uint to int (temp int) -0:40 'sizeQueryTemp' (temp uint) +0:40 move second child to first child ( temp uint) +0:40 'sizeQueryTemp' ( temp uint) +0:40 textureSize ( temp uint) +0:40 'g_tTex1df4' ( uniform texture1D) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp int) +0:40 'WidthI' ( temp int) +0:40 Convert uint to int ( temp int) +0:40 'sizeQueryTemp' ( temp uint) 0:41 Sequence -0:41 move second child to first child (temp uint) -0:41 'sizeQueryTemp' (temp uint) -0:41 textureSize (temp uint) -0:41 'g_tTex1df4' (uniform texture1D) +0:41 move second child to first child ( temp uint) +0:41 'sizeQueryTemp' ( temp uint) +0:41 textureSize ( temp uint) +0:41 'g_tTex1df4' ( uniform texture1D) 0:41 Constant: 0:41 6 (const uint) -0:41 move second child to first child (temp int) -0:41 'WidthI' (temp int) -0:41 Convert uint to int (temp int) -0:41 'sizeQueryTemp' (temp uint) -0:41 move second child to first child (temp uint) -0:41 'NumberOfLevelsU' (temp uint) -0:41 textureQueryLevels (temp uint) -0:41 'g_tTex1df4' (uniform texture1D) +0:41 move second child to first child ( temp int) +0:41 'WidthI' ( temp int) +0:41 Convert uint to int ( temp int) +0:41 'sizeQueryTemp' ( temp uint) +0:41 move second child to first child ( temp uint) +0:41 'NumberOfLevelsU' ( temp uint) +0:41 textureQueryLevels ( temp uint) +0:41 'g_tTex1df4' ( uniform texture1D) 0:42 Sequence -0:42 move second child to first child (temp uint) -0:42 'sizeQueryTemp' (temp uint) -0:42 textureSize (temp uint) -0:42 'g_tTex1df4' (uniform texture1D) +0:42 move second child to first child ( temp uint) +0:42 'sizeQueryTemp' ( temp uint) +0:42 textureSize ( temp uint) +0:42 'g_tTex1df4' ( uniform texture1D) 0:42 Constant: 0:42 6 (const uint) -0:42 move second child to first child (temp uint) -0:42 'WidthU' (temp uint) -0:42 'sizeQueryTemp' (temp uint) -0:42 move second child to first child (temp int) -0:42 'NumberOfLevelsI' (temp int) -0:42 Convert uint to int (temp int) -0:42 textureQueryLevels (temp uint) -0:42 'g_tTex1df4' (uniform texture1D) +0:42 move second child to first child ( temp uint) +0:42 'WidthU' ( temp uint) +0:42 'sizeQueryTemp' ( temp uint) +0:42 move second child to first child ( temp int) +0:42 'NumberOfLevelsI' ( temp int) +0:42 Convert uint to int ( temp int) +0:42 textureQueryLevels ( temp uint) +0:42 'g_tTex1df4' ( uniform texture1D) 0:43 Sequence -0:43 move second child to first child (temp uint) -0:43 'sizeQueryTemp' (temp uint) -0:43 textureSize (temp uint) -0:43 'g_tTex1df4' (uniform texture1D) +0:43 move second child to first child ( temp uint) +0:43 'sizeQueryTemp' ( temp uint) +0:43 textureSize ( temp uint) +0:43 'g_tTex1df4' ( uniform texture1D) 0:43 Constant: 0:43 6 (const uint) -0:43 move second child to first child (temp int) -0:43 'WidthI' (temp int) -0:43 Convert uint to int (temp int) -0:43 'sizeQueryTemp' (temp uint) -0:43 move second child to first child (temp int) -0:43 'NumberOfLevelsI' (temp int) -0:43 Convert uint to int (temp int) -0:43 textureQueryLevels (temp uint) -0:43 'g_tTex1df4' (uniform texture1D) -0:47 move second child to first child (temp 4-component vector of float) -0:47 color: direct index for structure (temp 4-component vector of float) -0:47 'ps_output' (temp structure{temp 4-component vector of float color}) +0:43 move second child to first child ( temp int) +0:43 'WidthI' ( temp int) +0:43 Convert uint to int ( temp int) +0:43 'sizeQueryTemp' ( temp uint) +0:43 move second child to first child ( temp int) +0:43 'NumberOfLevelsI' ( temp int) +0:43 Convert uint to int ( temp int) +0:43 textureQueryLevels ( temp uint) +0:43 'g_tTex1df4' ( uniform texture1D) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 color: direct index for structure ( temp 4-component vector of float) +0:47 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -79,20 +81,23 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:48 color: direct index for structure (temp 4-component vector of float) -0:48 'ps_output' (temp structure{temp 4-component vector of float color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTex1df4' (uniform texture1D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -101,12 +106,12 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:20 Function Parameters: 0:? Sequence -0:37 clamp (temp float) -0:37 fpos: direct index for structure (layout(offset=52 ) uniform float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:37 clamp ( temp float) +0:37 fpos: direct index for structure ( uniform float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) 0:37 Constant: 0:37 9 (const uint) 0:37 Constant: @@ -114,63 +119,65 @@ gl_FragCoord origin is upper left 0:37 Constant: 0:37 1.000000 0:40 Sequence -0:40 move second child to first child (temp uint) -0:40 'sizeQueryTemp' (temp uint) -0:40 textureSize (temp uint) -0:40 'g_tTex1df4' (uniform texture1D) -0:40 move second child to first child (temp int) -0:40 'WidthI' (temp int) -0:40 Convert uint to int (temp int) -0:40 'sizeQueryTemp' (temp uint) +0:40 move second child to first child ( temp uint) +0:40 'sizeQueryTemp' ( temp uint) +0:40 textureSize ( temp uint) +0:40 'g_tTex1df4' ( uniform texture1D) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp int) +0:40 'WidthI' ( temp int) +0:40 Convert uint to int ( temp int) +0:40 'sizeQueryTemp' ( temp uint) 0:41 Sequence -0:41 move second child to first child (temp uint) -0:41 'sizeQueryTemp' (temp uint) -0:41 textureSize (temp uint) -0:41 'g_tTex1df4' (uniform texture1D) +0:41 move second child to first child ( temp uint) +0:41 'sizeQueryTemp' ( temp uint) +0:41 textureSize ( temp uint) +0:41 'g_tTex1df4' ( uniform texture1D) 0:41 Constant: 0:41 6 (const uint) -0:41 move second child to first child (temp int) -0:41 'WidthI' (temp int) -0:41 Convert uint to int (temp int) -0:41 'sizeQueryTemp' (temp uint) -0:41 move second child to first child (temp uint) -0:41 'NumberOfLevelsU' (temp uint) -0:41 textureQueryLevels (temp uint) -0:41 'g_tTex1df4' (uniform texture1D) +0:41 move second child to first child ( temp int) +0:41 'WidthI' ( temp int) +0:41 Convert uint to int ( temp int) +0:41 'sizeQueryTemp' ( temp uint) +0:41 move second child to first child ( temp uint) +0:41 'NumberOfLevelsU' ( temp uint) +0:41 textureQueryLevels ( temp uint) +0:41 'g_tTex1df4' ( uniform texture1D) 0:42 Sequence -0:42 move second child to first child (temp uint) -0:42 'sizeQueryTemp' (temp uint) -0:42 textureSize (temp uint) -0:42 'g_tTex1df4' (uniform texture1D) +0:42 move second child to first child ( temp uint) +0:42 'sizeQueryTemp' ( temp uint) +0:42 textureSize ( temp uint) +0:42 'g_tTex1df4' ( uniform texture1D) 0:42 Constant: 0:42 6 (const uint) -0:42 move second child to first child (temp uint) -0:42 'WidthU' (temp uint) -0:42 'sizeQueryTemp' (temp uint) -0:42 move second child to first child (temp int) -0:42 'NumberOfLevelsI' (temp int) -0:42 Convert uint to int (temp int) -0:42 textureQueryLevels (temp uint) -0:42 'g_tTex1df4' (uniform texture1D) +0:42 move second child to first child ( temp uint) +0:42 'WidthU' ( temp uint) +0:42 'sizeQueryTemp' ( temp uint) +0:42 move second child to first child ( temp int) +0:42 'NumberOfLevelsI' ( temp int) +0:42 Convert uint to int ( temp int) +0:42 textureQueryLevels ( temp uint) +0:42 'g_tTex1df4' ( uniform texture1D) 0:43 Sequence -0:43 move second child to first child (temp uint) -0:43 'sizeQueryTemp' (temp uint) -0:43 textureSize (temp uint) -0:43 'g_tTex1df4' (uniform texture1D) +0:43 move second child to first child ( temp uint) +0:43 'sizeQueryTemp' ( temp uint) +0:43 textureSize ( temp uint) +0:43 'g_tTex1df4' ( uniform texture1D) 0:43 Constant: 0:43 6 (const uint) -0:43 move second child to first child (temp int) -0:43 'WidthI' (temp int) -0:43 Convert uint to int (temp int) -0:43 'sizeQueryTemp' (temp uint) -0:43 move second child to first child (temp int) -0:43 'NumberOfLevelsI' (temp int) -0:43 Convert uint to int (temp int) -0:43 textureQueryLevels (temp uint) -0:43 'g_tTex1df4' (uniform texture1D) -0:47 move second child to first child (temp 4-component vector of float) -0:47 color: direct index for structure (temp 4-component vector of float) -0:47 'ps_output' (temp structure{temp 4-component vector of float color}) +0:43 move second child to first child ( temp int) +0:43 'WidthI' ( temp int) +0:43 Convert uint to int ( temp int) +0:43 'sizeQueryTemp' ( temp uint) +0:43 move second child to first child ( temp int) +0:43 'NumberOfLevelsI' ( temp int) +0:43 Convert uint to int ( temp int) +0:43 textureQueryLevels ( temp uint) +0:43 'g_tTex1df4' ( uniform texture1D) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 color: direct index for structure ( temp 4-component vector of float) +0:47 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -178,24 +185,27 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:48 color: direct index for structure (temp 4-component vector of float) -0:48 'ps_output' (temp structure{temp 4-component vector of float color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:20 color: direct index for structure ( temp 4-component vector of float) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:20 Constant: +0:20 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTex1df4' (uniform texture1D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int i, uniform uint u, uniform float f, uniform bool b, uniform 2-component vector of int i2, uniform 2-component vector of uint u2, uniform 2-component vector of float f2, uniform 2-component vector of bool b2, uniform uint upos, uniform float fpos}) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 76 +// Id's are bound by 80 Capability Shader Capability Sampled1D @@ -203,135 +213,142 @@ gl_FragCoord origin is upper left Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 68 + EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 12 "$Global" - MemberName 12($Global) 0 "i" - MemberName 12($Global) 1 "u" - MemberName 12($Global) 2 "f" - MemberName 12($Global) 3 "b" - MemberName 12($Global) 4 "i2" - MemberName 12($Global) 5 "u2" - MemberName 12($Global) 6 "f2" - MemberName 12($Global) 7 "b2" - MemberName 12($Global) 8 "upos" - MemberName 12($Global) 9 "fpos" - Name 14 "" - Name 23 "sizeQueryTemp" - Name 26 "g_tTex1df4" - Name 30 "WidthI" - Name 33 "sizeQueryTemp" - Name 39 "NumberOfLevelsU" - Name 42 "sizeQueryTemp" - Name 45 "WidthU" - Name 47 "NumberOfLevelsI" - Name 51 "sizeQueryTemp" - Name 60 "PS_OUTPUT" - MemberName 60(PS_OUTPUT) 0 "color" - Name 62 "ps_output" - Name 68 "color" - Name 75 "g_tTexbfs" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 4 - MemberDecorate 12($Global) 2 Offset 8 - MemberDecorate 12($Global) 3 Offset 12 - MemberDecorate 12($Global) 4 Offset 16 - MemberDecorate 12($Global) 5 Offset 24 - MemberDecorate 12($Global) 6 Offset 32 - MemberDecorate 12($Global) 7 Offset 40 - MemberDecorate 12($Global) 8 Offset 48 - MemberDecorate 12($Global) 9 Offset 52 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 26(g_tTex1df4) DescriptorSet 0 - Decorate 68(color) Location 0 - Decorate 75(g_tTexbfs) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 17 "$Global" + MemberName 17($Global) 0 "i" + MemberName 17($Global) 1 "u" + MemberName 17($Global) 2 "f" + MemberName 17($Global) 3 "b" + MemberName 17($Global) 4 "i2" + MemberName 17($Global) 5 "u2" + MemberName 17($Global) 6 "f2" + MemberName 17($Global) 7 "b2" + MemberName 17($Global) 8 "upos" + MemberName 17($Global) 9 "fpos" + Name 19 "" + Name 28 "sizeQueryTemp" + Name 31 "g_tTex1df4" + Name 36 "WidthI" + Name 39 "sizeQueryTemp" + Name 45 "NumberOfLevelsU" + Name 48 "sizeQueryTemp" + Name 51 "WidthU" + Name 53 "NumberOfLevelsI" + Name 57 "sizeQueryTemp" + Name 66 "ps_output" + Name 74 "color" + Name 79 "g_tTexbfs" + MemberDecorate 17($Global) 0 Offset 0 + MemberDecorate 17($Global) 1 Offset 4 + MemberDecorate 17($Global) 2 Offset 8 + MemberDecorate 17($Global) 3 Offset 12 + MemberDecorate 17($Global) 4 Offset 16 + MemberDecorate 17($Global) 5 Offset 24 + MemberDecorate 17($Global) 6 Offset 32 + MemberDecorate 17($Global) 7 Offset 40 + MemberDecorate 17($Global) 8 Offset 48 + MemberDecorate 17($Global) 9 Offset 52 + Decorate 17($Global) Block + Decorate 19 DescriptorSet 0 + Decorate 31(g_tTex1df4) DescriptorSet 0 + Decorate 74(color) Location 0 + Decorate 79(g_tTexbfs) DescriptorSet 0 + Decorate 79(g_tTexbfs) NonWritable 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeInt 32 0 - 8: TypeFloat 32 - 9: TypeVector 6(int) 2 - 10: TypeVector 7(int) 2 - 11: TypeVector 8(float) 2 - 12($Global): TypeStruct 6(int) 7(int) 8(float) 7(int) 9(ivec2) 10(ivec2) 11(fvec2) 10(ivec2) 7(int) 8(float) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: 6(int) Constant 9 - 16: TypePointer Uniform 8(float) - 19: 8(float) Constant 0 - 20: 8(float) Constant 1065353216 - 22: TypePointer Function 7(int) - 24: TypeImage 8(float) 1D sampled format:Unknown - 25: TypePointer UniformConstant 24 - 26(g_tTex1df4): 25(ptr) Variable UniformConstant - 29: TypePointer Function 6(int) - 35: 7(int) Constant 6 - 59: TypeVector 8(float) 4 - 60(PS_OUTPUT): TypeStruct 59(fvec4) - 61: TypePointer Function 60(PS_OUTPUT) - 63: 6(int) Constant 0 - 64: 59(fvec4) ConstantComposite 19 19 19 19 - 65: TypePointer Function 59(fvec4) - 67: TypePointer Output 59(fvec4) - 68(color): 67(ptr) Variable Output - 72: TypeImage 8(float) Buffer sampled format:R32f - 73: TypeSampledImage 72 - 74: TypePointer UniformConstant 73 - 75(g_tTexbfs): 74(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeInt 32 0 + 14: TypeVector 12(int) 2 + 15: TypeVector 13(int) 2 + 16: TypeVector 6(float) 2 + 17($Global): TypeStruct 12(int) 13(int) 6(float) 13(int) 14(ivec2) 15(ivec2) 16(fvec2) 15(ivec2) 13(int) 6(float) + 18: TypePointer Uniform 17($Global) + 19: 18(ptr) Variable Uniform + 20: 12(int) Constant 9 + 21: TypePointer Uniform 6(float) + 24: 6(float) Constant 0 + 25: 6(float) Constant 1065353216 + 27: TypePointer Function 13(int) + 29: TypeImage 6(float) 1D sampled format:Unknown + 30: TypePointer UniformConstant 29 + 31(g_tTex1df4): 30(ptr) Variable UniformConstant + 33: 12(int) Constant 0 + 35: TypePointer Function 12(int) + 41: 13(int) Constant 6 + 65: TypePointer Function 8(PS_OUTPUT) + 67: 7(fvec4) ConstantComposite 24 24 24 24 + 68: TypePointer Function 7(fvec4) + 73: TypePointer Output 7(fvec4) + 74(color): 73(ptr) Variable Output + 77: TypeImage 6(float) Buffer nonsampled format:R32f + 78: TypePointer UniformConstant 77 + 79(g_tTexbfs): 78(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -23(sizeQueryTemp): 22(ptr) Variable Function - 30(WidthI): 29(ptr) Variable Function -33(sizeQueryTemp): 22(ptr) Variable Function -39(NumberOfLevelsU): 22(ptr) Variable Function -42(sizeQueryTemp): 22(ptr) Variable Function - 45(WidthU): 22(ptr) Variable Function -47(NumberOfLevelsI): 29(ptr) Variable Function -51(sizeQueryTemp): 22(ptr) Variable Function - 62(ps_output): 61(ptr) Variable Function - 17: 16(ptr) AccessChain 14 15 - 18: 8(float) Load 17 - 21: 8(float) ExtInst 1(GLSL.std.450) 43(FClamp) 18 19 20 - 27: 24 Load 26(g_tTex1df4) - 28: 6(int) ImageQuerySize 27 - Store 23(sizeQueryTemp) 28 - 31: 7(int) Load 23(sizeQueryTemp) - 32: 6(int) Bitcast 31 - Store 30(WidthI) 32 - 34: 24 Load 26(g_tTex1df4) - 36: 6(int) ImageQuerySizeLod 34 35 - Store 33(sizeQueryTemp) 36 - 37: 7(int) Load 33(sizeQueryTemp) - 38: 6(int) Bitcast 37 - Store 30(WidthI) 38 - 40: 24 Load 26(g_tTex1df4) - 41: 6(int) ImageQueryLevels 40 - Store 39(NumberOfLevelsU) 41 - 43: 24 Load 26(g_tTex1df4) - 44: 6(int) ImageQuerySizeLod 43 35 - Store 42(sizeQueryTemp) 44 - 46: 7(int) Load 42(sizeQueryTemp) - Store 45(WidthU) 46 - 48: 24 Load 26(g_tTex1df4) - 49: 6(int) ImageQueryLevels 48 - 50: 6(int) Bitcast 49 - Store 47(NumberOfLevelsI) 50 - 52: 24 Load 26(g_tTex1df4) - 53: 6(int) ImageQuerySizeLod 52 35 - Store 51(sizeQueryTemp) 53 - 54: 7(int) Load 51(sizeQueryTemp) - 55: 6(int) Bitcast 54 - Store 30(WidthI) 55 - 56: 24 Load 26(g_tTex1df4) - 57: 6(int) ImageQueryLevels 56 - 58: 6(int) Bitcast 57 - Store 47(NumberOfLevelsI) 58 - 66: 65(ptr) AccessChain 62(ps_output) 63 - Store 66 64 - 69: 65(ptr) AccessChain 62(ps_output) 63 - 70: 59(fvec4) Load 69 - Store 68(color) 70 + 75:8(PS_OUTPUT) FunctionCall 10(@main() + 76: 7(fvec4) CompositeExtract 75 0 + Store 74(color) 76 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label +28(sizeQueryTemp): 27(ptr) Variable Function + 36(WidthI): 35(ptr) Variable Function +39(sizeQueryTemp): 27(ptr) Variable Function +45(NumberOfLevelsU): 27(ptr) Variable Function +48(sizeQueryTemp): 27(ptr) Variable Function + 51(WidthU): 27(ptr) Variable Function +53(NumberOfLevelsI): 35(ptr) Variable Function +57(sizeQueryTemp): 27(ptr) Variable Function + 66(ps_output): 65(ptr) Variable Function + 22: 21(ptr) AccessChain 19 20 + 23: 6(float) Load 22 + 26: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 23 24 25 + 32: 29 Load 31(g_tTex1df4) + 34: 13(int) ImageQuerySizeLod 32 33 + Store 28(sizeQueryTemp) 34 + 37: 13(int) Load 28(sizeQueryTemp) + 38: 12(int) Bitcast 37 + Store 36(WidthI) 38 + 40: 29 Load 31(g_tTex1df4) + 42: 13(int) ImageQuerySizeLod 40 41 + Store 39(sizeQueryTemp) 42 + 43: 13(int) Load 39(sizeQueryTemp) + 44: 12(int) Bitcast 43 + Store 36(WidthI) 44 + 46: 29 Load 31(g_tTex1df4) + 47: 13(int) ImageQueryLevels 46 + Store 45(NumberOfLevelsU) 47 + 49: 29 Load 31(g_tTex1df4) + 50: 13(int) ImageQuerySizeLod 49 41 + Store 48(sizeQueryTemp) 50 + 52: 13(int) Load 48(sizeQueryTemp) + Store 51(WidthU) 52 + 54: 29 Load 31(g_tTex1df4) + 55: 13(int) ImageQueryLevels 54 + 56: 12(int) Bitcast 55 + Store 53(NumberOfLevelsI) 56 + 58: 29 Load 31(g_tTex1df4) + 59: 13(int) ImageQuerySizeLod 58 41 + Store 57(sizeQueryTemp) 59 + 60: 13(int) Load 57(sizeQueryTemp) + 61: 12(int) Bitcast 60 + Store 36(WidthI) 61 + 62: 29 Load 31(g_tTex1df4) + 63: 13(int) ImageQueryLevels 62 + 64: 12(int) Bitcast 63 + Store 53(NumberOfLevelsI) 64 + 69: 68(ptr) AccessChain 66(ps_output) 33 + Store 69 67 + 70:8(PS_OUTPUT) Load 66(ps_output) + ReturnValue 70 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out index 84146e660e0..107575b7525 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out @@ -1,940 +1,940 @@ hlsl.intrinsics.vert Shader version: 450 0:? Sequence -0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inU0' (in uint) -0:2 'inU1' (in uint) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inU0' ( in uint) +0:2 'inU1' ( in uint) 0:? Sequence -0:3 all (temp bool) -0:3 'inF0' (in float) -0:4 Absolute value (temp float) -0:4 'inF0' (in float) -0:5 arc cosine (temp float) -0:5 'inF0' (in float) -0:6 any (temp bool) -0:6 'inF0' (in float) -0:7 arc sine (temp float) -0:7 'inF0' (in float) -0:8 floatBitsToInt (temp int) -0:8 'inF0' (in float) -0:9 floatBitsToUint (temp uint) -0:9 'inF0' (in float) -0:10 intBitsToFloat (temp float) -0:10 'inU0' (in uint) -0:12 arc tangent (temp float) -0:12 'inF0' (in float) -0:13 arc tangent (temp float) -0:13 'inF0' (in float) -0:13 'inF1' (in float) -0:14 Ceiling (temp float) -0:14 'inF0' (in float) -0:15 clamp (temp float) -0:15 'inF0' (in float) -0:15 'inF1' (in float) -0:15 'inF2' (in float) -0:16 cosine (temp float) -0:16 'inF0' (in float) -0:17 hyp. cosine (temp float) -0:17 'inF0' (in float) -0:18 bitCount (temp int) +0:3 all ( temp bool) +0:3 'inF0' ( in float) +0:4 Absolute value ( temp float) +0:4 'inF0' ( in float) +0:5 arc cosine ( temp float) +0:5 'inF0' ( in float) +0:6 any ( temp bool) +0:6 'inF0' ( in float) +0:7 arc sine ( temp float) +0:7 'inF0' ( in float) +0:8 floatBitsToInt ( temp int) +0:8 'inF0' ( in float) +0:9 floatBitsToUint ( temp uint) +0:9 'inF0' ( in float) +0:10 intBitsToFloat ( temp float) +0:10 'inU0' ( in uint) +0:12 arc tangent ( temp float) +0:12 'inF0' ( in float) +0:13 arc tangent ( temp float) +0:13 'inF0' ( in float) +0:13 'inF1' ( in float) +0:14 Ceiling ( temp float) +0:14 'inF0' ( in float) +0:15 clamp ( temp float) +0:15 'inF0' ( in float) +0:15 'inF1' ( in float) +0:15 'inF2' ( in float) +0:16 cosine ( temp float) +0:16 'inF0' ( in float) +0:17 hyp. cosine ( temp float) +0:17 'inF0' ( in float) +0:18 bitCount ( temp int) 0:18 Constant: 0:18 7 (const int) -0:19 degrees (temp float) -0:19 'inF0' (in float) -0:23 exp (temp float) -0:23 'inF0' (in float) -0:24 exp2 (temp float) -0:24 'inF0' (in float) -0:25 findMSB (temp int) +0:19 degrees ( temp float) +0:19 'inF0' ( in float) +0:23 exp ( temp float) +0:23 'inF0' ( in float) +0:24 exp2 ( temp float) +0:24 'inF0' ( in float) +0:25 findMSB ( temp int) 0:25 Constant: 0:25 7 (const int) -0:26 findLSB (temp int) +0:26 findLSB ( temp int) 0:26 Constant: 0:26 7 (const int) -0:27 Floor (temp float) -0:27 'inF0' (in float) -0:29 mod (temp float) -0:29 'inF0' (in float) -0:29 'inF1' (in float) -0:30 Fraction (temp float) -0:30 'inF0' (in float) -0:31 frexp (temp float) -0:31 'inF0' (in float) -0:31 'inF1' (in float) -0:32 isinf (temp bool) -0:32 'inF0' (in float) -0:33 isnan (temp bool) -0:33 'inF0' (in float) -0:34 ldexp (temp float) -0:34 'inF0' (in float) -0:34 'inF1' (in float) -0:35 mix (temp float) -0:35 'inF0' (in float) -0:35 'inF1' (in float) -0:35 'inF2' (in float) -0:36 log (temp float) -0:36 'inF0' (in float) -0:37 component-wise multiply (temp float) -0:37 log2 (temp float) -0:37 'inF0' (in float) +0:27 Floor ( temp float) +0:27 'inF0' ( in float) +0:29 mod ( temp float) +0:29 'inF0' ( in float) +0:29 'inF1' ( in float) +0:30 Fraction ( temp float) +0:30 'inF0' ( in float) +0:31 frexp ( temp float) +0:31 'inF0' ( in float) +0:31 'inF1' ( in float) +0:32 isinf ( temp bool) +0:32 'inF0' ( in float) +0:33 isnan ( temp bool) +0:33 'inF0' ( in float) +0:34 ldexp ( temp float) +0:34 'inF0' ( in float) +0:34 'inF1' ( in float) +0:35 mix ( temp float) +0:35 'inF0' ( in float) +0:35 'inF1' ( in float) +0:35 'inF2' ( in float) +0:36 log ( temp float) +0:36 'inF0' ( in float) +0:37 component-wise multiply ( temp float) +0:37 log2 ( temp float) +0:37 'inF0' ( in float) 0:37 Constant: 0:37 0.301030 -0:38 log2 (temp float) -0:38 'inF0' (in float) -0:39 max (temp float) -0:39 'inF0' (in float) -0:39 'inF1' (in float) -0:40 min (temp float) -0:40 'inF0' (in float) -0:40 'inF1' (in float) -0:42 pow (temp float) -0:42 'inF0' (in float) -0:42 'inF1' (in float) -0:43 radians (temp float) -0:43 'inF0' (in float) -0:44 bitFieldReverse (temp int) +0:38 log2 ( temp float) +0:38 'inF0' ( in float) +0:39 max ( temp float) +0:39 'inF0' ( in float) +0:39 'inF1' ( in float) +0:40 min ( temp float) +0:40 'inF0' ( in float) +0:40 'inF1' ( in float) +0:42 pow ( temp float) +0:42 'inF0' ( in float) +0:42 'inF1' ( in float) +0:43 radians ( temp float) +0:43 'inF0' ( in float) +0:44 bitFieldReverse ( temp int) 0:44 Constant: 0:44 2 (const int) -0:45 roundEven (temp float) -0:45 'inF0' (in float) -0:46 inverse sqrt (temp float) -0:46 'inF0' (in float) -0:47 clamp (temp float) -0:47 'inF0' (in float) +0:45 roundEven ( temp float) +0:45 'inF0' ( in float) +0:46 inverse sqrt ( temp float) +0:46 'inF0' ( in float) +0:47 clamp ( temp float) +0:47 'inF0' ( in float) 0:47 Constant: 0:47 0.000000 0:47 Constant: 0:47 1.000000 -0:48 Sign (temp float) -0:48 'inF0' (in float) -0:49 sine (temp float) -0:49 'inF0' (in float) +0:48 Sign ( temp float) +0:48 'inF0' ( in float) +0:49 sine ( temp float) +0:49 'inF0' ( in float) 0:50 Sequence -0:50 move second child to first child (temp float) -0:50 'inF1' (in float) -0:50 sine (temp float) -0:50 'inF0' (in float) -0:50 move second child to first child (temp float) -0:50 'inF2' (in float) -0:50 cosine (temp float) -0:50 'inF0' (in float) -0:51 hyp. sine (temp float) -0:51 'inF0' (in float) -0:52 smoothstep (temp float) -0:52 'inF0' (in float) -0:52 'inF1' (in float) -0:52 'inF2' (in float) -0:53 sqrt (temp float) -0:53 'inF0' (in float) -0:54 step (temp float) -0:54 'inF0' (in float) -0:54 'inF1' (in float) -0:55 tangent (temp float) -0:55 'inF0' (in float) -0:56 hyp. tangent (temp float) -0:56 'inF0' (in float) -0:58 trunc (temp float) -0:58 'inF0' (in float) +0:50 move second child to first child ( temp float) +0:50 'inF1' ( in float) +0:50 sine ( temp float) +0:50 'inF0' ( in float) +0:50 move second child to first child ( temp float) +0:50 'inF2' ( in float) +0:50 cosine ( temp float) +0:50 'inF0' ( in float) +0:51 hyp. sine ( temp float) +0:51 'inF0' ( in float) +0:52 smoothstep ( temp float) +0:52 'inF0' ( in float) +0:52 'inF1' ( in float) +0:52 'inF2' ( in float) +0:53 sqrt ( temp float) +0:53 'inF0' ( in float) +0:54 step ( temp float) +0:54 'inF0' ( in float) +0:54 'inF1' ( in float) +0:55 tangent ( temp float) +0:55 'inF0' ( in float) +0:56 hyp. tangent ( temp float) +0:56 'inF0' ( in float) +0:58 trunc ( temp float) +0:58 'inF0' ( in float) 0:60 Branch: Return with expression 0:60 Constant: 0:60 0.000000 -0:64 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:64 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:64 Function Parameters: -0:64 'inF0' (in 1-component vector of float) -0:64 'inF1' (in 1-component vector of float) -0:64 'inF2' (in 1-component vector of float) +0:64 'inF0' ( in 1-component vector of float) +0:64 'inF1' ( in 1-component vector of float) +0:64 'inF2' ( in 1-component vector of float) 0:? Sequence 0:66 Branch: Return with expression 0:66 Constant: 0:66 0.000000 -0:70 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:70 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:70 Function Parameters: -0:70 'inF0' (in 2-component vector of float) -0:70 'inF1' (in 2-component vector of float) -0:70 'inF2' (in 2-component vector of float) -0:70 'inU0' (in 2-component vector of uint) -0:70 'inU1' (in 2-component vector of uint) +0:70 'inF0' ( in 2-component vector of float) +0:70 'inF1' ( in 2-component vector of float) +0:70 'inF2' ( in 2-component vector of float) +0:70 'inU0' ( in 2-component vector of uint) +0:70 'inU1' ( in 2-component vector of uint) 0:? Sequence -0:71 all (temp bool) -0:71 'inF0' (in 2-component vector of float) -0:72 Absolute value (temp 2-component vector of float) -0:72 'inF0' (in 2-component vector of float) -0:73 arc cosine (temp 2-component vector of float) -0:73 'inF0' (in 2-component vector of float) -0:74 any (temp bool) -0:74 'inF0' (in 2-component vector of float) -0:75 arc sine (temp 2-component vector of float) -0:75 'inF0' (in 2-component vector of float) -0:76 floatBitsToInt (temp 2-component vector of int) -0:76 'inF0' (in 2-component vector of float) -0:77 floatBitsToUint (temp 2-component vector of uint) -0:77 'inF0' (in 2-component vector of float) -0:78 intBitsToFloat (temp 2-component vector of float) -0:78 'inU0' (in 2-component vector of uint) -0:80 arc tangent (temp 2-component vector of float) -0:80 'inF0' (in 2-component vector of float) -0:81 arc tangent (temp 2-component vector of float) -0:81 'inF0' (in 2-component vector of float) -0:81 'inF1' (in 2-component vector of float) -0:82 Ceiling (temp 2-component vector of float) -0:82 'inF0' (in 2-component vector of float) -0:83 clamp (temp 2-component vector of float) -0:83 'inF0' (in 2-component vector of float) -0:83 'inF1' (in 2-component vector of float) -0:83 'inF2' (in 2-component vector of float) -0:84 cosine (temp 2-component vector of float) -0:84 'inF0' (in 2-component vector of float) -0:85 hyp. cosine (temp 2-component vector of float) -0:85 'inF0' (in 2-component vector of float) -0:? bitCount (temp 2-component vector of int) +0:71 all ( temp bool) +0:71 'inF0' ( in 2-component vector of float) +0:72 Absolute value ( temp 2-component vector of float) +0:72 'inF0' ( in 2-component vector of float) +0:73 arc cosine ( temp 2-component vector of float) +0:73 'inF0' ( in 2-component vector of float) +0:74 any ( temp bool) +0:74 'inF0' ( in 2-component vector of float) +0:75 arc sine ( temp 2-component vector of float) +0:75 'inF0' ( in 2-component vector of float) +0:76 floatBitsToInt ( temp 2-component vector of int) +0:76 'inF0' ( in 2-component vector of float) +0:77 floatBitsToUint ( temp 2-component vector of uint) +0:77 'inF0' ( in 2-component vector of float) +0:78 intBitsToFloat ( temp 2-component vector of float) +0:78 'inU0' ( in 2-component vector of uint) +0:80 arc tangent ( temp 2-component vector of float) +0:80 'inF0' ( in 2-component vector of float) +0:81 arc tangent ( temp 2-component vector of float) +0:81 'inF0' ( in 2-component vector of float) +0:81 'inF1' ( in 2-component vector of float) +0:82 Ceiling ( temp 2-component vector of float) +0:82 'inF0' ( in 2-component vector of float) +0:83 clamp ( temp 2-component vector of float) +0:83 'inF0' ( in 2-component vector of float) +0:83 'inF1' ( in 2-component vector of float) +0:83 'inF2' ( in 2-component vector of float) +0:84 cosine ( temp 2-component vector of float) +0:84 'inF0' ( in 2-component vector of float) +0:85 hyp. cosine ( temp 2-component vector of float) +0:85 'inF0' ( in 2-component vector of float) +0:? bitCount ( temp 2-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) -0:87 degrees (temp 2-component vector of float) -0:87 'inF0' (in 2-component vector of float) -0:88 distance (temp float) -0:88 'inF0' (in 2-component vector of float) -0:88 'inF1' (in 2-component vector of float) -0:89 dot-product (temp float) -0:89 'inF0' (in 2-component vector of float) -0:89 'inF1' (in 2-component vector of float) -0:93 exp (temp 2-component vector of float) -0:93 'inF0' (in 2-component vector of float) -0:94 exp2 (temp 2-component vector of float) -0:94 'inF0' (in 2-component vector of float) -0:95 face-forward (temp 2-component vector of float) -0:95 'inF0' (in 2-component vector of float) -0:95 'inF1' (in 2-component vector of float) -0:95 'inF2' (in 2-component vector of float) -0:96 findMSB (temp int) +0:87 degrees ( temp 2-component vector of float) +0:87 'inF0' ( in 2-component vector of float) +0:88 distance ( temp float) +0:88 'inF0' ( in 2-component vector of float) +0:88 'inF1' ( in 2-component vector of float) +0:89 dot-product ( temp float) +0:89 'inF0' ( in 2-component vector of float) +0:89 'inF1' ( in 2-component vector of float) +0:93 exp ( temp 2-component vector of float) +0:93 'inF0' ( in 2-component vector of float) +0:94 exp2 ( temp 2-component vector of float) +0:94 'inF0' ( in 2-component vector of float) +0:95 face-forward ( temp 2-component vector of float) +0:95 'inF0' ( in 2-component vector of float) +0:95 'inF1' ( in 2-component vector of float) +0:95 'inF2' ( in 2-component vector of float) +0:96 findMSB ( temp int) 0:96 Constant: 0:96 7 (const int) -0:97 findLSB (temp int) +0:97 findLSB ( temp int) 0:97 Constant: 0:97 7 (const int) -0:98 Floor (temp 2-component vector of float) -0:98 'inF0' (in 2-component vector of float) -0:100 mod (temp 2-component vector of float) -0:100 'inF0' (in 2-component vector of float) -0:100 'inF1' (in 2-component vector of float) -0:101 Fraction (temp 2-component vector of float) -0:101 'inF0' (in 2-component vector of float) -0:102 frexp (temp 2-component vector of float) -0:102 'inF0' (in 2-component vector of float) -0:102 'inF1' (in 2-component vector of float) -0:103 isinf (temp 2-component vector of bool) -0:103 'inF0' (in 2-component vector of float) -0:104 isnan (temp 2-component vector of bool) -0:104 'inF0' (in 2-component vector of float) -0:105 ldexp (temp 2-component vector of float) -0:105 'inF0' (in 2-component vector of float) -0:105 'inF1' (in 2-component vector of float) -0:106 mix (temp 2-component vector of float) -0:106 'inF0' (in 2-component vector of float) -0:106 'inF1' (in 2-component vector of float) -0:106 'inF2' (in 2-component vector of float) -0:107 length (temp float) -0:107 'inF0' (in 2-component vector of float) -0:108 log (temp 2-component vector of float) -0:108 'inF0' (in 2-component vector of float) -0:109 vector-scale (temp 2-component vector of float) -0:109 log2 (temp 2-component vector of float) -0:109 'inF0' (in 2-component vector of float) +0:98 Floor ( temp 2-component vector of float) +0:98 'inF0' ( in 2-component vector of float) +0:100 mod ( temp 2-component vector of float) +0:100 'inF0' ( in 2-component vector of float) +0:100 'inF1' ( in 2-component vector of float) +0:101 Fraction ( temp 2-component vector of float) +0:101 'inF0' ( in 2-component vector of float) +0:102 frexp ( temp 2-component vector of float) +0:102 'inF0' ( in 2-component vector of float) +0:102 'inF1' ( in 2-component vector of float) +0:103 isinf ( temp 2-component vector of bool) +0:103 'inF0' ( in 2-component vector of float) +0:104 isnan ( temp 2-component vector of bool) +0:104 'inF0' ( in 2-component vector of float) +0:105 ldexp ( temp 2-component vector of float) +0:105 'inF0' ( in 2-component vector of float) +0:105 'inF1' ( in 2-component vector of float) +0:106 mix ( temp 2-component vector of float) +0:106 'inF0' ( in 2-component vector of float) +0:106 'inF1' ( in 2-component vector of float) +0:106 'inF2' ( in 2-component vector of float) +0:107 length ( temp float) +0:107 'inF0' ( in 2-component vector of float) +0:108 log ( temp 2-component vector of float) +0:108 'inF0' ( in 2-component vector of float) +0:109 vector-scale ( temp 2-component vector of float) +0:109 log2 ( temp 2-component vector of float) +0:109 'inF0' ( in 2-component vector of float) 0:109 Constant: 0:109 0.301030 -0:110 log2 (temp 2-component vector of float) -0:110 'inF0' (in 2-component vector of float) -0:111 max (temp 2-component vector of float) -0:111 'inF0' (in 2-component vector of float) -0:111 'inF1' (in 2-component vector of float) -0:112 min (temp 2-component vector of float) -0:112 'inF0' (in 2-component vector of float) -0:112 'inF1' (in 2-component vector of float) -0:114 normalize (temp 2-component vector of float) -0:114 'inF0' (in 2-component vector of float) -0:115 pow (temp 2-component vector of float) -0:115 'inF0' (in 2-component vector of float) -0:115 'inF1' (in 2-component vector of float) -0:116 radians (temp 2-component vector of float) -0:116 'inF0' (in 2-component vector of float) -0:117 reflect (temp 2-component vector of float) -0:117 'inF0' (in 2-component vector of float) -0:117 'inF1' (in 2-component vector of float) -0:118 refract (temp 2-component vector of float) -0:118 'inF0' (in 2-component vector of float) -0:118 'inF1' (in 2-component vector of float) +0:110 log2 ( temp 2-component vector of float) +0:110 'inF0' ( in 2-component vector of float) +0:111 max ( temp 2-component vector of float) +0:111 'inF0' ( in 2-component vector of float) +0:111 'inF1' ( in 2-component vector of float) +0:112 min ( temp 2-component vector of float) +0:112 'inF0' ( in 2-component vector of float) +0:112 'inF1' ( in 2-component vector of float) +0:114 normalize ( temp 2-component vector of float) +0:114 'inF0' ( in 2-component vector of float) +0:115 pow ( temp 2-component vector of float) +0:115 'inF0' ( in 2-component vector of float) +0:115 'inF1' ( in 2-component vector of float) +0:116 radians ( temp 2-component vector of float) +0:116 'inF0' ( in 2-component vector of float) +0:117 reflect ( temp 2-component vector of float) +0:117 'inF0' ( in 2-component vector of float) +0:117 'inF1' ( in 2-component vector of float) +0:118 refract ( temp 2-component vector of float) +0:118 'inF0' ( in 2-component vector of float) +0:118 'inF1' ( in 2-component vector of float) 0:118 Constant: 0:118 2.000000 -0:? bitFieldReverse (temp 2-component vector of int) +0:? bitFieldReverse ( temp 2-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) -0:120 roundEven (temp 2-component vector of float) -0:120 'inF0' (in 2-component vector of float) -0:121 inverse sqrt (temp 2-component vector of float) -0:121 'inF0' (in 2-component vector of float) -0:122 clamp (temp 2-component vector of float) -0:122 'inF0' (in 2-component vector of float) +0:120 roundEven ( temp 2-component vector of float) +0:120 'inF0' ( in 2-component vector of float) +0:121 inverse sqrt ( temp 2-component vector of float) +0:121 'inF0' ( in 2-component vector of float) +0:122 clamp ( temp 2-component vector of float) +0:122 'inF0' ( in 2-component vector of float) 0:122 Constant: 0:122 0.000000 0:122 Constant: 0:122 1.000000 -0:123 Sign (temp 2-component vector of float) -0:123 'inF0' (in 2-component vector of float) -0:124 sine (temp 2-component vector of float) -0:124 'inF0' (in 2-component vector of float) +0:123 Sign ( temp 2-component vector of float) +0:123 'inF0' ( in 2-component vector of float) +0:124 sine ( temp 2-component vector of float) +0:124 'inF0' ( in 2-component vector of float) 0:125 Sequence -0:125 move second child to first child (temp 2-component vector of float) -0:125 'inF1' (in 2-component vector of float) -0:125 sine (temp 2-component vector of float) -0:125 'inF0' (in 2-component vector of float) -0:125 move second child to first child (temp 2-component vector of float) -0:125 'inF2' (in 2-component vector of float) -0:125 cosine (temp 2-component vector of float) -0:125 'inF0' (in 2-component vector of float) -0:126 hyp. sine (temp 2-component vector of float) -0:126 'inF0' (in 2-component vector of float) -0:127 smoothstep (temp 2-component vector of float) -0:127 'inF0' (in 2-component vector of float) -0:127 'inF1' (in 2-component vector of float) -0:127 'inF2' (in 2-component vector of float) -0:128 sqrt (temp 2-component vector of float) -0:128 'inF0' (in 2-component vector of float) -0:129 step (temp 2-component vector of float) -0:129 'inF0' (in 2-component vector of float) -0:129 'inF1' (in 2-component vector of float) -0:130 tangent (temp 2-component vector of float) -0:130 'inF0' (in 2-component vector of float) -0:131 hyp. tangent (temp 2-component vector of float) -0:131 'inF0' (in 2-component vector of float) -0:133 trunc (temp 2-component vector of float) -0:133 'inF0' (in 2-component vector of float) +0:125 move second child to first child ( temp 2-component vector of float) +0:125 'inF1' ( in 2-component vector of float) +0:125 sine ( temp 2-component vector of float) +0:125 'inF0' ( in 2-component vector of float) +0:125 move second child to first child ( temp 2-component vector of float) +0:125 'inF2' ( in 2-component vector of float) +0:125 cosine ( temp 2-component vector of float) +0:125 'inF0' ( in 2-component vector of float) +0:126 hyp. sine ( temp 2-component vector of float) +0:126 'inF0' ( in 2-component vector of float) +0:127 smoothstep ( temp 2-component vector of float) +0:127 'inF0' ( in 2-component vector of float) +0:127 'inF1' ( in 2-component vector of float) +0:127 'inF2' ( in 2-component vector of float) +0:128 sqrt ( temp 2-component vector of float) +0:128 'inF0' ( in 2-component vector of float) +0:129 step ( temp 2-component vector of float) +0:129 'inF0' ( in 2-component vector of float) +0:129 'inF1' ( in 2-component vector of float) +0:130 tangent ( temp 2-component vector of float) +0:130 'inF0' ( in 2-component vector of float) +0:131 hyp. tangent ( temp 2-component vector of float) +0:131 'inF0' ( in 2-component vector of float) +0:133 trunc ( temp 2-component vector of float) +0:133 'inF0' ( in 2-component vector of float) 0:136 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:140 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:140 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:140 Function Parameters: -0:140 'inF0' (in 3-component vector of float) -0:140 'inF1' (in 3-component vector of float) -0:140 'inF2' (in 3-component vector of float) -0:140 'inU0' (in 3-component vector of uint) -0:140 'inU1' (in 3-component vector of uint) +0:140 'inF0' ( in 3-component vector of float) +0:140 'inF1' ( in 3-component vector of float) +0:140 'inF2' ( in 3-component vector of float) +0:140 'inU0' ( in 3-component vector of uint) +0:140 'inU1' ( in 3-component vector of uint) 0:? Sequence -0:141 all (temp bool) -0:141 'inF0' (in 3-component vector of float) -0:142 Absolute value (temp 3-component vector of float) -0:142 'inF0' (in 3-component vector of float) -0:143 arc cosine (temp 3-component vector of float) -0:143 'inF0' (in 3-component vector of float) -0:144 any (temp bool) -0:144 'inF0' (in 3-component vector of float) -0:145 arc sine (temp 3-component vector of float) -0:145 'inF0' (in 3-component vector of float) -0:146 floatBitsToInt (temp 3-component vector of int) -0:146 'inF0' (in 3-component vector of float) -0:147 floatBitsToUint (temp 3-component vector of uint) -0:147 'inF0' (in 3-component vector of float) -0:148 intBitsToFloat (temp 3-component vector of float) -0:148 'inU0' (in 3-component vector of uint) -0:150 arc tangent (temp 3-component vector of float) -0:150 'inF0' (in 3-component vector of float) -0:151 arc tangent (temp 3-component vector of float) -0:151 'inF0' (in 3-component vector of float) -0:151 'inF1' (in 3-component vector of float) -0:152 Ceiling (temp 3-component vector of float) -0:152 'inF0' (in 3-component vector of float) -0:153 clamp (temp 3-component vector of float) -0:153 'inF0' (in 3-component vector of float) -0:153 'inF1' (in 3-component vector of float) -0:153 'inF2' (in 3-component vector of float) -0:154 cosine (temp 3-component vector of float) -0:154 'inF0' (in 3-component vector of float) -0:155 hyp. cosine (temp 3-component vector of float) -0:155 'inF0' (in 3-component vector of float) -0:? bitCount (temp 3-component vector of int) +0:141 all ( temp bool) +0:141 'inF0' ( in 3-component vector of float) +0:142 Absolute value ( temp 3-component vector of float) +0:142 'inF0' ( in 3-component vector of float) +0:143 arc cosine ( temp 3-component vector of float) +0:143 'inF0' ( in 3-component vector of float) +0:144 any ( temp bool) +0:144 'inF0' ( in 3-component vector of float) +0:145 arc sine ( temp 3-component vector of float) +0:145 'inF0' ( in 3-component vector of float) +0:146 floatBitsToInt ( temp 3-component vector of int) +0:146 'inF0' ( in 3-component vector of float) +0:147 floatBitsToUint ( temp 3-component vector of uint) +0:147 'inF0' ( in 3-component vector of float) +0:148 intBitsToFloat ( temp 3-component vector of float) +0:148 'inU0' ( in 3-component vector of uint) +0:150 arc tangent ( temp 3-component vector of float) +0:150 'inF0' ( in 3-component vector of float) +0:151 arc tangent ( temp 3-component vector of float) +0:151 'inF0' ( in 3-component vector of float) +0:151 'inF1' ( in 3-component vector of float) +0:152 Ceiling ( temp 3-component vector of float) +0:152 'inF0' ( in 3-component vector of float) +0:153 clamp ( temp 3-component vector of float) +0:153 'inF0' ( in 3-component vector of float) +0:153 'inF1' ( in 3-component vector of float) +0:153 'inF2' ( in 3-component vector of float) +0:154 cosine ( temp 3-component vector of float) +0:154 'inF0' ( in 3-component vector of float) +0:155 hyp. cosine ( temp 3-component vector of float) +0:155 'inF0' ( in 3-component vector of float) +0:? bitCount ( temp 3-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:? 5 (const int) -0:157 cross-product (temp 3-component vector of float) -0:157 'inF0' (in 3-component vector of float) -0:157 'inF1' (in 3-component vector of float) -0:158 degrees (temp 3-component vector of float) -0:158 'inF0' (in 3-component vector of float) -0:159 distance (temp float) -0:159 'inF0' (in 3-component vector of float) -0:159 'inF1' (in 3-component vector of float) -0:160 dot-product (temp float) -0:160 'inF0' (in 3-component vector of float) -0:160 'inF1' (in 3-component vector of float) -0:164 exp (temp 3-component vector of float) -0:164 'inF0' (in 3-component vector of float) -0:165 exp2 (temp 3-component vector of float) -0:165 'inF0' (in 3-component vector of float) -0:166 face-forward (temp 3-component vector of float) -0:166 'inF0' (in 3-component vector of float) -0:166 'inF1' (in 3-component vector of float) -0:166 'inF2' (in 3-component vector of float) -0:167 findMSB (temp int) +0:157 cross-product ( temp 3-component vector of float) +0:157 'inF0' ( in 3-component vector of float) +0:157 'inF1' ( in 3-component vector of float) +0:158 degrees ( temp 3-component vector of float) +0:158 'inF0' ( in 3-component vector of float) +0:159 distance ( temp float) +0:159 'inF0' ( in 3-component vector of float) +0:159 'inF1' ( in 3-component vector of float) +0:160 dot-product ( temp float) +0:160 'inF0' ( in 3-component vector of float) +0:160 'inF1' ( in 3-component vector of float) +0:164 exp ( temp 3-component vector of float) +0:164 'inF0' ( in 3-component vector of float) +0:165 exp2 ( temp 3-component vector of float) +0:165 'inF0' ( in 3-component vector of float) +0:166 face-forward ( temp 3-component vector of float) +0:166 'inF0' ( in 3-component vector of float) +0:166 'inF1' ( in 3-component vector of float) +0:166 'inF2' ( in 3-component vector of float) +0:167 findMSB ( temp int) 0:167 Constant: 0:167 7 (const int) -0:168 findLSB (temp int) +0:168 findLSB ( temp int) 0:168 Constant: 0:168 7 (const int) -0:169 Floor (temp 3-component vector of float) -0:169 'inF0' (in 3-component vector of float) -0:171 mod (temp 3-component vector of float) -0:171 'inF0' (in 3-component vector of float) -0:171 'inF1' (in 3-component vector of float) -0:172 Fraction (temp 3-component vector of float) -0:172 'inF0' (in 3-component vector of float) -0:173 frexp (temp 3-component vector of float) -0:173 'inF0' (in 3-component vector of float) -0:173 'inF1' (in 3-component vector of float) -0:174 isinf (temp 3-component vector of bool) -0:174 'inF0' (in 3-component vector of float) -0:175 isnan (temp 3-component vector of bool) -0:175 'inF0' (in 3-component vector of float) -0:176 ldexp (temp 3-component vector of float) -0:176 'inF0' (in 3-component vector of float) -0:176 'inF1' (in 3-component vector of float) -0:177 mix (temp 3-component vector of float) -0:177 'inF0' (in 3-component vector of float) -0:177 'inF1' (in 3-component vector of float) -0:177 'inF2' (in 3-component vector of float) -0:178 length (temp float) -0:178 'inF0' (in 3-component vector of float) -0:179 log (temp 3-component vector of float) -0:179 'inF0' (in 3-component vector of float) -0:180 vector-scale (temp 3-component vector of float) -0:180 log2 (temp 3-component vector of float) -0:180 'inF0' (in 3-component vector of float) +0:169 Floor ( temp 3-component vector of float) +0:169 'inF0' ( in 3-component vector of float) +0:171 mod ( temp 3-component vector of float) +0:171 'inF0' ( in 3-component vector of float) +0:171 'inF1' ( in 3-component vector of float) +0:172 Fraction ( temp 3-component vector of float) +0:172 'inF0' ( in 3-component vector of float) +0:173 frexp ( temp 3-component vector of float) +0:173 'inF0' ( in 3-component vector of float) +0:173 'inF1' ( in 3-component vector of float) +0:174 isinf ( temp 3-component vector of bool) +0:174 'inF0' ( in 3-component vector of float) +0:175 isnan ( temp 3-component vector of bool) +0:175 'inF0' ( in 3-component vector of float) +0:176 ldexp ( temp 3-component vector of float) +0:176 'inF0' ( in 3-component vector of float) +0:176 'inF1' ( in 3-component vector of float) +0:177 mix ( temp 3-component vector of float) +0:177 'inF0' ( in 3-component vector of float) +0:177 'inF1' ( in 3-component vector of float) +0:177 'inF2' ( in 3-component vector of float) +0:178 length ( temp float) +0:178 'inF0' ( in 3-component vector of float) +0:179 log ( temp 3-component vector of float) +0:179 'inF0' ( in 3-component vector of float) +0:180 vector-scale ( temp 3-component vector of float) +0:180 log2 ( temp 3-component vector of float) +0:180 'inF0' ( in 3-component vector of float) 0:180 Constant: 0:180 0.301030 -0:181 log2 (temp 3-component vector of float) -0:181 'inF0' (in 3-component vector of float) -0:182 max (temp 3-component vector of float) -0:182 'inF0' (in 3-component vector of float) -0:182 'inF1' (in 3-component vector of float) -0:183 min (temp 3-component vector of float) -0:183 'inF0' (in 3-component vector of float) -0:183 'inF1' (in 3-component vector of float) -0:185 normalize (temp 3-component vector of float) -0:185 'inF0' (in 3-component vector of float) -0:186 pow (temp 3-component vector of float) -0:186 'inF0' (in 3-component vector of float) -0:186 'inF1' (in 3-component vector of float) -0:187 radians (temp 3-component vector of float) -0:187 'inF0' (in 3-component vector of float) -0:188 reflect (temp 3-component vector of float) -0:188 'inF0' (in 3-component vector of float) -0:188 'inF1' (in 3-component vector of float) -0:189 refract (temp 3-component vector of float) -0:189 'inF0' (in 3-component vector of float) -0:189 'inF1' (in 3-component vector of float) +0:181 log2 ( temp 3-component vector of float) +0:181 'inF0' ( in 3-component vector of float) +0:182 max ( temp 3-component vector of float) +0:182 'inF0' ( in 3-component vector of float) +0:182 'inF1' ( in 3-component vector of float) +0:183 min ( temp 3-component vector of float) +0:183 'inF0' ( in 3-component vector of float) +0:183 'inF1' ( in 3-component vector of float) +0:185 normalize ( temp 3-component vector of float) +0:185 'inF0' ( in 3-component vector of float) +0:186 pow ( temp 3-component vector of float) +0:186 'inF0' ( in 3-component vector of float) +0:186 'inF1' ( in 3-component vector of float) +0:187 radians ( temp 3-component vector of float) +0:187 'inF0' ( in 3-component vector of float) +0:188 reflect ( temp 3-component vector of float) +0:188 'inF0' ( in 3-component vector of float) +0:188 'inF1' ( in 3-component vector of float) +0:189 refract ( temp 3-component vector of float) +0:189 'inF0' ( in 3-component vector of float) +0:189 'inF1' ( in 3-component vector of float) 0:189 Constant: 0:189 2.000000 -0:? bitFieldReverse (temp 3-component vector of int) +0:? bitFieldReverse ( temp 3-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) -0:191 roundEven (temp 3-component vector of float) -0:191 'inF0' (in 3-component vector of float) -0:192 inverse sqrt (temp 3-component vector of float) -0:192 'inF0' (in 3-component vector of float) -0:193 clamp (temp 3-component vector of float) -0:193 'inF0' (in 3-component vector of float) +0:191 roundEven ( temp 3-component vector of float) +0:191 'inF0' ( in 3-component vector of float) +0:192 inverse sqrt ( temp 3-component vector of float) +0:192 'inF0' ( in 3-component vector of float) +0:193 clamp ( temp 3-component vector of float) +0:193 'inF0' ( in 3-component vector of float) 0:193 Constant: 0:193 0.000000 0:193 Constant: 0:193 1.000000 -0:194 Sign (temp 3-component vector of float) -0:194 'inF0' (in 3-component vector of float) -0:195 sine (temp 3-component vector of float) -0:195 'inF0' (in 3-component vector of float) +0:194 Sign ( temp 3-component vector of float) +0:194 'inF0' ( in 3-component vector of float) +0:195 sine ( temp 3-component vector of float) +0:195 'inF0' ( in 3-component vector of float) 0:196 Sequence -0:196 move second child to first child (temp 3-component vector of float) -0:196 'inF1' (in 3-component vector of float) -0:196 sine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) -0:196 move second child to first child (temp 3-component vector of float) -0:196 'inF2' (in 3-component vector of float) -0:196 cosine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) -0:197 hyp. sine (temp 3-component vector of float) -0:197 'inF0' (in 3-component vector of float) -0:198 smoothstep (temp 3-component vector of float) -0:198 'inF0' (in 3-component vector of float) -0:198 'inF1' (in 3-component vector of float) -0:198 'inF2' (in 3-component vector of float) -0:199 sqrt (temp 3-component vector of float) -0:199 'inF0' (in 3-component vector of float) -0:200 step (temp 3-component vector of float) -0:200 'inF0' (in 3-component vector of float) -0:200 'inF1' (in 3-component vector of float) -0:201 tangent (temp 3-component vector of float) -0:201 'inF0' (in 3-component vector of float) -0:202 hyp. tangent (temp 3-component vector of float) -0:202 'inF0' (in 3-component vector of float) -0:204 trunc (temp 3-component vector of float) -0:204 'inF0' (in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'inF1' ( in 3-component vector of float) +0:196 sine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'inF2' ( in 3-component vector of float) +0:196 cosine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) +0:197 hyp. sine ( temp 3-component vector of float) +0:197 'inF0' ( in 3-component vector of float) +0:198 smoothstep ( temp 3-component vector of float) +0:198 'inF0' ( in 3-component vector of float) +0:198 'inF1' ( in 3-component vector of float) +0:198 'inF2' ( in 3-component vector of float) +0:199 sqrt ( temp 3-component vector of float) +0:199 'inF0' ( in 3-component vector of float) +0:200 step ( temp 3-component vector of float) +0:200 'inF0' ( in 3-component vector of float) +0:200 'inF1' ( in 3-component vector of float) +0:201 tangent ( temp 3-component vector of float) +0:201 'inF0' ( in 3-component vector of float) +0:202 hyp. tangent ( temp 3-component vector of float) +0:202 'inF0' ( in 3-component vector of float) +0:204 trunc ( temp 3-component vector of float) +0:204 'inF0' ( in 3-component vector of float) 0:207 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:211 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:211 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:211 Function Parameters: -0:211 'inF0' (in 4-component vector of float) -0:211 'inF1' (in 4-component vector of float) -0:211 'inF2' (in 4-component vector of float) -0:211 'inU0' (in 4-component vector of uint) -0:211 'inU1' (in 4-component vector of uint) +0:211 'inF0' ( in 4-component vector of float) +0:211 'inF1' ( in 4-component vector of float) +0:211 'inF2' ( in 4-component vector of float) +0:211 'inU0' ( in 4-component vector of uint) +0:211 'inU1' ( in 4-component vector of uint) 0:? Sequence -0:212 all (temp bool) -0:212 'inF0' (in 4-component vector of float) -0:213 Absolute value (temp 4-component vector of float) -0:213 'inF0' (in 4-component vector of float) -0:214 arc cosine (temp 4-component vector of float) -0:214 'inF0' (in 4-component vector of float) -0:215 any (temp bool) -0:215 'inF0' (in 4-component vector of float) -0:216 arc sine (temp 4-component vector of float) -0:216 'inF0' (in 4-component vector of float) -0:217 floatBitsToInt (temp 4-component vector of int) -0:217 'inF0' (in 4-component vector of float) -0:218 floatBitsToUint (temp 4-component vector of uint) -0:218 'inF0' (in 4-component vector of float) -0:219 intBitsToFloat (temp 4-component vector of float) -0:219 'inU0' (in 4-component vector of uint) -0:221 arc tangent (temp 4-component vector of float) -0:221 'inF0' (in 4-component vector of float) -0:222 arc tangent (temp 4-component vector of float) -0:222 'inF0' (in 4-component vector of float) -0:222 'inF1' (in 4-component vector of float) -0:223 Ceiling (temp 4-component vector of float) -0:223 'inF0' (in 4-component vector of float) -0:224 clamp (temp 4-component vector of float) -0:224 'inF0' (in 4-component vector of float) -0:224 'inF1' (in 4-component vector of float) -0:224 'inF2' (in 4-component vector of float) -0:225 cosine (temp 4-component vector of float) -0:225 'inF0' (in 4-component vector of float) -0:226 hyp. cosine (temp 4-component vector of float) -0:226 'inF0' (in 4-component vector of float) -0:? bitCount (temp 4-component vector of int) +0:212 all ( temp bool) +0:212 'inF0' ( in 4-component vector of float) +0:213 Absolute value ( temp 4-component vector of float) +0:213 'inF0' ( in 4-component vector of float) +0:214 arc cosine ( temp 4-component vector of float) +0:214 'inF0' ( in 4-component vector of float) +0:215 any ( temp bool) +0:215 'inF0' ( in 4-component vector of float) +0:216 arc sine ( temp 4-component vector of float) +0:216 'inF0' ( in 4-component vector of float) +0:217 floatBitsToInt ( temp 4-component vector of int) +0:217 'inF0' ( in 4-component vector of float) +0:218 floatBitsToUint ( temp 4-component vector of uint) +0:218 'inF0' ( in 4-component vector of float) +0:219 intBitsToFloat ( temp 4-component vector of float) +0:219 'inU0' ( in 4-component vector of uint) +0:221 arc tangent ( temp 4-component vector of float) +0:221 'inF0' ( in 4-component vector of float) +0:222 arc tangent ( temp 4-component vector of float) +0:222 'inF0' ( in 4-component vector of float) +0:222 'inF1' ( in 4-component vector of float) +0:223 Ceiling ( temp 4-component vector of float) +0:223 'inF0' ( in 4-component vector of float) +0:224 clamp ( temp 4-component vector of float) +0:224 'inF0' ( in 4-component vector of float) +0:224 'inF1' ( in 4-component vector of float) +0:224 'inF2' ( in 4-component vector of float) +0:225 cosine ( temp 4-component vector of float) +0:225 'inF0' ( in 4-component vector of float) +0:226 hyp. cosine ( temp 4-component vector of float) +0:226 'inF0' ( in 4-component vector of float) +0:? bitCount ( temp 4-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:? 5 (const int) 0:? 2 (const int) -0:228 degrees (temp 4-component vector of float) -0:228 'inF0' (in 4-component vector of float) -0:229 distance (temp float) -0:229 'inF0' (in 4-component vector of float) -0:229 'inF1' (in 4-component vector of float) -0:230 dot-product (temp float) -0:230 'inF0' (in 4-component vector of float) -0:230 'inF1' (in 4-component vector of float) -0:231 Construct vec4 (temp 4-component vector of float) +0:228 degrees ( temp 4-component vector of float) +0:228 'inF0' ( in 4-component vector of float) +0:229 distance ( temp float) +0:229 'inF0' ( in 4-component vector of float) +0:229 'inF1' ( in 4-component vector of float) +0:230 dot-product ( temp float) +0:230 'inF0' ( in 4-component vector of float) +0:230 'inF1' ( in 4-component vector of float) +0:231 Construct vec4 ( temp 4-component vector of float) 0:231 Constant: 0:231 1.000000 -0:231 component-wise multiply (temp float) -0:231 direct index (temp float) -0:231 'inF0' (in 4-component vector of float) +0:231 component-wise multiply ( temp float) +0:231 direct index ( temp float) +0:231 'inF0' ( in 4-component vector of float) 0:231 Constant: 0:231 1 (const int) -0:231 direct index (temp float) -0:231 'inF1' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF1' ( in 4-component vector of float) 0:231 Constant: 0:231 1 (const int) -0:231 direct index (temp float) -0:231 'inF0' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF0' ( in 4-component vector of float) 0:231 Constant: 0:231 2 (const int) -0:231 direct index (temp float) -0:231 'inF1' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF1' ( in 4-component vector of float) 0:231 Constant: 0:231 3 (const int) -0:235 exp (temp 4-component vector of float) -0:235 'inF0' (in 4-component vector of float) -0:236 exp2 (temp 4-component vector of float) -0:236 'inF0' (in 4-component vector of float) -0:237 face-forward (temp 4-component vector of float) -0:237 'inF0' (in 4-component vector of float) -0:237 'inF1' (in 4-component vector of float) -0:237 'inF2' (in 4-component vector of float) -0:238 findMSB (temp int) +0:235 exp ( temp 4-component vector of float) +0:235 'inF0' ( in 4-component vector of float) +0:236 exp2 ( temp 4-component vector of float) +0:236 'inF0' ( in 4-component vector of float) +0:237 face-forward ( temp 4-component vector of float) +0:237 'inF0' ( in 4-component vector of float) +0:237 'inF1' ( in 4-component vector of float) +0:237 'inF2' ( in 4-component vector of float) +0:238 findMSB ( temp int) 0:238 Constant: 0:238 7 (const int) -0:239 findLSB (temp int) +0:239 findLSB ( temp int) 0:239 Constant: 0:239 7 (const int) -0:240 Floor (temp 4-component vector of float) -0:240 'inF0' (in 4-component vector of float) -0:242 mod (temp 4-component vector of float) -0:242 'inF0' (in 4-component vector of float) -0:242 'inF1' (in 4-component vector of float) -0:243 Fraction (temp 4-component vector of float) -0:243 'inF0' (in 4-component vector of float) -0:244 frexp (temp 4-component vector of float) -0:244 'inF0' (in 4-component vector of float) -0:244 'inF1' (in 4-component vector of float) -0:245 isinf (temp 4-component vector of bool) -0:245 'inF0' (in 4-component vector of float) -0:246 isnan (temp 4-component vector of bool) -0:246 'inF0' (in 4-component vector of float) -0:247 ldexp (temp 4-component vector of float) -0:247 'inF0' (in 4-component vector of float) -0:247 'inF1' (in 4-component vector of float) -0:248 mix (temp 4-component vector of float) -0:248 'inF0' (in 4-component vector of float) -0:248 'inF1' (in 4-component vector of float) -0:248 'inF2' (in 4-component vector of float) -0:249 length (temp float) -0:249 'inF0' (in 4-component vector of float) -0:250 log (temp 4-component vector of float) -0:250 'inF0' (in 4-component vector of float) -0:251 vector-scale (temp 4-component vector of float) -0:251 log2 (temp 4-component vector of float) -0:251 'inF0' (in 4-component vector of float) +0:240 Floor ( temp 4-component vector of float) +0:240 'inF0' ( in 4-component vector of float) +0:242 mod ( temp 4-component vector of float) +0:242 'inF0' ( in 4-component vector of float) +0:242 'inF1' ( in 4-component vector of float) +0:243 Fraction ( temp 4-component vector of float) +0:243 'inF0' ( in 4-component vector of float) +0:244 frexp ( temp 4-component vector of float) +0:244 'inF0' ( in 4-component vector of float) +0:244 'inF1' ( in 4-component vector of float) +0:245 isinf ( temp 4-component vector of bool) +0:245 'inF0' ( in 4-component vector of float) +0:246 isnan ( temp 4-component vector of bool) +0:246 'inF0' ( in 4-component vector of float) +0:247 ldexp ( temp 4-component vector of float) +0:247 'inF0' ( in 4-component vector of float) +0:247 'inF1' ( in 4-component vector of float) +0:248 mix ( temp 4-component vector of float) +0:248 'inF0' ( in 4-component vector of float) +0:248 'inF1' ( in 4-component vector of float) +0:248 'inF2' ( in 4-component vector of float) +0:249 length ( temp float) +0:249 'inF0' ( in 4-component vector of float) +0:250 log ( temp 4-component vector of float) +0:250 'inF0' ( in 4-component vector of float) +0:251 vector-scale ( temp 4-component vector of float) +0:251 log2 ( temp 4-component vector of float) +0:251 'inF0' ( in 4-component vector of float) 0:251 Constant: 0:251 0.301030 -0:252 log2 (temp 4-component vector of float) -0:252 'inF0' (in 4-component vector of float) -0:253 max (temp 4-component vector of float) -0:253 'inF0' (in 4-component vector of float) -0:253 'inF1' (in 4-component vector of float) -0:254 min (temp 4-component vector of float) -0:254 'inF0' (in 4-component vector of float) -0:254 'inF1' (in 4-component vector of float) -0:256 normalize (temp 4-component vector of float) -0:256 'inF0' (in 4-component vector of float) -0:257 pow (temp 4-component vector of float) -0:257 'inF0' (in 4-component vector of float) -0:257 'inF1' (in 4-component vector of float) -0:258 radians (temp 4-component vector of float) -0:258 'inF0' (in 4-component vector of float) -0:259 reflect (temp 4-component vector of float) -0:259 'inF0' (in 4-component vector of float) -0:259 'inF1' (in 4-component vector of float) -0:260 refract (temp 4-component vector of float) -0:260 'inF0' (in 4-component vector of float) -0:260 'inF1' (in 4-component vector of float) +0:252 log2 ( temp 4-component vector of float) +0:252 'inF0' ( in 4-component vector of float) +0:253 max ( temp 4-component vector of float) +0:253 'inF0' ( in 4-component vector of float) +0:253 'inF1' ( in 4-component vector of float) +0:254 min ( temp 4-component vector of float) +0:254 'inF0' ( in 4-component vector of float) +0:254 'inF1' ( in 4-component vector of float) +0:256 normalize ( temp 4-component vector of float) +0:256 'inF0' ( in 4-component vector of float) +0:257 pow ( temp 4-component vector of float) +0:257 'inF0' ( in 4-component vector of float) +0:257 'inF1' ( in 4-component vector of float) +0:258 radians ( temp 4-component vector of float) +0:258 'inF0' ( in 4-component vector of float) +0:259 reflect ( temp 4-component vector of float) +0:259 'inF0' ( in 4-component vector of float) +0:259 'inF1' ( in 4-component vector of float) +0:260 refract ( temp 4-component vector of float) +0:260 'inF0' ( in 4-component vector of float) +0:260 'inF1' ( in 4-component vector of float) 0:260 Constant: 0:260 2.000000 -0:? bitFieldReverse (temp 4-component vector of int) +0:? bitFieldReverse ( temp 4-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:262 roundEven (temp 4-component vector of float) -0:262 'inF0' (in 4-component vector of float) -0:263 inverse sqrt (temp 4-component vector of float) -0:263 'inF0' (in 4-component vector of float) -0:264 clamp (temp 4-component vector of float) -0:264 'inF0' (in 4-component vector of float) +0:262 roundEven ( temp 4-component vector of float) +0:262 'inF0' ( in 4-component vector of float) +0:263 inverse sqrt ( temp 4-component vector of float) +0:263 'inF0' ( in 4-component vector of float) +0:264 clamp ( temp 4-component vector of float) +0:264 'inF0' ( in 4-component vector of float) 0:264 Constant: 0:264 0.000000 0:264 Constant: 0:264 1.000000 -0:265 Sign (temp 4-component vector of float) -0:265 'inF0' (in 4-component vector of float) -0:266 sine (temp 4-component vector of float) -0:266 'inF0' (in 4-component vector of float) +0:265 Sign ( temp 4-component vector of float) +0:265 'inF0' ( in 4-component vector of float) +0:266 sine ( temp 4-component vector of float) +0:266 'inF0' ( in 4-component vector of float) 0:267 Sequence -0:267 move second child to first child (temp 4-component vector of float) -0:267 'inF1' (in 4-component vector of float) -0:267 sine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) -0:267 move second child to first child (temp 4-component vector of float) -0:267 'inF2' (in 4-component vector of float) -0:267 cosine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) -0:268 hyp. sine (temp 4-component vector of float) -0:268 'inF0' (in 4-component vector of float) -0:269 smoothstep (temp 4-component vector of float) -0:269 'inF0' (in 4-component vector of float) -0:269 'inF1' (in 4-component vector of float) -0:269 'inF2' (in 4-component vector of float) -0:270 sqrt (temp 4-component vector of float) -0:270 'inF0' (in 4-component vector of float) -0:271 step (temp 4-component vector of float) -0:271 'inF0' (in 4-component vector of float) -0:271 'inF1' (in 4-component vector of float) -0:272 tangent (temp 4-component vector of float) -0:272 'inF0' (in 4-component vector of float) -0:273 hyp. tangent (temp 4-component vector of float) -0:273 'inF0' (in 4-component vector of float) -0:275 trunc (temp 4-component vector of float) -0:275 'inF0' (in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'inF1' ( in 4-component vector of float) +0:267 sine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'inF2' ( in 4-component vector of float) +0:267 cosine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) +0:268 hyp. sine ( temp 4-component vector of float) +0:268 'inF0' ( in 4-component vector of float) +0:269 smoothstep ( temp 4-component vector of float) +0:269 'inF0' ( in 4-component vector of float) +0:269 'inF1' ( in 4-component vector of float) +0:269 'inF2' ( in 4-component vector of float) +0:270 sqrt ( temp 4-component vector of float) +0:270 'inF0' ( in 4-component vector of float) +0:271 step ( temp 4-component vector of float) +0:271 'inF0' ( in 4-component vector of float) +0:271 'inF1' ( in 4-component vector of float) +0:272 tangent ( temp 4-component vector of float) +0:272 'inF0' ( in 4-component vector of float) +0:273 hyp. tangent ( temp 4-component vector of float) +0:273 'inF0' ( in 4-component vector of float) +0:275 trunc ( temp 4-component vector of float) +0:275 'inF0' ( in 4-component vector of float) 0:278 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:336 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:336 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:336 Function Parameters: -0:336 'inF0' (in 2X2 matrix of float) -0:336 'inF1' (in 2X2 matrix of float) -0:336 'inF2' (in 2X2 matrix of float) +0:336 'inF0' ( in 2X2 matrix of float) +0:336 'inF1' ( in 2X2 matrix of float) +0:336 'inF2' ( in 2X2 matrix of float) 0:? Sequence -0:338 all (temp bool) -0:338 'inF0' (in 2X2 matrix of float) -0:338 Absolute value (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 any (temp bool) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 Ceiling (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 degrees (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 determinant (temp float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 exp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 exp2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 findMSB (temp int) +0:338 all ( temp bool) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 Absolute value ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 any ( temp bool) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 Ceiling ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 clamp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 degrees ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 determinant ( temp float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 exp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 exp2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 findMSB ( temp int) 0:338 Constant: 0:338 7 (const int) -0:338 findLSB (temp int) +0:338 findLSB ( temp int) 0:338 Constant: 0:338 7 (const int) -0:338 Floor (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 mod (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 Fraction (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 frexp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 ldexp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 mix (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 log (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 matrix-scale (temp 2X2 matrix of float) -0:338 log2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 Floor ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 mod ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 Fraction ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 frexp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 ldexp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 mix ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 log ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 matrix-scale ( temp 2X2 matrix of float) +0:338 log2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Constant: 0:338 0.301030 -0:338 log2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 max (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 min (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 pow (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 radians (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 roundEven (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 inverse sqrt (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 log2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 max ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 min ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 pow ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 radians ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 roundEven ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 inverse sqrt ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 clamp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Constant: 0:338 0.000000 0:338 Constant: 0:338 1.000000 -0:338 Sign (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 Sign ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Sequence -0:338 move second child to first child (temp 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 move second child to first child (temp 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 smoothstep (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 sqrt (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 step (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 transpose (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 trunc (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 move second child to first child ( temp 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 move second child to first child ( temp 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 smoothstep ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 sqrt ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 step ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 transpose ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 trunc ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:341 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:345 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:345 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:345 Function Parameters: -0:345 'inF0' (in 3X3 matrix of float) -0:345 'inF1' (in 3X3 matrix of float) -0:345 'inF2' (in 3X3 matrix of float) +0:345 'inF0' ( in 3X3 matrix of float) +0:345 'inF1' ( in 3X3 matrix of float) +0:345 'inF2' ( in 3X3 matrix of float) 0:? Sequence -0:347 all (temp bool) -0:347 'inF0' (in 3X3 matrix of float) -0:347 Absolute value (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 any (temp bool) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 Ceiling (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 degrees (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 determinant (temp float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 exp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 exp2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 findMSB (temp int) +0:347 all ( temp bool) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 Absolute value ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 any ( temp bool) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 Ceiling ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 clamp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 degrees ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 determinant ( temp float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 exp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 exp2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 findMSB ( temp int) 0:347 Constant: 0:347 7 (const int) -0:347 findLSB (temp int) +0:347 findLSB ( temp int) 0:347 Constant: 0:347 7 (const int) -0:347 Floor (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 mod (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 Fraction (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 frexp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 ldexp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 mix (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 log (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 matrix-scale (temp 3X3 matrix of float) -0:347 log2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 Floor ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 mod ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 Fraction ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 frexp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 ldexp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 mix ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 log ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 matrix-scale ( temp 3X3 matrix of float) +0:347 log2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Constant: 0:347 0.301030 -0:347 log2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 max (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 min (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 pow (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 radians (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 roundEven (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 inverse sqrt (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 log2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 max ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 min ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 pow ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 radians ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 roundEven ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 inverse sqrt ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 clamp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Constant: 0:347 0.000000 0:347 Constant: 0:347 1.000000 -0:347 Sign (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 Sign ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Sequence -0:347 move second child to first child (temp 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 move second child to first child (temp 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 smoothstep (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 sqrt (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 step (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 transpose (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 trunc (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 move second child to first child ( temp 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 move second child to first child ( temp 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 smoothstep ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 sqrt ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 step ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 transpose ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 trunc ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:350 Branch: Return with expression 0:? Constant: 0:? 3.000000 @@ -946,130 +946,130 @@ Shader version: 450 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:354 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:354 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:354 Function Parameters: -0:354 'inF0' (in 4X4 matrix of float) -0:354 'inF1' (in 4X4 matrix of float) -0:354 'inF2' (in 4X4 matrix of float) +0:354 'inF0' ( in 4X4 matrix of float) +0:354 'inF1' ( in 4X4 matrix of float) +0:354 'inF2' ( in 4X4 matrix of float) 0:? Sequence -0:356 all (temp bool) -0:356 'inF0' (in 4X4 matrix of float) -0:356 Absolute value (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 any (temp bool) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 Ceiling (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 degrees (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 determinant (temp float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 exp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 exp2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 findMSB (temp int) +0:356 all ( temp bool) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 Absolute value ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 any ( temp bool) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 Ceiling ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 clamp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 degrees ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 determinant ( temp float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 exp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 exp2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 findMSB ( temp int) 0:356 Constant: 0:356 7 (const int) -0:356 findLSB (temp int) +0:356 findLSB ( temp int) 0:356 Constant: 0:356 7 (const int) -0:356 Floor (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 mod (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 Fraction (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 frexp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 ldexp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 mix (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 log (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 matrix-scale (temp 4X4 matrix of float) -0:356 log2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 Floor ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 mod ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 Fraction ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 frexp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 ldexp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 mix ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 log ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 matrix-scale ( temp 4X4 matrix of float) +0:356 log2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Constant: 0:356 0.301030 -0:356 log2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 max (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 min (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 pow (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 radians (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 roundEven (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 inverse sqrt (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 log2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 max ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 min ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 pow ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 radians ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 roundEven ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 inverse sqrt ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 clamp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Constant: 0:356 0.000000 0:356 Constant: 0:356 1.000000 -0:356 Sign (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 Sign ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Sequence -0:356 move second child to first child (temp 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 move second child to first child (temp 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 smoothstep (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 sqrt (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 step (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 transpose (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 trunc (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 move second child to first child ( temp 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 move second child to first child ( temp 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 smoothstep ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 sqrt ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 step ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 transpose ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 trunc ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:359 Branch: Return with expression 0:? Constant: 0:? 4.000000 @@ -1088,309 +1088,309 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? 4.000000 -0:377 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void) +0:377 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void) 0:377 Function Parameters: -0:377 'inF0' (in float) -0:377 'inF1' (in float) -0:377 'inFV0' (in 2-component vector of float) -0:377 'inFV1' (in 2-component vector of float) -0:377 'inFM0' (in 2X2 matrix of float) -0:377 'inFM1' (in 2X2 matrix of float) +0:377 'inF0' ( in float) +0:377 'inF1' ( in float) +0:377 'inFV0' ( in 2-component vector of float) +0:377 'inFV1' ( in 2-component vector of float) +0:377 'inFM0' ( in 2X2 matrix of float) +0:377 'inFM1' ( in 2X2 matrix of float) 0:? Sequence 0:378 Sequence -0:378 move second child to first child (temp float) -0:378 'r0' (temp float) -0:378 component-wise multiply (temp float) -0:378 'inF1' (in float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp float) +0:378 'r0' ( temp float) +0:378 component-wise multiply ( temp float) +0:378 'inF1' ( in float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r1' (temp 2-component vector of float) -0:378 vector-scale (temp 2-component vector of float) -0:378 'inF0' (in float) -0:378 'inFV0' (in 2-component vector of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r1' ( temp 2-component vector of float) +0:378 vector-scale ( temp 2-component vector of float) +0:378 'inF0' ( in float) +0:378 'inFV0' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r2' (temp 2-component vector of float) -0:378 vector-scale (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r2' ( temp 2-component vector of float) +0:378 vector-scale ( temp 2-component vector of float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp float) -0:378 'r3' (temp float) -0:378 dot-product (temp float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inFV1' (in 2-component vector of float) +0:378 move second child to first child ( temp float) +0:378 'r3' ( temp float) +0:378 dot-product ( temp float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inFV1' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r4' (temp 2-component vector of float) -0:378 vector-times-matrix (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r4' ( temp 2-component vector of float) +0:378 vector-times-matrix ( temp 2-component vector of float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inFM0' ( in 2X2 matrix of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r5' (temp 2-component vector of float) -0:378 matrix-times-vector (temp 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inFV0' (in 2-component vector of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r5' ( temp 2-component vector of float) +0:378 matrix-times-vector ( temp 2-component vector of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:378 'inFV0' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r6' (temp 2X2 matrix of float) -0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inF0' (in float) -0:378 'inFM0' (in 2X2 matrix of float) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r6' ( temp 2X2 matrix of float) +0:378 matrix-scale ( temp 2X2 matrix of float) +0:378 'inF0' ( in float) +0:378 'inFM0' ( in 2X2 matrix of float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r7' (temp 2X2 matrix of float) -0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r7' ( temp 2X2 matrix of float) +0:378 matrix-scale ( temp 2X2 matrix of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r8' (temp 2X2 matrix of float) -0:378 matrix-multiply (temp 2X2 matrix of float) -0:378 'inFM1' (in 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r8' ( temp 2X2 matrix of float) +0:378 matrix-multiply ( temp 2X2 matrix of float) +0:378 'inFM1' ( in 2X2 matrix of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void) 0:384 Function Parameters: -0:384 'inF0' (in float) -0:384 'inF1' (in float) -0:384 'inFV0' (in 3-component vector of float) -0:384 'inFV1' (in 3-component vector of float) -0:384 'inFM0' (in 3X3 matrix of float) -0:384 'inFM1' (in 3X3 matrix of float) +0:384 'inF0' ( in float) +0:384 'inF1' ( in float) +0:384 'inFV0' ( in 3-component vector of float) +0:384 'inFV1' ( in 3-component vector of float) +0:384 'inFM0' ( in 3X3 matrix of float) +0:384 'inFM1' ( in 3X3 matrix of float) 0:? Sequence 0:385 Sequence -0:385 move second child to first child (temp float) -0:385 'r0' (temp float) -0:385 component-wise multiply (temp float) -0:385 'inF1' (in float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp float) +0:385 'r0' ( temp float) +0:385 component-wise multiply ( temp float) +0:385 'inF1' ( in float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r1' (temp 3-component vector of float) -0:385 vector-scale (temp 3-component vector of float) -0:385 'inF0' (in float) -0:385 'inFV0' (in 3-component vector of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r1' ( temp 3-component vector of float) +0:385 vector-scale ( temp 3-component vector of float) +0:385 'inF0' ( in float) +0:385 'inFV0' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r2' (temp 3-component vector of float) -0:385 vector-scale (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r2' ( temp 3-component vector of float) +0:385 vector-scale ( temp 3-component vector of float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp float) -0:385 'r3' (temp float) -0:385 dot-product (temp float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inFV1' (in 3-component vector of float) +0:385 move second child to first child ( temp float) +0:385 'r3' ( temp float) +0:385 dot-product ( temp float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inFV1' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r4' (temp 3-component vector of float) -0:385 vector-times-matrix (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r4' ( temp 3-component vector of float) +0:385 vector-times-matrix ( temp 3-component vector of float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inFM0' ( in 3X3 matrix of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r5' (temp 3-component vector of float) -0:385 matrix-times-vector (temp 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inFV0' (in 3-component vector of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r5' ( temp 3-component vector of float) +0:385 matrix-times-vector ( temp 3-component vector of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:385 'inFV0' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r6' (temp 3X3 matrix of float) -0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inF0' (in float) -0:385 'inFM0' (in 3X3 matrix of float) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r6' ( temp 3X3 matrix of float) +0:385 matrix-scale ( temp 3X3 matrix of float) +0:385 'inF0' ( in float) +0:385 'inFM0' ( in 3X3 matrix of float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r7' (temp 3X3 matrix of float) -0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r7' ( temp 3X3 matrix of float) +0:385 matrix-scale ( temp 3X3 matrix of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r8' (temp 3X3 matrix of float) -0:385 matrix-multiply (temp 3X3 matrix of float) -0:385 'inFM1' (in 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r8' ( temp 3X3 matrix of float) +0:385 matrix-multiply ( temp 3X3 matrix of float) +0:385 'inFM1' ( in 3X3 matrix of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void) 0:391 Function Parameters: -0:391 'inF0' (in float) -0:391 'inF1' (in float) -0:391 'inFV0' (in 4-component vector of float) -0:391 'inFV1' (in 4-component vector of float) -0:391 'inFM0' (in 4X4 matrix of float) -0:391 'inFM1' (in 4X4 matrix of float) +0:391 'inF0' ( in float) +0:391 'inF1' ( in float) +0:391 'inFV0' ( in 4-component vector of float) +0:391 'inFV1' ( in 4-component vector of float) +0:391 'inFM0' ( in 4X4 matrix of float) +0:391 'inFM1' ( in 4X4 matrix of float) 0:? Sequence 0:392 Sequence -0:392 move second child to first child (temp float) -0:392 'r0' (temp float) -0:392 component-wise multiply (temp float) -0:392 'inF1' (in float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp float) +0:392 'r0' ( temp float) +0:392 component-wise multiply ( temp float) +0:392 'inF1' ( in float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r1' (temp 4-component vector of float) -0:392 vector-scale (temp 4-component vector of float) -0:392 'inF0' (in float) -0:392 'inFV0' (in 4-component vector of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r1' ( temp 4-component vector of float) +0:392 vector-scale ( temp 4-component vector of float) +0:392 'inF0' ( in float) +0:392 'inFV0' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r2' (temp 4-component vector of float) -0:392 vector-scale (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r2' ( temp 4-component vector of float) +0:392 vector-scale ( temp 4-component vector of float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp float) -0:392 'r3' (temp float) -0:392 dot-product (temp float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inFV1' (in 4-component vector of float) +0:392 move second child to first child ( temp float) +0:392 'r3' ( temp float) +0:392 dot-product ( temp float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inFV1' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r4' (temp 4-component vector of float) -0:392 vector-times-matrix (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r4' ( temp 4-component vector of float) +0:392 vector-times-matrix ( temp 4-component vector of float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inFM0' ( in 4X4 matrix of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r5' (temp 4-component vector of float) -0:392 matrix-times-vector (temp 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inFV0' (in 4-component vector of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r5' ( temp 4-component vector of float) +0:392 matrix-times-vector ( temp 4-component vector of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:392 'inFV0' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r6' (temp 4X4 matrix of float) -0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inF0' (in float) -0:392 'inFM0' (in 4X4 matrix of float) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r6' ( temp 4X4 matrix of float) +0:392 matrix-scale ( temp 4X4 matrix of float) +0:392 'inF0' ( in float) +0:392 'inFM0' ( in 4X4 matrix of float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r7' (temp 4X4 matrix of float) -0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r7' ( temp 4X4 matrix of float) +0:392 matrix-scale ( temp 4X4 matrix of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r8' (temp 4X4 matrix of float) -0:392 matrix-multiply (temp 4X4 matrix of float) -0:392 'inFM1' (in 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (temp void) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r8' ( temp 4X4 matrix of float) +0:392 matrix-multiply ( temp 4X4 matrix of float) +0:392 'inFM1' ( in 4X4 matrix of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void) 0:401 Function Parameters: -0:401 'inF0' (in float) -0:401 'inF1' (in float) -0:401 'inFV2' (in 2-component vector of float) -0:401 'inFV3' (in 3-component vector of float) -0:401 'inFM2x3' (in 2X3 matrix of float) -0:401 'inFM3x2' (in 3X2 matrix of float) -0:401 'inFM3x3' (in 3X3 matrix of float) -0:401 'inFM3x4' (in 3X4 matrix of float) -0:401 'inFM2x4' (in 2X4 matrix of float) +0:401 'inF0' ( in float) +0:401 'inF1' ( in float) +0:401 'inFV2' ( in 2-component vector of float) +0:401 'inFV3' ( in 3-component vector of float) +0:401 'inFM2x3' ( in 2X3 matrix of float) +0:401 'inFM3x2' ( in 3X2 matrix of float) +0:401 'inFM3x3' ( in 3X3 matrix of float) +0:401 'inFM3x4' ( in 3X4 matrix of float) +0:401 'inFM2x4' ( in 2X4 matrix of float) 0:? Sequence 0:402 Sequence -0:402 move second child to first child (temp float) -0:402 'r00' (temp float) -0:402 component-wise multiply (temp float) -0:402 'inF1' (in float) -0:402 'inF0' (in float) +0:402 move second child to first child ( temp float) +0:402 'r00' ( temp float) +0:402 component-wise multiply ( temp float) +0:402 'inF1' ( in float) +0:402 'inF0' ( in float) 0:403 Sequence -0:403 move second child to first child (temp 2-component vector of float) -0:403 'r01' (temp 2-component vector of float) -0:403 vector-scale (temp 2-component vector of float) -0:403 'inF0' (in float) -0:403 'inFV2' (in 2-component vector of float) +0:403 move second child to first child ( temp 2-component vector of float) +0:403 'r01' ( temp 2-component vector of float) +0:403 vector-scale ( temp 2-component vector of float) +0:403 'inF0' ( in float) +0:403 'inFV2' ( in 2-component vector of float) 0:404 Sequence -0:404 move second child to first child (temp 3-component vector of float) -0:404 'r02' (temp 3-component vector of float) -0:404 vector-scale (temp 3-component vector of float) -0:404 'inF0' (in float) -0:404 'inFV3' (in 3-component vector of float) +0:404 move second child to first child ( temp 3-component vector of float) +0:404 'r02' ( temp 3-component vector of float) +0:404 vector-scale ( temp 3-component vector of float) +0:404 'inF0' ( in float) +0:404 'inFV3' ( in 3-component vector of float) 0:405 Sequence -0:405 move second child to first child (temp 2-component vector of float) -0:405 'r03' (temp 2-component vector of float) -0:405 vector-scale (temp 2-component vector of float) -0:405 'inFV2' (in 2-component vector of float) -0:405 'inF0' (in float) +0:405 move second child to first child ( temp 2-component vector of float) +0:405 'r03' ( temp 2-component vector of float) +0:405 vector-scale ( temp 2-component vector of float) +0:405 'inFV2' ( in 2-component vector of float) +0:405 'inF0' ( in float) 0:406 Sequence -0:406 move second child to first child (temp 3-component vector of float) -0:406 'r04' (temp 3-component vector of float) -0:406 vector-scale (temp 3-component vector of float) -0:406 'inFV3' (in 3-component vector of float) -0:406 'inF0' (in float) +0:406 move second child to first child ( temp 3-component vector of float) +0:406 'r04' ( temp 3-component vector of float) +0:406 vector-scale ( temp 3-component vector of float) +0:406 'inFV3' ( in 3-component vector of float) +0:406 'inF0' ( in float) 0:407 Sequence -0:407 move second child to first child (temp float) -0:407 'r05' (temp float) -0:407 dot-product (temp float) -0:407 'inFV2' (in 2-component vector of float) -0:407 'inFV2' (in 2-component vector of float) +0:407 move second child to first child ( temp float) +0:407 'r05' ( temp float) +0:407 dot-product ( temp float) +0:407 'inFV2' ( in 2-component vector of float) +0:407 'inFV2' ( in 2-component vector of float) 0:408 Sequence -0:408 move second child to first child (temp float) -0:408 'r06' (temp float) -0:408 dot-product (temp float) -0:408 'inFV3' (in 3-component vector of float) -0:408 'inFV3' (in 3-component vector of float) +0:408 move second child to first child ( temp float) +0:408 'r06' ( temp float) +0:408 dot-product ( temp float) +0:408 'inFV3' ( in 3-component vector of float) +0:408 'inFV3' ( in 3-component vector of float) 0:409 Sequence -0:409 move second child to first child (temp 3-component vector of float) -0:409 'r07' (temp 3-component vector of float) -0:409 matrix-times-vector (temp 3-component vector of float) -0:409 'inFM2x3' (in 2X3 matrix of float) -0:409 'inFV2' (in 2-component vector of float) +0:409 move second child to first child ( temp 3-component vector of float) +0:409 'r07' ( temp 3-component vector of float) +0:409 matrix-times-vector ( temp 3-component vector of float) +0:409 'inFM2x3' ( in 2X3 matrix of float) +0:409 'inFV2' ( in 2-component vector of float) 0:410 Sequence -0:410 move second child to first child (temp 2-component vector of float) -0:410 'r08' (temp 2-component vector of float) -0:410 matrix-times-vector (temp 2-component vector of float) -0:410 'inFM3x2' (in 3X2 matrix of float) -0:410 'inFV3' (in 3-component vector of float) +0:410 move second child to first child ( temp 2-component vector of float) +0:410 'r08' ( temp 2-component vector of float) +0:410 matrix-times-vector ( temp 2-component vector of float) +0:410 'inFM3x2' ( in 3X2 matrix of float) +0:410 'inFV3' ( in 3-component vector of float) 0:411 Sequence -0:411 move second child to first child (temp 2-component vector of float) -0:411 'r09' (temp 2-component vector of float) -0:411 vector-times-matrix (temp 2-component vector of float) -0:411 'inFV3' (in 3-component vector of float) -0:411 'inFM2x3' (in 2X3 matrix of float) +0:411 move second child to first child ( temp 2-component vector of float) +0:411 'r09' ( temp 2-component vector of float) +0:411 vector-times-matrix ( temp 2-component vector of float) +0:411 'inFV3' ( in 3-component vector of float) +0:411 'inFM2x3' ( in 2X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3-component vector of float) -0:412 'r10' (temp 3-component vector of float) -0:412 vector-times-matrix (temp 3-component vector of float) -0:412 'inFV2' (in 2-component vector of float) -0:412 'inFM3x2' (in 3X2 matrix of float) +0:412 move second child to first child ( temp 3-component vector of float) +0:412 'r10' ( temp 3-component vector of float) +0:412 vector-times-matrix ( temp 3-component vector of float) +0:412 'inFV2' ( in 2-component vector of float) +0:412 'inFM3x2' ( in 3X2 matrix of float) 0:413 Sequence -0:413 move second child to first child (temp 2X3 matrix of float) -0:413 'r11' (temp 2X3 matrix of float) -0:413 matrix-scale (temp 2X3 matrix of float) -0:413 'inF0' (in float) -0:413 'inFM2x3' (in 2X3 matrix of float) +0:413 move second child to first child ( temp 2X3 matrix of float) +0:413 'r11' ( temp 2X3 matrix of float) +0:413 matrix-scale ( temp 2X3 matrix of float) +0:413 'inF0' ( in float) +0:413 'inFM2x3' ( in 2X3 matrix of float) 0:414 Sequence -0:414 move second child to first child (temp 3X2 matrix of float) -0:414 'r12' (temp 3X2 matrix of float) -0:414 matrix-scale (temp 3X2 matrix of float) -0:414 'inF0' (in float) -0:414 'inFM3x2' (in 3X2 matrix of float) +0:414 move second child to first child ( temp 3X2 matrix of float) +0:414 'r12' ( temp 3X2 matrix of float) +0:414 matrix-scale ( temp 3X2 matrix of float) +0:414 'inF0' ( in float) +0:414 'inFM3x2' ( in 3X2 matrix of float) 0:415 Sequence -0:415 move second child to first child (temp 2X2 matrix of float) -0:415 'r13' (temp 2X2 matrix of float) -0:415 matrix-multiply (temp 2X2 matrix of float) -0:415 'inFM3x2' (in 3X2 matrix of float) -0:415 'inFM2x3' (in 2X3 matrix of float) +0:415 move second child to first child ( temp 2X2 matrix of float) +0:415 'r13' ( temp 2X2 matrix of float) +0:415 matrix-multiply ( temp 2X2 matrix of float) +0:415 'inFM3x2' ( in 3X2 matrix of float) +0:415 'inFM2x3' ( in 2X3 matrix of float) 0:416 Sequence -0:416 move second child to first child (temp 2X3 matrix of float) -0:416 'r14' (temp 2X3 matrix of float) -0:416 matrix-multiply (temp 2X3 matrix of float) -0:416 'inFM3x3' (in 3X3 matrix of float) -0:416 'inFM2x3' (in 2X3 matrix of float) +0:416 move second child to first child ( temp 2X3 matrix of float) +0:416 'r14' ( temp 2X3 matrix of float) +0:416 matrix-multiply ( temp 2X3 matrix of float) +0:416 'inFM3x3' ( in 3X3 matrix of float) +0:416 'inFM2x3' ( in 2X3 matrix of float) 0:417 Sequence -0:417 move second child to first child (temp 2X4 matrix of float) -0:417 'r15' (temp 2X4 matrix of float) -0:417 matrix-multiply (temp 2X4 matrix of float) -0:417 'inFM3x4' (in 3X4 matrix of float) -0:417 'inFM2x3' (in 2X3 matrix of float) +0:417 move second child to first child ( temp 2X4 matrix of float) +0:417 'r15' ( temp 2X4 matrix of float) +0:417 matrix-multiply ( temp 2X4 matrix of float) +0:417 'inFM3x4' ( in 3X4 matrix of float) +0:417 'inFM2x3' ( in 2X3 matrix of float) 0:418 Sequence -0:418 move second child to first child (temp 3X4 matrix of float) -0:418 'r16' (temp 3X4 matrix of float) -0:418 matrix-multiply (temp 3X4 matrix of float) -0:418 'inFM2x4' (in 2X4 matrix of float) -0:418 'inFM3x2' (in 3X2 matrix of float) +0:418 move second child to first child ( temp 3X4 matrix of float) +0:418 'r16' ( temp 3X4 matrix of float) +0:418 matrix-multiply ( temp 3X4 matrix of float) +0:418 'inFM2x4' ( in 2X4 matrix of float) +0:418 'inFM3x2' ( in 3X2 matrix of float) 0:? Linker Objects @@ -1400,940 +1400,940 @@ WARNING: Linking vertex stage: Entry point not found Shader version: 450 0:? Sequence -0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (temp float) +0:2 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; ( temp float) 0:2 Function Parameters: -0:2 'inF0' (in float) -0:2 'inF1' (in float) -0:2 'inF2' (in float) -0:2 'inU0' (in uint) -0:2 'inU1' (in uint) +0:2 'inF0' ( in float) +0:2 'inF1' ( in float) +0:2 'inF2' ( in float) +0:2 'inU0' ( in uint) +0:2 'inU1' ( in uint) 0:? Sequence -0:3 all (temp bool) -0:3 'inF0' (in float) -0:4 Absolute value (temp float) -0:4 'inF0' (in float) -0:5 arc cosine (temp float) -0:5 'inF0' (in float) -0:6 any (temp bool) -0:6 'inF0' (in float) -0:7 arc sine (temp float) -0:7 'inF0' (in float) -0:8 floatBitsToInt (temp int) -0:8 'inF0' (in float) -0:9 floatBitsToUint (temp uint) -0:9 'inF0' (in float) -0:10 intBitsToFloat (temp float) -0:10 'inU0' (in uint) -0:12 arc tangent (temp float) -0:12 'inF0' (in float) -0:13 arc tangent (temp float) -0:13 'inF0' (in float) -0:13 'inF1' (in float) -0:14 Ceiling (temp float) -0:14 'inF0' (in float) -0:15 clamp (temp float) -0:15 'inF0' (in float) -0:15 'inF1' (in float) -0:15 'inF2' (in float) -0:16 cosine (temp float) -0:16 'inF0' (in float) -0:17 hyp. cosine (temp float) -0:17 'inF0' (in float) -0:18 bitCount (temp int) +0:3 all ( temp bool) +0:3 'inF0' ( in float) +0:4 Absolute value ( temp float) +0:4 'inF0' ( in float) +0:5 arc cosine ( temp float) +0:5 'inF0' ( in float) +0:6 any ( temp bool) +0:6 'inF0' ( in float) +0:7 arc sine ( temp float) +0:7 'inF0' ( in float) +0:8 floatBitsToInt ( temp int) +0:8 'inF0' ( in float) +0:9 floatBitsToUint ( temp uint) +0:9 'inF0' ( in float) +0:10 intBitsToFloat ( temp float) +0:10 'inU0' ( in uint) +0:12 arc tangent ( temp float) +0:12 'inF0' ( in float) +0:13 arc tangent ( temp float) +0:13 'inF0' ( in float) +0:13 'inF1' ( in float) +0:14 Ceiling ( temp float) +0:14 'inF0' ( in float) +0:15 clamp ( temp float) +0:15 'inF0' ( in float) +0:15 'inF1' ( in float) +0:15 'inF2' ( in float) +0:16 cosine ( temp float) +0:16 'inF0' ( in float) +0:17 hyp. cosine ( temp float) +0:17 'inF0' ( in float) +0:18 bitCount ( temp int) 0:18 Constant: 0:18 7 (const int) -0:19 degrees (temp float) -0:19 'inF0' (in float) -0:23 exp (temp float) -0:23 'inF0' (in float) -0:24 exp2 (temp float) -0:24 'inF0' (in float) -0:25 findMSB (temp int) +0:19 degrees ( temp float) +0:19 'inF0' ( in float) +0:23 exp ( temp float) +0:23 'inF0' ( in float) +0:24 exp2 ( temp float) +0:24 'inF0' ( in float) +0:25 findMSB ( temp int) 0:25 Constant: 0:25 7 (const int) -0:26 findLSB (temp int) +0:26 findLSB ( temp int) 0:26 Constant: 0:26 7 (const int) -0:27 Floor (temp float) -0:27 'inF0' (in float) -0:29 mod (temp float) -0:29 'inF0' (in float) -0:29 'inF1' (in float) -0:30 Fraction (temp float) -0:30 'inF0' (in float) -0:31 frexp (temp float) -0:31 'inF0' (in float) -0:31 'inF1' (in float) -0:32 isinf (temp bool) -0:32 'inF0' (in float) -0:33 isnan (temp bool) -0:33 'inF0' (in float) -0:34 ldexp (temp float) -0:34 'inF0' (in float) -0:34 'inF1' (in float) -0:35 mix (temp float) -0:35 'inF0' (in float) -0:35 'inF1' (in float) -0:35 'inF2' (in float) -0:36 log (temp float) -0:36 'inF0' (in float) -0:37 component-wise multiply (temp float) -0:37 log2 (temp float) -0:37 'inF0' (in float) +0:27 Floor ( temp float) +0:27 'inF0' ( in float) +0:29 mod ( temp float) +0:29 'inF0' ( in float) +0:29 'inF1' ( in float) +0:30 Fraction ( temp float) +0:30 'inF0' ( in float) +0:31 frexp ( temp float) +0:31 'inF0' ( in float) +0:31 'inF1' ( in float) +0:32 isinf ( temp bool) +0:32 'inF0' ( in float) +0:33 isnan ( temp bool) +0:33 'inF0' ( in float) +0:34 ldexp ( temp float) +0:34 'inF0' ( in float) +0:34 'inF1' ( in float) +0:35 mix ( temp float) +0:35 'inF0' ( in float) +0:35 'inF1' ( in float) +0:35 'inF2' ( in float) +0:36 log ( temp float) +0:36 'inF0' ( in float) +0:37 component-wise multiply ( temp float) +0:37 log2 ( temp float) +0:37 'inF0' ( in float) 0:37 Constant: 0:37 0.301030 -0:38 log2 (temp float) -0:38 'inF0' (in float) -0:39 max (temp float) -0:39 'inF0' (in float) -0:39 'inF1' (in float) -0:40 min (temp float) -0:40 'inF0' (in float) -0:40 'inF1' (in float) -0:42 pow (temp float) -0:42 'inF0' (in float) -0:42 'inF1' (in float) -0:43 radians (temp float) -0:43 'inF0' (in float) -0:44 bitFieldReverse (temp int) +0:38 log2 ( temp float) +0:38 'inF0' ( in float) +0:39 max ( temp float) +0:39 'inF0' ( in float) +0:39 'inF1' ( in float) +0:40 min ( temp float) +0:40 'inF0' ( in float) +0:40 'inF1' ( in float) +0:42 pow ( temp float) +0:42 'inF0' ( in float) +0:42 'inF1' ( in float) +0:43 radians ( temp float) +0:43 'inF0' ( in float) +0:44 bitFieldReverse ( temp int) 0:44 Constant: 0:44 2 (const int) -0:45 roundEven (temp float) -0:45 'inF0' (in float) -0:46 inverse sqrt (temp float) -0:46 'inF0' (in float) -0:47 clamp (temp float) -0:47 'inF0' (in float) +0:45 roundEven ( temp float) +0:45 'inF0' ( in float) +0:46 inverse sqrt ( temp float) +0:46 'inF0' ( in float) +0:47 clamp ( temp float) +0:47 'inF0' ( in float) 0:47 Constant: 0:47 0.000000 0:47 Constant: 0:47 1.000000 -0:48 Sign (temp float) -0:48 'inF0' (in float) -0:49 sine (temp float) -0:49 'inF0' (in float) +0:48 Sign ( temp float) +0:48 'inF0' ( in float) +0:49 sine ( temp float) +0:49 'inF0' ( in float) 0:50 Sequence -0:50 move second child to first child (temp float) -0:50 'inF1' (in float) -0:50 sine (temp float) -0:50 'inF0' (in float) -0:50 move second child to first child (temp float) -0:50 'inF2' (in float) -0:50 cosine (temp float) -0:50 'inF0' (in float) -0:51 hyp. sine (temp float) -0:51 'inF0' (in float) -0:52 smoothstep (temp float) -0:52 'inF0' (in float) -0:52 'inF1' (in float) -0:52 'inF2' (in float) -0:53 sqrt (temp float) -0:53 'inF0' (in float) -0:54 step (temp float) -0:54 'inF0' (in float) -0:54 'inF1' (in float) -0:55 tangent (temp float) -0:55 'inF0' (in float) -0:56 hyp. tangent (temp float) -0:56 'inF0' (in float) -0:58 trunc (temp float) -0:58 'inF0' (in float) +0:50 move second child to first child ( temp float) +0:50 'inF1' ( in float) +0:50 sine ( temp float) +0:50 'inF0' ( in float) +0:50 move second child to first child ( temp float) +0:50 'inF2' ( in float) +0:50 cosine ( temp float) +0:50 'inF0' ( in float) +0:51 hyp. sine ( temp float) +0:51 'inF0' ( in float) +0:52 smoothstep ( temp float) +0:52 'inF0' ( in float) +0:52 'inF1' ( in float) +0:52 'inF2' ( in float) +0:53 sqrt ( temp float) +0:53 'inF0' ( in float) +0:54 step ( temp float) +0:54 'inF0' ( in float) +0:54 'inF1' ( in float) +0:55 tangent ( temp float) +0:55 'inF0' ( in float) +0:56 hyp. tangent ( temp float) +0:56 'inF0' ( in float) +0:58 trunc ( temp float) +0:58 'inF0' ( in float) 0:60 Branch: Return with expression 0:60 Constant: 0:60 0.000000 -0:64 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (temp 1-component vector of float) +0:64 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float) 0:64 Function Parameters: -0:64 'inF0' (in 1-component vector of float) -0:64 'inF1' (in 1-component vector of float) -0:64 'inF2' (in 1-component vector of float) +0:64 'inF0' ( in 1-component vector of float) +0:64 'inF1' ( in 1-component vector of float) +0:64 'inF2' ( in 1-component vector of float) 0:? Sequence 0:66 Branch: Return with expression 0:66 Constant: 0:66 0.000000 -0:70 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float) +0:70 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float) 0:70 Function Parameters: -0:70 'inF0' (in 2-component vector of float) -0:70 'inF1' (in 2-component vector of float) -0:70 'inF2' (in 2-component vector of float) -0:70 'inU0' (in 2-component vector of uint) -0:70 'inU1' (in 2-component vector of uint) +0:70 'inF0' ( in 2-component vector of float) +0:70 'inF1' ( in 2-component vector of float) +0:70 'inF2' ( in 2-component vector of float) +0:70 'inU0' ( in 2-component vector of uint) +0:70 'inU1' ( in 2-component vector of uint) 0:? Sequence -0:71 all (temp bool) -0:71 'inF0' (in 2-component vector of float) -0:72 Absolute value (temp 2-component vector of float) -0:72 'inF0' (in 2-component vector of float) -0:73 arc cosine (temp 2-component vector of float) -0:73 'inF0' (in 2-component vector of float) -0:74 any (temp bool) -0:74 'inF0' (in 2-component vector of float) -0:75 arc sine (temp 2-component vector of float) -0:75 'inF0' (in 2-component vector of float) -0:76 floatBitsToInt (temp 2-component vector of int) -0:76 'inF0' (in 2-component vector of float) -0:77 floatBitsToUint (temp 2-component vector of uint) -0:77 'inF0' (in 2-component vector of float) -0:78 intBitsToFloat (temp 2-component vector of float) -0:78 'inU0' (in 2-component vector of uint) -0:80 arc tangent (temp 2-component vector of float) -0:80 'inF0' (in 2-component vector of float) -0:81 arc tangent (temp 2-component vector of float) -0:81 'inF0' (in 2-component vector of float) -0:81 'inF1' (in 2-component vector of float) -0:82 Ceiling (temp 2-component vector of float) -0:82 'inF0' (in 2-component vector of float) -0:83 clamp (temp 2-component vector of float) -0:83 'inF0' (in 2-component vector of float) -0:83 'inF1' (in 2-component vector of float) -0:83 'inF2' (in 2-component vector of float) -0:84 cosine (temp 2-component vector of float) -0:84 'inF0' (in 2-component vector of float) -0:85 hyp. cosine (temp 2-component vector of float) -0:85 'inF0' (in 2-component vector of float) -0:? bitCount (temp 2-component vector of int) +0:71 all ( temp bool) +0:71 'inF0' ( in 2-component vector of float) +0:72 Absolute value ( temp 2-component vector of float) +0:72 'inF0' ( in 2-component vector of float) +0:73 arc cosine ( temp 2-component vector of float) +0:73 'inF0' ( in 2-component vector of float) +0:74 any ( temp bool) +0:74 'inF0' ( in 2-component vector of float) +0:75 arc sine ( temp 2-component vector of float) +0:75 'inF0' ( in 2-component vector of float) +0:76 floatBitsToInt ( temp 2-component vector of int) +0:76 'inF0' ( in 2-component vector of float) +0:77 floatBitsToUint ( temp 2-component vector of uint) +0:77 'inF0' ( in 2-component vector of float) +0:78 intBitsToFloat ( temp 2-component vector of float) +0:78 'inU0' ( in 2-component vector of uint) +0:80 arc tangent ( temp 2-component vector of float) +0:80 'inF0' ( in 2-component vector of float) +0:81 arc tangent ( temp 2-component vector of float) +0:81 'inF0' ( in 2-component vector of float) +0:81 'inF1' ( in 2-component vector of float) +0:82 Ceiling ( temp 2-component vector of float) +0:82 'inF0' ( in 2-component vector of float) +0:83 clamp ( temp 2-component vector of float) +0:83 'inF0' ( in 2-component vector of float) +0:83 'inF1' ( in 2-component vector of float) +0:83 'inF2' ( in 2-component vector of float) +0:84 cosine ( temp 2-component vector of float) +0:84 'inF0' ( in 2-component vector of float) +0:85 hyp. cosine ( temp 2-component vector of float) +0:85 'inF0' ( in 2-component vector of float) +0:? bitCount ( temp 2-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) -0:87 degrees (temp 2-component vector of float) -0:87 'inF0' (in 2-component vector of float) -0:88 distance (temp float) -0:88 'inF0' (in 2-component vector of float) -0:88 'inF1' (in 2-component vector of float) -0:89 dot-product (temp float) -0:89 'inF0' (in 2-component vector of float) -0:89 'inF1' (in 2-component vector of float) -0:93 exp (temp 2-component vector of float) -0:93 'inF0' (in 2-component vector of float) -0:94 exp2 (temp 2-component vector of float) -0:94 'inF0' (in 2-component vector of float) -0:95 face-forward (temp 2-component vector of float) -0:95 'inF0' (in 2-component vector of float) -0:95 'inF1' (in 2-component vector of float) -0:95 'inF2' (in 2-component vector of float) -0:96 findMSB (temp int) +0:87 degrees ( temp 2-component vector of float) +0:87 'inF0' ( in 2-component vector of float) +0:88 distance ( temp float) +0:88 'inF0' ( in 2-component vector of float) +0:88 'inF1' ( in 2-component vector of float) +0:89 dot-product ( temp float) +0:89 'inF0' ( in 2-component vector of float) +0:89 'inF1' ( in 2-component vector of float) +0:93 exp ( temp 2-component vector of float) +0:93 'inF0' ( in 2-component vector of float) +0:94 exp2 ( temp 2-component vector of float) +0:94 'inF0' ( in 2-component vector of float) +0:95 face-forward ( temp 2-component vector of float) +0:95 'inF0' ( in 2-component vector of float) +0:95 'inF1' ( in 2-component vector of float) +0:95 'inF2' ( in 2-component vector of float) +0:96 findMSB ( temp int) 0:96 Constant: 0:96 7 (const int) -0:97 findLSB (temp int) +0:97 findLSB ( temp int) 0:97 Constant: 0:97 7 (const int) -0:98 Floor (temp 2-component vector of float) -0:98 'inF0' (in 2-component vector of float) -0:100 mod (temp 2-component vector of float) -0:100 'inF0' (in 2-component vector of float) -0:100 'inF1' (in 2-component vector of float) -0:101 Fraction (temp 2-component vector of float) -0:101 'inF0' (in 2-component vector of float) -0:102 frexp (temp 2-component vector of float) -0:102 'inF0' (in 2-component vector of float) -0:102 'inF1' (in 2-component vector of float) -0:103 isinf (temp 2-component vector of bool) -0:103 'inF0' (in 2-component vector of float) -0:104 isnan (temp 2-component vector of bool) -0:104 'inF0' (in 2-component vector of float) -0:105 ldexp (temp 2-component vector of float) -0:105 'inF0' (in 2-component vector of float) -0:105 'inF1' (in 2-component vector of float) -0:106 mix (temp 2-component vector of float) -0:106 'inF0' (in 2-component vector of float) -0:106 'inF1' (in 2-component vector of float) -0:106 'inF2' (in 2-component vector of float) -0:107 length (temp float) -0:107 'inF0' (in 2-component vector of float) -0:108 log (temp 2-component vector of float) -0:108 'inF0' (in 2-component vector of float) -0:109 vector-scale (temp 2-component vector of float) -0:109 log2 (temp 2-component vector of float) -0:109 'inF0' (in 2-component vector of float) +0:98 Floor ( temp 2-component vector of float) +0:98 'inF0' ( in 2-component vector of float) +0:100 mod ( temp 2-component vector of float) +0:100 'inF0' ( in 2-component vector of float) +0:100 'inF1' ( in 2-component vector of float) +0:101 Fraction ( temp 2-component vector of float) +0:101 'inF0' ( in 2-component vector of float) +0:102 frexp ( temp 2-component vector of float) +0:102 'inF0' ( in 2-component vector of float) +0:102 'inF1' ( in 2-component vector of float) +0:103 isinf ( temp 2-component vector of bool) +0:103 'inF0' ( in 2-component vector of float) +0:104 isnan ( temp 2-component vector of bool) +0:104 'inF0' ( in 2-component vector of float) +0:105 ldexp ( temp 2-component vector of float) +0:105 'inF0' ( in 2-component vector of float) +0:105 'inF1' ( in 2-component vector of float) +0:106 mix ( temp 2-component vector of float) +0:106 'inF0' ( in 2-component vector of float) +0:106 'inF1' ( in 2-component vector of float) +0:106 'inF2' ( in 2-component vector of float) +0:107 length ( temp float) +0:107 'inF0' ( in 2-component vector of float) +0:108 log ( temp 2-component vector of float) +0:108 'inF0' ( in 2-component vector of float) +0:109 vector-scale ( temp 2-component vector of float) +0:109 log2 ( temp 2-component vector of float) +0:109 'inF0' ( in 2-component vector of float) 0:109 Constant: 0:109 0.301030 -0:110 log2 (temp 2-component vector of float) -0:110 'inF0' (in 2-component vector of float) -0:111 max (temp 2-component vector of float) -0:111 'inF0' (in 2-component vector of float) -0:111 'inF1' (in 2-component vector of float) -0:112 min (temp 2-component vector of float) -0:112 'inF0' (in 2-component vector of float) -0:112 'inF1' (in 2-component vector of float) -0:114 normalize (temp 2-component vector of float) -0:114 'inF0' (in 2-component vector of float) -0:115 pow (temp 2-component vector of float) -0:115 'inF0' (in 2-component vector of float) -0:115 'inF1' (in 2-component vector of float) -0:116 radians (temp 2-component vector of float) -0:116 'inF0' (in 2-component vector of float) -0:117 reflect (temp 2-component vector of float) -0:117 'inF0' (in 2-component vector of float) -0:117 'inF1' (in 2-component vector of float) -0:118 refract (temp 2-component vector of float) -0:118 'inF0' (in 2-component vector of float) -0:118 'inF1' (in 2-component vector of float) +0:110 log2 ( temp 2-component vector of float) +0:110 'inF0' ( in 2-component vector of float) +0:111 max ( temp 2-component vector of float) +0:111 'inF0' ( in 2-component vector of float) +0:111 'inF1' ( in 2-component vector of float) +0:112 min ( temp 2-component vector of float) +0:112 'inF0' ( in 2-component vector of float) +0:112 'inF1' ( in 2-component vector of float) +0:114 normalize ( temp 2-component vector of float) +0:114 'inF0' ( in 2-component vector of float) +0:115 pow ( temp 2-component vector of float) +0:115 'inF0' ( in 2-component vector of float) +0:115 'inF1' ( in 2-component vector of float) +0:116 radians ( temp 2-component vector of float) +0:116 'inF0' ( in 2-component vector of float) +0:117 reflect ( temp 2-component vector of float) +0:117 'inF0' ( in 2-component vector of float) +0:117 'inF1' ( in 2-component vector of float) +0:118 refract ( temp 2-component vector of float) +0:118 'inF0' ( in 2-component vector of float) +0:118 'inF1' ( in 2-component vector of float) 0:118 Constant: 0:118 2.000000 -0:? bitFieldReverse (temp 2-component vector of int) +0:? bitFieldReverse ( temp 2-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) -0:120 roundEven (temp 2-component vector of float) -0:120 'inF0' (in 2-component vector of float) -0:121 inverse sqrt (temp 2-component vector of float) -0:121 'inF0' (in 2-component vector of float) -0:122 clamp (temp 2-component vector of float) -0:122 'inF0' (in 2-component vector of float) +0:120 roundEven ( temp 2-component vector of float) +0:120 'inF0' ( in 2-component vector of float) +0:121 inverse sqrt ( temp 2-component vector of float) +0:121 'inF0' ( in 2-component vector of float) +0:122 clamp ( temp 2-component vector of float) +0:122 'inF0' ( in 2-component vector of float) 0:122 Constant: 0:122 0.000000 0:122 Constant: 0:122 1.000000 -0:123 Sign (temp 2-component vector of float) -0:123 'inF0' (in 2-component vector of float) -0:124 sine (temp 2-component vector of float) -0:124 'inF0' (in 2-component vector of float) +0:123 Sign ( temp 2-component vector of float) +0:123 'inF0' ( in 2-component vector of float) +0:124 sine ( temp 2-component vector of float) +0:124 'inF0' ( in 2-component vector of float) 0:125 Sequence -0:125 move second child to first child (temp 2-component vector of float) -0:125 'inF1' (in 2-component vector of float) -0:125 sine (temp 2-component vector of float) -0:125 'inF0' (in 2-component vector of float) -0:125 move second child to first child (temp 2-component vector of float) -0:125 'inF2' (in 2-component vector of float) -0:125 cosine (temp 2-component vector of float) -0:125 'inF0' (in 2-component vector of float) -0:126 hyp. sine (temp 2-component vector of float) -0:126 'inF0' (in 2-component vector of float) -0:127 smoothstep (temp 2-component vector of float) -0:127 'inF0' (in 2-component vector of float) -0:127 'inF1' (in 2-component vector of float) -0:127 'inF2' (in 2-component vector of float) -0:128 sqrt (temp 2-component vector of float) -0:128 'inF0' (in 2-component vector of float) -0:129 step (temp 2-component vector of float) -0:129 'inF0' (in 2-component vector of float) -0:129 'inF1' (in 2-component vector of float) -0:130 tangent (temp 2-component vector of float) -0:130 'inF0' (in 2-component vector of float) -0:131 hyp. tangent (temp 2-component vector of float) -0:131 'inF0' (in 2-component vector of float) -0:133 trunc (temp 2-component vector of float) -0:133 'inF0' (in 2-component vector of float) +0:125 move second child to first child ( temp 2-component vector of float) +0:125 'inF1' ( in 2-component vector of float) +0:125 sine ( temp 2-component vector of float) +0:125 'inF0' ( in 2-component vector of float) +0:125 move second child to first child ( temp 2-component vector of float) +0:125 'inF2' ( in 2-component vector of float) +0:125 cosine ( temp 2-component vector of float) +0:125 'inF0' ( in 2-component vector of float) +0:126 hyp. sine ( temp 2-component vector of float) +0:126 'inF0' ( in 2-component vector of float) +0:127 smoothstep ( temp 2-component vector of float) +0:127 'inF0' ( in 2-component vector of float) +0:127 'inF1' ( in 2-component vector of float) +0:127 'inF2' ( in 2-component vector of float) +0:128 sqrt ( temp 2-component vector of float) +0:128 'inF0' ( in 2-component vector of float) +0:129 step ( temp 2-component vector of float) +0:129 'inF0' ( in 2-component vector of float) +0:129 'inF1' ( in 2-component vector of float) +0:130 tangent ( temp 2-component vector of float) +0:130 'inF0' ( in 2-component vector of float) +0:131 hyp. tangent ( temp 2-component vector of float) +0:131 'inF0' ( in 2-component vector of float) +0:133 trunc ( temp 2-component vector of float) +0:133 'inF0' ( in 2-component vector of float) 0:136 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 -0:140 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float) +0:140 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float) 0:140 Function Parameters: -0:140 'inF0' (in 3-component vector of float) -0:140 'inF1' (in 3-component vector of float) -0:140 'inF2' (in 3-component vector of float) -0:140 'inU0' (in 3-component vector of uint) -0:140 'inU1' (in 3-component vector of uint) +0:140 'inF0' ( in 3-component vector of float) +0:140 'inF1' ( in 3-component vector of float) +0:140 'inF2' ( in 3-component vector of float) +0:140 'inU0' ( in 3-component vector of uint) +0:140 'inU1' ( in 3-component vector of uint) 0:? Sequence -0:141 all (temp bool) -0:141 'inF0' (in 3-component vector of float) -0:142 Absolute value (temp 3-component vector of float) -0:142 'inF0' (in 3-component vector of float) -0:143 arc cosine (temp 3-component vector of float) -0:143 'inF0' (in 3-component vector of float) -0:144 any (temp bool) -0:144 'inF0' (in 3-component vector of float) -0:145 arc sine (temp 3-component vector of float) -0:145 'inF0' (in 3-component vector of float) -0:146 floatBitsToInt (temp 3-component vector of int) -0:146 'inF0' (in 3-component vector of float) -0:147 floatBitsToUint (temp 3-component vector of uint) -0:147 'inF0' (in 3-component vector of float) -0:148 intBitsToFloat (temp 3-component vector of float) -0:148 'inU0' (in 3-component vector of uint) -0:150 arc tangent (temp 3-component vector of float) -0:150 'inF0' (in 3-component vector of float) -0:151 arc tangent (temp 3-component vector of float) -0:151 'inF0' (in 3-component vector of float) -0:151 'inF1' (in 3-component vector of float) -0:152 Ceiling (temp 3-component vector of float) -0:152 'inF0' (in 3-component vector of float) -0:153 clamp (temp 3-component vector of float) -0:153 'inF0' (in 3-component vector of float) -0:153 'inF1' (in 3-component vector of float) -0:153 'inF2' (in 3-component vector of float) -0:154 cosine (temp 3-component vector of float) -0:154 'inF0' (in 3-component vector of float) -0:155 hyp. cosine (temp 3-component vector of float) -0:155 'inF0' (in 3-component vector of float) -0:? bitCount (temp 3-component vector of int) +0:141 all ( temp bool) +0:141 'inF0' ( in 3-component vector of float) +0:142 Absolute value ( temp 3-component vector of float) +0:142 'inF0' ( in 3-component vector of float) +0:143 arc cosine ( temp 3-component vector of float) +0:143 'inF0' ( in 3-component vector of float) +0:144 any ( temp bool) +0:144 'inF0' ( in 3-component vector of float) +0:145 arc sine ( temp 3-component vector of float) +0:145 'inF0' ( in 3-component vector of float) +0:146 floatBitsToInt ( temp 3-component vector of int) +0:146 'inF0' ( in 3-component vector of float) +0:147 floatBitsToUint ( temp 3-component vector of uint) +0:147 'inF0' ( in 3-component vector of float) +0:148 intBitsToFloat ( temp 3-component vector of float) +0:148 'inU0' ( in 3-component vector of uint) +0:150 arc tangent ( temp 3-component vector of float) +0:150 'inF0' ( in 3-component vector of float) +0:151 arc tangent ( temp 3-component vector of float) +0:151 'inF0' ( in 3-component vector of float) +0:151 'inF1' ( in 3-component vector of float) +0:152 Ceiling ( temp 3-component vector of float) +0:152 'inF0' ( in 3-component vector of float) +0:153 clamp ( temp 3-component vector of float) +0:153 'inF0' ( in 3-component vector of float) +0:153 'inF1' ( in 3-component vector of float) +0:153 'inF2' ( in 3-component vector of float) +0:154 cosine ( temp 3-component vector of float) +0:154 'inF0' ( in 3-component vector of float) +0:155 hyp. cosine ( temp 3-component vector of float) +0:155 'inF0' ( in 3-component vector of float) +0:? bitCount ( temp 3-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:? 5 (const int) -0:157 cross-product (temp 3-component vector of float) -0:157 'inF0' (in 3-component vector of float) -0:157 'inF1' (in 3-component vector of float) -0:158 degrees (temp 3-component vector of float) -0:158 'inF0' (in 3-component vector of float) -0:159 distance (temp float) -0:159 'inF0' (in 3-component vector of float) -0:159 'inF1' (in 3-component vector of float) -0:160 dot-product (temp float) -0:160 'inF0' (in 3-component vector of float) -0:160 'inF1' (in 3-component vector of float) -0:164 exp (temp 3-component vector of float) -0:164 'inF0' (in 3-component vector of float) -0:165 exp2 (temp 3-component vector of float) -0:165 'inF0' (in 3-component vector of float) -0:166 face-forward (temp 3-component vector of float) -0:166 'inF0' (in 3-component vector of float) -0:166 'inF1' (in 3-component vector of float) -0:166 'inF2' (in 3-component vector of float) -0:167 findMSB (temp int) +0:157 cross-product ( temp 3-component vector of float) +0:157 'inF0' ( in 3-component vector of float) +0:157 'inF1' ( in 3-component vector of float) +0:158 degrees ( temp 3-component vector of float) +0:158 'inF0' ( in 3-component vector of float) +0:159 distance ( temp float) +0:159 'inF0' ( in 3-component vector of float) +0:159 'inF1' ( in 3-component vector of float) +0:160 dot-product ( temp float) +0:160 'inF0' ( in 3-component vector of float) +0:160 'inF1' ( in 3-component vector of float) +0:164 exp ( temp 3-component vector of float) +0:164 'inF0' ( in 3-component vector of float) +0:165 exp2 ( temp 3-component vector of float) +0:165 'inF0' ( in 3-component vector of float) +0:166 face-forward ( temp 3-component vector of float) +0:166 'inF0' ( in 3-component vector of float) +0:166 'inF1' ( in 3-component vector of float) +0:166 'inF2' ( in 3-component vector of float) +0:167 findMSB ( temp int) 0:167 Constant: 0:167 7 (const int) -0:168 findLSB (temp int) +0:168 findLSB ( temp int) 0:168 Constant: 0:168 7 (const int) -0:169 Floor (temp 3-component vector of float) -0:169 'inF0' (in 3-component vector of float) -0:171 mod (temp 3-component vector of float) -0:171 'inF0' (in 3-component vector of float) -0:171 'inF1' (in 3-component vector of float) -0:172 Fraction (temp 3-component vector of float) -0:172 'inF0' (in 3-component vector of float) -0:173 frexp (temp 3-component vector of float) -0:173 'inF0' (in 3-component vector of float) -0:173 'inF1' (in 3-component vector of float) -0:174 isinf (temp 3-component vector of bool) -0:174 'inF0' (in 3-component vector of float) -0:175 isnan (temp 3-component vector of bool) -0:175 'inF0' (in 3-component vector of float) -0:176 ldexp (temp 3-component vector of float) -0:176 'inF0' (in 3-component vector of float) -0:176 'inF1' (in 3-component vector of float) -0:177 mix (temp 3-component vector of float) -0:177 'inF0' (in 3-component vector of float) -0:177 'inF1' (in 3-component vector of float) -0:177 'inF2' (in 3-component vector of float) -0:178 length (temp float) -0:178 'inF0' (in 3-component vector of float) -0:179 log (temp 3-component vector of float) -0:179 'inF0' (in 3-component vector of float) -0:180 vector-scale (temp 3-component vector of float) -0:180 log2 (temp 3-component vector of float) -0:180 'inF0' (in 3-component vector of float) +0:169 Floor ( temp 3-component vector of float) +0:169 'inF0' ( in 3-component vector of float) +0:171 mod ( temp 3-component vector of float) +0:171 'inF0' ( in 3-component vector of float) +0:171 'inF1' ( in 3-component vector of float) +0:172 Fraction ( temp 3-component vector of float) +0:172 'inF0' ( in 3-component vector of float) +0:173 frexp ( temp 3-component vector of float) +0:173 'inF0' ( in 3-component vector of float) +0:173 'inF1' ( in 3-component vector of float) +0:174 isinf ( temp 3-component vector of bool) +0:174 'inF0' ( in 3-component vector of float) +0:175 isnan ( temp 3-component vector of bool) +0:175 'inF0' ( in 3-component vector of float) +0:176 ldexp ( temp 3-component vector of float) +0:176 'inF0' ( in 3-component vector of float) +0:176 'inF1' ( in 3-component vector of float) +0:177 mix ( temp 3-component vector of float) +0:177 'inF0' ( in 3-component vector of float) +0:177 'inF1' ( in 3-component vector of float) +0:177 'inF2' ( in 3-component vector of float) +0:178 length ( temp float) +0:178 'inF0' ( in 3-component vector of float) +0:179 log ( temp 3-component vector of float) +0:179 'inF0' ( in 3-component vector of float) +0:180 vector-scale ( temp 3-component vector of float) +0:180 log2 ( temp 3-component vector of float) +0:180 'inF0' ( in 3-component vector of float) 0:180 Constant: 0:180 0.301030 -0:181 log2 (temp 3-component vector of float) -0:181 'inF0' (in 3-component vector of float) -0:182 max (temp 3-component vector of float) -0:182 'inF0' (in 3-component vector of float) -0:182 'inF1' (in 3-component vector of float) -0:183 min (temp 3-component vector of float) -0:183 'inF0' (in 3-component vector of float) -0:183 'inF1' (in 3-component vector of float) -0:185 normalize (temp 3-component vector of float) -0:185 'inF0' (in 3-component vector of float) -0:186 pow (temp 3-component vector of float) -0:186 'inF0' (in 3-component vector of float) -0:186 'inF1' (in 3-component vector of float) -0:187 radians (temp 3-component vector of float) -0:187 'inF0' (in 3-component vector of float) -0:188 reflect (temp 3-component vector of float) -0:188 'inF0' (in 3-component vector of float) -0:188 'inF1' (in 3-component vector of float) -0:189 refract (temp 3-component vector of float) -0:189 'inF0' (in 3-component vector of float) -0:189 'inF1' (in 3-component vector of float) +0:181 log2 ( temp 3-component vector of float) +0:181 'inF0' ( in 3-component vector of float) +0:182 max ( temp 3-component vector of float) +0:182 'inF0' ( in 3-component vector of float) +0:182 'inF1' ( in 3-component vector of float) +0:183 min ( temp 3-component vector of float) +0:183 'inF0' ( in 3-component vector of float) +0:183 'inF1' ( in 3-component vector of float) +0:185 normalize ( temp 3-component vector of float) +0:185 'inF0' ( in 3-component vector of float) +0:186 pow ( temp 3-component vector of float) +0:186 'inF0' ( in 3-component vector of float) +0:186 'inF1' ( in 3-component vector of float) +0:187 radians ( temp 3-component vector of float) +0:187 'inF0' ( in 3-component vector of float) +0:188 reflect ( temp 3-component vector of float) +0:188 'inF0' ( in 3-component vector of float) +0:188 'inF1' ( in 3-component vector of float) +0:189 refract ( temp 3-component vector of float) +0:189 'inF0' ( in 3-component vector of float) +0:189 'inF1' ( in 3-component vector of float) 0:189 Constant: 0:189 2.000000 -0:? bitFieldReverse (temp 3-component vector of int) +0:? bitFieldReverse ( temp 3-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) -0:191 roundEven (temp 3-component vector of float) -0:191 'inF0' (in 3-component vector of float) -0:192 inverse sqrt (temp 3-component vector of float) -0:192 'inF0' (in 3-component vector of float) -0:193 clamp (temp 3-component vector of float) -0:193 'inF0' (in 3-component vector of float) +0:191 roundEven ( temp 3-component vector of float) +0:191 'inF0' ( in 3-component vector of float) +0:192 inverse sqrt ( temp 3-component vector of float) +0:192 'inF0' ( in 3-component vector of float) +0:193 clamp ( temp 3-component vector of float) +0:193 'inF0' ( in 3-component vector of float) 0:193 Constant: 0:193 0.000000 0:193 Constant: 0:193 1.000000 -0:194 Sign (temp 3-component vector of float) -0:194 'inF0' (in 3-component vector of float) -0:195 sine (temp 3-component vector of float) -0:195 'inF0' (in 3-component vector of float) +0:194 Sign ( temp 3-component vector of float) +0:194 'inF0' ( in 3-component vector of float) +0:195 sine ( temp 3-component vector of float) +0:195 'inF0' ( in 3-component vector of float) 0:196 Sequence -0:196 move second child to first child (temp 3-component vector of float) -0:196 'inF1' (in 3-component vector of float) -0:196 sine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) -0:196 move second child to first child (temp 3-component vector of float) -0:196 'inF2' (in 3-component vector of float) -0:196 cosine (temp 3-component vector of float) -0:196 'inF0' (in 3-component vector of float) -0:197 hyp. sine (temp 3-component vector of float) -0:197 'inF0' (in 3-component vector of float) -0:198 smoothstep (temp 3-component vector of float) -0:198 'inF0' (in 3-component vector of float) -0:198 'inF1' (in 3-component vector of float) -0:198 'inF2' (in 3-component vector of float) -0:199 sqrt (temp 3-component vector of float) -0:199 'inF0' (in 3-component vector of float) -0:200 step (temp 3-component vector of float) -0:200 'inF0' (in 3-component vector of float) -0:200 'inF1' (in 3-component vector of float) -0:201 tangent (temp 3-component vector of float) -0:201 'inF0' (in 3-component vector of float) -0:202 hyp. tangent (temp 3-component vector of float) -0:202 'inF0' (in 3-component vector of float) -0:204 trunc (temp 3-component vector of float) -0:204 'inF0' (in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'inF1' ( in 3-component vector of float) +0:196 sine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) +0:196 move second child to first child ( temp 3-component vector of float) +0:196 'inF2' ( in 3-component vector of float) +0:196 cosine ( temp 3-component vector of float) +0:196 'inF0' ( in 3-component vector of float) +0:197 hyp. sine ( temp 3-component vector of float) +0:197 'inF0' ( in 3-component vector of float) +0:198 smoothstep ( temp 3-component vector of float) +0:198 'inF0' ( in 3-component vector of float) +0:198 'inF1' ( in 3-component vector of float) +0:198 'inF2' ( in 3-component vector of float) +0:199 sqrt ( temp 3-component vector of float) +0:199 'inF0' ( in 3-component vector of float) +0:200 step ( temp 3-component vector of float) +0:200 'inF0' ( in 3-component vector of float) +0:200 'inF1' ( in 3-component vector of float) +0:201 tangent ( temp 3-component vector of float) +0:201 'inF0' ( in 3-component vector of float) +0:202 hyp. tangent ( temp 3-component vector of float) +0:202 'inF0' ( in 3-component vector of float) +0:204 trunc ( temp 3-component vector of float) +0:204 'inF0' ( in 3-component vector of float) 0:207 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:211 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float) +0:211 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float) 0:211 Function Parameters: -0:211 'inF0' (in 4-component vector of float) -0:211 'inF1' (in 4-component vector of float) -0:211 'inF2' (in 4-component vector of float) -0:211 'inU0' (in 4-component vector of uint) -0:211 'inU1' (in 4-component vector of uint) +0:211 'inF0' ( in 4-component vector of float) +0:211 'inF1' ( in 4-component vector of float) +0:211 'inF2' ( in 4-component vector of float) +0:211 'inU0' ( in 4-component vector of uint) +0:211 'inU1' ( in 4-component vector of uint) 0:? Sequence -0:212 all (temp bool) -0:212 'inF0' (in 4-component vector of float) -0:213 Absolute value (temp 4-component vector of float) -0:213 'inF0' (in 4-component vector of float) -0:214 arc cosine (temp 4-component vector of float) -0:214 'inF0' (in 4-component vector of float) -0:215 any (temp bool) -0:215 'inF0' (in 4-component vector of float) -0:216 arc sine (temp 4-component vector of float) -0:216 'inF0' (in 4-component vector of float) -0:217 floatBitsToInt (temp 4-component vector of int) -0:217 'inF0' (in 4-component vector of float) -0:218 floatBitsToUint (temp 4-component vector of uint) -0:218 'inF0' (in 4-component vector of float) -0:219 intBitsToFloat (temp 4-component vector of float) -0:219 'inU0' (in 4-component vector of uint) -0:221 arc tangent (temp 4-component vector of float) -0:221 'inF0' (in 4-component vector of float) -0:222 arc tangent (temp 4-component vector of float) -0:222 'inF0' (in 4-component vector of float) -0:222 'inF1' (in 4-component vector of float) -0:223 Ceiling (temp 4-component vector of float) -0:223 'inF0' (in 4-component vector of float) -0:224 clamp (temp 4-component vector of float) -0:224 'inF0' (in 4-component vector of float) -0:224 'inF1' (in 4-component vector of float) -0:224 'inF2' (in 4-component vector of float) -0:225 cosine (temp 4-component vector of float) -0:225 'inF0' (in 4-component vector of float) -0:226 hyp. cosine (temp 4-component vector of float) -0:226 'inF0' (in 4-component vector of float) -0:? bitCount (temp 4-component vector of int) +0:212 all ( temp bool) +0:212 'inF0' ( in 4-component vector of float) +0:213 Absolute value ( temp 4-component vector of float) +0:213 'inF0' ( in 4-component vector of float) +0:214 arc cosine ( temp 4-component vector of float) +0:214 'inF0' ( in 4-component vector of float) +0:215 any ( temp bool) +0:215 'inF0' ( in 4-component vector of float) +0:216 arc sine ( temp 4-component vector of float) +0:216 'inF0' ( in 4-component vector of float) +0:217 floatBitsToInt ( temp 4-component vector of int) +0:217 'inF0' ( in 4-component vector of float) +0:218 floatBitsToUint ( temp 4-component vector of uint) +0:218 'inF0' ( in 4-component vector of float) +0:219 intBitsToFloat ( temp 4-component vector of float) +0:219 'inU0' ( in 4-component vector of uint) +0:221 arc tangent ( temp 4-component vector of float) +0:221 'inF0' ( in 4-component vector of float) +0:222 arc tangent ( temp 4-component vector of float) +0:222 'inF0' ( in 4-component vector of float) +0:222 'inF1' ( in 4-component vector of float) +0:223 Ceiling ( temp 4-component vector of float) +0:223 'inF0' ( in 4-component vector of float) +0:224 clamp ( temp 4-component vector of float) +0:224 'inF0' ( in 4-component vector of float) +0:224 'inF1' ( in 4-component vector of float) +0:224 'inF2' ( in 4-component vector of float) +0:225 cosine ( temp 4-component vector of float) +0:225 'inF0' ( in 4-component vector of float) +0:226 hyp. cosine ( temp 4-component vector of float) +0:226 'inF0' ( in 4-component vector of float) +0:? bitCount ( temp 4-component vector of int) 0:? Constant: 0:? 7 (const int) 0:? 3 (const int) 0:? 5 (const int) 0:? 2 (const int) -0:228 degrees (temp 4-component vector of float) -0:228 'inF0' (in 4-component vector of float) -0:229 distance (temp float) -0:229 'inF0' (in 4-component vector of float) -0:229 'inF1' (in 4-component vector of float) -0:230 dot-product (temp float) -0:230 'inF0' (in 4-component vector of float) -0:230 'inF1' (in 4-component vector of float) -0:231 Construct vec4 (temp 4-component vector of float) +0:228 degrees ( temp 4-component vector of float) +0:228 'inF0' ( in 4-component vector of float) +0:229 distance ( temp float) +0:229 'inF0' ( in 4-component vector of float) +0:229 'inF1' ( in 4-component vector of float) +0:230 dot-product ( temp float) +0:230 'inF0' ( in 4-component vector of float) +0:230 'inF1' ( in 4-component vector of float) +0:231 Construct vec4 ( temp 4-component vector of float) 0:231 Constant: 0:231 1.000000 -0:231 component-wise multiply (temp float) -0:231 direct index (temp float) -0:231 'inF0' (in 4-component vector of float) +0:231 component-wise multiply ( temp float) +0:231 direct index ( temp float) +0:231 'inF0' ( in 4-component vector of float) 0:231 Constant: 0:231 1 (const int) -0:231 direct index (temp float) -0:231 'inF1' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF1' ( in 4-component vector of float) 0:231 Constant: 0:231 1 (const int) -0:231 direct index (temp float) -0:231 'inF0' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF0' ( in 4-component vector of float) 0:231 Constant: 0:231 2 (const int) -0:231 direct index (temp float) -0:231 'inF1' (in 4-component vector of float) +0:231 direct index ( temp float) +0:231 'inF1' ( in 4-component vector of float) 0:231 Constant: 0:231 3 (const int) -0:235 exp (temp 4-component vector of float) -0:235 'inF0' (in 4-component vector of float) -0:236 exp2 (temp 4-component vector of float) -0:236 'inF0' (in 4-component vector of float) -0:237 face-forward (temp 4-component vector of float) -0:237 'inF0' (in 4-component vector of float) -0:237 'inF1' (in 4-component vector of float) -0:237 'inF2' (in 4-component vector of float) -0:238 findMSB (temp int) +0:235 exp ( temp 4-component vector of float) +0:235 'inF0' ( in 4-component vector of float) +0:236 exp2 ( temp 4-component vector of float) +0:236 'inF0' ( in 4-component vector of float) +0:237 face-forward ( temp 4-component vector of float) +0:237 'inF0' ( in 4-component vector of float) +0:237 'inF1' ( in 4-component vector of float) +0:237 'inF2' ( in 4-component vector of float) +0:238 findMSB ( temp int) 0:238 Constant: 0:238 7 (const int) -0:239 findLSB (temp int) +0:239 findLSB ( temp int) 0:239 Constant: 0:239 7 (const int) -0:240 Floor (temp 4-component vector of float) -0:240 'inF0' (in 4-component vector of float) -0:242 mod (temp 4-component vector of float) -0:242 'inF0' (in 4-component vector of float) -0:242 'inF1' (in 4-component vector of float) -0:243 Fraction (temp 4-component vector of float) -0:243 'inF0' (in 4-component vector of float) -0:244 frexp (temp 4-component vector of float) -0:244 'inF0' (in 4-component vector of float) -0:244 'inF1' (in 4-component vector of float) -0:245 isinf (temp 4-component vector of bool) -0:245 'inF0' (in 4-component vector of float) -0:246 isnan (temp 4-component vector of bool) -0:246 'inF0' (in 4-component vector of float) -0:247 ldexp (temp 4-component vector of float) -0:247 'inF0' (in 4-component vector of float) -0:247 'inF1' (in 4-component vector of float) -0:248 mix (temp 4-component vector of float) -0:248 'inF0' (in 4-component vector of float) -0:248 'inF1' (in 4-component vector of float) -0:248 'inF2' (in 4-component vector of float) -0:249 length (temp float) -0:249 'inF0' (in 4-component vector of float) -0:250 log (temp 4-component vector of float) -0:250 'inF0' (in 4-component vector of float) -0:251 vector-scale (temp 4-component vector of float) -0:251 log2 (temp 4-component vector of float) -0:251 'inF0' (in 4-component vector of float) +0:240 Floor ( temp 4-component vector of float) +0:240 'inF0' ( in 4-component vector of float) +0:242 mod ( temp 4-component vector of float) +0:242 'inF0' ( in 4-component vector of float) +0:242 'inF1' ( in 4-component vector of float) +0:243 Fraction ( temp 4-component vector of float) +0:243 'inF0' ( in 4-component vector of float) +0:244 frexp ( temp 4-component vector of float) +0:244 'inF0' ( in 4-component vector of float) +0:244 'inF1' ( in 4-component vector of float) +0:245 isinf ( temp 4-component vector of bool) +0:245 'inF0' ( in 4-component vector of float) +0:246 isnan ( temp 4-component vector of bool) +0:246 'inF0' ( in 4-component vector of float) +0:247 ldexp ( temp 4-component vector of float) +0:247 'inF0' ( in 4-component vector of float) +0:247 'inF1' ( in 4-component vector of float) +0:248 mix ( temp 4-component vector of float) +0:248 'inF0' ( in 4-component vector of float) +0:248 'inF1' ( in 4-component vector of float) +0:248 'inF2' ( in 4-component vector of float) +0:249 length ( temp float) +0:249 'inF0' ( in 4-component vector of float) +0:250 log ( temp 4-component vector of float) +0:250 'inF0' ( in 4-component vector of float) +0:251 vector-scale ( temp 4-component vector of float) +0:251 log2 ( temp 4-component vector of float) +0:251 'inF0' ( in 4-component vector of float) 0:251 Constant: 0:251 0.301030 -0:252 log2 (temp 4-component vector of float) -0:252 'inF0' (in 4-component vector of float) -0:253 max (temp 4-component vector of float) -0:253 'inF0' (in 4-component vector of float) -0:253 'inF1' (in 4-component vector of float) -0:254 min (temp 4-component vector of float) -0:254 'inF0' (in 4-component vector of float) -0:254 'inF1' (in 4-component vector of float) -0:256 normalize (temp 4-component vector of float) -0:256 'inF0' (in 4-component vector of float) -0:257 pow (temp 4-component vector of float) -0:257 'inF0' (in 4-component vector of float) -0:257 'inF1' (in 4-component vector of float) -0:258 radians (temp 4-component vector of float) -0:258 'inF0' (in 4-component vector of float) -0:259 reflect (temp 4-component vector of float) -0:259 'inF0' (in 4-component vector of float) -0:259 'inF1' (in 4-component vector of float) -0:260 refract (temp 4-component vector of float) -0:260 'inF0' (in 4-component vector of float) -0:260 'inF1' (in 4-component vector of float) +0:252 log2 ( temp 4-component vector of float) +0:252 'inF0' ( in 4-component vector of float) +0:253 max ( temp 4-component vector of float) +0:253 'inF0' ( in 4-component vector of float) +0:253 'inF1' ( in 4-component vector of float) +0:254 min ( temp 4-component vector of float) +0:254 'inF0' ( in 4-component vector of float) +0:254 'inF1' ( in 4-component vector of float) +0:256 normalize ( temp 4-component vector of float) +0:256 'inF0' ( in 4-component vector of float) +0:257 pow ( temp 4-component vector of float) +0:257 'inF0' ( in 4-component vector of float) +0:257 'inF1' ( in 4-component vector of float) +0:258 radians ( temp 4-component vector of float) +0:258 'inF0' ( in 4-component vector of float) +0:259 reflect ( temp 4-component vector of float) +0:259 'inF0' ( in 4-component vector of float) +0:259 'inF1' ( in 4-component vector of float) +0:260 refract ( temp 4-component vector of float) +0:260 'inF0' ( in 4-component vector of float) +0:260 'inF1' ( in 4-component vector of float) 0:260 Constant: 0:260 2.000000 -0:? bitFieldReverse (temp 4-component vector of int) +0:? bitFieldReverse ( temp 4-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:262 roundEven (temp 4-component vector of float) -0:262 'inF0' (in 4-component vector of float) -0:263 inverse sqrt (temp 4-component vector of float) -0:263 'inF0' (in 4-component vector of float) -0:264 clamp (temp 4-component vector of float) -0:264 'inF0' (in 4-component vector of float) +0:262 roundEven ( temp 4-component vector of float) +0:262 'inF0' ( in 4-component vector of float) +0:263 inverse sqrt ( temp 4-component vector of float) +0:263 'inF0' ( in 4-component vector of float) +0:264 clamp ( temp 4-component vector of float) +0:264 'inF0' ( in 4-component vector of float) 0:264 Constant: 0:264 0.000000 0:264 Constant: 0:264 1.000000 -0:265 Sign (temp 4-component vector of float) -0:265 'inF0' (in 4-component vector of float) -0:266 sine (temp 4-component vector of float) -0:266 'inF0' (in 4-component vector of float) +0:265 Sign ( temp 4-component vector of float) +0:265 'inF0' ( in 4-component vector of float) +0:266 sine ( temp 4-component vector of float) +0:266 'inF0' ( in 4-component vector of float) 0:267 Sequence -0:267 move second child to first child (temp 4-component vector of float) -0:267 'inF1' (in 4-component vector of float) -0:267 sine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) -0:267 move second child to first child (temp 4-component vector of float) -0:267 'inF2' (in 4-component vector of float) -0:267 cosine (temp 4-component vector of float) -0:267 'inF0' (in 4-component vector of float) -0:268 hyp. sine (temp 4-component vector of float) -0:268 'inF0' (in 4-component vector of float) -0:269 smoothstep (temp 4-component vector of float) -0:269 'inF0' (in 4-component vector of float) -0:269 'inF1' (in 4-component vector of float) -0:269 'inF2' (in 4-component vector of float) -0:270 sqrt (temp 4-component vector of float) -0:270 'inF0' (in 4-component vector of float) -0:271 step (temp 4-component vector of float) -0:271 'inF0' (in 4-component vector of float) -0:271 'inF1' (in 4-component vector of float) -0:272 tangent (temp 4-component vector of float) -0:272 'inF0' (in 4-component vector of float) -0:273 hyp. tangent (temp 4-component vector of float) -0:273 'inF0' (in 4-component vector of float) -0:275 trunc (temp 4-component vector of float) -0:275 'inF0' (in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'inF1' ( in 4-component vector of float) +0:267 sine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) +0:267 move second child to first child ( temp 4-component vector of float) +0:267 'inF2' ( in 4-component vector of float) +0:267 cosine ( temp 4-component vector of float) +0:267 'inF0' ( in 4-component vector of float) +0:268 hyp. sine ( temp 4-component vector of float) +0:268 'inF0' ( in 4-component vector of float) +0:269 smoothstep ( temp 4-component vector of float) +0:269 'inF0' ( in 4-component vector of float) +0:269 'inF1' ( in 4-component vector of float) +0:269 'inF2' ( in 4-component vector of float) +0:270 sqrt ( temp 4-component vector of float) +0:270 'inF0' ( in 4-component vector of float) +0:271 step ( temp 4-component vector of float) +0:271 'inF0' ( in 4-component vector of float) +0:271 'inF1' ( in 4-component vector of float) +0:272 tangent ( temp 4-component vector of float) +0:272 'inF0' ( in 4-component vector of float) +0:273 hyp. tangent ( temp 4-component vector of float) +0:273 'inF0' ( in 4-component vector of float) +0:275 trunc ( temp 4-component vector of float) +0:275 'inF0' ( in 4-component vector of float) 0:278 Branch: Return with expression 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:336 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (temp 2X2 matrix of float) +0:336 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float) 0:336 Function Parameters: -0:336 'inF0' (in 2X2 matrix of float) -0:336 'inF1' (in 2X2 matrix of float) -0:336 'inF2' (in 2X2 matrix of float) +0:336 'inF0' ( in 2X2 matrix of float) +0:336 'inF1' ( in 2X2 matrix of float) +0:336 'inF2' ( in 2X2 matrix of float) 0:? Sequence -0:338 all (temp bool) -0:338 'inF0' (in 2X2 matrix of float) -0:338 Absolute value (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 any (temp bool) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 Ceiling (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 degrees (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 determinant (temp float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 exp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 exp2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 findMSB (temp int) +0:338 all ( temp bool) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 Absolute value ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 any ( temp bool) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 arc tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 Ceiling ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 clamp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 degrees ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 determinant ( temp float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 exp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 exp2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 findMSB ( temp int) 0:338 Constant: 0:338 7 (const int) -0:338 findLSB (temp int) +0:338 findLSB ( temp int) 0:338 Constant: 0:338 7 (const int) -0:338 Floor (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 mod (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 Fraction (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 frexp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 ldexp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 mix (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 log (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 matrix-scale (temp 2X2 matrix of float) -0:338 log2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 Floor ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 mod ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 Fraction ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 frexp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 ldexp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 mix ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 log ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 matrix-scale ( temp 2X2 matrix of float) +0:338 log2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Constant: 0:338 0.301030 -0:338 log2 (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 max (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 min (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 pow (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 radians (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 roundEven (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 inverse sqrt (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 log2 ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 max ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 min ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 pow ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 radians ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 roundEven ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 inverse sqrt ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 clamp ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Constant: 0:338 0.000000 0:338 Constant: 0:338 1.000000 -0:338 Sign (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 Sign ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:338 Sequence -0:338 move second child to first child (temp 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 move second child to first child (temp 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 cosine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. sine (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 smoothstep (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 'inF2' (in 2X2 matrix of float) -0:338 sqrt (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 step (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 'inF1' (in 2X2 matrix of float) -0:338 tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. tangent (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 transpose (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) -0:338 trunc (temp 2X2 matrix of float) -0:338 'inF0' (in 2X2 matrix of float) +0:338 move second child to first child ( temp 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 move second child to first child ( temp 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 cosine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. sine ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 smoothstep ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 'inF2' ( in 2X2 matrix of float) +0:338 sqrt ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 step ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 'inF1' ( in 2X2 matrix of float) +0:338 tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 hyp. tangent ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 transpose ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) +0:338 trunc ( temp 2X2 matrix of float) +0:338 'inF0' ( in 2X2 matrix of float) 0:341 Branch: Return with expression 0:? Constant: 0:? 2.000000 0:? 2.000000 0:? 2.000000 0:? 2.000000 -0:345 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (temp 3X3 matrix of float) +0:345 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float) 0:345 Function Parameters: -0:345 'inF0' (in 3X3 matrix of float) -0:345 'inF1' (in 3X3 matrix of float) -0:345 'inF2' (in 3X3 matrix of float) +0:345 'inF0' ( in 3X3 matrix of float) +0:345 'inF1' ( in 3X3 matrix of float) +0:345 'inF2' ( in 3X3 matrix of float) 0:? Sequence -0:347 all (temp bool) -0:347 'inF0' (in 3X3 matrix of float) -0:347 Absolute value (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 any (temp bool) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 Ceiling (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 degrees (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 determinant (temp float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 exp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 exp2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 findMSB (temp int) +0:347 all ( temp bool) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 Absolute value ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 any ( temp bool) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 arc tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 Ceiling ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 clamp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 degrees ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 determinant ( temp float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 exp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 exp2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 findMSB ( temp int) 0:347 Constant: 0:347 7 (const int) -0:347 findLSB (temp int) +0:347 findLSB ( temp int) 0:347 Constant: 0:347 7 (const int) -0:347 Floor (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 mod (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 Fraction (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 frexp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 ldexp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 mix (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 log (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 matrix-scale (temp 3X3 matrix of float) -0:347 log2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 Floor ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 mod ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 Fraction ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 frexp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 ldexp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 mix ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 log ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 matrix-scale ( temp 3X3 matrix of float) +0:347 log2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Constant: 0:347 0.301030 -0:347 log2 (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 max (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 min (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 pow (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 radians (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 roundEven (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 inverse sqrt (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 log2 ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 max ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 min ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 pow ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 radians ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 roundEven ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 inverse sqrt ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 clamp ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Constant: 0:347 0.000000 0:347 Constant: 0:347 1.000000 -0:347 Sign (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 Sign ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:347 Sequence -0:347 move second child to first child (temp 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 move second child to first child (temp 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 cosine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. sine (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 smoothstep (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 'inF2' (in 3X3 matrix of float) -0:347 sqrt (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 step (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 'inF1' (in 3X3 matrix of float) -0:347 tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. tangent (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 transpose (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) -0:347 trunc (temp 3X3 matrix of float) -0:347 'inF0' (in 3X3 matrix of float) +0:347 move second child to first child ( temp 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 move second child to first child ( temp 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 cosine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. sine ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 smoothstep ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 'inF2' ( in 3X3 matrix of float) +0:347 sqrt ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 step ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 'inF1' ( in 3X3 matrix of float) +0:347 tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 hyp. tangent ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 transpose ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) +0:347 trunc ( temp 3X3 matrix of float) +0:347 'inF0' ( in 3X3 matrix of float) 0:350 Branch: Return with expression 0:? Constant: 0:? 3.000000 @@ -2345,130 +2345,130 @@ Shader version: 450 0:? 3.000000 0:? 3.000000 0:? 3.000000 -0:354 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (temp 4X4 matrix of float) +0:354 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float) 0:354 Function Parameters: -0:354 'inF0' (in 4X4 matrix of float) -0:354 'inF1' (in 4X4 matrix of float) -0:354 'inF2' (in 4X4 matrix of float) +0:354 'inF0' ( in 4X4 matrix of float) +0:354 'inF1' ( in 4X4 matrix of float) +0:354 'inF2' ( in 4X4 matrix of float) 0:? Sequence -0:356 all (temp bool) -0:356 'inF0' (in 4X4 matrix of float) -0:356 Absolute value (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 any (temp bool) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 Ceiling (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 degrees (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 determinant (temp float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 exp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 exp2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 findMSB (temp int) +0:356 all ( temp bool) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 Absolute value ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 any ( temp bool) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 arc tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 Ceiling ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 clamp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 degrees ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 determinant ( temp float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 exp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 exp2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 findMSB ( temp int) 0:356 Constant: 0:356 7 (const int) -0:356 findLSB (temp int) +0:356 findLSB ( temp int) 0:356 Constant: 0:356 7 (const int) -0:356 Floor (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 mod (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 Fraction (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 frexp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 ldexp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 mix (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 log (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 matrix-scale (temp 4X4 matrix of float) -0:356 log2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 Floor ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 mod ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 Fraction ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 frexp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 ldexp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 mix ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 log ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 matrix-scale ( temp 4X4 matrix of float) +0:356 log2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Constant: 0:356 0.301030 -0:356 log2 (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 max (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 min (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 pow (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 radians (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 roundEven (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 inverse sqrt (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 log2 ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 max ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 min ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 pow ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 radians ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 roundEven ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 inverse sqrt ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 clamp ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Constant: 0:356 0.000000 0:356 Constant: 0:356 1.000000 -0:356 Sign (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 Sign ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:356 Sequence -0:356 move second child to first child (temp 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 move second child to first child (temp 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 cosine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. sine (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 smoothstep (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 'inF2' (in 4X4 matrix of float) -0:356 sqrt (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 step (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 'inF1' (in 4X4 matrix of float) -0:356 tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. tangent (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 transpose (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) -0:356 trunc (temp 4X4 matrix of float) -0:356 'inF0' (in 4X4 matrix of float) +0:356 move second child to first child ( temp 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 move second child to first child ( temp 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 cosine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. sine ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 smoothstep ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 'inF2' ( in 4X4 matrix of float) +0:356 sqrt ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 step ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 'inF1' ( in 4X4 matrix of float) +0:356 tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 hyp. tangent ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 transpose ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) +0:356 trunc ( temp 4X4 matrix of float) +0:356 'inF0' ( in 4X4 matrix of float) 0:359 Branch: Return with expression 0:? Constant: 0:? 4.000000 @@ -2487,309 +2487,309 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? 4.000000 -0:377 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (temp void) +0:377 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void) 0:377 Function Parameters: -0:377 'inF0' (in float) -0:377 'inF1' (in float) -0:377 'inFV0' (in 2-component vector of float) -0:377 'inFV1' (in 2-component vector of float) -0:377 'inFM0' (in 2X2 matrix of float) -0:377 'inFM1' (in 2X2 matrix of float) +0:377 'inF0' ( in float) +0:377 'inF1' ( in float) +0:377 'inFV0' ( in 2-component vector of float) +0:377 'inFV1' ( in 2-component vector of float) +0:377 'inFM0' ( in 2X2 matrix of float) +0:377 'inFM1' ( in 2X2 matrix of float) 0:? Sequence 0:378 Sequence -0:378 move second child to first child (temp float) -0:378 'r0' (temp float) -0:378 component-wise multiply (temp float) -0:378 'inF1' (in float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp float) +0:378 'r0' ( temp float) +0:378 component-wise multiply ( temp float) +0:378 'inF1' ( in float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r1' (temp 2-component vector of float) -0:378 vector-scale (temp 2-component vector of float) -0:378 'inF0' (in float) -0:378 'inFV0' (in 2-component vector of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r1' ( temp 2-component vector of float) +0:378 vector-scale ( temp 2-component vector of float) +0:378 'inF0' ( in float) +0:378 'inFV0' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r2' (temp 2-component vector of float) -0:378 vector-scale (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r2' ( temp 2-component vector of float) +0:378 vector-scale ( temp 2-component vector of float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp float) -0:378 'r3' (temp float) -0:378 dot-product (temp float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inFV1' (in 2-component vector of float) +0:378 move second child to first child ( temp float) +0:378 'r3' ( temp float) +0:378 dot-product ( temp float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inFV1' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r4' (temp 2-component vector of float) -0:378 vector-times-matrix (temp 2-component vector of float) -0:378 'inFV0' (in 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r4' ( temp 2-component vector of float) +0:378 vector-times-matrix ( temp 2-component vector of float) +0:378 'inFV0' ( in 2-component vector of float) +0:378 'inFM0' ( in 2X2 matrix of float) 0:378 Sequence -0:378 move second child to first child (temp 2-component vector of float) -0:378 'r5' (temp 2-component vector of float) -0:378 matrix-times-vector (temp 2-component vector of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inFV0' (in 2-component vector of float) +0:378 move second child to first child ( temp 2-component vector of float) +0:378 'r5' ( temp 2-component vector of float) +0:378 matrix-times-vector ( temp 2-component vector of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:378 'inFV0' ( in 2-component vector of float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r6' (temp 2X2 matrix of float) -0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inF0' (in float) -0:378 'inFM0' (in 2X2 matrix of float) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r6' ( temp 2X2 matrix of float) +0:378 matrix-scale ( temp 2X2 matrix of float) +0:378 'inF0' ( in float) +0:378 'inFM0' ( in 2X2 matrix of float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r7' (temp 2X2 matrix of float) -0:378 matrix-scale (temp 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:378 'inF0' (in float) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r7' ( temp 2X2 matrix of float) +0:378 matrix-scale ( temp 2X2 matrix of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:378 'inF0' ( in float) 0:378 Sequence -0:378 move second child to first child (temp 2X2 matrix of float) -0:378 'r8' (temp 2X2 matrix of float) -0:378 matrix-multiply (temp 2X2 matrix of float) -0:378 'inFM1' (in 2X2 matrix of float) -0:378 'inFM0' (in 2X2 matrix of float) -0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (temp void) +0:378 move second child to first child ( temp 2X2 matrix of float) +0:378 'r8' ( temp 2X2 matrix of float) +0:378 matrix-multiply ( temp 2X2 matrix of float) +0:378 'inFM1' ( in 2X2 matrix of float) +0:378 'inFM0' ( in 2X2 matrix of float) +0:384 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void) 0:384 Function Parameters: -0:384 'inF0' (in float) -0:384 'inF1' (in float) -0:384 'inFV0' (in 3-component vector of float) -0:384 'inFV1' (in 3-component vector of float) -0:384 'inFM0' (in 3X3 matrix of float) -0:384 'inFM1' (in 3X3 matrix of float) +0:384 'inF0' ( in float) +0:384 'inF1' ( in float) +0:384 'inFV0' ( in 3-component vector of float) +0:384 'inFV1' ( in 3-component vector of float) +0:384 'inFM0' ( in 3X3 matrix of float) +0:384 'inFM1' ( in 3X3 matrix of float) 0:? Sequence 0:385 Sequence -0:385 move second child to first child (temp float) -0:385 'r0' (temp float) -0:385 component-wise multiply (temp float) -0:385 'inF1' (in float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp float) +0:385 'r0' ( temp float) +0:385 component-wise multiply ( temp float) +0:385 'inF1' ( in float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r1' (temp 3-component vector of float) -0:385 vector-scale (temp 3-component vector of float) -0:385 'inF0' (in float) -0:385 'inFV0' (in 3-component vector of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r1' ( temp 3-component vector of float) +0:385 vector-scale ( temp 3-component vector of float) +0:385 'inF0' ( in float) +0:385 'inFV0' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r2' (temp 3-component vector of float) -0:385 vector-scale (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r2' ( temp 3-component vector of float) +0:385 vector-scale ( temp 3-component vector of float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp float) -0:385 'r3' (temp float) -0:385 dot-product (temp float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inFV1' (in 3-component vector of float) +0:385 move second child to first child ( temp float) +0:385 'r3' ( temp float) +0:385 dot-product ( temp float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inFV1' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r4' (temp 3-component vector of float) -0:385 vector-times-matrix (temp 3-component vector of float) -0:385 'inFV0' (in 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r4' ( temp 3-component vector of float) +0:385 vector-times-matrix ( temp 3-component vector of float) +0:385 'inFV0' ( in 3-component vector of float) +0:385 'inFM0' ( in 3X3 matrix of float) 0:385 Sequence -0:385 move second child to first child (temp 3-component vector of float) -0:385 'r5' (temp 3-component vector of float) -0:385 matrix-times-vector (temp 3-component vector of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inFV0' (in 3-component vector of float) +0:385 move second child to first child ( temp 3-component vector of float) +0:385 'r5' ( temp 3-component vector of float) +0:385 matrix-times-vector ( temp 3-component vector of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:385 'inFV0' ( in 3-component vector of float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r6' (temp 3X3 matrix of float) -0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inF0' (in float) -0:385 'inFM0' (in 3X3 matrix of float) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r6' ( temp 3X3 matrix of float) +0:385 matrix-scale ( temp 3X3 matrix of float) +0:385 'inF0' ( in float) +0:385 'inFM0' ( in 3X3 matrix of float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r7' (temp 3X3 matrix of float) -0:385 matrix-scale (temp 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:385 'inF0' (in float) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r7' ( temp 3X3 matrix of float) +0:385 matrix-scale ( temp 3X3 matrix of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:385 'inF0' ( in float) 0:385 Sequence -0:385 move second child to first child (temp 3X3 matrix of float) -0:385 'r8' (temp 3X3 matrix of float) -0:385 matrix-multiply (temp 3X3 matrix of float) -0:385 'inFM1' (in 3X3 matrix of float) -0:385 'inFM0' (in 3X3 matrix of float) -0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (temp void) +0:385 move second child to first child ( temp 3X3 matrix of float) +0:385 'r8' ( temp 3X3 matrix of float) +0:385 matrix-multiply ( temp 3X3 matrix of float) +0:385 'inFM1' ( in 3X3 matrix of float) +0:385 'inFM0' ( in 3X3 matrix of float) +0:391 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void) 0:391 Function Parameters: -0:391 'inF0' (in float) -0:391 'inF1' (in float) -0:391 'inFV0' (in 4-component vector of float) -0:391 'inFV1' (in 4-component vector of float) -0:391 'inFM0' (in 4X4 matrix of float) -0:391 'inFM1' (in 4X4 matrix of float) +0:391 'inF0' ( in float) +0:391 'inF1' ( in float) +0:391 'inFV0' ( in 4-component vector of float) +0:391 'inFV1' ( in 4-component vector of float) +0:391 'inFM0' ( in 4X4 matrix of float) +0:391 'inFM1' ( in 4X4 matrix of float) 0:? Sequence 0:392 Sequence -0:392 move second child to first child (temp float) -0:392 'r0' (temp float) -0:392 component-wise multiply (temp float) -0:392 'inF1' (in float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp float) +0:392 'r0' ( temp float) +0:392 component-wise multiply ( temp float) +0:392 'inF1' ( in float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r1' (temp 4-component vector of float) -0:392 vector-scale (temp 4-component vector of float) -0:392 'inF0' (in float) -0:392 'inFV0' (in 4-component vector of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r1' ( temp 4-component vector of float) +0:392 vector-scale ( temp 4-component vector of float) +0:392 'inF0' ( in float) +0:392 'inFV0' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r2' (temp 4-component vector of float) -0:392 vector-scale (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r2' ( temp 4-component vector of float) +0:392 vector-scale ( temp 4-component vector of float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp float) -0:392 'r3' (temp float) -0:392 dot-product (temp float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inFV1' (in 4-component vector of float) +0:392 move second child to first child ( temp float) +0:392 'r3' ( temp float) +0:392 dot-product ( temp float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inFV1' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r4' (temp 4-component vector of float) -0:392 vector-times-matrix (temp 4-component vector of float) -0:392 'inFV0' (in 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r4' ( temp 4-component vector of float) +0:392 vector-times-matrix ( temp 4-component vector of float) +0:392 'inFV0' ( in 4-component vector of float) +0:392 'inFM0' ( in 4X4 matrix of float) 0:392 Sequence -0:392 move second child to first child (temp 4-component vector of float) -0:392 'r5' (temp 4-component vector of float) -0:392 matrix-times-vector (temp 4-component vector of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inFV0' (in 4-component vector of float) +0:392 move second child to first child ( temp 4-component vector of float) +0:392 'r5' ( temp 4-component vector of float) +0:392 matrix-times-vector ( temp 4-component vector of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:392 'inFV0' ( in 4-component vector of float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r6' (temp 4X4 matrix of float) -0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inF0' (in float) -0:392 'inFM0' (in 4X4 matrix of float) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r6' ( temp 4X4 matrix of float) +0:392 matrix-scale ( temp 4X4 matrix of float) +0:392 'inF0' ( in float) +0:392 'inFM0' ( in 4X4 matrix of float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r7' (temp 4X4 matrix of float) -0:392 matrix-scale (temp 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:392 'inF0' (in float) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r7' ( temp 4X4 matrix of float) +0:392 matrix-scale ( temp 4X4 matrix of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:392 'inF0' ( in float) 0:392 Sequence -0:392 move second child to first child (temp 4X4 matrix of float) -0:392 'r8' (temp 4X4 matrix of float) -0:392 matrix-multiply (temp 4X4 matrix of float) -0:392 'inFM1' (in 4X4 matrix of float) -0:392 'inFM0' (in 4X4 matrix of float) -0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; (temp void) +0:392 move second child to first child ( temp 4X4 matrix of float) +0:392 'r8' ( temp 4X4 matrix of float) +0:392 matrix-multiply ( temp 4X4 matrix of float) +0:392 'inFM1' ( in 4X4 matrix of float) +0:392 'inFM0' ( in 4X4 matrix of float) +0:401 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void) 0:401 Function Parameters: -0:401 'inF0' (in float) -0:401 'inF1' (in float) -0:401 'inFV2' (in 2-component vector of float) -0:401 'inFV3' (in 3-component vector of float) -0:401 'inFM2x3' (in 2X3 matrix of float) -0:401 'inFM3x2' (in 3X2 matrix of float) -0:401 'inFM3x3' (in 3X3 matrix of float) -0:401 'inFM3x4' (in 3X4 matrix of float) -0:401 'inFM2x4' (in 2X4 matrix of float) +0:401 'inF0' ( in float) +0:401 'inF1' ( in float) +0:401 'inFV2' ( in 2-component vector of float) +0:401 'inFV3' ( in 3-component vector of float) +0:401 'inFM2x3' ( in 2X3 matrix of float) +0:401 'inFM3x2' ( in 3X2 matrix of float) +0:401 'inFM3x3' ( in 3X3 matrix of float) +0:401 'inFM3x4' ( in 3X4 matrix of float) +0:401 'inFM2x4' ( in 2X4 matrix of float) 0:? Sequence 0:402 Sequence -0:402 move second child to first child (temp float) -0:402 'r00' (temp float) -0:402 component-wise multiply (temp float) -0:402 'inF1' (in float) -0:402 'inF0' (in float) +0:402 move second child to first child ( temp float) +0:402 'r00' ( temp float) +0:402 component-wise multiply ( temp float) +0:402 'inF1' ( in float) +0:402 'inF0' ( in float) 0:403 Sequence -0:403 move second child to first child (temp 2-component vector of float) -0:403 'r01' (temp 2-component vector of float) -0:403 vector-scale (temp 2-component vector of float) -0:403 'inF0' (in float) -0:403 'inFV2' (in 2-component vector of float) +0:403 move second child to first child ( temp 2-component vector of float) +0:403 'r01' ( temp 2-component vector of float) +0:403 vector-scale ( temp 2-component vector of float) +0:403 'inF0' ( in float) +0:403 'inFV2' ( in 2-component vector of float) 0:404 Sequence -0:404 move second child to first child (temp 3-component vector of float) -0:404 'r02' (temp 3-component vector of float) -0:404 vector-scale (temp 3-component vector of float) -0:404 'inF0' (in float) -0:404 'inFV3' (in 3-component vector of float) +0:404 move second child to first child ( temp 3-component vector of float) +0:404 'r02' ( temp 3-component vector of float) +0:404 vector-scale ( temp 3-component vector of float) +0:404 'inF0' ( in float) +0:404 'inFV3' ( in 3-component vector of float) 0:405 Sequence -0:405 move second child to first child (temp 2-component vector of float) -0:405 'r03' (temp 2-component vector of float) -0:405 vector-scale (temp 2-component vector of float) -0:405 'inFV2' (in 2-component vector of float) -0:405 'inF0' (in float) +0:405 move second child to first child ( temp 2-component vector of float) +0:405 'r03' ( temp 2-component vector of float) +0:405 vector-scale ( temp 2-component vector of float) +0:405 'inFV2' ( in 2-component vector of float) +0:405 'inF0' ( in float) 0:406 Sequence -0:406 move second child to first child (temp 3-component vector of float) -0:406 'r04' (temp 3-component vector of float) -0:406 vector-scale (temp 3-component vector of float) -0:406 'inFV3' (in 3-component vector of float) -0:406 'inF0' (in float) +0:406 move second child to first child ( temp 3-component vector of float) +0:406 'r04' ( temp 3-component vector of float) +0:406 vector-scale ( temp 3-component vector of float) +0:406 'inFV3' ( in 3-component vector of float) +0:406 'inF0' ( in float) 0:407 Sequence -0:407 move second child to first child (temp float) -0:407 'r05' (temp float) -0:407 dot-product (temp float) -0:407 'inFV2' (in 2-component vector of float) -0:407 'inFV2' (in 2-component vector of float) +0:407 move second child to first child ( temp float) +0:407 'r05' ( temp float) +0:407 dot-product ( temp float) +0:407 'inFV2' ( in 2-component vector of float) +0:407 'inFV2' ( in 2-component vector of float) 0:408 Sequence -0:408 move second child to first child (temp float) -0:408 'r06' (temp float) -0:408 dot-product (temp float) -0:408 'inFV3' (in 3-component vector of float) -0:408 'inFV3' (in 3-component vector of float) +0:408 move second child to first child ( temp float) +0:408 'r06' ( temp float) +0:408 dot-product ( temp float) +0:408 'inFV3' ( in 3-component vector of float) +0:408 'inFV3' ( in 3-component vector of float) 0:409 Sequence -0:409 move second child to first child (temp 3-component vector of float) -0:409 'r07' (temp 3-component vector of float) -0:409 matrix-times-vector (temp 3-component vector of float) -0:409 'inFM2x3' (in 2X3 matrix of float) -0:409 'inFV2' (in 2-component vector of float) +0:409 move second child to first child ( temp 3-component vector of float) +0:409 'r07' ( temp 3-component vector of float) +0:409 matrix-times-vector ( temp 3-component vector of float) +0:409 'inFM2x3' ( in 2X3 matrix of float) +0:409 'inFV2' ( in 2-component vector of float) 0:410 Sequence -0:410 move second child to first child (temp 2-component vector of float) -0:410 'r08' (temp 2-component vector of float) -0:410 matrix-times-vector (temp 2-component vector of float) -0:410 'inFM3x2' (in 3X2 matrix of float) -0:410 'inFV3' (in 3-component vector of float) +0:410 move second child to first child ( temp 2-component vector of float) +0:410 'r08' ( temp 2-component vector of float) +0:410 matrix-times-vector ( temp 2-component vector of float) +0:410 'inFM3x2' ( in 3X2 matrix of float) +0:410 'inFV3' ( in 3-component vector of float) 0:411 Sequence -0:411 move second child to first child (temp 2-component vector of float) -0:411 'r09' (temp 2-component vector of float) -0:411 vector-times-matrix (temp 2-component vector of float) -0:411 'inFV3' (in 3-component vector of float) -0:411 'inFM2x3' (in 2X3 matrix of float) +0:411 move second child to first child ( temp 2-component vector of float) +0:411 'r09' ( temp 2-component vector of float) +0:411 vector-times-matrix ( temp 2-component vector of float) +0:411 'inFV3' ( in 3-component vector of float) +0:411 'inFM2x3' ( in 2X3 matrix of float) 0:412 Sequence -0:412 move second child to first child (temp 3-component vector of float) -0:412 'r10' (temp 3-component vector of float) -0:412 vector-times-matrix (temp 3-component vector of float) -0:412 'inFV2' (in 2-component vector of float) -0:412 'inFM3x2' (in 3X2 matrix of float) +0:412 move second child to first child ( temp 3-component vector of float) +0:412 'r10' ( temp 3-component vector of float) +0:412 vector-times-matrix ( temp 3-component vector of float) +0:412 'inFV2' ( in 2-component vector of float) +0:412 'inFM3x2' ( in 3X2 matrix of float) 0:413 Sequence -0:413 move second child to first child (temp 2X3 matrix of float) -0:413 'r11' (temp 2X3 matrix of float) -0:413 matrix-scale (temp 2X3 matrix of float) -0:413 'inF0' (in float) -0:413 'inFM2x3' (in 2X3 matrix of float) +0:413 move second child to first child ( temp 2X3 matrix of float) +0:413 'r11' ( temp 2X3 matrix of float) +0:413 matrix-scale ( temp 2X3 matrix of float) +0:413 'inF0' ( in float) +0:413 'inFM2x3' ( in 2X3 matrix of float) 0:414 Sequence -0:414 move second child to first child (temp 3X2 matrix of float) -0:414 'r12' (temp 3X2 matrix of float) -0:414 matrix-scale (temp 3X2 matrix of float) -0:414 'inF0' (in float) -0:414 'inFM3x2' (in 3X2 matrix of float) +0:414 move second child to first child ( temp 3X2 matrix of float) +0:414 'r12' ( temp 3X2 matrix of float) +0:414 matrix-scale ( temp 3X2 matrix of float) +0:414 'inF0' ( in float) +0:414 'inFM3x2' ( in 3X2 matrix of float) 0:415 Sequence -0:415 move second child to first child (temp 2X2 matrix of float) -0:415 'r13' (temp 2X2 matrix of float) -0:415 matrix-multiply (temp 2X2 matrix of float) -0:415 'inFM3x2' (in 3X2 matrix of float) -0:415 'inFM2x3' (in 2X3 matrix of float) +0:415 move second child to first child ( temp 2X2 matrix of float) +0:415 'r13' ( temp 2X2 matrix of float) +0:415 matrix-multiply ( temp 2X2 matrix of float) +0:415 'inFM3x2' ( in 3X2 matrix of float) +0:415 'inFM2x3' ( in 2X3 matrix of float) 0:416 Sequence -0:416 move second child to first child (temp 2X3 matrix of float) -0:416 'r14' (temp 2X3 matrix of float) -0:416 matrix-multiply (temp 2X3 matrix of float) -0:416 'inFM3x3' (in 3X3 matrix of float) -0:416 'inFM2x3' (in 2X3 matrix of float) +0:416 move second child to first child ( temp 2X3 matrix of float) +0:416 'r14' ( temp 2X3 matrix of float) +0:416 matrix-multiply ( temp 2X3 matrix of float) +0:416 'inFM3x3' ( in 3X3 matrix of float) +0:416 'inFM2x3' ( in 2X3 matrix of float) 0:417 Sequence -0:417 move second child to first child (temp 2X4 matrix of float) -0:417 'r15' (temp 2X4 matrix of float) -0:417 matrix-multiply (temp 2X4 matrix of float) -0:417 'inFM3x4' (in 3X4 matrix of float) -0:417 'inFM2x3' (in 2X3 matrix of float) +0:417 move second child to first child ( temp 2X4 matrix of float) +0:417 'r15' ( temp 2X4 matrix of float) +0:417 matrix-multiply ( temp 2X4 matrix of float) +0:417 'inFM3x4' ( in 3X4 matrix of float) +0:417 'inFM2x3' ( in 2X3 matrix of float) 0:418 Sequence -0:418 move second child to first child (temp 3X4 matrix of float) -0:418 'r16' (temp 3X4 matrix of float) -0:418 matrix-multiply (temp 3X4 matrix of float) -0:418 'inFM2x4' (in 2X4 matrix of float) -0:418 'inFM3x2' (in 3X2 matrix of float) +0:418 move second child to first child ( temp 3X4 matrix of float) +0:418 'r16' ( temp 3X4 matrix of float) +0:418 matrix-multiply ( temp 3X4 matrix of float) +0:418 'inFM2x4' ( in 2X4 matrix of float) +0:418 'inFM3x2' ( in 3X2 matrix of float) 0:? Linker Objects // Module Version 10000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out index 65a9f271db5..6a5eceb00ae 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out @@ -2,33 +2,33 @@ hlsl.layout.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:16 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:16 Function Parameters: -0:16 'input' (in 4-component vector of float) +0:16 'input' ( in 4-component vector of float) 0:? Sequence 0:17 Branch: Return with expression -0:17 add (temp 4-component vector of float) -0:17 add (temp 4-component vector of float) -0:17 add (temp 4-component vector of float) -0:17 'input' (in 4-component vector of float) -0:17 v1: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:17 'anon@0' (layout(set=3 binding=5 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1}) +0:17 add ( temp 4-component vector of float) +0:17 add ( temp 4-component vector of float) +0:17 add ( temp 4-component vector of float) +0:17 'input' ( in 4-component vector of float) +0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:17 'anon@0' (layout( set=3 binding=5 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1}) 0:17 Constant: 0:17 0 (const uint) -0:17 v5: direct index for structure (layout(row_major std430 offset=0 ) buffer 4-component vector of float) -0:17 'anon@1' (layout(row_major std430 push_constant ) buffer block{layout(row_major std430 offset=0 ) buffer 4-component vector of float v5}) +0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float) +0:17 'anon@1' (layout( row_major std430 push_constant) buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5}) 0:17 Constant: 0:17 0 (const uint) -0:17 v1PostLayout: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:17 'anon@2' (layout(set=4 binding=7 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1PostLayout}) +0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:17 'anon@2' (layout( set=4 binding=7 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout}) 0:17 Constant: 0:17 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(set=3 binding=5 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1}) -0:? 'anon@1' (layout(row_major std430 push_constant ) buffer block{layout(row_major std430 offset=0 ) buffer 4-component vector of float v5}) -0:? 'specConst' (specialization-constant const int) +0:? 'anon@0' (layout( set=3 binding=5 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1}) +0:? 'anon@1' (layout( row_major std430 push_constant) buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5}) +0:? 'specConst' ( specialization-constant const int) 0:? 10 (const int) -0:? 'anon@2' (layout(set=4 binding=7 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1PostLayout}) +0:? 'anon@2' (layout( set=4 binding=7 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout}) Linked fragment stage: @@ -38,33 +38,33 @@ WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:16 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:16 Function Parameters: -0:16 'input' (in 4-component vector of float) +0:16 'input' ( in 4-component vector of float) 0:? Sequence 0:17 Branch: Return with expression -0:17 add (temp 4-component vector of float) -0:17 add (temp 4-component vector of float) -0:17 add (temp 4-component vector of float) -0:17 'input' (in 4-component vector of float) -0:17 v1: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:17 'anon@0' (layout(set=3 binding=5 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1}) +0:17 add ( temp 4-component vector of float) +0:17 add ( temp 4-component vector of float) +0:17 add ( temp 4-component vector of float) +0:17 'input' ( in 4-component vector of float) +0:17 v1: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:17 'anon@0' (layout( set=3 binding=5 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1}) 0:17 Constant: 0:17 0 (const uint) -0:17 v5: direct index for structure (layout(row_major std430 offset=0 ) buffer 4-component vector of float) -0:17 'anon@1' (layout(row_major std430 push_constant ) buffer block{layout(row_major std430 offset=0 ) buffer 4-component vector of float v5}) +0:17 v5: direct index for structure (layout( row_major std430 offset=0) buffer 4-component vector of float) +0:17 'anon@1' (layout( row_major std430 push_constant) buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5}) 0:17 Constant: 0:17 0 (const uint) -0:17 v1PostLayout: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float) -0:17 'anon@2' (layout(set=4 binding=7 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1PostLayout}) +0:17 v1PostLayout: direct index for structure (layout( row_major std430 offset=16) buffer 4-component vector of float) +0:17 'anon@2' (layout( set=4 binding=7 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout}) 0:17 Constant: 0:17 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (layout(set=3 binding=5 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1}) -0:? 'anon@1' (layout(row_major std430 push_constant ) buffer block{layout(row_major std430 offset=0 ) buffer 4-component vector of float v5}) -0:? 'specConst' (specialization-constant const int) +0:? 'anon@0' (layout( set=3 binding=5 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1}) +0:? 'anon@1' (layout( row_major std430 push_constant) buffer block{layout( row_major std430 offset=0) buffer 4-component vector of float v5}) +0:? 'specConst' ( specialization-constant const int) 0:? 10 (const int) -0:? 'anon@2' (layout(set=4 binding=7 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v1PostLayout}) +0:? 'anon@2' (layout( set=4 binding=7 row_major std430) buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 288a0f3f5e3..f436f881933 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -2,132 +2,132 @@ hlsl.load.2dms.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence -0:32 textureFetch (temp 4-component vector of float) -0:32 'g_tTex2dmsf4' (uniform texture2DMS) -0:32 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:32 textureFetch ( temp 4-component vector of float) +0:32 'g_tTex2dmsf4' ( uniform texture2DMS) +0:32 c2: direct index for structure ( uniform 2-component vector of int) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:32 Constant: 0:32 1 (const uint) 0:32 Constant: 0:32 3 (const int) -0:33 textureFetch (temp 4-component vector of int) -0:33 'g_tTex2dmsi4' (uniform itexture2DMS) -0:33 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:33 textureFetch ( temp 4-component vector of int) +0:33 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:33 c2: direct index for structure ( uniform 2-component vector of int) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:33 Constant: 0:33 1 (const uint) 0:33 Constant: 0:33 3 (const int) -0:34 textureFetch (temp 4-component vector of uint) -0:34 'g_tTex2dmsu4' (uniform utexture2DMS) -0:34 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:34 textureFetch ( temp 4-component vector of uint) +0:34 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:34 c2: direct index for structure ( uniform 2-component vector of int) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:34 Constant: 0:34 1 (const uint) 0:34 Constant: 0:34 3 (const int) -0:37 textureFetchOffset (temp 4-component vector of float) -0:37 'g_tTex2dmsf4' (uniform texture2DMS) -0:37 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:37 textureFetchOffset ( temp 4-component vector of float) +0:37 'g_tTex2dmsf4' ( uniform texture2DMS) +0:37 c2: direct index for structure ( uniform 2-component vector of int) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:37 Constant: 0:37 1 (const uint) 0:37 Constant: 0:37 3 (const int) -0:37 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:37 o2: direct index for structure ( uniform 2-component vector of int) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:37 Constant: 0:37 5 (const uint) -0:38 textureFetchOffset (temp 4-component vector of int) -0:38 'g_tTex2dmsi4' (uniform itexture2DMS) -0:38 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:38 textureFetchOffset ( temp 4-component vector of int) +0:38 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:38 c2: direct index for structure ( uniform 2-component vector of int) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:38 Constant: 0:38 1 (const uint) 0:38 Constant: 0:38 3 (const int) -0:38 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:38 o2: direct index for structure ( uniform 2-component vector of int) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:38 Constant: 0:38 5 (const uint) -0:39 textureFetchOffset (temp 4-component vector of uint) -0:39 'g_tTex2dmsu4' (uniform utexture2DMS) -0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:39 textureFetchOffset ( temp 4-component vector of uint) +0:39 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:39 c2: direct index for structure ( uniform 2-component vector of int) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:39 Constant: 0:39 1 (const uint) 0:39 Constant: 0:39 3 (const int) -0:39 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:39 o2: direct index for structure ( uniform 2-component vector of int) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:39 Constant: 0:39 5 (const uint) -0:42 textureFetch (temp 4-component vector of float) -0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 textureFetch ( temp 4-component vector of float) +0:42 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:42 c3: direct index for structure ( uniform 3-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 2 (const uint) 0:42 Constant: 0:42 3 (const int) -0:43 textureFetch (temp 4-component vector of int) -0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:43 textureFetch ( temp 4-component vector of int) +0:43 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:43 c3: direct index for structure ( uniform 3-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:43 Constant: 0:43 2 (const uint) 0:43 Constant: 0:43 3 (const int) -0:44 textureFetch (temp 4-component vector of uint) -0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 textureFetch ( temp 4-component vector of uint) +0:44 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:44 c3: direct index for structure ( uniform 3-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 3 (const int) -0:47 textureFetchOffset (temp 4-component vector of float) -0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 textureFetchOffset ( temp 4-component vector of float) +0:47 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:47 c3: direct index for structure ( uniform 3-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 2 (const uint) 0:47 Constant: 0:47 3 (const int) -0:47 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 o2: direct index for structure ( uniform 2-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 5 (const uint) -0:48 textureFetchOffset (temp 4-component vector of int) -0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:48 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 textureFetchOffset ( temp 4-component vector of int) +0:48 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:48 c3: direct index for structure ( uniform 3-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 2 (const uint) 0:48 Constant: 0:48 3 (const int) -0:48 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 o2: direct index for structure ( uniform 2-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 5 (const uint) -0:49 textureFetchOffset (temp 4-component vector of uint) -0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 textureFetchOffset ( temp 4-component vector of uint) +0:49 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:49 c3: direct index for structure ( uniform 3-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 2 (const uint) 0:49 Constant: 0:49 3 (const int) -0:49 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 o2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 5 (const uint) -0:51 move second child to first child (temp 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 Color: direct index for structure ( temp 4-component vector of float) +0:51 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: @@ -135,39 +135,45 @@ gl_FragCoord origin is upper left 0:51 1.000000 0:51 1.000000 0:51 1.000000 -0:52 move second child to first child (temp float) -0:52 Depth: direct index for structure (temp float) -0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:52 move second child to first child ( temp float) +0:52 Depth: direct index for structure ( temp float) +0:52 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:52 Constant: 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:54 Color: direct index for structure (temp 4-component vector of float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 0 (const int) -0:54 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 1 (const int) -0:54 Branch: Return +0:54 Branch: Return with expression +0:54 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsi4' (uniform itexture2DMS) -0:? 'g_tTex2dmsu4' (uniform utexture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:? 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:? 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -176,132 +182,132 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence -0:32 textureFetch (temp 4-component vector of float) -0:32 'g_tTex2dmsf4' (uniform texture2DMS) -0:32 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:32 textureFetch ( temp 4-component vector of float) +0:32 'g_tTex2dmsf4' ( uniform texture2DMS) +0:32 c2: direct index for structure ( uniform 2-component vector of int) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:32 Constant: 0:32 1 (const uint) 0:32 Constant: 0:32 3 (const int) -0:33 textureFetch (temp 4-component vector of int) -0:33 'g_tTex2dmsi4' (uniform itexture2DMS) -0:33 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:33 textureFetch ( temp 4-component vector of int) +0:33 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:33 c2: direct index for structure ( uniform 2-component vector of int) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:33 Constant: 0:33 1 (const uint) 0:33 Constant: 0:33 3 (const int) -0:34 textureFetch (temp 4-component vector of uint) -0:34 'g_tTex2dmsu4' (uniform utexture2DMS) -0:34 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:34 textureFetch ( temp 4-component vector of uint) +0:34 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:34 c2: direct index for structure ( uniform 2-component vector of int) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:34 Constant: 0:34 1 (const uint) 0:34 Constant: 0:34 3 (const int) -0:37 textureFetchOffset (temp 4-component vector of float) -0:37 'g_tTex2dmsf4' (uniform texture2DMS) -0:37 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:37 textureFetchOffset ( temp 4-component vector of float) +0:37 'g_tTex2dmsf4' ( uniform texture2DMS) +0:37 c2: direct index for structure ( uniform 2-component vector of int) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:37 Constant: 0:37 1 (const uint) 0:37 Constant: 0:37 3 (const int) -0:37 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:37 o2: direct index for structure ( uniform 2-component vector of int) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:37 Constant: 0:37 5 (const uint) -0:38 textureFetchOffset (temp 4-component vector of int) -0:38 'g_tTex2dmsi4' (uniform itexture2DMS) -0:38 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:38 textureFetchOffset ( temp 4-component vector of int) +0:38 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:38 c2: direct index for structure ( uniform 2-component vector of int) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:38 Constant: 0:38 1 (const uint) 0:38 Constant: 0:38 3 (const int) -0:38 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:38 o2: direct index for structure ( uniform 2-component vector of int) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:38 Constant: 0:38 5 (const uint) -0:39 textureFetchOffset (temp 4-component vector of uint) -0:39 'g_tTex2dmsu4' (uniform utexture2DMS) -0:39 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:39 textureFetchOffset ( temp 4-component vector of uint) +0:39 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:39 c2: direct index for structure ( uniform 2-component vector of int) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:39 Constant: 0:39 1 (const uint) 0:39 Constant: 0:39 3 (const int) -0:39 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:39 o2: direct index for structure ( uniform 2-component vector of int) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:39 Constant: 0:39 5 (const uint) -0:42 textureFetch (temp 4-component vector of float) -0:42 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:42 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 textureFetch ( temp 4-component vector of float) +0:42 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:42 c3: direct index for structure ( uniform 3-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 2 (const uint) 0:42 Constant: 0:42 3 (const int) -0:43 textureFetch (temp 4-component vector of int) -0:43 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:43 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:43 textureFetch ( temp 4-component vector of int) +0:43 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:43 c3: direct index for structure ( uniform 3-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:43 Constant: 0:43 2 (const uint) 0:43 Constant: 0:43 3 (const int) -0:44 textureFetch (temp 4-component vector of uint) -0:44 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:44 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 textureFetch ( temp 4-component vector of uint) +0:44 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:44 c3: direct index for structure ( uniform 3-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: 0:44 3 (const int) -0:47 textureFetchOffset (temp 4-component vector of float) -0:47 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:47 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 textureFetchOffset ( temp 4-component vector of float) +0:47 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:47 c3: direct index for structure ( uniform 3-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 2 (const uint) 0:47 Constant: 0:47 3 (const int) -0:47 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:47 o2: direct index for structure ( uniform 2-component vector of int) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:47 Constant: 0:47 5 (const uint) -0:48 textureFetchOffset (temp 4-component vector of int) -0:48 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:48 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 textureFetchOffset ( temp 4-component vector of int) +0:48 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:48 c3: direct index for structure ( uniform 3-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 2 (const uint) 0:48 Constant: 0:48 3 (const int) -0:48 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:48 o2: direct index for structure ( uniform 2-component vector of int) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:48 Constant: 0:48 5 (const uint) -0:49 textureFetchOffset (temp 4-component vector of uint) -0:49 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 textureFetchOffset ( temp 4-component vector of uint) +0:49 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:49 c3: direct index for structure ( uniform 3-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 2 (const uint) 0:49 Constant: 0:49 3 (const int) -0:49 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 o2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 5 (const uint) -0:51 move second child to first child (temp 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 Color: direct index for structure ( temp 4-component vector of float) +0:51 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: @@ -309,218 +315,235 @@ gl_FragCoord origin is upper left 0:51 1.000000 0:51 1.000000 0:51 1.000000 -0:52 move second child to first child (temp float) -0:52 Depth: direct index for structure (temp float) -0:52 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:52 move second child to first child ( temp float) +0:52 Depth: direct index for structure ( temp float) +0:52 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:52 Constant: 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:54 Sequence -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:54 Color: direct index for structure (temp 4-component vector of float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 0 (const int) -0:54 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:54 Constant: -0:54 1 (const int) -0:54 Branch: Return +0:54 Branch: Return with expression +0:54 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex2dmsf4' (uniform texture2DMS) -0:? 'g_tTex2dmsi4' (uniform itexture2DMS) -0:? 'g_tTex2dmsu4' (uniform utexture2DMS) -0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) -0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex2dmsf4' ( uniform texture2DMS) +0:? 'g_tTex2dmsi4' ( uniform itexture2DMS) +0:? 'g_tTex2dmsu4' ( uniform utexture2DMS) +0:? 'g_tTex2dmsf4a' ( uniform texture2DMSArray) +0:? 'g_tTex2dmsi4a' ( uniform itexture2DMSArray) +0:? 'g_tTex2dmsu4a' ( uniform utexture2DMSArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 123 +// Id's are bound by 130 Capability Shader Capability ImageGatherExtended Capability ImageMSArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 112 116 + EntryPoint Fragment 4 "main" 120 124 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex2dmsf4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 27 "g_tTex2dmsi4" - Name 35 "g_tTex2dmsu4" - Name 62 "g_tTex2dmsf4a" - Name 71 "g_tTex2dmsi4a" - Name 78 "g_tTex2dmsu4a" - Name 101 "PS_OUTPUT" - MemberName 101(PS_OUTPUT) 0 "Color" - MemberName 101(PS_OUTPUT) 1 "Depth" - Name 103 "psout" - Name 112 "Color" - Name 116 "Depth" - Name 122 "g_sSamp" - Decorate 9(g_tTex2dmsf4) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 27(g_tTex2dmsi4) DescriptorSet 0 - Decorate 35(g_tTex2dmsu4) DescriptorSet 0 - Decorate 62(g_tTex2dmsf4a) DescriptorSet 0 - Decorate 71(g_tTex2dmsi4a) DescriptorSet 0 - Decorate 78(g_tTex2dmsu4a) DescriptorSet 0 - Decorate 112(Color) Location 0 - Decorate 116(Depth) BuiltIn FragDepth - Decorate 122(g_sSamp) DescriptorSet 0 - Decorate 122(g_sSamp) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex2dmsf4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 31 "g_tTex2dmsi4" + Name 39 "g_tTex2dmsu4" + Name 66 "g_tTex2dmsf4a" + Name 75 "g_tTex2dmsi4a" + Name 82 "g_tTex2dmsu4a" + Name 106 "psout" + Name 117 "flattenTemp" + Name 120 "Color" + Name 124 "Depth" + Name 129 "g_sSamp" + Decorate 14(g_tTex2dmsf4) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 31(g_tTex2dmsi4) DescriptorSet 0 + Decorate 39(g_tTex2dmsu4) DescriptorSet 0 + Decorate 66(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 75(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 82(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 120(Color) Location 0 + Decorate 124(Depth) BuiltIn FragDepth + Decorate 129(g_sSamp) DescriptorSet 0 + Decorate 129(g_sSamp) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 2D multi-sampled sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex2dmsf4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypePointer Uniform 12(ivec2) - 22: 11(int) Constant 3 - 23: TypeVector 6(float) 4 - 25: TypeImage 11(int) 2D multi-sampled sampled format:Unknown - 26: TypePointer UniformConstant 25 -27(g_tTex2dmsi4): 26(ptr) Variable UniformConstant - 32: TypeInt 32 0 - 33: TypeImage 32(int) 2D multi-sampled sampled format:Unknown - 34: TypePointer UniformConstant 33 -35(g_tTex2dmsu4): 34(ptr) Variable UniformConstant - 39: TypeVector 32(int) 4 - 44: 11(int) Constant 5 - 60: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown - 61: TypePointer UniformConstant 60 -62(g_tTex2dmsf4a): 61(ptr) Variable UniformConstant - 64: 11(int) Constant 2 - 65: TypePointer Uniform 13(ivec3) - 69: TypeImage 11(int) 2D array multi-sampled sampled format:Unknown - 70: TypePointer UniformConstant 69 -71(g_tTex2dmsi4a): 70(ptr) Variable UniformConstant - 76: TypeImage 32(int) 2D array multi-sampled sampled format:Unknown - 77: TypePointer UniformConstant 76 -78(g_tTex2dmsu4a): 77(ptr) Variable UniformConstant - 101(PS_OUTPUT): TypeStruct 23(fvec4) 6(float) - 102: TypePointer Function 101(PS_OUTPUT) - 104: 11(int) Constant 0 - 105: 6(float) Constant 1065353216 - 106: 23(fvec4) ConstantComposite 105 105 105 105 - 107: TypePointer Function 23(fvec4) - 109: TypePointer Function 6(float) - 111: TypePointer Output 23(fvec4) - 112(Color): 111(ptr) Variable Output - 115: TypePointer Output 6(float) - 116(Depth): 115(ptr) Variable Output - 120: TypeSampler - 121: TypePointer UniformConstant 120 - 122(g_sSamp): 121(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 2D multi-sampled sampled format:Unknown + 13: TypePointer UniformConstant 12 +14(g_tTex2dmsf4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypePointer Uniform 17(ivec2) + 27: 16(int) Constant 3 + 29: TypeImage 16(int) 2D multi-sampled sampled format:Unknown + 30: TypePointer UniformConstant 29 +31(g_tTex2dmsi4): 30(ptr) Variable UniformConstant + 36: TypeInt 32 0 + 37: TypeImage 36(int) 2D multi-sampled sampled format:Unknown + 38: TypePointer UniformConstant 37 +39(g_tTex2dmsu4): 38(ptr) Variable UniformConstant + 43: TypeVector 36(int) 4 + 48: 16(int) Constant 5 + 64: TypeImage 6(float) 2D array multi-sampled sampled format:Unknown + 65: TypePointer UniformConstant 64 +66(g_tTex2dmsf4a): 65(ptr) Variable UniformConstant + 68: 16(int) Constant 2 + 69: TypePointer Uniform 18(ivec3) + 73: TypeImage 16(int) 2D array multi-sampled sampled format:Unknown + 74: TypePointer UniformConstant 73 +75(g_tTex2dmsi4a): 74(ptr) Variable UniformConstant + 80: TypeImage 36(int) 2D array multi-sampled sampled format:Unknown + 81: TypePointer UniformConstant 80 +82(g_tTex2dmsu4a): 81(ptr) Variable UniformConstant + 105: TypePointer Function 8(PS_OUTPUT) + 107: 16(int) Constant 0 + 108: 6(float) Constant 1065353216 + 109: 7(fvec4) ConstantComposite 108 108 108 108 + 110: TypePointer Function 7(fvec4) + 112: TypePointer Function 6(float) + 119: TypePointer Output 7(fvec4) + 120(Color): 119(ptr) Variable Output + 123: TypePointer Output 6(float) + 124(Depth): 123(ptr) Variable Output + 127: TypeSampler + 128: TypePointer UniformConstant 127 + 129(g_sSamp): 128(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 103(psout): 102(ptr) Variable Function - 10: 7 Load 9(g_tTex2dmsf4) - 20: 19(ptr) AccessChain 17 18 - 21: 12(ivec2) Load 20 - 24: 23(fvec4) ImageFetch 10 21 Sample 22 - 28: 25 Load 27(g_tTex2dmsi4) - 29: 19(ptr) AccessChain 17 18 - 30: 12(ivec2) Load 29 - 31: 14(ivec4) ImageFetch 28 30 Sample 22 - 36: 33 Load 35(g_tTex2dmsu4) - 37: 19(ptr) AccessChain 17 18 - 38: 12(ivec2) Load 37 - 40: 39(ivec4) ImageFetch 36 38 Sample 22 - 41: 7 Load 9(g_tTex2dmsf4) - 42: 19(ptr) AccessChain 17 18 - 43: 12(ivec2) Load 42 - 45: 19(ptr) AccessChain 17 44 - 46: 12(ivec2) Load 45 - 47: 23(fvec4) ImageFetch 41 43 Offset Sample 46 22 - 48: 25 Load 27(g_tTex2dmsi4) - 49: 19(ptr) AccessChain 17 18 - 50: 12(ivec2) Load 49 - 51: 19(ptr) AccessChain 17 44 - 52: 12(ivec2) Load 51 - 53: 14(ivec4) ImageFetch 48 50 Offset Sample 52 22 - 54: 33 Load 35(g_tTex2dmsu4) - 55: 19(ptr) AccessChain 17 18 - 56: 12(ivec2) Load 55 - 57: 19(ptr) AccessChain 17 44 - 58: 12(ivec2) Load 57 - 59: 39(ivec4) ImageFetch 54 56 Offset Sample 58 22 - 63: 60 Load 62(g_tTex2dmsf4a) - 66: 65(ptr) AccessChain 17 64 - 67: 13(ivec3) Load 66 - 68: 23(fvec4) ImageFetch 63 67 Sample 22 - 72: 69 Load 71(g_tTex2dmsi4a) - 73: 65(ptr) AccessChain 17 64 - 74: 13(ivec3) Load 73 - 75: 14(ivec4) ImageFetch 72 74 Sample 22 - 79: 76 Load 78(g_tTex2dmsu4a) - 80: 65(ptr) AccessChain 17 64 - 81: 13(ivec3) Load 80 - 82: 39(ivec4) ImageFetch 79 81 Sample 22 - 83: 60 Load 62(g_tTex2dmsf4a) - 84: 65(ptr) AccessChain 17 64 - 85: 13(ivec3) Load 84 - 86: 19(ptr) AccessChain 17 44 - 87: 12(ivec2) Load 86 - 88: 23(fvec4) ImageFetch 83 85 Offset Sample 87 22 - 89: 69 Load 71(g_tTex2dmsi4a) - 90: 65(ptr) AccessChain 17 64 - 91: 13(ivec3) Load 90 - 92: 19(ptr) AccessChain 17 44 - 93: 12(ivec2) Load 92 - 94: 14(ivec4) ImageFetch 89 91 Offset Sample 93 22 - 95: 76 Load 78(g_tTex2dmsu4a) - 96: 65(ptr) AccessChain 17 64 - 97: 13(ivec3) Load 96 - 98: 19(ptr) AccessChain 17 44 - 99: 12(ivec2) Load 98 - 100: 39(ivec4) ImageFetch 95 97 Offset Sample 99 22 - 108: 107(ptr) AccessChain 103(psout) 104 - Store 108 106 - 110: 109(ptr) AccessChain 103(psout) 18 - Store 110 105 - 113: 107(ptr) AccessChain 103(psout) 104 - 114: 23(fvec4) Load 113 - Store 112(Color) 114 - 117: 109(ptr) AccessChain 103(psout) 18 - 118: 6(float) Load 117 - Store 116(Depth) 118 +117(flattenTemp): 105(ptr) Variable Function + 118:8(PS_OUTPUT) FunctionCall 10(@main() + Store 117(flattenTemp) 118 + 121: 110(ptr) AccessChain 117(flattenTemp) 107 + 122: 7(fvec4) Load 121 + Store 120(Color) 122 + 125: 112(ptr) AccessChain 117(flattenTemp) 23 + 126: 6(float) Load 125 + Store 124(Depth) 126 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 106(psout): 105(ptr) Variable Function + 15: 12 Load 14(g_tTex2dmsf4) + 25: 24(ptr) AccessChain 22 23 + 26: 17(ivec2) Load 25 + 28: 7(fvec4) ImageFetch 15 26 Sample 27 + 32: 29 Load 31(g_tTex2dmsi4) + 33: 24(ptr) AccessChain 22 23 + 34: 17(ivec2) Load 33 + 35: 19(ivec4) ImageFetch 32 34 Sample 27 + 40: 37 Load 39(g_tTex2dmsu4) + 41: 24(ptr) AccessChain 22 23 + 42: 17(ivec2) Load 41 + 44: 43(ivec4) ImageFetch 40 42 Sample 27 + 45: 12 Load 14(g_tTex2dmsf4) + 46: 24(ptr) AccessChain 22 23 + 47: 17(ivec2) Load 46 + 49: 24(ptr) AccessChain 22 48 + 50: 17(ivec2) Load 49 + 51: 7(fvec4) ImageFetch 45 47 Offset Sample 50 27 + 52: 29 Load 31(g_tTex2dmsi4) + 53: 24(ptr) AccessChain 22 23 + 54: 17(ivec2) Load 53 + 55: 24(ptr) AccessChain 22 48 + 56: 17(ivec2) Load 55 + 57: 19(ivec4) ImageFetch 52 54 Offset Sample 56 27 + 58: 37 Load 39(g_tTex2dmsu4) + 59: 24(ptr) AccessChain 22 23 + 60: 17(ivec2) Load 59 + 61: 24(ptr) AccessChain 22 48 + 62: 17(ivec2) Load 61 + 63: 43(ivec4) ImageFetch 58 60 Offset Sample 62 27 + 67: 64 Load 66(g_tTex2dmsf4a) + 70: 69(ptr) AccessChain 22 68 + 71: 18(ivec3) Load 70 + 72: 7(fvec4) ImageFetch 67 71 Sample 27 + 76: 73 Load 75(g_tTex2dmsi4a) + 77: 69(ptr) AccessChain 22 68 + 78: 18(ivec3) Load 77 + 79: 19(ivec4) ImageFetch 76 78 Sample 27 + 83: 80 Load 82(g_tTex2dmsu4a) + 84: 69(ptr) AccessChain 22 68 + 85: 18(ivec3) Load 84 + 86: 43(ivec4) ImageFetch 83 85 Sample 27 + 87: 64 Load 66(g_tTex2dmsf4a) + 88: 69(ptr) AccessChain 22 68 + 89: 18(ivec3) Load 88 + 90: 24(ptr) AccessChain 22 48 + 91: 17(ivec2) Load 90 + 92: 7(fvec4) ImageFetch 87 89 Offset Sample 91 27 + 93: 73 Load 75(g_tTex2dmsi4a) + 94: 69(ptr) AccessChain 22 68 + 95: 18(ivec3) Load 94 + 96: 24(ptr) AccessChain 22 48 + 97: 17(ivec2) Load 96 + 98: 19(ivec4) ImageFetch 93 95 Offset Sample 97 27 + 99: 80 Load 82(g_tTex2dmsu4a) + 100: 69(ptr) AccessChain 22 68 + 101: 18(ivec3) Load 100 + 102: 24(ptr) AccessChain 22 48 + 103: 17(ivec2) Load 102 + 104: 43(ivec4) ImageFetch 99 101 Offset Sample 103 27 + 111: 110(ptr) AccessChain 106(psout) 107 + Store 111 109 + 113: 112(ptr) AccessChain 106(psout) 23 + Store 113 108 + 114:8(PS_OUTPUT) Load 106(psout) + ReturnValue 114 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out index 8c4f7c8d055..9430e75d914 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -2,14 +2,14 @@ hlsl.load.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetch (temp 4-component vector of float) -0:52 'g_tTex1df4a' (uniform texture1DArray) -0:52 vector swizzle (temp 2-component vector of int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of float) +0:52 'g_tTex1df4a' ( uniform texture1DArray) +0:52 vector swizzle ( temp 2-component vector of int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Sequence @@ -17,18 +17,18 @@ gl_FragCoord origin is upper left 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 direct index (temp int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Constant: 0:52 2 (const int) -0:53 textureFetch (temp 4-component vector of int) -0:53 'g_tTex1di4a' (uniform itexture1DArray) -0:53 vector swizzle (temp 2-component vector of int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of int) +0:53 'g_tTex1di4a' ( uniform itexture1DArray) +0:53 vector swizzle ( temp 2-component vector of int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Sequence @@ -36,18 +36,18 @@ gl_FragCoord origin is upper left 0:53 0 (const int) 0:53 Constant: 0:53 1 (const int) -0:53 direct index (temp int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Constant: 0:53 2 (const int) -0:54 textureFetch (temp 4-component vector of uint) -0:54 'g_tTex1du4a' (uniform utexture1DArray) -0:54 vector swizzle (temp 2-component vector of int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetch ( temp 4-component vector of uint) +0:54 'g_tTex1du4a' ( uniform utexture1DArray) +0:54 vector swizzle ( temp 2-component vector of int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Sequence @@ -55,18 +55,18 @@ gl_FragCoord origin is upper left 0:54 0 (const int) 0:54 Constant: 0:54 1 (const int) -0:54 direct index (temp int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Constant: 0:54 2 (const int) -0:57 textureFetch (temp 4-component vector of float) -0:57 'g_tTex2df4a' (uniform texture2DArray) -0:57 vector swizzle (temp 3-component vector of int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of float) +0:57 'g_tTex2df4a' ( uniform texture2DArray) +0:57 vector swizzle ( temp 3-component vector of int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Sequence @@ -76,18 +76,18 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 direct index (temp int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 3 (const int) -0:58 textureFetch (temp 4-component vector of int) -0:58 'g_tTex2di4a' (uniform itexture2DArray) -0:58 vector swizzle (temp 3-component vector of int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of int) +0:58 'g_tTex2di4a' ( uniform itexture2DArray) +0:58 vector swizzle ( temp 3-component vector of int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Sequence @@ -97,18 +97,18 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 direct index (temp int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Constant: 0:58 3 (const int) -0:59 textureFetch (temp 4-component vector of uint) -0:59 'g_tTex2du4a' (uniform utexture2DArray) -0:59 vector swizzle (temp 3-component vector of int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetch ( temp 4-component vector of uint) +0:59 'g_tTex2du4a' ( uniform utexture2DArray) +0:59 vector swizzle ( temp 3-component vector of int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Sequence @@ -118,16 +118,16 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 2 (const int) -0:59 direct index (temp int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Color: direct index for structure (temp 4-component vector of float) -0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Color: direct index for structure ( temp 4-component vector of float) +0:67 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: @@ -135,54 +135,60 @@ gl_FragCoord origin is upper left 0:67 1.000000 0:67 1.000000 0:67 1.000000 -0:68 move second child to first child (temp float) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:68 move second child to first child ( temp float) +0:68 Depth: direct index for structure ( temp float) +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:68 Constant: 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -191,14 +197,14 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetch (temp 4-component vector of float) -0:52 'g_tTex1df4a' (uniform texture1DArray) -0:52 vector swizzle (temp 2-component vector of int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of float) +0:52 'g_tTex1df4a' ( uniform texture1DArray) +0:52 vector swizzle ( temp 2-component vector of int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Sequence @@ -206,18 +212,18 @@ gl_FragCoord origin is upper left 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 direct index (temp int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Constant: 0:52 2 (const int) -0:53 textureFetch (temp 4-component vector of int) -0:53 'g_tTex1di4a' (uniform itexture1DArray) -0:53 vector swizzle (temp 2-component vector of int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of int) +0:53 'g_tTex1di4a' ( uniform itexture1DArray) +0:53 vector swizzle ( temp 2-component vector of int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Sequence @@ -225,18 +231,18 @@ gl_FragCoord origin is upper left 0:53 0 (const int) 0:53 Constant: 0:53 1 (const int) -0:53 direct index (temp int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Constant: 0:53 2 (const int) -0:54 textureFetch (temp 4-component vector of uint) -0:54 'g_tTex1du4a' (uniform utexture1DArray) -0:54 vector swizzle (temp 2-component vector of int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetch ( temp 4-component vector of uint) +0:54 'g_tTex1du4a' ( uniform utexture1DArray) +0:54 vector swizzle ( temp 2-component vector of int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Sequence @@ -244,18 +250,18 @@ gl_FragCoord origin is upper left 0:54 0 (const int) 0:54 Constant: 0:54 1 (const int) -0:54 direct index (temp int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Constant: 0:54 2 (const int) -0:57 textureFetch (temp 4-component vector of float) -0:57 'g_tTex2df4a' (uniform texture2DArray) -0:57 vector swizzle (temp 3-component vector of int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of float) +0:57 'g_tTex2df4a' ( uniform texture2DArray) +0:57 vector swizzle ( temp 3-component vector of int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Sequence @@ -265,18 +271,18 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 direct index (temp int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 3 (const int) -0:58 textureFetch (temp 4-component vector of int) -0:58 'g_tTex2di4a' (uniform itexture2DArray) -0:58 vector swizzle (temp 3-component vector of int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of int) +0:58 'g_tTex2di4a' ( uniform itexture2DArray) +0:58 vector swizzle ( temp 3-component vector of int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Sequence @@ -286,18 +292,18 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 direct index (temp int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Constant: 0:58 3 (const int) -0:59 textureFetch (temp 4-component vector of uint) -0:59 'g_tTex2du4a' (uniform utexture2DArray) -0:59 vector swizzle (temp 3-component vector of int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetch ( temp 4-component vector of uint) +0:59 'g_tTex2du4a' ( uniform utexture2DArray) +0:59 vector swizzle ( temp 3-component vector of int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Sequence @@ -307,16 +313,16 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 2 (const int) -0:59 direct index (temp int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Color: direct index for structure (temp 4-component vector of float) -0:67 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Color: direct index for structure ( temp 4-component vector of float) +0:67 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: @@ -324,293 +330,310 @@ gl_FragCoord origin is upper left 0:67 1.000000 0:67 1.000000 0:67 1.000000 -0:68 move second child to first child (temp float) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:68 move second child to first child ( temp float) +0:68 Depth: direct index for structure ( temp float) +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:68 Constant: 0:68 1 (const int) 0:68 Constant: 0:68 1.000000 -0:70 Sequence -0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 0 (const int) -0:70 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:70 Depth: direct index for structure (temp float) -0:70 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:70 Constant: -0:70 1 (const int) -0:70 Branch: Return +0:70 Branch: Return with expression +0:70 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 152 +// Id's are bound by 159 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 96 100 + EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 32 "g_tTex1di4a" - Name 42 "g_tTex1du4a" - Name 53 "g_tTex2df4a" - Name 66 "g_tTex2di4a" - Name 76 "g_tTex2du4a" - Name 84 "PS_OUTPUT" - MemberName 84(PS_OUTPUT) 0 "Color" - MemberName 84(PS_OUTPUT) 1 "Depth" - Name 86 "psout" - Name 96 "Color" - Name 100 "Depth" - Name 106 "g_sSamp" - Name 109 "g_tTex1df4" - Name 112 "g_tTex1di4" - Name 115 "g_tTex1du4" - Name 118 "g_tTex2df4" - Name 121 "g_tTex2di4" - Name 124 "g_tTex2du4" - Name 127 "g_tTex3df4" - Name 130 "g_tTex3di4" - Name 133 "g_tTex3du4" - Name 136 "g_tTexcdf4" - Name 139 "g_tTexcdi4" - Name 142 "g_tTexcdu4" - Name 145 "g_tTexcdf4a" - Name 148 "g_tTexcdi4a" - Name 151 "g_tTexcdu4a" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 32(g_tTex1di4a) DescriptorSet 0 - Decorate 42(g_tTex1du4a) DescriptorSet 0 - Decorate 53(g_tTex2df4a) DescriptorSet 0 - Decorate 66(g_tTex2di4a) DescriptorSet 0 - Decorate 76(g_tTex2du4a) DescriptorSet 0 - Decorate 96(Color) Location 0 - Decorate 100(Depth) BuiltIn FragDepth - Decorate 106(g_sSamp) DescriptorSet 0 - Decorate 106(g_sSamp) Binding 0 - Decorate 109(g_tTex1df4) DescriptorSet 0 - Decorate 109(g_tTex1df4) Binding 0 - Decorate 112(g_tTex1di4) DescriptorSet 0 - Decorate 115(g_tTex1du4) DescriptorSet 0 - Decorate 118(g_tTex2df4) DescriptorSet 0 - Decorate 121(g_tTex2di4) DescriptorSet 0 - Decorate 124(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTex3df4) DescriptorSet 0 - Decorate 130(g_tTex3di4) DescriptorSet 0 - Decorate 133(g_tTex3du4) DescriptorSet 0 - Decorate 136(g_tTexcdf4) DescriptorSet 0 - Decorate 139(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 145(g_tTexcdf4a) DescriptorSet 0 - Decorate 148(g_tTexcdi4a) DescriptorSet 0 - Decorate 151(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 36 "g_tTex1di4a" + Name 46 "g_tTex1du4a" + Name 57 "g_tTex2df4a" + Name 70 "g_tTex2di4a" + Name 80 "g_tTex2du4a" + Name 89 "psout" + Name 101 "flattenTemp" + Name 104 "Color" + Name 108 "Depth" + Name 113 "g_sSamp" + Name 116 "g_tTex1df4" + Name 119 "g_tTex1di4" + Name 122 "g_tTex1du4" + Name 125 "g_tTex2df4" + Name 128 "g_tTex2di4" + Name 131 "g_tTex2du4" + Name 134 "g_tTex3df4" + Name 137 "g_tTex3di4" + Name 140 "g_tTex3du4" + Name 143 "g_tTexcdf4" + Name 146 "g_tTexcdi4" + Name 149 "g_tTexcdu4" + Name 152 "g_tTexcdf4a" + Name 155 "g_tTexcdi4a" + Name 158 "g_tTexcdu4a" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 46(g_tTex1du4a) DescriptorSet 0 + Decorate 57(g_tTex2df4a) DescriptorSet 0 + Decorate 70(g_tTex2di4a) DescriptorSet 0 + Decorate 80(g_tTex2du4a) DescriptorSet 0 + Decorate 104(Color) Location 0 + Decorate 108(Depth) BuiltIn FragDepth + Decorate 113(g_sSamp) DescriptorSet 0 + Decorate 113(g_sSamp) Binding 0 + Decorate 116(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1df4) Binding 0 + Decorate 119(g_tTex1di4) DescriptorSet 0 + Decorate 122(g_tTex1du4) DescriptorSet 0 + Decorate 125(g_tTex2df4) DescriptorSet 0 + Decorate 128(g_tTex2di4) DescriptorSet 0 + Decorate 131(g_tTex2du4) DescriptorSet 0 + Decorate 134(g_tTex3df4) DescriptorSet 0 + Decorate 137(g_tTex3di4) DescriptorSet 0 + Decorate 140(g_tTex3du4) DescriptorSet 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 152(g_tTexcdf4a) DescriptorSet 0 + Decorate 155(g_tTexcdi4a) DescriptorSet 0 + Decorate 158(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 2 - 19: TypePointer Uniform 13(ivec3) - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Uniform 11(int) - 28: TypeVector 6(float) 4 - 30: TypeImage 11(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4a): 31(ptr) Variable UniformConstant - 40: TypeImage 23(int) 1D array sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4a): 41(ptr) Variable UniformConstant - 49: TypeVector 23(int) 4 - 51: TypeImage 6(float) 2D array sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4a): 52(ptr) Variable UniformConstant - 55: 11(int) Constant 3 - 56: TypePointer Uniform 14(ivec4) - 60: 23(int) Constant 3 - 64: TypeImage 11(int) 2D array sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2di4a): 65(ptr) Variable UniformConstant - 74: TypeImage 23(int) 2D array sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4a): 75(ptr) Variable UniformConstant - 84(PS_OUTPUT): TypeStruct 28(fvec4) 6(float) - 85: TypePointer Function 84(PS_OUTPUT) - 87: 11(int) Constant 0 - 88: 6(float) Constant 1065353216 - 89: 28(fvec4) ConstantComposite 88 88 88 88 - 90: TypePointer Function 28(fvec4) - 92: 11(int) Constant 1 - 93: TypePointer Function 6(float) - 95: TypePointer Output 28(fvec4) - 96(Color): 95(ptr) Variable Output - 99: TypePointer Output 6(float) - 100(Depth): 99(ptr) Variable Output - 104: TypeSampler - 105: TypePointer UniformConstant 104 - 106(g_sSamp): 105(ptr) Variable UniformConstant - 107: TypeImage 6(float) 1D sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTex1df4): 108(ptr) Variable UniformConstant - 110: TypeImage 11(int) 1D sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTex1di4): 111(ptr) Variable UniformConstant - 113: TypeImage 23(int) 1D sampled format:Unknown - 114: TypePointer UniformConstant 113 - 115(g_tTex1du4): 114(ptr) Variable UniformConstant - 116: TypeImage 6(float) 2D sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTex2df4): 117(ptr) Variable UniformConstant - 119: TypeImage 11(int) 2D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex2di4): 120(ptr) Variable UniformConstant - 122: TypeImage 23(int) 2D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex2du4): 123(ptr) Variable UniformConstant - 125: TypeImage 6(float) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3df4): 126(ptr) Variable UniformConstant - 128: TypeImage 11(int) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3di4): 129(ptr) Variable UniformConstant - 131: TypeImage 23(int) 3D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex3du4): 132(ptr) Variable UniformConstant - 134: TypeImage 6(float) Cube sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTexcdf4): 135(ptr) Variable UniformConstant - 137: TypeImage 11(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdi4): 138(ptr) Variable UniformConstant - 140: TypeImage 23(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 143: TypeImage 6(float) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdf4a): 144(ptr) Variable UniformConstant - 146: TypeImage 11(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdi4a): 147(ptr) Variable UniformConstant - 149: TypeImage 23(int) Cube array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTexcdu4a): 150(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 2 + 24: TypePointer Uniform 18(ivec3) + 28: TypeInt 32 0 + 29: 28(int) Constant 2 + 30: TypePointer Uniform 16(int) + 34: TypeImage 16(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 44: TypeImage 28(int) 1D array sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4a): 45(ptr) Variable UniformConstant + 53: TypeVector 28(int) 4 + 55: TypeImage 6(float) 2D array sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4a): 56(ptr) Variable UniformConstant + 59: 16(int) Constant 3 + 60: TypePointer Uniform 19(ivec4) + 64: 28(int) Constant 3 + 68: TypeImage 16(int) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2di4a): 69(ptr) Variable UniformConstant + 78: TypeImage 28(int) 2D array sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4a): 79(ptr) Variable UniformConstant + 88: TypePointer Function 8(PS_OUTPUT) + 90: 16(int) Constant 0 + 91: 6(float) Constant 1065353216 + 92: 7(fvec4) ConstantComposite 91 91 91 91 + 93: TypePointer Function 7(fvec4) + 95: 16(int) Constant 1 + 96: TypePointer Function 6(float) + 103: TypePointer Output 7(fvec4) + 104(Color): 103(ptr) Variable Output + 107: TypePointer Output 6(float) + 108(Depth): 107(ptr) Variable Output + 111: TypeSampler + 112: TypePointer UniformConstant 111 + 113(g_sSamp): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) 1D sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTex1df4): 115(ptr) Variable UniformConstant + 117: TypeImage 16(int) 1D sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTex1di4): 118(ptr) Variable UniformConstant + 120: TypeImage 28(int) 1D sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTex1du4): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 2D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex2df4): 124(ptr) Variable UniformConstant + 126: TypeImage 16(int) 2D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex2di4): 127(ptr) Variable UniformConstant + 129: TypeImage 28(int) 2D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex2du4): 130(ptr) Variable UniformConstant + 132: TypeImage 6(float) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3df4): 133(ptr) Variable UniformConstant + 135: TypeImage 16(int) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3di4): 136(ptr) Variable UniformConstant + 138: TypeImage 28(int) 3D sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTex3du4): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdf4): 142(ptr) Variable UniformConstant + 144: TypeImage 16(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdi4): 145(ptr) Variable UniformConstant + 147: TypeImage 28(int) Cube sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTexcdu4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) Cube array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTexcdf4a): 151(ptr) Variable UniformConstant + 153: TypeImage 16(int) Cube array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTexcdi4a): 154(ptr) Variable UniformConstant + 156: TypeImage 28(int) Cube array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTexcdu4a): 157(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 86(psout): 85(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 13(ivec3) Load 20 - 22: 12(ivec2) VectorShuffle 21 21 0 1 - 26: 25(ptr) AccessChain 17 18 24 - 27: 11(int) Load 26 - 29: 28(fvec4) ImageFetch 10 22 Lod 27 - 33: 30 Load 32(g_tTex1di4a) - 34: 19(ptr) AccessChain 17 18 - 35: 13(ivec3) Load 34 - 36: 12(ivec2) VectorShuffle 35 35 0 1 - 37: 25(ptr) AccessChain 17 18 24 - 38: 11(int) Load 37 - 39: 14(ivec4) ImageFetch 33 36 Lod 38 - 43: 40 Load 42(g_tTex1du4a) - 44: 19(ptr) AccessChain 17 18 - 45: 13(ivec3) Load 44 - 46: 12(ivec2) VectorShuffle 45 45 0 1 - 47: 25(ptr) AccessChain 17 18 24 - 48: 11(int) Load 47 - 50: 49(ivec4) ImageFetch 43 46 Lod 48 - 54: 51 Load 53(g_tTex2df4a) - 57: 56(ptr) AccessChain 17 55 - 58: 14(ivec4) Load 57 - 59: 13(ivec3) VectorShuffle 58 58 0 1 2 - 61: 25(ptr) AccessChain 17 55 60 - 62: 11(int) Load 61 - 63: 28(fvec4) ImageFetch 54 59 Lod 62 - 67: 64 Load 66(g_tTex2di4a) - 68: 56(ptr) AccessChain 17 55 - 69: 14(ivec4) Load 68 - 70: 13(ivec3) VectorShuffle 69 69 0 1 2 - 71: 25(ptr) AccessChain 17 55 60 - 72: 11(int) Load 71 - 73: 14(ivec4) ImageFetch 67 70 Lod 72 - 77: 74 Load 76(g_tTex2du4a) - 78: 56(ptr) AccessChain 17 55 - 79: 14(ivec4) Load 78 - 80: 13(ivec3) VectorShuffle 79 79 0 1 2 - 81: 25(ptr) AccessChain 17 55 60 - 82: 11(int) Load 81 - 83: 49(ivec4) ImageFetch 77 80 Lod 82 - 91: 90(ptr) AccessChain 86(psout) 87 - Store 91 89 - 94: 93(ptr) AccessChain 86(psout) 92 - Store 94 88 - 97: 90(ptr) AccessChain 86(psout) 87 - 98: 28(fvec4) Load 97 - Store 96(Color) 98 - 101: 93(ptr) AccessChain 86(psout) 92 - 102: 6(float) Load 101 - Store 100(Depth) 102 +101(flattenTemp): 88(ptr) Variable Function + 102:8(PS_OUTPUT) FunctionCall 10(@main() + Store 101(flattenTemp) 102 + 105: 93(ptr) AccessChain 101(flattenTemp) 90 + 106: 7(fvec4) Load 105 + Store 104(Color) 106 + 109: 96(ptr) AccessChain 101(flattenTemp) 95 + 110: 6(float) Load 109 + Store 108(Depth) 110 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 89(psout): 88(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 18(ivec3) Load 25 + 27: 17(ivec2) VectorShuffle 26 26 0 1 + 31: 30(ptr) AccessChain 22 23 29 + 32: 16(int) Load 31 + 33: 7(fvec4) ImageFetch 15 27 Lod 32 + 37: 34 Load 36(g_tTex1di4a) + 38: 24(ptr) AccessChain 22 23 + 39: 18(ivec3) Load 38 + 40: 17(ivec2) VectorShuffle 39 39 0 1 + 41: 30(ptr) AccessChain 22 23 29 + 42: 16(int) Load 41 + 43: 19(ivec4) ImageFetch 37 40 Lod 42 + 47: 44 Load 46(g_tTex1du4a) + 48: 24(ptr) AccessChain 22 23 + 49: 18(ivec3) Load 48 + 50: 17(ivec2) VectorShuffle 49 49 0 1 + 51: 30(ptr) AccessChain 22 23 29 + 52: 16(int) Load 51 + 54: 53(ivec4) ImageFetch 47 50 Lod 52 + 58: 55 Load 57(g_tTex2df4a) + 61: 60(ptr) AccessChain 22 59 + 62: 19(ivec4) Load 61 + 63: 18(ivec3) VectorShuffle 62 62 0 1 2 + 65: 30(ptr) AccessChain 22 59 64 + 66: 16(int) Load 65 + 67: 7(fvec4) ImageFetch 58 63 Lod 66 + 71: 68 Load 70(g_tTex2di4a) + 72: 60(ptr) AccessChain 22 59 + 73: 19(ivec4) Load 72 + 74: 18(ivec3) VectorShuffle 73 73 0 1 2 + 75: 30(ptr) AccessChain 22 59 64 + 76: 16(int) Load 75 + 77: 19(ivec4) ImageFetch 71 74 Lod 76 + 81: 78 Load 80(g_tTex2du4a) + 82: 60(ptr) AccessChain 22 59 + 83: 19(ivec4) Load 82 + 84: 18(ivec3) VectorShuffle 83 83 0 1 2 + 85: 30(ptr) AccessChain 22 59 64 + 86: 16(int) Load 85 + 87: 53(ivec4) ImageFetch 81 84 Lod 86 + 94: 93(ptr) AccessChain 89(psout) 90 + Store 94 92 + 97: 96(ptr) AccessChain 89(psout) 95 + Store 97 91 + 98:8(PS_OUTPUT) Load 89(psout) + ReturnValue 98 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out index c8e8eb63073..6a976f0910f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -2,65 +2,65 @@ hlsl.load.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetch (temp 4-component vector of float) -0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of float) +0:52 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:53 textureFetch (temp 4-component vector of int) -0:53 'g_tTex1di4' (uniform itexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of int) +0:53 'g_tTex1di4' ( uniform itexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:54 textureFetch (temp 4-component vector of uint) -0:54 'g_tTex1du4' (uniform utexture1D) -0:54 vector swizzle (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetch ( temp 4-component vector of uint) +0:54 'g_tTex1du4' ( uniform utexture1D) +0:54 vector swizzle ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Sequence 0:54 Constant: 0:54 0 (const int) -0:54 direct index (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Constant: 0:54 1 (const int) -0:57 textureFetch (temp 4-component vector of float) -0:57 'g_tTex2df4' (uniform texture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of float) +0:57 'g_tTex2df4' ( uniform texture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -68,18 +68,18 @@ gl_FragCoord origin is upper left 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:58 textureFetch (temp 4-component vector of int) -0:58 'g_tTex2di4' (uniform itexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of int) +0:58 'g_tTex2di4' ( uniform itexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -87,18 +87,18 @@ gl_FragCoord origin is upper left 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:59 textureFetch (temp 4-component vector of uint) -0:59 'g_tTex2du4' (uniform utexture2D) -0:59 vector swizzle (temp 2-component vector of int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetch ( temp 4-component vector of uint) +0:59 'g_tTex2du4' ( uniform utexture2D) +0:59 vector swizzle ( temp 2-component vector of int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Sequence @@ -106,18 +106,18 @@ gl_FragCoord origin is upper left 0:59 0 (const int) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 2 (const int) -0:62 textureFetch (temp 4-component vector of float) -0:62 'g_tTex3df4' (uniform texture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetch ( temp 4-component vector of float) +0:62 'g_tTex3df4' ( uniform texture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -127,18 +127,18 @@ gl_FragCoord origin is upper left 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:63 textureFetch (temp 4-component vector of int) -0:63 'g_tTex3di4' (uniform itexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetch ( temp 4-component vector of int) +0:63 'g_tTex3di4' ( uniform itexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -148,18 +148,18 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:64 textureFetch (temp 4-component vector of uint) -0:64 'g_tTex3du4' (uniform utexture3D) -0:64 vector swizzle (temp 3-component vector of int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 textureFetch ( temp 4-component vector of uint) +0:64 'g_tTex3du4' ( uniform utexture3D) +0:64 vector swizzle ( temp 3-component vector of int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Sequence @@ -169,16 +169,16 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 2 (const int) -0:64 direct index (temp int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 direct index ( temp int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) -0:72 move second child to first child (temp 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 Color: direct index for structure ( temp 4-component vector of float) +0:72 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:72 Constant: 0:72 0 (const int) 0:72 Constant: @@ -186,54 +186,60 @@ gl_FragCoord origin is upper left 0:72 1.000000 0:72 1.000000 0:72 1.000000 -0:73 move second child to first child (temp float) -0:73 Depth: direct index for structure (temp float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp float) +0:73 Depth: direct index for structure ( temp float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -242,65 +248,65 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetch (temp 4-component vector of float) -0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of float) +0:52 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:53 textureFetch (temp 4-component vector of int) -0:53 'g_tTex1di4' (uniform itexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of int) +0:53 'g_tTex1di4' ( uniform itexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:54 textureFetch (temp 4-component vector of uint) -0:54 'g_tTex1du4' (uniform utexture1D) -0:54 vector swizzle (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetch ( temp 4-component vector of uint) +0:54 'g_tTex1du4' ( uniform utexture1D) +0:54 vector swizzle ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Sequence 0:54 Constant: 0:54 0 (const int) -0:54 direct index (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Constant: 0:54 1 (const int) -0:57 textureFetch (temp 4-component vector of float) -0:57 'g_tTex2df4' (uniform texture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of float) +0:57 'g_tTex2df4' ( uniform texture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -308,18 +314,18 @@ gl_FragCoord origin is upper left 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:58 textureFetch (temp 4-component vector of int) -0:58 'g_tTex2di4' (uniform itexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of int) +0:58 'g_tTex2di4' ( uniform itexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -327,18 +333,18 @@ gl_FragCoord origin is upper left 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:59 textureFetch (temp 4-component vector of uint) -0:59 'g_tTex2du4' (uniform utexture2D) -0:59 vector swizzle (temp 2-component vector of int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetch ( temp 4-component vector of uint) +0:59 'g_tTex2du4' ( uniform utexture2D) +0:59 vector swizzle ( temp 2-component vector of int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Sequence @@ -346,18 +352,18 @@ gl_FragCoord origin is upper left 0:59 0 (const int) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 2 (const int) -0:62 textureFetch (temp 4-component vector of float) -0:62 'g_tTex3df4' (uniform texture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetch ( temp 4-component vector of float) +0:62 'g_tTex3df4' ( uniform texture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -367,18 +373,18 @@ gl_FragCoord origin is upper left 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:63 textureFetch (temp 4-component vector of int) -0:63 'g_tTex3di4' (uniform itexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetch ( temp 4-component vector of int) +0:63 'g_tTex3di4' ( uniform itexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -388,18 +394,18 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:64 textureFetch (temp 4-component vector of uint) -0:64 'g_tTex3du4' (uniform utexture3D) -0:64 vector swizzle (temp 3-component vector of int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 textureFetch ( temp 4-component vector of uint) +0:64 'g_tTex3du4' ( uniform utexture3D) +0:64 vector swizzle ( temp 3-component vector of int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Sequence @@ -409,16 +415,16 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 2 (const int) -0:64 direct index (temp int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 direct index ( temp int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) -0:72 move second child to first child (temp 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 Color: direct index for structure ( temp 4-component vector of float) +0:72 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:72 Constant: 0:72 0 (const int) 0:72 Constant: @@ -426,313 +432,330 @@ gl_FragCoord origin is upper left 0:72 1.000000 0:72 1.000000 0:72 1.000000 -0:73 move second child to first child (temp float) -0:73 Depth: direct index for structure (temp float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp float) +0:73 Depth: direct index for structure ( temp float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 172 +// Id's are bound by 179 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 125 129 + EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 31 "g_tTex1di4" - Name 40 "g_tTex1du4" - Name 50 "g_tTex2df4" - Name 63 "g_tTex2di4" - Name 73 "g_tTex2du4" - Name 83 "g_tTex3df4" - Name 96 "g_tTex3di4" - Name 106 "g_tTex3du4" - Name 114 "PS_OUTPUT" - MemberName 114(PS_OUTPUT) 0 "Color" - MemberName 114(PS_OUTPUT) 1 "Depth" - Name 116 "psout" - Name 125 "Color" - Name 129 "Depth" - Name 135 "g_sSamp" - Name 138 "g_tTexcdf4" - Name 141 "g_tTexcdi4" - Name 144 "g_tTexcdu4" - Name 147 "g_tTex1df4a" - Name 150 "g_tTex1di4a" - Name 153 "g_tTex1du4a" - Name 156 "g_tTex2df4a" - Name 159 "g_tTex2di4a" - Name 162 "g_tTex2du4a" - Name 165 "g_tTexcdf4a" - Name 168 "g_tTexcdi4a" - Name 171 "g_tTexcdu4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 40(g_tTex1du4) DescriptorSet 0 - Decorate 50(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 73(g_tTex2du4) DescriptorSet 0 - Decorate 83(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 125(Color) Location 0 - Decorate 129(Depth) BuiltIn FragDepth - Decorate 135(g_sSamp) DescriptorSet 0 - Decorate 135(g_sSamp) Binding 0 - Decorate 138(g_tTexcdf4) DescriptorSet 0 - Decorate 141(g_tTexcdi4) DescriptorSet 0 - Decorate 144(g_tTexcdu4) DescriptorSet 0 - Decorate 147(g_tTex1df4a) DescriptorSet 0 - Decorate 150(g_tTex1di4a) DescriptorSet 0 - Decorate 153(g_tTex1du4a) DescriptorSet 0 - Decorate 156(g_tTex2df4a) DescriptorSet 0 - Decorate 159(g_tTex2di4a) DescriptorSet 0 - Decorate 162(g_tTex2du4a) DescriptorSet 0 - Decorate 165(g_tTexcdf4a) DescriptorSet 0 - Decorate 168(g_tTexcdi4a) DescriptorSet 0 - Decorate 171(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 35 "g_tTex1di4" + Name 44 "g_tTex1du4" + Name 54 "g_tTex2df4" + Name 67 "g_tTex2di4" + Name 77 "g_tTex2du4" + Name 87 "g_tTex3df4" + Name 100 "g_tTex3di4" + Name 110 "g_tTex3du4" + Name 119 "psout" + Name 130 "flattenTemp" + Name 133 "Color" + Name 137 "Depth" + Name 142 "g_sSamp" + Name 145 "g_tTexcdf4" + Name 148 "g_tTexcdi4" + Name 151 "g_tTexcdu4" + Name 154 "g_tTex1df4a" + Name 157 "g_tTex1di4a" + Name 160 "g_tTex1du4a" + Name 163 "g_tTex2df4a" + Name 166 "g_tTex2di4a" + Name 169 "g_tTex2du4a" + Name 172 "g_tTexcdf4a" + Name 175 "g_tTexcdi4a" + Name 178 "g_tTexcdu4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 133(Color) Location 0 + Decorate 137(Depth) BuiltIn FragDepth + Decorate 142(g_sSamp) DescriptorSet 0 + Decorate 142(g_sSamp) Binding 0 + Decorate 145(g_tTexcdf4) DescriptorSet 0 + Decorate 148(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdu4) DescriptorSet 0 + Decorate 154(g_tTex1df4a) DescriptorSet 0 + Decorate 157(g_tTex1di4a) DescriptorSet 0 + Decorate 160(g_tTex1du4a) DescriptorSet 0 + Decorate 163(g_tTex2df4a) DescriptorSet 0 + Decorate 166(g_tTex2di4a) DescriptorSet 0 + Decorate 169(g_tTex2du4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: TypeVector 6(float) 4 - 29: TypeImage 11(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 38: TypeImage 19(int) 1D sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4): 39(ptr) Variable UniformConstant - 46: TypeVector 19(int) 4 - 48: TypeImage 6(float) 2D sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex2df4): 49(ptr) Variable UniformConstant - 52: 11(int) Constant 2 - 53: TypePointer Uniform 13(ivec3) - 57: 19(int) Constant 2 - 61: TypeImage 11(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 71: TypeImage 19(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2du4): 72(ptr) Variable UniformConstant - 81: TypeImage 6(float) 3D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex3df4): 82(ptr) Variable UniformConstant - 85: 11(int) Constant 3 - 86: TypePointer Uniform 14(ivec4) - 90: 19(int) Constant 3 - 94: TypeImage 11(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 104: TypeImage 19(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 114(PS_OUTPUT): TypeStruct 27(fvec4) 6(float) - 115: TypePointer Function 114(PS_OUTPUT) - 117: 11(int) Constant 0 - 118: 6(float) Constant 1065353216 - 119: 27(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 27(fvec4) - 122: TypePointer Function 6(float) - 124: TypePointer Output 27(fvec4) - 125(Color): 124(ptr) Variable Output - 128: TypePointer Output 6(float) - 129(Depth): 128(ptr) Variable Output - 133: TypeSampler - 134: TypePointer UniformConstant 133 - 135(g_sSamp): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdf4): 137(ptr) Variable UniformConstant - 139: TypeImage 11(int) Cube sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTexcdi4): 140(ptr) Variable UniformConstant - 142: TypeImage 19(int) Cube sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTexcdu4): 143(ptr) Variable UniformConstant - 145: TypeImage 6(float) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1df4a): 146(ptr) Variable UniformConstant - 148: TypeImage 11(int) 1D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex1di4a): 149(ptr) Variable UniformConstant - 151: TypeImage 19(int) 1D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex1du4a): 152(ptr) Variable UniformConstant - 154: TypeImage 6(float) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2df4a): 155(ptr) Variable UniformConstant - 157: TypeImage 11(int) 2D array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTex2di4a): 158(ptr) Variable UniformConstant - 160: TypeImage 19(int) 2D array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTex2du4a): 161(ptr) Variable UniformConstant - 163: TypeImage 6(float) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdf4a): 164(ptr) Variable UniformConstant - 166: TypeImage 11(int) Cube array sampled format:Unknown - 167: TypePointer UniformConstant 166 -168(g_tTexcdi4a): 167(ptr) Variable UniformConstant - 169: TypeImage 19(int) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdu4a): 170(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 33: TypeImage 16(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 42: TypeImage 24(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 50: TypeVector 24(int) 4 + 52: TypeImage 6(float) 2D sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex2df4): 53(ptr) Variable UniformConstant + 56: 16(int) Constant 2 + 57: TypePointer Uniform 18(ivec3) + 61: 24(int) Constant 2 + 65: TypeImage 16(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 75: TypeImage 24(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2du4): 76(ptr) Variable UniformConstant + 85: TypeImage 6(float) 3D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex3df4): 86(ptr) Variable UniformConstant + 89: 16(int) Constant 3 + 90: TypePointer Uniform 19(ivec4) + 94: 24(int) Constant 3 + 98: TypeImage 16(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 108: TypeImage 24(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 118: TypePointer Function 8(PS_OUTPUT) + 120: 16(int) Constant 0 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 121 121 121 121 + 123: TypePointer Function 7(fvec4) + 125: TypePointer Function 6(float) + 132: TypePointer Output 7(fvec4) + 133(Color): 132(ptr) Variable Output + 136: TypePointer Output 6(float) + 137(Depth): 136(ptr) Variable Output + 140: TypeSampler + 141: TypePointer UniformConstant 140 + 142(g_sSamp): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdf4): 144(ptr) Variable UniformConstant + 146: TypeImage 16(int) Cube sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTexcdi4): 147(ptr) Variable UniformConstant + 149: TypeImage 24(int) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdu4): 150(ptr) Variable UniformConstant + 152: TypeImage 6(float) 1D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex1df4a): 153(ptr) Variable UniformConstant + 155: TypeImage 16(int) 1D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex1di4a): 156(ptr) Variable UniformConstant + 158: TypeImage 24(int) 1D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex1du4a): 159(ptr) Variable UniformConstant + 161: TypeImage 6(float) 2D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex2df4a): 162(ptr) Variable UniformConstant + 164: TypeImage 16(int) 2D array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTex2di4a): 165(ptr) Variable UniformConstant + 167: TypeImage 24(int) 2D array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTex2du4a): 168(ptr) Variable UniformConstant + 170: TypeImage 6(float) Cube array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTexcdf4a): 171(ptr) Variable UniformConstant + 173: TypeImage 16(int) Cube array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTexcdi4a): 174(ptr) Variable UniformConstant + 176: TypeImage 24(int) Cube array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTexcdu4a): 177(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 116(psout): 115(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 27(fvec4) ImageFetch 10 23 Lod 26 - 32: 29 Load 31(g_tTex1di4) - 33: 21(ptr) AccessChain 17 18 20 - 34: 11(int) Load 33 - 35: 21(ptr) AccessChain 17 18 24 - 36: 11(int) Load 35 - 37: 14(ivec4) ImageFetch 32 34 Lod 36 - 41: 38 Load 40(g_tTex1du4) - 42: 21(ptr) AccessChain 17 18 20 - 43: 11(int) Load 42 - 44: 21(ptr) AccessChain 17 18 24 - 45: 11(int) Load 44 - 47: 46(ivec4) ImageFetch 41 43 Lod 45 - 51: 48 Load 50(g_tTex2df4) - 54: 53(ptr) AccessChain 17 52 - 55: 13(ivec3) Load 54 - 56: 12(ivec2) VectorShuffle 55 55 0 1 - 58: 21(ptr) AccessChain 17 52 57 - 59: 11(int) Load 58 - 60: 27(fvec4) ImageFetch 51 56 Lod 59 - 64: 61 Load 63(g_tTex2di4) - 65: 53(ptr) AccessChain 17 52 - 66: 13(ivec3) Load 65 - 67: 12(ivec2) VectorShuffle 66 66 0 1 - 68: 21(ptr) AccessChain 17 52 57 - 69: 11(int) Load 68 - 70: 14(ivec4) ImageFetch 64 67 Lod 69 - 74: 71 Load 73(g_tTex2du4) - 75: 53(ptr) AccessChain 17 52 - 76: 13(ivec3) Load 75 - 77: 12(ivec2) VectorShuffle 76 76 0 1 - 78: 21(ptr) AccessChain 17 52 57 - 79: 11(int) Load 78 - 80: 46(ivec4) ImageFetch 74 77 Lod 79 - 84: 81 Load 83(g_tTex3df4) - 87: 86(ptr) AccessChain 17 85 - 88: 14(ivec4) Load 87 - 89: 13(ivec3) VectorShuffle 88 88 0 1 2 - 91: 21(ptr) AccessChain 17 85 90 - 92: 11(int) Load 91 - 93: 27(fvec4) ImageFetch 84 89 Lod 92 - 97: 94 Load 96(g_tTex3di4) - 98: 86(ptr) AccessChain 17 85 - 99: 14(ivec4) Load 98 - 100: 13(ivec3) VectorShuffle 99 99 0 1 2 - 101: 21(ptr) AccessChain 17 85 90 - 102: 11(int) Load 101 - 103: 14(ivec4) ImageFetch 97 100 Lod 102 - 107: 104 Load 106(g_tTex3du4) - 108: 86(ptr) AccessChain 17 85 - 109: 14(ivec4) Load 108 - 110: 13(ivec3) VectorShuffle 109 109 0 1 2 - 111: 21(ptr) AccessChain 17 85 90 - 112: 11(int) Load 111 - 113: 46(ivec4) ImageFetch 107 110 Lod 112 - 121: 120(ptr) AccessChain 116(psout) 117 - Store 121 119 - 123: 122(ptr) AccessChain 116(psout) 18 - Store 123 118 - 126: 120(ptr) AccessChain 116(psout) 117 - 127: 27(fvec4) Load 126 - Store 125(Color) 127 - 130: 122(ptr) AccessChain 116(psout) 18 - 131: 6(float) Load 130 - Store 129(Depth) 131 +130(flattenTemp): 118(ptr) Variable Function + 131:8(PS_OUTPUT) FunctionCall 10(@main() + Store 130(flattenTemp) 131 + 134: 123(ptr) AccessChain 130(flattenTemp) 120 + 135: 7(fvec4) Load 134 + Store 133(Color) 135 + 138: 125(ptr) AccessChain 130(flattenTemp) 23 + 139: 6(float) Load 138 + Store 137(Depth) 139 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 119(psout): 118(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 32: 7(fvec4) ImageFetch 15 28 Lod 31 + 36: 33 Load 35(g_tTex1di4) + 37: 26(ptr) AccessChain 22 23 25 + 38: 16(int) Load 37 + 39: 26(ptr) AccessChain 22 23 29 + 40: 16(int) Load 39 + 41: 19(ivec4) ImageFetch 36 38 Lod 40 + 45: 42 Load 44(g_tTex1du4) + 46: 26(ptr) AccessChain 22 23 25 + 47: 16(int) Load 46 + 48: 26(ptr) AccessChain 22 23 29 + 49: 16(int) Load 48 + 51: 50(ivec4) ImageFetch 45 47 Lod 49 + 55: 52 Load 54(g_tTex2df4) + 58: 57(ptr) AccessChain 22 56 + 59: 18(ivec3) Load 58 + 60: 17(ivec2) VectorShuffle 59 59 0 1 + 62: 26(ptr) AccessChain 22 56 61 + 63: 16(int) Load 62 + 64: 7(fvec4) ImageFetch 55 60 Lod 63 + 68: 65 Load 67(g_tTex2di4) + 69: 57(ptr) AccessChain 22 56 + 70: 18(ivec3) Load 69 + 71: 17(ivec2) VectorShuffle 70 70 0 1 + 72: 26(ptr) AccessChain 22 56 61 + 73: 16(int) Load 72 + 74: 19(ivec4) ImageFetch 68 71 Lod 73 + 78: 75 Load 77(g_tTex2du4) + 79: 57(ptr) AccessChain 22 56 + 80: 18(ivec3) Load 79 + 81: 17(ivec2) VectorShuffle 80 80 0 1 + 82: 26(ptr) AccessChain 22 56 61 + 83: 16(int) Load 82 + 84: 50(ivec4) ImageFetch 78 81 Lod 83 + 88: 85 Load 87(g_tTex3df4) + 91: 90(ptr) AccessChain 22 89 + 92: 19(ivec4) Load 91 + 93: 18(ivec3) VectorShuffle 92 92 0 1 2 + 95: 26(ptr) AccessChain 22 89 94 + 96: 16(int) Load 95 + 97: 7(fvec4) ImageFetch 88 93 Lod 96 + 101: 98 Load 100(g_tTex3di4) + 102: 90(ptr) AccessChain 22 89 + 103: 19(ivec4) Load 102 + 104: 18(ivec3) VectorShuffle 103 103 0 1 2 + 105: 26(ptr) AccessChain 22 89 94 + 106: 16(int) Load 105 + 107: 19(ivec4) ImageFetch 101 104 Lod 106 + 111: 108 Load 110(g_tTex3du4) + 112: 90(ptr) AccessChain 22 89 + 113: 19(ivec4) Load 112 + 114: 18(ivec3) VectorShuffle 113 113 0 1 2 + 115: 26(ptr) AccessChain 22 89 94 + 116: 16(int) Load 115 + 117: 50(ivec4) ImageFetch 111 114 Lod 116 + 124: 123(ptr) AccessChain 119(psout) 120 + Store 124 122 + 126: 125(ptr) AccessChain 119(psout) 23 + Store 126 121 + 127:8(PS_OUTPUT) Load 119(psout) + ReturnValue 127 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out index a3e45e4f4f9..a41675c10b0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -1,65 +1,65 @@ hlsl.load.basic.dx10.vert Shader version: 450 0:? Sequence -0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:47 Function Parameters: 0:? Sequence -0:51 textureFetch (temp 4-component vector of float) -0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:51 vector swizzle (temp int) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 textureFetch ( temp 4-component vector of float) +0:51 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:51 vector swizzle ( temp int) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Sequence 0:51 Constant: 0:51 0 (const int) -0:51 direct index (temp int) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 direct index ( temp int) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Constant: 0:51 1 (const int) -0:52 textureFetch (temp 4-component vector of int) -0:52 'g_tTex1di4' (uniform itexture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of int) +0:52 'g_tTex1di4' ( uniform itexture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:53 textureFetch (temp 4-component vector of uint) -0:53 'g_tTex1du4' (uniform utexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of uint) +0:53 'g_tTex1du4' ( uniform utexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:56 textureFetch (temp 4-component vector of float) -0:56 'g_tTex2df4' (uniform texture2D) -0:56 vector swizzle (temp 2-component vector of int) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 textureFetch ( temp 4-component vector of float) +0:56 'g_tTex2df4' ( uniform texture2D) +0:56 vector swizzle ( temp 2-component vector of int) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) 0:56 Sequence @@ -67,18 +67,18 @@ Shader version: 450 0:56 0 (const int) 0:56 Constant: 0:56 1 (const int) -0:56 direct index (temp int) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 direct index ( temp int) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) 0:56 Constant: 0:56 2 (const int) -0:57 textureFetch (temp 4-component vector of int) -0:57 'g_tTex2di4' (uniform itexture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of int) +0:57 'g_tTex2di4' ( uniform itexture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -86,18 +86,18 @@ Shader version: 450 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:58 textureFetch (temp 4-component vector of uint) -0:58 'g_tTex2du4' (uniform utexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of uint) +0:58 'g_tTex2du4' ( uniform utexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -105,18 +105,18 @@ Shader version: 450 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:61 textureFetch (temp 4-component vector of float) -0:61 'g_tTex3df4' (uniform texture3D) -0:61 vector swizzle (temp 3-component vector of int) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 textureFetch ( temp 4-component vector of float) +0:61 'g_tTex3df4' ( uniform texture3D) +0:61 vector swizzle ( temp 3-component vector of int) +0:61 c4: direct index for structure ( uniform 4-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Sequence @@ -126,18 +126,18 @@ Shader version: 450 0:61 1 (const int) 0:61 Constant: 0:61 2 (const int) -0:61 direct index (temp int) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 direct index ( temp int) +0:61 c4: direct index for structure ( uniform 4-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Constant: 0:61 3 (const int) -0:62 textureFetch (temp 4-component vector of int) -0:62 'g_tTex3di4' (uniform itexture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetch ( temp 4-component vector of int) +0:62 'g_tTex3di4' ( uniform itexture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -147,18 +147,18 @@ Shader version: 450 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:63 textureFetch (temp 4-component vector of uint) -0:63 'g_tTex3du4' (uniform utexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetch ( temp 4-component vector of uint) +0:63 'g_tTex3du4' ( uniform utexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -168,16 +168,16 @@ Shader version: 450 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Pos: direct index for structure (temp 4-component vector of float) -0:67 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Pos: direct index for structure ( temp 4-component vector of float) +0:67 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:67 Constant: 0:67 0 (const int) 0:? Constant: @@ -185,40 +185,43 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:69 Pos: direct index for structure (temp 4-component vector of float) -0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:69 Constant: -0:69 0 (const int) -0:69 Branch: Return +0:69 Branch: Return with expression +0:69 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:47 Function Definition: main( ( temp void) +0:47 Function Parameters: +0:? Sequence +0:47 Sequence +0:47 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:47 Pos: direct index for structure ( temp 4-component vector of float) +0:47 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:47 Constant: +0:47 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) Linked vertex stage: @@ -226,65 +229,65 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:47 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:47 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:47 Function Parameters: 0:? Sequence -0:51 textureFetch (temp 4-component vector of float) -0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:51 vector swizzle (temp int) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 textureFetch ( temp 4-component vector of float) +0:51 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:51 vector swizzle ( temp int) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Sequence 0:51 Constant: 0:51 0 (const int) -0:51 direct index (temp int) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 direct index ( temp int) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) 0:51 Constant: 0:51 1 (const int) -0:52 textureFetch (temp 4-component vector of int) -0:52 'g_tTex1di4' (uniform itexture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetch ( temp 4-component vector of int) +0:52 'g_tTex1di4' ( uniform itexture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:53 textureFetch (temp 4-component vector of uint) -0:53 'g_tTex1du4' (uniform utexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetch ( temp 4-component vector of uint) +0:53 'g_tTex1du4' ( uniform utexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:56 textureFetch (temp 4-component vector of float) -0:56 'g_tTex2df4' (uniform texture2D) -0:56 vector swizzle (temp 2-component vector of int) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 textureFetch ( temp 4-component vector of float) +0:56 'g_tTex2df4' ( uniform texture2D) +0:56 vector swizzle ( temp 2-component vector of int) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) 0:56 Sequence @@ -292,18 +295,18 @@ Shader version: 450 0:56 0 (const int) 0:56 Constant: 0:56 1 (const int) -0:56 direct index (temp int) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 direct index ( temp int) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) 0:56 Constant: 0:56 2 (const int) -0:57 textureFetch (temp 4-component vector of int) -0:57 'g_tTex2di4' (uniform itexture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetch ( temp 4-component vector of int) +0:57 'g_tTex2di4' ( uniform itexture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -311,18 +314,18 @@ Shader version: 450 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:58 textureFetch (temp 4-component vector of uint) -0:58 'g_tTex2du4' (uniform utexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetch ( temp 4-component vector of uint) +0:58 'g_tTex2du4' ( uniform utexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -330,18 +333,18 @@ Shader version: 450 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:61 textureFetch (temp 4-component vector of float) -0:61 'g_tTex3df4' (uniform texture3D) -0:61 vector swizzle (temp 3-component vector of int) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 textureFetch ( temp 4-component vector of float) +0:61 'g_tTex3df4' ( uniform texture3D) +0:61 vector swizzle ( temp 3-component vector of int) +0:61 c4: direct index for structure ( uniform 4-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Sequence @@ -351,18 +354,18 @@ Shader version: 450 0:61 1 (const int) 0:61 Constant: 0:61 2 (const int) -0:61 direct index (temp int) -0:61 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 direct index ( temp int) +0:61 c4: direct index for structure ( uniform 4-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 3 (const uint) 0:61 Constant: 0:61 3 (const int) -0:62 textureFetch (temp 4-component vector of int) -0:62 'g_tTex3di4' (uniform itexture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetch ( temp 4-component vector of int) +0:62 'g_tTex3di4' ( uniform itexture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -372,18 +375,18 @@ Shader version: 450 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:63 textureFetch (temp 4-component vector of uint) -0:63 'g_tTex3du4' (uniform utexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetch ( temp 4-component vector of uint) +0:63 'g_tTex3du4' ( uniform utexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -393,16 +396,16 @@ Shader version: 450 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:67 move second child to first child (temp 4-component vector of float) -0:67 Pos: direct index for structure (temp 4-component vector of float) -0:67 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:67 move second child to first child ( temp 4-component vector of float) +0:67 Pos: direct index for structure ( temp 4-component vector of float) +0:67 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:67 Constant: 0:67 0 (const int) 0:? Constant: @@ -410,295 +413,303 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:69 Sequence -0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:69 Pos: direct index for structure (temp 4-component vector of float) -0:69 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:69 Constant: -0:69 0 (const int) -0:69 Branch: Return +0:69 Branch: Return with expression +0:69 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:47 Function Definition: main( ( temp void) +0:47 Function Parameters: +0:? Sequence +0:47 Sequence +0:47 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:47 Pos: direct index for structure ( temp 4-component vector of float) +0:47 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:47 Constant: +0:47 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 169 +// Id's are bound by 174 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 123 168 + EntryPoint Vertex 4 "main" 129 173 Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 31 "g_tTex1di4" - Name 40 "g_tTex1du4" - Name 50 "g_tTex2df4" - Name 63 "g_tTex2di4" - Name 73 "g_tTex2du4" - Name 83 "g_tTex3df4" - Name 96 "g_tTex3di4" - Name 106 "g_tTex3du4" - Name 114 "VS_OUTPUT" - MemberName 114(VS_OUTPUT) 0 "Pos" - Name 116 "vsout" - Name 123 "Pos" - Name 129 "g_sSamp" - Name 132 "g_tTexcdf4" - Name 135 "g_tTexcdi4" - Name 138 "g_tTexcdu4" - Name 141 "g_tTex1df4a" - Name 144 "g_tTex1di4a" - Name 147 "g_tTex1du4a" - Name 150 "g_tTex2df4a" - Name 153 "g_tTex2di4a" - Name 156 "g_tTex2du4a" - Name 159 "g_tTexcdf4a" - Name 162 "g_tTexcdi4a" - Name 165 "g_tTexcdu4a" - Name 166 "PerVertex_out" - MemberName 166(PerVertex_out) 0 "Pos" - Name 168 "PerVertex_out" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 40(g_tTex1du4) DescriptorSet 0 - Decorate 50(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 73(g_tTex2du4) DescriptorSet 0 - Decorate 83(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 123(Pos) BuiltIn Position - Decorate 129(g_sSamp) DescriptorSet 0 - Decorate 129(g_sSamp) Binding 0 - Decorate 132(g_tTexcdf4) DescriptorSet 0 - Decorate 135(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1di4a) DescriptorSet 0 - Decorate 147(g_tTex1du4a) DescriptorSet 0 - Decorate 150(g_tTex2df4a) DescriptorSet 0 - Decorate 153(g_tTex2di4a) DescriptorSet 0 - Decorate 156(g_tTex2du4a) DescriptorSet 0 - Decorate 159(g_tTexcdf4a) DescriptorSet 0 - Decorate 162(g_tTexcdi4a) DescriptorSet 0 - Decorate 165(g_tTexcdu4a) DescriptorSet 0 - MemberDecorate 166(PerVertex_out) 0 BuiltIn Position - Decorate 166(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 35 "g_tTex1di4" + Name 44 "g_tTex1du4" + Name 54 "g_tTex2df4" + Name 67 "g_tTex2di4" + Name 77 "g_tTex2du4" + Name 87 "g_tTex3df4" + Name 100 "g_tTex3di4" + Name 110 "g_tTex3du4" + Name 119 "vsout" + Name 129 "@entryPointOutput_Pos" + Name 134 "g_sSamp" + Name 137 "g_tTexcdf4" + Name 140 "g_tTexcdi4" + Name 143 "g_tTexcdu4" + Name 146 "g_tTex1df4a" + Name 149 "g_tTex1di4a" + Name 152 "g_tTex1du4a" + Name 155 "g_tTex2df4a" + Name 158 "g_tTex2di4a" + Name 161 "g_tTex2du4a" + Name 164 "g_tTexcdf4a" + Name 167 "g_tTexcdi4a" + Name 170 "g_tTexcdu4a" + Name 171 "VS_OUTPUT" + Name 173 "@entryPointOutput" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 129(@entryPointOutput_Pos) BuiltIn Position + Decorate 134(g_sSamp) DescriptorSet 0 + Decorate 134(g_sSamp) Binding 0 + Decorate 137(g_tTexcdf4) DescriptorSet 0 + Decorate 140(g_tTexcdi4) DescriptorSet 0 + Decorate 143(g_tTexcdu4) DescriptorSet 0 + Decorate 146(g_tTex1df4a) DescriptorSet 0 + Decorate 149(g_tTex1di4a) DescriptorSet 0 + Decorate 152(g_tTex1du4a) DescriptorSet 0 + Decorate 155(g_tTex2df4a) DescriptorSet 0 + Decorate 158(g_tTex2di4a) DescriptorSet 0 + Decorate 161(g_tTex2du4a) DescriptorSet 0 + Decorate 164(g_tTexcdf4a) DescriptorSet 0 + Decorate 167(g_tTexcdi4a) DescriptorSet 0 + Decorate 170(g_tTexcdu4a) DescriptorSet 0 + Decorate 173(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: TypeVector 6(float) 4 - 29: TypeImage 11(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 38: TypeImage 19(int) 1D sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4): 39(ptr) Variable UniformConstant - 46: TypeVector 19(int) 4 - 48: TypeImage 6(float) 2D sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex2df4): 49(ptr) Variable UniformConstant - 52: 11(int) Constant 2 - 53: TypePointer Uniform 13(ivec3) - 57: 19(int) Constant 2 - 61: TypeImage 11(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 71: TypeImage 19(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2du4): 72(ptr) Variable UniformConstant - 81: TypeImage 6(float) 3D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex3df4): 82(ptr) Variable UniformConstant - 85: 11(int) Constant 3 - 86: TypePointer Uniform 14(ivec4) - 90: 19(int) Constant 3 - 94: TypeImage 11(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 104: TypeImage 19(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 114(VS_OUTPUT): TypeStruct 27(fvec4) - 115: TypePointer Function 114(VS_OUTPUT) - 117: 11(int) Constant 0 - 118: 6(float) Constant 0 - 119: 27(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 27(fvec4) - 122: TypePointer Output 27(fvec4) - 123(Pos): 122(ptr) Variable Output - 127: TypeSampler - 128: TypePointer UniformConstant 127 - 129(g_sSamp): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdf4): 131(ptr) Variable UniformConstant - 133: TypeImage 11(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdi4): 134(ptr) Variable UniformConstant - 136: TypeImage 19(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 11(int) 1D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex1di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 19(int) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 11(int) 2D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex2di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 19(int) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdf4a): 158(ptr) Variable UniformConstant - 160: TypeImage 11(int) Cube array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTexcdi4a): 161(ptr) Variable UniformConstant - 163: TypeImage 19(int) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdu4a): 164(ptr) Variable UniformConstant -166(PerVertex_out): TypeStruct 27(fvec4) - 167: TypePointer Output 166(PerVertex_out) -168(PerVertex_out): 167(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 33: TypeImage 16(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 42: TypeImage 24(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 50: TypeVector 24(int) 4 + 52: TypeImage 6(float) 2D sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex2df4): 53(ptr) Variable UniformConstant + 56: 16(int) Constant 2 + 57: TypePointer Uniform 18(ivec3) + 61: 24(int) Constant 2 + 65: TypeImage 16(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 75: TypeImage 24(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2du4): 76(ptr) Variable UniformConstant + 85: TypeImage 6(float) 3D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex3df4): 86(ptr) Variable UniformConstant + 89: 16(int) Constant 3 + 90: TypePointer Uniform 19(ivec4) + 94: 24(int) Constant 3 + 98: TypeImage 16(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 108: TypeImage 24(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 118: TypePointer Function 8(VS_OUTPUT) + 120: 16(int) Constant 0 + 121: 6(float) Constant 0 + 122: 7(fvec4) ConstantComposite 121 121 121 121 + 123: TypePointer Function 7(fvec4) + 128: TypePointer Output 7(fvec4) +129(@entryPointOutput_Pos): 128(ptr) Variable Output + 132: TypeSampler + 133: TypePointer UniformConstant 132 + 134(g_sSamp): 133(ptr) Variable UniformConstant + 135: TypeImage 6(float) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdf4): 136(ptr) Variable UniformConstant + 138: TypeImage 16(int) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdi4): 139(ptr) Variable UniformConstant + 141: TypeImage 24(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdu4): 142(ptr) Variable UniformConstant + 144: TypeImage 6(float) 1D array sampled format:Unknown + 145: TypePointer UniformConstant 144 +146(g_tTex1df4a): 145(ptr) Variable UniformConstant + 147: TypeImage 16(int) 1D array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTex1di4a): 148(ptr) Variable UniformConstant + 150: TypeImage 24(int) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1du4a): 151(ptr) Variable UniformConstant + 153: TypeImage 6(float) 2D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex2df4a): 154(ptr) Variable UniformConstant + 156: TypeImage 16(int) 2D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex2di4a): 157(ptr) Variable UniformConstant + 159: TypeImage 24(int) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2du4a): 160(ptr) Variable UniformConstant + 162: TypeImage 6(float) Cube array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTexcdf4a): 163(ptr) Variable UniformConstant + 165: TypeImage 16(int) Cube array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTexcdi4a): 166(ptr) Variable UniformConstant + 168: TypeImage 24(int) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdu4a): 169(ptr) Variable UniformConstant + 171(VS_OUTPUT): TypeStruct + 172: TypePointer Output 171(VS_OUTPUT) +173(@entryPointOutput): 172(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 116(vsout): 115(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 27(fvec4) ImageFetch 10 23 Lod 26 - 32: 29 Load 31(g_tTex1di4) - 33: 21(ptr) AccessChain 17 18 20 - 34: 11(int) Load 33 - 35: 21(ptr) AccessChain 17 18 24 - 36: 11(int) Load 35 - 37: 14(ivec4) ImageFetch 32 34 Lod 36 - 41: 38 Load 40(g_tTex1du4) - 42: 21(ptr) AccessChain 17 18 20 - 43: 11(int) Load 42 - 44: 21(ptr) AccessChain 17 18 24 - 45: 11(int) Load 44 - 47: 46(ivec4) ImageFetch 41 43 Lod 45 - 51: 48 Load 50(g_tTex2df4) - 54: 53(ptr) AccessChain 17 52 - 55: 13(ivec3) Load 54 - 56: 12(ivec2) VectorShuffle 55 55 0 1 - 58: 21(ptr) AccessChain 17 52 57 - 59: 11(int) Load 58 - 60: 27(fvec4) ImageFetch 51 56 Lod 59 - 64: 61 Load 63(g_tTex2di4) - 65: 53(ptr) AccessChain 17 52 - 66: 13(ivec3) Load 65 - 67: 12(ivec2) VectorShuffle 66 66 0 1 - 68: 21(ptr) AccessChain 17 52 57 - 69: 11(int) Load 68 - 70: 14(ivec4) ImageFetch 64 67 Lod 69 - 74: 71 Load 73(g_tTex2du4) - 75: 53(ptr) AccessChain 17 52 - 76: 13(ivec3) Load 75 - 77: 12(ivec2) VectorShuffle 76 76 0 1 - 78: 21(ptr) AccessChain 17 52 57 - 79: 11(int) Load 78 - 80: 46(ivec4) ImageFetch 74 77 Lod 79 - 84: 81 Load 83(g_tTex3df4) - 87: 86(ptr) AccessChain 17 85 - 88: 14(ivec4) Load 87 - 89: 13(ivec3) VectorShuffle 88 88 0 1 2 - 91: 21(ptr) AccessChain 17 85 90 - 92: 11(int) Load 91 - 93: 27(fvec4) ImageFetch 84 89 Lod 92 - 97: 94 Load 96(g_tTex3di4) - 98: 86(ptr) AccessChain 17 85 - 99: 14(ivec4) Load 98 - 100: 13(ivec3) VectorShuffle 99 99 0 1 2 - 101: 21(ptr) AccessChain 17 85 90 - 102: 11(int) Load 101 - 103: 14(ivec4) ImageFetch 97 100 Lod 102 - 107: 104 Load 106(g_tTex3du4) - 108: 86(ptr) AccessChain 17 85 - 109: 14(ivec4) Load 108 - 110: 13(ivec3) VectorShuffle 109 109 0 1 2 - 111: 21(ptr) AccessChain 17 85 90 - 112: 11(int) Load 111 - 113: 46(ivec4) ImageFetch 107 110 Lod 112 - 121: 120(ptr) AccessChain 116(vsout) 117 - Store 121 119 - 124: 120(ptr) AccessChain 116(vsout) 117 - 125: 27(fvec4) Load 124 - Store 123(Pos) 125 + 130:8(VS_OUTPUT) FunctionCall 10(@main() + 131: 7(fvec4) CompositeExtract 130 0 + Store 129(@entryPointOutput_Pos) 131 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 119(vsout): 118(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 32: 7(fvec4) ImageFetch 15 28 Lod 31 + 36: 33 Load 35(g_tTex1di4) + 37: 26(ptr) AccessChain 22 23 25 + 38: 16(int) Load 37 + 39: 26(ptr) AccessChain 22 23 29 + 40: 16(int) Load 39 + 41: 19(ivec4) ImageFetch 36 38 Lod 40 + 45: 42 Load 44(g_tTex1du4) + 46: 26(ptr) AccessChain 22 23 25 + 47: 16(int) Load 46 + 48: 26(ptr) AccessChain 22 23 29 + 49: 16(int) Load 48 + 51: 50(ivec4) ImageFetch 45 47 Lod 49 + 55: 52 Load 54(g_tTex2df4) + 58: 57(ptr) AccessChain 22 56 + 59: 18(ivec3) Load 58 + 60: 17(ivec2) VectorShuffle 59 59 0 1 + 62: 26(ptr) AccessChain 22 56 61 + 63: 16(int) Load 62 + 64: 7(fvec4) ImageFetch 55 60 Lod 63 + 68: 65 Load 67(g_tTex2di4) + 69: 57(ptr) AccessChain 22 56 + 70: 18(ivec3) Load 69 + 71: 17(ivec2) VectorShuffle 70 70 0 1 + 72: 26(ptr) AccessChain 22 56 61 + 73: 16(int) Load 72 + 74: 19(ivec4) ImageFetch 68 71 Lod 73 + 78: 75 Load 77(g_tTex2du4) + 79: 57(ptr) AccessChain 22 56 + 80: 18(ivec3) Load 79 + 81: 17(ivec2) VectorShuffle 80 80 0 1 + 82: 26(ptr) AccessChain 22 56 61 + 83: 16(int) Load 82 + 84: 50(ivec4) ImageFetch 78 81 Lod 83 + 88: 85 Load 87(g_tTex3df4) + 91: 90(ptr) AccessChain 22 89 + 92: 19(ivec4) Load 91 + 93: 18(ivec3) VectorShuffle 92 92 0 1 2 + 95: 26(ptr) AccessChain 22 89 94 + 96: 16(int) Load 95 + 97: 7(fvec4) ImageFetch 88 93 Lod 96 + 101: 98 Load 100(g_tTex3di4) + 102: 90(ptr) AccessChain 22 89 + 103: 19(ivec4) Load 102 + 104: 18(ivec3) VectorShuffle 103 103 0 1 2 + 105: 26(ptr) AccessChain 22 89 94 + 106: 16(int) Load 105 + 107: 19(ivec4) ImageFetch 101 104 Lod 106 + 111: 108 Load 110(g_tTex3du4) + 112: 90(ptr) AccessChain 22 89 + 113: 19(ivec4) Load 112 + 114: 18(ivec3) VectorShuffle 113 113 0 1 2 + 115: 26(ptr) AccessChain 22 89 94 + 116: 16(int) Load 115 + 117: 50(ivec4) ImageFetch 111 114 Lod 116 + 124: 123(ptr) AccessChain 119(vsout) 120 + Store 124 122 + 125:8(VS_OUTPUT) Load 119(vsout) + ReturnValue 125 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out index c80ddcfe91e..134a7fdbca3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -2,39 +2,39 @@ hlsl.load.buffer.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of float) -0:28 'r00' (temp 4-component vector of float) -0:28 textureFetch (temp 4-component vector of float) -0:28 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) -0:28 c1: direct index for structure (layout(offset=0 ) uniform int) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:28 move second child to first child ( temp 4-component vector of float) +0:28 'r00' ( temp 4-component vector of float) +0:28 imageLoad ( temp 4-component vector of float) +0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) +0:28 c1: direct index for structure ( uniform int) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: 0:28 0 (const uint) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of int) -0:29 'r01' (temp 4-component vector of int) -0:29 textureFetch (temp 4-component vector of int) -0:29 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) -0:29 c1: direct index for structure (layout(offset=0 ) uniform int) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:29 move second child to first child ( temp 4-component vector of int) +0:29 'r01' ( temp 4-component vector of int) +0:29 imageLoad ( temp 4-component vector of int) +0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) +0:29 c1: direct index for structure ( uniform int) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: 0:29 0 (const uint) 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of uint) -0:30 'r02' (temp 4-component vector of uint) -0:30 textureFetch (temp 4-component vector of uint) -0:30 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:30 c1: direct index for structure (layout(offset=0 ) uniform int) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:30 move second child to first child ( temp 4-component vector of uint) +0:30 'r02' ( temp 4-component vector of uint) +0:30 imageLoad ( temp 4-component vector of uint) +0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) +0:30 c1: direct index for structure ( uniform int) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: 0:30 0 (const uint) -0:34 move second child to first child (temp 4-component vector of float) -0:34 Color: direct index for structure (temp 4-component vector of float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -42,36 +42,42 @@ gl_FragCoord origin is upper left 0:34 1.000000 0:34 1.000000 0:34 1.000000 -0:35 move second child to first child (temp float) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp float) +0:35 Depth: direct index for structure ( temp float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) -0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) -0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) -0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer) +0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) +0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) +0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -80,39 +86,39 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of float) -0:28 'r00' (temp 4-component vector of float) -0:28 textureFetch (temp 4-component vector of float) -0:28 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) -0:28 c1: direct index for structure (layout(offset=0 ) uniform int) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:28 move second child to first child ( temp 4-component vector of float) +0:28 'r00' ( temp 4-component vector of float) +0:28 imageLoad ( temp 4-component vector of float) +0:28 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) +0:28 c1: direct index for structure ( uniform int) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: 0:28 0 (const uint) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of int) -0:29 'r01' (temp 4-component vector of int) -0:29 textureFetch (temp 4-component vector of int) -0:29 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) -0:29 c1: direct index for structure (layout(offset=0 ) uniform int) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:29 move second child to first child ( temp 4-component vector of int) +0:29 'r01' ( temp 4-component vector of int) +0:29 imageLoad ( temp 4-component vector of int) +0:29 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) +0:29 c1: direct index for structure ( uniform int) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: 0:29 0 (const uint) 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of uint) -0:30 'r02' (temp 4-component vector of uint) -0:30 textureFetch (temp 4-component vector of uint) -0:30 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:30 c1: direct index for structure (layout(offset=0 ) uniform int) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:30 move second child to first child ( temp 4-component vector of uint) +0:30 'r02' ( temp 4-component vector of uint) +0:30 imageLoad ( temp 4-component vector of uint) +0:30 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) +0:30 c1: direct index for structure ( uniform int) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: 0:30 0 (const uint) -0:34 move second child to first child (temp 4-component vector of float) -0:34 Color: direct index for structure (temp 4-component vector of float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -120,162 +126,177 @@ gl_FragCoord origin is upper left 0:34 1.000000 0:34 1.000000 0:34 1.000000 -0:35 move second child to first child (temp float) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp float) +0:35 Depth: direct index for structure ( temp float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) -0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) -0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) -0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tTexbf4_test' (layout( binding=0 rgba32f) readonly uniform imageBuffer) +0:? 'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer) +0:? 'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer) +0:? 'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 71 +// Id's are bound by 72 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 62 66 + EntryPoint Fragment 4 "main" 64 68 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 13 "g_tTexbf4" - Name 19 "$Global" - MemberName 19($Global) 0 "c1" - MemberName 19($Global) 1 "c2" - MemberName 19($Global) 2 "c3" - MemberName 19($Global) 3 "c4" - MemberName 19($Global) 4 "o1" - MemberName 19($Global) 5 "o2" - MemberName 19($Global) 6 "o3" - MemberName 19($Global) 7 "o4" - Name 21 "" - Name 29 "r01" - Name 33 "g_tTexbi4" + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTexbf4" + Name 22 "$Global" + MemberName 22($Global) 0 "c1" + MemberName 22($Global) 1 "c2" + MemberName 22($Global) 2 "c3" + MemberName 22($Global) 3 "c4" + MemberName 22($Global) 4 "o1" + MemberName 22($Global) 5 "o2" + MemberName 22($Global) 6 "o3" + MemberName 22($Global) 7 "o4" + Name 24 "" + Name 31 "r01" + Name 34 "g_tTexbi4" Name 42 "r02" - Name 46 "g_tTexbu4" - Name 52 "PS_OUTPUT" - MemberName 52(PS_OUTPUT) 0 "Color" - MemberName 52(PS_OUTPUT) 1 "Depth" - Name 54 "psout" - Name 62 "Color" - Name 66 "Depth" - Name 70 "g_tTexbf4_test" - Decorate 13(g_tTexbf4) DescriptorSet 0 - MemberDecorate 19($Global) 0 Offset 0 - MemberDecorate 19($Global) 1 Offset 8 - MemberDecorate 19($Global) 2 Offset 16 - MemberDecorate 19($Global) 3 Offset 32 - MemberDecorate 19($Global) 4 Offset 48 - MemberDecorate 19($Global) 5 Offset 56 - MemberDecorate 19($Global) 6 Offset 64 - MemberDecorate 19($Global) 7 Offset 80 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 - Decorate 33(g_tTexbi4) DescriptorSet 0 - Decorate 46(g_tTexbu4) DescriptorSet 0 - Decorate 62(Color) Location 0 - Decorate 66(Depth) BuiltIn FragDepth - Decorate 70(g_tTexbf4_test) DescriptorSet 0 - Decorate 70(g_tTexbf4_test) Binding 0 + Name 45 "g_tTexbu4" + Name 51 "psout" + Name 61 "flattenTemp" + Name 64 "Color" + Name 68 "Depth" + Name 71 "g_tTexbf4_test" + Decorate 16(g_tTexbf4) DescriptorSet 0 + Decorate 16(g_tTexbf4) NonWritable + MemberDecorate 22($Global) 0 Offset 0 + MemberDecorate 22($Global) 1 Offset 8 + MemberDecorate 22($Global) 2 Offset 16 + MemberDecorate 22($Global) 3 Offset 32 + MemberDecorate 22($Global) 4 Offset 48 + MemberDecorate 22($Global) 5 Offset 56 + MemberDecorate 22($Global) 6 Offset 64 + MemberDecorate 22($Global) 7 Offset 80 + Decorate 22($Global) Block + Decorate 24 DescriptorSet 0 + Decorate 34(g_tTexbi4) DescriptorSet 0 + Decorate 34(g_tTexbi4) NonWritable + Decorate 45(g_tTexbu4) DescriptorSet 0 + Decorate 45(g_tTexbu4) NonWritable + Decorate 64(Color) Location 0 + Decorate 68(Depth) BuiltIn FragDepth + Decorate 71(g_tTexbf4_test) DescriptorSet 0 + Decorate 71(g_tTexbf4_test) Binding 0 + Decorate 71(g_tTexbf4_test) NonWritable 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) Buffer sampled format:Rgba32f - 11: TypeSampledImage 10 - 12: TypePointer UniformConstant 11 - 13(g_tTexbf4): 12(ptr) Variable UniformConstant - 15: TypeInt 32 1 - 16: TypeVector 15(int) 2 - 17: TypeVector 15(int) 3 - 18: TypeVector 15(int) 4 - 19($Global): TypeStruct 15(int) 16(ivec2) 17(ivec3) 18(ivec4) 15(int) 16(ivec2) 17(ivec3) 18(ivec4) - 20: TypePointer Uniform 19($Global) - 21: 20(ptr) Variable Uniform - 22: 15(int) Constant 0 - 23: TypePointer Uniform 15(int) - 28: TypePointer Function 18(ivec4) - 30: TypeImage 15(int) Buffer sampled format:Rgba32i - 31: TypeSampledImage 30 - 32: TypePointer UniformConstant 31 - 33(g_tTexbi4): 32(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 15: TypePointer UniformConstant 14 + 16(g_tTexbf4): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: TypeVector 18(int) 2 + 20: TypeVector 18(int) 3 + 21: TypeVector 18(int) 4 + 22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) + 23: TypePointer Uniform 22($Global) + 24: 23(ptr) Variable Uniform + 25: 18(int) Constant 0 + 26: TypePointer Uniform 18(int) + 30: TypePointer Function 21(ivec4) + 32: TypeImage 18(int) Buffer nonsampled format:Rgba32i + 33: TypePointer UniformConstant 32 + 34(g_tTexbi4): 33(ptr) Variable UniformConstant 39: TypeInt 32 0 40: TypeVector 39(int) 4 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) Buffer sampled format:Rgba32ui - 44: TypeSampledImage 43 - 45: TypePointer UniformConstant 44 - 46(g_tTexbu4): 45(ptr) Variable UniformConstant - 52(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 53: TypePointer Function 52(PS_OUTPUT) - 55: 6(float) Constant 1065353216 - 56: 7(fvec4) ConstantComposite 55 55 55 55 - 58: 15(int) Constant 1 - 59: TypePointer Function 6(float) - 61: TypePointer Output 7(fvec4) - 62(Color): 61(ptr) Variable Output - 65: TypePointer Output 6(float) - 66(Depth): 65(ptr) Variable Output -70(g_tTexbf4_test): 12(ptr) Variable UniformConstant + 43: TypeImage 39(int) Buffer nonsampled format:Rgba32ui + 44: TypePointer UniformConstant 43 + 45(g_tTexbu4): 44(ptr) Variable UniformConstant + 50: TypePointer Function 8(PS_OUTPUT) + 52: 6(float) Constant 1065353216 + 53: 7(fvec4) ConstantComposite 52 52 52 52 + 55: 18(int) Constant 1 + 56: TypePointer Function 6(float) + 63: TypePointer Output 7(fvec4) + 64(Color): 63(ptr) Variable Output + 67: TypePointer Output 6(float) + 68(Depth): 67(ptr) Variable Output +71(g_tTexbf4_test): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 29(r01): 28(ptr) Variable Function - 42(r02): 41(ptr) Variable Function - 54(psout): 53(ptr) Variable Function - 14: 11 Load 13(g_tTexbf4) - 24: 23(ptr) AccessChain 21 22 - 25: 15(int) Load 24 - 26: 10 Image 14 - 27: 7(fvec4) ImageFetch 26 25 - Store 9(r00) 27 - 34: 31 Load 33(g_tTexbi4) - 35: 23(ptr) AccessChain 21 22 - 36: 15(int) Load 35 - 37: 30 Image 34 - 38: 18(ivec4) ImageFetch 37 36 - Store 29(r01) 38 - 47: 44 Load 46(g_tTexbu4) - 48: 23(ptr) AccessChain 21 22 - 49: 15(int) Load 48 - 50: 43 Image 47 - 51: 40(ivec4) ImageFetch 50 49 - Store 42(r02) 51 - 57: 8(ptr) AccessChain 54(psout) 22 - Store 57 56 - 60: 59(ptr) AccessChain 54(psout) 58 - Store 60 55 - 63: 8(ptr) AccessChain 54(psout) 22 - 64: 7(fvec4) Load 63 - Store 62(Color) 64 - 67: 59(ptr) AccessChain 54(psout) 58 - 68: 6(float) Load 67 - Store 66(Depth) 68 + 61(flattenTemp): 50(ptr) Variable Function + 62:8(PS_OUTPUT) FunctionCall 10(@main() + Store 61(flattenTemp) 62 + 65: 12(ptr) AccessChain 61(flattenTemp) 25 + 66: 7(fvec4) Load 65 + Store 64(Color) 66 + 69: 56(ptr) AccessChain 61(flattenTemp) 55 + 70: 6(float) Load 69 + Store 68(Depth) 70 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 31(r01): 30(ptr) Variable Function + 42(r02): 41(ptr) Variable Function + 51(psout): 50(ptr) Variable Function + 17: 14 Load 16(g_tTexbf4) + 27: 26(ptr) AccessChain 24 25 + 28: 18(int) Load 27 + 29: 7(fvec4) ImageRead 17 28 + Store 13(r00) 29 + 35: 32 Load 34(g_tTexbi4) + 36: 26(ptr) AccessChain 24 25 + 37: 18(int) Load 36 + 38: 21(ivec4) ImageRead 35 37 + Store 31(r01) 38 + 46: 43 Load 45(g_tTexbu4) + 47: 26(ptr) AccessChain 24 25 + 48: 18(int) Load 47 + 49: 40(ivec4) ImageRead 46 48 + Store 42(r02) 49 + 54: 12(ptr) AccessChain 51(psout) 25 + Store 54 53 + 57: 56(ptr) AccessChain 51(psout) 55 + Store 57 52 + 58:8(PS_OUTPUT) Load 51(psout) + ReturnValue 58 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index c0cd1528439..6ba3d993e40 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -2,42 +2,42 @@ hlsl.load.buffer.float.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'r00' (temp float) -0:28 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:28 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:28 c1: direct index for structure (layout(offset=0 ) uniform int) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:28 move second child to first child ( temp float) +0:28 'r00' ( temp float) +0:28 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:28 c1: direct index for structure ( uniform int) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: 0:28 0 (const uint) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'r01' (temp int) -0:29 Construct int (temp int) -0:? textureFetch (temp 4-component vector of int) -0:29 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) -0:29 c1: direct index for structure (layout(offset=0 ) uniform int) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:29 move second child to first child ( temp int) +0:29 'r01' ( temp int) +0:29 Construct int ( temp int) +0:? imageLoad ( temp 4-component vector of int) +0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) +0:29 c1: direct index for structure ( uniform int) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: 0:29 0 (const uint) 0:30 Sequence -0:30 move second child to first child (temp uint) -0:30 'r02' (temp uint) -0:30 Construct uint (temp uint) -0:? textureFetch (temp 4-component vector of uint) -0:30 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:30 c1: direct index for structure (layout(offset=0 ) uniform int) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:30 move second child to first child ( temp uint) +0:30 'r02' ( temp uint) +0:30 Construct uint ( temp uint) +0:? imageLoad ( temp 4-component vector of uint) +0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) +0:30 c1: direct index for structure ( uniform int) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: 0:30 0 (const uint) -0:34 move second child to first child (temp 4-component vector of float) -0:34 Color: direct index for structure (temp 4-component vector of float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -45,36 +45,42 @@ gl_FragCoord origin is upper left 0:34 1.000000 0:34 1.000000 0:34 1.000000 -0:35 move second child to first child (temp float) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp float) +0:35 Depth: direct index for structure ( temp float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) -0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) +0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -83,42 +89,42 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'r00' (temp float) -0:28 Construct float (temp float) -0:? textureFetch (temp 4-component vector of float) -0:28 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:28 c1: direct index for structure (layout(offset=0 ) uniform int) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:28 move second child to first child ( temp float) +0:28 'r00' ( temp float) +0:28 Construct float ( temp float) +0:? imageLoad ( temp 4-component vector of float) +0:28 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:28 c1: direct index for structure ( uniform int) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:28 Constant: 0:28 0 (const uint) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'r01' (temp int) -0:29 Construct int (temp int) -0:? textureFetch (temp 4-component vector of int) -0:29 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) -0:29 c1: direct index for structure (layout(offset=0 ) uniform int) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:29 move second child to first child ( temp int) +0:29 'r01' ( temp int) +0:29 Construct int ( temp int) +0:? imageLoad ( temp 4-component vector of int) +0:29 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) +0:29 c1: direct index for structure ( uniform int) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:29 Constant: 0:29 0 (const uint) 0:30 Sequence -0:30 move second child to first child (temp uint) -0:30 'r02' (temp uint) -0:30 Construct uint (temp uint) -0:? textureFetch (temp 4-component vector of uint) -0:30 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:30 c1: direct index for structure (layout(offset=0 ) uniform int) -0:30 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:30 move second child to first child ( temp uint) +0:30 'r02' ( temp uint) +0:30 Construct uint ( temp uint) +0:? imageLoad ( temp 4-component vector of uint) +0:30 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) +0:30 c1: direct index for structure ( uniform int) +0:30 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:30 Constant: 0:30 0 (const uint) -0:34 move second child to first child (temp 4-component vector of float) -0:34 Color: direct index for structure (temp 4-component vector of float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 Color: direct index for structure ( temp 4-component vector of float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -126,165 +132,180 @@ gl_FragCoord origin is upper left 0:34 1.000000 0:34 1.000000 0:34 1.000000 -0:35 move second child to first child (temp float) -0:35 Depth: direct index for structure (temp float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp float) +0:35 Depth: direct index for structure ( temp float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 1 (const int) 0:35 Constant: 0:35 1.000000 -0:37 Sequence -0:37 Sequence -0:37 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:37 Color: direct index for structure (temp 4-component vector of float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 0 (const int) -0:37 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:37 Depth: direct index for structure (temp float) -0:37 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:37 Constant: -0:37 1 (const int) -0:37 Branch: Return +0:37 Branch: Return with expression +0:37 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) -0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) -0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) -0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tTexbfs_test' (layout( binding=0 r32f) readonly uniform imageBuffer) +0:? 'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer) +0:? 'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer) +0:? 'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 74 +// Id's are bound by 75 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 65 69 + EntryPoint Fragment 4 "main" 67 71 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 12 "g_tTexbfs" - Name 18 "$Global" - MemberName 18($Global) 0 "c1" - MemberName 18($Global) 1 "c2" - MemberName 18($Global) 2 "c3" - MemberName 18($Global) 3 "c4" - MemberName 18($Global) 4 "o1" - MemberName 18($Global) 5 "o2" - MemberName 18($Global) 6 "o3" - MemberName 18($Global) 7 "o4" - Name 20 "" - Name 30 "r01" - Name 34 "g_tTexbis" + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTexbfs" + Name 22 "$Global" + MemberName 22($Global) 0 "c1" + MemberName 22($Global) 1 "c2" + MemberName 22($Global) 2 "c3" + MemberName 22($Global) 3 "c4" + MemberName 22($Global) 4 "o1" + MemberName 22($Global) 5 "o2" + MemberName 22($Global) 6 "o3" + MemberName 22($Global) 7 "o4" + Name 24 "" + Name 32 "r01" + Name 35 "g_tTexbis" Name 43 "r02" - Name 47 "g_tTexbus" - Name 55 "PS_OUTPUT" - MemberName 55(PS_OUTPUT) 0 "Color" - MemberName 55(PS_OUTPUT) 1 "Depth" - Name 57 "psout" - Name 65 "Color" - Name 69 "Depth" - Name 73 "g_tTexbfs_test" - Decorate 12(g_tTexbfs) DescriptorSet 0 - MemberDecorate 18($Global) 0 Offset 0 - MemberDecorate 18($Global) 1 Offset 8 - MemberDecorate 18($Global) 2 Offset 16 - MemberDecorate 18($Global) 3 Offset 32 - MemberDecorate 18($Global) 4 Offset 48 - MemberDecorate 18($Global) 5 Offset 56 - MemberDecorate 18($Global) 6 Offset 64 - MemberDecorate 18($Global) 7 Offset 80 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 - Decorate 34(g_tTexbis) DescriptorSet 0 - Decorate 47(g_tTexbus) DescriptorSet 0 - Decorate 65(Color) Location 0 - Decorate 69(Depth) BuiltIn FragDepth - Decorate 73(g_tTexbfs_test) DescriptorSet 0 - Decorate 73(g_tTexbfs_test) Binding 0 + Name 46 "g_tTexbus" + Name 54 "psout" + Name 64 "flattenTemp" + Name 67 "Color" + Name 71 "Depth" + Name 74 "g_tTexbfs_test" + Decorate 16(g_tTexbfs) DescriptorSet 0 + Decorate 16(g_tTexbfs) NonWritable + MemberDecorate 22($Global) 0 Offset 0 + MemberDecorate 22($Global) 1 Offset 8 + MemberDecorate 22($Global) 2 Offset 16 + MemberDecorate 22($Global) 3 Offset 32 + MemberDecorate 22($Global) 4 Offset 48 + MemberDecorate 22($Global) 5 Offset 56 + MemberDecorate 22($Global) 6 Offset 64 + MemberDecorate 22($Global) 7 Offset 80 + Decorate 22($Global) Block + Decorate 24 DescriptorSet 0 + Decorate 35(g_tTexbis) DescriptorSet 0 + Decorate 35(g_tTexbis) NonWritable + Decorate 46(g_tTexbus) DescriptorSet 0 + Decorate 46(g_tTexbus) NonWritable + Decorate 67(Color) Location 0 + Decorate 71(Depth) BuiltIn FragDepth + Decorate 74(g_tTexbfs_test) DescriptorSet 0 + Decorate 74(g_tTexbfs_test) Binding 0 + Decorate 74(g_tTexbfs_test) NonWritable 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) Buffer sampled format:R32f - 10: TypeSampledImage 9 - 11: TypePointer UniformConstant 10 - 12(g_tTexbfs): 11(ptr) Variable UniformConstant - 14: TypeInt 32 1 - 15: TypeVector 14(int) 2 - 16: TypeVector 14(int) 3 - 17: TypeVector 14(int) 4 - 18($Global): TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4) - 19: TypePointer Uniform 18($Global) - 20: 19(ptr) Variable Uniform - 21: 14(int) Constant 0 - 22: TypePointer Uniform 14(int) - 26: TypeVector 6(float) 4 - 29: TypePointer Function 14(int) - 31: TypeImage 14(int) Buffer sampled format:R32i - 32: TypeSampledImage 31 - 33: TypePointer UniformConstant 32 - 34(g_tTexbis): 33(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) Buffer nonsampled format:R32f + 15: TypePointer UniformConstant 14 + 16(g_tTexbfs): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: TypeVector 18(int) 2 + 20: TypeVector 18(int) 3 + 21: TypeVector 18(int) 4 + 22($Global): TypeStruct 18(int) 19(ivec2) 20(ivec3) 21(ivec4) 18(int) 19(ivec2) 20(ivec3) 21(ivec4) + 23: TypePointer Uniform 22($Global) + 24: 23(ptr) Variable Uniform + 25: 18(int) Constant 0 + 26: TypePointer Uniform 18(int) + 31: TypePointer Function 18(int) + 33: TypeImage 18(int) Buffer nonsampled format:R32i + 34: TypePointer UniformConstant 33 + 35(g_tTexbis): 34(ptr) Variable UniformConstant 41: TypeInt 32 0 42: TypePointer Function 41(int) - 44: TypeImage 41(int) Buffer sampled format:R32ui - 45: TypeSampledImage 44 - 46: TypePointer UniformConstant 45 - 47(g_tTexbus): 46(ptr) Variable UniformConstant - 52: TypeVector 41(int) 4 - 55(PS_OUTPUT): TypeStruct 26(fvec4) 6(float) - 56: TypePointer Function 55(PS_OUTPUT) - 58: 6(float) Constant 1065353216 - 59: 26(fvec4) ConstantComposite 58 58 58 58 - 60: TypePointer Function 26(fvec4) - 62: 14(int) Constant 1 - 64: TypePointer Output 26(fvec4) - 65(Color): 64(ptr) Variable Output - 68: TypePointer Output 6(float) - 69(Depth): 68(ptr) Variable Output -73(g_tTexbfs_test): 11(ptr) Variable UniformConstant + 44: TypeImage 41(int) Buffer nonsampled format:R32ui + 45: TypePointer UniformConstant 44 + 46(g_tTexbus): 45(ptr) Variable UniformConstant + 50: TypeVector 41(int) 4 + 53: TypePointer Function 8(PS_OUTPUT) + 55: 6(float) Constant 1065353216 + 56: 7(fvec4) ConstantComposite 55 55 55 55 + 57: TypePointer Function 7(fvec4) + 59: 18(int) Constant 1 + 66: TypePointer Output 7(fvec4) + 67(Color): 66(ptr) Variable Output + 70: TypePointer Output 6(float) + 71(Depth): 70(ptr) Variable Output +74(g_tTexbfs_test): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 30(r01): 29(ptr) Variable Function - 43(r02): 42(ptr) Variable Function - 57(psout): 56(ptr) Variable Function - 13: 10 Load 12(g_tTexbfs) - 23: 22(ptr) AccessChain 20 21 - 24: 14(int) Load 23 - 25: 9 Image 13 - 27: 26(fvec4) ImageFetch 25 24 - 28: 6(float) CompositeExtract 27 0 - Store 8(r00) 28 - 35: 32 Load 34(g_tTexbis) - 36: 22(ptr) AccessChain 20 21 - 37: 14(int) Load 36 - 38: 31 Image 35 - 39: 17(ivec4) ImageFetch 38 37 - 40: 14(int) CompositeExtract 39 0 - Store 30(r01) 40 - 48: 45 Load 47(g_tTexbus) - 49: 22(ptr) AccessChain 20 21 - 50: 14(int) Load 49 - 51: 44 Image 48 - 53: 52(ivec4) ImageFetch 51 50 - 54: 41(int) CompositeExtract 53 0 - Store 43(r02) 54 - 61: 60(ptr) AccessChain 57(psout) 21 - Store 61 59 - 63: 7(ptr) AccessChain 57(psout) 62 - Store 63 58 - 66: 60(ptr) AccessChain 57(psout) 21 - 67: 26(fvec4) Load 66 - Store 65(Color) 67 - 70: 7(ptr) AccessChain 57(psout) 62 - 71: 6(float) Load 70 - Store 69(Depth) 71 + 64(flattenTemp): 53(ptr) Variable Function + 65:8(PS_OUTPUT) FunctionCall 10(@main() + Store 64(flattenTemp) 65 + 68: 57(ptr) AccessChain 64(flattenTemp) 25 + 69: 7(fvec4) Load 68 + Store 67(Color) 69 + 72: 12(ptr) AccessChain 64(flattenTemp) 59 + 73: 6(float) Load 72 + Store 71(Depth) 73 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 32(r01): 31(ptr) Variable Function + 43(r02): 42(ptr) Variable Function + 54(psout): 53(ptr) Variable Function + 17: 14 Load 16(g_tTexbfs) + 27: 26(ptr) AccessChain 24 25 + 28: 18(int) Load 27 + 29: 7(fvec4) ImageRead 17 28 + 30: 6(float) CompositeExtract 29 0 + Store 13(r00) 30 + 36: 33 Load 35(g_tTexbis) + 37: 26(ptr) AccessChain 24 25 + 38: 18(int) Load 37 + 39: 21(ivec4) ImageRead 36 38 + 40: 18(int) CompositeExtract 39 0 + Store 32(r01) 40 + 47: 44 Load 46(g_tTexbus) + 48: 26(ptr) AccessChain 24 25 + 49: 18(int) Load 48 + 51: 50(ivec4) ImageRead 47 49 + 52: 41(int) CompositeExtract 51 0 + Store 43(r02) 52 + 58: 57(ptr) AccessChain 54(psout) 25 + Store 58 56 + 60: 12(ptr) AccessChain 54(psout) 59 + Store 60 55 + 61:8(PS_OUTPUT) Load 54(psout) + ReturnValue 61 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out index 9a14b658e69..7d6c63ab91a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -2,77 +2,77 @@ hlsl.load.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetchOffset (temp 4-component vector of float) -0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetchOffset ( temp 4-component vector of float) +0:52 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:52 o1: direct index for structure (layout(offset=48 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 4 (const uint) -0:53 textureFetchOffset (temp 4-component vector of int) -0:53 'g_tTex1di4' (uniform itexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetchOffset ( temp 4-component vector of int) +0:53 'g_tTex1di4' ( uniform itexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:53 o1: direct index for structure (layout(offset=48 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 o1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 4 (const uint) -0:54 textureFetchOffset (temp 4-component vector of uint) -0:54 'g_tTex1du4' (uniform utexture1D) -0:54 vector swizzle (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetchOffset ( temp 4-component vector of uint) +0:54 'g_tTex1du4' ( uniform utexture1D) +0:54 vector swizzle ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Sequence 0:54 Constant: 0:54 0 (const int) -0:54 direct index (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Constant: 0:54 1 (const int) -0:54 o1: direct index for structure (layout(offset=48 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 o1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 4 (const uint) -0:57 textureFetchOffset (temp 4-component vector of float) -0:57 'g_tTex2df4' (uniform texture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetchOffset ( temp 4-component vector of float) +0:57 'g_tTex2df4' ( uniform texture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -80,22 +80,22 @@ gl_FragCoord origin is upper left 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) -0:58 textureFetchOffset (temp 4-component vector of int) -0:58 'g_tTex2di4' (uniform itexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetchOffset ( temp 4-component vector of int) +0:58 'g_tTex2di4' ( uniform itexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -103,22 +103,22 @@ gl_FragCoord origin is upper left 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) -0:59 textureFetchOffset (temp 4-component vector of uint) -0:59 'g_tTex2du4' (uniform utexture2D) -0:59 vector swizzle (temp 2-component vector of int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetchOffset ( temp 4-component vector of uint) +0:59 'g_tTex2du4' ( uniform utexture2D) +0:59 vector swizzle ( temp 2-component vector of int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Sequence @@ -126,22 +126,22 @@ gl_FragCoord origin is upper left 0:59 0 (const int) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 2 (const int) -0:59 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 o2: direct index for structure ( uniform 2-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 5 (const uint) -0:62 textureFetchOffset (temp 4-component vector of float) -0:62 'g_tTex3df4' (uniform texture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetchOffset ( temp 4-component vector of float) +0:62 'g_tTex3df4' ( uniform texture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -151,22 +151,22 @@ gl_FragCoord origin is upper left 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:62 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o3: direct index for structure ( uniform 3-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 6 (const uint) -0:63 textureFetchOffset (temp 4-component vector of int) -0:63 'g_tTex3di4' (uniform itexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetchOffset ( temp 4-component vector of int) +0:63 'g_tTex3di4' ( uniform itexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -176,22 +176,22 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:63 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 o3: direct index for structure ( uniform 3-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 6 (const uint) -0:64 textureFetchOffset (temp 4-component vector of uint) -0:64 'g_tTex3du4' (uniform utexture3D) -0:64 vector swizzle (temp 3-component vector of int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 textureFetchOffset ( temp 4-component vector of uint) +0:64 'g_tTex3du4' ( uniform utexture3D) +0:64 vector swizzle ( temp 3-component vector of int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Sequence @@ -201,20 +201,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 2 (const int) -0:64 direct index (temp int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 direct index ( temp int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) -0:64 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 o3: direct index for structure ( uniform 3-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 6 (const uint) -0:72 move second child to first child (temp 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 Color: direct index for structure ( temp 4-component vector of float) +0:72 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:72 Constant: 0:72 0 (const int) 0:72 Constant: @@ -222,54 +222,60 @@ gl_FragCoord origin is upper left 0:72 1.000000 0:72 1.000000 0:72 1.000000 -0:73 move second child to first child (temp float) -0:73 Depth: direct index for structure (temp float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp float) +0:73 Depth: direct index for structure ( temp float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -278,77 +284,77 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetchOffset (temp 4-component vector of float) -0:52 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:52 vector swizzle (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetchOffset ( temp 4-component vector of float) +0:52 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:52 vector swizzle ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Sequence 0:52 Constant: 0:52 0 (const int) -0:52 direct index (temp int) -0:52 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c2: direct index for structure ( uniform 2-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 1 (const uint) 0:52 Constant: 0:52 1 (const int) -0:52 o1: direct index for structure (layout(offset=48 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 4 (const uint) -0:53 textureFetchOffset (temp 4-component vector of int) -0:53 'g_tTex1di4' (uniform itexture1D) -0:53 vector swizzle (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetchOffset ( temp 4-component vector of int) +0:53 'g_tTex1di4' ( uniform itexture1D) +0:53 vector swizzle ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Sequence 0:53 Constant: 0:53 0 (const int) -0:53 direct index (temp int) -0:53 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c2: direct index for structure ( uniform 2-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 1 (const uint) 0:53 Constant: 0:53 1 (const int) -0:53 o1: direct index for structure (layout(offset=48 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 o1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 4 (const uint) -0:54 textureFetchOffset (temp 4-component vector of uint) -0:54 'g_tTex1du4' (uniform utexture1D) -0:54 vector swizzle (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetchOffset ( temp 4-component vector of uint) +0:54 'g_tTex1du4' ( uniform utexture1D) +0:54 vector swizzle ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Sequence 0:54 Constant: 0:54 0 (const int) -0:54 direct index (temp int) -0:54 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c2: direct index for structure ( uniform 2-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 1 (const uint) 0:54 Constant: 0:54 1 (const int) -0:54 o1: direct index for structure (layout(offset=48 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 o1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 4 (const uint) -0:57 textureFetchOffset (temp 4-component vector of float) -0:57 'g_tTex2df4' (uniform texture2D) -0:57 vector swizzle (temp 2-component vector of int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetchOffset ( temp 4-component vector of float) +0:57 'g_tTex2df4' ( uniform texture2D) +0:57 vector swizzle ( temp 2-component vector of int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Sequence @@ -356,22 +362,22 @@ gl_FragCoord origin is upper left 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 direct index (temp int) -0:57 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c3: direct index for structure ( uniform 3-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 2 (const uint) 0:57 Constant: 0:57 2 (const int) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) -0:58 textureFetchOffset (temp 4-component vector of int) -0:58 'g_tTex2di4' (uniform itexture2D) -0:58 vector swizzle (temp 2-component vector of int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetchOffset ( temp 4-component vector of int) +0:58 'g_tTex2di4' ( uniform itexture2D) +0:58 vector swizzle ( temp 2-component vector of int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Sequence @@ -379,22 +385,22 @@ gl_FragCoord origin is upper left 0:58 0 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 direct index (temp int) -0:58 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c3: direct index for structure ( uniform 3-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 2 (const uint) 0:58 Constant: 0:58 2 (const int) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) -0:59 textureFetchOffset (temp 4-component vector of uint) -0:59 'g_tTex2du4' (uniform utexture2D) -0:59 vector swizzle (temp 2-component vector of int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetchOffset ( temp 4-component vector of uint) +0:59 'g_tTex2du4' ( uniform utexture2D) +0:59 vector swizzle ( temp 2-component vector of int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Sequence @@ -402,22 +408,22 @@ gl_FragCoord origin is upper left 0:59 0 (const int) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp int) -0:59 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c3: direct index for structure ( uniform 3-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 2 (const uint) 0:59 Constant: 0:59 2 (const int) -0:59 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 o2: direct index for structure ( uniform 2-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 5 (const uint) -0:62 textureFetchOffset (temp 4-component vector of float) -0:62 'g_tTex3df4' (uniform texture3D) -0:62 vector swizzle (temp 3-component vector of int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 textureFetchOffset ( temp 4-component vector of float) +0:62 'g_tTex3df4' ( uniform texture3D) +0:62 vector swizzle ( temp 3-component vector of int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Sequence @@ -427,22 +433,22 @@ gl_FragCoord origin is upper left 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 direct index (temp int) -0:62 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 direct index ( temp int) +0:62 c4: direct index for structure ( uniform 4-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 3 (const uint) 0:62 Constant: 0:62 3 (const int) -0:62 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 o3: direct index for structure ( uniform 3-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 6 (const uint) -0:63 textureFetchOffset (temp 4-component vector of int) -0:63 'g_tTex3di4' (uniform itexture3D) -0:63 vector swizzle (temp 3-component vector of int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 textureFetchOffset ( temp 4-component vector of int) +0:63 'g_tTex3di4' ( uniform itexture3D) +0:63 vector swizzle ( temp 3-component vector of int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Sequence @@ -452,22 +458,22 @@ gl_FragCoord origin is upper left 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 direct index (temp int) -0:63 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 direct index ( temp int) +0:63 c4: direct index for structure ( uniform 4-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 3 (const uint) 0:63 Constant: 0:63 3 (const int) -0:63 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 o3: direct index for structure ( uniform 3-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 6 (const uint) -0:64 textureFetchOffset (temp 4-component vector of uint) -0:64 'g_tTex3du4' (uniform utexture3D) -0:64 vector swizzle (temp 3-component vector of int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 textureFetchOffset ( temp 4-component vector of uint) +0:64 'g_tTex3du4' ( uniform utexture3D) +0:64 vector swizzle ( temp 3-component vector of int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Sequence @@ -477,20 +483,20 @@ gl_FragCoord origin is upper left 0:64 1 (const int) 0:64 Constant: 0:64 2 (const int) -0:64 direct index (temp int) -0:64 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 direct index ( temp int) +0:64 c4: direct index for structure ( uniform 4-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 3 (const uint) 0:64 Constant: 0:64 3 (const int) -0:64 o3: direct index for structure (layout(offset=64 ) uniform 3-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:64 o3: direct index for structure ( uniform 3-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:64 Constant: 0:64 6 (const uint) -0:72 move second child to first child (temp 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 Color: direct index for structure ( temp 4-component vector of float) +0:72 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:72 Constant: 0:72 0 (const int) 0:72 Constant: @@ -498,58 +504,64 @@ gl_FragCoord origin is upper left 0:72 1.000000 0:72 1.000000 0:72 1.000000 -0:73 move second child to first child (temp float) -0:73 Depth: direct index for structure (temp float) -0:73 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:73 move second child to first child ( temp float) +0:73 Depth: direct index for structure ( temp float) +0:73 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:73 Constant: 0:73 1 (const int) 0:73 Constant: 0:73 1.000000 -0:75 Sequence -0:75 Sequence -0:75 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:75 Color: direct index for structure (temp 4-component vector of float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 0 (const int) -0:75 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:75 Depth: direct index for structure (temp float) -0:75 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:75 Constant: -0:75 1 (const int) -0:75 Branch: Return +0:75 Branch: Return with expression +0:75 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 194 +// Id's are bound by 201 Capability Shader Capability ImageGatherExtended @@ -557,277 +569,288 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 147 151 + EntryPoint Fragment 4 "main" 155 159 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 34 "g_tTex1di4" - Name 45 "g_tTex1du4" - Name 57 "g_tTex2df4" - Name 74 "g_tTex2di4" - Name 86 "g_tTex2du4" - Name 98 "g_tTex3df4" - Name 114 "g_tTex3di4" - Name 126 "g_tTex3du4" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - MemberName 136(PS_OUTPUT) 1 "Depth" - Name 138 "psout" - Name 147 "Color" - Name 151 "Depth" - Name 157 "g_sSamp" - Name 160 "g_tTexcdf4" - Name 163 "g_tTexcdi4" - Name 166 "g_tTexcdu4" - Name 169 "g_tTex1df4a" - Name 172 "g_tTex1di4a" - Name 175 "g_tTex1du4a" - Name 178 "g_tTex2df4a" - Name 181 "g_tTex2di4a" - Name 184 "g_tTex2du4a" - Name 187 "g_tTexcdf4a" - Name 190 "g_tTexcdi4a" - Name 193 "g_tTexcdu4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 74(g_tTex2di4) DescriptorSet 0 - Decorate 86(g_tTex2du4) DescriptorSet 0 - Decorate 98(g_tTex3df4) DescriptorSet 0 - Decorate 114(g_tTex3di4) DescriptorSet 0 - Decorate 126(g_tTex3du4) DescriptorSet 0 - Decorate 147(Color) Location 0 - Decorate 151(Depth) BuiltIn FragDepth - Decorate 157(g_sSamp) DescriptorSet 0 - Decorate 157(g_sSamp) Binding 0 - Decorate 160(g_tTexcdf4) DescriptorSet 0 - Decorate 163(g_tTexcdi4) DescriptorSet 0 - Decorate 166(g_tTexcdu4) DescriptorSet 0 - Decorate 169(g_tTex1df4a) DescriptorSet 0 - Decorate 172(g_tTex1di4a) DescriptorSet 0 - Decorate 175(g_tTex1du4a) DescriptorSet 0 - Decorate 178(g_tTex2df4a) DescriptorSet 0 - Decorate 181(g_tTex2di4a) DescriptorSet 0 - Decorate 184(g_tTex2du4a) DescriptorSet 0 - Decorate 187(g_tTexcdf4a) DescriptorSet 0 - Decorate 190(g_tTexcdi4a) DescriptorSet 0 - Decorate 193(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 38 "g_tTex1di4" + Name 49 "g_tTex1du4" + Name 61 "g_tTex2df4" + Name 78 "g_tTex2di4" + Name 90 "g_tTex2du4" + Name 102 "g_tTex3df4" + Name 118 "g_tTex3di4" + Name 130 "g_tTex3du4" + Name 141 "psout" + Name 152 "flattenTemp" + Name 155 "Color" + Name 159 "Depth" + Name 164 "g_sSamp" + Name 167 "g_tTexcdf4" + Name 170 "g_tTexcdi4" + Name 173 "g_tTexcdu4" + Name 176 "g_tTex1df4a" + Name 179 "g_tTex1di4a" + Name 182 "g_tTex1du4a" + Name 185 "g_tTex2df4a" + Name 188 "g_tTex2di4a" + Name 191 "g_tTex2du4a" + Name 194 "g_tTexcdf4a" + Name 197 "g_tTexcdi4a" + Name 200 "g_tTexcdu4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 102(g_tTex3df4) DescriptorSet 0 + Decorate 118(g_tTex3di4) DescriptorSet 0 + Decorate 130(g_tTex3du4) DescriptorSet 0 + Decorate 155(Color) Location 0 + Decorate 159(Depth) BuiltIn FragDepth + Decorate 164(g_sSamp) DescriptorSet 0 + Decorate 164(g_sSamp) Binding 0 + Decorate 167(g_tTexcdf4) DescriptorSet 0 + Decorate 170(g_tTexcdi4) DescriptorSet 0 + Decorate 173(g_tTexcdu4) DescriptorSet 0 + Decorate 176(g_tTex1df4a) DescriptorSet 0 + Decorate 179(g_tTex1di4a) DescriptorSet 0 + Decorate 182(g_tTex1du4a) DescriptorSet 0 + Decorate 185(g_tTex2df4a) DescriptorSet 0 + Decorate 188(g_tTex2di4a) DescriptorSet 0 + Decorate 191(g_tTex2du4a) DescriptorSet 0 + Decorate 194(g_tTexcdf4a) DescriptorSet 0 + Decorate 197(g_tTexcdi4a) DescriptorSet 0 + Decorate 200(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypeInt 32 0 - 20: 19(int) Constant 0 - 21: TypePointer Uniform 11(int) - 24: 19(int) Constant 1 - 27: 11(int) Constant 4 - 30: TypeVector 6(float) 4 - 32: TypeImage 11(int) 1D sampled format:Unknown - 33: TypePointer UniformConstant 32 - 34(g_tTex1di4): 33(ptr) Variable UniformConstant - 43: TypeImage 19(int) 1D sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 53: TypeVector 19(int) 4 - 55: TypeImage 6(float) 2D sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 59: 11(int) Constant 2 - 60: TypePointer Uniform 13(ivec3) - 64: 19(int) Constant 2 - 67: 11(int) Constant 5 - 68: TypePointer Uniform 12(ivec2) - 72: TypeImage 11(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2di4): 73(ptr) Variable UniformConstant - 84: TypeImage 19(int) 2D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2du4): 85(ptr) Variable UniformConstant - 96: TypeImage 6(float) 3D sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex3df4): 97(ptr) Variable UniformConstant - 100: 11(int) Constant 3 - 101: TypePointer Uniform 14(ivec4) - 105: 19(int) Constant 3 - 108: 11(int) Constant 6 - 112: TypeImage 11(int) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3di4): 113(ptr) Variable UniformConstant - 124: TypeImage 19(int) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3du4): 125(ptr) Variable UniformConstant - 136(PS_OUTPUT): TypeStruct 30(fvec4) 6(float) - 137: TypePointer Function 136(PS_OUTPUT) - 139: 11(int) Constant 0 - 140: 6(float) Constant 1065353216 - 141: 30(fvec4) ConstantComposite 140 140 140 140 - 142: TypePointer Function 30(fvec4) - 144: TypePointer Function 6(float) - 146: TypePointer Output 30(fvec4) - 147(Color): 146(ptr) Variable Output - 150: TypePointer Output 6(float) - 151(Depth): 150(ptr) Variable Output - 155: TypeSampler - 156: TypePointer UniformConstant 155 - 157(g_sSamp): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube sampled format:Unknown - 159: TypePointer UniformConstant 158 - 160(g_tTexcdf4): 159(ptr) Variable UniformConstant - 161: TypeImage 11(int) Cube sampled format:Unknown - 162: TypePointer UniformConstant 161 - 163(g_tTexcdi4): 162(ptr) Variable UniformConstant - 164: TypeImage 19(int) Cube sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTexcdu4): 165(ptr) Variable UniformConstant - 167: TypeImage 6(float) 1D array sampled format:Unknown - 168: TypePointer UniformConstant 167 -169(g_tTex1df4a): 168(ptr) Variable UniformConstant - 170: TypeImage 11(int) 1D array sampled format:Unknown - 171: TypePointer UniformConstant 170 -172(g_tTex1di4a): 171(ptr) Variable UniformConstant - 173: TypeImage 19(int) 1D array sampled format:Unknown - 174: TypePointer UniformConstant 173 -175(g_tTex1du4a): 174(ptr) Variable UniformConstant - 176: TypeImage 6(float) 2D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex2df4a): 177(ptr) Variable UniformConstant - 179: TypeImage 11(int) 2D array sampled format:Unknown - 180: TypePointer UniformConstant 179 -181(g_tTex2di4a): 180(ptr) Variable UniformConstant - 182: TypeImage 19(int) 2D array sampled format:Unknown - 183: TypePointer UniformConstant 182 -184(g_tTex2du4a): 183(ptr) Variable UniformConstant - 185: TypeImage 6(float) Cube array sampled format:Unknown - 186: TypePointer UniformConstant 185 -187(g_tTexcdf4a): 186(ptr) Variable UniformConstant - 188: TypeImage 11(int) Cube array sampled format:Unknown - 189: TypePointer UniformConstant 188 -190(g_tTexcdi4a): 189(ptr) Variable UniformConstant - 191: TypeImage 19(int) Cube array sampled format:Unknown - 192: TypePointer UniformConstant 191 -193(g_tTexcdu4a): 192(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypeInt 32 0 + 25: 24(int) Constant 0 + 26: TypePointer Uniform 16(int) + 29: 24(int) Constant 1 + 32: 16(int) Constant 4 + 36: TypeImage 16(int) 1D sampled format:Unknown + 37: TypePointer UniformConstant 36 + 38(g_tTex1di4): 37(ptr) Variable UniformConstant + 47: TypeImage 24(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 57: TypeVector 24(int) 4 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 63: 16(int) Constant 2 + 64: TypePointer Uniform 18(ivec3) + 68: 24(int) Constant 2 + 71: 16(int) Constant 5 + 72: TypePointer Uniform 17(ivec2) + 76: TypeImage 16(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2di4): 77(ptr) Variable UniformConstant + 88: TypeImage 24(int) 2D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2du4): 89(ptr) Variable UniformConstant + 100: TypeImage 6(float) 3D sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTex3df4): 101(ptr) Variable UniformConstant + 104: 16(int) Constant 3 + 105: TypePointer Uniform 19(ivec4) + 109: 24(int) Constant 3 + 112: 16(int) Constant 6 + 116: TypeImage 16(int) 3D sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTex3di4): 117(ptr) Variable UniformConstant + 128: TypeImage 24(int) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3du4): 129(ptr) Variable UniformConstant + 140: TypePointer Function 8(PS_OUTPUT) + 142: 16(int) Constant 0 + 143: 6(float) Constant 1065353216 + 144: 7(fvec4) ConstantComposite 143 143 143 143 + 145: TypePointer Function 7(fvec4) + 147: TypePointer Function 6(float) + 154: TypePointer Output 7(fvec4) + 155(Color): 154(ptr) Variable Output + 158: TypePointer Output 6(float) + 159(Depth): 158(ptr) Variable Output + 162: TypeSampler + 163: TypePointer UniformConstant 162 + 164(g_sSamp): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTexcdf4): 166(ptr) Variable UniformConstant + 168: TypeImage 16(int) Cube sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTexcdi4): 169(ptr) Variable UniformConstant + 171: TypeImage 24(int) Cube sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTexcdu4): 172(ptr) Variable UniformConstant + 174: TypeImage 6(float) 1D array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTex1df4a): 175(ptr) Variable UniformConstant + 177: TypeImage 16(int) 1D array sampled format:Unknown + 178: TypePointer UniformConstant 177 +179(g_tTex1di4a): 178(ptr) Variable UniformConstant + 180: TypeImage 24(int) 1D array sampled format:Unknown + 181: TypePointer UniformConstant 180 +182(g_tTex1du4a): 181(ptr) Variable UniformConstant + 183: TypeImage 6(float) 2D array sampled format:Unknown + 184: TypePointer UniformConstant 183 +185(g_tTex2df4a): 184(ptr) Variable UniformConstant + 186: TypeImage 16(int) 2D array sampled format:Unknown + 187: TypePointer UniformConstant 186 +188(g_tTex2di4a): 187(ptr) Variable UniformConstant + 189: TypeImage 24(int) 2D array sampled format:Unknown + 190: TypePointer UniformConstant 189 +191(g_tTex2du4a): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) Cube array sampled format:Unknown + 193: TypePointer UniformConstant 192 +194(g_tTexcdf4a): 193(ptr) Variable UniformConstant + 195: TypeImage 16(int) Cube array sampled format:Unknown + 196: TypePointer UniformConstant 195 +197(g_tTexcdi4a): 196(ptr) Variable UniformConstant + 198: TypeImage 24(int) Cube array sampled format:Unknown + 199: TypePointer UniformConstant 198 +200(g_tTexcdu4a): 199(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 22: 21(ptr) AccessChain 17 18 20 - 23: 11(int) Load 22 - 25: 21(ptr) AccessChain 17 18 24 - 26: 11(int) Load 25 - 28: 21(ptr) AccessChain 17 27 - 29: 11(int) Load 28 - 31: 30(fvec4) ImageFetch 10 23 Lod Offset 26 29 - 35: 32 Load 34(g_tTex1di4) - 36: 21(ptr) AccessChain 17 18 20 - 37: 11(int) Load 36 - 38: 21(ptr) AccessChain 17 18 24 - 39: 11(int) Load 38 - 40: 21(ptr) AccessChain 17 27 - 41: 11(int) Load 40 - 42: 14(ivec4) ImageFetch 35 37 Lod Offset 39 41 - 46: 43 Load 45(g_tTex1du4) - 47: 21(ptr) AccessChain 17 18 20 - 48: 11(int) Load 47 - 49: 21(ptr) AccessChain 17 18 24 - 50: 11(int) Load 49 - 51: 21(ptr) AccessChain 17 27 - 52: 11(int) Load 51 - 54: 53(ivec4) ImageFetch 46 48 Lod Offset 50 52 - 58: 55 Load 57(g_tTex2df4) - 61: 60(ptr) AccessChain 17 59 - 62: 13(ivec3) Load 61 - 63: 12(ivec2) VectorShuffle 62 62 0 1 - 65: 21(ptr) AccessChain 17 59 64 - 66: 11(int) Load 65 - 69: 68(ptr) AccessChain 17 67 - 70: 12(ivec2) Load 69 - 71: 30(fvec4) ImageFetch 58 63 Lod Offset 66 70 - 75: 72 Load 74(g_tTex2di4) - 76: 60(ptr) AccessChain 17 59 - 77: 13(ivec3) Load 76 - 78: 12(ivec2) VectorShuffle 77 77 0 1 - 79: 21(ptr) AccessChain 17 59 64 - 80: 11(int) Load 79 - 81: 68(ptr) AccessChain 17 67 - 82: 12(ivec2) Load 81 - 83: 14(ivec4) ImageFetch 75 78 Lod Offset 80 82 - 87: 84 Load 86(g_tTex2du4) - 88: 60(ptr) AccessChain 17 59 - 89: 13(ivec3) Load 88 - 90: 12(ivec2) VectorShuffle 89 89 0 1 - 91: 21(ptr) AccessChain 17 59 64 - 92: 11(int) Load 91 - 93: 68(ptr) AccessChain 17 67 - 94: 12(ivec2) Load 93 - 95: 53(ivec4) ImageFetch 87 90 Lod Offset 92 94 - 99: 96 Load 98(g_tTex3df4) - 102: 101(ptr) AccessChain 17 100 - 103: 14(ivec4) Load 102 - 104: 13(ivec3) VectorShuffle 103 103 0 1 2 - 106: 21(ptr) AccessChain 17 100 105 - 107: 11(int) Load 106 - 109: 60(ptr) AccessChain 17 108 - 110: 13(ivec3) Load 109 - 111: 30(fvec4) ImageFetch 99 104 Lod Offset 107 110 - 115: 112 Load 114(g_tTex3di4) - 116: 101(ptr) AccessChain 17 100 - 117: 14(ivec4) Load 116 - 118: 13(ivec3) VectorShuffle 117 117 0 1 2 - 119: 21(ptr) AccessChain 17 100 105 - 120: 11(int) Load 119 - 121: 60(ptr) AccessChain 17 108 - 122: 13(ivec3) Load 121 - 123: 14(ivec4) ImageFetch 115 118 Lod Offset 120 122 - 127: 124 Load 126(g_tTex3du4) - 128: 101(ptr) AccessChain 17 100 - 129: 14(ivec4) Load 128 - 130: 13(ivec3) VectorShuffle 129 129 0 1 2 - 131: 21(ptr) AccessChain 17 100 105 - 132: 11(int) Load 131 - 133: 60(ptr) AccessChain 17 108 - 134: 13(ivec3) Load 133 - 135: 53(ivec4) ImageFetch 127 130 Lod Offset 132 134 - 143: 142(ptr) AccessChain 138(psout) 139 - Store 143 141 - 145: 144(ptr) AccessChain 138(psout) 18 - Store 145 140 - 148: 142(ptr) AccessChain 138(psout) 139 - 149: 30(fvec4) Load 148 - Store 147(Color) 149 - 152: 144(ptr) AccessChain 138(psout) 18 - 153: 6(float) Load 152 - Store 151(Depth) 153 +152(flattenTemp): 140(ptr) Variable Function + 153:8(PS_OUTPUT) FunctionCall 10(@main() + Store 152(flattenTemp) 153 + 156: 145(ptr) AccessChain 152(flattenTemp) 142 + 157: 7(fvec4) Load 156 + Store 155(Color) 157 + 160: 147(ptr) AccessChain 152(flattenTemp) 23 + 161: 6(float) Load 160 + Store 159(Depth) 161 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 141(psout): 140(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 27: 26(ptr) AccessChain 22 23 25 + 28: 16(int) Load 27 + 30: 26(ptr) AccessChain 22 23 29 + 31: 16(int) Load 30 + 33: 26(ptr) AccessChain 22 32 + 34: 16(int) Load 33 + 35: 7(fvec4) ImageFetch 15 28 Lod Offset 31 34 + 39: 36 Load 38(g_tTex1di4) + 40: 26(ptr) AccessChain 22 23 25 + 41: 16(int) Load 40 + 42: 26(ptr) AccessChain 22 23 29 + 43: 16(int) Load 42 + 44: 26(ptr) AccessChain 22 32 + 45: 16(int) Load 44 + 46: 19(ivec4) ImageFetch 39 41 Lod Offset 43 45 + 50: 47 Load 49(g_tTex1du4) + 51: 26(ptr) AccessChain 22 23 25 + 52: 16(int) Load 51 + 53: 26(ptr) AccessChain 22 23 29 + 54: 16(int) Load 53 + 55: 26(ptr) AccessChain 22 32 + 56: 16(int) Load 55 + 58: 57(ivec4) ImageFetch 50 52 Lod Offset 54 56 + 62: 59 Load 61(g_tTex2df4) + 65: 64(ptr) AccessChain 22 63 + 66: 18(ivec3) Load 65 + 67: 17(ivec2) VectorShuffle 66 66 0 1 + 69: 26(ptr) AccessChain 22 63 68 + 70: 16(int) Load 69 + 73: 72(ptr) AccessChain 22 71 + 74: 17(ivec2) Load 73 + 75: 7(fvec4) ImageFetch 62 67 Lod Offset 70 74 + 79: 76 Load 78(g_tTex2di4) + 80: 64(ptr) AccessChain 22 63 + 81: 18(ivec3) Load 80 + 82: 17(ivec2) VectorShuffle 81 81 0 1 + 83: 26(ptr) AccessChain 22 63 68 + 84: 16(int) Load 83 + 85: 72(ptr) AccessChain 22 71 + 86: 17(ivec2) Load 85 + 87: 19(ivec4) ImageFetch 79 82 Lod Offset 84 86 + 91: 88 Load 90(g_tTex2du4) + 92: 64(ptr) AccessChain 22 63 + 93: 18(ivec3) Load 92 + 94: 17(ivec2) VectorShuffle 93 93 0 1 + 95: 26(ptr) AccessChain 22 63 68 + 96: 16(int) Load 95 + 97: 72(ptr) AccessChain 22 71 + 98: 17(ivec2) Load 97 + 99: 57(ivec4) ImageFetch 91 94 Lod Offset 96 98 + 103: 100 Load 102(g_tTex3df4) + 106: 105(ptr) AccessChain 22 104 + 107: 19(ivec4) Load 106 + 108: 18(ivec3) VectorShuffle 107 107 0 1 2 + 110: 26(ptr) AccessChain 22 104 109 + 111: 16(int) Load 110 + 113: 64(ptr) AccessChain 22 112 + 114: 18(ivec3) Load 113 + 115: 7(fvec4) ImageFetch 103 108 Lod Offset 111 114 + 119: 116 Load 118(g_tTex3di4) + 120: 105(ptr) AccessChain 22 104 + 121: 19(ivec4) Load 120 + 122: 18(ivec3) VectorShuffle 121 121 0 1 2 + 123: 26(ptr) AccessChain 22 104 109 + 124: 16(int) Load 123 + 125: 64(ptr) AccessChain 22 112 + 126: 18(ivec3) Load 125 + 127: 19(ivec4) ImageFetch 119 122 Lod Offset 124 126 + 131: 128 Load 130(g_tTex3du4) + 132: 105(ptr) AccessChain 22 104 + 133: 19(ivec4) Load 132 + 134: 18(ivec3) VectorShuffle 133 133 0 1 2 + 135: 26(ptr) AccessChain 22 104 109 + 136: 16(int) Load 135 + 137: 64(ptr) AccessChain 22 112 + 138: 18(ivec3) Load 137 + 139: 57(ivec4) ImageFetch 131 134 Lod Offset 136 138 + 146: 145(ptr) AccessChain 141(psout) 142 + Store 146 144 + 148: 147(ptr) AccessChain 141(psout) 23 + Store 148 143 + 149:8(PS_OUTPUT) Load 141(psout) + ReturnValue 149 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index fb58eff35ad..f20b6075d99 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -2,14 +2,14 @@ hlsl.load.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetchOffset (temp 4-component vector of float) -0:52 'g_tTex1df4a' (uniform texture1DArray) -0:52 vector swizzle (temp 2-component vector of int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetchOffset ( temp 4-component vector of float) +0:52 'g_tTex1df4a' ( uniform texture1DArray) +0:52 vector swizzle ( temp 2-component vector of int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Sequence @@ -17,22 +17,22 @@ gl_FragCoord origin is upper left 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 direct index (temp int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Constant: 0:52 2 (const int) -0:52 o1: direct index for structure (layout(offset=48 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 4 (const uint) -0:53 textureFetchOffset (temp 4-component vector of int) -0:53 'g_tTex1di4a' (uniform itexture1DArray) -0:53 vector swizzle (temp 2-component vector of int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetchOffset ( temp 4-component vector of int) +0:53 'g_tTex1di4a' ( uniform itexture1DArray) +0:53 vector swizzle ( temp 2-component vector of int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Sequence @@ -40,22 +40,22 @@ gl_FragCoord origin is upper left 0:53 0 (const int) 0:53 Constant: 0:53 1 (const int) -0:53 direct index (temp int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Constant: 0:53 2 (const int) -0:53 o1: direct index for structure (layout(offset=48 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 o1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 4 (const uint) -0:54 textureFetchOffset (temp 4-component vector of uint) -0:54 'g_tTex1du4a' (uniform utexture1DArray) -0:54 vector swizzle (temp 2-component vector of int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetchOffset ( temp 4-component vector of uint) +0:54 'g_tTex1du4a' ( uniform utexture1DArray) +0:54 vector swizzle ( temp 2-component vector of int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Sequence @@ -63,22 +63,22 @@ gl_FragCoord origin is upper left 0:54 0 (const int) 0:54 Constant: 0:54 1 (const int) -0:54 direct index (temp int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Constant: 0:54 2 (const int) -0:54 o1: direct index for structure (layout(offset=48 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 o1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 4 (const uint) -0:57 textureFetchOffset (temp 4-component vector of float) -0:57 'g_tTex2df4a' (uniform texture2DArray) -0:57 vector swizzle (temp 3-component vector of int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetchOffset ( temp 4-component vector of float) +0:57 'g_tTex2df4a' ( uniform texture2DArray) +0:57 vector swizzle ( temp 3-component vector of int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Sequence @@ -88,22 +88,22 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 direct index (temp int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 3 (const int) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) -0:58 textureFetchOffset (temp 4-component vector of int) -0:58 'g_tTex2di4a' (uniform itexture2DArray) -0:58 vector swizzle (temp 3-component vector of int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetchOffset ( temp 4-component vector of int) +0:58 'g_tTex2di4a' ( uniform itexture2DArray) +0:58 vector swizzle ( temp 3-component vector of int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Sequence @@ -113,22 +113,22 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 direct index (temp int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Constant: 0:58 3 (const int) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) -0:59 textureFetchOffset (temp 4-component vector of uint) -0:59 'g_tTex2du4a' (uniform utexture2DArray) -0:59 vector swizzle (temp 3-component vector of int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetchOffset ( temp 4-component vector of uint) +0:59 'g_tTex2du4a' ( uniform utexture2DArray) +0:59 vector swizzle ( temp 3-component vector of int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Sequence @@ -138,20 +138,20 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 2 (const int) -0:59 direct index (temp int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 3 (const int) -0:59 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 o2: direct index for structure ( uniform 2-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 5 (const uint) -0:65 move second child to first child (temp 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:65 move second child to first child ( temp 4-component vector of float) +0:65 Color: direct index for structure ( temp 4-component vector of float) +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:65 Constant: 0:65 0 (const int) 0:65 Constant: @@ -159,54 +159,60 @@ gl_FragCoord origin is upper left 0:65 1.000000 0:65 1.000000 0:65 1.000000 -0:66 move second child to first child (temp float) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:66 move second child to first child ( temp float) +0:66 Depth: direct index for structure ( temp float) +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:66 Constant: 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 Sequence -0:68 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:68 Color: direct index for structure (temp 4-component vector of float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 0 (const int) -0:68 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 1 (const int) -0:68 Branch: Return +0:68 Branch: Return with expression +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -215,14 +221,14 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:48 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Function Parameters: 0:? Sequence -0:52 textureFetchOffset (temp 4-component vector of float) -0:52 'g_tTex1df4a' (uniform texture1DArray) -0:52 vector swizzle (temp 2-component vector of int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 textureFetchOffset ( temp 4-component vector of float) +0:52 'g_tTex1df4a' ( uniform texture1DArray) +0:52 vector swizzle ( temp 2-component vector of int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Sequence @@ -230,22 +236,22 @@ gl_FragCoord origin is upper left 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 direct index (temp int) -0:52 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 direct index ( temp int) +0:52 c3: direct index for structure ( uniform 3-component vector of int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 2 (const uint) 0:52 Constant: 0:52 2 (const int) -0:52 o1: direct index for structure (layout(offset=48 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 o1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 4 (const uint) -0:53 textureFetchOffset (temp 4-component vector of int) -0:53 'g_tTex1di4a' (uniform itexture1DArray) -0:53 vector swizzle (temp 2-component vector of int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 textureFetchOffset ( temp 4-component vector of int) +0:53 'g_tTex1di4a' ( uniform itexture1DArray) +0:53 vector swizzle ( temp 2-component vector of int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Sequence @@ -253,22 +259,22 @@ gl_FragCoord origin is upper left 0:53 0 (const int) 0:53 Constant: 0:53 1 (const int) -0:53 direct index (temp int) -0:53 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 direct index ( temp int) +0:53 c3: direct index for structure ( uniform 3-component vector of int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 2 (const uint) 0:53 Constant: 0:53 2 (const int) -0:53 o1: direct index for structure (layout(offset=48 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 o1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 4 (const uint) -0:54 textureFetchOffset (temp 4-component vector of uint) -0:54 'g_tTex1du4a' (uniform utexture1DArray) -0:54 vector swizzle (temp 2-component vector of int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 textureFetchOffset ( temp 4-component vector of uint) +0:54 'g_tTex1du4a' ( uniform utexture1DArray) +0:54 vector swizzle ( temp 2-component vector of int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Sequence @@ -276,22 +282,22 @@ gl_FragCoord origin is upper left 0:54 0 (const int) 0:54 Constant: 0:54 1 (const int) -0:54 direct index (temp int) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 direct index ( temp int) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) 0:54 Constant: 0:54 2 (const int) -0:54 o1: direct index for structure (layout(offset=48 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 o1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 4 (const uint) -0:57 textureFetchOffset (temp 4-component vector of float) -0:57 'g_tTex2df4a' (uniform texture2DArray) -0:57 vector swizzle (temp 3-component vector of int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 textureFetchOffset ( temp 4-component vector of float) +0:57 'g_tTex2df4a' ( uniform texture2DArray) +0:57 vector swizzle ( temp 3-component vector of int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Sequence @@ -301,22 +307,22 @@ gl_FragCoord origin is upper left 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 direct index (temp int) -0:57 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 direct index ( temp int) +0:57 c4: direct index for structure ( uniform 4-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 3 (const uint) 0:57 Constant: 0:57 3 (const int) -0:57 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 o2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 5 (const uint) -0:58 textureFetchOffset (temp 4-component vector of int) -0:58 'g_tTex2di4a' (uniform itexture2DArray) -0:58 vector swizzle (temp 3-component vector of int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 textureFetchOffset ( temp 4-component vector of int) +0:58 'g_tTex2di4a' ( uniform itexture2DArray) +0:58 vector swizzle ( temp 3-component vector of int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Sequence @@ -326,22 +332,22 @@ gl_FragCoord origin is upper left 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 direct index (temp int) -0:58 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 direct index ( temp int) +0:58 c4: direct index for structure ( uniform 4-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 3 (const uint) 0:58 Constant: 0:58 3 (const int) -0:58 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 o2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 5 (const uint) -0:59 textureFetchOffset (temp 4-component vector of uint) -0:59 'g_tTex2du4a' (uniform utexture2DArray) -0:59 vector swizzle (temp 3-component vector of int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 textureFetchOffset ( temp 4-component vector of uint) +0:59 'g_tTex2du4a' ( uniform utexture2DArray) +0:59 vector swizzle ( temp 3-component vector of int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Sequence @@ -351,20 +357,20 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Constant: 0:59 2 (const int) -0:59 direct index (temp int) -0:59 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 direct index ( temp int) +0:59 c4: direct index for structure ( uniform 4-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 3 (const uint) 0:59 Constant: 0:59 3 (const int) -0:59 o2: direct index for structure (layout(offset=56 ) uniform 2-component vector of int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:59 o2: direct index for structure ( uniform 2-component vector of int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:59 Constant: 0:59 5 (const uint) -0:65 move second child to first child (temp 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:65 move second child to first child ( temp 4-component vector of float) +0:65 Color: direct index for structure ( temp 4-component vector of float) +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:65 Constant: 0:65 0 (const int) 0:65 Constant: @@ -372,58 +378,64 @@ gl_FragCoord origin is upper left 0:65 1.000000 0:65 1.000000 0:65 1.000000 -0:66 move second child to first child (temp float) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:66 move second child to first child ( temp float) +0:66 Depth: direct index for structure ( temp float) +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:66 Constant: 0:66 1 (const int) 0:66 Constant: 0:66 1.000000 -0:68 Sequence -0:68 Sequence -0:68 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:68 Color: direct index for structure (temp 4-component vector of float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 0 (const int) -0:68 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:68 Depth: direct index for structure (temp float) -0:68 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:68 Constant: -0:68 1 (const int) -0:68 Branch: Return +0:68 Branch: Return with expression +0:68 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Definition: main( ( temp void) +0:48 Function Parameters: +0:? Sequence +0:48 Sequence +0:48 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 0 (const int) +0:48 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:48 Depth: direct index for structure ( temp float) +0:48 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:48 Constant: +0:48 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 167 +// Id's are bound by 174 Capability Shader Capability ImageGatherExtended @@ -431,250 +443,261 @@ gl_FragCoord origin is upper left Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 111 115 + EntryPoint Fragment 4 "main" 119 123 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 35 "g_tTex1di4a" - Name 47 "g_tTex1du4a" - Name 60 "g_tTex2df4a" - Name 77 "g_tTex2di4a" - Name 89 "g_tTex2du4a" - Name 99 "PS_OUTPUT" - MemberName 99(PS_OUTPUT) 0 "Color" - MemberName 99(PS_OUTPUT) 1 "Depth" - Name 101 "psout" - Name 111 "Color" - Name 115 "Depth" - Name 121 "g_sSamp" - Name 124 "g_tTex1df4" - Name 127 "g_tTex1di4" - Name 130 "g_tTex1du4" - Name 133 "g_tTex2df4" - Name 136 "g_tTex2di4" - Name 139 "g_tTex2du4" - Name 142 "g_tTex3df4" - Name 145 "g_tTex3di4" - Name 148 "g_tTex3du4" - Name 151 "g_tTexcdf4" - Name 154 "g_tTexcdi4" - Name 157 "g_tTexcdu4" - Name 160 "g_tTexcdf4a" - Name 163 "g_tTexcdi4a" - Name 166 "g_tTexcdu4a" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 35(g_tTex1di4a) DescriptorSet 0 - Decorate 47(g_tTex1du4a) DescriptorSet 0 - Decorate 60(g_tTex2df4a) DescriptorSet 0 - Decorate 77(g_tTex2di4a) DescriptorSet 0 - Decorate 89(g_tTex2du4a) DescriptorSet 0 - Decorate 111(Color) Location 0 - Decorate 115(Depth) BuiltIn FragDepth - Decorate 121(g_sSamp) DescriptorSet 0 - Decorate 121(g_sSamp) Binding 0 - Decorate 124(g_tTex1df4) DescriptorSet 0 - Decorate 124(g_tTex1df4) Binding 0 - Decorate 127(g_tTex1di4) DescriptorSet 0 - Decorate 130(g_tTex1du4) DescriptorSet 0 - Decorate 133(g_tTex2df4) DescriptorSet 0 - Decorate 136(g_tTex2di4) DescriptorSet 0 - Decorate 139(g_tTex2du4) DescriptorSet 0 - Decorate 142(g_tTex3df4) DescriptorSet 0 - Decorate 145(g_tTex3di4) DescriptorSet 0 - Decorate 148(g_tTex3du4) DescriptorSet 0 - Decorate 151(g_tTexcdf4) DescriptorSet 0 - Decorate 154(g_tTexcdi4) DescriptorSet 0 - Decorate 157(g_tTexcdu4) DescriptorSet 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 39 "g_tTex1di4a" + Name 51 "g_tTex1du4a" + Name 64 "g_tTex2df4a" + Name 81 "g_tTex2di4a" + Name 93 "g_tTex2du4a" + Name 104 "psout" + Name 116 "flattenTemp" + Name 119 "Color" + Name 123 "Depth" + Name 128 "g_sSamp" + Name 131 "g_tTex1df4" + Name 134 "g_tTex1di4" + Name 137 "g_tTex1du4" + Name 140 "g_tTex2df4" + Name 143 "g_tTex2di4" + Name 146 "g_tTex2du4" + Name 149 "g_tTex3df4" + Name 152 "g_tTex3di4" + Name 155 "g_tTex3du4" + Name 158 "g_tTexcdf4" + Name 161 "g_tTexcdi4" + Name 164 "g_tTexcdu4" + Name 167 "g_tTexcdf4a" + Name 170 "g_tTexcdi4a" + Name 173 "g_tTexcdu4a" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 39(g_tTex1di4a) DescriptorSet 0 + Decorate 51(g_tTex1du4a) DescriptorSet 0 + Decorate 64(g_tTex2df4a) DescriptorSet 0 + Decorate 81(g_tTex2di4a) DescriptorSet 0 + Decorate 93(g_tTex2du4a) DescriptorSet 0 + Decorate 119(Color) Location 0 + Decorate 123(Depth) BuiltIn FragDepth + Decorate 128(g_sSamp) DescriptorSet 0 + Decorate 128(g_sSamp) Binding 0 + Decorate 131(g_tTex1df4) DescriptorSet 0 + Decorate 131(g_tTex1df4) Binding 0 + Decorate 134(g_tTex1di4) DescriptorSet 0 + Decorate 137(g_tTex1du4) DescriptorSet 0 + Decorate 140(g_tTex2df4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 146(g_tTex2du4) DescriptorSet 0 + Decorate 149(g_tTex3df4) DescriptorSet 0 + Decorate 152(g_tTex3di4) DescriptorSet 0 + Decorate 155(g_tTex3du4) DescriptorSet 0 + Decorate 158(g_tTexcdf4) DescriptorSet 0 + Decorate 161(g_tTexcdi4) DescriptorSet 0 + Decorate 164(g_tTexcdu4) DescriptorSet 0 + Decorate 167(g_tTexcdf4a) DescriptorSet 0 + Decorate 170(g_tTexcdi4a) DescriptorSet 0 + Decorate 173(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 2 - 19: TypePointer Uniform 13(ivec3) - 23: TypeInt 32 0 - 24: 23(int) Constant 2 - 25: TypePointer Uniform 11(int) - 28: 11(int) Constant 4 - 31: TypeVector 6(float) 4 - 33: TypeImage 11(int) 1D array sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex1di4a): 34(ptr) Variable UniformConstant - 45: TypeImage 23(int) 1D array sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex1du4a): 46(ptr) Variable UniformConstant - 56: TypeVector 23(int) 4 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4a): 59(ptr) Variable UniformConstant - 62: 11(int) Constant 3 - 63: TypePointer Uniform 14(ivec4) - 67: 23(int) Constant 3 - 70: 11(int) Constant 5 - 71: TypePointer Uniform 12(ivec2) - 75: TypeImage 11(int) 2D array sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4a): 76(ptr) Variable UniformConstant - 87: TypeImage 23(int) 2D array sampled format:Unknown - 88: TypePointer UniformConstant 87 - 89(g_tTex2du4a): 88(ptr) Variable UniformConstant - 99(PS_OUTPUT): TypeStruct 31(fvec4) 6(float) - 100: TypePointer Function 99(PS_OUTPUT) - 102: 11(int) Constant 0 - 103: 6(float) Constant 1065353216 - 104: 31(fvec4) ConstantComposite 103 103 103 103 - 105: TypePointer Function 31(fvec4) - 107: 11(int) Constant 1 - 108: TypePointer Function 6(float) - 110: TypePointer Output 31(fvec4) - 111(Color): 110(ptr) Variable Output - 114: TypePointer Output 6(float) - 115(Depth): 114(ptr) Variable Output - 119: TypeSampler - 120: TypePointer UniformConstant 119 - 121(g_sSamp): 120(ptr) Variable UniformConstant - 122: TypeImage 6(float) 1D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex1df4): 123(ptr) Variable UniformConstant - 125: TypeImage 11(int) 1D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex1di4): 126(ptr) Variable UniformConstant - 128: TypeImage 23(int) 1D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex1du4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) 2D sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTex2df4): 132(ptr) Variable UniformConstant - 134: TypeImage 11(int) 2D sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTex2di4): 135(ptr) Variable UniformConstant - 137: TypeImage 23(int) 2D sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTex2du4): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) 3D sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTex3df4): 141(ptr) Variable UniformConstant - 143: TypeImage 11(int) 3D sampled format:Unknown - 144: TypePointer UniformConstant 143 - 145(g_tTex3di4): 144(ptr) Variable UniformConstant - 146: TypeImage 23(int) 3D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex3du4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) Cube sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTexcdf4): 150(ptr) Variable UniformConstant - 152: TypeImage 11(int) Cube sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTexcdi4): 153(ptr) Variable UniformConstant - 155: TypeImage 23(int) Cube sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTexcdu4): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTexcdf4a): 159(ptr) Variable UniformConstant - 161: TypeImage 11(int) Cube array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTexcdi4a): 162(ptr) Variable UniformConstant - 164: TypeImage 23(int) Cube array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTexcdu4a): 165(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array sampled format:Unknown + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 2 + 24: TypePointer Uniform 18(ivec3) + 28: TypeInt 32 0 + 29: 28(int) Constant 2 + 30: TypePointer Uniform 16(int) + 33: 16(int) Constant 4 + 37: TypeImage 16(int) 1D array sampled format:Unknown + 38: TypePointer UniformConstant 37 + 39(g_tTex1di4a): 38(ptr) Variable UniformConstant + 49: TypeImage 28(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4a): 50(ptr) Variable UniformConstant + 60: TypeVector 28(int) 4 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4a): 63(ptr) Variable UniformConstant + 66: 16(int) Constant 3 + 67: TypePointer Uniform 19(ivec4) + 71: 28(int) Constant 3 + 74: 16(int) Constant 5 + 75: TypePointer Uniform 17(ivec2) + 79: TypeImage 16(int) 2D array sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex2di4a): 80(ptr) Variable UniformConstant + 91: TypeImage 28(int) 2D array sampled format:Unknown + 92: TypePointer UniformConstant 91 + 93(g_tTex2du4a): 92(ptr) Variable UniformConstant + 103: TypePointer Function 8(PS_OUTPUT) + 105: 16(int) Constant 0 + 106: 6(float) Constant 1065353216 + 107: 7(fvec4) ConstantComposite 106 106 106 106 + 108: TypePointer Function 7(fvec4) + 110: 16(int) Constant 1 + 111: TypePointer Function 6(float) + 118: TypePointer Output 7(fvec4) + 119(Color): 118(ptr) Variable Output + 122: TypePointer Output 6(float) + 123(Depth): 122(ptr) Variable Output + 126: TypeSampler + 127: TypePointer UniformConstant 126 + 128(g_sSamp): 127(ptr) Variable UniformConstant + 129: TypeImage 6(float) 1D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex1df4): 130(ptr) Variable UniformConstant + 132: TypeImage 16(int) 1D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex1di4): 133(ptr) Variable UniformConstant + 135: TypeImage 28(int) 1D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex1du4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) 2D sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTex2df4): 139(ptr) Variable UniformConstant + 141: TypeImage 16(int) 2D sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTex2di4): 142(ptr) Variable UniformConstant + 144: TypeImage 28(int) 2D sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTex2du4): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) 3D sampled format:Unknown + 148: TypePointer UniformConstant 147 + 149(g_tTex3df4): 148(ptr) Variable UniformConstant + 150: TypeImage 16(int) 3D sampled format:Unknown + 151: TypePointer UniformConstant 150 + 152(g_tTex3di4): 151(ptr) Variable UniformConstant + 153: TypeImage 28(int) 3D sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTex3du4): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) Cube sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTexcdf4): 157(ptr) Variable UniformConstant + 159: TypeImage 16(int) Cube sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTexcdi4): 160(ptr) Variable UniformConstant + 162: TypeImage 28(int) Cube sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTexcdu4): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTexcdf4a): 166(ptr) Variable UniformConstant + 168: TypeImage 16(int) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdi4a): 169(ptr) Variable UniformConstant + 171: TypeImage 28(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdu4a): 172(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 101(psout): 100(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 13(ivec3) Load 20 - 22: 12(ivec2) VectorShuffle 21 21 0 1 - 26: 25(ptr) AccessChain 17 18 24 - 27: 11(int) Load 26 - 29: 25(ptr) AccessChain 17 28 - 30: 11(int) Load 29 - 32: 31(fvec4) ImageFetch 10 22 Lod Offset 27 30 - 36: 33 Load 35(g_tTex1di4a) - 37: 19(ptr) AccessChain 17 18 - 38: 13(ivec3) Load 37 - 39: 12(ivec2) VectorShuffle 38 38 0 1 - 40: 25(ptr) AccessChain 17 18 24 - 41: 11(int) Load 40 - 42: 25(ptr) AccessChain 17 28 - 43: 11(int) Load 42 - 44: 14(ivec4) ImageFetch 36 39 Lod Offset 41 43 - 48: 45 Load 47(g_tTex1du4a) - 49: 19(ptr) AccessChain 17 18 - 50: 13(ivec3) Load 49 - 51: 12(ivec2) VectorShuffle 50 50 0 1 - 52: 25(ptr) AccessChain 17 18 24 - 53: 11(int) Load 52 - 54: 25(ptr) AccessChain 17 28 - 55: 11(int) Load 54 - 57: 56(ivec4) ImageFetch 48 51 Lod Offset 53 55 - 61: 58 Load 60(g_tTex2df4a) - 64: 63(ptr) AccessChain 17 62 - 65: 14(ivec4) Load 64 - 66: 13(ivec3) VectorShuffle 65 65 0 1 2 - 68: 25(ptr) AccessChain 17 62 67 - 69: 11(int) Load 68 - 72: 71(ptr) AccessChain 17 70 - 73: 12(ivec2) Load 72 - 74: 31(fvec4) ImageFetch 61 66 Lod Offset 69 73 - 78: 75 Load 77(g_tTex2di4a) - 79: 63(ptr) AccessChain 17 62 - 80: 14(ivec4) Load 79 - 81: 13(ivec3) VectorShuffle 80 80 0 1 2 - 82: 25(ptr) AccessChain 17 62 67 - 83: 11(int) Load 82 - 84: 71(ptr) AccessChain 17 70 - 85: 12(ivec2) Load 84 - 86: 14(ivec4) ImageFetch 78 81 Lod Offset 83 85 - 90: 87 Load 89(g_tTex2du4a) - 91: 63(ptr) AccessChain 17 62 - 92: 14(ivec4) Load 91 - 93: 13(ivec3) VectorShuffle 92 92 0 1 2 - 94: 25(ptr) AccessChain 17 62 67 - 95: 11(int) Load 94 - 96: 71(ptr) AccessChain 17 70 - 97: 12(ivec2) Load 96 - 98: 56(ivec4) ImageFetch 90 93 Lod Offset 95 97 - 106: 105(ptr) AccessChain 101(psout) 102 - Store 106 104 - 109: 108(ptr) AccessChain 101(psout) 107 - Store 109 103 - 112: 105(ptr) AccessChain 101(psout) 102 - 113: 31(fvec4) Load 112 - Store 111(Color) 113 - 116: 108(ptr) AccessChain 101(psout) 107 - 117: 6(float) Load 116 - Store 115(Depth) 117 +116(flattenTemp): 103(ptr) Variable Function + 117:8(PS_OUTPUT) FunctionCall 10(@main() + Store 116(flattenTemp) 117 + 120: 108(ptr) AccessChain 116(flattenTemp) 105 + 121: 7(fvec4) Load 120 + Store 119(Color) 121 + 124: 111(ptr) AccessChain 116(flattenTemp) 110 + 125: 6(float) Load 124 + Store 123(Depth) 125 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 104(psout): 103(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 18(ivec3) Load 25 + 27: 17(ivec2) VectorShuffle 26 26 0 1 + 31: 30(ptr) AccessChain 22 23 29 + 32: 16(int) Load 31 + 34: 30(ptr) AccessChain 22 33 + 35: 16(int) Load 34 + 36: 7(fvec4) ImageFetch 15 27 Lod Offset 32 35 + 40: 37 Load 39(g_tTex1di4a) + 41: 24(ptr) AccessChain 22 23 + 42: 18(ivec3) Load 41 + 43: 17(ivec2) VectorShuffle 42 42 0 1 + 44: 30(ptr) AccessChain 22 23 29 + 45: 16(int) Load 44 + 46: 30(ptr) AccessChain 22 33 + 47: 16(int) Load 46 + 48: 19(ivec4) ImageFetch 40 43 Lod Offset 45 47 + 52: 49 Load 51(g_tTex1du4a) + 53: 24(ptr) AccessChain 22 23 + 54: 18(ivec3) Load 53 + 55: 17(ivec2) VectorShuffle 54 54 0 1 + 56: 30(ptr) AccessChain 22 23 29 + 57: 16(int) Load 56 + 58: 30(ptr) AccessChain 22 33 + 59: 16(int) Load 58 + 61: 60(ivec4) ImageFetch 52 55 Lod Offset 57 59 + 65: 62 Load 64(g_tTex2df4a) + 68: 67(ptr) AccessChain 22 66 + 69: 19(ivec4) Load 68 + 70: 18(ivec3) VectorShuffle 69 69 0 1 2 + 72: 30(ptr) AccessChain 22 66 71 + 73: 16(int) Load 72 + 76: 75(ptr) AccessChain 22 74 + 77: 17(ivec2) Load 76 + 78: 7(fvec4) ImageFetch 65 70 Lod Offset 73 77 + 82: 79 Load 81(g_tTex2di4a) + 83: 67(ptr) AccessChain 22 66 + 84: 19(ivec4) Load 83 + 85: 18(ivec3) VectorShuffle 84 84 0 1 2 + 86: 30(ptr) AccessChain 22 66 71 + 87: 16(int) Load 86 + 88: 75(ptr) AccessChain 22 74 + 89: 17(ivec2) Load 88 + 90: 19(ivec4) ImageFetch 82 85 Lod Offset 87 89 + 94: 91 Load 93(g_tTex2du4a) + 95: 67(ptr) AccessChain 22 66 + 96: 19(ivec4) Load 95 + 97: 18(ivec3) VectorShuffle 96 96 0 1 2 + 98: 30(ptr) AccessChain 22 66 71 + 99: 16(int) Load 98 + 100: 75(ptr) AccessChain 22 74 + 101: 17(ivec2) Load 100 + 102: 60(ivec4) ImageFetch 94 97 Lod Offset 99 101 + 109: 108(ptr) AccessChain 104(psout) 105 + Store 109 107 + 112: 111(ptr) AccessChain 104(psout) 110 + Store 112 106 + 113:8(PS_OUTPUT) Load 104(psout) + ReturnValue 113 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index e9cc3940b4d..ea8bdd2dda4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -2,30 +2,30 @@ hlsl.load.rwbuffer.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:22 Function Parameters: 0:? Sequence -0:25 imageLoad (temp 4-component vector of float) -0:25 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:25 c1: direct index for structure (layout(offset=0 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:25 imageLoad ( temp 4-component vector of float) +0:25 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:25 c1: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:25 Constant: 0:25 0 (const uint) -0:26 imageLoad (temp 4-component vector of uint) -0:26 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:26 c1: direct index for structure (layout(offset=0 ) uniform int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:26 imageLoad ( temp 4-component vector of uint) +0:26 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:26 c1: direct index for structure ( uniform int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:26 Constant: 0:26 0 (const uint) -0:27 imageLoad (temp 4-component vector of int) -0:27 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:27 c1: direct index for structure (layout(offset=0 ) uniform int) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:27 imageLoad ( temp 4-component vector of int) +0:27 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:27 c1: direct index for structure ( uniform int) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:27 Constant: 0:27 0 (const uint) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Color: direct index for structure (temp 4-component vector of float) -0:29 'psout' (temp structure{temp 4-component vector of float Color}) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: @@ -33,21 +33,24 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:31 Color: direct index for structure (temp 4-component vector of float) -0:31 'psout' (temp structure{temp 4-component vector of float Color}) -0:31 Constant: -0:31 0 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -56,30 +59,30 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:22 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:22 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:22 Function Parameters: 0:? Sequence -0:25 imageLoad (temp 4-component vector of float) -0:25 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:25 c1: direct index for structure (layout(offset=0 ) uniform int) -0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:25 imageLoad ( temp 4-component vector of float) +0:25 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:25 c1: direct index for structure ( uniform int) +0:25 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:25 Constant: 0:25 0 (const uint) -0:26 imageLoad (temp 4-component vector of uint) -0:26 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:26 c1: direct index for structure (layout(offset=0 ) uniform int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:26 imageLoad ( temp 4-component vector of uint) +0:26 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:26 c1: direct index for structure ( uniform int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:26 Constant: 0:26 0 (const uint) -0:27 imageLoad (temp 4-component vector of int) -0:27 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:27 c1: direct index for structure (layout(offset=0 ) uniform int) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:27 imageLoad ( temp 4-component vector of int) +0:27 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:27 c1: direct index for structure ( uniform int) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:27 Constant: 0:27 0 (const uint) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Color: direct index for structure (temp 4-component vector of float) -0:29 'psout' (temp structure{temp 4-component vector of float Color}) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: @@ -87,114 +90,124 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:31 Color: direct index for structure (temp 4-component vector of float) -0:31 'psout' (temp structure{temp 4-component vector of float Color}) -0:31 Constant: -0:31 0 (const int) -0:31 Branch: Return +0:31 Branch: Return with expression +0:31 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_tBuffF' (layout( rgba32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( rgba32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 57 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 48 + EntryPoint Fragment 4 "main" 54 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tBuffF" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 27 "g_tBuffU" - Name 35 "g_tBuffI" - Name 40 "PS_OUTPUT" - MemberName 40(PS_OUTPUT) 0 "Color" - Name 42 "psout" - Name 48 "Color" - Decorate 9(g_tBuffF) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 27(g_tBuffU) DescriptorSet 0 - Decorate 35(g_tBuffI) DescriptorSet 0 - Decorate 48(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "g_tBuffF" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 31 "g_tBuffU" + Name 39 "g_tBuffI" + Name 45 "psout" + Name 54 "Color" + Decorate 14(g_tBuffF) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 31(g_tBuffU) DescriptorSet 0 + Decorate 39(g_tBuffI) DescriptorSet 0 + Decorate 54(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) Buffer nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tBuffF): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 0 - 19: TypePointer Uniform 11(int) - 22: TypeVector 6(float) 4 - 24: TypeInt 32 0 - 25: TypeImage 24(int) Buffer nonsampled format:Rgba32ui - 26: TypePointer UniformConstant 25 - 27(g_tBuffU): 26(ptr) Variable UniformConstant - 31: TypeVector 24(int) 4 - 33: TypeImage 11(int) Buffer nonsampled format:Rgba32i - 34: TypePointer UniformConstant 33 - 35(g_tBuffI): 34(ptr) Variable UniformConstant - 40(PS_OUTPUT): TypeStruct 22(fvec4) - 41: TypePointer Function 40(PS_OUTPUT) - 43: 6(float) Constant 1065353216 - 44: 22(fvec4) ConstantComposite 43 43 43 43 - 45: TypePointer Function 22(fvec4) - 47: TypePointer Output 22(fvec4) - 48(Color): 47(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tBuffF): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 0 + 24: TypePointer Uniform 16(int) + 28: TypeInt 32 0 + 29: TypeImage 28(int) Buffer nonsampled format:Rgba32ui + 30: TypePointer UniformConstant 29 + 31(g_tBuffU): 30(ptr) Variable UniformConstant + 35: TypeVector 28(int) 4 + 37: TypeImage 16(int) Buffer nonsampled format:Rgba32i + 38: TypePointer UniformConstant 37 + 39(g_tBuffI): 38(ptr) Variable UniformConstant + 44: TypePointer Function 8(PS_OUTPUT) + 46: 6(float) Constant 1065353216 + 47: 7(fvec4) ConstantComposite 46 46 46 46 + 48: TypePointer Function 7(fvec4) + 53: TypePointer Output 7(fvec4) + 54(Color): 53(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 42(psout): 41(ptr) Variable Function - 10: 7 Load 9(g_tBuffF) - 20: 19(ptr) AccessChain 17 18 - 21: 11(int) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 28: 25 Load 27(g_tBuffU) - 29: 19(ptr) AccessChain 17 18 - 30: 11(int) Load 29 - 32: 31(ivec4) ImageRead 28 30 - 36: 33 Load 35(g_tBuffI) - 37: 19(ptr) AccessChain 17 18 - 38: 11(int) Load 37 - 39: 14(ivec4) ImageRead 36 38 - 46: 45(ptr) AccessChain 42(psout) 18 - Store 46 44 - 49: 45(ptr) AccessChain 42(psout) 18 - 50: 22(fvec4) Load 49 - Store 48(Color) 50 + 55:8(PS_OUTPUT) FunctionCall 10(@main() + 56: 7(fvec4) CompositeExtract 55 0 + Store 54(Color) 56 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 45(psout): 44(ptr) Variable Function + 15: 12 Load 14(g_tBuffF) + 25: 24(ptr) AccessChain 22 23 + 26: 16(int) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 32: 29 Load 31(g_tBuffU) + 33: 24(ptr) AccessChain 22 23 + 34: 16(int) Load 33 + 36: 35(ivec4) ImageRead 32 34 + 40: 37 Load 39(g_tBuffI) + 41: 24(ptr) AccessChain 22 23 + 42: 16(int) Load 41 + 43: 19(ivec4) ImageRead 40 42 + 49: 48(ptr) AccessChain 45(psout) 23 + Store 49 47 + 50:8(PS_OUTPUT) Load 45(psout) + ReturnValue 50 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index a81ddf57de8..fba29c13e44 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -2,48 +2,48 @@ hlsl.load.rwtexture.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence -0:44 imageLoad (temp 4-component vector of float) -0:44 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 imageLoad ( temp 4-component vector of float) +0:44 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:44 c2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 1 (const uint) -0:45 imageLoad (temp 4-component vector of int) -0:45 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 imageLoad ( temp 4-component vector of int) +0:45 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:45 c2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 1 (const uint) -0:46 imageLoad (temp 4-component vector of uint) -0:46 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 imageLoad ( temp 4-component vector of uint) +0:46 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:46 c2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 1 (const uint) -0:49 imageLoad (temp 4-component vector of float) -0:49 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 imageLoad ( temp 4-component vector of float) +0:49 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:49 c3: direct index for structure ( uniform 3-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 2 (const uint) -0:50 imageLoad (temp 4-component vector of int) -0:50 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:50 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 imageLoad ( temp 4-component vector of int) +0:50 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:50 c3: direct index for structure ( uniform 3-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 2 (const uint) -0:51 imageLoad (temp 4-component vector of uint) -0:51 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:51 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 imageLoad ( temp 4-component vector of uint) +0:51 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:51 c3: direct index for structure ( uniform 3-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 2 (const uint) -0:53 move second child to first child (temp 4-component vector of float) -0:53 Color: direct index for structure (temp 4-component vector of float) -0:53 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:53 move second child to first child ( temp 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:53 Constant: 0:53 0 (const int) 0:53 Constant: @@ -51,48 +51,54 @@ gl_FragCoord origin is upper left 0:53 1.000000 0:53 1.000000 0:53 1.000000 -0:54 move second child to first child (temp float) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:54 move second child to first child ( temp float) +0:54 Depth: direct index for structure ( temp float) +0:54 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:54 Constant: 0:54 1 (const int) 0:54 Constant: 0:54 1.000000 -0:56 Sequence -0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 0 (const int) -0:56 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:56 Depth: direct index for structure (temp float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 1 (const int) -0:56 Branch: Return +0:56 Branch: Return with expression +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( ( temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:40 Depth: direct index for structure ( temp float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -101,48 +107,48 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence -0:44 imageLoad (temp 4-component vector of float) -0:44 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:44 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 imageLoad ( temp 4-component vector of float) +0:44 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:44 c2: direct index for structure ( uniform 2-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 1 (const uint) -0:45 imageLoad (temp 4-component vector of int) -0:45 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:45 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 imageLoad ( temp 4-component vector of int) +0:45 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:45 c2: direct index for structure ( uniform 2-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 1 (const uint) -0:46 imageLoad (temp 4-component vector of uint) -0:46 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:46 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 imageLoad ( temp 4-component vector of uint) +0:46 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:46 c2: direct index for structure ( uniform 2-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 1 (const uint) -0:49 imageLoad (temp 4-component vector of float) -0:49 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:49 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 imageLoad ( temp 4-component vector of float) +0:49 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:49 c3: direct index for structure ( uniform 3-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 2 (const uint) -0:50 imageLoad (temp 4-component vector of int) -0:50 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:50 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 imageLoad ( temp 4-component vector of int) +0:50 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:50 c3: direct index for structure ( uniform 3-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 2 (const uint) -0:51 imageLoad (temp 4-component vector of uint) -0:51 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:51 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 imageLoad ( temp 4-component vector of uint) +0:51 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:51 c3: direct index for structure ( uniform 3-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 2 (const uint) -0:53 move second child to first child (temp 4-component vector of float) -0:53 Color: direct index for structure (temp 4-component vector of float) -0:53 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:53 move second child to first child ( temp 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:53 Constant: 0:53 0 (const int) 0:53 Constant: @@ -150,234 +156,251 @@ gl_FragCoord origin is upper left 0:53 1.000000 0:53 1.000000 0:53 1.000000 -0:54 move second child to first child (temp float) -0:54 Depth: direct index for structure (temp float) -0:54 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:54 move second child to first child ( temp float) +0:54 Depth: direct index for structure ( temp float) +0:54 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:54 Constant: 0:54 1 (const int) 0:54 Constant: 0:54 1.000000 -0:56 Sequence -0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 0 (const int) -0:56 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:56 Depth: direct index for structure (temp float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:56 Constant: -0:56 1 (const int) -0:56 Branch: Return +0:56 Branch: Return with expression +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( ( temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:40 Depth: direct index for structure ( temp float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 112 +// Id's are bound by 119 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 78 + EntryPoint Fragment 4 "main" 82 86 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4a" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 26 "g_tTex1di4a" - Name 34 "g_tTex1du4a" - Name 42 "g_tTex2df4a" - Name 51 "g_tTex2di4a" - Name 58 "g_tTex2du4a" - Name 63 "PS_OUTPUT" - MemberName 63(PS_OUTPUT) 0 "Color" - MemberName 63(PS_OUTPUT) 1 "Depth" - Name 65 "psout" - Name 74 "Color" - Name 78 "Depth" - Name 84 "g_sSamp" - Name 87 "g_tTex1df4" - Name 90 "g_tTex1di4" - Name 93 "g_tTex1du4" - Name 96 "g_tTex2df4" - Name 99 "g_tTex2di4" - Name 102 "g_tTex2du4" - Name 105 "g_tTex3df4" - Name 108 "g_tTex3di4" - Name 111 "g_tTex3du4" - Decorate 9(g_tTex1df4a) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 26(g_tTex1di4a) DescriptorSet 0 - Decorate 34(g_tTex1du4a) DescriptorSet 0 - Decorate 42(g_tTex2df4a) DescriptorSet 0 - Decorate 51(g_tTex2di4a) DescriptorSet 0 - Decorate 58(g_tTex2du4a) DescriptorSet 0 - Decorate 74(Color) Location 0 - Decorate 78(Depth) BuiltIn FragDepth - Decorate 84(g_sSamp) DescriptorSet 0 - Decorate 84(g_sSamp) Binding 0 - Decorate 87(g_tTex1df4) DescriptorSet 0 - Decorate 87(g_tTex1df4) Binding 0 - Decorate 90(g_tTex1di4) DescriptorSet 0 - Decorate 93(g_tTex1du4) DescriptorSet 0 - Decorate 96(g_tTex2df4) DescriptorSet 0 - Decorate 99(g_tTex2di4) DescriptorSet 0 - Decorate 102(g_tTex2du4) DescriptorSet 0 - Decorate 105(g_tTex3df4) DescriptorSet 0 - Decorate 108(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4a" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 30 "g_tTex1di4a" + Name 38 "g_tTex1du4a" + Name 46 "g_tTex2df4a" + Name 55 "g_tTex2di4a" + Name 62 "g_tTex2du4a" + Name 68 "psout" + Name 79 "flattenTemp" + Name 82 "Color" + Name 86 "Depth" + Name 91 "g_sSamp" + Name 94 "g_tTex1df4" + Name 97 "g_tTex1di4" + Name 100 "g_tTex1du4" + Name 103 "g_tTex2df4" + Name 106 "g_tTex2di4" + Name 109 "g_tTex2du4" + Name 112 "g_tTex3df4" + Name 115 "g_tTex3di4" + Name 118 "g_tTex3du4" + Decorate 14(g_tTex1df4a) DescriptorSet 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 30(g_tTex1di4a) DescriptorSet 0 + Decorate 38(g_tTex1du4a) DescriptorSet 0 + Decorate 46(g_tTex2df4a) DescriptorSet 0 + Decorate 55(g_tTex2di4a) DescriptorSet 0 + Decorate 62(g_tTex2du4a) DescriptorSet 0 + Decorate 82(Color) Location 0 + Decorate 86(Depth) BuiltIn FragDepth + Decorate 91(g_sSamp) DescriptorSet 0 + Decorate 91(g_sSamp) Binding 0 + Decorate 94(g_tTex1df4) DescriptorSet 0 + Decorate 94(g_tTex1df4) Binding 0 + Decorate 97(g_tTex1di4) DescriptorSet 0 + Decorate 100(g_tTex1du4) DescriptorSet 0 + Decorate 103(g_tTex2df4) DescriptorSet 0 + Decorate 106(g_tTex2di4) DescriptorSet 0 + Decorate 109(g_tTex2du4) DescriptorSet 0 + Decorate 112(g_tTex3df4) DescriptorSet 0 + Decorate 115(g_tTex3di4) DescriptorSet 0 + Decorate 118(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D array nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4a): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 1 - 19: TypePointer Uniform 12(ivec2) - 22: TypeVector 6(float) 4 - 24: TypeImage 11(int) 1D array nonsampled format:Rgba32i - 25: TypePointer UniformConstant 24 - 26(g_tTex1di4a): 25(ptr) Variable UniformConstant - 31: TypeInt 32 0 - 32: TypeImage 31(int) 1D array nonsampled format:Rgba32ui - 33: TypePointer UniformConstant 32 - 34(g_tTex1du4a): 33(ptr) Variable UniformConstant - 38: TypeVector 31(int) 4 - 40: TypeImage 6(float) 2D array nonsampled format:Rgba32f - 41: TypePointer UniformConstant 40 - 42(g_tTex2df4a): 41(ptr) Variable UniformConstant - 44: 11(int) Constant 2 - 45: TypePointer Uniform 13(ivec3) - 49: TypeImage 11(int) 2D array nonsampled format:Rgba32i - 50: TypePointer UniformConstant 49 - 51(g_tTex2di4a): 50(ptr) Variable UniformConstant - 56: TypeImage 31(int) 2D array nonsampled format:Rgba32ui - 57: TypePointer UniformConstant 56 - 58(g_tTex2du4a): 57(ptr) Variable UniformConstant - 63(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) - 64: TypePointer Function 63(PS_OUTPUT) - 66: 11(int) Constant 0 - 67: 6(float) Constant 1065353216 - 68: 22(fvec4) ConstantComposite 67 67 67 67 - 69: TypePointer Function 22(fvec4) - 71: TypePointer Function 6(float) - 73: TypePointer Output 22(fvec4) - 74(Color): 73(ptr) Variable Output - 77: TypePointer Output 6(float) - 78(Depth): 77(ptr) Variable Output - 82: TypeSampler - 83: TypePointer UniformConstant 82 - 84(g_sSamp): 83(ptr) Variable UniformConstant - 85: TypeImage 6(float) 1D nonsampled format:Rgba32f - 86: TypePointer UniformConstant 85 - 87(g_tTex1df4): 86(ptr) Variable UniformConstant - 88: TypeImage 11(int) 1D nonsampled format:Rgba32i - 89: TypePointer UniformConstant 88 - 90(g_tTex1di4): 89(ptr) Variable UniformConstant - 91: TypeImage 31(int) 1D nonsampled format:Rgba32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du4): 92(ptr) Variable UniformConstant - 94: TypeImage 6(float) 2D nonsampled format:Rgba32f - 95: TypePointer UniformConstant 94 - 96(g_tTex2df4): 95(ptr) Variable UniformConstant - 97: TypeImage 11(int) 2D nonsampled format:Rgba32i - 98: TypePointer UniformConstant 97 - 99(g_tTex2di4): 98(ptr) Variable UniformConstant - 100: TypeImage 31(int) 2D nonsampled format:Rgba32ui - 101: TypePointer UniformConstant 100 - 102(g_tTex2du4): 101(ptr) Variable UniformConstant - 103: TypeImage 6(float) 3D nonsampled format:Rgba32f - 104: TypePointer UniformConstant 103 - 105(g_tTex3df4): 104(ptr) Variable UniformConstant - 106: TypeImage 11(int) 3D nonsampled format:Rgba32i - 107: TypePointer UniformConstant 106 - 108(g_tTex3di4): 107(ptr) Variable UniformConstant - 109: TypeImage 31(int) 3D nonsampled format:Rgba32ui - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4a): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 1 + 24: TypePointer Uniform 17(ivec2) + 28: TypeImage 16(int) 1D array nonsampled format:Rgba32i + 29: TypePointer UniformConstant 28 + 30(g_tTex1di4a): 29(ptr) Variable UniformConstant + 35: TypeInt 32 0 + 36: TypeImage 35(int) 1D array nonsampled format:Rgba32ui + 37: TypePointer UniformConstant 36 + 38(g_tTex1du4a): 37(ptr) Variable UniformConstant + 42: TypeVector 35(int) 4 + 44: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 45: TypePointer UniformConstant 44 + 46(g_tTex2df4a): 45(ptr) Variable UniformConstant + 48: 16(int) Constant 2 + 49: TypePointer Uniform 18(ivec3) + 53: TypeImage 16(int) 2D array nonsampled format:Rgba32i + 54: TypePointer UniformConstant 53 + 55(g_tTex2di4a): 54(ptr) Variable UniformConstant + 60: TypeImage 35(int) 2D array nonsampled format:Rgba32ui + 61: TypePointer UniformConstant 60 + 62(g_tTex2du4a): 61(ptr) Variable UniformConstant + 67: TypePointer Function 8(PS_OUTPUT) + 69: 16(int) Constant 0 + 70: 6(float) Constant 1065353216 + 71: 7(fvec4) ConstantComposite 70 70 70 70 + 72: TypePointer Function 7(fvec4) + 74: TypePointer Function 6(float) + 81: TypePointer Output 7(fvec4) + 82(Color): 81(ptr) Variable Output + 85: TypePointer Output 6(float) + 86(Depth): 85(ptr) Variable Output + 89: TypeSampler + 90: TypePointer UniformConstant 89 + 91(g_sSamp): 90(ptr) Variable UniformConstant + 92: TypeImage 6(float) 1D nonsampled format:Rgba32f + 93: TypePointer UniformConstant 92 + 94(g_tTex1df4): 93(ptr) Variable UniformConstant + 95: TypeImage 16(int) 1D nonsampled format:Rgba32i + 96: TypePointer UniformConstant 95 + 97(g_tTex1di4): 96(ptr) Variable UniformConstant + 98: TypeImage 35(int) 1D nonsampled format:Rgba32ui + 99: TypePointer UniformConstant 98 + 100(g_tTex1du4): 99(ptr) Variable UniformConstant + 101: TypeImage 6(float) 2D nonsampled format:Rgba32f + 102: TypePointer UniformConstant 101 + 103(g_tTex2df4): 102(ptr) Variable UniformConstant + 104: TypeImage 16(int) 2D nonsampled format:Rgba32i + 105: TypePointer UniformConstant 104 + 106(g_tTex2di4): 105(ptr) Variable UniformConstant + 107: TypeImage 35(int) 2D nonsampled format:Rgba32ui + 108: TypePointer UniformConstant 107 + 109(g_tTex2du4): 108(ptr) Variable UniformConstant + 110: TypeImage 6(float) 3D nonsampled format:Rgba32f + 111: TypePointer UniformConstant 110 + 112(g_tTex3df4): 111(ptr) Variable UniformConstant + 113: TypeImage 16(int) 3D nonsampled format:Rgba32i + 114: TypePointer UniformConstant 113 + 115(g_tTex3di4): 114(ptr) Variable UniformConstant + 116: TypeImage 35(int) 3D nonsampled format:Rgba32ui + 117: TypePointer UniformConstant 116 + 118(g_tTex3du4): 117(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 65(psout): 64(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4a) - 20: 19(ptr) AccessChain 17 18 - 21: 12(ivec2) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 27: 24 Load 26(g_tTex1di4a) - 28: 19(ptr) AccessChain 17 18 - 29: 12(ivec2) Load 28 - 30: 14(ivec4) ImageRead 27 29 - 35: 32 Load 34(g_tTex1du4a) - 36: 19(ptr) AccessChain 17 18 - 37: 12(ivec2) Load 36 - 39: 38(ivec4) ImageRead 35 37 - 43: 40 Load 42(g_tTex2df4a) - 46: 45(ptr) AccessChain 17 44 - 47: 13(ivec3) Load 46 - 48: 22(fvec4) ImageRead 43 47 - 52: 49 Load 51(g_tTex2di4a) - 53: 45(ptr) AccessChain 17 44 - 54: 13(ivec3) Load 53 - 55: 14(ivec4) ImageRead 52 54 - 59: 56 Load 58(g_tTex2du4a) - 60: 45(ptr) AccessChain 17 44 - 61: 13(ivec3) Load 60 - 62: 38(ivec4) ImageRead 59 61 - 70: 69(ptr) AccessChain 65(psout) 66 - Store 70 68 - 72: 71(ptr) AccessChain 65(psout) 18 - Store 72 67 - 75: 69(ptr) AccessChain 65(psout) 66 - 76: 22(fvec4) Load 75 - Store 74(Color) 76 - 79: 71(ptr) AccessChain 65(psout) 18 - 80: 6(float) Load 79 - Store 78(Depth) 80 + 79(flattenTemp): 67(ptr) Variable Function + 80:8(PS_OUTPUT) FunctionCall 10(@main() + Store 79(flattenTemp) 80 + 83: 72(ptr) AccessChain 79(flattenTemp) 69 + 84: 7(fvec4) Load 83 + Store 82(Color) 84 + 87: 74(ptr) AccessChain 79(flattenTemp) 23 + 88: 6(float) Load 87 + Store 86(Depth) 88 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 68(psout): 67(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4a) + 25: 24(ptr) AccessChain 22 23 + 26: 17(ivec2) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 31: 28 Load 30(g_tTex1di4a) + 32: 24(ptr) AccessChain 22 23 + 33: 17(ivec2) Load 32 + 34: 19(ivec4) ImageRead 31 33 + 39: 36 Load 38(g_tTex1du4a) + 40: 24(ptr) AccessChain 22 23 + 41: 17(ivec2) Load 40 + 43: 42(ivec4) ImageRead 39 41 + 47: 44 Load 46(g_tTex2df4a) + 50: 49(ptr) AccessChain 22 48 + 51: 18(ivec3) Load 50 + 52: 7(fvec4) ImageRead 47 51 + 56: 53 Load 55(g_tTex2di4a) + 57: 49(ptr) AccessChain 22 48 + 58: 18(ivec3) Load 57 + 59: 19(ivec4) ImageRead 56 58 + 63: 60 Load 62(g_tTex2du4a) + 64: 49(ptr) AccessChain 22 48 + 65: 18(ivec3) Load 64 + 66: 42(ivec4) ImageRead 63 65 + 73: 72(ptr) AccessChain 68(psout) 69 + Store 73 71 + 75: 74(ptr) AccessChain 68(psout) 23 + Store 75 70 + 76:8(PS_OUTPUT) Load 68(psout) + ReturnValue 76 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index b5435bac4b0..2b05b31d065 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -2,66 +2,66 @@ hlsl.load.rwtexture.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence -0:44 imageLoad (temp 4-component vector of float) -0:44 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:44 c1: direct index for structure (layout(offset=0 ) uniform int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 imageLoad ( temp 4-component vector of float) +0:44 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:44 c1: direct index for structure ( uniform int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 0 (const uint) -0:45 imageLoad (temp 4-component vector of int) -0:45 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:45 c1: direct index for structure (layout(offset=0 ) uniform int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 imageLoad ( temp 4-component vector of int) +0:45 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:45 c1: direct index for structure ( uniform int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 0 (const uint) -0:46 imageLoad (temp 4-component vector of uint) -0:46 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:46 c1: direct index for structure (layout(offset=0 ) uniform int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 imageLoad ( temp 4-component vector of uint) +0:46 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:46 c1: direct index for structure ( uniform int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 0 (const uint) -0:49 imageLoad (temp 4-component vector of float) -0:49 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 imageLoad ( temp 4-component vector of float) +0:49 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:49 c2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 1 (const uint) -0:50 imageLoad (temp 4-component vector of int) -0:50 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 imageLoad ( temp 4-component vector of int) +0:50 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:50 c2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 1 (const uint) -0:51 imageLoad (temp 4-component vector of uint) -0:51 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 imageLoad ( temp 4-component vector of uint) +0:51 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) -0:54 imageLoad (temp 4-component vector of float) -0:54 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 imageLoad ( temp 4-component vector of float) +0:54 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) -0:55 imageLoad (temp 4-component vector of int) -0:55 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:55 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:55 imageLoad ( temp 4-component vector of int) +0:55 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:55 c3: direct index for structure ( uniform 3-component vector of int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:55 Constant: 0:55 2 (const uint) -0:56 imageLoad (temp 4-component vector of uint) -0:56 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 imageLoad ( temp 4-component vector of uint) +0:56 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) -0:58 move second child to first child (temp 4-component vector of float) -0:58 Color: direct index for structure (temp 4-component vector of float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp 4-component vector of float) +0:58 Color: direct index for structure ( temp 4-component vector of float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 0 (const int) 0:58 Constant: @@ -69,48 +69,54 @@ gl_FragCoord origin is upper left 0:58 1.000000 0:58 1.000000 0:58 1.000000 -0:59 move second child to first child (temp float) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:59 move second child to first child ( temp float) +0:59 Depth: direct index for structure ( temp float) +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:59 Constant: 0:59 1 (const int) 0:59 Constant: 0:59 1.000000 -0:61 Sequence -0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:61 Color: direct index for structure (temp 4-component vector of float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 0 (const int) -0:61 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:61 Depth: direct index for structure (temp float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 1 (const int) -0:61 Branch: Return +0:61 Branch: Return with expression +0:61 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( ( temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:40 Depth: direct index for structure ( temp float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -119,66 +125,66 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:40 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Function Parameters: 0:? Sequence -0:44 imageLoad (temp 4-component vector of float) -0:44 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:44 c1: direct index for structure (layout(offset=0 ) uniform int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:44 imageLoad ( temp 4-component vector of float) +0:44 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:44 c1: direct index for structure ( uniform int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:44 Constant: 0:44 0 (const uint) -0:45 imageLoad (temp 4-component vector of int) -0:45 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:45 c1: direct index for structure (layout(offset=0 ) uniform int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:45 imageLoad ( temp 4-component vector of int) +0:45 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:45 c1: direct index for structure ( uniform int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:45 Constant: 0:45 0 (const uint) -0:46 imageLoad (temp 4-component vector of uint) -0:46 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:46 c1: direct index for structure (layout(offset=0 ) uniform int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:46 imageLoad ( temp 4-component vector of uint) +0:46 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:46 c1: direct index for structure ( uniform int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:46 Constant: 0:46 0 (const uint) -0:49 imageLoad (temp 4-component vector of float) -0:49 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:49 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 imageLoad ( temp 4-component vector of float) +0:49 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:49 c2: direct index for structure ( uniform 2-component vector of int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 1 (const uint) -0:50 imageLoad (temp 4-component vector of int) -0:50 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:50 imageLoad ( temp 4-component vector of int) +0:50 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:50 c2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:50 Constant: 0:50 1 (const uint) -0:51 imageLoad (temp 4-component vector of uint) -0:51 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:51 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 imageLoad ( temp 4-component vector of uint) +0:51 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:51 c2: direct index for structure ( uniform 2-component vector of int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 1 (const uint) -0:54 imageLoad (temp 4-component vector of float) -0:54 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:54 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:54 imageLoad ( temp 4-component vector of float) +0:54 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:54 c3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:54 Constant: 0:54 2 (const uint) -0:55 imageLoad (temp 4-component vector of int) -0:55 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:55 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:55 imageLoad ( temp 4-component vector of int) +0:55 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:55 c3: direct index for structure ( uniform 3-component vector of int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:55 Constant: 0:55 2 (const uint) -0:56 imageLoad (temp 4-component vector of uint) -0:56 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:56 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 imageLoad ( temp 4-component vector of uint) +0:56 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:56 c3: direct index for structure ( uniform 3-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 2 (const uint) -0:58 move second child to first child (temp 4-component vector of float) -0:58 Color: direct index for structure (temp 4-component vector of float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp 4-component vector of float) +0:58 Color: direct index for structure ( temp 4-component vector of float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 0 (const int) 0:58 Constant: @@ -186,247 +192,264 @@ gl_FragCoord origin is upper left 0:58 1.000000 0:58 1.000000 0:58 1.000000 -0:59 move second child to first child (temp float) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:59 move second child to first child ( temp float) +0:59 Depth: direct index for structure ( temp float) +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:59 Constant: 0:59 1 (const int) 0:59 Constant: 0:59 1.000000 -0:61 Sequence -0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:61 Color: direct index for structure (temp 4-component vector of float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 0 (const int) -0:61 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:61 Depth: direct index for structure (temp float) -0:61 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:61 Constant: -0:61 1 (const int) -0:61 Branch: Return +0:61 Branch: Return with expression +0:61 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Definition: main( ( temp void) +0:40 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:40 Color: direct index for structure ( temp 4-component vector of float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:40 Depth: direct index for structure ( temp float) +0:40 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:40 Constant: +0:40 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 125 +// Id's are bound by 132 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 96 100 + EntryPoint Fragment 4 "main" 104 108 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1df4" - Name 15 "$Global" - MemberName 15($Global) 0 "c1" - MemberName 15($Global) 1 "c2" - MemberName 15($Global) 2 "c3" - MemberName 15($Global) 3 "c4" - MemberName 15($Global) 4 "o1" - MemberName 15($Global) 5 "o2" - MemberName 15($Global) 6 "o3" - MemberName 15($Global) 7 "o4" - Name 17 "" - Name 26 "g_tTex1di4" - Name 34 "g_tTex1du4" - Name 42 "g_tTex2df4" - Name 51 "g_tTex2di4" - Name 58 "g_tTex2du4" - Name 65 "g_tTex3df4" - Name 74 "g_tTex3di4" - Name 81 "g_tTex3du4" - Name 86 "PS_OUTPUT" - MemberName 86(PS_OUTPUT) 0 "Color" - MemberName 86(PS_OUTPUT) 1 "Depth" - Name 88 "psout" - Name 96 "Color" - Name 100 "Depth" - Name 106 "g_sSamp" - Name 109 "g_tTex1df4a" - Name 112 "g_tTex1di4a" - Name 115 "g_tTex1du4a" - Name 118 "g_tTex2df4a" - Name 121 "g_tTex2di4a" - Name 124 "g_tTex2du4a" - Decorate 9(g_tTex1df4) DescriptorSet 0 - Decorate 9(g_tTex1df4) Binding 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 32 - MemberDecorate 15($Global) 4 Offset 48 - MemberDecorate 15($Global) 5 Offset 56 - MemberDecorate 15($Global) 6 Offset 64 - MemberDecorate 15($Global) 7 Offset 80 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 26(g_tTex1di4) DescriptorSet 0 - Decorate 34(g_tTex1du4) DescriptorSet 0 - Decorate 42(g_tTex2df4) DescriptorSet 0 - Decorate 51(g_tTex2di4) DescriptorSet 0 - Decorate 58(g_tTex2du4) DescriptorSet 0 - Decorate 65(g_tTex3df4) DescriptorSet 0 - Decorate 74(g_tTex3di4) DescriptorSet 0 - Decorate 81(g_tTex3du4) DescriptorSet 0 - Decorate 96(Color) Location 0 - Decorate 100(Depth) BuiltIn FragDepth - Decorate 106(g_sSamp) DescriptorSet 0 - Decorate 106(g_sSamp) Binding 0 - Decorate 109(g_tTex1df4a) DescriptorSet 0 - Decorate 112(g_tTex1di4a) DescriptorSet 0 - Decorate 115(g_tTex1du4a) DescriptorSet 0 - Decorate 118(g_tTex2df4a) DescriptorSet 0 - Decorate 121(g_tTex2di4a) DescriptorSet 0 - Decorate 124(g_tTex2du4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "g_tTex1df4" + Name 20 "$Global" + MemberName 20($Global) 0 "c1" + MemberName 20($Global) 1 "c2" + MemberName 20($Global) 2 "c3" + MemberName 20($Global) 3 "c4" + MemberName 20($Global) 4 "o1" + MemberName 20($Global) 5 "o2" + MemberName 20($Global) 6 "o3" + MemberName 20($Global) 7 "o4" + Name 22 "" + Name 30 "g_tTex1di4" + Name 38 "g_tTex1du4" + Name 46 "g_tTex2df4" + Name 55 "g_tTex2di4" + Name 62 "g_tTex2du4" + Name 69 "g_tTex3df4" + Name 78 "g_tTex3di4" + Name 85 "g_tTex3du4" + Name 91 "psout" + Name 101 "flattenTemp" + Name 104 "Color" + Name 108 "Depth" + Name 113 "g_sSamp" + Name 116 "g_tTex1df4a" + Name 119 "g_tTex1di4a" + Name 122 "g_tTex1du4a" + Name 125 "g_tTex2df4a" + Name 128 "g_tTex2di4a" + Name 131 "g_tTex2du4a" + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 14(g_tTex1df4) Binding 0 + MemberDecorate 20($Global) 0 Offset 0 + MemberDecorate 20($Global) 1 Offset 8 + MemberDecorate 20($Global) 2 Offset 16 + MemberDecorate 20($Global) 3 Offset 32 + MemberDecorate 20($Global) 4 Offset 48 + MemberDecorate 20($Global) 5 Offset 56 + MemberDecorate 20($Global) 6 Offset 64 + MemberDecorate 20($Global) 7 Offset 80 + Decorate 20($Global) Block + Decorate 22 DescriptorSet 0 + Decorate 30(g_tTex1di4) DescriptorSet 0 + Decorate 38(g_tTex1du4) DescriptorSet 0 + Decorate 46(g_tTex2df4) DescriptorSet 0 + Decorate 55(g_tTex2di4) DescriptorSet 0 + Decorate 62(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex3di4) DescriptorSet 0 + Decorate 85(g_tTex3du4) DescriptorSet 0 + Decorate 104(Color) Location 0 + Decorate 108(Depth) BuiltIn FragDepth + Decorate 113(g_sSamp) DescriptorSet 0 + Decorate 113(g_sSamp) Binding 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 119(g_tTex1di4a) DescriptorSet 0 + Decorate 122(g_tTex1du4a) DescriptorSet 0 + Decorate 125(g_tTex2df4a) DescriptorSet 0 + Decorate 128(g_tTex2di4a) DescriptorSet 0 + Decorate 131(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeImage 6(float) 1D nonsampled format:Rgba32f - 8: TypePointer UniformConstant 7 - 9(g_tTex1df4): 8(ptr) Variable UniformConstant - 11: TypeInt 32 1 - 12: TypeVector 11(int) 2 - 13: TypeVector 11(int) 3 - 14: TypeVector 11(int) 4 - 15($Global): TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 11(int) Constant 0 - 19: TypePointer Uniform 11(int) - 22: TypeVector 6(float) 4 - 24: TypeImage 11(int) 1D nonsampled format:Rgba32i - 25: TypePointer UniformConstant 24 - 26(g_tTex1di4): 25(ptr) Variable UniformConstant - 31: TypeInt 32 0 - 32: TypeImage 31(int) 1D nonsampled format:Rgba32ui - 33: TypePointer UniformConstant 32 - 34(g_tTex1du4): 33(ptr) Variable UniformConstant - 38: TypeVector 31(int) 4 - 40: TypeImage 6(float) 2D nonsampled format:Rgba32f - 41: TypePointer UniformConstant 40 - 42(g_tTex2df4): 41(ptr) Variable UniformConstant - 44: 11(int) Constant 1 - 45: TypePointer Uniform 12(ivec2) - 49: TypeImage 11(int) 2D nonsampled format:Rgba32i - 50: TypePointer UniformConstant 49 - 51(g_tTex2di4): 50(ptr) Variable UniformConstant - 56: TypeImage 31(int) 2D nonsampled format:Rgba32ui - 57: TypePointer UniformConstant 56 - 58(g_tTex2du4): 57(ptr) Variable UniformConstant - 63: TypeImage 6(float) 3D nonsampled format:Rgba32f - 64: TypePointer UniformConstant 63 - 65(g_tTex3df4): 64(ptr) Variable UniformConstant - 67: 11(int) Constant 2 - 68: TypePointer Uniform 13(ivec3) - 72: TypeImage 11(int) 3D nonsampled format:Rgba32i - 73: TypePointer UniformConstant 72 - 74(g_tTex3di4): 73(ptr) Variable UniformConstant - 79: TypeImage 31(int) 3D nonsampled format:Rgba32ui - 80: TypePointer UniformConstant 79 - 81(g_tTex3du4): 80(ptr) Variable UniformConstant - 86(PS_OUTPUT): TypeStruct 22(fvec4) 6(float) - 87: TypePointer Function 86(PS_OUTPUT) - 89: 6(float) Constant 1065353216 - 90: 22(fvec4) ConstantComposite 89 89 89 89 - 91: TypePointer Function 22(fvec4) - 93: TypePointer Function 6(float) - 95: TypePointer Output 22(fvec4) - 96(Color): 95(ptr) Variable Output - 99: TypePointer Output 6(float) - 100(Depth): 99(ptr) Variable Output - 104: TypeSampler - 105: TypePointer UniformConstant 104 - 106(g_sSamp): 105(ptr) Variable UniformConstant - 107: TypeImage 6(float) 1D array nonsampled format:Rgba32f - 108: TypePointer UniformConstant 107 -109(g_tTex1df4a): 108(ptr) Variable UniformConstant - 110: TypeImage 11(int) 1D array nonsampled format:Rgba32i - 111: TypePointer UniformConstant 110 -112(g_tTex1di4a): 111(ptr) Variable UniformConstant - 113: TypeImage 31(int) 1D array nonsampled format:Rgba32ui - 114: TypePointer UniformConstant 113 -115(g_tTex1du4a): 114(ptr) Variable UniformConstant - 116: TypeImage 6(float) 2D array nonsampled format:Rgba32f - 117: TypePointer UniformConstant 116 -118(g_tTex2df4a): 117(ptr) Variable UniformConstant - 119: TypeImage 11(int) 2D array nonsampled format:Rgba32i - 120: TypePointer UniformConstant 119 -121(g_tTex2di4a): 120(ptr) Variable UniformConstant - 122: TypeImage 31(int) 2D array nonsampled format:Rgba32ui - 123: TypePointer UniformConstant 122 -124(g_tTex2du4a): 123(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeImage 6(float) 1D nonsampled format:Rgba32f + 13: TypePointer UniformConstant 12 + 14(g_tTex1df4): 13(ptr) Variable UniformConstant + 16: TypeInt 32 1 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 16(int) 4 + 20($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 19(ivec4) 16(int) 17(ivec2) 18(ivec3) 19(ivec4) + 21: TypePointer Uniform 20($Global) + 22: 21(ptr) Variable Uniform + 23: 16(int) Constant 0 + 24: TypePointer Uniform 16(int) + 28: TypeImage 16(int) 1D nonsampled format:Rgba32i + 29: TypePointer UniformConstant 28 + 30(g_tTex1di4): 29(ptr) Variable UniformConstant + 35: TypeInt 32 0 + 36: TypeImage 35(int) 1D nonsampled format:Rgba32ui + 37: TypePointer UniformConstant 36 + 38(g_tTex1du4): 37(ptr) Variable UniformConstant + 42: TypeVector 35(int) 4 + 44: TypeImage 6(float) 2D nonsampled format:Rgba32f + 45: TypePointer UniformConstant 44 + 46(g_tTex2df4): 45(ptr) Variable UniformConstant + 48: 16(int) Constant 1 + 49: TypePointer Uniform 17(ivec2) + 53: TypeImage 16(int) 2D nonsampled format:Rgba32i + 54: TypePointer UniformConstant 53 + 55(g_tTex2di4): 54(ptr) Variable UniformConstant + 60: TypeImage 35(int) 2D nonsampled format:Rgba32ui + 61: TypePointer UniformConstant 60 + 62(g_tTex2du4): 61(ptr) Variable UniformConstant + 67: TypeImage 6(float) 3D nonsampled format:Rgba32f + 68: TypePointer UniformConstant 67 + 69(g_tTex3df4): 68(ptr) Variable UniformConstant + 71: 16(int) Constant 2 + 72: TypePointer Uniform 18(ivec3) + 76: TypeImage 16(int) 3D nonsampled format:Rgba32i + 77: TypePointer UniformConstant 76 + 78(g_tTex3di4): 77(ptr) Variable UniformConstant + 83: TypeImage 35(int) 3D nonsampled format:Rgba32ui + 84: TypePointer UniformConstant 83 + 85(g_tTex3du4): 84(ptr) Variable UniformConstant + 90: TypePointer Function 8(PS_OUTPUT) + 92: 6(float) Constant 1065353216 + 93: 7(fvec4) ConstantComposite 92 92 92 92 + 94: TypePointer Function 7(fvec4) + 96: TypePointer Function 6(float) + 103: TypePointer Output 7(fvec4) + 104(Color): 103(ptr) Variable Output + 107: TypePointer Output 6(float) + 108(Depth): 107(ptr) Variable Output + 111: TypeSampler + 112: TypePointer UniformConstant 111 + 113(g_sSamp): 112(ptr) Variable UniformConstant + 114: TypeImage 6(float) 1D array nonsampled format:Rgba32f + 115: TypePointer UniformConstant 114 +116(g_tTex1df4a): 115(ptr) Variable UniformConstant + 117: TypeImage 16(int) 1D array nonsampled format:Rgba32i + 118: TypePointer UniformConstant 117 +119(g_tTex1di4a): 118(ptr) Variable UniformConstant + 120: TypeImage 35(int) 1D array nonsampled format:Rgba32ui + 121: TypePointer UniformConstant 120 +122(g_tTex1du4a): 121(ptr) Variable UniformConstant + 123: TypeImage 6(float) 2D array nonsampled format:Rgba32f + 124: TypePointer UniformConstant 123 +125(g_tTex2df4a): 124(ptr) Variable UniformConstant + 126: TypeImage 16(int) 2D array nonsampled format:Rgba32i + 127: TypePointer UniformConstant 126 +128(g_tTex2di4a): 127(ptr) Variable UniformConstant + 129: TypeImage 35(int) 2D array nonsampled format:Rgba32ui + 130: TypePointer UniformConstant 129 +131(g_tTex2du4a): 130(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 88(psout): 87(ptr) Variable Function - 10: 7 Load 9(g_tTex1df4) - 20: 19(ptr) AccessChain 17 18 - 21: 11(int) Load 20 - 23: 22(fvec4) ImageRead 10 21 - 27: 24 Load 26(g_tTex1di4) - 28: 19(ptr) AccessChain 17 18 - 29: 11(int) Load 28 - 30: 14(ivec4) ImageRead 27 29 - 35: 32 Load 34(g_tTex1du4) - 36: 19(ptr) AccessChain 17 18 - 37: 11(int) Load 36 - 39: 38(ivec4) ImageRead 35 37 - 43: 40 Load 42(g_tTex2df4) - 46: 45(ptr) AccessChain 17 44 - 47: 12(ivec2) Load 46 - 48: 22(fvec4) ImageRead 43 47 - 52: 49 Load 51(g_tTex2di4) - 53: 45(ptr) AccessChain 17 44 - 54: 12(ivec2) Load 53 - 55: 14(ivec4) ImageRead 52 54 - 59: 56 Load 58(g_tTex2du4) - 60: 45(ptr) AccessChain 17 44 - 61: 12(ivec2) Load 60 - 62: 38(ivec4) ImageRead 59 61 - 66: 63 Load 65(g_tTex3df4) - 69: 68(ptr) AccessChain 17 67 - 70: 13(ivec3) Load 69 - 71: 22(fvec4) ImageRead 66 70 - 75: 72 Load 74(g_tTex3di4) - 76: 68(ptr) AccessChain 17 67 - 77: 13(ivec3) Load 76 - 78: 14(ivec4) ImageRead 75 77 - 82: 79 Load 81(g_tTex3du4) - 83: 68(ptr) AccessChain 17 67 - 84: 13(ivec3) Load 83 - 85: 38(ivec4) ImageRead 82 84 - 92: 91(ptr) AccessChain 88(psout) 18 - Store 92 90 - 94: 93(ptr) AccessChain 88(psout) 44 - Store 94 89 - 97: 91(ptr) AccessChain 88(psout) 18 - 98: 22(fvec4) Load 97 - Store 96(Color) 98 - 101: 93(ptr) AccessChain 88(psout) 44 - 102: 6(float) Load 101 - Store 100(Depth) 102 +101(flattenTemp): 90(ptr) Variable Function + 102:8(PS_OUTPUT) FunctionCall 10(@main() + Store 101(flattenTemp) 102 + 105: 94(ptr) AccessChain 101(flattenTemp) 23 + 106: 7(fvec4) Load 105 + Store 104(Color) 106 + 109: 96(ptr) AccessChain 101(flattenTemp) 48 + 110: 6(float) Load 109 + Store 108(Depth) 110 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 91(psout): 90(ptr) Variable Function + 15: 12 Load 14(g_tTex1df4) + 25: 24(ptr) AccessChain 22 23 + 26: 16(int) Load 25 + 27: 7(fvec4) ImageRead 15 26 + 31: 28 Load 30(g_tTex1di4) + 32: 24(ptr) AccessChain 22 23 + 33: 16(int) Load 32 + 34: 19(ivec4) ImageRead 31 33 + 39: 36 Load 38(g_tTex1du4) + 40: 24(ptr) AccessChain 22 23 + 41: 16(int) Load 40 + 43: 42(ivec4) ImageRead 39 41 + 47: 44 Load 46(g_tTex2df4) + 50: 49(ptr) AccessChain 22 48 + 51: 17(ivec2) Load 50 + 52: 7(fvec4) ImageRead 47 51 + 56: 53 Load 55(g_tTex2di4) + 57: 49(ptr) AccessChain 22 48 + 58: 17(ivec2) Load 57 + 59: 19(ivec4) ImageRead 56 58 + 63: 60 Load 62(g_tTex2du4) + 64: 49(ptr) AccessChain 22 48 + 65: 17(ivec2) Load 64 + 66: 42(ivec4) ImageRead 63 65 + 70: 67 Load 69(g_tTex3df4) + 73: 72(ptr) AccessChain 22 71 + 74: 18(ivec3) Load 73 + 75: 7(fvec4) ImageRead 70 74 + 79: 76 Load 78(g_tTex3di4) + 80: 72(ptr) AccessChain 22 71 + 81: 18(ivec3) Load 80 + 82: 19(ivec4) ImageRead 79 81 + 86: 83 Load 85(g_tTex3du4) + 87: 72(ptr) AccessChain 22 71 + 88: 18(ivec3) Load 87 + 89: 42(ivec4) ImageRead 86 88 + 95: 94(ptr) AccessChain 91(psout) 23 + Store 95 93 + 97: 96(ptr) AccessChain 91(psout) 48 + Store 97 92 + 98:8(PS_OUTPUT) Load 91(psout) + ReturnValue 98 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out index d9ae7d5b703..7aec2756537 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.frag.out @@ -2,42 +2,42 @@ hlsl.logical.binary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence -0:13 Test condition and select (temp void) +0:13 Test condition and select ( temp void) 0:13 Condition -0:13 logical-and (temp bool) -0:13 Convert int to bool (temp bool) -0:13 ival: direct index for structure (layout(offset=0 ) uniform int) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 logical-and ( temp bool) +0:13 Convert int to bool ( temp bool) +0:13 ival: direct index for structure ( uniform int) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 0 (const uint) -0:13 Convert int to bool (temp bool) -0:13 Convert float to int (temp int) -0:13 fval: direct index for structure (layout(offset=32 ) uniform float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Convert int to bool ( temp bool) +0:13 Convert float to int ( temp int) +0:13 fval: direct index for structure ( uniform float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 2 (const uint) 0:13 true case is null -0:14 Test condition and select (temp void) +0:14 Test condition and select ( temp void) 0:14 Condition -0:14 logical-or (temp bool) -0:14 Convert int to bool (temp bool) -0:14 ival: direct index for structure (layout(offset=0 ) uniform int) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 logical-or ( temp bool) +0:14 Convert int to bool ( temp bool) +0:14 ival: direct index for structure ( uniform int) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 0 (const uint) -0:14 Convert int to bool (temp bool) -0:14 Convert float to int (temp int) -0:14 fval: direct index for structure (layout(offset=32 ) uniform float) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Convert int to bool ( temp bool) +0:14 Convert float to int ( temp int) +0:14 fval: direct index for structure ( uniform float) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 2 (const uint) 0:14 true case is null -0:17 move second child to first child (temp 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 Color: direct index for structure ( temp 4-component vector of float) +0:17 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: @@ -45,18 +45,21 @@ gl_FragCoord origin is upper left 0:17 1.000000 0:17 1.000000 0:17 1.000000 -0:18 Sequence -0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) -0:18 Constant: -0:18 0 (const int) -0:18 Branch: Return +0:18 Branch: Return with expression +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:12 Color: direct index for structure ( temp 4-component vector of float) +0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -65,42 +68,42 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence -0:13 Test condition and select (temp void) +0:13 Test condition and select ( temp void) 0:13 Condition -0:13 logical-and (temp bool) -0:13 Convert int to bool (temp bool) -0:13 ival: direct index for structure (layout(offset=0 ) uniform int) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 logical-and ( temp bool) +0:13 Convert int to bool ( temp bool) +0:13 ival: direct index for structure ( uniform int) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 0 (const uint) -0:13 Convert int to bool (temp bool) -0:13 Convert float to int (temp int) -0:13 fval: direct index for structure (layout(offset=32 ) uniform float) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Convert int to bool ( temp bool) +0:13 Convert float to int ( temp int) +0:13 fval: direct index for structure ( uniform float) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 2 (const uint) 0:13 true case is null -0:14 Test condition and select (temp void) +0:14 Test condition and select ( temp void) 0:14 Condition -0:14 logical-or (temp bool) -0:14 Convert int to bool (temp bool) -0:14 ival: direct index for structure (layout(offset=0 ) uniform int) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 logical-or ( temp bool) +0:14 Convert int to bool ( temp bool) +0:14 ival: direct index for structure ( uniform int) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 0 (const uint) -0:14 Convert int to bool (temp bool) -0:14 Convert float to int (temp int) -0:14 fval: direct index for structure (layout(offset=32 ) uniform float) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Convert int to bool ( temp bool) +0:14 Convert float to int ( temp int) +0:14 fval: direct index for structure ( uniform float) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 2 (const uint) 0:14 true case is null -0:17 move second child to first child (temp 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 Color: direct index for structure ( temp 4-component vector of float) +0:17 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:17 Constant: 0:17 0 (const int) 0:17 Constant: @@ -108,113 +111,123 @@ gl_FragCoord origin is upper left 0:17 1.000000 0:17 1.000000 0:17 1.000000 -0:18 Sequence -0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) -0:18 Constant: -0:18 0 (const int) -0:18 Branch: Return +0:18 Branch: Return with expression +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:12 Color: direct index for structure ( temp 4-component vector of float) +0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 57 +// Id's are bound by 62 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 53 + EntryPoint Fragment 4 "main" 59 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 11 "$Global" - MemberName 11($Global) 0 "ival" - MemberName 11($Global) 1 "ival4" - MemberName 11($Global) 2 "fval" - MemberName 11($Global) 3 "fval4" - Name 13 "" - Name 45 "PS_OUTPUT" - MemberName 45(PS_OUTPUT) 0 "Color" - Name 47 "psout" - Name 53 "Color" - MemberDecorate 11($Global) 0 Offset 0 - MemberDecorate 11($Global) 1 Offset 16 - MemberDecorate 11($Global) 2 Offset 32 - MemberDecorate 11($Global) 3 Offset 48 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 - Decorate 53(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "$Global" + MemberName 15($Global) 0 "ival" + MemberName 15($Global) 1 "ival4" + MemberName 15($Global) 2 "fval" + MemberName 15($Global) 3 "fval4" + Name 17 "" + Name 50 "psout" + Name 59 "Color" + MemberDecorate 15($Global) 0 Offset 0 + MemberDecorate 15($Global) 1 Offset 16 + MemberDecorate 15($Global) 2 Offset 32 + MemberDecorate 15($Global) 3 Offset 48 + Decorate 15($Global) Block + Decorate 17 DescriptorSet 0 + Decorate 59(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeInt 32 1 - 8: TypeVector 7(int) 4 - 9: TypeFloat 32 - 10: TypeVector 9(float) 4 - 11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4) - 12: TypePointer Uniform 11($Global) - 13: 12(ptr) Variable Uniform - 14: 7(int) Constant 0 - 15: TypePointer Uniform 7(int) - 18: TypeInt 32 0 - 19: 18(int) Constant 0 - 23: 7(int) Constant 2 - 24: TypePointer Uniform 9(float) - 45(PS_OUTPUT): TypeStruct 10(fvec4) - 46: TypePointer Function 45(PS_OUTPUT) - 48: 9(float) Constant 1065353216 - 49: 10(fvec4) ConstantComposite 48 48 48 48 - 50: TypePointer Function 10(fvec4) - 52: TypePointer Output 10(fvec4) - 53(Color): 52(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeBool + 13: TypeInt 32 1 + 14: TypeVector 13(int) 4 + 15($Global): TypeStruct 13(int) 14(ivec4) 6(float) 7(fvec4) + 16: TypePointer Uniform 15($Global) + 17: 16(ptr) Variable Uniform + 18: 13(int) Constant 0 + 19: TypePointer Uniform 13(int) + 22: TypeInt 32 0 + 23: 22(int) Constant 0 + 27: 13(int) Constant 2 + 28: TypePointer Uniform 6(float) + 49: TypePointer Function 8(PS_OUTPUT) + 51: 6(float) Constant 1065353216 + 52: 7(fvec4) ConstantComposite 51 51 51 51 + 53: TypePointer Function 7(fvec4) + 58: TypePointer Output 7(fvec4) + 59(Color): 58(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 47(psout): 46(ptr) Variable Function - 16: 15(ptr) AccessChain 13 14 - 17: 7(int) Load 16 - 20: 6(bool) INotEqual 17 19 - SelectionMerge 22 None - BranchConditional 20 21 22 - 21: Label - 25: 24(ptr) AccessChain 13 23 - 26: 9(float) Load 25 - 27: 7(int) ConvertFToS 26 - 28: 6(bool) INotEqual 27 19 - Branch 22 - 22: Label - 29: 6(bool) Phi 20 5 28 21 - SelectionMerge 31 None - BranchConditional 29 30 31 - 30: Label - Branch 31 - 31: Label - 32: 15(ptr) AccessChain 13 14 - 33: 7(int) Load 32 - 34: 6(bool) INotEqual 33 19 - 35: 6(bool) LogicalNot 34 - SelectionMerge 37 None - BranchConditional 35 36 37 - 36: Label - 38: 24(ptr) AccessChain 13 23 - 39: 9(float) Load 38 - 40: 7(int) ConvertFToS 39 - 41: 6(bool) INotEqual 40 19 - Branch 37 - 37: Label - 42: 6(bool) Phi 34 31 41 36 - SelectionMerge 44 None - BranchConditional 42 43 44 - 43: Label - Branch 44 - 44: Label - 51: 50(ptr) AccessChain 47(psout) 14 - Store 51 49 - 54: 50(ptr) AccessChain 47(psout) 14 - 55: 10(fvec4) Load 54 - Store 53(Color) 55 + 60:8(PS_OUTPUT) FunctionCall 10(@main() + 61: 7(fvec4) CompositeExtract 60 0 + Store 59(Color) 61 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 50(psout): 49(ptr) Variable Function + 20: 19(ptr) AccessChain 17 18 + 21: 13(int) Load 20 + 24: 12(bool) INotEqual 21 23 + SelectionMerge 26 None + BranchConditional 24 25 26 + 25: Label + 29: 28(ptr) AccessChain 17 27 + 30: 6(float) Load 29 + 31: 13(int) ConvertFToS 30 + 32: 12(bool) INotEqual 31 23 + Branch 26 + 26: Label + 33: 12(bool) Phi 24 11 32 25 + SelectionMerge 35 None + BranchConditional 33 34 35 + 34: Label + Branch 35 + 35: Label + 36: 19(ptr) AccessChain 17 18 + 37: 13(int) Load 36 + 38: 12(bool) INotEqual 37 23 + 39: 12(bool) LogicalNot 38 + SelectionMerge 41 None + BranchConditional 39 40 41 + 40: Label + 42: 28(ptr) AccessChain 17 27 + 43: 6(float) Load 42 + 44: 13(int) ConvertFToS 43 + 45: 12(bool) INotEqual 44 23 + Branch 41 + 41: Label + 46: 12(bool) Phi 38 35 45 40 + SelectionMerge 48 None + BranchConditional 46 47 48 + 47: Label + Branch 48 + 48: Label + 54: 53(ptr) AccessChain 50(psout) 18 + Store 54 52 + 55:8(PS_OUTPUT) Load 50(psout) + ReturnValue 55 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out index 32b5a385975..38708ef7e02 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -2,124 +2,127 @@ hlsl.logical.binary.vec.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of bool) -0:11 'r00' (temp 4-component vector of bool) -0:11 Negate conditional (temp 4-component vector of bool) -0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:11 move second child to first child ( temp 4-component vector of bool) +0:11 'r00' ( temp 4-component vector of bool) +0:11 Negate conditional ( temp 4-component vector of bool) +0:11 b4a: direct index for structure ( uniform 4-component vector of bool) +0:11 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:11 Constant: 0:11 0 (const uint) 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of bool) -0:12 'r01' (temp 4-component vector of bool) -0:12 logical-and (temp 4-component vector of bool) -0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 move second child to first child ( temp 4-component vector of bool) +0:12 'r01' ( temp 4-component vector of bool) +0:12 logical-and ( temp 4-component vector of bool) +0:12 b4a: direct index for structure ( uniform 4-component vector of bool) +0:12 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:12 Constant: 0:12 0 (const uint) -0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 b4b: direct index for structure ( uniform 4-component vector of bool) +0:12 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:12 Constant: 0:12 1 (const uint) 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of bool) -0:13 'r02' (temp 4-component vector of bool) -0:13 logical-or (temp 4-component vector of bool) -0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 move second child to first child ( temp 4-component vector of bool) +0:13 'r02' ( temp 4-component vector of bool) +0:13 logical-or ( temp 4-component vector of bool) +0:13 b4a: direct index for structure ( uniform 4-component vector of bool) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:13 Constant: 0:13 0 (const uint) -0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 b4b: direct index for structure ( uniform 4-component vector of bool) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:13 Constant: 0:13 1 (const uint) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of bool) -0:15 'r10' (temp 4-component vector of bool) -0:15 logical-and (temp 4-component vector of bool) -0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) -0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 move second child to first child ( temp 4-component vector of bool) +0:15 'r10' ( temp 4-component vector of bool) +0:15 logical-and ( temp 4-component vector of bool) +0:15 Construct bvec4 ( uniform 4-component vector of bool) +0:15 b1a: direct index for structure ( uniform bool) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:15 Constant: 0:15 2 (const uint) -0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 b4b: direct index for structure ( uniform 4-component vector of bool) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:15 Constant: 0:15 1 (const uint) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of bool) -0:16 'r11' (temp 4-component vector of bool) -0:16 logical-or (temp 4-component vector of bool) -0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) -0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 move second child to first child ( temp 4-component vector of bool) +0:16 'r11' ( temp 4-component vector of bool) +0:16 logical-or ( temp 4-component vector of bool) +0:16 Construct bvec4 ( uniform 4-component vector of bool) +0:16 b1a: direct index for structure ( uniform bool) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:16 Constant: 0:16 2 (const uint) -0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 b4b: direct index for structure ( uniform 4-component vector of bool) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:16 Constant: 0:16 1 (const uint) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of bool) -0:18 'r20' (temp 4-component vector of bool) -0:18 logical-and (temp 4-component vector of bool) -0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 move second child to first child ( temp 4-component vector of bool) +0:18 'r20' ( temp 4-component vector of bool) +0:18 logical-and ( temp 4-component vector of bool) +0:18 b4a: direct index for structure ( uniform 4-component vector of bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:18 Constant: 0:18 0 (const uint) -0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) -0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Construct bvec4 ( uniform 4-component vector of bool) +0:18 b1b: direct index for structure ( uniform bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:18 Constant: 0:18 3 (const uint) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of bool) -0:19 'r21' (temp 4-component vector of bool) -0:19 logical-or (temp 4-component vector of bool) -0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 move second child to first child ( temp 4-component vector of bool) +0:19 'r21' ( temp 4-component vector of bool) +0:19 logical-or ( temp 4-component vector of bool) +0:19 b4a: direct index for structure ( uniform 4-component vector of bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:19 Constant: 0:19 0 (const uint) -0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) -0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Construct bvec4 ( uniform 4-component vector of bool) +0:19 b1b: direct index for structure ( uniform bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:19 Constant: 0:19 3 (const uint) -0:22 move second child to first child (temp 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:22 Constant: 0:22 0 (const int) -0:22 Convert bool to float (temp 4-component vector of float) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 'r00' (temp 4-component vector of bool) -0:22 'r01' (temp 4-component vector of bool) -0:22 'r02' (temp 4-component vector of bool) -0:22 'r10' (temp 4-component vector of bool) -0:22 'r11' (temp 4-component vector of bool) -0:22 'r20' (temp 4-component vector of bool) -0:22 'r21' (temp 4-component vector of bool) -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:22 Convert bool to float ( temp 4-component vector of float) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 'r00' ( temp 4-component vector of bool) +0:22 'r01' ( temp 4-component vector of bool) +0:22 'r02' ( temp 4-component vector of bool) +0:22 'r10' ( temp 4-component vector of bool) +0:22 'r11' ( temp 4-component vector of bool) +0:22 'r20' ( temp 4-component vector of bool) +0:22 'r21' ( temp 4-component vector of bool) +0:23 Branch: Return with expression +0:23 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -128,285 +131,295 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:11 Sequence -0:11 move second child to first child (temp 4-component vector of bool) -0:11 'r00' (temp 4-component vector of bool) -0:11 Negate conditional (temp 4-component vector of bool) -0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:11 move second child to first child ( temp 4-component vector of bool) +0:11 'r00' ( temp 4-component vector of bool) +0:11 Negate conditional ( temp 4-component vector of bool) +0:11 b4a: direct index for structure ( uniform 4-component vector of bool) +0:11 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:11 Constant: 0:11 0 (const uint) 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of bool) -0:12 'r01' (temp 4-component vector of bool) -0:12 logical-and (temp 4-component vector of bool) -0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 move second child to first child ( temp 4-component vector of bool) +0:12 'r01' ( temp 4-component vector of bool) +0:12 logical-and ( temp 4-component vector of bool) +0:12 b4a: direct index for structure ( uniform 4-component vector of bool) +0:12 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:12 Constant: 0:12 0 (const uint) -0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 b4b: direct index for structure ( uniform 4-component vector of bool) +0:12 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:12 Constant: 0:12 1 (const uint) 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of bool) -0:13 'r02' (temp 4-component vector of bool) -0:13 logical-or (temp 4-component vector of bool) -0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 move second child to first child ( temp 4-component vector of bool) +0:13 'r02' ( temp 4-component vector of bool) +0:13 logical-or ( temp 4-component vector of bool) +0:13 b4a: direct index for structure ( uniform 4-component vector of bool) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:13 Constant: 0:13 0 (const uint) -0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 b4b: direct index for structure ( uniform 4-component vector of bool) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:13 Constant: 0:13 1 (const uint) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of bool) -0:15 'r10' (temp 4-component vector of bool) -0:15 logical-and (temp 4-component vector of bool) -0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) -0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 move second child to first child ( temp 4-component vector of bool) +0:15 'r10' ( temp 4-component vector of bool) +0:15 logical-and ( temp 4-component vector of bool) +0:15 Construct bvec4 ( uniform 4-component vector of bool) +0:15 b1a: direct index for structure ( uniform bool) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:15 Constant: 0:15 2 (const uint) -0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 b4b: direct index for structure ( uniform 4-component vector of bool) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:15 Constant: 0:15 1 (const uint) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of bool) -0:16 'r11' (temp 4-component vector of bool) -0:16 logical-or (temp 4-component vector of bool) -0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) -0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 move second child to first child ( temp 4-component vector of bool) +0:16 'r11' ( temp 4-component vector of bool) +0:16 logical-or ( temp 4-component vector of bool) +0:16 Construct bvec4 ( uniform 4-component vector of bool) +0:16 b1a: direct index for structure ( uniform bool) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:16 Constant: 0:16 2 (const uint) -0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 b4b: direct index for structure ( uniform 4-component vector of bool) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:16 Constant: 0:16 1 (const uint) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of bool) -0:18 'r20' (temp 4-component vector of bool) -0:18 logical-and (temp 4-component vector of bool) -0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 move second child to first child ( temp 4-component vector of bool) +0:18 'r20' ( temp 4-component vector of bool) +0:18 logical-and ( temp 4-component vector of bool) +0:18 b4a: direct index for structure ( uniform 4-component vector of bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:18 Constant: 0:18 0 (const uint) -0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) -0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Construct bvec4 ( uniform 4-component vector of bool) +0:18 b1b: direct index for structure ( uniform bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:18 Constant: 0:18 3 (const uint) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of bool) -0:19 'r21' (temp 4-component vector of bool) -0:19 logical-or (temp 4-component vector of bool) -0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 move second child to first child ( temp 4-component vector of bool) +0:19 'r21' ( temp 4-component vector of bool) +0:19 logical-or ( temp 4-component vector of bool) +0:19 b4a: direct index for structure ( uniform 4-component vector of bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:19 Constant: 0:19 0 (const uint) -0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) -0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Construct bvec4 ( uniform 4-component vector of bool) +0:19 b1b: direct index for structure ( uniform bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) 0:19 Constant: 0:19 3 (const uint) -0:22 move second child to first child (temp 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:22 Constant: 0:22 0 (const int) -0:22 Convert bool to float (temp 4-component vector of float) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 logical-or (temp 4-component vector of bool) -0:22 'r00' (temp 4-component vector of bool) -0:22 'r01' (temp 4-component vector of bool) -0:22 'r02' (temp 4-component vector of bool) -0:22 'r10' (temp 4-component vector of bool) -0:22 'r11' (temp 4-component vector of bool) -0:22 'r20' (temp 4-component vector of bool) -0:22 'r21' (temp 4-component vector of bool) -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:22 Convert bool to float ( temp 4-component vector of float) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 logical-or ( temp 4-component vector of bool) +0:22 'r00' ( temp 4-component vector of bool) +0:22 'r01' ( temp 4-component vector of bool) +0:22 'r02' ( temp 4-component vector of bool) +0:22 'r10' ( temp 4-component vector of bool) +0:22 'r11' ( temp 4-component vector of bool) +0:22 'r20' ( temp 4-component vector of bool) +0:22 'r21' ( temp 4-component vector of bool) +0:23 Branch: Return with expression +0:23 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a, uniform 4-component vector of bool b4b, uniform bool b1a, uniform bool b1b}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 115 +// Id's are bound by 120 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 111 + EntryPoint Fragment 4 "main" 117 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 12 "$Global" - MemberName 12($Global) 0 "b4a" - MemberName 12($Global) 1 "b4b" - MemberName 12($Global) 2 "b1a" - MemberName 12($Global) 3 "b1b" - Name 14 "" - Name 24 "r01" - Name 33 "r02" - Name 41 "r10" - Name 52 "r11" - Name 61 "r20" - Name 73 "r21" - Name 87 "PS_OUTPUT" - MemberName 87(PS_OUTPUT) 0 "Color" - Name 89 "psout" - Name 111 "Color" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 16 - MemberDecorate 12($Global) 2 Offset 32 - MemberDecorate 12($Global) 3 Offset 36 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 111(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "r00" + Name 18 "$Global" + MemberName 18($Global) 0 "b4a" + MemberName 18($Global) 1 "b4b" + MemberName 18($Global) 2 "b1a" + MemberName 18($Global) 3 "b1b" + Name 20 "" + Name 30 "r01" + Name 39 "r02" + Name 47 "r10" + Name 58 "r11" + Name 67 "r20" + Name 79 "r21" + Name 92 "psout" + Name 117 "Color" + MemberDecorate 18($Global) 0 Offset 0 + MemberDecorate 18($Global) 1 Offset 16 + MemberDecorate 18($Global) 2 Offset 32 + MemberDecorate 18($Global) 3 Offset 36 + Decorate 18($Global) Block + Decorate 20 DescriptorSet 0 + Decorate 117(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeVector 6(bool) 4 - 8: TypePointer Function 7(bvec4) - 10: TypeInt 32 0 - 11: TypeVector 10(int) 4 - 12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: TypeInt 32 1 - 16: 15(int) Constant 0 - 17: TypePointer Uniform 11(ivec4) - 20: 10(int) Constant 0 - 21: 11(ivec4) ConstantComposite 20 20 20 20 - 28: 15(int) Constant 1 - 42: 15(int) Constant 2 - 43: TypePointer Uniform 10(int) - 67: 15(int) Constant 3 - 85: TypeFloat 32 - 86: TypeVector 85(float) 4 - 87(PS_OUTPUT): TypeStruct 86(fvec4) - 88: TypePointer Function 87(PS_OUTPUT) - 103: 85(float) Constant 0 - 104: 85(float) Constant 1065353216 - 105: 86(fvec4) ConstantComposite 103 103 103 103 - 106: 86(fvec4) ConstantComposite 104 104 104 104 - 108: TypePointer Function 86(fvec4) - 110: TypePointer Output 86(fvec4) - 111(Color): 110(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeBool + 13: TypeVector 12(bool) 4 + 14: TypePointer Function 13(bvec4) + 16: TypeInt 32 0 + 17: TypeVector 16(int) 4 + 18($Global): TypeStruct 17(ivec4) 17(ivec4) 16(int) 16(int) + 19: TypePointer Uniform 18($Global) + 20: 19(ptr) Variable Uniform + 21: TypeInt 32 1 + 22: 21(int) Constant 0 + 23: TypePointer Uniform 17(ivec4) + 26: 16(int) Constant 0 + 27: 17(ivec4) ConstantComposite 26 26 26 26 + 34: 21(int) Constant 1 + 48: 21(int) Constant 2 + 49: TypePointer Uniform 16(int) + 73: 21(int) Constant 3 + 91: TypePointer Function 8(PS_OUTPUT) + 106: 6(float) Constant 0 + 107: 6(float) Constant 1065353216 + 108: 7(fvec4) ConstantComposite 106 106 106 106 + 109: 7(fvec4) ConstantComposite 107 107 107 107 + 111: TypePointer Function 7(fvec4) + 116: TypePointer Output 7(fvec4) + 117(Color): 116(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 24(r01): 8(ptr) Variable Function - 33(r02): 8(ptr) Variable Function - 41(r10): 8(ptr) Variable Function - 52(r11): 8(ptr) Variable Function - 61(r20): 8(ptr) Variable Function - 73(r21): 8(ptr) Variable Function - 89(psout): 88(ptr) Variable Function - 18: 17(ptr) AccessChain 14 16 - 19: 11(ivec4) Load 18 - 22: 7(bvec4) INotEqual 19 21 - 23: 7(bvec4) LogicalNot 22 - Store 9(r00) 23 - 25: 17(ptr) AccessChain 14 16 - 26: 11(ivec4) Load 25 - 27: 7(bvec4) INotEqual 26 21 - 29: 17(ptr) AccessChain 14 28 - 30: 11(ivec4) Load 29 - 31: 7(bvec4) INotEqual 30 21 - 32: 7(bvec4) LogicalAnd 27 31 - Store 24(r01) 32 - 34: 17(ptr) AccessChain 14 16 - 35: 11(ivec4) Load 34 - 36: 7(bvec4) INotEqual 35 21 - 37: 17(ptr) AccessChain 14 28 - 38: 11(ivec4) Load 37 - 39: 7(bvec4) INotEqual 38 21 - 40: 7(bvec4) LogicalOr 36 39 - Store 33(r02) 40 - 44: 43(ptr) AccessChain 14 42 - 45: 10(int) Load 44 - 46: 6(bool) INotEqual 45 20 - 47: 7(bvec4) CompositeConstruct 46 46 46 46 - 48: 17(ptr) AccessChain 14 28 - 49: 11(ivec4) Load 48 - 50: 7(bvec4) INotEqual 49 21 - 51: 7(bvec4) LogicalAnd 47 50 - Store 41(r10) 51 - 53: 43(ptr) AccessChain 14 42 - 54: 10(int) Load 53 - 55: 6(bool) INotEqual 54 20 - 56: 7(bvec4) CompositeConstruct 55 55 55 55 - 57: 17(ptr) AccessChain 14 28 - 58: 11(ivec4) Load 57 - 59: 7(bvec4) INotEqual 58 21 - 60: 7(bvec4) LogicalOr 56 59 - Store 52(r11) 60 - 62: 17(ptr) AccessChain 14 16 - 63: 11(ivec4) Load 62 - 64: 7(bvec4) INotEqual 63 21 - SelectionMerge 66 None - BranchConditional 64 65 66 - 65: Label - 68: 43(ptr) AccessChain 14 67 - 69: 10(int) Load 68 - 70: 6(bool) INotEqual 69 20 - 71: 7(bvec4) CompositeConstruct 70 70 70 70 - Branch 66 - 66: Label - 72: 6(bool) Phi 64 5 71 65 - Store 61(r20) 72 - 74: 17(ptr) AccessChain 14 16 - 75: 11(ivec4) Load 74 - 76: 7(bvec4) INotEqual 75 21 - 77: 6(bool) LogicalNot 76 - SelectionMerge 79 None - BranchConditional 77 78 79 - 78: Label - 80: 43(ptr) AccessChain 14 67 - 81: 10(int) Load 80 - 82: 6(bool) INotEqual 81 20 - 83: 7(bvec4) CompositeConstruct 82 82 82 82 - Branch 79 - 79: Label - 84: 6(bool) Phi 76 66 83 78 - Store 73(r21) 84 - 90: 7(bvec4) Load 9(r00) - 91: 7(bvec4) Load 24(r01) - 92: 7(bvec4) LogicalOr 90 91 - 93: 7(bvec4) Load 33(r02) - 94: 7(bvec4) LogicalOr 92 93 - 95: 7(bvec4) Load 41(r10) - 96: 7(bvec4) LogicalOr 94 95 - 97: 7(bvec4) Load 52(r11) - 98: 7(bvec4) LogicalOr 96 97 - 99: 7(bvec4) Load 61(r20) - 100: 7(bvec4) LogicalOr 98 99 - 101: 7(bvec4) Load 73(r21) - 102: 7(bvec4) LogicalOr 100 101 - 107: 86(fvec4) Select 102 106 105 - 109: 108(ptr) AccessChain 89(psout) 16 - Store 109 107 - 112: 108(ptr) AccessChain 89(psout) 16 - 113: 86(fvec4) Load 112 - Store 111(Color) 113 + 118:8(PS_OUTPUT) FunctionCall 10(@main() + 119: 7(fvec4) CompositeExtract 118 0 + Store 117(Color) 119 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 15(r00): 14(ptr) Variable Function + 30(r01): 14(ptr) Variable Function + 39(r02): 14(ptr) Variable Function + 47(r10): 14(ptr) Variable Function + 58(r11): 14(ptr) Variable Function + 67(r20): 14(ptr) Variable Function + 79(r21): 14(ptr) Variable Function + 92(psout): 91(ptr) Variable Function + 24: 23(ptr) AccessChain 20 22 + 25: 17(ivec4) Load 24 + 28: 13(bvec4) INotEqual 25 27 + 29: 13(bvec4) LogicalNot 28 + Store 15(r00) 29 + 31: 23(ptr) AccessChain 20 22 + 32: 17(ivec4) Load 31 + 33: 13(bvec4) INotEqual 32 27 + 35: 23(ptr) AccessChain 20 34 + 36: 17(ivec4) Load 35 + 37: 13(bvec4) INotEqual 36 27 + 38: 13(bvec4) LogicalAnd 33 37 + Store 30(r01) 38 + 40: 23(ptr) AccessChain 20 22 + 41: 17(ivec4) Load 40 + 42: 13(bvec4) INotEqual 41 27 + 43: 23(ptr) AccessChain 20 34 + 44: 17(ivec4) Load 43 + 45: 13(bvec4) INotEqual 44 27 + 46: 13(bvec4) LogicalOr 42 45 + Store 39(r02) 46 + 50: 49(ptr) AccessChain 20 48 + 51: 16(int) Load 50 + 52: 12(bool) INotEqual 51 26 + 53: 13(bvec4) CompositeConstruct 52 52 52 52 + 54: 23(ptr) AccessChain 20 34 + 55: 17(ivec4) Load 54 + 56: 13(bvec4) INotEqual 55 27 + 57: 13(bvec4) LogicalAnd 53 56 + Store 47(r10) 57 + 59: 49(ptr) AccessChain 20 48 + 60: 16(int) Load 59 + 61: 12(bool) INotEqual 60 26 + 62: 13(bvec4) CompositeConstruct 61 61 61 61 + 63: 23(ptr) AccessChain 20 34 + 64: 17(ivec4) Load 63 + 65: 13(bvec4) INotEqual 64 27 + 66: 13(bvec4) LogicalOr 62 65 + Store 58(r11) 66 + 68: 23(ptr) AccessChain 20 22 + 69: 17(ivec4) Load 68 + 70: 13(bvec4) INotEqual 69 27 + SelectionMerge 72 None + BranchConditional 70 71 72 + 71: Label + 74: 49(ptr) AccessChain 20 73 + 75: 16(int) Load 74 + 76: 12(bool) INotEqual 75 26 + 77: 13(bvec4) CompositeConstruct 76 76 76 76 + Branch 72 + 72: Label + 78: 12(bool) Phi 70 11 77 71 + Store 67(r20) 78 + 80: 23(ptr) AccessChain 20 22 + 81: 17(ivec4) Load 80 + 82: 13(bvec4) INotEqual 81 27 + 83: 12(bool) LogicalNot 82 + SelectionMerge 85 None + BranchConditional 83 84 85 + 84: Label + 86: 49(ptr) AccessChain 20 73 + 87: 16(int) Load 86 + 88: 12(bool) INotEqual 87 26 + 89: 13(bvec4) CompositeConstruct 88 88 88 88 + Branch 85 + 85: Label + 90: 12(bool) Phi 82 72 89 84 + Store 79(r21) 90 + 93: 13(bvec4) Load 15(r00) + 94: 13(bvec4) Load 30(r01) + 95: 13(bvec4) LogicalOr 93 94 + 96: 13(bvec4) Load 39(r02) + 97: 13(bvec4) LogicalOr 95 96 + 98: 13(bvec4) Load 47(r10) + 99: 13(bvec4) LogicalOr 97 98 + 100: 13(bvec4) Load 58(r11) + 101: 13(bvec4) LogicalOr 99 100 + 102: 13(bvec4) Load 67(r20) + 103: 13(bvec4) LogicalOr 101 102 + 104: 13(bvec4) Load 79(r21) + 105: 13(bvec4) LogicalOr 103 104 + 110: 7(fvec4) Select 105 109 108 + 112: 111(ptr) AccessChain 92(psout) 22 + Store 112 110 + 113:8(PS_OUTPUT) Load 92(psout) + ReturnValue 113 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out index 1aaa69a24eb..414879469dc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.logical.unary.frag.out @@ -2,68 +2,68 @@ hlsl.logical.unary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence -0:13 Negate conditional (temp bool) -0:13 Convert int to bool (temp bool) -0:13 ival: direct index for structure (layout(offset=0 ) uniform int) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Negate conditional ( temp bool) +0:13 Convert int to bool ( temp bool) +0:13 ival: direct index for structure ( uniform int) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 0 (const uint) -0:14 Negate conditional (temp 4-component vector of bool) -0:14 Convert int to bool (temp 4-component vector of bool) -0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Negate conditional ( temp 4-component vector of bool) +0:14 Convert int to bool ( temp 4-component vector of bool) +0:14 ival4: direct index for structure ( uniform 4-component vector of int) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 1 (const uint) -0:16 Negate conditional (temp bool) -0:16 Convert float to bool (temp bool) -0:16 fval: direct index for structure (layout(offset=32 ) uniform float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:16 Negate conditional ( temp bool) +0:16 Convert float to bool ( temp bool) +0:16 fval: direct index for structure ( uniform float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 2 (const uint) -0:17 Negate conditional (temp 4-component vector of bool) -0:17 Convert float to bool (temp 4-component vector of bool) -0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float) -0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:17 Negate conditional ( temp 4-component vector of bool) +0:17 Convert float to bool ( temp 4-component vector of bool) +0:17 fval4: direct index for structure ( uniform 4-component vector of float) +0:17 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:17 Constant: 0:17 3 (const uint) -0:19 Test condition and select (temp void) +0:19 Test condition and select ( temp void) 0:19 Condition -0:19 ival: direct index for structure (layout(offset=0 ) uniform int) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:19 ival: direct index for structure ( uniform int) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 0 (const uint) 0:19 true case is null -0:20 Test condition and select (temp void) +0:20 Test condition and select ( temp void) 0:20 Condition -0:20 fval: direct index for structure (layout(offset=32 ) uniform float) -0:20 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:20 fval: direct index for structure ( uniform float) +0:20 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:20 Constant: 0:20 2 (const uint) 0:20 true case is null -0:21 Test condition and select (temp void) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 Negate conditional (temp bool) -0:21 Convert int to bool (temp bool) -0:21 ival: direct index for structure (layout(offset=0 ) uniform int) -0:21 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:21 Negate conditional ( temp bool) +0:21 Convert int to bool ( temp bool) +0:21 ival: direct index for structure ( uniform int) +0:21 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:21 Constant: 0:21 0 (const uint) 0:21 true case is null -0:22 Test condition and select (temp void) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Negate conditional (temp bool) -0:22 Convert float to bool (temp bool) -0:22 fval: direct index for structure (layout(offset=32 ) uniform float) -0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:22 Negate conditional ( temp bool) +0:22 Convert float to bool ( temp bool) +0:22 fval: direct index for structure ( uniform float) +0:22 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:22 Constant: 0:22 2 (const uint) 0:22 true case is null -0:25 move second child to first child (temp 4-component vector of float) -0:25 Color: direct index for structure (temp 4-component vector of float) -0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 Color: direct index for structure ( temp 4-component vector of float) +0:25 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:25 Constant: 0:25 0 (const int) 0:25 Constant: @@ -71,18 +71,21 @@ gl_FragCoord origin is upper left 0:25 1.000000 0:25 1.000000 0:25 1.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:12 Color: direct index for structure ( temp 4-component vector of float) +0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -91,68 +94,68 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:12 Function Parameters: 0:? Sequence -0:13 Negate conditional (temp bool) -0:13 Convert int to bool (temp bool) -0:13 ival: direct index for structure (layout(offset=0 ) uniform int) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Negate conditional ( temp bool) +0:13 Convert int to bool ( temp bool) +0:13 ival: direct index for structure ( uniform int) +0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:13 Constant: 0:13 0 (const uint) -0:14 Negate conditional (temp 4-component vector of bool) -0:14 Convert int to bool (temp 4-component vector of bool) -0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int) -0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Negate conditional ( temp 4-component vector of bool) +0:14 Convert int to bool ( temp 4-component vector of bool) +0:14 ival4: direct index for structure ( uniform 4-component vector of int) +0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:14 Constant: 0:14 1 (const uint) -0:16 Negate conditional (temp bool) -0:16 Convert float to bool (temp bool) -0:16 fval: direct index for structure (layout(offset=32 ) uniform float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:16 Negate conditional ( temp bool) +0:16 Convert float to bool ( temp bool) +0:16 fval: direct index for structure ( uniform float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 2 (const uint) -0:17 Negate conditional (temp 4-component vector of bool) -0:17 Convert float to bool (temp 4-component vector of bool) -0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float) -0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:17 Negate conditional ( temp 4-component vector of bool) +0:17 Convert float to bool ( temp 4-component vector of bool) +0:17 fval4: direct index for structure ( uniform 4-component vector of float) +0:17 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:17 Constant: 0:17 3 (const uint) -0:19 Test condition and select (temp void) +0:19 Test condition and select ( temp void) 0:19 Condition -0:19 ival: direct index for structure (layout(offset=0 ) uniform int) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:19 ival: direct index for structure ( uniform int) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 0 (const uint) 0:19 true case is null -0:20 Test condition and select (temp void) +0:20 Test condition and select ( temp void) 0:20 Condition -0:20 fval: direct index for structure (layout(offset=32 ) uniform float) -0:20 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:20 fval: direct index for structure ( uniform float) +0:20 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:20 Constant: 0:20 2 (const uint) 0:20 true case is null -0:21 Test condition and select (temp void) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 Negate conditional (temp bool) -0:21 Convert int to bool (temp bool) -0:21 ival: direct index for structure (layout(offset=0 ) uniform int) -0:21 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:21 Negate conditional ( temp bool) +0:21 Convert int to bool ( temp bool) +0:21 ival: direct index for structure ( uniform int) +0:21 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:21 Constant: 0:21 0 (const uint) 0:21 true case is null -0:22 Test condition and select (temp void) +0:22 Test condition and select ( temp void) 0:22 Condition -0:22 Negate conditional (temp bool) -0:22 Convert float to bool (temp bool) -0:22 fval: direct index for structure (layout(offset=32 ) uniform float) -0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:22 Negate conditional ( temp bool) +0:22 Convert float to bool ( temp bool) +0:22 fval: direct index for structure ( uniform float) +0:22 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:22 Constant: 0:22 2 (const uint) 0:22 true case is null -0:25 move second child to first child (temp 4-component vector of float) -0:25 Color: direct index for structure (temp 4-component vector of float) -0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 Color: direct index for structure ( temp 4-component vector of float) +0:25 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:25 Constant: 0:25 0 (const int) 0:25 Constant: @@ -160,133 +163,143 @@ gl_FragCoord origin is upper left 0:25 1.000000 0:25 1.000000 0:25 1.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:12 Color: direct index for structure ( temp 4-component vector of float) +0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:12 Constant: +0:12 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 77 +// Id's are bound by 82 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 73 + EntryPoint Fragment 4 "main" 79 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 10 "$Global" - MemberName 10($Global) 0 "ival" - MemberName 10($Global) 1 "ival4" - MemberName 10($Global) 2 "fval" - MemberName 10($Global) 3 "fval4" - Name 12 "" - Name 65 "PS_OUTPUT" - MemberName 65(PS_OUTPUT) 0 "Color" - Name 67 "psout" - Name 73 "Color" - MemberDecorate 10($Global) 0 Offset 0 - MemberDecorate 10($Global) 1 Offset 16 - MemberDecorate 10($Global) 2 Offset 32 - MemberDecorate 10($Global) 3 Offset 48 - Decorate 10($Global) Block - Decorate 12 DescriptorSet 0 - Decorate 73(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "$Global" + MemberName 14($Global) 0 "ival" + MemberName 14($Global) 1 "ival4" + MemberName 14($Global) 2 "fval" + MemberName 14($Global) 3 "fval4" + Name 16 "" + Name 70 "psout" + Name 79 "Color" + MemberDecorate 14($Global) 0 Offset 0 + MemberDecorate 14($Global) 1 Offset 16 + MemberDecorate 14($Global) 2 Offset 32 + MemberDecorate 14($Global) 3 Offset 48 + Decorate 14($Global) Block + Decorate 16 DescriptorSet 0 + Decorate 79(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeVector 6(int) 4 - 8: TypeFloat 32 - 9: TypeVector 8(float) 4 - 10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4) - 11: TypePointer Uniform 10($Global) - 12: 11(ptr) Variable Uniform - 13: 6(int) Constant 0 - 14: TypePointer Uniform 6(int) - 17: TypeBool - 18: TypeInt 32 0 - 19: 18(int) Constant 0 - 22: 6(int) Constant 1 - 23: TypePointer Uniform 7(ivec4) - 26: TypeVector 17(bool) 4 - 27: TypeVector 18(int) 4 - 28: 27(ivec4) ConstantComposite 19 19 19 19 - 31: 6(int) Constant 2 - 32: TypePointer Uniform 8(float) - 35: 8(float) Constant 0 - 38: 6(int) Constant 3 - 39: TypePointer Uniform 9(fvec4) - 42: 9(fvec4) ConstantComposite 35 35 35 35 - 65(PS_OUTPUT): TypeStruct 9(fvec4) - 66: TypePointer Function 65(PS_OUTPUT) - 68: 8(float) Constant 1065353216 - 69: 9(fvec4) ConstantComposite 68 68 68 68 - 70: TypePointer Function 9(fvec4) - 72: TypePointer Output 9(fvec4) - 73(Color): 72(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeVector 12(int) 4 + 14($Global): TypeStruct 12(int) 13(ivec4) 6(float) 7(fvec4) + 15: TypePointer Uniform 14($Global) + 16: 15(ptr) Variable Uniform + 17: 12(int) Constant 0 + 18: TypePointer Uniform 12(int) + 21: TypeBool + 22: TypeInt 32 0 + 23: 22(int) Constant 0 + 26: 12(int) Constant 1 + 27: TypePointer Uniform 13(ivec4) + 30: TypeVector 21(bool) 4 + 31: TypeVector 22(int) 4 + 32: 31(ivec4) ConstantComposite 23 23 23 23 + 35: 12(int) Constant 2 + 36: TypePointer Uniform 6(float) + 39: 6(float) Constant 0 + 42: 12(int) Constant 3 + 43: TypePointer Uniform 7(fvec4) + 46: 7(fvec4) ConstantComposite 39 39 39 39 + 69: TypePointer Function 8(PS_OUTPUT) + 71: 6(float) Constant 1065353216 + 72: 7(fvec4) ConstantComposite 71 71 71 71 + 73: TypePointer Function 7(fvec4) + 78: TypePointer Output 7(fvec4) + 79(Color): 78(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 67(psout): 66(ptr) Variable Function - 15: 14(ptr) AccessChain 12 13 - 16: 6(int) Load 15 - 20: 17(bool) INotEqual 16 19 - 21: 17(bool) LogicalNot 20 - 24: 23(ptr) AccessChain 12 22 - 25: 7(ivec4) Load 24 - 29: 26(bvec4) INotEqual 25 28 - 30: 26(bvec4) LogicalNot 29 - 33: 32(ptr) AccessChain 12 31 - 34: 8(float) Load 33 - 36: 17(bool) FOrdNotEqual 34 35 - 37: 17(bool) LogicalNot 36 - 40: 39(ptr) AccessChain 12 38 - 41: 9(fvec4) Load 40 - 43: 26(bvec4) FOrdNotEqual 41 42 - 44: 26(bvec4) LogicalNot 43 - 45: 14(ptr) AccessChain 12 13 - 46: 6(int) Load 45 - SelectionMerge 48 None - BranchConditional 46 47 48 - 47: Label - Branch 48 - 48: Label - 49: 32(ptr) AccessChain 12 31 - 50: 8(float) Load 49 + 80:8(PS_OUTPUT) FunctionCall 10(@main() + 81: 7(fvec4) CompositeExtract 80 0 + Store 79(Color) 81 + Return + FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 70(psout): 69(ptr) Variable Function + 19: 18(ptr) AccessChain 16 17 + 20: 12(int) Load 19 + 24: 21(bool) INotEqual 20 23 + 25: 21(bool) LogicalNot 24 + 28: 27(ptr) AccessChain 16 26 + 29: 13(ivec4) Load 28 + 33: 30(bvec4) INotEqual 29 32 + 34: 30(bvec4) LogicalNot 33 + 37: 36(ptr) AccessChain 16 35 + 38: 6(float) Load 37 + 40: 21(bool) FOrdNotEqual 38 39 + 41: 21(bool) LogicalNot 40 + 44: 43(ptr) AccessChain 16 42 + 45: 7(fvec4) Load 44 + 47: 30(bvec4) FOrdNotEqual 45 46 + 48: 30(bvec4) LogicalNot 47 + 49: 18(ptr) AccessChain 16 17 + 50: 12(int) Load 49 SelectionMerge 52 None BranchConditional 50 51 52 51: Label Branch 52 52: Label - 53: 14(ptr) AccessChain 12 13 - 54: 6(int) Load 53 - 55: 17(bool) INotEqual 54 19 - 56: 17(bool) LogicalNot 55 - SelectionMerge 58 None - BranchConditional 56 57 58 - 57: Label - Branch 58 - 58: Label - 59: 32(ptr) AccessChain 12 31 - 60: 8(float) Load 59 - 61: 17(bool) FOrdNotEqual 60 35 - 62: 17(bool) LogicalNot 61 - SelectionMerge 64 None - BranchConditional 62 63 64 - 63: Label - Branch 64 - 64: Label - 71: 70(ptr) AccessChain 67(psout) 13 - Store 71 69 - 74: 70(ptr) AccessChain 67(psout) 13 - 75: 9(fvec4) Load 74 - Store 73(Color) 75 - Return + 53: 36(ptr) AccessChain 16 35 + 54: 6(float) Load 53 + SelectionMerge 56 None + BranchConditional 54 55 56 + 55: Label + Branch 56 + 56: Label + 57: 18(ptr) AccessChain 16 17 + 58: 12(int) Load 57 + 59: 21(bool) INotEqual 58 23 + 60: 21(bool) LogicalNot 59 + SelectionMerge 62 None + BranchConditional 60 61 62 + 61: Label + Branch 62 + 62: Label + 63: 36(ptr) AccessChain 16 35 + 64: 6(float) Load 63 + 65: 21(bool) FOrdNotEqual 64 39 + 66: 21(bool) LogicalNot 65 + SelectionMerge 68 None + BranchConditional 66 67 68 + 67: Label + Branch 68 + 68: Label + 74: 73(ptr) AccessChain 70(psout) 17 + Store 74 72 + 75:8(PS_OUTPUT) Load 70(psout) + ReturnValue 75 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out index f9dd65f9e7b..cd0dbbf5d73 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matNx1.frag.out @@ -2,55 +2,55 @@ hlsl.matNx1.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestMatNx1( (temp void) +0:3 Function Definition: TestMatNx1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:13 Sequence -0:13 move second child to first child (temp 1X1 matrix of float) -0:13 'r00' (temp 1X1 matrix of float) -0:13 transpose (temp 1X1 matrix of float) -0:13 'f1x1' (temp 1X1 matrix of float) +0:13 move second child to first child ( temp 1X1 matrix of float) +0:13 'r00' ( temp 1X1 matrix of float) +0:13 transpose ( temp 1X1 matrix of float) +0:13 'f1x1' ( temp 1X1 matrix of float) 0:14 Sequence -0:14 move second child to first child (temp 1X2 matrix of float) -0:14 'r01' (temp 1X2 matrix of float) -0:14 transpose (temp 1X2 matrix of float) -0:14 'f2x1' (temp 2X1 matrix of float) +0:14 move second child to first child ( temp 1X2 matrix of float) +0:14 'r01' ( temp 1X2 matrix of float) +0:14 transpose ( temp 1X2 matrix of float) +0:14 'f2x1' ( temp 2X1 matrix of float) 0:15 Sequence -0:15 move second child to first child (temp 1X3 matrix of float) -0:15 'r02' (temp 1X3 matrix of float) -0:15 transpose (temp 1X3 matrix of float) -0:15 'f3x1' (temp 3X1 matrix of float) +0:15 move second child to first child ( temp 1X3 matrix of float) +0:15 'r02' ( temp 1X3 matrix of float) +0:15 transpose ( temp 1X3 matrix of float) +0:15 'f3x1' ( temp 3X1 matrix of float) 0:16 Sequence -0:16 move second child to first child (temp 1X4 matrix of float) -0:16 'r03' (temp 1X4 matrix of float) -0:16 transpose (temp 1X4 matrix of float) -0:16 'f4x1' (temp 4X1 matrix of float) +0:16 move second child to first child ( temp 1X4 matrix of float) +0:16 'r03' ( temp 1X4 matrix of float) +0:16 transpose ( temp 1X4 matrix of float) +0:16 'f4x1' ( temp 4X1 matrix of float) 0:18 Sequence -0:18 move second child to first child (temp 1X1 matrix of float) -0:18 'r10' (temp 1X1 matrix of float) -0:18 transpose (temp 1X1 matrix of float) -0:18 'f1x1' (temp 1X1 matrix of float) +0:18 move second child to first child ( temp 1X1 matrix of float) +0:18 'r10' ( temp 1X1 matrix of float) +0:18 transpose ( temp 1X1 matrix of float) +0:18 'f1x1' ( temp 1X1 matrix of float) 0:19 Sequence -0:19 move second child to first child (temp 2X1 matrix of float) -0:19 'r11' (temp 2X1 matrix of float) -0:19 transpose (temp 2X1 matrix of float) -0:19 'f1x2' (temp 1X2 matrix of float) +0:19 move second child to first child ( temp 2X1 matrix of float) +0:19 'r11' ( temp 2X1 matrix of float) +0:19 transpose ( temp 2X1 matrix of float) +0:19 'f1x2' ( temp 1X2 matrix of float) 0:20 Sequence -0:20 move second child to first child (temp 3X1 matrix of float) -0:20 'r12' (temp 3X1 matrix of float) -0:20 transpose (temp 3X1 matrix of float) -0:20 'f1x3' (temp 1X3 matrix of float) +0:20 move second child to first child ( temp 3X1 matrix of float) +0:20 'r12' ( temp 3X1 matrix of float) +0:20 transpose ( temp 3X1 matrix of float) +0:20 'f1x3' ( temp 1X3 matrix of float) 0:21 Sequence -0:21 move second child to first child (temp 4X1 matrix of float) -0:21 'r13' (temp 4X1 matrix of float) -0:21 transpose (temp 4X1 matrix of float) -0:21 'f1x4' (temp 1X4 matrix of float) -0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:21 move second child to first child ( temp 4X1 matrix of float) +0:21 'r13' ( temp 4X1 matrix of float) +0:21 transpose ( temp 4X1 matrix of float) +0:21 'f1x4' ( temp 1X4 matrix of float) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:27 Function Parameters: 0:? Sequence -0:29 move second child to first child (temp 4-component vector of float) -0:29 color: direct index for structure (temp 4-component vector of float) -0:29 'ps_output' (temp structure{temp 4-component vector of float color}) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 color: direct index for structure ( temp 4-component vector of float) +0:29 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: @@ -58,17 +58,20 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:30 color: direct index for structure (temp 4-component vector of float) -0:30 'ps_output' (temp structure{temp 4-component vector of float color}) -0:30 Constant: -0:30 0 (const int) -0:30 Branch: Return +0:30 Branch: Return with expression +0:30 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:27 color: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -77,55 +80,55 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestMatNx1( (temp void) +0:3 Function Definition: TestMatNx1( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:13 Sequence -0:13 move second child to first child (temp 1X1 matrix of float) -0:13 'r00' (temp 1X1 matrix of float) -0:13 transpose (temp 1X1 matrix of float) -0:13 'f1x1' (temp 1X1 matrix of float) +0:13 move second child to first child ( temp 1X1 matrix of float) +0:13 'r00' ( temp 1X1 matrix of float) +0:13 transpose ( temp 1X1 matrix of float) +0:13 'f1x1' ( temp 1X1 matrix of float) 0:14 Sequence -0:14 move second child to first child (temp 1X2 matrix of float) -0:14 'r01' (temp 1X2 matrix of float) -0:14 transpose (temp 1X2 matrix of float) -0:14 'f2x1' (temp 2X1 matrix of float) +0:14 move second child to first child ( temp 1X2 matrix of float) +0:14 'r01' ( temp 1X2 matrix of float) +0:14 transpose ( temp 1X2 matrix of float) +0:14 'f2x1' ( temp 2X1 matrix of float) 0:15 Sequence -0:15 move second child to first child (temp 1X3 matrix of float) -0:15 'r02' (temp 1X3 matrix of float) -0:15 transpose (temp 1X3 matrix of float) -0:15 'f3x1' (temp 3X1 matrix of float) +0:15 move second child to first child ( temp 1X3 matrix of float) +0:15 'r02' ( temp 1X3 matrix of float) +0:15 transpose ( temp 1X3 matrix of float) +0:15 'f3x1' ( temp 3X1 matrix of float) 0:16 Sequence -0:16 move second child to first child (temp 1X4 matrix of float) -0:16 'r03' (temp 1X4 matrix of float) -0:16 transpose (temp 1X4 matrix of float) -0:16 'f4x1' (temp 4X1 matrix of float) +0:16 move second child to first child ( temp 1X4 matrix of float) +0:16 'r03' ( temp 1X4 matrix of float) +0:16 transpose ( temp 1X4 matrix of float) +0:16 'f4x1' ( temp 4X1 matrix of float) 0:18 Sequence -0:18 move second child to first child (temp 1X1 matrix of float) -0:18 'r10' (temp 1X1 matrix of float) -0:18 transpose (temp 1X1 matrix of float) -0:18 'f1x1' (temp 1X1 matrix of float) +0:18 move second child to first child ( temp 1X1 matrix of float) +0:18 'r10' ( temp 1X1 matrix of float) +0:18 transpose ( temp 1X1 matrix of float) +0:18 'f1x1' ( temp 1X1 matrix of float) 0:19 Sequence -0:19 move second child to first child (temp 2X1 matrix of float) -0:19 'r11' (temp 2X1 matrix of float) -0:19 transpose (temp 2X1 matrix of float) -0:19 'f1x2' (temp 1X2 matrix of float) +0:19 move second child to first child ( temp 2X1 matrix of float) +0:19 'r11' ( temp 2X1 matrix of float) +0:19 transpose ( temp 2X1 matrix of float) +0:19 'f1x2' ( temp 1X2 matrix of float) 0:20 Sequence -0:20 move second child to first child (temp 3X1 matrix of float) -0:20 'r12' (temp 3X1 matrix of float) -0:20 transpose (temp 3X1 matrix of float) -0:20 'f1x3' (temp 1X3 matrix of float) +0:20 move second child to first child ( temp 3X1 matrix of float) +0:20 'r12' ( temp 3X1 matrix of float) +0:20 transpose ( temp 3X1 matrix of float) +0:20 'f1x3' ( temp 1X3 matrix of float) 0:21 Sequence -0:21 move second child to first child (temp 4X1 matrix of float) -0:21 'r13' (temp 4X1 matrix of float) -0:21 transpose (temp 4X1 matrix of float) -0:21 'f1x4' (temp 1X4 matrix of float) -0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:21 move second child to first child ( temp 4X1 matrix of float) +0:21 'r13' ( temp 4X1 matrix of float) +0:21 transpose ( temp 4X1 matrix of float) +0:21 'f1x4' ( temp 1X4 matrix of float) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:27 Function Parameters: 0:? Sequence -0:29 move second child to first child (temp 4-component vector of float) -0:29 color: direct index for structure (temp 4-component vector of float) -0:29 'ps_output' (temp structure{temp 4-component vector of float color}) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 color: direct index for structure ( temp 4-component vector of float) +0:29 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: @@ -133,129 +136,139 @@ gl_FragCoord origin is upper left 0:29 1.000000 0:29 1.000000 0:29 1.000000 -0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:30 color: direct index for structure (temp 4-component vector of float) -0:30 'ps_output' (temp structure{temp 4-component vector of float color}) -0:30 Constant: -0:30 0 (const int) -0:30 Branch: Return +0:30 Branch: Return with expression +0:30 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:27 color: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 77 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 68 + EntryPoint Fragment 4 "main" 74 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestMatNx1(" - Name 12 "r00" - Name 13 "f1x1" - Name 19 "r01" - Name 22 "f2x1" - Name 28 "r02" - Name 31 "f3x1" - Name 37 "r03" - Name 40 "f4x1" - Name 43 "r10" - Name 46 "r11" - Name 47 "f1x2" - Name 50 "r12" - Name 51 "f1x3" - Name 54 "r13" - Name 55 "f1x4" - Name 58 "PS_OUTPUT" - MemberName 58(PS_OUTPUT) 0 "color" - Name 60 "ps_output" - Name 68 "color" - Decorate 68(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 17 "r00" + Name 18 "f1x1" + Name 24 "r01" + Name 27 "f2x1" + Name 33 "r02" + Name 36 "f3x1" + Name 41 "r03" + Name 44 "f4x1" + Name 47 "r10" + Name 50 "r11" + Name 51 "f1x2" + Name 54 "r12" + Name 55 "f1x3" + Name 58 "r13" + Name 59 "f1x4" + Name 63 "ps_output" + Name 74 "color" + Decorate 74(color) Location 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 - 9: TypeVector 8(float) 1 - 10: TypeMatrix 9(fvec) 1 - 11: TypePointer Function 10 - 16: TypeVector 8(float) 2 - 17: TypeMatrix 16(fvec2) 1 - 18: TypePointer Function 17 - 20: TypeMatrix 9(fvec) 2 - 21: TypePointer Function 20 - 25: TypeVector 8(float) 3 - 26: TypeMatrix 25(fvec3) 1 - 27: TypePointer Function 26 - 29: TypeMatrix 9(fvec) 3 - 30: TypePointer Function 29 - 34: TypeVector 8(float) 4 - 35: TypeMatrix 34(fvec4) 1 - 36: TypePointer Function 35 - 38: TypeMatrix 9(fvec) 4 - 39: TypePointer Function 38 - 58(PS_OUTPUT): TypeStruct 34(fvec4) - 59: TypePointer Function 58(PS_OUTPUT) - 61: TypeInt 32 1 - 62: 61(int) Constant 0 - 63: 8(float) Constant 1065353216 - 64: 34(fvec4) ConstantComposite 63 63 63 63 - 65: TypePointer Function 34(fvec4) - 67: TypePointer Output 34(fvec4) - 68(color): 67(ptr) Variable Output + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeVector 8(float) 1 + 15: TypeMatrix 14(fvec) 1 + 16: TypePointer Function 15 + 21: TypeVector 8(float) 2 + 22: TypeMatrix 21(fvec2) 1 + 23: TypePointer Function 22 + 25: TypeMatrix 14(fvec) 2 + 26: TypePointer Function 25 + 30: TypeVector 8(float) 3 + 31: TypeMatrix 30(fvec3) 1 + 32: TypePointer Function 31 + 34: TypeMatrix 14(fvec) 3 + 35: TypePointer Function 34 + 39: TypeMatrix 9(fvec4) 1 + 40: TypePointer Function 39 + 42: TypeMatrix 14(fvec) 4 + 43: TypePointer Function 42 + 62: TypePointer Function 10(PS_OUTPUT) + 64: TypeInt 32 1 + 65: 64(int) Constant 0 + 66: 8(float) Constant 1065353216 + 67: 9(fvec4) ConstantComposite 66 66 66 66 + 68: TypePointer Function 9(fvec4) + 73: TypePointer Output 9(fvec4) + 74(color): 73(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 60(ps_output): 59(ptr) Variable Function - 66: 65(ptr) AccessChain 60(ps_output) 62 - Store 66 64 - 69: 65(ptr) AccessChain 60(ps_output) 62 - 70: 34(fvec4) Load 69 - Store 68(color) 70 + 75:10(PS_OUTPUT) FunctionCall 12(@main() + 76: 9(fvec4) CompositeExtract 75 0 + Store 74(color) 76 Return FunctionEnd 6(TestMatNx1(): 2 Function None 3 7: Label - 12(r00): 11(ptr) Variable Function - 13(f1x1): 11(ptr) Variable Function - 19(r01): 18(ptr) Variable Function - 22(f2x1): 21(ptr) Variable Function - 28(r02): 27(ptr) Variable Function - 31(f3x1): 30(ptr) Variable Function - 37(r03): 36(ptr) Variable Function - 40(f4x1): 39(ptr) Variable Function - 43(r10): 11(ptr) Variable Function - 46(r11): 21(ptr) Variable Function - 47(f1x2): 18(ptr) Variable Function - 50(r12): 30(ptr) Variable Function - 51(f1x3): 27(ptr) Variable Function - 54(r13): 39(ptr) Variable Function - 55(f1x4): 36(ptr) Variable Function - 14: 10 Load 13(f1x1) - 15: 10 Transpose 14 - Store 12(r00) 15 - 23: 20 Load 22(f2x1) - 24: 17 Transpose 23 - Store 19(r01) 24 - 32: 29 Load 31(f3x1) - 33: 26 Transpose 32 - Store 28(r02) 33 - 41: 38 Load 40(f4x1) - 42: 35 Transpose 41 - Store 37(r03) 42 - 44: 10 Load 13(f1x1) - 45: 10 Transpose 44 - Store 43(r10) 45 - 48: 17 Load 47(f1x2) - 49: 20 Transpose 48 - Store 46(r11) 49 - 52: 26 Load 51(f1x3) - 53: 29 Transpose 52 - Store 50(r12) 53 - 56: 35 Load 55(f1x4) - 57: 38 Transpose 56 - Store 54(r13) 57 + 17(r00): 16(ptr) Variable Function + 18(f1x1): 16(ptr) Variable Function + 24(r01): 23(ptr) Variable Function + 27(f2x1): 26(ptr) Variable Function + 33(r02): 32(ptr) Variable Function + 36(f3x1): 35(ptr) Variable Function + 41(r03): 40(ptr) Variable Function + 44(f4x1): 43(ptr) Variable Function + 47(r10): 16(ptr) Variable Function + 50(r11): 26(ptr) Variable Function + 51(f1x2): 23(ptr) Variable Function + 54(r12): 35(ptr) Variable Function + 55(f1x3): 32(ptr) Variable Function + 58(r13): 43(ptr) Variable Function + 59(f1x4): 40(ptr) Variable Function + 19: 15 Load 18(f1x1) + 20: 15 Transpose 19 + Store 17(r00) 20 + 28: 25 Load 27(f2x1) + 29: 22 Transpose 28 + Store 24(r01) 29 + 37: 34 Load 36(f3x1) + 38: 31 Transpose 37 + Store 33(r02) 38 + 45: 42 Load 44(f4x1) + 46: 39 Transpose 45 + Store 41(r03) 46 + 48: 15 Load 18(f1x1) + 49: 15 Transpose 48 + Store 47(r10) 49 + 52: 22 Load 51(f1x2) + 53: 25 Transpose 52 + Store 50(r11) 53 + 56: 31 Load 55(f1x3) + 57: 34 Transpose 56 + Store 54(r12) 57 + 60: 39 Load 59(f1x4) + 61: 42 Transpose 60 + Store 58(r13) 61 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 63(ps_output): 62(ptr) Variable Function + 69: 68(ptr) AccessChain 63(ps_output) 65 + Store 69 67 + 70:10(PS_OUTPUT) Load 63(ps_output) + ReturnValue 70 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out index e24c878441a..b1c5762c8d9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.bool.frag.out @@ -2,95 +2,95 @@ hlsl.matType.bool.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestBoolMatTypes( (temp void) +0:3 Function Definition: TestBoolMatTypes( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 1X1 matrix of bool) -0:25 'r00' (temp 1X1 matrix of bool) -0:25 transpose (temp 1X1 matrix of bool) -0:25 'b1x1' (temp 1X1 matrix of bool) +0:25 move second child to first child ( temp 1X1 matrix of bool) +0:25 'r00' ( temp 1X1 matrix of bool) +0:25 transpose ( temp 1X1 matrix of bool) +0:25 'b1x1' ( temp 1X1 matrix of bool) 0:26 Sequence -0:26 move second child to first child (temp 1X2 matrix of bool) -0:26 'r01' (temp 1X2 matrix of bool) -0:26 transpose (temp 1X2 matrix of bool) -0:26 'b2x1' (temp 2X1 matrix of bool) +0:26 move second child to first child ( temp 1X2 matrix of bool) +0:26 'r01' ( temp 1X2 matrix of bool) +0:26 transpose ( temp 1X2 matrix of bool) +0:26 'b2x1' ( temp 2X1 matrix of bool) 0:27 Sequence -0:27 move second child to first child (temp 1X3 matrix of bool) -0:27 'r02' (temp 1X3 matrix of bool) -0:27 transpose (temp 1X3 matrix of bool) -0:27 'b3x1' (temp 3X1 matrix of bool) +0:27 move second child to first child ( temp 1X3 matrix of bool) +0:27 'r02' ( temp 1X3 matrix of bool) +0:27 transpose ( temp 1X3 matrix of bool) +0:27 'b3x1' ( temp 3X1 matrix of bool) 0:28 Sequence -0:28 move second child to first child (temp 1X4 matrix of bool) -0:28 'r03' (temp 1X4 matrix of bool) -0:28 transpose (temp 1X4 matrix of bool) -0:28 'b4x1' (temp 4X1 matrix of bool) +0:28 move second child to first child ( temp 1X4 matrix of bool) +0:28 'r03' ( temp 1X4 matrix of bool) +0:28 transpose ( temp 1X4 matrix of bool) +0:28 'b4x1' ( temp 4X1 matrix of bool) 0:30 Sequence -0:30 move second child to first child (temp 2X1 matrix of bool) -0:30 'r10' (temp 2X1 matrix of bool) -0:30 transpose (temp 2X1 matrix of bool) -0:30 'b1x2' (temp 1X2 matrix of bool) +0:30 move second child to first child ( temp 2X1 matrix of bool) +0:30 'r10' ( temp 2X1 matrix of bool) +0:30 transpose ( temp 2X1 matrix of bool) +0:30 'b1x2' ( temp 1X2 matrix of bool) 0:31 Sequence -0:31 move second child to first child (temp 2X2 matrix of bool) -0:31 'r11' (temp 2X2 matrix of bool) -0:31 transpose (temp 2X2 matrix of bool) -0:31 'b2x2' (temp 2X2 matrix of bool) +0:31 move second child to first child ( temp 2X2 matrix of bool) +0:31 'r11' ( temp 2X2 matrix of bool) +0:31 transpose ( temp 2X2 matrix of bool) +0:31 'b2x2' ( temp 2X2 matrix of bool) 0:32 Sequence -0:32 move second child to first child (temp 2X3 matrix of bool) -0:32 'r12' (temp 2X3 matrix of bool) -0:32 transpose (temp 2X3 matrix of bool) -0:32 'b3x2' (temp 3X2 matrix of bool) +0:32 move second child to first child ( temp 2X3 matrix of bool) +0:32 'r12' ( temp 2X3 matrix of bool) +0:32 transpose ( temp 2X3 matrix of bool) +0:32 'b3x2' ( temp 3X2 matrix of bool) 0:33 Sequence -0:33 move second child to first child (temp 2X4 matrix of bool) -0:33 'r13' (temp 2X4 matrix of bool) -0:33 transpose (temp 2X4 matrix of bool) -0:33 'b4x2' (temp 4X2 matrix of bool) +0:33 move second child to first child ( temp 2X4 matrix of bool) +0:33 'r13' ( temp 2X4 matrix of bool) +0:33 transpose ( temp 2X4 matrix of bool) +0:33 'b4x2' ( temp 4X2 matrix of bool) 0:35 Sequence -0:35 move second child to first child (temp 3X1 matrix of bool) -0:35 'r20' (temp 3X1 matrix of bool) -0:35 transpose (temp 3X1 matrix of bool) -0:35 'b1x3' (temp 1X3 matrix of bool) +0:35 move second child to first child ( temp 3X1 matrix of bool) +0:35 'r20' ( temp 3X1 matrix of bool) +0:35 transpose ( temp 3X1 matrix of bool) +0:35 'b1x3' ( temp 1X3 matrix of bool) 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of bool) -0:36 'r21' (temp 3X2 matrix of bool) -0:36 transpose (temp 3X2 matrix of bool) -0:36 'b2x3' (temp 2X3 matrix of bool) +0:36 move second child to first child ( temp 3X2 matrix of bool) +0:36 'r21' ( temp 3X2 matrix of bool) +0:36 transpose ( temp 3X2 matrix of bool) +0:36 'b2x3' ( temp 2X3 matrix of bool) 0:37 Sequence -0:37 move second child to first child (temp 3X3 matrix of bool) -0:37 'r22' (temp 3X3 matrix of bool) -0:37 transpose (temp 3X3 matrix of bool) -0:37 'b3x3' (temp 3X3 matrix of bool) +0:37 move second child to first child ( temp 3X3 matrix of bool) +0:37 'r22' ( temp 3X3 matrix of bool) +0:37 transpose ( temp 3X3 matrix of bool) +0:37 'b3x3' ( temp 3X3 matrix of bool) 0:38 Sequence -0:38 move second child to first child (temp 3X4 matrix of bool) -0:38 'r23' (temp 3X4 matrix of bool) -0:38 transpose (temp 3X4 matrix of bool) -0:38 'b4x3' (temp 4X3 matrix of bool) +0:38 move second child to first child ( temp 3X4 matrix of bool) +0:38 'r23' ( temp 3X4 matrix of bool) +0:38 transpose ( temp 3X4 matrix of bool) +0:38 'b4x3' ( temp 4X3 matrix of bool) 0:40 Sequence -0:40 move second child to first child (temp 4X1 matrix of bool) -0:40 'r30' (temp 4X1 matrix of bool) -0:40 transpose (temp 4X1 matrix of bool) -0:40 'b1x4' (temp 1X4 matrix of bool) +0:40 move second child to first child ( temp 4X1 matrix of bool) +0:40 'r30' ( temp 4X1 matrix of bool) +0:40 transpose ( temp 4X1 matrix of bool) +0:40 'b1x4' ( temp 1X4 matrix of bool) 0:41 Sequence -0:41 move second child to first child (temp 4X2 matrix of bool) -0:41 'r31' (temp 4X2 matrix of bool) -0:41 transpose (temp 4X2 matrix of bool) -0:41 'b2x4' (temp 2X4 matrix of bool) +0:41 move second child to first child ( temp 4X2 matrix of bool) +0:41 'r31' ( temp 4X2 matrix of bool) +0:41 transpose ( temp 4X2 matrix of bool) +0:41 'b2x4' ( temp 2X4 matrix of bool) 0:42 Sequence -0:42 move second child to first child (temp 4X3 matrix of bool) -0:42 'r32' (temp 4X3 matrix of bool) -0:42 transpose (temp 4X3 matrix of bool) -0:42 'b3x4' (temp 3X4 matrix of bool) +0:42 move second child to first child ( temp 4X3 matrix of bool) +0:42 'r32' ( temp 4X3 matrix of bool) +0:42 transpose ( temp 4X3 matrix of bool) +0:42 'b3x4' ( temp 3X4 matrix of bool) 0:43 Sequence -0:43 move second child to first child (temp 4X4 matrix of bool) -0:43 'r33' (temp 4X4 matrix of bool) -0:43 transpose (temp 4X4 matrix of bool) -0:43 'b4x4' (temp 4X4 matrix of bool) -0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:43 move second child to first child ( temp 4X4 matrix of bool) +0:43 'r33' ( temp 4X4 matrix of bool) +0:43 transpose ( temp 4X4 matrix of bool) +0:43 'b4x4' ( temp 4X4 matrix of bool) +0:49 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:49 Function Parameters: 0:? Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 color: direct index for structure (temp 4-component vector of float) -0:51 'ps_output' (temp structure{temp 4-component vector of float color}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 color: direct index for structure ( temp 4-component vector of float) +0:51 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:51 Constant: 0:51 0 (const int) 0:? Constant: @@ -98,17 +98,20 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:52 Sequence -0:52 Sequence -0:52 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:52 color: direct index for structure (temp 4-component vector of float) -0:52 'ps_output' (temp structure{temp 4-component vector of float color}) -0:52 Constant: -0:52 0 (const int) -0:52 Branch: Return +0:52 Branch: Return with expression +0:52 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:49 Function Definition: main( ( temp void) +0:49 Function Parameters: +0:? Sequence +0:49 Sequence +0:49 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:49 color: direct index for structure ( temp 4-component vector of float) +0:49 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:49 Constant: +0:49 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -117,95 +120,95 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestBoolMatTypes( (temp void) +0:3 Function Definition: TestBoolMatTypes( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 1X1 matrix of bool) -0:25 'r00' (temp 1X1 matrix of bool) -0:25 transpose (temp 1X1 matrix of bool) -0:25 'b1x1' (temp 1X1 matrix of bool) +0:25 move second child to first child ( temp 1X1 matrix of bool) +0:25 'r00' ( temp 1X1 matrix of bool) +0:25 transpose ( temp 1X1 matrix of bool) +0:25 'b1x1' ( temp 1X1 matrix of bool) 0:26 Sequence -0:26 move second child to first child (temp 1X2 matrix of bool) -0:26 'r01' (temp 1X2 matrix of bool) -0:26 transpose (temp 1X2 matrix of bool) -0:26 'b2x1' (temp 2X1 matrix of bool) +0:26 move second child to first child ( temp 1X2 matrix of bool) +0:26 'r01' ( temp 1X2 matrix of bool) +0:26 transpose ( temp 1X2 matrix of bool) +0:26 'b2x1' ( temp 2X1 matrix of bool) 0:27 Sequence -0:27 move second child to first child (temp 1X3 matrix of bool) -0:27 'r02' (temp 1X3 matrix of bool) -0:27 transpose (temp 1X3 matrix of bool) -0:27 'b3x1' (temp 3X1 matrix of bool) +0:27 move second child to first child ( temp 1X3 matrix of bool) +0:27 'r02' ( temp 1X3 matrix of bool) +0:27 transpose ( temp 1X3 matrix of bool) +0:27 'b3x1' ( temp 3X1 matrix of bool) 0:28 Sequence -0:28 move second child to first child (temp 1X4 matrix of bool) -0:28 'r03' (temp 1X4 matrix of bool) -0:28 transpose (temp 1X4 matrix of bool) -0:28 'b4x1' (temp 4X1 matrix of bool) +0:28 move second child to first child ( temp 1X4 matrix of bool) +0:28 'r03' ( temp 1X4 matrix of bool) +0:28 transpose ( temp 1X4 matrix of bool) +0:28 'b4x1' ( temp 4X1 matrix of bool) 0:30 Sequence -0:30 move second child to first child (temp 2X1 matrix of bool) -0:30 'r10' (temp 2X1 matrix of bool) -0:30 transpose (temp 2X1 matrix of bool) -0:30 'b1x2' (temp 1X2 matrix of bool) +0:30 move second child to first child ( temp 2X1 matrix of bool) +0:30 'r10' ( temp 2X1 matrix of bool) +0:30 transpose ( temp 2X1 matrix of bool) +0:30 'b1x2' ( temp 1X2 matrix of bool) 0:31 Sequence -0:31 move second child to first child (temp 2X2 matrix of bool) -0:31 'r11' (temp 2X2 matrix of bool) -0:31 transpose (temp 2X2 matrix of bool) -0:31 'b2x2' (temp 2X2 matrix of bool) +0:31 move second child to first child ( temp 2X2 matrix of bool) +0:31 'r11' ( temp 2X2 matrix of bool) +0:31 transpose ( temp 2X2 matrix of bool) +0:31 'b2x2' ( temp 2X2 matrix of bool) 0:32 Sequence -0:32 move second child to first child (temp 2X3 matrix of bool) -0:32 'r12' (temp 2X3 matrix of bool) -0:32 transpose (temp 2X3 matrix of bool) -0:32 'b3x2' (temp 3X2 matrix of bool) +0:32 move second child to first child ( temp 2X3 matrix of bool) +0:32 'r12' ( temp 2X3 matrix of bool) +0:32 transpose ( temp 2X3 matrix of bool) +0:32 'b3x2' ( temp 3X2 matrix of bool) 0:33 Sequence -0:33 move second child to first child (temp 2X4 matrix of bool) -0:33 'r13' (temp 2X4 matrix of bool) -0:33 transpose (temp 2X4 matrix of bool) -0:33 'b4x2' (temp 4X2 matrix of bool) +0:33 move second child to first child ( temp 2X4 matrix of bool) +0:33 'r13' ( temp 2X4 matrix of bool) +0:33 transpose ( temp 2X4 matrix of bool) +0:33 'b4x2' ( temp 4X2 matrix of bool) 0:35 Sequence -0:35 move second child to first child (temp 3X1 matrix of bool) -0:35 'r20' (temp 3X1 matrix of bool) -0:35 transpose (temp 3X1 matrix of bool) -0:35 'b1x3' (temp 1X3 matrix of bool) +0:35 move second child to first child ( temp 3X1 matrix of bool) +0:35 'r20' ( temp 3X1 matrix of bool) +0:35 transpose ( temp 3X1 matrix of bool) +0:35 'b1x3' ( temp 1X3 matrix of bool) 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of bool) -0:36 'r21' (temp 3X2 matrix of bool) -0:36 transpose (temp 3X2 matrix of bool) -0:36 'b2x3' (temp 2X3 matrix of bool) +0:36 move second child to first child ( temp 3X2 matrix of bool) +0:36 'r21' ( temp 3X2 matrix of bool) +0:36 transpose ( temp 3X2 matrix of bool) +0:36 'b2x3' ( temp 2X3 matrix of bool) 0:37 Sequence -0:37 move second child to first child (temp 3X3 matrix of bool) -0:37 'r22' (temp 3X3 matrix of bool) -0:37 transpose (temp 3X3 matrix of bool) -0:37 'b3x3' (temp 3X3 matrix of bool) +0:37 move second child to first child ( temp 3X3 matrix of bool) +0:37 'r22' ( temp 3X3 matrix of bool) +0:37 transpose ( temp 3X3 matrix of bool) +0:37 'b3x3' ( temp 3X3 matrix of bool) 0:38 Sequence -0:38 move second child to first child (temp 3X4 matrix of bool) -0:38 'r23' (temp 3X4 matrix of bool) -0:38 transpose (temp 3X4 matrix of bool) -0:38 'b4x3' (temp 4X3 matrix of bool) +0:38 move second child to first child ( temp 3X4 matrix of bool) +0:38 'r23' ( temp 3X4 matrix of bool) +0:38 transpose ( temp 3X4 matrix of bool) +0:38 'b4x3' ( temp 4X3 matrix of bool) 0:40 Sequence -0:40 move second child to first child (temp 4X1 matrix of bool) -0:40 'r30' (temp 4X1 matrix of bool) -0:40 transpose (temp 4X1 matrix of bool) -0:40 'b1x4' (temp 1X4 matrix of bool) +0:40 move second child to first child ( temp 4X1 matrix of bool) +0:40 'r30' ( temp 4X1 matrix of bool) +0:40 transpose ( temp 4X1 matrix of bool) +0:40 'b1x4' ( temp 1X4 matrix of bool) 0:41 Sequence -0:41 move second child to first child (temp 4X2 matrix of bool) -0:41 'r31' (temp 4X2 matrix of bool) -0:41 transpose (temp 4X2 matrix of bool) -0:41 'b2x4' (temp 2X4 matrix of bool) +0:41 move second child to first child ( temp 4X2 matrix of bool) +0:41 'r31' ( temp 4X2 matrix of bool) +0:41 transpose ( temp 4X2 matrix of bool) +0:41 'b2x4' ( temp 2X4 matrix of bool) 0:42 Sequence -0:42 move second child to first child (temp 4X3 matrix of bool) -0:42 'r32' (temp 4X3 matrix of bool) -0:42 transpose (temp 4X3 matrix of bool) -0:42 'b3x4' (temp 3X4 matrix of bool) +0:42 move second child to first child ( temp 4X3 matrix of bool) +0:42 'r32' ( temp 4X3 matrix of bool) +0:42 transpose ( temp 4X3 matrix of bool) +0:42 'b3x4' ( temp 3X4 matrix of bool) 0:43 Sequence -0:43 move second child to first child (temp 4X4 matrix of bool) -0:43 'r33' (temp 4X4 matrix of bool) -0:43 transpose (temp 4X4 matrix of bool) -0:43 'b4x4' (temp 4X4 matrix of bool) -0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:43 move second child to first child ( temp 4X4 matrix of bool) +0:43 'r33' ( temp 4X4 matrix of bool) +0:43 transpose ( temp 4X4 matrix of bool) +0:43 'b4x4' ( temp 4X4 matrix of bool) +0:49 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:49 Function Parameters: 0:? Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 color: direct index for structure (temp 4-component vector of float) -0:51 'ps_output' (temp structure{temp 4-component vector of float color}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 color: direct index for structure ( temp 4-component vector of float) +0:51 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:51 Constant: 0:51 0 (const int) 0:? Constant: @@ -213,207 +216,217 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:52 Sequence -0:52 Sequence -0:52 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:52 color: direct index for structure (temp 4-component vector of float) -0:52 'ps_output' (temp structure{temp 4-component vector of float color}) -0:52 Constant: -0:52 0 (const int) -0:52 Branch: Return +0:52 Branch: Return with expression +0:52 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:49 Function Definition: main( ( temp void) +0:49 Function Parameters: +0:? Sequence +0:49 Sequence +0:49 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:49 color: direct index for structure ( temp 4-component vector of float) +0:49 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:49 Constant: +0:49 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 125 +// Id's are bound by 130 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 121 + EntryPoint Fragment 4 "main" 127 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestBoolMatTypes(" - Name 12 "r00" - Name 13 "b1x1" - Name 19 "r01" - Name 22 "b2x1" - Name 28 "r02" - Name 31 "b3x1" - Name 37 "r03" - Name 40 "b4x1" - Name 43 "r10" - Name 44 "b1x2" - Name 49 "r11" - Name 50 "b2x2" - Name 55 "r12" - Name 58 "b3x2" - Name 63 "r13" - Name 66 "b4x2" - Name 69 "r20" - Name 70 "b1x3" - Name 73 "r21" - Name 74 "b2x3" - Name 79 "r22" - Name 80 "b3x3" - Name 85 "r23" - Name 88 "b4x3" - Name 91 "r30" - Name 92 "b1x4" - Name 95 "r31" - Name 96 "b2x4" - Name 99 "r32" - Name 100 "b3x4" - Name 105 "r33" - Name 106 "b4x4" - Name 111 "PS_OUTPUT" - MemberName 111(PS_OUTPUT) 0 "color" - Name 113 "ps_output" - Name 121 "color" - Decorate 121(color) Location 0 + Name 10 "PS_OUTPUT" + MemberName 10(PS_OUTPUT) 0 "color" + Name 12 "@main(" + Name 18 "r00" + Name 19 "b1x1" + Name 25 "r01" + Name 28 "b2x1" + Name 34 "r02" + Name 37 "b3x1" + Name 43 "r03" + Name 46 "b4x1" + Name 49 "r10" + Name 50 "b1x2" + Name 55 "r11" + Name 56 "b2x2" + Name 61 "r12" + Name 64 "b3x2" + Name 69 "r13" + Name 72 "b4x2" + Name 75 "r20" + Name 76 "b1x3" + Name 79 "r21" + Name 80 "b2x3" + Name 85 "r22" + Name 86 "b3x3" + Name 91 "r23" + Name 94 "b4x3" + Name 97 "r30" + Name 98 "b1x4" + Name 101 "r31" + Name 102 "b2x4" + Name 105 "r32" + Name 106 "b3x4" + Name 111 "r33" + Name 112 "b4x4" + Name 116 "ps_output" + Name 127 "color" + Decorate 127(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 8: TypeBool - 9: TypeVector 8(bool) 1 - 10: TypeMatrix 9(bvec) 1 - 11: TypePointer Function 10 - 16: TypeVector 8(bool) 2 - 17: TypeMatrix 16(bvec2) 1 - 18: TypePointer Function 17 - 20: TypeMatrix 9(bvec) 2 - 21: TypePointer Function 20 - 25: TypeVector 8(bool) 3 - 26: TypeMatrix 25(bvec3) 1 + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10(PS_OUTPUT): TypeStruct 9(fvec4) + 11: TypeFunction 10(PS_OUTPUT) + 14: TypeBool + 15: TypeVector 14(bool) 1 + 16: TypeMatrix 15(bvec) 1 + 17: TypePointer Function 16 + 22: TypeVector 14(bool) 2 + 23: TypeMatrix 22(bvec2) 1 + 24: TypePointer Function 23 + 26: TypeMatrix 15(bvec) 2 27: TypePointer Function 26 - 29: TypeMatrix 9(bvec) 3 - 30: TypePointer Function 29 - 34: TypeVector 8(bool) 4 - 35: TypeMatrix 34(bvec4) 1 + 31: TypeVector 14(bool) 3 + 32: TypeMatrix 31(bvec3) 1 + 33: TypePointer Function 32 + 35: TypeMatrix 15(bvec) 3 36: TypePointer Function 35 - 38: TypeMatrix 9(bvec) 4 - 39: TypePointer Function 38 - 47: TypeMatrix 16(bvec2) 2 - 48: TypePointer Function 47 - 53: TypeMatrix 25(bvec3) 2 + 40: TypeVector 14(bool) 4 + 41: TypeMatrix 40(bvec4) 1 + 42: TypePointer Function 41 + 44: TypeMatrix 15(bvec) 4 + 45: TypePointer Function 44 + 53: TypeMatrix 22(bvec2) 2 54: TypePointer Function 53 - 56: TypeMatrix 16(bvec2) 3 - 57: TypePointer Function 56 - 61: TypeMatrix 34(bvec4) 2 - 62: TypePointer Function 61 - 64: TypeMatrix 16(bvec2) 4 - 65: TypePointer Function 64 - 77: TypeMatrix 25(bvec3) 3 - 78: TypePointer Function 77 - 83: TypeMatrix 34(bvec4) 3 + 59: TypeMatrix 31(bvec3) 2 + 60: TypePointer Function 59 + 62: TypeMatrix 22(bvec2) 3 + 63: TypePointer Function 62 + 67: TypeMatrix 40(bvec4) 2 + 68: TypePointer Function 67 + 70: TypeMatrix 22(bvec2) 4 + 71: TypePointer Function 70 + 83: TypeMatrix 31(bvec3) 3 84: TypePointer Function 83 - 86: TypeMatrix 25(bvec3) 4 - 87: TypePointer Function 86 - 103: TypeMatrix 34(bvec4) 4 - 104: TypePointer Function 103 - 109: TypeFloat 32 - 110: TypeVector 109(float) 4 - 111(PS_OUTPUT): TypeStruct 110(fvec4) - 112: TypePointer Function 111(PS_OUTPUT) - 114: TypeInt 32 1 - 115: 114(int) Constant 0 - 116: 109(float) Constant 0 - 117: 110(fvec4) ConstantComposite 116 116 116 116 - 118: TypePointer Function 110(fvec4) - 120: TypePointer Output 110(fvec4) - 121(color): 120(ptr) Variable Output + 89: TypeMatrix 40(bvec4) 3 + 90: TypePointer Function 89 + 92: TypeMatrix 31(bvec3) 4 + 93: TypePointer Function 92 + 109: TypeMatrix 40(bvec4) 4 + 110: TypePointer Function 109 + 115: TypePointer Function 10(PS_OUTPUT) + 117: TypeInt 32 1 + 118: 117(int) Constant 0 + 119: 8(float) Constant 0 + 120: 9(fvec4) ConstantComposite 119 119 119 119 + 121: TypePointer Function 9(fvec4) + 126: TypePointer Output 9(fvec4) + 127(color): 126(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 113(ps_output): 112(ptr) Variable Function - 119: 118(ptr) AccessChain 113(ps_output) 115 - Store 119 117 - 122: 118(ptr) AccessChain 113(ps_output) 115 - 123: 110(fvec4) Load 122 - Store 121(color) 123 + 128:10(PS_OUTPUT) FunctionCall 12(@main() + 129: 9(fvec4) CompositeExtract 128 0 + Store 127(color) 129 Return FunctionEnd 6(TestBoolMatTypes(): 2 Function None 3 7: Label - 12(r00): 11(ptr) Variable Function - 13(b1x1): 11(ptr) Variable Function - 19(r01): 18(ptr) Variable Function - 22(b2x1): 21(ptr) Variable Function - 28(r02): 27(ptr) Variable Function - 31(b3x1): 30(ptr) Variable Function - 37(r03): 36(ptr) Variable Function - 40(b4x1): 39(ptr) Variable Function - 43(r10): 21(ptr) Variable Function - 44(b1x2): 18(ptr) Variable Function - 49(r11): 48(ptr) Variable Function - 50(b2x2): 48(ptr) Variable Function - 55(r12): 54(ptr) Variable Function - 58(b3x2): 57(ptr) Variable Function - 63(r13): 62(ptr) Variable Function - 66(b4x2): 65(ptr) Variable Function - 69(r20): 30(ptr) Variable Function - 70(b1x3): 27(ptr) Variable Function - 73(r21): 57(ptr) Variable Function - 74(b2x3): 54(ptr) Variable Function - 79(r22): 78(ptr) Variable Function - 80(b3x3): 78(ptr) Variable Function - 85(r23): 84(ptr) Variable Function - 88(b4x3): 87(ptr) Variable Function - 91(r30): 39(ptr) Variable Function - 92(b1x4): 36(ptr) Variable Function - 95(r31): 65(ptr) Variable Function - 96(b2x4): 62(ptr) Variable Function - 99(r32): 87(ptr) Variable Function - 100(b3x4): 84(ptr) Variable Function - 105(r33): 104(ptr) Variable Function - 106(b4x4): 104(ptr) Variable Function - 14: 10 Load 13(b1x1) - 15: 10 Transpose 14 - Store 12(r00) 15 - 23: 20 Load 22(b2x1) - 24: 17 Transpose 23 - Store 19(r01) 24 - 32: 29 Load 31(b3x1) - 33: 26 Transpose 32 - Store 28(r02) 33 - 41: 38 Load 40(b4x1) - 42: 35 Transpose 41 - Store 37(r03) 42 - 45: 17 Load 44(b1x2) - 46: 20 Transpose 45 - Store 43(r10) 46 - 51: 47 Load 50(b2x2) - 52: 47 Transpose 51 - Store 49(r11) 52 - 59: 56 Load 58(b3x2) - 60: 53 Transpose 59 - Store 55(r12) 60 - 67: 64 Load 66(b4x2) - 68: 61 Transpose 67 - Store 63(r13) 68 - 71: 26 Load 70(b1x3) - 72: 29 Transpose 71 - Store 69(r20) 72 - 75: 53 Load 74(b2x3) - 76: 56 Transpose 75 - Store 73(r21) 76 - 81: 77 Load 80(b3x3) - 82: 77 Transpose 81 - Store 79(r22) 82 - 89: 86 Load 88(b4x3) - 90: 83 Transpose 89 - Store 85(r23) 90 - 93: 35 Load 92(b1x4) - 94: 38 Transpose 93 - Store 91(r30) 94 - 97: 61 Load 96(b2x4) - 98: 64 Transpose 97 - Store 95(r31) 98 - 101: 83 Load 100(b3x4) - 102: 86 Transpose 101 - Store 99(r32) 102 - 107: 103 Load 106(b4x4) - 108: 103 Transpose 107 - Store 105(r33) 108 + 18(r00): 17(ptr) Variable Function + 19(b1x1): 17(ptr) Variable Function + 25(r01): 24(ptr) Variable Function + 28(b2x1): 27(ptr) Variable Function + 34(r02): 33(ptr) Variable Function + 37(b3x1): 36(ptr) Variable Function + 43(r03): 42(ptr) Variable Function + 46(b4x1): 45(ptr) Variable Function + 49(r10): 27(ptr) Variable Function + 50(b1x2): 24(ptr) Variable Function + 55(r11): 54(ptr) Variable Function + 56(b2x2): 54(ptr) Variable Function + 61(r12): 60(ptr) Variable Function + 64(b3x2): 63(ptr) Variable Function + 69(r13): 68(ptr) Variable Function + 72(b4x2): 71(ptr) Variable Function + 75(r20): 36(ptr) Variable Function + 76(b1x3): 33(ptr) Variable Function + 79(r21): 63(ptr) Variable Function + 80(b2x3): 60(ptr) Variable Function + 85(r22): 84(ptr) Variable Function + 86(b3x3): 84(ptr) Variable Function + 91(r23): 90(ptr) Variable Function + 94(b4x3): 93(ptr) Variable Function + 97(r30): 45(ptr) Variable Function + 98(b1x4): 42(ptr) Variable Function + 101(r31): 71(ptr) Variable Function + 102(b2x4): 68(ptr) Variable Function + 105(r32): 93(ptr) Variable Function + 106(b3x4): 90(ptr) Variable Function + 111(r33): 110(ptr) Variable Function + 112(b4x4): 110(ptr) Variable Function + 20: 16 Load 19(b1x1) + 21: 16 Transpose 20 + Store 18(r00) 21 + 29: 26 Load 28(b2x1) + 30: 23 Transpose 29 + Store 25(r01) 30 + 38: 35 Load 37(b3x1) + 39: 32 Transpose 38 + Store 34(r02) 39 + 47: 44 Load 46(b4x1) + 48: 41 Transpose 47 + Store 43(r03) 48 + 51: 23 Load 50(b1x2) + 52: 26 Transpose 51 + Store 49(r10) 52 + 57: 53 Load 56(b2x2) + 58: 53 Transpose 57 + Store 55(r11) 58 + 65: 62 Load 64(b3x2) + 66: 59 Transpose 65 + Store 61(r12) 66 + 73: 70 Load 72(b4x2) + 74: 67 Transpose 73 + Store 69(r13) 74 + 77: 32 Load 76(b1x3) + 78: 35 Transpose 77 + Store 75(r20) 78 + 81: 59 Load 80(b2x3) + 82: 62 Transpose 81 + Store 79(r21) 82 + 87: 83 Load 86(b3x3) + 88: 83 Transpose 87 + Store 85(r22) 88 + 95: 92 Load 94(b4x3) + 96: 89 Transpose 95 + Store 91(r23) 96 + 99: 41 Load 98(b1x4) + 100: 44 Transpose 99 + Store 97(r30) 100 + 103: 67 Load 102(b2x4) + 104: 70 Transpose 103 + Store 101(r31) 104 + 107: 89 Load 106(b3x4) + 108: 92 Transpose 107 + Store 105(r32) 108 + 113: 109 Load 112(b4x4) + 114: 109 Transpose 113 + Store 111(r33) 114 Return FunctionEnd + 12(@main():10(PS_OUTPUT) Function None 11 + 13: Label + 116(ps_output): 115(ptr) Variable Function + 122: 121(ptr) AccessChain 116(ps_output) 118 + Store 122 120 + 123:10(PS_OUTPUT) Load 116(ps_output) + ReturnValue 123 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out index 038ca738ae2..ee40879880e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out @@ -2,15 +2,15 @@ hlsl.matType.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float) +0:9 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) 0:9 Function Parameters: -0:9 'inFloat1' (in 1-component vector of float) -0:9 'inScalar' (in float) +0:9 'inFloat1' ( in 1-component vector of float) +0:9 'inScalar' ( in float) 0:? Sequence 0:10 Branch: Return with expression -0:10 'inFloat1' (in 1-component vector of float) +0:10 'inFloat1' ( in 1-component vector of float) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1, uniform 1X1 matrix of float fmat11, uniform 4X1 matrix of float fmat41, uniform 1X2 matrix of float fmat12, uniform 2X3 matrix of double dmat23, uniform 4X4 matrix of int int44}) Linked fragment stage: @@ -20,15 +20,15 @@ WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float) +0:9 Function Definition: ShaderFunction(vf1;f1; ( temp 1-component vector of float) 0:9 Function Parameters: -0:9 'inFloat1' (in 1-component vector of float) -0:9 'inScalar' (in float) +0:9 'inFloat1' ( in 1-component vector of float) +0:9 'inScalar' ( in float) 0:? Sequence 0:10 Branch: Return with expression -0:10 'inFloat1' (in 1-component vector of float) +0:10 'inFloat1' ( in 1-component vector of float) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1, uniform 1X1 matrix of float fmat11, uniform 4X1 matrix of float fmat41, uniform 1X2 matrix of float fmat12, uniform 2X3 matrix of double dmat23, uniform 4X4 matrix of int int44}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out index d7ffb0f7805..aef78623978 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matType.int.frag.out @@ -2,178 +2,178 @@ hlsl.matType.int.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestIntMatTypes( (temp void) +0:3 Function Definition: TestIntMatTypes( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 1X1 matrix of int) -0:25 'r00' (temp 1X1 matrix of int) -0:25 transpose (temp 1X1 matrix of int) -0:25 'i1x1' (temp 1X1 matrix of int) +0:25 move second child to first child ( temp 1X1 matrix of int) +0:25 'r00' ( temp 1X1 matrix of int) +0:25 transpose ( temp 1X1 matrix of int) +0:25 'i1x1' ( temp 1X1 matrix of int) 0:26 Sequence -0:26 move second child to first child (temp 1X2 matrix of int) -0:26 'r01' (temp 1X2 matrix of int) -0:26 transpose (temp 1X2 matrix of int) -0:26 'i2x1' (temp 2X1 matrix of int) +0:26 move second child to first child ( temp 1X2 matrix of int) +0:26 'r01' ( temp 1X2 matrix of int) +0:26 transpose ( temp 1X2 matrix of int) +0:26 'i2x1' ( temp 2X1 matrix of int) 0:27 Sequence -0:27 move second child to first child (temp 1X3 matrix of int) -0:27 'r02' (temp 1X3 matrix of int) -0:27 transpose (temp 1X3 matrix of int) -0:27 'i3x1' (temp 3X1 matrix of int) +0:27 move second child to first child ( temp 1X3 matrix of int) +0:27 'r02' ( temp 1X3 matrix of int) +0:27 transpose ( temp 1X3 matrix of int) +0:27 'i3x1' ( temp 3X1 matrix of int) 0:28 Sequence -0:28 move second child to first child (temp 1X4 matrix of int) -0:28 'r03' (temp 1X4 matrix of int) -0:28 transpose (temp 1X4 matrix of int) -0:28 'i4x1' (temp 4X1 matrix of int) +0:28 move second child to first child ( temp 1X4 matrix of int) +0:28 'r03' ( temp 1X4 matrix of int) +0:28 transpose ( temp 1X4 matrix of int) +0:28 'i4x1' ( temp 4X1 matrix of int) 0:30 Sequence -0:30 move second child to first child (temp 2X1 matrix of int) -0:30 'r10' (temp 2X1 matrix of int) -0:30 transpose (temp 2X1 matrix of int) -0:30 'i1x2' (temp 1X2 matrix of int) +0:30 move second child to first child ( temp 2X1 matrix of int) +0:30 'r10' ( temp 2X1 matrix of int) +0:30 transpose ( temp 2X1 matrix of int) +0:30 'i1x2' ( temp 1X2 matrix of int) 0:31 Sequence -0:31 move second child to first child (temp 2X2 matrix of int) -0:31 'r11' (temp 2X2 matrix of int) -0:31 transpose (temp 2X2 matrix of int) -0:31 'i2x2' (temp 2X2 matrix of int) +0:31 move second child to first child ( temp 2X2 matrix of int) +0:31 'r11' ( temp 2X2 matrix of int) +0:31 transpose ( temp 2X2 matrix of int) +0:31 'i2x2' ( temp 2X2 matrix of int) 0:32 Sequence -0:32 move second child to first child (temp 2X3 matrix of int) -0:32 'r12' (temp 2X3 matrix of int) -0:32 transpose (temp 2X3 matrix of int) -0:32 'i3x2' (temp 3X2 matrix of int) +0:32 move second child to first child ( temp 2X3 matrix of int) +0:32 'r12' ( temp 2X3 matrix of int) +0:32 transpose ( temp 2X3 matrix of int) +0:32 'i3x2' ( temp 3X2 matrix of int) 0:33 Sequence -0:33 move second child to first child (temp 2X4 matrix of int) -0:33 'r13' (temp 2X4 matrix of int) -0:33 transpose (temp 2X4 matrix of int) -0:33 'i4x2' (temp 4X2 matrix of int) +0:33 move second child to first child ( temp 2X4 matrix of int) +0:33 'r13' ( temp 2X4 matrix of int) +0:33 transpose ( temp 2X4 matrix of int) +0:33 'i4x2' ( temp 4X2 matrix of int) 0:35 Sequence -0:35 move second child to first child (temp 3X1 matrix of int) -0:35 'r20' (temp 3X1 matrix of int) -0:35 transpose (temp 3X1 matrix of int) -0:35 'i1x3' (temp 1X3 matrix of int) +0:35 move second child to first child ( temp 3X1 matrix of int) +0:35 'r20' ( temp 3X1 matrix of int) +0:35 transpose ( temp 3X1 matrix of int) +0:35 'i1x3' ( temp 1X3 matrix of int) 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of int) -0:36 'r21' (temp 3X2 matrix of int) -0:36 transpose (temp 3X2 matrix of int) -0:36 'i2x3' (temp 2X3 matrix of int) +0:36 move second child to first child ( temp 3X2 matrix of int) +0:36 'r21' ( temp 3X2 matrix of int) +0:36 transpose ( temp 3X2 matrix of int) +0:36 'i2x3' ( temp 2X3 matrix of int) 0:37 Sequence -0:37 move second child to first child (temp 3X3 matrix of int) -0:37 'r22' (temp 3X3 matrix of int) -0:37 transpose (temp 3X3 matrix of int) -0:37 'i3x3' (temp 3X3 matrix of int) +0:37 move second child to first child ( temp 3X3 matrix of int) +0:37 'r22' ( temp 3X3 matrix of int) +0:37 transpose ( temp 3X3 matrix of int) +0:37 'i3x3' ( temp 3X3 matrix of int) 0:38 Sequence -0:38 move second child to first child (temp 3X4 matrix of int) -0:38 'r23' (temp 3X4 matrix of int) -0:38 transpose (temp 3X4 matrix of int) -0:38 'i4x3' (temp 4X3 matrix of int) +0:38 move second child to first child ( temp 3X4 matrix of int) +0:38 'r23' ( temp 3X4 matrix of int) +0:38 transpose ( temp 3X4 matrix of int) +0:38 'i4x3' ( temp 4X3 matrix of int) 0:40 Sequence -0:40 move second child to first child (temp 4X1 matrix of int) -0:40 'r30' (temp 4X1 matrix of int) -0:40 transpose (temp 4X1 matrix of int) -0:40 'i1x4' (temp 1X4 matrix of int) +0:40 move second child to first child ( temp 4X1 matrix of int) +0:40 'r30' ( temp 4X1 matrix of int) +0:40 transpose ( temp 4X1 matrix of int) +0:40 'i1x4' ( temp 1X4 matrix of int) 0:41 Sequence -0:41 move second child to first child (temp 4X2 matrix of int) -0:41 'r31' (temp 4X2 matrix of int) -0:41 transpose (temp 4X2 matrix of int) -0:41 'i2x4' (temp 2X4 matrix of int) +0:41 move second child to first child ( temp 4X2 matrix of int) +0:41 'r31' ( temp 4X2 matrix of int) +0:41 transpose ( temp 4X2 matrix of int) +0:41 'i2x4' ( temp 2X4 matrix of int) 0:42 Sequence -0:42 move second child to first child (temp 4X3 matrix of int) -0:42 'r32' (temp 4X3 matrix of int) -0:42 transpose (temp 4X3 matrix of int) -0:42 'i3x4' (temp 3X4 matrix of int) +0:42 move second child to first child ( temp 4X3 matrix of int) +0:42 'r32' ( temp 4X3 matrix of int) +0:42 transpose ( temp 4X3 matrix of int) +0:42 'i3x4' ( temp 3X4 matrix of int) 0:43 Sequence -0:43 move second child to first child (temp 4X4 matrix of int) -0:43 'r33' (temp 4X4 matrix of int) -0:43 transpose (temp 4X4 matrix of int) -0:43 'i4x4' (temp 4X4 matrix of int) -0:47 Function Definition: TestUintMatTypes( (temp void) +0:43 move second child to first child ( temp 4X4 matrix of int) +0:43 'r33' ( temp 4X4 matrix of int) +0:43 transpose ( temp 4X4 matrix of int) +0:43 'i4x4' ( temp 4X4 matrix of int) +0:47 Function Definition: TestUintMatTypes( ( temp void) 0:47 Function Parameters: 0:? Sequence 0:69 Sequence -0:69 move second child to first child (temp 1X1 matrix of uint) -0:69 'r00' (temp 1X1 matrix of uint) -0:69 transpose (temp 1X1 matrix of uint) -0:69 'u1x1' (temp 1X1 matrix of uint) +0:69 move second child to first child ( temp 1X1 matrix of uint) +0:69 'r00' ( temp 1X1 matrix of uint) +0:69 transpose ( temp 1X1 matrix of uint) +0:69 'u1x1' ( temp 1X1 matrix of uint) 0:70 Sequence -0:70 move second child to first child (temp 1X2 matrix of uint) -0:70 'r01' (temp 1X2 matrix of uint) -0:70 transpose (temp 1X2 matrix of uint) -0:70 'u2x1' (temp 2X1 matrix of uint) +0:70 move second child to first child ( temp 1X2 matrix of uint) +0:70 'r01' ( temp 1X2 matrix of uint) +0:70 transpose ( temp 1X2 matrix of uint) +0:70 'u2x1' ( temp 2X1 matrix of uint) 0:71 Sequence -0:71 move second child to first child (temp 1X3 matrix of uint) -0:71 'r02' (temp 1X3 matrix of uint) -0:71 transpose (temp 1X3 matrix of uint) -0:71 'u3x1' (temp 3X1 matrix of uint) +0:71 move second child to first child ( temp 1X3 matrix of uint) +0:71 'r02' ( temp 1X3 matrix of uint) +0:71 transpose ( temp 1X3 matrix of uint) +0:71 'u3x1' ( temp 3X1 matrix of uint) 0:72 Sequence -0:72 move second child to first child (temp 1X4 matrix of uint) -0:72 'r03' (temp 1X4 matrix of uint) -0:72 transpose (temp 1X4 matrix of uint) -0:72 'u4x1' (temp 4X1 matrix of uint) +0:72 move second child to first child ( temp 1X4 matrix of uint) +0:72 'r03' ( temp 1X4 matrix of uint) +0:72 transpose ( temp 1X4 matrix of uint) +0:72 'u4x1' ( temp 4X1 matrix of uint) 0:74 Sequence -0:74 move second child to first child (temp 2X1 matrix of uint) -0:74 'r10' (temp 2X1 matrix of uint) -0:74 transpose (temp 2X1 matrix of uint) -0:74 'u1x2' (temp 1X2 matrix of uint) +0:74 move second child to first child ( temp 2X1 matrix of uint) +0:74 'r10' ( temp 2X1 matrix of uint) +0:74 transpose ( temp 2X1 matrix of uint) +0:74 'u1x2' ( temp 1X2 matrix of uint) 0:75 Sequence -0:75 move second child to first child (temp 2X2 matrix of uint) -0:75 'r11' (temp 2X2 matrix of uint) -0:75 transpose (temp 2X2 matrix of uint) -0:75 'u2x2' (temp 2X2 matrix of uint) +0:75 move second child to first child ( temp 2X2 matrix of uint) +0:75 'r11' ( temp 2X2 matrix of uint) +0:75 transpose ( temp 2X2 matrix of uint) +0:75 'u2x2' ( temp 2X2 matrix of uint) 0:76 Sequence -0:76 move second child to first child (temp 2X3 matrix of uint) -0:76 'r12' (temp 2X3 matrix of uint) -0:76 transpose (temp 2X3 matrix of uint) -0:76 'u3x2' (temp 3X2 matrix of uint) +0:76 move second child to first child ( temp 2X3 matrix of uint) +0:76 'r12' ( temp 2X3 matrix of uint) +0:76 transpose ( temp 2X3 matrix of uint) +0:76 'u3x2' ( temp 3X2 matrix of uint) 0:77 Sequence -0:77 move second child to first child (temp 2X4 matrix of uint) -0:77 'r13' (temp 2X4 matrix of uint) -0:77 transpose (temp 2X4 matrix of uint) -0:77 'u4x2' (temp 4X2 matrix of uint) +0:77 move second child to first child ( temp 2X4 matrix of uint) +0:77 'r13' ( temp 2X4 matrix of uint) +0:77 transpose ( temp 2X4 matrix of uint) +0:77 'u4x2' ( temp 4X2 matrix of uint) 0:79 Sequence -0:79 move second child to first child (temp 3X1 matrix of uint) -0:79 'r20' (temp 3X1 matrix of uint) -0:79 transpose (temp 3X1 matrix of uint) -0:79 'u1x3' (temp 1X3 matrix of uint) +0:79 move second child to first child ( temp 3X1 matrix of uint) +0:79 'r20' ( temp 3X1 matrix of uint) +0:79 transpose ( temp 3X1 matrix of uint) +0:79 'u1x3' ( temp 1X3 matrix of uint) 0:80 Sequence -0:80 move second child to first child (temp 3X2 matrix of uint) -0:80 'r21' (temp 3X2 matrix of uint) -0:80 transpose (temp 3X2 matrix of uint) -0:80 'u2x3' (temp 2X3 matrix of uint) +0:80 move second child to first child ( temp 3X2 matrix of uint) +0:80 'r21' ( temp 3X2 matrix of uint) +0:80 transpose ( temp 3X2 matrix of uint) +0:80 'u2x3' ( temp 2X3 matrix of uint) 0:81 Sequence -0:81 move second child to first child (temp 3X3 matrix of uint) -0:81 'r22' (temp 3X3 matrix of uint) -0:81 transpose (temp 3X3 matrix of uint) -0:81 'u3x3' (temp 3X3 matrix of uint) +0:81 move second child to first child ( temp 3X3 matrix of uint) +0:81 'r22' ( temp 3X3 matrix of uint) +0:81 transpose ( temp 3X3 matrix of uint) +0:81 'u3x3' ( temp 3X3 matrix of uint) 0:82 Sequence -0:82 move second child to first child (temp 3X4 matrix of uint) -0:82 'r23' (temp 3X4 matrix of uint) -0:82 transpose (temp 3X4 matrix of uint) -0:82 'u4x3' (temp 4X3 matrix of uint) +0:82 move second child to first child ( temp 3X4 matrix of uint) +0:82 'r23' ( temp 3X4 matrix of uint) +0:82 transpose ( temp 3X4 matrix of uint) +0:82 'u4x3' ( temp 4X3 matrix of uint) 0:84 Sequence -0:84 move second child to first child (temp 4X1 matrix of uint) -0:84 'r30' (temp 4X1 matrix of uint) -0:84 transpose (temp 4X1 matrix of uint) -0:84 'u1x4' (temp 1X4 matrix of uint) +0:84 move second child to first child ( temp 4X1 matrix of uint) +0:84 'r30' ( temp 4X1 matrix of uint) +0:84 transpose ( temp 4X1 matrix of uint) +0:84 'u1x4' ( temp 1X4 matrix of uint) 0:85 Sequence -0:85 move second child to first child (temp 4X2 matrix of uint) -0:85 'r31' (temp 4X2 matrix of uint) -0:85 transpose (temp 4X2 matrix of uint) -0:85 'u2x4' (temp 2X4 matrix of uint) +0:85 move second child to first child ( temp 4X2 matrix of uint) +0:85 'r31' ( temp 4X2 matrix of uint) +0:85 transpose ( temp 4X2 matrix of uint) +0:85 'u2x4' ( temp 2X4 matrix of uint) 0:86 Sequence -0:86 move second child to first child (temp 4X3 matrix of uint) -0:86 'r32' (temp 4X3 matrix of uint) -0:86 transpose (temp 4X3 matrix of uint) -0:86 'u3x4' (temp 3X4 matrix of uint) +0:86 move second child to first child ( temp 4X3 matrix of uint) +0:86 'r32' ( temp 4X3 matrix of uint) +0:86 transpose ( temp 4X3 matrix of uint) +0:86 'u3x4' ( temp 3X4 matrix of uint) 0:87 Sequence -0:87 move second child to first child (temp 4X4 matrix of uint) -0:87 'r33' (temp 4X4 matrix of uint) -0:87 transpose (temp 4X4 matrix of uint) -0:87 'u4x4' (temp 4X4 matrix of uint) -0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:87 move second child to first child ( temp 4X4 matrix of uint) +0:87 'r33' ( temp 4X4 matrix of uint) +0:87 transpose ( temp 4X4 matrix of uint) +0:87 'u4x4' ( temp 4X4 matrix of uint) +0:93 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:93 Function Parameters: 0:? Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:95 color: direct index for structure (temp 4-component vector of float) -0:95 'ps_output' (temp structure{temp 4-component vector of float color}) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 color: direct index for structure ( temp 4-component vector of float) +0:95 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:95 Constant: 0:95 0 (const int) 0:? Constant: @@ -181,17 +181,20 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:96 Sequence -0:96 Sequence -0:96 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:96 color: direct index for structure (temp 4-component vector of float) -0:96 'ps_output' (temp structure{temp 4-component vector of float color}) -0:96 Constant: -0:96 0 (const int) -0:96 Branch: Return +0:96 Branch: Return with expression +0:96 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:93 Function Definition: main( ( temp void) +0:93 Function Parameters: +0:? Sequence +0:93 Sequence +0:93 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:93 color: direct index for structure ( temp 4-component vector of float) +0:93 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:93 Constant: +0:93 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -200,178 +203,178 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: TestIntMatTypes( (temp void) +0:3 Function Definition: TestIntMatTypes( ( temp void) 0:3 Function Parameters: 0:? Sequence 0:25 Sequence -0:25 move second child to first child (temp 1X1 matrix of int) -0:25 'r00' (temp 1X1 matrix of int) -0:25 transpose (temp 1X1 matrix of int) -0:25 'i1x1' (temp 1X1 matrix of int) +0:25 move second child to first child ( temp 1X1 matrix of int) +0:25 'r00' ( temp 1X1 matrix of int) +0:25 transpose ( temp 1X1 matrix of int) +0:25 'i1x1' ( temp 1X1 matrix of int) 0:26 Sequence -0:26 move second child to first child (temp 1X2 matrix of int) -0:26 'r01' (temp 1X2 matrix of int) -0:26 transpose (temp 1X2 matrix of int) -0:26 'i2x1' (temp 2X1 matrix of int) +0:26 move second child to first child ( temp 1X2 matrix of int) +0:26 'r01' ( temp 1X2 matrix of int) +0:26 transpose ( temp 1X2 matrix of int) +0:26 'i2x1' ( temp 2X1 matrix of int) 0:27 Sequence -0:27 move second child to first child (temp 1X3 matrix of int) -0:27 'r02' (temp 1X3 matrix of int) -0:27 transpose (temp 1X3 matrix of int) -0:27 'i3x1' (temp 3X1 matrix of int) +0:27 move second child to first child ( temp 1X3 matrix of int) +0:27 'r02' ( temp 1X3 matrix of int) +0:27 transpose ( temp 1X3 matrix of int) +0:27 'i3x1' ( temp 3X1 matrix of int) 0:28 Sequence -0:28 move second child to first child (temp 1X4 matrix of int) -0:28 'r03' (temp 1X4 matrix of int) -0:28 transpose (temp 1X4 matrix of int) -0:28 'i4x1' (temp 4X1 matrix of int) +0:28 move second child to first child ( temp 1X4 matrix of int) +0:28 'r03' ( temp 1X4 matrix of int) +0:28 transpose ( temp 1X4 matrix of int) +0:28 'i4x1' ( temp 4X1 matrix of int) 0:30 Sequence -0:30 move second child to first child (temp 2X1 matrix of int) -0:30 'r10' (temp 2X1 matrix of int) -0:30 transpose (temp 2X1 matrix of int) -0:30 'i1x2' (temp 1X2 matrix of int) +0:30 move second child to first child ( temp 2X1 matrix of int) +0:30 'r10' ( temp 2X1 matrix of int) +0:30 transpose ( temp 2X1 matrix of int) +0:30 'i1x2' ( temp 1X2 matrix of int) 0:31 Sequence -0:31 move second child to first child (temp 2X2 matrix of int) -0:31 'r11' (temp 2X2 matrix of int) -0:31 transpose (temp 2X2 matrix of int) -0:31 'i2x2' (temp 2X2 matrix of int) +0:31 move second child to first child ( temp 2X2 matrix of int) +0:31 'r11' ( temp 2X2 matrix of int) +0:31 transpose ( temp 2X2 matrix of int) +0:31 'i2x2' ( temp 2X2 matrix of int) 0:32 Sequence -0:32 move second child to first child (temp 2X3 matrix of int) -0:32 'r12' (temp 2X3 matrix of int) -0:32 transpose (temp 2X3 matrix of int) -0:32 'i3x2' (temp 3X2 matrix of int) +0:32 move second child to first child ( temp 2X3 matrix of int) +0:32 'r12' ( temp 2X3 matrix of int) +0:32 transpose ( temp 2X3 matrix of int) +0:32 'i3x2' ( temp 3X2 matrix of int) 0:33 Sequence -0:33 move second child to first child (temp 2X4 matrix of int) -0:33 'r13' (temp 2X4 matrix of int) -0:33 transpose (temp 2X4 matrix of int) -0:33 'i4x2' (temp 4X2 matrix of int) +0:33 move second child to first child ( temp 2X4 matrix of int) +0:33 'r13' ( temp 2X4 matrix of int) +0:33 transpose ( temp 2X4 matrix of int) +0:33 'i4x2' ( temp 4X2 matrix of int) 0:35 Sequence -0:35 move second child to first child (temp 3X1 matrix of int) -0:35 'r20' (temp 3X1 matrix of int) -0:35 transpose (temp 3X1 matrix of int) -0:35 'i1x3' (temp 1X3 matrix of int) +0:35 move second child to first child ( temp 3X1 matrix of int) +0:35 'r20' ( temp 3X1 matrix of int) +0:35 transpose ( temp 3X1 matrix of int) +0:35 'i1x3' ( temp 1X3 matrix of int) 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of int) -0:36 'r21' (temp 3X2 matrix of int) -0:36 transpose (temp 3X2 matrix of int) -0:36 'i2x3' (temp 2X3 matrix of int) +0:36 move second child to first child ( temp 3X2 matrix of int) +0:36 'r21' ( temp 3X2 matrix of int) +0:36 transpose ( temp 3X2 matrix of int) +0:36 'i2x3' ( temp 2X3 matrix of int) 0:37 Sequence -0:37 move second child to first child (temp 3X3 matrix of int) -0:37 'r22' (temp 3X3 matrix of int) -0:37 transpose (temp 3X3 matrix of int) -0:37 'i3x3' (temp 3X3 matrix of int) +0:37 move second child to first child ( temp 3X3 matrix of int) +0:37 'r22' ( temp 3X3 matrix of int) +0:37 transpose ( temp 3X3 matrix of int) +0:37 'i3x3' ( temp 3X3 matrix of int) 0:38 Sequence -0:38 move second child to first child (temp 3X4 matrix of int) -0:38 'r23' (temp 3X4 matrix of int) -0:38 transpose (temp 3X4 matrix of int) -0:38 'i4x3' (temp 4X3 matrix of int) +0:38 move second child to first child ( temp 3X4 matrix of int) +0:38 'r23' ( temp 3X4 matrix of int) +0:38 transpose ( temp 3X4 matrix of int) +0:38 'i4x3' ( temp 4X3 matrix of int) 0:40 Sequence -0:40 move second child to first child (temp 4X1 matrix of int) -0:40 'r30' (temp 4X1 matrix of int) -0:40 transpose (temp 4X1 matrix of int) -0:40 'i1x4' (temp 1X4 matrix of int) +0:40 move second child to first child ( temp 4X1 matrix of int) +0:40 'r30' ( temp 4X1 matrix of int) +0:40 transpose ( temp 4X1 matrix of int) +0:40 'i1x4' ( temp 1X4 matrix of int) 0:41 Sequence -0:41 move second child to first child (temp 4X2 matrix of int) -0:41 'r31' (temp 4X2 matrix of int) -0:41 transpose (temp 4X2 matrix of int) -0:41 'i2x4' (temp 2X4 matrix of int) +0:41 move second child to first child ( temp 4X2 matrix of int) +0:41 'r31' ( temp 4X2 matrix of int) +0:41 transpose ( temp 4X2 matrix of int) +0:41 'i2x4' ( temp 2X4 matrix of int) 0:42 Sequence -0:42 move second child to first child (temp 4X3 matrix of int) -0:42 'r32' (temp 4X3 matrix of int) -0:42 transpose (temp 4X3 matrix of int) -0:42 'i3x4' (temp 3X4 matrix of int) +0:42 move second child to first child ( temp 4X3 matrix of int) +0:42 'r32' ( temp 4X3 matrix of int) +0:42 transpose ( temp 4X3 matrix of int) +0:42 'i3x4' ( temp 3X4 matrix of int) 0:43 Sequence -0:43 move second child to first child (temp 4X4 matrix of int) -0:43 'r33' (temp 4X4 matrix of int) -0:43 transpose (temp 4X4 matrix of int) -0:43 'i4x4' (temp 4X4 matrix of int) -0:47 Function Definition: TestUintMatTypes( (temp void) +0:43 move second child to first child ( temp 4X4 matrix of int) +0:43 'r33' ( temp 4X4 matrix of int) +0:43 transpose ( temp 4X4 matrix of int) +0:43 'i4x4' ( temp 4X4 matrix of int) +0:47 Function Definition: TestUintMatTypes( ( temp void) 0:47 Function Parameters: 0:? Sequence 0:69 Sequence -0:69 move second child to first child (temp 1X1 matrix of uint) -0:69 'r00' (temp 1X1 matrix of uint) -0:69 transpose (temp 1X1 matrix of uint) -0:69 'u1x1' (temp 1X1 matrix of uint) +0:69 move second child to first child ( temp 1X1 matrix of uint) +0:69 'r00' ( temp 1X1 matrix of uint) +0:69 transpose ( temp 1X1 matrix of uint) +0:69 'u1x1' ( temp 1X1 matrix of uint) 0:70 Sequence -0:70 move second child to first child (temp 1X2 matrix of uint) -0:70 'r01' (temp 1X2 matrix of uint) -0:70 transpose (temp 1X2 matrix of uint) -0:70 'u2x1' (temp 2X1 matrix of uint) +0:70 move second child to first child ( temp 1X2 matrix of uint) +0:70 'r01' ( temp 1X2 matrix of uint) +0:70 transpose ( temp 1X2 matrix of uint) +0:70 'u2x1' ( temp 2X1 matrix of uint) 0:71 Sequence -0:71 move second child to first child (temp 1X3 matrix of uint) -0:71 'r02' (temp 1X3 matrix of uint) -0:71 transpose (temp 1X3 matrix of uint) -0:71 'u3x1' (temp 3X1 matrix of uint) +0:71 move second child to first child ( temp 1X3 matrix of uint) +0:71 'r02' ( temp 1X3 matrix of uint) +0:71 transpose ( temp 1X3 matrix of uint) +0:71 'u3x1' ( temp 3X1 matrix of uint) 0:72 Sequence -0:72 move second child to first child (temp 1X4 matrix of uint) -0:72 'r03' (temp 1X4 matrix of uint) -0:72 transpose (temp 1X4 matrix of uint) -0:72 'u4x1' (temp 4X1 matrix of uint) +0:72 move second child to first child ( temp 1X4 matrix of uint) +0:72 'r03' ( temp 1X4 matrix of uint) +0:72 transpose ( temp 1X4 matrix of uint) +0:72 'u4x1' ( temp 4X1 matrix of uint) 0:74 Sequence -0:74 move second child to first child (temp 2X1 matrix of uint) -0:74 'r10' (temp 2X1 matrix of uint) -0:74 transpose (temp 2X1 matrix of uint) -0:74 'u1x2' (temp 1X2 matrix of uint) +0:74 move second child to first child ( temp 2X1 matrix of uint) +0:74 'r10' ( temp 2X1 matrix of uint) +0:74 transpose ( temp 2X1 matrix of uint) +0:74 'u1x2' ( temp 1X2 matrix of uint) 0:75 Sequence -0:75 move second child to first child (temp 2X2 matrix of uint) -0:75 'r11' (temp 2X2 matrix of uint) -0:75 transpose (temp 2X2 matrix of uint) -0:75 'u2x2' (temp 2X2 matrix of uint) +0:75 move second child to first child ( temp 2X2 matrix of uint) +0:75 'r11' ( temp 2X2 matrix of uint) +0:75 transpose ( temp 2X2 matrix of uint) +0:75 'u2x2' ( temp 2X2 matrix of uint) 0:76 Sequence -0:76 move second child to first child (temp 2X3 matrix of uint) -0:76 'r12' (temp 2X3 matrix of uint) -0:76 transpose (temp 2X3 matrix of uint) -0:76 'u3x2' (temp 3X2 matrix of uint) +0:76 move second child to first child ( temp 2X3 matrix of uint) +0:76 'r12' ( temp 2X3 matrix of uint) +0:76 transpose ( temp 2X3 matrix of uint) +0:76 'u3x2' ( temp 3X2 matrix of uint) 0:77 Sequence -0:77 move second child to first child (temp 2X4 matrix of uint) -0:77 'r13' (temp 2X4 matrix of uint) -0:77 transpose (temp 2X4 matrix of uint) -0:77 'u4x2' (temp 4X2 matrix of uint) +0:77 move second child to first child ( temp 2X4 matrix of uint) +0:77 'r13' ( temp 2X4 matrix of uint) +0:77 transpose ( temp 2X4 matrix of uint) +0:77 'u4x2' ( temp 4X2 matrix of uint) 0:79 Sequence -0:79 move second child to first child (temp 3X1 matrix of uint) -0:79 'r20' (temp 3X1 matrix of uint) -0:79 transpose (temp 3X1 matrix of uint) -0:79 'u1x3' (temp 1X3 matrix of uint) +0:79 move second child to first child ( temp 3X1 matrix of uint) +0:79 'r20' ( temp 3X1 matrix of uint) +0:79 transpose ( temp 3X1 matrix of uint) +0:79 'u1x3' ( temp 1X3 matrix of uint) 0:80 Sequence -0:80 move second child to first child (temp 3X2 matrix of uint) -0:80 'r21' (temp 3X2 matrix of uint) -0:80 transpose (temp 3X2 matrix of uint) -0:80 'u2x3' (temp 2X3 matrix of uint) +0:80 move second child to first child ( temp 3X2 matrix of uint) +0:80 'r21' ( temp 3X2 matrix of uint) +0:80 transpose ( temp 3X2 matrix of uint) +0:80 'u2x3' ( temp 2X3 matrix of uint) 0:81 Sequence -0:81 move second child to first child (temp 3X3 matrix of uint) -0:81 'r22' (temp 3X3 matrix of uint) -0:81 transpose (temp 3X3 matrix of uint) -0:81 'u3x3' (temp 3X3 matrix of uint) +0:81 move second child to first child ( temp 3X3 matrix of uint) +0:81 'r22' ( temp 3X3 matrix of uint) +0:81 transpose ( temp 3X3 matrix of uint) +0:81 'u3x3' ( temp 3X3 matrix of uint) 0:82 Sequence -0:82 move second child to first child (temp 3X4 matrix of uint) -0:82 'r23' (temp 3X4 matrix of uint) -0:82 transpose (temp 3X4 matrix of uint) -0:82 'u4x3' (temp 4X3 matrix of uint) +0:82 move second child to first child ( temp 3X4 matrix of uint) +0:82 'r23' ( temp 3X4 matrix of uint) +0:82 transpose ( temp 3X4 matrix of uint) +0:82 'u4x3' ( temp 4X3 matrix of uint) 0:84 Sequence -0:84 move second child to first child (temp 4X1 matrix of uint) -0:84 'r30' (temp 4X1 matrix of uint) -0:84 transpose (temp 4X1 matrix of uint) -0:84 'u1x4' (temp 1X4 matrix of uint) +0:84 move second child to first child ( temp 4X1 matrix of uint) +0:84 'r30' ( temp 4X1 matrix of uint) +0:84 transpose ( temp 4X1 matrix of uint) +0:84 'u1x4' ( temp 1X4 matrix of uint) 0:85 Sequence -0:85 move second child to first child (temp 4X2 matrix of uint) -0:85 'r31' (temp 4X2 matrix of uint) -0:85 transpose (temp 4X2 matrix of uint) -0:85 'u2x4' (temp 2X4 matrix of uint) +0:85 move second child to first child ( temp 4X2 matrix of uint) +0:85 'r31' ( temp 4X2 matrix of uint) +0:85 transpose ( temp 4X2 matrix of uint) +0:85 'u2x4' ( temp 2X4 matrix of uint) 0:86 Sequence -0:86 move second child to first child (temp 4X3 matrix of uint) -0:86 'r32' (temp 4X3 matrix of uint) -0:86 transpose (temp 4X3 matrix of uint) -0:86 'u3x4' (temp 3X4 matrix of uint) +0:86 move second child to first child ( temp 4X3 matrix of uint) +0:86 'r32' ( temp 4X3 matrix of uint) +0:86 transpose ( temp 4X3 matrix of uint) +0:86 'u3x4' ( temp 3X4 matrix of uint) 0:87 Sequence -0:87 move second child to first child (temp 4X4 matrix of uint) -0:87 'r33' (temp 4X4 matrix of uint) -0:87 transpose (temp 4X4 matrix of uint) -0:87 'u4x4' (temp 4X4 matrix of uint) -0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:87 move second child to first child ( temp 4X4 matrix of uint) +0:87 'r33' ( temp 4X4 matrix of uint) +0:87 transpose ( temp 4X4 matrix of uint) +0:87 'u4x4' ( temp 4X4 matrix of uint) +0:93 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:93 Function Parameters: 0:? Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:95 color: direct index for structure (temp 4-component vector of float) -0:95 'ps_output' (temp structure{temp 4-component vector of float color}) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 color: direct index for structure ( temp 4-component vector of float) +0:95 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:95 Constant: 0:95 0 (const int) 0:? Constant: @@ -379,360 +382,370 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:96 Sequence -0:96 Sequence -0:96 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:96 color: direct index for structure (temp 4-component vector of float) -0:96 'ps_output' (temp structure{temp 4-component vector of float color}) -0:96 Constant: -0:96 0 (const int) -0:96 Branch: Return +0:96 Branch: Return with expression +0:96 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:93 Function Definition: main( ( temp void) +0:93 Function Parameters: +0:? Sequence +0:93 Sequence +0:93 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:93 color: direct index for structure ( temp 4-component vector of float) +0:93 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:93 Constant: +0:93 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 227 +// Id's are bound by 232 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 223 + EntryPoint Fragment 4 "main" 229 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "TestIntMatTypes(" Name 8 "TestUintMatTypes(" - Name 14 "r00" - Name 15 "i1x1" - Name 21 "r01" - Name 24 "i2x1" - Name 30 "r02" - Name 33 "i3x1" - Name 39 "r03" - Name 42 "i4x1" - Name 45 "r10" - Name 46 "i1x2" - Name 51 "r11" - Name 52 "i2x2" - Name 57 "r12" - Name 60 "i3x2" - Name 65 "r13" - Name 68 "i4x2" - Name 71 "r20" - Name 72 "i1x3" - Name 75 "r21" - Name 76 "i2x3" - Name 81 "r22" - Name 82 "i3x3" - Name 87 "r23" - Name 90 "i4x3" - Name 93 "r30" - Name 94 "i1x4" - Name 97 "r31" - Name 98 "i2x4" - Name 101 "r32" - Name 102 "i3x4" - Name 107 "r33" - Name 108 "i4x4" - Name 115 "r00" - Name 116 "u1x1" - Name 122 "r01" - Name 125 "u2x1" - Name 131 "r02" - Name 134 "u3x1" - Name 140 "r03" - Name 143 "u4x1" - Name 146 "r10" - Name 147 "u1x2" - Name 152 "r11" - Name 153 "u2x2" - Name 158 "r12" - Name 161 "u3x2" - Name 166 "r13" - Name 169 "u4x2" - Name 172 "r20" - Name 173 "u1x3" - Name 176 "r21" - Name 177 "u2x3" - Name 182 "r22" - Name 183 "u3x3" - Name 188 "r23" - Name 191 "u4x3" - Name 194 "r30" - Name 195 "u1x4" - Name 198 "r31" - Name 199 "u2x4" - Name 202 "r32" - Name 203 "u3x4" - Name 208 "r33" - Name 209 "u4x4" - Name 214 "PS_OUTPUT" - MemberName 214(PS_OUTPUT) 0 "color" - Name 216 "ps_output" - Name 223 "color" - Decorate 223(color) Location 0 + Name 12 "PS_OUTPUT" + MemberName 12(PS_OUTPUT) 0 "color" + Name 14 "@main(" + Name 20 "r00" + Name 21 "i1x1" + Name 27 "r01" + Name 30 "i2x1" + Name 36 "r02" + Name 39 "i3x1" + Name 45 "r03" + Name 48 "i4x1" + Name 51 "r10" + Name 52 "i1x2" + Name 57 "r11" + Name 58 "i2x2" + Name 63 "r12" + Name 66 "i3x2" + Name 71 "r13" + Name 74 "i4x2" + Name 77 "r20" + Name 78 "i1x3" + Name 81 "r21" + Name 82 "i2x3" + Name 87 "r22" + Name 88 "i3x3" + Name 93 "r23" + Name 96 "i4x3" + Name 99 "r30" + Name 100 "i1x4" + Name 103 "r31" + Name 104 "i2x4" + Name 107 "r32" + Name 108 "i3x4" + Name 113 "r33" + Name 114 "i4x4" + Name 121 "r00" + Name 122 "u1x1" + Name 128 "r01" + Name 131 "u2x1" + Name 137 "r02" + Name 140 "u3x1" + Name 146 "r03" + Name 149 "u4x1" + Name 152 "r10" + Name 153 "u1x2" + Name 158 "r11" + Name 159 "u2x2" + Name 164 "r12" + Name 167 "u3x2" + Name 172 "r13" + Name 175 "u4x2" + Name 178 "r20" + Name 179 "u1x3" + Name 182 "r21" + Name 183 "u2x3" + Name 188 "r22" + Name 189 "u3x3" + Name 194 "r23" + Name 197 "u4x3" + Name 200 "r30" + Name 201 "u1x4" + Name 204 "r31" + Name 205 "u2x4" + Name 208 "r32" + Name 209 "u3x4" + Name 214 "r33" + Name 215 "u4x4" + Name 219 "ps_output" + Name 229 "color" + Decorate 229(color) Location 0 2: TypeVoid 3: TypeFunction 2 - 10: TypeInt 32 1 - 11: TypeVector 10(int) 1 - 12: TypeMatrix 11(ivec) 1 - 13: TypePointer Function 12 - 18: TypeVector 10(int) 2 - 19: TypeMatrix 18(ivec2) 1 - 20: TypePointer Function 19 - 22: TypeMatrix 11(ivec) 2 - 23: TypePointer Function 22 - 27: TypeVector 10(int) 3 - 28: TypeMatrix 27(ivec3) 1 + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12(PS_OUTPUT): TypeStruct 11(fvec4) + 13: TypeFunction 12(PS_OUTPUT) + 16: TypeInt 32 1 + 17: TypeVector 16(int) 1 + 18: TypeMatrix 17(ivec) 1 + 19: TypePointer Function 18 + 24: TypeVector 16(int) 2 + 25: TypeMatrix 24(ivec2) 1 + 26: TypePointer Function 25 + 28: TypeMatrix 17(ivec) 2 29: TypePointer Function 28 - 31: TypeMatrix 11(ivec) 3 - 32: TypePointer Function 31 - 36: TypeVector 10(int) 4 - 37: TypeMatrix 36(ivec4) 1 + 33: TypeVector 16(int) 3 + 34: TypeMatrix 33(ivec3) 1 + 35: TypePointer Function 34 + 37: TypeMatrix 17(ivec) 3 38: TypePointer Function 37 - 40: TypeMatrix 11(ivec) 4 - 41: TypePointer Function 40 - 49: TypeMatrix 18(ivec2) 2 - 50: TypePointer Function 49 - 55: TypeMatrix 27(ivec3) 2 + 42: TypeVector 16(int) 4 + 43: TypeMatrix 42(ivec4) 1 + 44: TypePointer Function 43 + 46: TypeMatrix 17(ivec) 4 + 47: TypePointer Function 46 + 55: TypeMatrix 24(ivec2) 2 56: TypePointer Function 55 - 58: TypeMatrix 18(ivec2) 3 - 59: TypePointer Function 58 - 63: TypeMatrix 36(ivec4) 2 - 64: TypePointer Function 63 - 66: TypeMatrix 18(ivec2) 4 - 67: TypePointer Function 66 - 79: TypeMatrix 27(ivec3) 3 - 80: TypePointer Function 79 - 85: TypeMatrix 36(ivec4) 3 + 61: TypeMatrix 33(ivec3) 2 + 62: TypePointer Function 61 + 64: TypeMatrix 24(ivec2) 3 + 65: TypePointer Function 64 + 69: TypeMatrix 42(ivec4) 2 + 70: TypePointer Function 69 + 72: TypeMatrix 24(ivec2) 4 + 73: TypePointer Function 72 + 85: TypeMatrix 33(ivec3) 3 86: TypePointer Function 85 - 88: TypeMatrix 27(ivec3) 4 - 89: TypePointer Function 88 - 105: TypeMatrix 36(ivec4) 4 - 106: TypePointer Function 105 - 111: TypeInt 32 0 - 112: TypeVector 111(int) 1 - 113: TypeMatrix 112(ivec) 1 - 114: TypePointer Function 113 - 119: TypeVector 111(int) 2 - 120: TypeMatrix 119(ivec2) 1 - 121: TypePointer Function 120 - 123: TypeMatrix 112(ivec) 2 - 124: TypePointer Function 123 - 128: TypeVector 111(int) 3 - 129: TypeMatrix 128(ivec3) 1 + 91: TypeMatrix 42(ivec4) 3 + 92: TypePointer Function 91 + 94: TypeMatrix 33(ivec3) 4 + 95: TypePointer Function 94 + 111: TypeMatrix 42(ivec4) 4 + 112: TypePointer Function 111 + 117: TypeInt 32 0 + 118: TypeVector 117(int) 1 + 119: TypeMatrix 118(ivec) 1 + 120: TypePointer Function 119 + 125: TypeVector 117(int) 2 + 126: TypeMatrix 125(ivec2) 1 + 127: TypePointer Function 126 + 129: TypeMatrix 118(ivec) 2 130: TypePointer Function 129 - 132: TypeMatrix 112(ivec) 3 - 133: TypePointer Function 132 - 137: TypeVector 111(int) 4 - 138: TypeMatrix 137(ivec4) 1 + 134: TypeVector 117(int) 3 + 135: TypeMatrix 134(ivec3) 1 + 136: TypePointer Function 135 + 138: TypeMatrix 118(ivec) 3 139: TypePointer Function 138 - 141: TypeMatrix 112(ivec) 4 - 142: TypePointer Function 141 - 150: TypeMatrix 119(ivec2) 2 - 151: TypePointer Function 150 - 156: TypeMatrix 128(ivec3) 2 + 143: TypeVector 117(int) 4 + 144: TypeMatrix 143(ivec4) 1 + 145: TypePointer Function 144 + 147: TypeMatrix 118(ivec) 4 + 148: TypePointer Function 147 + 156: TypeMatrix 125(ivec2) 2 157: TypePointer Function 156 - 159: TypeMatrix 119(ivec2) 3 - 160: TypePointer Function 159 - 164: TypeMatrix 137(ivec4) 2 - 165: TypePointer Function 164 - 167: TypeMatrix 119(ivec2) 4 - 168: TypePointer Function 167 - 180: TypeMatrix 128(ivec3) 3 - 181: TypePointer Function 180 - 186: TypeMatrix 137(ivec4) 3 + 162: TypeMatrix 134(ivec3) 2 + 163: TypePointer Function 162 + 165: TypeMatrix 125(ivec2) 3 + 166: TypePointer Function 165 + 170: TypeMatrix 143(ivec4) 2 + 171: TypePointer Function 170 + 173: TypeMatrix 125(ivec2) 4 + 174: TypePointer Function 173 + 186: TypeMatrix 134(ivec3) 3 187: TypePointer Function 186 - 189: TypeMatrix 128(ivec3) 4 - 190: TypePointer Function 189 - 206: TypeMatrix 137(ivec4) 4 - 207: TypePointer Function 206 - 212: TypeFloat 32 - 213: TypeVector 212(float) 4 - 214(PS_OUTPUT): TypeStruct 213(fvec4) - 215: TypePointer Function 214(PS_OUTPUT) - 217: 10(int) Constant 0 - 218: 212(float) Constant 0 - 219: 213(fvec4) ConstantComposite 218 218 218 218 - 220: TypePointer Function 213(fvec4) - 222: TypePointer Output 213(fvec4) - 223(color): 222(ptr) Variable Output + 192: TypeMatrix 143(ivec4) 3 + 193: TypePointer Function 192 + 195: TypeMatrix 134(ivec3) 4 + 196: TypePointer Function 195 + 212: TypeMatrix 143(ivec4) 4 + 213: TypePointer Function 212 + 218: TypePointer Function 12(PS_OUTPUT) + 220: 16(int) Constant 0 + 221: 10(float) Constant 0 + 222: 11(fvec4) ConstantComposite 221 221 221 221 + 223: TypePointer Function 11(fvec4) + 228: TypePointer Output 11(fvec4) + 229(color): 228(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 216(ps_output): 215(ptr) Variable Function - 221: 220(ptr) AccessChain 216(ps_output) 217 - Store 221 219 - 224: 220(ptr) AccessChain 216(ps_output) 217 - 225: 213(fvec4) Load 224 - Store 223(color) 225 + 230:12(PS_OUTPUT) FunctionCall 14(@main() + 231: 11(fvec4) CompositeExtract 230 0 + Store 229(color) 231 Return FunctionEnd 6(TestIntMatTypes(): 2 Function None 3 7: Label - 14(r00): 13(ptr) Variable Function - 15(i1x1): 13(ptr) Variable Function - 21(r01): 20(ptr) Variable Function - 24(i2x1): 23(ptr) Variable Function - 30(r02): 29(ptr) Variable Function - 33(i3x1): 32(ptr) Variable Function - 39(r03): 38(ptr) Variable Function - 42(i4x1): 41(ptr) Variable Function - 45(r10): 23(ptr) Variable Function - 46(i1x2): 20(ptr) Variable Function - 51(r11): 50(ptr) Variable Function - 52(i2x2): 50(ptr) Variable Function - 57(r12): 56(ptr) Variable Function - 60(i3x2): 59(ptr) Variable Function - 65(r13): 64(ptr) Variable Function - 68(i4x2): 67(ptr) Variable Function - 71(r20): 32(ptr) Variable Function - 72(i1x3): 29(ptr) Variable Function - 75(r21): 59(ptr) Variable Function - 76(i2x3): 56(ptr) Variable Function - 81(r22): 80(ptr) Variable Function - 82(i3x3): 80(ptr) Variable Function - 87(r23): 86(ptr) Variable Function - 90(i4x3): 89(ptr) Variable Function - 93(r30): 41(ptr) Variable Function - 94(i1x4): 38(ptr) Variable Function - 97(r31): 67(ptr) Variable Function - 98(i2x4): 64(ptr) Variable Function - 101(r32): 89(ptr) Variable Function - 102(i3x4): 86(ptr) Variable Function - 107(r33): 106(ptr) Variable Function - 108(i4x4): 106(ptr) Variable Function - 16: 12 Load 15(i1x1) - 17: 12 Transpose 16 - Store 14(r00) 17 - 25: 22 Load 24(i2x1) - 26: 19 Transpose 25 - Store 21(r01) 26 - 34: 31 Load 33(i3x1) - 35: 28 Transpose 34 - Store 30(r02) 35 - 43: 40 Load 42(i4x1) - 44: 37 Transpose 43 - Store 39(r03) 44 - 47: 19 Load 46(i1x2) - 48: 22 Transpose 47 - Store 45(r10) 48 - 53: 49 Load 52(i2x2) - 54: 49 Transpose 53 - Store 51(r11) 54 - 61: 58 Load 60(i3x2) - 62: 55 Transpose 61 - Store 57(r12) 62 - 69: 66 Load 68(i4x2) - 70: 63 Transpose 69 - Store 65(r13) 70 - 73: 28 Load 72(i1x3) - 74: 31 Transpose 73 - Store 71(r20) 74 - 77: 55 Load 76(i2x3) - 78: 58 Transpose 77 - Store 75(r21) 78 - 83: 79 Load 82(i3x3) - 84: 79 Transpose 83 - Store 81(r22) 84 - 91: 88 Load 90(i4x3) - 92: 85 Transpose 91 - Store 87(r23) 92 - 95: 37 Load 94(i1x4) - 96: 40 Transpose 95 - Store 93(r30) 96 - 99: 63 Load 98(i2x4) - 100: 66 Transpose 99 - Store 97(r31) 100 - 103: 85 Load 102(i3x4) - 104: 88 Transpose 103 - Store 101(r32) 104 - 109: 105 Load 108(i4x4) - 110: 105 Transpose 109 - Store 107(r33) 110 + 20(r00): 19(ptr) Variable Function + 21(i1x1): 19(ptr) Variable Function + 27(r01): 26(ptr) Variable Function + 30(i2x1): 29(ptr) Variable Function + 36(r02): 35(ptr) Variable Function + 39(i3x1): 38(ptr) Variable Function + 45(r03): 44(ptr) Variable Function + 48(i4x1): 47(ptr) Variable Function + 51(r10): 29(ptr) Variable Function + 52(i1x2): 26(ptr) Variable Function + 57(r11): 56(ptr) Variable Function + 58(i2x2): 56(ptr) Variable Function + 63(r12): 62(ptr) Variable Function + 66(i3x2): 65(ptr) Variable Function + 71(r13): 70(ptr) Variable Function + 74(i4x2): 73(ptr) Variable Function + 77(r20): 38(ptr) Variable Function + 78(i1x3): 35(ptr) Variable Function + 81(r21): 65(ptr) Variable Function + 82(i2x3): 62(ptr) Variable Function + 87(r22): 86(ptr) Variable Function + 88(i3x3): 86(ptr) Variable Function + 93(r23): 92(ptr) Variable Function + 96(i4x3): 95(ptr) Variable Function + 99(r30): 47(ptr) Variable Function + 100(i1x4): 44(ptr) Variable Function + 103(r31): 73(ptr) Variable Function + 104(i2x4): 70(ptr) Variable Function + 107(r32): 95(ptr) Variable Function + 108(i3x4): 92(ptr) Variable Function + 113(r33): 112(ptr) Variable Function + 114(i4x4): 112(ptr) Variable Function + 22: 18 Load 21(i1x1) + 23: 18 Transpose 22 + Store 20(r00) 23 + 31: 28 Load 30(i2x1) + 32: 25 Transpose 31 + Store 27(r01) 32 + 40: 37 Load 39(i3x1) + 41: 34 Transpose 40 + Store 36(r02) 41 + 49: 46 Load 48(i4x1) + 50: 43 Transpose 49 + Store 45(r03) 50 + 53: 25 Load 52(i1x2) + 54: 28 Transpose 53 + Store 51(r10) 54 + 59: 55 Load 58(i2x2) + 60: 55 Transpose 59 + Store 57(r11) 60 + 67: 64 Load 66(i3x2) + 68: 61 Transpose 67 + Store 63(r12) 68 + 75: 72 Load 74(i4x2) + 76: 69 Transpose 75 + Store 71(r13) 76 + 79: 34 Load 78(i1x3) + 80: 37 Transpose 79 + Store 77(r20) 80 + 83: 61 Load 82(i2x3) + 84: 64 Transpose 83 + Store 81(r21) 84 + 89: 85 Load 88(i3x3) + 90: 85 Transpose 89 + Store 87(r22) 90 + 97: 94 Load 96(i4x3) + 98: 91 Transpose 97 + Store 93(r23) 98 + 101: 43 Load 100(i1x4) + 102: 46 Transpose 101 + Store 99(r30) 102 + 105: 69 Load 104(i2x4) + 106: 72 Transpose 105 + Store 103(r31) 106 + 109: 91 Load 108(i3x4) + 110: 94 Transpose 109 + Store 107(r32) 110 + 115: 111 Load 114(i4x4) + 116: 111 Transpose 115 + Store 113(r33) 116 Return FunctionEnd 8(TestUintMatTypes(): 2 Function None 3 9: Label - 115(r00): 114(ptr) Variable Function - 116(u1x1): 114(ptr) Variable Function - 122(r01): 121(ptr) Variable Function - 125(u2x1): 124(ptr) Variable Function - 131(r02): 130(ptr) Variable Function - 134(u3x1): 133(ptr) Variable Function - 140(r03): 139(ptr) Variable Function - 143(u4x1): 142(ptr) Variable Function - 146(r10): 124(ptr) Variable Function - 147(u1x2): 121(ptr) Variable Function - 152(r11): 151(ptr) Variable Function - 153(u2x2): 151(ptr) Variable Function - 158(r12): 157(ptr) Variable Function - 161(u3x2): 160(ptr) Variable Function - 166(r13): 165(ptr) Variable Function - 169(u4x2): 168(ptr) Variable Function - 172(r20): 133(ptr) Variable Function - 173(u1x3): 130(ptr) Variable Function - 176(r21): 160(ptr) Variable Function - 177(u2x3): 157(ptr) Variable Function - 182(r22): 181(ptr) Variable Function - 183(u3x3): 181(ptr) Variable Function - 188(r23): 187(ptr) Variable Function - 191(u4x3): 190(ptr) Variable Function - 194(r30): 142(ptr) Variable Function - 195(u1x4): 139(ptr) Variable Function - 198(r31): 168(ptr) Variable Function - 199(u2x4): 165(ptr) Variable Function - 202(r32): 190(ptr) Variable Function - 203(u3x4): 187(ptr) Variable Function - 208(r33): 207(ptr) Variable Function - 209(u4x4): 207(ptr) Variable Function - 117: 113 Load 116(u1x1) - 118: 113 Transpose 117 - Store 115(r00) 118 - 126: 123 Load 125(u2x1) - 127: 120 Transpose 126 - Store 122(r01) 127 - 135: 132 Load 134(u3x1) - 136: 129 Transpose 135 - Store 131(r02) 136 - 144: 141 Load 143(u4x1) - 145: 138 Transpose 144 - Store 140(r03) 145 - 148: 120 Load 147(u1x2) - 149: 123 Transpose 148 - Store 146(r10) 149 - 154: 150 Load 153(u2x2) - 155: 150 Transpose 154 - Store 152(r11) 155 - 162: 159 Load 161(u3x2) - 163: 156 Transpose 162 - Store 158(r12) 163 - 170: 167 Load 169(u4x2) - 171: 164 Transpose 170 - Store 166(r13) 171 - 174: 129 Load 173(u1x3) - 175: 132 Transpose 174 - Store 172(r20) 175 - 178: 156 Load 177(u2x3) - 179: 159 Transpose 178 - Store 176(r21) 179 - 184: 180 Load 183(u3x3) - 185: 180 Transpose 184 - Store 182(r22) 185 - 192: 189 Load 191(u4x3) - 193: 186 Transpose 192 - Store 188(r23) 193 - 196: 138 Load 195(u1x4) - 197: 141 Transpose 196 - Store 194(r30) 197 - 200: 164 Load 199(u2x4) - 201: 167 Transpose 200 - Store 198(r31) 201 - 204: 186 Load 203(u3x4) - 205: 189 Transpose 204 - Store 202(r32) 205 - 210: 206 Load 209(u4x4) - 211: 206 Transpose 210 - Store 208(r33) 211 + 121(r00): 120(ptr) Variable Function + 122(u1x1): 120(ptr) Variable Function + 128(r01): 127(ptr) Variable Function + 131(u2x1): 130(ptr) Variable Function + 137(r02): 136(ptr) Variable Function + 140(u3x1): 139(ptr) Variable Function + 146(r03): 145(ptr) Variable Function + 149(u4x1): 148(ptr) Variable Function + 152(r10): 130(ptr) Variable Function + 153(u1x2): 127(ptr) Variable Function + 158(r11): 157(ptr) Variable Function + 159(u2x2): 157(ptr) Variable Function + 164(r12): 163(ptr) Variable Function + 167(u3x2): 166(ptr) Variable Function + 172(r13): 171(ptr) Variable Function + 175(u4x2): 174(ptr) Variable Function + 178(r20): 139(ptr) Variable Function + 179(u1x3): 136(ptr) Variable Function + 182(r21): 166(ptr) Variable Function + 183(u2x3): 163(ptr) Variable Function + 188(r22): 187(ptr) Variable Function + 189(u3x3): 187(ptr) Variable Function + 194(r23): 193(ptr) Variable Function + 197(u4x3): 196(ptr) Variable Function + 200(r30): 148(ptr) Variable Function + 201(u1x4): 145(ptr) Variable Function + 204(r31): 174(ptr) Variable Function + 205(u2x4): 171(ptr) Variable Function + 208(r32): 196(ptr) Variable Function + 209(u3x4): 193(ptr) Variable Function + 214(r33): 213(ptr) Variable Function + 215(u4x4): 213(ptr) Variable Function + 123: 119 Load 122(u1x1) + 124: 119 Transpose 123 + Store 121(r00) 124 + 132: 129 Load 131(u2x1) + 133: 126 Transpose 132 + Store 128(r01) 133 + 141: 138 Load 140(u3x1) + 142: 135 Transpose 141 + Store 137(r02) 142 + 150: 147 Load 149(u4x1) + 151: 144 Transpose 150 + Store 146(r03) 151 + 154: 126 Load 153(u1x2) + 155: 129 Transpose 154 + Store 152(r10) 155 + 160: 156 Load 159(u2x2) + 161: 156 Transpose 160 + Store 158(r11) 161 + 168: 165 Load 167(u3x2) + 169: 162 Transpose 168 + Store 164(r12) 169 + 176: 173 Load 175(u4x2) + 177: 170 Transpose 176 + Store 172(r13) 177 + 180: 135 Load 179(u1x3) + 181: 138 Transpose 180 + Store 178(r20) 181 + 184: 162 Load 183(u2x3) + 185: 165 Transpose 184 + Store 182(r21) 185 + 190: 186 Load 189(u3x3) + 191: 186 Transpose 190 + Store 188(r22) 191 + 198: 195 Load 197(u4x3) + 199: 192 Transpose 198 + Store 194(r23) 199 + 202: 144 Load 201(u1x4) + 203: 147 Transpose 202 + Store 200(r30) 203 + 206: 170 Load 205(u2x4) + 207: 173 Transpose 206 + Store 204(r31) 207 + 210: 192 Load 209(u3x4) + 211: 195 Transpose 210 + Store 208(r32) 211 + 216: 212 Load 215(u4x4) + 217: 212 Transpose 216 + Store 214(r33) 217 Return FunctionEnd + 14(@main():12(PS_OUTPUT) Function None 13 + 15: Label + 219(ps_output): 218(ptr) Variable Function + 224: 223(ptr) AccessChain 219(ps_output) 220 + Store 224 222 + 225:12(PS_OUTPUT) Load 219(ps_output) + ReturnValue 225 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out index cf79f724589..69c774ba06b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixSwizzle.vert.out @@ -1,43 +1,43 @@ hlsl.matrixSwizzle.vert Shader version: 450 0:? Sequence -0:2 Function Definition: ShaderFunction(f1; (temp void) +0:2 Function Definition: @ShaderFunction(f1; ( temp void) 0:2 Function Parameters: -0:2 'inf' (layout(location=0 ) in float) +0:2 'inf' ( in float) 0:? Sequence -0:7 move second child to first child (temp float) -0:7 direct index (temp float) -0:7 direct index (temp 4-component vector of float) -0:7 'm' (temp 3X4 matrix of float) +0:7 move second child to first child ( temp float) +0:7 direct index ( temp float) +0:7 direct index ( temp 4-component vector of float) +0:7 'm' ( temp 3X4 matrix of float) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 3 (const int) 0:7 Constant: 0:7 1.000000 -0:8 move second child to first child (temp float) -0:8 direct index (temp float) -0:8 direct index (temp 4-component vector of float) -0:8 'm' (temp 3X4 matrix of float) +0:8 move second child to first child ( temp float) +0:8 direct index ( temp float) +0:8 direct index ( temp 4-component vector of float) +0:8 'm' ( temp 3X4 matrix of float) 0:8 Constant: 0:8 2 (const int) 0:8 Constant: 0:8 3 (const int) 0:8 Constant: 0:8 2.000000 -0:9 move second child to first child (temp float) -0:9 direct index (temp float) -0:9 direct index (temp 4-component vector of float) -0:9 'm' (temp 3X4 matrix of float) +0:9 move second child to first child ( temp float) +0:9 direct index ( temp float) +0:9 direct index ( temp 4-component vector of float) +0:9 'm' ( temp 3X4 matrix of float) 0:9 Constant: 0:9 2 (const int) 0:9 Constant: 0:9 3 (const int) 0:9 Constant: 0:9 2.000000 -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float) -0:11 'm' (temp 3X4 matrix of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float) +0:11 'm' ( temp 3X4 matrix of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -45,9 +45,9 @@ Shader version: 450 0:11 3.000000 0:11 3.000000 0:11 3.000000 -0:12 move second child to first child (temp 4-component vector of float) -0:12 direct index (temp 4-component vector of float) -0:12 'm' (temp 3X4 matrix of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 direct index ( temp 4-component vector of float) +0:12 'm' ( temp 3X4 matrix of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -55,9 +55,9 @@ Shader version: 450 0:12 3.000000 0:12 3.000000 0:12 3.000000 -0:13 move second child to first child (temp 4-component vector of float) -0:13 direct index (temp 4-component vector of float) -0:13 'm' (temp 3X4 matrix of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 direct index ( temp 4-component vector of float) +0:13 'm' ( temp 3X4 matrix of float) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -66,132 +66,132 @@ Shader version: 450 0:13 3.000000 0:13 3.000000 0:? Sequence -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 0 (const int) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 0 (const int) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 1 (const int) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 2 (const int) 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 move second child to first child ( temp 3-component vector of float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 5.000000 0:19 5.000000 0:19 5.000000 -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 0 (const int) -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 1 (const int) -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 2 (const int) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp 3-component vector of float) -0:20 'intermVec' (temp 3-component vector of float) -0:20 vector-scale (temp 3-component vector of float) +0:20 move second child to first child ( temp 3-component vector of float) +0:20 'intermVec' ( temp 3-component vector of float) +0:20 vector-scale ( temp 3-component vector of float) 0:20 Constant: 0:20 2.000000 -0:20 'f3' (temp 3-component vector of float) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 'f3' ( temp 3-component vector of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 0 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 0 (const int) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 1 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 1 (const int) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 0 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 2 (const int) -0:23 move second child to first child (temp 3-component vector of float) -0:23 'f3' (temp 3-component vector of float) -0:23 matrix swizzle (temp 3-component vector of float) -0:23 'm' (temp 3X4 matrix of float) +0:23 move second child to first child ( temp 3-component vector of float) +0:23 'f3' ( temp 3-component vector of float) +0:23 matrix swizzle ( temp 3-component vector of float) +0:23 'm' ( temp 3X4 matrix of float) 0:23 Sequence 0:23 Constant: 0:23 1 (const int) @@ -205,127 +205,135 @@ Shader version: 450 0:23 2 (const int) 0:23 Constant: 0:23 0 (const int) -0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float) +0:2 Function Definition: ShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? 'inf' ( temp float) +0:? 'inf' (layout( location=0) in float) +0:2 Function Call: @ShaderFunction(f1; ( temp void) +0:? 'inf' ( temp float) +0:27 Function Definition: createMat3x3(vf3;vf3;vf3; ( temp 3X3 matrix of float) 0:27 Function Parameters: -0:27 'a' (in 3-component vector of float) -0:27 'b' (in 3-component vector of float) -0:27 'c' (in 3-component vector of float) +0:27 'a' ( in 3-component vector of float) +0:27 'b' ( in 3-component vector of float) +0:27 'c' ( in 3-component vector of float) 0:? Sequence 0:? Sequence -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 0 (const int) -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 1 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 1 (const int) -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 2 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 2 (const int) 0:? Sequence -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 0 (const int) -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 1 (const int) -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:? Sequence -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 0 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 0 (const int) -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 1 (const int) -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 2 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 2 (const int) 0:32 Branch: Return with expression -0:32 'm' (temp 3X3 matrix of float) +0:32 'm' ( temp 3X3 matrix of float) 0:? Linker Objects -0:? 'inf' (layout(location=0 ) in float) +0:? 'inf' (layout( location=0) in float) Linked vertex stage: @@ -333,43 +341,43 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:2 Function Definition: ShaderFunction(f1; (temp void) +0:2 Function Definition: @ShaderFunction(f1; ( temp void) 0:2 Function Parameters: -0:2 'inf' (layout(location=0 ) in float) +0:2 'inf' ( in float) 0:? Sequence -0:7 move second child to first child (temp float) -0:7 direct index (temp float) -0:7 direct index (temp 4-component vector of float) -0:7 'm' (temp 3X4 matrix of float) +0:7 move second child to first child ( temp float) +0:7 direct index ( temp float) +0:7 direct index ( temp 4-component vector of float) +0:7 'm' ( temp 3X4 matrix of float) 0:7 Constant: 0:7 2 (const int) 0:7 Constant: 0:7 3 (const int) 0:7 Constant: 0:7 1.000000 -0:8 move second child to first child (temp float) -0:8 direct index (temp float) -0:8 direct index (temp 4-component vector of float) -0:8 'm' (temp 3X4 matrix of float) +0:8 move second child to first child ( temp float) +0:8 direct index ( temp float) +0:8 direct index ( temp 4-component vector of float) +0:8 'm' ( temp 3X4 matrix of float) 0:8 Constant: 0:8 2 (const int) 0:8 Constant: 0:8 3 (const int) 0:8 Constant: 0:8 2.000000 -0:9 move second child to first child (temp float) -0:9 direct index (temp float) -0:9 direct index (temp 4-component vector of float) -0:9 'm' (temp 3X4 matrix of float) +0:9 move second child to first child ( temp float) +0:9 direct index ( temp float) +0:9 direct index ( temp 4-component vector of float) +0:9 'm' ( temp 3X4 matrix of float) 0:9 Constant: 0:9 2 (const int) 0:9 Constant: 0:9 3 (const int) 0:9 Constant: 0:9 2.000000 -0:11 move second child to first child (temp 4-component vector of float) -0:11 direct index (temp 4-component vector of float) -0:11 'm' (temp 3X4 matrix of float) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float) +0:11 'm' ( temp 3X4 matrix of float) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -377,9 +385,9 @@ Shader version: 450 0:11 3.000000 0:11 3.000000 0:11 3.000000 -0:12 move second child to first child (temp 4-component vector of float) -0:12 direct index (temp 4-component vector of float) -0:12 'm' (temp 3X4 matrix of float) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 direct index ( temp 4-component vector of float) +0:12 'm' ( temp 3X4 matrix of float) 0:12 Constant: 0:12 1 (const int) 0:12 Constant: @@ -387,9 +395,9 @@ Shader version: 450 0:12 3.000000 0:12 3.000000 0:12 3.000000 -0:13 move second child to first child (temp 4-component vector of float) -0:13 direct index (temp 4-component vector of float) -0:13 'm' (temp 3X4 matrix of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 direct index ( temp 4-component vector of float) +0:13 'm' ( temp 3X4 matrix of float) 0:13 Constant: 0:13 1 (const int) 0:13 Constant: @@ -398,132 +406,132 @@ Shader version: 450 0:13 3.000000 0:13 3.000000 0:? Sequence -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 0 (const int) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 0 (const int) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 1 (const int) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 direct index (temp 4-component vector of float) -0:18 'm' (temp 3X4 matrix of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 direct index ( temp 4-component vector of float) +0:18 'm' ( temp 3X4 matrix of float) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: 0:18 2 (const int) -0:18 direct index (temp float) -0:18 'f3' (temp 3-component vector of float) +0:18 direct index ( temp float) +0:18 'f3' ( temp 3-component vector of float) 0:18 Constant: 0:18 2 (const int) 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 move second child to first child ( temp 3-component vector of float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 5.000000 0:19 5.000000 0:19 5.000000 -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 0 (const int) -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: 0:19 1 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 1 (const int) -0:19 move second child to first child (temp float) -0:19 direct index (temp float) -0:19 direct index (temp 4-component vector of float) -0:19 'm' (temp 3X4 matrix of float) +0:19 move second child to first child ( temp float) +0:19 direct index ( temp float) +0:19 direct index ( temp 4-component vector of float) +0:19 'm' ( temp 3X4 matrix of float) 0:19 Constant: 0:19 2 (const int) 0:19 Constant: 0:19 0 (const int) -0:19 direct index (temp float) -0:19 'intermVec' (temp 3-component vector of float) +0:19 direct index ( temp float) +0:19 'intermVec' ( temp 3-component vector of float) 0:19 Constant: 0:19 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp 3-component vector of float) -0:20 'intermVec' (temp 3-component vector of float) -0:20 vector-scale (temp 3-component vector of float) +0:20 move second child to first child ( temp 3-component vector of float) +0:20 'intermVec' ( temp 3-component vector of float) +0:20 vector-scale ( temp 3-component vector of float) 0:20 Constant: 0:20 2.000000 -0:20 'f3' (temp 3-component vector of float) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 'f3' ( temp 3-component vector of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 0 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 0 (const int) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 1 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 1 (const int) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 direct index (temp 4-component vector of float) -0:20 'm' (temp 3X4 matrix of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 direct index ( temp 4-component vector of float) +0:20 'm' ( temp 3X4 matrix of float) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 0 (const int) -0:20 direct index (temp float) -0:20 'intermVec' (temp 3-component vector of float) +0:20 direct index ( temp float) +0:20 'intermVec' ( temp 3-component vector of float) 0:20 Constant: 0:20 2 (const int) -0:23 move second child to first child (temp 3-component vector of float) -0:23 'f3' (temp 3-component vector of float) -0:23 matrix swizzle (temp 3-component vector of float) -0:23 'm' (temp 3X4 matrix of float) +0:23 move second child to first child ( temp 3-component vector of float) +0:23 'f3' ( temp 3-component vector of float) +0:23 matrix swizzle ( temp 3-component vector of float) +0:23 'm' ( temp 3X4 matrix of float) 0:23 Sequence 0:23 Constant: 0:23 1 (const int) @@ -537,282 +545,307 @@ Shader version: 450 0:23 2 (const int) 0:23 Constant: 0:23 0 (const int) -0:27 Function Definition: createMat3x3(vf3;vf3;vf3; (temp 3X3 matrix of float) +0:2 Function Definition: ShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp float) +0:? 'inf' ( temp float) +0:? 'inf' (layout( location=0) in float) +0:2 Function Call: @ShaderFunction(f1; ( temp void) +0:? 'inf' ( temp float) +0:27 Function Definition: createMat3x3(vf3;vf3;vf3; ( temp 3X3 matrix of float) 0:27 Function Parameters: -0:27 'a' (in 3-component vector of float) -0:27 'b' (in 3-component vector of float) -0:27 'c' (in 3-component vector of float) +0:27 'a' ( in 3-component vector of float) +0:27 'b' ( in 3-component vector of float) +0:27 'c' ( in 3-component vector of float) 0:? Sequence 0:? Sequence -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 0 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 0 (const int) -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 1 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 1 (const int) -0:29 move second child to first child (temp float) -0:29 direct index (temp float) -0:29 direct index (temp 3-component vector of float) -0:29 'm' (temp 3X3 matrix of float) +0:29 move second child to first child ( temp float) +0:29 direct index ( temp float) +0:29 direct index ( temp 3-component vector of float) +0:29 'm' ( temp 3X3 matrix of float) 0:29 Constant: 0:29 2 (const int) 0:29 Constant: 0:29 0 (const int) -0:29 direct index (temp float) -0:29 'a' (in 3-component vector of float) +0:29 direct index ( temp float) +0:29 'a' ( in 3-component vector of float) 0:29 Constant: 0:29 2 (const int) 0:? Sequence -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 0 (const int) -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 1 (const int) -0:30 move second child to first child (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 3-component vector of float) -0:30 'm' (temp 3X3 matrix of float) +0:30 move second child to first child ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 3-component vector of float) +0:30 'm' ( temp 3X3 matrix of float) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 direct index (temp float) -0:30 'b' (in 3-component vector of float) +0:30 direct index ( temp float) +0:30 'b' ( in 3-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:? Sequence -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 0 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 0 (const int) -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 1 (const int) -0:31 move second child to first child (temp float) -0:31 direct index (temp float) -0:31 direct index (temp 3-component vector of float) -0:31 'm' (temp 3X3 matrix of float) +0:31 move second child to first child ( temp float) +0:31 direct index ( temp float) +0:31 direct index ( temp 3-component vector of float) +0:31 'm' ( temp 3X3 matrix of float) 0:31 Constant: 0:31 2 (const int) 0:31 Constant: 0:31 2 (const int) -0:31 direct index (temp float) -0:31 'c' (in 3-component vector of float) +0:31 direct index ( temp float) +0:31 'c' ( in 3-component vector of float) 0:31 Constant: 0:31 2 (const int) 0:32 Branch: Return with expression -0:32 'm' (temp 3X3 matrix of float) +0:32 'm' ( temp 3X3 matrix of float) 0:? Linker Objects -0:? 'inf' (layout(location=0 ) in float) +0:? 'inf' (layout( location=0) in float) Missing functionality: matrix swizzle // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 109 +// Id's are bound by 118 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "ShaderFunction" 108 + EntryPoint Vertex 4 "ShaderFunction" 81 Name 4 "ShaderFunction" - Name 14 "createMat3x3(vf3;vf3;vf3;" - Name 11 "a" - Name 12 "b" - Name 13 "c" - Name 19 "m" - Name 38 "f3" - Name 51 "intermVec" - Name 63 "intermVec" - Name 76 "m" - Name 108 "inf" - Decorate 108(inf) Location 0 + Name 10 "@ShaderFunction(f1;" + Name 9 "inf" + Name 19 "createMat3x3(vf3;vf3;vf3;" + Name 16 "a" + Name 17 "b" + Name 18 "c" + Name 24 "m" + Name 42 "f3" + Name 55 "intermVec" + Name 67 "intermVec" + Name 79 "inf" + Name 81 "inf" + Name 83 "param" + Name 87 "m" + Decorate 81(inf) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 3 - 8: TypePointer Function 7(fvec3) - 9: TypeMatrix 7(fvec3) 3 - 10: TypeFunction 9 8(ptr) 8(ptr) 8(ptr) - 16: TypeVector 6(float) 4 - 17: TypeMatrix 16(fvec4) 3 - 18: TypePointer Function 17 - 20: TypeInt 32 1 - 21: 20(int) Constant 2 - 22: 6(float) Constant 1065353216 - 23: TypeInt 32 0 - 24: 23(int) Constant 3 - 25: TypePointer Function 6(float) - 27: 6(float) Constant 1073741824 - 30: 20(int) Constant 0 - 31: 6(float) Constant 1077936128 - 32: 16(fvec4) ConstantComposite 31 31 31 31 - 33: TypePointer Function 16(fvec4) - 35: 20(int) Constant 1 - 39: 23(int) Constant 0 - 43: 23(int) Constant 1 - 47: 23(int) Constant 2 - 52: 6(float) Constant 1084227584 - 53: 7(fvec3) ConstantComposite 52 52 52 - 75: TypePointer Function 9 - 107: TypePointer Input 6(float) - 108(inf): 107(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 2 7(ptr) + 12: TypeVector 6(float) 3 + 13: TypePointer Function 12(fvec3) + 14: TypeMatrix 12(fvec3) 3 + 15: TypeFunction 14 13(ptr) 13(ptr) 13(ptr) + 21: TypeVector 6(float) 4 + 22: TypeMatrix 21(fvec4) 3 + 23: TypePointer Function 22 + 25: TypeInt 32 1 + 26: 25(int) Constant 2 + 27: 6(float) Constant 1065353216 + 28: TypeInt 32 0 + 29: 28(int) Constant 3 + 31: 6(float) Constant 1073741824 + 34: 25(int) Constant 0 + 35: 6(float) Constant 1077936128 + 36: 21(fvec4) ConstantComposite 35 35 35 35 + 37: TypePointer Function 21(fvec4) + 39: 25(int) Constant 1 + 43: 28(int) Constant 0 + 47: 28(int) Constant 1 + 51: 28(int) Constant 2 + 56: 6(float) Constant 1084227584 + 57: 12(fvec3) ConstantComposite 56 56 56 + 80: TypePointer Input 6(float) + 81(inf): 80(ptr) Variable Input + 86: TypePointer Function 14 4(ShaderFunction): 2 Function None 3 5: Label - 19(m): 18(ptr) Variable Function - 38(f3): 8(ptr) Variable Function - 51(intermVec): 8(ptr) Variable Function - 63(intermVec): 8(ptr) Variable Function - 26: 25(ptr) AccessChain 19(m) 21 24 - Store 26 22 - 28: 25(ptr) AccessChain 19(m) 21 24 - Store 28 27 - 29: 25(ptr) AccessChain 19(m) 21 24 - Store 29 27 - 34: 33(ptr) AccessChain 19(m) 30 - Store 34 32 - 36: 33(ptr) AccessChain 19(m) 35 - Store 36 32 - 37: 33(ptr) AccessChain 19(m) 35 - Store 37 32 - 40: 25(ptr) AccessChain 38(f3) 39 - 41: 6(float) Load 40 - 42: 25(ptr) AccessChain 19(m) 30 39 - Store 42 41 - 44: 25(ptr) AccessChain 38(f3) 43 + 79(inf): 7(ptr) Variable Function + 83(param): 7(ptr) Variable Function + 82: 6(float) Load 81(inf) + Store 79(inf) 82 + 84: 6(float) Load 79(inf) + Store 83(param) 84 + 85: 2 FunctionCall 10(@ShaderFunction(f1;) 83(param) + Return + FunctionEnd +10(@ShaderFunction(f1;): 2 Function None 8 + 9(inf): 7(ptr) FunctionParameter + 11: Label + 24(m): 23(ptr) Variable Function + 42(f3): 13(ptr) Variable Function + 55(intermVec): 13(ptr) Variable Function + 67(intermVec): 13(ptr) Variable Function + 30: 7(ptr) AccessChain 24(m) 26 29 + Store 30 27 + 32: 7(ptr) AccessChain 24(m) 26 29 + Store 32 31 + 33: 7(ptr) AccessChain 24(m) 26 29 + Store 33 31 + 38: 37(ptr) AccessChain 24(m) 34 + Store 38 36 + 40: 37(ptr) AccessChain 24(m) 39 + Store 40 36 + 41: 37(ptr) AccessChain 24(m) 39 + Store 41 36 + 44: 7(ptr) AccessChain 42(f3) 43 45: 6(float) Load 44 - 46: 25(ptr) AccessChain 19(m) 35 43 + 46: 7(ptr) AccessChain 24(m) 34 43 Store 46 45 - 48: 25(ptr) AccessChain 38(f3) 47 + 48: 7(ptr) AccessChain 42(f3) 47 49: 6(float) Load 48 - 50: 25(ptr) AccessChain 19(m) 35 47 + 50: 7(ptr) AccessChain 24(m) 39 47 Store 50 49 - Store 51(intermVec) 53 - 54: 25(ptr) AccessChain 51(intermVec) 39 - 55: 6(float) Load 54 - 56: 25(ptr) AccessChain 19(m) 35 39 - Store 56 55 - 57: 25(ptr) AccessChain 51(intermVec) 43 - 58: 6(float) Load 57 - 59: 25(ptr) AccessChain 19(m) 30 43 - Store 59 58 - 60: 25(ptr) AccessChain 51(intermVec) 47 - 61: 6(float) Load 60 - 62: 25(ptr) AccessChain 19(m) 21 39 - Store 62 61 - 64: 7(fvec3) Load 38(f3) - 65: 7(fvec3) VectorTimesScalar 64 27 - Store 63(intermVec) 65 - 66: 25(ptr) AccessChain 63(intermVec) 39 - 67: 6(float) Load 66 - 68: 25(ptr) AccessChain 19(m) 30 39 - Store 68 67 - 69: 25(ptr) AccessChain 63(intermVec) 43 - 70: 6(float) Load 69 - 71: 25(ptr) AccessChain 19(m) 30 43 - Store 71 70 - 72: 25(ptr) AccessChain 63(intermVec) 47 - 73: 6(float) Load 72 - 74: 25(ptr) AccessChain 19(m) 35 39 - Store 74 73 - Store 38(f3) 30 + 52: 7(ptr) AccessChain 42(f3) 51 + 53: 6(float) Load 52 + 54: 7(ptr) AccessChain 24(m) 39 51 + Store 54 53 + Store 55(intermVec) 57 + 58: 7(ptr) AccessChain 55(intermVec) 43 + 59: 6(float) Load 58 + 60: 7(ptr) AccessChain 24(m) 39 43 + Store 60 59 + 61: 7(ptr) AccessChain 55(intermVec) 47 + 62: 6(float) Load 61 + 63: 7(ptr) AccessChain 24(m) 34 47 + Store 63 62 + 64: 7(ptr) AccessChain 55(intermVec) 51 + 65: 6(float) Load 64 + 66: 7(ptr) AccessChain 24(m) 26 43 + Store 66 65 + 68: 12(fvec3) Load 42(f3) + 69: 12(fvec3) VectorTimesScalar 68 31 + Store 67(intermVec) 69 + 70: 7(ptr) AccessChain 67(intermVec) 43 + 71: 6(float) Load 70 + 72: 7(ptr) AccessChain 24(m) 34 43 + Store 72 71 + 73: 7(ptr) AccessChain 67(intermVec) 47 + 74: 6(float) Load 73 + 75: 7(ptr) AccessChain 24(m) 34 47 + Store 75 74 + 76: 7(ptr) AccessChain 67(intermVec) 51 + 77: 6(float) Load 76 + 78: 7(ptr) AccessChain 24(m) 39 43 + Store 78 77 + Store 42(f3) 34 Return FunctionEnd -14(createMat3x3(vf3;vf3;vf3;): 9 Function None 10 - 11(a): 8(ptr) FunctionParameter - 12(b): 8(ptr) FunctionParameter - 13(c): 8(ptr) FunctionParameter - 15: Label - 76(m): 75(ptr) Variable Function - 77: 25(ptr) AccessChain 11(a) 39 - 78: 6(float) Load 77 - 79: 25(ptr) AccessChain 76(m) 30 39 - Store 79 78 - 80: 25(ptr) AccessChain 11(a) 43 - 81: 6(float) Load 80 - 82: 25(ptr) AccessChain 76(m) 35 39 - Store 82 81 - 83: 25(ptr) AccessChain 11(a) 47 - 84: 6(float) Load 83 - 85: 25(ptr) AccessChain 76(m) 21 39 - Store 85 84 - 86: 25(ptr) AccessChain 12(b) 39 - 87: 6(float) Load 86 - 88: 25(ptr) AccessChain 76(m) 30 43 - Store 88 87 - 89: 25(ptr) AccessChain 12(b) 43 - 90: 6(float) Load 89 - 91: 25(ptr) AccessChain 76(m) 35 43 - Store 91 90 - 92: 25(ptr) AccessChain 12(b) 47 - 93: 6(float) Load 92 - 94: 25(ptr) AccessChain 76(m) 21 43 - Store 94 93 - 95: 25(ptr) AccessChain 13(c) 39 - 96: 6(float) Load 95 - 97: 25(ptr) AccessChain 76(m) 30 47 - Store 97 96 - 98: 25(ptr) AccessChain 13(c) 43 - 99: 6(float) Load 98 - 100: 25(ptr) AccessChain 76(m) 35 47 - Store 100 99 - 101: 25(ptr) AccessChain 13(c) 47 - 102: 6(float) Load 101 - 103: 25(ptr) AccessChain 76(m) 21 47 - Store 103 102 - 104: 9 Load 76(m) - ReturnValue 104 +19(createMat3x3(vf3;vf3;vf3;): 14 Function None 15 + 16(a): 13(ptr) FunctionParameter + 17(b): 13(ptr) FunctionParameter + 18(c): 13(ptr) FunctionParameter + 20: Label + 87(m): 86(ptr) Variable Function + 88: 7(ptr) AccessChain 16(a) 43 + 89: 6(float) Load 88 + 90: 7(ptr) AccessChain 87(m) 34 43 + Store 90 89 + 91: 7(ptr) AccessChain 16(a) 47 + 92: 6(float) Load 91 + 93: 7(ptr) AccessChain 87(m) 39 43 + Store 93 92 + 94: 7(ptr) AccessChain 16(a) 51 + 95: 6(float) Load 94 + 96: 7(ptr) AccessChain 87(m) 26 43 + Store 96 95 + 97: 7(ptr) AccessChain 17(b) 43 + 98: 6(float) Load 97 + 99: 7(ptr) AccessChain 87(m) 34 47 + Store 99 98 + 100: 7(ptr) AccessChain 17(b) 47 + 101: 6(float) Load 100 + 102: 7(ptr) AccessChain 87(m) 39 47 + Store 102 101 + 103: 7(ptr) AccessChain 17(b) 51 + 104: 6(float) Load 103 + 105: 7(ptr) AccessChain 87(m) 26 47 + Store 105 104 + 106: 7(ptr) AccessChain 18(c) 43 + 107: 6(float) Load 106 + 108: 7(ptr) AccessChain 87(m) 34 51 + Store 108 107 + 109: 7(ptr) AccessChain 18(c) 47 + 110: 6(float) Load 109 + 111: 7(ptr) AccessChain 87(m) 39 51 + Store 111 110 + 112: 7(ptr) AccessChain 18(c) 51 + 113: 6(float) Load 112 + 114: 7(ptr) AccessChain 87(m) 26 51 + Store 114 113 + 115: 14 Load 87(m) + ReturnValue 115 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out index 420ba9f55d8..6f2339c2fe4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.matrixindex.frag.out @@ -2,91 +2,91 @@ hlsl.matrixindex.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'e1_00' (temp float) +0:22 move second child to first child ( temp float) +0:22 'e1_00' ( temp float) 0:22 Constant: 0:22 10.000000 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'e1_01' (temp float) +0:23 move second child to first child ( temp float) +0:23 'e1_01' ( temp float) 0:23 Constant: 0:23 11.000000 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'e1_10' (temp float) +0:24 move second child to first child ( temp float) +0:24 'e1_10' ( temp float) 0:24 Constant: 0:24 12.000000 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'e1_11' (temp float) +0:25 move second child to first child ( temp float) +0:25 'e1_11' ( temp float) 0:25 Constant: 0:25 13.000000 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'e1_20' (temp float) +0:26 move second child to first child ( temp float) +0:26 'e1_20' ( temp float) 0:26 Constant: 0:26 14.000000 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'e1_21' (temp float) +0:27 move second child to first child ( temp float) +0:27 'e1_21' ( temp float) 0:27 Constant: 0:27 15.000000 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'e2_00' (temp float) +0:29 move second child to first child ( temp float) +0:29 'e2_00' ( temp float) 0:29 Constant: 0:29 20.000000 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'e2_01' (temp float) +0:30 move second child to first child ( temp float) +0:30 'e2_01' ( temp float) 0:30 Constant: 0:30 21.000000 0:31 Sequence -0:31 move second child to first child (temp float) -0:31 'e2_10' (temp float) +0:31 move second child to first child ( temp float) +0:31 'e2_10' ( temp float) 0:31 Constant: 0:31 22.000000 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'e2_11' (temp float) +0:32 move second child to first child ( temp float) +0:32 'e2_11' ( temp float) 0:32 Constant: 0:32 23.000000 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'e2_20' (temp float) +0:33 move second child to first child ( temp float) +0:33 'e2_20' ( temp float) 0:33 Constant: 0:33 24.000000 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'e2_21' (temp float) +0:34 move second child to first child ( temp float) +0:34 'e2_21' ( temp float) 0:34 Constant: 0:34 25.000000 0:39 Sequence -0:39 move second child to first child (temp 2-component vector of float) -0:39 'r0a' (temp 2-component vector of float) +0:39 move second child to first child ( temp 2-component vector of float) +0:39 'r0a' ( temp 2-component vector of float) 0:39 Constant: 0:39 10.000000 0:39 11.000000 0:40 Sequence -0:40 move second child to first child (temp 2-component vector of float) -0:40 'r1a' (temp 2-component vector of float) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 'r1a' ( temp 2-component vector of float) 0:40 Constant: 0:40 12.000000 0:40 13.000000 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of float) -0:41 'r2a' (temp 2-component vector of float) +0:41 move second child to first child ( temp 2-component vector of float) +0:41 'r2a' ( temp 2-component vector of float) 0:41 Constant: 0:41 14.000000 0:41 15.000000 0:43 Sequence -0:43 move second child to first child (temp 2-component vector of float) -0:43 'r0b' (temp 2-component vector of float) -0:43 indirect index (temp 2-component vector of float) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'r0b' ( temp 2-component vector of float) +0:43 indirect index ( temp 2-component vector of float) 0:43 Constant: 0:43 20.000000 0:43 21.000000 @@ -94,41 +94,44 @@ gl_FragCoord origin is upper left 0:43 23.000000 0:43 24.000000 0:43 25.000000 -0:43 idx: direct index for structure (layout(offset=0 ) uniform int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:43 idx: direct index for structure ( uniform int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:43 Constant: 0:43 0 (const uint) 0:44 Sequence -0:44 move second child to first child (temp 2-component vector of float) -0:44 'r0c' (temp 2-component vector of float) -0:44 indirect index (layout(offset=16 ) temp 2-component vector of float) -0:44 um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:44 move second child to first child ( temp 2-component vector of float) +0:44 'r0c' ( temp 2-component vector of float) +0:44 indirect index ( temp 2-component vector of float) +0:44 um: direct index for structure ( uniform 3X2 matrix of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:44 Constant: 0:44 1 (const uint) -0:44 idx: direct index for structure (layout(offset=0 ) uniform int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:44 idx: direct index for structure ( uniform int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:44 Constant: 0:44 0 (const uint) -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:47 Constant: 0:47 0 (const int) -0:47 Construct vec4 (temp 4-component vector of float) -0:47 'e2_11' (temp float) -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:47 Construct vec4 ( temp 4-component vector of float) +0:47 'e2_11' ( temp float) +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -137,91 +140,91 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:10 Function Parameters: 0:? Sequence 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'e1_00' (temp float) +0:22 move second child to first child ( temp float) +0:22 'e1_00' ( temp float) 0:22 Constant: 0:22 10.000000 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'e1_01' (temp float) +0:23 move second child to first child ( temp float) +0:23 'e1_01' ( temp float) 0:23 Constant: 0:23 11.000000 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'e1_10' (temp float) +0:24 move second child to first child ( temp float) +0:24 'e1_10' ( temp float) 0:24 Constant: 0:24 12.000000 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'e1_11' (temp float) +0:25 move second child to first child ( temp float) +0:25 'e1_11' ( temp float) 0:25 Constant: 0:25 13.000000 0:26 Sequence -0:26 move second child to first child (temp float) -0:26 'e1_20' (temp float) +0:26 move second child to first child ( temp float) +0:26 'e1_20' ( temp float) 0:26 Constant: 0:26 14.000000 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'e1_21' (temp float) +0:27 move second child to first child ( temp float) +0:27 'e1_21' ( temp float) 0:27 Constant: 0:27 15.000000 0:29 Sequence -0:29 move second child to first child (temp float) -0:29 'e2_00' (temp float) +0:29 move second child to first child ( temp float) +0:29 'e2_00' ( temp float) 0:29 Constant: 0:29 20.000000 0:30 Sequence -0:30 move second child to first child (temp float) -0:30 'e2_01' (temp float) +0:30 move second child to first child ( temp float) +0:30 'e2_01' ( temp float) 0:30 Constant: 0:30 21.000000 0:31 Sequence -0:31 move second child to first child (temp float) -0:31 'e2_10' (temp float) +0:31 move second child to first child ( temp float) +0:31 'e2_10' ( temp float) 0:31 Constant: 0:31 22.000000 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'e2_11' (temp float) +0:32 move second child to first child ( temp float) +0:32 'e2_11' ( temp float) 0:32 Constant: 0:32 23.000000 0:33 Sequence -0:33 move second child to first child (temp float) -0:33 'e2_20' (temp float) +0:33 move second child to first child ( temp float) +0:33 'e2_20' ( temp float) 0:33 Constant: 0:33 24.000000 0:34 Sequence -0:34 move second child to first child (temp float) -0:34 'e2_21' (temp float) +0:34 move second child to first child ( temp float) +0:34 'e2_21' ( temp float) 0:34 Constant: 0:34 25.000000 0:39 Sequence -0:39 move second child to first child (temp 2-component vector of float) -0:39 'r0a' (temp 2-component vector of float) +0:39 move second child to first child ( temp 2-component vector of float) +0:39 'r0a' ( temp 2-component vector of float) 0:39 Constant: 0:39 10.000000 0:39 11.000000 0:40 Sequence -0:40 move second child to first child (temp 2-component vector of float) -0:40 'r1a' (temp 2-component vector of float) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 'r1a' ( temp 2-component vector of float) 0:40 Constant: 0:40 12.000000 0:40 13.000000 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of float) -0:41 'r2a' (temp 2-component vector of float) +0:41 move second child to first child ( temp 2-component vector of float) +0:41 'r2a' ( temp 2-component vector of float) 0:41 Constant: 0:41 14.000000 0:41 15.000000 0:43 Sequence -0:43 move second child to first child (temp 2-component vector of float) -0:43 'r0b' (temp 2-component vector of float) -0:43 indirect index (temp 2-component vector of float) +0:43 move second child to first child ( temp 2-component vector of float) +0:43 'r0b' ( temp 2-component vector of float) +0:43 indirect index ( temp 2-component vector of float) 0:43 Constant: 0:43 20.000000 0:43 21.000000 @@ -229,179 +232,189 @@ gl_FragCoord origin is upper left 0:43 23.000000 0:43 24.000000 0:43 25.000000 -0:43 idx: direct index for structure (layout(offset=0 ) uniform int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:43 idx: direct index for structure ( uniform int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:43 Constant: 0:43 0 (const uint) 0:44 Sequence -0:44 move second child to first child (temp 2-component vector of float) -0:44 'r0c' (temp 2-component vector of float) -0:44 indirect index (layout(offset=16 ) temp 2-component vector of float) -0:44 um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:44 move second child to first child ( temp 2-component vector of float) +0:44 'r0c' ( temp 2-component vector of float) +0:44 indirect index ( temp 2-component vector of float) +0:44 um: direct index for structure ( uniform 3X2 matrix of float) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:44 Constant: 0:44 1 (const uint) -0:44 idx: direct index for structure (layout(offset=0 ) uniform int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:44 idx: direct index for structure ( uniform int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) 0:44 Constant: 0:44 0 (const uint) -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:47 Constant: 0:47 0 (const int) -0:47 Construct vec4 (temp 4-component vector of float) -0:47 'e2_11' (temp float) -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:47 Construct vec4 ( temp 4-component vector of float) +0:47 'e2_11' ( temp float) +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:10 Color: direct index for structure ( temp 4-component vector of float) +0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:10 Constant: +0:10 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 + EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "e1_00" - Name 10 "e1_01" - Name 12 "e1_10" - Name 14 "e1_11" - Name 16 "e1_20" - Name 18 "e1_21" - Name 20 "e2_00" - Name 22 "e2_01" - Name 24 "e2_10" - Name 26 "e2_11" - Name 28 "e2_20" - Name 30 "e2_21" - Name 34 "r0a" - Name 36 "r1a" - Name 38 "r2a" - Name 40 "r0b" - Name 47 "$Global" - MemberName 47($Global) 0 "idx" - MemberName 47($Global) 1 "um" - Name 49 "" - Name 55 "indexable" - Name 58 "r0c" - Name 66 "PS_OUTPUT" - MemberName 66(PS_OUTPUT) 0 "Color" - Name 68 "psout" - Name 74 "Color" - MemberDecorate 47($Global) 0 Offset 0 - MemberDecorate 47($Global) 1 RowMajor - MemberDecorate 47($Global) 1 Offset 16 - MemberDecorate 47($Global) 1 MatrixStride 16 - Decorate 47($Global) Block - Decorate 49 DescriptorSet 0 - Decorate 74(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "e1_00" + Name 15 "e1_01" + Name 17 "e1_10" + Name 19 "e1_11" + Name 21 "e1_20" + Name 23 "e1_21" + Name 25 "e2_00" + Name 27 "e2_01" + Name 29 "e2_10" + Name 31 "e2_11" + Name 33 "e2_20" + Name 35 "e2_21" + Name 39 "r0a" + Name 41 "r1a" + Name 43 "r2a" + Name 45 "r0b" + Name 52 "$Global" + MemberName 52($Global) 0 "idx" + MemberName 52($Global) 1 "um" + Name 54 "" + Name 60 "indexable" + Name 63 "r0c" + Name 71 "psout" + Name 80 "Color" + MemberDecorate 52($Global) 0 Offset 0 + MemberDecorate 52($Global) 1 RowMajor + MemberDecorate 52($Global) 1 Offset 16 + MemberDecorate 52($Global) 1 MatrixStride 16 + Decorate 52($Global) Block + Decorate 54 DescriptorSet 0 + Decorate 80(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 1092616192 - 11: 6(float) Constant 1093664768 - 13: 6(float) Constant 1094713344 - 15: 6(float) Constant 1095761920 - 17: 6(float) Constant 1096810496 - 19: 6(float) Constant 1097859072 - 21: 6(float) Constant 1101004800 - 23: 6(float) Constant 1101529088 - 25: 6(float) Constant 1102053376 - 27: 6(float) Constant 1102577664 - 29: 6(float) Constant 1103101952 - 31: 6(float) Constant 1103626240 - 32: TypeVector 6(float) 2 - 33: TypePointer Function 32(fvec2) - 35: 32(fvec2) ConstantComposite 9 11 - 37: 32(fvec2) ConstantComposite 13 15 - 39: 32(fvec2) ConstantComposite 17 19 - 41: TypeMatrix 32(fvec2) 3 - 42: 32(fvec2) ConstantComposite 21 23 - 43: 32(fvec2) ConstantComposite 25 27 - 44: 32(fvec2) ConstantComposite 29 31 - 45: 41 ConstantComposite 42 43 44 - 46: TypeInt 32 1 - 47($Global): TypeStruct 46(int) 41 - 48: TypePointer Uniform 47($Global) - 49: 48(ptr) Variable Uniform - 50: 46(int) Constant 0 - 51: TypePointer Uniform 46(int) - 54: TypePointer Function 41 - 59: 46(int) Constant 1 - 62: TypePointer Uniform 32(fvec2) - 65: TypeVector 6(float) 4 - 66(PS_OUTPUT): TypeStruct 65(fvec4) - 67: TypePointer Function 66(PS_OUTPUT) - 71: TypePointer Function 65(fvec4) - 73: TypePointer Output 65(fvec4) - 74(Color): 73(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: 6(float) Constant 1092616192 + 16: 6(float) Constant 1093664768 + 18: 6(float) Constant 1094713344 + 20: 6(float) Constant 1095761920 + 22: 6(float) Constant 1096810496 + 24: 6(float) Constant 1097859072 + 26: 6(float) Constant 1101004800 + 28: 6(float) Constant 1101529088 + 30: 6(float) Constant 1102053376 + 32: 6(float) Constant 1102577664 + 34: 6(float) Constant 1103101952 + 36: 6(float) Constant 1103626240 + 37: TypeVector 6(float) 2 + 38: TypePointer Function 37(fvec2) + 40: 37(fvec2) ConstantComposite 14 16 + 42: 37(fvec2) ConstantComposite 18 20 + 44: 37(fvec2) ConstantComposite 22 24 + 46: TypeMatrix 37(fvec2) 3 + 47: 37(fvec2) ConstantComposite 26 28 + 48: 37(fvec2) ConstantComposite 30 32 + 49: 37(fvec2) ConstantComposite 34 36 + 50: 46 ConstantComposite 47 48 49 + 51: TypeInt 32 1 + 52($Global): TypeStruct 51(int) 46 + 53: TypePointer Uniform 52($Global) + 54: 53(ptr) Variable Uniform + 55: 51(int) Constant 0 + 56: TypePointer Uniform 51(int) + 59: TypePointer Function 46 + 64: 51(int) Constant 1 + 67: TypePointer Uniform 37(fvec2) + 70: TypePointer Function 8(PS_OUTPUT) + 74: TypePointer Function 7(fvec4) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(e1_00): 7(ptr) Variable Function - 10(e1_01): 7(ptr) Variable Function - 12(e1_10): 7(ptr) Variable Function - 14(e1_11): 7(ptr) Variable Function - 16(e1_20): 7(ptr) Variable Function - 18(e1_21): 7(ptr) Variable Function - 20(e2_00): 7(ptr) Variable Function - 22(e2_01): 7(ptr) Variable Function - 24(e2_10): 7(ptr) Variable Function - 26(e2_11): 7(ptr) Variable Function - 28(e2_20): 7(ptr) Variable Function - 30(e2_21): 7(ptr) Variable Function - 34(r0a): 33(ptr) Variable Function - 36(r1a): 33(ptr) Variable Function - 38(r2a): 33(ptr) Variable Function - 40(r0b): 33(ptr) Variable Function - 55(indexable): 54(ptr) Variable Function - 58(r0c): 33(ptr) Variable Function - 68(psout): 67(ptr) Variable Function - Store 8(e1_00) 9 - Store 10(e1_01) 11 - Store 12(e1_10) 13 - Store 14(e1_11) 15 - Store 16(e1_20) 17 - Store 18(e1_21) 19 - Store 20(e2_00) 21 - Store 22(e2_01) 23 - Store 24(e2_10) 25 - Store 26(e2_11) 27 - Store 28(e2_20) 29 - Store 30(e2_21) 31 - Store 34(r0a) 35 - Store 36(r1a) 37 - Store 38(r2a) 39 - 52: 51(ptr) AccessChain 49 50 - 53: 46(int) Load 52 - Store 55(indexable) 45 - 56: 33(ptr) AccessChain 55(indexable) 53 - 57: 32(fvec2) Load 56 - Store 40(r0b) 57 - 60: 51(ptr) AccessChain 49 50 - 61: 46(int) Load 60 - 63: 62(ptr) AccessChain 49 59 61 - 64: 32(fvec2) Load 63 - Store 58(r0c) 64 - 69: 6(float) Load 26(e2_11) - 70: 65(fvec4) CompositeConstruct 69 69 69 69 - 72: 71(ptr) AccessChain 68(psout) 50 - Store 72 70 - 75: 71(ptr) AccessChain 68(psout) 50 - 76: 65(fvec4) Load 75 - Store 74(Color) 76 + 81:8(PS_OUTPUT) FunctionCall 10(@main() + 82: 7(fvec4) CompositeExtract 81 0 + Store 80(Color) 82 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(e1_00): 12(ptr) Variable Function + 15(e1_01): 12(ptr) Variable Function + 17(e1_10): 12(ptr) Variable Function + 19(e1_11): 12(ptr) Variable Function + 21(e1_20): 12(ptr) Variable Function + 23(e1_21): 12(ptr) Variable Function + 25(e2_00): 12(ptr) Variable Function + 27(e2_01): 12(ptr) Variable Function + 29(e2_10): 12(ptr) Variable Function + 31(e2_11): 12(ptr) Variable Function + 33(e2_20): 12(ptr) Variable Function + 35(e2_21): 12(ptr) Variable Function + 39(r0a): 38(ptr) Variable Function + 41(r1a): 38(ptr) Variable Function + 43(r2a): 38(ptr) Variable Function + 45(r0b): 38(ptr) Variable Function + 60(indexable): 59(ptr) Variable Function + 63(r0c): 38(ptr) Variable Function + 71(psout): 70(ptr) Variable Function + Store 13(e1_00) 14 + Store 15(e1_01) 16 + Store 17(e1_10) 18 + Store 19(e1_11) 20 + Store 21(e1_20) 22 + Store 23(e1_21) 24 + Store 25(e2_00) 26 + Store 27(e2_01) 28 + Store 29(e2_10) 30 + Store 31(e2_11) 32 + Store 33(e2_20) 34 + Store 35(e2_21) 36 + Store 39(r0a) 40 + Store 41(r1a) 42 + Store 43(r2a) 44 + 57: 56(ptr) AccessChain 54 55 + 58: 51(int) Load 57 + Store 60(indexable) 50 + 61: 38(ptr) AccessChain 60(indexable) 58 + 62: 37(fvec2) Load 61 + Store 45(r0b) 62 + 65: 56(ptr) AccessChain 54 55 + 66: 51(int) Load 65 + 68: 67(ptr) AccessChain 54 64 66 + 69: 37(fvec2) Load 68 + Store 63(r0c) 69 + 72: 6(float) Load 31(e2_11) + 73: 7(fvec4) CompositeConstruct 72 72 72 72 + 75: 74(ptr) AccessChain 71(psout) 55 + Store 75 73 + 76:8(PS_OUTPUT) Load 71(psout) + ReturnValue 76 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out index 8995af35dc5..6a0762ed0c0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.max.frag.out @@ -2,22 +2,33 @@ hlsl.max.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input1' (layout(location=0 ) in 4-component vector of float) -0:2 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 'input1' ( in 4-component vector of float) +0:2 'input2' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (temp 4-component vector of float) -0:3 'input1' (layout(location=0 ) in 4-component vector of float) -0:3 'input2' (layout(location=1 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 max ( temp 4-component vector of float) +0:3 'input1' ( in 4-component vector of float) +0:3 'input2' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input1' ( temp 4-component vector of float) +0:? 'input1' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input2' ( temp 4-component vector of float) +0:? 'input2' (layout( location=1) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) +0:? 'input1' ( temp 4-component vector of float) +0:? 'input2' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input1' (layout(location=0 ) in 4-component vector of float) -0:? 'input2' (layout(location=1 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input1' (layout( location=0) in 4-component vector of float) +0:? 'input2' (layout( location=1) in 4-component vector of float) Linked fragment stage: @@ -26,53 +37,92 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input1' (layout(location=0 ) in 4-component vector of float) -0:2 'input2' (layout(location=1 ) in 4-component vector of float) +0:2 'input1' ( in 4-component vector of float) +0:2 'input2' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (temp 4-component vector of float) -0:3 'input1' (layout(location=0 ) in 4-component vector of float) -0:3 'input2' (layout(location=1 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 max ( temp 4-component vector of float) +0:3 'input1' ( in 4-component vector of float) +0:3 'input2' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input1' ( temp 4-component vector of float) +0:? 'input1' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input2' ( temp 4-component vector of float) +0:? 'input2' (layout( location=1) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float) +0:? 'input1' ( temp 4-component vector of float) +0:? 'input2' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input1' (layout(location=0 ) in 4-component vector of float) -0:? 'input2' (layout(location=1 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input1' (layout( location=0) in 4-component vector of float) +0:? 'input2' (layout( location=1) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 33 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 + EntryPoint Fragment 4 "PixelShaderFunction" 21 24 27 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input1" - Name 13 "input2" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input1) Location 0 - Decorate 13(input2) Location 1 + Name 12 "@PixelShaderFunction(vf4;vf4;" + Name 10 "input1" + Name 11 "input2" + Name 19 "input1" + Name 21 "input1" + Name 23 "input2" + Name 24 "input2" + Name 27 "@entryPointOutput" + Name 28 "param" + Name 30 "param" + Decorate 21(input1) Location 0 + Decorate 24(input2) Location 1 + Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input1): 10(ptr) Variable Input - 13(input2): 10(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) + 20: TypePointer Input 7(fvec4) + 21(input1): 20(ptr) Variable Input + 24(input2): 20(ptr) Variable Input + 26: TypePointer Output 7(fvec4) +27(@entryPointOutput): 26(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input1) - 14: 7(fvec4) Load 13(input2) - 15: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 12 14 - Store 9(@entryPointOutput) 15 + 19(input1): 8(ptr) Variable Function + 23(input2): 8(ptr) Variable Function + 28(param): 8(ptr) Variable Function + 30(param): 8(ptr) Variable Function + 22: 7(fvec4) Load 21(input1) + Store 19(input1) 22 + 25: 7(fvec4) Load 24(input2) + Store 23(input2) 25 + 29: 7(fvec4) Load 19(input1) + Store 28(param) 29 + 31: 7(fvec4) Load 23(input2) + Store 30(param) 31 + 32: 7(fvec4) FunctionCall 12(@PixelShaderFunction(vf4;vf4;) 28(param) 30(param) + Store 27(@entryPointOutput) 32 Return FunctionEnd +12(@PixelShaderFunction(vf4;vf4;): 7(fvec4) Function None 9 + 10(input1): 8(ptr) FunctionParameter + 11(input2): 8(ptr) FunctionParameter + 13: Label + 14: 7(fvec4) Load 10(input1) + 15: 7(fvec4) Load 11(input2) + 16: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 14 15 + ReturnValue 16 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out index 84c7a8c894a..257d7e48b9f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.mintypes.frag.out @@ -2,27 +2,27 @@ hlsl.mintypes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:9 Function Parameters: 0:? Sequence -0:40 add (temp mediump 2-component vector of float) -0:40 'mf16_2' (temp mediump 2-component vector of float) -0:40 'mf16' (temp mediump float) -0:41 add (temp mediump 2-component vector of float) -0:41 'mf10_2' (temp mediump 2-component vector of float) -0:41 'mf10' (temp mediump float) -0:42 add (temp mediump 2-component vector of int) -0:42 'mi16_2' (temp mediump 2-component vector of int) -0:42 'mi16' (temp mediump int) -0:43 add (temp mediump 2-component vector of int) -0:43 'mi12_2' (temp mediump 2-component vector of int) -0:43 'mi12' (temp mediump int) -0:44 add (temp mediump 2-component vector of uint) -0:44 'mu16_2' (temp mediump 2-component vector of uint) -0:44 'mu16' (temp mediump uint) -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:40 add ( temp mediump 2-component vector of float) +0:40 'mf16_2' ( temp mediump 2-component vector of float) +0:40 'mf16' ( temp mediump float) +0:41 add ( temp mediump 2-component vector of float) +0:41 'mf10_2' ( temp mediump 2-component vector of float) +0:41 'mf10' ( temp mediump float) +0:42 add ( temp mediump 2-component vector of int) +0:42 'mi16_2' ( temp mediump 2-component vector of int) +0:42 'mi16' ( temp mediump int) +0:43 add ( temp mediump 2-component vector of int) +0:43 'mi12_2' ( temp mediump 2-component vector of int) +0:43 'mi12' ( temp mediump int) +0:44 add ( temp mediump 2-component vector of uint) +0:44 'mu16_2' ( temp mediump 2-component vector of uint) +0:44 'mu16' ( temp mediump uint) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -30,18 +30,21 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:9 Color: direct index for structure ( temp 4-component vector of float) +0:9 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a, uniform mediump float b1b}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -50,27 +53,27 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:9 Function Parameters: 0:? Sequence -0:40 add (temp mediump 2-component vector of float) -0:40 'mf16_2' (temp mediump 2-component vector of float) -0:40 'mf16' (temp mediump float) -0:41 add (temp mediump 2-component vector of float) -0:41 'mf10_2' (temp mediump 2-component vector of float) -0:41 'mf10' (temp mediump float) -0:42 add (temp mediump 2-component vector of int) -0:42 'mi16_2' (temp mediump 2-component vector of int) -0:42 'mi16' (temp mediump int) -0:43 add (temp mediump 2-component vector of int) -0:43 'mi12_2' (temp mediump 2-component vector of int) -0:43 'mi12' (temp mediump int) -0:44 add (temp mediump 2-component vector of uint) -0:44 'mu16_2' (temp mediump 2-component vector of uint) -0:44 'mu16' (temp mediump uint) -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:40 add ( temp mediump 2-component vector of float) +0:40 'mf16_2' ( temp mediump 2-component vector of float) +0:40 'mf16' ( temp mediump float) +0:41 add ( temp mediump 2-component vector of float) +0:41 'mf10_2' ( temp mediump 2-component vector of float) +0:41 'mf10' ( temp mediump float) +0:42 add ( temp mediump 2-component vector of int) +0:42 'mi16_2' ( temp mediump 2-component vector of int) +0:42 'mi16' ( temp mediump int) +0:43 add ( temp mediump 2-component vector of int) +0:43 'mi12_2' ( temp mediump 2-component vector of int) +0:43 'mi12' ( temp mediump int) +0:44 add ( temp mediump 2-component vector of uint) +0:44 'mu16_2' ( temp mediump 2-component vector of uint) +0:44 'mu16' ( temp mediump uint) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -78,147 +81,157 @@ gl_FragCoord origin is upper left 0:47 0.000000 0:47 0.000000 0:47 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:9 Color: direct index for structure ( temp 4-component vector of float) +0:9 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a, uniform mediump float b1b}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 65 +// Id's are bound by 70 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 58 + EntryPoint Fragment 4 "main" 64 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "mf16_2" - Name 12 "mf16" - Name 16 "mf10_2" - Name 18 "mf10" - Name 25 "mi16_2" - Name 28 "mi16" - Name 32 "mi12_2" - Name 34 "mi12" - Name 41 "mu16_2" - Name 44 "mu16" - Name 49 "PS_OUTPUT" - MemberName 49(PS_OUTPUT) 0 "Color" - Name 51 "psout" - Name 58 "Color" - Name 62 "$Global" - MemberName 62($Global) 0 "b1a" - MemberName 62($Global) 1 "b1b" - Name 64 "" - Decorate 9(mf16_2) RelaxedPrecision - Decorate 10 RelaxedPrecision - Decorate 12(mf16) RelaxedPrecision - Decorate 13 RelaxedPrecision - Decorate 14 RelaxedPrecision + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 14 "mf16_2" + Name 17 "mf16" + Name 21 "mf10_2" + Name 23 "mf10" + Name 30 "mi16_2" + Name 33 "mi16" + Name 37 "mi12_2" + Name 39 "mi12" + Name 46 "mu16_2" + Name 49 "mu16" + Name 54 "psout" + Name 64 "Color" + Name 67 "$Global" + MemberName 67($Global) 0 "b1a" + MemberName 67($Global) 1 "b1b" + Name 69 "" + Decorate 14(mf16_2) RelaxedPrecision Decorate 15 RelaxedPrecision - Decorate 16(mf10_2) RelaxedPrecision - Decorate 17 RelaxedPrecision - Decorate 18(mf10) RelaxedPrecision + Decorate 17(mf16) RelaxedPrecision + Decorate 18 RelaxedPrecision Decorate 19 RelaxedPrecision Decorate 20 RelaxedPrecision - Decorate 21 RelaxedPrecision - Decorate 25(mi16_2) RelaxedPrecision + Decorate 21(mf10_2) RelaxedPrecision + Decorate 22 RelaxedPrecision + Decorate 23(mf10) RelaxedPrecision + Decorate 24 RelaxedPrecision + Decorate 25 RelaxedPrecision Decorate 26 RelaxedPrecision - Decorate 28(mi16) RelaxedPrecision - Decorate 29 RelaxedPrecision - Decorate 30 RelaxedPrecision + Decorate 30(mi16_2) RelaxedPrecision Decorate 31 RelaxedPrecision - Decorate 32(mi12_2) RelaxedPrecision - Decorate 33 RelaxedPrecision - Decorate 34(mi12) RelaxedPrecision + Decorate 33(mi16) RelaxedPrecision + Decorate 34 RelaxedPrecision Decorate 35 RelaxedPrecision Decorate 36 RelaxedPrecision - Decorate 37 RelaxedPrecision - Decorate 41(mu16_2) RelaxedPrecision + Decorate 37(mi12_2) RelaxedPrecision + Decorate 38 RelaxedPrecision + Decorate 39(mi12) RelaxedPrecision + Decorate 40 RelaxedPrecision + Decorate 41 RelaxedPrecision Decorate 42 RelaxedPrecision - Decorate 44(mu16) RelaxedPrecision - Decorate 45 RelaxedPrecision - Decorate 46 RelaxedPrecision + Decorate 46(mu16_2) RelaxedPrecision Decorate 47 RelaxedPrecision - Decorate 58(Color) Location 0 - MemberDecorate 62($Global) 0 RelaxedPrecision - MemberDecorate 62($Global) 0 Offset 0 - MemberDecorate 62($Global) 1 RelaxedPrecision - MemberDecorate 62($Global) 1 Offset 4 - Decorate 62($Global) Block - Decorate 64 DescriptorSet 0 + Decorate 49(mu16) RelaxedPrecision + Decorate 50 RelaxedPrecision + Decorate 51 RelaxedPrecision + Decorate 52 RelaxedPrecision + Decorate 64(Color) Location 0 + MemberDecorate 67($Global) 0 RelaxedPrecision + MemberDecorate 67($Global) 0 Offset 0 + MemberDecorate 67($Global) 1 RelaxedPrecision + MemberDecorate 67($Global) 1 Offset 4 + Decorate 67($Global) Block + Decorate 69 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 2 - 8: TypePointer Function 7(fvec2) - 11: TypePointer Function 6(float) - 22: TypeInt 32 1 - 23: TypeVector 22(int) 2 - 24: TypePointer Function 23(ivec2) - 27: TypePointer Function 22(int) - 38: TypeInt 32 0 - 39: TypeVector 38(int) 2 - 40: TypePointer Function 39(ivec2) - 43: TypePointer Function 38(int) - 48: TypeVector 6(float) 4 - 49(PS_OUTPUT): TypeStruct 48(fvec4) - 50: TypePointer Function 49(PS_OUTPUT) - 52: 22(int) Constant 0 - 53: 6(float) Constant 0 - 54: 48(fvec4) ConstantComposite 53 53 53 53 - 55: TypePointer Function 48(fvec4) - 57: TypePointer Output 48(fvec4) - 58(Color): 57(ptr) Variable Output - 62($Global): TypeStruct 6(float) 6(float) - 63: TypePointer Uniform 62($Global) - 64: 63(ptr) Variable Uniform + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeVector 6(float) 2 + 13: TypePointer Function 12(fvec2) + 16: TypePointer Function 6(float) + 27: TypeInt 32 1 + 28: TypeVector 27(int) 2 + 29: TypePointer Function 28(ivec2) + 32: TypePointer Function 27(int) + 43: TypeInt 32 0 + 44: TypeVector 43(int) 2 + 45: TypePointer Function 44(ivec2) + 48: TypePointer Function 43(int) + 53: TypePointer Function 8(PS_OUTPUT) + 55: 27(int) Constant 0 + 56: 6(float) Constant 0 + 57: 7(fvec4) ConstantComposite 56 56 56 56 + 58: TypePointer Function 7(fvec4) + 63: TypePointer Output 7(fvec4) + 64(Color): 63(ptr) Variable Output + 67($Global): TypeStruct 6(float) 6(float) + 68: TypePointer Uniform 67($Global) + 69: 68(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 9(mf16_2): 8(ptr) Variable Function - 12(mf16): 11(ptr) Variable Function - 16(mf10_2): 8(ptr) Variable Function - 18(mf10): 11(ptr) Variable Function - 25(mi16_2): 24(ptr) Variable Function - 28(mi16): 27(ptr) Variable Function - 32(mi12_2): 24(ptr) Variable Function - 34(mi12): 27(ptr) Variable Function - 41(mu16_2): 40(ptr) Variable Function - 44(mu16): 43(ptr) Variable Function - 51(psout): 50(ptr) Variable Function - 10: 7(fvec2) Load 9(mf16_2) - 13: 6(float) Load 12(mf16) - 14: 7(fvec2) CompositeConstruct 13 13 - 15: 7(fvec2) FAdd 10 14 - 17: 7(fvec2) Load 16(mf10_2) - 19: 6(float) Load 18(mf10) - 20: 7(fvec2) CompositeConstruct 19 19 - 21: 7(fvec2) FAdd 17 20 - 26: 23(ivec2) Load 25(mi16_2) - 29: 22(int) Load 28(mi16) - 30: 23(ivec2) CompositeConstruct 29 29 - 31: 23(ivec2) IAdd 26 30 - 33: 23(ivec2) Load 32(mi12_2) - 35: 22(int) Load 34(mi12) - 36: 23(ivec2) CompositeConstruct 35 35 - 37: 23(ivec2) IAdd 33 36 - 42: 39(ivec2) Load 41(mu16_2) - 45: 38(int) Load 44(mu16) - 46: 39(ivec2) CompositeConstruct 45 45 - 47: 39(ivec2) IAdd 42 46 - 56: 55(ptr) AccessChain 51(psout) 52 - Store 56 54 - 59: 55(ptr) AccessChain 51(psout) 52 - 60: 48(fvec4) Load 59 - Store 58(Color) 60 + 65:8(PS_OUTPUT) FunctionCall 10(@main() + 66: 7(fvec4) CompositeExtract 65 0 + Store 64(Color) 66 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(mf16_2): 13(ptr) Variable Function + 17(mf16): 16(ptr) Variable Function + 21(mf10_2): 13(ptr) Variable Function + 23(mf10): 16(ptr) Variable Function + 30(mi16_2): 29(ptr) Variable Function + 33(mi16): 32(ptr) Variable Function + 37(mi12_2): 29(ptr) Variable Function + 39(mi12): 32(ptr) Variable Function + 46(mu16_2): 45(ptr) Variable Function + 49(mu16): 48(ptr) Variable Function + 54(psout): 53(ptr) Variable Function + 15: 12(fvec2) Load 14(mf16_2) + 18: 6(float) Load 17(mf16) + 19: 12(fvec2) CompositeConstruct 18 18 + 20: 12(fvec2) FAdd 15 19 + 22: 12(fvec2) Load 21(mf10_2) + 24: 6(float) Load 23(mf10) + 25: 12(fvec2) CompositeConstruct 24 24 + 26: 12(fvec2) FAdd 22 25 + 31: 28(ivec2) Load 30(mi16_2) + 34: 27(int) Load 33(mi16) + 35: 28(ivec2) CompositeConstruct 34 34 + 36: 28(ivec2) IAdd 31 35 + 38: 28(ivec2) Load 37(mi12_2) + 40: 27(int) Load 39(mi12) + 41: 28(ivec2) CompositeConstruct 40 40 + 42: 28(ivec2) IAdd 38 41 + 47: 44(ivec2) Load 46(mu16_2) + 50: 43(int) Load 49(mu16) + 51: 44(ivec2) CompositeConstruct 50 50 + 52: 44(ivec2) IAdd 47 51 + 59: 58(ptr) AccessChain 54(psout) 55 + Store 59 57 + 60:8(PS_OUTPUT) Load 54(psout) + ReturnValue 60 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out index f0d05abd8f1..4873a4588e8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiEntry.vert.out @@ -1,29 +1,36 @@ hlsl.multiEntry.vert Shader version: 450 0:? Sequence -0:4 Function Definition: FakeEntrypoint(u1; (temp 4-component vector of float) +0:4 Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'Index' (in uint) +0:4 'Index' ( in uint) 0:? Sequence 0:5 Branch: Return with expression -0:5 textureFetch (temp 4-component vector of float) -0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) -0:5 Convert uint to int (temp int) -0:5 'Index' (in uint) -0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position) +0:5 imageLoad ( temp 4-component vector of float) +0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer) +0:5 Convert uint to int ( temp int) +0:5 'Index' ( in uint) +0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Parameters: -0:9 'Index' (in uint VertexIndex) +0:9 'Index' ( in uint) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) -0:10 'Index' (in uint VertexIndex) -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float) +0:10 'Index' ( in uint) +0:9 Function Definition: RealEntrypoint( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp uint) +0:? 'Index' ( temp uint) +0:? 'Index' ( in uint VertexIndex) +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' ( out 4-component vector of float Position) +0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) +0:? 'Index' ( temp uint) 0:? Linker Objects -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:? 'Index' (in uint VertexIndex) -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) +0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer) +0:? '@entryPointOutput' ( out 4-component vector of float Position) +0:? 'Index' ( in uint VertexIndex) Linked vertex stage: @@ -31,49 +38,61 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:4 Function Definition: FakeEntrypoint(u1; (temp 4-component vector of float) +0:4 Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'Index' (in uint) +0:4 'Index' ( in uint) 0:? Sequence 0:5 Branch: Return with expression -0:5 textureFetch (temp 4-component vector of float) -0:5 'Position' (layout(rgba32f ) uniform samplerBuffer) -0:5 Convert uint to int (temp int) -0:5 'Index' (in uint) -0:9 Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position) +0:5 imageLoad ( temp 4-component vector of float) +0:5 'Position' (layout( rgba32f) readonly uniform imageBuffer) +0:5 Convert uint to int ( temp int) +0:5 'Index' ( in uint) +0:9 Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float) 0:9 Function Parameters: -0:9 'Index' (in uint VertexIndex) +0:9 'Index' ( in uint) 0:? Sequence -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:10 Function Call: FakeEntrypoint(u1; (temp 4-component vector of float) -0:10 'Index' (in uint VertexIndex) -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float) +0:10 'Index' ( in uint) +0:9 Function Definition: RealEntrypoint( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp uint) +0:? 'Index' ( temp uint) +0:? 'Index' ( in uint VertexIndex) +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' ( out 4-component vector of float Position) +0:9 Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float) +0:? 'Index' ( temp uint) 0:? Linker Objects -0:? '@entryPointOutput' (out 4-component vector of float Position) -0:? 'Index' (in uint VertexIndex) -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) +0:? 'Position' (layout( rgba32f) readonly uniform imageBuffer) +0:? '@entryPointOutput' ( out 4-component vector of float Position) +0:? 'Index' ( in uint VertexIndex) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 34 +// Id's are bound by 41 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "RealEntrypoint" 27 29 + EntryPoint Vertex 4 "RealEntrypoint" 34 37 Name 4 "RealEntrypoint" Name 12 "FakeEntrypoint(u1;" Name 11 "Index" - Name 17 "Position" - Name 27 "@entryPointOutput" - Name 29 "Index" - Name 30 "param" - Decorate 17(Position) DescriptorSet 0 - Decorate 27(@entryPointOutput) BuiltIn Position - Decorate 29(Index) BuiltIn VertexIndex + Name 15 "@RealEntrypoint(u1;" + Name 14 "Index" + Name 19 "Position" + Name 27 "param" + Name 32 "Index" + Name 34 "Index" + Name 37 "@entryPointOutput" + Name 38 "param" + Decorate 19(Position) DescriptorSet 0 + Decorate 19(Position) NonWritable + Decorate 34(Index) BuiltIn VertexIndex + Decorate 37(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -81,31 +100,41 @@ Shader version: 450 8: TypeFloat 32 9: TypeVector 8(float) 4 10: TypeFunction 9(fvec4) 7(ptr) - 14: TypeImage 8(float) Buffer sampled format:Rgba32f - 15: TypeSampledImage 14 - 16: TypePointer UniformConstant 15 - 17(Position): 16(ptr) Variable UniformConstant - 20: TypeInt 32 1 - 26: TypePointer Output 9(fvec4) -27(@entryPointOutput): 26(ptr) Variable Output - 28: TypePointer Input 6(int) - 29(Index): 28(ptr) Variable Input + 17: TypeImage 8(float) Buffer nonsampled format:Rgba32f + 18: TypePointer UniformConstant 17 + 19(Position): 18(ptr) Variable UniformConstant + 22: TypeInt 32 1 + 33: TypePointer Input 6(int) + 34(Index): 33(ptr) Variable Input + 36: TypePointer Output 9(fvec4) +37(@entryPointOutput): 36(ptr) Variable Output 4(RealEntrypoint): 2 Function None 3 5: Label - 30(param): 7(ptr) Variable Function - 31: 6(int) Load 29(Index) - Store 30(param) 31 - 32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param) - Store 27(@entryPointOutput) 32 + 32(Index): 7(ptr) Variable Function + 38(param): 7(ptr) Variable Function + 35: 6(int) Load 34(Index) + Store 32(Index) 35 + 39: 6(int) Load 32(Index) + Store 38(param) 39 + 40: 9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param) + Store 37(@entryPointOutput) 40 Return FunctionEnd 12(FakeEntrypoint(u1;): 9(fvec4) Function None 10 11(Index): 7(ptr) FunctionParameter 13: Label - 18: 15 Load 17(Position) - 19: 6(int) Load 11(Index) - 21: 20(int) Bitcast 19 - 22: 14 Image 18 - 23: 9(fvec4) ImageFetch 22 21 - ReturnValue 23 + 20: 17 Load 19(Position) + 21: 6(int) Load 11(Index) + 23: 22(int) Bitcast 21 + 24: 9(fvec4) ImageRead 20 23 + ReturnValue 24 + FunctionEnd +15(@RealEntrypoint(u1;): 9(fvec4) Function None 10 + 14(Index): 7(ptr) FunctionParameter + 16: Label + 27(param): 7(ptr) Variable Function + 28: 6(int) Load 14(Index) + Store 27(param) 28 + 29: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param) + ReturnValue 29 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out index 80d7f1661b1..9efc9fc8128 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.multiReturn.frag.out @@ -2,20 +2,24 @@ hlsl.multiReturn.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:12 Function Parameters: 0:? Sequence 0:13 Branch: Return with expression -0:13 s: direct index for structure (layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) +0:13 s: direct index for structure (layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:13 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) -0:17 Function Definition: main( (temp void) +0:17 Function Definition: @main( ( temp void) 0:17 Function Parameters: 0:? Sequence -0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:18 Function Call: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:17 Function Definition: main( ( temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Function Call: @main( ( temp void) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) Linked fragment stage: @@ -24,24 +28,28 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:12 Function Definition: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:12 Function Definition: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) 0:12 Function Parameters: 0:? Sequence 0:13 Branch: Return with expression -0:13 s: direct index for structure (layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) -0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) +0:13 s: direct index for structure (layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:13 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) 0:13 Constant: 0:13 0 (const uint) -0:17 Function Definition: main( (temp void) +0:17 Function Definition: @main( ( temp void) +0:17 Function Parameters: +0:? Sequence +0:18 Function Call: foo( ( temp structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:17 Function Definition: main( ( temp void) 0:17 Function Parameters: 0:? Sequence -0:18 Function Call: foo( (temp structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m}) +0:17 Function Call: @main( ( temp void) 0:? Linker Objects -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform structure{temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) +0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f, temp 3-component vector of float v, temp 3X3 matrix of float m} s}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 42 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -54,21 +62,22 @@ gl_FragCoord origin is upper left MemberName 9(S) 1 "v" MemberName 9(S) 2 "m" Name 11 "foo(" - Name 13 "S" - MemberName 13(S) 0 "f" - MemberName 13(S) 1 "v" - MemberName 13(S) 2 "m" - Name 14 "bufName" - MemberName 14(bufName) 0 "s" - Name 16 "" - MemberDecorate 13(S) 0 Offset 0 - MemberDecorate 13(S) 1 Offset 16 - MemberDecorate 13(S) 2 RowMajor - MemberDecorate 13(S) 2 Offset 32 - MemberDecorate 13(S) 2 MatrixStride 16 - MemberDecorate 14(bufName) 0 Offset 0 - Decorate 14(bufName) Block - Decorate 16 DescriptorSet 0 + Name 13 "@main(" + Name 15 "S" + MemberName 15(S) 0 "f" + MemberName 15(S) 1 "v" + MemberName 15(S) 2 "m" + Name 16 "bufName" + MemberName 16(bufName) 0 "s" + Name 18 "" + MemberDecorate 15(S) 0 Offset 0 + MemberDecorate 15(S) 1 Offset 16 + MemberDecorate 15(S) 2 RowMajor + MemberDecorate 15(S) 2 Offset 32 + MemberDecorate 15(S) 2 MatrixStride 16 + MemberDecorate 16(bufName) 0 Offset 0 + Decorate 16(bufName) Block + Decorate 18 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -76,38 +85,43 @@ gl_FragCoord origin is upper left 8: TypeMatrix 7(fvec3) 3 9(S): TypeStruct 6(float) 7(fvec3) 8 10: TypeFunction 9(S) - 13(S): TypeStruct 6(float) 7(fvec3) 8 - 14(bufName): TypeStruct 13(S) - 15: TypePointer Uniform 14(bufName) - 16: 15(ptr) Variable Uniform - 17: TypeInt 32 1 - 18: 17(int) Constant 0 - 19: TypePointer Uniform 13(S) - 22: TypePointer Function 9(S) - 25: TypePointer Function 6(float) - 28: 17(int) Constant 1 - 29: TypePointer Function 7(fvec3) - 32: 17(int) Constant 2 - 33: TypePointer Function 8 + 15(S): TypeStruct 6(float) 7(fvec3) 8 + 16(bufName): TypeStruct 15(S) + 17: TypePointer Uniform 16(bufName) + 18: 17(ptr) Variable Uniform + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 21: TypePointer Uniform 15(S) + 24: TypePointer Function 9(S) + 27: TypePointer Function 6(float) + 30: 19(int) Constant 1 + 31: TypePointer Function 7(fvec3) + 34: 19(int) Constant 2 + 35: TypePointer Function 8 4(main): 2 Function None 3 5: Label - 38: 9(S) FunctionCall 11(foo() + 41: 2 FunctionCall 13(@main() Return FunctionEnd 11(foo(): 9(S) Function None 10 12: Label - 23: 22(ptr) Variable Function - 20: 19(ptr) AccessChain 16 18 - 21: 13(S) Load 20 - 24: 6(float) CompositeExtract 21 0 - 26: 25(ptr) AccessChain 23 18 - Store 26 24 - 27: 7(fvec3) CompositeExtract 21 1 - 30: 29(ptr) AccessChain 23 28 - Store 30 27 - 31: 8 CompositeExtract 21 2 - 34: 33(ptr) AccessChain 23 32 - Store 34 31 - 35: 9(S) Load 23 - ReturnValue 35 + 25: 24(ptr) Variable Function + 22: 21(ptr) AccessChain 18 20 + 23: 15(S) Load 22 + 26: 6(float) CompositeExtract 23 0 + 28: 27(ptr) AccessChain 25 20 + Store 28 26 + 29: 7(fvec3) CompositeExtract 23 1 + 32: 31(ptr) AccessChain 25 30 + Store 32 29 + 33: 8 CompositeExtract 23 2 + 36: 35(ptr) AccessChain 25 34 + Store 36 33 + 37: 9(S) Load 25 + ReturnValue 37 + FunctionEnd + 13(@main(): 2 Function None 3 + 14: Label + 40: 9(S) FunctionCall 11(foo() + Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out new file mode 100644 index 00000000000..d3049ec7e41 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out @@ -0,0 +1,435 @@ +hlsl.nonstaticMemberFunction.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:1 Sequence +0:1 move second child to first child ( temp 2-component vector of float) +0:1 'i' ( global 2-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:5 Function Definition: type1::setmem(vf4; ( temp void) +0:5 Function Parameters: +0:5 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:5 'm' ( in 4-component vector of float) +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:5 memVar: direct index for structure ( temp 4-component vector of float) +0:5 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:5 Constant: +0:5 0 (const uint) +0:5 'm' ( in 4-component vector of float) +0:6 Function Definition: type1::seti(i1; ( temp void) +0:6 Function Parameters: +0:6 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:6 'si' ( in int) +0:? Sequence +0:6 move second child to first child ( temp int) +0:6 i: direct index for structure ( temp int) +0:6 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:6 Constant: +0:6 1 (const uint) +0:6 'si' ( in int) +0:9 Function Definition: type1::memFun(vf4; ( temp 4-component vector of float) +0:9 Function Parameters: +0:9 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:9 'a' ( in 4-component vector of float) +0:? Sequence +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 vector-scale ( temp 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 i: direct index for structure ( temp int) +0:10 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:10 Constant: +0:10 1 (const uint) +0:10 'a' ( in 4-component vector of float) +0:10 memVar: direct index for structure ( temp 4-component vector of float) +0:10 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:10 Constant: +0:10 0 (const uint) +0:13 Function Definition: type1::memFun(i1; ( temp int) +0:13 Function Parameters: +0:13 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:13 'a' ( in int) +0:? Sequence +0:14 Branch: Return with expression +0:14 Convert float to int ( temp int) +0:14 subtract ( temp float) +0:14 Convert int to float ( temp float) +0:14 add ( temp int) +0:14 i: direct index for structure ( temp int) +0:14 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:14 Constant: +0:14 1 (const uint) +0:14 'a' ( in int) +0:14 direct index ( temp float) +0:14 memVar: direct index for structure ( temp 4-component vector of float) +0:14 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:14 Constant: +0:14 0 (const uint) +0:14 Constant: +0:14 2 (const int) +0:19 Sequence +0:19 move second child to first child ( temp 2-component vector of float) +0:19 'j' ( global 2-component vector of float) +0:19 'i' ( global 2-component vector of float) +0:23 Function Definition: type2::memFun( ( temp 2-component vector of float) +0:23 Function Parameters: +0:23 '@this' ( temp structure{}) +0:? Sequence +0:23 Branch: Return with expression +0:23 'i' ( global 2-component vector of float) +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: +0:? Sequence +0:29 Function Call: type1::setmem(vf4; ( temp void) +0:29 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:30 Function Call: type1::seti(i1; ( temp void) +0:30 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:30 Constant: +0:30 17 (const int) +0:31 Sequence +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'f4' ( temp 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'f4' ( temp 4-component vector of float) +0:32 Function Call: type1::memFun(vf4; ( temp 4-component vector of float) +0:32 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:? Constant: +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'f4' ( temp 4-component vector of float) +0:33 Convert int to float ( temp float) +0:33 Function Call: type1::memFun(i1; ( temp int) +0:33 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:33 Constant: +0:33 7 (const int) +0:34 Branch: Return with expression +0:34 'f4' ( temp 4-component vector of float) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'i' ( global 2-component vector of float) +0:? 'j' ( global 2-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:1 Sequence +0:1 move second child to first child ( temp 2-component vector of float) +0:1 'i' ( global 2-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:5 Function Definition: type1::setmem(vf4; ( temp void) +0:5 Function Parameters: +0:5 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:5 'm' ( in 4-component vector of float) +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:5 memVar: direct index for structure ( temp 4-component vector of float) +0:5 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:5 Constant: +0:5 0 (const uint) +0:5 'm' ( in 4-component vector of float) +0:6 Function Definition: type1::seti(i1; ( temp void) +0:6 Function Parameters: +0:6 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:6 'si' ( in int) +0:? Sequence +0:6 move second child to first child ( temp int) +0:6 i: direct index for structure ( temp int) +0:6 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:6 Constant: +0:6 1 (const uint) +0:6 'si' ( in int) +0:9 Function Definition: type1::memFun(vf4; ( temp 4-component vector of float) +0:9 Function Parameters: +0:9 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:9 'a' ( in 4-component vector of float) +0:? Sequence +0:10 Branch: Return with expression +0:10 add ( temp 4-component vector of float) +0:10 vector-scale ( temp 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 i: direct index for structure ( temp int) +0:10 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:10 Constant: +0:10 1 (const uint) +0:10 'a' ( in 4-component vector of float) +0:10 memVar: direct index for structure ( temp 4-component vector of float) +0:10 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:10 Constant: +0:10 0 (const uint) +0:13 Function Definition: type1::memFun(i1; ( temp int) +0:13 Function Parameters: +0:13 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:13 'a' ( in int) +0:? Sequence +0:14 Branch: Return with expression +0:14 Convert float to int ( temp int) +0:14 subtract ( temp float) +0:14 Convert int to float ( temp float) +0:14 add ( temp int) +0:14 i: direct index for structure ( temp int) +0:14 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:14 Constant: +0:14 1 (const uint) +0:14 'a' ( in int) +0:14 direct index ( temp float) +0:14 memVar: direct index for structure ( temp 4-component vector of float) +0:14 '@this' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:14 Constant: +0:14 0 (const uint) +0:14 Constant: +0:14 2 (const int) +0:19 Sequence +0:19 move second child to first child ( temp 2-component vector of float) +0:19 'j' ( global 2-component vector of float) +0:19 'i' ( global 2-component vector of float) +0:23 Function Definition: type2::memFun( ( temp 2-component vector of float) +0:23 Function Parameters: +0:23 '@this' ( temp structure{}) +0:? Sequence +0:23 Branch: Return with expression +0:23 'i' ( global 2-component vector of float) +0:27 Function Definition: @main( ( temp 4-component vector of float) +0:27 Function Parameters: +0:? Sequence +0:29 Function Call: type1::setmem(vf4; ( temp void) +0:29 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:? Constant: +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 +0:30 Function Call: type1::seti(i1; ( temp void) +0:30 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:30 Constant: +0:30 17 (const int) +0:31 Sequence +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'f4' ( temp 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'f4' ( temp 4-component vector of float) +0:32 Function Call: type1::memFun(vf4; ( temp 4-component vector of float) +0:32 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:? Constant: +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'f4' ( temp 4-component vector of float) +0:33 Convert int to float ( temp float) +0:33 Function Call: type1::memFun(i1; ( temp int) +0:33 'test' ( temp structure{ temp 4-component vector of float memVar, temp int i}) +0:33 Constant: +0:33 7 (const int) +0:34 Branch: Return with expression +0:34 'f4' ( temp 4-component vector of float) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:27 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'i' ( global 2-component vector of float) +0:? 'j' ( global 2-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 111 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 109 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "type1" + MemberName 9(type1) 0 "memVar" + MemberName 9(type1) 1 "i" + Name 15 "type1::setmem(vf4;" + Name 13 "@this" + Name 14 "m" + Name 21 "type1::seti(i1;" + Name 19 "@this" + Name 20 "si" + Name 26 "type1::memFun(vf4;" + Name 24 "@this" + Name 25 "a" + Name 31 "type1::memFun(i1;" + Name 29 "@this" + Name 30 "a" + Name 33 "type2" + Name 38 "type2::memFun(" + Name 37 "@this" + Name 41 "@main(" + Name 44 "i" + Name 48 "j" + Name 83 "test" + Name 85 "param" + Name 88 "param" + Name 90 "f4" + Name 94 "param" + Name 99 "param" + Name 109 "@entryPointOutput" + Decorate 109(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeInt 32 1 + 9(type1): TypeStruct 7(fvec4) 8(int) + 10: TypePointer Function 9(type1) + 11: TypePointer Function 7(fvec4) + 12: TypeFunction 2 10(ptr) 11(ptr) + 17: TypePointer Function 8(int) + 18: TypeFunction 2 10(ptr) 17(ptr) + 23: TypeFunction 7(fvec4) 10(ptr) 11(ptr) + 28: TypeFunction 8(int) 10(ptr) 17(ptr) + 33(type2): TypeStruct + 34: TypePointer Function 33(type2) + 35: TypeVector 6(float) 2 + 36: TypeFunction 35(fvec2) 34(ptr) + 40: TypeFunction 7(fvec4) + 43: TypePointer Private 35(fvec2) + 44(i): 43(ptr) Variable Private + 45: 6(float) Constant 1065353216 + 46: 6(float) Constant 1073741824 + 47: 35(fvec2) ConstantComposite 45 46 + 48(j): 43(ptr) Variable Private + 50: 8(int) Constant 0 + 53: 8(int) Constant 1 + 71: TypeInt 32 0 + 72: 71(int) Constant 2 + 73: TypePointer Function 6(float) + 84: 7(fvec4) ConstantComposite 46 46 46 46 + 87: 8(int) Constant 17 + 91: 7(fvec4) ConstantComposite 45 45 45 45 + 92: 6(float) Constant 1084227584 + 93: 7(fvec4) ConstantComposite 92 92 92 92 + 98: 8(int) Constant 7 + 108: TypePointer Output 7(fvec4) +109(@entryPointOutput): 108(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + Store 44(i) 47 + 49: 35(fvec2) Load 44(i) + Store 48(j) 49 + 110: 7(fvec4) FunctionCall 41(@main() + Store 109(@entryPointOutput) 110 + Return + FunctionEnd +15(type1::setmem(vf4;): 2 Function None 12 + 13(@this): 10(ptr) FunctionParameter + 14(m): 11(ptr) FunctionParameter + 16: Label + 51: 7(fvec4) Load 14(m) + 52: 11(ptr) AccessChain 13(@this) 50 + Store 52 51 + Return + FunctionEnd +21(type1::seti(i1;): 2 Function None 18 + 19(@this): 10(ptr) FunctionParameter + 20(si): 17(ptr) FunctionParameter + 22: Label + 54: 8(int) Load 20(si) + 55: 17(ptr) AccessChain 19(@this) 53 + Store 55 54 + Return + FunctionEnd +26(type1::memFun(vf4;): 7(fvec4) Function None 23 + 24(@this): 10(ptr) FunctionParameter + 25(a): 11(ptr) FunctionParameter + 27: Label + 56: 17(ptr) AccessChain 24(@this) 53 + 57: 8(int) Load 56 + 58: 6(float) ConvertSToF 57 + 59: 7(fvec4) Load 25(a) + 60: 7(fvec4) VectorTimesScalar 59 58 + 61: 11(ptr) AccessChain 24(@this) 50 + 62: 7(fvec4) Load 61 + 63: 7(fvec4) FAdd 60 62 + ReturnValue 63 + FunctionEnd +31(type1::memFun(i1;): 8(int) Function None 28 + 29(@this): 10(ptr) FunctionParameter + 30(a): 17(ptr) FunctionParameter + 32: Label + 66: 17(ptr) AccessChain 29(@this) 53 + 67: 8(int) Load 66 + 68: 8(int) Load 30(a) + 69: 8(int) IAdd 67 68 + 70: 6(float) ConvertSToF 69 + 74: 73(ptr) AccessChain 29(@this) 50 72 + 75: 6(float) Load 74 + 76: 6(float) FSub 70 75 + 77: 8(int) ConvertFToS 76 + ReturnValue 77 + FunctionEnd +38(type2::memFun(): 35(fvec2) Function None 36 + 37(@this): 34(ptr) FunctionParameter + 39: Label + 80: 35(fvec2) Load 44(i) + ReturnValue 80 + FunctionEnd + 41(@main(): 7(fvec4) Function None 40 + 42: Label + 83(test): 10(ptr) Variable Function + 85(param): 11(ptr) Variable Function + 88(param): 17(ptr) Variable Function + 90(f4): 11(ptr) Variable Function + 94(param): 11(ptr) Variable Function + 99(param): 17(ptr) Variable Function + Store 85(param) 84 + 86: 2 FunctionCall 15(type1::setmem(vf4;) 83(test) 85(param) + Store 88(param) 87 + 89: 2 FunctionCall 21(type1::seti(i1;) 83(test) 88(param) + Store 90(f4) 91 + Store 94(param) 93 + 95: 7(fvec4) FunctionCall 26(type1::memFun(vf4;) 83(test) 94(param) + 96: 7(fvec4) Load 90(f4) + 97: 7(fvec4) FAdd 96 95 + Store 90(f4) 97 + Store 99(param) 98 + 100: 8(int) FunctionCall 31(type1::memFun(i1;) 83(test) 99(param) + 101: 6(float) ConvertSToF 100 + 102: 7(fvec4) Load 90(f4) + 103: 7(fvec4) CompositeConstruct 101 101 101 101 + 104: 7(fvec4) FAdd 102 103 + Store 90(f4) 104 + 105: 7(fvec4) Load 90(f4) + ReturnValue 105 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out index e8d3630ed2c..cb246695e0f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numericsuffixes.frag.out @@ -2,73 +2,96 @@ hlsl.numericsuffixes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:5 Function Parameters: 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'r00' (temp float) +0:7 move second child to first child ( temp float) +0:7 'r00' ( temp float) 0:7 Constant: 0:7 1.000000 0:8 Sequence -0:8 move second child to first child (temp uint) -0:8 'r01' (temp uint) +0:8 move second child to first child ( temp uint) +0:8 'r01' ( temp uint) 0:8 Constant: 0:8 1 (const uint) 0:9 Sequence -0:9 move second child to first child (temp uint) -0:9 'r02' (temp uint) +0:9 move second child to first child ( temp uint) +0:9 'r02' ( temp uint) 0:9 Constant: 0:9 2 (const uint) 0:10 Sequence -0:10 move second child to first child (temp uint) -0:10 'r03' (temp uint) +0:10 move second child to first child ( temp uint) +0:10 'r03' ( temp uint) 0:10 Constant: 0:10 2748 (const uint) 0:11 Sequence -0:11 move second child to first child (temp uint) -0:11 'r04' (temp uint) +0:11 move second child to first child ( temp uint) +0:11 'r04' ( temp uint) 0:11 Constant: 0:11 2748 (const uint) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'r05' (temp int) +0:12 move second child to first child ( temp int) +0:12 'r05' ( temp int) 0:12 Constant: 0:12 5 (const int) 0:13 Sequence -0:13 move second child to first child (temp int) -0:13 'r06' (temp int) +0:13 move second child to first child ( temp int) +0:13 'r06' ( temp int) 0:13 Constant: 0:13 6 (const int) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'r07' (temp int) +0:14 move second child to first child ( temp int) +0:14 'r07' ( temp int) 0:14 Constant: 0:14 57 (const int) 0:15 Sequence -0:15 move second child to first child (temp uint) -0:15 'r08' (temp uint) +0:15 move second child to first child ( temp uint) +0:15 'r08' ( temp uint) 0:15 Constant: 0:15 58 (const uint) -0:18 move second child to first child (temp 4-component vector of float) -0:18 color: direct index for structure (temp 4-component vector of float) -0:18 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Sequence +0:16 move second child to first child ( temp float) +0:16 'r09' ( temp float) +0:16 Constant: +0:16 1.000000 +0:17 Sequence +0:17 move second child to first child ( temp float) +0:17 'r10' ( temp float) +0:17 Constant: +0:17 1.000000 +0:18 Sequence +0:18 move second child to first child ( temp float) +0:18 'r11' ( temp float) 0:18 Constant: -0:18 0 (const int) -0:18 Construct vec4 (temp 4-component vector of float) -0:18 Convert int to float (temp float) -0:18 'r07' (temp int) +0:18 1.100000 0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 move second child to first child ( temp float) +0:19 'r12' ( temp float) +0:19 Constant: +0:19 1.100000 +0:22 move second child to first child ( temp 4-component vector of float) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:22 Constant: +0:22 0 (const int) +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert int to float ( temp float) +0:22 'r07' ( temp int) +0:23 Branch: Return with expression +0:23 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:5 color: direct index for structure ( temp 4-component vector of float) +0:5 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:5 Constant: +0:5 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -77,149 +100,192 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:5 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:5 Function Parameters: 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'r00' (temp float) +0:7 move second child to first child ( temp float) +0:7 'r00' ( temp float) 0:7 Constant: 0:7 1.000000 0:8 Sequence -0:8 move second child to first child (temp uint) -0:8 'r01' (temp uint) +0:8 move second child to first child ( temp uint) +0:8 'r01' ( temp uint) 0:8 Constant: 0:8 1 (const uint) 0:9 Sequence -0:9 move second child to first child (temp uint) -0:9 'r02' (temp uint) +0:9 move second child to first child ( temp uint) +0:9 'r02' ( temp uint) 0:9 Constant: 0:9 2 (const uint) 0:10 Sequence -0:10 move second child to first child (temp uint) -0:10 'r03' (temp uint) +0:10 move second child to first child ( temp uint) +0:10 'r03' ( temp uint) 0:10 Constant: 0:10 2748 (const uint) 0:11 Sequence -0:11 move second child to first child (temp uint) -0:11 'r04' (temp uint) +0:11 move second child to first child ( temp uint) +0:11 'r04' ( temp uint) 0:11 Constant: 0:11 2748 (const uint) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'r05' (temp int) +0:12 move second child to first child ( temp int) +0:12 'r05' ( temp int) 0:12 Constant: 0:12 5 (const int) 0:13 Sequence -0:13 move second child to first child (temp int) -0:13 'r06' (temp int) +0:13 move second child to first child ( temp int) +0:13 'r06' ( temp int) 0:13 Constant: 0:13 6 (const int) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'r07' (temp int) +0:14 move second child to first child ( temp int) +0:14 'r07' ( temp int) 0:14 Constant: 0:14 57 (const int) 0:15 Sequence -0:15 move second child to first child (temp uint) -0:15 'r08' (temp uint) +0:15 move second child to first child ( temp uint) +0:15 'r08' ( temp uint) 0:15 Constant: 0:15 58 (const uint) -0:18 move second child to first child (temp 4-component vector of float) -0:18 color: direct index for structure (temp 4-component vector of float) -0:18 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 Sequence +0:16 move second child to first child ( temp float) +0:16 'r09' ( temp float) +0:16 Constant: +0:16 1.000000 +0:17 Sequence +0:17 move second child to first child ( temp float) +0:17 'r10' ( temp float) +0:17 Constant: +0:17 1.000000 +0:18 Sequence +0:18 move second child to first child ( temp float) +0:18 'r11' ( temp float) 0:18 Constant: -0:18 0 (const int) -0:18 Construct vec4 (temp 4-component vector of float) -0:18 Convert int to float (temp float) -0:18 'r07' (temp int) +0:18 1.100000 0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'ps_output' (temp structure{temp 4-component vector of float color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 move second child to first child ( temp float) +0:19 'r12' ( temp float) +0:19 Constant: +0:19 1.100000 +0:22 move second child to first child ( temp 4-component vector of float) +0:22 color: direct index for structure ( temp 4-component vector of float) +0:22 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:22 Constant: +0:22 0 (const int) +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert int to float ( temp float) +0:22 'r07' ( temp int) +0:23 Branch: Return with expression +0:23 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:5 color: direct index for structure ( temp 4-component vector of float) +0:5 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:5 Constant: +0:5 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 44 +// Id's are bound by 54 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 40 + EntryPoint Fragment 4 "main" 51 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 12 "r01" - Name 14 "r02" - Name 16 "r03" - Name 18 "r04" - Name 21 "r05" - Name 23 "r06" - Name 25 "r07" - Name 27 "r08" - Name 30 "PS_OUTPUT" - MemberName 30(PS_OUTPUT) 0 "color" - Name 32 "ps_output" - Name 40 "color" - Decorate 40(color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 10 "@main(" + Name 13 "r00" + Name 17 "r01" + Name 19 "r02" + Name 21 "r03" + Name 23 "r04" + Name 26 "r05" + Name 28 "r06" + Name 30 "r07" + Name 32 "r08" + Name 34 "r09" + Name 35 "r10" + Name 36 "r11" + Name 38 "r12" + Name 40 "ps_output" + Name 51 "color" + Decorate 51(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 1065353216 - 10: TypeInt 32 0 - 11: TypePointer Function 10(int) - 13: 10(int) Constant 1 - 15: 10(int) Constant 2 - 17: 10(int) Constant 2748 - 19: TypeInt 32 1 - 20: TypePointer Function 19(int) - 22: 19(int) Constant 5 - 24: 19(int) Constant 6 - 26: 19(int) Constant 57 - 28: 10(int) Constant 58 - 29: TypeVector 6(float) 4 - 30(PS_OUTPUT): TypeStruct 29(fvec4) - 31: TypePointer Function 30(PS_OUTPUT) - 33: 19(int) Constant 0 - 37: TypePointer Function 29(fvec4) - 39: TypePointer Output 29(fvec4) - 40(color): 39(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: 6(float) Constant 1065353216 + 15: TypeInt 32 0 + 16: TypePointer Function 15(int) + 18: 15(int) Constant 1 + 20: 15(int) Constant 2 + 22: 15(int) Constant 2748 + 24: TypeInt 32 1 + 25: TypePointer Function 24(int) + 27: 24(int) Constant 5 + 29: 24(int) Constant 6 + 31: 24(int) Constant 57 + 33: 15(int) Constant 58 + 37: 6(float) Constant 1066192077 + 39: TypePointer Function 8(PS_OUTPUT) + 41: 24(int) Constant 0 + 45: TypePointer Function 7(fvec4) + 50: TypePointer Output 7(fvec4) + 51(color): 50(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 12(r01): 11(ptr) Variable Function - 14(r02): 11(ptr) Variable Function - 16(r03): 11(ptr) Variable Function - 18(r04): 11(ptr) Variable Function - 21(r05): 20(ptr) Variable Function - 23(r06): 20(ptr) Variable Function - 25(r07): 20(ptr) Variable Function - 27(r08): 11(ptr) Variable Function - 32(ps_output): 31(ptr) Variable Function - Store 8(r00) 9 - Store 12(r01) 13 - Store 14(r02) 15 - Store 16(r03) 17 - Store 18(r04) 17 - Store 21(r05) 22 - Store 23(r06) 24 - Store 25(r07) 26 - Store 27(r08) 28 - 34: 19(int) Load 25(r07) - 35: 6(float) ConvertSToF 34 - 36: 29(fvec4) CompositeConstruct 35 35 35 35 - 38: 37(ptr) AccessChain 32(ps_output) 33 - Store 38 36 - 41: 37(ptr) AccessChain 32(ps_output) 33 - 42: 29(fvec4) Load 41 - Store 40(color) 42 + 52:8(PS_OUTPUT) FunctionCall 10(@main() + 53: 7(fvec4) CompositeExtract 52 0 + Store 51(color) 53 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 17(r01): 16(ptr) Variable Function + 19(r02): 16(ptr) Variable Function + 21(r03): 16(ptr) Variable Function + 23(r04): 16(ptr) Variable Function + 26(r05): 25(ptr) Variable Function + 28(r06): 25(ptr) Variable Function + 30(r07): 25(ptr) Variable Function + 32(r08): 16(ptr) Variable Function + 34(r09): 12(ptr) Variable Function + 35(r10): 12(ptr) Variable Function + 36(r11): 12(ptr) Variable Function + 38(r12): 12(ptr) Variable Function + 40(ps_output): 39(ptr) Variable Function + Store 13(r00) 14 + Store 17(r01) 18 + Store 19(r02) 20 + Store 21(r03) 22 + Store 23(r04) 22 + Store 26(r05) 27 + Store 28(r06) 29 + Store 30(r07) 31 + Store 32(r08) 33 + Store 34(r09) 14 + Store 35(r10) 14 + Store 36(r11) 37 + Store 38(r12) 37 + 42: 24(int) Load 30(r07) + 43: 6(float) ConvertSToF 42 + 44: 7(fvec4) CompositeConstruct 43 43 43 43 + 46: 45(ptr) AccessChain 40(ps_output) 41 + Store 46 44 + 47:8(PS_OUTPUT) Load 40(ps_output) + ReturnValue 47 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out index 8ac76a962c8..ed0017b2116 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.numthreads.comp.out @@ -2,14 +2,22 @@ hlsl.numthreads.comp Shader version: 450 local_size = (4, 4, 2) 0:? Sequence -0:4 Function Definition: main(vu3; (temp void) +0:4 Function Definition: main(vu3; ( temp void) 0:4 Function Parameters: -0:4 'tid' (in 3-component vector of uint) -0:9 Function Definition: main_aux1(vu3; (temp void) +0:4 'tid' ( in 3-component vector of uint) +0:9 Function Definition: @main_aux1(vu3; ( temp void) 0:9 Function Parameters: -0:9 'tid' (in 3-component vector of uint GlobalInvocationID) +0:9 'tid' ( in 3-component vector of uint) +0:9 Function Definition: main_aux1( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp 3-component vector of uint) +0:? 'tid' ( temp 3-component vector of uint) +0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) +0:9 Function Call: @main_aux1(vu3; ( temp void) +0:? 'tid' ( temp 3-component vector of uint) 0:? Linker Objects -0:? 'tid' (in 3-component vector of uint GlobalInvocationID) +0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) Linked compute stage: @@ -18,39 +26,58 @@ Linked compute stage: Shader version: 450 local_size = (4, 4, 2) 0:? Sequence -0:4 Function Definition: main(vu3; (temp void) +0:4 Function Definition: main(vu3; ( temp void) 0:4 Function Parameters: -0:4 'tid' (in 3-component vector of uint) -0:9 Function Definition: main_aux1(vu3; (temp void) +0:4 'tid' ( in 3-component vector of uint) +0:9 Function Definition: @main_aux1(vu3; ( temp void) +0:9 Function Parameters: +0:9 'tid' ( in 3-component vector of uint) +0:9 Function Definition: main_aux1( ( temp void) 0:9 Function Parameters: -0:9 'tid' (in 3-component vector of uint GlobalInvocationID) +0:? Sequence +0:9 move second child to first child ( temp 3-component vector of uint) +0:? 'tid' ( temp 3-component vector of uint) +0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) +0:9 Function Call: @main_aux1(vu3; ( temp void) +0:? 'tid' ( temp 3-component vector of uint) 0:? Linker Objects -0:? 'tid' (in 3-component vector of uint GlobalInvocationID) +0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 23 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main_aux1" 14 + EntryPoint GLCompute 4 "main_aux1" 18 ExecutionMode 4 LocalSize 4 4 2 Name 4 "main_aux1" Name 11 "main(vu3;" Name 10 "tid" - Name 14 "tid" - Decorate 14(tid) BuiltIn GlobalInvocationId + Name 14 "@main_aux1(vu3;" + Name 13 "tid" + Name 16 "tid" + Name 18 "tid" + Name 20 "param" + Decorate 18(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeVector 6(int) 3 8: TypePointer Function 7(ivec3) 9: TypeFunction 2 8(ptr) - 13: TypePointer Input 7(ivec3) - 14(tid): 13(ptr) Variable Input + 17: TypePointer Input 7(ivec3) + 18(tid): 17(ptr) Variable Input 4(main_aux1): 2 Function None 3 5: Label + 16(tid): 8(ptr) Variable Function + 20(param): 8(ptr) Variable Function + 19: 7(ivec3) Load 18(tid) + Store 16(tid) 19 + 21: 7(ivec3) Load 16(tid) + Store 20(param) 21 + 22: 2 FunctionCall 14(@main_aux1(vu3;) 20(param) Return FunctionEnd 11(main(vu3;): 2 Function None 9 @@ -58,3 +85,8 @@ local_size = (4, 4, 2) 12: Label Return FunctionEnd +14(@main_aux1(vu3;): 2 Function None 9 + 13(tid): 8(ptr) FunctionParameter + 15: Label + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out index 4eed1a3fc5f..1075ffe3167 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.overload.frag.out @@ -2,360 +2,367 @@ hlsl.overload.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo1(d1;b1; (temp void) +0:2 Function Definition: foo1(d1;b1; ( temp void) 0:2 Function Parameters: -0:2 'a' (in double) -0:2 'b' (in bool) -0:3 Function Definition: foo1(d1;u1; (temp void) +0:2 'a' ( in double) +0:2 'b' ( in bool) +0:3 Function Definition: foo1(d1;u1; ( temp void) 0:3 Function Parameters: -0:3 'a' (in double) -0:3 'b' (in uint) -0:4 Function Definition: foo1(d1;i1; (temp void) +0:3 'a' ( in double) +0:3 'b' ( in uint) +0:4 Function Definition: foo1(d1;i1; ( temp void) 0:4 Function Parameters: -0:4 'a' (in double) -0:4 'b' (in int) -0:5 Function Definition: foo1(d1;f1; (temp void) +0:4 'a' ( in double) +0:4 'b' ( in int) +0:5 Function Definition: foo1(d1;f1; ( temp void) 0:5 Function Parameters: -0:5 'a' (in double) -0:5 'b' (in float) -0:6 Function Definition: foo1(d1;d1; (temp void) +0:5 'a' ( in double) +0:5 'b' ( in float) +0:6 Function Definition: foo1(d1;d1; ( temp void) 0:6 Function Parameters: -0:6 'a' (in double) -0:6 'b' (in double) -0:9 Function Definition: foo2(i1;b1; (temp void) +0:6 'a' ( in double) +0:6 'b' ( in double) +0:9 Function Definition: foo2(i1;b1; ( temp void) 0:9 Function Parameters: -0:9 'a' (in int) -0:9 'b' (in bool) -0:10 Function Definition: foo2(i1;u1; (temp void) +0:9 'a' ( in int) +0:9 'b' ( in bool) +0:10 Function Definition: foo2(i1;u1; ( temp void) 0:10 Function Parameters: -0:10 'a' (in int) -0:10 'b' (in uint) -0:11 Function Definition: foo2(i1;i1; (temp void) +0:10 'a' ( in int) +0:10 'b' ( in uint) +0:11 Function Definition: foo2(i1;i1; ( temp void) 0:11 Function Parameters: -0:11 'a' (in int) -0:11 'b' (in int) -0:12 Function Definition: foo2(i1;f1; (temp void) +0:11 'a' ( in int) +0:11 'b' ( in int) +0:12 Function Definition: foo2(i1;f1; ( temp void) 0:12 Function Parameters: -0:12 'a' (in int) -0:12 'b' (in float) -0:13 Function Definition: foo2(i1;d1; (temp void) +0:12 'a' ( in int) +0:12 'b' ( in float) +0:13 Function Definition: foo2(i1;d1; ( temp void) 0:13 Function Parameters: -0:13 'a' (in int) -0:13 'b' (in double) -0:16 Function Definition: foo3(b1; (temp void) +0:13 'a' ( in int) +0:13 'b' ( in double) +0:16 Function Definition: foo3(b1; ( temp void) 0:16 Function Parameters: -0:16 'b' (in bool) -0:17 Function Definition: foo4(u1; (temp void) +0:16 'b' ( in bool) +0:17 Function Definition: foo4(u1; ( temp void) 0:17 Function Parameters: -0:17 'b' (in uint) -0:18 Function Definition: foo5(i1; (temp void) +0:17 'b' ( in uint) +0:18 Function Definition: foo5(i1; ( temp void) 0:18 Function Parameters: -0:18 'b' (in int) -0:19 Function Definition: foo6(f1; (temp void) +0:18 'b' ( in int) +0:19 Function Definition: foo6(f1; ( temp void) 0:19 Function Parameters: -0:19 'b' (in float) -0:20 Function Definition: foo7(d1; (temp void) +0:19 'b' ( in float) +0:20 Function Definition: foo7(d1; ( temp void) 0:20 Function Parameters: -0:20 'b' (in double) -0:23 Function Definition: foo8(f1; (temp void) +0:20 'b' ( in double) +0:23 Function Definition: foo8(f1; ( temp void) 0:23 Function Parameters: -0:23 '' (in float) -0:24 Function Definition: foo8(d1; (temp void) +0:23 '' ( in float) +0:24 Function Definition: foo8(d1; ( temp void) 0:24 Function Parameters: -0:24 '' (in double) -0:25 Function Definition: foo9(i1; (temp void) +0:24 '' ( in double) +0:25 Function Definition: foo9(i1; ( temp void) 0:25 Function Parameters: -0:25 '' (in int) -0:26 Function Definition: foo9(u1; (temp void) +0:25 '' ( in int) +0:26 Function Definition: foo9(u1; ( temp void) 0:26 Function Parameters: -0:26 '' (in uint) -0:27 Function Definition: foo10(b1; (temp void) +0:26 '' ( in uint) +0:27 Function Definition: foo10(b1; ( temp void) 0:27 Function Parameters: -0:27 '' (in bool) -0:28 Function Definition: foo10(i1; (temp void) +0:27 '' ( in bool) +0:28 Function Definition: foo10(i1; ( temp void) 0:28 Function Parameters: -0:28 '' (in int) -0:31 Function Definition: foo11(vf3; (temp void) +0:28 '' ( in int) +0:31 Function Definition: foo11(vf3; ( temp void) 0:31 Function Parameters: -0:31 '' (in 3-component vector of float) -0:32 Function Definition: foo11(d1; (temp void) +0:31 '' ( in 3-component vector of float) +0:32 Function Definition: foo11(d1; ( temp void) 0:32 Function Parameters: -0:32 '' (in double) -0:33 Function Definition: foo11(vi3; (temp void) +0:32 '' ( in double) +0:33 Function Definition: foo11(vi3; ( temp void) 0:33 Function Parameters: -0:33 '' (in 3-component vector of int) -0:34 Function Definition: foo11(u1; (temp void) +0:33 '' ( in 3-component vector of int) +0:34 Function Definition: foo11(u1; ( temp void) 0:34 Function Parameters: -0:34 '' (in uint) -0:35 Function Definition: foo12(vf1; (temp void) +0:34 '' ( in uint) +0:35 Function Definition: foo12(vf1; ( temp void) 0:35 Function Parameters: -0:35 '' (in 1-component vector of float) -0:36 Function Definition: foo12(vd3; (temp void) +0:35 '' ( in 1-component vector of float) +0:36 Function Definition: foo12(vd3; ( temp void) 0:36 Function Parameters: -0:36 '' (in 3-component vector of double) -0:37 Function Definition: foo16(u1; (temp void) +0:36 '' ( in 3-component vector of double) +0:37 Function Definition: foo16(u1; ( temp void) 0:37 Function Parameters: -0:37 '' (in uint) -0:38 Function Definition: foo16(vu2; (temp void) +0:37 '' ( in uint) +0:38 Function Definition: foo16(vu2; ( temp void) 0:38 Function Parameters: -0:38 '' (in 2-component vector of uint) -0:41 Function Definition: foo13(vf3; (temp void) +0:38 '' ( in 2-component vector of uint) +0:41 Function Definition: foo13(vf3; ( temp void) 0:41 Function Parameters: -0:41 '' (in 3-component vector of float) -0:42 Function Definition: foo14(vi1; (temp void) +0:41 '' ( in 3-component vector of float) +0:42 Function Definition: foo14(vi1; ( temp void) 0:42 Function Parameters: -0:42 '' (in 1-component vector of int) -0:43 Function Definition: foo15(vb1; (temp void) +0:42 '' ( in 1-component vector of int) +0:43 Function Definition: foo15(vb1; ( temp void) 0:43 Function Parameters: -0:43 '' (in 1-component vector of bool) -0:46 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:43 '' ( in 1-component vector of bool) +0:46 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:46 Function Parameters: -0:46 'input' (layout(location=0 ) in 4-component vector of float) +0:46 'input' ( in 4-component vector of float) 0:? Sequence -0:53 Function Call: foo1(d1;b1; (temp void) -0:53 'd' (temp double) -0:53 'b' (temp bool) -0:54 Function Call: foo1(d1;d1; (temp void) -0:54 'd' (temp double) -0:54 'd' (temp double) -0:55 Function Call: foo1(d1;u1; (temp void) -0:55 'd' (temp double) -0:55 'u' (temp uint) -0:56 Function Call: foo1(d1;i1; (temp void) -0:56 'd' (temp double) -0:56 'i' (temp int) -0:57 Function Call: foo1(d1;f1; (temp void) -0:57 'd' (temp double) -0:57 'f' (temp float) -0:59 Function Call: foo1(d1;b1; (temp void) -0:59 Convert float to double (temp double) -0:59 'f' (temp float) -0:59 'b' (temp bool) -0:60 Function Call: foo1(d1;d1; (temp void) -0:60 Convert float to double (temp double) -0:60 'f' (temp float) -0:60 'd' (temp double) -0:61 Function Call: foo1(d1;u1; (temp void) -0:61 Convert float to double (temp double) -0:61 'f' (temp float) -0:61 'u' (temp uint) -0:62 Function Call: foo1(d1;i1; (temp void) -0:62 Convert float to double (temp double) -0:62 'f' (temp float) -0:62 'i' (temp int) -0:63 Function Call: foo1(d1;f1; (temp void) -0:63 Convert float to double (temp double) -0:63 'f' (temp float) -0:63 'f' (temp float) -0:65 Function Call: foo1(d1;b1; (temp void) -0:65 Convert uint to double (temp double) -0:65 'u' (temp uint) -0:65 'b' (temp bool) -0:66 Function Call: foo1(d1;d1; (temp void) -0:66 Convert uint to double (temp double) -0:66 'u' (temp uint) -0:66 'd' (temp double) -0:67 Function Call: foo1(d1;u1; (temp void) -0:67 Convert uint to double (temp double) -0:67 'u' (temp uint) -0:67 'u' (temp uint) -0:68 Function Call: foo1(d1;i1; (temp void) -0:68 Convert uint to double (temp double) -0:68 'u' (temp uint) -0:68 'i' (temp int) -0:69 Function Call: foo1(d1;f1; (temp void) -0:69 Convert uint to double (temp double) -0:69 'u' (temp uint) -0:69 'f' (temp float) -0:71 Function Call: foo1(d1;b1; (temp void) -0:71 Convert int to double (temp double) -0:71 'i' (temp int) -0:71 'b' (temp bool) -0:72 Function Call: foo1(d1;d1; (temp void) -0:72 Convert int to double (temp double) -0:72 'i' (temp int) -0:72 'd' (temp double) -0:73 Function Call: foo1(d1;u1; (temp void) -0:73 Convert int to double (temp double) -0:73 'i' (temp int) -0:73 'u' (temp uint) -0:74 Function Call: foo1(d1;i1; (temp void) -0:74 Convert int to double (temp double) -0:74 'i' (temp int) -0:74 'i' (temp int) -0:75 Function Call: foo1(d1;f1; (temp void) -0:75 Convert int to double (temp double) -0:75 'i' (temp int) -0:75 'f' (temp float) -0:77 Function Call: foo2(i1;b1; (temp void) -0:77 Convert uint to int (temp int) -0:77 'u' (temp uint) -0:77 'b' (temp bool) -0:78 Function Call: foo2(i1;d1; (temp void) -0:78 Convert uint to int (temp int) -0:78 'u' (temp uint) -0:78 'd' (temp double) -0:79 Function Call: foo2(i1;u1; (temp void) -0:79 Convert uint to int (temp int) -0:79 'u' (temp uint) -0:79 'u' (temp uint) -0:80 Function Call: foo2(i1;i1; (temp void) -0:80 Convert uint to int (temp int) -0:80 'u' (temp uint) -0:80 'i' (temp int) -0:81 Function Call: foo2(i1;f1; (temp void) -0:81 Convert uint to int (temp int) -0:81 'u' (temp uint) -0:81 'f' (temp float) -0:83 Function Call: foo2(i1;b1; (temp void) -0:83 'i' (temp int) -0:83 'b' (temp bool) -0:84 Function Call: foo2(i1;d1; (temp void) -0:84 'i' (temp int) -0:84 'd' (temp double) -0:85 Function Call: foo2(i1;u1; (temp void) -0:85 'i' (temp int) -0:85 'u' (temp uint) -0:86 Function Call: foo2(i1;i1; (temp void) -0:86 'i' (temp int) -0:86 'i' (temp int) -0:87 Function Call: foo2(i1;f1; (temp void) -0:87 'i' (temp int) -0:87 'f' (temp float) -0:89 Function Call: foo3(b1; (temp void) -0:89 'b' (temp bool) -0:90 Function Call: foo3(b1; (temp void) -0:90 Convert double to bool (temp bool) -0:90 'd' (temp double) -0:91 Function Call: foo3(b1; (temp void) -0:91 Convert uint to bool (temp bool) -0:91 'u' (temp uint) -0:92 Function Call: foo3(b1; (temp void) -0:92 Convert int to bool (temp bool) -0:92 'i' (temp int) -0:93 Function Call: foo3(b1; (temp void) -0:93 Convert float to bool (temp bool) -0:93 'f' (temp float) -0:95 Function Call: foo4(u1; (temp void) -0:95 Convert bool to uint (temp uint) -0:95 'b' (temp bool) -0:96 Function Call: foo4(u1; (temp void) -0:96 Convert double to uint (temp uint) -0:96 'd' (temp double) -0:97 Function Call: foo4(u1; (temp void) -0:97 'u' (temp uint) -0:98 Function Call: foo4(u1; (temp void) -0:98 Convert int to uint (temp uint) -0:98 'i' (temp int) -0:99 Function Call: foo4(u1; (temp void) -0:99 Convert float to uint (temp uint) -0:99 'f' (temp float) -0:101 Function Call: foo5(i1; (temp void) -0:101 Convert bool to int (temp int) -0:101 'b' (temp bool) -0:102 Function Call: foo5(i1; (temp void) -0:102 Convert double to int (temp int) -0:102 'd' (temp double) -0:103 Function Call: foo5(i1; (temp void) -0:103 Convert uint to int (temp int) -0:103 'u' (temp uint) -0:104 Function Call: foo5(i1; (temp void) -0:104 'i' (temp int) -0:105 Function Call: foo5(i1; (temp void) -0:105 Convert float to int (temp int) -0:105 'f' (temp float) -0:107 Function Call: foo6(f1; (temp void) -0:107 Convert bool to float (temp float) -0:107 'b' (temp bool) -0:108 Function Call: foo6(f1; (temp void) -0:108 Convert double to float (temp float) -0:108 'd' (temp double) -0:109 Function Call: foo6(f1; (temp void) -0:109 Convert uint to float (temp float) -0:109 'u' (temp uint) -0:110 Function Call: foo6(f1; (temp void) -0:110 Convert int to float (temp float) -0:110 'i' (temp int) -0:111 Function Call: foo6(f1; (temp void) -0:111 'f' (temp float) -0:113 Function Call: foo7(d1; (temp void) -0:113 Convert bool to double (temp double) -0:113 'b' (temp bool) -0:114 Function Call: foo7(d1; (temp void) -0:114 'd' (temp double) -0:115 Function Call: foo7(d1; (temp void) -0:115 Convert uint to double (temp double) -0:115 'u' (temp uint) -0:116 Function Call: foo7(d1; (temp void) -0:116 Convert int to double (temp double) -0:116 'i' (temp int) -0:117 Function Call: foo7(d1; (temp void) -0:117 Convert float to double (temp double) -0:117 'f' (temp float) -0:119 Function Call: foo8(f1; (temp void) -0:119 Convert bool to float (temp float) -0:119 'b' (temp bool) -0:120 Function Call: foo8(f1; (temp void) -0:120 Convert uint to float (temp float) -0:120 'u' (temp uint) -0:121 Function Call: foo8(f1; (temp void) -0:121 Convert int to float (temp float) -0:121 'i' (temp int) -0:123 Function Call: foo9(i1; (temp void) -0:123 Convert bool to int (temp int) -0:123 'b' (temp bool) -0:124 Function Call: foo9(u1; (temp void) -0:124 Convert float to uint (temp uint) -0:124 'f' (temp float) -0:125 Function Call: foo9(u1; (temp void) -0:125 Convert double to uint (temp uint) -0:125 'd' (temp double) -0:127 Function Call: foo10(i1; (temp void) -0:127 Convert uint to int (temp int) -0:127 'u' (temp uint) -0:128 Function Call: foo10(i1; (temp void) -0:128 Convert float to int (temp int) -0:128 'f' (temp float) -0:129 Function Call: foo10(i1; (temp void) -0:129 Convert double to int (temp int) -0:129 'd' (temp double) -0:131 Function Call: foo11(u1; (temp void) -0:131 Convert bool to uint (temp uint) -0:131 'b' (temp bool) -0:132 Function Call: foo11(d1; (temp void) -0:132 Convert float to double (temp double) -0:132 'f' (temp float) -0:133 Function Call: foo12(vd3; (temp void) -0:133 Convert float to double (temp 3-component vector of double) -0:133 Construct vec3 (temp 3-component vector of float) -0:133 'f' (temp float) -0:134 Function Call: foo16(vu2; (temp void) -0:? Convert int to uint (temp 2-component vector of uint) -0:? Construct ivec2 (temp 2-component vector of int) -0:134 'i' (temp int) -0:134 'i' (temp int) -0:136 Function Call: foo13(vf3; (temp void) -0:136 Construct vec3 (in 3-component vector of float) -0:136 'f' (temp float) -0:137 Function Call: foo14(vi1; (temp void) -0:137 Construct int (in 1-component vector of int) -0:137 Construct ivec4 (temp 4-component vector of int) -0:137 'i' (temp int) -0:138 Function Call: foo15(vb1; (temp void) -0:138 Construct bool (in 1-component vector of bool) -0:138 'b' (temp bool) -0:139 Function Call: foo15(vb1; (temp void) -0:139 Construct bool (in 1-component vector of bool) -0:139 Construct bvec3 (temp 3-component vector of bool) -0:139 'b' (temp bool) -0:141 Sequence -0:141 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:141 'input' (layout(location=0 ) in 4-component vector of float) -0:141 Branch: Return +0:53 Function Call: foo1(d1;b1; ( temp void) +0:53 'd' ( temp double) +0:53 'b' ( temp bool) +0:54 Function Call: foo1(d1;d1; ( temp void) +0:54 'd' ( temp double) +0:54 'd' ( temp double) +0:55 Function Call: foo1(d1;u1; ( temp void) +0:55 'd' ( temp double) +0:55 'u' ( temp uint) +0:56 Function Call: foo1(d1;i1; ( temp void) +0:56 'd' ( temp double) +0:56 'i' ( temp int) +0:57 Function Call: foo1(d1;f1; ( temp void) +0:57 'd' ( temp double) +0:57 'f' ( temp float) +0:59 Function Call: foo1(d1;b1; ( temp void) +0:59 Convert float to double ( temp double) +0:59 'f' ( temp float) +0:59 'b' ( temp bool) +0:60 Function Call: foo1(d1;d1; ( temp void) +0:60 Convert float to double ( temp double) +0:60 'f' ( temp float) +0:60 'd' ( temp double) +0:61 Function Call: foo1(d1;u1; ( temp void) +0:61 Convert float to double ( temp double) +0:61 'f' ( temp float) +0:61 'u' ( temp uint) +0:62 Function Call: foo1(d1;i1; ( temp void) +0:62 Convert float to double ( temp double) +0:62 'f' ( temp float) +0:62 'i' ( temp int) +0:63 Function Call: foo1(d1;f1; ( temp void) +0:63 Convert float to double ( temp double) +0:63 'f' ( temp float) +0:63 'f' ( temp float) +0:65 Function Call: foo1(d1;b1; ( temp void) +0:65 Convert uint to double ( temp double) +0:65 'u' ( temp uint) +0:65 'b' ( temp bool) +0:66 Function Call: foo1(d1;d1; ( temp void) +0:66 Convert uint to double ( temp double) +0:66 'u' ( temp uint) +0:66 'd' ( temp double) +0:67 Function Call: foo1(d1;u1; ( temp void) +0:67 Convert uint to double ( temp double) +0:67 'u' ( temp uint) +0:67 'u' ( temp uint) +0:68 Function Call: foo1(d1;i1; ( temp void) +0:68 Convert uint to double ( temp double) +0:68 'u' ( temp uint) +0:68 'i' ( temp int) +0:69 Function Call: foo1(d1;f1; ( temp void) +0:69 Convert uint to double ( temp double) +0:69 'u' ( temp uint) +0:69 'f' ( temp float) +0:71 Function Call: foo1(d1;b1; ( temp void) +0:71 Convert int to double ( temp double) +0:71 'i' ( temp int) +0:71 'b' ( temp bool) +0:72 Function Call: foo1(d1;d1; ( temp void) +0:72 Convert int to double ( temp double) +0:72 'i' ( temp int) +0:72 'd' ( temp double) +0:73 Function Call: foo1(d1;u1; ( temp void) +0:73 Convert int to double ( temp double) +0:73 'i' ( temp int) +0:73 'u' ( temp uint) +0:74 Function Call: foo1(d1;i1; ( temp void) +0:74 Convert int to double ( temp double) +0:74 'i' ( temp int) +0:74 'i' ( temp int) +0:75 Function Call: foo1(d1;f1; ( temp void) +0:75 Convert int to double ( temp double) +0:75 'i' ( temp int) +0:75 'f' ( temp float) +0:77 Function Call: foo2(i1;b1; ( temp void) +0:77 Convert uint to int ( temp int) +0:77 'u' ( temp uint) +0:77 'b' ( temp bool) +0:78 Function Call: foo2(i1;d1; ( temp void) +0:78 Convert uint to int ( temp int) +0:78 'u' ( temp uint) +0:78 'd' ( temp double) +0:79 Function Call: foo2(i1;u1; ( temp void) +0:79 Convert uint to int ( temp int) +0:79 'u' ( temp uint) +0:79 'u' ( temp uint) +0:80 Function Call: foo2(i1;i1; ( temp void) +0:80 Convert uint to int ( temp int) +0:80 'u' ( temp uint) +0:80 'i' ( temp int) +0:81 Function Call: foo2(i1;f1; ( temp void) +0:81 Convert uint to int ( temp int) +0:81 'u' ( temp uint) +0:81 'f' ( temp float) +0:83 Function Call: foo2(i1;b1; ( temp void) +0:83 'i' ( temp int) +0:83 'b' ( temp bool) +0:84 Function Call: foo2(i1;d1; ( temp void) +0:84 'i' ( temp int) +0:84 'd' ( temp double) +0:85 Function Call: foo2(i1;u1; ( temp void) +0:85 'i' ( temp int) +0:85 'u' ( temp uint) +0:86 Function Call: foo2(i1;i1; ( temp void) +0:86 'i' ( temp int) +0:86 'i' ( temp int) +0:87 Function Call: foo2(i1;f1; ( temp void) +0:87 'i' ( temp int) +0:87 'f' ( temp float) +0:89 Function Call: foo3(b1; ( temp void) +0:89 'b' ( temp bool) +0:90 Function Call: foo3(b1; ( temp void) +0:90 Convert double to bool ( temp bool) +0:90 'd' ( temp double) +0:91 Function Call: foo3(b1; ( temp void) +0:91 Convert uint to bool ( temp bool) +0:91 'u' ( temp uint) +0:92 Function Call: foo3(b1; ( temp void) +0:92 Convert int to bool ( temp bool) +0:92 'i' ( temp int) +0:93 Function Call: foo3(b1; ( temp void) +0:93 Convert float to bool ( temp bool) +0:93 'f' ( temp float) +0:95 Function Call: foo4(u1; ( temp void) +0:95 Convert bool to uint ( temp uint) +0:95 'b' ( temp bool) +0:96 Function Call: foo4(u1; ( temp void) +0:96 Convert double to uint ( temp uint) +0:96 'd' ( temp double) +0:97 Function Call: foo4(u1; ( temp void) +0:97 'u' ( temp uint) +0:98 Function Call: foo4(u1; ( temp void) +0:98 Convert int to uint ( temp uint) +0:98 'i' ( temp int) +0:99 Function Call: foo4(u1; ( temp void) +0:99 Convert float to uint ( temp uint) +0:99 'f' ( temp float) +0:101 Function Call: foo5(i1; ( temp void) +0:101 Convert bool to int ( temp int) +0:101 'b' ( temp bool) +0:102 Function Call: foo5(i1; ( temp void) +0:102 Convert double to int ( temp int) +0:102 'd' ( temp double) +0:103 Function Call: foo5(i1; ( temp void) +0:103 Convert uint to int ( temp int) +0:103 'u' ( temp uint) +0:104 Function Call: foo5(i1; ( temp void) +0:104 'i' ( temp int) +0:105 Function Call: foo5(i1; ( temp void) +0:105 Convert float to int ( temp int) +0:105 'f' ( temp float) +0:107 Function Call: foo6(f1; ( temp void) +0:107 Convert bool to float ( temp float) +0:107 'b' ( temp bool) +0:108 Function Call: foo6(f1; ( temp void) +0:108 Convert double to float ( temp float) +0:108 'd' ( temp double) +0:109 Function Call: foo6(f1; ( temp void) +0:109 Convert uint to float ( temp float) +0:109 'u' ( temp uint) +0:110 Function Call: foo6(f1; ( temp void) +0:110 Convert int to float ( temp float) +0:110 'i' ( temp int) +0:111 Function Call: foo6(f1; ( temp void) +0:111 'f' ( temp float) +0:113 Function Call: foo7(d1; ( temp void) +0:113 Convert bool to double ( temp double) +0:113 'b' ( temp bool) +0:114 Function Call: foo7(d1; ( temp void) +0:114 'd' ( temp double) +0:115 Function Call: foo7(d1; ( temp void) +0:115 Convert uint to double ( temp double) +0:115 'u' ( temp uint) +0:116 Function Call: foo7(d1; ( temp void) +0:116 Convert int to double ( temp double) +0:116 'i' ( temp int) +0:117 Function Call: foo7(d1; ( temp void) +0:117 Convert float to double ( temp double) +0:117 'f' ( temp float) +0:119 Function Call: foo8(f1; ( temp void) +0:119 Convert bool to float ( temp float) +0:119 'b' ( temp bool) +0:120 Function Call: foo8(f1; ( temp void) +0:120 Convert uint to float ( temp float) +0:120 'u' ( temp uint) +0:121 Function Call: foo8(f1; ( temp void) +0:121 Convert int to float ( temp float) +0:121 'i' ( temp int) +0:123 Function Call: foo9(i1; ( temp void) +0:123 Convert bool to int ( temp int) +0:123 'b' ( temp bool) +0:124 Function Call: foo9(u1; ( temp void) +0:124 Convert float to uint ( temp uint) +0:124 'f' ( temp float) +0:125 Function Call: foo9(u1; ( temp void) +0:125 Convert double to uint ( temp uint) +0:125 'd' ( temp double) +0:127 Function Call: foo10(i1; ( temp void) +0:127 Convert uint to int ( temp int) +0:127 'u' ( temp uint) +0:128 Function Call: foo10(i1; ( temp void) +0:128 Convert float to int ( temp int) +0:128 'f' ( temp float) +0:129 Function Call: foo10(i1; ( temp void) +0:129 Convert double to int ( temp int) +0:129 'd' ( temp double) +0:131 Function Call: foo11(u1; ( temp void) +0:131 Convert bool to uint ( temp uint) +0:131 'b' ( temp bool) +0:132 Function Call: foo11(d1; ( temp void) +0:132 Convert float to double ( temp double) +0:132 'f' ( temp float) +0:133 Function Call: foo12(vd3; ( temp void) +0:133 Convert float to double ( temp 3-component vector of double) +0:133 Construct vec3 ( temp 3-component vector of float) +0:133 'f' ( temp float) +0:134 Function Call: foo16(vu2; ( temp void) +0:? Convert int to uint ( temp 2-component vector of uint) +0:? Construct ivec2 ( temp 2-component vector of int) +0:134 'i' ( temp int) +0:134 'i' ( temp int) +0:136 Function Call: foo13(vf3; ( temp void) +0:136 Construct vec3 ( in 3-component vector of float) +0:136 'f' ( temp float) +0:137 Function Call: foo14(vi1; ( temp void) +0:137 Construct int ( in 1-component vector of int) +0:137 Construct ivec4 ( temp 4-component vector of int) +0:137 'i' ( temp int) +0:138 Function Call: foo15(vb1; ( temp void) +0:138 Construct bool ( in 1-component vector of bool) +0:138 'b' ( temp bool) +0:139 Function Call: foo15(vb1; ( temp void) +0:139 Construct bool ( in 1-component vector of bool) +0:139 Construct bvec3 ( temp 3-component vector of bool) +0:139 'b' ( temp bool) +0:141 Branch: Return with expression +0:141 'input' ( in 4-component vector of float) +0:46 Function Definition: PixelShaderFunction( ( temp void) +0:46 Function Parameters: +0:? Sequence +0:46 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:46 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:46 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -364,370 +371,377 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo1(d1;b1; (temp void) +0:2 Function Definition: foo1(d1;b1; ( temp void) 0:2 Function Parameters: -0:2 'a' (in double) -0:2 'b' (in bool) -0:3 Function Definition: foo1(d1;u1; (temp void) +0:2 'a' ( in double) +0:2 'b' ( in bool) +0:3 Function Definition: foo1(d1;u1; ( temp void) 0:3 Function Parameters: -0:3 'a' (in double) -0:3 'b' (in uint) -0:4 Function Definition: foo1(d1;i1; (temp void) +0:3 'a' ( in double) +0:3 'b' ( in uint) +0:4 Function Definition: foo1(d1;i1; ( temp void) 0:4 Function Parameters: -0:4 'a' (in double) -0:4 'b' (in int) -0:5 Function Definition: foo1(d1;f1; (temp void) +0:4 'a' ( in double) +0:4 'b' ( in int) +0:5 Function Definition: foo1(d1;f1; ( temp void) 0:5 Function Parameters: -0:5 'a' (in double) -0:5 'b' (in float) -0:6 Function Definition: foo1(d1;d1; (temp void) +0:5 'a' ( in double) +0:5 'b' ( in float) +0:6 Function Definition: foo1(d1;d1; ( temp void) 0:6 Function Parameters: -0:6 'a' (in double) -0:6 'b' (in double) -0:9 Function Definition: foo2(i1;b1; (temp void) +0:6 'a' ( in double) +0:6 'b' ( in double) +0:9 Function Definition: foo2(i1;b1; ( temp void) 0:9 Function Parameters: -0:9 'a' (in int) -0:9 'b' (in bool) -0:10 Function Definition: foo2(i1;u1; (temp void) +0:9 'a' ( in int) +0:9 'b' ( in bool) +0:10 Function Definition: foo2(i1;u1; ( temp void) 0:10 Function Parameters: -0:10 'a' (in int) -0:10 'b' (in uint) -0:11 Function Definition: foo2(i1;i1; (temp void) +0:10 'a' ( in int) +0:10 'b' ( in uint) +0:11 Function Definition: foo2(i1;i1; ( temp void) 0:11 Function Parameters: -0:11 'a' (in int) -0:11 'b' (in int) -0:12 Function Definition: foo2(i1;f1; (temp void) +0:11 'a' ( in int) +0:11 'b' ( in int) +0:12 Function Definition: foo2(i1;f1; ( temp void) 0:12 Function Parameters: -0:12 'a' (in int) -0:12 'b' (in float) -0:13 Function Definition: foo2(i1;d1; (temp void) +0:12 'a' ( in int) +0:12 'b' ( in float) +0:13 Function Definition: foo2(i1;d1; ( temp void) 0:13 Function Parameters: -0:13 'a' (in int) -0:13 'b' (in double) -0:16 Function Definition: foo3(b1; (temp void) +0:13 'a' ( in int) +0:13 'b' ( in double) +0:16 Function Definition: foo3(b1; ( temp void) 0:16 Function Parameters: -0:16 'b' (in bool) -0:17 Function Definition: foo4(u1; (temp void) +0:16 'b' ( in bool) +0:17 Function Definition: foo4(u1; ( temp void) 0:17 Function Parameters: -0:17 'b' (in uint) -0:18 Function Definition: foo5(i1; (temp void) +0:17 'b' ( in uint) +0:18 Function Definition: foo5(i1; ( temp void) 0:18 Function Parameters: -0:18 'b' (in int) -0:19 Function Definition: foo6(f1; (temp void) +0:18 'b' ( in int) +0:19 Function Definition: foo6(f1; ( temp void) 0:19 Function Parameters: -0:19 'b' (in float) -0:20 Function Definition: foo7(d1; (temp void) +0:19 'b' ( in float) +0:20 Function Definition: foo7(d1; ( temp void) 0:20 Function Parameters: -0:20 'b' (in double) -0:23 Function Definition: foo8(f1; (temp void) +0:20 'b' ( in double) +0:23 Function Definition: foo8(f1; ( temp void) 0:23 Function Parameters: -0:23 '' (in float) -0:24 Function Definition: foo8(d1; (temp void) +0:23 '' ( in float) +0:24 Function Definition: foo8(d1; ( temp void) 0:24 Function Parameters: -0:24 '' (in double) -0:25 Function Definition: foo9(i1; (temp void) +0:24 '' ( in double) +0:25 Function Definition: foo9(i1; ( temp void) 0:25 Function Parameters: -0:25 '' (in int) -0:26 Function Definition: foo9(u1; (temp void) +0:25 '' ( in int) +0:26 Function Definition: foo9(u1; ( temp void) 0:26 Function Parameters: -0:26 '' (in uint) -0:27 Function Definition: foo10(b1; (temp void) +0:26 '' ( in uint) +0:27 Function Definition: foo10(b1; ( temp void) 0:27 Function Parameters: -0:27 '' (in bool) -0:28 Function Definition: foo10(i1; (temp void) +0:27 '' ( in bool) +0:28 Function Definition: foo10(i1; ( temp void) 0:28 Function Parameters: -0:28 '' (in int) -0:31 Function Definition: foo11(vf3; (temp void) +0:28 '' ( in int) +0:31 Function Definition: foo11(vf3; ( temp void) 0:31 Function Parameters: -0:31 '' (in 3-component vector of float) -0:32 Function Definition: foo11(d1; (temp void) +0:31 '' ( in 3-component vector of float) +0:32 Function Definition: foo11(d1; ( temp void) 0:32 Function Parameters: -0:32 '' (in double) -0:33 Function Definition: foo11(vi3; (temp void) +0:32 '' ( in double) +0:33 Function Definition: foo11(vi3; ( temp void) 0:33 Function Parameters: -0:33 '' (in 3-component vector of int) -0:34 Function Definition: foo11(u1; (temp void) +0:33 '' ( in 3-component vector of int) +0:34 Function Definition: foo11(u1; ( temp void) 0:34 Function Parameters: -0:34 '' (in uint) -0:35 Function Definition: foo12(vf1; (temp void) +0:34 '' ( in uint) +0:35 Function Definition: foo12(vf1; ( temp void) 0:35 Function Parameters: -0:35 '' (in 1-component vector of float) -0:36 Function Definition: foo12(vd3; (temp void) +0:35 '' ( in 1-component vector of float) +0:36 Function Definition: foo12(vd3; ( temp void) 0:36 Function Parameters: -0:36 '' (in 3-component vector of double) -0:37 Function Definition: foo16(u1; (temp void) +0:36 '' ( in 3-component vector of double) +0:37 Function Definition: foo16(u1; ( temp void) 0:37 Function Parameters: -0:37 '' (in uint) -0:38 Function Definition: foo16(vu2; (temp void) +0:37 '' ( in uint) +0:38 Function Definition: foo16(vu2; ( temp void) 0:38 Function Parameters: -0:38 '' (in 2-component vector of uint) -0:41 Function Definition: foo13(vf3; (temp void) +0:38 '' ( in 2-component vector of uint) +0:41 Function Definition: foo13(vf3; ( temp void) 0:41 Function Parameters: -0:41 '' (in 3-component vector of float) -0:42 Function Definition: foo14(vi1; (temp void) +0:41 '' ( in 3-component vector of float) +0:42 Function Definition: foo14(vi1; ( temp void) 0:42 Function Parameters: -0:42 '' (in 1-component vector of int) -0:43 Function Definition: foo15(vb1; (temp void) +0:42 '' ( in 1-component vector of int) +0:43 Function Definition: foo15(vb1; ( temp void) 0:43 Function Parameters: -0:43 '' (in 1-component vector of bool) -0:46 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:43 '' ( in 1-component vector of bool) +0:46 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:46 Function Parameters: +0:46 'input' ( in 4-component vector of float) +0:? Sequence +0:53 Function Call: foo1(d1;b1; ( temp void) +0:53 'd' ( temp double) +0:53 'b' ( temp bool) +0:54 Function Call: foo1(d1;d1; ( temp void) +0:54 'd' ( temp double) +0:54 'd' ( temp double) +0:55 Function Call: foo1(d1;u1; ( temp void) +0:55 'd' ( temp double) +0:55 'u' ( temp uint) +0:56 Function Call: foo1(d1;i1; ( temp void) +0:56 'd' ( temp double) +0:56 'i' ( temp int) +0:57 Function Call: foo1(d1;f1; ( temp void) +0:57 'd' ( temp double) +0:57 'f' ( temp float) +0:59 Function Call: foo1(d1;b1; ( temp void) +0:59 Convert float to double ( temp double) +0:59 'f' ( temp float) +0:59 'b' ( temp bool) +0:60 Function Call: foo1(d1;d1; ( temp void) +0:60 Convert float to double ( temp double) +0:60 'f' ( temp float) +0:60 'd' ( temp double) +0:61 Function Call: foo1(d1;u1; ( temp void) +0:61 Convert float to double ( temp double) +0:61 'f' ( temp float) +0:61 'u' ( temp uint) +0:62 Function Call: foo1(d1;i1; ( temp void) +0:62 Convert float to double ( temp double) +0:62 'f' ( temp float) +0:62 'i' ( temp int) +0:63 Function Call: foo1(d1;f1; ( temp void) +0:63 Convert float to double ( temp double) +0:63 'f' ( temp float) +0:63 'f' ( temp float) +0:65 Function Call: foo1(d1;b1; ( temp void) +0:65 Convert uint to double ( temp double) +0:65 'u' ( temp uint) +0:65 'b' ( temp bool) +0:66 Function Call: foo1(d1;d1; ( temp void) +0:66 Convert uint to double ( temp double) +0:66 'u' ( temp uint) +0:66 'd' ( temp double) +0:67 Function Call: foo1(d1;u1; ( temp void) +0:67 Convert uint to double ( temp double) +0:67 'u' ( temp uint) +0:67 'u' ( temp uint) +0:68 Function Call: foo1(d1;i1; ( temp void) +0:68 Convert uint to double ( temp double) +0:68 'u' ( temp uint) +0:68 'i' ( temp int) +0:69 Function Call: foo1(d1;f1; ( temp void) +0:69 Convert uint to double ( temp double) +0:69 'u' ( temp uint) +0:69 'f' ( temp float) +0:71 Function Call: foo1(d1;b1; ( temp void) +0:71 Convert int to double ( temp double) +0:71 'i' ( temp int) +0:71 'b' ( temp bool) +0:72 Function Call: foo1(d1;d1; ( temp void) +0:72 Convert int to double ( temp double) +0:72 'i' ( temp int) +0:72 'd' ( temp double) +0:73 Function Call: foo1(d1;u1; ( temp void) +0:73 Convert int to double ( temp double) +0:73 'i' ( temp int) +0:73 'u' ( temp uint) +0:74 Function Call: foo1(d1;i1; ( temp void) +0:74 Convert int to double ( temp double) +0:74 'i' ( temp int) +0:74 'i' ( temp int) +0:75 Function Call: foo1(d1;f1; ( temp void) +0:75 Convert int to double ( temp double) +0:75 'i' ( temp int) +0:75 'f' ( temp float) +0:77 Function Call: foo2(i1;b1; ( temp void) +0:77 Convert uint to int ( temp int) +0:77 'u' ( temp uint) +0:77 'b' ( temp bool) +0:78 Function Call: foo2(i1;d1; ( temp void) +0:78 Convert uint to int ( temp int) +0:78 'u' ( temp uint) +0:78 'd' ( temp double) +0:79 Function Call: foo2(i1;u1; ( temp void) +0:79 Convert uint to int ( temp int) +0:79 'u' ( temp uint) +0:79 'u' ( temp uint) +0:80 Function Call: foo2(i1;i1; ( temp void) +0:80 Convert uint to int ( temp int) +0:80 'u' ( temp uint) +0:80 'i' ( temp int) +0:81 Function Call: foo2(i1;f1; ( temp void) +0:81 Convert uint to int ( temp int) +0:81 'u' ( temp uint) +0:81 'f' ( temp float) +0:83 Function Call: foo2(i1;b1; ( temp void) +0:83 'i' ( temp int) +0:83 'b' ( temp bool) +0:84 Function Call: foo2(i1;d1; ( temp void) +0:84 'i' ( temp int) +0:84 'd' ( temp double) +0:85 Function Call: foo2(i1;u1; ( temp void) +0:85 'i' ( temp int) +0:85 'u' ( temp uint) +0:86 Function Call: foo2(i1;i1; ( temp void) +0:86 'i' ( temp int) +0:86 'i' ( temp int) +0:87 Function Call: foo2(i1;f1; ( temp void) +0:87 'i' ( temp int) +0:87 'f' ( temp float) +0:89 Function Call: foo3(b1; ( temp void) +0:89 'b' ( temp bool) +0:90 Function Call: foo3(b1; ( temp void) +0:90 Convert double to bool ( temp bool) +0:90 'd' ( temp double) +0:91 Function Call: foo3(b1; ( temp void) +0:91 Convert uint to bool ( temp bool) +0:91 'u' ( temp uint) +0:92 Function Call: foo3(b1; ( temp void) +0:92 Convert int to bool ( temp bool) +0:92 'i' ( temp int) +0:93 Function Call: foo3(b1; ( temp void) +0:93 Convert float to bool ( temp bool) +0:93 'f' ( temp float) +0:95 Function Call: foo4(u1; ( temp void) +0:95 Convert bool to uint ( temp uint) +0:95 'b' ( temp bool) +0:96 Function Call: foo4(u1; ( temp void) +0:96 Convert double to uint ( temp uint) +0:96 'd' ( temp double) +0:97 Function Call: foo4(u1; ( temp void) +0:97 'u' ( temp uint) +0:98 Function Call: foo4(u1; ( temp void) +0:98 Convert int to uint ( temp uint) +0:98 'i' ( temp int) +0:99 Function Call: foo4(u1; ( temp void) +0:99 Convert float to uint ( temp uint) +0:99 'f' ( temp float) +0:101 Function Call: foo5(i1; ( temp void) +0:101 Convert bool to int ( temp int) +0:101 'b' ( temp bool) +0:102 Function Call: foo5(i1; ( temp void) +0:102 Convert double to int ( temp int) +0:102 'd' ( temp double) +0:103 Function Call: foo5(i1; ( temp void) +0:103 Convert uint to int ( temp int) +0:103 'u' ( temp uint) +0:104 Function Call: foo5(i1; ( temp void) +0:104 'i' ( temp int) +0:105 Function Call: foo5(i1; ( temp void) +0:105 Convert float to int ( temp int) +0:105 'f' ( temp float) +0:107 Function Call: foo6(f1; ( temp void) +0:107 Convert bool to float ( temp float) +0:107 'b' ( temp bool) +0:108 Function Call: foo6(f1; ( temp void) +0:108 Convert double to float ( temp float) +0:108 'd' ( temp double) +0:109 Function Call: foo6(f1; ( temp void) +0:109 Convert uint to float ( temp float) +0:109 'u' ( temp uint) +0:110 Function Call: foo6(f1; ( temp void) +0:110 Convert int to float ( temp float) +0:110 'i' ( temp int) +0:111 Function Call: foo6(f1; ( temp void) +0:111 'f' ( temp float) +0:113 Function Call: foo7(d1; ( temp void) +0:113 Convert bool to double ( temp double) +0:113 'b' ( temp bool) +0:114 Function Call: foo7(d1; ( temp void) +0:114 'd' ( temp double) +0:115 Function Call: foo7(d1; ( temp void) +0:115 Convert uint to double ( temp double) +0:115 'u' ( temp uint) +0:116 Function Call: foo7(d1; ( temp void) +0:116 Convert int to double ( temp double) +0:116 'i' ( temp int) +0:117 Function Call: foo7(d1; ( temp void) +0:117 Convert float to double ( temp double) +0:117 'f' ( temp float) +0:119 Function Call: foo8(f1; ( temp void) +0:119 Convert bool to float ( temp float) +0:119 'b' ( temp bool) +0:120 Function Call: foo8(f1; ( temp void) +0:120 Convert uint to float ( temp float) +0:120 'u' ( temp uint) +0:121 Function Call: foo8(f1; ( temp void) +0:121 Convert int to float ( temp float) +0:121 'i' ( temp int) +0:123 Function Call: foo9(i1; ( temp void) +0:123 Convert bool to int ( temp int) +0:123 'b' ( temp bool) +0:124 Function Call: foo9(u1; ( temp void) +0:124 Convert float to uint ( temp uint) +0:124 'f' ( temp float) +0:125 Function Call: foo9(u1; ( temp void) +0:125 Convert double to uint ( temp uint) +0:125 'd' ( temp double) +0:127 Function Call: foo10(i1; ( temp void) +0:127 Convert uint to int ( temp int) +0:127 'u' ( temp uint) +0:128 Function Call: foo10(i1; ( temp void) +0:128 Convert float to int ( temp int) +0:128 'f' ( temp float) +0:129 Function Call: foo10(i1; ( temp void) +0:129 Convert double to int ( temp int) +0:129 'd' ( temp double) +0:131 Function Call: foo11(u1; ( temp void) +0:131 Convert bool to uint ( temp uint) +0:131 'b' ( temp bool) +0:132 Function Call: foo11(d1; ( temp void) +0:132 Convert float to double ( temp double) +0:132 'f' ( temp float) +0:133 Function Call: foo12(vd3; ( temp void) +0:133 Convert float to double ( temp 3-component vector of double) +0:133 Construct vec3 ( temp 3-component vector of float) +0:133 'f' ( temp float) +0:134 Function Call: foo16(vu2; ( temp void) +0:? Convert int to uint ( temp 2-component vector of uint) +0:? Construct ivec2 ( temp 2-component vector of int) +0:134 'i' ( temp int) +0:134 'i' ( temp int) +0:136 Function Call: foo13(vf3; ( temp void) +0:136 Construct vec3 ( in 3-component vector of float) +0:136 'f' ( temp float) +0:137 Function Call: foo14(vi1; ( temp void) +0:137 Construct int ( in 1-component vector of int) +0:137 Construct ivec4 ( temp 4-component vector of int) +0:137 'i' ( temp int) +0:138 Function Call: foo15(vb1; ( temp void) +0:138 Construct bool ( in 1-component vector of bool) +0:138 'b' ( temp bool) +0:139 Function Call: foo15(vb1; ( temp void) +0:139 Construct bool ( in 1-component vector of bool) +0:139 Construct bvec3 ( temp 3-component vector of bool) +0:139 'b' ( temp bool) +0:141 Branch: Return with expression +0:141 'input' ( in 4-component vector of float) +0:46 Function Definition: PixelShaderFunction( ( temp void) 0:46 Function Parameters: -0:46 'input' (layout(location=0 ) in 4-component vector of float) 0:? Sequence -0:53 Function Call: foo1(d1;b1; (temp void) -0:53 'd' (temp double) -0:53 'b' (temp bool) -0:54 Function Call: foo1(d1;d1; (temp void) -0:54 'd' (temp double) -0:54 'd' (temp double) -0:55 Function Call: foo1(d1;u1; (temp void) -0:55 'd' (temp double) -0:55 'u' (temp uint) -0:56 Function Call: foo1(d1;i1; (temp void) -0:56 'd' (temp double) -0:56 'i' (temp int) -0:57 Function Call: foo1(d1;f1; (temp void) -0:57 'd' (temp double) -0:57 'f' (temp float) -0:59 Function Call: foo1(d1;b1; (temp void) -0:59 Convert float to double (temp double) -0:59 'f' (temp float) -0:59 'b' (temp bool) -0:60 Function Call: foo1(d1;d1; (temp void) -0:60 Convert float to double (temp double) -0:60 'f' (temp float) -0:60 'd' (temp double) -0:61 Function Call: foo1(d1;u1; (temp void) -0:61 Convert float to double (temp double) -0:61 'f' (temp float) -0:61 'u' (temp uint) -0:62 Function Call: foo1(d1;i1; (temp void) -0:62 Convert float to double (temp double) -0:62 'f' (temp float) -0:62 'i' (temp int) -0:63 Function Call: foo1(d1;f1; (temp void) -0:63 Convert float to double (temp double) -0:63 'f' (temp float) -0:63 'f' (temp float) -0:65 Function Call: foo1(d1;b1; (temp void) -0:65 Convert uint to double (temp double) -0:65 'u' (temp uint) -0:65 'b' (temp bool) -0:66 Function Call: foo1(d1;d1; (temp void) -0:66 Convert uint to double (temp double) -0:66 'u' (temp uint) -0:66 'd' (temp double) -0:67 Function Call: foo1(d1;u1; (temp void) -0:67 Convert uint to double (temp double) -0:67 'u' (temp uint) -0:67 'u' (temp uint) -0:68 Function Call: foo1(d1;i1; (temp void) -0:68 Convert uint to double (temp double) -0:68 'u' (temp uint) -0:68 'i' (temp int) -0:69 Function Call: foo1(d1;f1; (temp void) -0:69 Convert uint to double (temp double) -0:69 'u' (temp uint) -0:69 'f' (temp float) -0:71 Function Call: foo1(d1;b1; (temp void) -0:71 Convert int to double (temp double) -0:71 'i' (temp int) -0:71 'b' (temp bool) -0:72 Function Call: foo1(d1;d1; (temp void) -0:72 Convert int to double (temp double) -0:72 'i' (temp int) -0:72 'd' (temp double) -0:73 Function Call: foo1(d1;u1; (temp void) -0:73 Convert int to double (temp double) -0:73 'i' (temp int) -0:73 'u' (temp uint) -0:74 Function Call: foo1(d1;i1; (temp void) -0:74 Convert int to double (temp double) -0:74 'i' (temp int) -0:74 'i' (temp int) -0:75 Function Call: foo1(d1;f1; (temp void) -0:75 Convert int to double (temp double) -0:75 'i' (temp int) -0:75 'f' (temp float) -0:77 Function Call: foo2(i1;b1; (temp void) -0:77 Convert uint to int (temp int) -0:77 'u' (temp uint) -0:77 'b' (temp bool) -0:78 Function Call: foo2(i1;d1; (temp void) -0:78 Convert uint to int (temp int) -0:78 'u' (temp uint) -0:78 'd' (temp double) -0:79 Function Call: foo2(i1;u1; (temp void) -0:79 Convert uint to int (temp int) -0:79 'u' (temp uint) -0:79 'u' (temp uint) -0:80 Function Call: foo2(i1;i1; (temp void) -0:80 Convert uint to int (temp int) -0:80 'u' (temp uint) -0:80 'i' (temp int) -0:81 Function Call: foo2(i1;f1; (temp void) -0:81 Convert uint to int (temp int) -0:81 'u' (temp uint) -0:81 'f' (temp float) -0:83 Function Call: foo2(i1;b1; (temp void) -0:83 'i' (temp int) -0:83 'b' (temp bool) -0:84 Function Call: foo2(i1;d1; (temp void) -0:84 'i' (temp int) -0:84 'd' (temp double) -0:85 Function Call: foo2(i1;u1; (temp void) -0:85 'i' (temp int) -0:85 'u' (temp uint) -0:86 Function Call: foo2(i1;i1; (temp void) -0:86 'i' (temp int) -0:86 'i' (temp int) -0:87 Function Call: foo2(i1;f1; (temp void) -0:87 'i' (temp int) -0:87 'f' (temp float) -0:89 Function Call: foo3(b1; (temp void) -0:89 'b' (temp bool) -0:90 Function Call: foo3(b1; (temp void) -0:90 Convert double to bool (temp bool) -0:90 'd' (temp double) -0:91 Function Call: foo3(b1; (temp void) -0:91 Convert uint to bool (temp bool) -0:91 'u' (temp uint) -0:92 Function Call: foo3(b1; (temp void) -0:92 Convert int to bool (temp bool) -0:92 'i' (temp int) -0:93 Function Call: foo3(b1; (temp void) -0:93 Convert float to bool (temp bool) -0:93 'f' (temp float) -0:95 Function Call: foo4(u1; (temp void) -0:95 Convert bool to uint (temp uint) -0:95 'b' (temp bool) -0:96 Function Call: foo4(u1; (temp void) -0:96 Convert double to uint (temp uint) -0:96 'd' (temp double) -0:97 Function Call: foo4(u1; (temp void) -0:97 'u' (temp uint) -0:98 Function Call: foo4(u1; (temp void) -0:98 Convert int to uint (temp uint) -0:98 'i' (temp int) -0:99 Function Call: foo4(u1; (temp void) -0:99 Convert float to uint (temp uint) -0:99 'f' (temp float) -0:101 Function Call: foo5(i1; (temp void) -0:101 Convert bool to int (temp int) -0:101 'b' (temp bool) -0:102 Function Call: foo5(i1; (temp void) -0:102 Convert double to int (temp int) -0:102 'd' (temp double) -0:103 Function Call: foo5(i1; (temp void) -0:103 Convert uint to int (temp int) -0:103 'u' (temp uint) -0:104 Function Call: foo5(i1; (temp void) -0:104 'i' (temp int) -0:105 Function Call: foo5(i1; (temp void) -0:105 Convert float to int (temp int) -0:105 'f' (temp float) -0:107 Function Call: foo6(f1; (temp void) -0:107 Convert bool to float (temp float) -0:107 'b' (temp bool) -0:108 Function Call: foo6(f1; (temp void) -0:108 Convert double to float (temp float) -0:108 'd' (temp double) -0:109 Function Call: foo6(f1; (temp void) -0:109 Convert uint to float (temp float) -0:109 'u' (temp uint) -0:110 Function Call: foo6(f1; (temp void) -0:110 Convert int to float (temp float) -0:110 'i' (temp int) -0:111 Function Call: foo6(f1; (temp void) -0:111 'f' (temp float) -0:113 Function Call: foo7(d1; (temp void) -0:113 Convert bool to double (temp double) -0:113 'b' (temp bool) -0:114 Function Call: foo7(d1; (temp void) -0:114 'd' (temp double) -0:115 Function Call: foo7(d1; (temp void) -0:115 Convert uint to double (temp double) -0:115 'u' (temp uint) -0:116 Function Call: foo7(d1; (temp void) -0:116 Convert int to double (temp double) -0:116 'i' (temp int) -0:117 Function Call: foo7(d1; (temp void) -0:117 Convert float to double (temp double) -0:117 'f' (temp float) -0:119 Function Call: foo8(f1; (temp void) -0:119 Convert bool to float (temp float) -0:119 'b' (temp bool) -0:120 Function Call: foo8(f1; (temp void) -0:120 Convert uint to float (temp float) -0:120 'u' (temp uint) -0:121 Function Call: foo8(f1; (temp void) -0:121 Convert int to float (temp float) -0:121 'i' (temp int) -0:123 Function Call: foo9(i1; (temp void) -0:123 Convert bool to int (temp int) -0:123 'b' (temp bool) -0:124 Function Call: foo9(u1; (temp void) -0:124 Convert float to uint (temp uint) -0:124 'f' (temp float) -0:125 Function Call: foo9(u1; (temp void) -0:125 Convert double to uint (temp uint) -0:125 'd' (temp double) -0:127 Function Call: foo10(i1; (temp void) -0:127 Convert uint to int (temp int) -0:127 'u' (temp uint) -0:128 Function Call: foo10(i1; (temp void) -0:128 Convert float to int (temp int) -0:128 'f' (temp float) -0:129 Function Call: foo10(i1; (temp void) -0:129 Convert double to int (temp int) -0:129 'd' (temp double) -0:131 Function Call: foo11(u1; (temp void) -0:131 Convert bool to uint (temp uint) -0:131 'b' (temp bool) -0:132 Function Call: foo11(d1; (temp void) -0:132 Convert float to double (temp double) -0:132 'f' (temp float) -0:133 Function Call: foo12(vd3; (temp void) -0:133 Convert float to double (temp 3-component vector of double) -0:133 Construct vec3 (temp 3-component vector of float) -0:133 'f' (temp float) -0:134 Function Call: foo16(vu2; (temp void) -0:? Convert int to uint (temp 2-component vector of uint) -0:? Construct ivec2 (temp 2-component vector of int) -0:134 'i' (temp int) -0:134 'i' (temp int) -0:136 Function Call: foo13(vf3; (temp void) -0:136 Construct vec3 (in 3-component vector of float) -0:136 'f' (temp float) -0:137 Function Call: foo14(vi1; (temp void) -0:137 Construct int (in 1-component vector of int) -0:137 Construct ivec4 (temp 4-component vector of int) -0:137 'i' (temp int) -0:138 Function Call: foo15(vb1; (temp void) -0:138 Construct bool (in 1-component vector of bool) -0:138 'b' (temp bool) -0:139 Function Call: foo15(vb1; (temp void) -0:139 Construct bool (in 1-component vector of bool) -0:139 Construct bvec3 (temp 3-component vector of bool) -0:139 'b' (temp bool) -0:141 Sequence -0:141 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:141 'input' (layout(location=0 ) in 4-component vector of float) -0:141 Branch: Return +0:46 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:46 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:46 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 509 +// Id's are bound by 520 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 504 506 + EntryPoint Fragment 4 "PixelShaderFunction" 513 516 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 13 "foo1(d1;b1;" @@ -804,22 +818,22 @@ gl_FragCoord origin is upper left Name 143 "" Name 147 "foo15(vb1;" Name 146 "" - Name 149 "d" - Name 150 "b" - Name 151 "param" - Name 153 "param" - Name 156 "param" - Name 158 "param" - Name 161 "u" + Name 153 "@PixelShaderFunction(vf4;" + Name 152 "input" + Name 155 "d" + Name 156 "b" + Name 157 "param" + Name 159 "param" Name 162 "param" Name 164 "param" - Name 167 "i" + Name 167 "u" Name 168 "param" Name 170 "param" - Name 173 "f" + Name 173 "i" Name 174 "param" Name 176 "param" - Name 181 "param" + Name 179 "f" + Name 180 "param" Name 182 "param" Name 187 "param" Name 188 "param" @@ -859,62 +873,66 @@ gl_FragCoord origin is upper left Name 290 "param" Name 295 "param" Name 296 "param" - Name 299 "param" Name 301 "param" - Name 304 "param" - Name 306 "param" - Name 309 "param" - Name 311 "param" - Name 314 "param" - Name 316 "param" - Name 319 "param" - Name 321 "param" - Name 324 "param" + Name 302 "param" + Name 305 "param" + Name 307 "param" + Name 310 "param" + Name 312 "param" + Name 315 "param" + Name 317 "param" + Name 320 "param" + Name 322 "param" + Name 325 "param" + Name 327 "param" Name 330 "param" - Name 335 "param" - Name 339 "param" - Name 344 "param" - Name 349 "param" - Name 353 "param" + Name 336 "param" + Name 341 "param" + Name 345 "param" + Name 350 "param" Name 355 "param" - Name 360 "param" - Name 364 "param" + Name 359 "param" + Name 361 "param" + Name 366 "param" Name 370 "param" - Name 374 "param" - Name 378 "param" + Name 376 "param" Name 380 "param" - Name 385 "param" - Name 390 "param" - Name 394 "param" - Name 398 "param" - Name 402 "param" + Name 384 "param" + Name 386 "param" + Name 391 "param" + Name 396 "param" + Name 400 "param" Name 404 "param" + Name 408 "param" Name 410 "param" - Name 412 "param" - Name 417 "param" - Name 421 "param" - Name 425 "param" - Name 429 "param" - Name 433 "param" - Name 437 "param" - Name 441 "param" - Name 445 "param" - Name 449 "param" - Name 453 "param" - Name 457 "param" - Name 461 "param" - Name 465 "param" - Name 469 "param" - Name 474 "param" - Name 481 "param" - Name 485 "param" + Name 416 "param" + Name 418 "param" + Name 423 "param" + Name 427 "param" + Name 431 "param" + Name 435 "param" + Name 439 "param" + Name 443 "param" + Name 447 "param" + Name 451 "param" + Name 455 "param" + Name 459 "param" + Name 463 "param" + Name 467 "param" + Name 471 "param" + Name 475 "param" + Name 480 "param" + Name 487 "param" Name 491 "param" - Name 494 "param" + Name 497 "param" Name 500 "param" - Name 504 "@entryPointOutput" - Name 506 "input" - Decorate 504(@entryPointOutput) Location 0 - Decorate 506(input) Location 0 + Name 506 "param" + Name 511 "input" + Name 513 "input" + Name 516 "@entryPointOutput" + Name 517 "param" + Decorate 513(input) Location 0 + Decorate 516(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 64 @@ -954,470 +972,34 @@ gl_FragCoord origin is upper left 134: TypeVector 15(int) 2 135: TypePointer Function 134(ivec2) 136: TypeFunction 2 135(ptr) - 328: 6(float) Constant 0 0 - 333: 15(int) Constant 0 - 342: 29(float) Constant 0 - 347: 15(int) Constant 1 - 367: 22(int) Constant 0 - 368: 22(int) Constant 1 - 388: 29(float) Constant 1065353216 - 408: 6(float) Constant 0 1072693248 - 478: TypeVector 22(int) 2 - 488: TypeVector 22(int) 4 - 497: TypeVector 8(bool) 3 - 502: TypeVector 29(float) 4 - 503: TypePointer Output 502(fvec4) -504(@entryPointOutput): 503(ptr) Variable Output - 505: TypePointer Input 502(fvec4) - 506(input): 505(ptr) Variable Input + 149: TypeVector 29(float) 4 + 150: TypePointer Function 149(fvec4) + 151: TypeFunction 149(fvec4) 150(ptr) + 334: 6(float) Constant 0 0 + 339: 15(int) Constant 0 + 348: 29(float) Constant 0 + 353: 15(int) Constant 1 + 373: 22(int) Constant 0 + 374: 22(int) Constant 1 + 394: 29(float) Constant 1065353216 + 414: 6(float) Constant 0 1072693248 + 484: TypeVector 22(int) 2 + 494: TypeVector 22(int) 4 + 503: TypeVector 8(bool) 3 + 512: TypePointer Input 149(fvec4) + 513(input): 512(ptr) Variable Input + 515: TypePointer Output 149(fvec4) +516(@entryPointOutput): 515(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 149(d): 7(ptr) Variable Function - 150(b): 9(ptr) Variable Function - 151(param): 7(ptr) Variable Function - 153(param): 9(ptr) Variable Function - 156(param): 7(ptr) Variable Function - 158(param): 7(ptr) Variable Function - 161(u): 16(ptr) Variable Function - 162(param): 7(ptr) Variable Function - 164(param): 16(ptr) Variable Function - 167(i): 23(ptr) Variable Function - 168(param): 7(ptr) Variable Function - 170(param): 23(ptr) Variable Function - 173(f): 30(ptr) Variable Function - 174(param): 7(ptr) Variable Function - 176(param): 30(ptr) Variable Function - 181(param): 7(ptr) Variable Function - 182(param): 9(ptr) Variable Function - 187(param): 7(ptr) Variable Function - 188(param): 7(ptr) Variable Function - 193(param): 7(ptr) Variable Function - 194(param): 16(ptr) Variable Function - 199(param): 7(ptr) Variable Function - 200(param): 23(ptr) Variable Function - 205(param): 7(ptr) Variable Function - 206(param): 30(ptr) Variable Function - 211(param): 7(ptr) Variable Function - 212(param): 9(ptr) Variable Function - 217(param): 7(ptr) Variable Function - 218(param): 7(ptr) Variable Function - 223(param): 7(ptr) Variable Function - 224(param): 16(ptr) Variable Function - 229(param): 7(ptr) Variable Function - 230(param): 23(ptr) Variable Function - 235(param): 7(ptr) Variable Function - 236(param): 30(ptr) Variable Function - 241(param): 7(ptr) Variable Function - 242(param): 9(ptr) Variable Function - 247(param): 7(ptr) Variable Function - 248(param): 7(ptr) Variable Function - 253(param): 7(ptr) Variable Function - 254(param): 16(ptr) Variable Function - 259(param): 7(ptr) Variable Function - 260(param): 23(ptr) Variable Function - 265(param): 7(ptr) Variable Function - 266(param): 30(ptr) Variable Function - 271(param): 23(ptr) Variable Function - 272(param): 9(ptr) Variable Function - 277(param): 23(ptr) Variable Function - 278(param): 7(ptr) Variable Function - 283(param): 23(ptr) Variable Function - 284(param): 16(ptr) Variable Function - 289(param): 23(ptr) Variable Function - 290(param): 23(ptr) Variable Function - 295(param): 23(ptr) Variable Function - 296(param): 30(ptr) Variable Function - 299(param): 23(ptr) Variable Function - 301(param): 9(ptr) Variable Function - 304(param): 23(ptr) Variable Function - 306(param): 7(ptr) Variable Function - 309(param): 23(ptr) Variable Function - 311(param): 16(ptr) Variable Function - 314(param): 23(ptr) Variable Function - 316(param): 23(ptr) Variable Function - 319(param): 23(ptr) Variable Function - 321(param): 30(ptr) Variable Function - 324(param): 9(ptr) Variable Function - 330(param): 9(ptr) Variable Function - 335(param): 9(ptr) Variable Function - 339(param): 9(ptr) Variable Function - 344(param): 9(ptr) Variable Function - 349(param): 16(ptr) Variable Function - 353(param): 16(ptr) Variable Function - 355(param): 16(ptr) Variable Function - 360(param): 16(ptr) Variable Function - 364(param): 16(ptr) Variable Function - 370(param): 23(ptr) Variable Function - 374(param): 23(ptr) Variable Function - 378(param): 23(ptr) Variable Function - 380(param): 23(ptr) Variable Function - 385(param): 23(ptr) Variable Function - 390(param): 30(ptr) Variable Function - 394(param): 30(ptr) Variable Function - 398(param): 30(ptr) Variable Function - 402(param): 30(ptr) Variable Function - 404(param): 30(ptr) Variable Function - 410(param): 7(ptr) Variable Function - 412(param): 7(ptr) Variable Function - 417(param): 7(ptr) Variable Function - 421(param): 7(ptr) Variable Function - 425(param): 7(ptr) Variable Function - 429(param): 30(ptr) Variable Function - 433(param): 30(ptr) Variable Function - 437(param): 30(ptr) Variable Function - 441(param): 23(ptr) Variable Function - 445(param): 16(ptr) Variable Function - 449(param): 16(ptr) Variable Function - 453(param): 23(ptr) Variable Function - 457(param): 23(ptr) Variable Function - 461(param): 23(ptr) Variable Function - 465(param): 16(ptr) Variable Function - 469(param): 7(ptr) Variable Function - 474(param): 126(ptr) Variable Function - 481(param): 135(ptr) Variable Function - 485(param): 105(ptr) Variable Function - 491(param): 23(ptr) Variable Function - 494(param): 9(ptr) Variable Function - 500(param): 9(ptr) Variable Function - 152: 6(float) Load 149(d) - Store 151(param) 152 - 154: 8(bool) Load 150(b) - Store 153(param) 154 - 155: 2 FunctionCall 13(foo1(d1;b1;) 151(param) 153(param) - 157: 6(float) Load 149(d) - Store 156(param) 157 - 159: 6(float) Load 149(d) - Store 158(param) 159 - 160: 2 FunctionCall 39(foo1(d1;d1;) 156(param) 158(param) - 163: 6(float) Load 149(d) - Store 162(param) 163 - 165: 15(int) Load 161(u) - Store 164(param) 165 - 166: 2 FunctionCall 20(foo1(d1;u1;) 162(param) 164(param) - 169: 6(float) Load 149(d) - Store 168(param) 169 - 171: 22(int) Load 167(i) - Store 170(param) 171 - 172: 2 FunctionCall 27(foo1(d1;i1;) 168(param) 170(param) - 175: 6(float) Load 149(d) - Store 174(param) 175 - 177: 29(float) Load 173(f) - Store 176(param) 177 - 178: 2 FunctionCall 34(foo1(d1;f1;) 174(param) 176(param) - 179: 29(float) Load 173(f) - 180: 6(float) FConvert 179 - Store 181(param) 180 - 183: 8(bool) Load 150(b) - Store 182(param) 183 - 184: 2 FunctionCall 13(foo1(d1;b1;) 181(param) 182(param) - 185: 29(float) Load 173(f) - 186: 6(float) FConvert 185 - Store 187(param) 186 - 189: 6(float) Load 149(d) - Store 188(param) 189 - 190: 2 FunctionCall 39(foo1(d1;d1;) 187(param) 188(param) - 191: 29(float) Load 173(f) - 192: 6(float) FConvert 191 - Store 193(param) 192 - 195: 15(int) Load 161(u) - Store 194(param) 195 - 196: 2 FunctionCall 20(foo1(d1;u1;) 193(param) 194(param) - 197: 29(float) Load 173(f) - 198: 6(float) FConvert 197 - Store 199(param) 198 - 201: 22(int) Load 167(i) - Store 200(param) 201 - 202: 2 FunctionCall 27(foo1(d1;i1;) 199(param) 200(param) - 203: 29(float) Load 173(f) - 204: 6(float) FConvert 203 - Store 205(param) 204 - 207: 29(float) Load 173(f) - Store 206(param) 207 - 208: 2 FunctionCall 34(foo1(d1;f1;) 205(param) 206(param) - 209: 15(int) Load 161(u) - 210: 6(float) ConvertUToF 209 - Store 211(param) 210 - 213: 8(bool) Load 150(b) - Store 212(param) 213 - 214: 2 FunctionCall 13(foo1(d1;b1;) 211(param) 212(param) - 215: 15(int) Load 161(u) - 216: 6(float) ConvertUToF 215 - Store 217(param) 216 - 219: 6(float) Load 149(d) - Store 218(param) 219 - 220: 2 FunctionCall 39(foo1(d1;d1;) 217(param) 218(param) - 221: 15(int) Load 161(u) - 222: 6(float) ConvertUToF 221 - Store 223(param) 222 - 225: 15(int) Load 161(u) - Store 224(param) 225 - 226: 2 FunctionCall 20(foo1(d1;u1;) 223(param) 224(param) - 227: 15(int) Load 161(u) - 228: 6(float) ConvertUToF 227 - Store 229(param) 228 - 231: 22(int) Load 167(i) - Store 230(param) 231 - 232: 2 FunctionCall 27(foo1(d1;i1;) 229(param) 230(param) - 233: 15(int) Load 161(u) - 234: 6(float) ConvertUToF 233 - Store 235(param) 234 - 237: 29(float) Load 173(f) - Store 236(param) 237 - 238: 2 FunctionCall 34(foo1(d1;f1;) 235(param) 236(param) - 239: 22(int) Load 167(i) - 240: 6(float) ConvertSToF 239 - Store 241(param) 240 - 243: 8(bool) Load 150(b) - Store 242(param) 243 - 244: 2 FunctionCall 13(foo1(d1;b1;) 241(param) 242(param) - 245: 22(int) Load 167(i) - 246: 6(float) ConvertSToF 245 - Store 247(param) 246 - 249: 6(float) Load 149(d) - Store 248(param) 249 - 250: 2 FunctionCall 39(foo1(d1;d1;) 247(param) 248(param) - 251: 22(int) Load 167(i) - 252: 6(float) ConvertSToF 251 - Store 253(param) 252 - 255: 15(int) Load 161(u) - Store 254(param) 255 - 256: 2 FunctionCall 20(foo1(d1;u1;) 253(param) 254(param) - 257: 22(int) Load 167(i) - 258: 6(float) ConvertSToF 257 - Store 259(param) 258 - 261: 22(int) Load 167(i) - Store 260(param) 261 - 262: 2 FunctionCall 27(foo1(d1;i1;) 259(param) 260(param) - 263: 22(int) Load 167(i) - 264: 6(float) ConvertSToF 263 - Store 265(param) 264 - 267: 29(float) Load 173(f) - Store 266(param) 267 - 268: 2 FunctionCall 34(foo1(d1;f1;) 265(param) 266(param) - 269: 15(int) Load 161(u) - 270: 22(int) Bitcast 269 - Store 271(param) 270 - 273: 8(bool) Load 150(b) - Store 272(param) 273 - 274: 2 FunctionCall 44(foo2(i1;b1;) 271(param) 272(param) - 275: 15(int) Load 161(u) - 276: 22(int) Bitcast 275 - Store 277(param) 276 - 279: 6(float) Load 149(d) - Store 278(param) 279 - 280: 2 FunctionCall 64(foo2(i1;d1;) 277(param) 278(param) - 281: 15(int) Load 161(u) - 282: 22(int) Bitcast 281 - Store 283(param) 282 - 285: 15(int) Load 161(u) - Store 284(param) 285 - 286: 2 FunctionCall 49(foo2(i1;u1;) 283(param) 284(param) - 287: 15(int) Load 161(u) - 288: 22(int) Bitcast 287 - Store 289(param) 288 - 291: 22(int) Load 167(i) - Store 290(param) 291 - 292: 2 FunctionCall 54(foo2(i1;i1;) 289(param) 290(param) - 293: 15(int) Load 161(u) - 294: 22(int) Bitcast 293 - Store 295(param) 294 - 297: 29(float) Load 173(f) - Store 296(param) 297 - 298: 2 FunctionCall 59(foo2(i1;f1;) 295(param) 296(param) - 300: 22(int) Load 167(i) - Store 299(param) 300 - 302: 8(bool) Load 150(b) - Store 301(param) 302 - 303: 2 FunctionCall 44(foo2(i1;b1;) 299(param) 301(param) - 305: 22(int) Load 167(i) - Store 304(param) 305 - 307: 6(float) Load 149(d) - Store 306(param) 307 - 308: 2 FunctionCall 64(foo2(i1;d1;) 304(param) 306(param) - 310: 22(int) Load 167(i) - Store 309(param) 310 - 312: 15(int) Load 161(u) - Store 311(param) 312 - 313: 2 FunctionCall 49(foo2(i1;u1;) 309(param) 311(param) - 315: 22(int) Load 167(i) - Store 314(param) 315 - 317: 22(int) Load 167(i) - Store 316(param) 317 - 318: 2 FunctionCall 54(foo2(i1;i1;) 314(param) 316(param) - 320: 22(int) Load 167(i) - Store 319(param) 320 - 322: 29(float) Load 173(f) - Store 321(param) 322 - 323: 2 FunctionCall 59(foo2(i1;f1;) 319(param) 321(param) - 325: 8(bool) Load 150(b) - Store 324(param) 325 - 326: 2 FunctionCall 68(foo3(b1;) 324(param) - 327: 6(float) Load 149(d) - 329: 8(bool) FOrdNotEqual 327 328 - Store 330(param) 329 - 331: 2 FunctionCall 68(foo3(b1;) 330(param) - 332: 15(int) Load 161(u) - 334: 8(bool) INotEqual 332 333 - Store 335(param) 334 - 336: 2 FunctionCall 68(foo3(b1;) 335(param) - 337: 22(int) Load 167(i) - 338: 8(bool) INotEqual 337 333 - Store 339(param) 338 - 340: 2 FunctionCall 68(foo3(b1;) 339(param) - 341: 29(float) Load 173(f) - 343: 8(bool) FOrdNotEqual 341 342 - Store 344(param) 343 - 345: 2 FunctionCall 68(foo3(b1;) 344(param) - 346: 8(bool) Load 150(b) - 348: 15(int) Select 346 347 333 - Store 349(param) 348 - 350: 2 FunctionCall 72(foo4(u1;) 349(param) - 351: 6(float) Load 149(d) - 352: 15(int) ConvertFToU 351 - Store 353(param) 352 - 354: 2 FunctionCall 72(foo4(u1;) 353(param) - 356: 15(int) Load 161(u) - Store 355(param) 356 - 357: 2 FunctionCall 72(foo4(u1;) 355(param) - 358: 22(int) Load 167(i) - 359: 15(int) Bitcast 358 - Store 360(param) 359 - 361: 2 FunctionCall 72(foo4(u1;) 360(param) - 362: 29(float) Load 173(f) - 363: 15(int) ConvertFToU 362 - Store 364(param) 363 - 365: 2 FunctionCall 72(foo4(u1;) 364(param) - 366: 8(bool) Load 150(b) - 369: 22(int) Select 366 368 367 - Store 370(param) 369 - 371: 2 FunctionCall 76(foo5(i1;) 370(param) - 372: 6(float) Load 149(d) - 373: 22(int) ConvertFToS 372 - Store 374(param) 373 - 375: 2 FunctionCall 76(foo5(i1;) 374(param) - 376: 15(int) Load 161(u) - 377: 22(int) Bitcast 376 - Store 378(param) 377 - 379: 2 FunctionCall 76(foo5(i1;) 378(param) - 381: 22(int) Load 167(i) - Store 380(param) 381 - 382: 2 FunctionCall 76(foo5(i1;) 380(param) - 383: 29(float) Load 173(f) - 384: 22(int) ConvertFToS 383 - Store 385(param) 384 - 386: 2 FunctionCall 76(foo5(i1;) 385(param) - 387: 8(bool) Load 150(b) - 389: 29(float) Select 387 388 342 - Store 390(param) 389 - 391: 2 FunctionCall 80(foo6(f1;) 390(param) - 392: 6(float) Load 149(d) - 393: 29(float) FConvert 392 - Store 394(param) 393 - 395: 2 FunctionCall 80(foo6(f1;) 394(param) - 396: 15(int) Load 161(u) - 397: 29(float) ConvertUToF 396 - Store 398(param) 397 - 399: 2 FunctionCall 80(foo6(f1;) 398(param) - 400: 22(int) Load 167(i) - 401: 29(float) ConvertSToF 400 - Store 402(param) 401 - 403: 2 FunctionCall 80(foo6(f1;) 402(param) - 405: 29(float) Load 173(f) - Store 404(param) 405 - 406: 2 FunctionCall 80(foo6(f1;) 404(param) - 407: 8(bool) Load 150(b) - 409: 6(float) Select 407 408 328 - Store 410(param) 409 - 411: 2 FunctionCall 84(foo7(d1;) 410(param) - 413: 6(float) Load 149(d) - Store 412(param) 413 - 414: 2 FunctionCall 84(foo7(d1;) 412(param) - 415: 15(int) Load 161(u) - 416: 6(float) ConvertUToF 415 - Store 417(param) 416 - 418: 2 FunctionCall 84(foo7(d1;) 417(param) - 419: 22(int) Load 167(i) - 420: 6(float) ConvertSToF 419 - Store 421(param) 420 - 422: 2 FunctionCall 84(foo7(d1;) 421(param) - 423: 29(float) Load 173(f) - 424: 6(float) FConvert 423 - Store 425(param) 424 - 426: 2 FunctionCall 84(foo7(d1;) 425(param) - 427: 8(bool) Load 150(b) - 428: 29(float) Select 427 388 342 - Store 429(param) 428 - 430: 2 FunctionCall 87(foo8(f1;) 429(param) - 431: 15(int) Load 161(u) - 432: 29(float) ConvertUToF 431 - Store 433(param) 432 - 434: 2 FunctionCall 87(foo8(f1;) 433(param) - 435: 22(int) Load 167(i) - 436: 29(float) ConvertSToF 435 - Store 437(param) 436 - 438: 2 FunctionCall 87(foo8(f1;) 437(param) - 439: 8(bool) Load 150(b) - 440: 22(int) Select 439 368 367 - Store 441(param) 440 - 442: 2 FunctionCall 93(foo9(i1;) 441(param) - 443: 29(float) Load 173(f) - 444: 15(int) ConvertFToU 443 - Store 445(param) 444 - 446: 2 FunctionCall 96(foo9(u1;) 445(param) - 447: 6(float) Load 149(d) - 448: 15(int) ConvertFToU 447 - Store 449(param) 448 - 450: 2 FunctionCall 96(foo9(u1;) 449(param) - 451: 15(int) Load 161(u) - 452: 22(int) Bitcast 451 - Store 453(param) 452 - 454: 2 FunctionCall 102(foo10(i1;) 453(param) - 455: 29(float) Load 173(f) - 456: 22(int) ConvertFToS 455 - Store 457(param) 456 - 458: 2 FunctionCall 102(foo10(i1;) 457(param) - 459: 6(float) Load 149(d) - 460: 22(int) ConvertFToS 459 - Store 461(param) 460 - 462: 2 FunctionCall 102(foo10(i1;) 461(param) - 463: 8(bool) Load 150(b) - 464: 15(int) Select 463 347 333 - Store 465(param) 464 - 466: 2 FunctionCall 120(foo11(u1;) 465(param) - 467: 29(float) Load 173(f) - 468: 6(float) FConvert 467 - Store 469(param) 468 - 470: 2 FunctionCall 111(foo11(d1;) 469(param) - 471: 29(float) Load 173(f) - 472: 104(fvec3) CompositeConstruct 471 471 471 - 473: 125(fvec3) FConvert 472 - Store 474(param) 473 - 475: 2 FunctionCall 129(foo12(vd3;) 474(param) - 476: 22(int) Load 167(i) - 477: 22(int) Load 167(i) - 479: 478(ivec2) CompositeConstruct 476 477 - 480: 134(ivec2) Bitcast 479 - Store 481(param) 480 - 482: 2 FunctionCall 138(foo16(vu2;) 481(param) - 483: 29(float) Load 173(f) - 484: 104(fvec3) CompositeConstruct 483 483 483 - Store 485(param) 484 - 486: 2 FunctionCall 141(foo13(vf3;) 485(param) - 487: 22(int) Load 167(i) - 489: 488(ivec4) CompositeConstruct 487 487 487 487 - 490: 22(int) CompositeExtract 489 0 - Store 491(param) 490 - 492: 2 FunctionCall 144(foo14(vi1;) 491(param) - 493: 8(bool) Load 150(b) - Store 494(param) 493 - 495: 2 FunctionCall 147(foo15(vb1;) 494(param) - 496: 8(bool) Load 150(b) - 498: 497(bvec3) CompositeConstruct 496 496 496 - 499: 8(bool) CompositeExtract 498 0 - Store 500(param) 499 - 501: 2 FunctionCall 147(foo15(vb1;) 500(param) - 507: 502(fvec4) Load 506(input) - Store 504(@entryPointOutput) 507 + 511(input): 150(ptr) Variable Function + 517(param): 150(ptr) Variable Function + 514: 149(fvec4) Load 513(input) + Store 511(input) 514 + 518: 149(fvec4) Load 511(input) + Store 517(param) 518 + 519: 149(fvec4) FunctionCall 153(@PixelShaderFunction(vf4;) 517(param) + Store 516(@entryPointOutput) 519 Return FunctionEnd 13(foo1(d1;b1;): 2 Function None 10 @@ -1590,3 +1172,453 @@ gl_FragCoord origin is upper left 148: Label Return FunctionEnd +153(@PixelShaderFunction(vf4;): 149(fvec4) Function None 151 + 152(input): 150(ptr) FunctionParameter + 154: Label + 155(d): 7(ptr) Variable Function + 156(b): 9(ptr) Variable Function + 157(param): 7(ptr) Variable Function + 159(param): 9(ptr) Variable Function + 162(param): 7(ptr) Variable Function + 164(param): 7(ptr) Variable Function + 167(u): 16(ptr) Variable Function + 168(param): 7(ptr) Variable Function + 170(param): 16(ptr) Variable Function + 173(i): 23(ptr) Variable Function + 174(param): 7(ptr) Variable Function + 176(param): 23(ptr) Variable Function + 179(f): 30(ptr) Variable Function + 180(param): 7(ptr) Variable Function + 182(param): 30(ptr) Variable Function + 187(param): 7(ptr) Variable Function + 188(param): 9(ptr) Variable Function + 193(param): 7(ptr) Variable Function + 194(param): 7(ptr) Variable Function + 199(param): 7(ptr) Variable Function + 200(param): 16(ptr) Variable Function + 205(param): 7(ptr) Variable Function + 206(param): 23(ptr) Variable Function + 211(param): 7(ptr) Variable Function + 212(param): 30(ptr) Variable Function + 217(param): 7(ptr) Variable Function + 218(param): 9(ptr) Variable Function + 223(param): 7(ptr) Variable Function + 224(param): 7(ptr) Variable Function + 229(param): 7(ptr) Variable Function + 230(param): 16(ptr) Variable Function + 235(param): 7(ptr) Variable Function + 236(param): 23(ptr) Variable Function + 241(param): 7(ptr) Variable Function + 242(param): 30(ptr) Variable Function + 247(param): 7(ptr) Variable Function + 248(param): 9(ptr) Variable Function + 253(param): 7(ptr) Variable Function + 254(param): 7(ptr) Variable Function + 259(param): 7(ptr) Variable Function + 260(param): 16(ptr) Variable Function + 265(param): 7(ptr) Variable Function + 266(param): 23(ptr) Variable Function + 271(param): 7(ptr) Variable Function + 272(param): 30(ptr) Variable Function + 277(param): 23(ptr) Variable Function + 278(param): 9(ptr) Variable Function + 283(param): 23(ptr) Variable Function + 284(param): 7(ptr) Variable Function + 289(param): 23(ptr) Variable Function + 290(param): 16(ptr) Variable Function + 295(param): 23(ptr) Variable Function + 296(param): 23(ptr) Variable Function + 301(param): 23(ptr) Variable Function + 302(param): 30(ptr) Variable Function + 305(param): 23(ptr) Variable Function + 307(param): 9(ptr) Variable Function + 310(param): 23(ptr) Variable Function + 312(param): 7(ptr) Variable Function + 315(param): 23(ptr) Variable Function + 317(param): 16(ptr) Variable Function + 320(param): 23(ptr) Variable Function + 322(param): 23(ptr) Variable Function + 325(param): 23(ptr) Variable Function + 327(param): 30(ptr) Variable Function + 330(param): 9(ptr) Variable Function + 336(param): 9(ptr) Variable Function + 341(param): 9(ptr) Variable Function + 345(param): 9(ptr) Variable Function + 350(param): 9(ptr) Variable Function + 355(param): 16(ptr) Variable Function + 359(param): 16(ptr) Variable Function + 361(param): 16(ptr) Variable Function + 366(param): 16(ptr) Variable Function + 370(param): 16(ptr) Variable Function + 376(param): 23(ptr) Variable Function + 380(param): 23(ptr) Variable Function + 384(param): 23(ptr) Variable Function + 386(param): 23(ptr) Variable Function + 391(param): 23(ptr) Variable Function + 396(param): 30(ptr) Variable Function + 400(param): 30(ptr) Variable Function + 404(param): 30(ptr) Variable Function + 408(param): 30(ptr) Variable Function + 410(param): 30(ptr) Variable Function + 416(param): 7(ptr) Variable Function + 418(param): 7(ptr) Variable Function + 423(param): 7(ptr) Variable Function + 427(param): 7(ptr) Variable Function + 431(param): 7(ptr) Variable Function + 435(param): 30(ptr) Variable Function + 439(param): 30(ptr) Variable Function + 443(param): 30(ptr) Variable Function + 447(param): 23(ptr) Variable Function + 451(param): 16(ptr) Variable Function + 455(param): 16(ptr) Variable Function + 459(param): 23(ptr) Variable Function + 463(param): 23(ptr) Variable Function + 467(param): 23(ptr) Variable Function + 471(param): 16(ptr) Variable Function + 475(param): 7(ptr) Variable Function + 480(param): 126(ptr) Variable Function + 487(param): 135(ptr) Variable Function + 491(param): 105(ptr) Variable Function + 497(param): 23(ptr) Variable Function + 500(param): 9(ptr) Variable Function + 506(param): 9(ptr) Variable Function + 158: 6(float) Load 155(d) + Store 157(param) 158 + 160: 8(bool) Load 156(b) + Store 159(param) 160 + 161: 2 FunctionCall 13(foo1(d1;b1;) 157(param) 159(param) + 163: 6(float) Load 155(d) + Store 162(param) 163 + 165: 6(float) Load 155(d) + Store 164(param) 165 + 166: 2 FunctionCall 39(foo1(d1;d1;) 162(param) 164(param) + 169: 6(float) Load 155(d) + Store 168(param) 169 + 171: 15(int) Load 167(u) + Store 170(param) 171 + 172: 2 FunctionCall 20(foo1(d1;u1;) 168(param) 170(param) + 175: 6(float) Load 155(d) + Store 174(param) 175 + 177: 22(int) Load 173(i) + Store 176(param) 177 + 178: 2 FunctionCall 27(foo1(d1;i1;) 174(param) 176(param) + 181: 6(float) Load 155(d) + Store 180(param) 181 + 183: 29(float) Load 179(f) + Store 182(param) 183 + 184: 2 FunctionCall 34(foo1(d1;f1;) 180(param) 182(param) + 185: 29(float) Load 179(f) + 186: 6(float) FConvert 185 + Store 187(param) 186 + 189: 8(bool) Load 156(b) + Store 188(param) 189 + 190: 2 FunctionCall 13(foo1(d1;b1;) 187(param) 188(param) + 191: 29(float) Load 179(f) + 192: 6(float) FConvert 191 + Store 193(param) 192 + 195: 6(float) Load 155(d) + Store 194(param) 195 + 196: 2 FunctionCall 39(foo1(d1;d1;) 193(param) 194(param) + 197: 29(float) Load 179(f) + 198: 6(float) FConvert 197 + Store 199(param) 198 + 201: 15(int) Load 167(u) + Store 200(param) 201 + 202: 2 FunctionCall 20(foo1(d1;u1;) 199(param) 200(param) + 203: 29(float) Load 179(f) + 204: 6(float) FConvert 203 + Store 205(param) 204 + 207: 22(int) Load 173(i) + Store 206(param) 207 + 208: 2 FunctionCall 27(foo1(d1;i1;) 205(param) 206(param) + 209: 29(float) Load 179(f) + 210: 6(float) FConvert 209 + Store 211(param) 210 + 213: 29(float) Load 179(f) + Store 212(param) 213 + 214: 2 FunctionCall 34(foo1(d1;f1;) 211(param) 212(param) + 215: 15(int) Load 167(u) + 216: 6(float) ConvertUToF 215 + Store 217(param) 216 + 219: 8(bool) Load 156(b) + Store 218(param) 219 + 220: 2 FunctionCall 13(foo1(d1;b1;) 217(param) 218(param) + 221: 15(int) Load 167(u) + 222: 6(float) ConvertUToF 221 + Store 223(param) 222 + 225: 6(float) Load 155(d) + Store 224(param) 225 + 226: 2 FunctionCall 39(foo1(d1;d1;) 223(param) 224(param) + 227: 15(int) Load 167(u) + 228: 6(float) ConvertUToF 227 + Store 229(param) 228 + 231: 15(int) Load 167(u) + Store 230(param) 231 + 232: 2 FunctionCall 20(foo1(d1;u1;) 229(param) 230(param) + 233: 15(int) Load 167(u) + 234: 6(float) ConvertUToF 233 + Store 235(param) 234 + 237: 22(int) Load 173(i) + Store 236(param) 237 + 238: 2 FunctionCall 27(foo1(d1;i1;) 235(param) 236(param) + 239: 15(int) Load 167(u) + 240: 6(float) ConvertUToF 239 + Store 241(param) 240 + 243: 29(float) Load 179(f) + Store 242(param) 243 + 244: 2 FunctionCall 34(foo1(d1;f1;) 241(param) 242(param) + 245: 22(int) Load 173(i) + 246: 6(float) ConvertSToF 245 + Store 247(param) 246 + 249: 8(bool) Load 156(b) + Store 248(param) 249 + 250: 2 FunctionCall 13(foo1(d1;b1;) 247(param) 248(param) + 251: 22(int) Load 173(i) + 252: 6(float) ConvertSToF 251 + Store 253(param) 252 + 255: 6(float) Load 155(d) + Store 254(param) 255 + 256: 2 FunctionCall 39(foo1(d1;d1;) 253(param) 254(param) + 257: 22(int) Load 173(i) + 258: 6(float) ConvertSToF 257 + Store 259(param) 258 + 261: 15(int) Load 167(u) + Store 260(param) 261 + 262: 2 FunctionCall 20(foo1(d1;u1;) 259(param) 260(param) + 263: 22(int) Load 173(i) + 264: 6(float) ConvertSToF 263 + Store 265(param) 264 + 267: 22(int) Load 173(i) + Store 266(param) 267 + 268: 2 FunctionCall 27(foo1(d1;i1;) 265(param) 266(param) + 269: 22(int) Load 173(i) + 270: 6(float) ConvertSToF 269 + Store 271(param) 270 + 273: 29(float) Load 179(f) + Store 272(param) 273 + 274: 2 FunctionCall 34(foo1(d1;f1;) 271(param) 272(param) + 275: 15(int) Load 167(u) + 276: 22(int) Bitcast 275 + Store 277(param) 276 + 279: 8(bool) Load 156(b) + Store 278(param) 279 + 280: 2 FunctionCall 44(foo2(i1;b1;) 277(param) 278(param) + 281: 15(int) Load 167(u) + 282: 22(int) Bitcast 281 + Store 283(param) 282 + 285: 6(float) Load 155(d) + Store 284(param) 285 + 286: 2 FunctionCall 64(foo2(i1;d1;) 283(param) 284(param) + 287: 15(int) Load 167(u) + 288: 22(int) Bitcast 287 + Store 289(param) 288 + 291: 15(int) Load 167(u) + Store 290(param) 291 + 292: 2 FunctionCall 49(foo2(i1;u1;) 289(param) 290(param) + 293: 15(int) Load 167(u) + 294: 22(int) Bitcast 293 + Store 295(param) 294 + 297: 22(int) Load 173(i) + Store 296(param) 297 + 298: 2 FunctionCall 54(foo2(i1;i1;) 295(param) 296(param) + 299: 15(int) Load 167(u) + 300: 22(int) Bitcast 299 + Store 301(param) 300 + 303: 29(float) Load 179(f) + Store 302(param) 303 + 304: 2 FunctionCall 59(foo2(i1;f1;) 301(param) 302(param) + 306: 22(int) Load 173(i) + Store 305(param) 306 + 308: 8(bool) Load 156(b) + Store 307(param) 308 + 309: 2 FunctionCall 44(foo2(i1;b1;) 305(param) 307(param) + 311: 22(int) Load 173(i) + Store 310(param) 311 + 313: 6(float) Load 155(d) + Store 312(param) 313 + 314: 2 FunctionCall 64(foo2(i1;d1;) 310(param) 312(param) + 316: 22(int) Load 173(i) + Store 315(param) 316 + 318: 15(int) Load 167(u) + Store 317(param) 318 + 319: 2 FunctionCall 49(foo2(i1;u1;) 315(param) 317(param) + 321: 22(int) Load 173(i) + Store 320(param) 321 + 323: 22(int) Load 173(i) + Store 322(param) 323 + 324: 2 FunctionCall 54(foo2(i1;i1;) 320(param) 322(param) + 326: 22(int) Load 173(i) + Store 325(param) 326 + 328: 29(float) Load 179(f) + Store 327(param) 328 + 329: 2 FunctionCall 59(foo2(i1;f1;) 325(param) 327(param) + 331: 8(bool) Load 156(b) + Store 330(param) 331 + 332: 2 FunctionCall 68(foo3(b1;) 330(param) + 333: 6(float) Load 155(d) + 335: 8(bool) FOrdNotEqual 333 334 + Store 336(param) 335 + 337: 2 FunctionCall 68(foo3(b1;) 336(param) + 338: 15(int) Load 167(u) + 340: 8(bool) INotEqual 338 339 + Store 341(param) 340 + 342: 2 FunctionCall 68(foo3(b1;) 341(param) + 343: 22(int) Load 173(i) + 344: 8(bool) INotEqual 343 339 + Store 345(param) 344 + 346: 2 FunctionCall 68(foo3(b1;) 345(param) + 347: 29(float) Load 179(f) + 349: 8(bool) FOrdNotEqual 347 348 + Store 350(param) 349 + 351: 2 FunctionCall 68(foo3(b1;) 350(param) + 352: 8(bool) Load 156(b) + 354: 15(int) Select 352 353 339 + Store 355(param) 354 + 356: 2 FunctionCall 72(foo4(u1;) 355(param) + 357: 6(float) Load 155(d) + 358: 15(int) ConvertFToU 357 + Store 359(param) 358 + 360: 2 FunctionCall 72(foo4(u1;) 359(param) + 362: 15(int) Load 167(u) + Store 361(param) 362 + 363: 2 FunctionCall 72(foo4(u1;) 361(param) + 364: 22(int) Load 173(i) + 365: 15(int) Bitcast 364 + Store 366(param) 365 + 367: 2 FunctionCall 72(foo4(u1;) 366(param) + 368: 29(float) Load 179(f) + 369: 15(int) ConvertFToU 368 + Store 370(param) 369 + 371: 2 FunctionCall 72(foo4(u1;) 370(param) + 372: 8(bool) Load 156(b) + 375: 22(int) Select 372 374 373 + Store 376(param) 375 + 377: 2 FunctionCall 76(foo5(i1;) 376(param) + 378: 6(float) Load 155(d) + 379: 22(int) ConvertFToS 378 + Store 380(param) 379 + 381: 2 FunctionCall 76(foo5(i1;) 380(param) + 382: 15(int) Load 167(u) + 383: 22(int) Bitcast 382 + Store 384(param) 383 + 385: 2 FunctionCall 76(foo5(i1;) 384(param) + 387: 22(int) Load 173(i) + Store 386(param) 387 + 388: 2 FunctionCall 76(foo5(i1;) 386(param) + 389: 29(float) Load 179(f) + 390: 22(int) ConvertFToS 389 + Store 391(param) 390 + 392: 2 FunctionCall 76(foo5(i1;) 391(param) + 393: 8(bool) Load 156(b) + 395: 29(float) Select 393 394 348 + Store 396(param) 395 + 397: 2 FunctionCall 80(foo6(f1;) 396(param) + 398: 6(float) Load 155(d) + 399: 29(float) FConvert 398 + Store 400(param) 399 + 401: 2 FunctionCall 80(foo6(f1;) 400(param) + 402: 15(int) Load 167(u) + 403: 29(float) ConvertUToF 402 + Store 404(param) 403 + 405: 2 FunctionCall 80(foo6(f1;) 404(param) + 406: 22(int) Load 173(i) + 407: 29(float) ConvertSToF 406 + Store 408(param) 407 + 409: 2 FunctionCall 80(foo6(f1;) 408(param) + 411: 29(float) Load 179(f) + Store 410(param) 411 + 412: 2 FunctionCall 80(foo6(f1;) 410(param) + 413: 8(bool) Load 156(b) + 415: 6(float) Select 413 414 334 + Store 416(param) 415 + 417: 2 FunctionCall 84(foo7(d1;) 416(param) + 419: 6(float) Load 155(d) + Store 418(param) 419 + 420: 2 FunctionCall 84(foo7(d1;) 418(param) + 421: 15(int) Load 167(u) + 422: 6(float) ConvertUToF 421 + Store 423(param) 422 + 424: 2 FunctionCall 84(foo7(d1;) 423(param) + 425: 22(int) Load 173(i) + 426: 6(float) ConvertSToF 425 + Store 427(param) 426 + 428: 2 FunctionCall 84(foo7(d1;) 427(param) + 429: 29(float) Load 179(f) + 430: 6(float) FConvert 429 + Store 431(param) 430 + 432: 2 FunctionCall 84(foo7(d1;) 431(param) + 433: 8(bool) Load 156(b) + 434: 29(float) Select 433 394 348 + Store 435(param) 434 + 436: 2 FunctionCall 87(foo8(f1;) 435(param) + 437: 15(int) Load 167(u) + 438: 29(float) ConvertUToF 437 + Store 439(param) 438 + 440: 2 FunctionCall 87(foo8(f1;) 439(param) + 441: 22(int) Load 173(i) + 442: 29(float) ConvertSToF 441 + Store 443(param) 442 + 444: 2 FunctionCall 87(foo8(f1;) 443(param) + 445: 8(bool) Load 156(b) + 446: 22(int) Select 445 374 373 + Store 447(param) 446 + 448: 2 FunctionCall 93(foo9(i1;) 447(param) + 449: 29(float) Load 179(f) + 450: 15(int) ConvertFToU 449 + Store 451(param) 450 + 452: 2 FunctionCall 96(foo9(u1;) 451(param) + 453: 6(float) Load 155(d) + 454: 15(int) ConvertFToU 453 + Store 455(param) 454 + 456: 2 FunctionCall 96(foo9(u1;) 455(param) + 457: 15(int) Load 167(u) + 458: 22(int) Bitcast 457 + Store 459(param) 458 + 460: 2 FunctionCall 102(foo10(i1;) 459(param) + 461: 29(float) Load 179(f) + 462: 22(int) ConvertFToS 461 + Store 463(param) 462 + 464: 2 FunctionCall 102(foo10(i1;) 463(param) + 465: 6(float) Load 155(d) + 466: 22(int) ConvertFToS 465 + Store 467(param) 466 + 468: 2 FunctionCall 102(foo10(i1;) 467(param) + 469: 8(bool) Load 156(b) + 470: 15(int) Select 469 353 339 + Store 471(param) 470 + 472: 2 FunctionCall 120(foo11(u1;) 471(param) + 473: 29(float) Load 179(f) + 474: 6(float) FConvert 473 + Store 475(param) 474 + 476: 2 FunctionCall 111(foo11(d1;) 475(param) + 477: 29(float) Load 179(f) + 478: 104(fvec3) CompositeConstruct 477 477 477 + 479: 125(fvec3) FConvert 478 + Store 480(param) 479 + 481: 2 FunctionCall 129(foo12(vd3;) 480(param) + 482: 22(int) Load 173(i) + 483: 22(int) Load 173(i) + 485: 484(ivec2) CompositeConstruct 482 483 + 486: 134(ivec2) Bitcast 485 + Store 487(param) 486 + 488: 2 FunctionCall 138(foo16(vu2;) 487(param) + 489: 29(float) Load 179(f) + 490: 104(fvec3) CompositeConstruct 489 489 489 + Store 491(param) 490 + 492: 2 FunctionCall 141(foo13(vf3;) 491(param) + 493: 22(int) Load 173(i) + 495: 494(ivec4) CompositeConstruct 493 493 493 493 + 496: 22(int) CompositeExtract 495 0 + Store 497(param) 496 + 498: 2 FunctionCall 144(foo14(vi1;) 497(param) + 499: 8(bool) Load 156(b) + Store 500(param) 499 + 501: 2 FunctionCall 147(foo15(vb1;) 500(param) + 502: 8(bool) Load 156(b) + 504: 503(bvec3) CompositeConstruct 502 502 502 + 505: 8(bool) CompositeExtract 504 0 + Store 506(param) 505 + 507: 2 FunctionCall 147(foo15(vb1;) 506(param) + 508: 149(fvec4) Load 152(input) + ReturnValue 508 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out index 3c62c5db5cb..b8ddf0dde93 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.frag.out @@ -2,36 +2,36 @@ hlsl.params.default.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) 0:9 Function Parameters: -0:9 'p0' (in 4-component vector of int) -0:9 'b1' (in bool) -0:9 'b2' (in bool) +0:9 'p0' ( in 4-component vector of int) +0:9 'b1' ( in bool) +0:9 'b2' ( in bool) 0:? Sequence 0:10 Branch: Return with expression -0:10 'p0' (in 4-component vector of int) -0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:10 'p0' ( in 4-component vector of int) +0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) 0:17 Function Parameters: -0:17 'p0' (in 4-component vector of int) -0:17 'p1' (in 4-component vector of int) -0:17 'p2' (in 2-element array of int) -0:17 'p3' (in int) +0:17 'p0' ( in 4-component vector of int) +0:17 'p1' ( in 4-component vector of int) +0:17 'p2' ( in 2-element array of int) +0:17 'p3' ( in int) 0:? Sequence 0:18 Branch: Return with expression -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 'p0' (in 4-component vector of int) -0:18 'p1' (in 4-component vector of int) -0:18 direct index (temp int) -0:18 'p2' (in 2-element array of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 'p0' ( in 4-component vector of int) +0:18 'p1' ( in 4-component vector of int) +0:18 direct index ( temp int) +0:18 'p2' ( in 2-element array of int) 0:18 Constant: 0:18 0 (const int) -0:18 'p3' (in int) -0:23 Function Definition: fn2(vi4;i1; (temp 4-component vector of int) +0:18 'p3' ( in int) +0:23 Function Definition: fn2(vi4;i1; ( temp 4-component vector of int) 0:23 Function Parameters: -0:23 'p0' (in 4-component vector of int) -0:23 'x' (in int) +0:23 'p0' ( in 4-component vector of int) +0:23 'x' ( in int) 0:? Sequence 0:24 Branch: Return with expression 0:? Constant: @@ -39,148 +39,151 @@ gl_FragCoord origin is upper left 0:? 11 (const int) 0:? 12 (const int) 0:? 13 (const int) -0:28 Function Definition: fn2(vi4;f1; (temp 4-component vector of int) +0:28 Function Definition: fn2(vi4;f1; ( temp 4-component vector of int) 0:28 Function Parameters: -0:28 'p0' (in 4-component vector of int) -0:28 'x' (in float) +0:28 'p0' ( in 4-component vector of int) +0:28 'x' ( in float) 0:? Sequence 0:29 Branch: Return with expression -0:29 add (temp 4-component vector of int) -0:29 'p0' (in 4-component vector of int) +0:29 add ( temp 4-component vector of int) +0:29 'p0' ( in 4-component vector of int) 0:? Constant: 0:? 20 (const int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) -0:32 Function Definition: fn3(i1; (temp void) +0:32 Function Definition: fn3(i1; ( temp void) 0:32 Function Parameters: -0:32 'p0' (in int) -0:36 Function Definition: main( (temp 4-component vector of int) +0:32 'p0' ( in int) +0:36 Function Definition: @main( ( temp 4-component vector of int) 0:36 Function Parameters: 0:? Sequence 0:37 Sequence -0:37 move second child to first child (temp 2-element array of int) -0:37 'myarray' (temp 2-element array of int) +0:37 move second child to first child ( temp 2-element array of int) +0:37 'myarray' ( temp 2-element array of int) 0:37 Constant: 0:37 30 (const int) 0:37 31 (const int) -0:39 Function Call: fn3(i1; (temp void) +0:39 Function Call: fn3(i1; ( temp void) 0:32 Constant: 0:32 3 (const int) -0:40 Function Call: fn3(i1; (temp void) +0:40 Function Call: fn3(i1; ( temp void) 0:40 Constant: 0:40 5 (const int) -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:49 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:46 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:? Constant: -0:? -1 (const int) -0:? -2 (const int) -0:? -3 (const int) -0:? -4 (const int) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:50 Branch: Return with expression +0:49 add ( temp 4-component vector of int) +0:47 add ( temp 4-component vector of int) +0:46 add ( temp 4-component vector of int) +0:45 add ( temp 4-component vector of int) +0:44 add ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:42 add ( temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:42 Constant: +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:? Constant: +0:? -1 (const int) +0:? -2 (const int) +0:? -3 (const int) +0:? -4 (const int) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:43 Constant: +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 ui4: direct index for structure ( uniform 4-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) 0:43 Constant: -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:43 Constant: -0:43 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:44 Constant: -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:44 Constant: -0:44 0 (const uint) -0:44 'myarray' (temp 2-element array of int) +0:43 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:45 Constant: -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:45 Constant: -0:45 0 (const uint) -0:45 'myarray' (temp 2-element array of int) +0:44 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:44 Constant: +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 ui4: direct index for structure ( uniform 4-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) +0:44 Constant: +0:44 0 (const uint) +0:44 'myarray' ( temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:45 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:45 Constant: +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 ui4: direct index for structure ( uniform 4-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) 0:45 Constant: -0:45 99 (const int) -0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:46 Constant: -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 Constant: -0:46 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:47 Constant: -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 Constant: -0:47 false (const bool) -0:47 Constant: -0:47 true (const bool) -0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) -0:49 Constant: -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 Constant: -0:49 11.110000 -0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:50 Constant: -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 Constant: -0:50 12 (const int) -0:50 Branch: Return +0:45 0 (const uint) +0:45 'myarray' ( temp 2-element array of int) +0:45 Constant: +0:45 99 (const int) +0:46 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:46 Constant: +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 Constant: +0:46 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:47 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:47 Constant: +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 Constant: +0:47 false (const bool) +0:47 Constant: +0:47 true (const bool) +0:49 Function Call: fn2(vi4;f1; ( temp 4-component vector of int) +0:49 Constant: +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 Constant: +0:49 11.110000 +0:50 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:50 Constant: +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 Constant: +0:50 12 (const int) +0:36 Function Definition: main( ( temp void) +0:36 Function Parameters: +0:? Sequence +0:36 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:36 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'cia' (const int) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) +0:? 'cia' ( const int) 0:? -4 (const int) -0:? 'cib' (const int) +0:? 'cib' ( const int) 0:? -42 (const int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) Linked fragment stage: @@ -189,36 +192,36 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:9 Function Definition: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) 0:9 Function Parameters: -0:9 'p0' (in 4-component vector of int) -0:9 'b1' (in bool) -0:9 'b2' (in bool) +0:9 'p0' ( in 4-component vector of int) +0:9 'b1' ( in bool) +0:9 'b2' ( in bool) 0:? Sequence 0:10 Branch: Return with expression -0:10 'p0' (in 4-component vector of int) -0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:10 'p0' ( in 4-component vector of int) +0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) 0:17 Function Parameters: -0:17 'p0' (in 4-component vector of int) -0:17 'p1' (in 4-component vector of int) -0:17 'p2' (in 2-element array of int) -0:17 'p3' (in int) +0:17 'p0' ( in 4-component vector of int) +0:17 'p1' ( in 4-component vector of int) +0:17 'p2' ( in 2-element array of int) +0:17 'p3' ( in int) 0:? Sequence 0:18 Branch: Return with expression -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 'p0' (in 4-component vector of int) -0:18 'p1' (in 4-component vector of int) -0:18 direct index (temp int) -0:18 'p2' (in 2-element array of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 'p0' ( in 4-component vector of int) +0:18 'p1' ( in 4-component vector of int) +0:18 direct index ( temp int) +0:18 'p2' ( in 2-element array of int) 0:18 Constant: 0:18 0 (const int) -0:18 'p3' (in int) -0:23 Function Definition: fn2(vi4;i1; (temp 4-component vector of int) +0:18 'p3' ( in int) +0:23 Function Definition: fn2(vi4;i1; ( temp 4-component vector of int) 0:23 Function Parameters: -0:23 'p0' (in 4-component vector of int) -0:23 'x' (in int) +0:23 'p0' ( in 4-component vector of int) +0:23 'x' ( in int) 0:? Sequence 0:24 Branch: Return with expression 0:? Constant: @@ -226,157 +229,160 @@ gl_FragCoord origin is upper left 0:? 11 (const int) 0:? 12 (const int) 0:? 13 (const int) -0:28 Function Definition: fn2(vi4;f1; (temp 4-component vector of int) +0:28 Function Definition: fn2(vi4;f1; ( temp 4-component vector of int) 0:28 Function Parameters: -0:28 'p0' (in 4-component vector of int) -0:28 'x' (in float) +0:28 'p0' ( in 4-component vector of int) +0:28 'x' ( in float) 0:? Sequence 0:29 Branch: Return with expression -0:29 add (temp 4-component vector of int) -0:29 'p0' (in 4-component vector of int) +0:29 add ( temp 4-component vector of int) +0:29 'p0' ( in 4-component vector of int) 0:? Constant: 0:? 20 (const int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) -0:32 Function Definition: fn3(i1; (temp void) +0:32 Function Definition: fn3(i1; ( temp void) 0:32 Function Parameters: -0:32 'p0' (in int) -0:36 Function Definition: main( (temp 4-component vector of int) +0:32 'p0' ( in int) +0:36 Function Definition: @main( ( temp 4-component vector of int) 0:36 Function Parameters: 0:? Sequence 0:37 Sequence -0:37 move second child to first child (temp 2-element array of int) -0:37 'myarray' (temp 2-element array of int) +0:37 move second child to first child ( temp 2-element array of int) +0:37 'myarray' ( temp 2-element array of int) 0:37 Constant: 0:37 30 (const int) 0:37 31 (const int) -0:39 Function Call: fn3(i1; (temp void) +0:39 Function Call: fn3(i1; ( temp void) 0:32 Constant: 0:32 3 (const int) -0:40 Function Call: fn3(i1; (temp void) +0:40 Function Call: fn3(i1; ( temp void) 0:40 Constant: 0:40 5 (const int) -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:49 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:46 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:42 100 (const int) -0:? Constant: -0:? -1 (const int) -0:? -2 (const int) -0:? -3 (const int) -0:? -4 (const int) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:50 Branch: Return with expression +0:49 add ( temp 4-component vector of int) +0:47 add ( temp 4-component vector of int) +0:46 add ( temp 4-component vector of int) +0:45 add ( temp 4-component vector of int) +0:44 add ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:42 add ( temp 4-component vector of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:42 Constant: +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:42 100 (const int) +0:? Constant: +0:? -1 (const int) +0:? -2 (const int) +0:? -3 (const int) +0:? -4 (const int) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:43 Constant: +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 101 (const int) +0:43 ui4: direct index for structure ( uniform 4-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) 0:43 Constant: -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 101 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:43 Constant: -0:43 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:44 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:44 Constant: -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 102 (const int) -0:44 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:44 Constant: -0:44 0 (const uint) -0:44 'myarray' (temp 2-element array of int) +0:43 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:45 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:45 Constant: -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 103 (const int) -0:45 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:45 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) -0:45 Constant: -0:45 0 (const uint) -0:45 'myarray' (temp 2-element array of int) +0:44 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:44 Constant: +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 102 (const int) +0:44 ui4: direct index for structure ( uniform 4-component vector of int) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) +0:44 Constant: +0:44 0 (const uint) +0:44 'myarray' ( temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:45 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:45 Constant: +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 103 (const int) +0:45 ui4: direct index for structure ( uniform 4-component vector of int) +0:45 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) 0:45 Constant: -0:45 99 (const int) -0:46 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:46 Constant: -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 104 (const int) -0:46 Constant: -0:46 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:47 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:47 Constant: -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 105 (const int) -0:47 Constant: -0:47 false (const bool) -0:47 Constant: -0:47 true (const bool) -0:49 Function Call: fn2(vi4;f1; (temp 4-component vector of int) -0:49 Constant: -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 110 (const int) -0:49 Constant: -0:49 11.110000 -0:50 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:50 Constant: -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 111 (const int) -0:50 Constant: -0:50 12 (const int) -0:50 Branch: Return +0:45 0 (const uint) +0:45 'myarray' ( temp 2-element array of int) +0:45 Constant: +0:45 99 (const int) +0:46 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:46 Constant: +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 104 (const int) +0:46 Constant: +0:46 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:47 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:47 Constant: +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 105 (const int) +0:47 Constant: +0:47 false (const bool) +0:47 Constant: +0:47 true (const bool) +0:49 Function Call: fn2(vi4;f1; ( temp 4-component vector of int) +0:49 Constant: +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 110 (const int) +0:49 Constant: +0:49 11.110000 +0:50 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:50 Constant: +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 111 (const int) +0:50 Constant: +0:50 12 (const int) +0:36 Function Definition: main( ( temp void) +0:36 Function Parameters: +0:? Sequence +0:36 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:36 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'cia' (const int) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4}) +0:? 'cia' ( const int) 0:? -4 (const int) -0:? 'cib' (const int) +0:? 'cib' ( const int) 0:? -42 (const int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 173 +// Id's are bound by 178 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 88 + EntryPoint Fragment 4 "main" 175 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 15 "fn1(vi4;b1;b1;" @@ -396,43 +402,44 @@ gl_FragCoord origin is upper left Name 38 "x" Name 43 "fn3(i1;" Name 42 "p0" - Name 77 "myarray" - Name 82 "param" + Name 46 "@main(" + Name 80 "myarray" Name 85 "param" - Name 88 "@entryPointOutput" - Name 100 "param" + Name 88 "param" Name 101 "param" Name 102 "param" Name 103 "param" - Name 107 "$Global" - MemberName 107($Global) 0 "ui4" - Name 109 "" - Name 110 "param" + Name 104 "param" + Name 108 "$Global" + MemberName 108($Global) 0 "ui4" + Name 110 "" Name 111 "param" - Name 115 "param" + Name 112 "param" Name 116 "param" - Name 121 "param" + Name 117 "param" Name 122 "param" - Name 125 "param" - Name 127 "param" - Name 133 "param" + Name 123 "param" + Name 126 "param" + Name 128 "param" Name 134 "param" - Name 137 "param" - Name 139 "param" - Name 145 "param" + Name 135 "param" + Name 138 "param" + Name 140 "param" Name 146 "param" Name 147 "param" - Name 153 "param" + Name 148 "param" Name 154 "param" Name 155 "param" - Name 161 "param" + Name 156 "param" Name 162 "param" - Name 167 "param" + Name 163 "param" Name 168 "param" - Decorate 88(@entryPointOutput) Location 0 - MemberDecorate 107($Global) 0 Offset 0 - Decorate 107($Global) Block - Decorate 109 DescriptorSet 0 + Name 169 "param" + Name 175 "@entryPointOutput" + MemberDecorate 108($Global) 0 Offset 0 + Decorate 108($Global) Block + Decorate 110 DescriptorSet 0 + Decorate 175(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -452,144 +459,63 @@ gl_FragCoord origin is upper left 35: TypePointer Function 34(float) 36: TypeFunction 7(ivec4) 8(ptr) 35(ptr) 41: TypeFunction 2 21(ptr) - 51: 6(int) Constant 0 - 61: 6(int) Constant 10 - 62: 6(int) Constant 11 - 63: 6(int) Constant 12 - 64: 6(int) Constant 13 - 65: 7(ivec4) ConstantComposite 61 62 63 64 - 69: 6(int) Constant 20 - 70: 6(int) Constant 21 - 71: 6(int) Constant 22 - 72: 6(int) Constant 23 - 73: 7(ivec4) ConstantComposite 69 70 71 72 - 78: 6(int) Constant 30 - 79: 6(int) Constant 31 - 80: 19 ConstantComposite 78 79 - 81: 6(int) Constant 3 - 84: 6(int) Constant 5 - 87: TypePointer Output 7(ivec4) -88(@entryPointOutput): 87(ptr) Variable Output - 89: 6(int) Constant 100 - 90: 7(ivec4) ConstantComposite 89 89 89 89 - 91: 6(int) Constant 4294967295 - 92: 6(int) Constant 4294967294 - 93: 6(int) Constant 4294967293 - 94: 6(int) Constant 4294967292 - 95: 7(ivec4) ConstantComposite 91 92 93 94 - 96: 6(int) Constant 1 - 97: 6(int) Constant 2 - 98: 19 ConstantComposite 96 97 - 99: 6(int) Constant 42 - 105: 6(int) Constant 101 - 106: 7(ivec4) ConstantComposite 105 105 105 105 - 107($Global): TypeStruct 7(ivec4) - 108: TypePointer Uniform 107($Global) - 109: 108(ptr) Variable Uniform - 112: TypePointer Uniform 7(ivec4) - 119: 6(int) Constant 102 - 120: 7(ivec4) ConstantComposite 119 119 119 119 - 130: 6(int) Constant 103 - 131: 7(ivec4) ConstantComposite 130 130 130 130 - 132: 6(int) Constant 99 - 142: 6(int) Constant 104 - 143: 7(ivec4) ConstantComposite 142 142 142 142 - 144: 9(bool) ConstantFalse - 150: 6(int) Constant 105 - 151: 7(ivec4) ConstantComposite 150 150 150 150 - 152: 9(bool) ConstantTrue - 158: 6(int) Constant 110 - 159: 7(ivec4) ConstantComposite 158 158 158 158 - 160: 34(float) Constant 1093780111 - 165: 6(int) Constant 111 - 166: 7(ivec4) ConstantComposite 165 165 165 165 - 172: 6(int) Constant 4294967254 + 45: TypeFunction 7(ivec4) + 54: 6(int) Constant 0 + 64: 6(int) Constant 10 + 65: 6(int) Constant 11 + 66: 6(int) Constant 12 + 67: 6(int) Constant 13 + 68: 7(ivec4) ConstantComposite 64 65 66 67 + 72: 6(int) Constant 20 + 73: 6(int) Constant 21 + 74: 6(int) Constant 22 + 75: 6(int) Constant 23 + 76: 7(ivec4) ConstantComposite 72 73 74 75 + 81: 6(int) Constant 30 + 82: 6(int) Constant 31 + 83: 19 ConstantComposite 81 82 + 84: 6(int) Constant 3 + 87: 6(int) Constant 5 + 90: 6(int) Constant 100 + 91: 7(ivec4) ConstantComposite 90 90 90 90 + 92: 6(int) Constant 4294967295 + 93: 6(int) Constant 4294967294 + 94: 6(int) Constant 4294967293 + 95: 6(int) Constant 4294967292 + 96: 7(ivec4) ConstantComposite 92 93 94 95 + 97: 6(int) Constant 1 + 98: 6(int) Constant 2 + 99: 19 ConstantComposite 97 98 + 100: 6(int) Constant 42 + 106: 6(int) Constant 101 + 107: 7(ivec4) ConstantComposite 106 106 106 106 + 108($Global): TypeStruct 7(ivec4) + 109: TypePointer Uniform 108($Global) + 110: 109(ptr) Variable Uniform + 113: TypePointer Uniform 7(ivec4) + 120: 6(int) Constant 102 + 121: 7(ivec4) ConstantComposite 120 120 120 120 + 131: 6(int) Constant 103 + 132: 7(ivec4) ConstantComposite 131 131 131 131 + 133: 6(int) Constant 99 + 143: 6(int) Constant 104 + 144: 7(ivec4) ConstantComposite 143 143 143 143 + 145: 9(bool) ConstantFalse + 151: 6(int) Constant 105 + 152: 7(ivec4) ConstantComposite 151 151 151 151 + 153: 9(bool) ConstantTrue + 159: 6(int) Constant 110 + 160: 7(ivec4) ConstantComposite 159 159 159 159 + 161: 34(float) Constant 1093780111 + 166: 6(int) Constant 111 + 167: 7(ivec4) ConstantComposite 166 166 166 166 + 174: TypePointer Output 7(ivec4) +175(@entryPointOutput): 174(ptr) Variable Output + 177: 6(int) Constant 4294967254 4(main): 2 Function None 3 5: Label - 77(myarray): 20(ptr) Variable Function - 82(param): 21(ptr) Variable Function - 85(param): 21(ptr) Variable Function - 100(param): 8(ptr) Variable Function - 101(param): 8(ptr) Variable Function - 102(param): 20(ptr) Variable Function - 103(param): 21(ptr) Variable Function - 110(param): 8(ptr) Variable Function - 111(param): 8(ptr) Variable Function - 115(param): 20(ptr) Variable Function - 116(param): 21(ptr) Variable Function - 121(param): 8(ptr) Variable Function - 122(param): 8(ptr) Variable Function - 125(param): 20(ptr) Variable Function - 127(param): 21(ptr) Variable Function - 133(param): 8(ptr) Variable Function - 134(param): 8(ptr) Variable Function - 137(param): 20(ptr) Variable Function - 139(param): 21(ptr) Variable Function - 145(param): 8(ptr) Variable Function - 146(param): 10(ptr) Variable Function - 147(param): 10(ptr) Variable Function - 153(param): 8(ptr) Variable Function - 154(param): 10(ptr) Variable Function - 155(param): 10(ptr) Variable Function - 161(param): 8(ptr) Variable Function - 162(param): 35(ptr) Variable Function - 167(param): 8(ptr) Variable Function - 168(param): 21(ptr) Variable Function - Store 77(myarray) 80 - Store 82(param) 81 - 83: 2 FunctionCall 43(fn3(i1;) 82(param) - Store 85(param) 84 - 86: 2 FunctionCall 43(fn3(i1;) 85(param) - Store 100(param) 90 - Store 101(param) 95 - Store 102(param) 98 - Store 103(param) 99 - 104: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 100(param) 101(param) 102(param) 103(param) - Store 110(param) 106 - 113: 112(ptr) AccessChain 109 51 - 114: 7(ivec4) Load 113 - Store 111(param) 114 - Store 115(param) 98 - Store 116(param) 99 - 117: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 110(param) 111(param) 115(param) 116(param) - 118: 7(ivec4) IAdd 104 117 - Store 121(param) 120 - 123: 112(ptr) AccessChain 109 51 - 124: 7(ivec4) Load 123 - Store 122(param) 124 - 126: 19 Load 77(myarray) - Store 125(param) 126 - Store 127(param) 99 - 128: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 121(param) 122(param) 125(param) 127(param) - 129: 7(ivec4) IAdd 118 128 - Store 133(param) 131 - 135: 112(ptr) AccessChain 109 51 - 136: 7(ivec4) Load 135 - Store 134(param) 136 - 138: 19 Load 77(myarray) - Store 137(param) 138 - Store 139(param) 132 - 140: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 133(param) 134(param) 137(param) 139(param) - 141: 7(ivec4) IAdd 129 140 - Store 145(param) 143 - Store 146(param) 144 - Store 147(param) 144 - 148: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 145(param) 146(param) 147(param) - 149: 7(ivec4) IAdd 141 148 - Store 153(param) 151 - Store 154(param) 144 - Store 155(param) 152 - 156: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 153(param) 154(param) 155(param) - 157: 7(ivec4) IAdd 149 156 - Store 161(param) 159 - Store 162(param) 160 - 163: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 161(param) 162(param) - 164: 7(ivec4) IAdd 157 163 - Store 167(param) 166 - Store 168(param) 63 - 169: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 167(param) 168(param) - 170: 7(ivec4) IAdd 164 169 - Store 88(@entryPointOutput) 170 + 176: 7(ivec4) FunctionCall 46(@main() + Store 175(@entryPointOutput) 176 Return FunctionEnd 15(fn1(vi4;b1;b1;): 7(ivec4) Function None 11 @@ -597,8 +523,8 @@ gl_FragCoord origin is upper left 13(b1): 10(ptr) FunctionParameter 14(b2): 10(ptr) FunctionParameter 16: Label - 45: 7(ivec4) Load 12(p0) - ReturnValue 45 + 48: 7(ivec4) Load 12(p0) + ReturnValue 48 FunctionEnd 27(fn1(vi4;vi4;i1[2];i1;): 7(ivec4) Function None 22 23(p0): 8(ptr) FunctionParameter @@ -606,34 +532,121 @@ gl_FragCoord origin is upper left 25(p2): 20(ptr) FunctionParameter 26(p3): 21(ptr) FunctionParameter 28: Label - 48: 7(ivec4) Load 23(p0) - 49: 7(ivec4) Load 24(p1) - 50: 7(ivec4) IAdd 48 49 - 52: 21(ptr) AccessChain 25(p2) 51 - 53: 6(int) Load 52 - 54: 7(ivec4) CompositeConstruct 53 53 53 53 - 55: 7(ivec4) IAdd 50 54 - 56: 6(int) Load 26(p3) + 51: 7(ivec4) Load 23(p0) + 52: 7(ivec4) Load 24(p1) + 53: 7(ivec4) IAdd 51 52 + 55: 21(ptr) AccessChain 25(p2) 54 + 56: 6(int) Load 55 57: 7(ivec4) CompositeConstruct 56 56 56 56 - 58: 7(ivec4) IAdd 55 57 - ReturnValue 58 + 58: 7(ivec4) IAdd 53 57 + 59: 6(int) Load 26(p3) + 60: 7(ivec4) CompositeConstruct 59 59 59 59 + 61: 7(ivec4) IAdd 58 60 + ReturnValue 61 FunctionEnd 32(fn2(vi4;i1;): 7(ivec4) Function None 29 30(p0): 8(ptr) FunctionParameter 31(x): 21(ptr) FunctionParameter 33: Label - ReturnValue 65 + ReturnValue 68 FunctionEnd 39(fn2(vi4;f1;): 7(ivec4) Function None 36 37(p0): 8(ptr) FunctionParameter 38(x): 35(ptr) FunctionParameter 40: Label - 68: 7(ivec4) Load 37(p0) - 74: 7(ivec4) IAdd 68 73 - ReturnValue 74 + 71: 7(ivec4) Load 37(p0) + 77: 7(ivec4) IAdd 71 76 + ReturnValue 77 FunctionEnd 43(fn3(i1;): 2 Function None 41 42(p0): 21(ptr) FunctionParameter 44: Label Return FunctionEnd + 46(@main(): 7(ivec4) Function None 45 + 47: Label + 80(myarray): 20(ptr) Variable Function + 85(param): 21(ptr) Variable Function + 88(param): 21(ptr) Variable Function + 101(param): 8(ptr) Variable Function + 102(param): 8(ptr) Variable Function + 103(param): 20(ptr) Variable Function + 104(param): 21(ptr) Variable Function + 111(param): 8(ptr) Variable Function + 112(param): 8(ptr) Variable Function + 116(param): 20(ptr) Variable Function + 117(param): 21(ptr) Variable Function + 122(param): 8(ptr) Variable Function + 123(param): 8(ptr) Variable Function + 126(param): 20(ptr) Variable Function + 128(param): 21(ptr) Variable Function + 134(param): 8(ptr) Variable Function + 135(param): 8(ptr) Variable Function + 138(param): 20(ptr) Variable Function + 140(param): 21(ptr) Variable Function + 146(param): 8(ptr) Variable Function + 147(param): 10(ptr) Variable Function + 148(param): 10(ptr) Variable Function + 154(param): 8(ptr) Variable Function + 155(param): 10(ptr) Variable Function + 156(param): 10(ptr) Variable Function + 162(param): 8(ptr) Variable Function + 163(param): 35(ptr) Variable Function + 168(param): 8(ptr) Variable Function + 169(param): 21(ptr) Variable Function + Store 80(myarray) 83 + Store 85(param) 84 + 86: 2 FunctionCall 43(fn3(i1;) 85(param) + Store 88(param) 87 + 89: 2 FunctionCall 43(fn3(i1;) 88(param) + Store 101(param) 91 + Store 102(param) 96 + Store 103(param) 99 + Store 104(param) 100 + 105: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 101(param) 102(param) 103(param) 104(param) + Store 111(param) 107 + 114: 113(ptr) AccessChain 110 54 + 115: 7(ivec4) Load 114 + Store 112(param) 115 + Store 116(param) 99 + Store 117(param) 100 + 118: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 111(param) 112(param) 116(param) 117(param) + 119: 7(ivec4) IAdd 105 118 + Store 122(param) 121 + 124: 113(ptr) AccessChain 110 54 + 125: 7(ivec4) Load 124 + Store 123(param) 125 + 127: 19 Load 80(myarray) + Store 126(param) 127 + Store 128(param) 100 + 129: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 122(param) 123(param) 126(param) 128(param) + 130: 7(ivec4) IAdd 119 129 + Store 134(param) 132 + 136: 113(ptr) AccessChain 110 54 + 137: 7(ivec4) Load 136 + Store 135(param) 137 + 139: 19 Load 80(myarray) + Store 138(param) 139 + Store 140(param) 133 + 141: 7(ivec4) FunctionCall 27(fn1(vi4;vi4;i1[2];i1;) 134(param) 135(param) 138(param) 140(param) + 142: 7(ivec4) IAdd 130 141 + Store 146(param) 144 + Store 147(param) 145 + Store 148(param) 145 + 149: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 146(param) 147(param) 148(param) + 150: 7(ivec4) IAdd 142 149 + Store 154(param) 152 + Store 155(param) 145 + Store 156(param) 153 + 157: 7(ivec4) FunctionCall 15(fn1(vi4;b1;b1;) 154(param) 155(param) 156(param) + 158: 7(ivec4) IAdd 150 157 + Store 162(param) 160 + Store 163(param) 161 + 164: 7(ivec4) FunctionCall 39(fn2(vi4;f1;) 162(param) 163(param) + 165: 7(ivec4) IAdd 158 164 + Store 168(param) 167 + Store 169(param) 66 + 170: 7(ivec4) FunctionCall 32(fn2(vi4;i1;) 168(param) 169(param) + 171: 7(ivec4) IAdd 165 170 + ReturnValue 171 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out index fa723f3e107..219e920a71c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.params.default.negative.frag.out @@ -9,9 +9,9 @@ ERROR: 4 compilation errors. No code generated. Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:7 Function Definition: fn1(vi4; (temp 4-component vector of int) +0:7 Function Definition: fn1(vi4; ( temp 4-component vector of int) 0:7 Function Parameters: -0:7 'p0' (in 4-component vector of int) +0:7 'p0' ( in 4-component vector of int) 0:? Sequence 0:7 Branch: Return with expression 0:? Constant: @@ -19,36 +19,36 @@ ERROR: node is still EOpNull! 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:9 Function Definition: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) 0:9 Function Parameters: -0:9 'p0' (in 4-component vector of int) -0:9 'b1' (in bool) -0:9 'b2' (in bool) +0:9 'p0' ( in 4-component vector of int) +0:9 'b1' ( in bool) +0:9 'b2' ( in bool) 0:? Sequence 0:10 Branch: Return with expression -0:10 'p0' (in 4-component vector of int) -0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:10 'p0' ( in 4-component vector of int) +0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) 0:17 Function Parameters: -0:17 'p0' (in 4-component vector of int) -0:17 'p1' (in 4-component vector of int) -0:17 'p2' (in 2-element array of int) -0:17 'p3' (in int) +0:17 'p0' ( in 4-component vector of int) +0:17 'p1' ( in 4-component vector of int) +0:17 'p2' ( in 2-element array of int) +0:17 'p3' ( in int) 0:? Sequence 0:18 Branch: Return with expression -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 'p0' (in 4-component vector of int) -0:18 'p1' (in 4-component vector of int) -0:18 direct index (temp int) -0:18 'p2' (in 2-element array of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 'p0' ( in 4-component vector of int) +0:18 'p1' ( in 4-component vector of int) +0:18 direct index ( temp int) +0:18 'p2' ( in 2-element array of int) 0:18 Constant: 0:18 0 (const int) -0:18 'p3' (in int) -0:23 Function Definition: fn2(vi4;i1; (temp 4-component vector of int) +0:18 'p3' ( in int) +0:23 Function Definition: fn2(vi4;i1; ( temp 4-component vector of int) 0:23 Function Parameters: -0:23 'p0' (in 4-component vector of int) -0:23 'x' (in int) +0:23 'p0' ( in 4-component vector of int) +0:23 'x' ( in int) 0:? Sequence 0:24 Branch: Return with expression 0:? Constant: @@ -56,138 +56,141 @@ ERROR: node is still EOpNull! 0:? 11 (const int) 0:? 12 (const int) 0:? 13 (const int) -0:28 Function Definition: fn2(vi4; (temp 4-component vector of int) +0:28 Function Definition: fn2(vi4; ( temp 4-component vector of int) 0:28 Function Parameters: -0:28 'p0' (in 4-component vector of int) +0:28 'p0' ( in 4-component vector of int) 0:? Sequence 0:29 Branch: Return with expression -0:29 add (temp 4-component vector of int) -0:29 'p0' (in 4-component vector of int) +0:29 add ( temp 4-component vector of int) +0:29 'p0' ( in 4-component vector of int) 0:? Constant: 0:? 20 (const int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) -0:33 Function Definition: fn3(i1; (temp void) +0:33 Function Definition: fn3(i1; ( temp void) 0:33 Function Parameters: -0:33 'p0' (in int) -0:37 Function Definition: main( (temp 4-component vector of int) +0:33 'p0' ( in int) +0:37 Function Definition: @main( ( temp 4-component vector of int) 0:37 Function Parameters: 0:? Sequence 0:38 Sequence -0:38 move second child to first child (temp 2-element array of int) -0:38 'myarray' (temp 2-element array of int) +0:38 move second child to first child ( temp 2-element array of int) +0:38 'myarray' ( temp 2-element array of int) 0:38 Constant: 0:38 30 (const int) 0:38 31 (const int) -0:49 Sequence -0:49 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:48 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:41 add (temp 4-component vector of int) -0:40 add (temp 4-component vector of int) -0:40 Function Call: fn1(vi4; (temp 4-component vector of int) -0:40 Constant: -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:49 Branch: Return with expression +0:48 add ( temp 4-component vector of int) +0:47 add ( temp 4-component vector of int) +0:45 add ( temp 4-component vector of int) +0:44 add ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:42 add ( temp 4-component vector of int) +0:41 add ( temp 4-component vector of int) +0:40 add ( temp 4-component vector of int) +0:40 Function Call: fn1(vi4; ( temp 4-component vector of int) +0:40 Constant: +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:41 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:41 Constant: +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 ui4: direct index for structure ( uniform 4-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) 0:41 Constant: -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:41 Constant: -0:41 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:42 Constant: -0:42 0 (const uint) -0:42 'myarray' (temp 2-element array of int) +0:41 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:43 Constant: -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:43 Constant: -0:43 0 (const uint) -0:43 'myarray' (temp 2-element array of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:42 Constant: +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 ui4: direct index for structure ( uniform 4-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) +0:42 Constant: +0:42 0 (const uint) +0:42 'myarray' ( temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:43 Constant: +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 ui4: direct index for structure ( uniform 4-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) 0:43 Constant: -0:43 99 (const int) -0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:44 Constant: -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 Constant: -0:44 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:45 Constant: -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 Constant: -0:45 false (const bool) -0:45 Constant: -0:45 true (const bool) -0:47 Function Call: fn2(vi4; (temp 4-component vector of int) -0:47 Constant: -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:48 Constant: -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 Constant: -0:48 11 (const int) -0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:49 Constant: -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 Constant: -0:49 12 (const int) -0:49 Branch: Return +0:43 0 (const uint) +0:43 'myarray' ( temp 2-element array of int) +0:43 Constant: +0:43 99 (const int) +0:44 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:44 Constant: +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 Constant: +0:44 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:45 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:45 Constant: +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 Constant: +0:45 false (const bool) +0:45 Constant: +0:45 true (const bool) +0:47 Function Call: fn2(vi4; ( temp 4-component vector of int) +0:47 Constant: +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:48 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:48 Constant: +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 Constant: +0:48 11 (const int) +0:49 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:49 Constant: +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 Constant: +0:49 12 (const int) +0:37 Function Definition: main( ( temp void) +0:37 Function Parameters: +0:? Sequence +0:37 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:37 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'cia' (const int) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) +0:? 'cia' ( const int) 0:? -4 (const int) -0:? 'cib' (const int) +0:? 'cib' ( const int) 0:? -42 (const int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) Linked fragment stage: @@ -196,9 +199,9 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:7 Function Definition: fn1(vi4; (temp 4-component vector of int) +0:7 Function Definition: fn1(vi4; ( temp 4-component vector of int) 0:7 Function Parameters: -0:7 'p0' (in 4-component vector of int) +0:7 'p0' ( in 4-component vector of int) 0:? Sequence 0:7 Branch: Return with expression 0:? Constant: @@ -206,36 +209,36 @@ ERROR: node is still EOpNull! 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:9 Function Definition: fn1(vi4;b1;b1; (temp 4-component vector of int) +0:9 Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int) 0:9 Function Parameters: -0:9 'p0' (in 4-component vector of int) -0:9 'b1' (in bool) -0:9 'b2' (in bool) +0:9 'p0' ( in 4-component vector of int) +0:9 'b1' ( in bool) +0:9 'b2' ( in bool) 0:? Sequence 0:10 Branch: Return with expression -0:10 'p0' (in 4-component vector of int) -0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:10 'p0' ( in 4-component vector of int) +0:17 Function Definition: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) 0:17 Function Parameters: -0:17 'p0' (in 4-component vector of int) -0:17 'p1' (in 4-component vector of int) -0:17 'p2' (in 2-element array of int) -0:17 'p3' (in int) +0:17 'p0' ( in 4-component vector of int) +0:17 'p1' ( in 4-component vector of int) +0:17 'p2' ( in 2-element array of int) +0:17 'p3' ( in int) 0:? Sequence 0:18 Branch: Return with expression -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 add (temp 4-component vector of int) -0:18 'p0' (in 4-component vector of int) -0:18 'p1' (in 4-component vector of int) -0:18 direct index (temp int) -0:18 'p2' (in 2-element array of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 add ( temp 4-component vector of int) +0:18 'p0' ( in 4-component vector of int) +0:18 'p1' ( in 4-component vector of int) +0:18 direct index ( temp int) +0:18 'p2' ( in 2-element array of int) 0:18 Constant: 0:18 0 (const int) -0:18 'p3' (in int) -0:23 Function Definition: fn2(vi4;i1; (temp 4-component vector of int) +0:18 'p3' ( in int) +0:23 Function Definition: fn2(vi4;i1; ( temp 4-component vector of int) 0:23 Function Parameters: -0:23 'p0' (in 4-component vector of int) -0:23 'x' (in int) +0:23 'p0' ( in 4-component vector of int) +0:23 'x' ( in int) 0:? Sequence 0:24 Branch: Return with expression 0:? Constant: @@ -243,137 +246,140 @@ ERROR: node is still EOpNull! 0:? 11 (const int) 0:? 12 (const int) 0:? 13 (const int) -0:28 Function Definition: fn2(vi4; (temp 4-component vector of int) +0:28 Function Definition: fn2(vi4; ( temp 4-component vector of int) 0:28 Function Parameters: -0:28 'p0' (in 4-component vector of int) +0:28 'p0' ( in 4-component vector of int) 0:? Sequence 0:29 Branch: Return with expression -0:29 add (temp 4-component vector of int) -0:29 'p0' (in 4-component vector of int) +0:29 add ( temp 4-component vector of int) +0:29 'p0' ( in 4-component vector of int) 0:? Constant: 0:? 20 (const int) 0:? 21 (const int) 0:? 22 (const int) 0:? 23 (const int) -0:33 Function Definition: fn3(i1; (temp void) +0:33 Function Definition: fn3(i1; ( temp void) 0:33 Function Parameters: -0:33 'p0' (in int) -0:37 Function Definition: main( (temp 4-component vector of int) +0:33 'p0' ( in int) +0:37 Function Definition: @main( ( temp 4-component vector of int) 0:37 Function Parameters: 0:? Sequence 0:38 Sequence -0:38 move second child to first child (temp 2-element array of int) -0:38 'myarray' (temp 2-element array of int) +0:38 move second child to first child ( temp 2-element array of int) +0:38 'myarray' ( temp 2-element array of int) 0:38 Constant: 0:38 30 (const int) 0:38 31 (const int) -0:49 Sequence -0:49 move second child to first child (temp 4-component vector of int) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:48 add (temp 4-component vector of int) -0:47 add (temp 4-component vector of int) -0:45 add (temp 4-component vector of int) -0:44 add (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:42 add (temp 4-component vector of int) -0:41 add (temp 4-component vector of int) -0:40 add (temp 4-component vector of int) -0:40 Function Call: fn1(vi4; (temp 4-component vector of int) -0:40 Constant: -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:40 100 (const int) -0:41 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) +0:49 Branch: Return with expression +0:48 add ( temp 4-component vector of int) +0:47 add ( temp 4-component vector of int) +0:45 add ( temp 4-component vector of int) +0:44 add ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:42 add ( temp 4-component vector of int) +0:41 add ( temp 4-component vector of int) +0:40 add ( temp 4-component vector of int) +0:40 Function Call: fn1(vi4; ( temp 4-component vector of int) +0:40 Constant: +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:40 100 (const int) +0:41 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:41 Constant: +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 101 (const int) +0:41 ui4: direct index for structure ( uniform 4-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) 0:41 Constant: -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 101 (const int) -0:41 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:41 Constant: -0:41 0 (const uint) -0:15 Constant: -0:15 1 (const int) -0:15 2 (const int) -0:16 Constant: -0:16 42 (const int) -0:42 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:42 Constant: -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 102 (const int) -0:42 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:42 Constant: -0:42 0 (const uint) -0:42 'myarray' (temp 2-element array of int) +0:41 0 (const uint) +0:15 Constant: +0:15 1 (const int) +0:15 2 (const int) 0:16 Constant: 0:16 42 (const int) -0:43 Function Call: fn1(vi4;vi4;i1[2];i1; (temp 4-component vector of int) -0:43 Constant: -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 103 (const int) -0:43 ui4: direct index for structure (layout(offset=0 ) uniform 4-component vector of int) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) -0:43 Constant: -0:43 0 (const uint) -0:43 'myarray' (temp 2-element array of int) +0:42 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:42 Constant: +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 102 (const int) +0:42 ui4: direct index for structure ( uniform 4-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) +0:42 Constant: +0:42 0 (const uint) +0:42 'myarray' ( temp 2-element array of int) +0:16 Constant: +0:16 42 (const int) +0:43 Function Call: fn1(vi4;vi4;i1[2];i1; ( temp 4-component vector of int) +0:43 Constant: +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 103 (const int) +0:43 ui4: direct index for structure ( uniform 4-component vector of int) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) 0:43 Constant: -0:43 99 (const int) -0:44 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:44 Constant: -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 104 (const int) -0:44 Constant: -0:44 false (const bool) -0:9 Constant: -0:9 false (const bool) -0:45 Function Call: fn1(vi4;b1;b1; (temp 4-component vector of int) -0:45 Constant: -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 105 (const int) -0:45 Constant: -0:45 false (const bool) -0:45 Constant: -0:45 true (const bool) -0:47 Function Call: fn2(vi4; (temp 4-component vector of int) -0:47 Constant: -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:47 112 (const int) -0:48 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:48 Constant: -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 110 (const int) -0:48 Constant: -0:48 11 (const int) -0:49 Function Call: fn2(vi4;i1; (temp 4-component vector of int) -0:49 Constant: -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 111 (const int) -0:49 Constant: -0:49 12 (const int) -0:49 Branch: Return +0:43 0 (const uint) +0:43 'myarray' ( temp 2-element array of int) +0:43 Constant: +0:43 99 (const int) +0:44 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:44 Constant: +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 104 (const int) +0:44 Constant: +0:44 false (const bool) +0:9 Constant: +0:9 false (const bool) +0:45 Function Call: fn1(vi4;b1;b1; ( temp 4-component vector of int) +0:45 Constant: +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 105 (const int) +0:45 Constant: +0:45 false (const bool) +0:45 Constant: +0:45 true (const bool) +0:47 Function Call: fn2(vi4; ( temp 4-component vector of int) +0:47 Constant: +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:47 112 (const int) +0:48 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:48 Constant: +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 110 (const int) +0:48 Constant: +0:48 11 (const int) +0:49 Function Call: fn2(vi4;i1; ( temp 4-component vector of int) +0:49 Constant: +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 111 (const int) +0:49 Constant: +0:49 12 (const int) +0:37 Function Definition: main( ( temp void) +0:37 Function Parameters: +0:? Sequence +0:37 move second child to first child ( temp 4-component vector of int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) +0:37 Function Call: @main( ( temp 4-component vector of int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of int) -0:? 'cia' (const int) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4, uniform float ufvar}) +0:? 'cia' ( const int) 0:? -4 (const int) -0:? 'cib' (const int) +0:? 'cib' ( const int) 0:? -42 (const int) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of int ui4, layout(offset=16 ) uniform float ufvar}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of int) SPIR-V is not generated for failed compile or link diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out index e0bda0e1bf8..2dc40bee703 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out @@ -6,27 +6,27 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'gv' (global 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'gv' ( global 4-component vector of float) 0:8 Constant: 0:8 0.000000 0:8 0.000000 0:8 1.000000 0:8 0.000000 0:9 Sequence -0:9 move second child to first child (temp 3-element array of float) -0:9 'gfa' (global 3-element array of float) +0:9 move second child to first child ( temp 3-element array of float) +0:9 'gfa' ( global 3-element array of float) 0:9 Constant: 0:9 0.000000 0:9 0.000000 0:9 0.000000 -0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Function Parameters: -0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:18 'input' ( in 4-component vector of float) 0:? Sequence 0:19 Sequence -0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:19 'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 'o2' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:19 Constant: 0:19 3 (const int) 0:19 0.000000 @@ -35,20 +35,20 @@ gl_FragCoord origin is upper left 0:19 0.000000 0:19 0.000000 0:19 0.000000 -0:21 move second child to first child (temp 4-component vector of float) -0:21 v: direct index for structure (temp 4-component vector of float) -0:21 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 v: direct index for structure ( temp 4-component vector of float) +0:21 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:21 Constant: 0:21 3 (const int) -0:21 vector-scale (temp 4-component vector of float) -0:21 'gv' (global 4-component vector of float) -0:21 direct index (temp float) -0:21 'gfa' (global 3-element array of float) +0:21 vector-scale ( temp 4-component vector of float) +0:21 'gv' ( global 4-component vector of float) +0:21 direct index ( temp float) +0:21 'gfa' ( global 3-element array of float) 0:21 Constant: 0:21 2 (const int) 0:22 Sequence -0:22 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:22 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 'o1' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:22 Constant: 0:22 0 (const int) 0:22 0.000000 @@ -58,8 +58,8 @@ gl_FragCoord origin is upper left 0:22 0.000000 0:22 0.000000 0:23 Sequence -0:23 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:23 'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 'o3' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:23 Constant: 0:23 0 (const int) 0:23 0.000000 @@ -68,8 +68,8 @@ gl_FragCoord origin is upper left 0:23 0.000000 0:23 0.000000 0:23 0.000000 -0:24 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:24 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:24 Constant: 0:24 0 (const int) 0:24 0.000000 @@ -78,18 +78,18 @@ gl_FragCoord origin is upper left 0:24 0.000000 0:24 0.000000 0:24 0.000000 -0:25 move second child to first child (temp bool) -0:25 c: direct index for structure (temp bool) -0:25 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 move second child to first child ( temp bool) +0:25 c: direct index for structure ( temp bool) +0:25 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:25 Constant: 0:25 2 (const int) -0:25 c: direct index for structure (temp bool) -0:25 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 c: direct index for structure ( temp bool) +0:25 'o1' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:25 Constant: 0:25 2 (const int) 0:26 Sequence -0:26 move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) -0:26 'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 move second child to first child ( temp structure{ temp 4X3 matrix of float m, temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 'nest' ( temp structure{ temp 4X3 matrix of float m, temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) 0:26 Constant: 0:26 0.000000 0:26 0.000000 @@ -112,8 +112,8 @@ gl_FragCoord origin is upper left 0:26 0.000000 0:26 false (const bool) 0:28 Sequence -0:28 move second child to first child (temp 4-element array of 2-component vector of float) -0:28 'gf2a' (temp 4-element array of 2-component vector of float) +0:28 move second child to first child ( temp 4-element array of 2-component vector of float) +0:28 'gf2a' ( temp 4-element array of 2-component vector of float) 0:28 Constant: 0:28 0.000000 0:28 0.000000 @@ -124,68 +124,78 @@ gl_FragCoord origin is upper left 0:28 0.000000 0:28 0.000000 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'cgi' (temp int) +0:29 move second child to first child ( temp int) +0:29 'cgi' ( temp int) 0:29 Constant: 0:29 0 (const int) -0:30 move second child to first child (temp float) -0:30 b: direct index for structure (temp float) -0:30 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:30 move second child to first child ( temp float) +0:30 b: direct index for structure ( temp float) +0:30 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:30 Constant: 0:30 1 (const int) -0:30 component-wise multiply (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 2-component vector of float) -0:30 'gf2a' (temp 4-element array of 2-component vector of float) +0:30 component-wise multiply ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 2-component vector of float) +0:30 'gf2a' ( temp 4-element array of 2-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 Convert int to float (temp float) -0:30 'cgi' (temp int) -0:32 Sequence -0:32 Sequence -0:32 move second child to first child (temp int) -0:? 'a' (layout(location=0 ) out int) -0:32 a: direct index for structure (temp int) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 0 (const int) -0:32 move second child to first child (temp float) -0:? 'b' (layout(location=1 ) out float) -0:32 b: direct index for structure (temp float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 1 (const int) -0:32 move second child to first child (temp bool) -0:? 'c' (layout(location=2 ) out bool) -0:32 c: direct index for structure (temp bool) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 2 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:32 v: direct index for structure (temp 4-component vector of float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 3 (const int) -0:32 Branch: Return +0:30 Convert int to float ( temp float) +0:30 'cgi' ( temp int) +0:32 Branch: Return with expression +0:32 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: PixelShaderFunction( ( temp void) +0:18 Function Parameters: +0:? Sequence +0:18 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:18 Sequence +0:18 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:? 'input' ( temp 4-component vector of float) +0:18 move second child to first child ( temp int) +0:? 'a' (layout( location=0) out int) +0:18 a: direct index for structure ( temp int) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 0 (const int) +0:18 move second child to first child ( temp float) +0:? 'b' (layout( location=1) out float) +0:18 b: direct index for structure ( temp float) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 1 (const int) +0:18 move second child to first child ( temp bool) +0:? 'c' (layout( location=2) out bool) +0:18 c: direct index for structure ( temp bool) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 2 (const int) +0:18 move second child to first child ( temp 4-component vector of float) +0:? 'v' (layout( location=3) out 4-component vector of float) +0:18 v: direct index for structure ( temp 4-component vector of float) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 3 (const int) 0:? Linker Objects -0:? 'a' (layout(location=0 ) out int) -0:? 'b' (layout(location=1 ) out float) -0:? 'c' (layout(location=2 ) out bool) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'gv' (global 4-component vector of float) -0:? 'gfa' (global 3-element array of float) -0:? 'cgf2a' (const 3-element array of 2-component vector of float) +0:? 'gv' ( global 4-component vector of float) +0:? 'gfa' ( global 3-element array of float) +0:? 'a' (layout( location=0) out int) +0:? 'b' (layout( location=1) out float) +0:? 'c' (layout( location=2) out bool) +0:? 'v' (layout( location=3) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'cgf2a' ( const 3-element array of 2-component vector of float) 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:? 'ci' (const int) +0:? 'ci' ( const int) 0:? 0 (const int) @@ -196,27 +206,27 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'gv' (global 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'gv' ( global 4-component vector of float) 0:8 Constant: 0:8 0.000000 0:8 0.000000 0:8 1.000000 0:8 0.000000 0:9 Sequence -0:9 move second child to first child (temp 3-element array of float) -0:9 'gfa' (global 3-element array of float) +0:9 move second child to first child ( temp 3-element array of float) +0:9 'gfa' ( global 3-element array of float) 0:9 Constant: 0:9 0.000000 0:9 0.000000 0:9 0.000000 -0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: @PixelShaderFunction(vf4; ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:18 Function Parameters: -0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:18 'input' ( in 4-component vector of float) 0:? Sequence 0:19 Sequence -0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:19 'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 'o2' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:19 Constant: 0:19 3 (const int) 0:19 0.000000 @@ -225,20 +235,20 @@ gl_FragCoord origin is upper left 0:19 0.000000 0:19 0.000000 0:19 0.000000 -0:21 move second child to first child (temp 4-component vector of float) -0:21 v: direct index for structure (temp 4-component vector of float) -0:21 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 v: direct index for structure ( temp 4-component vector of float) +0:21 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:21 Constant: 0:21 3 (const int) -0:21 vector-scale (temp 4-component vector of float) -0:21 'gv' (global 4-component vector of float) -0:21 direct index (temp float) -0:21 'gfa' (global 3-element array of float) +0:21 vector-scale ( temp 4-component vector of float) +0:21 'gv' ( global 4-component vector of float) +0:21 direct index ( temp float) +0:21 'gfa' ( global 3-element array of float) 0:21 Constant: 0:21 2 (const int) 0:22 Sequence -0:22 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:22 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 'o1' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:22 Constant: 0:22 0 (const int) 0:22 0.000000 @@ -248,8 +258,8 @@ gl_FragCoord origin is upper left 0:22 0.000000 0:22 0.000000 0:23 Sequence -0:23 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:23 'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 'o3' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:23 Constant: 0:23 0 (const int) 0:23 0.000000 @@ -258,8 +268,8 @@ gl_FragCoord origin is upper left 0:23 0.000000 0:23 0.000000 0:23 0.000000 -0:24 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:24 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:24 Constant: 0:24 0 (const int) 0:24 0.000000 @@ -268,18 +278,18 @@ gl_FragCoord origin is upper left 0:24 0.000000 0:24 0.000000 0:24 0.000000 -0:25 move second child to first child (temp bool) -0:25 c: direct index for structure (temp bool) -0:25 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 move second child to first child ( temp bool) +0:25 c: direct index for structure ( temp bool) +0:25 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:25 Constant: 0:25 2 (const int) -0:25 c: direct index for structure (temp bool) -0:25 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 c: direct index for structure ( temp bool) +0:25 'o1' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:25 Constant: 0:25 2 (const int) 0:26 Sequence -0:26 move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) -0:26 'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 move second child to first child ( temp structure{ temp 4X3 matrix of float m, temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 'nest' ( temp structure{ temp 4X3 matrix of float m, temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) 0:26 Constant: 0:26 0.000000 0:26 0.000000 @@ -302,8 +312,8 @@ gl_FragCoord origin is upper left 0:26 0.000000 0:26 false (const bool) 0:28 Sequence -0:28 move second child to first child (temp 4-element array of 2-component vector of float) -0:28 'gf2a' (temp 4-element array of 2-component vector of float) +0:28 move second child to first child ( temp 4-element array of 2-component vector of float) +0:28 'gf2a' ( temp 4-element array of 2-component vector of float) 0:28 Constant: 0:28 0.000000 0:28 0.000000 @@ -314,212 +324,243 @@ gl_FragCoord origin is upper left 0:28 0.000000 0:28 0.000000 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'cgi' (temp int) +0:29 move second child to first child ( temp int) +0:29 'cgi' ( temp int) 0:29 Constant: 0:29 0 (const int) -0:30 move second child to first child (temp float) -0:30 b: direct index for structure (temp float) -0:30 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:30 move second child to first child ( temp float) +0:30 b: direct index for structure ( temp float) +0:30 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) 0:30 Constant: 0:30 1 (const int) -0:30 component-wise multiply (temp float) -0:30 direct index (temp float) -0:30 direct index (temp 2-component vector of float) -0:30 'gf2a' (temp 4-element array of 2-component vector of float) +0:30 component-wise multiply ( temp float) +0:30 direct index ( temp float) +0:30 direct index ( temp 2-component vector of float) +0:30 'gf2a' ( temp 4-element array of 2-component vector of float) 0:30 Constant: 0:30 2 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 Convert int to float (temp float) -0:30 'cgi' (temp int) -0:32 Sequence -0:32 Sequence -0:32 move second child to first child (temp int) -0:? 'a' (layout(location=0 ) out int) -0:32 a: direct index for structure (temp int) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 0 (const int) -0:32 move second child to first child (temp float) -0:? 'b' (layout(location=1 ) out float) -0:32 b: direct index for structure (temp float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 1 (const int) -0:32 move second child to first child (temp bool) -0:? 'c' (layout(location=2 ) out bool) -0:32 c: direct index for structure (temp bool) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 2 (const int) -0:32 move second child to first child (temp 4-component vector of float) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:32 v: direct index for structure (temp 4-component vector of float) -0:32 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) -0:32 Constant: -0:32 3 (const int) -0:32 Branch: Return +0:30 Convert int to float ( temp float) +0:30 'cgi' ( temp int) +0:32 Branch: Return with expression +0:32 'o4' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Definition: PixelShaderFunction( ( temp void) +0:18 Function Parameters: +0:? Sequence +0:18 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:18 Sequence +0:18 move second child to first child ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Call: @PixelShaderFunction(vf4; ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:? 'input' ( temp 4-component vector of float) +0:18 move second child to first child ( temp int) +0:? 'a' (layout( location=0) out int) +0:18 a: direct index for structure ( temp int) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 0 (const int) +0:18 move second child to first child ( temp float) +0:? 'b' (layout( location=1) out float) +0:18 b: direct index for structure ( temp float) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 1 (const int) +0:18 move second child to first child ( temp bool) +0:? 'c' (layout( location=2) out bool) +0:18 c: direct index for structure ( temp bool) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 2 (const int) +0:18 move second child to first child ( temp 4-component vector of float) +0:? 'v' (layout( location=3) out 4-component vector of float) +0:18 v: direct index for structure ( temp 4-component vector of float) +0:18 'flattenTemp' ( temp structure{ temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Constant: +0:18 3 (const int) 0:? Linker Objects -0:? 'a' (layout(location=0 ) out int) -0:? 'b' (layout(location=1 ) out float) -0:? 'c' (layout(location=2 ) out bool) -0:? 'v' (layout(location=3 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'gv' (global 4-component vector of float) -0:? 'gfa' (global 3-element array of float) -0:? 'cgf2a' (const 3-element array of 2-component vector of float) +0:? 'gv' ( global 4-component vector of float) +0:? 'gfa' ( global 3-element array of float) +0:? 'a' (layout( location=0) out int) +0:? 'b' (layout( location=1) out float) +0:? 'c' (layout( location=2) out bool) +0:? 'v' (layout( location=3) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'cgf2a' ( const 3-element array of 2-component vector of float) 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:? 'ci' (const int) +0:? 'ci' ( const int) 0:? 0 (const int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 92 +// Id's are bound by 104 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 72 76 80 84 89 + EntryPoint Fragment 4 "PixelShaderFunction" 80 87 91 95 99 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "gv" - Name 17 "gfa" - Name 21 "outs" - MemberName 21(outs) 0 "a" - MemberName 21(outs) 1 "b" - MemberName 21(outs) 2 "c" - MemberName 21(outs) 3 "v" - Name 23 "o2" - Name 28 "o4" - Name 37 "o1" - Name 40 "o3" - Name 47 "Nest" - MemberName 47(Nest) 0 "m" - MemberName 47(Nest) 1 "os" - MemberName 47(Nest) 2 "b" - Name 49 "nest" - Name 57 "gf2a" - Name 61 "cgi" - Name 72 "a" - Name 76 "b" - Name 80 "c" - Name 84 "v" - Name 89 "input" - Decorate 72(a) Location 0 - Decorate 76(b) Location 1 - Decorate 80(c) Location 2 - Decorate 84(v) Location 3 - Decorate 89(input) Location 0 + Name 11 "outs" + MemberName 11(outs) 0 "a" + MemberName 11(outs) 1 "b" + MemberName 11(outs) 2 "c" + MemberName 11(outs) 3 "v" + Name 14 "@PixelShaderFunction(vf4;" + Name 13 "input" + Name 17 "gv" + Name 25 "gfa" + Name 28 "o2" + Name 33 "o4" + Name 41 "o1" + Name 44 "o3" + Name 51 "Nest" + MemberName 51(Nest) 0 "m" + MemberName 51(Nest) 1 "os" + MemberName 51(Nest) 2 "b" + Name 53 "nest" + Name 61 "gf2a" + Name 65 "cgi" + Name 78 "input" + Name 80 "input" + Name 82 "flattenTemp" + Name 83 "param" + Name 87 "a" + Name 91 "b" + Name 95 "c" + Name 99 "v" + Decorate 80(input) Location 0 + Decorate 87(a) Location 0 + Decorate 91(b) Location 1 + Decorate 95(c) Location 2 + Decorate 99(v) Location 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Private 7(fvec4) - 9(gv): 8(ptr) Variable Private - 10: 6(float) Constant 0 - 11: 6(float) Constant 1065353216 - 12: 7(fvec4) ConstantComposite 10 10 11 10 - 13: TypeInt 32 0 - 14: 13(int) Constant 3 - 15: TypeArray 6(float) 14 - 16: TypePointer Private 15 - 17(gfa): 16(ptr) Variable Private - 18: 15 ConstantComposite 10 10 10 - 19: TypeInt 32 1 - 20: TypeBool - 21(outs): TypeStruct 19(int) 6(float) 20(bool) 7(fvec4) - 22: TypePointer Function 21(outs) - 24: 19(int) Constant 3 - 25: 20(bool) ConstantFalse - 26: 7(fvec4) ConstantComposite 10 10 10 10 - 27: 21(outs) ConstantComposite 24 10 25 26 - 30: 19(int) Constant 2 - 31: TypePointer Private 6(float) - 35: TypePointer Function 7(fvec4) - 38: 19(int) Constant 0 - 39: 21(outs) ConstantComposite 38 10 25 26 - 41: TypePointer Function 20(bool) - 45: TypeVector 6(float) 3 - 46: TypeMatrix 45(fvec3) 4 - 47(Nest): TypeStruct 46 21(outs) 20(bool) - 48: TypePointer Function 47(Nest) - 50: 45(fvec3) ConstantComposite 10 10 10 - 51: 46 ConstantComposite 50 50 50 50 - 52: 47(Nest) ConstantComposite 51 39 25 - 53: TypeVector 6(float) 2 - 54: 13(int) Constant 4 - 55: TypeArray 53(fvec2) 54 - 56: TypePointer Function 55 - 58: 53(fvec2) ConstantComposite 10 10 - 59: 55 ConstantComposite 58 58 58 58 - 60: TypePointer Function 19(int) - 62: 19(int) Constant 1 - 63: 13(int) Constant 1 - 64: TypePointer Function 6(float) - 71: TypePointer Output 19(int) - 72(a): 71(ptr) Variable Output - 75: TypePointer Output 6(float) - 76(b): 75(ptr) Variable Output - 79: TypePointer Output 20(bool) - 80(c): 79(ptr) Variable Output - 83: TypePointer Output 7(fvec4) - 84(v): 83(ptr) Variable Output - 88: TypePointer Input 7(fvec4) - 89(input): 88(ptr) Variable Input - 90: TypeArray 53(fvec2) 14 - 91: 90 ConstantComposite 58 58 58 + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 1 + 10: TypeBool + 11(outs): TypeStruct 9(int) 6(float) 10(bool) 7(fvec4) + 12: TypeFunction 11(outs) 8(ptr) + 16: TypePointer Private 7(fvec4) + 17(gv): 16(ptr) Variable Private + 18: 6(float) Constant 0 + 19: 6(float) Constant 1065353216 + 20: 7(fvec4) ConstantComposite 18 18 19 18 + 21: TypeInt 32 0 + 22: 21(int) Constant 3 + 23: TypeArray 6(float) 22 + 24: TypePointer Private 23 + 25(gfa): 24(ptr) Variable Private + 26: 23 ConstantComposite 18 18 18 + 27: TypePointer Function 11(outs) + 29: 9(int) Constant 3 + 30: 10(bool) ConstantFalse + 31: 7(fvec4) ConstantComposite 18 18 18 18 + 32: 11(outs) ConstantComposite 29 18 30 31 + 35: 9(int) Constant 2 + 36: TypePointer Private 6(float) + 42: 9(int) Constant 0 + 43: 11(outs) ConstantComposite 42 18 30 31 + 45: TypePointer Function 10(bool) + 49: TypeVector 6(float) 3 + 50: TypeMatrix 49(fvec3) 4 + 51(Nest): TypeStruct 50 11(outs) 10(bool) + 52: TypePointer Function 51(Nest) + 54: 49(fvec3) ConstantComposite 18 18 18 + 55: 50 ConstantComposite 54 54 54 54 + 56: 51(Nest) ConstantComposite 55 43 30 + 57: TypeVector 6(float) 2 + 58: 21(int) Constant 4 + 59: TypeArray 57(fvec2) 58 + 60: TypePointer Function 59 + 62: 57(fvec2) ConstantComposite 18 18 + 63: 59 ConstantComposite 62 62 62 62 + 64: TypePointer Function 9(int) + 66: 9(int) Constant 1 + 67: 21(int) Constant 1 + 68: TypePointer Function 6(float) + 79: TypePointer Input 7(fvec4) + 80(input): 79(ptr) Variable Input + 86: TypePointer Output 9(int) + 87(a): 86(ptr) Variable Output + 90: TypePointer Output 6(float) + 91(b): 90(ptr) Variable Output + 94: TypePointer Output 10(bool) + 95(c): 94(ptr) Variable Output + 98: TypePointer Output 7(fvec4) + 99(v): 98(ptr) Variable Output + 102: TypeArray 57(fvec2) 22 + 103: 102 ConstantComposite 62 62 62 4(PixelShaderFunction): 2 Function None 3 5: Label - 23(o2): 22(ptr) Variable Function - 28(o4): 22(ptr) Variable Function - 37(o1): 22(ptr) Variable Function - 40(o3): 22(ptr) Variable Function - 49(nest): 48(ptr) Variable Function - 57(gf2a): 56(ptr) Variable Function - 61(cgi): 60(ptr) Variable Function - Store 9(gv) 12 - Store 17(gfa) 18 - Store 23(o2) 27 - 29: 7(fvec4) Load 9(gv) - 32: 31(ptr) AccessChain 17(gfa) 30 - 33: 6(float) Load 32 - 34: 7(fvec4) VectorTimesScalar 29 33 - 36: 35(ptr) AccessChain 28(o4) 24 - Store 36 34 - Store 37(o1) 39 - Store 40(o3) 39 - Store 28(o4) 39 - 42: 41(ptr) AccessChain 37(o1) 30 - 43: 20(bool) Load 42 - 44: 41(ptr) AccessChain 28(o4) 30 - Store 44 43 - Store 49(nest) 52 - Store 57(gf2a) 59 - Store 61(cgi) 38 - 65: 64(ptr) AccessChain 57(gf2a) 30 63 - 66: 6(float) Load 65 - 67: 19(int) Load 61(cgi) - 68: 6(float) ConvertSToF 67 - 69: 6(float) FMul 66 68 - 70: 64(ptr) AccessChain 28(o4) 62 - Store 70 69 - 73: 60(ptr) AccessChain 28(o4) 38 - 74: 19(int) Load 73 - Store 72(a) 74 - 77: 64(ptr) AccessChain 28(o4) 62 - 78: 6(float) Load 77 - Store 76(b) 78 - 81: 41(ptr) AccessChain 28(o4) 30 - 82: 20(bool) Load 81 - Store 80(c) 82 - 85: 35(ptr) AccessChain 28(o4) 24 - 86: 7(fvec4) Load 85 - Store 84(v) 86 + 78(input): 8(ptr) Variable Function + 82(flattenTemp): 27(ptr) Variable Function + 83(param): 8(ptr) Variable Function + Store 17(gv) 20 + Store 25(gfa) 26 + 81: 7(fvec4) Load 80(input) + Store 78(input) 81 + 84: 7(fvec4) Load 78(input) + Store 83(param) 84 + 85: 11(outs) FunctionCall 14(@PixelShaderFunction(vf4;) 83(param) + Store 82(flattenTemp) 85 + 88: 64(ptr) AccessChain 82(flattenTemp) 42 + 89: 9(int) Load 88 + Store 87(a) 89 + 92: 68(ptr) AccessChain 82(flattenTemp) 66 + 93: 6(float) Load 92 + Store 91(b) 93 + 96: 45(ptr) AccessChain 82(flattenTemp) 35 + 97: 10(bool) Load 96 + Store 95(c) 97 + 100: 8(ptr) AccessChain 82(flattenTemp) 29 + 101: 7(fvec4) Load 100 + Store 99(v) 101 Return FunctionEnd +14(@PixelShaderFunction(vf4;): 11(outs) Function None 12 + 13(input): 8(ptr) FunctionParameter + 15: Label + 28(o2): 27(ptr) Variable Function + 33(o4): 27(ptr) Variable Function + 41(o1): 27(ptr) Variable Function + 44(o3): 27(ptr) Variable Function + 53(nest): 52(ptr) Variable Function + 61(gf2a): 60(ptr) Variable Function + 65(cgi): 64(ptr) Variable Function + Store 28(o2) 32 + 34: 7(fvec4) Load 17(gv) + 37: 36(ptr) AccessChain 25(gfa) 35 + 38: 6(float) Load 37 + 39: 7(fvec4) VectorTimesScalar 34 38 + 40: 8(ptr) AccessChain 33(o4) 29 + Store 40 39 + Store 41(o1) 43 + Store 44(o3) 43 + Store 33(o4) 43 + 46: 45(ptr) AccessChain 41(o1) 35 + 47: 10(bool) Load 46 + 48: 45(ptr) AccessChain 33(o4) 35 + Store 48 47 + Store 53(nest) 56 + Store 61(gf2a) 63 + Store 65(cgi) 42 + 69: 68(ptr) AccessChain 61(gf2a) 35 67 + 70: 6(float) Load 69 + 71: 9(int) Load 65(cgi) + 72: 6(float) ConvertSToF 71 + 73: 6(float) FMul 70 72 + 74: 68(ptr) AccessChain 33(o4) 66 + Store 74 73 + 75: 11(outs) Load 33(o4) + ReturnValue 75 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out index 6bbbee64510..6e8998d9f5c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.pp.line.frag.out @@ -2,53 +2,59 @@ hlsl.pp.line.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:4 Function Parameters: 0:? Sequence 0:124 Sequence -0:124 move second child to first child (temp int) -0:124 'thisLineIs' (temp int) +0:124 move second child to first child ( temp int) +0:124 'thisLineIs' ( temp int) 0:124 Constant: 0:124 124 (const int) -0:126 move second child to first child (temp 4-component vector of float) -0:126 Color: direct index for structure (temp 4-component vector of float) -0:126 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 Color: direct index for structure ( temp 4-component vector of float) +0:126 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:126 Constant: 0:126 0 (const int) -0:? Construct vec4 (temp 4-component vector of float) -0:126 Convert int to float (temp float) -0:126 'thisLineIs' (temp int) +0:? Construct vec4 ( temp 4-component vector of float) +0:126 Convert int to float ( temp float) +0:126 'thisLineIs' ( temp int) 0:126 Constant: 0:126 0.000000 0:126 Constant: 0:126 0.000000 0:126 Constant: 0:126 1.000000 -0:127 move second child to first child (temp float) -0:127 Depth: direct index for structure (temp float) -0:127 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:127 move second child to first child ( temp float) +0:127 Depth: direct index for structure ( temp float) +0:127 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:127 Constant: 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 Sequence -0:129 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:129 Color: direct index for structure (temp 4-component vector of float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 0 (const int) -0:129 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:129 Depth: direct index for structure (temp float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 1 (const int) -0:129 Branch: Return +0:129 Branch: Return with expression +0:129 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:4 Color: direct index for structure ( temp 4-component vector of float) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 0 (const int) +0:4 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:4 Depth: direct index for structure ( temp float) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -57,109 +63,126 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:4 Function Parameters: 0:? Sequence 0:124 Sequence -0:124 move second child to first child (temp int) -0:124 'thisLineIs' (temp int) +0:124 move second child to first child ( temp int) +0:124 'thisLineIs' ( temp int) 0:124 Constant: 0:124 124 (const int) -0:126 move second child to first child (temp 4-component vector of float) -0:126 Color: direct index for structure (temp 4-component vector of float) -0:126 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 Color: direct index for structure ( temp 4-component vector of float) +0:126 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:126 Constant: 0:126 0 (const int) -0:? Construct vec4 (temp 4-component vector of float) -0:126 Convert int to float (temp float) -0:126 'thisLineIs' (temp int) +0:? Construct vec4 ( temp 4-component vector of float) +0:126 Convert int to float ( temp float) +0:126 'thisLineIs' ( temp int) 0:126 Constant: 0:126 0.000000 0:126 Constant: 0:126 0.000000 0:126 Constant: 0:126 1.000000 -0:127 move second child to first child (temp float) -0:127 Depth: direct index for structure (temp float) -0:127 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:127 move second child to first child ( temp float) +0:127 Depth: direct index for structure ( temp float) +0:127 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:127 Constant: 0:127 1 (const int) 0:127 Constant: 0:127 1.000000 -0:129 Sequence -0:129 Sequence -0:129 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:129 Color: direct index for structure (temp 4-component vector of float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 0 (const int) -0:129 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:129 Depth: direct index for structure (temp float) -0:129 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:129 Constant: -0:129 1 (const int) -0:129 Branch: Return +0:129 Branch: Return with expression +0:129 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 Sequence +0:4 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:4 Color: direct index for structure ( temp 4-component vector of float) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 0 (const int) +0:4 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:4 Depth: direct index for structure ( temp float) +0:4 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:4 Constant: +0:4 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 35 +// Id's are bound by 42 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 27 31 + EntryPoint Fragment 4 "main" 35 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "thisLineIs" - Name 12 "PS_OUTPUT" - MemberName 12(PS_OUTPUT) 0 "Color" - MemberName 12(PS_OUTPUT) 1 "Depth" - Name 14 "psout" - Name 27 "Color" - Name 31 "Depth" - Decorate 27(Color) Location 0 - Decorate 31(Depth) BuiltIn FragDepth + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 14 "thisLineIs" + Name 17 "psout" + Name 32 "flattenTemp" + Name 35 "Color" + Name 39 "Depth" + Decorate 35(Color) Location 0 + Decorate 39(Depth) BuiltIn FragDepth 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 124 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12(PS_OUTPUT): TypeStruct 11(fvec4) 10(float) - 13: TypePointer Function 12(PS_OUTPUT) - 15: 6(int) Constant 0 - 18: 10(float) Constant 0 - 19: 10(float) Constant 1065353216 - 21: TypePointer Function 11(fvec4) - 23: 6(int) Constant 1 - 24: TypePointer Function 10(float) - 26: TypePointer Output 11(fvec4) - 27(Color): 26(ptr) Variable Output - 30: TypePointer Output 10(float) - 31(Depth): 30(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypePointer Function 12(int) + 15: 12(int) Constant 124 + 16: TypePointer Function 8(PS_OUTPUT) + 18: 12(int) Constant 0 + 21: 6(float) Constant 0 + 22: 6(float) Constant 1065353216 + 24: TypePointer Function 7(fvec4) + 26: 12(int) Constant 1 + 27: TypePointer Function 6(float) + 34: TypePointer Output 7(fvec4) + 35(Color): 34(ptr) Variable Output + 38: TypePointer Output 6(float) + 39(Depth): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(thisLineIs): 7(ptr) Variable Function - 14(psout): 13(ptr) Variable Function - Store 8(thisLineIs) 9 - 16: 6(int) Load 8(thisLineIs) - 17: 10(float) ConvertSToF 16 - 20: 11(fvec4) CompositeConstruct 17 18 18 19 - 22: 21(ptr) AccessChain 14(psout) 15 - Store 22 20 - 25: 24(ptr) AccessChain 14(psout) 23 - Store 25 19 - 28: 21(ptr) AccessChain 14(psout) 15 - 29: 11(fvec4) Load 28 - Store 27(Color) 29 - 32: 24(ptr) AccessChain 14(psout) 23 - 33: 10(float) Load 32 - Store 31(Depth) 33 + 32(flattenTemp): 16(ptr) Variable Function + 33:8(PS_OUTPUT) FunctionCall 10(@main() + Store 32(flattenTemp) 33 + 36: 24(ptr) AccessChain 32(flattenTemp) 18 + 37: 7(fvec4) Load 36 + Store 35(Color) 37 + 40: 27(ptr) AccessChain 32(flattenTemp) 26 + 41: 6(float) Load 40 + Store 39(Depth) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 14(thisLineIs): 13(ptr) Variable Function + 17(psout): 16(ptr) Variable Function + Store 14(thisLineIs) 15 + 19: 12(int) Load 14(thisLineIs) + 20: 6(float) ConvertSToF 19 + 23: 7(fvec4) CompositeConstruct 20 21 21 22 + 25: 24(ptr) AccessChain 17(psout) 18 + Store 25 23 + 28: 27(ptr) AccessChain 17(psout) 26 + Store 28 22 + 29:8(PS_OUTPUT) Load 17(psout) + ReturnValue 29 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out index 1e18a405b8b..54dcf3124db 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence.frag.out @@ -2,55 +2,74 @@ hlsl.precedence.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in 4-component vector of float) -0:7 'a2' (layout(location=1 ) in 4-component vector of float) -0:7 'a3' (layout(location=2 ) in 4-component vector of float) -0:7 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 'a1' ( in 4-component vector of float) +0:7 'a2' ( in 4-component vector of float) +0:7 'a3' ( in 4-component vector of float) +0:7 'a4' ( in 4-component vector of float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 component-wise multiply ( temp 4-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 'a3' ( in 4-component vector of float) +0:8 'a4' ( in 4-component vector of float) +0:? Construct vec4 ( temp 4-component vector of float) +0:8 component-wise multiply ( temp 3-component vector of float) +0:8 vector swizzle ( temp 3-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle ( temp 3-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index ( temp float) +0:8 'a3' ( in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:7 Function Definition: PixelShaderFunction( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'a1' (layout(location=0 ) in 4-component vector of float) -0:? 'a2' (layout(location=1 ) in 4-component vector of float) -0:? 'a3' (layout(location=2 ) in 4-component vector of float) -0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) Linked fragment stage: @@ -59,112 +78,179 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float) +0:7 Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in 4-component vector of float) -0:7 'a2' (layout(location=1 ) in 4-component vector of float) -0:7 'a3' (layout(location=2 ) in 4-component vector of float) -0:7 'a4' (layout(location=3 ) in 4-component vector of float) +0:7 'a1' ( in 4-component vector of float) +0:7 'a2' ( in 4-component vector of float) +0:7 'a3' ( in 4-component vector of float) +0:7 'a4' ( in 4-component vector of float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 add (temp 4-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 component-wise multiply (temp 4-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 'a4' (layout(location=3 ) in 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) -0:8 component-wise multiply (temp 3-component vector of float) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a1' (layout(location=0 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 vector swizzle (temp 3-component vector of float) -0:8 'a2' (layout(location=1 ) in 4-component vector of float) -0:8 Sequence -0:8 Constant: -0:8 0 (const int) -0:8 Constant: -0:8 1 (const int) -0:8 Constant: -0:8 2 (const int) -0:8 direct index (temp float) -0:8 'a3' (layout(location=2 ) in 4-component vector of float) -0:8 Constant: -0:8 3 (const int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:8 add ( temp 4-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 component-wise multiply ( temp 4-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 'a3' ( in 4-component vector of float) +0:8 'a4' ( in 4-component vector of float) +0:? Construct vec4 ( temp 4-component vector of float) +0:8 component-wise multiply ( temp 3-component vector of float) +0:8 vector swizzle ( temp 3-component vector of float) +0:8 'a1' ( in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 vector swizzle ( temp 3-component vector of float) +0:8 'a2' ( in 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 direct index ( temp float) +0:8 'a3' ( in 4-component vector of float) +0:8 Constant: +0:8 3 (const int) +0:7 Function Definition: PixelShaderFunction( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @PixelShaderFunction(vf4;vf4;vf4;vf4; ( temp 4-component vector of float) +0:? 'a1' ( temp 4-component vector of float) +0:? 'a2' ( temp 4-component vector of float) +0:? 'a3' ( temp 4-component vector of float) +0:? 'a4' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'a1' (layout(location=0 ) in 4-component vector of float) -0:? 'a2' (layout(location=1 ) in 4-component vector of float) -0:? 'a3' (layout(location=2 ) in 4-component vector of float) -0:? 'a4' (layout(location=3 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'a1' (layout( location=0) in 4-component vector of float) +0:? 'a2' (layout( location=1) in 4-component vector of float) +0:? 'a3' (layout( location=2) in 4-component vector of float) +0:? 'a4' (layout( location=3) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 65 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 13 15 19 + EntryPoint Fragment 4 "PixelShaderFunction" 43 46 49 52 55 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "a1" - Name 13 "a2" - Name 15 "a3" - Name 19 "a4" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(a1) Location 0 - Decorate 13(a2) Location 1 - Decorate 15(a3) Location 2 - Decorate 19(a4) Location 3 + Name 14 "@PixelShaderFunction(vf4;vf4;vf4;vf4;" + Name 10 "a1" + Name 11 "a2" + Name 12 "a3" + Name 13 "a4" + Name 41 "a1" + Name 43 "a1" + Name 45 "a2" + Name 46 "a2" + Name 48 "a3" + Name 49 "a3" + Name 51 "a4" + Name 52 "a4" + Name 55 "@entryPointOutput" + Name 56 "param" + Name 58 "param" + Name 60 "param" + Name 62 "param" + Decorate 43(a1) Location 0 + Decorate 46(a2) Location 1 + Decorate 49(a3) Location 2 + Decorate 52(a4) Location 3 + Decorate 55(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(a1): 10(ptr) Variable Input - 13(a2): 10(ptr) Variable Input - 15(a3): 10(ptr) Variable Input - 19(a4): 10(ptr) Variable Input - 22: TypeVector 6(float) 3 - 28: TypeInt 32 0 - 29: 28(int) Constant 3 - 30: TypePointer Input 6(float) + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 8(ptr) 8(ptr) + 23: TypeVector 6(float) 3 + 29: TypeInt 32 0 + 30: 29(int) Constant 3 + 31: TypePointer Function 6(float) + 42: TypePointer Input 7(fvec4) + 43(a1): 42(ptr) Variable Input + 46(a2): 42(ptr) Variable Input + 49(a3): 42(ptr) Variable Input + 52(a4): 42(ptr) Variable Input + 54: TypePointer Output 7(fvec4) +55(@entryPointOutput): 54(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(a1) - 14: 7(fvec4) Load 13(a2) - 16: 7(fvec4) Load 15(a3) - 17: 7(fvec4) FMul 14 16 - 18: 7(fvec4) FAdd 12 17 - 20: 7(fvec4) Load 19(a4) - 21: 7(fvec4) FAdd 18 20 - 23: 7(fvec4) Load 11(a1) - 24: 22(fvec3) VectorShuffle 23 23 0 1 2 - 25: 7(fvec4) Load 13(a2) - 26: 22(fvec3) VectorShuffle 25 25 0 1 2 - 27: 22(fvec3) FMul 24 26 - 31: 30(ptr) AccessChain 15(a3) 29 - 32: 6(float) Load 31 - 33: 6(float) CompositeExtract 27 0 - 34: 6(float) CompositeExtract 27 1 - 35: 6(float) CompositeExtract 27 2 - 36: 7(fvec4) CompositeConstruct 33 34 35 32 - 37: 7(fvec4) FAdd 21 36 - Store 9(@entryPointOutput) 37 + 41(a1): 8(ptr) Variable Function + 45(a2): 8(ptr) Variable Function + 48(a3): 8(ptr) Variable Function + 51(a4): 8(ptr) Variable Function + 56(param): 8(ptr) Variable Function + 58(param): 8(ptr) Variable Function + 60(param): 8(ptr) Variable Function + 62(param): 8(ptr) Variable Function + 44: 7(fvec4) Load 43(a1) + Store 41(a1) 44 + 47: 7(fvec4) Load 46(a2) + Store 45(a2) 47 + 50: 7(fvec4) Load 49(a3) + Store 48(a3) 50 + 53: 7(fvec4) Load 52(a4) + Store 51(a4) 53 + 57: 7(fvec4) Load 41(a1) + Store 56(param) 57 + 59: 7(fvec4) Load 45(a2) + Store 58(param) 59 + 61: 7(fvec4) Load 48(a3) + Store 60(param) 61 + 63: 7(fvec4) Load 51(a4) + Store 62(param) 63 + 64: 7(fvec4) FunctionCall 14(@PixelShaderFunction(vf4;vf4;vf4;vf4;) 56(param) 58(param) 60(param) 62(param) + Store 55(@entryPointOutput) 64 Return FunctionEnd +14(@PixelShaderFunction(vf4;vf4;vf4;vf4;): 7(fvec4) Function None 9 + 10(a1): 8(ptr) FunctionParameter + 11(a2): 8(ptr) FunctionParameter + 12(a3): 8(ptr) FunctionParameter + 13(a4): 8(ptr) FunctionParameter + 15: Label + 16: 7(fvec4) Load 10(a1) + 17: 7(fvec4) Load 11(a2) + 18: 7(fvec4) Load 12(a3) + 19: 7(fvec4) FMul 17 18 + 20: 7(fvec4) FAdd 16 19 + 21: 7(fvec4) Load 13(a4) + 22: 7(fvec4) FAdd 20 21 + 24: 7(fvec4) Load 10(a1) + 25: 23(fvec3) VectorShuffle 24 24 0 1 2 + 26: 7(fvec4) Load 11(a2) + 27: 23(fvec3) VectorShuffle 26 26 0 1 2 + 28: 23(fvec3) FMul 25 27 + 32: 31(ptr) AccessChain 12(a3) 30 + 33: 6(float) Load 32 + 34: 6(float) CompositeExtract 28 0 + 35: 6(float) CompositeExtract 28 1 + 36: 6(float) CompositeExtract 28 2 + 37: 7(fvec4) CompositeConstruct 34 35 36 33 + 38: 7(fvec4) FAdd 22 37 + ReturnValue 38 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out index 64cce2c7365..a0ddd446730 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precedence2.frag.out @@ -2,38 +2,57 @@ hlsl.precedence2.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in int) -0:7 'a2' (layout(location=1 ) in int) -0:7 'a3' (layout(location=2 ) in int) -0:7 'a4' (layout(location=3 ) in int) +0:7 'a1' ( in int) +0:7 'a2' ( in int) +0:7 'a3' ( in int) +0:7 'a4' ( in int) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp int) -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 'a2' (layout(location=1 ) in int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 left-shift (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 add (temp int) -0:8 'a2' (layout(location=1 ) in int) -0:8 component-wise multiply (temp int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add ( temp int) +0:8 left-shift ( temp int) +0:8 add ( temp int) +0:8 component-wise multiply ( temp int) +0:8 'a1' ( in int) +0:8 'a2' ( in int) +0:8 'a3' ( in int) +0:8 'a4' ( in int) +0:8 left-shift ( temp int) +0:8 'a1' ( in int) +0:8 add ( temp int) +0:8 'a2' ( in int) +0:8 component-wise multiply ( temp int) +0:8 'a3' ( in int) +0:8 'a4' ( in int) +0:7 Function Definition: PixelShaderFunction( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp int) +0:? 'a1' ( temp int) +0:? 'a1' (layout( location=0) in int) +0:7 move second child to first child ( temp int) +0:? 'a2' ( temp int) +0:? 'a2' (layout( location=1) in int) +0:7 move second child to first child ( temp int) +0:? 'a3' ( temp int) +0:? 'a3' (layout( location=2) in int) +0:7 move second child to first child ( temp int) +0:? 'a4' ( temp int) +0:? 'a4' (layout( location=3) in int) +0:7 move second child to first child ( temp int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) +0:? 'a1' ( temp int) +0:? 'a2' ( temp int) +0:? 'a3' ( temp int) +0:? 'a4' ( temp int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:? 'a1' (layout(location=0 ) in int) -0:? 'a2' (layout(location=1 ) in int) -0:? 'a3' (layout(location=2 ) in int) -0:? 'a4' (layout(location=3 ) in int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:? 'a1' (layout( location=0) in int) +0:? 'a2' (layout( location=1) in int) +0:? 'a3' (layout( location=2) in int) +0:? 'a4' (layout( location=3) in int) Linked fragment stage: @@ -42,86 +61,153 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int) +0:7 Function Definition: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) 0:7 Function Parameters: -0:7 'a1' (layout(location=0 ) in int) -0:7 'a2' (layout(location=1 ) in int) -0:7 'a3' (layout(location=2 ) in int) -0:7 'a4' (layout(location=3 ) in int) +0:7 'a1' ( in int) +0:7 'a2' ( in int) +0:7 'a3' ( in int) +0:7 'a4' ( in int) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp int) -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:8 add (temp int) -0:8 left-shift (temp int) -0:8 add (temp int) -0:8 component-wise multiply (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 'a2' (layout(location=1 ) in int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 left-shift (temp int) -0:8 'a1' (layout(location=0 ) in int) -0:8 add (temp int) -0:8 'a2' (layout(location=1 ) in int) -0:8 component-wise multiply (temp int) -0:8 'a3' (layout(location=2 ) in int) -0:8 'a4' (layout(location=3 ) in int) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 add ( temp int) +0:8 left-shift ( temp int) +0:8 add ( temp int) +0:8 component-wise multiply ( temp int) +0:8 'a1' ( in int) +0:8 'a2' ( in int) +0:8 'a3' ( in int) +0:8 'a4' ( in int) +0:8 left-shift ( temp int) +0:8 'a1' ( in int) +0:8 add ( temp int) +0:8 'a2' ( in int) +0:8 component-wise multiply ( temp int) +0:8 'a3' ( in int) +0:8 'a4' ( in int) +0:7 Function Definition: PixelShaderFunction( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp int) +0:? 'a1' ( temp int) +0:? 'a1' (layout( location=0) in int) +0:7 move second child to first child ( temp int) +0:? 'a2' ( temp int) +0:? 'a2' (layout( location=1) in int) +0:7 move second child to first child ( temp int) +0:? 'a3' ( temp int) +0:? 'a3' (layout( location=2) in int) +0:7 move second child to first child ( temp int) +0:? 'a4' ( temp int) +0:? 'a4' (layout( location=3) in int) +0:7 move second child to first child ( temp int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:7 Function Call: @PixelShaderFunction(i1;i1;i1;i1; ( temp int) +0:? 'a1' ( temp int) +0:? 'a2' ( temp int) +0:? 'a3' ( temp int) +0:? 'a4' ( temp int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out int) -0:? 'a1' (layout(location=0 ) in int) -0:? 'a2' (layout(location=1 ) in int) -0:? 'a3' (layout(location=2 ) in int) -0:? 'a4' (layout(location=3 ) in int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:? 'a1' (layout( location=0) in int) +0:? 'a2' (layout( location=1) in int) +0:? 'a3' (layout( location=2) in int) +0:? 'a4' (layout( location=3) in int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 30 +// Id's are bound by 56 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 10 12 15 18 + EntryPoint Fragment 4 "PixelShaderFunction" 34 37 40 43 46 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "@entryPointOutput" - Name 10 "a1" - Name 12 "a2" - Name 15 "a3" - Name 18 "a4" - Decorate 8(@entryPointOutput) Location 0 - Decorate 10(a1) Location 0 - Decorate 12(a2) Location 1 - Decorate 15(a3) Location 2 - Decorate 18(a4) Location 3 + Name 13 "@PixelShaderFunction(i1;i1;i1;i1;" + Name 9 "a1" + Name 10 "a2" + Name 11 "a3" + Name 12 "a4" + Name 32 "a1" + Name 34 "a1" + Name 36 "a2" + Name 37 "a2" + Name 39 "a3" + Name 40 "a3" + Name 42 "a4" + Name 43 "a4" + Name 46 "@entryPointOutput" + Name 47 "param" + Name 49 "param" + Name 51 "param" + Name 53 "param" + Decorate 34(a1) Location 0 + Decorate 37(a2) Location 1 + Decorate 40(a3) Location 2 + Decorate 43(a4) Location 3 + Decorate 46(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 - 7: TypePointer Output 6(int) -8(@entryPointOutput): 7(ptr) Variable Output - 9: TypePointer Input 6(int) - 10(a1): 9(ptr) Variable Input - 12(a2): 9(ptr) Variable Input - 15(a3): 9(ptr) Variable Input - 18(a4): 9(ptr) Variable Input + 7: TypePointer Function 6(int) + 8: TypeFunction 6(int) 7(ptr) 7(ptr) 7(ptr) 7(ptr) + 33: TypePointer Input 6(int) + 34(a1): 33(ptr) Variable Input + 37(a2): 33(ptr) Variable Input + 40(a3): 33(ptr) Variable Input + 43(a4): 33(ptr) Variable Input + 45: TypePointer Output 6(int) +46(@entryPointOutput): 45(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 11: 6(int) Load 10(a1) - 13: 6(int) Load 12(a2) - 14: 6(int) IMul 11 13 - 16: 6(int) Load 15(a3) - 17: 6(int) IAdd 14 16 - 19: 6(int) Load 18(a4) - 20: 6(int) ShiftLeftLogical 17 19 - 21: 6(int) Load 10(a1) - 22: 6(int) Load 12(a2) - 23: 6(int) Load 15(a3) - 24: 6(int) Load 18(a4) - 25: 6(int) IMul 23 24 - 26: 6(int) IAdd 22 25 - 27: 6(int) ShiftLeftLogical 21 26 - 28: 6(int) IAdd 20 27 - Store 8(@entryPointOutput) 28 + 32(a1): 7(ptr) Variable Function + 36(a2): 7(ptr) Variable Function + 39(a3): 7(ptr) Variable Function + 42(a4): 7(ptr) Variable Function + 47(param): 7(ptr) Variable Function + 49(param): 7(ptr) Variable Function + 51(param): 7(ptr) Variable Function + 53(param): 7(ptr) Variable Function + 35: 6(int) Load 34(a1) + Store 32(a1) 35 + 38: 6(int) Load 37(a2) + Store 36(a2) 38 + 41: 6(int) Load 40(a3) + Store 39(a3) 41 + 44: 6(int) Load 43(a4) + Store 42(a4) 44 + 48: 6(int) Load 32(a1) + Store 47(param) 48 + 50: 6(int) Load 36(a2) + Store 49(param) 50 + 52: 6(int) Load 39(a3) + Store 51(param) 52 + 54: 6(int) Load 42(a4) + Store 53(param) 54 + 55: 6(int) FunctionCall 13(@PixelShaderFunction(i1;i1;i1;i1;) 47(param) 49(param) 51(param) 53(param) + Store 46(@entryPointOutput) 55 Return FunctionEnd +13(@PixelShaderFunction(i1;i1;i1;i1;): 6(int) Function None 8 + 9(a1): 7(ptr) FunctionParameter + 10(a2): 7(ptr) FunctionParameter + 11(a3): 7(ptr) FunctionParameter + 12(a4): 7(ptr) FunctionParameter + 14: Label + 15: 6(int) Load 9(a1) + 16: 6(int) Load 10(a2) + 17: 6(int) IMul 15 16 + 18: 6(int) Load 11(a3) + 19: 6(int) IAdd 17 18 + 20: 6(int) Load 12(a4) + 21: 6(int) ShiftLeftLogical 19 20 + 22: 6(int) Load 9(a1) + 23: 6(int) Load 10(a2) + 24: 6(int) Load 11(a3) + 25: 6(int) Load 12(a4) + 26: 6(int) IMul 24 25 + 27: 6(int) IAdd 23 26 + 28: 6(int) ShiftLeftLogical 22 27 + 29: 6(int) IAdd 21 28 + ReturnValue 29 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out index cd2af74658c..8a0ac8151ae 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.precise.frag.out @@ -2,16 +2,16 @@ hlsl.precise.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:6 Function Definition: MyFunction(f1;vf3; (temp void) +0:6 Function Definition: MyFunction(f1;vf3; ( temp void) 0:6 Function Parameters: -0:6 'myfloat' (noContraction in float) -0:6 'myfloat3' (noContraction out 3-component vector of float) -0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color}) +0:6 'myfloat' ( noContraction in float) +0:6 'myfloat3' ( noContraction out 3-component vector of float) +0:9 Function Definition: @main( ( temp structure{ noContraction temp 4-component vector of float color}) 0:9 Function Parameters: 0:? Sequence -0:11 move second child to first child (noContraction temp 4-component vector of float) -0:11 color: direct index for structure (noContraction temp 4-component vector of float) -0:11 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:11 move second child to first child ( noContraction temp 4-component vector of float) +0:11 color: direct index for structure ( noContraction temp 4-component vector of float) +0:11 'ps_output' ( temp structure{ noContraction temp 4-component vector of float color}) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -19,18 +19,21 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 Sequence -0:12 move second child to first child (noContraction temp 4-component vector of float) -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:12 color: direct index for structure (noContraction temp 4-component vector of float) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) -0:12 Constant: -0:12 0 (const int) -0:12 Branch: Return +0:12 Branch: Return with expression +0:12 'ps_output' ( temp structure{ noContraction temp 4-component vector of float color}) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child ( noContraction temp 4-component vector of float) +0:? 'color' (layout( location=0) noContraction out 4-component vector of float) +0:9 color: direct index for structure ( noContraction temp 4-component vector of float) +0:9 Function Call: @main( ( temp structure{ noContraction temp 4-component vector of float color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:? 'precisefloat' (noContraction global float) +0:? 'precisefloat' ( noContraction global float) +0:? 'color' (layout( location=0) noContraction out 4-component vector of float) Linked fragment stage: @@ -39,16 +42,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:6 Function Definition: MyFunction(f1;vf3; (temp void) +0:6 Function Definition: MyFunction(f1;vf3; ( temp void) 0:6 Function Parameters: -0:6 'myfloat' (noContraction in float) -0:6 'myfloat3' (noContraction out 3-component vector of float) -0:9 Function Definition: main( (temp structure{noContraction temp 4-component vector of float color}) +0:6 'myfloat' ( noContraction in float) +0:6 'myfloat3' ( noContraction out 3-component vector of float) +0:9 Function Definition: @main( ( temp structure{ noContraction temp 4-component vector of float color}) 0:9 Function Parameters: 0:? Sequence -0:11 move second child to first child (noContraction temp 4-component vector of float) -0:11 color: direct index for structure (noContraction temp 4-component vector of float) -0:11 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) +0:11 move second child to first child ( noContraction temp 4-component vector of float) +0:11 color: direct index for structure ( noContraction temp 4-component vector of float) +0:11 'ps_output' ( temp structure{ noContraction temp 4-component vector of float color}) 0:11 Constant: 0:11 0 (const int) 0:11 Constant: @@ -56,27 +59,30 @@ gl_FragCoord origin is upper left 0:11 1.000000 0:11 1.000000 0:11 1.000000 -0:12 Sequence -0:12 Sequence -0:12 move second child to first child (noContraction temp 4-component vector of float) -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:12 color: direct index for structure (noContraction temp 4-component vector of float) -0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) -0:12 Constant: -0:12 0 (const int) -0:12 Branch: Return +0:12 Branch: Return with expression +0:12 'ps_output' ( temp structure{ noContraction temp 4-component vector of float color}) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 Sequence +0:9 move second child to first child ( noContraction temp 4-component vector of float) +0:? 'color' (layout( location=0) noContraction out 4-component vector of float) +0:9 color: direct index for structure ( noContraction temp 4-component vector of float) +0:9 Function Call: @main( ( temp structure{ noContraction temp 4-component vector of float color}) +0:9 Constant: +0:9 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) -0:? 'precisefloat' (noContraction global float) +0:? 'precisefloat' ( noContraction global float) +0:? 'color' (layout( location=0) noContraction out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 32 +// Id's are bound by 37 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 26 + EntryPoint Fragment 4 "main" 32 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 13 "MyFunction(f1;vf3;" @@ -84,10 +90,11 @@ gl_FragCoord origin is upper left Name 12 "myfloat3" Name 16 "PS_OUTPUT" MemberName 16(PS_OUTPUT) 0 "color" - Name 18 "ps_output" - Name 26 "color" - Name 31 "precisefloat" - Decorate 26(color) Location 0 + Name 18 "@main(" + Name 21 "ps_output" + Name 32 "color" + Name 36 "precisefloat" + Decorate 32(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -97,24 +104,22 @@ gl_FragCoord origin is upper left 10: TypeFunction 2 7(ptr) 9(ptr) 15: TypeVector 6(float) 4 16(PS_OUTPUT): TypeStruct 15(fvec4) - 17: TypePointer Function 16(PS_OUTPUT) - 19: TypeInt 32 1 - 20: 19(int) Constant 0 - 21: 6(float) Constant 1065353216 - 22: 15(fvec4) ConstantComposite 21 21 21 21 - 23: TypePointer Function 15(fvec4) - 25: TypePointer Output 15(fvec4) - 26(color): 25(ptr) Variable Output - 30: TypePointer Private 6(float) -31(precisefloat): 30(ptr) Variable Private + 17: TypeFunction 16(PS_OUTPUT) + 20: TypePointer Function 16(PS_OUTPUT) + 22: TypeInt 32 1 + 23: 22(int) Constant 0 + 24: 6(float) Constant 1065353216 + 25: 15(fvec4) ConstantComposite 24 24 24 24 + 26: TypePointer Function 15(fvec4) + 31: TypePointer Output 15(fvec4) + 32(color): 31(ptr) Variable Output + 35: TypePointer Private 6(float) +36(precisefloat): 35(ptr) Variable Private 4(main): 2 Function None 3 5: Label - 18(ps_output): 17(ptr) Variable Function - 24: 23(ptr) AccessChain 18(ps_output) 20 - Store 24 22 - 27: 23(ptr) AccessChain 18(ps_output) 20 - 28: 15(fvec4) Load 27 - Store 26(color) 28 + 33:16(PS_OUTPUT) FunctionCall 18(@main() + 34: 15(fvec4) CompositeExtract 33 0 + Store 32(color) 34 Return FunctionEnd 13(MyFunction(f1;vf3;): 2 Function None 10 @@ -123,3 +128,11 @@ gl_FragCoord origin is upper left 14: Label Return FunctionEnd + 18(@main():16(PS_OUTPUT) Function None 17 + 19: Label + 21(ps_output): 20(ptr) Variable Function + 27: 26(ptr) AccessChain 21(ps_output) 23 + Store 27 25 + 28:16(PS_OUTPUT) Load 21(ps_output) + ReturnValue 28 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out index 7fa0cad86bd..b09f68d4e8d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out @@ -2,29 +2,32 @@ hlsl.promote.atomic.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of float) +0:5 Function Definition: @main( ( temp 4-component vector of float) 0:5 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp int) -0:13 'Orig' (temp int) -0:13 Convert uint to int (temp int) -0:13 imageAtomicAdd (temp uint) -0:13 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) -0:13 'Loc' (temp int) -0:13 Convert int to uint (temp uint) -0:13 'Inc' (temp int) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:13 move second child to first child ( temp int) +0:13 'Orig' ( temp int) +0:13 Convert uint to int ( temp int) +0:13 imageAtomicAdd ( temp uint) +0:13 's_uintbuff' (layout( r32ui) uniform uimageBuffer) +0:13 'Loc' ( temp int) +0:13 Convert int to uint ( temp uint) +0:13 'Inc' ( temp int) +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) +0:? 's_uintbuff' (layout( r32ui) uniform uimageBuffer) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -33,77 +36,87 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: main( (temp 4-component vector of float) +0:5 Function Definition: @main( ( temp 4-component vector of float) 0:5 Function Parameters: 0:? Sequence -0:13 move second child to first child (temp int) -0:13 'Orig' (temp int) -0:13 Convert uint to int (temp int) -0:13 imageAtomicAdd (temp uint) -0:13 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) -0:13 'Loc' (temp int) -0:13 Convert int to uint (temp uint) -0:13 'Inc' (temp int) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:13 move second child to first child ( temp int) +0:13 'Orig' ( temp int) +0:13 Convert uint to int ( temp int) +0:13 imageAtomicAdd ( temp uint) +0:13 's_uintbuff' (layout( r32ui) uniform uimageBuffer) +0:13 'Loc' ( temp int) +0:13 Convert int to uint ( temp uint) +0:13 'Inc' ( temp int) +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 's_uintbuff' (layout(r32ui ) uniform uimageBuffer) +0:? 's_uintbuff' (layout( r32ui) uniform uimageBuffer) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 36 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 27 + EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "Orig" - Name 12 "s_uintbuff" - Name 13 "Loc" - Name 15 "Inc" - Name 27 "@entryPointOutput" - Decorate 12(s_uintbuff) DescriptorSet 0 - Decorate 27(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 13 "Orig" + Name 17 "s_uintbuff" + Name 18 "Loc" + Name 20 "Inc" + Name 34 "@entryPointOutput" + Decorate 17(s_uintbuff) DescriptorSet 0 + Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: TypeInt 32 0 - 10: TypeImage 9(int) Buffer nonsampled format:R32ui - 11: TypePointer UniformConstant 10 - 12(s_uintbuff): 11(ptr) Variable UniformConstant - 18: 9(int) Constant 0 - 19: TypePointer Image 9(int) - 21: 9(int) Constant 1 - 24: TypeFloat 32 - 25: TypeVector 24(float) 4 - 26: TypePointer Output 25(fvec4) -27(@entryPointOutput): 26(ptr) Variable Output - 28: 24(float) Constant 0 - 29: 25(fvec4) ConstantComposite 28 28 28 28 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypeInt 32 1 + 12: TypePointer Function 11(int) + 14: TypeInt 32 0 + 15: TypeImage 14(int) Buffer nonsampled format:R32ui + 16: TypePointer UniformConstant 15 + 17(s_uintbuff): 16(ptr) Variable UniformConstant + 23: 14(int) Constant 0 + 24: TypePointer Image 14(int) + 26: 14(int) Constant 1 + 29: 6(float) Constant 0 + 30: 7(fvec4) ConstantComposite 29 29 29 29 + 33: TypePointer Output 7(fvec4) +34(@entryPointOutput): 33(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(Orig): 7(ptr) Variable Function - 13(Loc): 7(ptr) Variable Function - 15(Inc): 7(ptr) Variable Function - 14: 6(int) Load 13(Loc) - 16: 6(int) Load 15(Inc) - 17: 9(int) Bitcast 16 - 20: 19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18 - 22: 9(int) AtomicIAdd 20 21 18 17 - 23: 6(int) Bitcast 22 - Store 8(Orig) 23 - Store 27(@entryPointOutput) 29 + 35: 7(fvec4) FunctionCall 9(@main() + Store 34(@entryPointOutput) 35 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 13(Orig): 12(ptr) Variable Function + 18(Loc): 12(ptr) Variable Function + 20(Inc): 12(ptr) Variable Function + 19: 11(int) Load 18(Loc) + 21: 11(int) Load 20(Inc) + 22: 14(int) Bitcast 21 + 25: 24(ptr) ImageTexelPointer 17(s_uintbuff) 19 23 + 27: 14(int) AtomicIAdd 25 26 23 22 + 28: 11(int) Bitcast 27 + Store 13(Orig) 28 + ReturnValue 30 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out index 2c7425e18a1..34a46f9865c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.binary.frag.out @@ -2,64 +2,64 @@ hlsl.promote.binary.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence -0:15 mod (temp float) -0:15 Convert int to float (temp float) -0:15 ival: direct index for structure (layout(offset=32 ) uniform int) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 mod ( temp float) +0:15 Convert int to float ( temp float) +0:15 ival: direct index for structure ( uniform int) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:15 Constant: 0:15 2 (const uint) -0:15 fval: direct index for structure (layout(offset=64 ) uniform float) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 fval: direct index for structure ( uniform float) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:15 Constant: 0:15 4 (const uint) -0:16 mod (temp 4-component vector of float) -0:16 Convert int to float (temp 4-component vector of float) -0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 mod ( temp 4-component vector of float) +0:16 Convert int to float ( temp 4-component vector of float) +0:16 ival4: direct index for structure ( uniform 4-component vector of int) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 3 (const uint) -0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 fval4: direct index for structure ( uniform 4-component vector of float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 5 (const uint) -0:18 mod (temp float) -0:18 Convert bool to float (temp float) -0:18 bval: direct index for structure (layout(offset=0 ) uniform bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 mod ( temp float) +0:18 Convert bool to float ( temp float) +0:18 bval: direct index for structure ( uniform bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:18 Constant: 0:18 0 (const uint) -0:18 fval: direct index for structure (layout(offset=64 ) uniform float) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 fval: direct index for structure ( uniform float) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:18 Constant: 0:18 4 (const uint) -0:19 mod (temp 4-component vector of float) -0:19 Convert bool to float (temp 4-component vector of float) -0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 mod ( temp 4-component vector of float) +0:19 Convert bool to float ( temp 4-component vector of float) +0:19 bval4: direct index for structure ( uniform 4-component vector of bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 1 (const uint) -0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 fval4: direct index for structure ( uniform 4-component vector of float) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 5 (const uint) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'l_int' (temp int) +0:21 move second child to first child ( temp int) +0:21 'l_int' ( temp int) 0:21 Constant: 0:21 1 (const int) -0:22 mod second child into first child (temp int) -0:22 'l_int' (temp int) -0:22 Convert float to int (temp int) -0:22 fval: direct index for structure (layout(offset=64 ) uniform float) -0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:22 mod second child into first child ( temp int) +0:22 'l_int' ( temp int) +0:22 Convert float to int ( temp int) +0:22 fval: direct index for structure ( uniform float) +0:22 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:22 Constant: 0:22 4 (const uint) -0:25 move second child to first child (temp 4-component vector of float) -0:25 Color: direct index for structure (temp 4-component vector of float) -0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 Color: direct index for structure ( temp 4-component vector of float) +0:25 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:25 Constant: 0:25 0 (const int) 0:25 Constant: @@ -67,18 +67,21 @@ gl_FragCoord origin is upper left 0:25 0.000000 0:25 0.000000 0:25 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:14 Color: direct index for structure ( temp 4-component vector of float) +0:14 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -87,64 +90,64 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence -0:15 mod (temp float) -0:15 Convert int to float (temp float) -0:15 ival: direct index for structure (layout(offset=32 ) uniform int) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 mod ( temp float) +0:15 Convert int to float ( temp float) +0:15 ival: direct index for structure ( uniform int) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:15 Constant: 0:15 2 (const uint) -0:15 fval: direct index for structure (layout(offset=64 ) uniform float) -0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 fval: direct index for structure ( uniform float) +0:15 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:15 Constant: 0:15 4 (const uint) -0:16 mod (temp 4-component vector of float) -0:16 Convert int to float (temp 4-component vector of float) -0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 mod ( temp 4-component vector of float) +0:16 Convert int to float ( temp 4-component vector of float) +0:16 ival4: direct index for structure ( uniform 4-component vector of int) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 3 (const uint) -0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) -0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 fval4: direct index for structure ( uniform 4-component vector of float) +0:16 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:16 Constant: 0:16 5 (const uint) -0:18 mod (temp float) -0:18 Convert bool to float (temp float) -0:18 bval: direct index for structure (layout(offset=0 ) uniform bool) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 mod ( temp float) +0:18 Convert bool to float ( temp float) +0:18 bval: direct index for structure ( uniform bool) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:18 Constant: 0:18 0 (const uint) -0:18 fval: direct index for structure (layout(offset=64 ) uniform float) -0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 fval: direct index for structure ( uniform float) +0:18 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:18 Constant: 0:18 4 (const uint) -0:19 mod (temp 4-component vector of float) -0:19 Convert bool to float (temp 4-component vector of float) -0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 mod ( temp 4-component vector of float) +0:19 Convert bool to float ( temp 4-component vector of float) +0:19 bval4: direct index for structure ( uniform 4-component vector of bool) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 1 (const uint) -0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) -0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 fval4: direct index for structure ( uniform 4-component vector of float) +0:19 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:19 Constant: 0:19 5 (const uint) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'l_int' (temp int) +0:21 move second child to first child ( temp int) +0:21 'l_int' ( temp int) 0:21 Constant: 0:21 1 (const int) -0:22 mod second child into first child (temp int) -0:22 'l_int' (temp int) -0:22 Convert float to int (temp int) -0:22 fval: direct index for structure (layout(offset=64 ) uniform float) -0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:22 mod second child into first child ( temp int) +0:22 'l_int' ( temp int) +0:22 Convert float to int ( temp int) +0:22 fval: direct index for structure ( uniform float) +0:22 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) 0:22 Constant: 0:22 4 (const uint) -0:25 move second child to first child (temp 4-component vector of float) -0:25 Color: direct index for structure (temp 4-component vector of float) -0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 Color: direct index for structure ( temp 4-component vector of float) +0:25 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:25 Constant: 0:25 0 (const int) 0:25 Constant: @@ -152,129 +155,139 @@ gl_FragCoord origin is upper left 0:25 0.000000 0:25 0.000000 0:25 0.000000 -0:26 Sequence -0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:26 Color: direct index for structure (temp 4-component vector of float) -0:26 'psout' (temp structure{temp 4-component vector of float Color}) -0:26 Constant: -0:26 0 (const int) -0:26 Branch: Return +0:26 Branch: Return with expression +0:26 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:14 Color: direct index for structure ( temp 4-component vector of float) +0:14 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform bool bval, uniform 4-component vector of bool bval4, uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 74 + EntryPoint Fragment 4 "main" 80 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 12 "$Global" - MemberName 12($Global) 0 "bval" - MemberName 12($Global) 1 "bval4" - MemberName 12($Global) 2 "ival" - MemberName 12($Global) 3 "ival4" - MemberName 12($Global) 4 "fval" - MemberName 12($Global) 5 "fval4" - Name 14 "" - Name 62 "l_int" - Name 68 "PS_OUTPUT" - MemberName 68(PS_OUTPUT) 0 "Color" - Name 70 "psout" - Name 74 "Color" - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 1 Offset 16 - MemberDecorate 12($Global) 2 Offset 32 - MemberDecorate 12($Global) 3 Offset 48 - MemberDecorate 12($Global) 4 Offset 64 - MemberDecorate 12($Global) 5 Offset 80 - Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 - Decorate 74(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 16 "$Global" + MemberName 16($Global) 0 "bval" + MemberName 16($Global) 1 "bval4" + MemberName 16($Global) 2 "ival" + MemberName 16($Global) 3 "ival4" + MemberName 16($Global) 4 "fval" + MemberName 16($Global) 5 "fval4" + Name 18 "" + Name 66 "l_int" + Name 73 "psout" + Name 80 "Color" + MemberDecorate 16($Global) 0 Offset 0 + MemberDecorate 16($Global) 1 Offset 16 + MemberDecorate 16($Global) 2 Offset 32 + MemberDecorate 16($Global) 3 Offset 48 + MemberDecorate 16($Global) 4 Offset 64 + MemberDecorate 16($Global) 5 Offset 80 + Decorate 16($Global) Block + Decorate 18 DescriptorSet 0 + Decorate 80(Color) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 0 - 7: TypeVector 6(int) 4 - 8: TypeInt 32 1 - 9: TypeVector 8(int) 4 - 10: TypeFloat 32 - 11: TypeVector 10(float) 4 - 12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4) - 13: TypePointer Uniform 12($Global) - 14: 13(ptr) Variable Uniform - 15: 8(int) Constant 2 - 16: TypePointer Uniform 8(int) - 20: 8(int) Constant 4 - 21: TypePointer Uniform 10(float) - 25: 8(int) Constant 3 - 26: TypePointer Uniform 9(ivec4) - 30: 8(int) Constant 5 - 31: TypePointer Uniform 11(fvec4) - 35: 8(int) Constant 0 - 36: TypePointer Uniform 6(int) - 39: TypeBool - 40: 6(int) Constant 0 - 42: 10(float) Constant 0 - 43: 10(float) Constant 1065353216 - 48: 8(int) Constant 1 - 49: TypePointer Uniform 7(ivec4) - 52: TypeVector 39(bool) 4 - 53: 7(ivec4) ConstantComposite 40 40 40 40 - 55: 11(fvec4) ConstantComposite 42 42 42 42 - 56: 11(fvec4) ConstantComposite 43 43 43 43 - 61: TypePointer Function 8(int) - 68(PS_OUTPUT): TypeStruct 11(fvec4) - 69: TypePointer Function 68(PS_OUTPUT) - 71: TypePointer Function 11(fvec4) - 73: TypePointer Output 11(fvec4) - 74(Color): 73(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 0 + 13: TypeVector 12(int) 4 + 14: TypeInt 32 1 + 15: TypeVector 14(int) 4 + 16($Global): TypeStruct 12(int) 13(ivec4) 14(int) 15(ivec4) 6(float) 7(fvec4) + 17: TypePointer Uniform 16($Global) + 18: 17(ptr) Variable Uniform + 19: 14(int) Constant 2 + 20: TypePointer Uniform 14(int) + 24: 14(int) Constant 4 + 25: TypePointer Uniform 6(float) + 29: 14(int) Constant 3 + 30: TypePointer Uniform 15(ivec4) + 34: 14(int) Constant 5 + 35: TypePointer Uniform 7(fvec4) + 39: 14(int) Constant 0 + 40: TypePointer Uniform 12(int) + 43: TypeBool + 44: 12(int) Constant 0 + 46: 6(float) Constant 0 + 47: 6(float) Constant 1065353216 + 52: 14(int) Constant 1 + 53: TypePointer Uniform 13(ivec4) + 56: TypeVector 43(bool) 4 + 57: 13(ivec4) ConstantComposite 44 44 44 44 + 59: 7(fvec4) ConstantComposite 46 46 46 46 + 60: 7(fvec4) ConstantComposite 47 47 47 47 + 65: TypePointer Function 14(int) + 72: TypePointer Function 8(PS_OUTPUT) + 74: TypePointer Function 7(fvec4) + 79: TypePointer Output 7(fvec4) + 80(Color): 79(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 62(l_int): 61(ptr) Variable Function - 70(psout): 69(ptr) Variable Function - 17: 16(ptr) AccessChain 14 15 - 18: 8(int) Load 17 - 19: 10(float) ConvertSToF 18 - 22: 21(ptr) AccessChain 14 20 - 23: 10(float) Load 22 - 24: 10(float) FMod 19 23 - 27: 26(ptr) AccessChain 14 25 - 28: 9(ivec4) Load 27 - 29: 11(fvec4) ConvertSToF 28 - 32: 31(ptr) AccessChain 14 30 - 33: 11(fvec4) Load 32 - 34: 11(fvec4) FMod 29 33 - 37: 36(ptr) AccessChain 14 35 - 38: 6(int) Load 37 - 41: 39(bool) INotEqual 38 40 - 44: 10(float) Select 41 43 42 - 45: 21(ptr) AccessChain 14 20 - 46: 10(float) Load 45 - 47: 10(float) FMod 44 46 - 50: 49(ptr) AccessChain 14 48 - 51: 7(ivec4) Load 50 - 54: 52(bvec4) INotEqual 51 53 - 57: 11(fvec4) Select 54 56 55 - 58: 31(ptr) AccessChain 14 30 - 59: 11(fvec4) Load 58 - 60: 11(fvec4) FMod 57 59 - Store 62(l_int) 48 - 63: 21(ptr) AccessChain 14 20 - 64: 10(float) Load 63 - 65: 8(int) ConvertFToS 64 - 66: 8(int) Load 62(l_int) - 67: 8(int) SMod 66 65 - Store 62(l_int) 67 - 72: 71(ptr) AccessChain 70(psout) 35 - Store 72 55 - 75: 71(ptr) AccessChain 70(psout) 35 - 76: 11(fvec4) Load 75 - Store 74(Color) 76 + 81:8(PS_OUTPUT) FunctionCall 10(@main() + 82: 7(fvec4) CompositeExtract 81 0 + Store 80(Color) 82 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 66(l_int): 65(ptr) Variable Function + 73(psout): 72(ptr) Variable Function + 21: 20(ptr) AccessChain 18 19 + 22: 14(int) Load 21 + 23: 6(float) ConvertSToF 22 + 26: 25(ptr) AccessChain 18 24 + 27: 6(float) Load 26 + 28: 6(float) FMod 23 27 + 31: 30(ptr) AccessChain 18 29 + 32: 15(ivec4) Load 31 + 33: 7(fvec4) ConvertSToF 32 + 36: 35(ptr) AccessChain 18 34 + 37: 7(fvec4) Load 36 + 38: 7(fvec4) FMod 33 37 + 41: 40(ptr) AccessChain 18 39 + 42: 12(int) Load 41 + 45: 43(bool) INotEqual 42 44 + 48: 6(float) Select 45 47 46 + 49: 25(ptr) AccessChain 18 24 + 50: 6(float) Load 49 + 51: 6(float) FMod 48 50 + 54: 53(ptr) AccessChain 18 52 + 55: 13(ivec4) Load 54 + 58: 56(bvec4) INotEqual 55 57 + 61: 7(fvec4) Select 58 60 59 + 62: 35(ptr) AccessChain 18 34 + 63: 7(fvec4) Load 62 + 64: 7(fvec4) FMod 61 63 + Store 66(l_int) 52 + 67: 25(ptr) AccessChain 18 24 + 68: 6(float) Load 67 + 69: 14(int) ConvertFToS 68 + 70: 14(int) Load 66(l_int) + 71: 14(int) SMod 70 69 + Store 66(l_int) 71 + 75: 74(ptr) AccessChain 73(psout) 39 + Store 75 59 + 76:8(PS_OUTPUT) Load 73(psout) + ReturnValue 76 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out index 9179dbcc529..c76f5d23c7b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promote.vec1.frag.out @@ -2,37 +2,40 @@ hlsl.promote.vec1.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( ( temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence -0:7 move second child to first child (temp float) -0:7 'f1a' (temp float) -0:7 Construct float (temp float) -0:7 'f1b' (temp 1-component vector of float) -0:8 move second child to first child (temp 1-component vector of float) -0:8 'f1b' (temp 1-component vector of float) -0:8 Construct float (temp 1-component vector of float) -0:8 'f1a' (temp float) -0:11 step (temp 3-component vector of float) +0:7 move second child to first child ( temp float) +0:7 'f1a' ( temp float) +0:7 Construct float ( temp float) +0:7 'f1b' ( temp 1-component vector of float) +0:8 move second child to first child ( temp 1-component vector of float) +0:8 'f1b' ( temp 1-component vector of float) +0:8 Construct float ( temp 1-component vector of float) +0:8 'f1a' ( temp float) +0:11 step ( temp 3-component vector of float) 0:11 Constant: 0:11 0.000000 0:11 0.000000 0:11 0.000000 -0:11 'f3' (temp 3-component vector of float) -0:13 sine (temp float) -0:13 Construct float (in float) -0:13 'f1b' (temp 1-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:11 'f3' ( temp 3-component vector of float) +0:13 sine ( temp float) +0:13 Construct float ( in float) +0:13 'f1b' ( temp 1-component vector of float) +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:3 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -41,78 +44,88 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( ( temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence -0:7 move second child to first child (temp float) -0:7 'f1a' (temp float) -0:7 Construct float (temp float) -0:7 'f1b' (temp 1-component vector of float) -0:8 move second child to first child (temp 1-component vector of float) -0:8 'f1b' (temp 1-component vector of float) -0:8 Construct float (temp 1-component vector of float) -0:8 'f1a' (temp float) -0:11 step (temp 3-component vector of float) +0:7 move second child to first child ( temp float) +0:7 'f1a' ( temp float) +0:7 Construct float ( temp float) +0:7 'f1b' ( temp 1-component vector of float) +0:8 move second child to first child ( temp 1-component vector of float) +0:8 'f1b' ( temp 1-component vector of float) +0:8 Construct float ( temp 1-component vector of float) +0:8 'f1a' ( temp float) +0:11 step ( temp 3-component vector of float) 0:11 Constant: 0:11 0.000000 0:11 0.000000 0:11 0.000000 -0:11 'f3' (temp 3-component vector of float) -0:13 sine (temp float) -0:13 Construct float (in float) -0:13 'f1b' (temp 1-component vector of float) -0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? Constant: -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:? 0.000000 -0:15 Branch: Return +0:11 'f3' ( temp 3-component vector of float) +0:13 sine ( temp float) +0:13 Construct float ( in float) +0:13 'f1b' ( temp 1-component vector of float) +0:15 Branch: Return with expression +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:3 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 23 + EntryPoint Fragment 4 "main" 29 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "f1a" - Name 9 "f1b" - Name 16 "f3" - Name 23 "@entryPointOutput" - Decorate 23(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 12 "f1a" + Name 13 "f1b" + Name 20 "f3" + Name 29 "@entryPointOutput" + Decorate 29(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 12: TypeVector 6(float) 3 - 13: 6(float) Constant 0 - 14: 12(fvec3) ConstantComposite 13 13 13 - 15: TypePointer Function 12(fvec3) - 21: TypeVector 6(float) 4 - 22: TypePointer Output 21(fvec4) -23(@entryPointOutput): 22(ptr) Variable Output - 24: 21(fvec4) ConstantComposite 13 13 13 13 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypePointer Function 6(float) + 16: TypeVector 6(float) 3 + 17: 6(float) Constant 0 + 18: 16(fvec3) ConstantComposite 17 17 17 + 19: TypePointer Function 16(fvec3) + 25: 7(fvec4) ConstantComposite 17 17 17 17 + 28: TypePointer Output 7(fvec4) +29(@entryPointOutput): 28(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(f1a): 7(ptr) Variable Function - 9(f1b): 7(ptr) Variable Function - 16(f3): 15(ptr) Variable Function - 10: 6(float) Load 9(f1b) - Store 8(f1a) 10 - 11: 6(float) Load 8(f1a) - Store 9(f1b) 11 - 17: 12(fvec3) Load 16(f3) - 18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17 - 19: 6(float) Load 9(f1b) - 20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19 - Store 23(@entryPointOutput) 24 + 30: 7(fvec4) FunctionCall 9(@main() + Store 29(@entryPointOutput) 30 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 12(f1a): 11(ptr) Variable Function + 13(f1b): 11(ptr) Variable Function + 20(f3): 19(ptr) Variable Function + 14: 6(float) Load 13(f1b) + Store 12(f1a) 14 + 15: 6(float) Load 12(f1a) + Store 13(f1b) 15 + 21: 16(fvec3) Load 20(f3) + 22: 16(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 18 21 + 23: 6(float) Load 13(f1b) + 24: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 23 + ReturnValue 25 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out index 01ced16996e..d955195db82 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.promotions.frag.out @@ -2,788 +2,791 @@ hlsl.promotions.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:19 Function Definition: Fn_F3(vf3; (temp void) +0:19 Function Definition: Fn_F3(vf3; ( temp void) 0:19 Function Parameters: -0:19 'x' (in 3-component vector of float) -0:20 Function Definition: Fn_I3(vi3; (temp void) +0:19 'x' ( in 3-component vector of float) +0:20 Function Definition: Fn_I3(vi3; ( temp void) 0:20 Function Parameters: -0:20 'x' (in 3-component vector of int) -0:21 Function Definition: Fn_U3(vu3; (temp void) +0:20 'x' ( in 3-component vector of int) +0:21 Function Definition: Fn_U3(vu3; ( temp void) 0:21 Function Parameters: -0:21 'x' (in 3-component vector of uint) -0:22 Function Definition: Fn_B3(vb3; (temp void) +0:21 'x' ( in 3-component vector of uint) +0:22 Function Definition: Fn_B3(vb3; ( temp void) 0:22 Function Parameters: -0:22 'x' (in 3-component vector of bool) -0:23 Function Definition: Fn_D3(vd3; (temp void) +0:22 'x' ( in 3-component vector of bool) +0:23 Function Definition: Fn_D3(vd3; ( temp void) 0:23 Function Parameters: -0:23 'x' (in 3-component vector of double) -0:26 Function Definition: Fn_R_F3I(vf3; (temp 3-component vector of float) +0:23 'x' ( in 3-component vector of double) +0:26 Function Definition: Fn_R_F3I(vf3; ( temp 3-component vector of float) 0:26 Function Parameters: -0:26 'p' (out 3-component vector of float) +0:26 'p' ( out 3-component vector of float) 0:? Sequence -0:26 move second child to first child (temp 3-component vector of float) -0:26 'p' (out 3-component vector of float) -0:26 Convert int to float (temp 3-component vector of float) -0:26 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:26 move second child to first child ( temp 3-component vector of float) +0:26 'p' ( out 3-component vector of float) +0:26 Convert int to float ( temp 3-component vector of float) +0:26 i3: direct index for structure ( uniform 3-component vector of int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:26 Constant: 0:26 0 (const uint) 0:26 Branch: Return with expression -0:26 Convert int to float (temp 3-component vector of float) -0:26 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:26 Convert int to float ( temp 3-component vector of float) +0:26 i3: direct index for structure ( uniform 3-component vector of int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:26 Constant: 0:26 0 (const uint) -0:27 Function Definition: Fn_R_F3U(vf3; (temp 3-component vector of float) +0:27 Function Definition: Fn_R_F3U(vf3; ( temp 3-component vector of float) 0:27 Function Parameters: -0:27 'p' (out 3-component vector of float) +0:27 'p' ( out 3-component vector of float) 0:? Sequence -0:27 move second child to first child (temp 3-component vector of float) -0:27 'p' (out 3-component vector of float) -0:27 Convert uint to float (temp 3-component vector of float) -0:27 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:27 move second child to first child ( temp 3-component vector of float) +0:27 'p' ( out 3-component vector of float) +0:27 Convert uint to float ( temp 3-component vector of float) +0:27 u3: direct index for structure ( uniform 3-component vector of uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:27 Constant: 0:27 3 (const uint) 0:27 Branch: Return with expression -0:27 Convert uint to float (temp 3-component vector of float) -0:27 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:27 Convert uint to float ( temp 3-component vector of float) +0:27 u3: direct index for structure ( uniform 3-component vector of uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:27 Constant: 0:27 3 (const uint) -0:28 Function Definition: Fn_R_F3B(vf3; (temp 3-component vector of float) +0:28 Function Definition: Fn_R_F3B(vf3; ( temp 3-component vector of float) 0:28 Function Parameters: -0:28 'p' (out 3-component vector of float) +0:28 'p' ( out 3-component vector of float) 0:? Sequence -0:28 move second child to first child (temp 3-component vector of float) -0:28 'p' (out 3-component vector of float) -0:28 Convert bool to float (temp 3-component vector of float) -0:28 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 'p' ( out 3-component vector of float) +0:28 Convert bool to float ( temp 3-component vector of float) +0:28 b3: direct index for structure ( uniform 3-component vector of bool) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:28 Constant: 0:28 1 (const uint) 0:28 Branch: Return with expression -0:28 Convert bool to float (temp 3-component vector of float) -0:28 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:28 Convert bool to float ( temp 3-component vector of float) +0:28 b3: direct index for structure ( uniform 3-component vector of bool) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:28 Constant: 0:28 1 (const uint) -0:29 Function Definition: Fn_R_F3D(vf3; (temp 3-component vector of float) +0:29 Function Definition: Fn_R_F3D(vf3; ( temp 3-component vector of float) 0:29 Function Parameters: -0:29 'p' (out 3-component vector of float) +0:29 'p' ( out 3-component vector of float) 0:? Sequence -0:29 move second child to first child (temp 3-component vector of float) -0:29 'p' (out 3-component vector of float) -0:29 Convert double to float (temp 3-component vector of float) -0:29 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:29 move second child to first child ( temp 3-component vector of float) +0:29 'p' ( out 3-component vector of float) +0:29 Convert double to float ( temp 3-component vector of float) +0:29 d3: direct index for structure ( uniform 3-component vector of double) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:29 Constant: 0:29 4 (const uint) 0:29 Branch: Return with expression -0:29 Convert double to float (temp 3-component vector of float) -0:29 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:29 Convert double to float ( temp 3-component vector of float) +0:29 d3: direct index for structure ( uniform 3-component vector of double) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:29 Constant: 0:29 4 (const uint) -0:31 Function Definition: Fn_R_I3U(vi3; (temp 3-component vector of int) +0:31 Function Definition: Fn_R_I3U(vi3; ( temp 3-component vector of int) 0:31 Function Parameters: -0:31 'p' (out 3-component vector of int) +0:31 'p' ( out 3-component vector of int) 0:? Sequence -0:31 move second child to first child (temp 3-component vector of int) -0:31 'p' (out 3-component vector of int) -0:31 Convert uint to int (temp 3-component vector of int) -0:31 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:31 move second child to first child ( temp 3-component vector of int) +0:31 'p' ( out 3-component vector of int) +0:31 Convert uint to int ( temp 3-component vector of int) +0:31 u3: direct index for structure ( uniform 3-component vector of uint) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:31 Constant: 0:31 3 (const uint) 0:31 Branch: Return with expression -0:31 Convert uint to int (temp 3-component vector of int) -0:31 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:31 Convert uint to int ( temp 3-component vector of int) +0:31 u3: direct index for structure ( uniform 3-component vector of uint) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:31 Constant: 0:31 3 (const uint) -0:32 Function Definition: Fn_R_I3B(vi3; (temp 3-component vector of int) +0:32 Function Definition: Fn_R_I3B(vi3; ( temp 3-component vector of int) 0:32 Function Parameters: -0:32 'p' (out 3-component vector of int) +0:32 'p' ( out 3-component vector of int) 0:? Sequence -0:32 move second child to first child (temp 3-component vector of int) -0:32 'p' (out 3-component vector of int) -0:32 Convert bool to int (temp 3-component vector of int) -0:32 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:32 move second child to first child ( temp 3-component vector of int) +0:32 'p' ( out 3-component vector of int) +0:32 Convert bool to int ( temp 3-component vector of int) +0:32 b3: direct index for structure ( uniform 3-component vector of bool) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:32 Constant: 0:32 1 (const uint) 0:32 Branch: Return with expression -0:32 Convert bool to int (temp 3-component vector of int) -0:32 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:32 Convert bool to int ( temp 3-component vector of int) +0:32 b3: direct index for structure ( uniform 3-component vector of bool) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:32 Constant: 0:32 1 (const uint) -0:33 Function Definition: Fn_R_I3F(vi3; (temp 3-component vector of int) +0:33 Function Definition: Fn_R_I3F(vi3; ( temp 3-component vector of int) 0:33 Function Parameters: -0:33 'p' (out 3-component vector of int) +0:33 'p' ( out 3-component vector of int) 0:? Sequence -0:33 move second child to first child (temp 3-component vector of int) -0:33 'p' (out 3-component vector of int) -0:33 Convert float to int (temp 3-component vector of int) -0:33 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:33 move second child to first child ( temp 3-component vector of int) +0:33 'p' ( out 3-component vector of int) +0:33 Convert float to int ( temp 3-component vector of int) +0:33 f3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:33 Constant: 0:33 2 (const uint) 0:33 Branch: Return with expression -0:33 Convert float to int (temp 3-component vector of int) -0:33 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:33 Convert float to int ( temp 3-component vector of int) +0:33 f3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:33 Constant: 0:33 2 (const uint) -0:34 Function Definition: Fn_R_I3D(vi3; (temp 3-component vector of int) +0:34 Function Definition: Fn_R_I3D(vi3; ( temp 3-component vector of int) 0:34 Function Parameters: -0:34 'p' (out 3-component vector of int) +0:34 'p' ( out 3-component vector of int) 0:? Sequence -0:34 move second child to first child (temp 3-component vector of int) -0:34 'p' (out 3-component vector of int) -0:34 Convert double to int (temp 3-component vector of int) -0:34 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:34 move second child to first child ( temp 3-component vector of int) +0:34 'p' ( out 3-component vector of int) +0:34 Convert double to int ( temp 3-component vector of int) +0:34 d3: direct index for structure ( uniform 3-component vector of double) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:34 Constant: 0:34 4 (const uint) 0:34 Branch: Return with expression -0:34 Convert double to int (temp 3-component vector of int) -0:34 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:34 Convert double to int ( temp 3-component vector of int) +0:34 d3: direct index for structure ( uniform 3-component vector of double) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:34 Constant: 0:34 4 (const uint) -0:36 Function Definition: Fn_R_U3I(vu3; (temp 3-component vector of uint) +0:36 Function Definition: Fn_R_U3I(vu3; ( temp 3-component vector of uint) 0:36 Function Parameters: -0:36 'p' (out 3-component vector of uint) +0:36 'p' ( out 3-component vector of uint) 0:? Sequence -0:36 move second child to first child (temp 3-component vector of uint) -0:36 'p' (out 3-component vector of uint) -0:36 Convert int to uint (temp 3-component vector of uint) -0:36 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:36 move second child to first child ( temp 3-component vector of uint) +0:36 'p' ( out 3-component vector of uint) +0:36 Convert int to uint ( temp 3-component vector of uint) +0:36 i3: direct index for structure ( uniform 3-component vector of int) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:36 Constant: 0:36 0 (const uint) 0:36 Branch: Return with expression -0:36 Convert int to uint (temp 3-component vector of uint) -0:36 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:36 Convert int to uint ( temp 3-component vector of uint) +0:36 i3: direct index for structure ( uniform 3-component vector of int) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:36 Constant: 0:36 0 (const uint) -0:37 Function Definition: Fn_R_U3F(vu3; (temp 3-component vector of uint) +0:37 Function Definition: Fn_R_U3F(vu3; ( temp 3-component vector of uint) 0:37 Function Parameters: -0:37 'p' (out 3-component vector of uint) +0:37 'p' ( out 3-component vector of uint) 0:? Sequence -0:37 move second child to first child (temp 3-component vector of uint) -0:37 'p' (out 3-component vector of uint) -0:37 Convert float to uint (temp 3-component vector of uint) -0:37 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:37 move second child to first child ( temp 3-component vector of uint) +0:37 'p' ( out 3-component vector of uint) +0:37 Convert float to uint ( temp 3-component vector of uint) +0:37 f3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:37 Constant: 0:37 2 (const uint) 0:37 Branch: Return with expression -0:37 Convert float to uint (temp 3-component vector of uint) -0:37 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:37 Convert float to uint ( temp 3-component vector of uint) +0:37 f3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:37 Constant: 0:37 2 (const uint) -0:38 Function Definition: Fn_R_U3B(vu3; (temp 3-component vector of uint) +0:38 Function Definition: Fn_R_U3B(vu3; ( temp 3-component vector of uint) 0:38 Function Parameters: -0:38 'p' (out 3-component vector of uint) +0:38 'p' ( out 3-component vector of uint) 0:? Sequence -0:38 move second child to first child (temp 3-component vector of uint) -0:38 'p' (out 3-component vector of uint) -0:38 Convert bool to uint (temp 3-component vector of uint) -0:38 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:38 move second child to first child ( temp 3-component vector of uint) +0:38 'p' ( out 3-component vector of uint) +0:38 Convert bool to uint ( temp 3-component vector of uint) +0:38 b3: direct index for structure ( uniform 3-component vector of bool) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:38 Constant: 0:38 1 (const uint) 0:38 Branch: Return with expression -0:38 Convert bool to uint (temp 3-component vector of uint) -0:38 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:38 Convert bool to uint ( temp 3-component vector of uint) +0:38 b3: direct index for structure ( uniform 3-component vector of bool) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:38 Constant: 0:38 1 (const uint) -0:39 Function Definition: Fn_R_U3D(vu3; (temp 3-component vector of uint) +0:39 Function Definition: Fn_R_U3D(vu3; ( temp 3-component vector of uint) 0:39 Function Parameters: -0:39 'p' (out 3-component vector of uint) +0:39 'p' ( out 3-component vector of uint) 0:? Sequence -0:39 move second child to first child (temp 3-component vector of uint) -0:39 'p' (out 3-component vector of uint) -0:39 Convert double to uint (temp 3-component vector of uint) -0:39 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:39 move second child to first child ( temp 3-component vector of uint) +0:39 'p' ( out 3-component vector of uint) +0:39 Convert double to uint ( temp 3-component vector of uint) +0:39 d3: direct index for structure ( uniform 3-component vector of double) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:39 Constant: 0:39 4 (const uint) 0:39 Branch: Return with expression -0:39 Convert double to uint (temp 3-component vector of uint) -0:39 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:39 Convert double to uint ( temp 3-component vector of uint) +0:39 d3: direct index for structure ( uniform 3-component vector of double) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:39 Constant: 0:39 4 (const uint) -0:41 Function Definition: Fn_R_B3I(vb3; (temp 3-component vector of bool) +0:41 Function Definition: Fn_R_B3I(vb3; ( temp 3-component vector of bool) 0:41 Function Parameters: -0:41 'p' (out 3-component vector of bool) +0:41 'p' ( out 3-component vector of bool) 0:? Sequence -0:41 move second child to first child (temp 3-component vector of bool) -0:41 'p' (out 3-component vector of bool) -0:41 Convert int to bool (temp 3-component vector of bool) -0:41 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:41 move second child to first child ( temp 3-component vector of bool) +0:41 'p' ( out 3-component vector of bool) +0:41 Convert int to bool ( temp 3-component vector of bool) +0:41 i3: direct index for structure ( uniform 3-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:41 Constant: 0:41 0 (const uint) 0:41 Branch: Return with expression -0:41 Convert int to bool (temp 3-component vector of bool) -0:41 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:41 Convert int to bool ( temp 3-component vector of bool) +0:41 i3: direct index for structure ( uniform 3-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:41 Constant: 0:41 0 (const uint) -0:42 Function Definition: Fn_R_B3U(vb3; (temp 3-component vector of bool) +0:42 Function Definition: Fn_R_B3U(vb3; ( temp 3-component vector of bool) 0:42 Function Parameters: -0:42 'p' (out 3-component vector of bool) +0:42 'p' ( out 3-component vector of bool) 0:? Sequence -0:42 move second child to first child (temp 3-component vector of bool) -0:42 'p' (out 3-component vector of bool) -0:42 Convert uint to bool (temp 3-component vector of bool) -0:42 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:42 move second child to first child ( temp 3-component vector of bool) +0:42 'p' ( out 3-component vector of bool) +0:42 Convert uint to bool ( temp 3-component vector of bool) +0:42 u3: direct index for structure ( uniform 3-component vector of uint) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:42 Constant: 0:42 3 (const uint) 0:42 Branch: Return with expression -0:42 Convert uint to bool (temp 3-component vector of bool) -0:42 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:42 Convert uint to bool ( temp 3-component vector of bool) +0:42 u3: direct index for structure ( uniform 3-component vector of uint) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:42 Constant: 0:42 3 (const uint) -0:43 Function Definition: Fn_R_B3F(vb3; (temp 3-component vector of bool) +0:43 Function Definition: Fn_R_B3F(vb3; ( temp 3-component vector of bool) 0:43 Function Parameters: -0:43 'p' (out 3-component vector of bool) +0:43 'p' ( out 3-component vector of bool) 0:? Sequence -0:43 move second child to first child (temp 3-component vector of bool) -0:43 'p' (out 3-component vector of bool) -0:43 Convert float to bool (temp 3-component vector of bool) -0:43 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:43 move second child to first child ( temp 3-component vector of bool) +0:43 'p' ( out 3-component vector of bool) +0:43 Convert float to bool ( temp 3-component vector of bool) +0:43 f3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:43 Constant: 0:43 2 (const uint) 0:43 Branch: Return with expression -0:43 Convert float to bool (temp 3-component vector of bool) -0:43 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:43 Convert float to bool ( temp 3-component vector of bool) +0:43 f3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:43 Constant: 0:43 2 (const uint) -0:44 Function Definition: Fn_R_B3D(vb3; (temp 3-component vector of bool) +0:44 Function Definition: Fn_R_B3D(vb3; ( temp 3-component vector of bool) 0:44 Function Parameters: -0:44 'p' (out 3-component vector of bool) +0:44 'p' ( out 3-component vector of bool) 0:? Sequence -0:44 move second child to first child (temp 3-component vector of bool) -0:44 'p' (out 3-component vector of bool) -0:44 Convert double to bool (temp 3-component vector of bool) -0:44 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:44 move second child to first child ( temp 3-component vector of bool) +0:44 'p' ( out 3-component vector of bool) +0:44 Convert double to bool ( temp 3-component vector of bool) +0:44 d3: direct index for structure ( uniform 3-component vector of double) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:44 Constant: 0:44 4 (const uint) 0:44 Branch: Return with expression -0:44 Convert double to bool (temp 3-component vector of bool) -0:44 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:44 Convert double to bool ( temp 3-component vector of bool) +0:44 d3: direct index for structure ( uniform 3-component vector of double) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:44 Constant: 0:44 4 (const uint) -0:46 Function Definition: Fn_R_D3I(vd3; (temp 3-component vector of double) +0:46 Function Definition: Fn_R_D3I(vd3; ( temp 3-component vector of double) 0:46 Function Parameters: -0:46 'p' (out 3-component vector of double) +0:46 'p' ( out 3-component vector of double) 0:? Sequence -0:46 move second child to first child (temp 3-component vector of double) -0:46 'p' (out 3-component vector of double) -0:46 Convert int to double (temp 3-component vector of double) -0:46 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:46 move second child to first child ( temp 3-component vector of double) +0:46 'p' ( out 3-component vector of double) +0:46 Convert int to double ( temp 3-component vector of double) +0:46 i3: direct index for structure ( uniform 3-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:46 Constant: 0:46 0 (const uint) 0:46 Branch: Return with expression -0:46 Convert int to double (temp 3-component vector of double) -0:46 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:46 Convert int to double ( temp 3-component vector of double) +0:46 i3: direct index for structure ( uniform 3-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:46 Constant: 0:46 0 (const uint) -0:47 Function Definition: Fn_R_D3U(vd3; (temp 3-component vector of double) +0:47 Function Definition: Fn_R_D3U(vd3; ( temp 3-component vector of double) 0:47 Function Parameters: -0:47 'p' (out 3-component vector of double) +0:47 'p' ( out 3-component vector of double) 0:? Sequence -0:47 move second child to first child (temp 3-component vector of double) -0:47 'p' (out 3-component vector of double) -0:47 Convert uint to double (temp 3-component vector of double) -0:47 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:47 move second child to first child ( temp 3-component vector of double) +0:47 'p' ( out 3-component vector of double) +0:47 Convert uint to double ( temp 3-component vector of double) +0:47 u3: direct index for structure ( uniform 3-component vector of uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:47 Constant: 0:47 3 (const uint) 0:47 Branch: Return with expression -0:47 Convert uint to double (temp 3-component vector of double) -0:47 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:47 Convert uint to double ( temp 3-component vector of double) +0:47 u3: direct index for structure ( uniform 3-component vector of uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:47 Constant: 0:47 3 (const uint) -0:48 Function Definition: Fn_R_D3B(vd3; (temp 3-component vector of double) +0:48 Function Definition: Fn_R_D3B(vd3; ( temp 3-component vector of double) 0:48 Function Parameters: -0:48 'p' (out 3-component vector of double) +0:48 'p' ( out 3-component vector of double) 0:? Sequence -0:48 move second child to first child (temp 3-component vector of double) -0:48 'p' (out 3-component vector of double) -0:48 Convert bool to double (temp 3-component vector of double) -0:48 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:48 move second child to first child ( temp 3-component vector of double) +0:48 'p' ( out 3-component vector of double) +0:48 Convert bool to double ( temp 3-component vector of double) +0:48 b3: direct index for structure ( uniform 3-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:48 Constant: 0:48 1 (const uint) 0:48 Branch: Return with expression -0:48 Convert bool to double (temp 3-component vector of double) -0:48 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:48 Convert bool to double ( temp 3-component vector of double) +0:48 b3: direct index for structure ( uniform 3-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:48 Constant: 0:48 1 (const uint) -0:49 Function Definition: Fn_R_D3F(vd3; (temp 3-component vector of double) +0:49 Function Definition: Fn_R_D3F(vd3; ( temp 3-component vector of double) 0:49 Function Parameters: -0:49 'p' (out 3-component vector of double) +0:49 'p' ( out 3-component vector of double) 0:? Sequence -0:49 move second child to first child (temp 3-component vector of double) -0:49 'p' (out 3-component vector of double) -0:49 Convert float to double (temp 3-component vector of double) -0:49 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:49 move second child to first child ( temp 3-component vector of double) +0:49 'p' ( out 3-component vector of double) +0:49 Convert float to double ( temp 3-component vector of double) +0:49 f3: direct index for structure ( uniform 3-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:49 Constant: 0:49 2 (const uint) 0:49 Branch: Return with expression -0:49 Convert float to double (temp 3-component vector of double) -0:49 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:49 Convert float to double ( temp 3-component vector of double) +0:49 f3: direct index for structure ( uniform 3-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:49 Constant: 0:49 2 (const uint) -0:52 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:52 Function Parameters: 0:? Sequence 0:54 Sequence -0:54 move second child to first child (temp 3-component vector of float) -0:54 'r00' (temp 3-component vector of float) -0:54 Convert int to float (temp 3-component vector of float) -0:54 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:54 move second child to first child ( temp 3-component vector of float) +0:54 'r00' ( temp 3-component vector of float) +0:54 Convert int to float ( temp 3-component vector of float) +0:54 i3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:54 Constant: 0:54 0 (const uint) 0:55 Sequence -0:55 move second child to first child (temp 3-component vector of float) -0:55 'r01' (temp 3-component vector of float) -0:55 Convert bool to float (temp 3-component vector of float) -0:55 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:55 move second child to first child ( temp 3-component vector of float) +0:55 'r01' ( temp 3-component vector of float) +0:55 Convert bool to float ( temp 3-component vector of float) +0:55 b3: direct index for structure ( uniform 3-component vector of bool) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:55 Constant: 0:55 1 (const uint) 0:56 Sequence -0:56 move second child to first child (temp 3-component vector of float) -0:56 'r02' (temp 3-component vector of float) -0:56 Convert uint to float (temp 3-component vector of float) -0:56 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:56 move second child to first child ( temp 3-component vector of float) +0:56 'r02' ( temp 3-component vector of float) +0:56 Convert uint to float ( temp 3-component vector of float) +0:56 u3: direct index for structure ( uniform 3-component vector of uint) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:56 Constant: 0:56 3 (const uint) 0:57 Sequence -0:57 move second child to first child (temp 3-component vector of float) -0:57 'r03' (temp 3-component vector of float) -0:57 Convert double to float (temp 3-component vector of float) -0:57 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:57 move second child to first child ( temp 3-component vector of float) +0:57 'r03' ( temp 3-component vector of float) +0:57 Convert double to float ( temp 3-component vector of float) +0:57 d3: direct index for structure ( uniform 3-component vector of double) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:57 Constant: 0:57 4 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 3-component vector of int) -0:59 'r10' (temp 3-component vector of int) -0:59 Convert bool to int (temp 3-component vector of int) -0:59 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:59 move second child to first child ( temp 3-component vector of int) +0:59 'r10' ( temp 3-component vector of int) +0:59 Convert bool to int ( temp 3-component vector of int) +0:59 b3: direct index for structure ( uniform 3-component vector of bool) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:59 Constant: 0:59 1 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 3-component vector of int) -0:60 'r11' (temp 3-component vector of int) -0:60 Convert uint to int (temp 3-component vector of int) -0:60 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:60 move second child to first child ( temp 3-component vector of int) +0:60 'r11' ( temp 3-component vector of int) +0:60 Convert uint to int ( temp 3-component vector of int) +0:60 u3: direct index for structure ( uniform 3-component vector of uint) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:60 Constant: 0:60 3 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 3-component vector of int) -0:61 'r12' (temp 3-component vector of int) -0:61 Convert float to int (temp 3-component vector of int) -0:61 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:61 move second child to first child ( temp 3-component vector of int) +0:61 'r12' ( temp 3-component vector of int) +0:61 Convert float to int ( temp 3-component vector of int) +0:61 f3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:61 Constant: 0:61 2 (const uint) 0:62 Sequence -0:62 move second child to first child (temp 3-component vector of int) -0:62 'r13' (temp 3-component vector of int) -0:62 Convert double to int (temp 3-component vector of int) -0:62 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:62 move second child to first child ( temp 3-component vector of int) +0:62 'r13' ( temp 3-component vector of int) +0:62 Convert double to int ( temp 3-component vector of int) +0:62 d3: direct index for structure ( uniform 3-component vector of double) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:62 Constant: 0:62 4 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 3-component vector of uint) -0:64 'r20' (temp 3-component vector of uint) -0:64 Convert bool to uint (temp 3-component vector of uint) -0:64 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:64 move second child to first child ( temp 3-component vector of uint) +0:64 'r20' ( temp 3-component vector of uint) +0:64 Convert bool to uint ( temp 3-component vector of uint) +0:64 b3: direct index for structure ( uniform 3-component vector of bool) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 3-component vector of uint) -0:65 'r21' (temp 3-component vector of uint) -0:65 Convert int to uint (temp 3-component vector of uint) -0:65 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:65 move second child to first child ( temp 3-component vector of uint) +0:65 'r21' ( temp 3-component vector of uint) +0:65 Convert int to uint ( temp 3-component vector of uint) +0:65 i3: direct index for structure ( uniform 3-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:65 Constant: 0:65 0 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 3-component vector of uint) -0:66 'r22' (temp 3-component vector of uint) -0:66 Convert float to uint (temp 3-component vector of uint) -0:66 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:66 move second child to first child ( temp 3-component vector of uint) +0:66 'r22' ( temp 3-component vector of uint) +0:66 Convert float to uint ( temp 3-component vector of uint) +0:66 f3: direct index for structure ( uniform 3-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:66 Constant: 0:66 2 (const uint) 0:67 Sequence -0:67 move second child to first child (temp 3-component vector of uint) -0:67 'r23' (temp 3-component vector of uint) -0:67 Convert double to uint (temp 3-component vector of uint) -0:67 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:67 move second child to first child ( temp 3-component vector of uint) +0:67 'r23' ( temp 3-component vector of uint) +0:67 Convert double to uint ( temp 3-component vector of uint) +0:67 d3: direct index for structure ( uniform 3-component vector of double) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:67 Constant: 0:67 4 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 3-component vector of bool) -0:69 'r30' (temp 3-component vector of bool) -0:69 Convert int to bool (temp 3-component vector of bool) -0:69 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:69 move second child to first child ( temp 3-component vector of bool) +0:69 'r30' ( temp 3-component vector of bool) +0:69 Convert int to bool ( temp 3-component vector of bool) +0:69 i3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:69 Constant: 0:69 0 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 3-component vector of bool) -0:70 'r31' (temp 3-component vector of bool) -0:70 Convert uint to bool (temp 3-component vector of bool) -0:70 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:70 move second child to first child ( temp 3-component vector of bool) +0:70 'r31' ( temp 3-component vector of bool) +0:70 Convert uint to bool ( temp 3-component vector of bool) +0:70 u3: direct index for structure ( uniform 3-component vector of uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:70 Constant: 0:70 3 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 3-component vector of bool) -0:71 'r32' (temp 3-component vector of bool) -0:71 Convert float to bool (temp 3-component vector of bool) -0:71 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:71 move second child to first child ( temp 3-component vector of bool) +0:71 'r32' ( temp 3-component vector of bool) +0:71 Convert float to bool ( temp 3-component vector of bool) +0:71 f3: direct index for structure ( uniform 3-component vector of float) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:71 Constant: 0:71 2 (const uint) 0:72 Sequence -0:72 move second child to first child (temp 3-component vector of bool) -0:72 'r33' (temp 3-component vector of bool) -0:72 Convert double to bool (temp 3-component vector of bool) -0:72 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:72 move second child to first child ( temp 3-component vector of bool) +0:72 'r33' ( temp 3-component vector of bool) +0:72 Convert double to bool ( temp 3-component vector of bool) +0:72 d3: direct index for structure ( uniform 3-component vector of double) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:72 Constant: 0:72 4 (const uint) 0:74 Sequence -0:74 move second child to first child (temp 3-component vector of double) -0:74 'r40' (temp 3-component vector of double) -0:74 Convert int to double (temp 3-component vector of double) -0:74 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:74 move second child to first child ( temp 3-component vector of double) +0:74 'r40' ( temp 3-component vector of double) +0:74 Convert int to double ( temp 3-component vector of double) +0:74 i3: direct index for structure ( uniform 3-component vector of int) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:74 Constant: 0:74 0 (const uint) 0:75 Sequence -0:75 move second child to first child (temp 3-component vector of double) -0:75 'r41' (temp 3-component vector of double) -0:75 Convert uint to double (temp 3-component vector of double) -0:75 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:75 move second child to first child ( temp 3-component vector of double) +0:75 'r41' ( temp 3-component vector of double) +0:75 Convert uint to double ( temp 3-component vector of double) +0:75 u3: direct index for structure ( uniform 3-component vector of uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:75 Constant: 0:75 3 (const uint) 0:76 Sequence -0:76 move second child to first child (temp 3-component vector of double) -0:76 'r42' (temp 3-component vector of double) -0:76 Convert float to double (temp 3-component vector of double) -0:76 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:76 move second child to first child ( temp 3-component vector of double) +0:76 'r42' ( temp 3-component vector of double) +0:76 Convert float to double ( temp 3-component vector of double) +0:76 f3: direct index for structure ( uniform 3-component vector of float) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:76 Constant: 0:76 2 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 3-component vector of double) -0:77 'r43' (temp 3-component vector of double) -0:77 Convert bool to double (temp 3-component vector of double) -0:77 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:77 move second child to first child ( temp 3-component vector of double) +0:77 'r43' ( temp 3-component vector of double) +0:77 Convert bool to double ( temp 3-component vector of double) +0:77 b3: direct index for structure ( uniform 3-component vector of bool) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:77 Constant: 0:77 1 (const uint) -0:80 multiply second child into first child (temp 3-component vector of float) -0:80 'r00' (temp 3-component vector of float) -0:80 Convert int to float (temp 3-component vector of float) -0:80 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:80 multiply second child into first child ( temp 3-component vector of float) +0:80 'r00' ( temp 3-component vector of float) +0:80 Convert int to float ( temp 3-component vector of float) +0:80 i3: direct index for structure ( uniform 3-component vector of int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:80 Constant: 0:80 0 (const uint) -0:81 multiply second child into first child (temp 3-component vector of float) -0:81 'r01' (temp 3-component vector of float) -0:81 Convert bool to float (temp 3-component vector of float) -0:81 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:81 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:81 multiply second child into first child ( temp 3-component vector of float) +0:81 'r01' ( temp 3-component vector of float) +0:81 Convert bool to float ( temp 3-component vector of float) +0:81 b3: direct index for structure ( uniform 3-component vector of bool) +0:81 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:81 Constant: 0:81 1 (const uint) -0:82 multiply second child into first child (temp 3-component vector of float) -0:82 'r02' (temp 3-component vector of float) -0:82 Convert uint to float (temp 3-component vector of float) -0:82 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:82 multiply second child into first child ( temp 3-component vector of float) +0:82 'r02' ( temp 3-component vector of float) +0:82 Convert uint to float ( temp 3-component vector of float) +0:82 u3: direct index for structure ( uniform 3-component vector of uint) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:82 Constant: 0:82 3 (const uint) -0:83 multiply second child into first child (temp 3-component vector of float) -0:83 'r03' (temp 3-component vector of float) -0:83 Convert double to float (temp 3-component vector of float) -0:83 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:83 multiply second child into first child ( temp 3-component vector of float) +0:83 'r03' ( temp 3-component vector of float) +0:83 Convert double to float ( temp 3-component vector of float) +0:83 d3: direct index for structure ( uniform 3-component vector of double) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:83 Constant: 0:83 4 (const uint) -0:85 multiply second child into first child (temp 3-component vector of int) -0:85 'r10' (temp 3-component vector of int) -0:85 Convert bool to int (temp 3-component vector of int) -0:85 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:85 multiply second child into first child ( temp 3-component vector of int) +0:85 'r10' ( temp 3-component vector of int) +0:85 Convert bool to int ( temp 3-component vector of int) +0:85 b3: direct index for structure ( uniform 3-component vector of bool) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:85 Constant: 0:85 1 (const uint) -0:86 multiply second child into first child (temp 3-component vector of int) -0:86 'r11' (temp 3-component vector of int) -0:86 Convert uint to int (temp 3-component vector of int) -0:86 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:86 multiply second child into first child ( temp 3-component vector of int) +0:86 'r11' ( temp 3-component vector of int) +0:86 Convert uint to int ( temp 3-component vector of int) +0:86 u3: direct index for structure ( uniform 3-component vector of uint) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:86 Constant: 0:86 3 (const uint) -0:87 multiply second child into first child (temp 3-component vector of int) -0:87 'r12' (temp 3-component vector of int) -0:87 Convert float to int (temp 3-component vector of int) -0:87 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:87 multiply second child into first child ( temp 3-component vector of int) +0:87 'r12' ( temp 3-component vector of int) +0:87 Convert float to int ( temp 3-component vector of int) +0:87 f3: direct index for structure ( uniform 3-component vector of float) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:87 Constant: 0:87 2 (const uint) -0:88 multiply second child into first child (temp 3-component vector of int) -0:88 'r13' (temp 3-component vector of int) -0:88 Convert double to int (temp 3-component vector of int) -0:88 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:88 multiply second child into first child ( temp 3-component vector of int) +0:88 'r13' ( temp 3-component vector of int) +0:88 Convert double to int ( temp 3-component vector of int) +0:88 d3: direct index for structure ( uniform 3-component vector of double) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:88 Constant: 0:88 4 (const uint) -0:90 multiply second child into first child (temp 3-component vector of uint) -0:90 'r20' (temp 3-component vector of uint) -0:90 Convert bool to uint (temp 3-component vector of uint) -0:90 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:90 multiply second child into first child ( temp 3-component vector of uint) +0:90 'r20' ( temp 3-component vector of uint) +0:90 Convert bool to uint ( temp 3-component vector of uint) +0:90 b3: direct index for structure ( uniform 3-component vector of bool) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:90 Constant: 0:90 1 (const uint) -0:91 multiply second child into first child (temp 3-component vector of uint) -0:91 'r21' (temp 3-component vector of uint) -0:91 Convert int to uint (temp 3-component vector of uint) -0:91 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:91 multiply second child into first child ( temp 3-component vector of uint) +0:91 'r21' ( temp 3-component vector of uint) +0:91 Convert int to uint ( temp 3-component vector of uint) +0:91 i3: direct index for structure ( uniform 3-component vector of int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:91 Constant: 0:91 0 (const uint) -0:92 multiply second child into first child (temp 3-component vector of uint) -0:92 'r22' (temp 3-component vector of uint) -0:92 Convert float to uint (temp 3-component vector of uint) -0:92 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:92 multiply second child into first child ( temp 3-component vector of uint) +0:92 'r22' ( temp 3-component vector of uint) +0:92 Convert float to uint ( temp 3-component vector of uint) +0:92 f3: direct index for structure ( uniform 3-component vector of float) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:92 Constant: 0:92 2 (const uint) -0:93 multiply second child into first child (temp 3-component vector of uint) -0:93 'r23' (temp 3-component vector of uint) -0:93 Convert double to uint (temp 3-component vector of uint) -0:93 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:93 multiply second child into first child ( temp 3-component vector of uint) +0:93 'r23' ( temp 3-component vector of uint) +0:93 Convert double to uint ( temp 3-component vector of uint) +0:93 d3: direct index for structure ( uniform 3-component vector of double) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:93 Constant: 0:93 4 (const uint) -0:97 multiply second child into first child (temp 3-component vector of double) -0:97 'r40' (temp 3-component vector of double) -0:97 Convert int to double (temp 3-component vector of double) -0:97 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:97 multiply second child into first child ( temp 3-component vector of double) +0:97 'r40' ( temp 3-component vector of double) +0:97 Convert int to double ( temp 3-component vector of double) +0:97 i3: direct index for structure ( uniform 3-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:97 Constant: 0:97 0 (const uint) -0:98 multiply second child into first child (temp 3-component vector of double) -0:98 'r41' (temp 3-component vector of double) -0:98 Convert uint to double (temp 3-component vector of double) -0:98 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:98 multiply second child into first child ( temp 3-component vector of double) +0:98 'r41' ( temp 3-component vector of double) +0:98 Convert uint to double ( temp 3-component vector of double) +0:98 u3: direct index for structure ( uniform 3-component vector of uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:98 Constant: 0:98 3 (const uint) -0:99 multiply second child into first child (temp 3-component vector of double) -0:99 'r42' (temp 3-component vector of double) -0:99 Convert float to double (temp 3-component vector of double) -0:99 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:99 multiply second child into first child ( temp 3-component vector of double) +0:99 'r42' ( temp 3-component vector of double) +0:99 Convert float to double ( temp 3-component vector of double) +0:99 f3: direct index for structure ( uniform 3-component vector of float) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:99 Constant: 0:99 2 (const uint) -0:100 multiply second child into first child (temp 3-component vector of double) -0:100 'r43' (temp 3-component vector of double) -0:100 Convert bool to double (temp 3-component vector of double) -0:100 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:100 multiply second child into first child ( temp 3-component vector of double) +0:100 'r43' ( temp 3-component vector of double) +0:100 Convert bool to double ( temp 3-component vector of double) +0:100 b3: direct index for structure ( uniform 3-component vector of bool) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:100 Constant: 0:100 1 (const uint) -0:103 vector scale second child into first child (temp 3-component vector of float) -0:103 'r00' (temp 3-component vector of float) -0:103 Convert int to float (temp float) -0:103 is: direct index for structure (layout(offset=88 ) uniform int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:103 vector scale second child into first child ( temp 3-component vector of float) +0:103 'r00' ( temp 3-component vector of float) +0:103 Convert int to float ( temp float) +0:103 is: direct index for structure ( uniform int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:103 Constant: 0:103 5 (const uint) -0:104 vector scale second child into first child (temp 3-component vector of float) -0:104 'r01' (temp 3-component vector of float) -0:104 Convert bool to float (temp float) -0:104 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:104 vector scale second child into first child ( temp 3-component vector of float) +0:104 'r01' ( temp 3-component vector of float) +0:104 Convert bool to float ( temp float) +0:104 bs: direct index for structure ( uniform bool) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:104 Constant: 0:104 6 (const uint) -0:105 vector scale second child into first child (temp 3-component vector of float) -0:105 'r02' (temp 3-component vector of float) -0:105 Convert uint to float (temp float) -0:105 us: direct index for structure (layout(offset=100 ) uniform uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:105 vector scale second child into first child ( temp 3-component vector of float) +0:105 'r02' ( temp 3-component vector of float) +0:105 Convert uint to float ( temp float) +0:105 us: direct index for structure ( uniform uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:105 Constant: 0:105 8 (const uint) -0:106 vector scale second child into first child (temp 3-component vector of float) -0:106 'r03' (temp 3-component vector of float) -0:106 Convert double to float (temp float) -0:106 ds: direct index for structure (layout(offset=104 ) uniform double) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:106 vector scale second child into first child ( temp 3-component vector of float) +0:106 'r03' ( temp 3-component vector of float) +0:106 Convert double to float ( temp float) +0:106 ds: direct index for structure ( uniform double) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:106 Constant: 0:106 9 (const uint) -0:108 vector scale second child into first child (temp 3-component vector of int) -0:108 'r10' (temp 3-component vector of int) -0:108 Convert bool to int (temp int) -0:108 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:108 vector scale second child into first child ( temp 3-component vector of int) +0:108 'r10' ( temp 3-component vector of int) +0:108 Convert bool to int ( temp int) +0:108 bs: direct index for structure ( uniform bool) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:108 Constant: 0:108 6 (const uint) -0:109 vector scale second child into first child (temp 3-component vector of int) -0:109 'r11' (temp 3-component vector of int) -0:109 Convert uint to int (temp int) -0:109 us: direct index for structure (layout(offset=100 ) uniform uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:109 vector scale second child into first child ( temp 3-component vector of int) +0:109 'r11' ( temp 3-component vector of int) +0:109 Convert uint to int ( temp int) +0:109 us: direct index for structure ( uniform uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:109 Constant: 0:109 8 (const uint) -0:110 vector scale second child into first child (temp 3-component vector of int) -0:110 'r12' (temp 3-component vector of int) -0:110 Convert float to int (temp int) -0:110 fs: direct index for structure (layout(offset=96 ) uniform float) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:110 vector scale second child into first child ( temp 3-component vector of int) +0:110 'r12' ( temp 3-component vector of int) +0:110 Convert float to int ( temp int) +0:110 fs: direct index for structure ( uniform float) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:110 Constant: 0:110 7 (const uint) -0:111 vector scale second child into first child (temp 3-component vector of int) -0:111 'r13' (temp 3-component vector of int) -0:111 Convert double to int (temp int) -0:111 ds: direct index for structure (layout(offset=104 ) uniform double) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:111 vector scale second child into first child ( temp 3-component vector of int) +0:111 'r13' ( temp 3-component vector of int) +0:111 Convert double to int ( temp int) +0:111 ds: direct index for structure ( uniform double) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:111 Constant: 0:111 9 (const uint) -0:113 vector scale second child into first child (temp 3-component vector of uint) -0:113 'r20' (temp 3-component vector of uint) -0:113 Convert bool to uint (temp uint) -0:113 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:113 vector scale second child into first child ( temp 3-component vector of uint) +0:113 'r20' ( temp 3-component vector of uint) +0:113 Convert bool to uint ( temp uint) +0:113 bs: direct index for structure ( uniform bool) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:113 Constant: 0:113 6 (const uint) -0:114 vector scale second child into first child (temp 3-component vector of uint) -0:114 'r21' (temp 3-component vector of uint) -0:114 Convert int to uint (temp uint) -0:114 is: direct index for structure (layout(offset=88 ) uniform int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:114 vector scale second child into first child ( temp 3-component vector of uint) +0:114 'r21' ( temp 3-component vector of uint) +0:114 Convert int to uint ( temp uint) +0:114 is: direct index for structure ( uniform int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:114 Constant: 0:114 5 (const uint) -0:115 vector scale second child into first child (temp 3-component vector of uint) -0:115 'r22' (temp 3-component vector of uint) -0:115 Convert float to uint (temp uint) -0:115 fs: direct index for structure (layout(offset=96 ) uniform float) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:115 vector scale second child into first child ( temp 3-component vector of uint) +0:115 'r22' ( temp 3-component vector of uint) +0:115 Convert float to uint ( temp uint) +0:115 fs: direct index for structure ( uniform float) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:115 Constant: 0:115 7 (const uint) -0:116 vector scale second child into first child (temp 3-component vector of uint) -0:116 'r23' (temp 3-component vector of uint) -0:116 Convert double to uint (temp uint) -0:116 ds: direct index for structure (layout(offset=104 ) uniform double) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:116 vector scale second child into first child ( temp 3-component vector of uint) +0:116 'r23' ( temp 3-component vector of uint) +0:116 Convert double to uint ( temp uint) +0:116 ds: direct index for structure ( uniform double) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:116 Constant: 0:116 9 (const uint) -0:120 vector scale second child into first child (temp 3-component vector of double) -0:120 'r40' (temp 3-component vector of double) -0:120 Convert int to double (temp double) -0:120 is: direct index for structure (layout(offset=88 ) uniform int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:120 vector scale second child into first child ( temp 3-component vector of double) +0:120 'r40' ( temp 3-component vector of double) +0:120 Convert int to double ( temp double) +0:120 is: direct index for structure ( uniform int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:120 Constant: 0:120 5 (const uint) -0:121 vector scale second child into first child (temp 3-component vector of double) -0:121 'r41' (temp 3-component vector of double) -0:121 Convert uint to double (temp double) -0:121 us: direct index for structure (layout(offset=100 ) uniform uint) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:121 vector scale second child into first child ( temp 3-component vector of double) +0:121 'r41' ( temp 3-component vector of double) +0:121 Convert uint to double ( temp double) +0:121 us: direct index for structure ( uniform uint) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:121 Constant: 0:121 8 (const uint) -0:122 vector scale second child into first child (temp 3-component vector of double) -0:122 'r42' (temp 3-component vector of double) -0:122 Convert float to double (temp double) -0:122 fs: direct index for structure (layout(offset=96 ) uniform float) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:122 vector scale second child into first child ( temp 3-component vector of double) +0:122 'r42' ( temp 3-component vector of double) +0:122 Convert float to double ( temp double) +0:122 fs: direct index for structure ( uniform float) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:122 Constant: 0:122 7 (const uint) -0:123 vector scale second child into first child (temp 3-component vector of double) -0:123 'r43' (temp 3-component vector of double) -0:123 Convert bool to double (temp double) -0:123 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:123 vector scale second child into first child ( temp 3-component vector of double) +0:123 'r43' ( temp 3-component vector of double) +0:123 Convert bool to double ( temp double) +0:123 bs: direct index for structure ( uniform bool) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:123 Constant: 0:123 6 (const uint) 0:193 Sequence -0:193 move second child to first child (temp int) -0:193 'c1' (temp int) +0:193 move second child to first child ( temp int) +0:193 'c1' ( temp int) 0:193 Constant: 0:193 3 (const int) 0:194 Sequence -0:194 move second child to first child (temp int) -0:194 'c2' (temp int) +0:194 move second child to first child ( temp int) +0:194 'c2' ( temp int) 0:194 Constant: 0:194 3 (const int) 0:196 Sequence -0:196 move second child to first child (temp 4-component vector of float) -0:196 'outval' (temp 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) +0:196 move second child to first child ( temp 4-component vector of float) +0:196 'outval' ( temp 4-component vector of float) +0:? Construct vec4 ( temp 4-component vector of float) 0:196 Constant: 0:196 3.600000 0:196 Constant: 0:196 3.600000 -0:196 Convert int to float (temp float) -0:196 'c1' (temp int) -0:196 Convert int to float (temp float) -0:196 'c2' (temp int) -0:199 move second child to first child (temp 4-component vector of float) -0:199 Color: direct index for structure (temp 4-component vector of float) -0:199 'psout' (temp structure{temp 4-component vector of float Color}) +0:196 Convert int to float ( temp float) +0:196 'c1' ( temp int) +0:196 Convert int to float ( temp float) +0:196 'c2' ( temp int) +0:199 move second child to first child ( temp 4-component vector of float) +0:199 Color: direct index for structure ( temp 4-component vector of float) +0:199 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:199 Constant: 0:199 0 (const int) -0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 Sequence -0:200 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:200 Color: direct index for structure (temp 4-component vector of float) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) -0:200 Constant: -0:200 0 (const int) -0:200 Branch: Return +0:199 'outval' ( temp 4-component vector of float) +0:200 Branch: Return with expression +0:200 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:52 Function Definition: main( ( temp void) +0:52 Function Parameters: +0:? Sequence +0:52 Sequence +0:52 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:52 Color: direct index for structure ( temp 4-component vector of float) +0:52 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:52 Constant: +0:52 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -792,798 +795,801 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:19 Function Definition: Fn_F3(vf3; (temp void) +0:19 Function Definition: Fn_F3(vf3; ( temp void) 0:19 Function Parameters: -0:19 'x' (in 3-component vector of float) -0:20 Function Definition: Fn_I3(vi3; (temp void) +0:19 'x' ( in 3-component vector of float) +0:20 Function Definition: Fn_I3(vi3; ( temp void) 0:20 Function Parameters: -0:20 'x' (in 3-component vector of int) -0:21 Function Definition: Fn_U3(vu3; (temp void) +0:20 'x' ( in 3-component vector of int) +0:21 Function Definition: Fn_U3(vu3; ( temp void) 0:21 Function Parameters: -0:21 'x' (in 3-component vector of uint) -0:22 Function Definition: Fn_B3(vb3; (temp void) +0:21 'x' ( in 3-component vector of uint) +0:22 Function Definition: Fn_B3(vb3; ( temp void) 0:22 Function Parameters: -0:22 'x' (in 3-component vector of bool) -0:23 Function Definition: Fn_D3(vd3; (temp void) +0:22 'x' ( in 3-component vector of bool) +0:23 Function Definition: Fn_D3(vd3; ( temp void) 0:23 Function Parameters: -0:23 'x' (in 3-component vector of double) -0:26 Function Definition: Fn_R_F3I(vf3; (temp 3-component vector of float) +0:23 'x' ( in 3-component vector of double) +0:26 Function Definition: Fn_R_F3I(vf3; ( temp 3-component vector of float) 0:26 Function Parameters: -0:26 'p' (out 3-component vector of float) +0:26 'p' ( out 3-component vector of float) 0:? Sequence -0:26 move second child to first child (temp 3-component vector of float) -0:26 'p' (out 3-component vector of float) -0:26 Convert int to float (temp 3-component vector of float) -0:26 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:26 move second child to first child ( temp 3-component vector of float) +0:26 'p' ( out 3-component vector of float) +0:26 Convert int to float ( temp 3-component vector of float) +0:26 i3: direct index for structure ( uniform 3-component vector of int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:26 Constant: 0:26 0 (const uint) 0:26 Branch: Return with expression -0:26 Convert int to float (temp 3-component vector of float) -0:26 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:26 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:26 Convert int to float ( temp 3-component vector of float) +0:26 i3: direct index for structure ( uniform 3-component vector of int) +0:26 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:26 Constant: 0:26 0 (const uint) -0:27 Function Definition: Fn_R_F3U(vf3; (temp 3-component vector of float) +0:27 Function Definition: Fn_R_F3U(vf3; ( temp 3-component vector of float) 0:27 Function Parameters: -0:27 'p' (out 3-component vector of float) +0:27 'p' ( out 3-component vector of float) 0:? Sequence -0:27 move second child to first child (temp 3-component vector of float) -0:27 'p' (out 3-component vector of float) -0:27 Convert uint to float (temp 3-component vector of float) -0:27 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:27 move second child to first child ( temp 3-component vector of float) +0:27 'p' ( out 3-component vector of float) +0:27 Convert uint to float ( temp 3-component vector of float) +0:27 u3: direct index for structure ( uniform 3-component vector of uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:27 Constant: 0:27 3 (const uint) 0:27 Branch: Return with expression -0:27 Convert uint to float (temp 3-component vector of float) -0:27 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:27 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:27 Convert uint to float ( temp 3-component vector of float) +0:27 u3: direct index for structure ( uniform 3-component vector of uint) +0:27 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:27 Constant: 0:27 3 (const uint) -0:28 Function Definition: Fn_R_F3B(vf3; (temp 3-component vector of float) +0:28 Function Definition: Fn_R_F3B(vf3; ( temp 3-component vector of float) 0:28 Function Parameters: -0:28 'p' (out 3-component vector of float) +0:28 'p' ( out 3-component vector of float) 0:? Sequence -0:28 move second child to first child (temp 3-component vector of float) -0:28 'p' (out 3-component vector of float) -0:28 Convert bool to float (temp 3-component vector of float) -0:28 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:28 move second child to first child ( temp 3-component vector of float) +0:28 'p' ( out 3-component vector of float) +0:28 Convert bool to float ( temp 3-component vector of float) +0:28 b3: direct index for structure ( uniform 3-component vector of bool) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:28 Constant: 0:28 1 (const uint) 0:28 Branch: Return with expression -0:28 Convert bool to float (temp 3-component vector of float) -0:28 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:28 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:28 Convert bool to float ( temp 3-component vector of float) +0:28 b3: direct index for structure ( uniform 3-component vector of bool) +0:28 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:28 Constant: 0:28 1 (const uint) -0:29 Function Definition: Fn_R_F3D(vf3; (temp 3-component vector of float) +0:29 Function Definition: Fn_R_F3D(vf3; ( temp 3-component vector of float) 0:29 Function Parameters: -0:29 'p' (out 3-component vector of float) +0:29 'p' ( out 3-component vector of float) 0:? Sequence -0:29 move second child to first child (temp 3-component vector of float) -0:29 'p' (out 3-component vector of float) -0:29 Convert double to float (temp 3-component vector of float) -0:29 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:29 move second child to first child ( temp 3-component vector of float) +0:29 'p' ( out 3-component vector of float) +0:29 Convert double to float ( temp 3-component vector of float) +0:29 d3: direct index for structure ( uniform 3-component vector of double) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:29 Constant: 0:29 4 (const uint) 0:29 Branch: Return with expression -0:29 Convert double to float (temp 3-component vector of float) -0:29 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:29 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:29 Convert double to float ( temp 3-component vector of float) +0:29 d3: direct index for structure ( uniform 3-component vector of double) +0:29 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:29 Constant: 0:29 4 (const uint) -0:31 Function Definition: Fn_R_I3U(vi3; (temp 3-component vector of int) +0:31 Function Definition: Fn_R_I3U(vi3; ( temp 3-component vector of int) 0:31 Function Parameters: -0:31 'p' (out 3-component vector of int) +0:31 'p' ( out 3-component vector of int) 0:? Sequence -0:31 move second child to first child (temp 3-component vector of int) -0:31 'p' (out 3-component vector of int) -0:31 Convert uint to int (temp 3-component vector of int) -0:31 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:31 move second child to first child ( temp 3-component vector of int) +0:31 'p' ( out 3-component vector of int) +0:31 Convert uint to int ( temp 3-component vector of int) +0:31 u3: direct index for structure ( uniform 3-component vector of uint) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:31 Constant: 0:31 3 (const uint) 0:31 Branch: Return with expression -0:31 Convert uint to int (temp 3-component vector of int) -0:31 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:31 Convert uint to int ( temp 3-component vector of int) +0:31 u3: direct index for structure ( uniform 3-component vector of uint) +0:31 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:31 Constant: 0:31 3 (const uint) -0:32 Function Definition: Fn_R_I3B(vi3; (temp 3-component vector of int) +0:32 Function Definition: Fn_R_I3B(vi3; ( temp 3-component vector of int) 0:32 Function Parameters: -0:32 'p' (out 3-component vector of int) +0:32 'p' ( out 3-component vector of int) 0:? Sequence -0:32 move second child to first child (temp 3-component vector of int) -0:32 'p' (out 3-component vector of int) -0:32 Convert bool to int (temp 3-component vector of int) -0:32 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:32 move second child to first child ( temp 3-component vector of int) +0:32 'p' ( out 3-component vector of int) +0:32 Convert bool to int ( temp 3-component vector of int) +0:32 b3: direct index for structure ( uniform 3-component vector of bool) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:32 Constant: 0:32 1 (const uint) 0:32 Branch: Return with expression -0:32 Convert bool to int (temp 3-component vector of int) -0:32 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:32 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:32 Convert bool to int ( temp 3-component vector of int) +0:32 b3: direct index for structure ( uniform 3-component vector of bool) +0:32 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:32 Constant: 0:32 1 (const uint) -0:33 Function Definition: Fn_R_I3F(vi3; (temp 3-component vector of int) +0:33 Function Definition: Fn_R_I3F(vi3; ( temp 3-component vector of int) 0:33 Function Parameters: -0:33 'p' (out 3-component vector of int) +0:33 'p' ( out 3-component vector of int) 0:? Sequence -0:33 move second child to first child (temp 3-component vector of int) -0:33 'p' (out 3-component vector of int) -0:33 Convert float to int (temp 3-component vector of int) -0:33 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:33 move second child to first child ( temp 3-component vector of int) +0:33 'p' ( out 3-component vector of int) +0:33 Convert float to int ( temp 3-component vector of int) +0:33 f3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:33 Constant: 0:33 2 (const uint) 0:33 Branch: Return with expression -0:33 Convert float to int (temp 3-component vector of int) -0:33 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:33 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:33 Convert float to int ( temp 3-component vector of int) +0:33 f3: direct index for structure ( uniform 3-component vector of float) +0:33 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:33 Constant: 0:33 2 (const uint) -0:34 Function Definition: Fn_R_I3D(vi3; (temp 3-component vector of int) +0:34 Function Definition: Fn_R_I3D(vi3; ( temp 3-component vector of int) 0:34 Function Parameters: -0:34 'p' (out 3-component vector of int) +0:34 'p' ( out 3-component vector of int) 0:? Sequence -0:34 move second child to first child (temp 3-component vector of int) -0:34 'p' (out 3-component vector of int) -0:34 Convert double to int (temp 3-component vector of int) -0:34 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:34 move second child to first child ( temp 3-component vector of int) +0:34 'p' ( out 3-component vector of int) +0:34 Convert double to int ( temp 3-component vector of int) +0:34 d3: direct index for structure ( uniform 3-component vector of double) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:34 Constant: 0:34 4 (const uint) 0:34 Branch: Return with expression -0:34 Convert double to int (temp 3-component vector of int) -0:34 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:34 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:34 Convert double to int ( temp 3-component vector of int) +0:34 d3: direct index for structure ( uniform 3-component vector of double) +0:34 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:34 Constant: 0:34 4 (const uint) -0:36 Function Definition: Fn_R_U3I(vu3; (temp 3-component vector of uint) +0:36 Function Definition: Fn_R_U3I(vu3; ( temp 3-component vector of uint) 0:36 Function Parameters: -0:36 'p' (out 3-component vector of uint) +0:36 'p' ( out 3-component vector of uint) 0:? Sequence -0:36 move second child to first child (temp 3-component vector of uint) -0:36 'p' (out 3-component vector of uint) -0:36 Convert int to uint (temp 3-component vector of uint) -0:36 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:36 move second child to first child ( temp 3-component vector of uint) +0:36 'p' ( out 3-component vector of uint) +0:36 Convert int to uint ( temp 3-component vector of uint) +0:36 i3: direct index for structure ( uniform 3-component vector of int) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:36 Constant: 0:36 0 (const uint) 0:36 Branch: Return with expression -0:36 Convert int to uint (temp 3-component vector of uint) -0:36 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:36 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:36 Convert int to uint ( temp 3-component vector of uint) +0:36 i3: direct index for structure ( uniform 3-component vector of int) +0:36 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:36 Constant: 0:36 0 (const uint) -0:37 Function Definition: Fn_R_U3F(vu3; (temp 3-component vector of uint) +0:37 Function Definition: Fn_R_U3F(vu3; ( temp 3-component vector of uint) 0:37 Function Parameters: -0:37 'p' (out 3-component vector of uint) +0:37 'p' ( out 3-component vector of uint) 0:? Sequence -0:37 move second child to first child (temp 3-component vector of uint) -0:37 'p' (out 3-component vector of uint) -0:37 Convert float to uint (temp 3-component vector of uint) -0:37 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:37 move second child to first child ( temp 3-component vector of uint) +0:37 'p' ( out 3-component vector of uint) +0:37 Convert float to uint ( temp 3-component vector of uint) +0:37 f3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:37 Constant: 0:37 2 (const uint) 0:37 Branch: Return with expression -0:37 Convert float to uint (temp 3-component vector of uint) -0:37 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:37 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:37 Convert float to uint ( temp 3-component vector of uint) +0:37 f3: direct index for structure ( uniform 3-component vector of float) +0:37 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:37 Constant: 0:37 2 (const uint) -0:38 Function Definition: Fn_R_U3B(vu3; (temp 3-component vector of uint) +0:38 Function Definition: Fn_R_U3B(vu3; ( temp 3-component vector of uint) 0:38 Function Parameters: -0:38 'p' (out 3-component vector of uint) +0:38 'p' ( out 3-component vector of uint) 0:? Sequence -0:38 move second child to first child (temp 3-component vector of uint) -0:38 'p' (out 3-component vector of uint) -0:38 Convert bool to uint (temp 3-component vector of uint) -0:38 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:38 move second child to first child ( temp 3-component vector of uint) +0:38 'p' ( out 3-component vector of uint) +0:38 Convert bool to uint ( temp 3-component vector of uint) +0:38 b3: direct index for structure ( uniform 3-component vector of bool) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:38 Constant: 0:38 1 (const uint) 0:38 Branch: Return with expression -0:38 Convert bool to uint (temp 3-component vector of uint) -0:38 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:38 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:38 Convert bool to uint ( temp 3-component vector of uint) +0:38 b3: direct index for structure ( uniform 3-component vector of bool) +0:38 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:38 Constant: 0:38 1 (const uint) -0:39 Function Definition: Fn_R_U3D(vu3; (temp 3-component vector of uint) +0:39 Function Definition: Fn_R_U3D(vu3; ( temp 3-component vector of uint) 0:39 Function Parameters: -0:39 'p' (out 3-component vector of uint) +0:39 'p' ( out 3-component vector of uint) 0:? Sequence -0:39 move second child to first child (temp 3-component vector of uint) -0:39 'p' (out 3-component vector of uint) -0:39 Convert double to uint (temp 3-component vector of uint) -0:39 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:39 move second child to first child ( temp 3-component vector of uint) +0:39 'p' ( out 3-component vector of uint) +0:39 Convert double to uint ( temp 3-component vector of uint) +0:39 d3: direct index for structure ( uniform 3-component vector of double) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:39 Constant: 0:39 4 (const uint) 0:39 Branch: Return with expression -0:39 Convert double to uint (temp 3-component vector of uint) -0:39 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:39 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:39 Convert double to uint ( temp 3-component vector of uint) +0:39 d3: direct index for structure ( uniform 3-component vector of double) +0:39 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:39 Constant: 0:39 4 (const uint) -0:41 Function Definition: Fn_R_B3I(vb3; (temp 3-component vector of bool) +0:41 Function Definition: Fn_R_B3I(vb3; ( temp 3-component vector of bool) 0:41 Function Parameters: -0:41 'p' (out 3-component vector of bool) +0:41 'p' ( out 3-component vector of bool) 0:? Sequence -0:41 move second child to first child (temp 3-component vector of bool) -0:41 'p' (out 3-component vector of bool) -0:41 Convert int to bool (temp 3-component vector of bool) -0:41 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:41 move second child to first child ( temp 3-component vector of bool) +0:41 'p' ( out 3-component vector of bool) +0:41 Convert int to bool ( temp 3-component vector of bool) +0:41 i3: direct index for structure ( uniform 3-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:41 Constant: 0:41 0 (const uint) 0:41 Branch: Return with expression -0:41 Convert int to bool (temp 3-component vector of bool) -0:41 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:41 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:41 Convert int to bool ( temp 3-component vector of bool) +0:41 i3: direct index for structure ( uniform 3-component vector of int) +0:41 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:41 Constant: 0:41 0 (const uint) -0:42 Function Definition: Fn_R_B3U(vb3; (temp 3-component vector of bool) +0:42 Function Definition: Fn_R_B3U(vb3; ( temp 3-component vector of bool) 0:42 Function Parameters: -0:42 'p' (out 3-component vector of bool) +0:42 'p' ( out 3-component vector of bool) 0:? Sequence -0:42 move second child to first child (temp 3-component vector of bool) -0:42 'p' (out 3-component vector of bool) -0:42 Convert uint to bool (temp 3-component vector of bool) -0:42 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:42 move second child to first child ( temp 3-component vector of bool) +0:42 'p' ( out 3-component vector of bool) +0:42 Convert uint to bool ( temp 3-component vector of bool) +0:42 u3: direct index for structure ( uniform 3-component vector of uint) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:42 Constant: 0:42 3 (const uint) 0:42 Branch: Return with expression -0:42 Convert uint to bool (temp 3-component vector of bool) -0:42 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:42 Convert uint to bool ( temp 3-component vector of bool) +0:42 u3: direct index for structure ( uniform 3-component vector of uint) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:42 Constant: 0:42 3 (const uint) -0:43 Function Definition: Fn_R_B3F(vb3; (temp 3-component vector of bool) +0:43 Function Definition: Fn_R_B3F(vb3; ( temp 3-component vector of bool) 0:43 Function Parameters: -0:43 'p' (out 3-component vector of bool) +0:43 'p' ( out 3-component vector of bool) 0:? Sequence -0:43 move second child to first child (temp 3-component vector of bool) -0:43 'p' (out 3-component vector of bool) -0:43 Convert float to bool (temp 3-component vector of bool) -0:43 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:43 move second child to first child ( temp 3-component vector of bool) +0:43 'p' ( out 3-component vector of bool) +0:43 Convert float to bool ( temp 3-component vector of bool) +0:43 f3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:43 Constant: 0:43 2 (const uint) 0:43 Branch: Return with expression -0:43 Convert float to bool (temp 3-component vector of bool) -0:43 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:43 Convert float to bool ( temp 3-component vector of bool) +0:43 f3: direct index for structure ( uniform 3-component vector of float) +0:43 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:43 Constant: 0:43 2 (const uint) -0:44 Function Definition: Fn_R_B3D(vb3; (temp 3-component vector of bool) +0:44 Function Definition: Fn_R_B3D(vb3; ( temp 3-component vector of bool) 0:44 Function Parameters: -0:44 'p' (out 3-component vector of bool) +0:44 'p' ( out 3-component vector of bool) 0:? Sequence -0:44 move second child to first child (temp 3-component vector of bool) -0:44 'p' (out 3-component vector of bool) -0:44 Convert double to bool (temp 3-component vector of bool) -0:44 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:44 move second child to first child ( temp 3-component vector of bool) +0:44 'p' ( out 3-component vector of bool) +0:44 Convert double to bool ( temp 3-component vector of bool) +0:44 d3: direct index for structure ( uniform 3-component vector of double) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:44 Constant: 0:44 4 (const uint) 0:44 Branch: Return with expression -0:44 Convert double to bool (temp 3-component vector of bool) -0:44 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:44 Convert double to bool ( temp 3-component vector of bool) +0:44 d3: direct index for structure ( uniform 3-component vector of double) +0:44 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:44 Constant: 0:44 4 (const uint) -0:46 Function Definition: Fn_R_D3I(vd3; (temp 3-component vector of double) +0:46 Function Definition: Fn_R_D3I(vd3; ( temp 3-component vector of double) 0:46 Function Parameters: -0:46 'p' (out 3-component vector of double) +0:46 'p' ( out 3-component vector of double) 0:? Sequence -0:46 move second child to first child (temp 3-component vector of double) -0:46 'p' (out 3-component vector of double) -0:46 Convert int to double (temp 3-component vector of double) -0:46 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:46 move second child to first child ( temp 3-component vector of double) +0:46 'p' ( out 3-component vector of double) +0:46 Convert int to double ( temp 3-component vector of double) +0:46 i3: direct index for structure ( uniform 3-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:46 Constant: 0:46 0 (const uint) 0:46 Branch: Return with expression -0:46 Convert int to double (temp 3-component vector of double) -0:46 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:46 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:46 Convert int to double ( temp 3-component vector of double) +0:46 i3: direct index for structure ( uniform 3-component vector of int) +0:46 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:46 Constant: 0:46 0 (const uint) -0:47 Function Definition: Fn_R_D3U(vd3; (temp 3-component vector of double) +0:47 Function Definition: Fn_R_D3U(vd3; ( temp 3-component vector of double) 0:47 Function Parameters: -0:47 'p' (out 3-component vector of double) +0:47 'p' ( out 3-component vector of double) 0:? Sequence -0:47 move second child to first child (temp 3-component vector of double) -0:47 'p' (out 3-component vector of double) -0:47 Convert uint to double (temp 3-component vector of double) -0:47 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:47 move second child to first child ( temp 3-component vector of double) +0:47 'p' ( out 3-component vector of double) +0:47 Convert uint to double ( temp 3-component vector of double) +0:47 u3: direct index for structure ( uniform 3-component vector of uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:47 Constant: 0:47 3 (const uint) 0:47 Branch: Return with expression -0:47 Convert uint to double (temp 3-component vector of double) -0:47 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:47 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:47 Convert uint to double ( temp 3-component vector of double) +0:47 u3: direct index for structure ( uniform 3-component vector of uint) +0:47 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:47 Constant: 0:47 3 (const uint) -0:48 Function Definition: Fn_R_D3B(vd3; (temp 3-component vector of double) +0:48 Function Definition: Fn_R_D3B(vd3; ( temp 3-component vector of double) 0:48 Function Parameters: -0:48 'p' (out 3-component vector of double) +0:48 'p' ( out 3-component vector of double) 0:? Sequence -0:48 move second child to first child (temp 3-component vector of double) -0:48 'p' (out 3-component vector of double) -0:48 Convert bool to double (temp 3-component vector of double) -0:48 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:48 move second child to first child ( temp 3-component vector of double) +0:48 'p' ( out 3-component vector of double) +0:48 Convert bool to double ( temp 3-component vector of double) +0:48 b3: direct index for structure ( uniform 3-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:48 Constant: 0:48 1 (const uint) 0:48 Branch: Return with expression -0:48 Convert bool to double (temp 3-component vector of double) -0:48 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:48 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:48 Convert bool to double ( temp 3-component vector of double) +0:48 b3: direct index for structure ( uniform 3-component vector of bool) +0:48 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:48 Constant: 0:48 1 (const uint) -0:49 Function Definition: Fn_R_D3F(vd3; (temp 3-component vector of double) +0:49 Function Definition: Fn_R_D3F(vd3; ( temp 3-component vector of double) 0:49 Function Parameters: -0:49 'p' (out 3-component vector of double) +0:49 'p' ( out 3-component vector of double) 0:? Sequence -0:49 move second child to first child (temp 3-component vector of double) -0:49 'p' (out 3-component vector of double) -0:49 Convert float to double (temp 3-component vector of double) -0:49 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:49 move second child to first child ( temp 3-component vector of double) +0:49 'p' ( out 3-component vector of double) +0:49 Convert float to double ( temp 3-component vector of double) +0:49 f3: direct index for structure ( uniform 3-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:49 Constant: 0:49 2 (const uint) 0:49 Branch: Return with expression -0:49 Convert float to double (temp 3-component vector of double) -0:49 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:49 Convert float to double ( temp 3-component vector of double) +0:49 f3: direct index for structure ( uniform 3-component vector of float) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:49 Constant: 0:49 2 (const uint) -0:52 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:52 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:52 Function Parameters: 0:? Sequence 0:54 Sequence -0:54 move second child to first child (temp 3-component vector of float) -0:54 'r00' (temp 3-component vector of float) -0:54 Convert int to float (temp 3-component vector of float) -0:54 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:54 move second child to first child ( temp 3-component vector of float) +0:54 'r00' ( temp 3-component vector of float) +0:54 Convert int to float ( temp 3-component vector of float) +0:54 i3: direct index for structure ( uniform 3-component vector of int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:54 Constant: 0:54 0 (const uint) 0:55 Sequence -0:55 move second child to first child (temp 3-component vector of float) -0:55 'r01' (temp 3-component vector of float) -0:55 Convert bool to float (temp 3-component vector of float) -0:55 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:55 move second child to first child ( temp 3-component vector of float) +0:55 'r01' ( temp 3-component vector of float) +0:55 Convert bool to float ( temp 3-component vector of float) +0:55 b3: direct index for structure ( uniform 3-component vector of bool) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:55 Constant: 0:55 1 (const uint) 0:56 Sequence -0:56 move second child to first child (temp 3-component vector of float) -0:56 'r02' (temp 3-component vector of float) -0:56 Convert uint to float (temp 3-component vector of float) -0:56 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:56 move second child to first child ( temp 3-component vector of float) +0:56 'r02' ( temp 3-component vector of float) +0:56 Convert uint to float ( temp 3-component vector of float) +0:56 u3: direct index for structure ( uniform 3-component vector of uint) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:56 Constant: 0:56 3 (const uint) 0:57 Sequence -0:57 move second child to first child (temp 3-component vector of float) -0:57 'r03' (temp 3-component vector of float) -0:57 Convert double to float (temp 3-component vector of float) -0:57 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:57 move second child to first child ( temp 3-component vector of float) +0:57 'r03' ( temp 3-component vector of float) +0:57 Convert double to float ( temp 3-component vector of float) +0:57 d3: direct index for structure ( uniform 3-component vector of double) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:57 Constant: 0:57 4 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 3-component vector of int) -0:59 'r10' (temp 3-component vector of int) -0:59 Convert bool to int (temp 3-component vector of int) -0:59 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:59 move second child to first child ( temp 3-component vector of int) +0:59 'r10' ( temp 3-component vector of int) +0:59 Convert bool to int ( temp 3-component vector of int) +0:59 b3: direct index for structure ( uniform 3-component vector of bool) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:59 Constant: 0:59 1 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 3-component vector of int) -0:60 'r11' (temp 3-component vector of int) -0:60 Convert uint to int (temp 3-component vector of int) -0:60 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:60 move second child to first child ( temp 3-component vector of int) +0:60 'r11' ( temp 3-component vector of int) +0:60 Convert uint to int ( temp 3-component vector of int) +0:60 u3: direct index for structure ( uniform 3-component vector of uint) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:60 Constant: 0:60 3 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 3-component vector of int) -0:61 'r12' (temp 3-component vector of int) -0:61 Convert float to int (temp 3-component vector of int) -0:61 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:61 move second child to first child ( temp 3-component vector of int) +0:61 'r12' ( temp 3-component vector of int) +0:61 Convert float to int ( temp 3-component vector of int) +0:61 f3: direct index for structure ( uniform 3-component vector of float) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:61 Constant: 0:61 2 (const uint) 0:62 Sequence -0:62 move second child to first child (temp 3-component vector of int) -0:62 'r13' (temp 3-component vector of int) -0:62 Convert double to int (temp 3-component vector of int) -0:62 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:62 move second child to first child ( temp 3-component vector of int) +0:62 'r13' ( temp 3-component vector of int) +0:62 Convert double to int ( temp 3-component vector of int) +0:62 d3: direct index for structure ( uniform 3-component vector of double) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:62 Constant: 0:62 4 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 3-component vector of uint) -0:64 'r20' (temp 3-component vector of uint) -0:64 Convert bool to uint (temp 3-component vector of uint) -0:64 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:64 move second child to first child ( temp 3-component vector of uint) +0:64 'r20' ( temp 3-component vector of uint) +0:64 Convert bool to uint ( temp 3-component vector of uint) +0:64 b3: direct index for structure ( uniform 3-component vector of bool) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 3-component vector of uint) -0:65 'r21' (temp 3-component vector of uint) -0:65 Convert int to uint (temp 3-component vector of uint) -0:65 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:65 move second child to first child ( temp 3-component vector of uint) +0:65 'r21' ( temp 3-component vector of uint) +0:65 Convert int to uint ( temp 3-component vector of uint) +0:65 i3: direct index for structure ( uniform 3-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:65 Constant: 0:65 0 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 3-component vector of uint) -0:66 'r22' (temp 3-component vector of uint) -0:66 Convert float to uint (temp 3-component vector of uint) -0:66 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:66 move second child to first child ( temp 3-component vector of uint) +0:66 'r22' ( temp 3-component vector of uint) +0:66 Convert float to uint ( temp 3-component vector of uint) +0:66 f3: direct index for structure ( uniform 3-component vector of float) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:66 Constant: 0:66 2 (const uint) 0:67 Sequence -0:67 move second child to first child (temp 3-component vector of uint) -0:67 'r23' (temp 3-component vector of uint) -0:67 Convert double to uint (temp 3-component vector of uint) -0:67 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:67 move second child to first child ( temp 3-component vector of uint) +0:67 'r23' ( temp 3-component vector of uint) +0:67 Convert double to uint ( temp 3-component vector of uint) +0:67 d3: direct index for structure ( uniform 3-component vector of double) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:67 Constant: 0:67 4 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 3-component vector of bool) -0:69 'r30' (temp 3-component vector of bool) -0:69 Convert int to bool (temp 3-component vector of bool) -0:69 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:69 move second child to first child ( temp 3-component vector of bool) +0:69 'r30' ( temp 3-component vector of bool) +0:69 Convert int to bool ( temp 3-component vector of bool) +0:69 i3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:69 Constant: 0:69 0 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 3-component vector of bool) -0:70 'r31' (temp 3-component vector of bool) -0:70 Convert uint to bool (temp 3-component vector of bool) -0:70 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:70 move second child to first child ( temp 3-component vector of bool) +0:70 'r31' ( temp 3-component vector of bool) +0:70 Convert uint to bool ( temp 3-component vector of bool) +0:70 u3: direct index for structure ( uniform 3-component vector of uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:70 Constant: 0:70 3 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 3-component vector of bool) -0:71 'r32' (temp 3-component vector of bool) -0:71 Convert float to bool (temp 3-component vector of bool) -0:71 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:71 move second child to first child ( temp 3-component vector of bool) +0:71 'r32' ( temp 3-component vector of bool) +0:71 Convert float to bool ( temp 3-component vector of bool) +0:71 f3: direct index for structure ( uniform 3-component vector of float) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:71 Constant: 0:71 2 (const uint) 0:72 Sequence -0:72 move second child to first child (temp 3-component vector of bool) -0:72 'r33' (temp 3-component vector of bool) -0:72 Convert double to bool (temp 3-component vector of bool) -0:72 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:72 move second child to first child ( temp 3-component vector of bool) +0:72 'r33' ( temp 3-component vector of bool) +0:72 Convert double to bool ( temp 3-component vector of bool) +0:72 d3: direct index for structure ( uniform 3-component vector of double) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:72 Constant: 0:72 4 (const uint) 0:74 Sequence -0:74 move second child to first child (temp 3-component vector of double) -0:74 'r40' (temp 3-component vector of double) -0:74 Convert int to double (temp 3-component vector of double) -0:74 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:74 move second child to first child ( temp 3-component vector of double) +0:74 'r40' ( temp 3-component vector of double) +0:74 Convert int to double ( temp 3-component vector of double) +0:74 i3: direct index for structure ( uniform 3-component vector of int) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:74 Constant: 0:74 0 (const uint) 0:75 Sequence -0:75 move second child to first child (temp 3-component vector of double) -0:75 'r41' (temp 3-component vector of double) -0:75 Convert uint to double (temp 3-component vector of double) -0:75 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:75 move second child to first child ( temp 3-component vector of double) +0:75 'r41' ( temp 3-component vector of double) +0:75 Convert uint to double ( temp 3-component vector of double) +0:75 u3: direct index for structure ( uniform 3-component vector of uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:75 Constant: 0:75 3 (const uint) 0:76 Sequence -0:76 move second child to first child (temp 3-component vector of double) -0:76 'r42' (temp 3-component vector of double) -0:76 Convert float to double (temp 3-component vector of double) -0:76 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:76 move second child to first child ( temp 3-component vector of double) +0:76 'r42' ( temp 3-component vector of double) +0:76 Convert float to double ( temp 3-component vector of double) +0:76 f3: direct index for structure ( uniform 3-component vector of float) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:76 Constant: 0:76 2 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 3-component vector of double) -0:77 'r43' (temp 3-component vector of double) -0:77 Convert bool to double (temp 3-component vector of double) -0:77 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:77 move second child to first child ( temp 3-component vector of double) +0:77 'r43' ( temp 3-component vector of double) +0:77 Convert bool to double ( temp 3-component vector of double) +0:77 b3: direct index for structure ( uniform 3-component vector of bool) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:77 Constant: 0:77 1 (const uint) -0:80 multiply second child into first child (temp 3-component vector of float) -0:80 'r00' (temp 3-component vector of float) -0:80 Convert int to float (temp 3-component vector of float) -0:80 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:80 multiply second child into first child ( temp 3-component vector of float) +0:80 'r00' ( temp 3-component vector of float) +0:80 Convert int to float ( temp 3-component vector of float) +0:80 i3: direct index for structure ( uniform 3-component vector of int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:80 Constant: 0:80 0 (const uint) -0:81 multiply second child into first child (temp 3-component vector of float) -0:81 'r01' (temp 3-component vector of float) -0:81 Convert bool to float (temp 3-component vector of float) -0:81 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:81 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:81 multiply second child into first child ( temp 3-component vector of float) +0:81 'r01' ( temp 3-component vector of float) +0:81 Convert bool to float ( temp 3-component vector of float) +0:81 b3: direct index for structure ( uniform 3-component vector of bool) +0:81 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:81 Constant: 0:81 1 (const uint) -0:82 multiply second child into first child (temp 3-component vector of float) -0:82 'r02' (temp 3-component vector of float) -0:82 Convert uint to float (temp 3-component vector of float) -0:82 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:82 multiply second child into first child ( temp 3-component vector of float) +0:82 'r02' ( temp 3-component vector of float) +0:82 Convert uint to float ( temp 3-component vector of float) +0:82 u3: direct index for structure ( uniform 3-component vector of uint) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:82 Constant: 0:82 3 (const uint) -0:83 multiply second child into first child (temp 3-component vector of float) -0:83 'r03' (temp 3-component vector of float) -0:83 Convert double to float (temp 3-component vector of float) -0:83 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:83 multiply second child into first child ( temp 3-component vector of float) +0:83 'r03' ( temp 3-component vector of float) +0:83 Convert double to float ( temp 3-component vector of float) +0:83 d3: direct index for structure ( uniform 3-component vector of double) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:83 Constant: 0:83 4 (const uint) -0:85 multiply second child into first child (temp 3-component vector of int) -0:85 'r10' (temp 3-component vector of int) -0:85 Convert bool to int (temp 3-component vector of int) -0:85 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:85 multiply second child into first child ( temp 3-component vector of int) +0:85 'r10' ( temp 3-component vector of int) +0:85 Convert bool to int ( temp 3-component vector of int) +0:85 b3: direct index for structure ( uniform 3-component vector of bool) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:85 Constant: 0:85 1 (const uint) -0:86 multiply second child into first child (temp 3-component vector of int) -0:86 'r11' (temp 3-component vector of int) -0:86 Convert uint to int (temp 3-component vector of int) -0:86 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:86 multiply second child into first child ( temp 3-component vector of int) +0:86 'r11' ( temp 3-component vector of int) +0:86 Convert uint to int ( temp 3-component vector of int) +0:86 u3: direct index for structure ( uniform 3-component vector of uint) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:86 Constant: 0:86 3 (const uint) -0:87 multiply second child into first child (temp 3-component vector of int) -0:87 'r12' (temp 3-component vector of int) -0:87 Convert float to int (temp 3-component vector of int) -0:87 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:87 multiply second child into first child ( temp 3-component vector of int) +0:87 'r12' ( temp 3-component vector of int) +0:87 Convert float to int ( temp 3-component vector of int) +0:87 f3: direct index for structure ( uniform 3-component vector of float) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:87 Constant: 0:87 2 (const uint) -0:88 multiply second child into first child (temp 3-component vector of int) -0:88 'r13' (temp 3-component vector of int) -0:88 Convert double to int (temp 3-component vector of int) -0:88 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:88 multiply second child into first child ( temp 3-component vector of int) +0:88 'r13' ( temp 3-component vector of int) +0:88 Convert double to int ( temp 3-component vector of int) +0:88 d3: direct index for structure ( uniform 3-component vector of double) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:88 Constant: 0:88 4 (const uint) -0:90 multiply second child into first child (temp 3-component vector of uint) -0:90 'r20' (temp 3-component vector of uint) -0:90 Convert bool to uint (temp 3-component vector of uint) -0:90 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:90 multiply second child into first child ( temp 3-component vector of uint) +0:90 'r20' ( temp 3-component vector of uint) +0:90 Convert bool to uint ( temp 3-component vector of uint) +0:90 b3: direct index for structure ( uniform 3-component vector of bool) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:90 Constant: 0:90 1 (const uint) -0:91 multiply second child into first child (temp 3-component vector of uint) -0:91 'r21' (temp 3-component vector of uint) -0:91 Convert int to uint (temp 3-component vector of uint) -0:91 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:91 multiply second child into first child ( temp 3-component vector of uint) +0:91 'r21' ( temp 3-component vector of uint) +0:91 Convert int to uint ( temp 3-component vector of uint) +0:91 i3: direct index for structure ( uniform 3-component vector of int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:91 Constant: 0:91 0 (const uint) -0:92 multiply second child into first child (temp 3-component vector of uint) -0:92 'r22' (temp 3-component vector of uint) -0:92 Convert float to uint (temp 3-component vector of uint) -0:92 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:92 multiply second child into first child ( temp 3-component vector of uint) +0:92 'r22' ( temp 3-component vector of uint) +0:92 Convert float to uint ( temp 3-component vector of uint) +0:92 f3: direct index for structure ( uniform 3-component vector of float) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:92 Constant: 0:92 2 (const uint) -0:93 multiply second child into first child (temp 3-component vector of uint) -0:93 'r23' (temp 3-component vector of uint) -0:93 Convert double to uint (temp 3-component vector of uint) -0:93 d3: direct index for structure (layout(offset=64 ) uniform 3-component vector of double) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:93 multiply second child into first child ( temp 3-component vector of uint) +0:93 'r23' ( temp 3-component vector of uint) +0:93 Convert double to uint ( temp 3-component vector of uint) +0:93 d3: direct index for structure ( uniform 3-component vector of double) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:93 Constant: 0:93 4 (const uint) -0:97 multiply second child into first child (temp 3-component vector of double) -0:97 'r40' (temp 3-component vector of double) -0:97 Convert int to double (temp 3-component vector of double) -0:97 i3: direct index for structure (layout(offset=0 ) uniform 3-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:97 multiply second child into first child ( temp 3-component vector of double) +0:97 'r40' ( temp 3-component vector of double) +0:97 Convert int to double ( temp 3-component vector of double) +0:97 i3: direct index for structure ( uniform 3-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:97 Constant: 0:97 0 (const uint) -0:98 multiply second child into first child (temp 3-component vector of double) -0:98 'r41' (temp 3-component vector of double) -0:98 Convert uint to double (temp 3-component vector of double) -0:98 u3: direct index for structure (layout(offset=48 ) uniform 3-component vector of uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:98 multiply second child into first child ( temp 3-component vector of double) +0:98 'r41' ( temp 3-component vector of double) +0:98 Convert uint to double ( temp 3-component vector of double) +0:98 u3: direct index for structure ( uniform 3-component vector of uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:98 Constant: 0:98 3 (const uint) -0:99 multiply second child into first child (temp 3-component vector of double) -0:99 'r42' (temp 3-component vector of double) -0:99 Convert float to double (temp 3-component vector of double) -0:99 f3: direct index for structure (layout(offset=32 ) uniform 3-component vector of float) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:99 multiply second child into first child ( temp 3-component vector of double) +0:99 'r42' ( temp 3-component vector of double) +0:99 Convert float to double ( temp 3-component vector of double) +0:99 f3: direct index for structure ( uniform 3-component vector of float) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:99 Constant: 0:99 2 (const uint) -0:100 multiply second child into first child (temp 3-component vector of double) -0:100 'r43' (temp 3-component vector of double) -0:100 Convert bool to double (temp 3-component vector of double) -0:100 b3: direct index for structure (layout(offset=16 ) uniform 3-component vector of bool) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:100 multiply second child into first child ( temp 3-component vector of double) +0:100 'r43' ( temp 3-component vector of double) +0:100 Convert bool to double ( temp 3-component vector of double) +0:100 b3: direct index for structure ( uniform 3-component vector of bool) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:100 Constant: 0:100 1 (const uint) -0:103 vector scale second child into first child (temp 3-component vector of float) -0:103 'r00' (temp 3-component vector of float) -0:103 Convert int to float (temp float) -0:103 is: direct index for structure (layout(offset=88 ) uniform int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:103 vector scale second child into first child ( temp 3-component vector of float) +0:103 'r00' ( temp 3-component vector of float) +0:103 Convert int to float ( temp float) +0:103 is: direct index for structure ( uniform int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:103 Constant: 0:103 5 (const uint) -0:104 vector scale second child into first child (temp 3-component vector of float) -0:104 'r01' (temp 3-component vector of float) -0:104 Convert bool to float (temp float) -0:104 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:104 vector scale second child into first child ( temp 3-component vector of float) +0:104 'r01' ( temp 3-component vector of float) +0:104 Convert bool to float ( temp float) +0:104 bs: direct index for structure ( uniform bool) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:104 Constant: 0:104 6 (const uint) -0:105 vector scale second child into first child (temp 3-component vector of float) -0:105 'r02' (temp 3-component vector of float) -0:105 Convert uint to float (temp float) -0:105 us: direct index for structure (layout(offset=100 ) uniform uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:105 vector scale second child into first child ( temp 3-component vector of float) +0:105 'r02' ( temp 3-component vector of float) +0:105 Convert uint to float ( temp float) +0:105 us: direct index for structure ( uniform uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:105 Constant: 0:105 8 (const uint) -0:106 vector scale second child into first child (temp 3-component vector of float) -0:106 'r03' (temp 3-component vector of float) -0:106 Convert double to float (temp float) -0:106 ds: direct index for structure (layout(offset=104 ) uniform double) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:106 vector scale second child into first child ( temp 3-component vector of float) +0:106 'r03' ( temp 3-component vector of float) +0:106 Convert double to float ( temp float) +0:106 ds: direct index for structure ( uniform double) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:106 Constant: 0:106 9 (const uint) -0:108 vector scale second child into first child (temp 3-component vector of int) -0:108 'r10' (temp 3-component vector of int) -0:108 Convert bool to int (temp int) -0:108 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:108 vector scale second child into first child ( temp 3-component vector of int) +0:108 'r10' ( temp 3-component vector of int) +0:108 Convert bool to int ( temp int) +0:108 bs: direct index for structure ( uniform bool) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:108 Constant: 0:108 6 (const uint) -0:109 vector scale second child into first child (temp 3-component vector of int) -0:109 'r11' (temp 3-component vector of int) -0:109 Convert uint to int (temp int) -0:109 us: direct index for structure (layout(offset=100 ) uniform uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:109 vector scale second child into first child ( temp 3-component vector of int) +0:109 'r11' ( temp 3-component vector of int) +0:109 Convert uint to int ( temp int) +0:109 us: direct index for structure ( uniform uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:109 Constant: 0:109 8 (const uint) -0:110 vector scale second child into first child (temp 3-component vector of int) -0:110 'r12' (temp 3-component vector of int) -0:110 Convert float to int (temp int) -0:110 fs: direct index for structure (layout(offset=96 ) uniform float) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:110 vector scale second child into first child ( temp 3-component vector of int) +0:110 'r12' ( temp 3-component vector of int) +0:110 Convert float to int ( temp int) +0:110 fs: direct index for structure ( uniform float) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:110 Constant: 0:110 7 (const uint) -0:111 vector scale second child into first child (temp 3-component vector of int) -0:111 'r13' (temp 3-component vector of int) -0:111 Convert double to int (temp int) -0:111 ds: direct index for structure (layout(offset=104 ) uniform double) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:111 vector scale second child into first child ( temp 3-component vector of int) +0:111 'r13' ( temp 3-component vector of int) +0:111 Convert double to int ( temp int) +0:111 ds: direct index for structure ( uniform double) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:111 Constant: 0:111 9 (const uint) -0:113 vector scale second child into first child (temp 3-component vector of uint) -0:113 'r20' (temp 3-component vector of uint) -0:113 Convert bool to uint (temp uint) -0:113 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:113 vector scale second child into first child ( temp 3-component vector of uint) +0:113 'r20' ( temp 3-component vector of uint) +0:113 Convert bool to uint ( temp uint) +0:113 bs: direct index for structure ( uniform bool) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:113 Constant: 0:113 6 (const uint) -0:114 vector scale second child into first child (temp 3-component vector of uint) -0:114 'r21' (temp 3-component vector of uint) -0:114 Convert int to uint (temp uint) -0:114 is: direct index for structure (layout(offset=88 ) uniform int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:114 vector scale second child into first child ( temp 3-component vector of uint) +0:114 'r21' ( temp 3-component vector of uint) +0:114 Convert int to uint ( temp uint) +0:114 is: direct index for structure ( uniform int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:114 Constant: 0:114 5 (const uint) -0:115 vector scale second child into first child (temp 3-component vector of uint) -0:115 'r22' (temp 3-component vector of uint) -0:115 Convert float to uint (temp uint) -0:115 fs: direct index for structure (layout(offset=96 ) uniform float) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:115 vector scale second child into first child ( temp 3-component vector of uint) +0:115 'r22' ( temp 3-component vector of uint) +0:115 Convert float to uint ( temp uint) +0:115 fs: direct index for structure ( uniform float) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:115 Constant: 0:115 7 (const uint) -0:116 vector scale second child into first child (temp 3-component vector of uint) -0:116 'r23' (temp 3-component vector of uint) -0:116 Convert double to uint (temp uint) -0:116 ds: direct index for structure (layout(offset=104 ) uniform double) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:116 vector scale second child into first child ( temp 3-component vector of uint) +0:116 'r23' ( temp 3-component vector of uint) +0:116 Convert double to uint ( temp uint) +0:116 ds: direct index for structure ( uniform double) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:116 Constant: 0:116 9 (const uint) -0:120 vector scale second child into first child (temp 3-component vector of double) -0:120 'r40' (temp 3-component vector of double) -0:120 Convert int to double (temp double) -0:120 is: direct index for structure (layout(offset=88 ) uniform int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:120 vector scale second child into first child ( temp 3-component vector of double) +0:120 'r40' ( temp 3-component vector of double) +0:120 Convert int to double ( temp double) +0:120 is: direct index for structure ( uniform int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:120 Constant: 0:120 5 (const uint) -0:121 vector scale second child into first child (temp 3-component vector of double) -0:121 'r41' (temp 3-component vector of double) -0:121 Convert uint to double (temp double) -0:121 us: direct index for structure (layout(offset=100 ) uniform uint) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:121 vector scale second child into first child ( temp 3-component vector of double) +0:121 'r41' ( temp 3-component vector of double) +0:121 Convert uint to double ( temp double) +0:121 us: direct index for structure ( uniform uint) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:121 Constant: 0:121 8 (const uint) -0:122 vector scale second child into first child (temp 3-component vector of double) -0:122 'r42' (temp 3-component vector of double) -0:122 Convert float to double (temp double) -0:122 fs: direct index for structure (layout(offset=96 ) uniform float) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:122 vector scale second child into first child ( temp 3-component vector of double) +0:122 'r42' ( temp 3-component vector of double) +0:122 Convert float to double ( temp double) +0:122 fs: direct index for structure ( uniform float) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:122 Constant: 0:122 7 (const uint) -0:123 vector scale second child into first child (temp 3-component vector of double) -0:123 'r43' (temp 3-component vector of double) -0:123 Convert bool to double (temp double) -0:123 bs: direct index for structure (layout(offset=92 ) uniform bool) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:123 vector scale second child into first child ( temp 3-component vector of double) +0:123 'r43' ( temp 3-component vector of double) +0:123 Convert bool to double ( temp double) +0:123 bs: direct index for structure ( uniform bool) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) 0:123 Constant: 0:123 6 (const uint) 0:193 Sequence -0:193 move second child to first child (temp int) -0:193 'c1' (temp int) +0:193 move second child to first child ( temp int) +0:193 'c1' ( temp int) 0:193 Constant: 0:193 3 (const int) 0:194 Sequence -0:194 move second child to first child (temp int) -0:194 'c2' (temp int) +0:194 move second child to first child ( temp int) +0:194 'c2' ( temp int) 0:194 Constant: 0:194 3 (const int) 0:196 Sequence -0:196 move second child to first child (temp 4-component vector of float) -0:196 'outval' (temp 4-component vector of float) -0:? Construct vec4 (temp 4-component vector of float) +0:196 move second child to first child ( temp 4-component vector of float) +0:196 'outval' ( temp 4-component vector of float) +0:? Construct vec4 ( temp 4-component vector of float) 0:196 Constant: 0:196 3.600000 0:196 Constant: 0:196 3.600000 -0:196 Convert int to float (temp float) -0:196 'c1' (temp int) -0:196 Convert int to float (temp float) -0:196 'c2' (temp int) -0:199 move second child to first child (temp 4-component vector of float) -0:199 Color: direct index for structure (temp 4-component vector of float) -0:199 'psout' (temp structure{temp 4-component vector of float Color}) +0:196 Convert int to float ( temp float) +0:196 'c1' ( temp int) +0:196 Convert int to float ( temp float) +0:196 'c2' ( temp int) +0:199 move second child to first child ( temp 4-component vector of float) +0:199 Color: direct index for structure ( temp 4-component vector of float) +0:199 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:199 Constant: 0:199 0 (const int) -0:199 'outval' (temp 4-component vector of float) -0:200 Sequence -0:200 Sequence -0:200 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:200 Color: direct index for structure (temp 4-component vector of float) -0:200 'psout' (temp structure{temp 4-component vector of float Color}) -0:200 Constant: -0:200 0 (const int) -0:200 Branch: Return +0:199 'outval' ( temp 4-component vector of float) +0:200 Branch: Return with expression +0:200 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:52 Function Definition: main( ( temp void) +0:52 Function Parameters: +0:? Sequence +0:52 Sequence +0:52 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:52 Color: direct index for structure ( temp 4-component vector of float) +0:52 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:52 Constant: +0:52 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3, uniform 3-component vector of bool b3, uniform 3-component vector of float f3, uniform 3-component vector of uint u3, uniform 3-component vector of double d3, uniform int is, uniform bool bs, uniform float fs, uniform uint us, uniform double ds}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 591 +// Id's are bound by 596 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 587 + EntryPoint Fragment 4 "main" 593 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn_F3(vf3;" @@ -1636,58 +1642,59 @@ gl_FragCoord origin is upper left Name 100 "p" Name 104 "Fn_R_D3F(vd3;" Name 103 "p" - Name 106 "$Global" - MemberName 106($Global) 0 "i3" - MemberName 106($Global) 1 "b3" - MemberName 106($Global) 2 "f3" - MemberName 106($Global) 3 "u3" - MemberName 106($Global) 4 "d3" - MemberName 106($Global) 5 "is" - MemberName 106($Global) 6 "bs" - MemberName 106($Global) 7 "fs" - MemberName 106($Global) 8 "us" - MemberName 106($Global) 9 "ds" - Name 108 "" - Name 300 "r00" - Name 304 "r01" - Name 309 "r02" - Name 313 "r03" - Name 317 "r10" - Name 322 "r11" - Name 326 "r12" - Name 330 "r13" - Name 334 "r20" - Name 339 "r21" - Name 343 "r22" - Name 347 "r23" - Name 351 "r30" - Name 355 "r31" - Name 359 "r32" - Name 363 "r33" - Name 367 "r40" - Name 371 "r41" - Name 375 "r42" - Name 379 "r43" - Name 570 "c1" - Name 571 "c2" - Name 574 "outval" - Name 581 "PS_OUTPUT" - MemberName 581(PS_OUTPUT) 0 "Color" - Name 583 "psout" - Name 587 "Color" - MemberDecorate 106($Global) 0 Offset 0 - MemberDecorate 106($Global) 1 Offset 16 - MemberDecorate 106($Global) 2 Offset 32 - MemberDecorate 106($Global) 3 Offset 48 - MemberDecorate 106($Global) 4 Offset 64 - MemberDecorate 106($Global) 5 Offset 88 - MemberDecorate 106($Global) 6 Offset 92 - MemberDecorate 106($Global) 7 Offset 96 - MemberDecorate 106($Global) 8 Offset 100 - MemberDecorate 106($Global) 9 Offset 104 - Decorate 106($Global) Block - Decorate 108 DescriptorSet 0 - Decorate 587(Color) Location 0 + Name 107 "PS_OUTPUT" + MemberName 107(PS_OUTPUT) 0 "Color" + Name 109 "@main(" + Name 111 "$Global" + MemberName 111($Global) 0 "i3" + MemberName 111($Global) 1 "b3" + MemberName 111($Global) 2 "f3" + MemberName 111($Global) 3 "u3" + MemberName 111($Global) 4 "d3" + MemberName 111($Global) 5 "is" + MemberName 111($Global) 6 "bs" + MemberName 111($Global) 7 "fs" + MemberName 111($Global) 8 "us" + MemberName 111($Global) 9 "ds" + Name 113 "" + Name 305 "r00" + Name 309 "r01" + Name 314 "r02" + Name 318 "r03" + Name 322 "r10" + Name 327 "r11" + Name 331 "r12" + Name 335 "r13" + Name 339 "r20" + Name 344 "r21" + Name 348 "r22" + Name 352 "r23" + Name 356 "r30" + Name 360 "r31" + Name 364 "r32" + Name 368 "r33" + Name 372 "r40" + Name 376 "r41" + Name 380 "r42" + Name 384 "r43" + Name 575 "c1" + Name 576 "c2" + Name 578 "outval" + Name 586 "psout" + Name 593 "Color" + MemberDecorate 111($Global) 0 Offset 0 + MemberDecorate 111($Global) 1 Offset 16 + MemberDecorate 111($Global) 2 Offset 32 + MemberDecorate 111($Global) 3 Offset 48 + MemberDecorate 111($Global) 4 Offset 64 + MemberDecorate 111($Global) 5 Offset 88 + MemberDecorate 111($Global) 6 Offset 92 + MemberDecorate 111($Global) 7 Offset 96 + MemberDecorate 111($Global) 8 Offset 100 + MemberDecorate 111($Global) 9 Offset 104 + Decorate 111($Global) Block + Decorate 113 DescriptorSet 0 + Decorate 593(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -1715,381 +1722,55 @@ gl_FragCoord origin is upper left 67: TypeFunction 21(ivec3) 22(ptr) 80: TypeFunction 28(bvec3) 29(ptr) 93: TypeFunction 35(fvec3) 36(ptr) - 106($Global): TypeStruct 14(ivec3) 21(ivec3) 7(fvec3) 21(ivec3) 35(fvec3) 13(int) 20(int) 6(float) 20(int) 34(float) - 107: TypePointer Uniform 106($Global) - 108: 107(ptr) Variable Uniform - 109: 13(int) Constant 0 - 110: TypePointer Uniform 14(ivec3) - 119: 13(int) Constant 3 - 120: TypePointer Uniform 21(ivec3) - 129: 13(int) Constant 1 - 132: 20(int) Constant 0 - 133: 21(ivec3) ConstantComposite 132 132 132 - 135: 6(float) Constant 0 - 136: 6(float) Constant 1065353216 - 137: 7(fvec3) ConstantComposite 135 135 135 - 138: 7(fvec3) ConstantComposite 136 136 136 - 146: 13(int) Constant 4 - 147: TypePointer Uniform 35(fvec3) - 167: 14(ivec3) ConstantComposite 109 109 109 - 168: 14(ivec3) ConstantComposite 129 129 129 - 176: 13(int) Constant 2 - 177: TypePointer Uniform 7(fvec3) - 213: 20(int) Constant 1 - 214: 21(ivec3) ConstantComposite 213 213 213 - 256: 34(float) Constant 0 0 - 257: 35(fvec3) ConstantComposite 256 256 256 - 283: 34(float) Constant 0 1072693248 - 284: 35(fvec3) ConstantComposite 283 283 283 - 468: 13(int) Constant 5 - 469: TypePointer Uniform 13(int) - 475: 13(int) Constant 6 - 476: TypePointer Uniform 20(int) - 483: 13(int) Constant 8 - 489: 13(int) Constant 9 - 490: TypePointer Uniform 34(float) - 509: 13(int) Constant 7 - 510: TypePointer Uniform 6(float) - 569: TypePointer Function 13(int) - 572: TypeVector 6(float) 4 - 573: TypePointer Function 572(fvec4) - 575: 6(float) Constant 1080452710 - 581(PS_OUTPUT): TypeStruct 572(fvec4) - 582: TypePointer Function 581(PS_OUTPUT) - 586: TypePointer Output 572(fvec4) - 587(Color): 586(ptr) Variable Output + 106: TypeVector 6(float) 4 + 107(PS_OUTPUT): TypeStruct 106(fvec4) + 108: TypeFunction 107(PS_OUTPUT) + 111($Global): TypeStruct 14(ivec3) 21(ivec3) 7(fvec3) 21(ivec3) 35(fvec3) 13(int) 20(int) 6(float) 20(int) 34(float) + 112: TypePointer Uniform 111($Global) + 113: 112(ptr) Variable Uniform + 114: 13(int) Constant 0 + 115: TypePointer Uniform 14(ivec3) + 124: 13(int) Constant 3 + 125: TypePointer Uniform 21(ivec3) + 134: 13(int) Constant 1 + 137: 20(int) Constant 0 + 138: 21(ivec3) ConstantComposite 137 137 137 + 140: 6(float) Constant 0 + 141: 6(float) Constant 1065353216 + 142: 7(fvec3) ConstantComposite 140 140 140 + 143: 7(fvec3) ConstantComposite 141 141 141 + 151: 13(int) Constant 4 + 152: TypePointer Uniform 35(fvec3) + 172: 14(ivec3) ConstantComposite 114 114 114 + 173: 14(ivec3) ConstantComposite 134 134 134 + 181: 13(int) Constant 2 + 182: TypePointer Uniform 7(fvec3) + 218: 20(int) Constant 1 + 219: 21(ivec3) ConstantComposite 218 218 218 + 261: 34(float) Constant 0 0 + 262: 35(fvec3) ConstantComposite 261 261 261 + 288: 34(float) Constant 0 1072693248 + 289: 35(fvec3) ConstantComposite 288 288 288 + 473: 13(int) Constant 5 + 474: TypePointer Uniform 13(int) + 480: 13(int) Constant 6 + 481: TypePointer Uniform 20(int) + 488: 13(int) Constant 8 + 494: 13(int) Constant 9 + 495: TypePointer Uniform 34(float) + 514: 13(int) Constant 7 + 515: TypePointer Uniform 6(float) + 574: TypePointer Function 13(int) + 577: TypePointer Function 106(fvec4) + 579: 6(float) Constant 1080452710 + 585: TypePointer Function 107(PS_OUTPUT) + 592: TypePointer Output 106(fvec4) + 593(Color): 592(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 300(r00): 8(ptr) Variable Function - 304(r01): 8(ptr) Variable Function - 309(r02): 8(ptr) Variable Function - 313(r03): 8(ptr) Variable Function - 317(r10): 15(ptr) Variable Function - 322(r11): 15(ptr) Variable Function - 326(r12): 15(ptr) Variable Function - 330(r13): 15(ptr) Variable Function - 334(r20): 22(ptr) Variable Function - 339(r21): 22(ptr) Variable Function - 343(r22): 22(ptr) Variable Function - 347(r23): 22(ptr) Variable Function - 351(r30): 29(ptr) Variable Function - 355(r31): 29(ptr) Variable Function - 359(r32): 29(ptr) Variable Function - 363(r33): 29(ptr) Variable Function - 367(r40): 36(ptr) Variable Function - 371(r41): 36(ptr) Variable Function - 375(r42): 36(ptr) Variable Function - 379(r43): 36(ptr) Variable Function - 570(c1): 569(ptr) Variable Function - 571(c2): 569(ptr) Variable Function - 574(outval): 573(ptr) Variable Function - 583(psout): 582(ptr) Variable Function - 301: 110(ptr) AccessChain 108 109 - 302: 14(ivec3) Load 301 - 303: 7(fvec3) ConvertSToF 302 - Store 300(r00) 303 - 305: 120(ptr) AccessChain 108 129 - 306: 21(ivec3) Load 305 - 307: 28(bvec3) INotEqual 306 133 - 308: 7(fvec3) Select 307 138 137 - Store 304(r01) 308 - 310: 120(ptr) AccessChain 108 119 - 311: 21(ivec3) Load 310 - 312: 7(fvec3) ConvertUToF 311 - Store 309(r02) 312 - 314: 147(ptr) AccessChain 108 146 - 315: 35(fvec3) Load 314 - 316: 7(fvec3) FConvert 315 - Store 313(r03) 316 - 318: 120(ptr) AccessChain 108 129 - 319: 21(ivec3) Load 318 - 320: 28(bvec3) INotEqual 319 133 - 321: 14(ivec3) Select 320 168 167 - Store 317(r10) 321 - 323: 120(ptr) AccessChain 108 119 - 324: 21(ivec3) Load 323 - 325: 14(ivec3) Bitcast 324 - Store 322(r11) 325 - 327: 177(ptr) AccessChain 108 176 - 328: 7(fvec3) Load 327 - 329: 14(ivec3) ConvertFToS 328 - Store 326(r12) 329 - 331: 147(ptr) AccessChain 108 146 - 332: 35(fvec3) Load 331 - 333: 14(ivec3) ConvertFToS 332 - Store 330(r13) 333 - 335: 120(ptr) AccessChain 108 129 - 336: 21(ivec3) Load 335 - 337: 28(bvec3) INotEqual 336 133 - 338: 21(ivec3) Select 337 214 133 - Store 334(r20) 338 - 340: 110(ptr) AccessChain 108 109 - 341: 14(ivec3) Load 340 - 342: 21(ivec3) Bitcast 341 - Store 339(r21) 342 - 344: 177(ptr) AccessChain 108 176 - 345: 7(fvec3) Load 344 - 346: 21(ivec3) ConvertFToU 345 - Store 343(r22) 346 - 348: 147(ptr) AccessChain 108 146 - 349: 35(fvec3) Load 348 - 350: 21(ivec3) ConvertFToU 349 - Store 347(r23) 350 - 352: 110(ptr) AccessChain 108 109 - 353: 14(ivec3) Load 352 - 354: 28(bvec3) INotEqual 353 133 - Store 351(r30) 354 - 356: 120(ptr) AccessChain 108 119 - 357: 21(ivec3) Load 356 - 358: 28(bvec3) INotEqual 357 133 - Store 355(r31) 358 - 360: 177(ptr) AccessChain 108 176 - 361: 7(fvec3) Load 360 - 362: 28(bvec3) FOrdNotEqual 361 137 - Store 359(r32) 362 - 364: 147(ptr) AccessChain 108 146 - 365: 35(fvec3) Load 364 - 366: 28(bvec3) FOrdNotEqual 365 257 - Store 363(r33) 366 - 368: 110(ptr) AccessChain 108 109 - 369: 14(ivec3) Load 368 - 370: 35(fvec3) ConvertSToF 369 - Store 367(r40) 370 - 372: 120(ptr) AccessChain 108 119 - 373: 21(ivec3) Load 372 - 374: 35(fvec3) ConvertUToF 373 - Store 371(r41) 374 - 376: 177(ptr) AccessChain 108 176 - 377: 7(fvec3) Load 376 - 378: 35(fvec3) FConvert 377 - Store 375(r42) 378 - 380: 120(ptr) AccessChain 108 129 - 381: 21(ivec3) Load 380 - 382: 28(bvec3) INotEqual 381 133 - 383: 35(fvec3) Select 382 284 257 - Store 379(r43) 383 - 384: 110(ptr) AccessChain 108 109 - 385: 14(ivec3) Load 384 - 386: 7(fvec3) ConvertSToF 385 - 387: 7(fvec3) Load 300(r00) - 388: 7(fvec3) FMul 387 386 - Store 300(r00) 388 - 389: 120(ptr) AccessChain 108 129 - 390: 21(ivec3) Load 389 - 391: 28(bvec3) INotEqual 390 133 - 392: 7(fvec3) Select 391 138 137 - 393: 7(fvec3) Load 304(r01) - 394: 7(fvec3) FMul 393 392 - Store 304(r01) 394 - 395: 120(ptr) AccessChain 108 119 - 396: 21(ivec3) Load 395 - 397: 7(fvec3) ConvertUToF 396 - 398: 7(fvec3) Load 309(r02) - 399: 7(fvec3) FMul 398 397 - Store 309(r02) 399 - 400: 147(ptr) AccessChain 108 146 - 401: 35(fvec3) Load 400 - 402: 7(fvec3) FConvert 401 - 403: 7(fvec3) Load 313(r03) - 404: 7(fvec3) FMul 403 402 - Store 313(r03) 404 - 405: 120(ptr) AccessChain 108 129 - 406: 21(ivec3) Load 405 - 407: 28(bvec3) INotEqual 406 133 - 408: 14(ivec3) Select 407 168 167 - 409: 14(ivec3) Load 317(r10) - 410: 14(ivec3) IMul 409 408 - Store 317(r10) 410 - 411: 120(ptr) AccessChain 108 119 - 412: 21(ivec3) Load 411 - 413: 14(ivec3) Bitcast 412 - 414: 14(ivec3) Load 322(r11) - 415: 14(ivec3) IMul 414 413 - Store 322(r11) 415 - 416: 177(ptr) AccessChain 108 176 - 417: 7(fvec3) Load 416 - 418: 14(ivec3) ConvertFToS 417 - 419: 14(ivec3) Load 326(r12) - 420: 14(ivec3) IMul 419 418 - Store 326(r12) 420 - 421: 147(ptr) AccessChain 108 146 - 422: 35(fvec3) Load 421 - 423: 14(ivec3) ConvertFToS 422 - 424: 14(ivec3) Load 330(r13) - 425: 14(ivec3) IMul 424 423 - Store 330(r13) 425 - 426: 120(ptr) AccessChain 108 129 - 427: 21(ivec3) Load 426 - 428: 28(bvec3) INotEqual 427 133 - 429: 21(ivec3) Select 428 214 133 - 430: 21(ivec3) Load 334(r20) - 431: 21(ivec3) IMul 430 429 - Store 334(r20) 431 - 432: 110(ptr) AccessChain 108 109 - 433: 14(ivec3) Load 432 - 434: 21(ivec3) Bitcast 433 - 435: 21(ivec3) Load 339(r21) - 436: 21(ivec3) IMul 435 434 - Store 339(r21) 436 - 437: 177(ptr) AccessChain 108 176 - 438: 7(fvec3) Load 437 - 439: 21(ivec3) ConvertFToU 438 - 440: 21(ivec3) Load 343(r22) - 441: 21(ivec3) IMul 440 439 - Store 343(r22) 441 - 442: 147(ptr) AccessChain 108 146 - 443: 35(fvec3) Load 442 - 444: 21(ivec3) ConvertFToU 443 - 445: 21(ivec3) Load 347(r23) - 446: 21(ivec3) IMul 445 444 - Store 347(r23) 446 - 447: 110(ptr) AccessChain 108 109 - 448: 14(ivec3) Load 447 - 449: 35(fvec3) ConvertSToF 448 - 450: 35(fvec3) Load 367(r40) - 451: 35(fvec3) FMul 450 449 - Store 367(r40) 451 - 452: 120(ptr) AccessChain 108 119 - 453: 21(ivec3) Load 452 - 454: 35(fvec3) ConvertUToF 453 - 455: 35(fvec3) Load 371(r41) - 456: 35(fvec3) FMul 455 454 - Store 371(r41) 456 - 457: 177(ptr) AccessChain 108 176 - 458: 7(fvec3) Load 457 - 459: 35(fvec3) FConvert 458 - 460: 35(fvec3) Load 375(r42) - 461: 35(fvec3) FMul 460 459 - Store 375(r42) 461 - 462: 120(ptr) AccessChain 108 129 - 463: 21(ivec3) Load 462 - 464: 28(bvec3) INotEqual 463 133 - 465: 35(fvec3) Select 464 284 257 - 466: 35(fvec3) Load 379(r43) - 467: 35(fvec3) FMul 466 465 - Store 379(r43) 467 - 470: 469(ptr) AccessChain 108 468 - 471: 13(int) Load 470 - 472: 6(float) ConvertSToF 471 - 473: 7(fvec3) Load 300(r00) - 474: 7(fvec3) VectorTimesScalar 473 472 - Store 300(r00) 474 - 477: 476(ptr) AccessChain 108 475 - 478: 20(int) Load 477 - 479: 27(bool) INotEqual 478 132 - 480: 6(float) Select 479 136 135 - 481: 7(fvec3) Load 304(r01) - 482: 7(fvec3) VectorTimesScalar 481 480 - Store 304(r01) 482 - 484: 476(ptr) AccessChain 108 483 - 485: 20(int) Load 484 - 486: 6(float) ConvertUToF 485 - 487: 7(fvec3) Load 309(r02) - 488: 7(fvec3) VectorTimesScalar 487 486 - Store 309(r02) 488 - 491: 490(ptr) AccessChain 108 489 - 492: 34(float) Load 491 - 493: 6(float) FConvert 492 - 494: 7(fvec3) Load 313(r03) - 495: 7(fvec3) VectorTimesScalar 494 493 - Store 313(r03) 495 - 496: 476(ptr) AccessChain 108 475 - 497: 20(int) Load 496 - 498: 27(bool) INotEqual 497 132 - 499: 13(int) Select 498 129 109 - 500: 14(ivec3) Load 317(r10) - 501: 14(ivec3) CompositeConstruct 499 499 499 - 502: 14(ivec3) IMul 500 501 - Store 317(r10) 502 - 503: 476(ptr) AccessChain 108 483 - 504: 20(int) Load 503 - 505: 13(int) Bitcast 504 - 506: 14(ivec3) Load 322(r11) - 507: 14(ivec3) CompositeConstruct 505 505 505 - 508: 14(ivec3) IMul 506 507 - Store 322(r11) 508 - 511: 510(ptr) AccessChain 108 509 - 512: 6(float) Load 511 - 513: 13(int) ConvertFToS 512 - 514: 14(ivec3) Load 326(r12) - 515: 14(ivec3) CompositeConstruct 513 513 513 - 516: 14(ivec3) IMul 514 515 - Store 326(r12) 516 - 517: 490(ptr) AccessChain 108 489 - 518: 34(float) Load 517 - 519: 13(int) ConvertFToS 518 - 520: 14(ivec3) Load 330(r13) - 521: 14(ivec3) CompositeConstruct 519 519 519 - 522: 14(ivec3) IMul 520 521 - Store 330(r13) 522 - 523: 476(ptr) AccessChain 108 475 - 524: 20(int) Load 523 - 525: 27(bool) INotEqual 524 132 - 526: 20(int) Select 525 213 132 - 527: 21(ivec3) Load 334(r20) - 528: 21(ivec3) CompositeConstruct 526 526 526 - 529: 21(ivec3) IMul 527 528 - Store 334(r20) 529 - 530: 469(ptr) AccessChain 108 468 - 531: 13(int) Load 530 - 532: 20(int) Bitcast 531 - 533: 21(ivec3) Load 339(r21) - 534: 21(ivec3) CompositeConstruct 532 532 532 - 535: 21(ivec3) IMul 533 534 - Store 339(r21) 535 - 536: 510(ptr) AccessChain 108 509 - 537: 6(float) Load 536 - 538: 20(int) ConvertFToU 537 - 539: 21(ivec3) Load 343(r22) - 540: 21(ivec3) CompositeConstruct 538 538 538 - 541: 21(ivec3) IMul 539 540 - Store 343(r22) 541 - 542: 490(ptr) AccessChain 108 489 - 543: 34(float) Load 542 - 544: 20(int) ConvertFToU 543 - 545: 21(ivec3) Load 347(r23) - 546: 21(ivec3) CompositeConstruct 544 544 544 - 547: 21(ivec3) IMul 545 546 - Store 347(r23) 547 - 548: 469(ptr) AccessChain 108 468 - 549: 13(int) Load 548 - 550: 34(float) ConvertSToF 549 - 551: 35(fvec3) Load 367(r40) - 552: 35(fvec3) VectorTimesScalar 551 550 - Store 367(r40) 552 - 553: 476(ptr) AccessChain 108 483 - 554: 20(int) Load 553 - 555: 34(float) ConvertUToF 554 - 556: 35(fvec3) Load 371(r41) - 557: 35(fvec3) VectorTimesScalar 556 555 - Store 371(r41) 557 - 558: 510(ptr) AccessChain 108 509 - 559: 6(float) Load 558 - 560: 34(float) FConvert 559 - 561: 35(fvec3) Load 375(r42) - 562: 35(fvec3) VectorTimesScalar 561 560 - Store 375(r42) 562 - 563: 476(ptr) AccessChain 108 475 - 564: 20(int) Load 563 - 565: 27(bool) INotEqual 564 132 - 566: 34(float) Select 565 283 256 - 567: 35(fvec3) Load 379(r43) - 568: 35(fvec3) VectorTimesScalar 567 566 - Store 379(r43) 568 - Store 570(c1) 119 - Store 571(c2) 119 - 576: 13(int) Load 570(c1) - 577: 6(float) ConvertSToF 576 - 578: 13(int) Load 571(c2) - 579: 6(float) ConvertSToF 578 - 580: 572(fvec4) CompositeConstruct 575 575 577 579 - Store 574(outval) 580 - 584: 572(fvec4) Load 574(outval) - 585: 573(ptr) AccessChain 583(psout) 109 - Store 585 584 - 588: 573(ptr) AccessChain 583(psout) 109 - 589: 572(fvec4) Load 588 - Store 587(Color) 589 + 594:107(PS_OUTPUT) FunctionCall 109(@main() + 595: 106(fvec4) CompositeExtract 594 0 + Store 593(Color) 595 Return FunctionEnd 11(Fn_F3(vf3;): 2 Function None 9 @@ -2120,248 +1801,580 @@ gl_FragCoord origin is upper left 43(Fn_R_F3I(vf3;): 7(fvec3) Function None 41 42(p): 8(ptr) FunctionParameter 44: Label - 111: 110(ptr) AccessChain 108 109 - 112: 14(ivec3) Load 111 - 113: 7(fvec3) ConvertSToF 112 - Store 42(p) 113 - 114: 110(ptr) AccessChain 108 109 - 115: 14(ivec3) Load 114 - 116: 7(fvec3) ConvertSToF 115 - ReturnValue 116 + 116: 115(ptr) AccessChain 113 114 + 117: 14(ivec3) Load 116 + 118: 7(fvec3) ConvertSToF 117 + Store 42(p) 118 + 119: 115(ptr) AccessChain 113 114 + 120: 14(ivec3) Load 119 + 121: 7(fvec3) ConvertSToF 120 + ReturnValue 121 FunctionEnd 46(Fn_R_F3U(vf3;): 7(fvec3) Function None 41 45(p): 8(ptr) FunctionParameter 47: Label - 121: 120(ptr) AccessChain 108 119 - 122: 21(ivec3) Load 121 - 123: 7(fvec3) ConvertUToF 122 - Store 45(p) 123 - 124: 120(ptr) AccessChain 108 119 - 125: 21(ivec3) Load 124 - 126: 7(fvec3) ConvertUToF 125 - ReturnValue 126 + 126: 125(ptr) AccessChain 113 124 + 127: 21(ivec3) Load 126 + 128: 7(fvec3) ConvertUToF 127 + Store 45(p) 128 + 129: 125(ptr) AccessChain 113 124 + 130: 21(ivec3) Load 129 + 131: 7(fvec3) ConvertUToF 130 + ReturnValue 131 FunctionEnd 49(Fn_R_F3B(vf3;): 7(fvec3) Function None 41 48(p): 8(ptr) FunctionParameter 50: Label - 130: 120(ptr) AccessChain 108 129 - 131: 21(ivec3) Load 130 - 134: 28(bvec3) INotEqual 131 133 - 139: 7(fvec3) Select 134 138 137 - Store 48(p) 139 - 140: 120(ptr) AccessChain 108 129 - 141: 21(ivec3) Load 140 - 142: 28(bvec3) INotEqual 141 133 - 143: 7(fvec3) Select 142 138 137 - ReturnValue 143 + 135: 125(ptr) AccessChain 113 134 + 136: 21(ivec3) Load 135 + 139: 28(bvec3) INotEqual 136 138 + 144: 7(fvec3) Select 139 143 142 + Store 48(p) 144 + 145: 125(ptr) AccessChain 113 134 + 146: 21(ivec3) Load 145 + 147: 28(bvec3) INotEqual 146 138 + 148: 7(fvec3) Select 147 143 142 + ReturnValue 148 FunctionEnd 52(Fn_R_F3D(vf3;): 7(fvec3) Function None 41 51(p): 8(ptr) FunctionParameter 53: Label - 148: 147(ptr) AccessChain 108 146 - 149: 35(fvec3) Load 148 - 150: 7(fvec3) FConvert 149 - Store 51(p) 150 - 151: 147(ptr) AccessChain 108 146 - 152: 35(fvec3) Load 151 - 153: 7(fvec3) FConvert 152 - ReturnValue 153 + 153: 152(ptr) AccessChain 113 151 + 154: 35(fvec3) Load 153 + 155: 7(fvec3) FConvert 154 + Store 51(p) 155 + 156: 152(ptr) AccessChain 113 151 + 157: 35(fvec3) Load 156 + 158: 7(fvec3) FConvert 157 + ReturnValue 158 FunctionEnd 56(Fn_R_I3U(vi3;): 14(ivec3) Function None 54 55(p): 15(ptr) FunctionParameter 57: Label - 156: 120(ptr) AccessChain 108 119 - 157: 21(ivec3) Load 156 - 158: 14(ivec3) Bitcast 157 - Store 55(p) 158 - 159: 120(ptr) AccessChain 108 119 - 160: 21(ivec3) Load 159 - 161: 14(ivec3) Bitcast 160 - ReturnValue 161 + 161: 125(ptr) AccessChain 113 124 + 162: 21(ivec3) Load 161 + 163: 14(ivec3) Bitcast 162 + Store 55(p) 163 + 164: 125(ptr) AccessChain 113 124 + 165: 21(ivec3) Load 164 + 166: 14(ivec3) Bitcast 165 + ReturnValue 166 FunctionEnd 59(Fn_R_I3B(vi3;): 14(ivec3) Function None 54 58(p): 15(ptr) FunctionParameter 60: Label - 164: 120(ptr) AccessChain 108 129 - 165: 21(ivec3) Load 164 - 166: 28(bvec3) INotEqual 165 133 - 169: 14(ivec3) Select 166 168 167 - Store 58(p) 169 - 170: 120(ptr) AccessChain 108 129 - 171: 21(ivec3) Load 170 - 172: 28(bvec3) INotEqual 171 133 - 173: 14(ivec3) Select 172 168 167 - ReturnValue 173 + 169: 125(ptr) AccessChain 113 134 + 170: 21(ivec3) Load 169 + 171: 28(bvec3) INotEqual 170 138 + 174: 14(ivec3) Select 171 173 172 + Store 58(p) 174 + 175: 125(ptr) AccessChain 113 134 + 176: 21(ivec3) Load 175 + 177: 28(bvec3) INotEqual 176 138 + 178: 14(ivec3) Select 177 173 172 + ReturnValue 178 FunctionEnd 62(Fn_R_I3F(vi3;): 14(ivec3) Function None 54 61(p): 15(ptr) FunctionParameter 63: Label - 178: 177(ptr) AccessChain 108 176 - 179: 7(fvec3) Load 178 - 180: 14(ivec3) ConvertFToS 179 - Store 61(p) 180 - 181: 177(ptr) AccessChain 108 176 - 182: 7(fvec3) Load 181 - 183: 14(ivec3) ConvertFToS 182 - ReturnValue 183 + 183: 182(ptr) AccessChain 113 181 + 184: 7(fvec3) Load 183 + 185: 14(ivec3) ConvertFToS 184 + Store 61(p) 185 + 186: 182(ptr) AccessChain 113 181 + 187: 7(fvec3) Load 186 + 188: 14(ivec3) ConvertFToS 187 + ReturnValue 188 FunctionEnd 65(Fn_R_I3D(vi3;): 14(ivec3) Function None 54 64(p): 15(ptr) FunctionParameter 66: Label - 186: 147(ptr) AccessChain 108 146 - 187: 35(fvec3) Load 186 - 188: 14(ivec3) ConvertFToS 187 - Store 64(p) 188 - 189: 147(ptr) AccessChain 108 146 - 190: 35(fvec3) Load 189 - 191: 14(ivec3) ConvertFToS 190 - ReturnValue 191 + 191: 152(ptr) AccessChain 113 151 + 192: 35(fvec3) Load 191 + 193: 14(ivec3) ConvertFToS 192 + Store 64(p) 193 + 194: 152(ptr) AccessChain 113 151 + 195: 35(fvec3) Load 194 + 196: 14(ivec3) ConvertFToS 195 + ReturnValue 196 FunctionEnd 69(Fn_R_U3I(vu3;): 21(ivec3) Function None 67 68(p): 22(ptr) FunctionParameter 70: Label - 194: 110(ptr) AccessChain 108 109 - 195: 14(ivec3) Load 194 - 196: 21(ivec3) Bitcast 195 - Store 68(p) 196 - 197: 110(ptr) AccessChain 108 109 - 198: 14(ivec3) Load 197 - 199: 21(ivec3) Bitcast 198 - ReturnValue 199 + 199: 115(ptr) AccessChain 113 114 + 200: 14(ivec3) Load 199 + 201: 21(ivec3) Bitcast 200 + Store 68(p) 201 + 202: 115(ptr) AccessChain 113 114 + 203: 14(ivec3) Load 202 + 204: 21(ivec3) Bitcast 203 + ReturnValue 204 FunctionEnd 72(Fn_R_U3F(vu3;): 21(ivec3) Function None 67 71(p): 22(ptr) FunctionParameter 73: Label - 202: 177(ptr) AccessChain 108 176 - 203: 7(fvec3) Load 202 - 204: 21(ivec3) ConvertFToU 203 - Store 71(p) 204 - 205: 177(ptr) AccessChain 108 176 - 206: 7(fvec3) Load 205 - 207: 21(ivec3) ConvertFToU 206 - ReturnValue 207 + 207: 182(ptr) AccessChain 113 181 + 208: 7(fvec3) Load 207 + 209: 21(ivec3) ConvertFToU 208 + Store 71(p) 209 + 210: 182(ptr) AccessChain 113 181 + 211: 7(fvec3) Load 210 + 212: 21(ivec3) ConvertFToU 211 + ReturnValue 212 FunctionEnd 75(Fn_R_U3B(vu3;): 21(ivec3) Function None 67 74(p): 22(ptr) FunctionParameter 76: Label - 210: 120(ptr) AccessChain 108 129 - 211: 21(ivec3) Load 210 - 212: 28(bvec3) INotEqual 211 133 - 215: 21(ivec3) Select 212 214 133 - Store 74(p) 215 - 216: 120(ptr) AccessChain 108 129 - 217: 21(ivec3) Load 216 - 218: 28(bvec3) INotEqual 217 133 - 219: 21(ivec3) Select 218 214 133 - ReturnValue 219 + 215: 125(ptr) AccessChain 113 134 + 216: 21(ivec3) Load 215 + 217: 28(bvec3) INotEqual 216 138 + 220: 21(ivec3) Select 217 219 138 + Store 74(p) 220 + 221: 125(ptr) AccessChain 113 134 + 222: 21(ivec3) Load 221 + 223: 28(bvec3) INotEqual 222 138 + 224: 21(ivec3) Select 223 219 138 + ReturnValue 224 FunctionEnd 78(Fn_R_U3D(vu3;): 21(ivec3) Function None 67 77(p): 22(ptr) FunctionParameter 79: Label - 222: 147(ptr) AccessChain 108 146 - 223: 35(fvec3) Load 222 - 224: 21(ivec3) ConvertFToU 223 - Store 77(p) 224 - 225: 147(ptr) AccessChain 108 146 - 226: 35(fvec3) Load 225 - 227: 21(ivec3) ConvertFToU 226 - ReturnValue 227 + 227: 152(ptr) AccessChain 113 151 + 228: 35(fvec3) Load 227 + 229: 21(ivec3) ConvertFToU 228 + Store 77(p) 229 + 230: 152(ptr) AccessChain 113 151 + 231: 35(fvec3) Load 230 + 232: 21(ivec3) ConvertFToU 231 + ReturnValue 232 FunctionEnd 82(Fn_R_B3I(vb3;): 28(bvec3) Function None 80 81(p): 29(ptr) FunctionParameter 83: Label - 230: 110(ptr) AccessChain 108 109 - 231: 14(ivec3) Load 230 - 232: 28(bvec3) INotEqual 231 133 - Store 81(p) 232 - 233: 110(ptr) AccessChain 108 109 - 234: 14(ivec3) Load 233 - 235: 28(bvec3) INotEqual 234 133 - ReturnValue 235 + 235: 115(ptr) AccessChain 113 114 + 236: 14(ivec3) Load 235 + 237: 28(bvec3) INotEqual 236 138 + Store 81(p) 237 + 238: 115(ptr) AccessChain 113 114 + 239: 14(ivec3) Load 238 + 240: 28(bvec3) INotEqual 239 138 + ReturnValue 240 FunctionEnd 85(Fn_R_B3U(vb3;): 28(bvec3) Function None 80 84(p): 29(ptr) FunctionParameter 86: Label - 238: 120(ptr) AccessChain 108 119 - 239: 21(ivec3) Load 238 - 240: 28(bvec3) INotEqual 239 133 - Store 84(p) 240 - 241: 120(ptr) AccessChain 108 119 - 242: 21(ivec3) Load 241 - 243: 28(bvec3) INotEqual 242 133 - ReturnValue 243 + 243: 125(ptr) AccessChain 113 124 + 244: 21(ivec3) Load 243 + 245: 28(bvec3) INotEqual 244 138 + Store 84(p) 245 + 246: 125(ptr) AccessChain 113 124 + 247: 21(ivec3) Load 246 + 248: 28(bvec3) INotEqual 247 138 + ReturnValue 248 FunctionEnd 88(Fn_R_B3F(vb3;): 28(bvec3) Function None 80 87(p): 29(ptr) FunctionParameter 89: Label - 246: 177(ptr) AccessChain 108 176 - 247: 7(fvec3) Load 246 - 248: 28(bvec3) FOrdNotEqual 247 137 - Store 87(p) 248 - 249: 177(ptr) AccessChain 108 176 - 250: 7(fvec3) Load 249 - 251: 28(bvec3) FOrdNotEqual 250 137 - ReturnValue 251 + 251: 182(ptr) AccessChain 113 181 + 252: 7(fvec3) Load 251 + 253: 28(bvec3) FOrdNotEqual 252 142 + Store 87(p) 253 + 254: 182(ptr) AccessChain 113 181 + 255: 7(fvec3) Load 254 + 256: 28(bvec3) FOrdNotEqual 255 142 + ReturnValue 256 FunctionEnd 91(Fn_R_B3D(vb3;): 28(bvec3) Function None 80 90(p): 29(ptr) FunctionParameter 92: Label - 254: 147(ptr) AccessChain 108 146 - 255: 35(fvec3) Load 254 - 258: 28(bvec3) FOrdNotEqual 255 257 - Store 90(p) 258 - 259: 147(ptr) AccessChain 108 146 + 259: 152(ptr) AccessChain 113 151 260: 35(fvec3) Load 259 - 261: 28(bvec3) FOrdNotEqual 260 257 - ReturnValue 261 + 263: 28(bvec3) FOrdNotEqual 260 262 + Store 90(p) 263 + 264: 152(ptr) AccessChain 113 151 + 265: 35(fvec3) Load 264 + 266: 28(bvec3) FOrdNotEqual 265 262 + ReturnValue 266 FunctionEnd 95(Fn_R_D3I(vd3;): 35(fvec3) Function None 93 94(p): 36(ptr) FunctionParameter 96: Label - 264: 110(ptr) AccessChain 108 109 - 265: 14(ivec3) Load 264 - 266: 35(fvec3) ConvertSToF 265 - Store 94(p) 266 - 267: 110(ptr) AccessChain 108 109 - 268: 14(ivec3) Load 267 - 269: 35(fvec3) ConvertSToF 268 - ReturnValue 269 + 269: 115(ptr) AccessChain 113 114 + 270: 14(ivec3) Load 269 + 271: 35(fvec3) ConvertSToF 270 + Store 94(p) 271 + 272: 115(ptr) AccessChain 113 114 + 273: 14(ivec3) Load 272 + 274: 35(fvec3) ConvertSToF 273 + ReturnValue 274 FunctionEnd 98(Fn_R_D3U(vd3;): 35(fvec3) Function None 93 97(p): 36(ptr) FunctionParameter 99: Label - 272: 120(ptr) AccessChain 108 119 - 273: 21(ivec3) Load 272 - 274: 35(fvec3) ConvertUToF 273 - Store 97(p) 274 - 275: 120(ptr) AccessChain 108 119 - 276: 21(ivec3) Load 275 - 277: 35(fvec3) ConvertUToF 276 - ReturnValue 277 + 277: 125(ptr) AccessChain 113 124 + 278: 21(ivec3) Load 277 + 279: 35(fvec3) ConvertUToF 278 + Store 97(p) 279 + 280: 125(ptr) AccessChain 113 124 + 281: 21(ivec3) Load 280 + 282: 35(fvec3) ConvertUToF 281 + ReturnValue 282 FunctionEnd 101(Fn_R_D3B(vd3;): 35(fvec3) Function None 93 100(p): 36(ptr) FunctionParameter 102: Label - 280: 120(ptr) AccessChain 108 129 - 281: 21(ivec3) Load 280 - 282: 28(bvec3) INotEqual 281 133 - 285: 35(fvec3) Select 282 284 257 - Store 100(p) 285 - 286: 120(ptr) AccessChain 108 129 - 287: 21(ivec3) Load 286 - 288: 28(bvec3) INotEqual 287 133 - 289: 35(fvec3) Select 288 284 257 - ReturnValue 289 + 285: 125(ptr) AccessChain 113 134 + 286: 21(ivec3) Load 285 + 287: 28(bvec3) INotEqual 286 138 + 290: 35(fvec3) Select 287 289 262 + Store 100(p) 290 + 291: 125(ptr) AccessChain 113 134 + 292: 21(ivec3) Load 291 + 293: 28(bvec3) INotEqual 292 138 + 294: 35(fvec3) Select 293 289 262 + ReturnValue 294 FunctionEnd 104(Fn_R_D3F(vd3;): 35(fvec3) Function None 93 103(p): 36(ptr) FunctionParameter 105: Label - 292: 177(ptr) AccessChain 108 176 - 293: 7(fvec3) Load 292 - 294: 35(fvec3) FConvert 293 - Store 103(p) 294 - 295: 177(ptr) AccessChain 108 176 - 296: 7(fvec3) Load 295 - 297: 35(fvec3) FConvert 296 - ReturnValue 297 + 297: 182(ptr) AccessChain 113 181 + 298: 7(fvec3) Load 297 + 299: 35(fvec3) FConvert 298 + Store 103(p) 299 + 300: 182(ptr) AccessChain 113 181 + 301: 7(fvec3) Load 300 + 302: 35(fvec3) FConvert 301 + ReturnValue 302 + FunctionEnd + 109(@main():107(PS_OUTPUT) Function None 108 + 110: Label + 305(r00): 8(ptr) Variable Function + 309(r01): 8(ptr) Variable Function + 314(r02): 8(ptr) Variable Function + 318(r03): 8(ptr) Variable Function + 322(r10): 15(ptr) Variable Function + 327(r11): 15(ptr) Variable Function + 331(r12): 15(ptr) Variable Function + 335(r13): 15(ptr) Variable Function + 339(r20): 22(ptr) Variable Function + 344(r21): 22(ptr) Variable Function + 348(r22): 22(ptr) Variable Function + 352(r23): 22(ptr) Variable Function + 356(r30): 29(ptr) Variable Function + 360(r31): 29(ptr) Variable Function + 364(r32): 29(ptr) Variable Function + 368(r33): 29(ptr) Variable Function + 372(r40): 36(ptr) Variable Function + 376(r41): 36(ptr) Variable Function + 380(r42): 36(ptr) Variable Function + 384(r43): 36(ptr) Variable Function + 575(c1): 574(ptr) Variable Function + 576(c2): 574(ptr) Variable Function + 578(outval): 577(ptr) Variable Function + 586(psout): 585(ptr) Variable Function + 306: 115(ptr) AccessChain 113 114 + 307: 14(ivec3) Load 306 + 308: 7(fvec3) ConvertSToF 307 + Store 305(r00) 308 + 310: 125(ptr) AccessChain 113 134 + 311: 21(ivec3) Load 310 + 312: 28(bvec3) INotEqual 311 138 + 313: 7(fvec3) Select 312 143 142 + Store 309(r01) 313 + 315: 125(ptr) AccessChain 113 124 + 316: 21(ivec3) Load 315 + 317: 7(fvec3) ConvertUToF 316 + Store 314(r02) 317 + 319: 152(ptr) AccessChain 113 151 + 320: 35(fvec3) Load 319 + 321: 7(fvec3) FConvert 320 + Store 318(r03) 321 + 323: 125(ptr) AccessChain 113 134 + 324: 21(ivec3) Load 323 + 325: 28(bvec3) INotEqual 324 138 + 326: 14(ivec3) Select 325 173 172 + Store 322(r10) 326 + 328: 125(ptr) AccessChain 113 124 + 329: 21(ivec3) Load 328 + 330: 14(ivec3) Bitcast 329 + Store 327(r11) 330 + 332: 182(ptr) AccessChain 113 181 + 333: 7(fvec3) Load 332 + 334: 14(ivec3) ConvertFToS 333 + Store 331(r12) 334 + 336: 152(ptr) AccessChain 113 151 + 337: 35(fvec3) Load 336 + 338: 14(ivec3) ConvertFToS 337 + Store 335(r13) 338 + 340: 125(ptr) AccessChain 113 134 + 341: 21(ivec3) Load 340 + 342: 28(bvec3) INotEqual 341 138 + 343: 21(ivec3) Select 342 219 138 + Store 339(r20) 343 + 345: 115(ptr) AccessChain 113 114 + 346: 14(ivec3) Load 345 + 347: 21(ivec3) Bitcast 346 + Store 344(r21) 347 + 349: 182(ptr) AccessChain 113 181 + 350: 7(fvec3) Load 349 + 351: 21(ivec3) ConvertFToU 350 + Store 348(r22) 351 + 353: 152(ptr) AccessChain 113 151 + 354: 35(fvec3) Load 353 + 355: 21(ivec3) ConvertFToU 354 + Store 352(r23) 355 + 357: 115(ptr) AccessChain 113 114 + 358: 14(ivec3) Load 357 + 359: 28(bvec3) INotEqual 358 138 + Store 356(r30) 359 + 361: 125(ptr) AccessChain 113 124 + 362: 21(ivec3) Load 361 + 363: 28(bvec3) INotEqual 362 138 + Store 360(r31) 363 + 365: 182(ptr) AccessChain 113 181 + 366: 7(fvec3) Load 365 + 367: 28(bvec3) FOrdNotEqual 366 142 + Store 364(r32) 367 + 369: 152(ptr) AccessChain 113 151 + 370: 35(fvec3) Load 369 + 371: 28(bvec3) FOrdNotEqual 370 262 + Store 368(r33) 371 + 373: 115(ptr) AccessChain 113 114 + 374: 14(ivec3) Load 373 + 375: 35(fvec3) ConvertSToF 374 + Store 372(r40) 375 + 377: 125(ptr) AccessChain 113 124 + 378: 21(ivec3) Load 377 + 379: 35(fvec3) ConvertUToF 378 + Store 376(r41) 379 + 381: 182(ptr) AccessChain 113 181 + 382: 7(fvec3) Load 381 + 383: 35(fvec3) FConvert 382 + Store 380(r42) 383 + 385: 125(ptr) AccessChain 113 134 + 386: 21(ivec3) Load 385 + 387: 28(bvec3) INotEqual 386 138 + 388: 35(fvec3) Select 387 289 262 + Store 384(r43) 388 + 389: 115(ptr) AccessChain 113 114 + 390: 14(ivec3) Load 389 + 391: 7(fvec3) ConvertSToF 390 + 392: 7(fvec3) Load 305(r00) + 393: 7(fvec3) FMul 392 391 + Store 305(r00) 393 + 394: 125(ptr) AccessChain 113 134 + 395: 21(ivec3) Load 394 + 396: 28(bvec3) INotEqual 395 138 + 397: 7(fvec3) Select 396 143 142 + 398: 7(fvec3) Load 309(r01) + 399: 7(fvec3) FMul 398 397 + Store 309(r01) 399 + 400: 125(ptr) AccessChain 113 124 + 401: 21(ivec3) Load 400 + 402: 7(fvec3) ConvertUToF 401 + 403: 7(fvec3) Load 314(r02) + 404: 7(fvec3) FMul 403 402 + Store 314(r02) 404 + 405: 152(ptr) AccessChain 113 151 + 406: 35(fvec3) Load 405 + 407: 7(fvec3) FConvert 406 + 408: 7(fvec3) Load 318(r03) + 409: 7(fvec3) FMul 408 407 + Store 318(r03) 409 + 410: 125(ptr) AccessChain 113 134 + 411: 21(ivec3) Load 410 + 412: 28(bvec3) INotEqual 411 138 + 413: 14(ivec3) Select 412 173 172 + 414: 14(ivec3) Load 322(r10) + 415: 14(ivec3) IMul 414 413 + Store 322(r10) 415 + 416: 125(ptr) AccessChain 113 124 + 417: 21(ivec3) Load 416 + 418: 14(ivec3) Bitcast 417 + 419: 14(ivec3) Load 327(r11) + 420: 14(ivec3) IMul 419 418 + Store 327(r11) 420 + 421: 182(ptr) AccessChain 113 181 + 422: 7(fvec3) Load 421 + 423: 14(ivec3) ConvertFToS 422 + 424: 14(ivec3) Load 331(r12) + 425: 14(ivec3) IMul 424 423 + Store 331(r12) 425 + 426: 152(ptr) AccessChain 113 151 + 427: 35(fvec3) Load 426 + 428: 14(ivec3) ConvertFToS 427 + 429: 14(ivec3) Load 335(r13) + 430: 14(ivec3) IMul 429 428 + Store 335(r13) 430 + 431: 125(ptr) AccessChain 113 134 + 432: 21(ivec3) Load 431 + 433: 28(bvec3) INotEqual 432 138 + 434: 21(ivec3) Select 433 219 138 + 435: 21(ivec3) Load 339(r20) + 436: 21(ivec3) IMul 435 434 + Store 339(r20) 436 + 437: 115(ptr) AccessChain 113 114 + 438: 14(ivec3) Load 437 + 439: 21(ivec3) Bitcast 438 + 440: 21(ivec3) Load 344(r21) + 441: 21(ivec3) IMul 440 439 + Store 344(r21) 441 + 442: 182(ptr) AccessChain 113 181 + 443: 7(fvec3) Load 442 + 444: 21(ivec3) ConvertFToU 443 + 445: 21(ivec3) Load 348(r22) + 446: 21(ivec3) IMul 445 444 + Store 348(r22) 446 + 447: 152(ptr) AccessChain 113 151 + 448: 35(fvec3) Load 447 + 449: 21(ivec3) ConvertFToU 448 + 450: 21(ivec3) Load 352(r23) + 451: 21(ivec3) IMul 450 449 + Store 352(r23) 451 + 452: 115(ptr) AccessChain 113 114 + 453: 14(ivec3) Load 452 + 454: 35(fvec3) ConvertSToF 453 + 455: 35(fvec3) Load 372(r40) + 456: 35(fvec3) FMul 455 454 + Store 372(r40) 456 + 457: 125(ptr) AccessChain 113 124 + 458: 21(ivec3) Load 457 + 459: 35(fvec3) ConvertUToF 458 + 460: 35(fvec3) Load 376(r41) + 461: 35(fvec3) FMul 460 459 + Store 376(r41) 461 + 462: 182(ptr) AccessChain 113 181 + 463: 7(fvec3) Load 462 + 464: 35(fvec3) FConvert 463 + 465: 35(fvec3) Load 380(r42) + 466: 35(fvec3) FMul 465 464 + Store 380(r42) 466 + 467: 125(ptr) AccessChain 113 134 + 468: 21(ivec3) Load 467 + 469: 28(bvec3) INotEqual 468 138 + 470: 35(fvec3) Select 469 289 262 + 471: 35(fvec3) Load 384(r43) + 472: 35(fvec3) FMul 471 470 + Store 384(r43) 472 + 475: 474(ptr) AccessChain 113 473 + 476: 13(int) Load 475 + 477: 6(float) ConvertSToF 476 + 478: 7(fvec3) Load 305(r00) + 479: 7(fvec3) VectorTimesScalar 478 477 + Store 305(r00) 479 + 482: 481(ptr) AccessChain 113 480 + 483: 20(int) Load 482 + 484: 27(bool) INotEqual 483 137 + 485: 6(float) Select 484 141 140 + 486: 7(fvec3) Load 309(r01) + 487: 7(fvec3) VectorTimesScalar 486 485 + Store 309(r01) 487 + 489: 481(ptr) AccessChain 113 488 + 490: 20(int) Load 489 + 491: 6(float) ConvertUToF 490 + 492: 7(fvec3) Load 314(r02) + 493: 7(fvec3) VectorTimesScalar 492 491 + Store 314(r02) 493 + 496: 495(ptr) AccessChain 113 494 + 497: 34(float) Load 496 + 498: 6(float) FConvert 497 + 499: 7(fvec3) Load 318(r03) + 500: 7(fvec3) VectorTimesScalar 499 498 + Store 318(r03) 500 + 501: 481(ptr) AccessChain 113 480 + 502: 20(int) Load 501 + 503: 27(bool) INotEqual 502 137 + 504: 13(int) Select 503 134 114 + 505: 14(ivec3) Load 322(r10) + 506: 14(ivec3) CompositeConstruct 504 504 504 + 507: 14(ivec3) IMul 505 506 + Store 322(r10) 507 + 508: 481(ptr) AccessChain 113 488 + 509: 20(int) Load 508 + 510: 13(int) Bitcast 509 + 511: 14(ivec3) Load 327(r11) + 512: 14(ivec3) CompositeConstruct 510 510 510 + 513: 14(ivec3) IMul 511 512 + Store 327(r11) 513 + 516: 515(ptr) AccessChain 113 514 + 517: 6(float) Load 516 + 518: 13(int) ConvertFToS 517 + 519: 14(ivec3) Load 331(r12) + 520: 14(ivec3) CompositeConstruct 518 518 518 + 521: 14(ivec3) IMul 519 520 + Store 331(r12) 521 + 522: 495(ptr) AccessChain 113 494 + 523: 34(float) Load 522 + 524: 13(int) ConvertFToS 523 + 525: 14(ivec3) Load 335(r13) + 526: 14(ivec3) CompositeConstruct 524 524 524 + 527: 14(ivec3) IMul 525 526 + Store 335(r13) 527 + 528: 481(ptr) AccessChain 113 480 + 529: 20(int) Load 528 + 530: 27(bool) INotEqual 529 137 + 531: 20(int) Select 530 218 137 + 532: 21(ivec3) Load 339(r20) + 533: 21(ivec3) CompositeConstruct 531 531 531 + 534: 21(ivec3) IMul 532 533 + Store 339(r20) 534 + 535: 474(ptr) AccessChain 113 473 + 536: 13(int) Load 535 + 537: 20(int) Bitcast 536 + 538: 21(ivec3) Load 344(r21) + 539: 21(ivec3) CompositeConstruct 537 537 537 + 540: 21(ivec3) IMul 538 539 + Store 344(r21) 540 + 541: 515(ptr) AccessChain 113 514 + 542: 6(float) Load 541 + 543: 20(int) ConvertFToU 542 + 544: 21(ivec3) Load 348(r22) + 545: 21(ivec3) CompositeConstruct 543 543 543 + 546: 21(ivec3) IMul 544 545 + Store 348(r22) 546 + 547: 495(ptr) AccessChain 113 494 + 548: 34(float) Load 547 + 549: 20(int) ConvertFToU 548 + 550: 21(ivec3) Load 352(r23) + 551: 21(ivec3) CompositeConstruct 549 549 549 + 552: 21(ivec3) IMul 550 551 + Store 352(r23) 552 + 553: 474(ptr) AccessChain 113 473 + 554: 13(int) Load 553 + 555: 34(float) ConvertSToF 554 + 556: 35(fvec3) Load 372(r40) + 557: 35(fvec3) VectorTimesScalar 556 555 + Store 372(r40) 557 + 558: 481(ptr) AccessChain 113 488 + 559: 20(int) Load 558 + 560: 34(float) ConvertUToF 559 + 561: 35(fvec3) Load 376(r41) + 562: 35(fvec3) VectorTimesScalar 561 560 + Store 376(r41) 562 + 563: 515(ptr) AccessChain 113 514 + 564: 6(float) Load 563 + 565: 34(float) FConvert 564 + 566: 35(fvec3) Load 380(r42) + 567: 35(fvec3) VectorTimesScalar 566 565 + Store 380(r42) 567 + 568: 481(ptr) AccessChain 113 480 + 569: 20(int) Load 568 + 570: 27(bool) INotEqual 569 137 + 571: 34(float) Select 570 288 261 + 572: 35(fvec3) Load 384(r43) + 573: 35(fvec3) VectorTimesScalar 572 571 + Store 384(r43) 573 + Store 575(c1) 124 + Store 576(c2) 124 + 580: 13(int) Load 575(c1) + 581: 6(float) ConvertSToF 580 + 582: 13(int) Load 576(c2) + 583: 6(float) ConvertSToF 582 + 584: 106(fvec4) CompositeConstruct 579 579 581 583 + Store 578(outval) 584 + 587: 106(fvec4) Load 578(outval) + 588: 577(ptr) AccessChain 586(psout) 114 + Store 588 587 + 589:107(PS_OUTPUT) Load 586(psout) + ReturnValue 589 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out index 123bd4cbee3..a2e53584936 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.atomics.frag.out @@ -2,1932 +2,1932 @@ hlsl.rw.atomics.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence -0:50 imageAtomicAdd (temp int) -0:50 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:50 i1: direct index for structure (layout(offset=36 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 imageAtomicAdd ( temp int) +0:50 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:50 i1: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:50 Constant: 0:50 5 (const uint) -0:50 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 i1b: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:50 Constant: 0:50 8 (const uint) -0:51 move second child to first child (temp int) -0:51 'out_i1' (temp int) -0:51 imageAtomicAdd (temp int) -0:51 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:51 i1: direct index for structure (layout(offset=36 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 move second child to first child ( temp int) +0:51 'out_i1' ( temp int) +0:51 imageAtomicAdd ( temp int) +0:51 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:51 i1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:51 Constant: 0:51 5 (const uint) -0:51 i1: direct index for structure (layout(offset=36 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 i1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:51 Constant: 0:51 5 (const uint) -0:52 imageAtomicAnd (temp int) -0:52 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:52 i1: direct index for structure (layout(offset=36 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 imageAtomicAnd ( temp int) +0:52 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:52 i1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:52 Constant: 0:52 5 (const uint) -0:52 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 i1b: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:52 Constant: 0:52 8 (const uint) -0:53 move second child to first child (temp int) -0:53 'out_i1' (temp int) -0:53 imageAtomicAnd (temp int) -0:53 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:53 i1: direct index for structure (layout(offset=36 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 move second child to first child ( temp int) +0:53 'out_i1' ( temp int) +0:53 imageAtomicAnd ( temp int) +0:53 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:53 i1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:53 Constant: 0:53 5 (const uint) -0:53 i1: direct index for structure (layout(offset=36 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 i1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:53 Constant: 0:53 5 (const uint) -0:54 move second child to first child (temp int) -0:54 'out_i1' (temp int) -0:54 imageAtomicCompSwap (temp int) -0:54 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:54 i1: direct index for structure (layout(offset=36 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 move second child to first child ( temp int) +0:54 'out_i1' ( temp int) +0:54 imageAtomicCompSwap ( temp int) +0:54 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:54 i1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 5 (const uint) -0:54 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 i1b: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 8 (const uint) -0:54 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 i1c: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 9 (const uint) -0:55 move second child to first child (temp int) -0:55 'out_i1' (temp int) -0:55 imageAtomicExchange (temp int) -0:55 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:55 i1: direct index for structure (layout(offset=36 ) uniform int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 move second child to first child ( temp int) +0:55 'out_i1' ( temp int) +0:55 imageAtomicExchange ( temp int) +0:55 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:55 i1: direct index for structure ( uniform int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:55 Constant: 0:55 5 (const uint) -0:55 i1: direct index for structure (layout(offset=36 ) uniform int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 i1: direct index for structure ( uniform int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:55 Constant: 0:55 5 (const uint) -0:56 imageAtomicMax (temp int) -0:56 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:56 i1: direct index for structure (layout(offset=36 ) uniform int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 imageAtomicMax ( temp int) +0:56 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:56 i1: direct index for structure ( uniform int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:56 Constant: 0:56 5 (const uint) -0:56 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 i1b: direct index for structure ( uniform int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:56 Constant: 0:56 8 (const uint) -0:57 move second child to first child (temp int) -0:57 'out_i1' (temp int) -0:57 imageAtomicMax (temp int) -0:57 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:57 i1: direct index for structure (layout(offset=36 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 move second child to first child ( temp int) +0:57 'out_i1' ( temp int) +0:57 imageAtomicMax ( temp int) +0:57 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:57 i1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:57 Constant: 0:57 5 (const uint) -0:57 i1: direct index for structure (layout(offset=36 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 i1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:57 Constant: 0:57 5 (const uint) -0:58 imageAtomicMin (temp int) -0:58 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:58 i1: direct index for structure (layout(offset=36 ) uniform int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 imageAtomicMin ( temp int) +0:58 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:58 i1: direct index for structure ( uniform int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:58 Constant: 0:58 5 (const uint) -0:58 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 i1b: direct index for structure ( uniform int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:58 Constant: 0:58 8 (const uint) -0:59 move second child to first child (temp int) -0:59 'out_i1' (temp int) -0:59 imageAtomicMin (temp int) -0:59 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:59 i1: direct index for structure (layout(offset=36 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 move second child to first child ( temp int) +0:59 'out_i1' ( temp int) +0:59 imageAtomicMin ( temp int) +0:59 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:59 i1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:59 Constant: 0:59 5 (const uint) -0:59 i1: direct index for structure (layout(offset=36 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 i1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:59 Constant: 0:59 5 (const uint) -0:60 imageAtomicOr (temp int) -0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:60 i1: direct index for structure (layout(offset=36 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 imageAtomicOr ( temp int) +0:60 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:60 i1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:60 Constant: 0:60 5 (const uint) -0:60 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 i1b: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:60 Constant: 0:60 8 (const uint) -0:61 move second child to first child (temp int) -0:61 'out_i1' (temp int) -0:61 imageAtomicOr (temp int) -0:61 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:61 i1: direct index for structure (layout(offset=36 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 move second child to first child ( temp int) +0:61 'out_i1' ( temp int) +0:61 imageAtomicOr ( temp int) +0:61 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:61 i1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:61 Constant: 0:61 5 (const uint) -0:61 i1: direct index for structure (layout(offset=36 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 i1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:61 Constant: 0:61 5 (const uint) -0:62 imageAtomicXor (temp int) -0:62 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:62 i1: direct index for structure (layout(offset=36 ) uniform int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 imageAtomicXor ( temp int) +0:62 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:62 i1: direct index for structure ( uniform int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:62 Constant: 0:62 5 (const uint) -0:62 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 i1b: direct index for structure ( uniform int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:62 Constant: 0:62 8 (const uint) -0:63 move second child to first child (temp int) -0:63 'out_i1' (temp int) -0:63 imageAtomicXor (temp int) -0:63 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:63 i1: direct index for structure (layout(offset=36 ) uniform int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 move second child to first child ( temp int) +0:63 'out_i1' ( temp int) +0:63 imageAtomicXor ( temp int) +0:63 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:63 i1: direct index for structure ( uniform int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:63 Constant: 0:63 5 (const uint) -0:63 i1: direct index for structure (layout(offset=36 ) uniform int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 i1: direct index for structure ( uniform int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:63 Constant: 0:63 5 (const uint) -0:66 imageAtomicAdd (temp uint) -0:66 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 imageAtomicAdd ( temp uint) +0:66 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:66 u1: direct index for structure ( uniform uint) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:66 Constant: 0:66 0 (const uint) -0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 u1: direct index for structure ( uniform uint) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:66 Constant: 0:66 0 (const uint) -0:67 move second child to first child (temp uint) -0:67 'out_u1' (temp uint) -0:67 imageAtomicAdd (temp uint) -0:67 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 move second child to first child ( temp uint) +0:67 'out_u1' ( temp uint) +0:67 imageAtomicAdd ( temp uint) +0:67 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:67 u1: direct index for structure ( uniform uint) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:67 Constant: 0:67 0 (const uint) -0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 u1: direct index for structure ( uniform uint) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:67 Constant: 0:67 0 (const uint) -0:68 imageAtomicAnd (temp uint) -0:68 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 imageAtomicAnd ( temp uint) +0:68 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:68 u1: direct index for structure ( uniform uint) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:68 Constant: 0:68 0 (const uint) -0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 u1: direct index for structure ( uniform uint) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:68 Constant: 0:68 0 (const uint) -0:69 move second child to first child (temp uint) -0:69 'out_u1' (temp uint) -0:69 imageAtomicAnd (temp uint) -0:69 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 move second child to first child ( temp uint) +0:69 'out_u1' ( temp uint) +0:69 imageAtomicAnd ( temp uint) +0:69 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:69 u1: direct index for structure ( uniform uint) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:69 Constant: 0:69 0 (const uint) -0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 u1: direct index for structure ( uniform uint) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:69 Constant: 0:69 0 (const uint) -0:70 move second child to first child (temp uint) -0:70 'out_u1' (temp uint) -0:70 imageAtomicCompSwap (temp uint) -0:70 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:70 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 move second child to first child ( temp uint) +0:70 'out_u1' ( temp uint) +0:70 imageAtomicCompSwap ( temp uint) +0:70 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:70 u1: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 0 (const uint) -0:70 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 u1b: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 3 (const uint) -0:70 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 u1c: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 4 (const uint) -0:71 move second child to first child (temp uint) -0:71 'out_u1' (temp uint) -0:71 imageAtomicExchange (temp uint) -0:71 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 move second child to first child ( temp uint) +0:71 'out_u1' ( temp uint) +0:71 imageAtomicExchange ( temp uint) +0:71 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:71 u1: direct index for structure ( uniform uint) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:71 Constant: 0:71 0 (const uint) -0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 u1: direct index for structure ( uniform uint) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:71 Constant: 0:71 0 (const uint) -0:72 imageAtomicMax (temp uint) -0:72 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 imageAtomicMax ( temp uint) +0:72 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:72 u1: direct index for structure ( uniform uint) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:72 Constant: 0:72 0 (const uint) -0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 u1: direct index for structure ( uniform uint) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:72 Constant: 0:72 0 (const uint) -0:73 move second child to first child (temp uint) -0:73 'out_u1' (temp uint) -0:73 imageAtomicMax (temp uint) -0:73 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 move second child to first child ( temp uint) +0:73 'out_u1' ( temp uint) +0:73 imageAtomicMax ( temp uint) +0:73 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:73 u1: direct index for structure ( uniform uint) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:73 Constant: 0:73 0 (const uint) -0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 u1: direct index for structure ( uniform uint) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:73 Constant: 0:73 0 (const uint) -0:74 imageAtomicMin (temp uint) -0:74 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 imageAtomicMin ( temp uint) +0:74 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:74 u1: direct index for structure ( uniform uint) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:74 Constant: 0:74 0 (const uint) -0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 u1: direct index for structure ( uniform uint) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:74 Constant: 0:74 0 (const uint) -0:75 move second child to first child (temp uint) -0:75 'out_u1' (temp uint) -0:75 imageAtomicMin (temp uint) -0:75 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 move second child to first child ( temp uint) +0:75 'out_u1' ( temp uint) +0:75 imageAtomicMin ( temp uint) +0:75 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:75 u1: direct index for structure ( uniform uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:75 Constant: 0:75 0 (const uint) -0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 u1: direct index for structure ( uniform uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:75 Constant: 0:75 0 (const uint) -0:76 imageAtomicOr (temp uint) -0:76 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 imageAtomicOr ( temp uint) +0:76 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:76 u1: direct index for structure ( uniform uint) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:76 Constant: 0:76 0 (const uint) -0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 u1: direct index for structure ( uniform uint) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:76 Constant: 0:76 0 (const uint) -0:77 move second child to first child (temp uint) -0:77 'out_u1' (temp uint) -0:77 imageAtomicOr (temp uint) -0:77 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 move second child to first child ( temp uint) +0:77 'out_u1' ( temp uint) +0:77 imageAtomicOr ( temp uint) +0:77 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:77 u1: direct index for structure ( uniform uint) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:77 Constant: 0:77 0 (const uint) -0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 u1: direct index for structure ( uniform uint) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:77 Constant: 0:77 0 (const uint) -0:78 imageAtomicXor (temp uint) -0:78 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 imageAtomicXor ( temp uint) +0:78 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:78 u1: direct index for structure ( uniform uint) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:78 Constant: 0:78 0 (const uint) -0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 u1: direct index for structure ( uniform uint) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:78 Constant: 0:78 0 (const uint) -0:79 move second child to first child (temp uint) -0:79 'out_u1' (temp uint) -0:79 imageAtomicXor (temp uint) -0:79 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 move second child to first child ( temp uint) +0:79 'out_u1' ( temp uint) +0:79 imageAtomicXor ( temp uint) +0:79 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:79 u1: direct index for structure ( uniform uint) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:79 Constant: 0:79 0 (const uint) -0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 u1: direct index for structure ( uniform uint) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:79 Constant: 0:79 0 (const uint) -0:82 imageAtomicAdd (temp int) -0:82 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:82 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 imageAtomicAdd ( temp int) +0:82 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:82 i2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:82 Constant: 0:82 6 (const uint) -0:82 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 i1b: direct index for structure ( uniform int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:82 Constant: 0:82 8 (const uint) -0:83 move second child to first child (temp int) -0:83 'out_i1' (temp int) -0:83 imageAtomicAdd (temp int) -0:83 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:83 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 move second child to first child ( temp int) +0:83 'out_i1' ( temp int) +0:83 imageAtomicAdd ( temp int) +0:83 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:83 i2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:83 Constant: 0:83 6 (const uint) -0:83 i1: direct index for structure (layout(offset=36 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 i1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:83 Constant: 0:83 5 (const uint) -0:84 imageAtomicAnd (temp int) -0:84 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:84 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 imageAtomicAnd ( temp int) +0:84 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:84 i2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:84 Constant: 0:84 6 (const uint) -0:84 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 i1b: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:84 Constant: 0:84 8 (const uint) -0:85 move second child to first child (temp int) -0:85 'out_i1' (temp int) -0:85 imageAtomicAnd (temp int) -0:85 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:85 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 move second child to first child ( temp int) +0:85 'out_i1' ( temp int) +0:85 imageAtomicAnd ( temp int) +0:85 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:85 i2: direct index for structure ( uniform 2-component vector of int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:85 Constant: 0:85 6 (const uint) -0:85 i1: direct index for structure (layout(offset=36 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 i1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:85 Constant: 0:85 5 (const uint) -0:86 move second child to first child (temp int) -0:86 'out_i1' (temp int) -0:86 imageAtomicCompSwap (temp int) -0:86 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:86 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 move second child to first child ( temp int) +0:86 'out_i1' ( temp int) +0:86 imageAtomicCompSwap ( temp int) +0:86 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:86 i2: direct index for structure ( uniform 2-component vector of int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 6 (const uint) -0:86 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 i1b: direct index for structure ( uniform int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 8 (const uint) -0:86 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 i1c: direct index for structure ( uniform int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 9 (const uint) -0:87 move second child to first child (temp int) -0:87 'out_i1' (temp int) -0:87 imageAtomicExchange (temp int) -0:87 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:87 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 move second child to first child ( temp int) +0:87 'out_i1' ( temp int) +0:87 imageAtomicExchange ( temp int) +0:87 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:87 i2: direct index for structure ( uniform 2-component vector of int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:87 Constant: 0:87 6 (const uint) -0:87 i1: direct index for structure (layout(offset=36 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 i1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:87 Constant: 0:87 5 (const uint) -0:88 imageAtomicMax (temp int) -0:88 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:88 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 imageAtomicMax ( temp int) +0:88 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:88 i2: direct index for structure ( uniform 2-component vector of int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:88 Constant: 0:88 6 (const uint) -0:88 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 i1b: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:88 Constant: 0:88 8 (const uint) -0:89 move second child to first child (temp int) -0:89 'out_i1' (temp int) -0:89 imageAtomicMax (temp int) -0:89 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:89 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 move second child to first child ( temp int) +0:89 'out_i1' ( temp int) +0:89 imageAtomicMax ( temp int) +0:89 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:89 i2: direct index for structure ( uniform 2-component vector of int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:89 Constant: 0:89 6 (const uint) -0:89 i1: direct index for structure (layout(offset=36 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 i1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:89 Constant: 0:89 5 (const uint) -0:90 imageAtomicMin (temp int) -0:90 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:90 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 imageAtomicMin ( temp int) +0:90 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:90 i2: direct index for structure ( uniform 2-component vector of int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:90 Constant: 0:90 6 (const uint) -0:90 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 i1b: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:90 Constant: 0:90 8 (const uint) -0:91 move second child to first child (temp int) -0:91 'out_i1' (temp int) -0:91 imageAtomicMin (temp int) -0:91 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:91 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 move second child to first child ( temp int) +0:91 'out_i1' ( temp int) +0:91 imageAtomicMin ( temp int) +0:91 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:91 i2: direct index for structure ( uniform 2-component vector of int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:91 Constant: 0:91 6 (const uint) -0:91 i1: direct index for structure (layout(offset=36 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 i1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:91 Constant: 0:91 5 (const uint) -0:92 imageAtomicOr (temp int) -0:92 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:92 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 imageAtomicOr ( temp int) +0:92 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:92 i2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:92 Constant: 0:92 6 (const uint) -0:92 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 i1b: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:92 Constant: 0:92 8 (const uint) -0:93 move second child to first child (temp int) -0:93 'out_i1' (temp int) -0:93 imageAtomicOr (temp int) -0:93 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:93 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 move second child to first child ( temp int) +0:93 'out_i1' ( temp int) +0:93 imageAtomicOr ( temp int) +0:93 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:93 i2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:93 Constant: 0:93 6 (const uint) -0:93 i1: direct index for structure (layout(offset=36 ) uniform int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 i1: direct index for structure ( uniform int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:93 Constant: 0:93 5 (const uint) -0:94 imageAtomicXor (temp int) -0:94 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:94 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 imageAtomicXor ( temp int) +0:94 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:94 i2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:94 Constant: 0:94 6 (const uint) -0:94 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 i1b: direct index for structure ( uniform int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:94 Constant: 0:94 8 (const uint) -0:95 move second child to first child (temp int) -0:95 'out_i1' (temp int) -0:95 imageAtomicXor (temp int) -0:95 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:95 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 move second child to first child ( temp int) +0:95 'out_i1' ( temp int) +0:95 imageAtomicXor ( temp int) +0:95 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:95 i2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:95 Constant: 0:95 6 (const uint) -0:95 i1: direct index for structure (layout(offset=36 ) uniform int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 i1: direct index for structure ( uniform int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:95 Constant: 0:95 5 (const uint) -0:98 imageAtomicAdd (temp uint) -0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:98 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 imageAtomicAdd ( temp uint) +0:98 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:98 u2: direct index for structure ( uniform 2-component vector of uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:98 Constant: 0:98 1 (const uint) -0:98 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 u1: direct index for structure ( uniform uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:98 Constant: 0:98 0 (const uint) -0:99 move second child to first child (temp uint) -0:99 'out_u1' (temp uint) -0:99 imageAtomicAdd (temp uint) -0:99 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:99 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 move second child to first child ( temp uint) +0:99 'out_u1' ( temp uint) +0:99 imageAtomicAdd ( temp uint) +0:99 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:99 u2: direct index for structure ( uniform 2-component vector of uint) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:99 Constant: 0:99 1 (const uint) -0:99 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 u1: direct index for structure ( uniform uint) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:99 Constant: 0:99 0 (const uint) -0:100 imageAtomicAnd (temp uint) -0:100 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:100 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 imageAtomicAnd ( temp uint) +0:100 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:100 u2: direct index for structure ( uniform 2-component vector of uint) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:100 Constant: 0:100 1 (const uint) -0:100 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 u1: direct index for structure ( uniform uint) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:100 Constant: 0:100 0 (const uint) -0:101 move second child to first child (temp uint) -0:101 'out_u1' (temp uint) -0:101 imageAtomicAnd (temp uint) -0:101 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:101 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 move second child to first child ( temp uint) +0:101 'out_u1' ( temp uint) +0:101 imageAtomicAnd ( temp uint) +0:101 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:101 u2: direct index for structure ( uniform 2-component vector of uint) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:101 Constant: 0:101 1 (const uint) -0:101 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 u1: direct index for structure ( uniform uint) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:101 Constant: 0:101 0 (const uint) -0:102 move second child to first child (temp uint) -0:102 'out_u1' (temp uint) -0:102 imageAtomicCompSwap (temp uint) -0:102 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:102 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 move second child to first child ( temp uint) +0:102 'out_u1' ( temp uint) +0:102 imageAtomicCompSwap ( temp uint) +0:102 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:102 u2: direct index for structure ( uniform 2-component vector of uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 1 (const uint) -0:102 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 u1b: direct index for structure ( uniform uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 3 (const uint) -0:102 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 u1c: direct index for structure ( uniform uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 4 (const uint) -0:103 move second child to first child (temp uint) -0:103 'out_u1' (temp uint) -0:103 imageAtomicExchange (temp uint) -0:103 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:103 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 move second child to first child ( temp uint) +0:103 'out_u1' ( temp uint) +0:103 imageAtomicExchange ( temp uint) +0:103 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:103 u2: direct index for structure ( uniform 2-component vector of uint) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:103 Constant: 0:103 1 (const uint) -0:103 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 u1: direct index for structure ( uniform uint) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:103 Constant: 0:103 0 (const uint) -0:104 imageAtomicMax (temp uint) -0:104 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:104 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 imageAtomicMax ( temp uint) +0:104 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:104 u2: direct index for structure ( uniform 2-component vector of uint) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:104 Constant: 0:104 1 (const uint) -0:104 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 u1: direct index for structure ( uniform uint) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:104 Constant: 0:104 0 (const uint) -0:105 move second child to first child (temp uint) -0:105 'out_u1' (temp uint) -0:105 imageAtomicMax (temp uint) -0:105 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:105 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 move second child to first child ( temp uint) +0:105 'out_u1' ( temp uint) +0:105 imageAtomicMax ( temp uint) +0:105 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:105 u2: direct index for structure ( uniform 2-component vector of uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:105 Constant: 0:105 1 (const uint) -0:105 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 u1: direct index for structure ( uniform uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:105 Constant: 0:105 0 (const uint) -0:106 imageAtomicMin (temp uint) -0:106 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:106 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 imageAtomicMin ( temp uint) +0:106 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:106 u2: direct index for structure ( uniform 2-component vector of uint) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:106 Constant: 0:106 1 (const uint) -0:106 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 u1: direct index for structure ( uniform uint) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:106 Constant: 0:106 0 (const uint) -0:107 move second child to first child (temp uint) -0:107 'out_u1' (temp uint) -0:107 imageAtomicMin (temp uint) -0:107 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:107 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 move second child to first child ( temp uint) +0:107 'out_u1' ( temp uint) +0:107 imageAtomicMin ( temp uint) +0:107 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:107 u2: direct index for structure ( uniform 2-component vector of uint) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:107 Constant: 0:107 1 (const uint) -0:107 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 u1: direct index for structure ( uniform uint) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:107 Constant: 0:107 0 (const uint) -0:108 imageAtomicOr (temp uint) -0:108 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:108 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 imageAtomicOr ( temp uint) +0:108 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:108 u2: direct index for structure ( uniform 2-component vector of uint) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:108 Constant: 0:108 1 (const uint) -0:108 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 u1: direct index for structure ( uniform uint) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:108 Constant: 0:108 0 (const uint) -0:109 move second child to first child (temp uint) -0:109 'out_u1' (temp uint) -0:109 imageAtomicOr (temp uint) -0:109 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:109 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 move second child to first child ( temp uint) +0:109 'out_u1' ( temp uint) +0:109 imageAtomicOr ( temp uint) +0:109 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:109 u2: direct index for structure ( uniform 2-component vector of uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:109 Constant: 0:109 1 (const uint) -0:109 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 u1: direct index for structure ( uniform uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:109 Constant: 0:109 0 (const uint) -0:110 imageAtomicXor (temp uint) -0:110 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:110 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 imageAtomicXor ( temp uint) +0:110 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:110 u2: direct index for structure ( uniform 2-component vector of uint) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:110 Constant: 0:110 1 (const uint) -0:110 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 u1: direct index for structure ( uniform uint) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:110 Constant: 0:110 0 (const uint) -0:111 move second child to first child (temp uint) -0:111 'out_u1' (temp uint) -0:111 imageAtomicXor (temp uint) -0:111 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:111 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 move second child to first child ( temp uint) +0:111 'out_u1' ( temp uint) +0:111 imageAtomicXor ( temp uint) +0:111 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:111 u2: direct index for structure ( uniform 2-component vector of uint) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:111 Constant: 0:111 1 (const uint) -0:111 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 u1: direct index for structure ( uniform uint) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:111 Constant: 0:111 0 (const uint) -0:114 imageAtomicAdd (temp int) -0:114 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:114 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 imageAtomicAdd ( temp int) +0:114 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:114 i3: direct index for structure ( uniform 3-component vector of int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:114 Constant: 0:114 7 (const uint) -0:114 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 i1b: direct index for structure ( uniform int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:114 Constant: 0:114 8 (const uint) -0:115 move second child to first child (temp int) -0:115 'out_i1' (temp int) -0:115 imageAtomicAdd (temp int) -0:115 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:115 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 move second child to first child ( temp int) +0:115 'out_i1' ( temp int) +0:115 imageAtomicAdd ( temp int) +0:115 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:115 i3: direct index for structure ( uniform 3-component vector of int) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:115 Constant: 0:115 7 (const uint) -0:115 i1: direct index for structure (layout(offset=36 ) uniform int) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 i1: direct index for structure ( uniform int) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:115 Constant: 0:115 5 (const uint) -0:116 imageAtomicAnd (temp int) -0:116 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:116 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 imageAtomicAnd ( temp int) +0:116 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:116 i3: direct index for structure ( uniform 3-component vector of int) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:116 Constant: 0:116 7 (const uint) -0:116 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 i1b: direct index for structure ( uniform int) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:116 Constant: 0:116 8 (const uint) -0:117 move second child to first child (temp int) -0:117 'out_i1' (temp int) -0:117 imageAtomicAnd (temp int) -0:117 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:117 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 move second child to first child ( temp int) +0:117 'out_i1' ( temp int) +0:117 imageAtomicAnd ( temp int) +0:117 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:117 i3: direct index for structure ( uniform 3-component vector of int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:117 Constant: 0:117 7 (const uint) -0:117 i1: direct index for structure (layout(offset=36 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 i1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:117 Constant: 0:117 5 (const uint) -0:118 move second child to first child (temp int) -0:118 'out_i1' (temp int) -0:118 imageAtomicCompSwap (temp int) -0:118 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:118 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 move second child to first child ( temp int) +0:118 'out_i1' ( temp int) +0:118 imageAtomicCompSwap ( temp int) +0:118 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:118 i3: direct index for structure ( uniform 3-component vector of int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 7 (const uint) -0:118 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 i1b: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 8 (const uint) -0:118 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 i1c: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 9 (const uint) -0:119 move second child to first child (temp int) -0:119 'out_i1' (temp int) -0:119 imageAtomicExchange (temp int) -0:119 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:119 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 move second child to first child ( temp int) +0:119 'out_i1' ( temp int) +0:119 imageAtomicExchange ( temp int) +0:119 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:119 i3: direct index for structure ( uniform 3-component vector of int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:119 Constant: 0:119 7 (const uint) -0:119 i1: direct index for structure (layout(offset=36 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 i1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:119 Constant: 0:119 5 (const uint) -0:120 imageAtomicMax (temp int) -0:120 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:120 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 imageAtomicMax ( temp int) +0:120 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:120 i3: direct index for structure ( uniform 3-component vector of int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:120 Constant: 0:120 7 (const uint) -0:120 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 i1b: direct index for structure ( uniform int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:120 Constant: 0:120 8 (const uint) -0:121 move second child to first child (temp int) -0:121 'out_i1' (temp int) -0:121 imageAtomicMax (temp int) -0:121 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:121 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 move second child to first child ( temp int) +0:121 'out_i1' ( temp int) +0:121 imageAtomicMax ( temp int) +0:121 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:121 i3: direct index for structure ( uniform 3-component vector of int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:121 Constant: 0:121 7 (const uint) -0:121 i1: direct index for structure (layout(offset=36 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 i1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:121 Constant: 0:121 5 (const uint) -0:122 imageAtomicMin (temp int) -0:122 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:122 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 imageAtomicMin ( temp int) +0:122 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:122 i3: direct index for structure ( uniform 3-component vector of int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:122 Constant: 0:122 7 (const uint) -0:122 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 i1b: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:122 Constant: 0:122 8 (const uint) -0:123 move second child to first child (temp int) -0:123 'out_i1' (temp int) -0:123 imageAtomicMin (temp int) -0:123 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:123 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 move second child to first child ( temp int) +0:123 'out_i1' ( temp int) +0:123 imageAtomicMin ( temp int) +0:123 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:123 i3: direct index for structure ( uniform 3-component vector of int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:123 Constant: 0:123 7 (const uint) -0:123 i1: direct index for structure (layout(offset=36 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 i1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:123 Constant: 0:123 5 (const uint) -0:124 imageAtomicOr (temp int) -0:124 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:124 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 imageAtomicOr ( temp int) +0:124 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:124 i3: direct index for structure ( uniform 3-component vector of int) +0:124 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:124 Constant: 0:124 7 (const uint) -0:124 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 i1b: direct index for structure ( uniform int) +0:124 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:124 Constant: 0:124 8 (const uint) -0:125 move second child to first child (temp int) -0:125 'out_i1' (temp int) -0:125 imageAtomicOr (temp int) -0:125 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:125 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 move second child to first child ( temp int) +0:125 'out_i1' ( temp int) +0:125 imageAtomicOr ( temp int) +0:125 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:125 i3: direct index for structure ( uniform 3-component vector of int) +0:125 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:125 Constant: 0:125 7 (const uint) -0:125 i1: direct index for structure (layout(offset=36 ) uniform int) -0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 i1: direct index for structure ( uniform int) +0:125 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:125 Constant: 0:125 5 (const uint) -0:126 imageAtomicXor (temp int) -0:126 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:126 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 imageAtomicXor ( temp int) +0:126 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:126 i3: direct index for structure ( uniform 3-component vector of int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:126 Constant: 0:126 7 (const uint) -0:126 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 i1b: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:126 Constant: 0:126 8 (const uint) -0:127 move second child to first child (temp int) -0:127 'out_i1' (temp int) -0:127 imageAtomicXor (temp int) -0:127 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:127 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 move second child to first child ( temp int) +0:127 'out_i1' ( temp int) +0:127 imageAtomicXor ( temp int) +0:127 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:127 i3: direct index for structure ( uniform 3-component vector of int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:127 Constant: 0:127 7 (const uint) -0:127 i1: direct index for structure (layout(offset=36 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 i1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:127 Constant: 0:127 5 (const uint) -0:130 imageAtomicAdd (temp uint) -0:130 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:130 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 imageAtomicAdd ( temp uint) +0:130 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:130 u3: direct index for structure ( uniform 3-component vector of uint) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:130 Constant: 0:130 2 (const uint) -0:130 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 u1: direct index for structure ( uniform uint) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:130 Constant: 0:130 0 (const uint) -0:131 move second child to first child (temp uint) -0:131 'out_u1' (temp uint) -0:131 imageAtomicAdd (temp uint) -0:131 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:131 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 move second child to first child ( temp uint) +0:131 'out_u1' ( temp uint) +0:131 imageAtomicAdd ( temp uint) +0:131 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:131 u3: direct index for structure ( uniform 3-component vector of uint) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:131 Constant: 0:131 2 (const uint) -0:131 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 u1: direct index for structure ( uniform uint) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:131 Constant: 0:131 0 (const uint) -0:132 imageAtomicAnd (temp uint) -0:132 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:132 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 imageAtomicAnd ( temp uint) +0:132 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:132 u3: direct index for structure ( uniform 3-component vector of uint) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:132 Constant: 0:132 2 (const uint) -0:132 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 u1: direct index for structure ( uniform uint) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:132 Constant: 0:132 0 (const uint) -0:133 move second child to first child (temp uint) -0:133 'out_u1' (temp uint) -0:133 imageAtomicAnd (temp uint) -0:133 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:133 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 move second child to first child ( temp uint) +0:133 'out_u1' ( temp uint) +0:133 imageAtomicAnd ( temp uint) +0:133 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:133 u3: direct index for structure ( uniform 3-component vector of uint) +0:133 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:133 Constant: 0:133 2 (const uint) -0:133 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 u1: direct index for structure ( uniform uint) +0:133 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:133 Constant: 0:133 0 (const uint) -0:134 move second child to first child (temp uint) -0:134 'out_u1' (temp uint) -0:134 imageAtomicCompSwap (temp uint) -0:134 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:134 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 move second child to first child ( temp uint) +0:134 'out_u1' ( temp uint) +0:134 imageAtomicCompSwap ( temp uint) +0:134 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:134 u3: direct index for structure ( uniform 3-component vector of uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 2 (const uint) -0:134 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 u1b: direct index for structure ( uniform uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 3 (const uint) -0:134 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 u1c: direct index for structure ( uniform uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 4 (const uint) -0:135 move second child to first child (temp uint) -0:135 'out_u1' (temp uint) -0:135 imageAtomicExchange (temp uint) -0:135 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:135 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 move second child to first child ( temp uint) +0:135 'out_u1' ( temp uint) +0:135 imageAtomicExchange ( temp uint) +0:135 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:135 u3: direct index for structure ( uniform 3-component vector of uint) +0:135 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:135 Constant: 0:135 2 (const uint) -0:135 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 u1: direct index for structure ( uniform uint) +0:135 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:135 Constant: 0:135 0 (const uint) -0:136 imageAtomicMax (temp uint) -0:136 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:136 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 imageAtomicMax ( temp uint) +0:136 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:136 u3: direct index for structure ( uniform 3-component vector of uint) +0:136 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:136 Constant: 0:136 2 (const uint) -0:136 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 u1: direct index for structure ( uniform uint) +0:136 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:136 Constant: 0:136 0 (const uint) -0:137 move second child to first child (temp uint) -0:137 'out_u1' (temp uint) -0:137 imageAtomicMax (temp uint) -0:137 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:137 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 move second child to first child ( temp uint) +0:137 'out_u1' ( temp uint) +0:137 imageAtomicMax ( temp uint) +0:137 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:137 u3: direct index for structure ( uniform 3-component vector of uint) +0:137 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:137 Constant: 0:137 2 (const uint) -0:137 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 u1: direct index for structure ( uniform uint) +0:137 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:137 Constant: 0:137 0 (const uint) -0:138 imageAtomicMin (temp uint) -0:138 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:138 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 imageAtomicMin ( temp uint) +0:138 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:138 u3: direct index for structure ( uniform 3-component vector of uint) +0:138 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:138 Constant: 0:138 2 (const uint) -0:138 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 u1: direct index for structure ( uniform uint) +0:138 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:138 Constant: 0:138 0 (const uint) -0:139 move second child to first child (temp uint) -0:139 'out_u1' (temp uint) -0:139 imageAtomicMin (temp uint) -0:139 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:139 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 move second child to first child ( temp uint) +0:139 'out_u1' ( temp uint) +0:139 imageAtomicMin ( temp uint) +0:139 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:139 u3: direct index for structure ( uniform 3-component vector of uint) +0:139 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:139 Constant: 0:139 2 (const uint) -0:139 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 u1: direct index for structure ( uniform uint) +0:139 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:139 Constant: 0:139 0 (const uint) -0:140 imageAtomicOr (temp uint) -0:140 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:140 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 imageAtomicOr ( temp uint) +0:140 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:140 u3: direct index for structure ( uniform 3-component vector of uint) +0:140 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:140 Constant: 0:140 2 (const uint) -0:140 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 u1: direct index for structure ( uniform uint) +0:140 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:140 Constant: 0:140 0 (const uint) -0:141 move second child to first child (temp uint) -0:141 'out_u1' (temp uint) -0:141 imageAtomicOr (temp uint) -0:141 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:141 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 move second child to first child ( temp uint) +0:141 'out_u1' ( temp uint) +0:141 imageAtomicOr ( temp uint) +0:141 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:141 u3: direct index for structure ( uniform 3-component vector of uint) +0:141 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:141 Constant: 0:141 2 (const uint) -0:141 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 u1: direct index for structure ( uniform uint) +0:141 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:141 Constant: 0:141 0 (const uint) -0:142 imageAtomicXor (temp uint) -0:142 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:142 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 imageAtomicXor ( temp uint) +0:142 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:142 u3: direct index for structure ( uniform 3-component vector of uint) +0:142 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:142 Constant: 0:142 2 (const uint) -0:142 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 u1: direct index for structure ( uniform uint) +0:142 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:142 Constant: 0:142 0 (const uint) -0:143 move second child to first child (temp uint) -0:143 'out_u1' (temp uint) -0:143 imageAtomicXor (temp uint) -0:143 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:143 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 move second child to first child ( temp uint) +0:143 'out_u1' ( temp uint) +0:143 imageAtomicXor ( temp uint) +0:143 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:143 u3: direct index for structure ( uniform 3-component vector of uint) +0:143 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:143 Constant: 0:143 2 (const uint) -0:143 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 u1: direct index for structure ( uniform uint) +0:143 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:143 Constant: 0:143 0 (const uint) -0:146 imageAtomicAdd (temp int) -0:146 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:146 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 imageAtomicAdd ( temp int) +0:146 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:146 i2: direct index for structure ( uniform 2-component vector of int) +0:146 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:146 Constant: 0:146 6 (const uint) -0:146 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 i1b: direct index for structure ( uniform int) +0:146 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:146 Constant: 0:146 8 (const uint) -0:147 move second child to first child (temp int) -0:147 'out_i1' (temp int) -0:147 imageAtomicAdd (temp int) -0:147 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:147 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 move second child to first child ( temp int) +0:147 'out_i1' ( temp int) +0:147 imageAtomicAdd ( temp int) +0:147 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:147 i2: direct index for structure ( uniform 2-component vector of int) +0:147 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:147 Constant: 0:147 6 (const uint) -0:147 i1: direct index for structure (layout(offset=36 ) uniform int) -0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 i1: direct index for structure ( uniform int) +0:147 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:147 Constant: 0:147 5 (const uint) -0:148 imageAtomicAnd (temp int) -0:148 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:148 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 imageAtomicAnd ( temp int) +0:148 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:148 i2: direct index for structure ( uniform 2-component vector of int) +0:148 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:148 Constant: 0:148 6 (const uint) -0:148 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 i1b: direct index for structure ( uniform int) +0:148 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:148 Constant: 0:148 8 (const uint) -0:149 move second child to first child (temp int) -0:149 'out_i1' (temp int) -0:149 imageAtomicAnd (temp int) -0:149 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:149 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 move second child to first child ( temp int) +0:149 'out_i1' ( temp int) +0:149 imageAtomicAnd ( temp int) +0:149 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:149 i2: direct index for structure ( uniform 2-component vector of int) +0:149 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:149 Constant: 0:149 6 (const uint) -0:149 i1: direct index for structure (layout(offset=36 ) uniform int) -0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 i1: direct index for structure ( uniform int) +0:149 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:149 Constant: 0:149 5 (const uint) -0:150 move second child to first child (temp int) -0:150 'out_i1' (temp int) -0:150 imageAtomicCompSwap (temp int) -0:150 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:150 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 move second child to first child ( temp int) +0:150 'out_i1' ( temp int) +0:150 imageAtomicCompSwap ( temp int) +0:150 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:150 i2: direct index for structure ( uniform 2-component vector of int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 6 (const uint) -0:150 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 i1b: direct index for structure ( uniform int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 8 (const uint) -0:150 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 i1c: direct index for structure ( uniform int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 9 (const uint) -0:151 move second child to first child (temp int) -0:151 'out_i1' (temp int) -0:151 imageAtomicExchange (temp int) -0:151 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:151 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 move second child to first child ( temp int) +0:151 'out_i1' ( temp int) +0:151 imageAtomicExchange ( temp int) +0:151 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:151 i2: direct index for structure ( uniform 2-component vector of int) +0:151 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:151 Constant: 0:151 6 (const uint) -0:151 i1: direct index for structure (layout(offset=36 ) uniform int) -0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 i1: direct index for structure ( uniform int) +0:151 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:151 Constant: 0:151 5 (const uint) -0:152 imageAtomicMax (temp int) -0:152 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:152 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 imageAtomicMax ( temp int) +0:152 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:152 i2: direct index for structure ( uniform 2-component vector of int) +0:152 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:152 Constant: 0:152 6 (const uint) -0:152 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 i1b: direct index for structure ( uniform int) +0:152 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:152 Constant: 0:152 8 (const uint) -0:153 move second child to first child (temp int) -0:153 'out_i1' (temp int) -0:153 imageAtomicMax (temp int) -0:153 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:153 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 move second child to first child ( temp int) +0:153 'out_i1' ( temp int) +0:153 imageAtomicMax ( temp int) +0:153 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:153 i2: direct index for structure ( uniform 2-component vector of int) +0:153 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:153 Constant: 0:153 6 (const uint) -0:153 i1: direct index for structure (layout(offset=36 ) uniform int) -0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 i1: direct index for structure ( uniform int) +0:153 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:153 Constant: 0:153 5 (const uint) -0:154 imageAtomicMin (temp int) -0:154 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:154 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 imageAtomicMin ( temp int) +0:154 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:154 i2: direct index for structure ( uniform 2-component vector of int) +0:154 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:154 Constant: 0:154 6 (const uint) -0:154 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 i1b: direct index for structure ( uniform int) +0:154 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:154 Constant: 0:154 8 (const uint) -0:155 move second child to first child (temp int) -0:155 'out_i1' (temp int) -0:155 imageAtomicMin (temp int) -0:155 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:155 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 move second child to first child ( temp int) +0:155 'out_i1' ( temp int) +0:155 imageAtomicMin ( temp int) +0:155 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:155 i2: direct index for structure ( uniform 2-component vector of int) +0:155 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:155 Constant: 0:155 6 (const uint) -0:155 i1: direct index for structure (layout(offset=36 ) uniform int) -0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 i1: direct index for structure ( uniform int) +0:155 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:155 Constant: 0:155 5 (const uint) -0:156 imageAtomicOr (temp int) -0:156 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:156 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 imageAtomicOr ( temp int) +0:156 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:156 i2: direct index for structure ( uniform 2-component vector of int) +0:156 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:156 Constant: 0:156 6 (const uint) -0:156 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 i1b: direct index for structure ( uniform int) +0:156 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:156 Constant: 0:156 8 (const uint) -0:157 move second child to first child (temp int) -0:157 'out_i1' (temp int) -0:157 imageAtomicOr (temp int) -0:157 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:157 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 move second child to first child ( temp int) +0:157 'out_i1' ( temp int) +0:157 imageAtomicOr ( temp int) +0:157 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:157 i2: direct index for structure ( uniform 2-component vector of int) +0:157 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:157 Constant: 0:157 6 (const uint) -0:157 i1: direct index for structure (layout(offset=36 ) uniform int) -0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 i1: direct index for structure ( uniform int) +0:157 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:157 Constant: 0:157 5 (const uint) -0:158 imageAtomicXor (temp int) -0:158 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:158 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 imageAtomicXor ( temp int) +0:158 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:158 i2: direct index for structure ( uniform 2-component vector of int) +0:158 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:158 Constant: 0:158 6 (const uint) -0:158 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 i1b: direct index for structure ( uniform int) +0:158 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:158 Constant: 0:158 8 (const uint) -0:159 move second child to first child (temp int) -0:159 'out_i1' (temp int) -0:159 imageAtomicXor (temp int) -0:159 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:159 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 move second child to first child ( temp int) +0:159 'out_i1' ( temp int) +0:159 imageAtomicXor ( temp int) +0:159 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:159 i2: direct index for structure ( uniform 2-component vector of int) +0:159 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:159 Constant: 0:159 6 (const uint) -0:159 i1: direct index for structure (layout(offset=36 ) uniform int) -0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 i1: direct index for structure ( uniform int) +0:159 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:159 Constant: 0:159 5 (const uint) -0:162 imageAtomicAdd (temp uint) -0:162 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:162 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 imageAtomicAdd ( temp uint) +0:162 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:162 u2: direct index for structure ( uniform 2-component vector of uint) +0:162 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:162 Constant: 0:162 1 (const uint) -0:162 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 u1: direct index for structure ( uniform uint) +0:162 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:162 Constant: 0:162 0 (const uint) -0:163 move second child to first child (temp uint) -0:163 'out_u1' (temp uint) -0:163 imageAtomicAdd (temp uint) -0:163 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:163 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 move second child to first child ( temp uint) +0:163 'out_u1' ( temp uint) +0:163 imageAtomicAdd ( temp uint) +0:163 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:163 u2: direct index for structure ( uniform 2-component vector of uint) +0:163 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:163 Constant: 0:163 1 (const uint) -0:163 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 u1: direct index for structure ( uniform uint) +0:163 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:163 Constant: 0:163 0 (const uint) -0:164 imageAtomicAnd (temp uint) -0:164 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:164 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 imageAtomicAnd ( temp uint) +0:164 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:164 u2: direct index for structure ( uniform 2-component vector of uint) +0:164 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:164 Constant: 0:164 1 (const uint) -0:164 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 u1: direct index for structure ( uniform uint) +0:164 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:164 Constant: 0:164 0 (const uint) -0:165 move second child to first child (temp uint) -0:165 'out_u1' (temp uint) -0:165 imageAtomicAnd (temp uint) -0:165 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:165 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 move second child to first child ( temp uint) +0:165 'out_u1' ( temp uint) +0:165 imageAtomicAnd ( temp uint) +0:165 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:165 u2: direct index for structure ( uniform 2-component vector of uint) +0:165 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:165 Constant: 0:165 1 (const uint) -0:165 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 u1: direct index for structure ( uniform uint) +0:165 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:165 Constant: 0:165 0 (const uint) -0:166 move second child to first child (temp uint) -0:166 'out_u1' (temp uint) -0:166 imageAtomicCompSwap (temp uint) -0:166 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:166 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 move second child to first child ( temp uint) +0:166 'out_u1' ( temp uint) +0:166 imageAtomicCompSwap ( temp uint) +0:166 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:166 u2: direct index for structure ( uniform 2-component vector of uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 1 (const uint) -0:166 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 u1b: direct index for structure ( uniform uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 3 (const uint) -0:166 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 u1c: direct index for structure ( uniform uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 4 (const uint) -0:167 move second child to first child (temp uint) -0:167 'out_u1' (temp uint) -0:167 imageAtomicExchange (temp uint) -0:167 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:167 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 move second child to first child ( temp uint) +0:167 'out_u1' ( temp uint) +0:167 imageAtomicExchange ( temp uint) +0:167 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:167 u2: direct index for structure ( uniform 2-component vector of uint) +0:167 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:167 Constant: 0:167 1 (const uint) -0:167 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 u1: direct index for structure ( uniform uint) +0:167 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:167 Constant: 0:167 0 (const uint) -0:168 imageAtomicMax (temp uint) -0:168 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:168 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 imageAtomicMax ( temp uint) +0:168 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:168 u2: direct index for structure ( uniform 2-component vector of uint) +0:168 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:168 Constant: 0:168 1 (const uint) -0:168 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 u1: direct index for structure ( uniform uint) +0:168 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:168 Constant: 0:168 0 (const uint) -0:169 move second child to first child (temp uint) -0:169 'out_u1' (temp uint) -0:169 imageAtomicMax (temp uint) -0:169 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:169 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 move second child to first child ( temp uint) +0:169 'out_u1' ( temp uint) +0:169 imageAtomicMax ( temp uint) +0:169 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:169 u2: direct index for structure ( uniform 2-component vector of uint) +0:169 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:169 Constant: 0:169 1 (const uint) -0:169 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 u1: direct index for structure ( uniform uint) +0:169 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:169 Constant: 0:169 0 (const uint) -0:170 imageAtomicMin (temp uint) -0:170 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:170 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 imageAtomicMin ( temp uint) +0:170 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:170 u2: direct index for structure ( uniform 2-component vector of uint) +0:170 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:170 Constant: 0:170 1 (const uint) -0:170 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 u1: direct index for structure ( uniform uint) +0:170 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:170 Constant: 0:170 0 (const uint) -0:171 move second child to first child (temp uint) -0:171 'out_u1' (temp uint) -0:171 imageAtomicMin (temp uint) -0:171 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:171 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 move second child to first child ( temp uint) +0:171 'out_u1' ( temp uint) +0:171 imageAtomicMin ( temp uint) +0:171 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:171 u2: direct index for structure ( uniform 2-component vector of uint) +0:171 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:171 Constant: 0:171 1 (const uint) -0:171 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 u1: direct index for structure ( uniform uint) +0:171 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:171 Constant: 0:171 0 (const uint) -0:172 imageAtomicOr (temp uint) -0:172 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:172 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 imageAtomicOr ( temp uint) +0:172 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:172 u2: direct index for structure ( uniform 2-component vector of uint) +0:172 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:172 Constant: 0:172 1 (const uint) -0:172 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 u1: direct index for structure ( uniform uint) +0:172 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:172 Constant: 0:172 0 (const uint) -0:173 move second child to first child (temp uint) -0:173 'out_u1' (temp uint) -0:173 imageAtomicOr (temp uint) -0:173 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:173 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 move second child to first child ( temp uint) +0:173 'out_u1' ( temp uint) +0:173 imageAtomicOr ( temp uint) +0:173 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:173 u2: direct index for structure ( uniform 2-component vector of uint) +0:173 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:173 Constant: 0:173 1 (const uint) -0:173 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 u1: direct index for structure ( uniform uint) +0:173 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:173 Constant: 0:173 0 (const uint) -0:174 imageAtomicXor (temp uint) -0:174 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:174 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 imageAtomicXor ( temp uint) +0:174 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:174 u2: direct index for structure ( uniform 2-component vector of uint) +0:174 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:174 Constant: 0:174 1 (const uint) -0:174 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 u1: direct index for structure ( uniform uint) +0:174 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:174 Constant: 0:174 0 (const uint) -0:175 move second child to first child (temp uint) -0:175 'out_u1' (temp uint) -0:175 imageAtomicXor (temp uint) -0:175 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:175 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 move second child to first child ( temp uint) +0:175 'out_u1' ( temp uint) +0:175 imageAtomicXor ( temp uint) +0:175 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:175 u2: direct index for structure ( uniform 2-component vector of uint) +0:175 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:175 Constant: 0:175 1 (const uint) -0:175 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 u1: direct index for structure ( uniform uint) +0:175 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:175 Constant: 0:175 0 (const uint) -0:178 imageAtomicAdd (temp int) -0:178 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:178 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 imageAtomicAdd ( temp int) +0:178 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:178 i2: direct index for structure ( uniform 2-component vector of int) +0:178 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:178 Constant: 0:178 6 (const uint) -0:178 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 i1b: direct index for structure ( uniform int) +0:178 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:178 Constant: 0:178 8 (const uint) -0:179 move second child to first child (temp int) -0:179 'out_i1' (temp int) -0:179 imageAtomicAdd (temp int) -0:179 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:179 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 move second child to first child ( temp int) +0:179 'out_i1' ( temp int) +0:179 imageAtomicAdd ( temp int) +0:179 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:179 i2: direct index for structure ( uniform 2-component vector of int) +0:179 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:179 Constant: 0:179 6 (const uint) -0:179 i1: direct index for structure (layout(offset=36 ) uniform int) -0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 i1: direct index for structure ( uniform int) +0:179 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:179 Constant: 0:179 5 (const uint) -0:180 imageAtomicAnd (temp int) -0:180 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:180 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 imageAtomicAnd ( temp int) +0:180 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:180 i2: direct index for structure ( uniform 2-component vector of int) +0:180 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:180 Constant: 0:180 6 (const uint) -0:180 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 i1b: direct index for structure ( uniform int) +0:180 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:180 Constant: 0:180 8 (const uint) -0:181 move second child to first child (temp int) -0:181 'out_i1' (temp int) -0:181 imageAtomicAnd (temp int) -0:181 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:181 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 move second child to first child ( temp int) +0:181 'out_i1' ( temp int) +0:181 imageAtomicAnd ( temp int) +0:181 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:181 i2: direct index for structure ( uniform 2-component vector of int) +0:181 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:181 Constant: 0:181 6 (const uint) -0:181 i1: direct index for structure (layout(offset=36 ) uniform int) -0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 i1: direct index for structure ( uniform int) +0:181 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:181 Constant: 0:181 5 (const uint) -0:182 move second child to first child (temp int) -0:182 'out_i1' (temp int) -0:182 imageAtomicCompSwap (temp int) -0:182 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:182 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 move second child to first child ( temp int) +0:182 'out_i1' ( temp int) +0:182 imageAtomicCompSwap ( temp int) +0:182 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:182 i2: direct index for structure ( uniform 2-component vector of int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 6 (const uint) -0:182 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 i1b: direct index for structure ( uniform int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 8 (const uint) -0:182 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 i1c: direct index for structure ( uniform int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 9 (const uint) -0:183 move second child to first child (temp int) -0:183 'out_i1' (temp int) -0:183 imageAtomicExchange (temp int) -0:183 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:183 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 move second child to first child ( temp int) +0:183 'out_i1' ( temp int) +0:183 imageAtomicExchange ( temp int) +0:183 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:183 i2: direct index for structure ( uniform 2-component vector of int) +0:183 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:183 Constant: 0:183 6 (const uint) -0:183 i1: direct index for structure (layout(offset=36 ) uniform int) -0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 i1: direct index for structure ( uniform int) +0:183 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:183 Constant: 0:183 5 (const uint) -0:184 imageAtomicMax (temp int) -0:184 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:184 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 imageAtomicMax ( temp int) +0:184 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:184 i2: direct index for structure ( uniform 2-component vector of int) +0:184 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:184 Constant: 0:184 6 (const uint) -0:184 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 i1b: direct index for structure ( uniform int) +0:184 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:184 Constant: 0:184 8 (const uint) -0:185 move second child to first child (temp int) -0:185 'out_i1' (temp int) -0:185 imageAtomicMax (temp int) -0:185 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:185 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 move second child to first child ( temp int) +0:185 'out_i1' ( temp int) +0:185 imageAtomicMax ( temp int) +0:185 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:185 i2: direct index for structure ( uniform 2-component vector of int) +0:185 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:185 Constant: 0:185 6 (const uint) -0:185 i1: direct index for structure (layout(offset=36 ) uniform int) -0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 i1: direct index for structure ( uniform int) +0:185 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:185 Constant: 0:185 5 (const uint) -0:186 imageAtomicMin (temp int) -0:186 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:186 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 imageAtomicMin ( temp int) +0:186 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:186 i2: direct index for structure ( uniform 2-component vector of int) +0:186 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:186 Constant: 0:186 6 (const uint) -0:186 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 i1b: direct index for structure ( uniform int) +0:186 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:186 Constant: 0:186 8 (const uint) -0:187 move second child to first child (temp int) -0:187 'out_i1' (temp int) -0:187 imageAtomicMin (temp int) -0:187 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:187 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 move second child to first child ( temp int) +0:187 'out_i1' ( temp int) +0:187 imageAtomicMin ( temp int) +0:187 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:187 i2: direct index for structure ( uniform 2-component vector of int) +0:187 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:187 Constant: 0:187 6 (const uint) -0:187 i1: direct index for structure (layout(offset=36 ) uniform int) -0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 i1: direct index for structure ( uniform int) +0:187 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:187 Constant: 0:187 5 (const uint) -0:188 imageAtomicOr (temp int) -0:188 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:188 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 imageAtomicOr ( temp int) +0:188 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:188 i2: direct index for structure ( uniform 2-component vector of int) +0:188 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:188 Constant: 0:188 6 (const uint) -0:188 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 i1b: direct index for structure ( uniform int) +0:188 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:188 Constant: 0:188 8 (const uint) -0:189 move second child to first child (temp int) -0:189 'out_i1' (temp int) -0:189 imageAtomicOr (temp int) -0:189 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:189 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 move second child to first child ( temp int) +0:189 'out_i1' ( temp int) +0:189 imageAtomicOr ( temp int) +0:189 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:189 i2: direct index for structure ( uniform 2-component vector of int) +0:189 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:189 Constant: 0:189 6 (const uint) -0:189 i1: direct index for structure (layout(offset=36 ) uniform int) -0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 i1: direct index for structure ( uniform int) +0:189 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:189 Constant: 0:189 5 (const uint) -0:190 imageAtomicXor (temp int) -0:190 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:190 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 imageAtomicXor ( temp int) +0:190 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:190 i2: direct index for structure ( uniform 2-component vector of int) +0:190 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:190 Constant: 0:190 6 (const uint) -0:190 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 i1b: direct index for structure ( uniform int) +0:190 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:190 Constant: 0:190 8 (const uint) -0:191 move second child to first child (temp int) -0:191 'out_i1' (temp int) -0:191 imageAtomicXor (temp int) -0:191 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:191 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 move second child to first child ( temp int) +0:191 'out_i1' ( temp int) +0:191 imageAtomicXor ( temp int) +0:191 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:191 i2: direct index for structure ( uniform 2-component vector of int) +0:191 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:191 Constant: 0:191 6 (const uint) -0:191 i1: direct index for structure (layout(offset=36 ) uniform int) -0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 i1: direct index for structure ( uniform int) +0:191 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:191 Constant: 0:191 5 (const uint) -0:194 imageAtomicAdd (temp uint) -0:194 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:194 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 imageAtomicAdd ( temp uint) +0:194 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:194 u2: direct index for structure ( uniform 2-component vector of uint) +0:194 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:194 Constant: 0:194 1 (const uint) -0:194 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 u1: direct index for structure ( uniform uint) +0:194 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:194 Constant: 0:194 0 (const uint) -0:195 move second child to first child (temp uint) -0:195 'out_u1' (temp uint) -0:195 imageAtomicAdd (temp uint) -0:195 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:195 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 move second child to first child ( temp uint) +0:195 'out_u1' ( temp uint) +0:195 imageAtomicAdd ( temp uint) +0:195 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:195 u2: direct index for structure ( uniform 2-component vector of uint) +0:195 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:195 Constant: 0:195 1 (const uint) -0:195 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 u1: direct index for structure ( uniform uint) +0:195 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:195 Constant: 0:195 0 (const uint) -0:196 imageAtomicAnd (temp uint) -0:196 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:196 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 imageAtomicAnd ( temp uint) +0:196 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:196 u2: direct index for structure ( uniform 2-component vector of uint) +0:196 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:196 Constant: 0:196 1 (const uint) -0:196 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 u1: direct index for structure ( uniform uint) +0:196 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:196 Constant: 0:196 0 (const uint) -0:197 move second child to first child (temp uint) -0:197 'out_u1' (temp uint) -0:197 imageAtomicAnd (temp uint) -0:197 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:197 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 move second child to first child ( temp uint) +0:197 'out_u1' ( temp uint) +0:197 imageAtomicAnd ( temp uint) +0:197 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:197 u2: direct index for structure ( uniform 2-component vector of uint) +0:197 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:197 Constant: 0:197 1 (const uint) -0:197 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 u1: direct index for structure ( uniform uint) +0:197 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:197 Constant: 0:197 0 (const uint) -0:198 move second child to first child (temp uint) -0:198 'out_u1' (temp uint) -0:198 imageAtomicCompSwap (temp uint) -0:198 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:198 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 move second child to first child ( temp uint) +0:198 'out_u1' ( temp uint) +0:198 imageAtomicCompSwap ( temp uint) +0:198 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:198 u2: direct index for structure ( uniform 2-component vector of uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 1 (const uint) -0:198 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 u1b: direct index for structure ( uniform uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 3 (const uint) -0:198 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 u1c: direct index for structure ( uniform uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 4 (const uint) -0:199 move second child to first child (temp uint) -0:199 'out_u1' (temp uint) -0:199 imageAtomicExchange (temp uint) -0:199 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:199 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 move second child to first child ( temp uint) +0:199 'out_u1' ( temp uint) +0:199 imageAtomicExchange ( temp uint) +0:199 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:199 u2: direct index for structure ( uniform 2-component vector of uint) +0:199 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:199 Constant: 0:199 1 (const uint) -0:199 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 u1: direct index for structure ( uniform uint) +0:199 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:199 Constant: 0:199 0 (const uint) -0:200 imageAtomicMax (temp uint) -0:200 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:200 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 imageAtomicMax ( temp uint) +0:200 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:200 u2: direct index for structure ( uniform 2-component vector of uint) +0:200 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:200 Constant: 0:200 1 (const uint) -0:200 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 u1: direct index for structure ( uniform uint) +0:200 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:200 Constant: 0:200 0 (const uint) -0:201 move second child to first child (temp uint) -0:201 'out_u1' (temp uint) -0:201 imageAtomicMax (temp uint) -0:201 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:201 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 move second child to first child ( temp uint) +0:201 'out_u1' ( temp uint) +0:201 imageAtomicMax ( temp uint) +0:201 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:201 u2: direct index for structure ( uniform 2-component vector of uint) +0:201 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:201 Constant: 0:201 1 (const uint) -0:201 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 u1: direct index for structure ( uniform uint) +0:201 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:201 Constant: 0:201 0 (const uint) -0:202 imageAtomicMin (temp uint) -0:202 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:202 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 imageAtomicMin ( temp uint) +0:202 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:202 u2: direct index for structure ( uniform 2-component vector of uint) +0:202 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:202 Constant: 0:202 1 (const uint) -0:202 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 u1: direct index for structure ( uniform uint) +0:202 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:202 Constant: 0:202 0 (const uint) -0:203 move second child to first child (temp uint) -0:203 'out_u1' (temp uint) -0:203 imageAtomicMin (temp uint) -0:203 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:203 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 move second child to first child ( temp uint) +0:203 'out_u1' ( temp uint) +0:203 imageAtomicMin ( temp uint) +0:203 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:203 u2: direct index for structure ( uniform 2-component vector of uint) +0:203 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:203 Constant: 0:203 1 (const uint) -0:203 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 u1: direct index for structure ( uniform uint) +0:203 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:203 Constant: 0:203 0 (const uint) -0:204 imageAtomicOr (temp uint) -0:204 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:204 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 imageAtomicOr ( temp uint) +0:204 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:204 u2: direct index for structure ( uniform 2-component vector of uint) +0:204 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:204 Constant: 0:204 1 (const uint) -0:204 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 u1: direct index for structure ( uniform uint) +0:204 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:204 Constant: 0:204 0 (const uint) -0:205 move second child to first child (temp uint) -0:205 'out_u1' (temp uint) -0:205 imageAtomicOr (temp uint) -0:205 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:205 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 move second child to first child ( temp uint) +0:205 'out_u1' ( temp uint) +0:205 imageAtomicOr ( temp uint) +0:205 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:205 u2: direct index for structure ( uniform 2-component vector of uint) +0:205 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:205 Constant: 0:205 1 (const uint) -0:205 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 u1: direct index for structure ( uniform uint) +0:205 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:205 Constant: 0:205 0 (const uint) -0:206 imageAtomicXor (temp uint) -0:206 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:206 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 imageAtomicXor ( temp uint) +0:206 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:206 u2: direct index for structure ( uniform 2-component vector of uint) +0:206 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:206 Constant: 0:206 1 (const uint) -0:206 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 u1: direct index for structure ( uniform uint) +0:206 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:206 Constant: 0:206 0 (const uint) -0:207 move second child to first child (temp uint) -0:207 'out_u1' (temp uint) -0:207 imageAtomicXor (temp uint) -0:207 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:207 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 move second child to first child ( temp uint) +0:207 'out_u1' ( temp uint) +0:207 imageAtomicXor ( temp uint) +0:207 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:207 u2: direct index for structure ( uniform 2-component vector of uint) +0:207 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:207 Constant: 0:207 1 (const uint) -0:207 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 u1: direct index for structure ( uniform uint) +0:207 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:207 Constant: 0:207 0 (const uint) -0:210 imageAtomicAdd (temp int) -0:210 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:210 i1: direct index for structure (layout(offset=36 ) uniform int) -0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 imageAtomicAdd ( temp int) +0:210 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:210 i1: direct index for structure ( uniform int) +0:210 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:210 Constant: 0:210 5 (const uint) -0:210 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 i1b: direct index for structure ( uniform int) +0:210 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:210 Constant: 0:210 8 (const uint) -0:211 move second child to first child (temp int) -0:211 'out_i1' (temp int) -0:211 imageAtomicAdd (temp int) -0:211 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:211 i1: direct index for structure (layout(offset=36 ) uniform int) -0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 move second child to first child ( temp int) +0:211 'out_i1' ( temp int) +0:211 imageAtomicAdd ( temp int) +0:211 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:211 i1: direct index for structure ( uniform int) +0:211 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:211 Constant: 0:211 5 (const uint) -0:211 i1: direct index for structure (layout(offset=36 ) uniform int) -0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 i1: direct index for structure ( uniform int) +0:211 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:211 Constant: 0:211 5 (const uint) -0:212 imageAtomicAnd (temp int) -0:212 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:212 i1: direct index for structure (layout(offset=36 ) uniform int) -0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 imageAtomicAnd ( temp int) +0:212 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:212 i1: direct index for structure ( uniform int) +0:212 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:212 Constant: 0:212 5 (const uint) -0:212 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 i1b: direct index for structure ( uniform int) +0:212 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:212 Constant: 0:212 8 (const uint) -0:213 move second child to first child (temp int) -0:213 'out_i1' (temp int) -0:213 imageAtomicAnd (temp int) -0:213 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:213 i1: direct index for structure (layout(offset=36 ) uniform int) -0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 move second child to first child ( temp int) +0:213 'out_i1' ( temp int) +0:213 imageAtomicAnd ( temp int) +0:213 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:213 i1: direct index for structure ( uniform int) +0:213 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:213 Constant: 0:213 5 (const uint) -0:213 i1: direct index for structure (layout(offset=36 ) uniform int) -0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 i1: direct index for structure ( uniform int) +0:213 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:213 Constant: 0:213 5 (const uint) -0:214 move second child to first child (temp int) -0:214 'out_i1' (temp int) -0:214 imageAtomicCompSwap (temp int) -0:214 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:214 i1: direct index for structure (layout(offset=36 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 move second child to first child ( temp int) +0:214 'out_i1' ( temp int) +0:214 imageAtomicCompSwap ( temp int) +0:214 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:214 i1: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 5 (const uint) -0:214 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 i1b: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 8 (const uint) -0:214 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 i1c: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 9 (const uint) -0:215 move second child to first child (temp int) -0:215 'out_i1' (temp int) -0:215 imageAtomicExchange (temp int) -0:215 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:215 i1: direct index for structure (layout(offset=36 ) uniform int) -0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 move second child to first child ( temp int) +0:215 'out_i1' ( temp int) +0:215 imageAtomicExchange ( temp int) +0:215 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:215 i1: direct index for structure ( uniform int) +0:215 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:215 Constant: 0:215 5 (const uint) -0:215 i1: direct index for structure (layout(offset=36 ) uniform int) -0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 i1: direct index for structure ( uniform int) +0:215 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:215 Constant: 0:215 5 (const uint) -0:216 imageAtomicMax (temp int) -0:216 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:216 i1: direct index for structure (layout(offset=36 ) uniform int) -0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 imageAtomicMax ( temp int) +0:216 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:216 i1: direct index for structure ( uniform int) +0:216 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:216 Constant: 0:216 5 (const uint) -0:216 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 i1b: direct index for structure ( uniform int) +0:216 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:216 Constant: 0:216 8 (const uint) -0:217 move second child to first child (temp int) -0:217 'out_i1' (temp int) -0:217 imageAtomicMax (temp int) -0:217 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:217 i1: direct index for structure (layout(offset=36 ) uniform int) -0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 move second child to first child ( temp int) +0:217 'out_i1' ( temp int) +0:217 imageAtomicMax ( temp int) +0:217 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:217 i1: direct index for structure ( uniform int) +0:217 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:217 Constant: 0:217 5 (const uint) -0:217 i1: direct index for structure (layout(offset=36 ) uniform int) -0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 i1: direct index for structure ( uniform int) +0:217 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:217 Constant: 0:217 5 (const uint) -0:218 imageAtomicMin (temp int) -0:218 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:218 i1: direct index for structure (layout(offset=36 ) uniform int) -0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 imageAtomicMin ( temp int) +0:218 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:218 i1: direct index for structure ( uniform int) +0:218 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:218 Constant: 0:218 5 (const uint) -0:218 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 i1b: direct index for structure ( uniform int) +0:218 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:218 Constant: 0:218 8 (const uint) -0:219 move second child to first child (temp int) -0:219 'out_i1' (temp int) -0:219 imageAtomicMin (temp int) -0:219 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:219 i1: direct index for structure (layout(offset=36 ) uniform int) -0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 move second child to first child ( temp int) +0:219 'out_i1' ( temp int) +0:219 imageAtomicMin ( temp int) +0:219 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:219 i1: direct index for structure ( uniform int) +0:219 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:219 Constant: 0:219 5 (const uint) -0:219 i1: direct index for structure (layout(offset=36 ) uniform int) -0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 i1: direct index for structure ( uniform int) +0:219 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:219 Constant: 0:219 5 (const uint) -0:220 imageAtomicOr (temp int) -0:220 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:220 i1: direct index for structure (layout(offset=36 ) uniform int) -0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 imageAtomicOr ( temp int) +0:220 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:220 i1: direct index for structure ( uniform int) +0:220 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:220 Constant: 0:220 5 (const uint) -0:220 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 i1b: direct index for structure ( uniform int) +0:220 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:220 Constant: 0:220 8 (const uint) -0:221 move second child to first child (temp int) -0:221 'out_i1' (temp int) -0:221 imageAtomicOr (temp int) -0:221 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:221 i1: direct index for structure (layout(offset=36 ) uniform int) -0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 move second child to first child ( temp int) +0:221 'out_i1' ( temp int) +0:221 imageAtomicOr ( temp int) +0:221 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:221 i1: direct index for structure ( uniform int) +0:221 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:221 Constant: 0:221 5 (const uint) -0:221 i1: direct index for structure (layout(offset=36 ) uniform int) -0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 i1: direct index for structure ( uniform int) +0:221 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:221 Constant: 0:221 5 (const uint) -0:222 imageAtomicXor (temp int) -0:222 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:222 i1: direct index for structure (layout(offset=36 ) uniform int) -0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 imageAtomicXor ( temp int) +0:222 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:222 i1: direct index for structure ( uniform int) +0:222 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:222 Constant: 0:222 5 (const uint) -0:222 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 i1b: direct index for structure ( uniform int) +0:222 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:222 Constant: 0:222 8 (const uint) -0:223 move second child to first child (temp int) -0:223 'out_i1' (temp int) -0:223 imageAtomicXor (temp int) -0:223 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:223 i1: direct index for structure (layout(offset=36 ) uniform int) -0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 move second child to first child ( temp int) +0:223 'out_i1' ( temp int) +0:223 imageAtomicXor ( temp int) +0:223 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:223 i1: direct index for structure ( uniform int) +0:223 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:223 Constant: 0:223 5 (const uint) -0:223 i1: direct index for structure (layout(offset=36 ) uniform int) -0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 i1: direct index for structure ( uniform int) +0:223 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:223 Constant: 0:223 5 (const uint) -0:226 imageAtomicAdd (temp uint) -0:226 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 imageAtomicAdd ( temp uint) +0:226 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:226 u1: direct index for structure ( uniform uint) +0:226 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:226 Constant: 0:226 0 (const uint) -0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 u1: direct index for structure ( uniform uint) +0:226 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:226 Constant: 0:226 0 (const uint) -0:227 move second child to first child (temp uint) -0:227 'out_u1' (temp uint) -0:227 imageAtomicAdd (temp uint) -0:227 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 move second child to first child ( temp uint) +0:227 'out_u1' ( temp uint) +0:227 imageAtomicAdd ( temp uint) +0:227 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:227 u1: direct index for structure ( uniform uint) +0:227 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:227 Constant: 0:227 0 (const uint) -0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 u1: direct index for structure ( uniform uint) +0:227 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:227 Constant: 0:227 0 (const uint) -0:228 imageAtomicAnd (temp uint) -0:228 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 imageAtomicAnd ( temp uint) +0:228 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:228 u1: direct index for structure ( uniform uint) +0:228 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:228 Constant: 0:228 0 (const uint) -0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 u1: direct index for structure ( uniform uint) +0:228 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:228 Constant: 0:228 0 (const uint) -0:229 move second child to first child (temp uint) -0:229 'out_u1' (temp uint) -0:229 imageAtomicAnd (temp uint) -0:229 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 move second child to first child ( temp uint) +0:229 'out_u1' ( temp uint) +0:229 imageAtomicAnd ( temp uint) +0:229 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:229 u1: direct index for structure ( uniform uint) +0:229 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:229 Constant: 0:229 0 (const uint) -0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 u1: direct index for structure ( uniform uint) +0:229 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:229 Constant: 0:229 0 (const uint) -0:230 move second child to first child (temp uint) -0:230 'out_u1' (temp uint) -0:230 imageAtomicCompSwap (temp uint) -0:230 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:230 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 move second child to first child ( temp uint) +0:230 'out_u1' ( temp uint) +0:230 imageAtomicCompSwap ( temp uint) +0:230 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:230 u1: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 0 (const uint) -0:230 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 u1b: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 3 (const uint) -0:230 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 u1c: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 4 (const uint) -0:231 move second child to first child (temp uint) -0:231 'out_u1' (temp uint) -0:231 imageAtomicExchange (temp uint) -0:231 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 move second child to first child ( temp uint) +0:231 'out_u1' ( temp uint) +0:231 imageAtomicExchange ( temp uint) +0:231 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:231 u1: direct index for structure ( uniform uint) +0:231 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:231 Constant: 0:231 0 (const uint) -0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 u1: direct index for structure ( uniform uint) +0:231 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:231 Constant: 0:231 0 (const uint) -0:232 imageAtomicMax (temp uint) -0:232 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 imageAtomicMax ( temp uint) +0:232 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:232 u1: direct index for structure ( uniform uint) +0:232 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:232 Constant: 0:232 0 (const uint) -0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 u1: direct index for structure ( uniform uint) +0:232 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:232 Constant: 0:232 0 (const uint) -0:233 move second child to first child (temp uint) -0:233 'out_u1' (temp uint) -0:233 imageAtomicMax (temp uint) -0:233 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 move second child to first child ( temp uint) +0:233 'out_u1' ( temp uint) +0:233 imageAtomicMax ( temp uint) +0:233 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:233 u1: direct index for structure ( uniform uint) +0:233 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:233 Constant: 0:233 0 (const uint) -0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 u1: direct index for structure ( uniform uint) +0:233 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:233 Constant: 0:233 0 (const uint) -0:234 imageAtomicMin (temp uint) -0:234 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 imageAtomicMin ( temp uint) +0:234 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:234 u1: direct index for structure ( uniform uint) +0:234 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:234 Constant: 0:234 0 (const uint) -0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 u1: direct index for structure ( uniform uint) +0:234 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:234 Constant: 0:234 0 (const uint) -0:235 move second child to first child (temp uint) -0:235 'out_u1' (temp uint) -0:235 imageAtomicMin (temp uint) -0:235 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 move second child to first child ( temp uint) +0:235 'out_u1' ( temp uint) +0:235 imageAtomicMin ( temp uint) +0:235 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:235 u1: direct index for structure ( uniform uint) +0:235 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:235 Constant: 0:235 0 (const uint) -0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 u1: direct index for structure ( uniform uint) +0:235 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:235 Constant: 0:235 0 (const uint) -0:236 imageAtomicOr (temp uint) -0:236 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 imageAtomicOr ( temp uint) +0:236 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:236 u1: direct index for structure ( uniform uint) +0:236 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:236 Constant: 0:236 0 (const uint) -0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 u1: direct index for structure ( uniform uint) +0:236 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:236 Constant: 0:236 0 (const uint) -0:237 move second child to first child (temp uint) -0:237 'out_u1' (temp uint) -0:237 imageAtomicOr (temp uint) -0:237 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 move second child to first child ( temp uint) +0:237 'out_u1' ( temp uint) +0:237 imageAtomicOr ( temp uint) +0:237 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:237 u1: direct index for structure ( uniform uint) +0:237 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:237 Constant: 0:237 0 (const uint) -0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 u1: direct index for structure ( uniform uint) +0:237 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:237 Constant: 0:237 0 (const uint) -0:238 imageAtomicXor (temp uint) -0:238 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 imageAtomicXor ( temp uint) +0:238 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:238 u1: direct index for structure ( uniform uint) +0:238 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:238 Constant: 0:238 0 (const uint) -0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 u1: direct index for structure ( uniform uint) +0:238 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:238 Constant: 0:238 0 (const uint) -0:239 move second child to first child (temp uint) -0:239 'out_u1' (temp uint) -0:239 imageAtomicXor (temp uint) -0:239 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 move second child to first child ( temp uint) +0:239 'out_u1' ( temp uint) +0:239 imageAtomicXor ( temp uint) +0:239 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:239 u1: direct index for structure ( uniform uint) +0:239 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:239 Constant: 0:239 0 (const uint) -0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 u1: direct index for structure ( uniform uint) +0:239 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:239 Constant: 0:239 0 (const uint) -0:242 move second child to first child (temp 4-component vector of float) -0:242 Color: direct index for structure (temp 4-component vector of float) -0:242 'psout' (temp structure{temp 4-component vector of float Color}) +0:242 move second child to first child ( temp 4-component vector of float) +0:242 Color: direct index for structure ( temp 4-component vector of float) +0:242 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:242 Constant: 0:242 0 (const int) 0:242 Constant: @@ -1935,37 +1935,40 @@ gl_FragCoord origin is upper left 0:242 1.000000 0:242 1.000000 0:242 1.000000 -0:243 Sequence -0:243 Sequence -0:243 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:243 Color: direct index for structure (temp 4-component vector of float) -0:243 'psout' (temp structure{temp 4-component vector of float Color}) -0:243 Constant: -0:243 0 (const int) -0:243 Branch: Return +0:243 Branch: Return with expression +0:243 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (uniform sampler) -0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) -0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) -0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) -0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:? 'g_sSamp' ( uniform sampler) +0:? 'g_tTex1df1' (layout( r32f) uniform image1D) +0:? 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:? 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:? 'g_tTex2df1' (layout( r32f) uniform image2D) +0:? 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:? 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:? 'g_tTex3df1' (layout( r32f) uniform image3D) +0:? 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:? 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:? 'g_tTex1df1a' (layout( r32f) uniform image1DArray) +0:? 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout( r32f) uniform image2DArray) +0:? 'g_tTex2di1a' (layout( r32i) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray) +0:? 'g_tBuffF' (layout( r32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -1974,1932 +1977,1932 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence -0:50 imageAtomicAdd (temp int) -0:50 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:50 i1: direct index for structure (layout(offset=36 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 imageAtomicAdd ( temp int) +0:50 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:50 i1: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:50 Constant: 0:50 5 (const uint) -0:50 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 i1b: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:50 Constant: 0:50 8 (const uint) -0:51 move second child to first child (temp int) -0:51 'out_i1' (temp int) -0:51 imageAtomicAdd (temp int) -0:51 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:51 i1: direct index for structure (layout(offset=36 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 move second child to first child ( temp int) +0:51 'out_i1' ( temp int) +0:51 imageAtomicAdd ( temp int) +0:51 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:51 i1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:51 Constant: 0:51 5 (const uint) -0:51 i1: direct index for structure (layout(offset=36 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 i1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:51 Constant: 0:51 5 (const uint) -0:52 imageAtomicAnd (temp int) -0:52 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:52 i1: direct index for structure (layout(offset=36 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 imageAtomicAnd ( temp int) +0:52 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:52 i1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:52 Constant: 0:52 5 (const uint) -0:52 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 i1b: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:52 Constant: 0:52 8 (const uint) -0:53 move second child to first child (temp int) -0:53 'out_i1' (temp int) -0:53 imageAtomicAnd (temp int) -0:53 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:53 i1: direct index for structure (layout(offset=36 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 move second child to first child ( temp int) +0:53 'out_i1' ( temp int) +0:53 imageAtomicAnd ( temp int) +0:53 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:53 i1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:53 Constant: 0:53 5 (const uint) -0:53 i1: direct index for structure (layout(offset=36 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 i1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:53 Constant: 0:53 5 (const uint) -0:54 move second child to first child (temp int) -0:54 'out_i1' (temp int) -0:54 imageAtomicCompSwap (temp int) -0:54 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:54 i1: direct index for structure (layout(offset=36 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 move second child to first child ( temp int) +0:54 'out_i1' ( temp int) +0:54 imageAtomicCompSwap ( temp int) +0:54 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:54 i1: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 5 (const uint) -0:54 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 i1b: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 8 (const uint) -0:54 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 i1c: direct index for structure ( uniform int) +0:54 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:54 Constant: 0:54 9 (const uint) -0:55 move second child to first child (temp int) -0:55 'out_i1' (temp int) -0:55 imageAtomicExchange (temp int) -0:55 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:55 i1: direct index for structure (layout(offset=36 ) uniform int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 move second child to first child ( temp int) +0:55 'out_i1' ( temp int) +0:55 imageAtomicExchange ( temp int) +0:55 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:55 i1: direct index for structure ( uniform int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:55 Constant: 0:55 5 (const uint) -0:55 i1: direct index for structure (layout(offset=36 ) uniform int) -0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 i1: direct index for structure ( uniform int) +0:55 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:55 Constant: 0:55 5 (const uint) -0:56 imageAtomicMax (temp int) -0:56 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:56 i1: direct index for structure (layout(offset=36 ) uniform int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 imageAtomicMax ( temp int) +0:56 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:56 i1: direct index for structure ( uniform int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:56 Constant: 0:56 5 (const uint) -0:56 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 i1b: direct index for structure ( uniform int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:56 Constant: 0:56 8 (const uint) -0:57 move second child to first child (temp int) -0:57 'out_i1' (temp int) -0:57 imageAtomicMax (temp int) -0:57 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:57 i1: direct index for structure (layout(offset=36 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 move second child to first child ( temp int) +0:57 'out_i1' ( temp int) +0:57 imageAtomicMax ( temp int) +0:57 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:57 i1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:57 Constant: 0:57 5 (const uint) -0:57 i1: direct index for structure (layout(offset=36 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 i1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:57 Constant: 0:57 5 (const uint) -0:58 imageAtomicMin (temp int) -0:58 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:58 i1: direct index for structure (layout(offset=36 ) uniform int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 imageAtomicMin ( temp int) +0:58 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:58 i1: direct index for structure ( uniform int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:58 Constant: 0:58 5 (const uint) -0:58 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 i1b: direct index for structure ( uniform int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:58 Constant: 0:58 8 (const uint) -0:59 move second child to first child (temp int) -0:59 'out_i1' (temp int) -0:59 imageAtomicMin (temp int) -0:59 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:59 i1: direct index for structure (layout(offset=36 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 move second child to first child ( temp int) +0:59 'out_i1' ( temp int) +0:59 imageAtomicMin ( temp int) +0:59 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:59 i1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:59 Constant: 0:59 5 (const uint) -0:59 i1: direct index for structure (layout(offset=36 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 i1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:59 Constant: 0:59 5 (const uint) -0:60 imageAtomicOr (temp int) -0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:60 i1: direct index for structure (layout(offset=36 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 imageAtomicOr ( temp int) +0:60 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:60 i1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:60 Constant: 0:60 5 (const uint) -0:60 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 i1b: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:60 Constant: 0:60 8 (const uint) -0:61 move second child to first child (temp int) -0:61 'out_i1' (temp int) -0:61 imageAtomicOr (temp int) -0:61 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:61 i1: direct index for structure (layout(offset=36 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 move second child to first child ( temp int) +0:61 'out_i1' ( temp int) +0:61 imageAtomicOr ( temp int) +0:61 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:61 i1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:61 Constant: 0:61 5 (const uint) -0:61 i1: direct index for structure (layout(offset=36 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 i1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:61 Constant: 0:61 5 (const uint) -0:62 imageAtomicXor (temp int) -0:62 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:62 i1: direct index for structure (layout(offset=36 ) uniform int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 imageAtomicXor ( temp int) +0:62 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:62 i1: direct index for structure ( uniform int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:62 Constant: 0:62 5 (const uint) -0:62 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 i1b: direct index for structure ( uniform int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:62 Constant: 0:62 8 (const uint) -0:63 move second child to first child (temp int) -0:63 'out_i1' (temp int) -0:63 imageAtomicXor (temp int) -0:63 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:63 i1: direct index for structure (layout(offset=36 ) uniform int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 move second child to first child ( temp int) +0:63 'out_i1' ( temp int) +0:63 imageAtomicXor ( temp int) +0:63 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:63 i1: direct index for structure ( uniform int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:63 Constant: 0:63 5 (const uint) -0:63 i1: direct index for structure (layout(offset=36 ) uniform int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 i1: direct index for structure ( uniform int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:63 Constant: 0:63 5 (const uint) -0:66 imageAtomicAdd (temp uint) -0:66 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 imageAtomicAdd ( temp uint) +0:66 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:66 u1: direct index for structure ( uniform uint) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:66 Constant: 0:66 0 (const uint) -0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 u1: direct index for structure ( uniform uint) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:66 Constant: 0:66 0 (const uint) -0:67 move second child to first child (temp uint) -0:67 'out_u1' (temp uint) -0:67 imageAtomicAdd (temp uint) -0:67 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 move second child to first child ( temp uint) +0:67 'out_u1' ( temp uint) +0:67 imageAtomicAdd ( temp uint) +0:67 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:67 u1: direct index for structure ( uniform uint) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:67 Constant: 0:67 0 (const uint) -0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 u1: direct index for structure ( uniform uint) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:67 Constant: 0:67 0 (const uint) -0:68 imageAtomicAnd (temp uint) -0:68 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 imageAtomicAnd ( temp uint) +0:68 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:68 u1: direct index for structure ( uniform uint) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:68 Constant: 0:68 0 (const uint) -0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 u1: direct index for structure ( uniform uint) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:68 Constant: 0:68 0 (const uint) -0:69 move second child to first child (temp uint) -0:69 'out_u1' (temp uint) -0:69 imageAtomicAnd (temp uint) -0:69 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 move second child to first child ( temp uint) +0:69 'out_u1' ( temp uint) +0:69 imageAtomicAnd ( temp uint) +0:69 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:69 u1: direct index for structure ( uniform uint) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:69 Constant: 0:69 0 (const uint) -0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 u1: direct index for structure ( uniform uint) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:69 Constant: 0:69 0 (const uint) -0:70 move second child to first child (temp uint) -0:70 'out_u1' (temp uint) -0:70 imageAtomicCompSwap (temp uint) -0:70 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:70 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 move second child to first child ( temp uint) +0:70 'out_u1' ( temp uint) +0:70 imageAtomicCompSwap ( temp uint) +0:70 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:70 u1: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 0 (const uint) -0:70 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 u1b: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 3 (const uint) -0:70 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 u1c: direct index for structure ( uniform uint) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:70 Constant: 0:70 4 (const uint) -0:71 move second child to first child (temp uint) -0:71 'out_u1' (temp uint) -0:71 imageAtomicExchange (temp uint) -0:71 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 move second child to first child ( temp uint) +0:71 'out_u1' ( temp uint) +0:71 imageAtomicExchange ( temp uint) +0:71 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:71 u1: direct index for structure ( uniform uint) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:71 Constant: 0:71 0 (const uint) -0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 u1: direct index for structure ( uniform uint) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:71 Constant: 0:71 0 (const uint) -0:72 imageAtomicMax (temp uint) -0:72 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 imageAtomicMax ( temp uint) +0:72 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:72 u1: direct index for structure ( uniform uint) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:72 Constant: 0:72 0 (const uint) -0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 u1: direct index for structure ( uniform uint) +0:72 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:72 Constant: 0:72 0 (const uint) -0:73 move second child to first child (temp uint) -0:73 'out_u1' (temp uint) -0:73 imageAtomicMax (temp uint) -0:73 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 move second child to first child ( temp uint) +0:73 'out_u1' ( temp uint) +0:73 imageAtomicMax ( temp uint) +0:73 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:73 u1: direct index for structure ( uniform uint) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:73 Constant: 0:73 0 (const uint) -0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 u1: direct index for structure ( uniform uint) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:73 Constant: 0:73 0 (const uint) -0:74 imageAtomicMin (temp uint) -0:74 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 imageAtomicMin ( temp uint) +0:74 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:74 u1: direct index for structure ( uniform uint) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:74 Constant: 0:74 0 (const uint) -0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 u1: direct index for structure ( uniform uint) +0:74 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:74 Constant: 0:74 0 (const uint) -0:75 move second child to first child (temp uint) -0:75 'out_u1' (temp uint) -0:75 imageAtomicMin (temp uint) -0:75 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 move second child to first child ( temp uint) +0:75 'out_u1' ( temp uint) +0:75 imageAtomicMin ( temp uint) +0:75 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:75 u1: direct index for structure ( uniform uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:75 Constant: 0:75 0 (const uint) -0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 u1: direct index for structure ( uniform uint) +0:75 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:75 Constant: 0:75 0 (const uint) -0:76 imageAtomicOr (temp uint) -0:76 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 imageAtomicOr ( temp uint) +0:76 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:76 u1: direct index for structure ( uniform uint) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:76 Constant: 0:76 0 (const uint) -0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 u1: direct index for structure ( uniform uint) +0:76 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:76 Constant: 0:76 0 (const uint) -0:77 move second child to first child (temp uint) -0:77 'out_u1' (temp uint) -0:77 imageAtomicOr (temp uint) -0:77 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 move second child to first child ( temp uint) +0:77 'out_u1' ( temp uint) +0:77 imageAtomicOr ( temp uint) +0:77 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:77 u1: direct index for structure ( uniform uint) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:77 Constant: 0:77 0 (const uint) -0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 u1: direct index for structure ( uniform uint) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:77 Constant: 0:77 0 (const uint) -0:78 imageAtomicXor (temp uint) -0:78 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 imageAtomicXor ( temp uint) +0:78 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:78 u1: direct index for structure ( uniform uint) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:78 Constant: 0:78 0 (const uint) -0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 u1: direct index for structure ( uniform uint) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:78 Constant: 0:78 0 (const uint) -0:79 move second child to first child (temp uint) -0:79 'out_u1' (temp uint) -0:79 imageAtomicXor (temp uint) -0:79 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 move second child to first child ( temp uint) +0:79 'out_u1' ( temp uint) +0:79 imageAtomicXor ( temp uint) +0:79 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:79 u1: direct index for structure ( uniform uint) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:79 Constant: 0:79 0 (const uint) -0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 u1: direct index for structure ( uniform uint) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:79 Constant: 0:79 0 (const uint) -0:82 imageAtomicAdd (temp int) -0:82 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:82 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 imageAtomicAdd ( temp int) +0:82 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:82 i2: direct index for structure ( uniform 2-component vector of int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:82 Constant: 0:82 6 (const uint) -0:82 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 i1b: direct index for structure ( uniform int) +0:82 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:82 Constant: 0:82 8 (const uint) -0:83 move second child to first child (temp int) -0:83 'out_i1' (temp int) -0:83 imageAtomicAdd (temp int) -0:83 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:83 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 move second child to first child ( temp int) +0:83 'out_i1' ( temp int) +0:83 imageAtomicAdd ( temp int) +0:83 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:83 i2: direct index for structure ( uniform 2-component vector of int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:83 Constant: 0:83 6 (const uint) -0:83 i1: direct index for structure (layout(offset=36 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 i1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:83 Constant: 0:83 5 (const uint) -0:84 imageAtomicAnd (temp int) -0:84 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:84 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 imageAtomicAnd ( temp int) +0:84 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:84 i2: direct index for structure ( uniform 2-component vector of int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:84 Constant: 0:84 6 (const uint) -0:84 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 i1b: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:84 Constant: 0:84 8 (const uint) -0:85 move second child to first child (temp int) -0:85 'out_i1' (temp int) -0:85 imageAtomicAnd (temp int) -0:85 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:85 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 move second child to first child ( temp int) +0:85 'out_i1' ( temp int) +0:85 imageAtomicAnd ( temp int) +0:85 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:85 i2: direct index for structure ( uniform 2-component vector of int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:85 Constant: 0:85 6 (const uint) -0:85 i1: direct index for structure (layout(offset=36 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 i1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:85 Constant: 0:85 5 (const uint) -0:86 move second child to first child (temp int) -0:86 'out_i1' (temp int) -0:86 imageAtomicCompSwap (temp int) -0:86 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:86 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 move second child to first child ( temp int) +0:86 'out_i1' ( temp int) +0:86 imageAtomicCompSwap ( temp int) +0:86 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:86 i2: direct index for structure ( uniform 2-component vector of int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 6 (const uint) -0:86 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 i1b: direct index for structure ( uniform int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 8 (const uint) -0:86 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 i1c: direct index for structure ( uniform int) +0:86 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:86 Constant: 0:86 9 (const uint) -0:87 move second child to first child (temp int) -0:87 'out_i1' (temp int) -0:87 imageAtomicExchange (temp int) -0:87 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:87 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 move second child to first child ( temp int) +0:87 'out_i1' ( temp int) +0:87 imageAtomicExchange ( temp int) +0:87 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:87 i2: direct index for structure ( uniform 2-component vector of int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:87 Constant: 0:87 6 (const uint) -0:87 i1: direct index for structure (layout(offset=36 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 i1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:87 Constant: 0:87 5 (const uint) -0:88 imageAtomicMax (temp int) -0:88 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:88 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 imageAtomicMax ( temp int) +0:88 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:88 i2: direct index for structure ( uniform 2-component vector of int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:88 Constant: 0:88 6 (const uint) -0:88 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 i1b: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:88 Constant: 0:88 8 (const uint) -0:89 move second child to first child (temp int) -0:89 'out_i1' (temp int) -0:89 imageAtomicMax (temp int) -0:89 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:89 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 move second child to first child ( temp int) +0:89 'out_i1' ( temp int) +0:89 imageAtomicMax ( temp int) +0:89 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:89 i2: direct index for structure ( uniform 2-component vector of int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:89 Constant: 0:89 6 (const uint) -0:89 i1: direct index for structure (layout(offset=36 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 i1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:89 Constant: 0:89 5 (const uint) -0:90 imageAtomicMin (temp int) -0:90 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:90 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 imageAtomicMin ( temp int) +0:90 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:90 i2: direct index for structure ( uniform 2-component vector of int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:90 Constant: 0:90 6 (const uint) -0:90 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 i1b: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:90 Constant: 0:90 8 (const uint) -0:91 move second child to first child (temp int) -0:91 'out_i1' (temp int) -0:91 imageAtomicMin (temp int) -0:91 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:91 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 move second child to first child ( temp int) +0:91 'out_i1' ( temp int) +0:91 imageAtomicMin ( temp int) +0:91 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:91 i2: direct index for structure ( uniform 2-component vector of int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:91 Constant: 0:91 6 (const uint) -0:91 i1: direct index for structure (layout(offset=36 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 i1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:91 Constant: 0:91 5 (const uint) -0:92 imageAtomicOr (temp int) -0:92 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:92 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 imageAtomicOr ( temp int) +0:92 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:92 i2: direct index for structure ( uniform 2-component vector of int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:92 Constant: 0:92 6 (const uint) -0:92 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 i1b: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:92 Constant: 0:92 8 (const uint) -0:93 move second child to first child (temp int) -0:93 'out_i1' (temp int) -0:93 imageAtomicOr (temp int) -0:93 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:93 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 move second child to first child ( temp int) +0:93 'out_i1' ( temp int) +0:93 imageAtomicOr ( temp int) +0:93 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:93 i2: direct index for structure ( uniform 2-component vector of int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:93 Constant: 0:93 6 (const uint) -0:93 i1: direct index for structure (layout(offset=36 ) uniform int) -0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 i1: direct index for structure ( uniform int) +0:93 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:93 Constant: 0:93 5 (const uint) -0:94 imageAtomicXor (temp int) -0:94 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:94 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 imageAtomicXor ( temp int) +0:94 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:94 i2: direct index for structure ( uniform 2-component vector of int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:94 Constant: 0:94 6 (const uint) -0:94 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 i1b: direct index for structure ( uniform int) +0:94 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:94 Constant: 0:94 8 (const uint) -0:95 move second child to first child (temp int) -0:95 'out_i1' (temp int) -0:95 imageAtomicXor (temp int) -0:95 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:95 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 move second child to first child ( temp int) +0:95 'out_i1' ( temp int) +0:95 imageAtomicXor ( temp int) +0:95 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:95 i2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:95 Constant: 0:95 6 (const uint) -0:95 i1: direct index for structure (layout(offset=36 ) uniform int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 i1: direct index for structure ( uniform int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:95 Constant: 0:95 5 (const uint) -0:98 imageAtomicAdd (temp uint) -0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:98 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 imageAtomicAdd ( temp uint) +0:98 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:98 u2: direct index for structure ( uniform 2-component vector of uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:98 Constant: 0:98 1 (const uint) -0:98 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 u1: direct index for structure ( uniform uint) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:98 Constant: 0:98 0 (const uint) -0:99 move second child to first child (temp uint) -0:99 'out_u1' (temp uint) -0:99 imageAtomicAdd (temp uint) -0:99 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:99 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 move second child to first child ( temp uint) +0:99 'out_u1' ( temp uint) +0:99 imageAtomicAdd ( temp uint) +0:99 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:99 u2: direct index for structure ( uniform 2-component vector of uint) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:99 Constant: 0:99 1 (const uint) -0:99 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 u1: direct index for structure ( uniform uint) +0:99 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:99 Constant: 0:99 0 (const uint) -0:100 imageAtomicAnd (temp uint) -0:100 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:100 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 imageAtomicAnd ( temp uint) +0:100 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:100 u2: direct index for structure ( uniform 2-component vector of uint) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:100 Constant: 0:100 1 (const uint) -0:100 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 u1: direct index for structure ( uniform uint) +0:100 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:100 Constant: 0:100 0 (const uint) -0:101 move second child to first child (temp uint) -0:101 'out_u1' (temp uint) -0:101 imageAtomicAnd (temp uint) -0:101 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:101 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 move second child to first child ( temp uint) +0:101 'out_u1' ( temp uint) +0:101 imageAtomicAnd ( temp uint) +0:101 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:101 u2: direct index for structure ( uniform 2-component vector of uint) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:101 Constant: 0:101 1 (const uint) -0:101 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 u1: direct index for structure ( uniform uint) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:101 Constant: 0:101 0 (const uint) -0:102 move second child to first child (temp uint) -0:102 'out_u1' (temp uint) -0:102 imageAtomicCompSwap (temp uint) -0:102 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:102 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 move second child to first child ( temp uint) +0:102 'out_u1' ( temp uint) +0:102 imageAtomicCompSwap ( temp uint) +0:102 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:102 u2: direct index for structure ( uniform 2-component vector of uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 1 (const uint) -0:102 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 u1b: direct index for structure ( uniform uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 3 (const uint) -0:102 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 u1c: direct index for structure ( uniform uint) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:102 Constant: 0:102 4 (const uint) -0:103 move second child to first child (temp uint) -0:103 'out_u1' (temp uint) -0:103 imageAtomicExchange (temp uint) -0:103 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:103 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 move second child to first child ( temp uint) +0:103 'out_u1' ( temp uint) +0:103 imageAtomicExchange ( temp uint) +0:103 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:103 u2: direct index for structure ( uniform 2-component vector of uint) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:103 Constant: 0:103 1 (const uint) -0:103 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 u1: direct index for structure ( uniform uint) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:103 Constant: 0:103 0 (const uint) -0:104 imageAtomicMax (temp uint) -0:104 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:104 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 imageAtomicMax ( temp uint) +0:104 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:104 u2: direct index for structure ( uniform 2-component vector of uint) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:104 Constant: 0:104 1 (const uint) -0:104 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 u1: direct index for structure ( uniform uint) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:104 Constant: 0:104 0 (const uint) -0:105 move second child to first child (temp uint) -0:105 'out_u1' (temp uint) -0:105 imageAtomicMax (temp uint) -0:105 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:105 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 move second child to first child ( temp uint) +0:105 'out_u1' ( temp uint) +0:105 imageAtomicMax ( temp uint) +0:105 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:105 u2: direct index for structure ( uniform 2-component vector of uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:105 Constant: 0:105 1 (const uint) -0:105 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 u1: direct index for structure ( uniform uint) +0:105 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:105 Constant: 0:105 0 (const uint) -0:106 imageAtomicMin (temp uint) -0:106 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:106 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 imageAtomicMin ( temp uint) +0:106 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:106 u2: direct index for structure ( uniform 2-component vector of uint) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:106 Constant: 0:106 1 (const uint) -0:106 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 u1: direct index for structure ( uniform uint) +0:106 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:106 Constant: 0:106 0 (const uint) -0:107 move second child to first child (temp uint) -0:107 'out_u1' (temp uint) -0:107 imageAtomicMin (temp uint) -0:107 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:107 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 move second child to first child ( temp uint) +0:107 'out_u1' ( temp uint) +0:107 imageAtomicMin ( temp uint) +0:107 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:107 u2: direct index for structure ( uniform 2-component vector of uint) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:107 Constant: 0:107 1 (const uint) -0:107 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 u1: direct index for structure ( uniform uint) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:107 Constant: 0:107 0 (const uint) -0:108 imageAtomicOr (temp uint) -0:108 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:108 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 imageAtomicOr ( temp uint) +0:108 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:108 u2: direct index for structure ( uniform 2-component vector of uint) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:108 Constant: 0:108 1 (const uint) -0:108 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 u1: direct index for structure ( uniform uint) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:108 Constant: 0:108 0 (const uint) -0:109 move second child to first child (temp uint) -0:109 'out_u1' (temp uint) -0:109 imageAtomicOr (temp uint) -0:109 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:109 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 move second child to first child ( temp uint) +0:109 'out_u1' ( temp uint) +0:109 imageAtomicOr ( temp uint) +0:109 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:109 u2: direct index for structure ( uniform 2-component vector of uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:109 Constant: 0:109 1 (const uint) -0:109 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 u1: direct index for structure ( uniform uint) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:109 Constant: 0:109 0 (const uint) -0:110 imageAtomicXor (temp uint) -0:110 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:110 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 imageAtomicXor ( temp uint) +0:110 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:110 u2: direct index for structure ( uniform 2-component vector of uint) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:110 Constant: 0:110 1 (const uint) -0:110 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 u1: direct index for structure ( uniform uint) +0:110 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:110 Constant: 0:110 0 (const uint) -0:111 move second child to first child (temp uint) -0:111 'out_u1' (temp uint) -0:111 imageAtomicXor (temp uint) -0:111 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:111 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 move second child to first child ( temp uint) +0:111 'out_u1' ( temp uint) +0:111 imageAtomicXor ( temp uint) +0:111 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:111 u2: direct index for structure ( uniform 2-component vector of uint) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:111 Constant: 0:111 1 (const uint) -0:111 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 u1: direct index for structure ( uniform uint) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:111 Constant: 0:111 0 (const uint) -0:114 imageAtomicAdd (temp int) -0:114 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:114 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 imageAtomicAdd ( temp int) +0:114 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:114 i3: direct index for structure ( uniform 3-component vector of int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:114 Constant: 0:114 7 (const uint) -0:114 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 i1b: direct index for structure ( uniform int) +0:114 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:114 Constant: 0:114 8 (const uint) -0:115 move second child to first child (temp int) -0:115 'out_i1' (temp int) -0:115 imageAtomicAdd (temp int) -0:115 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:115 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 move second child to first child ( temp int) +0:115 'out_i1' ( temp int) +0:115 imageAtomicAdd ( temp int) +0:115 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:115 i3: direct index for structure ( uniform 3-component vector of int) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:115 Constant: 0:115 7 (const uint) -0:115 i1: direct index for structure (layout(offset=36 ) uniform int) -0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 i1: direct index for structure ( uniform int) +0:115 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:115 Constant: 0:115 5 (const uint) -0:116 imageAtomicAnd (temp int) -0:116 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:116 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 imageAtomicAnd ( temp int) +0:116 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:116 i3: direct index for structure ( uniform 3-component vector of int) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:116 Constant: 0:116 7 (const uint) -0:116 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 i1b: direct index for structure ( uniform int) +0:116 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:116 Constant: 0:116 8 (const uint) -0:117 move second child to first child (temp int) -0:117 'out_i1' (temp int) -0:117 imageAtomicAnd (temp int) -0:117 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:117 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 move second child to first child ( temp int) +0:117 'out_i1' ( temp int) +0:117 imageAtomicAnd ( temp int) +0:117 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:117 i3: direct index for structure ( uniform 3-component vector of int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:117 Constant: 0:117 7 (const uint) -0:117 i1: direct index for structure (layout(offset=36 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 i1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:117 Constant: 0:117 5 (const uint) -0:118 move second child to first child (temp int) -0:118 'out_i1' (temp int) -0:118 imageAtomicCompSwap (temp int) -0:118 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:118 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 move second child to first child ( temp int) +0:118 'out_i1' ( temp int) +0:118 imageAtomicCompSwap ( temp int) +0:118 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:118 i3: direct index for structure ( uniform 3-component vector of int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 7 (const uint) -0:118 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 i1b: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 8 (const uint) -0:118 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 i1c: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:118 Constant: 0:118 9 (const uint) -0:119 move second child to first child (temp int) -0:119 'out_i1' (temp int) -0:119 imageAtomicExchange (temp int) -0:119 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:119 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 move second child to first child ( temp int) +0:119 'out_i1' ( temp int) +0:119 imageAtomicExchange ( temp int) +0:119 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:119 i3: direct index for structure ( uniform 3-component vector of int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:119 Constant: 0:119 7 (const uint) -0:119 i1: direct index for structure (layout(offset=36 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 i1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:119 Constant: 0:119 5 (const uint) -0:120 imageAtomicMax (temp int) -0:120 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:120 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 imageAtomicMax ( temp int) +0:120 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:120 i3: direct index for structure ( uniform 3-component vector of int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:120 Constant: 0:120 7 (const uint) -0:120 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 i1b: direct index for structure ( uniform int) +0:120 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:120 Constant: 0:120 8 (const uint) -0:121 move second child to first child (temp int) -0:121 'out_i1' (temp int) -0:121 imageAtomicMax (temp int) -0:121 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:121 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 move second child to first child ( temp int) +0:121 'out_i1' ( temp int) +0:121 imageAtomicMax ( temp int) +0:121 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:121 i3: direct index for structure ( uniform 3-component vector of int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:121 Constant: 0:121 7 (const uint) -0:121 i1: direct index for structure (layout(offset=36 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 i1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:121 Constant: 0:121 5 (const uint) -0:122 imageAtomicMin (temp int) -0:122 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:122 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 imageAtomicMin ( temp int) +0:122 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:122 i3: direct index for structure ( uniform 3-component vector of int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:122 Constant: 0:122 7 (const uint) -0:122 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 i1b: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:122 Constant: 0:122 8 (const uint) -0:123 move second child to first child (temp int) -0:123 'out_i1' (temp int) -0:123 imageAtomicMin (temp int) -0:123 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:123 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 move second child to first child ( temp int) +0:123 'out_i1' ( temp int) +0:123 imageAtomicMin ( temp int) +0:123 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:123 i3: direct index for structure ( uniform 3-component vector of int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:123 Constant: 0:123 7 (const uint) -0:123 i1: direct index for structure (layout(offset=36 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 i1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:123 Constant: 0:123 5 (const uint) -0:124 imageAtomicOr (temp int) -0:124 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:124 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 imageAtomicOr ( temp int) +0:124 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:124 i3: direct index for structure ( uniform 3-component vector of int) +0:124 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:124 Constant: 0:124 7 (const uint) -0:124 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 i1b: direct index for structure ( uniform int) +0:124 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:124 Constant: 0:124 8 (const uint) -0:125 move second child to first child (temp int) -0:125 'out_i1' (temp int) -0:125 imageAtomicOr (temp int) -0:125 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:125 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 move second child to first child ( temp int) +0:125 'out_i1' ( temp int) +0:125 imageAtomicOr ( temp int) +0:125 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:125 i3: direct index for structure ( uniform 3-component vector of int) +0:125 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:125 Constant: 0:125 7 (const uint) -0:125 i1: direct index for structure (layout(offset=36 ) uniform int) -0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 i1: direct index for structure ( uniform int) +0:125 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:125 Constant: 0:125 5 (const uint) -0:126 imageAtomicXor (temp int) -0:126 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:126 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 imageAtomicXor ( temp int) +0:126 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:126 i3: direct index for structure ( uniform 3-component vector of int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:126 Constant: 0:126 7 (const uint) -0:126 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 i1b: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:126 Constant: 0:126 8 (const uint) -0:127 move second child to first child (temp int) -0:127 'out_i1' (temp int) -0:127 imageAtomicXor (temp int) -0:127 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:127 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 move second child to first child ( temp int) +0:127 'out_i1' ( temp int) +0:127 imageAtomicXor ( temp int) +0:127 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:127 i3: direct index for structure ( uniform 3-component vector of int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:127 Constant: 0:127 7 (const uint) -0:127 i1: direct index for structure (layout(offset=36 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 i1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:127 Constant: 0:127 5 (const uint) -0:130 imageAtomicAdd (temp uint) -0:130 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:130 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 imageAtomicAdd ( temp uint) +0:130 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:130 u3: direct index for structure ( uniform 3-component vector of uint) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:130 Constant: 0:130 2 (const uint) -0:130 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 u1: direct index for structure ( uniform uint) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:130 Constant: 0:130 0 (const uint) -0:131 move second child to first child (temp uint) -0:131 'out_u1' (temp uint) -0:131 imageAtomicAdd (temp uint) -0:131 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:131 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 move second child to first child ( temp uint) +0:131 'out_u1' ( temp uint) +0:131 imageAtomicAdd ( temp uint) +0:131 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:131 u3: direct index for structure ( uniform 3-component vector of uint) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:131 Constant: 0:131 2 (const uint) -0:131 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 u1: direct index for structure ( uniform uint) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:131 Constant: 0:131 0 (const uint) -0:132 imageAtomicAnd (temp uint) -0:132 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:132 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 imageAtomicAnd ( temp uint) +0:132 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:132 u3: direct index for structure ( uniform 3-component vector of uint) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:132 Constant: 0:132 2 (const uint) -0:132 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 u1: direct index for structure ( uniform uint) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:132 Constant: 0:132 0 (const uint) -0:133 move second child to first child (temp uint) -0:133 'out_u1' (temp uint) -0:133 imageAtomicAnd (temp uint) -0:133 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:133 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 move second child to first child ( temp uint) +0:133 'out_u1' ( temp uint) +0:133 imageAtomicAnd ( temp uint) +0:133 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:133 u3: direct index for structure ( uniform 3-component vector of uint) +0:133 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:133 Constant: 0:133 2 (const uint) -0:133 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 u1: direct index for structure ( uniform uint) +0:133 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:133 Constant: 0:133 0 (const uint) -0:134 move second child to first child (temp uint) -0:134 'out_u1' (temp uint) -0:134 imageAtomicCompSwap (temp uint) -0:134 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:134 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 move second child to first child ( temp uint) +0:134 'out_u1' ( temp uint) +0:134 imageAtomicCompSwap ( temp uint) +0:134 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:134 u3: direct index for structure ( uniform 3-component vector of uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 2 (const uint) -0:134 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 u1b: direct index for structure ( uniform uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 3 (const uint) -0:134 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 u1c: direct index for structure ( uniform uint) +0:134 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:134 Constant: 0:134 4 (const uint) -0:135 move second child to first child (temp uint) -0:135 'out_u1' (temp uint) -0:135 imageAtomicExchange (temp uint) -0:135 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:135 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 move second child to first child ( temp uint) +0:135 'out_u1' ( temp uint) +0:135 imageAtomicExchange ( temp uint) +0:135 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:135 u3: direct index for structure ( uniform 3-component vector of uint) +0:135 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:135 Constant: 0:135 2 (const uint) -0:135 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 u1: direct index for structure ( uniform uint) +0:135 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:135 Constant: 0:135 0 (const uint) -0:136 imageAtomicMax (temp uint) -0:136 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:136 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 imageAtomicMax ( temp uint) +0:136 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:136 u3: direct index for structure ( uniform 3-component vector of uint) +0:136 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:136 Constant: 0:136 2 (const uint) -0:136 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 u1: direct index for structure ( uniform uint) +0:136 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:136 Constant: 0:136 0 (const uint) -0:137 move second child to first child (temp uint) -0:137 'out_u1' (temp uint) -0:137 imageAtomicMax (temp uint) -0:137 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:137 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 move second child to first child ( temp uint) +0:137 'out_u1' ( temp uint) +0:137 imageAtomicMax ( temp uint) +0:137 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:137 u3: direct index for structure ( uniform 3-component vector of uint) +0:137 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:137 Constant: 0:137 2 (const uint) -0:137 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 u1: direct index for structure ( uniform uint) +0:137 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:137 Constant: 0:137 0 (const uint) -0:138 imageAtomicMin (temp uint) -0:138 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:138 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 imageAtomicMin ( temp uint) +0:138 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:138 u3: direct index for structure ( uniform 3-component vector of uint) +0:138 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:138 Constant: 0:138 2 (const uint) -0:138 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 u1: direct index for structure ( uniform uint) +0:138 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:138 Constant: 0:138 0 (const uint) -0:139 move second child to first child (temp uint) -0:139 'out_u1' (temp uint) -0:139 imageAtomicMin (temp uint) -0:139 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:139 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 move second child to first child ( temp uint) +0:139 'out_u1' ( temp uint) +0:139 imageAtomicMin ( temp uint) +0:139 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:139 u3: direct index for structure ( uniform 3-component vector of uint) +0:139 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:139 Constant: 0:139 2 (const uint) -0:139 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 u1: direct index for structure ( uniform uint) +0:139 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:139 Constant: 0:139 0 (const uint) -0:140 imageAtomicOr (temp uint) -0:140 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:140 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 imageAtomicOr ( temp uint) +0:140 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:140 u3: direct index for structure ( uniform 3-component vector of uint) +0:140 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:140 Constant: 0:140 2 (const uint) -0:140 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 u1: direct index for structure ( uniform uint) +0:140 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:140 Constant: 0:140 0 (const uint) -0:141 move second child to first child (temp uint) -0:141 'out_u1' (temp uint) -0:141 imageAtomicOr (temp uint) -0:141 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:141 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 move second child to first child ( temp uint) +0:141 'out_u1' ( temp uint) +0:141 imageAtomicOr ( temp uint) +0:141 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:141 u3: direct index for structure ( uniform 3-component vector of uint) +0:141 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:141 Constant: 0:141 2 (const uint) -0:141 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 u1: direct index for structure ( uniform uint) +0:141 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:141 Constant: 0:141 0 (const uint) -0:142 imageAtomicXor (temp uint) -0:142 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:142 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 imageAtomicXor ( temp uint) +0:142 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:142 u3: direct index for structure ( uniform 3-component vector of uint) +0:142 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:142 Constant: 0:142 2 (const uint) -0:142 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 u1: direct index for structure ( uniform uint) +0:142 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:142 Constant: 0:142 0 (const uint) -0:143 move second child to first child (temp uint) -0:143 'out_u1' (temp uint) -0:143 imageAtomicXor (temp uint) -0:143 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:143 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) -0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 move second child to first child ( temp uint) +0:143 'out_u1' ( temp uint) +0:143 imageAtomicXor ( temp uint) +0:143 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:143 u3: direct index for structure ( uniform 3-component vector of uint) +0:143 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:143 Constant: 0:143 2 (const uint) -0:143 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 u1: direct index for structure ( uniform uint) +0:143 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:143 Constant: 0:143 0 (const uint) -0:146 imageAtomicAdd (temp int) -0:146 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:146 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 imageAtomicAdd ( temp int) +0:146 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:146 i2: direct index for structure ( uniform 2-component vector of int) +0:146 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:146 Constant: 0:146 6 (const uint) -0:146 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 i1b: direct index for structure ( uniform int) +0:146 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:146 Constant: 0:146 8 (const uint) -0:147 move second child to first child (temp int) -0:147 'out_i1' (temp int) -0:147 imageAtomicAdd (temp int) -0:147 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:147 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 move second child to first child ( temp int) +0:147 'out_i1' ( temp int) +0:147 imageAtomicAdd ( temp int) +0:147 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:147 i2: direct index for structure ( uniform 2-component vector of int) +0:147 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:147 Constant: 0:147 6 (const uint) -0:147 i1: direct index for structure (layout(offset=36 ) uniform int) -0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 i1: direct index for structure ( uniform int) +0:147 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:147 Constant: 0:147 5 (const uint) -0:148 imageAtomicAnd (temp int) -0:148 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:148 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 imageAtomicAnd ( temp int) +0:148 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:148 i2: direct index for structure ( uniform 2-component vector of int) +0:148 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:148 Constant: 0:148 6 (const uint) -0:148 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 i1b: direct index for structure ( uniform int) +0:148 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:148 Constant: 0:148 8 (const uint) -0:149 move second child to first child (temp int) -0:149 'out_i1' (temp int) -0:149 imageAtomicAnd (temp int) -0:149 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:149 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 move second child to first child ( temp int) +0:149 'out_i1' ( temp int) +0:149 imageAtomicAnd ( temp int) +0:149 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:149 i2: direct index for structure ( uniform 2-component vector of int) +0:149 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:149 Constant: 0:149 6 (const uint) -0:149 i1: direct index for structure (layout(offset=36 ) uniform int) -0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 i1: direct index for structure ( uniform int) +0:149 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:149 Constant: 0:149 5 (const uint) -0:150 move second child to first child (temp int) -0:150 'out_i1' (temp int) -0:150 imageAtomicCompSwap (temp int) -0:150 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:150 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 move second child to first child ( temp int) +0:150 'out_i1' ( temp int) +0:150 imageAtomicCompSwap ( temp int) +0:150 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:150 i2: direct index for structure ( uniform 2-component vector of int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 6 (const uint) -0:150 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 i1b: direct index for structure ( uniform int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 8 (const uint) -0:150 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 i1c: direct index for structure ( uniform int) +0:150 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:150 Constant: 0:150 9 (const uint) -0:151 move second child to first child (temp int) -0:151 'out_i1' (temp int) -0:151 imageAtomicExchange (temp int) -0:151 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:151 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 move second child to first child ( temp int) +0:151 'out_i1' ( temp int) +0:151 imageAtomicExchange ( temp int) +0:151 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:151 i2: direct index for structure ( uniform 2-component vector of int) +0:151 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:151 Constant: 0:151 6 (const uint) -0:151 i1: direct index for structure (layout(offset=36 ) uniform int) -0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 i1: direct index for structure ( uniform int) +0:151 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:151 Constant: 0:151 5 (const uint) -0:152 imageAtomicMax (temp int) -0:152 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:152 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 imageAtomicMax ( temp int) +0:152 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:152 i2: direct index for structure ( uniform 2-component vector of int) +0:152 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:152 Constant: 0:152 6 (const uint) -0:152 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 i1b: direct index for structure ( uniform int) +0:152 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:152 Constant: 0:152 8 (const uint) -0:153 move second child to first child (temp int) -0:153 'out_i1' (temp int) -0:153 imageAtomicMax (temp int) -0:153 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:153 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 move second child to first child ( temp int) +0:153 'out_i1' ( temp int) +0:153 imageAtomicMax ( temp int) +0:153 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:153 i2: direct index for structure ( uniform 2-component vector of int) +0:153 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:153 Constant: 0:153 6 (const uint) -0:153 i1: direct index for structure (layout(offset=36 ) uniform int) -0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 i1: direct index for structure ( uniform int) +0:153 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:153 Constant: 0:153 5 (const uint) -0:154 imageAtomicMin (temp int) -0:154 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:154 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 imageAtomicMin ( temp int) +0:154 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:154 i2: direct index for structure ( uniform 2-component vector of int) +0:154 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:154 Constant: 0:154 6 (const uint) -0:154 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 i1b: direct index for structure ( uniform int) +0:154 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:154 Constant: 0:154 8 (const uint) -0:155 move second child to first child (temp int) -0:155 'out_i1' (temp int) -0:155 imageAtomicMin (temp int) -0:155 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:155 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 move second child to first child ( temp int) +0:155 'out_i1' ( temp int) +0:155 imageAtomicMin ( temp int) +0:155 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:155 i2: direct index for structure ( uniform 2-component vector of int) +0:155 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:155 Constant: 0:155 6 (const uint) -0:155 i1: direct index for structure (layout(offset=36 ) uniform int) -0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 i1: direct index for structure ( uniform int) +0:155 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:155 Constant: 0:155 5 (const uint) -0:156 imageAtomicOr (temp int) -0:156 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:156 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 imageAtomicOr ( temp int) +0:156 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:156 i2: direct index for structure ( uniform 2-component vector of int) +0:156 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:156 Constant: 0:156 6 (const uint) -0:156 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 i1b: direct index for structure ( uniform int) +0:156 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:156 Constant: 0:156 8 (const uint) -0:157 move second child to first child (temp int) -0:157 'out_i1' (temp int) -0:157 imageAtomicOr (temp int) -0:157 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:157 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 move second child to first child ( temp int) +0:157 'out_i1' ( temp int) +0:157 imageAtomicOr ( temp int) +0:157 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:157 i2: direct index for structure ( uniform 2-component vector of int) +0:157 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:157 Constant: 0:157 6 (const uint) -0:157 i1: direct index for structure (layout(offset=36 ) uniform int) -0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 i1: direct index for structure ( uniform int) +0:157 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:157 Constant: 0:157 5 (const uint) -0:158 imageAtomicXor (temp int) -0:158 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:158 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 imageAtomicXor ( temp int) +0:158 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:158 i2: direct index for structure ( uniform 2-component vector of int) +0:158 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:158 Constant: 0:158 6 (const uint) -0:158 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 i1b: direct index for structure ( uniform int) +0:158 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:158 Constant: 0:158 8 (const uint) -0:159 move second child to first child (temp int) -0:159 'out_i1' (temp int) -0:159 imageAtomicXor (temp int) -0:159 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:159 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 move second child to first child ( temp int) +0:159 'out_i1' ( temp int) +0:159 imageAtomicXor ( temp int) +0:159 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:159 i2: direct index for structure ( uniform 2-component vector of int) +0:159 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:159 Constant: 0:159 6 (const uint) -0:159 i1: direct index for structure (layout(offset=36 ) uniform int) -0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 i1: direct index for structure ( uniform int) +0:159 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:159 Constant: 0:159 5 (const uint) -0:162 imageAtomicAdd (temp uint) -0:162 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:162 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 imageAtomicAdd ( temp uint) +0:162 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:162 u2: direct index for structure ( uniform 2-component vector of uint) +0:162 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:162 Constant: 0:162 1 (const uint) -0:162 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 u1: direct index for structure ( uniform uint) +0:162 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:162 Constant: 0:162 0 (const uint) -0:163 move second child to first child (temp uint) -0:163 'out_u1' (temp uint) -0:163 imageAtomicAdd (temp uint) -0:163 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:163 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 move second child to first child ( temp uint) +0:163 'out_u1' ( temp uint) +0:163 imageAtomicAdd ( temp uint) +0:163 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:163 u2: direct index for structure ( uniform 2-component vector of uint) +0:163 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:163 Constant: 0:163 1 (const uint) -0:163 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 u1: direct index for structure ( uniform uint) +0:163 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:163 Constant: 0:163 0 (const uint) -0:164 imageAtomicAnd (temp uint) -0:164 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:164 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 imageAtomicAnd ( temp uint) +0:164 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:164 u2: direct index for structure ( uniform 2-component vector of uint) +0:164 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:164 Constant: 0:164 1 (const uint) -0:164 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 u1: direct index for structure ( uniform uint) +0:164 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:164 Constant: 0:164 0 (const uint) -0:165 move second child to first child (temp uint) -0:165 'out_u1' (temp uint) -0:165 imageAtomicAnd (temp uint) -0:165 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:165 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 move second child to first child ( temp uint) +0:165 'out_u1' ( temp uint) +0:165 imageAtomicAnd ( temp uint) +0:165 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:165 u2: direct index for structure ( uniform 2-component vector of uint) +0:165 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:165 Constant: 0:165 1 (const uint) -0:165 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 u1: direct index for structure ( uniform uint) +0:165 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:165 Constant: 0:165 0 (const uint) -0:166 move second child to first child (temp uint) -0:166 'out_u1' (temp uint) -0:166 imageAtomicCompSwap (temp uint) -0:166 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:166 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 move second child to first child ( temp uint) +0:166 'out_u1' ( temp uint) +0:166 imageAtomicCompSwap ( temp uint) +0:166 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:166 u2: direct index for structure ( uniform 2-component vector of uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 1 (const uint) -0:166 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 u1b: direct index for structure ( uniform uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 3 (const uint) -0:166 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 u1c: direct index for structure ( uniform uint) +0:166 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:166 Constant: 0:166 4 (const uint) -0:167 move second child to first child (temp uint) -0:167 'out_u1' (temp uint) -0:167 imageAtomicExchange (temp uint) -0:167 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:167 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 move second child to first child ( temp uint) +0:167 'out_u1' ( temp uint) +0:167 imageAtomicExchange ( temp uint) +0:167 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:167 u2: direct index for structure ( uniform 2-component vector of uint) +0:167 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:167 Constant: 0:167 1 (const uint) -0:167 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 u1: direct index for structure ( uniform uint) +0:167 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:167 Constant: 0:167 0 (const uint) -0:168 imageAtomicMax (temp uint) -0:168 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:168 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 imageAtomicMax ( temp uint) +0:168 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:168 u2: direct index for structure ( uniform 2-component vector of uint) +0:168 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:168 Constant: 0:168 1 (const uint) -0:168 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 u1: direct index for structure ( uniform uint) +0:168 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:168 Constant: 0:168 0 (const uint) -0:169 move second child to first child (temp uint) -0:169 'out_u1' (temp uint) -0:169 imageAtomicMax (temp uint) -0:169 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:169 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 move second child to first child ( temp uint) +0:169 'out_u1' ( temp uint) +0:169 imageAtomicMax ( temp uint) +0:169 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:169 u2: direct index for structure ( uniform 2-component vector of uint) +0:169 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:169 Constant: 0:169 1 (const uint) -0:169 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 u1: direct index for structure ( uniform uint) +0:169 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:169 Constant: 0:169 0 (const uint) -0:170 imageAtomicMin (temp uint) -0:170 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:170 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 imageAtomicMin ( temp uint) +0:170 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:170 u2: direct index for structure ( uniform 2-component vector of uint) +0:170 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:170 Constant: 0:170 1 (const uint) -0:170 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 u1: direct index for structure ( uniform uint) +0:170 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:170 Constant: 0:170 0 (const uint) -0:171 move second child to first child (temp uint) -0:171 'out_u1' (temp uint) -0:171 imageAtomicMin (temp uint) -0:171 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:171 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 move second child to first child ( temp uint) +0:171 'out_u1' ( temp uint) +0:171 imageAtomicMin ( temp uint) +0:171 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:171 u2: direct index for structure ( uniform 2-component vector of uint) +0:171 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:171 Constant: 0:171 1 (const uint) -0:171 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 u1: direct index for structure ( uniform uint) +0:171 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:171 Constant: 0:171 0 (const uint) -0:172 imageAtomicOr (temp uint) -0:172 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:172 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 imageAtomicOr ( temp uint) +0:172 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:172 u2: direct index for structure ( uniform 2-component vector of uint) +0:172 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:172 Constant: 0:172 1 (const uint) -0:172 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 u1: direct index for structure ( uniform uint) +0:172 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:172 Constant: 0:172 0 (const uint) -0:173 move second child to first child (temp uint) -0:173 'out_u1' (temp uint) -0:173 imageAtomicOr (temp uint) -0:173 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:173 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 move second child to first child ( temp uint) +0:173 'out_u1' ( temp uint) +0:173 imageAtomicOr ( temp uint) +0:173 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:173 u2: direct index for structure ( uniform 2-component vector of uint) +0:173 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:173 Constant: 0:173 1 (const uint) -0:173 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 u1: direct index for structure ( uniform uint) +0:173 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:173 Constant: 0:173 0 (const uint) -0:174 imageAtomicXor (temp uint) -0:174 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:174 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 imageAtomicXor ( temp uint) +0:174 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:174 u2: direct index for structure ( uniform 2-component vector of uint) +0:174 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:174 Constant: 0:174 1 (const uint) -0:174 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 u1: direct index for structure ( uniform uint) +0:174 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:174 Constant: 0:174 0 (const uint) -0:175 move second child to first child (temp uint) -0:175 'out_u1' (temp uint) -0:175 imageAtomicXor (temp uint) -0:175 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:175 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 move second child to first child ( temp uint) +0:175 'out_u1' ( temp uint) +0:175 imageAtomicXor ( temp uint) +0:175 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:175 u2: direct index for structure ( uniform 2-component vector of uint) +0:175 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:175 Constant: 0:175 1 (const uint) -0:175 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 u1: direct index for structure ( uniform uint) +0:175 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:175 Constant: 0:175 0 (const uint) -0:178 imageAtomicAdd (temp int) -0:178 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:178 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 imageAtomicAdd ( temp int) +0:178 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:178 i2: direct index for structure ( uniform 2-component vector of int) +0:178 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:178 Constant: 0:178 6 (const uint) -0:178 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 i1b: direct index for structure ( uniform int) +0:178 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:178 Constant: 0:178 8 (const uint) -0:179 move second child to first child (temp int) -0:179 'out_i1' (temp int) -0:179 imageAtomicAdd (temp int) -0:179 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:179 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 move second child to first child ( temp int) +0:179 'out_i1' ( temp int) +0:179 imageAtomicAdd ( temp int) +0:179 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:179 i2: direct index for structure ( uniform 2-component vector of int) +0:179 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:179 Constant: 0:179 6 (const uint) -0:179 i1: direct index for structure (layout(offset=36 ) uniform int) -0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 i1: direct index for structure ( uniform int) +0:179 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:179 Constant: 0:179 5 (const uint) -0:180 imageAtomicAnd (temp int) -0:180 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:180 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 imageAtomicAnd ( temp int) +0:180 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:180 i2: direct index for structure ( uniform 2-component vector of int) +0:180 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:180 Constant: 0:180 6 (const uint) -0:180 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 i1b: direct index for structure ( uniform int) +0:180 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:180 Constant: 0:180 8 (const uint) -0:181 move second child to first child (temp int) -0:181 'out_i1' (temp int) -0:181 imageAtomicAnd (temp int) -0:181 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:181 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 move second child to first child ( temp int) +0:181 'out_i1' ( temp int) +0:181 imageAtomicAnd ( temp int) +0:181 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:181 i2: direct index for structure ( uniform 2-component vector of int) +0:181 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:181 Constant: 0:181 6 (const uint) -0:181 i1: direct index for structure (layout(offset=36 ) uniform int) -0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 i1: direct index for structure ( uniform int) +0:181 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:181 Constant: 0:181 5 (const uint) -0:182 move second child to first child (temp int) -0:182 'out_i1' (temp int) -0:182 imageAtomicCompSwap (temp int) -0:182 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:182 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 move second child to first child ( temp int) +0:182 'out_i1' ( temp int) +0:182 imageAtomicCompSwap ( temp int) +0:182 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:182 i2: direct index for structure ( uniform 2-component vector of int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 6 (const uint) -0:182 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 i1b: direct index for structure ( uniform int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 8 (const uint) -0:182 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 i1c: direct index for structure ( uniform int) +0:182 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:182 Constant: 0:182 9 (const uint) -0:183 move second child to first child (temp int) -0:183 'out_i1' (temp int) -0:183 imageAtomicExchange (temp int) -0:183 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:183 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 move second child to first child ( temp int) +0:183 'out_i1' ( temp int) +0:183 imageAtomicExchange ( temp int) +0:183 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:183 i2: direct index for structure ( uniform 2-component vector of int) +0:183 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:183 Constant: 0:183 6 (const uint) -0:183 i1: direct index for structure (layout(offset=36 ) uniform int) -0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 i1: direct index for structure ( uniform int) +0:183 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:183 Constant: 0:183 5 (const uint) -0:184 imageAtomicMax (temp int) -0:184 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:184 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 imageAtomicMax ( temp int) +0:184 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:184 i2: direct index for structure ( uniform 2-component vector of int) +0:184 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:184 Constant: 0:184 6 (const uint) -0:184 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 i1b: direct index for structure ( uniform int) +0:184 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:184 Constant: 0:184 8 (const uint) -0:185 move second child to first child (temp int) -0:185 'out_i1' (temp int) -0:185 imageAtomicMax (temp int) -0:185 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:185 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 move second child to first child ( temp int) +0:185 'out_i1' ( temp int) +0:185 imageAtomicMax ( temp int) +0:185 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:185 i2: direct index for structure ( uniform 2-component vector of int) +0:185 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:185 Constant: 0:185 6 (const uint) -0:185 i1: direct index for structure (layout(offset=36 ) uniform int) -0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 i1: direct index for structure ( uniform int) +0:185 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:185 Constant: 0:185 5 (const uint) -0:186 imageAtomicMin (temp int) -0:186 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:186 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 imageAtomicMin ( temp int) +0:186 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:186 i2: direct index for structure ( uniform 2-component vector of int) +0:186 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:186 Constant: 0:186 6 (const uint) -0:186 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 i1b: direct index for structure ( uniform int) +0:186 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:186 Constant: 0:186 8 (const uint) -0:187 move second child to first child (temp int) -0:187 'out_i1' (temp int) -0:187 imageAtomicMin (temp int) -0:187 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:187 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 move second child to first child ( temp int) +0:187 'out_i1' ( temp int) +0:187 imageAtomicMin ( temp int) +0:187 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:187 i2: direct index for structure ( uniform 2-component vector of int) +0:187 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:187 Constant: 0:187 6 (const uint) -0:187 i1: direct index for structure (layout(offset=36 ) uniform int) -0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 i1: direct index for structure ( uniform int) +0:187 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:187 Constant: 0:187 5 (const uint) -0:188 imageAtomicOr (temp int) -0:188 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:188 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 imageAtomicOr ( temp int) +0:188 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:188 i2: direct index for structure ( uniform 2-component vector of int) +0:188 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:188 Constant: 0:188 6 (const uint) -0:188 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 i1b: direct index for structure ( uniform int) +0:188 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:188 Constant: 0:188 8 (const uint) -0:189 move second child to first child (temp int) -0:189 'out_i1' (temp int) -0:189 imageAtomicOr (temp int) -0:189 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:189 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 move second child to first child ( temp int) +0:189 'out_i1' ( temp int) +0:189 imageAtomicOr ( temp int) +0:189 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:189 i2: direct index for structure ( uniform 2-component vector of int) +0:189 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:189 Constant: 0:189 6 (const uint) -0:189 i1: direct index for structure (layout(offset=36 ) uniform int) -0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 i1: direct index for structure ( uniform int) +0:189 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:189 Constant: 0:189 5 (const uint) -0:190 imageAtomicXor (temp int) -0:190 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:190 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 imageAtomicXor ( temp int) +0:190 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:190 i2: direct index for structure ( uniform 2-component vector of int) +0:190 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:190 Constant: 0:190 6 (const uint) -0:190 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 i1b: direct index for structure ( uniform int) +0:190 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:190 Constant: 0:190 8 (const uint) -0:191 move second child to first child (temp int) -0:191 'out_i1' (temp int) -0:191 imageAtomicXor (temp int) -0:191 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:191 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) -0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 move second child to first child ( temp int) +0:191 'out_i1' ( temp int) +0:191 imageAtomicXor ( temp int) +0:191 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:191 i2: direct index for structure ( uniform 2-component vector of int) +0:191 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:191 Constant: 0:191 6 (const uint) -0:191 i1: direct index for structure (layout(offset=36 ) uniform int) -0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 i1: direct index for structure ( uniform int) +0:191 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:191 Constant: 0:191 5 (const uint) -0:194 imageAtomicAdd (temp uint) -0:194 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:194 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 imageAtomicAdd ( temp uint) +0:194 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:194 u2: direct index for structure ( uniform 2-component vector of uint) +0:194 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:194 Constant: 0:194 1 (const uint) -0:194 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 u1: direct index for structure ( uniform uint) +0:194 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:194 Constant: 0:194 0 (const uint) -0:195 move second child to first child (temp uint) -0:195 'out_u1' (temp uint) -0:195 imageAtomicAdd (temp uint) -0:195 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:195 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 move second child to first child ( temp uint) +0:195 'out_u1' ( temp uint) +0:195 imageAtomicAdd ( temp uint) +0:195 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:195 u2: direct index for structure ( uniform 2-component vector of uint) +0:195 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:195 Constant: 0:195 1 (const uint) -0:195 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 u1: direct index for structure ( uniform uint) +0:195 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:195 Constant: 0:195 0 (const uint) -0:196 imageAtomicAnd (temp uint) -0:196 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:196 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 imageAtomicAnd ( temp uint) +0:196 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:196 u2: direct index for structure ( uniform 2-component vector of uint) +0:196 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:196 Constant: 0:196 1 (const uint) -0:196 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 u1: direct index for structure ( uniform uint) +0:196 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:196 Constant: 0:196 0 (const uint) -0:197 move second child to first child (temp uint) -0:197 'out_u1' (temp uint) -0:197 imageAtomicAnd (temp uint) -0:197 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:197 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 move second child to first child ( temp uint) +0:197 'out_u1' ( temp uint) +0:197 imageAtomicAnd ( temp uint) +0:197 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:197 u2: direct index for structure ( uniform 2-component vector of uint) +0:197 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:197 Constant: 0:197 1 (const uint) -0:197 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 u1: direct index for structure ( uniform uint) +0:197 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:197 Constant: 0:197 0 (const uint) -0:198 move second child to first child (temp uint) -0:198 'out_u1' (temp uint) -0:198 imageAtomicCompSwap (temp uint) -0:198 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:198 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 move second child to first child ( temp uint) +0:198 'out_u1' ( temp uint) +0:198 imageAtomicCompSwap ( temp uint) +0:198 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:198 u2: direct index for structure ( uniform 2-component vector of uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 1 (const uint) -0:198 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 u1b: direct index for structure ( uniform uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 3 (const uint) -0:198 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 u1c: direct index for structure ( uniform uint) +0:198 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:198 Constant: 0:198 4 (const uint) -0:199 move second child to first child (temp uint) -0:199 'out_u1' (temp uint) -0:199 imageAtomicExchange (temp uint) -0:199 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:199 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 move second child to first child ( temp uint) +0:199 'out_u1' ( temp uint) +0:199 imageAtomicExchange ( temp uint) +0:199 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:199 u2: direct index for structure ( uniform 2-component vector of uint) +0:199 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:199 Constant: 0:199 1 (const uint) -0:199 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 u1: direct index for structure ( uniform uint) +0:199 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:199 Constant: 0:199 0 (const uint) -0:200 imageAtomicMax (temp uint) -0:200 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:200 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 imageAtomicMax ( temp uint) +0:200 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:200 u2: direct index for structure ( uniform 2-component vector of uint) +0:200 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:200 Constant: 0:200 1 (const uint) -0:200 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 u1: direct index for structure ( uniform uint) +0:200 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:200 Constant: 0:200 0 (const uint) -0:201 move second child to first child (temp uint) -0:201 'out_u1' (temp uint) -0:201 imageAtomicMax (temp uint) -0:201 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:201 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 move second child to first child ( temp uint) +0:201 'out_u1' ( temp uint) +0:201 imageAtomicMax ( temp uint) +0:201 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:201 u2: direct index for structure ( uniform 2-component vector of uint) +0:201 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:201 Constant: 0:201 1 (const uint) -0:201 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 u1: direct index for structure ( uniform uint) +0:201 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:201 Constant: 0:201 0 (const uint) -0:202 imageAtomicMin (temp uint) -0:202 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:202 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 imageAtomicMin ( temp uint) +0:202 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:202 u2: direct index for structure ( uniform 2-component vector of uint) +0:202 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:202 Constant: 0:202 1 (const uint) -0:202 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 u1: direct index for structure ( uniform uint) +0:202 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:202 Constant: 0:202 0 (const uint) -0:203 move second child to first child (temp uint) -0:203 'out_u1' (temp uint) -0:203 imageAtomicMin (temp uint) -0:203 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:203 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 move second child to first child ( temp uint) +0:203 'out_u1' ( temp uint) +0:203 imageAtomicMin ( temp uint) +0:203 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:203 u2: direct index for structure ( uniform 2-component vector of uint) +0:203 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:203 Constant: 0:203 1 (const uint) -0:203 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 u1: direct index for structure ( uniform uint) +0:203 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:203 Constant: 0:203 0 (const uint) -0:204 imageAtomicOr (temp uint) -0:204 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:204 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 imageAtomicOr ( temp uint) +0:204 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:204 u2: direct index for structure ( uniform 2-component vector of uint) +0:204 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:204 Constant: 0:204 1 (const uint) -0:204 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 u1: direct index for structure ( uniform uint) +0:204 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:204 Constant: 0:204 0 (const uint) -0:205 move second child to first child (temp uint) -0:205 'out_u1' (temp uint) -0:205 imageAtomicOr (temp uint) -0:205 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:205 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 move second child to first child ( temp uint) +0:205 'out_u1' ( temp uint) +0:205 imageAtomicOr ( temp uint) +0:205 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:205 u2: direct index for structure ( uniform 2-component vector of uint) +0:205 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:205 Constant: 0:205 1 (const uint) -0:205 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 u1: direct index for structure ( uniform uint) +0:205 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:205 Constant: 0:205 0 (const uint) -0:206 imageAtomicXor (temp uint) -0:206 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:206 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 imageAtomicXor ( temp uint) +0:206 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:206 u2: direct index for structure ( uniform 2-component vector of uint) +0:206 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:206 Constant: 0:206 1 (const uint) -0:206 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 u1: direct index for structure ( uniform uint) +0:206 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:206 Constant: 0:206 0 (const uint) -0:207 move second child to first child (temp uint) -0:207 'out_u1' (temp uint) -0:207 imageAtomicXor (temp uint) -0:207 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:207 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) -0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 move second child to first child ( temp uint) +0:207 'out_u1' ( temp uint) +0:207 imageAtomicXor ( temp uint) +0:207 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:207 u2: direct index for structure ( uniform 2-component vector of uint) +0:207 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:207 Constant: 0:207 1 (const uint) -0:207 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 u1: direct index for structure ( uniform uint) +0:207 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:207 Constant: 0:207 0 (const uint) -0:210 imageAtomicAdd (temp int) -0:210 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:210 i1: direct index for structure (layout(offset=36 ) uniform int) -0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 imageAtomicAdd ( temp int) +0:210 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:210 i1: direct index for structure ( uniform int) +0:210 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:210 Constant: 0:210 5 (const uint) -0:210 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 i1b: direct index for structure ( uniform int) +0:210 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:210 Constant: 0:210 8 (const uint) -0:211 move second child to first child (temp int) -0:211 'out_i1' (temp int) -0:211 imageAtomicAdd (temp int) -0:211 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:211 i1: direct index for structure (layout(offset=36 ) uniform int) -0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 move second child to first child ( temp int) +0:211 'out_i1' ( temp int) +0:211 imageAtomicAdd ( temp int) +0:211 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:211 i1: direct index for structure ( uniform int) +0:211 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:211 Constant: 0:211 5 (const uint) -0:211 i1: direct index for structure (layout(offset=36 ) uniform int) -0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 i1: direct index for structure ( uniform int) +0:211 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:211 Constant: 0:211 5 (const uint) -0:212 imageAtomicAnd (temp int) -0:212 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:212 i1: direct index for structure (layout(offset=36 ) uniform int) -0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 imageAtomicAnd ( temp int) +0:212 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:212 i1: direct index for structure ( uniform int) +0:212 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:212 Constant: 0:212 5 (const uint) -0:212 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 i1b: direct index for structure ( uniform int) +0:212 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:212 Constant: 0:212 8 (const uint) -0:213 move second child to first child (temp int) -0:213 'out_i1' (temp int) -0:213 imageAtomicAnd (temp int) -0:213 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:213 i1: direct index for structure (layout(offset=36 ) uniform int) -0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 move second child to first child ( temp int) +0:213 'out_i1' ( temp int) +0:213 imageAtomicAnd ( temp int) +0:213 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:213 i1: direct index for structure ( uniform int) +0:213 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:213 Constant: 0:213 5 (const uint) -0:213 i1: direct index for structure (layout(offset=36 ) uniform int) -0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 i1: direct index for structure ( uniform int) +0:213 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:213 Constant: 0:213 5 (const uint) -0:214 move second child to first child (temp int) -0:214 'out_i1' (temp int) -0:214 imageAtomicCompSwap (temp int) -0:214 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:214 i1: direct index for structure (layout(offset=36 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 move second child to first child ( temp int) +0:214 'out_i1' ( temp int) +0:214 imageAtomicCompSwap ( temp int) +0:214 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:214 i1: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 5 (const uint) -0:214 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 i1b: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 8 (const uint) -0:214 i1c: direct index for structure (layout(offset=64 ) uniform int) -0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 i1c: direct index for structure ( uniform int) +0:214 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:214 Constant: 0:214 9 (const uint) -0:215 move second child to first child (temp int) -0:215 'out_i1' (temp int) -0:215 imageAtomicExchange (temp int) -0:215 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:215 i1: direct index for structure (layout(offset=36 ) uniform int) -0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 move second child to first child ( temp int) +0:215 'out_i1' ( temp int) +0:215 imageAtomicExchange ( temp int) +0:215 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:215 i1: direct index for structure ( uniform int) +0:215 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:215 Constant: 0:215 5 (const uint) -0:215 i1: direct index for structure (layout(offset=36 ) uniform int) -0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 i1: direct index for structure ( uniform int) +0:215 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:215 Constant: 0:215 5 (const uint) -0:216 imageAtomicMax (temp int) -0:216 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:216 i1: direct index for structure (layout(offset=36 ) uniform int) -0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 imageAtomicMax ( temp int) +0:216 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:216 i1: direct index for structure ( uniform int) +0:216 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:216 Constant: 0:216 5 (const uint) -0:216 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 i1b: direct index for structure ( uniform int) +0:216 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:216 Constant: 0:216 8 (const uint) -0:217 move second child to first child (temp int) -0:217 'out_i1' (temp int) -0:217 imageAtomicMax (temp int) -0:217 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:217 i1: direct index for structure (layout(offset=36 ) uniform int) -0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 move second child to first child ( temp int) +0:217 'out_i1' ( temp int) +0:217 imageAtomicMax ( temp int) +0:217 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:217 i1: direct index for structure ( uniform int) +0:217 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:217 Constant: 0:217 5 (const uint) -0:217 i1: direct index for structure (layout(offset=36 ) uniform int) -0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 i1: direct index for structure ( uniform int) +0:217 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:217 Constant: 0:217 5 (const uint) -0:218 imageAtomicMin (temp int) -0:218 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:218 i1: direct index for structure (layout(offset=36 ) uniform int) -0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 imageAtomicMin ( temp int) +0:218 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:218 i1: direct index for structure ( uniform int) +0:218 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:218 Constant: 0:218 5 (const uint) -0:218 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 i1b: direct index for structure ( uniform int) +0:218 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:218 Constant: 0:218 8 (const uint) -0:219 move second child to first child (temp int) -0:219 'out_i1' (temp int) -0:219 imageAtomicMin (temp int) -0:219 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:219 i1: direct index for structure (layout(offset=36 ) uniform int) -0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 move second child to first child ( temp int) +0:219 'out_i1' ( temp int) +0:219 imageAtomicMin ( temp int) +0:219 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:219 i1: direct index for structure ( uniform int) +0:219 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:219 Constant: 0:219 5 (const uint) -0:219 i1: direct index for structure (layout(offset=36 ) uniform int) -0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 i1: direct index for structure ( uniform int) +0:219 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:219 Constant: 0:219 5 (const uint) -0:220 imageAtomicOr (temp int) -0:220 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:220 i1: direct index for structure (layout(offset=36 ) uniform int) -0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 imageAtomicOr ( temp int) +0:220 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:220 i1: direct index for structure ( uniform int) +0:220 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:220 Constant: 0:220 5 (const uint) -0:220 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 i1b: direct index for structure ( uniform int) +0:220 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:220 Constant: 0:220 8 (const uint) -0:221 move second child to first child (temp int) -0:221 'out_i1' (temp int) -0:221 imageAtomicOr (temp int) -0:221 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:221 i1: direct index for structure (layout(offset=36 ) uniform int) -0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 move second child to first child ( temp int) +0:221 'out_i1' ( temp int) +0:221 imageAtomicOr ( temp int) +0:221 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:221 i1: direct index for structure ( uniform int) +0:221 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:221 Constant: 0:221 5 (const uint) -0:221 i1: direct index for structure (layout(offset=36 ) uniform int) -0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 i1: direct index for structure ( uniform int) +0:221 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:221 Constant: 0:221 5 (const uint) -0:222 imageAtomicXor (temp int) -0:222 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:222 i1: direct index for structure (layout(offset=36 ) uniform int) -0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 imageAtomicXor ( temp int) +0:222 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:222 i1: direct index for structure ( uniform int) +0:222 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:222 Constant: 0:222 5 (const uint) -0:222 i1b: direct index for structure (layout(offset=60 ) uniform int) -0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 i1b: direct index for structure ( uniform int) +0:222 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:222 Constant: 0:222 8 (const uint) -0:223 move second child to first child (temp int) -0:223 'out_i1' (temp int) -0:223 imageAtomicXor (temp int) -0:223 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:223 i1: direct index for structure (layout(offset=36 ) uniform int) -0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 move second child to first child ( temp int) +0:223 'out_i1' ( temp int) +0:223 imageAtomicXor ( temp int) +0:223 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:223 i1: direct index for structure ( uniform int) +0:223 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:223 Constant: 0:223 5 (const uint) -0:223 i1: direct index for structure (layout(offset=36 ) uniform int) -0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 i1: direct index for structure ( uniform int) +0:223 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:223 Constant: 0:223 5 (const uint) -0:226 imageAtomicAdd (temp uint) -0:226 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 imageAtomicAdd ( temp uint) +0:226 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:226 u1: direct index for structure ( uniform uint) +0:226 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:226 Constant: 0:226 0 (const uint) -0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 u1: direct index for structure ( uniform uint) +0:226 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:226 Constant: 0:226 0 (const uint) -0:227 move second child to first child (temp uint) -0:227 'out_u1' (temp uint) -0:227 imageAtomicAdd (temp uint) -0:227 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 move second child to first child ( temp uint) +0:227 'out_u1' ( temp uint) +0:227 imageAtomicAdd ( temp uint) +0:227 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:227 u1: direct index for structure ( uniform uint) +0:227 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:227 Constant: 0:227 0 (const uint) -0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 u1: direct index for structure ( uniform uint) +0:227 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:227 Constant: 0:227 0 (const uint) -0:228 imageAtomicAnd (temp uint) -0:228 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 imageAtomicAnd ( temp uint) +0:228 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:228 u1: direct index for structure ( uniform uint) +0:228 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:228 Constant: 0:228 0 (const uint) -0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 u1: direct index for structure ( uniform uint) +0:228 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:228 Constant: 0:228 0 (const uint) -0:229 move second child to first child (temp uint) -0:229 'out_u1' (temp uint) -0:229 imageAtomicAnd (temp uint) -0:229 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 move second child to first child ( temp uint) +0:229 'out_u1' ( temp uint) +0:229 imageAtomicAnd ( temp uint) +0:229 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:229 u1: direct index for structure ( uniform uint) +0:229 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:229 Constant: 0:229 0 (const uint) -0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 u1: direct index for structure ( uniform uint) +0:229 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:229 Constant: 0:229 0 (const uint) -0:230 move second child to first child (temp uint) -0:230 'out_u1' (temp uint) -0:230 imageAtomicCompSwap (temp uint) -0:230 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:230 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 move second child to first child ( temp uint) +0:230 'out_u1' ( temp uint) +0:230 imageAtomicCompSwap ( temp uint) +0:230 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:230 u1: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 0 (const uint) -0:230 u1b: direct index for structure (layout(offset=28 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 u1b: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 3 (const uint) -0:230 u1c: direct index for structure (layout(offset=32 ) uniform uint) -0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 u1c: direct index for structure ( uniform uint) +0:230 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:230 Constant: 0:230 4 (const uint) -0:231 move second child to first child (temp uint) -0:231 'out_u1' (temp uint) -0:231 imageAtomicExchange (temp uint) -0:231 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 move second child to first child ( temp uint) +0:231 'out_u1' ( temp uint) +0:231 imageAtomicExchange ( temp uint) +0:231 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:231 u1: direct index for structure ( uniform uint) +0:231 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:231 Constant: 0:231 0 (const uint) -0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 u1: direct index for structure ( uniform uint) +0:231 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:231 Constant: 0:231 0 (const uint) -0:232 imageAtomicMax (temp uint) -0:232 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 imageAtomicMax ( temp uint) +0:232 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:232 u1: direct index for structure ( uniform uint) +0:232 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:232 Constant: 0:232 0 (const uint) -0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 u1: direct index for structure ( uniform uint) +0:232 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:232 Constant: 0:232 0 (const uint) -0:233 move second child to first child (temp uint) -0:233 'out_u1' (temp uint) -0:233 imageAtomicMax (temp uint) -0:233 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 move second child to first child ( temp uint) +0:233 'out_u1' ( temp uint) +0:233 imageAtomicMax ( temp uint) +0:233 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:233 u1: direct index for structure ( uniform uint) +0:233 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:233 Constant: 0:233 0 (const uint) -0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 u1: direct index for structure ( uniform uint) +0:233 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:233 Constant: 0:233 0 (const uint) -0:234 imageAtomicMin (temp uint) -0:234 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 imageAtomicMin ( temp uint) +0:234 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:234 u1: direct index for structure ( uniform uint) +0:234 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:234 Constant: 0:234 0 (const uint) -0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 u1: direct index for structure ( uniform uint) +0:234 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:234 Constant: 0:234 0 (const uint) -0:235 move second child to first child (temp uint) -0:235 'out_u1' (temp uint) -0:235 imageAtomicMin (temp uint) -0:235 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 move second child to first child ( temp uint) +0:235 'out_u1' ( temp uint) +0:235 imageAtomicMin ( temp uint) +0:235 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:235 u1: direct index for structure ( uniform uint) +0:235 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:235 Constant: 0:235 0 (const uint) -0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 u1: direct index for structure ( uniform uint) +0:235 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:235 Constant: 0:235 0 (const uint) -0:236 imageAtomicOr (temp uint) -0:236 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 imageAtomicOr ( temp uint) +0:236 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:236 u1: direct index for structure ( uniform uint) +0:236 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:236 Constant: 0:236 0 (const uint) -0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 u1: direct index for structure ( uniform uint) +0:236 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:236 Constant: 0:236 0 (const uint) -0:237 move second child to first child (temp uint) -0:237 'out_u1' (temp uint) -0:237 imageAtomicOr (temp uint) -0:237 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 move second child to first child ( temp uint) +0:237 'out_u1' ( temp uint) +0:237 imageAtomicOr ( temp uint) +0:237 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:237 u1: direct index for structure ( uniform uint) +0:237 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:237 Constant: 0:237 0 (const uint) -0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 u1: direct index for structure ( uniform uint) +0:237 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:237 Constant: 0:237 0 (const uint) -0:238 imageAtomicXor (temp uint) -0:238 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 imageAtomicXor ( temp uint) +0:238 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:238 u1: direct index for structure ( uniform uint) +0:238 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:238 Constant: 0:238 0 (const uint) -0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 u1: direct index for structure ( uniform uint) +0:238 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:238 Constant: 0:238 0 (const uint) -0:239 move second child to first child (temp uint) -0:239 'out_u1' (temp uint) -0:239 imageAtomicXor (temp uint) -0:239 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 move second child to first child ( temp uint) +0:239 'out_u1' ( temp uint) +0:239 imageAtomicXor ( temp uint) +0:239 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:239 u1: direct index for structure ( uniform uint) +0:239 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:239 Constant: 0:239 0 (const uint) -0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) -0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 u1: direct index for structure ( uniform uint) +0:239 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) 0:239 Constant: 0:239 0 (const uint) -0:242 move second child to first child (temp 4-component vector of float) -0:242 Color: direct index for structure (temp 4-component vector of float) -0:242 'psout' (temp structure{temp 4-component vector of float Color}) +0:242 move second child to first child ( temp 4-component vector of float) +0:242 Color: direct index for structure ( temp 4-component vector of float) +0:242 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:242 Constant: 0:242 0 (const int) 0:242 Constant: @@ -3907,1355 +3910,1365 @@ gl_FragCoord origin is upper left 0:242 1.000000 0:242 1.000000 0:242 1.000000 -0:243 Sequence -0:243 Sequence -0:243 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:243 Color: direct index for structure (temp 4-component vector of float) -0:243 'psout' (temp structure{temp 4-component vector of float Color}) -0:243 Constant: -0:243 0 (const int) -0:243 Branch: Return +0:243 Branch: Return with expression +0:243 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (uniform sampler) -0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) -0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) -0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) -0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) -0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) -0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:? 'g_sSamp' ( uniform sampler) +0:? 'g_tTex1df1' (layout( r32f) uniform image1D) +0:? 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:? 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:? 'g_tTex2df1' (layout( r32f) uniform image2D) +0:? 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:? 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:? 'g_tTex3df1' (layout( r32f) uniform image3D) +0:? 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:? 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:? 'g_tTex1df1a' (layout( r32f) uniform image1DArray) +0:? 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout( r32f) uniform image2DArray) +0:? 'g_tTex2di1a' (layout( r32i) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray) +0:? 'g_tBuffF' (layout( r32f) uniform imageBuffer) +0:? 'g_tBuffI' (layout( r32i) uniform iimageBuffer) +0:? 'g_tBuffU' (layout( r32ui) uniform uimageBuffer) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform uint u1, uniform 2-component vector of uint u2, uniform 3-component vector of uint u3, uniform uint u1b, uniform uint u1c, uniform int i1, uniform 2-component vector of int i2, uniform 3-component vector of int i3, uniform int i1b, uniform int i1c}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 1142 +// Id's are bound by 1147 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 1111 + EntryPoint Fragment 4 "main" 1117 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "g_tTex1di1" - Name 15 "$Global" - MemberName 15($Global) 0 "u1" - MemberName 15($Global) 1 "u2" - MemberName 15($Global) 2 "u3" - MemberName 15($Global) 3 "u1b" - MemberName 15($Global) 4 "u1c" - MemberName 15($Global) 5 "i1" - MemberName 15($Global) 6 "i2" - MemberName 15($Global) 7 "i3" - MemberName 15($Global) 8 "i1b" - MemberName 15($Global) 9 "i1c" - Name 17 "" - Name 31 "out_i1" - Name 115 "g_tTex1du1" - Name 126 "out_u1" - Name 211 "g_tTex2di1" - Name 302 "g_tTex2du1" - Name 393 "g_tTex3di1" - Name 484 "g_tTex3du1" - Name 575 "g_tTex1di1a" - Name 664 "g_tTex1du1a" - Name 925 "g_tBuffI" - Name 1014 "g_tBuffU" - Name 1103 "PS_OUTPUT" - MemberName 1103(PS_OUTPUT) 0 "Color" - Name 1105 "psout" - Name 1111 "Color" - Name 1117 "g_sSamp" - Name 1120 "g_tTex1df1" - Name 1123 "g_tTex2df1" - Name 1126 "g_tTex3df1" - Name 1129 "g_tTex1df1a" - Name 1132 "g_tTex2df1a" - Name 1135 "g_tTex2di1a" - Name 1138 "g_tTex2du1a" - Name 1141 "g_tBuffF" - Decorate 9(g_tTex1di1) DescriptorSet 0 - MemberDecorate 15($Global) 0 Offset 0 - MemberDecorate 15($Global) 1 Offset 8 - MemberDecorate 15($Global) 2 Offset 16 - MemberDecorate 15($Global) 3 Offset 28 - MemberDecorate 15($Global) 4 Offset 32 - MemberDecorate 15($Global) 5 Offset 36 - MemberDecorate 15($Global) 6 Offset 40 - MemberDecorate 15($Global) 7 Offset 48 - MemberDecorate 15($Global) 8 Offset 60 - MemberDecorate 15($Global) 9 Offset 64 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 - Decorate 115(g_tTex1du1) DescriptorSet 0 - Decorate 211(g_tTex2di1) DescriptorSet 0 - Decorate 302(g_tTex2du1) DescriptorSet 0 - Decorate 393(g_tTex3di1) DescriptorSet 0 - Decorate 484(g_tTex3du1) DescriptorSet 0 - Decorate 575(g_tTex1di1a) DescriptorSet 0 - Decorate 664(g_tTex1du1a) DescriptorSet 0 - Decorate 925(g_tBuffI) DescriptorSet 0 - Decorate 1014(g_tBuffU) DescriptorSet 0 - Decorate 1111(Color) Location 0 - Decorate 1117(g_sSamp) DescriptorSet 0 - Decorate 1120(g_tTex1df1) DescriptorSet 0 - Decorate 1123(g_tTex2df1) DescriptorSet 0 - Decorate 1126(g_tTex3df1) DescriptorSet 0 - Decorate 1129(g_tTex1df1a) DescriptorSet 0 - Decorate 1132(g_tTex2df1a) DescriptorSet 0 - Decorate 1135(g_tTex2di1a) DescriptorSet 0 - Decorate 1138(g_tTex2du1a) DescriptorSet 0 - Decorate 1141(g_tBuffF) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 15 "g_tTex1di1" + Name 21 "$Global" + MemberName 21($Global) 0 "u1" + MemberName 21($Global) 1 "u2" + MemberName 21($Global) 2 "u3" + MemberName 21($Global) 3 "u1b" + MemberName 21($Global) 4 "u1c" + MemberName 21($Global) 5 "i1" + MemberName 21($Global) 6 "i2" + MemberName 21($Global) 7 "i3" + MemberName 21($Global) 8 "i1b" + MemberName 21($Global) 9 "i1c" + Name 23 "" + Name 37 "out_i1" + Name 121 "g_tTex1du1" + Name 132 "out_u1" + Name 217 "g_tTex2di1" + Name 308 "g_tTex2du1" + Name 399 "g_tTex3di1" + Name 490 "g_tTex3du1" + Name 581 "g_tTex1di1a" + Name 670 "g_tTex1du1a" + Name 931 "g_tBuffI" + Name 1020 "g_tBuffU" + Name 1108 "psout" + Name 1117 "Color" + Name 1122 "g_sSamp" + Name 1125 "g_tTex1df1" + Name 1128 "g_tTex2df1" + Name 1131 "g_tTex3df1" + Name 1134 "g_tTex1df1a" + Name 1137 "g_tTex2df1a" + Name 1140 "g_tTex2di1a" + Name 1143 "g_tTex2du1a" + Name 1146 "g_tBuffF" + Decorate 15(g_tTex1di1) DescriptorSet 0 + MemberDecorate 21($Global) 0 Offset 0 + MemberDecorate 21($Global) 1 Offset 8 + MemberDecorate 21($Global) 2 Offset 16 + MemberDecorate 21($Global) 3 Offset 28 + MemberDecorate 21($Global) 4 Offset 32 + MemberDecorate 21($Global) 5 Offset 36 + MemberDecorate 21($Global) 6 Offset 40 + MemberDecorate 21($Global) 7 Offset 48 + MemberDecorate 21($Global) 8 Offset 60 + MemberDecorate 21($Global) 9 Offset 64 + Decorate 21($Global) Block + Decorate 23 DescriptorSet 0 + Decorate 121(g_tTex1du1) DescriptorSet 0 + Decorate 217(g_tTex2di1) DescriptorSet 0 + Decorate 308(g_tTex2du1) DescriptorSet 0 + Decorate 399(g_tTex3di1) DescriptorSet 0 + Decorate 490(g_tTex3du1) DescriptorSet 0 + Decorate 581(g_tTex1di1a) DescriptorSet 0 + Decorate 670(g_tTex1du1a) DescriptorSet 0 + Decorate 931(g_tBuffI) DescriptorSet 0 + Decorate 1020(g_tBuffU) DescriptorSet 0 + Decorate 1117(Color) Location 0 + Decorate 1122(g_sSamp) DescriptorSet 0 + Decorate 1125(g_tTex1df1) DescriptorSet 0 + Decorate 1128(g_tTex2df1) DescriptorSet 0 + Decorate 1131(g_tTex3df1) DescriptorSet 0 + Decorate 1134(g_tTex1df1a) DescriptorSet 0 + Decorate 1137(g_tTex2df1a) DescriptorSet 0 + Decorate 1140(g_tTex2di1a) DescriptorSet 0 + Decorate 1143(g_tTex2du1a) DescriptorSet 0 + Decorate 1146(g_tBuffF) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeImage 6(int) 1D nonsampled format:R32i - 8: TypePointer UniformConstant 7 - 9(g_tTex1di1): 8(ptr) Variable UniformConstant - 10: TypeInt 32 0 - 11: TypeVector 10(int) 2 - 12: TypeVector 10(int) 3 - 13: TypeVector 6(int) 2 - 14: TypeVector 6(int) 3 - 15($Global): TypeStruct 10(int) 11(ivec2) 12(ivec3) 10(int) 10(int) 6(int) 13(ivec2) 14(ivec3) 6(int) 6(int) - 16: TypePointer Uniform 15($Global) - 17: 16(ptr) Variable Uniform - 18: 6(int) Constant 5 - 19: TypePointer Uniform 6(int) - 22: 6(int) Constant 8 - 25: 10(int) Constant 0 - 26: TypePointer Image 6(int) - 28: 10(int) Constant 1 - 30: TypePointer Function 6(int) - 54: 6(int) Constant 9 - 113: TypeImage 10(int) 1D nonsampled format:R32ui - 114: TypePointer UniformConstant 113 - 115(g_tTex1du1): 114(ptr) Variable UniformConstant - 116: 6(int) Constant 0 - 117: TypePointer Uniform 10(int) - 122: TypePointer Image 10(int) - 125: TypePointer Function 10(int) - 147: 6(int) Constant 3 - 150: 6(int) Constant 4 - 209: TypeImage 6(int) 2D nonsampled format:R32i - 210: TypePointer UniformConstant 209 - 211(g_tTex2di1): 210(ptr) Variable UniformConstant - 212: 6(int) Constant 6 - 213: TypePointer Uniform 13(ivec2) - 300: TypeImage 10(int) 2D nonsampled format:R32ui - 301: TypePointer UniformConstant 300 - 302(g_tTex2du1): 301(ptr) Variable UniformConstant - 303: 6(int) Constant 1 - 304: TypePointer Uniform 11(ivec2) - 391: TypeImage 6(int) 3D nonsampled format:R32i - 392: TypePointer UniformConstant 391 - 393(g_tTex3di1): 392(ptr) Variable UniformConstant - 394: 6(int) Constant 7 - 395: TypePointer Uniform 14(ivec3) - 482: TypeImage 10(int) 3D nonsampled format:R32ui - 483: TypePointer UniformConstant 482 - 484(g_tTex3du1): 483(ptr) Variable UniformConstant - 485: 6(int) Constant 2 - 486: TypePointer Uniform 12(ivec3) - 573: TypeImage 6(int) 1D array nonsampled format:R32i - 574: TypePointer UniformConstant 573 -575(g_tTex1di1a): 574(ptr) Variable UniformConstant - 662: TypeImage 10(int) 1D array nonsampled format:R32ui - 663: TypePointer UniformConstant 662 -664(g_tTex1du1a): 663(ptr) Variable UniformConstant - 923: TypeImage 6(int) Buffer nonsampled format:R32i - 924: TypePointer UniformConstant 923 - 925(g_tBuffI): 924(ptr) Variable UniformConstant - 1012: TypeImage 10(int) Buffer nonsampled format:R32ui - 1013: TypePointer UniformConstant 1012 - 1014(g_tBuffU): 1013(ptr) Variable UniformConstant - 1101: TypeFloat 32 - 1102: TypeVector 1101(float) 4 - 1103(PS_OUTPUT): TypeStruct 1102(fvec4) - 1104: TypePointer Function 1103(PS_OUTPUT) - 1106: 1101(float) Constant 1065353216 - 1107: 1102(fvec4) ConstantComposite 1106 1106 1106 1106 - 1108: TypePointer Function 1102(fvec4) - 1110: TypePointer Output 1102(fvec4) - 1111(Color): 1110(ptr) Variable Output - 1115: TypeSampler - 1116: TypePointer UniformConstant 1115 - 1117(g_sSamp): 1116(ptr) Variable UniformConstant - 1118: TypeImage 1101(float) 1D nonsampled format:R32f - 1119: TypePointer UniformConstant 1118 -1120(g_tTex1df1): 1119(ptr) Variable UniformConstant - 1121: TypeImage 1101(float) 2D nonsampled format:R32f - 1122: TypePointer UniformConstant 1121 -1123(g_tTex2df1): 1122(ptr) Variable UniformConstant - 1124: TypeImage 1101(float) 3D nonsampled format:R32f - 1125: TypePointer UniformConstant 1124 -1126(g_tTex3df1): 1125(ptr) Variable UniformConstant - 1127: TypeImage 1101(float) 1D array nonsampled format:R32f - 1128: TypePointer UniformConstant 1127 -1129(g_tTex1df1a): 1128(ptr) Variable UniformConstant - 1130: TypeImage 1101(float) 2D array nonsampled format:R32f - 1131: TypePointer UniformConstant 1130 -1132(g_tTex2df1a): 1131(ptr) Variable UniformConstant - 1133: TypeImage 6(int) 2D array nonsampled format:R32i - 1134: TypePointer UniformConstant 1133 -1135(g_tTex2di1a): 1134(ptr) Variable UniformConstant - 1136: TypeImage 10(int) 2D array nonsampled format:R32ui - 1137: TypePointer UniformConstant 1136 -1138(g_tTex2du1a): 1137(ptr) Variable UniformConstant - 1139: TypeImage 1101(float) Buffer nonsampled format:R32f - 1140: TypePointer UniformConstant 1139 - 1141(g_tBuffF): 1140(ptr) Variable UniformConstant + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13: TypeImage 12(int) 1D nonsampled format:R32i + 14: TypePointer UniformConstant 13 + 15(g_tTex1di1): 14(ptr) Variable UniformConstant + 16: TypeInt 32 0 + 17: TypeVector 16(int) 2 + 18: TypeVector 16(int) 3 + 19: TypeVector 12(int) 2 + 20: TypeVector 12(int) 3 + 21($Global): TypeStruct 16(int) 17(ivec2) 18(ivec3) 16(int) 16(int) 12(int) 19(ivec2) 20(ivec3) 12(int) 12(int) + 22: TypePointer Uniform 21($Global) + 23: 22(ptr) Variable Uniform + 24: 12(int) Constant 5 + 25: TypePointer Uniform 12(int) + 28: 12(int) Constant 8 + 31: 16(int) Constant 0 + 32: TypePointer Image 12(int) + 34: 16(int) Constant 1 + 36: TypePointer Function 12(int) + 60: 12(int) Constant 9 + 119: TypeImage 16(int) 1D nonsampled format:R32ui + 120: TypePointer UniformConstant 119 + 121(g_tTex1du1): 120(ptr) Variable UniformConstant + 122: 12(int) Constant 0 + 123: TypePointer Uniform 16(int) + 128: TypePointer Image 16(int) + 131: TypePointer Function 16(int) + 153: 12(int) Constant 3 + 156: 12(int) Constant 4 + 215: TypeImage 12(int) 2D nonsampled format:R32i + 216: TypePointer UniformConstant 215 + 217(g_tTex2di1): 216(ptr) Variable UniformConstant + 218: 12(int) Constant 6 + 219: TypePointer Uniform 19(ivec2) + 306: TypeImage 16(int) 2D nonsampled format:R32ui + 307: TypePointer UniformConstant 306 + 308(g_tTex2du1): 307(ptr) Variable UniformConstant + 309: 12(int) Constant 1 + 310: TypePointer Uniform 17(ivec2) + 397: TypeImage 12(int) 3D nonsampled format:R32i + 398: TypePointer UniformConstant 397 + 399(g_tTex3di1): 398(ptr) Variable UniformConstant + 400: 12(int) Constant 7 + 401: TypePointer Uniform 20(ivec3) + 488: TypeImage 16(int) 3D nonsampled format:R32ui + 489: TypePointer UniformConstant 488 + 490(g_tTex3du1): 489(ptr) Variable UniformConstant + 491: 12(int) Constant 2 + 492: TypePointer Uniform 18(ivec3) + 579: TypeImage 12(int) 1D array nonsampled format:R32i + 580: TypePointer UniformConstant 579 +581(g_tTex1di1a): 580(ptr) Variable UniformConstant + 668: TypeImage 16(int) 1D array nonsampled format:R32ui + 669: TypePointer UniformConstant 668 +670(g_tTex1du1a): 669(ptr) Variable UniformConstant + 929: TypeImage 12(int) Buffer nonsampled format:R32i + 930: TypePointer UniformConstant 929 + 931(g_tBuffI): 930(ptr) Variable UniformConstant + 1018: TypeImage 16(int) Buffer nonsampled format:R32ui + 1019: TypePointer UniformConstant 1018 + 1020(g_tBuffU): 1019(ptr) Variable UniformConstant + 1107: TypePointer Function 8(PS_OUTPUT) + 1109: 6(float) Constant 1065353216 + 1110: 7(fvec4) ConstantComposite 1109 1109 1109 1109 + 1111: TypePointer Function 7(fvec4) + 1116: TypePointer Output 7(fvec4) + 1117(Color): 1116(ptr) Variable Output + 1120: TypeSampler + 1121: TypePointer UniformConstant 1120 + 1122(g_sSamp): 1121(ptr) Variable UniformConstant + 1123: TypeImage 6(float) 1D nonsampled format:R32f + 1124: TypePointer UniformConstant 1123 +1125(g_tTex1df1): 1124(ptr) Variable UniformConstant + 1126: TypeImage 6(float) 2D nonsampled format:R32f + 1127: TypePointer UniformConstant 1126 +1128(g_tTex2df1): 1127(ptr) Variable UniformConstant + 1129: TypeImage 6(float) 3D nonsampled format:R32f + 1130: TypePointer UniformConstant 1129 +1131(g_tTex3df1): 1130(ptr) Variable UniformConstant + 1132: TypeImage 6(float) 1D array nonsampled format:R32f + 1133: TypePointer UniformConstant 1132 +1134(g_tTex1df1a): 1133(ptr) Variable UniformConstant + 1135: TypeImage 6(float) 2D array nonsampled format:R32f + 1136: TypePointer UniformConstant 1135 +1137(g_tTex2df1a): 1136(ptr) Variable UniformConstant + 1138: TypeImage 12(int) 2D array nonsampled format:R32i + 1139: TypePointer UniformConstant 1138 +1140(g_tTex2di1a): 1139(ptr) Variable UniformConstant + 1141: TypeImage 16(int) 2D array nonsampled format:R32ui + 1142: TypePointer UniformConstant 1141 +1143(g_tTex2du1a): 1142(ptr) Variable UniformConstant + 1144: TypeImage 6(float) Buffer nonsampled format:R32f + 1145: TypePointer UniformConstant 1144 + 1146(g_tBuffF): 1145(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 31(out_i1): 30(ptr) Variable Function - 126(out_u1): 125(ptr) Variable Function - 1105(psout): 1104(ptr) Variable Function - 20: 19(ptr) AccessChain 17 18 - 21: 6(int) Load 20 - 23: 19(ptr) AccessChain 17 22 - 24: 6(int) Load 23 - 27: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 21 25 - 29: 6(int) AtomicIAdd 27 28 25 24 - 32: 19(ptr) AccessChain 17 18 - 33: 6(int) Load 32 - 34: 19(ptr) AccessChain 17 18 - 35: 6(int) Load 34 - 36: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 33 25 - 37: 6(int) AtomicIAdd 36 28 25 35 - Store 31(out_i1) 37 - 38: 19(ptr) AccessChain 17 18 - 39: 6(int) Load 38 - 40: 19(ptr) AccessChain 17 22 - 41: 6(int) Load 40 - 42: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 39 25 - 43: 6(int) AtomicAnd 42 28 25 41 - 44: 19(ptr) AccessChain 17 18 - 45: 6(int) Load 44 - 46: 19(ptr) AccessChain 17 18 - 47: 6(int) Load 46 - 48: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 45 25 - 49: 6(int) AtomicAnd 48 28 25 47 - Store 31(out_i1) 49 - 50: 19(ptr) AccessChain 17 18 - 51: 6(int) Load 50 - 52: 19(ptr) AccessChain 17 22 - 53: 6(int) Load 52 - 55: 19(ptr) AccessChain 17 54 - 56: 6(int) Load 55 - 57: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 51 25 - 58: 6(int) AtomicCompareExchange 57 28 25 25 56 53 - Store 31(out_i1) 58 - 59: 19(ptr) AccessChain 17 18 - 60: 6(int) Load 59 - 61: 19(ptr) AccessChain 17 18 - 62: 6(int) Load 61 - 63: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 60 25 - 64: 6(int) AtomicExchange 63 28 25 62 - Store 31(out_i1) 64 - 65: 19(ptr) AccessChain 17 18 - 66: 6(int) Load 65 - 67: 19(ptr) AccessChain 17 22 - 68: 6(int) Load 67 - 69: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 66 25 - 70: 6(int) AtomicSMax 69 28 25 68 - 71: 19(ptr) AccessChain 17 18 - 72: 6(int) Load 71 - 73: 19(ptr) AccessChain 17 18 - 74: 6(int) Load 73 - 75: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 72 25 - 76: 6(int) AtomicSMax 75 28 25 74 - Store 31(out_i1) 76 - 77: 19(ptr) AccessChain 17 18 - 78: 6(int) Load 77 - 79: 19(ptr) AccessChain 17 22 - 80: 6(int) Load 79 - 81: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 78 25 - 82: 6(int) AtomicSMin 81 28 25 80 - 83: 19(ptr) AccessChain 17 18 - 84: 6(int) Load 83 - 85: 19(ptr) AccessChain 17 18 - 86: 6(int) Load 85 - 87: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 84 25 - 88: 6(int) AtomicSMin 87 28 25 86 - Store 31(out_i1) 88 - 89: 19(ptr) AccessChain 17 18 - 90: 6(int) Load 89 - 91: 19(ptr) AccessChain 17 22 - 92: 6(int) Load 91 - 93: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 90 25 - 94: 6(int) AtomicOr 93 28 25 92 - 95: 19(ptr) AccessChain 17 18 - 96: 6(int) Load 95 - 97: 19(ptr) AccessChain 17 18 - 98: 6(int) Load 97 - 99: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 96 25 - 100: 6(int) AtomicOr 99 28 25 98 - Store 31(out_i1) 100 - 101: 19(ptr) AccessChain 17 18 - 102: 6(int) Load 101 - 103: 19(ptr) AccessChain 17 22 - 104: 6(int) Load 103 - 105: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 102 25 - 106: 6(int) AtomicXor 105 28 25 104 - 107: 19(ptr) AccessChain 17 18 - 108: 6(int) Load 107 - 109: 19(ptr) AccessChain 17 18 - 110: 6(int) Load 109 - 111: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 108 25 - 112: 6(int) AtomicXor 111 28 25 110 - Store 31(out_i1) 112 - 118: 117(ptr) AccessChain 17 116 - 119: 10(int) Load 118 - 120: 117(ptr) AccessChain 17 116 - 121: 10(int) Load 120 - 123: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 119 25 - 124: 10(int) AtomicIAdd 123 28 25 121 - 127: 117(ptr) AccessChain 17 116 - 128: 10(int) Load 127 - 129: 117(ptr) AccessChain 17 116 - 130: 10(int) Load 129 - 131: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 128 25 - 132: 10(int) AtomicIAdd 131 28 25 130 - Store 126(out_u1) 132 - 133: 117(ptr) AccessChain 17 116 - 134: 10(int) Load 133 - 135: 117(ptr) AccessChain 17 116 - 136: 10(int) Load 135 - 137: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 134 25 - 138: 10(int) AtomicAnd 137 28 25 136 - 139: 117(ptr) AccessChain 17 116 - 140: 10(int) Load 139 - 141: 117(ptr) AccessChain 17 116 - 142: 10(int) Load 141 - 143: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 140 25 - 144: 10(int) AtomicAnd 143 28 25 142 - Store 126(out_u1) 144 - 145: 117(ptr) AccessChain 17 116 - 146: 10(int) Load 145 - 148: 117(ptr) AccessChain 17 147 - 149: 10(int) Load 148 - 151: 117(ptr) AccessChain 17 150 - 152: 10(int) Load 151 - 153: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 146 25 - 154: 10(int) AtomicCompareExchange 153 28 25 25 152 149 - Store 126(out_u1) 154 - 155: 117(ptr) AccessChain 17 116 - 156: 10(int) Load 155 - 157: 117(ptr) AccessChain 17 116 - 158: 10(int) Load 157 - 159: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 156 25 - 160: 10(int) AtomicExchange 159 28 25 158 - Store 126(out_u1) 160 - 161: 117(ptr) AccessChain 17 116 - 162: 10(int) Load 161 - 163: 117(ptr) AccessChain 17 116 - 164: 10(int) Load 163 - 165: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 162 25 - 166: 10(int) AtomicUMax 165 28 25 164 - 167: 117(ptr) AccessChain 17 116 - 168: 10(int) Load 167 - 169: 117(ptr) AccessChain 17 116 - 170: 10(int) Load 169 - 171: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 168 25 - 172: 10(int) AtomicUMax 171 28 25 170 - Store 126(out_u1) 172 - 173: 117(ptr) AccessChain 17 116 - 174: 10(int) Load 173 - 175: 117(ptr) AccessChain 17 116 - 176: 10(int) Load 175 - 177: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 174 25 - 178: 10(int) AtomicUMin 177 28 25 176 - 179: 117(ptr) AccessChain 17 116 - 180: 10(int) Load 179 - 181: 117(ptr) AccessChain 17 116 - 182: 10(int) Load 181 - 183: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 180 25 - 184: 10(int) AtomicUMin 183 28 25 182 - Store 126(out_u1) 184 - 185: 117(ptr) AccessChain 17 116 - 186: 10(int) Load 185 - 187: 117(ptr) AccessChain 17 116 - 188: 10(int) Load 187 - 189: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 186 25 - 190: 10(int) AtomicOr 189 28 25 188 - 191: 117(ptr) AccessChain 17 116 - 192: 10(int) Load 191 - 193: 117(ptr) AccessChain 17 116 - 194: 10(int) Load 193 - 195: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 192 25 - 196: 10(int) AtomicOr 195 28 25 194 - Store 126(out_u1) 196 - 197: 117(ptr) AccessChain 17 116 - 198: 10(int) Load 197 - 199: 117(ptr) AccessChain 17 116 - 200: 10(int) Load 199 - 201: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 198 25 - 202: 10(int) AtomicXor 201 28 25 200 - 203: 117(ptr) AccessChain 17 116 - 204: 10(int) Load 203 - 205: 117(ptr) AccessChain 17 116 - 206: 10(int) Load 205 - 207: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 204 25 - 208: 10(int) AtomicXor 207 28 25 206 - Store 126(out_u1) 208 - 214: 213(ptr) AccessChain 17 212 - 215: 13(ivec2) Load 214 - 216: 19(ptr) AccessChain 17 22 - 217: 6(int) Load 216 - 218: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 215 25 - 219: 6(int) AtomicIAdd 218 28 25 217 - 220: 213(ptr) AccessChain 17 212 - 221: 13(ivec2) Load 220 - 222: 19(ptr) AccessChain 17 18 - 223: 6(int) Load 222 - 224: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 221 25 - 225: 6(int) AtomicIAdd 224 28 25 223 - Store 31(out_i1) 225 - 226: 213(ptr) AccessChain 17 212 - 227: 13(ivec2) Load 226 - 228: 19(ptr) AccessChain 17 22 - 229: 6(int) Load 228 - 230: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 227 25 - 231: 6(int) AtomicAnd 230 28 25 229 - 232: 213(ptr) AccessChain 17 212 - 233: 13(ivec2) Load 232 - 234: 19(ptr) AccessChain 17 18 - 235: 6(int) Load 234 - 236: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 233 25 - 237: 6(int) AtomicAnd 236 28 25 235 - Store 31(out_i1) 237 - 238: 213(ptr) AccessChain 17 212 - 239: 13(ivec2) Load 238 - 240: 19(ptr) AccessChain 17 22 - 241: 6(int) Load 240 - 242: 19(ptr) AccessChain 17 54 - 243: 6(int) Load 242 - 244: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 239 25 - 245: 6(int) AtomicCompareExchange 244 28 25 25 243 241 - Store 31(out_i1) 245 - 246: 213(ptr) AccessChain 17 212 - 247: 13(ivec2) Load 246 - 248: 19(ptr) AccessChain 17 18 - 249: 6(int) Load 248 - 250: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 247 25 - 251: 6(int) AtomicExchange 250 28 25 249 - Store 31(out_i1) 251 - 252: 213(ptr) AccessChain 17 212 - 253: 13(ivec2) Load 252 - 254: 19(ptr) AccessChain 17 22 - 255: 6(int) Load 254 - 256: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 253 25 - 257: 6(int) AtomicSMax 256 28 25 255 - 258: 213(ptr) AccessChain 17 212 - 259: 13(ivec2) Load 258 - 260: 19(ptr) AccessChain 17 18 - 261: 6(int) Load 260 - 262: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 259 25 - 263: 6(int) AtomicSMax 262 28 25 261 - Store 31(out_i1) 263 - 264: 213(ptr) AccessChain 17 212 - 265: 13(ivec2) Load 264 - 266: 19(ptr) AccessChain 17 22 - 267: 6(int) Load 266 - 268: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 265 25 - 269: 6(int) AtomicSMin 268 28 25 267 - 270: 213(ptr) AccessChain 17 212 - 271: 13(ivec2) Load 270 - 272: 19(ptr) AccessChain 17 18 - 273: 6(int) Load 272 - 274: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 271 25 - 275: 6(int) AtomicSMin 274 28 25 273 - Store 31(out_i1) 275 - 276: 213(ptr) AccessChain 17 212 - 277: 13(ivec2) Load 276 - 278: 19(ptr) AccessChain 17 22 - 279: 6(int) Load 278 - 280: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 277 25 - 281: 6(int) AtomicOr 280 28 25 279 - 282: 213(ptr) AccessChain 17 212 - 283: 13(ivec2) Load 282 - 284: 19(ptr) AccessChain 17 18 - 285: 6(int) Load 284 - 286: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 283 25 - 287: 6(int) AtomicOr 286 28 25 285 - Store 31(out_i1) 287 - 288: 213(ptr) AccessChain 17 212 - 289: 13(ivec2) Load 288 - 290: 19(ptr) AccessChain 17 22 - 291: 6(int) Load 290 - 292: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 289 25 - 293: 6(int) AtomicXor 292 28 25 291 - 294: 213(ptr) AccessChain 17 212 - 295: 13(ivec2) Load 294 - 296: 19(ptr) AccessChain 17 18 - 297: 6(int) Load 296 - 298: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 295 25 - 299: 6(int) AtomicXor 298 28 25 297 - Store 31(out_i1) 299 - 305: 304(ptr) AccessChain 17 303 - 306: 11(ivec2) Load 305 - 307: 117(ptr) AccessChain 17 116 - 308: 10(int) Load 307 - 309: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 306 25 - 310: 10(int) AtomicIAdd 309 28 25 308 - 311: 304(ptr) AccessChain 17 303 - 312: 11(ivec2) Load 311 - 313: 117(ptr) AccessChain 17 116 - 314: 10(int) Load 313 - 315: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 312 25 - 316: 10(int) AtomicIAdd 315 28 25 314 - Store 126(out_u1) 316 - 317: 304(ptr) AccessChain 17 303 - 318: 11(ivec2) Load 317 - 319: 117(ptr) AccessChain 17 116 - 320: 10(int) Load 319 - 321: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 318 25 - 322: 10(int) AtomicAnd 321 28 25 320 - 323: 304(ptr) AccessChain 17 303 - 324: 11(ivec2) Load 323 - 325: 117(ptr) AccessChain 17 116 - 326: 10(int) Load 325 - 327: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 324 25 - 328: 10(int) AtomicAnd 327 28 25 326 - Store 126(out_u1) 328 - 329: 304(ptr) AccessChain 17 303 - 330: 11(ivec2) Load 329 - 331: 117(ptr) AccessChain 17 147 - 332: 10(int) Load 331 - 333: 117(ptr) AccessChain 17 150 - 334: 10(int) Load 333 - 335: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 330 25 - 336: 10(int) AtomicCompareExchange 335 28 25 25 334 332 - Store 126(out_u1) 336 - 337: 304(ptr) AccessChain 17 303 - 338: 11(ivec2) Load 337 - 339: 117(ptr) AccessChain 17 116 - 340: 10(int) Load 339 - 341: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 338 25 - 342: 10(int) AtomicExchange 341 28 25 340 - Store 126(out_u1) 342 - 343: 304(ptr) AccessChain 17 303 - 344: 11(ivec2) Load 343 - 345: 117(ptr) AccessChain 17 116 - 346: 10(int) Load 345 - 347: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 344 25 - 348: 10(int) AtomicUMax 347 28 25 346 - 349: 304(ptr) AccessChain 17 303 - 350: 11(ivec2) Load 349 - 351: 117(ptr) AccessChain 17 116 - 352: 10(int) Load 351 - 353: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 350 25 - 354: 10(int) AtomicUMax 353 28 25 352 - Store 126(out_u1) 354 - 355: 304(ptr) AccessChain 17 303 - 356: 11(ivec2) Load 355 - 357: 117(ptr) AccessChain 17 116 - 358: 10(int) Load 357 - 359: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 356 25 - 360: 10(int) AtomicUMin 359 28 25 358 - 361: 304(ptr) AccessChain 17 303 - 362: 11(ivec2) Load 361 - 363: 117(ptr) AccessChain 17 116 - 364: 10(int) Load 363 - 365: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 362 25 - 366: 10(int) AtomicUMin 365 28 25 364 - Store 126(out_u1) 366 - 367: 304(ptr) AccessChain 17 303 - 368: 11(ivec2) Load 367 - 369: 117(ptr) AccessChain 17 116 - 370: 10(int) Load 369 - 371: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 368 25 - 372: 10(int) AtomicOr 371 28 25 370 - 373: 304(ptr) AccessChain 17 303 - 374: 11(ivec2) Load 373 - 375: 117(ptr) AccessChain 17 116 - 376: 10(int) Load 375 - 377: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 374 25 - 378: 10(int) AtomicOr 377 28 25 376 - Store 126(out_u1) 378 - 379: 304(ptr) AccessChain 17 303 - 380: 11(ivec2) Load 379 - 381: 117(ptr) AccessChain 17 116 - 382: 10(int) Load 381 - 383: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 380 25 - 384: 10(int) AtomicXor 383 28 25 382 - 385: 304(ptr) AccessChain 17 303 - 386: 11(ivec2) Load 385 - 387: 117(ptr) AccessChain 17 116 - 388: 10(int) Load 387 - 389: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 386 25 - 390: 10(int) AtomicXor 389 28 25 388 - Store 126(out_u1) 390 - 396: 395(ptr) AccessChain 17 394 - 397: 14(ivec3) Load 396 - 398: 19(ptr) AccessChain 17 22 - 399: 6(int) Load 398 - 400: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 397 25 - 401: 6(int) AtomicIAdd 400 28 25 399 - 402: 395(ptr) AccessChain 17 394 - 403: 14(ivec3) Load 402 - 404: 19(ptr) AccessChain 17 18 - 405: 6(int) Load 404 - 406: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 403 25 - 407: 6(int) AtomicIAdd 406 28 25 405 - Store 31(out_i1) 407 - 408: 395(ptr) AccessChain 17 394 - 409: 14(ivec3) Load 408 - 410: 19(ptr) AccessChain 17 22 - 411: 6(int) Load 410 - 412: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 409 25 - 413: 6(int) AtomicAnd 412 28 25 411 - 414: 395(ptr) AccessChain 17 394 - 415: 14(ivec3) Load 414 - 416: 19(ptr) AccessChain 17 18 - 417: 6(int) Load 416 - 418: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 415 25 - 419: 6(int) AtomicAnd 418 28 25 417 - Store 31(out_i1) 419 - 420: 395(ptr) AccessChain 17 394 - 421: 14(ivec3) Load 420 - 422: 19(ptr) AccessChain 17 22 - 423: 6(int) Load 422 - 424: 19(ptr) AccessChain 17 54 - 425: 6(int) Load 424 - 426: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 421 25 - 427: 6(int) AtomicCompareExchange 426 28 25 25 425 423 - Store 31(out_i1) 427 - 428: 395(ptr) AccessChain 17 394 - 429: 14(ivec3) Load 428 - 430: 19(ptr) AccessChain 17 18 - 431: 6(int) Load 430 - 432: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 429 25 - 433: 6(int) AtomicExchange 432 28 25 431 - Store 31(out_i1) 433 - 434: 395(ptr) AccessChain 17 394 - 435: 14(ivec3) Load 434 - 436: 19(ptr) AccessChain 17 22 - 437: 6(int) Load 436 - 438: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 435 25 - 439: 6(int) AtomicSMax 438 28 25 437 - 440: 395(ptr) AccessChain 17 394 - 441: 14(ivec3) Load 440 - 442: 19(ptr) AccessChain 17 18 - 443: 6(int) Load 442 - 444: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 441 25 - 445: 6(int) AtomicSMax 444 28 25 443 - Store 31(out_i1) 445 - 446: 395(ptr) AccessChain 17 394 - 447: 14(ivec3) Load 446 - 448: 19(ptr) AccessChain 17 22 - 449: 6(int) Load 448 - 450: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 447 25 - 451: 6(int) AtomicSMin 450 28 25 449 - 452: 395(ptr) AccessChain 17 394 - 453: 14(ivec3) Load 452 - 454: 19(ptr) AccessChain 17 18 - 455: 6(int) Load 454 - 456: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 453 25 - 457: 6(int) AtomicSMin 456 28 25 455 - Store 31(out_i1) 457 - 458: 395(ptr) AccessChain 17 394 - 459: 14(ivec3) Load 458 - 460: 19(ptr) AccessChain 17 22 - 461: 6(int) Load 460 - 462: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 459 25 - 463: 6(int) AtomicOr 462 28 25 461 - 464: 395(ptr) AccessChain 17 394 - 465: 14(ivec3) Load 464 - 466: 19(ptr) AccessChain 17 18 - 467: 6(int) Load 466 - 468: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 465 25 - 469: 6(int) AtomicOr 468 28 25 467 - Store 31(out_i1) 469 - 470: 395(ptr) AccessChain 17 394 - 471: 14(ivec3) Load 470 - 472: 19(ptr) AccessChain 17 22 - 473: 6(int) Load 472 - 474: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 471 25 - 475: 6(int) AtomicXor 474 28 25 473 - 476: 395(ptr) AccessChain 17 394 - 477: 14(ivec3) Load 476 - 478: 19(ptr) AccessChain 17 18 - 479: 6(int) Load 478 - 480: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 477 25 - 481: 6(int) AtomicXor 480 28 25 479 - Store 31(out_i1) 481 - 487: 486(ptr) AccessChain 17 485 - 488: 12(ivec3) Load 487 - 489: 117(ptr) AccessChain 17 116 - 490: 10(int) Load 489 - 491: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 488 25 - 492: 10(int) AtomicIAdd 491 28 25 490 - 493: 486(ptr) AccessChain 17 485 - 494: 12(ivec3) Load 493 - 495: 117(ptr) AccessChain 17 116 - 496: 10(int) Load 495 - 497: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 494 25 - 498: 10(int) AtomicIAdd 497 28 25 496 - Store 126(out_u1) 498 - 499: 486(ptr) AccessChain 17 485 - 500: 12(ivec3) Load 499 - 501: 117(ptr) AccessChain 17 116 - 502: 10(int) Load 501 - 503: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 500 25 - 504: 10(int) AtomicAnd 503 28 25 502 - 505: 486(ptr) AccessChain 17 485 - 506: 12(ivec3) Load 505 - 507: 117(ptr) AccessChain 17 116 - 508: 10(int) Load 507 - 509: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 506 25 - 510: 10(int) AtomicAnd 509 28 25 508 - Store 126(out_u1) 510 - 511: 486(ptr) AccessChain 17 485 - 512: 12(ivec3) Load 511 - 513: 117(ptr) AccessChain 17 147 - 514: 10(int) Load 513 - 515: 117(ptr) AccessChain 17 150 - 516: 10(int) Load 515 - 517: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 512 25 - 518: 10(int) AtomicCompareExchange 517 28 25 25 516 514 - Store 126(out_u1) 518 - 519: 486(ptr) AccessChain 17 485 - 520: 12(ivec3) Load 519 - 521: 117(ptr) AccessChain 17 116 - 522: 10(int) Load 521 - 523: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 520 25 - 524: 10(int) AtomicExchange 523 28 25 522 - Store 126(out_u1) 524 - 525: 486(ptr) AccessChain 17 485 - 526: 12(ivec3) Load 525 - 527: 117(ptr) AccessChain 17 116 - 528: 10(int) Load 527 - 529: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 526 25 - 530: 10(int) AtomicUMax 529 28 25 528 - 531: 486(ptr) AccessChain 17 485 - 532: 12(ivec3) Load 531 - 533: 117(ptr) AccessChain 17 116 - 534: 10(int) Load 533 - 535: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 532 25 - 536: 10(int) AtomicUMax 535 28 25 534 - Store 126(out_u1) 536 - 537: 486(ptr) AccessChain 17 485 - 538: 12(ivec3) Load 537 - 539: 117(ptr) AccessChain 17 116 - 540: 10(int) Load 539 - 541: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 538 25 - 542: 10(int) AtomicUMin 541 28 25 540 - 543: 486(ptr) AccessChain 17 485 - 544: 12(ivec3) Load 543 - 545: 117(ptr) AccessChain 17 116 - 546: 10(int) Load 545 - 547: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 544 25 - 548: 10(int) AtomicUMin 547 28 25 546 - Store 126(out_u1) 548 - 549: 486(ptr) AccessChain 17 485 - 550: 12(ivec3) Load 549 - 551: 117(ptr) AccessChain 17 116 - 552: 10(int) Load 551 - 553: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 550 25 - 554: 10(int) AtomicOr 553 28 25 552 - 555: 486(ptr) AccessChain 17 485 - 556: 12(ivec3) Load 555 - 557: 117(ptr) AccessChain 17 116 - 558: 10(int) Load 557 - 559: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 556 25 - 560: 10(int) AtomicOr 559 28 25 558 - Store 126(out_u1) 560 - 561: 486(ptr) AccessChain 17 485 - 562: 12(ivec3) Load 561 - 563: 117(ptr) AccessChain 17 116 - 564: 10(int) Load 563 - 565: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 562 25 - 566: 10(int) AtomicXor 565 28 25 564 - 567: 486(ptr) AccessChain 17 485 - 568: 12(ivec3) Load 567 - 569: 117(ptr) AccessChain 17 116 - 570: 10(int) Load 569 - 571: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 568 25 - 572: 10(int) AtomicXor 571 28 25 570 - Store 126(out_u1) 572 - 576: 213(ptr) AccessChain 17 212 - 577: 13(ivec2) Load 576 - 578: 19(ptr) AccessChain 17 22 - 579: 6(int) Load 578 - 580: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 577 25 - 581: 6(int) AtomicIAdd 580 28 25 579 - 582: 213(ptr) AccessChain 17 212 - 583: 13(ivec2) Load 582 - 584: 19(ptr) AccessChain 17 18 - 585: 6(int) Load 584 - 586: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 583 25 - 587: 6(int) AtomicIAdd 586 28 25 585 - Store 31(out_i1) 587 - 588: 213(ptr) AccessChain 17 212 - 589: 13(ivec2) Load 588 - 590: 19(ptr) AccessChain 17 22 - 591: 6(int) Load 590 - 592: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 589 25 - 593: 6(int) AtomicAnd 592 28 25 591 - 594: 213(ptr) AccessChain 17 212 - 595: 13(ivec2) Load 594 - 596: 19(ptr) AccessChain 17 18 - 597: 6(int) Load 596 - 598: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 595 25 - 599: 6(int) AtomicAnd 598 28 25 597 - Store 31(out_i1) 599 - 600: 213(ptr) AccessChain 17 212 - 601: 13(ivec2) Load 600 - 602: 19(ptr) AccessChain 17 22 - 603: 6(int) Load 602 - 604: 19(ptr) AccessChain 17 54 - 605: 6(int) Load 604 - 606: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 601 25 - 607: 6(int) AtomicCompareExchange 606 28 25 25 605 603 - Store 31(out_i1) 607 - 608: 213(ptr) AccessChain 17 212 - 609: 13(ivec2) Load 608 - 610: 19(ptr) AccessChain 17 18 - 611: 6(int) Load 610 - 612: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 609 25 - 613: 6(int) AtomicExchange 612 28 25 611 - Store 31(out_i1) 613 - 614: 213(ptr) AccessChain 17 212 - 615: 13(ivec2) Load 614 - 616: 19(ptr) AccessChain 17 22 - 617: 6(int) Load 616 - 618: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 615 25 - 619: 6(int) AtomicSMax 618 28 25 617 - 620: 213(ptr) AccessChain 17 212 - 621: 13(ivec2) Load 620 - 622: 19(ptr) AccessChain 17 18 - 623: 6(int) Load 622 - 624: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 621 25 - 625: 6(int) AtomicSMax 624 28 25 623 - Store 31(out_i1) 625 - 626: 213(ptr) AccessChain 17 212 - 627: 13(ivec2) Load 626 - 628: 19(ptr) AccessChain 17 22 - 629: 6(int) Load 628 - 630: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 627 25 - 631: 6(int) AtomicSMin 630 28 25 629 - 632: 213(ptr) AccessChain 17 212 - 633: 13(ivec2) Load 632 - 634: 19(ptr) AccessChain 17 18 - 635: 6(int) Load 634 - 636: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 633 25 - 637: 6(int) AtomicSMin 636 28 25 635 - Store 31(out_i1) 637 - 638: 213(ptr) AccessChain 17 212 - 639: 13(ivec2) Load 638 - 640: 19(ptr) AccessChain 17 22 - 641: 6(int) Load 640 - 642: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 639 25 - 643: 6(int) AtomicOr 642 28 25 641 - 644: 213(ptr) AccessChain 17 212 - 645: 13(ivec2) Load 644 - 646: 19(ptr) AccessChain 17 18 - 647: 6(int) Load 646 - 648: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 645 25 - 649: 6(int) AtomicOr 648 28 25 647 - Store 31(out_i1) 649 - 650: 213(ptr) AccessChain 17 212 - 651: 13(ivec2) Load 650 - 652: 19(ptr) AccessChain 17 22 - 653: 6(int) Load 652 - 654: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 651 25 - 655: 6(int) AtomicXor 654 28 25 653 - 656: 213(ptr) AccessChain 17 212 - 657: 13(ivec2) Load 656 - 658: 19(ptr) AccessChain 17 18 - 659: 6(int) Load 658 - 660: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 657 25 - 661: 6(int) AtomicXor 660 28 25 659 - Store 31(out_i1) 661 - 665: 304(ptr) AccessChain 17 303 - 666: 11(ivec2) Load 665 - 667: 117(ptr) AccessChain 17 116 - 668: 10(int) Load 667 - 669: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 666 25 - 670: 10(int) AtomicIAdd 669 28 25 668 - 671: 304(ptr) AccessChain 17 303 - 672: 11(ivec2) Load 671 - 673: 117(ptr) AccessChain 17 116 - 674: 10(int) Load 673 - 675: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 672 25 - 676: 10(int) AtomicIAdd 675 28 25 674 - Store 126(out_u1) 676 - 677: 304(ptr) AccessChain 17 303 - 678: 11(ivec2) Load 677 - 679: 117(ptr) AccessChain 17 116 - 680: 10(int) Load 679 - 681: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 678 25 - 682: 10(int) AtomicAnd 681 28 25 680 - 683: 304(ptr) AccessChain 17 303 - 684: 11(ivec2) Load 683 - 685: 117(ptr) AccessChain 17 116 - 686: 10(int) Load 685 - 687: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 684 25 - 688: 10(int) AtomicAnd 687 28 25 686 - Store 126(out_u1) 688 - 689: 304(ptr) AccessChain 17 303 - 690: 11(ivec2) Load 689 - 691: 117(ptr) AccessChain 17 147 - 692: 10(int) Load 691 - 693: 117(ptr) AccessChain 17 150 - 694: 10(int) Load 693 - 695: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 690 25 - 696: 10(int) AtomicCompareExchange 695 28 25 25 694 692 - Store 126(out_u1) 696 - 697: 304(ptr) AccessChain 17 303 - 698: 11(ivec2) Load 697 - 699: 117(ptr) AccessChain 17 116 - 700: 10(int) Load 699 - 701: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 698 25 - 702: 10(int) AtomicExchange 701 28 25 700 - Store 126(out_u1) 702 - 703: 304(ptr) AccessChain 17 303 - 704: 11(ivec2) Load 703 - 705: 117(ptr) AccessChain 17 116 - 706: 10(int) Load 705 - 707: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 704 25 - 708: 10(int) AtomicUMax 707 28 25 706 - 709: 304(ptr) AccessChain 17 303 - 710: 11(ivec2) Load 709 - 711: 117(ptr) AccessChain 17 116 - 712: 10(int) Load 711 - 713: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 710 25 - 714: 10(int) AtomicUMax 713 28 25 712 - Store 126(out_u1) 714 - 715: 304(ptr) AccessChain 17 303 - 716: 11(ivec2) Load 715 - 717: 117(ptr) AccessChain 17 116 - 718: 10(int) Load 717 - 719: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 716 25 - 720: 10(int) AtomicUMin 719 28 25 718 - 721: 304(ptr) AccessChain 17 303 - 722: 11(ivec2) Load 721 - 723: 117(ptr) AccessChain 17 116 - 724: 10(int) Load 723 - 725: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 722 25 - 726: 10(int) AtomicUMin 725 28 25 724 - Store 126(out_u1) 726 - 727: 304(ptr) AccessChain 17 303 - 728: 11(ivec2) Load 727 - 729: 117(ptr) AccessChain 17 116 - 730: 10(int) Load 729 - 731: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 728 25 - 732: 10(int) AtomicOr 731 28 25 730 - 733: 304(ptr) AccessChain 17 303 - 734: 11(ivec2) Load 733 - 735: 117(ptr) AccessChain 17 116 - 736: 10(int) Load 735 - 737: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 734 25 - 738: 10(int) AtomicOr 737 28 25 736 - Store 126(out_u1) 738 - 739: 304(ptr) AccessChain 17 303 - 740: 11(ivec2) Load 739 - 741: 117(ptr) AccessChain 17 116 - 742: 10(int) Load 741 - 743: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 740 25 - 744: 10(int) AtomicXor 743 28 25 742 - 745: 304(ptr) AccessChain 17 303 - 746: 11(ivec2) Load 745 - 747: 117(ptr) AccessChain 17 116 - 748: 10(int) Load 747 - 749: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 746 25 - 750: 10(int) AtomicXor 749 28 25 748 - Store 126(out_u1) 750 - 751: 213(ptr) AccessChain 17 212 - 752: 13(ivec2) Load 751 - 753: 19(ptr) AccessChain 17 22 - 754: 6(int) Load 753 - 755: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 752 25 - 756: 6(int) AtomicIAdd 755 28 25 754 - 757: 213(ptr) AccessChain 17 212 - 758: 13(ivec2) Load 757 - 759: 19(ptr) AccessChain 17 18 - 760: 6(int) Load 759 - 761: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 758 25 - 762: 6(int) AtomicIAdd 761 28 25 760 - Store 31(out_i1) 762 - 763: 213(ptr) AccessChain 17 212 - 764: 13(ivec2) Load 763 - 765: 19(ptr) AccessChain 17 22 - 766: 6(int) Load 765 - 767: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 764 25 - 768: 6(int) AtomicAnd 767 28 25 766 - 769: 213(ptr) AccessChain 17 212 - 770: 13(ivec2) Load 769 - 771: 19(ptr) AccessChain 17 18 - 772: 6(int) Load 771 - 773: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 770 25 - 774: 6(int) AtomicAnd 773 28 25 772 - Store 31(out_i1) 774 - 775: 213(ptr) AccessChain 17 212 - 776: 13(ivec2) Load 775 - 777: 19(ptr) AccessChain 17 22 - 778: 6(int) Load 777 - 779: 19(ptr) AccessChain 17 54 - 780: 6(int) Load 779 - 781: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 776 25 - 782: 6(int) AtomicCompareExchange 781 28 25 25 780 778 - Store 31(out_i1) 782 - 783: 213(ptr) AccessChain 17 212 - 784: 13(ivec2) Load 783 - 785: 19(ptr) AccessChain 17 18 - 786: 6(int) Load 785 - 787: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 784 25 - 788: 6(int) AtomicExchange 787 28 25 786 - Store 31(out_i1) 788 - 789: 213(ptr) AccessChain 17 212 - 790: 13(ivec2) Load 789 - 791: 19(ptr) AccessChain 17 22 - 792: 6(int) Load 791 - 793: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 790 25 - 794: 6(int) AtomicSMax 793 28 25 792 - 795: 213(ptr) AccessChain 17 212 - 796: 13(ivec2) Load 795 - 797: 19(ptr) AccessChain 17 18 - 798: 6(int) Load 797 - 799: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 796 25 - 800: 6(int) AtomicSMax 799 28 25 798 - Store 31(out_i1) 800 - 801: 213(ptr) AccessChain 17 212 - 802: 13(ivec2) Load 801 - 803: 19(ptr) AccessChain 17 22 - 804: 6(int) Load 803 - 805: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 802 25 - 806: 6(int) AtomicSMin 805 28 25 804 - 807: 213(ptr) AccessChain 17 212 - 808: 13(ivec2) Load 807 - 809: 19(ptr) AccessChain 17 18 - 810: 6(int) Load 809 - 811: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 808 25 - 812: 6(int) AtomicSMin 811 28 25 810 - Store 31(out_i1) 812 - 813: 213(ptr) AccessChain 17 212 - 814: 13(ivec2) Load 813 - 815: 19(ptr) AccessChain 17 22 - 816: 6(int) Load 815 - 817: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 814 25 - 818: 6(int) AtomicOr 817 28 25 816 - 819: 213(ptr) AccessChain 17 212 - 820: 13(ivec2) Load 819 - 821: 19(ptr) AccessChain 17 18 - 822: 6(int) Load 821 - 823: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 820 25 - 824: 6(int) AtomicOr 823 28 25 822 - Store 31(out_i1) 824 - 825: 213(ptr) AccessChain 17 212 - 826: 13(ivec2) Load 825 - 827: 19(ptr) AccessChain 17 22 - 828: 6(int) Load 827 - 829: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 826 25 - 830: 6(int) AtomicXor 829 28 25 828 - 831: 213(ptr) AccessChain 17 212 - 832: 13(ivec2) Load 831 - 833: 19(ptr) AccessChain 17 18 - 834: 6(int) Load 833 - 835: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 832 25 - 836: 6(int) AtomicXor 835 28 25 834 - Store 31(out_i1) 836 - 837: 304(ptr) AccessChain 17 303 - 838: 11(ivec2) Load 837 - 839: 117(ptr) AccessChain 17 116 - 840: 10(int) Load 839 - 841: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 838 25 - 842: 10(int) AtomicIAdd 841 28 25 840 - 843: 304(ptr) AccessChain 17 303 - 844: 11(ivec2) Load 843 - 845: 117(ptr) AccessChain 17 116 - 846: 10(int) Load 845 - 847: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 844 25 - 848: 10(int) AtomicIAdd 847 28 25 846 - Store 126(out_u1) 848 - 849: 304(ptr) AccessChain 17 303 - 850: 11(ivec2) Load 849 - 851: 117(ptr) AccessChain 17 116 - 852: 10(int) Load 851 - 853: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 850 25 - 854: 10(int) AtomicAnd 853 28 25 852 - 855: 304(ptr) AccessChain 17 303 - 856: 11(ivec2) Load 855 - 857: 117(ptr) AccessChain 17 116 - 858: 10(int) Load 857 - 859: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 856 25 - 860: 10(int) AtomicAnd 859 28 25 858 - Store 126(out_u1) 860 - 861: 304(ptr) AccessChain 17 303 - 862: 11(ivec2) Load 861 - 863: 117(ptr) AccessChain 17 147 - 864: 10(int) Load 863 - 865: 117(ptr) AccessChain 17 150 - 866: 10(int) Load 865 - 867: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 862 25 - 868: 10(int) AtomicCompareExchange 867 28 25 25 866 864 - Store 126(out_u1) 868 - 869: 304(ptr) AccessChain 17 303 - 870: 11(ivec2) Load 869 - 871: 117(ptr) AccessChain 17 116 - 872: 10(int) Load 871 - 873: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 870 25 - 874: 10(int) AtomicExchange 873 28 25 872 - Store 126(out_u1) 874 - 875: 304(ptr) AccessChain 17 303 - 876: 11(ivec2) Load 875 - 877: 117(ptr) AccessChain 17 116 - 878: 10(int) Load 877 - 879: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 876 25 - 880: 10(int) AtomicUMax 879 28 25 878 - 881: 304(ptr) AccessChain 17 303 - 882: 11(ivec2) Load 881 - 883: 117(ptr) AccessChain 17 116 - 884: 10(int) Load 883 - 885: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 882 25 - 886: 10(int) AtomicUMax 885 28 25 884 - Store 126(out_u1) 886 - 887: 304(ptr) AccessChain 17 303 - 888: 11(ivec2) Load 887 - 889: 117(ptr) AccessChain 17 116 - 890: 10(int) Load 889 - 891: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 888 25 - 892: 10(int) AtomicUMin 891 28 25 890 - 893: 304(ptr) AccessChain 17 303 - 894: 11(ivec2) Load 893 - 895: 117(ptr) AccessChain 17 116 - 896: 10(int) Load 895 - 897: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 894 25 - 898: 10(int) AtomicUMin 897 28 25 896 - Store 126(out_u1) 898 - 899: 304(ptr) AccessChain 17 303 - 900: 11(ivec2) Load 899 - 901: 117(ptr) AccessChain 17 116 - 902: 10(int) Load 901 - 903: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 900 25 - 904: 10(int) AtomicOr 903 28 25 902 - 905: 304(ptr) AccessChain 17 303 - 906: 11(ivec2) Load 905 - 907: 117(ptr) AccessChain 17 116 - 908: 10(int) Load 907 - 909: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 906 25 - 910: 10(int) AtomicOr 909 28 25 908 - Store 126(out_u1) 910 - 911: 304(ptr) AccessChain 17 303 - 912: 11(ivec2) Load 911 - 913: 117(ptr) AccessChain 17 116 - 914: 10(int) Load 913 - 915: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 912 25 - 916: 10(int) AtomicXor 915 28 25 914 - 917: 304(ptr) AccessChain 17 303 - 918: 11(ivec2) Load 917 - 919: 117(ptr) AccessChain 17 116 - 920: 10(int) Load 919 - 921: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 918 25 - 922: 10(int) AtomicXor 921 28 25 920 - Store 126(out_u1) 922 - 926: 19(ptr) AccessChain 17 18 - 927: 6(int) Load 926 - 928: 19(ptr) AccessChain 17 22 - 929: 6(int) Load 928 - 930: 26(ptr) ImageTexelPointer 925(g_tBuffI) 927 25 - 931: 6(int) AtomicIAdd 930 28 25 929 - 932: 19(ptr) AccessChain 17 18 - 933: 6(int) Load 932 - 934: 19(ptr) AccessChain 17 18 - 935: 6(int) Load 934 - 936: 26(ptr) ImageTexelPointer 925(g_tBuffI) 933 25 - 937: 6(int) AtomicIAdd 936 28 25 935 - Store 31(out_i1) 937 - 938: 19(ptr) AccessChain 17 18 - 939: 6(int) Load 938 - 940: 19(ptr) AccessChain 17 22 - 941: 6(int) Load 940 - 942: 26(ptr) ImageTexelPointer 925(g_tBuffI) 939 25 - 943: 6(int) AtomicAnd 942 28 25 941 - 944: 19(ptr) AccessChain 17 18 - 945: 6(int) Load 944 - 946: 19(ptr) AccessChain 17 18 - 947: 6(int) Load 946 - 948: 26(ptr) ImageTexelPointer 925(g_tBuffI) 945 25 - 949: 6(int) AtomicAnd 948 28 25 947 - Store 31(out_i1) 949 - 950: 19(ptr) AccessChain 17 18 - 951: 6(int) Load 950 - 952: 19(ptr) AccessChain 17 22 - 953: 6(int) Load 952 - 954: 19(ptr) AccessChain 17 54 - 955: 6(int) Load 954 - 956: 26(ptr) ImageTexelPointer 925(g_tBuffI) 951 25 - 957: 6(int) AtomicCompareExchange 956 28 25 25 955 953 - Store 31(out_i1) 957 - 958: 19(ptr) AccessChain 17 18 - 959: 6(int) Load 958 - 960: 19(ptr) AccessChain 17 18 - 961: 6(int) Load 960 - 962: 26(ptr) ImageTexelPointer 925(g_tBuffI) 959 25 - 963: 6(int) AtomicExchange 962 28 25 961 - Store 31(out_i1) 963 - 964: 19(ptr) AccessChain 17 18 - 965: 6(int) Load 964 - 966: 19(ptr) AccessChain 17 22 - 967: 6(int) Load 966 - 968: 26(ptr) ImageTexelPointer 925(g_tBuffI) 965 25 - 969: 6(int) AtomicSMax 968 28 25 967 - 970: 19(ptr) AccessChain 17 18 - 971: 6(int) Load 970 - 972: 19(ptr) AccessChain 17 18 - 973: 6(int) Load 972 - 974: 26(ptr) ImageTexelPointer 925(g_tBuffI) 971 25 - 975: 6(int) AtomicSMax 974 28 25 973 - Store 31(out_i1) 975 - 976: 19(ptr) AccessChain 17 18 - 977: 6(int) Load 976 - 978: 19(ptr) AccessChain 17 22 - 979: 6(int) Load 978 - 980: 26(ptr) ImageTexelPointer 925(g_tBuffI) 977 25 - 981: 6(int) AtomicSMin 980 28 25 979 - 982: 19(ptr) AccessChain 17 18 - 983: 6(int) Load 982 - 984: 19(ptr) AccessChain 17 18 - 985: 6(int) Load 984 - 986: 26(ptr) ImageTexelPointer 925(g_tBuffI) 983 25 - 987: 6(int) AtomicSMin 986 28 25 985 - Store 31(out_i1) 987 - 988: 19(ptr) AccessChain 17 18 - 989: 6(int) Load 988 - 990: 19(ptr) AccessChain 17 22 - 991: 6(int) Load 990 - 992: 26(ptr) ImageTexelPointer 925(g_tBuffI) 989 25 - 993: 6(int) AtomicOr 992 28 25 991 - 994: 19(ptr) AccessChain 17 18 - 995: 6(int) Load 994 - 996: 19(ptr) AccessChain 17 18 - 997: 6(int) Load 996 - 998: 26(ptr) ImageTexelPointer 925(g_tBuffI) 995 25 - 999: 6(int) AtomicOr 998 28 25 997 - Store 31(out_i1) 999 - 1000: 19(ptr) AccessChain 17 18 - 1001: 6(int) Load 1000 - 1002: 19(ptr) AccessChain 17 22 - 1003: 6(int) Load 1002 - 1004: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1001 25 - 1005: 6(int) AtomicXor 1004 28 25 1003 - 1006: 19(ptr) AccessChain 17 18 - 1007: 6(int) Load 1006 - 1008: 19(ptr) AccessChain 17 18 - 1009: 6(int) Load 1008 - 1010: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1007 25 - 1011: 6(int) AtomicXor 1010 28 25 1009 - Store 31(out_i1) 1011 - 1015: 117(ptr) AccessChain 17 116 - 1016: 10(int) Load 1015 - 1017: 117(ptr) AccessChain 17 116 - 1018: 10(int) Load 1017 - 1019: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1016 25 - 1020: 10(int) AtomicIAdd 1019 28 25 1018 - 1021: 117(ptr) AccessChain 17 116 - 1022: 10(int) Load 1021 - 1023: 117(ptr) AccessChain 17 116 - 1024: 10(int) Load 1023 - 1025: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1022 25 - 1026: 10(int) AtomicIAdd 1025 28 25 1024 - Store 126(out_u1) 1026 - 1027: 117(ptr) AccessChain 17 116 - 1028: 10(int) Load 1027 - 1029: 117(ptr) AccessChain 17 116 - 1030: 10(int) Load 1029 - 1031: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1028 25 - 1032: 10(int) AtomicAnd 1031 28 25 1030 - 1033: 117(ptr) AccessChain 17 116 - 1034: 10(int) Load 1033 - 1035: 117(ptr) AccessChain 17 116 - 1036: 10(int) Load 1035 - 1037: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1034 25 - 1038: 10(int) AtomicAnd 1037 28 25 1036 - Store 126(out_u1) 1038 - 1039: 117(ptr) AccessChain 17 116 - 1040: 10(int) Load 1039 - 1041: 117(ptr) AccessChain 17 147 - 1042: 10(int) Load 1041 - 1043: 117(ptr) AccessChain 17 150 - 1044: 10(int) Load 1043 - 1045: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1040 25 - 1046: 10(int) AtomicCompareExchange 1045 28 25 25 1044 1042 - Store 126(out_u1) 1046 - 1047: 117(ptr) AccessChain 17 116 - 1048: 10(int) Load 1047 - 1049: 117(ptr) AccessChain 17 116 - 1050: 10(int) Load 1049 - 1051: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1048 25 - 1052: 10(int) AtomicExchange 1051 28 25 1050 - Store 126(out_u1) 1052 - 1053: 117(ptr) AccessChain 17 116 - 1054: 10(int) Load 1053 - 1055: 117(ptr) AccessChain 17 116 - 1056: 10(int) Load 1055 - 1057: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1054 25 - 1058: 10(int) AtomicUMax 1057 28 25 1056 - 1059: 117(ptr) AccessChain 17 116 - 1060: 10(int) Load 1059 - 1061: 117(ptr) AccessChain 17 116 - 1062: 10(int) Load 1061 - 1063: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1060 25 - 1064: 10(int) AtomicUMax 1063 28 25 1062 - Store 126(out_u1) 1064 - 1065: 117(ptr) AccessChain 17 116 - 1066: 10(int) Load 1065 - 1067: 117(ptr) AccessChain 17 116 - 1068: 10(int) Load 1067 - 1069: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1066 25 - 1070: 10(int) AtomicUMin 1069 28 25 1068 - 1071: 117(ptr) AccessChain 17 116 - 1072: 10(int) Load 1071 - 1073: 117(ptr) AccessChain 17 116 - 1074: 10(int) Load 1073 - 1075: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1072 25 - 1076: 10(int) AtomicUMin 1075 28 25 1074 - Store 126(out_u1) 1076 - 1077: 117(ptr) AccessChain 17 116 - 1078: 10(int) Load 1077 - 1079: 117(ptr) AccessChain 17 116 - 1080: 10(int) Load 1079 - 1081: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1078 25 - 1082: 10(int) AtomicOr 1081 28 25 1080 - 1083: 117(ptr) AccessChain 17 116 - 1084: 10(int) Load 1083 - 1085: 117(ptr) AccessChain 17 116 - 1086: 10(int) Load 1085 - 1087: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1084 25 - 1088: 10(int) AtomicOr 1087 28 25 1086 - Store 126(out_u1) 1088 - 1089: 117(ptr) AccessChain 17 116 - 1090: 10(int) Load 1089 - 1091: 117(ptr) AccessChain 17 116 - 1092: 10(int) Load 1091 - 1093: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1090 25 - 1094: 10(int) AtomicXor 1093 28 25 1092 - 1095: 117(ptr) AccessChain 17 116 - 1096: 10(int) Load 1095 - 1097: 117(ptr) AccessChain 17 116 - 1098: 10(int) Load 1097 - 1099: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1096 25 - 1100: 10(int) AtomicXor 1099 28 25 1098 - Store 126(out_u1) 1100 - 1109: 1108(ptr) AccessChain 1105(psout) 116 - Store 1109 1107 - 1112: 1108(ptr) AccessChain 1105(psout) 116 - 1113: 1102(fvec4) Load 1112 - Store 1111(Color) 1113 + 1118:8(PS_OUTPUT) FunctionCall 10(@main() + 1119: 7(fvec4) CompositeExtract 1118 0 + Store 1117(Color) 1119 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 37(out_i1): 36(ptr) Variable Function + 132(out_u1): 131(ptr) Variable Function + 1108(psout): 1107(ptr) Variable Function + 26: 25(ptr) AccessChain 23 24 + 27: 12(int) Load 26 + 29: 25(ptr) AccessChain 23 28 + 30: 12(int) Load 29 + 33: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 27 31 + 35: 12(int) AtomicIAdd 33 34 31 30 + 38: 25(ptr) AccessChain 23 24 + 39: 12(int) Load 38 + 40: 25(ptr) AccessChain 23 24 + 41: 12(int) Load 40 + 42: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 39 31 + 43: 12(int) AtomicIAdd 42 34 31 41 + Store 37(out_i1) 43 + 44: 25(ptr) AccessChain 23 24 + 45: 12(int) Load 44 + 46: 25(ptr) AccessChain 23 28 + 47: 12(int) Load 46 + 48: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 45 31 + 49: 12(int) AtomicAnd 48 34 31 47 + 50: 25(ptr) AccessChain 23 24 + 51: 12(int) Load 50 + 52: 25(ptr) AccessChain 23 24 + 53: 12(int) Load 52 + 54: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 51 31 + 55: 12(int) AtomicAnd 54 34 31 53 + Store 37(out_i1) 55 + 56: 25(ptr) AccessChain 23 24 + 57: 12(int) Load 56 + 58: 25(ptr) AccessChain 23 28 + 59: 12(int) Load 58 + 61: 25(ptr) AccessChain 23 60 + 62: 12(int) Load 61 + 63: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 57 31 + 64: 12(int) AtomicCompareExchange 63 34 31 31 62 59 + Store 37(out_i1) 64 + 65: 25(ptr) AccessChain 23 24 + 66: 12(int) Load 65 + 67: 25(ptr) AccessChain 23 24 + 68: 12(int) Load 67 + 69: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 66 31 + 70: 12(int) AtomicExchange 69 34 31 68 + Store 37(out_i1) 70 + 71: 25(ptr) AccessChain 23 24 + 72: 12(int) Load 71 + 73: 25(ptr) AccessChain 23 28 + 74: 12(int) Load 73 + 75: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 72 31 + 76: 12(int) AtomicSMax 75 34 31 74 + 77: 25(ptr) AccessChain 23 24 + 78: 12(int) Load 77 + 79: 25(ptr) AccessChain 23 24 + 80: 12(int) Load 79 + 81: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 78 31 + 82: 12(int) AtomicSMax 81 34 31 80 + Store 37(out_i1) 82 + 83: 25(ptr) AccessChain 23 24 + 84: 12(int) Load 83 + 85: 25(ptr) AccessChain 23 28 + 86: 12(int) Load 85 + 87: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 84 31 + 88: 12(int) AtomicSMin 87 34 31 86 + 89: 25(ptr) AccessChain 23 24 + 90: 12(int) Load 89 + 91: 25(ptr) AccessChain 23 24 + 92: 12(int) Load 91 + 93: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 90 31 + 94: 12(int) AtomicSMin 93 34 31 92 + Store 37(out_i1) 94 + 95: 25(ptr) AccessChain 23 24 + 96: 12(int) Load 95 + 97: 25(ptr) AccessChain 23 28 + 98: 12(int) Load 97 + 99: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 96 31 + 100: 12(int) AtomicOr 99 34 31 98 + 101: 25(ptr) AccessChain 23 24 + 102: 12(int) Load 101 + 103: 25(ptr) AccessChain 23 24 + 104: 12(int) Load 103 + 105: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 102 31 + 106: 12(int) AtomicOr 105 34 31 104 + Store 37(out_i1) 106 + 107: 25(ptr) AccessChain 23 24 + 108: 12(int) Load 107 + 109: 25(ptr) AccessChain 23 28 + 110: 12(int) Load 109 + 111: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 108 31 + 112: 12(int) AtomicXor 111 34 31 110 + 113: 25(ptr) AccessChain 23 24 + 114: 12(int) Load 113 + 115: 25(ptr) AccessChain 23 24 + 116: 12(int) Load 115 + 117: 32(ptr) ImageTexelPointer 15(g_tTex1di1) 114 31 + 118: 12(int) AtomicXor 117 34 31 116 + Store 37(out_i1) 118 + 124: 123(ptr) AccessChain 23 122 + 125: 16(int) Load 124 + 126: 123(ptr) AccessChain 23 122 + 127: 16(int) Load 126 + 129: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 125 31 + 130: 16(int) AtomicIAdd 129 34 31 127 + 133: 123(ptr) AccessChain 23 122 + 134: 16(int) Load 133 + 135: 123(ptr) AccessChain 23 122 + 136: 16(int) Load 135 + 137: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 134 31 + 138: 16(int) AtomicIAdd 137 34 31 136 + Store 132(out_u1) 138 + 139: 123(ptr) AccessChain 23 122 + 140: 16(int) Load 139 + 141: 123(ptr) AccessChain 23 122 + 142: 16(int) Load 141 + 143: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 140 31 + 144: 16(int) AtomicAnd 143 34 31 142 + 145: 123(ptr) AccessChain 23 122 + 146: 16(int) Load 145 + 147: 123(ptr) AccessChain 23 122 + 148: 16(int) Load 147 + 149: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 146 31 + 150: 16(int) AtomicAnd 149 34 31 148 + Store 132(out_u1) 150 + 151: 123(ptr) AccessChain 23 122 + 152: 16(int) Load 151 + 154: 123(ptr) AccessChain 23 153 + 155: 16(int) Load 154 + 157: 123(ptr) AccessChain 23 156 + 158: 16(int) Load 157 + 159: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 152 31 + 160: 16(int) AtomicCompareExchange 159 34 31 31 158 155 + Store 132(out_u1) 160 + 161: 123(ptr) AccessChain 23 122 + 162: 16(int) Load 161 + 163: 123(ptr) AccessChain 23 122 + 164: 16(int) Load 163 + 165: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 162 31 + 166: 16(int) AtomicExchange 165 34 31 164 + Store 132(out_u1) 166 + 167: 123(ptr) AccessChain 23 122 + 168: 16(int) Load 167 + 169: 123(ptr) AccessChain 23 122 + 170: 16(int) Load 169 + 171: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 168 31 + 172: 16(int) AtomicUMax 171 34 31 170 + 173: 123(ptr) AccessChain 23 122 + 174: 16(int) Load 173 + 175: 123(ptr) AccessChain 23 122 + 176: 16(int) Load 175 + 177: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 174 31 + 178: 16(int) AtomicUMax 177 34 31 176 + Store 132(out_u1) 178 + 179: 123(ptr) AccessChain 23 122 + 180: 16(int) Load 179 + 181: 123(ptr) AccessChain 23 122 + 182: 16(int) Load 181 + 183: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 180 31 + 184: 16(int) AtomicUMin 183 34 31 182 + 185: 123(ptr) AccessChain 23 122 + 186: 16(int) Load 185 + 187: 123(ptr) AccessChain 23 122 + 188: 16(int) Load 187 + 189: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 186 31 + 190: 16(int) AtomicUMin 189 34 31 188 + Store 132(out_u1) 190 + 191: 123(ptr) AccessChain 23 122 + 192: 16(int) Load 191 + 193: 123(ptr) AccessChain 23 122 + 194: 16(int) Load 193 + 195: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 192 31 + 196: 16(int) AtomicOr 195 34 31 194 + 197: 123(ptr) AccessChain 23 122 + 198: 16(int) Load 197 + 199: 123(ptr) AccessChain 23 122 + 200: 16(int) Load 199 + 201: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 198 31 + 202: 16(int) AtomicOr 201 34 31 200 + Store 132(out_u1) 202 + 203: 123(ptr) AccessChain 23 122 + 204: 16(int) Load 203 + 205: 123(ptr) AccessChain 23 122 + 206: 16(int) Load 205 + 207: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 204 31 + 208: 16(int) AtomicXor 207 34 31 206 + 209: 123(ptr) AccessChain 23 122 + 210: 16(int) Load 209 + 211: 123(ptr) AccessChain 23 122 + 212: 16(int) Load 211 + 213: 128(ptr) ImageTexelPointer 121(g_tTex1du1) 210 31 + 214: 16(int) AtomicXor 213 34 31 212 + Store 132(out_u1) 214 + 220: 219(ptr) AccessChain 23 218 + 221: 19(ivec2) Load 220 + 222: 25(ptr) AccessChain 23 28 + 223: 12(int) Load 222 + 224: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 221 31 + 225: 12(int) AtomicIAdd 224 34 31 223 + 226: 219(ptr) AccessChain 23 218 + 227: 19(ivec2) Load 226 + 228: 25(ptr) AccessChain 23 24 + 229: 12(int) Load 228 + 230: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 227 31 + 231: 12(int) AtomicIAdd 230 34 31 229 + Store 37(out_i1) 231 + 232: 219(ptr) AccessChain 23 218 + 233: 19(ivec2) Load 232 + 234: 25(ptr) AccessChain 23 28 + 235: 12(int) Load 234 + 236: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 233 31 + 237: 12(int) AtomicAnd 236 34 31 235 + 238: 219(ptr) AccessChain 23 218 + 239: 19(ivec2) Load 238 + 240: 25(ptr) AccessChain 23 24 + 241: 12(int) Load 240 + 242: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 239 31 + 243: 12(int) AtomicAnd 242 34 31 241 + Store 37(out_i1) 243 + 244: 219(ptr) AccessChain 23 218 + 245: 19(ivec2) Load 244 + 246: 25(ptr) AccessChain 23 28 + 247: 12(int) Load 246 + 248: 25(ptr) AccessChain 23 60 + 249: 12(int) Load 248 + 250: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 245 31 + 251: 12(int) AtomicCompareExchange 250 34 31 31 249 247 + Store 37(out_i1) 251 + 252: 219(ptr) AccessChain 23 218 + 253: 19(ivec2) Load 252 + 254: 25(ptr) AccessChain 23 24 + 255: 12(int) Load 254 + 256: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 253 31 + 257: 12(int) AtomicExchange 256 34 31 255 + Store 37(out_i1) 257 + 258: 219(ptr) AccessChain 23 218 + 259: 19(ivec2) Load 258 + 260: 25(ptr) AccessChain 23 28 + 261: 12(int) Load 260 + 262: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 259 31 + 263: 12(int) AtomicSMax 262 34 31 261 + 264: 219(ptr) AccessChain 23 218 + 265: 19(ivec2) Load 264 + 266: 25(ptr) AccessChain 23 24 + 267: 12(int) Load 266 + 268: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 265 31 + 269: 12(int) AtomicSMax 268 34 31 267 + Store 37(out_i1) 269 + 270: 219(ptr) AccessChain 23 218 + 271: 19(ivec2) Load 270 + 272: 25(ptr) AccessChain 23 28 + 273: 12(int) Load 272 + 274: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 271 31 + 275: 12(int) AtomicSMin 274 34 31 273 + 276: 219(ptr) AccessChain 23 218 + 277: 19(ivec2) Load 276 + 278: 25(ptr) AccessChain 23 24 + 279: 12(int) Load 278 + 280: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 277 31 + 281: 12(int) AtomicSMin 280 34 31 279 + Store 37(out_i1) 281 + 282: 219(ptr) AccessChain 23 218 + 283: 19(ivec2) Load 282 + 284: 25(ptr) AccessChain 23 28 + 285: 12(int) Load 284 + 286: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 283 31 + 287: 12(int) AtomicOr 286 34 31 285 + 288: 219(ptr) AccessChain 23 218 + 289: 19(ivec2) Load 288 + 290: 25(ptr) AccessChain 23 24 + 291: 12(int) Load 290 + 292: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 289 31 + 293: 12(int) AtomicOr 292 34 31 291 + Store 37(out_i1) 293 + 294: 219(ptr) AccessChain 23 218 + 295: 19(ivec2) Load 294 + 296: 25(ptr) AccessChain 23 28 + 297: 12(int) Load 296 + 298: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 295 31 + 299: 12(int) AtomicXor 298 34 31 297 + 300: 219(ptr) AccessChain 23 218 + 301: 19(ivec2) Load 300 + 302: 25(ptr) AccessChain 23 24 + 303: 12(int) Load 302 + 304: 32(ptr) ImageTexelPointer 217(g_tTex2di1) 301 31 + 305: 12(int) AtomicXor 304 34 31 303 + Store 37(out_i1) 305 + 311: 310(ptr) AccessChain 23 309 + 312: 17(ivec2) Load 311 + 313: 123(ptr) AccessChain 23 122 + 314: 16(int) Load 313 + 315: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 312 31 + 316: 16(int) AtomicIAdd 315 34 31 314 + 317: 310(ptr) AccessChain 23 309 + 318: 17(ivec2) Load 317 + 319: 123(ptr) AccessChain 23 122 + 320: 16(int) Load 319 + 321: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 318 31 + 322: 16(int) AtomicIAdd 321 34 31 320 + Store 132(out_u1) 322 + 323: 310(ptr) AccessChain 23 309 + 324: 17(ivec2) Load 323 + 325: 123(ptr) AccessChain 23 122 + 326: 16(int) Load 325 + 327: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 324 31 + 328: 16(int) AtomicAnd 327 34 31 326 + 329: 310(ptr) AccessChain 23 309 + 330: 17(ivec2) Load 329 + 331: 123(ptr) AccessChain 23 122 + 332: 16(int) Load 331 + 333: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 330 31 + 334: 16(int) AtomicAnd 333 34 31 332 + Store 132(out_u1) 334 + 335: 310(ptr) AccessChain 23 309 + 336: 17(ivec2) Load 335 + 337: 123(ptr) AccessChain 23 153 + 338: 16(int) Load 337 + 339: 123(ptr) AccessChain 23 156 + 340: 16(int) Load 339 + 341: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 336 31 + 342: 16(int) AtomicCompareExchange 341 34 31 31 340 338 + Store 132(out_u1) 342 + 343: 310(ptr) AccessChain 23 309 + 344: 17(ivec2) Load 343 + 345: 123(ptr) AccessChain 23 122 + 346: 16(int) Load 345 + 347: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 344 31 + 348: 16(int) AtomicExchange 347 34 31 346 + Store 132(out_u1) 348 + 349: 310(ptr) AccessChain 23 309 + 350: 17(ivec2) Load 349 + 351: 123(ptr) AccessChain 23 122 + 352: 16(int) Load 351 + 353: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 350 31 + 354: 16(int) AtomicUMax 353 34 31 352 + 355: 310(ptr) AccessChain 23 309 + 356: 17(ivec2) Load 355 + 357: 123(ptr) AccessChain 23 122 + 358: 16(int) Load 357 + 359: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 356 31 + 360: 16(int) AtomicUMax 359 34 31 358 + Store 132(out_u1) 360 + 361: 310(ptr) AccessChain 23 309 + 362: 17(ivec2) Load 361 + 363: 123(ptr) AccessChain 23 122 + 364: 16(int) Load 363 + 365: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 362 31 + 366: 16(int) AtomicUMin 365 34 31 364 + 367: 310(ptr) AccessChain 23 309 + 368: 17(ivec2) Load 367 + 369: 123(ptr) AccessChain 23 122 + 370: 16(int) Load 369 + 371: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 368 31 + 372: 16(int) AtomicUMin 371 34 31 370 + Store 132(out_u1) 372 + 373: 310(ptr) AccessChain 23 309 + 374: 17(ivec2) Load 373 + 375: 123(ptr) AccessChain 23 122 + 376: 16(int) Load 375 + 377: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 374 31 + 378: 16(int) AtomicOr 377 34 31 376 + 379: 310(ptr) AccessChain 23 309 + 380: 17(ivec2) Load 379 + 381: 123(ptr) AccessChain 23 122 + 382: 16(int) Load 381 + 383: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 380 31 + 384: 16(int) AtomicOr 383 34 31 382 + Store 132(out_u1) 384 + 385: 310(ptr) AccessChain 23 309 + 386: 17(ivec2) Load 385 + 387: 123(ptr) AccessChain 23 122 + 388: 16(int) Load 387 + 389: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 386 31 + 390: 16(int) AtomicXor 389 34 31 388 + 391: 310(ptr) AccessChain 23 309 + 392: 17(ivec2) Load 391 + 393: 123(ptr) AccessChain 23 122 + 394: 16(int) Load 393 + 395: 128(ptr) ImageTexelPointer 308(g_tTex2du1) 392 31 + 396: 16(int) AtomicXor 395 34 31 394 + Store 132(out_u1) 396 + 402: 401(ptr) AccessChain 23 400 + 403: 20(ivec3) Load 402 + 404: 25(ptr) AccessChain 23 28 + 405: 12(int) Load 404 + 406: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 403 31 + 407: 12(int) AtomicIAdd 406 34 31 405 + 408: 401(ptr) AccessChain 23 400 + 409: 20(ivec3) Load 408 + 410: 25(ptr) AccessChain 23 24 + 411: 12(int) Load 410 + 412: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 409 31 + 413: 12(int) AtomicIAdd 412 34 31 411 + Store 37(out_i1) 413 + 414: 401(ptr) AccessChain 23 400 + 415: 20(ivec3) Load 414 + 416: 25(ptr) AccessChain 23 28 + 417: 12(int) Load 416 + 418: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 415 31 + 419: 12(int) AtomicAnd 418 34 31 417 + 420: 401(ptr) AccessChain 23 400 + 421: 20(ivec3) Load 420 + 422: 25(ptr) AccessChain 23 24 + 423: 12(int) Load 422 + 424: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 421 31 + 425: 12(int) AtomicAnd 424 34 31 423 + Store 37(out_i1) 425 + 426: 401(ptr) AccessChain 23 400 + 427: 20(ivec3) Load 426 + 428: 25(ptr) AccessChain 23 28 + 429: 12(int) Load 428 + 430: 25(ptr) AccessChain 23 60 + 431: 12(int) Load 430 + 432: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 427 31 + 433: 12(int) AtomicCompareExchange 432 34 31 31 431 429 + Store 37(out_i1) 433 + 434: 401(ptr) AccessChain 23 400 + 435: 20(ivec3) Load 434 + 436: 25(ptr) AccessChain 23 24 + 437: 12(int) Load 436 + 438: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 435 31 + 439: 12(int) AtomicExchange 438 34 31 437 + Store 37(out_i1) 439 + 440: 401(ptr) AccessChain 23 400 + 441: 20(ivec3) Load 440 + 442: 25(ptr) AccessChain 23 28 + 443: 12(int) Load 442 + 444: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 441 31 + 445: 12(int) AtomicSMax 444 34 31 443 + 446: 401(ptr) AccessChain 23 400 + 447: 20(ivec3) Load 446 + 448: 25(ptr) AccessChain 23 24 + 449: 12(int) Load 448 + 450: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 447 31 + 451: 12(int) AtomicSMax 450 34 31 449 + Store 37(out_i1) 451 + 452: 401(ptr) AccessChain 23 400 + 453: 20(ivec3) Load 452 + 454: 25(ptr) AccessChain 23 28 + 455: 12(int) Load 454 + 456: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 453 31 + 457: 12(int) AtomicSMin 456 34 31 455 + 458: 401(ptr) AccessChain 23 400 + 459: 20(ivec3) Load 458 + 460: 25(ptr) AccessChain 23 24 + 461: 12(int) Load 460 + 462: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 459 31 + 463: 12(int) AtomicSMin 462 34 31 461 + Store 37(out_i1) 463 + 464: 401(ptr) AccessChain 23 400 + 465: 20(ivec3) Load 464 + 466: 25(ptr) AccessChain 23 28 + 467: 12(int) Load 466 + 468: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 465 31 + 469: 12(int) AtomicOr 468 34 31 467 + 470: 401(ptr) AccessChain 23 400 + 471: 20(ivec3) Load 470 + 472: 25(ptr) AccessChain 23 24 + 473: 12(int) Load 472 + 474: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 471 31 + 475: 12(int) AtomicOr 474 34 31 473 + Store 37(out_i1) 475 + 476: 401(ptr) AccessChain 23 400 + 477: 20(ivec3) Load 476 + 478: 25(ptr) AccessChain 23 28 + 479: 12(int) Load 478 + 480: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 477 31 + 481: 12(int) AtomicXor 480 34 31 479 + 482: 401(ptr) AccessChain 23 400 + 483: 20(ivec3) Load 482 + 484: 25(ptr) AccessChain 23 24 + 485: 12(int) Load 484 + 486: 32(ptr) ImageTexelPointer 399(g_tTex3di1) 483 31 + 487: 12(int) AtomicXor 486 34 31 485 + Store 37(out_i1) 487 + 493: 492(ptr) AccessChain 23 491 + 494: 18(ivec3) Load 493 + 495: 123(ptr) AccessChain 23 122 + 496: 16(int) Load 495 + 497: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 494 31 + 498: 16(int) AtomicIAdd 497 34 31 496 + 499: 492(ptr) AccessChain 23 491 + 500: 18(ivec3) Load 499 + 501: 123(ptr) AccessChain 23 122 + 502: 16(int) Load 501 + 503: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 500 31 + 504: 16(int) AtomicIAdd 503 34 31 502 + Store 132(out_u1) 504 + 505: 492(ptr) AccessChain 23 491 + 506: 18(ivec3) Load 505 + 507: 123(ptr) AccessChain 23 122 + 508: 16(int) Load 507 + 509: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 506 31 + 510: 16(int) AtomicAnd 509 34 31 508 + 511: 492(ptr) AccessChain 23 491 + 512: 18(ivec3) Load 511 + 513: 123(ptr) AccessChain 23 122 + 514: 16(int) Load 513 + 515: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 512 31 + 516: 16(int) AtomicAnd 515 34 31 514 + Store 132(out_u1) 516 + 517: 492(ptr) AccessChain 23 491 + 518: 18(ivec3) Load 517 + 519: 123(ptr) AccessChain 23 153 + 520: 16(int) Load 519 + 521: 123(ptr) AccessChain 23 156 + 522: 16(int) Load 521 + 523: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 518 31 + 524: 16(int) AtomicCompareExchange 523 34 31 31 522 520 + Store 132(out_u1) 524 + 525: 492(ptr) AccessChain 23 491 + 526: 18(ivec3) Load 525 + 527: 123(ptr) AccessChain 23 122 + 528: 16(int) Load 527 + 529: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 526 31 + 530: 16(int) AtomicExchange 529 34 31 528 + Store 132(out_u1) 530 + 531: 492(ptr) AccessChain 23 491 + 532: 18(ivec3) Load 531 + 533: 123(ptr) AccessChain 23 122 + 534: 16(int) Load 533 + 535: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 532 31 + 536: 16(int) AtomicUMax 535 34 31 534 + 537: 492(ptr) AccessChain 23 491 + 538: 18(ivec3) Load 537 + 539: 123(ptr) AccessChain 23 122 + 540: 16(int) Load 539 + 541: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 538 31 + 542: 16(int) AtomicUMax 541 34 31 540 + Store 132(out_u1) 542 + 543: 492(ptr) AccessChain 23 491 + 544: 18(ivec3) Load 543 + 545: 123(ptr) AccessChain 23 122 + 546: 16(int) Load 545 + 547: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 544 31 + 548: 16(int) AtomicUMin 547 34 31 546 + 549: 492(ptr) AccessChain 23 491 + 550: 18(ivec3) Load 549 + 551: 123(ptr) AccessChain 23 122 + 552: 16(int) Load 551 + 553: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 550 31 + 554: 16(int) AtomicUMin 553 34 31 552 + Store 132(out_u1) 554 + 555: 492(ptr) AccessChain 23 491 + 556: 18(ivec3) Load 555 + 557: 123(ptr) AccessChain 23 122 + 558: 16(int) Load 557 + 559: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 556 31 + 560: 16(int) AtomicOr 559 34 31 558 + 561: 492(ptr) AccessChain 23 491 + 562: 18(ivec3) Load 561 + 563: 123(ptr) AccessChain 23 122 + 564: 16(int) Load 563 + 565: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 562 31 + 566: 16(int) AtomicOr 565 34 31 564 + Store 132(out_u1) 566 + 567: 492(ptr) AccessChain 23 491 + 568: 18(ivec3) Load 567 + 569: 123(ptr) AccessChain 23 122 + 570: 16(int) Load 569 + 571: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 568 31 + 572: 16(int) AtomicXor 571 34 31 570 + 573: 492(ptr) AccessChain 23 491 + 574: 18(ivec3) Load 573 + 575: 123(ptr) AccessChain 23 122 + 576: 16(int) Load 575 + 577: 128(ptr) ImageTexelPointer 490(g_tTex3du1) 574 31 + 578: 16(int) AtomicXor 577 34 31 576 + Store 132(out_u1) 578 + 582: 219(ptr) AccessChain 23 218 + 583: 19(ivec2) Load 582 + 584: 25(ptr) AccessChain 23 28 + 585: 12(int) Load 584 + 586: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 583 31 + 587: 12(int) AtomicIAdd 586 34 31 585 + 588: 219(ptr) AccessChain 23 218 + 589: 19(ivec2) Load 588 + 590: 25(ptr) AccessChain 23 24 + 591: 12(int) Load 590 + 592: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 589 31 + 593: 12(int) AtomicIAdd 592 34 31 591 + Store 37(out_i1) 593 + 594: 219(ptr) AccessChain 23 218 + 595: 19(ivec2) Load 594 + 596: 25(ptr) AccessChain 23 28 + 597: 12(int) Load 596 + 598: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 595 31 + 599: 12(int) AtomicAnd 598 34 31 597 + 600: 219(ptr) AccessChain 23 218 + 601: 19(ivec2) Load 600 + 602: 25(ptr) AccessChain 23 24 + 603: 12(int) Load 602 + 604: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 601 31 + 605: 12(int) AtomicAnd 604 34 31 603 + Store 37(out_i1) 605 + 606: 219(ptr) AccessChain 23 218 + 607: 19(ivec2) Load 606 + 608: 25(ptr) AccessChain 23 28 + 609: 12(int) Load 608 + 610: 25(ptr) AccessChain 23 60 + 611: 12(int) Load 610 + 612: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 607 31 + 613: 12(int) AtomicCompareExchange 612 34 31 31 611 609 + Store 37(out_i1) 613 + 614: 219(ptr) AccessChain 23 218 + 615: 19(ivec2) Load 614 + 616: 25(ptr) AccessChain 23 24 + 617: 12(int) Load 616 + 618: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 615 31 + 619: 12(int) AtomicExchange 618 34 31 617 + Store 37(out_i1) 619 + 620: 219(ptr) AccessChain 23 218 + 621: 19(ivec2) Load 620 + 622: 25(ptr) AccessChain 23 28 + 623: 12(int) Load 622 + 624: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 621 31 + 625: 12(int) AtomicSMax 624 34 31 623 + 626: 219(ptr) AccessChain 23 218 + 627: 19(ivec2) Load 626 + 628: 25(ptr) AccessChain 23 24 + 629: 12(int) Load 628 + 630: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 627 31 + 631: 12(int) AtomicSMax 630 34 31 629 + Store 37(out_i1) 631 + 632: 219(ptr) AccessChain 23 218 + 633: 19(ivec2) Load 632 + 634: 25(ptr) AccessChain 23 28 + 635: 12(int) Load 634 + 636: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 633 31 + 637: 12(int) AtomicSMin 636 34 31 635 + 638: 219(ptr) AccessChain 23 218 + 639: 19(ivec2) Load 638 + 640: 25(ptr) AccessChain 23 24 + 641: 12(int) Load 640 + 642: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 639 31 + 643: 12(int) AtomicSMin 642 34 31 641 + Store 37(out_i1) 643 + 644: 219(ptr) AccessChain 23 218 + 645: 19(ivec2) Load 644 + 646: 25(ptr) AccessChain 23 28 + 647: 12(int) Load 646 + 648: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 645 31 + 649: 12(int) AtomicOr 648 34 31 647 + 650: 219(ptr) AccessChain 23 218 + 651: 19(ivec2) Load 650 + 652: 25(ptr) AccessChain 23 24 + 653: 12(int) Load 652 + 654: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 651 31 + 655: 12(int) AtomicOr 654 34 31 653 + Store 37(out_i1) 655 + 656: 219(ptr) AccessChain 23 218 + 657: 19(ivec2) Load 656 + 658: 25(ptr) AccessChain 23 28 + 659: 12(int) Load 658 + 660: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 657 31 + 661: 12(int) AtomicXor 660 34 31 659 + 662: 219(ptr) AccessChain 23 218 + 663: 19(ivec2) Load 662 + 664: 25(ptr) AccessChain 23 24 + 665: 12(int) Load 664 + 666: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 663 31 + 667: 12(int) AtomicXor 666 34 31 665 + Store 37(out_i1) 667 + 671: 310(ptr) AccessChain 23 309 + 672: 17(ivec2) Load 671 + 673: 123(ptr) AccessChain 23 122 + 674: 16(int) Load 673 + 675: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 672 31 + 676: 16(int) AtomicIAdd 675 34 31 674 + 677: 310(ptr) AccessChain 23 309 + 678: 17(ivec2) Load 677 + 679: 123(ptr) AccessChain 23 122 + 680: 16(int) Load 679 + 681: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 678 31 + 682: 16(int) AtomicIAdd 681 34 31 680 + Store 132(out_u1) 682 + 683: 310(ptr) AccessChain 23 309 + 684: 17(ivec2) Load 683 + 685: 123(ptr) AccessChain 23 122 + 686: 16(int) Load 685 + 687: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 684 31 + 688: 16(int) AtomicAnd 687 34 31 686 + 689: 310(ptr) AccessChain 23 309 + 690: 17(ivec2) Load 689 + 691: 123(ptr) AccessChain 23 122 + 692: 16(int) Load 691 + 693: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 690 31 + 694: 16(int) AtomicAnd 693 34 31 692 + Store 132(out_u1) 694 + 695: 310(ptr) AccessChain 23 309 + 696: 17(ivec2) Load 695 + 697: 123(ptr) AccessChain 23 153 + 698: 16(int) Load 697 + 699: 123(ptr) AccessChain 23 156 + 700: 16(int) Load 699 + 701: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 696 31 + 702: 16(int) AtomicCompareExchange 701 34 31 31 700 698 + Store 132(out_u1) 702 + 703: 310(ptr) AccessChain 23 309 + 704: 17(ivec2) Load 703 + 705: 123(ptr) AccessChain 23 122 + 706: 16(int) Load 705 + 707: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 704 31 + 708: 16(int) AtomicExchange 707 34 31 706 + Store 132(out_u1) 708 + 709: 310(ptr) AccessChain 23 309 + 710: 17(ivec2) Load 709 + 711: 123(ptr) AccessChain 23 122 + 712: 16(int) Load 711 + 713: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 710 31 + 714: 16(int) AtomicUMax 713 34 31 712 + 715: 310(ptr) AccessChain 23 309 + 716: 17(ivec2) Load 715 + 717: 123(ptr) AccessChain 23 122 + 718: 16(int) Load 717 + 719: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 716 31 + 720: 16(int) AtomicUMax 719 34 31 718 + Store 132(out_u1) 720 + 721: 310(ptr) AccessChain 23 309 + 722: 17(ivec2) Load 721 + 723: 123(ptr) AccessChain 23 122 + 724: 16(int) Load 723 + 725: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 722 31 + 726: 16(int) AtomicUMin 725 34 31 724 + 727: 310(ptr) AccessChain 23 309 + 728: 17(ivec2) Load 727 + 729: 123(ptr) AccessChain 23 122 + 730: 16(int) Load 729 + 731: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 728 31 + 732: 16(int) AtomicUMin 731 34 31 730 + Store 132(out_u1) 732 + 733: 310(ptr) AccessChain 23 309 + 734: 17(ivec2) Load 733 + 735: 123(ptr) AccessChain 23 122 + 736: 16(int) Load 735 + 737: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 734 31 + 738: 16(int) AtomicOr 737 34 31 736 + 739: 310(ptr) AccessChain 23 309 + 740: 17(ivec2) Load 739 + 741: 123(ptr) AccessChain 23 122 + 742: 16(int) Load 741 + 743: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 740 31 + 744: 16(int) AtomicOr 743 34 31 742 + Store 132(out_u1) 744 + 745: 310(ptr) AccessChain 23 309 + 746: 17(ivec2) Load 745 + 747: 123(ptr) AccessChain 23 122 + 748: 16(int) Load 747 + 749: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 746 31 + 750: 16(int) AtomicXor 749 34 31 748 + 751: 310(ptr) AccessChain 23 309 + 752: 17(ivec2) Load 751 + 753: 123(ptr) AccessChain 23 122 + 754: 16(int) Load 753 + 755: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 752 31 + 756: 16(int) AtomicXor 755 34 31 754 + Store 132(out_u1) 756 + 757: 219(ptr) AccessChain 23 218 + 758: 19(ivec2) Load 757 + 759: 25(ptr) AccessChain 23 28 + 760: 12(int) Load 759 + 761: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 758 31 + 762: 12(int) AtomicIAdd 761 34 31 760 + 763: 219(ptr) AccessChain 23 218 + 764: 19(ivec2) Load 763 + 765: 25(ptr) AccessChain 23 24 + 766: 12(int) Load 765 + 767: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 764 31 + 768: 12(int) AtomicIAdd 767 34 31 766 + Store 37(out_i1) 768 + 769: 219(ptr) AccessChain 23 218 + 770: 19(ivec2) Load 769 + 771: 25(ptr) AccessChain 23 28 + 772: 12(int) Load 771 + 773: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 770 31 + 774: 12(int) AtomicAnd 773 34 31 772 + 775: 219(ptr) AccessChain 23 218 + 776: 19(ivec2) Load 775 + 777: 25(ptr) AccessChain 23 24 + 778: 12(int) Load 777 + 779: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 776 31 + 780: 12(int) AtomicAnd 779 34 31 778 + Store 37(out_i1) 780 + 781: 219(ptr) AccessChain 23 218 + 782: 19(ivec2) Load 781 + 783: 25(ptr) AccessChain 23 28 + 784: 12(int) Load 783 + 785: 25(ptr) AccessChain 23 60 + 786: 12(int) Load 785 + 787: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 782 31 + 788: 12(int) AtomicCompareExchange 787 34 31 31 786 784 + Store 37(out_i1) 788 + 789: 219(ptr) AccessChain 23 218 + 790: 19(ivec2) Load 789 + 791: 25(ptr) AccessChain 23 24 + 792: 12(int) Load 791 + 793: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 790 31 + 794: 12(int) AtomicExchange 793 34 31 792 + Store 37(out_i1) 794 + 795: 219(ptr) AccessChain 23 218 + 796: 19(ivec2) Load 795 + 797: 25(ptr) AccessChain 23 28 + 798: 12(int) Load 797 + 799: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 796 31 + 800: 12(int) AtomicSMax 799 34 31 798 + 801: 219(ptr) AccessChain 23 218 + 802: 19(ivec2) Load 801 + 803: 25(ptr) AccessChain 23 24 + 804: 12(int) Load 803 + 805: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 802 31 + 806: 12(int) AtomicSMax 805 34 31 804 + Store 37(out_i1) 806 + 807: 219(ptr) AccessChain 23 218 + 808: 19(ivec2) Load 807 + 809: 25(ptr) AccessChain 23 28 + 810: 12(int) Load 809 + 811: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 808 31 + 812: 12(int) AtomicSMin 811 34 31 810 + 813: 219(ptr) AccessChain 23 218 + 814: 19(ivec2) Load 813 + 815: 25(ptr) AccessChain 23 24 + 816: 12(int) Load 815 + 817: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 814 31 + 818: 12(int) AtomicSMin 817 34 31 816 + Store 37(out_i1) 818 + 819: 219(ptr) AccessChain 23 218 + 820: 19(ivec2) Load 819 + 821: 25(ptr) AccessChain 23 28 + 822: 12(int) Load 821 + 823: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 820 31 + 824: 12(int) AtomicOr 823 34 31 822 + 825: 219(ptr) AccessChain 23 218 + 826: 19(ivec2) Load 825 + 827: 25(ptr) AccessChain 23 24 + 828: 12(int) Load 827 + 829: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 826 31 + 830: 12(int) AtomicOr 829 34 31 828 + Store 37(out_i1) 830 + 831: 219(ptr) AccessChain 23 218 + 832: 19(ivec2) Load 831 + 833: 25(ptr) AccessChain 23 28 + 834: 12(int) Load 833 + 835: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 832 31 + 836: 12(int) AtomicXor 835 34 31 834 + 837: 219(ptr) AccessChain 23 218 + 838: 19(ivec2) Load 837 + 839: 25(ptr) AccessChain 23 24 + 840: 12(int) Load 839 + 841: 32(ptr) ImageTexelPointer 581(g_tTex1di1a) 838 31 + 842: 12(int) AtomicXor 841 34 31 840 + Store 37(out_i1) 842 + 843: 310(ptr) AccessChain 23 309 + 844: 17(ivec2) Load 843 + 845: 123(ptr) AccessChain 23 122 + 846: 16(int) Load 845 + 847: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 844 31 + 848: 16(int) AtomicIAdd 847 34 31 846 + 849: 310(ptr) AccessChain 23 309 + 850: 17(ivec2) Load 849 + 851: 123(ptr) AccessChain 23 122 + 852: 16(int) Load 851 + 853: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 850 31 + 854: 16(int) AtomicIAdd 853 34 31 852 + Store 132(out_u1) 854 + 855: 310(ptr) AccessChain 23 309 + 856: 17(ivec2) Load 855 + 857: 123(ptr) AccessChain 23 122 + 858: 16(int) Load 857 + 859: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 856 31 + 860: 16(int) AtomicAnd 859 34 31 858 + 861: 310(ptr) AccessChain 23 309 + 862: 17(ivec2) Load 861 + 863: 123(ptr) AccessChain 23 122 + 864: 16(int) Load 863 + 865: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 862 31 + 866: 16(int) AtomicAnd 865 34 31 864 + Store 132(out_u1) 866 + 867: 310(ptr) AccessChain 23 309 + 868: 17(ivec2) Load 867 + 869: 123(ptr) AccessChain 23 153 + 870: 16(int) Load 869 + 871: 123(ptr) AccessChain 23 156 + 872: 16(int) Load 871 + 873: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 868 31 + 874: 16(int) AtomicCompareExchange 873 34 31 31 872 870 + Store 132(out_u1) 874 + 875: 310(ptr) AccessChain 23 309 + 876: 17(ivec2) Load 875 + 877: 123(ptr) AccessChain 23 122 + 878: 16(int) Load 877 + 879: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 876 31 + 880: 16(int) AtomicExchange 879 34 31 878 + Store 132(out_u1) 880 + 881: 310(ptr) AccessChain 23 309 + 882: 17(ivec2) Load 881 + 883: 123(ptr) AccessChain 23 122 + 884: 16(int) Load 883 + 885: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 882 31 + 886: 16(int) AtomicUMax 885 34 31 884 + 887: 310(ptr) AccessChain 23 309 + 888: 17(ivec2) Load 887 + 889: 123(ptr) AccessChain 23 122 + 890: 16(int) Load 889 + 891: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 888 31 + 892: 16(int) AtomicUMax 891 34 31 890 + Store 132(out_u1) 892 + 893: 310(ptr) AccessChain 23 309 + 894: 17(ivec2) Load 893 + 895: 123(ptr) AccessChain 23 122 + 896: 16(int) Load 895 + 897: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 894 31 + 898: 16(int) AtomicUMin 897 34 31 896 + 899: 310(ptr) AccessChain 23 309 + 900: 17(ivec2) Load 899 + 901: 123(ptr) AccessChain 23 122 + 902: 16(int) Load 901 + 903: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 900 31 + 904: 16(int) AtomicUMin 903 34 31 902 + Store 132(out_u1) 904 + 905: 310(ptr) AccessChain 23 309 + 906: 17(ivec2) Load 905 + 907: 123(ptr) AccessChain 23 122 + 908: 16(int) Load 907 + 909: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 906 31 + 910: 16(int) AtomicOr 909 34 31 908 + 911: 310(ptr) AccessChain 23 309 + 912: 17(ivec2) Load 911 + 913: 123(ptr) AccessChain 23 122 + 914: 16(int) Load 913 + 915: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 912 31 + 916: 16(int) AtomicOr 915 34 31 914 + Store 132(out_u1) 916 + 917: 310(ptr) AccessChain 23 309 + 918: 17(ivec2) Load 917 + 919: 123(ptr) AccessChain 23 122 + 920: 16(int) Load 919 + 921: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 918 31 + 922: 16(int) AtomicXor 921 34 31 920 + 923: 310(ptr) AccessChain 23 309 + 924: 17(ivec2) Load 923 + 925: 123(ptr) AccessChain 23 122 + 926: 16(int) Load 925 + 927: 128(ptr) ImageTexelPointer 670(g_tTex1du1a) 924 31 + 928: 16(int) AtomicXor 927 34 31 926 + Store 132(out_u1) 928 + 932: 25(ptr) AccessChain 23 24 + 933: 12(int) Load 932 + 934: 25(ptr) AccessChain 23 28 + 935: 12(int) Load 934 + 936: 32(ptr) ImageTexelPointer 931(g_tBuffI) 933 31 + 937: 12(int) AtomicIAdd 936 34 31 935 + 938: 25(ptr) AccessChain 23 24 + 939: 12(int) Load 938 + 940: 25(ptr) AccessChain 23 24 + 941: 12(int) Load 940 + 942: 32(ptr) ImageTexelPointer 931(g_tBuffI) 939 31 + 943: 12(int) AtomicIAdd 942 34 31 941 + Store 37(out_i1) 943 + 944: 25(ptr) AccessChain 23 24 + 945: 12(int) Load 944 + 946: 25(ptr) AccessChain 23 28 + 947: 12(int) Load 946 + 948: 32(ptr) ImageTexelPointer 931(g_tBuffI) 945 31 + 949: 12(int) AtomicAnd 948 34 31 947 + 950: 25(ptr) AccessChain 23 24 + 951: 12(int) Load 950 + 952: 25(ptr) AccessChain 23 24 + 953: 12(int) Load 952 + 954: 32(ptr) ImageTexelPointer 931(g_tBuffI) 951 31 + 955: 12(int) AtomicAnd 954 34 31 953 + Store 37(out_i1) 955 + 956: 25(ptr) AccessChain 23 24 + 957: 12(int) Load 956 + 958: 25(ptr) AccessChain 23 28 + 959: 12(int) Load 958 + 960: 25(ptr) AccessChain 23 60 + 961: 12(int) Load 960 + 962: 32(ptr) ImageTexelPointer 931(g_tBuffI) 957 31 + 963: 12(int) AtomicCompareExchange 962 34 31 31 961 959 + Store 37(out_i1) 963 + 964: 25(ptr) AccessChain 23 24 + 965: 12(int) Load 964 + 966: 25(ptr) AccessChain 23 24 + 967: 12(int) Load 966 + 968: 32(ptr) ImageTexelPointer 931(g_tBuffI) 965 31 + 969: 12(int) AtomicExchange 968 34 31 967 + Store 37(out_i1) 969 + 970: 25(ptr) AccessChain 23 24 + 971: 12(int) Load 970 + 972: 25(ptr) AccessChain 23 28 + 973: 12(int) Load 972 + 974: 32(ptr) ImageTexelPointer 931(g_tBuffI) 971 31 + 975: 12(int) AtomicSMax 974 34 31 973 + 976: 25(ptr) AccessChain 23 24 + 977: 12(int) Load 976 + 978: 25(ptr) AccessChain 23 24 + 979: 12(int) Load 978 + 980: 32(ptr) ImageTexelPointer 931(g_tBuffI) 977 31 + 981: 12(int) AtomicSMax 980 34 31 979 + Store 37(out_i1) 981 + 982: 25(ptr) AccessChain 23 24 + 983: 12(int) Load 982 + 984: 25(ptr) AccessChain 23 28 + 985: 12(int) Load 984 + 986: 32(ptr) ImageTexelPointer 931(g_tBuffI) 983 31 + 987: 12(int) AtomicSMin 986 34 31 985 + 988: 25(ptr) AccessChain 23 24 + 989: 12(int) Load 988 + 990: 25(ptr) AccessChain 23 24 + 991: 12(int) Load 990 + 992: 32(ptr) ImageTexelPointer 931(g_tBuffI) 989 31 + 993: 12(int) AtomicSMin 992 34 31 991 + Store 37(out_i1) 993 + 994: 25(ptr) AccessChain 23 24 + 995: 12(int) Load 994 + 996: 25(ptr) AccessChain 23 28 + 997: 12(int) Load 996 + 998: 32(ptr) ImageTexelPointer 931(g_tBuffI) 995 31 + 999: 12(int) AtomicOr 998 34 31 997 + 1000: 25(ptr) AccessChain 23 24 + 1001: 12(int) Load 1000 + 1002: 25(ptr) AccessChain 23 24 + 1003: 12(int) Load 1002 + 1004: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1001 31 + 1005: 12(int) AtomicOr 1004 34 31 1003 + Store 37(out_i1) 1005 + 1006: 25(ptr) AccessChain 23 24 + 1007: 12(int) Load 1006 + 1008: 25(ptr) AccessChain 23 28 + 1009: 12(int) Load 1008 + 1010: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1007 31 + 1011: 12(int) AtomicXor 1010 34 31 1009 + 1012: 25(ptr) AccessChain 23 24 + 1013: 12(int) Load 1012 + 1014: 25(ptr) AccessChain 23 24 + 1015: 12(int) Load 1014 + 1016: 32(ptr) ImageTexelPointer 931(g_tBuffI) 1013 31 + 1017: 12(int) AtomicXor 1016 34 31 1015 + Store 37(out_i1) 1017 + 1021: 123(ptr) AccessChain 23 122 + 1022: 16(int) Load 1021 + 1023: 123(ptr) AccessChain 23 122 + 1024: 16(int) Load 1023 + 1025: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1022 31 + 1026: 16(int) AtomicIAdd 1025 34 31 1024 + 1027: 123(ptr) AccessChain 23 122 + 1028: 16(int) Load 1027 + 1029: 123(ptr) AccessChain 23 122 + 1030: 16(int) Load 1029 + 1031: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1028 31 + 1032: 16(int) AtomicIAdd 1031 34 31 1030 + Store 132(out_u1) 1032 + 1033: 123(ptr) AccessChain 23 122 + 1034: 16(int) Load 1033 + 1035: 123(ptr) AccessChain 23 122 + 1036: 16(int) Load 1035 + 1037: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1034 31 + 1038: 16(int) AtomicAnd 1037 34 31 1036 + 1039: 123(ptr) AccessChain 23 122 + 1040: 16(int) Load 1039 + 1041: 123(ptr) AccessChain 23 122 + 1042: 16(int) Load 1041 + 1043: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1040 31 + 1044: 16(int) AtomicAnd 1043 34 31 1042 + Store 132(out_u1) 1044 + 1045: 123(ptr) AccessChain 23 122 + 1046: 16(int) Load 1045 + 1047: 123(ptr) AccessChain 23 153 + 1048: 16(int) Load 1047 + 1049: 123(ptr) AccessChain 23 156 + 1050: 16(int) Load 1049 + 1051: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1046 31 + 1052: 16(int) AtomicCompareExchange 1051 34 31 31 1050 1048 + Store 132(out_u1) 1052 + 1053: 123(ptr) AccessChain 23 122 + 1054: 16(int) Load 1053 + 1055: 123(ptr) AccessChain 23 122 + 1056: 16(int) Load 1055 + 1057: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1054 31 + 1058: 16(int) AtomicExchange 1057 34 31 1056 + Store 132(out_u1) 1058 + 1059: 123(ptr) AccessChain 23 122 + 1060: 16(int) Load 1059 + 1061: 123(ptr) AccessChain 23 122 + 1062: 16(int) Load 1061 + 1063: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1060 31 + 1064: 16(int) AtomicUMax 1063 34 31 1062 + 1065: 123(ptr) AccessChain 23 122 + 1066: 16(int) Load 1065 + 1067: 123(ptr) AccessChain 23 122 + 1068: 16(int) Load 1067 + 1069: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1066 31 + 1070: 16(int) AtomicUMax 1069 34 31 1068 + Store 132(out_u1) 1070 + 1071: 123(ptr) AccessChain 23 122 + 1072: 16(int) Load 1071 + 1073: 123(ptr) AccessChain 23 122 + 1074: 16(int) Load 1073 + 1075: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1072 31 + 1076: 16(int) AtomicUMin 1075 34 31 1074 + 1077: 123(ptr) AccessChain 23 122 + 1078: 16(int) Load 1077 + 1079: 123(ptr) AccessChain 23 122 + 1080: 16(int) Load 1079 + 1081: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1078 31 + 1082: 16(int) AtomicUMin 1081 34 31 1080 + Store 132(out_u1) 1082 + 1083: 123(ptr) AccessChain 23 122 + 1084: 16(int) Load 1083 + 1085: 123(ptr) AccessChain 23 122 + 1086: 16(int) Load 1085 + 1087: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1084 31 + 1088: 16(int) AtomicOr 1087 34 31 1086 + 1089: 123(ptr) AccessChain 23 122 + 1090: 16(int) Load 1089 + 1091: 123(ptr) AccessChain 23 122 + 1092: 16(int) Load 1091 + 1093: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1090 31 + 1094: 16(int) AtomicOr 1093 34 31 1092 + Store 132(out_u1) 1094 + 1095: 123(ptr) AccessChain 23 122 + 1096: 16(int) Load 1095 + 1097: 123(ptr) AccessChain 23 122 + 1098: 16(int) Load 1097 + 1099: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1096 31 + 1100: 16(int) AtomicXor 1099 34 31 1098 + 1101: 123(ptr) AccessChain 23 122 + 1102: 16(int) Load 1101 + 1103: 123(ptr) AccessChain 23 122 + 1104: 16(int) Load 1103 + 1105: 128(ptr) ImageTexelPointer 1020(g_tBuffU) 1102 31 + 1106: 16(int) AtomicXor 1105 34 31 1104 + Store 132(out_u1) 1106 + 1112: 1111(ptr) AccessChain 1108(psout) 122 + Store 1112 1110 + 1113:8(PS_OUTPUT) Load 1108(psout) + ReturnValue 1113 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out index 31ed4a98265..ece7bfa3e32 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.bracket.frag.out @@ -2,834 +2,834 @@ hlsl.rw.bracket.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(vi4; (temp 4-component vector of int) +0:42 Function Definition: Fn1(vi4; ( temp 4-component vector of int) 0:42 Function Parameters: -0:42 'x' (in 4-component vector of int) +0:42 'x' ( in 4-component vector of int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in 4-component vector of int) -0:43 Function Definition: Fn1(vu4; (temp 4-component vector of uint) +0:42 'x' ( in 4-component vector of int) +0:43 Function Definition: Fn1(vu4; ( temp 4-component vector of uint) 0:43 Function Parameters: -0:43 'x' (in 4-component vector of uint) +0:43 'x' ( in 4-component vector of uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in 4-component vector of uint) -0:44 Function Definition: Fn1(vf4; (temp 4-component vector of float) +0:43 'x' ( in 4-component vector of uint) +0:44 Function Definition: Fn1(vf4; ( temp 4-component vector of float) 0:44 Function Parameters: -0:44 'x' (in 4-component vector of float) +0:44 'x' ( in 4-component vector of float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in 4-component vector of float) -0:46 Function Definition: Fn2(vi4; (temp void) +0:44 'x' ( in 4-component vector of float) +0:46 Function Definition: Fn2(vi4; ( temp void) 0:46 Function Parameters: -0:46 'x' (out 4-component vector of int) +0:46 'x' ( out 4-component vector of int) 0:? Sequence -0:46 move second child to first child (temp 4-component vector of int) -0:46 'x' (out 4-component vector of int) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'x' ( out 4-component vector of int) 0:46 Constant: 0:46 0 (const int) 0:46 0 (const int) 0:46 0 (const int) 0:46 0 (const int) -0:47 Function Definition: Fn2(vu4; (temp void) +0:47 Function Definition: Fn2(vu4; ( temp void) 0:47 Function Parameters: -0:47 'x' (out 4-component vector of uint) +0:47 'x' ( out 4-component vector of uint) 0:? Sequence -0:47 move second child to first child (temp 4-component vector of uint) -0:47 'x' (out 4-component vector of uint) +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'x' ( out 4-component vector of uint) 0:47 Constant: 0:47 0 (const uint) 0:47 0 (const uint) 0:47 0 (const uint) 0:47 0 (const uint) -0:48 Function Definition: Fn2(vf4; (temp void) +0:48 Function Definition: Fn2(vf4; ( temp void) 0:48 Function Parameters: -0:48 'x' (out 4-component vector of float) +0:48 'x' ( out 4-component vector of float) 0:? Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'x' (out 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'x' ( out 4-component vector of float) 0:48 Constant: 0:48 0.000000 0:48 0.000000 0:48 0.000000 0:48 0.000000 -0:50 Function Definition: SomeValue( (temp 4-component vector of float) +0:50 Function Definition: SomeValue( ( temp 4-component vector of float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp 4-component vector of float) -0:50 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:50 Convert int to float ( temp 4-component vector of float) +0:50 c4: direct index for structure ( uniform 4-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:50 Constant: 0:50 3 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp 4-component vector of float) -0:57 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:57 imageLoad ( temp 4-component vector of float) +0:57 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:59 'r00' (temp 4-component vector of float) -0:59 imageLoad (temp 4-component vector of float) -0:59 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:59 move second child to first child ( temp 4-component vector of float) +0:59 'r00' ( temp 4-component vector of float) +0:59 imageLoad ( temp 4-component vector of float) +0:59 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of int) -0:60 'r01' (temp 4-component vector of int) -0:60 imageLoad (temp 4-component vector of int) -0:60 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'r01' ( temp 4-component vector of int) +0:60 imageLoad ( temp 4-component vector of int) +0:60 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of uint) -0:61 'r02' (temp 4-component vector of uint) -0:61 imageLoad (temp 4-component vector of uint) -0:61 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:61 move second child to first child ( temp 4-component vector of uint) +0:61 'r02' ( temp 4-component vector of uint) +0:61 imageLoad ( temp 4-component vector of uint) +0:61 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of float) -0:64 'r10' (temp 4-component vector of float) -0:64 imageLoad (temp 4-component vector of float) -0:64 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:64 move second child to first child ( temp 4-component vector of float) +0:64 'r10' ( temp 4-component vector of float) +0:64 imageLoad ( temp 4-component vector of float) +0:64 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of int) -0:65 'r11' (temp 4-component vector of int) -0:65 imageLoad (temp 4-component vector of int) -0:65 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:65 move second child to first child ( temp 4-component vector of int) +0:65 'r11' ( temp 4-component vector of int) +0:65 imageLoad ( temp 4-component vector of int) +0:65 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of uint) -0:66 'r12' (temp 4-component vector of uint) -0:66 imageLoad (temp 4-component vector of uint) -0:66 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:66 move second child to first child ( temp 4-component vector of uint) +0:66 'r12' ( temp 4-component vector of uint) +0:66 imageLoad ( temp 4-component vector of uint) +0:66 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:69 'r20' (temp 4-component vector of float) -0:69 imageLoad (temp 4-component vector of float) -0:69 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'r20' ( temp 4-component vector of float) +0:69 imageLoad ( temp 4-component vector of float) +0:69 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of int) -0:70 'r21' (temp 4-component vector of int) -0:70 imageLoad (temp 4-component vector of int) -0:70 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:70 move second child to first child ( temp 4-component vector of int) +0:70 'r21' ( temp 4-component vector of int) +0:70 imageLoad ( temp 4-component vector of int) +0:70 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of uint) -0:71 'r22' (temp 4-component vector of uint) -0:71 imageLoad (temp 4-component vector of uint) -0:71 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:71 move second child to first child ( temp 4-component vector of uint) +0:71 'r22' ( temp 4-component vector of uint) +0:71 imageLoad ( temp 4-component vector of uint) +0:71 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp 4-component vector of float) -0:73 'lf4' (temp 4-component vector of float) -0:73 uf4: direct index for structure (layout(offset=96 ) uniform 4-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:73 move second child to first child ( temp 4-component vector of float) +0:73 'lf4' ( temp 4-component vector of float) +0:73 uf4: direct index for structure ( uniform 4-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 4-component vector of float) -0:77 'storeTemp' (temp 4-component vector of float) -0:77 Function Call: SomeValue( (temp 4-component vector of float) -0:77 imageStore (temp void) -0:77 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:77 move second child to first child ( temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) +0:77 Function Call: SomeValue( ( temp 4-component vector of float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp 4-component vector of float) -0:77 'storeTemp' (temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf4' (temp 4-component vector of float) -0:78 'lf4' (temp 4-component vector of float) +0:78 'lf4' ( temp 4-component vector of float) +0:78 'lf4' ( temp 4-component vector of float) 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'storeTemp' (temp 4-component vector of int) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 2 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp 4-component vector of int) -0:79 'storeTemp' (temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'storeTemp' (temp 4-component vector of uint) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 3 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp 4-component vector of uint) -0:80 'storeTemp' (temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of float) -0:83 'val1' (temp 4-component vector of float) +0:83 move second child to first child ( temp 4-component vector of float) +0:83 'val1' ( temp 4-component vector of float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) -0:83 imageLoad (temp 4-component vector of float) -0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 vector scale second child into first child (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) +0:83 move second child to first child ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) +0:83 imageLoad ( temp 4-component vector of float) +0:83 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 vector scale second child into first child ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) -0:84 imageLoad (temp 4-component vector of float) -0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) +0:84 move second child to first child ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) +0:84 imageLoad ( temp 4-component vector of float) +0:84 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) -0:85 imageLoad (temp 4-component vector of float) -0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) +0:85 move second child to first child ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) +0:85 imageLoad ( temp 4-component vector of float) +0:85 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) -0:87 imageLoad (temp 4-component vector of int) -0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) +0:87 move second child to first child ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) +0:87 imageLoad ( temp 4-component vector of int) +0:87 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) -0:88 imageLoad (temp 4-component vector of int) -0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) +0:88 move second child to first child ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) +0:88 imageLoad ( temp 4-component vector of int) +0:88 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) -0:89 imageLoad (temp 4-component vector of int) -0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) +0:89 move second child to first child ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) +0:89 imageLoad ( temp 4-component vector of int) +0:89 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) -0:90 imageLoad (temp 4-component vector of int) -0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) +0:90 move second child to first child ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) +0:90 imageLoad ( temp 4-component vector of int) +0:90 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) -0:91 imageLoad (temp 4-component vector of int) -0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) +0:91 move second child to first child ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) +0:91 imageLoad ( temp 4-component vector of int) +0:91 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) -0:92 imageLoad (temp 4-component vector of int) -0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) +0:92 move second child to first child ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) +0:92 imageLoad ( temp 4-component vector of int) +0:92 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) 0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:95 'storeTemp' (temp 4-component vector of float) -0:95 Function Call: SomeValue( (temp 4-component vector of float) -0:95 imageStore (temp void) -0:95 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) +0:95 Function Call: SomeValue( ( temp 4-component vector of float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp 4-component vector of float) -0:95 'storeTemp' (temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf4' (temp 4-component vector of float) -0:96 'lf4' (temp 4-component vector of float) +0:96 'lf4' ( temp 4-component vector of float) +0:96 'lf4' ( temp 4-component vector of float) 0:97 Sequence -0:97 move second child to first child (temp 4-component vector of int) -0:97 'storeTemp' (temp 4-component vector of int) +0:97 move second child to first child ( temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 5 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp 4-component vector of int) -0:97 'storeTemp' (temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) 0:98 Sequence -0:98 move second child to first child (temp 4-component vector of uint) -0:98 'storeTemp' (temp 4-component vector of uint) +0:98 move second child to first child ( temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 6 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp 4-component vector of uint) -0:98 'storeTemp' (temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) 0:101 Sequence -0:101 move second child to first child (temp 4-component vector of float) -0:101 'storeTemp' (temp 4-component vector of float) -0:101 Function Call: SomeValue( (temp 4-component vector of float) -0:101 imageStore (temp void) -0:101 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:101 move second child to first child ( temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) +0:101 Function Call: SomeValue( ( temp 4-component vector of float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp 4-component vector of float) -0:101 'storeTemp' (temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf4' (temp 4-component vector of float) -0:102 'lf4' (temp 4-component vector of float) +0:102 'lf4' ( temp 4-component vector of float) +0:102 'lf4' ( temp 4-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 4-component vector of int) -0:103 'storeTemp' (temp 4-component vector of int) +0:103 move second child to first child ( temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 8 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp 4-component vector of int) -0:103 'storeTemp' (temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) 0:104 Sequence -0:104 move second child to first child (temp 4-component vector of uint) -0:104 'storeTemp' (temp 4-component vector of uint) +0:104 move second child to first child ( temp 4-component vector of uint) +0:104 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 9 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp 4-component vector of uint) -0:104 'storeTemp' (temp 4-component vector of uint) -0:107 Function Call: Fn1(vf4; (temp 4-component vector of float) -0:107 imageLoad (temp 4-component vector of float) -0:107 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:104 'storeTemp' ( temp 4-component vector of uint) +0:104 'storeTemp' ( temp 4-component vector of uint) +0:107 Function Call: Fn1(vf4; ( temp 4-component vector of float) +0:107 imageLoad ( temp 4-component vector of float) +0:107 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(vi4; (temp 4-component vector of int) -0:108 imageLoad (temp 4-component vector of int) -0:108 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:108 Function Call: Fn1(vi4; ( temp 4-component vector of int) +0:108 imageLoad ( temp 4-component vector of int) +0:108 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(vu4; (temp 4-component vector of uint) -0:109 imageLoad (temp 4-component vector of uint) -0:109 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:109 Function Call: Fn1(vu4; ( temp 4-component vector of uint) +0:109 imageLoad ( temp 4-component vector of uint) +0:109 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(vf4; (temp void) -0:111 'tempArg' (temp 4-component vector of float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(vf4; ( temp void) +0:111 'tempArg' ( temp 4-component vector of float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp 4-component vector of float) -0:111 'tempArg' (temp 4-component vector of float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(vi4; (temp void) -0:112 'tempArg' (temp 4-component vector of int) +0:111 'tempArg' ( temp 4-component vector of float) +0:111 'tempArg' ( temp 4-component vector of float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(vi4; ( temp void) +0:112 'tempArg' ( temp 4-component vector of int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp 4-component vector of int) -0:112 'tempArg' (temp 4-component vector of int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(vu4; (temp void) -0:113 'tempArg' (temp 4-component vector of uint) +0:112 'tempArg' ( temp 4-component vector of int) +0:112 'tempArg' ( temp 4-component vector of int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(vu4; ( temp void) +0:113 'tempArg' ( temp 4-component vector of uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp 4-component vector of uint) -0:113 'tempArg' (temp 4-component vector of uint) +0:113 'tempArg' ( temp 4-component vector of uint) +0:113 'tempArg' ( temp 4-component vector of uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 imageLoad (temp 4-component vector of float) -0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 imageStore (temp void) -0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) +0:117 move second child to first child ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 imageLoad ( temp 4-component vector of float) +0:117 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 imageLoad (temp 4-component vector of int) -0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 imageStore (temp void) -0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) +0:118 move second child to first child ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 imageLoad ( temp 4-component vector of int) +0:118 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 imageLoad (temp 4-component vector of uint) -0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) +0:119 move second child to first child ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 imageLoad ( temp 4-component vector of uint) +0:119 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 imageLoad (temp 4-component vector of float) -0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 imageStore (temp void) -0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) +0:121 move second child to first child ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 imageLoad ( temp 4-component vector of float) +0:121 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 imageLoad (temp 4-component vector of int) -0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 imageStore (temp void) -0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) +0:122 move second child to first child ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 imageLoad ( temp 4-component vector of int) +0:122 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 imageLoad (temp 4-component vector of uint) -0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) +0:123 move second child to first child ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 imageLoad ( temp 4-component vector of uint) +0:123 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) -0:126 imageLoad (temp 4-component vector of float) -0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp 4-component vector of float) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) -0:126 Post-Increment (temp 4-component vector of float) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 imageStore (temp void) -0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) +0:126 imageLoad ( temp 4-component vector of float) +0:126 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) +0:126 Post-Increment ( temp 4-component vector of float) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) -0:127 imageLoad (temp 4-component vector of uint) -0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp 4-component vector of uint) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) -0:127 Post-Decrement (temp 4-component vector of uint) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) +0:127 move second child to first child ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) +0:127 imageLoad ( temp 4-component vector of uint) +0:127 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp 4-component vector of uint) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) +0:127 Post-Decrement ( temp 4-component vector of uint) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) -0:128 imageLoad (temp 4-component vector of int) -0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp 4-component vector of int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) -0:128 Post-Increment (temp 4-component vector of int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 imageStore (temp void) -0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) +0:128 move second child to first child ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) +0:128 imageLoad ( temp 4-component vector of int) +0:128 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp 4-component vector of int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) +0:128 Post-Increment ( temp 4-component vector of int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) -0:130 imageLoad (temp 4-component vector of float) -0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp 4-component vector of float) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) -0:130 Post-Decrement (temp 4-component vector of float) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 imageStore (temp void) -0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) +0:130 move second child to first child ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) +0:130 imageLoad ( temp 4-component vector of float) +0:130 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp 4-component vector of float) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) +0:130 Post-Decrement ( temp 4-component vector of float) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) -0:131 imageLoad (temp 4-component vector of int) -0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp 4-component vector of int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) -0:131 Post-Increment (temp 4-component vector of int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 imageStore (temp void) -0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) +0:131 move second child to first child ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) +0:131 imageLoad ( temp 4-component vector of int) +0:131 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp 4-component vector of int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) +0:131 Post-Increment ( temp 4-component vector of int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) -0:132 imageLoad (temp 4-component vector of uint) -0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp 4-component vector of uint) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) -0:132 Post-Decrement (temp 4-component vector of uint) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) +0:132 move second child to first child ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) +0:132 imageLoad ( temp 4-component vector of uint) +0:132 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp 4-component vector of uint) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) +0:132 Post-Decrement ( temp 4-component vector of uint) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) 0:135 Sequence -0:135 move second child to first child (temp 4-component vector of float) -0:135 'storeTemp' (temp 4-component vector of float) -0:? imageLoad (temp 4-component vector of float) -0:135 'g_tTex2df4' (layout(rgba32f ) uniform image2D) +0:135 move second child to first child ( temp 4-component vector of float) +0:135 'storeTemp' ( temp 4-component vector of float) +0:? imageLoad ( temp 4-component vector of float) +0:135 'g_tTex2df4' (layout( rgba32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp 4-component vector of float) -0:135 'storeTemp' (temp 4-component vector of float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp 4-component vector of float) +0:135 'storeTemp' ( temp 4-component vector of float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -837,34 +837,37 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -873,834 +876,834 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(vi4; (temp 4-component vector of int) +0:42 Function Definition: Fn1(vi4; ( temp 4-component vector of int) 0:42 Function Parameters: -0:42 'x' (in 4-component vector of int) +0:42 'x' ( in 4-component vector of int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in 4-component vector of int) -0:43 Function Definition: Fn1(vu4; (temp 4-component vector of uint) +0:42 'x' ( in 4-component vector of int) +0:43 Function Definition: Fn1(vu4; ( temp 4-component vector of uint) 0:43 Function Parameters: -0:43 'x' (in 4-component vector of uint) +0:43 'x' ( in 4-component vector of uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in 4-component vector of uint) -0:44 Function Definition: Fn1(vf4; (temp 4-component vector of float) +0:43 'x' ( in 4-component vector of uint) +0:44 Function Definition: Fn1(vf4; ( temp 4-component vector of float) 0:44 Function Parameters: -0:44 'x' (in 4-component vector of float) +0:44 'x' ( in 4-component vector of float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in 4-component vector of float) -0:46 Function Definition: Fn2(vi4; (temp void) +0:44 'x' ( in 4-component vector of float) +0:46 Function Definition: Fn2(vi4; ( temp void) 0:46 Function Parameters: -0:46 'x' (out 4-component vector of int) +0:46 'x' ( out 4-component vector of int) 0:? Sequence -0:46 move second child to first child (temp 4-component vector of int) -0:46 'x' (out 4-component vector of int) +0:46 move second child to first child ( temp 4-component vector of int) +0:46 'x' ( out 4-component vector of int) 0:46 Constant: 0:46 0 (const int) 0:46 0 (const int) 0:46 0 (const int) 0:46 0 (const int) -0:47 Function Definition: Fn2(vu4; (temp void) +0:47 Function Definition: Fn2(vu4; ( temp void) 0:47 Function Parameters: -0:47 'x' (out 4-component vector of uint) +0:47 'x' ( out 4-component vector of uint) 0:? Sequence -0:47 move second child to first child (temp 4-component vector of uint) -0:47 'x' (out 4-component vector of uint) +0:47 move second child to first child ( temp 4-component vector of uint) +0:47 'x' ( out 4-component vector of uint) 0:47 Constant: 0:47 0 (const uint) 0:47 0 (const uint) 0:47 0 (const uint) 0:47 0 (const uint) -0:48 Function Definition: Fn2(vf4; (temp void) +0:48 Function Definition: Fn2(vf4; ( temp void) 0:48 Function Parameters: -0:48 'x' (out 4-component vector of float) +0:48 'x' ( out 4-component vector of float) 0:? Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'x' (out 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'x' ( out 4-component vector of float) 0:48 Constant: 0:48 0.000000 0:48 0.000000 0:48 0.000000 0:48 0.000000 -0:50 Function Definition: SomeValue( (temp 4-component vector of float) +0:50 Function Definition: SomeValue( ( temp 4-component vector of float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp 4-component vector of float) -0:50 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:50 Convert int to float ( temp 4-component vector of float) +0:50 c4: direct index for structure ( uniform 4-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:50 Constant: 0:50 3 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp 4-component vector of float) -0:57 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:57 imageLoad ( temp 4-component vector of float) +0:57 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:59 'r00' (temp 4-component vector of float) -0:59 imageLoad (temp 4-component vector of float) -0:59 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:59 move second child to first child ( temp 4-component vector of float) +0:59 'r00' ( temp 4-component vector of float) +0:59 imageLoad ( temp 4-component vector of float) +0:59 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 4-component vector of int) -0:60 'r01' (temp 4-component vector of int) -0:60 imageLoad (temp 4-component vector of int) -0:60 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'r01' ( temp 4-component vector of int) +0:60 imageLoad ( temp 4-component vector of int) +0:60 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of uint) -0:61 'r02' (temp 4-component vector of uint) -0:61 imageLoad (temp 4-component vector of uint) -0:61 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:61 move second child to first child ( temp 4-component vector of uint) +0:61 'r02' ( temp 4-component vector of uint) +0:61 imageLoad ( temp 4-component vector of uint) +0:61 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 4-component vector of float) -0:64 'r10' (temp 4-component vector of float) -0:64 imageLoad (temp 4-component vector of float) -0:64 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:64 move second child to first child ( temp 4-component vector of float) +0:64 'r10' ( temp 4-component vector of float) +0:64 imageLoad ( temp 4-component vector of float) +0:64 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 4-component vector of int) -0:65 'r11' (temp 4-component vector of int) -0:65 imageLoad (temp 4-component vector of int) -0:65 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:65 move second child to first child ( temp 4-component vector of int) +0:65 'r11' ( temp 4-component vector of int) +0:65 imageLoad ( temp 4-component vector of int) +0:65 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 4-component vector of uint) -0:66 'r12' (temp 4-component vector of uint) -0:66 imageLoad (temp 4-component vector of uint) -0:66 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:66 move second child to first child ( temp 4-component vector of uint) +0:66 'r12' ( temp 4-component vector of uint) +0:66 imageLoad ( temp 4-component vector of uint) +0:66 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 4-component vector of float) -0:69 'r20' (temp 4-component vector of float) -0:69 imageLoad (temp 4-component vector of float) -0:69 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:69 move second child to first child ( temp 4-component vector of float) +0:69 'r20' ( temp 4-component vector of float) +0:69 imageLoad ( temp 4-component vector of float) +0:69 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of int) -0:70 'r21' (temp 4-component vector of int) -0:70 imageLoad (temp 4-component vector of int) -0:70 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:70 move second child to first child ( temp 4-component vector of int) +0:70 'r21' ( temp 4-component vector of int) +0:70 imageLoad ( temp 4-component vector of int) +0:70 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of uint) -0:71 'r22' (temp 4-component vector of uint) -0:71 imageLoad (temp 4-component vector of uint) -0:71 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:71 move second child to first child ( temp 4-component vector of uint) +0:71 'r22' ( temp 4-component vector of uint) +0:71 imageLoad ( temp 4-component vector of uint) +0:71 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp 4-component vector of float) -0:73 'lf4' (temp 4-component vector of float) -0:73 uf4: direct index for structure (layout(offset=96 ) uniform 4-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:73 move second child to first child ( temp 4-component vector of float) +0:73 'lf4' ( temp 4-component vector of float) +0:73 uf4: direct index for structure ( uniform 4-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 4-component vector of float) -0:77 'storeTemp' (temp 4-component vector of float) -0:77 Function Call: SomeValue( (temp 4-component vector of float) -0:77 imageStore (temp void) -0:77 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:77 move second child to first child ( temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) +0:77 Function Call: SomeValue( ( temp 4-component vector of float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp 4-component vector of float) -0:77 'storeTemp' (temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) +0:77 'storeTemp' ( temp 4-component vector of float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf4' (temp 4-component vector of float) -0:78 'lf4' (temp 4-component vector of float) +0:78 'lf4' ( temp 4-component vector of float) +0:78 'lf4' ( temp 4-component vector of float) 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'storeTemp' (temp 4-component vector of int) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 2 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp 4-component vector of int) -0:79 'storeTemp' (temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) +0:79 'storeTemp' ( temp 4-component vector of int) 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'storeTemp' (temp 4-component vector of uint) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 3 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp 4-component vector of uint) -0:80 'storeTemp' (temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) +0:80 'storeTemp' ( temp 4-component vector of uint) 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of float) -0:83 'val1' (temp 4-component vector of float) +0:83 move second child to first child ( temp 4-component vector of float) +0:83 'val1' ( temp 4-component vector of float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) -0:83 imageLoad (temp 4-component vector of float) -0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 vector scale second child into first child (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) +0:83 move second child to first child ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) +0:83 imageLoad ( temp 4-component vector of float) +0:83 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 vector scale second child into first child ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp 4-component vector of float) -0:83 'storeTemp' (temp 4-component vector of float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp 4-component vector of float) +0:83 'storeTemp' ( temp 4-component vector of float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) -0:84 imageLoad (temp 4-component vector of float) -0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) +0:84 move second child to first child ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) +0:84 imageLoad ( temp 4-component vector of float) +0:84 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp 4-component vector of float) -0:84 'storeTemp' (temp 4-component vector of float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp 4-component vector of float) +0:84 'storeTemp' ( temp 4-component vector of float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) -0:85 imageLoad (temp 4-component vector of float) -0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) +0:85 move second child to first child ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) +0:85 imageLoad ( temp 4-component vector of float) +0:85 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp 4-component vector of float) -0:85 'storeTemp' (temp 4-component vector of float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp 4-component vector of float) +0:85 'storeTemp' ( temp 4-component vector of float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) -0:87 imageLoad (temp 4-component vector of int) -0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) +0:87 move second child to first child ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) +0:87 imageLoad ( temp 4-component vector of int) +0:87 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp 4-component vector of int) -0:87 'storeTemp' (temp 4-component vector of int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp 4-component vector of int) +0:87 'storeTemp' ( temp 4-component vector of int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) -0:88 imageLoad (temp 4-component vector of int) -0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) +0:88 move second child to first child ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) +0:88 imageLoad ( temp 4-component vector of int) +0:88 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp 4-component vector of int) -0:88 'storeTemp' (temp 4-component vector of int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp 4-component vector of int) +0:88 'storeTemp' ( temp 4-component vector of int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) -0:89 imageLoad (temp 4-component vector of int) -0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) +0:89 move second child to first child ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) +0:89 imageLoad ( temp 4-component vector of int) +0:89 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp 4-component vector of int) -0:89 'storeTemp' (temp 4-component vector of int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp 4-component vector of int) +0:89 'storeTemp' ( temp 4-component vector of int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) -0:90 imageLoad (temp 4-component vector of int) -0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) +0:90 move second child to first child ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) +0:90 imageLoad ( temp 4-component vector of int) +0:90 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp 4-component vector of int) -0:90 'storeTemp' (temp 4-component vector of int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp 4-component vector of int) +0:90 'storeTemp' ( temp 4-component vector of int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) -0:91 imageLoad (temp 4-component vector of int) -0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) +0:91 move second child to first child ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) +0:91 imageLoad ( temp 4-component vector of int) +0:91 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp 4-component vector of int) -0:91 'storeTemp' (temp 4-component vector of int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp 4-component vector of int) +0:91 'storeTemp' ( temp 4-component vector of int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) -0:92 imageLoad (temp 4-component vector of int) -0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) +0:92 move second child to first child ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) +0:92 imageLoad ( temp 4-component vector of int) +0:92 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp 4-component vector of int) -0:92 'storeTemp' (temp 4-component vector of int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp 4-component vector of int) +0:92 'storeTemp' ( temp 4-component vector of int) 0:95 Sequence -0:95 move second child to first child (temp 4-component vector of float) -0:95 'storeTemp' (temp 4-component vector of float) -0:95 Function Call: SomeValue( (temp 4-component vector of float) -0:95 imageStore (temp void) -0:95 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) +0:95 Function Call: SomeValue( ( temp 4-component vector of float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp 4-component vector of float) -0:95 'storeTemp' (temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) +0:95 'storeTemp' ( temp 4-component vector of float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf4' (temp 4-component vector of float) -0:96 'lf4' (temp 4-component vector of float) +0:96 'lf4' ( temp 4-component vector of float) +0:96 'lf4' ( temp 4-component vector of float) 0:97 Sequence -0:97 move second child to first child (temp 4-component vector of int) -0:97 'storeTemp' (temp 4-component vector of int) +0:97 move second child to first child ( temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 5 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp 4-component vector of int) -0:97 'storeTemp' (temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) +0:97 'storeTemp' ( temp 4-component vector of int) 0:98 Sequence -0:98 move second child to first child (temp 4-component vector of uint) -0:98 'storeTemp' (temp 4-component vector of uint) +0:98 move second child to first child ( temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 6 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp 4-component vector of uint) -0:98 'storeTemp' (temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) +0:98 'storeTemp' ( temp 4-component vector of uint) 0:101 Sequence -0:101 move second child to first child (temp 4-component vector of float) -0:101 'storeTemp' (temp 4-component vector of float) -0:101 Function Call: SomeValue( (temp 4-component vector of float) -0:101 imageStore (temp void) -0:101 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:101 move second child to first child ( temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) +0:101 Function Call: SomeValue( ( temp 4-component vector of float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp 4-component vector of float) -0:101 'storeTemp' (temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) +0:101 'storeTemp' ( temp 4-component vector of float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf4' (temp 4-component vector of float) -0:102 'lf4' (temp 4-component vector of float) +0:102 'lf4' ( temp 4-component vector of float) +0:102 'lf4' ( temp 4-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 4-component vector of int) -0:103 'storeTemp' (temp 4-component vector of int) +0:103 move second child to first child ( temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) 0:? Constant: 0:? 8 (const int) 0:? 6 (const int) 0:? 7 (const int) 0:? 8 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp 4-component vector of int) -0:103 'storeTemp' (temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) +0:103 'storeTemp' ( temp 4-component vector of int) 0:104 Sequence -0:104 move second child to first child (temp 4-component vector of uint) -0:104 'storeTemp' (temp 4-component vector of uint) +0:104 move second child to first child ( temp 4-component vector of uint) +0:104 'storeTemp' ( temp 4-component vector of uint) 0:? Constant: 0:? 9 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp 4-component vector of uint) -0:104 'storeTemp' (temp 4-component vector of uint) -0:107 Function Call: Fn1(vf4; (temp 4-component vector of float) -0:107 imageLoad (temp 4-component vector of float) -0:107 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:104 'storeTemp' ( temp 4-component vector of uint) +0:104 'storeTemp' ( temp 4-component vector of uint) +0:107 Function Call: Fn1(vf4; ( temp 4-component vector of float) +0:107 imageLoad ( temp 4-component vector of float) +0:107 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(vi4; (temp 4-component vector of int) -0:108 imageLoad (temp 4-component vector of int) -0:108 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:108 Function Call: Fn1(vi4; ( temp 4-component vector of int) +0:108 imageLoad ( temp 4-component vector of int) +0:108 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(vu4; (temp 4-component vector of uint) -0:109 imageLoad (temp 4-component vector of uint) -0:109 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:109 Function Call: Fn1(vu4; ( temp 4-component vector of uint) +0:109 imageLoad ( temp 4-component vector of uint) +0:109 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(vf4; (temp void) -0:111 'tempArg' (temp 4-component vector of float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(vf4; ( temp void) +0:111 'tempArg' ( temp 4-component vector of float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp 4-component vector of float) -0:111 'tempArg' (temp 4-component vector of float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(vi4; (temp void) -0:112 'tempArg' (temp 4-component vector of int) +0:111 'tempArg' ( temp 4-component vector of float) +0:111 'tempArg' ( temp 4-component vector of float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(vi4; ( temp void) +0:112 'tempArg' ( temp 4-component vector of int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp 4-component vector of int) -0:112 'tempArg' (temp 4-component vector of int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(vu4; (temp void) -0:113 'tempArg' (temp 4-component vector of uint) +0:112 'tempArg' ( temp 4-component vector of int) +0:112 'tempArg' ( temp 4-component vector of int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(vu4; ( temp void) +0:113 'tempArg' ( temp 4-component vector of uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp 4-component vector of uint) -0:113 'tempArg' (temp 4-component vector of uint) +0:113 'tempArg' ( temp 4-component vector of uint) +0:113 'tempArg' ( temp 4-component vector of uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 imageLoad (temp 4-component vector of float) -0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 imageStore (temp void) -0:117 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp 4-component vector of float) -0:117 'storeTemp' (temp 4-component vector of float) +0:117 move second child to first child ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 imageLoad ( temp 4-component vector of float) +0:117 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp 4-component vector of float) +0:117 'storeTemp' ( temp 4-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 imageLoad (temp 4-component vector of int) -0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 imageStore (temp void) -0:118 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp 4-component vector of int) -0:118 'storeTemp' (temp 4-component vector of int) +0:118 move second child to first child ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 imageLoad ( temp 4-component vector of int) +0:118 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp 4-component vector of int) +0:118 'storeTemp' ( temp 4-component vector of int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 imageLoad (temp 4-component vector of uint) -0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp 4-component vector of uint) -0:119 'storeTemp' (temp 4-component vector of uint) +0:119 move second child to first child ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 imageLoad ( temp 4-component vector of uint) +0:119 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp 4-component vector of uint) +0:119 'storeTemp' ( temp 4-component vector of uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 imageLoad (temp 4-component vector of float) -0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 imageStore (temp void) -0:121 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp 4-component vector of float) -0:121 'storeTemp' (temp 4-component vector of float) +0:121 move second child to first child ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 imageLoad ( temp 4-component vector of float) +0:121 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp 4-component vector of float) +0:121 'storeTemp' ( temp 4-component vector of float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 imageLoad (temp 4-component vector of int) -0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 imageStore (temp void) -0:122 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp 4-component vector of int) -0:122 'storeTemp' (temp 4-component vector of int) +0:122 move second child to first child ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 imageLoad ( temp 4-component vector of int) +0:122 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp 4-component vector of int) +0:122 'storeTemp' ( temp 4-component vector of int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 imageLoad (temp 4-component vector of uint) -0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp 4-component vector of uint) -0:123 'storeTemp' (temp 4-component vector of uint) +0:123 move second child to first child ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 imageLoad ( temp 4-component vector of uint) +0:123 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp 4-component vector of uint) +0:123 'storeTemp' ( temp 4-component vector of uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) -0:126 imageLoad (temp 4-component vector of float) -0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp 4-component vector of float) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) -0:126 Post-Increment (temp 4-component vector of float) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 imageStore (temp void) -0:126 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp 4-component vector of float) -0:126 'storeTempPre' (temp 4-component vector of float) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) +0:126 imageLoad ( temp 4-component vector of float) +0:126 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp 4-component vector of float) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) +0:126 Post-Increment ( temp 4-component vector of float) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp 4-component vector of float) +0:126 'storeTempPre' ( temp 4-component vector of float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) -0:127 imageLoad (temp 4-component vector of uint) -0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp 4-component vector of uint) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) -0:127 Post-Decrement (temp 4-component vector of uint) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp 4-component vector of uint) -0:127 'storeTempPre' (temp 4-component vector of uint) +0:127 move second child to first child ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) +0:127 imageLoad ( temp 4-component vector of uint) +0:127 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp 4-component vector of uint) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) +0:127 Post-Decrement ( temp 4-component vector of uint) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp 4-component vector of uint) +0:127 'storeTempPre' ( temp 4-component vector of uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) -0:128 imageLoad (temp 4-component vector of int) -0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp 4-component vector of int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) -0:128 Post-Increment (temp 4-component vector of int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 imageStore (temp void) -0:128 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp 4-component vector of int) -0:128 'storeTempPre' (temp 4-component vector of int) +0:128 move second child to first child ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) +0:128 imageLoad ( temp 4-component vector of int) +0:128 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp 4-component vector of int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) +0:128 Post-Increment ( temp 4-component vector of int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp 4-component vector of int) +0:128 'storeTempPre' ( temp 4-component vector of int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) -0:130 imageLoad (temp 4-component vector of float) -0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp 4-component vector of float) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) -0:130 Post-Decrement (temp 4-component vector of float) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 imageStore (temp void) -0:130 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp 4-component vector of float) -0:130 'storeTempPre' (temp 4-component vector of float) +0:130 move second child to first child ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) +0:130 imageLoad ( temp 4-component vector of float) +0:130 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp 4-component vector of float) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) +0:130 Post-Decrement ( temp 4-component vector of float) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp 4-component vector of float) +0:130 'storeTempPre' ( temp 4-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) -0:131 imageLoad (temp 4-component vector of int) -0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp 4-component vector of int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) -0:131 Post-Increment (temp 4-component vector of int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 imageStore (temp void) -0:131 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp 4-component vector of int) -0:131 'storeTempPre' (temp 4-component vector of int) +0:131 move second child to first child ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) +0:131 imageLoad ( temp 4-component vector of int) +0:131 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp 4-component vector of int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) +0:131 Post-Increment ( temp 4-component vector of int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp 4-component vector of int) +0:131 'storeTempPre' ( temp 4-component vector of int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) -0:132 imageLoad (temp 4-component vector of uint) -0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp 4-component vector of uint) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) -0:132 Post-Decrement (temp 4-component vector of uint) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp 4-component vector of uint) -0:132 'storeTempPre' (temp 4-component vector of uint) +0:132 move second child to first child ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) +0:132 imageLoad ( temp 4-component vector of uint) +0:132 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp 4-component vector of uint) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) +0:132 Post-Decrement ( temp 4-component vector of uint) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp 4-component vector of uint) +0:132 'storeTempPre' ( temp 4-component vector of uint) 0:135 Sequence -0:135 move second child to first child (temp 4-component vector of float) -0:135 'storeTemp' (temp 4-component vector of float) -0:? imageLoad (temp 4-component vector of float) -0:135 'g_tTex2df4' (layout(rgba32f ) uniform image2D) +0:135 move second child to first child ( temp 4-component vector of float) +0:135 'storeTemp' ( temp 4-component vector of float) +0:? imageLoad ( temp 4-component vector of float) +0:135 'g_tTex2df4' (layout( rgba32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp 4-component vector of float) -0:135 'storeTemp' (temp 4-component vector of float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp 4-component vector of float) +0:135 'storeTemp' ( temp 4-component vector of float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -1708,44 +1711,47 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) -0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) -0:? 'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D) -0:? 'g_tTex2df4' (layout(rgba32f ) uniform image2D) -0:? 'g_tTex2di4' (layout(rgba32i ) uniform iimage2D) -0:? 'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D) -0:? 'g_tTex3df4' (layout(rgba32f ) uniform image3D) -0:? 'g_tTex3di4' (layout(rgba32i ) uniform iimage3D) -0:? 'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D) -0:? 'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray) -0:? 'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray) -0:? 'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray) -0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) -0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) -0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D) +0:? 'g_tTex1di4' (layout( rgba32i) uniform iimage1D) +0:? 'g_tTex1du4' (layout( rgba32ui) uniform uimage1D) +0:? 'g_tTex2df4' (layout( rgba32f) uniform image2D) +0:? 'g_tTex2di4' (layout( rgba32i) uniform iimage2D) +0:? 'g_tTex2du4' (layout( rgba32ui) uniform uimage2D) +0:? 'g_tTex3df4' (layout( rgba32f) uniform image3D) +0:? 'g_tTex3di4' (layout( rgba32i) uniform iimage3D) +0:? 'g_tTex3du4' (layout( rgba32ui) uniform uimage3D) +0:? 'g_tTex1df4a' (layout( rgba32f) uniform image1DArray) +0:? 'g_tTex1di4a' (layout( rgba32i) uniform iimage1DArray) +0:? 'g_tTex1du4a' (layout( rgba32ui) uniform uimage1DArray) +0:? 'g_tTex2df4a' (layout( rgba32f) uniform image2DArray) +0:? 'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray) +0:? 'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 4-component vector of float uf4, uniform 4-component vector of int ui4, uniform 4-component vector of uint uu4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 602 +// Id's are bound by 607 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 577 + EntryPoint Fragment 4 "main" 583 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi4;" @@ -1761,149 +1767,150 @@ gl_FragCoord origin is upper left Name 37 "Fn2(vf4;" Name 36 "x" Name 40 "SomeValue(" - Name 59 "$Global" - MemberName 59($Global) 0 "c1" - MemberName 59($Global) 1 "c2" - MemberName 59($Global) 2 "c3" - MemberName 59($Global) 3 "c4" - MemberName 59($Global) 4 "o1" - MemberName 59($Global) 5 "o2" - MemberName 59($Global) 6 "o3" - MemberName 59($Global) 7 "o4" - MemberName 59($Global) 8 "uf4" - MemberName 59($Global) 9 "ui4" - MemberName 59($Global) 10 "uu4" - Name 61 "" - Name 71 "g_tTex1df4" - Name 77 "r00" - Name 82 "r01" - Name 85 "g_tTex1di4" - Name 90 "r02" - Name 93 "g_tTex1du4" - Name 98 "r10" - Name 101 "g_tTex2df4" - Name 108 "r11" - Name 111 "g_tTex2di4" - Name 116 "r12" - Name 119 "g_tTex2du4" - Name 124 "r20" - Name 127 "g_tTex3df4" - Name 134 "r21" - Name 137 "g_tTex3di4" - Name 142 "r22" - Name 145 "g_tTex3du4" - Name 150 "lf4" - Name 155 "storeTemp" - Name 165 "storeTemp" - Name 172 "storeTemp" - Name 181 "val1" - Name 183 "coordTemp" - Name 186 "storeTemp" - Name 197 "coordTemp" - Name 200 "storeTemp" - Name 211 "coordTemp" - Name 214 "storeTemp" - Name 225 "coordTemp" - Name 228 "storeTemp" - Name 238 "coordTemp" - Name 241 "storeTemp" - Name 251 "coordTemp" - Name 254 "storeTemp" - Name 265 "coordTemp" - Name 268 "storeTemp" - Name 279 "coordTemp" - Name 282 "storeTemp" - Name 292 "coordTemp" - Name 295 "storeTemp" - Name 305 "storeTemp" - Name 315 "storeTemp" - Name 322 "storeTemp" - Name 329 "storeTemp" - Name 339 "storeTemp" - Name 347 "storeTemp" - Name 358 "param" - Name 364 "param" - Name 370 "param" - Name 372 "tempArg" - Name 373 "param" - Name 380 "tempArg" - Name 381 "param" - Name 388 "tempArg" - Name 389 "param" - Name 396 "coordTemp" - Name 399 "storeTemp" - Name 410 "coordTemp" - Name 413 "storeTemp" - Name 423 "coordTemp" - Name 426 "storeTemp" - Name 436 "coordTemp" - Name 439 "storeTemp" - Name 449 "coordTemp" - Name 452 "storeTemp" - Name 462 "coordTemp" - Name 465 "storeTemp" - Name 475 "coordTemp" - Name 478 "storeTempPre" - Name 482 "storeTempPost" - Name 490 "coordTemp" - Name 493 "storeTempPre" - Name 497 "storeTempPost" - Name 505 "coordTemp" - Name 508 "storeTempPre" - Name 512 "storeTempPost" - Name 520 "coordTemp" - Name 523 "storeTempPre" - Name 527 "storeTempPost" - Name 535 "coordTemp" - Name 538 "storeTempPre" - Name 542 "storeTempPost" - Name 550 "coordTemp" - Name 553 "storeTempPre" - Name 557 "storeTempPost" - Name 565 "storeTemp" - Name 571 "PS_OUTPUT" - MemberName 571(PS_OUTPUT) 0 "Color" - Name 573 "psout" - Name 577 "Color" - Name 583 "g_sSamp" - Name 586 "g_tTex1df4a" - Name 589 "g_tTex1di4a" - Name 592 "g_tTex1du4a" - Name 595 "g_tTex2df4a" - Name 598 "g_tTex2di4a" - Name 601 "g_tTex2du4a" - MemberDecorate 59($Global) 0 Offset 0 - MemberDecorate 59($Global) 1 Offset 8 - MemberDecorate 59($Global) 2 Offset 16 - MemberDecorate 59($Global) 3 Offset 32 - MemberDecorate 59($Global) 4 Offset 48 - MemberDecorate 59($Global) 5 Offset 56 - MemberDecorate 59($Global) 6 Offset 64 - MemberDecorate 59($Global) 7 Offset 80 - MemberDecorate 59($Global) 8 Offset 96 - MemberDecorate 59($Global) 9 Offset 112 - MemberDecorate 59($Global) 10 Offset 128 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 - Decorate 71(g_tTex1df4) DescriptorSet 0 - Decorate 71(g_tTex1df4) Binding 0 - Decorate 85(g_tTex1di4) DescriptorSet 0 - Decorate 93(g_tTex1du4) DescriptorSet 0 - Decorate 101(g_tTex2df4) DescriptorSet 0 - Decorate 111(g_tTex2di4) DescriptorSet 0 - Decorate 119(g_tTex2du4) DescriptorSet 0 - Decorate 127(g_tTex3df4) DescriptorSet 0 - Decorate 137(g_tTex3di4) DescriptorSet 0 - Decorate 145(g_tTex3du4) DescriptorSet 0 - Decorate 577(Color) Location 0 - Decorate 583(g_sSamp) DescriptorSet 0 - Decorate 583(g_sSamp) Binding 0 - Decorate 586(g_tTex1df4a) DescriptorSet 0 - Decorate 589(g_tTex1di4a) DescriptorSet 0 - Decorate 592(g_tTex1du4a) DescriptorSet 0 - Decorate 595(g_tTex2df4a) DescriptorSet 0 - Decorate 598(g_tTex2di4a) DescriptorSet 0 - Decorate 601(g_tTex2du4a) DescriptorSet 0 + Name 42 "PS_OUTPUT" + MemberName 42(PS_OUTPUT) 0 "Color" + Name 44 "@main(" + Name 63 "$Global" + MemberName 63($Global) 0 "c1" + MemberName 63($Global) 1 "c2" + MemberName 63($Global) 2 "c3" + MemberName 63($Global) 3 "c4" + MemberName 63($Global) 4 "o1" + MemberName 63($Global) 5 "o2" + MemberName 63($Global) 6 "o3" + MemberName 63($Global) 7 "o4" + MemberName 63($Global) 8 "uf4" + MemberName 63($Global) 9 "ui4" + MemberName 63($Global) 10 "uu4" + Name 65 "" + Name 75 "g_tTex1df4" + Name 81 "r00" + Name 86 "r01" + Name 89 "g_tTex1di4" + Name 94 "r02" + Name 97 "g_tTex1du4" + Name 102 "r10" + Name 105 "g_tTex2df4" + Name 112 "r11" + Name 115 "g_tTex2di4" + Name 120 "r12" + Name 123 "g_tTex2du4" + Name 128 "r20" + Name 131 "g_tTex3df4" + Name 138 "r21" + Name 141 "g_tTex3di4" + Name 146 "r22" + Name 149 "g_tTex3du4" + Name 154 "lf4" + Name 159 "storeTemp" + Name 169 "storeTemp" + Name 176 "storeTemp" + Name 185 "val1" + Name 187 "coordTemp" + Name 190 "storeTemp" + Name 201 "coordTemp" + Name 204 "storeTemp" + Name 215 "coordTemp" + Name 218 "storeTemp" + Name 229 "coordTemp" + Name 232 "storeTemp" + Name 242 "coordTemp" + Name 245 "storeTemp" + Name 255 "coordTemp" + Name 258 "storeTemp" + Name 269 "coordTemp" + Name 272 "storeTemp" + Name 283 "coordTemp" + Name 286 "storeTemp" + Name 296 "coordTemp" + Name 299 "storeTemp" + Name 309 "storeTemp" + Name 319 "storeTemp" + Name 326 "storeTemp" + Name 333 "storeTemp" + Name 343 "storeTemp" + Name 351 "storeTemp" + Name 362 "param" + Name 368 "param" + Name 374 "param" + Name 376 "tempArg" + Name 377 "param" + Name 384 "tempArg" + Name 385 "param" + Name 392 "tempArg" + Name 393 "param" + Name 400 "coordTemp" + Name 403 "storeTemp" + Name 414 "coordTemp" + Name 417 "storeTemp" + Name 427 "coordTemp" + Name 430 "storeTemp" + Name 440 "coordTemp" + Name 443 "storeTemp" + Name 453 "coordTemp" + Name 456 "storeTemp" + Name 466 "coordTemp" + Name 469 "storeTemp" + Name 479 "coordTemp" + Name 482 "storeTempPre" + Name 486 "storeTempPost" + Name 494 "coordTemp" + Name 497 "storeTempPre" + Name 501 "storeTempPost" + Name 509 "coordTemp" + Name 512 "storeTempPre" + Name 516 "storeTempPost" + Name 524 "coordTemp" + Name 527 "storeTempPre" + Name 531 "storeTempPost" + Name 539 "coordTemp" + Name 542 "storeTempPre" + Name 546 "storeTempPost" + Name 554 "coordTemp" + Name 557 "storeTempPre" + Name 561 "storeTempPost" + Name 569 "storeTemp" + Name 576 "psout" + Name 583 "Color" + Name 588 "g_sSamp" + Name 591 "g_tTex1df4a" + Name 594 "g_tTex1di4a" + Name 597 "g_tTex1du4a" + Name 600 "g_tTex2df4a" + Name 603 "g_tTex2di4a" + Name 606 "g_tTex2du4a" + MemberDecorate 63($Global) 0 Offset 0 + MemberDecorate 63($Global) 1 Offset 8 + MemberDecorate 63($Global) 2 Offset 16 + MemberDecorate 63($Global) 3 Offset 32 + MemberDecorate 63($Global) 4 Offset 48 + MemberDecorate 63($Global) 5 Offset 56 + MemberDecorate 63($Global) 6 Offset 64 + MemberDecorate 63($Global) 7 Offset 80 + MemberDecorate 63($Global) 8 Offset 96 + MemberDecorate 63($Global) 9 Offset 112 + MemberDecorate 63($Global) 10 Offset 128 + Decorate 63($Global) Block + Decorate 65 DescriptorSet 0 + Decorate 75(g_tTex1df4) DescriptorSet 0 + Decorate 75(g_tTex1df4) Binding 0 + Decorate 89(g_tTex1di4) DescriptorSet 0 + Decorate 97(g_tTex1du4) DescriptorSet 0 + Decorate 105(g_tTex2df4) DescriptorSet 0 + Decorate 115(g_tTex2di4) DescriptorSet 0 + Decorate 123(g_tTex2du4) DescriptorSet 0 + Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 141(g_tTex3di4) DescriptorSet 0 + Decorate 149(g_tTex3du4) DescriptorSet 0 + Decorate 583(Color) Location 0 + Decorate 588(g_sSamp) DescriptorSet 0 + Decorate 588(g_sSamp) Binding 0 + Decorate 591(g_tTex1df4a) DescriptorSet 0 + Decorate 594(g_tTex1di4a) DescriptorSet 0 + Decorate 597(g_tTex1du4a) DescriptorSet 0 + Decorate 600(g_tTex2df4a) DescriptorSet 0 + Decorate 603(g_tTex2di4a) DescriptorSet 0 + Decorate 606(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1922,730 +1929,736 @@ gl_FragCoord origin is upper left 31: TypeFunction 2 15(ptr) 35: TypeFunction 2 22(ptr) 39: TypeFunction 21(fvec4) - 51: 6(int) Constant 0 - 52: 7(ivec4) ConstantComposite 51 51 51 51 - 53: 13(int) Constant 0 - 54: 14(ivec4) ConstantComposite 53 53 53 53 - 55: 20(float) Constant 0 - 56: 21(fvec4) ConstantComposite 55 55 55 55 - 57: TypeVector 6(int) 2 - 58: TypeVector 6(int) 3 - 59($Global): TypeStruct 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4) - 60: TypePointer Uniform 59($Global) - 61: 60(ptr) Variable Uniform - 62: 6(int) Constant 3 - 63: TypePointer Uniform 7(ivec4) - 69: TypeImage 20(float) 1D nonsampled format:Rgba32f - 70: TypePointer UniformConstant 69 - 71(g_tTex1df4): 70(ptr) Variable UniformConstant - 73: TypePointer Uniform 6(int) - 83: TypeImage 6(int) 1D nonsampled format:Rgba32i - 84: TypePointer UniformConstant 83 - 85(g_tTex1di4): 84(ptr) Variable UniformConstant - 91: TypeImage 13(int) 1D nonsampled format:Rgba32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du4): 92(ptr) Variable UniformConstant - 99: TypeImage 20(float) 2D nonsampled format:Rgba32f - 100: TypePointer UniformConstant 99 - 101(g_tTex2df4): 100(ptr) Variable UniformConstant - 103: 6(int) Constant 1 - 104: TypePointer Uniform 57(ivec2) - 109: TypeImage 6(int) 2D nonsampled format:Rgba32i - 110: TypePointer UniformConstant 109 - 111(g_tTex2di4): 110(ptr) Variable UniformConstant - 117: TypeImage 13(int) 2D nonsampled format:Rgba32ui - 118: TypePointer UniformConstant 117 - 119(g_tTex2du4): 118(ptr) Variable UniformConstant - 125: TypeImage 20(float) 3D nonsampled format:Rgba32f - 126: TypePointer UniformConstant 125 - 127(g_tTex3df4): 126(ptr) Variable UniformConstant - 129: 6(int) Constant 2 - 130: TypePointer Uniform 58(ivec3) - 135: TypeImage 6(int) 3D nonsampled format:Rgba32i - 136: TypePointer UniformConstant 135 - 137(g_tTex3di4): 136(ptr) Variable UniformConstant - 143: TypeImage 13(int) 3D nonsampled format:Rgba32ui - 144: TypePointer UniformConstant 143 - 145(g_tTex3du4): 144(ptr) Variable UniformConstant - 151: 6(int) Constant 8 - 152: TypePointer Uniform 21(fvec4) - 166: 6(int) Constant 4 - 167: 7(ivec4) ConstantComposite 129 129 62 166 - 173: 13(int) Constant 3 - 174: 13(int) Constant 2 - 175: 13(int) Constant 4 - 176: 14(ivec4) ConstantComposite 173 174 173 175 - 182: TypePointer Function 6(int) - 190: 20(float) Constant 1073741824 - 204: 20(float) Constant 1077936128 - 218: 20(float) Constant 1082130432 - 258: 6(int) Constant 65535 - 272: 6(int) Constant 61680 - 316: 6(int) Constant 5 - 317: 7(ivec4) ConstantComposite 316 129 62 166 - 323: 13(int) Constant 6 - 324: 14(ivec4) ConstantComposite 323 174 173 175 - 340: 6(int) Constant 6 - 341: 6(int) Constant 7 - 342: 7(ivec4) ConstantComposite 151 340 341 151 - 348: 13(int) Constant 9 - 349: 14(ivec4) ConstantComposite 348 174 173 175 - 404: 20(float) Constant 1065353216 - 567: 57(ivec2) ConstantComposite 129 62 - 571(PS_OUTPUT): TypeStruct 21(fvec4) - 572: TypePointer Function 571(PS_OUTPUT) - 574: 21(fvec4) ConstantComposite 404 404 404 404 - 576: TypePointer Output 21(fvec4) - 577(Color): 576(ptr) Variable Output - 581: TypeSampler - 582: TypePointer UniformConstant 581 - 583(g_sSamp): 582(ptr) Variable UniformConstant - 584: TypeImage 20(float) 1D array nonsampled format:Rgba32f - 585: TypePointer UniformConstant 584 -586(g_tTex1df4a): 585(ptr) Variable UniformConstant - 587: TypeImage 6(int) 1D array nonsampled format:Rgba32i - 588: TypePointer UniformConstant 587 -589(g_tTex1di4a): 588(ptr) Variable UniformConstant - 590: TypeImage 13(int) 1D array nonsampled format:Rgba32ui - 591: TypePointer UniformConstant 590 -592(g_tTex1du4a): 591(ptr) Variable UniformConstant - 593: TypeImage 20(float) 2D array nonsampled format:Rgba32f - 594: TypePointer UniformConstant 593 -595(g_tTex2df4a): 594(ptr) Variable UniformConstant - 596: TypeImage 6(int) 2D array nonsampled format:Rgba32i - 597: TypePointer UniformConstant 596 -598(g_tTex2di4a): 597(ptr) Variable UniformConstant - 599: TypeImage 13(int) 2D array nonsampled format:Rgba32ui - 600: TypePointer UniformConstant 599 -601(g_tTex2du4a): 600(ptr) Variable UniformConstant + 42(PS_OUTPUT): TypeStruct 21(fvec4) + 43: TypeFunction 42(PS_OUTPUT) + 55: 6(int) Constant 0 + 56: 7(ivec4) ConstantComposite 55 55 55 55 + 57: 13(int) Constant 0 + 58: 14(ivec4) ConstantComposite 57 57 57 57 + 59: 20(float) Constant 0 + 60: 21(fvec4) ConstantComposite 59 59 59 59 + 61: TypeVector 6(int) 2 + 62: TypeVector 6(int) 3 + 63($Global): TypeStruct 6(int) 61(ivec2) 62(ivec3) 7(ivec4) 6(int) 61(ivec2) 62(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4) + 64: TypePointer Uniform 63($Global) + 65: 64(ptr) Variable Uniform + 66: 6(int) Constant 3 + 67: TypePointer Uniform 7(ivec4) + 73: TypeImage 20(float) 1D nonsampled format:Rgba32f + 74: TypePointer UniformConstant 73 + 75(g_tTex1df4): 74(ptr) Variable UniformConstant + 77: TypePointer Uniform 6(int) + 87: TypeImage 6(int) 1D nonsampled format:Rgba32i + 88: TypePointer UniformConstant 87 + 89(g_tTex1di4): 88(ptr) Variable UniformConstant + 95: TypeImage 13(int) 1D nonsampled format:Rgba32ui + 96: TypePointer UniformConstant 95 + 97(g_tTex1du4): 96(ptr) Variable UniformConstant + 103: TypeImage 20(float) 2D nonsampled format:Rgba32f + 104: TypePointer UniformConstant 103 + 105(g_tTex2df4): 104(ptr) Variable UniformConstant + 107: 6(int) Constant 1 + 108: TypePointer Uniform 61(ivec2) + 113: TypeImage 6(int) 2D nonsampled format:Rgba32i + 114: TypePointer UniformConstant 113 + 115(g_tTex2di4): 114(ptr) Variable UniformConstant + 121: TypeImage 13(int) 2D nonsampled format:Rgba32ui + 122: TypePointer UniformConstant 121 + 123(g_tTex2du4): 122(ptr) Variable UniformConstant + 129: TypeImage 20(float) 3D nonsampled format:Rgba32f + 130: TypePointer UniformConstant 129 + 131(g_tTex3df4): 130(ptr) Variable UniformConstant + 133: 6(int) Constant 2 + 134: TypePointer Uniform 62(ivec3) + 139: TypeImage 6(int) 3D nonsampled format:Rgba32i + 140: TypePointer UniformConstant 139 + 141(g_tTex3di4): 140(ptr) Variable UniformConstant + 147: TypeImage 13(int) 3D nonsampled format:Rgba32ui + 148: TypePointer UniformConstant 147 + 149(g_tTex3du4): 148(ptr) Variable UniformConstant + 155: 6(int) Constant 8 + 156: TypePointer Uniform 21(fvec4) + 170: 6(int) Constant 4 + 171: 7(ivec4) ConstantComposite 133 133 66 170 + 177: 13(int) Constant 3 + 178: 13(int) Constant 2 + 179: 13(int) Constant 4 + 180: 14(ivec4) ConstantComposite 177 178 177 179 + 186: TypePointer Function 6(int) + 194: 20(float) Constant 1073741824 + 208: 20(float) Constant 1077936128 + 222: 20(float) Constant 1082130432 + 262: 6(int) Constant 65535 + 276: 6(int) Constant 61680 + 320: 6(int) Constant 5 + 321: 7(ivec4) ConstantComposite 320 133 66 170 + 327: 13(int) Constant 6 + 328: 14(ivec4) ConstantComposite 327 178 177 179 + 344: 6(int) Constant 6 + 345: 6(int) Constant 7 + 346: 7(ivec4) ConstantComposite 155 344 345 155 + 352: 13(int) Constant 9 + 353: 14(ivec4) ConstantComposite 352 178 177 179 + 408: 20(float) Constant 1065353216 + 571: 61(ivec2) ConstantComposite 133 66 + 575: TypePointer Function 42(PS_OUTPUT) + 577: 21(fvec4) ConstantComposite 408 408 408 408 + 582: TypePointer Output 21(fvec4) + 583(Color): 582(ptr) Variable Output + 586: TypeSampler + 587: TypePointer UniformConstant 586 + 588(g_sSamp): 587(ptr) Variable UniformConstant + 589: TypeImage 20(float) 1D array nonsampled format:Rgba32f + 590: TypePointer UniformConstant 589 +591(g_tTex1df4a): 590(ptr) Variable UniformConstant + 592: TypeImage 6(int) 1D array nonsampled format:Rgba32i + 593: TypePointer UniformConstant 592 +594(g_tTex1di4a): 593(ptr) Variable UniformConstant + 595: TypeImage 13(int) 1D array nonsampled format:Rgba32ui + 596: TypePointer UniformConstant 595 +597(g_tTex1du4a): 596(ptr) Variable UniformConstant + 598: TypeImage 20(float) 2D array nonsampled format:Rgba32f + 599: TypePointer UniformConstant 598 +600(g_tTex2df4a): 599(ptr) Variable UniformConstant + 601: TypeImage 6(int) 2D array nonsampled format:Rgba32i + 602: TypePointer UniformConstant 601 +603(g_tTex2di4a): 602(ptr) Variable UniformConstant + 604: TypeImage 13(int) 2D array nonsampled format:Rgba32ui + 605: TypePointer UniformConstant 604 +606(g_tTex2du4a): 605(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 77(r00): 22(ptr) Variable Function - 82(r01): 8(ptr) Variable Function - 90(r02): 15(ptr) Variable Function - 98(r10): 22(ptr) Variable Function - 108(r11): 8(ptr) Variable Function - 116(r12): 15(ptr) Variable Function - 124(r20): 22(ptr) Variable Function - 134(r21): 8(ptr) Variable Function - 142(r22): 15(ptr) Variable Function - 150(lf4): 22(ptr) Variable Function - 155(storeTemp): 22(ptr) Variable Function - 165(storeTemp): 8(ptr) Variable Function - 172(storeTemp): 15(ptr) Variable Function - 181(val1): 22(ptr) Variable Function - 183(coordTemp): 182(ptr) Variable Function - 186(storeTemp): 22(ptr) Variable Function - 197(coordTemp): 182(ptr) Variable Function - 200(storeTemp): 22(ptr) Variable Function - 211(coordTemp): 182(ptr) Variable Function - 214(storeTemp): 22(ptr) Variable Function - 225(coordTemp): 182(ptr) Variable Function - 228(storeTemp): 8(ptr) Variable Function - 238(coordTemp): 182(ptr) Variable Function - 241(storeTemp): 8(ptr) Variable Function - 251(coordTemp): 182(ptr) Variable Function - 254(storeTemp): 8(ptr) Variable Function - 265(coordTemp): 182(ptr) Variable Function - 268(storeTemp): 8(ptr) Variable Function - 279(coordTemp): 182(ptr) Variable Function - 282(storeTemp): 8(ptr) Variable Function - 292(coordTemp): 182(ptr) Variable Function - 295(storeTemp): 8(ptr) Variable Function - 305(storeTemp): 22(ptr) Variable Function - 315(storeTemp): 8(ptr) Variable Function - 322(storeTemp): 15(ptr) Variable Function - 329(storeTemp): 22(ptr) Variable Function - 339(storeTemp): 8(ptr) Variable Function - 347(storeTemp): 15(ptr) Variable Function - 358(param): 22(ptr) Variable Function - 364(param): 8(ptr) Variable Function - 370(param): 15(ptr) Variable Function - 372(tempArg): 22(ptr) Variable Function - 373(param): 22(ptr) Variable Function - 380(tempArg): 8(ptr) Variable Function - 381(param): 8(ptr) Variable Function - 388(tempArg): 15(ptr) Variable Function - 389(param): 15(ptr) Variable Function - 396(coordTemp): 182(ptr) Variable Function - 399(storeTemp): 22(ptr) Variable Function - 410(coordTemp): 182(ptr) Variable Function - 413(storeTemp): 8(ptr) Variable Function - 423(coordTemp): 182(ptr) Variable Function - 426(storeTemp): 15(ptr) Variable Function - 436(coordTemp): 182(ptr) Variable Function - 439(storeTemp): 22(ptr) Variable Function - 449(coordTemp): 182(ptr) Variable Function - 452(storeTemp): 8(ptr) Variable Function - 462(coordTemp): 182(ptr) Variable Function - 465(storeTemp): 15(ptr) Variable Function - 475(coordTemp): 182(ptr) Variable Function -478(storeTempPre): 22(ptr) Variable Function -482(storeTempPost): 22(ptr) Variable Function - 490(coordTemp): 182(ptr) Variable Function -493(storeTempPre): 15(ptr) Variable Function -497(storeTempPost): 15(ptr) Variable Function - 505(coordTemp): 182(ptr) Variable Function -508(storeTempPre): 8(ptr) Variable Function -512(storeTempPost): 8(ptr) Variable Function - 520(coordTemp): 182(ptr) Variable Function -523(storeTempPre): 22(ptr) Variable Function -527(storeTempPost): 22(ptr) Variable Function - 535(coordTemp): 182(ptr) Variable Function -538(storeTempPre): 8(ptr) Variable Function -542(storeTempPost): 8(ptr) Variable Function - 550(coordTemp): 182(ptr) Variable Function -553(storeTempPre): 15(ptr) Variable Function -557(storeTempPost): 15(ptr) Variable Function - 565(storeTemp): 22(ptr) Variable Function - 573(psout): 572(ptr) Variable Function - 72: 69 Load 71(g_tTex1df4) - 74: 73(ptr) AccessChain 61 51 - 75: 6(int) Load 74 - 76: 21(fvec4) ImageRead 72 75 - 78: 69 Load 71(g_tTex1df4) - 79: 73(ptr) AccessChain 61 51 - 80: 6(int) Load 79 - 81: 21(fvec4) ImageRead 78 80 - Store 77(r00) 81 - 86: 83 Load 85(g_tTex1di4) - 87: 73(ptr) AccessChain 61 51 - 88: 6(int) Load 87 - 89: 7(ivec4) ImageRead 86 88 - Store 82(r01) 89 - 94: 91 Load 93(g_tTex1du4) - 95: 73(ptr) AccessChain 61 51 - 96: 6(int) Load 95 - 97: 14(ivec4) ImageRead 94 96 - Store 90(r02) 97 - 102: 99 Load 101(g_tTex2df4) - 105: 104(ptr) AccessChain 61 103 - 106: 57(ivec2) Load 105 - 107: 21(fvec4) ImageRead 102 106 - Store 98(r10) 107 - 112: 109 Load 111(g_tTex2di4) - 113: 104(ptr) AccessChain 61 103 - 114: 57(ivec2) Load 113 - 115: 7(ivec4) ImageRead 112 114 - Store 108(r11) 115 - 120: 117 Load 119(g_tTex2du4) - 121: 104(ptr) AccessChain 61 103 - 122: 57(ivec2) Load 121 - 123: 14(ivec4) ImageRead 120 122 - Store 116(r12) 123 - 128: 125 Load 127(g_tTex3df4) - 131: 130(ptr) AccessChain 61 129 - 132: 58(ivec3) Load 131 - 133: 21(fvec4) ImageRead 128 132 - Store 124(r20) 133 - 138: 135 Load 137(g_tTex3di4) - 139: 130(ptr) AccessChain 61 129 - 140: 58(ivec3) Load 139 - 141: 7(ivec4) ImageRead 138 140 - Store 134(r21) 141 - 146: 143 Load 145(g_tTex3du4) - 147: 130(ptr) AccessChain 61 129 - 148: 58(ivec3) Load 147 - 149: 14(ivec4) ImageRead 146 148 - Store 142(r22) 149 - 153: 152(ptr) AccessChain 61 151 - 154: 21(fvec4) Load 153 - Store 150(lf4) 154 - 156: 21(fvec4) FunctionCall 40(SomeValue() - Store 155(storeTemp) 156 - 157: 69 Load 71(g_tTex1df4) - 158: 73(ptr) AccessChain 61 51 - 159: 6(int) Load 158 - 160: 21(fvec4) Load 155(storeTemp) - ImageWrite 157 159 160 - 161: 69 Load 71(g_tTex1df4) - 162: 73(ptr) AccessChain 61 51 - 163: 6(int) Load 162 - 164: 21(fvec4) Load 150(lf4) - ImageWrite 161 163 164 - Store 165(storeTemp) 167 - 168: 83 Load 85(g_tTex1di4) - 169: 73(ptr) AccessChain 61 51 - 170: 6(int) Load 169 - 171: 7(ivec4) Load 165(storeTemp) - ImageWrite 168 170 171 - Store 172(storeTemp) 176 - 177: 91 Load 93(g_tTex1du4) - 178: 73(ptr) AccessChain 61 51 - 179: 6(int) Load 178 - 180: 14(ivec4) Load 172(storeTemp) - ImageWrite 177 179 180 - 184: 73(ptr) AccessChain 61 51 - 185: 6(int) Load 184 - Store 183(coordTemp) 185 - 187: 69 Load 71(g_tTex1df4) - 188: 6(int) Load 183(coordTemp) - 189: 21(fvec4) ImageRead 187 188 - Store 186(storeTemp) 189 - 191: 21(fvec4) Load 186(storeTemp) - 192: 21(fvec4) VectorTimesScalar 191 190 - Store 186(storeTemp) 192 - 193: 69 Load 71(g_tTex1df4) - 194: 6(int) Load 183(coordTemp) - 195: 21(fvec4) Load 186(storeTemp) - ImageWrite 193 194 195 - 196: 21(fvec4) Load 186(storeTemp) - Store 181(val1) 196 - 198: 73(ptr) AccessChain 61 51 - 199: 6(int) Load 198 - Store 197(coordTemp) 199 - 201: 69 Load 71(g_tTex1df4) - 202: 6(int) Load 197(coordTemp) - 203: 21(fvec4) ImageRead 201 202 - Store 200(storeTemp) 203 - 205: 21(fvec4) Load 200(storeTemp) - 206: 21(fvec4) CompositeConstruct 204 204 204 204 - 207: 21(fvec4) FSub 205 206 - Store 200(storeTemp) 207 - 208: 69 Load 71(g_tTex1df4) - 209: 6(int) Load 197(coordTemp) - 210: 21(fvec4) Load 200(storeTemp) - ImageWrite 208 209 210 - 212: 73(ptr) AccessChain 61 51 - 213: 6(int) Load 212 - Store 211(coordTemp) 213 - 215: 69 Load 71(g_tTex1df4) - 216: 6(int) Load 211(coordTemp) - 217: 21(fvec4) ImageRead 215 216 - Store 214(storeTemp) 217 - 219: 21(fvec4) Load 214(storeTemp) - 220: 21(fvec4) CompositeConstruct 218 218 218 218 - 221: 21(fvec4) FAdd 219 220 - Store 214(storeTemp) 221 - 222: 69 Load 71(g_tTex1df4) - 223: 6(int) Load 211(coordTemp) - 224: 21(fvec4) Load 214(storeTemp) - ImageWrite 222 223 224 - 226: 73(ptr) AccessChain 61 51 - 227: 6(int) Load 226 - Store 225(coordTemp) 227 - 229: 83 Load 85(g_tTex1di4) - 230: 6(int) Load 225(coordTemp) - 231: 7(ivec4) ImageRead 229 230 - Store 228(storeTemp) 231 - 232: 7(ivec4) Load 228(storeTemp) - 233: 7(ivec4) CompositeConstruct 129 129 129 129 - 234: 7(ivec4) SDiv 232 233 - Store 228(storeTemp) 234 - 235: 83 Load 85(g_tTex1di4) - 236: 6(int) Load 225(coordTemp) - 237: 7(ivec4) Load 228(storeTemp) - ImageWrite 235 236 237 - 239: 73(ptr) AccessChain 61 51 - 240: 6(int) Load 239 - Store 238(coordTemp) 240 - 242: 83 Load 85(g_tTex1di4) - 243: 6(int) Load 238(coordTemp) - 244: 7(ivec4) ImageRead 242 243 - Store 241(storeTemp) 244 - 245: 7(ivec4) Load 241(storeTemp) - 246: 7(ivec4) CompositeConstruct 129 129 129 129 - 247: 7(ivec4) SMod 245 246 - Store 241(storeTemp) 247 - 248: 83 Load 85(g_tTex1di4) - 249: 6(int) Load 238(coordTemp) - 250: 7(ivec4) Load 241(storeTemp) - ImageWrite 248 249 250 - 252: 73(ptr) AccessChain 61 51 - 253: 6(int) Load 252 - Store 251(coordTemp) 253 - 255: 83 Load 85(g_tTex1di4) - 256: 6(int) Load 251(coordTemp) - 257: 7(ivec4) ImageRead 255 256 - Store 254(storeTemp) 257 - 259: 7(ivec4) Load 254(storeTemp) - 260: 7(ivec4) CompositeConstruct 258 258 258 258 - 261: 7(ivec4) BitwiseAnd 259 260 - Store 254(storeTemp) 261 - 262: 83 Load 85(g_tTex1di4) - 263: 6(int) Load 251(coordTemp) - 264: 7(ivec4) Load 254(storeTemp) - ImageWrite 262 263 264 - 266: 73(ptr) AccessChain 61 51 - 267: 6(int) Load 266 - Store 265(coordTemp) 267 - 269: 83 Load 85(g_tTex1di4) - 270: 6(int) Load 265(coordTemp) - 271: 7(ivec4) ImageRead 269 270 - Store 268(storeTemp) 271 - 273: 7(ivec4) Load 268(storeTemp) - 274: 7(ivec4) CompositeConstruct 272 272 272 272 - 275: 7(ivec4) BitwiseOr 273 274 - Store 268(storeTemp) 275 - 276: 83 Load 85(g_tTex1di4) - 277: 6(int) Load 265(coordTemp) - 278: 7(ivec4) Load 268(storeTemp) - ImageWrite 276 277 278 - 280: 73(ptr) AccessChain 61 51 - 281: 6(int) Load 280 - Store 279(coordTemp) 281 - 283: 83 Load 85(g_tTex1di4) - 284: 6(int) Load 279(coordTemp) - 285: 7(ivec4) ImageRead 283 284 - Store 282(storeTemp) 285 - 286: 7(ivec4) Load 282(storeTemp) - 287: 7(ivec4) CompositeConstruct 129 129 129 129 - 288: 7(ivec4) ShiftLeftLogical 286 287 - Store 282(storeTemp) 288 - 289: 83 Load 85(g_tTex1di4) - 290: 6(int) Load 279(coordTemp) - 291: 7(ivec4) Load 282(storeTemp) - ImageWrite 289 290 291 - 293: 73(ptr) AccessChain 61 51 - 294: 6(int) Load 293 - Store 292(coordTemp) 294 - 296: 83 Load 85(g_tTex1di4) - 297: 6(int) Load 292(coordTemp) - 298: 7(ivec4) ImageRead 296 297 - Store 295(storeTemp) 298 - 299: 7(ivec4) Load 295(storeTemp) - 300: 7(ivec4) CompositeConstruct 129 129 129 129 - 301: 7(ivec4) ShiftRightArithmetic 299 300 - Store 295(storeTemp) 301 - 302: 83 Load 85(g_tTex1di4) - 303: 6(int) Load 292(coordTemp) - 304: 7(ivec4) Load 295(storeTemp) - ImageWrite 302 303 304 - 306: 21(fvec4) FunctionCall 40(SomeValue() - Store 305(storeTemp) 306 - 307: 99 Load 101(g_tTex2df4) - 308: 104(ptr) AccessChain 61 103 - 309: 57(ivec2) Load 308 - 310: 21(fvec4) Load 305(storeTemp) - ImageWrite 307 309 310 - 311: 99 Load 101(g_tTex2df4) - 312: 104(ptr) AccessChain 61 103 - 313: 57(ivec2) Load 312 - 314: 21(fvec4) Load 150(lf4) - ImageWrite 311 313 314 - Store 315(storeTemp) 317 - 318: 109 Load 111(g_tTex2di4) - 319: 104(ptr) AccessChain 61 103 - 320: 57(ivec2) Load 319 - 321: 7(ivec4) Load 315(storeTemp) - ImageWrite 318 320 321 - Store 322(storeTemp) 324 - 325: 117 Load 119(g_tTex2du4) - 326: 104(ptr) AccessChain 61 103 - 327: 57(ivec2) Load 326 - 328: 14(ivec4) Load 322(storeTemp) - ImageWrite 325 327 328 - 330: 21(fvec4) FunctionCall 40(SomeValue() - Store 329(storeTemp) 330 - 331: 125 Load 127(g_tTex3df4) - 332: 130(ptr) AccessChain 61 129 - 333: 58(ivec3) Load 332 - 334: 21(fvec4) Load 329(storeTemp) - ImageWrite 331 333 334 - 335: 125 Load 127(g_tTex3df4) - 336: 130(ptr) AccessChain 61 129 - 337: 58(ivec3) Load 336 - 338: 21(fvec4) Load 150(lf4) - ImageWrite 335 337 338 - Store 339(storeTemp) 342 - 343: 135 Load 137(g_tTex3di4) - 344: 130(ptr) AccessChain 61 129 - 345: 58(ivec3) Load 344 - 346: 7(ivec4) Load 339(storeTemp) - ImageWrite 343 345 346 - Store 347(storeTemp) 349 - 350: 143 Load 145(g_tTex3du4) - 351: 130(ptr) AccessChain 61 129 - 352: 58(ivec3) Load 351 - 353: 14(ivec4) Load 347(storeTemp) - ImageWrite 350 352 353 - 354: 69 Load 71(g_tTex1df4) - 355: 73(ptr) AccessChain 61 51 - 356: 6(int) Load 355 - 357: 21(fvec4) ImageRead 354 356 - Store 358(param) 357 - 359: 21(fvec4) FunctionCall 25(Fn1(vf4;) 358(param) - 360: 83 Load 85(g_tTex1di4) - 361: 73(ptr) AccessChain 61 51 - 362: 6(int) Load 361 - 363: 7(ivec4) ImageRead 360 362 - Store 364(param) 363 - 365: 7(ivec4) FunctionCall 11(Fn1(vi4;) 364(param) - 366: 91 Load 93(g_tTex1du4) - 367: 73(ptr) AccessChain 61 51 - 368: 6(int) Load 367 - 369: 14(ivec4) ImageRead 366 368 - Store 370(param) 369 - 371: 14(ivec4) FunctionCall 18(Fn1(vu4;) 370(param) - 374: 2 FunctionCall 37(Fn2(vf4;) 373(param) - 375: 21(fvec4) Load 373(param) - Store 372(tempArg) 375 - 376: 69 Load 71(g_tTex1df4) - 377: 73(ptr) AccessChain 61 51 - 378: 6(int) Load 377 - 379: 21(fvec4) Load 372(tempArg) - ImageWrite 376 378 379 - 382: 2 FunctionCall 29(Fn2(vi4;) 381(param) - 383: 7(ivec4) Load 381(param) - Store 380(tempArg) 383 - 384: 83 Load 85(g_tTex1di4) - 385: 73(ptr) AccessChain 61 51 - 386: 6(int) Load 385 - 387: 7(ivec4) Load 380(tempArg) - ImageWrite 384 386 387 - 390: 2 FunctionCall 33(Fn2(vu4;) 389(param) - 391: 14(ivec4) Load 389(param) - Store 388(tempArg) 391 - 392: 91 Load 93(g_tTex1du4) - 393: 73(ptr) AccessChain 61 51 - 394: 6(int) Load 393 - 395: 14(ivec4) Load 388(tempArg) - ImageWrite 392 394 395 - 397: 73(ptr) AccessChain 61 51 - 398: 6(int) Load 397 - Store 396(coordTemp) 398 - 400: 69 Load 71(g_tTex1df4) - 401: 6(int) Load 396(coordTemp) - 402: 21(fvec4) ImageRead 400 401 - Store 399(storeTemp) 402 - 403: 21(fvec4) Load 399(storeTemp) - 405: 21(fvec4) CompositeConstruct 404 404 404 404 - 406: 21(fvec4) FAdd 403 405 - Store 399(storeTemp) 406 - 407: 69 Load 71(g_tTex1df4) - 408: 6(int) Load 396(coordTemp) - 409: 21(fvec4) Load 399(storeTemp) - ImageWrite 407 408 409 - 411: 73(ptr) AccessChain 61 51 - 412: 6(int) Load 411 - Store 410(coordTemp) 412 - 414: 83 Load 85(g_tTex1di4) - 415: 6(int) Load 410(coordTemp) - 416: 7(ivec4) ImageRead 414 415 - Store 413(storeTemp) 416 - 417: 7(ivec4) Load 413(storeTemp) - 418: 7(ivec4) CompositeConstruct 103 103 103 103 - 419: 7(ivec4) IAdd 417 418 - Store 413(storeTemp) 419 - 420: 83 Load 85(g_tTex1di4) - 421: 6(int) Load 410(coordTemp) - 422: 7(ivec4) Load 413(storeTemp) - ImageWrite 420 421 422 - 424: 73(ptr) AccessChain 61 51 - 425: 6(int) Load 424 - Store 423(coordTemp) 425 - 427: 91 Load 93(g_tTex1du4) - 428: 6(int) Load 423(coordTemp) - 429: 14(ivec4) ImageRead 427 428 - Store 426(storeTemp) 429 - 430: 14(ivec4) Load 426(storeTemp) - 431: 7(ivec4) CompositeConstruct 103 103 103 103 - 432: 14(ivec4) IAdd 430 431 - Store 426(storeTemp) 432 - 433: 91 Load 93(g_tTex1du4) - 434: 6(int) Load 423(coordTemp) - 435: 14(ivec4) Load 426(storeTemp) - ImageWrite 433 434 435 - 437: 73(ptr) AccessChain 61 51 - 438: 6(int) Load 437 - Store 436(coordTemp) 438 - 440: 69 Load 71(g_tTex1df4) - 441: 6(int) Load 436(coordTemp) - 442: 21(fvec4) ImageRead 440 441 - Store 439(storeTemp) 442 - 443: 21(fvec4) Load 439(storeTemp) - 444: 21(fvec4) CompositeConstruct 404 404 404 404 - 445: 21(fvec4) FSub 443 444 - Store 439(storeTemp) 445 - 446: 69 Load 71(g_tTex1df4) - 447: 6(int) Load 436(coordTemp) - 448: 21(fvec4) Load 439(storeTemp) - ImageWrite 446 447 448 - 450: 73(ptr) AccessChain 61 51 - 451: 6(int) Load 450 - Store 449(coordTemp) 451 - 453: 83 Load 85(g_tTex1di4) - 454: 6(int) Load 449(coordTemp) - 455: 7(ivec4) ImageRead 453 454 - Store 452(storeTemp) 455 - 456: 7(ivec4) Load 452(storeTemp) - 457: 7(ivec4) CompositeConstruct 103 103 103 103 - 458: 7(ivec4) ISub 456 457 - Store 452(storeTemp) 458 - 459: 83 Load 85(g_tTex1di4) - 460: 6(int) Load 449(coordTemp) - 461: 7(ivec4) Load 452(storeTemp) - ImageWrite 459 460 461 - 463: 73(ptr) AccessChain 61 51 - 464: 6(int) Load 463 - Store 462(coordTemp) 464 - 466: 91 Load 93(g_tTex1du4) - 467: 6(int) Load 462(coordTemp) - 468: 14(ivec4) ImageRead 466 467 - Store 465(storeTemp) 468 - 469: 14(ivec4) Load 465(storeTemp) - 470: 7(ivec4) CompositeConstruct 103 103 103 103 - 471: 14(ivec4) ISub 469 470 - Store 465(storeTemp) 471 - 472: 91 Load 93(g_tTex1du4) - 473: 6(int) Load 462(coordTemp) - 474: 14(ivec4) Load 465(storeTemp) - ImageWrite 472 473 474 - 476: 73(ptr) AccessChain 61 51 - 477: 6(int) Load 476 - Store 475(coordTemp) 477 - 479: 69 Load 71(g_tTex1df4) - 480: 6(int) Load 475(coordTemp) - 481: 21(fvec4) ImageRead 479 480 - Store 478(storeTempPre) 481 - 483: 21(fvec4) Load 478(storeTempPre) - Store 482(storeTempPost) 483 - 484: 21(fvec4) Load 482(storeTempPost) - 485: 21(fvec4) CompositeConstruct 404 404 404 404 - 486: 21(fvec4) FAdd 484 485 - Store 482(storeTempPost) 486 - 487: 69 Load 71(g_tTex1df4) - 488: 6(int) Load 475(coordTemp) - 489: 21(fvec4) Load 482(storeTempPost) - ImageWrite 487 488 489 - 491: 73(ptr) AccessChain 61 51 - 492: 6(int) Load 491 - Store 490(coordTemp) 492 - 494: 91 Load 93(g_tTex1du4) - 495: 6(int) Load 490(coordTemp) - 496: 14(ivec4) ImageRead 494 495 - Store 493(storeTempPre) 496 - 498: 14(ivec4) Load 493(storeTempPre) - Store 497(storeTempPost) 498 - 499: 14(ivec4) Load 497(storeTempPost) - 500: 7(ivec4) CompositeConstruct 103 103 103 103 - 501: 14(ivec4) ISub 499 500 - Store 497(storeTempPost) 501 - 502: 91 Load 93(g_tTex1du4) - 503: 6(int) Load 490(coordTemp) - 504: 14(ivec4) Load 497(storeTempPost) - ImageWrite 502 503 504 - 506: 73(ptr) AccessChain 61 51 - 507: 6(int) Load 506 - Store 505(coordTemp) 507 - 509: 83 Load 85(g_tTex1di4) - 510: 6(int) Load 505(coordTemp) - 511: 7(ivec4) ImageRead 509 510 - Store 508(storeTempPre) 511 - 513: 7(ivec4) Load 508(storeTempPre) - Store 512(storeTempPost) 513 - 514: 7(ivec4) Load 512(storeTempPost) - 515: 7(ivec4) CompositeConstruct 103 103 103 103 - 516: 7(ivec4) IAdd 514 515 - Store 512(storeTempPost) 516 - 517: 83 Load 85(g_tTex1di4) - 518: 6(int) Load 505(coordTemp) - 519: 7(ivec4) Load 512(storeTempPost) - ImageWrite 517 518 519 - 521: 73(ptr) AccessChain 61 51 - 522: 6(int) Load 521 - Store 520(coordTemp) 522 - 524: 69 Load 71(g_tTex1df4) - 525: 6(int) Load 520(coordTemp) - 526: 21(fvec4) ImageRead 524 525 - Store 523(storeTempPre) 526 - 528: 21(fvec4) Load 523(storeTempPre) - Store 527(storeTempPost) 528 - 529: 21(fvec4) Load 527(storeTempPost) - 530: 21(fvec4) CompositeConstruct 404 404 404 404 - 531: 21(fvec4) FSub 529 530 - Store 527(storeTempPost) 531 - 532: 69 Load 71(g_tTex1df4) - 533: 6(int) Load 520(coordTemp) - 534: 21(fvec4) Load 527(storeTempPost) - ImageWrite 532 533 534 - 536: 73(ptr) AccessChain 61 51 - 537: 6(int) Load 536 - Store 535(coordTemp) 537 - 539: 83 Load 85(g_tTex1di4) - 540: 6(int) Load 535(coordTemp) - 541: 7(ivec4) ImageRead 539 540 - Store 538(storeTempPre) 541 - 543: 7(ivec4) Load 538(storeTempPre) - Store 542(storeTempPost) 543 - 544: 7(ivec4) Load 542(storeTempPost) - 545: 7(ivec4) CompositeConstruct 103 103 103 103 - 546: 7(ivec4) IAdd 544 545 - Store 542(storeTempPost) 546 - 547: 83 Load 85(g_tTex1di4) - 548: 6(int) Load 535(coordTemp) - 549: 7(ivec4) Load 542(storeTempPost) - ImageWrite 547 548 549 - 551: 73(ptr) AccessChain 61 51 - 552: 6(int) Load 551 - Store 550(coordTemp) 552 - 554: 91 Load 93(g_tTex1du4) - 555: 6(int) Load 550(coordTemp) - 556: 14(ivec4) ImageRead 554 555 - Store 553(storeTempPre) 556 - 558: 14(ivec4) Load 553(storeTempPre) - Store 557(storeTempPost) 558 - 559: 14(ivec4) Load 557(storeTempPost) - 560: 7(ivec4) CompositeConstruct 103 103 103 103 - 561: 14(ivec4) ISub 559 560 - Store 557(storeTempPost) 561 - 562: 91 Load 93(g_tTex1du4) - 563: 6(int) Load 550(coordTemp) - 564: 14(ivec4) Load 557(storeTempPost) - ImageWrite 562 563 564 - 566: 99 Load 101(g_tTex2df4) - 568: 21(fvec4) ImageRead 566 567 - Store 565(storeTemp) 568 - 569: 69 Load 71(g_tTex1df4) - 570: 21(fvec4) Load 565(storeTemp) - ImageWrite 569 103 570 - 575: 22(ptr) AccessChain 573(psout) 51 - Store 575 574 - 578: 22(ptr) AccessChain 573(psout) 51 - 579: 21(fvec4) Load 578 - Store 577(Color) 579 + 584:42(PS_OUTPUT) FunctionCall 44(@main() + 585: 21(fvec4) CompositeExtract 584 0 + Store 583(Color) 585 Return FunctionEnd 11(Fn1(vi4;): 7(ivec4) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 42: 7(ivec4) Load 10(x) - ReturnValue 42 + 46: 7(ivec4) Load 10(x) + ReturnValue 46 FunctionEnd 18(Fn1(vu4;): 14(ivec4) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 45: 14(ivec4) Load 17(x) - ReturnValue 45 + 49: 14(ivec4) Load 17(x) + ReturnValue 49 FunctionEnd 25(Fn1(vf4;): 21(fvec4) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 48: 21(fvec4) Load 24(x) - ReturnValue 48 + 52: 21(fvec4) Load 24(x) + ReturnValue 52 FunctionEnd 29(Fn2(vi4;): 2 Function None 27 28(x): 8(ptr) FunctionParameter 30: Label - Store 28(x) 52 + Store 28(x) 56 Return FunctionEnd 33(Fn2(vu4;): 2 Function None 31 32(x): 15(ptr) FunctionParameter 34: Label - Store 32(x) 54 + Store 32(x) 58 Return FunctionEnd 37(Fn2(vf4;): 2 Function None 35 36(x): 22(ptr) FunctionParameter 38: Label - Store 36(x) 56 + Store 36(x) 60 Return FunctionEnd 40(SomeValue(): 21(fvec4) Function None 39 41: Label - 64: 63(ptr) AccessChain 61 62 - 65: 7(ivec4) Load 64 - 66: 21(fvec4) ConvertSToF 65 - ReturnValue 66 + 68: 67(ptr) AccessChain 65 66 + 69: 7(ivec4) Load 68 + 70: 21(fvec4) ConvertSToF 69 + ReturnValue 70 + FunctionEnd + 44(@main():42(PS_OUTPUT) Function None 43 + 45: Label + 81(r00): 22(ptr) Variable Function + 86(r01): 8(ptr) Variable Function + 94(r02): 15(ptr) Variable Function + 102(r10): 22(ptr) Variable Function + 112(r11): 8(ptr) Variable Function + 120(r12): 15(ptr) Variable Function + 128(r20): 22(ptr) Variable Function + 138(r21): 8(ptr) Variable Function + 146(r22): 15(ptr) Variable Function + 154(lf4): 22(ptr) Variable Function + 159(storeTemp): 22(ptr) Variable Function + 169(storeTemp): 8(ptr) Variable Function + 176(storeTemp): 15(ptr) Variable Function + 185(val1): 22(ptr) Variable Function + 187(coordTemp): 186(ptr) Variable Function + 190(storeTemp): 22(ptr) Variable Function + 201(coordTemp): 186(ptr) Variable Function + 204(storeTemp): 22(ptr) Variable Function + 215(coordTemp): 186(ptr) Variable Function + 218(storeTemp): 22(ptr) Variable Function + 229(coordTemp): 186(ptr) Variable Function + 232(storeTemp): 8(ptr) Variable Function + 242(coordTemp): 186(ptr) Variable Function + 245(storeTemp): 8(ptr) Variable Function + 255(coordTemp): 186(ptr) Variable Function + 258(storeTemp): 8(ptr) Variable Function + 269(coordTemp): 186(ptr) Variable Function + 272(storeTemp): 8(ptr) Variable Function + 283(coordTemp): 186(ptr) Variable Function + 286(storeTemp): 8(ptr) Variable Function + 296(coordTemp): 186(ptr) Variable Function + 299(storeTemp): 8(ptr) Variable Function + 309(storeTemp): 22(ptr) Variable Function + 319(storeTemp): 8(ptr) Variable Function + 326(storeTemp): 15(ptr) Variable Function + 333(storeTemp): 22(ptr) Variable Function + 343(storeTemp): 8(ptr) Variable Function + 351(storeTemp): 15(ptr) Variable Function + 362(param): 22(ptr) Variable Function + 368(param): 8(ptr) Variable Function + 374(param): 15(ptr) Variable Function + 376(tempArg): 22(ptr) Variable Function + 377(param): 22(ptr) Variable Function + 384(tempArg): 8(ptr) Variable Function + 385(param): 8(ptr) Variable Function + 392(tempArg): 15(ptr) Variable Function + 393(param): 15(ptr) Variable Function + 400(coordTemp): 186(ptr) Variable Function + 403(storeTemp): 22(ptr) Variable Function + 414(coordTemp): 186(ptr) Variable Function + 417(storeTemp): 8(ptr) Variable Function + 427(coordTemp): 186(ptr) Variable Function + 430(storeTemp): 15(ptr) Variable Function + 440(coordTemp): 186(ptr) Variable Function + 443(storeTemp): 22(ptr) Variable Function + 453(coordTemp): 186(ptr) Variable Function + 456(storeTemp): 8(ptr) Variable Function + 466(coordTemp): 186(ptr) Variable Function + 469(storeTemp): 15(ptr) Variable Function + 479(coordTemp): 186(ptr) Variable Function +482(storeTempPre): 22(ptr) Variable Function +486(storeTempPost): 22(ptr) Variable Function + 494(coordTemp): 186(ptr) Variable Function +497(storeTempPre): 15(ptr) Variable Function +501(storeTempPost): 15(ptr) Variable Function + 509(coordTemp): 186(ptr) Variable Function +512(storeTempPre): 8(ptr) Variable Function +516(storeTempPost): 8(ptr) Variable Function + 524(coordTemp): 186(ptr) Variable Function +527(storeTempPre): 22(ptr) Variable Function +531(storeTempPost): 22(ptr) Variable Function + 539(coordTemp): 186(ptr) Variable Function +542(storeTempPre): 8(ptr) Variable Function +546(storeTempPost): 8(ptr) Variable Function + 554(coordTemp): 186(ptr) Variable Function +557(storeTempPre): 15(ptr) Variable Function +561(storeTempPost): 15(ptr) Variable Function + 569(storeTemp): 22(ptr) Variable Function + 576(psout): 575(ptr) Variable Function + 76: 73 Load 75(g_tTex1df4) + 78: 77(ptr) AccessChain 65 55 + 79: 6(int) Load 78 + 80: 21(fvec4) ImageRead 76 79 + 82: 73 Load 75(g_tTex1df4) + 83: 77(ptr) AccessChain 65 55 + 84: 6(int) Load 83 + 85: 21(fvec4) ImageRead 82 84 + Store 81(r00) 85 + 90: 87 Load 89(g_tTex1di4) + 91: 77(ptr) AccessChain 65 55 + 92: 6(int) Load 91 + 93: 7(ivec4) ImageRead 90 92 + Store 86(r01) 93 + 98: 95 Load 97(g_tTex1du4) + 99: 77(ptr) AccessChain 65 55 + 100: 6(int) Load 99 + 101: 14(ivec4) ImageRead 98 100 + Store 94(r02) 101 + 106: 103 Load 105(g_tTex2df4) + 109: 108(ptr) AccessChain 65 107 + 110: 61(ivec2) Load 109 + 111: 21(fvec4) ImageRead 106 110 + Store 102(r10) 111 + 116: 113 Load 115(g_tTex2di4) + 117: 108(ptr) AccessChain 65 107 + 118: 61(ivec2) Load 117 + 119: 7(ivec4) ImageRead 116 118 + Store 112(r11) 119 + 124: 121 Load 123(g_tTex2du4) + 125: 108(ptr) AccessChain 65 107 + 126: 61(ivec2) Load 125 + 127: 14(ivec4) ImageRead 124 126 + Store 120(r12) 127 + 132: 129 Load 131(g_tTex3df4) + 135: 134(ptr) AccessChain 65 133 + 136: 62(ivec3) Load 135 + 137: 21(fvec4) ImageRead 132 136 + Store 128(r20) 137 + 142: 139 Load 141(g_tTex3di4) + 143: 134(ptr) AccessChain 65 133 + 144: 62(ivec3) Load 143 + 145: 7(ivec4) ImageRead 142 144 + Store 138(r21) 145 + 150: 147 Load 149(g_tTex3du4) + 151: 134(ptr) AccessChain 65 133 + 152: 62(ivec3) Load 151 + 153: 14(ivec4) ImageRead 150 152 + Store 146(r22) 153 + 157: 156(ptr) AccessChain 65 155 + 158: 21(fvec4) Load 157 + Store 154(lf4) 158 + 160: 21(fvec4) FunctionCall 40(SomeValue() + Store 159(storeTemp) 160 + 161: 73 Load 75(g_tTex1df4) + 162: 77(ptr) AccessChain 65 55 + 163: 6(int) Load 162 + 164: 21(fvec4) Load 159(storeTemp) + ImageWrite 161 163 164 + 165: 73 Load 75(g_tTex1df4) + 166: 77(ptr) AccessChain 65 55 + 167: 6(int) Load 166 + 168: 21(fvec4) Load 154(lf4) + ImageWrite 165 167 168 + Store 169(storeTemp) 171 + 172: 87 Load 89(g_tTex1di4) + 173: 77(ptr) AccessChain 65 55 + 174: 6(int) Load 173 + 175: 7(ivec4) Load 169(storeTemp) + ImageWrite 172 174 175 + Store 176(storeTemp) 180 + 181: 95 Load 97(g_tTex1du4) + 182: 77(ptr) AccessChain 65 55 + 183: 6(int) Load 182 + 184: 14(ivec4) Load 176(storeTemp) + ImageWrite 181 183 184 + 188: 77(ptr) AccessChain 65 55 + 189: 6(int) Load 188 + Store 187(coordTemp) 189 + 191: 73 Load 75(g_tTex1df4) + 192: 6(int) Load 187(coordTemp) + 193: 21(fvec4) ImageRead 191 192 + Store 190(storeTemp) 193 + 195: 21(fvec4) Load 190(storeTemp) + 196: 21(fvec4) VectorTimesScalar 195 194 + Store 190(storeTemp) 196 + 197: 73 Load 75(g_tTex1df4) + 198: 6(int) Load 187(coordTemp) + 199: 21(fvec4) Load 190(storeTemp) + ImageWrite 197 198 199 + 200: 21(fvec4) Load 190(storeTemp) + Store 185(val1) 200 + 202: 77(ptr) AccessChain 65 55 + 203: 6(int) Load 202 + Store 201(coordTemp) 203 + 205: 73 Load 75(g_tTex1df4) + 206: 6(int) Load 201(coordTemp) + 207: 21(fvec4) ImageRead 205 206 + Store 204(storeTemp) 207 + 209: 21(fvec4) Load 204(storeTemp) + 210: 21(fvec4) CompositeConstruct 208 208 208 208 + 211: 21(fvec4) FSub 209 210 + Store 204(storeTemp) 211 + 212: 73 Load 75(g_tTex1df4) + 213: 6(int) Load 201(coordTemp) + 214: 21(fvec4) Load 204(storeTemp) + ImageWrite 212 213 214 + 216: 77(ptr) AccessChain 65 55 + 217: 6(int) Load 216 + Store 215(coordTemp) 217 + 219: 73 Load 75(g_tTex1df4) + 220: 6(int) Load 215(coordTemp) + 221: 21(fvec4) ImageRead 219 220 + Store 218(storeTemp) 221 + 223: 21(fvec4) Load 218(storeTemp) + 224: 21(fvec4) CompositeConstruct 222 222 222 222 + 225: 21(fvec4) FAdd 223 224 + Store 218(storeTemp) 225 + 226: 73 Load 75(g_tTex1df4) + 227: 6(int) Load 215(coordTemp) + 228: 21(fvec4) Load 218(storeTemp) + ImageWrite 226 227 228 + 230: 77(ptr) AccessChain 65 55 + 231: 6(int) Load 230 + Store 229(coordTemp) 231 + 233: 87 Load 89(g_tTex1di4) + 234: 6(int) Load 229(coordTemp) + 235: 7(ivec4) ImageRead 233 234 + Store 232(storeTemp) 235 + 236: 7(ivec4) Load 232(storeTemp) + 237: 7(ivec4) CompositeConstruct 133 133 133 133 + 238: 7(ivec4) SDiv 236 237 + Store 232(storeTemp) 238 + 239: 87 Load 89(g_tTex1di4) + 240: 6(int) Load 229(coordTemp) + 241: 7(ivec4) Load 232(storeTemp) + ImageWrite 239 240 241 + 243: 77(ptr) AccessChain 65 55 + 244: 6(int) Load 243 + Store 242(coordTemp) 244 + 246: 87 Load 89(g_tTex1di4) + 247: 6(int) Load 242(coordTemp) + 248: 7(ivec4) ImageRead 246 247 + Store 245(storeTemp) 248 + 249: 7(ivec4) Load 245(storeTemp) + 250: 7(ivec4) CompositeConstruct 133 133 133 133 + 251: 7(ivec4) SMod 249 250 + Store 245(storeTemp) 251 + 252: 87 Load 89(g_tTex1di4) + 253: 6(int) Load 242(coordTemp) + 254: 7(ivec4) Load 245(storeTemp) + ImageWrite 252 253 254 + 256: 77(ptr) AccessChain 65 55 + 257: 6(int) Load 256 + Store 255(coordTemp) 257 + 259: 87 Load 89(g_tTex1di4) + 260: 6(int) Load 255(coordTemp) + 261: 7(ivec4) ImageRead 259 260 + Store 258(storeTemp) 261 + 263: 7(ivec4) Load 258(storeTemp) + 264: 7(ivec4) CompositeConstruct 262 262 262 262 + 265: 7(ivec4) BitwiseAnd 263 264 + Store 258(storeTemp) 265 + 266: 87 Load 89(g_tTex1di4) + 267: 6(int) Load 255(coordTemp) + 268: 7(ivec4) Load 258(storeTemp) + ImageWrite 266 267 268 + 270: 77(ptr) AccessChain 65 55 + 271: 6(int) Load 270 + Store 269(coordTemp) 271 + 273: 87 Load 89(g_tTex1di4) + 274: 6(int) Load 269(coordTemp) + 275: 7(ivec4) ImageRead 273 274 + Store 272(storeTemp) 275 + 277: 7(ivec4) Load 272(storeTemp) + 278: 7(ivec4) CompositeConstruct 276 276 276 276 + 279: 7(ivec4) BitwiseOr 277 278 + Store 272(storeTemp) 279 + 280: 87 Load 89(g_tTex1di4) + 281: 6(int) Load 269(coordTemp) + 282: 7(ivec4) Load 272(storeTemp) + ImageWrite 280 281 282 + 284: 77(ptr) AccessChain 65 55 + 285: 6(int) Load 284 + Store 283(coordTemp) 285 + 287: 87 Load 89(g_tTex1di4) + 288: 6(int) Load 283(coordTemp) + 289: 7(ivec4) ImageRead 287 288 + Store 286(storeTemp) 289 + 290: 7(ivec4) Load 286(storeTemp) + 291: 7(ivec4) CompositeConstruct 133 133 133 133 + 292: 7(ivec4) ShiftLeftLogical 290 291 + Store 286(storeTemp) 292 + 293: 87 Load 89(g_tTex1di4) + 294: 6(int) Load 283(coordTemp) + 295: 7(ivec4) Load 286(storeTemp) + ImageWrite 293 294 295 + 297: 77(ptr) AccessChain 65 55 + 298: 6(int) Load 297 + Store 296(coordTemp) 298 + 300: 87 Load 89(g_tTex1di4) + 301: 6(int) Load 296(coordTemp) + 302: 7(ivec4) ImageRead 300 301 + Store 299(storeTemp) 302 + 303: 7(ivec4) Load 299(storeTemp) + 304: 7(ivec4) CompositeConstruct 133 133 133 133 + 305: 7(ivec4) ShiftRightArithmetic 303 304 + Store 299(storeTemp) 305 + 306: 87 Load 89(g_tTex1di4) + 307: 6(int) Load 296(coordTemp) + 308: 7(ivec4) Load 299(storeTemp) + ImageWrite 306 307 308 + 310: 21(fvec4) FunctionCall 40(SomeValue() + Store 309(storeTemp) 310 + 311: 103 Load 105(g_tTex2df4) + 312: 108(ptr) AccessChain 65 107 + 313: 61(ivec2) Load 312 + 314: 21(fvec4) Load 309(storeTemp) + ImageWrite 311 313 314 + 315: 103 Load 105(g_tTex2df4) + 316: 108(ptr) AccessChain 65 107 + 317: 61(ivec2) Load 316 + 318: 21(fvec4) Load 154(lf4) + ImageWrite 315 317 318 + Store 319(storeTemp) 321 + 322: 113 Load 115(g_tTex2di4) + 323: 108(ptr) AccessChain 65 107 + 324: 61(ivec2) Load 323 + 325: 7(ivec4) Load 319(storeTemp) + ImageWrite 322 324 325 + Store 326(storeTemp) 328 + 329: 121 Load 123(g_tTex2du4) + 330: 108(ptr) AccessChain 65 107 + 331: 61(ivec2) Load 330 + 332: 14(ivec4) Load 326(storeTemp) + ImageWrite 329 331 332 + 334: 21(fvec4) FunctionCall 40(SomeValue() + Store 333(storeTemp) 334 + 335: 129 Load 131(g_tTex3df4) + 336: 134(ptr) AccessChain 65 133 + 337: 62(ivec3) Load 336 + 338: 21(fvec4) Load 333(storeTemp) + ImageWrite 335 337 338 + 339: 129 Load 131(g_tTex3df4) + 340: 134(ptr) AccessChain 65 133 + 341: 62(ivec3) Load 340 + 342: 21(fvec4) Load 154(lf4) + ImageWrite 339 341 342 + Store 343(storeTemp) 346 + 347: 139 Load 141(g_tTex3di4) + 348: 134(ptr) AccessChain 65 133 + 349: 62(ivec3) Load 348 + 350: 7(ivec4) Load 343(storeTemp) + ImageWrite 347 349 350 + Store 351(storeTemp) 353 + 354: 147 Load 149(g_tTex3du4) + 355: 134(ptr) AccessChain 65 133 + 356: 62(ivec3) Load 355 + 357: 14(ivec4) Load 351(storeTemp) + ImageWrite 354 356 357 + 358: 73 Load 75(g_tTex1df4) + 359: 77(ptr) AccessChain 65 55 + 360: 6(int) Load 359 + 361: 21(fvec4) ImageRead 358 360 + Store 362(param) 361 + 363: 21(fvec4) FunctionCall 25(Fn1(vf4;) 362(param) + 364: 87 Load 89(g_tTex1di4) + 365: 77(ptr) AccessChain 65 55 + 366: 6(int) Load 365 + 367: 7(ivec4) ImageRead 364 366 + Store 368(param) 367 + 369: 7(ivec4) FunctionCall 11(Fn1(vi4;) 368(param) + 370: 95 Load 97(g_tTex1du4) + 371: 77(ptr) AccessChain 65 55 + 372: 6(int) Load 371 + 373: 14(ivec4) ImageRead 370 372 + Store 374(param) 373 + 375: 14(ivec4) FunctionCall 18(Fn1(vu4;) 374(param) + 378: 2 FunctionCall 37(Fn2(vf4;) 377(param) + 379: 21(fvec4) Load 377(param) + Store 376(tempArg) 379 + 380: 73 Load 75(g_tTex1df4) + 381: 77(ptr) AccessChain 65 55 + 382: 6(int) Load 381 + 383: 21(fvec4) Load 376(tempArg) + ImageWrite 380 382 383 + 386: 2 FunctionCall 29(Fn2(vi4;) 385(param) + 387: 7(ivec4) Load 385(param) + Store 384(tempArg) 387 + 388: 87 Load 89(g_tTex1di4) + 389: 77(ptr) AccessChain 65 55 + 390: 6(int) Load 389 + 391: 7(ivec4) Load 384(tempArg) + ImageWrite 388 390 391 + 394: 2 FunctionCall 33(Fn2(vu4;) 393(param) + 395: 14(ivec4) Load 393(param) + Store 392(tempArg) 395 + 396: 95 Load 97(g_tTex1du4) + 397: 77(ptr) AccessChain 65 55 + 398: 6(int) Load 397 + 399: 14(ivec4) Load 392(tempArg) + ImageWrite 396 398 399 + 401: 77(ptr) AccessChain 65 55 + 402: 6(int) Load 401 + Store 400(coordTemp) 402 + 404: 73 Load 75(g_tTex1df4) + 405: 6(int) Load 400(coordTemp) + 406: 21(fvec4) ImageRead 404 405 + Store 403(storeTemp) 406 + 407: 21(fvec4) Load 403(storeTemp) + 409: 21(fvec4) CompositeConstruct 408 408 408 408 + 410: 21(fvec4) FAdd 407 409 + Store 403(storeTemp) 410 + 411: 73 Load 75(g_tTex1df4) + 412: 6(int) Load 400(coordTemp) + 413: 21(fvec4) Load 403(storeTemp) + ImageWrite 411 412 413 + 415: 77(ptr) AccessChain 65 55 + 416: 6(int) Load 415 + Store 414(coordTemp) 416 + 418: 87 Load 89(g_tTex1di4) + 419: 6(int) Load 414(coordTemp) + 420: 7(ivec4) ImageRead 418 419 + Store 417(storeTemp) 420 + 421: 7(ivec4) Load 417(storeTemp) + 422: 7(ivec4) CompositeConstruct 107 107 107 107 + 423: 7(ivec4) IAdd 421 422 + Store 417(storeTemp) 423 + 424: 87 Load 89(g_tTex1di4) + 425: 6(int) Load 414(coordTemp) + 426: 7(ivec4) Load 417(storeTemp) + ImageWrite 424 425 426 + 428: 77(ptr) AccessChain 65 55 + 429: 6(int) Load 428 + Store 427(coordTemp) 429 + 431: 95 Load 97(g_tTex1du4) + 432: 6(int) Load 427(coordTemp) + 433: 14(ivec4) ImageRead 431 432 + Store 430(storeTemp) 433 + 434: 14(ivec4) Load 430(storeTemp) + 435: 7(ivec4) CompositeConstruct 107 107 107 107 + 436: 14(ivec4) IAdd 434 435 + Store 430(storeTemp) 436 + 437: 95 Load 97(g_tTex1du4) + 438: 6(int) Load 427(coordTemp) + 439: 14(ivec4) Load 430(storeTemp) + ImageWrite 437 438 439 + 441: 77(ptr) AccessChain 65 55 + 442: 6(int) Load 441 + Store 440(coordTemp) 442 + 444: 73 Load 75(g_tTex1df4) + 445: 6(int) Load 440(coordTemp) + 446: 21(fvec4) ImageRead 444 445 + Store 443(storeTemp) 446 + 447: 21(fvec4) Load 443(storeTemp) + 448: 21(fvec4) CompositeConstruct 408 408 408 408 + 449: 21(fvec4) FSub 447 448 + Store 443(storeTemp) 449 + 450: 73 Load 75(g_tTex1df4) + 451: 6(int) Load 440(coordTemp) + 452: 21(fvec4) Load 443(storeTemp) + ImageWrite 450 451 452 + 454: 77(ptr) AccessChain 65 55 + 455: 6(int) Load 454 + Store 453(coordTemp) 455 + 457: 87 Load 89(g_tTex1di4) + 458: 6(int) Load 453(coordTemp) + 459: 7(ivec4) ImageRead 457 458 + Store 456(storeTemp) 459 + 460: 7(ivec4) Load 456(storeTemp) + 461: 7(ivec4) CompositeConstruct 107 107 107 107 + 462: 7(ivec4) ISub 460 461 + Store 456(storeTemp) 462 + 463: 87 Load 89(g_tTex1di4) + 464: 6(int) Load 453(coordTemp) + 465: 7(ivec4) Load 456(storeTemp) + ImageWrite 463 464 465 + 467: 77(ptr) AccessChain 65 55 + 468: 6(int) Load 467 + Store 466(coordTemp) 468 + 470: 95 Load 97(g_tTex1du4) + 471: 6(int) Load 466(coordTemp) + 472: 14(ivec4) ImageRead 470 471 + Store 469(storeTemp) 472 + 473: 14(ivec4) Load 469(storeTemp) + 474: 7(ivec4) CompositeConstruct 107 107 107 107 + 475: 14(ivec4) ISub 473 474 + Store 469(storeTemp) 475 + 476: 95 Load 97(g_tTex1du4) + 477: 6(int) Load 466(coordTemp) + 478: 14(ivec4) Load 469(storeTemp) + ImageWrite 476 477 478 + 480: 77(ptr) AccessChain 65 55 + 481: 6(int) Load 480 + Store 479(coordTemp) 481 + 483: 73 Load 75(g_tTex1df4) + 484: 6(int) Load 479(coordTemp) + 485: 21(fvec4) ImageRead 483 484 + Store 482(storeTempPre) 485 + 487: 21(fvec4) Load 482(storeTempPre) + Store 486(storeTempPost) 487 + 488: 21(fvec4) Load 486(storeTempPost) + 489: 21(fvec4) CompositeConstruct 408 408 408 408 + 490: 21(fvec4) FAdd 488 489 + Store 486(storeTempPost) 490 + 491: 73 Load 75(g_tTex1df4) + 492: 6(int) Load 479(coordTemp) + 493: 21(fvec4) Load 486(storeTempPost) + ImageWrite 491 492 493 + 495: 77(ptr) AccessChain 65 55 + 496: 6(int) Load 495 + Store 494(coordTemp) 496 + 498: 95 Load 97(g_tTex1du4) + 499: 6(int) Load 494(coordTemp) + 500: 14(ivec4) ImageRead 498 499 + Store 497(storeTempPre) 500 + 502: 14(ivec4) Load 497(storeTempPre) + Store 501(storeTempPost) 502 + 503: 14(ivec4) Load 501(storeTempPost) + 504: 7(ivec4) CompositeConstruct 107 107 107 107 + 505: 14(ivec4) ISub 503 504 + Store 501(storeTempPost) 505 + 506: 95 Load 97(g_tTex1du4) + 507: 6(int) Load 494(coordTemp) + 508: 14(ivec4) Load 501(storeTempPost) + ImageWrite 506 507 508 + 510: 77(ptr) AccessChain 65 55 + 511: 6(int) Load 510 + Store 509(coordTemp) 511 + 513: 87 Load 89(g_tTex1di4) + 514: 6(int) Load 509(coordTemp) + 515: 7(ivec4) ImageRead 513 514 + Store 512(storeTempPre) 515 + 517: 7(ivec4) Load 512(storeTempPre) + Store 516(storeTempPost) 517 + 518: 7(ivec4) Load 516(storeTempPost) + 519: 7(ivec4) CompositeConstruct 107 107 107 107 + 520: 7(ivec4) IAdd 518 519 + Store 516(storeTempPost) 520 + 521: 87 Load 89(g_tTex1di4) + 522: 6(int) Load 509(coordTemp) + 523: 7(ivec4) Load 516(storeTempPost) + ImageWrite 521 522 523 + 525: 77(ptr) AccessChain 65 55 + 526: 6(int) Load 525 + Store 524(coordTemp) 526 + 528: 73 Load 75(g_tTex1df4) + 529: 6(int) Load 524(coordTemp) + 530: 21(fvec4) ImageRead 528 529 + Store 527(storeTempPre) 530 + 532: 21(fvec4) Load 527(storeTempPre) + Store 531(storeTempPost) 532 + 533: 21(fvec4) Load 531(storeTempPost) + 534: 21(fvec4) CompositeConstruct 408 408 408 408 + 535: 21(fvec4) FSub 533 534 + Store 531(storeTempPost) 535 + 536: 73 Load 75(g_tTex1df4) + 537: 6(int) Load 524(coordTemp) + 538: 21(fvec4) Load 531(storeTempPost) + ImageWrite 536 537 538 + 540: 77(ptr) AccessChain 65 55 + 541: 6(int) Load 540 + Store 539(coordTemp) 541 + 543: 87 Load 89(g_tTex1di4) + 544: 6(int) Load 539(coordTemp) + 545: 7(ivec4) ImageRead 543 544 + Store 542(storeTempPre) 545 + 547: 7(ivec4) Load 542(storeTempPre) + Store 546(storeTempPost) 547 + 548: 7(ivec4) Load 546(storeTempPost) + 549: 7(ivec4) CompositeConstruct 107 107 107 107 + 550: 7(ivec4) IAdd 548 549 + Store 546(storeTempPost) 550 + 551: 87 Load 89(g_tTex1di4) + 552: 6(int) Load 539(coordTemp) + 553: 7(ivec4) Load 546(storeTempPost) + ImageWrite 551 552 553 + 555: 77(ptr) AccessChain 65 55 + 556: 6(int) Load 555 + Store 554(coordTemp) 556 + 558: 95 Load 97(g_tTex1du4) + 559: 6(int) Load 554(coordTemp) + 560: 14(ivec4) ImageRead 558 559 + Store 557(storeTempPre) 560 + 562: 14(ivec4) Load 557(storeTempPre) + Store 561(storeTempPost) 562 + 563: 14(ivec4) Load 561(storeTempPost) + 564: 7(ivec4) CompositeConstruct 107 107 107 107 + 565: 14(ivec4) ISub 563 564 + Store 561(storeTempPost) 565 + 566: 95 Load 97(g_tTex1du4) + 567: 6(int) Load 554(coordTemp) + 568: 14(ivec4) Load 561(storeTempPost) + ImageWrite 566 567 568 + 570: 103 Load 105(g_tTex2df4) + 572: 21(fvec4) ImageRead 570 571 + Store 569(storeTemp) 572 + 573: 73 Load 75(g_tTex1df4) + 574: 21(fvec4) Load 569(storeTemp) + ImageWrite 573 107 574 + 578: 22(ptr) AccessChain 576(psout) 55 + Store 578 577 + 579:42(PS_OUTPUT) Load 576(psout) + ReturnValue 579 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out index f369cac79fc..2e0c5622386 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.register.frag.out @@ -2,26 +2,26 @@ hlsl.rw.register.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'r00' (temp float) -0:12 imageLoad (temp float) -0:12 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:12 move second child to first child ( temp float) +0:12 'r00' ( temp float) +0:12 imageLoad ( temp float) +0:12 'g_tTex1df1' (layout( binding=2 r32f) uniform image1D) 0:12 Constant: 0:12 0 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'r01' (temp uint) -0:13 imageLoad (temp uint) -0:13 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:13 move second child to first child ( temp uint) +0:13 'r01' ( temp uint) +0:13 imageLoad ( temp uint) +0:13 'g_tBuf1du1' (layout( binding=3 r32ui) uniform uimageBuffer) 0:13 Constant: 0:13 0 (const int) -0:16 move second child to first child (temp 4-component vector of float) -0:16 Color: direct index for structure (temp 4-component vector of float) -0:16 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 Color: direct index for structure ( temp 4-component vector of float) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:16 Constant: 0:16 0 (const int) 0:16 Constant: @@ -29,19 +29,22 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:11 Function Definition: main( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:11 Color: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) -0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:? 'g_tTex1df1' (layout( binding=2 r32f) uniform image1D) +0:? 'g_tBuf1du1' (layout( binding=3 r32ui) uniform uimageBuffer) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -50,26 +53,26 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:11 Function Parameters: 0:? Sequence 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'r00' (temp float) -0:12 imageLoad (temp float) -0:12 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:12 move second child to first child ( temp float) +0:12 'r00' ( temp float) +0:12 imageLoad ( temp float) +0:12 'g_tTex1df1' (layout( binding=2 r32f) uniform image1D) 0:12 Constant: 0:12 0 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'r01' (temp uint) -0:13 imageLoad (temp uint) -0:13 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:13 move second child to first child ( temp uint) +0:13 'r01' ( temp uint) +0:13 imageLoad ( temp uint) +0:13 'g_tBuf1du1' (layout( binding=3 r32ui) uniform uimageBuffer) 0:13 Constant: 0:13 0 (const int) -0:16 move second child to first child (temp 4-component vector of float) -0:16 Color: direct index for structure (temp 4-component vector of float) -0:16 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 Color: direct index for structure ( temp 4-component vector of float) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:16 Constant: 0:16 0 (const int) 0:16 Constant: @@ -77,82 +80,92 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:17 Color: direct index for structure (temp 4-component vector of float) -0:17 'psout' (temp structure{temp 4-component vector of float Color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:11 Function Definition: main( ( temp void) +0:11 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:11 Color: direct index for structure ( temp 4-component vector of float) +0:11 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:11 Constant: +0:11 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) -0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:? 'g_tTex1df1' (layout( binding=2 r32f) uniform image1D) +0:? 'g_tBuf1du1' (layout( binding=3 r32ui) uniform uimageBuffer) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 37 +// Id's are bound by 42 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 33 + EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df1" - Name 18 "r01" - Name 21 "g_tBuf1du1" - Name 25 "PS_OUTPUT" - MemberName 25(PS_OUTPUT) 0 "Color" - Name 27 "psout" - Name 33 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 11(g_tTex1df1) Binding 2 - Decorate 21(g_tBuf1du1) DescriptorSet 0 - Decorate 21(g_tBuf1du1) Binding 3 - Decorate 33(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df1" + Name 23 "r01" + Name 26 "g_tBuf1du1" + Name 30 "psout" + Name 39 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 16(g_tTex1df1) Binding 2 + Decorate 26(g_tBuf1du1) DescriptorSet 0 + Decorate 26(g_tBuf1du1) Binding 3 + Decorate 39(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D nonsampled format:R32f - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 16: TypeInt 32 0 - 17: TypePointer Function 16(int) - 19: TypeImage 16(int) Buffer nonsampled format:R32ui - 20: TypePointer UniformConstant 19 - 21(g_tBuf1du1): 20(ptr) Variable UniformConstant - 24: TypeVector 6(float) 4 - 25(PS_OUTPUT): TypeStruct 24(fvec4) - 26: TypePointer Function 25(PS_OUTPUT) - 28: 6(float) Constant 1065353216 - 29: 24(fvec4) ConstantComposite 28 28 28 28 - 30: TypePointer Function 24(fvec4) - 32: TypePointer Output 24(fvec4) - 33(Color): 32(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D nonsampled format:R32f + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: TypeInt 32 0 + 22: TypePointer Function 21(int) + 24: TypeImage 21(int) Buffer nonsampled format:R32ui + 25: TypePointer UniformConstant 24 + 26(g_tBuf1du1): 25(ptr) Variable UniformConstant + 29: TypePointer Function 8(PS_OUTPUT) + 31: 6(float) Constant 1065353216 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 33: TypePointer Function 7(fvec4) + 38: TypePointer Output 7(fvec4) + 39(Color): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 18(r01): 17(ptr) Variable Function - 27(psout): 26(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 15: 6(float) ImageRead 12 14 - Store 8(r00) 15 - 22: 19 Load 21(g_tBuf1du1) - 23: 16(int) ImageRead 22 14 - Store 18(r01) 23 - 31: 30(ptr) AccessChain 27(psout) 14 - Store 31 29 - 34: 30(ptr) AccessChain 27(psout) 14 - 35: 24(fvec4) Load 34 - Store 33(Color) 35 + 40:8(PS_OUTPUT) FunctionCall 10(@main() + 41: 7(fvec4) CompositeExtract 40 0 + Store 39(Color) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 23(r01): 22(ptr) Variable Function + 30(psout): 29(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 20: 6(float) ImageRead 17 19 + Store 13(r00) 20 + 27: 24 Load 26(g_tBuf1du1) + 28: 21(int) ImageRead 27 19 + Store 23(r01) 28 + 34: 33(ptr) AccessChain 30(psout) 19 + Store 34 32 + 35:8(PS_OUTPUT) Load 30(psout) + ReturnValue 35 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index 8e40fd2e35d..991d524e280 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -2,807 +2,807 @@ hlsl.rw.scalar.bracket.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(i1; (temp int) +0:42 Function Definition: Fn1(i1; ( temp int) 0:42 Function Parameters: -0:42 'x' (in int) +0:42 'x' ( in int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in int) -0:43 Function Definition: Fn1(u1; (temp uint) +0:42 'x' ( in int) +0:43 Function Definition: Fn1(u1; ( temp uint) 0:43 Function Parameters: -0:43 'x' (in uint) +0:43 'x' ( in uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in uint) -0:44 Function Definition: Fn1(f1; (temp float) +0:43 'x' ( in uint) +0:44 Function Definition: Fn1(f1; ( temp float) 0:44 Function Parameters: -0:44 'x' (in float) +0:44 'x' ( in float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in float) -0:46 Function Definition: Fn2(i1; (temp void) +0:44 'x' ( in float) +0:46 Function Definition: Fn2(i1; ( temp void) 0:46 Function Parameters: -0:46 'x' (out int) +0:46 'x' ( out int) 0:? Sequence -0:46 move second child to first child (temp int) -0:46 'x' (out int) +0:46 move second child to first child ( temp int) +0:46 'x' ( out int) 0:46 Constant: 0:46 0 (const int) -0:47 Function Definition: Fn2(u1; (temp void) +0:47 Function Definition: Fn2(u1; ( temp void) 0:47 Function Parameters: -0:47 'x' (out uint) +0:47 'x' ( out uint) 0:? Sequence -0:47 move second child to first child (temp uint) -0:47 'x' (out uint) +0:47 move second child to first child ( temp uint) +0:47 'x' ( out uint) 0:47 Constant: 0:47 0 (const uint) -0:48 Function Definition: Fn2(f1; (temp void) +0:48 Function Definition: Fn2(f1; ( temp void) 0:48 Function Parameters: -0:48 'x' (out float) +0:48 'x' ( out float) 0:? Sequence -0:48 move second child to first child (temp float) -0:48 'x' (out float) +0:48 move second child to first child ( temp float) +0:48 'x' ( out float) 0:48 Constant: 0:48 0.000000 -0:50 Function Definition: SomeValue( (temp float) +0:50 Function Definition: SomeValue( ( temp float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp float) -0:50 c1: direct index for structure (layout(offset=0 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:50 Convert int to float ( temp float) +0:50 c1: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:50 Constant: 0:50 0 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp float) -0:57 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:57 imageLoad ( temp float) +0:57 'g_tTex1df1' (layout( r32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'r00' (temp float) -0:59 imageLoad (temp float) -0:59 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:59 move second child to first child ( temp float) +0:59 'r00' ( temp float) +0:59 imageLoad ( temp float) +0:59 'g_tTex1df1' (layout( r32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'r01' (temp int) -0:60 imageLoad (temp int) -0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:60 move second child to first child ( temp int) +0:60 'r01' ( temp int) +0:60 imageLoad ( temp int) +0:60 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp uint) -0:61 'r02' (temp uint) -0:61 imageLoad (temp uint) -0:61 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:61 move second child to first child ( temp uint) +0:61 'r02' ( temp uint) +0:61 imageLoad ( temp uint) +0:61 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'r10' (temp float) -0:64 imageLoad (temp float) -0:64 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:64 move second child to first child ( temp float) +0:64 'r10' ( temp float) +0:64 imageLoad ( temp float) +0:64 'g_tTex2df1' (layout( r32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp int) -0:65 'r11' (temp int) -0:65 imageLoad (temp int) -0:65 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:65 move second child to first child ( temp int) +0:65 'r11' ( temp int) +0:65 imageLoad ( temp int) +0:65 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp uint) -0:66 'r12' (temp uint) -0:66 imageLoad (temp uint) -0:66 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:66 move second child to first child ( temp uint) +0:66 'r12' ( temp uint) +0:66 imageLoad ( temp uint) +0:66 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp float) -0:69 'r20' (temp float) -0:69 imageLoad (temp float) -0:69 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:69 move second child to first child ( temp float) +0:69 'r20' ( temp float) +0:69 imageLoad ( temp float) +0:69 'g_tTex3df1' (layout( r32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp int) -0:70 'r21' (temp int) -0:70 imageLoad (temp int) -0:70 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:70 move second child to first child ( temp int) +0:70 'r21' ( temp int) +0:70 imageLoad ( temp int) +0:70 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp uint) -0:71 'r22' (temp uint) -0:71 imageLoad (temp uint) -0:71 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:71 move second child to first child ( temp uint) +0:71 'r22' ( temp uint) +0:71 imageLoad ( temp uint) +0:71 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'lf1' (temp float) -0:73 uf1: direct index for structure (layout(offset=96 ) uniform float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:73 move second child to first child ( temp float) +0:73 'lf1' ( temp float) +0:73 uf1: direct index for structure ( uniform float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'storeTemp' (temp float) -0:77 Function Call: SomeValue( (temp float) -0:77 imageStore (temp void) -0:77 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:77 move second child to first child ( temp float) +0:77 'storeTemp' ( temp float) +0:77 Function Call: SomeValue( ( temp float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df1' (layout( r32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp float) -0:77 'storeTemp' (temp float) +0:77 'storeTemp' ( temp float) +0:77 'storeTemp' ( temp float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df1' (layout( r32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf1' (temp float) -0:78 'lf1' (temp float) +0:78 'lf1' ( temp float) +0:78 'lf1' ( temp float) 0:79 Sequence -0:79 move second child to first child (temp int) -0:79 'storeTemp' (temp int) +0:79 move second child to first child ( temp int) +0:79 'storeTemp' ( temp int) 0:79 Constant: 0:79 2 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp int) -0:79 'storeTemp' (temp int) +0:79 'storeTemp' ( temp int) +0:79 'storeTemp' ( temp int) 0:80 Sequence -0:80 move second child to first child (temp uint) -0:80 'storeTemp' (temp uint) +0:80 move second child to first child ( temp uint) +0:80 'storeTemp' ( temp uint) 0:80 Constant: 0:80 3 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp uint) -0:80 'storeTemp' (temp uint) +0:80 'storeTemp' ( temp uint) +0:80 'storeTemp' ( temp uint) 0:83 Sequence -0:83 move second child to first child (temp float) -0:83 'val1' (temp float) +0:83 move second child to first child ( temp float) +0:83 'val1' ( temp float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp float) -0:83 'storeTemp' (temp float) -0:83 imageLoad (temp float) -0:83 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 multiply second child into first child (temp float) -0:83 'storeTemp' (temp float) +0:83 move second child to first child ( temp float) +0:83 'storeTemp' ( temp float) +0:83 imageLoad ( temp float) +0:83 'g_tTex1df1' (layout( r32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 multiply second child into first child ( temp float) +0:83 'storeTemp' ( temp float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp float) -0:83 'storeTemp' (temp float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df1' (layout( r32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp float) +0:83 'storeTemp' ( temp float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp float) -0:84 'storeTemp' (temp float) -0:84 imageLoad (temp float) -0:84 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp float) -0:84 'storeTemp' (temp float) +0:84 move second child to first child ( temp float) +0:84 'storeTemp' ( temp float) +0:84 imageLoad ( temp float) +0:84 'g_tTex1df1' (layout( r32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp float) +0:84 'storeTemp' ( temp float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp float) -0:84 'storeTemp' (temp float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df1' (layout( r32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp float) +0:84 'storeTemp' ( temp float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp float) -0:85 'storeTemp' (temp float) -0:85 imageLoad (temp float) -0:85 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp float) -0:85 'storeTemp' (temp float) +0:85 move second child to first child ( temp float) +0:85 'storeTemp' ( temp float) +0:85 imageLoad ( temp float) +0:85 'g_tTex1df1' (layout( r32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp float) +0:85 'storeTemp' ( temp float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp float) -0:85 'storeTemp' (temp float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df1' (layout( r32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp float) +0:85 'storeTemp' ( temp float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp int) -0:87 'storeTemp' (temp int) -0:87 imageLoad (temp int) -0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp int) -0:87 'storeTemp' (temp int) +0:87 move second child to first child ( temp int) +0:87 'storeTemp' ( temp int) +0:87 imageLoad ( temp int) +0:87 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp int) +0:87 'storeTemp' ( temp int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp int) -0:87 'storeTemp' (temp int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp int) +0:87 'storeTemp' ( temp int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp int) -0:88 'storeTemp' (temp int) -0:88 imageLoad (temp int) -0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp int) -0:88 'storeTemp' (temp int) +0:88 move second child to first child ( temp int) +0:88 'storeTemp' ( temp int) +0:88 imageLoad ( temp int) +0:88 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp int) +0:88 'storeTemp' ( temp int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp int) -0:88 'storeTemp' (temp int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp int) +0:88 'storeTemp' ( temp int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp int) -0:89 'storeTemp' (temp int) -0:89 imageLoad (temp int) -0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp int) -0:89 'storeTemp' (temp int) +0:89 move second child to first child ( temp int) +0:89 'storeTemp' ( temp int) +0:89 imageLoad ( temp int) +0:89 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp int) +0:89 'storeTemp' ( temp int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp int) -0:89 'storeTemp' (temp int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp int) +0:89 'storeTemp' ( temp int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp int) -0:90 'storeTemp' (temp int) -0:90 imageLoad (temp int) -0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp int) -0:90 'storeTemp' (temp int) +0:90 move second child to first child ( temp int) +0:90 'storeTemp' ( temp int) +0:90 imageLoad ( temp int) +0:90 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp int) +0:90 'storeTemp' ( temp int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp int) -0:90 'storeTemp' (temp int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp int) +0:90 'storeTemp' ( temp int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp int) -0:91 'storeTemp' (temp int) -0:91 imageLoad (temp int) -0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp int) -0:91 'storeTemp' (temp int) +0:91 move second child to first child ( temp int) +0:91 'storeTemp' ( temp int) +0:91 imageLoad ( temp int) +0:91 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp int) +0:91 'storeTemp' ( temp int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp int) -0:91 'storeTemp' (temp int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp int) +0:91 'storeTemp' ( temp int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp int) -0:92 'storeTemp' (temp int) -0:92 imageLoad (temp int) -0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp int) -0:92 'storeTemp' (temp int) +0:92 move second child to first child ( temp int) +0:92 'storeTemp' ( temp int) +0:92 imageLoad ( temp int) +0:92 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp int) +0:92 'storeTemp' ( temp int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp int) -0:92 'storeTemp' (temp int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp int) +0:92 'storeTemp' ( temp int) 0:95 Sequence -0:95 move second child to first child (temp float) -0:95 'storeTemp' (temp float) -0:95 Function Call: SomeValue( (temp float) -0:95 imageStore (temp void) -0:95 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:95 move second child to first child ( temp float) +0:95 'storeTemp' ( temp float) +0:95 Function Call: SomeValue( ( temp float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df1' (layout( r32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp float) -0:95 'storeTemp' (temp float) +0:95 'storeTemp' ( temp float) +0:95 'storeTemp' ( temp float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df1' (layout( r32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf1' (temp float) -0:96 'lf1' (temp float) +0:96 'lf1' ( temp float) +0:96 'lf1' ( temp float) 0:97 Sequence -0:97 move second child to first child (temp int) -0:97 'storeTemp' (temp int) +0:97 move second child to first child ( temp int) +0:97 'storeTemp' ( temp int) 0:97 Constant: 0:97 5 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp int) -0:97 'storeTemp' (temp int) +0:97 'storeTemp' ( temp int) +0:97 'storeTemp' ( temp int) 0:98 Sequence -0:98 move second child to first child (temp uint) -0:98 'storeTemp' (temp uint) +0:98 move second child to first child ( temp uint) +0:98 'storeTemp' ( temp uint) 0:98 Constant: 0:98 6 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp uint) -0:98 'storeTemp' (temp uint) +0:98 'storeTemp' ( temp uint) +0:98 'storeTemp' ( temp uint) 0:101 Sequence -0:101 move second child to first child (temp float) -0:101 'storeTemp' (temp float) -0:101 Function Call: SomeValue( (temp float) -0:101 imageStore (temp void) -0:101 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:101 move second child to first child ( temp float) +0:101 'storeTemp' ( temp float) +0:101 Function Call: SomeValue( ( temp float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df1' (layout( r32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp float) -0:101 'storeTemp' (temp float) +0:101 'storeTemp' ( temp float) +0:101 'storeTemp' ( temp float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df1' (layout( r32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf1' (temp float) -0:102 'lf1' (temp float) +0:102 'lf1' ( temp float) +0:102 'lf1' ( temp float) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'storeTemp' (temp int) +0:103 move second child to first child ( temp int) +0:103 'storeTemp' ( temp int) 0:103 Constant: 0:103 8 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp int) -0:103 'storeTemp' (temp int) +0:103 'storeTemp' ( temp int) +0:103 'storeTemp' ( temp int) 0:104 Sequence -0:104 move second child to first child (temp uint) -0:104 'storeTemp' (temp uint) +0:104 move second child to first child ( temp uint) +0:104 'storeTemp' ( temp uint) 0:104 Constant: 0:104 9 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp uint) -0:104 'storeTemp' (temp uint) -0:107 Function Call: Fn1(f1; (temp float) -0:107 imageLoad (temp float) -0:107 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:104 'storeTemp' ( temp uint) +0:104 'storeTemp' ( temp uint) +0:107 Function Call: Fn1(f1; ( temp float) +0:107 imageLoad ( temp float) +0:107 'g_tTex1df1' (layout( r32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(i1; (temp int) -0:108 imageLoad (temp int) -0:108 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:108 Function Call: Fn1(i1; ( temp int) +0:108 imageLoad ( temp int) +0:108 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(u1; (temp uint) -0:109 imageLoad (temp uint) -0:109 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:109 Function Call: Fn1(u1; ( temp uint) +0:109 imageLoad ( temp uint) +0:109 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(f1; (temp void) -0:111 'tempArg' (temp float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(f1; ( temp void) +0:111 'tempArg' ( temp float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df1' (layout( r32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp float) -0:111 'tempArg' (temp float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(i1; (temp void) -0:112 'tempArg' (temp int) +0:111 'tempArg' ( temp float) +0:111 'tempArg' ( temp float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(i1; ( temp void) +0:112 'tempArg' ( temp int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp int) -0:112 'tempArg' (temp int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(u1; (temp void) -0:113 'tempArg' (temp uint) +0:112 'tempArg' ( temp int) +0:112 'tempArg' ( temp int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(u1; ( temp void) +0:113 'tempArg' ( temp uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp uint) -0:113 'tempArg' (temp uint) +0:113 'tempArg' ( temp uint) +0:113 'tempArg' ( temp uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp float) -0:117 'storeTemp' (temp float) -0:117 imageLoad (temp float) -0:117 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp float) -0:117 'storeTemp' (temp float) -0:117 imageStore (temp void) -0:117 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp float) -0:117 'storeTemp' (temp float) +0:117 move second child to first child ( temp float) +0:117 'storeTemp' ( temp float) +0:117 imageLoad ( temp float) +0:117 'g_tTex1df1' (layout( r32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp float) +0:117 'storeTemp' ( temp float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df1' (layout( r32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp float) +0:117 'storeTemp' ( temp float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp int) -0:118 'storeTemp' (temp int) -0:118 imageLoad (temp int) -0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp int) -0:118 'storeTemp' (temp int) -0:118 imageStore (temp void) -0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp int) -0:118 'storeTemp' (temp int) +0:118 move second child to first child ( temp int) +0:118 'storeTemp' ( temp int) +0:118 imageLoad ( temp int) +0:118 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp int) +0:118 'storeTemp' ( temp int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp int) +0:118 'storeTemp' ( temp int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp uint) -0:119 'storeTemp' (temp uint) -0:119 imageLoad (temp uint) -0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp uint) -0:119 'storeTemp' (temp uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp uint) -0:119 'storeTemp' (temp uint) +0:119 move second child to first child ( temp uint) +0:119 'storeTemp' ( temp uint) +0:119 imageLoad ( temp uint) +0:119 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp uint) +0:119 'storeTemp' ( temp uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp uint) +0:119 'storeTemp' ( temp uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp float) -0:121 'storeTemp' (temp float) -0:121 imageLoad (temp float) -0:121 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp float) -0:121 'storeTemp' (temp float) -0:121 imageStore (temp void) -0:121 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp float) -0:121 'storeTemp' (temp float) +0:121 move second child to first child ( temp float) +0:121 'storeTemp' ( temp float) +0:121 imageLoad ( temp float) +0:121 'g_tTex1df1' (layout( r32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp float) +0:121 'storeTemp' ( temp float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df1' (layout( r32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp float) +0:121 'storeTemp' ( temp float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp int) -0:122 'storeTemp' (temp int) -0:122 imageLoad (temp int) -0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp int) -0:122 'storeTemp' (temp int) -0:122 imageStore (temp void) -0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp int) -0:122 'storeTemp' (temp int) +0:122 move second child to first child ( temp int) +0:122 'storeTemp' ( temp int) +0:122 imageLoad ( temp int) +0:122 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp int) +0:122 'storeTemp' ( temp int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp int) +0:122 'storeTemp' ( temp int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp uint) -0:123 'storeTemp' (temp uint) -0:123 imageLoad (temp uint) -0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp uint) -0:123 'storeTemp' (temp uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp uint) -0:123 'storeTemp' (temp uint) +0:123 move second child to first child ( temp uint) +0:123 'storeTemp' ( temp uint) +0:123 imageLoad ( temp uint) +0:123 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp uint) +0:123 'storeTemp' ( temp uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp uint) +0:123 'storeTemp' ( temp uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp float) -0:126 'storeTempPre' (temp float) -0:126 imageLoad (temp float) -0:126 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp float) -0:126 'storeTempPost' (temp float) -0:126 'storeTempPre' (temp float) -0:126 Post-Increment (temp float) -0:126 'storeTempPost' (temp float) -0:126 imageStore (temp void) -0:126 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp float) -0:126 'storeTempPre' (temp float) +0:126 move second child to first child ( temp float) +0:126 'storeTempPre' ( temp float) +0:126 imageLoad ( temp float) +0:126 'g_tTex1df1' (layout( r32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp float) +0:126 'storeTempPost' ( temp float) +0:126 'storeTempPre' ( temp float) +0:126 Post-Increment ( temp float) +0:126 'storeTempPost' ( temp float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df1' (layout( r32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp float) +0:126 'storeTempPre' ( temp float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp uint) -0:127 'storeTempPre' (temp uint) -0:127 imageLoad (temp uint) -0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp uint) -0:127 'storeTempPost' (temp uint) -0:127 'storeTempPre' (temp uint) -0:127 Post-Decrement (temp uint) -0:127 'storeTempPost' (temp uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp uint) -0:127 'storeTempPre' (temp uint) +0:127 move second child to first child ( temp uint) +0:127 'storeTempPre' ( temp uint) +0:127 imageLoad ( temp uint) +0:127 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp uint) +0:127 'storeTempPost' ( temp uint) +0:127 'storeTempPre' ( temp uint) +0:127 Post-Decrement ( temp uint) +0:127 'storeTempPost' ( temp uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp uint) +0:127 'storeTempPre' ( temp uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp int) -0:128 'storeTempPre' (temp int) -0:128 imageLoad (temp int) -0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp int) -0:128 'storeTempPost' (temp int) -0:128 'storeTempPre' (temp int) -0:128 Post-Increment (temp int) -0:128 'storeTempPost' (temp int) -0:128 imageStore (temp void) -0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp int) -0:128 'storeTempPre' (temp int) +0:128 move second child to first child ( temp int) +0:128 'storeTempPre' ( temp int) +0:128 imageLoad ( temp int) +0:128 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 'storeTempPre' ( temp int) +0:128 Post-Increment ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 'storeTempPre' ( temp int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp float) -0:130 'storeTempPre' (temp float) -0:130 imageLoad (temp float) -0:130 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp float) -0:130 'storeTempPost' (temp float) -0:130 'storeTempPre' (temp float) -0:130 Post-Decrement (temp float) -0:130 'storeTempPost' (temp float) -0:130 imageStore (temp void) -0:130 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp float) -0:130 'storeTempPre' (temp float) +0:130 move second child to first child ( temp float) +0:130 'storeTempPre' ( temp float) +0:130 imageLoad ( temp float) +0:130 'g_tTex1df1' (layout( r32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp float) +0:130 'storeTempPost' ( temp float) +0:130 'storeTempPre' ( temp float) +0:130 Post-Decrement ( temp float) +0:130 'storeTempPost' ( temp float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df1' (layout( r32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp float) +0:130 'storeTempPre' ( temp float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp int) -0:131 'storeTempPre' (temp int) -0:131 imageLoad (temp int) -0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp int) -0:131 'storeTempPost' (temp int) -0:131 'storeTempPre' (temp int) -0:131 Post-Increment (temp int) -0:131 'storeTempPost' (temp int) -0:131 imageStore (temp void) -0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp int) -0:131 'storeTempPre' (temp int) +0:131 move second child to first child ( temp int) +0:131 'storeTempPre' ( temp int) +0:131 imageLoad ( temp int) +0:131 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 'storeTempPre' ( temp int) +0:131 Post-Increment ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 'storeTempPre' ( temp int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp uint) -0:132 'storeTempPre' (temp uint) -0:132 imageLoad (temp uint) -0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp uint) -0:132 'storeTempPost' (temp uint) -0:132 'storeTempPre' (temp uint) -0:132 Post-Decrement (temp uint) -0:132 'storeTempPost' (temp uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp uint) -0:132 'storeTempPre' (temp uint) +0:132 move second child to first child ( temp uint) +0:132 'storeTempPre' ( temp uint) +0:132 imageLoad ( temp uint) +0:132 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp uint) +0:132 'storeTempPost' ( temp uint) +0:132 'storeTempPre' ( temp uint) +0:132 Post-Decrement ( temp uint) +0:132 'storeTempPost' ( temp uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp uint) +0:132 'storeTempPre' ( temp uint) 0:135 Sequence -0:135 move second child to first child (temp float) -0:135 'storeTemp' (temp float) -0:? imageLoad (temp float) -0:135 'g_tTex2df1' (layout(r32f ) uniform image2D) +0:135 move second child to first child ( temp float) +0:135 'storeTemp' ( temp float) +0:? imageLoad ( temp float) +0:135 'g_tTex2df1' (layout( r32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df1' (layout(r32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df1' (layout( r32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp float) -0:135 'storeTemp' (temp float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp float) +0:135 'storeTemp' ( temp float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -810,34 +810,37 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) -0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) -0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) -0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df1' (layout( r32f) uniform image1D) +0:? 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:? 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:? 'g_tTex2df1' (layout( r32f) uniform image2D) +0:? 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:? 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:? 'g_tTex3df1' (layout( r32f) uniform image3D) +0:? 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:? 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:? 'g_tTex1df1a' (layout( r32f) uniform image1DArray) +0:? 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout( r32f) uniform image2DArray) +0:? 'g_tTex2di1a' (layout( r32i) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -846,807 +849,807 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(i1; (temp int) +0:42 Function Definition: Fn1(i1; ( temp int) 0:42 Function Parameters: -0:42 'x' (in int) +0:42 'x' ( in int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in int) -0:43 Function Definition: Fn1(u1; (temp uint) +0:42 'x' ( in int) +0:43 Function Definition: Fn1(u1; ( temp uint) 0:43 Function Parameters: -0:43 'x' (in uint) +0:43 'x' ( in uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in uint) -0:44 Function Definition: Fn1(f1; (temp float) +0:43 'x' ( in uint) +0:44 Function Definition: Fn1(f1; ( temp float) 0:44 Function Parameters: -0:44 'x' (in float) +0:44 'x' ( in float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in float) -0:46 Function Definition: Fn2(i1; (temp void) +0:44 'x' ( in float) +0:46 Function Definition: Fn2(i1; ( temp void) 0:46 Function Parameters: -0:46 'x' (out int) +0:46 'x' ( out int) 0:? Sequence -0:46 move second child to first child (temp int) -0:46 'x' (out int) +0:46 move second child to first child ( temp int) +0:46 'x' ( out int) 0:46 Constant: 0:46 0 (const int) -0:47 Function Definition: Fn2(u1; (temp void) +0:47 Function Definition: Fn2(u1; ( temp void) 0:47 Function Parameters: -0:47 'x' (out uint) +0:47 'x' ( out uint) 0:? Sequence -0:47 move second child to first child (temp uint) -0:47 'x' (out uint) +0:47 move second child to first child ( temp uint) +0:47 'x' ( out uint) 0:47 Constant: 0:47 0 (const uint) -0:48 Function Definition: Fn2(f1; (temp void) +0:48 Function Definition: Fn2(f1; ( temp void) 0:48 Function Parameters: -0:48 'x' (out float) +0:48 'x' ( out float) 0:? Sequence -0:48 move second child to first child (temp float) -0:48 'x' (out float) +0:48 move second child to first child ( temp float) +0:48 'x' ( out float) 0:48 Constant: 0:48 0.000000 -0:50 Function Definition: SomeValue( (temp float) +0:50 Function Definition: SomeValue( ( temp float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp float) -0:50 c1: direct index for structure (layout(offset=0 ) uniform int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:50 Convert int to float ( temp float) +0:50 c1: direct index for structure ( uniform int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:50 Constant: 0:50 0 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp float) -0:57 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:57 imageLoad ( temp float) +0:57 'g_tTex1df1' (layout( r32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'r00' (temp float) -0:59 imageLoad (temp float) -0:59 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:59 move second child to first child ( temp float) +0:59 'r00' ( temp float) +0:59 imageLoad ( temp float) +0:59 'g_tTex1df1' (layout( r32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp int) -0:60 'r01' (temp int) -0:60 imageLoad (temp int) -0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:60 move second child to first child ( temp int) +0:60 'r01' ( temp int) +0:60 imageLoad ( temp int) +0:60 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp uint) -0:61 'r02' (temp uint) -0:61 imageLoad (temp uint) -0:61 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:61 move second child to first child ( temp uint) +0:61 'r02' ( temp uint) +0:61 imageLoad ( temp uint) +0:61 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'r10' (temp float) -0:64 imageLoad (temp float) -0:64 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:64 move second child to first child ( temp float) +0:64 'r10' ( temp float) +0:64 imageLoad ( temp float) +0:64 'g_tTex2df1' (layout( r32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp int) -0:65 'r11' (temp int) -0:65 imageLoad (temp int) -0:65 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:65 move second child to first child ( temp int) +0:65 'r11' ( temp int) +0:65 imageLoad ( temp int) +0:65 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp uint) -0:66 'r12' (temp uint) -0:66 imageLoad (temp uint) -0:66 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:66 move second child to first child ( temp uint) +0:66 'r12' ( temp uint) +0:66 imageLoad ( temp uint) +0:66 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp float) -0:69 'r20' (temp float) -0:69 imageLoad (temp float) -0:69 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:69 move second child to first child ( temp float) +0:69 'r20' ( temp float) +0:69 imageLoad ( temp float) +0:69 'g_tTex3df1' (layout( r32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp int) -0:70 'r21' (temp int) -0:70 imageLoad (temp int) -0:70 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:70 move second child to first child ( temp int) +0:70 'r21' ( temp int) +0:70 imageLoad ( temp int) +0:70 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp uint) -0:71 'r22' (temp uint) -0:71 imageLoad (temp uint) -0:71 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:71 move second child to first child ( temp uint) +0:71 'r22' ( temp uint) +0:71 imageLoad ( temp uint) +0:71 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'lf1' (temp float) -0:73 uf1: direct index for structure (layout(offset=96 ) uniform float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:73 move second child to first child ( temp float) +0:73 'lf1' ( temp float) +0:73 uf1: direct index for structure ( uniform float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'storeTemp' (temp float) -0:77 Function Call: SomeValue( (temp float) -0:77 imageStore (temp void) -0:77 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:77 move second child to first child ( temp float) +0:77 'storeTemp' ( temp float) +0:77 Function Call: SomeValue( ( temp float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df1' (layout( r32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp float) -0:77 'storeTemp' (temp float) +0:77 'storeTemp' ( temp float) +0:77 'storeTemp' ( temp float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df1' (layout( r32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf1' (temp float) -0:78 'lf1' (temp float) +0:78 'lf1' ( temp float) +0:78 'lf1' ( temp float) 0:79 Sequence -0:79 move second child to first child (temp int) -0:79 'storeTemp' (temp int) +0:79 move second child to first child ( temp int) +0:79 'storeTemp' ( temp int) 0:79 Constant: 0:79 2 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp int) -0:79 'storeTemp' (temp int) +0:79 'storeTemp' ( temp int) +0:79 'storeTemp' ( temp int) 0:80 Sequence -0:80 move second child to first child (temp uint) -0:80 'storeTemp' (temp uint) +0:80 move second child to first child ( temp uint) +0:80 'storeTemp' ( temp uint) 0:80 Constant: 0:80 3 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp uint) -0:80 'storeTemp' (temp uint) +0:80 'storeTemp' ( temp uint) +0:80 'storeTemp' ( temp uint) 0:83 Sequence -0:83 move second child to first child (temp float) -0:83 'val1' (temp float) +0:83 move second child to first child ( temp float) +0:83 'val1' ( temp float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp float) -0:83 'storeTemp' (temp float) -0:83 imageLoad (temp float) -0:83 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 multiply second child into first child (temp float) -0:83 'storeTemp' (temp float) +0:83 move second child to first child ( temp float) +0:83 'storeTemp' ( temp float) +0:83 imageLoad ( temp float) +0:83 'g_tTex1df1' (layout( r32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 multiply second child into first child ( temp float) +0:83 'storeTemp' ( temp float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp float) -0:83 'storeTemp' (temp float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df1' (layout( r32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp float) +0:83 'storeTemp' ( temp float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp float) -0:84 'storeTemp' (temp float) -0:84 imageLoad (temp float) -0:84 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp float) -0:84 'storeTemp' (temp float) +0:84 move second child to first child ( temp float) +0:84 'storeTemp' ( temp float) +0:84 imageLoad ( temp float) +0:84 'g_tTex1df1' (layout( r32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp float) +0:84 'storeTemp' ( temp float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp float) -0:84 'storeTemp' (temp float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df1' (layout( r32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp float) +0:84 'storeTemp' ( temp float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp float) -0:85 'storeTemp' (temp float) -0:85 imageLoad (temp float) -0:85 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp float) -0:85 'storeTemp' (temp float) +0:85 move second child to first child ( temp float) +0:85 'storeTemp' ( temp float) +0:85 imageLoad ( temp float) +0:85 'g_tTex1df1' (layout( r32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp float) +0:85 'storeTemp' ( temp float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp float) -0:85 'storeTemp' (temp float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df1' (layout( r32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp float) +0:85 'storeTemp' ( temp float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp int) -0:87 'storeTemp' (temp int) -0:87 imageLoad (temp int) -0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp int) -0:87 'storeTemp' (temp int) +0:87 move second child to first child ( temp int) +0:87 'storeTemp' ( temp int) +0:87 imageLoad ( temp int) +0:87 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp int) +0:87 'storeTemp' ( temp int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp int) -0:87 'storeTemp' (temp int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp int) +0:87 'storeTemp' ( temp int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp int) -0:88 'storeTemp' (temp int) -0:88 imageLoad (temp int) -0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp int) -0:88 'storeTemp' (temp int) +0:88 move second child to first child ( temp int) +0:88 'storeTemp' ( temp int) +0:88 imageLoad ( temp int) +0:88 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp int) +0:88 'storeTemp' ( temp int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp int) -0:88 'storeTemp' (temp int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp int) +0:88 'storeTemp' ( temp int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp int) -0:89 'storeTemp' (temp int) -0:89 imageLoad (temp int) -0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp int) -0:89 'storeTemp' (temp int) +0:89 move second child to first child ( temp int) +0:89 'storeTemp' ( temp int) +0:89 imageLoad ( temp int) +0:89 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp int) +0:89 'storeTemp' ( temp int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp int) -0:89 'storeTemp' (temp int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp int) +0:89 'storeTemp' ( temp int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp int) -0:90 'storeTemp' (temp int) -0:90 imageLoad (temp int) -0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp int) -0:90 'storeTemp' (temp int) +0:90 move second child to first child ( temp int) +0:90 'storeTemp' ( temp int) +0:90 imageLoad ( temp int) +0:90 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp int) +0:90 'storeTemp' ( temp int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp int) -0:90 'storeTemp' (temp int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp int) +0:90 'storeTemp' ( temp int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp int) -0:91 'storeTemp' (temp int) -0:91 imageLoad (temp int) -0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp int) -0:91 'storeTemp' (temp int) +0:91 move second child to first child ( temp int) +0:91 'storeTemp' ( temp int) +0:91 imageLoad ( temp int) +0:91 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp int) +0:91 'storeTemp' ( temp int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp int) -0:91 'storeTemp' (temp int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp int) +0:91 'storeTemp' ( temp int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp int) -0:92 'storeTemp' (temp int) -0:92 imageLoad (temp int) -0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp int) -0:92 'storeTemp' (temp int) +0:92 move second child to first child ( temp int) +0:92 'storeTemp' ( temp int) +0:92 imageLoad ( temp int) +0:92 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp int) +0:92 'storeTemp' ( temp int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp int) -0:92 'storeTemp' (temp int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp int) +0:92 'storeTemp' ( temp int) 0:95 Sequence -0:95 move second child to first child (temp float) -0:95 'storeTemp' (temp float) -0:95 Function Call: SomeValue( (temp float) -0:95 imageStore (temp void) -0:95 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:95 move second child to first child ( temp float) +0:95 'storeTemp' ( temp float) +0:95 Function Call: SomeValue( ( temp float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df1' (layout( r32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp float) -0:95 'storeTemp' (temp float) +0:95 'storeTemp' ( temp float) +0:95 'storeTemp' ( temp float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df1' (layout( r32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf1' (temp float) -0:96 'lf1' (temp float) +0:96 'lf1' ( temp float) +0:96 'lf1' ( temp float) 0:97 Sequence -0:97 move second child to first child (temp int) -0:97 'storeTemp' (temp int) +0:97 move second child to first child ( temp int) +0:97 'storeTemp' ( temp int) 0:97 Constant: 0:97 5 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp int) -0:97 'storeTemp' (temp int) +0:97 'storeTemp' ( temp int) +0:97 'storeTemp' ( temp int) 0:98 Sequence -0:98 move second child to first child (temp uint) -0:98 'storeTemp' (temp uint) +0:98 move second child to first child ( temp uint) +0:98 'storeTemp' ( temp uint) 0:98 Constant: 0:98 6 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp uint) -0:98 'storeTemp' (temp uint) +0:98 'storeTemp' ( temp uint) +0:98 'storeTemp' ( temp uint) 0:101 Sequence -0:101 move second child to first child (temp float) -0:101 'storeTemp' (temp float) -0:101 Function Call: SomeValue( (temp float) -0:101 imageStore (temp void) -0:101 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:101 move second child to first child ( temp float) +0:101 'storeTemp' ( temp float) +0:101 Function Call: SomeValue( ( temp float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df1' (layout( r32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp float) -0:101 'storeTemp' (temp float) +0:101 'storeTemp' ( temp float) +0:101 'storeTemp' ( temp float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df1' (layout( r32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf1' (temp float) -0:102 'lf1' (temp float) +0:102 'lf1' ( temp float) +0:102 'lf1' ( temp float) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'storeTemp' (temp int) +0:103 move second child to first child ( temp int) +0:103 'storeTemp' ( temp int) 0:103 Constant: 0:103 8 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp int) -0:103 'storeTemp' (temp int) +0:103 'storeTemp' ( temp int) +0:103 'storeTemp' ( temp int) 0:104 Sequence -0:104 move second child to first child (temp uint) -0:104 'storeTemp' (temp uint) +0:104 move second child to first child ( temp uint) +0:104 'storeTemp' ( temp uint) 0:104 Constant: 0:104 9 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp uint) -0:104 'storeTemp' (temp uint) -0:107 Function Call: Fn1(f1; (temp float) -0:107 imageLoad (temp float) -0:107 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:104 'storeTemp' ( temp uint) +0:104 'storeTemp' ( temp uint) +0:107 Function Call: Fn1(f1; ( temp float) +0:107 imageLoad ( temp float) +0:107 'g_tTex1df1' (layout( r32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(i1; (temp int) -0:108 imageLoad (temp int) -0:108 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:108 Function Call: Fn1(i1; ( temp int) +0:108 imageLoad ( temp int) +0:108 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(u1; (temp uint) -0:109 imageLoad (temp uint) -0:109 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:109 Function Call: Fn1(u1; ( temp uint) +0:109 imageLoad ( temp uint) +0:109 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(f1; (temp void) -0:111 'tempArg' (temp float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(f1; ( temp void) +0:111 'tempArg' ( temp float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df1' (layout( r32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp float) -0:111 'tempArg' (temp float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(i1; (temp void) -0:112 'tempArg' (temp int) +0:111 'tempArg' ( temp float) +0:111 'tempArg' ( temp float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(i1; ( temp void) +0:112 'tempArg' ( temp int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp int) -0:112 'tempArg' (temp int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(u1; (temp void) -0:113 'tempArg' (temp uint) +0:112 'tempArg' ( temp int) +0:112 'tempArg' ( temp int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(u1; ( temp void) +0:113 'tempArg' ( temp uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp uint) -0:113 'tempArg' (temp uint) +0:113 'tempArg' ( temp uint) +0:113 'tempArg' ( temp uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp float) -0:117 'storeTemp' (temp float) -0:117 imageLoad (temp float) -0:117 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp float) -0:117 'storeTemp' (temp float) -0:117 imageStore (temp void) -0:117 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp float) -0:117 'storeTemp' (temp float) +0:117 move second child to first child ( temp float) +0:117 'storeTemp' ( temp float) +0:117 imageLoad ( temp float) +0:117 'g_tTex1df1' (layout( r32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp float) +0:117 'storeTemp' ( temp float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df1' (layout( r32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp float) +0:117 'storeTemp' ( temp float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp int) -0:118 'storeTemp' (temp int) -0:118 imageLoad (temp int) -0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp int) -0:118 'storeTemp' (temp int) -0:118 imageStore (temp void) -0:118 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp int) -0:118 'storeTemp' (temp int) +0:118 move second child to first child ( temp int) +0:118 'storeTemp' ( temp int) +0:118 imageLoad ( temp int) +0:118 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp int) +0:118 'storeTemp' ( temp int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp int) +0:118 'storeTemp' ( temp int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp uint) -0:119 'storeTemp' (temp uint) -0:119 imageLoad (temp uint) -0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp uint) -0:119 'storeTemp' (temp uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp uint) -0:119 'storeTemp' (temp uint) +0:119 move second child to first child ( temp uint) +0:119 'storeTemp' ( temp uint) +0:119 imageLoad ( temp uint) +0:119 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp uint) +0:119 'storeTemp' ( temp uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp uint) +0:119 'storeTemp' ( temp uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp float) -0:121 'storeTemp' (temp float) -0:121 imageLoad (temp float) -0:121 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp float) -0:121 'storeTemp' (temp float) -0:121 imageStore (temp void) -0:121 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp float) -0:121 'storeTemp' (temp float) +0:121 move second child to first child ( temp float) +0:121 'storeTemp' ( temp float) +0:121 imageLoad ( temp float) +0:121 'g_tTex1df1' (layout( r32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp float) +0:121 'storeTemp' ( temp float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df1' (layout( r32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp float) +0:121 'storeTemp' ( temp float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp int) -0:122 'storeTemp' (temp int) -0:122 imageLoad (temp int) -0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp int) -0:122 'storeTemp' (temp int) -0:122 imageStore (temp void) -0:122 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp int) -0:122 'storeTemp' (temp int) +0:122 move second child to first child ( temp int) +0:122 'storeTemp' ( temp int) +0:122 imageLoad ( temp int) +0:122 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp int) +0:122 'storeTemp' ( temp int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp int) +0:122 'storeTemp' ( temp int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp uint) -0:123 'storeTemp' (temp uint) -0:123 imageLoad (temp uint) -0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp uint) -0:123 'storeTemp' (temp uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp uint) -0:123 'storeTemp' (temp uint) +0:123 move second child to first child ( temp uint) +0:123 'storeTemp' ( temp uint) +0:123 imageLoad ( temp uint) +0:123 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp uint) +0:123 'storeTemp' ( temp uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp uint) +0:123 'storeTemp' ( temp uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp float) -0:126 'storeTempPre' (temp float) -0:126 imageLoad (temp float) -0:126 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp float) -0:126 'storeTempPost' (temp float) -0:126 'storeTempPre' (temp float) -0:126 Post-Increment (temp float) -0:126 'storeTempPost' (temp float) -0:126 imageStore (temp void) -0:126 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp float) -0:126 'storeTempPre' (temp float) +0:126 move second child to first child ( temp float) +0:126 'storeTempPre' ( temp float) +0:126 imageLoad ( temp float) +0:126 'g_tTex1df1' (layout( r32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp float) +0:126 'storeTempPost' ( temp float) +0:126 'storeTempPre' ( temp float) +0:126 Post-Increment ( temp float) +0:126 'storeTempPost' ( temp float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df1' (layout( r32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp float) +0:126 'storeTempPre' ( temp float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp uint) -0:127 'storeTempPre' (temp uint) -0:127 imageLoad (temp uint) -0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp uint) -0:127 'storeTempPost' (temp uint) -0:127 'storeTempPre' (temp uint) -0:127 Post-Decrement (temp uint) -0:127 'storeTempPost' (temp uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp uint) -0:127 'storeTempPre' (temp uint) +0:127 move second child to first child ( temp uint) +0:127 'storeTempPre' ( temp uint) +0:127 imageLoad ( temp uint) +0:127 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp uint) +0:127 'storeTempPost' ( temp uint) +0:127 'storeTempPre' ( temp uint) +0:127 Post-Decrement ( temp uint) +0:127 'storeTempPost' ( temp uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp uint) +0:127 'storeTempPre' ( temp uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp int) -0:128 'storeTempPre' (temp int) -0:128 imageLoad (temp int) -0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp int) -0:128 'storeTempPost' (temp int) -0:128 'storeTempPre' (temp int) -0:128 Post-Increment (temp int) -0:128 'storeTempPost' (temp int) -0:128 imageStore (temp void) -0:128 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp int) -0:128 'storeTempPre' (temp int) +0:128 move second child to first child ( temp int) +0:128 'storeTempPre' ( temp int) +0:128 imageLoad ( temp int) +0:128 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 'storeTempPre' ( temp int) +0:128 Post-Increment ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp int) +0:128 'storeTempPre' ( temp int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp float) -0:130 'storeTempPre' (temp float) -0:130 imageLoad (temp float) -0:130 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp float) -0:130 'storeTempPost' (temp float) -0:130 'storeTempPre' (temp float) -0:130 Post-Decrement (temp float) -0:130 'storeTempPost' (temp float) -0:130 imageStore (temp void) -0:130 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp float) -0:130 'storeTempPre' (temp float) +0:130 move second child to first child ( temp float) +0:130 'storeTempPre' ( temp float) +0:130 imageLoad ( temp float) +0:130 'g_tTex1df1' (layout( r32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp float) +0:130 'storeTempPost' ( temp float) +0:130 'storeTempPre' ( temp float) +0:130 Post-Decrement ( temp float) +0:130 'storeTempPost' ( temp float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df1' (layout( r32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp float) +0:130 'storeTempPre' ( temp float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp int) -0:131 'storeTempPre' (temp int) -0:131 imageLoad (temp int) -0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp int) -0:131 'storeTempPost' (temp int) -0:131 'storeTempPre' (temp int) -0:131 Post-Increment (temp int) -0:131 'storeTempPost' (temp int) -0:131 imageStore (temp void) -0:131 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp int) -0:131 'storeTempPre' (temp int) +0:131 move second child to first child ( temp int) +0:131 'storeTempPre' ( temp int) +0:131 imageLoad ( temp int) +0:131 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 'storeTempPre' ( temp int) +0:131 Post-Increment ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp int) +0:131 'storeTempPre' ( temp int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp uint) -0:132 'storeTempPre' (temp uint) -0:132 imageLoad (temp uint) -0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp uint) -0:132 'storeTempPost' (temp uint) -0:132 'storeTempPre' (temp uint) -0:132 Post-Decrement (temp uint) -0:132 'storeTempPost' (temp uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp uint) -0:132 'storeTempPre' (temp uint) +0:132 move second child to first child ( temp uint) +0:132 'storeTempPre' ( temp uint) +0:132 imageLoad ( temp uint) +0:132 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp uint) +0:132 'storeTempPost' ( temp uint) +0:132 'storeTempPre' ( temp uint) +0:132 Post-Decrement ( temp uint) +0:132 'storeTempPost' ( temp uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp uint) +0:132 'storeTempPre' ( temp uint) 0:135 Sequence -0:135 move second child to first child (temp float) -0:135 'storeTemp' (temp float) -0:? imageLoad (temp float) -0:135 'g_tTex2df1' (layout(r32f ) uniform image2D) +0:135 move second child to first child ( temp float) +0:135 'storeTemp' ( temp float) +0:? imageLoad ( temp float) +0:135 'g_tTex2df1' (layout( r32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df1' (layout(r32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df1' (layout( r32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp float) -0:135 'storeTemp' (temp float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp float) +0:135 'storeTemp' ( temp float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -1654,44 +1657,47 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) -0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) -0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) -0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) -0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) -0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) -0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) -0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) -0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) -0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) -0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) -0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) -0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) -0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) -0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df1' (layout( r32f) uniform image1D) +0:? 'g_tTex1di1' (layout( r32i) uniform iimage1D) +0:? 'g_tTex1du1' (layout( r32ui) uniform uimage1D) +0:? 'g_tTex2df1' (layout( r32f) uniform image2D) +0:? 'g_tTex2di1' (layout( r32i) uniform iimage2D) +0:? 'g_tTex2du1' (layout( r32ui) uniform uimage2D) +0:? 'g_tTex3df1' (layout( r32f) uniform image3D) +0:? 'g_tTex3di1' (layout( r32i) uniform iimage3D) +0:? 'g_tTex3du1' (layout( r32ui) uniform uimage3D) +0:? 'g_tTex1df1a' (layout( r32f) uniform image1DArray) +0:? 'g_tTex1di1a' (layout( r32i) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout( r32f) uniform image2DArray) +0:? 'g_tTex2di1a' (layout( r32i) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 566 +// Id's are bound by 571 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 541 + EntryPoint Fragment 4 "main" 547 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "Fn1(i1;" @@ -1707,148 +1713,149 @@ gl_FragCoord origin is upper left Name 34 "Fn2(f1;" Name 33 "x" Name 37 "SomeValue(" - Name 54 "$Global" - MemberName 54($Global) 0 "c1" - MemberName 54($Global) 1 "c2" - MemberName 54($Global) 2 "c3" - MemberName 54($Global) 3 "c4" - MemberName 54($Global) 4 "o1" - MemberName 54($Global) 5 "o2" - MemberName 54($Global) 6 "o3" - MemberName 54($Global) 7 "o4" - MemberName 54($Global) 8 "uf1" - MemberName 54($Global) 9 "ui1" - MemberName 54($Global) 10 "uu1" - Name 56 "" - Name 65 "g_tTex1df1" - Name 70 "r00" - Name 75 "r01" - Name 78 "g_tTex1di1" - Name 83 "r02" - Name 86 "g_tTex1du1" - Name 91 "r10" - Name 94 "g_tTex2df1" - Name 101 "r11" - Name 104 "g_tTex2di1" - Name 109 "r12" - Name 112 "g_tTex2du1" - Name 117 "r20" - Name 120 "g_tTex3df1" - Name 127 "r21" - Name 130 "g_tTex3di1" - Name 135 "r22" - Name 138 "g_tTex3du1" - Name 143 "lf1" - Name 148 "storeTemp" - Name 158 "storeTemp" + Name 40 "PS_OUTPUT" + MemberName 40(PS_OUTPUT) 0 "Color" + Name 42 "@main(" + Name 59 "$Global" + MemberName 59($Global) 0 "c1" + MemberName 59($Global) 1 "c2" + MemberName 59($Global) 2 "c3" + MemberName 59($Global) 3 "c4" + MemberName 59($Global) 4 "o1" + MemberName 59($Global) 5 "o2" + MemberName 59($Global) 6 "o3" + MemberName 59($Global) 7 "o4" + MemberName 59($Global) 8 "uf1" + MemberName 59($Global) 9 "ui1" + MemberName 59($Global) 10 "uu1" + Name 61 "" + Name 70 "g_tTex1df1" + Name 75 "r00" + Name 80 "r01" + Name 83 "g_tTex1di1" + Name 88 "r02" + Name 91 "g_tTex1du1" + Name 96 "r10" + Name 99 "g_tTex2df1" + Name 106 "r11" + Name 109 "g_tTex2di1" + Name 114 "r12" + Name 117 "g_tTex2du1" + Name 122 "r20" + Name 125 "g_tTex3df1" + Name 132 "r21" + Name 135 "g_tTex3di1" + Name 140 "r22" + Name 143 "g_tTex3du1" + Name 148 "lf1" + Name 153 "storeTemp" Name 163 "storeTemp" - Name 169 "val1" - Name 170 "coordTemp" - Name 173 "storeTemp" - Name 184 "coordTemp" - Name 187 "storeTemp" - Name 197 "coordTemp" - Name 200 "storeTemp" - Name 210 "coordTemp" - Name 213 "storeTemp" - Name 222 "coordTemp" - Name 225 "storeTemp" - Name 234 "coordTemp" - Name 237 "storeTemp" - Name 247 "coordTemp" - Name 250 "storeTemp" - Name 260 "coordTemp" - Name 263 "storeTemp" - Name 272 "coordTemp" - Name 275 "storeTemp" - Name 284 "storeTemp" - Name 294 "storeTemp" - Name 300 "storeTemp" - Name 306 "storeTemp" - Name 316 "storeTemp" + Name 168 "storeTemp" + Name 174 "val1" + Name 175 "coordTemp" + Name 178 "storeTemp" + Name 189 "coordTemp" + Name 192 "storeTemp" + Name 202 "coordTemp" + Name 205 "storeTemp" + Name 215 "coordTemp" + Name 218 "storeTemp" + Name 227 "coordTemp" + Name 230 "storeTemp" + Name 239 "coordTemp" + Name 242 "storeTemp" + Name 252 "coordTemp" + Name 255 "storeTemp" + Name 265 "coordTemp" + Name 268 "storeTemp" + Name 277 "coordTemp" + Name 280 "storeTemp" + Name 289 "storeTemp" + Name 299 "storeTemp" + Name 305 "storeTemp" + Name 311 "storeTemp" Name 321 "storeTemp" - Name 331 "param" - Name 337 "param" - Name 343 "param" - Name 345 "tempArg" - Name 346 "param" - Name 353 "tempArg" - Name 354 "param" - Name 361 "tempArg" - Name 362 "param" - Name 369 "coordTemp" - Name 372 "storeTemp" - Name 382 "coordTemp" - Name 385 "storeTemp" - Name 394 "coordTemp" - Name 397 "storeTemp" - Name 406 "coordTemp" - Name 409 "storeTemp" - Name 418 "coordTemp" - Name 421 "storeTemp" - Name 430 "coordTemp" - Name 433 "storeTemp" - Name 442 "coordTemp" - Name 445 "storeTempPre" - Name 449 "storeTempPost" - Name 456 "coordTemp" - Name 459 "storeTempPre" - Name 463 "storeTempPost" - Name 470 "coordTemp" - Name 473 "storeTempPre" - Name 477 "storeTempPost" - Name 484 "coordTemp" - Name 487 "storeTempPre" - Name 491 "storeTempPost" - Name 498 "coordTemp" - Name 501 "storeTempPre" - Name 505 "storeTempPost" - Name 512 "coordTemp" - Name 515 "storeTempPre" - Name 519 "storeTempPost" - Name 526 "storeTemp" - Name 534 "PS_OUTPUT" - MemberName 534(PS_OUTPUT) 0 "Color" - Name 536 "psout" - Name 541 "Color" - Name 547 "g_sSamp" - Name 550 "g_tTex1df1a" - Name 553 "g_tTex1di1a" - Name 556 "g_tTex1du1a" - Name 559 "g_tTex2df1a" - Name 562 "g_tTex2di1a" - Name 565 "g_tTex2du1a" - MemberDecorate 54($Global) 0 Offset 0 - MemberDecorate 54($Global) 1 Offset 8 - MemberDecorate 54($Global) 2 Offset 16 - MemberDecorate 54($Global) 3 Offset 32 - MemberDecorate 54($Global) 4 Offset 48 - MemberDecorate 54($Global) 5 Offset 56 - MemberDecorate 54($Global) 6 Offset 64 - MemberDecorate 54($Global) 7 Offset 80 - MemberDecorate 54($Global) 8 Offset 96 - MemberDecorate 54($Global) 9 Offset 100 - MemberDecorate 54($Global) 10 Offset 104 - Decorate 54($Global) Block - Decorate 56 DescriptorSet 0 - Decorate 65(g_tTex1df1) DescriptorSet 0 - Decorate 78(g_tTex1di1) DescriptorSet 0 - Decorate 86(g_tTex1du1) DescriptorSet 0 - Decorate 94(g_tTex2df1) DescriptorSet 0 - Decorate 104(g_tTex2di1) DescriptorSet 0 - Decorate 112(g_tTex2du1) DescriptorSet 0 - Decorate 120(g_tTex3df1) DescriptorSet 0 - Decorate 130(g_tTex3di1) DescriptorSet 0 - Decorate 138(g_tTex3du1) DescriptorSet 0 - Decorate 541(Color) Location 0 - Decorate 547(g_sSamp) DescriptorSet 0 - Decorate 547(g_sSamp) Binding 0 - Decorate 550(g_tTex1df1a) DescriptorSet 0 - Decorate 553(g_tTex1di1a) DescriptorSet 0 - Decorate 556(g_tTex1du1a) DescriptorSet 0 - Decorate 559(g_tTex2df1a) DescriptorSet 0 - Decorate 562(g_tTex2di1a) DescriptorSet 0 - Decorate 565(g_tTex2du1a) DescriptorSet 0 + Name 326 "storeTemp" + Name 336 "param" + Name 342 "param" + Name 348 "param" + Name 350 "tempArg" + Name 351 "param" + Name 358 "tempArg" + Name 359 "param" + Name 366 "tempArg" + Name 367 "param" + Name 374 "coordTemp" + Name 377 "storeTemp" + Name 387 "coordTemp" + Name 390 "storeTemp" + Name 399 "coordTemp" + Name 402 "storeTemp" + Name 411 "coordTemp" + Name 414 "storeTemp" + Name 423 "coordTemp" + Name 426 "storeTemp" + Name 435 "coordTemp" + Name 438 "storeTemp" + Name 447 "coordTemp" + Name 450 "storeTempPre" + Name 454 "storeTempPost" + Name 461 "coordTemp" + Name 464 "storeTempPre" + Name 468 "storeTempPost" + Name 475 "coordTemp" + Name 478 "storeTempPre" + Name 482 "storeTempPost" + Name 489 "coordTemp" + Name 492 "storeTempPre" + Name 496 "storeTempPost" + Name 503 "coordTemp" + Name 506 "storeTempPre" + Name 510 "storeTempPost" + Name 517 "coordTemp" + Name 520 "storeTempPre" + Name 524 "storeTempPost" + Name 531 "storeTemp" + Name 539 "psout" + Name 547 "Color" + Name 552 "g_sSamp" + Name 555 "g_tTex1df1a" + Name 558 "g_tTex1di1a" + Name 561 "g_tTex1du1a" + Name 564 "g_tTex2df1a" + Name 567 "g_tTex2di1a" + Name 570 "g_tTex2du1a" + MemberDecorate 59($Global) 0 Offset 0 + MemberDecorate 59($Global) 1 Offset 8 + MemberDecorate 59($Global) 2 Offset 16 + MemberDecorate 59($Global) 3 Offset 32 + MemberDecorate 59($Global) 4 Offset 48 + MemberDecorate 59($Global) 5 Offset 56 + MemberDecorate 59($Global) 6 Offset 64 + MemberDecorate 59($Global) 7 Offset 80 + MemberDecorate 59($Global) 8 Offset 96 + MemberDecorate 59($Global) 9 Offset 100 + MemberDecorate 59($Global) 10 Offset 104 + Decorate 59($Global) Block + Decorate 61 DescriptorSet 0 + Decorate 70(g_tTex1df1) DescriptorSet 0 + Decorate 83(g_tTex1di1) DescriptorSet 0 + Decorate 91(g_tTex1du1) DescriptorSet 0 + Decorate 99(g_tTex2df1) DescriptorSet 0 + Decorate 109(g_tTex2di1) DescriptorSet 0 + Decorate 117(g_tTex2du1) DescriptorSet 0 + Decorate 125(g_tTex3df1) DescriptorSet 0 + Decorate 135(g_tTex3di1) DescriptorSet 0 + Decorate 143(g_tTex3du1) DescriptorSet 0 + Decorate 547(Color) Location 0 + Decorate 552(g_sSamp) DescriptorSet 0 + Decorate 552(g_sSamp) Binding 0 + Decorate 555(g_tTex1df1a) DescriptorSet 0 + Decorate 558(g_tTex1di1a) DescriptorSet 0 + Decorate 561(g_tTex1du1a) DescriptorSet 0 + Decorate 564(g_tTex2df1a) DescriptorSet 0 + Decorate 567(g_tTex2di1a) DescriptorSet 0 + Decorate 570(g_tTex2du1a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1864,697 +1871,703 @@ gl_FragCoord origin is upper left 28: TypeFunction 2 13(ptr) 32: TypeFunction 2 19(ptr) 36: TypeFunction 18(float) - 48: 6(int) Constant 0 - 49: 12(int) Constant 0 - 50: 18(float) Constant 0 - 51: TypeVector 6(int) 2 - 52: TypeVector 6(int) 3 - 53: TypeVector 6(int) 4 - 54($Global): TypeStruct 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 18(float) 6(int) 12(int) - 55: TypePointer Uniform 54($Global) - 56: 55(ptr) Variable Uniform - 57: TypePointer Uniform 6(int) - 63: TypeImage 18(float) 1D nonsampled format:R32f - 64: TypePointer UniformConstant 63 - 65(g_tTex1df1): 64(ptr) Variable UniformConstant - 76: TypeImage 6(int) 1D nonsampled format:R32i - 77: TypePointer UniformConstant 76 - 78(g_tTex1di1): 77(ptr) Variable UniformConstant - 84: TypeImage 12(int) 1D nonsampled format:R32ui - 85: TypePointer UniformConstant 84 - 86(g_tTex1du1): 85(ptr) Variable UniformConstant - 92: TypeImage 18(float) 2D nonsampled format:R32f - 93: TypePointer UniformConstant 92 - 94(g_tTex2df1): 93(ptr) Variable UniformConstant - 96: 6(int) Constant 1 - 97: TypePointer Uniform 51(ivec2) - 102: TypeImage 6(int) 2D nonsampled format:R32i - 103: TypePointer UniformConstant 102 - 104(g_tTex2di1): 103(ptr) Variable UniformConstant - 110: TypeImage 12(int) 2D nonsampled format:R32ui - 111: TypePointer UniformConstant 110 - 112(g_tTex2du1): 111(ptr) Variable UniformConstant - 118: TypeImage 18(float) 3D nonsampled format:R32f - 119: TypePointer UniformConstant 118 - 120(g_tTex3df1): 119(ptr) Variable UniformConstant - 122: 6(int) Constant 2 - 123: TypePointer Uniform 52(ivec3) - 128: TypeImage 6(int) 3D nonsampled format:R32i - 129: TypePointer UniformConstant 128 - 130(g_tTex3di1): 129(ptr) Variable UniformConstant - 136: TypeImage 12(int) 3D nonsampled format:R32ui - 137: TypePointer UniformConstant 136 - 138(g_tTex3du1): 137(ptr) Variable UniformConstant - 144: 6(int) Constant 8 - 145: TypePointer Uniform 18(float) - 164: 12(int) Constant 3 - 177: 18(float) Constant 1073741824 - 191: 18(float) Constant 1077936128 - 204: 18(float) Constant 1082130432 - 241: 6(int) Constant 65535 - 254: 6(int) Constant 61680 - 295: 6(int) Constant 5 - 301: 12(int) Constant 6 - 322: 12(int) Constant 9 - 377: 18(float) Constant 1065353216 - 528: 6(int) Constant 3 - 529: 51(ivec2) ConstantComposite 122 528 - 533: TypeVector 18(float) 4 - 534(PS_OUTPUT): TypeStruct 533(fvec4) - 535: TypePointer Function 534(PS_OUTPUT) - 537: 533(fvec4) ConstantComposite 377 377 377 377 - 538: TypePointer Function 533(fvec4) - 540: TypePointer Output 533(fvec4) - 541(Color): 540(ptr) Variable Output - 545: TypeSampler - 546: TypePointer UniformConstant 545 - 547(g_sSamp): 546(ptr) Variable UniformConstant - 548: TypeImage 18(float) 1D array nonsampled format:R32f - 549: TypePointer UniformConstant 548 -550(g_tTex1df1a): 549(ptr) Variable UniformConstant - 551: TypeImage 6(int) 1D array nonsampled format:R32i - 552: TypePointer UniformConstant 551 -553(g_tTex1di1a): 552(ptr) Variable UniformConstant - 554: TypeImage 12(int) 1D array nonsampled format:R32ui - 555: TypePointer UniformConstant 554 -556(g_tTex1du1a): 555(ptr) Variable UniformConstant - 557: TypeImage 18(float) 2D array nonsampled format:R32f - 558: TypePointer UniformConstant 557 -559(g_tTex2df1a): 558(ptr) Variable UniformConstant - 560: TypeImage 6(int) 2D array nonsampled format:R32i - 561: TypePointer UniformConstant 560 -562(g_tTex2di1a): 561(ptr) Variable UniformConstant - 563: TypeImage 12(int) 2D array nonsampled format:R32ui - 564: TypePointer UniformConstant 563 -565(g_tTex2du1a): 564(ptr) Variable UniformConstant + 39: TypeVector 18(float) 4 + 40(PS_OUTPUT): TypeStruct 39(fvec4) + 41: TypeFunction 40(PS_OUTPUT) + 53: 6(int) Constant 0 + 54: 12(int) Constant 0 + 55: 18(float) Constant 0 + 56: TypeVector 6(int) 2 + 57: TypeVector 6(int) 3 + 58: TypeVector 6(int) 4 + 59($Global): TypeStruct 6(int) 56(ivec2) 57(ivec3) 58(ivec4) 6(int) 56(ivec2) 57(ivec3) 58(ivec4) 18(float) 6(int) 12(int) + 60: TypePointer Uniform 59($Global) + 61: 60(ptr) Variable Uniform + 62: TypePointer Uniform 6(int) + 68: TypeImage 18(float) 1D nonsampled format:R32f + 69: TypePointer UniformConstant 68 + 70(g_tTex1df1): 69(ptr) Variable UniformConstant + 81: TypeImage 6(int) 1D nonsampled format:R32i + 82: TypePointer UniformConstant 81 + 83(g_tTex1di1): 82(ptr) Variable UniformConstant + 89: TypeImage 12(int) 1D nonsampled format:R32ui + 90: TypePointer UniformConstant 89 + 91(g_tTex1du1): 90(ptr) Variable UniformConstant + 97: TypeImage 18(float) 2D nonsampled format:R32f + 98: TypePointer UniformConstant 97 + 99(g_tTex2df1): 98(ptr) Variable UniformConstant + 101: 6(int) Constant 1 + 102: TypePointer Uniform 56(ivec2) + 107: TypeImage 6(int) 2D nonsampled format:R32i + 108: TypePointer UniformConstant 107 + 109(g_tTex2di1): 108(ptr) Variable UniformConstant + 115: TypeImage 12(int) 2D nonsampled format:R32ui + 116: TypePointer UniformConstant 115 + 117(g_tTex2du1): 116(ptr) Variable UniformConstant + 123: TypeImage 18(float) 3D nonsampled format:R32f + 124: TypePointer UniformConstant 123 + 125(g_tTex3df1): 124(ptr) Variable UniformConstant + 127: 6(int) Constant 2 + 128: TypePointer Uniform 57(ivec3) + 133: TypeImage 6(int) 3D nonsampled format:R32i + 134: TypePointer UniformConstant 133 + 135(g_tTex3di1): 134(ptr) Variable UniformConstant + 141: TypeImage 12(int) 3D nonsampled format:R32ui + 142: TypePointer UniformConstant 141 + 143(g_tTex3du1): 142(ptr) Variable UniformConstant + 149: 6(int) Constant 8 + 150: TypePointer Uniform 18(float) + 169: 12(int) Constant 3 + 182: 18(float) Constant 1073741824 + 196: 18(float) Constant 1077936128 + 209: 18(float) Constant 1082130432 + 246: 6(int) Constant 65535 + 259: 6(int) Constant 61680 + 300: 6(int) Constant 5 + 306: 12(int) Constant 6 + 327: 12(int) Constant 9 + 382: 18(float) Constant 1065353216 + 533: 6(int) Constant 3 + 534: 56(ivec2) ConstantComposite 127 533 + 538: TypePointer Function 40(PS_OUTPUT) + 540: 39(fvec4) ConstantComposite 382 382 382 382 + 541: TypePointer Function 39(fvec4) + 546: TypePointer Output 39(fvec4) + 547(Color): 546(ptr) Variable Output + 550: TypeSampler + 551: TypePointer UniformConstant 550 + 552(g_sSamp): 551(ptr) Variable UniformConstant + 553: TypeImage 18(float) 1D array nonsampled format:R32f + 554: TypePointer UniformConstant 553 +555(g_tTex1df1a): 554(ptr) Variable UniformConstant + 556: TypeImage 6(int) 1D array nonsampled format:R32i + 557: TypePointer UniformConstant 556 +558(g_tTex1di1a): 557(ptr) Variable UniformConstant + 559: TypeImage 12(int) 1D array nonsampled format:R32ui + 560: TypePointer UniformConstant 559 +561(g_tTex1du1a): 560(ptr) Variable UniformConstant + 562: TypeImage 18(float) 2D array nonsampled format:R32f + 563: TypePointer UniformConstant 562 +564(g_tTex2df1a): 563(ptr) Variable UniformConstant + 565: TypeImage 6(int) 2D array nonsampled format:R32i + 566: TypePointer UniformConstant 565 +567(g_tTex2di1a): 566(ptr) Variable UniformConstant + 568: TypeImage 12(int) 2D array nonsampled format:R32ui + 569: TypePointer UniformConstant 568 +570(g_tTex2du1a): 569(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 70(r00): 19(ptr) Variable Function - 75(r01): 7(ptr) Variable Function - 83(r02): 13(ptr) Variable Function - 91(r10): 19(ptr) Variable Function - 101(r11): 7(ptr) Variable Function - 109(r12): 13(ptr) Variable Function - 117(r20): 19(ptr) Variable Function - 127(r21): 7(ptr) Variable Function - 135(r22): 13(ptr) Variable Function - 143(lf1): 19(ptr) Variable Function - 148(storeTemp): 19(ptr) Variable Function - 158(storeTemp): 7(ptr) Variable Function - 163(storeTemp): 13(ptr) Variable Function - 169(val1): 19(ptr) Variable Function - 170(coordTemp): 7(ptr) Variable Function - 173(storeTemp): 19(ptr) Variable Function - 184(coordTemp): 7(ptr) Variable Function - 187(storeTemp): 19(ptr) Variable Function - 197(coordTemp): 7(ptr) Variable Function - 200(storeTemp): 19(ptr) Variable Function - 210(coordTemp): 7(ptr) Variable Function - 213(storeTemp): 7(ptr) Variable Function - 222(coordTemp): 7(ptr) Variable Function - 225(storeTemp): 7(ptr) Variable Function - 234(coordTemp): 7(ptr) Variable Function - 237(storeTemp): 7(ptr) Variable Function - 247(coordTemp): 7(ptr) Variable Function - 250(storeTemp): 7(ptr) Variable Function - 260(coordTemp): 7(ptr) Variable Function - 263(storeTemp): 7(ptr) Variable Function - 272(coordTemp): 7(ptr) Variable Function - 275(storeTemp): 7(ptr) Variable Function - 284(storeTemp): 19(ptr) Variable Function - 294(storeTemp): 7(ptr) Variable Function - 300(storeTemp): 13(ptr) Variable Function - 306(storeTemp): 19(ptr) Variable Function - 316(storeTemp): 7(ptr) Variable Function - 321(storeTemp): 13(ptr) Variable Function - 331(param): 19(ptr) Variable Function - 337(param): 7(ptr) Variable Function - 343(param): 13(ptr) Variable Function - 345(tempArg): 19(ptr) Variable Function - 346(param): 19(ptr) Variable Function - 353(tempArg): 7(ptr) Variable Function - 354(param): 7(ptr) Variable Function - 361(tempArg): 13(ptr) Variable Function - 362(param): 13(ptr) Variable Function - 369(coordTemp): 7(ptr) Variable Function - 372(storeTemp): 19(ptr) Variable Function - 382(coordTemp): 7(ptr) Variable Function - 385(storeTemp): 7(ptr) Variable Function - 394(coordTemp): 7(ptr) Variable Function - 397(storeTemp): 13(ptr) Variable Function - 406(coordTemp): 7(ptr) Variable Function - 409(storeTemp): 19(ptr) Variable Function - 418(coordTemp): 7(ptr) Variable Function - 421(storeTemp): 7(ptr) Variable Function - 430(coordTemp): 7(ptr) Variable Function - 433(storeTemp): 13(ptr) Variable Function - 442(coordTemp): 7(ptr) Variable Function -445(storeTempPre): 19(ptr) Variable Function -449(storeTempPost): 19(ptr) Variable Function - 456(coordTemp): 7(ptr) Variable Function -459(storeTempPre): 13(ptr) Variable Function -463(storeTempPost): 13(ptr) Variable Function - 470(coordTemp): 7(ptr) Variable Function -473(storeTempPre): 7(ptr) Variable Function -477(storeTempPost): 7(ptr) Variable Function - 484(coordTemp): 7(ptr) Variable Function -487(storeTempPre): 19(ptr) Variable Function -491(storeTempPost): 19(ptr) Variable Function - 498(coordTemp): 7(ptr) Variable Function -501(storeTempPre): 7(ptr) Variable Function -505(storeTempPost): 7(ptr) Variable Function - 512(coordTemp): 7(ptr) Variable Function -515(storeTempPre): 13(ptr) Variable Function -519(storeTempPost): 13(ptr) Variable Function - 526(storeTemp): 19(ptr) Variable Function - 536(psout): 535(ptr) Variable Function - 66: 63 Load 65(g_tTex1df1) - 67: 57(ptr) AccessChain 56 48 - 68: 6(int) Load 67 - 69: 18(float) ImageRead 66 68 - 71: 63 Load 65(g_tTex1df1) - 72: 57(ptr) AccessChain 56 48 - 73: 6(int) Load 72 - 74: 18(float) ImageRead 71 73 - Store 70(r00) 74 - 79: 76 Load 78(g_tTex1di1) - 80: 57(ptr) AccessChain 56 48 - 81: 6(int) Load 80 - 82: 6(int) ImageRead 79 81 - Store 75(r01) 82 - 87: 84 Load 86(g_tTex1du1) - 88: 57(ptr) AccessChain 56 48 - 89: 6(int) Load 88 - 90: 12(int) ImageRead 87 89 - Store 83(r02) 90 - 95: 92 Load 94(g_tTex2df1) - 98: 97(ptr) AccessChain 56 96 - 99: 51(ivec2) Load 98 - 100: 18(float) ImageRead 95 99 - Store 91(r10) 100 - 105: 102 Load 104(g_tTex2di1) - 106: 97(ptr) AccessChain 56 96 - 107: 51(ivec2) Load 106 - 108: 6(int) ImageRead 105 107 - Store 101(r11) 108 - 113: 110 Load 112(g_tTex2du1) - 114: 97(ptr) AccessChain 56 96 - 115: 51(ivec2) Load 114 - 116: 12(int) ImageRead 113 115 - Store 109(r12) 116 - 121: 118 Load 120(g_tTex3df1) - 124: 123(ptr) AccessChain 56 122 - 125: 52(ivec3) Load 124 - 126: 18(float) ImageRead 121 125 - Store 117(r20) 126 - 131: 128 Load 130(g_tTex3di1) - 132: 123(ptr) AccessChain 56 122 - 133: 52(ivec3) Load 132 - 134: 6(int) ImageRead 131 133 - Store 127(r21) 134 - 139: 136 Load 138(g_tTex3du1) - 140: 123(ptr) AccessChain 56 122 - 141: 52(ivec3) Load 140 - 142: 12(int) ImageRead 139 141 - Store 135(r22) 142 - 146: 145(ptr) AccessChain 56 144 - 147: 18(float) Load 146 - Store 143(lf1) 147 - 149: 18(float) FunctionCall 37(SomeValue() - Store 148(storeTemp) 149 - 150: 63 Load 65(g_tTex1df1) - 151: 57(ptr) AccessChain 56 48 - 152: 6(int) Load 151 - 153: 18(float) Load 148(storeTemp) - ImageWrite 150 152 153 - 154: 63 Load 65(g_tTex1df1) - 155: 57(ptr) AccessChain 56 48 - 156: 6(int) Load 155 - 157: 18(float) Load 143(lf1) - ImageWrite 154 156 157 - Store 158(storeTemp) 122 - 159: 76 Load 78(g_tTex1di1) - 160: 57(ptr) AccessChain 56 48 - 161: 6(int) Load 160 - 162: 6(int) Load 158(storeTemp) - ImageWrite 159 161 162 - Store 163(storeTemp) 164 - 165: 84 Load 86(g_tTex1du1) - 166: 57(ptr) AccessChain 56 48 - 167: 6(int) Load 166 - 168: 12(int) Load 163(storeTemp) - ImageWrite 165 167 168 - 171: 57(ptr) AccessChain 56 48 - 172: 6(int) Load 171 - Store 170(coordTemp) 172 - 174: 63 Load 65(g_tTex1df1) - 175: 6(int) Load 170(coordTemp) - 176: 18(float) ImageRead 174 175 - Store 173(storeTemp) 176 - 178: 18(float) Load 173(storeTemp) - 179: 18(float) FMul 178 177 - Store 173(storeTemp) 179 - 180: 63 Load 65(g_tTex1df1) - 181: 6(int) Load 170(coordTemp) - 182: 18(float) Load 173(storeTemp) - ImageWrite 180 181 182 - 183: 18(float) Load 173(storeTemp) - Store 169(val1) 183 - 185: 57(ptr) AccessChain 56 48 - 186: 6(int) Load 185 - Store 184(coordTemp) 186 - 188: 63 Load 65(g_tTex1df1) - 189: 6(int) Load 184(coordTemp) - 190: 18(float) ImageRead 188 189 - Store 187(storeTemp) 190 - 192: 18(float) Load 187(storeTemp) - 193: 18(float) FSub 192 191 - Store 187(storeTemp) 193 - 194: 63 Load 65(g_tTex1df1) - 195: 6(int) Load 184(coordTemp) - 196: 18(float) Load 187(storeTemp) - ImageWrite 194 195 196 - 198: 57(ptr) AccessChain 56 48 - 199: 6(int) Load 198 - Store 197(coordTemp) 199 - 201: 63 Load 65(g_tTex1df1) - 202: 6(int) Load 197(coordTemp) - 203: 18(float) ImageRead 201 202 - Store 200(storeTemp) 203 - 205: 18(float) Load 200(storeTemp) - 206: 18(float) FAdd 205 204 - Store 200(storeTemp) 206 - 207: 63 Load 65(g_tTex1df1) - 208: 6(int) Load 197(coordTemp) - 209: 18(float) Load 200(storeTemp) - ImageWrite 207 208 209 - 211: 57(ptr) AccessChain 56 48 - 212: 6(int) Load 211 - Store 210(coordTemp) 212 - 214: 76 Load 78(g_tTex1di1) - 215: 6(int) Load 210(coordTemp) - 216: 6(int) ImageRead 214 215 - Store 213(storeTemp) 216 - 217: 6(int) Load 213(storeTemp) - 218: 6(int) SDiv 217 122 - Store 213(storeTemp) 218 - 219: 76 Load 78(g_tTex1di1) - 220: 6(int) Load 210(coordTemp) - 221: 6(int) Load 213(storeTemp) - ImageWrite 219 220 221 - 223: 57(ptr) AccessChain 56 48 - 224: 6(int) Load 223 - Store 222(coordTemp) 224 - 226: 76 Load 78(g_tTex1di1) - 227: 6(int) Load 222(coordTemp) - 228: 6(int) ImageRead 226 227 - Store 225(storeTemp) 228 - 229: 6(int) Load 225(storeTemp) - 230: 6(int) SMod 229 122 - Store 225(storeTemp) 230 - 231: 76 Load 78(g_tTex1di1) - 232: 6(int) Load 222(coordTemp) - 233: 6(int) Load 225(storeTemp) - ImageWrite 231 232 233 - 235: 57(ptr) AccessChain 56 48 - 236: 6(int) Load 235 - Store 234(coordTemp) 236 - 238: 76 Load 78(g_tTex1di1) - 239: 6(int) Load 234(coordTemp) - 240: 6(int) ImageRead 238 239 - Store 237(storeTemp) 240 - 242: 6(int) Load 237(storeTemp) - 243: 6(int) BitwiseAnd 242 241 - Store 237(storeTemp) 243 - 244: 76 Load 78(g_tTex1di1) - 245: 6(int) Load 234(coordTemp) - 246: 6(int) Load 237(storeTemp) - ImageWrite 244 245 246 - 248: 57(ptr) AccessChain 56 48 - 249: 6(int) Load 248 - Store 247(coordTemp) 249 - 251: 76 Load 78(g_tTex1di1) - 252: 6(int) Load 247(coordTemp) - 253: 6(int) ImageRead 251 252 - Store 250(storeTemp) 253 - 255: 6(int) Load 250(storeTemp) - 256: 6(int) BitwiseOr 255 254 - Store 250(storeTemp) 256 - 257: 76 Load 78(g_tTex1di1) - 258: 6(int) Load 247(coordTemp) - 259: 6(int) Load 250(storeTemp) - ImageWrite 257 258 259 - 261: 57(ptr) AccessChain 56 48 - 262: 6(int) Load 261 - Store 260(coordTemp) 262 - 264: 76 Load 78(g_tTex1di1) - 265: 6(int) Load 260(coordTemp) - 266: 6(int) ImageRead 264 265 - Store 263(storeTemp) 266 - 267: 6(int) Load 263(storeTemp) - 268: 6(int) ShiftLeftLogical 267 122 - Store 263(storeTemp) 268 - 269: 76 Load 78(g_tTex1di1) - 270: 6(int) Load 260(coordTemp) - 271: 6(int) Load 263(storeTemp) - ImageWrite 269 270 271 - 273: 57(ptr) AccessChain 56 48 - 274: 6(int) Load 273 - Store 272(coordTemp) 274 - 276: 76 Load 78(g_tTex1di1) - 277: 6(int) Load 272(coordTemp) - 278: 6(int) ImageRead 276 277 - Store 275(storeTemp) 278 - 279: 6(int) Load 275(storeTemp) - 280: 6(int) ShiftRightArithmetic 279 122 - Store 275(storeTemp) 280 - 281: 76 Load 78(g_tTex1di1) - 282: 6(int) Load 272(coordTemp) - 283: 6(int) Load 275(storeTemp) - ImageWrite 281 282 283 - 285: 18(float) FunctionCall 37(SomeValue() - Store 284(storeTemp) 285 - 286: 92 Load 94(g_tTex2df1) - 287: 97(ptr) AccessChain 56 96 - 288: 51(ivec2) Load 287 - 289: 18(float) Load 284(storeTemp) - ImageWrite 286 288 289 - 290: 92 Load 94(g_tTex2df1) - 291: 97(ptr) AccessChain 56 96 - 292: 51(ivec2) Load 291 - 293: 18(float) Load 143(lf1) - ImageWrite 290 292 293 - Store 294(storeTemp) 295 - 296: 102 Load 104(g_tTex2di1) - 297: 97(ptr) AccessChain 56 96 - 298: 51(ivec2) Load 297 - 299: 6(int) Load 294(storeTemp) - ImageWrite 296 298 299 - Store 300(storeTemp) 301 - 302: 110 Load 112(g_tTex2du1) - 303: 97(ptr) AccessChain 56 96 - 304: 51(ivec2) Load 303 - 305: 12(int) Load 300(storeTemp) - ImageWrite 302 304 305 - 307: 18(float) FunctionCall 37(SomeValue() - Store 306(storeTemp) 307 - 308: 118 Load 120(g_tTex3df1) - 309: 123(ptr) AccessChain 56 122 - 310: 52(ivec3) Load 309 - 311: 18(float) Load 306(storeTemp) - ImageWrite 308 310 311 - 312: 118 Load 120(g_tTex3df1) - 313: 123(ptr) AccessChain 56 122 - 314: 52(ivec3) Load 313 - 315: 18(float) Load 143(lf1) - ImageWrite 312 314 315 - Store 316(storeTemp) 144 - 317: 128 Load 130(g_tTex3di1) - 318: 123(ptr) AccessChain 56 122 - 319: 52(ivec3) Load 318 - 320: 6(int) Load 316(storeTemp) - ImageWrite 317 319 320 - Store 321(storeTemp) 322 - 323: 136 Load 138(g_tTex3du1) - 324: 123(ptr) AccessChain 56 122 - 325: 52(ivec3) Load 324 - 326: 12(int) Load 321(storeTemp) - ImageWrite 323 325 326 - 327: 63 Load 65(g_tTex1df1) - 328: 57(ptr) AccessChain 56 48 - 329: 6(int) Load 328 - 330: 18(float) ImageRead 327 329 - Store 331(param) 330 - 332: 18(float) FunctionCall 22(Fn1(f1;) 331(param) - 333: 76 Load 78(g_tTex1di1) - 334: 57(ptr) AccessChain 56 48 - 335: 6(int) Load 334 - 336: 6(int) ImageRead 333 335 - Store 337(param) 336 - 338: 6(int) FunctionCall 10(Fn1(i1;) 337(param) - 339: 84 Load 86(g_tTex1du1) - 340: 57(ptr) AccessChain 56 48 - 341: 6(int) Load 340 - 342: 12(int) ImageRead 339 341 - Store 343(param) 342 - 344: 12(int) FunctionCall 16(Fn1(u1;) 343(param) - 347: 2 FunctionCall 34(Fn2(f1;) 346(param) - 348: 18(float) Load 346(param) - Store 345(tempArg) 348 - 349: 63 Load 65(g_tTex1df1) - 350: 57(ptr) AccessChain 56 48 - 351: 6(int) Load 350 - 352: 18(float) Load 345(tempArg) - ImageWrite 349 351 352 - 355: 2 FunctionCall 26(Fn2(i1;) 354(param) - 356: 6(int) Load 354(param) - Store 353(tempArg) 356 - 357: 76 Load 78(g_tTex1di1) - 358: 57(ptr) AccessChain 56 48 - 359: 6(int) Load 358 - 360: 6(int) Load 353(tempArg) - ImageWrite 357 359 360 - 363: 2 FunctionCall 30(Fn2(u1;) 362(param) - 364: 12(int) Load 362(param) - Store 361(tempArg) 364 - 365: 84 Load 86(g_tTex1du1) - 366: 57(ptr) AccessChain 56 48 - 367: 6(int) Load 366 - 368: 12(int) Load 361(tempArg) - ImageWrite 365 367 368 - 370: 57(ptr) AccessChain 56 48 - 371: 6(int) Load 370 - Store 369(coordTemp) 371 - 373: 63 Load 65(g_tTex1df1) - 374: 6(int) Load 369(coordTemp) - 375: 18(float) ImageRead 373 374 - Store 372(storeTemp) 375 - 376: 18(float) Load 372(storeTemp) - 378: 18(float) FAdd 376 377 - Store 372(storeTemp) 378 - 379: 63 Load 65(g_tTex1df1) - 380: 6(int) Load 369(coordTemp) - 381: 18(float) Load 372(storeTemp) - ImageWrite 379 380 381 - 383: 57(ptr) AccessChain 56 48 - 384: 6(int) Load 383 - Store 382(coordTemp) 384 - 386: 76 Load 78(g_tTex1di1) - 387: 6(int) Load 382(coordTemp) - 388: 6(int) ImageRead 386 387 - Store 385(storeTemp) 388 - 389: 6(int) Load 385(storeTemp) - 390: 6(int) IAdd 389 96 - Store 385(storeTemp) 390 - 391: 76 Load 78(g_tTex1di1) - 392: 6(int) Load 382(coordTemp) - 393: 6(int) Load 385(storeTemp) - ImageWrite 391 392 393 - 395: 57(ptr) AccessChain 56 48 - 396: 6(int) Load 395 - Store 394(coordTemp) 396 - 398: 84 Load 86(g_tTex1du1) - 399: 6(int) Load 394(coordTemp) - 400: 12(int) ImageRead 398 399 - Store 397(storeTemp) 400 - 401: 12(int) Load 397(storeTemp) - 402: 12(int) IAdd 401 96 - Store 397(storeTemp) 402 - 403: 84 Load 86(g_tTex1du1) - 404: 6(int) Load 394(coordTemp) - 405: 12(int) Load 397(storeTemp) - ImageWrite 403 404 405 - 407: 57(ptr) AccessChain 56 48 - 408: 6(int) Load 407 - Store 406(coordTemp) 408 - 410: 63 Load 65(g_tTex1df1) - 411: 6(int) Load 406(coordTemp) - 412: 18(float) ImageRead 410 411 - Store 409(storeTemp) 412 - 413: 18(float) Load 409(storeTemp) - 414: 18(float) FSub 413 377 - Store 409(storeTemp) 414 - 415: 63 Load 65(g_tTex1df1) - 416: 6(int) Load 406(coordTemp) - 417: 18(float) Load 409(storeTemp) - ImageWrite 415 416 417 - 419: 57(ptr) AccessChain 56 48 - 420: 6(int) Load 419 - Store 418(coordTemp) 420 - 422: 76 Load 78(g_tTex1di1) - 423: 6(int) Load 418(coordTemp) - 424: 6(int) ImageRead 422 423 - Store 421(storeTemp) 424 - 425: 6(int) Load 421(storeTemp) - 426: 6(int) ISub 425 96 - Store 421(storeTemp) 426 - 427: 76 Load 78(g_tTex1di1) - 428: 6(int) Load 418(coordTemp) - 429: 6(int) Load 421(storeTemp) - ImageWrite 427 428 429 - 431: 57(ptr) AccessChain 56 48 - 432: 6(int) Load 431 - Store 430(coordTemp) 432 - 434: 84 Load 86(g_tTex1du1) - 435: 6(int) Load 430(coordTemp) - 436: 12(int) ImageRead 434 435 - Store 433(storeTemp) 436 - 437: 12(int) Load 433(storeTemp) - 438: 12(int) ISub 437 96 - Store 433(storeTemp) 438 - 439: 84 Load 86(g_tTex1du1) - 440: 6(int) Load 430(coordTemp) - 441: 12(int) Load 433(storeTemp) - ImageWrite 439 440 441 - 443: 57(ptr) AccessChain 56 48 - 444: 6(int) Load 443 - Store 442(coordTemp) 444 - 446: 63 Load 65(g_tTex1df1) - 447: 6(int) Load 442(coordTemp) - 448: 18(float) ImageRead 446 447 - Store 445(storeTempPre) 448 - 450: 18(float) Load 445(storeTempPre) - Store 449(storeTempPost) 450 - 451: 18(float) Load 449(storeTempPost) - 452: 18(float) FAdd 451 377 - Store 449(storeTempPost) 452 - 453: 63 Load 65(g_tTex1df1) - 454: 6(int) Load 442(coordTemp) - 455: 18(float) Load 449(storeTempPost) - ImageWrite 453 454 455 - 457: 57(ptr) AccessChain 56 48 - 458: 6(int) Load 457 - Store 456(coordTemp) 458 - 460: 84 Load 86(g_tTex1du1) - 461: 6(int) Load 456(coordTemp) - 462: 12(int) ImageRead 460 461 - Store 459(storeTempPre) 462 - 464: 12(int) Load 459(storeTempPre) - Store 463(storeTempPost) 464 - 465: 12(int) Load 463(storeTempPost) - 466: 12(int) ISub 465 96 - Store 463(storeTempPost) 466 - 467: 84 Load 86(g_tTex1du1) - 468: 6(int) Load 456(coordTemp) - 469: 12(int) Load 463(storeTempPost) - ImageWrite 467 468 469 - 471: 57(ptr) AccessChain 56 48 - 472: 6(int) Load 471 - Store 470(coordTemp) 472 - 474: 76 Load 78(g_tTex1di1) - 475: 6(int) Load 470(coordTemp) - 476: 6(int) ImageRead 474 475 - Store 473(storeTempPre) 476 - 478: 6(int) Load 473(storeTempPre) - Store 477(storeTempPost) 478 - 479: 6(int) Load 477(storeTempPost) - 480: 6(int) IAdd 479 96 - Store 477(storeTempPost) 480 - 481: 76 Load 78(g_tTex1di1) - 482: 6(int) Load 470(coordTemp) - 483: 6(int) Load 477(storeTempPost) - ImageWrite 481 482 483 - 485: 57(ptr) AccessChain 56 48 - 486: 6(int) Load 485 - Store 484(coordTemp) 486 - 488: 63 Load 65(g_tTex1df1) - 489: 6(int) Load 484(coordTemp) - 490: 18(float) ImageRead 488 489 - Store 487(storeTempPre) 490 - 492: 18(float) Load 487(storeTempPre) - Store 491(storeTempPost) 492 - 493: 18(float) Load 491(storeTempPost) - 494: 18(float) FSub 493 377 - Store 491(storeTempPost) 494 - 495: 63 Load 65(g_tTex1df1) - 496: 6(int) Load 484(coordTemp) - 497: 18(float) Load 491(storeTempPost) - ImageWrite 495 496 497 - 499: 57(ptr) AccessChain 56 48 - 500: 6(int) Load 499 - Store 498(coordTemp) 500 - 502: 76 Load 78(g_tTex1di1) - 503: 6(int) Load 498(coordTemp) - 504: 6(int) ImageRead 502 503 - Store 501(storeTempPre) 504 - 506: 6(int) Load 501(storeTempPre) - Store 505(storeTempPost) 506 - 507: 6(int) Load 505(storeTempPost) - 508: 6(int) IAdd 507 96 - Store 505(storeTempPost) 508 - 509: 76 Load 78(g_tTex1di1) - 510: 6(int) Load 498(coordTemp) - 511: 6(int) Load 505(storeTempPost) - ImageWrite 509 510 511 - 513: 57(ptr) AccessChain 56 48 - 514: 6(int) Load 513 - Store 512(coordTemp) 514 - 516: 84 Load 86(g_tTex1du1) - 517: 6(int) Load 512(coordTemp) - 518: 12(int) ImageRead 516 517 - Store 515(storeTempPre) 518 - 520: 12(int) Load 515(storeTempPre) - Store 519(storeTempPost) 520 - 521: 12(int) Load 519(storeTempPost) - 522: 12(int) ISub 521 96 - Store 519(storeTempPost) 522 - 523: 84 Load 86(g_tTex1du1) - 524: 6(int) Load 512(coordTemp) - 525: 12(int) Load 519(storeTempPost) - ImageWrite 523 524 525 - 527: 92 Load 94(g_tTex2df1) - 530: 18(float) ImageRead 527 529 - Store 526(storeTemp) 530 - 531: 63 Load 65(g_tTex1df1) - 532: 18(float) Load 526(storeTemp) - ImageWrite 531 96 532 - 539: 538(ptr) AccessChain 536(psout) 48 - Store 539 537 - 542: 538(ptr) AccessChain 536(psout) 48 - 543: 533(fvec4) Load 542 - Store 541(Color) 543 + 548:40(PS_OUTPUT) FunctionCall 42(@main() + 549: 39(fvec4) CompositeExtract 548 0 + Store 547(Color) 549 Return FunctionEnd 10(Fn1(i1;): 6(int) Function None 8 9(x): 7(ptr) FunctionParameter 11: Label - 39: 6(int) Load 9(x) - ReturnValue 39 + 44: 6(int) Load 9(x) + ReturnValue 44 FunctionEnd 16(Fn1(u1;): 12(int) Function None 14 15(x): 13(ptr) FunctionParameter 17: Label - 42: 12(int) Load 15(x) - ReturnValue 42 + 47: 12(int) Load 15(x) + ReturnValue 47 FunctionEnd 22(Fn1(f1;): 18(float) Function None 20 21(x): 19(ptr) FunctionParameter 23: Label - 45: 18(float) Load 21(x) - ReturnValue 45 + 50: 18(float) Load 21(x) + ReturnValue 50 FunctionEnd 26(Fn2(i1;): 2 Function None 24 25(x): 7(ptr) FunctionParameter 27: Label - Store 25(x) 48 + Store 25(x) 53 Return FunctionEnd 30(Fn2(u1;): 2 Function None 28 29(x): 13(ptr) FunctionParameter 31: Label - Store 29(x) 49 + Store 29(x) 54 Return FunctionEnd 34(Fn2(f1;): 2 Function None 32 33(x): 19(ptr) FunctionParameter 35: Label - Store 33(x) 50 + Store 33(x) 55 Return FunctionEnd 37(SomeValue(): 18(float) Function None 36 38: Label - 58: 57(ptr) AccessChain 56 48 - 59: 6(int) Load 58 - 60: 18(float) ConvertSToF 59 - ReturnValue 60 + 63: 62(ptr) AccessChain 61 53 + 64: 6(int) Load 63 + 65: 18(float) ConvertSToF 64 + ReturnValue 65 + FunctionEnd + 42(@main():40(PS_OUTPUT) Function None 41 + 43: Label + 75(r00): 19(ptr) Variable Function + 80(r01): 7(ptr) Variable Function + 88(r02): 13(ptr) Variable Function + 96(r10): 19(ptr) Variable Function + 106(r11): 7(ptr) Variable Function + 114(r12): 13(ptr) Variable Function + 122(r20): 19(ptr) Variable Function + 132(r21): 7(ptr) Variable Function + 140(r22): 13(ptr) Variable Function + 148(lf1): 19(ptr) Variable Function + 153(storeTemp): 19(ptr) Variable Function + 163(storeTemp): 7(ptr) Variable Function + 168(storeTemp): 13(ptr) Variable Function + 174(val1): 19(ptr) Variable Function + 175(coordTemp): 7(ptr) Variable Function + 178(storeTemp): 19(ptr) Variable Function + 189(coordTemp): 7(ptr) Variable Function + 192(storeTemp): 19(ptr) Variable Function + 202(coordTemp): 7(ptr) Variable Function + 205(storeTemp): 19(ptr) Variable Function + 215(coordTemp): 7(ptr) Variable Function + 218(storeTemp): 7(ptr) Variable Function + 227(coordTemp): 7(ptr) Variable Function + 230(storeTemp): 7(ptr) Variable Function + 239(coordTemp): 7(ptr) Variable Function + 242(storeTemp): 7(ptr) Variable Function + 252(coordTemp): 7(ptr) Variable Function + 255(storeTemp): 7(ptr) Variable Function + 265(coordTemp): 7(ptr) Variable Function + 268(storeTemp): 7(ptr) Variable Function + 277(coordTemp): 7(ptr) Variable Function + 280(storeTemp): 7(ptr) Variable Function + 289(storeTemp): 19(ptr) Variable Function + 299(storeTemp): 7(ptr) Variable Function + 305(storeTemp): 13(ptr) Variable Function + 311(storeTemp): 19(ptr) Variable Function + 321(storeTemp): 7(ptr) Variable Function + 326(storeTemp): 13(ptr) Variable Function + 336(param): 19(ptr) Variable Function + 342(param): 7(ptr) Variable Function + 348(param): 13(ptr) Variable Function + 350(tempArg): 19(ptr) Variable Function + 351(param): 19(ptr) Variable Function + 358(tempArg): 7(ptr) Variable Function + 359(param): 7(ptr) Variable Function + 366(tempArg): 13(ptr) Variable Function + 367(param): 13(ptr) Variable Function + 374(coordTemp): 7(ptr) Variable Function + 377(storeTemp): 19(ptr) Variable Function + 387(coordTemp): 7(ptr) Variable Function + 390(storeTemp): 7(ptr) Variable Function + 399(coordTemp): 7(ptr) Variable Function + 402(storeTemp): 13(ptr) Variable Function + 411(coordTemp): 7(ptr) Variable Function + 414(storeTemp): 19(ptr) Variable Function + 423(coordTemp): 7(ptr) Variable Function + 426(storeTemp): 7(ptr) Variable Function + 435(coordTemp): 7(ptr) Variable Function + 438(storeTemp): 13(ptr) Variable Function + 447(coordTemp): 7(ptr) Variable Function +450(storeTempPre): 19(ptr) Variable Function +454(storeTempPost): 19(ptr) Variable Function + 461(coordTemp): 7(ptr) Variable Function +464(storeTempPre): 13(ptr) Variable Function +468(storeTempPost): 13(ptr) Variable Function + 475(coordTemp): 7(ptr) Variable Function +478(storeTempPre): 7(ptr) Variable Function +482(storeTempPost): 7(ptr) Variable Function + 489(coordTemp): 7(ptr) Variable Function +492(storeTempPre): 19(ptr) Variable Function +496(storeTempPost): 19(ptr) Variable Function + 503(coordTemp): 7(ptr) Variable Function +506(storeTempPre): 7(ptr) Variable Function +510(storeTempPost): 7(ptr) Variable Function + 517(coordTemp): 7(ptr) Variable Function +520(storeTempPre): 13(ptr) Variable Function +524(storeTempPost): 13(ptr) Variable Function + 531(storeTemp): 19(ptr) Variable Function + 539(psout): 538(ptr) Variable Function + 71: 68 Load 70(g_tTex1df1) + 72: 62(ptr) AccessChain 61 53 + 73: 6(int) Load 72 + 74: 18(float) ImageRead 71 73 + 76: 68 Load 70(g_tTex1df1) + 77: 62(ptr) AccessChain 61 53 + 78: 6(int) Load 77 + 79: 18(float) ImageRead 76 78 + Store 75(r00) 79 + 84: 81 Load 83(g_tTex1di1) + 85: 62(ptr) AccessChain 61 53 + 86: 6(int) Load 85 + 87: 6(int) ImageRead 84 86 + Store 80(r01) 87 + 92: 89 Load 91(g_tTex1du1) + 93: 62(ptr) AccessChain 61 53 + 94: 6(int) Load 93 + 95: 12(int) ImageRead 92 94 + Store 88(r02) 95 + 100: 97 Load 99(g_tTex2df1) + 103: 102(ptr) AccessChain 61 101 + 104: 56(ivec2) Load 103 + 105: 18(float) ImageRead 100 104 + Store 96(r10) 105 + 110: 107 Load 109(g_tTex2di1) + 111: 102(ptr) AccessChain 61 101 + 112: 56(ivec2) Load 111 + 113: 6(int) ImageRead 110 112 + Store 106(r11) 113 + 118: 115 Load 117(g_tTex2du1) + 119: 102(ptr) AccessChain 61 101 + 120: 56(ivec2) Load 119 + 121: 12(int) ImageRead 118 120 + Store 114(r12) 121 + 126: 123 Load 125(g_tTex3df1) + 129: 128(ptr) AccessChain 61 127 + 130: 57(ivec3) Load 129 + 131: 18(float) ImageRead 126 130 + Store 122(r20) 131 + 136: 133 Load 135(g_tTex3di1) + 137: 128(ptr) AccessChain 61 127 + 138: 57(ivec3) Load 137 + 139: 6(int) ImageRead 136 138 + Store 132(r21) 139 + 144: 141 Load 143(g_tTex3du1) + 145: 128(ptr) AccessChain 61 127 + 146: 57(ivec3) Load 145 + 147: 12(int) ImageRead 144 146 + Store 140(r22) 147 + 151: 150(ptr) AccessChain 61 149 + 152: 18(float) Load 151 + Store 148(lf1) 152 + 154: 18(float) FunctionCall 37(SomeValue() + Store 153(storeTemp) 154 + 155: 68 Load 70(g_tTex1df1) + 156: 62(ptr) AccessChain 61 53 + 157: 6(int) Load 156 + 158: 18(float) Load 153(storeTemp) + ImageWrite 155 157 158 + 159: 68 Load 70(g_tTex1df1) + 160: 62(ptr) AccessChain 61 53 + 161: 6(int) Load 160 + 162: 18(float) Load 148(lf1) + ImageWrite 159 161 162 + Store 163(storeTemp) 127 + 164: 81 Load 83(g_tTex1di1) + 165: 62(ptr) AccessChain 61 53 + 166: 6(int) Load 165 + 167: 6(int) Load 163(storeTemp) + ImageWrite 164 166 167 + Store 168(storeTemp) 169 + 170: 89 Load 91(g_tTex1du1) + 171: 62(ptr) AccessChain 61 53 + 172: 6(int) Load 171 + 173: 12(int) Load 168(storeTemp) + ImageWrite 170 172 173 + 176: 62(ptr) AccessChain 61 53 + 177: 6(int) Load 176 + Store 175(coordTemp) 177 + 179: 68 Load 70(g_tTex1df1) + 180: 6(int) Load 175(coordTemp) + 181: 18(float) ImageRead 179 180 + Store 178(storeTemp) 181 + 183: 18(float) Load 178(storeTemp) + 184: 18(float) FMul 183 182 + Store 178(storeTemp) 184 + 185: 68 Load 70(g_tTex1df1) + 186: 6(int) Load 175(coordTemp) + 187: 18(float) Load 178(storeTemp) + ImageWrite 185 186 187 + 188: 18(float) Load 178(storeTemp) + Store 174(val1) 188 + 190: 62(ptr) AccessChain 61 53 + 191: 6(int) Load 190 + Store 189(coordTemp) 191 + 193: 68 Load 70(g_tTex1df1) + 194: 6(int) Load 189(coordTemp) + 195: 18(float) ImageRead 193 194 + Store 192(storeTemp) 195 + 197: 18(float) Load 192(storeTemp) + 198: 18(float) FSub 197 196 + Store 192(storeTemp) 198 + 199: 68 Load 70(g_tTex1df1) + 200: 6(int) Load 189(coordTemp) + 201: 18(float) Load 192(storeTemp) + ImageWrite 199 200 201 + 203: 62(ptr) AccessChain 61 53 + 204: 6(int) Load 203 + Store 202(coordTemp) 204 + 206: 68 Load 70(g_tTex1df1) + 207: 6(int) Load 202(coordTemp) + 208: 18(float) ImageRead 206 207 + Store 205(storeTemp) 208 + 210: 18(float) Load 205(storeTemp) + 211: 18(float) FAdd 210 209 + Store 205(storeTemp) 211 + 212: 68 Load 70(g_tTex1df1) + 213: 6(int) Load 202(coordTemp) + 214: 18(float) Load 205(storeTemp) + ImageWrite 212 213 214 + 216: 62(ptr) AccessChain 61 53 + 217: 6(int) Load 216 + Store 215(coordTemp) 217 + 219: 81 Load 83(g_tTex1di1) + 220: 6(int) Load 215(coordTemp) + 221: 6(int) ImageRead 219 220 + Store 218(storeTemp) 221 + 222: 6(int) Load 218(storeTemp) + 223: 6(int) SDiv 222 127 + Store 218(storeTemp) 223 + 224: 81 Load 83(g_tTex1di1) + 225: 6(int) Load 215(coordTemp) + 226: 6(int) Load 218(storeTemp) + ImageWrite 224 225 226 + 228: 62(ptr) AccessChain 61 53 + 229: 6(int) Load 228 + Store 227(coordTemp) 229 + 231: 81 Load 83(g_tTex1di1) + 232: 6(int) Load 227(coordTemp) + 233: 6(int) ImageRead 231 232 + Store 230(storeTemp) 233 + 234: 6(int) Load 230(storeTemp) + 235: 6(int) SMod 234 127 + Store 230(storeTemp) 235 + 236: 81 Load 83(g_tTex1di1) + 237: 6(int) Load 227(coordTemp) + 238: 6(int) Load 230(storeTemp) + ImageWrite 236 237 238 + 240: 62(ptr) AccessChain 61 53 + 241: 6(int) Load 240 + Store 239(coordTemp) 241 + 243: 81 Load 83(g_tTex1di1) + 244: 6(int) Load 239(coordTemp) + 245: 6(int) ImageRead 243 244 + Store 242(storeTemp) 245 + 247: 6(int) Load 242(storeTemp) + 248: 6(int) BitwiseAnd 247 246 + Store 242(storeTemp) 248 + 249: 81 Load 83(g_tTex1di1) + 250: 6(int) Load 239(coordTemp) + 251: 6(int) Load 242(storeTemp) + ImageWrite 249 250 251 + 253: 62(ptr) AccessChain 61 53 + 254: 6(int) Load 253 + Store 252(coordTemp) 254 + 256: 81 Load 83(g_tTex1di1) + 257: 6(int) Load 252(coordTemp) + 258: 6(int) ImageRead 256 257 + Store 255(storeTemp) 258 + 260: 6(int) Load 255(storeTemp) + 261: 6(int) BitwiseOr 260 259 + Store 255(storeTemp) 261 + 262: 81 Load 83(g_tTex1di1) + 263: 6(int) Load 252(coordTemp) + 264: 6(int) Load 255(storeTemp) + ImageWrite 262 263 264 + 266: 62(ptr) AccessChain 61 53 + 267: 6(int) Load 266 + Store 265(coordTemp) 267 + 269: 81 Load 83(g_tTex1di1) + 270: 6(int) Load 265(coordTemp) + 271: 6(int) ImageRead 269 270 + Store 268(storeTemp) 271 + 272: 6(int) Load 268(storeTemp) + 273: 6(int) ShiftLeftLogical 272 127 + Store 268(storeTemp) 273 + 274: 81 Load 83(g_tTex1di1) + 275: 6(int) Load 265(coordTemp) + 276: 6(int) Load 268(storeTemp) + ImageWrite 274 275 276 + 278: 62(ptr) AccessChain 61 53 + 279: 6(int) Load 278 + Store 277(coordTemp) 279 + 281: 81 Load 83(g_tTex1di1) + 282: 6(int) Load 277(coordTemp) + 283: 6(int) ImageRead 281 282 + Store 280(storeTemp) 283 + 284: 6(int) Load 280(storeTemp) + 285: 6(int) ShiftRightArithmetic 284 127 + Store 280(storeTemp) 285 + 286: 81 Load 83(g_tTex1di1) + 287: 6(int) Load 277(coordTemp) + 288: 6(int) Load 280(storeTemp) + ImageWrite 286 287 288 + 290: 18(float) FunctionCall 37(SomeValue() + Store 289(storeTemp) 290 + 291: 97 Load 99(g_tTex2df1) + 292: 102(ptr) AccessChain 61 101 + 293: 56(ivec2) Load 292 + 294: 18(float) Load 289(storeTemp) + ImageWrite 291 293 294 + 295: 97 Load 99(g_tTex2df1) + 296: 102(ptr) AccessChain 61 101 + 297: 56(ivec2) Load 296 + 298: 18(float) Load 148(lf1) + ImageWrite 295 297 298 + Store 299(storeTemp) 300 + 301: 107 Load 109(g_tTex2di1) + 302: 102(ptr) AccessChain 61 101 + 303: 56(ivec2) Load 302 + 304: 6(int) Load 299(storeTemp) + ImageWrite 301 303 304 + Store 305(storeTemp) 306 + 307: 115 Load 117(g_tTex2du1) + 308: 102(ptr) AccessChain 61 101 + 309: 56(ivec2) Load 308 + 310: 12(int) Load 305(storeTemp) + ImageWrite 307 309 310 + 312: 18(float) FunctionCall 37(SomeValue() + Store 311(storeTemp) 312 + 313: 123 Load 125(g_tTex3df1) + 314: 128(ptr) AccessChain 61 127 + 315: 57(ivec3) Load 314 + 316: 18(float) Load 311(storeTemp) + ImageWrite 313 315 316 + 317: 123 Load 125(g_tTex3df1) + 318: 128(ptr) AccessChain 61 127 + 319: 57(ivec3) Load 318 + 320: 18(float) Load 148(lf1) + ImageWrite 317 319 320 + Store 321(storeTemp) 149 + 322: 133 Load 135(g_tTex3di1) + 323: 128(ptr) AccessChain 61 127 + 324: 57(ivec3) Load 323 + 325: 6(int) Load 321(storeTemp) + ImageWrite 322 324 325 + Store 326(storeTemp) 327 + 328: 141 Load 143(g_tTex3du1) + 329: 128(ptr) AccessChain 61 127 + 330: 57(ivec3) Load 329 + 331: 12(int) Load 326(storeTemp) + ImageWrite 328 330 331 + 332: 68 Load 70(g_tTex1df1) + 333: 62(ptr) AccessChain 61 53 + 334: 6(int) Load 333 + 335: 18(float) ImageRead 332 334 + Store 336(param) 335 + 337: 18(float) FunctionCall 22(Fn1(f1;) 336(param) + 338: 81 Load 83(g_tTex1di1) + 339: 62(ptr) AccessChain 61 53 + 340: 6(int) Load 339 + 341: 6(int) ImageRead 338 340 + Store 342(param) 341 + 343: 6(int) FunctionCall 10(Fn1(i1;) 342(param) + 344: 89 Load 91(g_tTex1du1) + 345: 62(ptr) AccessChain 61 53 + 346: 6(int) Load 345 + 347: 12(int) ImageRead 344 346 + Store 348(param) 347 + 349: 12(int) FunctionCall 16(Fn1(u1;) 348(param) + 352: 2 FunctionCall 34(Fn2(f1;) 351(param) + 353: 18(float) Load 351(param) + Store 350(tempArg) 353 + 354: 68 Load 70(g_tTex1df1) + 355: 62(ptr) AccessChain 61 53 + 356: 6(int) Load 355 + 357: 18(float) Load 350(tempArg) + ImageWrite 354 356 357 + 360: 2 FunctionCall 26(Fn2(i1;) 359(param) + 361: 6(int) Load 359(param) + Store 358(tempArg) 361 + 362: 81 Load 83(g_tTex1di1) + 363: 62(ptr) AccessChain 61 53 + 364: 6(int) Load 363 + 365: 6(int) Load 358(tempArg) + ImageWrite 362 364 365 + 368: 2 FunctionCall 30(Fn2(u1;) 367(param) + 369: 12(int) Load 367(param) + Store 366(tempArg) 369 + 370: 89 Load 91(g_tTex1du1) + 371: 62(ptr) AccessChain 61 53 + 372: 6(int) Load 371 + 373: 12(int) Load 366(tempArg) + ImageWrite 370 372 373 + 375: 62(ptr) AccessChain 61 53 + 376: 6(int) Load 375 + Store 374(coordTemp) 376 + 378: 68 Load 70(g_tTex1df1) + 379: 6(int) Load 374(coordTemp) + 380: 18(float) ImageRead 378 379 + Store 377(storeTemp) 380 + 381: 18(float) Load 377(storeTemp) + 383: 18(float) FAdd 381 382 + Store 377(storeTemp) 383 + 384: 68 Load 70(g_tTex1df1) + 385: 6(int) Load 374(coordTemp) + 386: 18(float) Load 377(storeTemp) + ImageWrite 384 385 386 + 388: 62(ptr) AccessChain 61 53 + 389: 6(int) Load 388 + Store 387(coordTemp) 389 + 391: 81 Load 83(g_tTex1di1) + 392: 6(int) Load 387(coordTemp) + 393: 6(int) ImageRead 391 392 + Store 390(storeTemp) 393 + 394: 6(int) Load 390(storeTemp) + 395: 6(int) IAdd 394 101 + Store 390(storeTemp) 395 + 396: 81 Load 83(g_tTex1di1) + 397: 6(int) Load 387(coordTemp) + 398: 6(int) Load 390(storeTemp) + ImageWrite 396 397 398 + 400: 62(ptr) AccessChain 61 53 + 401: 6(int) Load 400 + Store 399(coordTemp) 401 + 403: 89 Load 91(g_tTex1du1) + 404: 6(int) Load 399(coordTemp) + 405: 12(int) ImageRead 403 404 + Store 402(storeTemp) 405 + 406: 12(int) Load 402(storeTemp) + 407: 12(int) IAdd 406 101 + Store 402(storeTemp) 407 + 408: 89 Load 91(g_tTex1du1) + 409: 6(int) Load 399(coordTemp) + 410: 12(int) Load 402(storeTemp) + ImageWrite 408 409 410 + 412: 62(ptr) AccessChain 61 53 + 413: 6(int) Load 412 + Store 411(coordTemp) 413 + 415: 68 Load 70(g_tTex1df1) + 416: 6(int) Load 411(coordTemp) + 417: 18(float) ImageRead 415 416 + Store 414(storeTemp) 417 + 418: 18(float) Load 414(storeTemp) + 419: 18(float) FSub 418 382 + Store 414(storeTemp) 419 + 420: 68 Load 70(g_tTex1df1) + 421: 6(int) Load 411(coordTemp) + 422: 18(float) Load 414(storeTemp) + ImageWrite 420 421 422 + 424: 62(ptr) AccessChain 61 53 + 425: 6(int) Load 424 + Store 423(coordTemp) 425 + 427: 81 Load 83(g_tTex1di1) + 428: 6(int) Load 423(coordTemp) + 429: 6(int) ImageRead 427 428 + Store 426(storeTemp) 429 + 430: 6(int) Load 426(storeTemp) + 431: 6(int) ISub 430 101 + Store 426(storeTemp) 431 + 432: 81 Load 83(g_tTex1di1) + 433: 6(int) Load 423(coordTemp) + 434: 6(int) Load 426(storeTemp) + ImageWrite 432 433 434 + 436: 62(ptr) AccessChain 61 53 + 437: 6(int) Load 436 + Store 435(coordTemp) 437 + 439: 89 Load 91(g_tTex1du1) + 440: 6(int) Load 435(coordTemp) + 441: 12(int) ImageRead 439 440 + Store 438(storeTemp) 441 + 442: 12(int) Load 438(storeTemp) + 443: 12(int) ISub 442 101 + Store 438(storeTemp) 443 + 444: 89 Load 91(g_tTex1du1) + 445: 6(int) Load 435(coordTemp) + 446: 12(int) Load 438(storeTemp) + ImageWrite 444 445 446 + 448: 62(ptr) AccessChain 61 53 + 449: 6(int) Load 448 + Store 447(coordTemp) 449 + 451: 68 Load 70(g_tTex1df1) + 452: 6(int) Load 447(coordTemp) + 453: 18(float) ImageRead 451 452 + Store 450(storeTempPre) 453 + 455: 18(float) Load 450(storeTempPre) + Store 454(storeTempPost) 455 + 456: 18(float) Load 454(storeTempPost) + 457: 18(float) FAdd 456 382 + Store 454(storeTempPost) 457 + 458: 68 Load 70(g_tTex1df1) + 459: 6(int) Load 447(coordTemp) + 460: 18(float) Load 454(storeTempPost) + ImageWrite 458 459 460 + 462: 62(ptr) AccessChain 61 53 + 463: 6(int) Load 462 + Store 461(coordTemp) 463 + 465: 89 Load 91(g_tTex1du1) + 466: 6(int) Load 461(coordTemp) + 467: 12(int) ImageRead 465 466 + Store 464(storeTempPre) 467 + 469: 12(int) Load 464(storeTempPre) + Store 468(storeTempPost) 469 + 470: 12(int) Load 468(storeTempPost) + 471: 12(int) ISub 470 101 + Store 468(storeTempPost) 471 + 472: 89 Load 91(g_tTex1du1) + 473: 6(int) Load 461(coordTemp) + 474: 12(int) Load 468(storeTempPost) + ImageWrite 472 473 474 + 476: 62(ptr) AccessChain 61 53 + 477: 6(int) Load 476 + Store 475(coordTemp) 477 + 479: 81 Load 83(g_tTex1di1) + 480: 6(int) Load 475(coordTemp) + 481: 6(int) ImageRead 479 480 + Store 478(storeTempPre) 481 + 483: 6(int) Load 478(storeTempPre) + Store 482(storeTempPost) 483 + 484: 6(int) Load 482(storeTempPost) + 485: 6(int) IAdd 484 101 + Store 482(storeTempPost) 485 + 486: 81 Load 83(g_tTex1di1) + 487: 6(int) Load 475(coordTemp) + 488: 6(int) Load 482(storeTempPost) + ImageWrite 486 487 488 + 490: 62(ptr) AccessChain 61 53 + 491: 6(int) Load 490 + Store 489(coordTemp) 491 + 493: 68 Load 70(g_tTex1df1) + 494: 6(int) Load 489(coordTemp) + 495: 18(float) ImageRead 493 494 + Store 492(storeTempPre) 495 + 497: 18(float) Load 492(storeTempPre) + Store 496(storeTempPost) 497 + 498: 18(float) Load 496(storeTempPost) + 499: 18(float) FSub 498 382 + Store 496(storeTempPost) 499 + 500: 68 Load 70(g_tTex1df1) + 501: 6(int) Load 489(coordTemp) + 502: 18(float) Load 496(storeTempPost) + ImageWrite 500 501 502 + 504: 62(ptr) AccessChain 61 53 + 505: 6(int) Load 504 + Store 503(coordTemp) 505 + 507: 81 Load 83(g_tTex1di1) + 508: 6(int) Load 503(coordTemp) + 509: 6(int) ImageRead 507 508 + Store 506(storeTempPre) 509 + 511: 6(int) Load 506(storeTempPre) + Store 510(storeTempPost) 511 + 512: 6(int) Load 510(storeTempPost) + 513: 6(int) IAdd 512 101 + Store 510(storeTempPost) 513 + 514: 81 Load 83(g_tTex1di1) + 515: 6(int) Load 503(coordTemp) + 516: 6(int) Load 510(storeTempPost) + ImageWrite 514 515 516 + 518: 62(ptr) AccessChain 61 53 + 519: 6(int) Load 518 + Store 517(coordTemp) 519 + 521: 89 Load 91(g_tTex1du1) + 522: 6(int) Load 517(coordTemp) + 523: 12(int) ImageRead 521 522 + Store 520(storeTempPre) 523 + 525: 12(int) Load 520(storeTempPre) + Store 524(storeTempPost) 525 + 526: 12(int) Load 524(storeTempPost) + 527: 12(int) ISub 526 101 + Store 524(storeTempPost) 527 + 528: 89 Load 91(g_tTex1du1) + 529: 6(int) Load 517(coordTemp) + 530: 12(int) Load 524(storeTempPost) + ImageWrite 528 529 530 + 532: 97 Load 99(g_tTex2df1) + 535: 18(float) ImageRead 532 534 + Store 531(storeTemp) 535 + 536: 68 Load 70(g_tTex1df1) + 537: 18(float) Load 531(storeTemp) + ImageWrite 536 101 537 + 542: 541(ptr) AccessChain 539(psout) 53 + Store 542 540 + 543:40(PS_OUTPUT) Load 539(psout) + ReturnValue 543 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out index 807fa681eac..ae2f4c9611d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.swizzle.frag.out @@ -2,7 +2,7 @@ hlsl.rw.swizzle.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: SomeValue( (temp 3-component vector of float) +0:4 Function Definition: SomeValue( ( temp 3-component vector of float) 0:4 Function Parameters: 0:? Sequence 0:4 Branch: Return with expression @@ -10,24 +10,24 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:7 Function Definition: main( (temp 4-component vector of float) +0:7 Function Definition: @main( ( temp 4-component vector of float) 0:7 Function Parameters: 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 2-component vector of int) -0:8 'tc2' (temp 2-component vector of int) +0:8 move second child to first child ( temp 2-component vector of int) +0:8 'tc2' ( temp 2-component vector of int) 0:8 Constant: 0:8 0 (const int) 0:8 0 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'tc' (temp int) +0:9 move second child to first child ( temp int) +0:9 'tc' ( temp int) 0:9 Constant: 0:9 0 (const int) 0:12 Sequence -0:12 move second child to first child (temp 3-component vector of float) -0:12 vector swizzle (temp 3-component vector of float) -0:12 'storeTemp' (temp 3-component vector of float) +0:12 move second child to first child ( temp 3-component vector of float) +0:12 vector swizzle ( temp 3-component vector of float) +0:12 'storeTemp' ( temp 3-component vector of float) 0:12 Sequence 0:12 Constant: 0:12 2 (const int) @@ -39,15 +39,15 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:12 imageStore (temp void) -0:12 'rwtx' (layout(rgba32f ) uniform image2D) -0:12 'tc2' (temp 2-component vector of int) -0:12 'storeTemp' (temp 3-component vector of float) -0:12 'storeTemp' (temp 3-component vector of float) +0:12 imageStore ( temp void) +0:12 'rwtx' (layout( rgba32f) uniform image2D) +0:12 'tc2' ( temp 2-component vector of int) +0:12 'storeTemp' ( temp 3-component vector of float) +0:12 'storeTemp' ( temp 3-component vector of float) 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 vector swizzle (temp 3-component vector of float) -0:13 'storeTemp' (temp 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 vector swizzle ( temp 3-component vector of float) +0:13 'storeTemp' ( temp 3-component vector of float) 0:13 Sequence 0:13 Constant: 0:13 2 (const int) @@ -55,16 +55,16 @@ gl_FragCoord origin is upper left 0:13 1 (const int) 0:13 Constant: 0:13 0 (const int) -0:13 Function Call: SomeValue( (temp 3-component vector of float) -0:13 imageStore (temp void) -0:13 'rwtx' (layout(rgba32f ) uniform image2D) -0:13 'tc2' (temp 2-component vector of int) -0:13 'storeTemp' (temp 3-component vector of float) -0:13 'storeTemp' (temp 3-component vector of float) +0:13 Function Call: SomeValue( ( temp 3-component vector of float) +0:13 imageStore ( temp void) +0:13 'rwtx' (layout( rgba32f) uniform image2D) +0:13 'tc2' ( temp 2-component vector of int) +0:13 'storeTemp' ( temp 3-component vector of float) +0:13 'storeTemp' ( temp 3-component vector of float) 0:14 Sequence -0:14 move second child to first child (temp 3-component vector of float) -0:14 vector swizzle (temp 3-component vector of float) -0:14 'storeTemp' (temp 3-component vector of float) +0:14 move second child to first child ( temp 3-component vector of float) +0:14 vector swizzle ( temp 3-component vector of float) +0:14 'storeTemp' ( temp 3-component vector of float) 0:14 Sequence 0:14 Constant: 0:14 2 (const int) @@ -76,24 +76,27 @@ gl_FragCoord origin is upper left 0:14 2.000000 0:14 2.000000 0:14 2.000000 -0:14 imageStore (temp void) -0:14 'rwtx' (layout(rgba32f ) uniform image2D) -0:14 'tc2' (temp 2-component vector of int) -0:14 'storeTemp' (temp 3-component vector of float) -0:14 'storeTemp' (temp 3-component vector of float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Constant: -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 Branch: Return +0:14 imageStore ( temp void) +0:14 'rwtx' (layout( rgba32f) uniform image2D) +0:14 'tc2' ( temp 2-component vector of int) +0:14 'storeTemp' ( temp 3-component vector of float) +0:14 'storeTemp' ( temp 3-component vector of float) +0:27 Branch: Return with expression +0:27 Constant: +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'rwtx' (layout(rgba32f ) uniform image2D) -0:? 'buf' (layout(rgba32f ) uniform imageBuffer) +0:? 'rwtx' (layout( rgba32f) uniform image2D) +0:? 'buf' (layout( rgba32f) uniform imageBuffer) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -102,7 +105,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: SomeValue( (temp 3-component vector of float) +0:4 Function Definition: SomeValue( ( temp 3-component vector of float) 0:4 Function Parameters: 0:? Sequence 0:4 Branch: Return with expression @@ -110,24 +113,24 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:7 Function Definition: main( (temp 4-component vector of float) +0:7 Function Definition: @main( ( temp 4-component vector of float) 0:7 Function Parameters: 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 2-component vector of int) -0:8 'tc2' (temp 2-component vector of int) +0:8 move second child to first child ( temp 2-component vector of int) +0:8 'tc2' ( temp 2-component vector of int) 0:8 Constant: 0:8 0 (const int) 0:8 0 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'tc' (temp int) +0:9 move second child to first child ( temp int) +0:9 'tc' ( temp int) 0:9 Constant: 0:9 0 (const int) 0:12 Sequence -0:12 move second child to first child (temp 3-component vector of float) -0:12 vector swizzle (temp 3-component vector of float) -0:12 'storeTemp' (temp 3-component vector of float) +0:12 move second child to first child ( temp 3-component vector of float) +0:12 vector swizzle ( temp 3-component vector of float) +0:12 'storeTemp' ( temp 3-component vector of float) 0:12 Sequence 0:12 Constant: 0:12 2 (const int) @@ -139,15 +142,15 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:? 2.000000 0:? 3.000000 -0:12 imageStore (temp void) -0:12 'rwtx' (layout(rgba32f ) uniform image2D) -0:12 'tc2' (temp 2-component vector of int) -0:12 'storeTemp' (temp 3-component vector of float) -0:12 'storeTemp' (temp 3-component vector of float) +0:12 imageStore ( temp void) +0:12 'rwtx' (layout( rgba32f) uniform image2D) +0:12 'tc2' ( temp 2-component vector of int) +0:12 'storeTemp' ( temp 3-component vector of float) +0:12 'storeTemp' ( temp 3-component vector of float) 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 vector swizzle (temp 3-component vector of float) -0:13 'storeTemp' (temp 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 vector swizzle ( temp 3-component vector of float) +0:13 'storeTemp' ( temp 3-component vector of float) 0:13 Sequence 0:13 Constant: 0:13 2 (const int) @@ -155,16 +158,16 @@ gl_FragCoord origin is upper left 0:13 1 (const int) 0:13 Constant: 0:13 0 (const int) -0:13 Function Call: SomeValue( (temp 3-component vector of float) -0:13 imageStore (temp void) -0:13 'rwtx' (layout(rgba32f ) uniform image2D) -0:13 'tc2' (temp 2-component vector of int) -0:13 'storeTemp' (temp 3-component vector of float) -0:13 'storeTemp' (temp 3-component vector of float) +0:13 Function Call: SomeValue( ( temp 3-component vector of float) +0:13 imageStore ( temp void) +0:13 'rwtx' (layout( rgba32f) uniform image2D) +0:13 'tc2' ( temp 2-component vector of int) +0:13 'storeTemp' ( temp 3-component vector of float) +0:13 'storeTemp' ( temp 3-component vector of float) 0:14 Sequence -0:14 move second child to first child (temp 3-component vector of float) -0:14 vector swizzle (temp 3-component vector of float) -0:14 'storeTemp' (temp 3-component vector of float) +0:14 move second child to first child ( temp 3-component vector of float) +0:14 vector swizzle ( temp 3-component vector of float) +0:14 'storeTemp' ( temp 3-component vector of float) 0:14 Sequence 0:14 Constant: 0:14 2 (const int) @@ -176,111 +179,121 @@ gl_FragCoord origin is upper left 0:14 2.000000 0:14 2.000000 0:14 2.000000 -0:14 imageStore (temp void) -0:14 'rwtx' (layout(rgba32f ) uniform image2D) -0:14 'tc2' (temp 2-component vector of int) -0:14 'storeTemp' (temp 3-component vector of float) -0:14 'storeTemp' (temp 3-component vector of float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Constant: -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 0.000000 -0:27 Branch: Return +0:14 imageStore ( temp void) +0:14 'rwtx' (layout( rgba32f) uniform image2D) +0:14 'tc2' ( temp 2-component vector of int) +0:14 'storeTemp' ( temp 3-component vector of float) +0:14 'storeTemp' ( temp 3-component vector of float) +0:27 Branch: Return with expression +0:27 Constant: +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:27 0.000000 +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'rwtx' (layout(rgba32f ) uniform image2D) -0:? 'buf' (layout(rgba32f ) uniform imageBuffer) +0:? 'rwtx' (layout( rgba32f) uniform image2D) +0:? 'buf' (layout( rgba32f) uniform imageBuffer) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 58 +// Id's are bound by 63 Capability Shader Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 51 + EntryPoint Fragment 4 "main" 58 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "SomeValue(" - Name 20 "tc2" - Name 24 "tc" - Name 26 "storeTemp" - Name 31 "rwtx" - Name 35 "storeTemp" - Name 42 "storeTemp" - Name 51 "@entryPointOutput" - Name 57 "buf" - Decorate 31(rwtx) DescriptorSet 0 - Decorate 51(@entryPointOutput) Location 0 - Decorate 57(buf) DescriptorSet 0 + Name 13 "@main(" + Name 24 "tc2" + Name 28 "tc" + Name 30 "storeTemp" + Name 35 "rwtx" + Name 39 "storeTemp" + Name 46 "storeTemp" + Name 58 "@entryPointOutput" + Name 62 "buf" + Decorate 35(rwtx) DescriptorSet 0 + Decorate 58(@entryPointOutput) Location 0 + Decorate 62(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 3 8: TypeFunction 7(fvec3) - 11: 6(float) Constant 1065353216 - 12: 6(float) Constant 1073741824 - 13: 6(float) Constant 1077936128 - 14: 7(fvec3) ConstantComposite 11 12 13 - 17: TypeInt 32 1 - 18: TypeVector 17(int) 2 - 19: TypePointer Function 18(ivec2) - 21: 17(int) Constant 0 - 22: 18(ivec2) ConstantComposite 21 21 - 23: TypePointer Function 17(int) - 25: TypePointer Function 7(fvec3) - 29: TypeImage 6(float) 2D nonsampled format:Rgba32f - 30: TypePointer UniformConstant 29 - 31(rwtx): 30(ptr) Variable UniformConstant - 43: 7(fvec3) ConstantComposite 12 12 12 - 49: TypeVector 6(float) 4 - 50: TypePointer Output 49(fvec4) -51(@entryPointOutput): 50(ptr) Variable Output - 52: 6(float) Constant 0 - 53: 49(fvec4) ConstantComposite 52 52 52 52 - 55: TypeImage 6(float) Buffer nonsampled format:Rgba32f - 56: TypePointer UniformConstant 55 - 57(buf): 56(ptr) Variable UniformConstant + 11: TypeVector 6(float) 4 + 12: TypeFunction 11(fvec4) + 15: 6(float) Constant 1065353216 + 16: 6(float) Constant 1073741824 + 17: 6(float) Constant 1077936128 + 18: 7(fvec3) ConstantComposite 15 16 17 + 21: TypeInt 32 1 + 22: TypeVector 21(int) 2 + 23: TypePointer Function 22(ivec2) + 25: 21(int) Constant 0 + 26: 22(ivec2) ConstantComposite 25 25 + 27: TypePointer Function 21(int) + 29: TypePointer Function 7(fvec3) + 33: TypeImage 6(float) 2D nonsampled format:Rgba32f + 34: TypePointer UniformConstant 33 + 35(rwtx): 34(ptr) Variable UniformConstant + 47: 7(fvec3) ConstantComposite 16 16 16 + 53: 6(float) Constant 0 + 54: 11(fvec4) ConstantComposite 53 53 53 53 + 57: TypePointer Output 11(fvec4) +58(@entryPointOutput): 57(ptr) Variable Output + 60: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 61: TypePointer UniformConstant 60 + 62(buf): 61(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 20(tc2): 19(ptr) Variable Function - 24(tc): 23(ptr) Variable Function - 26(storeTemp): 25(ptr) Variable Function - 35(storeTemp): 25(ptr) Variable Function - 42(storeTemp): 25(ptr) Variable Function - Store 20(tc2) 22 - Store 24(tc) 21 - 27: 7(fvec3) Load 26(storeTemp) - 28: 7(fvec3) VectorShuffle 27 14 5 4 3 - Store 26(storeTemp) 28 - 32: 29 Load 31(rwtx) - 33: 18(ivec2) Load 20(tc2) - 34: 7(fvec3) Load 26(storeTemp) - ImageWrite 32 33 34 - 36: 7(fvec3) FunctionCall 9(SomeValue() - 37: 7(fvec3) Load 35(storeTemp) - 38: 7(fvec3) VectorShuffle 37 36 5 4 3 - Store 35(storeTemp) 38 - 39: 29 Load 31(rwtx) - 40: 18(ivec2) Load 20(tc2) - 41: 7(fvec3) Load 35(storeTemp) - ImageWrite 39 40 41 - 44: 7(fvec3) Load 42(storeTemp) - 45: 7(fvec3) VectorShuffle 44 43 5 4 3 - Store 42(storeTemp) 45 - 46: 29 Load 31(rwtx) - 47: 18(ivec2) Load 20(tc2) - 48: 7(fvec3) Load 42(storeTemp) - ImageWrite 46 47 48 - Store 51(@entryPointOutput) 53 + 59: 11(fvec4) FunctionCall 13(@main() + Store 58(@entryPointOutput) 59 Return FunctionEnd 9(SomeValue(): 7(fvec3) Function None 8 10: Label - ReturnValue 14 + ReturnValue 18 + FunctionEnd + 13(@main(): 11(fvec4) Function None 12 + 14: Label + 24(tc2): 23(ptr) Variable Function + 28(tc): 27(ptr) Variable Function + 30(storeTemp): 29(ptr) Variable Function + 39(storeTemp): 29(ptr) Variable Function + 46(storeTemp): 29(ptr) Variable Function + Store 24(tc2) 26 + Store 28(tc) 25 + 31: 7(fvec3) Load 30(storeTemp) + 32: 7(fvec3) VectorShuffle 31 18 5 4 3 + Store 30(storeTemp) 32 + 36: 33 Load 35(rwtx) + 37: 22(ivec2) Load 24(tc2) + 38: 7(fvec3) Load 30(storeTemp) + ImageWrite 36 37 38 + 40: 7(fvec3) FunctionCall 9(SomeValue() + 41: 7(fvec3) Load 39(storeTemp) + 42: 7(fvec3) VectorShuffle 41 40 5 4 3 + Store 39(storeTemp) 42 + 43: 33 Load 35(rwtx) + 44: 22(ivec2) Load 24(tc2) + 45: 7(fvec3) Load 39(storeTemp) + ImageWrite 43 44 45 + 48: 7(fvec3) Load 46(storeTemp) + 49: 7(fvec3) VectorShuffle 48 47 5 4 3 + Store 46(storeTemp) 49 + 50: 33 Load 35(rwtx) + 51: 22(ivec2) Load 24(tc2) + 52: 7(fvec3) Load 46(storeTemp) + ImageWrite 50 51 52 + ReturnValue 54 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index 7ca7e3e4bc4..c34ce902e0c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -2,816 +2,816 @@ hlsl.rw.vec2.bracket.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(vi2; (temp 2-component vector of int) +0:42 Function Definition: Fn1(vi2; ( temp 2-component vector of int) 0:42 Function Parameters: -0:42 'x' (in 2-component vector of int) +0:42 'x' ( in 2-component vector of int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in 2-component vector of int) -0:43 Function Definition: Fn1(vu2; (temp 2-component vector of uint) +0:42 'x' ( in 2-component vector of int) +0:43 Function Definition: Fn1(vu2; ( temp 2-component vector of uint) 0:43 Function Parameters: -0:43 'x' (in 2-component vector of uint) +0:43 'x' ( in 2-component vector of uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in 2-component vector of uint) -0:44 Function Definition: Fn1(vf2; (temp 2-component vector of float) +0:43 'x' ( in 2-component vector of uint) +0:44 Function Definition: Fn1(vf2; ( temp 2-component vector of float) 0:44 Function Parameters: -0:44 'x' (in 2-component vector of float) +0:44 'x' ( in 2-component vector of float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in 2-component vector of float) -0:46 Function Definition: Fn2(vi2; (temp void) +0:44 'x' ( in 2-component vector of float) +0:46 Function Definition: Fn2(vi2; ( temp void) 0:46 Function Parameters: -0:46 'x' (out 2-component vector of int) +0:46 'x' ( out 2-component vector of int) 0:? Sequence -0:46 move second child to first child (temp 2-component vector of int) -0:46 'x' (out 2-component vector of int) +0:46 move second child to first child ( temp 2-component vector of int) +0:46 'x' ( out 2-component vector of int) 0:? Constant: 0:? 0 (const int) 0:? 0 (const int) -0:47 Function Definition: Fn2(vu2; (temp void) +0:47 Function Definition: Fn2(vu2; ( temp void) 0:47 Function Parameters: -0:47 'x' (out 2-component vector of uint) +0:47 'x' ( out 2-component vector of uint) 0:? Sequence -0:47 move second child to first child (temp 2-component vector of uint) -0:47 'x' (out 2-component vector of uint) +0:47 move second child to first child ( temp 2-component vector of uint) +0:47 'x' ( out 2-component vector of uint) 0:? Constant: 0:? 0 (const uint) 0:? 0 (const uint) -0:48 Function Definition: Fn2(vf2; (temp void) +0:48 Function Definition: Fn2(vf2; ( temp void) 0:48 Function Parameters: -0:48 'x' (out 2-component vector of float) +0:48 'x' ( out 2-component vector of float) 0:? Sequence -0:48 move second child to first child (temp 2-component vector of float) -0:48 'x' (out 2-component vector of float) +0:48 move second child to first child ( temp 2-component vector of float) +0:48 'x' ( out 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:50 Function Definition: SomeValue( (temp 2-component vector of float) +0:50 Function Definition: SomeValue( ( temp 2-component vector of float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp 2-component vector of float) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:50 Convert int to float ( temp 2-component vector of float) +0:50 c2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:50 Constant: 0:50 1 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp 2-component vector of float) -0:57 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:57 imageLoad ( temp 2-component vector of float) +0:57 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 2-component vector of float) -0:59 'r00' (temp 2-component vector of float) -0:59 imageLoad (temp 2-component vector of float) -0:59 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:59 move second child to first child ( temp 2-component vector of float) +0:59 'r00' ( temp 2-component vector of float) +0:59 imageLoad ( temp 2-component vector of float) +0:59 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 2-component vector of int) -0:60 'r01' (temp 2-component vector of int) -0:60 imageLoad (temp 2-component vector of int) -0:60 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:60 move second child to first child ( temp 2-component vector of int) +0:60 'r01' ( temp 2-component vector of int) +0:60 imageLoad ( temp 2-component vector of int) +0:60 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 2-component vector of uint) -0:61 'r02' (temp 2-component vector of uint) -0:61 imageLoad (temp 2-component vector of uint) -0:61 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:61 move second child to first child ( temp 2-component vector of uint) +0:61 'r02' ( temp 2-component vector of uint) +0:61 imageLoad ( temp 2-component vector of uint) +0:61 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 2-component vector of float) -0:64 'r10' (temp 2-component vector of float) -0:64 imageLoad (temp 2-component vector of float) -0:64 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:64 move second child to first child ( temp 2-component vector of float) +0:64 'r10' ( temp 2-component vector of float) +0:64 imageLoad ( temp 2-component vector of float) +0:64 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 2-component vector of int) -0:65 'r11' (temp 2-component vector of int) -0:65 imageLoad (temp 2-component vector of int) -0:65 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:65 move second child to first child ( temp 2-component vector of int) +0:65 'r11' ( temp 2-component vector of int) +0:65 imageLoad ( temp 2-component vector of int) +0:65 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 2-component vector of uint) -0:66 'r12' (temp 2-component vector of uint) -0:66 imageLoad (temp 2-component vector of uint) -0:66 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:66 move second child to first child ( temp 2-component vector of uint) +0:66 'r12' ( temp 2-component vector of uint) +0:66 imageLoad ( temp 2-component vector of uint) +0:66 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 2-component vector of float) -0:69 'r20' (temp 2-component vector of float) -0:69 imageLoad (temp 2-component vector of float) -0:69 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:69 move second child to first child ( temp 2-component vector of float) +0:69 'r20' ( temp 2-component vector of float) +0:69 imageLoad ( temp 2-component vector of float) +0:69 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 2-component vector of int) -0:70 'r21' (temp 2-component vector of int) -0:70 imageLoad (temp 2-component vector of int) -0:70 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:70 move second child to first child ( temp 2-component vector of int) +0:70 'r21' ( temp 2-component vector of int) +0:70 imageLoad ( temp 2-component vector of int) +0:70 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 2-component vector of uint) -0:71 'r22' (temp 2-component vector of uint) -0:71 imageLoad (temp 2-component vector of uint) -0:71 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:71 move second child to first child ( temp 2-component vector of uint) +0:71 'r22' ( temp 2-component vector of uint) +0:71 imageLoad ( temp 2-component vector of uint) +0:71 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of float) -0:73 'lf2' (temp 2-component vector of float) -0:73 uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:73 move second child to first child ( temp 2-component vector of float) +0:73 'lf2' ( temp 2-component vector of float) +0:73 uf2: direct index for structure ( uniform 2-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 2-component vector of float) -0:77 'storeTemp' (temp 2-component vector of float) -0:77 Function Call: SomeValue( (temp 2-component vector of float) -0:77 imageStore (temp void) -0:77 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:77 move second child to first child ( temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) +0:77 Function Call: SomeValue( ( temp 2-component vector of float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp 2-component vector of float) -0:77 'storeTemp' (temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf2' (temp 2-component vector of float) -0:78 'lf2' (temp 2-component vector of float) +0:78 'lf2' ( temp 2-component vector of float) +0:78 'lf2' ( temp 2-component vector of float) 0:79 Sequence -0:79 move second child to first child (temp 2-component vector of int) -0:79 'storeTemp' (temp 2-component vector of int) +0:79 move second child to first child ( temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 2 (const int) 0:? 2 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp 2-component vector of int) -0:79 'storeTemp' (temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) 0:80 Sequence -0:80 move second child to first child (temp 2-component vector of uint) -0:80 'storeTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 3 (const uint) 0:? 2 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp 2-component vector of uint) -0:80 'storeTemp' (temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) 0:83 Sequence -0:83 move second child to first child (temp 2-component vector of float) -0:83 'val1' (temp 2-component vector of float) +0:83 move second child to first child ( temp 2-component vector of float) +0:83 'val1' ( temp 2-component vector of float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) -0:83 imageLoad (temp 2-component vector of float) -0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 vector scale second child into first child (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) +0:83 move second child to first child ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) +0:83 imageLoad ( temp 2-component vector of float) +0:83 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 vector scale second child into first child ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) -0:84 imageLoad (temp 2-component vector of float) -0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) +0:84 move second child to first child ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) +0:84 imageLoad ( temp 2-component vector of float) +0:84 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) -0:85 imageLoad (temp 2-component vector of float) -0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) +0:85 move second child to first child ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) +0:85 imageLoad ( temp 2-component vector of float) +0:85 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) -0:87 imageLoad (temp 2-component vector of int) -0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) +0:87 move second child to first child ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) +0:87 imageLoad ( temp 2-component vector of int) +0:87 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) -0:88 imageLoad (temp 2-component vector of int) -0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) +0:88 move second child to first child ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) +0:88 imageLoad ( temp 2-component vector of int) +0:88 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) -0:89 imageLoad (temp 2-component vector of int) -0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) +0:89 move second child to first child ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) +0:89 imageLoad ( temp 2-component vector of int) +0:89 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) -0:90 imageLoad (temp 2-component vector of int) -0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) +0:90 move second child to first child ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) +0:90 imageLoad ( temp 2-component vector of int) +0:90 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) -0:91 imageLoad (temp 2-component vector of int) -0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) +0:91 move second child to first child ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) +0:91 imageLoad ( temp 2-component vector of int) +0:91 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) -0:92 imageLoad (temp 2-component vector of int) -0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) +0:92 move second child to first child ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) +0:92 imageLoad ( temp 2-component vector of int) +0:92 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) 0:95 Sequence -0:95 move second child to first child (temp 2-component vector of float) -0:95 'storeTemp' (temp 2-component vector of float) -0:95 Function Call: SomeValue( (temp 2-component vector of float) -0:95 imageStore (temp void) -0:95 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:95 move second child to first child ( temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) +0:95 Function Call: SomeValue( ( temp 2-component vector of float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp 2-component vector of float) -0:95 'storeTemp' (temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf2' (temp 2-component vector of float) -0:96 'lf2' (temp 2-component vector of float) +0:96 'lf2' ( temp 2-component vector of float) +0:96 'lf2' ( temp 2-component vector of float) 0:97 Sequence -0:97 move second child to first child (temp 2-component vector of int) -0:97 'storeTemp' (temp 2-component vector of int) +0:97 move second child to first child ( temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 5 (const int) 0:? 2 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp 2-component vector of int) -0:97 'storeTemp' (temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) 0:98 Sequence -0:98 move second child to first child (temp 2-component vector of uint) -0:98 'storeTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 6 (const uint) 0:? 2 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp 2-component vector of uint) -0:98 'storeTemp' (temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) 0:101 Sequence -0:101 move second child to first child (temp 2-component vector of float) -0:101 'storeTemp' (temp 2-component vector of float) -0:101 Function Call: SomeValue( (temp 2-component vector of float) -0:101 imageStore (temp void) -0:101 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:101 move second child to first child ( temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) +0:101 Function Call: SomeValue( ( temp 2-component vector of float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp 2-component vector of float) -0:101 'storeTemp' (temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf2' (temp 2-component vector of float) -0:102 'lf2' (temp 2-component vector of float) +0:102 'lf2' ( temp 2-component vector of float) +0:102 'lf2' ( temp 2-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 2-component vector of int) -0:103 'storeTemp' (temp 2-component vector of int) +0:103 move second child to first child ( temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 8 (const int) 0:? 6 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp 2-component vector of int) -0:103 'storeTemp' (temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) 0:104 Sequence -0:104 move second child to first child (temp 2-component vector of uint) -0:104 'storeTemp' (temp 2-component vector of uint) +0:104 move second child to first child ( temp 2-component vector of uint) +0:104 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 9 (const uint) 0:? 2 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp 2-component vector of uint) -0:104 'storeTemp' (temp 2-component vector of uint) -0:107 Function Call: Fn1(vf2; (temp 2-component vector of float) -0:107 imageLoad (temp 2-component vector of float) -0:107 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:104 'storeTemp' ( temp 2-component vector of uint) +0:104 'storeTemp' ( temp 2-component vector of uint) +0:107 Function Call: Fn1(vf2; ( temp 2-component vector of float) +0:107 imageLoad ( temp 2-component vector of float) +0:107 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(vi2; (temp 2-component vector of int) -0:108 imageLoad (temp 2-component vector of int) -0:108 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:108 Function Call: Fn1(vi2; ( temp 2-component vector of int) +0:108 imageLoad ( temp 2-component vector of int) +0:108 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(vu2; (temp 2-component vector of uint) -0:109 imageLoad (temp 2-component vector of uint) -0:109 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:109 Function Call: Fn1(vu2; ( temp 2-component vector of uint) +0:109 imageLoad ( temp 2-component vector of uint) +0:109 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(vf2; (temp void) -0:111 'tempArg' (temp 2-component vector of float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(vf2; ( temp void) +0:111 'tempArg' ( temp 2-component vector of float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp 2-component vector of float) -0:111 'tempArg' (temp 2-component vector of float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(vi2; (temp void) -0:112 'tempArg' (temp 2-component vector of int) +0:111 'tempArg' ( temp 2-component vector of float) +0:111 'tempArg' ( temp 2-component vector of float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(vi2; ( temp void) +0:112 'tempArg' ( temp 2-component vector of int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp 2-component vector of int) -0:112 'tempArg' (temp 2-component vector of int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(vu2; (temp void) -0:113 'tempArg' (temp 2-component vector of uint) +0:112 'tempArg' ( temp 2-component vector of int) +0:112 'tempArg' ( temp 2-component vector of int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(vu2; ( temp void) +0:113 'tempArg' ( temp 2-component vector of uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp 2-component vector of uint) -0:113 'tempArg' (temp 2-component vector of uint) +0:113 'tempArg' ( temp 2-component vector of uint) +0:113 'tempArg' ( temp 2-component vector of uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 imageLoad (temp 2-component vector of float) -0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 imageStore (temp void) -0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) +0:117 move second child to first child ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 imageLoad ( temp 2-component vector of float) +0:117 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 imageLoad (temp 2-component vector of int) -0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 imageStore (temp void) -0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) +0:118 move second child to first child ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 imageLoad ( temp 2-component vector of int) +0:118 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 imageLoad (temp 2-component vector of uint) -0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) +0:119 move second child to first child ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 imageLoad ( temp 2-component vector of uint) +0:119 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 imageLoad (temp 2-component vector of float) -0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 imageStore (temp void) -0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) +0:121 move second child to first child ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 imageLoad ( temp 2-component vector of float) +0:121 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 imageLoad (temp 2-component vector of int) -0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 imageStore (temp void) -0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) +0:122 move second child to first child ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 imageLoad ( temp 2-component vector of int) +0:122 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 imageLoad (temp 2-component vector of uint) -0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) +0:123 move second child to first child ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 imageLoad ( temp 2-component vector of uint) +0:123 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) -0:126 imageLoad (temp 2-component vector of float) -0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp 2-component vector of float) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) -0:126 Post-Increment (temp 2-component vector of float) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 imageStore (temp void) -0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) +0:126 move second child to first child ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) +0:126 imageLoad ( temp 2-component vector of float) +0:126 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp 2-component vector of float) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) +0:126 Post-Increment ( temp 2-component vector of float) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) -0:127 imageLoad (temp 2-component vector of uint) -0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp 2-component vector of uint) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) -0:127 Post-Decrement (temp 2-component vector of uint) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) +0:127 move second child to first child ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) +0:127 imageLoad ( temp 2-component vector of uint) +0:127 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp 2-component vector of uint) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) +0:127 Post-Decrement ( temp 2-component vector of uint) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) -0:128 imageLoad (temp 2-component vector of int) -0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp 2-component vector of int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) -0:128 Post-Increment (temp 2-component vector of int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 imageStore (temp void) -0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) +0:128 move second child to first child ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) +0:128 imageLoad ( temp 2-component vector of int) +0:128 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp 2-component vector of int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) +0:128 Post-Increment ( temp 2-component vector of int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) -0:130 imageLoad (temp 2-component vector of float) -0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp 2-component vector of float) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) -0:130 Post-Decrement (temp 2-component vector of float) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 imageStore (temp void) -0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) +0:130 imageLoad ( temp 2-component vector of float) +0:130 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) +0:130 Post-Decrement ( temp 2-component vector of float) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) -0:131 imageLoad (temp 2-component vector of int) -0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp 2-component vector of int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) -0:131 Post-Increment (temp 2-component vector of int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 imageStore (temp void) -0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) +0:131 move second child to first child ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) +0:131 imageLoad ( temp 2-component vector of int) +0:131 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp 2-component vector of int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) +0:131 Post-Increment ( temp 2-component vector of int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) -0:132 imageLoad (temp 2-component vector of uint) -0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp 2-component vector of uint) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) -0:132 Post-Decrement (temp 2-component vector of uint) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) +0:132 move second child to first child ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) +0:132 imageLoad ( temp 2-component vector of uint) +0:132 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp 2-component vector of uint) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) +0:132 Post-Decrement ( temp 2-component vector of uint) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) 0:135 Sequence -0:135 move second child to first child (temp 2-component vector of float) -0:135 'storeTemp' (temp 2-component vector of float) -0:? imageLoad (temp 2-component vector of float) -0:135 'g_tTex2df2' (layout(rg32f ) uniform image2D) +0:135 move second child to first child ( temp 2-component vector of float) +0:135 'storeTemp' ( temp 2-component vector of float) +0:? imageLoad ( temp 2-component vector of float) +0:135 'g_tTex2df2' (layout( rg32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df2' (layout(rg32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df2' (layout( rg32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp 2-component vector of float) -0:135 'storeTemp' (temp 2-component vector of float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp 2-component vector of float) +0:135 'storeTemp' ( temp 2-component vector of float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -819,34 +819,37 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:? 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:? 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:? 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:? 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:? 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:? 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:? 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:? 'g_tTex1df2a' (layout(rg32f ) uniform image1DArray) -0:? 'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray) -0:? 'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray) -0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray) -0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) -0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:? 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:? 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:? 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:? 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:? 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:? 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:? 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:? 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:? 'g_tTex1df2a' (layout( rg32f) uniform image1DArray) +0:? 'g_tTex1di2a' (layout( rg32i) uniform iimage1DArray) +0:? 'g_tTex1du2a' (layout( rg32ui) uniform uimage1DArray) +0:? 'g_tTex2df2a' (layout( rg32f) uniform image2DArray) +0:? 'g_tTex2di2a' (layout( rg32i) uniform iimage2DArray) +0:? 'g_tTex2du2a' (layout( rg32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -855,816 +858,816 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:42 Function Definition: Fn1(vi2; (temp 2-component vector of int) +0:42 Function Definition: Fn1(vi2; ( temp 2-component vector of int) 0:42 Function Parameters: -0:42 'x' (in 2-component vector of int) +0:42 'x' ( in 2-component vector of int) 0:? Sequence 0:42 Branch: Return with expression -0:42 'x' (in 2-component vector of int) -0:43 Function Definition: Fn1(vu2; (temp 2-component vector of uint) +0:42 'x' ( in 2-component vector of int) +0:43 Function Definition: Fn1(vu2; ( temp 2-component vector of uint) 0:43 Function Parameters: -0:43 'x' (in 2-component vector of uint) +0:43 'x' ( in 2-component vector of uint) 0:? Sequence 0:43 Branch: Return with expression -0:43 'x' (in 2-component vector of uint) -0:44 Function Definition: Fn1(vf2; (temp 2-component vector of float) +0:43 'x' ( in 2-component vector of uint) +0:44 Function Definition: Fn1(vf2; ( temp 2-component vector of float) 0:44 Function Parameters: -0:44 'x' (in 2-component vector of float) +0:44 'x' ( in 2-component vector of float) 0:? Sequence 0:44 Branch: Return with expression -0:44 'x' (in 2-component vector of float) -0:46 Function Definition: Fn2(vi2; (temp void) +0:44 'x' ( in 2-component vector of float) +0:46 Function Definition: Fn2(vi2; ( temp void) 0:46 Function Parameters: -0:46 'x' (out 2-component vector of int) +0:46 'x' ( out 2-component vector of int) 0:? Sequence -0:46 move second child to first child (temp 2-component vector of int) -0:46 'x' (out 2-component vector of int) +0:46 move second child to first child ( temp 2-component vector of int) +0:46 'x' ( out 2-component vector of int) 0:? Constant: 0:? 0 (const int) 0:? 0 (const int) -0:47 Function Definition: Fn2(vu2; (temp void) +0:47 Function Definition: Fn2(vu2; ( temp void) 0:47 Function Parameters: -0:47 'x' (out 2-component vector of uint) +0:47 'x' ( out 2-component vector of uint) 0:? Sequence -0:47 move second child to first child (temp 2-component vector of uint) -0:47 'x' (out 2-component vector of uint) +0:47 move second child to first child ( temp 2-component vector of uint) +0:47 'x' ( out 2-component vector of uint) 0:? Constant: 0:? 0 (const uint) 0:? 0 (const uint) -0:48 Function Definition: Fn2(vf2; (temp void) +0:48 Function Definition: Fn2(vf2; ( temp void) 0:48 Function Parameters: -0:48 'x' (out 2-component vector of float) +0:48 'x' ( out 2-component vector of float) 0:? Sequence -0:48 move second child to first child (temp 2-component vector of float) -0:48 'x' (out 2-component vector of float) +0:48 move second child to first child ( temp 2-component vector of float) +0:48 'x' ( out 2-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:50 Function Definition: SomeValue( (temp 2-component vector of float) +0:50 Function Definition: SomeValue( ( temp 2-component vector of float) 0:50 Function Parameters: 0:? Sequence 0:50 Branch: Return with expression -0:50 Convert int to float (temp 2-component vector of float) -0:50 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:50 Convert int to float ( temp 2-component vector of float) +0:50 c2: direct index for structure ( uniform 2-component vector of int) +0:50 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:50 Constant: 0:50 1 (const uint) -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:53 Function Parameters: 0:? Sequence -0:57 imageLoad (temp 2-component vector of float) -0:57 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:57 c1: direct index for structure (layout(offset=0 ) uniform int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:57 imageLoad ( temp 2-component vector of float) +0:57 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:57 c1: direct index for structure ( uniform int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:57 Constant: 0:57 0 (const uint) 0:59 Sequence -0:59 move second child to first child (temp 2-component vector of float) -0:59 'r00' (temp 2-component vector of float) -0:59 imageLoad (temp 2-component vector of float) -0:59 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:59 c1: direct index for structure (layout(offset=0 ) uniform int) -0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:59 move second child to first child ( temp 2-component vector of float) +0:59 'r00' ( temp 2-component vector of float) +0:59 imageLoad ( temp 2-component vector of float) +0:59 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:59 c1: direct index for structure ( uniform int) +0:59 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:59 Constant: 0:59 0 (const uint) 0:60 Sequence -0:60 move second child to first child (temp 2-component vector of int) -0:60 'r01' (temp 2-component vector of int) -0:60 imageLoad (temp 2-component vector of int) -0:60 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:60 c1: direct index for structure (layout(offset=0 ) uniform int) -0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:60 move second child to first child ( temp 2-component vector of int) +0:60 'r01' ( temp 2-component vector of int) +0:60 imageLoad ( temp 2-component vector of int) +0:60 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:60 c1: direct index for structure ( uniform int) +0:60 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:60 Constant: 0:60 0 (const uint) 0:61 Sequence -0:61 move second child to first child (temp 2-component vector of uint) -0:61 'r02' (temp 2-component vector of uint) -0:61 imageLoad (temp 2-component vector of uint) -0:61 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:61 c1: direct index for structure (layout(offset=0 ) uniform int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:61 move second child to first child ( temp 2-component vector of uint) +0:61 'r02' ( temp 2-component vector of uint) +0:61 imageLoad ( temp 2-component vector of uint) +0:61 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:61 c1: direct index for structure ( uniform int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:61 Constant: 0:61 0 (const uint) 0:64 Sequence -0:64 move second child to first child (temp 2-component vector of float) -0:64 'r10' (temp 2-component vector of float) -0:64 imageLoad (temp 2-component vector of float) -0:64 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:64 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:64 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:64 move second child to first child ( temp 2-component vector of float) +0:64 'r10' ( temp 2-component vector of float) +0:64 imageLoad ( temp 2-component vector of float) +0:64 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:64 c2: direct index for structure ( uniform 2-component vector of int) +0:64 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:64 Constant: 0:64 1 (const uint) 0:65 Sequence -0:65 move second child to first child (temp 2-component vector of int) -0:65 'r11' (temp 2-component vector of int) -0:65 imageLoad (temp 2-component vector of int) -0:65 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:65 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:65 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:65 move second child to first child ( temp 2-component vector of int) +0:65 'r11' ( temp 2-component vector of int) +0:65 imageLoad ( temp 2-component vector of int) +0:65 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:65 c2: direct index for structure ( uniform 2-component vector of int) +0:65 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:65 Constant: 0:65 1 (const uint) 0:66 Sequence -0:66 move second child to first child (temp 2-component vector of uint) -0:66 'r12' (temp 2-component vector of uint) -0:66 imageLoad (temp 2-component vector of uint) -0:66 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:66 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:66 move second child to first child ( temp 2-component vector of uint) +0:66 'r12' ( temp 2-component vector of uint) +0:66 imageLoad ( temp 2-component vector of uint) +0:66 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:66 c2: direct index for structure ( uniform 2-component vector of int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:66 Constant: 0:66 1 (const uint) 0:69 Sequence -0:69 move second child to first child (temp 2-component vector of float) -0:69 'r20' (temp 2-component vector of float) -0:69 imageLoad (temp 2-component vector of float) -0:69 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:69 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:69 move second child to first child ( temp 2-component vector of float) +0:69 'r20' ( temp 2-component vector of float) +0:69 imageLoad ( temp 2-component vector of float) +0:69 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:69 c3: direct index for structure ( uniform 3-component vector of int) +0:69 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:69 Constant: 0:69 2 (const uint) 0:70 Sequence -0:70 move second child to first child (temp 2-component vector of int) -0:70 'r21' (temp 2-component vector of int) -0:70 imageLoad (temp 2-component vector of int) -0:70 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:70 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:70 move second child to first child ( temp 2-component vector of int) +0:70 'r21' ( temp 2-component vector of int) +0:70 imageLoad ( temp 2-component vector of int) +0:70 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:70 c3: direct index for structure ( uniform 3-component vector of int) +0:70 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:70 Constant: 0:70 2 (const uint) 0:71 Sequence -0:71 move second child to first child (temp 2-component vector of uint) -0:71 'r22' (temp 2-component vector of uint) -0:71 imageLoad (temp 2-component vector of uint) -0:71 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:71 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:71 move second child to first child ( temp 2-component vector of uint) +0:71 'r22' ( temp 2-component vector of uint) +0:71 imageLoad ( temp 2-component vector of uint) +0:71 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:71 c3: direct index for structure ( uniform 3-component vector of int) +0:71 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:71 Constant: 0:71 2 (const uint) 0:73 Sequence -0:73 move second child to first child (temp 2-component vector of float) -0:73 'lf2' (temp 2-component vector of float) -0:73 uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float) -0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:73 move second child to first child ( temp 2-component vector of float) +0:73 'lf2' ( temp 2-component vector of float) +0:73 uf2: direct index for structure ( uniform 2-component vector of float) +0:73 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:73 Constant: 0:73 8 (const uint) 0:77 Sequence -0:77 move second child to first child (temp 2-component vector of float) -0:77 'storeTemp' (temp 2-component vector of float) -0:77 Function Call: SomeValue( (temp 2-component vector of float) -0:77 imageStore (temp void) -0:77 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:77 c1: direct index for structure (layout(offset=0 ) uniform int) -0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:77 move second child to first child ( temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) +0:77 Function Call: SomeValue( ( temp 2-component vector of float) +0:77 imageStore ( temp void) +0:77 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:77 c1: direct index for structure ( uniform int) +0:77 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:77 Constant: 0:77 0 (const uint) -0:77 'storeTemp' (temp 2-component vector of float) -0:77 'storeTemp' (temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) +0:77 'storeTemp' ( temp 2-component vector of float) 0:78 Sequence -0:78 imageStore (temp void) -0:78 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:78 c1: direct index for structure (layout(offset=0 ) uniform int) -0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:78 imageStore ( temp void) +0:78 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:78 c1: direct index for structure ( uniform int) +0:78 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:78 Constant: 0:78 0 (const uint) -0:78 'lf2' (temp 2-component vector of float) -0:78 'lf2' (temp 2-component vector of float) +0:78 'lf2' ( temp 2-component vector of float) +0:78 'lf2' ( temp 2-component vector of float) 0:79 Sequence -0:79 move second child to first child (temp 2-component vector of int) -0:79 'storeTemp' (temp 2-component vector of int) +0:79 move second child to first child ( temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 2 (const int) 0:? 2 (const int) -0:79 imageStore (temp void) -0:79 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:79 c1: direct index for structure (layout(offset=0 ) uniform int) -0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:79 imageStore ( temp void) +0:79 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:79 c1: direct index for structure ( uniform int) +0:79 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:79 Constant: 0:79 0 (const uint) -0:79 'storeTemp' (temp 2-component vector of int) -0:79 'storeTemp' (temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) +0:79 'storeTemp' ( temp 2-component vector of int) 0:80 Sequence -0:80 move second child to first child (temp 2-component vector of uint) -0:80 'storeTemp' (temp 2-component vector of uint) +0:80 move second child to first child ( temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 3 (const uint) 0:? 2 (const uint) -0:80 imageStore (temp void) -0:80 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:80 c1: direct index for structure (layout(offset=0 ) uniform int) -0:80 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:80 imageStore ( temp void) +0:80 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:80 c1: direct index for structure ( uniform int) +0:80 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:80 Constant: 0:80 0 (const uint) -0:80 'storeTemp' (temp 2-component vector of uint) -0:80 'storeTemp' (temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) +0:80 'storeTemp' ( temp 2-component vector of uint) 0:83 Sequence -0:83 move second child to first child (temp 2-component vector of float) -0:83 'val1' (temp 2-component vector of float) +0:83 move second child to first child ( temp 2-component vector of float) +0:83 'val1' ( temp 2-component vector of float) 0:83 Sequence -0:83 move second child to first child (temp int) -0:83 'coordTemp' (temp int) -0:83 c1: direct index for structure (layout(offset=0 ) uniform int) -0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:83 move second child to first child ( temp int) +0:83 'coordTemp' ( temp int) +0:83 c1: direct index for structure ( uniform int) +0:83 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:83 Constant: 0:83 0 (const uint) -0:83 move second child to first child (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) -0:83 imageLoad (temp 2-component vector of float) -0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 vector scale second child into first child (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) +0:83 move second child to first child ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) +0:83 imageLoad ( temp 2-component vector of float) +0:83 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 vector scale second child into first child ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) 0:83 Constant: 0:83 2.000000 -0:83 imageStore (temp void) -0:83 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:83 'coordTemp' (temp int) -0:83 'storeTemp' (temp 2-component vector of float) -0:83 'storeTemp' (temp 2-component vector of float) +0:83 imageStore ( temp void) +0:83 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:83 'coordTemp' ( temp int) +0:83 'storeTemp' ( temp 2-component vector of float) +0:83 'storeTemp' ( temp 2-component vector of float) 0:84 Sequence -0:84 move second child to first child (temp int) -0:84 'coordTemp' (temp int) -0:84 c1: direct index for structure (layout(offset=0 ) uniform int) -0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:84 move second child to first child ( temp int) +0:84 'coordTemp' ( temp int) +0:84 c1: direct index for structure ( uniform int) +0:84 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:84 Constant: 0:84 0 (const uint) -0:84 move second child to first child (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) -0:84 imageLoad (temp 2-component vector of float) -0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 subtract second child into first child (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) +0:84 move second child to first child ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) +0:84 imageLoad ( temp 2-component vector of float) +0:84 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 subtract second child into first child ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) 0:84 Constant: 0:84 3.000000 -0:84 imageStore (temp void) -0:84 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:84 'coordTemp' (temp int) -0:84 'storeTemp' (temp 2-component vector of float) -0:84 'storeTemp' (temp 2-component vector of float) +0:84 imageStore ( temp void) +0:84 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:84 'coordTemp' ( temp int) +0:84 'storeTemp' ( temp 2-component vector of float) +0:84 'storeTemp' ( temp 2-component vector of float) 0:85 Sequence -0:85 move second child to first child (temp int) -0:85 'coordTemp' (temp int) -0:85 c1: direct index for structure (layout(offset=0 ) uniform int) -0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:85 move second child to first child ( temp int) +0:85 'coordTemp' ( temp int) +0:85 c1: direct index for structure ( uniform int) +0:85 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:85 Constant: 0:85 0 (const uint) -0:85 move second child to first child (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) -0:85 imageLoad (temp 2-component vector of float) -0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 add second child into first child (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) +0:85 move second child to first child ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) +0:85 imageLoad ( temp 2-component vector of float) +0:85 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 add second child into first child ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) 0:85 Constant: 0:85 4.000000 -0:85 imageStore (temp void) -0:85 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:85 'coordTemp' (temp int) -0:85 'storeTemp' (temp 2-component vector of float) -0:85 'storeTemp' (temp 2-component vector of float) +0:85 imageStore ( temp void) +0:85 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:85 'coordTemp' ( temp int) +0:85 'storeTemp' ( temp 2-component vector of float) +0:85 'storeTemp' ( temp 2-component vector of float) 0:87 Sequence -0:87 move second child to first child (temp int) -0:87 'coordTemp' (temp int) -0:87 c1: direct index for structure (layout(offset=0 ) uniform int) -0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:87 move second child to first child ( temp int) +0:87 'coordTemp' ( temp int) +0:87 c1: direct index for structure ( uniform int) +0:87 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:87 Constant: 0:87 0 (const uint) -0:87 move second child to first child (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) -0:87 imageLoad (temp 2-component vector of int) -0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 divide second child into first child (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) +0:87 move second child to first child ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) +0:87 imageLoad ( temp 2-component vector of int) +0:87 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 divide second child into first child ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) 0:87 Constant: 0:87 2 (const int) -0:87 imageStore (temp void) -0:87 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:87 'coordTemp' (temp int) -0:87 'storeTemp' (temp 2-component vector of int) -0:87 'storeTemp' (temp 2-component vector of int) +0:87 imageStore ( temp void) +0:87 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:87 'coordTemp' ( temp int) +0:87 'storeTemp' ( temp 2-component vector of int) +0:87 'storeTemp' ( temp 2-component vector of int) 0:88 Sequence -0:88 move second child to first child (temp int) -0:88 'coordTemp' (temp int) -0:88 c1: direct index for structure (layout(offset=0 ) uniform int) -0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:88 move second child to first child ( temp int) +0:88 'coordTemp' ( temp int) +0:88 c1: direct index for structure ( uniform int) +0:88 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:88 Constant: 0:88 0 (const uint) -0:88 move second child to first child (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) -0:88 imageLoad (temp 2-component vector of int) -0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 mod second child into first child (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) +0:88 move second child to first child ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) +0:88 imageLoad ( temp 2-component vector of int) +0:88 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 mod second child into first child ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) 0:88 Constant: 0:88 2 (const int) -0:88 imageStore (temp void) -0:88 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:88 'coordTemp' (temp int) -0:88 'storeTemp' (temp 2-component vector of int) -0:88 'storeTemp' (temp 2-component vector of int) +0:88 imageStore ( temp void) +0:88 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:88 'coordTemp' ( temp int) +0:88 'storeTemp' ( temp 2-component vector of int) +0:88 'storeTemp' ( temp 2-component vector of int) 0:89 Sequence -0:89 move second child to first child (temp int) -0:89 'coordTemp' (temp int) -0:89 c1: direct index for structure (layout(offset=0 ) uniform int) -0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:89 move second child to first child ( temp int) +0:89 'coordTemp' ( temp int) +0:89 c1: direct index for structure ( uniform int) +0:89 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:89 Constant: 0:89 0 (const uint) -0:89 move second child to first child (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) -0:89 imageLoad (temp 2-component vector of int) -0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 and second child into first child (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) +0:89 move second child to first child ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) +0:89 imageLoad ( temp 2-component vector of int) +0:89 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 and second child into first child ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) 0:89 Constant: 0:89 65535 (const int) -0:89 imageStore (temp void) -0:89 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:89 'coordTemp' (temp int) -0:89 'storeTemp' (temp 2-component vector of int) -0:89 'storeTemp' (temp 2-component vector of int) +0:89 imageStore ( temp void) +0:89 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:89 'coordTemp' ( temp int) +0:89 'storeTemp' ( temp 2-component vector of int) +0:89 'storeTemp' ( temp 2-component vector of int) 0:90 Sequence -0:90 move second child to first child (temp int) -0:90 'coordTemp' (temp int) -0:90 c1: direct index for structure (layout(offset=0 ) uniform int) -0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:90 move second child to first child ( temp int) +0:90 'coordTemp' ( temp int) +0:90 c1: direct index for structure ( uniform int) +0:90 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:90 Constant: 0:90 0 (const uint) -0:90 move second child to first child (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) -0:90 imageLoad (temp 2-component vector of int) -0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 or second child into first child (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) +0:90 move second child to first child ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) +0:90 imageLoad ( temp 2-component vector of int) +0:90 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 or second child into first child ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) 0:90 Constant: 0:90 61680 (const int) -0:90 imageStore (temp void) -0:90 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:90 'coordTemp' (temp int) -0:90 'storeTemp' (temp 2-component vector of int) -0:90 'storeTemp' (temp 2-component vector of int) +0:90 imageStore ( temp void) +0:90 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:90 'coordTemp' ( temp int) +0:90 'storeTemp' ( temp 2-component vector of int) +0:90 'storeTemp' ( temp 2-component vector of int) 0:91 Sequence -0:91 move second child to first child (temp int) -0:91 'coordTemp' (temp int) -0:91 c1: direct index for structure (layout(offset=0 ) uniform int) -0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:91 move second child to first child ( temp int) +0:91 'coordTemp' ( temp int) +0:91 c1: direct index for structure ( uniform int) +0:91 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:91 Constant: 0:91 0 (const uint) -0:91 move second child to first child (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) -0:91 imageLoad (temp 2-component vector of int) -0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 left shift second child into first child (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) +0:91 move second child to first child ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) +0:91 imageLoad ( temp 2-component vector of int) +0:91 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 left shift second child into first child ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) 0:91 Constant: 0:91 2 (const int) -0:91 imageStore (temp void) -0:91 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:91 'coordTemp' (temp int) -0:91 'storeTemp' (temp 2-component vector of int) -0:91 'storeTemp' (temp 2-component vector of int) +0:91 imageStore ( temp void) +0:91 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:91 'coordTemp' ( temp int) +0:91 'storeTemp' ( temp 2-component vector of int) +0:91 'storeTemp' ( temp 2-component vector of int) 0:92 Sequence -0:92 move second child to first child (temp int) -0:92 'coordTemp' (temp int) -0:92 c1: direct index for structure (layout(offset=0 ) uniform int) -0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:92 move second child to first child ( temp int) +0:92 'coordTemp' ( temp int) +0:92 c1: direct index for structure ( uniform int) +0:92 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:92 Constant: 0:92 0 (const uint) -0:92 move second child to first child (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) -0:92 imageLoad (temp 2-component vector of int) -0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 right shift second child into first child (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) +0:92 move second child to first child ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) +0:92 imageLoad ( temp 2-component vector of int) +0:92 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 right shift second child into first child ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) 0:92 Constant: 0:92 2 (const int) -0:92 imageStore (temp void) -0:92 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:92 'coordTemp' (temp int) -0:92 'storeTemp' (temp 2-component vector of int) -0:92 'storeTemp' (temp 2-component vector of int) +0:92 imageStore ( temp void) +0:92 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:92 'coordTemp' ( temp int) +0:92 'storeTemp' ( temp 2-component vector of int) +0:92 'storeTemp' ( temp 2-component vector of int) 0:95 Sequence -0:95 move second child to first child (temp 2-component vector of float) -0:95 'storeTemp' (temp 2-component vector of float) -0:95 Function Call: SomeValue( (temp 2-component vector of float) -0:95 imageStore (temp void) -0:95 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:95 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:95 move second child to first child ( temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) +0:95 Function Call: SomeValue( ( temp 2-component vector of float) +0:95 imageStore ( temp void) +0:95 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:95 c2: direct index for structure ( uniform 2-component vector of int) +0:95 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:95 Constant: 0:95 1 (const uint) -0:95 'storeTemp' (temp 2-component vector of float) -0:95 'storeTemp' (temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) +0:95 'storeTemp' ( temp 2-component vector of float) 0:96 Sequence -0:96 imageStore (temp void) -0:96 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:96 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:96 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:96 imageStore ( temp void) +0:96 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:96 c2: direct index for structure ( uniform 2-component vector of int) +0:96 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:96 Constant: 0:96 1 (const uint) -0:96 'lf2' (temp 2-component vector of float) -0:96 'lf2' (temp 2-component vector of float) +0:96 'lf2' ( temp 2-component vector of float) +0:96 'lf2' ( temp 2-component vector of float) 0:97 Sequence -0:97 move second child to first child (temp 2-component vector of int) -0:97 'storeTemp' (temp 2-component vector of int) +0:97 move second child to first child ( temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 5 (const int) 0:? 2 (const int) -0:97 imageStore (temp void) -0:97 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:97 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:97 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:97 imageStore ( temp void) +0:97 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:97 c2: direct index for structure ( uniform 2-component vector of int) +0:97 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:97 Constant: 0:97 1 (const uint) -0:97 'storeTemp' (temp 2-component vector of int) -0:97 'storeTemp' (temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) +0:97 'storeTemp' ( temp 2-component vector of int) 0:98 Sequence -0:98 move second child to first child (temp 2-component vector of uint) -0:98 'storeTemp' (temp 2-component vector of uint) +0:98 move second child to first child ( temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 6 (const uint) 0:? 2 (const uint) -0:98 imageStore (temp void) -0:98 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:98 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:98 imageStore ( temp void) +0:98 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:98 c2: direct index for structure ( uniform 2-component vector of int) +0:98 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:98 Constant: 0:98 1 (const uint) -0:98 'storeTemp' (temp 2-component vector of uint) -0:98 'storeTemp' (temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) +0:98 'storeTemp' ( temp 2-component vector of uint) 0:101 Sequence -0:101 move second child to first child (temp 2-component vector of float) -0:101 'storeTemp' (temp 2-component vector of float) -0:101 Function Call: SomeValue( (temp 2-component vector of float) -0:101 imageStore (temp void) -0:101 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:101 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:101 move second child to first child ( temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) +0:101 Function Call: SomeValue( ( temp 2-component vector of float) +0:101 imageStore ( temp void) +0:101 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:101 c3: direct index for structure ( uniform 3-component vector of int) +0:101 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:101 Constant: 0:101 2 (const uint) -0:101 'storeTemp' (temp 2-component vector of float) -0:101 'storeTemp' (temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) +0:101 'storeTemp' ( temp 2-component vector of float) 0:102 Sequence -0:102 imageStore (temp void) -0:102 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:102 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:102 imageStore ( temp void) +0:102 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:102 c3: direct index for structure ( uniform 3-component vector of int) +0:102 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:102 Constant: 0:102 2 (const uint) -0:102 'lf2' (temp 2-component vector of float) -0:102 'lf2' (temp 2-component vector of float) +0:102 'lf2' ( temp 2-component vector of float) +0:102 'lf2' ( temp 2-component vector of float) 0:103 Sequence -0:103 move second child to first child (temp 2-component vector of int) -0:103 'storeTemp' (temp 2-component vector of int) +0:103 move second child to first child ( temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) 0:? Constant: 0:? 8 (const int) 0:? 6 (const int) -0:103 imageStore (temp void) -0:103 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:103 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:103 imageStore ( temp void) +0:103 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:103 c3: direct index for structure ( uniform 3-component vector of int) +0:103 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:103 Constant: 0:103 2 (const uint) -0:103 'storeTemp' (temp 2-component vector of int) -0:103 'storeTemp' (temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) +0:103 'storeTemp' ( temp 2-component vector of int) 0:104 Sequence -0:104 move second child to first child (temp 2-component vector of uint) -0:104 'storeTemp' (temp 2-component vector of uint) +0:104 move second child to first child ( temp 2-component vector of uint) +0:104 'storeTemp' ( temp 2-component vector of uint) 0:? Constant: 0:? 9 (const uint) 0:? 2 (const uint) -0:104 imageStore (temp void) -0:104 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:104 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:104 imageStore ( temp void) +0:104 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:104 c3: direct index for structure ( uniform 3-component vector of int) +0:104 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:104 Constant: 0:104 2 (const uint) -0:104 'storeTemp' (temp 2-component vector of uint) -0:104 'storeTemp' (temp 2-component vector of uint) -0:107 Function Call: Fn1(vf2; (temp 2-component vector of float) -0:107 imageLoad (temp 2-component vector of float) -0:107 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:107 c1: direct index for structure (layout(offset=0 ) uniform int) -0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:104 'storeTemp' ( temp 2-component vector of uint) +0:104 'storeTemp' ( temp 2-component vector of uint) +0:107 Function Call: Fn1(vf2; ( temp 2-component vector of float) +0:107 imageLoad ( temp 2-component vector of float) +0:107 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:107 c1: direct index for structure ( uniform int) +0:107 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:107 Constant: 0:107 0 (const uint) -0:108 Function Call: Fn1(vi2; (temp 2-component vector of int) -0:108 imageLoad (temp 2-component vector of int) -0:108 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:108 c1: direct index for structure (layout(offset=0 ) uniform int) -0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:108 Function Call: Fn1(vi2; ( temp 2-component vector of int) +0:108 imageLoad ( temp 2-component vector of int) +0:108 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:108 c1: direct index for structure ( uniform int) +0:108 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:108 Constant: 0:108 0 (const uint) -0:109 Function Call: Fn1(vu2; (temp 2-component vector of uint) -0:109 imageLoad (temp 2-component vector of uint) -0:109 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:109 c1: direct index for structure (layout(offset=0 ) uniform int) -0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:109 Function Call: Fn1(vu2; ( temp 2-component vector of uint) +0:109 imageLoad ( temp 2-component vector of uint) +0:109 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:109 c1: direct index for structure ( uniform int) +0:109 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:109 Constant: 0:109 0 (const uint) -0:111 Comma (temp void) -0:111 Function Call: Fn2(vf2; (temp void) -0:111 'tempArg' (temp 2-component vector of float) +0:111 Comma ( temp void) +0:111 Function Call: Fn2(vf2; ( temp void) +0:111 'tempArg' ( temp 2-component vector of float) 0:111 Sequence -0:111 imageStore (temp void) -0:111 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:111 c1: direct index for structure (layout(offset=0 ) uniform int) -0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:111 imageStore ( temp void) +0:111 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:111 c1: direct index for structure ( uniform int) +0:111 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:111 Constant: 0:111 0 (const uint) -0:111 'tempArg' (temp 2-component vector of float) -0:111 'tempArg' (temp 2-component vector of float) -0:112 Comma (temp void) -0:112 Function Call: Fn2(vi2; (temp void) -0:112 'tempArg' (temp 2-component vector of int) +0:111 'tempArg' ( temp 2-component vector of float) +0:111 'tempArg' ( temp 2-component vector of float) +0:112 Comma ( temp void) +0:112 Function Call: Fn2(vi2; ( temp void) +0:112 'tempArg' ( temp 2-component vector of int) 0:112 Sequence -0:112 imageStore (temp void) -0:112 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:112 c1: direct index for structure (layout(offset=0 ) uniform int) -0:112 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:112 imageStore ( temp void) +0:112 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:112 c1: direct index for structure ( uniform int) +0:112 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:112 Constant: 0:112 0 (const uint) -0:112 'tempArg' (temp 2-component vector of int) -0:112 'tempArg' (temp 2-component vector of int) -0:113 Comma (temp void) -0:113 Function Call: Fn2(vu2; (temp void) -0:113 'tempArg' (temp 2-component vector of uint) +0:112 'tempArg' ( temp 2-component vector of int) +0:112 'tempArg' ( temp 2-component vector of int) +0:113 Comma ( temp void) +0:113 Function Call: Fn2(vu2; ( temp void) +0:113 'tempArg' ( temp 2-component vector of uint) 0:113 Sequence -0:113 imageStore (temp void) -0:113 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:113 c1: direct index for structure (layout(offset=0 ) uniform int) -0:113 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:113 imageStore ( temp void) +0:113 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:113 c1: direct index for structure ( uniform int) +0:113 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:113 Constant: 0:113 0 (const uint) -0:113 'tempArg' (temp 2-component vector of uint) -0:113 'tempArg' (temp 2-component vector of uint) +0:113 'tempArg' ( temp 2-component vector of uint) +0:113 'tempArg' ( temp 2-component vector of uint) 0:117 Sequence -0:117 move second child to first child (temp int) -0:117 'coordTemp' (temp int) -0:117 c1: direct index for structure (layout(offset=0 ) uniform int) -0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:117 move second child to first child ( temp int) +0:117 'coordTemp' ( temp int) +0:117 c1: direct index for structure ( uniform int) +0:117 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:117 Constant: 0:117 0 (const uint) -0:117 move second child to first child (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 imageLoad (temp 2-component vector of float) -0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 Pre-Increment (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 imageStore (temp void) -0:117 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:117 'coordTemp' (temp int) -0:117 'storeTemp' (temp 2-component vector of float) -0:117 'storeTemp' (temp 2-component vector of float) +0:117 move second child to first child ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 imageLoad ( temp 2-component vector of float) +0:117 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 Pre-Increment ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 imageStore ( temp void) +0:117 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:117 'coordTemp' ( temp int) +0:117 'storeTemp' ( temp 2-component vector of float) +0:117 'storeTemp' ( temp 2-component vector of float) 0:118 Sequence -0:118 move second child to first child (temp int) -0:118 'coordTemp' (temp int) -0:118 c1: direct index for structure (layout(offset=0 ) uniform int) -0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:118 move second child to first child ( temp int) +0:118 'coordTemp' ( temp int) +0:118 c1: direct index for structure ( uniform int) +0:118 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:118 Constant: 0:118 0 (const uint) -0:118 move second child to first child (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 imageLoad (temp 2-component vector of int) -0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 Pre-Increment (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 imageStore (temp void) -0:118 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:118 'coordTemp' (temp int) -0:118 'storeTemp' (temp 2-component vector of int) -0:118 'storeTemp' (temp 2-component vector of int) +0:118 move second child to first child ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 imageLoad ( temp 2-component vector of int) +0:118 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 Pre-Increment ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 imageStore ( temp void) +0:118 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:118 'coordTemp' ( temp int) +0:118 'storeTemp' ( temp 2-component vector of int) +0:118 'storeTemp' ( temp 2-component vector of int) 0:119 Sequence -0:119 move second child to first child (temp int) -0:119 'coordTemp' (temp int) -0:119 c1: direct index for structure (layout(offset=0 ) uniform int) -0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:119 move second child to first child ( temp int) +0:119 'coordTemp' ( temp int) +0:119 c1: direct index for structure ( uniform int) +0:119 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:119 Constant: 0:119 0 (const uint) -0:119 move second child to first child (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 imageLoad (temp 2-component vector of uint) -0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 Pre-Increment (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 imageStore (temp void) -0:119 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:119 'coordTemp' (temp int) -0:119 'storeTemp' (temp 2-component vector of uint) -0:119 'storeTemp' (temp 2-component vector of uint) +0:119 move second child to first child ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 imageLoad ( temp 2-component vector of uint) +0:119 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 Pre-Increment ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 imageStore ( temp void) +0:119 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:119 'coordTemp' ( temp int) +0:119 'storeTemp' ( temp 2-component vector of uint) +0:119 'storeTemp' ( temp 2-component vector of uint) 0:121 Sequence -0:121 move second child to first child (temp int) -0:121 'coordTemp' (temp int) -0:121 c1: direct index for structure (layout(offset=0 ) uniform int) -0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:121 move second child to first child ( temp int) +0:121 'coordTemp' ( temp int) +0:121 c1: direct index for structure ( uniform int) +0:121 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:121 Constant: 0:121 0 (const uint) -0:121 move second child to first child (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 imageLoad (temp 2-component vector of float) -0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 Pre-Decrement (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 imageStore (temp void) -0:121 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:121 'coordTemp' (temp int) -0:121 'storeTemp' (temp 2-component vector of float) -0:121 'storeTemp' (temp 2-component vector of float) +0:121 move second child to first child ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 imageLoad ( temp 2-component vector of float) +0:121 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 Pre-Decrement ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 imageStore ( temp void) +0:121 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:121 'coordTemp' ( temp int) +0:121 'storeTemp' ( temp 2-component vector of float) +0:121 'storeTemp' ( temp 2-component vector of float) 0:122 Sequence -0:122 move second child to first child (temp int) -0:122 'coordTemp' (temp int) -0:122 c1: direct index for structure (layout(offset=0 ) uniform int) -0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:122 move second child to first child ( temp int) +0:122 'coordTemp' ( temp int) +0:122 c1: direct index for structure ( uniform int) +0:122 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:122 Constant: 0:122 0 (const uint) -0:122 move second child to first child (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 imageLoad (temp 2-component vector of int) -0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 Pre-Decrement (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 imageStore (temp void) -0:122 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:122 'coordTemp' (temp int) -0:122 'storeTemp' (temp 2-component vector of int) -0:122 'storeTemp' (temp 2-component vector of int) +0:122 move second child to first child ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 imageLoad ( temp 2-component vector of int) +0:122 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 Pre-Decrement ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 imageStore ( temp void) +0:122 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:122 'coordTemp' ( temp int) +0:122 'storeTemp' ( temp 2-component vector of int) +0:122 'storeTemp' ( temp 2-component vector of int) 0:123 Sequence -0:123 move second child to first child (temp int) -0:123 'coordTemp' (temp int) -0:123 c1: direct index for structure (layout(offset=0 ) uniform int) -0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:123 move second child to first child ( temp int) +0:123 'coordTemp' ( temp int) +0:123 c1: direct index for structure ( uniform int) +0:123 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:123 Constant: 0:123 0 (const uint) -0:123 move second child to first child (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 imageLoad (temp 2-component vector of uint) -0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 Pre-Decrement (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 imageStore (temp void) -0:123 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:123 'coordTemp' (temp int) -0:123 'storeTemp' (temp 2-component vector of uint) -0:123 'storeTemp' (temp 2-component vector of uint) +0:123 move second child to first child ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 imageLoad ( temp 2-component vector of uint) +0:123 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 Pre-Decrement ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 imageStore ( temp void) +0:123 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:123 'coordTemp' ( temp int) +0:123 'storeTemp' ( temp 2-component vector of uint) +0:123 'storeTemp' ( temp 2-component vector of uint) 0:126 Sequence -0:126 move second child to first child (temp int) -0:126 'coordTemp' (temp int) -0:126 c1: direct index for structure (layout(offset=0 ) uniform int) -0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:126 move second child to first child ( temp int) +0:126 'coordTemp' ( temp int) +0:126 c1: direct index for structure ( uniform int) +0:126 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:126 Constant: 0:126 0 (const uint) -0:126 move second child to first child (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) -0:126 imageLoad (temp 2-component vector of float) -0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 move second child to first child (temp 2-component vector of float) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) -0:126 Post-Increment (temp 2-component vector of float) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 imageStore (temp void) -0:126 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:126 'coordTemp' (temp int) -0:126 'storeTempPost' (temp 2-component vector of float) -0:126 'storeTempPre' (temp 2-component vector of float) +0:126 move second child to first child ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) +0:126 imageLoad ( temp 2-component vector of float) +0:126 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 move second child to first child ( temp 2-component vector of float) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) +0:126 Post-Increment ( temp 2-component vector of float) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 imageStore ( temp void) +0:126 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:126 'coordTemp' ( temp int) +0:126 'storeTempPost' ( temp 2-component vector of float) +0:126 'storeTempPre' ( temp 2-component vector of float) 0:127 Sequence -0:127 move second child to first child (temp int) -0:127 'coordTemp' (temp int) -0:127 c1: direct index for structure (layout(offset=0 ) uniform int) -0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:127 move second child to first child ( temp int) +0:127 'coordTemp' ( temp int) +0:127 c1: direct index for structure ( uniform int) +0:127 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:127 Constant: 0:127 0 (const uint) -0:127 move second child to first child (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) -0:127 imageLoad (temp 2-component vector of uint) -0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 move second child to first child (temp 2-component vector of uint) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) -0:127 Post-Decrement (temp 2-component vector of uint) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 imageStore (temp void) -0:127 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:127 'coordTemp' (temp int) -0:127 'storeTempPost' (temp 2-component vector of uint) -0:127 'storeTempPre' (temp 2-component vector of uint) +0:127 move second child to first child ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) +0:127 imageLoad ( temp 2-component vector of uint) +0:127 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 move second child to first child ( temp 2-component vector of uint) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) +0:127 Post-Decrement ( temp 2-component vector of uint) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 imageStore ( temp void) +0:127 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:127 'coordTemp' ( temp int) +0:127 'storeTempPost' ( temp 2-component vector of uint) +0:127 'storeTempPre' ( temp 2-component vector of uint) 0:128 Sequence -0:128 move second child to first child (temp int) -0:128 'coordTemp' (temp int) -0:128 c1: direct index for structure (layout(offset=0 ) uniform int) -0:128 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:128 move second child to first child ( temp int) +0:128 'coordTemp' ( temp int) +0:128 c1: direct index for structure ( uniform int) +0:128 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:128 Constant: 0:128 0 (const uint) -0:128 move second child to first child (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) -0:128 imageLoad (temp 2-component vector of int) -0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 move second child to first child (temp 2-component vector of int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) -0:128 Post-Increment (temp 2-component vector of int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 imageStore (temp void) -0:128 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:128 'coordTemp' (temp int) -0:128 'storeTempPost' (temp 2-component vector of int) -0:128 'storeTempPre' (temp 2-component vector of int) +0:128 move second child to first child ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) +0:128 imageLoad ( temp 2-component vector of int) +0:128 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 move second child to first child ( temp 2-component vector of int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) +0:128 Post-Increment ( temp 2-component vector of int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 imageStore ( temp void) +0:128 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:128 'coordTemp' ( temp int) +0:128 'storeTempPost' ( temp 2-component vector of int) +0:128 'storeTempPre' ( temp 2-component vector of int) 0:130 Sequence -0:130 move second child to first child (temp int) -0:130 'coordTemp' (temp int) -0:130 c1: direct index for structure (layout(offset=0 ) uniform int) -0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:130 move second child to first child ( temp int) +0:130 'coordTemp' ( temp int) +0:130 c1: direct index for structure ( uniform int) +0:130 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:130 Constant: 0:130 0 (const uint) -0:130 move second child to first child (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) -0:130 imageLoad (temp 2-component vector of float) -0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 move second child to first child (temp 2-component vector of float) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) -0:130 Post-Decrement (temp 2-component vector of float) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 imageStore (temp void) -0:130 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:130 'coordTemp' (temp int) -0:130 'storeTempPost' (temp 2-component vector of float) -0:130 'storeTempPre' (temp 2-component vector of float) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) +0:130 imageLoad ( temp 2-component vector of float) +0:130 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 move second child to first child ( temp 2-component vector of float) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) +0:130 Post-Decrement ( temp 2-component vector of float) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 imageStore ( temp void) +0:130 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:130 'coordTemp' ( temp int) +0:130 'storeTempPost' ( temp 2-component vector of float) +0:130 'storeTempPre' ( temp 2-component vector of float) 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'coordTemp' (temp int) -0:131 c1: direct index for structure (layout(offset=0 ) uniform int) -0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:131 move second child to first child ( temp int) +0:131 'coordTemp' ( temp int) +0:131 c1: direct index for structure ( uniform int) +0:131 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:131 Constant: 0:131 0 (const uint) -0:131 move second child to first child (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) -0:131 imageLoad (temp 2-component vector of int) -0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 move second child to first child (temp 2-component vector of int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) -0:131 Post-Increment (temp 2-component vector of int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 imageStore (temp void) -0:131 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:131 'coordTemp' (temp int) -0:131 'storeTempPost' (temp 2-component vector of int) -0:131 'storeTempPre' (temp 2-component vector of int) +0:131 move second child to first child ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) +0:131 imageLoad ( temp 2-component vector of int) +0:131 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 move second child to first child ( temp 2-component vector of int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) +0:131 Post-Increment ( temp 2-component vector of int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 imageStore ( temp void) +0:131 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:131 'coordTemp' ( temp int) +0:131 'storeTempPost' ( temp 2-component vector of int) +0:131 'storeTempPre' ( temp 2-component vector of int) 0:132 Sequence -0:132 move second child to first child (temp int) -0:132 'coordTemp' (temp int) -0:132 c1: direct index for structure (layout(offset=0 ) uniform int) -0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:132 move second child to first child ( temp int) +0:132 'coordTemp' ( temp int) +0:132 c1: direct index for structure ( uniform int) +0:132 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) 0:132 Constant: 0:132 0 (const uint) -0:132 move second child to first child (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) -0:132 imageLoad (temp 2-component vector of uint) -0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 move second child to first child (temp 2-component vector of uint) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) -0:132 Post-Decrement (temp 2-component vector of uint) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 imageStore (temp void) -0:132 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:132 'coordTemp' (temp int) -0:132 'storeTempPost' (temp 2-component vector of uint) -0:132 'storeTempPre' (temp 2-component vector of uint) +0:132 move second child to first child ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) +0:132 imageLoad ( temp 2-component vector of uint) +0:132 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 move second child to first child ( temp 2-component vector of uint) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) +0:132 Post-Decrement ( temp 2-component vector of uint) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 imageStore ( temp void) +0:132 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:132 'coordTemp' ( temp int) +0:132 'storeTempPost' ( temp 2-component vector of uint) +0:132 'storeTempPre' ( temp 2-component vector of uint) 0:135 Sequence -0:135 move second child to first child (temp 2-component vector of float) -0:135 'storeTemp' (temp 2-component vector of float) -0:? imageLoad (temp 2-component vector of float) -0:135 'g_tTex2df2' (layout(rg32f ) uniform image2D) +0:135 move second child to first child ( temp 2-component vector of float) +0:135 'storeTemp' ( temp 2-component vector of float) +0:? imageLoad ( temp 2-component vector of float) +0:135 'g_tTex2df2' (layout( rg32f) uniform image2D) 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:135 imageStore (temp void) -0:135 'g_tTex1df2' (layout(rg32f ) uniform image1D) +0:135 imageStore ( temp void) +0:135 'g_tTex1df2' (layout( rg32f) uniform image1D) 0:135 Constant: 0:135 1 (const int) -0:135 'storeTemp' (temp 2-component vector of float) -0:135 'storeTemp' (temp 2-component vector of float) -0:137 move second child to first child (temp 4-component vector of float) -0:137 Color: direct index for structure (temp 4-component vector of float) -0:137 'psout' (temp structure{temp 4-component vector of float Color}) +0:135 'storeTemp' ( temp 2-component vector of float) +0:135 'storeTemp' ( temp 2-component vector of float) +0:137 move second child to first child ( temp 4-component vector of float) +0:137 Color: direct index for structure ( temp 4-component vector of float) +0:137 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:137 Constant: 0:137 0 (const int) 0:137 Constant: @@ -1672,45 +1675,48 @@ gl_FragCoord origin is upper left 0:137 1.000000 0:137 1.000000 0:137 1.000000 -0:139 Sequence -0:139 Sequence -0:139 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:139 Color: direct index for structure (temp 4-component vector of float) -0:139 'psout' (temp structure{temp 4-component vector of float Color}) -0:139 Constant: -0:139 0 (const int) -0:139 Branch: Return +0:139 Branch: Return with expression +0:139 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:53 Constant: +0:53 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) -0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) -0:? 'g_tTex1du2' (layout(rg32ui ) uniform uimage1D) -0:? 'g_tTex2df2' (layout(rg32f ) uniform image2D) -0:? 'g_tTex2di2' (layout(rg32i ) uniform iimage2D) -0:? 'g_tTex2du2' (layout(rg32ui ) uniform uimage2D) -0:? 'g_tTex3df2' (layout(rg32f ) uniform image3D) -0:? 'g_tTex3di2' (layout(rg32i ) uniform iimage3D) -0:? 'g_tTex3du2' (layout(rg32ui ) uniform uimage3D) -0:? 'g_tTex1df2a' (layout(rg32f ) uniform image1DArray) -0:? 'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray) -0:? 'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray) -0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray) -0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) -0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df2' (layout( rg32f) uniform image1D) +0:? 'g_tTex1di2' (layout( rg32i) uniform iimage1D) +0:? 'g_tTex1du2' (layout( rg32ui) uniform uimage1D) +0:? 'g_tTex2df2' (layout( rg32f) uniform image2D) +0:? 'g_tTex2di2' (layout( rg32i) uniform iimage2D) +0:? 'g_tTex2du2' (layout( rg32ui) uniform uimage2D) +0:? 'g_tTex3df2' (layout( rg32f) uniform image3D) +0:? 'g_tTex3di2' (layout( rg32i) uniform iimage3D) +0:? 'g_tTex3du2' (layout( rg32ui) uniform uimage3D) +0:? 'g_tTex1df2a' (layout( rg32f) uniform image1DArray) +0:? 'g_tTex1di2a' (layout( rg32i) uniform iimage1DArray) +0:? 'g_tTex1du2a' (layout( rg32ui) uniform uimage1DArray) +0:? 'g_tTex2df2a' (layout( rg32f) uniform image2DArray) +0:? 'g_tTex2di2a' (layout( rg32i) uniform iimage2DArray) +0:? 'g_tTex2du2a' (layout( rg32ui) uniform uimage2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 600 +// Id's are bound by 605 Capability Shader Capability Sampled1D Capability StorageImageExtendedFormats 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 575 + EntryPoint Fragment 4 "main" 581 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi2;" @@ -1726,148 +1732,149 @@ gl_FragCoord origin is upper left Name 37 "Fn2(vf2;" Name 36 "x" Name 40 "SomeValue(" - Name 59 "$Global" - MemberName 59($Global) 0 "c1" - MemberName 59($Global) 1 "c2" - MemberName 59($Global) 2 "c3" - MemberName 59($Global) 3 "c4" - MemberName 59($Global) 4 "o1" - MemberName 59($Global) 5 "o2" - MemberName 59($Global) 6 "o3" - MemberName 59($Global) 7 "o4" - MemberName 59($Global) 8 "uf2" - MemberName 59($Global) 9 "ui2" - MemberName 59($Global) 10 "uu2" - Name 61 "" - Name 71 "g_tTex1df2" - Name 77 "r00" - Name 82 "r01" - Name 85 "g_tTex1di2" - Name 90 "r02" - Name 93 "g_tTex1du2" - Name 98 "r10" - Name 101 "g_tTex2df2" - Name 106 "r11" - Name 109 "g_tTex2di2" - Name 114 "r12" - Name 117 "g_tTex2du2" - Name 122 "r20" - Name 125 "g_tTex3df2" - Name 132 "r21" - Name 135 "g_tTex3di2" - Name 140 "r22" - Name 143 "g_tTex3du2" - Name 148 "lf2" - Name 153 "storeTemp" - Name 163 "storeTemp" - Name 169 "storeTemp" - Name 177 "val1" - Name 179 "coordTemp" - Name 182 "storeTemp" - Name 193 "coordTemp" - Name 196 "storeTemp" - Name 207 "coordTemp" - Name 210 "storeTemp" - Name 221 "coordTemp" - Name 224 "storeTemp" - Name 234 "coordTemp" - Name 237 "storeTemp" - Name 247 "coordTemp" - Name 250 "storeTemp" - Name 261 "coordTemp" - Name 264 "storeTemp" - Name 275 "coordTemp" - Name 278 "storeTemp" - Name 288 "coordTemp" - Name 291 "storeTemp" - Name 301 "storeTemp" - Name 311 "storeTemp" - Name 318 "storeTemp" - Name 325 "storeTemp" - Name 335 "storeTemp" - Name 342 "storeTemp" - Name 353 "param" - Name 359 "param" - Name 365 "param" - Name 367 "tempArg" - Name 368 "param" - Name 375 "tempArg" - Name 376 "param" - Name 383 "tempArg" - Name 384 "param" - Name 391 "coordTemp" - Name 394 "storeTemp" - Name 405 "coordTemp" - Name 408 "storeTemp" - Name 418 "coordTemp" - Name 421 "storeTemp" - Name 431 "coordTemp" - Name 434 "storeTemp" - Name 444 "coordTemp" - Name 447 "storeTemp" - Name 457 "coordTemp" - Name 460 "storeTemp" - Name 470 "coordTemp" - Name 473 "storeTempPre" - Name 477 "storeTempPost" - Name 485 "coordTemp" - Name 488 "storeTempPre" - Name 492 "storeTempPost" - Name 500 "coordTemp" - Name 503 "storeTempPre" - Name 507 "storeTempPost" - Name 515 "coordTemp" - Name 518 "storeTempPre" - Name 522 "storeTempPost" - Name 530 "coordTemp" - Name 533 "storeTempPre" - Name 537 "storeTempPost" - Name 545 "coordTemp" - Name 548 "storeTempPre" - Name 552 "storeTempPost" - Name 560 "storeTemp" - Name 568 "PS_OUTPUT" - MemberName 568(PS_OUTPUT) 0 "Color" - Name 570 "psout" - Name 575 "Color" - Name 581 "g_sSamp" - Name 584 "g_tTex1df2a" - Name 587 "g_tTex1di2a" - Name 590 "g_tTex1du2a" - Name 593 "g_tTex2df2a" - Name 596 "g_tTex2di2a" - Name 599 "g_tTex2du2a" - MemberDecorate 59($Global) 0 Offset 0 - MemberDecorate 59($Global) 1 Offset 8 - MemberDecorate 59($Global) 2 Offset 16 - MemberDecorate 59($Global) 3 Offset 32 - MemberDecorate 59($Global) 4 Offset 48 - MemberDecorate 59($Global) 5 Offset 56 - MemberDecorate 59($Global) 6 Offset 64 - MemberDecorate 59($Global) 7 Offset 80 - MemberDecorate 59($Global) 8 Offset 96 - MemberDecorate 59($Global) 9 Offset 104 - MemberDecorate 59($Global) 10 Offset 112 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 - Decorate 71(g_tTex1df2) DescriptorSet 0 - Decorate 85(g_tTex1di2) DescriptorSet 0 - Decorate 93(g_tTex1du2) DescriptorSet 0 - Decorate 101(g_tTex2df2) DescriptorSet 0 - Decorate 109(g_tTex2di2) DescriptorSet 0 - Decorate 117(g_tTex2du2) DescriptorSet 0 - Decorate 125(g_tTex3df2) DescriptorSet 0 - Decorate 135(g_tTex3di2) DescriptorSet 0 - Decorate 143(g_tTex3du2) DescriptorSet 0 - Decorate 575(Color) Location 0 - Decorate 581(g_sSamp) DescriptorSet 0 - Decorate 581(g_sSamp) Binding 0 - Decorate 584(g_tTex1df2a) DescriptorSet 0 - Decorate 587(g_tTex1di2a) DescriptorSet 0 - Decorate 590(g_tTex1du2a) DescriptorSet 0 - Decorate 593(g_tTex2df2a) DescriptorSet 0 - Decorate 596(g_tTex2di2a) DescriptorSet 0 - Decorate 599(g_tTex2du2a) DescriptorSet 0 + Name 43 "PS_OUTPUT" + MemberName 43(PS_OUTPUT) 0 "Color" + Name 45 "@main(" + Name 64 "$Global" + MemberName 64($Global) 0 "c1" + MemberName 64($Global) 1 "c2" + MemberName 64($Global) 2 "c3" + MemberName 64($Global) 3 "c4" + MemberName 64($Global) 4 "o1" + MemberName 64($Global) 5 "o2" + MemberName 64($Global) 6 "o3" + MemberName 64($Global) 7 "o4" + MemberName 64($Global) 8 "uf2" + MemberName 64($Global) 9 "ui2" + MemberName 64($Global) 10 "uu2" + Name 66 "" + Name 76 "g_tTex1df2" + Name 82 "r00" + Name 87 "r01" + Name 90 "g_tTex1di2" + Name 95 "r02" + Name 98 "g_tTex1du2" + Name 103 "r10" + Name 106 "g_tTex2df2" + Name 111 "r11" + Name 114 "g_tTex2di2" + Name 119 "r12" + Name 122 "g_tTex2du2" + Name 127 "r20" + Name 130 "g_tTex3df2" + Name 137 "r21" + Name 140 "g_tTex3di2" + Name 145 "r22" + Name 148 "g_tTex3du2" + Name 153 "lf2" + Name 158 "storeTemp" + Name 168 "storeTemp" + Name 174 "storeTemp" + Name 182 "val1" + Name 184 "coordTemp" + Name 187 "storeTemp" + Name 198 "coordTemp" + Name 201 "storeTemp" + Name 212 "coordTemp" + Name 215 "storeTemp" + Name 226 "coordTemp" + Name 229 "storeTemp" + Name 239 "coordTemp" + Name 242 "storeTemp" + Name 252 "coordTemp" + Name 255 "storeTemp" + Name 266 "coordTemp" + Name 269 "storeTemp" + Name 280 "coordTemp" + Name 283 "storeTemp" + Name 293 "coordTemp" + Name 296 "storeTemp" + Name 306 "storeTemp" + Name 316 "storeTemp" + Name 323 "storeTemp" + Name 330 "storeTemp" + Name 340 "storeTemp" + Name 347 "storeTemp" + Name 358 "param" + Name 364 "param" + Name 370 "param" + Name 372 "tempArg" + Name 373 "param" + Name 380 "tempArg" + Name 381 "param" + Name 388 "tempArg" + Name 389 "param" + Name 396 "coordTemp" + Name 399 "storeTemp" + Name 410 "coordTemp" + Name 413 "storeTemp" + Name 423 "coordTemp" + Name 426 "storeTemp" + Name 436 "coordTemp" + Name 439 "storeTemp" + Name 449 "coordTemp" + Name 452 "storeTemp" + Name 462 "coordTemp" + Name 465 "storeTemp" + Name 475 "coordTemp" + Name 478 "storeTempPre" + Name 482 "storeTempPost" + Name 490 "coordTemp" + Name 493 "storeTempPre" + Name 497 "storeTempPost" + Name 505 "coordTemp" + Name 508 "storeTempPre" + Name 512 "storeTempPost" + Name 520 "coordTemp" + Name 523 "storeTempPre" + Name 527 "storeTempPost" + Name 535 "coordTemp" + Name 538 "storeTempPre" + Name 542 "storeTempPost" + Name 550 "coordTemp" + Name 553 "storeTempPre" + Name 557 "storeTempPost" + Name 565 "storeTemp" + Name 573 "psout" + Name 581 "Color" + Name 586 "g_sSamp" + Name 589 "g_tTex1df2a" + Name 592 "g_tTex1di2a" + Name 595 "g_tTex1du2a" + Name 598 "g_tTex2df2a" + Name 601 "g_tTex2di2a" + Name 604 "g_tTex2du2a" + MemberDecorate 64($Global) 0 Offset 0 + MemberDecorate 64($Global) 1 Offset 8 + MemberDecorate 64($Global) 2 Offset 16 + MemberDecorate 64($Global) 3 Offset 32 + MemberDecorate 64($Global) 4 Offset 48 + MemberDecorate 64($Global) 5 Offset 56 + MemberDecorate 64($Global) 6 Offset 64 + MemberDecorate 64($Global) 7 Offset 80 + MemberDecorate 64($Global) 8 Offset 96 + MemberDecorate 64($Global) 9 Offset 104 + MemberDecorate 64($Global) 10 Offset 112 + Decorate 64($Global) Block + Decorate 66 DescriptorSet 0 + Decorate 76(g_tTex1df2) DescriptorSet 0 + Decorate 90(g_tTex1di2) DescriptorSet 0 + Decorate 98(g_tTex1du2) DescriptorSet 0 + Decorate 106(g_tTex2df2) DescriptorSet 0 + Decorate 114(g_tTex2di2) DescriptorSet 0 + Decorate 122(g_tTex2du2) DescriptorSet 0 + Decorate 130(g_tTex3df2) DescriptorSet 0 + Decorate 140(g_tTex3di2) DescriptorSet 0 + Decorate 148(g_tTex3du2) DescriptorSet 0 + Decorate 581(Color) Location 0 + Decorate 586(g_sSamp) DescriptorSet 0 + Decorate 586(g_sSamp) Binding 0 + Decorate 589(g_tTex1df2a) DescriptorSet 0 + Decorate 592(g_tTex1di2a) DescriptorSet 0 + Decorate 595(g_tTex1du2a) DescriptorSet 0 + Decorate 598(g_tTex2df2a) DescriptorSet 0 + Decorate 601(g_tTex2di2a) DescriptorSet 0 + Decorate 604(g_tTex2du2a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -1886,728 +1893,734 @@ gl_FragCoord origin is upper left 31: TypeFunction 2 15(ptr) 35: TypeFunction 2 22(ptr) 39: TypeFunction 21(fvec2) - 51: 6(int) Constant 0 - 52: 7(ivec2) ConstantComposite 51 51 - 53: 13(int) Constant 0 - 54: 14(ivec2) ConstantComposite 53 53 - 55: 20(float) Constant 0 - 56: 21(fvec2) ConstantComposite 55 55 - 57: TypeVector 6(int) 3 - 58: TypeVector 6(int) 4 - 59($Global): TypeStruct 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 21(fvec2) 7(ivec2) 14(ivec2) - 60: TypePointer Uniform 59($Global) - 61: 60(ptr) Variable Uniform - 62: 6(int) Constant 1 - 63: TypePointer Uniform 7(ivec2) - 69: TypeImage 20(float) 1D nonsampled format:Rg32f - 70: TypePointer UniformConstant 69 - 71(g_tTex1df2): 70(ptr) Variable UniformConstant - 73: TypePointer Uniform 6(int) - 83: TypeImage 6(int) 1D nonsampled format:Rg32i - 84: TypePointer UniformConstant 83 - 85(g_tTex1di2): 84(ptr) Variable UniformConstant - 91: TypeImage 13(int) 1D nonsampled format:Rg32ui - 92: TypePointer UniformConstant 91 - 93(g_tTex1du2): 92(ptr) Variable UniformConstant - 99: TypeImage 20(float) 2D nonsampled format:Rg32f - 100: TypePointer UniformConstant 99 - 101(g_tTex2df2): 100(ptr) Variable UniformConstant - 107: TypeImage 6(int) 2D nonsampled format:Rg32i - 108: TypePointer UniformConstant 107 - 109(g_tTex2di2): 108(ptr) Variable UniformConstant - 115: TypeImage 13(int) 2D nonsampled format:Rg32ui - 116: TypePointer UniformConstant 115 - 117(g_tTex2du2): 116(ptr) Variable UniformConstant - 123: TypeImage 20(float) 3D nonsampled format:Rg32f - 124: TypePointer UniformConstant 123 - 125(g_tTex3df2): 124(ptr) Variable UniformConstant - 127: 6(int) Constant 2 - 128: TypePointer Uniform 57(ivec3) - 133: TypeImage 6(int) 3D nonsampled format:Rg32i - 134: TypePointer UniformConstant 133 - 135(g_tTex3di2): 134(ptr) Variable UniformConstant - 141: TypeImage 13(int) 3D nonsampled format:Rg32ui - 142: TypePointer UniformConstant 141 - 143(g_tTex3du2): 142(ptr) Variable UniformConstant - 149: 6(int) Constant 8 - 150: TypePointer Uniform 21(fvec2) - 164: 7(ivec2) ConstantComposite 127 127 - 170: 13(int) Constant 3 - 171: 13(int) Constant 2 - 172: 14(ivec2) ConstantComposite 170 171 - 178: TypePointer Function 6(int) - 186: 20(float) Constant 1073741824 - 200: 20(float) Constant 1077936128 - 214: 20(float) Constant 1082130432 - 254: 6(int) Constant 65535 - 268: 6(int) Constant 61680 - 312: 6(int) Constant 5 - 313: 7(ivec2) ConstantComposite 312 127 - 319: 13(int) Constant 6 - 320: 14(ivec2) ConstantComposite 319 171 - 336: 6(int) Constant 6 - 337: 7(ivec2) ConstantComposite 149 336 - 343: 13(int) Constant 9 - 344: 14(ivec2) ConstantComposite 343 171 - 399: 20(float) Constant 1065353216 - 562: 6(int) Constant 3 - 563: 7(ivec2) ConstantComposite 127 562 - 567: TypeVector 20(float) 4 - 568(PS_OUTPUT): TypeStruct 567(fvec4) - 569: TypePointer Function 568(PS_OUTPUT) - 571: 567(fvec4) ConstantComposite 399 399 399 399 - 572: TypePointer Function 567(fvec4) - 574: TypePointer Output 567(fvec4) - 575(Color): 574(ptr) Variable Output - 579: TypeSampler - 580: TypePointer UniformConstant 579 - 581(g_sSamp): 580(ptr) Variable UniformConstant - 582: TypeImage 20(float) 1D array nonsampled format:Rg32f - 583: TypePointer UniformConstant 582 -584(g_tTex1df2a): 583(ptr) Variable UniformConstant - 585: TypeImage 6(int) 1D array nonsampled format:Rg32i - 586: TypePointer UniformConstant 585 -587(g_tTex1di2a): 586(ptr) Variable UniformConstant - 588: TypeImage 13(int) 1D array nonsampled format:Rg32ui - 589: TypePointer UniformConstant 588 -590(g_tTex1du2a): 589(ptr) Variable UniformConstant - 591: TypeImage 20(float) 2D array nonsampled format:Rg32f - 592: TypePointer UniformConstant 591 -593(g_tTex2df2a): 592(ptr) Variable UniformConstant - 594: TypeImage 6(int) 2D array nonsampled format:Rg32i - 595: TypePointer UniformConstant 594 -596(g_tTex2di2a): 595(ptr) Variable UniformConstant - 597: TypeImage 13(int) 2D array nonsampled format:Rg32ui - 598: TypePointer UniformConstant 597 -599(g_tTex2du2a): 598(ptr) Variable UniformConstant + 42: TypeVector 20(float) 4 + 43(PS_OUTPUT): TypeStruct 42(fvec4) + 44: TypeFunction 43(PS_OUTPUT) + 56: 6(int) Constant 0 + 57: 7(ivec2) ConstantComposite 56 56 + 58: 13(int) Constant 0 + 59: 14(ivec2) ConstantComposite 58 58 + 60: 20(float) Constant 0 + 61: 21(fvec2) ConstantComposite 60 60 + 62: TypeVector 6(int) 3 + 63: TypeVector 6(int) 4 + 64($Global): TypeStruct 6(int) 7(ivec2) 62(ivec3) 63(ivec4) 6(int) 7(ivec2) 62(ivec3) 63(ivec4) 21(fvec2) 7(ivec2) 14(ivec2) + 65: TypePointer Uniform 64($Global) + 66: 65(ptr) Variable Uniform + 67: 6(int) Constant 1 + 68: TypePointer Uniform 7(ivec2) + 74: TypeImage 20(float) 1D nonsampled format:Rg32f + 75: TypePointer UniformConstant 74 + 76(g_tTex1df2): 75(ptr) Variable UniformConstant + 78: TypePointer Uniform 6(int) + 88: TypeImage 6(int) 1D nonsampled format:Rg32i + 89: TypePointer UniformConstant 88 + 90(g_tTex1di2): 89(ptr) Variable UniformConstant + 96: TypeImage 13(int) 1D nonsampled format:Rg32ui + 97: TypePointer UniformConstant 96 + 98(g_tTex1du2): 97(ptr) Variable UniformConstant + 104: TypeImage 20(float) 2D nonsampled format:Rg32f + 105: TypePointer UniformConstant 104 + 106(g_tTex2df2): 105(ptr) Variable UniformConstant + 112: TypeImage 6(int) 2D nonsampled format:Rg32i + 113: TypePointer UniformConstant 112 + 114(g_tTex2di2): 113(ptr) Variable UniformConstant + 120: TypeImage 13(int) 2D nonsampled format:Rg32ui + 121: TypePointer UniformConstant 120 + 122(g_tTex2du2): 121(ptr) Variable UniformConstant + 128: TypeImage 20(float) 3D nonsampled format:Rg32f + 129: TypePointer UniformConstant 128 + 130(g_tTex3df2): 129(ptr) Variable UniformConstant + 132: 6(int) Constant 2 + 133: TypePointer Uniform 62(ivec3) + 138: TypeImage 6(int) 3D nonsampled format:Rg32i + 139: TypePointer UniformConstant 138 + 140(g_tTex3di2): 139(ptr) Variable UniformConstant + 146: TypeImage 13(int) 3D nonsampled format:Rg32ui + 147: TypePointer UniformConstant 146 + 148(g_tTex3du2): 147(ptr) Variable UniformConstant + 154: 6(int) Constant 8 + 155: TypePointer Uniform 21(fvec2) + 169: 7(ivec2) ConstantComposite 132 132 + 175: 13(int) Constant 3 + 176: 13(int) Constant 2 + 177: 14(ivec2) ConstantComposite 175 176 + 183: TypePointer Function 6(int) + 191: 20(float) Constant 1073741824 + 205: 20(float) Constant 1077936128 + 219: 20(float) Constant 1082130432 + 259: 6(int) Constant 65535 + 273: 6(int) Constant 61680 + 317: 6(int) Constant 5 + 318: 7(ivec2) ConstantComposite 317 132 + 324: 13(int) Constant 6 + 325: 14(ivec2) ConstantComposite 324 176 + 341: 6(int) Constant 6 + 342: 7(ivec2) ConstantComposite 154 341 + 348: 13(int) Constant 9 + 349: 14(ivec2) ConstantComposite 348 176 + 404: 20(float) Constant 1065353216 + 567: 6(int) Constant 3 + 568: 7(ivec2) ConstantComposite 132 567 + 572: TypePointer Function 43(PS_OUTPUT) + 574: 42(fvec4) ConstantComposite 404 404 404 404 + 575: TypePointer Function 42(fvec4) + 580: TypePointer Output 42(fvec4) + 581(Color): 580(ptr) Variable Output + 584: TypeSampler + 585: TypePointer UniformConstant 584 + 586(g_sSamp): 585(ptr) Variable UniformConstant + 587: TypeImage 20(float) 1D array nonsampled format:Rg32f + 588: TypePointer UniformConstant 587 +589(g_tTex1df2a): 588(ptr) Variable UniformConstant + 590: TypeImage 6(int) 1D array nonsampled format:Rg32i + 591: TypePointer UniformConstant 590 +592(g_tTex1di2a): 591(ptr) Variable UniformConstant + 593: TypeImage 13(int) 1D array nonsampled format:Rg32ui + 594: TypePointer UniformConstant 593 +595(g_tTex1du2a): 594(ptr) Variable UniformConstant + 596: TypeImage 20(float) 2D array nonsampled format:Rg32f + 597: TypePointer UniformConstant 596 +598(g_tTex2df2a): 597(ptr) Variable UniformConstant + 599: TypeImage 6(int) 2D array nonsampled format:Rg32i + 600: TypePointer UniformConstant 599 +601(g_tTex2di2a): 600(ptr) Variable UniformConstant + 602: TypeImage 13(int) 2D array nonsampled format:Rg32ui + 603: TypePointer UniformConstant 602 +604(g_tTex2du2a): 603(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 77(r00): 22(ptr) Variable Function - 82(r01): 8(ptr) Variable Function - 90(r02): 15(ptr) Variable Function - 98(r10): 22(ptr) Variable Function - 106(r11): 8(ptr) Variable Function - 114(r12): 15(ptr) Variable Function - 122(r20): 22(ptr) Variable Function - 132(r21): 8(ptr) Variable Function - 140(r22): 15(ptr) Variable Function - 148(lf2): 22(ptr) Variable Function - 153(storeTemp): 22(ptr) Variable Function - 163(storeTemp): 8(ptr) Variable Function - 169(storeTemp): 15(ptr) Variable Function - 177(val1): 22(ptr) Variable Function - 179(coordTemp): 178(ptr) Variable Function - 182(storeTemp): 22(ptr) Variable Function - 193(coordTemp): 178(ptr) Variable Function - 196(storeTemp): 22(ptr) Variable Function - 207(coordTemp): 178(ptr) Variable Function - 210(storeTemp): 22(ptr) Variable Function - 221(coordTemp): 178(ptr) Variable Function - 224(storeTemp): 8(ptr) Variable Function - 234(coordTemp): 178(ptr) Variable Function - 237(storeTemp): 8(ptr) Variable Function - 247(coordTemp): 178(ptr) Variable Function - 250(storeTemp): 8(ptr) Variable Function - 261(coordTemp): 178(ptr) Variable Function - 264(storeTemp): 8(ptr) Variable Function - 275(coordTemp): 178(ptr) Variable Function - 278(storeTemp): 8(ptr) Variable Function - 288(coordTemp): 178(ptr) Variable Function - 291(storeTemp): 8(ptr) Variable Function - 301(storeTemp): 22(ptr) Variable Function - 311(storeTemp): 8(ptr) Variable Function - 318(storeTemp): 15(ptr) Variable Function - 325(storeTemp): 22(ptr) Variable Function - 335(storeTemp): 8(ptr) Variable Function - 342(storeTemp): 15(ptr) Variable Function - 353(param): 22(ptr) Variable Function - 359(param): 8(ptr) Variable Function - 365(param): 15(ptr) Variable Function - 367(tempArg): 22(ptr) Variable Function - 368(param): 22(ptr) Variable Function - 375(tempArg): 8(ptr) Variable Function - 376(param): 8(ptr) Variable Function - 383(tempArg): 15(ptr) Variable Function - 384(param): 15(ptr) Variable Function - 391(coordTemp): 178(ptr) Variable Function - 394(storeTemp): 22(ptr) Variable Function - 405(coordTemp): 178(ptr) Variable Function - 408(storeTemp): 8(ptr) Variable Function - 418(coordTemp): 178(ptr) Variable Function - 421(storeTemp): 15(ptr) Variable Function - 431(coordTemp): 178(ptr) Variable Function - 434(storeTemp): 22(ptr) Variable Function - 444(coordTemp): 178(ptr) Variable Function - 447(storeTemp): 8(ptr) Variable Function - 457(coordTemp): 178(ptr) Variable Function - 460(storeTemp): 15(ptr) Variable Function - 470(coordTemp): 178(ptr) Variable Function -473(storeTempPre): 22(ptr) Variable Function -477(storeTempPost): 22(ptr) Variable Function - 485(coordTemp): 178(ptr) Variable Function -488(storeTempPre): 15(ptr) Variable Function -492(storeTempPost): 15(ptr) Variable Function - 500(coordTemp): 178(ptr) Variable Function -503(storeTempPre): 8(ptr) Variable Function -507(storeTempPost): 8(ptr) Variable Function - 515(coordTemp): 178(ptr) Variable Function -518(storeTempPre): 22(ptr) Variable Function -522(storeTempPost): 22(ptr) Variable Function - 530(coordTemp): 178(ptr) Variable Function -533(storeTempPre): 8(ptr) Variable Function -537(storeTempPost): 8(ptr) Variable Function - 545(coordTemp): 178(ptr) Variable Function -548(storeTempPre): 15(ptr) Variable Function -552(storeTempPost): 15(ptr) Variable Function - 560(storeTemp): 22(ptr) Variable Function - 570(psout): 569(ptr) Variable Function - 72: 69 Load 71(g_tTex1df2) - 74: 73(ptr) AccessChain 61 51 - 75: 6(int) Load 74 - 76: 21(fvec2) ImageRead 72 75 - 78: 69 Load 71(g_tTex1df2) - 79: 73(ptr) AccessChain 61 51 - 80: 6(int) Load 79 - 81: 21(fvec2) ImageRead 78 80 - Store 77(r00) 81 - 86: 83 Load 85(g_tTex1di2) - 87: 73(ptr) AccessChain 61 51 - 88: 6(int) Load 87 - 89: 7(ivec2) ImageRead 86 88 - Store 82(r01) 89 - 94: 91 Load 93(g_tTex1du2) - 95: 73(ptr) AccessChain 61 51 - 96: 6(int) Load 95 - 97: 14(ivec2) ImageRead 94 96 - Store 90(r02) 97 - 102: 99 Load 101(g_tTex2df2) - 103: 63(ptr) AccessChain 61 62 - 104: 7(ivec2) Load 103 - 105: 21(fvec2) ImageRead 102 104 - Store 98(r10) 105 - 110: 107 Load 109(g_tTex2di2) - 111: 63(ptr) AccessChain 61 62 - 112: 7(ivec2) Load 111 - 113: 7(ivec2) ImageRead 110 112 - Store 106(r11) 113 - 118: 115 Load 117(g_tTex2du2) - 119: 63(ptr) AccessChain 61 62 - 120: 7(ivec2) Load 119 - 121: 14(ivec2) ImageRead 118 120 - Store 114(r12) 121 - 126: 123 Load 125(g_tTex3df2) - 129: 128(ptr) AccessChain 61 127 - 130: 57(ivec3) Load 129 - 131: 21(fvec2) ImageRead 126 130 - Store 122(r20) 131 - 136: 133 Load 135(g_tTex3di2) - 137: 128(ptr) AccessChain 61 127 - 138: 57(ivec3) Load 137 - 139: 7(ivec2) ImageRead 136 138 - Store 132(r21) 139 - 144: 141 Load 143(g_tTex3du2) - 145: 128(ptr) AccessChain 61 127 - 146: 57(ivec3) Load 145 - 147: 14(ivec2) ImageRead 144 146 - Store 140(r22) 147 - 151: 150(ptr) AccessChain 61 149 - 152: 21(fvec2) Load 151 - Store 148(lf2) 152 - 154: 21(fvec2) FunctionCall 40(SomeValue() - Store 153(storeTemp) 154 - 155: 69 Load 71(g_tTex1df2) - 156: 73(ptr) AccessChain 61 51 - 157: 6(int) Load 156 - 158: 21(fvec2) Load 153(storeTemp) - ImageWrite 155 157 158 - 159: 69 Load 71(g_tTex1df2) - 160: 73(ptr) AccessChain 61 51 - 161: 6(int) Load 160 - 162: 21(fvec2) Load 148(lf2) - ImageWrite 159 161 162 - Store 163(storeTemp) 164 - 165: 83 Load 85(g_tTex1di2) - 166: 73(ptr) AccessChain 61 51 - 167: 6(int) Load 166 - 168: 7(ivec2) Load 163(storeTemp) - ImageWrite 165 167 168 - Store 169(storeTemp) 172 - 173: 91 Load 93(g_tTex1du2) - 174: 73(ptr) AccessChain 61 51 - 175: 6(int) Load 174 - 176: 14(ivec2) Load 169(storeTemp) - ImageWrite 173 175 176 - 180: 73(ptr) AccessChain 61 51 - 181: 6(int) Load 180 - Store 179(coordTemp) 181 - 183: 69 Load 71(g_tTex1df2) - 184: 6(int) Load 179(coordTemp) - 185: 21(fvec2) ImageRead 183 184 - Store 182(storeTemp) 185 - 187: 21(fvec2) Load 182(storeTemp) - 188: 21(fvec2) VectorTimesScalar 187 186 - Store 182(storeTemp) 188 - 189: 69 Load 71(g_tTex1df2) - 190: 6(int) Load 179(coordTemp) - 191: 21(fvec2) Load 182(storeTemp) - ImageWrite 189 190 191 - 192: 21(fvec2) Load 182(storeTemp) - Store 177(val1) 192 - 194: 73(ptr) AccessChain 61 51 - 195: 6(int) Load 194 - Store 193(coordTemp) 195 - 197: 69 Load 71(g_tTex1df2) - 198: 6(int) Load 193(coordTemp) - 199: 21(fvec2) ImageRead 197 198 - Store 196(storeTemp) 199 - 201: 21(fvec2) Load 196(storeTemp) - 202: 21(fvec2) CompositeConstruct 200 200 - 203: 21(fvec2) FSub 201 202 - Store 196(storeTemp) 203 - 204: 69 Load 71(g_tTex1df2) - 205: 6(int) Load 193(coordTemp) - 206: 21(fvec2) Load 196(storeTemp) - ImageWrite 204 205 206 - 208: 73(ptr) AccessChain 61 51 - 209: 6(int) Load 208 - Store 207(coordTemp) 209 - 211: 69 Load 71(g_tTex1df2) - 212: 6(int) Load 207(coordTemp) - 213: 21(fvec2) ImageRead 211 212 - Store 210(storeTemp) 213 - 215: 21(fvec2) Load 210(storeTemp) - 216: 21(fvec2) CompositeConstruct 214 214 - 217: 21(fvec2) FAdd 215 216 - Store 210(storeTemp) 217 - 218: 69 Load 71(g_tTex1df2) - 219: 6(int) Load 207(coordTemp) - 220: 21(fvec2) Load 210(storeTemp) - ImageWrite 218 219 220 - 222: 73(ptr) AccessChain 61 51 - 223: 6(int) Load 222 - Store 221(coordTemp) 223 - 225: 83 Load 85(g_tTex1di2) - 226: 6(int) Load 221(coordTemp) - 227: 7(ivec2) ImageRead 225 226 - Store 224(storeTemp) 227 - 228: 7(ivec2) Load 224(storeTemp) - 229: 7(ivec2) CompositeConstruct 127 127 - 230: 7(ivec2) SDiv 228 229 - Store 224(storeTemp) 230 - 231: 83 Load 85(g_tTex1di2) - 232: 6(int) Load 221(coordTemp) - 233: 7(ivec2) Load 224(storeTemp) - ImageWrite 231 232 233 - 235: 73(ptr) AccessChain 61 51 - 236: 6(int) Load 235 - Store 234(coordTemp) 236 - 238: 83 Load 85(g_tTex1di2) - 239: 6(int) Load 234(coordTemp) - 240: 7(ivec2) ImageRead 238 239 - Store 237(storeTemp) 240 - 241: 7(ivec2) Load 237(storeTemp) - 242: 7(ivec2) CompositeConstruct 127 127 - 243: 7(ivec2) SMod 241 242 - Store 237(storeTemp) 243 - 244: 83 Load 85(g_tTex1di2) - 245: 6(int) Load 234(coordTemp) - 246: 7(ivec2) Load 237(storeTemp) - ImageWrite 244 245 246 - 248: 73(ptr) AccessChain 61 51 - 249: 6(int) Load 248 - Store 247(coordTemp) 249 - 251: 83 Load 85(g_tTex1di2) - 252: 6(int) Load 247(coordTemp) - 253: 7(ivec2) ImageRead 251 252 - Store 250(storeTemp) 253 - 255: 7(ivec2) Load 250(storeTemp) - 256: 7(ivec2) CompositeConstruct 254 254 - 257: 7(ivec2) BitwiseAnd 255 256 - Store 250(storeTemp) 257 - 258: 83 Load 85(g_tTex1di2) - 259: 6(int) Load 247(coordTemp) - 260: 7(ivec2) Load 250(storeTemp) - ImageWrite 258 259 260 - 262: 73(ptr) AccessChain 61 51 - 263: 6(int) Load 262 - Store 261(coordTemp) 263 - 265: 83 Load 85(g_tTex1di2) - 266: 6(int) Load 261(coordTemp) - 267: 7(ivec2) ImageRead 265 266 - Store 264(storeTemp) 267 - 269: 7(ivec2) Load 264(storeTemp) - 270: 7(ivec2) CompositeConstruct 268 268 - 271: 7(ivec2) BitwiseOr 269 270 - Store 264(storeTemp) 271 - 272: 83 Load 85(g_tTex1di2) - 273: 6(int) Load 261(coordTemp) - 274: 7(ivec2) Load 264(storeTemp) - ImageWrite 272 273 274 - 276: 73(ptr) AccessChain 61 51 - 277: 6(int) Load 276 - Store 275(coordTemp) 277 - 279: 83 Load 85(g_tTex1di2) - 280: 6(int) Load 275(coordTemp) - 281: 7(ivec2) ImageRead 279 280 - Store 278(storeTemp) 281 - 282: 7(ivec2) Load 278(storeTemp) - 283: 7(ivec2) CompositeConstruct 127 127 - 284: 7(ivec2) ShiftLeftLogical 282 283 - Store 278(storeTemp) 284 - 285: 83 Load 85(g_tTex1di2) - 286: 6(int) Load 275(coordTemp) - 287: 7(ivec2) Load 278(storeTemp) - ImageWrite 285 286 287 - 289: 73(ptr) AccessChain 61 51 - 290: 6(int) Load 289 - Store 288(coordTemp) 290 - 292: 83 Load 85(g_tTex1di2) - 293: 6(int) Load 288(coordTemp) - 294: 7(ivec2) ImageRead 292 293 - Store 291(storeTemp) 294 - 295: 7(ivec2) Load 291(storeTemp) - 296: 7(ivec2) CompositeConstruct 127 127 - 297: 7(ivec2) ShiftRightArithmetic 295 296 - Store 291(storeTemp) 297 - 298: 83 Load 85(g_tTex1di2) - 299: 6(int) Load 288(coordTemp) - 300: 7(ivec2) Load 291(storeTemp) - ImageWrite 298 299 300 - 302: 21(fvec2) FunctionCall 40(SomeValue() - Store 301(storeTemp) 302 - 303: 99 Load 101(g_tTex2df2) - 304: 63(ptr) AccessChain 61 62 - 305: 7(ivec2) Load 304 - 306: 21(fvec2) Load 301(storeTemp) - ImageWrite 303 305 306 - 307: 99 Load 101(g_tTex2df2) - 308: 63(ptr) AccessChain 61 62 - 309: 7(ivec2) Load 308 - 310: 21(fvec2) Load 148(lf2) - ImageWrite 307 309 310 - Store 311(storeTemp) 313 - 314: 107 Load 109(g_tTex2di2) - 315: 63(ptr) AccessChain 61 62 - 316: 7(ivec2) Load 315 - 317: 7(ivec2) Load 311(storeTemp) - ImageWrite 314 316 317 - Store 318(storeTemp) 320 - 321: 115 Load 117(g_tTex2du2) - 322: 63(ptr) AccessChain 61 62 - 323: 7(ivec2) Load 322 - 324: 14(ivec2) Load 318(storeTemp) - ImageWrite 321 323 324 - 326: 21(fvec2) FunctionCall 40(SomeValue() - Store 325(storeTemp) 326 - 327: 123 Load 125(g_tTex3df2) - 328: 128(ptr) AccessChain 61 127 - 329: 57(ivec3) Load 328 - 330: 21(fvec2) Load 325(storeTemp) - ImageWrite 327 329 330 - 331: 123 Load 125(g_tTex3df2) - 332: 128(ptr) AccessChain 61 127 - 333: 57(ivec3) Load 332 - 334: 21(fvec2) Load 148(lf2) - ImageWrite 331 333 334 - Store 335(storeTemp) 337 - 338: 133 Load 135(g_tTex3di2) - 339: 128(ptr) AccessChain 61 127 - 340: 57(ivec3) Load 339 - 341: 7(ivec2) Load 335(storeTemp) - ImageWrite 338 340 341 - Store 342(storeTemp) 344 - 345: 141 Load 143(g_tTex3du2) - 346: 128(ptr) AccessChain 61 127 - 347: 57(ivec3) Load 346 - 348: 14(ivec2) Load 342(storeTemp) - ImageWrite 345 347 348 - 349: 69 Load 71(g_tTex1df2) - 350: 73(ptr) AccessChain 61 51 - 351: 6(int) Load 350 - 352: 21(fvec2) ImageRead 349 351 - Store 353(param) 352 - 354: 21(fvec2) FunctionCall 25(Fn1(vf2;) 353(param) - 355: 83 Load 85(g_tTex1di2) - 356: 73(ptr) AccessChain 61 51 - 357: 6(int) Load 356 - 358: 7(ivec2) ImageRead 355 357 - Store 359(param) 358 - 360: 7(ivec2) FunctionCall 11(Fn1(vi2;) 359(param) - 361: 91 Load 93(g_tTex1du2) - 362: 73(ptr) AccessChain 61 51 - 363: 6(int) Load 362 - 364: 14(ivec2) ImageRead 361 363 - Store 365(param) 364 - 366: 14(ivec2) FunctionCall 18(Fn1(vu2;) 365(param) - 369: 2 FunctionCall 37(Fn2(vf2;) 368(param) - 370: 21(fvec2) Load 368(param) - Store 367(tempArg) 370 - 371: 69 Load 71(g_tTex1df2) - 372: 73(ptr) AccessChain 61 51 - 373: 6(int) Load 372 - 374: 21(fvec2) Load 367(tempArg) - ImageWrite 371 373 374 - 377: 2 FunctionCall 29(Fn2(vi2;) 376(param) - 378: 7(ivec2) Load 376(param) - Store 375(tempArg) 378 - 379: 83 Load 85(g_tTex1di2) - 380: 73(ptr) AccessChain 61 51 - 381: 6(int) Load 380 - 382: 7(ivec2) Load 375(tempArg) - ImageWrite 379 381 382 - 385: 2 FunctionCall 33(Fn2(vu2;) 384(param) - 386: 14(ivec2) Load 384(param) - Store 383(tempArg) 386 - 387: 91 Load 93(g_tTex1du2) - 388: 73(ptr) AccessChain 61 51 - 389: 6(int) Load 388 - 390: 14(ivec2) Load 383(tempArg) - ImageWrite 387 389 390 - 392: 73(ptr) AccessChain 61 51 - 393: 6(int) Load 392 - Store 391(coordTemp) 393 - 395: 69 Load 71(g_tTex1df2) - 396: 6(int) Load 391(coordTemp) - 397: 21(fvec2) ImageRead 395 396 - Store 394(storeTemp) 397 - 398: 21(fvec2) Load 394(storeTemp) - 400: 21(fvec2) CompositeConstruct 399 399 - 401: 21(fvec2) FAdd 398 400 - Store 394(storeTemp) 401 - 402: 69 Load 71(g_tTex1df2) - 403: 6(int) Load 391(coordTemp) - 404: 21(fvec2) Load 394(storeTemp) - ImageWrite 402 403 404 - 406: 73(ptr) AccessChain 61 51 - 407: 6(int) Load 406 - Store 405(coordTemp) 407 - 409: 83 Load 85(g_tTex1di2) - 410: 6(int) Load 405(coordTemp) - 411: 7(ivec2) ImageRead 409 410 - Store 408(storeTemp) 411 - 412: 7(ivec2) Load 408(storeTemp) - 413: 7(ivec2) CompositeConstruct 62 62 - 414: 7(ivec2) IAdd 412 413 - Store 408(storeTemp) 414 - 415: 83 Load 85(g_tTex1di2) - 416: 6(int) Load 405(coordTemp) - 417: 7(ivec2) Load 408(storeTemp) - ImageWrite 415 416 417 - 419: 73(ptr) AccessChain 61 51 - 420: 6(int) Load 419 - Store 418(coordTemp) 420 - 422: 91 Load 93(g_tTex1du2) - 423: 6(int) Load 418(coordTemp) - 424: 14(ivec2) ImageRead 422 423 - Store 421(storeTemp) 424 - 425: 14(ivec2) Load 421(storeTemp) - 426: 7(ivec2) CompositeConstruct 62 62 - 427: 14(ivec2) IAdd 425 426 - Store 421(storeTemp) 427 - 428: 91 Load 93(g_tTex1du2) - 429: 6(int) Load 418(coordTemp) - 430: 14(ivec2) Load 421(storeTemp) - ImageWrite 428 429 430 - 432: 73(ptr) AccessChain 61 51 - 433: 6(int) Load 432 - Store 431(coordTemp) 433 - 435: 69 Load 71(g_tTex1df2) - 436: 6(int) Load 431(coordTemp) - 437: 21(fvec2) ImageRead 435 436 - Store 434(storeTemp) 437 - 438: 21(fvec2) Load 434(storeTemp) - 439: 21(fvec2) CompositeConstruct 399 399 - 440: 21(fvec2) FSub 438 439 - Store 434(storeTemp) 440 - 441: 69 Load 71(g_tTex1df2) - 442: 6(int) Load 431(coordTemp) - 443: 21(fvec2) Load 434(storeTemp) - ImageWrite 441 442 443 - 445: 73(ptr) AccessChain 61 51 - 446: 6(int) Load 445 - Store 444(coordTemp) 446 - 448: 83 Load 85(g_tTex1di2) - 449: 6(int) Load 444(coordTemp) - 450: 7(ivec2) ImageRead 448 449 - Store 447(storeTemp) 450 - 451: 7(ivec2) Load 447(storeTemp) - 452: 7(ivec2) CompositeConstruct 62 62 - 453: 7(ivec2) ISub 451 452 - Store 447(storeTemp) 453 - 454: 83 Load 85(g_tTex1di2) - 455: 6(int) Load 444(coordTemp) - 456: 7(ivec2) Load 447(storeTemp) - ImageWrite 454 455 456 - 458: 73(ptr) AccessChain 61 51 - 459: 6(int) Load 458 - Store 457(coordTemp) 459 - 461: 91 Load 93(g_tTex1du2) - 462: 6(int) Load 457(coordTemp) - 463: 14(ivec2) ImageRead 461 462 - Store 460(storeTemp) 463 - 464: 14(ivec2) Load 460(storeTemp) - 465: 7(ivec2) CompositeConstruct 62 62 - 466: 14(ivec2) ISub 464 465 - Store 460(storeTemp) 466 - 467: 91 Load 93(g_tTex1du2) - 468: 6(int) Load 457(coordTemp) - 469: 14(ivec2) Load 460(storeTemp) - ImageWrite 467 468 469 - 471: 73(ptr) AccessChain 61 51 - 472: 6(int) Load 471 - Store 470(coordTemp) 472 - 474: 69 Load 71(g_tTex1df2) - 475: 6(int) Load 470(coordTemp) - 476: 21(fvec2) ImageRead 474 475 - Store 473(storeTempPre) 476 - 478: 21(fvec2) Load 473(storeTempPre) - Store 477(storeTempPost) 478 - 479: 21(fvec2) Load 477(storeTempPost) - 480: 21(fvec2) CompositeConstruct 399 399 - 481: 21(fvec2) FAdd 479 480 - Store 477(storeTempPost) 481 - 482: 69 Load 71(g_tTex1df2) - 483: 6(int) Load 470(coordTemp) - 484: 21(fvec2) Load 477(storeTempPost) - ImageWrite 482 483 484 - 486: 73(ptr) AccessChain 61 51 - 487: 6(int) Load 486 - Store 485(coordTemp) 487 - 489: 91 Load 93(g_tTex1du2) - 490: 6(int) Load 485(coordTemp) - 491: 14(ivec2) ImageRead 489 490 - Store 488(storeTempPre) 491 - 493: 14(ivec2) Load 488(storeTempPre) - Store 492(storeTempPost) 493 - 494: 14(ivec2) Load 492(storeTempPost) - 495: 7(ivec2) CompositeConstruct 62 62 - 496: 14(ivec2) ISub 494 495 - Store 492(storeTempPost) 496 - 497: 91 Load 93(g_tTex1du2) - 498: 6(int) Load 485(coordTemp) - 499: 14(ivec2) Load 492(storeTempPost) - ImageWrite 497 498 499 - 501: 73(ptr) AccessChain 61 51 - 502: 6(int) Load 501 - Store 500(coordTemp) 502 - 504: 83 Load 85(g_tTex1di2) - 505: 6(int) Load 500(coordTemp) - 506: 7(ivec2) ImageRead 504 505 - Store 503(storeTempPre) 506 - 508: 7(ivec2) Load 503(storeTempPre) - Store 507(storeTempPost) 508 - 509: 7(ivec2) Load 507(storeTempPost) - 510: 7(ivec2) CompositeConstruct 62 62 - 511: 7(ivec2) IAdd 509 510 - Store 507(storeTempPost) 511 - 512: 83 Load 85(g_tTex1di2) - 513: 6(int) Load 500(coordTemp) - 514: 7(ivec2) Load 507(storeTempPost) - ImageWrite 512 513 514 - 516: 73(ptr) AccessChain 61 51 - 517: 6(int) Load 516 - Store 515(coordTemp) 517 - 519: 69 Load 71(g_tTex1df2) - 520: 6(int) Load 515(coordTemp) - 521: 21(fvec2) ImageRead 519 520 - Store 518(storeTempPre) 521 - 523: 21(fvec2) Load 518(storeTempPre) - Store 522(storeTempPost) 523 - 524: 21(fvec2) Load 522(storeTempPost) - 525: 21(fvec2) CompositeConstruct 399 399 - 526: 21(fvec2) FSub 524 525 - Store 522(storeTempPost) 526 - 527: 69 Load 71(g_tTex1df2) - 528: 6(int) Load 515(coordTemp) - 529: 21(fvec2) Load 522(storeTempPost) - ImageWrite 527 528 529 - 531: 73(ptr) AccessChain 61 51 - 532: 6(int) Load 531 - Store 530(coordTemp) 532 - 534: 83 Load 85(g_tTex1di2) - 535: 6(int) Load 530(coordTemp) - 536: 7(ivec2) ImageRead 534 535 - Store 533(storeTempPre) 536 - 538: 7(ivec2) Load 533(storeTempPre) - Store 537(storeTempPost) 538 - 539: 7(ivec2) Load 537(storeTempPost) - 540: 7(ivec2) CompositeConstruct 62 62 - 541: 7(ivec2) IAdd 539 540 - Store 537(storeTempPost) 541 - 542: 83 Load 85(g_tTex1di2) - 543: 6(int) Load 530(coordTemp) - 544: 7(ivec2) Load 537(storeTempPost) - ImageWrite 542 543 544 - 546: 73(ptr) AccessChain 61 51 - 547: 6(int) Load 546 - Store 545(coordTemp) 547 - 549: 91 Load 93(g_tTex1du2) - 550: 6(int) Load 545(coordTemp) - 551: 14(ivec2) ImageRead 549 550 - Store 548(storeTempPre) 551 - 553: 14(ivec2) Load 548(storeTempPre) - Store 552(storeTempPost) 553 - 554: 14(ivec2) Load 552(storeTempPost) - 555: 7(ivec2) CompositeConstruct 62 62 - 556: 14(ivec2) ISub 554 555 - Store 552(storeTempPost) 556 - 557: 91 Load 93(g_tTex1du2) - 558: 6(int) Load 545(coordTemp) - 559: 14(ivec2) Load 552(storeTempPost) - ImageWrite 557 558 559 - 561: 99 Load 101(g_tTex2df2) - 564: 21(fvec2) ImageRead 561 563 - Store 560(storeTemp) 564 - 565: 69 Load 71(g_tTex1df2) - 566: 21(fvec2) Load 560(storeTemp) - ImageWrite 565 62 566 - 573: 572(ptr) AccessChain 570(psout) 51 - Store 573 571 - 576: 572(ptr) AccessChain 570(psout) 51 - 577: 567(fvec4) Load 576 - Store 575(Color) 577 + 582:43(PS_OUTPUT) FunctionCall 45(@main() + 583: 42(fvec4) CompositeExtract 582 0 + Store 581(Color) 583 Return FunctionEnd 11(Fn1(vi2;): 7(ivec2) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 42: 7(ivec2) Load 10(x) - ReturnValue 42 + 47: 7(ivec2) Load 10(x) + ReturnValue 47 FunctionEnd 18(Fn1(vu2;): 14(ivec2) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 45: 14(ivec2) Load 17(x) - ReturnValue 45 + 50: 14(ivec2) Load 17(x) + ReturnValue 50 FunctionEnd 25(Fn1(vf2;): 21(fvec2) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 48: 21(fvec2) Load 24(x) - ReturnValue 48 + 53: 21(fvec2) Load 24(x) + ReturnValue 53 FunctionEnd 29(Fn2(vi2;): 2 Function None 27 28(x): 8(ptr) FunctionParameter 30: Label - Store 28(x) 52 + Store 28(x) 57 Return FunctionEnd 33(Fn2(vu2;): 2 Function None 31 32(x): 15(ptr) FunctionParameter 34: Label - Store 32(x) 54 + Store 32(x) 59 Return FunctionEnd 37(Fn2(vf2;): 2 Function None 35 36(x): 22(ptr) FunctionParameter 38: Label - Store 36(x) 56 + Store 36(x) 61 Return FunctionEnd 40(SomeValue(): 21(fvec2) Function None 39 41: Label - 64: 63(ptr) AccessChain 61 62 - 65: 7(ivec2) Load 64 - 66: 21(fvec2) ConvertSToF 65 - ReturnValue 66 + 69: 68(ptr) AccessChain 66 67 + 70: 7(ivec2) Load 69 + 71: 21(fvec2) ConvertSToF 70 + ReturnValue 71 + FunctionEnd + 45(@main():43(PS_OUTPUT) Function None 44 + 46: Label + 82(r00): 22(ptr) Variable Function + 87(r01): 8(ptr) Variable Function + 95(r02): 15(ptr) Variable Function + 103(r10): 22(ptr) Variable Function + 111(r11): 8(ptr) Variable Function + 119(r12): 15(ptr) Variable Function + 127(r20): 22(ptr) Variable Function + 137(r21): 8(ptr) Variable Function + 145(r22): 15(ptr) Variable Function + 153(lf2): 22(ptr) Variable Function + 158(storeTemp): 22(ptr) Variable Function + 168(storeTemp): 8(ptr) Variable Function + 174(storeTemp): 15(ptr) Variable Function + 182(val1): 22(ptr) Variable Function + 184(coordTemp): 183(ptr) Variable Function + 187(storeTemp): 22(ptr) Variable Function + 198(coordTemp): 183(ptr) Variable Function + 201(storeTemp): 22(ptr) Variable Function + 212(coordTemp): 183(ptr) Variable Function + 215(storeTemp): 22(ptr) Variable Function + 226(coordTemp): 183(ptr) Variable Function + 229(storeTemp): 8(ptr) Variable Function + 239(coordTemp): 183(ptr) Variable Function + 242(storeTemp): 8(ptr) Variable Function + 252(coordTemp): 183(ptr) Variable Function + 255(storeTemp): 8(ptr) Variable Function + 266(coordTemp): 183(ptr) Variable Function + 269(storeTemp): 8(ptr) Variable Function + 280(coordTemp): 183(ptr) Variable Function + 283(storeTemp): 8(ptr) Variable Function + 293(coordTemp): 183(ptr) Variable Function + 296(storeTemp): 8(ptr) Variable Function + 306(storeTemp): 22(ptr) Variable Function + 316(storeTemp): 8(ptr) Variable Function + 323(storeTemp): 15(ptr) Variable Function + 330(storeTemp): 22(ptr) Variable Function + 340(storeTemp): 8(ptr) Variable Function + 347(storeTemp): 15(ptr) Variable Function + 358(param): 22(ptr) Variable Function + 364(param): 8(ptr) Variable Function + 370(param): 15(ptr) Variable Function + 372(tempArg): 22(ptr) Variable Function + 373(param): 22(ptr) Variable Function + 380(tempArg): 8(ptr) Variable Function + 381(param): 8(ptr) Variable Function + 388(tempArg): 15(ptr) Variable Function + 389(param): 15(ptr) Variable Function + 396(coordTemp): 183(ptr) Variable Function + 399(storeTemp): 22(ptr) Variable Function + 410(coordTemp): 183(ptr) Variable Function + 413(storeTemp): 8(ptr) Variable Function + 423(coordTemp): 183(ptr) Variable Function + 426(storeTemp): 15(ptr) Variable Function + 436(coordTemp): 183(ptr) Variable Function + 439(storeTemp): 22(ptr) Variable Function + 449(coordTemp): 183(ptr) Variable Function + 452(storeTemp): 8(ptr) Variable Function + 462(coordTemp): 183(ptr) Variable Function + 465(storeTemp): 15(ptr) Variable Function + 475(coordTemp): 183(ptr) Variable Function +478(storeTempPre): 22(ptr) Variable Function +482(storeTempPost): 22(ptr) Variable Function + 490(coordTemp): 183(ptr) Variable Function +493(storeTempPre): 15(ptr) Variable Function +497(storeTempPost): 15(ptr) Variable Function + 505(coordTemp): 183(ptr) Variable Function +508(storeTempPre): 8(ptr) Variable Function +512(storeTempPost): 8(ptr) Variable Function + 520(coordTemp): 183(ptr) Variable Function +523(storeTempPre): 22(ptr) Variable Function +527(storeTempPost): 22(ptr) Variable Function + 535(coordTemp): 183(ptr) Variable Function +538(storeTempPre): 8(ptr) Variable Function +542(storeTempPost): 8(ptr) Variable Function + 550(coordTemp): 183(ptr) Variable Function +553(storeTempPre): 15(ptr) Variable Function +557(storeTempPost): 15(ptr) Variable Function + 565(storeTemp): 22(ptr) Variable Function + 573(psout): 572(ptr) Variable Function + 77: 74 Load 76(g_tTex1df2) + 79: 78(ptr) AccessChain 66 56 + 80: 6(int) Load 79 + 81: 21(fvec2) ImageRead 77 80 + 83: 74 Load 76(g_tTex1df2) + 84: 78(ptr) AccessChain 66 56 + 85: 6(int) Load 84 + 86: 21(fvec2) ImageRead 83 85 + Store 82(r00) 86 + 91: 88 Load 90(g_tTex1di2) + 92: 78(ptr) AccessChain 66 56 + 93: 6(int) Load 92 + 94: 7(ivec2) ImageRead 91 93 + Store 87(r01) 94 + 99: 96 Load 98(g_tTex1du2) + 100: 78(ptr) AccessChain 66 56 + 101: 6(int) Load 100 + 102: 14(ivec2) ImageRead 99 101 + Store 95(r02) 102 + 107: 104 Load 106(g_tTex2df2) + 108: 68(ptr) AccessChain 66 67 + 109: 7(ivec2) Load 108 + 110: 21(fvec2) ImageRead 107 109 + Store 103(r10) 110 + 115: 112 Load 114(g_tTex2di2) + 116: 68(ptr) AccessChain 66 67 + 117: 7(ivec2) Load 116 + 118: 7(ivec2) ImageRead 115 117 + Store 111(r11) 118 + 123: 120 Load 122(g_tTex2du2) + 124: 68(ptr) AccessChain 66 67 + 125: 7(ivec2) Load 124 + 126: 14(ivec2) ImageRead 123 125 + Store 119(r12) 126 + 131: 128 Load 130(g_tTex3df2) + 134: 133(ptr) AccessChain 66 132 + 135: 62(ivec3) Load 134 + 136: 21(fvec2) ImageRead 131 135 + Store 127(r20) 136 + 141: 138 Load 140(g_tTex3di2) + 142: 133(ptr) AccessChain 66 132 + 143: 62(ivec3) Load 142 + 144: 7(ivec2) ImageRead 141 143 + Store 137(r21) 144 + 149: 146 Load 148(g_tTex3du2) + 150: 133(ptr) AccessChain 66 132 + 151: 62(ivec3) Load 150 + 152: 14(ivec2) ImageRead 149 151 + Store 145(r22) 152 + 156: 155(ptr) AccessChain 66 154 + 157: 21(fvec2) Load 156 + Store 153(lf2) 157 + 159: 21(fvec2) FunctionCall 40(SomeValue() + Store 158(storeTemp) 159 + 160: 74 Load 76(g_tTex1df2) + 161: 78(ptr) AccessChain 66 56 + 162: 6(int) Load 161 + 163: 21(fvec2) Load 158(storeTemp) + ImageWrite 160 162 163 + 164: 74 Load 76(g_tTex1df2) + 165: 78(ptr) AccessChain 66 56 + 166: 6(int) Load 165 + 167: 21(fvec2) Load 153(lf2) + ImageWrite 164 166 167 + Store 168(storeTemp) 169 + 170: 88 Load 90(g_tTex1di2) + 171: 78(ptr) AccessChain 66 56 + 172: 6(int) Load 171 + 173: 7(ivec2) Load 168(storeTemp) + ImageWrite 170 172 173 + Store 174(storeTemp) 177 + 178: 96 Load 98(g_tTex1du2) + 179: 78(ptr) AccessChain 66 56 + 180: 6(int) Load 179 + 181: 14(ivec2) Load 174(storeTemp) + ImageWrite 178 180 181 + 185: 78(ptr) AccessChain 66 56 + 186: 6(int) Load 185 + Store 184(coordTemp) 186 + 188: 74 Load 76(g_tTex1df2) + 189: 6(int) Load 184(coordTemp) + 190: 21(fvec2) ImageRead 188 189 + Store 187(storeTemp) 190 + 192: 21(fvec2) Load 187(storeTemp) + 193: 21(fvec2) VectorTimesScalar 192 191 + Store 187(storeTemp) 193 + 194: 74 Load 76(g_tTex1df2) + 195: 6(int) Load 184(coordTemp) + 196: 21(fvec2) Load 187(storeTemp) + ImageWrite 194 195 196 + 197: 21(fvec2) Load 187(storeTemp) + Store 182(val1) 197 + 199: 78(ptr) AccessChain 66 56 + 200: 6(int) Load 199 + Store 198(coordTemp) 200 + 202: 74 Load 76(g_tTex1df2) + 203: 6(int) Load 198(coordTemp) + 204: 21(fvec2) ImageRead 202 203 + Store 201(storeTemp) 204 + 206: 21(fvec2) Load 201(storeTemp) + 207: 21(fvec2) CompositeConstruct 205 205 + 208: 21(fvec2) FSub 206 207 + Store 201(storeTemp) 208 + 209: 74 Load 76(g_tTex1df2) + 210: 6(int) Load 198(coordTemp) + 211: 21(fvec2) Load 201(storeTemp) + ImageWrite 209 210 211 + 213: 78(ptr) AccessChain 66 56 + 214: 6(int) Load 213 + Store 212(coordTemp) 214 + 216: 74 Load 76(g_tTex1df2) + 217: 6(int) Load 212(coordTemp) + 218: 21(fvec2) ImageRead 216 217 + Store 215(storeTemp) 218 + 220: 21(fvec2) Load 215(storeTemp) + 221: 21(fvec2) CompositeConstruct 219 219 + 222: 21(fvec2) FAdd 220 221 + Store 215(storeTemp) 222 + 223: 74 Load 76(g_tTex1df2) + 224: 6(int) Load 212(coordTemp) + 225: 21(fvec2) Load 215(storeTemp) + ImageWrite 223 224 225 + 227: 78(ptr) AccessChain 66 56 + 228: 6(int) Load 227 + Store 226(coordTemp) 228 + 230: 88 Load 90(g_tTex1di2) + 231: 6(int) Load 226(coordTemp) + 232: 7(ivec2) ImageRead 230 231 + Store 229(storeTemp) 232 + 233: 7(ivec2) Load 229(storeTemp) + 234: 7(ivec2) CompositeConstruct 132 132 + 235: 7(ivec2) SDiv 233 234 + Store 229(storeTemp) 235 + 236: 88 Load 90(g_tTex1di2) + 237: 6(int) Load 226(coordTemp) + 238: 7(ivec2) Load 229(storeTemp) + ImageWrite 236 237 238 + 240: 78(ptr) AccessChain 66 56 + 241: 6(int) Load 240 + Store 239(coordTemp) 241 + 243: 88 Load 90(g_tTex1di2) + 244: 6(int) Load 239(coordTemp) + 245: 7(ivec2) ImageRead 243 244 + Store 242(storeTemp) 245 + 246: 7(ivec2) Load 242(storeTemp) + 247: 7(ivec2) CompositeConstruct 132 132 + 248: 7(ivec2) SMod 246 247 + Store 242(storeTemp) 248 + 249: 88 Load 90(g_tTex1di2) + 250: 6(int) Load 239(coordTemp) + 251: 7(ivec2) Load 242(storeTemp) + ImageWrite 249 250 251 + 253: 78(ptr) AccessChain 66 56 + 254: 6(int) Load 253 + Store 252(coordTemp) 254 + 256: 88 Load 90(g_tTex1di2) + 257: 6(int) Load 252(coordTemp) + 258: 7(ivec2) ImageRead 256 257 + Store 255(storeTemp) 258 + 260: 7(ivec2) Load 255(storeTemp) + 261: 7(ivec2) CompositeConstruct 259 259 + 262: 7(ivec2) BitwiseAnd 260 261 + Store 255(storeTemp) 262 + 263: 88 Load 90(g_tTex1di2) + 264: 6(int) Load 252(coordTemp) + 265: 7(ivec2) Load 255(storeTemp) + ImageWrite 263 264 265 + 267: 78(ptr) AccessChain 66 56 + 268: 6(int) Load 267 + Store 266(coordTemp) 268 + 270: 88 Load 90(g_tTex1di2) + 271: 6(int) Load 266(coordTemp) + 272: 7(ivec2) ImageRead 270 271 + Store 269(storeTemp) 272 + 274: 7(ivec2) Load 269(storeTemp) + 275: 7(ivec2) CompositeConstruct 273 273 + 276: 7(ivec2) BitwiseOr 274 275 + Store 269(storeTemp) 276 + 277: 88 Load 90(g_tTex1di2) + 278: 6(int) Load 266(coordTemp) + 279: 7(ivec2) Load 269(storeTemp) + ImageWrite 277 278 279 + 281: 78(ptr) AccessChain 66 56 + 282: 6(int) Load 281 + Store 280(coordTemp) 282 + 284: 88 Load 90(g_tTex1di2) + 285: 6(int) Load 280(coordTemp) + 286: 7(ivec2) ImageRead 284 285 + Store 283(storeTemp) 286 + 287: 7(ivec2) Load 283(storeTemp) + 288: 7(ivec2) CompositeConstruct 132 132 + 289: 7(ivec2) ShiftLeftLogical 287 288 + Store 283(storeTemp) 289 + 290: 88 Load 90(g_tTex1di2) + 291: 6(int) Load 280(coordTemp) + 292: 7(ivec2) Load 283(storeTemp) + ImageWrite 290 291 292 + 294: 78(ptr) AccessChain 66 56 + 295: 6(int) Load 294 + Store 293(coordTemp) 295 + 297: 88 Load 90(g_tTex1di2) + 298: 6(int) Load 293(coordTemp) + 299: 7(ivec2) ImageRead 297 298 + Store 296(storeTemp) 299 + 300: 7(ivec2) Load 296(storeTemp) + 301: 7(ivec2) CompositeConstruct 132 132 + 302: 7(ivec2) ShiftRightArithmetic 300 301 + Store 296(storeTemp) 302 + 303: 88 Load 90(g_tTex1di2) + 304: 6(int) Load 293(coordTemp) + 305: 7(ivec2) Load 296(storeTemp) + ImageWrite 303 304 305 + 307: 21(fvec2) FunctionCall 40(SomeValue() + Store 306(storeTemp) 307 + 308: 104 Load 106(g_tTex2df2) + 309: 68(ptr) AccessChain 66 67 + 310: 7(ivec2) Load 309 + 311: 21(fvec2) Load 306(storeTemp) + ImageWrite 308 310 311 + 312: 104 Load 106(g_tTex2df2) + 313: 68(ptr) AccessChain 66 67 + 314: 7(ivec2) Load 313 + 315: 21(fvec2) Load 153(lf2) + ImageWrite 312 314 315 + Store 316(storeTemp) 318 + 319: 112 Load 114(g_tTex2di2) + 320: 68(ptr) AccessChain 66 67 + 321: 7(ivec2) Load 320 + 322: 7(ivec2) Load 316(storeTemp) + ImageWrite 319 321 322 + Store 323(storeTemp) 325 + 326: 120 Load 122(g_tTex2du2) + 327: 68(ptr) AccessChain 66 67 + 328: 7(ivec2) Load 327 + 329: 14(ivec2) Load 323(storeTemp) + ImageWrite 326 328 329 + 331: 21(fvec2) FunctionCall 40(SomeValue() + Store 330(storeTemp) 331 + 332: 128 Load 130(g_tTex3df2) + 333: 133(ptr) AccessChain 66 132 + 334: 62(ivec3) Load 333 + 335: 21(fvec2) Load 330(storeTemp) + ImageWrite 332 334 335 + 336: 128 Load 130(g_tTex3df2) + 337: 133(ptr) AccessChain 66 132 + 338: 62(ivec3) Load 337 + 339: 21(fvec2) Load 153(lf2) + ImageWrite 336 338 339 + Store 340(storeTemp) 342 + 343: 138 Load 140(g_tTex3di2) + 344: 133(ptr) AccessChain 66 132 + 345: 62(ivec3) Load 344 + 346: 7(ivec2) Load 340(storeTemp) + ImageWrite 343 345 346 + Store 347(storeTemp) 349 + 350: 146 Load 148(g_tTex3du2) + 351: 133(ptr) AccessChain 66 132 + 352: 62(ivec3) Load 351 + 353: 14(ivec2) Load 347(storeTemp) + ImageWrite 350 352 353 + 354: 74 Load 76(g_tTex1df2) + 355: 78(ptr) AccessChain 66 56 + 356: 6(int) Load 355 + 357: 21(fvec2) ImageRead 354 356 + Store 358(param) 357 + 359: 21(fvec2) FunctionCall 25(Fn1(vf2;) 358(param) + 360: 88 Load 90(g_tTex1di2) + 361: 78(ptr) AccessChain 66 56 + 362: 6(int) Load 361 + 363: 7(ivec2) ImageRead 360 362 + Store 364(param) 363 + 365: 7(ivec2) FunctionCall 11(Fn1(vi2;) 364(param) + 366: 96 Load 98(g_tTex1du2) + 367: 78(ptr) AccessChain 66 56 + 368: 6(int) Load 367 + 369: 14(ivec2) ImageRead 366 368 + Store 370(param) 369 + 371: 14(ivec2) FunctionCall 18(Fn1(vu2;) 370(param) + 374: 2 FunctionCall 37(Fn2(vf2;) 373(param) + 375: 21(fvec2) Load 373(param) + Store 372(tempArg) 375 + 376: 74 Load 76(g_tTex1df2) + 377: 78(ptr) AccessChain 66 56 + 378: 6(int) Load 377 + 379: 21(fvec2) Load 372(tempArg) + ImageWrite 376 378 379 + 382: 2 FunctionCall 29(Fn2(vi2;) 381(param) + 383: 7(ivec2) Load 381(param) + Store 380(tempArg) 383 + 384: 88 Load 90(g_tTex1di2) + 385: 78(ptr) AccessChain 66 56 + 386: 6(int) Load 385 + 387: 7(ivec2) Load 380(tempArg) + ImageWrite 384 386 387 + 390: 2 FunctionCall 33(Fn2(vu2;) 389(param) + 391: 14(ivec2) Load 389(param) + Store 388(tempArg) 391 + 392: 96 Load 98(g_tTex1du2) + 393: 78(ptr) AccessChain 66 56 + 394: 6(int) Load 393 + 395: 14(ivec2) Load 388(tempArg) + ImageWrite 392 394 395 + 397: 78(ptr) AccessChain 66 56 + 398: 6(int) Load 397 + Store 396(coordTemp) 398 + 400: 74 Load 76(g_tTex1df2) + 401: 6(int) Load 396(coordTemp) + 402: 21(fvec2) ImageRead 400 401 + Store 399(storeTemp) 402 + 403: 21(fvec2) Load 399(storeTemp) + 405: 21(fvec2) CompositeConstruct 404 404 + 406: 21(fvec2) FAdd 403 405 + Store 399(storeTemp) 406 + 407: 74 Load 76(g_tTex1df2) + 408: 6(int) Load 396(coordTemp) + 409: 21(fvec2) Load 399(storeTemp) + ImageWrite 407 408 409 + 411: 78(ptr) AccessChain 66 56 + 412: 6(int) Load 411 + Store 410(coordTemp) 412 + 414: 88 Load 90(g_tTex1di2) + 415: 6(int) Load 410(coordTemp) + 416: 7(ivec2) ImageRead 414 415 + Store 413(storeTemp) 416 + 417: 7(ivec2) Load 413(storeTemp) + 418: 7(ivec2) CompositeConstruct 67 67 + 419: 7(ivec2) IAdd 417 418 + Store 413(storeTemp) 419 + 420: 88 Load 90(g_tTex1di2) + 421: 6(int) Load 410(coordTemp) + 422: 7(ivec2) Load 413(storeTemp) + ImageWrite 420 421 422 + 424: 78(ptr) AccessChain 66 56 + 425: 6(int) Load 424 + Store 423(coordTemp) 425 + 427: 96 Load 98(g_tTex1du2) + 428: 6(int) Load 423(coordTemp) + 429: 14(ivec2) ImageRead 427 428 + Store 426(storeTemp) 429 + 430: 14(ivec2) Load 426(storeTemp) + 431: 7(ivec2) CompositeConstruct 67 67 + 432: 14(ivec2) IAdd 430 431 + Store 426(storeTemp) 432 + 433: 96 Load 98(g_tTex1du2) + 434: 6(int) Load 423(coordTemp) + 435: 14(ivec2) Load 426(storeTemp) + ImageWrite 433 434 435 + 437: 78(ptr) AccessChain 66 56 + 438: 6(int) Load 437 + Store 436(coordTemp) 438 + 440: 74 Load 76(g_tTex1df2) + 441: 6(int) Load 436(coordTemp) + 442: 21(fvec2) ImageRead 440 441 + Store 439(storeTemp) 442 + 443: 21(fvec2) Load 439(storeTemp) + 444: 21(fvec2) CompositeConstruct 404 404 + 445: 21(fvec2) FSub 443 444 + Store 439(storeTemp) 445 + 446: 74 Load 76(g_tTex1df2) + 447: 6(int) Load 436(coordTemp) + 448: 21(fvec2) Load 439(storeTemp) + ImageWrite 446 447 448 + 450: 78(ptr) AccessChain 66 56 + 451: 6(int) Load 450 + Store 449(coordTemp) 451 + 453: 88 Load 90(g_tTex1di2) + 454: 6(int) Load 449(coordTemp) + 455: 7(ivec2) ImageRead 453 454 + Store 452(storeTemp) 455 + 456: 7(ivec2) Load 452(storeTemp) + 457: 7(ivec2) CompositeConstruct 67 67 + 458: 7(ivec2) ISub 456 457 + Store 452(storeTemp) 458 + 459: 88 Load 90(g_tTex1di2) + 460: 6(int) Load 449(coordTemp) + 461: 7(ivec2) Load 452(storeTemp) + ImageWrite 459 460 461 + 463: 78(ptr) AccessChain 66 56 + 464: 6(int) Load 463 + Store 462(coordTemp) 464 + 466: 96 Load 98(g_tTex1du2) + 467: 6(int) Load 462(coordTemp) + 468: 14(ivec2) ImageRead 466 467 + Store 465(storeTemp) 468 + 469: 14(ivec2) Load 465(storeTemp) + 470: 7(ivec2) CompositeConstruct 67 67 + 471: 14(ivec2) ISub 469 470 + Store 465(storeTemp) 471 + 472: 96 Load 98(g_tTex1du2) + 473: 6(int) Load 462(coordTemp) + 474: 14(ivec2) Load 465(storeTemp) + ImageWrite 472 473 474 + 476: 78(ptr) AccessChain 66 56 + 477: 6(int) Load 476 + Store 475(coordTemp) 477 + 479: 74 Load 76(g_tTex1df2) + 480: 6(int) Load 475(coordTemp) + 481: 21(fvec2) ImageRead 479 480 + Store 478(storeTempPre) 481 + 483: 21(fvec2) Load 478(storeTempPre) + Store 482(storeTempPost) 483 + 484: 21(fvec2) Load 482(storeTempPost) + 485: 21(fvec2) CompositeConstruct 404 404 + 486: 21(fvec2) FAdd 484 485 + Store 482(storeTempPost) 486 + 487: 74 Load 76(g_tTex1df2) + 488: 6(int) Load 475(coordTemp) + 489: 21(fvec2) Load 482(storeTempPost) + ImageWrite 487 488 489 + 491: 78(ptr) AccessChain 66 56 + 492: 6(int) Load 491 + Store 490(coordTemp) 492 + 494: 96 Load 98(g_tTex1du2) + 495: 6(int) Load 490(coordTemp) + 496: 14(ivec2) ImageRead 494 495 + Store 493(storeTempPre) 496 + 498: 14(ivec2) Load 493(storeTempPre) + Store 497(storeTempPost) 498 + 499: 14(ivec2) Load 497(storeTempPost) + 500: 7(ivec2) CompositeConstruct 67 67 + 501: 14(ivec2) ISub 499 500 + Store 497(storeTempPost) 501 + 502: 96 Load 98(g_tTex1du2) + 503: 6(int) Load 490(coordTemp) + 504: 14(ivec2) Load 497(storeTempPost) + ImageWrite 502 503 504 + 506: 78(ptr) AccessChain 66 56 + 507: 6(int) Load 506 + Store 505(coordTemp) 507 + 509: 88 Load 90(g_tTex1di2) + 510: 6(int) Load 505(coordTemp) + 511: 7(ivec2) ImageRead 509 510 + Store 508(storeTempPre) 511 + 513: 7(ivec2) Load 508(storeTempPre) + Store 512(storeTempPost) 513 + 514: 7(ivec2) Load 512(storeTempPost) + 515: 7(ivec2) CompositeConstruct 67 67 + 516: 7(ivec2) IAdd 514 515 + Store 512(storeTempPost) 516 + 517: 88 Load 90(g_tTex1di2) + 518: 6(int) Load 505(coordTemp) + 519: 7(ivec2) Load 512(storeTempPost) + ImageWrite 517 518 519 + 521: 78(ptr) AccessChain 66 56 + 522: 6(int) Load 521 + Store 520(coordTemp) 522 + 524: 74 Load 76(g_tTex1df2) + 525: 6(int) Load 520(coordTemp) + 526: 21(fvec2) ImageRead 524 525 + Store 523(storeTempPre) 526 + 528: 21(fvec2) Load 523(storeTempPre) + Store 527(storeTempPost) 528 + 529: 21(fvec2) Load 527(storeTempPost) + 530: 21(fvec2) CompositeConstruct 404 404 + 531: 21(fvec2) FSub 529 530 + Store 527(storeTempPost) 531 + 532: 74 Load 76(g_tTex1df2) + 533: 6(int) Load 520(coordTemp) + 534: 21(fvec2) Load 527(storeTempPost) + ImageWrite 532 533 534 + 536: 78(ptr) AccessChain 66 56 + 537: 6(int) Load 536 + Store 535(coordTemp) 537 + 539: 88 Load 90(g_tTex1di2) + 540: 6(int) Load 535(coordTemp) + 541: 7(ivec2) ImageRead 539 540 + Store 538(storeTempPre) 541 + 543: 7(ivec2) Load 538(storeTempPre) + Store 542(storeTempPost) 543 + 544: 7(ivec2) Load 542(storeTempPost) + 545: 7(ivec2) CompositeConstruct 67 67 + 546: 7(ivec2) IAdd 544 545 + Store 542(storeTempPost) 546 + 547: 88 Load 90(g_tTex1di2) + 548: 6(int) Load 535(coordTemp) + 549: 7(ivec2) Load 542(storeTempPost) + ImageWrite 547 548 549 + 551: 78(ptr) AccessChain 66 56 + 552: 6(int) Load 551 + Store 550(coordTemp) 552 + 554: 96 Load 98(g_tTex1du2) + 555: 6(int) Load 550(coordTemp) + 556: 14(ivec2) ImageRead 554 555 + Store 553(storeTempPre) 556 + 558: 14(ivec2) Load 553(storeTempPre) + Store 557(storeTempPost) 558 + 559: 14(ivec2) Load 557(storeTempPost) + 560: 7(ivec2) CompositeConstruct 67 67 + 561: 14(ivec2) ISub 559 560 + Store 557(storeTempPost) 561 + 562: 96 Load 98(g_tTex1du2) + 563: 6(int) Load 550(coordTemp) + 564: 14(ivec2) Load 557(storeTempPost) + ImageWrite 562 563 564 + 566: 104 Load 106(g_tTex2df2) + 569: 21(fvec2) ImageRead 566 568 + Store 565(storeTemp) 569 + 570: 74 Load 76(g_tTex1df2) + 571: 21(fvec2) Load 565(storeTemp) + ImageWrite 570 67 571 + 576: 575(ptr) AccessChain 573(psout) 56 + Store 576 574 + 577:43(PS_OUTPUT) Load 573(psout) + ReturnValue 577 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out index f223e4bf6b8..5a8a79c6477 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -2,111 +2,111 @@ hlsl.sample.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 texture (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 texture ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 texture (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 texture ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:? 1.000000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -114,42 +114,48 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -158,111 +164,111 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 texture (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 texture ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 texture (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 texture ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:? 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:? 0.400000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:? 0.700000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:? 1.000000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -270,245 +276,262 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 139 +// Id's are bound by 146 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 134 + EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 28 "txval11" - Name 31 "g_tTex1di4" - Name 42 "txval12" - Name 45 "g_tTex1du4" - Name 53 "txval20" - Name 56 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 87 "txval40" - Name 90 "g_tTexcdf4" - Name 97 "txval41" - Name 100 "g_tTexcdi4" - Name 107 "txval42" - Name 110 "g_tTexcdu4" - Name 120 "PS_OUTPUT" - MemberName 120(PS_OUTPUT) 0 "Color" - MemberName 120(PS_OUTPUT) 1 "Depth" - Name 122 "psout" - Name 130 "Color" - Name 134 "Depth" - Name 138 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 90(g_tTexcdf4) DescriptorSet 0 - Decorate 100(g_tTexcdi4) DescriptorSet 0 - Decorate 110(g_tTexcdu4) DescriptorSet 0 - Decorate 130(Color) Location 0 - Decorate 134(Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "txval11" + Name 35 "g_tTex1di4" + Name 46 "txval12" + Name 49 "g_tTex1du4" + Name 57 "txval20" + Name 60 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 91 "txval40" + Name 94 "g_tTexcdf4" + Name 101 "txval41" + Name 104 "g_tTexcdi4" + Name 111 "txval42" + Name 114 "g_tTexcdu4" + Name 125 "psout" + Name 135 "flattenTemp" + Name 138 "Color" + Name 142 "Depth" + Name 145 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 138(Color) Location 0 + Decorate 142(Depth) BuiltIn FragDepth + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 25: TypeInt 32 1 - 26: TypeVector 25(int) 4 - 27: TypePointer Function 26(ivec4) - 29: TypeImage 25(int) 1D array sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeSampledImage 29 - 36: 6(float) Constant 1050253722 - 37: 20(fvec2) ConstantComposite 22 36 - 39: TypeInt 32 0 - 40: TypeVector 39(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) 1D array sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeSampledImage 43 - 50: 6(float) Constant 1053609165 - 51: 20(fvec2) ConstantComposite 36 50 - 54: TypeImage 6(float) 2D array sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeSampledImage 54 - 61: TypeVector 6(float) 3 - 62: 61(fvec3) ConstantComposite 21 22 36 - 65: TypeImage 25(int) 2D array sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1056964608 - 73: 61(fvec3) ConstantComposite 36 50 72 - 76: TypeImage 39(int) 2D array sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1058642330 - 84: 6(float) Constant 1060320051 - 85: 61(fvec3) ConstantComposite 72 83 84 - 88: TypeImage 6(float) Cube array sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTexcdf4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 7(fvec4) ConstantComposite 21 22 36 50 - 98: TypeImage 25(int) Cube array sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdi4): 99(ptr) Variable UniformConstant - 103: TypeSampledImage 98 - 105: 7(fvec4) ConstantComposite 50 72 83 84 - 108: TypeImage 39(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTexcdu4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1061997773 - 116: 6(float) Constant 1063675494 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 84 115 116 117 - 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 121: TypePointer Function 120(PS_OUTPUT) - 123: 25(int) Constant 0 - 124: 7(fvec4) ConstantComposite 117 117 117 117 - 126: 25(int) Constant 1 - 127: TypePointer Function 6(float) - 129: TypePointer Output 7(fvec4) - 130(Color): 129(ptr) Variable Output - 133: TypePointer Output 6(float) - 134(Depth): 133(ptr) Variable Output -138(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 29: TypeInt 32 1 + 30: TypeVector 29(int) 4 + 31: TypePointer Function 30(ivec4) + 33: TypeImage 29(int) 1D array sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 40: 6(float) Constant 1050253722 + 41: 24(fvec2) ConstantComposite 26 40 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 4 + 45: TypePointer Function 44(ivec4) + 47: TypeImage 43(int) 1D array sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeSampledImage 47 + 54: 6(float) Constant 1053609165 + 55: 24(fvec2) ConstantComposite 40 54 + 58: TypeImage 6(float) 2D array sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex2df4): 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 65: TypeVector 6(float) 3 + 66: 65(fvec3) ConstantComposite 25 26 40 + 69: TypeImage 29(int) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1056964608 + 77: 65(fvec3) ConstantComposite 40 54 76 + 80: TypeImage 43(int) 2D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1058642330 + 88: 6(float) Constant 1060320051 + 89: 65(fvec3) ConstantComposite 76 87 88 + 92: TypeImage 6(float) Cube array sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTexcdf4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 7(fvec4) ConstantComposite 25 26 40 54 + 102: TypeImage 29(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTexcdi4): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 7(fvec4) ConstantComposite 54 76 87 88 + 112: TypeImage 43(int) Cube array sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTexcdu4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 6(float) Constant 1061997773 + 120: 6(float) Constant 1063675494 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 88 119 120 121 + 124: TypePointer Function 8(PS_OUTPUT) + 126: 29(int) Constant 0 + 127: 7(fvec4) ConstantComposite 121 121 121 121 + 129: 29(int) Constant 1 + 130: TypePointer Function 6(float) + 137: TypePointer Output 7(fvec4) + 138(Color): 137(ptr) Variable Output + 141: TypePointer Output 6(float) + 142(Depth): 141(ptr) Variable Output +145(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 28(txval11): 27(ptr) Variable Function - 42(txval12): 41(ptr) Variable Function - 53(txval20): 8(ptr) Variable Function - 64(txval21): 27(ptr) Variable Function - 75(txval22): 41(ptr) Variable Function - 87(txval40): 8(ptr) Variable Function - 97(txval41): 27(ptr) Variable Function - 107(txval42): 41(ptr) Variable Function - 122(psout): 121(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 23 - Store 9(txval10) 24 - 32: 29 Load 31(g_tTex1di4) - 33: 14 Load 16(g_sSamp) - 35: 34 SampledImage 32 33 - 38: 26(ivec4) ImageSampleImplicitLod 35 37 - Store 28(txval11) 38 - 46: 43 Load 45(g_tTex1du4) - 47: 14 Load 16(g_sSamp) - 49: 48 SampledImage 46 47 - 52: 40(ivec4) ImageSampleImplicitLod 49 51 - Store 42(txval12) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 14 Load 16(g_sSamp) - 60: 59 SampledImage 57 58 - 63: 7(fvec4) ImageSampleImplicitLod 60 62 - Store 53(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 74: 26(ivec4) ImageSampleImplicitLod 71 73 - Store 64(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 86: 40(ivec4) ImageSampleImplicitLod 82 85 - Store 75(txval22) 86 - 91: 88 Load 90(g_tTexcdf4) - 92: 14 Load 16(g_sSamp) - 94: 93 SampledImage 91 92 - 96: 7(fvec4) ImageSampleImplicitLod 94 95 - Store 87(txval40) 96 - 101: 98 Load 100(g_tTexcdi4) - 102: 14 Load 16(g_sSamp) - 104: 103 SampledImage 101 102 - 106: 26(ivec4) ImageSampleImplicitLod 104 105 - Store 97(txval41) 106 - 111: 108 Load 110(g_tTexcdu4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 40(ivec4) ImageSampleImplicitLod 114 118 - Store 107(txval42) 119 - 125: 8(ptr) AccessChain 122(psout) 123 - Store 125 124 - 128: 127(ptr) AccessChain 122(psout) 126 - Store 128 117 - 131: 8(ptr) AccessChain 122(psout) 123 - 132: 7(fvec4) Load 131 - Store 130(Color) 132 - 135: 127(ptr) AccessChain 122(psout) 126 - 136: 6(float) Load 135 - Store 134(Depth) 136 +135(flattenTemp): 124(ptr) Variable Function + 136:8(PS_OUTPUT) FunctionCall 10(@main() + Store 135(flattenTemp) 136 + 139: 12(ptr) AccessChain 135(flattenTemp) 126 + 140: 7(fvec4) Load 139 + Store 138(Color) 140 + 143: 130(ptr) AccessChain 135(flattenTemp) 129 + 144: 6(float) Load 143 + Store 142(Depth) 144 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 32(txval11): 31(ptr) Variable Function + 46(txval12): 45(ptr) Variable Function + 57(txval20): 12(ptr) Variable Function + 68(txval21): 31(ptr) Variable Function + 79(txval22): 45(ptr) Variable Function + 91(txval40): 12(ptr) Variable Function + 101(txval41): 31(ptr) Variable Function + 111(txval42): 45(ptr) Variable Function + 125(psout): 124(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleImplicitLod 23 27 + Store 13(txval10) 28 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 42: 30(ivec4) ImageSampleImplicitLod 39 41 + Store 32(txval11) 42 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 53: 52 SampledImage 50 51 + 56: 44(ivec4) ImageSampleImplicitLod 53 55 + Store 46(txval12) 56 + 61: 58 Load 60(g_tTex2df4) + 62: 18 Load 20(g_sSamp) + 64: 63 SampledImage 61 62 + 67: 7(fvec4) ImageSampleImplicitLod 64 66 + Store 57(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 78: 30(ivec4) ImageSampleImplicitLod 75 77 + Store 68(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 90: 44(ivec4) ImageSampleImplicitLod 86 89 + Store 79(txval22) 90 + 95: 92 Load 94(g_tTexcdf4) + 96: 18 Load 20(g_sSamp) + 98: 97 SampledImage 95 96 + 100: 7(fvec4) ImageSampleImplicitLod 98 99 + Store 91(txval40) 100 + 105: 102 Load 104(g_tTexcdi4) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 30(ivec4) ImageSampleImplicitLod 108 109 + Store 101(txval41) 110 + 115: 112 Load 114(g_tTexcdu4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 123: 44(ivec4) ImageSampleImplicitLod 118 122 + Store 111(txval42) 123 + 128: 12(ptr) AccessChain 125(psout) 126 + Store 128 127 + 131: 130(ptr) AccessChain 125(psout) 129 + Store 131 121 + 132:8(PS_OUTPUT) Load 125(psout) + ReturnValue 132 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out index a222125a821..725de275cec 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -4,219 +4,219 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:53 Function Parameters: 0:? Sequence -0:57 move second child to first child (temp int) -0:57 CalculateLevelOfDetail: direct index for structure (temp int) -0:57 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:57 move second child to first child ( temp int) +0:57 CalculateLevelOfDetail: direct index for structure ( temp int) +0:57 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1 (const int) -0:58 move second child to first child (temp int) -0:58 CalculateLevelOfDetailUnclamped: direct index for structure (temp int) -0:58 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:58 move second child to first child ( temp int) +0:58 CalculateLevelOfDetailUnclamped: direct index for structure ( temp int) +0:58 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:58 Constant: 0:58 2 (const int) 0:58 Constant: 0:58 1 (const int) -0:59 move second child to first child (temp int) -0:59 Gather: direct index for structure (temp int) -0:59 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:59 move second child to first child ( temp int) +0:59 Gather: direct index for structure ( temp int) +0:59 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:59 Constant: 0:59 3 (const int) 0:59 Constant: 0:59 1 (const int) -0:60 move second child to first child (temp int) -0:60 GetDimensions: direct index for structure (temp int) -0:60 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:60 move second child to first child ( temp int) +0:60 GetDimensions: direct index for structure ( temp int) +0:60 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:60 Constant: 0:60 4 (const int) 0:60 Constant: 0:60 1 (const int) -0:61 move second child to first child (temp int) -0:61 GetSamplePosition: direct index for structure (temp int) -0:61 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:61 move second child to first child ( temp int) +0:61 GetSamplePosition: direct index for structure ( temp int) +0:61 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:61 Constant: 0:61 5 (const int) 0:61 Constant: 0:61 1 (const int) -0:62 move second child to first child (temp int) -0:62 Load: direct index for structure (temp int) -0:62 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:62 move second child to first child ( temp int) +0:62 Load: direct index for structure ( temp int) +0:62 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:62 Constant: 0:62 6 (const int) 0:62 Constant: 0:62 1 (const int) -0:63 move second child to first child (temp int) -0:63 Sample: direct index for structure (temp int) -0:63 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:63 move second child to first child ( temp int) +0:63 Sample: direct index for structure ( temp int) +0:63 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: 0:63 1 (const int) -0:64 move second child to first child (temp int) -0:64 SampleBias: direct index for structure (temp int) -0:64 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:64 move second child to first child ( temp int) +0:64 SampleBias: direct index for structure ( temp int) +0:64 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:64 Constant: 0:64 7 (const int) 0:64 Constant: 0:64 1 (const int) -0:65 move second child to first child (temp int) -0:65 SampleCmp: direct index for structure (temp int) -0:65 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:65 move second child to first child ( temp int) +0:65 SampleCmp: direct index for structure ( temp int) +0:65 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:65 Constant: 0:65 8 (const int) 0:65 Constant: 0:65 1 (const int) -0:66 move second child to first child (temp int) -0:66 SampleCmpLevelZero: direct index for structure (temp int) -0:66 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:66 move second child to first child ( temp int) +0:66 SampleCmpLevelZero: direct index for structure ( temp int) +0:66 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:66 Constant: 0:66 9 (const int) 0:66 Constant: 0:66 1 (const int) -0:67 move second child to first child (temp int) -0:67 SampleGrad: direct index for structure (temp int) -0:67 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:67 move second child to first child ( temp int) +0:67 SampleGrad: direct index for structure ( temp int) +0:67 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:67 Constant: 0:67 10 (const int) 0:67 Constant: 0:67 1 (const int) -0:68 move second child to first child (temp int) -0:68 SampleLevel: direct index for structure (temp int) -0:68 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:68 move second child to first child ( temp int) +0:68 SampleLevel: direct index for structure ( temp int) +0:68 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:68 Constant: 0:68 11 (const int) 0:68 Constant: 0:68 1 (const int) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:70 'txval10' (temp 4-component vector of float) -0:70 texture (temp 4-component vector of float) -0:70 Construct combined texture-sampler (temp sampler1D) -0:70 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 'txval10' ( temp 4-component vector of float) +0:70 texture ( temp 4-component vector of float) +0:70 Construct combined texture-sampler ( temp sampler1D) +0:70 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:70 'g_sSamp' (layout( binding=0) uniform sampler) 0:70 Constant: 0:70 0.100000 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of int) -0:71 'txval11' (temp 4-component vector of int) -0:71 texture (temp 4-component vector of int) -0:71 Construct combined texture-sampler (temp isampler1D) -0:71 'g_tTex1di4' (uniform itexture1D) -0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:71 move second child to first child ( temp 4-component vector of int) +0:71 'txval11' ( temp 4-component vector of int) +0:71 texture ( temp 4-component vector of int) +0:71 Construct combined texture-sampler ( temp isampler1D) +0:71 'g_tTex1di4' ( uniform itexture1D) +0:71 'g_sSamp' (layout( binding=0) uniform sampler) 0:71 Constant: 0:71 0.200000 0:72 Sequence -0:72 move second child to first child (temp 4-component vector of uint) -0:72 'txval12' (temp 4-component vector of uint) -0:72 texture (temp 4-component vector of uint) -0:72 Construct combined texture-sampler (temp usampler1D) -0:72 'g_tTex1du4' (uniform utexture1D) -0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:72 move second child to first child ( temp 4-component vector of uint) +0:72 'txval12' ( temp 4-component vector of uint) +0:72 texture ( temp 4-component vector of uint) +0:72 Construct combined texture-sampler ( temp usampler1D) +0:72 'g_tTex1du4' ( uniform utexture1D) +0:72 'g_sSamp' (layout( binding=0) uniform sampler) 0:72 Constant: 0:72 0.300000 0:74 Sequence -0:74 move second child to first child (temp 4-component vector of float) -0:74 'txval20' (temp 4-component vector of float) -0:74 texture (temp 4-component vector of float) -0:74 Construct combined texture-sampler (temp sampler2D) -0:74 'g_tTex2df4' (uniform texture2D) -0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:74 move second child to first child ( temp 4-component vector of float) +0:74 'txval20' ( temp 4-component vector of float) +0:74 texture ( temp 4-component vector of float) +0:74 Construct combined texture-sampler ( temp sampler2D) +0:74 'g_tTex2df4' ( uniform texture2D) +0:74 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:75 Sequence -0:75 move second child to first child (temp 4-component vector of int) -0:75 'txval21' (temp 4-component vector of int) -0:75 texture (temp 4-component vector of int) -0:75 Construct combined texture-sampler (temp isampler2D) -0:75 'g_tTex2di4' (uniform itexture2D) -0:75 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:75 move second child to first child ( temp 4-component vector of int) +0:75 'txval21' ( temp 4-component vector of int) +0:75 texture ( temp 4-component vector of int) +0:75 Construct combined texture-sampler ( temp isampler2D) +0:75 'g_tTex2di4' ( uniform itexture2D) +0:75 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:76 Sequence -0:76 move second child to first child (temp 4-component vector of uint) -0:76 'txval22' (temp 4-component vector of uint) -0:76 texture (temp 4-component vector of uint) -0:76 Construct combined texture-sampler (temp usampler2D) -0:76 'g_tTex2du4' (uniform utexture2D) -0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:76 move second child to first child ( temp 4-component vector of uint) +0:76 'txval22' ( temp 4-component vector of uint) +0:76 texture ( temp 4-component vector of uint) +0:76 Construct combined texture-sampler ( temp usampler2D) +0:76 'g_tTex2du4' ( uniform utexture2D) +0:76 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:78 'txval30' (temp 4-component vector of float) -0:78 texture (temp 4-component vector of float) -0:78 Construct combined texture-sampler (temp sampler3D) -0:78 'g_tTex3df4' (uniform texture3D) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:78 move second child to first child ( temp 4-component vector of float) +0:78 'txval30' ( temp 4-component vector of float) +0:78 texture ( temp 4-component vector of float) +0:78 Construct combined texture-sampler ( temp sampler3D) +0:78 'g_tTex3df4' ( uniform texture3D) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'txval31' (temp 4-component vector of int) -0:79 texture (temp 4-component vector of int) -0:79 Construct combined texture-sampler (temp isampler3D) -0:79 'g_tTex3di4' (uniform itexture3D) -0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'txval31' ( temp 4-component vector of int) +0:79 texture ( temp 4-component vector of int) +0:79 Construct combined texture-sampler ( temp isampler3D) +0:79 'g_tTex3di4' ( uniform itexture3D) +0:79 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'txval32' (temp 4-component vector of uint) -0:80 texture (temp 4-component vector of uint) -0:80 Construct combined texture-sampler (temp usampler3D) -0:80 'g_tTex3du4' (uniform utexture3D) -0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'txval32' ( temp 4-component vector of uint) +0:80 texture ( temp 4-component vector of uint) +0:80 Construct combined texture-sampler ( temp usampler3D) +0:80 'g_tTex3du4' ( uniform utexture3D) +0:80 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:82 Sequence -0:82 move second child to first child (temp 4-component vector of float) -0:82 'txval40' (temp 4-component vector of float) -0:82 texture (temp 4-component vector of float) -0:82 Construct combined texture-sampler (temp samplerCube) -0:82 'g_tTexcdf4' (uniform textureCube) -0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:82 move second child to first child ( temp 4-component vector of float) +0:82 'txval40' ( temp 4-component vector of float) +0:82 texture ( temp 4-component vector of float) +0:82 Construct combined texture-sampler ( temp samplerCube) +0:82 'g_tTexcdf4' ( uniform textureCube) +0:82 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of int) -0:83 'txval41' (temp 4-component vector of int) -0:83 texture (temp 4-component vector of int) -0:83 Construct combined texture-sampler (temp isamplerCube) -0:83 'g_tTexcdi4' (uniform itextureCube) -0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:83 move second child to first child ( temp 4-component vector of int) +0:83 'txval41' ( temp 4-component vector of int) +0:83 texture ( temp 4-component vector of int) +0:83 Construct combined texture-sampler ( temp isamplerCube) +0:83 'g_tTexcdi4' ( uniform itextureCube) +0:83 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:84 Sequence -0:84 move second child to first child (temp 4-component vector of uint) -0:84 'txval42' (temp 4-component vector of uint) -0:84 texture (temp 4-component vector of uint) -0:84 Construct combined texture-sampler (temp usamplerCube) -0:84 'g_tTexcdu4' (uniform utextureCube) -0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:84 move second child to first child ( temp 4-component vector of uint) +0:84 'txval42' ( temp 4-component vector of uint) +0:84 texture ( temp 4-component vector of uint) +0:84 Construct combined texture-sampler ( temp usamplerCube) +0:84 'g_tTexcdu4' ( uniform utextureCube) +0:84 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:86 move second child to first child (temp 4-component vector of float) -0:86 Color: direct index for structure (temp 4-component vector of float) -0:86 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:86 move second child to first child ( temp 4-component vector of float) +0:86 Color: direct index for structure ( temp 4-component vector of float) +0:86 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:86 Constant: 0:86 0 (const int) 0:86 Constant: @@ -224,47 +224,53 @@ gl_FragCoord origin is upper left 0:86 1.000000 0:86 1.000000 0:86 1.000000 -0:87 move second child to first child (temp float) -0:87 Depth: direct index for structure (temp float) -0:87 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:87 move second child to first child ( temp float) +0:87 Depth: direct index for structure ( temp float) +0:87 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Sequence -0:89 Sequence -0:89 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:89 Color: direct index for structure (temp 4-component vector of float) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:89 Constant: -0:89 0 (const int) -0:89 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:89 Depth: direct index for structure (temp float) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:89 Constant: -0:89 1 (const int) -0:89 Branch: Return +0:89 Branch: Return with expression +0:89 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Constant: +0:53 0 (const int) +0:53 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:53 Depth: direct index for structure ( temp float) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Constant: +0:53 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_sSamp2D_b' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_sSamp2D_b' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -273,219 +279,219 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:53 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:53 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:53 Function Parameters: 0:? Sequence -0:57 move second child to first child (temp int) -0:57 CalculateLevelOfDetail: direct index for structure (temp int) -0:57 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:57 move second child to first child ( temp int) +0:57 CalculateLevelOfDetail: direct index for structure ( temp int) +0:57 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1 (const int) -0:58 move second child to first child (temp int) -0:58 CalculateLevelOfDetailUnclamped: direct index for structure (temp int) -0:58 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:58 move second child to first child ( temp int) +0:58 CalculateLevelOfDetailUnclamped: direct index for structure ( temp int) +0:58 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:58 Constant: 0:58 2 (const int) 0:58 Constant: 0:58 1 (const int) -0:59 move second child to first child (temp int) -0:59 Gather: direct index for structure (temp int) -0:59 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:59 move second child to first child ( temp int) +0:59 Gather: direct index for structure ( temp int) +0:59 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:59 Constant: 0:59 3 (const int) 0:59 Constant: 0:59 1 (const int) -0:60 move second child to first child (temp int) -0:60 GetDimensions: direct index for structure (temp int) -0:60 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:60 move second child to first child ( temp int) +0:60 GetDimensions: direct index for structure ( temp int) +0:60 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:60 Constant: 0:60 4 (const int) 0:60 Constant: 0:60 1 (const int) -0:61 move second child to first child (temp int) -0:61 GetSamplePosition: direct index for structure (temp int) -0:61 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:61 move second child to first child ( temp int) +0:61 GetSamplePosition: direct index for structure ( temp int) +0:61 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:61 Constant: 0:61 5 (const int) 0:61 Constant: 0:61 1 (const int) -0:62 move second child to first child (temp int) -0:62 Load: direct index for structure (temp int) -0:62 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:62 move second child to first child ( temp int) +0:62 Load: direct index for structure ( temp int) +0:62 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:62 Constant: 0:62 6 (const int) 0:62 Constant: 0:62 1 (const int) -0:63 move second child to first child (temp int) -0:63 Sample: direct index for structure (temp int) -0:63 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:63 move second child to first child ( temp int) +0:63 Sample: direct index for structure ( temp int) +0:63 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: 0:63 1 (const int) -0:64 move second child to first child (temp int) -0:64 SampleBias: direct index for structure (temp int) -0:64 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:64 move second child to first child ( temp int) +0:64 SampleBias: direct index for structure ( temp int) +0:64 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:64 Constant: 0:64 7 (const int) 0:64 Constant: 0:64 1 (const int) -0:65 move second child to first child (temp int) -0:65 SampleCmp: direct index for structure (temp int) -0:65 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:65 move second child to first child ( temp int) +0:65 SampleCmp: direct index for structure ( temp int) +0:65 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:65 Constant: 0:65 8 (const int) 0:65 Constant: 0:65 1 (const int) -0:66 move second child to first child (temp int) -0:66 SampleCmpLevelZero: direct index for structure (temp int) -0:66 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:66 move second child to first child ( temp int) +0:66 SampleCmpLevelZero: direct index for structure ( temp int) +0:66 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:66 Constant: 0:66 9 (const int) 0:66 Constant: 0:66 1 (const int) -0:67 move second child to first child (temp int) -0:67 SampleGrad: direct index for structure (temp int) -0:67 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:67 move second child to first child ( temp int) +0:67 SampleGrad: direct index for structure ( temp int) +0:67 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:67 Constant: 0:67 10 (const int) 0:67 Constant: 0:67 1 (const int) -0:68 move second child to first child (temp int) -0:68 SampleLevel: direct index for structure (temp int) -0:68 'mtest' (temp structure{temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) +0:68 move second child to first child ( temp int) +0:68 SampleLevel: direct index for structure ( temp int) +0:68 'mtest' ( temp structure{ temp int Sample, temp int CalculateLevelOfDetail, temp int CalculateLevelOfDetailUnclamped, temp int Gather, temp int GetDimensions, temp int GetSamplePosition, temp int Load, temp int SampleBias, temp int SampleCmp, temp int SampleCmpLevelZero, temp int SampleGrad, temp int SampleLevel}) 0:68 Constant: 0:68 11 (const int) 0:68 Constant: 0:68 1 (const int) 0:70 Sequence -0:70 move second child to first child (temp 4-component vector of float) -0:70 'txval10' (temp 4-component vector of float) -0:70 texture (temp 4-component vector of float) -0:70 Construct combined texture-sampler (temp sampler1D) -0:70 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 'txval10' ( temp 4-component vector of float) +0:70 texture ( temp 4-component vector of float) +0:70 Construct combined texture-sampler ( temp sampler1D) +0:70 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:70 'g_sSamp' (layout( binding=0) uniform sampler) 0:70 Constant: 0:70 0.100000 0:71 Sequence -0:71 move second child to first child (temp 4-component vector of int) -0:71 'txval11' (temp 4-component vector of int) -0:71 texture (temp 4-component vector of int) -0:71 Construct combined texture-sampler (temp isampler1D) -0:71 'g_tTex1di4' (uniform itexture1D) -0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:71 move second child to first child ( temp 4-component vector of int) +0:71 'txval11' ( temp 4-component vector of int) +0:71 texture ( temp 4-component vector of int) +0:71 Construct combined texture-sampler ( temp isampler1D) +0:71 'g_tTex1di4' ( uniform itexture1D) +0:71 'g_sSamp' (layout( binding=0) uniform sampler) 0:71 Constant: 0:71 0.200000 0:72 Sequence -0:72 move second child to first child (temp 4-component vector of uint) -0:72 'txval12' (temp 4-component vector of uint) -0:72 texture (temp 4-component vector of uint) -0:72 Construct combined texture-sampler (temp usampler1D) -0:72 'g_tTex1du4' (uniform utexture1D) -0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:72 move second child to first child ( temp 4-component vector of uint) +0:72 'txval12' ( temp 4-component vector of uint) +0:72 texture ( temp 4-component vector of uint) +0:72 Construct combined texture-sampler ( temp usampler1D) +0:72 'g_tTex1du4' ( uniform utexture1D) +0:72 'g_sSamp' (layout( binding=0) uniform sampler) 0:72 Constant: 0:72 0.300000 0:74 Sequence -0:74 move second child to first child (temp 4-component vector of float) -0:74 'txval20' (temp 4-component vector of float) -0:74 texture (temp 4-component vector of float) -0:74 Construct combined texture-sampler (temp sampler2D) -0:74 'g_tTex2df4' (uniform texture2D) -0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:74 move second child to first child ( temp 4-component vector of float) +0:74 'txval20' ( temp 4-component vector of float) +0:74 texture ( temp 4-component vector of float) +0:74 Construct combined texture-sampler ( temp sampler2D) +0:74 'g_tTex2df4' ( uniform texture2D) +0:74 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:75 Sequence -0:75 move second child to first child (temp 4-component vector of int) -0:75 'txval21' (temp 4-component vector of int) -0:75 texture (temp 4-component vector of int) -0:75 Construct combined texture-sampler (temp isampler2D) -0:75 'g_tTex2di4' (uniform itexture2D) -0:75 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:75 move second child to first child ( temp 4-component vector of int) +0:75 'txval21' ( temp 4-component vector of int) +0:75 texture ( temp 4-component vector of int) +0:75 Construct combined texture-sampler ( temp isampler2D) +0:75 'g_tTex2di4' ( uniform itexture2D) +0:75 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:76 Sequence -0:76 move second child to first child (temp 4-component vector of uint) -0:76 'txval22' (temp 4-component vector of uint) -0:76 texture (temp 4-component vector of uint) -0:76 Construct combined texture-sampler (temp usampler2D) -0:76 'g_tTex2du4' (uniform utexture2D) -0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:76 move second child to first child ( temp 4-component vector of uint) +0:76 'txval22' ( temp 4-component vector of uint) +0:76 texture ( temp 4-component vector of uint) +0:76 Construct combined texture-sampler ( temp usampler2D) +0:76 'g_tTex2du4' ( uniform utexture2D) +0:76 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:78 Sequence -0:78 move second child to first child (temp 4-component vector of float) -0:78 'txval30' (temp 4-component vector of float) -0:78 texture (temp 4-component vector of float) -0:78 Construct combined texture-sampler (temp sampler3D) -0:78 'g_tTex3df4' (uniform texture3D) -0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:78 move second child to first child ( temp 4-component vector of float) +0:78 'txval30' ( temp 4-component vector of float) +0:78 texture ( temp 4-component vector of float) +0:78 Construct combined texture-sampler ( temp sampler3D) +0:78 'g_tTex3df4' ( uniform texture3D) +0:78 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:79 Sequence -0:79 move second child to first child (temp 4-component vector of int) -0:79 'txval31' (temp 4-component vector of int) -0:79 texture (temp 4-component vector of int) -0:79 Construct combined texture-sampler (temp isampler3D) -0:79 'g_tTex3di4' (uniform itexture3D) -0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:79 move second child to first child ( temp 4-component vector of int) +0:79 'txval31' ( temp 4-component vector of int) +0:79 texture ( temp 4-component vector of int) +0:79 Construct combined texture-sampler ( temp isampler3D) +0:79 'g_tTex3di4' ( uniform itexture3D) +0:79 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:80 Sequence -0:80 move second child to first child (temp 4-component vector of uint) -0:80 'txval32' (temp 4-component vector of uint) -0:80 texture (temp 4-component vector of uint) -0:80 Construct combined texture-sampler (temp usampler3D) -0:80 'g_tTex3du4' (uniform utexture3D) -0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:80 move second child to first child ( temp 4-component vector of uint) +0:80 'txval32' ( temp 4-component vector of uint) +0:80 texture ( temp 4-component vector of uint) +0:80 Construct combined texture-sampler ( temp usampler3D) +0:80 'g_tTex3du4' ( uniform utexture3D) +0:80 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:82 Sequence -0:82 move second child to first child (temp 4-component vector of float) -0:82 'txval40' (temp 4-component vector of float) -0:82 texture (temp 4-component vector of float) -0:82 Construct combined texture-sampler (temp samplerCube) -0:82 'g_tTexcdf4' (uniform textureCube) -0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:82 move second child to first child ( temp 4-component vector of float) +0:82 'txval40' ( temp 4-component vector of float) +0:82 texture ( temp 4-component vector of float) +0:82 Construct combined texture-sampler ( temp samplerCube) +0:82 'g_tTexcdf4' ( uniform textureCube) +0:82 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:83 Sequence -0:83 move second child to first child (temp 4-component vector of int) -0:83 'txval41' (temp 4-component vector of int) -0:83 texture (temp 4-component vector of int) -0:83 Construct combined texture-sampler (temp isamplerCube) -0:83 'g_tTexcdi4' (uniform itextureCube) -0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:83 move second child to first child ( temp 4-component vector of int) +0:83 'txval41' ( temp 4-component vector of int) +0:83 texture ( temp 4-component vector of int) +0:83 Construct combined texture-sampler ( temp isamplerCube) +0:83 'g_tTexcdi4' ( uniform itextureCube) +0:83 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 0:? 0.600000 0:84 Sequence -0:84 move second child to first child (temp 4-component vector of uint) -0:84 'txval42' (temp 4-component vector of uint) -0:84 texture (temp 4-component vector of uint) -0:84 Construct combined texture-sampler (temp usamplerCube) -0:84 'g_tTexcdu4' (uniform utextureCube) -0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:84 move second child to first child ( temp 4-component vector of uint) +0:84 'txval42' ( temp 4-component vector of uint) +0:84 texture ( temp 4-component vector of uint) +0:84 Construct combined texture-sampler ( temp usamplerCube) +0:84 'g_tTexcdu4' ( uniform utextureCube) +0:84 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 -0:86 move second child to first child (temp 4-component vector of float) -0:86 Color: direct index for structure (temp 4-component vector of float) -0:86 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:86 move second child to first child ( temp 4-component vector of float) +0:86 Color: direct index for structure ( temp 4-component vector of float) +0:86 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:86 Constant: 0:86 0 (const int) 0:86 Constant: @@ -493,343 +499,360 @@ gl_FragCoord origin is upper left 0:86 1.000000 0:86 1.000000 0:86 1.000000 -0:87 move second child to first child (temp float) -0:87 Depth: direct index for structure (temp float) -0:87 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:87 move second child to first child ( temp float) +0:87 Depth: direct index for structure ( temp float) +0:87 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:87 Constant: 0:87 1 (const int) 0:87 Constant: 0:87 1.000000 -0:89 Sequence -0:89 Sequence -0:89 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:89 Color: direct index for structure (temp 4-component vector of float) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:89 Constant: -0:89 0 (const int) -0:89 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:89 Depth: direct index for structure (temp float) -0:89 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:89 Constant: -0:89 1 (const int) -0:89 Branch: Return +0:89 Branch: Return with expression +0:89 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Function Definition: main( ( temp void) +0:53 Function Parameters: +0:? Sequence +0:53 Sequence +0:53 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:53 Color: direct index for structure ( temp 4-component vector of float) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Constant: +0:53 0 (const int) +0:53 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:53 Depth: direct index for structure ( temp float) +0:53 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:53 Constant: +0:53 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_sSamp2D_b' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_sSamp2D_b' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 191 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 7 "MemberTest" - MemberName 7(MemberTest) 0 "Sample" - MemberName 7(MemberTest) 1 "CalculateLevelOfDetail" - MemberName 7(MemberTest) 2 "CalculateLevelOfDetailUnclamped" - MemberName 7(MemberTest) 3 "Gather" - MemberName 7(MemberTest) 4 "GetDimensions" - MemberName 7(MemberTest) 5 "GetSamplePosition" - MemberName 7(MemberTest) 6 "Load" - MemberName 7(MemberTest) 7 "SampleBias" - MemberName 7(MemberTest) 8 "SampleCmp" - MemberName 7(MemberTest) 9 "SampleCmpLevelZero" - MemberName 7(MemberTest) 10 "SampleGrad" - MemberName 7(MemberTest) 11 "SampleLevel" - Name 9 "mtest" - Name 38 "txval10" - Name 41 "g_tTex1df4" - Name 45 "g_sSamp" - Name 53 "txval11" - Name 56 "g_tTex1di4" - Name 66 "txval12" - Name 69 "g_tTex1du4" - Name 76 "txval20" - Name 79 "g_tTex2df4" - Name 87 "txval21" - Name 90 "g_tTex2di4" - Name 98 "txval22" - Name 101 "g_tTex2du4" - Name 110 "txval30" - Name 113 "g_tTex3df4" - Name 121 "txval31" - Name 124 "g_tTex3di4" - Name 131 "txval32" - Name 134 "g_tTex3du4" - Name 144 "txval40" - Name 147 "g_tTexcdf4" - Name 153 "txval41" - Name 156 "g_tTexcdi4" - Name 162 "txval42" - Name 165 "g_tTexcdu4" - Name 171 "PS_OUTPUT" - MemberName 171(PS_OUTPUT) 0 "Color" - MemberName 171(PS_OUTPUT) 1 "Depth" - Name 173 "psout" - Name 180 "Color" - Name 184 "Depth" - Name 188 "g_sSamp2d" - Name 189 "g_sSamp2D_b" - Name 190 "g_tTex1df4a" - Decorate 41(g_tTex1df4) DescriptorSet 0 - Decorate 41(g_tTex1df4) Binding 0 - Decorate 45(g_sSamp) DescriptorSet 0 - Decorate 45(g_sSamp) Binding 0 - Decorate 56(g_tTex1di4) DescriptorSet 0 - Decorate 69(g_tTex1du4) DescriptorSet 0 - Decorate 79(g_tTex2df4) DescriptorSet 0 - Decorate 90(g_tTex2di4) DescriptorSet 0 - Decorate 101(g_tTex2du4) DescriptorSet 0 - Decorate 113(g_tTex3df4) DescriptorSet 0 - Decorate 124(g_tTex3di4) DescriptorSet 0 - Decorate 134(g_tTex3du4) DescriptorSet 0 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 156(g_tTexcdi4) DescriptorSet 0 - Decorate 165(g_tTexcdu4) DescriptorSet 0 - Decorate 180(Color) Location 0 - Decorate 184(Depth) BuiltIn FragDepth - Decorate 188(g_sSamp2d) DescriptorSet 0 - Decorate 189(g_sSamp2D_b) DescriptorSet 0 - Decorate 190(g_tTex1df4a) DescriptorSet 0 - Decorate 190(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "MemberTest" + MemberName 13(MemberTest) 0 "Sample" + MemberName 13(MemberTest) 1 "CalculateLevelOfDetail" + MemberName 13(MemberTest) 2 "CalculateLevelOfDetailUnclamped" + MemberName 13(MemberTest) 3 "Gather" + MemberName 13(MemberTest) 4 "GetDimensions" + MemberName 13(MemberTest) 5 "GetSamplePosition" + MemberName 13(MemberTest) 6 "Load" + MemberName 13(MemberTest) 7 "SampleBias" + MemberName 13(MemberTest) 8 "SampleCmp" + MemberName 13(MemberTest) 9 "SampleCmpLevelZero" + MemberName 13(MemberTest) 10 "SampleGrad" + MemberName 13(MemberTest) 11 "SampleLevel" + Name 15 "mtest" + Name 42 "txval10" + Name 45 "g_tTex1df4" + Name 49 "g_sSamp" + Name 57 "txval11" + Name 60 "g_tTex1di4" + Name 70 "txval12" + Name 73 "g_tTex1du4" + Name 80 "txval20" + Name 83 "g_tTex2df4" + Name 91 "txval21" + Name 94 "g_tTex2di4" + Name 102 "txval22" + Name 105 "g_tTex2du4" + Name 114 "txval30" + Name 117 "g_tTex3df4" + Name 125 "txval31" + Name 128 "g_tTex3di4" + Name 135 "txval32" + Name 138 "g_tTex3du4" + Name 148 "txval40" + Name 151 "g_tTexcdf4" + Name 157 "txval41" + Name 160 "g_tTexcdi4" + Name 166 "txval42" + Name 169 "g_tTexcdu4" + Name 176 "psout" + Name 185 "flattenTemp" + Name 188 "Color" + Name 192 "Depth" + Name 195 "g_sSamp2d" + Name 196 "g_sSamp2D_b" + Name 197 "g_tTex1df4a" + Decorate 45(g_tTex1df4) DescriptorSet 0 + Decorate 45(g_tTex1df4) Binding 0 + Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 49(g_sSamp) Binding 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 188(Color) Location 0 + Decorate 192(Depth) BuiltIn FragDepth + Decorate 195(g_sSamp2d) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 197(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7(MemberTest): TypeStruct 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) - 8: TypePointer Function 7(MemberTest) - 10: 6(int) Constant 1 - 11: TypePointer Function 6(int) - 13: 6(int) Constant 2 - 15: 6(int) Constant 3 - 17: 6(int) Constant 4 - 19: 6(int) Constant 5 - 21: 6(int) Constant 6 - 23: 6(int) Constant 0 - 25: 6(int) Constant 7 - 27: 6(int) Constant 8 - 29: 6(int) Constant 9 - 31: 6(int) Constant 10 - 33: 6(int) Constant 11 - 35: TypeFloat 32 - 36: TypeVector 35(float) 4 - 37: TypePointer Function 36(fvec4) - 39: TypeImage 35(float) 1D sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1df4): 40(ptr) Variable UniformConstant - 43: TypeSampler + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13(MemberTest): TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) + 14: TypePointer Function 13(MemberTest) + 16: 12(int) Constant 1 + 17: TypePointer Function 12(int) + 19: 12(int) Constant 2 + 21: 12(int) Constant 3 + 23: 12(int) Constant 4 + 25: 12(int) Constant 5 + 27: 12(int) Constant 6 + 29: 12(int) Constant 0 + 31: 12(int) Constant 7 + 33: 12(int) Constant 8 + 35: 12(int) Constant 9 + 37: 12(int) Constant 10 + 39: 12(int) Constant 11 + 41: TypePointer Function 7(fvec4) + 43: TypeImage 6(float) 1D sampled format:Unknown 44: TypePointer UniformConstant 43 - 45(g_sSamp): 44(ptr) Variable UniformConstant - 47: TypeSampledImage 39 - 49: 35(float) Constant 1036831949 - 51: TypeVector 6(int) 4 - 52: TypePointer Function 51(ivec4) - 54: TypeImage 6(int) 1D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex1di4): 55(ptr) Variable UniformConstant - 59: TypeSampledImage 54 - 61: 35(float) Constant 1045220557 - 63: TypeInt 32 0 - 64: TypeVector 63(int) 4 - 65: TypePointer Function 64(ivec4) - 67: TypeImage 63(int) 1D sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69(g_tTex1du4): 68(ptr) Variable UniformConstant - 72: TypeSampledImage 67 - 74: 35(float) Constant 1050253722 - 77: TypeImage 35(float) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2df4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: TypeVector 35(float) 2 - 85: 84(fvec2) ConstantComposite 49 61 - 88: TypeImage 6(int) 2D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex2di4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 35(float) Constant 1053609165 - 96: 84(fvec2) ConstantComposite 74 95 - 99: TypeImage 63(int) 2D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex2du4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 35(float) Constant 1056964608 - 107: 35(float) Constant 1058642330 - 108: 84(fvec2) ConstantComposite 106 107 - 111: TypeImage 35(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3df4): 112(ptr) Variable UniformConstant - 116: TypeSampledImage 111 - 118: TypeVector 35(float) 3 - 119: 118(fvec3) ConstantComposite 49 61 74 - 122: TypeImage 6(int) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3di4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 129: 118(fvec3) ConstantComposite 95 106 107 - 132: TypeImage 63(int) 3D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTex3du4): 133(ptr) Variable UniformConstant - 137: TypeSampledImage 132 - 139: 35(float) Constant 1060320051 - 140: 35(float) Constant 1061997773 - 141: 35(float) Constant 1063675494 - 142: 118(fvec3) ConstantComposite 139 140 141 - 145: TypeImage 35(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 150: TypeSampledImage 145 - 154: TypeImage 6(int) Cube sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTexcdi4): 155(ptr) Variable UniformConstant - 159: TypeSampledImage 154 - 163: TypeImage 63(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTexcdu4): 164(ptr) Variable UniformConstant - 168: TypeSampledImage 163 - 171(PS_OUTPUT): TypeStruct 36(fvec4) 35(float) - 172: TypePointer Function 171(PS_OUTPUT) - 174: 35(float) Constant 1065353216 - 175: 36(fvec4) ConstantComposite 174 174 174 174 - 177: TypePointer Function 35(float) - 179: TypePointer Output 36(fvec4) - 180(Color): 179(ptr) Variable Output - 183: TypePointer Output 35(float) - 184(Depth): 183(ptr) Variable Output - 188(g_sSamp2d): 44(ptr) Variable UniformConstant -189(g_sSamp2D_b): 44(ptr) Variable UniformConstant -190(g_tTex1df4a): 40(ptr) Variable UniformConstant + 45(g_tTex1df4): 44(ptr) Variable UniformConstant + 47: TypeSampler + 48: TypePointer UniformConstant 47 + 49(g_sSamp): 48(ptr) Variable UniformConstant + 51: TypeSampledImage 43 + 53: 6(float) Constant 1036831949 + 55: TypeVector 12(int) 4 + 56: TypePointer Function 55(ivec4) + 58: TypeImage 12(int) 1D sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex1di4): 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 65: 6(float) Constant 1045220557 + 67: TypeInt 32 0 + 68: TypeVector 67(int) 4 + 69: TypePointer Function 68(ivec4) + 71: TypeImage 67(int) 1D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex1du4): 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 78: 6(float) Constant 1050253722 + 81: TypeImage 6(float) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2df4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: TypeVector 6(float) 2 + 89: 88(fvec2) ConstantComposite 53 65 + 92: TypeImage 12(int) 2D sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTex2di4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 6(float) Constant 1053609165 + 100: 88(fvec2) ConstantComposite 78 99 + 103: TypeImage 67(int) 2D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex2du4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 6(float) Constant 1056964608 + 111: 6(float) Constant 1058642330 + 112: 88(fvec2) ConstantComposite 110 111 + 115: TypeImage 6(float) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex3df4): 116(ptr) Variable UniformConstant + 120: TypeSampledImage 115 + 122: TypeVector 6(float) 3 + 123: 122(fvec3) ConstantComposite 53 65 78 + 126: TypeImage 12(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3di4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 133: 122(fvec3) ConstantComposite 99 110 111 + 136: TypeImage 67(int) 3D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex3du4): 137(ptr) Variable UniformConstant + 141: TypeSampledImage 136 + 143: 6(float) Constant 1060320051 + 144: 6(float) Constant 1061997773 + 145: 6(float) Constant 1063675494 + 146: 122(fvec3) ConstantComposite 143 144 145 + 149: TypeImage 6(float) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdf4): 150(ptr) Variable UniformConstant + 154: TypeSampledImage 149 + 158: TypeImage 12(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdi4): 159(ptr) Variable UniformConstant + 163: TypeSampledImage 158 + 167: TypeImage 67(int) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTexcdu4): 168(ptr) Variable UniformConstant + 172: TypeSampledImage 167 + 175: TypePointer Function 8(PS_OUTPUT) + 177: 6(float) Constant 1065353216 + 178: 7(fvec4) ConstantComposite 177 177 177 177 + 180: TypePointer Function 6(float) + 187: TypePointer Output 7(fvec4) + 188(Color): 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192(Depth): 191(ptr) Variable Output + 195(g_sSamp2d): 48(ptr) Variable UniformConstant +196(g_sSamp2D_b): 48(ptr) Variable UniformConstant +197(g_tTex1df4a): 44(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(mtest): 8(ptr) Variable Function - 38(txval10): 37(ptr) Variable Function - 53(txval11): 52(ptr) Variable Function - 66(txval12): 65(ptr) Variable Function - 76(txval20): 37(ptr) Variable Function - 87(txval21): 52(ptr) Variable Function - 98(txval22): 65(ptr) Variable Function - 110(txval30): 37(ptr) Variable Function - 121(txval31): 52(ptr) Variable Function - 131(txval32): 65(ptr) Variable Function - 144(txval40): 37(ptr) Variable Function - 153(txval41): 52(ptr) Variable Function - 162(txval42): 65(ptr) Variable Function - 173(psout): 172(ptr) Variable Function - 12: 11(ptr) AccessChain 9(mtest) 10 - Store 12 10 - 14: 11(ptr) AccessChain 9(mtest) 13 - Store 14 10 - 16: 11(ptr) AccessChain 9(mtest) 15 - Store 16 10 - 18: 11(ptr) AccessChain 9(mtest) 17 - Store 18 10 - 20: 11(ptr) AccessChain 9(mtest) 19 - Store 20 10 - 22: 11(ptr) AccessChain 9(mtest) 21 - Store 22 10 - 24: 11(ptr) AccessChain 9(mtest) 23 - Store 24 10 - 26: 11(ptr) AccessChain 9(mtest) 25 - Store 26 10 - 28: 11(ptr) AccessChain 9(mtest) 27 - Store 28 10 - 30: 11(ptr) AccessChain 9(mtest) 29 - Store 30 10 - 32: 11(ptr) AccessChain 9(mtest) 31 - Store 32 10 - 34: 11(ptr) AccessChain 9(mtest) 33 - Store 34 10 - 42: 39 Load 41(g_tTex1df4) - 46: 43 Load 45(g_sSamp) - 48: 47 SampledImage 42 46 - 50: 36(fvec4) ImageSampleImplicitLod 48 49 - Store 38(txval10) 50 - 57: 54 Load 56(g_tTex1di4) - 58: 43 Load 45(g_sSamp) - 60: 59 SampledImage 57 58 - 62: 51(ivec4) ImageSampleImplicitLod 60 61 - Store 53(txval11) 62 - 70: 67 Load 69(g_tTex1du4) - 71: 43 Load 45(g_sSamp) - 73: 72 SampledImage 70 71 - 75: 64(ivec4) ImageSampleImplicitLod 73 74 - Store 66(txval12) 75 - 80: 77 Load 79(g_tTex2df4) - 81: 43 Load 45(g_sSamp) - 83: 82 SampledImage 80 81 - 86: 36(fvec4) ImageSampleImplicitLod 83 85 - Store 76(txval20) 86 - 91: 88 Load 90(g_tTex2di4) - 92: 43 Load 45(g_sSamp) - 94: 93 SampledImage 91 92 - 97: 51(ivec4) ImageSampleImplicitLod 94 96 - Store 87(txval21) 97 - 102: 99 Load 101(g_tTex2du4) - 103: 43 Load 45(g_sSamp) - 105: 104 SampledImage 102 103 - 109: 64(ivec4) ImageSampleImplicitLod 105 108 - Store 98(txval22) 109 - 114: 111 Load 113(g_tTex3df4) - 115: 43 Load 45(g_sSamp) - 117: 116 SampledImage 114 115 - 120: 36(fvec4) ImageSampleImplicitLod 117 119 - Store 110(txval30) 120 - 125: 122 Load 124(g_tTex3di4) - 126: 43 Load 45(g_sSamp) - 128: 127 SampledImage 125 126 - 130: 51(ivec4) ImageSampleImplicitLod 128 129 - Store 121(txval31) 130 - 135: 132 Load 134(g_tTex3du4) - 136: 43 Load 45(g_sSamp) - 138: 137 SampledImage 135 136 - 143: 64(ivec4) ImageSampleImplicitLod 138 142 - Store 131(txval32) 143 - 148: 145 Load 147(g_tTexcdf4) - 149: 43 Load 45(g_sSamp) - 151: 150 SampledImage 148 149 - 152: 36(fvec4) ImageSampleImplicitLod 151 119 - Store 144(txval40) 152 - 157: 154 Load 156(g_tTexcdi4) - 158: 43 Load 45(g_sSamp) - 160: 159 SampledImage 157 158 - 161: 51(ivec4) ImageSampleImplicitLod 160 129 - Store 153(txval41) 161 - 166: 163 Load 165(g_tTexcdu4) - 167: 43 Load 45(g_sSamp) - 169: 168 SampledImage 166 167 - 170: 64(ivec4) ImageSampleImplicitLod 169 142 - Store 162(txval42) 170 - 176: 37(ptr) AccessChain 173(psout) 23 - Store 176 175 - 178: 177(ptr) AccessChain 173(psout) 10 - Store 178 174 - 181: 37(ptr) AccessChain 173(psout) 23 - 182: 36(fvec4) Load 181 - Store 180(Color) 182 - 185: 177(ptr) AccessChain 173(psout) 10 - 186: 35(float) Load 185 - Store 184(Depth) 186 +185(flattenTemp): 175(ptr) Variable Function + 186:8(PS_OUTPUT) FunctionCall 10(@main() + Store 185(flattenTemp) 186 + 189: 41(ptr) AccessChain 185(flattenTemp) 29 + 190: 7(fvec4) Load 189 + Store 188(Color) 190 + 193: 180(ptr) AccessChain 185(flattenTemp) 16 + 194: 6(float) Load 193 + Store 192(Depth) 194 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 15(mtest): 14(ptr) Variable Function + 42(txval10): 41(ptr) Variable Function + 57(txval11): 56(ptr) Variable Function + 70(txval12): 69(ptr) Variable Function + 80(txval20): 41(ptr) Variable Function + 91(txval21): 56(ptr) Variable Function + 102(txval22): 69(ptr) Variable Function + 114(txval30): 41(ptr) Variable Function + 125(txval31): 56(ptr) Variable Function + 135(txval32): 69(ptr) Variable Function + 148(txval40): 41(ptr) Variable Function + 157(txval41): 56(ptr) Variable Function + 166(txval42): 69(ptr) Variable Function + 176(psout): 175(ptr) Variable Function + 18: 17(ptr) AccessChain 15(mtest) 16 + Store 18 16 + 20: 17(ptr) AccessChain 15(mtest) 19 + Store 20 16 + 22: 17(ptr) AccessChain 15(mtest) 21 + Store 22 16 + 24: 17(ptr) AccessChain 15(mtest) 23 + Store 24 16 + 26: 17(ptr) AccessChain 15(mtest) 25 + Store 26 16 + 28: 17(ptr) AccessChain 15(mtest) 27 + Store 28 16 + 30: 17(ptr) AccessChain 15(mtest) 29 + Store 30 16 + 32: 17(ptr) AccessChain 15(mtest) 31 + Store 32 16 + 34: 17(ptr) AccessChain 15(mtest) 33 + Store 34 16 + 36: 17(ptr) AccessChain 15(mtest) 35 + Store 36 16 + 38: 17(ptr) AccessChain 15(mtest) 37 + Store 38 16 + 40: 17(ptr) AccessChain 15(mtest) 39 + Store 40 16 + 46: 43 Load 45(g_tTex1df4) + 50: 47 Load 49(g_sSamp) + 52: 51 SampledImage 46 50 + 54: 7(fvec4) ImageSampleImplicitLod 52 53 + Store 42(txval10) 54 + 61: 58 Load 60(g_tTex1di4) + 62: 47 Load 49(g_sSamp) + 64: 63 SampledImage 61 62 + 66: 55(ivec4) ImageSampleImplicitLod 64 65 + Store 57(txval11) 66 + 74: 71 Load 73(g_tTex1du4) + 75: 47 Load 49(g_sSamp) + 77: 76 SampledImage 74 75 + 79: 68(ivec4) ImageSampleImplicitLod 77 78 + Store 70(txval12) 79 + 84: 81 Load 83(g_tTex2df4) + 85: 47 Load 49(g_sSamp) + 87: 86 SampledImage 84 85 + 90: 7(fvec4) ImageSampleImplicitLod 87 89 + Store 80(txval20) 90 + 95: 92 Load 94(g_tTex2di4) + 96: 47 Load 49(g_sSamp) + 98: 97 SampledImage 95 96 + 101: 55(ivec4) ImageSampleImplicitLod 98 100 + Store 91(txval21) 101 + 106: 103 Load 105(g_tTex2du4) + 107: 47 Load 49(g_sSamp) + 109: 108 SampledImage 106 107 + 113: 68(ivec4) ImageSampleImplicitLod 109 112 + Store 102(txval22) 113 + 118: 115 Load 117(g_tTex3df4) + 119: 47 Load 49(g_sSamp) + 121: 120 SampledImage 118 119 + 124: 7(fvec4) ImageSampleImplicitLod 121 123 + Store 114(txval30) 124 + 129: 126 Load 128(g_tTex3di4) + 130: 47 Load 49(g_sSamp) + 132: 131 SampledImage 129 130 + 134: 55(ivec4) ImageSampleImplicitLod 132 133 + Store 125(txval31) 134 + 139: 136 Load 138(g_tTex3du4) + 140: 47 Load 49(g_sSamp) + 142: 141 SampledImage 139 140 + 147: 68(ivec4) ImageSampleImplicitLod 142 146 + Store 135(txval32) 147 + 152: 149 Load 151(g_tTexcdf4) + 153: 47 Load 49(g_sSamp) + 155: 154 SampledImage 152 153 + 156: 7(fvec4) ImageSampleImplicitLod 155 123 + Store 148(txval40) 156 + 161: 158 Load 160(g_tTexcdi4) + 162: 47 Load 49(g_sSamp) + 164: 163 SampledImage 161 162 + 165: 55(ivec4) ImageSampleImplicitLod 164 133 + Store 157(txval41) 165 + 170: 167 Load 169(g_tTexcdu4) + 171: 47 Load 49(g_sSamp) + 173: 172 SampledImage 170 171 + 174: 68(ivec4) ImageSampleImplicitLod 173 146 + Store 166(txval42) 174 + 179: 41(ptr) AccessChain 176(psout) 29 + Store 179 178 + 181: 180(ptr) AccessChain 176(psout) 16 + Store 181 177 + 182:8(PS_OUTPUT) Load 176(psout) + ReturnValue 182 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out index a148a86ed75..923db246227 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -2,49 +2,49 @@ hlsl.sample.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -52,12 +52,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -65,12 +65,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -78,12 +78,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -93,12 +93,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -108,12 +108,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -122,9 +122,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -132,45 +132,51 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -179,49 +185,49 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -229,12 +235,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -242,12 +248,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -255,12 +261,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -270,12 +276,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -285,12 +291,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -299,9 +305,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -309,268 +315,285 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 154 +// Id's are bound by 161 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 140 + EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 63 "txval21" - Name 66 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 89 "txval30" - Name 92 "g_tTex3df4" - Name 102 "txval31" - Name 105 "g_tTex3di4" - Name 113 "txval32" - Name 116 "g_tTex3du4" - Name 127 "PS_OUTPUT" - MemberName 127(PS_OUTPUT) 0 "Color" - MemberName 127(PS_OUTPUT) 1 "Depth" - Name 129 "psout" - Name 136 "Color" - Name 140 "Depth" - Name 144 "g_tTex1df4a" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 66(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 92(g_tTex3df4) DescriptorSet 0 - Decorate 105(g_tTex3di4) DescriptorSet 0 - Decorate 116(g_tTex3du4) DescriptorSet 0 - Decorate 136(Color) Location 0 - Decorate 140(Depth) BuiltIn FragDepth - Decorate 144(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1df4a) Binding 1 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 67 "txval21" + Name 70 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 93 "txval30" + Name 96 "g_tTex3df4" + Name 106 "txval31" + Name 109 "g_tTex3di4" + Name 117 "txval32" + Name 120 "g_tTex3du4" + Name 132 "psout" + Name 141 "flattenTemp" + Name 144 "Color" + Name 148 "Depth" + Name 151 "g_tTex1df4a" + Name 154 "g_tTexcdf4" + Name 157 "g_tTexcdi4" + Name 160 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 70(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 144(Color) Location 0 + Decorate 148(Depth) BuiltIn FragDepth + Decorate 151(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1df4a) Binding 1 + Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: TypeInt 32 1 - 22: 21(int) Constant 1 - 24: TypeVector 21(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 21(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 59: TypeVector 21(int) 2 - 60: 21(int) Constant 0 - 61: 59(ivec2) ConstantComposite 22 60 - 64: TypeImage 21(int) 2D sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2di4): 65(ptr) Variable UniformConstant - 69: TypeSampledImage 64 - 71: 6(float) Constant 1053609165 - 72: 57(fvec2) ConstantComposite 47 71 - 73: 59(ivec2) ConstantComposite 22 22 - 76: TypeImage 36(int) 2D sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1056964608 - 84: 6(float) Constant 1058642330 - 85: 57(fvec2) ConstantComposite 83 84 - 86: 21(int) Constant 4294967295 - 87: 59(ivec2) ConstantComposite 22 86 - 90: TypeImage 6(float) 3D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex3df4): 91(ptr) Variable UniformConstant - 95: TypeSampledImage 90 - 97: TypeVector 6(float) 3 - 98: 97(fvec3) ConstantComposite 20 34 47 - 99: TypeVector 21(int) 3 - 100: 99(ivec3) ConstantComposite 22 60 22 - 103: TypeImage 21(int) 3D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex3di4): 104(ptr) Variable UniformConstant - 108: TypeSampledImage 103 - 110: 97(fvec3) ConstantComposite 71 83 84 - 111: 99(ivec3) ConstantComposite 22 22 22 - 114: TypeImage 36(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3du4): 115(ptr) Variable UniformConstant - 119: TypeSampledImage 114 - 121: 6(float) Constant 1060320051 - 122: 6(float) Constant 1061997773 - 123: 6(float) Constant 1063675494 - 124: 97(fvec3) ConstantComposite 121 122 123 - 125: 99(ivec3) ConstantComposite 22 60 86 - 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 128: TypePointer Function 127(PS_OUTPUT) - 130: 6(float) Constant 1065353216 - 131: 7(fvec4) ConstantComposite 130 130 130 130 - 133: TypePointer Function 6(float) - 135: TypePointer Output 7(fvec4) - 136(Color): 135(ptr) Variable Output - 139: TypePointer Output 6(float) - 140(Depth): 139(ptr) Variable Output -144(g_tTex1df4a): 11(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 21(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 36(int) Cube sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: TypeInt 32 1 + 26: 25(int) Constant 1 + 28: TypeVector 25(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 25(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 63: TypeVector 25(int) 2 + 64: 25(int) Constant 0 + 65: 63(ivec2) ConstantComposite 26 64 + 68: TypeImage 25(int) 2D sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2di4): 69(ptr) Variable UniformConstant + 73: TypeSampledImage 68 + 75: 6(float) Constant 1053609165 + 76: 61(fvec2) ConstantComposite 51 75 + 77: 63(ivec2) ConstantComposite 26 26 + 80: TypeImage 40(int) 2D sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1056964608 + 88: 6(float) Constant 1058642330 + 89: 61(fvec2) ConstantComposite 87 88 + 90: 25(int) Constant 4294967295 + 91: 63(ivec2) ConstantComposite 26 90 + 94: TypeImage 6(float) 3D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex3df4): 95(ptr) Variable UniformConstant + 99: TypeSampledImage 94 + 101: TypeVector 6(float) 3 + 102: 101(fvec3) ConstantComposite 24 38 51 + 103: TypeVector 25(int) 3 + 104: 103(ivec3) ConstantComposite 26 64 26 + 107: TypeImage 25(int) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3di4): 108(ptr) Variable UniformConstant + 112: TypeSampledImage 107 + 114: 101(fvec3) ConstantComposite 75 87 88 + 115: 103(ivec3) ConstantComposite 26 26 26 + 118: TypeImage 40(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 123: TypeSampledImage 118 + 125: 6(float) Constant 1060320051 + 126: 6(float) Constant 1061997773 + 127: 6(float) Constant 1063675494 + 128: 101(fvec3) ConstantComposite 125 126 127 + 129: 103(ivec3) ConstantComposite 26 64 90 + 131: TypePointer Function 8(PS_OUTPUT) + 133: 6(float) Constant 1065353216 + 134: 7(fvec4) ConstantComposite 133 133 133 133 + 136: TypePointer Function 6(float) + 143: TypePointer Output 7(fvec4) + 144(Color): 143(ptr) Variable Output + 147: TypePointer Output 6(float) + 148(Depth): 147(ptr) Variable Output +151(g_tTex1df4a): 15(ptr) Variable UniformConstant + 152: TypeImage 6(float) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdf4): 153(ptr) Variable UniformConstant + 155: TypeImage 25(int) Cube sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTexcdi4): 156(ptr) Variable UniformConstant + 158: TypeImage 40(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdu4): 159(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 63(txval21): 25(ptr) Variable Function - 75(txval22): 38(ptr) Variable Function - 89(txval30): 8(ptr) Variable Function - 102(txval31): 25(ptr) Variable Function - 113(txval32): 38(ptr) Variable Function - 129(psout): 128(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleImplicitLod 19 20 ConstOffset 22 - Store 9(txval10) 23 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleImplicitLod 33 34 ConstOffset 22 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleImplicitLod 46 47 ConstOffset 22 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 62: 7(fvec4) ImageSampleImplicitLod 56 58 ConstOffset 61 - Store 49(txval20) 62 - 67: 64 Load 66(g_tTex2di4) - 68: 14 Load 16(g_sSamp) - 70: 69 SampledImage 67 68 - 74: 24(ivec4) ImageSampleImplicitLod 70 72 ConstOffset 73 - Store 63(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 88: 37(ivec4) ImageSampleImplicitLod 82 85 ConstOffset 87 - Store 75(txval22) 88 - 93: 90 Load 92(g_tTex3df4) - 94: 14 Load 16(g_sSamp) - 96: 95 SampledImage 93 94 - 101: 7(fvec4) ImageSampleImplicitLod 96 98 ConstOffset 100 - Store 89(txval30) 101 - 106: 103 Load 105(g_tTex3di4) - 107: 14 Load 16(g_sSamp) - 109: 108 SampledImage 106 107 - 112: 24(ivec4) ImageSampleImplicitLod 109 110 ConstOffset 111 - Store 102(txval31) 112 - 117: 114 Load 116(g_tTex3du4) - 118: 14 Load 16(g_sSamp) - 120: 119 SampledImage 117 118 - 126: 37(ivec4) ImageSampleImplicitLod 120 124 ConstOffset 125 - Store 113(txval32) 126 - 132: 8(ptr) AccessChain 129(psout) 60 - Store 132 131 - 134: 133(ptr) AccessChain 129(psout) 22 - Store 134 130 - 137: 8(ptr) AccessChain 129(psout) 60 - 138: 7(fvec4) Load 137 - Store 136(Color) 138 - 141: 133(ptr) AccessChain 129(psout) 22 - 142: 6(float) Load 141 - Store 140(Depth) 142 +141(flattenTemp): 131(ptr) Variable Function + 142:8(PS_OUTPUT) FunctionCall 10(@main() + Store 141(flattenTemp) 142 + 145: 12(ptr) AccessChain 141(flattenTemp) 64 + 146: 7(fvec4) Load 145 + Store 144(Color) 146 + 149: 136(ptr) AccessChain 141(flattenTemp) 26 + 150: 6(float) Load 149 + Store 148(Depth) 150 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 67(txval21): 29(ptr) Variable Function + 79(txval22): 42(ptr) Variable Function + 93(txval30): 12(ptr) Variable Function + 106(txval31): 29(ptr) Variable Function + 117(txval32): 42(ptr) Variable Function + 132(psout): 131(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleImplicitLod 23 24 ConstOffset 26 + Store 13(txval10) 27 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleImplicitLod 37 38 ConstOffset 26 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleImplicitLod 50 51 ConstOffset 26 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 66: 7(fvec4) ImageSampleImplicitLod 60 62 ConstOffset 65 + Store 53(txval20) 66 + 71: 68 Load 70(g_tTex2di4) + 72: 18 Load 20(g_sSamp) + 74: 73 SampledImage 71 72 + 78: 28(ivec4) ImageSampleImplicitLod 74 76 ConstOffset 77 + Store 67(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 92: 41(ivec4) ImageSampleImplicitLod 86 89 ConstOffset 91 + Store 79(txval22) 92 + 97: 94 Load 96(g_tTex3df4) + 98: 18 Load 20(g_sSamp) + 100: 99 SampledImage 97 98 + 105: 7(fvec4) ImageSampleImplicitLod 100 102 ConstOffset 104 + Store 93(txval30) 105 + 110: 107 Load 109(g_tTex3di4) + 111: 18 Load 20(g_sSamp) + 113: 112 SampledImage 110 111 + 116: 28(ivec4) ImageSampleImplicitLod 113 114 ConstOffset 115 + Store 106(txval31) 116 + 121: 118 Load 120(g_tTex3du4) + 122: 18 Load 20(g_sSamp) + 124: 123 SampledImage 121 122 + 130: 41(ivec4) ImageSampleImplicitLod 124 128 ConstOffset 129 + Store 117(txval32) 130 + 135: 12(ptr) AccessChain 132(psout) 64 + Store 135 134 + 137: 136(ptr) AccessChain 132(psout) 26 + Store 137 133 + 138:8(PS_OUTPUT) Load 132(psout) + ReturnValue 138 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index abdf03270f0..d9cf65c605f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -2,52 +2,52 @@ hlsl.sample.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -56,12 +56,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -70,12 +70,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -83,9 +83,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -93,39 +93,45 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -134,52 +140,52 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -188,12 +194,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -202,12 +208,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -215,9 +221,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -225,201 +231,218 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 111 +// Id's are bound by 118 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 106 + EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4" - Name 44 "txval12" - Name 47 "g_tTex1du4" - Name 56 "txval20" - Name 59 "g_tTex2df4" - Name 69 "txval21" - Name 72 "g_tTex2di4" - Name 80 "txval22" - Name 83 "g_tTex2du4" - Name 93 "PS_OUTPUT" - MemberName 93(PS_OUTPUT) 0 "Color" - MemberName 93(PS_OUTPUT) 1 "Depth" - Name 95 "psout" - Name 102 "Color" - Name 106 "Depth" - Name 110 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 47(g_tTex1du4) DescriptorSet 0 - Decorate 59(g_tTex2df4) DescriptorSet 0 - Decorate 72(g_tTex2di4) DescriptorSet 0 - Decorate 83(g_tTex2du4) DescriptorSet 0 - Decorate 102(Color) Location 0 - Decorate 106(Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 - Decorate 110(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4" + Name 48 "txval12" + Name 51 "g_tTex1du4" + Name 60 "txval20" + Name 63 "g_tTex2df4" + Name 73 "txval21" + Name 76 "g_tTex2di4" + Name 84 "txval22" + Name 87 "g_tTex2du4" + Name 98 "psout" + Name 107 "flattenTemp" + Name 110 "Color" + Name 114 "Depth" + Name 117 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 51(g_tTex1du4) DescriptorSet 0 + Decorate 63(g_tTex2df4) DescriptorSet 0 + Decorate 76(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 110(Color) Location 0 + Decorate 114(Depth) BuiltIn FragDepth + Decorate 117(g_tTex1df4a) DescriptorSet 0 + Decorate 117(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: TypeInt 32 1 - 25: 24(int) Constant 0 - 27: TypeVector 24(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 24(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 39: 24(int) Constant 1 - 41: TypeInt 32 0 - 42: TypeVector 41(int) 4 - 43: TypePointer Function 42(ivec4) - 45: TypeImage 41(int) 1D array sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex1du4): 46(ptr) Variable UniformConstant - 50: TypeSampledImage 45 - 52: 6(float) Constant 1053609165 - 53: 20(fvec2) ConstantComposite 37 52 - 54: 24(int) Constant 2 - 57: TypeImage 6(float) 2D array sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2df4): 58(ptr) Variable UniformConstant - 62: TypeSampledImage 57 - 64: TypeVector 6(float) 3 - 65: 64(fvec3) ConstantComposite 21 22 37 - 66: TypeVector 24(int) 2 - 67: 66(ivec2) ConstantComposite 25 25 - 70: TypeImage 24(int) 2D array sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex2di4): 71(ptr) Variable UniformConstant - 75: TypeSampledImage 70 - 77: 6(float) Constant 1056964608 - 78: 64(fvec3) ConstantComposite 37 52 77 - 81: TypeImage 41(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2du4): 82(ptr) Variable UniformConstant - 86: TypeSampledImage 81 - 88: 6(float) Constant 1058642330 - 89: 6(float) Constant 1060320051 - 90: 64(fvec3) ConstantComposite 77 88 89 - 91: 66(ivec2) ConstantComposite 25 39 - 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 94: TypePointer Function 93(PS_OUTPUT) - 96: 6(float) Constant 1065353216 - 97: 7(fvec4) ConstantComposite 96 96 96 96 - 99: TypePointer Function 6(float) - 101: TypePointer Output 7(fvec4) - 102(Color): 101(ptr) Variable Output - 105: TypePointer Output 6(float) - 106(Depth): 105(ptr) Variable Output -110(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: TypeInt 32 1 + 29: 28(int) Constant 0 + 31: TypeVector 28(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 28(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 43: 28(int) Constant 1 + 45: TypeInt 32 0 + 46: TypeVector 45(int) 4 + 47: TypePointer Function 46(ivec4) + 49: TypeImage 45(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4): 50(ptr) Variable UniformConstant + 54: TypeSampledImage 49 + 56: 6(float) Constant 1053609165 + 57: 24(fvec2) ConstantComposite 41 56 + 58: 28(int) Constant 2 + 61: TypeImage 6(float) 2D array sampled format:Unknown + 62: TypePointer UniformConstant 61 + 63(g_tTex2df4): 62(ptr) Variable UniformConstant + 66: TypeSampledImage 61 + 68: TypeVector 6(float) 3 + 69: 68(fvec3) ConstantComposite 25 26 41 + 70: TypeVector 28(int) 2 + 71: 70(ivec2) ConstantComposite 29 29 + 74: TypeImage 28(int) 2D array sampled format:Unknown + 75: TypePointer UniformConstant 74 + 76(g_tTex2di4): 75(ptr) Variable UniformConstant + 79: TypeSampledImage 74 + 81: 6(float) Constant 1056964608 + 82: 68(fvec3) ConstantComposite 41 56 81 + 85: TypeImage 45(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 92: 6(float) Constant 1058642330 + 93: 6(float) Constant 1060320051 + 94: 68(fvec3) ConstantComposite 81 92 93 + 95: 70(ivec2) ConstantComposite 29 43 + 97: TypePointer Function 8(PS_OUTPUT) + 99: 6(float) Constant 1065353216 + 100: 7(fvec4) ConstantComposite 99 99 99 99 + 102: TypePointer Function 6(float) + 109: TypePointer Output 7(fvec4) + 110(Color): 109(ptr) Variable Output + 113: TypePointer Output 6(float) + 114(Depth): 113(ptr) Variable Output +117(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 44(txval12): 43(ptr) Variable Function - 56(txval20): 8(ptr) Variable Function - 69(txval21): 28(ptr) Variable Function - 80(txval22): 43(ptr) Variable Function - 95(psout): 94(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageSampleImplicitLod 19 23 ConstOffset 25 - Store 9(txval10) 26 - 33: 30 Load 32(g_tTex1di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 40: 27(ivec4) ImageSampleImplicitLod 36 38 ConstOffset 39 - Store 29(txval11) 40 - 48: 45 Load 47(g_tTex1du4) - 49: 14 Load 16(g_sSamp) - 51: 50 SampledImage 48 49 - 55: 42(ivec4) ImageSampleImplicitLod 51 53 ConstOffset 54 - Store 44(txval12) 55 - 60: 57 Load 59(g_tTex2df4) - 61: 14 Load 16(g_sSamp) - 63: 62 SampledImage 60 61 - 68: 7(fvec4) ImageSampleImplicitLod 63 65 ConstOffset 67 - Store 56(txval20) 68 - 73: 70 Load 72(g_tTex2di4) - 74: 14 Load 16(g_sSamp) - 76: 75 SampledImage 73 74 - 79: 27(ivec4) ImageSampleImplicitLod 76 78 ConstOffset 67 - Store 69(txval21) 79 - 84: 81 Load 83(g_tTex2du4) - 85: 14 Load 16(g_sSamp) - 87: 86 SampledImage 84 85 - 92: 42(ivec4) ImageSampleImplicitLod 87 90 ConstOffset 91 - Store 80(txval22) 92 - 98: 8(ptr) AccessChain 95(psout) 25 - Store 98 97 - 100: 99(ptr) AccessChain 95(psout) 39 - Store 100 96 - 103: 8(ptr) AccessChain 95(psout) 25 - 104: 7(fvec4) Load 103 - Store 102(Color) 104 - 107: 99(ptr) AccessChain 95(psout) 39 - 108: 6(float) Load 107 - Store 106(Depth) 108 +107(flattenTemp): 97(ptr) Variable Function + 108:8(PS_OUTPUT) FunctionCall 10(@main() + Store 107(flattenTemp) 108 + 111: 12(ptr) AccessChain 107(flattenTemp) 29 + 112: 7(fvec4) Load 111 + Store 110(Color) 112 + 115: 102(ptr) AccessChain 107(flattenTemp) 43 + 116: 6(float) Load 115 + Store 114(Depth) 116 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 48(txval12): 47(ptr) Variable Function + 60(txval20): 12(ptr) Variable Function + 73(txval21): 32(ptr) Variable Function + 84(txval22): 47(ptr) Variable Function + 98(psout): 97(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageSampleImplicitLod 23 27 ConstOffset 29 + Store 13(txval10) 30 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 44: 31(ivec4) ImageSampleImplicitLod 40 42 ConstOffset 43 + Store 33(txval11) 44 + 52: 49 Load 51(g_tTex1du4) + 53: 18 Load 20(g_sSamp) + 55: 54 SampledImage 52 53 + 59: 46(ivec4) ImageSampleImplicitLod 55 57 ConstOffset 58 + Store 48(txval12) 59 + 64: 61 Load 63(g_tTex2df4) + 65: 18 Load 20(g_sSamp) + 67: 66 SampledImage 64 65 + 72: 7(fvec4) ImageSampleImplicitLod 67 69 ConstOffset 71 + Store 60(txval20) 72 + 77: 74 Load 76(g_tTex2di4) + 78: 18 Load 20(g_sSamp) + 80: 79 SampledImage 77 78 + 83: 31(ivec4) ImageSampleImplicitLod 80 82 ConstOffset 71 + Store 73(txval21) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 96: 46(ivec4) ImageSampleImplicitLod 91 94 ConstOffset 95 + Store 84(txval22) 96 + 101: 12(ptr) AccessChain 98(psout) 29 + Store 101 100 + 103: 102(ptr) AccessChain 98(psout) 43 + Store 103 99 + 104:8(PS_OUTPUT) Load 98(psout) + ReturnValue 104 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index bfbad5c2078..c3d6f13c9a4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -2,51 +2,51 @@ hlsl.sample.sub-vec4.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'txval10' (temp float) -0:17 Construct float (temp float) -0:? texture (temp 4-component vector of float) -0:17 Construct combined texture-sampler (temp sampler1D) -0:17 'g_tTex1df1' (uniform texture1D) -0:17 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:17 move second child to first child ( temp float) +0:17 'txval10' ( temp float) +0:17 Construct float ( temp float) +0:? texture ( temp 4-component vector of float) +0:17 Construct combined texture-sampler ( temp sampler1D) +0:17 'g_tTex1df1' ( uniform texture1D) +0:17 'g_sSamp' (layout( binding=0) uniform sampler) 0:17 Constant: 0:17 0.100000 0:18 Sequence -0:18 move second child to first child (temp 2-component vector of float) -0:18 'txval11' (temp 2-component vector of float) -0:18 Construct vec2 (temp 2-component vector of float) -0:? texture (temp 4-component vector of float) -0:18 Construct combined texture-sampler (temp sampler1D) -0:18 'g_tTex1df2' (uniform texture1D) -0:18 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:18 move second child to first child ( temp 2-component vector of float) +0:18 'txval11' ( temp 2-component vector of float) +0:18 Construct vec2 ( temp 2-component vector of float) +0:? texture ( temp 4-component vector of float) +0:18 Construct combined texture-sampler ( temp sampler1D) +0:18 'g_tTex1df2' ( uniform texture1D) +0:18 'g_sSamp' (layout( binding=0) uniform sampler) 0:18 Constant: 0:18 0.200000 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of float) -0:19 'txval12' (temp 3-component vector of float) -0:19 Construct vec3 (temp 3-component vector of float) -0:? texture (temp 4-component vector of float) -0:19 Construct combined texture-sampler (temp sampler1D) -0:19 'g_tTex1df3' (uniform texture1D) -0:19 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:19 move second child to first child ( temp 3-component vector of float) +0:19 'txval12' ( temp 3-component vector of float) +0:19 Construct vec3 ( temp 3-component vector of float) +0:? texture ( temp 4-component vector of float) +0:19 Construct combined texture-sampler ( temp sampler1D) +0:19 'g_tTex1df3' ( uniform texture1D) +0:19 'g_sSamp' (layout( binding=0) uniform sampler) 0:19 Constant: 0:19 0.200000 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'txval13' (temp 4-component vector of float) -0:20 texture (temp 4-component vector of float) -0:20 Construct combined texture-sampler (temp sampler1D) -0:20 'g_tTex1df4' (uniform texture1D) -0:20 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'txval13' ( temp 4-component vector of float) +0:20 texture ( temp 4-component vector of float) +0:20 Construct combined texture-sampler ( temp sampler1D) +0:20 'g_tTex1df4' ( uniform texture1D) +0:20 'g_sSamp' (layout( binding=0) uniform sampler) 0:20 Constant: 0:20 0.200000 -0:22 move second child to first child (temp 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:22 Constant: 0:22 0 (const int) 0:22 Constant: @@ -54,22 +54,25 @@ gl_FragCoord origin is upper left 0:22 1.000000 0:22 1.000000 0:22 1.000000 -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:14 Color: direct index for structure ( temp 4-component vector of float) +0:14 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df1' (uniform texture1D) -0:? 'g_tTex1df2' (uniform texture1D) -0:? 'g_tTex1df3' (uniform texture1D) -0:? 'g_tTex1df4' (uniform texture1D) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df1' ( uniform texture1D) +0:? 'g_tTex1df2' ( uniform texture1D) +0:? 'g_tTex1df3' ( uniform texture1D) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -78,51 +81,51 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:14 Function Parameters: 0:? Sequence 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'txval10' (temp float) -0:17 Construct float (temp float) -0:? texture (temp 4-component vector of float) -0:17 Construct combined texture-sampler (temp sampler1D) -0:17 'g_tTex1df1' (uniform texture1D) -0:17 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:17 move second child to first child ( temp float) +0:17 'txval10' ( temp float) +0:17 Construct float ( temp float) +0:? texture ( temp 4-component vector of float) +0:17 Construct combined texture-sampler ( temp sampler1D) +0:17 'g_tTex1df1' ( uniform texture1D) +0:17 'g_sSamp' (layout( binding=0) uniform sampler) 0:17 Constant: 0:17 0.100000 0:18 Sequence -0:18 move second child to first child (temp 2-component vector of float) -0:18 'txval11' (temp 2-component vector of float) -0:18 Construct vec2 (temp 2-component vector of float) -0:? texture (temp 4-component vector of float) -0:18 Construct combined texture-sampler (temp sampler1D) -0:18 'g_tTex1df2' (uniform texture1D) -0:18 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:18 move second child to first child ( temp 2-component vector of float) +0:18 'txval11' ( temp 2-component vector of float) +0:18 Construct vec2 ( temp 2-component vector of float) +0:? texture ( temp 4-component vector of float) +0:18 Construct combined texture-sampler ( temp sampler1D) +0:18 'g_tTex1df2' ( uniform texture1D) +0:18 'g_sSamp' (layout( binding=0) uniform sampler) 0:18 Constant: 0:18 0.200000 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of float) -0:19 'txval12' (temp 3-component vector of float) -0:19 Construct vec3 (temp 3-component vector of float) -0:? texture (temp 4-component vector of float) -0:19 Construct combined texture-sampler (temp sampler1D) -0:19 'g_tTex1df3' (uniform texture1D) -0:19 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:19 move second child to first child ( temp 3-component vector of float) +0:19 'txval12' ( temp 3-component vector of float) +0:19 Construct vec3 ( temp 3-component vector of float) +0:? texture ( temp 4-component vector of float) +0:19 Construct combined texture-sampler ( temp sampler1D) +0:19 'g_tTex1df3' ( uniform texture1D) +0:19 'g_sSamp' (layout( binding=0) uniform sampler) 0:19 Constant: 0:19 0.200000 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'txval13' (temp 4-component vector of float) -0:20 texture (temp 4-component vector of float) -0:20 Construct combined texture-sampler (temp sampler1D) -0:20 'g_tTex1df4' (uniform texture1D) -0:20 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'txval13' ( temp 4-component vector of float) +0:20 texture ( temp 4-component vector of float) +0:20 Construct combined texture-sampler ( temp sampler1D) +0:20 'g_tTex1df4' ( uniform texture1D) +0:20 'g_sSamp' (layout( binding=0) uniform sampler) 0:20 Constant: 0:20 0.200000 -0:22 move second child to first child (temp 4-component vector of float) -0:22 Color: direct index for structure (temp 4-component vector of float) -0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Color: direct index for structure ( temp 4-component vector of float) +0:22 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:22 Constant: 0:22 0 (const int) 0:22 Constant: @@ -130,123 +133,133 @@ gl_FragCoord origin is upper left 0:22 1.000000 0:22 1.000000 0:22 1.000000 -0:23 Sequence -0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:23 Color: direct index for structure (temp 4-component vector of float) -0:23 'psout' (temp structure{temp 4-component vector of float Color}) -0:23 Constant: -0:23 0 (const int) -0:23 Branch: Return +0:23 Branch: Return with expression +0:23 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:14 Color: direct index for structure ( temp 4-component vector of float) +0:14 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:14 Constant: +0:14 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df1' (uniform texture1D) -0:? 'g_tTex1df2' (uniform texture1D) -0:? 'g_tTex1df3' (uniform texture1D) -0:? 'g_tTex1df4' (uniform texture1D) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df1' ( uniform texture1D) +0:? 'g_tTex1df2' ( uniform texture1D) +0:? 'g_tTex1df3' ( uniform texture1D) +0:? 'g_tTex1df4' ( uniform texture1D) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 67 +// Id's are bound by 72 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 63 + EntryPoint Fragment 4 "main" 69 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "txval10" - Name 11 "g_tTex1df1" - Name 15 "g_sSamp" - Name 25 "txval11" - Name 26 "g_tTex1df2" - Name 37 "txval12" - Name 38 "g_tTex1df3" - Name 48 "txval13" - Name 49 "g_tTex1df4" - Name 54 "PS_OUTPUT" - MemberName 54(PS_OUTPUT) 0 "Color" - Name 56 "psout" - Name 63 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 26(g_tTex1df2) DescriptorSet 0 - Decorate 38(g_tTex1df3) DescriptorSet 0 - Decorate 49(g_tTex1df4) DescriptorSet 0 - Decorate 63(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df1" + Name 20 "g_sSamp" + Name 29 "txval11" + Name 30 "g_tTex1df2" + Name 41 "txval12" + Name 42 "g_tTex1df3" + Name 52 "txval13" + Name 53 "g_tTex1df4" + Name 59 "psout" + Name 69 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 30(g_tTex1df2) DescriptorSet 0 + Decorate 42(g_tTex1df3) DescriptorSet 0 + Decorate 53(g_tTex1df4) DescriptorSet 0 + Decorate 69(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeSampledImage 9 - 19: 6(float) Constant 1036831949 - 20: TypeVector 6(float) 4 - 23: TypeVector 6(float) 2 - 24: TypePointer Function 23(fvec2) - 26(g_tTex1df2): 10(ptr) Variable UniformConstant - 30: 6(float) Constant 1045220557 - 35: TypeVector 6(float) 3 - 36: TypePointer Function 35(fvec3) - 38(g_tTex1df3): 10(ptr) Variable UniformConstant - 47: TypePointer Function 20(fvec4) - 49(g_tTex1df4): 10(ptr) Variable UniformConstant - 54(PS_OUTPUT): TypeStruct 20(fvec4) - 55: TypePointer Function 54(PS_OUTPUT) - 57: TypeInt 32 1 - 58: 57(int) Constant 0 - 59: 6(float) Constant 1065353216 - 60: 20(fvec4) ConstantComposite 59 59 59 59 - 62: TypePointer Output 20(fvec4) - 63(Color): 62(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 27: TypeVector 6(float) 2 + 28: TypePointer Function 27(fvec2) + 30(g_tTex1df2): 15(ptr) Variable UniformConstant + 34: 6(float) Constant 1045220557 + 39: TypeVector 6(float) 3 + 40: TypePointer Function 39(fvec3) + 42(g_tTex1df3): 15(ptr) Variable UniformConstant + 51: TypePointer Function 7(fvec4) + 53(g_tTex1df4): 15(ptr) Variable UniformConstant + 58: TypePointer Function 8(PS_OUTPUT) + 60: TypeInt 32 1 + 61: 60(int) Constant 0 + 62: 6(float) Constant 1065353216 + 63: 7(fvec4) ConstantComposite 62 62 62 62 + 68: TypePointer Output 7(fvec4) + 69(Color): 68(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(txval10): 7(ptr) Variable Function - 25(txval11): 24(ptr) Variable Function - 37(txval12): 36(ptr) Variable Function - 48(txval13): 47(ptr) Variable Function - 56(psout): 55(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 16: 13 Load 15(g_sSamp) - 18: 17 SampledImage 12 16 - 21: 20(fvec4) ImageSampleImplicitLod 18 19 - 22: 6(float) CompositeExtract 21 0 - Store 8(txval10) 22 - 27: 9 Load 26(g_tTex1df2) - 28: 13 Load 15(g_sSamp) - 29: 17 SampledImage 27 28 - 31: 20(fvec4) ImageSampleImplicitLod 29 30 - 32: 6(float) CompositeExtract 31 0 - 33: 6(float) CompositeExtract 31 1 - 34: 23(fvec2) CompositeConstruct 32 33 - Store 25(txval11) 34 - 39: 9 Load 38(g_tTex1df3) - 40: 13 Load 15(g_sSamp) - 41: 17 SampledImage 39 40 - 42: 20(fvec4) ImageSampleImplicitLod 41 30 - 43: 6(float) CompositeExtract 42 0 - 44: 6(float) CompositeExtract 42 1 - 45: 6(float) CompositeExtract 42 2 - 46: 35(fvec3) CompositeConstruct 43 44 45 - Store 37(txval12) 46 - 50: 9 Load 49(g_tTex1df4) - 51: 13 Load 15(g_sSamp) - 52: 17 SampledImage 50 51 - 53: 20(fvec4) ImageSampleImplicitLod 52 30 - Store 48(txval13) 53 - 61: 47(ptr) AccessChain 56(psout) 58 - Store 61 60 - 64: 47(ptr) AccessChain 56(psout) 58 - 65: 20(fvec4) Load 64 - Store 63(Color) 65 + 70:8(PS_OUTPUT) FunctionCall 10(@main() + 71: 7(fvec4) CompositeExtract 70 0 + Store 69(Color) 71 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 29(txval11): 28(ptr) Variable Function + 41(txval12): 40(ptr) Variable Function + 52(txval13): 51(ptr) Variable Function + 59(psout): 58(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 25: 7(fvec4) ImageSampleImplicitLod 23 24 + 26: 6(float) CompositeExtract 25 0 + Store 13(txval10) 26 + 31: 14 Load 30(g_tTex1df2) + 32: 18 Load 20(g_sSamp) + 33: 22 SampledImage 31 32 + 35: 7(fvec4) ImageSampleImplicitLod 33 34 + 36: 6(float) CompositeExtract 35 0 + 37: 6(float) CompositeExtract 35 1 + 38: 27(fvec2) CompositeConstruct 36 37 + Store 29(txval11) 38 + 43: 14 Load 42(g_tTex1df3) + 44: 18 Load 20(g_sSamp) + 45: 22 SampledImage 43 44 + 46: 7(fvec4) ImageSampleImplicitLod 45 34 + 47: 6(float) CompositeExtract 46 0 + 48: 6(float) CompositeExtract 46 1 + 49: 6(float) CompositeExtract 46 2 + 50: 39(fvec3) CompositeConstruct 47 48 49 + Store 41(txval12) 50 + 54: 14 Load 53(g_tTex1df4) + 55: 18 Load 20(g_sSamp) + 56: 22 SampledImage 54 55 + 57: 7(fvec4) ImageSampleImplicitLod 56 34 + Store 52(txval13) 57 + 64: 51(ptr) AccessChain 59(psout) 61 + Store 64 63 + 65:8(PS_OUTPUT) Load 59(psout) + ReturnValue 65 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index 05ac32a507b..7f6881f17e8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -2,52 +2,52 @@ hlsl.samplebias.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:27 Constant: 0:27 0.500000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 texture (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 texture ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:28 Constant: 0:28 0.500000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 texture (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 texture ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:29 Constant: 0:29 0.500000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -55,12 +55,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 0.500000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -68,12 +68,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -81,12 +81,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 0.500000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,12 +95,12 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 0.500000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -109,12 +109,12 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0.500000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -122,9 +122,9 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.500000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -132,42 +132,48 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -176,52 +182,52 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:27 Constant: 0:27 0.500000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 texture (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 texture ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:28 Constant: 0:28 0.500000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 texture (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 texture ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:29 Constant: 0:29 0.500000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -229,12 +235,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 0.500000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -242,12 +248,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -255,12 +261,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 0.500000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -269,12 +275,12 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 0.500000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -283,12 +289,12 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0.500000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -296,9 +302,9 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.500000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -306,245 +312,262 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 139 +// Id's are bound by 146 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 130 134 + EntryPoint Fragment 4 "main" 138 142 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4" - Name 43 "txval12" - Name 46 "g_tTex1du4" - Name 54 "txval20" - Name 57 "g_tTex2df4" - Name 65 "txval21" - Name 68 "g_tTex2di4" - Name 75 "txval22" - Name 78 "g_tTex2du4" - Name 87 "txval40" - Name 90 "g_tTexcdf4" - Name 97 "txval41" - Name 100 "g_tTexcdi4" - Name 107 "txval42" - Name 110 "g_tTexcdu4" - Name 120 "PS_OUTPUT" - MemberName 120(PS_OUTPUT) 0 "Color" - MemberName 120(PS_OUTPUT) 1 "Depth" - Name 122 "psout" - Name 130 "Color" - Name 134 "Depth" - Name 138 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 46(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 68(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 90(g_tTexcdf4) DescriptorSet 0 - Decorate 100(g_tTexcdi4) DescriptorSet 0 - Decorate 110(g_tTexcdu4) DescriptorSet 0 - Decorate 130(Color) Location 0 - Decorate 134(Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 - Decorate 138(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4" + Name 47 "txval12" + Name 50 "g_tTex1du4" + Name 58 "txval20" + Name 61 "g_tTex2df4" + Name 69 "txval21" + Name 72 "g_tTex2di4" + Name 79 "txval22" + Name 82 "g_tTex2du4" + Name 91 "txval40" + Name 94 "g_tTexcdf4" + Name 101 "txval41" + Name 104 "g_tTexcdi4" + Name 111 "txval42" + Name 114 "g_tTexcdu4" + Name 125 "psout" + Name 135 "flattenTemp" + Name 138 "Color" + Name 142 "Depth" + Name 145 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 72(g_tTex2di4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 138(Color) Location 0 + Decorate 142(Depth) BuiltIn FragDepth + Decorate 145(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1056964608 - 26: TypeInt 32 1 - 27: TypeVector 26(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 26(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 51: 6(float) Constant 1053609165 - 52: 20(fvec2) ConstantComposite 37 51 - 55: TypeImage 6(float) 2D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 60: TypeSampledImage 55 - 62: TypeVector 6(float) 3 - 63: 62(fvec3) ConstantComposite 21 22 37 - 66: TypeImage 26(int) 2D array sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex2di4): 67(ptr) Variable UniformConstant - 71: TypeSampledImage 66 - 73: 62(fvec3) ConstantComposite 37 51 24 - 76: TypeImage 40(int) 2D array sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeSampledImage 76 - 83: 6(float) Constant 1058642330 - 84: 6(float) Constant 1060320051 - 85: 62(fvec3) ConstantComposite 24 83 84 - 88: TypeImage 6(float) Cube array sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTexcdf4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 7(fvec4) ConstantComposite 21 22 37 51 - 98: TypeImage 26(int) Cube array sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdi4): 99(ptr) Variable UniformConstant - 103: TypeSampledImage 98 - 105: 7(fvec4) ConstantComposite 51 24 83 84 - 108: TypeImage 40(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTexcdu4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 6(float) Constant 1061997773 - 116: 6(float) Constant 1063675494 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 84 115 116 117 - 120(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 121: TypePointer Function 120(PS_OUTPUT) - 123: 26(int) Constant 0 - 124: 7(fvec4) ConstantComposite 117 117 117 117 - 126: 26(int) Constant 1 - 127: TypePointer Function 6(float) - 129: TypePointer Output 7(fvec4) - 130(Color): 129(ptr) Variable Output - 133: TypePointer Output 6(float) - 134(Depth): 133(ptr) Variable Output -138(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1056964608 + 30: TypeInt 32 1 + 31: TypeVector 30(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 30(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 55: 6(float) Constant 1053609165 + 56: 24(fvec2) ConstantComposite 41 55 + 59: TypeImage 6(float) 2D array sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeSampledImage 59 + 66: TypeVector 6(float) 3 + 67: 66(fvec3) ConstantComposite 25 26 41 + 70: TypeImage 30(int) 2D array sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex2di4): 71(ptr) Variable UniformConstant + 75: TypeSampledImage 70 + 77: 66(fvec3) ConstantComposite 41 55 28 + 80: TypeImage 44(int) 2D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2du4): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 87: 6(float) Constant 1058642330 + 88: 6(float) Constant 1060320051 + 89: 66(fvec3) ConstantComposite 28 87 88 + 92: TypeImage 6(float) Cube array sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTexcdf4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 7(fvec4) ConstantComposite 25 26 41 55 + 102: TypeImage 30(int) Cube array sampled format:Unknown + 103: TypePointer UniformConstant 102 + 104(g_tTexcdi4): 103(ptr) Variable UniformConstant + 107: TypeSampledImage 102 + 109: 7(fvec4) ConstantComposite 55 28 87 88 + 112: TypeImage 44(int) Cube array sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTexcdu4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 6(float) Constant 1061997773 + 120: 6(float) Constant 1063675494 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 88 119 120 121 + 124: TypePointer Function 8(PS_OUTPUT) + 126: 30(int) Constant 0 + 127: 7(fvec4) ConstantComposite 121 121 121 121 + 129: 30(int) Constant 1 + 130: TypePointer Function 6(float) + 137: TypePointer Output 7(fvec4) + 138(Color): 137(ptr) Variable Output + 141: TypePointer Output 6(float) + 142(Depth): 141(ptr) Variable Output +145(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 54(txval20): 8(ptr) Variable Function - 65(txval21): 28(ptr) Variable Function - 75(txval22): 42(ptr) Variable Function - 87(txval40): 8(ptr) Variable Function - 97(txval41): 28(ptr) Variable Function - 107(txval42): 42(ptr) Variable Function - 122(psout): 121(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleImplicitLod 19 23 Bias 24 - Store 9(txval10) 25 - 33: 30 Load 32(g_tTex1di4) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 39: 27(ivec4) ImageSampleImplicitLod 36 38 Bias 24 - Store 29(txval11) 39 - 47: 44 Load 46(g_tTex1du4) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 53: 41(ivec4) ImageSampleImplicitLod 50 52 Bias 24 - Store 43(txval12) 53 - 58: 55 Load 57(g_tTex2df4) - 59: 14 Load 16(g_sSamp) - 61: 60 SampledImage 58 59 - 64: 7(fvec4) ImageSampleImplicitLod 61 63 Bias 24 - Store 54(txval20) 64 - 69: 66 Load 68(g_tTex2di4) - 70: 14 Load 16(g_sSamp) - 72: 71 SampledImage 69 70 - 74: 27(ivec4) ImageSampleImplicitLod 72 73 Bias 24 - Store 65(txval21) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 14 Load 16(g_sSamp) - 82: 81 SampledImage 79 80 - 86: 41(ivec4) ImageSampleImplicitLod 82 85 Bias 24 - Store 75(txval22) 86 - 91: 88 Load 90(g_tTexcdf4) - 92: 14 Load 16(g_sSamp) - 94: 93 SampledImage 91 92 - 96: 7(fvec4) ImageSampleImplicitLod 94 95 Bias 24 - Store 87(txval40) 96 - 101: 98 Load 100(g_tTexcdi4) - 102: 14 Load 16(g_sSamp) - 104: 103 SampledImage 101 102 - 106: 27(ivec4) ImageSampleImplicitLod 104 105 Bias 24 - Store 97(txval41) 106 - 111: 108 Load 110(g_tTexcdu4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 119: 41(ivec4) ImageSampleImplicitLod 114 118 Bias 24 - Store 107(txval42) 119 - 125: 8(ptr) AccessChain 122(psout) 123 - Store 125 124 - 128: 127(ptr) AccessChain 122(psout) 126 - Store 128 117 - 131: 8(ptr) AccessChain 122(psout) 123 - 132: 7(fvec4) Load 131 - Store 130(Color) 132 - 135: 127(ptr) AccessChain 122(psout) 126 - 136: 6(float) Load 135 - Store 134(Depth) 136 +135(flattenTemp): 124(ptr) Variable Function + 136:8(PS_OUTPUT) FunctionCall 10(@main() + Store 135(flattenTemp) 136 + 139: 12(ptr) AccessChain 135(flattenTemp) 126 + 140: 7(fvec4) Load 139 + Store 138(Color) 140 + 143: 130(ptr) AccessChain 135(flattenTemp) 129 + 144: 6(float) Load 143 + Store 142(Depth) 144 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 58(txval20): 12(ptr) Variable Function + 69(txval21): 32(ptr) Variable Function + 79(txval22): 46(ptr) Variable Function + 91(txval40): 12(ptr) Variable Function + 101(txval41): 32(ptr) Variable Function + 111(txval42): 46(ptr) Variable Function + 125(psout): 124(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleImplicitLod 23 27 Bias 28 + Store 13(txval10) 29 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 43: 31(ivec4) ImageSampleImplicitLod 40 42 Bias 28 + Store 33(txval11) 43 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 57: 45(ivec4) ImageSampleImplicitLod 54 56 Bias 28 + Store 47(txval12) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 65: 64 SampledImage 62 63 + 68: 7(fvec4) ImageSampleImplicitLod 65 67 Bias 28 + Store 58(txval20) 68 + 73: 70 Load 72(g_tTex2di4) + 74: 18 Load 20(g_sSamp) + 76: 75 SampledImage 73 74 + 78: 31(ivec4) ImageSampleImplicitLod 76 77 Bias 28 + Store 69(txval21) 78 + 83: 80 Load 82(g_tTex2du4) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 90: 45(ivec4) ImageSampleImplicitLod 86 89 Bias 28 + Store 79(txval22) 90 + 95: 92 Load 94(g_tTexcdf4) + 96: 18 Load 20(g_sSamp) + 98: 97 SampledImage 95 96 + 100: 7(fvec4) ImageSampleImplicitLod 98 99 Bias 28 + Store 91(txval40) 100 + 105: 102 Load 104(g_tTexcdi4) + 106: 18 Load 20(g_sSamp) + 108: 107 SampledImage 105 106 + 110: 31(ivec4) ImageSampleImplicitLod 108 109 Bias 28 + Store 101(txval41) 110 + 115: 112 Load 114(g_tTexcdu4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 123: 45(ivec4) ImageSampleImplicitLod 118 122 Bias 28 + Store 111(txval42) 123 + 128: 12(ptr) AccessChain 125(psout) 126 + Store 128 127 + 131: 130(ptr) AccessChain 125(psout) 129 + Store 131 121 + 132:8(PS_OUTPUT) Load 125(psout) + ReturnValue 132 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 1442fc3c783..81e8da949a6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -2,85 +2,85 @@ hlsl.samplebias.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: 0:31 0.500000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: 0:32 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: 0:33 0.500000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:35 Constant: 0:35 0.500000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:36 Constant: 0:36 0.500000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:37 Constant: 0:37 0.500000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 texture (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 texture ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -88,12 +88,12 @@ gl_FragCoord origin is upper left 0:39 Constant: 0:39 0.500000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 texture (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 texture ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -101,12 +101,12 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0.500000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 texture (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 texture ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -114,12 +114,12 @@ gl_FragCoord origin is upper left 0:41 Constant: 0:41 0.500000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval40' (temp 4-component vector of float) -0:43 texture (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp samplerCube) -0:43 'g_tTexcdf4' (uniform textureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval40' ( temp 4-component vector of float) +0:43 texture ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp samplerCube) +0:43 'g_tTexcdf4' ( uniform textureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -127,12 +127,12 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.500000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval41' (temp 4-component vector of int) -0:44 texture (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isamplerCube) -0:44 'g_tTexcdi4' (uniform itextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval41' ( temp 4-component vector of int) +0:44 texture ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isamplerCube) +0:44 'g_tTexcdi4' ( uniform itextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -140,21 +140,21 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.500000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval42' (temp 4-component vector of uint) -0:45 texture (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usamplerCube) -0:45 'g_tTexcdu4' (uniform utextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval42' ( temp 4-component vector of uint) +0:45 texture ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usamplerCube) +0:45 'g_tTexcdu4' ( uniform utextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:45 Constant: 0:45 0.500000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -162,45 +162,51 @@ gl_FragCoord origin is upper left 0:47 1.000000 0:47 1.000000 0:47 1.000000 -0:48 move second child to first child (temp float) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp float) +0:48 Depth: direct index for structure ( temp float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -209,85 +215,85 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 texture (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 texture ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: 0:31 0.500000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 texture (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 texture ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: 0:32 0.500000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 texture (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 texture ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: 0:33 0.500000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 texture (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 texture ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:35 Constant: 0:35 0.500000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 texture (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 texture ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:36 Constant: 0:36 0.500000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 texture (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 texture ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:37 Constant: 0:37 0.500000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 texture (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 texture ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -295,12 +301,12 @@ gl_FragCoord origin is upper left 0:39 Constant: 0:39 0.500000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 texture (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 texture ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -308,12 +314,12 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0.500000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 texture (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 texture ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -321,12 +327,12 @@ gl_FragCoord origin is upper left 0:41 Constant: 0:41 0.500000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval40' (temp 4-component vector of float) -0:43 texture (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp samplerCube) -0:43 'g_tTexcdf4' (uniform textureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval40' ( temp 4-component vector of float) +0:43 texture ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp samplerCube) +0:43 'g_tTexcdf4' ( uniform textureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -334,12 +340,12 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.500000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval41' (temp 4-component vector of int) -0:44 texture (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isamplerCube) -0:44 'g_tTexcdi4' (uniform itextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval41' ( temp 4-component vector of int) +0:44 texture ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isamplerCube) +0:44 'g_tTexcdi4' ( uniform itextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -347,21 +353,21 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.500000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval42' (temp 4-component vector of uint) -0:45 texture (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usamplerCube) -0:45 'g_tTexcdu4' (uniform utextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval42' ( temp 4-component vector of uint) +0:45 texture ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usamplerCube) +0:45 'g_tTexcdu4' ( uniform utextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:45 Constant: 0:45 0.500000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -369,283 +375,300 @@ gl_FragCoord origin is upper left 0:47 1.000000 0:47 1.000000 0:47 1.000000 -0:48 move second child to first child (temp float) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp float) +0:48 Depth: direct index for structure ( temp float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 163 +// Id's are bound by 170 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 154 158 + EntryPoint Fragment 4 "main" 162 166 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 82 "txval30" - Name 85 "g_tTex3df4" - Name 93 "txval31" - Name 96 "g_tTex3di4" - Name 103 "txval32" - Name 106 "g_tTex3du4" - Name 116 "txval40" - Name 119 "g_tTexcdf4" - Name 125 "txval41" - Name 128 "g_tTexcdi4" - Name 134 "txval42" - Name 137 "g_tTexcdu4" - Name 143 "PS_OUTPUT" - MemberName 143(PS_OUTPUT) 0 "Color" - MemberName 143(PS_OUTPUT) 1 "Depth" - Name 145 "psout" - Name 154 "Color" - Name 158 "Depth" - Name 162 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 85(g_tTex3df4) DescriptorSet 0 - Decorate 96(g_tTex3di4) DescriptorSet 0 - Decorate 106(g_tTex3du4) DescriptorSet 0 - Decorate 119(g_tTexcdf4) DescriptorSet 0 - Decorate 128(g_tTexcdi4) DescriptorSet 0 - Decorate 137(g_tTexcdu4) DescriptorSet 0 - Decorate 154(Color) Location 0 - Decorate 158(Depth) BuiltIn FragDepth - Decorate 162(g_tTex1df4a) DescriptorSet 0 - Decorate 162(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 86 "txval30" + Name 89 "g_tTex3df4" + Name 97 "txval31" + Name 100 "g_tTex3di4" + Name 107 "txval32" + Name 110 "g_tTex3du4" + Name 120 "txval40" + Name 123 "g_tTexcdf4" + Name 129 "txval41" + Name 132 "g_tTexcdi4" + Name 138 "txval42" + Name 141 "g_tTexcdu4" + Name 148 "psout" + Name 159 "flattenTemp" + Name 162 "Color" + Name 166 "Depth" + Name 169 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 89(g_tTex3df4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 132(g_tTexcdi4) DescriptorSet 0 + Decorate 141(g_tTexcdu4) DescriptorSet 0 + Decorate 162(Color) Location 0 + Decorate 166(Depth) BuiltIn FragDepth + Decorate 169(g_tTex1df4a) DescriptorSet 0 + Decorate 169(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1056964608 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1058642330 - 80: 57(fvec2) ConstantComposite 21 79 - 83: TypeImage 6(float) 3D sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex3df4): 84(ptr) Variable UniformConstant - 88: TypeSampledImage 83 - 90: TypeVector 6(float) 3 - 91: 90(fvec3) ConstantComposite 20 34 47 - 94: TypeImage 23(int) 3D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex3di4): 95(ptr) Variable UniformConstant - 99: TypeSampledImage 94 - 101: 90(fvec3) ConstantComposite 68 21 79 - 104: TypeImage 36(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3du4): 105(ptr) Variable UniformConstant - 109: TypeSampledImage 104 - 111: 6(float) Constant 1060320051 - 112: 6(float) Constant 1061997773 - 113: 6(float) Constant 1063675494 - 114: 90(fvec3) ConstantComposite 111 112 113 - 117: TypeImage 6(float) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdf4): 118(ptr) Variable UniformConstant - 122: TypeSampledImage 117 - 126: TypeImage 23(int) Cube sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTexcdi4): 127(ptr) Variable UniformConstant - 131: TypeSampledImage 126 - 135: TypeImage 36(int) Cube sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTexcdu4): 136(ptr) Variable UniformConstant - 140: TypeSampledImage 135 - 143(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 144: TypePointer Function 143(PS_OUTPUT) - 146: 23(int) Constant 0 - 147: 6(float) Constant 1065353216 - 148: 7(fvec4) ConstantComposite 147 147 147 147 - 150: 23(int) Constant 1 - 151: TypePointer Function 6(float) - 153: TypePointer Output 7(fvec4) - 154(Color): 153(ptr) Variable Output - 157: TypePointer Output 6(float) - 158(Depth): 157(ptr) Variable Output -162(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1056964608 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1058642330 + 84: 61(fvec2) ConstantComposite 25 83 + 87: TypeImage 6(float) 3D sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTex3df4): 88(ptr) Variable UniformConstant + 92: TypeSampledImage 87 + 94: TypeVector 6(float) 3 + 95: 94(fvec3) ConstantComposite 24 38 51 + 98: TypeImage 27(int) 3D sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTex3di4): 99(ptr) Variable UniformConstant + 103: TypeSampledImage 98 + 105: 94(fvec3) ConstantComposite 72 25 83 + 108: TypeImage 40(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3du4): 109(ptr) Variable UniformConstant + 113: TypeSampledImage 108 + 115: 6(float) Constant 1060320051 + 116: 6(float) Constant 1061997773 + 117: 6(float) Constant 1063675494 + 118: 94(fvec3) ConstantComposite 115 116 117 + 121: TypeImage 6(float) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdf4): 122(ptr) Variable UniformConstant + 126: TypeSampledImage 121 + 130: TypeImage 27(int) Cube sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTexcdi4): 131(ptr) Variable UniformConstant + 135: TypeSampledImage 130 + 139: TypeImage 40(int) Cube sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTexcdu4): 140(ptr) Variable UniformConstant + 144: TypeSampledImage 139 + 147: TypePointer Function 8(PS_OUTPUT) + 149: 27(int) Constant 0 + 150: 6(float) Constant 1065353216 + 151: 7(fvec4) ConstantComposite 150 150 150 150 + 153: 27(int) Constant 1 + 154: TypePointer Function 6(float) + 161: TypePointer Output 7(fvec4) + 162(Color): 161(ptr) Variable Output + 165: TypePointer Output 6(float) + 166(Depth): 165(ptr) Variable Output +169(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 82(txval30): 8(ptr) Variable Function - 93(txval31): 25(ptr) Variable Function - 103(txval32): 38(ptr) Variable Function - 116(txval40): 8(ptr) Variable Function - 125(txval41): 25(ptr) Variable Function - 134(txval42): 38(ptr) Variable Function - 145(psout): 144(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleImplicitLod 19 20 Bias 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleImplicitLod 33 34 Bias 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleImplicitLod 46 47 Bias 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleImplicitLod 56 58 Bias 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleImplicitLod 67 69 Bias 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 81: 37(ivec4) ImageSampleImplicitLod 78 80 Bias 21 - Store 71(txval22) 81 - 86: 83 Load 85(g_tTex3df4) - 87: 14 Load 16(g_sSamp) - 89: 88 SampledImage 86 87 - 92: 7(fvec4) ImageSampleImplicitLod 89 91 Bias 21 - Store 82(txval30) 92 - 97: 94 Load 96(g_tTex3di4) - 98: 14 Load 16(g_sSamp) - 100: 99 SampledImage 97 98 - 102: 24(ivec4) ImageSampleImplicitLod 100 101 Bias 21 - Store 93(txval31) 102 - 107: 104 Load 106(g_tTex3du4) - 108: 14 Load 16(g_sSamp) - 110: 109 SampledImage 107 108 - 115: 37(ivec4) ImageSampleImplicitLod 110 114 Bias 21 - Store 103(txval32) 115 - 120: 117 Load 119(g_tTexcdf4) - 121: 14 Load 16(g_sSamp) - 123: 122 SampledImage 120 121 - 124: 7(fvec4) ImageSampleImplicitLod 123 91 Bias 21 - Store 116(txval40) 124 - 129: 126 Load 128(g_tTexcdi4) - 130: 14 Load 16(g_sSamp) - 132: 131 SampledImage 129 130 - 133: 24(ivec4) ImageSampleImplicitLod 132 101 Bias 21 - Store 125(txval41) 133 - 138: 135 Load 137(g_tTexcdu4) - 139: 14 Load 16(g_sSamp) - 141: 140 SampledImage 138 139 - 142: 37(ivec4) ImageSampleImplicitLod 141 114 Bias 21 - Store 134(txval42) 142 - 149: 8(ptr) AccessChain 145(psout) 146 - Store 149 148 - 152: 151(ptr) AccessChain 145(psout) 150 - Store 152 147 - 155: 8(ptr) AccessChain 145(psout) 146 - 156: 7(fvec4) Load 155 - Store 154(Color) 156 - 159: 151(ptr) AccessChain 145(psout) 150 - 160: 6(float) Load 159 - Store 158(Depth) 160 +159(flattenTemp): 147(ptr) Variable Function + 160:8(PS_OUTPUT) FunctionCall 10(@main() + Store 159(flattenTemp) 160 + 163: 12(ptr) AccessChain 159(flattenTemp) 149 + 164: 7(fvec4) Load 163 + Store 162(Color) 164 + 167: 154(ptr) AccessChain 159(flattenTemp) 153 + 168: 6(float) Load 167 + Store 166(Depth) 168 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 86(txval30): 12(ptr) Variable Function + 97(txval31): 29(ptr) Variable Function + 107(txval32): 42(ptr) Variable Function + 120(txval40): 12(ptr) Variable Function + 129(txval41): 29(ptr) Variable Function + 138(txval42): 42(ptr) Variable Function + 148(psout): 147(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleImplicitLod 23 24 Bias 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleImplicitLod 37 38 Bias 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleImplicitLod 50 51 Bias 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleImplicitLod 60 62 Bias 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleImplicitLod 71 73 Bias 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 85: 41(ivec4) ImageSampleImplicitLod 82 84 Bias 25 + Store 75(txval22) 85 + 90: 87 Load 89(g_tTex3df4) + 91: 18 Load 20(g_sSamp) + 93: 92 SampledImage 90 91 + 96: 7(fvec4) ImageSampleImplicitLod 93 95 Bias 25 + Store 86(txval30) 96 + 101: 98 Load 100(g_tTex3di4) + 102: 18 Load 20(g_sSamp) + 104: 103 SampledImage 101 102 + 106: 28(ivec4) ImageSampleImplicitLod 104 105 Bias 25 + Store 97(txval31) 106 + 111: 108 Load 110(g_tTex3du4) + 112: 18 Load 20(g_sSamp) + 114: 113 SampledImage 111 112 + 119: 41(ivec4) ImageSampleImplicitLod 114 118 Bias 25 + Store 107(txval32) 119 + 124: 121 Load 123(g_tTexcdf4) + 125: 18 Load 20(g_sSamp) + 127: 126 SampledImage 124 125 + 128: 7(fvec4) ImageSampleImplicitLod 127 95 Bias 25 + Store 120(txval40) 128 + 133: 130 Load 132(g_tTexcdi4) + 134: 18 Load 20(g_sSamp) + 136: 135 SampledImage 133 134 + 137: 28(ivec4) ImageSampleImplicitLod 136 105 Bias 25 + Store 129(txval41) 137 + 142: 139 Load 141(g_tTexcdu4) + 143: 18 Load 20(g_sSamp) + 145: 144 SampledImage 142 143 + 146: 41(ivec4) ImageSampleImplicitLod 145 118 Bias 25 + Store 138(txval42) 146 + 152: 12(ptr) AccessChain 148(psout) 149 + Store 152 151 + 155: 154(ptr) AccessChain 148(psout) 153 + Store 155 150 + 156:8(PS_OUTPUT) Load 148(psout) + ReturnValue 156 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 01facb65d7f..19191321b08 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplebias.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -19,12 +19,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -32,12 +32,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -45,12 +45,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -60,12 +60,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -75,12 +75,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -90,12 +90,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -107,12 +107,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -124,12 +124,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -140,9 +140,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -150,45 +150,51 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -197,16 +203,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -214,12 +220,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -227,12 +233,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -240,12 +246,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -255,12 +261,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -270,12 +276,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -285,12 +291,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -302,12 +308,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -319,12 +325,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -335,9 +341,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -345,268 +351,285 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 154 +// Id's are bound by 161 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 136 140 + EntryPoint Fragment 4 "main" 144 148 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 76 "txval22" - Name 79 "g_tTex2du4" - Name 89 "txval30" - Name 92 "g_tTex3df4" - Name 102 "txval31" - Name 105 "g_tTex3di4" - Name 113 "txval32" - Name 116 "g_tTex3du4" - Name 127 "PS_OUTPUT" - MemberName 127(PS_OUTPUT) 0 "Color" - MemberName 127(PS_OUTPUT) 1 "Depth" - Name 129 "psout" - Name 136 "Color" - Name 140 "Depth" - Name 144 "g_tTex1df4a" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 79(g_tTex2du4) DescriptorSet 0 - Decorate 92(g_tTex3df4) DescriptorSet 0 - Decorate 105(g_tTex3di4) DescriptorSet 0 - Decorate 116(g_tTex3du4) DescriptorSet 0 - Decorate 136(Color) Location 0 - Decorate 140(Depth) BuiltIn FragDepth - Decorate 144(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1df4a) Binding 1 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 80 "txval22" + Name 83 "g_tTex2du4" + Name 93 "txval30" + Name 96 "g_tTex3df4" + Name 106 "txval31" + Name 109 "g_tTex3di4" + Name 117 "txval32" + Name 120 "g_tTex3du4" + Name 132 "psout" + Name 141 "flattenTemp" + Name 144 "Color" + Name 148 "Depth" + Name 151 "g_tTex1df4a" + Name 154 "g_tTexcdf4" + Name 157 "g_tTexcdi4" + Name 160 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 144(Color) Location 0 + Decorate 148(Depth) BuiltIn FragDepth + Decorate 151(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1df4a) Binding 1 + Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1056964608 - 22: TypeInt 32 1 - 23: 22(int) Constant 1 - 25: TypeVector 22(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 22(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: TypeVector 22(int) 2 - 61: 22(int) Constant 0 - 62: 60(ivec2) ConstantComposite 23 61 - 65: TypeImage 22(int) 2D sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1053609165 - 73: 58(fvec2) ConstantComposite 48 72 - 74: 60(ivec2) ConstantComposite 23 23 - 77: TypeImage 37(int) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1058642330 - 85: 58(fvec2) ConstantComposite 21 84 - 86: 22(int) Constant 4294967295 - 87: 60(ivec2) ConstantComposite 23 86 - 90: TypeImage 6(float) 3D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex3df4): 91(ptr) Variable UniformConstant - 95: TypeSampledImage 90 - 97: TypeVector 6(float) 3 - 98: 97(fvec3) ConstantComposite 20 35 48 - 99: TypeVector 22(int) 3 - 100: 99(ivec3) ConstantComposite 23 61 23 - 103: TypeImage 22(int) 3D sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTex3di4): 104(ptr) Variable UniformConstant - 108: TypeSampledImage 103 - 110: 97(fvec3) ConstantComposite 72 21 84 - 111: 99(ivec3) ConstantComposite 23 23 23 - 114: TypeImage 37(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3du4): 115(ptr) Variable UniformConstant - 119: TypeSampledImage 114 - 121: 6(float) Constant 1060320051 - 122: 6(float) Constant 1061997773 - 123: 6(float) Constant 1063675494 - 124: 97(fvec3) ConstantComposite 121 122 123 - 125: 99(ivec3) ConstantComposite 23 61 86 - 127(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 128: TypePointer Function 127(PS_OUTPUT) - 130: 6(float) Constant 1065353216 - 131: 7(fvec4) ConstantComposite 130 130 130 130 - 133: TypePointer Function 6(float) - 135: TypePointer Output 7(fvec4) - 136(Color): 135(ptr) Variable Output - 139: TypePointer Output 6(float) - 140(Depth): 139(ptr) Variable Output -144(g_tTex1df4a): 11(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 22(int) Cube sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 37(int) Cube sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1056964608 + 26: TypeInt 32 1 + 27: 26(int) Constant 1 + 29: TypeVector 26(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 26(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: TypeVector 26(int) 2 + 65: 26(int) Constant 0 + 66: 64(ivec2) ConstantComposite 27 65 + 69: TypeImage 26(int) 2D sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1053609165 + 77: 62(fvec2) ConstantComposite 52 76 + 78: 64(ivec2) ConstantComposite 27 27 + 81: TypeImage 41(int) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1058642330 + 89: 62(fvec2) ConstantComposite 25 88 + 90: 26(int) Constant 4294967295 + 91: 64(ivec2) ConstantComposite 27 90 + 94: TypeImage 6(float) 3D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex3df4): 95(ptr) Variable UniformConstant + 99: TypeSampledImage 94 + 101: TypeVector 6(float) 3 + 102: 101(fvec3) ConstantComposite 24 39 52 + 103: TypeVector 26(int) 3 + 104: 103(ivec3) ConstantComposite 27 65 27 + 107: TypeImage 26(int) 3D sampled format:Unknown + 108: TypePointer UniformConstant 107 + 109(g_tTex3di4): 108(ptr) Variable UniformConstant + 112: TypeSampledImage 107 + 114: 101(fvec3) ConstantComposite 76 25 88 + 115: 103(ivec3) ConstantComposite 27 27 27 + 118: TypeImage 41(int) 3D sampled format:Unknown + 119: TypePointer UniformConstant 118 + 120(g_tTex3du4): 119(ptr) Variable UniformConstant + 123: TypeSampledImage 118 + 125: 6(float) Constant 1060320051 + 126: 6(float) Constant 1061997773 + 127: 6(float) Constant 1063675494 + 128: 101(fvec3) ConstantComposite 125 126 127 + 129: 103(ivec3) ConstantComposite 27 65 90 + 131: TypePointer Function 8(PS_OUTPUT) + 133: 6(float) Constant 1065353216 + 134: 7(fvec4) ConstantComposite 133 133 133 133 + 136: TypePointer Function 6(float) + 143: TypePointer Output 7(fvec4) + 144(Color): 143(ptr) Variable Output + 147: TypePointer Output 6(float) + 148(Depth): 147(ptr) Variable Output +151(g_tTex1df4a): 15(ptr) Variable UniformConstant + 152: TypeImage 6(float) Cube sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTexcdf4): 153(ptr) Variable UniformConstant + 155: TypeImage 26(int) Cube sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTexcdi4): 156(ptr) Variable UniformConstant + 158: TypeImage 41(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdu4): 159(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 64(txval21): 26(ptr) Variable Function - 76(txval22): 39(ptr) Variable Function - 89(txval30): 8(ptr) Variable Function - 102(txval31): 26(ptr) Variable Function - 113(txval32): 39(ptr) Variable Function - 129(psout): 128(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 20 Bias ConstOffset 23 21 - Store 9(txval10) 24 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleImplicitLod 34 35 Bias ConstOffset 23 21 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleImplicitLod 47 48 Bias ConstOffset 23 21 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 63: 7(fvec4) ImageSampleImplicitLod 57 59 Bias ConstOffset 62 21 - Store 50(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 75: 25(ivec4) ImageSampleImplicitLod 71 73 Bias ConstOffset 74 21 - Store 64(txval21) 75 - 80: 77 Load 79(g_tTex2du4) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 88: 38(ivec4) ImageSampleImplicitLod 83 85 Bias ConstOffset 87 21 - Store 76(txval22) 88 - 93: 90 Load 92(g_tTex3df4) - 94: 14 Load 16(g_sSamp) - 96: 95 SampledImage 93 94 - 101: 7(fvec4) ImageSampleImplicitLod 96 98 Bias ConstOffset 100 21 - Store 89(txval30) 101 - 106: 103 Load 105(g_tTex3di4) - 107: 14 Load 16(g_sSamp) - 109: 108 SampledImage 106 107 - 112: 25(ivec4) ImageSampleImplicitLod 109 110 Bias ConstOffset 111 21 - Store 102(txval31) 112 - 117: 114 Load 116(g_tTex3du4) - 118: 14 Load 16(g_sSamp) - 120: 119 SampledImage 117 118 - 126: 38(ivec4) ImageSampleImplicitLod 120 124 Bias ConstOffset 125 21 - Store 113(txval32) 126 - 132: 8(ptr) AccessChain 129(psout) 61 - Store 132 131 - 134: 133(ptr) AccessChain 129(psout) 23 - Store 134 130 - 137: 8(ptr) AccessChain 129(psout) 61 - 138: 7(fvec4) Load 137 - Store 136(Color) 138 - 141: 133(ptr) AccessChain 129(psout) 23 - 142: 6(float) Load 141 - Store 140(Depth) 142 +141(flattenTemp): 131(ptr) Variable Function + 142:8(PS_OUTPUT) FunctionCall 10(@main() + Store 141(flattenTemp) 142 + 145: 12(ptr) AccessChain 141(flattenTemp) 65 + 146: 7(fvec4) Load 145 + Store 144(Color) 146 + 149: 136(ptr) AccessChain 141(flattenTemp) 27 + 150: 6(float) Load 149 + Store 148(Depth) 150 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 68(txval21): 30(ptr) Variable Function + 80(txval22): 43(ptr) Variable Function + 93(txval30): 12(ptr) Variable Function + 106(txval31): 30(ptr) Variable Function + 117(txval32): 43(ptr) Variable Function + 132(psout): 131(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 25 + Store 13(txval10) 28 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 25 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 25 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 66 25 + Store 54(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 78 25 + Store 68(txval21) 79 + 84: 81 Load 83(g_tTex2du4) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 91 25 + Store 80(txval22) 92 + 97: 94 Load 96(g_tTex3df4) + 98: 18 Load 20(g_sSamp) + 100: 99 SampledImage 97 98 + 105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 104 25 + Store 93(txval30) 105 + 110: 107 Load 109(g_tTex3di4) + 111: 18 Load 20(g_sSamp) + 113: 112 SampledImage 110 111 + 116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 115 25 + Store 106(txval31) 116 + 121: 118 Load 120(g_tTex3du4) + 122: 18 Load 20(g_sSamp) + 124: 123 SampledImage 121 122 + 130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 129 25 + Store 117(txval32) 130 + 135: 12(ptr) AccessChain 132(psout) 65 + Store 135 134 + 137: 136(ptr) AccessChain 132(psout) 27 + Store 137 133 + 138:8(PS_OUTPUT) Load 132(psout) + ReturnValue 138 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index 17aef7aec89..0aab048449d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplebias.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -20,12 +20,12 @@ gl_FragCoord origin is upper left 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 @@ -34,12 +34,12 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -48,12 +48,12 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -64,12 +64,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -80,12 +80,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -95,9 +95,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -105,39 +105,45 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -146,16 +152,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -164,12 +170,12 @@ gl_FragCoord origin is upper left 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 @@ -178,12 +184,12 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -192,12 +198,12 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -208,12 +214,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -224,12 +230,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -239,9 +245,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -249,201 +255,218 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 111 +// Id's are bound by 118 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 102 106 + EntryPoint Fragment 4 "main" 110 114 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 45 "txval12" - Name 48 "g_tTex1du4" - Name 57 "txval20" - Name 60 "g_tTex2df4" - Name 70 "txval21" - Name 73 "g_tTex2di4" - Name 80 "txval22" - Name 83 "g_tTex2du4" - Name 93 "PS_OUTPUT" - MemberName 93(PS_OUTPUT) 0 "Color" - MemberName 93(PS_OUTPUT) 1 "Depth" - Name 95 "psout" - Name 102 "Color" - Name 106 "Depth" - Name 110 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 - Decorate 60(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 83(g_tTex2du4) DescriptorSet 0 - Decorate 102(Color) Location 0 - Decorate 106(Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 - Decorate 110(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 49 "txval12" + Name 52 "g_tTex1du4" + Name 61 "txval20" + Name 64 "g_tTex2df4" + Name 74 "txval21" + Name 77 "g_tTex2di4" + Name 84 "txval22" + Name 87 "g_tTex2du4" + Name 98 "psout" + Name 107 "flattenTemp" + Name 110 "Color" + Name 114 "Depth" + Name 117 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 110(Color) Location 0 + Decorate 114(Depth) BuiltIn FragDepth + Decorate 117(g_tTex1df4a) DescriptorSet 0 + Decorate 117(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1056964608 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1050253722 - 39: 20(fvec2) ConstantComposite 22 38 - 40: 25(int) Constant 1 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 1D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex1du4): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1053609165 - 54: 20(fvec2) ConstantComposite 38 53 - 55: 25(int) Constant 2 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: TypeVector 6(float) 3 - 66: 65(fvec3) ConstantComposite 21 22 38 - 67: TypeVector 25(int) 2 - 68: 67(ivec2) ConstantComposite 26 26 - 71: TypeImage 25(int) 2D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeSampledImage 71 - 78: 65(fvec3) ConstantComposite 38 53 24 - 81: TypeImage 42(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2du4): 82(ptr) Variable UniformConstant - 86: TypeSampledImage 81 - 88: 6(float) Constant 1058642330 - 89: 6(float) Constant 1060320051 - 90: 65(fvec3) ConstantComposite 24 88 89 - 91: 67(ivec2) ConstantComposite 26 40 - 93(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 94: TypePointer Function 93(PS_OUTPUT) - 96: 6(float) Constant 1065353216 - 97: 7(fvec4) ConstantComposite 96 96 96 96 - 99: TypePointer Function 6(float) - 101: TypePointer Output 7(fvec4) - 102(Color): 101(ptr) Variable Output - 105: TypePointer Output 6(float) - 106(Depth): 105(ptr) Variable Output -110(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1056964608 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1050253722 + 43: 24(fvec2) ConstantComposite 26 42 + 44: 29(int) Constant 1 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 1D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex1du4): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1053609165 + 58: 24(fvec2) ConstantComposite 42 57 + 59: 29(int) Constant 2 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: TypeVector 6(float) 3 + 70: 69(fvec3) ConstantComposite 25 26 42 + 71: TypeVector 29(int) 2 + 72: 71(ivec2) ConstantComposite 30 30 + 75: TypeImage 29(int) 2D array sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeSampledImage 75 + 82: 69(fvec3) ConstantComposite 42 57 28 + 85: TypeImage 46(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 92: 6(float) Constant 1058642330 + 93: 6(float) Constant 1060320051 + 94: 69(fvec3) ConstantComposite 28 92 93 + 95: 71(ivec2) ConstantComposite 30 44 + 97: TypePointer Function 8(PS_OUTPUT) + 99: 6(float) Constant 1065353216 + 100: 7(fvec4) ConstantComposite 99 99 99 99 + 102: TypePointer Function 6(float) + 109: TypePointer Output 7(fvec4) + 110(Color): 109(ptr) Variable Output + 113: TypePointer Output 6(float) + 114(Depth): 113(ptr) Variable Output +117(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 45(txval12): 44(ptr) Variable Function - 57(txval20): 8(ptr) Variable Function - 70(txval21): 29(ptr) Variable Function - 80(txval22): 44(ptr) Variable Function - 95(psout): 94(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageSampleImplicitLod 19 23 Bias ConstOffset 26 24 - Store 9(txval10) 27 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageSampleImplicitLod 37 39 Bias ConstOffset 40 24 - Store 30(txval11) 41 - 49: 46 Load 48(g_tTex1du4) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageSampleImplicitLod 52 54 Bias ConstOffset 55 24 - Store 45(txval12) 56 - 61: 58 Load 60(g_tTex2df4) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 69: 7(fvec4) ImageSampleImplicitLod 64 66 Bias ConstOffset 68 24 - Store 57(txval20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 14 Load 16(g_sSamp) - 77: 76 SampledImage 74 75 - 79: 28(ivec4) ImageSampleImplicitLod 77 78 Bias ConstOffset 68 24 - Store 70(txval21) 79 - 84: 81 Load 83(g_tTex2du4) - 85: 14 Load 16(g_sSamp) - 87: 86 SampledImage 84 85 - 92: 43(ivec4) ImageSampleImplicitLod 87 90 Bias ConstOffset 91 24 - Store 80(txval22) 92 - 98: 8(ptr) AccessChain 95(psout) 26 - Store 98 97 - 100: 99(ptr) AccessChain 95(psout) 40 - Store 100 96 - 103: 8(ptr) AccessChain 95(psout) 26 - 104: 7(fvec4) Load 103 - Store 102(Color) 104 - 107: 99(ptr) AccessChain 95(psout) 40 - 108: 6(float) Load 107 - Store 106(Depth) 108 +107(flattenTemp): 97(ptr) Variable Function + 108:8(PS_OUTPUT) FunctionCall 10(@main() + Store 107(flattenTemp) 108 + 111: 12(ptr) AccessChain 107(flattenTemp) 30 + 112: 7(fvec4) Load 111 + Store 110(Color) 112 + 115: 102(ptr) AccessChain 107(flattenTemp) 44 + 116: 6(float) Load 115 + Store 114(Depth) 116 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 49(txval12): 48(ptr) Variable Function + 61(txval20): 12(ptr) Variable Function + 74(txval21): 33(ptr) Variable Function + 84(txval22): 48(ptr) Variable Function + 98(psout): 97(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 28 + Store 13(txval10) 31 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 44 28 + Store 34(txval11) 45 + 53: 50 Load 52(g_tTex1du4) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 59 28 + Store 49(txval12) 60 + 65: 62 Load 64(g_tTex2df4) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 72 28 + Store 61(txval20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 81: 80 SampledImage 78 79 + 83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 72 28 + Store 74(txval21) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 95 28 + Store 84(txval22) 96 + 101: 12(ptr) AccessChain 98(psout) 30 + Store 101 100 + 103: 102(ptr) AccessChain 98(psout) 44 + Store 103 99 + 104:8(PS_OUTPUT) Load 98(psout) + ReturnValue 104 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index c4f5d11c8c5..6f26c98f049 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -2,56 +2,56 @@ hlsl.samplecmp.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r10' (temp float) -0:42 texture (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r10' ( temp float) +0:42 texture ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r12' (temp float) -0:43 texture (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r12' ( temp float) +0:43 texture ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r14' (temp float) -0:44 texture (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r14' ( temp float) +0:44 texture ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:44 Constant: 0:44 0.750000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r30' (temp float) -0:47 texture (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r30' ( temp float) +0:47 texture ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -59,13 +59,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.750000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r32' (temp float) -0:48 texture (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r32' ( temp float) +0:48 texture ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -73,13 +73,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.750000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r34' (temp float) -0:49 texture (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r34' ( temp float) +0:49 texture ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -87,13 +87,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.750000 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r60' (temp float) -0:52 texture (temp float) -0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' (uniform textureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp 4-component vector of float) +0:52 move second child to first child ( temp float) +0:52 'r60' ( temp float) +0:52 texture ( temp float) +0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) +0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -102,13 +102,13 @@ gl_FragCoord origin is upper left 0:52 Constant: 0:52 0.750000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r62' (temp float) -0:53 texture (temp float) -0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' (uniform itextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r62' ( temp float) +0:53 texture ( temp float) +0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -117,13 +117,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.750000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r64' (temp float) -0:54 texture (temp float) -0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' (uniform utextureCubeArray) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r64' ( temp float) +0:54 texture ( temp float) +0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -131,9 +131,9 @@ gl_FragCoord origin is upper left 0:? 0.400000 0:54 Constant: 0:54 0.750000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 Color: direct index for structure ( temp 4-component vector of float) +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:56 Constant: 0:56 0 (const int) 0:56 Constant: @@ -141,53 +141,59 @@ gl_FragCoord origin is upper left 0:56 1.000000 0:56 1.000000 0:56 1.000000 -0:57 move second child to first child (temp float) -0:57 Depth: direct index for structure (temp float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp float) +0:57 Depth: direct index for structure ( temp float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -196,56 +202,56 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r10' (temp float) -0:42 texture (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r10' ( temp float) +0:42 texture ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r12' (temp float) -0:43 texture (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r12' ( temp float) +0:43 texture ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r14' (temp float) -0:44 texture (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r14' ( temp float) +0:44 texture ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:44 Constant: 0:44 0.750000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r30' (temp float) -0:47 texture (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r30' ( temp float) +0:47 texture ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -253,13 +259,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.750000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r32' (temp float) -0:48 texture (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r32' ( temp float) +0:48 texture ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -267,13 +273,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.750000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r34' (temp float) -0:49 texture (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r34' ( temp float) +0:49 texture ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -281,13 +287,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.750000 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r60' (temp float) -0:52 texture (temp float) -0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' (uniform textureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp 4-component vector of float) +0:52 move second child to first child ( temp float) +0:52 'r60' ( temp float) +0:52 texture ( temp float) +0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) +0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -296,13 +302,13 @@ gl_FragCoord origin is upper left 0:52 Constant: 0:52 0.750000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r62' (temp float) -0:53 texture (temp float) -0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' (uniform itextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r62' ( temp float) +0:53 texture ( temp float) +0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -311,13 +317,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.750000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r64' (temp float) -0:54 texture (temp float) -0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' (uniform utextureCubeArray) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r64' ( temp float) +0:54 texture ( temp float) +0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -325,9 +331,9 @@ gl_FragCoord origin is upper left 0:? 0.400000 0:54 Constant: 0:54 0.750000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 Color: direct index for structure ( temp 4-component vector of float) +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:56 Constant: 0:56 0 (const int) 0:56 Constant: @@ -335,349 +341,366 @@ gl_FragCoord origin is upper left 0:56 1.000000 0:56 1.000000 0:56 1.000000 -0:57 move second child to first child (temp float) -0:57 Depth: direct index for structure (temp float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp float) +0:57 Depth: direct index for structure ( temp float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 211 +// Id's are bound by 218 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 167 171 + EntryPoint Fragment 4 "main" 175 179 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 31 "r12" - Name 35 "g_tTex1di4a" - Name 46 "r14" - Name 50 "g_tTex1du4a" - Name 61 "r30" - Name 64 "g_tTex2df4a" - Name 79 "r32" - Name 82 "g_tTex2di4a" - Name 94 "r34" - Name 97 "g_tTex2du4a" - Name 109 "r60" - Name 112 "g_tTexcdf4a" - Name 126 "r62" - Name 129 "g_tTexcdi4a" - Name 141 "r64" - Name 144 "g_tTexcdu4a" - Name 156 "PS_OUTPUT" - MemberName 156(PS_OUTPUT) 0 "Color" - MemberName 156(PS_OUTPUT) 1 "Depth" - Name 158 "psout" - Name 167 "Color" - Name 171 "Depth" - Name 177 "g_tTex1df4" - Name 180 "g_tTex1di4" - Name 183 "g_tTex1du4" - Name 186 "g_tTex2df4" - Name 189 "g_tTex2di4" - Name 192 "g_tTex2du4" - Name 195 "g_tTex3df4" - Name 198 "g_tTex3di4" - Name 201 "g_tTex3du4" - Name 204 "g_tTexcdf4" - Name 207 "g_tTexcdi4" - Name 210 "g_tTexcdu4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4a) DescriptorSet 0 - Decorate 50(g_tTex1du4a) DescriptorSet 0 - Decorate 64(g_tTex2df4a) DescriptorSet 0 - Decorate 82(g_tTex2di4a) DescriptorSet 0 - Decorate 97(g_tTex2du4a) DescriptorSet 0 - Decorate 112(g_tTexcdf4a) DescriptorSet 0 - Decorate 129(g_tTexcdi4a) DescriptorSet 0 - Decorate 144(g_tTexcdu4a) DescriptorSet 0 - Decorate 167(Color) Location 0 - Decorate 171(Depth) BuiltIn FragDepth - Decorate 177(g_tTex1df4) DescriptorSet 0 - Decorate 177(g_tTex1df4) Binding 0 - Decorate 180(g_tTex1di4) DescriptorSet 0 - Decorate 183(g_tTex1du4) DescriptorSet 0 - Decorate 186(g_tTex2df4) DescriptorSet 0 - Decorate 189(g_tTex2di4) DescriptorSet 0 - Decorate 192(g_tTex2du4) DescriptorSet 0 - Decorate 195(g_tTex3df4) DescriptorSet 0 - Decorate 198(g_tTex3di4) DescriptorSet 0 - Decorate 201(g_tTex3du4) DescriptorSet 0 - Decorate 204(g_tTexcdf4) DescriptorSet 0 - Decorate 207(g_tTexcdi4) DescriptorSet 0 - Decorate 210(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 36 "r12" + Name 40 "g_tTex1di4a" + Name 51 "r14" + Name 55 "g_tTex1du4a" + Name 66 "r30" + Name 69 "g_tTex2df4a" + Name 83 "r32" + Name 86 "g_tTex2di4a" + Name 98 "r34" + Name 101 "g_tTex2du4a" + Name 113 "r60" + Name 116 "g_tTexcdf4a" + Name 130 "r62" + Name 133 "g_tTexcdi4a" + Name 145 "r64" + Name 148 "g_tTexcdu4a" + Name 161 "psout" + Name 172 "flattenTemp" + Name 175 "Color" + Name 179 "Depth" + Name 184 "g_tTex1df4" + Name 187 "g_tTex1di4" + Name 190 "g_tTex1du4" + Name 193 "g_tTex2df4" + Name 196 "g_tTex2di4" + Name 199 "g_tTex2du4" + Name 202 "g_tTex3df4" + Name 205 "g_tTex3di4" + Name 208 "g_tTex3du4" + Name 211 "g_tTexcdf4" + Name 214 "g_tTexcdi4" + Name 217 "g_tTexcdu4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 55(g_tTex1du4a) DescriptorSet 0 + Decorate 69(g_tTex2df4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 116(g_tTexcdf4a) DescriptorSet 0 + Decorate 133(g_tTexcdi4a) DescriptorSet 0 + Decorate 148(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(Color) Location 0 + Decorate 179(Depth) BuiltIn FragDepth + Decorate 184(g_tTex1df4) DescriptorSet 0 + Decorate 184(g_tTex1df4) Binding 0 + Decorate 187(g_tTex1di4) DescriptorSet 0 + Decorate 190(g_tTex1du4) DescriptorSet 0 + Decorate 193(g_tTex2df4) DescriptorSet 0 + Decorate 196(g_tTex2di4) DescriptorSet 0 + Decorate 199(g_tTex2du4) DescriptorSet 0 + Decorate 202(g_tTex3df4) DescriptorSet 0 + Decorate 205(g_tTex3di4) DescriptorSet 0 + Decorate 208(g_tTex3du4) DescriptorSet 0 + Decorate 211(g_tTexcdf4) DescriptorSet 0 + Decorate 214(g_tTexcdi4) DescriptorSet 0 + Decorate 217(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 32: TypeInt 32 1 - 33: TypeImage 32(int) 1D array sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex1di4a): 34(ptr) Variable UniformConstant - 38: TypeImage 32(int) 1D depth array sampled format:Unknown - 39: TypeSampledImage 38 - 47: TypeInt 32 0 - 48: TypeImage 47(int) 1D array sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex1du4a): 49(ptr) Variable UniformConstant - 53: TypeImage 47(int) 1D depth array sampled format:Unknown - 54: TypeSampledImage 53 - 62: TypeImage 6(float) 2D array sampled format:Unknown - 63: TypePointer UniformConstant 62 - 64(g_tTex2df4a): 63(ptr) Variable UniformConstant - 67: TypeImage 6(float) 2D depth array sampled format:Unknown - 68: TypeSampledImage 67 - 70: 6(float) Constant 1050253722 - 71: 25(fvec3) ConstantComposite 21 22 70 - 72: TypeVector 6(float) 4 - 80: TypeImage 32(int) 2D array sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex2di4a): 81(ptr) Variable UniformConstant - 85: TypeImage 32(int) 2D depth array sampled format:Unknown - 86: TypeSampledImage 85 - 95: TypeImage 47(int) 2D array sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex2du4a): 96(ptr) Variable UniformConstant - 100: TypeImage 47(int) 2D depth array sampled format:Unknown - 101: TypeSampledImage 100 - 110: TypeImage 6(float) Cube array sampled format:Unknown - 111: TypePointer UniformConstant 110 -112(g_tTexcdf4a): 111(ptr) Variable UniformConstant - 115: TypeImage 6(float) Cube depth array sampled format:Unknown - 116: TypeSampledImage 115 - 118: 6(float) Constant 1053609165 - 119: 72(fvec4) ConstantComposite 21 22 70 118 - 127: TypeImage 32(int) Cube array sampled format:Unknown - 128: TypePointer UniformConstant 127 -129(g_tTexcdi4a): 128(ptr) Variable UniformConstant - 132: TypeImage 32(int) Cube depth array sampled format:Unknown - 133: TypeSampledImage 132 - 142: TypeImage 47(int) Cube array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTexcdu4a): 143(ptr) Variable UniformConstant - 147: TypeImage 47(int) Cube depth array sampled format:Unknown - 148: TypeSampledImage 147 - 156(PS_OUTPUT): TypeStruct 72(fvec4) 6(float) - 157: TypePointer Function 156(PS_OUTPUT) - 159: 32(int) Constant 0 - 160: 6(float) Constant 1065353216 - 161: 72(fvec4) ConstantComposite 160 160 160 160 - 162: TypePointer Function 72(fvec4) - 164: 32(int) Constant 1 - 166: TypePointer Output 72(fvec4) - 167(Color): 166(ptr) Variable Output - 170: TypePointer Output 6(float) - 171(Depth): 170(ptr) Variable Output - 175: TypeImage 6(float) 1D sampled format:Unknown - 176: TypePointer UniformConstant 175 - 177(g_tTex1df4): 176(ptr) Variable UniformConstant - 178: TypeImage 32(int) 1D sampled format:Unknown - 179: TypePointer UniformConstant 178 - 180(g_tTex1di4): 179(ptr) Variable UniformConstant - 181: TypeImage 47(int) 1D sampled format:Unknown - 182: TypePointer UniformConstant 181 - 183(g_tTex1du4): 182(ptr) Variable UniformConstant - 184: TypeImage 6(float) 2D sampled format:Unknown - 185: TypePointer UniformConstant 184 - 186(g_tTex2df4): 185(ptr) Variable UniformConstant - 187: TypeImage 32(int) 2D sampled format:Unknown - 188: TypePointer UniformConstant 187 - 189(g_tTex2di4): 188(ptr) Variable UniformConstant - 190: TypeImage 47(int) 2D sampled format:Unknown - 191: TypePointer UniformConstant 190 - 192(g_tTex2du4): 191(ptr) Variable UniformConstant - 193: TypeImage 6(float) 3D sampled format:Unknown - 194: TypePointer UniformConstant 193 - 195(g_tTex3df4): 194(ptr) Variable UniformConstant - 196: TypeImage 32(int) 3D sampled format:Unknown - 197: TypePointer UniformConstant 196 - 198(g_tTex3di4): 197(ptr) Variable UniformConstant - 199: TypeImage 47(int) 3D sampled format:Unknown - 200: TypePointer UniformConstant 199 - 201(g_tTex3du4): 200(ptr) Variable UniformConstant - 202: TypeImage 6(float) Cube sampled format:Unknown - 203: TypePointer UniformConstant 202 - 204(g_tTexcdf4): 203(ptr) Variable UniformConstant - 205: TypeImage 32(int) Cube sampled format:Unknown - 206: TypePointer UniformConstant 205 - 207(g_tTexcdi4): 206(ptr) Variable UniformConstant - 208: TypeImage 47(int) Cube sampled format:Unknown - 209: TypePointer UniformConstant 208 - 210(g_tTexcdu4): 209(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 37: TypeInt 32 1 + 38: TypeImage 37(int) 1D array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex1di4a): 39(ptr) Variable UniformConstant + 43: TypeImage 37(int) 1D depth array sampled format:Unknown + 44: TypeSampledImage 43 + 52: TypeInt 32 0 + 53: TypeImage 52(int) 1D array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex1du4a): 54(ptr) Variable UniformConstant + 58: TypeImage 52(int) 1D depth array sampled format:Unknown + 59: TypeSampledImage 58 + 67: TypeImage 6(float) 2D array sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2df4a): 68(ptr) Variable UniformConstant + 72: TypeImage 6(float) 2D depth array sampled format:Unknown + 73: TypeSampledImage 72 + 75: 6(float) Constant 1050253722 + 76: 30(fvec3) ConstantComposite 26 27 75 + 84: TypeImage 37(int) 2D array sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2di4a): 85(ptr) Variable UniformConstant + 89: TypeImage 37(int) 2D depth array sampled format:Unknown + 90: TypeSampledImage 89 + 99: TypeImage 52(int) 2D array sampled format:Unknown + 100: TypePointer UniformConstant 99 +101(g_tTex2du4a): 100(ptr) Variable UniformConstant + 104: TypeImage 52(int) 2D depth array sampled format:Unknown + 105: TypeSampledImage 104 + 114: TypeImage 6(float) Cube array sampled format:Unknown + 115: TypePointer UniformConstant 114 +116(g_tTexcdf4a): 115(ptr) Variable UniformConstant + 119: TypeImage 6(float) Cube depth array sampled format:Unknown + 120: TypeSampledImage 119 + 122: 6(float) Constant 1053609165 + 123: 7(fvec4) ConstantComposite 26 27 75 122 + 131: TypeImage 37(int) Cube array sampled format:Unknown + 132: TypePointer UniformConstant 131 +133(g_tTexcdi4a): 132(ptr) Variable UniformConstant + 136: TypeImage 37(int) Cube depth array sampled format:Unknown + 137: TypeSampledImage 136 + 146: TypeImage 52(int) Cube array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTexcdu4a): 147(ptr) Variable UniformConstant + 151: TypeImage 52(int) Cube depth array sampled format:Unknown + 152: TypeSampledImage 151 + 160: TypePointer Function 8(PS_OUTPUT) + 162: 37(int) Constant 0 + 163: 6(float) Constant 1065353216 + 164: 7(fvec4) ConstantComposite 163 163 163 163 + 165: TypePointer Function 7(fvec4) + 167: 37(int) Constant 1 + 174: TypePointer Output 7(fvec4) + 175(Color): 174(ptr) Variable Output + 178: TypePointer Output 6(float) + 179(Depth): 178(ptr) Variable Output + 182: TypeImage 6(float) 1D sampled format:Unknown + 183: TypePointer UniformConstant 182 + 184(g_tTex1df4): 183(ptr) Variable UniformConstant + 185: TypeImage 37(int) 1D sampled format:Unknown + 186: TypePointer UniformConstant 185 + 187(g_tTex1di4): 186(ptr) Variable UniformConstant + 188: TypeImage 52(int) 1D sampled format:Unknown + 189: TypePointer UniformConstant 188 + 190(g_tTex1du4): 189(ptr) Variable UniformConstant + 191: TypeImage 6(float) 2D sampled format:Unknown + 192: TypePointer UniformConstant 191 + 193(g_tTex2df4): 192(ptr) Variable UniformConstant + 194: TypeImage 37(int) 2D sampled format:Unknown + 195: TypePointer UniformConstant 194 + 196(g_tTex2di4): 195(ptr) Variable UniformConstant + 197: TypeImage 52(int) 2D sampled format:Unknown + 198: TypePointer UniformConstant 197 + 199(g_tTex2du4): 198(ptr) Variable UniformConstant + 200: TypeImage 6(float) 3D sampled format:Unknown + 201: TypePointer UniformConstant 200 + 202(g_tTex3df4): 201(ptr) Variable UniformConstant + 203: TypeImage 37(int) 3D sampled format:Unknown + 204: TypePointer UniformConstant 203 + 205(g_tTex3di4): 204(ptr) Variable UniformConstant + 206: TypeImage 52(int) 3D sampled format:Unknown + 207: TypePointer UniformConstant 206 + 208(g_tTex3du4): 207(ptr) Variable UniformConstant + 209: TypeImage 6(float) Cube sampled format:Unknown + 210: TypePointer UniformConstant 209 + 211(g_tTexcdf4): 210(ptr) Variable UniformConstant + 212: TypeImage 37(int) Cube sampled format:Unknown + 213: TypePointer UniformConstant 212 + 214(g_tTexcdi4): 213(ptr) Variable UniformConstant + 215: TypeImage 52(int) Cube sampled format:Unknown + 216: TypePointer UniformConstant 215 + 217(g_tTexcdu4): 216(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r10): 7(ptr) Variable Function - 31(r12): 7(ptr) Variable Function - 46(r14): 7(ptr) Variable Function - 61(r30): 7(ptr) Variable Function - 79(r32): 7(ptr) Variable Function - 94(r34): 7(ptr) Variable Function - 109(r60): 7(ptr) Variable Function - 126(r62): 7(ptr) Variable Function - 141(r64): 7(ptr) Variable Function - 158(psout): 157(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 29: 6(float) CompositeExtract 28 2 - 30: 6(float) ImageSampleDrefImplicitLod 19 28 29 - Store 8(r10) 30 - 36: 33 Load 35(g_tTex1di4a) - 37: 13 Load 15(g_sSamp) - 40: 39 SampledImage 36 37 - 41: 6(float) CompositeExtract 23 0 - 42: 6(float) CompositeExtract 23 1 - 43: 25(fvec3) CompositeConstruct 41 42 24 - 44: 6(float) CompositeExtract 43 2 - 45: 6(float) ImageSampleDrefImplicitLod 40 43 44 - Store 31(r12) 45 - 51: 48 Load 50(g_tTex1du4a) - 52: 13 Load 15(g_sSamp) - 55: 54 SampledImage 51 52 - 56: 6(float) CompositeExtract 23 0 - 57: 6(float) CompositeExtract 23 1 - 58: 25(fvec3) CompositeConstruct 56 57 24 - 59: 6(float) CompositeExtract 58 2 - 60: 6(float) ImageSampleDrefImplicitLod 55 58 59 - Store 46(r14) 60 - 65: 62 Load 64(g_tTex2df4a) - 66: 13 Load 15(g_sSamp) - 69: 68 SampledImage 65 66 - 73: 6(float) CompositeExtract 71 0 - 74: 6(float) CompositeExtract 71 1 - 75: 6(float) CompositeExtract 71 2 - 76: 72(fvec4) CompositeConstruct 73 74 75 24 - 77: 6(float) CompositeExtract 76 3 - 78: 6(float) ImageSampleDrefImplicitLod 69 76 77 - Store 61(r30) 78 - 83: 80 Load 82(g_tTex2di4a) - 84: 13 Load 15(g_sSamp) - 87: 86 SampledImage 83 84 - 88: 6(float) CompositeExtract 71 0 - 89: 6(float) CompositeExtract 71 1 - 90: 6(float) CompositeExtract 71 2 - 91: 72(fvec4) CompositeConstruct 88 89 90 24 - 92: 6(float) CompositeExtract 91 3 - 93: 6(float) ImageSampleDrefImplicitLod 87 91 92 - Store 79(r32) 93 - 98: 95 Load 97(g_tTex2du4a) - 99: 13 Load 15(g_sSamp) - 102: 101 SampledImage 98 99 - 103: 6(float) CompositeExtract 71 0 - 104: 6(float) CompositeExtract 71 1 - 105: 6(float) CompositeExtract 71 2 - 106: 72(fvec4) CompositeConstruct 103 104 105 24 - 107: 6(float) CompositeExtract 106 3 - 108: 6(float) ImageSampleDrefImplicitLod 102 106 107 - Store 94(r34) 108 - 113: 110 Load 112(g_tTexcdf4a) - 114: 13 Load 15(g_sSamp) - 117: 116 SampledImage 113 114 - 120: 6(float) CompositeExtract 119 0 - 121: 6(float) CompositeExtract 119 1 - 122: 6(float) CompositeExtract 119 2 - 123: 6(float) CompositeExtract 119 3 - 124: 72(fvec4) CompositeConstruct 120 121 122 123 - 125: 6(float) ImageSampleDrefImplicitLod 117 124 24 - Store 109(r60) 125 - 130: 127 Load 129(g_tTexcdi4a) - 131: 13 Load 15(g_sSamp) - 134: 133 SampledImage 130 131 - 135: 6(float) CompositeExtract 119 0 - 136: 6(float) CompositeExtract 119 1 - 137: 6(float) CompositeExtract 119 2 - 138: 6(float) CompositeExtract 119 3 - 139: 72(fvec4) CompositeConstruct 135 136 137 138 - 140: 6(float) ImageSampleDrefImplicitLod 134 139 24 - Store 126(r62) 140 - 145: 142 Load 144(g_tTexcdu4a) - 146: 13 Load 15(g_sSamp) - 149: 148 SampledImage 145 146 - 150: 6(float) CompositeExtract 119 0 - 151: 6(float) CompositeExtract 119 1 - 152: 6(float) CompositeExtract 119 2 - 153: 6(float) CompositeExtract 119 3 - 154: 72(fvec4) CompositeConstruct 150 151 152 153 - 155: 6(float) ImageSampleDrefImplicitLod 149 154 24 - Store 141(r64) 155 - 163: 162(ptr) AccessChain 158(psout) 159 - Store 163 161 - 165: 7(ptr) AccessChain 158(psout) 164 - Store 165 160 - 168: 162(ptr) AccessChain 158(psout) 159 - 169: 72(fvec4) Load 168 - Store 167(Color) 169 - 172: 7(ptr) AccessChain 158(psout) 164 - 173: 6(float) Load 172 - Store 171(Depth) 173 +172(flattenTemp): 160(ptr) Variable Function + 173:8(PS_OUTPUT) FunctionCall 10(@main() + Store 172(flattenTemp) 173 + 176: 165(ptr) AccessChain 172(flattenTemp) 162 + 177: 7(fvec4) Load 176 + Store 175(Color) 177 + 180: 12(ptr) AccessChain 172(flattenTemp) 167 + 181: 6(float) Load 180 + Store 179(Depth) 181 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r10): 12(ptr) Variable Function + 36(r12): 12(ptr) Variable Function + 51(r14): 12(ptr) Variable Function + 66(r30): 12(ptr) Variable Function + 83(r32): 12(ptr) Variable Function + 98(r34): 12(ptr) Variable Function + 113(r60): 12(ptr) Variable Function + 130(r62): 12(ptr) Variable Function + 145(r64): 12(ptr) Variable Function + 161(psout): 160(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 34: 6(float) CompositeExtract 33 2 + 35: 6(float) ImageSampleDrefImplicitLod 24 33 34 + Store 13(r10) 35 + 41: 38 Load 40(g_tTex1di4a) + 42: 18 Load 20(g_sSamp) + 45: 44 SampledImage 41 42 + 46: 6(float) CompositeExtract 28 0 + 47: 6(float) CompositeExtract 28 1 + 48: 30(fvec3) CompositeConstruct 46 47 29 + 49: 6(float) CompositeExtract 48 2 + 50: 6(float) ImageSampleDrefImplicitLod 45 48 49 + Store 36(r12) 50 + 56: 53 Load 55(g_tTex1du4a) + 57: 18 Load 20(g_sSamp) + 60: 59 SampledImage 56 57 + 61: 6(float) CompositeExtract 28 0 + 62: 6(float) CompositeExtract 28 1 + 63: 30(fvec3) CompositeConstruct 61 62 29 + 64: 6(float) CompositeExtract 63 2 + 65: 6(float) ImageSampleDrefImplicitLod 60 63 64 + Store 51(r14) 65 + 70: 67 Load 69(g_tTex2df4a) + 71: 18 Load 20(g_sSamp) + 74: 73 SampledImage 70 71 + 77: 6(float) CompositeExtract 76 0 + 78: 6(float) CompositeExtract 76 1 + 79: 6(float) CompositeExtract 76 2 + 80: 7(fvec4) CompositeConstruct 77 78 79 29 + 81: 6(float) CompositeExtract 80 3 + 82: 6(float) ImageSampleDrefImplicitLod 74 80 81 + Store 66(r30) 82 + 87: 84 Load 86(g_tTex2di4a) + 88: 18 Load 20(g_sSamp) + 91: 90 SampledImage 87 88 + 92: 6(float) CompositeExtract 76 0 + 93: 6(float) CompositeExtract 76 1 + 94: 6(float) CompositeExtract 76 2 + 95: 7(fvec4) CompositeConstruct 92 93 94 29 + 96: 6(float) CompositeExtract 95 3 + 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 + Store 83(r32) 97 + 102: 99 Load 101(g_tTex2du4a) + 103: 18 Load 20(g_sSamp) + 106: 105 SampledImage 102 103 + 107: 6(float) CompositeExtract 76 0 + 108: 6(float) CompositeExtract 76 1 + 109: 6(float) CompositeExtract 76 2 + 110: 7(fvec4) CompositeConstruct 107 108 109 29 + 111: 6(float) CompositeExtract 110 3 + 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 + Store 98(r34) 112 + 117: 114 Load 116(g_tTexcdf4a) + 118: 18 Load 20(g_sSamp) + 121: 120 SampledImage 117 118 + 124: 6(float) CompositeExtract 123 0 + 125: 6(float) CompositeExtract 123 1 + 126: 6(float) CompositeExtract 123 2 + 127: 6(float) CompositeExtract 123 3 + 128: 7(fvec4) CompositeConstruct 124 125 126 127 + 129: 6(float) ImageSampleDrefImplicitLod 121 128 29 + Store 113(r60) 129 + 134: 131 Load 133(g_tTexcdi4a) + 135: 18 Load 20(g_sSamp) + 138: 137 SampledImage 134 135 + 139: 6(float) CompositeExtract 123 0 + 140: 6(float) CompositeExtract 123 1 + 141: 6(float) CompositeExtract 123 2 + 142: 6(float) CompositeExtract 123 3 + 143: 7(fvec4) CompositeConstruct 139 140 141 142 + 144: 6(float) ImageSampleDrefImplicitLod 138 143 29 + Store 130(r62) 144 + 149: 146 Load 148(g_tTexcdu4a) + 150: 18 Load 20(g_sSamp) + 153: 152 SampledImage 149 150 + 154: 6(float) CompositeExtract 123 0 + 155: 6(float) CompositeExtract 123 1 + 156: 6(float) CompositeExtract 123 2 + 157: 6(float) CompositeExtract 123 3 + 158: 7(fvec4) CompositeConstruct 154 155 156 157 + 159: 6(float) ImageSampleDrefImplicitLod 153 158 29 + Store 145(r64) 159 + 166: 165(ptr) AccessChain 161(psout) 162 + Store 166 164 + 168: 12(ptr) AccessChain 161(psout) 167 + Store 168 163 + 169:8(PS_OUTPUT) Load 161(psout) + ReturnValue 169 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index acd24b8bb47..df1004e11a2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -2,92 +2,92 @@ hlsl.samplecmp.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r00' (temp float) -0:42 texture (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r00' ( temp float) +0:42 texture ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r02' (temp float) -0:43 texture (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r02' ( temp float) +0:43 texture ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r04' (temp float) -0:44 texture (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r04' ( temp float) +0:44 texture ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: 0:44 0.750000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r20' (temp float) -0:47 texture (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r20' ( temp float) +0:47 texture ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:47 Constant: 0:47 0.750000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r22' (temp float) -0:48 texture (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r22' ( temp float) +0:48 texture ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:48 Constant: 0:48 0.750000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r24' (temp float) -0:49 texture (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r24' ( temp float) +0:49 texture ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:49 Constant: 0:49 0.750000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r50' (temp float) -0:53 texture (temp float) -0:53 Construct combined texture-sampler (temp samplerCubeShadow) -0:53 'g_tTexcdf4' (uniform textureCube) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r50' ( temp float) +0:53 texture ( temp float) +0:53 Construct combined texture-sampler ( temp samplerCubeShadow) +0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,13 +95,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.750000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r52' (temp float) -0:54 texture (temp float) -0:54 Construct combined texture-sampler (temp isamplerCubeShadow) -0:54 'g_tTexcdi4' (uniform itextureCube) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r52' ( temp float) +0:54 texture ( temp float) +0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) +0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -109,22 +109,22 @@ gl_FragCoord origin is upper left 0:54 Constant: 0:54 0.750000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r54' (temp float) -0:55 texture (temp float) -0:55 Construct combined texture-sampler (temp usamplerCubeShadow) -0:55 'g_tTexcdu4' (uniform utextureCube) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp 4-component vector of float) +0:55 move second child to first child ( temp float) +0:55 'r54' ( temp float) +0:55 texture ( temp float) +0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) +0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:55 Constant: 0:55 0.750000 -0:57 move second child to first child (temp 4-component vector of float) -0:57 Color: direct index for structure (temp 4-component vector of float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 Color: direct index for structure ( temp 4-component vector of float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 0 (const int) 0:57 Constant: @@ -132,53 +132,59 @@ gl_FragCoord origin is upper left 0:57 1.000000 0:57 1.000000 0:57 1.000000 -0:58 move second child to first child (temp float) -0:58 Depth: direct index for structure (temp float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp float) +0:58 Depth: direct index for structure ( temp float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -187,92 +193,92 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r00' (temp float) -0:42 texture (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r00' ( temp float) +0:42 texture ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r02' (temp float) -0:43 texture (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r02' ( temp float) +0:43 texture ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r04' (temp float) -0:44 texture (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r04' ( temp float) +0:44 texture ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: 0:44 0.750000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r20' (temp float) -0:47 texture (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r20' ( temp float) +0:47 texture ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:47 Constant: 0:47 0.750000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r22' (temp float) -0:48 texture (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r22' ( temp float) +0:48 texture ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:48 Constant: 0:48 0.750000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r24' (temp float) -0:49 texture (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r24' ( temp float) +0:49 texture ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:49 Constant: 0:49 0.750000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r50' (temp float) -0:53 texture (temp float) -0:53 Construct combined texture-sampler (temp samplerCubeShadow) -0:53 'g_tTexcdf4' (uniform textureCube) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r50' ( temp float) +0:53 texture ( temp float) +0:53 Construct combined texture-sampler ( temp samplerCubeShadow) +0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -280,13 +286,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.750000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r52' (temp float) -0:54 texture (temp float) -0:54 Construct combined texture-sampler (temp isamplerCubeShadow) -0:54 'g_tTexcdi4' (uniform itextureCube) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r52' ( temp float) +0:54 texture ( temp float) +0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) +0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -294,22 +300,22 @@ gl_FragCoord origin is upper left 0:54 Constant: 0:54 0.750000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r54' (temp float) -0:55 texture (temp float) -0:55 Construct combined texture-sampler (temp usamplerCubeShadow) -0:55 'g_tTexcdu4' (uniform utextureCube) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp 4-component vector of float) +0:55 move second child to first child ( temp float) +0:55 'r54' ( temp float) +0:55 texture ( temp float) +0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) +0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:? 0.300000 0:55 Constant: 0:55 0.750000 -0:57 move second child to first child (temp 4-component vector of float) -0:57 Color: direct index for structure (temp 4-component vector of float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 Color: direct index for structure ( temp 4-component vector of float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 0 (const int) 0:57 Constant: @@ -317,338 +323,355 @@ gl_FragCoord origin is upper left 0:57 1.000000 0:57 1.000000 0:57 1.000000 -0:58 move second child to first child (temp float) -0:58 Depth: direct index for structure (temp float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp float) +0:58 Depth: direct index for structure ( temp float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 200 +// Id's are bound by 207 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 156 160 + EntryPoint Fragment 4 "main" 164 168 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 26 "r02" - Name 30 "g_tTex1di4" - Name 39 "r04" - Name 43 "g_tTex1du4" - Name 52 "r20" - Name 55 "g_tTex2df4" - Name 69 "r22" - Name 72 "g_tTex2di4" - Name 83 "r24" - Name 86 "g_tTex2du4" - Name 97 "r50" - Name 100 "g_tTexcdf4" - Name 115 "r52" - Name 118 "g_tTexcdi4" - Name 130 "r54" - Name 133 "g_tTexcdu4" - Name 145 "PS_OUTPUT" - MemberName 145(PS_OUTPUT) 0 "Color" - MemberName 145(PS_OUTPUT) 1 "Depth" - Name 147 "psout" - Name 156 "Color" - Name 160 "Depth" - Name 166 "g_tTex3df4" - Name 169 "g_tTex3di4" - Name 172 "g_tTex3du4" - Name 175 "g_tTex1df4a" - Name 178 "g_tTex1di4a" - Name 181 "g_tTex1du4a" - Name 184 "g_tTex2df4a" - Name 187 "g_tTex2di4a" - Name 190 "g_tTex2du4a" - Name 193 "g_tTexcdf4a" - Name 196 "g_tTexcdi4a" - Name 199 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 55(g_tTex2df4) DescriptorSet 0 - Decorate 72(g_tTex2di4) DescriptorSet 0 - Decorate 86(g_tTex2du4) DescriptorSet 0 - Decorate 100(g_tTexcdf4) DescriptorSet 0 - Decorate 118(g_tTexcdi4) DescriptorSet 0 - Decorate 133(g_tTexcdu4) DescriptorSet 0 - Decorate 156(Color) Location 0 - Decorate 160(Depth) BuiltIn FragDepth - Decorate 166(g_tTex3df4) DescriptorSet 0 - Decorate 169(g_tTex3di4) DescriptorSet 0 - Decorate 172(g_tTex3du4) DescriptorSet 0 - Decorate 175(g_tTex1df4a) DescriptorSet 0 - Decorate 178(g_tTex1di4a) DescriptorSet 0 - Decorate 181(g_tTex1du4a) DescriptorSet 0 - Decorate 184(g_tTex2df4a) DescriptorSet 0 - Decorate 187(g_tTex2di4a) DescriptorSet 0 - Decorate 190(g_tTex2du4a) DescriptorSet 0 - Decorate 193(g_tTexcdf4a) DescriptorSet 0 - Decorate 196(g_tTexcdi4a) DescriptorSet 0 - Decorate 199(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "r02" + Name 35 "g_tTex1di4" + Name 44 "r04" + Name 48 "g_tTex1du4" + Name 57 "r20" + Name 60 "g_tTex2df4" + Name 74 "r22" + Name 77 "g_tTex2di4" + Name 88 "r24" + Name 91 "g_tTex2du4" + Name 102 "r50" + Name 105 "g_tTexcdf4" + Name 119 "r52" + Name 122 "g_tTexcdi4" + Name 134 "r54" + Name 137 "g_tTexcdu4" + Name 150 "psout" + Name 161 "flattenTemp" + Name 164 "Color" + Name 168 "Depth" + Name 173 "g_tTex3df4" + Name 176 "g_tTex3di4" + Name 179 "g_tTex3du4" + Name 182 "g_tTex1df4a" + Name 185 "g_tTex1di4a" + Name 188 "g_tTex1du4a" + Name 191 "g_tTex2df4a" + Name 194 "g_tTex2di4a" + Name 197 "g_tTex2du4a" + Name 200 "g_tTexcdf4a" + Name 203 "g_tTexcdi4a" + Name 206 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 105(g_tTexcdf4) DescriptorSet 0 + Decorate 122(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdu4) DescriptorSet 0 + Decorate 164(Color) Location 0 + Decorate 168(Depth) BuiltIn FragDepth + Decorate 173(g_tTex3df4) DescriptorSet 0 + Decorate 176(g_tTex3di4) DescriptorSet 0 + Decorate 179(g_tTex3du4) DescriptorSet 0 + Decorate 182(g_tTex1df4a) DescriptorSet 0 + Decorate 185(g_tTex1di4a) DescriptorSet 0 + Decorate 188(g_tTex1du4a) DescriptorSet 0 + Decorate 191(g_tTex2df4a) DescriptorSet 0 + Decorate 194(g_tTex2di4a) DescriptorSet 0 + Decorate 197(g_tTex2du4a) DescriptorSet 0 + Decorate 200(g_tTexcdf4a) DescriptorSet 0 + Decorate 203(g_tTexcdi4a) DescriptorSet 0 + Decorate 206(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 27: TypeInt 32 1 - 28: TypeImage 27(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeImage 27(int) 1D depth sampled format:Unknown - 34: TypeSampledImage 33 - 40: TypeInt 32 0 - 41: TypeImage 40(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeImage 40(int) 1D depth sampled format:Unknown - 47: TypeSampledImage 46 - 53: TypeImage 6(float) 2D sampled format:Unknown - 54: TypePointer UniformConstant 53 - 55(g_tTex2df4): 54(ptr) Variable UniformConstant - 58: TypeImage 6(float) 2D depth sampled format:Unknown - 59: TypeSampledImage 58 - 61: 6(float) Constant 1045220557 - 62: 22(fvec2) ConstantComposite 20 61 - 63: TypeVector 6(float) 3 - 70: TypeImage 27(int) 2D sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex2di4): 71(ptr) Variable UniformConstant - 75: TypeImage 27(int) 2D depth sampled format:Unknown - 76: TypeSampledImage 75 - 84: TypeImage 40(int) 2D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2du4): 85(ptr) Variable UniformConstant - 89: TypeImage 40(int) 2D depth sampled format:Unknown - 90: TypeSampledImage 89 - 98: TypeImage 6(float) Cube sampled format:Unknown - 99: TypePointer UniformConstant 98 - 100(g_tTexcdf4): 99(ptr) Variable UniformConstant - 103: TypeImage 6(float) Cube depth sampled format:Unknown - 104: TypeSampledImage 103 - 106: 6(float) Constant 1050253722 - 107: 63(fvec3) ConstantComposite 20 61 106 - 108: TypeVector 6(float) 4 - 116: TypeImage 27(int) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdi4): 117(ptr) Variable UniformConstant - 121: TypeImage 27(int) Cube depth sampled format:Unknown - 122: TypeSampledImage 121 - 131: TypeImage 40(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdu4): 132(ptr) Variable UniformConstant - 136: TypeImage 40(int) Cube depth sampled format:Unknown - 137: TypeSampledImage 136 - 145(PS_OUTPUT): TypeStruct 108(fvec4) 6(float) - 146: TypePointer Function 145(PS_OUTPUT) - 148: 27(int) Constant 0 - 149: 6(float) Constant 1065353216 - 150: 108(fvec4) ConstantComposite 149 149 149 149 - 151: TypePointer Function 108(fvec4) - 153: 27(int) Constant 1 - 155: TypePointer Output 108(fvec4) - 156(Color): 155(ptr) Variable Output - 159: TypePointer Output 6(float) - 160(Depth): 159(ptr) Variable Output - 164: TypeImage 6(float) 3D sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTex3df4): 165(ptr) Variable UniformConstant - 167: TypeImage 27(int) 3D sampled format:Unknown - 168: TypePointer UniformConstant 167 - 169(g_tTex3di4): 168(ptr) Variable UniformConstant - 170: TypeImage 40(int) 3D sampled format:Unknown - 171: TypePointer UniformConstant 170 - 172(g_tTex3du4): 171(ptr) Variable UniformConstant - 173: TypeImage 6(float) 1D array sampled format:Unknown - 174: TypePointer UniformConstant 173 -175(g_tTex1df4a): 174(ptr) Variable UniformConstant - 176: TypeImage 27(int) 1D array sampled format:Unknown - 177: TypePointer UniformConstant 176 -178(g_tTex1di4a): 177(ptr) Variable UniformConstant - 179: TypeImage 40(int) 1D array sampled format:Unknown - 180: TypePointer UniformConstant 179 -181(g_tTex1du4a): 180(ptr) Variable UniformConstant - 182: TypeImage 6(float) 2D array sampled format:Unknown - 183: TypePointer UniformConstant 182 -184(g_tTex2df4a): 183(ptr) Variable UniformConstant - 185: TypeImage 27(int) 2D array sampled format:Unknown - 186: TypePointer UniformConstant 185 -187(g_tTex2di4a): 186(ptr) Variable UniformConstant - 188: TypeImage 40(int) 2D array sampled format:Unknown - 189: TypePointer UniformConstant 188 -190(g_tTex2du4a): 189(ptr) Variable UniformConstant - 191: TypeImage 6(float) Cube array sampled format:Unknown - 192: TypePointer UniformConstant 191 -193(g_tTexcdf4a): 192(ptr) Variable UniformConstant - 194: TypeImage 27(int) Cube array sampled format:Unknown - 195: TypePointer UniformConstant 194 -196(g_tTexcdi4a): 195(ptr) Variable UniformConstant - 197: TypeImage 40(int) Cube array sampled format:Unknown - 198: TypePointer UniformConstant 197 -199(g_tTexcdu4a): 198(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 32: TypeInt 32 1 + 33: TypeImage 32(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeImage 32(int) 1D depth sampled format:Unknown + 39: TypeSampledImage 38 + 45: TypeInt 32 0 + 46: TypeImage 45(int) 1D sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 51: TypeImage 45(int) 1D depth sampled format:Unknown + 52: TypeSampledImage 51 + 58: TypeImage 6(float) 2D sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex2df4): 59(ptr) Variable UniformConstant + 63: TypeImage 6(float) 2D depth sampled format:Unknown + 64: TypeSampledImage 63 + 66: 6(float) Constant 1045220557 + 67: 27(fvec2) ConstantComposite 25 66 + 68: TypeVector 6(float) 3 + 75: TypeImage 32(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeImage 32(int) 2D depth sampled format:Unknown + 81: TypeSampledImage 80 + 89: TypeImage 45(int) 2D sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2du4): 90(ptr) Variable UniformConstant + 94: TypeImage 45(int) 2D depth sampled format:Unknown + 95: TypeSampledImage 94 + 103: TypeImage 6(float) Cube sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTexcdf4): 104(ptr) Variable UniformConstant + 108: TypeImage 6(float) Cube depth sampled format:Unknown + 109: TypeSampledImage 108 + 111: 6(float) Constant 1050253722 + 112: 68(fvec3) ConstantComposite 25 66 111 + 120: TypeImage 32(int) Cube sampled format:Unknown + 121: TypePointer UniformConstant 120 + 122(g_tTexcdi4): 121(ptr) Variable UniformConstant + 125: TypeImage 32(int) Cube depth sampled format:Unknown + 126: TypeSampledImage 125 + 135: TypeImage 45(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdu4): 136(ptr) Variable UniformConstant + 140: TypeImage 45(int) Cube depth sampled format:Unknown + 141: TypeSampledImage 140 + 149: TypePointer Function 8(PS_OUTPUT) + 151: 32(int) Constant 0 + 152: 6(float) Constant 1065353216 + 153: 7(fvec4) ConstantComposite 152 152 152 152 + 154: TypePointer Function 7(fvec4) + 156: 32(int) Constant 1 + 163: TypePointer Output 7(fvec4) + 164(Color): 163(ptr) Variable Output + 167: TypePointer Output 6(float) + 168(Depth): 167(ptr) Variable Output + 171: TypeImage 6(float) 3D sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTex3df4): 172(ptr) Variable UniformConstant + 174: TypeImage 32(int) 3D sampled format:Unknown + 175: TypePointer UniformConstant 174 + 176(g_tTex3di4): 175(ptr) Variable UniformConstant + 177: TypeImage 45(int) 3D sampled format:Unknown + 178: TypePointer UniformConstant 177 + 179(g_tTex3du4): 178(ptr) Variable UniformConstant + 180: TypeImage 6(float) 1D array sampled format:Unknown + 181: TypePointer UniformConstant 180 +182(g_tTex1df4a): 181(ptr) Variable UniformConstant + 183: TypeImage 32(int) 1D array sampled format:Unknown + 184: TypePointer UniformConstant 183 +185(g_tTex1di4a): 184(ptr) Variable UniformConstant + 186: TypeImage 45(int) 1D array sampled format:Unknown + 187: TypePointer UniformConstant 186 +188(g_tTex1du4a): 187(ptr) Variable UniformConstant + 189: TypeImage 6(float) 2D array sampled format:Unknown + 190: TypePointer UniformConstant 189 +191(g_tTex2df4a): 190(ptr) Variable UniformConstant + 192: TypeImage 32(int) 2D array sampled format:Unknown + 193: TypePointer UniformConstant 192 +194(g_tTex2di4a): 193(ptr) Variable UniformConstant + 195: TypeImage 45(int) 2D array sampled format:Unknown + 196: TypePointer UniformConstant 195 +197(g_tTex2du4a): 196(ptr) Variable UniformConstant + 198: TypeImage 6(float) Cube array sampled format:Unknown + 199: TypePointer UniformConstant 198 +200(g_tTexcdf4a): 199(ptr) Variable UniformConstant + 201: TypeImage 32(int) Cube array sampled format:Unknown + 202: TypePointer UniformConstant 201 +203(g_tTexcdi4a): 202(ptr) Variable UniformConstant + 204: TypeImage 45(int) Cube array sampled format:Unknown + 205: TypePointer UniformConstant 204 +206(g_tTexcdu4a): 205(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 26(r02): 7(ptr) Variable Function - 39(r04): 7(ptr) Variable Function - 52(r20): 7(ptr) Variable Function - 69(r22): 7(ptr) Variable Function - 83(r24): 7(ptr) Variable Function - 97(r50): 7(ptr) Variable Function - 115(r52): 7(ptr) Variable Function - 130(r54): 7(ptr) Variable Function - 147(psout): 146(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 24: 6(float) CompositeExtract 23 1 - 25: 6(float) ImageSampleDrefImplicitLod 19 23 24 - Store 8(r00) 25 - 31: 28 Load 30(g_tTex1di4) - 32: 13 Load 15(g_sSamp) - 35: 34 SampledImage 31 32 - 36: 22(fvec2) CompositeConstruct 20 21 - 37: 6(float) CompositeExtract 36 1 - 38: 6(float) ImageSampleDrefImplicitLod 35 36 37 - Store 26(r02) 38 - 44: 41 Load 43(g_tTex1du4) - 45: 13 Load 15(g_sSamp) - 48: 47 SampledImage 44 45 - 49: 22(fvec2) CompositeConstruct 20 21 - 50: 6(float) CompositeExtract 49 1 - 51: 6(float) ImageSampleDrefImplicitLod 48 49 50 - Store 39(r04) 51 - 56: 53 Load 55(g_tTex2df4) - 57: 13 Load 15(g_sSamp) - 60: 59 SampledImage 56 57 - 64: 6(float) CompositeExtract 62 0 - 65: 6(float) CompositeExtract 62 1 - 66: 63(fvec3) CompositeConstruct 64 65 21 - 67: 6(float) CompositeExtract 66 2 - 68: 6(float) ImageSampleDrefImplicitLod 60 66 67 - Store 52(r20) 68 - 73: 70 Load 72(g_tTex2di4) - 74: 13 Load 15(g_sSamp) - 77: 76 SampledImage 73 74 - 78: 6(float) CompositeExtract 62 0 - 79: 6(float) CompositeExtract 62 1 - 80: 63(fvec3) CompositeConstruct 78 79 21 - 81: 6(float) CompositeExtract 80 2 - 82: 6(float) ImageSampleDrefImplicitLod 77 80 81 - Store 69(r22) 82 - 87: 84 Load 86(g_tTex2du4) - 88: 13 Load 15(g_sSamp) - 91: 90 SampledImage 87 88 - 92: 6(float) CompositeExtract 62 0 - 93: 6(float) CompositeExtract 62 1 - 94: 63(fvec3) CompositeConstruct 92 93 21 - 95: 6(float) CompositeExtract 94 2 - 96: 6(float) ImageSampleDrefImplicitLod 91 94 95 - Store 83(r24) 96 - 101: 98 Load 100(g_tTexcdf4) - 102: 13 Load 15(g_sSamp) - 105: 104 SampledImage 101 102 - 109: 6(float) CompositeExtract 107 0 - 110: 6(float) CompositeExtract 107 1 - 111: 6(float) CompositeExtract 107 2 - 112: 108(fvec4) CompositeConstruct 109 110 111 21 - 113: 6(float) CompositeExtract 112 3 - 114: 6(float) ImageSampleDrefImplicitLod 105 112 113 - Store 97(r50) 114 - 119: 116 Load 118(g_tTexcdi4) - 120: 13 Load 15(g_sSamp) - 123: 122 SampledImage 119 120 - 124: 6(float) CompositeExtract 107 0 - 125: 6(float) CompositeExtract 107 1 - 126: 6(float) CompositeExtract 107 2 - 127: 108(fvec4) CompositeConstruct 124 125 126 21 - 128: 6(float) CompositeExtract 127 3 - 129: 6(float) ImageSampleDrefImplicitLod 123 127 128 - Store 115(r52) 129 - 134: 131 Load 133(g_tTexcdu4) - 135: 13 Load 15(g_sSamp) - 138: 137 SampledImage 134 135 - 139: 6(float) CompositeExtract 107 0 - 140: 6(float) CompositeExtract 107 1 - 141: 6(float) CompositeExtract 107 2 - 142: 108(fvec4) CompositeConstruct 139 140 141 21 - 143: 6(float) CompositeExtract 142 3 - 144: 6(float) ImageSampleDrefImplicitLod 138 142 143 - Store 130(r54) 144 - 152: 151(ptr) AccessChain 147(psout) 148 - Store 152 150 - 154: 7(ptr) AccessChain 147(psout) 153 - Store 154 149 - 157: 151(ptr) AccessChain 147(psout) 148 - 158: 108(fvec4) Load 157 - Store 156(Color) 158 - 161: 7(ptr) AccessChain 147(psout) 153 - 162: 6(float) Load 161 - Store 160(Depth) 162 +161(flattenTemp): 149(ptr) Variable Function + 162:8(PS_OUTPUT) FunctionCall 10(@main() + Store 161(flattenTemp) 162 + 165: 154(ptr) AccessChain 161(flattenTemp) 151 + 166: 7(fvec4) Load 165 + Store 164(Color) 166 + 169: 12(ptr) AccessChain 161(flattenTemp) 156 + 170: 6(float) Load 169 + Store 168(Depth) 170 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 31(r02): 12(ptr) Variable Function + 44(r04): 12(ptr) Variable Function + 57(r20): 12(ptr) Variable Function + 74(r22): 12(ptr) Variable Function + 88(r24): 12(ptr) Variable Function + 102(r50): 12(ptr) Variable Function + 119(r52): 12(ptr) Variable Function + 134(r54): 12(ptr) Variable Function + 150(psout): 149(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 29: 6(float) CompositeExtract 28 1 + 30: 6(float) ImageSampleDrefImplicitLod 24 28 29 + Store 13(r00) 30 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 40: 39 SampledImage 36 37 + 41: 27(fvec2) CompositeConstruct 25 26 + 42: 6(float) CompositeExtract 41 1 + 43: 6(float) ImageSampleDrefImplicitLod 40 41 42 + Store 31(r02) 43 + 49: 46 Load 48(g_tTex1du4) + 50: 18 Load 20(g_sSamp) + 53: 52 SampledImage 49 50 + 54: 27(fvec2) CompositeConstruct 25 26 + 55: 6(float) CompositeExtract 54 1 + 56: 6(float) ImageSampleDrefImplicitLod 53 54 55 + Store 44(r04) 56 + 61: 58 Load 60(g_tTex2df4) + 62: 18 Load 20(g_sSamp) + 65: 64 SampledImage 61 62 + 69: 6(float) CompositeExtract 67 0 + 70: 6(float) CompositeExtract 67 1 + 71: 68(fvec3) CompositeConstruct 69 70 26 + 72: 6(float) CompositeExtract 71 2 + 73: 6(float) ImageSampleDrefImplicitLod 65 71 72 + Store 57(r20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 82: 81 SampledImage 78 79 + 83: 6(float) CompositeExtract 67 0 + 84: 6(float) CompositeExtract 67 1 + 85: 68(fvec3) CompositeConstruct 83 84 26 + 86: 6(float) CompositeExtract 85 2 + 87: 6(float) ImageSampleDrefImplicitLod 82 85 86 + Store 74(r22) 87 + 92: 89 Load 91(g_tTex2du4) + 93: 18 Load 20(g_sSamp) + 96: 95 SampledImage 92 93 + 97: 6(float) CompositeExtract 67 0 + 98: 6(float) CompositeExtract 67 1 + 99: 68(fvec3) CompositeConstruct 97 98 26 + 100: 6(float) CompositeExtract 99 2 + 101: 6(float) ImageSampleDrefImplicitLod 96 99 100 + Store 88(r24) 101 + 106: 103 Load 105(g_tTexcdf4) + 107: 18 Load 20(g_sSamp) + 110: 109 SampledImage 106 107 + 113: 6(float) CompositeExtract 112 0 + 114: 6(float) CompositeExtract 112 1 + 115: 6(float) CompositeExtract 112 2 + 116: 7(fvec4) CompositeConstruct 113 114 115 26 + 117: 6(float) CompositeExtract 116 3 + 118: 6(float) ImageSampleDrefImplicitLod 110 116 117 + Store 102(r50) 118 + 123: 120 Load 122(g_tTexcdi4) + 124: 18 Load 20(g_sSamp) + 127: 126 SampledImage 123 124 + 128: 6(float) CompositeExtract 112 0 + 129: 6(float) CompositeExtract 112 1 + 130: 6(float) CompositeExtract 112 2 + 131: 7(fvec4) CompositeConstruct 128 129 130 26 + 132: 6(float) CompositeExtract 131 3 + 133: 6(float) ImageSampleDrefImplicitLod 127 131 132 + Store 119(r52) 133 + 138: 135 Load 137(g_tTexcdu4) + 139: 18 Load 20(g_sSamp) + 142: 141 SampledImage 138 139 + 143: 6(float) CompositeExtract 112 0 + 144: 6(float) CompositeExtract 112 1 + 145: 6(float) CompositeExtract 112 2 + 146: 7(fvec4) CompositeConstruct 143 144 145 26 + 147: 6(float) CompositeExtract 146 3 + 148: 6(float) ImageSampleDrefImplicitLod 142 146 147 + Store 134(r54) 148 + 155: 154(ptr) AccessChain 150(psout) 151 + Store 155 153 + 157: 12(ptr) AccessChain 150(psout) 156 + Store 157 152 + 158:8(PS_OUTPUT) Load 150(psout) + ReturnValue 158 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index fe2c74f5699..a6193fd9556 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmp.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r01' (temp float) -0:42 textureOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r01' ( temp float) +0:42 textureOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -20,13 +20,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r03' (temp float) -0:43 textureOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r03' ( temp float) +0:43 textureOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -34,13 +34,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r05' (temp float) -0:44 textureOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r05' ( temp float) +0:44 textureOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -48,13 +48,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r21' (temp float) -0:47 textureOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r21' ( temp float) +0:47 textureOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -64,13 +64,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r23' (temp float) -0:48 textureOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r23' ( temp float) +0:48 textureOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -80,13 +80,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r25' (temp float) -0:49 textureOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r25' ( temp float) +0:49 textureOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,9 +95,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 Color: direct index for structure (temp 4-component vector of float) -0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 Color: direct index for structure ( temp 4-component vector of float) +0:62 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -105,53 +105,59 @@ gl_FragCoord origin is upper left 0:62 1.000000 0:62 1.000000 0:62 1.000000 -0:63 move second child to first child (temp float) -0:63 Depth: direct index for structure (temp float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp float) +0:63 Depth: direct index for structure ( temp float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -160,17 +166,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r01' (temp float) -0:42 textureOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r01' ( temp float) +0:42 textureOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -178,13 +184,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r03' (temp float) -0:43 textureOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r03' ( temp float) +0:43 textureOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -192,13 +198,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r05' (temp float) -0:44 textureOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r05' ( temp float) +0:44 textureOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -206,13 +212,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r21' (temp float) -0:47 textureOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r21' ( temp float) +0:47 textureOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -222,13 +228,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r23' (temp float) -0:48 textureOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r23' ( temp float) +0:48 textureOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -238,13 +244,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r25' (temp float) -0:49 textureOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r25' ( temp float) +0:49 textureOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -253,9 +259,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 Color: direct index for structure (temp 4-component vector of float) -0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 Color: direct index for structure ( temp 4-component vector of float) +0:62 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -263,298 +269,315 @@ gl_FragCoord origin is upper left 0:62 1.000000 0:62 1.000000 0:62 1.000000 -0:63 move second child to first child (temp float) -0:63 Depth: direct index for structure (temp float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp float) +0:63 Depth: direct index for structure ( temp float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 166 +// Id's are bound by 173 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 113 117 + EntryPoint Fragment 4 "main" 121 125 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r01" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 28 "r03" - Name 31 "g_tTex1di4" - Name 40 "r05" - Name 44 "g_tTex1du4" - Name 53 "r21" - Name 56 "g_tTex2df4" - Name 73 "r23" - Name 76 "g_tTex2di4" - Name 87 "r25" - Name 90 "g_tTex2du4" - Name 102 "PS_OUTPUT" - MemberName 102(PS_OUTPUT) 0 "Color" - MemberName 102(PS_OUTPUT) 1 "Depth" - Name 104 "psout" - Name 113 "Color" - Name 117 "Depth" - Name 123 "g_tTex3df4" - Name 126 "g_tTex3di4" - Name 129 "g_tTex3du4" - Name 132 "g_tTexcdf4" - Name 135 "g_tTexcdi4" - Name 138 "g_tTexcdu4" - Name 141 "g_tTex1df4a" - Name 144 "g_tTex1di4a" - Name 147 "g_tTex1du4a" - Name 150 "g_tTex2df4a" - Name 153 "g_tTex2di4a" - Name 156 "g_tTex2du4a" - Name 159 "g_tTexcdf4a" - Name 162 "g_tTexcdi4a" - Name 165 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 76(g_tTex2di4) DescriptorSet 0 - Decorate 90(g_tTex2du4) DescriptorSet 0 - Decorate 113(Color) Location 0 - Decorate 117(Depth) BuiltIn FragDepth - Decorate 123(g_tTex3df4) DescriptorSet 0 - Decorate 126(g_tTex3di4) DescriptorSet 0 - Decorate 129(g_tTex3du4) DescriptorSet 0 - Decorate 132(g_tTexcdf4) DescriptorSet 0 - Decorate 135(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 144(g_tTex1di4a) DescriptorSet 0 - Decorate 147(g_tTex1du4a) DescriptorSet 0 - Decorate 150(g_tTex2df4a) DescriptorSet 0 - Decorate 153(g_tTex2di4a) DescriptorSet 0 - Decorate 156(g_tTex2du4a) DescriptorSet 0 - Decorate 159(g_tTexcdf4a) DescriptorSet 0 - Decorate 162(g_tTexcdi4a) DescriptorSet 0 - Decorate 165(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r01" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 33 "r03" + Name 36 "g_tTex1di4" + Name 45 "r05" + Name 49 "g_tTex1du4" + Name 58 "r21" + Name 61 "g_tTex2df4" + Name 78 "r23" + Name 81 "g_tTex2di4" + Name 92 "r25" + Name 95 "g_tTex2du4" + Name 107 "psout" + Name 118 "flattenTemp" + Name 121 "Color" + Name 125 "Depth" + Name 130 "g_tTex3df4" + Name 133 "g_tTex3di4" + Name 136 "g_tTex3du4" + Name 139 "g_tTexcdf4" + Name 142 "g_tTexcdi4" + Name 145 "g_tTexcdu4" + Name 148 "g_tTex1df4a" + Name 151 "g_tTex1di4a" + Name 154 "g_tTex1du4a" + Name 157 "g_tTex2df4a" + Name 160 "g_tTex2di4a" + Name 163 "g_tTex2du4a" + Name 166 "g_tTexcdf4a" + Name 169 "g_tTexcdi4a" + Name 172 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 81(g_tTex2di4) DescriptorSet 0 + Decorate 95(g_tTex2du4) DescriptorSet 0 + Decorate 121(Color) Location 0 + Decorate 125(Depth) BuiltIn FragDepth + Decorate 130(g_tTex3df4) DescriptorSet 0 + Decorate 133(g_tTex3di4) DescriptorSet 0 + Decorate 136(g_tTex3du4) DescriptorSet 0 + Decorate 139(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdu4) DescriptorSet 0 + Decorate 148(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTex1di4a) DescriptorSet 0 + Decorate 154(g_tTex1du4a) DescriptorSet 0 + Decorate 157(g_tTex2df4a) DescriptorSet 0 + Decorate 160(g_tTex2di4a) DescriptorSet 0 + Decorate 163(g_tTex2du4a) DescriptorSet 0 + Decorate 166(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: TypeInt 32 1 - 25: 24(int) Constant 2 - 29: TypeImage 24(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeImage 24(int) 1D depth sampled format:Unknown - 35: TypeSampledImage 34 - 41: TypeInt 32 0 - 42: TypeImage 41(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeImage 41(int) 1D depth sampled format:Unknown - 48: TypeSampledImage 47 - 54: TypeImage 6(float) 2D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeImage 6(float) 2D depth sampled format:Unknown - 60: TypeSampledImage 59 - 62: 6(float) Constant 1045220557 - 63: 22(fvec2) ConstantComposite 20 62 - 64: TypeVector 6(float) 3 - 68: TypeVector 24(int) 2 - 69: 24(int) Constant 3 - 70: 68(ivec2) ConstantComposite 25 69 - 74: TypeImage 24(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2di4): 75(ptr) Variable UniformConstant - 79: TypeImage 24(int) 2D depth sampled format:Unknown - 80: TypeSampledImage 79 - 88: TypeImage 41(int) 2D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex2du4): 89(ptr) Variable UniformConstant - 93: TypeImage 41(int) 2D depth sampled format:Unknown - 94: TypeSampledImage 93 - 101: TypeVector 6(float) 4 - 102(PS_OUTPUT): TypeStruct 101(fvec4) 6(float) - 103: TypePointer Function 102(PS_OUTPUT) - 105: 24(int) Constant 0 - 106: 6(float) Constant 1065353216 - 107: 101(fvec4) ConstantComposite 106 106 106 106 - 108: TypePointer Function 101(fvec4) - 110: 24(int) Constant 1 - 112: TypePointer Output 101(fvec4) - 113(Color): 112(ptr) Variable Output - 116: TypePointer Output 6(float) - 117(Depth): 116(ptr) Variable Output - 121: TypeImage 6(float) 3D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex3df4): 122(ptr) Variable UniformConstant - 124: TypeImage 24(int) 3D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex3di4): 125(ptr) Variable UniformConstant - 127: TypeImage 41(int) 3D sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTex3du4): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) Cube sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTexcdf4): 131(ptr) Variable UniformConstant - 133: TypeImage 24(int) Cube sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTexcdi4): 134(ptr) Variable UniformConstant - 136: TypeImage 41(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 1D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 24(int) 1D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex1di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 41(int) 1D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex1du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTex2df4a): 149(ptr) Variable UniformConstant - 151: TypeImage 24(int) 2D array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTex2di4a): 152(ptr) Variable UniformConstant - 154: TypeImage 41(int) 2D array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTex2du4a): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) Cube array sampled format:Unknown - 158: TypePointer UniformConstant 157 -159(g_tTexcdf4a): 158(ptr) Variable UniformConstant - 160: TypeImage 24(int) Cube array sampled format:Unknown - 161: TypePointer UniformConstant 160 -162(g_tTexcdi4a): 161(ptr) Variable UniformConstant - 163: TypeImage 41(int) Cube array sampled format:Unknown - 164: TypePointer UniformConstant 163 -165(g_tTexcdu4a): 164(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 34: TypeImage 29(int) 1D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeImage 29(int) 1D depth sampled format:Unknown + 40: TypeSampledImage 39 + 46: TypeInt 32 0 + 47: TypeImage 46(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeImage 46(int) 1D depth sampled format:Unknown + 53: TypeSampledImage 52 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeImage 6(float) 2D depth sampled format:Unknown + 65: TypeSampledImage 64 + 67: 6(float) Constant 1045220557 + 68: 27(fvec2) ConstantComposite 25 67 + 69: TypeVector 6(float) 3 + 73: TypeVector 29(int) 2 + 74: 29(int) Constant 3 + 75: 73(ivec2) ConstantComposite 30 74 + 79: TypeImage 29(int) 2D sampled format:Unknown + 80: TypePointer UniformConstant 79 + 81(g_tTex2di4): 80(ptr) Variable UniformConstant + 84: TypeImage 29(int) 2D depth sampled format:Unknown + 85: TypeSampledImage 84 + 93: TypeImage 46(int) 2D sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTex2du4): 94(ptr) Variable UniformConstant + 98: TypeImage 46(int) 2D depth sampled format:Unknown + 99: TypeSampledImage 98 + 106: TypePointer Function 8(PS_OUTPUT) + 108: 29(int) Constant 0 + 109: 6(float) Constant 1065353216 + 110: 7(fvec4) ConstantComposite 109 109 109 109 + 111: TypePointer Function 7(fvec4) + 113: 29(int) Constant 1 + 120: TypePointer Output 7(fvec4) + 121(Color): 120(ptr) Variable Output + 124: TypePointer Output 6(float) + 125(Depth): 124(ptr) Variable Output + 128: TypeImage 6(float) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3df4): 129(ptr) Variable UniformConstant + 131: TypeImage 29(int) 3D sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTex3di4): 132(ptr) Variable UniformConstant + 134: TypeImage 46(int) 3D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex3du4): 135(ptr) Variable UniformConstant + 137: TypeImage 6(float) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdf4): 138(ptr) Variable UniformConstant + 140: TypeImage 29(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdi4): 141(ptr) Variable UniformConstant + 143: TypeImage 46(int) Cube sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTexcdu4): 144(ptr) Variable UniformConstant + 146: TypeImage 6(float) 1D array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTex1df4a): 147(ptr) Variable UniformConstant + 149: TypeImage 29(int) 1D array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTex1di4a): 150(ptr) Variable UniformConstant + 152: TypeImage 46(int) 1D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex1du4a): 153(ptr) Variable UniformConstant + 155: TypeImage 6(float) 2D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex2df4a): 156(ptr) Variable UniformConstant + 158: TypeImage 29(int) 2D array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTex2di4a): 159(ptr) Variable UniformConstant + 161: TypeImage 46(int) 2D array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTex2du4a): 162(ptr) Variable UniformConstant + 164: TypeImage 6(float) Cube array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTexcdf4a): 165(ptr) Variable UniformConstant + 167: TypeImage 29(int) Cube array sampled format:Unknown + 168: TypePointer UniformConstant 167 +169(g_tTexcdi4a): 168(ptr) Variable UniformConstant + 170: TypeImage 46(int) Cube array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTexcdu4a): 171(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r01): 7(ptr) Variable Function - 28(r03): 7(ptr) Variable Function - 40(r05): 7(ptr) Variable Function - 53(r21): 7(ptr) Variable Function - 73(r23): 7(ptr) Variable Function - 87(r25): 7(ptr) Variable Function - 104(psout): 103(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 26: 6(float) CompositeExtract 23 1 - 27: 6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25 - Store 8(r01) 27 - 32: 29 Load 31(g_tTex1di4) - 33: 13 Load 15(g_sSamp) - 36: 35 SampledImage 32 33 - 37: 22(fvec2) CompositeConstruct 20 21 - 38: 6(float) CompositeExtract 37 1 - 39: 6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25 - Store 28(r03) 39 - 45: 42 Load 44(g_tTex1du4) - 46: 13 Load 15(g_sSamp) - 49: 48 SampledImage 45 46 - 50: 22(fvec2) CompositeConstruct 20 21 - 51: 6(float) CompositeExtract 50 1 - 52: 6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25 - Store 40(r05) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 13 Load 15(g_sSamp) - 61: 60 SampledImage 57 58 - 65: 6(float) CompositeExtract 63 0 - 66: 6(float) CompositeExtract 63 1 - 67: 64(fvec3) CompositeConstruct 65 66 21 - 71: 6(float) CompositeExtract 67 2 - 72: 6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70 - Store 53(r21) 72 - 77: 74 Load 76(g_tTex2di4) - 78: 13 Load 15(g_sSamp) - 81: 80 SampledImage 77 78 - 82: 6(float) CompositeExtract 63 0 - 83: 6(float) CompositeExtract 63 1 - 84: 64(fvec3) CompositeConstruct 82 83 21 - 85: 6(float) CompositeExtract 84 2 - 86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70 - Store 73(r23) 86 - 91: 88 Load 90(g_tTex2du4) - 92: 13 Load 15(g_sSamp) - 95: 94 SampledImage 91 92 - 96: 6(float) CompositeExtract 63 0 - 97: 6(float) CompositeExtract 63 1 - 98: 64(fvec3) CompositeConstruct 96 97 21 - 99: 6(float) CompositeExtract 98 2 - 100: 6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70 - Store 87(r25) 100 - 109: 108(ptr) AccessChain 104(psout) 105 - Store 109 107 - 111: 7(ptr) AccessChain 104(psout) 110 - Store 111 106 - 114: 108(ptr) AccessChain 104(psout) 105 - 115: 101(fvec4) Load 114 - Store 113(Color) 115 - 118: 7(ptr) AccessChain 104(psout) 110 - 119: 6(float) Load 118 - Store 117(Depth) 119 +118(flattenTemp): 106(ptr) Variable Function + 119:8(PS_OUTPUT) FunctionCall 10(@main() + Store 118(flattenTemp) 119 + 122: 111(ptr) AccessChain 118(flattenTemp) 108 + 123: 7(fvec4) Load 122 + Store 121(Color) 123 + 126: 12(ptr) AccessChain 118(flattenTemp) 113 + 127: 6(float) Load 126 + Store 125(Depth) 127 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r01): 12(ptr) Variable Function + 33(r03): 12(ptr) Variable Function + 45(r05): 12(ptr) Variable Function + 58(r21): 12(ptr) Variable Function + 78(r23): 12(ptr) Variable Function + 92(r25): 12(ptr) Variable Function + 107(psout): 106(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 31: 6(float) CompositeExtract 28 1 + 32: 6(float) ImageSampleDrefImplicitLod 24 28 31 ConstOffset 30 + Store 13(r01) 32 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 27(fvec2) CompositeConstruct 25 26 + 43: 6(float) CompositeExtract 42 1 + 44: 6(float) ImageSampleDrefImplicitLod 41 42 43 ConstOffset 30 + Store 33(r03) 44 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 54: 53 SampledImage 50 51 + 55: 27(fvec2) CompositeConstruct 25 26 + 56: 6(float) CompositeExtract 55 1 + 57: 6(float) ImageSampleDrefImplicitLod 54 55 56 ConstOffset 30 + Store 45(r05) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 66: 65 SampledImage 62 63 + 70: 6(float) CompositeExtract 68 0 + 71: 6(float) CompositeExtract 68 1 + 72: 69(fvec3) CompositeConstruct 70 71 26 + 76: 6(float) CompositeExtract 72 2 + 77: 6(float) ImageSampleDrefImplicitLod 66 72 76 ConstOffset 75 + Store 58(r21) 77 + 82: 79 Load 81(g_tTex2di4) + 83: 18 Load 20(g_sSamp) + 86: 85 SampledImage 82 83 + 87: 6(float) CompositeExtract 68 0 + 88: 6(float) CompositeExtract 68 1 + 89: 69(fvec3) CompositeConstruct 87 88 26 + 90: 6(float) CompositeExtract 89 2 + 91: 6(float) ImageSampleDrefImplicitLod 86 89 90 ConstOffset 75 + Store 78(r23) 91 + 96: 93 Load 95(g_tTex2du4) + 97: 18 Load 20(g_sSamp) + 100: 99 SampledImage 96 97 + 101: 6(float) CompositeExtract 68 0 + 102: 6(float) CompositeExtract 68 1 + 103: 69(fvec3) CompositeConstruct 101 102 26 + 104: 6(float) CompositeExtract 103 2 + 105: 6(float) ImageSampleDrefImplicitLod 100 103 104 ConstOffset 75 + Store 92(r25) 105 + 112: 111(ptr) AccessChain 107(psout) 108 + Store 112 110 + 114: 12(ptr) AccessChain 107(psout) 113 + Store 114 109 + 115:8(PS_OUTPUT) Load 107(psout) + ReturnValue 115 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 013a645c49e..2fdce6788a5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmp.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r11' (temp float) -0:42 textureOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r11' ( temp float) +0:42 textureOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -21,13 +21,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r13' (temp float) -0:43 textureOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r13' ( temp float) +0:43 textureOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -36,13 +36,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r15' (temp float) -0:44 textureOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r15' ( temp float) +0:44 textureOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -51,13 +51,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r31' (temp float) -0:47 textureOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r31' ( temp float) +0:47 textureOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -68,13 +68,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r33' (temp float) -0:48 textureOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r33' ( temp float) +0:48 textureOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -85,13 +85,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r35' (temp float) -0:49 textureOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r35' ( temp float) +0:49 textureOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -101,9 +101,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:63 move second child to first child (temp 4-component vector of float) -0:63 Color: direct index for structure (temp 4-component vector of float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 Color: direct index for structure ( temp 4-component vector of float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: @@ -111,53 +111,59 @@ gl_FragCoord origin is upper left 0:63 1.000000 0:63 1.000000 0:63 1.000000 -0:64 move second child to first child (temp float) -0:64 Depth: direct index for structure (temp float) -0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:64 move second child to first child ( temp float) +0:64 Depth: direct index for structure ( temp float) +0:64 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:64 Constant: 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -166,17 +172,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r11' (temp float) -0:42 textureOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r11' ( temp float) +0:42 textureOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -185,13 +191,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r13' (temp float) -0:43 textureOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r13' ( temp float) +0:43 textureOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -200,13 +206,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r15' (temp float) -0:44 textureOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r15' ( temp float) +0:44 textureOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -215,13 +221,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r31' (temp float) -0:47 textureOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r31' ( temp float) +0:47 textureOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -232,13 +238,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r33' (temp float) -0:48 textureOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r33' ( temp float) +0:48 textureOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -249,13 +255,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r35' (temp float) -0:49 textureOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r35' ( temp float) +0:49 textureOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -265,9 +271,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:63 move second child to first child (temp 4-component vector of float) -0:63 Color: direct index for structure (temp 4-component vector of float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 Color: direct index for structure ( temp 4-component vector of float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: @@ -275,309 +281,326 @@ gl_FragCoord origin is upper left 0:63 1.000000 0:63 1.000000 0:63 1.000000 -0:64 move second child to first child (temp float) -0:64 Depth: direct index for structure (temp float) -0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:64 move second child to first child ( temp float) +0:64 Depth: direct index for structure ( temp float) +0:64 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:64 Constant: 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 177 +// Id's are bound by 184 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 124 128 + EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r11" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 33 "r13" - Name 36 "g_tTex1di4a" - Name 47 "r15" - Name 51 "g_tTex1du4a" - Name 62 "r31" - Name 65 "g_tTex2df4a" - Name 83 "r33" - Name 86 "g_tTex2di4a" - Name 98 "r35" - Name 101 "g_tTex2du4a" - Name 113 "PS_OUTPUT" - MemberName 113(PS_OUTPUT) 0 "Color" - MemberName 113(PS_OUTPUT) 1 "Depth" - Name 115 "psout" - Name 124 "Color" - Name 128 "Depth" - Name 134 "g_tTex1df4" - Name 137 "g_tTex1di4" - Name 140 "g_tTex1du4" - Name 143 "g_tTex2df4" - Name 146 "g_tTex2di4" - Name 149 "g_tTex2du4" - Name 152 "g_tTex3df4" - Name 155 "g_tTex3di4" - Name 158 "g_tTex3du4" - Name 161 "g_tTexcdf4" - Name 164 "g_tTexcdi4" - Name 167 "g_tTexcdu4" - Name 170 "g_tTexcdf4a" - Name 173 "g_tTexcdi4a" - Name 176 "g_tTexcdu4a" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 - Decorate 51(g_tTex1du4a) DescriptorSet 0 - Decorate 65(g_tTex2df4a) DescriptorSet 0 - Decorate 86(g_tTex2di4a) DescriptorSet 0 - Decorate 101(g_tTex2du4a) DescriptorSet 0 - Decorate 124(Color) Location 0 - Decorate 128(Depth) BuiltIn FragDepth - Decorate 134(g_tTex1df4) DescriptorSet 0 - Decorate 134(g_tTex1df4) Binding 0 - Decorate 137(g_tTex1di4) DescriptorSet 0 - Decorate 140(g_tTex1du4) DescriptorSet 0 - Decorate 143(g_tTex2df4) DescriptorSet 0 - Decorate 146(g_tTex2di4) DescriptorSet 0 - Decorate 149(g_tTex2du4) DescriptorSet 0 - Decorate 152(g_tTex3df4) DescriptorSet 0 - Decorate 155(g_tTex3di4) DescriptorSet 0 - Decorate 158(g_tTex3du4) DescriptorSet 0 - Decorate 161(g_tTexcdf4) DescriptorSet 0 - Decorate 164(g_tTexcdi4) DescriptorSet 0 - Decorate 167(g_tTexcdu4) DescriptorSet 0 - Decorate 170(g_tTexcdf4a) DescriptorSet 0 - Decorate 173(g_tTexcdi4a) DescriptorSet 0 - Decorate 176(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r11" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 38 "r13" + Name 41 "g_tTex1di4a" + Name 52 "r15" + Name 56 "g_tTex1du4a" + Name 67 "r31" + Name 70 "g_tTex2df4a" + Name 87 "r33" + Name 90 "g_tTex2di4a" + Name 102 "r35" + Name 105 "g_tTex2du4a" + Name 118 "psout" + Name 129 "flattenTemp" + Name 132 "Color" + Name 136 "Depth" + Name 141 "g_tTex1df4" + Name 144 "g_tTex1di4" + Name 147 "g_tTex1du4" + Name 150 "g_tTex2df4" + Name 153 "g_tTex2di4" + Name 156 "g_tTex2du4" + Name 159 "g_tTex3df4" + Name 162 "g_tTex3di4" + Name 165 "g_tTex3du4" + Name 168 "g_tTexcdf4" + Name 171 "g_tTexcdi4" + Name 174 "g_tTexcdu4" + Name 177 "g_tTexcdf4a" + Name 180 "g_tTexcdi4a" + Name 183 "g_tTexcdu4a" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 56(g_tTex1du4a) DescriptorSet 0 + Decorate 70(g_tTex2df4a) DescriptorSet 0 + Decorate 90(g_tTex2di4a) DescriptorSet 0 + Decorate 105(g_tTex2du4a) DescriptorSet 0 + Decorate 132(Color) Location 0 + Decorate 136(Depth) BuiltIn FragDepth + Decorate 141(g_tTex1df4) DescriptorSet 0 + Decorate 141(g_tTex1df4) Binding 0 + Decorate 144(g_tTex1di4) DescriptorSet 0 + Decorate 147(g_tTex1du4) DescriptorSet 0 + Decorate 150(g_tTex2df4) DescriptorSet 0 + Decorate 153(g_tTex2di4) DescriptorSet 0 + Decorate 156(g_tTex2du4) DescriptorSet 0 + Decorate 159(g_tTex3df4) DescriptorSet 0 + Decorate 162(g_tTex3di4) DescriptorSet 0 + Decorate 165(g_tTex3du4) DescriptorSet 0 + Decorate 168(g_tTexcdf4) DescriptorSet 0 + Decorate 171(g_tTexcdi4) DescriptorSet 0 + Decorate 174(g_tTexcdu4) DescriptorSet 0 + Decorate 177(g_tTexcdf4a) DescriptorSet 0 + Decorate 180(g_tTexcdi4a) DescriptorSet 0 + Decorate 183(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: TypeInt 32 1 - 30: 29(int) Constant 2 - 34: TypeImage 29(int) 1D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4a): 35(ptr) Variable UniformConstant - 39: TypeImage 29(int) 1D depth array sampled format:Unknown - 40: TypeSampledImage 39 - 48: TypeInt 32 0 - 49: TypeImage 48(int) 1D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex1du4a): 50(ptr) Variable UniformConstant - 54: TypeImage 48(int) 1D depth array sampled format:Unknown - 55: TypeSampledImage 54 - 63: TypeImage 6(float) 2D array sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2df4a): 64(ptr) Variable UniformConstant - 68: TypeImage 6(float) 2D depth array sampled format:Unknown - 69: TypeSampledImage 68 - 71: 6(float) Constant 1050253722 - 72: 25(fvec3) ConstantComposite 21 22 71 - 73: TypeVector 6(float) 4 - 78: TypeVector 29(int) 2 - 79: 29(int) Constant 3 - 80: 78(ivec2) ConstantComposite 30 79 - 84: TypeImage 29(int) 2D array sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2di4a): 85(ptr) Variable UniformConstant - 89: TypeImage 29(int) 2D depth array sampled format:Unknown - 90: TypeSampledImage 89 - 99: TypeImage 48(int) 2D array sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTex2du4a): 100(ptr) Variable UniformConstant - 104: TypeImage 48(int) 2D depth array sampled format:Unknown - 105: TypeSampledImage 104 - 113(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) - 114: TypePointer Function 113(PS_OUTPUT) - 116: 29(int) Constant 0 - 117: 6(float) Constant 1065353216 - 118: 73(fvec4) ConstantComposite 117 117 117 117 - 119: TypePointer Function 73(fvec4) - 121: 29(int) Constant 1 - 123: TypePointer Output 73(fvec4) - 124(Color): 123(ptr) Variable Output - 127: TypePointer Output 6(float) - 128(Depth): 127(ptr) Variable Output - 132: TypeImage 6(float) 1D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTex1df4): 133(ptr) Variable UniformConstant - 135: TypeImage 29(int) 1D sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTex1di4): 136(ptr) Variable UniformConstant - 138: TypeImage 48(int) 1D sampled format:Unknown - 139: TypePointer UniformConstant 138 - 140(g_tTex1du4): 139(ptr) Variable UniformConstant - 141: TypeImage 6(float) 2D sampled format:Unknown - 142: TypePointer UniformConstant 141 - 143(g_tTex2df4): 142(ptr) Variable UniformConstant - 144: TypeImage 29(int) 2D sampled format:Unknown - 145: TypePointer UniformConstant 144 - 146(g_tTex2di4): 145(ptr) Variable UniformConstant - 147: TypeImage 48(int) 2D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex2du4): 148(ptr) Variable UniformConstant - 150: TypeImage 6(float) 3D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex3df4): 151(ptr) Variable UniformConstant - 153: TypeImage 29(int) 3D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex3di4): 154(ptr) Variable UniformConstant - 156: TypeImage 48(int) 3D sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTex3du4): 157(ptr) Variable UniformConstant - 159: TypeImage 6(float) Cube sampled format:Unknown - 160: TypePointer UniformConstant 159 - 161(g_tTexcdf4): 160(ptr) Variable UniformConstant - 162: TypeImage 29(int) Cube sampled format:Unknown - 163: TypePointer UniformConstant 162 - 164(g_tTexcdi4): 163(ptr) Variable UniformConstant - 165: TypeImage 48(int) Cube sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTexcdu4): 166(ptr) Variable UniformConstant - 168: TypeImage 6(float) Cube array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTexcdf4a): 169(ptr) Variable UniformConstant - 171: TypeImage 29(int) Cube array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTexcdi4a): 172(ptr) Variable UniformConstant - 174: TypeImage 48(int) Cube array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTexcdu4a): 175(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: TypeInt 32 1 + 35: 34(int) Constant 2 + 39: TypeImage 34(int) 1D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex1di4a): 40(ptr) Variable UniformConstant + 44: TypeImage 34(int) 1D depth array sampled format:Unknown + 45: TypeSampledImage 44 + 53: TypeInt 32 0 + 54: TypeImage 53(int) 1D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex1du4a): 55(ptr) Variable UniformConstant + 59: TypeImage 53(int) 1D depth array sampled format:Unknown + 60: TypeSampledImage 59 + 68: TypeImage 6(float) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2df4a): 69(ptr) Variable UniformConstant + 73: TypeImage 6(float) 2D depth array sampled format:Unknown + 74: TypeSampledImage 73 + 76: 6(float) Constant 1050253722 + 77: 30(fvec3) ConstantComposite 26 27 76 + 82: TypeVector 34(int) 2 + 83: 34(int) Constant 3 + 84: 82(ivec2) ConstantComposite 35 83 + 88: TypeImage 34(int) 2D array sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2di4a): 89(ptr) Variable UniformConstant + 93: TypeImage 34(int) 2D depth array sampled format:Unknown + 94: TypeSampledImage 93 + 103: TypeImage 53(int) 2D array sampled format:Unknown + 104: TypePointer UniformConstant 103 +105(g_tTex2du4a): 104(ptr) Variable UniformConstant + 108: TypeImage 53(int) 2D depth array sampled format:Unknown + 109: TypeSampledImage 108 + 117: TypePointer Function 8(PS_OUTPUT) + 119: 34(int) Constant 0 + 120: 6(float) Constant 1065353216 + 121: 7(fvec4) ConstantComposite 120 120 120 120 + 122: TypePointer Function 7(fvec4) + 124: 34(int) Constant 1 + 131: TypePointer Output 7(fvec4) + 132(Color): 131(ptr) Variable Output + 135: TypePointer Output 6(float) + 136(Depth): 135(ptr) Variable Output + 139: TypeImage 6(float) 1D sampled format:Unknown + 140: TypePointer UniformConstant 139 + 141(g_tTex1df4): 140(ptr) Variable UniformConstant + 142: TypeImage 34(int) 1D sampled format:Unknown + 143: TypePointer UniformConstant 142 + 144(g_tTex1di4): 143(ptr) Variable UniformConstant + 145: TypeImage 53(int) 1D sampled format:Unknown + 146: TypePointer UniformConstant 145 + 147(g_tTex1du4): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) 2D sampled format:Unknown + 149: TypePointer UniformConstant 148 + 150(g_tTex2df4): 149(ptr) Variable UniformConstant + 151: TypeImage 34(int) 2D sampled format:Unknown + 152: TypePointer UniformConstant 151 + 153(g_tTex2di4): 152(ptr) Variable UniformConstant + 154: TypeImage 53(int) 2D sampled format:Unknown + 155: TypePointer UniformConstant 154 + 156(g_tTex2du4): 155(ptr) Variable UniformConstant + 157: TypeImage 6(float) 3D sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTex3df4): 158(ptr) Variable UniformConstant + 160: TypeImage 34(int) 3D sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTex3di4): 161(ptr) Variable UniformConstant + 163: TypeImage 53(int) 3D sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTex3du4): 164(ptr) Variable UniformConstant + 166: TypeImage 6(float) Cube sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTexcdf4): 167(ptr) Variable UniformConstant + 169: TypeImage 34(int) Cube sampled format:Unknown + 170: TypePointer UniformConstant 169 + 171(g_tTexcdi4): 170(ptr) Variable UniformConstant + 172: TypeImage 53(int) Cube sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTexcdu4): 173(ptr) Variable UniformConstant + 175: TypeImage 6(float) Cube array sampled format:Unknown + 176: TypePointer UniformConstant 175 +177(g_tTexcdf4a): 176(ptr) Variable UniformConstant + 178: TypeImage 34(int) Cube array sampled format:Unknown + 179: TypePointer UniformConstant 178 +180(g_tTexcdi4a): 179(ptr) Variable UniformConstant + 181: TypeImage 53(int) Cube array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTexcdu4a): 182(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r11): 7(ptr) Variable Function - 33(r13): 7(ptr) Variable Function - 47(r15): 7(ptr) Variable Function - 62(r31): 7(ptr) Variable Function - 83(r33): 7(ptr) Variable Function - 98(r35): 7(ptr) Variable Function - 115(psout): 114(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 31: 6(float) CompositeExtract 28 2 - 32: 6(float) ImageSampleDrefImplicitLod 19 28 31 ConstOffset 30 - Store 8(r11) 32 - 37: 34 Load 36(g_tTex1di4a) - 38: 13 Load 15(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 6(float) CompositeExtract 23 0 - 43: 6(float) CompositeExtract 23 1 - 44: 25(fvec3) CompositeConstruct 42 43 24 - 45: 6(float) CompositeExtract 44 2 - 46: 6(float) ImageSampleDrefImplicitLod 41 44 45 ConstOffset 30 - Store 33(r13) 46 - 52: 49 Load 51(g_tTex1du4a) - 53: 13 Load 15(g_sSamp) - 56: 55 SampledImage 52 53 - 57: 6(float) CompositeExtract 23 0 - 58: 6(float) CompositeExtract 23 1 - 59: 25(fvec3) CompositeConstruct 57 58 24 - 60: 6(float) CompositeExtract 59 2 - 61: 6(float) ImageSampleDrefImplicitLod 56 59 60 ConstOffset 30 - Store 47(r15) 61 - 66: 63 Load 65(g_tTex2df4a) - 67: 13 Load 15(g_sSamp) - 70: 69 SampledImage 66 67 - 74: 6(float) CompositeExtract 72 0 - 75: 6(float) CompositeExtract 72 1 - 76: 6(float) CompositeExtract 72 2 - 77: 73(fvec4) CompositeConstruct 74 75 76 24 - 81: 6(float) CompositeExtract 77 3 - 82: 6(float) ImageSampleDrefImplicitLod 70 77 81 ConstOffset 80 - Store 62(r31) 82 - 87: 84 Load 86(g_tTex2di4a) - 88: 13 Load 15(g_sSamp) - 91: 90 SampledImage 87 88 - 92: 6(float) CompositeExtract 72 0 - 93: 6(float) CompositeExtract 72 1 - 94: 6(float) CompositeExtract 72 2 - 95: 73(fvec4) CompositeConstruct 92 93 94 24 - 96: 6(float) CompositeExtract 95 3 - 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 ConstOffset 80 - Store 83(r33) 97 - 102: 99 Load 101(g_tTex2du4a) - 103: 13 Load 15(g_sSamp) - 106: 105 SampledImage 102 103 - 107: 6(float) CompositeExtract 72 0 - 108: 6(float) CompositeExtract 72 1 - 109: 6(float) CompositeExtract 72 2 - 110: 73(fvec4) CompositeConstruct 107 108 109 24 - 111: 6(float) CompositeExtract 110 3 - 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 ConstOffset 80 - Store 98(r35) 112 - 120: 119(ptr) AccessChain 115(psout) 116 - Store 120 118 - 122: 7(ptr) AccessChain 115(psout) 121 - Store 122 117 - 125: 119(ptr) AccessChain 115(psout) 116 - 126: 73(fvec4) Load 125 - Store 124(Color) 126 - 129: 7(ptr) AccessChain 115(psout) 121 - 130: 6(float) Load 129 - Store 128(Depth) 130 +129(flattenTemp): 117(ptr) Variable Function + 130:8(PS_OUTPUT) FunctionCall 10(@main() + Store 129(flattenTemp) 130 + 133: 122(ptr) AccessChain 129(flattenTemp) 119 + 134: 7(fvec4) Load 133 + Store 132(Color) 134 + 137: 12(ptr) AccessChain 129(flattenTemp) 124 + 138: 6(float) Load 137 + Store 136(Depth) 138 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r11): 12(ptr) Variable Function + 38(r13): 12(ptr) Variable Function + 52(r15): 12(ptr) Variable Function + 67(r31): 12(ptr) Variable Function + 87(r33): 12(ptr) Variable Function + 102(r35): 12(ptr) Variable Function + 118(psout): 117(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 36: 6(float) CompositeExtract 33 2 + 37: 6(float) ImageSampleDrefImplicitLod 24 33 36 ConstOffset 35 + Store 13(r11) 37 + 42: 39 Load 41(g_tTex1di4a) + 43: 18 Load 20(g_sSamp) + 46: 45 SampledImage 42 43 + 47: 6(float) CompositeExtract 28 0 + 48: 6(float) CompositeExtract 28 1 + 49: 30(fvec3) CompositeConstruct 47 48 29 + 50: 6(float) CompositeExtract 49 2 + 51: 6(float) ImageSampleDrefImplicitLod 46 49 50 ConstOffset 35 + Store 38(r13) 51 + 57: 54 Load 56(g_tTex1du4a) + 58: 18 Load 20(g_sSamp) + 61: 60 SampledImage 57 58 + 62: 6(float) CompositeExtract 28 0 + 63: 6(float) CompositeExtract 28 1 + 64: 30(fvec3) CompositeConstruct 62 63 29 + 65: 6(float) CompositeExtract 64 2 + 66: 6(float) ImageSampleDrefImplicitLod 61 64 65 ConstOffset 35 + Store 52(r15) 66 + 71: 68 Load 70(g_tTex2df4a) + 72: 18 Load 20(g_sSamp) + 75: 74 SampledImage 71 72 + 78: 6(float) CompositeExtract 77 0 + 79: 6(float) CompositeExtract 77 1 + 80: 6(float) CompositeExtract 77 2 + 81: 7(fvec4) CompositeConstruct 78 79 80 29 + 85: 6(float) CompositeExtract 81 3 + 86: 6(float) ImageSampleDrefImplicitLod 75 81 85 ConstOffset 84 + Store 67(r31) 86 + 91: 88 Load 90(g_tTex2di4a) + 92: 18 Load 20(g_sSamp) + 95: 94 SampledImage 91 92 + 96: 6(float) CompositeExtract 77 0 + 97: 6(float) CompositeExtract 77 1 + 98: 6(float) CompositeExtract 77 2 + 99: 7(fvec4) CompositeConstruct 96 97 98 29 + 100: 6(float) CompositeExtract 99 3 + 101: 6(float) ImageSampleDrefImplicitLod 95 99 100 ConstOffset 84 + Store 87(r33) 101 + 106: 103 Load 105(g_tTex2du4a) + 107: 18 Load 20(g_sSamp) + 110: 109 SampledImage 106 107 + 111: 6(float) CompositeExtract 77 0 + 112: 6(float) CompositeExtract 77 1 + 113: 6(float) CompositeExtract 77 2 + 114: 7(fvec4) CompositeConstruct 111 112 113 29 + 115: 6(float) CompositeExtract 114 3 + 116: 6(float) ImageSampleDrefImplicitLod 110 114 115 ConstOffset 84 + Store 102(r35) 116 + 123: 122(ptr) AccessChain 118(psout) 119 + Store 123 121 + 125: 12(ptr) AccessChain 118(psout) 124 + Store 125 120 + 126:8(PS_OUTPUT) Load 118(psout) + ReturnValue 126 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 29e02cd9088..3a3e1695b6d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmplevelzero.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r10' (temp float) -0:42 textureLod (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r10' ( temp float) +0:42 textureLod ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -21,13 +21,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.000000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r12' (temp float) -0:43 textureLod (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r12' ( temp float) +0:43 textureLod ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -36,13 +36,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.000000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r14' (temp float) -0:44 textureLod (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r14' ( temp float) +0:44 textureLod ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -51,13 +51,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.000000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r30' (temp float) -0:47 textureLod (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r30' ( temp float) +0:47 textureLod ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -67,13 +67,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r32' (temp float) -0:48 textureLod (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r32' ( temp float) +0:48 textureLod ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -83,13 +83,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.000000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r34' (temp float) -0:49 textureLod (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r34' ( temp float) +0:49 textureLod ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -99,13 +99,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.000000 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r60' (temp float) -0:52 textureLod (temp float) -0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' (uniform textureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp 4-component vector of float) +0:52 move second child to first child ( temp float) +0:52 'r60' ( temp float) +0:52 textureLod ( temp float) +0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) +0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -116,13 +116,13 @@ gl_FragCoord origin is upper left 0:52 Constant: 0:52 0.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r62' (temp float) -0:53 textureLod (temp float) -0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' (uniform itextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r62' ( temp float) +0:53 textureLod ( temp float) +0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -133,13 +133,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r64' (temp float) -0:54 textureLod (temp float) -0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' (uniform utextureCubeArray) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r64' ( temp float) +0:54 textureLod ( temp float) +0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -149,9 +149,9 @@ gl_FragCoord origin is upper left 0:54 0.750000 0:54 Constant: 0:54 0.000000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 Color: direct index for structure ( temp 4-component vector of float) +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:56 Constant: 0:56 0 (const int) 0:56 Constant: @@ -159,53 +159,59 @@ gl_FragCoord origin is upper left 0:56 1.000000 0:56 1.000000 0:56 1.000000 -0:57 move second child to first child (temp float) -0:57 Depth: direct index for structure (temp float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp float) +0:57 Depth: direct index for structure ( temp float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -214,17 +220,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r10' (temp float) -0:42 textureLod (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r10' ( temp float) +0:42 textureLod ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -233,13 +239,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.000000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r12' (temp float) -0:43 textureLod (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r12' ( temp float) +0:43 textureLod ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -248,13 +254,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.000000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r14' (temp float) -0:44 textureLod (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r14' ( temp float) +0:44 textureLod ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -263,13 +269,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.000000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r30' (temp float) -0:47 textureLod (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r30' ( temp float) +0:47 textureLod ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -279,13 +285,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r32' (temp float) -0:48 textureLod (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r32' ( temp float) +0:48 textureLod ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -295,13 +301,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.000000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r34' (temp float) -0:49 textureLod (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r34' ( temp float) +0:49 textureLod ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -311,13 +317,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.000000 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'r60' (temp float) -0:52 textureLod (temp float) -0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' (uniform textureCubeArray) -0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp 4-component vector of float) +0:52 move second child to first child ( temp float) +0:52 'r60' ( temp float) +0:52 textureLod ( temp float) +0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) +0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_sSamp' (layout( binding=0) uniform sampler) +0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -328,13 +334,13 @@ gl_FragCoord origin is upper left 0:52 Constant: 0:52 0.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r62' (temp float) -0:53 textureLod (temp float) -0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' (uniform itextureCubeArray) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r62' ( temp float) +0:53 textureLod ( temp float) +0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -345,13 +351,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r64' (temp float) -0:54 textureLod (temp float) -0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' (uniform utextureCubeArray) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r64' ( temp float) +0:54 textureLod ( temp float) +0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -361,9 +367,9 @@ gl_FragCoord origin is upper left 0:54 0.750000 0:54 Constant: 0:54 0.000000 -0:56 move second child to first child (temp 4-component vector of float) -0:56 Color: direct index for structure (temp 4-component vector of float) -0:56 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 Color: direct index for structure ( temp 4-component vector of float) +0:56 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:56 Constant: 0:56 0 (const int) 0:56 Constant: @@ -371,350 +377,367 @@ gl_FragCoord origin is upper left 0:56 1.000000 0:56 1.000000 0:56 1.000000 -0:57 move second child to first child (temp float) -0:57 Depth: direct index for structure (temp float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp float) +0:57 Depth: direct index for structure ( temp float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 1 (const int) 0:57 Constant: 0:57 1.000000 -0:59 Sequence -0:59 Sequence -0:59 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:59 Color: direct index for structure (temp 4-component vector of float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 0 (const int) -0:59 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:59 Depth: direct index for structure (temp float) -0:59 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:59 Constant: -0:59 1 (const int) -0:59 Branch: Return +0:59 Branch: Return with expression +0:59 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 212 +// Id's are bound by 219 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 168 172 + EntryPoint Fragment 4 "main" 176 180 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r10" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 32 "r12" - Name 36 "g_tTex1di4a" - Name 47 "r14" - Name 51 "g_tTex1du4a" - Name 62 "r30" - Name 65 "g_tTex2df4a" - Name 80 "r32" - Name 83 "g_tTex2di4a" - Name 95 "r34" - Name 98 "g_tTex2du4a" - Name 110 "r60" - Name 113 "g_tTexcdf4a" - Name 127 "r62" - Name 130 "g_tTexcdi4a" - Name 142 "r64" - Name 145 "g_tTexcdu4a" - Name 157 "PS_OUTPUT" - MemberName 157(PS_OUTPUT) 0 "Color" - MemberName 157(PS_OUTPUT) 1 "Depth" - Name 159 "psout" - Name 168 "Color" - Name 172 "Depth" - Name 178 "g_tTex1df4" - Name 181 "g_tTex1di4" - Name 184 "g_tTex1du4" - Name 187 "g_tTex2df4" - Name 190 "g_tTex2di4" - Name 193 "g_tTex2du4" - Name 196 "g_tTex3df4" - Name 199 "g_tTex3di4" - Name 202 "g_tTex3du4" - Name 205 "g_tTexcdf4" - Name 208 "g_tTexcdi4" - Name 211 "g_tTexcdu4" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 - Decorate 51(g_tTex1du4a) DescriptorSet 0 - Decorate 65(g_tTex2df4a) DescriptorSet 0 - Decorate 83(g_tTex2di4a) DescriptorSet 0 - Decorate 98(g_tTex2du4a) DescriptorSet 0 - Decorate 113(g_tTexcdf4a) DescriptorSet 0 - Decorate 130(g_tTexcdi4a) DescriptorSet 0 - Decorate 145(g_tTexcdu4a) DescriptorSet 0 - Decorate 168(Color) Location 0 - Decorate 172(Depth) BuiltIn FragDepth - Decorate 178(g_tTex1df4) DescriptorSet 0 - Decorate 178(g_tTex1df4) Binding 0 - Decorate 181(g_tTex1di4) DescriptorSet 0 - Decorate 184(g_tTex1du4) DescriptorSet 0 - Decorate 187(g_tTex2df4) DescriptorSet 0 - Decorate 190(g_tTex2di4) DescriptorSet 0 - Decorate 193(g_tTex2du4) DescriptorSet 0 - Decorate 196(g_tTex3df4) DescriptorSet 0 - Decorate 199(g_tTex3di4) DescriptorSet 0 - Decorate 202(g_tTex3du4) DescriptorSet 0 - Decorate 205(g_tTexcdf4) DescriptorSet 0 - Decorate 208(g_tTexcdi4) DescriptorSet 0 - Decorate 211(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 37 "r12" + Name 41 "g_tTex1di4a" + Name 52 "r14" + Name 56 "g_tTex1du4a" + Name 67 "r30" + Name 70 "g_tTex2df4a" + Name 84 "r32" + Name 87 "g_tTex2di4a" + Name 99 "r34" + Name 102 "g_tTex2du4a" + Name 114 "r60" + Name 117 "g_tTexcdf4a" + Name 131 "r62" + Name 134 "g_tTexcdi4a" + Name 146 "r64" + Name 149 "g_tTexcdu4a" + Name 162 "psout" + Name 173 "flattenTemp" + Name 176 "Color" + Name 180 "Depth" + Name 185 "g_tTex1df4" + Name 188 "g_tTex1di4" + Name 191 "g_tTex1du4" + Name 194 "g_tTex2df4" + Name 197 "g_tTex2di4" + Name 200 "g_tTex2du4" + Name 203 "g_tTex3df4" + Name 206 "g_tTex3di4" + Name 209 "g_tTex3du4" + Name 212 "g_tTexcdf4" + Name 215 "g_tTexcdi4" + Name 218 "g_tTexcdu4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 56(g_tTex1du4a) DescriptorSet 0 + Decorate 70(g_tTex2df4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 102(g_tTex2du4a) DescriptorSet 0 + Decorate 117(g_tTexcdf4a) DescriptorSet 0 + Decorate 134(g_tTexcdi4a) DescriptorSet 0 + Decorate 149(g_tTexcdu4a) DescriptorSet 0 + Decorate 176(Color) Location 0 + Decorate 180(Depth) BuiltIn FragDepth + Decorate 185(g_tTex1df4) DescriptorSet 0 + Decorate 185(g_tTex1df4) Binding 0 + Decorate 188(g_tTex1di4) DescriptorSet 0 + Decorate 191(g_tTex1du4) DescriptorSet 0 + Decorate 194(g_tTex2df4) DescriptorSet 0 + Decorate 197(g_tTex2di4) DescriptorSet 0 + Decorate 200(g_tTex2du4) DescriptorSet 0 + Decorate 203(g_tTex3df4) DescriptorSet 0 + Decorate 206(g_tTex3di4) DescriptorSet 0 + Decorate 209(g_tTex3du4) DescriptorSet 0 + Decorate 212(g_tTexcdf4) DescriptorSet 0 + Decorate 215(g_tTexcdi4) DescriptorSet 0 + Decorate 218(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: 6(float) Constant 0 - 33: TypeInt 32 1 - 34: TypeImage 33(int) 1D array sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4a): 35(ptr) Variable UniformConstant - 39: TypeImage 33(int) 1D depth array sampled format:Unknown - 40: TypeSampledImage 39 - 48: TypeInt 32 0 - 49: TypeImage 48(int) 1D array sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex1du4a): 50(ptr) Variable UniformConstant - 54: TypeImage 48(int) 1D depth array sampled format:Unknown - 55: TypeSampledImage 54 - 63: TypeImage 6(float) 2D array sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2df4a): 64(ptr) Variable UniformConstant - 68: TypeImage 6(float) 2D depth array sampled format:Unknown - 69: TypeSampledImage 68 - 71: 6(float) Constant 1050253722 - 72: 25(fvec3) ConstantComposite 21 22 71 - 73: TypeVector 6(float) 4 - 81: TypeImage 33(int) 2D array sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2di4a): 82(ptr) Variable UniformConstant - 86: TypeImage 33(int) 2D depth array sampled format:Unknown - 87: TypeSampledImage 86 - 96: TypeImage 48(int) 2D array sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTex2du4a): 97(ptr) Variable UniformConstant - 101: TypeImage 48(int) 2D depth array sampled format:Unknown - 102: TypeSampledImage 101 - 111: TypeImage 6(float) Cube array sampled format:Unknown - 112: TypePointer UniformConstant 111 -113(g_tTexcdf4a): 112(ptr) Variable UniformConstant - 116: TypeImage 6(float) Cube depth array sampled format:Unknown - 117: TypeSampledImage 116 - 119: 6(float) Constant 1053609165 - 120: 73(fvec4) ConstantComposite 21 22 71 119 - 128: TypeImage 33(int) Cube array sampled format:Unknown - 129: TypePointer UniformConstant 128 -130(g_tTexcdi4a): 129(ptr) Variable UniformConstant - 133: TypeImage 33(int) Cube depth array sampled format:Unknown - 134: TypeSampledImage 133 - 143: TypeImage 48(int) Cube array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTexcdu4a): 144(ptr) Variable UniformConstant - 148: TypeImage 48(int) Cube depth array sampled format:Unknown - 149: TypeSampledImage 148 - 157(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) - 158: TypePointer Function 157(PS_OUTPUT) - 160: 33(int) Constant 0 - 161: 6(float) Constant 1065353216 - 162: 73(fvec4) ConstantComposite 161 161 161 161 - 163: TypePointer Function 73(fvec4) - 165: 33(int) Constant 1 - 167: TypePointer Output 73(fvec4) - 168(Color): 167(ptr) Variable Output - 171: TypePointer Output 6(float) - 172(Depth): 171(ptr) Variable Output - 176: TypeImage 6(float) 1D sampled format:Unknown - 177: TypePointer UniformConstant 176 - 178(g_tTex1df4): 177(ptr) Variable UniformConstant - 179: TypeImage 33(int) 1D sampled format:Unknown - 180: TypePointer UniformConstant 179 - 181(g_tTex1di4): 180(ptr) Variable UniformConstant - 182: TypeImage 48(int) 1D sampled format:Unknown - 183: TypePointer UniformConstant 182 - 184(g_tTex1du4): 183(ptr) Variable UniformConstant - 185: TypeImage 6(float) 2D sampled format:Unknown - 186: TypePointer UniformConstant 185 - 187(g_tTex2df4): 186(ptr) Variable UniformConstant - 188: TypeImage 33(int) 2D sampled format:Unknown - 189: TypePointer UniformConstant 188 - 190(g_tTex2di4): 189(ptr) Variable UniformConstant - 191: TypeImage 48(int) 2D sampled format:Unknown - 192: TypePointer UniformConstant 191 - 193(g_tTex2du4): 192(ptr) Variable UniformConstant - 194: TypeImage 6(float) 3D sampled format:Unknown - 195: TypePointer UniformConstant 194 - 196(g_tTex3df4): 195(ptr) Variable UniformConstant - 197: TypeImage 33(int) 3D sampled format:Unknown - 198: TypePointer UniformConstant 197 - 199(g_tTex3di4): 198(ptr) Variable UniformConstant - 200: TypeImage 48(int) 3D sampled format:Unknown - 201: TypePointer UniformConstant 200 - 202(g_tTex3du4): 201(ptr) Variable UniformConstant - 203: TypeImage 6(float) Cube sampled format:Unknown - 204: TypePointer UniformConstant 203 - 205(g_tTexcdf4): 204(ptr) Variable UniformConstant - 206: TypeImage 33(int) Cube sampled format:Unknown - 207: TypePointer UniformConstant 206 - 208(g_tTexcdi4): 207(ptr) Variable UniformConstant - 209: TypeImage 48(int) Cube sampled format:Unknown - 210: TypePointer UniformConstant 209 - 211(g_tTexcdu4): 210(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: 6(float) Constant 0 + 38: TypeInt 32 1 + 39: TypeImage 38(int) 1D array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex1di4a): 40(ptr) Variable UniformConstant + 44: TypeImage 38(int) 1D depth array sampled format:Unknown + 45: TypeSampledImage 44 + 53: TypeInt 32 0 + 54: TypeImage 53(int) 1D array sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex1du4a): 55(ptr) Variable UniformConstant + 59: TypeImage 53(int) 1D depth array sampled format:Unknown + 60: TypeSampledImage 59 + 68: TypeImage 6(float) 2D array sampled format:Unknown + 69: TypePointer UniformConstant 68 + 70(g_tTex2df4a): 69(ptr) Variable UniformConstant + 73: TypeImage 6(float) 2D depth array sampled format:Unknown + 74: TypeSampledImage 73 + 76: 6(float) Constant 1050253722 + 77: 30(fvec3) ConstantComposite 26 27 76 + 85: TypeImage 38(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2di4a): 86(ptr) Variable UniformConstant + 90: TypeImage 38(int) 2D depth array sampled format:Unknown + 91: TypeSampledImage 90 + 100: TypeImage 53(int) 2D array sampled format:Unknown + 101: TypePointer UniformConstant 100 +102(g_tTex2du4a): 101(ptr) Variable UniformConstant + 105: TypeImage 53(int) 2D depth array sampled format:Unknown + 106: TypeSampledImage 105 + 115: TypeImage 6(float) Cube array sampled format:Unknown + 116: TypePointer UniformConstant 115 +117(g_tTexcdf4a): 116(ptr) Variable UniformConstant + 120: TypeImage 6(float) Cube depth array sampled format:Unknown + 121: TypeSampledImage 120 + 123: 6(float) Constant 1053609165 + 124: 7(fvec4) ConstantComposite 26 27 76 123 + 132: TypeImage 38(int) Cube array sampled format:Unknown + 133: TypePointer UniformConstant 132 +134(g_tTexcdi4a): 133(ptr) Variable UniformConstant + 137: TypeImage 38(int) Cube depth array sampled format:Unknown + 138: TypeSampledImage 137 + 147: TypeImage 53(int) Cube array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTexcdu4a): 148(ptr) Variable UniformConstant + 152: TypeImage 53(int) Cube depth array sampled format:Unknown + 153: TypeSampledImage 152 + 161: TypePointer Function 8(PS_OUTPUT) + 163: 38(int) Constant 0 + 164: 6(float) Constant 1065353216 + 165: 7(fvec4) ConstantComposite 164 164 164 164 + 166: TypePointer Function 7(fvec4) + 168: 38(int) Constant 1 + 175: TypePointer Output 7(fvec4) + 176(Color): 175(ptr) Variable Output + 179: TypePointer Output 6(float) + 180(Depth): 179(ptr) Variable Output + 183: TypeImage 6(float) 1D sampled format:Unknown + 184: TypePointer UniformConstant 183 + 185(g_tTex1df4): 184(ptr) Variable UniformConstant + 186: TypeImage 38(int) 1D sampled format:Unknown + 187: TypePointer UniformConstant 186 + 188(g_tTex1di4): 187(ptr) Variable UniformConstant + 189: TypeImage 53(int) 1D sampled format:Unknown + 190: TypePointer UniformConstant 189 + 191(g_tTex1du4): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) 2D sampled format:Unknown + 193: TypePointer UniformConstant 192 + 194(g_tTex2df4): 193(ptr) Variable UniformConstant + 195: TypeImage 38(int) 2D sampled format:Unknown + 196: TypePointer UniformConstant 195 + 197(g_tTex2di4): 196(ptr) Variable UniformConstant + 198: TypeImage 53(int) 2D sampled format:Unknown + 199: TypePointer UniformConstant 198 + 200(g_tTex2du4): 199(ptr) Variable UniformConstant + 201: TypeImage 6(float) 3D sampled format:Unknown + 202: TypePointer UniformConstant 201 + 203(g_tTex3df4): 202(ptr) Variable UniformConstant + 204: TypeImage 38(int) 3D sampled format:Unknown + 205: TypePointer UniformConstant 204 + 206(g_tTex3di4): 205(ptr) Variable UniformConstant + 207: TypeImage 53(int) 3D sampled format:Unknown + 208: TypePointer UniformConstant 207 + 209(g_tTex3du4): 208(ptr) Variable UniformConstant + 210: TypeImage 6(float) Cube sampled format:Unknown + 211: TypePointer UniformConstant 210 + 212(g_tTexcdf4): 211(ptr) Variable UniformConstant + 213: TypeImage 38(int) Cube sampled format:Unknown + 214: TypePointer UniformConstant 213 + 215(g_tTexcdi4): 214(ptr) Variable UniformConstant + 216: TypeImage 53(int) Cube sampled format:Unknown + 217: TypePointer UniformConstant 216 + 218(g_tTexcdu4): 217(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r10): 7(ptr) Variable Function - 32(r12): 7(ptr) Variable Function - 47(r14): 7(ptr) Variable Function - 62(r30): 7(ptr) Variable Function - 80(r32): 7(ptr) Variable Function - 95(r34): 7(ptr) Variable Function - 110(r60): 7(ptr) Variable Function - 127(r62): 7(ptr) Variable Function - 142(r64): 7(ptr) Variable Function - 159(psout): 158(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 30: 6(float) CompositeExtract 28 2 - 31: 6(float) ImageSampleDrefExplicitLod 19 28 30 Lod 29 - Store 8(r10) 31 - 37: 34 Load 36(g_tTex1di4a) - 38: 13 Load 15(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 6(float) CompositeExtract 23 0 - 43: 6(float) CompositeExtract 23 1 - 44: 25(fvec3) CompositeConstruct 42 43 24 - 45: 6(float) CompositeExtract 44 2 - 46: 6(float) ImageSampleDrefExplicitLod 41 44 45 Lod 29 - Store 32(r12) 46 - 52: 49 Load 51(g_tTex1du4a) - 53: 13 Load 15(g_sSamp) - 56: 55 SampledImage 52 53 - 57: 6(float) CompositeExtract 23 0 - 58: 6(float) CompositeExtract 23 1 - 59: 25(fvec3) CompositeConstruct 57 58 24 - 60: 6(float) CompositeExtract 59 2 - 61: 6(float) ImageSampleDrefExplicitLod 56 59 60 Lod 29 - Store 47(r14) 61 - 66: 63 Load 65(g_tTex2df4a) - 67: 13 Load 15(g_sSamp) - 70: 69 SampledImage 66 67 - 74: 6(float) CompositeExtract 72 0 - 75: 6(float) CompositeExtract 72 1 - 76: 6(float) CompositeExtract 72 2 - 77: 73(fvec4) CompositeConstruct 74 75 76 24 - 78: 6(float) CompositeExtract 77 3 - 79: 6(float) ImageSampleDrefExplicitLod 70 77 78 Lod 29 - Store 62(r30) 79 - 84: 81 Load 83(g_tTex2di4a) - 85: 13 Load 15(g_sSamp) - 88: 87 SampledImage 84 85 - 89: 6(float) CompositeExtract 72 0 - 90: 6(float) CompositeExtract 72 1 - 91: 6(float) CompositeExtract 72 2 - 92: 73(fvec4) CompositeConstruct 89 90 91 24 - 93: 6(float) CompositeExtract 92 3 - 94: 6(float) ImageSampleDrefExplicitLod 88 92 93 Lod 29 - Store 80(r32) 94 - 99: 96 Load 98(g_tTex2du4a) - 100: 13 Load 15(g_sSamp) - 103: 102 SampledImage 99 100 - 104: 6(float) CompositeExtract 72 0 - 105: 6(float) CompositeExtract 72 1 - 106: 6(float) CompositeExtract 72 2 - 107: 73(fvec4) CompositeConstruct 104 105 106 24 - 108: 6(float) CompositeExtract 107 3 - 109: 6(float) ImageSampleDrefExplicitLod 103 107 108 Lod 29 - Store 95(r34) 109 - 114: 111 Load 113(g_tTexcdf4a) - 115: 13 Load 15(g_sSamp) - 118: 117 SampledImage 114 115 - 121: 6(float) CompositeExtract 120 0 - 122: 6(float) CompositeExtract 120 1 - 123: 6(float) CompositeExtract 120 2 - 124: 6(float) CompositeExtract 120 3 - 125: 73(fvec4) CompositeConstruct 121 122 123 124 - 126: 6(float) ImageSampleDrefExplicitLod 118 125 24 Lod 24 - Store 110(r60) 126 - 131: 128 Load 130(g_tTexcdi4a) - 132: 13 Load 15(g_sSamp) - 135: 134 SampledImage 131 132 - 136: 6(float) CompositeExtract 120 0 - 137: 6(float) CompositeExtract 120 1 - 138: 6(float) CompositeExtract 120 2 - 139: 6(float) CompositeExtract 120 3 - 140: 73(fvec4) CompositeConstruct 136 137 138 139 - 141: 6(float) ImageSampleDrefExplicitLod 135 140 24 Lod 24 - Store 127(r62) 141 - 146: 143 Load 145(g_tTexcdu4a) - 147: 13 Load 15(g_sSamp) - 150: 149 SampledImage 146 147 - 151: 6(float) CompositeExtract 120 0 - 152: 6(float) CompositeExtract 120 1 - 153: 6(float) CompositeExtract 120 2 - 154: 6(float) CompositeExtract 120 3 - 155: 73(fvec4) CompositeConstruct 151 152 153 154 - 156: 6(float) ImageSampleDrefExplicitLod 150 155 24 Lod 24 - Store 142(r64) 156 - 164: 163(ptr) AccessChain 159(psout) 160 - Store 164 162 - 166: 7(ptr) AccessChain 159(psout) 165 - Store 166 161 - 169: 163(ptr) AccessChain 159(psout) 160 - 170: 73(fvec4) Load 169 - Store 168(Color) 170 - 173: 7(ptr) AccessChain 159(psout) 165 - 174: 6(float) Load 173 - Store 172(Depth) 174 +173(flattenTemp): 161(ptr) Variable Function + 174:8(PS_OUTPUT) FunctionCall 10(@main() + Store 173(flattenTemp) 174 + 177: 166(ptr) AccessChain 173(flattenTemp) 163 + 178: 7(fvec4) Load 177 + Store 176(Color) 178 + 181: 12(ptr) AccessChain 173(flattenTemp) 168 + 182: 6(float) Load 181 + Store 180(Depth) 182 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r10): 12(ptr) Variable Function + 37(r12): 12(ptr) Variable Function + 52(r14): 12(ptr) Variable Function + 67(r30): 12(ptr) Variable Function + 84(r32): 12(ptr) Variable Function + 99(r34): 12(ptr) Variable Function + 114(r60): 12(ptr) Variable Function + 131(r62): 12(ptr) Variable Function + 146(r64): 12(ptr) Variable Function + 162(psout): 161(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 35: 6(float) CompositeExtract 33 2 + 36: 6(float) ImageSampleDrefExplicitLod 24 33 35 Lod 34 + Store 13(r10) 36 + 42: 39 Load 41(g_tTex1di4a) + 43: 18 Load 20(g_sSamp) + 46: 45 SampledImage 42 43 + 47: 6(float) CompositeExtract 28 0 + 48: 6(float) CompositeExtract 28 1 + 49: 30(fvec3) CompositeConstruct 47 48 29 + 50: 6(float) CompositeExtract 49 2 + 51: 6(float) ImageSampleDrefExplicitLod 46 49 50 Lod 34 + Store 37(r12) 51 + 57: 54 Load 56(g_tTex1du4a) + 58: 18 Load 20(g_sSamp) + 61: 60 SampledImage 57 58 + 62: 6(float) CompositeExtract 28 0 + 63: 6(float) CompositeExtract 28 1 + 64: 30(fvec3) CompositeConstruct 62 63 29 + 65: 6(float) CompositeExtract 64 2 + 66: 6(float) ImageSampleDrefExplicitLod 61 64 65 Lod 34 + Store 52(r14) 66 + 71: 68 Load 70(g_tTex2df4a) + 72: 18 Load 20(g_sSamp) + 75: 74 SampledImage 71 72 + 78: 6(float) CompositeExtract 77 0 + 79: 6(float) CompositeExtract 77 1 + 80: 6(float) CompositeExtract 77 2 + 81: 7(fvec4) CompositeConstruct 78 79 80 29 + 82: 6(float) CompositeExtract 81 3 + 83: 6(float) ImageSampleDrefExplicitLod 75 81 82 Lod 34 + Store 67(r30) 83 + 88: 85 Load 87(g_tTex2di4a) + 89: 18 Load 20(g_sSamp) + 92: 91 SampledImage 88 89 + 93: 6(float) CompositeExtract 77 0 + 94: 6(float) CompositeExtract 77 1 + 95: 6(float) CompositeExtract 77 2 + 96: 7(fvec4) CompositeConstruct 93 94 95 29 + 97: 6(float) CompositeExtract 96 3 + 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod 34 + Store 84(r32) 98 + 103: 100 Load 102(g_tTex2du4a) + 104: 18 Load 20(g_sSamp) + 107: 106 SampledImage 103 104 + 108: 6(float) CompositeExtract 77 0 + 109: 6(float) CompositeExtract 77 1 + 110: 6(float) CompositeExtract 77 2 + 111: 7(fvec4) CompositeConstruct 108 109 110 29 + 112: 6(float) CompositeExtract 111 3 + 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod 34 + Store 99(r34) 113 + 118: 115 Load 117(g_tTexcdf4a) + 119: 18 Load 20(g_sSamp) + 122: 121 SampledImage 118 119 + 125: 6(float) CompositeExtract 124 0 + 126: 6(float) CompositeExtract 124 1 + 127: 6(float) CompositeExtract 124 2 + 128: 6(float) CompositeExtract 124 3 + 129: 7(fvec4) CompositeConstruct 125 126 127 128 + 130: 6(float) ImageSampleDrefExplicitLod 122 129 29 Lod 29 + Store 114(r60) 130 + 135: 132 Load 134(g_tTexcdi4a) + 136: 18 Load 20(g_sSamp) + 139: 138 SampledImage 135 136 + 140: 6(float) CompositeExtract 124 0 + 141: 6(float) CompositeExtract 124 1 + 142: 6(float) CompositeExtract 124 2 + 143: 6(float) CompositeExtract 124 3 + 144: 7(fvec4) CompositeConstruct 140 141 142 143 + 145: 6(float) ImageSampleDrefExplicitLod 139 144 29 Lod 29 + Store 131(r62) 145 + 150: 147 Load 149(g_tTexcdu4a) + 151: 18 Load 20(g_sSamp) + 154: 153 SampledImage 150 151 + 155: 6(float) CompositeExtract 124 0 + 156: 6(float) CompositeExtract 124 1 + 157: 6(float) CompositeExtract 124 2 + 158: 6(float) CompositeExtract 124 3 + 159: 7(fvec4) CompositeConstruct 155 156 157 158 + 160: 6(float) ImageSampleDrefExplicitLod 154 159 29 Lod 29 + Store 146(r64) 160 + 167: 166(ptr) AccessChain 162(psout) 163 + Store 167 165 + 169: 12(ptr) AccessChain 162(psout) 168 + Store 169 164 + 170:8(PS_OUTPUT) Load 162(psout) + ReturnValue 170 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index de8227649a5..1fcc001e2b1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmplevelzero.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r00' (temp float) -0:42 textureLod (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r00' ( temp float) +0:42 textureLod ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -20,13 +20,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.000000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r02' (temp float) -0:43 textureLod (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r02' ( temp float) +0:43 textureLod ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -34,13 +34,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.000000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r04' (temp float) -0:44 textureLod (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r04' ( temp float) +0:44 textureLod ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -48,13 +48,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.000000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r20' (temp float) -0:47 textureLod (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r20' ( temp float) +0:47 textureLod ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -63,13 +63,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r22' (temp float) -0:48 textureLod (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r22' ( temp float) +0:48 textureLod ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -78,13 +78,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.000000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r24' (temp float) -0:49 textureLod (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r24' ( temp float) +0:49 textureLod ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -93,13 +93,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r50' (temp float) -0:53 textureLod (temp float) -0:53 Construct combined texture-sampler (temp samplerCubeShadow) -0:53 'g_tTexcdf4' (uniform textureCube) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r50' ( temp float) +0:53 textureLod ( temp float) +0:53 Construct combined texture-sampler ( temp samplerCubeShadow) +0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -109,13 +109,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r52' (temp float) -0:54 textureLod (temp float) -0:54 Construct combined texture-sampler (temp isamplerCubeShadow) -0:54 'g_tTexcdi4' (uniform itextureCube) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r52' ( temp float) +0:54 textureLod ( temp float) +0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) +0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -125,13 +125,13 @@ gl_FragCoord origin is upper left 0:54 Constant: 0:54 0.000000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r54' (temp float) -0:55 textureLod (temp float) -0:55 Construct combined texture-sampler (temp usamplerCubeShadow) -0:55 'g_tTexcdu4' (uniform utextureCube) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp 4-component vector of float) +0:55 move second child to first child ( temp float) +0:55 'r54' ( temp float) +0:55 textureLod ( temp float) +0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) +0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -140,9 +140,9 @@ gl_FragCoord origin is upper left 0:55 0.750000 0:55 Constant: 0:55 0.000000 -0:57 move second child to first child (temp 4-component vector of float) -0:57 Color: direct index for structure (temp 4-component vector of float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 Color: direct index for structure ( temp 4-component vector of float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 0 (const int) 0:57 Constant: @@ -150,53 +150,59 @@ gl_FragCoord origin is upper left 0:57 1.000000 0:57 1.000000 0:57 1.000000 -0:58 move second child to first child (temp float) -0:58 Depth: direct index for structure (temp float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp float) +0:58 Depth: direct index for structure ( temp float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -205,17 +211,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r00' (temp float) -0:42 textureLod (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r00' ( temp float) +0:42 textureLod ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -223,13 +229,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.000000 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r02' (temp float) -0:43 textureLod (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r02' ( temp float) +0:43 textureLod ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -237,13 +243,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 0.000000 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r04' (temp float) -0:44 textureLod (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r04' ( temp float) +0:44 textureLod ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -251,13 +257,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.000000 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r20' (temp float) -0:47 textureLod (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r20' ( temp float) +0:47 textureLod ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -266,13 +272,13 @@ gl_FragCoord origin is upper left 0:47 Constant: 0:47 0.000000 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r22' (temp float) -0:48 textureLod (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r22' ( temp float) +0:48 textureLod ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -281,13 +287,13 @@ gl_FragCoord origin is upper left 0:48 Constant: 0:48 0.000000 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r24' (temp float) -0:49 textureLod (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r24' ( temp float) +0:49 textureLod ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -296,13 +302,13 @@ gl_FragCoord origin is upper left 0:49 Constant: 0:49 0.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'r50' (temp float) -0:53 textureLod (temp float) -0:53 Construct combined texture-sampler (temp samplerCubeShadow) -0:53 'g_tTexcdf4' (uniform textureCube) -0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp 4-component vector of float) +0:53 move second child to first child ( temp float) +0:53 'r50' ( temp float) +0:53 textureLod ( temp float) +0:53 Construct combined texture-sampler ( temp samplerCubeShadow) +0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_sSamp' (layout( binding=0) uniform sampler) +0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -312,13 +318,13 @@ gl_FragCoord origin is upper left 0:53 Constant: 0:53 0.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'r52' (temp float) -0:54 textureLod (temp float) -0:54 Construct combined texture-sampler (temp isamplerCubeShadow) -0:54 'g_tTexcdi4' (uniform itextureCube) -0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp 4-component vector of float) +0:54 move second child to first child ( temp float) +0:54 'r52' ( temp float) +0:54 textureLod ( temp float) +0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) +0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_sSamp' (layout( binding=0) uniform sampler) +0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -328,13 +334,13 @@ gl_FragCoord origin is upper left 0:54 Constant: 0:54 0.000000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'r54' (temp float) -0:55 textureLod (temp float) -0:55 Construct combined texture-sampler (temp usamplerCubeShadow) -0:55 'g_tTexcdu4' (uniform utextureCube) -0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp 4-component vector of float) +0:55 move second child to first child ( temp float) +0:55 'r54' ( temp float) +0:55 textureLod ( temp float) +0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) +0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_sSamp' (layout( binding=0) uniform sampler) +0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -343,9 +349,9 @@ gl_FragCoord origin is upper left 0:55 0.750000 0:55 Constant: 0:55 0.000000 -0:57 move second child to first child (temp 4-component vector of float) -0:57 Color: direct index for structure (temp 4-component vector of float) -0:57 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:57 move second child to first child ( temp 4-component vector of float) +0:57 Color: direct index for structure ( temp 4-component vector of float) +0:57 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:57 Constant: 0:57 0 (const int) 0:57 Constant: @@ -353,339 +359,356 @@ gl_FragCoord origin is upper left 0:57 1.000000 0:57 1.000000 0:57 1.000000 -0:58 move second child to first child (temp float) -0:58 Depth: direct index for structure (temp float) -0:58 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:58 move second child to first child ( temp float) +0:58 Depth: direct index for structure ( temp float) +0:58 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 1.000000 -0:60 Sequence -0:60 Sequence -0:60 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:60 Color: direct index for structure (temp 4-component vector of float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 0 (const int) -0:60 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:60 Depth: direct index for structure (temp float) -0:60 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:60 Constant: -0:60 1 (const int) -0:60 Branch: Return +0:60 Branch: Return with expression +0:60 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 201 +// Id's are bound by 208 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 157 161 + EntryPoint Fragment 4 "main" 165 169 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 27 "r02" - Name 31 "g_tTex1di4" - Name 40 "r04" - Name 44 "g_tTex1du4" - Name 53 "r20" - Name 56 "g_tTex2df4" - Name 70 "r22" - Name 73 "g_tTex2di4" - Name 84 "r24" - Name 87 "g_tTex2du4" - Name 98 "r50" - Name 101 "g_tTexcdf4" - Name 116 "r52" - Name 119 "g_tTexcdi4" - Name 131 "r54" - Name 134 "g_tTexcdu4" - Name 146 "PS_OUTPUT" - MemberName 146(PS_OUTPUT) 0 "Color" - MemberName 146(PS_OUTPUT) 1 "Depth" - Name 148 "psout" - Name 157 "Color" - Name 161 "Depth" - Name 167 "g_tTex3df4" - Name 170 "g_tTex3di4" - Name 173 "g_tTex3du4" - Name 176 "g_tTex1df4a" - Name 179 "g_tTex1di4a" - Name 182 "g_tTex1du4a" - Name 185 "g_tTex2df4a" - Name 188 "g_tTex2di4a" - Name 191 "g_tTex2du4a" - Name 194 "g_tTexcdf4a" - Name 197 "g_tTexcdi4a" - Name 200 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 56(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 87(g_tTex2du4) DescriptorSet 0 - Decorate 101(g_tTexcdf4) DescriptorSet 0 - Decorate 119(g_tTexcdi4) DescriptorSet 0 - Decorate 134(g_tTexcdu4) DescriptorSet 0 - Decorate 157(Color) Location 0 - Decorate 161(Depth) BuiltIn FragDepth - Decorate 167(g_tTex3df4) DescriptorSet 0 - Decorate 170(g_tTex3di4) DescriptorSet 0 - Decorate 173(g_tTex3du4) DescriptorSet 0 - Decorate 176(g_tTex1df4a) DescriptorSet 0 - Decorate 179(g_tTex1di4a) DescriptorSet 0 - Decorate 182(g_tTex1du4a) DescriptorSet 0 - Decorate 185(g_tTex2df4a) DescriptorSet 0 - Decorate 188(g_tTex2di4a) DescriptorSet 0 - Decorate 191(g_tTex2du4a) DescriptorSet 0 - Decorate 194(g_tTexcdf4a) DescriptorSet 0 - Decorate 197(g_tTexcdi4a) DescriptorSet 0 - Decorate 200(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "r02" + Name 36 "g_tTex1di4" + Name 45 "r04" + Name 49 "g_tTex1du4" + Name 58 "r20" + Name 61 "g_tTex2df4" + Name 75 "r22" + Name 78 "g_tTex2di4" + Name 89 "r24" + Name 92 "g_tTex2du4" + Name 103 "r50" + Name 106 "g_tTexcdf4" + Name 120 "r52" + Name 123 "g_tTexcdi4" + Name 135 "r54" + Name 138 "g_tTexcdu4" + Name 151 "psout" + Name 162 "flattenTemp" + Name 165 "Color" + Name 169 "Depth" + Name 174 "g_tTex3df4" + Name 177 "g_tTex3di4" + Name 180 "g_tTex3du4" + Name 183 "g_tTex1df4a" + Name 186 "g_tTex1di4a" + Name 189 "g_tTex1du4a" + Name 192 "g_tTex2df4a" + Name 195 "g_tTex2di4a" + Name 198 "g_tTex2du4a" + Name 201 "g_tTexcdf4a" + Name 204 "g_tTexcdi4a" + Name 207 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 92(g_tTex2du4) DescriptorSet 0 + Decorate 106(g_tTexcdf4) DescriptorSet 0 + Decorate 123(g_tTexcdi4) DescriptorSet 0 + Decorate 138(g_tTexcdu4) DescriptorSet 0 + Decorate 165(Color) Location 0 + Decorate 169(Depth) BuiltIn FragDepth + Decorate 174(g_tTex3df4) DescriptorSet 0 + Decorate 177(g_tTex3di4) DescriptorSet 0 + Decorate 180(g_tTex3du4) DescriptorSet 0 + Decorate 183(g_tTex1df4a) DescriptorSet 0 + Decorate 186(g_tTex1di4a) DescriptorSet 0 + Decorate 189(g_tTex1du4a) DescriptorSet 0 + Decorate 192(g_tTex2df4a) DescriptorSet 0 + Decorate 195(g_tTex2di4a) DescriptorSet 0 + Decorate 198(g_tTex2du4a) DescriptorSet 0 + Decorate 201(g_tTexcdf4a) DescriptorSet 0 + Decorate 204(g_tTexcdi4a) DescriptorSet 0 + Decorate 207(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: 6(float) Constant 0 - 28: TypeInt 32 1 - 29: TypeImage 28(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeImage 28(int) 1D depth sampled format:Unknown - 35: TypeSampledImage 34 - 41: TypeInt 32 0 - 42: TypeImage 41(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeImage 41(int) 1D depth sampled format:Unknown - 48: TypeSampledImage 47 - 54: TypeImage 6(float) 2D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex2df4): 55(ptr) Variable UniformConstant - 59: TypeImage 6(float) 2D depth sampled format:Unknown - 60: TypeSampledImage 59 - 62: 6(float) Constant 1045220557 - 63: 22(fvec2) ConstantComposite 20 62 - 64: TypeVector 6(float) 3 - 71: TypeImage 28(int) 2D sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeImage 28(int) 2D depth sampled format:Unknown - 77: TypeSampledImage 76 - 85: TypeImage 41(int) 2D sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex2du4): 86(ptr) Variable UniformConstant - 90: TypeImage 41(int) 2D depth sampled format:Unknown - 91: TypeSampledImage 90 - 99: TypeImage 6(float) Cube sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTexcdf4): 100(ptr) Variable UniformConstant - 104: TypeImage 6(float) Cube depth sampled format:Unknown - 105: TypeSampledImage 104 - 107: 6(float) Constant 1050253722 - 108: 64(fvec3) ConstantComposite 20 62 107 - 109: TypeVector 6(float) 4 - 117: TypeImage 28(int) Cube sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTexcdi4): 118(ptr) Variable UniformConstant - 122: TypeImage 28(int) Cube depth sampled format:Unknown - 123: TypeSampledImage 122 - 132: TypeImage 41(int) Cube sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTexcdu4): 133(ptr) Variable UniformConstant - 137: TypeImage 41(int) Cube depth sampled format:Unknown - 138: TypeSampledImage 137 - 146(PS_OUTPUT): TypeStruct 109(fvec4) 6(float) - 147: TypePointer Function 146(PS_OUTPUT) - 149: 28(int) Constant 0 - 150: 6(float) Constant 1065353216 - 151: 109(fvec4) ConstantComposite 150 150 150 150 - 152: TypePointer Function 109(fvec4) - 154: 28(int) Constant 1 - 156: TypePointer Output 109(fvec4) - 157(Color): 156(ptr) Variable Output - 160: TypePointer Output 6(float) - 161(Depth): 160(ptr) Variable Output - 165: TypeImage 6(float) 3D sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTex3df4): 166(ptr) Variable UniformConstant - 168: TypeImage 28(int) 3D sampled format:Unknown - 169: TypePointer UniformConstant 168 - 170(g_tTex3di4): 169(ptr) Variable UniformConstant - 171: TypeImage 41(int) 3D sampled format:Unknown - 172: TypePointer UniformConstant 171 - 173(g_tTex3du4): 172(ptr) Variable UniformConstant - 174: TypeImage 6(float) 1D array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTex1df4a): 175(ptr) Variable UniformConstant - 177: TypeImage 28(int) 1D array sampled format:Unknown - 178: TypePointer UniformConstant 177 -179(g_tTex1di4a): 178(ptr) Variable UniformConstant - 180: TypeImage 41(int) 1D array sampled format:Unknown - 181: TypePointer UniformConstant 180 -182(g_tTex1du4a): 181(ptr) Variable UniformConstant - 183: TypeImage 6(float) 2D array sampled format:Unknown - 184: TypePointer UniformConstant 183 -185(g_tTex2df4a): 184(ptr) Variable UniformConstant - 186: TypeImage 28(int) 2D array sampled format:Unknown - 187: TypePointer UniformConstant 186 -188(g_tTex2di4a): 187(ptr) Variable UniformConstant - 189: TypeImage 41(int) 2D array sampled format:Unknown - 190: TypePointer UniformConstant 189 -191(g_tTex2du4a): 190(ptr) Variable UniformConstant - 192: TypeImage 6(float) Cube array sampled format:Unknown - 193: TypePointer UniformConstant 192 -194(g_tTexcdf4a): 193(ptr) Variable UniformConstant - 195: TypeImage 28(int) Cube array sampled format:Unknown - 196: TypePointer UniformConstant 195 -197(g_tTexcdi4a): 196(ptr) Variable UniformConstant - 198: TypeImage 41(int) Cube array sampled format:Unknown - 199: TypePointer UniformConstant 198 -200(g_tTexcdu4a): 199(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: 6(float) Constant 0 + 33: TypeInt 32 1 + 34: TypeImage 33(int) 1D sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeImage 33(int) 1D depth sampled format:Unknown + 40: TypeSampledImage 39 + 46: TypeInt 32 0 + 47: TypeImage 46(int) 1D sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeImage 46(int) 1D depth sampled format:Unknown + 53: TypeSampledImage 52 + 59: TypeImage 6(float) 2D sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4): 60(ptr) Variable UniformConstant + 64: TypeImage 6(float) 2D depth sampled format:Unknown + 65: TypeSampledImage 64 + 67: 6(float) Constant 1045220557 + 68: 27(fvec2) ConstantComposite 25 67 + 69: TypeVector 6(float) 3 + 76: TypeImage 33(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2di4): 77(ptr) Variable UniformConstant + 81: TypeImage 33(int) 2D depth sampled format:Unknown + 82: TypeSampledImage 81 + 90: TypeImage 46(int) 2D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex2du4): 91(ptr) Variable UniformConstant + 95: TypeImage 46(int) 2D depth sampled format:Unknown + 96: TypeSampledImage 95 + 104: TypeImage 6(float) Cube sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTexcdf4): 105(ptr) Variable UniformConstant + 109: TypeImage 6(float) Cube depth sampled format:Unknown + 110: TypeSampledImage 109 + 112: 6(float) Constant 1050253722 + 113: 69(fvec3) ConstantComposite 25 67 112 + 121: TypeImage 33(int) Cube sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTexcdi4): 122(ptr) Variable UniformConstant + 126: TypeImage 33(int) Cube depth sampled format:Unknown + 127: TypeSampledImage 126 + 136: TypeImage 46(int) Cube sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTexcdu4): 137(ptr) Variable UniformConstant + 141: TypeImage 46(int) Cube depth sampled format:Unknown + 142: TypeSampledImage 141 + 150: TypePointer Function 8(PS_OUTPUT) + 152: 33(int) Constant 0 + 153: 6(float) Constant 1065353216 + 154: 7(fvec4) ConstantComposite 153 153 153 153 + 155: TypePointer Function 7(fvec4) + 157: 33(int) Constant 1 + 164: TypePointer Output 7(fvec4) + 165(Color): 164(ptr) Variable Output + 168: TypePointer Output 6(float) + 169(Depth): 168(ptr) Variable Output + 172: TypeImage 6(float) 3D sampled format:Unknown + 173: TypePointer UniformConstant 172 + 174(g_tTex3df4): 173(ptr) Variable UniformConstant + 175: TypeImage 33(int) 3D sampled format:Unknown + 176: TypePointer UniformConstant 175 + 177(g_tTex3di4): 176(ptr) Variable UniformConstant + 178: TypeImage 46(int) 3D sampled format:Unknown + 179: TypePointer UniformConstant 178 + 180(g_tTex3du4): 179(ptr) Variable UniformConstant + 181: TypeImage 6(float) 1D array sampled format:Unknown + 182: TypePointer UniformConstant 181 +183(g_tTex1df4a): 182(ptr) Variable UniformConstant + 184: TypeImage 33(int) 1D array sampled format:Unknown + 185: TypePointer UniformConstant 184 +186(g_tTex1di4a): 185(ptr) Variable UniformConstant + 187: TypeImage 46(int) 1D array sampled format:Unknown + 188: TypePointer UniformConstant 187 +189(g_tTex1du4a): 188(ptr) Variable UniformConstant + 190: TypeImage 6(float) 2D array sampled format:Unknown + 191: TypePointer UniformConstant 190 +192(g_tTex2df4a): 191(ptr) Variable UniformConstant + 193: TypeImage 33(int) 2D array sampled format:Unknown + 194: TypePointer UniformConstant 193 +195(g_tTex2di4a): 194(ptr) Variable UniformConstant + 196: TypeImage 46(int) 2D array sampled format:Unknown + 197: TypePointer UniformConstant 196 +198(g_tTex2du4a): 197(ptr) Variable UniformConstant + 199: TypeImage 6(float) Cube array sampled format:Unknown + 200: TypePointer UniformConstant 199 +201(g_tTexcdf4a): 200(ptr) Variable UniformConstant + 202: TypeImage 33(int) Cube array sampled format:Unknown + 203: TypePointer UniformConstant 202 +204(g_tTexcdi4a): 203(ptr) Variable UniformConstant + 205: TypeImage 46(int) Cube array sampled format:Unknown + 206: TypePointer UniformConstant 205 +207(g_tTexcdu4a): 206(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 27(r02): 7(ptr) Variable Function - 40(r04): 7(ptr) Variable Function - 53(r20): 7(ptr) Variable Function - 70(r22): 7(ptr) Variable Function - 84(r24): 7(ptr) Variable Function - 98(r50): 7(ptr) Variable Function - 116(r52): 7(ptr) Variable Function - 131(r54): 7(ptr) Variable Function - 148(psout): 147(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 25: 6(float) CompositeExtract 23 1 - 26: 6(float) ImageSampleDrefExplicitLod 19 23 25 Lod 24 - Store 8(r00) 26 - 32: 29 Load 31(g_tTex1di4) - 33: 13 Load 15(g_sSamp) - 36: 35 SampledImage 32 33 - 37: 22(fvec2) CompositeConstruct 20 21 - 38: 6(float) CompositeExtract 37 1 - 39: 6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 24 - Store 27(r02) 39 - 45: 42 Load 44(g_tTex1du4) - 46: 13 Load 15(g_sSamp) - 49: 48 SampledImage 45 46 - 50: 22(fvec2) CompositeConstruct 20 21 - 51: 6(float) CompositeExtract 50 1 - 52: 6(float) ImageSampleDrefExplicitLod 49 50 51 Lod 24 - Store 40(r04) 52 - 57: 54 Load 56(g_tTex2df4) - 58: 13 Load 15(g_sSamp) - 61: 60 SampledImage 57 58 - 65: 6(float) CompositeExtract 63 0 - 66: 6(float) CompositeExtract 63 1 - 67: 64(fvec3) CompositeConstruct 65 66 21 - 68: 6(float) CompositeExtract 67 2 - 69: 6(float) ImageSampleDrefExplicitLod 61 67 68 Lod 24 - Store 53(r20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 13 Load 15(g_sSamp) - 78: 77 SampledImage 74 75 - 79: 6(float) CompositeExtract 63 0 - 80: 6(float) CompositeExtract 63 1 - 81: 64(fvec3) CompositeConstruct 79 80 21 - 82: 6(float) CompositeExtract 81 2 - 83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 24 - Store 70(r22) 83 - 88: 85 Load 87(g_tTex2du4) - 89: 13 Load 15(g_sSamp) - 92: 91 SampledImage 88 89 - 93: 6(float) CompositeExtract 63 0 - 94: 6(float) CompositeExtract 63 1 - 95: 64(fvec3) CompositeConstruct 93 94 21 - 96: 6(float) CompositeExtract 95 2 - 97: 6(float) ImageSampleDrefExplicitLod 92 95 96 Lod 24 - Store 84(r24) 97 - 102: 99 Load 101(g_tTexcdf4) - 103: 13 Load 15(g_sSamp) - 106: 105 SampledImage 102 103 - 110: 6(float) CompositeExtract 108 0 - 111: 6(float) CompositeExtract 108 1 - 112: 6(float) CompositeExtract 108 2 - 113: 109(fvec4) CompositeConstruct 110 111 112 21 - 114: 6(float) CompositeExtract 113 3 - 115: 6(float) ImageSampleDrefExplicitLod 106 113 114 Lod 24 - Store 98(r50) 115 - 120: 117 Load 119(g_tTexcdi4) - 121: 13 Load 15(g_sSamp) - 124: 123 SampledImage 120 121 - 125: 6(float) CompositeExtract 108 0 - 126: 6(float) CompositeExtract 108 1 - 127: 6(float) CompositeExtract 108 2 - 128: 109(fvec4) CompositeConstruct 125 126 127 21 - 129: 6(float) CompositeExtract 128 3 - 130: 6(float) ImageSampleDrefExplicitLod 124 128 129 Lod 24 - Store 116(r52) 130 - 135: 132 Load 134(g_tTexcdu4) - 136: 13 Load 15(g_sSamp) - 139: 138 SampledImage 135 136 - 140: 6(float) CompositeExtract 108 0 - 141: 6(float) CompositeExtract 108 1 - 142: 6(float) CompositeExtract 108 2 - 143: 109(fvec4) CompositeConstruct 140 141 142 21 - 144: 6(float) CompositeExtract 143 3 - 145: 6(float) ImageSampleDrefExplicitLod 139 143 144 Lod 24 - Store 131(r54) 145 - 153: 152(ptr) AccessChain 148(psout) 149 - Store 153 151 - 155: 7(ptr) AccessChain 148(psout) 154 - Store 155 150 - 158: 152(ptr) AccessChain 148(psout) 149 - 159: 109(fvec4) Load 158 - Store 157(Color) 159 - 162: 7(ptr) AccessChain 148(psout) 154 - 163: 6(float) Load 162 - Store 161(Depth) 163 +162(flattenTemp): 150(ptr) Variable Function + 163:8(PS_OUTPUT) FunctionCall 10(@main() + Store 162(flattenTemp) 163 + 166: 155(ptr) AccessChain 162(flattenTemp) 152 + 167: 7(fvec4) Load 166 + Store 165(Color) 167 + 170: 12(ptr) AccessChain 162(flattenTemp) 157 + 171: 6(float) Load 170 + Store 169(Depth) 171 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 32(r02): 12(ptr) Variable Function + 45(r04): 12(ptr) Variable Function + 58(r20): 12(ptr) Variable Function + 75(r22): 12(ptr) Variable Function + 89(r24): 12(ptr) Variable Function + 103(r50): 12(ptr) Variable Function + 120(r52): 12(ptr) Variable Function + 135(r54): 12(ptr) Variable Function + 151(psout): 150(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 30: 6(float) CompositeExtract 28 1 + 31: 6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29 + Store 13(r00) 31 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 27(fvec2) CompositeConstruct 25 26 + 43: 6(float) CompositeExtract 42 1 + 44: 6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29 + Store 32(r02) 44 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 54: 53 SampledImage 50 51 + 55: 27(fvec2) CompositeConstruct 25 26 + 56: 6(float) CompositeExtract 55 1 + 57: 6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29 + Store 45(r04) 57 + 62: 59 Load 61(g_tTex2df4) + 63: 18 Load 20(g_sSamp) + 66: 65 SampledImage 62 63 + 70: 6(float) CompositeExtract 68 0 + 71: 6(float) CompositeExtract 68 1 + 72: 69(fvec3) CompositeConstruct 70 71 26 + 73: 6(float) CompositeExtract 72 2 + 74: 6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29 + Store 58(r20) 74 + 79: 76 Load 78(g_tTex2di4) + 80: 18 Load 20(g_sSamp) + 83: 82 SampledImage 79 80 + 84: 6(float) CompositeExtract 68 0 + 85: 6(float) CompositeExtract 68 1 + 86: 69(fvec3) CompositeConstruct 84 85 26 + 87: 6(float) CompositeExtract 86 2 + 88: 6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29 + Store 75(r22) 88 + 93: 90 Load 92(g_tTex2du4) + 94: 18 Load 20(g_sSamp) + 97: 96 SampledImage 93 94 + 98: 6(float) CompositeExtract 68 0 + 99: 6(float) CompositeExtract 68 1 + 100: 69(fvec3) CompositeConstruct 98 99 26 + 101: 6(float) CompositeExtract 100 2 + 102: 6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29 + Store 89(r24) 102 + 107: 104 Load 106(g_tTexcdf4) + 108: 18 Load 20(g_sSamp) + 111: 110 SampledImage 107 108 + 114: 6(float) CompositeExtract 113 0 + 115: 6(float) CompositeExtract 113 1 + 116: 6(float) CompositeExtract 113 2 + 117: 7(fvec4) CompositeConstruct 114 115 116 26 + 118: 6(float) CompositeExtract 117 3 + 119: 6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29 + Store 103(r50) 119 + 124: 121 Load 123(g_tTexcdi4) + 125: 18 Load 20(g_sSamp) + 128: 127 SampledImage 124 125 + 129: 6(float) CompositeExtract 113 0 + 130: 6(float) CompositeExtract 113 1 + 131: 6(float) CompositeExtract 113 2 + 132: 7(fvec4) CompositeConstruct 129 130 131 26 + 133: 6(float) CompositeExtract 132 3 + 134: 6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29 + Store 120(r52) 134 + 139: 136 Load 138(g_tTexcdu4) + 140: 18 Load 20(g_sSamp) + 143: 142 SampledImage 139 140 + 144: 6(float) CompositeExtract 113 0 + 145: 6(float) CompositeExtract 113 1 + 146: 6(float) CompositeExtract 113 2 + 147: 7(fvec4) CompositeConstruct 144 145 146 26 + 148: 6(float) CompositeExtract 147 3 + 149: 6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29 + Store 135(r54) 149 + 156: 155(ptr) AccessChain 151(psout) 152 + Store 156 154 + 158: 12(ptr) AccessChain 151(psout) 157 + Store 158 153 + 159:8(PS_OUTPUT) Load 151(psout) + ReturnValue 159 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 216ed419179..1bd82bebd05 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmplevelzero.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r01' (temp float) -0:42 textureLodOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r01' ( temp float) +0:42 textureLodOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -22,13 +22,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r03' (temp float) -0:43 textureLodOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r03' ( temp float) +0:43 textureLodOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -38,13 +38,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r05' (temp float) -0:44 textureLodOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r05' ( temp float) +0:44 textureLodOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -54,13 +54,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r21' (temp float) -0:47 textureLodOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r21' ( temp float) +0:47 textureLodOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -72,13 +72,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r23' (temp float) -0:48 textureLodOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r23' ( temp float) +0:48 textureLodOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -90,13 +90,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r25' (temp float) -0:49 textureLodOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r25' ( temp float) +0:49 textureLodOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -107,9 +107,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 Color: direct index for structure (temp 4-component vector of float) -0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 Color: direct index for structure ( temp 4-component vector of float) +0:62 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -117,53 +117,59 @@ gl_FragCoord origin is upper left 0:62 1.000000 0:62 1.000000 0:62 1.000000 -0:63 move second child to first child (temp float) -0:63 Depth: direct index for structure (temp float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp float) +0:63 Depth: direct index for structure ( temp float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -172,17 +178,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r01' (temp float) -0:42 textureLodOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DShadow) -0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp 2-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r01' ( temp float) +0:42 textureLodOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DShadow) +0:42 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -192,13 +198,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r03' (temp float) -0:43 textureLodOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DShadow) -0:43 'g_tTex1di4' (uniform itexture1D) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp 2-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r03' ( temp float) +0:43 textureLodOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DShadow) +0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -208,13 +214,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r05' (temp float) -0:44 textureLodOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DShadow) -0:44 'g_tTex1du4' (uniform utexture1D) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp 2-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r05' ( temp float) +0:44 textureLodOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DShadow) +0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -224,13 +230,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r21' (temp float) -0:47 textureLodOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DShadow) -0:47 'g_tTex2df4' (uniform texture2D) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp 3-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r21' ( temp float) +0:47 textureLodOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DShadow) +0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -242,13 +248,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r23' (temp float) -0:48 textureLodOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DShadow) -0:48 'g_tTex2di4' (uniform itexture2D) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp 3-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r23' ( temp float) +0:48 textureLodOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DShadow) +0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -260,13 +266,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r25' (temp float) -0:49 textureLodOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DShadow) -0:49 'g_tTex2du4' (uniform utexture2D) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp 3-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r25' ( temp float) +0:49 textureLodOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DShadow) +0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -277,9 +283,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:62 move second child to first child (temp 4-component vector of float) -0:62 Color: direct index for structure (temp 4-component vector of float) -0:62 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:62 move second child to first child ( temp 4-component vector of float) +0:62 Color: direct index for structure ( temp 4-component vector of float) +0:62 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -287,299 +293,316 @@ gl_FragCoord origin is upper left 0:62 1.000000 0:62 1.000000 0:62 1.000000 -0:63 move second child to first child (temp float) -0:63 Depth: direct index for structure (temp float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp float) +0:63 Depth: direct index for structure ( temp float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 1 (const int) 0:63 Constant: 0:63 1.000000 -0:65 Sequence -0:65 Sequence -0:65 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:65 Color: direct index for structure (temp 4-component vector of float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 0 (const int) -0:65 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:65 Depth: direct index for structure (temp float) -0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:65 Constant: -0:65 1 (const int) -0:65 Branch: Return +0:65 Branch: Return with expression +0:65 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 167 +// Id's are bound by 174 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 114 118 + EntryPoint Fragment 4 "main" 122 126 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r01" - Name 11 "g_tTex1df4" - Name 15 "g_sSamp" - Name 29 "r03" - Name 32 "g_tTex1di4" - Name 41 "r05" - Name 45 "g_tTex1du4" - Name 54 "r21" - Name 57 "g_tTex2df4" - Name 74 "r23" - Name 77 "g_tTex2di4" - Name 88 "r25" - Name 91 "g_tTex2du4" - Name 103 "PS_OUTPUT" - MemberName 103(PS_OUTPUT) 0 "Color" - MemberName 103(PS_OUTPUT) 1 "Depth" - Name 105 "psout" - Name 114 "Color" - Name 118 "Depth" - Name 124 "g_tTex3df4" - Name 127 "g_tTex3di4" - Name 130 "g_tTex3du4" - Name 133 "g_tTexcdf4" - Name 136 "g_tTexcdi4" - Name 139 "g_tTexcdu4" - Name 142 "g_tTex1df4a" - Name 145 "g_tTex1di4a" - Name 148 "g_tTex1du4a" - Name 151 "g_tTex2df4a" - Name 154 "g_tTex2di4a" - Name 157 "g_tTex2du4a" - Name 160 "g_tTexcdf4a" - Name 163 "g_tTexcdi4a" - Name 166 "g_tTexcdu4a" - Decorate 11(g_tTex1df4) DescriptorSet 0 - Decorate 11(g_tTex1df4) Binding 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 57(g_tTex2df4) DescriptorSet 0 - Decorate 77(g_tTex2di4) DescriptorSet 0 - Decorate 91(g_tTex2du4) DescriptorSet 0 - Decorate 114(Color) Location 0 - Decorate 118(Depth) BuiltIn FragDepth - Decorate 124(g_tTex3df4) DescriptorSet 0 - Decorate 127(g_tTex3di4) DescriptorSet 0 - Decorate 130(g_tTex3du4) DescriptorSet 0 - Decorate 133(g_tTexcdf4) DescriptorSet 0 - Decorate 136(g_tTexcdi4) DescriptorSet 0 - Decorate 139(g_tTexcdu4) DescriptorSet 0 - Decorate 142(g_tTex1df4a) DescriptorSet 0 - Decorate 145(g_tTex1di4a) DescriptorSet 0 - Decorate 148(g_tTex1du4a) DescriptorSet 0 - Decorate 151(g_tTex2df4a) DescriptorSet 0 - Decorate 154(g_tTex2di4a) DescriptorSet 0 - Decorate 157(g_tTex2du4a) DescriptorSet 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r01" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "r03" + Name 37 "g_tTex1di4" + Name 46 "r05" + Name 50 "g_tTex1du4" + Name 59 "r21" + Name 62 "g_tTex2df4" + Name 79 "r23" + Name 82 "g_tTex2di4" + Name 93 "r25" + Name 96 "g_tTex2du4" + Name 108 "psout" + Name 119 "flattenTemp" + Name 122 "Color" + Name 126 "Depth" + Name 131 "g_tTex3df4" + Name 134 "g_tTex3di4" + Name 137 "g_tTex3du4" + Name 140 "g_tTexcdf4" + Name 143 "g_tTexcdi4" + Name 146 "g_tTexcdu4" + Name 149 "g_tTex1df4a" + Name 152 "g_tTex1di4a" + Name 155 "g_tTex1du4a" + Name 158 "g_tTex2df4a" + Name 161 "g_tTex2di4a" + Name 164 "g_tTex2du4a" + Name 167 "g_tTexcdf4a" + Name 170 "g_tTexcdi4a" + Name 173 "g_tTexcdu4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 62(g_tTex2df4) DescriptorSet 0 + Decorate 82(g_tTex2di4) DescriptorSet 0 + Decorate 96(g_tTex2du4) DescriptorSet 0 + Decorate 122(Color) Location 0 + Decorate 126(Depth) BuiltIn FragDepth + Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 134(g_tTex3di4) DescriptorSet 0 + Decorate 137(g_tTex3du4) DescriptorSet 0 + Decorate 140(g_tTexcdf4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 149(g_tTex1df4a) DescriptorSet 0 + Decorate 152(g_tTex1di4a) DescriptorSet 0 + Decorate 155(g_tTex1du4a) DescriptorSet 0 + Decorate 158(g_tTex2df4a) DescriptorSet 0 + Decorate 161(g_tTex2di4a) DescriptorSet 0 + Decorate 164(g_tTex2du4a) DescriptorSet 0 + Decorate 167(g_tTexcdf4a) DescriptorSet 0 + Decorate 170(g_tTexcdi4a) DescriptorSet 0 + Decorate 173(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth sampled format:Unknown - 18: TypeSampledImage 17 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeVector 6(float) 2 - 24: 6(float) Constant 0 - 25: TypeInt 32 1 - 26: 25(int) Constant 2 - 30: TypeImage 25(int) 1D sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4): 31(ptr) Variable UniformConstant - 35: TypeImage 25(int) 1D depth sampled format:Unknown - 36: TypeSampledImage 35 - 42: TypeInt 32 0 - 43: TypeImage 42(int) 1D sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeImage 42(int) 1D depth sampled format:Unknown - 49: TypeSampledImage 48 - 55: TypeImage 6(float) 2D sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4): 56(ptr) Variable UniformConstant - 60: TypeImage 6(float) 2D depth sampled format:Unknown - 61: TypeSampledImage 60 - 63: 6(float) Constant 1045220557 - 64: 22(fvec2) ConstantComposite 20 63 - 65: TypeVector 6(float) 3 - 69: TypeVector 25(int) 2 - 70: 25(int) Constant 3 - 71: 69(ivec2) ConstantComposite 26 70 - 75: TypeImage 25(int) 2D sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4): 76(ptr) Variable UniformConstant - 80: TypeImage 25(int) 2D depth sampled format:Unknown - 81: TypeSampledImage 80 - 89: TypeImage 42(int) 2D sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex2du4): 90(ptr) Variable UniformConstant - 94: TypeImage 42(int) 2D depth sampled format:Unknown - 95: TypeSampledImage 94 - 102: TypeVector 6(float) 4 - 103(PS_OUTPUT): TypeStruct 102(fvec4) 6(float) - 104: TypePointer Function 103(PS_OUTPUT) - 106: 25(int) Constant 0 - 107: 6(float) Constant 1065353216 - 108: 102(fvec4) ConstantComposite 107 107 107 107 - 109: TypePointer Function 102(fvec4) - 111: 25(int) Constant 1 - 113: TypePointer Output 102(fvec4) - 114(Color): 113(ptr) Variable Output - 117: TypePointer Output 6(float) - 118(Depth): 117(ptr) Variable Output - 122: TypeImage 6(float) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3df4): 123(ptr) Variable UniformConstant - 125: TypeImage 25(int) 3D sampled format:Unknown - 126: TypePointer UniformConstant 125 - 127(g_tTex3di4): 126(ptr) Variable UniformConstant - 128: TypeImage 42(int) 3D sampled format:Unknown - 129: TypePointer UniformConstant 128 - 130(g_tTex3du4): 129(ptr) Variable UniformConstant - 131: TypeImage 6(float) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdf4): 132(ptr) Variable UniformConstant - 134: TypeImage 25(int) Cube sampled format:Unknown - 135: TypePointer UniformConstant 134 - 136(g_tTexcdi4): 135(ptr) Variable UniformConstant - 137: TypeImage 42(int) Cube sampled format:Unknown - 138: TypePointer UniformConstant 137 - 139(g_tTexcdu4): 138(ptr) Variable UniformConstant - 140: TypeImage 6(float) 1D array sampled format:Unknown - 141: TypePointer UniformConstant 140 -142(g_tTex1df4a): 141(ptr) Variable UniformConstant - 143: TypeImage 25(int) 1D array sampled format:Unknown - 144: TypePointer UniformConstant 143 -145(g_tTex1di4a): 144(ptr) Variable UniformConstant - 146: TypeImage 42(int) 1D array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTex1du4a): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) 2D array sampled format:Unknown - 150: TypePointer UniformConstant 149 -151(g_tTex2df4a): 150(ptr) Variable UniformConstant - 152: TypeImage 25(int) 2D array sampled format:Unknown - 153: TypePointer UniformConstant 152 -154(g_tTex2di4a): 153(ptr) Variable UniformConstant - 155: TypeImage 42(int) 2D array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTex2du4a): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTexcdf4a): 159(ptr) Variable UniformConstant - 161: TypeImage 25(int) Cube array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTexcdi4a): 162(ptr) Variable UniformConstant - 164: TypeImage 42(int) Cube array sampled format:Unknown - 165: TypePointer UniformConstant 164 -166(g_tTexcdu4a): 165(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth sampled format:Unknown + 23: TypeSampledImage 22 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1061158912 + 27: TypeVector 6(float) 2 + 29: 6(float) Constant 0 + 30: TypeInt 32 1 + 31: 30(int) Constant 2 + 35: TypeImage 30(int) 1D sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeImage 30(int) 1D depth sampled format:Unknown + 41: TypeSampledImage 40 + 47: TypeInt 32 0 + 48: TypeImage 47(int) 1D sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeImage 47(int) 1D depth sampled format:Unknown + 54: TypeSampledImage 53 + 60: TypeImage 6(float) 2D sampled format:Unknown + 61: TypePointer UniformConstant 60 + 62(g_tTex2df4): 61(ptr) Variable UniformConstant + 65: TypeImage 6(float) 2D depth sampled format:Unknown + 66: TypeSampledImage 65 + 68: 6(float) Constant 1045220557 + 69: 27(fvec2) ConstantComposite 25 68 + 70: TypeVector 6(float) 3 + 74: TypeVector 30(int) 2 + 75: 30(int) Constant 3 + 76: 74(ivec2) ConstantComposite 31 75 + 80: TypeImage 30(int) 2D sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2di4): 81(ptr) Variable UniformConstant + 85: TypeImage 30(int) 2D depth sampled format:Unknown + 86: TypeSampledImage 85 + 94: TypeImage 47(int) 2D sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex2du4): 95(ptr) Variable UniformConstant + 99: TypeImage 47(int) 2D depth sampled format:Unknown + 100: TypeSampledImage 99 + 107: TypePointer Function 8(PS_OUTPUT) + 109: 30(int) Constant 0 + 110: 6(float) Constant 1065353216 + 111: 7(fvec4) ConstantComposite 110 110 110 110 + 112: TypePointer Function 7(fvec4) + 114: 30(int) Constant 1 + 121: TypePointer Output 7(fvec4) + 122(Color): 121(ptr) Variable Output + 125: TypePointer Output 6(float) + 126(Depth): 125(ptr) Variable Output + 129: TypeImage 6(float) 3D sampled format:Unknown + 130: TypePointer UniformConstant 129 + 131(g_tTex3df4): 130(ptr) Variable UniformConstant + 132: TypeImage 30(int) 3D sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTex3di4): 133(ptr) Variable UniformConstant + 135: TypeImage 47(int) 3D sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTex3du4): 136(ptr) Variable UniformConstant + 138: TypeImage 6(float) Cube sampled format:Unknown + 139: TypePointer UniformConstant 138 + 140(g_tTexcdf4): 139(ptr) Variable UniformConstant + 141: TypeImage 30(int) Cube sampled format:Unknown + 142: TypePointer UniformConstant 141 + 143(g_tTexcdi4): 142(ptr) Variable UniformConstant + 144: TypeImage 47(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 147: TypeImage 6(float) 1D array sampled format:Unknown + 148: TypePointer UniformConstant 147 +149(g_tTex1df4a): 148(ptr) Variable UniformConstant + 150: TypeImage 30(int) 1D array sampled format:Unknown + 151: TypePointer UniformConstant 150 +152(g_tTex1di4a): 151(ptr) Variable UniformConstant + 153: TypeImage 47(int) 1D array sampled format:Unknown + 154: TypePointer UniformConstant 153 +155(g_tTex1du4a): 154(ptr) Variable UniformConstant + 156: TypeImage 6(float) 2D array sampled format:Unknown + 157: TypePointer UniformConstant 156 +158(g_tTex2df4a): 157(ptr) Variable UniformConstant + 159: TypeImage 30(int) 2D array sampled format:Unknown + 160: TypePointer UniformConstant 159 +161(g_tTex2di4a): 160(ptr) Variable UniformConstant + 162: TypeImage 47(int) 2D array sampled format:Unknown + 163: TypePointer UniformConstant 162 +164(g_tTex2du4a): 163(ptr) Variable UniformConstant + 165: TypeImage 6(float) Cube array sampled format:Unknown + 166: TypePointer UniformConstant 165 +167(g_tTexcdf4a): 166(ptr) Variable UniformConstant + 168: TypeImage 30(int) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdi4a): 169(ptr) Variable UniformConstant + 171: TypeImage 47(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdu4a): 172(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r01): 7(ptr) Variable Function - 29(r03): 7(ptr) Variable Function - 41(r05): 7(ptr) Variable Function - 54(r21): 7(ptr) Variable Function - 74(r23): 7(ptr) Variable Function - 88(r25): 7(ptr) Variable Function - 105(psout): 104(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 23: 22(fvec2) CompositeConstruct 20 21 - 27: 6(float) CompositeExtract 23 1 - 28: 6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26 - Store 8(r01) 28 - 33: 30 Load 32(g_tTex1di4) - 34: 13 Load 15(g_sSamp) - 37: 36 SampledImage 33 34 - 38: 22(fvec2) CompositeConstruct 20 21 - 39: 6(float) CompositeExtract 38 1 - 40: 6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26 - Store 29(r03) 40 - 46: 43 Load 45(g_tTex1du4) - 47: 13 Load 15(g_sSamp) - 50: 49 SampledImage 46 47 - 51: 22(fvec2) CompositeConstruct 20 21 - 52: 6(float) CompositeExtract 51 1 - 53: 6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26 - Store 41(r05) 53 - 58: 55 Load 57(g_tTex2df4) - 59: 13 Load 15(g_sSamp) - 62: 61 SampledImage 58 59 - 66: 6(float) CompositeExtract 64 0 - 67: 6(float) CompositeExtract 64 1 - 68: 65(fvec3) CompositeConstruct 66 67 21 - 72: 6(float) CompositeExtract 68 2 - 73: 6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71 - Store 54(r21) 73 - 78: 75 Load 77(g_tTex2di4) - 79: 13 Load 15(g_sSamp) - 82: 81 SampledImage 78 79 - 83: 6(float) CompositeExtract 64 0 - 84: 6(float) CompositeExtract 64 1 - 85: 65(fvec3) CompositeConstruct 83 84 21 - 86: 6(float) CompositeExtract 85 2 - 87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71 - Store 74(r23) 87 - 92: 89 Load 91(g_tTex2du4) - 93: 13 Load 15(g_sSamp) - 96: 95 SampledImage 92 93 - 97: 6(float) CompositeExtract 64 0 - 98: 6(float) CompositeExtract 64 1 - 99: 65(fvec3) CompositeConstruct 97 98 21 - 100: 6(float) CompositeExtract 99 2 - 101: 6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71 - Store 88(r25) 101 - 110: 109(ptr) AccessChain 105(psout) 106 - Store 110 108 - 112: 7(ptr) AccessChain 105(psout) 111 - Store 112 107 - 115: 109(ptr) AccessChain 105(psout) 106 - 116: 102(fvec4) Load 115 - Store 114(Color) 116 - 119: 7(ptr) AccessChain 105(psout) 111 - 120: 6(float) Load 119 - Store 118(Depth) 120 +119(flattenTemp): 107(ptr) Variable Function + 120:8(PS_OUTPUT) FunctionCall 10(@main() + Store 119(flattenTemp) 120 + 123: 112(ptr) AccessChain 119(flattenTemp) 109 + 124: 7(fvec4) Load 123 + Store 122(Color) 124 + 127: 12(ptr) AccessChain 119(flattenTemp) 114 + 128: 6(float) Load 127 + Store 126(Depth) 128 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r01): 12(ptr) Variable Function + 34(r03): 12(ptr) Variable Function + 46(r05): 12(ptr) Variable Function + 59(r21): 12(ptr) Variable Function + 79(r23): 12(ptr) Variable Function + 93(r25): 12(ptr) Variable Function + 108(psout): 107(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 28: 27(fvec2) CompositeConstruct 25 26 + 32: 6(float) CompositeExtract 28 1 + 33: 6(float) ImageSampleDrefExplicitLod 24 28 32 Lod ConstOffset 29 31 + Store 13(r01) 33 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 42: 41 SampledImage 38 39 + 43: 27(fvec2) CompositeConstruct 25 26 + 44: 6(float) CompositeExtract 43 1 + 45: 6(float) ImageSampleDrefExplicitLod 42 43 44 Lod ConstOffset 29 31 + Store 34(r03) 45 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 55: 54 SampledImage 51 52 + 56: 27(fvec2) CompositeConstruct 25 26 + 57: 6(float) CompositeExtract 56 1 + 58: 6(float) ImageSampleDrefExplicitLod 55 56 57 Lod ConstOffset 29 31 + Store 46(r05) 58 + 63: 60 Load 62(g_tTex2df4) + 64: 18 Load 20(g_sSamp) + 67: 66 SampledImage 63 64 + 71: 6(float) CompositeExtract 69 0 + 72: 6(float) CompositeExtract 69 1 + 73: 70(fvec3) CompositeConstruct 71 72 26 + 77: 6(float) CompositeExtract 73 2 + 78: 6(float) ImageSampleDrefExplicitLod 67 73 77 Lod ConstOffset 29 76 + Store 59(r21) 78 + 83: 80 Load 82(g_tTex2di4) + 84: 18 Load 20(g_sSamp) + 87: 86 SampledImage 83 84 + 88: 6(float) CompositeExtract 69 0 + 89: 6(float) CompositeExtract 69 1 + 90: 70(fvec3) CompositeConstruct 88 89 26 + 91: 6(float) CompositeExtract 90 2 + 92: 6(float) ImageSampleDrefExplicitLod 87 90 91 Lod ConstOffset 29 76 + Store 79(r23) 92 + 97: 94 Load 96(g_tTex2du4) + 98: 18 Load 20(g_sSamp) + 101: 100 SampledImage 97 98 + 102: 6(float) CompositeExtract 69 0 + 103: 6(float) CompositeExtract 69 1 + 104: 70(fvec3) CompositeConstruct 102 103 26 + 105: 6(float) CompositeExtract 104 2 + 106: 6(float) ImageSampleDrefExplicitLod 101 104 105 Lod ConstOffset 29 76 + Store 93(r25) 106 + 113: 112(ptr) AccessChain 108(psout) 109 + Store 113 111 + 115: 12(ptr) AccessChain 108(psout) 114 + Store 115 110 + 116:8(PS_OUTPUT) Load 108(psout) + ReturnValue 116 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 2e5f3cda46c..8a87e9b0d55 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -2,17 +2,17 @@ hlsl.samplecmplevelzero.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r11' (temp float) -0:42 textureLodOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r11' ( temp float) +0:42 textureLodOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -23,13 +23,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r13' (temp float) -0:43 textureLodOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r13' ( temp float) +0:43 textureLodOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -40,13 +40,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r15' (temp float) -0:44 textureLodOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r15' ( temp float) +0:44 textureLodOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -57,13 +57,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r31' (temp float) -0:47 textureLodOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r31' ( temp float) +0:47 textureLodOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -76,13 +76,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r33' (temp float) -0:48 textureLodOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r33' ( temp float) +0:48 textureLodOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,13 +95,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r35' (temp float) -0:49 textureLodOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r35' ( temp float) +0:49 textureLodOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -113,9 +113,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:63 move second child to first child (temp 4-component vector of float) -0:63 Color: direct index for structure (temp 4-component vector of float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 Color: direct index for structure ( temp 4-component vector of float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: @@ -123,53 +123,59 @@ gl_FragCoord origin is upper left 0:63 1.000000 0:63 1.000000 0:63 1.000000 -0:64 move second child to first child (temp float) -0:64 Depth: direct index for structure (temp float) -0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:64 move second child to first child ( temp float) +0:64 Depth: direct index for structure ( temp float) +0:64 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:64 Constant: 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -178,17 +184,17 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:38 Function Parameters: 0:? Sequence 0:42 Sequence -0:42 move second child to first child (temp float) -0:42 'r11' (temp float) -0:42 textureLodOffset (temp float) -0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' (uniform texture1DArray) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp 3-component vector of float) +0:42 move second child to first child ( temp float) +0:42 'r11' ( temp float) +0:42 textureLodOffset ( temp float) +0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) +0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) +0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -199,13 +205,13 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 2 (const int) 0:43 Sequence -0:43 move second child to first child (temp float) -0:43 'r13' (temp float) -0:43 textureLodOffset (temp float) -0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' (uniform itexture1DArray) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp 3-component vector of float) +0:43 move second child to first child ( temp float) +0:43 'r13' ( temp float) +0:43 textureLodOffset ( temp float) +0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) +0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) +0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -216,13 +222,13 @@ gl_FragCoord origin is upper left 0:43 Constant: 0:43 2 (const int) 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 'r15' (temp float) -0:44 textureLodOffset (temp float) -0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' (uniform utexture1DArray) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp 3-component vector of float) +0:44 move second child to first child ( temp float) +0:44 'r15' ( temp float) +0:44 textureLodOffset ( temp float) +0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) +0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) +0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -233,13 +239,13 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 2 (const int) 0:47 Sequence -0:47 move second child to first child (temp float) -0:47 'r31' (temp float) -0:47 textureLodOffset (temp float) -0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' (uniform texture2DArray) -0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp 4-component vector of float) +0:47 move second child to first child ( temp float) +0:47 'r31' ( temp float) +0:47 textureLodOffset ( temp float) +0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) +0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_sSamp' (layout( binding=0) uniform sampler) +0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -252,13 +258,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 'r33' (temp float) -0:48 textureLodOffset (temp float) -0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' (uniform itexture2DArray) -0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp 4-component vector of float) +0:48 move second child to first child ( temp float) +0:48 'r33' ( temp float) +0:48 textureLodOffset ( temp float) +0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) +0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_sSamp' (layout( binding=0) uniform sampler) +0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -271,13 +277,13 @@ gl_FragCoord origin is upper left 0:? 2 (const int) 0:? 3 (const int) 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 'r35' (temp float) -0:49 textureLodOffset (temp float) -0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' (uniform utexture2DArray) -0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 'r35' ( temp float) +0:49 textureLodOffset ( temp float) +0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) +0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_sSamp' (layout( binding=0) uniform sampler) +0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -289,9 +295,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 2 (const int) 0:? 3 (const int) -0:63 move second child to first child (temp 4-component vector of float) -0:63 Color: direct index for structure (temp 4-component vector of float) -0:63 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:63 move second child to first child ( temp 4-component vector of float) +0:63 Color: direct index for structure ( temp 4-component vector of float) +0:63 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: @@ -299,310 +305,327 @@ gl_FragCoord origin is upper left 0:63 1.000000 0:63 1.000000 0:63 1.000000 -0:64 move second child to first child (temp float) -0:64 Depth: direct index for structure (temp float) -0:64 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:64 move second child to first child ( temp float) +0:64 Depth: direct index for structure ( temp float) +0:64 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:64 Constant: 0:64 1 (const int) 0:64 Constant: 0:64 1.000000 -0:66 Sequence -0:66 Sequence -0:66 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:66 Color: direct index for structure (temp 4-component vector of float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 0 (const int) -0:66 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:66 Depth: direct index for structure (temp float) -0:66 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:66 Constant: -0:66 1 (const int) -0:66 Branch: Return +0:66 Branch: Return with expression +0:66 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Definition: main( ( temp void) +0:38 Function Parameters: +0:? Sequence +0:38 Sequence +0:38 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:38 Color: direct index for structure ( temp 4-component vector of float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 0 (const int) +0:38 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:38 Depth: direct index for structure ( temp float) +0:38 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:38 Constant: +0:38 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 178 +// Id's are bound by 185 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 125 129 + EntryPoint Fragment 4 "main" 133 137 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r11" - Name 11 "g_tTex1df4a" - Name 15 "g_sSamp" - Name 34 "r13" - Name 37 "g_tTex1di4a" - Name 48 "r15" - Name 52 "g_tTex1du4a" - Name 63 "r31" - Name 66 "g_tTex2df4a" - Name 84 "r33" - Name 87 "g_tTex2di4a" - Name 99 "r35" - Name 102 "g_tTex2du4a" - Name 114 "PS_OUTPUT" - MemberName 114(PS_OUTPUT) 0 "Color" - MemberName 114(PS_OUTPUT) 1 "Depth" - Name 116 "psout" - Name 125 "Color" - Name 129 "Depth" - Name 135 "g_tTex1df4" - Name 138 "g_tTex1di4" - Name 141 "g_tTex1du4" - Name 144 "g_tTex2df4" - Name 147 "g_tTex2di4" - Name 150 "g_tTex2du4" - Name 153 "g_tTex3df4" - Name 156 "g_tTex3di4" - Name 159 "g_tTex3du4" - Name 162 "g_tTexcdf4" - Name 165 "g_tTexcdi4" - Name 168 "g_tTexcdu4" - Name 171 "g_tTexcdf4a" - Name 174 "g_tTexcdi4a" - Name 177 "g_tTexcdu4a" - Decorate 11(g_tTex1df4a) DescriptorSet 0 - Decorate 15(g_sSamp) DescriptorSet 0 - Decorate 15(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4a) DescriptorSet 0 - Decorate 52(g_tTex1du4a) DescriptorSet 0 - Decorate 66(g_tTex2df4a) DescriptorSet 0 - Decorate 87(g_tTex2di4a) DescriptorSet 0 - Decorate 102(g_tTex2du4a) DescriptorSet 0 - Decorate 125(Color) Location 0 - Decorate 129(Depth) BuiltIn FragDepth - Decorate 135(g_tTex1df4) DescriptorSet 0 - Decorate 135(g_tTex1df4) Binding 0 - Decorate 138(g_tTex1di4) DescriptorSet 0 - Decorate 141(g_tTex1du4) DescriptorSet 0 - Decorate 144(g_tTex2df4) DescriptorSet 0 - Decorate 147(g_tTex2di4) DescriptorSet 0 - Decorate 150(g_tTex2du4) DescriptorSet 0 - Decorate 153(g_tTex3df4) DescriptorSet 0 - Decorate 156(g_tTex3di4) DescriptorSet 0 - Decorate 159(g_tTex3du4) DescriptorSet 0 - Decorate 162(g_tTexcdf4) DescriptorSet 0 - Decorate 165(g_tTexcdi4) DescriptorSet 0 - Decorate 168(g_tTexcdu4) DescriptorSet 0 - Decorate 171(g_tTexcdf4a) DescriptorSet 0 - Decorate 174(g_tTexcdi4a) DescriptorSet 0 - Decorate 177(g_tTexcdu4a) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "r11" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 39 "r13" + Name 42 "g_tTex1di4a" + Name 53 "r15" + Name 57 "g_tTex1du4a" + Name 68 "r31" + Name 71 "g_tTex2df4a" + Name 88 "r33" + Name 91 "g_tTex2di4a" + Name 103 "r35" + Name 106 "g_tTex2du4a" + Name 119 "psout" + Name 130 "flattenTemp" + Name 133 "Color" + Name 137 "Depth" + Name 142 "g_tTex1df4" + Name 145 "g_tTex1di4" + Name 148 "g_tTex1du4" + Name 151 "g_tTex2df4" + Name 154 "g_tTex2di4" + Name 157 "g_tTex2du4" + Name 160 "g_tTex3df4" + Name 163 "g_tTex3di4" + Name 166 "g_tTex3du4" + Name 169 "g_tTexcdf4" + Name 172 "g_tTexcdi4" + Name 175 "g_tTexcdu4" + Name 178 "g_tTexcdf4a" + Name 181 "g_tTexcdi4a" + Name 184 "g_tTexcdu4a" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 42(g_tTex1di4a) DescriptorSet 0 + Decorate 57(g_tTex1du4a) DescriptorSet 0 + Decorate 71(g_tTex2df4a) DescriptorSet 0 + Decorate 91(g_tTex2di4a) DescriptorSet 0 + Decorate 106(g_tTex2du4a) DescriptorSet 0 + Decorate 133(Color) Location 0 + Decorate 137(Depth) BuiltIn FragDepth + Decorate 142(g_tTex1df4) DescriptorSet 0 + Decorate 142(g_tTex1df4) Binding 0 + Decorate 145(g_tTex1di4) DescriptorSet 0 + Decorate 148(g_tTex1du4) DescriptorSet 0 + Decorate 151(g_tTex2df4) DescriptorSet 0 + Decorate 154(g_tTex2di4) DescriptorSet 0 + Decorate 157(g_tTex2du4) DescriptorSet 0 + Decorate 160(g_tTex3df4) DescriptorSet 0 + Decorate 163(g_tTex3di4) DescriptorSet 0 + Decorate 166(g_tTex3du4) DescriptorSet 0 + Decorate 169(g_tTexcdf4) DescriptorSet 0 + Decorate 172(g_tTexcdi4) DescriptorSet 0 + Decorate 175(g_tTexcdu4) DescriptorSet 0 + Decorate 178(g_tTexcdf4a) DescriptorSet 0 + Decorate 181(g_tTexcdi4a) DescriptorSet 0 + Decorate 184(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D array sampled format:Unknown - 10: TypePointer UniformConstant 9 - 11(g_tTex1df4a): 10(ptr) Variable UniformConstant - 13: TypeSampler - 14: TypePointer UniformConstant 13 - 15(g_sSamp): 14(ptr) Variable UniformConstant - 17: TypeImage 6(float) 1D depth array sampled format:Unknown - 18: TypeSampledImage 17 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeVector 6(float) 3 - 29: 6(float) Constant 0 - 30: TypeInt 32 1 - 31: 30(int) Constant 2 - 35: TypeImage 30(int) 1D array sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex1di4a): 36(ptr) Variable UniformConstant - 40: TypeImage 30(int) 1D depth array sampled format:Unknown - 41: TypeSampledImage 40 - 49: TypeInt 32 0 - 50: TypeImage 49(int) 1D array sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex1du4a): 51(ptr) Variable UniformConstant - 55: TypeImage 49(int) 1D depth array sampled format:Unknown - 56: TypeSampledImage 55 - 64: TypeImage 6(float) 2D array sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2df4a): 65(ptr) Variable UniformConstant - 69: TypeImage 6(float) 2D depth array sampled format:Unknown - 70: TypeSampledImage 69 - 72: 6(float) Constant 1050253722 - 73: 25(fvec3) ConstantComposite 21 22 72 - 74: TypeVector 6(float) 4 - 79: TypeVector 30(int) 2 - 80: 30(int) Constant 3 - 81: 79(ivec2) ConstantComposite 31 80 - 85: TypeImage 30(int) 2D array sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex2di4a): 86(ptr) Variable UniformConstant - 90: TypeImage 30(int) 2D depth array sampled format:Unknown - 91: TypeSampledImage 90 - 100: TypeImage 49(int) 2D array sampled format:Unknown - 101: TypePointer UniformConstant 100 -102(g_tTex2du4a): 101(ptr) Variable UniformConstant - 105: TypeImage 49(int) 2D depth array sampled format:Unknown - 106: TypeSampledImage 105 - 114(PS_OUTPUT): TypeStruct 74(fvec4) 6(float) - 115: TypePointer Function 114(PS_OUTPUT) - 117: 30(int) Constant 0 - 118: 6(float) Constant 1065353216 - 119: 74(fvec4) ConstantComposite 118 118 118 118 - 120: TypePointer Function 74(fvec4) - 122: 30(int) Constant 1 - 124: TypePointer Output 74(fvec4) - 125(Color): 124(ptr) Variable Output - 128: TypePointer Output 6(float) - 129(Depth): 128(ptr) Variable Output - 133: TypeImage 6(float) 1D sampled format:Unknown - 134: TypePointer UniformConstant 133 - 135(g_tTex1df4): 134(ptr) Variable UniformConstant - 136: TypeImage 30(int) 1D sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTex1di4): 137(ptr) Variable UniformConstant - 139: TypeImage 49(int) 1D sampled format:Unknown - 140: TypePointer UniformConstant 139 - 141(g_tTex1du4): 140(ptr) Variable UniformConstant - 142: TypeImage 6(float) 2D sampled format:Unknown - 143: TypePointer UniformConstant 142 - 144(g_tTex2df4): 143(ptr) Variable UniformConstant - 145: TypeImage 30(int) 2D sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTex2di4): 146(ptr) Variable UniformConstant - 148: TypeImage 49(int) 2D sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTex2du4): 149(ptr) Variable UniformConstant - 151: TypeImage 6(float) 3D sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTex3df4): 152(ptr) Variable UniformConstant - 154: TypeImage 30(int) 3D sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTex3di4): 155(ptr) Variable UniformConstant - 157: TypeImage 49(int) 3D sampled format:Unknown - 158: TypePointer UniformConstant 157 - 159(g_tTex3du4): 158(ptr) Variable UniformConstant - 160: TypeImage 6(float) Cube sampled format:Unknown - 161: TypePointer UniformConstant 160 - 162(g_tTexcdf4): 161(ptr) Variable UniformConstant - 163: TypeImage 30(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTexcdi4): 164(ptr) Variable UniformConstant - 166: TypeImage 49(int) Cube sampled format:Unknown - 167: TypePointer UniformConstant 166 - 168(g_tTexcdu4): 167(ptr) Variable UniformConstant - 169: TypeImage 6(float) Cube array sampled format:Unknown - 170: TypePointer UniformConstant 169 -171(g_tTexcdf4a): 170(ptr) Variable UniformConstant - 172: TypeImage 30(int) Cube array sampled format:Unknown - 173: TypePointer UniformConstant 172 -174(g_tTexcdi4a): 173(ptr) Variable UniformConstant - 175: TypeImage 49(int) Cube array sampled format:Unknown - 176: TypePointer UniformConstant 175 -177(g_tTexcdu4a): 176(ptr) Variable UniformConstant + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D array sampled format:Unknown + 15: TypePointer UniformConstant 14 + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeImage 6(float) 1D depth array sampled format:Unknown + 23: TypeSampledImage 22 + 25: TypeVector 6(float) 2 + 26: 6(float) Constant 1036831949 + 27: 6(float) Constant 1045220557 + 28: 25(fvec2) ConstantComposite 26 27 + 29: 6(float) Constant 1061158912 + 30: TypeVector 6(float) 3 + 34: 6(float) Constant 0 + 35: TypeInt 32 1 + 36: 35(int) Constant 2 + 40: TypeImage 35(int) 1D array sampled format:Unknown + 41: TypePointer UniformConstant 40 + 42(g_tTex1di4a): 41(ptr) Variable UniformConstant + 45: TypeImage 35(int) 1D depth array sampled format:Unknown + 46: TypeSampledImage 45 + 54: TypeInt 32 0 + 55: TypeImage 54(int) 1D array sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex1du4a): 56(ptr) Variable UniformConstant + 60: TypeImage 54(int) 1D depth array sampled format:Unknown + 61: TypeSampledImage 60 + 69: TypeImage 6(float) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2df4a): 70(ptr) Variable UniformConstant + 74: TypeImage 6(float) 2D depth array sampled format:Unknown + 75: TypeSampledImage 74 + 77: 6(float) Constant 1050253722 + 78: 30(fvec3) ConstantComposite 26 27 77 + 83: TypeVector 35(int) 2 + 84: 35(int) Constant 3 + 85: 83(ivec2) ConstantComposite 36 84 + 89: TypeImage 35(int) 2D array sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2di4a): 90(ptr) Variable UniformConstant + 94: TypeImage 35(int) 2D depth array sampled format:Unknown + 95: TypeSampledImage 94 + 104: TypeImage 54(int) 2D array sampled format:Unknown + 105: TypePointer UniformConstant 104 +106(g_tTex2du4a): 105(ptr) Variable UniformConstant + 109: TypeImage 54(int) 2D depth array sampled format:Unknown + 110: TypeSampledImage 109 + 118: TypePointer Function 8(PS_OUTPUT) + 120: 35(int) Constant 0 + 121: 6(float) Constant 1065353216 + 122: 7(fvec4) ConstantComposite 121 121 121 121 + 123: TypePointer Function 7(fvec4) + 125: 35(int) Constant 1 + 132: TypePointer Output 7(fvec4) + 133(Color): 132(ptr) Variable Output + 136: TypePointer Output 6(float) + 137(Depth): 136(ptr) Variable Output + 140: TypeImage 6(float) 1D sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTex1df4): 141(ptr) Variable UniformConstant + 143: TypeImage 35(int) 1D sampled format:Unknown + 144: TypePointer UniformConstant 143 + 145(g_tTex1di4): 144(ptr) Variable UniformConstant + 146: TypeImage 54(int) 1D sampled format:Unknown + 147: TypePointer UniformConstant 146 + 148(g_tTex1du4): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) 2D sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTex2df4): 150(ptr) Variable UniformConstant + 152: TypeImage 35(int) 2D sampled format:Unknown + 153: TypePointer UniformConstant 152 + 154(g_tTex2di4): 153(ptr) Variable UniformConstant + 155: TypeImage 54(int) 2D sampled format:Unknown + 156: TypePointer UniformConstant 155 + 157(g_tTex2du4): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) 3D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex3df4): 159(ptr) Variable UniformConstant + 161: TypeImage 35(int) 3D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex3di4): 162(ptr) Variable UniformConstant + 164: TypeImage 54(int) 3D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex3du4): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTexcdf4): 168(ptr) Variable UniformConstant + 170: TypeImage 35(int) Cube sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTexcdi4): 171(ptr) Variable UniformConstant + 173: TypeImage 54(int) Cube sampled format:Unknown + 174: TypePointer UniformConstant 173 + 175(g_tTexcdu4): 174(ptr) Variable UniformConstant + 176: TypeImage 6(float) Cube array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTexcdf4a): 177(ptr) Variable UniformConstant + 179: TypeImage 35(int) Cube array sampled format:Unknown + 180: TypePointer UniformConstant 179 +181(g_tTexcdi4a): 180(ptr) Variable UniformConstant + 182: TypeImage 54(int) Cube array sampled format:Unknown + 183: TypePointer UniformConstant 182 +184(g_tTexcdu4a): 183(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 8(r11): 7(ptr) Variable Function - 34(r13): 7(ptr) Variable Function - 48(r15): 7(ptr) Variable Function - 63(r31): 7(ptr) Variable Function - 84(r33): 7(ptr) Variable Function - 99(r35): 7(ptr) Variable Function - 116(psout): 115(ptr) Variable Function - 12: 9 Load 11(g_tTex1df4a) - 16: 13 Load 15(g_sSamp) - 19: 18 SampledImage 12 16 - 26: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 23 1 - 28: 25(fvec3) CompositeConstruct 26 27 24 - 32: 6(float) CompositeExtract 28 2 - 33: 6(float) ImageSampleDrefExplicitLod 19 28 32 Lod ConstOffset 29 31 - Store 8(r11) 33 - 38: 35 Load 37(g_tTex1di4a) - 39: 13 Load 15(g_sSamp) - 42: 41 SampledImage 38 39 - 43: 6(float) CompositeExtract 23 0 - 44: 6(float) CompositeExtract 23 1 - 45: 25(fvec3) CompositeConstruct 43 44 24 - 46: 6(float) CompositeExtract 45 2 - 47: 6(float) ImageSampleDrefExplicitLod 42 45 46 Lod ConstOffset 29 31 - Store 34(r13) 47 - 53: 50 Load 52(g_tTex1du4a) - 54: 13 Load 15(g_sSamp) - 57: 56 SampledImage 53 54 - 58: 6(float) CompositeExtract 23 0 - 59: 6(float) CompositeExtract 23 1 - 60: 25(fvec3) CompositeConstruct 58 59 24 - 61: 6(float) CompositeExtract 60 2 - 62: 6(float) ImageSampleDrefExplicitLod 57 60 61 Lod ConstOffset 29 31 - Store 48(r15) 62 - 67: 64 Load 66(g_tTex2df4a) - 68: 13 Load 15(g_sSamp) - 71: 70 SampledImage 67 68 - 75: 6(float) CompositeExtract 73 0 - 76: 6(float) CompositeExtract 73 1 - 77: 6(float) CompositeExtract 73 2 - 78: 74(fvec4) CompositeConstruct 75 76 77 24 - 82: 6(float) CompositeExtract 78 3 - 83: 6(float) ImageSampleDrefExplicitLod 71 78 82 Lod ConstOffset 29 81 - Store 63(r31) 83 - 88: 85 Load 87(g_tTex2di4a) - 89: 13 Load 15(g_sSamp) - 92: 91 SampledImage 88 89 - 93: 6(float) CompositeExtract 73 0 - 94: 6(float) CompositeExtract 73 1 - 95: 6(float) CompositeExtract 73 2 - 96: 74(fvec4) CompositeConstruct 93 94 95 24 - 97: 6(float) CompositeExtract 96 3 - 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod ConstOffset 29 81 - Store 84(r33) 98 - 103: 100 Load 102(g_tTex2du4a) - 104: 13 Load 15(g_sSamp) - 107: 106 SampledImage 103 104 - 108: 6(float) CompositeExtract 73 0 - 109: 6(float) CompositeExtract 73 1 - 110: 6(float) CompositeExtract 73 2 - 111: 74(fvec4) CompositeConstruct 108 109 110 24 - 112: 6(float) CompositeExtract 111 3 - 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod ConstOffset 29 81 - Store 99(r35) 113 - 121: 120(ptr) AccessChain 116(psout) 117 - Store 121 119 - 123: 7(ptr) AccessChain 116(psout) 122 - Store 123 118 - 126: 120(ptr) AccessChain 116(psout) 117 - 127: 74(fvec4) Load 126 - Store 125(Color) 127 - 130: 7(ptr) AccessChain 116(psout) 122 - 131: 6(float) Load 130 - Store 129(Depth) 131 +130(flattenTemp): 118(ptr) Variable Function + 131:8(PS_OUTPUT) FunctionCall 10(@main() + Store 130(flattenTemp) 131 + 134: 123(ptr) AccessChain 130(flattenTemp) 120 + 135: 7(fvec4) Load 134 + Store 133(Color) 135 + 138: 12(ptr) AccessChain 130(flattenTemp) 125 + 139: 6(float) Load 138 + Store 137(Depth) 139 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r11): 12(ptr) Variable Function + 39(r13): 12(ptr) Variable Function + 53(r15): 12(ptr) Variable Function + 68(r31): 12(ptr) Variable Function + 88(r33): 12(ptr) Variable Function + 103(r35): 12(ptr) Variable Function + 119(psout): 118(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 24: 23 SampledImage 17 21 + 31: 6(float) CompositeExtract 28 0 + 32: 6(float) CompositeExtract 28 1 + 33: 30(fvec3) CompositeConstruct 31 32 29 + 37: 6(float) CompositeExtract 33 2 + 38: 6(float) ImageSampleDrefExplicitLod 24 33 37 Lod ConstOffset 34 36 + Store 13(r11) 38 + 43: 40 Load 42(g_tTex1di4a) + 44: 18 Load 20(g_sSamp) + 47: 46 SampledImage 43 44 + 48: 6(float) CompositeExtract 28 0 + 49: 6(float) CompositeExtract 28 1 + 50: 30(fvec3) CompositeConstruct 48 49 29 + 51: 6(float) CompositeExtract 50 2 + 52: 6(float) ImageSampleDrefExplicitLod 47 50 51 Lod ConstOffset 34 36 + Store 39(r13) 52 + 58: 55 Load 57(g_tTex1du4a) + 59: 18 Load 20(g_sSamp) + 62: 61 SampledImage 58 59 + 63: 6(float) CompositeExtract 28 0 + 64: 6(float) CompositeExtract 28 1 + 65: 30(fvec3) CompositeConstruct 63 64 29 + 66: 6(float) CompositeExtract 65 2 + 67: 6(float) ImageSampleDrefExplicitLod 62 65 66 Lod ConstOffset 34 36 + Store 53(r15) 67 + 72: 69 Load 71(g_tTex2df4a) + 73: 18 Load 20(g_sSamp) + 76: 75 SampledImage 72 73 + 79: 6(float) CompositeExtract 78 0 + 80: 6(float) CompositeExtract 78 1 + 81: 6(float) CompositeExtract 78 2 + 82: 7(fvec4) CompositeConstruct 79 80 81 29 + 86: 6(float) CompositeExtract 82 3 + 87: 6(float) ImageSampleDrefExplicitLod 76 82 86 Lod ConstOffset 34 85 + Store 68(r31) 87 + 92: 89 Load 91(g_tTex2di4a) + 93: 18 Load 20(g_sSamp) + 96: 95 SampledImage 92 93 + 97: 6(float) CompositeExtract 78 0 + 98: 6(float) CompositeExtract 78 1 + 99: 6(float) CompositeExtract 78 2 + 100: 7(fvec4) CompositeConstruct 97 98 99 29 + 101: 6(float) CompositeExtract 100 3 + 102: 6(float) ImageSampleDrefExplicitLod 96 100 101 Lod ConstOffset 34 85 + Store 88(r33) 102 + 107: 104 Load 106(g_tTex2du4a) + 108: 18 Load 20(g_sSamp) + 111: 110 SampledImage 107 108 + 112: 6(float) CompositeExtract 78 0 + 113: 6(float) CompositeExtract 78 1 + 114: 6(float) CompositeExtract 78 2 + 115: 7(fvec4) CompositeConstruct 112 113 114 29 + 116: 6(float) CompositeExtract 115 3 + 117: 6(float) ImageSampleDrefExplicitLod 111 115 116 Lod ConstOffset 34 85 + Store 103(r35) 117 + 124: 123(ptr) AccessChain 119(psout) 120 + Store 124 122 + 126: 12(ptr) AccessChain 119(psout) 125 + Store 126 121 + 127:8(PS_OUTPUT) Load 119(psout) + ReturnValue 127 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 2a0d77a0c3a..5a5159d36c9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplegrad.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureGrad (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureGrad ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -20,12 +20,12 @@ gl_FragCoord origin is upper left 0:27 Constant: 0:27 1.200000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureGrad (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureGrad ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -34,12 +34,12 @@ gl_FragCoord origin is upper left 0:28 Constant: 0:28 1.200000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureGrad (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureGrad ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -48,12 +48,12 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 1.200000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureGrad (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureGrad ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -65,12 +65,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureGrad (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureGrad ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -82,12 +82,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureGrad (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureGrad ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -99,12 +99,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureGrad (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureGrad ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -119,12 +119,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureGrad (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureGrad ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -139,12 +139,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGrad (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureGrad ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -158,9 +158,9 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -168,42 +168,48 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -212,16 +218,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureGrad (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureGrad ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -230,12 +236,12 @@ gl_FragCoord origin is upper left 0:27 Constant: 0:27 1.200000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureGrad (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureGrad ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -244,12 +250,12 @@ gl_FragCoord origin is upper left 0:28 Constant: 0:28 1.200000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureGrad (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureGrad ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -258,12 +264,12 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 1.200000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureGrad (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureGrad ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -275,12 +281,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureGrad (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureGrad ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -292,12 +298,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureGrad (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureGrad ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -309,12 +315,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureGrad (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureGrad ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -329,12 +335,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureGrad (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureGrad ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -349,12 +355,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGrad (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureGrad ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -368,9 +374,9 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -378,239 +384,256 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 133 +// Id's are bound by 140 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 124 128 + EntryPoint Fragment 4 "main" 132 136 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 42 "txval12" - Name 45 "g_tTex1du4" - Name 51 "txval20" - Name 54 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 82 "txval40" - Name 85 "g_tTexcdf4" - Name 95 "txval41" - Name 98 "g_tTexcdi4" - Name 104 "txval42" - Name 107 "g_tTexcdu4" - Name 113 "PS_OUTPUT" - MemberName 113(PS_OUTPUT) 0 "Color" - MemberName 113(PS_OUTPUT) 1 "Depth" - Name 115 "psout" - Name 124 "Color" - Name 128 "Depth" - Name 132 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 45(g_tTex1du4) DescriptorSet 0 - Decorate 54(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 85(g_tTexcdf4) DescriptorSet 0 - Decorate 98(g_tTexcdi4) DescriptorSet 0 - Decorate 107(g_tTexcdu4) DescriptorSet 0 - Decorate 124(Color) Location 0 - Decorate 128(Depth) BuiltIn FragDepth - Decorate 132(g_tTex1df4a) DescriptorSet 0 - Decorate 132(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 46 "txval12" + Name 49 "g_tTex1du4" + Name 55 "txval20" + Name 58 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 86 "txval40" + Name 89 "g_tTexcdf4" + Name 99 "txval41" + Name 102 "g_tTexcdi4" + Name 108 "txval42" + Name 111 "g_tTexcdu4" + Name 118 "psout" + Name 129 "flattenTemp" + Name 132 "Color" + Name 136 "Depth" + Name 139 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 89(g_tTexcdf4) DescriptorSet 0 + Decorate 102(g_tTexcdi4) DescriptorSet 0 + Decorate 111(g_tTexcdu4) DescriptorSet 0 + Decorate 132(Color) Location 0 + Decorate 136(Depth) BuiltIn FragDepth + Decorate 139(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1066192077 - 25: 6(float) Constant 1067030938 - 27: TypeInt 32 1 - 28: TypeVector 27(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 27(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 39: TypeInt 32 0 - 40: TypeVector 39(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 39(int) 1D array sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4): 44(ptr) Variable UniformConstant - 48: TypeSampledImage 43 - 52: TypeImage 6(float) 2D array sampled format:Unknown - 53: TypePointer UniformConstant 52 - 54(g_tTex2df4): 53(ptr) Variable UniformConstant - 57: TypeSampledImage 52 - 59: TypeVector 6(float) 3 - 60: 6(float) Constant 1050253722 - 61: 59(fvec3) ConstantComposite 21 22 60 - 62: 20(fvec2) ConstantComposite 24 25 - 65: TypeImage 27(int) 2D array sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 74: TypeImage 39(int) 2D array sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 83: TypeImage 6(float) Cube array sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTexcdf4): 84(ptr) Variable UniformConstant - 88: TypeSampledImage 83 - 90: 6(float) Constant 1053609165 - 91: 7(fvec4) ConstantComposite 21 22 60 90 - 92: 6(float) Constant 1067869798 - 93: 59(fvec3) ConstantComposite 24 25 92 - 96: TypeImage 27(int) Cube array sampled format:Unknown - 97: TypePointer UniformConstant 96 - 98(g_tTexcdi4): 97(ptr) Variable UniformConstant - 101: TypeSampledImage 96 - 105: TypeImage 39(int) Cube array sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTexcdu4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 113(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 114: TypePointer Function 113(PS_OUTPUT) - 116: 27(int) Constant 0 - 117: 6(float) Constant 1065353216 - 118: 7(fvec4) ConstantComposite 117 117 117 117 - 120: 27(int) Constant 1 - 121: TypePointer Function 6(float) - 123: TypePointer Output 7(fvec4) - 124(Color): 123(ptr) Variable Output - 127: TypePointer Output 6(float) - 128(Depth): 127(ptr) Variable Output -132(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1066192077 + 29: 6(float) Constant 1067030938 + 31: TypeInt 32 1 + 32: TypeVector 31(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 31(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 43: TypeInt 32 0 + 44: TypeVector 43(int) 4 + 45: TypePointer Function 44(ivec4) + 47: TypeImage 43(int) 1D array sampled format:Unknown + 48: TypePointer UniformConstant 47 + 49(g_tTex1du4): 48(ptr) Variable UniformConstant + 52: TypeSampledImage 47 + 56: TypeImage 6(float) 2D array sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: TypeVector 6(float) 3 + 64: 6(float) Constant 1050253722 + 65: 63(fvec3) ConstantComposite 25 26 64 + 66: 24(fvec2) ConstantComposite 28 29 + 69: TypeImage 31(int) 2D array sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 78: TypeImage 43(int) 2D array sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 87: TypeImage 6(float) Cube array sampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(g_tTexcdf4): 88(ptr) Variable UniformConstant + 92: TypeSampledImage 87 + 94: 6(float) Constant 1053609165 + 95: 7(fvec4) ConstantComposite 25 26 64 94 + 96: 6(float) Constant 1067869798 + 97: 63(fvec3) ConstantComposite 28 29 96 + 100: TypeImage 31(int) Cube array sampled format:Unknown + 101: TypePointer UniformConstant 100 + 102(g_tTexcdi4): 101(ptr) Variable UniformConstant + 105: TypeSampledImage 100 + 109: TypeImage 43(int) Cube array sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTexcdu4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 117: TypePointer Function 8(PS_OUTPUT) + 119: 31(int) Constant 0 + 120: 6(float) Constant 1065353216 + 121: 7(fvec4) ConstantComposite 120 120 120 120 + 123: 31(int) Constant 1 + 124: TypePointer Function 6(float) + 131: TypePointer Output 7(fvec4) + 132(Color): 131(ptr) Variable Output + 135: TypePointer Output 6(float) + 136(Depth): 135(ptr) Variable Output +139(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 42(txval12): 41(ptr) Variable Function - 51(txval20): 8(ptr) Variable Function - 64(txval21): 29(ptr) Variable Function - 73(txval22): 41(ptr) Variable Function - 82(txval40): 8(ptr) Variable Function - 95(txval41): 29(ptr) Variable Function - 104(txval42): 41(ptr) Variable Function - 115(psout): 114(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 26: 7(fvec4) ImageSampleExplicitLod 19 23 Grad 24 25 - Store 9(txval10) 26 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 38: 28(ivec4) ImageSampleExplicitLod 37 23 Grad 24 25 - Store 30(txval11) 38 - 46: 43 Load 45(g_tTex1du4) - 47: 14 Load 16(g_sSamp) - 49: 48 SampledImage 46 47 - 50: 40(ivec4) ImageSampleExplicitLod 49 23 Grad 24 25 - Store 42(txval12) 50 - 55: 52 Load 54(g_tTex2df4) - 56: 14 Load 16(g_sSamp) - 58: 57 SampledImage 55 56 - 63: 7(fvec4) ImageSampleExplicitLod 58 61 Grad 62 62 - Store 51(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 72: 28(ivec4) ImageSampleExplicitLod 71 61 Grad 62 62 - Store 64(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 81: 40(ivec4) ImageSampleExplicitLod 80 61 Grad 62 62 - Store 73(txval22) 81 - 86: 83 Load 85(g_tTexcdf4) - 87: 14 Load 16(g_sSamp) - 89: 88 SampledImage 86 87 - 94: 7(fvec4) ImageSampleExplicitLod 89 91 Grad 93 93 - Store 82(txval40) 94 - 99: 96 Load 98(g_tTexcdi4) - 100: 14 Load 16(g_sSamp) - 102: 101 SampledImage 99 100 - 103: 28(ivec4) ImageSampleExplicitLod 102 91 Grad 93 93 - Store 95(txval41) 103 - 108: 105 Load 107(g_tTexcdu4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 112: 40(ivec4) ImageSampleExplicitLod 111 91 Grad 93 93 - Store 104(txval42) 112 - 119: 8(ptr) AccessChain 115(psout) 116 - Store 119 118 - 122: 121(ptr) AccessChain 115(psout) 120 - Store 122 117 - 125: 8(ptr) AccessChain 115(psout) 116 - 126: 7(fvec4) Load 125 - Store 124(Color) 126 - 129: 121(ptr) AccessChain 115(psout) 120 - 130: 6(float) Load 129 - Store 128(Depth) 130 +129(flattenTemp): 117(ptr) Variable Function + 130:8(PS_OUTPUT) FunctionCall 10(@main() + Store 129(flattenTemp) 130 + 133: 12(ptr) AccessChain 129(flattenTemp) 119 + 134: 7(fvec4) Load 133 + Store 132(Color) 134 + 137: 124(ptr) AccessChain 129(flattenTemp) 123 + 138: 6(float) Load 137 + Store 136(Depth) 138 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 46(txval12): 45(ptr) Variable Function + 55(txval20): 12(ptr) Variable Function + 68(txval21): 33(ptr) Variable Function + 77(txval22): 45(ptr) Variable Function + 86(txval40): 12(ptr) Variable Function + 99(txval41): 33(ptr) Variable Function + 108(txval42): 45(ptr) Variable Function + 118(psout): 117(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 30: 7(fvec4) ImageSampleExplicitLod 23 27 Grad 28 29 + Store 13(txval10) 30 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 42: 32(ivec4) ImageSampleExplicitLod 41 27 Grad 28 29 + Store 34(txval11) 42 + 50: 47 Load 49(g_tTex1du4) + 51: 18 Load 20(g_sSamp) + 53: 52 SampledImage 50 51 + 54: 44(ivec4) ImageSampleExplicitLod 53 27 Grad 28 29 + Store 46(txval12) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 67: 7(fvec4) ImageSampleExplicitLod 62 65 Grad 66 66 + Store 55(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 76: 32(ivec4) ImageSampleExplicitLod 75 65 Grad 66 66 + Store 68(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 85: 44(ivec4) ImageSampleExplicitLod 84 65 Grad 66 66 + Store 77(txval22) 85 + 90: 87 Load 89(g_tTexcdf4) + 91: 18 Load 20(g_sSamp) + 93: 92 SampledImage 90 91 + 98: 7(fvec4) ImageSampleExplicitLod 93 95 Grad 97 97 + Store 86(txval40) 98 + 103: 100 Load 102(g_tTexcdi4) + 104: 18 Load 20(g_sSamp) + 106: 105 SampledImage 103 104 + 107: 32(ivec4) ImageSampleExplicitLod 106 95 Grad 97 97 + Store 99(txval41) 107 + 112: 109 Load 111(g_tTexcdu4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 116: 44(ivec4) ImageSampleExplicitLod 115 95 Grad 97 97 + Store 108(txval42) 116 + 122: 12(ptr) AccessChain 118(psout) 119 + Store 122 121 + 125: 124(ptr) AccessChain 118(psout) 123 + Store 125 120 + 126:8(PS_OUTPUT) Load 118(psout) + ReturnValue 126 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index feaba770212..dc61751cce1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplegrad.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureGrad (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureGrad ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -19,12 +19,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureGrad (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureGrad ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -32,12 +32,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1.200000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureGrad (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureGrad ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -45,12 +45,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureGrad (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureGrad ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -61,12 +61,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureGrad (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureGrad ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -77,12 +77,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureGrad (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureGrad ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -93,12 +93,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureGrad (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureGrad ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -112,12 +112,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureGrad (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureGrad ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -131,12 +131,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureGrad (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureGrad ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -150,12 +150,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval40' (temp 4-component vector of float) -0:43 textureGrad (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp samplerCube) -0:43 'g_tTexcdf4' (uniform textureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval40' ( temp 4-component vector of float) +0:43 textureGrad ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp samplerCube) +0:43 'g_tTexcdf4' ( uniform textureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -169,12 +169,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval41' (temp 4-component vector of int) -0:44 textureGrad (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isamplerCube) -0:44 'g_tTexcdi4' (uniform itextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval41' ( temp 4-component vector of int) +0:44 textureGrad ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isamplerCube) +0:44 'g_tTexcdi4' ( uniform itextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -188,12 +188,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval42' (temp 4-component vector of uint) -0:45 textureGrad (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usamplerCube) -0:45 'g_tTexcdu4' (uniform utextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval42' ( temp 4-component vector of uint) +0:45 textureGrad ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usamplerCube) +0:45 'g_tTexcdu4' ( uniform utextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -206,9 +206,9 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -216,45 +216,51 @@ gl_FragCoord origin is upper left 0:47 1.000000 0:47 1.000000 0:47 1.000000 -0:48 move second child to first child (temp float) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp float) +0:48 Depth: direct index for structure ( temp float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -263,16 +269,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureGrad (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureGrad ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -280,12 +286,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureGrad (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureGrad ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -293,12 +299,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1.200000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureGrad (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureGrad ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -306,12 +312,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureGrad (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureGrad ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -322,12 +328,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureGrad (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureGrad ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -338,12 +344,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureGrad (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureGrad ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -354,12 +360,12 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureGrad (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureGrad ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -373,12 +379,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureGrad (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureGrad ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -392,12 +398,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureGrad (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureGrad ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -411,12 +417,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'txval40' (temp 4-component vector of float) -0:43 textureGrad (temp 4-component vector of float) -0:43 Construct combined texture-sampler (temp samplerCube) -0:43 'g_tTexcdf4' (uniform textureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'txval40' ( temp 4-component vector of float) +0:43 textureGrad ( temp 4-component vector of float) +0:43 Construct combined texture-sampler ( temp samplerCube) +0:43 'g_tTexcdf4' ( uniform textureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -430,12 +436,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of int) -0:44 'txval41' (temp 4-component vector of int) -0:44 textureGrad (temp 4-component vector of int) -0:44 Construct combined texture-sampler (temp isamplerCube) -0:44 'g_tTexcdi4' (uniform itextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of int) +0:44 'txval41' ( temp 4-component vector of int) +0:44 textureGrad ( temp 4-component vector of int) +0:44 Construct combined texture-sampler ( temp isamplerCube) +0:44 'g_tTexcdi4' ( uniform itextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -449,12 +455,12 @@ gl_FragCoord origin is upper left 0:? 1.200000 0:? 1.300000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of uint) -0:45 'txval42' (temp 4-component vector of uint) -0:45 textureGrad (temp 4-component vector of uint) -0:45 Construct combined texture-sampler (temp usamplerCube) -0:45 'g_tTexcdu4' (uniform utextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of uint) +0:45 'txval42' ( temp 4-component vector of uint) +0:45 textureGrad ( temp 4-component vector of uint) +0:45 Construct combined texture-sampler ( temp usamplerCube) +0:45 'g_tTexcdu4' ( uniform utextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -467,9 +473,9 @@ gl_FragCoord origin is upper left 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:47 move second child to first child (temp 4-component vector of float) -0:47 Color: direct index for structure (temp 4-component vector of float) -0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:47 move second child to first child ( temp 4-component vector of float) +0:47 Color: direct index for structure ( temp 4-component vector of float) +0:47 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:47 Constant: 0:47 0 (const int) 0:47 Constant: @@ -477,288 +483,305 @@ gl_FragCoord origin is upper left 0:47 1.000000 0:47 1.000000 0:47 1.000000 -0:48 move second child to first child (temp float) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp float) +0:48 Depth: direct index for structure ( temp float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 1 (const int) 0:48 Constant: 0:48 1.000000 -0:50 Sequence -0:50 Sequence -0:50 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:50 Color: direct index for structure (temp 4-component vector of float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 0 (const int) -0:50 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:50 Depth: direct index for structure (temp float) -0:50 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:50 Constant: -0:50 1 (const int) -0:50 Branch: Return +0:50 Branch: Return with expression +0:50 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 168 +// Id's are bound by 175 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 159 163 + EntryPoint Fragment 4 "main" 167 171 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 62 "txval21" - Name 65 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 85 "txval30" - Name 88 "g_tTex3df4" - Name 98 "txval31" - Name 101 "g_tTex3di4" - Name 108 "txval32" - Name 111 "g_tTex3du4" - Name 121 "txval40" - Name 124 "g_tTexcdf4" - Name 130 "txval41" - Name 133 "g_tTexcdi4" - Name 139 "txval42" - Name 142 "g_tTexcdu4" - Name 148 "PS_OUTPUT" - MemberName 148(PS_OUTPUT) 0 "Color" - MemberName 148(PS_OUTPUT) 1 "Depth" - Name 150 "psout" - Name 159 "Color" - Name 163 "Depth" - Name 167 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 65(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 88(g_tTex3df4) DescriptorSet 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 - Decorate 124(g_tTexcdf4) DescriptorSet 0 - Decorate 133(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 159(Color) Location 0 - Decorate 163(Depth) BuiltIn FragDepth - Decorate 167(g_tTex1df4a) DescriptorSet 0 - Decorate 167(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 66 "txval21" + Name 69 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 89 "txval30" + Name 92 "g_tTex3df4" + Name 102 "txval31" + Name 105 "g_tTex3di4" + Name 112 "txval32" + Name 115 "g_tTex3du4" + Name 125 "txval40" + Name 128 "g_tTexcdf4" + Name 134 "txval41" + Name 137 "g_tTexcdi4" + Name 143 "txval42" + Name 146 "g_tTexcdu4" + Name 153 "psout" + Name 164 "flattenTemp" + Name 167 "Color" + Name 171 "Depth" + Name 174 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 167(Color) Location 0 + Decorate 171(Depth) BuiltIn FragDepth + Decorate 174(g_tTex1df4a) DescriptorSet 0 + Decorate 174(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 24(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: 58(fvec2) ConstantComposite 21 22 - 63: TypeImage 24(int) 2D sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2di4): 64(ptr) Variable UniformConstant - 68: TypeSampledImage 63 - 70: 6(float) Constant 1053609165 - 71: 58(fvec2) ConstantComposite 48 70 - 74: TypeImage 37(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 81: 6(float) Constant 1056964608 - 82: 6(float) Constant 1058642330 - 83: 58(fvec2) ConstantComposite 81 82 - 86: TypeImage 6(float) 3D sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex3df4): 87(ptr) Variable UniformConstant - 91: TypeSampledImage 86 - 93: TypeVector 6(float) 3 - 94: 93(fvec3) ConstantComposite 20 35 48 - 95: 6(float) Constant 1067869798 - 96: 93(fvec3) ConstantComposite 21 22 95 - 99: TypeImage 24(int) 3D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex3di4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 93(fvec3) ConstantComposite 70 81 82 - 109: TypeImage 37(int) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1060320051 - 117: 6(float) Constant 1061997773 - 118: 6(float) Constant 1063675494 - 119: 93(fvec3) ConstantComposite 116 117 118 - 122: TypeImage 6(float) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdf4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 131: TypeImage 24(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdi4): 132(ptr) Variable UniformConstant - 136: TypeSampledImage 131 - 140: TypeImage 37(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 145: TypeSampledImage 140 - 148(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 149: TypePointer Function 148(PS_OUTPUT) - 151: 24(int) Constant 0 - 152: 6(float) Constant 1065353216 - 153: 7(fvec4) ConstantComposite 152 152 152 152 - 155: 24(int) Constant 1 - 156: TypePointer Function 6(float) - 158: TypePointer Output 7(fvec4) - 159(Color): 158(ptr) Variable Output - 162: TypePointer Output 6(float) - 163(Depth): 162(ptr) Variable Output -167(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 28(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: 62(fvec2) ConstantComposite 25 26 + 67: TypeImage 28(int) 2D sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2di4): 68(ptr) Variable UniformConstant + 72: TypeSampledImage 67 + 74: 6(float) Constant 1053609165 + 75: 62(fvec2) ConstantComposite 52 74 + 78: TypeImage 41(int) 2D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 85: 6(float) Constant 1056964608 + 86: 6(float) Constant 1058642330 + 87: 62(fvec2) ConstantComposite 85 86 + 90: TypeImage 6(float) 3D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex3df4): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 39 52 + 99: 6(float) Constant 1067869798 + 100: 97(fvec3) ConstantComposite 25 26 99 + 103: TypeImage 28(int) 3D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex3di4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 97(fvec3) ConstantComposite 74 85 86 + 113: TypeImage 41(int) 3D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex3du4): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypeImage 6(float) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdf4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 135: TypeImage 28(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdi4): 136(ptr) Variable UniformConstant + 140: TypeSampledImage 135 + 144: TypeImage 41(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 149: TypeSampledImage 144 + 152: TypePointer Function 8(PS_OUTPUT) + 154: 28(int) Constant 0 + 155: 6(float) Constant 1065353216 + 156: 7(fvec4) ConstantComposite 155 155 155 155 + 158: 28(int) Constant 1 + 159: TypePointer Function 6(float) + 166: TypePointer Output 7(fvec4) + 167(Color): 166(ptr) Variable Output + 170: TypePointer Output 6(float) + 171(Depth): 170(ptr) Variable Output +174(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 62(txval21): 26(ptr) Variable Function - 73(txval22): 39(ptr) Variable Function - 85(txval30): 8(ptr) Variable Function - 98(txval31): 26(ptr) Variable Function - 108(txval32): 39(ptr) Variable Function - 121(txval40): 8(ptr) Variable Function - 130(txval41): 26(ptr) Variable Function - 139(txval42): 39(ptr) Variable Function - 150(psout): 149(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleExplicitLod 19 20 Grad 21 22 - Store 9(txval10) 23 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Grad 21 22 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Grad 21 22 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 61: 7(fvec4) ImageSampleExplicitLod 57 59 Grad 60 60 - Store 50(txval20) 61 - 66: 63 Load 65(g_tTex2di4) - 67: 14 Load 16(g_sSamp) - 69: 68 SampledImage 66 67 - 72: 25(ivec4) ImageSampleExplicitLod 69 71 Grad 60 60 - Store 62(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 84: 38(ivec4) ImageSampleExplicitLod 80 83 Grad 60 60 - Store 73(txval22) 84 - 89: 86 Load 88(g_tTex3df4) - 90: 14 Load 16(g_sSamp) - 92: 91 SampledImage 89 90 - 97: 7(fvec4) ImageSampleExplicitLod 92 94 Grad 96 96 - Store 85(txval30) 97 - 102: 99 Load 101(g_tTex3di4) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 25(ivec4) ImageSampleExplicitLod 105 106 Grad 96 96 - Store 98(txval31) 107 - 112: 109 Load 111(g_tTex3du4) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 38(ivec4) ImageSampleExplicitLod 115 119 Grad 96 96 - Store 108(txval32) 120 - 125: 122 Load 124(g_tTexcdf4) - 126: 14 Load 16(g_sSamp) - 128: 127 SampledImage 125 126 - 129: 7(fvec4) ImageSampleExplicitLod 128 94 Grad 96 96 - Store 121(txval40) 129 - 134: 131 Load 133(g_tTexcdi4) - 135: 14 Load 16(g_sSamp) - 137: 136 SampledImage 134 135 - 138: 25(ivec4) ImageSampleExplicitLod 137 106 Grad 96 96 - Store 130(txval41) 138 - 143: 140 Load 142(g_tTexcdu4) - 144: 14 Load 16(g_sSamp) - 146: 145 SampledImage 143 144 - 147: 38(ivec4) ImageSampleExplicitLod 146 119 Grad 96 96 - Store 139(txval42) 147 - 154: 8(ptr) AccessChain 150(psout) 151 - Store 154 153 - 157: 156(ptr) AccessChain 150(psout) 155 - Store 157 152 - 160: 8(ptr) AccessChain 150(psout) 151 - 161: 7(fvec4) Load 160 - Store 159(Color) 161 - 164: 156(ptr) AccessChain 150(psout) 155 - 165: 6(float) Load 164 - Store 163(Depth) 165 +164(flattenTemp): 152(ptr) Variable Function + 165:8(PS_OUTPUT) FunctionCall 10(@main() + Store 164(flattenTemp) 165 + 168: 12(ptr) AccessChain 164(flattenTemp) 154 + 169: 7(fvec4) Load 168 + Store 167(Color) 169 + 172: 159(ptr) AccessChain 164(flattenTemp) 158 + 173: 6(float) Load 172 + Store 171(Depth) 173 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 66(txval21): 30(ptr) Variable Function + 77(txval22): 43(ptr) Variable Function + 89(txval30): 12(ptr) Variable Function + 102(txval31): 30(ptr) Variable Function + 112(txval32): 43(ptr) Variable Function + 125(txval40): 12(ptr) Variable Function + 134(txval41): 30(ptr) Variable Function + 143(txval42): 43(ptr) Variable Function + 153(psout): 152(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleExplicitLod 23 24 Grad 25 26 + Store 13(txval10) 27 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Grad 25 26 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Grad 25 26 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 65: 7(fvec4) ImageSampleExplicitLod 61 63 Grad 64 64 + Store 54(txval20) 65 + 70: 67 Load 69(g_tTex2di4) + 71: 18 Load 20(g_sSamp) + 73: 72 SampledImage 70 71 + 76: 29(ivec4) ImageSampleExplicitLod 73 75 Grad 64 64 + Store 66(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 88: 42(ivec4) ImageSampleExplicitLod 84 87 Grad 64 64 + Store 77(txval22) 88 + 93: 90 Load 92(g_tTex3df4) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 101: 7(fvec4) ImageSampleExplicitLod 96 98 Grad 100 100 + Store 89(txval30) 101 + 106: 103 Load 105(g_tTex3di4) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 29(ivec4) ImageSampleExplicitLod 109 110 Grad 100 100 + Store 102(txval31) 111 + 116: 113 Load 115(g_tTex3du4) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 42(ivec4) ImageSampleExplicitLod 119 123 Grad 100 100 + Store 112(txval32) 124 + 129: 126 Load 128(g_tTexcdf4) + 130: 18 Load 20(g_sSamp) + 132: 131 SampledImage 129 130 + 133: 7(fvec4) ImageSampleExplicitLod 132 98 Grad 100 100 + Store 125(txval40) 133 + 138: 135 Load 137(g_tTexcdi4) + 139: 18 Load 20(g_sSamp) + 141: 140 SampledImage 138 139 + 142: 29(ivec4) ImageSampleExplicitLod 141 110 Grad 100 100 + Store 134(txval41) 142 + 147: 144 Load 146(g_tTexcdu4) + 148: 18 Load 20(g_sSamp) + 150: 149 SampledImage 147 148 + 151: 42(ivec4) ImageSampleExplicitLod 150 123 Grad 100 100 + Store 143(txval42) 151 + 157: 12(ptr) AccessChain 153(psout) 154 + Store 157 156 + 160: 159(ptr) AccessChain 153(psout) 158 + Store 160 155 + 161:8(PS_OUTPUT) Load 153(psout) + ReturnValue 161 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index 1f438cee479..afce97f6eb6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -1,16 +1,16 @@ hlsl.samplegrad.basic.dx10.vert Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'txval10' (temp 4-component vector of float) -0:30 textureGrad (temp 4-component vector of float) -0:30 Construct combined texture-sampler (temp sampler1D) -0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'txval10' ( temp 4-component vector of float) +0:30 textureGrad ( temp 4-component vector of float) +0:30 Construct combined texture-sampler ( temp sampler1D) +0:30 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.100000 0:30 Constant: @@ -18,12 +18,12 @@ Shader version: 450 0:30 Constant: 0:30 1.200000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of int) -0:31 'txval11' (temp 4-component vector of int) -0:31 textureGrad (temp 4-component vector of int) -0:31 Construct combined texture-sampler (temp isampler1D) -0:31 'g_tTex1di4' (uniform itexture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of int) +0:31 'txval11' ( temp 4-component vector of int) +0:31 textureGrad ( temp 4-component vector of int) +0:31 Construct combined texture-sampler ( temp isampler1D) +0:31 'g_tTex1di4' ( uniform itexture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.200000 0:31 Constant: @@ -31,12 +31,12 @@ Shader version: 450 0:31 Constant: 0:31 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of uint) -0:32 'txval12' (temp 4-component vector of uint) -0:32 textureGrad (temp 4-component vector of uint) -0:32 Construct combined texture-sampler (temp usampler1D) -0:32 'g_tTex1du4' (uniform utexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of uint) +0:32 'txval12' ( temp 4-component vector of uint) +0:32 textureGrad ( temp 4-component vector of uint) +0:32 Construct combined texture-sampler ( temp usampler1D) +0:32 'g_tTex1du4' ( uniform utexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.300000 0:32 Constant: @@ -44,12 +44,12 @@ Shader version: 450 0:32 Constant: 0:32 1.200000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureGrad (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureGrad ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -60,12 +60,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureGrad (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureGrad ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -76,12 +76,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGrad (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureGrad ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -92,12 +92,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'txval30' (temp 4-component vector of float) -0:38 textureGrad (temp 4-component vector of float) -0:38 Construct combined texture-sampler (temp sampler3D) -0:38 'g_tTex3df4' (uniform texture3D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'txval30' ( temp 4-component vector of float) +0:38 textureGrad ( temp 4-component vector of float) +0:38 Construct combined texture-sampler ( temp sampler3D) +0:38 'g_tTex3df4' ( uniform texture3D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -111,12 +111,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of int) -0:39 'txval31' (temp 4-component vector of int) -0:39 textureGrad (temp 4-component vector of int) -0:39 Construct combined texture-sampler (temp isampler3D) -0:39 'g_tTex3di4' (uniform itexture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of int) +0:39 'txval31' ( temp 4-component vector of int) +0:39 textureGrad ( temp 4-component vector of int) +0:39 Construct combined texture-sampler ( temp isampler3D) +0:39 'g_tTex3di4' ( uniform itexture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -130,12 +130,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of uint) -0:40 'txval32' (temp 4-component vector of uint) -0:40 textureGrad (temp 4-component vector of uint) -0:40 Construct combined texture-sampler (temp usampler3D) -0:40 'g_tTex3du4' (uniform utexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of uint) +0:40 'txval32' ( temp 4-component vector of uint) +0:40 textureGrad ( temp 4-component vector of uint) +0:40 Construct combined texture-sampler ( temp usampler3D) +0:40 'g_tTex3du4' ( uniform utexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -149,12 +149,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 'txval40' (temp 4-component vector of float) -0:42 textureGrad (temp 4-component vector of float) -0:42 Construct combined texture-sampler (temp samplerCube) -0:42 'g_tTexcdf4' (uniform textureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'txval40' ( temp 4-component vector of float) +0:42 textureGrad ( temp 4-component vector of float) +0:42 Construct combined texture-sampler ( temp samplerCube) +0:42 'g_tTexcdf4' ( uniform textureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -168,12 +168,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'txval41' (temp 4-component vector of int) -0:43 textureGrad (temp 4-component vector of int) -0:43 Construct combined texture-sampler (temp isamplerCube) -0:43 'g_tTexcdi4' (uniform itextureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'txval41' ( temp 4-component vector of int) +0:43 textureGrad ( temp 4-component vector of int) +0:43 Construct combined texture-sampler ( temp isamplerCube) +0:43 'g_tTexcdi4' ( uniform itextureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -187,12 +187,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of uint) -0:44 'txval42' (temp 4-component vector of uint) -0:44 textureGrad (temp 4-component vector of uint) -0:44 Construct combined texture-sampler (temp usamplerCube) -0:44 'g_tTexcdu4' (uniform utextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of uint) +0:44 'txval42' ( temp 4-component vector of uint) +0:44 textureGrad ( temp 4-component vector of uint) +0:44 Construct combined texture-sampler ( temp usamplerCube) +0:44 'g_tTexcdu4' ( uniform utextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -205,9 +205,9 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 Pos: direct index for structure (temp 4-component vector of float) -0:46 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 Pos: direct index for structure ( temp 4-component vector of float) +0:46 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:46 Constant: 0:46 0 (const int) 0:? Constant: @@ -215,31 +215,34 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:27 Pos: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) Linked vertex stage: @@ -247,16 +250,16 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'txval10' (temp 4-component vector of float) -0:30 textureGrad (temp 4-component vector of float) -0:30 Construct combined texture-sampler (temp sampler1D) -0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'txval10' ( temp 4-component vector of float) +0:30 textureGrad ( temp 4-component vector of float) +0:30 Construct combined texture-sampler ( temp sampler1D) +0:30 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.100000 0:30 Constant: @@ -264,12 +267,12 @@ Shader version: 450 0:30 Constant: 0:30 1.200000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of int) -0:31 'txval11' (temp 4-component vector of int) -0:31 textureGrad (temp 4-component vector of int) -0:31 Construct combined texture-sampler (temp isampler1D) -0:31 'g_tTex1di4' (uniform itexture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of int) +0:31 'txval11' ( temp 4-component vector of int) +0:31 textureGrad ( temp 4-component vector of int) +0:31 Construct combined texture-sampler ( temp isampler1D) +0:31 'g_tTex1di4' ( uniform itexture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.200000 0:31 Constant: @@ -277,12 +280,12 @@ Shader version: 450 0:31 Constant: 0:31 1.200000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of uint) -0:32 'txval12' (temp 4-component vector of uint) -0:32 textureGrad (temp 4-component vector of uint) -0:32 Construct combined texture-sampler (temp usampler1D) -0:32 'g_tTex1du4' (uniform utexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of uint) +0:32 'txval12' ( temp 4-component vector of uint) +0:32 textureGrad ( temp 4-component vector of uint) +0:32 Construct combined texture-sampler ( temp usampler1D) +0:32 'g_tTex1du4' ( uniform utexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.300000 0:32 Constant: @@ -290,12 +293,12 @@ Shader version: 450 0:32 Constant: 0:32 1.200000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureGrad (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureGrad ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -306,12 +309,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureGrad (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureGrad ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -322,12 +325,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGrad (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureGrad ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -338,12 +341,12 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'txval30' (temp 4-component vector of float) -0:38 textureGrad (temp 4-component vector of float) -0:38 Construct combined texture-sampler (temp sampler3D) -0:38 'g_tTex3df4' (uniform texture3D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'txval30' ( temp 4-component vector of float) +0:38 textureGrad ( temp 4-component vector of float) +0:38 Construct combined texture-sampler ( temp sampler3D) +0:38 'g_tTex3df4' ( uniform texture3D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -357,12 +360,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of int) -0:39 'txval31' (temp 4-component vector of int) -0:39 textureGrad (temp 4-component vector of int) -0:39 Construct combined texture-sampler (temp isampler3D) -0:39 'g_tTex3di4' (uniform itexture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of int) +0:39 'txval31' ( temp 4-component vector of int) +0:39 textureGrad ( temp 4-component vector of int) +0:39 Construct combined texture-sampler ( temp isampler3D) +0:39 'g_tTex3di4' ( uniform itexture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -376,12 +379,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of uint) -0:40 'txval32' (temp 4-component vector of uint) -0:40 textureGrad (temp 4-component vector of uint) -0:40 Construct combined texture-sampler (temp usampler3D) -0:40 'g_tTex3du4' (uniform utexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of uint) +0:40 'txval32' ( temp 4-component vector of uint) +0:40 textureGrad ( temp 4-component vector of uint) +0:40 Construct combined texture-sampler ( temp usampler3D) +0:40 'g_tTex3du4' ( uniform utexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -395,12 +398,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 'txval40' (temp 4-component vector of float) -0:42 textureGrad (temp 4-component vector of float) -0:42 Construct combined texture-sampler (temp samplerCube) -0:42 'g_tTexcdf4' (uniform textureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'txval40' ( temp 4-component vector of float) +0:42 textureGrad ( temp 4-component vector of float) +0:42 Construct combined texture-sampler ( temp samplerCube) +0:42 'g_tTexcdf4' ( uniform textureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -414,12 +417,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'txval41' (temp 4-component vector of int) -0:43 textureGrad (temp 4-component vector of int) -0:43 Construct combined texture-sampler (temp isamplerCube) -0:43 'g_tTexcdi4' (uniform itextureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'txval41' ( temp 4-component vector of int) +0:43 textureGrad ( temp 4-component vector of int) +0:43 Construct combined texture-sampler ( temp isamplerCube) +0:43 'g_tTexcdi4' ( uniform itextureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -433,12 +436,12 @@ Shader version: 450 0:? 1.200000 0:? 1.300000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of uint) -0:44 'txval42' (temp 4-component vector of uint) -0:44 textureGrad (temp 4-component vector of uint) -0:44 Construct combined texture-sampler (temp usamplerCube) -0:44 'g_tTexcdu4' (uniform utextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of uint) +0:44 'txval42' ( temp 4-component vector of uint) +0:44 textureGrad ( temp 4-component vector of uint) +0:44 Construct combined texture-sampler ( temp usamplerCube) +0:44 'g_tTexcdu4' ( uniform utextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -451,9 +454,9 @@ Shader version: 450 0:? 1.100000 0:? 1.200000 0:? 1.300000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 Pos: direct index for structure (temp 4-component vector of float) -0:46 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 Pos: direct index for structure ( temp 4-component vector of float) +0:46 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:46 Constant: 0:46 0 (const int) 0:? Constant: @@ -461,269 +464,277 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:27 Pos: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 164 +// Id's are bound by 169 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 156 163 + EntryPoint Vertex 4 "main" 162 168 Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 62 "txval21" - Name 65 "g_tTex2di4" - Name 73 "txval22" - Name 76 "g_tTex2du4" - Name 85 "txval30" - Name 88 "g_tTex3df4" - Name 98 "txval31" - Name 101 "g_tTex3di4" - Name 108 "txval32" - Name 111 "g_tTex3du4" - Name 121 "txval40" - Name 124 "g_tTexcdf4" - Name 130 "txval41" - Name 133 "g_tTexcdi4" - Name 139 "txval42" - Name 142 "g_tTexcdu4" - Name 148 "VS_OUTPUT" - MemberName 148(VS_OUTPUT) 0 "Pos" - Name 150 "vsout" - Name 156 "Pos" - Name 160 "g_tTex1df4a" - Name 161 "PerVertex_out" - MemberName 161(PerVertex_out) 0 "Pos" - Name 163 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 65(g_tTex2di4) DescriptorSet 0 - Decorate 76(g_tTex2du4) DescriptorSet 0 - Decorate 88(g_tTex3df4) DescriptorSet 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 - Decorate 111(g_tTex3du4) DescriptorSet 0 - Decorate 124(g_tTexcdf4) DescriptorSet 0 - Decorate 133(g_tTexcdi4) DescriptorSet 0 - Decorate 142(g_tTexcdu4) DescriptorSet 0 - Decorate 156(Pos) BuiltIn Position - Decorate 160(g_tTex1df4a) DescriptorSet 0 - Decorate 160(g_tTex1df4a) Binding 1 - MemberDecorate 161(PerVertex_out) 0 BuiltIn Position - Decorate 161(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 66 "txval21" + Name 69 "g_tTex2di4" + Name 77 "txval22" + Name 80 "g_tTex2du4" + Name 89 "txval30" + Name 92 "g_tTex3df4" + Name 102 "txval31" + Name 105 "g_tTex3di4" + Name 112 "txval32" + Name 115 "g_tTex3du4" + Name 125 "txval40" + Name 128 "g_tTexcdf4" + Name 134 "txval41" + Name 137 "g_tTexcdi4" + Name 143 "txval42" + Name 146 "g_tTexcdu4" + Name 153 "vsout" + Name 162 "@entryPointOutput_Pos" + Name 165 "g_tTex1df4a" + Name 166 "VS_OUTPUT" + Name 168 "@entryPointOutput" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 162(@entryPointOutput_Pos) BuiltIn Position + Decorate 165(g_tTex1df4a) DescriptorSet 0 + Decorate 165(g_tTex1df4a) Binding 1 + Decorate 168(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 24: TypeInt 32 1 - 25: TypeVector 24(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 24(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: 58(fvec2) ConstantComposite 21 22 - 63: TypeImage 24(int) 2D sampled format:Unknown - 64: TypePointer UniformConstant 63 - 65(g_tTex2di4): 64(ptr) Variable UniformConstant - 68: TypeSampledImage 63 - 70: 6(float) Constant 1053609165 - 71: 58(fvec2) ConstantComposite 48 70 - 74: TypeImage 37(int) 2D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2du4): 75(ptr) Variable UniformConstant - 79: TypeSampledImage 74 - 81: 6(float) Constant 1056964608 - 82: 6(float) Constant 1058642330 - 83: 58(fvec2) ConstantComposite 81 82 - 86: TypeImage 6(float) 3D sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex3df4): 87(ptr) Variable UniformConstant - 91: TypeSampledImage 86 - 93: TypeVector 6(float) 3 - 94: 93(fvec3) ConstantComposite 20 35 48 - 95: 6(float) Constant 1067869798 - 96: 93(fvec3) ConstantComposite 21 22 95 - 99: TypeImage 24(int) 3D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex3di4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 93(fvec3) ConstantComposite 70 81 82 - 109: TypeImage 37(int) 3D sampled format:Unknown - 110: TypePointer UniformConstant 109 - 111(g_tTex3du4): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1060320051 - 117: 6(float) Constant 1061997773 - 118: 6(float) Constant 1063675494 - 119: 93(fvec3) ConstantComposite 116 117 118 - 122: TypeImage 6(float) Cube sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTexcdf4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 131: TypeImage 24(int) Cube sampled format:Unknown - 132: TypePointer UniformConstant 131 - 133(g_tTexcdi4): 132(ptr) Variable UniformConstant - 136: TypeSampledImage 131 - 140: TypeImage 37(int) Cube sampled format:Unknown - 141: TypePointer UniformConstant 140 - 142(g_tTexcdu4): 141(ptr) Variable UniformConstant - 145: TypeSampledImage 140 - 148(VS_OUTPUT): TypeStruct 7(fvec4) - 149: TypePointer Function 148(VS_OUTPUT) - 151: 24(int) Constant 0 - 152: 6(float) Constant 0 - 153: 7(fvec4) ConstantComposite 152 152 152 152 - 155: TypePointer Output 7(fvec4) - 156(Pos): 155(ptr) Variable Output -160(g_tTex1df4a): 11(ptr) Variable UniformConstant -161(PerVertex_out): TypeStruct 7(fvec4) - 162: TypePointer Output 161(PerVertex_out) -163(PerVertex_out): 162(ptr) Variable Output + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 28: TypeInt 32 1 + 29: TypeVector 28(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 28(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: 62(fvec2) ConstantComposite 25 26 + 67: TypeImage 28(int) 2D sampled format:Unknown + 68: TypePointer UniformConstant 67 + 69(g_tTex2di4): 68(ptr) Variable UniformConstant + 72: TypeSampledImage 67 + 74: 6(float) Constant 1053609165 + 75: 62(fvec2) ConstantComposite 52 74 + 78: TypeImage 41(int) 2D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex2du4): 79(ptr) Variable UniformConstant + 83: TypeSampledImage 78 + 85: 6(float) Constant 1056964608 + 86: 6(float) Constant 1058642330 + 87: 62(fvec2) ConstantComposite 85 86 + 90: TypeImage 6(float) 3D sampled format:Unknown + 91: TypePointer UniformConstant 90 + 92(g_tTex3df4): 91(ptr) Variable UniformConstant + 95: TypeSampledImage 90 + 97: TypeVector 6(float) 3 + 98: 97(fvec3) ConstantComposite 24 39 52 + 99: 6(float) Constant 1067869798 + 100: 97(fvec3) ConstantComposite 25 26 99 + 103: TypeImage 28(int) 3D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex3di4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 97(fvec3) ConstantComposite 74 85 86 + 113: TypeImage 41(int) 3D sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTex3du4): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1060320051 + 121: 6(float) Constant 1061997773 + 122: 6(float) Constant 1063675494 + 123: 97(fvec3) ConstantComposite 120 121 122 + 126: TypeImage 6(float) Cube sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTexcdf4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 135: TypeImage 28(int) Cube sampled format:Unknown + 136: TypePointer UniformConstant 135 + 137(g_tTexcdi4): 136(ptr) Variable UniformConstant + 140: TypeSampledImage 135 + 144: TypeImage 41(int) Cube sampled format:Unknown + 145: TypePointer UniformConstant 144 + 146(g_tTexcdu4): 145(ptr) Variable UniformConstant + 149: TypeSampledImage 144 + 152: TypePointer Function 8(VS_OUTPUT) + 154: 28(int) Constant 0 + 155: 6(float) Constant 0 + 156: 7(fvec4) ConstantComposite 155 155 155 155 + 161: TypePointer Output 7(fvec4) +162(@entryPointOutput_Pos): 161(ptr) Variable Output +165(g_tTex1df4a): 15(ptr) Variable UniformConstant + 166(VS_OUTPUT): TypeStruct + 167: TypePointer Output 166(VS_OUTPUT) +168(@entryPointOutput): 167(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 62(txval21): 26(ptr) Variable Function - 73(txval22): 39(ptr) Variable Function - 85(txval30): 8(ptr) Variable Function - 98(txval31): 26(ptr) Variable Function - 108(txval32): 39(ptr) Variable Function - 121(txval40): 8(ptr) Variable Function - 130(txval41): 26(ptr) Variable Function - 139(txval42): 39(ptr) Variable Function - 150(vsout): 149(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 23: 7(fvec4) ImageSampleExplicitLod 19 20 Grad 21 22 - Store 9(txval10) 23 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Grad 21 22 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Grad 21 22 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 61: 7(fvec4) ImageSampleExplicitLod 57 59 Grad 60 60 - Store 50(txval20) 61 - 66: 63 Load 65(g_tTex2di4) - 67: 14 Load 16(g_sSamp) - 69: 68 SampledImage 66 67 - 72: 25(ivec4) ImageSampleExplicitLod 69 71 Grad 60 60 - Store 62(txval21) 72 - 77: 74 Load 76(g_tTex2du4) - 78: 14 Load 16(g_sSamp) - 80: 79 SampledImage 77 78 - 84: 38(ivec4) ImageSampleExplicitLod 80 83 Grad 60 60 - Store 73(txval22) 84 - 89: 86 Load 88(g_tTex3df4) - 90: 14 Load 16(g_sSamp) - 92: 91 SampledImage 89 90 - 97: 7(fvec4) ImageSampleExplicitLod 92 94 Grad 96 96 - Store 85(txval30) 97 - 102: 99 Load 101(g_tTex3di4) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 25(ivec4) ImageSampleExplicitLod 105 106 Grad 96 96 - Store 98(txval31) 107 - 112: 109 Load 111(g_tTex3du4) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 38(ivec4) ImageSampleExplicitLod 115 119 Grad 96 96 - Store 108(txval32) 120 - 125: 122 Load 124(g_tTexcdf4) - 126: 14 Load 16(g_sSamp) - 128: 127 SampledImage 125 126 - 129: 7(fvec4) ImageSampleExplicitLod 128 94 Grad 96 96 - Store 121(txval40) 129 - 134: 131 Load 133(g_tTexcdi4) - 135: 14 Load 16(g_sSamp) - 137: 136 SampledImage 134 135 - 138: 25(ivec4) ImageSampleExplicitLod 137 106 Grad 96 96 - Store 130(txval41) 138 - 143: 140 Load 142(g_tTexcdu4) - 144: 14 Load 16(g_sSamp) - 146: 145 SampledImage 143 144 - 147: 38(ivec4) ImageSampleExplicitLod 146 119 Grad 96 96 - Store 139(txval42) 147 - 154: 8(ptr) AccessChain 150(vsout) 151 - Store 154 153 - 157: 8(ptr) AccessChain 150(vsout) 151 - 158: 7(fvec4) Load 157 - Store 156(Pos) 158 + 163:8(VS_OUTPUT) FunctionCall 10(@main() + 164: 7(fvec4) CompositeExtract 163 0 + Store 162(@entryPointOutput_Pos) 164 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 66(txval21): 30(ptr) Variable Function + 77(txval22): 43(ptr) Variable Function + 89(txval30): 12(ptr) Variable Function + 102(txval31): 30(ptr) Variable Function + 112(txval32): 43(ptr) Variable Function + 125(txval40): 12(ptr) Variable Function + 134(txval41): 30(ptr) Variable Function + 143(txval42): 43(ptr) Variable Function + 153(vsout): 152(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 27: 7(fvec4) ImageSampleExplicitLod 23 24 Grad 25 26 + Store 13(txval10) 27 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Grad 25 26 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Grad 25 26 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 65: 7(fvec4) ImageSampleExplicitLod 61 63 Grad 64 64 + Store 54(txval20) 65 + 70: 67 Load 69(g_tTex2di4) + 71: 18 Load 20(g_sSamp) + 73: 72 SampledImage 70 71 + 76: 29(ivec4) ImageSampleExplicitLod 73 75 Grad 64 64 + Store 66(txval21) 76 + 81: 78 Load 80(g_tTex2du4) + 82: 18 Load 20(g_sSamp) + 84: 83 SampledImage 81 82 + 88: 42(ivec4) ImageSampleExplicitLod 84 87 Grad 64 64 + Store 77(txval22) 88 + 93: 90 Load 92(g_tTex3df4) + 94: 18 Load 20(g_sSamp) + 96: 95 SampledImage 93 94 + 101: 7(fvec4) ImageSampleExplicitLod 96 98 Grad 100 100 + Store 89(txval30) 101 + 106: 103 Load 105(g_tTex3di4) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 29(ivec4) ImageSampleExplicitLod 109 110 Grad 100 100 + Store 102(txval31) 111 + 116: 113 Load 115(g_tTex3du4) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 42(ivec4) ImageSampleExplicitLod 119 123 Grad 100 100 + Store 112(txval32) 124 + 129: 126 Load 128(g_tTexcdf4) + 130: 18 Load 20(g_sSamp) + 132: 131 SampledImage 129 130 + 133: 7(fvec4) ImageSampleExplicitLod 132 98 Grad 100 100 + Store 125(txval40) 133 + 138: 135 Load 137(g_tTexcdi4) + 139: 18 Load 20(g_sSamp) + 141: 140 SampledImage 138 139 + 142: 29(ivec4) ImageSampleExplicitLod 141 110 Grad 100 100 + Store 134(txval41) 142 + 147: 144 Load 146(g_tTexcdu4) + 148: 18 Load 20(g_sSamp) + 150: 149 SampledImage 147 148 + 151: 42(ivec4) ImageSampleExplicitLod 150 123 Grad 100 100 + Store 143(txval42) 151 + 157: 12(ptr) AccessChain 153(vsout) 154 + Store 157 156 + 158:8(VS_OUTPUT) Load 153(vsout) + ReturnValue 158 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 7938e527561..9da0f17fb5d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplegrad.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureGradOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureGradOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -21,12 +21,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureGradOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureGradOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -36,12 +36,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureGradOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureGradOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -51,12 +51,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureGradOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureGradOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -70,12 +70,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureGradOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureGradOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -89,12 +89,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureGradOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureGradOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -108,12 +108,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureGradOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureGradOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -131,12 +131,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureGradOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureGradOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -154,12 +154,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureGradOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureGradOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -176,9 +176,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -186,45 +186,51 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -233,16 +239,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureGradOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureGradOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -252,12 +258,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureGradOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureGradOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -267,12 +273,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureGradOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureGradOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -282,12 +288,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureGradOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureGradOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -301,12 +307,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureGradOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureGradOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -320,12 +326,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureGradOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureGradOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -339,12 +345,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureGradOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureGradOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -362,12 +368,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureGradOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureGradOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -385,12 +391,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureGradOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureGradOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -407,9 +413,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -417,273 +423,290 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 159 +// Id's are bound by 166 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 145 + EntryPoint Fragment 4 "main" 149 153 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 28 "txval11" - Name 31 "g_tTex1di4" - Name 41 "txval12" - Name 44 "g_tTex1du4" - Name 51 "txval20" - Name 54 "g_tTex2df4" - Name 66 "txval21" - Name 69 "g_tTex2di4" - Name 78 "txval22" - Name 81 "g_tTex2du4" - Name 92 "txval30" - Name 95 "g_tTex3df4" - Name 107 "txval31" - Name 110 "g_tTex3di4" - Name 118 "txval32" - Name 121 "g_tTex3du4" - Name 132 "PS_OUTPUT" - MemberName 132(PS_OUTPUT) 0 "Color" - MemberName 132(PS_OUTPUT) 1 "Depth" - Name 134 "psout" - Name 141 "Color" - Name 145 "Depth" - Name 149 "g_tTex1df4a" - Name 152 "g_tTexcdf4" - Name 155 "g_tTexcdi4" - Name 158 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 31(g_tTex1di4) DescriptorSet 0 - Decorate 44(g_tTex1du4) DescriptorSet 0 - Decorate 54(g_tTex2df4) DescriptorSet 0 - Decorate 69(g_tTex2di4) DescriptorSet 0 - Decorate 81(g_tTex2du4) DescriptorSet 0 - Decorate 95(g_tTex3df4) DescriptorSet 0 - Decorate 110(g_tTex3di4) DescriptorSet 0 - Decorate 121(g_tTex3du4) DescriptorSet 0 - Decorate 141(Color) Location 0 - Decorate 145(Depth) BuiltIn FragDepth - Decorate 149(g_tTex1df4a) DescriptorSet 0 - Decorate 149(g_tTex1df4a) Binding 1 - Decorate 152(g_tTexcdf4) DescriptorSet 0 - Decorate 155(g_tTexcdi4) DescriptorSet 0 - Decorate 158(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 32 "txval11" + Name 35 "g_tTex1di4" + Name 45 "txval12" + Name 48 "g_tTex1du4" + Name 55 "txval20" + Name 58 "g_tTex2df4" + Name 70 "txval21" + Name 73 "g_tTex2di4" + Name 82 "txval22" + Name 85 "g_tTex2du4" + Name 96 "txval30" + Name 99 "g_tTex3df4" + Name 111 "txval31" + Name 114 "g_tTex3di4" + Name 122 "txval32" + Name 125 "g_tTex3du4" + Name 137 "psout" + Name 146 "flattenTemp" + Name 149 "Color" + Name 153 "Depth" + Name 156 "g_tTex1df4a" + Name 159 "g_tTexcdf4" + Name 162 "g_tTexcdi4" + Name 165 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 85(g_tTex2du4) DescriptorSet 0 + Decorate 99(g_tTex3df4) DescriptorSet 0 + Decorate 114(g_tTex3di4) DescriptorSet 0 + Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 149(Color) Location 0 + Decorate 153(Depth) BuiltIn FragDepth + Decorate 156(g_tTex1df4a) DescriptorSet 0 + Decorate 156(g_tTex1df4a) Binding 1 + Decorate 159(g_tTexcdf4) DescriptorSet 0 + Decorate 162(g_tTexcdi4) DescriptorSet 0 + Decorate 165(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1066192077 - 22: 6(float) Constant 1067030938 - 23: TypeInt 32 1 - 24: 23(int) Constant 1 - 26: TypeVector 23(int) 4 - 27: TypePointer Function 26(ivec4) - 29: TypeImage 23(int) 1D sampled format:Unknown - 30: TypePointer UniformConstant 29 - 31(g_tTex1di4): 30(ptr) Variable UniformConstant - 34: TypeSampledImage 29 - 36: 6(float) Constant 1045220557 - 38: TypeInt 32 0 - 39: TypeVector 38(int) 4 - 40: TypePointer Function 39(ivec4) - 42: TypeImage 38(int) 1D sampled format:Unknown - 43: TypePointer UniformConstant 42 - 44(g_tTex1du4): 43(ptr) Variable UniformConstant - 47: TypeSampledImage 42 - 49: 6(float) Constant 1050253722 - 52: TypeImage 6(float) 2D sampled format:Unknown - 53: TypePointer UniformConstant 52 - 54(g_tTex2df4): 53(ptr) Variable UniformConstant - 57: TypeSampledImage 52 - 59: TypeVector 6(float) 2 - 60: 59(fvec2) ConstantComposite 20 36 - 61: 59(fvec2) ConstantComposite 21 22 - 62: TypeVector 23(int) 2 - 63: 23(int) Constant 0 - 64: 62(ivec2) ConstantComposite 24 63 - 67: TypeImage 23(int) 2D sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69(g_tTex2di4): 68(ptr) Variable UniformConstant - 72: TypeSampledImage 67 - 74: 6(float) Constant 1053609165 - 75: 59(fvec2) ConstantComposite 49 74 - 76: 62(ivec2) ConstantComposite 24 24 - 79: TypeImage 38(int) 2D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex2du4): 80(ptr) Variable UniformConstant - 84: TypeSampledImage 79 - 86: 6(float) Constant 1056964608 - 87: 6(float) Constant 1058642330 - 88: 59(fvec2) ConstantComposite 86 87 - 89: 23(int) Constant 4294967295 - 90: 62(ivec2) ConstantComposite 24 89 - 93: TypeImage 6(float) 3D sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTex3df4): 94(ptr) Variable UniformConstant - 98: TypeSampledImage 93 - 100: TypeVector 6(float) 3 - 101: 100(fvec3) ConstantComposite 20 36 49 - 102: 6(float) Constant 1067869798 - 103: 100(fvec3) ConstantComposite 21 22 102 - 104: TypeVector 23(int) 3 - 105: 104(ivec3) ConstantComposite 24 63 24 - 108: TypeImage 23(int) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3di4): 109(ptr) Variable UniformConstant - 113: TypeSampledImage 108 - 115: 100(fvec3) ConstantComposite 74 86 87 - 116: 104(ivec3) ConstantComposite 24 24 24 - 119: TypeImage 38(int) 3D sampled format:Unknown - 120: TypePointer UniformConstant 119 - 121(g_tTex3du4): 120(ptr) Variable UniformConstant - 124: TypeSampledImage 119 - 126: 6(float) Constant 1060320051 - 127: 6(float) Constant 1061997773 - 128: 6(float) Constant 1063675494 - 129: 100(fvec3) ConstantComposite 126 127 128 - 130: 104(ivec3) ConstantComposite 24 63 89 - 132(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 133: TypePointer Function 132(PS_OUTPUT) - 135: 6(float) Constant 1065353216 - 136: 7(fvec4) ConstantComposite 135 135 135 135 - 138: TypePointer Function 6(float) - 140: TypePointer Output 7(fvec4) - 141(Color): 140(ptr) Variable Output - 144: TypePointer Output 6(float) - 145(Depth): 144(ptr) Variable Output -149(g_tTex1df4a): 11(ptr) Variable UniformConstant - 150: TypeImage 6(float) Cube sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTexcdf4): 151(ptr) Variable UniformConstant - 153: TypeImage 23(int) Cube sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTexcdi4): 154(ptr) Variable UniformConstant - 156: TypeImage 38(int) Cube sampled format:Unknown - 157: TypePointer UniformConstant 156 - 158(g_tTexcdu4): 157(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1066192077 + 26: 6(float) Constant 1067030938 + 27: TypeInt 32 1 + 28: 27(int) Constant 1 + 30: TypeVector 27(int) 4 + 31: TypePointer Function 30(ivec4) + 33: TypeImage 27(int) 1D sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 40: 6(float) Constant 1045220557 + 42: TypeInt 32 0 + 43: TypeVector 42(int) 4 + 44: TypePointer Function 43(ivec4) + 46: TypeImage 42(int) 1D sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 51: TypeSampledImage 46 + 53: 6(float) Constant 1050253722 + 56: TypeImage 6(float) 2D sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: TypeVector 6(float) 2 + 64: 63(fvec2) ConstantComposite 24 40 + 65: 63(fvec2) ConstantComposite 25 26 + 66: TypeVector 27(int) 2 + 67: 27(int) Constant 0 + 68: 66(ivec2) ConstantComposite 28 67 + 71: TypeImage 27(int) 2D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex2di4): 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 78: 6(float) Constant 1053609165 + 79: 63(fvec2) ConstantComposite 53 78 + 80: 66(ivec2) ConstantComposite 28 28 + 83: TypeImage 42(int) 2D sampled format:Unknown + 84: TypePointer UniformConstant 83 + 85(g_tTex2du4): 84(ptr) Variable UniformConstant + 88: TypeSampledImage 83 + 90: 6(float) Constant 1056964608 + 91: 6(float) Constant 1058642330 + 92: 63(fvec2) ConstantComposite 90 91 + 93: 27(int) Constant 4294967295 + 94: 66(ivec2) ConstantComposite 28 93 + 97: TypeImage 6(float) 3D sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTex3df4): 98(ptr) Variable UniformConstant + 102: TypeSampledImage 97 + 104: TypeVector 6(float) 3 + 105: 104(fvec3) ConstantComposite 24 40 53 + 106: 6(float) Constant 1067869798 + 107: 104(fvec3) ConstantComposite 25 26 106 + 108: TypeVector 27(int) 3 + 109: 108(ivec3) ConstantComposite 28 67 28 + 112: TypeImage 27(int) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3di4): 113(ptr) Variable UniformConstant + 117: TypeSampledImage 112 + 119: 104(fvec3) ConstantComposite 78 90 91 + 120: 108(ivec3) ConstantComposite 28 28 28 + 123: TypeImage 42(int) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3du4): 124(ptr) Variable UniformConstant + 128: TypeSampledImage 123 + 130: 6(float) Constant 1060320051 + 131: 6(float) Constant 1061997773 + 132: 6(float) Constant 1063675494 + 133: 104(fvec3) ConstantComposite 130 131 132 + 134: 108(ivec3) ConstantComposite 28 67 93 + 136: TypePointer Function 8(PS_OUTPUT) + 138: 6(float) Constant 1065353216 + 139: 7(fvec4) ConstantComposite 138 138 138 138 + 141: TypePointer Function 6(float) + 148: TypePointer Output 7(fvec4) + 149(Color): 148(ptr) Variable Output + 152: TypePointer Output 6(float) + 153(Depth): 152(ptr) Variable Output +156(g_tTex1df4a): 15(ptr) Variable UniformConstant + 157: TypeImage 6(float) Cube sampled format:Unknown + 158: TypePointer UniformConstant 157 + 159(g_tTexcdf4): 158(ptr) Variable UniformConstant + 160: TypeImage 27(int) Cube sampled format:Unknown + 161: TypePointer UniformConstant 160 + 162(g_tTexcdi4): 161(ptr) Variable UniformConstant + 163: TypeImage 42(int) Cube sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTexcdu4): 164(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 28(txval11): 27(ptr) Variable Function - 41(txval12): 40(ptr) Variable Function - 51(txval20): 8(ptr) Variable Function - 66(txval21): 27(ptr) Variable Function - 78(txval22): 40(ptr) Variable Function - 92(txval30): 8(ptr) Variable Function - 107(txval31): 27(ptr) Variable Function - 118(txval32): 40(ptr) Variable Function - 134(psout): 133(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleExplicitLod 19 20 Grad ConstOffset 21 22 24 - Store 9(txval10) 25 - 32: 29 Load 31(g_tTex1di4) - 33: 14 Load 16(g_sSamp) - 35: 34 SampledImage 32 33 - 37: 26(ivec4) ImageSampleExplicitLod 35 36 Grad ConstOffset 21 22 24 - Store 28(txval11) 37 - 45: 42 Load 44(g_tTex1du4) - 46: 14 Load 16(g_sSamp) - 48: 47 SampledImage 45 46 - 50: 39(ivec4) ImageSampleExplicitLod 48 49 Grad ConstOffset 21 22 24 - Store 41(txval12) 50 - 55: 52 Load 54(g_tTex2df4) - 56: 14 Load 16(g_sSamp) - 58: 57 SampledImage 55 56 - 65: 7(fvec4) ImageSampleExplicitLod 58 60 Grad ConstOffset 60 61 64 - Store 51(txval20) 65 - 70: 67 Load 69(g_tTex2di4) - 71: 14 Load 16(g_sSamp) - 73: 72 SampledImage 70 71 - 77: 26(ivec4) ImageSampleExplicitLod 73 75 Grad ConstOffset 60 61 76 - Store 66(txval21) 77 - 82: 79 Load 81(g_tTex2du4) - 83: 14 Load 16(g_sSamp) - 85: 84 SampledImage 82 83 - 91: 39(ivec4) ImageSampleExplicitLod 85 88 Grad ConstOffset 60 61 90 - Store 78(txval22) 91 - 96: 93 Load 95(g_tTex3df4) - 97: 14 Load 16(g_sSamp) - 99: 98 SampledImage 96 97 - 106: 7(fvec4) ImageSampleExplicitLod 99 101 Grad ConstOffset 103 103 105 - Store 92(txval30) 106 - 111: 108 Load 110(g_tTex3di4) - 112: 14 Load 16(g_sSamp) - 114: 113 SampledImage 111 112 - 117: 26(ivec4) ImageSampleExplicitLod 114 115 Grad ConstOffset 103 103 116 - Store 107(txval31) 117 - 122: 119 Load 121(g_tTex3du4) - 123: 14 Load 16(g_sSamp) - 125: 124 SampledImage 122 123 - 131: 39(ivec4) ImageSampleExplicitLod 125 129 Grad ConstOffset 103 103 130 - Store 118(txval32) 131 - 137: 8(ptr) AccessChain 134(psout) 63 - Store 137 136 - 139: 138(ptr) AccessChain 134(psout) 24 - Store 139 135 - 142: 8(ptr) AccessChain 134(psout) 63 - 143: 7(fvec4) Load 142 - Store 141(Color) 143 - 146: 138(ptr) AccessChain 134(psout) 24 - 147: 6(float) Load 146 - Store 145(Depth) 147 +146(flattenTemp): 136(ptr) Variable Function + 147:8(PS_OUTPUT) FunctionCall 10(@main() + Store 146(flattenTemp) 147 + 150: 12(ptr) AccessChain 146(flattenTemp) 67 + 151: 7(fvec4) Load 150 + Store 149(Color) 151 + 154: 141(ptr) AccessChain 146(flattenTemp) 28 + 155: 6(float) Load 154 + Store 153(Depth) 155 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 32(txval11): 31(ptr) Variable Function + 45(txval12): 44(ptr) Variable Function + 55(txval20): 12(ptr) Variable Function + 70(txval21): 31(ptr) Variable Function + 82(txval22): 44(ptr) Variable Function + 96(txval30): 12(ptr) Variable Function + 111(txval31): 31(ptr) Variable Function + 122(txval32): 44(ptr) Variable Function + 137(psout): 136(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleExplicitLod 23 24 Grad ConstOffset 25 26 28 + Store 13(txval10) 29 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 41: 30(ivec4) ImageSampleExplicitLod 39 40 Grad ConstOffset 25 26 28 + Store 32(txval11) 41 + 49: 46 Load 48(g_tTex1du4) + 50: 18 Load 20(g_sSamp) + 52: 51 SampledImage 49 50 + 54: 43(ivec4) ImageSampleExplicitLod 52 53 Grad ConstOffset 25 26 28 + Store 45(txval12) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 69: 7(fvec4) ImageSampleExplicitLod 62 64 Grad ConstOffset 64 65 68 + Store 55(txval20) 69 + 74: 71 Load 73(g_tTex2di4) + 75: 18 Load 20(g_sSamp) + 77: 76 SampledImage 74 75 + 81: 30(ivec4) ImageSampleExplicitLod 77 79 Grad ConstOffset 64 65 80 + Store 70(txval21) 81 + 86: 83 Load 85(g_tTex2du4) + 87: 18 Load 20(g_sSamp) + 89: 88 SampledImage 86 87 + 95: 43(ivec4) ImageSampleExplicitLod 89 92 Grad ConstOffset 64 65 94 + Store 82(txval22) 95 + 100: 97 Load 99(g_tTex3df4) + 101: 18 Load 20(g_sSamp) + 103: 102 SampledImage 100 101 + 110: 7(fvec4) ImageSampleExplicitLod 103 105 Grad ConstOffset 107 107 109 + Store 96(txval30) 110 + 115: 112 Load 114(g_tTex3di4) + 116: 18 Load 20(g_sSamp) + 118: 117 SampledImage 115 116 + 121: 30(ivec4) ImageSampleExplicitLod 118 119 Grad ConstOffset 107 107 120 + Store 111(txval31) 121 + 126: 123 Load 125(g_tTex3du4) + 127: 18 Load 20(g_sSamp) + 129: 128 SampledImage 126 127 + 135: 43(ivec4) ImageSampleExplicitLod 129 133 Grad ConstOffset 107 107 134 + Store 122(txval32) 135 + 140: 12(ptr) AccessChain 137(psout) 67 + Store 140 139 + 142: 141(ptr) AccessChain 137(psout) 28 + Store 142 138 + 143:8(PS_OUTPUT) Load 137(psout) + ReturnValue 143 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index dee78bc48ab..a2abd0ffa5b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplegrad.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureGradOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureGradOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -22,12 +22,12 @@ gl_FragCoord origin is upper left 0:27 Constant: 0:27 1 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureGradOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureGradOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -38,12 +38,12 @@ gl_FragCoord origin is upper left 0:28 Constant: 0:28 1 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureGradOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureGradOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -54,12 +54,12 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 1 (const int) 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureGradOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureGradOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -74,12 +74,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureGradOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureGradOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -94,12 +94,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureGradOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureGradOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -113,9 +113,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? 0 (const int) -0:35 move second child to first child (temp 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 Color: direct index for structure ( temp 4-component vector of float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: @@ -123,42 +123,48 @@ gl_FragCoord origin is upper left 0:35 1.000000 0:35 1.000000 0:35 1.000000 -0:36 move second child to first child (temp float) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:36 move second child to first child ( temp float) +0:36 Depth: direct index for structure ( temp float) +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:38 Color: direct index for structure (temp 4-component vector of float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 0 (const int) -0:38 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:38 Depth: direct index for structure (temp float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 1 (const int) -0:38 Branch: Return +0:38 Branch: Return with expression +0:38 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -167,16 +173,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureGradOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureGradOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -187,12 +193,12 @@ gl_FragCoord origin is upper left 0:27 Constant: 0:27 1 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureGradOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureGradOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -203,12 +209,12 @@ gl_FragCoord origin is upper left 0:28 Constant: 0:28 1 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureGradOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureGradOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -219,12 +225,12 @@ gl_FragCoord origin is upper left 0:29 Constant: 0:29 1 (const int) 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureGradOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureGradOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -239,12 +245,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureGradOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureGradOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -259,12 +265,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureGradOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureGradOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -278,9 +284,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 1 (const int) 0:? 0 (const int) -0:35 move second child to first child (temp 4-component vector of float) -0:35 Color: direct index for structure (temp 4-component vector of float) -0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 Color: direct index for structure ( temp 4-component vector of float) +0:35 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: @@ -288,213 +294,230 @@ gl_FragCoord origin is upper left 0:35 1.000000 0:35 1.000000 0:35 1.000000 -0:36 move second child to first child (temp float) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:36 move second child to first child ( temp float) +0:36 Depth: direct index for structure ( temp float) +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:36 Constant: 0:36 1 (const int) 0:36 Constant: 0:36 1.000000 -0:38 Sequence -0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:38 Color: direct index for structure (temp 4-component vector of float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 0 (const int) -0:38 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:38 Depth: direct index for structure (temp float) -0:38 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:38 Constant: -0:38 1 (const int) -0:38 Branch: Return +0:38 Branch: Return with expression +0:38 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'g_tTexcdf4' (uniform textureCubeArray) -0:? 'g_tTexcdi4' (uniform itextureCubeArray) -0:? 'g_tTexcdu4' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'g_tTexcdf4' ( uniform textureCubeArray) +0:? 'g_tTexcdi4' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 113 +// Id's are bound by 120 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 95 99 + EntryPoint Fragment 4 "main" 103 107 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 31 "txval11" - Name 34 "g_tTex1di4" - Name 43 "txval12" - Name 46 "g_tTex1du4" - Name 52 "txval20" - Name 55 "g_tTex2df4" - Name 68 "txval21" - Name 71 "g_tTex2di4" - Name 77 "txval22" - Name 80 "g_tTex2du4" - Name 86 "PS_OUTPUT" - MemberName 86(PS_OUTPUT) 0 "Color" - MemberName 86(PS_OUTPUT) 1 "Depth" - Name 88 "psout" - Name 95 "Color" - Name 99 "Depth" - Name 103 "g_tTex1df4a" - Name 106 "g_tTexcdf4" - Name 109 "g_tTexcdi4" - Name 112 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 - Decorate 46(g_tTex1du4) DescriptorSet 0 - Decorate 55(g_tTex2df4) DescriptorSet 0 - Decorate 71(g_tTex2di4) DescriptorSet 0 - Decorate 80(g_tTex2du4) DescriptorSet 0 - Decorate 95(Color) Location 0 - Decorate 99(Depth) BuiltIn FragDepth - Decorate 103(g_tTex1df4a) DescriptorSet 0 - Decorate 103(g_tTex1df4a) Binding 1 - Decorate 106(g_tTexcdf4) DescriptorSet 0 - Decorate 109(g_tTexcdi4) DescriptorSet 0 - Decorate 112(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 35 "txval11" + Name 38 "g_tTex1di4" + Name 47 "txval12" + Name 50 "g_tTex1du4" + Name 56 "txval20" + Name 59 "g_tTex2df4" + Name 72 "txval21" + Name 75 "g_tTex2di4" + Name 81 "txval22" + Name 84 "g_tTex2du4" + Name 91 "psout" + Name 100 "flattenTemp" + Name 103 "Color" + Name 107 "Depth" + Name 110 "g_tTex1df4a" + Name 113 "g_tTexcdf4" + Name 116 "g_tTexcdi4" + Name 119 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 75(g_tTex2di4) DescriptorSet 0 + Decorate 84(g_tTex2du4) DescriptorSet 0 + Decorate 103(Color) Location 0 + Decorate 107(Depth) BuiltIn FragDepth + Decorate 110(g_tTex1df4a) DescriptorSet 0 + Decorate 110(g_tTex1df4a) Binding 1 + Decorate 113(g_tTexcdf4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 119(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1066192077 - 25: 6(float) Constant 1067030938 - 26: TypeInt 32 1 - 27: 26(int) Constant 1 - 29: TypeVector 26(int) 4 - 30: TypePointer Function 29(ivec4) - 32: TypeImage 26(int) 1D array sampled format:Unknown - 33: TypePointer UniformConstant 32 - 34(g_tTex1di4): 33(ptr) Variable UniformConstant - 37: TypeSampledImage 32 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 53: TypeImage 6(float) 2D array sampled format:Unknown - 54: TypePointer UniformConstant 53 - 55(g_tTex2df4): 54(ptr) Variable UniformConstant - 58: TypeSampledImage 53 - 60: TypeVector 6(float) 3 - 61: 6(float) Constant 1050253722 - 62: 60(fvec3) ConstantComposite 21 22 61 - 63: 20(fvec2) ConstantComposite 24 25 - 64: TypeVector 26(int) 2 - 65: 26(int) Constant 0 - 66: 64(ivec2) ConstantComposite 27 65 - 69: TypeImage 26(int) 2D array sampled format:Unknown - 70: TypePointer UniformConstant 69 - 71(g_tTex2di4): 70(ptr) Variable UniformConstant - 74: TypeSampledImage 69 - 78: TypeImage 40(int) 2D array sampled format:Unknown - 79: TypePointer UniformConstant 78 - 80(g_tTex2du4): 79(ptr) Variable UniformConstant - 83: TypeSampledImage 78 - 86(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 87: TypePointer Function 86(PS_OUTPUT) - 89: 6(float) Constant 1065353216 - 90: 7(fvec4) ConstantComposite 89 89 89 89 - 92: TypePointer Function 6(float) - 94: TypePointer Output 7(fvec4) - 95(Color): 94(ptr) Variable Output - 98: TypePointer Output 6(float) - 99(Depth): 98(ptr) Variable Output -103(g_tTex1df4a): 11(ptr) Variable UniformConstant - 104: TypeImage 6(float) Cube array sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdf4): 105(ptr) Variable UniformConstant - 107: TypeImage 26(int) Cube array sampled format:Unknown - 108: TypePointer UniformConstant 107 - 109(g_tTexcdi4): 108(ptr) Variable UniformConstant - 110: TypeImage 40(int) Cube array sampled format:Unknown - 111: TypePointer UniformConstant 110 - 112(g_tTexcdu4): 111(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1066192077 + 29: 6(float) Constant 1067030938 + 30: TypeInt 32 1 + 31: 30(int) Constant 1 + 33: TypeVector 30(int) 4 + 34: TypePointer Function 33(ivec4) + 36: TypeImage 30(int) 1D array sampled format:Unknown + 37: TypePointer UniformConstant 36 + 38(g_tTex1di4): 37(ptr) Variable UniformConstant + 41: TypeSampledImage 36 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 57: TypeImage 6(float) 2D array sampled format:Unknown + 58: TypePointer UniformConstant 57 + 59(g_tTex2df4): 58(ptr) Variable UniformConstant + 62: TypeSampledImage 57 + 64: TypeVector 6(float) 3 + 65: 6(float) Constant 1050253722 + 66: 64(fvec3) ConstantComposite 25 26 65 + 67: 24(fvec2) ConstantComposite 28 29 + 68: TypeVector 30(int) 2 + 69: 30(int) Constant 0 + 70: 68(ivec2) ConstantComposite 31 69 + 73: TypeImage 30(int) 2D array sampled format:Unknown + 74: TypePointer UniformConstant 73 + 75(g_tTex2di4): 74(ptr) Variable UniformConstant + 78: TypeSampledImage 73 + 82: TypeImage 44(int) 2D array sampled format:Unknown + 83: TypePointer UniformConstant 82 + 84(g_tTex2du4): 83(ptr) Variable UniformConstant + 87: TypeSampledImage 82 + 90: TypePointer Function 8(PS_OUTPUT) + 92: 6(float) Constant 1065353216 + 93: 7(fvec4) ConstantComposite 92 92 92 92 + 95: TypePointer Function 6(float) + 102: TypePointer Output 7(fvec4) + 103(Color): 102(ptr) Variable Output + 106: TypePointer Output 6(float) + 107(Depth): 106(ptr) Variable Output +110(g_tTex1df4a): 15(ptr) Variable UniformConstant + 111: TypeImage 6(float) Cube array sampled format:Unknown + 112: TypePointer UniformConstant 111 + 113(g_tTexcdf4): 112(ptr) Variable UniformConstant + 114: TypeImage 30(int) Cube array sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTexcdi4): 115(ptr) Variable UniformConstant + 117: TypeImage 44(int) Cube array sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTexcdu4): 118(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 31(txval11): 30(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 52(txval20): 8(ptr) Variable Function - 68(txval21): 30(ptr) Variable Function - 77(txval22): 42(ptr) Variable Function - 88(psout): 87(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 28: 7(fvec4) ImageSampleExplicitLod 19 23 Grad ConstOffset 24 25 27 - Store 9(txval10) 28 - 35: 32 Load 34(g_tTex1di4) - 36: 14 Load 16(g_sSamp) - 38: 37 SampledImage 35 36 - 39: 29(ivec4) ImageSampleExplicitLod 38 23 Grad ConstOffset 24 25 27 - Store 31(txval11) 39 - 47: 44 Load 46(g_tTex1du4) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 51: 41(ivec4) ImageSampleExplicitLod 50 23 Grad ConstOffset 24 25 27 - Store 43(txval12) 51 - 56: 53 Load 55(g_tTex2df4) - 57: 14 Load 16(g_sSamp) - 59: 58 SampledImage 56 57 - 67: 7(fvec4) ImageSampleExplicitLod 59 62 Grad ConstOffset 63 63 66 - Store 52(txval20) 67 - 72: 69 Load 71(g_tTex2di4) - 73: 14 Load 16(g_sSamp) - 75: 74 SampledImage 72 73 - 76: 29(ivec4) ImageSampleExplicitLod 75 62 Grad ConstOffset 63 63 66 - Store 68(txval21) 76 - 81: 78 Load 80(g_tTex2du4) - 82: 14 Load 16(g_sSamp) - 84: 83 SampledImage 81 82 - 85: 41(ivec4) ImageSampleExplicitLod 84 62 Grad ConstOffset 63 63 66 - Store 77(txval22) 85 - 91: 8(ptr) AccessChain 88(psout) 65 - Store 91 90 - 93: 92(ptr) AccessChain 88(psout) 27 - Store 93 89 - 96: 8(ptr) AccessChain 88(psout) 65 - 97: 7(fvec4) Load 96 - Store 95(Color) 97 - 100: 92(ptr) AccessChain 88(psout) 27 - 101: 6(float) Load 100 - Store 99(Depth) 101 +100(flattenTemp): 90(ptr) Variable Function + 101:8(PS_OUTPUT) FunctionCall 10(@main() + Store 100(flattenTemp) 101 + 104: 12(ptr) AccessChain 100(flattenTemp) 69 + 105: 7(fvec4) Load 104 + Store 103(Color) 105 + 108: 95(ptr) AccessChain 100(flattenTemp) 31 + 109: 6(float) Load 108 + Store 107(Depth) 109 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 35(txval11): 34(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 56(txval20): 12(ptr) Variable Function + 72(txval21): 34(ptr) Variable Function + 81(txval22): 46(ptr) Variable Function + 91(psout): 90(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 32: 7(fvec4) ImageSampleExplicitLod 23 27 Grad ConstOffset 28 29 31 + Store 13(txval10) 32 + 39: 36 Load 38(g_tTex1di4) + 40: 18 Load 20(g_sSamp) + 42: 41 SampledImage 39 40 + 43: 33(ivec4) ImageSampleExplicitLod 42 27 Grad ConstOffset 28 29 31 + Store 35(txval11) 43 + 51: 48 Load 50(g_tTex1du4) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 55: 45(ivec4) ImageSampleExplicitLod 54 27 Grad ConstOffset 28 29 31 + Store 47(txval12) 55 + 60: 57 Load 59(g_tTex2df4) + 61: 18 Load 20(g_sSamp) + 63: 62 SampledImage 60 61 + 71: 7(fvec4) ImageSampleExplicitLod 63 66 Grad ConstOffset 67 67 70 + Store 56(txval20) 71 + 76: 73 Load 75(g_tTex2di4) + 77: 18 Load 20(g_sSamp) + 79: 78 SampledImage 76 77 + 80: 33(ivec4) ImageSampleExplicitLod 79 66 Grad ConstOffset 67 67 70 + Store 72(txval21) 80 + 85: 82 Load 84(g_tTex2du4) + 86: 18 Load 20(g_sSamp) + 88: 87 SampledImage 85 86 + 89: 45(ivec4) ImageSampleExplicitLod 88 66 Grad ConstOffset 67 67 70 + Store 81(txval22) 89 + 94: 12(ptr) AccessChain 91(psout) 69 + Store 94 93 + 96: 95(ptr) AccessChain 91(psout) 31 + Store 96 92 + 97:8(PS_OUTPUT) Load 91(psout) + ReturnValue 97 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index afdedb7dad1..88c7de93ca0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -2,52 +2,52 @@ hlsl.samplelevel.array.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureLod (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureLod ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:27 Constant: 0:27 0.750000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureLod (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4a' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureLod ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4a' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:28 Constant: 0:28 0.750000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureLod (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4a' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureLod ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4a' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:29 Constant: 0:29 0.750000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureLod (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4a' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureLod ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4a' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -55,12 +55,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 0.750000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureLod (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4a' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureLod ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4a' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -68,12 +68,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 0.750000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureLod (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4a' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureLod ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4a' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -81,12 +81,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 0.750000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureLod (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4a' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureLod ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4a' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,12 +95,12 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureLod (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4a' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureLod ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -109,12 +109,12 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0.750000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureLod (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4a' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureLod ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -122,9 +122,9 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.750000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -132,42 +132,48 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -176,52 +182,52 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:24 Function Parameters: 0:? Sequence 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval10' (temp 4-component vector of float) -0:27 textureLod (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1DArray) -0:27 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval10' ( temp 4-component vector of float) +0:27 textureLod ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1DArray) +0:27 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:27 Constant: 0:27 0.750000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval11' (temp 4-component vector of int) -0:28 textureLod (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler1DArray) -0:28 'g_tTex1di4a' (uniform itexture1DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval11' ( temp 4-component vector of int) +0:28 textureLod ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler1DArray) +0:28 'g_tTex1di4a' ( uniform itexture1DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 0:28 Constant: 0:28 0.750000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval12' (temp 4-component vector of uint) -0:29 textureLod (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler1DArray) -0:29 'g_tTex1du4a' (uniform utexture1DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval12' ( temp 4-component vector of uint) +0:29 textureLod ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler1DArray) +0:29 'g_tTex1du4a' ( uniform utexture1DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:29 Constant: 0:29 0.750000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval20' (temp 4-component vector of float) -0:31 textureLod (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler2DArray) -0:31 'g_tTex2df4a' (uniform texture2DArray) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval20' ( temp 4-component vector of float) +0:31 textureLod ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler2DArray) +0:31 'g_tTex2df4a' ( uniform texture2DArray) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -229,12 +235,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 0.750000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval21' (temp 4-component vector of int) -0:32 textureLod (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler2DArray) -0:32 'g_tTex2di4a' (uniform itexture2DArray) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval21' ( temp 4-component vector of int) +0:32 textureLod ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler2DArray) +0:32 'g_tTex2di4a' ( uniform itexture2DArray) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -242,12 +248,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 0.750000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval22' (temp 4-component vector of uint) -0:33 textureLod (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler2DArray) -0:33 'g_tTex2du4a' (uniform utexture2DArray) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval22' ( temp 4-component vector of uint) +0:33 textureLod ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler2DArray) +0:33 'g_tTex2du4a' ( uniform utexture2DArray) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -255,12 +261,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 0.750000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval40' (temp 4-component vector of float) -0:35 textureLod (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp samplerCubeArray) -0:35 'g_tTexcdf4a' (uniform textureCubeArray) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval40' ( temp 4-component vector of float) +0:35 textureLod ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp samplerCubeArray) +0:35 'g_tTexcdf4a' ( uniform textureCubeArray) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -269,12 +275,12 @@ gl_FragCoord origin is upper left 0:35 Constant: 0:35 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval41' (temp 4-component vector of int) -0:36 textureLod (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isamplerCubeArray) -0:36 'g_tTexcdi4a' (uniform itextureCubeArray) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval41' ( temp 4-component vector of int) +0:36 textureLod ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isamplerCubeArray) +0:36 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -283,12 +289,12 @@ gl_FragCoord origin is upper left 0:36 Constant: 0:36 0.750000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval42' (temp 4-component vector of uint) -0:37 textureLod (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usamplerCubeArray) -0:37 'g_tTexcdu4a' (uniform utextureCubeArray) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval42' ( temp 4-component vector of uint) +0:37 textureLod ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usamplerCubeArray) +0:37 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -296,9 +302,9 @@ gl_FragCoord origin is upper left 0:? 1.000000 0:37 Constant: 0:37 0.750000 -0:39 move second child to first child (temp 4-component vector of float) -0:39 Color: direct index for structure (temp 4-component vector of float) -0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 Color: direct index for structure ( temp 4-component vector of float) +0:39 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:39 Constant: 0:39 0 (const int) 0:39 Constant: @@ -306,246 +312,263 @@ gl_FragCoord origin is upper left 0:39 1.000000 0:39 1.000000 0:39 1.000000 -0:40 move second child to first child (temp float) -0:40 Depth: direct index for structure (temp float) -0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:40 move second child to first child ( temp float) +0:40 Depth: direct index for structure ( temp float) +0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:40 Constant: 0:40 1 (const int) 0:40 Constant: 0:40 1.000000 -0:42 Sequence -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:42 Color: direct index for structure (temp 4-component vector of float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 0 (const int) -0:42 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:42 Depth: direct index for structure (temp float) -0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:42 Constant: -0:42 1 (const int) -0:42 Branch: Return +0:42 Branch: Return with expression +0:42 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:24 Color: direct index for structure ( temp 4-component vector of float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:24 Depth: direct index for structure ( temp float) +0:24 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:24 Constant: +0:24 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'g_tTexcdf4a' (uniform textureCubeArray) -0:? 'g_tTexcdi4a' (uniform itextureCubeArray) -0:? 'g_tTexcdu4a' (uniform utextureCubeArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTexcdf4a' ( uniform textureCubeArray) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 140 +// Id's are bound by 147 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 131 135 + EntryPoint Fragment 4 "main" 139 143 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4a" - Name 16 "g_sSamp" - Name 29 "txval11" - Name 32 "g_tTex1di4a" - Name 43 "txval12" - Name 46 "g_tTex1du4a" - Name 54 "txval20" - Name 57 "g_tTex2df4a" - Name 65 "txval21" - Name 68 "g_tTex2di4a" - Name 76 "txval22" - Name 79 "g_tTex2du4a" - Name 88 "txval40" - Name 91 "g_tTexcdf4a" - Name 98 "txval41" - Name 101 "g_tTexcdi4a" - Name 108 "txval42" - Name 111 "g_tTexcdu4a" - Name 121 "PS_OUTPUT" - MemberName 121(PS_OUTPUT) 0 "Color" - MemberName 121(PS_OUTPUT) 1 "Depth" - Name 123 "psout" - Name 131 "Color" - Name 135 "Depth" - Name 139 "g_tTex1df4" - Decorate 12(g_tTex1df4a) DescriptorSet 0 - Decorate 12(g_tTex1df4a) Binding 1 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4a) DescriptorSet 0 - Decorate 46(g_tTex1du4a) DescriptorSet 0 - Decorate 57(g_tTex2df4a) DescriptorSet 0 - Decorate 68(g_tTex2di4a) DescriptorSet 0 - Decorate 79(g_tTex2du4a) DescriptorSet 0 - Decorate 91(g_tTexcdf4a) DescriptorSet 0 - Decorate 101(g_tTexcdi4a) DescriptorSet 0 - Decorate 111(g_tTexcdu4a) DescriptorSet 0 - Decorate 131(Color) Location 0 - Decorate 135(Depth) BuiltIn FragDepth - Decorate 139(g_tTex1df4) DescriptorSet 0 - Decorate 139(g_tTex1df4) Binding 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4a" + Name 20 "g_sSamp" + Name 33 "txval11" + Name 36 "g_tTex1di4a" + Name 47 "txval12" + Name 50 "g_tTex1du4a" + Name 58 "txval20" + Name 61 "g_tTex2df4a" + Name 69 "txval21" + Name 72 "g_tTex2di4a" + Name 80 "txval22" + Name 83 "g_tTex2du4a" + Name 92 "txval40" + Name 95 "g_tTexcdf4a" + Name 102 "txval41" + Name 105 "g_tTexcdi4a" + Name 112 "txval42" + Name 115 "g_tTexcdu4a" + Name 126 "psout" + Name 136 "flattenTemp" + Name 139 "Color" + Name 143 "Depth" + Name 146 "g_tTex1df4" + Decorate 16(g_tTex1df4a) DescriptorSet 0 + Decorate 16(g_tTex1df4a) Binding 1 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 50(g_tTex1du4a) DescriptorSet 0 + Decorate 61(g_tTex2df4a) DescriptorSet 0 + Decorate 72(g_tTex2di4a) DescriptorSet 0 + Decorate 83(g_tTex2du4a) DescriptorSet 0 + Decorate 95(g_tTexcdf4a) DescriptorSet 0 + Decorate 105(g_tTexcdi4a) DescriptorSet 0 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 139(Color) Location 0 + Decorate 143(Depth) BuiltIn FragDepth + Decorate 146(g_tTex1df4) DescriptorSet 0 + Decorate 146(g_tTex1df4) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4a): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 26: TypeInt 32 1 - 27: TypeVector 26(int) 4 - 28: TypePointer Function 27(ivec4) - 30: TypeImage 26(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4a): 31(ptr) Variable UniformConstant - 35: TypeSampledImage 30 - 37: 6(float) Constant 1050253722 - 38: 20(fvec2) ConstantComposite 22 37 - 40: TypeInt 32 0 - 41: TypeVector 40(int) 4 - 42: TypePointer Function 41(ivec4) - 44: TypeImage 40(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4a): 45(ptr) Variable UniformConstant - 49: TypeSampledImage 44 - 51: 6(float) Constant 1053609165 - 52: 20(fvec2) ConstantComposite 37 51 - 55: TypeImage 6(float) 2D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4a): 56(ptr) Variable UniformConstant - 60: TypeSampledImage 55 - 62: TypeVector 6(float) 3 - 63: 62(fvec3) ConstantComposite 21 22 37 - 66: TypeImage 26(int) 2D array sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex2di4a): 67(ptr) Variable UniformConstant - 71: TypeSampledImage 66 - 73: 6(float) Constant 1056964608 - 74: 62(fvec3) ConstantComposite 37 51 73 - 77: TypeImage 40(int) 2D array sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4a): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1058642330 - 85: 6(float) Constant 1060320051 - 86: 62(fvec3) ConstantComposite 73 84 85 - 89: TypeImage 6(float) Cube array sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTexcdf4a): 90(ptr) Variable UniformConstant - 94: TypeSampledImage 89 - 96: 7(fvec4) ConstantComposite 21 22 37 51 - 99: TypeImage 26(int) Cube array sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTexcdi4a): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 7(fvec4) ConstantComposite 51 73 84 85 - 109: TypeImage 40(int) Cube array sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTexcdu4a): 110(ptr) Variable UniformConstant - 114: TypeSampledImage 109 - 116: 6(float) Constant 1061997773 - 117: 6(float) Constant 1063675494 - 118: 6(float) Constant 1065353216 - 119: 7(fvec4) ConstantComposite 85 116 117 118 - 121(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 122: TypePointer Function 121(PS_OUTPUT) - 124: 26(int) Constant 0 - 125: 7(fvec4) ConstantComposite 118 118 118 118 - 127: 26(int) Constant 1 - 128: TypePointer Function 6(float) - 130: TypePointer Output 7(fvec4) - 131(Color): 130(ptr) Variable Output - 134: TypePointer Output 6(float) - 135(Depth): 134(ptr) Variable Output - 139(g_tTex1df4): 11(ptr) Variable UniformConstant + 16(g_tTex1df4a): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 30: TypeInt 32 1 + 31: TypeVector 30(int) 4 + 32: TypePointer Function 31(ivec4) + 34: TypeImage 30(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 41: 6(float) Constant 1050253722 + 42: 24(fvec2) ConstantComposite 26 41 + 44: TypeInt 32 0 + 45: TypeVector 44(int) 4 + 46: TypePointer Function 45(ivec4) + 48: TypeImage 44(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4a): 49(ptr) Variable UniformConstant + 53: TypeSampledImage 48 + 55: 6(float) Constant 1053609165 + 56: 24(fvec2) ConstantComposite 41 55 + 59: TypeImage 6(float) 2D array sampled format:Unknown + 60: TypePointer UniformConstant 59 + 61(g_tTex2df4a): 60(ptr) Variable UniformConstant + 64: TypeSampledImage 59 + 66: TypeVector 6(float) 3 + 67: 66(fvec3) ConstantComposite 25 26 41 + 70: TypeImage 30(int) 2D array sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex2di4a): 71(ptr) Variable UniformConstant + 75: TypeSampledImage 70 + 77: 6(float) Constant 1056964608 + 78: 66(fvec3) ConstantComposite 41 55 77 + 81: TypeImage 44(int) 2D array sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4a): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1058642330 + 89: 6(float) Constant 1060320051 + 90: 66(fvec3) ConstantComposite 77 88 89 + 93: TypeImage 6(float) Cube array sampled format:Unknown + 94: TypePointer UniformConstant 93 + 95(g_tTexcdf4a): 94(ptr) Variable UniformConstant + 98: TypeSampledImage 93 + 100: 7(fvec4) ConstantComposite 25 26 41 55 + 103: TypeImage 30(int) Cube array sampled format:Unknown + 104: TypePointer UniformConstant 103 +105(g_tTexcdi4a): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 7(fvec4) ConstantComposite 55 77 88 89 + 113: TypeImage 44(int) Cube array sampled format:Unknown + 114: TypePointer UniformConstant 113 +115(g_tTexcdu4a): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 120: 6(float) Constant 1061997773 + 121: 6(float) Constant 1063675494 + 122: 6(float) Constant 1065353216 + 123: 7(fvec4) ConstantComposite 89 120 121 122 + 125: TypePointer Function 8(PS_OUTPUT) + 127: 30(int) Constant 0 + 128: 7(fvec4) ConstantComposite 122 122 122 122 + 130: 30(int) Constant 1 + 131: TypePointer Function 6(float) + 138: TypePointer Output 7(fvec4) + 139(Color): 138(ptr) Variable Output + 142: TypePointer Output 6(float) + 143(Depth): 142(ptr) Variable Output + 146(g_tTex1df4): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 29(txval11): 28(ptr) Variable Function - 43(txval12): 42(ptr) Variable Function - 54(txval20): 8(ptr) Variable Function - 65(txval21): 28(ptr) Variable Function - 76(txval22): 42(ptr) Variable Function - 88(txval40): 8(ptr) Variable Function - 98(txval41): 28(ptr) Variable Function - 108(txval42): 42(ptr) Variable Function - 123(psout): 122(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4a) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 25: 7(fvec4) ImageSampleExplicitLod 19 23 Lod 24 - Store 9(txval10) 25 - 33: 30 Load 32(g_tTex1di4a) - 34: 14 Load 16(g_sSamp) - 36: 35 SampledImage 33 34 - 39: 27(ivec4) ImageSampleExplicitLod 36 38 Lod 24 - Store 29(txval11) 39 - 47: 44 Load 46(g_tTex1du4a) - 48: 14 Load 16(g_sSamp) - 50: 49 SampledImage 47 48 - 53: 41(ivec4) ImageSampleExplicitLod 50 52 Lod 24 - Store 43(txval12) 53 - 58: 55 Load 57(g_tTex2df4a) - 59: 14 Load 16(g_sSamp) - 61: 60 SampledImage 58 59 - 64: 7(fvec4) ImageSampleExplicitLod 61 63 Lod 24 - Store 54(txval20) 64 - 69: 66 Load 68(g_tTex2di4a) - 70: 14 Load 16(g_sSamp) - 72: 71 SampledImage 69 70 - 75: 27(ivec4) ImageSampleExplicitLod 72 74 Lod 24 - Store 65(txval21) 75 - 80: 77 Load 79(g_tTex2du4a) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 87: 41(ivec4) ImageSampleExplicitLod 83 86 Lod 24 - Store 76(txval22) 87 - 92: 89 Load 91(g_tTexcdf4a) - 93: 14 Load 16(g_sSamp) - 95: 94 SampledImage 92 93 - 97: 7(fvec4) ImageSampleExplicitLod 95 96 Lod 24 - Store 88(txval40) 97 - 102: 99 Load 101(g_tTexcdi4a) - 103: 14 Load 16(g_sSamp) - 105: 104 SampledImage 102 103 - 107: 27(ivec4) ImageSampleExplicitLod 105 106 Lod 24 - Store 98(txval41) 107 - 112: 109 Load 111(g_tTexcdu4a) - 113: 14 Load 16(g_sSamp) - 115: 114 SampledImage 112 113 - 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 24 - Store 108(txval42) 120 - 126: 8(ptr) AccessChain 123(psout) 124 - Store 126 125 - 129: 128(ptr) AccessChain 123(psout) 127 - Store 129 118 - 132: 8(ptr) AccessChain 123(psout) 124 - 133: 7(fvec4) Load 132 - Store 131(Color) 133 - 136: 128(ptr) AccessChain 123(psout) 127 - 137: 6(float) Load 136 - Store 135(Depth) 137 +136(flattenTemp): 125(ptr) Variable Function + 137:8(PS_OUTPUT) FunctionCall 10(@main() + Store 136(flattenTemp) 137 + 140: 12(ptr) AccessChain 136(flattenTemp) 127 + 141: 7(fvec4) Load 140 + Store 139(Color) 141 + 144: 131(ptr) AccessChain 136(flattenTemp) 130 + 145: 6(float) Load 144 + Store 143(Depth) 145 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 33(txval11): 32(ptr) Variable Function + 47(txval12): 46(ptr) Variable Function + 58(txval20): 12(ptr) Variable Function + 69(txval21): 32(ptr) Variable Function + 80(txval22): 46(ptr) Variable Function + 92(txval40): 12(ptr) Variable Function + 102(txval41): 32(ptr) Variable Function + 112(txval42): 46(ptr) Variable Function + 126(psout): 125(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4a) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 29: 7(fvec4) ImageSampleExplicitLod 23 27 Lod 28 + Store 13(txval10) 29 + 37: 34 Load 36(g_tTex1di4a) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 43: 31(ivec4) ImageSampleExplicitLod 40 42 Lod 28 + Store 33(txval11) 43 + 51: 48 Load 50(g_tTex1du4a) + 52: 18 Load 20(g_sSamp) + 54: 53 SampledImage 51 52 + 57: 45(ivec4) ImageSampleExplicitLod 54 56 Lod 28 + Store 47(txval12) 57 + 62: 59 Load 61(g_tTex2df4a) + 63: 18 Load 20(g_sSamp) + 65: 64 SampledImage 62 63 + 68: 7(fvec4) ImageSampleExplicitLod 65 67 Lod 28 + Store 58(txval20) 68 + 73: 70 Load 72(g_tTex2di4a) + 74: 18 Load 20(g_sSamp) + 76: 75 SampledImage 73 74 + 79: 31(ivec4) ImageSampleExplicitLod 76 78 Lod 28 + Store 69(txval21) 79 + 84: 81 Load 83(g_tTex2du4a) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 91: 45(ivec4) ImageSampleExplicitLod 87 90 Lod 28 + Store 80(txval22) 91 + 96: 93 Load 95(g_tTexcdf4a) + 97: 18 Load 20(g_sSamp) + 99: 98 SampledImage 96 97 + 101: 7(fvec4) ImageSampleExplicitLod 99 100 Lod 28 + Store 92(txval40) 101 + 106: 103 Load 105(g_tTexcdi4a) + 107: 18 Load 20(g_sSamp) + 109: 108 SampledImage 106 107 + 111: 31(ivec4) ImageSampleExplicitLod 109 110 Lod 28 + Store 102(txval41) 111 + 116: 113 Load 115(g_tTexcdu4a) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 124: 45(ivec4) ImageSampleExplicitLod 119 123 Lod 28 + Store 112(txval42) 124 + 129: 12(ptr) AccessChain 126(psout) 127 + Store 129 128 + 132: 131(ptr) AccessChain 126(psout) 130 + Store 132 122 + 133:8(PS_OUTPUT) Load 126(psout) + ReturnValue 133 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index 34a65978834..7d9f268c082 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -2,85 +2,85 @@ hlsl.samplelevel.basic.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'txval10' (temp 4-component vector of float) -0:32 textureLod (temp 4-component vector of float) -0:32 Construct combined texture-sampler (temp sampler1D) -0:32 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'txval10' ( temp 4-component vector of float) +0:32 textureLod ( temp 4-component vector of float) +0:32 Construct combined texture-sampler ( temp sampler1D) +0:32 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.100000 0:32 Constant: 0:32 0.750000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of int) -0:33 'txval11' (temp 4-component vector of int) -0:33 textureLod (temp 4-component vector of int) -0:33 Construct combined texture-sampler (temp isampler1D) -0:33 'g_tTex1di4' (uniform itexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of int) +0:33 'txval11' ( temp 4-component vector of int) +0:33 textureLod ( temp 4-component vector of int) +0:33 Construct combined texture-sampler ( temp isampler1D) +0:33 'g_tTex1di4' ( uniform itexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.200000 0:33 Constant: 0:33 0.750000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of uint) -0:34 'txval12' (temp 4-component vector of uint) -0:34 textureLod (temp 4-component vector of uint) -0:34 Construct combined texture-sampler (temp usampler1D) -0:34 'g_tTex1du4' (uniform utexture1D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of uint) +0:34 'txval12' ( temp 4-component vector of uint) +0:34 textureLod ( temp 4-component vector of uint) +0:34 Construct combined texture-sampler ( temp usampler1D) +0:34 'g_tTex1du4' ( uniform utexture1D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:34 Constant: 0:34 0.300000 0:34 Constant: 0:34 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:36 'txval20' (temp 4-component vector of float) -0:36 textureLod (temp 4-component vector of float) -0:36 Construct combined texture-sampler (temp sampler2D) -0:36 'g_tTex2df4' (uniform texture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of float) +0:36 'txval20' ( temp 4-component vector of float) +0:36 textureLod ( temp 4-component vector of float) +0:36 Construct combined texture-sampler ( temp sampler2D) +0:36 'g_tTex2df4' ( uniform texture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:36 Constant: 0:36 0.750000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of int) -0:37 'txval21' (temp 4-component vector of int) -0:37 textureLod (temp 4-component vector of int) -0:37 Construct combined texture-sampler (temp isampler2D) -0:37 'g_tTex2di4' (uniform itexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of int) +0:37 'txval21' ( temp 4-component vector of int) +0:37 textureLod ( temp 4-component vector of int) +0:37 Construct combined texture-sampler ( temp isampler2D) +0:37 'g_tTex2di4' ( uniform itexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:37 Constant: 0:37 0.750000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of uint) -0:38 'txval22' (temp 4-component vector of uint) -0:38 textureLod (temp 4-component vector of uint) -0:38 Construct combined texture-sampler (temp usampler2D) -0:38 'g_tTex2du4' (uniform utexture2D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of uint) +0:38 'txval22' ( temp 4-component vector of uint) +0:38 textureLod ( temp 4-component vector of uint) +0:38 Construct combined texture-sampler ( temp usampler2D) +0:38 'g_tTex2du4' ( uniform utexture2D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:38 Constant: 0:38 0.750000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval30' (temp 4-component vector of float) -0:40 textureLod (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp sampler3D) -0:40 'g_tTex3df4' (uniform texture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval30' ( temp 4-component vector of float) +0:40 textureLod ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp sampler3D) +0:40 'g_tTex3df4' ( uniform texture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -88,12 +88,12 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0.750000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval31' (temp 4-component vector of int) -0:41 textureLod (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isampler3D) -0:41 'g_tTex3di4' (uniform itexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval31' ( temp 4-component vector of int) +0:41 textureLod ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isampler3D) +0:41 'g_tTex3di4' ( uniform itexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -101,12 +101,12 @@ gl_FragCoord origin is upper left 0:41 Constant: 0:41 0.750000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval32' (temp 4-component vector of uint) -0:42 textureLod (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usampler3D) -0:42 'g_tTex3du4' (uniform utexture3D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval32' ( temp 4-component vector of uint) +0:42 textureLod ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usampler3D) +0:42 'g_tTex3du4' ( uniform utexture3D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -114,12 +114,12 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.750000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'txval40' (temp 4-component vector of float) -0:44 textureLod (temp 4-component vector of float) -0:44 Construct combined texture-sampler (temp samplerCube) -0:44 'g_tTexcdf4' (uniform textureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'txval40' ( temp 4-component vector of float) +0:44 textureLod ( temp 4-component vector of float) +0:44 Construct combined texture-sampler ( temp samplerCube) +0:44 'g_tTexcdf4' ( uniform textureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -127,12 +127,12 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.750000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of int) -0:45 'txval41' (temp 4-component vector of int) -0:45 textureLod (temp 4-component vector of int) -0:45 Construct combined texture-sampler (temp isamplerCube) -0:45 'g_tTexcdi4' (uniform itextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of int) +0:45 'txval41' ( temp 4-component vector of int) +0:45 textureLod ( temp 4-component vector of int) +0:45 Construct combined texture-sampler ( temp isamplerCube) +0:45 'g_tTexcdi4' ( uniform itextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -140,21 +140,21 @@ gl_FragCoord origin is upper left 0:45 Constant: 0:45 0.750000 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of uint) -0:46 'txval42' (temp 4-component vector of uint) -0:46 textureLod (temp 4-component vector of uint) -0:46 Construct combined texture-sampler (temp usamplerCube) -0:46 'g_tTexcdu4' (uniform utextureCube) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:46 move second child to first child ( temp 4-component vector of uint) +0:46 'txval42' ( temp 4-component vector of uint) +0:46 textureLod ( temp 4-component vector of uint) +0:46 Construct combined texture-sampler ( temp usamplerCube) +0:46 'g_tTexcdu4' ( uniform utextureCube) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:46 Constant: 0:46 0.750000 -0:48 move second child to first child (temp 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 0 (const int) 0:48 Constant: @@ -162,46 +162,52 @@ gl_FragCoord origin is upper left 0:48 1.000000 0:48 1.000000 0:48 1.000000 -0:49 move second child to first child (temp float) -0:49 Depth: direct index for structure (temp float) -0:49 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:49 move second child to first child ( temp float) +0:49 Depth: direct index for structure ( temp float) +0:49 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:49 Constant: 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 0 (const int) -0:51 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:51 Depth: direct index for structure (temp float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 1 (const int) -0:51 Branch: Return +0:51 Branch: Return with expression +0:51 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:29 Depth: direct index for structure ( temp float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -210,85 +216,85 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of float) -0:32 'txval10' (temp 4-component vector of float) -0:32 textureLod (temp 4-component vector of float) -0:32 Construct combined texture-sampler (temp sampler1D) -0:32 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of float) +0:32 'txval10' ( temp 4-component vector of float) +0:32 textureLod ( temp 4-component vector of float) +0:32 Construct combined texture-sampler ( temp sampler1D) +0:32 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.100000 0:32 Constant: 0:32 0.750000 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of int) -0:33 'txval11' (temp 4-component vector of int) -0:33 textureLod (temp 4-component vector of int) -0:33 Construct combined texture-sampler (temp isampler1D) -0:33 'g_tTex1di4' (uniform itexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of int) +0:33 'txval11' ( temp 4-component vector of int) +0:33 textureLod ( temp 4-component vector of int) +0:33 Construct combined texture-sampler ( temp isampler1D) +0:33 'g_tTex1di4' ( uniform itexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.200000 0:33 Constant: 0:33 0.750000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of uint) -0:34 'txval12' (temp 4-component vector of uint) -0:34 textureLod (temp 4-component vector of uint) -0:34 Construct combined texture-sampler (temp usampler1D) -0:34 'g_tTex1du4' (uniform utexture1D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of uint) +0:34 'txval12' ( temp 4-component vector of uint) +0:34 textureLod ( temp 4-component vector of uint) +0:34 Construct combined texture-sampler ( temp usampler1D) +0:34 'g_tTex1du4' ( uniform utexture1D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:34 Constant: 0:34 0.300000 0:34 Constant: 0:34 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:36 'txval20' (temp 4-component vector of float) -0:36 textureLod (temp 4-component vector of float) -0:36 Construct combined texture-sampler (temp sampler2D) -0:36 'g_tTex2df4' (uniform texture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of float) +0:36 'txval20' ( temp 4-component vector of float) +0:36 textureLod ( temp 4-component vector of float) +0:36 Construct combined texture-sampler ( temp sampler2D) +0:36 'g_tTex2df4' ( uniform texture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:36 Constant: 0:36 0.750000 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of int) -0:37 'txval21' (temp 4-component vector of int) -0:37 textureLod (temp 4-component vector of int) -0:37 Construct combined texture-sampler (temp isampler2D) -0:37 'g_tTex2di4' (uniform itexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of int) +0:37 'txval21' ( temp 4-component vector of int) +0:37 textureLod ( temp 4-component vector of int) +0:37 Construct combined texture-sampler ( temp isampler2D) +0:37 'g_tTex2di4' ( uniform itexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:37 Constant: 0:37 0.750000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of uint) -0:38 'txval22' (temp 4-component vector of uint) -0:38 textureLod (temp 4-component vector of uint) -0:38 Construct combined texture-sampler (temp usampler2D) -0:38 'g_tTex2du4' (uniform utexture2D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of uint) +0:38 'txval22' ( temp 4-component vector of uint) +0:38 textureLod ( temp 4-component vector of uint) +0:38 Construct combined texture-sampler ( temp usampler2D) +0:38 'g_tTex2du4' ( uniform utexture2D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:38 Constant: 0:38 0.750000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'txval30' (temp 4-component vector of float) -0:40 textureLod (temp 4-component vector of float) -0:40 Construct combined texture-sampler (temp sampler3D) -0:40 'g_tTex3df4' (uniform texture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'txval30' ( temp 4-component vector of float) +0:40 textureLod ( temp 4-component vector of float) +0:40 Construct combined texture-sampler ( temp sampler3D) +0:40 'g_tTex3df4' ( uniform texture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -296,12 +302,12 @@ gl_FragCoord origin is upper left 0:40 Constant: 0:40 0.750000 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of int) -0:41 'txval31' (temp 4-component vector of int) -0:41 textureLod (temp 4-component vector of int) -0:41 Construct combined texture-sampler (temp isampler3D) -0:41 'g_tTex3di4' (uniform itexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of int) +0:41 'txval31' ( temp 4-component vector of int) +0:41 textureLod ( temp 4-component vector of int) +0:41 Construct combined texture-sampler ( temp isampler3D) +0:41 'g_tTex3di4' ( uniform itexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -309,12 +315,12 @@ gl_FragCoord origin is upper left 0:41 Constant: 0:41 0.750000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of uint) -0:42 'txval32' (temp 4-component vector of uint) -0:42 textureLod (temp 4-component vector of uint) -0:42 Construct combined texture-sampler (temp usampler3D) -0:42 'g_tTex3du4' (uniform utexture3D) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of uint) +0:42 'txval32' ( temp 4-component vector of uint) +0:42 textureLod ( temp 4-component vector of uint) +0:42 Construct combined texture-sampler ( temp usampler3D) +0:42 'g_tTex3du4' ( uniform utexture3D) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -322,12 +328,12 @@ gl_FragCoord origin is upper left 0:42 Constant: 0:42 0.750000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'txval40' (temp 4-component vector of float) -0:44 textureLod (temp 4-component vector of float) -0:44 Construct combined texture-sampler (temp samplerCube) -0:44 'g_tTexcdf4' (uniform textureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'txval40' ( temp 4-component vector of float) +0:44 textureLod ( temp 4-component vector of float) +0:44 Construct combined texture-sampler ( temp samplerCube) +0:44 'g_tTexcdf4' ( uniform textureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -335,12 +341,12 @@ gl_FragCoord origin is upper left 0:44 Constant: 0:44 0.750000 0:45 Sequence -0:45 move second child to first child (temp 4-component vector of int) -0:45 'txval41' (temp 4-component vector of int) -0:45 textureLod (temp 4-component vector of int) -0:45 Construct combined texture-sampler (temp isamplerCube) -0:45 'g_tTexcdi4' (uniform itextureCube) -0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:45 move second child to first child ( temp 4-component vector of int) +0:45 'txval41' ( temp 4-component vector of int) +0:45 textureLod ( temp 4-component vector of int) +0:45 Construct combined texture-sampler ( temp isamplerCube) +0:45 'g_tTexcdi4' ( uniform itextureCube) +0:45 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -348,21 +354,21 @@ gl_FragCoord origin is upper left 0:45 Constant: 0:45 0.750000 0:46 Sequence -0:46 move second child to first child (temp 4-component vector of uint) -0:46 'txval42' (temp 4-component vector of uint) -0:46 textureLod (temp 4-component vector of uint) -0:46 Construct combined texture-sampler (temp usamplerCube) -0:46 'g_tTexcdu4' (uniform utextureCube) -0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:46 move second child to first child ( temp 4-component vector of uint) +0:46 'txval42' ( temp 4-component vector of uint) +0:46 textureLod ( temp 4-component vector of uint) +0:46 Construct combined texture-sampler ( temp usamplerCube) +0:46 'g_tTexcdu4' ( uniform utextureCube) +0:46 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:46 Constant: 0:46 0.750000 -0:48 move second child to first child (temp 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 Color: direct index for structure ( temp 4-component vector of float) +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:48 Constant: 0:48 0 (const int) 0:48 Constant: @@ -370,288 +376,305 @@ gl_FragCoord origin is upper left 0:48 1.000000 0:48 1.000000 0:48 1.000000 -0:49 move second child to first child (temp float) -0:49 Depth: direct index for structure (temp float) -0:49 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:49 move second child to first child ( temp float) +0:49 Depth: direct index for structure ( temp float) +0:49 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:49 Constant: 0:49 1 (const int) 0:49 Constant: 0:49 1.000000 -0:51 Sequence -0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:51 Color: direct index for structure (temp 4-component vector of float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 0 (const int) -0:51 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:51 Depth: direct index for structure (temp float) -0:51 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:51 Constant: -0:51 1 (const int) -0:51 Branch: Return +0:51 Branch: Return with expression +0:51 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Definition: main( ( temp void) +0:29 Function Parameters: +0:? Sequence +0:29 Sequence +0:29 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:29 Color: direct index for structure ( temp 4-component vector of float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 0 (const int) +0:29 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:29 Depth: direct index for structure ( temp float) +0:29 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:29 Constant: +0:29 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_sSamp2d' (uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_sSamp2d' ( uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 165 +// Id's are bound by 172 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 155 159 + EntryPoint Fragment 4 "main" 163 167 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 83 "txval30" - Name 86 "g_tTex3df4" - Name 94 "txval31" - Name 97 "g_tTex3di4" - Name 104 "txval32" - Name 107 "g_tTex3du4" - Name 117 "txval40" - Name 120 "g_tTexcdf4" - Name 126 "txval41" - Name 129 "g_tTexcdi4" - Name 135 "txval42" - Name 138 "g_tTexcdu4" - Name 144 "PS_OUTPUT" - MemberName 144(PS_OUTPUT) 0 "Color" - MemberName 144(PS_OUTPUT) 1 "Depth" - Name 146 "psout" - Name 155 "Color" - Name 159 "Depth" - Name 163 "g_sSamp2d" - Name 164 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 86(g_tTex3df4) DescriptorSet 0 - Decorate 97(g_tTex3di4) DescriptorSet 0 - Decorate 107(g_tTex3du4) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 129(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 155(Color) Location 0 - Decorate 159(Depth) BuiltIn FragDepth - Decorate 163(g_sSamp2d) DescriptorSet 0 - Decorate 164(g_tTex1df4a) DescriptorSet 0 - Decorate 164(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 87 "txval30" + Name 90 "g_tTex3df4" + Name 98 "txval31" + Name 101 "g_tTex3di4" + Name 108 "txval32" + Name 111 "g_tTex3du4" + Name 121 "txval40" + Name 124 "g_tTexcdf4" + Name 130 "txval41" + Name 133 "g_tTexcdi4" + Name 139 "txval42" + Name 142 "g_tTexcdu4" + Name 149 "psout" + Name 160 "flattenTemp" + Name 163 "Color" + Name 167 "Depth" + Name 170 "g_sSamp2d" + Name 171 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 163(Color) Location 0 + Decorate 167(Depth) BuiltIn FragDepth + Decorate 170(g_sSamp2d) DescriptorSet 0 + Decorate 171(g_tTex1df4a) DescriptorSet 0 + Decorate 171(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 57(fvec2) ConstantComposite 79 80 - 84: TypeImage 6(float) 3D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex3df4): 85(ptr) Variable UniformConstant - 89: TypeSampledImage 84 - 91: TypeVector 6(float) 3 - 92: 91(fvec3) ConstantComposite 20 34 47 - 95: TypeImage 23(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3di4): 96(ptr) Variable UniformConstant - 100: TypeSampledImage 95 - 102: 91(fvec3) ConstantComposite 68 79 80 - 105: TypeImage 36(int) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3du4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 112: 6(float) Constant 1060320051 - 113: 6(float) Constant 1061997773 - 114: 6(float) Constant 1063675494 - 115: 91(fvec3) ConstantComposite 112 113 114 - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 123: TypeSampledImage 118 - 127: TypeImage 23(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdi4): 128(ptr) Variable UniformConstant - 132: TypeSampledImage 127 - 136: TypeImage 36(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 141: TypeSampledImage 136 - 144(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 145: TypePointer Function 144(PS_OUTPUT) - 147: 23(int) Constant 0 - 148: 6(float) Constant 1065353216 - 149: 7(fvec4) ConstantComposite 148 148 148 148 - 151: 23(int) Constant 1 - 152: TypePointer Function 6(float) - 154: TypePointer Output 7(fvec4) - 155(Color): 154(ptr) Variable Output - 158: TypePointer Output 6(float) - 159(Depth): 158(ptr) Variable Output - 163(g_sSamp2d): 15(ptr) Variable UniformConstant -164(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1056964608 + 84: 6(float) Constant 1058642330 + 85: 61(fvec2) ConstantComposite 83 84 + 88: TypeImage 6(float) 3D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex3df4): 89(ptr) Variable UniformConstant + 93: TypeSampledImage 88 + 95: TypeVector 6(float) 3 + 96: 95(fvec3) ConstantComposite 24 38 51 + 99: TypeImage 27(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 104: TypeSampledImage 99 + 106: 95(fvec3) ConstantComposite 72 83 84 + 109: TypeImage 40(int) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 116: 6(float) Constant 1060320051 + 117: 6(float) Constant 1061997773 + 118: 6(float) Constant 1063675494 + 119: 95(fvec3) ConstantComposite 116 117 118 + 122: TypeImage 6(float) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdf4): 123(ptr) Variable UniformConstant + 127: TypeSampledImage 122 + 131: TypeImage 27(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdi4): 132(ptr) Variable UniformConstant + 136: TypeSampledImage 131 + 140: TypeImage 40(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 145: TypeSampledImage 140 + 148: TypePointer Function 8(PS_OUTPUT) + 150: 27(int) Constant 0 + 151: 6(float) Constant 1065353216 + 152: 7(fvec4) ConstantComposite 151 151 151 151 + 154: 27(int) Constant 1 + 155: TypePointer Function 6(float) + 162: TypePointer Output 7(fvec4) + 163(Color): 162(ptr) Variable Output + 166: TypePointer Output 6(float) + 167(Depth): 166(ptr) Variable Output + 170(g_sSamp2d): 19(ptr) Variable UniformConstant +171(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 83(txval30): 8(ptr) Variable Function - 94(txval31): 25(ptr) Variable Function - 104(txval32): 38(ptr) Variable Function - 117(txval40): 8(ptr) Variable Function - 126(txval41): 25(ptr) Variable Function - 135(txval42): 38(ptr) Variable Function - 146(psout): 145(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleExplicitLod 19 20 Lod 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleExplicitLod 33 34 Lod 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleExplicitLod 46 47 Lod 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleExplicitLod 56 58 Lod 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleExplicitLod 67 69 Lod 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 37(ivec4) ImageSampleExplicitLod 78 81 Lod 21 - Store 71(txval22) 82 - 87: 84 Load 86(g_tTex3df4) - 88: 14 Load 16(g_sSamp) - 90: 89 SampledImage 87 88 - 93: 7(fvec4) ImageSampleExplicitLod 90 92 Lod 21 - Store 83(txval30) 93 - 98: 95 Load 97(g_tTex3di4) - 99: 14 Load 16(g_sSamp) - 101: 100 SampledImage 98 99 - 103: 24(ivec4) ImageSampleExplicitLod 101 102 Lod 21 - Store 94(txval31) 103 - 108: 105 Load 107(g_tTex3du4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 116: 37(ivec4) ImageSampleExplicitLod 111 115 Lod 21 - Store 104(txval32) 116 - 121: 118 Load 120(g_tTexcdf4) - 122: 14 Load 16(g_sSamp) - 124: 123 SampledImage 121 122 - 125: 7(fvec4) ImageSampleExplicitLod 124 92 Lod 21 - Store 117(txval40) 125 - 130: 127 Load 129(g_tTexcdi4) - 131: 14 Load 16(g_sSamp) - 133: 132 SampledImage 130 131 - 134: 24(ivec4) ImageSampleExplicitLod 133 102 Lod 21 - Store 126(txval41) 134 - 139: 136 Load 138(g_tTexcdu4) - 140: 14 Load 16(g_sSamp) - 142: 141 SampledImage 139 140 - 143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21 - Store 135(txval42) 143 - 150: 8(ptr) AccessChain 146(psout) 147 - Store 150 149 - 153: 152(ptr) AccessChain 146(psout) 151 - Store 153 148 - 156: 8(ptr) AccessChain 146(psout) 147 - 157: 7(fvec4) Load 156 - Store 155(Color) 157 - 160: 152(ptr) AccessChain 146(psout) 151 - 161: 6(float) Load 160 - Store 159(Depth) 161 +160(flattenTemp): 148(ptr) Variable Function + 161:8(PS_OUTPUT) FunctionCall 10(@main() + Store 160(flattenTemp) 161 + 164: 12(ptr) AccessChain 160(flattenTemp) 150 + 165: 7(fvec4) Load 164 + Store 163(Color) 165 + 168: 155(ptr) AccessChain 160(flattenTemp) 154 + 169: 6(float) Load 168 + Store 167(Depth) 169 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 87(txval30): 12(ptr) Variable Function + 98(txval31): 29(ptr) Variable Function + 108(txval32): 42(ptr) Variable Function + 121(txval40): 12(ptr) Variable Function + 130(txval41): 29(ptr) Variable Function + 139(txval42): 42(ptr) Variable Function + 149(psout): 148(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleExplicitLod 23 24 Lod 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleExplicitLod 37 38 Lod 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleExplicitLod 50 51 Lod 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleExplicitLod 60 62 Lod 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleExplicitLod 71 73 Lod 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 86: 41(ivec4) ImageSampleExplicitLod 82 85 Lod 25 + Store 75(txval22) 86 + 91: 88 Load 90(g_tTex3df4) + 92: 18 Load 20(g_sSamp) + 94: 93 SampledImage 91 92 + 97: 7(fvec4) ImageSampleExplicitLod 94 96 Lod 25 + Store 87(txval30) 97 + 102: 99 Load 101(g_tTex3di4) + 103: 18 Load 20(g_sSamp) + 105: 104 SampledImage 102 103 + 107: 28(ivec4) ImageSampleExplicitLod 105 106 Lod 25 + Store 98(txval31) 107 + 112: 109 Load 111(g_tTex3du4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 25 + Store 108(txval32) 120 + 125: 122 Load 124(g_tTexcdf4) + 126: 18 Load 20(g_sSamp) + 128: 127 SampledImage 125 126 + 129: 7(fvec4) ImageSampleExplicitLod 128 96 Lod 25 + Store 121(txval40) 129 + 134: 131 Load 133(g_tTexcdi4) + 135: 18 Load 20(g_sSamp) + 137: 136 SampledImage 134 135 + 138: 28(ivec4) ImageSampleExplicitLod 137 106 Lod 25 + Store 130(txval41) 138 + 143: 140 Load 142(g_tTexcdu4) + 144: 18 Load 20(g_sSamp) + 146: 145 SampledImage 143 144 + 147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25 + Store 139(txval42) 147 + 153: 12(ptr) AccessChain 149(psout) 150 + Store 153 152 + 156: 155(ptr) AccessChain 149(psout) 154 + Store 156 151 + 157:8(PS_OUTPUT) Load 149(psout) + ReturnValue 157 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index a811ed256fb..40996e97638 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -1,85 +1,85 @@ hlsl.samplelevel.basic.dx10.vert Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'txval10' (temp 4-component vector of float) -0:30 textureLod (temp 4-component vector of float) -0:30 Construct combined texture-sampler (temp sampler1D) -0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'txval10' ( temp 4-component vector of float) +0:30 textureLod ( temp 4-component vector of float) +0:30 Construct combined texture-sampler ( temp sampler1D) +0:30 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.100000 0:30 Constant: 0:30 0.750000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of int) -0:31 'txval11' (temp 4-component vector of int) -0:31 textureLod (temp 4-component vector of int) -0:31 Construct combined texture-sampler (temp isampler1D) -0:31 'g_tTex1di4' (uniform itexture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of int) +0:31 'txval11' ( temp 4-component vector of int) +0:31 textureLod ( temp 4-component vector of int) +0:31 Construct combined texture-sampler ( temp isampler1D) +0:31 'g_tTex1di4' ( uniform itexture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.200000 0:31 Constant: 0:31 0.750000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of uint) -0:32 'txval12' (temp 4-component vector of uint) -0:32 textureLod (temp 4-component vector of uint) -0:32 Construct combined texture-sampler (temp usampler1D) -0:32 'g_tTex1du4' (uniform utexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of uint) +0:32 'txval12' ( temp 4-component vector of uint) +0:32 textureLod ( temp 4-component vector of uint) +0:32 Construct combined texture-sampler ( temp usampler1D) +0:32 'g_tTex1du4' ( uniform utexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.300000 0:32 Constant: 0:32 0.750000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureLod (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureLod ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:34 Constant: 0:34 0.750000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureLod (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureLod ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:35 Constant: 0:35 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureLod (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureLod ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:36 Constant: 0:36 0.750000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'txval30' (temp 4-component vector of float) -0:38 textureLod (temp 4-component vector of float) -0:38 Construct combined texture-sampler (temp sampler3D) -0:38 'g_tTex3df4' (uniform texture3D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'txval30' ( temp 4-component vector of float) +0:38 textureLod ( temp 4-component vector of float) +0:38 Construct combined texture-sampler ( temp sampler3D) +0:38 'g_tTex3df4' ( uniform texture3D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -87,12 +87,12 @@ Shader version: 450 0:38 Constant: 0:38 0.750000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of int) -0:39 'txval31' (temp 4-component vector of int) -0:39 textureLod (temp 4-component vector of int) -0:39 Construct combined texture-sampler (temp isampler3D) -0:39 'g_tTex3di4' (uniform itexture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of int) +0:39 'txval31' ( temp 4-component vector of int) +0:39 textureLod ( temp 4-component vector of int) +0:39 Construct combined texture-sampler ( temp isampler3D) +0:39 'g_tTex3di4' ( uniform itexture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -100,12 +100,12 @@ Shader version: 450 0:39 Constant: 0:39 0.750000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of uint) -0:40 'txval32' (temp 4-component vector of uint) -0:40 textureLod (temp 4-component vector of uint) -0:40 Construct combined texture-sampler (temp usampler3D) -0:40 'g_tTex3du4' (uniform utexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of uint) +0:40 'txval32' ( temp 4-component vector of uint) +0:40 textureLod ( temp 4-component vector of uint) +0:40 Construct combined texture-sampler ( temp usampler3D) +0:40 'g_tTex3du4' ( uniform utexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -113,12 +113,12 @@ Shader version: 450 0:40 Constant: 0:40 0.750000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 'txval40' (temp 4-component vector of float) -0:42 textureLod (temp 4-component vector of float) -0:42 Construct combined texture-sampler (temp samplerCube) -0:42 'g_tTexcdf4' (uniform textureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'txval40' ( temp 4-component vector of float) +0:42 textureLod ( temp 4-component vector of float) +0:42 Construct combined texture-sampler ( temp samplerCube) +0:42 'g_tTexcdf4' ( uniform textureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -126,12 +126,12 @@ Shader version: 450 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'txval41' (temp 4-component vector of int) -0:43 textureLod (temp 4-component vector of int) -0:43 Construct combined texture-sampler (temp isamplerCube) -0:43 'g_tTexcdi4' (uniform itextureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'txval41' ( temp 4-component vector of int) +0:43 textureLod ( temp 4-component vector of int) +0:43 Construct combined texture-sampler ( temp isamplerCube) +0:43 'g_tTexcdi4' ( uniform itextureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -139,21 +139,21 @@ Shader version: 450 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of uint) -0:44 'txval42' (temp 4-component vector of uint) -0:44 textureLod (temp 4-component vector of uint) -0:44 Construct combined texture-sampler (temp usamplerCube) -0:44 'g_tTexcdu4' (uniform utextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of uint) +0:44 'txval42' ( temp 4-component vector of uint) +0:44 textureLod ( temp 4-component vector of uint) +0:44 Construct combined texture-sampler ( temp usamplerCube) +0:44 'g_tTexcdu4' ( uniform utextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:44 Constant: 0:44 0.750000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 Pos: direct index for structure (temp 4-component vector of float) -0:46 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 Pos: direct index for structure ( temp 4-component vector of float) +0:46 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:46 Constant: 0:46 0 (const int) 0:? Constant: @@ -161,31 +161,34 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:27 Pos: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) Linked vertex stage: @@ -193,85 +196,85 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:27 Function Definition: main( (temp structure{temp 4-component vector of float Position Pos}) +0:27 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:27 Function Parameters: 0:? Sequence 0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:30 'txval10' (temp 4-component vector of float) -0:30 textureLod (temp 4-component vector of float) -0:30 Construct combined texture-sampler (temp sampler1D) -0:30 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:30 move second child to first child ( temp 4-component vector of float) +0:30 'txval10' ( temp 4-component vector of float) +0:30 textureLod ( temp 4-component vector of float) +0:30 Construct combined texture-sampler ( temp sampler1D) +0:30 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:30 'g_sSamp' (layout( binding=0) uniform sampler) 0:30 Constant: 0:30 0.100000 0:30 Constant: 0:30 0.750000 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of int) -0:31 'txval11' (temp 4-component vector of int) -0:31 textureLod (temp 4-component vector of int) -0:31 Construct combined texture-sampler (temp isampler1D) -0:31 'g_tTex1di4' (uniform itexture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of int) +0:31 'txval11' ( temp 4-component vector of int) +0:31 textureLod ( temp 4-component vector of int) +0:31 Construct combined texture-sampler ( temp isampler1D) +0:31 'g_tTex1di4' ( uniform itexture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.200000 0:31 Constant: 0:31 0.750000 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of uint) -0:32 'txval12' (temp 4-component vector of uint) -0:32 textureLod (temp 4-component vector of uint) -0:32 Construct combined texture-sampler (temp usampler1D) -0:32 'g_tTex1du4' (uniform utexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of uint) +0:32 'txval12' ( temp 4-component vector of uint) +0:32 textureLod ( temp 4-component vector of uint) +0:32 Construct combined texture-sampler ( temp usampler1D) +0:32 'g_tTex1du4' ( uniform utexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.300000 0:32 Constant: 0:32 0.750000 0:34 Sequence -0:34 move second child to first child (temp 4-component vector of float) -0:34 'txval20' (temp 4-component vector of float) -0:34 textureLod (temp 4-component vector of float) -0:34 Construct combined texture-sampler (temp sampler2D) -0:34 'g_tTex2df4' (uniform texture2D) -0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:34 move second child to first child ( temp 4-component vector of float) +0:34 'txval20' ( temp 4-component vector of float) +0:34 textureLod ( temp 4-component vector of float) +0:34 Construct combined texture-sampler ( temp sampler2D) +0:34 'g_tTex2df4' ( uniform texture2D) +0:34 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 0:34 Constant: 0:34 0.750000 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of int) -0:35 'txval21' (temp 4-component vector of int) -0:35 textureLod (temp 4-component vector of int) -0:35 Construct combined texture-sampler (temp isampler2D) -0:35 'g_tTex2di4' (uniform itexture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of int) +0:35 'txval21' ( temp 4-component vector of int) +0:35 textureLod ( temp 4-component vector of int) +0:35 Construct combined texture-sampler ( temp isampler2D) +0:35 'g_tTex2di4' ( uniform itexture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 0:35 Constant: 0:35 0.750000 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of uint) -0:36 'txval22' (temp 4-component vector of uint) -0:36 textureLod (temp 4-component vector of uint) -0:36 Construct combined texture-sampler (temp usampler2D) -0:36 'g_tTex2du4' (uniform utexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of uint) +0:36 'txval22' ( temp 4-component vector of uint) +0:36 textureLod ( temp 4-component vector of uint) +0:36 Construct combined texture-sampler ( temp usampler2D) +0:36 'g_tTex2du4' ( uniform utexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 0:36 Constant: 0:36 0.750000 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'txval30' (temp 4-component vector of float) -0:38 textureLod (temp 4-component vector of float) -0:38 Construct combined texture-sampler (temp sampler3D) -0:38 'g_tTex3df4' (uniform texture3D) -0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'txval30' ( temp 4-component vector of float) +0:38 textureLod ( temp 4-component vector of float) +0:38 Construct combined texture-sampler ( temp sampler3D) +0:38 'g_tTex3df4' ( uniform texture3D) +0:38 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -279,12 +282,12 @@ Shader version: 450 0:38 Constant: 0:38 0.750000 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of int) -0:39 'txval31' (temp 4-component vector of int) -0:39 textureLod (temp 4-component vector of int) -0:39 Construct combined texture-sampler (temp isampler3D) -0:39 'g_tTex3di4' (uniform itexture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of int) +0:39 'txval31' ( temp 4-component vector of int) +0:39 textureLod ( temp 4-component vector of int) +0:39 Construct combined texture-sampler ( temp isampler3D) +0:39 'g_tTex3di4' ( uniform itexture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -292,12 +295,12 @@ Shader version: 450 0:39 Constant: 0:39 0.750000 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of uint) -0:40 'txval32' (temp 4-component vector of uint) -0:40 textureLod (temp 4-component vector of uint) -0:40 Construct combined texture-sampler (temp usampler3D) -0:40 'g_tTex3du4' (uniform utexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of uint) +0:40 'txval32' ( temp 4-component vector of uint) +0:40 textureLod ( temp 4-component vector of uint) +0:40 Construct combined texture-sampler ( temp usampler3D) +0:40 'g_tTex3du4' ( uniform utexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -305,12 +308,12 @@ Shader version: 450 0:40 Constant: 0:40 0.750000 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 'txval40' (temp 4-component vector of float) -0:42 textureLod (temp 4-component vector of float) -0:42 Construct combined texture-sampler (temp samplerCube) -0:42 'g_tTexcdf4' (uniform textureCube) -0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'txval40' ( temp 4-component vector of float) +0:42 textureLod ( temp 4-component vector of float) +0:42 Construct combined texture-sampler ( temp samplerCube) +0:42 'g_tTexcdf4' ( uniform textureCube) +0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -318,12 +321,12 @@ Shader version: 450 0:42 Constant: 0:42 0.750000 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'txval41' (temp 4-component vector of int) -0:43 textureLod (temp 4-component vector of int) -0:43 Construct combined texture-sampler (temp isamplerCube) -0:43 'g_tTexcdi4' (uniform itextureCube) -0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'txval41' ( temp 4-component vector of int) +0:43 textureLod ( temp 4-component vector of int) +0:43 Construct combined texture-sampler ( temp isamplerCube) +0:43 'g_tTexcdi4' ( uniform itextureCube) +0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -331,21 +334,21 @@ Shader version: 450 0:43 Constant: 0:43 0.750000 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of uint) -0:44 'txval42' (temp 4-component vector of uint) -0:44 textureLod (temp 4-component vector of uint) -0:44 Construct combined texture-sampler (temp usamplerCube) -0:44 'g_tTexcdu4' (uniform utextureCube) -0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:44 move second child to first child ( temp 4-component vector of uint) +0:44 'txval42' ( temp 4-component vector of uint) +0:44 textureLod ( temp 4-component vector of uint) +0:44 Construct combined texture-sampler ( temp usamplerCube) +0:44 'g_tTexcdu4' ( uniform utextureCube) +0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 0:? 0.900000 0:44 Constant: 0:44 0.750000 -0:46 move second child to first child (temp 4-component vector of float) -0:46 Pos: direct index for structure (temp 4-component vector of float) -0:46 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 Pos: direct index for structure ( temp 4-component vector of float) +0:46 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:46 Constant: 0:46 0 (const int) 0:? Constant: @@ -353,265 +356,273 @@ Shader version: 450 0:? 0.000000 0:? 0.000000 0:? 0.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:48 Pos: direct index for structure (temp 4-component vector of float) -0:48 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:48 Constant: -0:48 0 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:27 Function Definition: main( ( temp void) +0:27 Function Parameters: +0:? Sequence +0:27 Sequence +0:27 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:27 Pos: direct index for structure ( temp 4-component vector of float) +0:27 Function Call: @main( ( temp structure{ temp 4-component vector of float Pos}) +0:27 Constant: +0:27 0 (const int) 0:? Linker Objects -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? '@entryPointOutput' (layout( location=0) out structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 160 +// Id's are bound by 165 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 152 159 + EntryPoint Vertex 4 "main" 158 164 Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 26 "txval11" - Name 29 "g_tTex1di4" - Name 39 "txval12" - Name 42 "g_tTex1du4" - Name 49 "txval20" - Name 52 "g_tTex2df4" - Name 60 "txval21" - Name 63 "g_tTex2di4" - Name 71 "txval22" - Name 74 "g_tTex2du4" - Name 83 "txval30" - Name 86 "g_tTex3df4" - Name 94 "txval31" - Name 97 "g_tTex3di4" - Name 104 "txval32" - Name 107 "g_tTex3du4" - Name 117 "txval40" - Name 120 "g_tTexcdf4" - Name 126 "txval41" - Name 129 "g_tTexcdi4" - Name 135 "txval42" - Name 138 "g_tTexcdu4" - Name 144 "VS_OUTPUT" - MemberName 144(VS_OUTPUT) 0 "Pos" - Name 146 "vsout" - Name 152 "Pos" - Name 156 "g_tTex1df4a" - Name 157 "PerVertex_out" - MemberName 157(PerVertex_out) 0 "Pos" - Name 159 "PerVertex_out" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 63(g_tTex2di4) DescriptorSet 0 - Decorate 74(g_tTex2du4) DescriptorSet 0 - Decorate 86(g_tTex3df4) DescriptorSet 0 - Decorate 97(g_tTex3di4) DescriptorSet 0 - Decorate 107(g_tTex3du4) DescriptorSet 0 - Decorate 120(g_tTexcdf4) DescriptorSet 0 - Decorate 129(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 152(Pos) BuiltIn Position - Decorate 156(g_tTex1df4a) DescriptorSet 0 - Decorate 156(g_tTex1df4a) Binding 1 - MemberDecorate 157(PerVertex_out) 0 BuiltIn Position - Decorate 157(PerVertex_out) Block + Name 8 "VS_OUTPUT" + MemberName 8(VS_OUTPUT) 0 "Pos" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 30 "txval11" + Name 33 "g_tTex1di4" + Name 43 "txval12" + Name 46 "g_tTex1du4" + Name 53 "txval20" + Name 56 "g_tTex2df4" + Name 64 "txval21" + Name 67 "g_tTex2di4" + Name 75 "txval22" + Name 78 "g_tTex2du4" + Name 87 "txval30" + Name 90 "g_tTex3df4" + Name 98 "txval31" + Name 101 "g_tTex3di4" + Name 108 "txval32" + Name 111 "g_tTex3du4" + Name 121 "txval40" + Name 124 "g_tTexcdf4" + Name 130 "txval41" + Name 133 "g_tTexcdi4" + Name 139 "txval42" + Name 142 "g_tTexcdu4" + Name 149 "vsout" + Name 158 "@entryPointOutput_Pos" + Name 161 "g_tTex1df4a" + Name 162 "VS_OUTPUT" + Name 164 "@entryPointOutput" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 158(@entryPointOutput_Pos) BuiltIn Position + Decorate 161(g_tTex1df4a) DescriptorSet 0 + Decorate 161(g_tTex1df4a) Binding 1 + Decorate 164(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(VS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(VS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 23: TypeInt 32 1 - 24: TypeVector 23(int) 4 - 25: TypePointer Function 24(ivec4) - 27: TypeImage 23(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeSampledImage 27 - 34: 6(float) Constant 1045220557 - 36: TypeInt 32 0 - 37: TypeVector 36(int) 4 - 38: TypePointer Function 37(ivec4) - 40: TypeImage 36(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeSampledImage 40 - 47: 6(float) Constant 1050253722 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeSampledImage 50 - 57: TypeVector 6(float) 2 - 58: 57(fvec2) ConstantComposite 20 34 - 61: TypeImage 23(int) 2D sampled format:Unknown - 62: TypePointer UniformConstant 61 - 63(g_tTex2di4): 62(ptr) Variable UniformConstant - 66: TypeSampledImage 61 - 68: 6(float) Constant 1053609165 - 69: 57(fvec2) ConstantComposite 47 68 - 72: TypeImage 36(int) 2D sampled format:Unknown - 73: TypePointer UniformConstant 72 - 74(g_tTex2du4): 73(ptr) Variable UniformConstant - 77: TypeSampledImage 72 - 79: 6(float) Constant 1056964608 - 80: 6(float) Constant 1058642330 - 81: 57(fvec2) ConstantComposite 79 80 - 84: TypeImage 6(float) 3D sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex3df4): 85(ptr) Variable UniformConstant - 89: TypeSampledImage 84 - 91: TypeVector 6(float) 3 - 92: 91(fvec3) ConstantComposite 20 34 47 - 95: TypeImage 23(int) 3D sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTex3di4): 96(ptr) Variable UniformConstant - 100: TypeSampledImage 95 - 102: 91(fvec3) ConstantComposite 68 79 80 - 105: TypeImage 36(int) 3D sampled format:Unknown - 106: TypePointer UniformConstant 105 - 107(g_tTex3du4): 106(ptr) Variable UniformConstant - 110: TypeSampledImage 105 - 112: 6(float) Constant 1060320051 - 113: 6(float) Constant 1061997773 - 114: 6(float) Constant 1063675494 - 115: 91(fvec3) ConstantComposite 112 113 114 - 118: TypeImage 6(float) Cube sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTexcdf4): 119(ptr) Variable UniformConstant - 123: TypeSampledImage 118 - 127: TypeImage 23(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdi4): 128(ptr) Variable UniformConstant - 132: TypeSampledImage 127 - 136: TypeImage 36(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 141: TypeSampledImage 136 - 144(VS_OUTPUT): TypeStruct 7(fvec4) - 145: TypePointer Function 144(VS_OUTPUT) - 147: 23(int) Constant 0 - 148: 6(float) Constant 0 - 149: 7(fvec4) ConstantComposite 148 148 148 148 - 151: TypePointer Output 7(fvec4) - 152(Pos): 151(ptr) Variable Output -156(g_tTex1df4a): 11(ptr) Variable UniformConstant -157(PerVertex_out): TypeStruct 7(fvec4) - 158: TypePointer Output 157(PerVertex_out) -159(PerVertex_out): 158(ptr) Variable Output + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 27: TypeInt 32 1 + 28: TypeVector 27(int) 4 + 29: TypePointer Function 28(ivec4) + 31: TypeImage 27(int) 1D sampled format:Unknown + 32: TypePointer UniformConstant 31 + 33(g_tTex1di4): 32(ptr) Variable UniformConstant + 36: TypeSampledImage 31 + 38: 6(float) Constant 1045220557 + 40: TypeInt 32 0 + 41: TypeVector 40(int) 4 + 42: TypePointer Function 41(ivec4) + 44: TypeImage 40(int) 1D sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 51: 6(float) Constant 1050253722 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeSampledImage 54 + 61: TypeVector 6(float) 2 + 62: 61(fvec2) ConstantComposite 24 38 + 65: TypeImage 27(int) 2D sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2di4): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1053609165 + 73: 61(fvec2) ConstantComposite 51 72 + 76: TypeImage 40(int) 2D sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2du4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 83: 6(float) Constant 1056964608 + 84: 6(float) Constant 1058642330 + 85: 61(fvec2) ConstantComposite 83 84 + 88: TypeImage 6(float) 3D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex3df4): 89(ptr) Variable UniformConstant + 93: TypeSampledImage 88 + 95: TypeVector 6(float) 3 + 96: 95(fvec3) ConstantComposite 24 38 51 + 99: TypeImage 27(int) 3D sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTex3di4): 100(ptr) Variable UniformConstant + 104: TypeSampledImage 99 + 106: 95(fvec3) ConstantComposite 72 83 84 + 109: TypeImage 40(int) 3D sampled format:Unknown + 110: TypePointer UniformConstant 109 + 111(g_tTex3du4): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 116: 6(float) Constant 1060320051 + 117: 6(float) Constant 1061997773 + 118: 6(float) Constant 1063675494 + 119: 95(fvec3) ConstantComposite 116 117 118 + 122: TypeImage 6(float) Cube sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTexcdf4): 123(ptr) Variable UniformConstant + 127: TypeSampledImage 122 + 131: TypeImage 27(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdi4): 132(ptr) Variable UniformConstant + 136: TypeSampledImage 131 + 140: TypeImage 40(int) Cube sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTexcdu4): 141(ptr) Variable UniformConstant + 145: TypeSampledImage 140 + 148: TypePointer Function 8(VS_OUTPUT) + 150: 27(int) Constant 0 + 151: 6(float) Constant 0 + 152: 7(fvec4) ConstantComposite 151 151 151 151 + 157: TypePointer Output 7(fvec4) +158(@entryPointOutput_Pos): 157(ptr) Variable Output +161(g_tTex1df4a): 15(ptr) Variable UniformConstant + 162(VS_OUTPUT): TypeStruct + 163: TypePointer Output 162(VS_OUTPUT) +164(@entryPointOutput): 163(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 26(txval11): 25(ptr) Variable Function - 39(txval12): 38(ptr) Variable Function - 49(txval20): 8(ptr) Variable Function - 60(txval21): 25(ptr) Variable Function - 71(txval22): 38(ptr) Variable Function - 83(txval30): 8(ptr) Variable Function - 94(txval31): 25(ptr) Variable Function - 104(txval32): 38(ptr) Variable Function - 117(txval40): 8(ptr) Variable Function - 126(txval41): 25(ptr) Variable Function - 135(txval42): 38(ptr) Variable Function - 146(vsout): 145(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 22: 7(fvec4) ImageSampleExplicitLod 19 20 Lod 21 - Store 9(txval10) 22 - 30: 27 Load 29(g_tTex1di4) - 31: 14 Load 16(g_sSamp) - 33: 32 SampledImage 30 31 - 35: 24(ivec4) ImageSampleExplicitLod 33 34 Lod 21 - Store 26(txval11) 35 - 43: 40 Load 42(g_tTex1du4) - 44: 14 Load 16(g_sSamp) - 46: 45 SampledImage 43 44 - 48: 37(ivec4) ImageSampleExplicitLod 46 47 Lod 21 - Store 39(txval12) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 14 Load 16(g_sSamp) - 56: 55 SampledImage 53 54 - 59: 7(fvec4) ImageSampleExplicitLod 56 58 Lod 21 - Store 49(txval20) 59 - 64: 61 Load 63(g_tTex2di4) - 65: 14 Load 16(g_sSamp) - 67: 66 SampledImage 64 65 - 70: 24(ivec4) ImageSampleExplicitLod 67 69 Lod 21 - Store 60(txval21) 70 - 75: 72 Load 74(g_tTex2du4) - 76: 14 Load 16(g_sSamp) - 78: 77 SampledImage 75 76 - 82: 37(ivec4) ImageSampleExplicitLod 78 81 Lod 21 - Store 71(txval22) 82 - 87: 84 Load 86(g_tTex3df4) - 88: 14 Load 16(g_sSamp) - 90: 89 SampledImage 87 88 - 93: 7(fvec4) ImageSampleExplicitLod 90 92 Lod 21 - Store 83(txval30) 93 - 98: 95 Load 97(g_tTex3di4) - 99: 14 Load 16(g_sSamp) - 101: 100 SampledImage 98 99 - 103: 24(ivec4) ImageSampleExplicitLod 101 102 Lod 21 - Store 94(txval31) 103 - 108: 105 Load 107(g_tTex3du4) - 109: 14 Load 16(g_sSamp) - 111: 110 SampledImage 108 109 - 116: 37(ivec4) ImageSampleExplicitLod 111 115 Lod 21 - Store 104(txval32) 116 - 121: 118 Load 120(g_tTexcdf4) - 122: 14 Load 16(g_sSamp) - 124: 123 SampledImage 121 122 - 125: 7(fvec4) ImageSampleExplicitLod 124 92 Lod 21 - Store 117(txval40) 125 - 130: 127 Load 129(g_tTexcdi4) - 131: 14 Load 16(g_sSamp) - 133: 132 SampledImage 130 131 - 134: 24(ivec4) ImageSampleExplicitLod 133 102 Lod 21 - Store 126(txval41) 134 - 139: 136 Load 138(g_tTexcdu4) - 140: 14 Load 16(g_sSamp) - 142: 141 SampledImage 139 140 - 143: 37(ivec4) ImageSampleExplicitLod 142 115 Lod 21 - Store 135(txval42) 143 - 150: 8(ptr) AccessChain 146(vsout) 147 - Store 150 149 - 153: 8(ptr) AccessChain 146(vsout) 147 - 154: 7(fvec4) Load 153 - Store 152(Pos) 154 + 159:8(VS_OUTPUT) FunctionCall 10(@main() + 160: 7(fvec4) CompositeExtract 159 0 + Store 158(@entryPointOutput_Pos) 160 Return FunctionEnd + 10(@main():8(VS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 30(txval11): 29(ptr) Variable Function + 43(txval12): 42(ptr) Variable Function + 53(txval20): 12(ptr) Variable Function + 64(txval21): 29(ptr) Variable Function + 75(txval22): 42(ptr) Variable Function + 87(txval30): 12(ptr) Variable Function + 98(txval31): 29(ptr) Variable Function + 108(txval32): 42(ptr) Variable Function + 121(txval40): 12(ptr) Variable Function + 130(txval41): 29(ptr) Variable Function + 139(txval42): 42(ptr) Variable Function + 149(vsout): 148(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 26: 7(fvec4) ImageSampleExplicitLod 23 24 Lod 25 + Store 13(txval10) 26 + 34: 31 Load 33(g_tTex1di4) + 35: 18 Load 20(g_sSamp) + 37: 36 SampledImage 34 35 + 39: 28(ivec4) ImageSampleExplicitLod 37 38 Lod 25 + Store 30(txval11) 39 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 52: 41(ivec4) ImageSampleExplicitLod 50 51 Lod 25 + Store 43(txval12) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 18 Load 20(g_sSamp) + 60: 59 SampledImage 57 58 + 63: 7(fvec4) ImageSampleExplicitLod 60 62 Lod 25 + Store 53(txval20) 63 + 68: 65 Load 67(g_tTex2di4) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 28(ivec4) ImageSampleExplicitLod 71 73 Lod 25 + Store 64(txval21) 74 + 79: 76 Load 78(g_tTex2du4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 86: 41(ivec4) ImageSampleExplicitLod 82 85 Lod 25 + Store 75(txval22) 86 + 91: 88 Load 90(g_tTex3df4) + 92: 18 Load 20(g_sSamp) + 94: 93 SampledImage 91 92 + 97: 7(fvec4) ImageSampleExplicitLod 94 96 Lod 25 + Store 87(txval30) 97 + 102: 99 Load 101(g_tTex3di4) + 103: 18 Load 20(g_sSamp) + 105: 104 SampledImage 102 103 + 107: 28(ivec4) ImageSampleExplicitLod 105 106 Lod 25 + Store 98(txval31) 107 + 112: 109 Load 111(g_tTex3du4) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 120: 41(ivec4) ImageSampleExplicitLod 115 119 Lod 25 + Store 108(txval32) 120 + 125: 122 Load 124(g_tTexcdf4) + 126: 18 Load 20(g_sSamp) + 128: 127 SampledImage 125 126 + 129: 7(fvec4) ImageSampleExplicitLod 128 96 Lod 25 + Store 121(txval40) 129 + 134: 131 Load 133(g_tTexcdi4) + 135: 18 Load 20(g_sSamp) + 137: 136 SampledImage 134 135 + 138: 28(ivec4) ImageSampleExplicitLod 137 106 Lod 25 + Store 130(txval41) 138 + 143: 140 Load 142(g_tTexcdu4) + 144: 18 Load 20(g_sSamp) + 146: 145 SampledImage 143 144 + 147: 41(ivec4) ImageSampleExplicitLod 146 119 Lod 25 + Store 139(txval42) 147 + 153: 12(ptr) AccessChain 149(vsout) 150 + Store 153 152 + 154:8(VS_OUTPUT) Load 149(vsout) + ReturnValue 154 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index aa779610671..2c98171209c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplelevel.offset.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureLodOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureLodOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -19,12 +19,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureLodOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureLodOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -32,12 +32,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureLodOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureLodOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -45,12 +45,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureLodOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureLodOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -60,12 +60,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureLodOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureLodOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -75,12 +75,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureLodOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureLodOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -90,12 +90,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureLodOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureLodOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -107,12 +107,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureLodOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureLodOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -124,12 +124,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureLodOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureLodOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -140,9 +140,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -150,45 +150,51 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -197,16 +203,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:28 Function Parameters: 0:? Sequence 0:31 Sequence -0:31 move second child to first child (temp 4-component vector of float) -0:31 'txval10' (temp 4-component vector of float) -0:31 textureLodOffset (temp 4-component vector of float) -0:31 Construct combined texture-sampler (temp sampler1D) -0:31 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'txval10' ( temp 4-component vector of float) +0:31 textureLodOffset ( temp 4-component vector of float) +0:31 Construct combined texture-sampler ( temp sampler1D) +0:31 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:31 'g_sSamp' (layout( binding=0) uniform sampler) 0:31 Constant: 0:31 0.100000 0:31 Constant: @@ -214,12 +220,12 @@ gl_FragCoord origin is upper left 0:31 Constant: 0:31 1 (const int) 0:32 Sequence -0:32 move second child to first child (temp 4-component vector of int) -0:32 'txval11' (temp 4-component vector of int) -0:32 textureLodOffset (temp 4-component vector of int) -0:32 Construct combined texture-sampler (temp isampler1D) -0:32 'g_tTex1di4' (uniform itexture1D) -0:32 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:32 move second child to first child ( temp 4-component vector of int) +0:32 'txval11' ( temp 4-component vector of int) +0:32 textureLodOffset ( temp 4-component vector of int) +0:32 Construct combined texture-sampler ( temp isampler1D) +0:32 'g_tTex1di4' ( uniform itexture1D) +0:32 'g_sSamp' (layout( binding=0) uniform sampler) 0:32 Constant: 0:32 0.200000 0:32 Constant: @@ -227,12 +233,12 @@ gl_FragCoord origin is upper left 0:32 Constant: 0:32 1 (const int) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of uint) -0:33 'txval12' (temp 4-component vector of uint) -0:33 textureLodOffset (temp 4-component vector of uint) -0:33 Construct combined texture-sampler (temp usampler1D) -0:33 'g_tTex1du4' (uniform utexture1D) -0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:33 move second child to first child ( temp 4-component vector of uint) +0:33 'txval12' ( temp 4-component vector of uint) +0:33 textureLodOffset ( temp 4-component vector of uint) +0:33 Construct combined texture-sampler ( temp usampler1D) +0:33 'g_tTex1du4' ( uniform utexture1D) +0:33 'g_sSamp' (layout( binding=0) uniform sampler) 0:33 Constant: 0:33 0.300000 0:33 Constant: @@ -240,12 +246,12 @@ gl_FragCoord origin is upper left 0:33 Constant: 0:33 1 (const int) 0:35 Sequence -0:35 move second child to first child (temp 4-component vector of float) -0:35 'txval20' (temp 4-component vector of float) -0:35 textureLodOffset (temp 4-component vector of float) -0:35 Construct combined texture-sampler (temp sampler2D) -0:35 'g_tTex2df4' (uniform texture2D) -0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:35 move second child to first child ( temp 4-component vector of float) +0:35 'txval20' ( temp 4-component vector of float) +0:35 textureLodOffset ( temp 4-component vector of float) +0:35 Construct combined texture-sampler ( temp sampler2D) +0:35 'g_tTex2df4' ( uniform texture2D) +0:35 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -255,12 +261,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:36 Sequence -0:36 move second child to first child (temp 4-component vector of int) -0:36 'txval21' (temp 4-component vector of int) -0:36 textureLodOffset (temp 4-component vector of int) -0:36 Construct combined texture-sampler (temp isampler2D) -0:36 'g_tTex2di4' (uniform itexture2D) -0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:36 move second child to first child ( temp 4-component vector of int) +0:36 'txval21' ( temp 4-component vector of int) +0:36 textureLodOffset ( temp 4-component vector of int) +0:36 Construct combined texture-sampler ( temp isampler2D) +0:36 'g_tTex2di4' ( uniform itexture2D) +0:36 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -270,12 +276,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 4-component vector of uint) -0:37 'txval22' (temp 4-component vector of uint) -0:37 textureLodOffset (temp 4-component vector of uint) -0:37 Construct combined texture-sampler (temp usampler2D) -0:37 'g_tTex2du4' (uniform utexture2D) -0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:37 move second child to first child ( temp 4-component vector of uint) +0:37 'txval22' ( temp 4-component vector of uint) +0:37 textureLodOffset ( temp 4-component vector of uint) +0:37 Construct combined texture-sampler ( temp usampler2D) +0:37 'g_tTex2du4' ( uniform utexture2D) +0:37 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -285,12 +291,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? -1 (const int) 0:39 Sequence -0:39 move second child to first child (temp 4-component vector of float) -0:39 'txval30' (temp 4-component vector of float) -0:39 textureLodOffset (temp 4-component vector of float) -0:39 Construct combined texture-sampler (temp sampler3D) -0:39 'g_tTex3df4' (uniform texture3D) -0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:39 move second child to first child ( temp 4-component vector of float) +0:39 'txval30' ( temp 4-component vector of float) +0:39 textureLodOffset ( temp 4-component vector of float) +0:39 Construct combined texture-sampler ( temp sampler3D) +0:39 'g_tTex3df4' ( uniform texture3D) +0:39 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -302,12 +308,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 1 (const int) 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of int) -0:40 'txval31' (temp 4-component vector of int) -0:40 textureLodOffset (temp 4-component vector of int) -0:40 Construct combined texture-sampler (temp isampler3D) -0:40 'g_tTex3di4' (uniform itexture3D) -0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:40 move second child to first child ( temp 4-component vector of int) +0:40 'txval31' ( temp 4-component vector of int) +0:40 textureLodOffset ( temp 4-component vector of int) +0:40 Construct combined texture-sampler ( temp isampler3D) +0:40 'g_tTex3di4' ( uniform itexture3D) +0:40 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.400000 0:? 0.500000 @@ -319,12 +325,12 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 1 (const int) 0:41 Sequence -0:41 move second child to first child (temp 4-component vector of uint) -0:41 'txval32' (temp 4-component vector of uint) -0:41 textureLodOffset (temp 4-component vector of uint) -0:41 Construct combined texture-sampler (temp usampler3D) -0:41 'g_tTex3du4' (uniform utexture3D) -0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:41 move second child to first child ( temp 4-component vector of uint) +0:41 'txval32' ( temp 4-component vector of uint) +0:41 textureLodOffset ( temp 4-component vector of uint) +0:41 Construct combined texture-sampler ( temp usampler3D) +0:41 'g_tTex3du4' ( uniform utexture3D) +0:41 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.700000 0:? 0.800000 @@ -335,9 +341,9 @@ gl_FragCoord origin is upper left 0:? 1 (const int) 0:? 0 (const int) 0:? -1 (const int) -0:45 move second child to first child (temp 4-component vector of float) -0:45 Color: direct index for structure (temp 4-component vector of float) -0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: @@ -345,269 +351,286 @@ gl_FragCoord origin is upper left 0:45 1.000000 0:45 1.000000 0:45 1.000000 -0:46 move second child to first child (temp float) -0:46 Depth: direct index for structure (temp float) -0:46 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:46 move second child to first child ( temp float) +0:46 Depth: direct index for structure ( temp float) +0:46 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:46 Constant: 0:46 1 (const int) 0:46 Constant: 0:46 1.000000 -0:48 Sequence -0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:48 Color: direct index for structure (temp 4-component vector of float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 0 (const int) -0:48 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:48 Depth: direct index for structure (temp float) -0:48 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:48 Constant: -0:48 1 (const int) -0:48 Branch: Return +0:48 Branch: Return with expression +0:48 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Definition: main( ( temp void) +0:28 Function Parameters: +0:? Sequence +0:28 Sequence +0:28 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:28 Color: direct index for structure ( temp 4-component vector of float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:28 Depth: direct index for structure ( temp float) +0:28 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:28 Constant: +0:28 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTexcdf4' (uniform textureCube) -0:? 'g_tTexcdi4' (uniform itextureCube) -0:? 'g_tTexcdu4' (uniform utextureCube) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTexcdf4' ( uniform textureCube) +0:? 'g_tTexcdi4' ( uniform itextureCube) +0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 155 +// Id's are bound by 162 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 137 141 + EntryPoint Fragment 4 "main" 145 149 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 27 "txval11" - Name 30 "g_tTex1di4" - Name 40 "txval12" - Name 43 "g_tTex1du4" - Name 50 "txval20" - Name 53 "g_tTex2df4" - Name 64 "txval21" - Name 67 "g_tTex2di4" - Name 76 "txval22" - Name 79 "g_tTex2du4" - Name 90 "txval30" - Name 93 "g_tTex3df4" - Name 103 "txval31" - Name 106 "g_tTex3di4" - Name 114 "txval32" - Name 117 "g_tTex3du4" - Name 128 "PS_OUTPUT" - MemberName 128(PS_OUTPUT) 0 "Color" - MemberName 128(PS_OUTPUT) 1 "Depth" - Name 130 "psout" - Name 137 "Color" - Name 141 "Depth" - Name 145 "g_tTex1df4a" - Name 148 "g_tTexcdf4" - Name 151 "g_tTexcdi4" - Name 154 "g_tTexcdu4" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 43(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 79(g_tTex2du4) DescriptorSet 0 - Decorate 93(g_tTex3df4) DescriptorSet 0 - Decorate 106(g_tTex3di4) DescriptorSet 0 - Decorate 117(g_tTex3du4) DescriptorSet 0 - Decorate 137(Color) Location 0 - Decorate 141(Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 - Decorate 145(g_tTex1df4a) Binding 1 - Decorate 148(g_tTexcdf4) DescriptorSet 0 - Decorate 151(g_tTexcdi4) DescriptorSet 0 - Decorate 154(g_tTexcdu4) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 31 "txval11" + Name 34 "g_tTex1di4" + Name 44 "txval12" + Name 47 "g_tTex1du4" + Name 54 "txval20" + Name 57 "g_tTex2df4" + Name 68 "txval21" + Name 71 "g_tTex2di4" + Name 80 "txval22" + Name 83 "g_tTex2du4" + Name 94 "txval30" + Name 97 "g_tTex3df4" + Name 107 "txval31" + Name 110 "g_tTex3di4" + Name 118 "txval32" + Name 121 "g_tTex3du4" + Name 133 "psout" + Name 142 "flattenTemp" + Name 145 "Color" + Name 149 "Depth" + Name 152 "g_tTex1df4a" + Name 155 "g_tTexcdf4" + Name 158 "g_tTexcdi4" + Name 161 "g_tTexcdu4" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 97(g_tTex3df4) DescriptorSet 0 + Decorate 110(g_tTex3di4) DescriptorSet 0 + Decorate 121(g_tTex3du4) DescriptorSet 0 + Decorate 145(Color) Location 0 + Decorate 149(Depth) BuiltIn FragDepth + Decorate 152(g_tTex1df4a) DescriptorSet 0 + Decorate 152(g_tTex1df4a) Binding 1 + Decorate 155(g_tTexcdf4) DescriptorSet 0 + Decorate 158(g_tTexcdi4) DescriptorSet 0 + Decorate 161(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1036831949 - 21: 6(float) Constant 1061158912 - 22: TypeInt 32 1 - 23: 22(int) Constant 1 - 25: TypeVector 22(int) 4 - 26: TypePointer Function 25(ivec4) - 28: TypeImage 22(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeSampledImage 28 - 35: 6(float) Constant 1045220557 - 37: TypeInt 32 0 - 38: TypeVector 37(int) 4 - 39: TypePointer Function 38(ivec4) - 41: TypeImage 37(int) 1D sampled format:Unknown - 42: TypePointer UniformConstant 41 - 43(g_tTex1du4): 42(ptr) Variable UniformConstant - 46: TypeSampledImage 41 - 48: 6(float) Constant 1050253722 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeSampledImage 51 - 58: TypeVector 6(float) 2 - 59: 58(fvec2) ConstantComposite 20 35 - 60: TypeVector 22(int) 2 - 61: 22(int) Constant 0 - 62: 60(ivec2) ConstantComposite 23 61 - 65: TypeImage 22(int) 2D sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeSampledImage 65 - 72: 6(float) Constant 1053609165 - 73: 58(fvec2) ConstantComposite 48 72 - 74: 60(ivec2) ConstantComposite 23 23 - 77: TypeImage 37(int) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: 6(float) Constant 1056964608 - 85: 6(float) Constant 1058642330 - 86: 58(fvec2) ConstantComposite 84 85 - 87: 22(int) Constant 4294967295 - 88: 60(ivec2) ConstantComposite 23 87 - 91: TypeImage 6(float) 3D sampled format:Unknown - 92: TypePointer UniformConstant 91 - 93(g_tTex3df4): 92(ptr) Variable UniformConstant - 96: TypeSampledImage 91 - 98: TypeVector 6(float) 3 - 99: 98(fvec3) ConstantComposite 20 35 48 - 100: TypeVector 22(int) 3 - 101: 100(ivec3) ConstantComposite 23 61 23 - 104: TypeImage 22(int) 3D sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTex3di4): 105(ptr) Variable UniformConstant - 109: TypeSampledImage 104 - 111: 98(fvec3) ConstantComposite 72 84 85 - 112: 100(ivec3) ConstantComposite 23 23 23 - 115: TypeImage 37(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3du4): 116(ptr) Variable UniformConstant - 120: TypeSampledImage 115 - 122: 6(float) Constant 1060320051 - 123: 6(float) Constant 1061997773 - 124: 6(float) Constant 1063675494 - 125: 98(fvec3) ConstantComposite 122 123 124 - 126: 100(ivec3) ConstantComposite 23 61 87 - 128(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 129: TypePointer Function 128(PS_OUTPUT) - 131: 6(float) Constant 1065353216 - 132: 7(fvec4) ConstantComposite 131 131 131 131 - 134: TypePointer Function 6(float) - 136: TypePointer Output 7(fvec4) - 137(Color): 136(ptr) Variable Output - 140: TypePointer Output 6(float) - 141(Depth): 140(ptr) Variable Output -145(g_tTex1df4a): 11(ptr) Variable UniformConstant - 146: TypeImage 6(float) Cube sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTexcdf4): 147(ptr) Variable UniformConstant - 149: TypeImage 22(int) Cube sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTexcdi4): 150(ptr) Variable UniformConstant - 152: TypeImage 37(int) Cube sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTexcdu4): 153(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeInt 32 1 + 27: 26(int) Constant 1 + 29: TypeVector 26(int) 4 + 30: TypePointer Function 29(ivec4) + 32: TypeImage 26(int) 1D sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 39: 6(float) Constant 1045220557 + 41: TypeInt 32 0 + 42: TypeVector 41(int) 4 + 43: TypePointer Function 42(ivec4) + 45: TypeImage 41(int) 1D sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 52: 6(float) Constant 1050253722 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: TypeVector 6(float) 2 + 63: 62(fvec2) ConstantComposite 24 39 + 64: TypeVector 26(int) 2 + 65: 26(int) Constant 0 + 66: 64(ivec2) ConstantComposite 27 65 + 69: TypeImage 26(int) 2D sampled format:Unknown + 70: TypePointer UniformConstant 69 + 71(g_tTex2di4): 70(ptr) Variable UniformConstant + 74: TypeSampledImage 69 + 76: 6(float) Constant 1053609165 + 77: 62(fvec2) ConstantComposite 52 76 + 78: 64(ivec2) ConstantComposite 27 27 + 81: TypeImage 41(int) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2du4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: 6(float) Constant 1056964608 + 89: 6(float) Constant 1058642330 + 90: 62(fvec2) ConstantComposite 88 89 + 91: 26(int) Constant 4294967295 + 92: 64(ivec2) ConstantComposite 27 91 + 95: TypeImage 6(float) 3D sampled format:Unknown + 96: TypePointer UniformConstant 95 + 97(g_tTex3df4): 96(ptr) Variable UniformConstant + 100: TypeSampledImage 95 + 102: TypeVector 6(float) 3 + 103: 102(fvec3) ConstantComposite 24 39 52 + 104: TypeVector 26(int) 3 + 105: 104(ivec3) ConstantComposite 27 65 27 + 108: TypeImage 26(int) 3D sampled format:Unknown + 109: TypePointer UniformConstant 108 + 110(g_tTex3di4): 109(ptr) Variable UniformConstant + 113: TypeSampledImage 108 + 115: 102(fvec3) ConstantComposite 76 88 89 + 116: 104(ivec3) ConstantComposite 27 27 27 + 119: TypeImage 41(int) 3D sampled format:Unknown + 120: TypePointer UniformConstant 119 + 121(g_tTex3du4): 120(ptr) Variable UniformConstant + 124: TypeSampledImage 119 + 126: 6(float) Constant 1060320051 + 127: 6(float) Constant 1061997773 + 128: 6(float) Constant 1063675494 + 129: 102(fvec3) ConstantComposite 126 127 128 + 130: 104(ivec3) ConstantComposite 27 65 91 + 132: TypePointer Function 8(PS_OUTPUT) + 134: 6(float) Constant 1065353216 + 135: 7(fvec4) ConstantComposite 134 134 134 134 + 137: TypePointer Function 6(float) + 144: TypePointer Output 7(fvec4) + 145(Color): 144(ptr) Variable Output + 148: TypePointer Output 6(float) + 149(Depth): 148(ptr) Variable Output +152(g_tTex1df4a): 15(ptr) Variable UniformConstant + 153: TypeImage 6(float) Cube sampled format:Unknown + 154: TypePointer UniformConstant 153 + 155(g_tTexcdf4): 154(ptr) Variable UniformConstant + 156: TypeImage 26(int) Cube sampled format:Unknown + 157: TypePointer UniformConstant 156 + 158(g_tTexcdi4): 157(ptr) Variable UniformConstant + 159: TypeImage 41(int) Cube sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTexcdu4): 160(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 27(txval11): 26(ptr) Variable Function - 40(txval12): 39(ptr) Variable Function - 50(txval20): 8(ptr) Variable Function - 64(txval21): 26(ptr) Variable Function - 76(txval22): 39(ptr) Variable Function - 90(txval30): 8(ptr) Variable Function - 103(txval31): 26(ptr) Variable Function - 114(txval32): 39(ptr) Variable Function - 130(psout): 129(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleExplicitLod 19 20 Lod ConstOffset 21 23 - Store 9(txval10) 24 - 31: 28 Load 30(g_tTex1di4) - 32: 14 Load 16(g_sSamp) - 34: 33 SampledImage 31 32 - 36: 25(ivec4) ImageSampleExplicitLod 34 35 Lod ConstOffset 21 23 - Store 27(txval11) 36 - 44: 41 Load 43(g_tTex1du4) - 45: 14 Load 16(g_sSamp) - 47: 46 SampledImage 44 45 - 49: 38(ivec4) ImageSampleExplicitLod 47 48 Lod ConstOffset 21 23 - Store 40(txval12) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 14 Load 16(g_sSamp) - 57: 56 SampledImage 54 55 - 63: 7(fvec4) ImageSampleExplicitLod 57 59 Lod ConstOffset 21 62 - Store 50(txval20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 14 Load 16(g_sSamp) - 71: 70 SampledImage 68 69 - 75: 25(ivec4) ImageSampleExplicitLod 71 73 Lod ConstOffset 21 74 - Store 64(txval21) 75 - 80: 77 Load 79(g_tTex2du4) - 81: 14 Load 16(g_sSamp) - 83: 82 SampledImage 80 81 - 89: 38(ivec4) ImageSampleExplicitLod 83 86 Lod ConstOffset 21 88 - Store 76(txval22) 89 - 94: 91 Load 93(g_tTex3df4) - 95: 14 Load 16(g_sSamp) - 97: 96 SampledImage 94 95 - 102: 7(fvec4) ImageSampleExplicitLod 97 99 Lod ConstOffset 21 101 - Store 90(txval30) 102 - 107: 104 Load 106(g_tTex3di4) - 108: 14 Load 16(g_sSamp) - 110: 109 SampledImage 107 108 - 113: 25(ivec4) ImageSampleExplicitLod 110 111 Lod ConstOffset 21 112 - Store 103(txval31) 113 - 118: 115 Load 117(g_tTex3du4) - 119: 14 Load 16(g_sSamp) - 121: 120 SampledImage 118 119 - 127: 38(ivec4) ImageSampleExplicitLod 121 125 Lod ConstOffset 21 126 - Store 114(txval32) 127 - 133: 8(ptr) AccessChain 130(psout) 61 - Store 133 132 - 135: 134(ptr) AccessChain 130(psout) 23 - Store 135 131 - 138: 8(ptr) AccessChain 130(psout) 61 - 139: 7(fvec4) Load 138 - Store 137(Color) 139 - 142: 134(ptr) AccessChain 130(psout) 23 - 143: 6(float) Load 142 - Store 141(Depth) 143 +142(flattenTemp): 132(ptr) Variable Function + 143:8(PS_OUTPUT) FunctionCall 10(@main() + Store 142(flattenTemp) 143 + 146: 12(ptr) AccessChain 142(flattenTemp) 65 + 147: 7(fvec4) Load 146 + Store 145(Color) 147 + 150: 137(ptr) AccessChain 142(flattenTemp) 27 + 151: 6(float) Load 150 + Store 149(Depth) 151 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 31(txval11): 30(ptr) Variable Function + 44(txval12): 43(ptr) Variable Function + 54(txval20): 12(ptr) Variable Function + 68(txval21): 30(ptr) Variable Function + 80(txval22): 43(ptr) Variable Function + 94(txval30): 12(ptr) Variable Function + 107(txval31): 30(ptr) Variable Function + 118(txval32): 43(ptr) Variable Function + 133(psout): 132(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 28: 7(fvec4) ImageSampleExplicitLod 23 24 Lod ConstOffset 25 27 + Store 13(txval10) 28 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 40: 29(ivec4) ImageSampleExplicitLod 38 39 Lod ConstOffset 25 27 + Store 31(txval11) 40 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 53: 42(ivec4) ImageSampleExplicitLod 51 52 Lod ConstOffset 25 27 + Store 44(txval12) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 67: 7(fvec4) ImageSampleExplicitLod 61 63 Lod ConstOffset 25 66 + Store 54(txval20) 67 + 72: 69 Load 71(g_tTex2di4) + 73: 18 Load 20(g_sSamp) + 75: 74 SampledImage 72 73 + 79: 29(ivec4) ImageSampleExplicitLod 75 77 Lod ConstOffset 25 78 + Store 68(txval21) 79 + 84: 81 Load 83(g_tTex2du4) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 93: 42(ivec4) ImageSampleExplicitLod 87 90 Lod ConstOffset 25 92 + Store 80(txval22) 93 + 98: 95 Load 97(g_tTex3df4) + 99: 18 Load 20(g_sSamp) + 101: 100 SampledImage 98 99 + 106: 7(fvec4) ImageSampleExplicitLod 101 103 Lod ConstOffset 25 105 + Store 94(txval30) 106 + 111: 108 Load 110(g_tTex3di4) + 112: 18 Load 20(g_sSamp) + 114: 113 SampledImage 111 112 + 117: 29(ivec4) ImageSampleExplicitLod 114 115 Lod ConstOffset 25 116 + Store 107(txval31) 117 + 122: 119 Load 121(g_tTex3du4) + 123: 18 Load 20(g_sSamp) + 125: 124 SampledImage 122 123 + 131: 42(ivec4) ImageSampleExplicitLod 125 129 Lod ConstOffset 25 130 + Store 118(txval32) 131 + 136: 12(ptr) AccessChain 133(psout) 65 + Store 136 135 + 138: 137(ptr) AccessChain 133(psout) 27 + Store 138 134 + 139:8(PS_OUTPUT) Load 133(psout) + ReturnValue 139 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index 056a4f13c8f..06b4c7b4bc7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -2,16 +2,16 @@ hlsl.samplelevel.offsetarray.dx10.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureLodOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureLodOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -20,12 +20,12 @@ gl_FragCoord origin is upper left 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureLodOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureLodOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 @@ -34,12 +34,12 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureLodOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureLodOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -48,12 +48,12 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureLodOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureLodOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -64,12 +64,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureLodOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureLodOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -80,12 +80,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureLodOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureLodOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -95,9 +95,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -105,39 +105,45 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) Linked fragment stage: @@ -146,16 +152,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:20 Function Parameters: 0:? Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'txval10' (temp 4-component vector of float) -0:23 textureLodOffset (temp 4-component vector of float) -0:23 Construct combined texture-sampler (temp sampler1DArray) -0:23 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:23 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'txval10' ( temp 4-component vector of float) +0:23 textureLodOffset ( temp 4-component vector of float) +0:23 Construct combined texture-sampler ( temp sampler1DArray) +0:23 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:23 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -164,12 +170,12 @@ gl_FragCoord origin is upper left 0:23 Constant: 0:23 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of int) -0:24 'txval11' (temp 4-component vector of int) -0:24 textureLodOffset (temp 4-component vector of int) -0:24 Construct combined texture-sampler (temp isampler1DArray) -0:24 'g_tTex1di4' (uniform itexture1DArray) -0:24 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:24 move second child to first child ( temp 4-component vector of int) +0:24 'txval11' ( temp 4-component vector of int) +0:24 textureLodOffset ( temp 4-component vector of int) +0:24 Construct combined texture-sampler ( temp isampler1DArray) +0:24 'g_tTex1di4' ( uniform itexture1DArray) +0:24 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.200000 0:? 0.300000 @@ -178,12 +184,12 @@ gl_FragCoord origin is upper left 0:24 Constant: 0:24 1 (const int) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of uint) -0:25 'txval12' (temp 4-component vector of uint) -0:25 textureLodOffset (temp 4-component vector of uint) -0:25 Construct combined texture-sampler (temp usampler1DArray) -0:25 'g_tTex1du4' (uniform utexture1DArray) -0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:25 move second child to first child ( temp 4-component vector of uint) +0:25 'txval12' ( temp 4-component vector of uint) +0:25 textureLodOffset ( temp 4-component vector of uint) +0:25 Construct combined texture-sampler ( temp usampler1DArray) +0:25 'g_tTex1du4' ( uniform utexture1DArray) +0:25 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -192,12 +198,12 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 2 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'txval20' (temp 4-component vector of float) -0:27 textureLodOffset (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler2DArray) -0:27 'g_tTex2df4' (uniform texture2DArray) -0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'txval20' ( temp 4-component vector of float) +0:27 textureLodOffset ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler2DArray) +0:27 'g_tTex2df4' ( uniform texture2DArray) +0:27 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -208,12 +214,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of int) -0:28 'txval21' (temp 4-component vector of int) -0:28 textureLodOffset (temp 4-component vector of int) -0:28 Construct combined texture-sampler (temp isampler2DArray) -0:28 'g_tTex2di4' (uniform itexture2DArray) -0:28 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:28 move second child to first child ( temp 4-component vector of int) +0:28 'txval21' ( temp 4-component vector of int) +0:28 textureLodOffset ( temp 4-component vector of int) +0:28 Construct combined texture-sampler ( temp isampler2DArray) +0:28 'g_tTex2di4' ( uniform itexture2DArray) +0:28 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.300000 0:? 0.400000 @@ -224,12 +230,12 @@ gl_FragCoord origin is upper left 0:? 0 (const int) 0:? 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'txval22' (temp 4-component vector of uint) -0:29 textureLodOffset (temp 4-component vector of uint) -0:29 Construct combined texture-sampler (temp usampler2DArray) -0:29 'g_tTex2du4' (uniform utexture2DArray) -0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'txval22' ( temp 4-component vector of uint) +0:29 textureLodOffset ( temp 4-component vector of uint) +0:29 Construct combined texture-sampler ( temp usampler2DArray) +0:29 'g_tTex2du4' ( uniform utexture2DArray) +0:29 'g_sSamp' (layout( binding=0) uniform sampler) 0:? Constant: 0:? 0.500000 0:? 0.600000 @@ -239,9 +245,9 @@ gl_FragCoord origin is upper left 0:? Constant: 0:? 0 (const int) 0:? 1 (const int) -0:33 move second child to first child (temp 4-component vector of float) -0:33 Color: direct index for structure (temp 4-component vector of float) -0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 Color: direct index for structure ( temp 4-component vector of float) +0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -249,202 +255,219 @@ gl_FragCoord origin is upper left 0:33 1.000000 0:33 1.000000 0:33 1.000000 -0:34 move second child to first child (temp float) -0:34 Depth: direct index for structure (temp float) -0:34 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) +0:34 move second child to first child ( temp float) +0:34 Depth: direct index for structure ( temp float) +0:34 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: 0:34 1.000000 -0:36 Sequence -0:36 Sequence -0:36 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:36 Color: direct index for structure (temp 4-component vector of float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 0 (const int) -0:36 move second child to first child (temp float) -0:? 'Depth' (out float FragDepth) -0:36 Depth: direct index for structure (temp float) -0:36 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth}) -0:36 Constant: -0:36 1 (const int) -0:36 Branch: Return +0:36 Branch: Return with expression +0:36 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 Sequence +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Function Call: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:20 Color: direct index for structure ( temp 4-component vector of float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 0 (const int) +0:20 move second child to first child ( temp float) +0:? 'Depth' ( out float FragDepth) +0:20 Depth: direct index for structure ( temp float) +0:20 'flattenTemp' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) +0:20 Constant: +0:20 1 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) -0:? 'g_tTex1di4' (uniform itexture1DArray) -0:? 'g_tTex1du4' (uniform utexture1DArray) -0:? 'g_tTex2df4' (uniform texture2DArray) -0:? 'g_tTex2di4' (uniform itexture2DArray) -0:? 'g_tTex2du4' (uniform utexture2DArray) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4a' (layout( binding=1) uniform texture1DArray) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DArray) +0:? 'g_tTex1di4' ( uniform itexture1DArray) +0:? 'g_tTex1du4' ( uniform utexture1DArray) +0:? 'g_tTex2df4' ( uniform texture2DArray) +0:? 'g_tTex2di4' ( uniform itexture2DArray) +0:? 'g_tTex2du4' ( uniform utexture2DArray) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:? 'Depth' ( out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 112 +// Id's are bound by 119 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 107 + EntryPoint Fragment 4 "main" 111 115 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "txval10" - Name 12 "g_tTex1df4" - Name 16 "g_sSamp" - Name 30 "txval11" - Name 33 "g_tTex1di4" - Name 45 "txval12" - Name 48 "g_tTex1du4" - Name 57 "txval20" - Name 60 "g_tTex2df4" - Name 70 "txval21" - Name 73 "g_tTex2di4" - Name 81 "txval22" - Name 84 "g_tTex2du4" - Name 94 "PS_OUTPUT" - MemberName 94(PS_OUTPUT) 0 "Color" - MemberName 94(PS_OUTPUT) 1 "Depth" - Name 96 "psout" - Name 103 "Color" - Name 107 "Depth" - Name 111 "g_tTex1df4a" - Decorate 12(g_tTex1df4) DescriptorSet 0 - Decorate 12(g_tTex1df4) Binding 0 - Decorate 16(g_sSamp) DescriptorSet 0 - Decorate 16(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 - Decorate 60(g_tTex2df4) DescriptorSet 0 - Decorate 73(g_tTex2di4) DescriptorSet 0 - Decorate 84(g_tTex2du4) DescriptorSet 0 - Decorate 103(Color) Location 0 - Decorate 107(Depth) BuiltIn FragDepth - Decorate 111(g_tTex1df4a) DescriptorSet 0 - Decorate 111(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "txval10" + Name 16 "g_tTex1df4" + Name 20 "g_sSamp" + Name 34 "txval11" + Name 37 "g_tTex1di4" + Name 49 "txval12" + Name 52 "g_tTex1du4" + Name 61 "txval20" + Name 64 "g_tTex2df4" + Name 74 "txval21" + Name 77 "g_tTex2di4" + Name 85 "txval22" + Name 88 "g_tTex2du4" + Name 99 "psout" + Name 108 "flattenTemp" + Name 111 "Color" + Name 115 "Depth" + Name 118 "g_tTex1df4a" + Decorate 16(g_tTex1df4) DescriptorSet 0 + Decorate 16(g_tTex1df4) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 20(g_sSamp) Binding 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 88(g_tTex2du4) DescriptorSet 0 + Decorate 111(Color) Location 0 + Decorate 115(Depth) BuiltIn FragDepth + Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 118(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: TypeImage 6(float) 1D array sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tTex1df4): 11(ptr) Variable UniformConstant - 14: TypeSampler + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 7(fvec4) + 14: TypeImage 6(float) 1D array sampled format:Unknown 15: TypePointer UniformConstant 14 - 16(g_sSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1036831949 - 22: 6(float) Constant 1045220557 - 23: 20(fvec2) ConstantComposite 21 22 - 24: 6(float) Constant 1061158912 - 25: TypeInt 32 1 - 26: 25(int) Constant 0 - 28: TypeVector 25(int) 4 - 29: TypePointer Function 28(ivec4) - 31: TypeImage 25(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4): 32(ptr) Variable UniformConstant - 36: TypeSampledImage 31 - 38: 6(float) Constant 1050253722 - 39: 20(fvec2) ConstantComposite 22 38 - 40: 25(int) Constant 1 - 42: TypeInt 32 0 - 43: TypeVector 42(int) 4 - 44: TypePointer Function 43(ivec4) - 46: TypeImage 42(int) 1D array sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex1du4): 47(ptr) Variable UniformConstant - 51: TypeSampledImage 46 - 53: 6(float) Constant 1053609165 - 54: 20(fvec2) ConstantComposite 38 53 - 55: 25(int) Constant 2 - 58: TypeImage 6(float) 2D array sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4): 59(ptr) Variable UniformConstant - 63: TypeSampledImage 58 - 65: TypeVector 6(float) 3 - 66: 65(fvec3) ConstantComposite 21 22 38 - 67: TypeVector 25(int) 2 - 68: 67(ivec2) ConstantComposite 26 26 - 71: TypeImage 25(int) 2D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4): 72(ptr) Variable UniformConstant - 76: TypeSampledImage 71 - 78: 6(float) Constant 1056964608 - 79: 65(fvec3) ConstantComposite 38 53 78 - 82: TypeImage 42(int) 2D array sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex2du4): 83(ptr) Variable UniformConstant - 87: TypeSampledImage 82 - 89: 6(float) Constant 1058642330 - 90: 6(float) Constant 1060320051 - 91: 65(fvec3) ConstantComposite 78 89 90 - 92: 67(ivec2) ConstantComposite 26 40 - 94(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) - 95: TypePointer Function 94(PS_OUTPUT) - 97: 6(float) Constant 1065353216 - 98: 7(fvec4) ConstantComposite 97 97 97 97 - 100: TypePointer Function 6(float) - 102: TypePointer Output 7(fvec4) - 103(Color): 102(ptr) Variable Output - 106: TypePointer Output 6(float) - 107(Depth): 106(ptr) Variable Output -111(g_tTex1df4a): 11(ptr) Variable UniformConstant + 16(g_tTex1df4): 15(ptr) Variable UniformConstant + 18: TypeSampler + 19: TypePointer UniformConstant 18 + 20(g_sSamp): 19(ptr) Variable UniformConstant + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeInt 32 1 + 30: 29(int) Constant 0 + 32: TypeVector 29(int) 4 + 33: TypePointer Function 32(ivec4) + 35: TypeImage 29(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4): 36(ptr) Variable UniformConstant + 40: TypeSampledImage 35 + 42: 6(float) Constant 1050253722 + 43: 24(fvec2) ConstantComposite 26 42 + 44: 29(int) Constant 1 + 46: TypeInt 32 0 + 47: TypeVector 46(int) 4 + 48: TypePointer Function 47(ivec4) + 50: TypeImage 46(int) 1D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex1du4): 51(ptr) Variable UniformConstant + 55: TypeSampledImage 50 + 57: 6(float) Constant 1053609165 + 58: 24(fvec2) ConstantComposite 42 57 + 59: 29(int) Constant 2 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4): 63(ptr) Variable UniformConstant + 67: TypeSampledImage 62 + 69: TypeVector 6(float) 3 + 70: 69(fvec3) ConstantComposite 25 26 42 + 71: TypeVector 29(int) 2 + 72: 71(ivec2) ConstantComposite 30 30 + 75: TypeImage 29(int) 2D array sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeSampledImage 75 + 82: 6(float) Constant 1056964608 + 83: 69(fvec3) ConstantComposite 42 57 82 + 86: TypeImage 46(int) 2D array sampled format:Unknown + 87: TypePointer UniformConstant 86 + 88(g_tTex2du4): 87(ptr) Variable UniformConstant + 91: TypeSampledImage 86 + 93: 6(float) Constant 1058642330 + 94: 6(float) Constant 1060320051 + 95: 69(fvec3) ConstantComposite 82 93 94 + 96: 71(ivec2) ConstantComposite 30 44 + 98: TypePointer Function 8(PS_OUTPUT) + 100: 6(float) Constant 1065353216 + 101: 7(fvec4) ConstantComposite 100 100 100 100 + 103: TypePointer Function 6(float) + 110: TypePointer Output 7(fvec4) + 111(Color): 110(ptr) Variable Output + 114: TypePointer Output 6(float) + 115(Depth): 114(ptr) Variable Output +118(g_tTex1df4a): 15(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(txval10): 8(ptr) Variable Function - 30(txval11): 29(ptr) Variable Function - 45(txval12): 44(ptr) Variable Function - 57(txval20): 8(ptr) Variable Function - 70(txval21): 29(ptr) Variable Function - 81(txval22): 44(ptr) Variable Function - 96(psout): 95(ptr) Variable Function - 13: 10 Load 12(g_tTex1df4) - 17: 14 Load 16(g_sSamp) - 19: 18 SampledImage 13 17 - 27: 7(fvec4) ImageSampleExplicitLod 19 23 Lod ConstOffset 24 26 - Store 9(txval10) 27 - 34: 31 Load 33(g_tTex1di4) - 35: 14 Load 16(g_sSamp) - 37: 36 SampledImage 34 35 - 41: 28(ivec4) ImageSampleExplicitLod 37 39 Lod ConstOffset 24 40 - Store 30(txval11) 41 - 49: 46 Load 48(g_tTex1du4) - 50: 14 Load 16(g_sSamp) - 52: 51 SampledImage 49 50 - 56: 43(ivec4) ImageSampleExplicitLod 52 54 Lod ConstOffset 24 55 - Store 45(txval12) 56 - 61: 58 Load 60(g_tTex2df4) - 62: 14 Load 16(g_sSamp) - 64: 63 SampledImage 61 62 - 69: 7(fvec4) ImageSampleExplicitLod 64 66 Lod ConstOffset 24 68 - Store 57(txval20) 69 - 74: 71 Load 73(g_tTex2di4) - 75: 14 Load 16(g_sSamp) - 77: 76 SampledImage 74 75 - 80: 28(ivec4) ImageSampleExplicitLod 77 79 Lod ConstOffset 24 68 - Store 70(txval21) 80 - 85: 82 Load 84(g_tTex2du4) - 86: 14 Load 16(g_sSamp) - 88: 87 SampledImage 85 86 - 93: 43(ivec4) ImageSampleExplicitLod 88 91 Lod ConstOffset 24 92 - Store 81(txval22) 93 - 99: 8(ptr) AccessChain 96(psout) 26 - Store 99 98 - 101: 100(ptr) AccessChain 96(psout) 40 - Store 101 97 - 104: 8(ptr) AccessChain 96(psout) 26 - 105: 7(fvec4) Load 104 - Store 103(Color) 105 - 108: 100(ptr) AccessChain 96(psout) 40 - 109: 6(float) Load 108 - Store 107(Depth) 109 +108(flattenTemp): 98(ptr) Variable Function + 109:8(PS_OUTPUT) FunctionCall 10(@main() + Store 108(flattenTemp) 109 + 112: 12(ptr) AccessChain 108(flattenTemp) 30 + 113: 7(fvec4) Load 112 + Store 111(Color) 113 + 116: 103(ptr) AccessChain 108(flattenTemp) 44 + 117: 6(float) Load 116 + Store 115(Depth) 117 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(txval10): 12(ptr) Variable Function + 34(txval11): 33(ptr) Variable Function + 49(txval12): 48(ptr) Variable Function + 61(txval20): 12(ptr) Variable Function + 74(txval21): 33(ptr) Variable Function + 85(txval22): 48(ptr) Variable Function + 99(psout): 98(ptr) Variable Function + 17: 14 Load 16(g_tTex1df4) + 21: 18 Load 20(g_sSamp) + 23: 22 SampledImage 17 21 + 31: 7(fvec4) ImageSampleExplicitLod 23 27 Lod ConstOffset 28 30 + Store 13(txval10) 31 + 38: 35 Load 37(g_tTex1di4) + 39: 18 Load 20(g_sSamp) + 41: 40 SampledImage 38 39 + 45: 32(ivec4) ImageSampleExplicitLod 41 43 Lod ConstOffset 28 44 + Store 34(txval11) 45 + 53: 50 Load 52(g_tTex1du4) + 54: 18 Load 20(g_sSamp) + 56: 55 SampledImage 53 54 + 60: 47(ivec4) ImageSampleExplicitLod 56 58 Lod ConstOffset 28 59 + Store 49(txval12) 60 + 65: 62 Load 64(g_tTex2df4) + 66: 18 Load 20(g_sSamp) + 68: 67 SampledImage 65 66 + 73: 7(fvec4) ImageSampleExplicitLod 68 70 Lod ConstOffset 28 72 + Store 61(txval20) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 81: 80 SampledImage 78 79 + 84: 32(ivec4) ImageSampleExplicitLod 81 83 Lod ConstOffset 28 72 + Store 74(txval21) 84 + 89: 86 Load 88(g_tTex2du4) + 90: 18 Load 20(g_sSamp) + 92: 91 SampledImage 89 90 + 97: 47(ivec4) ImageSampleExplicitLod 92 95 Lod ConstOffset 28 96 + Store 85(txval22) 97 + 102: 12(ptr) AccessChain 99(psout) 30 + Store 102 101 + 104: 103(ptr) AccessChain 99(psout) 44 + Store 104 100 + 105:8(PS_OUTPUT) Load 99(psout) + ReturnValue 105 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out index 81c1a8442f5..d3409d8b2fb 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.scope.frag.out @@ -2,43 +2,51 @@ hlsl.scope.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:4 'x' (temp int) +0:4 'x' ( temp int) 0:? Sequence -0:7 'x' (temp float) +0:7 'x' ( temp float) 0:? Sequence -0:10 'x' (temp bool) +0:10 'x' ( temp bool) 0:? Sequence -0:13 'x' (temp 3-component vector of float) -0:15 'x' (temp bool) -0:17 'x' (temp float) -0:19 'x' (temp int) -0:21 Test condition and select (temp void) +0:13 'x' ( temp 3-component vector of float) +0:15 'x' ( temp bool) +0:17 'x' ( temp float) +0:19 'x' ( temp int) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 Compare Greater Than (temp bool) -0:21 'x' (temp int) +0:21 Compare Greater Than ( temp bool) +0:21 'x' ( temp int) 0:21 Constant: 0:21 0 (const int) 0:21 true case is null 0:24 Loop with condition tested first 0:24 Loop Condition -0:24 Compare Greater Than (temp bool) -0:24 'x' (temp int) +0:24 Compare Greater Than ( temp bool) +0:24 'x' ( temp int) 0:24 Constant: 0:24 0 (const int) 0:24 No loop body 0:27 Loop with condition not tested first 0:27 Loop Condition -0:29 Compare Greater Than (temp bool) -0:29 'x' (temp int) +0:29 Compare Greater Than ( temp bool) +0:29 'x' ( temp int) 0:29 Constant: 0:29 0 (const int) 0:27 No loop body +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -47,110 +55,136 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp void) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:4 'x' (temp int) +0:4 'x' ( temp int) 0:? Sequence -0:7 'x' (temp float) +0:7 'x' ( temp float) 0:? Sequence -0:10 'x' (temp bool) +0:10 'x' ( temp bool) 0:? Sequence -0:13 'x' (temp 3-component vector of float) -0:15 'x' (temp bool) -0:17 'x' (temp float) -0:19 'x' (temp int) -0:21 Test condition and select (temp void) +0:13 'x' ( temp 3-component vector of float) +0:15 'x' ( temp bool) +0:17 'x' ( temp float) +0:19 'x' ( temp int) +0:21 Test condition and select ( temp void) 0:21 Condition -0:21 Compare Greater Than (temp bool) -0:21 'x' (temp int) +0:21 Compare Greater Than ( temp bool) +0:21 'x' ( temp int) 0:21 Constant: 0:21 0 (const int) 0:21 true case is null 0:24 Loop with condition tested first 0:24 Loop Condition -0:24 Compare Greater Than (temp bool) -0:24 'x' (temp int) +0:24 Compare Greater Than ( temp bool) +0:24 'x' ( temp int) 0:24 Constant: 0:24 0 (const int) 0:24 No loop body 0:27 Loop with condition not tested first 0:27 Loop Condition -0:29 Compare Greater Than (temp bool) -0:29 'x' (temp int) +0:29 Compare Greater Than ( temp bool) +0:29 'x' ( temp int) 0:29 Constant: 0:29 0 (const int) 0:27 No loop body +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 39 +// Id's are bound by 49 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 38 + EntryPoint Fragment 4 "PixelShaderFunction" 44 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "x" - Name 11 "x" - Name 14 "x" + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 15 "x" Name 17 "x" - Name 38 "input" - Decorate 38(input) Location 0 + Name 20 "x" + Name 23 "x" + Name 42 "input" + Name 44 "input" + Name 46 "param" + Decorate 44(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: TypeFloat 32 - 10: TypePointer Function 9(float) - 12: TypeBool - 13: TypePointer Function 12(bool) - 15: TypeVector 9(float) 3 - 16: TypePointer Function 15(fvec3) - 19: 6(int) Constant 0 - 36: TypeVector 9(float) 4 - 37: TypePointer Input 36(fvec4) - 38(input): 37(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 2 8(ptr) + 13: TypeInt 32 1 + 14: TypePointer Function 13(int) + 16: TypePointer Function 6(float) + 18: TypeBool + 19: TypePointer Function 18(bool) + 21: TypeVector 6(float) 3 + 22: TypePointer Function 21(fvec3) + 25: 13(int) Constant 0 + 43: TypePointer Input 7(fvec4) + 44(input): 43(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 8(x): 7(ptr) Variable Function - 11(x): 10(ptr) Variable Function - 14(x): 13(ptr) Variable Function + 42(input): 8(ptr) Variable Function + 46(param): 8(ptr) Variable Function + 45: 7(fvec4) Load 44(input) + Store 42(input) 45 + 47: 7(fvec4) Load 42(input) + Store 46(param) 47 + 48: 2 FunctionCall 11(@PixelShaderFunction(vf4;) 46(param) + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 2 Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 15(x): 14(ptr) Variable Function 17(x): 16(ptr) Variable Function - 18: 6(int) Load 8(x) - 20: 12(bool) SGreaterThan 18 19 - SelectionMerge 22 None - BranchConditional 20 21 22 - 21: Label - Branch 22 - 22: Label - Branch 23 - 23: Label - LoopMerge 25 26 None - Branch 27 - 27: Label - 28: 6(int) Load 8(x) - 29: 12(bool) SGreaterThan 28 19 - BranchConditional 29 24 25 - 24: Label - Branch 26 - 26: Label - Branch 23 - 25: Label - Branch 30 - 30: Label - LoopMerge 32 33 None - Branch 31 - 31: Label + 20(x): 19(ptr) Variable Function + 23(x): 22(ptr) Variable Function + 24: 13(int) Load 15(x) + 26: 18(bool) SGreaterThan 24 25 + SelectionMerge 28 None + BranchConditional 26 27 28 + 27: Label + Branch 28 + 28: Label + Branch 29 + 29: Label + LoopMerge 31 32 None Branch 33 33: Label - 34: 6(int) Load 8(x) - 35: 12(bool) SGreaterThan 34 19 - BranchConditional 35 30 32 - 32: Label + 34: 13(int) Load 15(x) + 35: 18(bool) SGreaterThan 34 25 + BranchConditional 35 30 31 + 30: Label + Branch 32 + 32: Label + Branch 29 + 31: Label + Branch 36 + 36: Label + LoopMerge 38 39 None + Branch 37 + 37: Label + Branch 39 + 39: Label + 40: 13(int) Load 15(x) + 41: 18(bool) SGreaterThan 40 25 + BranchConditional 41 36 38 + 38: Label Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out new file mode 100644 index 00000000000..caed636d1cf --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.geom.out @@ -0,0 +1,246 @@ +hlsl.semantic.geom +Shader version: 450 +invocations = -1 +max_vertices = 4 +input primitive = triangles +output primitive = line_strip +0:? Sequence +0:12 Function Definition: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Parameters: +0:12 'VertexID' ( in 3-element array of uint) +0:12 'OutputStream' ( out structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:? Sequence +0:14 Branch: Return with expression +0:14 's' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp 3-element array of uint) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:12 Sequence +0:12 move second child to first child ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Call: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip0' ( out float ClipDistance) +0:12 clip0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull0' ( out float CullDistance) +0:12 cull0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp uint) +0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:12 vpai: direct index for structure ( temp uint) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp uint) +0:? '@entryPointOutput_rtai' ( out uint Layer) +0:12 rtai: direct index for structure ( temp uint) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 ii: direct index for structure ( temp int) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) + + +Linked geometry stage: + + +Shader version: 450 +invocations = 1 +max_vertices = 4 +input primitive = triangles +output primitive = line_strip +0:? Sequence +0:12 Function Definition: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Parameters: +0:12 'VertexID' ( in 3-element array of uint) +0:12 'OutputStream' ( out structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:? Sequence +0:14 Branch: Return with expression +0:14 's' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp 3-element array of uint) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:12 Sequence +0:12 move second child to first child ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Function Call: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:? 'VertexID' ( temp 3-element array of uint) +0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip0' ( out float ClipDistance) +0:12 clip0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull0' ( out float CullDistance) +0:12 cull0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp uint) +0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) +0:12 vpai: direct index for structure ( temp uint) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp uint) +0:? '@entryPointOutput_rtai' ( out uint Layer) +0:12 rtai: direct index for structure ( temp uint) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 ii: direct index for structure ( temp int) +0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:? 'VertexID' (layout( location=0) in 3-element array of uint) +0:? '@entryPointOutput_vpai' ( out uint ViewportIndex) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 62 + + Capability Geometry + Capability ClipDistance + Capability CullDistance + Capability MultiViewport + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Geometry 4 "main" 25 34 39 44 49 55 + ExecutionMode 4 Triangles + ExecutionMode 4 Invocations 1 + ExecutionMode 4 OutputLineStrip + ExecutionMode 4 OutputVertices 4 + Name 4 "main" + Name 12 "S" + MemberName 12(S) 0 "clip0" + MemberName 12(S) 1 "cull0" + MemberName 12(S) 2 "vpai" + MemberName 12(S) 3 "rtai" + MemberName 12(S) 4 "ii" + Name 17 "@main(u1[3];struct-S-f1-f1-u1-u1-i11;" + Name 15 "VertexID" + Name 16 "OutputStream" + Name 19 "s" + Name 23 "VertexID" + Name 25 "VertexID" + Name 27 "flattenTemp" + Name 28 "OutputStream" + Name 29 "param" + Name 31 "param" + Name 34 "@entryPointOutput_clip0" + Name 39 "@entryPointOutput_cull0" + Name 44 "@entryPointOutput_vpai" + Name 49 "@entryPointOutput_rtai" + Name 53 "S" + MemberName 53(S) 0 "ii" + Name 55 "@entryPointOutput" + Decorate 25(VertexID) Location 0 + Decorate 34(@entryPointOutput_clip0) BuiltIn ClipDistance + Decorate 39(@entryPointOutput_cull0) BuiltIn CullDistance + Decorate 44(@entryPointOutput_vpai) BuiltIn ViewportIndex + Decorate 49(@entryPointOutput_rtai) BuiltIn Layer + Decorate 55(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) Constant 3 + 8: TypeArray 6(int) 7 + 9: TypePointer Function 8 + 10: TypeFloat 32 + 11: TypeInt 32 1 + 12(S): TypeStruct 10(float) 10(float) 6(int) 6(int) 11(int) + 13: TypePointer Function 12(S) + 14: TypeFunction 12(S) 9(ptr) 13(ptr) + 24: TypePointer Input 8 + 25(VertexID): 24(ptr) Variable Input + 33: TypePointer Output 10(float) +34(@entryPointOutput_clip0): 33(ptr) Variable Output + 35: 11(int) Constant 0 + 36: TypePointer Function 10(float) +39(@entryPointOutput_cull0): 33(ptr) Variable Output + 40: 11(int) Constant 1 + 43: TypePointer Output 6(int) +44(@entryPointOutput_vpai): 43(ptr) Variable Output + 45: 11(int) Constant 2 + 46: TypePointer Function 6(int) +49(@entryPointOutput_rtai): 43(ptr) Variable Output + 50: 11(int) Constant 3 + 53(S): TypeStruct 11(int) + 54: TypePointer Output 53(S) +55(@entryPointOutput): 54(ptr) Variable Output + 56: 11(int) Constant 4 + 57: TypePointer Function 11(int) + 60: TypePointer Output 11(int) + 4(main): 2 Function None 3 + 5: Label + 23(VertexID): 9(ptr) Variable Function + 27(flattenTemp): 13(ptr) Variable Function +28(OutputStream): 13(ptr) Variable Function + 29(param): 9(ptr) Variable Function + 31(param): 13(ptr) Variable Function + 26: 8 Load 25(VertexID) + Store 23(VertexID) 26 + 30: 8 Load 23(VertexID) + Store 29(param) 30 + 32: 12(S) FunctionCall 17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;) 29(param) 31(param) + Store 27(flattenTemp) 32 + 37: 36(ptr) AccessChain 27(flattenTemp) 35 + 38: 10(float) Load 37 + Store 34(@entryPointOutput_clip0) 38 + 41: 36(ptr) AccessChain 27(flattenTemp) 40 + 42: 10(float) Load 41 + Store 39(@entryPointOutput_cull0) 42 + 47: 46(ptr) AccessChain 27(flattenTemp) 45 + 48: 6(int) Load 47 + Store 44(@entryPointOutput_vpai) 48 + 51: 46(ptr) AccessChain 27(flattenTemp) 50 + 52: 6(int) Load 51 + Store 49(@entryPointOutput_rtai) 52 + 58: 57(ptr) AccessChain 27(flattenTemp) 56 + 59: 11(int) Load 58 + 61: 60(ptr) AccessChain 55(@entryPointOutput) 35 + Store 61 59 + Return + FunctionEnd +17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;): 12(S) Function None 14 + 15(VertexID): 9(ptr) FunctionParameter +16(OutputStream): 13(ptr) FunctionParameter + 18: Label + 19(s): 13(ptr) Variable Function + 20: 12(S) Load 19(s) + ReturnValue 20 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out new file mode 100644 index 00000000000..0b088563af5 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semantic.vert.out @@ -0,0 +1,373 @@ +hlsl.semantic.vert +Shader version: 450 +0:? Sequence +0:12 Function Definition: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Parameters: +0:12 'ins' ( in structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:? Sequence +0:14 Branch: Return with expression +0:14 's' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp float) +0:12 clip: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:? 'clip' (layout( location=0) in float) +0:12 move second child to first child ( temp float) +0:12 clip0: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:? 'clip0' (layout( location=1) in float) +0:12 move second child to first child ( temp float) +0:12 clip7: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:? 'clip7' (layout( location=2) in float) +0:12 move second child to first child ( temp float) +0:12 cull: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:? 'cull' (layout( location=3) in float) +0:12 move second child to first child ( temp float) +0:12 cull2: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:? 'cull2' (layout( location=4) in float) +0:12 move second child to first child ( temp float) +0:12 cull5: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 5 (const int) +0:? 'cull5' (layout( location=5) in float) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 6 (const int) +0:? 'ii' ( in int InstanceIndex) +0:12 Sequence +0:12 move second child to first child ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Call: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip7: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull2: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull5: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 5 (const int) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 ii: direct index for structure ( temp int) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 6 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:? 'clip' (layout( location=0) in float) +0:? 'clip0' (layout( location=1) in float) +0:? 'clip7' (layout( location=2) in float) +0:? 'cull' (layout( location=3) in float) +0:? 'cull2' (layout( location=4) in float) +0:? 'cull5' (layout( location=5) in float) +0:? 'ii' ( in int InstanceIndex) + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:12 Function Definition: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Parameters: +0:12 'ins' ( in structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:? Sequence +0:14 Branch: Return with expression +0:14 's' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child ( temp float) +0:12 clip: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:? 'clip' (layout( location=0) in float) +0:12 move second child to first child ( temp float) +0:12 clip0: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:? 'clip0' (layout( location=1) in float) +0:12 move second child to first child ( temp float) +0:12 clip7: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:? 'clip7' (layout( location=2) in float) +0:12 move second child to first child ( temp float) +0:12 cull: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:? 'cull' (layout( location=3) in float) +0:12 move second child to first child ( temp float) +0:12 cull2: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:? 'cull2' (layout( location=4) in float) +0:12 move second child to first child ( temp float) +0:12 cull5: direct index for structure ( temp float) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 5 (const int) +0:? 'cull5' (layout( location=5) in float) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 6 (const int) +0:? 'ii' ( in int InstanceIndex) +0:12 Sequence +0:12 move second child to first child ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Function Call: @main(struct-S-f1-f1-f1-f1-f1-f1-i11; ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:? 'ins' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip0: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_clip7' ( out float ClipDistance) +0:12 clip7: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 3 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull2: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 4 (const int) +0:12 move second child to first child ( temp float) +0:? '@entryPointOutput_cull5' ( out float CullDistance) +0:12 cull5: direct index for structure ( temp float) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 5 (const int) +0:12 move second child to first child ( temp int) +0:12 ii: direct index for structure ( temp int) +0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:12 Constant: +0:12 0 (const int) +0:12 ii: direct index for structure ( temp int) +0:12 'flattenTemp' ( temp structure{ temp float clip, temp float clip0, temp float clip7, temp float cull, temp float cull2, temp float cull5, temp int ii}) +0:12 Constant: +0:12 6 (const int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii}) +0:? 'clip' (layout( location=0) in float) +0:? 'clip0' (layout( location=1) in float) +0:? 'clip7' (layout( location=2) in float) +0:? 'cull' (layout( location=3) in float) +0:? 'cull2' (layout( location=4) in float) +0:? 'cull5' (layout( location=5) in float) +0:? 'ii' ( in int InstanceIndex) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 77 + + Capability Shader + Capability ClipDistance + Capability CullDistance + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 21 26 30 34 38 42 47 56 63 72 + Name 4 "main" + Name 8 "S" + MemberName 8(S) 0 "clip" + MemberName 8(S) 1 "clip0" + MemberName 8(S) 2 "clip7" + MemberName 8(S) 3 "cull" + MemberName 8(S) 4 "cull2" + MemberName 8(S) 5 "cull5" + MemberName 8(S) 6 "ii" + Name 12 "@main(struct-S-f1-f1-f1-f1-f1-f1-i11;" + Name 11 "ins" + Name 14 "s" + Name 18 "ins" + Name 21 "clip" + Name 26 "clip0" + Name 30 "clip7" + Name 34 "cull" + Name 38 "cull2" + Name 42 "cull5" + Name 47 "ii" + Name 51 "flattenTemp" + Name 52 "param" + Name 56 "@entryPointOutput_clip7" + Name 63 "@entryPointOutput_cull5" + Name 70 "S" + MemberName 70(S) 0 "ii" + Name 72 "@entryPointOutput" + Decorate 21(clip) Location 0 + Decorate 26(clip0) Location 1 + Decorate 30(clip7) Location 2 + Decorate 34(cull) Location 3 + Decorate 38(cull2) Location 4 + Decorate 42(cull5) Location 5 + Decorate 47(ii) BuiltIn InstanceIndex + Decorate 56(@entryPointOutput_clip7) BuiltIn ClipDistance + Decorate 63(@entryPointOutput_cull5) BuiltIn CullDistance + Decorate 72(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeInt 32 1 + 8(S): TypeStruct 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 7(int) + 9: TypePointer Function 8(S) + 10: TypeFunction 8(S) 9(ptr) + 19: 7(int) Constant 0 + 20: TypePointer Input 6(float) + 21(clip): 20(ptr) Variable Input + 23: TypePointer Function 6(float) + 25: 7(int) Constant 1 + 26(clip0): 20(ptr) Variable Input + 29: 7(int) Constant 2 + 30(clip7): 20(ptr) Variable Input + 33: 7(int) Constant 3 + 34(cull): 20(ptr) Variable Input + 37: 7(int) Constant 4 + 38(cull2): 20(ptr) Variable Input + 41: 7(int) Constant 5 + 42(cull5): 20(ptr) Variable Input + 45: 7(int) Constant 6 + 46: TypePointer Input 7(int) + 47(ii): 46(ptr) Variable Input + 49: TypePointer Function 7(int) + 55: TypePointer Output 6(float) +56(@entryPointOutput_clip7): 55(ptr) Variable Output +63(@entryPointOutput_cull5): 55(ptr) Variable Output + 70(S): TypeStruct 7(int) + 71: TypePointer Output 70(S) +72(@entryPointOutput): 71(ptr) Variable Output + 75: TypePointer Output 7(int) + 4(main): 2 Function None 3 + 5: Label + 18(ins): 9(ptr) Variable Function + 51(flattenTemp): 9(ptr) Variable Function + 52(param): 9(ptr) Variable Function + 22: 6(float) Load 21(clip) + 24: 23(ptr) AccessChain 18(ins) 19 + Store 24 22 + 27: 6(float) Load 26(clip0) + 28: 23(ptr) AccessChain 18(ins) 25 + Store 28 27 + 31: 6(float) Load 30(clip7) + 32: 23(ptr) AccessChain 18(ins) 29 + Store 32 31 + 35: 6(float) Load 34(cull) + 36: 23(ptr) AccessChain 18(ins) 33 + Store 36 35 + 39: 6(float) Load 38(cull2) + 40: 23(ptr) AccessChain 18(ins) 37 + Store 40 39 + 43: 6(float) Load 42(cull5) + 44: 23(ptr) AccessChain 18(ins) 41 + Store 44 43 + 48: 7(int) Load 47(ii) + 50: 49(ptr) AccessChain 18(ins) 45 + Store 50 48 + 53: 8(S) Load 18(ins) + Store 52(param) 53 + 54: 8(S) FunctionCall 12(@main(struct-S-f1-f1-f1-f1-f1-f1-i11;) 52(param) + Store 51(flattenTemp) 54 + 57: 23(ptr) AccessChain 51(flattenTemp) 19 + 58: 6(float) Load 57 + Store 56(@entryPointOutput_clip7) 58 + 59: 23(ptr) AccessChain 51(flattenTemp) 25 + 60: 6(float) Load 59 + Store 56(@entryPointOutput_clip7) 60 + 61: 23(ptr) AccessChain 51(flattenTemp) 29 + 62: 6(float) Load 61 + Store 56(@entryPointOutput_clip7) 62 + 64: 23(ptr) AccessChain 51(flattenTemp) 33 + 65: 6(float) Load 64 + Store 63(@entryPointOutput_cull5) 65 + 66: 23(ptr) AccessChain 51(flattenTemp) 37 + 67: 6(float) Load 66 + Store 63(@entryPointOutput_cull5) 67 + 68: 23(ptr) AccessChain 51(flattenTemp) 41 + 69: 6(float) Load 68 + Store 63(@entryPointOutput_cull5) 69 + 73: 49(ptr) AccessChain 51(flattenTemp) 45 + 74: 7(int) Load 73 + 76: 75(ptr) AccessChain 72(@entryPointOutput) 19 + Store 76 74 + Return + FunctionEnd +12(@main(struct-S-f1-f1-f1-f1-f1-f1-i11;): 8(S) Function None 10 + 11(ins): 9(ptr) FunctionParameter + 13: Label + 14(s): 9(ptr) Variable Function + 15: 8(S) Load 14(s) + ReturnValue 15 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out index a9f927687c6..9856b5af422 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.semicolons.frag.out @@ -2,16 +2,16 @@ hlsl.semicolons.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: MyFunc( (temp void) +0:2 Function Definition: MyFunc( ( temp void) 0:2 Function Parameters: -0:8 Function Definition: MyFunc2( (temp void) +0:8 Function Definition: MyFunc2( ( temp void) 0:8 Function Parameters: -0:13 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:13 Function Parameters: 0:? Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 color: direct index for structure ( temp 4-component vector of float) +0:16 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:16 Constant: 0:16 0 (const int) 0:16 Constant: @@ -19,17 +19,20 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:13 color: direct index for structure ( temp 4-component vector of float) +0:13 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:13 Constant: +0:13 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -38,16 +41,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: MyFunc( (temp void) +0:2 Function Definition: MyFunc( ( temp void) 0:2 Function Parameters: -0:8 Function Definition: MyFunc2( (temp void) +0:8 Function Definition: MyFunc2( ( temp void) 0:8 Function Parameters: -0:13 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:13 Function Definition: @main( ( temp structure{ temp 4-component vector of float color}) 0:13 Function Parameters: 0:? Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:16 color: direct index for structure (temp 4-component vector of float) -0:16 'ps_output' (temp structure{temp 4-component vector of float color}) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 color: direct index for structure ( temp 4-component vector of float) +0:16 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:16 Constant: 0:16 0 (const int) 0:16 Constant: @@ -55,56 +58,58 @@ gl_FragCoord origin is upper left 0:16 1.000000 0:16 1.000000 0:16 1.000000 -0:17 Sequence -0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:17 color: direct index for structure (temp 4-component vector of float) -0:17 'ps_output' (temp structure{temp 4-component vector of float color}) -0:17 Constant: -0:17 0 (const int) -0:17 Branch: Return +0:17 Branch: Return with expression +0:17 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:13 color: direct index for structure ( temp 4-component vector of float) +0:13 Function Call: @main( ( temp structure{ temp 4-component vector of float color}) +0:13 Constant: +0:13 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 22 + EntryPoint Fragment 4 "main" 28 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 6 "MyFunc(" Name 8 "MyFunc2(" Name 12 "PS_OUTPUT" MemberName 12(PS_OUTPUT) 0 "color" - Name 14 "ps_output" - Name 22 "color" - Decorate 22(color) Location 0 + Name 14 "@main(" + Name 17 "ps_output" + Name 28 "color" + Decorate 28(color) Location 0 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 11: TypeVector 10(float) 4 12(PS_OUTPUT): TypeStruct 11(fvec4) - 13: TypePointer Function 12(PS_OUTPUT) - 15: TypeInt 32 1 - 16: 15(int) Constant 0 - 17: 10(float) Constant 1065353216 - 18: 11(fvec4) ConstantComposite 17 17 17 17 - 19: TypePointer Function 11(fvec4) - 21: TypePointer Output 11(fvec4) - 22(color): 21(ptr) Variable Output + 13: TypeFunction 12(PS_OUTPUT) + 16: TypePointer Function 12(PS_OUTPUT) + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 20: 10(float) Constant 1065353216 + 21: 11(fvec4) ConstantComposite 20 20 20 20 + 22: TypePointer Function 11(fvec4) + 27: TypePointer Output 11(fvec4) + 28(color): 27(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 14(ps_output): 13(ptr) Variable Function - 20: 19(ptr) AccessChain 14(ps_output) 16 - Store 20 18 - 23: 19(ptr) AccessChain 14(ps_output) 16 - 24: 11(fvec4) Load 23 - Store 22(color) 24 + 29:12(PS_OUTPUT) FunctionCall 14(@main() + 30: 11(fvec4) CompositeExtract 29 0 + Store 28(color) 30 Return FunctionEnd 6(MyFunc(): 2 Function None 3 @@ -115,3 +120,11 @@ gl_FragCoord origin is upper left 9: Label Return FunctionEnd + 14(@main():12(PS_OUTPUT) Function None 13 + 15: Label + 17(ps_output): 16(ptr) Variable Function + 23: 22(ptr) AccessChain 17(ps_output) 19 + Store 23 21 + 24:12(PS_OUTPUT) Load 17(ps_output) + ReturnValue 24 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out index a15caac5b3f..07fa9fd3d52 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out @@ -2,114 +2,114 @@ hlsl.shapeConv.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;f1; (temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction(vf4;f1; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (in 4-component vector of float) -0:2 'f' (in float) +0:2 'input' ( in 4-component vector of float) +0:2 'f' ( in float) 0:? Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:4 'v' (temp 4-component vector of float) +0:4 move second child to first child ( temp 4-component vector of float) +0:4 'v' ( temp 4-component vector of float) 0:4 Constant: 0:4 1.000000 0:4 1.000000 0:4 1.000000 0:4 1.000000 -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v' ( temp 4-component vector of float) 0:5 Constant: 0:5 2.000000 0:5 2.000000 0:5 2.000000 0:5 2.000000 -0:6 move second child to first child (temp 4-component vector of float) -0:6 'v' (temp 4-component vector of float) -0:6 Construct vec4 (temp 4-component vector of float) -0:6 'f' (in float) -0:8 move second child to first child (temp 3-component vector of float) -0:8 'u' (temp 3-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'v' ( temp 4-component vector of float) +0:6 Construct vec4 ( temp 4-component vector of float) +0:6 'f' ( in float) +0:8 move second child to first child ( temp 3-component vector of float) +0:8 'u' ( temp 3-component vector of float) 0:8 Constant: 0:8 1.000000 0:8 1.000000 0:8 1.000000 -0:9 move second child to first child (temp 3-component vector of float) -0:9 'u' (temp 3-component vector of float) +0:9 move second child to first child ( temp 3-component vector of float) +0:9 'u' ( temp 3-component vector of float) 0:9 Constant: 0:9 2.000000 0:9 2.000000 0:9 2.000000 -0:10 move second child to first child (temp 3-component vector of float) -0:10 'u' (temp 3-component vector of float) -0:10 Construct vec3 (temp 3-component vector of float) -0:10 Construct float (temp float) -0:10 'f' (in float) +0:10 move second child to first child ( temp 3-component vector of float) +0:10 'u' ( temp 3-component vector of float) +0:10 Construct vec3 ( temp 3-component vector of float) +0:10 Construct float ( temp float) +0:10 'f' ( in float) 0:11 Sequence -0:11 move second child to first child (temp 2-component vector of float) -0:11 'w' (temp 2-component vector of float) +0:11 move second child to first child ( temp 2-component vector of float) +0:11 'w' ( temp 2-component vector of float) 0:11 Constant: 0:11 2.000000 0:11 2.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'V' (temp float) +0:12 move second child to first child ( temp float) +0:12 'V' ( temp float) 0:12 Constant: 0:12 1.000000 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 'MyVal' (temp 3-component vector of float) -0:13 Construct vec3 (temp 3-component vector of float) -0:13 'V' (temp float) -0:16 Compare Greater Than (temp 3-component vector of bool) -0:16 'foo' (temp 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 'MyVal' ( temp 3-component vector of float) +0:13 Construct vec3 ( temp 3-component vector of float) +0:13 'V' ( temp float) +0:16 Compare Greater Than ( temp 3-component vector of bool) +0:16 'foo' ( temp 3-component vector of float) 0:16 Constant: 0:16 4.000000 0:16 4.000000 0:16 4.000000 -0:17 Compare Greater Than or Equal (temp 3-component vector of bool) -0:17 'foo' (temp 3-component vector of float) +0:17 Compare Greater Than or Equal ( temp 3-component vector of bool) +0:17 'foo' ( temp 3-component vector of float) 0:17 Constant: 0:17 5.000000 0:17 5.000000 0:17 5.000000 -0:18 Compare Less Than (temp 3-component vector of bool) +0:18 Compare Less Than ( temp 3-component vector of bool) 0:18 Constant: 0:18 6.000000 0:18 6.000000 0:18 6.000000 -0:18 'foo' (temp 3-component vector of float) -0:19 Compare Less Than or Equal (temp 3-component vector of bool) +0:18 'foo' ( temp 3-component vector of float) +0:19 Compare Less Than or Equal ( temp 3-component vector of bool) 0:19 Constant: 0:19 7.000000 0:19 7.000000 0:19 7.000000 -0:19 'foo' (temp 3-component vector of float) -0:21 all (temp bool) -0:21 Equal (temp 4-component vector of bool) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 direct index (temp float) -0:21 'v' (temp 4-component vector of float) +0:19 'foo' ( temp 3-component vector of float) +0:21 all ( temp bool) +0:21 Equal ( temp 4-component vector of bool) +0:21 Construct vec4 ( temp 4-component vector of float) +0:21 direct index ( temp float) +0:21 'v' ( temp 4-component vector of float) 0:21 Constant: 0:21 0 (const int) -0:21 'v' (temp 4-component vector of float) -0:22 any (temp bool) -0:22 NotEqual (temp 4-component vector of bool) -0:22 Construct vec4 (temp 4-component vector of float) -0:22 'f' (in float) -0:22 'v' (temp 4-component vector of float) -0:26 Compare Equal (temp bool) -0:26 'f1' (temp 1-component vector of float) -0:26 Construct float (temp 1-component vector of float) -0:26 'v' (temp 4-component vector of float) -0:27 Compare Less Than (temp bool) -0:27 Construct float (temp 1-component vector of float) -0:27 'v' (temp 4-component vector of float) -0:27 'f1' (temp 1-component vector of float) -0:28 Construct float (temp float) -0:28 'f1' (temp 1-component vector of float) -0:29 Construct vec3 (temp 3-component vector of float) -0:29 Construct float (temp float) -0:29 'f1' (temp 1-component vector of float) +0:21 'v' ( temp 4-component vector of float) +0:22 any ( temp bool) +0:22 NotEqual ( temp 4-component vector of bool) +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 'f' ( in float) +0:22 'v' ( temp 4-component vector of float) +0:26 Compare Equal ( temp bool) +0:26 'f1' ( temp 1-component vector of float) +0:26 Construct float ( temp 1-component vector of float) +0:26 'v' ( temp 4-component vector of float) +0:27 Compare Less Than ( temp bool) +0:27 Construct float ( temp 1-component vector of float) +0:27 'v' ( temp 4-component vector of float) +0:27 'f1' ( temp 1-component vector of float) +0:28 Construct float ( temp float) +0:28 'f1' ( temp 1-component vector of float) +0:29 Construct vec3 ( temp 3-component vector of float) +0:29 Construct float ( temp float) +0:29 'f1' ( temp 1-component vector of float) 0:31 Branch: Return with expression -0:31 'input' (in 4-component vector of float) +0:31 'input' ( in 4-component vector of float) 0:? Linker Objects @@ -120,114 +120,114 @@ WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;f1; (temp 4-component vector of float) +0:2 Function Definition: PixelShaderFunction(vf4;f1; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (in 4-component vector of float) -0:2 'f' (in float) +0:2 'input' ( in 4-component vector of float) +0:2 'f' ( in float) 0:? Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:4 'v' (temp 4-component vector of float) +0:4 move second child to first child ( temp 4-component vector of float) +0:4 'v' ( temp 4-component vector of float) 0:4 Constant: 0:4 1.000000 0:4 1.000000 0:4 1.000000 0:4 1.000000 -0:5 move second child to first child (temp 4-component vector of float) -0:5 'v' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'v' ( temp 4-component vector of float) 0:5 Constant: 0:5 2.000000 0:5 2.000000 0:5 2.000000 0:5 2.000000 -0:6 move second child to first child (temp 4-component vector of float) -0:6 'v' (temp 4-component vector of float) -0:6 Construct vec4 (temp 4-component vector of float) -0:6 'f' (in float) -0:8 move second child to first child (temp 3-component vector of float) -0:8 'u' (temp 3-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'v' ( temp 4-component vector of float) +0:6 Construct vec4 ( temp 4-component vector of float) +0:6 'f' ( in float) +0:8 move second child to first child ( temp 3-component vector of float) +0:8 'u' ( temp 3-component vector of float) 0:8 Constant: 0:8 1.000000 0:8 1.000000 0:8 1.000000 -0:9 move second child to first child (temp 3-component vector of float) -0:9 'u' (temp 3-component vector of float) +0:9 move second child to first child ( temp 3-component vector of float) +0:9 'u' ( temp 3-component vector of float) 0:9 Constant: 0:9 2.000000 0:9 2.000000 0:9 2.000000 -0:10 move second child to first child (temp 3-component vector of float) -0:10 'u' (temp 3-component vector of float) -0:10 Construct vec3 (temp 3-component vector of float) -0:10 Construct float (temp float) -0:10 'f' (in float) +0:10 move second child to first child ( temp 3-component vector of float) +0:10 'u' ( temp 3-component vector of float) +0:10 Construct vec3 ( temp 3-component vector of float) +0:10 Construct float ( temp float) +0:10 'f' ( in float) 0:11 Sequence -0:11 move second child to first child (temp 2-component vector of float) -0:11 'w' (temp 2-component vector of float) +0:11 move second child to first child ( temp 2-component vector of float) +0:11 'w' ( temp 2-component vector of float) 0:11 Constant: 0:11 2.000000 0:11 2.000000 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'V' (temp float) +0:12 move second child to first child ( temp float) +0:12 'V' ( temp float) 0:12 Constant: 0:12 1.000000 0:13 Sequence -0:13 move second child to first child (temp 3-component vector of float) -0:13 'MyVal' (temp 3-component vector of float) -0:13 Construct vec3 (temp 3-component vector of float) -0:13 'V' (temp float) -0:16 Compare Greater Than (temp 3-component vector of bool) -0:16 'foo' (temp 3-component vector of float) +0:13 move second child to first child ( temp 3-component vector of float) +0:13 'MyVal' ( temp 3-component vector of float) +0:13 Construct vec3 ( temp 3-component vector of float) +0:13 'V' ( temp float) +0:16 Compare Greater Than ( temp 3-component vector of bool) +0:16 'foo' ( temp 3-component vector of float) 0:16 Constant: 0:16 4.000000 0:16 4.000000 0:16 4.000000 -0:17 Compare Greater Than or Equal (temp 3-component vector of bool) -0:17 'foo' (temp 3-component vector of float) +0:17 Compare Greater Than or Equal ( temp 3-component vector of bool) +0:17 'foo' ( temp 3-component vector of float) 0:17 Constant: 0:17 5.000000 0:17 5.000000 0:17 5.000000 -0:18 Compare Less Than (temp 3-component vector of bool) +0:18 Compare Less Than ( temp 3-component vector of bool) 0:18 Constant: 0:18 6.000000 0:18 6.000000 0:18 6.000000 -0:18 'foo' (temp 3-component vector of float) -0:19 Compare Less Than or Equal (temp 3-component vector of bool) +0:18 'foo' ( temp 3-component vector of float) +0:19 Compare Less Than or Equal ( temp 3-component vector of bool) 0:19 Constant: 0:19 7.000000 0:19 7.000000 0:19 7.000000 -0:19 'foo' (temp 3-component vector of float) -0:21 all (temp bool) -0:21 Equal (temp 4-component vector of bool) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 direct index (temp float) -0:21 'v' (temp 4-component vector of float) +0:19 'foo' ( temp 3-component vector of float) +0:21 all ( temp bool) +0:21 Equal ( temp 4-component vector of bool) +0:21 Construct vec4 ( temp 4-component vector of float) +0:21 direct index ( temp float) +0:21 'v' ( temp 4-component vector of float) 0:21 Constant: 0:21 0 (const int) -0:21 'v' (temp 4-component vector of float) -0:22 any (temp bool) -0:22 NotEqual (temp 4-component vector of bool) -0:22 Construct vec4 (temp 4-component vector of float) -0:22 'f' (in float) -0:22 'v' (temp 4-component vector of float) -0:26 Compare Equal (temp bool) -0:26 'f1' (temp 1-component vector of float) -0:26 Construct float (temp 1-component vector of float) -0:26 'v' (temp 4-component vector of float) -0:27 Compare Less Than (temp bool) -0:27 Construct float (temp 1-component vector of float) -0:27 'v' (temp 4-component vector of float) -0:27 'f1' (temp 1-component vector of float) -0:28 Construct float (temp float) -0:28 'f1' (temp 1-component vector of float) -0:29 Construct vec3 (temp 3-component vector of float) -0:29 Construct float (temp float) -0:29 'f1' (temp 1-component vector of float) +0:21 'v' ( temp 4-component vector of float) +0:22 any ( temp bool) +0:22 NotEqual ( temp 4-component vector of bool) +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 'f' ( in float) +0:22 'v' ( temp 4-component vector of float) +0:26 Compare Equal ( temp bool) +0:26 'f1' ( temp 1-component vector of float) +0:26 Construct float ( temp 1-component vector of float) +0:26 'v' ( temp 4-component vector of float) +0:27 Compare Less Than ( temp bool) +0:27 Construct float ( temp 1-component vector of float) +0:27 'v' ( temp 4-component vector of float) +0:27 'f1' ( temp 1-component vector of float) +0:28 Construct float ( temp float) +0:28 'f1' ( temp 1-component vector of float) +0:29 Construct vec3 ( temp 3-component vector of float) +0:29 Construct float ( temp float) +0:29 'f1' ( temp 1-component vector of float) 0:31 Branch: Return with expression -0:31 'input' (in 4-component vector of float) +0:31 'input' ( in 4-component vector of float) 0:? Linker Objects // Module Version 10000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out index c21378703cb..54ca7fa8631 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.shapeConvRet.frag.out @@ -2,7 +2,7 @@ hlsl.shapeConvRet.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo( (temp 3-component vector of int) +0:2 Function Definition: foo( ( temp 3-component vector of int) 0:2 Function Parameters: 0:? Sequence 0:3 Branch: Return with expression @@ -10,19 +10,26 @@ gl_FragCoord origin is upper left 0:3 13 (const int) 0:3 13 (const int) 0:3 13 (const int) -0:7 Function Definition: main(f1; (temp 4-component vector of float) +0:7 Function Definition: @main(f1; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'f' (layout(location=0 ) in float) +0:7 'f' ( in float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 Construct vec4 (temp 4-component vector of float) -0:8 'f' (layout(location=0 ) in float) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 Construct vec4 ( temp 4-component vector of float) +0:8 'f' ( in float) +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp float) +0:? 'f' ( temp float) +0:? 'f' (layout( location=0) in float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main(f1; ( temp 4-component vector of float) +0:? 'f' ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'f' (layout(location=0 ) in float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'f' (layout( location=0) in float) Linked fragment stage: @@ -31,7 +38,7 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: foo( (temp 3-component vector of int) +0:2 Function Definition: foo( ( temp 3-component vector of int) 0:2 Function Parameters: 0:? Sequence 0:3 Branch: Return with expression @@ -39,56 +46,81 @@ gl_FragCoord origin is upper left 0:3 13 (const int) 0:3 13 (const int) 0:3 13 (const int) -0:7 Function Definition: main(f1; (temp 4-component vector of float) +0:7 Function Definition: @main(f1; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'f' (layout(location=0 ) in float) +0:7 'f' ( in float) 0:? Sequence -0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:8 Construct vec4 (temp 4-component vector of float) -0:8 'f' (layout(location=0 ) in float) -0:8 Branch: Return +0:8 Branch: Return with expression +0:8 Construct vec4 ( temp 4-component vector of float) +0:8 'f' ( in float) +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp float) +0:? 'f' ( temp float) +0:? 'f' (layout( location=0) in float) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main(f1; ( temp 4-component vector of float) +0:? 'f' ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'f' (layout(location=0 ) in float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'f' (layout( location=0) in float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24 +// Id's are bound by 35 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 18 20 + EntryPoint Fragment 4 "main" 28 31 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "foo(" - Name 18 "@entryPointOutput" - Name 20 "f" - Decorate 18(@entryPointOutput) Location 0 - Decorate 20(f) Location 0 + Name 16 "@main(f1;" + Name 15 "f" + Name 26 "f" + Name 28 "f" + Name 31 "@entryPointOutput" + Name 32 "param" + Decorate 28(f) Location 0 + Decorate 31(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeVector 6(int) 3 8: TypeFunction 7(ivec3) - 11: 6(int) Constant 13 - 12: 7(ivec3) ConstantComposite 11 11 11 - 15: TypeFloat 32 - 16: TypeVector 15(float) 4 - 17: TypePointer Output 16(fvec4) -18(@entryPointOutput): 17(ptr) Variable Output - 19: TypePointer Input 15(float) - 20(f): 19(ptr) Variable Input + 11: TypeFloat 32 + 12: TypePointer Function 11(float) + 13: TypeVector 11(float) 4 + 14: TypeFunction 13(fvec4) 12(ptr) + 18: 6(int) Constant 13 + 19: 7(ivec3) ConstantComposite 18 18 18 + 27: TypePointer Input 11(float) + 28(f): 27(ptr) Variable Input + 30: TypePointer Output 13(fvec4) +31(@entryPointOutput): 30(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 21: 15(float) Load 20(f) - 22: 16(fvec4) CompositeConstruct 21 21 21 21 - Store 18(@entryPointOutput) 22 + 26(f): 12(ptr) Variable Function + 32(param): 12(ptr) Variable Function + 29: 11(float) Load 28(f) + Store 26(f) 29 + 33: 11(float) Load 26(f) + Store 32(param) 33 + 34: 13(fvec4) FunctionCall 16(@main(f1;) 32(param) + Store 31(@entryPointOutput) 34 Return FunctionEnd 9(foo(): 7(ivec3) Function None 8 10: Label - ReturnValue 12 + ReturnValue 19 + FunctionEnd + 16(@main(f1;): 13(fvec4) Function None 14 + 15(f): 12(ptr) FunctionParameter + 17: Label + 22: 11(float) Load 15(f) + 23: 13(fvec4) CompositeConstruct 22 22 22 22 + ReturnValue 23 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out index 629668ac78a..1f96440ef4b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.sin.frag.out @@ -2,19 +2,26 @@ hlsl.sin.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 sine ( temp 4-component vector of float) +0:3 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -23,46 +30,71 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (temp 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 sine ( temp 4-component vector of float) +0:3 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 15 +// Id's are bound by 26 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 9 11 + EntryPoint Fragment 4 "PixelShaderFunction" 19 22 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "@entryPointOutput" - Name 11 "input" - Decorate 9(@entryPointOutput) Location 0 - Decorate 11(input) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 17 "input" + Name 19 "input" + Name 22 "@entryPointOutput" + Name 23 "param" + Decorate 19(input) Location 0 + Decorate 22(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) -9(@entryPointOutput): 8(ptr) Variable Output - 10: TypePointer Input 7(fvec4) - 11(input): 10(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 18: TypePointer Input 7(fvec4) + 19(input): 18(ptr) Variable Input + 21: TypePointer Output 7(fvec4) +22(@entryPointOutput): 21(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 12: 7(fvec4) Load 11(input) - 13: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 12 - Store 9(@entryPointOutput) 13 + 17(input): 8(ptr) Variable Function + 23(param): 8(ptr) Variable Function + 20: 7(fvec4) Load 19(input) + Store 17(input) 20 + 24: 7(fvec4) Load 17(input) + Store 23(param) 24 + 25: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 23(param) + Store 22(@entryPointOutput) 25 Return FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13: 7(fvec4) Load 10(input) + 14: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 13 + ReturnValue 14 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out new file mode 100644 index 00000000000..e8a98cb247d --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.staticMemberFunction.frag.out @@ -0,0 +1,199 @@ +hlsl.staticMemberFunction.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float) +0:5 Function Parameters: +0:5 'a' ( in 4-component vector of float) +0:? Sequence +0:6 Branch: Return with expression +0:6 vector-scale ( temp 4-component vector of float) +0:6 Constant: +0:6 2.000000 +0:6 'a' ( in 4-component vector of float) +0:9 Function Definition: Test::staticMemFun(i1; ( global int) +0:9 Function Parameters: +0:9 'a' ( in int) +0:? Sequence +0:10 Branch: Return with expression +0:10 add ( temp int) +0:10 Constant: +0:10 2 (const int) +0:10 'a' ( in int) +0:16 Function Definition: @main( ( temp 4-component vector of float) +0:16 Function Parameters: +0:? Sequence +0:18 Sequence +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'f4' ( temp 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:19 add second child into first child ( temp 4-component vector of float) +0:19 'f4' ( temp 4-component vector of float) +0:19 Function Call: Test::staticMemFun(vf4; ( global 4-component vector of float) +0:? Constant: +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:20 add second child into first child ( temp 4-component vector of float) +0:20 'f4' ( temp 4-component vector of float) +0:20 Convert int to float ( temp float) +0:20 Function Call: Test::staticMemFun(i1; ( global int) +0:20 Constant: +0:20 7 (const int) +0:21 Branch: Return with expression +0:21 'f4' ( temp 4-component vector of float) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:16 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: Test::staticMemFun(vf4; ( global 4-component vector of float) +0:5 Function Parameters: +0:5 'a' ( in 4-component vector of float) +0:? Sequence +0:6 Branch: Return with expression +0:6 vector-scale ( temp 4-component vector of float) +0:6 Constant: +0:6 2.000000 +0:6 'a' ( in 4-component vector of float) +0:9 Function Definition: Test::staticMemFun(i1; ( global int) +0:9 Function Parameters: +0:9 'a' ( in int) +0:? Sequence +0:10 Branch: Return with expression +0:10 add ( temp int) +0:10 Constant: +0:10 2 (const int) +0:10 'a' ( in int) +0:16 Function Definition: @main( ( temp 4-component vector of float) +0:16 Function Parameters: +0:? Sequence +0:18 Sequence +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'f4' ( temp 4-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:? 1.000000 +0:19 add second child into first child ( temp 4-component vector of float) +0:19 'f4' ( temp 4-component vector of float) +0:19 Function Call: Test::staticMemFun(vf4; ( global 4-component vector of float) +0:? Constant: +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:? 5.000000 +0:20 add second child into first child ( temp 4-component vector of float) +0:20 'f4' ( temp 4-component vector of float) +0:20 Convert int to float ( temp float) +0:20 Function Call: Test::staticMemFun(i1; ( global int) +0:20 Constant: +0:20 7 (const int) +0:21 Branch: Return with expression +0:21 'f4' ( temp 4-component vector of float) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:16 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 54 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 52 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "Test::staticMemFun(vf4;" + Name 10 "a" + Name 17 "Test::staticMemFun(i1;" + Name 16 "a" + Name 20 "@main(" + Name 32 "f4" + Name 37 "param" + Name 42 "param" + Name 52 "@entryPointOutput" + Decorate 52(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 13: TypeInt 32 1 + 14: TypePointer Function 13(int) + 15: TypeFunction 13(int) 14(ptr) + 19: TypeFunction 7(fvec4) + 22: 6(float) Constant 1073741824 + 27: 13(int) Constant 2 + 33: 6(float) Constant 1065353216 + 34: 7(fvec4) ConstantComposite 33 33 33 33 + 35: 6(float) Constant 1084227584 + 36: 7(fvec4) ConstantComposite 35 35 35 35 + 41: 13(int) Constant 7 + 51: TypePointer Output 7(fvec4) +52(@entryPointOutput): 51(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 53: 7(fvec4) FunctionCall 20(@main() + Store 52(@entryPointOutput) 53 + Return + FunctionEnd +11(Test::staticMemFun(vf4;): 7(fvec4) Function None 9 + 10(a): 8(ptr) FunctionParameter + 12: Label + 23: 7(fvec4) Load 10(a) + 24: 7(fvec4) VectorTimesScalar 23 22 + ReturnValue 24 + FunctionEnd +17(Test::staticMemFun(i1;): 13(int) Function None 15 + 16(a): 14(ptr) FunctionParameter + 18: Label + 28: 13(int) Load 16(a) + 29: 13(int) IAdd 27 28 + ReturnValue 29 + FunctionEnd + 20(@main(): 7(fvec4) Function None 19 + 21: Label + 32(f4): 8(ptr) Variable Function + 37(param): 8(ptr) Variable Function + 42(param): 14(ptr) Variable Function + Store 32(f4) 34 + Store 37(param) 36 + 38: 7(fvec4) FunctionCall 11(Test::staticMemFun(vf4;) 37(param) + 39: 7(fvec4) Load 32(f4) + 40: 7(fvec4) FAdd 39 38 + Store 32(f4) 40 + Store 42(param) 41 + 43: 13(int) FunctionCall 17(Test::staticMemFun(i1;) 42(param) + 44: 6(float) ConvertSToF 43 + 45: 7(fvec4) Load 32(f4) + 46: 7(fvec4) CompositeConstruct 44 44 44 44 + 47: 7(fvec4) FAdd 45 46 + Store 32(f4) 47 + 48: 7(fvec4) Load 32(f4) + ReturnValue 48 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out index 3d80ce53542..c4a118f6b95 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.string.frag.out @@ -2,18 +2,25 @@ hlsl.string.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main(f1; (temp float) +0:10 Function Definition: @main(f1; ( temp float) 0:10 Function Parameters: -0:10 'f' (layout(location=0 ) in float) +0:10 'f' ( in float) 0:? Sequence -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 'f' (layout(location=0 ) in float) -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 'f' ( in float) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child ( temp float) +0:? 'f' ( temp float) +0:? 'f' (layout( location=0) in float) +0:10 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:10 Function Call: @main(f1; ( temp float) +0:? 'f' ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:? 'f' (layout(location=0 ) in float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'f' (layout( location=0) in float) Linked fragment stage: @@ -22,43 +29,68 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:10 Function Definition: main(f1; (temp float) +0:10 Function Definition: @main(f1; ( temp float) 0:10 Function Parameters: -0:10 'f' (layout(location=0 ) in float) +0:10 'f' ( in float) 0:? Sequence -0:11 Sequence -0:11 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:11 'f' (layout(location=0 ) in float) -0:11 Branch: Return +0:11 Branch: Return with expression +0:11 'f' ( in float) +0:10 Function Definition: main( ( temp void) +0:10 Function Parameters: +0:? Sequence +0:10 move second child to first child ( temp float) +0:? 'f' ( temp float) +0:? 'f' (layout( location=0) in float) +0:10 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:10 Function Call: @main(f1; ( temp float) +0:? 'f' ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:? 'f' (layout(location=0 ) in float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:? 'f' (layout( location=0) in float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 13 +// Id's are bound by 24 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 8 10 + EntryPoint Fragment 4 "main" 17 20 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "@entryPointOutput" - Name 10 "f" - Decorate 8(@entryPointOutput) Location 0 - Decorate 10(f) Location 0 + Name 10 "@main(f1;" + Name 9 "f" + Name 15 "f" + Name 17 "f" + Name 20 "@entryPointOutput" + Name 21 "param" + Decorate 17(f) Location 0 + Decorate 20(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Output 6(float) -8(@entryPointOutput): 7(ptr) Variable Output - 9: TypePointer Input 6(float) - 10(f): 9(ptr) Variable Input + 7: TypePointer Function 6(float) + 8: TypeFunction 6(float) 7(ptr) + 16: TypePointer Input 6(float) + 17(f): 16(ptr) Variable Input + 19: TypePointer Output 6(float) +20(@entryPointOutput): 19(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 11: 6(float) Load 10(f) - Store 8(@entryPointOutput) 11 + 15(f): 7(ptr) Variable Function + 21(param): 7(ptr) Variable Function + 18: 6(float) Load 17(f) + Store 15(f) 18 + 22: 6(float) Load 15(f) + Store 21(param) 22 + 23: 6(float) FunctionCall 10(@main(f1;) 21(param) + Store 20(@entryPointOutput) 23 Return FunctionEnd + 10(@main(f1;): 6(float) Function None 8 + 9(f): 7(ptr) FunctionParameter + 11: Label + 12: 6(float) Load 9(f) + ReturnValue 12 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out index 94c1b2ad345..c23d663c985 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.stringtoken.frag.out @@ -2,12 +2,12 @@ hlsl.stringtoken.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:16 Function Parameters: 0:? Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 Color: direct index for structure ( temp 4-component vector of float) +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:18 Constant: 0:18 0 (const int) 0:? Constant: @@ -15,19 +15,22 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:16 Color: direct index for structure ( temp 4-component vector of float) +0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'TestTexture' (uniform texture2D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) +0:? 'TestTexture' ( uniform texture2D) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float TestUF}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -36,12 +39,12 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:16 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:16 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:16 Function Parameters: 0:? Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 Color: direct index for structure (temp 4-component vector of float) -0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 Color: direct index for structure ( temp 4-component vector of float) +0:18 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:18 Constant: 0:18 0 (const int) 0:? Constant: @@ -49,70 +52,80 @@ gl_FragCoord origin is upper left 0:? 0.000000 0:? 0.000000 0:? 1.000000 -0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:19 Color: direct index for structure (temp 4-component vector of float) -0:19 'psout' (temp structure{temp 4-component vector of float Color}) -0:19 Constant: -0:19 0 (const int) -0:19 Branch: Return +0:19 Branch: Return with expression +0:19 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:16 Color: direct index for structure ( temp 4-component vector of float) +0:16 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'TestTexture' (uniform texture2D) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) +0:? 'TestTexture' ( uniform texture2D) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float TestUF}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 34 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 19 + EntryPoint Fragment 4 "main" 25 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" - Name 10 "psout" - Name 19 "Color" - Name 25 "TestTexture" - Name 26 "$Global" - MemberName 26($Global) 0 "TestUF" - Name 28 "" - Decorate 19(Color) Location 0 - Decorate 25(TestTexture) DescriptorSet 0 - MemberDecorate 26($Global) 0 Offset 0 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 + Name 10 "@main(" + Name 13 "psout" + Name 25 "Color" + Name 30 "TestTexture" + Name 31 "$Global" + MemberName 31($Global) 0 "TestUF" + Name 33 "" + Decorate 25(Color) Location 0 + Decorate 30(TestTexture) DescriptorSet 0 + MemberDecorate 31($Global) 0 Offset 0 + Decorate 31($Global) Block + Decorate 33 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(PS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13: 6(float) Constant 0 - 14: 6(float) Constant 1065353216 - 15: 7(fvec4) ConstantComposite 13 13 13 14 - 16: TypePointer Function 7(fvec4) - 18: TypePointer Output 7(fvec4) - 19(Color): 18(ptr) Variable Output - 23: TypeImage 6(float) 2D sampled format:Unknown - 24: TypePointer UniformConstant 23 - 25(TestTexture): 24(ptr) Variable UniformConstant - 26($Global): TypeStruct 7(fvec4) - 27: TypePointer Uniform 26($Global) - 28: 27(ptr) Variable Uniform + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 8(PS_OUTPUT) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: 6(float) Constant 0 + 17: 6(float) Constant 1065353216 + 18: 7(fvec4) ConstantComposite 16 16 16 17 + 19: TypePointer Function 7(fvec4) + 24: TypePointer Output 7(fvec4) + 25(Color): 24(ptr) Variable Output + 28: TypeImage 6(float) 2D sampled format:Unknown + 29: TypePointer UniformConstant 28 + 30(TestTexture): 29(ptr) Variable UniformConstant + 31($Global): TypeStruct 7(fvec4) + 32: TypePointer Uniform 31($Global) + 33: 32(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 10(psout): 9(ptr) Variable Function - 17: 16(ptr) AccessChain 10(psout) 12 - Store 17 15 - 20: 16(ptr) AccessChain 10(psout) 12 - 21: 7(fvec4) Load 20 - Store 19(Color) 21 + 26:8(PS_OUTPUT) FunctionCall 10(@main() + 27: 7(fvec4) CompositeExtract 26 0 + Store 25(Color) 27 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(psout): 12(ptr) Variable Function + 20: 19(ptr) AccessChain 13(psout) 15 + Store 20 18 + 21:8(PS_OUTPUT) Load 13(psout) + ReturnValue 21 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out index 3c94ffaed18..c01e8fa7e03 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.frag.out @@ -6,35 +6,119 @@ WARNING: 0:30: 'register' : ignoring shader_profile Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) -0:34 Function Parameters: -0:34 'input' (layout(location=0 ) in 4-component vector of float) -0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) +0:40 Function Parameters: +0:40 'input' ( in 4-component vector of float) +0:40 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) 0:? Sequence -0:39 Compare Equal (temp bool) -0:39 's3' (temp structure{temp 3-component vector of bool b3}) -0:39 's3' (temp structure{temp 3-component vector of bool b3}) -0:40 move second child to first child (temp 4-component vector of float) -0:40 i: direct index for structure (temp 4-component vector of float) -0:40 's2' (global structure{temp 4-component vector of float i}) -0:40 Constant: -0:40 0 (const int) -0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) -0:40 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:40 Constant: -0:40 6 (const int) -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:42 'input' (layout(location=0 ) in 4-component vector of float) -0:42 Branch: Return +0:45 Compare Equal ( temp bool) +0:45 's3' ( temp structure{ temp 3-component vector of bool b3}) +0:45 's3' ( temp structure{ temp 3-component vector of bool b3}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 i: direct index for structure ( temp 4-component vector of float) +0:46 's2' ( global structure{ temp 4-component vector of float i}) +0:46 Constant: +0:46 0 (const int) +0:46 ff4: direct index for structure ( temp 4-component vector of float) +0:46 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:46 Constant: +0:46 7 (const int) +0:50 move second child to first child ( temp structure{}) +0:50 'e' ( temp structure{}) +0:50 e: direct index for structure ( temp structure{}) +0:50 'ce' ( temp structure{ temp structure{} e}) +0:50 Constant: +0:50 0 (const int) +0:52 Branch: Return with expression +0:52 'input' ( in 4-component vector of float) +0:40 Function Definition: PixelShaderFunction( ( temp void) +0:40 Function Parameters: +0:? Sequence +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:40 Sequence +0:40 move second child to first child ( temp 4-component vector of float) +0:40 a: direct index for structure ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 0 (const int) +0:40 a: direct index for structure ( smooth temp 4-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp bool) +0:40 b: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 1 (const int) +0:40 b: direct index for structure ( flat temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 1 (const int) +0:40 move second child to first child ( temp 1-component vector of float) +0:40 c: direct index for structure ( temp 1-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 2 (const int) +0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 2 (const int) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 d: direct index for structure ( temp 2-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 3 (const int) +0:40 d: direct index for structure ( centroid sample temp 2-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 3 (const int) +0:40 move second child to first child ( temp bool) +0:40 ff1: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 4 (const int) +0:? 's_ff1' ( in bool Face) +0:40 move second child to first child ( temp bool) +0:40 ff2: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 5 (const int) +0:40 ff2: direct index for structure ( temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 4 (const int) +0:40 move second child to first child ( temp bool) +0:40 ff3: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 6 (const int) +0:40 ff3: direct index for structure ( temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 5 (const int) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 ff4: direct index for structure ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 7 (const int) +0:40 ff4: direct index for structure ( temp 4-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 6 (const int) +0:40 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:? 's2' (global structure{temp 4-component vector of float i}) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) -0:? 's_ff1' (in bool Face) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6}) +0:? 's2' ( global structure{ temp 4-component vector of float i}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:? 's_ff1' ( in bool Face) Linked fragment stage: @@ -43,131 +127,312 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:34 Function Definition: PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; (temp 4-component vector of float) -0:34 Function Parameters: -0:34 'input' (layout(location=0 ) in 4-component vector of float) -0:34 's' (in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) +0:40 Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) +0:40 Function Parameters: +0:40 'input' ( in 4-component vector of float) +0:40 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:? Sequence +0:45 Compare Equal ( temp bool) +0:45 's3' ( temp structure{ temp 3-component vector of bool b3}) +0:45 's3' ( temp structure{ temp 3-component vector of bool b3}) +0:46 move second child to first child ( temp 4-component vector of float) +0:46 i: direct index for structure ( temp 4-component vector of float) +0:46 's2' ( global structure{ temp 4-component vector of float i}) +0:46 Constant: +0:46 0 (const int) +0:46 ff4: direct index for structure ( temp 4-component vector of float) +0:46 's' ( in structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:46 Constant: +0:46 7 (const int) +0:50 move second child to first child ( temp structure{}) +0:50 'e' ( temp structure{}) +0:50 e: direct index for structure ( temp structure{}) +0:50 'ce' ( temp structure{ temp structure{} e}) +0:50 Constant: +0:50 0 (const int) +0:52 Branch: Return with expression +0:52 'input' ( in 4-component vector of float) +0:40 Function Definition: PixelShaderFunction( ( temp void) +0:40 Function Parameters: 0:? Sequence -0:39 Compare Equal (temp bool) -0:39 's3' (temp structure{temp 3-component vector of bool b3}) -0:39 's3' (temp structure{temp 3-component vector of bool b3}) -0:40 move second child to first child (temp 4-component vector of float) -0:40 i: direct index for structure (temp 4-component vector of float) -0:40 's2' (global structure{temp 4-component vector of float i}) -0:40 Constant: -0:40 0 (const int) -0:40 ff4: direct index for structure (layout(binding=0 offset=4 ) temp 4-component vector of float) -0:40 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:40 Constant: -0:40 6 (const int) -0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:42 'input' (layout(location=0 ) in 4-component vector of float) -0:42 Branch: Return +0:40 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:40 Sequence +0:40 move second child to first child ( temp 4-component vector of float) +0:40 a: direct index for structure ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 0 (const int) +0:40 a: direct index for structure ( smooth temp 4-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 0 (const int) +0:40 move second child to first child ( temp bool) +0:40 b: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 1 (const int) +0:40 b: direct index for structure ( flat temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 1 (const int) +0:40 move second child to first child ( temp 1-component vector of float) +0:40 c: direct index for structure ( temp 1-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 2 (const int) +0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 2 (const int) +0:40 move second child to first child ( temp 2-component vector of float) +0:40 d: direct index for structure ( temp 2-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 3 (const int) +0:40 d: direct index for structure ( centroid sample temp 2-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 3 (const int) +0:40 move second child to first child ( temp bool) +0:40 ff1: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 4 (const int) +0:? 's_ff1' ( in bool Face) +0:40 move second child to first child ( temp bool) +0:40 ff2: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 5 (const int) +0:40 ff2: direct index for structure ( temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 4 (const int) +0:40 move second child to first child ( temp bool) +0:40 ff3: direct index for structure ( temp bool) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 6 (const int) +0:40 ff3: direct index for structure ( temp bool) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 5 (const int) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 ff4: direct index for structure ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 7 (const int) +0:40 ff4: direct index for structure ( temp 4-component vector of float) +0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:40 Constant: +0:40 6 (const int) +0:40 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 's' (layout(location=1 ) in structure{smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, layout(offset=4 ) temp bool ff2, layout(binding=0 offset=4 ) temp bool ff3, layout(binding=0 offset=4 ) temp 4-component vector of float ff4}) -0:? 's2' (global structure{temp 4-component vector of float i}) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) -0:? 's_ff1' (in bool Face) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6}) +0:? 's2' ( global structure{ temp 4-component vector of float i}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4}) +0:? 's_ff1' ( in bool Face) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 105 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 27 35 36 45 + EntryPoint Fragment 4 "PixelShaderFunction" 51 56 79 94 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "FS" - MemberName 8(FS) 0 "b3" - Name 10 "s3" - Name 19 "" - MemberName 19 0 "i" - Name 21 "s2" - Name 25 "IN_S" - MemberName 25(IN_S) 0 "a" - MemberName 25(IN_S) 1 "b" - MemberName 25(IN_S) 2 "c" - MemberName 25(IN_S) 3 "d" - MemberName 25(IN_S) 4 "ff2" - MemberName 25(IN_S) 5 "ff3" - MemberName 25(IN_S) 6 "ff4" - Name 27 "s" - Name 35 "@entryPointOutput" - Name 36 "input" - Name 40 "myS" - MemberName 40(myS) 0 "b" - MemberName 40(myS) 1 "c" - MemberName 40(myS) 2 "a" - MemberName 40(myS) 3 "d" - Name 41 "$Global" - MemberName 41($Global) 0 "s1" - MemberName 41($Global) 1 "ff5" - MemberName 41($Global) 2 "ff6" - Name 43 "" - Name 45 "s_ff1" - Decorate 27(s) Location 1 - Decorate 35(@entryPointOutput) Location 0 - Decorate 36(input) Location 0 - MemberDecorate 40(myS) 0 Offset 0 - MemberDecorate 40(myS) 1 Offset 4 - MemberDecorate 40(myS) 2 Offset 16 - MemberDecorate 40(myS) 3 Offset 32 - MemberDecorate 41($Global) 0 Offset 0 - MemberDecorate 41($Global) 1 Offset 1620 - MemberDecorate 41($Global) 2 Offset 1636 - Decorate 41($Global) Block - Decorate 43 DescriptorSet 0 - Decorate 45(s_ff1) BuiltIn FrontFacing + Name 11 "IN_S" + MemberName 11(IN_S) 0 "a" + MemberName 11(IN_S) 1 "b" + MemberName 11(IN_S) 2 "c" + MemberName 11(IN_S) 3 "d" + MemberName 11(IN_S) 4 "ff1" + MemberName 11(IN_S) 5 "ff2" + MemberName 11(IN_S) 6 "ff3" + MemberName 11(IN_S) 7 "ff4" + Name 16 "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;" + Name 14 "input" + Name 15 "s" + Name 19 "FS" + MemberName 19(FS) 0 "b3" + Name 21 "s3" + Name 28 "" + MemberName 28 0 "i" + Name 30 "s2" + Name 38 "empty" + Name 40 "e" + Name 41 "containEmpty" + MemberName 41(containEmpty) 0 "e" + Name 43 "ce" + Name 49 "input" + Name 51 "input" + Name 53 "s" + Name 54 "IN_S" + MemberName 54(IN_S) 0 "a" + MemberName 54(IN_S) 1 "b" + MemberName 54(IN_S) 2 "c" + MemberName 54(IN_S) 3 "d" + MemberName 54(IN_S) 4 "ff2" + MemberName 54(IN_S) 5 "ff3" + MemberName 54(IN_S) 6 "ff4" + Name 56 "s" + Name 79 "s_ff1" + Name 94 "@entryPointOutput" + Name 95 "param" + Name 97 "param" + Name 101 "myS" + MemberName 101(myS) 0 "b" + MemberName 101(myS) 1 "c" + MemberName 101(myS) 2 "a" + MemberName 101(myS) 3 "d" + Name 102 "$Global" + MemberName 102($Global) 0 "s1" + MemberName 102($Global) 1 "ff5" + MemberName 102($Global) 2 "ff6" + Name 104 "" + Decorate 51(input) Location 0 + MemberDecorate 54(IN_S) 1 Flat + MemberDecorate 54(IN_S) 2 NoPerspective + MemberDecorate 54(IN_S) 2 Centroid + MemberDecorate 54(IN_S) 3 Centroid + Decorate 56(s) Location 1 + Decorate 79(s_ff1) BuiltIn FrontFacing + Decorate 94(@entryPointOutput) Location 0 + MemberDecorate 101(myS) 0 Offset 0 + MemberDecorate 101(myS) 1 Offset 4 + MemberDecorate 101(myS) 2 Offset 16 + MemberDecorate 101(myS) 3 Offset 32 + MemberDecorate 102($Global) 0 Offset 0 + MemberDecorate 102($Global) 1 Offset 1620 + MemberDecorate 102($Global) 2 Offset 1636 + Decorate 102($Global) Block + Decorate 104 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeBool - 7: TypeVector 6(bool) 3 - 8(FS): TypeStruct 7(bvec3) - 9: TypePointer Function 8(FS) - 17: TypeFloat 32 - 18: TypeVector 17(float) 4 - 19: TypeStruct 18(fvec4) - 20: TypePointer Private 19(struct) - 21(s2): 20(ptr) Variable Private - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 24: TypeVector 17(float) 2 - 25(IN_S): TypeStruct 18(fvec4) 6(bool) 17(float) 24(fvec2) 6(bool) 6(bool) 18(fvec4) - 26: TypePointer Input 25(IN_S) - 27(s): 26(ptr) Variable Input - 28: 22(int) Constant 6 - 29: TypePointer Input 18(fvec4) - 32: TypePointer Private 18(fvec4) - 34: TypePointer Output 18(fvec4) -35(@entryPointOutput): 34(ptr) Variable Output - 36(input): 29(ptr) Variable Input - 39: TypeInt 32 0 - 40(myS): TypeStruct 39(int) 39(int) 18(fvec4) 18(fvec4) - 41($Global): TypeStruct 40(myS) 17(float) 17(float) - 42: TypePointer Uniform 41($Global) - 43: 42(ptr) Variable Uniform - 44: TypePointer Input 6(bool) - 45(s_ff1): 44(ptr) Variable Input + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeBool + 10: TypeVector 6(float) 2 + 11(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4) + 12: TypePointer Function 11(IN_S) + 13: TypeFunction 7(fvec4) 8(ptr) 12(ptr) + 18: TypeVector 9(bool) 3 + 19(FS): TypeStruct 18(bvec3) + 20: TypePointer Function 19(FS) + 28: TypeStruct 7(fvec4) + 29: TypePointer Private 28(struct) + 30(s2): 29(ptr) Variable Private + 31: TypeInt 32 1 + 32: 31(int) Constant 0 + 33: 31(int) Constant 7 + 36: TypePointer Private 7(fvec4) + 38(empty): TypeStruct + 39: TypePointer Function 38(empty) +41(containEmpty): TypeStruct 38(empty) + 42: TypePointer Function 41(containEmpty) + 50: TypePointer Input 7(fvec4) + 51(input): 50(ptr) Variable Input + 54(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 7(fvec4) + 55: TypePointer Input 54(IN_S) + 56(s): 55(ptr) Variable Input + 60: 31(int) Constant 1 + 61: TypePointer Input 9(bool) + 64: TypePointer Function 9(bool) + 66: 31(int) Constant 2 + 67: TypePointer Input 6(float) + 70: TypePointer Function 6(float) + 72: 31(int) Constant 3 + 73: TypePointer Input 10(fvec2) + 76: TypePointer Function 10(fvec2) + 78: 31(int) Constant 4 + 79(s_ff1): 61(ptr) Variable Input + 82: 31(int) Constant 5 + 86: 31(int) Constant 6 + 93: TypePointer Output 7(fvec4) +94(@entryPointOutput): 93(ptr) Variable Output + 100: TypeInt 32 0 + 101(myS): TypeStruct 100(int) 100(int) 7(fvec4) 7(fvec4) + 102($Global): TypeStruct 101(myS) 6(float) 6(float) + 103: TypePointer Uniform 102($Global) + 104: 103(ptr) Variable Uniform 4(PixelShaderFunction): 2 Function None 3 5: Label - 10(s3): 9(ptr) Variable Function - 11: 8(FS) Load 10(s3) - 12: 8(FS) Load 10(s3) - 13: 7(bvec3) CompositeExtract 11 0 - 14: 7(bvec3) CompositeExtract 12 0 - 15: 7(bvec3) LogicalEqual 13 14 - 16: 6(bool) All 15 - 30: 29(ptr) AccessChain 27(s) 28 - 31: 18(fvec4) Load 30 - 33: 32(ptr) AccessChain 21(s2) 23 - Store 33 31 - 37: 18(fvec4) Load 36(input) - Store 35(@entryPointOutput) 37 + 49(input): 8(ptr) Variable Function + 53(s): 12(ptr) Variable Function + 95(param): 8(ptr) Variable Function + 97(param): 12(ptr) Variable Function + 52: 7(fvec4) Load 51(input) + Store 49(input) 52 + 57: 50(ptr) AccessChain 56(s) 32 + 58: 7(fvec4) Load 57 + 59: 8(ptr) AccessChain 53(s) 32 + Store 59 58 + 62: 61(ptr) AccessChain 56(s) 60 + 63: 9(bool) Load 62 + 65: 64(ptr) AccessChain 53(s) 60 + Store 65 63 + 68: 67(ptr) AccessChain 56(s) 66 + 69: 6(float) Load 68 + 71: 70(ptr) AccessChain 53(s) 66 + Store 71 69 + 74: 73(ptr) AccessChain 56(s) 72 + 75: 10(fvec2) Load 74 + 77: 76(ptr) AccessChain 53(s) 72 + Store 77 75 + 80: 9(bool) Load 79(s_ff1) + 81: 64(ptr) AccessChain 53(s) 78 + Store 81 80 + 83: 61(ptr) AccessChain 56(s) 78 + 84: 9(bool) Load 83 + 85: 64(ptr) AccessChain 53(s) 82 + Store 85 84 + 87: 61(ptr) AccessChain 56(s) 82 + 88: 9(bool) Load 87 + 89: 64(ptr) AccessChain 53(s) 86 + Store 89 88 + 90: 50(ptr) AccessChain 56(s) 86 + 91: 7(fvec4) Load 90 + 92: 8(ptr) AccessChain 53(s) 33 + Store 92 91 + 96: 7(fvec4) Load 49(input) + Store 95(param) 96 + 98: 11(IN_S) Load 53(s) + Store 97(param) 98 + 99: 7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 95(param) 97(param) + Store 94(@entryPointOutput) 99 Return FunctionEnd +16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;): 7(fvec4) Function None 13 + 14(input): 8(ptr) FunctionParameter + 15(s): 12(ptr) FunctionParameter + 17: Label + 21(s3): 20(ptr) Variable Function + 40(e): 39(ptr) Variable Function + 43(ce): 42(ptr) Variable Function + 22: 19(FS) Load 21(s3) + 23: 19(FS) Load 21(s3) + 24: 18(bvec3) CompositeExtract 22 0 + 25: 18(bvec3) CompositeExtract 23 0 + 26: 18(bvec3) LogicalEqual 24 25 + 27: 9(bool) All 26 + 34: 8(ptr) AccessChain 15(s) 33 + 35: 7(fvec4) Load 34 + 37: 36(ptr) AccessChain 30(s2) 32 + Store 37 35 + 44: 39(ptr) AccessChain 43(ce) 32 + 45: 38(empty) Load 44 + Store 40(e) 45 + 46: 7(fvec4) Load 14(input) + ReturnValue 46 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out index a1c0c0c8191..9ec01d8393b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split-1.vert.out @@ -1,65 +1,103 @@ hlsl.struct.split-1.vert Shader version: 450 0:? Sequence -0:17 Function Definition: main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:17 Function Parameters: -0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'Pos_loose' (in 4-component vector of float Position) +0:17 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'Pos_loose' ( in 4-component vector of float) 0:? Sequence -0:20 move second child to first child (temp int) -0:20 x0_out: direct index for structure (temp int) -0:20 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:20 move second child to first child ( temp int) +0:20 x0_out: direct index for structure ( temp int) +0:20 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:20 Constant: 0:20 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:21 move second child to first child (temp 4-component vector of float) -0:21 Pos_out: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:20 x0_in: direct index for structure ( temp int) +0:20 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:20 Constant: +0:20 0 (const int) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 Pos_out: direct index for structure ( temp 4-component vector of float) +0:21 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:21 Constant: 0:21 1 (const int) -0:21 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) -0:21 'Pos_loose' (in 4-component vector of float Position) -0:22 move second child to first child (temp int) -0:22 x1_out: direct index for structure (temp int) -0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:21 add ( temp 4-component vector of float) +0:21 Pos_in: direct index for structure ( temp 4-component vector of float) +0:21 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:21 Constant: +0:21 1 (const int) +0:21 'Pos_loose' ( in 4-component vector of float) +0:22 move second child to first child ( temp int) +0:22 x1_out: direct index for structure ( temp int) +0:22 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 2 (const int) +0:22 x1_in: direct index for structure ( temp int) +0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:22 Constant: 0:22 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp int) -0:24 x0_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 x0_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:24 Pos_out: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 move second child to first child (temp int) -0:24 x1_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 x1_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 2 (const int) -0:24 Branch: Return +0:24 Branch: Return with expression +0:24 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Definition: main( ( temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Sequence +0:17 move second child to first child ( temp int) +0:17 x0_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 0 (const int) +0:? 'x0_in' (layout( location=0) in int) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 1 (const int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:17 move second child to first child ( temp int) +0:17 x1_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 2 (const int) +0:? 'x1_in' (layout( location=2) in int) +0:17 move second child to first child ( temp 4-component vector of float) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:? 'Pos_loose' (layout( location=3) in 4-component vector of float) +0:17 Sequence +0:17 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:17 move second child to first child ( temp int) +0:17 x0_out: direct index for structure ( temp int) +0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 x0_out: direct index for structure ( temp int) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position) +0:17 Pos_out: direct index for structure ( temp 4-component vector of float) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 move second child to first child ( temp int) +0:17 x1_out: direct index for structure ( temp int) +0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 x1_out: direct index for structure ( temp int) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:? 'x0_in' (layout(location=0 ) in int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'x1_in' (layout(location=1 ) in int) -0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:? 'x0_in' (layout( location=0) in int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:? 'x1_in' (layout( location=2) in int) +0:? 'Pos_loose' (layout( location=3) in 4-component vector of float) Linked vertex stage: @@ -67,151 +105,228 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:17 Function Definition: main(struct-VS_INPUT-i1-vf4-i11;vf4; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:17 Function Parameters: -0:17 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'Pos_loose' (in 4-component vector of float Position) +0:17 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'Pos_loose' ( in 4-component vector of float) 0:? Sequence -0:20 move second child to first child (temp int) -0:20 x0_out: direct index for structure (temp int) -0:20 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:20 move second child to first child ( temp int) +0:20 x0_out: direct index for structure ( temp int) +0:20 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:20 Constant: +0:20 0 (const int) +0:20 x0_in: direct index for structure ( temp int) +0:20 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:20 Constant: 0:20 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:21 move second child to first child (temp 4-component vector of float) -0:21 Pos_out: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 Pos_out: direct index for structure ( temp 4-component vector of float) +0:21 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:21 Constant: 0:21 1 (const int) -0:21 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) -0:21 'Pos_loose' (in 4-component vector of float Position) -0:22 move second child to first child (temp int) -0:22 x1_out: direct index for structure (temp int) -0:22 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:21 add ( temp 4-component vector of float) +0:21 Pos_in: direct index for structure ( temp 4-component vector of float) +0:21 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:21 Constant: +0:21 1 (const int) +0:21 'Pos_loose' ( in 4-component vector of float) +0:22 move second child to first child ( temp int) +0:22 x1_out: direct index for structure ( temp int) +0:22 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:22 Constant: 0:22 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:24 Sequence -0:24 Sequence -0:24 move second child to first child (temp int) -0:24 x0_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 x0_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 0 (const int) -0:24 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:24 Pos_out: direct index for structure (temp 4-component vector of float) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 move second child to first child (temp int) -0:24 x1_out: direct index for structure (temp int) -0:24 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:24 Constant: -0:24 1 (const int) -0:24 x1_out: direct index for structure (temp int) -0:24 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:24 Constant: -0:24 2 (const int) -0:24 Branch: Return +0:22 x1_in: direct index for structure ( temp int) +0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:24 Branch: Return with expression +0:24 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Definition: main( ( temp void) +0:17 Function Parameters: +0:? Sequence +0:17 Sequence +0:17 move second child to first child ( temp int) +0:17 x0_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 0 (const int) +0:? 'x0_in' (layout( location=0) in int) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 1 (const int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:17 move second child to first child ( temp int) +0:17 x1_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 Constant: +0:17 2 (const int) +0:? 'x1_in' (layout( location=2) in int) +0:17 move second child to first child ( temp 4-component vector of float) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:? 'Pos_loose' (layout( location=3) in 4-component vector of float) +0:17 Sequence +0:17 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:17 move second child to first child ( temp int) +0:17 x0_out: direct index for structure ( temp int) +0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 x0_out: direct index for structure ( temp int) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 0 (const int) +0:17 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position) +0:17 Pos_out: direct index for structure ( temp 4-component vector of float) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 move second child to first child ( temp int) +0:17 x1_out: direct index for structure ( temp int) +0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:17 Constant: +0:17 1 (const int) +0:17 x1_out: direct index for structure ( temp int) +0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 Constant: +0:17 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:? 'x0_in' (layout(location=0 ) in int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'x1_in' (layout(location=1 ) in int) -0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:? 'x0_in' (layout( location=0) in int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:? 'x1_in' (layout( location=2) in int) +0:? 'Pos_loose' (layout( location=3) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 49 +// Id's are bound by 73 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 14 20 22 28 33 39 48 + EntryPoint Vertex 4 "main" 40 44 47 51 61 67 Name 4 "main" - Name 9 "VS_OUTPUT" - MemberName 9(VS_OUTPUT) 0 "x0_out" - MemberName 9(VS_OUTPUT) 1 "Pos_out" - MemberName 9(VS_OUTPUT) 2 "x1_out" - Name 11 "vsout" - Name 14 "x0_in" - Name 20 "Pos_in" - Name 22 "Pos_loose" - Name 28 "x1_in" - Name 31 "VS_OUTPUT" - MemberName 31(VS_OUTPUT) 0 "x0_out" - MemberName 31(VS_OUTPUT) 1 "x1_out" - Name 33 "@entryPointOutput" - Name 39 "Pos_out" - Name 46 "PerVertex_out" - MemberName 46(PerVertex_out) 0 "Pos_out" - Name 48 "PerVertex_out" - Decorate 14(x0_in) Location 0 - Decorate 20(Pos_in) BuiltIn Position - Decorate 22(Pos_loose) BuiltIn Position - Decorate 28(x1_in) Location 1 - Decorate 33(@entryPointOutput) Location 0 - Decorate 39(Pos_out) BuiltIn Position - MemberDecorate 46(PerVertex_out) 0 BuiltIn Position - Decorate 46(PerVertex_out) Block + Name 9 "VS_INPUT" + MemberName 9(VS_INPUT) 0 "x0_in" + MemberName 9(VS_INPUT) 1 "Pos_in" + MemberName 9(VS_INPUT) 2 "x1_in" + Name 12 "VS_OUTPUT" + MemberName 12(VS_OUTPUT) 0 "x0_out" + MemberName 12(VS_OUTPUT) 1 "Pos_out" + MemberName 12(VS_OUTPUT) 2 "x1_out" + Name 16 "@main(struct-VS_INPUT-i1-vf4-i11;vf4;" + Name 14 "vsin" + Name 15 "Pos_loose" + Name 19 "vsout" + Name 38 "vsin" + Name 40 "x0_in" + Name 44 "Pos_in" + Name 47 "x1_in" + Name 50 "Pos_loose" + Name 51 "Pos_loose" + Name 53 "flattenTemp" + Name 54 "param" + Name 56 "param" + Name 59 "VS_OUTPUT" + MemberName 59(VS_OUTPUT) 0 "x0_out" + MemberName 59(VS_OUTPUT) 1 "x1_out" + Name 61 "@entryPointOutput" + Name 67 "@entryPointOutput_Pos_out" + Decorate 40(x0_in) Location 0 + Decorate 44(Pos_in) Location 1 + Decorate 47(x1_in) Location 2 + Decorate 51(Pos_loose) Location 3 + Decorate 61(@entryPointOutput) Location 0 + Decorate 67(@entryPointOutput_Pos_out) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypeFloat 32 8: TypeVector 7(float) 4 - 9(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) - 10: TypePointer Function 9(VS_OUTPUT) - 12: 6(int) Constant 0 - 13: TypePointer Input 6(int) - 14(x0_in): 13(ptr) Variable Input - 16: TypePointer Function 6(int) - 18: 6(int) Constant 1 - 19: TypePointer Input 8(fvec4) - 20(Pos_in): 19(ptr) Variable Input - 22(Pos_loose): 19(ptr) Variable Input - 25: TypePointer Function 8(fvec4) - 27: 6(int) Constant 2 - 28(x1_in): 13(ptr) Variable Input - 31(VS_OUTPUT): TypeStruct 6(int) 6(int) - 32: TypePointer Output 31(VS_OUTPUT) -33(@entryPointOutput): 32(ptr) Variable Output - 36: TypePointer Output 6(int) - 38: TypePointer Output 8(fvec4) - 39(Pos_out): 38(ptr) Variable Output -46(PerVertex_out): TypeStruct 8(fvec4) - 47: TypePointer Output 46(PerVertex_out) -48(PerVertex_out): 47(ptr) Variable Output + 9(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 10: TypePointer Function 9(VS_INPUT) + 11: TypePointer Function 8(fvec4) + 12(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) + 13: TypeFunction 12(VS_OUTPUT) 10(ptr) 11(ptr) + 18: TypePointer Function 12(VS_OUTPUT) + 20: 6(int) Constant 0 + 21: TypePointer Function 6(int) + 25: 6(int) Constant 1 + 31: 6(int) Constant 2 + 39: TypePointer Input 6(int) + 40(x0_in): 39(ptr) Variable Input + 43: TypePointer Input 8(fvec4) + 44(Pos_in): 43(ptr) Variable Input + 47(x1_in): 39(ptr) Variable Input + 51(Pos_loose): 43(ptr) Variable Input + 59(VS_OUTPUT): TypeStruct 6(int) 6(int) + 60: TypePointer Output 59(VS_OUTPUT) +61(@entryPointOutput): 60(ptr) Variable Output + 64: TypePointer Output 6(int) + 66: TypePointer Output 8(fvec4) +67(@entryPointOutput_Pos_out): 66(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 11(vsout): 10(ptr) Variable Function - 15: 6(int) Load 14(x0_in) - 17: 16(ptr) AccessChain 11(vsout) 12 - Store 17 15 - 21: 8(fvec4) Load 20(Pos_in) - 23: 8(fvec4) Load 22(Pos_loose) - 24: 8(fvec4) FAdd 21 23 - 26: 25(ptr) AccessChain 11(vsout) 18 - Store 26 24 - 29: 6(int) Load 28(x1_in) - 30: 16(ptr) AccessChain 11(vsout) 27 - Store 30 29 - 34: 16(ptr) AccessChain 11(vsout) 12 - 35: 6(int) Load 34 - 37: 36(ptr) AccessChain 33(@entryPointOutput) 12 - Store 37 35 - 40: 25(ptr) AccessChain 11(vsout) 18 - 41: 8(fvec4) Load 40 - Store 39(Pos_out) 41 - 42: 16(ptr) AccessChain 11(vsout) 27 - 43: 6(int) Load 42 - 44: 36(ptr) AccessChain 33(@entryPointOutput) 18 - Store 44 43 + 38(vsin): 10(ptr) Variable Function + 50(Pos_loose): 11(ptr) Variable Function + 53(flattenTemp): 18(ptr) Variable Function + 54(param): 10(ptr) Variable Function + 56(param): 11(ptr) Variable Function + 41: 6(int) Load 40(x0_in) + 42: 21(ptr) AccessChain 38(vsin) 20 + Store 42 41 + 45: 8(fvec4) Load 44(Pos_in) + 46: 11(ptr) AccessChain 38(vsin) 25 + Store 46 45 + 48: 6(int) Load 47(x1_in) + 49: 21(ptr) AccessChain 38(vsin) 31 + Store 49 48 + 52: 8(fvec4) Load 51(Pos_loose) + Store 50(Pos_loose) 52 + 55: 9(VS_INPUT) Load 38(vsin) + Store 54(param) 55 + 57: 8(fvec4) Load 50(Pos_loose) + Store 56(param) 57 + 58:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 54(param) 56(param) + Store 53(flattenTemp) 58 + 62: 21(ptr) AccessChain 53(flattenTemp) 20 + 63: 6(int) Load 62 + 65: 64(ptr) AccessChain 61(@entryPointOutput) 20 + Store 65 63 + 68: 11(ptr) AccessChain 53(flattenTemp) 25 + 69: 8(fvec4) Load 68 + Store 67(@entryPointOutput_Pos_out) 69 + 70: 21(ptr) AccessChain 53(flattenTemp) 31 + 71: 6(int) Load 70 + 72: 64(ptr) AccessChain 61(@entryPointOutput) 25 + Store 72 71 Return FunctionEnd +16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;):12(VS_OUTPUT) Function None 13 + 14(vsin): 10(ptr) FunctionParameter + 15(Pos_loose): 11(ptr) FunctionParameter + 17: Label + 19(vsout): 18(ptr) Variable Function + 22: 21(ptr) AccessChain 14(vsin) 20 + 23: 6(int) Load 22 + 24: 21(ptr) AccessChain 19(vsout) 20 + Store 24 23 + 26: 11(ptr) AccessChain 14(vsin) 25 + 27: 8(fvec4) Load 26 + 28: 8(fvec4) Load 15(Pos_loose) + 29: 8(fvec4) FAdd 27 28 + 30: 11(ptr) AccessChain 19(vsout) 25 + Store 30 29 + 32: 21(ptr) AccessChain 14(vsin) 31 + 33: 6(int) Load 32 + 34: 21(ptr) AccessChain 19(vsout) 31 + Store 34 33 + 35:12(VS_OUTPUT) Load 19(vsout) + ReturnValue 35 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out index bc5b00d1cbb..b907815b89d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.array.geom.out @@ -5,14 +5,14 @@ max_vertices = 4 input primitive = points output primitive = triangle_strip 0:? Sequence -0:13 Function Definition: main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 0:13 Function Parameters: -0:13 'v' (layout(location=0 ) in 1-element array of uint) -0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:13 'v' ( in 1-element array of uint) +0:13 'OutputStream' ( out structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:16 'Out' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:16 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:16 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:16 Constant: 0:16 0.000000 0:16 0.000000 @@ -25,46 +25,53 @@ output primitive = triangle_strip 0:16 0.000000 0:16 0 (const uint) 0:18 Sequence -0:18 move second child to first child (temp int) -0:18 'x' (temp int) +0:18 move second child to first child ( temp int) +0:18 'x' ( temp int) 0:18 Constant: 0:18 0 (const int) 0:18 Loop with condition tested first 0:18 Loop Condition -0:18 Compare Less Than (temp bool) -0:18 'x' (temp int) +0:18 Compare Less Than ( temp bool) +0:18 'x' ( temp int) 0:18 Constant: 0:18 2 (const int) 0:18 Loop Body 0:19 Sequence -0:19 move second child to first child (temp int) -0:19 'y' (temp int) +0:19 move second child to first child ( temp int) +0:19 'y' ( temp int) 0:19 Constant: 0:19 0 (const int) 0:19 Loop with condition tested first 0:19 Loop Condition -0:19 Compare Less Than (temp bool) -0:19 'y' (temp int) +0:19 Compare Less Than ( temp bool) +0:19 'y' ( temp int) 0:19 Constant: 0:19 2 (const int) 0:19 Loop Body -0:20 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 indirect index (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 indirect index (temp 3-element array of structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 'Verts' (temp 2-element array of 3-element array of structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 'x' (temp int) -0:20 'y' (temp int) -0:20 'Out' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 indirect index ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 'x' ( temp int) +0:20 'y' ( temp int) +0:20 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:19 Loop Terminal Expression -0:19 Pre-Increment (temp int) -0:19 'y' (temp int) +0:19 Pre-Increment ( temp int) +0:19 'y' ( temp int) 0:18 Loop Terminal Expression -0:18 Pre-Increment (temp int) -0:18 'x' (temp int) +0:18 Pre-Increment ( temp int) +0:18 'x' ( temp int) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child ( temp 1-element array of uint) +0:? 'v' ( temp 1-element array of uint) +0:? 'v' (layout( location=0) in 1-element array of uint) +0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) +0:? 'v' ( temp 1-element array of uint) +0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects -0:? 'v' (layout(location=0 ) in 1-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos}) +0:? 'v' (layout( location=0) in 1-element array of uint) Linked geometry stage: @@ -76,14 +83,14 @@ max_vertices = 4 input primitive = points output primitive = triangle_strip 0:? Sequence -0:13 Function Definition: main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; (temp void) +0:13 Function Definition: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) 0:13 Function Parameters: -0:13 'v' (layout(location=0 ) in 1-element array of uint) -0:13 'OutputStream' (out structure{temp 4-component vector of float Position Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:13 'v' ( in 1-element array of uint) +0:13 'OutputStream' ( out structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Sequence 0:16 Sequence -0:16 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:16 'Out' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:16 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:16 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:16 Constant: 0:16 0.000000 0:16 0.000000 @@ -96,204 +103,177 @@ output primitive = triangle_strip 0:16 0.000000 0:16 0 (const uint) 0:18 Sequence -0:18 move second child to first child (temp int) -0:18 'x' (temp int) +0:18 move second child to first child ( temp int) +0:18 'x' ( temp int) 0:18 Constant: 0:18 0 (const int) 0:18 Loop with condition tested first 0:18 Loop Condition -0:18 Compare Less Than (temp bool) -0:18 'x' (temp int) +0:18 Compare Less Than ( temp bool) +0:18 'x' ( temp int) 0:18 Constant: 0:18 2 (const int) 0:18 Loop Body 0:19 Sequence -0:19 move second child to first child (temp int) -0:19 'y' (temp int) +0:19 move second child to first child ( temp int) +0:19 'y' ( temp int) 0:19 Constant: 0:19 0 (const int) 0:19 Loop with condition tested first 0:19 Loop Condition -0:19 Compare Less Than (temp bool) -0:19 'y' (temp int) +0:19 Compare Less Than ( temp bool) +0:19 'y' ( temp int) 0:19 Constant: 0:19 2 (const int) 0:19 Loop Body -0:20 move second child to first child (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 indirect index (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 indirect index (temp 3-element array of structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 'Verts' (temp 2-element array of 3-element array of structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:20 'x' (temp int) -0:20 'y' (temp int) -0:20 'Out' (temp structure{temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 move second child to first child ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 indirect index ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 indirect index ( temp 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 'Verts' ( temp 2-element array of 3-element array of structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) +0:20 'x' ( temp int) +0:20 'y' ( temp int) +0:20 'Out' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:19 Loop Terminal Expression -0:19 Pre-Increment (temp int) -0:19 'y' (temp int) +0:19 Pre-Increment ( temp int) +0:19 'y' ( temp int) 0:18 Loop Terminal Expression -0:18 Pre-Increment (temp int) -0:18 'x' (temp int) +0:18 Pre-Increment ( temp int) +0:18 'x' ( temp int) +0:13 Function Definition: main( ( temp void) +0:13 Function Parameters: +0:? Sequence +0:13 move second child to first child ( temp 1-element array of uint) +0:? 'v' ( temp 1-element array of uint) +0:? 'v' (layout( location=0) in 1-element array of uint) +0:13 Function Call: @main(u1[1];struct-PSInput-vf4-vf2-vf3-u11; ( temp void) +0:? 'v' ( temp 1-element array of uint) +0:? 'OutputStream' ( temp structure{ temp 4-component vector of float Pos, temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) 0:? Linker Objects -0:? 'v' (layout(location=0 ) in 1-element array of uint) -0:? 'OutputStream' (layout(location=0 ) out structure{temp 2-component vector of float TexCoord, temp 3-component vector of float TerrainPos, temp uint VertexID}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position OutputStream_Pos}) +0:? 'v' (layout( location=0) in 1-element array of uint) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 90 +// Id's are bound by 73 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 83 86 89 + EntryPoint Geometry 4 "main" 66 ExecutionMode 4 InputPoints ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 11 "PSInput" - MemberName 11(PSInput) 0 "Pos" - MemberName 11(PSInput) 1 "TexCoord" - MemberName 11(PSInput) 2 "TerrainPos" - MemberName 11(PSInput) 3 "VertexID" - Name 13 "Out" Name 14 "PSInput" MemberName 14(PSInput) 0 "Pos" MemberName 14(PSInput) 1 "TexCoord" MemberName 14(PSInput) 2 "TerrainPos" MemberName 14(PSInput) 3 "VertexID" - Name 39 "x" - Name 48 "y" - Name 56 "PSInput" - MemberName 56(PSInput) 0 "Pos" - MemberName 56(PSInput) 1 "TexCoord" - MemberName 56(PSInput) 2 "TerrainPos" - MemberName 56(PSInput) 3 "VertexID" - Name 62 "Verts" - Name 83 "v" - Name 84 "PSInput" - MemberName 84(PSInput) 0 "TexCoord" - MemberName 84(PSInput) 1 "TerrainPos" - MemberName 84(PSInput) 2 "VertexID" - Name 86 "OutputStream" - Name 87 "PerVertex_out" - MemberName 87(PerVertex_out) 0 "OutputStream_Pos" - Name 89 "PerVertex_out" - MemberDecorate 14(PSInput) 0 BuiltIn Position - Decorate 83(v) Location 0 - Decorate 86(OutputStream) Location 0 - MemberDecorate 87(PerVertex_out) 0 BuiltIn Position - Decorate 87(PerVertex_out) Block + Name 19 "@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;" + Name 17 "v" + Name 18 "OutputStream" + Name 21 "Out" + Name 30 "x" + Name 41 "y" + Name 54 "Verts" + Name 64 "v" + Name 66 "v" + Name 68 "OutputStream" + Name 69 "param" + Name 71 "param" + Decorate 66(v) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypeVector 6(float) 2 - 9: TypeVector 6(float) 3 - 10: TypeInt 32 0 - 11(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 12: TypePointer Function 11(PSInput) - 14(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 15: 6(float) Constant 0 - 16: 7(fvec4) ConstantComposite 15 15 15 15 - 17: 8(fvec2) ConstantComposite 15 15 - 18: 9(fvec3) ConstantComposite 15 15 15 - 19: 10(int) Constant 0 - 20: 14(PSInput) ConstantComposite 16 17 18 19 - 22: TypeInt 32 1 - 23: 22(int) Constant 0 - 24: TypePointer Function 7(fvec4) - 27: 22(int) Constant 1 - 28: TypePointer Function 8(fvec2) - 31: 22(int) Constant 2 - 32: TypePointer Function 9(fvec3) - 35: 22(int) Constant 3 - 36: TypePointer Function 10(int) - 38: TypePointer Function 22(int) - 46: TypeBool - 56(PSInput): TypeStruct 7(fvec4) 8(fvec2) 9(fvec3) 10(int) - 57: 10(int) Constant 3 - 58: TypeArray 56(PSInput) 57 - 59: 10(int) Constant 2 - 60: TypeArray 58 59 - 61: TypePointer Function 60 - 66: TypePointer Function 56(PSInput) - 80: 10(int) Constant 1 - 81: TypeArray 10(int) 80 - 82: TypePointer Input 81 - 83(v): 82(ptr) Variable Input - 84(PSInput): TypeStruct 8(fvec2) 9(fvec3) 10(int) - 85: TypePointer Output 84(PSInput) -86(OutputStream): 85(ptr) Variable Output -87(PerVertex_out): TypeStruct 7(fvec4) - 88: TypePointer Output 87(PerVertex_out) -89(PerVertex_out): 88(ptr) Variable Output + 6: TypeInt 32 0 + 7: 6(int) Constant 1 + 8: TypeArray 6(int) 7 + 9: TypePointer Function 8 + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12: TypeVector 10(float) 2 + 13: TypeVector 10(float) 3 + 14(PSInput): TypeStruct 11(fvec4) 12(fvec2) 13(fvec3) 6(int) + 15: TypePointer Function 14(PSInput) + 16: TypeFunction 2 9(ptr) 15(ptr) + 22: 10(float) Constant 0 + 23: 11(fvec4) ConstantComposite 22 22 22 22 + 24: 12(fvec2) ConstantComposite 22 22 + 25: 13(fvec3) ConstantComposite 22 22 22 + 26: 6(int) Constant 0 + 27: 14(PSInput) ConstantComposite 23 24 25 26 + 28: TypeInt 32 1 + 29: TypePointer Function 28(int) + 31: 28(int) Constant 0 + 38: 28(int) Constant 2 + 39: TypeBool + 49: 6(int) Constant 3 + 50: TypeArray 14(PSInput) 49 + 51: 6(int) Constant 2 + 52: TypeArray 50 51 + 53: TypePointer Function 52 + 60: 28(int) Constant 1 + 65: TypePointer Input 8 + 66(v): 65(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 13(Out): 12(ptr) Variable Function - 39(x): 38(ptr) Variable Function - 48(y): 38(ptr) Variable Function - 62(Verts): 61(ptr) Variable Function - 21: 7(fvec4) CompositeExtract 20 0 - 25: 24(ptr) AccessChain 13(Out) 23 - Store 25 21 - 26: 8(fvec2) CompositeExtract 20 1 - 29: 28(ptr) AccessChain 13(Out) 27 - Store 29 26 - 30: 9(fvec3) CompositeExtract 20 2 - 33: 32(ptr) AccessChain 13(Out) 31 - Store 33 30 - 34: 10(int) CompositeExtract 20 3 - 37: 36(ptr) AccessChain 13(Out) 35 - Store 37 34 - Store 39(x) 23 - Branch 40 - 40: Label - LoopMerge 42 43 None - Branch 44 - 44: Label - 45: 22(int) Load 39(x) - 47: 46(bool) SLessThan 45 31 - BranchConditional 47 41 42 - 41: Label - Store 48(y) 23 - Branch 49 - 49: Label - LoopMerge 51 52 None - Branch 53 - 53: Label - 54: 22(int) Load 48(y) - 55: 46(bool) SLessThan 54 31 - BranchConditional 55 50 51 - 50: Label - 63: 22(int) Load 39(x) - 64: 22(int) Load 48(y) - 65: 11(PSInput) Load 13(Out) - 67: 66(ptr) AccessChain 62(Verts) 63 64 - 68: 7(fvec4) CompositeExtract 65 0 - 69: 24(ptr) AccessChain 67 23 - Store 69 68 - 70: 8(fvec2) CompositeExtract 65 1 - 71: 28(ptr) AccessChain 67 27 - Store 71 70 - 72: 9(fvec3) CompositeExtract 65 2 - 73: 32(ptr) AccessChain 67 31 - Store 73 72 - 74: 10(int) CompositeExtract 65 3 - 75: 36(ptr) AccessChain 67 35 - Store 75 74 - Branch 52 - 52: Label - 76: 22(int) Load 48(y) - 77: 22(int) IAdd 76 27 - Store 48(y) 77 - Branch 49 - 51: Label - Branch 43 - 43: Label - 78: 22(int) Load 39(x) - 79: 22(int) IAdd 78 27 - Store 39(x) 79 - Branch 40 - 42: Label + 64(v): 9(ptr) Variable Function +68(OutputStream): 15(ptr) Variable Function + 69(param): 9(ptr) Variable Function + 71(param): 15(ptr) Variable Function + 67: 8 Load 66(v) + Store 64(v) 67 + 70: 8 Load 64(v) + Store 69(param) 70 + 72: 2 FunctionCall 19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;) 69(param) 71(param) + Return + FunctionEnd +19(@main(u1[1];struct-PSInput-vf4-vf2-vf3-u11;): 2 Function None 16 + 17(v): 9(ptr) FunctionParameter +18(OutputStream): 15(ptr) FunctionParameter + 20: Label + 21(Out): 15(ptr) Variable Function + 30(x): 29(ptr) Variable Function + 41(y): 29(ptr) Variable Function + 54(Verts): 53(ptr) Variable Function + Store 21(Out) 27 + Store 30(x) 31 + Branch 32 + 32: Label + LoopMerge 34 35 None + Branch 36 + 36: Label + 37: 28(int) Load 30(x) + 40: 39(bool) SLessThan 37 38 + BranchConditional 40 33 34 + 33: Label + Store 41(y) 31 + Branch 42 + 42: Label + LoopMerge 44 45 None + Branch 46 + 46: Label + 47: 28(int) Load 41(y) + 48: 39(bool) SLessThan 47 38 + BranchConditional 48 43 44 + 43: Label + 55: 28(int) Load 30(x) + 56: 28(int) Load 41(y) + 57: 14(PSInput) Load 21(Out) + 58: 15(ptr) AccessChain 54(Verts) 55 56 + Store 58 57 + Branch 45 + 45: Label + 59: 28(int) Load 41(y) + 61: 28(int) IAdd 59 60 + Store 41(y) 61 + Branch 42 + 44: Label + Branch 35 + 35: Label + 62: 28(int) Load 30(x) + 63: 28(int) IAdd 62 60 + Store 30(x) 63 + Branch 32 + 34: Label Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out index e214c51200f..ad185ee1e8c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.assign.frag.out @@ -2,64 +2,117 @@ hlsl.struct.split.assign.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'i' (layout(location=0 ) in int) -0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 'i' ( in int) +0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Sequence -0:9 Sequence -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:11 Sequence -0:11 Branch: Return +0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:11 Branch: Return with expression +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp int) +0:? 'i' ( temp int) +0:? 'i' (layout( location=0) in int) +0:7 Sequence +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 1 (const int) +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 2 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) +0:? 'i' ( temp int) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in int) -0:? 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:? 'input_pos' (in 3-element array of 4-component vector of float FragCoord) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in int) +0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) Linked fragment stage: @@ -68,129 +121,231 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main(i1;struct-S-f1-vf41[3]; (temp 4-component vector of float) +0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) 0:7 Function Parameters: -0:7 'i' (layout(location=0 ) in int) -0:7 'input' (in 3-element array of structure{temp float f, temp 4-component vector of float FragCoord pos}) +0:7 'i' ( in int) +0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Sequence -0:9 Sequence -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 0 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 1 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 move second child to first child (temp float) -0:9 f: direct index for structure (temp float) -0:9 direct index (layout(location=1 ) in structure{temp float f}) -0:9 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:9 f: direct index for structure (temp float) -0:9 direct index (temp structure{temp float f, temp 4-component vector of float pos}) -0:9 'a' (temp 3-element array of structure{temp float f, temp 4-component vector of float pos}) -0:9 Constant: -0:9 2 (const int) -0:9 Constant: -0:9 0 (const int) -0:11 Sequence -0:11 Branch: Return +0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:11 Branch: Return with expression +0:11 Constant: +0:11 1.000000 +0:11 1.000000 +0:11 1.000000 +0:7 Function Definition: main( ( temp void) +0:7 Function Parameters: +0:? Sequence +0:7 move second child to first child ( temp int) +0:? 'i' ( temp int) +0:? 'i' (layout( location=0) in int) +0:7 Sequence +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 0 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 1 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 1 (const int) +0:7 move second child to first child ( temp float) +0:7 f: direct index for structure ( temp float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 f: direct index for structure ( temp float) +0:7 direct index (layout( location=1) in structure{ temp float f}) +0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 0 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:7 pos: direct index for structure ( temp 4-component vector of float) +0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos}) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) +0:7 Constant: +0:7 2 (const int) +0:7 Constant: +0:7 1 (const int) +0:7 direct index ( in 4-component vector of float FragCoord) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) +0:7 Constant: +0:7 2 (const int) +0:7 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float) +0:? 'i' ( temp int) +0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos}) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'i' (layout(location=0 ) in int) -0:? 'input' (layout(location=1 ) in 3-element array of structure{temp float f}) -0:? 'input_pos' (in 3-element array of 4-component vector of float FragCoord) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'i' (layout( location=0) in int) +0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f}) +0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 73 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 12 35 37 40 + EntryPoint Fragment 4 "main" 32 39 48 67 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 7 "S" - MemberName 7(S) 0 "f" - Name 12 "input" - Name 16 "S" - MemberName 16(S) 0 "f" - MemberName 16(S) 1 "pos" - Name 19 "a" - Name 35 "@entryPointOutput" - Name 37 "i" - Name 40 "input_pos" - Decorate 12(input) Location 1 - Decorate 35(@entryPointOutput) Location 0 - Decorate 37(i) Location 0 - Decorate 40(input_pos) BuiltIn FragCoord + Name 10 "S" + MemberName 10(S) 0 "f" + MemberName 10(S) 1 "pos" + Name 18 "@main(i1;struct-S-f1-vf41[3];" + Name 16 "i" + Name 17 "input" + Name 20 "a" + Name 30 "i" + Name 32 "i" + Name 34 "input" + Name 36 "S" + MemberName 36(S) 0 "f" + Name 39 "input" + Name 48 "input_pos" + Name 67 "@entryPointOutput" + Name 68 "param" + Name 70 "param" + Decorate 32(i) Location 0 + Decorate 39(input) Location 1 + Decorate 48(input_pos) BuiltIn FragCoord + Decorate 67(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeFloat 32 - 7(S): TypeStruct 6(float) - 8: TypeInt 32 0 - 9: 8(int) Constant 3 - 10: TypeArray 7(S) 9 - 11: TypePointer Input 10 - 12(input): 11(ptr) Variable Input - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 15: TypeVector 6(float) 4 - 16(S): TypeStruct 6(float) 15(fvec4) - 17: TypeArray 16(S) 9 - 18: TypePointer Function 17 - 20: TypePointer Function 6(float) - 23: TypePointer Input 6(float) - 25: 13(int) Constant 1 - 29: 13(int) Constant 2 - 34: TypePointer Output 15(fvec4) -35(@entryPointOutput): 34(ptr) Variable Output - 36: TypePointer Input 13(int) - 37(i): 36(ptr) Variable Input - 38: TypeArray 15(fvec4) 9 - 39: TypePointer Input 38 - 40(input_pos): 39(ptr) Variable Input + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10(S): TypeStruct 8(float) 9(fvec4) + 11: TypeInt 32 0 + 12: 11(int) Constant 3 + 13: TypeArray 10(S) 12 + 14: TypePointer Function 13 + 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr) + 22: TypeVector 8(float) 3 + 23: 8(float) Constant 1065353216 + 24: 22(fvec3) ConstantComposite 23 23 23 + 25: TypePointer Function 9(fvec4) + 31: TypePointer Input 6(int) + 32(i): 31(ptr) Variable Input + 35: 6(int) Constant 0 + 36(S): TypeStruct 8(float) + 37: TypeArray 36(S) 12 + 38: TypePointer Input 37 + 39(input): 38(ptr) Variable Input + 40: TypePointer Input 8(float) + 43: TypePointer Function 8(float) + 45: 6(int) Constant 1 + 46: TypeArray 9(fvec4) 12 + 47: TypePointer Input 46 + 48(input_pos): 47(ptr) Variable Input + 49: TypePointer Input 9(fvec4) + 59: 6(int) Constant 2 + 66: TypePointer Output 9(fvec4) +67(@entryPointOutput): 66(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 19(a): 18(ptr) Variable Function - 21: 20(ptr) AccessChain 19(a) 14 14 - 22: 6(float) Load 21 - 24: 23(ptr) AccessChain 12(input) 14 14 - Store 24 22 - 26: 20(ptr) AccessChain 19(a) 25 14 - 27: 6(float) Load 26 - 28: 23(ptr) AccessChain 12(input) 25 14 - Store 28 27 - 30: 20(ptr) AccessChain 19(a) 29 14 - 31: 6(float) Load 30 - 32: 23(ptr) AccessChain 12(input) 29 14 - Store 32 31 + 30(i): 7(ptr) Variable Function + 34(input): 14(ptr) Variable Function + 68(param): 7(ptr) Variable Function + 70(param): 14(ptr) Variable Function + 33: 6(int) Load 32(i) + Store 30(i) 33 + 41: 40(ptr) AccessChain 39(input) 35 35 + 42: 8(float) Load 41 + 44: 43(ptr) AccessChain 34(input) 35 35 + Store 44 42 + 50: 49(ptr) AccessChain 48(input_pos) 35 + 51: 9(fvec4) Load 50 + 52: 25(ptr) AccessChain 34(input) 35 45 + Store 52 51 + 53: 40(ptr) AccessChain 39(input) 45 35 + 54: 8(float) Load 53 + 55: 43(ptr) AccessChain 34(input) 45 35 + Store 55 54 + 56: 49(ptr) AccessChain 48(input_pos) 45 + 57: 9(fvec4) Load 56 + 58: 25(ptr) AccessChain 34(input) 45 45 + Store 58 57 + 60: 40(ptr) AccessChain 39(input) 59 35 + 61: 8(float) Load 60 + 62: 43(ptr) AccessChain 34(input) 59 35 + Store 62 61 + 63: 49(ptr) AccessChain 48(input_pos) 59 + 64: 9(fvec4) Load 63 + 65: 25(ptr) AccessChain 34(input) 59 45 + Store 65 64 + 69: 6(int) Load 30(i) + Store 68(param) 69 + 71: 13 Load 34(input) + Store 70(param) 71 + 72: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 68(param) 70(param) + Store 67(@entryPointOutput) 72 Return FunctionEnd +18(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15 + 16(i): 7(ptr) FunctionParameter + 17(input): 14(ptr) FunctionParameter + 19: Label + 20(a): 14(ptr) Variable Function + 26: 25(ptr) Variable Function + 21: 13 Load 20(a) + Store 17(input) 21 + Store 26 24 + 27: 9(fvec4) Load 26 + ReturnValue 27 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out index 40245f44105..9dc7b856ebc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.call.vert.out @@ -1,98 +1,112 @@ hlsl.struct.split.call.vert Shader version: 450 0:? Sequence -0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) +0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) 0:17 Function Parameters: -0:17 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'fn1_in' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'fn1_out' ( in structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:? Sequence -0:18 add (temp 4-component vector of float) -0:18 Pos_in: direct index for structure (temp 4-component vector of float) -0:18 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:18 add ( temp 4-component vector of float) +0:18 Pos_in: direct index for structure ( temp 4-component vector of float) +0:18 'fn1_in' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) -0:18 Pos_out: direct index for structure (temp 4-component vector of float) -0:18 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:18 Pos_out: direct index for structure ( temp 4-component vector of float) +0:18 'fn1_out' ( in structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) -0:22 Function Definition: main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:22 Function Parameters: -0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence -0:25 move second child to first child (temp int) -0:25 x0_out: direct index for structure (temp int) -0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:25 move second child to first child ( temp int) +0:25 x0_out: direct index for structure ( temp int) +0:25 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:26 move second child to first child (temp 4-component vector of float) -0:26 Pos_out: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:25 x0_in: direct index for structure ( temp int) +0:25 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:25 Constant: +0:25 0 (const int) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 Pos_out: direct index for structure ( temp 4-component vector of float) +0:26 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:26 Constant: 0:26 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:27 move second child to first child (temp int) -0:27 x1_out: direct index for structure (temp int) -0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:26 Pos_in: direct index for structure ( temp 4-component vector of float) +0:26 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:26 Constant: +0:26 1 (const int) +0:27 move second child to first child ( temp int) +0:27 x1_out: direct index for structure ( temp int) +0:27 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:27 Constant: 0:27 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) -0:29 Comma (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Sequence -0:29 move second child to first child (temp int) -0:29 x0_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Pos_in: direct index for structure (temp 4-component vector of float) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:29 move second child to first child (temp int) -0:29 x1_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp int) -0:31 x0_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 x0_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:31 Pos_out: direct index for structure (temp 4-component vector of float) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 move second child to first child (temp int) -0:31 x1_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 x1_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 2 (const int) -0:31 Branch: Return +0:27 x1_in: direct index for structure ( temp int) +0:27 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:27 Constant: +0:27 2 (const int) +0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) +0:29 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:29 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:31 Branch: Return with expression +0:31 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp int) +0:22 x0_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 0 (const int) +0:? 'x0_in' (layout( location=0) in int) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 1 (const int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:22 move second child to first child ( temp int) +0:22 x1_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:? 'x1_in' (layout( location=2) in int) +0:22 Sequence +0:22 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 move second child to first child ( temp int) +0:22 x0_out: direct index for structure ( temp int) +0:22 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 x0_out: direct index for structure ( temp int) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position) +0:22 Pos_out: direct index for structure ( temp 4-component vector of float) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child ( temp int) +0:22 x1_out: direct index for structure ( temp int) +0:22 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 x1_out: direct index for structure ( temp int) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:? 'x0_in' (layout(location=0 ) in int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'x1_in' (layout(location=1 ) in int) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:? 'x0_in' (layout( location=0) in int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:? 'x1_in' (layout( location=2) in int) Linked vertex stage: @@ -100,107 +114,121 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) +0:17 Function Definition: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) 0:17 Function Parameters: -0:17 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:17 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:17 'fn1_in' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:17 'fn1_out' ( in structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:? Sequence -0:18 add (temp 4-component vector of float) -0:18 Pos_in: direct index for structure (temp 4-component vector of float) -0:18 'fn1_in' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:18 add ( temp 4-component vector of float) +0:18 Pos_in: direct index for structure ( temp 4-component vector of float) +0:18 'fn1_in' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:18 Constant: 0:18 1 (const int) -0:18 Pos_out: direct index for structure (temp 4-component vector of float) -0:18 'fn1_out' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:18 Pos_out: direct index for structure ( temp 4-component vector of float) +0:18 'fn1_out' ( in structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:18 Constant: 0:18 1 (const int) -0:22 Function Definition: main(struct-VS_INPUT-i1-vf4-i11; (temp structure{temp int x0_out, temp 4-component vector of float Position Pos_out, temp int x1_out}) +0:22 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:22 Function Parameters: -0:22 'vsin' (in structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:? Sequence -0:25 move second child to first child (temp int) -0:25 x0_out: direct index for structure (temp int) -0:25 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:25 move second child to first child ( temp int) +0:25 x0_out: direct index for structure ( temp int) +0:25 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) 0:25 Constant: 0:25 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:26 move second child to first child (temp 4-component vector of float) -0:26 Pos_out: direct index for structure (temp 4-component vector of float) -0:26 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:25 x0_in: direct index for structure ( temp int) +0:25 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:25 Constant: +0:25 0 (const int) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 Pos_out: direct index for structure ( temp 4-component vector of float) +0:26 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:26 Constant: +0:26 1 (const int) +0:26 Pos_in: direct index for structure ( temp 4-component vector of float) +0:26 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:26 Constant: 0:26 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:27 move second child to first child (temp int) -0:27 x1_out: direct index for structure (temp int) -0:27 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:27 move second child to first child ( temp int) +0:27 x1_out: direct index for structure ( temp int) +0:27 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:27 Constant: +0:27 2 (const int) +0:27 x1_in: direct index for structure ( temp int) +0:27 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) 0:27 Constant: 0:27 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; (temp void) -0:29 Comma (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Sequence -0:29 move second child to first child (temp int) -0:29 x0_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 0 (const int) -0:? 'x0_in' (layout(location=0 ) in int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 Pos_in: direct index for structure (temp 4-component vector of float) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 1 (const int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:29 move second child to first child (temp int) -0:29 x1_in: direct index for structure (temp int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 Constant: -0:29 2 (const int) -0:? 'x1_in' (layout(location=1 ) in int) -0:29 'aggShadow' (temp structure{temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) -0:29 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Sequence -0:31 Sequence -0:31 move second child to first child (temp int) -0:31 x0_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 x0_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 0 (const int) -0:31 move second child to first child (temp 4-component vector of float) -0:? 'Pos_out' (out 4-component vector of float Position) -0:31 Pos_out: direct index for structure (temp 4-component vector of float) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 move second child to first child (temp int) -0:31 x1_out: direct index for structure (temp int) -0:31 '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:31 Constant: -0:31 1 (const int) -0:31 x1_out: direct index for structure (temp int) -0:31 'vsout' (temp structure{temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) -0:31 Constant: -0:31 2 (const int) -0:31 Branch: Return +0:29 Function Call: Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11; ( temp void) +0:29 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:29 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:31 Branch: Return with expression +0:31 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 Sequence +0:22 move second child to first child ( temp int) +0:22 x0_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 0 (const int) +0:? 'x0_in' (layout( location=0) in int) +0:22 move second child to first child ( temp 4-component vector of float) +0:22 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 1 (const int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:22 move second child to first child ( temp int) +0:22 x1_in: direct index for structure ( temp int) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 Constant: +0:22 2 (const int) +0:? 'x1_in' (layout( location=2) in int) +0:22 Sequence +0:22 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Function Call: @main(struct-VS_INPUT-i1-vf4-i11; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in}) +0:22 move second child to first child ( temp int) +0:22 x0_out: direct index for structure ( temp int) +0:22 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 x0_out: direct index for structure ( temp int) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 0 (const int) +0:22 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position) +0:22 Pos_out: direct index for structure ( temp 4-component vector of float) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 move second child to first child ( temp int) +0:22 x1_out: direct index for structure ( temp int) +0:22 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:22 Constant: +0:22 1 (const int) +0:22 x1_out: direct index for structure ( temp int) +0:22 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out}) +0:22 Constant: +0:22 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out structure{temp int x0_out, temp int x1_out}) -0:? 'x0_in' (layout(location=0 ) in int) -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'x1_in' (layout(location=1 ) in int) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos_out}) +0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out}) +0:? 'x0_in' (layout( location=0) in int) +0:? 'Pos_in' (layout( location=1) in 4-component vector of float) +0:? 'x1_in' (layout( location=2) in int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 72 +// Id's are bound by 80 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 28 33 37 56 62 71 + EntryPoint Vertex 4 "main" 52 56 59 68 74 Name 4 "main" Name 9 "VS_INPUT" MemberName 9(VS_INPUT) 0 "x0_in" @@ -213,32 +241,27 @@ Shader version: 450 Name 16 "Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;" Name 14 "fn1_in" Name 15 "fn1_out" - Name 25 "vsout" - Name 28 "x0_in" - Name 33 "Pos_in" - Name 37 "x1_in" - Name 40 "VS_INPUT" - MemberName 40(VS_INPUT) 0 "x0_in" - MemberName 40(VS_INPUT) 1 "Pos_in" - MemberName 40(VS_INPUT) 2 "x1_in" - Name 42 "aggShadow" - Name 49 "param" - Name 51 "param" - Name 54 "VS_OUTPUT" - MemberName 54(VS_OUTPUT) 0 "x0_out" - MemberName 54(VS_OUTPUT) 1 "x1_out" - Name 56 "@entryPointOutput" - Name 62 "Pos_out" - Name 69 "PerVertex_out" - MemberName 69(PerVertex_out) 0 "Pos_out" - Name 71 "PerVertex_out" - Decorate 28(x0_in) Location 0 - Decorate 33(Pos_in) BuiltIn Position - Decorate 37(x1_in) Location 1 - Decorate 56(@entryPointOutput) Location 0 - Decorate 62(Pos_out) BuiltIn Position - MemberDecorate 69(PerVertex_out) 0 BuiltIn Position - Decorate 69(PerVertex_out) Block + Name 20 "@main(struct-VS_INPUT-i1-vf4-i11;" + Name 19 "vsin" + Name 29 "vsout" + Name 42 "param" + Name 44 "param" + Name 50 "vsin" + Name 52 "x0_in" + Name 56 "Pos_in" + Name 59 "x1_in" + Name 62 "flattenTemp" + Name 63 "param" + Name 66 "VS_OUTPUT" + MemberName 66(VS_OUTPUT) 0 "x0_out" + MemberName 66(VS_OUTPUT) 1 "x1_out" + Name 68 "@entryPointOutput" + Name 74 "@entryPointOutput_Pos_out" + Decorate 52(x0_in) Location 0 + Decorate 56(Pos_in) Location 1 + Decorate 59(x1_in) Location 2 + Decorate 68(@entryPointOutput) Location 0 + Decorate 74(@entryPointOutput_Pos_out) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -249,77 +272,88 @@ Shader version: 450 11(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int) 12: TypePointer Function 11(VS_OUTPUT) 13: TypeFunction 2 10(ptr) 12(ptr) - 18: 6(int) Constant 1 - 19: TypePointer Function 8(fvec4) - 26: 6(int) Constant 0 - 27: TypePointer Input 6(int) - 28(x0_in): 27(ptr) Variable Input - 30: TypePointer Function 6(int) - 32: TypePointer Input 8(fvec4) - 33(Pos_in): 32(ptr) Variable Input - 36: 6(int) Constant 2 - 37(x1_in): 27(ptr) Variable Input - 40(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int) - 41: TypePointer Function 40(VS_INPUT) - 54(VS_OUTPUT): TypeStruct 6(int) 6(int) - 55: TypePointer Output 54(VS_OUTPUT) -56(@entryPointOutput): 55(ptr) Variable Output - 59: TypePointer Output 6(int) - 61: TypePointer Output 8(fvec4) - 62(Pos_out): 61(ptr) Variable Output -69(PerVertex_out): TypeStruct 8(fvec4) - 70: TypePointer Output 69(PerVertex_out) -71(PerVertex_out): 70(ptr) Variable Output + 18: TypeFunction 11(VS_OUTPUT) 10(ptr) + 22: 6(int) Constant 1 + 23: TypePointer Function 8(fvec4) + 30: 6(int) Constant 0 + 31: TypePointer Function 6(int) + 38: 6(int) Constant 2 + 51: TypePointer Input 6(int) + 52(x0_in): 51(ptr) Variable Input + 55: TypePointer Input 8(fvec4) + 56(Pos_in): 55(ptr) Variable Input + 59(x1_in): 51(ptr) Variable Input + 66(VS_OUTPUT): TypeStruct 6(int) 6(int) + 67: TypePointer Output 66(VS_OUTPUT) +68(@entryPointOutput): 67(ptr) Variable Output + 71: TypePointer Output 6(int) + 73: TypePointer Output 8(fvec4) +74(@entryPointOutput_Pos_out): 73(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 25(vsout): 12(ptr) Variable Function - 42(aggShadow): 41(ptr) Variable Function - 49(param): 41(ptr) Variable Function - 51(param): 12(ptr) Variable Function - 29: 6(int) Load 28(x0_in) - 31: 30(ptr) AccessChain 25(vsout) 26 - Store 31 29 - 34: 8(fvec4) Load 33(Pos_in) - 35: 19(ptr) AccessChain 25(vsout) 18 - Store 35 34 - 38: 6(int) Load 37(x1_in) - 39: 30(ptr) AccessChain 25(vsout) 36 - Store 39 38 - 43: 6(int) Load 28(x0_in) - 44: 30(ptr) AccessChain 42(aggShadow) 26 - Store 44 43 - 45: 8(fvec4) Load 33(Pos_in) - 46: 19(ptr) AccessChain 42(aggShadow) 18 - Store 46 45 - 47: 6(int) Load 37(x1_in) - 48: 30(ptr) AccessChain 42(aggShadow) 36 - Store 48 47 - 50:40(VS_INPUT) Load 42(aggShadow) - Store 49(param) 50 - 52:11(VS_OUTPUT) Load 25(vsout) - Store 51(param) 52 - 53: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 49(param) 51(param) - 57: 30(ptr) AccessChain 25(vsout) 26 - 58: 6(int) Load 57 - 60: 59(ptr) AccessChain 56(@entryPointOutput) 26 - Store 60 58 - 63: 19(ptr) AccessChain 25(vsout) 18 - 64: 8(fvec4) Load 63 - Store 62(Pos_out) 64 - 65: 30(ptr) AccessChain 25(vsout) 36 - 66: 6(int) Load 65 - 67: 59(ptr) AccessChain 56(@entryPointOutput) 18 - Store 67 66 + 50(vsin): 10(ptr) Variable Function + 62(flattenTemp): 12(ptr) Variable Function + 63(param): 10(ptr) Variable Function + 53: 6(int) Load 52(x0_in) + 54: 31(ptr) AccessChain 50(vsin) 30 + Store 54 53 + 57: 8(fvec4) Load 56(Pos_in) + 58: 23(ptr) AccessChain 50(vsin) 22 + Store 58 57 + 60: 6(int) Load 59(x1_in) + 61: 31(ptr) AccessChain 50(vsin) 38 + Store 61 60 + 64: 9(VS_INPUT) Load 50(vsin) + Store 63(param) 64 + 65:11(VS_OUTPUT) FunctionCall 20(@main(struct-VS_INPUT-i1-vf4-i11;) 63(param) + Store 62(flattenTemp) 65 + 69: 31(ptr) AccessChain 62(flattenTemp) 30 + 70: 6(int) Load 69 + 72: 71(ptr) AccessChain 68(@entryPointOutput) 30 + Store 72 70 + 75: 23(ptr) AccessChain 62(flattenTemp) 22 + 76: 8(fvec4) Load 75 + Store 74(@entryPointOutput_Pos_out) 76 + 77: 31(ptr) AccessChain 62(flattenTemp) 38 + 78: 6(int) Load 77 + 79: 71(ptr) AccessChain 68(@entryPointOutput) 22 + Store 79 78 Return FunctionEnd 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;): 2 Function None 13 14(fn1_in): 10(ptr) FunctionParameter 15(fn1_out): 12(ptr) FunctionParameter 17: Label - 20: 19(ptr) AccessChain 14(fn1_in) 18 - 21: 8(fvec4) Load 20 - 22: 19(ptr) AccessChain 15(fn1_out) 18 - 23: 8(fvec4) Load 22 - 24: 8(fvec4) FAdd 21 23 + 24: 23(ptr) AccessChain 14(fn1_in) 22 + 25: 8(fvec4) Load 24 + 26: 23(ptr) AccessChain 15(fn1_out) 22 + 27: 8(fvec4) Load 26 + 28: 8(fvec4) FAdd 25 27 Return FunctionEnd +20(@main(struct-VS_INPUT-i1-vf4-i11;):11(VS_OUTPUT) Function None 18 + 19(vsin): 10(ptr) FunctionParameter + 21: Label + 29(vsout): 12(ptr) Variable Function + 42(param): 10(ptr) Variable Function + 44(param): 12(ptr) Variable Function + 32: 31(ptr) AccessChain 19(vsin) 30 + 33: 6(int) Load 32 + 34: 31(ptr) AccessChain 29(vsout) 30 + Store 34 33 + 35: 23(ptr) AccessChain 19(vsin) 22 + 36: 8(fvec4) Load 35 + 37: 23(ptr) AccessChain 29(vsout) 22 + Store 37 36 + 39: 31(ptr) AccessChain 19(vsin) 38 + 40: 6(int) Load 39 + 41: 31(ptr) AccessChain 29(vsout) 38 + Store 41 40 + 43: 9(VS_INPUT) Load 19(vsin) + Store 42(param) 43 + 45:11(VS_OUTPUT) Load 29(vsout) + Store 44(param) 45 + 46: 2 FunctionCall 16(Fn1(struct-VS_INPUT-i1-vf4-i11;struct-VS_OUTPUT-i1-vf4-i11;) 42(param) 44(param) + 47:11(VS_OUTPUT) Load 29(vsout) + ReturnValue 47 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out index a1db67d979c..42046da70c4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.nested.geom.out @@ -5,15 +5,15 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:24 Function Definition: main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void) 0:24 Function Parameters: -0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) -0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 pos: direct index for structure (temp 4-component vector of float) -0:27 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:27 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:27 Constant: 0:27 0 (const int) 0:27 Constant: @@ -23,10 +23,10 @@ output primitive = triangle_strip 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:28 move second child to first child (temp 2-component vector of float) -0:28 tc: direct index for structure (temp 2-component vector of float) -0:28 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:28 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:28 move second child to first child ( temp 2-component vector of float) +0:28 tc: direct index for structure ( temp 2-component vector of float) +0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:28 Constant: 0:28 0 (const int) 0:28 Constant: @@ -35,46 +35,100 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'ts_psIn_pos' (out 4-component vector of float Position) -0:30 pos: direct index for structure (temp 4-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 move second child to first child (temp 2-component vector of float) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 2-component vector of float tc}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 1 (const int) -0:30 move second child to first child (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 EmitVertex (temp void) +0:30 move second child to first child ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 EmitVertex ( temp void) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 1 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 2 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects -0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) -0:? 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos}) +0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) Linked geometry stage: @@ -86,15 +140,15 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:24 Function Definition: main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; (temp void) +0:24 Function Definition: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void) 0:24 Function Parameters: -0:24 'tin' (in 3-element array of structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc}) -0:24 'ts' (out structure{temp structure{temp 4-component vector of float Position pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:24 'tin' ( in 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 pos: direct index for structure (temp 4-component vector of float) -0:27 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:27 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 pos: direct index for structure ( temp 4-component vector of float) +0:27 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:27 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:27 Constant: 0:27 0 (const int) 0:27 Constant: @@ -104,10 +158,10 @@ output primitive = triangle_strip 0:? 2.000000 0:? 3.000000 0:? 4.000000 -0:28 move second child to first child (temp 2-component vector of float) -0:28 tc: direct index for structure (temp 2-component vector of float) -0:28 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:28 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:28 move second child to first child ( temp 2-component vector of float) +0:28 tc: direct index for structure ( temp 2-component vector of float) +0:28 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:28 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:28 Constant: 0:28 0 (const int) 0:28 Constant: @@ -116,55 +170,109 @@ output primitive = triangle_strip 0:? 5.000000 0:? 6.000000 0:30 Sequence -0:30 Sequence -0:30 move second child to first child (temp 4-component vector of float) -0:? 'ts_psIn_pos' (out 4-component vector of float Position) -0:30 pos: direct index for structure (temp 4-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 move second child to first child (temp 2-component vector of float) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 2-component vector of float tc}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 0 (const int) -0:30 tc: direct index for structure (temp 2-component vector of float) -0:30 psIn: direct index for structure (temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 0 (const int) -0:30 Constant: -0:30 1 (const int) -0:30 move second child to first child (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 contains_no_builtin_io: direct index for structure (temp structure{temp 2-element array of float m0_array, temp int m1}) -0:30 'o' (temp structure{temp structure{temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:30 Constant: -0:30 1 (const int) -0:30 EmitVertex (temp void) +0:30 move second child to first child ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'ts' ( out structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) +0:30 EmitVertex ( temp void) +0:24 Function Definition: main( ( temp void) +0:24 Function Parameters: +0:? Sequence +0:24 Sequence +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 1 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 1 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 pos: direct index for structure ( temp 4-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 direct index ( in 4-component vector of float Position) +0:? 'tin_pos' ( in 3-element array of 4-component vector of float Position) +0:24 Constant: +0:24 2 (const int) +0:24 move second child to first child ( temp 2-component vector of float) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 1 (const int) +0:24 tc: direct index for structure ( temp 2-component vector of float) +0:24 direct index (layout( location=0) in structure{ temp 2-component vector of float tc}) +0:24 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 Function Call: @main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111; ( temp void) +0:? 'tin' ( temp 3-element array of structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) +0:? 'ts' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:? Linker Objects -0:? 'tin' (layout(location=0 ) in 3-element array of structure{temp 2-component vector of float tc}) -0:? 'ts' (layout(location=0 ) out structure{temp structure{temp 2-component vector of float tc} psIn, temp structure{temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) -0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position tin_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_psIn_pos}) +0:? 'tin' (layout( location=0) in 3-element array of structure{ temp 2-component vector of float tc}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 68 +// Id's are bound by 75 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 33 40 60 64 67 + EntryPoint Geometry 4 "main" 44 52 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip @@ -173,39 +281,26 @@ output primitive = triangle_strip Name 9 "PS_IN" MemberName 9(PS_IN) 0 "pos" MemberName 9(PS_IN) 1 "tc" - Name 14 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" - MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" - MemberName 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" - Name 15 "GS_OUT" - MemberName 15(GS_OUT) 0 "psIn" - MemberName 15(GS_OUT) 1 "contains_no_builtin_io" - Name 17 "o" - Name 33 "ts_psIn_pos" - Name 36 "PS_IN" - MemberName 36(PS_IN) 0 "tc" - Name 37 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" - MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" - MemberName 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" - Name 38 "GS_OUT" - MemberName 38(GS_OUT) 0 "psIn" - MemberName 38(GS_OUT) 1 "contains_no_builtin_io" - Name 40 "ts" - Name 56 "PS_IN" - MemberName 56(PS_IN) 0 "tc" - Name 60 "tin" - Name 61 "PerVertex_in" - MemberName 61(PerVertex_in) 0 "tin_pos" - Name 64 "PerVertex_in" - Name 65 "PerVertex_out" - MemberName 65(PerVertex_out) 0 "ts_psIn_pos" - Name 67 "PerVertex_out" - Decorate 33(ts_psIn_pos) BuiltIn Position - Decorate 40(ts) Location 0 - Decorate 60(tin) Location 0 - MemberDecorate 61(PerVertex_in) 0 BuiltIn Position - Decorate 61(PerVertex_in) Block - MemberDecorate 65(PerVertex_out) 0 BuiltIn Position - Decorate 65(PerVertex_out) Block + Name 17 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" + MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" + MemberName 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" + Name 18 "GS_OUT" + MemberName 18(GS_OUT) 0 "psIn" + MemberName 18(GS_OUT) 1 "contains_no_builtin_io" + Name 23 "@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;" + Name 21 "tin" + Name 22 "ts" + Name 25 "o" + Name 41 "tin" + Name 44 "tin_pos" + Name 49 "PS_IN" + MemberName 49(PS_IN) 0 "tc" + Name 52 "tin" + Name 70 "ts" + Name 71 "param" + Name 73 "param" + Decorate 44(tin_pos) BuiltIn Position + Decorate 52(tin) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -213,71 +308,84 @@ output primitive = triangle_strip 8: TypeVector 6(float) 2 9(PS_IN): TypeStruct 7(fvec4) 8(fvec2) 10: TypeInt 32 0 - 11: 10(int) Constant 2 - 12: TypeArray 6(float) 11 - 13: TypeInt 32 1 -14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int) - 15(GS_OUT): TypeStruct 9(PS_IN) 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 16: TypePointer Function 15(GS_OUT) - 18: 13(int) Constant 0 - 19: 6(float) Constant 1065353216 - 20: 6(float) Constant 1073741824 - 21: 6(float) Constant 1077936128 - 22: 6(float) Constant 1082130432 - 23: 7(fvec4) ConstantComposite 19 20 21 22 - 24: TypePointer Function 7(fvec4) - 26: 13(int) Constant 1 - 27: 6(float) Constant 1084227584 - 28: 6(float) Constant 1086324736 - 29: 8(fvec2) ConstantComposite 27 28 - 30: TypePointer Function 8(fvec2) - 32: TypePointer Output 7(fvec4) - 33(ts_psIn_pos): 32(ptr) Variable Output - 36(PS_IN): TypeStruct 8(fvec2) -37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 12 13(int) - 38(GS_OUT): TypeStruct 36(PS_IN) 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 39: TypePointer Output 38(GS_OUT) - 40(ts): 39(ptr) Variable Output - 43: TypePointer Output 8(fvec2) - 45: TypePointer Function 14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 48: TypePointer Output 37(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) - 51: TypePointer Output 12 - 54: TypePointer Output 13(int) - 56(PS_IN): TypeStruct 8(fvec2) - 57: 10(int) Constant 3 - 58: TypeArray 56(PS_IN) 57 - 59: TypePointer Input 58 - 60(tin): 59(ptr) Variable Input -61(PerVertex_in): TypeStruct 7(fvec4) - 62: TypeArray 61(PerVertex_in) 57 - 63: TypePointer Input 62 -64(PerVertex_in): 63(ptr) Variable Input -65(PerVertex_out): TypeStruct 7(fvec4) - 66: TypePointer Output 65(PerVertex_out) -67(PerVertex_out): 66(ptr) Variable Output + 11: 10(int) Constant 3 + 12: TypeArray 9(PS_IN) 11 + 13: TypePointer Function 12 + 14: 10(int) Constant 2 + 15: TypeArray 6(float) 14 + 16: TypeInt 32 1 +17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int) + 18(GS_OUT): TypeStruct 9(PS_IN) 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) + 19: TypePointer Function 18(GS_OUT) + 20: TypeFunction 2 13(ptr) 19(ptr) + 26: 16(int) Constant 0 + 27: 6(float) Constant 1065353216 + 28: 6(float) Constant 1073741824 + 29: 6(float) Constant 1077936128 + 30: 6(float) Constant 1082130432 + 31: 7(fvec4) ConstantComposite 27 28 29 30 + 32: TypePointer Function 7(fvec4) + 34: 16(int) Constant 1 + 35: 6(float) Constant 1084227584 + 36: 6(float) Constant 1086324736 + 37: 8(fvec2) ConstantComposite 35 36 + 38: TypePointer Function 8(fvec2) + 42: TypeArray 7(fvec4) 11 + 43: TypePointer Input 42 + 44(tin_pos): 43(ptr) Variable Input + 45: TypePointer Input 7(fvec4) + 49(PS_IN): TypeStruct 8(fvec2) + 50: TypeArray 49(PS_IN) 11 + 51: TypePointer Input 50 + 52(tin): 51(ptr) Variable Input + 53: TypePointer Input 8(fvec2) + 63: 16(int) Constant 2 4(main): 2 Function None 3 5: Label - 17(o): 16(ptr) Variable Function - 25: 24(ptr) AccessChain 17(o) 18 18 - Store 25 23 - 31: 30(ptr) AccessChain 17(o) 18 26 - Store 31 29 - 34: 24(ptr) AccessChain 17(o) 18 18 - 35: 7(fvec4) Load 34 - Store 33(ts_psIn_pos) 35 - 41: 30(ptr) AccessChain 17(o) 18 26 - 42: 8(fvec2) Load 41 - 44: 43(ptr) AccessChain 40(ts) 18 18 - Store 44 42 - 46: 45(ptr) AccessChain 17(o) 26 - 47:14(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 46 - 49: 48(ptr) AccessChain 40(ts) 26 - 50: 12 CompositeExtract 47 0 - 52: 51(ptr) AccessChain 49 18 - Store 52 50 - 53: 13(int) CompositeExtract 47 1 - 55: 54(ptr) AccessChain 49 26 - Store 55 53 + 41(tin): 13(ptr) Variable Function + 70(ts): 19(ptr) Variable Function + 71(param): 13(ptr) Variable Function + 73(param): 19(ptr) Variable Function + 46: 45(ptr) AccessChain 44(tin_pos) 26 + 47: 7(fvec4) Load 46 + 48: 32(ptr) AccessChain 41(tin) 26 26 + Store 48 47 + 54: 53(ptr) AccessChain 52(tin) 26 26 + 55: 8(fvec2) Load 54 + 56: 38(ptr) AccessChain 41(tin) 26 34 + Store 56 55 + 57: 45(ptr) AccessChain 44(tin_pos) 34 + 58: 7(fvec4) Load 57 + 59: 32(ptr) AccessChain 41(tin) 34 26 + Store 59 58 + 60: 53(ptr) AccessChain 52(tin) 34 26 + 61: 8(fvec2) Load 60 + 62: 38(ptr) AccessChain 41(tin) 34 34 + Store 62 61 + 64: 45(ptr) AccessChain 44(tin_pos) 63 + 65: 7(fvec4) Load 64 + 66: 32(ptr) AccessChain 41(tin) 63 26 + Store 66 65 + 67: 53(ptr) AccessChain 52(tin) 63 26 + 68: 8(fvec2) Load 67 + 69: 38(ptr) AccessChain 41(tin) 63 34 + Store 69 68 + 72: 12 Load 41(tin) + Store 71(param) 72 + 74: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 71(param) 73(param) + Return + FunctionEnd +23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20 + 21(tin): 13(ptr) FunctionParameter + 22(ts): 19(ptr) FunctionParameter + 24: Label + 25(o): 19(ptr) Variable Function + 33: 32(ptr) AccessChain 25(o) 26 26 + Store 33 31 + 39: 38(ptr) AccessChain 25(o) 26 34 + Store 39 37 + 40: 18(GS_OUT) Load 25(o) + Store 22(ts) 40 EmitVertex Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out index 2ab8fdf7159..29818f141cd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.geom.out @@ -5,47 +5,88 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:14 Function Definition: main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; (temp void) +0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) 0:14 Function Parameters: -0:14 'i' (in 3-element array of structure{temp 4-component vector of float Position pos}) -0:14 'ts' (out structure{temp 4-component vector of float Position pos}) +0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) +0:14 'ts' ( out structure{ temp 4-component vector of float pos}) 0:? Sequence 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'x' (temp int) +0:17 move second child to first child ( temp int) +0:17 'x' ( temp int) 0:17 Constant: 0:17 0 (const int) 0:17 Loop with condition tested first 0:17 Loop Condition -0:17 Compare Less Than (temp bool) -0:17 'x' (temp int) +0:17 Compare Less Than ( temp bool) +0:17 'x' ( temp int) 0:17 Constant: 0:17 3 (const int) 0:17 Loop Body 0:? Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 pos: direct index for structure (temp 4-component vector of float) -0:18 'o' (temp structure{temp 4-component vector of float pos}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 pos: direct index for structure ( temp 4-component vector of float) +0:18 'o' ( temp structure{ temp 4-component vector of float pos}) +0:18 Constant: +0:18 0 (const int) +0:18 pos: direct index for structure ( temp 4-component vector of float) +0:18 indirect index ( temp structure{ temp 4-component vector of float pos}) +0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) +0:18 'x' ( temp int) 0:18 Constant: 0:18 0 (const int) -0:18 indirect index (temp 4-component vector of float Position) -0:18 'i_pos' (in 3-element array of 4-component vector of float Position) -0:18 'x' (temp int) 0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'ts_pos' (out 4-component vector of float Position) -0:19 pos: direct index for structure (temp 4-component vector of float) -0:19 'o' (temp structure{temp 4-component vector of float pos}) -0:19 Constant: -0:19 0 (const int) -0:19 EmitVertex (temp void) +0:19 move second child to first child ( temp structure{ temp 4-component vector of float pos}) +0:19 'ts' ( out structure{ temp 4-component vector of float pos}) +0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 EmitVertex ( temp void) 0:17 Loop Terminal Expression -0:17 Pre-Increment (temp int) -0:17 'x' (temp int) +0:17 Pre-Increment ( temp int) +0:17 'x' ( temp int) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 0 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 0 (const int) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 1 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 1 (const int) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 2 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 2 (const int) +0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) 0:? Linker Objects -0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position i_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_pos}) +0:? 'i' (layout( location=0) in 3-element array of structure{}) Linked geometry stage: @@ -57,136 +98,201 @@ max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence -0:14 Function Definition: main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; (temp void) +0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) 0:14 Function Parameters: -0:14 'i' (in 3-element array of structure{temp 4-component vector of float Position pos}) -0:14 'ts' (out structure{temp 4-component vector of float Position pos}) +0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) +0:14 'ts' ( out structure{ temp 4-component vector of float pos}) 0:? Sequence 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'x' (temp int) +0:17 move second child to first child ( temp int) +0:17 'x' ( temp int) 0:17 Constant: 0:17 0 (const int) 0:17 Loop with condition tested first 0:17 Loop Condition -0:17 Compare Less Than (temp bool) -0:17 'x' (temp int) +0:17 Compare Less Than ( temp bool) +0:17 'x' ( temp int) 0:17 Constant: 0:17 3 (const int) 0:17 Loop Body 0:? Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 pos: direct index for structure (temp 4-component vector of float) -0:18 'o' (temp structure{temp 4-component vector of float pos}) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 pos: direct index for structure ( temp 4-component vector of float) +0:18 'o' ( temp structure{ temp 4-component vector of float pos}) +0:18 Constant: +0:18 0 (const int) +0:18 pos: direct index for structure ( temp 4-component vector of float) +0:18 indirect index ( temp structure{ temp 4-component vector of float pos}) +0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos}) +0:18 'x' ( temp int) 0:18 Constant: 0:18 0 (const int) -0:18 indirect index (temp 4-component vector of float Position) -0:18 'i_pos' (in 3-element array of 4-component vector of float Position) -0:18 'x' (temp int) 0:19 Sequence -0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:? 'ts_pos' (out 4-component vector of float Position) -0:19 pos: direct index for structure (temp 4-component vector of float) -0:19 'o' (temp structure{temp 4-component vector of float pos}) -0:19 Constant: -0:19 0 (const int) -0:19 EmitVertex (temp void) +0:19 move second child to first child ( temp structure{ temp 4-component vector of float pos}) +0:19 'ts' ( out structure{ temp 4-component vector of float pos}) +0:19 'o' ( temp structure{ temp 4-component vector of float pos}) +0:19 EmitVertex ( temp void) 0:17 Loop Terminal Expression -0:17 Pre-Increment (temp int) -0:17 'x' (temp int) +0:17 Pre-Increment ( temp int) +0:17 'x' ( temp int) +0:14 Function Definition: main( ( temp void) +0:14 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 0 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 0 (const int) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 1 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 1 (const int) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 pos: direct index for structure ( temp 4-component vector of float) +0:14 direct index ( temp structure{ temp 4-component vector of float pos}) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:14 Constant: +0:14 2 (const int) +0:14 Constant: +0:14 0 (const int) +0:14 direct index ( in 4-component vector of float Position) +0:? 'i_pos' ( in 3-element array of 4-component vector of float Position) +0:14 Constant: +0:14 2 (const int) +0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void) +0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos}) +0:? 'ts' ( temp structure{ temp 4-component vector of float pos}) 0:? Linker Objects -0:? 'PerVertex_in' (in 3-element array of block{in 4-component vector of float Position i_pos}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position ts_pos}) +0:? 'i' (layout( location=0) in 3-element array of structure{}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 49 +// Id's are bound by 67 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 28 36 45 48 + EntryPoint Geometry 4 "main" 46 66 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 3 Name 4 "main" - Name 8 "x" - Name 21 "GS_OUT" - MemberName 21(GS_OUT) 0 "pos" - Name 23 "o" - Name 28 "i_pos" - Name 36 "ts_pos" - Name 42 "PerVertex_in" - MemberName 42(PerVertex_in) 0 "i_pos" - Name 45 "PerVertex_in" - Name 46 "PerVertex_out" - MemberName 46(PerVertex_out) 0 "ts_pos" - Name 48 "PerVertex_out" - Decorate 28(i_pos) BuiltIn Position - Decorate 36(ts_pos) BuiltIn Position - MemberDecorate 42(PerVertex_in) 0 BuiltIn Position - Decorate 42(PerVertex_in) Block - MemberDecorate 46(PerVertex_out) 0 BuiltIn Position - Decorate 46(PerVertex_out) Block + Name 8 "PS_IN" + MemberName 8(PS_IN) 0 "pos" + Name 13 "GS_OUT" + MemberName 13(GS_OUT) 0 "pos" + Name 18 "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;" + Name 16 "i" + Name 17 "ts" + Name 22 "x" + Name 33 "o" + Name 43 "i" + Name 46 "i_pos" + Name 58 "ts" + Name 59 "param" + Name 61 "param" + Name 63 "PS_IN" + Name 66 "i" + Decorate 46(i_pos) BuiltIn Position + Decorate 66(i) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Function 6(int) - 9: 6(int) Constant 0 - 16: 6(int) Constant 3 - 17: TypeBool - 19: TypeFloat 32 - 20: TypeVector 19(float) 4 - 21(GS_OUT): TypeStruct 20(fvec4) - 22: TypePointer Function 21(GS_OUT) - 24: TypeInt 32 0 - 25: 24(int) Constant 3 - 26: TypeArray 20(fvec4) 25 - 27: TypePointer Input 26 - 28(i_pos): 27(ptr) Variable Input - 30: TypePointer Input 20(fvec4) - 33: TypePointer Function 20(fvec4) - 35: TypePointer Output 20(fvec4) - 36(ts_pos): 35(ptr) Variable Output - 40: 6(int) Constant 1 -42(PerVertex_in): TypeStruct 20(fvec4) - 43: TypeArray 42(PerVertex_in) 25 - 44: TypePointer Input 43 -45(PerVertex_in): 44(ptr) Variable Input -46(PerVertex_out): TypeStruct 20(fvec4) - 47: TypePointer Output 46(PerVertex_out) -48(PerVertex_out): 47(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_IN): TypeStruct 7(fvec4) + 9: TypeInt 32 0 + 10: 9(int) Constant 3 + 11: TypeArray 8(PS_IN) 10 + 12: TypePointer Function 11 + 13(GS_OUT): TypeStruct 7(fvec4) + 14: TypePointer Function 13(GS_OUT) + 15: TypeFunction 2 12(ptr) 14(ptr) + 20: TypeInt 32 1 + 21: TypePointer Function 20(int) + 23: 20(int) Constant 0 + 30: 20(int) Constant 3 + 31: TypeBool + 35: TypePointer Function 7(fvec4) + 41: 20(int) Constant 1 + 44: TypeArray 7(fvec4) 10 + 45: TypePointer Input 44 + 46(i_pos): 45(ptr) Variable Input + 47: TypePointer Input 7(fvec4) + 54: 20(int) Constant 2 + 63(PS_IN): TypeStruct + 64: TypeArray 63(PS_IN) 10 + 65: TypePointer Input 64 + 66(i): 65(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 8(x): 7(ptr) Variable Function - 23(o): 22(ptr) Variable Function - Store 8(x) 9 - Branch 10 - 10: Label - LoopMerge 12 13 None - Branch 14 - 14: Label - 15: 6(int) Load 8(x) - 18: 17(bool) SLessThan 15 16 - BranchConditional 18 11 12 - 11: Label - 29: 6(int) Load 8(x) - 31: 30(ptr) AccessChain 28(i_pos) 29 - 32: 20(fvec4) Load 31 - 34: 33(ptr) AccessChain 23(o) 9 - Store 34 32 - 37: 33(ptr) AccessChain 23(o) 9 - 38: 20(fvec4) Load 37 - Store 36(ts_pos) 38 + 43(i): 12(ptr) Variable Function + 58(ts): 14(ptr) Variable Function + 59(param): 12(ptr) Variable Function + 61(param): 14(ptr) Variable Function + 48: 47(ptr) AccessChain 46(i_pos) 23 + 49: 7(fvec4) Load 48 + 50: 35(ptr) AccessChain 43(i) 23 23 + Store 50 49 + 51: 47(ptr) AccessChain 46(i_pos) 41 + 52: 7(fvec4) Load 51 + 53: 35(ptr) AccessChain 43(i) 41 23 + Store 53 52 + 55: 47(ptr) AccessChain 46(i_pos) 54 + 56: 7(fvec4) Load 55 + 57: 35(ptr) AccessChain 43(i) 54 23 + Store 57 56 + 60: 11 Load 43(i) + Store 59(param) 60 + 62: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 59(param) 61(param) + Return + FunctionEnd +18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;): 2 Function None 15 + 16(i): 12(ptr) FunctionParameter + 17(ts): 14(ptr) FunctionParameter + 19: Label + 22(x): 21(ptr) Variable Function + 33(o): 14(ptr) Variable Function + Store 22(x) 23 + Branch 24 + 24: Label + LoopMerge 26 27 None + Branch 28 + 28: Label + 29: 20(int) Load 22(x) + 32: 31(bool) SLessThan 29 30 + BranchConditional 32 25 26 + 25: Label + 34: 20(int) Load 22(x) + 36: 35(ptr) AccessChain 16(i) 34 23 + 37: 7(fvec4) Load 36 + 38: 35(ptr) AccessChain 33(o) 23 + Store 38 37 + 39: 13(GS_OUT) Load 33(o) + Store 17(ts) 39 EmitVertex - Branch 13 - 13: Label - 39: 6(int) Load 8(x) - 41: 6(int) IAdd 39 40 - Store 8(x) 41 - Branch 10 - 12: Label + Branch 27 + 27: Label + 40: 20(int) Load 22(x) + 42: 20(int) IAdd 40 41 + Store 22(x) 42 + Branch 24 + 26: Label Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out index 29fb9f50230..822f819970b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.struct.split.trivial.vert.out @@ -1,32 +1,50 @@ hlsl.struct.split.trivial.vert Shader version: 450 0:? Sequence -0:16 Function Definition: main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 0:16 Function Parameters: -0:16 'vsin' (in structure{temp 4-component vector of float Pos_in}) -0:16 'Pos_loose' (in 4-component vector of float Position) +0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) +0:16 'Pos_loose' ( in 4-component vector of float) 0:? Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 Pos: direct index for structure (temp 4-component vector of float) -0:19 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 Pos: direct index for structure ( temp 4-component vector of float) +0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:19 Constant: 0:19 0 (const int) -0:19 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) -0:19 'Pos_loose' (in 4-component vector of float Position) -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:21 Pos: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:19 add ( temp 4-component vector of float) +0:19 Pos_in: direct index for structure ( temp 4-component vector of float) +0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) +0:19 Constant: +0:19 0 (const int) +0:19 'Pos_loose' ( in 4-component vector of float) +0:21 Branch: Return with expression +0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:16 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) +0:16 Constant: +0:16 0 (const int) +0:? 'Pos_in' (layout( location=0) in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:16 Pos: direct index for structure ( temp 4-component vector of float) +0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) +0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) +0:? 'Pos_in' (layout( location=0) in 4-component vector of float) +0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) Linked vertex stage: @@ -34,83 +52,132 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:16 Function Definition: main(struct-VS_INPUT-vf41;vf4; (temp structure{temp 4-component vector of float Position Pos}) +0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) 0:16 Function Parameters: -0:16 'vsin' (in structure{temp 4-component vector of float Pos_in}) -0:16 'Pos_loose' (in 4-component vector of float Position) +0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) +0:16 'Pos_loose' ( in 4-component vector of float) 0:? Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 Pos: direct index for structure (temp 4-component vector of float) -0:19 'vsout' (temp structure{temp 4-component vector of float Pos}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 Pos: direct index for structure ( temp 4-component vector of float) +0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:19 Constant: 0:19 0 (const int) -0:19 add (temp 4-component vector of float) -0:? 'Pos_in' (in 4-component vector of float Position) -0:19 'Pos_loose' (in 4-component vector of float Position) -0:21 Sequence -0:21 Sequence -0:21 move second child to first child (temp 4-component vector of float) -0:? 'Pos' (out 4-component vector of float Position) -0:21 Pos: direct index for structure (temp 4-component vector of float) -0:21 'vsout' (temp structure{temp 4-component vector of float Pos}) -0:21 Constant: -0:21 0 (const int) -0:21 Branch: Return +0:19 add ( temp 4-component vector of float) +0:19 Pos_in: direct index for structure ( temp 4-component vector of float) +0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) +0:19 Constant: +0:19 0 (const int) +0:19 'Pos_loose' ( in 4-component vector of float) +0:21 Branch: Return with expression +0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:16 Pos_in: direct index for structure ( temp 4-component vector of float) +0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) +0:16 Constant: +0:16 0 (const int) +0:? 'Pos_in' (layout( location=0) in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) +0:16 Sequence +0:16 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput_Pos' ( out 4-component vector of float Position) +0:16 Pos: direct index for structure ( temp 4-component vector of float) +0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) +0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) +0:? 'Pos_loose' ( temp 4-component vector of float) +0:16 Constant: +0:16 0 (const int) 0:? Linker Objects -0:? 'Pos_in' (in 4-component vector of float Position) -0:? 'Pos_loose' (in 4-component vector of float Position) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position Pos}) +0:? '@entryPointOutput' (layout( location=0) out structure{}) +0:? 'Pos_in' (layout( location=0) in 4-component vector of float) +0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 29 +// Id's are bound by 48 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 14 16 22 28 + EntryPoint Vertex 4 "main" 31 35 38 47 Name 4 "main" - Name 8 "VS_OUTPUT" - MemberName 8(VS_OUTPUT) 0 "Pos" - Name 10 "vsout" - Name 14 "Pos_in" - Name 16 "Pos_loose" - Name 22 "Pos" - Name 26 "PerVertex_out" - MemberName 26(PerVertex_out) 0 "Pos" - Name 28 "PerVertex_out" - Decorate 14(Pos_in) BuiltIn Position - Decorate 16(Pos_loose) BuiltIn Position - Decorate 22(Pos) BuiltIn Position - MemberDecorate 26(PerVertex_out) 0 BuiltIn Position - Decorate 26(PerVertex_out) Block + Name 8 "VS_INPUT" + MemberName 8(VS_INPUT) 0 "Pos_in" + Name 11 "VS_OUTPUT" + MemberName 11(VS_OUTPUT) 0 "Pos" + Name 15 "@main(struct-VS_INPUT-vf41;vf4;" + Name 13 "vsin" + Name 14 "Pos_loose" + Name 18 "vsout" + Name 29 "vsin" + Name 31 "Pos_in" + Name 34 "Pos_loose" + Name 35 "Pos_loose" + Name 38 "@entryPointOutput_Pos" + Name 39 "param" + Name 41 "param" + Name 45 "VS_OUTPUT" + Name 47 "@entryPointOutput" + Decorate 31(Pos_in) Location 0 + Decorate 35(Pos_loose) Location 1 + Decorate 38(@entryPointOutput_Pos) BuiltIn Position + Decorate 47(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8(VS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(VS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13: TypePointer Input 7(fvec4) - 14(Pos_in): 13(ptr) Variable Input - 16(Pos_loose): 13(ptr) Variable Input - 19: TypePointer Function 7(fvec4) - 21: TypePointer Output 7(fvec4) - 22(Pos): 21(ptr) Variable Output -26(PerVertex_out): TypeStruct 7(fvec4) - 27: TypePointer Output 26(PerVertex_out) -28(PerVertex_out): 27(ptr) Variable Output + 8(VS_INPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(VS_INPUT) + 10: TypePointer Function 7(fvec4) + 11(VS_OUTPUT): TypeStruct 7(fvec4) + 12: TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr) + 17: TypePointer Function 11(VS_OUTPUT) + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 30: TypePointer Input 7(fvec4) + 31(Pos_in): 30(ptr) Variable Input + 35(Pos_loose): 30(ptr) Variable Input + 37: TypePointer Output 7(fvec4) +38(@entryPointOutput_Pos): 37(ptr) Variable Output + 45(VS_OUTPUT): TypeStruct + 46: TypePointer Output 45(VS_OUTPUT) +47(@entryPointOutput): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 10(vsout): 9(ptr) Variable Function - 15: 7(fvec4) Load 14(Pos_in) - 17: 7(fvec4) Load 16(Pos_loose) - 18: 7(fvec4) FAdd 15 17 - 20: 19(ptr) AccessChain 10(vsout) 12 - Store 20 18 - 23: 19(ptr) AccessChain 10(vsout) 12 - 24: 7(fvec4) Load 23 - Store 22(Pos) 24 + 29(vsin): 9(ptr) Variable Function + 34(Pos_loose): 10(ptr) Variable Function + 39(param): 9(ptr) Variable Function + 41(param): 10(ptr) Variable Function + 32: 7(fvec4) Load 31(Pos_in) + 33: 10(ptr) AccessChain 29(vsin) 20 + Store 33 32 + 36: 7(fvec4) Load 35(Pos_loose) + Store 34(Pos_loose) 36 + 40: 8(VS_INPUT) Load 29(vsin) + Store 39(param) 40 + 42: 7(fvec4) Load 34(Pos_loose) + Store 41(param) 42 + 43:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 39(param) 41(param) + 44: 7(fvec4) CompositeExtract 43 0 + Store 38(@entryPointOutput_Pos) 44 Return FunctionEnd +15(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12 + 13(vsin): 9(ptr) FunctionParameter + 14(Pos_loose): 10(ptr) FunctionParameter + 16: Label + 18(vsout): 17(ptr) Variable Function + 21: 10(ptr) AccessChain 13(vsin) 20 + 22: 7(fvec4) Load 21 + 23: 7(fvec4) Load 14(Pos_loose) + 24: 7(fvec4) FAdd 22 23 + 25: 10(ptr) AccessChain 18(vsout) 20 + Store 25 24 + 26:11(VS_OUTPUT) Load 18(vsout) + ReturnValue 26 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out new file mode 100644 index 00000000000..64c60ed671f --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structIoFourWay.frag.out @@ -0,0 +1,255 @@ +hlsl.structIoFourWay.frag +Shader version: 450 +gl_FragCoord origin is upper left +using depth_greater +0:? Sequence +0:15 Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Parameters: +0:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? Sequence +0:17 Branch: Return with expression +0:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Sequence +0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 move second child to first child ( temp float) +0:? 'f' (layout( location=0) out float) +0:15 f: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child ( temp float) +0:? 'g' (layout( location=1) out float) +0:15 g: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child ( temp float) +0:? 'd' ( out float FragDepth) +0:15 d: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 2 (const int) +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'normal' (layout( location=2) out 4-component vector of float) +0:15 normal: direct index for structure ( temp 4-component vector of float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 3 (const int) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} s}) +0:? 'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal} t}) +0:? 'f' (layout( location=0) out float) +0:? 'g' (layout( location=1) out float) +0:? 'd' ( out float FragDepth) +0:? 'normal' (layout( location=2) out 4-component vector of float) +0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +using depth_greater +0:? Sequence +0:15 Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Parameters: +0:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? Sequence +0:17 Branch: Return with expression +0:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Definition: main( ( temp void) +0:15 Function Parameters: +0:? Sequence +0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Sequence +0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 move second child to first child ( temp float) +0:? 'f' (layout( location=0) out float) +0:15 f: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 0 (const int) +0:15 move second child to first child ( temp float) +0:? 'g' (layout( location=1) out float) +0:15 g: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 1 (const int) +0:15 move second child to first child ( temp float) +0:? 'd' ( out float FragDepth) +0:15 d: direct index for structure ( temp float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 2 (const int) +0:15 move second child to first child ( temp 4-component vector of float) +0:? 'normal' (layout( location=2) out 4-component vector of float) +0:15 normal: direct index for structure ( temp 4-component vector of float) +0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) +0:15 Constant: +0:15 3 (const int) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} s}) +0:? 'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal} t}) +0:? 'f' (layout( location=0) out float) +0:? 'g' (layout( location=1) out float) +0:? 'd' ( out float FragDepth) +0:? 'normal' (layout( location=2) out 4-component vector of float) +0:? 't' (layout( location=0) in structure{ temp float f, centroid temp float g, temp float d, temp 4-component vector of float normal}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 64 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 21 43 46 49 53 + ExecutionMode 4 OriginUpperLeft + ExecutionMode 4 DepthGreater + Name 4 "main" + Name 8 "T" + MemberName 8(T) 0 "f" + MemberName 8(T) 1 "g" + MemberName 8(T) 2 "d" + MemberName 8(T) 3 "normal" + Name 12 "@main(struct-T-f1-f1-f1-vf41;" + Name 11 "t" + Name 14 "local" + Name 18 "t" + Name 19 "T" + MemberName 19(T) 0 "f" + MemberName 19(T) 1 "g" + MemberName 19(T) 2 "d" + MemberName 19(T) 3 "normal" + Name 21 "t" + Name 38 "flattenTemp" + Name 39 "param" + Name 43 "f" + Name 46 "g" + Name 49 "d" + Name 53 "normal" + Name 56 "T" + MemberName 56(T) 0 "f" + MemberName 56(T) 1 "g" + MemberName 56(T) 2 "d" + MemberName 56(T) 3 "normal" + Name 57 "$Global" + MemberName 57($Global) 0 "s" + Name 59 "" + Name 60 "T" + MemberName 60(T) 0 "f" + MemberName 60(T) 1 "g" + MemberName 60(T) 2 "d" + MemberName 60(T) 3 "normal" + Name 61 "buff" + MemberName 61(buff) 0 "t" + Name 63 "" + MemberDecorate 19(T) 1 Centroid + Decorate 21(t) Location 0 + Decorate 43(f) Location 0 + Decorate 46(g) Location 1 + Decorate 49(d) BuiltIn FragDepth + Decorate 53(normal) Location 2 + MemberDecorate 56(T) 0 Offset 68 + MemberDecorate 56(T) 1 Offset 72 + MemberDecorate 56(T) 2 Offset 76 + MemberDecorate 56(T) 3 Offset 80 + MemberDecorate 57($Global) 0 Offset 0 + Decorate 57($Global) Block + Decorate 59 DescriptorSet 0 + MemberDecorate 60(T) 0 Offset 0 + MemberDecorate 60(T) 1 Offset 4 + MemberDecorate 60(T) 2 Offset 8 + MemberDecorate 60(T) 3 Offset 16 + MemberDecorate 61(buff) 0 Offset 96 + Decorate 61(buff) Block + Decorate 63 DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) + 9: TypePointer Function 8(T) + 10: TypeFunction 8(T) 9(ptr) + 19(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) + 20: TypePointer Input 19(T) + 21(t): 20(ptr) Variable Input + 24: TypeInt 32 1 + 25: 24(int) Constant 0 + 26: TypePointer Function 6(float) + 29: 24(int) Constant 1 + 32: 24(int) Constant 2 + 35: 24(int) Constant 3 + 36: TypePointer Function 7(fvec4) + 42: TypePointer Output 6(float) + 43(f): 42(ptr) Variable Output + 46(g): 42(ptr) Variable Output + 49(d): 42(ptr) Variable Output + 52: TypePointer Output 7(fvec4) + 53(normal): 52(ptr) Variable Output + 56(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) + 57($Global): TypeStruct 56(T) + 58: TypePointer Uniform 57($Global) + 59: 58(ptr) Variable Uniform + 60(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) + 61(buff): TypeStruct 60(T) + 62: TypePointer Uniform 61(buff) + 63: 62(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 18(t): 9(ptr) Variable Function + 38(flattenTemp): 9(ptr) Variable Function + 39(param): 9(ptr) Variable Function + 22: 19(T) Load 21(t) + 23: 6(float) CompositeExtract 22 0 + 27: 26(ptr) AccessChain 18(t) 25 + Store 27 23 + 28: 6(float) CompositeExtract 22 1 + 30: 26(ptr) AccessChain 18(t) 29 + Store 30 28 + 31: 6(float) CompositeExtract 22 2 + 33: 26(ptr) AccessChain 18(t) 32 + Store 33 31 + 34: 7(fvec4) CompositeExtract 22 3 + 37: 36(ptr) AccessChain 18(t) 35 + Store 37 34 + 40: 8(T) Load 18(t) + Store 39(param) 40 + 41: 8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 39(param) + Store 38(flattenTemp) 41 + 44: 26(ptr) AccessChain 38(flattenTemp) 25 + 45: 6(float) Load 44 + Store 43(f) 45 + 47: 26(ptr) AccessChain 38(flattenTemp) 29 + 48: 6(float) Load 47 + Store 46(g) 48 + 50: 26(ptr) AccessChain 38(flattenTemp) 32 + 51: 6(float) Load 50 + Store 49(d) 51 + 54: 36(ptr) AccessChain 38(flattenTemp) 35 + 55: 7(fvec4) Load 54 + Store 53(normal) 55 + Return + FunctionEnd +12(@main(struct-T-f1-f1-f1-vf41;): 8(T) Function None 10 + 11(t): 9(ptr) FunctionParameter + 13: Label + 14(local): 9(ptr) Variable Function + 15: 8(T) Load 14(local) + ReturnValue 15 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out new file mode 100644 index 00000000000..0fc40325c62 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structStructName.frag.out @@ -0,0 +1,84 @@ +hlsl.structStructName.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: @main( ( temp int) +0:4 Function Parameters: +0:? Sequence +0:6 Branch: Return with expression +0:6 s: direct index for structure ( temp int) +0:6 't' ( temp structure{ temp int s}) +0:6 Constant: +0:6 0 (const int) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child ( temp int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:4 Function Call: @main( ( temp int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out int) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: @main( ( temp int) +0:4 Function Parameters: +0:? Sequence +0:6 Branch: Return with expression +0:6 s: direct index for structure ( temp int) +0:6 't' ( temp structure{ temp int s}) +0:6 Constant: +0:6 0 (const int) +0:4 Function Definition: main( ( temp void) +0:4 Function Parameters: +0:? Sequence +0:4 move second child to first child ( temp int) +0:? '@entryPointOutput' (layout( location=0) out int) +0:4 Function Call: @main( ( temp int) +0:? Linker Objects +0:? '@entryPointOutput' (layout( location=0) out int) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 22 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 20 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "@main(" + Name 10 "S" + MemberName 10(S) 0 "s" + Name 12 "t" + Name 20 "@entryPointOutput" + Decorate 20(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeFunction 6(int) + 10(S): TypeStruct 6(int) + 11: TypePointer Function 10(S) + 13: 6(int) Constant 0 + 14: TypePointer Function 6(int) + 19: TypePointer Output 6(int) +20(@entryPointOutput): 19(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 21: 6(int) FunctionCall 8(@main() + Store 20(@entryPointOutput) 21 + Return + FunctionEnd + 8(@main(): 6(int) Function None 7 + 9: Label + 12(t): 11(ptr) Variable Function + 15: 14(ptr) AccessChain 12(t) 13 + 16: 6(int) Load 15 + ReturnValue 16 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out index 6b22d6638a0..7c84d37fc37 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out @@ -2,48 +2,63 @@ hlsl.structarray.flatten.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:23 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:23 Function Parameters: -0:23 'ps_output' (out structure{temp 4-component vector of float color}) +0:23 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:26 add (temp 4-component vector of float) -0:25 add (temp 4-component vector of float) -0:25 texture (temp 4-component vector of float) -0:25 Construct combined texture-sampler (temp sampler1D) -0:? 'tex' (uniform texture1D) -0:? 'samp' (uniform sampler) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 color: direct index for structure ( temp 4-component vector of float) +0:24 'ps_output' ( out structure{ temp 4-component vector of float color}) +0:24 Constant: +0:24 0 (const int) +0:26 add ( temp 4-component vector of float) +0:25 add ( temp 4-component vector of float) +0:25 texture ( temp 4-component vector of float) +0:25 Construct combined texture-sampler ( temp sampler1D) +0:? 'tex' ( uniform texture1D) +0:? 'samp' ( uniform sampler) 0:25 Constant: 0:25 0.500000 -0:26 texture (temp 4-component vector of float) -0:26 Construct combined texture-sampler (temp sampler1D) -0:? 'g_texdata_array[1].tex' (uniform texture1D) -0:? 'g_texdata_array[1].samp' (uniform sampler) +0:26 texture ( temp 4-component vector of float) +0:26 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_texdata_array[1].tex' ( uniform texture1D) +0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:26 Constant: 0:26 0.400000 -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1D) -0:? 'g_texdata_array2[1].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_texdata_array2[1].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[1].samp[0]' ( uniform sampler) 0:27 Constant: 0:27 0.300000 +0:23 Function Definition: main( ( temp void) +0:23 Function Parameters: +0:? Sequence +0:23 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:23 Sequence +0:23 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:23 color: direct index for structure ( temp 4-component vector of float) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:23 Constant: +0:23 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_samp' (uniform sampler) -0:? 'g_tex' (uniform texture1D) -0:? 'g_texdata_array2[0].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[0].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[0].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[0].tex[1]' (uniform texture1D) -0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[1].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[1].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[1].tex[1]' (uniform texture1D) -0:? 'g_texdata_array2[2].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[2].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[2].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[2].tex[1]' (uniform texture1D) +0:? 'g_samp' ( uniform sampler) +0:? 'g_tex' ( uniform texture1D) +0:? 'g_texdata_array2[0].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[0].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[0].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[0].tex[1]' ( uniform texture1D) +0:? 'g_texdata_array2[1].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[1].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[1].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[1].tex[1]' ( uniform texture1D) +0:? 'g_texdata_array2[2].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[2].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[2].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[2].tex[1]' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -52,146 +67,187 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:23 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) +0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:23 Function Parameters: -0:23 'ps_output' (out structure{temp 4-component vector of float color}) +0:23 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:26 add (temp 4-component vector of float) -0:25 add (temp 4-component vector of float) -0:25 texture (temp 4-component vector of float) -0:25 Construct combined texture-sampler (temp sampler1D) -0:? 'tex' (uniform texture1D) -0:? 'samp' (uniform sampler) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 color: direct index for structure ( temp 4-component vector of float) +0:24 'ps_output' ( out structure{ temp 4-component vector of float color}) +0:24 Constant: +0:24 0 (const int) +0:26 add ( temp 4-component vector of float) +0:25 add ( temp 4-component vector of float) +0:25 texture ( temp 4-component vector of float) +0:25 Construct combined texture-sampler ( temp sampler1D) +0:? 'tex' ( uniform texture1D) +0:? 'samp' ( uniform sampler) 0:25 Constant: 0:25 0.500000 -0:26 texture (temp 4-component vector of float) -0:26 Construct combined texture-sampler (temp sampler1D) -0:? 'g_texdata_array[1].tex' (uniform texture1D) -0:? 'g_texdata_array[1].samp' (uniform sampler) +0:26 texture ( temp 4-component vector of float) +0:26 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_texdata_array[1].tex' ( uniform texture1D) +0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:26 Constant: 0:26 0.400000 -0:27 texture (temp 4-component vector of float) -0:27 Construct combined texture-sampler (temp sampler1D) -0:? 'g_texdata_array2[1].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) +0:27 texture ( temp 4-component vector of float) +0:27 Construct combined texture-sampler ( temp sampler1D) +0:? 'g_texdata_array2[1].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[1].samp[0]' ( uniform sampler) 0:27 Constant: 0:27 0.300000 +0:23 Function Definition: main( ( temp void) +0:23 Function Parameters: +0:? Sequence +0:23 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:23 Sequence +0:23 move second child to first child ( temp 4-component vector of float) +0:? 'color' (layout( location=0) out 4-component vector of float) +0:23 color: direct index for structure ( temp 4-component vector of float) +0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) +0:23 Constant: +0:23 0 (const int) 0:? Linker Objects -0:? 'color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_samp' (uniform sampler) -0:? 'g_tex' (uniform texture1D) -0:? 'g_texdata_array2[0].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[0].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[0].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[0].tex[1]' (uniform texture1D) -0:? 'g_texdata_array2[1].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[1].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[1].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[1].tex[1]' (uniform texture1D) -0:? 'g_texdata_array2[2].samp[0]' (uniform sampler) -0:? 'g_texdata_array2[2].samp[1]' (uniform sampler) -0:? 'g_texdata_array2[2].tex[0]' (uniform texture1D) -0:? 'g_texdata_array2[2].tex[1]' (uniform texture1D) +0:? 'g_samp' ( uniform sampler) +0:? 'g_tex' ( uniform texture1D) +0:? 'g_texdata_array2[0].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[0].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[0].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[0].tex[1]' ( uniform texture1D) +0:? 'g_texdata_array2[1].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[1].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[1].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[1].tex[1]' ( uniform texture1D) +0:? 'g_texdata_array2[2].samp[0]' ( uniform sampler) +0:? 'g_texdata_array2[2].samp[1]' ( uniform sampler) +0:? 'g_texdata_array2[2].tex[0]' ( uniform texture1D) +0:? 'g_texdata_array2[2].tex[1]' ( uniform texture1D) +0:? 'color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 50 +// Id's are bound by 66 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 51 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "color" - Name 12 "tex" - Name 16 "samp" - Name 22 "g_texdata_array[1].tex" - Name 24 "g_texdata_array[1].samp" - Name 30 "g_texdata_array2[1].tex[0]" - Name 32 "g_texdata_array2[1].samp[0]" - Name 38 "g_samp" - Name 39 "g_tex" - Name 40 "g_texdata_array2[0].samp[0]" - Name 41 "g_texdata_array2[0].samp[1]" - Name 42 "g_texdata_array2[0].tex[0]" - Name 43 "g_texdata_array2[0].tex[1]" - Name 44 "g_texdata_array2[1].samp[1]" - Name 45 "g_texdata_array2[1].tex[1]" - Name 46 "g_texdata_array2[2].samp[0]" - Name 47 "g_texdata_array2[2].samp[1]" - Name 48 "g_texdata_array2[2].tex[0]" - Name 49 "g_texdata_array2[2].tex[1]" - Decorate 9(color) Location 0 - Decorate 12(tex) DescriptorSet 0 - Decorate 16(samp) DescriptorSet 0 - Decorate 22(g_texdata_array[1].tex) DescriptorSet 0 - Decorate 24(g_texdata_array[1].samp) DescriptorSet 0 - Decorate 30(g_texdata_array2[1].tex[0]) DescriptorSet 0 - Decorate 32(g_texdata_array2[1].samp[0]) DescriptorSet 0 - Decorate 38(g_samp) DescriptorSet 0 - Decorate 39(g_tex) DescriptorSet 0 - Decorate 40(g_texdata_array2[0].samp[0]) DescriptorSet 0 - Decorate 41(g_texdata_array2[0].samp[1]) DescriptorSet 0 - Decorate 42(g_texdata_array2[0].tex[0]) DescriptorSet 0 - Decorate 43(g_texdata_array2[0].tex[1]) DescriptorSet 0 - Decorate 44(g_texdata_array2[1].samp[1]) DescriptorSet 0 - Decorate 45(g_texdata_array2[1].tex[1]) DescriptorSet 0 - Decorate 46(g_texdata_array2[2].samp[0]) DescriptorSet 0 - Decorate 47(g_texdata_array2[2].samp[1]) DescriptorSet 0 - Decorate 48(g_texdata_array2[2].tex[0]) DescriptorSet 0 - Decorate 49(g_texdata_array2[2].tex[1]) DescriptorSet 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "color" + Name 12 "@main(struct-PS_OUTPUT-vf41;" + Name 11 "ps_output" + Name 18 "tex" + Name 22 "samp" + Name 28 "g_texdata_array[1].tex" + Name 30 "g_texdata_array[1].samp" + Name 36 "g_texdata_array2[1].tex[0]" + Name 38 "g_texdata_array2[1].samp[0]" + Name 46 "ps_output" + Name 47 "param" + Name 51 "color" + Name 54 "g_samp" + Name 55 "g_tex" + Name 56 "g_texdata_array2[0].samp[0]" + Name 57 "g_texdata_array2[0].samp[1]" + Name 58 "g_texdata_array2[0].tex[0]" + Name 59 "g_texdata_array2[0].tex[1]" + Name 60 "g_texdata_array2[1].samp[1]" + Name 61 "g_texdata_array2[1].tex[1]" + Name 62 "g_texdata_array2[2].samp[0]" + Name 63 "g_texdata_array2[2].samp[1]" + Name 64 "g_texdata_array2[2].tex[0]" + Name 65 "g_texdata_array2[2].tex[1]" + Decorate 18(tex) DescriptorSet 0 + Decorate 22(samp) DescriptorSet 0 + Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 + Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 + Decorate 36(g_texdata_array2[1].tex[0]) DescriptorSet 0 + Decorate 38(g_texdata_array2[1].samp[0]) DescriptorSet 0 + Decorate 51(color) Location 0 + Decorate 54(g_samp) DescriptorSet 0 + Decorate 55(g_tex) DescriptorSet 0 + Decorate 56(g_texdata_array2[0].samp[0]) DescriptorSet 0 + Decorate 57(g_texdata_array2[0].samp[1]) DescriptorSet 0 + Decorate 58(g_texdata_array2[0].tex[0]) DescriptorSet 0 + Decorate 59(g_texdata_array2[0].tex[1]) DescriptorSet 0 + Decorate 60(g_texdata_array2[1].samp[1]) DescriptorSet 0 + Decorate 61(g_texdata_array2[1].tex[1]) DescriptorSet 0 + Decorate 62(g_texdata_array2[2].samp[0]) DescriptorSet 0 + Decorate 63(g_texdata_array2[2].samp[1]) DescriptorSet 0 + Decorate 64(g_texdata_array2[2].tex[0]) DescriptorSet 0 + Decorate 65(g_texdata_array2[2].tex[1]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) - 9(color): 8(ptr) Variable Output - 10: TypeImage 6(float) 1D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(tex): 11(ptr) Variable UniformConstant - 14: TypeSampler - 15: TypePointer UniformConstant 14 - 16(samp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: 6(float) Constant 1056964608 -22(g_texdata_array[1].tex): 11(ptr) Variable UniformConstant -24(g_texdata_array[1].samp): 15(ptr) Variable UniformConstant - 27: 6(float) Constant 1053609165 -30(g_texdata_array2[1].tex[0]): 11(ptr) Variable UniformConstant -32(g_texdata_array2[1].samp[0]): 15(ptr) Variable UniformConstant - 35: 6(float) Constant 1050253722 - 38(g_samp): 15(ptr) Variable UniformConstant - 39(g_tex): 11(ptr) Variable UniformConstant -40(g_texdata_array2[0].samp[0]): 15(ptr) Variable UniformConstant -41(g_texdata_array2[0].samp[1]): 15(ptr) Variable UniformConstant -42(g_texdata_array2[0].tex[0]): 11(ptr) Variable UniformConstant -43(g_texdata_array2[0].tex[1]): 11(ptr) Variable UniformConstant -44(g_texdata_array2[1].samp[1]): 15(ptr) Variable UniformConstant -45(g_texdata_array2[1].tex[1]): 11(ptr) Variable UniformConstant -46(g_texdata_array2[2].samp[0]): 15(ptr) Variable UniformConstant -47(g_texdata_array2[2].samp[1]): 15(ptr) Variable UniformConstant -48(g_texdata_array2[2].tex[0]): 11(ptr) Variable UniformConstant -49(g_texdata_array2[2].tex[1]): 11(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(PS_OUTPUT) + 10: TypeFunction 2 9(ptr) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: TypeImage 6(float) 1D sampled format:Unknown + 17: TypePointer UniformConstant 16 + 18(tex): 17(ptr) Variable UniformConstant + 20: TypeSampler + 21: TypePointer UniformConstant 20 + 22(samp): 21(ptr) Variable UniformConstant + 24: TypeSampledImage 16 + 26: 6(float) Constant 1056964608 +28(g_texdata_array[1].tex): 17(ptr) Variable UniformConstant +30(g_texdata_array[1].samp): 21(ptr) Variable UniformConstant + 33: 6(float) Constant 1053609165 +36(g_texdata_array2[1].tex[0]): 17(ptr) Variable UniformConstant +38(g_texdata_array2[1].samp[0]): 21(ptr) Variable UniformConstant + 41: 6(float) Constant 1050253722 + 44: TypePointer Function 7(fvec4) + 50: TypePointer Output 7(fvec4) + 51(color): 50(ptr) Variable Output + 54(g_samp): 21(ptr) Variable UniformConstant + 55(g_tex): 17(ptr) Variable UniformConstant +56(g_texdata_array2[0].samp[0]): 21(ptr) Variable UniformConstant +57(g_texdata_array2[0].samp[1]): 21(ptr) Variable UniformConstant +58(g_texdata_array2[0].tex[0]): 17(ptr) Variable UniformConstant +59(g_texdata_array2[0].tex[1]): 17(ptr) Variable UniformConstant +60(g_texdata_array2[1].samp[1]): 21(ptr) Variable UniformConstant +61(g_texdata_array2[1].tex[1]): 17(ptr) Variable UniformConstant +62(g_texdata_array2[2].samp[0]): 21(ptr) Variable UniformConstant +63(g_texdata_array2[2].samp[1]): 21(ptr) Variable UniformConstant +64(g_texdata_array2[2].tex[0]): 17(ptr) Variable UniformConstant +65(g_texdata_array2[2].tex[1]): 17(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 13: 10 Load 12(tex) - 17: 14 Load 16(samp) - 19: 18 SampledImage 13 17 - 21: 7(fvec4) ImageSampleImplicitLod 19 20 - 23: 10 Load 22(g_texdata_array[1].tex) - 25: 14 Load 24(g_texdata_array[1].samp) - 26: 18 SampledImage 23 25 - 28: 7(fvec4) ImageSampleImplicitLod 26 27 - 29: 7(fvec4) FAdd 21 28 - 31: 10 Load 30(g_texdata_array2[1].tex[0]) - 33: 14 Load 32(g_texdata_array2[1].samp[0]) - 34: 18 SampledImage 31 33 - 36: 7(fvec4) ImageSampleImplicitLod 34 35 - 37: 7(fvec4) FAdd 29 36 - Store 9(color) 37 + 46(ps_output): 9(ptr) Variable Function + 47(param): 9(ptr) Variable Function + 48: 2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 47(param) + 49:8(PS_OUTPUT) Load 47(param) + Store 46(ps_output) 49 + 52: 44(ptr) AccessChain 46(ps_output) 15 + 53: 7(fvec4) Load 52 + Store 51(color) 53 + Return + FunctionEnd +12(@main(struct-PS_OUTPUT-vf41;): 2 Function None 10 + 11(ps_output): 9(ptr) FunctionParameter + 13: Label + 19: 16 Load 18(tex) + 23: 20 Load 22(samp) + 25: 24 SampledImage 19 23 + 27: 7(fvec4) ImageSampleImplicitLod 25 26 + 29: 16 Load 28(g_texdata_array[1].tex) + 31: 20 Load 30(g_texdata_array[1].samp) + 32: 24 SampledImage 29 31 + 34: 7(fvec4) ImageSampleImplicitLod 32 33 + 35: 7(fvec4) FAdd 27 34 + 37: 16 Load 36(g_texdata_array2[1].tex[0]) + 39: 20 Load 38(g_texdata_array2[1].samp[0]) + 40: 24 SampledImage 37 39 + 42: 7(fvec4) ImageSampleImplicitLod 40 41 + 43: 7(fvec4) FAdd 35 42 + 45: 44(ptr) AccessChain 11(ps_output) 15 + Store 45 43 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out index 626ab8dde7e..1af304d754c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out @@ -5,78 +5,63 @@ max_vertices = 4 input primitive = lines output primitive = triangle_strip 0:? Sequence -0:16 Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void) 0:16 Function Parameters: -0:16 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 color: direct index for structure ( temp 4-component vector of float) +0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:19 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 color: direct index for structure ( temp 4-component vector of float) +0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 1 (const int) -0:20 move second child to first child (temp 2-component vector of float) -0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 move second child to first child ( temp 2-component vector of float) +0:20 uv: direct index for structure ( temp 2-component vector of float) +0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 2 (const int) -0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:20 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 uv: direct index for structure ( temp 2-component vector of float) +0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 2 (const int) -0:21 move second child to first child (temp 4-component vector of float) -0:21 position: direct index for structure (temp 4-component vector of float) -0:21 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 position: direct index for structure ( temp 4-component vector of float) +0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 0 (const int) -0:21 position: direct index for structure (temp 4-component vector of float) -0:21 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:21 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 position: direct index for structure ( temp 4-component vector of float) +0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'outStream_position' (out 4-component vector of float Position) -0:22 position: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp 4-component vector of float) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 move second child to first child (temp 2-component vector of float) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 2 (const int) -0:22 EmitVertex (temp void) +0:22 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 EmitVertex ( temp void) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void) +0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects -0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position}) +0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) Linked geometry stage: @@ -88,171 +73,148 @@ max_vertices = 4 input primitive = lines output primitive = triangle_strip 0:? Sequence -0:16 Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void) +0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void) 0:16 Function Parameters: -0:16 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 color: direct index for structure ( temp 4-component vector of float) +0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) -0:19 color: direct index for structure (temp 4-component vector of float) -0:19 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:19 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 color: direct index for structure ( temp 4-component vector of float) +0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 1 (const int) -0:20 move second child to first child (temp 2-component vector of float) -0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 move second child to first child ( temp 2-component vector of float) +0:20 uv: direct index for structure ( temp 2-component vector of float) +0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 2 (const int) -0:20 uv: direct index for structure (temp 2-component vector of float) -0:20 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:20 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 uv: direct index for structure ( temp 2-component vector of float) +0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: 0:20 2 (const int) -0:21 move second child to first child (temp 4-component vector of float) -0:21 position: direct index for structure (temp 4-component vector of float) -0:21 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 position: direct index for structure ( temp 4-component vector of float) +0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 0 (const int) -0:21 position: direct index for structure (temp 4-component vector of float) -0:21 direct index (layout(location=0 ) temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:21 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 position: direct index for structure ( temp 4-component vector of float) +0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: 0:21 0 (const int) 0:22 Sequence -0:22 Sequence -0:22 move second child to first child (temp 4-component vector of float) -0:? 'outStream_position' (out 4-component vector of float Position) -0:22 position: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 move second child to first child (temp 4-component vector of float) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 0 (const int) -0:22 color: direct index for structure (temp 4-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 move second child to first child (temp 2-component vector of float) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 1 (const int) -0:22 uv: direct index for structure (temp 2-component vector of float) -0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:22 Constant: -0:22 2 (const int) -0:22 EmitVertex (temp void) +0:22 move second child to first child ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:22 EmitVertex ( temp void) +0:16 Function Definition: main( ( temp void) +0:16 Function Parameters: +0:? Sequence +0:16 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void) +0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) +0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) 0:? Linker Objects -0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'outStream' (layout(location=0 ) out structure{temp 4-component vector of float color, temp 2-component vector of float uv}) -0:? 'PerVertex_out' (out block{out 4-component vector of float Position outStream_position}) +0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 52 +// Id's are bound by 47 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 4 "main" 19 36 41 51 + EntryPoint Geometry 4 "main" 40 ExecutionMode 4 InputLines ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 4 Name 4 "main" - Name 9 "PS_IN" - MemberName 9(PS_IN) 0 "position" - MemberName 9(PS_IN) 1 "color" - MemberName 9(PS_IN) 2 "uv" - Name 11 "vout" - Name 14 "VertexData" - MemberName 14(VertexData) 0 "position" - MemberName 14(VertexData) 1 "color" - MemberName 14(VertexData) 2 "uv" - Name 19 "vin" - Name 36 "outStream_position" - Name 39 "PS_IN" - MemberName 39(PS_IN) 0 "color" - MemberName 39(PS_IN) 1 "uv" - Name 41 "outStream" - Name 49 "PerVertex_out" - MemberName 49(PerVertex_out) 0 "outStream_position" - Name 51 "PerVertex_out" - Decorate 19(vin) Location 0 - Decorate 36(outStream_position) BuiltIn Position - Decorate 41(outStream) Location 0 - MemberDecorate 49(PerVertex_out) 0 BuiltIn Position - Decorate 49(PerVertex_out) Block + Name 9 "VertexData" + MemberName 9(VertexData) 0 "position" + MemberName 9(VertexData) 1 "color" + MemberName 9(VertexData) 2 "uv" + Name 14 "PS_IN" + MemberName 14(PS_IN) 0 "position" + MemberName 14(PS_IN) 1 "color" + MemberName 14(PS_IN) 2 "uv" + Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;" + Name 17 "vin" + Name 18 "outStream" + Name 21 "vout" + Name 38 "vin" + Name 40 "vin" + Name 42 "outStream" + Name 43 "param" + Name 45 "param" + Decorate 40(vin) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeVector 6(float) 2 - 9(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) - 10: TypePointer Function 9(PS_IN) - 12: TypeInt 32 1 - 13: 12(int) Constant 1 - 14(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) - 15: TypeInt 32 0 - 16: 15(int) Constant 2 - 17: TypeArray 14(VertexData) 16 - 18: TypePointer Input 17 - 19(vin): 18(ptr) Variable Input - 20: TypePointer Input 7(fvec4) - 23: TypePointer Function 7(fvec4) - 25: 12(int) Constant 2 - 26: TypePointer Input 8(fvec2) + 9(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) + 10: TypeInt 32 0 + 11: 10(int) Constant 2 + 12: TypeArray 9(VertexData) 11 + 13: TypePointer Function 12 + 14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2) + 15: TypePointer Function 14(PS_IN) + 16: TypeFunction 2 13(ptr) 15(ptr) + 22: TypeInt 32 1 + 23: 22(int) Constant 1 + 24: TypePointer Function 7(fvec4) + 28: 22(int) Constant 2 29: TypePointer Function 8(fvec2) - 31: 12(int) Constant 0 - 35: TypePointer Output 7(fvec4) -36(outStream_position): 35(ptr) Variable Output - 39(PS_IN): TypeStruct 7(fvec4) 8(fvec2) - 40: TypePointer Output 39(PS_IN) - 41(outStream): 40(ptr) Variable Output - 47: TypePointer Output 8(fvec2) -49(PerVertex_out): TypeStruct 7(fvec4) - 50: TypePointer Output 49(PerVertex_out) -51(PerVertex_out): 50(ptr) Variable Output + 33: 22(int) Constant 0 + 39: TypePointer Input 12 + 40(vin): 39(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 11(vout): 10(ptr) Variable Function - 21: 20(ptr) AccessChain 19(vin) 13 13 - 22: 7(fvec4) Load 21 - 24: 23(ptr) AccessChain 11(vout) 13 - Store 24 22 - 27: 26(ptr) AccessChain 19(vin) 13 25 - 28: 8(fvec2) Load 27 - 30: 29(ptr) AccessChain 11(vout) 25 - Store 30 28 - 32: 20(ptr) AccessChain 19(vin) 13 31 - 33: 7(fvec4) Load 32 - 34: 23(ptr) AccessChain 11(vout) 31 - Store 34 33 - 37: 23(ptr) AccessChain 11(vout) 31 - 38: 7(fvec4) Load 37 - Store 36(outStream_position) 38 - 42: 23(ptr) AccessChain 11(vout) 13 - 43: 7(fvec4) Load 42 - 44: 35(ptr) AccessChain 41(outStream) 31 - Store 44 43 - 45: 29(ptr) AccessChain 11(vout) 25 - 46: 8(fvec2) Load 45 - 48: 47(ptr) AccessChain 41(outStream) 13 - Store 48 46 + 38(vin): 13(ptr) Variable Function + 42(outStream): 15(ptr) Variable Function + 43(param): 13(ptr) Variable Function + 45(param): 15(ptr) Variable Function + 41: 12 Load 40(vin) + Store 38(vin) 41 + 44: 12 Load 38(vin) + Store 43(param) 44 + 46: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 43(param) 45(param) + Return + FunctionEnd +19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16 + 17(vin): 13(ptr) FunctionParameter + 18(outStream): 15(ptr) FunctionParameter + 20: Label + 21(vout): 15(ptr) Variable Function + 25: 24(ptr) AccessChain 17(vin) 23 23 + 26: 7(fvec4) Load 25 + 27: 24(ptr) AccessChain 21(vout) 23 + Store 27 26 + 30: 29(ptr) AccessChain 17(vin) 23 28 + 31: 8(fvec2) Load 30 + 32: 29(ptr) AccessChain 21(vout) 28 + Store 32 31 + 34: 24(ptr) AccessChain 17(vin) 23 33 + 35: 7(fvec4) Load 34 + 36: 24(ptr) AccessChain 21(vout) 33 + Store 36 35 + 37: 14(PS_IN) Load 21(vout) + Store 18(outStream) 37 EmitVertex Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out new file mode 100644 index 00000000000..a463a887846 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.atomics.frag.out @@ -0,0 +1,599 @@ +hlsl.structbuffer.atomics.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:8 AtomicAdd ( temp void) +0:8 indirect index (layout( row_major std430) buffer uint) +0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:8 Constant: +0:8 0 (const uint) +0:8 right-shift ( temp int) +0:8 Constant: +0:8 8 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 Constant: +0:8 1 (const int) +0:9 move second child to first child ( temp uint) +0:9 'u' ( temp uint) +0:9 AtomicAdd ( temp uint) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 Constant: +0:9 8 (const int) +0:9 Constant: +0:9 2 (const int) +0:9 Constant: +0:9 1 (const int) +0:10 AtomicAnd ( temp void) +0:10 indirect index (layout( row_major std430) buffer uint) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 right-shift ( temp int) +0:10 Constant: +0:10 8 (const int) +0:10 Constant: +0:10 2 (const int) +0:10 Constant: +0:10 1 (const int) +0:11 move second child to first child ( temp uint) +0:11 'u' ( temp uint) +0:11 AtomicAnd ( temp uint) +0:11 indirect index (layout( row_major std430) buffer uint) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 right-shift ( temp int) +0:11 Constant: +0:11 8 (const int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 1 (const int) +0:12 move second child to first child ( temp uint) +0:12 'u' ( temp uint) +0:12 Convert int to uint ( temp uint) +0:12 AtomicCompSwap ( temp int) +0:12 indirect index (layout( row_major std430) buffer uint) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 right-shift ( temp int) +0:12 Constant: +0:12 8 (const int) +0:12 Constant: +0:12 2 (const int) +0:12 Constant: +0:12 1 (const int) +0:12 Constant: +0:12 2 (const int) +0:14 move second child to first child ( temp uint) +0:14 'u' ( temp uint) +0:14 AtomicExchange ( temp uint) +0:14 indirect index (layout( row_major std430) buffer uint) +0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:14 Constant: +0:14 0 (const uint) +0:14 right-shift ( temp int) +0:14 Constant: +0:14 8 (const int) +0:14 Constant: +0:14 2 (const int) +0:14 Constant: +0:14 1 (const int) +0:15 AtomicMax ( temp void) +0:15 indirect index (layout( row_major std430) buffer uint) +0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:15 Constant: +0:15 0 (const uint) +0:15 right-shift ( temp int) +0:15 Constant: +0:15 8 (const int) +0:15 Constant: +0:15 2 (const int) +0:15 Constant: +0:15 1 (const int) +0:16 move second child to first child ( temp uint) +0:16 'u' ( temp uint) +0:16 AtomicMax ( temp uint) +0:16 indirect index (layout( row_major std430) buffer uint) +0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:16 Constant: +0:16 0 (const uint) +0:16 right-shift ( temp int) +0:16 Constant: +0:16 8 (const int) +0:16 Constant: +0:16 2 (const int) +0:16 Constant: +0:16 1 (const int) +0:17 AtomicMin ( temp void) +0:17 indirect index (layout( row_major std430) buffer uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 right-shift ( temp int) +0:17 Constant: +0:17 8 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 1 (const int) +0:18 move second child to first child ( temp uint) +0:18 'u' ( temp uint) +0:18 AtomicMin ( temp uint) +0:18 indirect index (layout( row_major std430) buffer uint) +0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:18 Constant: +0:18 0 (const uint) +0:18 right-shift ( temp int) +0:18 Constant: +0:18 8 (const int) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 1 (const int) +0:19 AtomicOr ( temp void) +0:19 indirect index (layout( row_major std430) buffer uint) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 right-shift ( temp int) +0:19 Constant: +0:19 8 (const int) +0:19 Constant: +0:19 2 (const int) +0:19 Constant: +0:19 1 (const int) +0:20 move second child to first child ( temp uint) +0:20 'u' ( temp uint) +0:20 AtomicOr ( temp uint) +0:20 indirect index (layout( row_major std430) buffer uint) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 right-shift ( temp int) +0:20 Constant: +0:20 8 (const int) +0:20 Constant: +0:20 2 (const int) +0:20 Constant: +0:20 1 (const int) +0:21 AtomicXor ( temp void) +0:21 indirect index (layout( row_major std430) buffer uint) +0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:21 Constant: +0:21 0 (const uint) +0:21 right-shift ( temp int) +0:21 Constant: +0:21 8 (const int) +0:21 Constant: +0:21 2 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 move second child to first child ( temp uint) +0:22 'u' ( temp uint) +0:22 AtomicXor ( temp uint) +0:22 indirect index (layout( row_major std430) buffer uint) +0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:22 Constant: +0:22 0 (const uint) +0:22 right-shift ( temp int) +0:22 Constant: +0:22 8 (const int) +0:22 Constant: +0:22 2 (const int) +0:22 Constant: +0:22 1 (const int) +0:24 Branch: Return with expression +0:24 Construct vec4 ( temp 4-component vector of float) +0:24 Convert uint to float ( temp float) +0:24 indirect index (layout( row_major std430) buffer uint) +0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:24 Constant: +0:24 0 (const uint) +0:24 right-shift ( temp int) +0:24 'pos' ( in uint) +0:24 Constant: +0:24 2 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:8 AtomicAdd ( temp void) +0:8 indirect index (layout( row_major std430) buffer uint) +0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:8 Constant: +0:8 0 (const uint) +0:8 right-shift ( temp int) +0:8 Constant: +0:8 8 (const int) +0:8 Constant: +0:8 2 (const int) +0:8 Constant: +0:8 1 (const int) +0:9 move second child to first child ( temp uint) +0:9 'u' ( temp uint) +0:9 AtomicAdd ( temp uint) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 Constant: +0:9 8 (const int) +0:9 Constant: +0:9 2 (const int) +0:9 Constant: +0:9 1 (const int) +0:10 AtomicAnd ( temp void) +0:10 indirect index (layout( row_major std430) buffer uint) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 right-shift ( temp int) +0:10 Constant: +0:10 8 (const int) +0:10 Constant: +0:10 2 (const int) +0:10 Constant: +0:10 1 (const int) +0:11 move second child to first child ( temp uint) +0:11 'u' ( temp uint) +0:11 AtomicAnd ( temp uint) +0:11 indirect index (layout( row_major std430) buffer uint) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 right-shift ( temp int) +0:11 Constant: +0:11 8 (const int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 1 (const int) +0:12 move second child to first child ( temp uint) +0:12 'u' ( temp uint) +0:12 Convert int to uint ( temp uint) +0:12 AtomicCompSwap ( temp int) +0:12 indirect index (layout( row_major std430) buffer uint) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 right-shift ( temp int) +0:12 Constant: +0:12 8 (const int) +0:12 Constant: +0:12 2 (const int) +0:12 Constant: +0:12 1 (const int) +0:12 Constant: +0:12 2 (const int) +0:14 move second child to first child ( temp uint) +0:14 'u' ( temp uint) +0:14 AtomicExchange ( temp uint) +0:14 indirect index (layout( row_major std430) buffer uint) +0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:14 Constant: +0:14 0 (const uint) +0:14 right-shift ( temp int) +0:14 Constant: +0:14 8 (const int) +0:14 Constant: +0:14 2 (const int) +0:14 Constant: +0:14 1 (const int) +0:15 AtomicMax ( temp void) +0:15 indirect index (layout( row_major std430) buffer uint) +0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:15 Constant: +0:15 0 (const uint) +0:15 right-shift ( temp int) +0:15 Constant: +0:15 8 (const int) +0:15 Constant: +0:15 2 (const int) +0:15 Constant: +0:15 1 (const int) +0:16 move second child to first child ( temp uint) +0:16 'u' ( temp uint) +0:16 AtomicMax ( temp uint) +0:16 indirect index (layout( row_major std430) buffer uint) +0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:16 Constant: +0:16 0 (const uint) +0:16 right-shift ( temp int) +0:16 Constant: +0:16 8 (const int) +0:16 Constant: +0:16 2 (const int) +0:16 Constant: +0:16 1 (const int) +0:17 AtomicMin ( temp void) +0:17 indirect index (layout( row_major std430) buffer uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 right-shift ( temp int) +0:17 Constant: +0:17 8 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 1 (const int) +0:18 move second child to first child ( temp uint) +0:18 'u' ( temp uint) +0:18 AtomicMin ( temp uint) +0:18 indirect index (layout( row_major std430) buffer uint) +0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:18 Constant: +0:18 0 (const uint) +0:18 right-shift ( temp int) +0:18 Constant: +0:18 8 (const int) +0:18 Constant: +0:18 2 (const int) +0:18 Constant: +0:18 1 (const int) +0:19 AtomicOr ( temp void) +0:19 indirect index (layout( row_major std430) buffer uint) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 right-shift ( temp int) +0:19 Constant: +0:19 8 (const int) +0:19 Constant: +0:19 2 (const int) +0:19 Constant: +0:19 1 (const int) +0:20 move second child to first child ( temp uint) +0:20 'u' ( temp uint) +0:20 AtomicOr ( temp uint) +0:20 indirect index (layout( row_major std430) buffer uint) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 right-shift ( temp int) +0:20 Constant: +0:20 8 (const int) +0:20 Constant: +0:20 2 (const int) +0:20 Constant: +0:20 1 (const int) +0:21 AtomicXor ( temp void) +0:21 indirect index (layout( row_major std430) buffer uint) +0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:21 Constant: +0:21 0 (const uint) +0:21 right-shift ( temp int) +0:21 Constant: +0:21 8 (const int) +0:21 Constant: +0:21 2 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 move second child to first child ( temp uint) +0:22 'u' ( temp uint) +0:22 AtomicXor ( temp uint) +0:22 indirect index (layout( row_major std430) buffer uint) +0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:22 Constant: +0:22 0 (const uint) +0:22 right-shift ( temp int) +0:22 Constant: +0:22 8 (const int) +0:22 Constant: +0:22 2 (const int) +0:22 Constant: +0:22 1 (const int) +0:24 Branch: Return with expression +0:24 Construct vec4 ( temp 4-component vector of float) +0:24 Convert uint to float ( temp float) +0:24 indirect index (layout( row_major std430) buffer uint) +0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:24 Constant: +0:24 0 (const uint) +0:24 right-shift ( temp int) +0:24 'pos' ( in uint) +0:24 Constant: +0:24 2 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 87 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 80 83 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 15 "sbuf" + MemberName 15(sbuf) 0 "@data" + Name 17 "sbuf" + Name 29 "u" + Name 78 "pos" + Name 80 "pos" + Name 83 "@entryPointOutput" + Name 84 "param" + Decorate 14 ArrayStride 4 + MemberDecorate 15(sbuf) 0 Offset 0 + Decorate 15(sbuf) BufferBlock + Decorate 17(sbuf) DescriptorSet 0 + Decorate 80(pos) Location 0 + Decorate 83(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 14: TypeRuntimeArray 6(int) + 15(sbuf): TypeStruct 14 + 16: TypePointer Uniform 15(sbuf) + 17(sbuf): 16(ptr) Variable Uniform + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 20: 18(int) Constant 8 + 21: 18(int) Constant 2 + 23: TypePointer Uniform 6(int) + 25: 18(int) Constant 1 + 26: 6(int) Constant 1 + 27: 6(int) Constant 0 + 79: TypePointer Input 6(int) + 80(pos): 79(ptr) Variable Input + 82: TypePointer Output 9(fvec4) +83(@entryPointOutput): 82(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 78(pos): 7(ptr) Variable Function + 84(param): 7(ptr) Variable Function + 81: 6(int) Load 80(pos) + Store 78(pos) 81 + 85: 6(int) Load 78(pos) + Store 84(param) 85 + 86: 9(fvec4) FunctionCall 12(@main(u1;) 84(param) + Store 83(@entryPointOutput) 86 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 29(u): 7(ptr) Variable Function + 22: 18(int) ShiftRightArithmetic 20 21 + 24: 23(ptr) AccessChain 17(sbuf) 19 22 + 28: 2 AtomicIAdd 24 26 27 25 + 30: 18(int) ShiftRightArithmetic 20 21 + 31: 23(ptr) AccessChain 17(sbuf) 19 30 + 32: 6(int) AtomicIAdd 31 26 27 25 + Store 29(u) 32 + 33: 18(int) ShiftRightArithmetic 20 21 + 34: 23(ptr) AccessChain 17(sbuf) 19 33 + 35: 2 AtomicAnd 34 26 27 25 + 36: 18(int) ShiftRightArithmetic 20 21 + 37: 23(ptr) AccessChain 17(sbuf) 19 36 + 38: 6(int) AtomicAnd 37 26 27 25 + Store 29(u) 38 + 39: 18(int) ShiftRightArithmetic 20 21 + 40: 23(ptr) AccessChain 17(sbuf) 19 39 + 41: 18(int) AtomicCompareExchange 40 26 27 27 21 25 + 42: 6(int) Bitcast 41 + Store 29(u) 42 + 43: 18(int) ShiftRightArithmetic 20 21 + 44: 23(ptr) AccessChain 17(sbuf) 19 43 + 45: 6(int) AtomicExchange 44 26 27 25 + Store 29(u) 45 + 46: 18(int) ShiftRightArithmetic 20 21 + 47: 23(ptr) AccessChain 17(sbuf) 19 46 + 48: 2 AtomicSMax 47 26 27 25 + 49: 18(int) ShiftRightArithmetic 20 21 + 50: 23(ptr) AccessChain 17(sbuf) 19 49 + 51: 6(int) AtomicUMax 50 26 27 25 + Store 29(u) 51 + 52: 18(int) ShiftRightArithmetic 20 21 + 53: 23(ptr) AccessChain 17(sbuf) 19 52 + 54: 2 AtomicSMin 53 26 27 25 + 55: 18(int) ShiftRightArithmetic 20 21 + 56: 23(ptr) AccessChain 17(sbuf) 19 55 + 57: 6(int) AtomicUMin 56 26 27 25 + Store 29(u) 57 + 58: 18(int) ShiftRightArithmetic 20 21 + 59: 23(ptr) AccessChain 17(sbuf) 19 58 + 60: 2 AtomicOr 59 26 27 25 + 61: 18(int) ShiftRightArithmetic 20 21 + 62: 23(ptr) AccessChain 17(sbuf) 19 61 + 63: 6(int) AtomicOr 62 26 27 25 + Store 29(u) 63 + 64: 18(int) ShiftRightArithmetic 20 21 + 65: 23(ptr) AccessChain 17(sbuf) 19 64 + 66: 2 AtomicXor 65 26 27 25 + 67: 18(int) ShiftRightArithmetic 20 21 + 68: 23(ptr) AccessChain 17(sbuf) 19 67 + 69: 6(int) AtomicXor 68 26 27 25 + Store 29(u) 69 + 70: 6(int) Load 11(pos) + 71: 18(int) ShiftRightLogical 70 21 + 72: 23(ptr) AccessChain 17(sbuf) 19 71 + 73: 6(int) Load 72 + 74: 8(float) ConvertUToF 73 + 75: 9(fvec4) CompositeConstruct 74 74 74 74 + ReturnValue 75 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out new file mode 100644 index 00000000000..f388f87d6ea --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.byte.frag.out @@ -0,0 +1,476 @@ +hlsl.structbuffer.byte.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:7 Sequence +0:7 move second child to first child ( temp uint) +0:7 'size' ( temp uint) +0:7 array length ( temp uint) +0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:7 Constant: +0:7 0 (const uint) +0:12 Branch: Return with expression +0:11 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:9 Convert uint to float ( temp float) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:? Construct vec4 ( temp 4-component vector of float) +0:? Convert uint to float ( temp 2-component vector of float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 add ( temp uint) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 4 (const uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 0.000000 +0:10 Constant: +0:10 0.000000 +0:? Construct vec4 ( temp 4-component vector of float) +0:? Convert uint to float ( temp 3-component vector of float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 add ( temp uint) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 8 (const uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 0.000000 +0:? Convert uint to float ( temp 4-component vector of float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 add ( temp uint) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 12 (const uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:7 Sequence +0:7 move second child to first child ( temp uint) +0:7 'size' ( temp uint) +0:7 array length ( temp uint) +0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:7 Constant: +0:7 0 (const uint) +0:12 Branch: Return with expression +0:11 add ( temp 4-component vector of float) +0:10 add ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:9 Convert uint to float ( temp float) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:? Construct vec4 ( temp 4-component vector of float) +0:? Convert uint to float ( temp 2-component vector of float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 add ( temp uint) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 4 (const uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 0.000000 +0:10 Constant: +0:10 0.000000 +0:? Construct vec4 ( temp 4-component vector of float) +0:? Convert uint to float ( temp 3-component vector of float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 add ( temp uint) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 8 (const uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 0.000000 +0:? Convert uint to float ( temp 4-component vector of float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 add ( temp uint) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 12 (const uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 114 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 107 110 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 14 "size" + Name 16 "sbuf" + MemberName 16(sbuf) 0 "@data" + Name 18 "sbuf" + Name 30 "byteAddrTemp" + Name 53 "byteAddrTemp" + Name 78 "byteAddrTemp" + Name 105 "pos" + Name 107 "pos" + Name 110 "@entryPointOutput" + Name 111 "param" + Decorate 15 ArrayStride 4 + MemberDecorate 16(sbuf) 0 NonWritable + MemberDecorate 16(sbuf) 0 Offset 0 + Decorate 16(sbuf) BufferBlock + Decorate 18(sbuf) DescriptorSet 0 + Decorate 107(pos) Location 0 + Decorate 110(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 15: TypeRuntimeArray 6(int) + 16(sbuf): TypeStruct 15 + 17: TypePointer Uniform 16(sbuf) + 18(sbuf): 17(ptr) Variable Uniform + 19: TypeInt 32 1 + 21: 19(int) Constant 0 + 23: 19(int) Constant 2 + 25: TypePointer Uniform 6(int) + 29: TypePointer Function 19(int) + 32: 6(int) Constant 4 + 39: 19(int) Constant 1 + 43: TypeVector 6(int) 2 + 45: TypeVector 8(float) 2 + 47: 8(float) Constant 0 + 55: 6(int) Constant 8 + 69: TypeVector 6(int) 3 + 71: TypeVector 8(float) 3 + 80: 6(int) Constant 12 + 95: 19(int) Constant 3 + 99: TypeVector 6(int) 4 + 106: TypePointer Input 6(int) + 107(pos): 106(ptr) Variable Input + 109: TypePointer Output 9(fvec4) +110(@entryPointOutput): 109(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 105(pos): 7(ptr) Variable Function + 111(param): 7(ptr) Variable Function + 108: 6(int) Load 107(pos) + Store 105(pos) 108 + 112: 6(int) Load 105(pos) + Store 111(param) 112 + 113: 9(fvec4) FunctionCall 12(@main(u1;) 111(param) + Store 110(@entryPointOutput) 113 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 14(size): 7(ptr) Variable Function +30(byteAddrTemp): 29(ptr) Variable Function +53(byteAddrTemp): 29(ptr) Variable Function +78(byteAddrTemp): 29(ptr) Variable Function + 20: 19(int) ArrayLength 18(sbuf) 0 + Store 14(size) 20 + 22: 6(int) Load 11(pos) + 24: 19(int) ShiftRightLogical 22 23 + 26: 25(ptr) AccessChain 18(sbuf) 21 24 + 27: 6(int) Load 26 + 28: 8(float) ConvertUToF 27 + 31: 6(int) Load 11(pos) + 33: 6(int) IAdd 31 32 + 34: 19(int) ShiftRightLogical 33 23 + Store 30(byteAddrTemp) 34 + 35: 19(int) Load 30(byteAddrTemp) + 36: 25(ptr) AccessChain 18(sbuf) 21 35 + 37: 6(int) Load 36 + 38: 19(int) Load 30(byteAddrTemp) + 40: 19(int) IAdd 38 39 + 41: 25(ptr) AccessChain 18(sbuf) 21 40 + 42: 6(int) Load 41 + 44: 43(ivec2) CompositeConstruct 37 42 + 46: 45(fvec2) ConvertUToF 44 + 48: 8(float) CompositeExtract 46 0 + 49: 8(float) CompositeExtract 46 1 + 50: 9(fvec4) CompositeConstruct 48 49 47 47 + 51: 9(fvec4) CompositeConstruct 28 28 28 28 + 52: 9(fvec4) FAdd 51 50 + 54: 6(int) Load 11(pos) + 56: 6(int) IAdd 54 55 + 57: 19(int) ShiftRightLogical 56 23 + Store 53(byteAddrTemp) 57 + 58: 19(int) Load 53(byteAddrTemp) + 59: 25(ptr) AccessChain 18(sbuf) 21 58 + 60: 6(int) Load 59 + 61: 19(int) Load 53(byteAddrTemp) + 62: 19(int) IAdd 61 39 + 63: 25(ptr) AccessChain 18(sbuf) 21 62 + 64: 6(int) Load 63 + 65: 19(int) Load 53(byteAddrTemp) + 66: 19(int) IAdd 65 23 + 67: 25(ptr) AccessChain 18(sbuf) 21 66 + 68: 6(int) Load 67 + 70: 69(ivec3) CompositeConstruct 60 64 68 + 72: 71(fvec3) ConvertUToF 70 + 73: 8(float) CompositeExtract 72 0 + 74: 8(float) CompositeExtract 72 1 + 75: 8(float) CompositeExtract 72 2 + 76: 9(fvec4) CompositeConstruct 73 74 75 47 + 77: 9(fvec4) FAdd 52 76 + 79: 6(int) Load 11(pos) + 81: 6(int) IAdd 79 80 + 82: 19(int) ShiftRightLogical 81 23 + Store 78(byteAddrTemp) 82 + 83: 19(int) Load 78(byteAddrTemp) + 84: 25(ptr) AccessChain 18(sbuf) 21 83 + 85: 6(int) Load 84 + 86: 19(int) Load 78(byteAddrTemp) + 87: 19(int) IAdd 86 39 + 88: 25(ptr) AccessChain 18(sbuf) 21 87 + 89: 6(int) Load 88 + 90: 19(int) Load 78(byteAddrTemp) + 91: 19(int) IAdd 90 23 + 92: 25(ptr) AccessChain 18(sbuf) 21 91 + 93: 6(int) Load 92 + 94: 19(int) Load 78(byteAddrTemp) + 96: 19(int) IAdd 94 95 + 97: 25(ptr) AccessChain 18(sbuf) 21 96 + 98: 6(int) Load 97 + 100: 99(ivec4) CompositeConstruct 85 89 93 98 + 101: 9(fvec4) ConvertUToF 100 + 102: 9(fvec4) FAdd 77 101 + ReturnValue 102 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out new file mode 100644 index 00000000000..f5210c0ee3f --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.coherent.frag.out @@ -0,0 +1,308 @@ +hlsl.structbuffer.coherent.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 move second child to first child ( temp float) +0:13 indirect index (layout( row_major std430) buffer float) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 add ( temp uint) +0:13 'pos' ( in uint) +0:13 Constant: +0:13 1 (const uint) +0:13 Constant: +0:13 42.000000 +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 16 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert uint to float ( temp float) +0:22 add ( temp uint) +0:22 'size' ( temp uint) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 move second child to first child ( temp float) +0:13 indirect index (layout( row_major std430) buffer float) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 add ( temp uint) +0:13 'pos' ( in uint) +0:13 Constant: +0:13 1 (const uint) +0:13 Constant: +0:13 42.000000 +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 16 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert uint to float ( temp float) +0:22 add ( temp uint) +0:22 'size' ( temp uint) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 78 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 71 74 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 15 "sbuf2" + MemberName 15(sbuf2) 0 "@data" + Name 17 "sbuf2" + Name 26 "size" + Name 28 "sb_t" + MemberName 28(sb_t) 0 "color" + MemberName 28(sb_t) 1 "test" + Name 30 "sbuf" + MemberName 30(sbuf) 0 "@data" + Name 32 "sbuf" + Name 34 "stride" + Name 69 "pos" + Name 71 "pos" + Name 74 "@entryPointOutput" + Name 75 "param" + Decorate 14 ArrayStride 4 + MemberDecorate 15(sbuf2) 0 Coherent + MemberDecorate 15(sbuf2) 0 Offset 0 + Decorate 15(sbuf2) BufferBlock + Decorate 17(sbuf2) DescriptorSet 0 + MemberDecorate 28(sb_t) 0 Coherent + MemberDecorate 28(sb_t) 0 Offset 0 + MemberDecorate 28(sb_t) 1 Coherent + MemberDecorate 28(sb_t) 1 Offset 12 + Decorate 29 ArrayStride 16 + MemberDecorate 30(sbuf) 0 Coherent + MemberDecorate 30(sbuf) 0 Offset 0 + Decorate 30(sbuf) BufferBlock + Decorate 32(sbuf) DescriptorSet 0 + Decorate 71(pos) Location 0 + Decorate 74(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 14: TypeRuntimeArray 8(float) + 15(sbuf2): TypeStruct 14 + 16: TypePointer Uniform 15(sbuf2) + 17(sbuf2): 16(ptr) Variable Uniform + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: 6(int) Constant 1 + 23: 8(float) Constant 1109917696 + 24: TypePointer Uniform 8(float) + 27: TypeVector 8(float) 3 + 28(sb_t): TypeStruct 27(fvec3) 6(int) + 29: TypeRuntimeArray 28(sb_t) + 30(sbuf): TypeStruct 29 + 31: TypePointer Uniform 30(sbuf) + 32(sbuf): 31(ptr) Variable Uniform + 35: 6(int) Constant 16 + 37: 18(int) Constant 1 + 38: TypePointer Uniform 6(int) + 41: TypeBool + 42: 6(int) Constant 0 + 47: TypePointer Uniform 27(fvec3) + 55: 8(float) Constant 0 + 70: TypePointer Input 6(int) + 71(pos): 70(ptr) Variable Input + 73: TypePointer Output 9(fvec4) +74(@entryPointOutput): 73(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 69(pos): 7(ptr) Variable Function + 75(param): 7(ptr) Variable Function + 72: 6(int) Load 71(pos) + Store 69(pos) 72 + 76: 6(int) Load 69(pos) + Store 75(param) 76 + 77: 9(fvec4) FunctionCall 12(@main(u1;) 75(param) + Store 74(@entryPointOutput) 77 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 26(size): 7(ptr) Variable Function + 34(stride): 7(ptr) Variable Function + 20: 6(int) Load 11(pos) + 22: 6(int) IAdd 20 21 + 25: 24(ptr) AccessChain 17(sbuf2) 19 22 + Store 25 23 + 33: 18(int) ArrayLength 32(sbuf) 0 + Store 26(size) 33 + Store 34(stride) 35 + 36: 6(int) Load 11(pos) + 39: 38(ptr) AccessChain 32(sbuf) 19 36 37 + 40: 6(int) Load 39 + 43: 41(bool) INotEqual 40 42 + SelectionMerge 45 None + BranchConditional 43 44 61 + 44: Label + 46: 6(int) Load 11(pos) + 48: 47(ptr) AccessChain 32(sbuf) 19 46 19 + 49: 27(fvec3) Load 48 + 50: 6(int) Load 11(pos) + 51: 24(ptr) AccessChain 17(sbuf2) 19 50 + 52: 8(float) Load 51 + 53: 27(fvec3) CompositeConstruct 52 52 52 + 54: 27(fvec3) FAdd 49 53 + 56: 8(float) CompositeExtract 54 0 + 57: 8(float) CompositeExtract 54 1 + 58: 8(float) CompositeExtract 54 2 + 59: 9(fvec4) CompositeConstruct 56 57 58 55 + ReturnValue 59 + 61: Label + 62: 6(int) Load 26(size) + 63: 6(int) Load 34(stride) + 64: 6(int) IAdd 62 63 + 65: 8(float) ConvertUToF 64 + 66: 9(fvec4) CompositeConstruct 65 65 65 65 + ReturnValue 66 + 45: Label + 68: 9(fvec4) Undef + ReturnValue 68 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out new file mode 100644 index 00000000000..8ed27f68175 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -0,0 +1,266 @@ +hlsl.structbuffer.fn.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) +0:5 Function Parameters: +0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:5 'bufferOffset' ( in uint) +0:? Sequence +0:6 Branch: Return with expression +0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) +0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint) +0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:6 Constant: +0:6 0 (const uint) +0:6 'bufferOffset' ( in uint) +0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) +0:10 Function Parameters: +0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:10 'bufferOffset' ( in uint) +0:10 'data' ( in 4-component vector of uint) +0:? Sequence +0:11 move second child to first child ( temp 4-component vector of uint) +0:11 indirect index ( buffer 4-component vector of uint) +0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint) +0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'bufferOffset' ( in uint) +0:11 'data' ( in 4-component vector of uint) +0:20 Function Definition: @main(u1; ( temp 4-component vector of float) +0:20 Function Parameters: +0:20 'pos' ( in uint) +0:? Sequence +0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) +0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:21 Constant: +0:21 2 (const uint) +0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) +0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:21 Constant: +0:21 3 (const uint) +0:23 Branch: Return with expression +0:23 Constant: +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:20 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:20 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) +0:5 Function Parameters: +0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:5 'bufferOffset' ( in uint) +0:? Sequence +0:6 Branch: Return with expression +0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint) +0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint) +0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:6 Constant: +0:6 0 (const uint) +0:6 'bufferOffset' ( in uint) +0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void) +0:10 Function Parameters: +0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:10 'bufferOffset' ( in uint) +0:10 'data' ( in 4-component vector of uint) +0:? Sequence +0:11 move second child to first child ( temp 4-component vector of uint) +0:11 indirect index ( buffer 4-component vector of uint) +0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint) +0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'bufferOffset' ( in uint) +0:11 'data' ( in 4-component vector of uint) +0:20 Function Definition: @main(u1; ( temp 4-component vector of float) +0:20 Function Parameters: +0:20 'pos' ( in uint) +0:? Sequence +0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void) +0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:21 Constant: +0:21 2 (const uint) +0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint) +0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:21 Constant: +0:21 3 (const uint) +0:23 Branch: Return with expression +0:23 Constant: +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:20 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:20 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data}) +0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 71 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 59 62 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "" + MemberName 9 0 "@data" + Name 15 "get(block--vu4[0]1;u1;" + Name 13 "sb" + Name 14 "bufferOffset" + Name 18 "" + MemberName 18 0 "@data" + Name 25 "set(block--vu4[0]1;u1;vu4;" + Name 22 "sb" + Name 23 "bufferOffset" + Name 24 "data" + Name 31 "@main(u1;" + Name 30 "pos" + Name 44 "sbuf2" + Name 46 "sbuf" + Name 48 "param" + Name 50 "param" + Name 51 "param" + Name 57 "pos" + Name 59 "pos" + Name 62 "@entryPointOutput" + Name 63 "param" + Name 68 "sbuf3" + MemberName 68(sbuf3) 0 "@data" + Name 70 "sbuf3" + Decorate 8 ArrayStride 16 + MemberDecorate 9 0 NonWritable + MemberDecorate 9 0 Offset 0 + Decorate 9 BufferBlock + Decorate 17 ArrayStride 16 + MemberDecorate 18 0 Offset 0 + Decorate 18 BufferBlock + Decorate 44(sbuf2) DescriptorSet 0 + Decorate 46(sbuf) DescriptorSet 0 + Decorate 46(sbuf) Binding 10 + Decorate 59(pos) Location 0 + Decorate 62(@entryPointOutput) Location 0 + Decorate 67 ArrayStride 16 + MemberDecorate 68(sbuf3) 0 NonWritable + MemberDecorate 68(sbuf3) 0 Offset 0 + Decorate 68(sbuf3) BufferBlock + Decorate 70(sbuf3) DescriptorSet 0 + Decorate 70(sbuf3) Binding 12 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypeVector 6(int) 4 + 8: TypeRuntimeArray 7(ivec4) + 9: TypeStruct 8 + 10: TypePointer Uniform 9(struct) + 11: TypePointer Function 6(int) + 12: TypeFunction 7(ivec4) 10(ptr) 11(ptr) + 17: TypeRuntimeArray 7(ivec4) + 18: TypeStruct 17 + 19: TypePointer Uniform 18(struct) + 20: TypePointer Function 7(ivec4) + 21: TypeFunction 2 19(ptr) 11(ptr) 20(ptr) + 27: TypeFloat 32 + 28: TypeVector 27(float) 4 + 29: TypeFunction 28(fvec4) 11(ptr) + 33: TypeInt 32 1 + 34: 33(int) Constant 0 + 36: TypePointer Uniform 7(ivec4) + 44(sbuf2): 19(ptr) Variable Uniform + 45: 6(int) Constant 2 + 46(sbuf): 10(ptr) Variable Uniform + 47: 6(int) Constant 3 + 53: 27(float) Constant 0 + 54: 28(fvec4) ConstantComposite 53 53 53 53 + 58: TypePointer Input 6(int) + 59(pos): 58(ptr) Variable Input + 61: TypePointer Output 28(fvec4) +62(@entryPointOutput): 61(ptr) Variable Output + 66: TypeVector 6(int) 3 + 67: TypeRuntimeArray 66(ivec3) + 68(sbuf3): TypeStruct 67 + 69: TypePointer Uniform 68(sbuf3) + 70(sbuf3): 69(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 57(pos): 11(ptr) Variable Function + 63(param): 11(ptr) Variable Function + 60: 6(int) Load 59(pos) + Store 57(pos) 60 + 64: 6(int) Load 57(pos) + Store 63(param) 64 + 65: 28(fvec4) FunctionCall 31(@main(u1;) 63(param) + Store 62(@entryPointOutput) 65 + Return + FunctionEnd +15(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12 + 13(sb): 10(ptr) FunctionParameter +14(bufferOffset): 11(ptr) FunctionParameter + 16: Label + 35: 6(int) Load 14(bufferOffset) + 37: 36(ptr) AccessChain 13(sb) 34 35 + 38: 7(ivec4) Load 37 + ReturnValue 38 + FunctionEnd +25(set(block--vu4[0]1;u1;vu4;): 2 Function None 21 + 22(sb): 19(ptr) FunctionParameter +23(bufferOffset): 11(ptr) FunctionParameter + 24(data): 20(ptr) FunctionParameter + 26: Label + 41: 6(int) Load 23(bufferOffset) + 42: 7(ivec4) Load 24(data) + 43: 36(ptr) AccessChain 22(sb) 34 41 + Store 43 42 + Return + FunctionEnd + 31(@main(u1;): 28(fvec4) Function None 29 + 30(pos): 11(ptr) FunctionParameter + 32: Label + 48(param): 11(ptr) Variable Function + 50(param): 11(ptr) Variable Function + 51(param): 20(ptr) Variable Function + Store 48(param) 47 + 49: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 46(sbuf) 48(param) + Store 50(param) 45 + Store 51(param) 49 + 52: 2 FunctionCall 25(set(block--vu4[0]1;u1;vu4;) 44(sbuf2) 50(param) 51(param) + ReturnValue 54 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out new file mode 100644 index 00000000000..3c8b1146a7f --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.frag.out @@ -0,0 +1,347 @@ +hlsl.structbuffer.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 'pos' ( in uint) +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 32 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 add ( temp float) +0:22 add ( temp float) +0:22 direct index ( temp float) +0:22 color: direct index for structure ( temp 3-component vector of float) +0:22 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:22 Constant: +0:22 0 (const int) +0:22 Constant: +0:22 0 (const int) +0:22 Convert uint to float ( temp float) +0:22 'size' ( temp uint) +0:22 Convert uint to float ( temp float) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 Sequence +0:13 move second child to first child ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 'pos' ( in uint) +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 32 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 add ( temp float) +0:22 add ( temp float) +0:22 direct index ( temp float) +0:22 color: direct index for structure ( temp 3-component vector of float) +0:22 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2}) +0:22 Constant: +0:22 0 (const int) +0:22 Constant: +0:22 0 (const int) +0:22 Convert uint to float ( temp float) +0:22 'size' ( temp uint) +0:22 Convert uint to float ( temp float) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data}) +0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 94 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 87 90 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 16 "sb_t" + MemberName 16(sb_t) 0 "color" + MemberName 16(sb_t) 1 "test" + MemberName 16(sb_t) 2 "test2" + Name 18 "mydata" + Name 19 "sb_t" + MemberName 19(sb_t) 0 "color" + MemberName 19(sb_t) 1 "test" + MemberName 19(sb_t) 2 "test2" + Name 21 "sbuf" + MemberName 21(sbuf) 0 "@data" + Name 23 "sbuf" + Name 40 "size" + Name 42 "stride" + Name 57 "sbuf2" + MemberName 57(sbuf2) 0 "@data" + Name 59 "sbuf2" + Name 85 "pos" + Name 87 "pos" + Name 90 "@entryPointOutput" + Name 91 "param" + MemberDecorate 19(sb_t) 0 NonWritable + MemberDecorate 19(sb_t) 0 Offset 0 + MemberDecorate 19(sb_t) 1 NonWritable + MemberDecorate 19(sb_t) 1 Offset 12 + MemberDecorate 19(sb_t) 2 NonWritable + MemberDecorate 19(sb_t) 2 Offset 16 + Decorate 20 ArrayStride 32 + MemberDecorate 21(sbuf) 0 NonWritable + MemberDecorate 21(sbuf) 0 Offset 0 + Decorate 21(sbuf) BufferBlock + Decorate 23(sbuf) DescriptorSet 0 + Decorate 23(sbuf) Binding 10 + Decorate 56 ArrayStride 4 + MemberDecorate 57(sbuf2) 0 NonWritable + MemberDecorate 57(sbuf2) 0 Offset 0 + Decorate 57(sbuf2) BufferBlock + Decorate 59(sbuf2) DescriptorSet 0 + Decorate 87(pos) Location 0 + Decorate 90(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 14: TypeVector 8(float) 3 + 15: TypeBool + 16(sb_t): TypeStruct 14(fvec3) 15(bool) 15(bool) + 17: TypePointer Function 16(sb_t) + 19(sb_t): TypeStruct 14(fvec3) 6(int) 6(int) + 20: TypeRuntimeArray 19(sb_t) + 21(sbuf): TypeStruct 20 + 22: TypePointer Uniform 21(sbuf) + 23(sbuf): 22(ptr) Variable Uniform + 24: TypeInt 32 1 + 25: 24(int) Constant 0 + 27: TypePointer Uniform 19(sb_t) + 31: TypePointer Function 14(fvec3) + 34: 24(int) Constant 1 + 35: TypePointer Function 15(bool) + 38: 24(int) Constant 2 + 43: 6(int) Constant 32 + 45: TypePointer Uniform 6(int) + 48: 6(int) Constant 0 + 53: TypePointer Uniform 14(fvec3) + 56: TypeRuntimeArray 8(float) + 57(sbuf2): TypeStruct 56 + 58: TypePointer Uniform 57(sbuf2) + 59(sbuf2): 58(ptr) Variable Uniform + 61: TypePointer Uniform 8(float) + 66: 8(float) Constant 0 + 73: TypePointer Function 8(float) + 86: TypePointer Input 6(int) + 87(pos): 86(ptr) Variable Input + 89: TypePointer Output 9(fvec4) +90(@entryPointOutput): 89(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 85(pos): 7(ptr) Variable Function + 91(param): 7(ptr) Variable Function + 88: 6(int) Load 87(pos) + Store 85(pos) 88 + 92: 6(int) Load 85(pos) + Store 91(param) 92 + 93: 9(fvec4) FunctionCall 12(@main(u1;) 91(param) + Store 90(@entryPointOutput) 93 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 18(mydata): 17(ptr) Variable Function + 40(size): 7(ptr) Variable Function + 42(stride): 7(ptr) Variable Function + 26: 6(int) Load 11(pos) + 28: 27(ptr) AccessChain 23(sbuf) 25 26 + 29: 19(sb_t) Load 28 + 30: 14(fvec3) CompositeExtract 29 0 + 32: 31(ptr) AccessChain 18(mydata) 25 + Store 32 30 + 33: 6(int) CompositeExtract 29 1 + 36: 35(ptr) AccessChain 18(mydata) 34 + Store 36 33 + 37: 6(int) CompositeExtract 29 2 + 39: 35(ptr) AccessChain 18(mydata) 38 + Store 39 37 + 41: 24(int) ArrayLength 23(sbuf) 0 + Store 40(size) 41 + Store 42(stride) 43 + 44: 6(int) Load 11(pos) + 46: 45(ptr) AccessChain 23(sbuf) 25 44 34 + 47: 6(int) Load 46 + 49: 15(bool) INotEqual 47 48 + SelectionMerge 51 None + BranchConditional 49 50 72 + 50: Label + 52: 6(int) Load 11(pos) + 54: 53(ptr) AccessChain 23(sbuf) 25 52 25 + 55: 14(fvec3) Load 54 + 60: 6(int) Load 11(pos) + 62: 61(ptr) AccessChain 59(sbuf2) 25 60 + 63: 8(float) Load 62 + 64: 14(fvec3) CompositeConstruct 63 63 63 + 65: 14(fvec3) FAdd 55 64 + 67: 8(float) CompositeExtract 65 0 + 68: 8(float) CompositeExtract 65 1 + 69: 8(float) CompositeExtract 65 2 + 70: 9(fvec4) CompositeConstruct 67 68 69 66 + ReturnValue 70 + 72: Label + 74: 73(ptr) AccessChain 18(mydata) 25 48 + 75: 8(float) Load 74 + 76: 6(int) Load 40(size) + 77: 8(float) ConvertUToF 76 + 78: 8(float) FAdd 75 77 + 79: 6(int) Load 42(stride) + 80: 8(float) ConvertUToF 79 + 81: 8(float) FAdd 78 80 + 82: 9(fvec4) CompositeConstruct 81 81 81 81 + ReturnValue 82 + 51: Label + 84: 9(fvec4) Undef + ReturnValue 84 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out new file mode 100644 index 00000000000..bfe4c39b669 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rw.frag.out @@ -0,0 +1,304 @@ +hlsl.structbuffer.rw.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 move second child to first child ( temp float) +0:13 indirect index (layout( row_major std430) buffer float) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 add ( temp uint) +0:13 'pos' ( in uint) +0:13 Constant: +0:13 1 (const uint) +0:13 Constant: +0:13 42.000000 +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 16 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert uint to float ( temp float) +0:22 add ( temp uint) +0:22 'size' ( temp uint) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: @main(u1; ( temp 4-component vector of float) +0:12 Function Parameters: +0:12 'pos' ( in uint) +0:? Sequence +0:13 move second child to first child ( temp float) +0:13 indirect index (layout( row_major std430) buffer float) +0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:13 Constant: +0:13 0 (const uint) +0:13 add ( temp uint) +0:13 'pos' ( in uint) +0:13 Constant: +0:13 1 (const uint) +0:13 Constant: +0:13 42.000000 +0:17 Sequence +0:17 move second child to first child ( temp uint) +0:17 'size' ( temp uint) +0:17 array length ( temp uint) +0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:17 Constant: +0:17 0 (const uint) +0:17 move second child to first child ( temp uint) +0:17 'stride' ( temp uint) +0:17 Constant: +0:17 16 (const uint) +0:19 Test condition and select ( temp void) +0:19 Condition +0:19 test: direct index for structure ( temp bool) +0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:19 Constant: +0:19 0 (const uint) +0:19 'pos' ( in uint) +0:19 Constant: +0:19 1 (const int) +0:19 true case +0:20 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:20 add ( temp 3-component vector of float) +0:20 color: direct index for structure ( temp 3-component vector of float) +0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test}) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test}) +0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (layout( row_major std430) buffer float) +0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float) +0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:20 Constant: +0:20 0 (const uint) +0:20 'pos' ( in uint) +0:20 Constant: +0:20 0.000000 +0:19 false case +0:22 Branch: Return with expression +0:22 Construct vec4 ( temp 4-component vector of float) +0:22 Convert uint to float ( temp float) +0:22 add ( temp uint) +0:22 'size' ( temp uint) +0:22 'stride' ( temp uint) +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:12 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:12 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data}) +0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 78 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 71 74 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 15 "sbuf2" + MemberName 15(sbuf2) 0 "@data" + Name 17 "sbuf2" + Name 26 "size" + Name 28 "sb_t" + MemberName 28(sb_t) 0 "color" + MemberName 28(sb_t) 1 "test" + Name 30 "sbuf" + MemberName 30(sbuf) 0 "@data" + Name 32 "sbuf" + Name 34 "stride" + Name 69 "pos" + Name 71 "pos" + Name 74 "@entryPointOutput" + Name 75 "param" + Decorate 14 ArrayStride 4 + MemberDecorate 15(sbuf2) 0 Offset 0 + Decorate 15(sbuf2) BufferBlock + Decorate 17(sbuf2) DescriptorSet 0 + MemberDecorate 28(sb_t) 0 Offset 0 + MemberDecorate 28(sb_t) 1 Offset 12 + Decorate 29 ArrayStride 16 + MemberDecorate 30(sbuf) 0 Offset 0 + Decorate 30(sbuf) BufferBlock + Decorate 32(sbuf) DescriptorSet 0 + Decorate 71(pos) Location 0 + Decorate 74(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 14: TypeRuntimeArray 8(float) + 15(sbuf2): TypeStruct 14 + 16: TypePointer Uniform 15(sbuf2) + 17(sbuf2): 16(ptr) Variable Uniform + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: 6(int) Constant 1 + 23: 8(float) Constant 1109917696 + 24: TypePointer Uniform 8(float) + 27: TypeVector 8(float) 3 + 28(sb_t): TypeStruct 27(fvec3) 6(int) + 29: TypeRuntimeArray 28(sb_t) + 30(sbuf): TypeStruct 29 + 31: TypePointer Uniform 30(sbuf) + 32(sbuf): 31(ptr) Variable Uniform + 35: 6(int) Constant 16 + 37: 18(int) Constant 1 + 38: TypePointer Uniform 6(int) + 41: TypeBool + 42: 6(int) Constant 0 + 47: TypePointer Uniform 27(fvec3) + 55: 8(float) Constant 0 + 70: TypePointer Input 6(int) + 71(pos): 70(ptr) Variable Input + 73: TypePointer Output 9(fvec4) +74(@entryPointOutput): 73(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 69(pos): 7(ptr) Variable Function + 75(param): 7(ptr) Variable Function + 72: 6(int) Load 71(pos) + Store 69(pos) 72 + 76: 6(int) Load 69(pos) + Store 75(param) 76 + 77: 9(fvec4) FunctionCall 12(@main(u1;) 75(param) + Store 74(@entryPointOutput) 77 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 26(size): 7(ptr) Variable Function + 34(stride): 7(ptr) Variable Function + 20: 6(int) Load 11(pos) + 22: 6(int) IAdd 20 21 + 25: 24(ptr) AccessChain 17(sbuf2) 19 22 + Store 25 23 + 33: 18(int) ArrayLength 32(sbuf) 0 + Store 26(size) 33 + Store 34(stride) 35 + 36: 6(int) Load 11(pos) + 39: 38(ptr) AccessChain 32(sbuf) 19 36 37 + 40: 6(int) Load 39 + 43: 41(bool) INotEqual 40 42 + SelectionMerge 45 None + BranchConditional 43 44 61 + 44: Label + 46: 6(int) Load 11(pos) + 48: 47(ptr) AccessChain 32(sbuf) 19 46 19 + 49: 27(fvec3) Load 48 + 50: 6(int) Load 11(pos) + 51: 24(ptr) AccessChain 17(sbuf2) 19 50 + 52: 8(float) Load 51 + 53: 27(fvec3) CompositeConstruct 52 52 52 + 54: 27(fvec3) FAdd 49 53 + 56: 8(float) CompositeExtract 54 0 + 57: 8(float) CompositeExtract 54 1 + 58: 8(float) CompositeExtract 54 2 + 59: 9(fvec4) CompositeConstruct 56 57 58 55 + ReturnValue 59 + 61: Label + 62: 6(int) Load 26(size) + 63: 6(int) Load 34(stride) + 64: 6(int) IAdd 62 63 + 65: 8(float) ConvertUToF 64 + 66: 9(fvec4) CompositeConstruct 65 65 65 65 + ReturnValue 66 + 45: Label + 68: 9(fvec4) Undef + ReturnValue 68 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out new file mode 100644 index 00000000000..e99bc435d0e --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out @@ -0,0 +1,1307 @@ +hlsl.structbuffer.rwbyte.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:7 Sequence +0:7 move second child to first child ( temp uint) +0:7 'size' ( temp uint) +0:7 array length ( temp uint) +0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:7 Constant: +0:7 0 (const uint) +0:? Sequence +0:9 move second child to first child ( temp int) +0:9 'byteAddrTemp' ( temp int) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:9 move second child to first child ( temp float) +0:9 indirect index ( temp float) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 'byteAddrTemp' ( temp int) +0:9 Convert uint to float ( temp float) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:10 move second child to first child ( temp float) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 direct index ( temp float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 0 (const int) +0:10 move second child to first child ( temp float) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 direct index ( temp float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 1 (const int) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 1 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 2 (const int) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 3 (const int) +0:14 Branch: Return with expression +0:14 Construct vec4 ( temp 4-component vector of float) +0:14 Convert uint to float ( temp float) +0:14 indirect index (layout( row_major std430) buffer uint) +0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:14 Constant: +0:14 0 (const uint) +0:14 right-shift ( temp int) +0:14 'pos' ( in uint) +0:14 Constant: +0:14 2 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:5 Function Definition: @main(u1; ( temp 4-component vector of float) +0:5 Function Parameters: +0:5 'pos' ( in uint) +0:? Sequence +0:7 Sequence +0:7 move second child to first child ( temp uint) +0:7 'size' ( temp uint) +0:7 array length ( temp uint) +0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:7 Constant: +0:7 0 (const uint) +0:? Sequence +0:9 move second child to first child ( temp int) +0:9 'byteAddrTemp' ( temp int) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:9 move second child to first child ( temp float) +0:9 indirect index ( temp float) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 'byteAddrTemp' ( temp int) +0:9 Convert uint to float ( temp float) +0:9 indirect index (layout( row_major std430) buffer uint) +0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:9 Constant: +0:9 0 (const uint) +0:9 right-shift ( temp int) +0:9 'pos' ( in uint) +0:9 Constant: +0:9 2 (const int) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:10 move second child to first child ( temp float) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 direct index ( temp float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 0 (const int) +0:10 move second child to first child ( temp float) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 direct index ( temp float) +0:? Sequence +0:10 move second child to first child ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 right-shift ( temp int) +0:10 'pos' ( in uint) +0:10 Constant: +0:10 2 (const int) +0:? Construct vec2 ( temp 2-component vector of uint) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 'byteAddrTemp' ( temp int) +0:10 indirect index ( temp float) +0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:10 Constant: +0:10 0 (const uint) +0:10 add ( temp int) +0:10 'byteAddrTemp' ( temp int) +0:10 Constant: +0:10 1 (const int) +0:10 Constant: +0:10 1 (const int) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 1 (const int) +0:11 move second child to first child ( temp float) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 direct index ( temp float) +0:? Sequence +0:11 move second child to first child ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 right-shift ( temp int) +0:11 'pos' ( in uint) +0:11 Constant: +0:11 2 (const int) +0:? Construct vec3 ( temp 3-component vector of uint) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 'byteAddrTemp' ( temp int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 1 (const int) +0:11 indirect index ( temp float) +0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:11 Constant: +0:11 0 (const uint) +0:11 add ( temp int) +0:11 'byteAddrTemp' ( temp int) +0:11 Constant: +0:11 2 (const int) +0:11 Constant: +0:11 2 (const int) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 0 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 1 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 2 (const int) +0:12 move second child to first child ( temp float) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 direct index ( temp float) +0:? Sequence +0:12 move second child to first child ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 right-shift ( temp int) +0:12 'pos' ( in uint) +0:12 Constant: +0:12 2 (const int) +0:? Construct vec4 ( temp 4-component vector of uint) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 'byteAddrTemp' ( temp int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 1 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 2 (const int) +0:12 indirect index ( temp float) +0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:12 Constant: +0:12 0 (const uint) +0:12 add ( temp int) +0:12 'byteAddrTemp' ( temp int) +0:12 Constant: +0:12 3 (const int) +0:12 Constant: +0:12 3 (const int) +0:14 Branch: Return with expression +0:14 Construct vec4 ( temp 4-component vector of float) +0:14 Convert uint to float ( temp float) +0:14 indirect index (layout( row_major std430) buffer uint) +0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) +0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:14 Constant: +0:14 0 (const uint) +0:14 right-shift ( temp int) +0:14 'pos' ( in uint) +0:14 Constant: +0:14 2 (const int) +0:5 Function Definition: main( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp uint) +0:? 'pos' ( temp uint) +0:? 'pos' (layout( location=0) in uint) +0:5 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:5 Function Call: @main(u1; ( temp 4-component vector of float) +0:? 'pos' ( temp uint) +0:? Linker Objects +0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'pos' (layout( location=0) in uint) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 240 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 233 236 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "@main(u1;" + Name 11 "pos" + Name 14 "size" + Name 16 "sbuf" + MemberName 16(sbuf) 0 "@data" + Name 18 "sbuf" + Name 22 "byteAddrTemp" + Name 35 "byteAddrTemp" + Name 39 "byteAddrTemp" + Name 70 "byteAddrTemp" + Name 74 "byteAddrTemp" + Name 129 "byteAddrTemp" + Name 133 "byteAddrTemp" + Name 231 "pos" + Name 233 "pos" + Name 236 "@entryPointOutput" + Name 237 "param" + Decorate 15 ArrayStride 4 + MemberDecorate 16(sbuf) 0 Offset 0 + Decorate 16(sbuf) BufferBlock + Decorate 18(sbuf) DescriptorSet 0 + Decorate 233(pos) Location 0 + Decorate 236(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypePointer Function 6(int) + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10: TypeFunction 9(fvec4) 7(ptr) + 15: TypeRuntimeArray 6(int) + 16(sbuf): TypeStruct 15 + 17: TypePointer Uniform 16(sbuf) + 18(sbuf): 17(ptr) Variable Uniform + 19: TypeInt 32 1 + 21: TypePointer Function 19(int) + 24: 19(int) Constant 2 + 26: 19(int) Constant 0 + 30: TypePointer Uniform 6(int) + 46: 19(int) Constant 1 + 50: TypeVector 6(int) 2 + 52: 6(int) Constant 0 + 67: 6(int) Constant 1 + 88: TypeVector 6(int) 3 + 126: 6(int) Constant 2 + 148: 19(int) Constant 3 + 152: TypeVector 6(int) 4 + 220: 6(int) Constant 3 + 232: TypePointer Input 6(int) + 233(pos): 232(ptr) Variable Input + 235: TypePointer Output 9(fvec4) +236(@entryPointOutput): 235(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 231(pos): 7(ptr) Variable Function + 237(param): 7(ptr) Variable Function + 234: 6(int) Load 233(pos) + Store 231(pos) 234 + 238: 6(int) Load 231(pos) + Store 237(param) 238 + 239: 9(fvec4) FunctionCall 12(@main(u1;) 237(param) + Store 236(@entryPointOutput) 239 + Return + FunctionEnd + 12(@main(u1;): 9(fvec4) Function None 10 + 11(pos): 7(ptr) FunctionParameter + 13: Label + 14(size): 7(ptr) Variable Function +22(byteAddrTemp): 21(ptr) Variable Function +35(byteAddrTemp): 21(ptr) Variable Function +39(byteAddrTemp): 21(ptr) Variable Function +70(byteAddrTemp): 21(ptr) Variable Function +74(byteAddrTemp): 21(ptr) Variable Function +129(byteAddrTemp): 21(ptr) Variable Function +133(byteAddrTemp): 21(ptr) Variable Function + 20: 19(int) ArrayLength 18(sbuf) 0 + Store 14(size) 20 + 23: 6(int) Load 11(pos) + 25: 19(int) ShiftRightLogical 23 24 + Store 22(byteAddrTemp) 25 + 27: 19(int) Load 22(byteAddrTemp) + 28: 6(int) Load 11(pos) + 29: 19(int) ShiftRightLogical 28 24 + 31: 30(ptr) AccessChain 18(sbuf) 26 29 + 32: 6(int) Load 31 + 33: 8(float) ConvertUToF 32 + 34: 30(ptr) AccessChain 18(sbuf) 26 27 + Store 34 33 + 36: 6(int) Load 11(pos) + 37: 19(int) ShiftRightLogical 36 24 + Store 35(byteAddrTemp) 37 + 38: 19(int) Load 35(byteAddrTemp) + 40: 6(int) Load 11(pos) + 41: 19(int) ShiftRightLogical 40 24 + Store 39(byteAddrTemp) 41 + 42: 19(int) Load 39(byteAddrTemp) + 43: 30(ptr) AccessChain 18(sbuf) 26 42 + 44: 6(int) Load 43 + 45: 19(int) Load 39(byteAddrTemp) + 47: 19(int) IAdd 45 46 + 48: 30(ptr) AccessChain 18(sbuf) 26 47 + 49: 6(int) Load 48 + 51: 50(ivec2) CompositeConstruct 44 49 + 53: 6(int) CompositeExtract 51 0 + 54: 30(ptr) AccessChain 18(sbuf) 26 38 + Store 54 53 + 55: 19(int) Load 35(byteAddrTemp) + 56: 19(int) IAdd 55 46 + 57: 6(int) Load 11(pos) + 58: 19(int) ShiftRightLogical 57 24 + Store 39(byteAddrTemp) 58 + 59: 19(int) Load 39(byteAddrTemp) + 60: 30(ptr) AccessChain 18(sbuf) 26 59 + 61: 6(int) Load 60 + 62: 19(int) Load 39(byteAddrTemp) + 63: 19(int) IAdd 62 46 + 64: 30(ptr) AccessChain 18(sbuf) 26 63 + 65: 6(int) Load 64 + 66: 50(ivec2) CompositeConstruct 61 65 + 68: 6(int) CompositeExtract 66 1 + 69: 30(ptr) AccessChain 18(sbuf) 26 56 + Store 69 68 + 71: 6(int) Load 11(pos) + 72: 19(int) ShiftRightLogical 71 24 + Store 70(byteAddrTemp) 72 + 73: 19(int) Load 70(byteAddrTemp) + 75: 6(int) Load 11(pos) + 76: 19(int) ShiftRightLogical 75 24 + Store 74(byteAddrTemp) 76 + 77: 19(int) Load 74(byteAddrTemp) + 78: 30(ptr) AccessChain 18(sbuf) 26 77 + 79: 6(int) Load 78 + 80: 19(int) Load 74(byteAddrTemp) + 81: 19(int) IAdd 80 46 + 82: 30(ptr) AccessChain 18(sbuf) 26 81 + 83: 6(int) Load 82 + 84: 19(int) Load 74(byteAddrTemp) + 85: 19(int) IAdd 84 24 + 86: 30(ptr) AccessChain 18(sbuf) 26 85 + 87: 6(int) Load 86 + 89: 88(ivec3) CompositeConstruct 79 83 87 + 90: 6(int) CompositeExtract 89 0 + 91: 30(ptr) AccessChain 18(sbuf) 26 73 + Store 91 90 + 92: 19(int) Load 70(byteAddrTemp) + 93: 19(int) IAdd 92 46 + 94: 6(int) Load 11(pos) + 95: 19(int) ShiftRightLogical 94 24 + Store 74(byteAddrTemp) 95 + 96: 19(int) Load 74(byteAddrTemp) + 97: 30(ptr) AccessChain 18(sbuf) 26 96 + 98: 6(int) Load 97 + 99: 19(int) Load 74(byteAddrTemp) + 100: 19(int) IAdd 99 46 + 101: 30(ptr) AccessChain 18(sbuf) 26 100 + 102: 6(int) Load 101 + 103: 19(int) Load 74(byteAddrTemp) + 104: 19(int) IAdd 103 24 + 105: 30(ptr) AccessChain 18(sbuf) 26 104 + 106: 6(int) Load 105 + 107: 88(ivec3) CompositeConstruct 98 102 106 + 108: 6(int) CompositeExtract 107 1 + 109: 30(ptr) AccessChain 18(sbuf) 26 93 + Store 109 108 + 110: 19(int) Load 70(byteAddrTemp) + 111: 19(int) IAdd 110 24 + 112: 6(int) Load 11(pos) + 113: 19(int) ShiftRightLogical 112 24 + Store 74(byteAddrTemp) 113 + 114: 19(int) Load 74(byteAddrTemp) + 115: 30(ptr) AccessChain 18(sbuf) 26 114 + 116: 6(int) Load 115 + 117: 19(int) Load 74(byteAddrTemp) + 118: 19(int) IAdd 117 46 + 119: 30(ptr) AccessChain 18(sbuf) 26 118 + 120: 6(int) Load 119 + 121: 19(int) Load 74(byteAddrTemp) + 122: 19(int) IAdd 121 24 + 123: 30(ptr) AccessChain 18(sbuf) 26 122 + 124: 6(int) Load 123 + 125: 88(ivec3) CompositeConstruct 116 120 124 + 127: 6(int) CompositeExtract 125 2 + 128: 30(ptr) AccessChain 18(sbuf) 26 111 + Store 128 127 + 130: 6(int) Load 11(pos) + 131: 19(int) ShiftRightLogical 130 24 + Store 129(byteAddrTemp) 131 + 132: 19(int) Load 129(byteAddrTemp) + 134: 6(int) Load 11(pos) + 135: 19(int) ShiftRightLogical 134 24 + Store 133(byteAddrTemp) 135 + 136: 19(int) Load 133(byteAddrTemp) + 137: 30(ptr) AccessChain 18(sbuf) 26 136 + 138: 6(int) Load 137 + 139: 19(int) Load 133(byteAddrTemp) + 140: 19(int) IAdd 139 46 + 141: 30(ptr) AccessChain 18(sbuf) 26 140 + 142: 6(int) Load 141 + 143: 19(int) Load 133(byteAddrTemp) + 144: 19(int) IAdd 143 24 + 145: 30(ptr) AccessChain 18(sbuf) 26 144 + 146: 6(int) Load 145 + 147: 19(int) Load 133(byteAddrTemp) + 149: 19(int) IAdd 147 148 + 150: 30(ptr) AccessChain 18(sbuf) 26 149 + 151: 6(int) Load 150 + 153: 152(ivec4) CompositeConstruct 138 142 146 151 + 154: 6(int) CompositeExtract 153 0 + 155: 30(ptr) AccessChain 18(sbuf) 26 132 + Store 155 154 + 156: 19(int) Load 129(byteAddrTemp) + 157: 19(int) IAdd 156 46 + 158: 6(int) Load 11(pos) + 159: 19(int) ShiftRightLogical 158 24 + Store 133(byteAddrTemp) 159 + 160: 19(int) Load 133(byteAddrTemp) + 161: 30(ptr) AccessChain 18(sbuf) 26 160 + 162: 6(int) Load 161 + 163: 19(int) Load 133(byteAddrTemp) + 164: 19(int) IAdd 163 46 + 165: 30(ptr) AccessChain 18(sbuf) 26 164 + 166: 6(int) Load 165 + 167: 19(int) Load 133(byteAddrTemp) + 168: 19(int) IAdd 167 24 + 169: 30(ptr) AccessChain 18(sbuf) 26 168 + 170: 6(int) Load 169 + 171: 19(int) Load 133(byteAddrTemp) + 172: 19(int) IAdd 171 148 + 173: 30(ptr) AccessChain 18(sbuf) 26 172 + 174: 6(int) Load 173 + 175: 152(ivec4) CompositeConstruct 162 166 170 174 + 176: 6(int) CompositeExtract 175 1 + 177: 30(ptr) AccessChain 18(sbuf) 26 157 + Store 177 176 + 178: 19(int) Load 129(byteAddrTemp) + 179: 19(int) IAdd 178 24 + 180: 6(int) Load 11(pos) + 181: 19(int) ShiftRightLogical 180 24 + Store 133(byteAddrTemp) 181 + 182: 19(int) Load 133(byteAddrTemp) + 183: 30(ptr) AccessChain 18(sbuf) 26 182 + 184: 6(int) Load 183 + 185: 19(int) Load 133(byteAddrTemp) + 186: 19(int) IAdd 185 46 + 187: 30(ptr) AccessChain 18(sbuf) 26 186 + 188: 6(int) Load 187 + 189: 19(int) Load 133(byteAddrTemp) + 190: 19(int) IAdd 189 24 + 191: 30(ptr) AccessChain 18(sbuf) 26 190 + 192: 6(int) Load 191 + 193: 19(int) Load 133(byteAddrTemp) + 194: 19(int) IAdd 193 148 + 195: 30(ptr) AccessChain 18(sbuf) 26 194 + 196: 6(int) Load 195 + 197: 152(ivec4) CompositeConstruct 184 188 192 196 + 198: 6(int) CompositeExtract 197 2 + 199: 30(ptr) AccessChain 18(sbuf) 26 179 + Store 199 198 + 200: 19(int) Load 129(byteAddrTemp) + 201: 19(int) IAdd 200 148 + 202: 6(int) Load 11(pos) + 203: 19(int) ShiftRightLogical 202 24 + Store 133(byteAddrTemp) 203 + 204: 19(int) Load 133(byteAddrTemp) + 205: 30(ptr) AccessChain 18(sbuf) 26 204 + 206: 6(int) Load 205 + 207: 19(int) Load 133(byteAddrTemp) + 208: 19(int) IAdd 207 46 + 209: 30(ptr) AccessChain 18(sbuf) 26 208 + 210: 6(int) Load 209 + 211: 19(int) Load 133(byteAddrTemp) + 212: 19(int) IAdd 211 24 + 213: 30(ptr) AccessChain 18(sbuf) 26 212 + 214: 6(int) Load 213 + 215: 19(int) Load 133(byteAddrTemp) + 216: 19(int) IAdd 215 148 + 217: 30(ptr) AccessChain 18(sbuf) 26 216 + 218: 6(int) Load 217 + 219: 152(ivec4) CompositeConstruct 206 210 214 218 + 221: 6(int) CompositeExtract 219 3 + 222: 30(ptr) AccessChain 18(sbuf) 26 201 + Store 222 221 + 223: 6(int) Load 11(pos) + 224: 19(int) ShiftRightLogical 223 24 + 225: 30(ptr) AccessChain 18(sbuf) 26 224 + 226: 6(int) Load 225 + 227: 8(float) ConvertUToF 226 + 228: 9(fvec4) CompositeConstruct 227 227 227 227 + ReturnValue 228 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out index 5e83ed4fac9..c621941e6e0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out @@ -1,71 +1,132 @@ hlsl.structin.vert Shader version: 450 0:? Sequence -0:8 Function Definition: main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: -0:8 'd' (layout(location=0 ) in 4-component vector of float) -0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:8 'e' (layout(location=5 ) in 4-component vector of float) +0:8 'd' ( in 4-component vector of float) +0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'e' ( in 4-component vector of float) 0:? Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 b: direct index for structure (temp 4-component vector of float) -0:11 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 b: direct index for structure ( temp 4-component vector of float) +0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 Constant: 0:11 2 (const int) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:11 Construct vec4 (temp 4-component vector of float) -0:11 Convert uint to float (temp float) -0:11 direct index (temp uint) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float) +0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (layout(location=0 ) in 4-component vector of float) -0:11 'e' (layout(location=5 ) in 4-component vector of float) -0:13 Sequence -0:13 Sequence -0:13 move second child to first child (temp 2-element array of 4-component vector of float) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 move second child to first child (temp 2-component vector of uint) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 move second child to first child (temp 4-component vector of float) -0:13 b: direct index for structure (smooth temp 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 b: direct index for structure (temp 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 Branch: Return +0:11 Constant: +0:11 1 (const int) +0:11 direct index ( temp 4-component vector of float) +0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 Construct vec4 ( temp 4-component vector of float) +0:11 Convert uint to float ( temp float) +0:11 direct index ( temp uint) +0:11 coord: direct index for structure ( temp 2-component vector of uint) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 1 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 'd' ( in 4-component vector of float) +0:11 'e' ( in 4-component vector of float) +0:13 Branch: Return with expression +0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: main( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'd' ( temp 4-component vector of float) +0:? 'd' (layout( location=0) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:8 direct index ( temp 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 0 (const int) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 direct index ( temp 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:8 move second child to first child ( temp 2-component vector of uint) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:? 'coord' (layout( location=3) in 2-component vector of uint) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:? 'b' (layout( location=4) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'e' ( temp 4-component vector of float) +0:? 'e' (layout( location=5) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' ( temp 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'e' ( temp 4-component vector of float) +0:8 move second child to first child ( temp 2-element array of 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 move second child to first child ( temp 2-component vector of uint) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:? 'd' (layout(location=0 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) -0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'e' (layout(location=5 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' (layout( location=0) in 4-component vector of float) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:? 'coord' (layout( location=3) in 2-component vector of uint) +0:? 'b' (layout( location=4) in 4-component vector of float) +0:? 'e' (layout( location=5) in 4-component vector of float) Linked vertex stage: @@ -73,165 +134,279 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:8 Function Definition: main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; (temp structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Parameters: -0:8 'd' (layout(location=0 ) in 4-component vector of float) -0:8 'vi' (in structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:8 'e' (layout(location=5 ) in 4-component vector of float) +0:8 'd' ( in 4-component vector of float) +0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'e' ( in 4-component vector of float) 0:? Sequence -0:11 move second child to first child (temp 4-component vector of float) -0:11 b: direct index for structure (temp 4-component vector of float) -0:11 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 move second child to first child ( temp 4-component vector of float) +0:11 b: direct index for structure ( temp 4-component vector of float) +0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 Constant: 0:11 2 (const int) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:11 add (temp 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:11 Construct vec4 (temp 4-component vector of float) -0:11 Convert uint to float (temp float) -0:11 direct index (temp uint) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 add ( temp 4-component vector of float) +0:11 direct index ( temp 4-component vector of float) +0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (layout(location=0 ) in 4-component vector of float) -0:11 'e' (layout(location=5 ) in 4-component vector of float) -0:13 Sequence -0:13 Sequence -0:13 move second child to first child (temp 2-element array of 4-component vector of float) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 m: direct index for structure (temp 2-element array of 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 0 (const int) -0:13 move second child to first child (temp 2-component vector of uint) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 coord: direct index for structure (temp 2-component vector of uint) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 1 (const int) -0:13 move second child to first child (temp 4-component vector of float) -0:13 b: direct index for structure (smooth temp 4-component vector of float) -0:13 '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 b: direct index for structure (temp 4-component vector of float) -0:13 'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) -0:13 Constant: -0:13 2 (const int) -0:13 Branch: Return +0:11 Constant: +0:11 1 (const int) +0:11 direct index ( temp 4-component vector of float) +0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 Construct vec4 ( temp 4-component vector of float) +0:11 Convert uint to float ( temp float) +0:11 direct index ( temp uint) +0:11 coord: direct index for structure ( temp 2-component vector of uint) +0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:11 Constant: +0:11 1 (const int) +0:11 Constant: +0:11 0 (const int) +0:11 'd' ( in 4-component vector of float) +0:11 'e' ( in 4-component vector of float) +0:13 Branch: Return with expression +0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Definition: main( ( temp void) +0:8 Function Parameters: +0:? Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'd' ( temp 4-component vector of float) +0:? 'd' (layout( location=0) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child ( temp 4-component vector of float) +0:8 direct index ( temp 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 0 (const int) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 direct index ( temp 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:8 move second child to first child ( temp 2-component vector of uint) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:? 'coord' (layout( location=3) in 2-component vector of uint) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:? 'b' (layout( location=4) in 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:? 'e' ( temp 4-component vector of float) +0:? 'e' (layout( location=5) in 4-component vector of float) +0:8 Sequence +0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' ( temp 4-component vector of float) +0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'e' ( temp 4-component vector of float) +0:8 move second child to first child ( temp 2-element array of 4-component vector of float) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 0 (const int) +0:8 move second child to first child ( temp 2-component vector of uint) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 coord: direct index for structure ( temp 2-component vector of uint) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 1 (const int) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) +0:8 b: direct index for structure ( temp 4-component vector of float) +0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:8 Constant: +0:8 2 (const int) 0:? Linker Objects -0:? '@entryPointOutput' (out structure Position{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, smooth temp 4-component vector of float b}) -0:? 'd' (layout(location=0 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) -0:? 'coord' (layout(location=3 ) in 2-component vector of uint) -0:? 'b' (layout(location=4 ) smooth in 4-component vector of float) -0:? 'e' (layout(location=5 ) in 4-component vector of float) -0:? 'm[0]' (layout(location=1 ) in 4-component vector of float) -0:? 'm[1]' (layout(location=2 ) in 4-component vector of float) +0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) +0:? 'd' (layout( location=0) in 4-component vector of float) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:? 'm[0]' (layout( location=1) in 4-component vector of float) +0:? 'm[1]' (layout( location=2) in 4-component vector of float) +0:? 'coord' (layout( location=3) in 2-component vector of uint) +0:? 'b' (layout( location=4) in 4-component vector of float) +0:? 'e' (layout( location=5) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 61 +// Id's are bound by 92 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 18 20 24 32 35 42 60 + EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78 Name 4 "main" - Name 12 "VI" - MemberName 12(VI) 0 "m" - MemberName 12(VI) 1 "coord" - MemberName 12(VI) 2 "b" - Name 14 "local" - Name 18 "m[1]" - Name 20 "m[0]" - Name 24 "coord" - Name 32 "d" - Name 35 "e" - Name 40 "VI" - MemberName 40(VI) 0 "m" - MemberName 40(VI) 1 "coord" - MemberName 40(VI) 2 "b" - Name 42 "@entryPointOutput" - Name 60 "b" - Decorate 18(m[1]) Location 2 - Decorate 20(m[0]) Location 1 - Decorate 24(coord) Location 3 - Decorate 32(d) Location 0 - Decorate 35(e) Location 5 - Decorate 42(@entryPointOutput) BuiltIn Position - Decorate 60(b) Location 4 + Name 13 "VI" + MemberName 13(VI) 0 "m" + MemberName 13(VI) 1 "coord" + MemberName 13(VI) 2 "b" + Name 19 "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;" + Name 16 "d" + Name 17 "vi" + Name 18 "e" + Name 21 "local" + Name 46 "d" + Name 48 "d" + Name 50 "vi" + Name 51 "m[0]" + Name 54 "m[1]" + Name 58 "coord" + Name 62 "b" + Name 65 "e" + Name 66 "e" + Name 68 "flattenTemp" + Name 69 "param" + Name 71 "param" + Name 73 "param" + Name 76 "VI" + MemberName 76(VI) 0 "m" + MemberName 76(VI) 1 "coord" + MemberName 76(VI) 2 "b" + Name 78 "@entryPointOutput" + Decorate 48(d) Location 0 + Decorate 51(m[0]) Location 1 + Decorate 54(m[1]) Location 2 + Decorate 58(coord) Location 3 + Decorate 62(b) Location 4 + Decorate 66(e) Location 5 + Decorate 78(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypeInt 32 0 - 9: 8(int) Constant 2 - 10: TypeArray 7(fvec4) 9 - 11: TypeVector 8(int) 2 - 12(VI): TypeStruct 10 11(ivec2) 7(fvec4) - 13: TypePointer Function 12(VI) - 15: TypeInt 32 1 - 16: 15(int) Constant 2 - 17: TypePointer Input 7(fvec4) - 18(m[1]): 17(ptr) Variable Input - 20(m[0]): 17(ptr) Variable Input - 23: TypePointer Input 11(ivec2) - 24(coord): 23(ptr) Variable Input - 25: 8(int) Constant 0 - 26: TypePointer Input 8(int) - 32(d): 17(ptr) Variable Input - 35(e): 17(ptr) Variable Input - 38: TypePointer Function 7(fvec4) - 40(VI): TypeStruct 10 11(ivec2) 7(fvec4) - 41: TypePointer Output 40(VI) -42(@entryPointOutput): 41(ptr) Variable Output - 43: 15(int) Constant 0 - 44: TypePointer Function 10 - 47: TypePointer Output 10 - 49: 15(int) Constant 1 - 50: TypePointer Function 11(ivec2) - 53: TypePointer Output 11(ivec2) - 57: TypePointer Output 7(fvec4) - 60(b): 17(ptr) Variable Input + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 0 + 10: 9(int) Constant 2 + 11: TypeArray 7(fvec4) 10 + 12: TypeVector 9(int) 2 + 13(VI): TypeStruct 11 12(ivec2) 7(fvec4) + 14: TypePointer Function 13(VI) + 15: TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr) + 22: TypeInt 32 1 + 23: 22(int) Constant 2 + 24: 22(int) Constant 0 + 25: 22(int) Constant 1 + 31: 9(int) Constant 0 + 32: TypePointer Function 9(int) + 47: TypePointer Input 7(fvec4) + 48(d): 47(ptr) Variable Input + 51(m[0]): 47(ptr) Variable Input + 54(m[1]): 47(ptr) Variable Input + 57: TypePointer Input 12(ivec2) + 58(coord): 57(ptr) Variable Input + 60: TypePointer Function 12(ivec2) + 62(b): 47(ptr) Variable Input + 66(e): 47(ptr) Variable Input + 76(VI): TypeStruct 11 12(ivec2) 7(fvec4) + 77: TypePointer Output 76(VI) +78(@entryPointOutput): 77(ptr) Variable Output + 79: TypePointer Function 11 + 82: TypePointer Output 11 + 86: TypePointer Output 12(ivec2) + 90: TypePointer Output 7(fvec4) 4(main): 2 Function None 3 5: Label - 14(local): 13(ptr) Variable Function - 19: 7(fvec4) Load 18(m[1]) - 21: 7(fvec4) Load 20(m[0]) - 22: 7(fvec4) FAdd 19 21 - 27: 26(ptr) AccessChain 24(coord) 25 - 28: 8(int) Load 27 - 29: 6(float) ConvertUToF 28 - 30: 7(fvec4) CompositeConstruct 29 29 29 29 - 31: 7(fvec4) FAdd 22 30 - 33: 7(fvec4) Load 32(d) - 34: 7(fvec4) FAdd 31 33 - 36: 7(fvec4) Load 35(e) - 37: 7(fvec4) FAdd 34 36 - 39: 38(ptr) AccessChain 14(local) 16 - Store 39 37 - 45: 44(ptr) AccessChain 14(local) 43 - 46: 10 Load 45 - 48: 47(ptr) AccessChain 42(@entryPointOutput) 43 - Store 48 46 - 51: 50(ptr) AccessChain 14(local) 49 - 52: 11(ivec2) Load 51 - 54: 53(ptr) AccessChain 42(@entryPointOutput) 49 - Store 54 52 - 55: 38(ptr) AccessChain 14(local) 16 - 56: 7(fvec4) Load 55 - 58: 57(ptr) AccessChain 42(@entryPointOutput) 16 - Store 58 56 + 46(d): 8(ptr) Variable Function + 50(vi): 14(ptr) Variable Function + 65(e): 8(ptr) Variable Function + 68(flattenTemp): 14(ptr) Variable Function + 69(param): 8(ptr) Variable Function + 71(param): 14(ptr) Variable Function + 73(param): 8(ptr) Variable Function + 49: 7(fvec4) Load 48(d) + Store 46(d) 49 + 52: 7(fvec4) Load 51(m[0]) + 53: 8(ptr) AccessChain 50(vi) 24 24 + Store 53 52 + 55: 7(fvec4) Load 54(m[1]) + 56: 8(ptr) AccessChain 50(vi) 24 25 + Store 56 55 + 59: 12(ivec2) Load 58(coord) + 61: 60(ptr) AccessChain 50(vi) 25 + Store 61 59 + 63: 7(fvec4) Load 62(b) + 64: 8(ptr) AccessChain 50(vi) 23 + Store 64 63 + 67: 7(fvec4) Load 66(e) + Store 65(e) 67 + 70: 7(fvec4) Load 46(d) + Store 69(param) 70 + 72: 13(VI) Load 50(vi) + Store 71(param) 72 + 74: 7(fvec4) Load 65(e) + Store 73(param) 74 + 75: 13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param) + Store 68(flattenTemp) 75 + 80: 79(ptr) AccessChain 68(flattenTemp) 24 + 81: 11 Load 80 + 83: 82(ptr) AccessChain 78(@entryPointOutput) 24 + Store 83 81 + 84: 60(ptr) AccessChain 68(flattenTemp) 25 + 85: 12(ivec2) Load 84 + 87: 86(ptr) AccessChain 78(@entryPointOutput) 25 + Store 87 85 + 88: 8(ptr) AccessChain 68(flattenTemp) 23 + 89: 7(fvec4) Load 88 + 91: 90(ptr) AccessChain 78(@entryPointOutput) 23 + Store 91 89 Return FunctionEnd +19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;): 13(VI) Function None 15 + 16(d): 8(ptr) FunctionParameter + 17(vi): 14(ptr) FunctionParameter + 18(e): 8(ptr) FunctionParameter + 20: Label + 21(local): 14(ptr) Variable Function + 26: 8(ptr) AccessChain 17(vi) 24 25 + 27: 7(fvec4) Load 26 + 28: 8(ptr) AccessChain 17(vi) 24 24 + 29: 7(fvec4) Load 28 + 30: 7(fvec4) FAdd 27 29 + 33: 32(ptr) AccessChain 17(vi) 25 31 + 34: 9(int) Load 33 + 35: 6(float) ConvertUToF 34 + 36: 7(fvec4) CompositeConstruct 35 35 35 35 + 37: 7(fvec4) FAdd 30 36 + 38: 7(fvec4) Load 16(d) + 39: 7(fvec4) FAdd 37 38 + 40: 7(fvec4) Load 18(e) + 41: 7(fvec4) FAdd 39 40 + 42: 8(ptr) AccessChain 21(local) 23 + Store 42 41 + 43: 13(VI) Load 21(local) + ReturnValue 43 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out index af516e2c92c..8ee9d7c4249 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.switch.frag.out @@ -2,16 +2,16 @@ hlsl.switch.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) -0:2 'c' (layout(location=1 ) in int) -0:2 'd' (layout(location=2 ) in int) +0:2 'input' ( in 4-component vector of float) +0:2 'c' ( in int) +0:2 'd' ( in int) 0:? Sequence -0:3 'c' (layout(location=1 ) in int) +0:3 'c' ( in int) 0:7 switch 0:7 condition -0:7 'c' (layout(location=1 ) in int) +0:7 'c' ( in int) 0:7 body 0:7 Sequence 0:9 default: @@ -19,34 +19,34 @@ gl_FragCoord origin is upper left 0:7 Branch: Break 0:12 switch 0:12 condition -0:12 'c' (layout(location=1 ) in int) +0:12 'c' ( in int) 0:12 body 0:12 Sequence 0:13 case: with expression 0:13 Constant: 0:13 1 (const int) 0:? Sequence -0:14 Pre-Increment (temp 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 Pre-Increment ( temp 4-component vector of float) +0:14 'input' ( in 4-component vector of float) 0:15 Branch: Break 0:16 case: with expression 0:16 Constant: 0:16 2 (const int) 0:? Sequence -0:17 Pre-Decrement (temp 4-component vector of float) -0:17 'input' (layout(location=0 ) in 4-component vector of float) +0:17 Pre-Decrement ( temp 4-component vector of float) +0:17 'input' ( in 4-component vector of float) 0:18 Branch: Break 0:21 switch 0:21 condition -0:21 'c' (layout(location=1 ) in int) +0:21 'c' ( in int) 0:21 body 0:21 Sequence 0:22 case: with expression 0:22 Constant: 0:22 1 (const int) 0:? Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'input' ( in 4-component vector of float) 0:24 Branch: Break 0:25 case: with expression 0:25 Constant: @@ -54,15 +54,15 @@ gl_FragCoord origin is upper left 0:? Sequence 0:26 switch 0:26 condition -0:26 'd' (layout(location=2 ) in int) +0:26 'd' ( in int) 0:26 body 0:26 Sequence 0:27 case: with expression 0:27 Constant: 0:27 2 (const int) 0:? Sequence -0:28 add second child into first child (temp 4-component vector of float) -0:28 'input' (layout(location=0 ) in 4-component vector of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'input' ( in 4-component vector of float) 0:28 Constant: 0:28 2.000000 0:29 Branch: Break @@ -70,21 +70,21 @@ gl_FragCoord origin is upper left 0:30 Constant: 0:30 3 (const int) 0:? Sequence -0:31 add second child into first child (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'input' ( in 4-component vector of float) 0:31 Constant: 0:31 3.000000 0:32 Branch: Break 0:34 Branch: Break 0:35 default: 0:? Sequence -0:36 add second child into first child (temp 4-component vector of float) -0:36 'input' (layout(location=0 ) in 4-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'input' ( in 4-component vector of float) 0:36 Constant: 0:36 4.000000 0:39 switch 0:39 condition -0:39 'c' (layout(location=1 ) in int) +0:39 'c' ( in int) 0:39 body 0:39 Sequence 0:40 case: with expression @@ -94,7 +94,7 @@ gl_FragCoord origin is upper left 0:39 Branch: Break 0:43 switch 0:43 condition -0:43 'c' (layout(location=1 ) in int) +0:43 'c' ( in int) 0:43 body 0:43 Sequence 0:44 case: with expression @@ -107,8 +107,8 @@ gl_FragCoord origin is upper left 0:46 Constant: 0:46 3 (const int) 0:? Sequence -0:47 Pre-Increment (temp 4-component vector of float) -0:47 'input' (layout(location=0 ) in 4-component vector of float) +0:47 Pre-Increment ( temp 4-component vector of float) +0:47 'input' ( in 4-component vector of float) 0:48 Branch: Break 0:49 case: with expression 0:49 Constant: @@ -117,18 +117,33 @@ gl_FragCoord origin is upper left 0:50 Constant: 0:50 5 (const int) 0:? Sequence -0:51 Pre-Decrement (temp 4-component vector of float) -0:51 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:54 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Branch: Return +0:51 Pre-Decrement ( temp 4-component vector of float) +0:51 'input' ( in 4-component vector of float) +0:54 Branch: Return with expression +0:54 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp int) +0:? 'c' ( temp int) +0:? 'c' (layout( location=1) in int) +0:2 move second child to first child ( temp int) +0:? 'd' ( temp int) +0:? 'd' (layout( location=2) in int) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'c' ( temp int) +0:? 'd' ( temp int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'c' (layout(location=1 ) in int) -0:? 'd' (layout(location=2 ) in int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'c' (layout( location=1) in int) +0:? 'd' (layout( location=2) in int) Linked fragment stage: @@ -137,16 +152,16 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4;i1;i1; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) -0:2 'c' (layout(location=1 ) in int) -0:2 'd' (layout(location=2 ) in int) +0:2 'input' ( in 4-component vector of float) +0:2 'c' ( in int) +0:2 'd' ( in int) 0:? Sequence -0:3 'c' (layout(location=1 ) in int) +0:3 'c' ( in int) 0:7 switch 0:7 condition -0:7 'c' (layout(location=1 ) in int) +0:7 'c' ( in int) 0:7 body 0:7 Sequence 0:9 default: @@ -154,34 +169,34 @@ gl_FragCoord origin is upper left 0:7 Branch: Break 0:12 switch 0:12 condition -0:12 'c' (layout(location=1 ) in int) +0:12 'c' ( in int) 0:12 body 0:12 Sequence 0:13 case: with expression 0:13 Constant: 0:13 1 (const int) 0:? Sequence -0:14 Pre-Increment (temp 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 Pre-Increment ( temp 4-component vector of float) +0:14 'input' ( in 4-component vector of float) 0:15 Branch: Break 0:16 case: with expression 0:16 Constant: 0:16 2 (const int) 0:? Sequence -0:17 Pre-Decrement (temp 4-component vector of float) -0:17 'input' (layout(location=0 ) in 4-component vector of float) +0:17 Pre-Decrement ( temp 4-component vector of float) +0:17 'input' ( in 4-component vector of float) 0:18 Branch: Break 0:21 switch 0:21 condition -0:21 'c' (layout(location=1 ) in int) +0:21 'c' ( in int) 0:21 body 0:21 Sequence 0:22 case: with expression 0:22 Constant: 0:22 1 (const int) 0:? Sequence -0:23 Pre-Increment (temp 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 Pre-Increment ( temp 4-component vector of float) +0:23 'input' ( in 4-component vector of float) 0:24 Branch: Break 0:25 case: with expression 0:25 Constant: @@ -189,15 +204,15 @@ gl_FragCoord origin is upper left 0:? Sequence 0:26 switch 0:26 condition -0:26 'd' (layout(location=2 ) in int) +0:26 'd' ( in int) 0:26 body 0:26 Sequence 0:27 case: with expression 0:27 Constant: 0:27 2 (const int) 0:? Sequence -0:28 add second child into first child (temp 4-component vector of float) -0:28 'input' (layout(location=0 ) in 4-component vector of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'input' ( in 4-component vector of float) 0:28 Constant: 0:28 2.000000 0:29 Branch: Break @@ -205,21 +220,21 @@ gl_FragCoord origin is upper left 0:30 Constant: 0:30 3 (const int) 0:? Sequence -0:31 add second child into first child (temp 4-component vector of float) -0:31 'input' (layout(location=0 ) in 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'input' ( in 4-component vector of float) 0:31 Constant: 0:31 3.000000 0:32 Branch: Break 0:34 Branch: Break 0:35 default: 0:? Sequence -0:36 add second child into first child (temp 4-component vector of float) -0:36 'input' (layout(location=0 ) in 4-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'input' ( in 4-component vector of float) 0:36 Constant: 0:36 4.000000 0:39 switch 0:39 condition -0:39 'c' (layout(location=1 ) in int) +0:39 'c' ( in int) 0:39 body 0:39 Sequence 0:40 case: with expression @@ -229,7 +244,7 @@ gl_FragCoord origin is upper left 0:39 Branch: Break 0:43 switch 0:43 condition -0:43 'c' (layout(location=1 ) in int) +0:43 'c' ( in int) 0:43 body 0:43 Sequence 0:44 case: with expression @@ -242,8 +257,8 @@ gl_FragCoord origin is upper left 0:46 Constant: 0:46 3 (const int) 0:? Sequence -0:47 Pre-Increment (temp 4-component vector of float) -0:47 'input' (layout(location=0 ) in 4-component vector of float) +0:47 Pre-Increment ( temp 4-component vector of float) +0:47 'input' ( in 4-component vector of float) 0:48 Branch: Break 0:49 case: with expression 0:49 Constant: @@ -252,146 +267,200 @@ gl_FragCoord origin is upper left 0:50 Constant: 0:50 5 (const int) 0:? Sequence -0:51 Pre-Decrement (temp 4-component vector of float) -0:51 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Sequence -0:54 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:54 'input' (layout(location=0 ) in 4-component vector of float) -0:54 Branch: Return +0:51 Pre-Decrement ( temp 4-component vector of float) +0:51 'input' ( in 4-component vector of float) +0:54 Branch: Return with expression +0:54 'input' ( in 4-component vector of float) +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp int) +0:? 'c' ( temp int) +0:? 'c' (layout( location=1) in int) +0:2 move second child to first child ( temp int) +0:? 'd' ( temp int) +0:? 'd' (layout( location=2) in int) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'c' ( temp int) +0:? 'd' ( temp int) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) -0:? 'c' (layout(location=1 ) in int) -0:? 'd' (layout(location=2 ) in int) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:? 'c' (layout( location=1) in int) +0:? 'd' (layout( location=2) in int) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 84 +// Id's are bound by 106 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 8 21 41 81 + EntryPoint Fragment 4 "PixelShaderFunction" 88 92 95 98 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 8 "c" - Name 21 "input" - Name 41 "d" - Name 81 "@entryPointOutput" - Decorate 8(c) Location 1 - Decorate 21(input) Location 0 - Decorate 41(d) Location 2 - Decorate 81(@entryPointOutput) Location 0 + Name 15 "@PixelShaderFunction(vf4;i1;i1;" + Name 12 "input" + Name 13 "c" + Name 14 "d" + Name 86 "input" + Name 88 "input" + Name 90 "c" + Name 92 "c" + Name 94 "d" + Name 95 "d" + Name 98 "@entryPointOutput" + Name 99 "param" + Name 101 "param" + Name 103 "param" + Decorate 88(input) Location 0 + Decorate 92(c) Location 1 + Decorate 95(d) Location 2 + Decorate 98(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypePointer Input 6(int) - 8(c): 7(ptr) Variable Input - 18: TypeFloat 32 - 19: TypeVector 18(float) 4 - 20: TypePointer Input 19(fvec4) - 21(input): 20(ptr) Variable Input - 23: 18(float) Constant 1065353216 - 41(d): 7(ptr) Variable Input - 46: 18(float) Constant 1073741824 - 51: 18(float) Constant 1077936128 - 58: 18(float) Constant 1082130432 - 80: TypePointer Output 19(fvec4) -81(@entryPointOutput): 80(ptr) Variable Output + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeInt 32 1 + 10: TypePointer Function 9(int) + 11: TypeFunction 7(fvec4) 8(ptr) 10(ptr) 10(ptr) + 27: 6(float) Constant 1065353216 + 49: 6(float) Constant 1073741824 + 54: 6(float) Constant 1077936128 + 61: 6(float) Constant 1082130432 + 87: TypePointer Input 7(fvec4) + 88(input): 87(ptr) Variable Input + 91: TypePointer Input 9(int) + 92(c): 91(ptr) Variable Input + 95(d): 91(ptr) Variable Input + 97: TypePointer Output 7(fvec4) +98(@entryPointOutput): 97(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 9: 6(int) Load 8(c) - SelectionMerge 11 None - Switch 9 10 - 10: Label - Branch 11 - 11: Label - 14: 6(int) Load 8(c) - SelectionMerge 17 None - Switch 14 17 - case 1: 15 - case 2: 16 - 15: Label - 22: 19(fvec4) Load 21(input) - 24: 19(fvec4) CompositeConstruct 23 23 23 23 - 25: 19(fvec4) FAdd 22 24 - Store 21(input) 25 - Branch 17 - 16: Label - 27: 19(fvec4) Load 21(input) - 28: 19(fvec4) CompositeConstruct 23 23 23 23 - 29: 19(fvec4) FSub 27 28 - Store 21(input) 29 - Branch 17 - 17: Label - 32: 6(int) Load 8(c) - SelectionMerge 36 None - Switch 32 35 - case 1: 33 - case 2: 34 - 35: Label - 59: 19(fvec4) Load 21(input) - 60: 19(fvec4) CompositeConstruct 58 58 58 58 - 61: 19(fvec4) FAdd 59 60 - Store 21(input) 61 - Branch 36 - 33: Label - 37: 19(fvec4) Load 21(input) - 38: 19(fvec4) CompositeConstruct 23 23 23 23 - 39: 19(fvec4) FAdd 37 38 - Store 21(input) 39 - Branch 36 - 34: Label - 42: 6(int) Load 41(d) - SelectionMerge 45 None - Switch 42 45 - case 2: 43 - case 3: 44 - 43: Label - 47: 19(fvec4) Load 21(input) - 48: 19(fvec4) CompositeConstruct 46 46 46 46 - 49: 19(fvec4) FAdd 47 48 - Store 21(input) 49 - Branch 45 - 44: Label - 52: 19(fvec4) Load 21(input) - 53: 19(fvec4) CompositeConstruct 51 51 51 51 - 54: 19(fvec4) FAdd 52 53 - Store 21(input) 54 - Branch 45 - 45: Label - Branch 36 - 36: Label - 63: 6(int) Load 8(c) - SelectionMerge 65 None - Switch 63 65 - case 1: 64 - 64: Label - Branch 65 - 65: Label - 68: 6(int) Load 8(c) - SelectionMerge 71 None - Switch 68 71 - case 1: 69 - case 2: 69 - case 3: 69 - case 4: 70 - case 5: 70 - 69: Label - 72: 19(fvec4) Load 21(input) - 73: 19(fvec4) CompositeConstruct 23 23 23 23 - 74: 19(fvec4) FAdd 72 73 - Store 21(input) 74 - Branch 71 - 70: Label - 76: 19(fvec4) Load 21(input) - 77: 19(fvec4) CompositeConstruct 23 23 23 23 - 78: 19(fvec4) FSub 76 77 - Store 21(input) 78 - Branch 71 - 71: Label - 82: 19(fvec4) Load 21(input) - Store 81(@entryPointOutput) 82 + 86(input): 8(ptr) Variable Function + 90(c): 10(ptr) Variable Function + 94(d): 10(ptr) Variable Function + 99(param): 8(ptr) Variable Function + 101(param): 10(ptr) Variable Function + 103(param): 10(ptr) Variable Function + 89: 7(fvec4) Load 88(input) + Store 86(input) 89 + 93: 9(int) Load 92(c) + Store 90(c) 93 + 96: 9(int) Load 95(d) + Store 94(d) 96 + 100: 7(fvec4) Load 86(input) + Store 99(param) 100 + 102: 9(int) Load 90(c) + Store 101(param) 102 + 104: 9(int) Load 94(d) + Store 103(param) 104 + 105: 7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;i1;i1;) 99(param) 101(param) 103(param) + Store 98(@entryPointOutput) 105 Return FunctionEnd +15(@PixelShaderFunction(vf4;i1;i1;): 7(fvec4) Function None 11 + 12(input): 8(ptr) FunctionParameter + 13(c): 10(ptr) FunctionParameter + 14(d): 10(ptr) FunctionParameter + 16: Label + 17: 9(int) Load 13(c) + SelectionMerge 19 None + Switch 17 18 + 18: Label + Branch 19 + 19: Label + 22: 9(int) Load 13(c) + SelectionMerge 25 None + Switch 22 25 + case 1: 23 + case 2: 24 + 23: Label + 26: 7(fvec4) Load 12(input) + 28: 7(fvec4) CompositeConstruct 27 27 27 27 + 29: 7(fvec4) FAdd 26 28 + Store 12(input) 29 + Branch 25 + 24: Label + 31: 7(fvec4) Load 12(input) + 32: 7(fvec4) CompositeConstruct 27 27 27 27 + 33: 7(fvec4) FSub 31 32 + Store 12(input) 33 + Branch 25 + 25: Label + 36: 9(int) Load 13(c) + SelectionMerge 40 None + Switch 36 39 + case 1: 37 + case 2: 38 + 39: Label + 62: 7(fvec4) Load 12(input) + 63: 7(fvec4) CompositeConstruct 61 61 61 61 + 64: 7(fvec4) FAdd 62 63 + Store 12(input) 64 + Branch 40 + 37: Label + 41: 7(fvec4) Load 12(input) + 42: 7(fvec4) CompositeConstruct 27 27 27 27 + 43: 7(fvec4) FAdd 41 42 + Store 12(input) 43 + Branch 40 + 38: Label + 45: 9(int) Load 14(d) + SelectionMerge 48 None + Switch 45 48 + case 2: 46 + case 3: 47 + 46: Label + 50: 7(fvec4) Load 12(input) + 51: 7(fvec4) CompositeConstruct 49 49 49 49 + 52: 7(fvec4) FAdd 50 51 + Store 12(input) 52 + Branch 48 + 47: Label + 55: 7(fvec4) Load 12(input) + 56: 7(fvec4) CompositeConstruct 54 54 54 54 + 57: 7(fvec4) FAdd 55 56 + Store 12(input) 57 + Branch 48 + 48: Label + Branch 40 + 40: Label + 66: 9(int) Load 13(c) + SelectionMerge 68 None + Switch 66 68 + case 1: 67 + 67: Label + Branch 68 + 68: Label + 71: 9(int) Load 13(c) + SelectionMerge 74 None + Switch 71 74 + case 1: 72 + case 2: 72 + case 3: 72 + case 4: 73 + case 5: 73 + 72: Label + 75: 7(fvec4) Load 12(input) + 76: 7(fvec4) CompositeConstruct 27 27 27 27 + 77: 7(fvec4) FAdd 75 76 + Store 12(input) 77 + Branch 74 + 73: Label + 79: 7(fvec4) Load 12(input) + 80: 7(fvec4) CompositeConstruct 27 27 27 27 + 81: 7(fvec4) FSub 79 80 + Store 12(input) 81 + Branch 74 + 74: Label + 83: 7(fvec4) Load 12(input) + ReturnValue 83 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out index 54fc662e047..4674b76438d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out @@ -3,21 +3,21 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 4-component vector of float) -0:1 'AmbientColor' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'AmbientColor' ( global 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 0.500000 0:? 0.000000 0:? 1.000000 -0:4 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:4 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'input' (in 4-component vector of float) +0:4 'input' ( in 4-component vector of float) 0:? Sequence 0:5 Branch: Return with expression -0:5 component-wise multiply (temp 4-component vector of float) -0:5 vector swizzle (temp 4-component vector of float) -0:5 'input' (in 4-component vector of float) +0:5 component-wise multiply ( temp 4-component vector of float) +0:5 vector swizzle ( temp 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 Sequence 0:5 Constant: 0:5 3 (const int) @@ -27,13 +27,13 @@ gl_FragCoord origin is upper left 0:5 1 (const int) 0:5 Constant: 0:5 0 (const int) -0:5 Construct vec4 (temp 4-component vector of float) -0:5 direct index (temp float) -0:5 'AmbientColor' (global 4-component vector of float) +0:5 Construct vec4 ( temp 4-component vector of float) +0:5 direct index ( temp float) +0:5 'AmbientColor' ( global 4-component vector of float) 0:5 Constant: 0:5 2 (const int) 0:? Linker Objects -0:? 'AmbientColor' (global 4-component vector of float) +0:? 'AmbientColor' ( global 4-component vector of float) Linked fragment stage: @@ -44,21 +44,21 @@ Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:1 Sequence -0:1 move second child to first child (temp 4-component vector of float) -0:1 'AmbientColor' (global 4-component vector of float) +0:1 move second child to first child ( temp 4-component vector of float) +0:1 'AmbientColor' ( global 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 0.500000 0:? 0.000000 0:? 1.000000 -0:4 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float) +0:4 Function Definition: ShaderFunction(vf4; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'input' (in 4-component vector of float) +0:4 'input' ( in 4-component vector of float) 0:? Sequence 0:5 Branch: Return with expression -0:5 component-wise multiply (temp 4-component vector of float) -0:5 vector swizzle (temp 4-component vector of float) -0:5 'input' (in 4-component vector of float) +0:5 component-wise multiply ( temp 4-component vector of float) +0:5 vector swizzle ( temp 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:5 Sequence 0:5 Constant: 0:5 3 (const int) @@ -68,13 +68,13 @@ gl_FragCoord origin is upper left 0:5 1 (const int) 0:5 Constant: 0:5 0 (const int) -0:5 Construct vec4 (temp 4-component vector of float) -0:5 direct index (temp float) -0:5 'AmbientColor' (global 4-component vector of float) +0:5 Construct vec4 ( temp 4-component vector of float) +0:5 direct index ( temp float) +0:5 'AmbientColor' ( global 4-component vector of float) 0:5 Constant: 0:5 2 (const int) 0:? Linker Objects -0:? 'AmbientColor' (global 4-component vector of float) +0:? 'AmbientColor' ( global 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out index c5c73ecb454..11ea394bf72 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.templatetypes.frag.out @@ -2,158 +2,158 @@ hlsl.templatetypes.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: PixelShaderFunction( (temp float) +0:3 Function Definition: @PixelShaderFunction( ( temp float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:4 'r00' (temp 4-component vector of float) +0:4 move second child to first child ( temp 4-component vector of float) +0:4 'r00' ( temp 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'r01' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'r01' ( temp 4-component vector of float) 0:? Constant: 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:? 5.000000 0:7 Sequence -0:7 move second child to first child (temp 1-component vector of bool) -0:7 'r12' (temp 1-component vector of bool) +0:7 move second child to first child ( temp 1-component vector of bool) +0:7 'r12' ( temp 1-component vector of bool) 0:7 Constant: 0:7 false (const bool) 0:8 Sequence -0:8 move second child to first child (temp 1-component vector of int) -0:8 'r13' (temp 1-component vector of int) +0:8 move second child to first child ( temp 1-component vector of int) +0:8 'r13' ( temp 1-component vector of int) 0:8 Constant: 0:8 1 (const int) 0:9 Sequence -0:9 move second child to first child (temp 1-component vector of float) -0:9 'r14' (temp 1-component vector of float) +0:9 move second child to first child ( temp 1-component vector of float) +0:9 'r14' ( temp 1-component vector of float) 0:9 Constant: 0:9 1.000000 0:10 Sequence -0:10 move second child to first child (temp 1-component vector of double) -0:10 'r15' (temp 1-component vector of double) +0:10 move second child to first child ( temp 1-component vector of double) +0:10 'r15' ( temp 1-component vector of double) 0:10 Constant: 0:10 1.000000 0:11 Sequence -0:11 move second child to first child (temp 1-component vector of uint) -0:11 'r16' (temp 1-component vector of uint) +0:11 move second child to first child ( temp 1-component vector of uint) +0:11 'r16' ( temp 1-component vector of uint) 0:11 Constant: 0:11 1 (const uint) 0:13 Sequence -0:13 move second child to first child (temp 2-component vector of bool) -0:13 'r20' (temp 2-component vector of bool) +0:13 move second child to first child ( temp 2-component vector of bool) +0:13 'r20' ( temp 2-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:14 Sequence -0:14 move second child to first child (temp 2-component vector of int) -0:14 'r21' (temp 2-component vector of int) +0:14 move second child to first child ( temp 2-component vector of int) +0:14 'r21' ( temp 2-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 'r22' (temp 2-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 'r22' ( temp 2-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:16 Sequence -0:16 move second child to first child (temp 2-component vector of double) -0:16 'r23' (temp 2-component vector of double) +0:16 move second child to first child ( temp 2-component vector of double) +0:16 'r23' ( temp 2-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of uint) -0:17 'r24' (temp 2-component vector of uint) +0:17 move second child to first child ( temp 2-component vector of uint) +0:17 'r24' ( temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of bool) -0:19 'r30' (temp 3-component vector of bool) +0:19 move second child to first child ( temp 3-component vector of bool) +0:19 'r30' ( temp 3-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:? true (const bool) 0:20 Sequence -0:20 move second child to first child (temp 3-component vector of int) -0:20 'r31' (temp 3-component vector of int) +0:20 move second child to first child ( temp 3-component vector of int) +0:20 'r31' ( temp 3-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:21 Sequence -0:21 move second child to first child (temp 3-component vector of float) -0:21 'r32' (temp 3-component vector of float) +0:21 move second child to first child ( temp 3-component vector of float) +0:21 'r32' ( temp 3-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:22 Sequence -0:22 move second child to first child (temp 3-component vector of double) -0:22 'r33' (temp 3-component vector of double) +0:22 move second child to first child ( temp 3-component vector of double) +0:22 'r33' ( temp 3-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:23 Sequence -0:23 move second child to first child (temp 3-component vector of uint) -0:23 'r34' (temp 3-component vector of uint) +0:23 move second child to first child ( temp 3-component vector of uint) +0:23 'r34' ( temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of bool) -0:25 'r40' (temp 4-component vector of bool) +0:25 move second child to first child ( temp 4-component vector of bool) +0:25 'r40' ( temp 4-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:? true (const bool) 0:? false (const bool) 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of int) -0:26 'r41' (temp 4-component vector of int) +0:26 move second child to first child ( temp 4-component vector of int) +0:26 'r41' ( temp 4-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'r42' (temp 4-component vector of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'r42' ( temp 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of double) -0:28 'r43' (temp 4-component vector of double) +0:28 move second child to first child ( temp 4-component vector of double) +0:28 'r43' ( temp 4-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'r44' (temp 4-component vector of uint) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'r44' ( temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:31 Sequence -0:31 move second child to first child (temp 4X4 matrix of float) -0:31 'r50' (temp 4X4 matrix of float) +0:31 move second child to first child ( temp 4X4 matrix of float) +0:31 'r50' ( temp 4X4 matrix of float) 0:? Constant: 0:? 0.000000 0:? 1.000000 @@ -172,8 +172,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:32 Sequence -0:32 move second child to first child (temp 4X4 matrix of float) -0:32 'r51' (temp 4X4 matrix of float) +0:32 move second child to first child ( temp 4X4 matrix of float) +0:32 'r51' ( temp 4X4 matrix of float) 0:? Constant: 0:? 0.000000 0:? 1.000000 @@ -192,8 +192,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:35 Sequence -0:35 move second child to first child (temp 2X3 matrix of float) -0:35 'r61' (temp 2X3 matrix of float) +0:35 move second child to first child ( temp 2X3 matrix of float) +0:35 'r61' ( temp 2X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -202,8 +202,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of float) -0:36 'r62' (temp 3X2 matrix of float) +0:36 move second child to first child ( temp 3X2 matrix of float) +0:36 'r62' ( temp 3X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -212,8 +212,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:39 Sequence -0:39 move second child to first child (temp 4X2 matrix of float) -0:39 'r65' (temp 4X2 matrix of float) +0:39 move second child to first child ( temp 4X2 matrix of float) +0:39 'r65' ( temp 4X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -224,8 +224,8 @@ gl_FragCoord origin is upper left 0:? 7.000000 0:? 8.000000 0:40 Sequence -0:40 move second child to first child (temp 4X3 matrix of float) -0:40 'r66' (temp 4X3 matrix of float) +0:40 move second child to first child ( temp 4X3 matrix of float) +0:40 'r66' ( temp 4X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -239,14 +239,17 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Sequence -0:45 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:45 Constant: -0:45 0.000000 -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 Constant: +0:45 0.000000 +0:3 Function Definition: PixelShaderFunction( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:3 Function Call: @PixelShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) +0:? '@entryPointOutput' (layout( location=0) out float) Linked fragment stage: @@ -255,158 +258,158 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: PixelShaderFunction( (temp float) +0:3 Function Definition: @PixelShaderFunction( ( temp float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence -0:4 move second child to first child (temp 4-component vector of float) -0:4 'r00' (temp 4-component vector of float) +0:4 move second child to first child ( temp 4-component vector of float) +0:4 'r00' ( temp 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:5 Sequence -0:5 move second child to first child (temp 4-component vector of float) -0:5 'r01' (temp 4-component vector of float) +0:5 move second child to first child ( temp 4-component vector of float) +0:5 'r01' ( temp 4-component vector of float) 0:? Constant: 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:? 5.000000 0:7 Sequence -0:7 move second child to first child (temp 1-component vector of bool) -0:7 'r12' (temp 1-component vector of bool) +0:7 move second child to first child ( temp 1-component vector of bool) +0:7 'r12' ( temp 1-component vector of bool) 0:7 Constant: 0:7 false (const bool) 0:8 Sequence -0:8 move second child to first child (temp 1-component vector of int) -0:8 'r13' (temp 1-component vector of int) +0:8 move second child to first child ( temp 1-component vector of int) +0:8 'r13' ( temp 1-component vector of int) 0:8 Constant: 0:8 1 (const int) 0:9 Sequence -0:9 move second child to first child (temp 1-component vector of float) -0:9 'r14' (temp 1-component vector of float) +0:9 move second child to first child ( temp 1-component vector of float) +0:9 'r14' ( temp 1-component vector of float) 0:9 Constant: 0:9 1.000000 0:10 Sequence -0:10 move second child to first child (temp 1-component vector of double) -0:10 'r15' (temp 1-component vector of double) +0:10 move second child to first child ( temp 1-component vector of double) +0:10 'r15' ( temp 1-component vector of double) 0:10 Constant: 0:10 1.000000 0:11 Sequence -0:11 move second child to first child (temp 1-component vector of uint) -0:11 'r16' (temp 1-component vector of uint) +0:11 move second child to first child ( temp 1-component vector of uint) +0:11 'r16' ( temp 1-component vector of uint) 0:11 Constant: 0:11 1 (const uint) 0:13 Sequence -0:13 move second child to first child (temp 2-component vector of bool) -0:13 'r20' (temp 2-component vector of bool) +0:13 move second child to first child ( temp 2-component vector of bool) +0:13 'r20' ( temp 2-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:14 Sequence -0:14 move second child to first child (temp 2-component vector of int) -0:14 'r21' (temp 2-component vector of int) +0:14 move second child to first child ( temp 2-component vector of int) +0:14 'r21' ( temp 2-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 'r22' (temp 2-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 'r22' ( temp 2-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:16 Sequence -0:16 move second child to first child (temp 2-component vector of double) -0:16 'r23' (temp 2-component vector of double) +0:16 move second child to first child ( temp 2-component vector of double) +0:16 'r23' ( temp 2-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:17 Sequence -0:17 move second child to first child (temp 2-component vector of uint) -0:17 'r24' (temp 2-component vector of uint) +0:17 move second child to first child ( temp 2-component vector of uint) +0:17 'r24' ( temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:19 Sequence -0:19 move second child to first child (temp 3-component vector of bool) -0:19 'r30' (temp 3-component vector of bool) +0:19 move second child to first child ( temp 3-component vector of bool) +0:19 'r30' ( temp 3-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:? true (const bool) 0:20 Sequence -0:20 move second child to first child (temp 3-component vector of int) -0:20 'r31' (temp 3-component vector of int) +0:20 move second child to first child ( temp 3-component vector of int) +0:20 'r31' ( temp 3-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:21 Sequence -0:21 move second child to first child (temp 3-component vector of float) -0:21 'r32' (temp 3-component vector of float) +0:21 move second child to first child ( temp 3-component vector of float) +0:21 'r32' ( temp 3-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:22 Sequence -0:22 move second child to first child (temp 3-component vector of double) -0:22 'r33' (temp 3-component vector of double) +0:22 move second child to first child ( temp 3-component vector of double) +0:22 'r33' ( temp 3-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:23 Sequence -0:23 move second child to first child (temp 3-component vector of uint) -0:23 'r34' (temp 3-component vector of uint) +0:23 move second child to first child ( temp 3-component vector of uint) +0:23 'r34' ( temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of bool) -0:25 'r40' (temp 4-component vector of bool) +0:25 move second child to first child ( temp 4-component vector of bool) +0:25 'r40' ( temp 4-component vector of bool) 0:? Constant: 0:? false (const bool) 0:? true (const bool) 0:? true (const bool) 0:? false (const bool) 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of int) -0:26 'r41' (temp 4-component vector of int) +0:26 move second child to first child ( temp 4-component vector of int) +0:26 'r41' ( temp 4-component vector of int) 0:? Constant: 0:? 1 (const int) 0:? 2 (const int) 0:? 3 (const int) 0:? 4 (const int) 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'r42' (temp 4-component vector of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'r42' ( temp 4-component vector of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:28 Sequence -0:28 move second child to first child (temp 4-component vector of double) -0:28 'r43' (temp 4-component vector of double) +0:28 move second child to first child ( temp 4-component vector of double) +0:28 'r43' ( temp 4-component vector of double) 0:? Constant: 0:? 1.000000 0:? 2.000000 0:? 3.000000 0:? 4.000000 0:29 Sequence -0:29 move second child to first child (temp 4-component vector of uint) -0:29 'r44' (temp 4-component vector of uint) +0:29 move second child to first child ( temp 4-component vector of uint) +0:29 'r44' ( temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) 0:? 4 (const uint) 0:31 Sequence -0:31 move second child to first child (temp 4X4 matrix of float) -0:31 'r50' (temp 4X4 matrix of float) +0:31 move second child to first child ( temp 4X4 matrix of float) +0:31 'r50' ( temp 4X4 matrix of float) 0:? Constant: 0:? 0.000000 0:? 1.000000 @@ -425,8 +428,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:32 Sequence -0:32 move second child to first child (temp 4X4 matrix of float) -0:32 'r51' (temp 4X4 matrix of float) +0:32 move second child to first child ( temp 4X4 matrix of float) +0:32 'r51' ( temp 4X4 matrix of float) 0:? Constant: 0:? 0.000000 0:? 1.000000 @@ -445,8 +448,8 @@ gl_FragCoord origin is upper left 0:? 14.000000 0:? 15.000000 0:35 Sequence -0:35 move second child to first child (temp 2X3 matrix of float) -0:35 'r61' (temp 2X3 matrix of float) +0:35 move second child to first child ( temp 2X3 matrix of float) +0:35 'r61' ( temp 2X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -455,8 +458,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:36 Sequence -0:36 move second child to first child (temp 3X2 matrix of float) -0:36 'r62' (temp 3X2 matrix of float) +0:36 move second child to first child ( temp 3X2 matrix of float) +0:36 'r62' ( temp 3X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -465,8 +468,8 @@ gl_FragCoord origin is upper left 0:? 5.000000 0:? 6.000000 0:39 Sequence -0:39 move second child to first child (temp 4X2 matrix of float) -0:39 'r65' (temp 4X2 matrix of float) +0:39 move second child to first child ( temp 4X2 matrix of float) +0:39 'r65' ( temp 4X2 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -477,8 +480,8 @@ gl_FragCoord origin is upper left 0:? 7.000000 0:? 8.000000 0:40 Sequence -0:40 move second child to first child (temp 4X3 matrix of float) -0:40 'r66' (temp 4X3 matrix of float) +0:40 move second child to first child ( temp 4X3 matrix of float) +0:40 'r66' ( temp 4X3 matrix of float) 0:? Constant: 0:? 1.000000 0:? 2.000000 @@ -492,229 +495,239 @@ gl_FragCoord origin is upper left 0:? 10.000000 0:? 11.000000 0:? 12.000000 -0:45 Sequence -0:45 move second child to first child (temp float) -0:? '@entryPointOutput' (layout(location=0 ) out float) -0:45 Constant: -0:45 0.000000 -0:45 Branch: Return +0:45 Branch: Return with expression +0:45 Constant: +0:45 0.000000 +0:3 Function Definition: PixelShaderFunction( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:3 Function Call: @PixelShaderFunction( ( temp float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out float) +0:? '@entryPointOutput' (layout( location=0) out float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 148 +// Id's are bound by 153 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 146 + EntryPoint Fragment 4 "PixelShaderFunction" 151 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 9 "r00" - Name 15 "r01" - Name 20 "r12" - Name 24 "r13" - Name 27 "r14" - Name 30 "r15" - Name 34 "r16" - Name 38 "r20" - Name 43 "r21" - Name 48 "r22" - Name 52 "r23" - Name 57 "r24" - Name 62 "r30" - Name 66 "r31" - Name 71 "r32" - Name 75 "r33" - Name 80 "r34" - Name 85 "r40" - Name 89 "r41" - Name 92 "r42" - Name 95 "r43" - Name 100 "r44" - Name 105 "r50" - Name 122 "r51" - Name 125 "r61" - Name 130 "r62" - Name 136 "r65" - Name 141 "r66" - Name 146 "@entryPointOutput" - Decorate 146(@entryPointOutput) Location 0 + Name 8 "@PixelShaderFunction(" + Name 12 "r00" + Name 18 "r01" + Name 23 "r12" + Name 27 "r13" + Name 30 "r14" + Name 33 "r15" + Name 37 "r16" + Name 41 "r20" + Name 46 "r21" + Name 51 "r22" + Name 55 "r23" + Name 60 "r24" + Name 65 "r30" + Name 69 "r31" + Name 74 "r32" + Name 78 "r33" + Name 83 "r34" + Name 88 "r40" + Name 92 "r41" + Name 95 "r42" + Name 98 "r43" + Name 103 "r44" + Name 108 "r50" + Name 125 "r51" + Name 128 "r61" + Name 133 "r62" + Name 139 "r65" + Name 144 "r66" + Name 151 "@entryPointOutput" + Decorate 151(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypeVector 6(float) 4 - 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1073741824 - 12: 6(float) Constant 1077936128 - 13: 6(float) Constant 1082130432 - 14: 7(fvec4) ConstantComposite 10 11 12 13 - 16: 6(float) Constant 1084227584 - 17: 7(fvec4) ConstantComposite 11 12 13 16 - 18: TypeBool - 19: TypePointer Function 18(bool) - 21: 18(bool) ConstantFalse - 22: TypeInt 32 1 - 23: TypePointer Function 22(int) - 25: 22(int) Constant 1 - 26: TypePointer Function 6(float) - 28: TypeFloat 64 - 29: TypePointer Function 28(float) - 31: 28(float) Constant 0 1072693248 - 32: TypeInt 32 0 - 33: TypePointer Function 32(int) - 35: 32(int) Constant 1 - 36: TypeVector 18(bool) 2 - 37: TypePointer Function 36(bvec2) - 39: 18(bool) ConstantTrue - 40: 36(bvec2) ConstantComposite 21 39 - 41: TypeVector 22(int) 2 - 42: TypePointer Function 41(ivec2) - 44: 22(int) Constant 2 - 45: 41(ivec2) ConstantComposite 25 44 - 46: TypeVector 6(float) 2 - 47: TypePointer Function 46(fvec2) - 49: 46(fvec2) ConstantComposite 10 11 - 50: TypeVector 28(float) 2 - 51: TypePointer Function 50(fvec2) - 53: 28(float) Constant 0 1073741824 - 54: 50(fvec2) ConstantComposite 31 53 - 55: TypeVector 32(int) 2 - 56: TypePointer Function 55(ivec2) - 58: 32(int) Constant 2 - 59: 55(ivec2) ConstantComposite 35 58 - 60: TypeVector 18(bool) 3 - 61: TypePointer Function 60(bvec3) - 63: 60(bvec3) ConstantComposite 21 39 39 - 64: TypeVector 22(int) 3 - 65: TypePointer Function 64(ivec3) - 67: 22(int) Constant 3 - 68: 64(ivec3) ConstantComposite 25 44 67 - 69: TypeVector 6(float) 3 - 70: TypePointer Function 69(fvec3) - 72: 69(fvec3) ConstantComposite 10 11 12 - 73: TypeVector 28(float) 3 - 74: TypePointer Function 73(fvec3) - 76: 28(float) Constant 0 1074266112 - 77: 73(fvec3) ConstantComposite 31 53 76 - 78: TypeVector 32(int) 3 - 79: TypePointer Function 78(ivec3) - 81: 32(int) Constant 3 - 82: 78(ivec3) ConstantComposite 35 58 81 - 83: TypeVector 18(bool) 4 - 84: TypePointer Function 83(bvec4) - 86: 83(bvec4) ConstantComposite 21 39 39 21 - 87: TypeVector 22(int) 4 - 88: TypePointer Function 87(ivec4) - 90: 22(int) Constant 4 - 91: 87(ivec4) ConstantComposite 25 44 67 90 - 93: TypeVector 28(float) 4 - 94: TypePointer Function 93(fvec4) - 96: 28(float) Constant 0 1074790400 - 97: 93(fvec4) ConstantComposite 31 53 76 96 - 98: TypeVector 32(int) 4 - 99: TypePointer Function 98(ivec4) - 101: 32(int) Constant 4 - 102: 98(ivec4) ConstantComposite 35 58 81 101 - 103: TypeMatrix 7(fvec4) 4 - 104: TypePointer Function 103 - 106: 6(float) Constant 0 - 107: 7(fvec4) ConstantComposite 106 10 11 12 - 108: 6(float) Constant 1086324736 - 109: 6(float) Constant 1088421888 - 110: 7(fvec4) ConstantComposite 13 16 108 109 - 111: 6(float) Constant 1090519040 - 112: 6(float) Constant 1091567616 - 113: 6(float) Constant 1092616192 - 114: 6(float) Constant 1093664768 - 115: 7(fvec4) ConstantComposite 111 112 113 114 - 116: 6(float) Constant 1094713344 - 117: 6(float) Constant 1095761920 - 118: 6(float) Constant 1096810496 - 119: 6(float) Constant 1097859072 - 120: 7(fvec4) ConstantComposite 116 117 118 119 - 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 69(fvec3) 2 - 124: TypePointer Function 123 - 126: 69(fvec3) ConstantComposite 13 16 108 - 127: 123 ConstantComposite 72 126 - 128: TypeMatrix 46(fvec2) 3 - 129: TypePointer Function 128 - 131: 46(fvec2) ConstantComposite 12 13 - 132: 46(fvec2) ConstantComposite 16 108 - 133: 128 ConstantComposite 49 131 132 - 134: TypeMatrix 46(fvec2) 4 - 135: TypePointer Function 134 - 137: 46(fvec2) ConstantComposite 109 111 - 138: 134 ConstantComposite 49 131 132 137 - 139: TypeMatrix 69(fvec3) 4 - 140: TypePointer Function 139 - 142: 69(fvec3) ConstantComposite 109 111 112 - 143: 69(fvec3) ConstantComposite 113 114 116 - 144: 139 ConstantComposite 72 126 142 143 - 145: TypePointer Output 6(float) -146(@entryPointOutput): 145(ptr) Variable Output + 7: TypeFunction 6(float) + 10: TypeVector 6(float) 4 + 11: TypePointer Function 10(fvec4) + 13: 6(float) Constant 1065353216 + 14: 6(float) Constant 1073741824 + 15: 6(float) Constant 1077936128 + 16: 6(float) Constant 1082130432 + 17: 10(fvec4) ConstantComposite 13 14 15 16 + 19: 6(float) Constant 1084227584 + 20: 10(fvec4) ConstantComposite 14 15 16 19 + 21: TypeBool + 22: TypePointer Function 21(bool) + 24: 21(bool) ConstantFalse + 25: TypeInt 32 1 + 26: TypePointer Function 25(int) + 28: 25(int) Constant 1 + 29: TypePointer Function 6(float) + 31: TypeFloat 64 + 32: TypePointer Function 31(float) + 34: 31(float) Constant 0 1072693248 + 35: TypeInt 32 0 + 36: TypePointer Function 35(int) + 38: 35(int) Constant 1 + 39: TypeVector 21(bool) 2 + 40: TypePointer Function 39(bvec2) + 42: 21(bool) ConstantTrue + 43: 39(bvec2) ConstantComposite 24 42 + 44: TypeVector 25(int) 2 + 45: TypePointer Function 44(ivec2) + 47: 25(int) Constant 2 + 48: 44(ivec2) ConstantComposite 28 47 + 49: TypeVector 6(float) 2 + 50: TypePointer Function 49(fvec2) + 52: 49(fvec2) ConstantComposite 13 14 + 53: TypeVector 31(float) 2 + 54: TypePointer Function 53(fvec2) + 56: 31(float) Constant 0 1073741824 + 57: 53(fvec2) ConstantComposite 34 56 + 58: TypeVector 35(int) 2 + 59: TypePointer Function 58(ivec2) + 61: 35(int) Constant 2 + 62: 58(ivec2) ConstantComposite 38 61 + 63: TypeVector 21(bool) 3 + 64: TypePointer Function 63(bvec3) + 66: 63(bvec3) ConstantComposite 24 42 42 + 67: TypeVector 25(int) 3 + 68: TypePointer Function 67(ivec3) + 70: 25(int) Constant 3 + 71: 67(ivec3) ConstantComposite 28 47 70 + 72: TypeVector 6(float) 3 + 73: TypePointer Function 72(fvec3) + 75: 72(fvec3) ConstantComposite 13 14 15 + 76: TypeVector 31(float) 3 + 77: TypePointer Function 76(fvec3) + 79: 31(float) Constant 0 1074266112 + 80: 76(fvec3) ConstantComposite 34 56 79 + 81: TypeVector 35(int) 3 + 82: TypePointer Function 81(ivec3) + 84: 35(int) Constant 3 + 85: 81(ivec3) ConstantComposite 38 61 84 + 86: TypeVector 21(bool) 4 + 87: TypePointer Function 86(bvec4) + 89: 86(bvec4) ConstantComposite 24 42 42 24 + 90: TypeVector 25(int) 4 + 91: TypePointer Function 90(ivec4) + 93: 25(int) Constant 4 + 94: 90(ivec4) ConstantComposite 28 47 70 93 + 96: TypeVector 31(float) 4 + 97: TypePointer Function 96(fvec4) + 99: 31(float) Constant 0 1074790400 + 100: 96(fvec4) ConstantComposite 34 56 79 99 + 101: TypeVector 35(int) 4 + 102: TypePointer Function 101(ivec4) + 104: 35(int) Constant 4 + 105: 101(ivec4) ConstantComposite 38 61 84 104 + 106: TypeMatrix 10(fvec4) 4 + 107: TypePointer Function 106 + 109: 6(float) Constant 0 + 110: 10(fvec4) ConstantComposite 109 13 14 15 + 111: 6(float) Constant 1086324736 + 112: 6(float) Constant 1088421888 + 113: 10(fvec4) ConstantComposite 16 19 111 112 + 114: 6(float) Constant 1090519040 + 115: 6(float) Constant 1091567616 + 116: 6(float) Constant 1092616192 + 117: 6(float) Constant 1093664768 + 118: 10(fvec4) ConstantComposite 114 115 116 117 + 119: 6(float) Constant 1094713344 + 120: 6(float) Constant 1095761920 + 121: 6(float) Constant 1096810496 + 122: 6(float) Constant 1097859072 + 123: 10(fvec4) ConstantComposite 119 120 121 122 + 124: 106 ConstantComposite 110 113 118 123 + 126: TypeMatrix 72(fvec3) 2 + 127: TypePointer Function 126 + 129: 72(fvec3) ConstantComposite 16 19 111 + 130: 126 ConstantComposite 75 129 + 131: TypeMatrix 49(fvec2) 3 + 132: TypePointer Function 131 + 134: 49(fvec2) ConstantComposite 15 16 + 135: 49(fvec2) ConstantComposite 19 111 + 136: 131 ConstantComposite 52 134 135 + 137: TypeMatrix 49(fvec2) 4 + 138: TypePointer Function 137 + 140: 49(fvec2) ConstantComposite 112 114 + 141: 137 ConstantComposite 52 134 135 140 + 142: TypeMatrix 72(fvec3) 4 + 143: TypePointer Function 142 + 145: 72(fvec3) ConstantComposite 112 114 115 + 146: 72(fvec3) ConstantComposite 116 117 119 + 147: 142 ConstantComposite 75 129 145 146 + 150: TypePointer Output 6(float) +151(@entryPointOutput): 150(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 15(r01): 8(ptr) Variable Function - 20(r12): 19(ptr) Variable Function - 24(r13): 23(ptr) Variable Function - 27(r14): 26(ptr) Variable Function - 30(r15): 29(ptr) Variable Function - 34(r16): 33(ptr) Variable Function - 38(r20): 37(ptr) Variable Function - 43(r21): 42(ptr) Variable Function - 48(r22): 47(ptr) Variable Function - 52(r23): 51(ptr) Variable Function - 57(r24): 56(ptr) Variable Function - 62(r30): 61(ptr) Variable Function - 66(r31): 65(ptr) Variable Function - 71(r32): 70(ptr) Variable Function - 75(r33): 74(ptr) Variable Function - 80(r34): 79(ptr) Variable Function - 85(r40): 84(ptr) Variable Function - 89(r41): 88(ptr) Variable Function - 92(r42): 8(ptr) Variable Function - 95(r43): 94(ptr) Variable Function - 100(r44): 99(ptr) Variable Function - 105(r50): 104(ptr) Variable Function - 122(r51): 104(ptr) Variable Function - 125(r61): 124(ptr) Variable Function - 130(r62): 129(ptr) Variable Function - 136(r65): 135(ptr) Variable Function - 141(r66): 140(ptr) Variable Function - Store 9(r00) 14 - Store 15(r01) 17 - Store 20(r12) 21 - Store 24(r13) 25 - Store 27(r14) 10 - Store 30(r15) 31 - Store 34(r16) 35 - Store 38(r20) 40 - Store 43(r21) 45 - Store 48(r22) 49 - Store 52(r23) 54 - Store 57(r24) 59 - Store 62(r30) 63 - Store 66(r31) 68 - Store 71(r32) 72 - Store 75(r33) 77 - Store 80(r34) 82 - Store 85(r40) 86 - Store 89(r41) 91 - Store 92(r42) 14 - Store 95(r43) 97 - Store 100(r44) 102 - Store 105(r50) 121 - Store 122(r51) 121 - Store 125(r61) 127 - Store 130(r62) 133 - Store 136(r65) 138 - Store 141(r66) 144 - Store 146(@entryPointOutput) 106 + 152: 6(float) FunctionCall 8(@PixelShaderFunction() + Store 151(@entryPointOutput) 152 Return FunctionEnd +8(@PixelShaderFunction(): 6(float) Function None 7 + 9: Label + 12(r00): 11(ptr) Variable Function + 18(r01): 11(ptr) Variable Function + 23(r12): 22(ptr) Variable Function + 27(r13): 26(ptr) Variable Function + 30(r14): 29(ptr) Variable Function + 33(r15): 32(ptr) Variable Function + 37(r16): 36(ptr) Variable Function + 41(r20): 40(ptr) Variable Function + 46(r21): 45(ptr) Variable Function + 51(r22): 50(ptr) Variable Function + 55(r23): 54(ptr) Variable Function + 60(r24): 59(ptr) Variable Function + 65(r30): 64(ptr) Variable Function + 69(r31): 68(ptr) Variable Function + 74(r32): 73(ptr) Variable Function + 78(r33): 77(ptr) Variable Function + 83(r34): 82(ptr) Variable Function + 88(r40): 87(ptr) Variable Function + 92(r41): 91(ptr) Variable Function + 95(r42): 11(ptr) Variable Function + 98(r43): 97(ptr) Variable Function + 103(r44): 102(ptr) Variable Function + 108(r50): 107(ptr) Variable Function + 125(r51): 107(ptr) Variable Function + 128(r61): 127(ptr) Variable Function + 133(r62): 132(ptr) Variable Function + 139(r65): 138(ptr) Variable Function + 144(r66): 143(ptr) Variable Function + Store 12(r00) 17 + Store 18(r01) 20 + Store 23(r12) 24 + Store 27(r13) 28 + Store 30(r14) 13 + Store 33(r15) 34 + Store 37(r16) 38 + Store 41(r20) 43 + Store 46(r21) 48 + Store 51(r22) 52 + Store 55(r23) 57 + Store 60(r24) 62 + Store 65(r30) 66 + Store 69(r31) 71 + Store 74(r32) 75 + Store 78(r33) 80 + Store 83(r34) 85 + Store 88(r40) 89 + Store 92(r41) 94 + Store 95(r42) 17 + Store 98(r43) 100 + Store 103(r44) 105 + Store 108(r50) 124 + Store 125(r51) 124 + Store 128(r61) 130 + Store 133(r62) 136 + Store 139(r65) 141 + Store 144(r66) 147 + ReturnValue 109 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out new file mode 100644 index 00000000000..8619468e2e6 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.this.frag.out @@ -0,0 +1,378 @@ +hlsl.this.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:1 Sequence +0:1 move second child to first child ( temp 2-component vector of float) +0:1 'var' ( global 2-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:6 Function Definition: type1::memFun1(vi3; ( temp int) +0:6 Function Parameters: +0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:6 'var' ( in 3-component vector of int) +0:? Sequence +0:7 Branch: Return with expression +0:7 add ( temp int) +0:7 add ( temp int) +0:7 direct index ( temp int) +0:7 'var' ( in 3-component vector of int) +0:7 Constant: +0:7 2 (const int) +0:7 var: direct index for structure ( temp int) +0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:7 Constant: +0:7 1 (const int) +0:7 var2: direct index for structure ( temp int) +0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:7 Constant: +0:7 2 (const uint) +0:10 Function Definition: type1::memFun2(i1; ( temp int) +0:10 Function Parameters: +0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:10 'a' ( in int) +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 3-component vector of int) +0:11 'var' ( temp 3-component vector of int) +0:? Constant: +0:? 1 (const int) +0:? 2 (const int) +0:? 3 (const int) +0:12 Branch: Return with expression +0:12 add ( temp int) +0:12 add ( temp int) +0:12 direct index ( temp int) +0:12 'var' ( temp 3-component vector of int) +0:12 Constant: +0:12 2 (const int) +0:12 Convert float to int ( temp int) +0:12 direct index ( temp float) +0:12 bar: direct index for structure ( temp 2-component vector of float) +0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1 (const int) +0:12 var2: direct index for structure ( temp int) +0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:12 Constant: +0:12 2 (const int) +0:20 Function Definition: @main( ( temp 4-component vector of float) +0:20 Function Parameters: +0:? Sequence +0:22 move second child to first child ( temp 2-component vector of float) +0:22 bar: direct index for structure ( temp 2-component vector of float) +0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:22 Constant: +0:22 0 (const int) +0:22 'var' ( global 2-component vector of float) +0:23 move second child to first child ( temp int) +0:23 var: direct index for structure ( temp int) +0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 7 (const int) +0:24 move second child to first child ( temp int) +0:24 var2: direct index for structure ( temp int) +0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 9 (const int) +0:25 Sequence +0:25 move second child to first child ( temp int) +0:25 'i' ( temp int) +0:25 Function Call: type1::memFun1(vi3; ( temp int) +0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:? Constant: +0:? 10 (const int) +0:? 11 (const int) +0:? 12 (const int) +0:26 add second child into first child ( temp int) +0:26 'i' ( temp int) +0:26 Function Call: type1::memFun2(i1; ( temp int) +0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:26 Constant: +0:26 17 (const int) +0:28 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:20 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'var' ( global 2-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:1 Sequence +0:1 move second child to first child ( temp 2-component vector of float) +0:1 'var' ( global 2-component vector of float) +0:? Constant: +0:? 1.000000 +0:? 2.000000 +0:6 Function Definition: type1::memFun1(vi3; ( temp int) +0:6 Function Parameters: +0:6 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:6 'var' ( in 3-component vector of int) +0:? Sequence +0:7 Branch: Return with expression +0:7 add ( temp int) +0:7 add ( temp int) +0:7 direct index ( temp int) +0:7 'var' ( in 3-component vector of int) +0:7 Constant: +0:7 2 (const int) +0:7 var: direct index for structure ( temp int) +0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:7 Constant: +0:7 1 (const int) +0:7 var2: direct index for structure ( temp int) +0:7 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:7 Constant: +0:7 2 (const uint) +0:10 Function Definition: type1::memFun2(i1; ( temp int) +0:10 Function Parameters: +0:10 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:10 'a' ( in int) +0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp 3-component vector of int) +0:11 'var' ( temp 3-component vector of int) +0:? Constant: +0:? 1 (const int) +0:? 2 (const int) +0:? 3 (const int) +0:12 Branch: Return with expression +0:12 add ( temp int) +0:12 add ( temp int) +0:12 direct index ( temp int) +0:12 'var' ( temp 3-component vector of int) +0:12 Constant: +0:12 2 (const int) +0:12 Convert float to int ( temp int) +0:12 direct index ( temp float) +0:12 bar: direct index for structure ( temp 2-component vector of float) +0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1 (const int) +0:12 var2: direct index for structure ( temp int) +0:12 '@this' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:12 Constant: +0:12 2 (const int) +0:20 Function Definition: @main( ( temp 4-component vector of float) +0:20 Function Parameters: +0:? Sequence +0:22 move second child to first child ( temp 2-component vector of float) +0:22 bar: direct index for structure ( temp 2-component vector of float) +0:22 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:22 Constant: +0:22 0 (const int) +0:22 'var' ( global 2-component vector of float) +0:23 move second child to first child ( temp int) +0:23 var: direct index for structure ( temp int) +0:23 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 7 (const int) +0:24 move second child to first child ( temp int) +0:24 var2: direct index for structure ( temp int) +0:24 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 9 (const int) +0:25 Sequence +0:25 move second child to first child ( temp int) +0:25 'i' ( temp int) +0:25 Function Call: type1::memFun1(vi3; ( temp int) +0:25 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:? Constant: +0:? 10 (const int) +0:? 11 (const int) +0:? 12 (const int) +0:26 add second child into first child ( temp int) +0:26 'i' ( temp int) +0:26 Function Call: type1::memFun2(i1; ( temp int) +0:26 'T' ( temp structure{ temp 2-component vector of float bar, temp int var, temp int var2}) +0:26 Constant: +0:26 17 (const int) +0:28 Branch: Return with expression +0:? Construct vec4 ( temp 4-component vector of float) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:28 Convert int to float ( temp float) +0:28 'i' ( temp int) +0:20 Function Definition: main( ( temp void) +0:20 Function Parameters: +0:? Sequence +0:20 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:20 Function Call: @main( ( temp 4-component vector of float) +0:? Linker Objects +0:? 'var' ( global 2-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 98 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 96 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "type1" + MemberName 9(type1) 0 "bar" + MemberName 9(type1) 1 "var" + MemberName 9(type1) 2 "var2" + Name 16 "type1::memFun1(vi3;" + Name 14 "@this" + Name 15 "var" + Name 22 "type1::memFun2(i1;" + Name 20 "@this" + Name 21 "a" + Name 26 "@main(" + Name 29 "var" + Name 47 "var" + Name 64 "T" + Name 72 "i" + Name 77 "param" + Name 80 "param" + Name 96 "@entryPointOutput" + Decorate 96(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 2 + 8: TypeInt 32 1 + 9(type1): TypeStruct 7(fvec2) 8(int) 8(int) + 10: TypePointer Function 9(type1) + 11: TypeVector 8(int) 3 + 12: TypePointer Function 11(ivec3) + 13: TypeFunction 8(int) 10(ptr) 12(ptr) + 18: TypePointer Function 8(int) + 19: TypeFunction 8(int) 10(ptr) 18(ptr) + 24: TypeVector 6(float) 4 + 25: TypeFunction 24(fvec4) + 28: TypePointer Private 7(fvec2) + 29(var): 28(ptr) Variable Private + 30: 6(float) Constant 1065353216 + 31: 6(float) Constant 1073741824 + 32: 7(fvec2) ConstantComposite 30 31 + 33: TypeInt 32 0 + 34: 33(int) Constant 2 + 37: 8(int) Constant 1 + 41: 8(int) Constant 2 + 48: 8(int) Constant 3 + 49: 11(ivec3) ConstantComposite 37 41 48 + 52: 8(int) Constant 0 + 53: 33(int) Constant 1 + 54: TypePointer Function 6(float) + 66: TypePointer Function 7(fvec2) + 68: 8(int) Constant 7 + 70: 8(int) Constant 9 + 73: 8(int) Constant 10 + 74: 8(int) Constant 11 + 75: 8(int) Constant 12 + 76: 11(ivec3) ConstantComposite 73 74 75 + 79: 8(int) Constant 17 + 95: TypePointer Output 24(fvec4) +96(@entryPointOutput): 95(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + Store 29(var) 32 + 97: 24(fvec4) FunctionCall 26(@main() + Store 96(@entryPointOutput) 97 + Return + FunctionEnd +16(type1::memFun1(vi3;): 8(int) Function None 13 + 14(@this): 10(ptr) FunctionParameter + 15(var): 12(ptr) FunctionParameter + 17: Label + 35: 18(ptr) AccessChain 15(var) 34 + 36: 8(int) Load 35 + 38: 18(ptr) AccessChain 14(@this) 37 + 39: 8(int) Load 38 + 40: 8(int) IAdd 36 39 + 42: 18(ptr) AccessChain 14(@this) 41 + 43: 8(int) Load 42 + 44: 8(int) IAdd 40 43 + ReturnValue 44 + FunctionEnd +22(type1::memFun2(i1;): 8(int) Function None 19 + 20(@this): 10(ptr) FunctionParameter + 21(a): 18(ptr) FunctionParameter + 23: Label + 47(var): 12(ptr) Variable Function + Store 47(var) 49 + 50: 18(ptr) AccessChain 47(var) 34 + 51: 8(int) Load 50 + 55: 54(ptr) AccessChain 20(@this) 52 53 + 56: 6(float) Load 55 + 57: 8(int) ConvertFToS 56 + 58: 8(int) IAdd 51 57 + 59: 18(ptr) AccessChain 20(@this) 41 + 60: 8(int) Load 59 + 61: 8(int) IAdd 58 60 + ReturnValue 61 + FunctionEnd + 26(@main(): 24(fvec4) Function None 25 + 27: Label + 64(T): 10(ptr) Variable Function + 72(i): 18(ptr) Variable Function + 77(param): 12(ptr) Variable Function + 80(param): 18(ptr) Variable Function + 65: 7(fvec2) Load 29(var) + 67: 66(ptr) AccessChain 64(T) 52 + Store 67 65 + 69: 18(ptr) AccessChain 64(T) 37 + Store 69 68 + 71: 18(ptr) AccessChain 64(T) 41 + Store 71 70 + Store 77(param) 76 + 78: 8(int) FunctionCall 16(type1::memFun1(vi3;) 64(T) 77(param) + Store 72(i) 78 + Store 80(param) 79 + 81: 8(int) FunctionCall 22(type1::memFun2(i1;) 64(T) 80(param) + 82: 8(int) Load 72(i) + 83: 8(int) IAdd 82 81 + Store 72(i) 83 + 84: 8(int) Load 72(i) + 85: 6(float) ConvertSToF 84 + 86: 8(int) Load 72(i) + 87: 6(float) ConvertSToF 86 + 88: 8(int) Load 72(i) + 89: 6(float) ConvertSToF 88 + 90: 8(int) Load 72(i) + 91: 6(float) ConvertSToF 90 + 92: 24(fvec4) CompositeConstruct 85 87 89 91 + ReturnValue 92 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out index d000257e163..9e1db24f35e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.tx.bracket.frag.out @@ -2,173 +2,173 @@ hlsl.tx.bracket.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: Fn1(vi4; (temp 4-component vector of int) +0:38 Function Definition: Fn1(vi4; ( temp 4-component vector of int) 0:38 Function Parameters: -0:38 'x' (in 4-component vector of int) +0:38 'x' ( in 4-component vector of int) 0:? Sequence 0:38 Branch: Return with expression -0:38 'x' (in 4-component vector of int) -0:39 Function Definition: Fn1(vu4; (temp 4-component vector of uint) +0:38 'x' ( in 4-component vector of int) +0:39 Function Definition: Fn1(vu4; ( temp 4-component vector of uint) 0:39 Function Parameters: -0:39 'x' (in 4-component vector of uint) +0:39 'x' ( in 4-component vector of uint) 0:? Sequence 0:39 Branch: Return with expression -0:39 'x' (in 4-component vector of uint) -0:40 Function Definition: Fn1(vf4; (temp 4-component vector of float) +0:39 'x' ( in 4-component vector of uint) +0:40 Function Definition: Fn1(vf4; ( temp 4-component vector of float) 0:40 Function Parameters: -0:40 'x' (in 4-component vector of float) +0:40 'x' ( in 4-component vector of float) 0:? Sequence 0:40 Branch: Return with expression -0:40 'x' (in 4-component vector of float) -0:42 Function Definition: SomeValue( (temp 4-component vector of float) +0:40 'x' ( in 4-component vector of float) +0:42 Function Definition: SomeValue( ( temp 4-component vector of float) 0:42 Function Parameters: 0:? Sequence 0:42 Branch: Return with expression -0:42 Convert int to float (temp 4-component vector of float) -0:42 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 Convert int to float ( temp 4-component vector of float) +0:42 c4: direct index for structure ( uniform 4-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 3 (const uint) -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence -0:49 textureFetch (temp 4-component vector of float) -0:49 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:49 c1: direct index for structure (layout(offset=0 ) uniform int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 textureFetch ( temp 4-component vector of float) +0:49 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:49 c1: direct index for structure ( uniform int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 0 (const uint) 0:49 Constant: 0:49 0 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'r00' (temp 4-component vector of float) -0:51 textureFetch (temp 4-component vector of float) -0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:51 c1: direct index for structure (layout(offset=0 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'r00' ( temp 4-component vector of float) +0:51 textureFetch ( temp 4-component vector of float) +0:51 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:51 c1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'r01' (temp 4-component vector of int) -0:52 textureFetch (temp 4-component vector of int) -0:52 'g_tTex1di4' (uniform itexture1D) -0:52 c1: direct index for structure (layout(offset=0 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'r01' ( temp 4-component vector of int) +0:52 textureFetch ( temp 4-component vector of int) +0:52 'g_tTex1di4' ( uniform itexture1D) +0:52 c1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 0 (const uint) 0:52 Constant: 0:52 0 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'r02' (temp 4-component vector of uint) -0:53 textureFetch (temp 4-component vector of uint) -0:53 'g_tTex1du4' (uniform utexture1D) -0:53 c1: direct index for structure (layout(offset=0 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'r02' ( temp 4-component vector of uint) +0:53 textureFetch ( temp 4-component vector of uint) +0:53 'g_tTex1du4' ( uniform utexture1D) +0:53 c1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 0 (const uint) 0:53 Constant: 0:53 0 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:56 'r10' (temp 4-component vector of float) -0:56 textureFetch (temp 4-component vector of float) -0:56 'g_tTex2df4' (uniform texture2D) -0:56 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'r10' ( temp 4-component vector of float) +0:56 textureFetch ( temp 4-component vector of float) +0:56 'g_tTex2df4' ( uniform texture2D) +0:56 c2: direct index for structure ( uniform 2-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 1 (const uint) 0:56 Constant: 0:56 0 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of int) -0:57 'r11' (temp 4-component vector of int) -0:57 textureFetch (temp 4-component vector of int) -0:57 'g_tTex2di4' (uniform itexture2D) -0:57 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 move second child to first child ( temp 4-component vector of int) +0:57 'r11' ( temp 4-component vector of int) +0:57 textureFetch ( temp 4-component vector of int) +0:57 'g_tTex2di4' ( uniform itexture2D) +0:57 c2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 1 (const uint) 0:57 Constant: 0:57 0 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of uint) -0:58 'r12' (temp 4-component vector of uint) -0:58 textureFetch (temp 4-component vector of uint) -0:58 'g_tTex2du4' (uniform utexture2D) -0:58 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 move second child to first child ( temp 4-component vector of uint) +0:58 'r12' ( temp 4-component vector of uint) +0:58 textureFetch ( temp 4-component vector of uint) +0:58 'g_tTex2du4' ( uniform utexture2D) +0:58 c2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 1 (const uint) 0:58 Constant: 0:58 0 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:61 'r20' (temp 4-component vector of float) -0:61 textureFetch (temp 4-component vector of float) -0:61 'g_tTex3df4' (uniform texture3D) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 move second child to first child ( temp 4-component vector of float) +0:61 'r20' ( temp 4-component vector of float) +0:61 textureFetch ( temp 4-component vector of float) +0:61 'g_tTex3df4' ( uniform texture3D) +0:61 c3: direct index for structure ( uniform 3-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 2 (const uint) 0:61 Constant: 0:61 0 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of int) -0:62 'r21' (temp 4-component vector of int) -0:62 textureFetch (temp 4-component vector of int) -0:62 'g_tTex3di4' (uniform itexture3D) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'r21' ( temp 4-component vector of int) +0:62 textureFetch ( temp 4-component vector of int) +0:62 'g_tTex3di4' ( uniform itexture3D) +0:62 c3: direct index for structure ( uniform 3-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 2 (const uint) 0:62 Constant: 0:62 0 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of uint) -0:63 'r22' (temp 4-component vector of uint) -0:63 textureFetch (temp 4-component vector of uint) -0:63 'g_tTex3du4' (uniform utexture3D) -0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 move second child to first child ( temp 4-component vector of uint) +0:63 'r22' ( temp 4-component vector of uint) +0:63 textureFetch ( temp 4-component vector of uint) +0:63 'g_tTex3du4' ( uniform utexture3D) +0:63 c3: direct index for structure ( uniform 3-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 2 (const uint) 0:63 Constant: 0:63 0 (const int) -0:66 Function Call: Fn1(vf4; (temp 4-component vector of float) -0:66 textureFetch (temp 4-component vector of float) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:66 c1: direct index for structure (layout(offset=0 ) uniform int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 Function Call: Fn1(vf4; ( temp 4-component vector of float) +0:66 textureFetch ( temp 4-component vector of float) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:66 c1: direct index for structure ( uniform int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 0 (const uint) 0:66 Constant: 0:66 0 (const int) -0:67 Function Call: Fn1(vi4; (temp 4-component vector of int) -0:67 textureFetch (temp 4-component vector of int) -0:67 'g_tTex1di4' (uniform itexture1D) -0:67 c1: direct index for structure (layout(offset=0 ) uniform int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 Function Call: Fn1(vi4; ( temp 4-component vector of int) +0:67 textureFetch ( temp 4-component vector of int) +0:67 'g_tTex1di4' ( uniform itexture1D) +0:67 c1: direct index for structure ( uniform int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 0 (const uint) 0:67 Constant: 0:67 0 (const int) -0:68 Function Call: Fn1(vu4; (temp 4-component vector of uint) -0:68 textureFetch (temp 4-component vector of uint) -0:68 'g_tTex1du4' (uniform utexture1D) -0:68 c1: direct index for structure (layout(offset=0 ) uniform int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 Function Call: Fn1(vu4; ( temp 4-component vector of uint) +0:68 textureFetch ( temp 4-component vector of uint) +0:68 'g_tTex1du4' ( uniform utexture1D) +0:68 c1: direct index for structure ( uniform int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 0 (const uint) 0:68 Constant: 0:68 0 (const int) -0:70 move second child to first child (temp 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color}) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 Color: direct index for structure ( temp 4-component vector of float) +0:70 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:70 Constant: 0:70 0 (const int) 0:70 Constant: @@ -176,34 +176,37 @@ gl_FragCoord origin is upper left 0:70 1.000000 0:70 1.000000 0:70 1.000000 -0:72 Sequence -0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color}) -0:72 Constant: -0:72 0 (const int) -0:72 Branch: Return +0:72 Branch: Return with expression +0:72 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -212,173 +215,173 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:38 Function Definition: Fn1(vi4; (temp 4-component vector of int) +0:38 Function Definition: Fn1(vi4; ( temp 4-component vector of int) 0:38 Function Parameters: -0:38 'x' (in 4-component vector of int) +0:38 'x' ( in 4-component vector of int) 0:? Sequence 0:38 Branch: Return with expression -0:38 'x' (in 4-component vector of int) -0:39 Function Definition: Fn1(vu4; (temp 4-component vector of uint) +0:38 'x' ( in 4-component vector of int) +0:39 Function Definition: Fn1(vu4; ( temp 4-component vector of uint) 0:39 Function Parameters: -0:39 'x' (in 4-component vector of uint) +0:39 'x' ( in 4-component vector of uint) 0:? Sequence 0:39 Branch: Return with expression -0:39 'x' (in 4-component vector of uint) -0:40 Function Definition: Fn1(vf4; (temp 4-component vector of float) +0:39 'x' ( in 4-component vector of uint) +0:40 Function Definition: Fn1(vf4; ( temp 4-component vector of float) 0:40 Function Parameters: -0:40 'x' (in 4-component vector of float) +0:40 'x' ( in 4-component vector of float) 0:? Sequence 0:40 Branch: Return with expression -0:40 'x' (in 4-component vector of float) -0:42 Function Definition: SomeValue( (temp 4-component vector of float) +0:40 'x' ( in 4-component vector of float) +0:42 Function Definition: SomeValue( ( temp 4-component vector of float) 0:42 Function Parameters: 0:? Sequence 0:42 Branch: Return with expression -0:42 Convert int to float (temp 4-component vector of float) -0:42 c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int) -0:42 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:42 Convert int to float ( temp 4-component vector of float) +0:42 c4: direct index for structure ( uniform 4-component vector of int) +0:42 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:42 Constant: 0:42 3 (const uint) -0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color}) 0:45 Function Parameters: 0:? Sequence -0:49 textureFetch (temp 4-component vector of float) -0:49 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:49 c1: direct index for structure (layout(offset=0 ) uniform int) -0:49 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:49 textureFetch ( temp 4-component vector of float) +0:49 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:49 c1: direct index for structure ( uniform int) +0:49 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:49 Constant: 0:49 0 (const uint) 0:49 Constant: 0:49 0 (const int) 0:51 Sequence -0:51 move second child to first child (temp 4-component vector of float) -0:51 'r00' (temp 4-component vector of float) -0:51 textureFetch (temp 4-component vector of float) -0:51 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:51 c1: direct index for structure (layout(offset=0 ) uniform int) -0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:51 move second child to first child ( temp 4-component vector of float) +0:51 'r00' ( temp 4-component vector of float) +0:51 textureFetch ( temp 4-component vector of float) +0:51 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:51 c1: direct index for structure ( uniform int) +0:51 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 0 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'r01' (temp 4-component vector of int) -0:52 textureFetch (temp 4-component vector of int) -0:52 'g_tTex1di4' (uniform itexture1D) -0:52 c1: direct index for structure (layout(offset=0 ) uniform int) -0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'r01' ( temp 4-component vector of int) +0:52 textureFetch ( temp 4-component vector of int) +0:52 'g_tTex1di4' ( uniform itexture1D) +0:52 c1: direct index for structure ( uniform int) +0:52 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:52 Constant: 0:52 0 (const uint) 0:52 Constant: 0:52 0 (const int) 0:53 Sequence -0:53 move second child to first child (temp 4-component vector of uint) -0:53 'r02' (temp 4-component vector of uint) -0:53 textureFetch (temp 4-component vector of uint) -0:53 'g_tTex1du4' (uniform utexture1D) -0:53 c1: direct index for structure (layout(offset=0 ) uniform int) -0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:53 move second child to first child ( temp 4-component vector of uint) +0:53 'r02' ( temp 4-component vector of uint) +0:53 textureFetch ( temp 4-component vector of uint) +0:53 'g_tTex1du4' ( uniform utexture1D) +0:53 c1: direct index for structure ( uniform int) +0:53 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:53 Constant: 0:53 0 (const uint) 0:53 Constant: 0:53 0 (const int) 0:56 Sequence -0:56 move second child to first child (temp 4-component vector of float) -0:56 'r10' (temp 4-component vector of float) -0:56 textureFetch (temp 4-component vector of float) -0:56 'g_tTex2df4' (uniform texture2D) -0:56 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:56 move second child to first child ( temp 4-component vector of float) +0:56 'r10' ( temp 4-component vector of float) +0:56 textureFetch ( temp 4-component vector of float) +0:56 'g_tTex2df4' ( uniform texture2D) +0:56 c2: direct index for structure ( uniform 2-component vector of int) +0:56 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:56 Constant: 0:56 1 (const uint) 0:56 Constant: 0:56 0 (const int) 0:57 Sequence -0:57 move second child to first child (temp 4-component vector of int) -0:57 'r11' (temp 4-component vector of int) -0:57 textureFetch (temp 4-component vector of int) -0:57 'g_tTex2di4' (uniform itexture2D) -0:57 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:57 move second child to first child ( temp 4-component vector of int) +0:57 'r11' ( temp 4-component vector of int) +0:57 textureFetch ( temp 4-component vector of int) +0:57 'g_tTex2di4' ( uniform itexture2D) +0:57 c2: direct index for structure ( uniform 2-component vector of int) +0:57 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:57 Constant: 0:57 1 (const uint) 0:57 Constant: 0:57 0 (const int) 0:58 Sequence -0:58 move second child to first child (temp 4-component vector of uint) -0:58 'r12' (temp 4-component vector of uint) -0:58 textureFetch (temp 4-component vector of uint) -0:58 'g_tTex2du4' (uniform utexture2D) -0:58 c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int) -0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:58 move second child to first child ( temp 4-component vector of uint) +0:58 'r12' ( temp 4-component vector of uint) +0:58 textureFetch ( temp 4-component vector of uint) +0:58 'g_tTex2du4' ( uniform utexture2D) +0:58 c2: direct index for structure ( uniform 2-component vector of int) +0:58 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:58 Constant: 0:58 1 (const uint) 0:58 Constant: 0:58 0 (const int) 0:61 Sequence -0:61 move second child to first child (temp 4-component vector of float) -0:61 'r20' (temp 4-component vector of float) -0:61 textureFetch (temp 4-component vector of float) -0:61 'g_tTex3df4' (uniform texture3D) -0:61 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:61 move second child to first child ( temp 4-component vector of float) +0:61 'r20' ( temp 4-component vector of float) +0:61 textureFetch ( temp 4-component vector of float) +0:61 'g_tTex3df4' ( uniform texture3D) +0:61 c3: direct index for structure ( uniform 3-component vector of int) +0:61 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:61 Constant: 0:61 2 (const uint) 0:61 Constant: 0:61 0 (const int) 0:62 Sequence -0:62 move second child to first child (temp 4-component vector of int) -0:62 'r21' (temp 4-component vector of int) -0:62 textureFetch (temp 4-component vector of int) -0:62 'g_tTex3di4' (uniform itexture3D) -0:62 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'r21' ( temp 4-component vector of int) +0:62 textureFetch ( temp 4-component vector of int) +0:62 'g_tTex3di4' ( uniform itexture3D) +0:62 c3: direct index for structure ( uniform 3-component vector of int) +0:62 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:62 Constant: 0:62 2 (const uint) 0:62 Constant: 0:62 0 (const int) 0:63 Sequence -0:63 move second child to first child (temp 4-component vector of uint) -0:63 'r22' (temp 4-component vector of uint) -0:63 textureFetch (temp 4-component vector of uint) -0:63 'g_tTex3du4' (uniform utexture3D) -0:63 c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int) -0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:63 move second child to first child ( temp 4-component vector of uint) +0:63 'r22' ( temp 4-component vector of uint) +0:63 textureFetch ( temp 4-component vector of uint) +0:63 'g_tTex3du4' ( uniform utexture3D) +0:63 c3: direct index for structure ( uniform 3-component vector of int) +0:63 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:63 Constant: 0:63 2 (const uint) 0:63 Constant: 0:63 0 (const int) -0:66 Function Call: Fn1(vf4; (temp 4-component vector of float) -0:66 textureFetch (temp 4-component vector of float) -0:66 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:66 c1: direct index for structure (layout(offset=0 ) uniform int) -0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:66 Function Call: Fn1(vf4; ( temp 4-component vector of float) +0:66 textureFetch ( temp 4-component vector of float) +0:66 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:66 c1: direct index for structure ( uniform int) +0:66 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:66 Constant: 0:66 0 (const uint) 0:66 Constant: 0:66 0 (const int) -0:67 Function Call: Fn1(vi4; (temp 4-component vector of int) -0:67 textureFetch (temp 4-component vector of int) -0:67 'g_tTex1di4' (uniform itexture1D) -0:67 c1: direct index for structure (layout(offset=0 ) uniform int) -0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:67 Function Call: Fn1(vi4; ( temp 4-component vector of int) +0:67 textureFetch ( temp 4-component vector of int) +0:67 'g_tTex1di4' ( uniform itexture1D) +0:67 c1: direct index for structure ( uniform int) +0:67 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:67 Constant: 0:67 0 (const uint) 0:67 Constant: 0:67 0 (const int) -0:68 Function Call: Fn1(vu4; (temp 4-component vector of uint) -0:68 textureFetch (temp 4-component vector of uint) -0:68 'g_tTex1du4' (uniform utexture1D) -0:68 c1: direct index for structure (layout(offset=0 ) uniform int) -0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:68 Function Call: Fn1(vu4; ( temp 4-component vector of uint) +0:68 textureFetch ( temp 4-component vector of uint) +0:68 'g_tTex1du4' ( uniform utexture1D) +0:68 c1: direct index for structure ( uniform int) +0:68 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) 0:68 Constant: 0:68 0 (const uint) 0:68 Constant: 0:68 0 (const int) -0:70 move second child to first child (temp 4-component vector of float) -0:70 Color: direct index for structure (temp 4-component vector of float) -0:70 'psout' (temp structure{temp 4-component vector of float Color}) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 Color: direct index for structure ( temp 4-component vector of float) +0:70 'psout' ( temp structure{ temp 4-component vector of float Color}) 0:70 Constant: 0:70 0 (const int) 0:70 Constant: @@ -386,44 +389,47 @@ gl_FragCoord origin is upper left 0:70 1.000000 0:70 1.000000 0:70 1.000000 -0:72 Sequence -0:72 Sequence -0:72 move second child to first child (temp 4-component vector of float) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:72 Color: direct index for structure (temp 4-component vector of float) -0:72 'psout' (temp structure{temp 4-component vector of float Color}) -0:72 Constant: -0:72 0 (const int) -0:72 Branch: Return +0:72 Branch: Return with expression +0:72 'psout' ( temp structure{ temp 4-component vector of float Color}) +0:45 Function Definition: main( ( temp void) +0:45 Function Parameters: +0:? Sequence +0:45 Sequence +0:45 move second child to first child ( temp 4-component vector of float) +0:? 'Color' (layout( location=0) out 4-component vector of float) +0:45 Color: direct index for structure ( temp 4-component vector of float) +0:45 Function Call: @main( ( temp structure{ temp 4-component vector of float Color}) +0:45 Constant: +0:45 0 (const int) 0:? Linker Objects -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'g_tTex1di4' (uniform itexture1D) -0:? 'g_tTex1du4' (uniform utexture1D) -0:? 'g_tTex2df4' (uniform texture2D) -0:? 'g_tTex2di4' (uniform itexture2D) -0:? 'g_tTex2du4' (uniform utexture2D) -0:? 'g_tTex3df4' (uniform texture3D) -0:? 'g_tTex3di4' (uniform itexture3D) -0:? 'g_tTex3du4' (uniform utexture3D) -0:? 'g_tTex1df4a' (uniform texture1DArray) -0:? 'g_tTex1di4a' (uniform itexture1DArray) -0:? 'g_tTex1du4a' (uniform utexture1DArray) -0:? 'g_tTex2df4a' (uniform texture2DArray) -0:? 'g_tTex2di4a' (uniform itexture2DArray) -0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'g_sSamp' (layout( binding=0) uniform sampler) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) +0:? 'g_tTex1di4' ( uniform itexture1D) +0:? 'g_tTex1du4' ( uniform utexture1D) +0:? 'g_tTex2df4' ( uniform texture2D) +0:? 'g_tTex2di4' ( uniform itexture2D) +0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex3df4' ( uniform texture3D) +0:? 'g_tTex3di4' ( uniform itexture3D) +0:? 'g_tTex3du4' ( uniform utexture3D) +0:? 'g_tTex1df4a' ( uniform texture1DArray) +0:? 'g_tTex1di4a' ( uniform itexture1DArray) +0:? 'g_tTex1du4a' ( uniform utexture1DArray) +0:? 'g_tTex2df4a' ( uniform texture2DArray) +0:? 'g_tTex2di4a' ( uniform itexture2DArray) +0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4}) +0:? 'Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 188 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 158 + EntryPoint Fragment 4 "main" 164 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 11 "Fn1(vi4;" @@ -433,77 +439,78 @@ gl_FragCoord origin is upper left Name 25 "Fn1(vf4;" Name 24 "x" Name 28 "SomeValue(" - Name 41 "$Global" - MemberName 41($Global) 0 "c1" - MemberName 41($Global) 1 "c2" - MemberName 41($Global) 2 "c3" - MemberName 41($Global) 3 "c4" - MemberName 41($Global) 4 "o1" - MemberName 41($Global) 5 "o2" - MemberName 41($Global) 6 "o3" - MemberName 41($Global) 7 "o4" - Name 43 "" - Name 53 "g_tTex1df4" - Name 60 "r00" - Name 65 "r01" - Name 68 "g_tTex1di4" - Name 73 "r02" - Name 76 "g_tTex1du4" - Name 81 "r10" - Name 84 "g_tTex2df4" - Name 91 "r11" - Name 94 "g_tTex2di4" - Name 99 "r12" - Name 102 "g_tTex2du4" - Name 107 "r20" - Name 110 "g_tTex3df4" - Name 117 "r21" - Name 120 "g_tTex3di4" - Name 125 "r22" - Name 128 "g_tTex3du4" - Name 137 "param" - Name 143 "param" - Name 149 "param" - Name 151 "PS_OUTPUT" - MemberName 151(PS_OUTPUT) 0 "Color" - Name 153 "psout" - Name 158 "Color" - Name 164 "g_sSamp" - Name 167 "g_tTex1df4a" - Name 170 "g_tTex1di4a" - Name 173 "g_tTex1du4a" - Name 176 "g_tTex2df4a" - Name 179 "g_tTex2di4a" - Name 182 "g_tTex2du4a" - MemberDecorate 41($Global) 0 Offset 0 - MemberDecorate 41($Global) 1 Offset 8 - MemberDecorate 41($Global) 2 Offset 16 - MemberDecorate 41($Global) 3 Offset 32 - MemberDecorate 41($Global) 4 Offset 48 - MemberDecorate 41($Global) 5 Offset 56 - MemberDecorate 41($Global) 6 Offset 64 - MemberDecorate 41($Global) 7 Offset 80 - Decorate 41($Global) Block - Decorate 43 DescriptorSet 0 - Decorate 53(g_tTex1df4) DescriptorSet 0 - Decorate 53(g_tTex1df4) Binding 0 - Decorate 68(g_tTex1di4) DescriptorSet 0 - Decorate 76(g_tTex1du4) DescriptorSet 0 - Decorate 84(g_tTex2df4) DescriptorSet 0 - Decorate 94(g_tTex2di4) DescriptorSet 0 - Decorate 102(g_tTex2du4) DescriptorSet 0 - Decorate 110(g_tTex3df4) DescriptorSet 0 - Decorate 120(g_tTex3di4) DescriptorSet 0 - Decorate 128(g_tTex3du4) DescriptorSet 0 - Decorate 158(Color) Location 0 - Decorate 164(g_sSamp) DescriptorSet 0 - Decorate 164(g_sSamp) Binding 0 - Decorate 167(g_tTex1df4a) DescriptorSet 0 - Decorate 170(g_tTex1di4a) DescriptorSet 0 - Decorate 173(g_tTex1du4a) DescriptorSet 0 - Decorate 176(g_tTex2df4a) DescriptorSet 0 - Decorate 179(g_tTex2di4a) DescriptorSet 0 - Decorate 182(g_tTex2du4a) DescriptorSet 0 + Name 30 "PS_OUTPUT" + MemberName 30(PS_OUTPUT) 0 "Color" + Name 32 "@main(" + Name 45 "$Global" + MemberName 45($Global) 0 "c1" + MemberName 45($Global) 1 "c2" + MemberName 45($Global) 2 "c3" + MemberName 45($Global) 3 "c4" + MemberName 45($Global) 4 "o1" + MemberName 45($Global) 5 "o2" + MemberName 45($Global) 6 "o3" + MemberName 45($Global) 7 "o4" + Name 47 "" + Name 57 "g_tTex1df4" + Name 64 "r00" + Name 69 "r01" + Name 72 "g_tTex1di4" + Name 77 "r02" + Name 80 "g_tTex1du4" + Name 85 "r10" + Name 88 "g_tTex2df4" + Name 95 "r11" + Name 98 "g_tTex2di4" + Name 103 "r12" + Name 106 "g_tTex2du4" + Name 111 "r20" + Name 114 "g_tTex3df4" + Name 121 "r21" + Name 124 "g_tTex3di4" + Name 129 "r22" + Name 132 "g_tTex3du4" + Name 141 "param" + Name 147 "param" + Name 153 "param" + Name 156 "psout" + Name 164 "Color" + Name 169 "g_sSamp" + Name 172 "g_tTex1df4a" + Name 175 "g_tTex1di4a" + Name 178 "g_tTex1du4a" + Name 181 "g_tTex2df4a" + Name 184 "g_tTex2di4a" + Name 187 "g_tTex2du4a" + MemberDecorate 45($Global) 0 Offset 0 + MemberDecorate 45($Global) 1 Offset 8 + MemberDecorate 45($Global) 2 Offset 16 + MemberDecorate 45($Global) 3 Offset 32 + MemberDecorate 45($Global) 4 Offset 48 + MemberDecorate 45($Global) 5 Offset 56 + MemberDecorate 45($Global) 6 Offset 64 + MemberDecorate 45($Global) 7 Offset 80 + Decorate 45($Global) Block + Decorate 47 DescriptorSet 0 + Decorate 57(g_tTex1df4) DescriptorSet 0 + Decorate 57(g_tTex1df4) Binding 0 + Decorate 72(g_tTex1di4) DescriptorSet 0 + Decorate 80(g_tTex1du4) DescriptorSet 0 + Decorate 88(g_tTex2df4) DescriptorSet 0 + Decorate 98(g_tTex2di4) DescriptorSet 0 + Decorate 106(g_tTex2du4) DescriptorSet 0 + Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 132(g_tTex3du4) DescriptorSet 0 + Decorate 164(Color) Location 0 + Decorate 169(g_sSamp) DescriptorSet 0 + Decorate 169(g_sSamp) Binding 0 + Decorate 172(g_tTex1df4a) DescriptorSet 0 + Decorate 175(g_tTex1di4a) DescriptorSet 0 + Decorate 178(g_tTex1du4a) DescriptorSet 0 + Decorate 181(g_tTex2df4a) DescriptorSet 0 + Decorate 184(g_tTex2di4a) DescriptorSet 0 + Decorate 187(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -519,184 +526,190 @@ gl_FragCoord origin is upper left 22: TypePointer Function 21(fvec4) 23: TypeFunction 21(fvec4) 22(ptr) 27: TypeFunction 21(fvec4) - 39: TypeVector 6(int) 2 - 40: TypeVector 6(int) 3 - 41($Global): TypeStruct 6(int) 39(ivec2) 40(ivec3) 7(ivec4) 6(int) 39(ivec2) 40(ivec3) 7(ivec4) - 42: TypePointer Uniform 41($Global) - 43: 42(ptr) Variable Uniform - 44: 6(int) Constant 3 - 45: TypePointer Uniform 7(ivec4) - 51: TypeImage 20(float) 1D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex1df4): 52(ptr) Variable UniformConstant - 55: 6(int) Constant 0 - 56: TypePointer Uniform 6(int) - 66: TypeImage 6(int) 1D sampled format:Unknown - 67: TypePointer UniformConstant 66 - 68(g_tTex1di4): 67(ptr) Variable UniformConstant - 74: TypeImage 13(int) 1D sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex1du4): 75(ptr) Variable UniformConstant - 82: TypeImage 20(float) 2D sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex2df4): 83(ptr) Variable UniformConstant - 86: 6(int) Constant 1 - 87: TypePointer Uniform 39(ivec2) - 92: TypeImage 6(int) 2D sampled format:Unknown - 93: TypePointer UniformConstant 92 - 94(g_tTex2di4): 93(ptr) Variable UniformConstant - 100: TypeImage 13(int) 2D sampled format:Unknown - 101: TypePointer UniformConstant 100 - 102(g_tTex2du4): 101(ptr) Variable UniformConstant - 108: TypeImage 20(float) 3D sampled format:Unknown - 109: TypePointer UniformConstant 108 - 110(g_tTex3df4): 109(ptr) Variable UniformConstant - 112: 6(int) Constant 2 - 113: TypePointer Uniform 40(ivec3) - 118: TypeImage 6(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3di4): 119(ptr) Variable UniformConstant - 126: TypeImage 13(int) 3D sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTex3du4): 127(ptr) Variable UniformConstant - 151(PS_OUTPUT): TypeStruct 21(fvec4) - 152: TypePointer Function 151(PS_OUTPUT) - 154: 20(float) Constant 1065353216 - 155: 21(fvec4) ConstantComposite 154 154 154 154 - 157: TypePointer Output 21(fvec4) - 158(Color): 157(ptr) Variable Output - 162: TypeSampler - 163: TypePointer UniformConstant 162 - 164(g_sSamp): 163(ptr) Variable UniformConstant - 165: TypeImage 20(float) 1D array sampled format:Unknown - 166: TypePointer UniformConstant 165 -167(g_tTex1df4a): 166(ptr) Variable UniformConstant - 168: TypeImage 6(int) 1D array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTex1di4a): 169(ptr) Variable UniformConstant - 171: TypeImage 13(int) 1D array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTex1du4a): 172(ptr) Variable UniformConstant - 174: TypeImage 20(float) 2D array sampled format:Unknown - 175: TypePointer UniformConstant 174 -176(g_tTex2df4a): 175(ptr) Variable UniformConstant - 177: TypeImage 6(int) 2D array sampled format:Unknown - 178: TypePointer UniformConstant 177 -179(g_tTex2di4a): 178(ptr) Variable UniformConstant - 180: TypeImage 13(int) 2D array sampled format:Unknown - 181: TypePointer UniformConstant 180 -182(g_tTex2du4a): 181(ptr) Variable UniformConstant + 30(PS_OUTPUT): TypeStruct 21(fvec4) + 31: TypeFunction 30(PS_OUTPUT) + 43: TypeVector 6(int) 2 + 44: TypeVector 6(int) 3 + 45($Global): TypeStruct 6(int) 43(ivec2) 44(ivec3) 7(ivec4) 6(int) 43(ivec2) 44(ivec3) 7(ivec4) + 46: TypePointer Uniform 45($Global) + 47: 46(ptr) Variable Uniform + 48: 6(int) Constant 3 + 49: TypePointer Uniform 7(ivec4) + 55: TypeImage 20(float) 1D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex1df4): 56(ptr) Variable UniformConstant + 59: 6(int) Constant 0 + 60: TypePointer Uniform 6(int) + 70: TypeImage 6(int) 1D sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex1di4): 71(ptr) Variable UniformConstant + 78: TypeImage 13(int) 1D sampled format:Unknown + 79: TypePointer UniformConstant 78 + 80(g_tTex1du4): 79(ptr) Variable UniformConstant + 86: TypeImage 20(float) 2D sampled format:Unknown + 87: TypePointer UniformConstant 86 + 88(g_tTex2df4): 87(ptr) Variable UniformConstant + 90: 6(int) Constant 1 + 91: TypePointer Uniform 43(ivec2) + 96: TypeImage 6(int) 2D sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex2di4): 97(ptr) Variable UniformConstant + 104: TypeImage 13(int) 2D sampled format:Unknown + 105: TypePointer UniformConstant 104 + 106(g_tTex2du4): 105(ptr) Variable UniformConstant + 112: TypeImage 20(float) 3D sampled format:Unknown + 113: TypePointer UniformConstant 112 + 114(g_tTex3df4): 113(ptr) Variable UniformConstant + 116: 6(int) Constant 2 + 117: TypePointer Uniform 44(ivec3) + 122: TypeImage 6(int) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3di4): 123(ptr) Variable UniformConstant + 130: TypeImage 13(int) 3D sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTex3du4): 131(ptr) Variable UniformConstant + 155: TypePointer Function 30(PS_OUTPUT) + 157: 20(float) Constant 1065353216 + 158: 21(fvec4) ConstantComposite 157 157 157 157 + 163: TypePointer Output 21(fvec4) + 164(Color): 163(ptr) Variable Output + 167: TypeSampler + 168: TypePointer UniformConstant 167 + 169(g_sSamp): 168(ptr) Variable UniformConstant + 170: TypeImage 20(float) 1D array sampled format:Unknown + 171: TypePointer UniformConstant 170 +172(g_tTex1df4a): 171(ptr) Variable UniformConstant + 173: TypeImage 6(int) 1D array sampled format:Unknown + 174: TypePointer UniformConstant 173 +175(g_tTex1di4a): 174(ptr) Variable UniformConstant + 176: TypeImage 13(int) 1D array sampled format:Unknown + 177: TypePointer UniformConstant 176 +178(g_tTex1du4a): 177(ptr) Variable UniformConstant + 179: TypeImage 20(float) 2D array sampled format:Unknown + 180: TypePointer UniformConstant 179 +181(g_tTex2df4a): 180(ptr) Variable UniformConstant + 182: TypeImage 6(int) 2D array sampled format:Unknown + 183: TypePointer UniformConstant 182 +184(g_tTex2di4a): 183(ptr) Variable UniformConstant + 185: TypeImage 13(int) 2D array sampled format:Unknown + 186: TypePointer UniformConstant 185 +187(g_tTex2du4a): 186(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 60(r00): 22(ptr) Variable Function - 65(r01): 8(ptr) Variable Function - 73(r02): 15(ptr) Variable Function - 81(r10): 22(ptr) Variable Function - 91(r11): 8(ptr) Variable Function - 99(r12): 15(ptr) Variable Function - 107(r20): 22(ptr) Variable Function - 117(r21): 8(ptr) Variable Function - 125(r22): 15(ptr) Variable Function - 137(param): 22(ptr) Variable Function - 143(param): 8(ptr) Variable Function - 149(param): 15(ptr) Variable Function - 153(psout): 152(ptr) Variable Function - 54: 51 Load 53(g_tTex1df4) - 57: 56(ptr) AccessChain 43 55 - 58: 6(int) Load 57 - 59: 21(fvec4) ImageFetch 54 58 Lod 55 - 61: 51 Load 53(g_tTex1df4) - 62: 56(ptr) AccessChain 43 55 - 63: 6(int) Load 62 - 64: 21(fvec4) ImageFetch 61 63 Lod 55 - Store 60(r00) 64 - 69: 66 Load 68(g_tTex1di4) - 70: 56(ptr) AccessChain 43 55 - 71: 6(int) Load 70 - 72: 7(ivec4) ImageFetch 69 71 Lod 55 - Store 65(r01) 72 - 77: 74 Load 76(g_tTex1du4) - 78: 56(ptr) AccessChain 43 55 - 79: 6(int) Load 78 - 80: 14(ivec4) ImageFetch 77 79 Lod 55 - Store 73(r02) 80 - 85: 82 Load 84(g_tTex2df4) - 88: 87(ptr) AccessChain 43 86 - 89: 39(ivec2) Load 88 - 90: 21(fvec4) ImageFetch 85 89 Lod 55 - Store 81(r10) 90 - 95: 92 Load 94(g_tTex2di4) - 96: 87(ptr) AccessChain 43 86 - 97: 39(ivec2) Load 96 - 98: 7(ivec4) ImageFetch 95 97 Lod 55 - Store 91(r11) 98 - 103: 100 Load 102(g_tTex2du4) - 104: 87(ptr) AccessChain 43 86 - 105: 39(ivec2) Load 104 - 106: 14(ivec4) ImageFetch 103 105 Lod 55 - Store 99(r12) 106 - 111: 108 Load 110(g_tTex3df4) - 114: 113(ptr) AccessChain 43 112 - 115: 40(ivec3) Load 114 - 116: 21(fvec4) ImageFetch 111 115 Lod 55 - Store 107(r20) 116 - 121: 118 Load 120(g_tTex3di4) - 122: 113(ptr) AccessChain 43 112 - 123: 40(ivec3) Load 122 - 124: 7(ivec4) ImageFetch 121 123 Lod 55 - Store 117(r21) 124 - 129: 126 Load 128(g_tTex3du4) - 130: 113(ptr) AccessChain 43 112 - 131: 40(ivec3) Load 130 - 132: 14(ivec4) ImageFetch 129 131 Lod 55 - Store 125(r22) 132 - 133: 51 Load 53(g_tTex1df4) - 134: 56(ptr) AccessChain 43 55 - 135: 6(int) Load 134 - 136: 21(fvec4) ImageFetch 133 135 Lod 55 - Store 137(param) 136 - 138: 21(fvec4) FunctionCall 25(Fn1(vf4;) 137(param) - 139: 66 Load 68(g_tTex1di4) - 140: 56(ptr) AccessChain 43 55 - 141: 6(int) Load 140 - 142: 7(ivec4) ImageFetch 139 141 Lod 55 - Store 143(param) 142 - 144: 7(ivec4) FunctionCall 11(Fn1(vi4;) 143(param) - 145: 74 Load 76(g_tTex1du4) - 146: 56(ptr) AccessChain 43 55 - 147: 6(int) Load 146 - 148: 14(ivec4) ImageFetch 145 147 Lod 55 - Store 149(param) 148 - 150: 14(ivec4) FunctionCall 18(Fn1(vu4;) 149(param) - 156: 22(ptr) AccessChain 153(psout) 55 - Store 156 155 - 159: 22(ptr) AccessChain 153(psout) 55 - 160: 21(fvec4) Load 159 - Store 158(Color) 160 + 165:30(PS_OUTPUT) FunctionCall 32(@main() + 166: 21(fvec4) CompositeExtract 165 0 + Store 164(Color) 166 Return FunctionEnd 11(Fn1(vi4;): 7(ivec4) Function None 9 10(x): 8(ptr) FunctionParameter 12: Label - 30: 7(ivec4) Load 10(x) - ReturnValue 30 + 34: 7(ivec4) Load 10(x) + ReturnValue 34 FunctionEnd 18(Fn1(vu4;): 14(ivec4) Function None 16 17(x): 15(ptr) FunctionParameter 19: Label - 33: 14(ivec4) Load 17(x) - ReturnValue 33 + 37: 14(ivec4) Load 17(x) + ReturnValue 37 FunctionEnd 25(Fn1(vf4;): 21(fvec4) Function None 23 24(x): 22(ptr) FunctionParameter 26: Label - 36: 21(fvec4) Load 24(x) - ReturnValue 36 + 40: 21(fvec4) Load 24(x) + ReturnValue 40 FunctionEnd 28(SomeValue(): 21(fvec4) Function None 27 29: Label - 46: 45(ptr) AccessChain 43 44 - 47: 7(ivec4) Load 46 - 48: 21(fvec4) ConvertSToF 47 - ReturnValue 48 + 50: 49(ptr) AccessChain 47 48 + 51: 7(ivec4) Load 50 + 52: 21(fvec4) ConvertSToF 51 + ReturnValue 52 + FunctionEnd + 32(@main():30(PS_OUTPUT) Function None 31 + 33: Label + 64(r00): 22(ptr) Variable Function + 69(r01): 8(ptr) Variable Function + 77(r02): 15(ptr) Variable Function + 85(r10): 22(ptr) Variable Function + 95(r11): 8(ptr) Variable Function + 103(r12): 15(ptr) Variable Function + 111(r20): 22(ptr) Variable Function + 121(r21): 8(ptr) Variable Function + 129(r22): 15(ptr) Variable Function + 141(param): 22(ptr) Variable Function + 147(param): 8(ptr) Variable Function + 153(param): 15(ptr) Variable Function + 156(psout): 155(ptr) Variable Function + 58: 55 Load 57(g_tTex1df4) + 61: 60(ptr) AccessChain 47 59 + 62: 6(int) Load 61 + 63: 21(fvec4) ImageFetch 58 62 Lod 59 + 65: 55 Load 57(g_tTex1df4) + 66: 60(ptr) AccessChain 47 59 + 67: 6(int) Load 66 + 68: 21(fvec4) ImageFetch 65 67 Lod 59 + Store 64(r00) 68 + 73: 70 Load 72(g_tTex1di4) + 74: 60(ptr) AccessChain 47 59 + 75: 6(int) Load 74 + 76: 7(ivec4) ImageFetch 73 75 Lod 59 + Store 69(r01) 76 + 81: 78 Load 80(g_tTex1du4) + 82: 60(ptr) AccessChain 47 59 + 83: 6(int) Load 82 + 84: 14(ivec4) ImageFetch 81 83 Lod 59 + Store 77(r02) 84 + 89: 86 Load 88(g_tTex2df4) + 92: 91(ptr) AccessChain 47 90 + 93: 43(ivec2) Load 92 + 94: 21(fvec4) ImageFetch 89 93 Lod 59 + Store 85(r10) 94 + 99: 96 Load 98(g_tTex2di4) + 100: 91(ptr) AccessChain 47 90 + 101: 43(ivec2) Load 100 + 102: 7(ivec4) ImageFetch 99 101 Lod 59 + Store 95(r11) 102 + 107: 104 Load 106(g_tTex2du4) + 108: 91(ptr) AccessChain 47 90 + 109: 43(ivec2) Load 108 + 110: 14(ivec4) ImageFetch 107 109 Lod 59 + Store 103(r12) 110 + 115: 112 Load 114(g_tTex3df4) + 118: 117(ptr) AccessChain 47 116 + 119: 44(ivec3) Load 118 + 120: 21(fvec4) ImageFetch 115 119 Lod 59 + Store 111(r20) 120 + 125: 122 Load 124(g_tTex3di4) + 126: 117(ptr) AccessChain 47 116 + 127: 44(ivec3) Load 126 + 128: 7(ivec4) ImageFetch 125 127 Lod 59 + Store 121(r21) 128 + 133: 130 Load 132(g_tTex3du4) + 134: 117(ptr) AccessChain 47 116 + 135: 44(ivec3) Load 134 + 136: 14(ivec4) ImageFetch 133 135 Lod 59 + Store 129(r22) 136 + 137: 55 Load 57(g_tTex1df4) + 138: 60(ptr) AccessChain 47 59 + 139: 6(int) Load 138 + 140: 21(fvec4) ImageFetch 137 139 Lod 59 + Store 141(param) 140 + 142: 21(fvec4) FunctionCall 25(Fn1(vf4;) 141(param) + 143: 70 Load 72(g_tTex1di4) + 144: 60(ptr) AccessChain 47 59 + 145: 6(int) Load 144 + 146: 7(ivec4) ImageFetch 143 145 Lod 59 + Store 147(param) 146 + 148: 7(ivec4) FunctionCall 11(Fn1(vi4;) 147(param) + 149: 78 Load 80(g_tTex1du4) + 150: 60(ptr) AccessChain 47 59 + 151: 6(int) Load 150 + 152: 14(ivec4) ImageFetch 149 151 Lod 59 + Store 153(param) 152 + 154: 14(ivec4) FunctionCall 18(Fn1(vu4;) 153(param) + 159: 22(ptr) AccessChain 156(psout) 59 + Store 159 158 + 160:30(PS_OUTPUT) Load 156(psout) + ReturnValue 160 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out index 284835109e9..104c7394690 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.half.frag.out @@ -2,51 +2,54 @@ hlsl.type.half.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( ( temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence -0:4 move second child to first child (temp mediump float) -0:4 'h0' (temp mediump float) +0:4 move second child to first child ( temp mediump float) +0:4 'h0' ( temp mediump float) 0:4 Constant: 0:4 0.000000 0:5 Sequence -0:5 move second child to first child (temp mediump 1-component vector of float) -0:5 'h1' (temp mediump 1-component vector of float) +0:5 move second child to first child ( temp mediump 1-component vector of float) +0:5 'h1' ( temp mediump 1-component vector of float) 0:5 Constant: 0:5 1.000000 0:6 Sequence -0:6 move second child to first child (temp mediump 2-component vector of float) -0:6 'h2' (temp mediump 2-component vector of float) +0:6 move second child to first child ( temp mediump 2-component vector of float) +0:6 'h2' ( temp mediump 2-component vector of float) 0:6 Constant: 0:6 2.000000 0:6 2.000000 0:7 Sequence -0:7 move second child to first child (temp mediump 3-component vector of float) -0:7 'h3' (temp mediump 3-component vector of float) +0:7 move second child to first child ( temp mediump 3-component vector of float) +0:7 'h3' ( temp mediump 3-component vector of float) 0:7 Constant: 0:7 3.000000 0:7 3.000000 0:7 3.000000 0:8 Sequence -0:8 move second child to first child (temp mediump 4-component vector of float) -0:8 'h4' (temp mediump 4-component vector of float) +0:8 move second child to first child ( temp mediump 4-component vector of float) +0:8 'h4' ( temp mediump 4-component vector of float) 0:8 Constant: 0:8 4.000000 0:8 4.000000 0:8 4.000000 0:8 4.000000 -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 Constant: -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Constant: +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:3 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -55,107 +58,117 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Definition: @main( ( temp 4-component vector of float) 0:3 Function Parameters: 0:? Sequence 0:4 Sequence -0:4 move second child to first child (temp mediump float) -0:4 'h0' (temp mediump float) +0:4 move second child to first child ( temp mediump float) +0:4 'h0' ( temp mediump float) 0:4 Constant: 0:4 0.000000 0:5 Sequence -0:5 move second child to first child (temp mediump 1-component vector of float) -0:5 'h1' (temp mediump 1-component vector of float) +0:5 move second child to first child ( temp mediump 1-component vector of float) +0:5 'h1' ( temp mediump 1-component vector of float) 0:5 Constant: 0:5 1.000000 0:6 Sequence -0:6 move second child to first child (temp mediump 2-component vector of float) -0:6 'h2' (temp mediump 2-component vector of float) +0:6 move second child to first child ( temp mediump 2-component vector of float) +0:6 'h2' ( temp mediump 2-component vector of float) 0:6 Constant: 0:6 2.000000 0:6 2.000000 0:7 Sequence -0:7 move second child to first child (temp mediump 3-component vector of float) -0:7 'h3' (temp mediump 3-component vector of float) +0:7 move second child to first child ( temp mediump 3-component vector of float) +0:7 'h3' ( temp mediump 3-component vector of float) 0:7 Constant: 0:7 3.000000 0:7 3.000000 0:7 3.000000 0:8 Sequence -0:8 move second child to first child (temp mediump 4-component vector of float) -0:8 'h4' (temp mediump 4-component vector of float) +0:8 move second child to first child ( temp mediump 4-component vector of float) +0:8 'h4' ( temp mediump 4-component vector of float) 0:8 Constant: 0:8 4.000000 0:8 4.000000 0:8 4.000000 0:8 4.000000 -0:10 Sequence -0:10 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:10 Constant: -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 0.000000 -0:10 Branch: Return +0:10 Branch: Return with expression +0:10 Constant: +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:10 0.000000 +0:3 Function Definition: main( ( temp void) +0:3 Function Parameters: +0:? Sequence +0:3 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:3 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 36 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 28 + EntryPoint Fragment 4 "main" 34 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "h0" - Name 10 "h1" - Name 14 "h2" - Name 19 "h3" - Name 24 "h4" - Name 28 "@entryPointOutput" - Decorate 8(h0) RelaxedPrecision - Decorate 10(h1) RelaxedPrecision - Decorate 14(h2) RelaxedPrecision - Decorate 19(h3) RelaxedPrecision - Decorate 24(h4) RelaxedPrecision - Decorate 28(@entryPointOutput) Location 0 + Name 9 "@main(" + Name 12 "h0" + Name 14 "h1" + Name 18 "h2" + Name 23 "h3" + Name 27 "h4" + Name 34 "@entryPointOutput" + Decorate 12(h0) RelaxedPrecision + Decorate 14(h1) RelaxedPrecision + Decorate 18(h2) RelaxedPrecision + Decorate 23(h3) RelaxedPrecision + Decorate 27(h4) RelaxedPrecision + Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: 6(float) Constant 0 - 11: 6(float) Constant 1065353216 - 12: TypeVector 6(float) 2 - 13: TypePointer Function 12(fvec2) - 15: 6(float) Constant 1073741824 - 16: 12(fvec2) ConstantComposite 15 15 - 17: TypeVector 6(float) 3 - 18: TypePointer Function 17(fvec3) - 20: 6(float) Constant 1077936128 - 21: 17(fvec3) ConstantComposite 20 20 20 - 22: TypeVector 6(float) 4 - 23: TypePointer Function 22(fvec4) - 25: 6(float) Constant 1082130432 - 26: 22(fvec4) ConstantComposite 25 25 25 25 - 27: TypePointer Output 22(fvec4) -28(@entryPointOutput): 27(ptr) Variable Output - 29: 22(fvec4) ConstantComposite 9 9 9 9 + 7: TypeVector 6(float) 4 + 8: TypeFunction 7(fvec4) + 11: TypePointer Function 6(float) + 13: 6(float) Constant 0 + 15: 6(float) Constant 1065353216 + 16: TypeVector 6(float) 2 + 17: TypePointer Function 16(fvec2) + 19: 6(float) Constant 1073741824 + 20: 16(fvec2) ConstantComposite 19 19 + 21: TypeVector 6(float) 3 + 22: TypePointer Function 21(fvec3) + 24: 6(float) Constant 1077936128 + 25: 21(fvec3) ConstantComposite 24 24 24 + 26: TypePointer Function 7(fvec4) + 28: 6(float) Constant 1082130432 + 29: 7(fvec4) ConstantComposite 28 28 28 28 + 30: 7(fvec4) ConstantComposite 13 13 13 13 + 33: TypePointer Output 7(fvec4) +34(@entryPointOutput): 33(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(h0): 7(ptr) Variable Function - 10(h1): 7(ptr) Variable Function - 14(h2): 13(ptr) Variable Function - 19(h3): 18(ptr) Variable Function - 24(h4): 23(ptr) Variable Function - Store 8(h0) 9 - Store 10(h1) 11 - Store 14(h2) 16 - Store 19(h3) 21 - Store 24(h4) 26 - Store 28(@entryPointOutput) 29 + 35: 7(fvec4) FunctionCall 9(@main() + Store 34(@entryPointOutput) 35 Return FunctionEnd + 9(@main(): 7(fvec4) Function None 8 + 10: Label + 12(h0): 11(ptr) Variable Function + 14(h1): 11(ptr) Variable Function + 18(h2): 17(ptr) Variable Function + 23(h3): 22(ptr) Variable Function + 27(h4): 26(ptr) Variable Function + Store 12(h0) 13 + Store 14(h1) 15 + Store 18(h2) 20 + Store 23(h3) 25 + Store 27(h4) 29 + ReturnValue 30 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out index 73d8969c36a..e8a763c9798 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.type.identifier.frag.out @@ -2,111 +2,114 @@ hlsl.type.identifier.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:6 Function Definition: fn(f1; (temp float) +0:6 Function Definition: fn(f1; ( temp float) 0:6 Function Parameters: -0:6 'float' (in float) +0:6 'float' ( in float) 0:? Sequence 0:6 Branch: Return with expression -0:6 'float' (in float) -0:9 Function Definition: main( (temp 4-component vector of float) +0:6 'float' ( in float) +0:9 Function Definition: @main( ( temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:10 Sequence -0:10 move second child to first child (temp float) -0:10 'float' (temp float) +0:10 move second child to first child ( temp float) +0:10 'float' ( temp float) 0:10 Constant: 0:10 7.000000 0:11 Sequence -0:11 move second child to first child (temp 2-element array of bool) -0:11 'bool' (temp 2-element array of bool) -0:11 Construct bool (temp 2-element array of bool) -0:11 Convert float to bool (temp bool) -0:11 'float' (temp float) -0:11 Convert float to bool (temp bool) -0:11 'float' (temp float) +0:11 move second child to first child ( temp 2-element array of bool) +0:11 'bool' ( temp 2-element array of bool) +0:11 Construct bool ( temp 2-element array of bool) +0:11 Convert float to bool ( temp bool) +0:11 'float' ( temp float) +0:11 Convert float to bool ( temp bool) +0:11 'float' ( temp float) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'int' (temp int) -0:12 Convert bool to int (temp int) -0:12 direct index (temp bool) -0:12 'bool' (temp 2-element array of bool) +0:12 move second child to first child ( temp int) +0:12 'int' ( temp int) +0:12 Convert bool to int ( temp int) +0:12 direct index ( temp bool) +0:12 'bool' ( temp 2-element array of bool) 0:12 Constant: 0:12 1 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'uint' (temp uint) -0:13 Convert float to uint (temp uint) -0:13 add (temp float) -0:13 'float' (temp float) -0:13 Convert int to float (temp float) -0:13 'int' (temp int) +0:13 move second child to first child ( temp uint) +0:13 'uint' ( temp uint) +0:13 Convert float to uint ( temp uint) +0:13 add ( temp float) +0:13 'float' ( temp float) +0:13 Convert int to float ( temp float) +0:13 'int' ( temp int) 0:14 Sequence -0:14 move second child to first child (temp mediump float) -0:14 'min16float' (temp mediump float) -0:14 Convert uint to float (temp mediump float) -0:14 'uint' (temp mediump uint) +0:14 move second child to first child ( temp mediump float) +0:14 'min16float' ( temp mediump float) +0:14 Convert uint to float ( temp mediump float) +0:14 'uint' ( temp mediump uint) 0:15 Sequence -0:15 move second child to first child (temp mediump float) -0:15 'min10float' (temp mediump float) -0:15 'min16float' (temp mediump float) +0:15 move second child to first child ( temp mediump float) +0:15 'min10float' ( temp mediump float) +0:15 'min16float' ( temp mediump float) 0:16 Sequence -0:16 move second child to first child (temp mediump float) -0:16 'half' (temp mediump float) +0:16 move second child to first child ( temp mediump float) +0:16 'half' ( temp mediump float) 0:16 Constant: 0:16 0.500000 0:? Sequence -0:20 move second child to first child (temp float) -0:20 float: direct index for structure (temp float) -0:20 'float' (temp structure{temp float float}) +0:20 move second child to first child ( temp float) +0:20 float: direct index for structure ( temp float) +0:20 'float' ( temp structure{ temp float float}) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 42.000000 -0:23 move second child to first child (temp bool) -0:23 direct index (temp bool) -0:23 'bool' (temp 2-element array of bool) +0:23 move second child to first child ( temp bool) +0:23 direct index ( temp bool) +0:23 'bool' ( temp 2-element array of bool) 0:23 Constant: 0:23 0 (const int) -0:23 direct index (temp bool) -0:23 'bool' (temp 2-element array of bool) +0:23 direct index ( temp bool) +0:23 'bool' ( temp 2-element array of bool) 0:23 Constant: 0:23 1 (const int) -0:25 move second child to first child (temp mediump float) -0:25 'float' (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 'float' (temp mediump float) -0:25 Convert int to float (temp mediump float) -0:25 'int' (temp mediump int) -0:25 Convert uint to float (temp mediump float) -0:25 'uint' (temp mediump uint) -0:25 'min16float' (temp mediump float) -0:25 'min10float' (temp mediump float) -0:25 Test condition and select (temp mediump float) +0:25 move second child to first child ( temp mediump float) +0:25 'float' ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 'float' ( temp mediump float) +0:25 Convert int to float ( temp mediump float) +0:25 'int' ( temp mediump int) +0:25 Convert uint to float ( temp mediump float) +0:25 'uint' ( temp mediump uint) +0:25 'min16float' ( temp mediump float) +0:25 'min10float' ( temp mediump float) +0:25 Test condition and select ( temp mediump float) 0:25 Condition -0:25 direct index (temp bool) -0:25 'bool' (temp 2-element array of bool) +0:25 direct index ( temp bool) +0:25 'bool' ( temp 2-element array of bool) 0:25 Constant: 0:25 0 (const int) 0:25 true case -0:25 Convert int to float (temp mediump float) -0:25 'int' (temp mediump int) +0:25 Convert int to float ( temp mediump float) +0:25 'int' ( temp mediump int) 0:25 false case -0:25 'float' (temp mediump float) -0:25 Function Call: fn(f1; (temp mediump float) -0:25 'float' (temp mediump float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 'float' (temp float) -0:27 Branch: Return +0:25 'float' ( temp mediump float) +0:25 Function Call: fn(f1; ( temp mediump float) +0:25 'float' ( temp mediump float) +0:27 Branch: Return with expression +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 'float' ( temp float) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:9 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) Linked fragment stage: @@ -115,146 +118,146 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:6 Function Definition: fn(f1; (temp float) +0:6 Function Definition: fn(f1; ( temp float) 0:6 Function Parameters: -0:6 'float' (in float) +0:6 'float' ( in float) 0:? Sequence 0:6 Branch: Return with expression -0:6 'float' (in float) -0:9 Function Definition: main( (temp 4-component vector of float) +0:6 'float' ( in float) +0:9 Function Definition: @main( ( temp 4-component vector of float) 0:9 Function Parameters: 0:? Sequence 0:10 Sequence -0:10 move second child to first child (temp float) -0:10 'float' (temp float) +0:10 move second child to first child ( temp float) +0:10 'float' ( temp float) 0:10 Constant: 0:10 7.000000 0:11 Sequence -0:11 move second child to first child (temp 2-element array of bool) -0:11 'bool' (temp 2-element array of bool) -0:11 Construct bool (temp 2-element array of bool) -0:11 Convert float to bool (temp bool) -0:11 'float' (temp float) -0:11 Convert float to bool (temp bool) -0:11 'float' (temp float) +0:11 move second child to first child ( temp 2-element array of bool) +0:11 'bool' ( temp 2-element array of bool) +0:11 Construct bool ( temp 2-element array of bool) +0:11 Convert float to bool ( temp bool) +0:11 'float' ( temp float) +0:11 Convert float to bool ( temp bool) +0:11 'float' ( temp float) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'int' (temp int) -0:12 Convert bool to int (temp int) -0:12 direct index (temp bool) -0:12 'bool' (temp 2-element array of bool) +0:12 move second child to first child ( temp int) +0:12 'int' ( temp int) +0:12 Convert bool to int ( temp int) +0:12 direct index ( temp bool) +0:12 'bool' ( temp 2-element array of bool) 0:12 Constant: 0:12 1 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'uint' (temp uint) -0:13 Convert float to uint (temp uint) -0:13 add (temp float) -0:13 'float' (temp float) -0:13 Convert int to float (temp float) -0:13 'int' (temp int) +0:13 move second child to first child ( temp uint) +0:13 'uint' ( temp uint) +0:13 Convert float to uint ( temp uint) +0:13 add ( temp float) +0:13 'float' ( temp float) +0:13 Convert int to float ( temp float) +0:13 'int' ( temp int) 0:14 Sequence -0:14 move second child to first child (temp mediump float) -0:14 'min16float' (temp mediump float) -0:14 Convert uint to float (temp mediump float) -0:14 'uint' (temp mediump uint) +0:14 move second child to first child ( temp mediump float) +0:14 'min16float' ( temp mediump float) +0:14 Convert uint to float ( temp mediump float) +0:14 'uint' ( temp mediump uint) 0:15 Sequence -0:15 move second child to first child (temp mediump float) -0:15 'min10float' (temp mediump float) -0:15 'min16float' (temp mediump float) +0:15 move second child to first child ( temp mediump float) +0:15 'min10float' ( temp mediump float) +0:15 'min16float' ( temp mediump float) 0:16 Sequence -0:16 move second child to first child (temp mediump float) -0:16 'half' (temp mediump float) +0:16 move second child to first child ( temp mediump float) +0:16 'half' ( temp mediump float) 0:16 Constant: 0:16 0.500000 0:? Sequence -0:20 move second child to first child (temp float) -0:20 float: direct index for structure (temp float) -0:20 'float' (temp structure{temp float float}) +0:20 move second child to first child ( temp float) +0:20 float: direct index for structure ( temp float) +0:20 'float' ( temp structure{ temp float float}) 0:20 Constant: 0:20 0 (const int) 0:20 Constant: 0:20 42.000000 -0:23 move second child to first child (temp bool) -0:23 direct index (temp bool) -0:23 'bool' (temp 2-element array of bool) +0:23 move second child to first child ( temp bool) +0:23 direct index ( temp bool) +0:23 'bool' ( temp 2-element array of bool) 0:23 Constant: 0:23 0 (const int) -0:23 direct index (temp bool) -0:23 'bool' (temp 2-element array of bool) +0:23 direct index ( temp bool) +0:23 'bool' ( temp 2-element array of bool) 0:23 Constant: 0:23 1 (const int) -0:25 move second child to first child (temp mediump float) -0:25 'float' (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 add (temp mediump float) -0:25 'float' (temp mediump float) -0:25 Convert int to float (temp mediump float) -0:25 'int' (temp mediump int) -0:25 Convert uint to float (temp mediump float) -0:25 'uint' (temp mediump uint) -0:25 'min16float' (temp mediump float) -0:25 'min10float' (temp mediump float) -0:25 Test condition and select (temp mediump float) +0:25 move second child to first child ( temp mediump float) +0:25 'float' ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 add ( temp mediump float) +0:25 'float' ( temp mediump float) +0:25 Convert int to float ( temp mediump float) +0:25 'int' ( temp mediump int) +0:25 Convert uint to float ( temp mediump float) +0:25 'uint' ( temp mediump uint) +0:25 'min16float' ( temp mediump float) +0:25 'min10float' ( temp mediump float) +0:25 Test condition and select ( temp mediump float) 0:25 Condition -0:25 direct index (temp bool) -0:25 'bool' (temp 2-element array of bool) +0:25 direct index ( temp bool) +0:25 'bool' ( temp 2-element array of bool) 0:25 Constant: 0:25 0 (const int) 0:25 true case -0:25 Convert int to float (temp mediump float) -0:25 'int' (temp mediump int) +0:25 Convert int to float ( temp mediump float) +0:25 'int' ( temp mediump int) 0:25 false case -0:25 'float' (temp mediump float) -0:25 Function Call: fn(f1; (temp mediump float) -0:25 'float' (temp mediump float) -0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 'float' (temp float) -0:27 Branch: Return +0:25 'float' ( temp mediump float) +0:25 Function Call: fn(f1; ( temp mediump float) +0:25 'float' ( temp mediump float) +0:27 Branch: Return with expression +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 'float' ( temp float) +0:9 Function Definition: main( ( temp void) +0:9 Function Parameters: +0:? Sequence +0:9 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:9 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 92 +// Id's are bound by 97 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 88 + EntryPoint Fragment 4 "main" 95 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 10 "fn(f1;" Name 9 "float" - Name 15 "float" - Name 22 "bool" - Name 31 "int" - Name 39 "uint" - Name 45 "min16float" - Name 48 "min10float" - Name 50 "half" - Name 52 "foo_t" - MemberName 52(foo_t) 0 "float" - Name 54 "float" - Name 82 "param" - Name 88 "@entryPointOutput" - Decorate 45(min16float) RelaxedPrecision - Decorate 46 RelaxedPrecision - Decorate 47 RelaxedPrecision - Decorate 48(min10float) RelaxedPrecision - Decorate 49 RelaxedPrecision - Decorate 50(half) RelaxedPrecision - Decorate 60 RelaxedPrecision - Decorate 61 RelaxedPrecision - Decorate 62 RelaxedPrecision - Decorate 63 RelaxedPrecision + Name 14 "@main(" + Name 19 "float" + Name 26 "bool" + Name 35 "int" + Name 43 "uint" + Name 49 "min16float" + Name 52 "min10float" + Name 54 "half" + Name 56 "foo_t" + MemberName 56(foo_t) 0 "float" + Name 58 "float" + Name 86 "param" + Name 95 "@entryPointOutput" + Decorate 49(min16float) RelaxedPrecision + Decorate 50 RelaxedPrecision + Decorate 51 RelaxedPrecision + Decorate 52(min10float) RelaxedPrecision + Decorate 53 RelaxedPrecision + Decorate 54(half) RelaxedPrecision Decorate 64 RelaxedPrecision Decorate 65 RelaxedPrecision Decorate 66 RelaxedPrecision @@ -262,121 +265,131 @@ gl_FragCoord origin is upper left Decorate 68 RelaxedPrecision Decorate 69 RelaxedPrecision Decorate 70 RelaxedPrecision - Decorate 76 RelaxedPrecision - Decorate 77 RelaxedPrecision - Decorate 79 RelaxedPrecision + Decorate 71 RelaxedPrecision + Decorate 72 RelaxedPrecision + Decorate 73 RelaxedPrecision + Decorate 74 RelaxedPrecision Decorate 80 RelaxedPrecision Decorate 81 RelaxedPrecision Decorate 83 RelaxedPrecision Decorate 84 RelaxedPrecision Decorate 85 RelaxedPrecision - Decorate 88(@entryPointOutput) Location 0 + Decorate 87 RelaxedPrecision + Decorate 88 RelaxedPrecision + Decorate 89 RelaxedPrecision + Decorate 95(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypePointer Function 6(float) 8: TypeFunction 6(float) 7(ptr) - 16: 6(float) Constant 1088421888 - 17: TypeBool - 18: TypeInt 32 0 - 19: 18(int) Constant 2 - 20: TypeArray 17(bool) 19 - 21: TypePointer Function 20 - 24: 6(float) Constant 0 - 29: TypeInt 32 1 - 30: TypePointer Function 29(int) - 32: 29(int) Constant 1 - 33: TypePointer Function 17(bool) - 36: 29(int) Constant 0 - 38: TypePointer Function 18(int) - 51: 6(float) Constant 1056964608 - 52(foo_t): TypeStruct 6(float) - 53: TypePointer Function 52(foo_t) - 55: 6(float) Constant 1109917696 - 86: TypeVector 6(float) 4 - 87: TypePointer Output 86(fvec4) -88(@entryPointOutput): 87(ptr) Variable Output + 12: TypeVector 6(float) 4 + 13: TypeFunction 12(fvec4) + 20: 6(float) Constant 1088421888 + 21: TypeBool + 22: TypeInt 32 0 + 23: 22(int) Constant 2 + 24: TypeArray 21(bool) 23 + 25: TypePointer Function 24 + 28: 6(float) Constant 0 + 33: TypeInt 32 1 + 34: TypePointer Function 33(int) + 36: 33(int) Constant 1 + 37: TypePointer Function 21(bool) + 40: 33(int) Constant 0 + 42: TypePointer Function 22(int) + 55: 6(float) Constant 1056964608 + 56(foo_t): TypeStruct 6(float) + 57: TypePointer Function 56(foo_t) + 59: 6(float) Constant 1109917696 + 94: TypePointer Output 12(fvec4) +95(@entryPointOutput): 94(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 15(float): 7(ptr) Variable Function - 22(bool): 21(ptr) Variable Function - 31(int): 30(ptr) Variable Function - 39(uint): 38(ptr) Variable Function - 45(min16float): 7(ptr) Variable Function - 48(min10float): 7(ptr) Variable Function - 50(half): 7(ptr) Variable Function - 54(float): 53(ptr) Variable Function - 71: 7(ptr) Variable Function - 82(param): 7(ptr) Variable Function - Store 15(float) 16 - 23: 6(float) Load 15(float) - 25: 17(bool) FOrdNotEqual 23 24 - 26: 6(float) Load 15(float) - 27: 17(bool) FOrdNotEqual 26 24 - 28: 20 CompositeConstruct 25 27 - Store 22(bool) 28 - 34: 33(ptr) AccessChain 22(bool) 32 - 35: 17(bool) Load 34 - 37: 29(int) Select 35 32 36 - Store 31(int) 37 - 40: 6(float) Load 15(float) - 41: 29(int) Load 31(int) - 42: 6(float) ConvertSToF 41 - 43: 6(float) FAdd 40 42 - 44: 18(int) ConvertFToU 43 - Store 39(uint) 44 - 46: 18(int) Load 39(uint) - 47: 6(float) ConvertUToF 46 - Store 45(min16float) 47 - 49: 6(float) Load 45(min16float) - Store 48(min10float) 49 - Store 50(half) 51 - 56: 7(ptr) AccessChain 54(float) 36 - Store 56 55 - 57: 33(ptr) AccessChain 22(bool) 32 - 58: 17(bool) Load 57 - 59: 33(ptr) AccessChain 22(bool) 36 - Store 59 58 - 60: 6(float) Load 15(float) - 61: 29(int) Load 31(int) - 62: 6(float) ConvertSToF 61 - 63: 6(float) FAdd 60 62 - 64: 18(int) Load 39(uint) - 65: 6(float) ConvertUToF 64 - 66: 6(float) FAdd 63 65 - 67: 6(float) Load 45(min16float) - 68: 6(float) FAdd 66 67 - 69: 6(float) Load 48(min10float) - 70: 6(float) FAdd 68 69 - 72: 33(ptr) AccessChain 22(bool) 36 - 73: 17(bool) Load 72 - SelectionMerge 75 None - BranchConditional 73 74 78 - 74: Label - 76: 29(int) Load 31(int) - 77: 6(float) ConvertSToF 76 - Store 71 77 - Branch 75 - 78: Label - 79: 6(float) Load 15(float) - Store 71 79 - Branch 75 - 75: Label - 80: 6(float) Load 71 - 81: 6(float) FAdd 70 80 - 83: 6(float) Load 15(float) - Store 82(param) 83 - 84: 6(float) FunctionCall 10(fn(f1;) 82(param) - 85: 6(float) FAdd 81 84 - Store 15(float) 85 - 89: 6(float) Load 15(float) - 90: 86(fvec4) CompositeConstruct 89 89 89 89 - Store 88(@entryPointOutput) 90 + 96: 12(fvec4) FunctionCall 14(@main() + Store 95(@entryPointOutput) 96 Return FunctionEnd 10(fn(f1;): 6(float) Function None 8 9(float): 7(ptr) FunctionParameter 11: Label - 12: 6(float) Load 9(float) - ReturnValue 12 + 16: 6(float) Load 9(float) + ReturnValue 16 + FunctionEnd + 14(@main(): 12(fvec4) Function None 13 + 15: Label + 19(float): 7(ptr) Variable Function + 26(bool): 25(ptr) Variable Function + 35(int): 34(ptr) Variable Function + 43(uint): 42(ptr) Variable Function + 49(min16float): 7(ptr) Variable Function + 52(min10float): 7(ptr) Variable Function + 54(half): 7(ptr) Variable Function + 58(float): 57(ptr) Variable Function + 75: 7(ptr) Variable Function + 86(param): 7(ptr) Variable Function + Store 19(float) 20 + 27: 6(float) Load 19(float) + 29: 21(bool) FOrdNotEqual 27 28 + 30: 6(float) Load 19(float) + 31: 21(bool) FOrdNotEqual 30 28 + 32: 24 CompositeConstruct 29 31 + Store 26(bool) 32 + 38: 37(ptr) AccessChain 26(bool) 36 + 39: 21(bool) Load 38 + 41: 33(int) Select 39 36 40 + Store 35(int) 41 + 44: 6(float) Load 19(float) + 45: 33(int) Load 35(int) + 46: 6(float) ConvertSToF 45 + 47: 6(float) FAdd 44 46 + 48: 22(int) ConvertFToU 47 + Store 43(uint) 48 + 50: 22(int) Load 43(uint) + 51: 6(float) ConvertUToF 50 + Store 49(min16float) 51 + 53: 6(float) Load 49(min16float) + Store 52(min10float) 53 + Store 54(half) 55 + 60: 7(ptr) AccessChain 58(float) 40 + Store 60 59 + 61: 37(ptr) AccessChain 26(bool) 36 + 62: 21(bool) Load 61 + 63: 37(ptr) AccessChain 26(bool) 40 + Store 63 62 + 64: 6(float) Load 19(float) + 65: 33(int) Load 35(int) + 66: 6(float) ConvertSToF 65 + 67: 6(float) FAdd 64 66 + 68: 22(int) Load 43(uint) + 69: 6(float) ConvertUToF 68 + 70: 6(float) FAdd 67 69 + 71: 6(float) Load 49(min16float) + 72: 6(float) FAdd 70 71 + 73: 6(float) Load 52(min10float) + 74: 6(float) FAdd 72 73 + 76: 37(ptr) AccessChain 26(bool) 40 + 77: 21(bool) Load 76 + SelectionMerge 79 None + BranchConditional 77 78 82 + 78: Label + 80: 33(int) Load 35(int) + 81: 6(float) ConvertSToF 80 + Store 75 81 + Branch 79 + 82: Label + 83: 6(float) Load 19(float) + Store 75 83 + Branch 79 + 79: Label + 84: 6(float) Load 75 + 85: 6(float) FAdd 74 84 + 87: 6(float) Load 19(float) + Store 86(param) 87 + 88: 6(float) FunctionCall 10(fn(f1;) 86(param) + 89: 6(float) FAdd 85 88 + Store 19(float) 89 + 90: 6(float) Load 19(float) + 91: 12(fvec4) CompositeConstruct 90 90 90 90 + ReturnValue 91 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out new file mode 100644 index 00000000000..7d55c44047d --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typeGraphCopy.vert.out @@ -0,0 +1,127 @@ +hlsl.typeGraphCopy.vert +Shader version: 450 +0:? Sequence +0:22 Function Definition: @main( ( temp float) +0:22 Function Parameters: +0:? Sequence +0:23 Branch: Return with expression +0:23 b: direct index for structure ( temp float) +0:23 s2: direct index for structure ( temp structure{ temp int a, temp float b}) +0:23 t3: direct index for structure ( temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2}) +0:23 foo: direct index for structure ( uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3}) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3} foo}) +0:23 Constant: +0:23 0 (const uint) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 1 (const int) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:22 Function Call: @main( ( temp float) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3} foo}) +0:? '@entryPointOutput' (layout( location=0) out float) + + +Linked vertex stage: + + +Shader version: 450 +0:? Sequence +0:22 Function Definition: @main( ( temp float) +0:22 Function Parameters: +0:? Sequence +0:23 Branch: Return with expression +0:23 b: direct index for structure ( temp float) +0:23 s2: direct index for structure ( temp structure{ temp int a, temp float b}) +0:23 t3: direct index for structure ( temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2}) +0:23 foo: direct index for structure ( uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3}) +0:23 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3} foo}) +0:23 Constant: +0:23 0 (const uint) +0:23 Constant: +0:23 2 (const int) +0:23 Constant: +0:23 1 (const int) +0:23 Constant: +0:23 1 (const int) +0:22 Function Definition: main( ( temp void) +0:22 Function Parameters: +0:? Sequence +0:22 move second child to first child ( temp float) +0:? '@entryPointOutput' (layout( location=0) out float) +0:22 Function Call: @main( ( temp float) +0:? Linker Objects +0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t1, temp structure{ temp int a, temp float b} t2, temp structure{ temp structure{ temp int a, temp float b} s1, temp structure{ temp int a, temp float b} s2} t3} foo}) +0:? '@entryPointOutput' (layout( location=0) out float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 28 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 26 + Name 4 "main" + Name 8 "@main(" + Name 11 "N1" + MemberName 11(N1) 0 "a" + MemberName 11(N1) 1 "b" + Name 12 "N2" + MemberName 12(N2) 0 "s1" + MemberName 12(N2) 1 "s2" + Name 13 "N3" + MemberName 13(N3) 0 "t1" + MemberName 13(N3) 1 "t2" + MemberName 13(N3) 2 "t3" + Name 14 "$Global" + MemberName 14($Global) 0 "foo" + Name 16 "" + Name 26 "@entryPointOutput" + MemberDecorate 11(N1) 0 Offset 0 + MemberDecorate 11(N1) 1 Offset 4 + MemberDecorate 12(N2) 0 Offset 0 + MemberDecorate 12(N2) 1 Offset 16 + MemberDecorate 13(N3) 0 Offset 0 + MemberDecorate 13(N3) 1 Offset 32 + MemberDecorate 13(N3) 2 Offset 48 + MemberDecorate 14($Global) 0 Offset 0 + Decorate 14($Global) Block + Decorate 16 DescriptorSet 0 + Decorate 26(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeFunction 6(float) + 10: TypeInt 32 1 + 11(N1): TypeStruct 10(int) 6(float) + 12(N2): TypeStruct 11(N1) 11(N1) + 13(N3): TypeStruct 12(N2) 11(N1) 12(N2) + 14($Global): TypeStruct 13(N3) + 15: TypePointer Uniform 14($Global) + 16: 15(ptr) Variable Uniform + 17: 10(int) Constant 0 + 18: 10(int) Constant 2 + 19: 10(int) Constant 1 + 20: TypePointer Uniform 6(float) + 25: TypePointer Output 6(float) +26(@entryPointOutput): 25(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 27: 6(float) FunctionCall 8(@main() + Store 26(@entryPointOutput) 27 + Return + FunctionEnd + 8(@main(): 6(float) Function None 7 + 9: Label + 21: 20(ptr) AccessChain 16 17 18 19 19 + 22: 6(float) Load 21 + ReturnValue 22 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out index 565f45fd5b8..6edb191d7a4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out @@ -2,38 +2,38 @@ hlsl.typedef.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: ShaderFunction(vf4;i1; (temp 4-component vector of float) +0:4 Function Definition: ShaderFunction(vf4;i1; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'input' (in 4-component vector of float) -0:4 'ii' (in int) +0:4 'input' ( in 4-component vector of float) +0:4 'ii' ( in int) 0:? Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'a1' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'a1' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'i' (temp int) +0:7 move second child to first child ( temp int) +0:7 'i' ( temp int) 0:7 Constant: 0:7 2 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'j' (temp int) -0:9 'ii' (in int) +0:9 move second child to first child ( temp int) +0:9 'j' ( temp int) +0:9 'ii' ( in int) 0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) -0:10 component-wise multiply (temp 4-component vector of float) -0:10 'input' (in 4-component vector of float) -0:10 'a1' (temp 4-component vector of float) -0:10 Construct vec4 (uniform 4-component vector of float) -0:10 Convert int to float (temp float) -0:10 add (temp int) -0:10 'i' (temp int) -0:10 'j' (temp int) +0:10 add ( temp 4-component vector of float) +0:10 component-wise multiply ( temp 4-component vector of float) +0:10 'input' ( in 4-component vector of float) +0:10 'a1' ( temp 4-component vector of float) +0:10 Construct vec4 ( uniform 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 add ( temp int) +0:10 'i' ( temp int) +0:10 'j' ( temp int) 0:? Linker Objects @@ -44,38 +44,38 @@ WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:4 Function Definition: ShaderFunction(vf4;i1; (temp 4-component vector of float) +0:4 Function Definition: ShaderFunction(vf4;i1; ( temp 4-component vector of float) 0:4 Function Parameters: -0:4 'input' (in 4-component vector of float) -0:4 'ii' (in int) +0:4 'input' ( in 4-component vector of float) +0:4 'ii' ( in int) 0:? Sequence 0:6 Sequence -0:6 move second child to first child (temp 4-component vector of float) -0:6 'a1' (temp 4-component vector of float) +0:6 move second child to first child ( temp 4-component vector of float) +0:6 'a1' ( temp 4-component vector of float) 0:6 Constant: 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:6 1.000000 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'i' (temp int) +0:7 move second child to first child ( temp int) +0:7 'i' ( temp int) 0:7 Constant: 0:7 2 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'j' (temp int) -0:9 'ii' (in int) +0:9 move second child to first child ( temp int) +0:9 'j' ( temp int) +0:9 'ii' ( in int) 0:10 Branch: Return with expression -0:10 add (temp 4-component vector of float) -0:10 component-wise multiply (temp 4-component vector of float) -0:10 'input' (in 4-component vector of float) -0:10 'a1' (temp 4-component vector of float) -0:10 Construct vec4 (uniform 4-component vector of float) -0:10 Convert int to float (temp float) -0:10 add (temp int) -0:10 'i' (temp int) -0:10 'j' (temp int) +0:10 add ( temp 4-component vector of float) +0:10 component-wise multiply ( temp 4-component vector of float) +0:10 'input' ( in 4-component vector of float) +0:10 'a1' ( temp 4-component vector of float) +0:10 Construct vec4 ( uniform 4-component vector of float) +0:10 Convert int to float ( temp float) +0:10 add ( temp int) +0:10 'i' ( temp int) +0:10 'j' ( temp int) 0:? Linker Objects // Module Version 10000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out index 6faa388a3a8..584f3784f91 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.void.frag.out @@ -2,19 +2,27 @@ hlsl.void.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:1 Function Definition: foo1( (temp void) +0:1 Function Definition: foo1( ( temp void) 0:1 Function Parameters: -0:2 Function Definition: foo2( (temp void) +0:2 Function Definition: foo2( ( temp void) 0:2 Function Parameters: -0:5 Function Definition: PixelShaderFunction(vf4; (temp void) +0:5 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:5 Function Parameters: -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:? Sequence -0:6 Function Call: foo1( (temp void) -0:7 Function Call: foo2( (temp void) +0:6 Function Call: foo1( ( temp void) +0:7 Function Call: foo2( ( temp void) 0:8 Branch: Return +0:5 Function Definition: PixelShaderFunction( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:5 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -23,44 +31,63 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:1 Function Definition: foo1( (temp void) +0:1 Function Definition: foo1( ( temp void) 0:1 Function Parameters: -0:2 Function Definition: foo2( (temp void) +0:2 Function Definition: foo2( ( temp void) 0:2 Function Parameters: -0:5 Function Definition: PixelShaderFunction(vf4; (temp void) +0:5 Function Definition: @PixelShaderFunction(vf4; ( temp void) 0:5 Function Parameters: -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' ( in 4-component vector of float) 0:? Sequence -0:6 Function Call: foo1( (temp void) -0:7 Function Call: foo2( (temp void) +0:6 Function Call: foo1( ( temp void) +0:7 Function Call: foo2( ( temp void) 0:8 Branch: Return +0:5 Function Definition: PixelShaderFunction( ( temp void) +0:5 Function Parameters: +0:? Sequence +0:5 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:5 Function Call: @PixelShaderFunction(vf4; ( temp void) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 17 +// Id's are bound by 27 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 16 + EntryPoint Fragment 4 "PixelShaderFunction" 22 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 6 "foo1(" Name 8 "foo2(" - Name 16 "input" - Decorate 16(input) Location 0 + Name 15 "@PixelShaderFunction(vf4;" + Name 14 "input" + Name 20 "input" + Name 22 "input" + Name 24 "param" + Decorate 22(input) Location 0 2: TypeVoid 3: TypeFunction 2 - 13: TypeFloat 32 - 14: TypeVector 13(float) 4 - 15: TypePointer Input 14(fvec4) - 16(input): 15(ptr) Variable Input + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12: TypePointer Function 11(fvec4) + 13: TypeFunction 2 12(ptr) + 21: TypePointer Input 11(fvec4) + 22(input): 21(ptr) Variable Input 4(PixelShaderFunction): 2 Function None 3 5: Label - 10: 2 FunctionCall 6(foo1() - 11: 2 FunctionCall 8(foo2() + 20(input): 12(ptr) Variable Function + 24(param): 12(ptr) Variable Function + 23: 11(fvec4) Load 22(input) + Store 20(input) 23 + 25: 11(fvec4) Load 20(input) + Store 24(param) 25 + 26: 2 FunctionCall 15(@PixelShaderFunction(vf4;) 24(param) Return FunctionEnd 6(foo1(): 2 Function None 3 @@ -71,3 +98,10 @@ gl_FragCoord origin is upper left 9: Label Return FunctionEnd +15(@PixelShaderFunction(vf4;): 2 Function None 13 + 14(input): 12(ptr) FunctionParameter + 16: Label + 17: 2 FunctionCall 6(foo1() + 18: 2 FunctionCall 8(foo2() + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out index 699364ff0da..2f68da116a6 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/hlsl.whileLoop.frag.out @@ -2,23 +2,20 @@ hlsl.whileLoop.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition -0:3 any (temp bool) -0:3 NotEqual (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 any ( temp bool) +0:3 NotEqual ( temp 4-component vector of bool) +0:3 'input' ( in 4-component vector of float) +0:3 'input' ( in 4-component vector of float) 0:3 Loop Body 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 'input' ( in 4-component vector of float) 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -34,9 +31,19 @@ gl_FragCoord origin is upper left 0:6 Constant: 0:6 false (const bool) 0:6 No loop body +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) Linked fragment stage: @@ -45,23 +52,20 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) +0:2 Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: -0:2 'input' (layout(location=0 ) in 4-component vector of float) +0:2 'input' ( in 4-component vector of float) 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition -0:3 any (temp bool) -0:3 NotEqual (temp 4-component vector of bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 any ( temp bool) +0:3 NotEqual ( temp 4-component vector of bool) +0:3 'input' ( in 4-component vector of float) +0:3 'input' ( in 4-component vector of float) 0:3 Loop Body 0:? Sequence -0:3 Sequence -0:3 move second child to first child (temp 4-component vector of float) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 Branch: Return +0:3 Branch: Return with expression +0:3 'input' ( in 4-component vector of float) 0:4 Loop with condition tested first 0:4 Loop Condition 0:4 Constant: @@ -77,86 +81,115 @@ gl_FragCoord origin is upper left 0:6 Constant: 0:6 false (const bool) 0:6 No loop body +0:2 Function Definition: PixelShaderFunction( ( temp void) +0:2 Function Parameters: +0:? Sequence +0:2 move second child to first child ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) +0:2 move second child to first child ( temp 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:2 Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float) +0:? 'input' ( temp 4-component vector of float) 0:? Linker Objects -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) +0:? 'input' (layout( location=0) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 41 +// Id's are bound by 52 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 14 22 + EntryPoint Fragment 4 "PixelShaderFunction" 45 48 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" - Name 14 "input" - Name 22 "@entryPointOutput" - Decorate 14(input) Location 0 - Decorate 22(@entryPointOutput) Location 0 + Name 11 "@PixelShaderFunction(vf4;" + Name 10 "input" + Name 43 "input" + Name 45 "input" + Name 48 "@entryPointOutput" + Name 49 "param" + Decorate 45(input) Location 0 + Decorate 48(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 - 11: TypeFloat 32 - 12: TypeVector 11(float) 4 - 13: TypePointer Input 12(fvec4) - 14(input): 13(ptr) Variable Input - 17: TypeBool - 18: TypeVector 17(bool) 4 - 21: TypePointer Output 12(fvec4) -22(@entryPointOutput): 21(ptr) Variable Output - 30: 17(bool) ConstantFalse + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 20: TypeBool + 21: TypeVector 20(bool) 4 + 31: 20(bool) ConstantFalse + 44: TypePointer Input 7(fvec4) + 45(input): 44(ptr) Variable Input + 47: TypePointer Output 7(fvec4) +48(@entryPointOutput): 47(ptr) Variable Output 4(PixelShaderFunction): 2 Function None 3 5: Label - Branch 6 - 6: Label - LoopMerge 8 9 None - Branch 10 - 10: Label - 15: 12(fvec4) Load 14(input) - 16: 12(fvec4) Load 14(input) - 19: 18(bvec4) FOrdNotEqual 15 16 - 20: 17(bool) Any 19 - BranchConditional 20 7 8 - 7: Label - 23: 12(fvec4) Load 14(input) - Store 22(@entryPointOutput) 23 - Return - 9: Label - Branch 6 - 8: Label - Branch 25 - 25: Label - LoopMerge 27 28 None - Branch 29 - 29: Label - BranchConditional 30 26 27 - 26: Label - Branch 28 - 28: Label - Branch 25 - 27: Label - Branch 31 - 31: Label - LoopMerge 33 34 None - Branch 35 - 35: Label - BranchConditional 30 32 33 - 32: Label - Branch 34 - 34: Label - Branch 31 - 33: Label + 43(input): 8(ptr) Variable Function + 49(param): 8(ptr) Variable Function + 46: 7(fvec4) Load 45(input) + Store 43(input) 46 + 50: 7(fvec4) Load 43(input) + Store 49(param) 50 + 51: 7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 49(param) + Store 48(@entryPointOutput) 51 + Return + FunctionEnd +11(@PixelShaderFunction(vf4;): 7(fvec4) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + Branch 13 + 13: Label + LoopMerge 15 16 None + Branch 17 + 17: Label + 18: 7(fvec4) Load 10(input) + 19: 7(fvec4) Load 10(input) + 22: 21(bvec4) FOrdNotEqual 18 19 + 23: 20(bool) Any 22 + BranchConditional 23 14 15 + 14: Label + 24: 7(fvec4) Load 10(input) + ReturnValue 24 + 16: Label + Branch 13 + 15: Label + Branch 26 + 26: Label + LoopMerge 28 29 None + Branch 30 + 30: Label + BranchConditional 31 27 28 + 27: Label + Branch 29 + 29: Label + Branch 26 + 28: Label + Branch 32 + 32: Label + LoopMerge 34 35 None Branch 36 36: Label - LoopMerge 38 39 None - Branch 40 - 40: Label - BranchConditional 30 37 38 - 37: Label - Branch 39 - 39: Label - Branch 36 - 38: Label - Return + BranchConditional 31 33 34 + 33: Label + Branch 35 + 35: Label + Branch 32 + 34: Label + Branch 37 + 37: Label + LoopMerge 39 40 None + Branch 41 + 41: Label + BranchConditional 31 38 39 + 38: Label + Branch 40 + 40: Label + Branch 37 + 39: Label + 42: 7(fvec4) Undef + ReturnValue 42 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/length.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/length.frag.out index 1c42560711e..bfd5bf0ef15 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/length.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/length.frag.out @@ -1,31 +1,31 @@ length.frag Shader version: 120 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:? Sequence 0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 't' (temp 2-component vector of float) -0:15 add (temp 2-component vector of float) -0:15 direct index (smooth temp 2-component vector of float) -0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 't' ( temp 2-component vector of float) +0:15 add ( temp 2-component vector of float) +0:15 direct index ( smooth temp 2-component vector of float) +0:15 'v' ( smooth in 2-element array of 2-component vector of float) 0:15 Constant: 0:15 0 (const int) -0:15 direct index (smooth temp 2-component vector of float) -0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 direct index ( smooth temp 2-component vector of float) +0:15 'v' ( smooth in 2-element array of 2-component vector of float) 0:15 Constant: 0:15 1 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:17 Constant: 0:17 30.000000 0:17 30.000000 0:17 30.000000 0:17 30.000000 0:? Linker Objects -0:? 'u' (uniform 3-element array of 4-component vector of float) -0:? 'v' (smooth in 2-element array of 2-component vector of float) +0:? 'u' ( uniform 3-element array of 4-component vector of float) +0:? 'v' ( smooth in 2-element array of 2-component vector of float) Linked fragment stage: @@ -33,29 +33,29 @@ Linked fragment stage: Shader version: 120 0:? Sequence -0:11 Function Definition: main( (global void) +0:11 Function Definition: main( ( global void) 0:11 Function Parameters: 0:? Sequence 0:15 Sequence -0:15 move second child to first child (temp 2-component vector of float) -0:15 't' (temp 2-component vector of float) -0:15 add (temp 2-component vector of float) -0:15 direct index (smooth temp 2-component vector of float) -0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 move second child to first child ( temp 2-component vector of float) +0:15 't' ( temp 2-component vector of float) +0:15 add ( temp 2-component vector of float) +0:15 direct index ( smooth temp 2-component vector of float) +0:15 'v' ( smooth in 2-element array of 2-component vector of float) 0:15 Constant: 0:15 0 (const int) -0:15 direct index (smooth temp 2-component vector of float) -0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 direct index ( smooth temp 2-component vector of float) +0:15 'v' ( smooth in 2-element array of 2-component vector of float) 0:15 Constant: 0:15 1 (const int) -0:17 move second child to first child (temp 4-component vector of float) -0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'gl_FragColor' ( fragColor 4-component vector of float FragColor) 0:17 Constant: 0:17 30.000000 0:17 30.000000 0:17 30.000000 0:17 30.000000 0:? Linker Objects -0:? 'u' (uniform 3-element array of 4-component vector of float) -0:? 'v' (smooth in 2-element array of 2-component vector of float) +0:? 'u' ( uniform 3-element array of 4-component vector of float) +0:? 'v' ( smooth in 2-element array of 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation.vert.out index d91ffa31ac1..929041545bf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation.vert.out @@ -25,143 +25,143 @@ ERROR: 19 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:20 Construct vec4 (temp highp 4-component vector of float) -0:20 'foo' (global highp float) -0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:20 Construct vec4 ( temp highp 4-component vector of float) +0:20 'foo' ( global highp float) +0:22 Function Definition: foo2(vf4; ( global highp 4-component vector of float) 0:22 Function Parameters: -0:22 'a' (in highp 4-component vector of float) +0:22 'a' ( in highp 4-component vector of float) 0:24 Sequence 0:24 Sequence -0:24 move second child to first child (temp highp 4-component vector of float) -0:24 'b' (temp highp 4-component vector of float) -0:24 'a' (in highp 4-component vector of float) +0:24 move second child to first child ( temp highp 4-component vector of float) +0:24 'b' ( temp highp 4-component vector of float) +0:24 'a' ( in highp 4-component vector of float) 0:25 Branch: Return with expression -0:25 'b' (temp highp 4-component vector of float) +0:25 'b' ( temp highp 4-component vector of float) 0:47 Sequence -0:47 move second child to first child (temp highp int) -0:47 'q1' (global highp int) +0:47 move second child to first child ( temp highp int) +0:47 'q1' ( global highp int) 0:47 Constant: 0:47 1 (const int) 0:48 Sequence -0:48 move second child to first child (temp highp int) -0:48 'q2' (global highp int) +0:48 move second child to first child ( temp highp int) +0:48 'q2' ( global highp int) 0:48 Constant: 0:48 1 (const int) 0:49 Sequence -0:49 move second child to first child (temp highp int) -0:49 'q3' (global highp int) +0:49 move second child to first child ( temp highp int) +0:49 'q3' ( global highp int) 0:49 Constant: 0:49 1 (const int) 0:50 Sequence -0:50 move second child to first child (temp highp int) -0:50 'q4' (global highp int) +0:50 move second child to first child ( temp highp int) +0:50 'q4' ( global highp int) 0:50 Constant: 0:50 1 (const int) 0:74 Sequence -0:74 move second child to first child (temp highp float) -0:74 'funkyf' (global highp float) +0:74 move second child to first child ( temp highp float) +0:74 'funkyf' ( global highp float) 0:75 Constant: 0:75 12300000000000000.000000 0:85 Sequence -0:84 move second child to first child (temp highp int) -0:84 'funkyh' (global highp int) +0:84 move second child to first child ( temp highp int) +0:84 'funkyh' ( global highp int) 0:86 Constant: 0:86 244 (const int) 0:91 Sequence -0:91 move second child to first child (temp highp int) -0:91 'funkyo' (global highp int) +0:91 move second child to first child ( temp highp int) +0:91 'funkyo' ( global highp int) 0:92 Constant: 0:92 34 (const int) 0:96 Sequence -0:96 move second child to first child (temp highp int) -0:96 'c' (global highp int) +0:96 move second child to first child ( temp highp int) +0:96 'c' ( global highp int) 0:97 Constant: 0:97 11 (const int) 0:98 Sequence -0:98 move second child to first child (temp highp int) -0:98 'd' (global highp int) +0:98 move second child to first child ( temp highp int) +0:98 'd' ( global highp int) 0:98 Constant: 0:98 12 (const int) 0:107 Sequence -0:107 move second child to first child (temp highp int) -0:107 'bar103' (global highp int) +0:107 move second child to first child ( temp highp int) +0:107 'bar103' ( global highp int) 0:107 Constant: 0:107 17 (const int) 0:113 Sequence -0:113 move second child to first child (temp highp int) -0:113 'bar104' (global highp int) +0:113 move second child to first child ( temp highp int) +0:113 'bar104' ( global highp int) 0:113 Constant: 0:113 19 (const int) 0:119 Sequence -0:119 move second child to first child (temp highp int) -0:119 'bar105' (global highp int) +0:119 move second child to first child ( temp highp int) +0:119 'bar105' ( global highp int) 0:119 Constant: 0:119 19 (const int) 0:122 Sequence -0:122 move second child to first child (temp highp int) -0:122 'bar106' (global highp int) +0:122 move second child to first child ( temp highp int) +0:122 'bar106' ( global highp int) 0:122 Constant: 0:122 12 (const int) 0:123 Sequence -0:123 move second child to first child (temp highp int) -0:123 'bar107' (global highp int) +0:123 move second child to first child ( temp highp int) +0:123 'bar107' ( global highp int) 0:128 Constant: 0:128 5 (const int) -0:131 Function Definition: foo203209409( (global void) +0:131 Function Definition: foo203209409( ( global void) 0:131 Function Parameters: 0:134 Sequence -0:134 add second child into first child (temp highp int) -0:133 'bar107' (global highp int) +0:134 add second child into first child ( temp highp int) +0:133 'bar107' ( global highp int) 0:134 Constant: 0:134 37 (const int) -0:135 multiply second child into first child (temp highp int) -0:135 'bar107' (global highp int) +0:135 multiply second child into first child ( temp highp int) +0:135 'bar107' ( global highp int) 0:136 Constant: 0:136 38 (const int) -0:137 divide second child into first child (temp highp int) -0:137 'bar107' (global highp int) +0:137 divide second child into first child ( temp highp int) +0:137 'bar107' ( global highp int) 0:138 Constant: 0:138 39 (const int) -0:139 add (temp highp int) -0:139 'bar107' (global highp int) +0:139 add ( temp highp int) +0:139 'bar107' ( global highp int) 0:140 Constant: 0:140 41 (const int) 0:? Linker Objects -0:? 'foo' (global highp float) -0:? 'goodDecl' (global highp int) -0:? 'a1' (const highp int) +0:? 'foo' ( global highp float) +0:? 'goodDecl' ( global highp int) +0:? 'a1' ( const highp int) 0:? 4 (const int) -0:? 'a2' (const highp int) +0:? 'a2' ( const highp int) 0:? 3 (const int) -0:? 'a3' (const highp int) +0:? 'a3' ( const highp int) 0:? 4 (const int) -0:? 'a4' (const highp int) +0:? 'a4' ( const highp int) 0:? 3 (const int) -0:? 'q1' (global highp int) -0:? 'q2' (global highp int) -0:? 'q3' (global highp int) -0:? 'q4' (global highp int) -0:? 'abdece' (const highp int) +0:? 'q1' ( global highp int) +0:? 'q2' ( global highp int) +0:? 'q3' ( global highp int) +0:? 'q4' ( global highp int) +0:? 'abdece' ( const highp int) 0:? 10 (const int) -0:? 'aoeuntaoehu' (const highp int) +0:? 'aoeuntaoehu' ( const highp int) 0:? 10 (const int) -0:? 'funkyf' (global highp float) -0:? 'funkyh' (global highp int) -0:? 'funkyo' (global highp int) -0:? 'c' (global highp int) -0:? 'd' (global highp int) -0:? 'bar103' (global highp int) -0:? 'bar104' (global highp int) -0:? 'bar105' (global highp int) -0:? 'bar106' (global highp int) -0:? 'bar107' (global highp int) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'funkyf' ( global highp float) +0:? 'funkyh' ( global highp int) +0:? 'funkyo' ( global highp int) +0:? 'c' ( global highp int) +0:? 'd' ( global highp int) +0:? 'bar103' ( global highp int) +0:? 'bar104' ( global highp int) +0:? 'bar105' ( global highp int) +0:? 'bar106' ( global highp int) +0:? 'bar107' ( global highp int) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -169,112 +169,112 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:20 Construct vec4 (temp highp 4-component vector of float) -0:20 'foo' (global highp float) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:20 Construct vec4 ( temp highp 4-component vector of float) +0:20 'foo' ( global highp float) 0:47 Sequence -0:47 move second child to first child (temp highp int) -0:47 'q1' (global highp int) +0:47 move second child to first child ( temp highp int) +0:47 'q1' ( global highp int) 0:47 Constant: 0:47 1 (const int) 0:48 Sequence -0:48 move second child to first child (temp highp int) -0:48 'q2' (global highp int) +0:48 move second child to first child ( temp highp int) +0:48 'q2' ( global highp int) 0:48 Constant: 0:48 1 (const int) 0:49 Sequence -0:49 move second child to first child (temp highp int) -0:49 'q3' (global highp int) +0:49 move second child to first child ( temp highp int) +0:49 'q3' ( global highp int) 0:49 Constant: 0:49 1 (const int) 0:50 Sequence -0:50 move second child to first child (temp highp int) -0:50 'q4' (global highp int) +0:50 move second child to first child ( temp highp int) +0:50 'q4' ( global highp int) 0:50 Constant: 0:50 1 (const int) 0:74 Sequence -0:74 move second child to first child (temp highp float) -0:74 'funkyf' (global highp float) +0:74 move second child to first child ( temp highp float) +0:74 'funkyf' ( global highp float) 0:75 Constant: 0:75 12300000000000000.000000 0:85 Sequence -0:84 move second child to first child (temp highp int) -0:84 'funkyh' (global highp int) +0:84 move second child to first child ( temp highp int) +0:84 'funkyh' ( global highp int) 0:86 Constant: 0:86 244 (const int) 0:91 Sequence -0:91 move second child to first child (temp highp int) -0:91 'funkyo' (global highp int) +0:91 move second child to first child ( temp highp int) +0:91 'funkyo' ( global highp int) 0:92 Constant: 0:92 34 (const int) 0:96 Sequence -0:96 move second child to first child (temp highp int) -0:96 'c' (global highp int) +0:96 move second child to first child ( temp highp int) +0:96 'c' ( global highp int) 0:97 Constant: 0:97 11 (const int) 0:98 Sequence -0:98 move second child to first child (temp highp int) -0:98 'd' (global highp int) +0:98 move second child to first child ( temp highp int) +0:98 'd' ( global highp int) 0:98 Constant: 0:98 12 (const int) 0:107 Sequence -0:107 move second child to first child (temp highp int) -0:107 'bar103' (global highp int) +0:107 move second child to first child ( temp highp int) +0:107 'bar103' ( global highp int) 0:107 Constant: 0:107 17 (const int) 0:113 Sequence -0:113 move second child to first child (temp highp int) -0:113 'bar104' (global highp int) +0:113 move second child to first child ( temp highp int) +0:113 'bar104' ( global highp int) 0:113 Constant: 0:113 19 (const int) 0:119 Sequence -0:119 move second child to first child (temp highp int) -0:119 'bar105' (global highp int) +0:119 move second child to first child ( temp highp int) +0:119 'bar105' ( global highp int) 0:119 Constant: 0:119 19 (const int) 0:122 Sequence -0:122 move second child to first child (temp highp int) -0:122 'bar106' (global highp int) +0:122 move second child to first child ( temp highp int) +0:122 'bar106' ( global highp int) 0:122 Constant: 0:122 12 (const int) 0:123 Sequence -0:123 move second child to first child (temp highp int) -0:123 'bar107' (global highp int) +0:123 move second child to first child ( temp highp int) +0:123 'bar107' ( global highp int) 0:128 Constant: 0:128 5 (const int) 0:? Linker Objects -0:? 'foo' (global highp float) -0:? 'goodDecl' (global highp int) -0:? 'a1' (const highp int) +0:? 'foo' ( global highp float) +0:? 'goodDecl' ( global highp int) +0:? 'a1' ( const highp int) 0:? 4 (const int) -0:? 'a2' (const highp int) +0:? 'a2' ( const highp int) 0:? 3 (const int) -0:? 'a3' (const highp int) +0:? 'a3' ( const highp int) 0:? 4 (const int) -0:? 'a4' (const highp int) +0:? 'a4' ( const highp int) 0:? 3 (const int) -0:? 'q1' (global highp int) -0:? 'q2' (global highp int) -0:? 'q3' (global highp int) -0:? 'q4' (global highp int) -0:? 'abdece' (const highp int) +0:? 'q1' ( global highp int) +0:? 'q2' ( global highp int) +0:? 'q3' ( global highp int) +0:? 'q4' ( global highp int) +0:? 'abdece' ( const highp int) 0:? 10 (const int) -0:? 'aoeuntaoehu' (const highp int) +0:? 'aoeuntaoehu' ( const highp int) 0:? 10 (const int) -0:? 'funkyf' (global highp float) -0:? 'funkyh' (global highp int) -0:? 'funkyo' (global highp int) -0:? 'c' (global highp int) -0:? 'd' (global highp int) -0:? 'bar103' (global highp int) -0:? 'bar104' (global highp int) -0:? 'bar105' (global highp int) -0:? 'bar106' (global highp int) -0:? 'bar107' (global highp int) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'funkyf' ( global highp float) +0:? 'funkyh' ( global highp int) +0:? 'funkyo' ( global highp int) +0:? 'c' ( global highp int) +0:? 'd' ( global highp int) +0:? 'bar103' ( global highp int) +0:? 'bar104' ( global highp int) +0:? 'bar105' ( global highp int) +0:? 'bar106' ( global highp int) +0:? 'bar107' ( global highp int) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out index 1fb309b3c9b..c86b52bf91c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out @@ -25,57 +25,57 @@ ERROR: 20 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:20 Construct vec4 (temp highp 4-component vector of float) -0:20 'foo' (global highp float) -0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:20 Construct vec4 ( temp highp 4-component vector of float) +0:20 'foo' ( global highp float) +0:22 Function Definition: foo2(vf4; ( global highp 4-component vector of float) 0:22 Function Parameters: -0:22 'a' (in highp 4-component vector of float) +0:22 'a' ( in highp 4-component vector of float) 0:24 Sequence 0:24 Sequence -0:24 move second child to first child (temp highp 4-component vector of float) -0:24 'b' (temp highp 4-component vector of float) -0:24 'a' (in highp 4-component vector of float) +0:24 move second child to first child ( temp highp 4-component vector of float) +0:24 'b' ( temp highp 4-component vector of float) +0:24 'a' ( in highp 4-component vector of float) 0:25 Branch: Return with expression -0:25 'b' (temp highp 4-component vector of float) +0:25 'b' ( temp highp 4-component vector of float) 0:45 Sequence -0:45 move second child to first child (temp highp int) -0:45 'q1' (global highp int) +0:45 move second child to first child ( temp highp int) +0:45 'q1' ( global highp int) 0:45 Constant: 0:45 1 (const int) 0:46 Sequence -0:46 move second child to first child (temp highp int) -0:46 'q2' (global highp int) +0:46 move second child to first child ( temp highp int) +0:46 'q2' ( global highp int) 0:46 Constant: 0:46 1 (const int) 0:47 Sequence -0:47 move second child to first child (temp highp int) -0:47 'q3' (global highp int) +0:47 move second child to first child ( temp highp int) +0:47 'q3' ( global highp int) 0:47 Constant: 0:47 1 (const int) 0:48 Sequence -0:48 move second child to first child (temp highp int) -0:48 'q4' (global highp int) +0:48 move second child to first child ( temp highp int) +0:48 'q4' ( global highp int) 0:48 Constant: 0:48 1 (const int) 0:? Linker Objects -0:? 'foo' (global highp float) -0:? 'a1' (const highp int) +0:? 'foo' ( global highp float) +0:? 'a1' ( const highp int) 0:? 4 (const int) -0:? 'a2' (const highp int) +0:? 'a2' ( const highp int) 0:? 3 (const int) -0:? 'a3' (const highp int) +0:? 'a3' ( const highp int) 0:? 4 (const int) -0:? 'a4' (const highp int) +0:? 'a4' ( const highp int) 0:? 3 (const int) -0:? 'q1' (global highp int) -0:? 'q2' (global highp int) -0:? 'q3' (global highp int) -0:? 'q4' (global highp int) +0:? 'q1' ( global highp int) +0:? 'q2' ( global highp int) +0:? 'q3' ( global highp int) +0:? 'q4' ( global highp int) Linked vertex stage: @@ -83,45 +83,45 @@ Linked vertex stage: Shader version: 100 ERROR: node is still EOpNull! -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:20 Construct vec4 (temp highp 4-component vector of float) -0:20 'foo' (global highp float) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:20 Construct vec4 ( temp highp 4-component vector of float) +0:20 'foo' ( global highp float) 0:45 Sequence -0:45 move second child to first child (temp highp int) -0:45 'q1' (global highp int) +0:45 move second child to first child ( temp highp int) +0:45 'q1' ( global highp int) 0:45 Constant: 0:45 1 (const int) 0:46 Sequence -0:46 move second child to first child (temp highp int) -0:46 'q2' (global highp int) +0:46 move second child to first child ( temp highp int) +0:46 'q2' ( global highp int) 0:46 Constant: 0:46 1 (const int) 0:47 Sequence -0:47 move second child to first child (temp highp int) -0:47 'q3' (global highp int) +0:47 move second child to first child ( temp highp int) +0:47 'q3' ( global highp int) 0:47 Constant: 0:47 1 (const int) 0:48 Sequence -0:48 move second child to first child (temp highp int) -0:48 'q4' (global highp int) +0:48 move second child to first child ( temp highp int) +0:48 'q4' ( global highp int) 0:48 Constant: 0:48 1 (const int) 0:? Linker Objects -0:? 'foo' (global highp float) -0:? 'a1' (const highp int) +0:? 'foo' ( global highp float) +0:? 'a1' ( const highp int) 0:? 4 (const int) -0:? 'a2' (const highp int) +0:? 'a2' ( const highp int) 0:? 3 (const int) -0:? 'a3' (const highp int) +0:? 'a3' ( const highp int) 0:? 4 (const int) -0:? 'a4' (const highp int) +0:? 'a4' ( const highp int) 0:? 3 (const int) -0:? 'q1' (global highp int) -0:? 'q2' (global highp int) -0:? 'q3' (global highp int) -0:? 'q4' (global highp int) +0:? 'q1' ( global highp int) +0:? 'q2' ( global highp int) +0:? 'q3' ( global highp int) +0:? 'q4' ( global highp int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.frag.out index 51d7475a5bf..2ea63ad5fb7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.frag.out @@ -2,79 +2,79 @@ link1.frag Shader version: 130 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'a' (global 4-component vector of float) -0:8 vector-scale (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'a' ( global 4-component vector of float) +0:8 vector-scale ( temp 4-component vector of float) 0:8 Constant: 0:8 8.000000 -0:8 'uv4' (uniform 4-component vector of float) -0:13 Function Definition: main( (global void) +0:8 'uv4' ( uniform 4-component vector of float) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'b' (global 4-component vector of float) -0:17 vector-scale (temp 4-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'b' ( global 4-component vector of float) +0:17 vector-scale ( temp 4-component vector of float) 0:17 Constant: 0:17 8.000000 -0:17 'a' (global 4-component vector of float) -0:19 Function Definition: foo(mf22; (global 2-component vector of int) +0:17 'a' ( global 4-component vector of float) +0:19 Function Definition: foo(mf22; ( global 2-component vector of int) 0:19 Function Parameters: -0:19 'm' (in 2X2 matrix of float) +0:19 'm' ( in 2X2 matrix of float) 0:21 Sequence 0:21 Branch: Return with expression -0:21 Convert float to int (temp 2-component vector of int) -0:21 direct index (temp 2-component vector of float) -0:21 'm' (in 2X2 matrix of float) +0:21 Convert float to int ( temp 2-component vector of int) +0:21 direct index ( temp 2-component vector of float) +0:21 'm' ( in 2X2 matrix of float) 0:21 Constant: 0:21 0 (const int) 0:24 Sequence -0:24 move second child to first child (temp 4-component vector of float) -0:24 'c' (global 4-component vector of float) -0:24 component-wise multiply (temp 4-component vector of float) -0:24 'b' (global 4-component vector of float) -0:24 'b' (global 4-component vector of float) +0:24 move second child to first child ( temp 4-component vector of float) +0:24 'c' ( global 4-component vector of float) +0:24 component-wise multiply ( temp 4-component vector of float) +0:24 'b' ( global 4-component vector of float) +0:24 'b' ( global 4-component vector of float) 0:? Linker Objects -0:? 'uv4' (uniform 4-component vector of float) -0:? 'glass' (uniform 3-component vector of float) -0:? 'ci' (const int) +0:? 'uv4' ( uniform 4-component vector of float) +0:? 'glass' ( uniform 3-component vector of float) +0:? 'ci' ( const int) 0:? 8 (const int) -0:? 'a' (global 4-component vector of float) -0:? 'iv3' (smooth in 3-component vector of float) -0:? 'cup' (smooth in 4-component vector of float) -0:? 'b' (global 4-component vector of float) -0:? 'c' (global 4-component vector of float) -0:? 'cv3' (const 3-component vector of float) +0:? 'a' ( global 4-component vector of float) +0:? 'iv3' ( smooth in 3-component vector of float) +0:? 'cup' ( smooth in 4-component vector of float) +0:? 'b' ( global 4-component vector of float) +0:? 'c' ( global 4-component vector of float) +0:? 'cv3' ( const 3-component vector of float) 0:? 43.000000 0:? 0.340000 0:? 9.900000 -0:? 'cv3n' (const 3-component vector of float) +0:? 'cv3n' ( const 3-component vector of float) 0:? 43.000000 0:? 0.340000 0:? 9.900000 -0:? 'cv3e' (const 3-component vector of float) +0:? 'cv3e' ( const 3-component vector of float) 0:? 43.000000 0:? 0.340000 0:? 9.900000 -0:? 'um2' (uniform 2X2 matrix of float) +0:? 'um2' ( uniform 2X2 matrix of float) 0:? 4.000000 0:? 0.000000 0:? 0.000000 0:? 4.000000 -0:? 'um2n' (uniform 2X2 matrix of float) +0:? 'um2n' ( uniform 2X2 matrix of float) 0:? 4.000000 0:? 0.000000 0:? 0.000000 0:? 4.000000 -0:? 'um2e' (uniform 2X2 matrix of float) +0:? 'um2e' ( uniform 2X2 matrix of float) 0:? 4.000000 0:? 0.000000 0:? 0.000000 0:? 4.000000 -0:? 's' (uniform structure{global int a, global float b}) +0:? 's' ( uniform structure{ global int a, global float b}) 0:? 82 (const int) 0:? 3.900000 -0:? 'sn' (uniform structure{global int a, global float b}) -0:? 'se' (uniform structure{global int a, global float b}) +0:? 'sn' ( uniform structure{ global int a, global float b}) +0:? 'se' ( uniform structure{ global int a, global float b}) 0:? 82 (const int) 0:? 3.900000 @@ -84,20 +84,20 @@ Requested GL_OES_standard_derivatives Requested GL_OES_texture_3D 0:? Sequence 0:8 Sequence -0:8 move second child to first child (temp 4-component vector of float) -0:8 'd' (global 4-component vector of float) -0:8 vector-scale (temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) +0:8 'd' ( global 4-component vector of float) +0:8 vector-scale ( temp 4-component vector of float) 0:8 Constant: 0:8 8.000000 -0:8 'uv4' (uniform 4-component vector of float) +0:8 'uv4' ( uniform 4-component vector of float) 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'e' (global 4-component vector of float) -0:13 vector-scale (temp 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'e' ( global 4-component vector of float) +0:13 vector-scale ( temp 4-component vector of float) 0:13 Constant: 0:13 8.000000 -0:13 'd' (global 4-component vector of float) -0:15 Function Definition: foo( (global 2-component vector of int) +0:13 'd' ( global 4-component vector of float) +0:15 Function Definition: foo( ( global 2-component vector of int) 0:15 Function Parameters: 0:17 Sequence 0:17 Branch: Return with expression @@ -105,47 +105,47 @@ Requested GL_OES_texture_3D 0:17 2 (const int) 0:17 2 (const int) 0:20 Sequence -0:20 move second child to first child (temp 4-component vector of float) -0:20 'f' (global 4-component vector of float) -0:20 component-wise multiply (temp 4-component vector of float) -0:20 'e' (global 4-component vector of float) -0:20 'e' (global 4-component vector of float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'f' ( global 4-component vector of float) +0:20 component-wise multiply ( temp 4-component vector of float) +0:20 'e' ( global 4-component vector of float) +0:20 'e' ( global 4-component vector of float) 0:? Linker Objects -0:? 'uv4' (uniform 4-component vector of float) -0:? 'glass' (uniform 2-component vector of float) -0:? 'ci' (const int) +0:? 'uv4' ( uniform 4-component vector of float) +0:? 'glass' ( uniform 2-component vector of float) +0:? 'ci' ( const int) 0:? 8 (const int) -0:? 'd' (global 4-component vector of float) -0:? 'iv3' (smooth in 3-component vector of float) -0:? 'cup' (flat in 4-component vector of float) -0:? 'e' (global 4-component vector of float) -0:? 'f' (global 4-component vector of float) -0:? 'cv3' (const 3-component vector of float) +0:? 'd' ( global 4-component vector of float) +0:? 'iv3' ( smooth in 3-component vector of float) +0:? 'cup' ( flat in 4-component vector of float) +0:? 'e' ( global 4-component vector of float) +0:? 'f' ( global 4-component vector of float) +0:? 'cv3' ( const 3-component vector of float) 0:? 43.000000 0:? 0.340000 0:? 9.900000 -0:? 'cv3e' (const 3-component vector of float) +0:? 'cv3e' ( const 3-component vector of float) 0:? 43.000000 0:? 0.340000 0:? 2.900000 -0:? 'um2' (uniform 2X2 matrix of float) +0:? 'um2' ( uniform 2X2 matrix of float) 0:? 4.000000 0:? 0.000000 0:? 0.000000 0:? 4.000000 -0:? 'um2n' (uniform 2X2 matrix of float) -0:? 'um2e' (uniform 2X2 matrix of float) +0:? 'um2n' ( uniform 2X2 matrix of float) +0:? 'um2e' ( uniform 2X2 matrix of float) 0:? 3.000000 0:? 0.000000 0:? 0.000000 0:? 3.000000 -0:? 's' (uniform structure{global int a, global float b}) +0:? 's' ( uniform structure{ global int a, global float b}) 0:? 82 (const int) 0:? 3.900000 -0:? 'sn' (uniform structure{global int a, global float b}) +0:? 'sn' ( uniform structure{ global int a, global float b}) 0:? 82 (const int) 0:? 3.900000 -0:? 'se' (uniform structure{global int a, global float b}) +0:? 'se' ( uniform structure{ global int a, global float b}) 0:? 81 (const int) 0:? 3.900000 @@ -156,7 +156,7 @@ Requested GL_OES_standard_derivatives Requested GL_OES_texture_3D 0:? Sequence 0:? Linker Objects -0:? 'iv3' (smooth in highp 2-component vector of float) +0:? 'iv3' ( smooth in highp 2-component vector of float) ERROR: Cannot mix ES profile with non-ES profile shaders diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.vk.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.vk.frag.out index 2688e634ef2..436f5e217e5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.vk.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/link1.vk.frag.out @@ -4,14 +4,14 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp highp 4-component vector of float) -0:9 'color' (out highp 4-component vector of float) -0:9 Function Call: getColor( (global highp 4-component vector of float) +0:9 move second child to first child ( temp highp 4-component vector of float) +0:9 'color' ( out highp 4-component vector of float) +0:9 Function Call: getColor( ( global highp 4-component vector of float) 0:? Linker Objects -0:? 'color' (out highp 4-component vector of float) +0:? 'color' ( out highp 4-component vector of float) link2.vk.frag Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. @@ -19,17 +19,17 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:5 Function Definition: getColor( (global highp 4-component vector of float) +0:5 Function Definition: getColor( ( global highp 4-component vector of float) 0:5 Function Parameters: 0:7 Sequence 0:7 Branch: Return with expression -0:7 texture (global highp 4-component vector of float) -0:7 's2D' (uniform highp sampler2D) +0:7 texture ( global highp 4-component vector of float) +0:7 's2D' ( uniform highp sampler2D) 0:7 Constant: 0:7 0.500000 0:7 0.500000 0:? Linker Objects -0:? 's2D' (uniform highp sampler2D) +0:? 's2D' ( uniform highp sampler2D) Linked fragment stage: @@ -38,23 +38,23 @@ Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 move second child to first child (temp highp 4-component vector of float) -0:9 'color' (out highp 4-component vector of float) -0:9 Function Call: getColor( (global highp 4-component vector of float) -0:5 Function Definition: getColor( (global highp 4-component vector of float) +0:9 move second child to first child ( temp highp 4-component vector of float) +0:9 'color' ( out highp 4-component vector of float) +0:9 Function Call: getColor( ( global highp 4-component vector of float) +0:5 Function Definition: getColor( ( global highp 4-component vector of float) 0:5 Function Parameters: 0:7 Sequence 0:7 Branch: Return with expression -0:7 texture (global highp 4-component vector of float) -0:7 's2D' (uniform highp sampler2D) +0:7 texture ( global highp 4-component vector of float) +0:7 's2D' ( uniform highp sampler2D) 0:7 Constant: 0:7 0.500000 0:7 0.500000 0:? Linker Objects -0:? 'color' (out highp 4-component vector of float) -0:? 's2D' (uniform highp sampler2D) +0:? 'color' ( out highp 4-component vector of float) +0:? 's2D' ( uniform highp sampler2D) SPIR-V is not generated for failed compile or link diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/localAggregates.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/localAggregates.frag.out index 2e8ae76c0bc..ca445bccd3b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/localAggregates.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/localAggregates.frag.out @@ -4,21 +4,21 @@ WARNING: 0:5: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:34 Function Definition: main( (global void) +0:34 Function Definition: main( ( global void) 0:34 Function Parameters: 0:? Sequence -0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:41 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:41 Constant: 0:41 0 (const int) -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition -0:43 Compare Greater Than (temp bool) -0:43 i: direct index for structure (global int) -0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:43 Compare Greater Than ( temp bool) +0:43 i: direct index for structure ( global int) +0:43 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:43 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:43 Constant: 0:43 0 (const int) 0:43 Constant: @@ -27,183 +27,183 @@ Shader version: 130 0:43 0 (const int) 0:43 true case 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 f: direct index for structure (global float) -0:44 s1_1: direct index for structure (global structure{global int i, global float f}) -0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:44 move second child to first child ( temp float) +0:44 f: direct index for structure ( global float) +0:44 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:44 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 1.000000 -0:45 move second child to first child (temp float) -0:45 direct index (temp float) -0:45 'localFArray' (temp 16-element array of float) +0:45 move second child to first child ( temp float) +0:45 direct index ( temp float) +0:45 'localFArray' ( temp 16-element array of float) 0:45 Constant: 0:45 4 (const int) -0:45 direct index (temp float) -0:45 'coord' (smooth in 2-component vector of float) +0:45 direct index ( temp float) +0:45 'coord' ( smooth in 2-component vector of float) 0:45 Constant: 0:45 0 (const int) -0:46 move second child to first child (temp int) -0:46 direct index (temp int) -0:46 'localIArray' (temp 8-element array of int) +0:46 move second child to first child ( temp int) +0:46 direct index ( temp int) +0:46 'localIArray' ( temp 8-element array of int) 0:46 Constant: 0:46 2 (const int) -0:46 i: direct index for structure (global int) -0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:46 i: direct index for structure ( global int) +0:46 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:46 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) 0:43 false case 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 f: direct index for structure (global float) -0:48 s1_1: direct index for structure (global structure{global int i, global float f}) -0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:48 move second child to first child ( temp float) +0:48 f: direct index for structure ( global float) +0:48 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:48 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:48 Constant: 0:48 2 (const int) 0:48 Constant: 0:48 1 (const int) -0:48 direct index (temp float) -0:48 'coord' (smooth in 2-component vector of float) +0:48 direct index ( temp float) +0:48 'coord' ( smooth in 2-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:49 move second child to first child (temp float) -0:49 direct index (temp float) -0:49 'localFArray' (temp 16-element array of float) +0:49 move second child to first child ( temp float) +0:49 direct index ( temp float) +0:49 'localFArray' ( temp 16-element array of float) 0:49 Constant: 0:49 4 (const int) 0:49 Constant: 0:49 1.000000 -0:50 move second child to first child (temp int) -0:50 direct index (temp int) -0:50 'localIArray' (temp 8-element array of int) +0:50 move second child to first child ( temp int) +0:50 direct index ( temp int) +0:50 'localIArray' ( temp 8-element array of int) 0:50 Constant: 0:50 2 (const int) 0:50 Constant: 0:50 0 (const int) -0:53 Test condition and select (temp void) +0:53 Test condition and select ( temp void) 0:53 Condition -0:53 Compare Equal (temp bool) -0:53 direct index (temp int) -0:53 'localIArray' (temp 8-element array of int) +0:53 Compare Equal ( temp bool) +0:53 direct index ( temp int) +0:53 'localIArray' ( temp 8-element array of int) 0:53 Constant: 0:53 2 (const int) 0:53 Constant: 0:53 0 (const int) 0:53 true case -0:54 Pre-Increment (temp float) -0:54 direct index (temp float) -0:54 'localFArray' (temp 16-element array of float) +0:54 Pre-Increment ( temp float) +0:54 direct index ( temp float) +0:54 'localFArray' ( temp 16-element array of float) 0:54 Constant: 0:54 4 (const int) 0:57 Sequence -0:57 move second child to first child (temp int) -0:57 'x' (temp int) +0:57 move second child to first child ( temp int) +0:57 'x' ( temp int) 0:57 Constant: 0:57 5 (const int) -0:58 move second child to first child (temp float) -0:58 indirect index (temp float) -0:58 'localArray' (temp 16-element array of float) -0:58 'x' (temp int) -0:58 direct index (temp float) -0:58 'coord' (smooth in 2-component vector of float) +0:58 move second child to first child ( temp float) +0:58 indirect index ( temp float) +0:58 'localArray' ( temp 16-element array of float) +0:58 'x' ( temp int) +0:58 direct index ( temp float) +0:58 'coord' ( smooth in 2-component vector of float) 0:58 Constant: 0:58 0 (const int) 0:62 Sequence 0:62 Sequence -0:62 move second child to first child (temp int) -0:62 'i' (temp int) +0:62 move second child to first child ( temp int) +0:62 'i' ( temp int) 0:62 Constant: 0:62 0 (const int) 0:62 Loop with condition tested first 0:62 Loop Condition -0:62 Compare Less Than (temp bool) -0:62 'i' (temp int) +0:62 Compare Less Than ( temp bool) +0:62 'i' ( temp int) 0:62 Constant: 0:62 16 (const int) 0:62 Loop Body -0:63 move second child to first child (temp float) -0:63 indirect index (temp float) -0:63 'a' (temp 16-element array of float) -0:63 'i' (temp int) +0:63 move second child to first child ( temp float) +0:63 indirect index ( temp float) +0:63 'a' ( temp 16-element array of float) +0:63 'i' ( temp int) 0:63 Constant: 0:63 0.000000 0:62 Loop Terminal Expression -0:62 Post-Increment (temp int) -0:62 'i' (temp int) -0:65 Test condition and select (temp void) +0:62 Post-Increment ( temp int) +0:62 'i' ( temp int) +0:65 Test condition and select ( temp void) 0:65 Condition -0:65 Compare Equal (temp bool) -0:65 'condition' (uniform int) +0:65 Compare Equal ( temp bool) +0:65 'condition' ( uniform int) 0:65 Constant: 0:65 1 (const int) 0:65 true case -0:66 move second child to first child (temp 16-element array of float) -0:66 'a' (temp 16-element array of float) -0:66 'localArray' (temp 16-element array of float) -0:68 move second child to first child (temp 4-component vector of float) -0:68 bleh: direct index for structure (global 4-component vector of float) -0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:66 move second child to first child ( temp 16-element array of float) +0:66 'a' ( temp 16-element array of float) +0:66 'localArray' ( temp 16-element array of float) +0:68 move second child to first child ( temp 4-component vector of float) +0:68 bleh: direct index for structure ( global 4-component vector of float) +0:68 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:68 Constant: 0:68 3 (const int) -0:68 'color' (smooth in 4-component vector of float) -0:69 move second child to first child (temp float) -0:69 direct index (temp float) -0:69 bleh: direct index for structure (global 4-component vector of float) -0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:68 'color' ( smooth in 4-component vector of float) +0:69 move second child to first child ( temp float) +0:69 direct index ( temp float) +0:69 bleh: direct index for structure ( global 4-component vector of float) +0:69 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:69 Constant: 0:69 3 (const int) 0:69 Constant: 0:69 2 (const int) -0:69 direct index (temp float) -0:69 'coord' (smooth in 2-component vector of float) +0:69 direct index ( temp float) +0:69 'coord' ( smooth in 2-component vector of float) 0:69 Constant: 0:69 1 (const int) -0:71 move second child to first child (temp 4-component vector of float) -0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:71 component-wise multiply (temp 4-component vector of float) -0:71 vector-scale (temp 4-component vector of float) -0:71 bleh: direct index for structure (global 4-component vector of float) -0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:71 move second child to first child ( temp 4-component vector of float) +0:71 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:71 component-wise multiply ( temp 4-component vector of float) +0:71 vector-scale ( temp 4-component vector of float) +0:71 bleh: direct index for structure ( global 4-component vector of float) +0:71 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:71 Constant: 0:71 3 (const int) -0:71 add (temp float) -0:71 add (temp float) -0:71 add (temp float) -0:71 direct index (temp float) -0:71 'localFArray' (temp 16-element array of float) +0:71 add ( temp float) +0:71 add ( temp float) +0:71 add ( temp float) +0:71 direct index ( temp float) +0:71 'localFArray' ( temp 16-element array of float) 0:71 Constant: 0:71 4 (const int) -0:71 f: direct index for structure (global float) -0:71 s1_1: direct index for structure (global structure{global int i, global float f}) -0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:71 f: direct index for structure ( global float) +0:71 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:71 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:71 Constant: 0:71 2 (const int) 0:71 Constant: 0:71 1 (const int) -0:71 indirect index (temp float) -0:71 'localArray' (temp 16-element array of float) -0:71 'x' (temp int) -0:71 indirect index (temp float) -0:71 'a' (temp 16-element array of float) -0:71 'x' (temp int) -0:71 texture (global 4-component vector of float) -0:71 'sampler' (uniform sampler2D) -0:71 'coord' (smooth in 2-component vector of float) +0:71 indirect index ( temp float) +0:71 'localArray' ( temp 16-element array of float) +0:71 'x' ( temp int) +0:71 indirect index ( temp float) +0:71 'a' ( temp 16-element array of float) +0:71 'x' ( temp int) +0:71 texture ( global 4-component vector of float) +0:71 'sampler' ( uniform sampler2D) +0:71 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'color' (smooth in 4-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'uFloatArray' (uniform 16-element array of float) -0:? 'condition' (uniform int) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:? 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'uFloatArray' ( uniform 16-element array of float) +0:? 'condition' ( uniform int) Linked fragment stage: @@ -211,21 +211,21 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:34 Function Definition: main( (global void) +0:34 Function Definition: main( ( global void) 0:34 Function Parameters: 0:? Sequence -0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:41 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:41 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:41 Constant: 0:41 0 (const int) -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition -0:43 Compare Greater Than (temp bool) -0:43 i: direct index for structure (global int) -0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:43 Compare Greater Than ( temp bool) +0:43 i: direct index for structure ( global int) +0:43 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:43 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:43 Constant: 0:43 0 (const int) 0:43 Constant: @@ -234,181 +234,181 @@ Shader version: 130 0:43 0 (const int) 0:43 true case 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 f: direct index for structure (global float) -0:44 s1_1: direct index for structure (global structure{global int i, global float f}) -0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:44 move second child to first child ( temp float) +0:44 f: direct index for structure ( global float) +0:44 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:44 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 1 (const int) 0:44 Constant: 0:44 1.000000 -0:45 move second child to first child (temp float) -0:45 direct index (temp float) -0:45 'localFArray' (temp 16-element array of float) +0:45 move second child to first child ( temp float) +0:45 direct index ( temp float) +0:45 'localFArray' ( temp 16-element array of float) 0:45 Constant: 0:45 4 (const int) -0:45 direct index (temp float) -0:45 'coord' (smooth in 2-component vector of float) +0:45 direct index ( temp float) +0:45 'coord' ( smooth in 2-component vector of float) 0:45 Constant: 0:45 0 (const int) -0:46 move second child to first child (temp int) -0:46 direct index (temp int) -0:46 'localIArray' (temp 8-element array of int) +0:46 move second child to first child ( temp int) +0:46 direct index ( temp int) +0:46 'localIArray' ( temp 8-element array of int) 0:46 Constant: 0:46 2 (const int) -0:46 i: direct index for structure (global int) -0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:46 i: direct index for structure ( global int) +0:46 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:46 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) 0:43 false case 0:48 Sequence -0:48 move second child to first child (temp float) -0:48 f: direct index for structure (global float) -0:48 s1_1: direct index for structure (global structure{global int i, global float f}) -0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:48 move second child to first child ( temp float) +0:48 f: direct index for structure ( global float) +0:48 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:48 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:48 Constant: 0:48 2 (const int) 0:48 Constant: 0:48 1 (const int) -0:48 direct index (temp float) -0:48 'coord' (smooth in 2-component vector of float) +0:48 direct index ( temp float) +0:48 'coord' ( smooth in 2-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:49 move second child to first child (temp float) -0:49 direct index (temp float) -0:49 'localFArray' (temp 16-element array of float) +0:49 move second child to first child ( temp float) +0:49 direct index ( temp float) +0:49 'localFArray' ( temp 16-element array of float) 0:49 Constant: 0:49 4 (const int) 0:49 Constant: 0:49 1.000000 -0:50 move second child to first child (temp int) -0:50 direct index (temp int) -0:50 'localIArray' (temp 8-element array of int) +0:50 move second child to first child ( temp int) +0:50 direct index ( temp int) +0:50 'localIArray' ( temp 8-element array of int) 0:50 Constant: 0:50 2 (const int) 0:50 Constant: 0:50 0 (const int) -0:53 Test condition and select (temp void) +0:53 Test condition and select ( temp void) 0:53 Condition -0:53 Compare Equal (temp bool) -0:53 direct index (temp int) -0:53 'localIArray' (temp 8-element array of int) +0:53 Compare Equal ( temp bool) +0:53 direct index ( temp int) +0:53 'localIArray' ( temp 8-element array of int) 0:53 Constant: 0:53 2 (const int) 0:53 Constant: 0:53 0 (const int) 0:53 true case -0:54 Pre-Increment (temp float) -0:54 direct index (temp float) -0:54 'localFArray' (temp 16-element array of float) +0:54 Pre-Increment ( temp float) +0:54 direct index ( temp float) +0:54 'localFArray' ( temp 16-element array of float) 0:54 Constant: 0:54 4 (const int) 0:57 Sequence -0:57 move second child to first child (temp int) -0:57 'x' (temp int) +0:57 move second child to first child ( temp int) +0:57 'x' ( temp int) 0:57 Constant: 0:57 5 (const int) -0:58 move second child to first child (temp float) -0:58 indirect index (temp float) -0:58 'localArray' (temp 16-element array of float) -0:58 'x' (temp int) -0:58 direct index (temp float) -0:58 'coord' (smooth in 2-component vector of float) +0:58 move second child to first child ( temp float) +0:58 indirect index ( temp float) +0:58 'localArray' ( temp 16-element array of float) +0:58 'x' ( temp int) +0:58 direct index ( temp float) +0:58 'coord' ( smooth in 2-component vector of float) 0:58 Constant: 0:58 0 (const int) 0:62 Sequence 0:62 Sequence -0:62 move second child to first child (temp int) -0:62 'i' (temp int) +0:62 move second child to first child ( temp int) +0:62 'i' ( temp int) 0:62 Constant: 0:62 0 (const int) 0:62 Loop with condition tested first 0:62 Loop Condition -0:62 Compare Less Than (temp bool) -0:62 'i' (temp int) +0:62 Compare Less Than ( temp bool) +0:62 'i' ( temp int) 0:62 Constant: 0:62 16 (const int) 0:62 Loop Body -0:63 move second child to first child (temp float) -0:63 indirect index (temp float) -0:63 'a' (temp 16-element array of float) -0:63 'i' (temp int) +0:63 move second child to first child ( temp float) +0:63 indirect index ( temp float) +0:63 'a' ( temp 16-element array of float) +0:63 'i' ( temp int) 0:63 Constant: 0:63 0.000000 0:62 Loop Terminal Expression -0:62 Post-Increment (temp int) -0:62 'i' (temp int) -0:65 Test condition and select (temp void) +0:62 Post-Increment ( temp int) +0:62 'i' ( temp int) +0:65 Test condition and select ( temp void) 0:65 Condition -0:65 Compare Equal (temp bool) -0:65 'condition' (uniform int) +0:65 Compare Equal ( temp bool) +0:65 'condition' ( uniform int) 0:65 Constant: 0:65 1 (const int) 0:65 true case -0:66 move second child to first child (temp 16-element array of float) -0:66 'a' (temp 16-element array of float) -0:66 'localArray' (temp 16-element array of float) -0:68 move second child to first child (temp 4-component vector of float) -0:68 bleh: direct index for structure (global 4-component vector of float) -0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:66 move second child to first child ( temp 16-element array of float) +0:66 'a' ( temp 16-element array of float) +0:66 'localArray' ( temp 16-element array of float) +0:68 move second child to first child ( temp 4-component vector of float) +0:68 bleh: direct index for structure ( global 4-component vector of float) +0:68 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:68 Constant: 0:68 3 (const int) -0:68 'color' (smooth in 4-component vector of float) -0:69 move second child to first child (temp float) -0:69 direct index (temp float) -0:69 bleh: direct index for structure (global 4-component vector of float) -0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:68 'color' ( smooth in 4-component vector of float) +0:69 move second child to first child ( temp float) +0:69 direct index ( temp float) +0:69 bleh: direct index for structure ( global 4-component vector of float) +0:69 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:69 Constant: 0:69 3 (const int) 0:69 Constant: 0:69 2 (const int) -0:69 direct index (temp float) -0:69 'coord' (smooth in 2-component vector of float) +0:69 direct index ( temp float) +0:69 'coord' ( smooth in 2-component vector of float) 0:69 Constant: 0:69 1 (const int) -0:71 move second child to first child (temp 4-component vector of float) -0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:71 component-wise multiply (temp 4-component vector of float) -0:71 vector-scale (temp 4-component vector of float) -0:71 bleh: direct index for structure (global 4-component vector of float) -0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:71 move second child to first child ( temp 4-component vector of float) +0:71 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:71 component-wise multiply ( temp 4-component vector of float) +0:71 vector-scale ( temp 4-component vector of float) +0:71 bleh: direct index for structure ( global 4-component vector of float) +0:71 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:71 Constant: 0:71 3 (const int) -0:71 add (temp float) -0:71 add (temp float) -0:71 add (temp float) -0:71 direct index (temp float) -0:71 'localFArray' (temp 16-element array of float) +0:71 add ( temp float) +0:71 add ( temp float) +0:71 add ( temp float) +0:71 direct index ( temp float) +0:71 'localFArray' ( temp 16-element array of float) 0:71 Constant: 0:71 4 (const int) -0:71 f: direct index for structure (global float) -0:71 s1_1: direct index for structure (global structure{global int i, global float f}) -0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:71 f: direct index for structure ( global float) +0:71 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:71 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) 0:71 Constant: 0:71 2 (const int) 0:71 Constant: 0:71 1 (const int) -0:71 indirect index (temp float) -0:71 'localArray' (temp 16-element array of float) -0:71 'x' (temp int) -0:71 indirect index (temp float) -0:71 'a' (temp 16-element array of float) -0:71 'x' (temp int) -0:71 texture (global 4-component vector of float) -0:71 'sampler' (uniform sampler2D) -0:71 'coord' (smooth in 2-component vector of float) +0:71 indirect index ( temp float) +0:71 'localArray' ( temp 16-element array of float) +0:71 'x' ( temp int) +0:71 indirect index ( temp float) +0:71 'a' ( temp 16-element array of float) +0:71 'x' ( temp int) +0:71 texture ( global 4-component vector of float) +0:71 'sampler' ( uniform sampler2D) +0:71 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'color' (smooth in 4-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh}) -0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'uFloatArray' (uniform 16-element array of float) -0:? 'condition' (uniform int) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh}) +0:? 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'uFloatArray' ( uniform 16-element array of float) +0:? 'condition' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loops.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loops.frag.out index b592dbd8459..cf382995d10 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loops.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loops.frag.out @@ -3,59 +3,59 @@ WARNING: 0:14: varying deprecated in version 130; may be removed in future relea Shader version: 130 0:? Sequence -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:55 Sequence 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 'BaseColor' (smooth in 4-component vector of float) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 'BaseColor' ( smooth in 4-component vector of float) 0:58 Loop with condition tested first 0:58 Loop Condition 0:58 Constant: 0:58 true (const bool) 0:58 Loop Body 0:59 Sequence -0:59 Test condition and select (temp void) +0:59 Test condition and select ( temp void) 0:59 Condition -0:59 Compare Less Than (temp bool) -0:59 direct index (temp float) -0:59 'color' (temp 4-component vector of float) +0:59 Compare Less Than ( temp bool) +0:59 direct index ( temp float) +0:59 'color' ( temp 4-component vector of float) 0:59 Constant: 0:59 0 (const int) 0:59 Constant: 0:59 0.330000 0:59 true case 0:60 Sequence -0:60 add second child into first child (temp 4-component vector of float) -0:60 'color' (temp 4-component vector of float) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'color' ( temp 4-component vector of float) 0:60 Constant: 0:60 0.330000 0:60 0.330000 0:60 0.330000 0:60 0.330000 0:61 Branch: Break -0:63 Test condition and select (temp void) +0:63 Test condition and select ( temp void) 0:63 Condition -0:63 Compare Less Than (temp bool) -0:63 direct index (temp float) -0:63 'color' (temp 4-component vector of float) +0:63 Compare Less Than ( temp bool) +0:63 direct index ( temp float) +0:63 'color' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: 0:63 0.660000 0:63 true case 0:64 Sequence -0:64 add second child into first child (temp 4-component vector of float) -0:64 'color' (temp 4-component vector of float) +0:64 add second child into first child ( temp 4-component vector of float) +0:64 'color' ( temp 4-component vector of float) 0:64 Constant: 0:64 0.660000 0:64 0.660000 0:64 0.660000 0:64 0.660000 0:65 Branch: Break -0:68 add second child into first child (temp 4-component vector of float) -0:68 'color' (temp 4-component vector of float) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'color' ( temp 4-component vector of float) 0:68 Constant: 0:68 0.330000 0:68 0.330000 @@ -64,475 +64,475 @@ Shader version: 130 0:69 Branch: Break 0:73 Loop with condition tested first 0:73 Loop Condition -0:73 Compare Less Than (temp bool) -0:73 direct index (temp float) -0:73 'color' (temp 4-component vector of float) +0:73 Compare Less Than ( temp bool) +0:73 direct index ( temp float) +0:73 'color' ( temp 4-component vector of float) 0:73 Constant: 0:73 0 (const int) -0:73 'd' (uniform float) +0:73 'd' ( uniform float) 0:73 Loop Body 0:74 Sequence -0:74 add second child into first child (temp 4-component vector of float) -0:74 'color' (temp 4-component vector of float) -0:74 'bigColor' (uniform 4-component vector of float) +0:74 add second child into first child ( temp 4-component vector of float) +0:74 'color' ( temp 4-component vector of float) +0:74 'bigColor' ( uniform 4-component vector of float) 0:78 Loop with condition tested first 0:78 Loop Condition -0:78 Compare Less Than (temp bool) -0:78 direct index (temp float) -0:78 'color' (temp 4-component vector of float) +0:78 Compare Less Than ( temp bool) +0:78 direct index ( temp float) +0:78 'color' ( temp 4-component vector of float) 0:78 Constant: 0:78 2 (const int) -0:78 'd' (uniform float) +0:78 'd' ( uniform float) 0:78 Loop Body 0:79 Sequence -0:79 add second child into first child (temp 4-component vector of float) -0:79 'color' (temp 4-component vector of float) -0:79 'bigColor1_1' (uniform 4-component vector of float) -0:80 Test condition and select (temp void) +0:79 add second child into first child ( temp 4-component vector of float) +0:79 'color' ( temp 4-component vector of float) +0:79 'bigColor1_1' ( uniform 4-component vector of float) +0:80 Test condition and select ( temp void) 0:80 Condition -0:80 Compare Less Than (temp bool) -0:80 direct index (temp float) -0:80 'color' (temp 4-component vector of float) +0:80 Compare Less Than ( temp bool) +0:80 direct index ( temp float) +0:80 'color' ( temp 4-component vector of float) 0:80 Constant: 0:80 3 (const int) -0:80 'd' (uniform float) +0:80 'd' ( uniform float) 0:80 true case 0:81 Branch: Continue -0:83 add second child into first child (temp 4-component vector of float) -0:83 'color' (temp 4-component vector of float) -0:83 'bigColor1_1' (uniform 4-component vector of float) +0:83 add second child into first child ( temp 4-component vector of float) +0:83 'color' ( temp 4-component vector of float) +0:83 'bigColor1_1' ( uniform 4-component vector of float) 0:87 Loop with condition tested first 0:87 Loop Condition -0:87 Compare Less Than (temp bool) -0:87 direct index (temp float) -0:87 'color' (temp 4-component vector of float) +0:87 Compare Less Than ( temp bool) +0:87 direct index ( temp float) +0:87 'color' ( temp 4-component vector of float) 0:87 Constant: 0:87 0 (const int) 0:87 Constant: 0:87 42.000000 0:87 Loop Body 0:88 Sequence -0:88 Pre-Increment (temp 4-component vector of float) -0:88 'color' (temp 4-component vector of float) +0:88 Pre-Increment ( temp 4-component vector of float) +0:88 'color' ( temp 4-component vector of float) 0:92 Loop with condition tested first 0:92 Loop Condition -0:92 logical-and (temp bool) -0:92 Compare Less Than (temp bool) -0:92 direct index (temp float) -0:92 'color' (temp 4-component vector of float) +0:92 logical-and ( temp bool) +0:92 Compare Less Than ( temp bool) +0:92 direct index ( temp float) +0:92 'color' ( temp 4-component vector of float) 0:92 Constant: 0:92 3 (const int) -0:92 'd2' (uniform float) -0:92 Compare Less Than (temp bool) -0:92 direct index (temp float) -0:92 'color' (temp 4-component vector of float) +0:92 'd2' ( uniform float) +0:92 Compare Less Than ( temp bool) +0:92 direct index ( temp float) +0:92 'color' ( temp 4-component vector of float) 0:92 Constant: 0:92 1 (const int) -0:92 'd3' (uniform float) +0:92 'd3' ( uniform float) 0:92 Loop Body 0:93 Sequence -0:93 add second child into first child (temp 4-component vector of float) -0:93 'color' (temp 4-component vector of float) -0:93 'bigColor1_2' (uniform 4-component vector of float) +0:93 add second child into first child ( temp 4-component vector of float) +0:93 'color' ( temp 4-component vector of float) +0:93 'bigColor1_2' ( uniform 4-component vector of float) 0:97 Loop with condition tested first 0:97 Loop Condition -0:97 Compare Less Than (temp bool) -0:97 direct index (temp float) -0:97 'color' (temp 4-component vector of float) +0:97 Compare Less Than ( temp bool) +0:97 direct index ( temp float) +0:97 'color' ( temp 4-component vector of float) 0:97 Constant: 0:97 2 (const int) -0:97 'd3' (uniform float) +0:97 'd3' ( uniform float) 0:97 Loop Body 0:98 Sequence -0:98 add second child into first child (temp 4-component vector of float) -0:98 'color' (temp 4-component vector of float) -0:98 'bigColor1_3' (uniform 4-component vector of float) -0:99 Test condition and select (temp void) +0:98 add second child into first child ( temp 4-component vector of float) +0:98 'color' ( temp 4-component vector of float) +0:98 'bigColor1_3' ( uniform 4-component vector of float) +0:99 Test condition and select ( temp void) 0:99 Condition -0:99 Compare Less Than (temp bool) -0:99 direct index (temp float) -0:99 'color' (temp 4-component vector of float) +0:99 Compare Less Than ( temp bool) +0:99 direct index ( temp float) +0:99 'color' ( temp 4-component vector of float) 0:99 Constant: 0:99 1 (const int) -0:99 'd4' (uniform float) +0:99 'd4' ( uniform float) 0:99 true case 0:100 Branch: Break -0:101 add second child into first child (temp 4-component vector of float) -0:101 'color' (temp 4-component vector of float) -0:101 'bigColor1_3' (uniform 4-component vector of float) +0:101 add second child into first child ( temp 4-component vector of float) +0:101 'color' ( temp 4-component vector of float) +0:101 'bigColor1_3' ( uniform 4-component vector of float) 0:105 Sequence 0:105 Sequence -0:105 move second child to first child (temp int) -0:105 'i' (temp int) +0:105 move second child to first child ( temp int) +0:105 'i' ( temp int) 0:105 Constant: 0:105 0 (const int) 0:105 Loop with condition tested first 0:105 Loop Condition -0:105 Compare Less Than (temp bool) -0:105 'i' (temp int) -0:105 'Count' (uniform int) +0:105 Compare Less Than ( temp bool) +0:105 'i' ( temp int) +0:105 'Count' ( uniform int) 0:105 Loop Body 0:106 Sequence -0:106 add second child into first child (temp 4-component vector of float) -0:106 'color' (temp 4-component vector of float) -0:106 'bigColor2' (uniform 4-component vector of float) +0:106 add second child into first child ( temp 4-component vector of float) +0:106 'color' ( temp 4-component vector of float) +0:106 'bigColor2' ( uniform 4-component vector of float) 0:105 Loop Terminal Expression -0:105 Pre-Increment (temp int) -0:105 'i' (temp int) +0:105 Pre-Increment ( temp int) +0:105 'i' ( temp int) 0:112 Loop with condition not tested first 0:112 Loop Condition -0:112 Compare Less Than (temp bool) -0:112 direct index (temp float) -0:112 'color' (temp 4-component vector of float) +0:112 Compare Less Than ( temp bool) +0:112 direct index ( temp float) +0:112 'color' ( temp 4-component vector of float) 0:112 Constant: 0:112 0 (const int) -0:112 'd2' (uniform float) +0:112 'd2' ( uniform float) 0:112 Loop Body 0:111 Sequence -0:111 add second child into first child (temp 4-component vector of float) -0:111 'color' (temp 4-component vector of float) -0:111 'bigColor3' (uniform 4-component vector of float) +0:111 add second child into first child ( temp 4-component vector of float) +0:111 'color' ( temp 4-component vector of float) +0:111 'bigColor3' ( uniform 4-component vector of float) 0:115 Sequence 0:115 Sequence -0:115 move second child to first child (temp int) -0:115 'i' (temp int) +0:115 move second child to first child ( temp int) +0:115 'i' ( temp int) 0:115 Constant: 0:115 0 (const int) 0:115 Loop with condition tested first 0:115 Loop Condition -0:115 Compare Less Than (temp bool) -0:115 'i' (temp int) +0:115 Compare Less Than ( temp bool) +0:115 'i' ( temp int) 0:115 Constant: 0:115 42 (const int) 0:115 Loop Body 0:116 Sequence -0:116 add second child into first child (temp float) -0:116 direct index (temp float) -0:116 'color' (temp 4-component vector of float) +0:116 add second child into first child ( temp float) +0:116 direct index ( temp float) +0:116 'color' ( temp 4-component vector of float) 0:116 Constant: 0:116 2 (const int) -0:116 'd3' (uniform float) +0:116 'd3' ( uniform float) 0:115 Loop Terminal Expression -0:115 Pre-Increment (temp int) -0:115 'i' (temp int) +0:115 Pre-Increment ( temp int) +0:115 'i' ( temp int) 0:120 Sequence 0:120 Sequence -0:120 move second child to first child (temp int) -0:120 'i' (temp int) +0:120 move second child to first child ( temp int) +0:120 'i' ( temp int) 0:120 Constant: 0:120 0 (const int) 0:120 Loop with condition tested first 0:120 Loop Condition -0:120 Compare Less Than (temp bool) -0:120 'i' (temp int) +0:120 Compare Less Than ( temp bool) +0:120 'i' ( temp int) 0:120 Constant: 0:120 100 (const int) 0:120 Loop Body 0:121 Sequence -0:121 Test condition and select (temp void) +0:121 Test condition and select ( temp void) 0:121 Condition -0:121 Compare Less Than (temp bool) -0:121 direct index (temp float) -0:121 'color' (temp 4-component vector of float) +0:121 Compare Less Than ( temp bool) +0:121 direct index ( temp float) +0:121 'color' ( temp 4-component vector of float) 0:121 Constant: 0:121 2 (const int) 0:121 Constant: 0:121 20.000000 0:121 true case -0:122 Post-Increment (temp float) -0:122 direct index (temp float) -0:122 'color' (temp 4-component vector of float) +0:122 Post-Increment ( temp float) +0:122 direct index ( temp float) +0:122 'color' ( temp 4-component vector of float) 0:122 Constant: 0:122 0 (const int) 0:121 false case -0:124 Post-Increment (temp float) -0:124 direct index (temp float) -0:124 'color' (temp 4-component vector of float) +0:124 Post-Increment ( temp float) +0:124 direct index ( temp float) +0:124 'color' ( temp 4-component vector of float) 0:124 Constant: 0:124 1 (const int) -0:125 Test condition and select (temp void) +0:125 Test condition and select ( temp void) 0:125 Condition -0:125 Compare Less Than (temp bool) -0:125 direct index (temp float) -0:125 'color' (temp 4-component vector of float) +0:125 Compare Less Than ( temp bool) +0:125 direct index ( temp float) +0:125 'color' ( temp 4-component vector of float) 0:125 Constant: 0:125 3 (const int) 0:125 Constant: 0:125 20.000000 0:125 true case -0:126 Test condition and select (temp void) +0:126 Test condition and select ( temp void) 0:126 Condition -0:126 Compare Greater Than (temp bool) -0:126 direct index (temp float) -0:126 'color' (temp 4-component vector of float) +0:126 Compare Greater Than ( temp bool) +0:126 direct index ( temp float) +0:126 'color' ( temp 4-component vector of float) 0:126 Constant: 0:126 2 (const int) -0:126 direct index (temp float) -0:126 'color' (temp 4-component vector of float) +0:126 direct index ( temp float) +0:126 'color' ( temp 4-component vector of float) 0:126 Constant: 0:126 1 (const int) 0:126 true case 0:127 Constant: 0:127 0 (const int) 0:120 Loop Terminal Expression -0:120 Pre-Increment (temp int) -0:120 'i' (temp int) +0:120 Pre-Increment ( temp int) +0:120 'i' ( temp int) 0:131 Sequence 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'i' (temp int) +0:131 move second child to first child ( temp int) +0:131 'i' ( temp int) 0:131 Constant: 0:131 0 (const int) 0:131 Loop with condition tested first 0:131 Loop Condition -0:131 Compare Less Than (temp bool) -0:131 'i' (temp int) +0:131 Compare Less Than ( temp bool) +0:131 'i' ( temp int) 0:131 Constant: 0:131 120 (const int) 0:131 Loop Body 0:132 Sequence -0:132 Test condition and select (temp void) +0:132 Test condition and select ( temp void) 0:132 Condition -0:132 Compare Less Than (temp bool) -0:132 direct index (temp float) -0:132 'color' (temp 4-component vector of float) +0:132 Compare Less Than ( temp bool) +0:132 direct index ( temp float) +0:132 'color' ( temp 4-component vector of float) 0:132 Constant: 0:132 2 (const int) 0:132 Constant: 0:132 20.000000 0:132 true case -0:133 Post-Increment (temp float) -0:133 direct index (temp float) -0:133 'color' (temp 4-component vector of float) +0:133 Post-Increment ( temp float) +0:133 direct index ( temp float) +0:133 'color' ( temp 4-component vector of float) 0:133 Constant: 0:133 0 (const int) 0:132 false case -0:135 Post-Increment (temp float) -0:135 direct index (temp float) -0:135 'color' (temp 4-component vector of float) +0:135 Post-Increment ( temp float) +0:135 direct index ( temp float) +0:135 'color' ( temp 4-component vector of float) 0:135 Constant: 0:135 1 (const int) 0:131 Loop Terminal Expression -0:131 Pre-Increment (temp int) -0:131 'i' (temp int) +0:131 Pre-Increment ( temp int) +0:131 'i' ( temp int) 0:139 Sequence 0:139 Sequence -0:139 move second child to first child (temp int) -0:139 'i' (temp int) +0:139 move second child to first child ( temp int) +0:139 'i' ( temp int) 0:139 Constant: 0:139 0 (const int) 0:139 Loop with condition tested first 0:139 Loop Condition -0:139 Compare Less Than (temp bool) -0:139 'i' (temp int) +0:139 Compare Less Than ( temp bool) +0:139 'i' ( temp int) 0:139 Constant: 0:139 42 (const int) 0:139 Loop Body 0:140 Sequence -0:140 add second child into first child (temp float) -0:140 direct index (temp float) -0:140 'color' (temp 4-component vector of float) +0:140 add second child into first child ( temp float) +0:140 direct index ( temp float) +0:140 'color' ( temp 4-component vector of float) 0:140 Constant: 0:140 2 (const int) -0:140 'd3' (uniform float) -0:141 Test condition and select (temp void) +0:140 'd3' ( uniform float) +0:141 Test condition and select ( temp void) 0:141 Condition -0:141 Compare Less Than (temp bool) -0:141 direct index (temp float) -0:141 'color' (temp 4-component vector of float) +0:141 Compare Less Than ( temp bool) +0:141 direct index ( temp float) +0:141 'color' ( temp 4-component vector of float) 0:141 Constant: 0:141 0 (const int) -0:141 'd4' (uniform float) +0:141 'd4' ( uniform float) 0:141 true case 0:142 Branch: Continue -0:143 Pre-Increment (temp float) -0:143 direct index (temp float) -0:143 'color' (temp 4-component vector of float) +0:143 Pre-Increment ( temp float) +0:143 direct index ( temp float) +0:143 'color' ( temp 4-component vector of float) 0:143 Constant: 0:143 3 (const int) 0:139 Loop Terminal Expression -0:139 Pre-Increment (temp int) -0:139 'i' (temp int) +0:139 Pre-Increment ( temp int) +0:139 'i' ( temp int) 0:147 Sequence 0:147 Sequence -0:147 move second child to first child (temp int) -0:147 'i' (temp int) +0:147 move second child to first child ( temp int) +0:147 'i' ( temp int) 0:147 Constant: 0:147 0 (const int) 0:147 Loop with condition tested first 0:147 Loop Condition -0:147 Compare Less Than (temp bool) -0:147 'i' (temp int) +0:147 Compare Less Than ( temp bool) +0:147 'i' ( temp int) 0:147 Constant: 0:147 42 (const int) 0:147 Loop Body 0:148 Sequence -0:148 add second child into first child (temp float) -0:148 direct index (temp float) -0:148 'color' (temp 4-component vector of float) +0:148 add second child into first child ( temp float) +0:148 direct index ( temp float) +0:148 'color' ( temp 4-component vector of float) 0:148 Constant: 0:148 2 (const int) -0:148 'd3' (uniform float) -0:149 Test condition and select (temp void) +0:148 'd3' ( uniform float) +0:149 Test condition and select ( temp void) 0:149 Condition -0:149 Compare Less Than (temp bool) -0:149 direct index (temp float) -0:149 'color' (temp 4-component vector of float) +0:149 Compare Less Than ( temp bool) +0:149 direct index ( temp float) +0:149 'color' ( temp 4-component vector of float) 0:149 Constant: 0:149 0 (const int) -0:149 'd4' (uniform float) +0:149 'd4' ( uniform float) 0:149 true case 0:150 Branch: Break -0:151 Pre-Increment (temp float) -0:151 direct index (temp float) -0:151 'color' (temp 4-component vector of float) +0:151 Pre-Increment ( temp float) +0:151 direct index ( temp float) +0:151 'color' ( temp 4-component vector of float) 0:151 Constant: 0:151 3 (const int) 0:147 Loop Terminal Expression -0:147 Pre-Increment (temp int) -0:147 'i' (temp int) +0:147 Pre-Increment ( temp int) +0:147 'i' ( temp int) 0:163 Loop with condition not tested first 0:163 Loop Condition -0:163 Compare Less Than (temp bool) -0:163 direct index (temp float) -0:163 'color' (temp 4-component vector of float) +0:163 Compare Less Than ( temp bool) +0:163 direct index ( temp float) +0:163 'color' ( temp 4-component vector of float) 0:163 Constant: 0:163 2 (const int) -0:163 'd4' (uniform float) +0:163 'd4' ( uniform float) 0:163 Loop Body 0:156 Sequence -0:156 add second child into first child (temp 4-component vector of float) -0:156 'color' (temp 4-component vector of float) -0:156 'bigColor4' (uniform 4-component vector of float) -0:157 Test condition and select (temp void) +0:156 add second child into first child ( temp 4-component vector of float) +0:156 'color' ( temp 4-component vector of float) +0:156 'bigColor4' ( uniform 4-component vector of float) +0:157 Test condition and select ( temp void) 0:157 Condition -0:157 Compare Less Than (temp bool) -0:157 direct index (temp float) -0:157 'color' (temp 4-component vector of float) +0:157 Compare Less Than ( temp bool) +0:157 direct index ( temp float) +0:157 'color' ( temp 4-component vector of float) 0:157 Constant: 0:157 0 (const int) -0:157 'd4' (uniform float) +0:157 'd4' ( uniform float) 0:157 true case 0:158 Branch: Continue -0:159 Test condition and select (temp void) +0:159 Test condition and select ( temp void) 0:159 Condition -0:159 Compare Less Than (temp bool) -0:159 direct index (temp float) -0:159 'color' (temp 4-component vector of float) +0:159 Compare Less Than ( temp bool) +0:159 direct index ( temp float) +0:159 'color' ( temp 4-component vector of float) 0:159 Constant: 0:159 1 (const int) -0:159 'd4' (uniform float) +0:159 'd4' ( uniform float) 0:159 true case -0:160 add second child into first child (temp float) -0:160 direct index (temp float) -0:160 'color' (temp 4-component vector of float) +0:160 add second child into first child ( temp float) +0:160 direct index ( temp float) +0:160 'color' ( temp 4-component vector of float) 0:160 Constant: 0:160 1 (const int) -0:160 'd4' (uniform float) +0:160 'd4' ( uniform float) 0:159 false case -0:162 add second child into first child (temp float) -0:162 direct index (temp float) -0:162 'color' (temp 4-component vector of float) +0:162 add second child into first child ( temp float) +0:162 direct index ( temp float) +0:162 'color' ( temp 4-component vector of float) 0:162 Constant: 0:162 0 (const int) -0:162 'd4' (uniform float) +0:162 'd4' ( uniform float) 0:170 Loop with condition not tested first 0:170 Loop Condition -0:170 Compare Less Than (temp bool) -0:170 direct index (temp float) -0:170 'color' (temp 4-component vector of float) +0:170 Compare Less Than ( temp bool) +0:170 direct index ( temp float) +0:170 'color' ( temp 4-component vector of float) 0:170 Constant: 0:170 0 (const int) -0:170 'd5' (uniform float) +0:170 'd5' ( uniform float) 0:170 Loop Body 0:167 Sequence -0:167 add second child into first child (temp 4-component vector of float) -0:167 'color' (temp 4-component vector of float) -0:167 'bigColor5' (uniform 4-component vector of float) -0:168 Test condition and select (temp void) +0:167 add second child into first child ( temp 4-component vector of float) +0:167 'color' ( temp 4-component vector of float) +0:167 'bigColor5' ( uniform 4-component vector of float) +0:168 Test condition and select ( temp void) 0:168 Condition -0:168 Compare Less Than (temp bool) -0:168 direct index (temp float) -0:168 'color' (temp 4-component vector of float) +0:168 Compare Less Than ( temp bool) +0:168 direct index ( temp float) +0:168 'color' ( temp 4-component vector of float) 0:168 Constant: 0:168 1 (const int) -0:168 'd5' (uniform float) +0:168 'd5' ( uniform float) 0:168 true case -0:169 add second child into first child (temp float) -0:169 direct index (temp float) -0:169 'color' (temp 4-component vector of float) +0:169 add second child into first child ( temp float) +0:169 direct index ( temp float) +0:169 'color' ( temp 4-component vector of float) 0:169 Constant: 0:169 1 (const int) -0:169 'd5' (uniform float) -0:173 Test condition and select (temp void) +0:169 'd5' ( uniform float) +0:173 Test condition and select ( temp void) 0:173 Condition -0:173 Compare Less Than (temp bool) -0:173 direct index (temp float) -0:173 'color' (temp 4-component vector of float) +0:173 Compare Less Than ( temp bool) +0:173 direct index ( temp float) +0:173 'color' ( temp 4-component vector of float) 0:173 Constant: 0:173 0 (const int) -0:173 'd6' (uniform float) +0:173 'd6' ( uniform float) 0:173 true case 0:174 Sequence 0:174 Loop with condition tested first 0:174 Loop Condition -0:174 Compare Less Than (temp bool) -0:174 direct index (temp float) -0:174 'color' (temp 4-component vector of float) +0:174 Compare Less Than ( temp bool) +0:174 direct index ( temp float) +0:174 'color' ( temp 4-component vector of float) 0:174 Constant: 0:174 1 (const int) -0:174 'd6' (uniform float) +0:174 'd6' ( uniform float) 0:174 Loop Body -0:175 add second child into first child (temp 4-component vector of float) -0:175 'color' (temp 4-component vector of float) -0:175 'bigColor6' (uniform 4-component vector of float) +0:175 add second child into first child ( temp 4-component vector of float) +0:175 'color' ( temp 4-component vector of float) +0:175 'bigColor6' ( uniform 4-component vector of float) 0:173 false case 0:177 Sequence 0:177 Loop with condition tested first 0:177 Loop Condition -0:177 Compare Less Than (temp bool) -0:177 direct index (temp float) -0:177 'color' (temp 4-component vector of float) +0:177 Compare Less Than ( temp bool) +0:177 direct index ( temp float) +0:177 'color' ( temp 4-component vector of float) 0:177 Constant: 0:177 2 (const int) -0:177 'd6' (uniform float) +0:177 'd6' ( uniform float) 0:177 Loop Body -0:178 add second child into first child (temp float) -0:178 direct index (temp float) -0:178 'color' (temp 4-component vector of float) +0:178 add second child into first child ( temp float) +0:178 direct index ( temp float) +0:178 'color' ( temp 4-component vector of float) 0:178 Constant: 0:178 2 (const int) -0:178 direct index (temp float) -0:178 'bigColor6' (uniform 4-component vector of float) +0:178 direct index ( temp float) +0:178 'bigColor6' ( uniform 4-component vector of float) 0:178 Constant: 0:178 2 (const int) -0:182 Test condition and select (temp void) +0:182 Test condition and select ( temp void) 0:182 Condition -0:182 Compare Less Than (temp bool) -0:182 direct index (temp float) -0:182 'color' (temp 4-component vector of float) +0:182 Compare Less Than ( temp bool) +0:182 direct index ( temp float) +0:182 'color' ( temp 4-component vector of float) 0:182 Constant: 0:182 0 (const int) -0:182 'd6' (uniform float) +0:182 'd6' ( uniform float) 0:182 true case 0:183 Sequence 0:183 Loop with condition tested first 0:183 Loop Condition -0:183 Compare Less Than (temp bool) -0:183 direct index (temp float) -0:183 'color' (temp 4-component vector of float) +0:183 Compare Less Than ( temp bool) +0:183 direct index ( temp float) +0:183 'color' ( temp 4-component vector of float) 0:183 Constant: 0:183 1 (const int) -0:183 'd6' (uniform float) +0:183 'd6' ( uniform float) 0:183 Loop Body 0:184 Sequence -0:184 add second child into first child (temp 4-component vector of float) -0:184 'color' (temp 4-component vector of float) -0:184 'bigColor6' (uniform 4-component vector of float) -0:185 Test condition and select (temp void) +0:184 add second child into first child ( temp 4-component vector of float) +0:184 'color' ( temp 4-component vector of float) +0:184 'bigColor6' ( uniform 4-component vector of float) +0:185 Test condition and select ( temp void) 0:185 Condition -0:185 Compare Less Than (temp bool) -0:185 'd7' (uniform float) +0:185 Compare Less Than ( temp bool) +0:185 'd7' ( uniform float) 0:185 Constant: 0:185 1.000000 0:185 true case @@ -541,20 +541,20 @@ Shader version: 130 0:190 Sequence 0:190 Loop with condition tested first 0:190 Loop Condition -0:190 Compare Less Than (temp bool) -0:190 direct index (temp float) -0:190 'color' (temp 4-component vector of float) +0:190 Compare Less Than ( temp bool) +0:190 direct index ( temp float) +0:190 'color' ( temp 4-component vector of float) 0:190 Constant: 0:190 2 (const int) -0:190 'd6' (uniform float) +0:190 'd6' ( uniform float) 0:190 Loop Body -0:191 add second child into first child (temp float) -0:191 direct index (temp float) -0:191 'color' (temp 4-component vector of float) +0:191 add second child into first child ( temp float) +0:191 direct index ( temp float) +0:191 'color' ( temp 4-component vector of float) 0:191 Constant: 0:191 2 (const int) -0:191 direct index (temp float) -0:191 'bigColor6' (uniform 4-component vector of float) +0:191 direct index ( temp float) +0:191 'bigColor6' ( uniform 4-component vector of float) 0:191 Constant: 0:191 2 (const int) 0:209 Loop with condition not tested first @@ -563,407 +563,407 @@ Shader version: 130 0:209 true (const bool) 0:209 Loop Body 0:197 Sequence -0:197 Test condition and select (temp void) +0:197 Test condition and select ( temp void) 0:197 Condition -0:197 Compare Less Than (temp bool) -0:197 'd7' (uniform float) +0:197 Compare Less Than ( temp bool) +0:197 'd7' ( uniform float) 0:197 Constant: 0:197 0.000000 0:197 true case 0:198 Branch: Break -0:200 add second child into first child (temp 4-component vector of float) -0:200 'color' (temp 4-component vector of float) -0:200 'bigColor7' (uniform 4-component vector of float) -0:202 Test condition and select (temp void) +0:200 add second child into first child ( temp 4-component vector of float) +0:200 'color' ( temp 4-component vector of float) +0:200 'bigColor7' ( uniform 4-component vector of float) +0:202 Test condition and select ( temp void) 0:202 Condition -0:202 Compare Less Than (temp bool) -0:202 'd7' (uniform float) +0:202 Compare Less Than ( temp bool) +0:202 'd7' ( uniform float) 0:202 Constant: 0:202 1.000000 0:202 true case 0:203 Sequence -0:203 Post-Increment (temp float) -0:203 direct index (temp float) -0:203 'color' (temp 4-component vector of float) +0:203 Post-Increment ( temp float) +0:203 direct index ( temp float) +0:203 'color' ( temp 4-component vector of float) 0:203 Constant: 0:203 2 (const int) 0:204 Branch: Break -0:207 add second child into first child (temp 4-component vector of float) -0:207 'color' (temp 4-component vector of float) -0:207 'BaseColor' (smooth in 4-component vector of float) +0:207 add second child into first child ( temp 4-component vector of float) +0:207 'color' ( temp 4-component vector of float) +0:207 'BaseColor' ( smooth in 4-component vector of float) 0:234 Loop with condition not tested first 0:234 Loop Condition -0:234 Compare Less Than (temp bool) -0:234 direct index (temp float) -0:234 'color' (temp 4-component vector of float) +0:234 Compare Less Than ( temp bool) +0:234 direct index ( temp float) +0:234 'color' ( temp 4-component vector of float) 0:234 Constant: 0:234 2 (const int) -0:234 'd8' (uniform float) +0:234 'd8' ( uniform float) 0:234 Loop Body 0:217 Sequence -0:217 Test condition and select (temp void) +0:217 Test condition and select ( temp void) 0:217 Condition -0:217 Compare Less Than (temp bool) -0:217 'd8' (uniform float) +0:217 Compare Less Than ( temp bool) +0:217 'd8' ( uniform float) 0:217 Constant: 0:217 0.000000 0:217 true case 0:218 Branch: Break -0:220 add second child into first child (temp 4-component vector of float) -0:220 'color' (temp 4-component vector of float) -0:220 'bigColor7' (uniform 4-component vector of float) -0:222 Test condition and select (temp void) +0:220 add second child into first child ( temp 4-component vector of float) +0:220 'color' ( temp 4-component vector of float) +0:220 'bigColor7' ( uniform 4-component vector of float) +0:222 Test condition and select ( temp void) 0:222 Condition -0:222 Compare Less Than (temp bool) -0:222 'd8' (uniform float) +0:222 Compare Less Than ( temp bool) +0:222 'd8' ( uniform float) 0:222 Constant: 0:222 1.000000 0:222 true case 0:223 Sequence -0:223 Post-Increment (temp float) -0:223 direct index (temp float) -0:223 'color' (temp 4-component vector of float) +0:223 Post-Increment ( temp float) +0:223 direct index ( temp float) +0:223 'color' ( temp 4-component vector of float) 0:223 Constant: 0:223 2 (const int) -0:224 Test condition and select (temp void) +0:224 Test condition and select ( temp void) 0:224 Condition -0:224 Compare Less Than (temp bool) -0:224 'd8' (uniform float) +0:224 Compare Less Than ( temp bool) +0:224 'd8' ( uniform float) 0:224 Constant: 0:224 2.000000 0:224 true case 0:225 Sequence -0:225 Post-Increment (temp float) -0:225 direct index (temp float) -0:225 'color' (temp 4-component vector of float) +0:225 Post-Increment ( temp float) +0:225 direct index ( temp float) +0:225 'color' ( temp 4-component vector of float) 0:225 Constant: 0:225 1 (const int) 0:224 false case 0:227 Sequence -0:227 Post-Increment (temp float) -0:227 direct index (temp float) -0:227 'color' (temp 4-component vector of float) +0:227 Post-Increment ( temp float) +0:227 direct index ( temp float) +0:227 'color' ( temp 4-component vector of float) 0:227 Constant: 0:227 0 (const int) 0:229 Branch: Break -0:232 add second child into first child (temp 4-component vector of float) -0:232 'color' (temp 4-component vector of float) -0:232 'BaseColor' (smooth in 4-component vector of float) +0:232 add second child into first child ( temp 4-component vector of float) +0:232 'color' ( temp 4-component vector of float) +0:232 'BaseColor' ( smooth in 4-component vector of float) 0:237 Loop with condition tested first 0:237 Loop Condition -0:237 Compare Less Than (temp bool) -0:237 direct index (temp float) -0:237 'color' (temp 4-component vector of float) +0:237 Compare Less Than ( temp bool) +0:237 direct index ( temp float) +0:237 'color' ( temp 4-component vector of float) 0:237 Constant: 0:237 3 (const int) -0:237 'd9' (uniform float) +0:237 'd9' ( uniform float) 0:237 Loop Body 0:238 Sequence -0:238 Test condition and select (temp void) +0:238 Test condition and select ( temp void) 0:238 Condition -0:238 Compare Greater Than (temp bool) -0:238 'd9' (uniform float) -0:238 'd8' (uniform float) +0:238 Compare Greater Than ( temp bool) +0:238 'd9' ( uniform float) +0:238 'd8' ( uniform float) 0:238 true case 0:239 Sequence -0:239 Test condition and select (temp void) +0:239 Test condition and select ( temp void) 0:239 Condition -0:239 Compare Less Than or Equal (temp bool) -0:239 direct index (temp float) -0:239 'color' (temp 4-component vector of float) +0:239 Compare Less Than or Equal ( temp bool) +0:239 direct index ( temp float) +0:239 'color' ( temp 4-component vector of float) 0:239 Constant: 0:239 0 (const int) -0:239 'd7' (uniform float) +0:239 'd7' ( uniform float) 0:239 true case 0:240 Sequence -0:240 Test condition and select (temp void) +0:240 Test condition and select ( temp void) 0:240 Condition -0:240 Compare Equal (temp bool) -0:240 direct index (temp float) -0:240 'color' (temp 4-component vector of float) +0:240 Compare Equal ( temp bool) +0:240 direct index ( temp float) +0:240 'color' ( temp 4-component vector of float) 0:240 Constant: 0:240 2 (const int) 0:240 Constant: 0:240 5.000000 0:240 true case -0:241 Post-Increment (temp float) -0:241 direct index (temp float) -0:241 'color' (temp 4-component vector of float) +0:241 Post-Increment ( temp float) +0:241 direct index ( temp float) +0:241 'color' ( temp 4-component vector of float) 0:241 Constant: 0:241 3 (const int) 0:240 false case 0:243 Branch: Break 0:250 Loop with condition tested first 0:250 Loop Condition -0:250 Compare Less Than (temp bool) -0:250 direct index (temp float) -0:250 'color' (temp 4-component vector of float) +0:250 Compare Less Than ( temp bool) +0:250 direct index ( temp float) +0:250 'color' ( temp 4-component vector of float) 0:250 Constant: 0:250 2 (const int) -0:250 'd10' (uniform float) +0:250 'd10' ( uniform float) 0:250 Loop Body 0:251 Sequence -0:251 Post-Increment (temp float) -0:251 direct index (temp float) -0:251 'color' (temp 4-component vector of float) +0:251 Post-Increment ( temp float) +0:251 direct index ( temp float) +0:251 'color' ( temp 4-component vector of float) 0:251 Constant: 0:251 1 (const int) -0:252 Test condition and select (temp void) +0:252 Test condition and select ( temp void) 0:252 Condition -0:252 Compare Less Than (temp bool) -0:252 direct index (temp float) -0:252 'color' (temp 4-component vector of float) +0:252 Compare Less Than ( temp bool) +0:252 direct index ( temp float) +0:252 'color' ( temp 4-component vector of float) 0:252 Constant: 0:252 1 (const int) -0:252 'd11' (uniform float) +0:252 'd11' ( uniform float) 0:252 true case 0:253 Sequence -0:253 Post-Increment (temp float) -0:253 direct index (temp float) -0:253 'color' (temp 4-component vector of float) +0:253 Post-Increment ( temp float) +0:253 direct index ( temp float) +0:253 'color' ( temp 4-component vector of float) 0:253 Constant: 0:253 2 (const int) -0:254 Test condition and select (temp void) +0:254 Test condition and select ( temp void) 0:254 Condition -0:254 Compare Less Than (temp bool) -0:254 direct index (temp float) -0:254 'color' (temp 4-component vector of float) +0:254 Compare Less Than ( temp bool) +0:254 direct index ( temp float) +0:254 'color' ( temp 4-component vector of float) 0:254 Constant: 0:254 3 (const int) -0:254 'd12' (uniform float) +0:254 'd12' ( uniform float) 0:254 true case -0:255 Post-Increment (temp float) -0:255 direct index (temp float) -0:255 'color' (temp 4-component vector of float) +0:255 Post-Increment ( temp float) +0:255 direct index ( temp float) +0:255 'color' ( temp 4-component vector of float) 0:255 Constant: 0:255 3 (const int) 0:254 false case -0:257 Post-Increment (temp float) -0:257 direct index (temp float) -0:257 'color' (temp 4-component vector of float) +0:257 Post-Increment ( temp float) +0:257 direct index ( temp float) +0:257 'color' ( temp 4-component vector of float) 0:257 Constant: 0:257 0 (const int) 0:258 Branch: Continue -0:261 Post-Increment (temp 4-component vector of float) -0:261 'color' (temp 4-component vector of float) +0:261 Post-Increment ( temp 4-component vector of float) +0:261 'color' ( temp 4-component vector of float) 0:262 Branch: Break 0:266 Loop with condition tested first 0:266 Loop Condition -0:266 Compare Less Than (temp bool) -0:266 direct index (temp float) -0:266 'color' (temp 4-component vector of float) +0:266 Compare Less Than ( temp bool) +0:266 direct index ( temp float) +0:266 'color' ( temp 4-component vector of float) 0:266 Constant: 0:266 0 (const int) 0:266 Constant: 0:266 10.000000 0:266 Loop Body 0:267 Sequence -0:267 add second child into first child (temp 4-component vector of float) -0:267 'color' (temp 4-component vector of float) -0:267 'bigColor8' (uniform 4-component vector of float) -0:269 Test condition and select (temp void) +0:267 add second child into first child ( temp 4-component vector of float) +0:267 'color' ( temp 4-component vector of float) +0:267 'bigColor8' ( uniform 4-component vector of float) +0:269 Test condition and select ( temp void) 0:269 Condition -0:269 Compare Less Than (temp bool) -0:269 direct index (temp float) -0:269 'color' (temp 4-component vector of float) +0:269 Compare Less Than ( temp bool) +0:269 direct index ( temp float) +0:269 'color' ( temp 4-component vector of float) 0:269 Constant: 0:269 2 (const int) -0:269 'd8' (uniform float) +0:269 'd8' ( uniform float) 0:269 true case -0:270 Test condition and select (temp void) +0:270 Test condition and select ( temp void) 0:270 Condition -0:270 Compare Less Than (temp bool) -0:270 direct index (temp float) -0:270 'color' (temp 4-component vector of float) +0:270 Compare Less Than ( temp bool) +0:270 direct index ( temp float) +0:270 'color' ( temp 4-component vector of float) 0:270 Constant: 0:270 3 (const int) -0:270 'd6' (uniform float) +0:270 'd6' ( uniform float) 0:270 true case 0:271 Branch: Continue -0:273 add second child into first child (temp float) -0:273 direct index (temp float) -0:273 'color' (temp 4-component vector of float) +0:273 add second child into first child ( temp float) +0:273 direct index ( temp float) +0:273 'color' ( temp 4-component vector of float) 0:273 Constant: 0:273 1 (const int) -0:273 direct index (temp float) -0:273 'bigColor8' (uniform 4-component vector of float) +0:273 direct index ( temp float) +0:273 'bigColor8' ( uniform 4-component vector of float) 0:273 Constant: 0:273 0 (const int) -0:276 Post-Increment (temp 4-component vector of float) -0:276 'color' (temp 4-component vector of float) -0:277 move second child to first child (temp 4-component vector of float) -0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:277 'color' (temp 4-component vector of float) +0:276 Post-Increment ( temp 4-component vector of float) +0:276 'color' ( temp 4-component vector of float) +0:277 move second child to first child ( temp 4-component vector of float) +0:277 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:277 'color' ( temp 4-component vector of float) 0:280 Loop with condition tested first 0:280 Loop Condition -0:280 Compare Less Than (temp bool) -0:280 direct index (temp float) -0:280 'color' (temp 4-component vector of float) +0:280 Compare Less Than ( temp bool) +0:280 direct index ( temp float) +0:280 'color' ( temp 4-component vector of float) 0:280 Constant: 0:280 0 (const int) -0:280 'd14' (uniform float) +0:280 'd14' ( uniform float) 0:280 Loop Body 0:281 Sequence -0:281 Test condition and select (temp void) +0:281 Test condition and select ( temp void) 0:281 Condition -0:281 Compare Less Than (temp bool) -0:281 direct index (temp float) -0:281 'color' (temp 4-component vector of float) +0:281 Compare Less Than ( temp bool) +0:281 direct index ( temp float) +0:281 'color' ( temp 4-component vector of float) 0:281 Constant: 0:281 1 (const int) -0:281 'd15' (uniform float) +0:281 'd15' ( uniform float) 0:281 true case 0:282 Sequence 0:282 Branch: Return 0:281 false case -0:285 Post-Increment (temp 4-component vector of float) -0:285 'color' (temp 4-component vector of float) -0:288 Post-Increment (temp 4-component vector of float) -0:288 'color' (temp 4-component vector of float) +0:285 Post-Increment ( temp 4-component vector of float) +0:285 'color' ( temp 4-component vector of float) +0:288 Post-Increment ( temp 4-component vector of float) +0:288 'color' ( temp 4-component vector of float) 0:290 Loop with condition tested first 0:290 Loop Condition -0:290 Compare Less Than (temp bool) -0:290 direct index (temp float) -0:290 'color' (temp 4-component vector of float) +0:290 Compare Less Than ( temp bool) +0:290 direct index ( temp float) +0:290 'color' ( temp 4-component vector of float) 0:290 Constant: 0:290 3 (const int) -0:290 'd16' (uniform float) +0:290 'd16' ( uniform float) 0:290 Loop Body 0:291 Sequence -0:291 Post-Increment (temp float) -0:291 direct index (temp float) -0:291 'color' (temp 4-component vector of float) +0:291 Post-Increment ( temp float) +0:291 direct index ( temp float) +0:291 'color' ( temp 4-component vector of float) 0:291 Constant: 0:291 3 (const int) 0:296 Loop with condition tested first 0:296 Loop Condition -0:296 logical-and (temp bool) -0:296 Compare Less Than (temp bool) -0:296 direct index (temp float) -0:296 'color' (temp 4-component vector of float) +0:296 logical-and ( temp bool) +0:296 Compare Less Than ( temp bool) +0:296 direct index ( temp float) +0:296 'color' ( temp 4-component vector of float) 0:296 Constant: 0:296 3 (const int) -0:296 'd2' (uniform float) -0:296 Compare Less Than (temp bool) -0:296 direct index (temp float) -0:296 'color' (temp 4-component vector of float) +0:296 'd2' ( uniform float) +0:296 Compare Less Than ( temp bool) +0:296 direct index ( temp float) +0:296 'color' ( temp 4-component vector of float) 0:296 Constant: 0:296 1 (const int) -0:296 'd3' (uniform float) +0:296 'd3' ( uniform float) 0:296 Loop Body 0:297 Sequence -0:297 add second child into first child (temp 4-component vector of float) -0:297 'color' (temp 4-component vector of float) -0:297 'bigColor1_2' (uniform 4-component vector of float) -0:298 Test condition and select (temp void) +0:297 add second child into first child ( temp 4-component vector of float) +0:297 'color' ( temp 4-component vector of float) +0:297 'bigColor1_2' ( uniform 4-component vector of float) +0:298 Test condition and select ( temp void) 0:298 Condition -0:298 Compare Less Than (temp bool) -0:298 direct index (temp float) -0:298 'color' (temp 4-component vector of float) +0:298 Compare Less Than ( temp bool) +0:298 direct index ( temp float) +0:298 'color' ( temp 4-component vector of float) 0:298 Constant: 0:298 2 (const int) -0:298 'd3' (uniform float) +0:298 'd3' ( uniform float) 0:298 true case 0:299 Branch: Return 0:307 Loop with condition not tested first 0:307 Loop Condition -0:307 Compare Less Than (temp bool) -0:307 direct index (temp float) -0:307 'color' (temp 4-component vector of float) +0:307 Compare Less Than ( temp bool) +0:307 direct index ( temp float) +0:307 'color' ( temp 4-component vector of float) 0:307 Constant: 0:307 0 (const int) -0:307 'd17' (uniform float) +0:307 'd17' ( uniform float) 0:307 Loop Body 0:304 Sequence -0:304 Test condition and select (temp void) +0:304 Test condition and select ( temp void) 0:304 Condition -0:304 Compare Less Than (temp bool) -0:304 direct index (temp float) -0:304 'color' (temp 4-component vector of float) +0:304 Compare Less Than ( temp bool) +0:304 direct index ( temp float) +0:304 'color' ( temp 4-component vector of float) 0:304 Constant: 0:304 1 (const int) -0:304 'd18' (uniform float) +0:304 'd18' ( uniform float) 0:304 true case 0:305 Branch: Return -0:306 Post-Increment (temp 4-component vector of float) -0:306 'color' (temp 4-component vector of float) +0:306 Post-Increment ( temp 4-component vector of float) +0:306 'color' ( temp 4-component vector of float) 0:310 Loop with condition tested first 0:310 Loop Condition -0:310 Compare Less Than (temp bool) -0:310 direct index (temp float) -0:310 'color' (temp 4-component vector of float) +0:310 Compare Less Than ( temp bool) +0:310 direct index ( temp float) +0:310 'color' ( temp 4-component vector of float) 0:310 Constant: 0:310 1 (const int) -0:310 'd16' (uniform float) +0:310 'd16' ( uniform float) 0:310 Loop Body 0:311 Sequence -0:311 Test condition and select (temp void) +0:311 Test condition and select ( temp void) 0:311 Condition -0:311 Compare Less Than (temp bool) -0:311 direct index (temp float) -0:311 'color' (temp 4-component vector of float) +0:311 Compare Less Than ( temp bool) +0:311 direct index ( temp float) +0:311 'color' ( temp 4-component vector of float) 0:311 Constant: 0:311 3 (const int) -0:311 'd16' (uniform float) +0:311 'd16' ( uniform float) 0:311 true case 0:312 Sequence 0:312 Branch: Kill 0:311 false case -0:314 Post-Increment (temp 4-component vector of float) -0:314 'color' (temp 4-component vector of float) -0:317 Post-Increment (temp 4-component vector of float) -0:317 'color' (temp 4-component vector of float) -0:319 move second child to first child (temp 4-component vector of float) -0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:319 'color' (temp 4-component vector of float) +0:314 Post-Increment ( temp 4-component vector of float) +0:314 'color' ( temp 4-component vector of float) +0:317 Post-Increment ( temp 4-component vector of float) +0:317 'color' ( temp 4-component vector of float) +0:319 move second child to first child ( temp 4-component vector of float) +0:319 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:319 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'bigColor1_1' (uniform 4-component vector of float) -0:? 'bigColor1_2' (uniform 4-component vector of float) -0:? 'bigColor1_3' (uniform 4-component vector of float) -0:? 'bigColor2' (uniform 4-component vector of float) -0:? 'bigColor3' (uniform 4-component vector of float) -0:? 'bigColor4' (uniform 4-component vector of float) -0:? 'bigColor5' (uniform 4-component vector of float) -0:? 'bigColor6' (uniform 4-component vector of float) -0:? 'bigColor7' (uniform 4-component vector of float) -0:? 'bigColor8' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'd2' (uniform float) -0:? 'd3' (uniform float) -0:? 'd4' (uniform float) -0:? 'd5' (uniform float) -0:? 'd6' (uniform float) -0:? 'd7' (uniform float) -0:? 'd8' (uniform float) -0:? 'd9' (uniform float) -0:? 'd10' (uniform float) -0:? 'd11' (uniform float) -0:? 'd12' (uniform float) -0:? 'd13' (uniform float) -0:? 'd14' (uniform float) -0:? 'd15' (uniform float) -0:? 'd16' (uniform float) -0:? 'd17' (uniform float) -0:? 'd18' (uniform float) -0:? 'd19' (uniform float) -0:? 'd20' (uniform float) -0:? 'd21' (uniform float) -0:? 'd22' (uniform float) -0:? 'd23' (uniform float) -0:? 'd24' (uniform float) -0:? 'd25' (uniform float) -0:? 'd26' (uniform float) -0:? 'd27' (uniform float) -0:? 'd28' (uniform float) -0:? 'd29' (uniform float) -0:? 'd30' (uniform float) -0:? 'd31' (uniform float) -0:? 'd32' (uniform float) -0:? 'd33' (uniform float) -0:? 'd34' (uniform float) -0:? 'Count' (uniform int) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'bigColor1_1' ( uniform 4-component vector of float) +0:? 'bigColor1_2' ( uniform 4-component vector of float) +0:? 'bigColor1_3' ( uniform 4-component vector of float) +0:? 'bigColor2' ( uniform 4-component vector of float) +0:? 'bigColor3' ( uniform 4-component vector of float) +0:? 'bigColor4' ( uniform 4-component vector of float) +0:? 'bigColor5' ( uniform 4-component vector of float) +0:? 'bigColor6' ( uniform 4-component vector of float) +0:? 'bigColor7' ( uniform 4-component vector of float) +0:? 'bigColor8' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'd2' ( uniform float) +0:? 'd3' ( uniform float) +0:? 'd4' ( uniform float) +0:? 'd5' ( uniform float) +0:? 'd6' ( uniform float) +0:? 'd7' ( uniform float) +0:? 'd8' ( uniform float) +0:? 'd9' ( uniform float) +0:? 'd10' ( uniform float) +0:? 'd11' ( uniform float) +0:? 'd12' ( uniform float) +0:? 'd13' ( uniform float) +0:? 'd14' ( uniform float) +0:? 'd15' ( uniform float) +0:? 'd16' ( uniform float) +0:? 'd17' ( uniform float) +0:? 'd18' ( uniform float) +0:? 'd19' ( uniform float) +0:? 'd20' ( uniform float) +0:? 'd21' ( uniform float) +0:? 'd22' ( uniform float) +0:? 'd23' ( uniform float) +0:? 'd24' ( uniform float) +0:? 'd25' ( uniform float) +0:? 'd26' ( uniform float) +0:? 'd27' ( uniform float) +0:? 'd28' ( uniform float) +0:? 'd29' ( uniform float) +0:? 'd30' ( uniform float) +0:? 'd31' ( uniform float) +0:? 'd32' ( uniform float) +0:? 'd33' ( uniform float) +0:? 'd34' ( uniform float) +0:? 'Count' ( uniform int) Linked fragment stage: @@ -971,59 +971,59 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:55 Sequence 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 'BaseColor' (smooth in 4-component vector of float) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 'BaseColor' ( smooth in 4-component vector of float) 0:58 Loop with condition tested first 0:58 Loop Condition 0:58 Constant: 0:58 true (const bool) 0:58 Loop Body 0:59 Sequence -0:59 Test condition and select (temp void) +0:59 Test condition and select ( temp void) 0:59 Condition -0:59 Compare Less Than (temp bool) -0:59 direct index (temp float) -0:59 'color' (temp 4-component vector of float) +0:59 Compare Less Than ( temp bool) +0:59 direct index ( temp float) +0:59 'color' ( temp 4-component vector of float) 0:59 Constant: 0:59 0 (const int) 0:59 Constant: 0:59 0.330000 0:59 true case 0:60 Sequence -0:60 add second child into first child (temp 4-component vector of float) -0:60 'color' (temp 4-component vector of float) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'color' ( temp 4-component vector of float) 0:60 Constant: 0:60 0.330000 0:60 0.330000 0:60 0.330000 0:60 0.330000 0:61 Branch: Break -0:63 Test condition and select (temp void) +0:63 Test condition and select ( temp void) 0:63 Condition -0:63 Compare Less Than (temp bool) -0:63 direct index (temp float) -0:63 'color' (temp 4-component vector of float) +0:63 Compare Less Than ( temp bool) +0:63 direct index ( temp float) +0:63 'color' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) 0:63 Constant: 0:63 0.660000 0:63 true case 0:64 Sequence -0:64 add second child into first child (temp 4-component vector of float) -0:64 'color' (temp 4-component vector of float) +0:64 add second child into first child ( temp 4-component vector of float) +0:64 'color' ( temp 4-component vector of float) 0:64 Constant: 0:64 0.660000 0:64 0.660000 0:64 0.660000 0:64 0.660000 0:65 Branch: Break -0:68 add second child into first child (temp 4-component vector of float) -0:68 'color' (temp 4-component vector of float) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'color' ( temp 4-component vector of float) 0:68 Constant: 0:68 0.330000 0:68 0.330000 @@ -1032,475 +1032,475 @@ Shader version: 130 0:69 Branch: Break 0:73 Loop with condition tested first 0:73 Loop Condition -0:73 Compare Less Than (temp bool) -0:73 direct index (temp float) -0:73 'color' (temp 4-component vector of float) +0:73 Compare Less Than ( temp bool) +0:73 direct index ( temp float) +0:73 'color' ( temp 4-component vector of float) 0:73 Constant: 0:73 0 (const int) -0:73 'd' (uniform float) +0:73 'd' ( uniform float) 0:73 Loop Body 0:74 Sequence -0:74 add second child into first child (temp 4-component vector of float) -0:74 'color' (temp 4-component vector of float) -0:74 'bigColor' (uniform 4-component vector of float) +0:74 add second child into first child ( temp 4-component vector of float) +0:74 'color' ( temp 4-component vector of float) +0:74 'bigColor' ( uniform 4-component vector of float) 0:78 Loop with condition tested first 0:78 Loop Condition -0:78 Compare Less Than (temp bool) -0:78 direct index (temp float) -0:78 'color' (temp 4-component vector of float) +0:78 Compare Less Than ( temp bool) +0:78 direct index ( temp float) +0:78 'color' ( temp 4-component vector of float) 0:78 Constant: 0:78 2 (const int) -0:78 'd' (uniform float) +0:78 'd' ( uniform float) 0:78 Loop Body 0:79 Sequence -0:79 add second child into first child (temp 4-component vector of float) -0:79 'color' (temp 4-component vector of float) -0:79 'bigColor1_1' (uniform 4-component vector of float) -0:80 Test condition and select (temp void) +0:79 add second child into first child ( temp 4-component vector of float) +0:79 'color' ( temp 4-component vector of float) +0:79 'bigColor1_1' ( uniform 4-component vector of float) +0:80 Test condition and select ( temp void) 0:80 Condition -0:80 Compare Less Than (temp bool) -0:80 direct index (temp float) -0:80 'color' (temp 4-component vector of float) +0:80 Compare Less Than ( temp bool) +0:80 direct index ( temp float) +0:80 'color' ( temp 4-component vector of float) 0:80 Constant: 0:80 3 (const int) -0:80 'd' (uniform float) +0:80 'd' ( uniform float) 0:80 true case 0:81 Branch: Continue -0:83 add second child into first child (temp 4-component vector of float) -0:83 'color' (temp 4-component vector of float) -0:83 'bigColor1_1' (uniform 4-component vector of float) +0:83 add second child into first child ( temp 4-component vector of float) +0:83 'color' ( temp 4-component vector of float) +0:83 'bigColor1_1' ( uniform 4-component vector of float) 0:87 Loop with condition tested first 0:87 Loop Condition -0:87 Compare Less Than (temp bool) -0:87 direct index (temp float) -0:87 'color' (temp 4-component vector of float) +0:87 Compare Less Than ( temp bool) +0:87 direct index ( temp float) +0:87 'color' ( temp 4-component vector of float) 0:87 Constant: 0:87 0 (const int) 0:87 Constant: 0:87 42.000000 0:87 Loop Body 0:88 Sequence -0:88 Pre-Increment (temp 4-component vector of float) -0:88 'color' (temp 4-component vector of float) +0:88 Pre-Increment ( temp 4-component vector of float) +0:88 'color' ( temp 4-component vector of float) 0:92 Loop with condition tested first 0:92 Loop Condition -0:92 logical-and (temp bool) -0:92 Compare Less Than (temp bool) -0:92 direct index (temp float) -0:92 'color' (temp 4-component vector of float) +0:92 logical-and ( temp bool) +0:92 Compare Less Than ( temp bool) +0:92 direct index ( temp float) +0:92 'color' ( temp 4-component vector of float) 0:92 Constant: 0:92 3 (const int) -0:92 'd2' (uniform float) -0:92 Compare Less Than (temp bool) -0:92 direct index (temp float) -0:92 'color' (temp 4-component vector of float) +0:92 'd2' ( uniform float) +0:92 Compare Less Than ( temp bool) +0:92 direct index ( temp float) +0:92 'color' ( temp 4-component vector of float) 0:92 Constant: 0:92 1 (const int) -0:92 'd3' (uniform float) +0:92 'd3' ( uniform float) 0:92 Loop Body 0:93 Sequence -0:93 add second child into first child (temp 4-component vector of float) -0:93 'color' (temp 4-component vector of float) -0:93 'bigColor1_2' (uniform 4-component vector of float) +0:93 add second child into first child ( temp 4-component vector of float) +0:93 'color' ( temp 4-component vector of float) +0:93 'bigColor1_2' ( uniform 4-component vector of float) 0:97 Loop with condition tested first 0:97 Loop Condition -0:97 Compare Less Than (temp bool) -0:97 direct index (temp float) -0:97 'color' (temp 4-component vector of float) +0:97 Compare Less Than ( temp bool) +0:97 direct index ( temp float) +0:97 'color' ( temp 4-component vector of float) 0:97 Constant: 0:97 2 (const int) -0:97 'd3' (uniform float) +0:97 'd3' ( uniform float) 0:97 Loop Body 0:98 Sequence -0:98 add second child into first child (temp 4-component vector of float) -0:98 'color' (temp 4-component vector of float) -0:98 'bigColor1_3' (uniform 4-component vector of float) -0:99 Test condition and select (temp void) +0:98 add second child into first child ( temp 4-component vector of float) +0:98 'color' ( temp 4-component vector of float) +0:98 'bigColor1_3' ( uniform 4-component vector of float) +0:99 Test condition and select ( temp void) 0:99 Condition -0:99 Compare Less Than (temp bool) -0:99 direct index (temp float) -0:99 'color' (temp 4-component vector of float) +0:99 Compare Less Than ( temp bool) +0:99 direct index ( temp float) +0:99 'color' ( temp 4-component vector of float) 0:99 Constant: 0:99 1 (const int) -0:99 'd4' (uniform float) +0:99 'd4' ( uniform float) 0:99 true case 0:100 Branch: Break -0:101 add second child into first child (temp 4-component vector of float) -0:101 'color' (temp 4-component vector of float) -0:101 'bigColor1_3' (uniform 4-component vector of float) +0:101 add second child into first child ( temp 4-component vector of float) +0:101 'color' ( temp 4-component vector of float) +0:101 'bigColor1_3' ( uniform 4-component vector of float) 0:105 Sequence 0:105 Sequence -0:105 move second child to first child (temp int) -0:105 'i' (temp int) +0:105 move second child to first child ( temp int) +0:105 'i' ( temp int) 0:105 Constant: 0:105 0 (const int) 0:105 Loop with condition tested first 0:105 Loop Condition -0:105 Compare Less Than (temp bool) -0:105 'i' (temp int) -0:105 'Count' (uniform int) +0:105 Compare Less Than ( temp bool) +0:105 'i' ( temp int) +0:105 'Count' ( uniform int) 0:105 Loop Body 0:106 Sequence -0:106 add second child into first child (temp 4-component vector of float) -0:106 'color' (temp 4-component vector of float) -0:106 'bigColor2' (uniform 4-component vector of float) +0:106 add second child into first child ( temp 4-component vector of float) +0:106 'color' ( temp 4-component vector of float) +0:106 'bigColor2' ( uniform 4-component vector of float) 0:105 Loop Terminal Expression -0:105 Pre-Increment (temp int) -0:105 'i' (temp int) +0:105 Pre-Increment ( temp int) +0:105 'i' ( temp int) 0:112 Loop with condition not tested first 0:112 Loop Condition -0:112 Compare Less Than (temp bool) -0:112 direct index (temp float) -0:112 'color' (temp 4-component vector of float) +0:112 Compare Less Than ( temp bool) +0:112 direct index ( temp float) +0:112 'color' ( temp 4-component vector of float) 0:112 Constant: 0:112 0 (const int) -0:112 'd2' (uniform float) +0:112 'd2' ( uniform float) 0:112 Loop Body 0:111 Sequence -0:111 add second child into first child (temp 4-component vector of float) -0:111 'color' (temp 4-component vector of float) -0:111 'bigColor3' (uniform 4-component vector of float) +0:111 add second child into first child ( temp 4-component vector of float) +0:111 'color' ( temp 4-component vector of float) +0:111 'bigColor3' ( uniform 4-component vector of float) 0:115 Sequence 0:115 Sequence -0:115 move second child to first child (temp int) -0:115 'i' (temp int) +0:115 move second child to first child ( temp int) +0:115 'i' ( temp int) 0:115 Constant: 0:115 0 (const int) 0:115 Loop with condition tested first 0:115 Loop Condition -0:115 Compare Less Than (temp bool) -0:115 'i' (temp int) +0:115 Compare Less Than ( temp bool) +0:115 'i' ( temp int) 0:115 Constant: 0:115 42 (const int) 0:115 Loop Body 0:116 Sequence -0:116 add second child into first child (temp float) -0:116 direct index (temp float) -0:116 'color' (temp 4-component vector of float) +0:116 add second child into first child ( temp float) +0:116 direct index ( temp float) +0:116 'color' ( temp 4-component vector of float) 0:116 Constant: 0:116 2 (const int) -0:116 'd3' (uniform float) +0:116 'd3' ( uniform float) 0:115 Loop Terminal Expression -0:115 Pre-Increment (temp int) -0:115 'i' (temp int) +0:115 Pre-Increment ( temp int) +0:115 'i' ( temp int) 0:120 Sequence 0:120 Sequence -0:120 move second child to first child (temp int) -0:120 'i' (temp int) +0:120 move second child to first child ( temp int) +0:120 'i' ( temp int) 0:120 Constant: 0:120 0 (const int) 0:120 Loop with condition tested first 0:120 Loop Condition -0:120 Compare Less Than (temp bool) -0:120 'i' (temp int) +0:120 Compare Less Than ( temp bool) +0:120 'i' ( temp int) 0:120 Constant: 0:120 100 (const int) 0:120 Loop Body 0:121 Sequence -0:121 Test condition and select (temp void) +0:121 Test condition and select ( temp void) 0:121 Condition -0:121 Compare Less Than (temp bool) -0:121 direct index (temp float) -0:121 'color' (temp 4-component vector of float) +0:121 Compare Less Than ( temp bool) +0:121 direct index ( temp float) +0:121 'color' ( temp 4-component vector of float) 0:121 Constant: 0:121 2 (const int) 0:121 Constant: 0:121 20.000000 0:121 true case -0:122 Post-Increment (temp float) -0:122 direct index (temp float) -0:122 'color' (temp 4-component vector of float) +0:122 Post-Increment ( temp float) +0:122 direct index ( temp float) +0:122 'color' ( temp 4-component vector of float) 0:122 Constant: 0:122 0 (const int) 0:121 false case -0:124 Post-Increment (temp float) -0:124 direct index (temp float) -0:124 'color' (temp 4-component vector of float) +0:124 Post-Increment ( temp float) +0:124 direct index ( temp float) +0:124 'color' ( temp 4-component vector of float) 0:124 Constant: 0:124 1 (const int) -0:125 Test condition and select (temp void) +0:125 Test condition and select ( temp void) 0:125 Condition -0:125 Compare Less Than (temp bool) -0:125 direct index (temp float) -0:125 'color' (temp 4-component vector of float) +0:125 Compare Less Than ( temp bool) +0:125 direct index ( temp float) +0:125 'color' ( temp 4-component vector of float) 0:125 Constant: 0:125 3 (const int) 0:125 Constant: 0:125 20.000000 0:125 true case -0:126 Test condition and select (temp void) +0:126 Test condition and select ( temp void) 0:126 Condition -0:126 Compare Greater Than (temp bool) -0:126 direct index (temp float) -0:126 'color' (temp 4-component vector of float) +0:126 Compare Greater Than ( temp bool) +0:126 direct index ( temp float) +0:126 'color' ( temp 4-component vector of float) 0:126 Constant: 0:126 2 (const int) -0:126 direct index (temp float) -0:126 'color' (temp 4-component vector of float) +0:126 direct index ( temp float) +0:126 'color' ( temp 4-component vector of float) 0:126 Constant: 0:126 1 (const int) 0:126 true case 0:127 Constant: 0:127 0 (const int) 0:120 Loop Terminal Expression -0:120 Pre-Increment (temp int) -0:120 'i' (temp int) +0:120 Pre-Increment ( temp int) +0:120 'i' ( temp int) 0:131 Sequence 0:131 Sequence -0:131 move second child to first child (temp int) -0:131 'i' (temp int) +0:131 move second child to first child ( temp int) +0:131 'i' ( temp int) 0:131 Constant: 0:131 0 (const int) 0:131 Loop with condition tested first 0:131 Loop Condition -0:131 Compare Less Than (temp bool) -0:131 'i' (temp int) +0:131 Compare Less Than ( temp bool) +0:131 'i' ( temp int) 0:131 Constant: 0:131 120 (const int) 0:131 Loop Body 0:132 Sequence -0:132 Test condition and select (temp void) +0:132 Test condition and select ( temp void) 0:132 Condition -0:132 Compare Less Than (temp bool) -0:132 direct index (temp float) -0:132 'color' (temp 4-component vector of float) +0:132 Compare Less Than ( temp bool) +0:132 direct index ( temp float) +0:132 'color' ( temp 4-component vector of float) 0:132 Constant: 0:132 2 (const int) 0:132 Constant: 0:132 20.000000 0:132 true case -0:133 Post-Increment (temp float) -0:133 direct index (temp float) -0:133 'color' (temp 4-component vector of float) +0:133 Post-Increment ( temp float) +0:133 direct index ( temp float) +0:133 'color' ( temp 4-component vector of float) 0:133 Constant: 0:133 0 (const int) 0:132 false case -0:135 Post-Increment (temp float) -0:135 direct index (temp float) -0:135 'color' (temp 4-component vector of float) +0:135 Post-Increment ( temp float) +0:135 direct index ( temp float) +0:135 'color' ( temp 4-component vector of float) 0:135 Constant: 0:135 1 (const int) 0:131 Loop Terminal Expression -0:131 Pre-Increment (temp int) -0:131 'i' (temp int) +0:131 Pre-Increment ( temp int) +0:131 'i' ( temp int) 0:139 Sequence 0:139 Sequence -0:139 move second child to first child (temp int) -0:139 'i' (temp int) +0:139 move second child to first child ( temp int) +0:139 'i' ( temp int) 0:139 Constant: 0:139 0 (const int) 0:139 Loop with condition tested first 0:139 Loop Condition -0:139 Compare Less Than (temp bool) -0:139 'i' (temp int) +0:139 Compare Less Than ( temp bool) +0:139 'i' ( temp int) 0:139 Constant: 0:139 42 (const int) 0:139 Loop Body 0:140 Sequence -0:140 add second child into first child (temp float) -0:140 direct index (temp float) -0:140 'color' (temp 4-component vector of float) +0:140 add second child into first child ( temp float) +0:140 direct index ( temp float) +0:140 'color' ( temp 4-component vector of float) 0:140 Constant: 0:140 2 (const int) -0:140 'd3' (uniform float) -0:141 Test condition and select (temp void) +0:140 'd3' ( uniform float) +0:141 Test condition and select ( temp void) 0:141 Condition -0:141 Compare Less Than (temp bool) -0:141 direct index (temp float) -0:141 'color' (temp 4-component vector of float) +0:141 Compare Less Than ( temp bool) +0:141 direct index ( temp float) +0:141 'color' ( temp 4-component vector of float) 0:141 Constant: 0:141 0 (const int) -0:141 'd4' (uniform float) +0:141 'd4' ( uniform float) 0:141 true case 0:142 Branch: Continue -0:143 Pre-Increment (temp float) -0:143 direct index (temp float) -0:143 'color' (temp 4-component vector of float) +0:143 Pre-Increment ( temp float) +0:143 direct index ( temp float) +0:143 'color' ( temp 4-component vector of float) 0:143 Constant: 0:143 3 (const int) 0:139 Loop Terminal Expression -0:139 Pre-Increment (temp int) -0:139 'i' (temp int) +0:139 Pre-Increment ( temp int) +0:139 'i' ( temp int) 0:147 Sequence 0:147 Sequence -0:147 move second child to first child (temp int) -0:147 'i' (temp int) +0:147 move second child to first child ( temp int) +0:147 'i' ( temp int) 0:147 Constant: 0:147 0 (const int) 0:147 Loop with condition tested first 0:147 Loop Condition -0:147 Compare Less Than (temp bool) -0:147 'i' (temp int) +0:147 Compare Less Than ( temp bool) +0:147 'i' ( temp int) 0:147 Constant: 0:147 42 (const int) 0:147 Loop Body 0:148 Sequence -0:148 add second child into first child (temp float) -0:148 direct index (temp float) -0:148 'color' (temp 4-component vector of float) +0:148 add second child into first child ( temp float) +0:148 direct index ( temp float) +0:148 'color' ( temp 4-component vector of float) 0:148 Constant: 0:148 2 (const int) -0:148 'd3' (uniform float) -0:149 Test condition and select (temp void) +0:148 'd3' ( uniform float) +0:149 Test condition and select ( temp void) 0:149 Condition -0:149 Compare Less Than (temp bool) -0:149 direct index (temp float) -0:149 'color' (temp 4-component vector of float) +0:149 Compare Less Than ( temp bool) +0:149 direct index ( temp float) +0:149 'color' ( temp 4-component vector of float) 0:149 Constant: 0:149 0 (const int) -0:149 'd4' (uniform float) +0:149 'd4' ( uniform float) 0:149 true case 0:150 Branch: Break -0:151 Pre-Increment (temp float) -0:151 direct index (temp float) -0:151 'color' (temp 4-component vector of float) +0:151 Pre-Increment ( temp float) +0:151 direct index ( temp float) +0:151 'color' ( temp 4-component vector of float) 0:151 Constant: 0:151 3 (const int) 0:147 Loop Terminal Expression -0:147 Pre-Increment (temp int) -0:147 'i' (temp int) +0:147 Pre-Increment ( temp int) +0:147 'i' ( temp int) 0:163 Loop with condition not tested first 0:163 Loop Condition -0:163 Compare Less Than (temp bool) -0:163 direct index (temp float) -0:163 'color' (temp 4-component vector of float) +0:163 Compare Less Than ( temp bool) +0:163 direct index ( temp float) +0:163 'color' ( temp 4-component vector of float) 0:163 Constant: 0:163 2 (const int) -0:163 'd4' (uniform float) +0:163 'd4' ( uniform float) 0:163 Loop Body 0:156 Sequence -0:156 add second child into first child (temp 4-component vector of float) -0:156 'color' (temp 4-component vector of float) -0:156 'bigColor4' (uniform 4-component vector of float) -0:157 Test condition and select (temp void) +0:156 add second child into first child ( temp 4-component vector of float) +0:156 'color' ( temp 4-component vector of float) +0:156 'bigColor4' ( uniform 4-component vector of float) +0:157 Test condition and select ( temp void) 0:157 Condition -0:157 Compare Less Than (temp bool) -0:157 direct index (temp float) -0:157 'color' (temp 4-component vector of float) +0:157 Compare Less Than ( temp bool) +0:157 direct index ( temp float) +0:157 'color' ( temp 4-component vector of float) 0:157 Constant: 0:157 0 (const int) -0:157 'd4' (uniform float) +0:157 'd4' ( uniform float) 0:157 true case 0:158 Branch: Continue -0:159 Test condition and select (temp void) +0:159 Test condition and select ( temp void) 0:159 Condition -0:159 Compare Less Than (temp bool) -0:159 direct index (temp float) -0:159 'color' (temp 4-component vector of float) +0:159 Compare Less Than ( temp bool) +0:159 direct index ( temp float) +0:159 'color' ( temp 4-component vector of float) 0:159 Constant: 0:159 1 (const int) -0:159 'd4' (uniform float) +0:159 'd4' ( uniform float) 0:159 true case -0:160 add second child into first child (temp float) -0:160 direct index (temp float) -0:160 'color' (temp 4-component vector of float) +0:160 add second child into first child ( temp float) +0:160 direct index ( temp float) +0:160 'color' ( temp 4-component vector of float) 0:160 Constant: 0:160 1 (const int) -0:160 'd4' (uniform float) +0:160 'd4' ( uniform float) 0:159 false case -0:162 add second child into first child (temp float) -0:162 direct index (temp float) -0:162 'color' (temp 4-component vector of float) +0:162 add second child into first child ( temp float) +0:162 direct index ( temp float) +0:162 'color' ( temp 4-component vector of float) 0:162 Constant: 0:162 0 (const int) -0:162 'd4' (uniform float) +0:162 'd4' ( uniform float) 0:170 Loop with condition not tested first 0:170 Loop Condition -0:170 Compare Less Than (temp bool) -0:170 direct index (temp float) -0:170 'color' (temp 4-component vector of float) +0:170 Compare Less Than ( temp bool) +0:170 direct index ( temp float) +0:170 'color' ( temp 4-component vector of float) 0:170 Constant: 0:170 0 (const int) -0:170 'd5' (uniform float) +0:170 'd5' ( uniform float) 0:170 Loop Body 0:167 Sequence -0:167 add second child into first child (temp 4-component vector of float) -0:167 'color' (temp 4-component vector of float) -0:167 'bigColor5' (uniform 4-component vector of float) -0:168 Test condition and select (temp void) +0:167 add second child into first child ( temp 4-component vector of float) +0:167 'color' ( temp 4-component vector of float) +0:167 'bigColor5' ( uniform 4-component vector of float) +0:168 Test condition and select ( temp void) 0:168 Condition -0:168 Compare Less Than (temp bool) -0:168 direct index (temp float) -0:168 'color' (temp 4-component vector of float) +0:168 Compare Less Than ( temp bool) +0:168 direct index ( temp float) +0:168 'color' ( temp 4-component vector of float) 0:168 Constant: 0:168 1 (const int) -0:168 'd5' (uniform float) +0:168 'd5' ( uniform float) 0:168 true case -0:169 add second child into first child (temp float) -0:169 direct index (temp float) -0:169 'color' (temp 4-component vector of float) +0:169 add second child into first child ( temp float) +0:169 direct index ( temp float) +0:169 'color' ( temp 4-component vector of float) 0:169 Constant: 0:169 1 (const int) -0:169 'd5' (uniform float) -0:173 Test condition and select (temp void) +0:169 'd5' ( uniform float) +0:173 Test condition and select ( temp void) 0:173 Condition -0:173 Compare Less Than (temp bool) -0:173 direct index (temp float) -0:173 'color' (temp 4-component vector of float) +0:173 Compare Less Than ( temp bool) +0:173 direct index ( temp float) +0:173 'color' ( temp 4-component vector of float) 0:173 Constant: 0:173 0 (const int) -0:173 'd6' (uniform float) +0:173 'd6' ( uniform float) 0:173 true case 0:174 Sequence 0:174 Loop with condition tested first 0:174 Loop Condition -0:174 Compare Less Than (temp bool) -0:174 direct index (temp float) -0:174 'color' (temp 4-component vector of float) +0:174 Compare Less Than ( temp bool) +0:174 direct index ( temp float) +0:174 'color' ( temp 4-component vector of float) 0:174 Constant: 0:174 1 (const int) -0:174 'd6' (uniform float) +0:174 'd6' ( uniform float) 0:174 Loop Body -0:175 add second child into first child (temp 4-component vector of float) -0:175 'color' (temp 4-component vector of float) -0:175 'bigColor6' (uniform 4-component vector of float) +0:175 add second child into first child ( temp 4-component vector of float) +0:175 'color' ( temp 4-component vector of float) +0:175 'bigColor6' ( uniform 4-component vector of float) 0:173 false case 0:177 Sequence 0:177 Loop with condition tested first 0:177 Loop Condition -0:177 Compare Less Than (temp bool) -0:177 direct index (temp float) -0:177 'color' (temp 4-component vector of float) +0:177 Compare Less Than ( temp bool) +0:177 direct index ( temp float) +0:177 'color' ( temp 4-component vector of float) 0:177 Constant: 0:177 2 (const int) -0:177 'd6' (uniform float) +0:177 'd6' ( uniform float) 0:177 Loop Body -0:178 add second child into first child (temp float) -0:178 direct index (temp float) -0:178 'color' (temp 4-component vector of float) +0:178 add second child into first child ( temp float) +0:178 direct index ( temp float) +0:178 'color' ( temp 4-component vector of float) 0:178 Constant: 0:178 2 (const int) -0:178 direct index (temp float) -0:178 'bigColor6' (uniform 4-component vector of float) +0:178 direct index ( temp float) +0:178 'bigColor6' ( uniform 4-component vector of float) 0:178 Constant: 0:178 2 (const int) -0:182 Test condition and select (temp void) +0:182 Test condition and select ( temp void) 0:182 Condition -0:182 Compare Less Than (temp bool) -0:182 direct index (temp float) -0:182 'color' (temp 4-component vector of float) +0:182 Compare Less Than ( temp bool) +0:182 direct index ( temp float) +0:182 'color' ( temp 4-component vector of float) 0:182 Constant: 0:182 0 (const int) -0:182 'd6' (uniform float) +0:182 'd6' ( uniform float) 0:182 true case 0:183 Sequence 0:183 Loop with condition tested first 0:183 Loop Condition -0:183 Compare Less Than (temp bool) -0:183 direct index (temp float) -0:183 'color' (temp 4-component vector of float) +0:183 Compare Less Than ( temp bool) +0:183 direct index ( temp float) +0:183 'color' ( temp 4-component vector of float) 0:183 Constant: 0:183 1 (const int) -0:183 'd6' (uniform float) +0:183 'd6' ( uniform float) 0:183 Loop Body 0:184 Sequence -0:184 add second child into first child (temp 4-component vector of float) -0:184 'color' (temp 4-component vector of float) -0:184 'bigColor6' (uniform 4-component vector of float) -0:185 Test condition and select (temp void) +0:184 add second child into first child ( temp 4-component vector of float) +0:184 'color' ( temp 4-component vector of float) +0:184 'bigColor6' ( uniform 4-component vector of float) +0:185 Test condition and select ( temp void) 0:185 Condition -0:185 Compare Less Than (temp bool) -0:185 'd7' (uniform float) +0:185 Compare Less Than ( temp bool) +0:185 'd7' ( uniform float) 0:185 Constant: 0:185 1.000000 0:185 true case @@ -1509,20 +1509,20 @@ Shader version: 130 0:190 Sequence 0:190 Loop with condition tested first 0:190 Loop Condition -0:190 Compare Less Than (temp bool) -0:190 direct index (temp float) -0:190 'color' (temp 4-component vector of float) +0:190 Compare Less Than ( temp bool) +0:190 direct index ( temp float) +0:190 'color' ( temp 4-component vector of float) 0:190 Constant: 0:190 2 (const int) -0:190 'd6' (uniform float) +0:190 'd6' ( uniform float) 0:190 Loop Body -0:191 add second child into first child (temp float) -0:191 direct index (temp float) -0:191 'color' (temp 4-component vector of float) +0:191 add second child into first child ( temp float) +0:191 direct index ( temp float) +0:191 'color' ( temp 4-component vector of float) 0:191 Constant: 0:191 2 (const int) -0:191 direct index (temp float) -0:191 'bigColor6' (uniform 4-component vector of float) +0:191 direct index ( temp float) +0:191 'bigColor6' ( uniform 4-component vector of float) 0:191 Constant: 0:191 2 (const int) 0:209 Loop with condition not tested first @@ -1531,405 +1531,405 @@ Shader version: 130 0:209 true (const bool) 0:209 Loop Body 0:197 Sequence -0:197 Test condition and select (temp void) +0:197 Test condition and select ( temp void) 0:197 Condition -0:197 Compare Less Than (temp bool) -0:197 'd7' (uniform float) +0:197 Compare Less Than ( temp bool) +0:197 'd7' ( uniform float) 0:197 Constant: 0:197 0.000000 0:197 true case 0:198 Branch: Break -0:200 add second child into first child (temp 4-component vector of float) -0:200 'color' (temp 4-component vector of float) -0:200 'bigColor7' (uniform 4-component vector of float) -0:202 Test condition and select (temp void) +0:200 add second child into first child ( temp 4-component vector of float) +0:200 'color' ( temp 4-component vector of float) +0:200 'bigColor7' ( uniform 4-component vector of float) +0:202 Test condition and select ( temp void) 0:202 Condition -0:202 Compare Less Than (temp bool) -0:202 'd7' (uniform float) +0:202 Compare Less Than ( temp bool) +0:202 'd7' ( uniform float) 0:202 Constant: 0:202 1.000000 0:202 true case 0:203 Sequence -0:203 Post-Increment (temp float) -0:203 direct index (temp float) -0:203 'color' (temp 4-component vector of float) +0:203 Post-Increment ( temp float) +0:203 direct index ( temp float) +0:203 'color' ( temp 4-component vector of float) 0:203 Constant: 0:203 2 (const int) 0:204 Branch: Break -0:207 add second child into first child (temp 4-component vector of float) -0:207 'color' (temp 4-component vector of float) -0:207 'BaseColor' (smooth in 4-component vector of float) +0:207 add second child into first child ( temp 4-component vector of float) +0:207 'color' ( temp 4-component vector of float) +0:207 'BaseColor' ( smooth in 4-component vector of float) 0:234 Loop with condition not tested first 0:234 Loop Condition -0:234 Compare Less Than (temp bool) -0:234 direct index (temp float) -0:234 'color' (temp 4-component vector of float) +0:234 Compare Less Than ( temp bool) +0:234 direct index ( temp float) +0:234 'color' ( temp 4-component vector of float) 0:234 Constant: 0:234 2 (const int) -0:234 'd8' (uniform float) +0:234 'd8' ( uniform float) 0:234 Loop Body 0:217 Sequence -0:217 Test condition and select (temp void) +0:217 Test condition and select ( temp void) 0:217 Condition -0:217 Compare Less Than (temp bool) -0:217 'd8' (uniform float) +0:217 Compare Less Than ( temp bool) +0:217 'd8' ( uniform float) 0:217 Constant: 0:217 0.000000 0:217 true case 0:218 Branch: Break -0:220 add second child into first child (temp 4-component vector of float) -0:220 'color' (temp 4-component vector of float) -0:220 'bigColor7' (uniform 4-component vector of float) -0:222 Test condition and select (temp void) +0:220 add second child into first child ( temp 4-component vector of float) +0:220 'color' ( temp 4-component vector of float) +0:220 'bigColor7' ( uniform 4-component vector of float) +0:222 Test condition and select ( temp void) 0:222 Condition -0:222 Compare Less Than (temp bool) -0:222 'd8' (uniform float) +0:222 Compare Less Than ( temp bool) +0:222 'd8' ( uniform float) 0:222 Constant: 0:222 1.000000 0:222 true case 0:223 Sequence -0:223 Post-Increment (temp float) -0:223 direct index (temp float) -0:223 'color' (temp 4-component vector of float) +0:223 Post-Increment ( temp float) +0:223 direct index ( temp float) +0:223 'color' ( temp 4-component vector of float) 0:223 Constant: 0:223 2 (const int) -0:224 Test condition and select (temp void) +0:224 Test condition and select ( temp void) 0:224 Condition -0:224 Compare Less Than (temp bool) -0:224 'd8' (uniform float) +0:224 Compare Less Than ( temp bool) +0:224 'd8' ( uniform float) 0:224 Constant: 0:224 2.000000 0:224 true case 0:225 Sequence -0:225 Post-Increment (temp float) -0:225 direct index (temp float) -0:225 'color' (temp 4-component vector of float) +0:225 Post-Increment ( temp float) +0:225 direct index ( temp float) +0:225 'color' ( temp 4-component vector of float) 0:225 Constant: 0:225 1 (const int) 0:224 false case 0:227 Sequence -0:227 Post-Increment (temp float) -0:227 direct index (temp float) -0:227 'color' (temp 4-component vector of float) +0:227 Post-Increment ( temp float) +0:227 direct index ( temp float) +0:227 'color' ( temp 4-component vector of float) 0:227 Constant: 0:227 0 (const int) 0:229 Branch: Break -0:232 add second child into first child (temp 4-component vector of float) -0:232 'color' (temp 4-component vector of float) -0:232 'BaseColor' (smooth in 4-component vector of float) +0:232 add second child into first child ( temp 4-component vector of float) +0:232 'color' ( temp 4-component vector of float) +0:232 'BaseColor' ( smooth in 4-component vector of float) 0:237 Loop with condition tested first 0:237 Loop Condition -0:237 Compare Less Than (temp bool) -0:237 direct index (temp float) -0:237 'color' (temp 4-component vector of float) +0:237 Compare Less Than ( temp bool) +0:237 direct index ( temp float) +0:237 'color' ( temp 4-component vector of float) 0:237 Constant: 0:237 3 (const int) -0:237 'd9' (uniform float) +0:237 'd9' ( uniform float) 0:237 Loop Body 0:238 Sequence -0:238 Test condition and select (temp void) +0:238 Test condition and select ( temp void) 0:238 Condition -0:238 Compare Greater Than (temp bool) -0:238 'd9' (uniform float) -0:238 'd8' (uniform float) +0:238 Compare Greater Than ( temp bool) +0:238 'd9' ( uniform float) +0:238 'd8' ( uniform float) 0:238 true case 0:239 Sequence -0:239 Test condition and select (temp void) +0:239 Test condition and select ( temp void) 0:239 Condition -0:239 Compare Less Than or Equal (temp bool) -0:239 direct index (temp float) -0:239 'color' (temp 4-component vector of float) +0:239 Compare Less Than or Equal ( temp bool) +0:239 direct index ( temp float) +0:239 'color' ( temp 4-component vector of float) 0:239 Constant: 0:239 0 (const int) -0:239 'd7' (uniform float) +0:239 'd7' ( uniform float) 0:239 true case 0:240 Sequence -0:240 Test condition and select (temp void) +0:240 Test condition and select ( temp void) 0:240 Condition -0:240 Compare Equal (temp bool) -0:240 direct index (temp float) -0:240 'color' (temp 4-component vector of float) +0:240 Compare Equal ( temp bool) +0:240 direct index ( temp float) +0:240 'color' ( temp 4-component vector of float) 0:240 Constant: 0:240 2 (const int) 0:240 Constant: 0:240 5.000000 0:240 true case -0:241 Post-Increment (temp float) -0:241 direct index (temp float) -0:241 'color' (temp 4-component vector of float) +0:241 Post-Increment ( temp float) +0:241 direct index ( temp float) +0:241 'color' ( temp 4-component vector of float) 0:241 Constant: 0:241 3 (const int) 0:240 false case 0:243 Branch: Break 0:250 Loop with condition tested first 0:250 Loop Condition -0:250 Compare Less Than (temp bool) -0:250 direct index (temp float) -0:250 'color' (temp 4-component vector of float) +0:250 Compare Less Than ( temp bool) +0:250 direct index ( temp float) +0:250 'color' ( temp 4-component vector of float) 0:250 Constant: 0:250 2 (const int) -0:250 'd10' (uniform float) +0:250 'd10' ( uniform float) 0:250 Loop Body 0:251 Sequence -0:251 Post-Increment (temp float) -0:251 direct index (temp float) -0:251 'color' (temp 4-component vector of float) +0:251 Post-Increment ( temp float) +0:251 direct index ( temp float) +0:251 'color' ( temp 4-component vector of float) 0:251 Constant: 0:251 1 (const int) -0:252 Test condition and select (temp void) +0:252 Test condition and select ( temp void) 0:252 Condition -0:252 Compare Less Than (temp bool) -0:252 direct index (temp float) -0:252 'color' (temp 4-component vector of float) +0:252 Compare Less Than ( temp bool) +0:252 direct index ( temp float) +0:252 'color' ( temp 4-component vector of float) 0:252 Constant: 0:252 1 (const int) -0:252 'd11' (uniform float) +0:252 'd11' ( uniform float) 0:252 true case 0:253 Sequence -0:253 Post-Increment (temp float) -0:253 direct index (temp float) -0:253 'color' (temp 4-component vector of float) +0:253 Post-Increment ( temp float) +0:253 direct index ( temp float) +0:253 'color' ( temp 4-component vector of float) 0:253 Constant: 0:253 2 (const int) -0:254 Test condition and select (temp void) +0:254 Test condition and select ( temp void) 0:254 Condition -0:254 Compare Less Than (temp bool) -0:254 direct index (temp float) -0:254 'color' (temp 4-component vector of float) +0:254 Compare Less Than ( temp bool) +0:254 direct index ( temp float) +0:254 'color' ( temp 4-component vector of float) 0:254 Constant: 0:254 3 (const int) -0:254 'd12' (uniform float) +0:254 'd12' ( uniform float) 0:254 true case -0:255 Post-Increment (temp float) -0:255 direct index (temp float) -0:255 'color' (temp 4-component vector of float) +0:255 Post-Increment ( temp float) +0:255 direct index ( temp float) +0:255 'color' ( temp 4-component vector of float) 0:255 Constant: 0:255 3 (const int) 0:254 false case -0:257 Post-Increment (temp float) -0:257 direct index (temp float) -0:257 'color' (temp 4-component vector of float) +0:257 Post-Increment ( temp float) +0:257 direct index ( temp float) +0:257 'color' ( temp 4-component vector of float) 0:257 Constant: 0:257 0 (const int) 0:258 Branch: Continue -0:261 Post-Increment (temp 4-component vector of float) -0:261 'color' (temp 4-component vector of float) +0:261 Post-Increment ( temp 4-component vector of float) +0:261 'color' ( temp 4-component vector of float) 0:262 Branch: Break 0:266 Loop with condition tested first 0:266 Loop Condition -0:266 Compare Less Than (temp bool) -0:266 direct index (temp float) -0:266 'color' (temp 4-component vector of float) +0:266 Compare Less Than ( temp bool) +0:266 direct index ( temp float) +0:266 'color' ( temp 4-component vector of float) 0:266 Constant: 0:266 0 (const int) 0:266 Constant: 0:266 10.000000 0:266 Loop Body 0:267 Sequence -0:267 add second child into first child (temp 4-component vector of float) -0:267 'color' (temp 4-component vector of float) -0:267 'bigColor8' (uniform 4-component vector of float) -0:269 Test condition and select (temp void) +0:267 add second child into first child ( temp 4-component vector of float) +0:267 'color' ( temp 4-component vector of float) +0:267 'bigColor8' ( uniform 4-component vector of float) +0:269 Test condition and select ( temp void) 0:269 Condition -0:269 Compare Less Than (temp bool) -0:269 direct index (temp float) -0:269 'color' (temp 4-component vector of float) +0:269 Compare Less Than ( temp bool) +0:269 direct index ( temp float) +0:269 'color' ( temp 4-component vector of float) 0:269 Constant: 0:269 2 (const int) -0:269 'd8' (uniform float) +0:269 'd8' ( uniform float) 0:269 true case -0:270 Test condition and select (temp void) +0:270 Test condition and select ( temp void) 0:270 Condition -0:270 Compare Less Than (temp bool) -0:270 direct index (temp float) -0:270 'color' (temp 4-component vector of float) +0:270 Compare Less Than ( temp bool) +0:270 direct index ( temp float) +0:270 'color' ( temp 4-component vector of float) 0:270 Constant: 0:270 3 (const int) -0:270 'd6' (uniform float) +0:270 'd6' ( uniform float) 0:270 true case 0:271 Branch: Continue -0:273 add second child into first child (temp float) -0:273 direct index (temp float) -0:273 'color' (temp 4-component vector of float) +0:273 add second child into first child ( temp float) +0:273 direct index ( temp float) +0:273 'color' ( temp 4-component vector of float) 0:273 Constant: 0:273 1 (const int) -0:273 direct index (temp float) -0:273 'bigColor8' (uniform 4-component vector of float) +0:273 direct index ( temp float) +0:273 'bigColor8' ( uniform 4-component vector of float) 0:273 Constant: 0:273 0 (const int) -0:276 Post-Increment (temp 4-component vector of float) -0:276 'color' (temp 4-component vector of float) -0:277 move second child to first child (temp 4-component vector of float) -0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:277 'color' (temp 4-component vector of float) +0:276 Post-Increment ( temp 4-component vector of float) +0:276 'color' ( temp 4-component vector of float) +0:277 move second child to first child ( temp 4-component vector of float) +0:277 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:277 'color' ( temp 4-component vector of float) 0:280 Loop with condition tested first 0:280 Loop Condition -0:280 Compare Less Than (temp bool) -0:280 direct index (temp float) -0:280 'color' (temp 4-component vector of float) +0:280 Compare Less Than ( temp bool) +0:280 direct index ( temp float) +0:280 'color' ( temp 4-component vector of float) 0:280 Constant: 0:280 0 (const int) -0:280 'd14' (uniform float) +0:280 'd14' ( uniform float) 0:280 Loop Body 0:281 Sequence -0:281 Test condition and select (temp void) +0:281 Test condition and select ( temp void) 0:281 Condition -0:281 Compare Less Than (temp bool) -0:281 direct index (temp float) -0:281 'color' (temp 4-component vector of float) +0:281 Compare Less Than ( temp bool) +0:281 direct index ( temp float) +0:281 'color' ( temp 4-component vector of float) 0:281 Constant: 0:281 1 (const int) -0:281 'd15' (uniform float) +0:281 'd15' ( uniform float) 0:281 true case 0:282 Sequence 0:282 Branch: Return 0:281 false case -0:285 Post-Increment (temp 4-component vector of float) -0:285 'color' (temp 4-component vector of float) -0:288 Post-Increment (temp 4-component vector of float) -0:288 'color' (temp 4-component vector of float) +0:285 Post-Increment ( temp 4-component vector of float) +0:285 'color' ( temp 4-component vector of float) +0:288 Post-Increment ( temp 4-component vector of float) +0:288 'color' ( temp 4-component vector of float) 0:290 Loop with condition tested first 0:290 Loop Condition -0:290 Compare Less Than (temp bool) -0:290 direct index (temp float) -0:290 'color' (temp 4-component vector of float) +0:290 Compare Less Than ( temp bool) +0:290 direct index ( temp float) +0:290 'color' ( temp 4-component vector of float) 0:290 Constant: 0:290 3 (const int) -0:290 'd16' (uniform float) +0:290 'd16' ( uniform float) 0:290 Loop Body 0:291 Sequence -0:291 Post-Increment (temp float) -0:291 direct index (temp float) -0:291 'color' (temp 4-component vector of float) +0:291 Post-Increment ( temp float) +0:291 direct index ( temp float) +0:291 'color' ( temp 4-component vector of float) 0:291 Constant: 0:291 3 (const int) 0:296 Loop with condition tested first 0:296 Loop Condition -0:296 logical-and (temp bool) -0:296 Compare Less Than (temp bool) -0:296 direct index (temp float) -0:296 'color' (temp 4-component vector of float) +0:296 logical-and ( temp bool) +0:296 Compare Less Than ( temp bool) +0:296 direct index ( temp float) +0:296 'color' ( temp 4-component vector of float) 0:296 Constant: 0:296 3 (const int) -0:296 'd2' (uniform float) -0:296 Compare Less Than (temp bool) -0:296 direct index (temp float) -0:296 'color' (temp 4-component vector of float) +0:296 'd2' ( uniform float) +0:296 Compare Less Than ( temp bool) +0:296 direct index ( temp float) +0:296 'color' ( temp 4-component vector of float) 0:296 Constant: 0:296 1 (const int) -0:296 'd3' (uniform float) +0:296 'd3' ( uniform float) 0:296 Loop Body 0:297 Sequence -0:297 add second child into first child (temp 4-component vector of float) -0:297 'color' (temp 4-component vector of float) -0:297 'bigColor1_2' (uniform 4-component vector of float) -0:298 Test condition and select (temp void) +0:297 add second child into first child ( temp 4-component vector of float) +0:297 'color' ( temp 4-component vector of float) +0:297 'bigColor1_2' ( uniform 4-component vector of float) +0:298 Test condition and select ( temp void) 0:298 Condition -0:298 Compare Less Than (temp bool) -0:298 direct index (temp float) -0:298 'color' (temp 4-component vector of float) +0:298 Compare Less Than ( temp bool) +0:298 direct index ( temp float) +0:298 'color' ( temp 4-component vector of float) 0:298 Constant: 0:298 2 (const int) -0:298 'd3' (uniform float) +0:298 'd3' ( uniform float) 0:298 true case 0:299 Branch: Return 0:307 Loop with condition not tested first 0:307 Loop Condition -0:307 Compare Less Than (temp bool) -0:307 direct index (temp float) -0:307 'color' (temp 4-component vector of float) +0:307 Compare Less Than ( temp bool) +0:307 direct index ( temp float) +0:307 'color' ( temp 4-component vector of float) 0:307 Constant: 0:307 0 (const int) -0:307 'd17' (uniform float) +0:307 'd17' ( uniform float) 0:307 Loop Body 0:304 Sequence -0:304 Test condition and select (temp void) +0:304 Test condition and select ( temp void) 0:304 Condition -0:304 Compare Less Than (temp bool) -0:304 direct index (temp float) -0:304 'color' (temp 4-component vector of float) +0:304 Compare Less Than ( temp bool) +0:304 direct index ( temp float) +0:304 'color' ( temp 4-component vector of float) 0:304 Constant: 0:304 1 (const int) -0:304 'd18' (uniform float) +0:304 'd18' ( uniform float) 0:304 true case 0:305 Branch: Return -0:306 Post-Increment (temp 4-component vector of float) -0:306 'color' (temp 4-component vector of float) +0:306 Post-Increment ( temp 4-component vector of float) +0:306 'color' ( temp 4-component vector of float) 0:310 Loop with condition tested first 0:310 Loop Condition -0:310 Compare Less Than (temp bool) -0:310 direct index (temp float) -0:310 'color' (temp 4-component vector of float) +0:310 Compare Less Than ( temp bool) +0:310 direct index ( temp float) +0:310 'color' ( temp 4-component vector of float) 0:310 Constant: 0:310 1 (const int) -0:310 'd16' (uniform float) +0:310 'd16' ( uniform float) 0:310 Loop Body 0:311 Sequence -0:311 Test condition and select (temp void) +0:311 Test condition and select ( temp void) 0:311 Condition -0:311 Compare Less Than (temp bool) -0:311 direct index (temp float) -0:311 'color' (temp 4-component vector of float) +0:311 Compare Less Than ( temp bool) +0:311 direct index ( temp float) +0:311 'color' ( temp 4-component vector of float) 0:311 Constant: 0:311 3 (const int) -0:311 'd16' (uniform float) +0:311 'd16' ( uniform float) 0:311 true case 0:312 Sequence 0:312 Branch: Kill 0:311 false case -0:314 Post-Increment (temp 4-component vector of float) -0:314 'color' (temp 4-component vector of float) -0:317 Post-Increment (temp 4-component vector of float) -0:317 'color' (temp 4-component vector of float) -0:319 move second child to first child (temp 4-component vector of float) -0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:319 'color' (temp 4-component vector of float) +0:314 Post-Increment ( temp 4-component vector of float) +0:314 'color' ( temp 4-component vector of float) +0:317 Post-Increment ( temp 4-component vector of float) +0:317 'color' ( temp 4-component vector of float) +0:319 move second child to first child ( temp 4-component vector of float) +0:319 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:319 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'bigColor1_1' (uniform 4-component vector of float) -0:? 'bigColor1_2' (uniform 4-component vector of float) -0:? 'bigColor1_3' (uniform 4-component vector of float) -0:? 'bigColor2' (uniform 4-component vector of float) -0:? 'bigColor3' (uniform 4-component vector of float) -0:? 'bigColor4' (uniform 4-component vector of float) -0:? 'bigColor5' (uniform 4-component vector of float) -0:? 'bigColor6' (uniform 4-component vector of float) -0:? 'bigColor7' (uniform 4-component vector of float) -0:? 'bigColor8' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'd2' (uniform float) -0:? 'd3' (uniform float) -0:? 'd4' (uniform float) -0:? 'd5' (uniform float) -0:? 'd6' (uniform float) -0:? 'd7' (uniform float) -0:? 'd8' (uniform float) -0:? 'd9' (uniform float) -0:? 'd10' (uniform float) -0:? 'd11' (uniform float) -0:? 'd12' (uniform float) -0:? 'd13' (uniform float) -0:? 'd14' (uniform float) -0:? 'd15' (uniform float) -0:? 'd16' (uniform float) -0:? 'd17' (uniform float) -0:? 'd18' (uniform float) -0:? 'd19' (uniform float) -0:? 'd20' (uniform float) -0:? 'd21' (uniform float) -0:? 'd22' (uniform float) -0:? 'd23' (uniform float) -0:? 'd24' (uniform float) -0:? 'd25' (uniform float) -0:? 'd26' (uniform float) -0:? 'd27' (uniform float) -0:? 'd28' (uniform float) -0:? 'd29' (uniform float) -0:? 'd30' (uniform float) -0:? 'd31' (uniform float) -0:? 'd32' (uniform float) -0:? 'd33' (uniform float) -0:? 'd34' (uniform float) -0:? 'Count' (uniform int) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'bigColor1_1' ( uniform 4-component vector of float) +0:? 'bigColor1_2' ( uniform 4-component vector of float) +0:? 'bigColor1_3' ( uniform 4-component vector of float) +0:? 'bigColor2' ( uniform 4-component vector of float) +0:? 'bigColor3' ( uniform 4-component vector of float) +0:? 'bigColor4' ( uniform 4-component vector of float) +0:? 'bigColor5' ( uniform 4-component vector of float) +0:? 'bigColor6' ( uniform 4-component vector of float) +0:? 'bigColor7' ( uniform 4-component vector of float) +0:? 'bigColor8' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'd2' ( uniform float) +0:? 'd3' ( uniform float) +0:? 'd4' ( uniform float) +0:? 'd5' ( uniform float) +0:? 'd6' ( uniform float) +0:? 'd7' ( uniform float) +0:? 'd8' ( uniform float) +0:? 'd9' ( uniform float) +0:? 'd10' ( uniform float) +0:? 'd11' ( uniform float) +0:? 'd12' ( uniform float) +0:? 'd13' ( uniform float) +0:? 'd14' ( uniform float) +0:? 'd15' ( uniform float) +0:? 'd16' ( uniform float) +0:? 'd17' ( uniform float) +0:? 'd18' ( uniform float) +0:? 'd19' ( uniform float) +0:? 'd20' ( uniform float) +0:? 'd21' ( uniform float) +0:? 'd22' ( uniform float) +0:? 'd23' ( uniform float) +0:? 'd24' ( uniform float) +0:? 'd25' ( uniform float) +0:? 'd26' ( uniform float) +0:? 'd27' ( uniform float) +0:? 'd28' ( uniform float) +0:? 'd29' ( uniform float) +0:? 'd30' ( uniform float) +0:? 'd31' ( uniform float) +0:? 'd32' ( uniform float) +0:? 'd33' ( uniform float) +0:? 'd34' ( uniform float) +0:? 'Count' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loopsArtificial.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loopsArtificial.frag.out index 39fae13d4dd..0bb61c9a4be 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loopsArtificial.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/loopsArtificial.frag.out @@ -3,216 +3,216 @@ WARNING: 0:14: varying deprecated in version 130; may be removed in future relea Shader version: 130 0:? Sequence -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:55 Sequence 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 'BaseColor' (smooth in 4-component vector of float) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 'BaseColor' ( smooth in 4-component vector of float) 0:71 Loop with condition not tested first 0:71 Loop Condition -0:71 Compare Less Than (temp bool) -0:71 direct index (temp float) -0:71 'color' (temp 4-component vector of float) +0:71 Compare Less Than ( temp bool) +0:71 direct index ( temp float) +0:71 'color' ( temp 4-component vector of float) 0:71 Constant: 0:71 2 (const int) -0:71 'd4' (uniform float) +0:71 'd4' ( uniform float) 0:71 Loop Body 0:59 Sequence -0:59 add second child into first child (temp 4-component vector of float) -0:59 'color' (temp 4-component vector of float) -0:59 'bigColor4' (uniform 4-component vector of float) -0:60 Test condition and select (temp void) +0:59 add second child into first child ( temp 4-component vector of float) +0:59 'color' ( temp 4-component vector of float) +0:59 'bigColor4' ( uniform 4-component vector of float) +0:60 Test condition and select ( temp void) 0:60 Condition -0:60 Compare Less Than (temp bool) -0:60 direct index (temp float) -0:60 'color' (temp 4-component vector of float) +0:60 Compare Less Than ( temp bool) +0:60 direct index ( temp float) +0:60 'color' ( temp 4-component vector of float) 0:60 Constant: 0:60 0 (const int) -0:60 'd4' (uniform float) +0:60 'd4' ( uniform float) 0:60 true case 0:61 Sequence -0:61 add second child into first child (temp float) -0:61 direct index (temp float) -0:61 'color' (temp 4-component vector of float) +0:61 add second child into first child ( temp float) +0:61 direct index ( temp float) +0:61 'color' ( temp 4-component vector of float) 0:61 Constant: 0:61 2 (const int) 0:61 Constant: 0:61 2.000000 -0:62 Test condition and select (temp void) +0:62 Test condition and select ( temp void) 0:62 Condition -0:62 Compare Less Than (temp bool) -0:62 direct index (temp float) -0:62 'color' (temp 4-component vector of float) +0:62 Compare Less Than ( temp bool) +0:62 direct index ( temp float) +0:62 'color' ( temp 4-component vector of float) 0:62 Constant: 0:62 2 (const int) -0:62 'd4' (uniform float) +0:62 'd4' ( uniform float) 0:62 true case 0:63 Sequence -0:63 Post-Increment (temp float) -0:63 direct index (temp float) -0:63 'color' (temp 4-component vector of float) +0:63 Post-Increment ( temp float) +0:63 direct index ( temp float) +0:63 'color' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) 0:64 Branch: Continue -0:67 Test condition and select (temp void) +0:67 Test condition and select ( temp void) 0:67 Condition -0:67 Compare Less Than (temp bool) -0:67 direct index (temp float) -0:67 'color' (temp 4-component vector of float) +0:67 Compare Less Than ( temp bool) +0:67 direct index ( temp float) +0:67 'color' ( temp 4-component vector of float) 0:67 Constant: 0:67 1 (const int) -0:67 'd4' (uniform float) +0:67 'd4' ( uniform float) 0:67 true case -0:68 add second child into first child (temp float) -0:68 direct index (temp float) -0:68 'color' (temp 4-component vector of float) +0:68 add second child into first child ( temp float) +0:68 direct index ( temp float) +0:68 'color' ( temp 4-component vector of float) 0:68 Constant: 0:68 1 (const int) -0:68 'd4' (uniform float) +0:68 'd4' ( uniform float) 0:67 false case -0:70 add second child into first child (temp float) -0:70 direct index (temp float) -0:70 'color' (temp 4-component vector of float) +0:70 add second child into first child ( temp float) +0:70 direct index ( temp float) +0:70 'color' ( temp 4-component vector of float) 0:70 Constant: 0:70 0 (const int) -0:70 'd4' (uniform float) +0:70 'd4' ( uniform float) 0:74 Loop with condition tested first 0:74 Loop Condition -0:74 Compare Less Than (temp bool) -0:74 direct index (temp float) -0:74 'color' (temp 4-component vector of float) +0:74 Compare Less Than ( temp bool) +0:74 direct index ( temp float) +0:74 'color' ( temp 4-component vector of float) 0:74 Constant: 0:74 3 (const int) -0:74 'd13' (uniform float) +0:74 'd13' ( uniform float) 0:74 Loop Body 0:75 Sequence -0:75 Test condition and select (temp void) +0:75 Test condition and select ( temp void) 0:75 Condition -0:75 Compare Less Than (temp bool) -0:75 direct index (temp float) -0:75 'color' (temp 4-component vector of float) +0:75 Compare Less Than ( temp bool) +0:75 direct index ( temp float) +0:75 'color' ( temp 4-component vector of float) 0:75 Constant: 0:75 2 (const int) -0:75 'd13' (uniform float) +0:75 'd13' ( uniform float) 0:75 true case -0:76 Post-Increment (temp 4-component vector of float) -0:76 'color' (temp 4-component vector of float) +0:76 Post-Increment ( temp 4-component vector of float) +0:76 'color' ( temp 4-component vector of float) 0:75 false case -0:78 Post-Decrement (temp 4-component vector of float) -0:78 'color' (temp 4-component vector of float) -0:80 add second child into first child (temp 4-component vector of float) -0:80 'color' (temp 4-component vector of float) -0:80 'bigColor4' (uniform 4-component vector of float) -0:81 Test condition and select (temp void) +0:78 Post-Decrement ( temp 4-component vector of float) +0:78 'color' ( temp 4-component vector of float) +0:80 add second child into first child ( temp 4-component vector of float) +0:80 'color' ( temp 4-component vector of float) +0:80 'bigColor4' ( uniform 4-component vector of float) +0:81 Test condition and select ( temp void) 0:81 Condition -0:81 Compare Less Than (temp bool) -0:81 direct index (temp float) -0:81 'color' (temp 4-component vector of float) +0:81 Compare Less Than ( temp bool) +0:81 direct index ( temp float) +0:81 'color' ( temp 4-component vector of float) 0:81 Constant: 0:81 0 (const int) -0:81 'd4' (uniform float) +0:81 'd4' ( uniform float) 0:81 true case 0:82 Sequence -0:82 add second child into first child (temp float) -0:82 direct index (temp float) -0:82 'color' (temp 4-component vector of float) +0:82 add second child into first child ( temp float) +0:82 direct index ( temp float) +0:82 'color' ( temp 4-component vector of float) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 2.000000 -0:83 Test condition and select (temp void) +0:83 Test condition and select ( temp void) 0:83 Condition -0:83 Compare Less Than (temp bool) -0:83 direct index (temp float) -0:83 'color' (temp 4-component vector of float) +0:83 Compare Less Than ( temp bool) +0:83 direct index ( temp float) +0:83 'color' ( temp 4-component vector of float) 0:83 Constant: 0:83 2 (const int) -0:83 'd4' (uniform float) +0:83 'd4' ( uniform float) 0:83 true case 0:84 Sequence -0:84 Post-Increment (temp float) -0:84 direct index (temp float) -0:84 'color' (temp 4-component vector of float) +0:84 Post-Increment ( temp float) +0:84 direct index ( temp float) +0:84 'color' ( temp 4-component vector of float) 0:84 Constant: 0:84 0 (const int) 0:85 Branch: Continue -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition -0:88 Compare Less Than (temp bool) -0:88 direct index (temp float) -0:88 'color' (temp 4-component vector of float) +0:88 Compare Less Than ( temp bool) +0:88 direct index ( temp float) +0:88 'color' ( temp 4-component vector of float) 0:88 Constant: 0:88 1 (const int) -0:88 'd4' (uniform float) +0:88 'd4' ( uniform float) 0:88 true case -0:89 add second child into first child (temp float) -0:89 direct index (temp float) -0:89 'color' (temp 4-component vector of float) +0:89 add second child into first child ( temp float) +0:89 direct index ( temp float) +0:89 'color' ( temp 4-component vector of float) 0:89 Constant: 0:89 1 (const int) -0:89 'd4' (uniform float) +0:89 'd4' ( uniform float) 0:88 false case -0:91 add second child into first child (temp float) -0:91 direct index (temp float) -0:91 'color' (temp 4-component vector of float) +0:91 add second child into first child ( temp float) +0:91 direct index ( temp float) +0:91 'color' ( temp 4-component vector of float) 0:91 Constant: 0:91 0 (const int) -0:91 'd4' (uniform float) -0:94 Post-Increment (temp 4-component vector of float) -0:94 'color' (temp 4-component vector of float) -0:95 move second child to first child (temp 4-component vector of float) -0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:95 'color' (temp 4-component vector of float) +0:91 'd4' ( uniform float) +0:94 Post-Increment ( temp 4-component vector of float) +0:94 'color' ( temp 4-component vector of float) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:95 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'bigColor1_1' (uniform 4-component vector of float) -0:? 'bigColor1_2' (uniform 4-component vector of float) -0:? 'bigColor1_3' (uniform 4-component vector of float) -0:? 'bigColor2' (uniform 4-component vector of float) -0:? 'bigColor3' (uniform 4-component vector of float) -0:? 'bigColor4' (uniform 4-component vector of float) -0:? 'bigColor5' (uniform 4-component vector of float) -0:? 'bigColor6' (uniform 4-component vector of float) -0:? 'bigColor7' (uniform 4-component vector of float) -0:? 'bigColor8' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'd2' (uniform float) -0:? 'd3' (uniform float) -0:? 'd4' (uniform float) -0:? 'd5' (uniform float) -0:? 'd6' (uniform float) -0:? 'd7' (uniform float) -0:? 'd8' (uniform float) -0:? 'd9' (uniform float) -0:? 'd10' (uniform float) -0:? 'd11' (uniform float) -0:? 'd12' (uniform float) -0:? 'd13' (uniform float) -0:? 'd14' (uniform float) -0:? 'd15' (uniform float) -0:? 'd16' (uniform float) -0:? 'd17' (uniform float) -0:? 'd18' (uniform float) -0:? 'd19' (uniform float) -0:? 'd20' (uniform float) -0:? 'd21' (uniform float) -0:? 'd22' (uniform float) -0:? 'd23' (uniform float) -0:? 'd24' (uniform float) -0:? 'd25' (uniform float) -0:? 'd26' (uniform float) -0:? 'd27' (uniform float) -0:? 'd28' (uniform float) -0:? 'd29' (uniform float) -0:? 'd30' (uniform float) -0:? 'd31' (uniform float) -0:? 'd32' (uniform float) -0:? 'd33' (uniform float) -0:? 'd34' (uniform float) -0:? 'Count' (uniform int) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'bigColor1_1' ( uniform 4-component vector of float) +0:? 'bigColor1_2' ( uniform 4-component vector of float) +0:? 'bigColor1_3' ( uniform 4-component vector of float) +0:? 'bigColor2' ( uniform 4-component vector of float) +0:? 'bigColor3' ( uniform 4-component vector of float) +0:? 'bigColor4' ( uniform 4-component vector of float) +0:? 'bigColor5' ( uniform 4-component vector of float) +0:? 'bigColor6' ( uniform 4-component vector of float) +0:? 'bigColor7' ( uniform 4-component vector of float) +0:? 'bigColor8' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'd2' ( uniform float) +0:? 'd3' ( uniform float) +0:? 'd4' ( uniform float) +0:? 'd5' ( uniform float) +0:? 'd6' ( uniform float) +0:? 'd7' ( uniform float) +0:? 'd8' ( uniform float) +0:? 'd9' ( uniform float) +0:? 'd10' ( uniform float) +0:? 'd11' ( uniform float) +0:? 'd12' ( uniform float) +0:? 'd13' ( uniform float) +0:? 'd14' ( uniform float) +0:? 'd15' ( uniform float) +0:? 'd16' ( uniform float) +0:? 'd17' ( uniform float) +0:? 'd18' ( uniform float) +0:? 'd19' ( uniform float) +0:? 'd20' ( uniform float) +0:? 'd21' ( uniform float) +0:? 'd22' ( uniform float) +0:? 'd23' ( uniform float) +0:? 'd24' ( uniform float) +0:? 'd25' ( uniform float) +0:? 'd26' ( uniform float) +0:? 'd27' ( uniform float) +0:? 'd28' ( uniform float) +0:? 'd29' ( uniform float) +0:? 'd30' ( uniform float) +0:? 'd31' ( uniform float) +0:? 'd32' ( uniform float) +0:? 'd33' ( uniform float) +0:? 'd34' ( uniform float) +0:? 'Count' ( uniform int) Linked fragment stage: @@ -220,214 +220,214 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:53 Function Definition: main( (global void) +0:53 Function Definition: main( ( global void) 0:53 Function Parameters: 0:55 Sequence 0:55 Sequence -0:55 move second child to first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 'BaseColor' (smooth in 4-component vector of float) +0:55 move second child to first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 'BaseColor' ( smooth in 4-component vector of float) 0:71 Loop with condition not tested first 0:71 Loop Condition -0:71 Compare Less Than (temp bool) -0:71 direct index (temp float) -0:71 'color' (temp 4-component vector of float) +0:71 Compare Less Than ( temp bool) +0:71 direct index ( temp float) +0:71 'color' ( temp 4-component vector of float) 0:71 Constant: 0:71 2 (const int) -0:71 'd4' (uniform float) +0:71 'd4' ( uniform float) 0:71 Loop Body 0:59 Sequence -0:59 add second child into first child (temp 4-component vector of float) -0:59 'color' (temp 4-component vector of float) -0:59 'bigColor4' (uniform 4-component vector of float) -0:60 Test condition and select (temp void) +0:59 add second child into first child ( temp 4-component vector of float) +0:59 'color' ( temp 4-component vector of float) +0:59 'bigColor4' ( uniform 4-component vector of float) +0:60 Test condition and select ( temp void) 0:60 Condition -0:60 Compare Less Than (temp bool) -0:60 direct index (temp float) -0:60 'color' (temp 4-component vector of float) +0:60 Compare Less Than ( temp bool) +0:60 direct index ( temp float) +0:60 'color' ( temp 4-component vector of float) 0:60 Constant: 0:60 0 (const int) -0:60 'd4' (uniform float) +0:60 'd4' ( uniform float) 0:60 true case 0:61 Sequence -0:61 add second child into first child (temp float) -0:61 direct index (temp float) -0:61 'color' (temp 4-component vector of float) +0:61 add second child into first child ( temp float) +0:61 direct index ( temp float) +0:61 'color' ( temp 4-component vector of float) 0:61 Constant: 0:61 2 (const int) 0:61 Constant: 0:61 2.000000 -0:62 Test condition and select (temp void) +0:62 Test condition and select ( temp void) 0:62 Condition -0:62 Compare Less Than (temp bool) -0:62 direct index (temp float) -0:62 'color' (temp 4-component vector of float) +0:62 Compare Less Than ( temp bool) +0:62 direct index ( temp float) +0:62 'color' ( temp 4-component vector of float) 0:62 Constant: 0:62 2 (const int) -0:62 'd4' (uniform float) +0:62 'd4' ( uniform float) 0:62 true case 0:63 Sequence -0:63 Post-Increment (temp float) -0:63 direct index (temp float) -0:63 'color' (temp 4-component vector of float) +0:63 Post-Increment ( temp float) +0:63 direct index ( temp float) +0:63 'color' ( temp 4-component vector of float) 0:63 Constant: 0:63 0 (const int) 0:64 Branch: Continue -0:67 Test condition and select (temp void) +0:67 Test condition and select ( temp void) 0:67 Condition -0:67 Compare Less Than (temp bool) -0:67 direct index (temp float) -0:67 'color' (temp 4-component vector of float) +0:67 Compare Less Than ( temp bool) +0:67 direct index ( temp float) +0:67 'color' ( temp 4-component vector of float) 0:67 Constant: 0:67 1 (const int) -0:67 'd4' (uniform float) +0:67 'd4' ( uniform float) 0:67 true case -0:68 add second child into first child (temp float) -0:68 direct index (temp float) -0:68 'color' (temp 4-component vector of float) +0:68 add second child into first child ( temp float) +0:68 direct index ( temp float) +0:68 'color' ( temp 4-component vector of float) 0:68 Constant: 0:68 1 (const int) -0:68 'd4' (uniform float) +0:68 'd4' ( uniform float) 0:67 false case -0:70 add second child into first child (temp float) -0:70 direct index (temp float) -0:70 'color' (temp 4-component vector of float) +0:70 add second child into first child ( temp float) +0:70 direct index ( temp float) +0:70 'color' ( temp 4-component vector of float) 0:70 Constant: 0:70 0 (const int) -0:70 'd4' (uniform float) +0:70 'd4' ( uniform float) 0:74 Loop with condition tested first 0:74 Loop Condition -0:74 Compare Less Than (temp bool) -0:74 direct index (temp float) -0:74 'color' (temp 4-component vector of float) +0:74 Compare Less Than ( temp bool) +0:74 direct index ( temp float) +0:74 'color' ( temp 4-component vector of float) 0:74 Constant: 0:74 3 (const int) -0:74 'd13' (uniform float) +0:74 'd13' ( uniform float) 0:74 Loop Body 0:75 Sequence -0:75 Test condition and select (temp void) +0:75 Test condition and select ( temp void) 0:75 Condition -0:75 Compare Less Than (temp bool) -0:75 direct index (temp float) -0:75 'color' (temp 4-component vector of float) +0:75 Compare Less Than ( temp bool) +0:75 direct index ( temp float) +0:75 'color' ( temp 4-component vector of float) 0:75 Constant: 0:75 2 (const int) -0:75 'd13' (uniform float) +0:75 'd13' ( uniform float) 0:75 true case -0:76 Post-Increment (temp 4-component vector of float) -0:76 'color' (temp 4-component vector of float) +0:76 Post-Increment ( temp 4-component vector of float) +0:76 'color' ( temp 4-component vector of float) 0:75 false case -0:78 Post-Decrement (temp 4-component vector of float) -0:78 'color' (temp 4-component vector of float) -0:80 add second child into first child (temp 4-component vector of float) -0:80 'color' (temp 4-component vector of float) -0:80 'bigColor4' (uniform 4-component vector of float) -0:81 Test condition and select (temp void) +0:78 Post-Decrement ( temp 4-component vector of float) +0:78 'color' ( temp 4-component vector of float) +0:80 add second child into first child ( temp 4-component vector of float) +0:80 'color' ( temp 4-component vector of float) +0:80 'bigColor4' ( uniform 4-component vector of float) +0:81 Test condition and select ( temp void) 0:81 Condition -0:81 Compare Less Than (temp bool) -0:81 direct index (temp float) -0:81 'color' (temp 4-component vector of float) +0:81 Compare Less Than ( temp bool) +0:81 direct index ( temp float) +0:81 'color' ( temp 4-component vector of float) 0:81 Constant: 0:81 0 (const int) -0:81 'd4' (uniform float) +0:81 'd4' ( uniform float) 0:81 true case 0:82 Sequence -0:82 add second child into first child (temp float) -0:82 direct index (temp float) -0:82 'color' (temp 4-component vector of float) +0:82 add second child into first child ( temp float) +0:82 direct index ( temp float) +0:82 'color' ( temp 4-component vector of float) 0:82 Constant: 0:82 2 (const int) 0:82 Constant: 0:82 2.000000 -0:83 Test condition and select (temp void) +0:83 Test condition and select ( temp void) 0:83 Condition -0:83 Compare Less Than (temp bool) -0:83 direct index (temp float) -0:83 'color' (temp 4-component vector of float) +0:83 Compare Less Than ( temp bool) +0:83 direct index ( temp float) +0:83 'color' ( temp 4-component vector of float) 0:83 Constant: 0:83 2 (const int) -0:83 'd4' (uniform float) +0:83 'd4' ( uniform float) 0:83 true case 0:84 Sequence -0:84 Post-Increment (temp float) -0:84 direct index (temp float) -0:84 'color' (temp 4-component vector of float) +0:84 Post-Increment ( temp float) +0:84 direct index ( temp float) +0:84 'color' ( temp 4-component vector of float) 0:84 Constant: 0:84 0 (const int) 0:85 Branch: Continue -0:88 Test condition and select (temp void) +0:88 Test condition and select ( temp void) 0:88 Condition -0:88 Compare Less Than (temp bool) -0:88 direct index (temp float) -0:88 'color' (temp 4-component vector of float) +0:88 Compare Less Than ( temp bool) +0:88 direct index ( temp float) +0:88 'color' ( temp 4-component vector of float) 0:88 Constant: 0:88 1 (const int) -0:88 'd4' (uniform float) +0:88 'd4' ( uniform float) 0:88 true case -0:89 add second child into first child (temp float) -0:89 direct index (temp float) -0:89 'color' (temp 4-component vector of float) +0:89 add second child into first child ( temp float) +0:89 direct index ( temp float) +0:89 'color' ( temp 4-component vector of float) 0:89 Constant: 0:89 1 (const int) -0:89 'd4' (uniform float) +0:89 'd4' ( uniform float) 0:88 false case -0:91 add second child into first child (temp float) -0:91 direct index (temp float) -0:91 'color' (temp 4-component vector of float) +0:91 add second child into first child ( temp float) +0:91 direct index ( temp float) +0:91 'color' ( temp 4-component vector of float) 0:91 Constant: 0:91 0 (const int) -0:91 'd4' (uniform float) -0:94 Post-Increment (temp 4-component vector of float) -0:94 'color' (temp 4-component vector of float) -0:95 move second child to first child (temp 4-component vector of float) -0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:95 'color' (temp 4-component vector of float) +0:91 'd4' ( uniform float) +0:94 Post-Increment ( temp 4-component vector of float) +0:94 'color' ( temp 4-component vector of float) +0:95 move second child to first child ( temp 4-component vector of float) +0:95 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:95 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'bigColor1_1' (uniform 4-component vector of float) -0:? 'bigColor1_2' (uniform 4-component vector of float) -0:? 'bigColor1_3' (uniform 4-component vector of float) -0:? 'bigColor2' (uniform 4-component vector of float) -0:? 'bigColor3' (uniform 4-component vector of float) -0:? 'bigColor4' (uniform 4-component vector of float) -0:? 'bigColor5' (uniform 4-component vector of float) -0:? 'bigColor6' (uniform 4-component vector of float) -0:? 'bigColor7' (uniform 4-component vector of float) -0:? 'bigColor8' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'd2' (uniform float) -0:? 'd3' (uniform float) -0:? 'd4' (uniform float) -0:? 'd5' (uniform float) -0:? 'd6' (uniform float) -0:? 'd7' (uniform float) -0:? 'd8' (uniform float) -0:? 'd9' (uniform float) -0:? 'd10' (uniform float) -0:? 'd11' (uniform float) -0:? 'd12' (uniform float) -0:? 'd13' (uniform float) -0:? 'd14' (uniform float) -0:? 'd15' (uniform float) -0:? 'd16' (uniform float) -0:? 'd17' (uniform float) -0:? 'd18' (uniform float) -0:? 'd19' (uniform float) -0:? 'd20' (uniform float) -0:? 'd21' (uniform float) -0:? 'd22' (uniform float) -0:? 'd23' (uniform float) -0:? 'd24' (uniform float) -0:? 'd25' (uniform float) -0:? 'd26' (uniform float) -0:? 'd27' (uniform float) -0:? 'd28' (uniform float) -0:? 'd29' (uniform float) -0:? 'd30' (uniform float) -0:? 'd31' (uniform float) -0:? 'd32' (uniform float) -0:? 'd33' (uniform float) -0:? 'd34' (uniform float) -0:? 'Count' (uniform int) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'bigColor1_1' ( uniform 4-component vector of float) +0:? 'bigColor1_2' ( uniform 4-component vector of float) +0:? 'bigColor1_3' ( uniform 4-component vector of float) +0:? 'bigColor2' ( uniform 4-component vector of float) +0:? 'bigColor3' ( uniform 4-component vector of float) +0:? 'bigColor4' ( uniform 4-component vector of float) +0:? 'bigColor5' ( uniform 4-component vector of float) +0:? 'bigColor6' ( uniform 4-component vector of float) +0:? 'bigColor7' ( uniform 4-component vector of float) +0:? 'bigColor8' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'd2' ( uniform float) +0:? 'd3' ( uniform float) +0:? 'd4' ( uniform float) +0:? 'd5' ( uniform float) +0:? 'd6' ( uniform float) +0:? 'd7' ( uniform float) +0:? 'd8' ( uniform float) +0:? 'd9' ( uniform float) +0:? 'd10' ( uniform float) +0:? 'd11' ( uniform float) +0:? 'd12' ( uniform float) +0:? 'd13' ( uniform float) +0:? 'd14' ( uniform float) +0:? 'd15' ( uniform float) +0:? 'd16' ( uniform float) +0:? 'd17' ( uniform float) +0:? 'd18' ( uniform float) +0:? 'd19' ( uniform float) +0:? 'd20' ( uniform float) +0:? 'd21' ( uniform float) +0:? 'd22' ( uniform float) +0:? 'd23' ( uniform float) +0:? 'd24' ( uniform float) +0:? 'd25' ( uniform float) +0:? 'd26' ( uniform float) +0:? 'd27' ( uniform float) +0:? 'd28' ( uniform float) +0:? 'd29' ( uniform float) +0:? 'd30' ( uniform float) +0:? 'd31' ( uniform float) +0:? 'd32' ( uniform float) +0:? 'd33' ( uniform float) +0:? 'd34' ( uniform float) +0:? 'Count' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/mains1.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/mains1.frag.out index 95e98e40ba9..3b318b6260b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/mains1.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/mains1.frag.out @@ -1,14 +1,14 @@ mains1.frag Shader version: 110 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Linker Objects mains2.frag Shader version: 110 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Linker Objects @@ -23,7 +23,7 @@ max_vertices = -1 input primitive = none output primitive = points ERROR: node is still EOpNull! -0:3 Function Definition: foo( (global void) +0:3 Function Definition: foo( ( global void) 0:3 Function Parameters: 0:? Linker Objects @@ -34,7 +34,7 @@ max_vertices = -1 input primitive = none output primitive = line_strip 0:? Sequence -0:3 Function Definition: bar( (global void) +0:3 Function Definition: bar( ( global void) 0:3 Function Parameters: 0:? Linker Objects @@ -61,9 +61,9 @@ ERROR: node is still EOpNull! 0:? Linker Objects Shader version: 110 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix.frag.out index 14c3548b14c..f3bea4b2262 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix.frag.out @@ -5,252 +5,252 @@ WARNING: 0:22: varying deprecated in version 130; may be removed in future relea Shader version: 130 0:? Sequence -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 direct index (temp 4-component vector of float) -0:27 'un34' (uniform 4X4 matrix of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 direct index ( temp 4-component vector of float) +0:27 'un34' ( uniform 4X4 matrix of float) 0:27 Constant: 0:27 1 (const int) -0:28 add second child into first child (temp 4-component vector of float) -0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:28 Construct vec4 (temp 4-component vector of float) -0:28 vector-times-matrix (temp 3-component vector of float) -0:28 'Color' (smooth in 3-component vector of float) -0:28 'colorTransform' (uniform 3X3 matrix of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:28 Construct vec4 ( temp 4-component vector of float) +0:28 vector-times-matrix ( temp 3-component vector of float) +0:28 'Color' ( smooth in 3-component vector of float) +0:28 'colorTransform' ( uniform 3X3 matrix of float) 0:28 Constant: 0:28 1.000000 -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Not Equal (temp bool) -0:30 'm' (uniform 4X4 matrix of float) -0:30 'n' (uniform 4X4 matrix of float) +0:30 Compare Not Equal ( temp bool) +0:30 'm' ( uniform 4X4 matrix of float) +0:30 'n' ( uniform 4X4 matrix of float) 0:30 true case -0:31 add second child into first child (temp 4-component vector of float) -0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:31 'v' (smooth in 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:31 'v' ( smooth in 4-component vector of float) 0:30 false case 0:33 Sequence -0:33 add second child into first child (temp 4-component vector of float) -0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:33 matrix-times-vector (temp 4-component vector of float) -0:33 'm' (uniform 4X4 matrix of float) -0:33 'v' (smooth in 4-component vector of float) -0:34 add second child into first child (temp 4-component vector of float) -0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:34 vector-times-matrix (temp 4-component vector of float) -0:34 'v' (smooth in 4-component vector of float) -0:34 subtract (temp 4X4 matrix of float) -0:34 'm' (uniform 4X4 matrix of float) -0:34 'n' (uniform 4X4 matrix of float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:33 matrix-times-vector ( temp 4-component vector of float) +0:33 'm' ( uniform 4X4 matrix of float) +0:33 'v' ( smooth in 4-component vector of float) +0:34 add second child into first child ( temp 4-component vector of float) +0:34 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:34 vector-times-matrix ( temp 4-component vector of float) +0:34 'v' ( smooth in 4-component vector of float) +0:34 subtract ( temp 4X4 matrix of float) +0:34 'm' ( uniform 4X4 matrix of float) +0:34 'n' ( uniform 4X4 matrix of float) 0:42 Sequence -0:42 move second child to first child (temp 4X4 matrix of float) -0:42 'm34' (temp 4X4 matrix of float) -0:45 Construct mat4 (temp 4X4 matrix of float) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 move second child to first child ( temp 4X4 matrix of float) +0:42 'm34' ( temp 4X4 matrix of float) +0:45 Construct mat4 ( temp 4X4 matrix of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 1 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 2 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 3 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 0 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 2 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 3 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 0 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 1 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 3 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 0 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 1 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 2 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:46 add second child into first child (temp 4X4 matrix of float) -0:46 'm34' (temp 4X4 matrix of float) -0:46 Construct mat4 (temp 4X4 matrix of float) -0:46 direct index (temp float) -0:46 'v' (smooth in 4-component vector of float) +0:46 add second child into first child ( temp 4X4 matrix of float) +0:46 'm34' ( temp 4X4 matrix of float) +0:46 Construct mat4 ( temp 4X4 matrix of float) +0:46 direct index ( temp float) +0:46 'v' ( smooth in 4-component vector of float) 0:46 Constant: 0:46 0 (const int) -0:47 add second child into first child (temp 4X4 matrix of float) -0:47 'm34' (temp 4X4 matrix of float) -0:47 Construct mat4 (temp 4X4 matrix of float) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 add second child into first child ( temp 4X4 matrix of float) +0:47 'm34' ( temp 4X4 matrix of float) +0:47 Construct mat4 ( temp 4X4 matrix of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition -0:51 Compare Equal (temp bool) -0:51 'm34' (temp 4X4 matrix of float) -0:51 'un34' (uniform 4X4 matrix of float) +0:51 Compare Equal ( temp bool) +0:51 'm34' ( temp 4X4 matrix of float) +0:51 'un34' ( uniform 4X4 matrix of float) 0:51 true case -0:52 add second child into first child (temp 4-component vector of float) -0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:52 matrix-times-vector (temp 4-component vector of float) -0:52 'm34' (temp 4X4 matrix of float) -0:52 'u' (smooth in 4-component vector of float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:52 matrix-times-vector ( temp 4-component vector of float) +0:52 'm34' ( temp 4X4 matrix of float) +0:52 'u' ( smooth in 4-component vector of float) 0:51 false case -0:54 add second child into first child (temp 4-component vector of float) -0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:54 matrix-times-vector (temp 4-component vector of float) -0:54 matrix-multiply (temp 4X4 matrix of float) -0:54 'un34' (uniform 4X4 matrix of float) -0:54 'um43' (uniform 4X4 matrix of float) -0:54 'v' (smooth in 4-component vector of float) +0:54 add second child into first child ( temp 4-component vector of float) +0:54 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:54 matrix-times-vector ( temp 4-component vector of float) +0:54 matrix-multiply ( temp 4X4 matrix of float) +0:54 'un34' ( uniform 4X4 matrix of float) +0:54 'um43' ( uniform 4X4 matrix of float) +0:54 'v' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'colorTransform' (uniform 3X3 matrix of float) -0:? 'Color' (smooth in 3-component vector of float) -0:? 'm' (uniform 4X4 matrix of float) -0:? 'n' (uniform 4X4 matrix of float) -0:? 'um43' (uniform 4X4 matrix of float) -0:? 'un34' (uniform 4X4 matrix of float) -0:? 'v' (smooth in 4-component vector of float) -0:? 'u' (smooth in 4-component vector of float) +0:? 'colorTransform' ( uniform 3X3 matrix of float) +0:? 'Color' ( smooth in 3-component vector of float) +0:? 'm' ( uniform 4X4 matrix of float) +0:? 'n' ( uniform 4X4 matrix of float) +0:? 'um43' ( uniform 4X4 matrix of float) +0:? 'un34' ( uniform 4X4 matrix of float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'u' ( smooth in 4-component vector of float) Linked fragment stage: @@ -258,250 +258,250 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 move second child to first child (temp 4-component vector of float) -0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:27 Construct vec4 (temp 4-component vector of float) -0:27 direct index (temp 4-component vector of float) -0:27 'un34' (uniform 4X4 matrix of float) +0:27 move second child to first child ( temp 4-component vector of float) +0:27 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:27 Construct vec4 ( temp 4-component vector of float) +0:27 direct index ( temp 4-component vector of float) +0:27 'un34' ( uniform 4X4 matrix of float) 0:27 Constant: 0:27 1 (const int) -0:28 add second child into first child (temp 4-component vector of float) -0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:28 Construct vec4 (temp 4-component vector of float) -0:28 vector-times-matrix (temp 3-component vector of float) -0:28 'Color' (smooth in 3-component vector of float) -0:28 'colorTransform' (uniform 3X3 matrix of float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:28 Construct vec4 ( temp 4-component vector of float) +0:28 vector-times-matrix ( temp 3-component vector of float) +0:28 'Color' ( smooth in 3-component vector of float) +0:28 'colorTransform' ( uniform 3X3 matrix of float) 0:28 Constant: 0:28 1.000000 -0:30 Test condition and select (temp void) +0:30 Test condition and select ( temp void) 0:30 Condition -0:30 Compare Not Equal (temp bool) -0:30 'm' (uniform 4X4 matrix of float) -0:30 'n' (uniform 4X4 matrix of float) +0:30 Compare Not Equal ( temp bool) +0:30 'm' ( uniform 4X4 matrix of float) +0:30 'n' ( uniform 4X4 matrix of float) 0:30 true case -0:31 add second child into first child (temp 4-component vector of float) -0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:31 'v' (smooth in 4-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:31 'v' ( smooth in 4-component vector of float) 0:30 false case 0:33 Sequence -0:33 add second child into first child (temp 4-component vector of float) -0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:33 matrix-times-vector (temp 4-component vector of float) -0:33 'm' (uniform 4X4 matrix of float) -0:33 'v' (smooth in 4-component vector of float) -0:34 add second child into first child (temp 4-component vector of float) -0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:34 vector-times-matrix (temp 4-component vector of float) -0:34 'v' (smooth in 4-component vector of float) -0:34 subtract (temp 4X4 matrix of float) -0:34 'm' (uniform 4X4 matrix of float) -0:34 'n' (uniform 4X4 matrix of float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:33 matrix-times-vector ( temp 4-component vector of float) +0:33 'm' ( uniform 4X4 matrix of float) +0:33 'v' ( smooth in 4-component vector of float) +0:34 add second child into first child ( temp 4-component vector of float) +0:34 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:34 vector-times-matrix ( temp 4-component vector of float) +0:34 'v' ( smooth in 4-component vector of float) +0:34 subtract ( temp 4X4 matrix of float) +0:34 'm' ( uniform 4X4 matrix of float) +0:34 'n' ( uniform 4X4 matrix of float) 0:42 Sequence -0:42 move second child to first child (temp 4X4 matrix of float) -0:42 'm34' (temp 4X4 matrix of float) -0:45 Construct mat4 (temp 4X4 matrix of float) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 move second child to first child ( temp 4X4 matrix of float) +0:42 'm34' ( temp 4X4 matrix of float) +0:45 Construct mat4 ( temp 4X4 matrix of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 1 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 2 (const int) -0:42 component-wise multiply (temp float) -0:42 direct index (temp float) -0:42 'v' (smooth in 4-component vector of float) +0:42 component-wise multiply ( temp float) +0:42 direct index ( temp float) +0:42 'v' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 'u' (smooth in 4-component vector of float) +0:42 direct index ( temp float) +0:42 'u' ( smooth in 4-component vector of float) 0:42 Constant: 0:42 3 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 0 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 2 (const int) -0:43 component-wise multiply (temp float) -0:43 direct index (temp float) -0:43 'v' (smooth in 4-component vector of float) +0:43 component-wise multiply ( temp float) +0:43 direct index ( temp float) +0:43 'v' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 1 (const int) -0:43 direct index (temp float) -0:43 'u' (smooth in 4-component vector of float) +0:43 direct index ( temp float) +0:43 'u' ( smooth in 4-component vector of float) 0:43 Constant: 0:43 3 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 0 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 1 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 component-wise multiply (temp float) -0:44 direct index (temp float) -0:44 'v' (smooth in 4-component vector of float) +0:44 component-wise multiply ( temp float) +0:44 direct index ( temp float) +0:44 'v' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 2 (const int) -0:44 direct index (temp float) -0:44 'u' (smooth in 4-component vector of float) +0:44 direct index ( temp float) +0:44 'u' ( smooth in 4-component vector of float) 0:44 Constant: 0:44 3 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 0 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 1 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 2 (const int) -0:45 component-wise multiply (temp float) -0:45 direct index (temp float) -0:45 'v' (smooth in 4-component vector of float) +0:45 component-wise multiply ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:45 direct index (temp float) -0:45 'u' (smooth in 4-component vector of float) +0:45 direct index ( temp float) +0:45 'u' ( smooth in 4-component vector of float) 0:45 Constant: 0:45 3 (const int) -0:46 add second child into first child (temp 4X4 matrix of float) -0:46 'm34' (temp 4X4 matrix of float) -0:46 Construct mat4 (temp 4X4 matrix of float) -0:46 direct index (temp float) -0:46 'v' (smooth in 4-component vector of float) +0:46 add second child into first child ( temp 4X4 matrix of float) +0:46 'm34' ( temp 4X4 matrix of float) +0:46 Construct mat4 ( temp 4X4 matrix of float) +0:46 direct index ( temp float) +0:46 'v' ( smooth in 4-component vector of float) 0:46 Constant: 0:46 0 (const int) -0:47 add second child into first child (temp 4X4 matrix of float) -0:47 'm34' (temp 4X4 matrix of float) -0:47 Construct mat4 (temp 4X4 matrix of float) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 add second child into first child ( temp 4X4 matrix of float) +0:47 'm34' ( temp 4X4 matrix of float) +0:47 Construct mat4 ( temp 4X4 matrix of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 'u' (smooth in 4-component vector of float) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 'u' ( smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:47 direct index (temp float) -0:47 'u' (smooth in 4-component vector of float) +0:47 direct index ( temp float) +0:47 'u' ( smooth in 4-component vector of float) 0:47 Constant: 0:47 0 (const int) -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition -0:51 Compare Equal (temp bool) -0:51 'm34' (temp 4X4 matrix of float) -0:51 'un34' (uniform 4X4 matrix of float) +0:51 Compare Equal ( temp bool) +0:51 'm34' ( temp 4X4 matrix of float) +0:51 'un34' ( uniform 4X4 matrix of float) 0:51 true case -0:52 add second child into first child (temp 4-component vector of float) -0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:52 matrix-times-vector (temp 4-component vector of float) -0:52 'm34' (temp 4X4 matrix of float) -0:52 'u' (smooth in 4-component vector of float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:52 matrix-times-vector ( temp 4-component vector of float) +0:52 'm34' ( temp 4X4 matrix of float) +0:52 'u' ( smooth in 4-component vector of float) 0:51 false case -0:54 add second child into first child (temp 4-component vector of float) -0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:54 matrix-times-vector (temp 4-component vector of float) -0:54 matrix-multiply (temp 4X4 matrix of float) -0:54 'un34' (uniform 4X4 matrix of float) -0:54 'um43' (uniform 4X4 matrix of float) -0:54 'v' (smooth in 4-component vector of float) +0:54 add second child into first child ( temp 4-component vector of float) +0:54 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:54 matrix-times-vector ( temp 4-component vector of float) +0:54 matrix-multiply ( temp 4X4 matrix of float) +0:54 'un34' ( uniform 4X4 matrix of float) +0:54 'um43' ( uniform 4X4 matrix of float) +0:54 'v' ( smooth in 4-component vector of float) 0:? Linker Objects -0:? 'colorTransform' (uniform 3X3 matrix of float) -0:? 'Color' (smooth in 3-component vector of float) -0:? 'm' (uniform 4X4 matrix of float) -0:? 'n' (uniform 4X4 matrix of float) -0:? 'um43' (uniform 4X4 matrix of float) -0:? 'un34' (uniform 4X4 matrix of float) -0:? 'v' (smooth in 4-component vector of float) -0:? 'u' (smooth in 4-component vector of float) +0:? 'colorTransform' ( uniform 3X3 matrix of float) +0:? 'Color' ( smooth in 3-component vector of float) +0:? 'm' ( uniform 4X4 matrix of float) +0:? 'n' ( uniform 4X4 matrix of float) +0:? 'um43' ( uniform 4X4 matrix of float) +0:? 'un34' ( uniform 4X4 matrix of float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'u' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix2.frag.out index d09dec0bf18..880f75adcdb 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrix2.frag.out @@ -5,17 +5,17 @@ WARNING: 0:15: varying deprecated in version 130; may be removed in future relea Shader version: 150 0:? Sequence -0:19 Function Definition: main( (global void) +0:19 Function Definition: main( ( global void) 0:19 Function Parameters: 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp 3X4 matrix of float) -0:21 'm34' (temp 3X4 matrix of float) -0:21 outer product (global 3X4 matrix of float) -0:21 'v' (smooth in 4-component vector of float) -0:21 'u' (smooth in 3-component vector of float) -0:23 add second child into first child (temp 3X4 matrix of float) -0:23 'm34' (temp 3X4 matrix of float) +0:21 move second child to first child ( temp 3X4 matrix of float) +0:21 'm34' ( temp 3X4 matrix of float) +0:21 outer product ( global 3X4 matrix of float) +0:21 'v' ( smooth in 4-component vector of float) +0:21 'u' ( smooth in 3-component vector of float) +0:23 add second child into first child ( temp 3X4 matrix of float) +0:23 'm34' ( temp 3X4 matrix of float) 0:23 Constant: 0:23 4.300000 0:23 0.000000 @@ -29,148 +29,148 @@ Shader version: 150 0:23 0.000000 0:23 4.300000 0:23 0.000000 -0:25 move second child to first child (temp 4-component vector of float) -0:25 'FragColor' (out 4-component vector of float) -0:25 Construct vec4 (temp 4-component vector of float) -0:25 'Color' (smooth in 3-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'FragColor' ( out 4-component vector of float) +0:25 Construct vec4 ( temp 4-component vector of float) +0:25 'Color' ( smooth in 3-component vector of float) 0:25 Constant: 0:25 1.000000 -0:26 multiply second child into first child (temp 4-component vector of float) -0:26 'FragColor' (out 4-component vector of float) -0:26 Construct vec4 (temp 4-component vector of float) -0:26 vector-times-matrix (temp 3-component vector of float) -0:26 'FragColor' (out 4-component vector of float) -0:26 'm34' (temp 3X4 matrix of float) +0:26 multiply second child into first child ( temp 4-component vector of float) +0:26 'FragColor' ( out 4-component vector of float) +0:26 Construct vec4 ( temp 4-component vector of float) +0:26 vector-times-matrix ( temp 3-component vector of float) +0:26 'FragColor' ( out 4-component vector of float) +0:26 'm34' ( temp 3X4 matrix of float) 0:26 Constant: 0:26 1.000000 -0:28 matrix scale second child into first child (temp 3X4 matrix of float) -0:28 'm34' (temp 3X4 matrix of float) -0:28 direct index (temp float) -0:28 'v' (smooth in 4-component vector of float) +0:28 matrix scale second child into first child ( temp 3X4 matrix of float) +0:28 'm34' ( temp 3X4 matrix of float) +0:28 direct index ( temp float) +0:28 'v' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp 4X4 matrix of float) -0:30 'm44' (temp 4X4 matrix of float) -0:30 Construct mat4 (temp 4X4 matrix of float) -0:30 'un34' (uniform 3X4 matrix of float) -0:32 add second child into first child (temp 4X4 matrix of float) -0:32 'm44' (temp 4X4 matrix of float) -0:32 matrix-multiply (temp 4X4 matrix of float) -0:32 'm34' (temp 3X4 matrix of float) -0:32 'um43' (uniform 4X3 matrix of float) -0:34 add second child into first child (temp 4-component vector of float) -0:34 'FragColor' (out 4-component vector of float) -0:34 matrix-times-vector (temp 4-component vector of float) -0:34 Negate value (temp 4X4 matrix of float) -0:34 'm44' (temp 4X4 matrix of float) -0:34 'v' (smooth in 4-component vector of float) -0:36 matrix mult second child into first child (temp 4-component vector of float) -0:36 'FragColor' (out 4-component vector of float) -0:36 component-wise multiply (global 4X4 matrix of float) -0:36 'm44' (temp 4X4 matrix of float) -0:36 'm44' (temp 4X4 matrix of float) -0:38 move second child to first child (temp 3X4 matrix of float) -0:38 'm34' (temp 3X4 matrix of float) -0:38 transpose (global 3X4 matrix of float) -0:38 'um43' (uniform 4X3 matrix of float) -0:39 multiply second child into first child (temp 4-component vector of float) -0:39 'FragColor' (out 4-component vector of float) -0:39 Construct vec4 (temp 4-component vector of float) -0:39 vector-times-matrix (temp 3-component vector of float) -0:39 'FragColor' (out 4-component vector of float) -0:39 'm34' (temp 3X4 matrix of float) +0:30 move second child to first child ( temp 4X4 matrix of float) +0:30 'm44' ( temp 4X4 matrix of float) +0:30 Construct mat4 ( temp 4X4 matrix of float) +0:30 'un34' ( uniform 3X4 matrix of float) +0:32 add second child into first child ( temp 4X4 matrix of float) +0:32 'm44' ( temp 4X4 matrix of float) +0:32 matrix-multiply ( temp 4X4 matrix of float) +0:32 'm34' ( temp 3X4 matrix of float) +0:32 'um43' ( uniform 4X3 matrix of float) +0:34 add second child into first child ( temp 4-component vector of float) +0:34 'FragColor' ( out 4-component vector of float) +0:34 matrix-times-vector ( temp 4-component vector of float) +0:34 Negate value ( temp 4X4 matrix of float) +0:34 'm44' ( temp 4X4 matrix of float) +0:34 'v' ( smooth in 4-component vector of float) +0:36 matrix mult second child into first child ( temp 4-component vector of float) +0:36 'FragColor' ( out 4-component vector of float) +0:36 component-wise multiply ( global 4X4 matrix of float) +0:36 'm44' ( temp 4X4 matrix of float) +0:36 'm44' ( temp 4X4 matrix of float) +0:38 move second child to first child ( temp 3X4 matrix of float) +0:38 'm34' ( temp 3X4 matrix of float) +0:38 transpose ( global 3X4 matrix of float) +0:38 'um43' ( uniform 4X3 matrix of float) +0:39 multiply second child into first child ( temp 4-component vector of float) +0:39 'FragColor' ( out 4-component vector of float) +0:39 Construct vec4 ( temp 4-component vector of float) +0:39 vector-times-matrix ( temp 3-component vector of float) +0:39 'FragColor' ( out 4-component vector of float) +0:39 'm34' ( temp 3X4 matrix of float) 0:39 Constant: 0:39 1.000000 -0:40 multiply second child into first child (temp 4-component vector of float) -0:40 'FragColor' (out 4-component vector of float) -0:40 Construct vec4 (temp 4-component vector of float) -0:40 determinant (global float) -0:40 'um4' (uniform 4X4 matrix of float) +0:40 multiply second child into first child ( temp 4-component vector of float) +0:40 'FragColor' ( out 4-component vector of float) +0:40 Construct vec4 ( temp 4-component vector of float) +0:40 determinant ( global float) +0:40 'um4' ( uniform 4X4 matrix of float) 0:41 Sequence -0:41 move second child to first child (temp 2X2 matrix of float) -0:41 'inv' (temp 2X2 matrix of float) -0:41 inverse (global 2X2 matrix of float) -0:41 'um2' (uniform 2X2 matrix of float) -0:42 multiply second child into first child (temp 4-component vector of float) -0:42 'FragColor' (out 4-component vector of float) -0:42 Construct vec4 (temp 4-component vector of float) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:41 move second child to first child ( temp 2X2 matrix of float) +0:41 'inv' ( temp 2X2 matrix of float) +0:41 inverse ( global 2X2 matrix of float) +0:41 'um2' ( uniform 2X2 matrix of float) +0:42 multiply second child into first child ( temp 4-component vector of float) +0:42 'FragColor' ( out 4-component vector of float) +0:42 Construct vec4 ( temp 4-component vector of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 0 (const int) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 1 (const int) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 0 (const int) 0:42 Constant: 0:42 1 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 1 (const int) 0:42 Constant: 0:42 1 (const int) 0:43 Sequence -0:43 move second child to first child (temp 3X3 matrix of float) -0:43 'inv3' (temp 3X3 matrix of float) -0:43 inverse (global 3X3 matrix of float) -0:43 'um3' (uniform 3X3 matrix of float) -0:44 multiply second child into first child (temp 4-component vector of float) -0:44 'FragColor' (out 4-component vector of float) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 direct index (temp float) -0:44 direct index (temp 3-component vector of float) -0:44 'inv3' (temp 3X3 matrix of float) +0:43 move second child to first child ( temp 3X3 matrix of float) +0:43 'inv3' ( temp 3X3 matrix of float) +0:43 inverse ( global 3X3 matrix of float) +0:43 'um3' ( uniform 3X3 matrix of float) +0:44 multiply second child into first child ( temp 4-component vector of float) +0:44 'FragColor' ( out 4-component vector of float) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 direct index ( temp float) +0:44 direct index ( temp 3-component vector of float) +0:44 'inv3' ( temp 3X3 matrix of float) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 1 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4X4 matrix of float) -0:46 'inv4' (temp 4X4 matrix of float) -0:46 inverse (global 4X4 matrix of float) -0:46 'um4' (uniform 4X4 matrix of float) -0:47 matrix mult second child into first child (temp 4-component vector of float) -0:47 'FragColor' (out 4-component vector of float) -0:47 'inv4' (temp 4X4 matrix of float) -0:49 move second child to first child (temp 4-component vector of float) -0:49 'FragColor' (out 4-component vector of float) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 vector-times-matrix (temp 3-component vector of float) -0:49 'FragColor' (out 4-component vector of float) -0:49 component-wise multiply (global 3X4 matrix of float) -0:49 'un34' (uniform 3X4 matrix of float) -0:49 'un34' (uniform 3X4 matrix of float) -0:49 direct index (temp float) -0:49 'FragColor' (out 4-component vector of float) +0:46 move second child to first child ( temp 4X4 matrix of float) +0:46 'inv4' ( temp 4X4 matrix of float) +0:46 inverse ( global 4X4 matrix of float) +0:46 'um4' ( uniform 4X4 matrix of float) +0:47 matrix mult second child into first child ( temp 4-component vector of float) +0:47 'FragColor' ( out 4-component vector of float) +0:47 'inv4' ( temp 4X4 matrix of float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'FragColor' ( out 4-component vector of float) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 vector-times-matrix ( temp 3-component vector of float) +0:49 'FragColor' ( out 4-component vector of float) +0:49 component-wise multiply ( global 3X4 matrix of float) +0:49 'un34' ( uniform 3X4 matrix of float) +0:49 'un34' ( uniform 3X4 matrix of float) +0:49 direct index ( temp float) +0:49 'FragColor' ( out 4-component vector of float) 0:49 Constant: 0:49 3 (const int) 0:? Linker Objects -0:? 'colorTransform' (uniform 3X3 matrix of float) -0:? 'Color' (smooth in 3-component vector of float) -0:? 'm' (uniform 4X4 matrix of float) -0:? 'n' (uniform 4X4 matrix of float) -0:? 'um43' (uniform 4X3 matrix of float) -0:? 'un34' (uniform 3X4 matrix of float) -0:? 'um2' (uniform 2X2 matrix of float) -0:? 'um3' (uniform 3X3 matrix of float) -0:? 'um4' (uniform 4X4 matrix of float) -0:? 'v' (smooth in 4-component vector of float) -0:? 'u' (smooth in 3-component vector of float) -0:? 'FragColor' (out 4-component vector of float) +0:? 'colorTransform' ( uniform 3X3 matrix of float) +0:? 'Color' ( smooth in 3-component vector of float) +0:? 'm' ( uniform 4X4 matrix of float) +0:? 'n' ( uniform 4X4 matrix of float) +0:? 'um43' ( uniform 4X3 matrix of float) +0:? 'un34' ( uniform 3X4 matrix of float) +0:? 'um2' ( uniform 2X2 matrix of float) +0:? 'um3' ( uniform 3X3 matrix of float) +0:? 'um4' ( uniform 4X4 matrix of float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'u' ( smooth in 3-component vector of float) +0:? 'FragColor' ( out 4-component vector of float) Linked fragment stage: @@ -178,17 +178,17 @@ Linked fragment stage: Shader version: 150 0:? Sequence -0:19 Function Definition: main( (global void) +0:19 Function Definition: main( ( global void) 0:19 Function Parameters: 0:21 Sequence 0:21 Sequence -0:21 move second child to first child (temp 3X4 matrix of float) -0:21 'm34' (temp 3X4 matrix of float) -0:21 outer product (global 3X4 matrix of float) -0:21 'v' (smooth in 4-component vector of float) -0:21 'u' (smooth in 3-component vector of float) -0:23 add second child into first child (temp 3X4 matrix of float) -0:23 'm34' (temp 3X4 matrix of float) +0:21 move second child to first child ( temp 3X4 matrix of float) +0:21 'm34' ( temp 3X4 matrix of float) +0:21 outer product ( global 3X4 matrix of float) +0:21 'v' ( smooth in 4-component vector of float) +0:21 'u' ( smooth in 3-component vector of float) +0:23 add second child into first child ( temp 3X4 matrix of float) +0:23 'm34' ( temp 3X4 matrix of float) 0:23 Constant: 0:23 4.300000 0:23 0.000000 @@ -202,146 +202,146 @@ Shader version: 150 0:23 0.000000 0:23 4.300000 0:23 0.000000 -0:25 move second child to first child (temp 4-component vector of float) -0:25 'FragColor' (out 4-component vector of float) -0:25 Construct vec4 (temp 4-component vector of float) -0:25 'Color' (smooth in 3-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'FragColor' ( out 4-component vector of float) +0:25 Construct vec4 ( temp 4-component vector of float) +0:25 'Color' ( smooth in 3-component vector of float) 0:25 Constant: 0:25 1.000000 -0:26 multiply second child into first child (temp 4-component vector of float) -0:26 'FragColor' (out 4-component vector of float) -0:26 Construct vec4 (temp 4-component vector of float) -0:26 vector-times-matrix (temp 3-component vector of float) -0:26 'FragColor' (out 4-component vector of float) -0:26 'm34' (temp 3X4 matrix of float) +0:26 multiply second child into first child ( temp 4-component vector of float) +0:26 'FragColor' ( out 4-component vector of float) +0:26 Construct vec4 ( temp 4-component vector of float) +0:26 vector-times-matrix ( temp 3-component vector of float) +0:26 'FragColor' ( out 4-component vector of float) +0:26 'm34' ( temp 3X4 matrix of float) 0:26 Constant: 0:26 1.000000 -0:28 matrix scale second child into first child (temp 3X4 matrix of float) -0:28 'm34' (temp 3X4 matrix of float) -0:28 direct index (temp float) -0:28 'v' (smooth in 4-component vector of float) +0:28 matrix scale second child into first child ( temp 3X4 matrix of float) +0:28 'm34' ( temp 3X4 matrix of float) +0:28 direct index ( temp float) +0:28 'v' ( smooth in 4-component vector of float) 0:28 Constant: 0:28 0 (const int) 0:30 Sequence -0:30 move second child to first child (temp 4X4 matrix of float) -0:30 'm44' (temp 4X4 matrix of float) -0:30 Construct mat4 (temp 4X4 matrix of float) -0:30 'un34' (uniform 3X4 matrix of float) -0:32 add second child into first child (temp 4X4 matrix of float) -0:32 'm44' (temp 4X4 matrix of float) -0:32 matrix-multiply (temp 4X4 matrix of float) -0:32 'm34' (temp 3X4 matrix of float) -0:32 'um43' (uniform 4X3 matrix of float) -0:34 add second child into first child (temp 4-component vector of float) -0:34 'FragColor' (out 4-component vector of float) -0:34 matrix-times-vector (temp 4-component vector of float) -0:34 Negate value (temp 4X4 matrix of float) -0:34 'm44' (temp 4X4 matrix of float) -0:34 'v' (smooth in 4-component vector of float) -0:36 matrix mult second child into first child (temp 4-component vector of float) -0:36 'FragColor' (out 4-component vector of float) -0:36 component-wise multiply (global 4X4 matrix of float) -0:36 'm44' (temp 4X4 matrix of float) -0:36 'm44' (temp 4X4 matrix of float) -0:38 move second child to first child (temp 3X4 matrix of float) -0:38 'm34' (temp 3X4 matrix of float) -0:38 transpose (global 3X4 matrix of float) -0:38 'um43' (uniform 4X3 matrix of float) -0:39 multiply second child into first child (temp 4-component vector of float) -0:39 'FragColor' (out 4-component vector of float) -0:39 Construct vec4 (temp 4-component vector of float) -0:39 vector-times-matrix (temp 3-component vector of float) -0:39 'FragColor' (out 4-component vector of float) -0:39 'm34' (temp 3X4 matrix of float) +0:30 move second child to first child ( temp 4X4 matrix of float) +0:30 'm44' ( temp 4X4 matrix of float) +0:30 Construct mat4 ( temp 4X4 matrix of float) +0:30 'un34' ( uniform 3X4 matrix of float) +0:32 add second child into first child ( temp 4X4 matrix of float) +0:32 'm44' ( temp 4X4 matrix of float) +0:32 matrix-multiply ( temp 4X4 matrix of float) +0:32 'm34' ( temp 3X4 matrix of float) +0:32 'um43' ( uniform 4X3 matrix of float) +0:34 add second child into first child ( temp 4-component vector of float) +0:34 'FragColor' ( out 4-component vector of float) +0:34 matrix-times-vector ( temp 4-component vector of float) +0:34 Negate value ( temp 4X4 matrix of float) +0:34 'm44' ( temp 4X4 matrix of float) +0:34 'v' ( smooth in 4-component vector of float) +0:36 matrix mult second child into first child ( temp 4-component vector of float) +0:36 'FragColor' ( out 4-component vector of float) +0:36 component-wise multiply ( global 4X4 matrix of float) +0:36 'm44' ( temp 4X4 matrix of float) +0:36 'm44' ( temp 4X4 matrix of float) +0:38 move second child to first child ( temp 3X4 matrix of float) +0:38 'm34' ( temp 3X4 matrix of float) +0:38 transpose ( global 3X4 matrix of float) +0:38 'um43' ( uniform 4X3 matrix of float) +0:39 multiply second child into first child ( temp 4-component vector of float) +0:39 'FragColor' ( out 4-component vector of float) +0:39 Construct vec4 ( temp 4-component vector of float) +0:39 vector-times-matrix ( temp 3-component vector of float) +0:39 'FragColor' ( out 4-component vector of float) +0:39 'm34' ( temp 3X4 matrix of float) 0:39 Constant: 0:39 1.000000 -0:40 multiply second child into first child (temp 4-component vector of float) -0:40 'FragColor' (out 4-component vector of float) -0:40 Construct vec4 (temp 4-component vector of float) -0:40 determinant (global float) -0:40 'um4' (uniform 4X4 matrix of float) +0:40 multiply second child into first child ( temp 4-component vector of float) +0:40 'FragColor' ( out 4-component vector of float) +0:40 Construct vec4 ( temp 4-component vector of float) +0:40 determinant ( global float) +0:40 'um4' ( uniform 4X4 matrix of float) 0:41 Sequence -0:41 move second child to first child (temp 2X2 matrix of float) -0:41 'inv' (temp 2X2 matrix of float) -0:41 inverse (global 2X2 matrix of float) -0:41 'um2' (uniform 2X2 matrix of float) -0:42 multiply second child into first child (temp 4-component vector of float) -0:42 'FragColor' (out 4-component vector of float) -0:42 Construct vec4 (temp 4-component vector of float) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:41 move second child to first child ( temp 2X2 matrix of float) +0:41 'inv' ( temp 2X2 matrix of float) +0:41 inverse ( global 2X2 matrix of float) +0:41 'um2' ( uniform 2X2 matrix of float) +0:42 multiply second child into first child ( temp 4-component vector of float) +0:42 'FragColor' ( out 4-component vector of float) +0:42 Construct vec4 ( temp 4-component vector of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 0 (const int) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 1 (const int) 0:42 Constant: 0:42 0 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 0 (const int) 0:42 Constant: 0:42 1 (const int) -0:42 direct index (temp float) -0:42 direct index (temp 2-component vector of float) -0:42 'inv' (temp 2X2 matrix of float) +0:42 direct index ( temp float) +0:42 direct index ( temp 2-component vector of float) +0:42 'inv' ( temp 2X2 matrix of float) 0:42 Constant: 0:42 1 (const int) 0:42 Constant: 0:42 1 (const int) 0:43 Sequence -0:43 move second child to first child (temp 3X3 matrix of float) -0:43 'inv3' (temp 3X3 matrix of float) -0:43 inverse (global 3X3 matrix of float) -0:43 'um3' (uniform 3X3 matrix of float) -0:44 multiply second child into first child (temp 4-component vector of float) -0:44 'FragColor' (out 4-component vector of float) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 direct index (temp float) -0:44 direct index (temp 3-component vector of float) -0:44 'inv3' (temp 3X3 matrix of float) +0:43 move second child to first child ( temp 3X3 matrix of float) +0:43 'inv3' ( temp 3X3 matrix of float) +0:43 inverse ( global 3X3 matrix of float) +0:43 'um3' ( uniform 3X3 matrix of float) +0:44 multiply second child into first child ( temp 4-component vector of float) +0:44 'FragColor' ( out 4-component vector of float) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 direct index ( temp float) +0:44 direct index ( temp 3-component vector of float) +0:44 'inv3' ( temp 3X3 matrix of float) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 1 (const int) 0:46 Sequence -0:46 move second child to first child (temp 4X4 matrix of float) -0:46 'inv4' (temp 4X4 matrix of float) -0:46 inverse (global 4X4 matrix of float) -0:46 'um4' (uniform 4X4 matrix of float) -0:47 matrix mult second child into first child (temp 4-component vector of float) -0:47 'FragColor' (out 4-component vector of float) -0:47 'inv4' (temp 4X4 matrix of float) -0:49 move second child to first child (temp 4-component vector of float) -0:49 'FragColor' (out 4-component vector of float) -0:49 Construct vec4 (temp 4-component vector of float) -0:49 vector-times-matrix (temp 3-component vector of float) -0:49 'FragColor' (out 4-component vector of float) -0:49 component-wise multiply (global 3X4 matrix of float) -0:49 'un34' (uniform 3X4 matrix of float) -0:49 'un34' (uniform 3X4 matrix of float) -0:49 direct index (temp float) -0:49 'FragColor' (out 4-component vector of float) +0:46 move second child to first child ( temp 4X4 matrix of float) +0:46 'inv4' ( temp 4X4 matrix of float) +0:46 inverse ( global 4X4 matrix of float) +0:46 'um4' ( uniform 4X4 matrix of float) +0:47 matrix mult second child into first child ( temp 4-component vector of float) +0:47 'FragColor' ( out 4-component vector of float) +0:47 'inv4' ( temp 4X4 matrix of float) +0:49 move second child to first child ( temp 4-component vector of float) +0:49 'FragColor' ( out 4-component vector of float) +0:49 Construct vec4 ( temp 4-component vector of float) +0:49 vector-times-matrix ( temp 3-component vector of float) +0:49 'FragColor' ( out 4-component vector of float) +0:49 component-wise multiply ( global 3X4 matrix of float) +0:49 'un34' ( uniform 3X4 matrix of float) +0:49 'un34' ( uniform 3X4 matrix of float) +0:49 direct index ( temp float) +0:49 'FragColor' ( out 4-component vector of float) 0:49 Constant: 0:49 3 (const int) 0:? Linker Objects -0:? 'colorTransform' (uniform 3X3 matrix of float) -0:? 'Color' (smooth in 3-component vector of float) -0:? 'm' (uniform 4X4 matrix of float) -0:? 'n' (uniform 4X4 matrix of float) -0:? 'um43' (uniform 4X3 matrix of float) -0:? 'un34' (uniform 3X4 matrix of float) -0:? 'um2' (uniform 2X2 matrix of float) -0:? 'um3' (uniform 3X3 matrix of float) -0:? 'um4' (uniform 4X4 matrix of float) -0:? 'v' (smooth in 4-component vector of float) -0:? 'u' (smooth in 3-component vector of float) -0:? 'FragColor' (out 4-component vector of float) +0:? 'colorTransform' ( uniform 3X3 matrix of float) +0:? 'Color' ( smooth in 3-component vector of float) +0:? 'm' ( uniform 4X4 matrix of float) +0:? 'n' ( uniform 4X4 matrix of float) +0:? 'um43' ( uniform 4X3 matrix of float) +0:? 'un34' ( uniform 3X4 matrix of float) +0:? 'um2' ( uniform 2X2 matrix of float) +0:? 'um3' ( uniform 3X3 matrix of float) +0:? 'um4' ( uniform 4X4 matrix of float) +0:? 'v' ( smooth in 4-component vector of float) +0:? 'u' ( smooth in 3-component vector of float) +0:? 'FragColor' ( out 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrixError.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrixError.vert.out index ee0646ea0c3..f818892a957 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrixError.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/matrixError.vert.out @@ -1,9 +1,9 @@ matrixError.vert ERROR: 0:10: 'constructor' : too many arguments ERROR: 0:7: 'const' : non-matching or non-convertible constant type for const initializer -ERROR: 0:17: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float' -ERROR: 0:18: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float' -ERROR: 0:19: 'xy' : does not apply to this type: temp 2X3 matrix of float +ERROR: 0:17: 'assign' : cannot convert from ' temp 2-component vector of float' to ' temp 3-component vector of float' +ERROR: 0:18: 'assign' : cannot convert from ' temp 2-component vector of float' to ' temp 3-component vector of float' +ERROR: 0:19: 'xy' : does not apply to this type: temp 2X3 matrix of float ERROR: 0:21: '[' : matrix index out of range '2' ERROR: 0:21: '[' : vector index out of range '4' ERROR: 7 compilation errors. No code generated. @@ -11,31 +11,31 @@ ERROR: 7 compilation errors. No code generated. Shader version: 120 ERROR: node is still EOpNull! -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:? Sequence -0:17 'a' (temp 3-component vector of float) -0:18 'b' (temp 3-component vector of float) -0:19 'm23' (temp 2X3 matrix of float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 'gl_Position' (gl_Position 4-component vector of float Position) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 matrix-times-vector (temp 3-component vector of float) -0:21 matrix-multiply (temp 3X3 matrix of float) -0:21 'm23' (temp 2X3 matrix of float) -0:21 'm32' (uniform 3X2 matrix of float) -0:21 'v3' (in 3-component vector of float) -0:21 direct index (temp float) -0:21 direct index (temp 4-component vector of float) -0:21 'm24' (temp 2X4 matrix of float) +0:17 'a' ( temp 3-component vector of float) +0:18 'b' ( temp 3-component vector of float) +0:19 'm23' ( temp 2X3 matrix of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'gl_Position' ( gl_Position 4-component vector of float Position) +0:21 Construct vec4 ( temp 4-component vector of float) +0:21 matrix-times-vector ( temp 3-component vector of float) +0:21 matrix-multiply ( temp 3X3 matrix of float) +0:21 'm23' ( temp 2X3 matrix of float) +0:21 'm32' ( uniform 3X2 matrix of float) +0:21 'v3' ( in 3-component vector of float) +0:21 direct index ( temp float) +0:21 direct index ( temp 4-component vector of float) +0:21 'm24' ( temp 2X4 matrix of float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4 (const int) 0:? Linker Objects -0:? 'v3' (in 3-component vector of float) -0:? 'm32' (uniform 3X2 matrix of float) -0:? 'm24' (temp 2X4 matrix of float) +0:? 'v3' ( in 3-component vector of float) +0:? 'm32' ( uniform 3X2 matrix of float) +0:? 'm24' ( temp 2X4 matrix of float) Linked vertex stage: @@ -43,29 +43,29 @@ Linked vertex stage: Shader version: 120 ERROR: node is still EOpNull! -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:? Sequence -0:17 'a' (temp 3-component vector of float) -0:18 'b' (temp 3-component vector of float) -0:19 'm23' (temp 2X3 matrix of float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 'gl_Position' (gl_Position 4-component vector of float Position) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 matrix-times-vector (temp 3-component vector of float) -0:21 matrix-multiply (temp 3X3 matrix of float) -0:21 'm23' (temp 2X3 matrix of float) -0:21 'm32' (uniform 3X2 matrix of float) -0:21 'v3' (in 3-component vector of float) -0:21 direct index (temp float) -0:21 direct index (temp 4-component vector of float) -0:21 'm24' (temp 2X4 matrix of float) +0:17 'a' ( temp 3-component vector of float) +0:18 'b' ( temp 3-component vector of float) +0:19 'm23' ( temp 2X3 matrix of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'gl_Position' ( gl_Position 4-component vector of float Position) +0:21 Construct vec4 ( temp 4-component vector of float) +0:21 matrix-times-vector ( temp 3-component vector of float) +0:21 matrix-multiply ( temp 3X3 matrix of float) +0:21 'm23' ( temp 2X3 matrix of float) +0:21 'm32' ( uniform 3X2 matrix of float) +0:21 'v3' ( in 3-component vector of float) +0:21 direct index ( temp float) +0:21 direct index ( temp 4-component vector of float) +0:21 'm24' ( temp 2X4 matrix of float) 0:21 Constant: 0:21 2 (const int) 0:21 Constant: 0:21 4 (const int) 0:? Linker Objects -0:? 'v3' (in 3-component vector of float) -0:? 'm32' (uniform 3X2 matrix of float) -0:? 'm24' (temp 2X4 matrix of float) +0:? 'v3' ( in 3-component vector of float) +0:? 'm32' ( uniform 3X2 matrix of float) +0:? 'm24' ( temp 2X4 matrix of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/maxClipDistances.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/maxClipDistances.vert.out index 4ad4ef15b8b..8086d52475f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/maxClipDistances.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/maxClipDistances.vert.out @@ -1,11 +1,11 @@ maxClipDistances.vert Shader version: 130 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:? Linker Objects -0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance) -0:? 'gl_VertexID' (gl_VertexId int VertexId) +0:? 'gl_ClipDistance' ( smooth out 8-element array of float ClipDistance) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) Linked vertex stage: @@ -13,9 +13,9 @@ Linked vertex stage: Shader version: 130 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:? Linker Objects -0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance) -0:? 'gl_VertexID' (gl_VertexId int VertexId) +0:? 'gl_ClipDistance' ( smooth out 8-element array of float ClipDistance) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/max_vertices_0.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/max_vertices_0.geom.out index 94890bc8915..d3bb4eee4b2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/max_vertices_0.geom.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/max_vertices_0.geom.out @@ -5,14 +5,14 @@ max_vertices = 0 input primitive = points output primitive = triangle_strip 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 EndPrimitive (global void) -0:11 EndPrimitive (global void) +0:10 EndPrimitive ( global void) +0:11 EndPrimitive ( global void) 0:? Linker Objects -0:? 'v_geom_FragColor' (in 1-element array of 4-component vector of float) -0:? 'v_frag_FragColor' (layout(stream=0 ) out 4-component vector of float) +0:? 'v_geom_FragColor' ( in 1-element array of 4-component vector of float) +0:? 'v_frag_FragColor' (layout( stream=0) out 4-component vector of float) Linked geometry stage: @@ -24,12 +24,12 @@ max_vertices = 0 input primitive = points output primitive = triangle_strip 0:? Sequence -0:8 Function Definition: main( (global void) +0:8 Function Definition: main( ( global void) 0:8 Function Parameters: 0:10 Sequence -0:10 EndPrimitive (global void) -0:11 EndPrimitive (global void) +0:10 EndPrimitive ( global void) +0:11 EndPrimitive ( global void) 0:? Linker Objects -0:? 'v_geom_FragColor' (in 1-element array of 4-component vector of float) -0:? 'v_frag_FragColor' (layout(stream=0 ) out 4-component vector of float) +0:? 'v_geom_FragColor' ( in 1-element array of 4-component vector of float) +0:? 'v_frag_FragColor' (layout( stream=0) out 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/missingBodies.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/missingBodies.vert.out index 6d77e0933ef..7760c3fd30b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/missingBodies.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/missingBodies.vert.out @@ -3,55 +3,55 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 0:? Sequence -0:4 Function Definition: foo( (global void) +0:4 Function Definition: foo( ( global void) 0:4 Function Parameters: 0:4 Sequence -0:4 Function Call: bar( (global void) -0:8 Function Definition: C(i1;i1; (global void) +0:4 Function Call: bar( ( global void) +0:8 Function Definition: C(i1;i1; ( global void) 0:8 Function Parameters: -0:8 '' (in int) -0:8 '' (in int) -0:10 Function Definition: A( (global void) +0:8 '' ( in int) +0:8 '' ( in int) +0:10 Function Definition: A( ( global void) 0:10 Function Parameters: 0:10 Sequence -0:10 Function Call: B( (global void) -0:10 Function Call: C(i1; (global void) +0:10 Function Call: B( ( global void) +0:10 Function Call: C(i1; ( global void) 0:10 Constant: 0:10 1 (const int) -0:10 Function Call: C(b1; (global void) +0:10 Function Call: C(b1; ( global void) 0:10 Constant: 0:10 true (const bool) -0:10 Function Call: C(i1;i1; (global void) +0:10 Function Call: C(i1;i1; ( global void) 0:10 Constant: 0:10 1 (const int) 0:10 Constant: 0:10 2 (const int) -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence -0:14 Function Call: foo( (global void) -0:15 Function Call: C(b1; (global void) +0:14 Function Call: foo( ( global void) +0:15 Function Call: C(b1; ( global void) 0:15 Constant: 0:15 true (const bool) 0:20 Sequence -0:20 move second child to first child (temp int) -0:20 'f1' (global int) -0:20 Function Call: ret1( (global int) -0:22 Function Definition: ret2( (global int) +0:20 move second child to first child ( temp int) +0:20 'f1' ( global int) +0:20 Function Call: ret1( ( global int) +0:22 Function Definition: ret2( ( global int) 0:22 Function Parameters: 0:22 Sequence 0:22 Branch: Return with expression 0:22 Constant: 0:22 3 (const int) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'f2' (global int) -0:24 Function Call: ret2( (global int) +0:24 move second child to first child ( temp int) +0:24 'f2' ( global int) +0:24 Function Call: ret2( ( global int) 0:? Linker Objects -0:? 'f1' (global int) -0:? 'f2' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'f1' ( global int) +0:? 'f2' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -65,34 +65,34 @@ ERROR: Linking vertex stage: No function definition (body) found: Shader version: 450 0:? Sequence -0:4 Function Definition: foo( (global void) +0:4 Function Definition: foo( ( global void) 0:4 Function Parameters: 0:4 Sequence -0:4 Function Call: bar( (global void) -0:12 Function Definition: main( (global void) +0:4 Function Call: bar( ( global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence -0:14 Function Call: foo( (global void) -0:15 Function Call: C(b1; (global void) +0:14 Function Call: foo( ( global void) +0:15 Function Call: C(b1; ( global void) 0:15 Constant: 0:15 true (const bool) 0:20 Sequence -0:20 move second child to first child (temp int) -0:20 'f1' (global int) -0:20 Function Call: ret1( (global int) -0:22 Function Definition: ret2( (global int) +0:20 move second child to first child ( temp int) +0:20 'f1' ( global int) +0:20 Function Call: ret1( ( global int) +0:22 Function Definition: ret2( ( global int) 0:22 Function Parameters: 0:22 Sequence 0:22 Branch: Return with expression 0:22 Constant: 0:22 3 (const int) 0:24 Sequence -0:24 move second child to first child (temp int) -0:24 'f2' (global int) -0:24 Function Call: ret2( (global int) +0:24 move second child to first child ( temp int) +0:24 'f2' ( global int) +0:24 Function Call: ret2( ( global int) 0:? Linker Objects -0:? 'f1' (global int) -0:? 'f2' (global int) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'f1' ( global int) +0:? 'f2' ( global int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/negativeArraySize.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/negativeArraySize.comp.out index ccbabf5f15a..abdd51e2cca 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/negativeArraySize.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/negativeArraySize.comp.out @@ -7,7 +7,7 @@ ERROR: 1 compilation errors. No code generated. Shader version: 310 local_size = (1, 1, 1) ERROR: node is still EOpNull! -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects @@ -18,7 +18,7 @@ Linked compute stage: Shader version: 310 local_size = (1, 1, 1) ERROR: node is still EOpNull! -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/newTexture.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/newTexture.frag.out index f63d79f12d1..3a1c7a201c8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/newTexture.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/newTexture.frag.out @@ -3,261 +3,261 @@ Warning, version 430 is not yet complete; most version-specific features are pre Shader version: 430 0:? Sequence -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:38 Sequence 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:38 texture (global 4-component vector of float) -0:38 's2D' (uniform sampler2D) -0:38 'c2D' (smooth in 2-component vector of float) -0:39 add second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:39 textureProj (global 4-component vector of float) -0:39 's3D' (uniform sampler3D) -0:39 'c4D' (smooth in 4-component vector of float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:40 textureLod (global 4-component vector of float) -0:40 's2DArray' (uniform sampler2DArray) -0:40 'c3D' (smooth in 3-component vector of float) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:38 texture ( global 4-component vector of float) +0:38 's2D' ( uniform sampler2D) +0:38 'c2D' ( smooth in 2-component vector of float) +0:39 add second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:39 textureProj ( global 4-component vector of float) +0:39 's3D' ( uniform sampler3D) +0:39 'c4D' ( smooth in 4-component vector of float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:40 textureLod ( global 4-component vector of float) +0:40 's2DArray' ( uniform sampler2DArray) +0:40 'c3D' ( smooth in 3-component vector of float) 0:40 Constant: 0:40 1.200000 -0:41 add second child into first child (temp float) -0:41 direct index (temp float) -0:41 'v' (temp 4-component vector of float) +0:41 add second child into first child ( temp float) +0:41 direct index ( temp float) +0:41 'v' ( temp 4-component vector of float) 0:41 Constant: 0:41 1 (const int) -0:41 textureOffset (global float) -0:41 's2DShadow' (uniform sampler2DShadow) -0:41 'c3D' (smooth in 3-component vector of float) +0:41 textureOffset ( global float) +0:41 's2DShadow' ( uniform sampler2DShadow) +0:41 'c3D' ( smooth in 3-component vector of float) 0:41 Constant: 0:41 3 (const int) 0:41 3 (const int) -0:41 'c1D' (smooth in float) -0:42 add second child into first child (temp 4-component vector of float) -0:42 'v' (temp 4-component vector of float) -0:42 textureFetch (global 4-component vector of float) -0:42 's3D' (uniform sampler3D) -0:42 'ic3D' (flat in 3-component vector of int) -0:42 'ic1D' (flat in int) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 textureFetchOffset (global 4-component vector of float) -0:43 's2D' (uniform sampler2D) -0:43 'ic2D' (flat in 2-component vector of int) +0:41 'c1D' ( smooth in float) +0:42 add second child into first child ( temp 4-component vector of float) +0:42 'v' ( temp 4-component vector of float) +0:42 textureFetch ( global 4-component vector of float) +0:42 's3D' ( uniform sampler3D) +0:42 'ic3D' ( flat in 3-component vector of int) +0:42 'ic1D' ( flat in int) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 textureFetchOffset ( global 4-component vector of float) +0:43 's2D' ( uniform sampler2D) +0:43 'ic2D' ( flat in 2-component vector of int) 0:43 Constant: 0:43 4 (const int) 0:43 Constant: 0:43 3 (const int) 0:43 3 (const int) -0:44 add second child into first child (temp 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:44 textureFetchOffset (global 4-component vector of float) -0:44 'sr' (uniform sampler2DRect) -0:44 'ic2D' (flat in 2-component vector of int) +0:44 add second child into first child ( temp 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:44 textureFetchOffset ( global 4-component vector of float) +0:44 'sr' ( uniform sampler2DRect) +0:44 'ic2D' ( flat in 2-component vector of int) 0:44 Constant: 0:44 4 (const int) 0:44 4 (const int) -0:45 add second child into first child (temp float) -0:45 direct index (temp float) -0:45 'v' (temp 4-component vector of float) +0:45 add second child into first child ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( temp 4-component vector of float) 0:45 Constant: 0:45 1 (const int) -0:45 textureLodOffset (global float) -0:45 's2DShadow' (uniform sampler2DShadow) -0:45 'c3D' (smooth in 3-component vector of float) -0:45 'c1D' (smooth in float) +0:45 textureLodOffset ( global float) +0:45 's2DShadow' ( uniform sampler2DShadow) +0:45 'c3D' ( smooth in 3-component vector of float) +0:45 'c1D' ( smooth in float) 0:45 Constant: 0:45 3 (const int) 0:45 3 (const int) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:46 textureProjLodOffset (global 4-component vector of float) -0:46 's2D' (uniform sampler2D) -0:46 'c3D' (smooth in 3-component vector of float) -0:46 'c1D' (smooth in float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:46 textureProjLodOffset ( global 4-component vector of float) +0:46 's2D' ( uniform sampler2D) +0:46 'c3D' ( smooth in 3-component vector of float) +0:46 'c1D' ( smooth in float) 0:46 Constant: 0:46 3 (const int) 0:46 3 (const int) -0:47 add second child into first child (temp 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:47 textureGrad (global 4-component vector of float) -0:47 'sCube' (uniform samplerCube) -0:47 'c3D' (smooth in 3-component vector of float) -0:47 'c3D' (smooth in 3-component vector of float) -0:47 'c3D' (smooth in 3-component vector of float) -0:48 add second child into first child (temp float) -0:48 direct index (temp float) -0:48 'v' (temp 4-component vector of float) +0:47 add second child into first child ( temp 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:47 textureGrad ( global 4-component vector of float) +0:47 'sCube' ( uniform samplerCube) +0:47 'c3D' ( smooth in 3-component vector of float) +0:47 'c3D' ( smooth in 3-component vector of float) +0:47 'c3D' ( smooth in 3-component vector of float) +0:48 add second child into first child ( temp float) +0:48 direct index ( temp float) +0:48 'v' ( temp 4-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:48 textureGradOffset (global float) -0:48 's2DArrayShadow' (uniform sampler2DArrayShadow) -0:48 'c4D' (smooth in 4-component vector of float) -0:48 'c2D' (smooth in 2-component vector of float) -0:48 'c2D' (smooth in 2-component vector of float) +0:48 textureGradOffset ( global float) +0:48 's2DArrayShadow' ( uniform sampler2DArrayShadow) +0:48 'c4D' ( smooth in 4-component vector of float) +0:48 'c2D' ( smooth in 2-component vector of float) +0:48 'c2D' ( smooth in 2-component vector of float) 0:48 Constant: 0:48 3 (const int) 0:48 3 (const int) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:49 textureProjGrad (global 4-component vector of float) -0:49 's3D' (uniform sampler3D) -0:49 'c4D' (smooth in 4-component vector of float) -0:49 'c3D' (smooth in 3-component vector of float) -0:49 'c3D' (smooth in 3-component vector of float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:50 textureProjGradOffset (global 4-component vector of float) -0:50 's2D' (uniform sampler2D) -0:50 'c3D' (smooth in 3-component vector of float) -0:50 'c2D' (smooth in 2-component vector of float) -0:50 'c2D' (smooth in 2-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:49 textureProjGrad ( global 4-component vector of float) +0:49 's3D' ( uniform sampler3D) +0:49 'c4D' ( smooth in 4-component vector of float) +0:49 'c3D' ( smooth in 3-component vector of float) +0:49 'c3D' ( smooth in 3-component vector of float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:50 textureProjGradOffset ( global 4-component vector of float) +0:50 's2D' ( uniform sampler2D) +0:50 'c3D' ( smooth in 3-component vector of float) +0:50 'c2D' ( smooth in 2-component vector of float) +0:50 'c2D' ( smooth in 2-component vector of float) 0:50 Constant: 0:50 3 (const int) 0:50 3 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'iv' (temp 4-component vector of int) -0:52 texture (global 4-component vector of int) -0:52 'is2D' (uniform isampler2D) -0:52 'c2D' (smooth in 2-component vector of float) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'v' (temp 4-component vector of float) -0:53 Convert int to float (temp 4-component vector of float) -0:53 'iv' (temp 4-component vector of int) -0:54 move second child to first child (temp 4-component vector of int) -0:54 'iv' (temp 4-component vector of int) -0:54 textureProjOffset (global 4-component vector of int) -0:54 'is2D' (uniform isampler2D) -0:54 'c4D' (smooth in 4-component vector of float) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'iv' ( temp 4-component vector of int) +0:52 texture ( global 4-component vector of int) +0:52 'is2D' ( uniform isampler2D) +0:52 'c2D' ( smooth in 2-component vector of float) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'v' ( temp 4-component vector of float) +0:53 Convert int to float ( temp 4-component vector of float) +0:53 'iv' ( temp 4-component vector of int) +0:54 move second child to first child ( temp 4-component vector of int) +0:54 'iv' ( temp 4-component vector of int) +0:54 textureProjOffset ( global 4-component vector of int) +0:54 'is2D' ( uniform isampler2D) +0:54 'c4D' ( smooth in 4-component vector of float) 0:54 Constant: 0:54 3 (const int) 0:54 3 (const int) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:55 Convert int to float (temp 4-component vector of float) -0:55 'iv' (temp 4-component vector of int) -0:56 move second child to first child (temp 4-component vector of int) -0:56 'iv' (temp 4-component vector of int) -0:56 textureProjLod (global 4-component vector of int) -0:56 'is2D' (uniform isampler2D) -0:56 'c3D' (smooth in 3-component vector of float) -0:56 'c1D' (smooth in float) -0:57 add second child into first child (temp 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:57 Convert int to float (temp 4-component vector of float) -0:57 'iv' (temp 4-component vector of int) -0:58 move second child to first child (temp 4-component vector of int) -0:58 'iv' (temp 4-component vector of int) -0:58 textureProjGrad (global 4-component vector of int) -0:58 'is2D' (uniform isampler2D) -0:58 'c3D' (smooth in 3-component vector of float) -0:58 'c2D' (smooth in 2-component vector of float) -0:58 'c2D' (smooth in 2-component vector of float) -0:59 add second child into first child (temp 4-component vector of float) -0:59 'v' (temp 4-component vector of float) -0:59 Convert int to float (temp 4-component vector of float) -0:59 'iv' (temp 4-component vector of int) -0:60 move second child to first child (temp 4-component vector of int) -0:60 'iv' (temp 4-component vector of int) -0:60 texture (global 4-component vector of int) -0:60 'is3D' (uniform isampler3D) -0:60 'c3D' (smooth in 3-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:55 Convert int to float ( temp 4-component vector of float) +0:55 'iv' ( temp 4-component vector of int) +0:56 move second child to first child ( temp 4-component vector of int) +0:56 'iv' ( temp 4-component vector of int) +0:56 textureProjLod ( global 4-component vector of int) +0:56 'is2D' ( uniform isampler2D) +0:56 'c3D' ( smooth in 3-component vector of float) +0:56 'c1D' ( smooth in float) +0:57 add second child into first child ( temp 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:57 Convert int to float ( temp 4-component vector of float) +0:57 'iv' ( temp 4-component vector of int) +0:58 move second child to first child ( temp 4-component vector of int) +0:58 'iv' ( temp 4-component vector of int) +0:58 textureProjGrad ( global 4-component vector of int) +0:58 'is2D' ( uniform isampler2D) +0:58 'c3D' ( smooth in 3-component vector of float) +0:58 'c2D' ( smooth in 2-component vector of float) +0:58 'c2D' ( smooth in 2-component vector of float) +0:59 add second child into first child ( temp 4-component vector of float) +0:59 'v' ( temp 4-component vector of float) +0:59 Convert int to float ( temp 4-component vector of float) +0:59 'iv' ( temp 4-component vector of int) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'iv' ( temp 4-component vector of int) +0:60 texture ( global 4-component vector of int) +0:60 'is3D' ( uniform isampler3D) +0:60 'c3D' ( smooth in 3-component vector of float) 0:60 Constant: 0:60 4.200000 -0:61 add second child into first child (temp 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:61 Convert int to float (temp 4-component vector of float) -0:61 'iv' (temp 4-component vector of int) -0:62 move second child to first child (temp 4-component vector of int) -0:62 'iv' (temp 4-component vector of int) -0:62 textureLod (global 4-component vector of int) -0:62 'isCube' (uniform isamplerCube) -0:62 'c3D' (smooth in 3-component vector of float) -0:62 'c1D' (smooth in float) -0:63 add second child into first child (temp 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 Convert int to float (temp 4-component vector of float) -0:63 'iv' (temp 4-component vector of int) -0:64 move second child to first child (temp 4-component vector of int) -0:64 'iv' (temp 4-component vector of int) -0:64 textureFetch (global 4-component vector of int) -0:64 'is2DArray' (uniform isampler2DArray) -0:64 'ic3D' (flat in 3-component vector of int) -0:64 'ic1D' (flat in int) -0:65 add second child into first child (temp 4-component vector of float) -0:65 'v' (temp 4-component vector of float) -0:65 Convert int to float (temp 4-component vector of float) -0:65 'iv' (temp 4-component vector of int) -0:66 add second child into first child (temp 4-component vector of int) -0:66 'iv' (temp 4-component vector of int) -0:66 textureFetch (global 4-component vector of int) -0:66 'is2Dms' (uniform isampler2DMS) -0:66 'ic2D' (flat in 2-component vector of int) -0:66 'ic1D' (flat in int) -0:67 add second child into first child (temp 4-component vector of float) -0:67 'v' (temp 4-component vector of float) -0:67 Convert int to float (temp 4-component vector of float) -0:67 'iv' (temp 4-component vector of int) -0:68 add second child into first child (temp 4-component vector of float) -0:68 'v' (temp 4-component vector of float) -0:68 textureFetch (global 4-component vector of float) -0:68 'sb' (uniform samplerBuffer) -0:68 'ic1D' (flat in int) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 textureFetch (global 4-component vector of float) -0:69 'sr' (uniform sampler2DRect) -0:69 'ic2D' (flat in 2-component vector of int) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:61 Convert int to float ( temp 4-component vector of float) +0:61 'iv' ( temp 4-component vector of int) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'iv' ( temp 4-component vector of int) +0:62 textureLod ( global 4-component vector of int) +0:62 'isCube' ( uniform isamplerCube) +0:62 'c3D' ( smooth in 3-component vector of float) +0:62 'c1D' ( smooth in float) +0:63 add second child into first child ( temp 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 Convert int to float ( temp 4-component vector of float) +0:63 'iv' ( temp 4-component vector of int) +0:64 move second child to first child ( temp 4-component vector of int) +0:64 'iv' ( temp 4-component vector of int) +0:64 textureFetch ( global 4-component vector of int) +0:64 'is2DArray' ( uniform isampler2DArray) +0:64 'ic3D' ( flat in 3-component vector of int) +0:64 'ic1D' ( flat in int) +0:65 add second child into first child ( temp 4-component vector of float) +0:65 'v' ( temp 4-component vector of float) +0:65 Convert int to float ( temp 4-component vector of float) +0:65 'iv' ( temp 4-component vector of int) +0:66 add second child into first child ( temp 4-component vector of int) +0:66 'iv' ( temp 4-component vector of int) +0:66 textureFetch ( global 4-component vector of int) +0:66 'is2Dms' ( uniform isampler2DMS) +0:66 'ic2D' ( flat in 2-component vector of int) +0:66 'ic1D' ( flat in int) +0:67 add second child into first child ( temp 4-component vector of float) +0:67 'v' ( temp 4-component vector of float) +0:67 Convert int to float ( temp 4-component vector of float) +0:67 'iv' ( temp 4-component vector of int) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'v' ( temp 4-component vector of float) +0:68 textureFetch ( global 4-component vector of float) +0:68 'sb' ( uniform samplerBuffer) +0:68 'ic1D' ( flat in int) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 textureFetch ( global 4-component vector of float) +0:69 'sr' ( uniform sampler2DRect) +0:69 'ic2D' ( flat in 2-component vector of int) 0:71 Sequence -0:71 move second child to first child (temp 2-component vector of int) -0:71 'iv2' (temp 2-component vector of int) -0:71 textureSize (global 2-component vector of int) -0:71 'sCubeShadow' (uniform samplerCubeShadow) +0:71 move second child to first child ( temp 2-component vector of int) +0:71 'iv2' ( temp 2-component vector of int) +0:71 textureSize ( global 2-component vector of int) +0:71 'sCubeShadow' ( uniform samplerCubeShadow) 0:71 Constant: 0:71 2 (const int) -0:74 move second child to first child (temp 4-component vector of float) -0:74 'FragData' (out 4-component vector of float) -0:74 add (temp 4-component vector of float) -0:74 'v' (temp 4-component vector of float) -0:74 Construct vec4 (temp 4-component vector of float) -0:74 Convert int to float (temp 2-component vector of float) -0:74 'iv2' (temp 2-component vector of int) +0:74 move second child to first child ( temp 4-component vector of float) +0:74 'FragData' ( out 4-component vector of float) +0:74 add ( temp 4-component vector of float) +0:74 'v' ( temp 4-component vector of float) +0:74 Construct vec4 ( temp 4-component vector of float) +0:74 Convert int to float ( temp 2-component vector of float) +0:74 'iv2' ( temp 2-component vector of int) 0:74 Constant: 0:74 0.000000 0:74 Constant: 0:74 0.000000 0:? Linker Objects -0:? 'sb' (uniform samplerBuffer) -0:? 'sr' (uniform sampler2DRect) -0:? 's2D' (uniform sampler2D) -0:? 's3D' (uniform sampler3D) -0:? 'sCube' (uniform samplerCube) -0:? 'sCubeShadow' (uniform samplerCubeShadow) -0:? 's2DShadow' (uniform sampler2DShadow) -0:? 's2DArray' (uniform sampler2DArray) -0:? 's2DArrayShadow' (uniform sampler2DArrayShadow) -0:? 'is2D' (uniform isampler2D) -0:? 'is3D' (uniform isampler3D) -0:? 'isCube' (uniform isamplerCube) -0:? 'is2DArray' (uniform isampler2DArray) -0:? 'is2Dms' (uniform isampler2DMS) -0:? 'us2D' (uniform usampler2D) -0:? 'us3D' (uniform usampler3D) -0:? 'usCube' (uniform usamplerCube) -0:? 'us2DArray' (uniform usampler2DArray) -0:? 'c1D' (smooth in float) -0:? 'c2D' (smooth in 2-component vector of float) -0:? 'c3D' (smooth in 3-component vector of float) -0:? 'c4D' (smooth in 4-component vector of float) -0:? 'ic1D' (flat in int) -0:? 'ic2D' (flat in 2-component vector of int) -0:? 'ic3D' (flat in 3-component vector of int) -0:? 'ic4D' (flat in 4-component vector of int) -0:? 'FragData' (out 4-component vector of float) +0:? 'sb' ( uniform samplerBuffer) +0:? 'sr' ( uniform sampler2DRect) +0:? 's2D' ( uniform sampler2D) +0:? 's3D' ( uniform sampler3D) +0:? 'sCube' ( uniform samplerCube) +0:? 'sCubeShadow' ( uniform samplerCubeShadow) +0:? 's2DShadow' ( uniform sampler2DShadow) +0:? 's2DArray' ( uniform sampler2DArray) +0:? 's2DArrayShadow' ( uniform sampler2DArrayShadow) +0:? 'is2D' ( uniform isampler2D) +0:? 'is3D' ( uniform isampler3D) +0:? 'isCube' ( uniform isamplerCube) +0:? 'is2DArray' ( uniform isampler2DArray) +0:? 'is2Dms' ( uniform isampler2DMS) +0:? 'us2D' ( uniform usampler2D) +0:? 'us3D' ( uniform usampler3D) +0:? 'usCube' ( uniform usamplerCube) +0:? 'us2DArray' ( uniform usampler2DArray) +0:? 'c1D' ( smooth in float) +0:? 'c2D' ( smooth in 2-component vector of float) +0:? 'c3D' ( smooth in 3-component vector of float) +0:? 'c4D' ( smooth in 4-component vector of float) +0:? 'ic1D' ( flat in int) +0:? 'ic2D' ( flat in 2-component vector of int) +0:? 'ic3D' ( flat in 3-component vector of int) +0:? 'ic4D' ( flat in 4-component vector of int) +0:? 'FragData' ( out 4-component vector of float) Linked fragment stage: @@ -265,259 +265,259 @@ Linked fragment stage: Shader version: 430 0:? Sequence -0:36 Function Definition: main( (global void) +0:36 Function Definition: main( ( global void) 0:36 Function Parameters: 0:38 Sequence 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of float) -0:38 'v' (temp 4-component vector of float) -0:38 texture (global 4-component vector of float) -0:38 's2D' (uniform sampler2D) -0:38 'c2D' (smooth in 2-component vector of float) -0:39 add second child into first child (temp 4-component vector of float) -0:39 'v' (temp 4-component vector of float) -0:39 textureProj (global 4-component vector of float) -0:39 's3D' (uniform sampler3D) -0:39 'c4D' (smooth in 4-component vector of float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'v' (temp 4-component vector of float) -0:40 textureLod (global 4-component vector of float) -0:40 's2DArray' (uniform sampler2DArray) -0:40 'c3D' (smooth in 3-component vector of float) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'v' ( temp 4-component vector of float) +0:38 texture ( global 4-component vector of float) +0:38 's2D' ( uniform sampler2D) +0:38 'c2D' ( smooth in 2-component vector of float) +0:39 add second child into first child ( temp 4-component vector of float) +0:39 'v' ( temp 4-component vector of float) +0:39 textureProj ( global 4-component vector of float) +0:39 's3D' ( uniform sampler3D) +0:39 'c4D' ( smooth in 4-component vector of float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'v' ( temp 4-component vector of float) +0:40 textureLod ( global 4-component vector of float) +0:40 's2DArray' ( uniform sampler2DArray) +0:40 'c3D' ( smooth in 3-component vector of float) 0:40 Constant: 0:40 1.200000 -0:41 add second child into first child (temp float) -0:41 direct index (temp float) -0:41 'v' (temp 4-component vector of float) +0:41 add second child into first child ( temp float) +0:41 direct index ( temp float) +0:41 'v' ( temp 4-component vector of float) 0:41 Constant: 0:41 1 (const int) -0:41 textureOffset (global float) -0:41 's2DShadow' (uniform sampler2DShadow) -0:41 'c3D' (smooth in 3-component vector of float) +0:41 textureOffset ( global float) +0:41 's2DShadow' ( uniform sampler2DShadow) +0:41 'c3D' ( smooth in 3-component vector of float) 0:41 Constant: 0:41 3 (const int) 0:41 3 (const int) -0:41 'c1D' (smooth in float) -0:42 add second child into first child (temp 4-component vector of float) -0:42 'v' (temp 4-component vector of float) -0:42 textureFetch (global 4-component vector of float) -0:42 's3D' (uniform sampler3D) -0:42 'ic3D' (flat in 3-component vector of int) -0:42 'ic1D' (flat in int) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'v' (temp 4-component vector of float) -0:43 textureFetchOffset (global 4-component vector of float) -0:43 's2D' (uniform sampler2D) -0:43 'ic2D' (flat in 2-component vector of int) +0:41 'c1D' ( smooth in float) +0:42 add second child into first child ( temp 4-component vector of float) +0:42 'v' ( temp 4-component vector of float) +0:42 textureFetch ( global 4-component vector of float) +0:42 's3D' ( uniform sampler3D) +0:42 'ic3D' ( flat in 3-component vector of int) +0:42 'ic1D' ( flat in int) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'v' ( temp 4-component vector of float) +0:43 textureFetchOffset ( global 4-component vector of float) +0:43 's2D' ( uniform sampler2D) +0:43 'ic2D' ( flat in 2-component vector of int) 0:43 Constant: 0:43 4 (const int) 0:43 Constant: 0:43 3 (const int) 0:43 3 (const int) -0:44 add second child into first child (temp 4-component vector of float) -0:44 'v' (temp 4-component vector of float) -0:44 textureFetchOffset (global 4-component vector of float) -0:44 'sr' (uniform sampler2DRect) -0:44 'ic2D' (flat in 2-component vector of int) +0:44 add second child into first child ( temp 4-component vector of float) +0:44 'v' ( temp 4-component vector of float) +0:44 textureFetchOffset ( global 4-component vector of float) +0:44 'sr' ( uniform sampler2DRect) +0:44 'ic2D' ( flat in 2-component vector of int) 0:44 Constant: 0:44 4 (const int) 0:44 4 (const int) -0:45 add second child into first child (temp float) -0:45 direct index (temp float) -0:45 'v' (temp 4-component vector of float) +0:45 add second child into first child ( temp float) +0:45 direct index ( temp float) +0:45 'v' ( temp 4-component vector of float) 0:45 Constant: 0:45 1 (const int) -0:45 textureLodOffset (global float) -0:45 's2DShadow' (uniform sampler2DShadow) -0:45 'c3D' (smooth in 3-component vector of float) -0:45 'c1D' (smooth in float) +0:45 textureLodOffset ( global float) +0:45 's2DShadow' ( uniform sampler2DShadow) +0:45 'c3D' ( smooth in 3-component vector of float) +0:45 'c1D' ( smooth in float) 0:45 Constant: 0:45 3 (const int) 0:45 3 (const int) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'v' (temp 4-component vector of float) -0:46 textureProjLodOffset (global 4-component vector of float) -0:46 's2D' (uniform sampler2D) -0:46 'c3D' (smooth in 3-component vector of float) -0:46 'c1D' (smooth in float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'v' ( temp 4-component vector of float) +0:46 textureProjLodOffset ( global 4-component vector of float) +0:46 's2D' ( uniform sampler2D) +0:46 'c3D' ( smooth in 3-component vector of float) +0:46 'c1D' ( smooth in float) 0:46 Constant: 0:46 3 (const int) 0:46 3 (const int) -0:47 add second child into first child (temp 4-component vector of float) -0:47 'v' (temp 4-component vector of float) -0:47 textureGrad (global 4-component vector of float) -0:47 'sCube' (uniform samplerCube) -0:47 'c3D' (smooth in 3-component vector of float) -0:47 'c3D' (smooth in 3-component vector of float) -0:47 'c3D' (smooth in 3-component vector of float) -0:48 add second child into first child (temp float) -0:48 direct index (temp float) -0:48 'v' (temp 4-component vector of float) +0:47 add second child into first child ( temp 4-component vector of float) +0:47 'v' ( temp 4-component vector of float) +0:47 textureGrad ( global 4-component vector of float) +0:47 'sCube' ( uniform samplerCube) +0:47 'c3D' ( smooth in 3-component vector of float) +0:47 'c3D' ( smooth in 3-component vector of float) +0:47 'c3D' ( smooth in 3-component vector of float) +0:48 add second child into first child ( temp float) +0:48 direct index ( temp float) +0:48 'v' ( temp 4-component vector of float) 0:48 Constant: 0:48 0 (const int) -0:48 textureGradOffset (global float) -0:48 's2DArrayShadow' (uniform sampler2DArrayShadow) -0:48 'c4D' (smooth in 4-component vector of float) -0:48 'c2D' (smooth in 2-component vector of float) -0:48 'c2D' (smooth in 2-component vector of float) +0:48 textureGradOffset ( global float) +0:48 's2DArrayShadow' ( uniform sampler2DArrayShadow) +0:48 'c4D' ( smooth in 4-component vector of float) +0:48 'c2D' ( smooth in 2-component vector of float) +0:48 'c2D' ( smooth in 2-component vector of float) 0:48 Constant: 0:48 3 (const int) 0:48 3 (const int) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'v' (temp 4-component vector of float) -0:49 textureProjGrad (global 4-component vector of float) -0:49 's3D' (uniform sampler3D) -0:49 'c4D' (smooth in 4-component vector of float) -0:49 'c3D' (smooth in 3-component vector of float) -0:49 'c3D' (smooth in 3-component vector of float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'v' (temp 4-component vector of float) -0:50 textureProjGradOffset (global 4-component vector of float) -0:50 's2D' (uniform sampler2D) -0:50 'c3D' (smooth in 3-component vector of float) -0:50 'c2D' (smooth in 2-component vector of float) -0:50 'c2D' (smooth in 2-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'v' ( temp 4-component vector of float) +0:49 textureProjGrad ( global 4-component vector of float) +0:49 's3D' ( uniform sampler3D) +0:49 'c4D' ( smooth in 4-component vector of float) +0:49 'c3D' ( smooth in 3-component vector of float) +0:49 'c3D' ( smooth in 3-component vector of float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'v' ( temp 4-component vector of float) +0:50 textureProjGradOffset ( global 4-component vector of float) +0:50 's2D' ( uniform sampler2D) +0:50 'c3D' ( smooth in 3-component vector of float) +0:50 'c2D' ( smooth in 2-component vector of float) +0:50 'c2D' ( smooth in 2-component vector of float) 0:50 Constant: 0:50 3 (const int) 0:50 3 (const int) 0:52 Sequence -0:52 move second child to first child (temp 4-component vector of int) -0:52 'iv' (temp 4-component vector of int) -0:52 texture (global 4-component vector of int) -0:52 'is2D' (uniform isampler2D) -0:52 'c2D' (smooth in 2-component vector of float) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'v' (temp 4-component vector of float) -0:53 Convert int to float (temp 4-component vector of float) -0:53 'iv' (temp 4-component vector of int) -0:54 move second child to first child (temp 4-component vector of int) -0:54 'iv' (temp 4-component vector of int) -0:54 textureProjOffset (global 4-component vector of int) -0:54 'is2D' (uniform isampler2D) -0:54 'c4D' (smooth in 4-component vector of float) +0:52 move second child to first child ( temp 4-component vector of int) +0:52 'iv' ( temp 4-component vector of int) +0:52 texture ( global 4-component vector of int) +0:52 'is2D' ( uniform isampler2D) +0:52 'c2D' ( smooth in 2-component vector of float) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'v' ( temp 4-component vector of float) +0:53 Convert int to float ( temp 4-component vector of float) +0:53 'iv' ( temp 4-component vector of int) +0:54 move second child to first child ( temp 4-component vector of int) +0:54 'iv' ( temp 4-component vector of int) +0:54 textureProjOffset ( global 4-component vector of int) +0:54 'is2D' ( uniform isampler2D) +0:54 'c4D' ( smooth in 4-component vector of float) 0:54 Constant: 0:54 3 (const int) 0:54 3 (const int) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'v' (temp 4-component vector of float) -0:55 Convert int to float (temp 4-component vector of float) -0:55 'iv' (temp 4-component vector of int) -0:56 move second child to first child (temp 4-component vector of int) -0:56 'iv' (temp 4-component vector of int) -0:56 textureProjLod (global 4-component vector of int) -0:56 'is2D' (uniform isampler2D) -0:56 'c3D' (smooth in 3-component vector of float) -0:56 'c1D' (smooth in float) -0:57 add second child into first child (temp 4-component vector of float) -0:57 'v' (temp 4-component vector of float) -0:57 Convert int to float (temp 4-component vector of float) -0:57 'iv' (temp 4-component vector of int) -0:58 move second child to first child (temp 4-component vector of int) -0:58 'iv' (temp 4-component vector of int) -0:58 textureProjGrad (global 4-component vector of int) -0:58 'is2D' (uniform isampler2D) -0:58 'c3D' (smooth in 3-component vector of float) -0:58 'c2D' (smooth in 2-component vector of float) -0:58 'c2D' (smooth in 2-component vector of float) -0:59 add second child into first child (temp 4-component vector of float) -0:59 'v' (temp 4-component vector of float) -0:59 Convert int to float (temp 4-component vector of float) -0:59 'iv' (temp 4-component vector of int) -0:60 move second child to first child (temp 4-component vector of int) -0:60 'iv' (temp 4-component vector of int) -0:60 texture (global 4-component vector of int) -0:60 'is3D' (uniform isampler3D) -0:60 'c3D' (smooth in 3-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'v' ( temp 4-component vector of float) +0:55 Convert int to float ( temp 4-component vector of float) +0:55 'iv' ( temp 4-component vector of int) +0:56 move second child to first child ( temp 4-component vector of int) +0:56 'iv' ( temp 4-component vector of int) +0:56 textureProjLod ( global 4-component vector of int) +0:56 'is2D' ( uniform isampler2D) +0:56 'c3D' ( smooth in 3-component vector of float) +0:56 'c1D' ( smooth in float) +0:57 add second child into first child ( temp 4-component vector of float) +0:57 'v' ( temp 4-component vector of float) +0:57 Convert int to float ( temp 4-component vector of float) +0:57 'iv' ( temp 4-component vector of int) +0:58 move second child to first child ( temp 4-component vector of int) +0:58 'iv' ( temp 4-component vector of int) +0:58 textureProjGrad ( global 4-component vector of int) +0:58 'is2D' ( uniform isampler2D) +0:58 'c3D' ( smooth in 3-component vector of float) +0:58 'c2D' ( smooth in 2-component vector of float) +0:58 'c2D' ( smooth in 2-component vector of float) +0:59 add second child into first child ( temp 4-component vector of float) +0:59 'v' ( temp 4-component vector of float) +0:59 Convert int to float ( temp 4-component vector of float) +0:59 'iv' ( temp 4-component vector of int) +0:60 move second child to first child ( temp 4-component vector of int) +0:60 'iv' ( temp 4-component vector of int) +0:60 texture ( global 4-component vector of int) +0:60 'is3D' ( uniform isampler3D) +0:60 'c3D' ( smooth in 3-component vector of float) 0:60 Constant: 0:60 4.200000 -0:61 add second child into first child (temp 4-component vector of float) -0:61 'v' (temp 4-component vector of float) -0:61 Convert int to float (temp 4-component vector of float) -0:61 'iv' (temp 4-component vector of int) -0:62 move second child to first child (temp 4-component vector of int) -0:62 'iv' (temp 4-component vector of int) -0:62 textureLod (global 4-component vector of int) -0:62 'isCube' (uniform isamplerCube) -0:62 'c3D' (smooth in 3-component vector of float) -0:62 'c1D' (smooth in float) -0:63 add second child into first child (temp 4-component vector of float) -0:63 'v' (temp 4-component vector of float) -0:63 Convert int to float (temp 4-component vector of float) -0:63 'iv' (temp 4-component vector of int) -0:64 move second child to first child (temp 4-component vector of int) -0:64 'iv' (temp 4-component vector of int) -0:64 textureFetch (global 4-component vector of int) -0:64 'is2DArray' (uniform isampler2DArray) -0:64 'ic3D' (flat in 3-component vector of int) -0:64 'ic1D' (flat in int) -0:65 add second child into first child (temp 4-component vector of float) -0:65 'v' (temp 4-component vector of float) -0:65 Convert int to float (temp 4-component vector of float) -0:65 'iv' (temp 4-component vector of int) -0:66 add second child into first child (temp 4-component vector of int) -0:66 'iv' (temp 4-component vector of int) -0:66 textureFetch (global 4-component vector of int) -0:66 'is2Dms' (uniform isampler2DMS) -0:66 'ic2D' (flat in 2-component vector of int) -0:66 'ic1D' (flat in int) -0:67 add second child into first child (temp 4-component vector of float) -0:67 'v' (temp 4-component vector of float) -0:67 Convert int to float (temp 4-component vector of float) -0:67 'iv' (temp 4-component vector of int) -0:68 add second child into first child (temp 4-component vector of float) -0:68 'v' (temp 4-component vector of float) -0:68 textureFetch (global 4-component vector of float) -0:68 'sb' (uniform samplerBuffer) -0:68 'ic1D' (flat in int) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'v' (temp 4-component vector of float) -0:69 textureFetch (global 4-component vector of float) -0:69 'sr' (uniform sampler2DRect) -0:69 'ic2D' (flat in 2-component vector of int) +0:61 add second child into first child ( temp 4-component vector of float) +0:61 'v' ( temp 4-component vector of float) +0:61 Convert int to float ( temp 4-component vector of float) +0:61 'iv' ( temp 4-component vector of int) +0:62 move second child to first child ( temp 4-component vector of int) +0:62 'iv' ( temp 4-component vector of int) +0:62 textureLod ( global 4-component vector of int) +0:62 'isCube' ( uniform isamplerCube) +0:62 'c3D' ( smooth in 3-component vector of float) +0:62 'c1D' ( smooth in float) +0:63 add second child into first child ( temp 4-component vector of float) +0:63 'v' ( temp 4-component vector of float) +0:63 Convert int to float ( temp 4-component vector of float) +0:63 'iv' ( temp 4-component vector of int) +0:64 move second child to first child ( temp 4-component vector of int) +0:64 'iv' ( temp 4-component vector of int) +0:64 textureFetch ( global 4-component vector of int) +0:64 'is2DArray' ( uniform isampler2DArray) +0:64 'ic3D' ( flat in 3-component vector of int) +0:64 'ic1D' ( flat in int) +0:65 add second child into first child ( temp 4-component vector of float) +0:65 'v' ( temp 4-component vector of float) +0:65 Convert int to float ( temp 4-component vector of float) +0:65 'iv' ( temp 4-component vector of int) +0:66 add second child into first child ( temp 4-component vector of int) +0:66 'iv' ( temp 4-component vector of int) +0:66 textureFetch ( global 4-component vector of int) +0:66 'is2Dms' ( uniform isampler2DMS) +0:66 'ic2D' ( flat in 2-component vector of int) +0:66 'ic1D' ( flat in int) +0:67 add second child into first child ( temp 4-component vector of float) +0:67 'v' ( temp 4-component vector of float) +0:67 Convert int to float ( temp 4-component vector of float) +0:67 'iv' ( temp 4-component vector of int) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'v' ( temp 4-component vector of float) +0:68 textureFetch ( global 4-component vector of float) +0:68 'sb' ( uniform samplerBuffer) +0:68 'ic1D' ( flat in int) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'v' ( temp 4-component vector of float) +0:69 textureFetch ( global 4-component vector of float) +0:69 'sr' ( uniform sampler2DRect) +0:69 'ic2D' ( flat in 2-component vector of int) 0:71 Sequence -0:71 move second child to first child (temp 2-component vector of int) -0:71 'iv2' (temp 2-component vector of int) -0:71 textureSize (global 2-component vector of int) -0:71 'sCubeShadow' (uniform samplerCubeShadow) +0:71 move second child to first child ( temp 2-component vector of int) +0:71 'iv2' ( temp 2-component vector of int) +0:71 textureSize ( global 2-component vector of int) +0:71 'sCubeShadow' ( uniform samplerCubeShadow) 0:71 Constant: 0:71 2 (const int) -0:74 move second child to first child (temp 4-component vector of float) -0:74 'FragData' (out 4-component vector of float) -0:74 add (temp 4-component vector of float) -0:74 'v' (temp 4-component vector of float) -0:74 Construct vec4 (temp 4-component vector of float) -0:74 Convert int to float (temp 2-component vector of float) -0:74 'iv2' (temp 2-component vector of int) +0:74 move second child to first child ( temp 4-component vector of float) +0:74 'FragData' ( out 4-component vector of float) +0:74 add ( temp 4-component vector of float) +0:74 'v' ( temp 4-component vector of float) +0:74 Construct vec4 ( temp 4-component vector of float) +0:74 Convert int to float ( temp 2-component vector of float) +0:74 'iv2' ( temp 2-component vector of int) 0:74 Constant: 0:74 0.000000 0:74 Constant: 0:74 0.000000 0:? Linker Objects -0:? 'sb' (uniform samplerBuffer) -0:? 'sr' (uniform sampler2DRect) -0:? 's2D' (uniform sampler2D) -0:? 's3D' (uniform sampler3D) -0:? 'sCube' (uniform samplerCube) -0:? 'sCubeShadow' (uniform samplerCubeShadow) -0:? 's2DShadow' (uniform sampler2DShadow) -0:? 's2DArray' (uniform sampler2DArray) -0:? 's2DArrayShadow' (uniform sampler2DArrayShadow) -0:? 'is2D' (uniform isampler2D) -0:? 'is3D' (uniform isampler3D) -0:? 'isCube' (uniform isamplerCube) -0:? 'is2DArray' (uniform isampler2DArray) -0:? 'is2Dms' (uniform isampler2DMS) -0:? 'us2D' (uniform usampler2D) -0:? 'us3D' (uniform usampler3D) -0:? 'usCube' (uniform usamplerCube) -0:? 'us2DArray' (uniform usampler2DArray) -0:? 'c1D' (smooth in float) -0:? 'c2D' (smooth in 2-component vector of float) -0:? 'c3D' (smooth in 3-component vector of float) -0:? 'c4D' (smooth in 4-component vector of float) -0:? 'ic1D' (flat in int) -0:? 'ic2D' (flat in 2-component vector of int) -0:? 'ic3D' (flat in 3-component vector of int) -0:? 'ic4D' (flat in 4-component vector of int) -0:? 'FragData' (out 4-component vector of float) +0:? 'sb' ( uniform samplerBuffer) +0:? 'sr' ( uniform sampler2DRect) +0:? 's2D' ( uniform sampler2D) +0:? 's3D' ( uniform sampler3D) +0:? 'sCube' ( uniform samplerCube) +0:? 'sCubeShadow' ( uniform samplerCubeShadow) +0:? 's2DShadow' ( uniform sampler2DShadow) +0:? 's2DArray' ( uniform sampler2DArray) +0:? 's2DArrayShadow' ( uniform sampler2DArrayShadow) +0:? 'is2D' ( uniform isampler2D) +0:? 'is3D' ( uniform isampler3D) +0:? 'isCube' ( uniform isamplerCube) +0:? 'is2DArray' ( uniform isampler2DArray) +0:? 'is2Dms' ( uniform isampler2DMS) +0:? 'us2D' ( uniform usampler2D) +0:? 'us3D' ( uniform usampler3D) +0:? 'usCube' ( uniform usamplerCube) +0:? 'us2DArray' ( uniform usampler2DArray) +0:? 'c1D' ( smooth in float) +0:? 'c2D' ( smooth in 2-component vector of float) +0:? 'c3D' ( smooth in 3-component vector of float) +0:? 'c4D' ( smooth in 4-component vector of float) +0:? 'ic1D' ( flat in int) +0:? 'ic2D' ( flat in 2-component vector of int) +0:? 'ic3D' ( flat in 3-component vector of int) +0:? 'ic4D' ( flat in 4-component vector of int) +0:? 'FragData' ( out 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/noMain.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/noMain.vert.out index 60ac3a3a5bf..dd26243856b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/noMain.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/noMain.vert.out @@ -1,11 +1,11 @@ noMain.vert Shader version: 300 0:? Sequence -0:3 Function Definition: foo( (global void) +0:3 Function Definition: foo( ( global void) 0:3 Function Parameters: 0:? Linker Objects -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) mains.frag ERROR: 0:7: 'main' : function already has a body @@ -14,9 +14,9 @@ ERROR: 1 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects @@ -31,13 +31,13 @@ Linked fragment stage: Shader version: 300 0:? Sequence 0:? Linker Objects -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Shader version: 300 ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonSquare.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonSquare.vert.out index c0753696a23..aa8a8273ba9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonSquare.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonSquare.vert.out @@ -1,34 +1,34 @@ nonSquare.vert Shader version: 120 0:? Sequence -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:? Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:20 'a' (temp 2-component vector of float) -0:20 vector-times-matrix (temp 2-component vector of float) -0:20 'v3' (in 3-component vector of float) -0:20 'm23' (temp 2X3 matrix of float) -0:21 move second child to first child (temp 2-component vector of float) -0:21 'b' (temp 2-component vector of float) -0:21 matrix-times-vector (temp 2-component vector of float) -0:21 'm32' (uniform 3X2 matrix of float) -0:21 'v3' (in 3-component vector of float) -0:23 move second child to first child (temp 4-component vector of float) -0:23 'gl_Position' (gl_Position 4-component vector of float Position) -0:24 add (temp 4-component vector of float) -0:24 add (temp 4-component vector of float) -0:24 add (temp 4-component vector of float) -0:23 add (temp 4-component vector of float) -0:23 Construct vec4 (temp 4-component vector of float) -0:23 matrix-times-vector (temp 3-component vector of float) -0:23 matrix-multiply (temp 3X3 matrix of float) -0:23 'm23' (temp 2X3 matrix of float) -0:23 'm32' (uniform 3X2 matrix of float) -0:23 'v3' (in 3-component vector of float) +0:20 move second child to first child ( temp 2-component vector of float) +0:20 'a' ( temp 2-component vector of float) +0:20 vector-times-matrix ( temp 2-component vector of float) +0:20 'v3' ( in 3-component vector of float) +0:20 'm23' ( temp 2X3 matrix of float) +0:21 move second child to first child ( temp 2-component vector of float) +0:21 'b' ( temp 2-component vector of float) +0:21 matrix-times-vector ( temp 2-component vector of float) +0:21 'm32' ( uniform 3X2 matrix of float) +0:21 'v3' ( in 3-component vector of float) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'gl_Position' ( gl_Position 4-component vector of float Position) +0:24 add ( temp 4-component vector of float) +0:24 add ( temp 4-component vector of float) +0:24 add ( temp 4-component vector of float) +0:23 add ( temp 4-component vector of float) +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 matrix-times-vector ( temp 3-component vector of float) +0:23 matrix-multiply ( temp 3X3 matrix of float) +0:23 'm23' ( temp 2X3 matrix of float) +0:23 'm32' ( uniform 3X2 matrix of float) +0:23 'v3' ( in 3-component vector of float) 0:23 Constant: 0:23 0.000000 -0:24 matrix-times-vector (temp 4-component vector of float) +0:24 matrix-times-vector ( temp 4-component vector of float) 0:24 Constant: 0:24 3.000000 0:24 6.000000 @@ -46,7 +46,7 @@ Shader version: 120 0:24 24.000000 0:24 0.000000 0:24 0.000000 -0:24 'v4' (in 4-component vector of float) +0:24 'v4' ( in 4-component vector of float) 0:24 Constant: 0:24 50.000000 0:24 110.000000 @@ -63,13 +63,13 @@ Shader version: 120 0:24 6.000000 0:24 5.000000 0:? Linker Objects -0:? 'v3' (in 3-component vector of float) -0:? 'v4' (in 4-component vector of float) -0:? 'm32' (uniform 3X2 matrix of float) -0:? 'cv2' (const 2-component vector of float) +0:? 'v3' ( in 3-component vector of float) +0:? 'v4' ( in 4-component vector of float) +0:? 'm32' ( uniform 3X2 matrix of float) +0:? 'cv2' ( const 2-component vector of float) 0:? 10.000000 0:? 20.000000 -0:? 'm24' (const 2X4 matrix of float) +0:? 'm24' ( const 2X4 matrix of float) 0:? 3.000000 0:? 0.000000 0:? 0.000000 @@ -78,7 +78,7 @@ Shader version: 120 0:? 3.000000 0:? 0.000000 0:? 0.000000 -0:? 'm42' (const 4X2 matrix of float) +0:? 'm42' ( const 4X2 matrix of float) 0:? 1.000000 0:? 2.000000 0:? 3.000000 @@ -94,34 +94,34 @@ Linked vertex stage: Shader version: 120 0:? Sequence -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:? Sequence -0:20 move second child to first child (temp 2-component vector of float) -0:20 'a' (temp 2-component vector of float) -0:20 vector-times-matrix (temp 2-component vector of float) -0:20 'v3' (in 3-component vector of float) -0:20 'm23' (temp 2X3 matrix of float) -0:21 move second child to first child (temp 2-component vector of float) -0:21 'b' (temp 2-component vector of float) -0:21 matrix-times-vector (temp 2-component vector of float) -0:21 'm32' (uniform 3X2 matrix of float) -0:21 'v3' (in 3-component vector of float) -0:23 move second child to first child (temp 4-component vector of float) -0:23 'gl_Position' (gl_Position 4-component vector of float Position) -0:24 add (temp 4-component vector of float) -0:24 add (temp 4-component vector of float) -0:24 add (temp 4-component vector of float) -0:23 add (temp 4-component vector of float) -0:23 Construct vec4 (temp 4-component vector of float) -0:23 matrix-times-vector (temp 3-component vector of float) -0:23 matrix-multiply (temp 3X3 matrix of float) -0:23 'm23' (temp 2X3 matrix of float) -0:23 'm32' (uniform 3X2 matrix of float) -0:23 'v3' (in 3-component vector of float) +0:20 move second child to first child ( temp 2-component vector of float) +0:20 'a' ( temp 2-component vector of float) +0:20 vector-times-matrix ( temp 2-component vector of float) +0:20 'v3' ( in 3-component vector of float) +0:20 'm23' ( temp 2X3 matrix of float) +0:21 move second child to first child ( temp 2-component vector of float) +0:21 'b' ( temp 2-component vector of float) +0:21 matrix-times-vector ( temp 2-component vector of float) +0:21 'm32' ( uniform 3X2 matrix of float) +0:21 'v3' ( in 3-component vector of float) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'gl_Position' ( gl_Position 4-component vector of float Position) +0:24 add ( temp 4-component vector of float) +0:24 add ( temp 4-component vector of float) +0:24 add ( temp 4-component vector of float) +0:23 add ( temp 4-component vector of float) +0:23 Construct vec4 ( temp 4-component vector of float) +0:23 matrix-times-vector ( temp 3-component vector of float) +0:23 matrix-multiply ( temp 3X3 matrix of float) +0:23 'm23' ( temp 2X3 matrix of float) +0:23 'm32' ( uniform 3X2 matrix of float) +0:23 'v3' ( in 3-component vector of float) 0:23 Constant: 0:23 0.000000 -0:24 matrix-times-vector (temp 4-component vector of float) +0:24 matrix-times-vector ( temp 4-component vector of float) 0:24 Constant: 0:24 3.000000 0:24 6.000000 @@ -139,7 +139,7 @@ Shader version: 120 0:24 24.000000 0:24 0.000000 0:24 0.000000 -0:24 'v4' (in 4-component vector of float) +0:24 'v4' ( in 4-component vector of float) 0:24 Constant: 0:24 50.000000 0:24 110.000000 @@ -156,13 +156,13 @@ Shader version: 120 0:24 6.000000 0:24 5.000000 0:? Linker Objects -0:? 'v3' (in 3-component vector of float) -0:? 'v4' (in 4-component vector of float) -0:? 'm32' (uniform 3X2 matrix of float) -0:? 'cv2' (const 2-component vector of float) +0:? 'v3' ( in 3-component vector of float) +0:? 'v4' ( in 4-component vector of float) +0:? 'm32' ( uniform 3X2 matrix of float) +0:? 'cv2' ( const 2-component vector of float) 0:? 10.000000 0:? 20.000000 -0:? 'm24' (const 2X4 matrix of float) +0:? 'm24' ( const 2X4 matrix of float) 0:? 3.000000 0:? 0.000000 0:? 0.000000 @@ -171,7 +171,7 @@ Shader version: 120 0:? 3.000000 0:? 0.000000 0:? 0.000000 -0:? 'm42' (const 4X2 matrix of float) +0:? 'm42' ( const 4X2 matrix of float) 0:? 1.000000 0:? 2.000000 0:? 3.000000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonVulkan.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonVulkan.frag.out index 8e03610e0d3..236f5a84714 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonVulkan.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nonVulkan.frag.out @@ -10,10 +10,10 @@ ERROR: 4 compilation errors. No code generated. Shader version: 450 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'arraySize' (specialization-constant const int) +0:? 'arraySize' ( specialization-constant const int) 0:? 12 (const int) -0:? 'foo' (temp int) -0:? 'ubi' (layout(column_major std430 push_constant ) uniform block{layout(column_major std430 offset=0 ) uniform int a}) +0:? 'foo' ( temp int) +0:? 'ubi' (layout( column_major std430 push_constant) uniform block{layout( column_major std430 offset=0) uniform int a}) Linked fragment stage: @@ -23,8 +23,8 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr Shader version: 450 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'arraySize' (specialization-constant const int) +0:? 'arraySize' ( specialization-constant const int) 0:? 12 (const int) -0:? 'foo' (temp int) -0:? 'ubi' (layout(column_major std430 push_constant ) uniform block{layout(column_major std430 offset=0 ) uniform int a}) +0:? 'foo' ( temp int) +0:? 'ubi' (layout( column_major std430 push_constant) uniform block{layout( column_major std430 offset=0) uniform int a}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nosuffix.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nosuffix.out new file mode 100644 index 00000000000..d881c5b8721 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/nosuffix.out @@ -0,0 +1,15 @@ +nosuffix +Shader version: 100 +0:? Sequence +0:1 Function Definition: main( ( global void) +0:1 Function Parameters: +0:3 Sequence +0:3 move second child to first child ( temp highp 4-component vector of float) +0:3 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:3 Constant: +0:3 1.000000 +0:3 1.000000 +0:3 1.000000 +0:3 1.000000 +0:? Linker Objects + diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/numeral.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/numeral.frag.out index e5b20410560..22f4a949895 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/numeral.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/numeral.frag.out @@ -17,407 +17,407 @@ ERROR: 12 compilation errors. No code generated. Shader version: 400 ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'o00' (temp int) +0:5 move second child to first child ( temp int) +0:5 'o00' ( temp int) 0:5 Constant: 0:5 0 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'o000' (temp int) +0:6 move second child to first child ( temp int) +0:6 'o000' ( temp int) 0:6 Constant: 0:6 0 (const int) 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'o0000' (temp int) +0:7 move second child to first child ( temp int) +0:7 'o0000' ( temp int) 0:7 Constant: 0:7 0 (const int) 0:8 Sequence -0:8 move second child to first child (temp int) -0:8 'o5' (temp int) +0:8 move second child to first child ( temp int) +0:8 'o5' ( temp int) 0:8 Constant: 0:8 5 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'o05' (temp int) +0:9 move second child to first child ( temp int) +0:9 'o05' ( temp int) 0:9 Constant: 0:9 5 (const int) 0:10 Sequence -0:10 move second child to first child (temp int) -0:10 'o006' (temp int) +0:10 move second child to first child ( temp int) +0:10 'o006' ( temp int) 0:10 Constant: 0:10 6 (const int) 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'o7' (temp int) +0:11 move second child to first child ( temp int) +0:11 'o7' ( temp int) 0:11 Constant: 0:11 7 (const int) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'o58' (temp int) +0:12 move second child to first child ( temp int) +0:12 'o58' ( temp int) 0:12 Constant: 0:12 58 (const int) 0:13 Sequence -0:13 move second child to first child (temp int) -0:13 'omax' (temp int) +0:13 move second child to first child ( temp int) +0:13 'omax' ( temp int) 0:13 Constant: 0:13 -1 (const int) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'o8' (temp int) +0:14 move second child to first child ( temp int) +0:14 'o8' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:15 Sequence -0:15 move second child to first child (temp int) -0:15 'o08' (temp int) +0:15 move second child to first child ( temp int) +0:15 'o08' ( temp int) 0:15 Constant: 0:15 0 (const int) 0:16 Sequence -0:16 move second child to first child (temp int) -0:16 'o009' (temp int) +0:16 move second child to first child ( temp int) +0:16 'o009' ( temp int) 0:16 Constant: 0:16 0 (const int) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'obig' (temp int) +0:17 move second child to first child ( temp int) +0:17 'obig' ( temp int) 0:17 Constant: 0:17 995208915 (const int) 0:18 Sequence -0:18 move second child to first child (temp int) -0:18 'omax1' (temp int) +0:18 move second child to first child ( temp int) +0:18 'omax1' ( temp int) 0:18 Constant: 0:18 536870912 (const int) 0:20 Sequence -0:20 move second child to first child (temp uint) -0:20 'uo5' (temp uint) +0:20 move second child to first child ( temp uint) +0:20 'uo5' ( temp uint) 0:20 Constant: 0:20 5 (const uint) 0:21 Sequence -0:21 move second child to first child (temp uint) -0:21 'uo6' (temp uint) +0:21 move second child to first child ( temp uint) +0:21 'uo6' ( temp uint) 0:21 Constant: 0:21 6 (const uint) 0:22 Sequence -0:22 move second child to first child (temp uint) -0:22 'uo7' (temp uint) +0:22 move second child to first child ( temp uint) +0:22 'uo7' ( temp uint) 0:22 Constant: 0:22 7 (const uint) 0:23 Sequence -0:23 move second child to first child (temp uint) -0:23 'uo8' (temp uint) +0:23 move second child to first child ( temp uint) +0:23 'uo8' ( temp uint) 0:23 Constant: 0:23 0 (const uint) 0:24 Sequence -0:24 move second child to first child (temp uint) -0:24 'uo9' (temp uint) +0:24 move second child to first child ( temp uint) +0:24 'uo9' ( temp uint) 0:24 Constant: 0:24 0 (const uint) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'h0' (temp int) +0:26 move second child to first child ( temp int) +0:26 'h0' ( temp int) 0:26 Constant: 0:26 0 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'h00' (temp int) +0:27 move second child to first child ( temp int) +0:27 'h00' ( temp int) 0:27 Constant: 0:27 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'h000' (temp int) +0:28 move second child to first child ( temp int) +0:28 'h000' ( temp int) 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'h1' (temp int) +0:29 move second child to first child ( temp int) +0:29 'h1' ( temp int) 0:29 Constant: 0:29 1 (const int) 0:30 Sequence -0:30 move second child to first child (temp int) -0:30 'h2' (temp int) +0:30 move second child to first child ( temp int) +0:30 'h2' ( temp int) 0:30 Constant: 0:30 2 (const int) 0:31 Sequence -0:31 move second child to first child (temp int) -0:31 'h300' (temp int) +0:31 move second child to first child ( temp int) +0:31 'h300' ( temp int) 0:31 Constant: 0:31 768 (const int) 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'hABCDEF' (temp int) +0:32 move second child to first child ( temp int) +0:32 'hABCDEF' ( temp int) 0:32 Constant: 0:32 11259375 (const int) 0:33 Sequence -0:33 move second child to first child (temp int) -0:33 'hFFFFFFFF' (temp int) +0:33 move second child to first child ( temp int) +0:33 'hFFFFFFFF' ( temp int) 0:33 Constant: 0:33 -1 (const int) 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'h12345678' (temp int) +0:34 move second child to first child ( temp int) +0:34 'h12345678' ( temp int) 0:34 Constant: 0:34 12345678 (const int) 0:35 Sequence -0:35 move second child to first child (temp int) -0:35 'hToBeOrNotToBe' (temp int) +0:35 move second child to first child ( temp int) +0:35 'hToBeOrNotToBe' ( temp int) 0:35 Constant: 0:35 -1 (const int) 0:37 Sequence -0:37 move second child to first child (temp uint) -0:37 'uh0' (temp uint) +0:37 move second child to first child ( temp uint) +0:37 'uh0' ( temp uint) 0:37 Constant: 0:37 0 (const uint) 0:38 Sequence -0:38 move second child to first child (temp uint) -0:38 'uhg' (temp uint) +0:38 move second child to first child ( temp uint) +0:38 'uhg' ( temp uint) 0:38 Constant: 0:38 12 (const uint) 0:39 Sequence -0:39 move second child to first child (temp uint) -0:39 'uh000' (temp uint) +0:39 move second child to first child ( temp uint) +0:39 'uh000' ( temp uint) 0:39 Constant: 0:39 0 (const uint) 0:40 Sequence -0:40 move second child to first child (temp uint) -0:40 'uh1' (temp uint) +0:40 move second child to first child ( temp uint) +0:40 'uh1' ( temp uint) 0:40 Constant: 0:40 1 (const uint) 0:41 Sequence -0:41 move second child to first child (temp uint) -0:41 'uh2' (temp uint) +0:41 move second child to first child ( temp uint) +0:41 'uh2' ( temp uint) 0:41 Constant: 0:41 2 (const uint) 0:42 Sequence -0:42 move second child to first child (temp uint) -0:42 'uh300' (temp uint) +0:42 move second child to first child ( temp uint) +0:42 'uh300' ( temp uint) 0:42 Constant: 0:42 768 (const uint) 0:43 Sequence -0:43 move second child to first child (temp uint) -0:43 'uhABCDEF' (temp uint) +0:43 move second child to first child ( temp uint) +0:43 'uhABCDEF' ( temp uint) 0:43 Constant: 0:43 11259375 (const uint) 0:44 Sequence -0:44 move second child to first child (temp uint) -0:44 'uhFFFFFFFF' (temp uint) +0:44 move second child to first child ( temp uint) +0:44 'uhFFFFFFFF' ( temp uint) 0:44 Constant: 0:44 4294967295 (const uint) 0:45 Sequence -0:45 move second child to first child (temp uint) -0:45 'uh12345678' (temp uint) +0:45 move second child to first child ( temp uint) +0:45 'uh12345678' ( temp uint) 0:45 Constant: 0:45 12345678 (const uint) 0:46 Sequence -0:46 move second child to first child (temp uint) -0:46 'uhToBeOrNotToBe' (temp uint) +0:46 move second child to first child ( temp uint) +0:46 'uhToBeOrNotToBe' ( temp uint) 0:46 Constant: 0:46 4294967295 (const uint) 0:49 Sequence -0:49 move second child to first child (temp int) -0:49 'he2' (temp int) +0:49 move second child to first child ( temp int) +0:49 'he2' ( temp int) 0:49 Constant: 0:49 0 (const int) 0:50 Sequence -0:50 move second child to first child (temp int) -0:50 'hbig' (temp int) +0:50 move second child to first child ( temp int) +0:50 'hbig' ( temp int) 0:50 Constant: 0:50 -1 (const int) 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'f1' (temp float) +0:52 move second child to first child ( temp float) +0:52 'f1' ( temp float) 0:52 Constant: 0:52 1.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'f2' (temp float) +0:53 move second child to first child ( temp float) +0:53 'f2' ( temp float) 0:53 Constant: 0:53 2.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'f3' (temp float) +0:54 move second child to first child ( temp float) +0:54 'f3' ( temp float) 0:54 Constant: 0:54 3.000000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'f4' (temp float) +0:55 move second child to first child ( temp float) +0:55 'f4' ( temp float) 0:55 Constant: 0:55 4.000000 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'f5' (temp float) +0:56 move second child to first child ( temp float) +0:56 'f5' ( temp float) 0:56 Constant: 0:56 5.000000 0:57 Sequence -0:57 move second child to first child (temp float) -0:57 'f6' (temp float) +0:57 move second child to first child ( temp float) +0:57 'f6' ( temp float) 0:57 Constant: 0:57 6.000000 0:58 Sequence -0:58 move second child to first child (temp float) -0:58 'f7' (temp float) +0:58 move second child to first child ( temp float) +0:58 'f7' ( temp float) 0:58 Constant: 0:58 7.000000 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'f8' (temp float) +0:59 move second child to first child ( temp float) +0:59 'f8' ( temp float) 0:59 Constant: 0:59 8.000000 0:60 Sequence -0:60 move second child to first child (temp float) -0:60 'f9' (temp float) +0:60 move second child to first child ( temp float) +0:60 'f9' ( temp float) 0:60 Constant: 0:60 9.000000 0:61 Sequence -0:61 move second child to first child (temp float) -0:61 'f10' (temp float) +0:61 move second child to first child ( temp float) +0:61 'f10' ( temp float) 0:61 Constant: 0:61 10.000000 0:62 Sequence -0:62 move second child to first child (temp float) -0:62 'f11' (temp float) +0:62 move second child to first child ( temp float) +0:62 'f11' ( temp float) 0:62 Constant: 0:62 11.000000 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 'f12' (temp float) +0:63 move second child to first child ( temp float) +0:63 'f12' ( temp float) 0:63 Constant: 0:63 12.000000 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'f543' (temp float) +0:64 move second child to first child ( temp float) +0:64 'f543' ( temp float) 0:64 Constant: 0:64 543.000000 0:65 Sequence -0:65 move second child to first child (temp float) -0:65 'f6789' (temp float) +0:65 move second child to first child ( temp float) +0:65 'f6789' ( temp float) 0:65 Constant: 0:65 6789.000000 0:66 Sequence -0:66 move second child to first child (temp float) -0:66 'f88' (temp float) +0:66 move second child to first child ( temp float) +0:66 'f88' ( temp float) 0:66 Constant: 0:66 88.000000 0:68 Sequence -0:68 move second child to first child (temp float) -0:68 'g1' (temp float) +0:68 move second child to first child ( temp float) +0:68 'g1' ( temp float) 0:68 Constant: 0:68 53876.000000 0:69 Sequence -0:69 move second child to first child (temp float) -0:69 'g2' (temp float) +0:69 move second child to first child ( temp float) +0:69 'g2' ( temp float) 0:69 Constant: 0:69 0.040000 0:70 Sequence -0:70 move second child to first child (temp float) -0:70 'g3' (temp float) +0:70 move second child to first child ( temp float) +0:70 'g3' ( temp float) 0:70 Constant: 0:70 100000.000000 0:71 Sequence -0:71 move second child to first child (temp float) -0:71 'g4' (temp float) +0:71 move second child to first child ( temp float) +0:71 'g4' ( temp float) 0:71 Constant: 0:71 0.007321 0:72 Sequence -0:72 move second child to first child (temp float) -0:72 'g5' (temp float) +0:72 move second child to first child ( temp float) +0:72 'g5' ( temp float) 0:72 Constant: 0:72 32000.000000 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'g6' (temp float) +0:73 move second child to first child ( temp float) +0:73 'g6' ( temp float) 0:73 Constant: 0:73 0.000005 0:74 Sequence -0:74 move second child to first child (temp float) -0:74 'g7' (temp float) +0:74 move second child to first child ( temp float) +0:74 'g7' ( temp float) 0:74 Constant: 0:74 0.450000 0:75 Sequence -0:75 move second child to first child (temp float) -0:75 'g8' (temp float) +0:75 move second child to first child ( temp float) +0:75 'g8' ( temp float) 0:75 Constant: 0:75 60000000000.000000 0:77 Sequence -0:77 move second child to first child (temp double) -0:77 'gf1' (temp double) +0:77 move second child to first child ( temp double) +0:77 'gf1' ( temp double) 0:77 Constant: 0:77 1.000000 0:78 Sequence -0:78 move second child to first child (temp double) -0:78 'gf2' (temp double) +0:78 move second child to first child ( temp double) +0:78 'gf2' ( temp double) 0:78 Constant: 0:78 2.000000 0:79 Sequence -0:79 move second child to first child (temp double) -0:79 'gf3' (temp double) +0:79 move second child to first child ( temp double) +0:79 'gf3' ( temp double) 0:79 Constant: 0:79 3.000000 0:80 Sequence -0:80 move second child to first child (temp double) -0:80 'gf4' (temp double) +0:80 move second child to first child ( temp double) +0:80 'gf4' ( temp double) 0:80 Constant: 0:80 4.000000 0:81 Sequence -0:81 move second child to first child (temp float) -0:81 'gf5' (temp float) +0:81 move second child to first child ( temp float) +0:81 'gf5' ( temp float) 0:81 Constant: 0:81 5.000000 0:82 Sequence -0:82 move second child to first child (temp float) -0:82 'gf6' (temp float) +0:82 move second child to first child ( temp float) +0:82 'gf6' ( temp float) 0:82 Constant: 0:82 6.000000 0:88 Sequence -0:88 move second child to first child (temp float) -0:88 'e5' (temp float) +0:88 move second child to first child ( temp float) +0:88 'e5' ( temp float) 0:88 Constant: 0:88 5.000000 0:98 Sequence -0:98 move second child to first child (temp uint) -0:98 'g1' (global uint) +0:98 move second child to first child ( temp uint) +0:98 'g1' ( global uint) 0:98 Constant: 0:98 4294967295 (const uint) 0:99 Sequence -0:99 move second child to first child (temp uint) -0:99 'g2' (global uint) +0:99 move second child to first child ( temp uint) +0:99 'g2' ( global uint) 0:99 Constant: 0:99 4294967295 (const uint) 0:100 Sequence -0:100 move second child to first child (temp uint) -0:100 'g3' (global uint) +0:100 move second child to first child ( temp uint) +0:100 'g3' ( global uint) 0:100 Constant: 0:100 4294967294 (const uint) 0:101 Sequence -0:101 move second child to first child (temp int) -0:101 'g4' (global int) +0:101 move second child to first child ( temp int) +0:101 'g4' ( global int) 0:101 Constant: 0:101 -1 (const int) 0:102 Sequence -0:102 move second child to first child (temp int) -0:102 'g5' (global int) +0:102 move second child to first child ( temp int) +0:102 'g5' ( global int) 0:102 Constant: 0:102 -1 (const int) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'g6' (global int) +0:103 move second child to first child ( temp int) +0:103 'g6' ( global int) 0:103 Constant: 0:103 -2 (const int) 0:? Linker Objects -0:? 'c2' (layout(location=2 ) out 4-component vector of float) -0:? 'c3' (layout(location=3 ) out 4-component vector of float) -0:? 'c4' (layout(location=4 ) out 4-component vector of float) -0:? 'c5' (layout(location=5 ) out 4-component vector of float) -0:? 'c6' (layout(location=6 ) out 4-component vector of float) -0:? 'c7' (layout(location=7 ) out 4-component vector of float) -0:? 'g1' (global uint) -0:? 'g2' (global uint) -0:? 'g3' (global uint) -0:? 'g4' (global int) -0:? 'g5' (global int) -0:? 'g6' (global int) +0:? 'c2' (layout( location=2) out 4-component vector of float) +0:? 'c3' (layout( location=3) out 4-component vector of float) +0:? 'c4' (layout( location=4) out 4-component vector of float) +0:? 'c5' (layout( location=5) out 4-component vector of float) +0:? 'c6' (layout( location=6) out 4-component vector of float) +0:? 'c7' (layout( location=7) out 4-component vector of float) +0:? 'g1' ( global uint) +0:? 'g2' ( global uint) +0:? 'g3' ( global uint) +0:? 'g4' ( global int) +0:? 'g5' ( global int) +0:? 'g6' ( global int) Linked fragment stage: @@ -425,405 +425,405 @@ Linked fragment stage: Shader version: 400 ERROR: node is still EOpNull! -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:5 Sequence 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'o00' (temp int) +0:5 move second child to first child ( temp int) +0:5 'o00' ( temp int) 0:5 Constant: 0:5 0 (const int) 0:6 Sequence -0:6 move second child to first child (temp int) -0:6 'o000' (temp int) +0:6 move second child to first child ( temp int) +0:6 'o000' ( temp int) 0:6 Constant: 0:6 0 (const int) 0:7 Sequence -0:7 move second child to first child (temp int) -0:7 'o0000' (temp int) +0:7 move second child to first child ( temp int) +0:7 'o0000' ( temp int) 0:7 Constant: 0:7 0 (const int) 0:8 Sequence -0:8 move second child to first child (temp int) -0:8 'o5' (temp int) +0:8 move second child to first child ( temp int) +0:8 'o5' ( temp int) 0:8 Constant: 0:8 5 (const int) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'o05' (temp int) +0:9 move second child to first child ( temp int) +0:9 'o05' ( temp int) 0:9 Constant: 0:9 5 (const int) 0:10 Sequence -0:10 move second child to first child (temp int) -0:10 'o006' (temp int) +0:10 move second child to first child ( temp int) +0:10 'o006' ( temp int) 0:10 Constant: 0:10 6 (const int) 0:11 Sequence -0:11 move second child to first child (temp int) -0:11 'o7' (temp int) +0:11 move second child to first child ( temp int) +0:11 'o7' ( temp int) 0:11 Constant: 0:11 7 (const int) 0:12 Sequence -0:12 move second child to first child (temp int) -0:12 'o58' (temp int) +0:12 move second child to first child ( temp int) +0:12 'o58' ( temp int) 0:12 Constant: 0:12 58 (const int) 0:13 Sequence -0:13 move second child to first child (temp int) -0:13 'omax' (temp int) +0:13 move second child to first child ( temp int) +0:13 'omax' ( temp int) 0:13 Constant: 0:13 -1 (const int) 0:14 Sequence -0:14 move second child to first child (temp int) -0:14 'o8' (temp int) +0:14 move second child to first child ( temp int) +0:14 'o8' ( temp int) 0:14 Constant: 0:14 0 (const int) 0:15 Sequence -0:15 move second child to first child (temp int) -0:15 'o08' (temp int) +0:15 move second child to first child ( temp int) +0:15 'o08' ( temp int) 0:15 Constant: 0:15 0 (const int) 0:16 Sequence -0:16 move second child to first child (temp int) -0:16 'o009' (temp int) +0:16 move second child to first child ( temp int) +0:16 'o009' ( temp int) 0:16 Constant: 0:16 0 (const int) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'obig' (temp int) +0:17 move second child to first child ( temp int) +0:17 'obig' ( temp int) 0:17 Constant: 0:17 995208915 (const int) 0:18 Sequence -0:18 move second child to first child (temp int) -0:18 'omax1' (temp int) +0:18 move second child to first child ( temp int) +0:18 'omax1' ( temp int) 0:18 Constant: 0:18 536870912 (const int) 0:20 Sequence -0:20 move second child to first child (temp uint) -0:20 'uo5' (temp uint) +0:20 move second child to first child ( temp uint) +0:20 'uo5' ( temp uint) 0:20 Constant: 0:20 5 (const uint) 0:21 Sequence -0:21 move second child to first child (temp uint) -0:21 'uo6' (temp uint) +0:21 move second child to first child ( temp uint) +0:21 'uo6' ( temp uint) 0:21 Constant: 0:21 6 (const uint) 0:22 Sequence -0:22 move second child to first child (temp uint) -0:22 'uo7' (temp uint) +0:22 move second child to first child ( temp uint) +0:22 'uo7' ( temp uint) 0:22 Constant: 0:22 7 (const uint) 0:23 Sequence -0:23 move second child to first child (temp uint) -0:23 'uo8' (temp uint) +0:23 move second child to first child ( temp uint) +0:23 'uo8' ( temp uint) 0:23 Constant: 0:23 0 (const uint) 0:24 Sequence -0:24 move second child to first child (temp uint) -0:24 'uo9' (temp uint) +0:24 move second child to first child ( temp uint) +0:24 'uo9' ( temp uint) 0:24 Constant: 0:24 0 (const uint) 0:26 Sequence -0:26 move second child to first child (temp int) -0:26 'h0' (temp int) +0:26 move second child to first child ( temp int) +0:26 'h0' ( temp int) 0:26 Constant: 0:26 0 (const int) 0:27 Sequence -0:27 move second child to first child (temp int) -0:27 'h00' (temp int) +0:27 move second child to first child ( temp int) +0:27 'h00' ( temp int) 0:27 Constant: 0:27 0 (const int) 0:28 Sequence -0:28 move second child to first child (temp int) -0:28 'h000' (temp int) +0:28 move second child to first child ( temp int) +0:28 'h000' ( temp int) 0:28 Constant: 0:28 0 (const int) 0:29 Sequence -0:29 move second child to first child (temp int) -0:29 'h1' (temp int) +0:29 move second child to first child ( temp int) +0:29 'h1' ( temp int) 0:29 Constant: 0:29 1 (const int) 0:30 Sequence -0:30 move second child to first child (temp int) -0:30 'h2' (temp int) +0:30 move second child to first child ( temp int) +0:30 'h2' ( temp int) 0:30 Constant: 0:30 2 (const int) 0:31 Sequence -0:31 move second child to first child (temp int) -0:31 'h300' (temp int) +0:31 move second child to first child ( temp int) +0:31 'h300' ( temp int) 0:31 Constant: 0:31 768 (const int) 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'hABCDEF' (temp int) +0:32 move second child to first child ( temp int) +0:32 'hABCDEF' ( temp int) 0:32 Constant: 0:32 11259375 (const int) 0:33 Sequence -0:33 move second child to first child (temp int) -0:33 'hFFFFFFFF' (temp int) +0:33 move second child to first child ( temp int) +0:33 'hFFFFFFFF' ( temp int) 0:33 Constant: 0:33 -1 (const int) 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'h12345678' (temp int) +0:34 move second child to first child ( temp int) +0:34 'h12345678' ( temp int) 0:34 Constant: 0:34 12345678 (const int) 0:35 Sequence -0:35 move second child to first child (temp int) -0:35 'hToBeOrNotToBe' (temp int) +0:35 move second child to first child ( temp int) +0:35 'hToBeOrNotToBe' ( temp int) 0:35 Constant: 0:35 -1 (const int) 0:37 Sequence -0:37 move second child to first child (temp uint) -0:37 'uh0' (temp uint) +0:37 move second child to first child ( temp uint) +0:37 'uh0' ( temp uint) 0:37 Constant: 0:37 0 (const uint) 0:38 Sequence -0:38 move second child to first child (temp uint) -0:38 'uhg' (temp uint) +0:38 move second child to first child ( temp uint) +0:38 'uhg' ( temp uint) 0:38 Constant: 0:38 12 (const uint) 0:39 Sequence -0:39 move second child to first child (temp uint) -0:39 'uh000' (temp uint) +0:39 move second child to first child ( temp uint) +0:39 'uh000' ( temp uint) 0:39 Constant: 0:39 0 (const uint) 0:40 Sequence -0:40 move second child to first child (temp uint) -0:40 'uh1' (temp uint) +0:40 move second child to first child ( temp uint) +0:40 'uh1' ( temp uint) 0:40 Constant: 0:40 1 (const uint) 0:41 Sequence -0:41 move second child to first child (temp uint) -0:41 'uh2' (temp uint) +0:41 move second child to first child ( temp uint) +0:41 'uh2' ( temp uint) 0:41 Constant: 0:41 2 (const uint) 0:42 Sequence -0:42 move second child to first child (temp uint) -0:42 'uh300' (temp uint) +0:42 move second child to first child ( temp uint) +0:42 'uh300' ( temp uint) 0:42 Constant: 0:42 768 (const uint) 0:43 Sequence -0:43 move second child to first child (temp uint) -0:43 'uhABCDEF' (temp uint) +0:43 move second child to first child ( temp uint) +0:43 'uhABCDEF' ( temp uint) 0:43 Constant: 0:43 11259375 (const uint) 0:44 Sequence -0:44 move second child to first child (temp uint) -0:44 'uhFFFFFFFF' (temp uint) +0:44 move second child to first child ( temp uint) +0:44 'uhFFFFFFFF' ( temp uint) 0:44 Constant: 0:44 4294967295 (const uint) 0:45 Sequence -0:45 move second child to first child (temp uint) -0:45 'uh12345678' (temp uint) +0:45 move second child to first child ( temp uint) +0:45 'uh12345678' ( temp uint) 0:45 Constant: 0:45 12345678 (const uint) 0:46 Sequence -0:46 move second child to first child (temp uint) -0:46 'uhToBeOrNotToBe' (temp uint) +0:46 move second child to first child ( temp uint) +0:46 'uhToBeOrNotToBe' ( temp uint) 0:46 Constant: 0:46 4294967295 (const uint) 0:49 Sequence -0:49 move second child to first child (temp int) -0:49 'he2' (temp int) +0:49 move second child to first child ( temp int) +0:49 'he2' ( temp int) 0:49 Constant: 0:49 0 (const int) 0:50 Sequence -0:50 move second child to first child (temp int) -0:50 'hbig' (temp int) +0:50 move second child to first child ( temp int) +0:50 'hbig' ( temp int) 0:50 Constant: 0:50 -1 (const int) 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 'f1' (temp float) +0:52 move second child to first child ( temp float) +0:52 'f1' ( temp float) 0:52 Constant: 0:52 1.000000 0:53 Sequence -0:53 move second child to first child (temp float) -0:53 'f2' (temp float) +0:53 move second child to first child ( temp float) +0:53 'f2' ( temp float) 0:53 Constant: 0:53 2.000000 0:54 Sequence -0:54 move second child to first child (temp float) -0:54 'f3' (temp float) +0:54 move second child to first child ( temp float) +0:54 'f3' ( temp float) 0:54 Constant: 0:54 3.000000 0:55 Sequence -0:55 move second child to first child (temp float) -0:55 'f4' (temp float) +0:55 move second child to first child ( temp float) +0:55 'f4' ( temp float) 0:55 Constant: 0:55 4.000000 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 'f5' (temp float) +0:56 move second child to first child ( temp float) +0:56 'f5' ( temp float) 0:56 Constant: 0:56 5.000000 0:57 Sequence -0:57 move second child to first child (temp float) -0:57 'f6' (temp float) +0:57 move second child to first child ( temp float) +0:57 'f6' ( temp float) 0:57 Constant: 0:57 6.000000 0:58 Sequence -0:58 move second child to first child (temp float) -0:58 'f7' (temp float) +0:58 move second child to first child ( temp float) +0:58 'f7' ( temp float) 0:58 Constant: 0:58 7.000000 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 'f8' (temp float) +0:59 move second child to first child ( temp float) +0:59 'f8' ( temp float) 0:59 Constant: 0:59 8.000000 0:60 Sequence -0:60 move second child to first child (temp float) -0:60 'f9' (temp float) +0:60 move second child to first child ( temp float) +0:60 'f9' ( temp float) 0:60 Constant: 0:60 9.000000 0:61 Sequence -0:61 move second child to first child (temp float) -0:61 'f10' (temp float) +0:61 move second child to first child ( temp float) +0:61 'f10' ( temp float) 0:61 Constant: 0:61 10.000000 0:62 Sequence -0:62 move second child to first child (temp float) -0:62 'f11' (temp float) +0:62 move second child to first child ( temp float) +0:62 'f11' ( temp float) 0:62 Constant: 0:62 11.000000 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 'f12' (temp float) +0:63 move second child to first child ( temp float) +0:63 'f12' ( temp float) 0:63 Constant: 0:63 12.000000 0:64 Sequence -0:64 move second child to first child (temp float) -0:64 'f543' (temp float) +0:64 move second child to first child ( temp float) +0:64 'f543' ( temp float) 0:64 Constant: 0:64 543.000000 0:65 Sequence -0:65 move second child to first child (temp float) -0:65 'f6789' (temp float) +0:65 move second child to first child ( temp float) +0:65 'f6789' ( temp float) 0:65 Constant: 0:65 6789.000000 0:66 Sequence -0:66 move second child to first child (temp float) -0:66 'f88' (temp float) +0:66 move second child to first child ( temp float) +0:66 'f88' ( temp float) 0:66 Constant: 0:66 88.000000 0:68 Sequence -0:68 move second child to first child (temp float) -0:68 'g1' (temp float) +0:68 move second child to first child ( temp float) +0:68 'g1' ( temp float) 0:68 Constant: 0:68 53876.000000 0:69 Sequence -0:69 move second child to first child (temp float) -0:69 'g2' (temp float) +0:69 move second child to first child ( temp float) +0:69 'g2' ( temp float) 0:69 Constant: 0:69 0.040000 0:70 Sequence -0:70 move second child to first child (temp float) -0:70 'g3' (temp float) +0:70 move second child to first child ( temp float) +0:70 'g3' ( temp float) 0:70 Constant: 0:70 100000.000000 0:71 Sequence -0:71 move second child to first child (temp float) -0:71 'g4' (temp float) +0:71 move second child to first child ( temp float) +0:71 'g4' ( temp float) 0:71 Constant: 0:71 0.007321 0:72 Sequence -0:72 move second child to first child (temp float) -0:72 'g5' (temp float) +0:72 move second child to first child ( temp float) +0:72 'g5' ( temp float) 0:72 Constant: 0:72 32000.000000 0:73 Sequence -0:73 move second child to first child (temp float) -0:73 'g6' (temp float) +0:73 move second child to first child ( temp float) +0:73 'g6' ( temp float) 0:73 Constant: 0:73 0.000005 0:74 Sequence -0:74 move second child to first child (temp float) -0:74 'g7' (temp float) +0:74 move second child to first child ( temp float) +0:74 'g7' ( temp float) 0:74 Constant: 0:74 0.450000 0:75 Sequence -0:75 move second child to first child (temp float) -0:75 'g8' (temp float) +0:75 move second child to first child ( temp float) +0:75 'g8' ( temp float) 0:75 Constant: 0:75 60000000000.000000 0:77 Sequence -0:77 move second child to first child (temp double) -0:77 'gf1' (temp double) +0:77 move second child to first child ( temp double) +0:77 'gf1' ( temp double) 0:77 Constant: 0:77 1.000000 0:78 Sequence -0:78 move second child to first child (temp double) -0:78 'gf2' (temp double) +0:78 move second child to first child ( temp double) +0:78 'gf2' ( temp double) 0:78 Constant: 0:78 2.000000 0:79 Sequence -0:79 move second child to first child (temp double) -0:79 'gf3' (temp double) +0:79 move second child to first child ( temp double) +0:79 'gf3' ( temp double) 0:79 Constant: 0:79 3.000000 0:80 Sequence -0:80 move second child to first child (temp double) -0:80 'gf4' (temp double) +0:80 move second child to first child ( temp double) +0:80 'gf4' ( temp double) 0:80 Constant: 0:80 4.000000 0:81 Sequence -0:81 move second child to first child (temp float) -0:81 'gf5' (temp float) +0:81 move second child to first child ( temp float) +0:81 'gf5' ( temp float) 0:81 Constant: 0:81 5.000000 0:82 Sequence -0:82 move second child to first child (temp float) -0:82 'gf6' (temp float) +0:82 move second child to first child ( temp float) +0:82 'gf6' ( temp float) 0:82 Constant: 0:82 6.000000 0:88 Sequence -0:88 move second child to first child (temp float) -0:88 'e5' (temp float) +0:88 move second child to first child ( temp float) +0:88 'e5' ( temp float) 0:88 Constant: 0:88 5.000000 0:98 Sequence -0:98 move second child to first child (temp uint) -0:98 'g1' (global uint) +0:98 move second child to first child ( temp uint) +0:98 'g1' ( global uint) 0:98 Constant: 0:98 4294967295 (const uint) 0:99 Sequence -0:99 move second child to first child (temp uint) -0:99 'g2' (global uint) +0:99 move second child to first child ( temp uint) +0:99 'g2' ( global uint) 0:99 Constant: 0:99 4294967295 (const uint) 0:100 Sequence -0:100 move second child to first child (temp uint) -0:100 'g3' (global uint) +0:100 move second child to first child ( temp uint) +0:100 'g3' ( global uint) 0:100 Constant: 0:100 4294967294 (const uint) 0:101 Sequence -0:101 move second child to first child (temp int) -0:101 'g4' (global int) +0:101 move second child to first child ( temp int) +0:101 'g4' ( global int) 0:101 Constant: 0:101 -1 (const int) 0:102 Sequence -0:102 move second child to first child (temp int) -0:102 'g5' (global int) +0:102 move second child to first child ( temp int) +0:102 'g5' ( global int) 0:102 Constant: 0:102 -1 (const int) 0:103 Sequence -0:103 move second child to first child (temp int) -0:103 'g6' (global int) +0:103 move second child to first child ( temp int) +0:103 'g6' ( global int) 0:103 Constant: 0:103 -2 (const int) 0:? Linker Objects -0:? 'c2' (layout(location=2 ) out 4-component vector of float) -0:? 'c3' (layout(location=3 ) out 4-component vector of float) -0:? 'c4' (layout(location=4 ) out 4-component vector of float) -0:? 'c5' (layout(location=5 ) out 4-component vector of float) -0:? 'c6' (layout(location=6 ) out 4-component vector of float) -0:? 'c7' (layout(location=7 ) out 4-component vector of float) -0:? 'g1' (global uint) -0:? 'g2' (global uint) -0:? 'g3' (global uint) -0:? 'g4' (global int) -0:? 'g5' (global int) -0:? 'g6' (global int) +0:? 'c2' (layout( location=2) out 4-component vector of float) +0:? 'c3' (layout( location=3) out 4-component vector of float) +0:? 'c4' (layout( location=4) out 4-component vector of float) +0:? 'c5' (layout( location=5) out 4-component vector of float) +0:? 'c6' (layout( location=6) out 4-component vector of float) +0:? 'c7' (layout( location=7) out 4-component vector of float) +0:? 'g1' ( global uint) +0:? 'g2' ( global uint) +0:? 'g3' ( global uint) +0:? 'g4' ( global int) +0:? 'g5' ( global int) +0:? 'g6' ( global int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/pointCoord.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/pointCoord.frag.out index 5d53aea1809..f55f9bc44c2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/pointCoord.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/pointCoord.frag.out @@ -1,35 +1,35 @@ pointCoord.frag Shader version: 100 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:? Sequence -0:9 Test condition and select (temp void) +0:9 Test condition and select ( temp void) 0:9 Condition -0:9 Compare Less Than (temp bool) -0:9 length (global mediump float) -0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord) +0:9 Compare Less Than ( temp bool) +0:9 length ( global mediump float) +0:9 'gl_PointCoord' ( gl_PointCoord mediump 2-component vector of float PointCoord) 0:9 Constant: 0:9 0.300000 0:9 true case -0:10 move second child to first child (temp highp 4-component vector of float) -0:10 'color' (temp highp 4-component vector of float) -0:10 texture (global lowp 4-component vector of float, operation at mediump) -0:10 'sampler' (uniform lowp sampler2D) -0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord) +0:10 move second child to first child ( temp highp 4-component vector of float) +0:10 'color' ( temp highp 4-component vector of float) +0:10 texture ( global lowp 4-component vector of float, operation at mediump) +0:10 'sampler' ( uniform lowp sampler2D) +0:10 'gl_PointCoord' ( gl_PointCoord mediump 2-component vector of float PointCoord) 0:9 false case -0:12 move second child to first child (temp highp 4-component vector of float) -0:12 'color' (temp highp 4-component vector of float) +0:12 move second child to first child ( temp highp 4-component vector of float) +0:12 'color' ( temp highp 4-component vector of float) 0:12 Constant: 0:12 0.000000 0:12 0.000000 0:12 0.000000 0:12 0.000000 -0:14 move second child to first child (temp highp 4-component vector of float) -0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor) -0:14 'color' (temp highp 4-component vector of float) +0:14 move second child to first child ( temp highp 4-component vector of float) +0:14 'gl_FragColor' ( fragColor mediump 4-component vector of float FragColor) +0:14 'color' ( temp highp 4-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform lowp sampler2D) +0:? 'sampler' ( uniform lowp sampler2D) Linked fragment stage: @@ -37,33 +37,33 @@ Linked fragment stage: Shader version: 100 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:? Sequence -0:9 Test condition and select (temp void) +0:9 Test condition and select ( temp void) 0:9 Condition -0:9 Compare Less Than (temp bool) -0:9 length (global mediump float) -0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord) +0:9 Compare Less Than ( temp bool) +0:9 length ( global mediump float) +0:9 'gl_PointCoord' ( gl_PointCoord mediump 2-component vector of float PointCoord) 0:9 Constant: 0:9 0.300000 0:9 true case -0:10 move second child to first child (temp highp 4-component vector of float) -0:10 'color' (temp highp 4-component vector of float) -0:10 texture (global lowp 4-component vector of float, operation at mediump) -0:10 'sampler' (uniform lowp sampler2D) -0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord) +0:10 move second child to first child ( temp highp 4-component vector of float) +0:10 'color' ( temp highp 4-component vector of float) +0:10 texture ( global lowp 4-component vector of float, operation at mediump) +0:10 'sampler' ( uniform lowp sampler2D) +0:10 'gl_PointCoord' ( gl_PointCoord mediump 2-component vector of float PointCoord) 0:9 false case -0:12 move second child to first child (temp highp 4-component vector of float) -0:12 'color' (temp highp 4-component vector of float) +0:12 move second child to first child ( temp highp 4-component vector of float) +0:12 'color' ( temp highp 4-component vector of float) 0:12 Constant: 0:12 0.000000 0:12 0.000000 0:12 0.000000 0:12 0.000000 -0:14 move second child to first child (temp highp 4-component vector of float) -0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor) -0:14 'color' (temp highp 4-component vector of float) +0:14 move second child to first child ( temp highp 4-component vector of float) +0:14 'gl_FragColor' ( fragColor mediump 4-component vector of float FragColor) +0:14 'color' ( temp highp 4-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform lowp sampler2D) +0:? 'sampler' ( uniform lowp sampler2D) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise.tesc.out index 17c7d53f705..7beff892e42 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise.tesc.out @@ -7,360 +7,360 @@ Requested GL_EXT_shader_io_blocks Requested GL_EXT_tessellation_shader vertices = -1 0:? Sequence -0:5 Function Definition: minimal( (global float) +0:5 Function Definition: minimal( ( global float) 0:5 Function Parameters: 0:6 Sequence 0:6 Sequence -0:6 move second child to first child (temp float) -0:6 'result' (noContraction temp float) +0:6 move second child to first child ( temp float) +0:6 'result' ( noContraction temp float) 0:6 Constant: 0:6 5.000000 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'a' (noContraction temp float) +0:7 move second child to first child ( temp float) +0:7 'a' ( noContraction temp float) 0:7 Constant: 0:7 10.000000 0:8 Sequence -0:8 move second child to first child (temp float) -0:8 'b' (noContraction temp float) +0:8 move second child to first child ( temp float) +0:8 'b' ( noContraction temp float) 0:8 Constant: 0:8 20.000000 0:9 Sequence -0:9 move second child to first child (temp float) -0:9 'c' (noContraction temp float) +0:9 move second child to first child ( temp float) +0:9 'c' ( noContraction temp float) 0:9 Constant: 0:9 30.000000 0:10 Sequence -0:10 move second child to first child (temp float) -0:10 'd' (noContraction temp float) +0:10 move second child to first child ( temp float) +0:10 'd' ( noContraction temp float) 0:10 Constant: 0:10 40.000000 -0:11 move second child to first child (temp float) -0:11 'result' (noContraction temp float) -0:11 add (noContraction temp float) -0:11 component-wise multiply (noContraction temp float) -0:11 'a' (noContraction temp float) -0:11 'b' (noContraction temp float) -0:11 component-wise multiply (noContraction temp float) -0:11 'c' (noContraction temp float) -0:11 'd' (noContraction temp float) +0:11 move second child to first child ( temp float) +0:11 'result' ( noContraction temp float) +0:11 add ( noContraction temp float) +0:11 component-wise multiply ( noContraction temp float) +0:11 'a' ( noContraction temp float) +0:11 'b' ( noContraction temp float) +0:11 component-wise multiply ( noContraction temp float) +0:11 'c' ( noContraction temp float) +0:11 'd' ( noContraction temp float) 0:12 Branch: Return with expression -0:12 'result' (noContraction temp float) -0:15 Function Definition: continuous_assignment( (global void) +0:12 'result' ( noContraction temp float) +0:15 Function Definition: continuous_assignment( ( global void) 0:15 Function Parameters: 0:16 Sequence 0:16 Sequence -0:16 move second child to first child (temp float) -0:16 'result' (noContraction temp float) +0:16 move second child to first child ( temp float) +0:16 'result' ( noContraction temp float) 0:16 Constant: 0:16 5.000000 0:17 Sequence -0:17 move second child to first child (temp float) -0:17 'a' (noContraction temp float) +0:17 move second child to first child ( temp float) +0:17 'a' ( noContraction temp float) 0:17 Constant: 0:17 10.000000 0:18 Sequence -0:18 move second child to first child (temp float) -0:18 'b' (noContraction temp float) +0:18 move second child to first child ( temp float) +0:18 'b' ( noContraction temp float) 0:18 Constant: 0:18 20.000000 -0:19 move second child to first child (temp float) -0:19 'result' (noContraction temp float) -0:19 move second child to first child (temp float) -0:19 'a' (noContraction temp float) -0:19 add (noContraction temp float) -0:19 'b' (noContraction temp float) +0:19 move second child to first child ( temp float) +0:19 'result' ( noContraction temp float) +0:19 move second child to first child ( temp float) +0:19 'a' ( noContraction temp float) +0:19 add ( noContraction temp float) +0:19 'b' ( noContraction temp float) 0:19 Constant: 0:19 4.000000 -0:22 Function Definition: convert( (global void) +0:22 Function Definition: convert( ( global void) 0:22 Function Parameters: 0:? Sequence 0:24 Sequence -0:24 move second child to first child (temp float) -0:24 'a' (noContraction temp float) +0:24 move second child to first child ( temp float) +0:24 'a' ( noContraction temp float) 0:24 Constant: 0:24 10.000000 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'b' (noContraction temp float) +0:25 move second child to first child ( temp float) +0:25 'b' ( noContraction temp float) 0:25 Constant: 0:25 20.000000 -0:26 move second child to first child (temp float) -0:26 'b' (noContraction temp float) -0:26 add (noContraction temp float) -0:26 'a' (noContraction temp float) -0:26 'b' (noContraction temp float) -0:27 move second child to first child (temp double) -0:27 'result' (noContraction temp double) -0:27 Convert float to double (temp double) -0:27 'b' (noContraction temp float) -0:30 Function Definition: loop_for( (global float) +0:26 move second child to first child ( temp float) +0:26 'b' ( noContraction temp float) +0:26 add ( noContraction temp float) +0:26 'a' ( noContraction temp float) +0:26 'b' ( noContraction temp float) +0:27 move second child to first child ( temp double) +0:27 'result' ( noContraction temp double) +0:27 Convert float to double ( temp double) +0:27 'b' ( noContraction temp float) +0:30 Function Definition: loop_for( ( global float) 0:30 Function Parameters: 0:31 Sequence 0:31 Sequence -0:31 move second child to first child (temp float) -0:31 'r1' (noContraction temp float) +0:31 move second child to first child ( temp float) +0:31 'r1' ( noContraction temp float) 0:31 Constant: 0:31 5.000000 0:32 Sequence -0:32 move second child to first child (temp float) -0:32 'r2' (noContraction temp float) +0:32 move second child to first child ( temp float) +0:32 'r2' ( noContraction temp float) 0:32 Constant: 0:32 10.000000 0:33 Sequence -0:33 move second child to first child (temp int) -0:33 'a' (temp int) +0:33 move second child to first child ( temp int) +0:33 'a' ( temp int) 0:33 Constant: 0:33 10 (const int) 0:34 Sequence -0:34 move second child to first child (temp int) -0:34 'b' (noContraction temp int) +0:34 move second child to first child ( temp int) +0:34 'b' ( noContraction temp int) 0:34 Constant: 0:34 20 (const int) 0:35 Sequence -0:35 move second child to first child (temp int) -0:35 'c' (noContraction temp int) +0:35 move second child to first child ( temp int) +0:35 'c' ( noContraction temp int) 0:35 Constant: 0:35 30 (const int) 0:36 Sequence 0:36 Sequence -0:36 move second child to first child (temp int) -0:36 'i' (noContraction temp int) +0:36 move second child to first child ( temp int) +0:36 'i' ( noContraction temp int) 0:36 Constant: 0:36 0 (const int) 0:36 Loop with condition tested first 0:36 Loop Condition -0:36 Compare Less Than (temp bool) -0:36 'i' (temp int) -0:36 'a' (temp int) +0:36 Compare Less Than ( temp bool) +0:36 'i' ( temp int) +0:36 'a' ( temp int) 0:36 Loop Body 0:37 Sequence -0:37 add second child into first child (noContraction temp float) -0:37 'r1' (noContraction temp float) -0:37 add (noContraction temp float) -0:37 add (noContraction temp float) +0:37 add second child into first child ( noContraction temp float) +0:37 'r1' ( noContraction temp float) +0:37 add ( noContraction temp float) +0:37 add ( noContraction temp float) 0:37 Constant: 0:37 3.120000 -0:37 Convert int to float (temp float) -0:37 'b' (noContraction temp int) -0:37 Convert int to float (temp float) -0:37 'i' (noContraction temp int) -0:38 add second child into first child (noContraction temp int) -0:38 'c' (noContraction temp int) +0:37 Convert int to float ( temp float) +0:37 'b' ( noContraction temp int) +0:37 Convert int to float ( temp float) +0:37 'i' ( noContraction temp int) +0:38 add second child into first child ( noContraction temp int) +0:38 'c' ( noContraction temp int) 0:38 Constant: 0:38 1 (const int) 0:36 Loop Terminal Expression -0:36 Post-Increment (noContraction temp int) -0:36 'i' (noContraction temp int) -0:40 add second child into first child (temp int) -0:40 'a' (temp int) +0:36 Post-Increment ( noContraction temp int) +0:36 'i' ( noContraction temp int) +0:40 add second child into first child ( temp int) +0:40 'a' ( temp int) 0:40 Constant: 0:40 1 (const int) -0:41 move second child to first child (temp float) -0:41 'r2' (noContraction temp float) -0:41 Convert int to float (temp float) -0:41 'c' (noContraction temp int) +0:41 move second child to first child ( temp float) +0:41 'r2' ( noContraction temp float) +0:41 Convert int to float ( temp float) +0:41 'c' ( noContraction temp int) 0:42 Branch: Return with expression -0:42 Construct float (temp float) -0:42 add (temp float) -0:42 'r1' (noContraction temp float) -0:42 'r2' (noContraction temp float) -0:45 Function Definition: loop_array( (global void) +0:42 Construct float ( temp float) +0:42 add ( temp float) +0:42 'r1' ( noContraction temp float) +0:42 'r2' ( noContraction temp float) +0:45 Function Definition: loop_array( ( global void) 0:45 Function Parameters: 0:? Sequence 0:48 Sequence -0:48 move second child to first child (temp int) -0:48 'x' (noContraction temp int) +0:48 move second child to first child ( temp int) +0:48 'x' ( noContraction temp int) 0:48 Constant: 0:48 22 (const int) 0:49 Sequence -0:49 move second child to first child (temp int) -0:49 'y' (noContraction temp int) +0:49 move second child to first child ( temp int) +0:49 'y' ( noContraction temp int) 0:49 Constant: 0:49 33 (const int) -0:52 add second child into first child (noContraction temp float) -0:52 'result' (noContraction temp float) -0:52 add (noContraction temp float) -0:52 Convert int to float (temp float) -0:52 'x' (noContraction temp int) -0:52 Convert int to float (temp float) -0:52 'y' (noContraction temp int) +0:52 add second child into first child ( noContraction temp float) +0:52 'result' ( noContraction temp float) +0:52 add ( noContraction temp float) +0:52 Convert int to float ( temp float) +0:52 'x' ( noContraction temp int) +0:52 Convert int to float ( temp float) +0:52 'y' ( noContraction temp int) 0:54 Sequence 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'i' (temp int) +0:54 move second child to first child ( temp int) +0:54 'i' ( temp int) 0:54 Constant: 0:54 0 (const int) 0:54 Loop with condition tested first 0:54 Loop Condition -0:54 Compare Less Than (temp bool) -0:54 'i' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'i' ( temp int) 0:54 Constant: 0:54 3 (const int) 0:54 Loop Body 0:56 Sequence -0:56 add second child into first child (noContraction temp float) -0:56 'result' (noContraction temp float) -0:56 add (noContraction temp float) -0:56 indirect index (noContraction temp float) -0:56 'a0' (temp 3-element array of float) -0:56 'i' (temp int) +0:56 add second child into first child ( noContraction temp float) +0:56 'result' ( noContraction temp float) +0:56 add ( noContraction temp float) +0:56 indirect index ( noContraction temp float) +0:56 'a0' ( temp 3-element array of float) +0:56 'i' ( temp int) 0:56 Constant: 0:56 2.000000 -0:58 move second child to first child (temp float) -0:58 indirect index (noContraction temp float) -0:58 'a0' (noContraction temp 3-element array of float) -0:58 'i' (temp int) -0:58 subtract (noContraction temp float) +0:58 move second child to first child ( temp float) +0:58 indirect index ( noContraction temp float) +0:58 'a0' ( noContraction temp 3-element array of float) +0:58 'i' ( temp int) +0:58 subtract ( noContraction temp float) 0:58 Constant: 0:58 3.000000 -0:58 Post-Increment (noContraction temp float) -0:58 'result' (noContraction temp float) +0:58 Post-Increment ( noContraction temp float) +0:58 'result' ( noContraction temp float) 0:54 Loop Terminal Expression -0:54 Pre-Increment (temp int) -0:54 'i' (temp int) -0:62 Function Definition: loop_while( (global void) +0:54 Pre-Increment ( temp int) +0:54 'i' ( temp int) +0:62 Function Definition: loop_while( ( global void) 0:62 Function Parameters: 0:63 Sequence 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 'result' (noContraction temp float) +0:63 move second child to first child ( temp float) +0:63 'result' ( noContraction temp float) 0:63 Constant: 0:63 5.000000 0:64 Sequence -0:64 move second child to first child (temp int) -0:64 'a' (noContraction temp int) +0:64 move second child to first child ( temp int) +0:64 'a' ( noContraction temp int) 0:64 Constant: 0:64 10 (const int) 0:65 Sequence -0:65 move second child to first child (temp int) -0:65 'b' (noContraction temp int) +0:65 move second child to first child ( temp int) +0:65 'b' ( noContraction temp int) 0:65 Constant: 0:65 20 (const int) 0:66 Loop with condition tested first 0:66 Loop Condition -0:66 Compare Less Than (temp bool) -0:66 'result' (noContraction temp float) +0:66 Compare Less Than ( temp bool) +0:66 'result' ( noContraction temp float) 0:66 Constant: 0:66 10.000000 0:66 Loop Body 0:67 Sequence -0:67 add second child into first child (noContraction temp float) -0:67 'result' (noContraction temp float) -0:67 add (noContraction temp float) +0:67 add second child into first child ( noContraction temp float) +0:67 'result' ( noContraction temp float) +0:67 add ( noContraction temp float) 0:67 Constant: 0:67 3.120000 -0:67 Convert int to float (temp float) -0:67 'b' (noContraction temp int) -0:69 move second child to first child (temp float) -0:69 'result' (noContraction temp float) -0:69 Convert int to float (temp float) -0:69 add (temp int) -0:69 add (temp int) -0:69 'a' (noContraction temp int) -0:69 'b' (noContraction temp int) +0:67 Convert int to float ( temp float) +0:67 'b' ( noContraction temp int) +0:69 move second child to first child ( temp float) +0:69 'result' ( noContraction temp float) +0:69 Convert int to float ( temp float) +0:69 add ( temp int) +0:69 add ( temp int) +0:69 'a' ( noContraction temp int) +0:69 'b' ( noContraction temp int) 0:69 Constant: 0:69 5 (const int) -0:70 move second child to first child (temp float) -0:70 'result' (noContraction temp float) +0:70 move second child to first child ( temp float) +0:70 'result' ( noContraction temp float) 0:70 Constant: 0:70 11.100000 -0:73 Function Definition: fma_not_decorated( (global float) +0:73 Function Definition: fma_not_decorated( ( global float) 0:73 Function Parameters: 0:? Sequence 0:75 Sequence -0:75 move second child to first child (temp float) -0:75 'a' (noContraction temp float) +0:75 move second child to first child ( temp float) +0:75 'a' ( noContraction temp float) 0:75 Constant: 0:75 1.000000 0:76 Sequence -0:76 move second child to first child (temp float) -0:76 'b' (noContraction temp float) +0:76 move second child to first child ( temp float) +0:76 'b' ( noContraction temp float) 0:76 Constant: 0:76 2.000000 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'c' (noContraction temp float) +0:77 move second child to first child ( temp float) +0:77 'c' ( noContraction temp float) 0:77 Constant: 0:77 3.000000 -0:78 move second child to first child (temp float) -0:78 'b' (noContraction temp float) -0:78 add (noContraction temp float) -0:78 'b' (noContraction temp float) -0:78 'c' (noContraction temp float) -0:79 move second child to first child (temp float) -0:79 'result' (noContraction temp float) -0:79 fma (global float) -0:79 'a' (noContraction temp float) -0:79 'b' (noContraction temp float) -0:79 'c' (noContraction temp float) +0:78 move second child to first child ( temp float) +0:78 'b' ( noContraction temp float) +0:78 add ( noContraction temp float) +0:78 'b' ( noContraction temp float) +0:78 'c' ( noContraction temp float) +0:79 move second child to first child ( temp float) +0:79 'result' ( noContraction temp float) +0:79 fma ( global float) +0:79 'a' ( noContraction temp float) +0:79 'b' ( noContraction temp float) +0:79 'c' ( noContraction temp float) 0:80 Branch: Return with expression -0:80 'result' (noContraction temp float) -0:83 Function Definition: precise_return_exp_func( (noContraction temp float) +0:80 'result' ( noContraction temp float) +0:83 Function Definition: precise_return_exp_func( ( noContraction temp float) 0:83 Function Parameters: 0:84 Sequence 0:84 Sequence -0:84 move second child to first child (temp float) -0:84 'a' (noContraction temp float) +0:84 move second child to first child ( temp float) +0:84 'a' ( noContraction temp float) 0:84 Constant: 0:84 1.000000 0:85 Sequence -0:85 move second child to first child (temp float) -0:85 'b' (noContraction temp float) +0:85 move second child to first child ( temp float) +0:85 'b' ( noContraction temp float) 0:85 Constant: 0:85 2.000000 0:86 Branch: Return with expression -0:86 add (noContraction temp float) -0:86 'a' (noContraction temp float) -0:86 'b' (noContraction temp float) -0:89 Function Definition: precise_return_val_func( (noContraction temp float) +0:86 add ( noContraction temp float) +0:86 'a' ( noContraction temp float) +0:86 'b' ( noContraction temp float) +0:89 Function Definition: precise_return_val_func( ( noContraction temp float) 0:89 Function Parameters: 0:90 Sequence 0:90 Sequence -0:90 move second child to first child (temp float) -0:90 'a' (noContraction temp float) +0:90 move second child to first child ( temp float) +0:90 'a' ( noContraction temp float) 0:90 Constant: 0:90 1.000000 0:91 Sequence -0:91 move second child to first child (temp float) -0:91 'b' (noContraction temp float) +0:91 move second child to first child ( temp float) +0:91 'b' ( noContraction temp float) 0:91 Constant: 0:91 2.000000 0:92 Sequence -0:92 move second child to first child (temp float) -0:92 'result' (noContraction temp float) -0:92 add (noContraction temp float) -0:92 'a' (noContraction temp float) -0:92 'b' (noContraction temp float) +0:92 move second child to first child ( temp float) +0:92 'result' ( noContraction temp float) +0:92 add ( noContraction temp float) +0:92 'a' ( noContraction temp float) +0:92 'b' ( noContraction temp float) 0:93 Branch: Return with expression -0:93 'result' (noContraction temp float) -0:96 Function Definition: precise_func_parameter(f1;f1; (global float) +0:93 'result' ( noContraction temp float) +0:96 Function Definition: precise_func_parameter(f1;f1; ( global float) 0:96 Function Parameters: -0:96 'b' (in float) -0:96 'c' (noContraction out float) +0:96 'b' ( in float) +0:96 'c' ( noContraction out float) 0:97 Sequence 0:97 Sequence -0:97 move second child to first child (temp float) -0:97 'a' (noContraction temp float) +0:97 move second child to first child ( temp float) +0:97 'a' ( noContraction temp float) 0:97 Constant: 0:97 0.500000 -0:98 move second child to first child (temp float) -0:98 'c' (noContraction out float) -0:98 add (noContraction temp float) -0:98 'a' (noContraction temp float) -0:98 'b' (noContraction in float) +0:98 move second child to first child ( temp float) +0:98 'c' ( noContraction out float) +0:98 add ( noContraction temp float) +0:98 'a' ( noContraction temp float) +0:98 'b' ( noContraction in float) 0:99 Branch: Return with expression -0:99 subtract (temp float) -0:99 'a' (temp float) -0:99 'b' (in float) -0:102 Function Definition: matrix(mf23;mf32; (global 3X3 matrix of float) +0:99 subtract ( temp float) +0:99 'a' ( temp float) +0:99 'b' ( in float) +0:102 Function Definition: matrix(mf23;mf32; ( global 3X3 matrix of float) 0:102 Function Parameters: -0:102 'a' (in 2X3 matrix of float) -0:102 'b' (in 3X2 matrix of float) +0:102 'a' ( in 2X3 matrix of float) +0:102 'b' ( in 3X2 matrix of float) 0:103 Sequence 0:103 Sequence -0:103 move second child to first child (temp 2X3 matrix of float) -0:103 'c' (noContraction temp 2X3 matrix of float) +0:103 move second child to first child ( temp 2X3 matrix of float) +0:103 'c' ( noContraction temp 2X3 matrix of float) 0:103 Constant: 0:103 1.000000 0:103 2.000000 @@ -368,16 +368,16 @@ vertices = -1 0:103 4.000000 0:103 5.000000 0:103 6.000000 -0:105 move second child to first child (temp 3X3 matrix of float) -0:105 'result' (noContraction temp 3X3 matrix of float) -0:105 matrix-multiply (noContraction temp 3X3 matrix of float) -0:105 add (noContraction temp 2X3 matrix of float) -0:105 'a' (noContraction in 2X3 matrix of float) -0:105 'c' (noContraction temp 2X3 matrix of float) -0:105 'b' (noContraction in 3X2 matrix of float) +0:105 move second child to first child ( temp 3X3 matrix of float) +0:105 'result' ( noContraction temp 3X3 matrix of float) +0:105 matrix-multiply ( noContraction temp 3X3 matrix of float) +0:105 add ( noContraction temp 2X3 matrix of float) +0:105 'a' ( noContraction in 2X3 matrix of float) +0:105 'c' ( noContraction temp 2X3 matrix of float) +0:105 'b' ( noContraction in 3X2 matrix of float) 0:106 Branch: Return with expression -0:106 'result' (noContraction temp 3X3 matrix of float) -0:109 Function Definition: main( (global void) +0:106 'result' ( noContraction temp 3X3 matrix of float) +0:109 Function Definition: main( ( global void) 0:109 Function Parameters: 0:? Linker Objects @@ -392,7 +392,7 @@ Requested GL_EXT_shader_io_blocks Requested GL_EXT_tessellation_shader vertices = -1 0:? Sequence -0:109 Function Definition: main( (global void) +0:109 Function Definition: main( ( global void) 0:109 Function Parameters: 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out index e40fd0cd602..638bd1b5203 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out @@ -3,381 +3,381 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 0:? Sequence -0:11 Function Definition: struct_member( (global float) +0:11 Function Definition: struct_member( ( global float) 0:11 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp float) -0:12 'a' (noContraction temp float) +0:12 move second child to first child ( temp float) +0:12 'a' ( noContraction temp float) 0:12 Constant: 0:12 1.000000 0:13 Sequence -0:13 move second child to first child (temp float) -0:13 'b' (temp float) +0:13 move second child to first child ( temp float) +0:13 'b' ( temp float) 0:13 Constant: 0:13 2.000000 0:14 Sequence -0:14 move second child to first child (temp float) -0:14 'c' (temp float) +0:14 move second child to first child ( temp float) +0:14 'c' ( temp float) 0:14 Constant: 0:14 3.000000 0:15 Sequence -0:15 move second child to first child (temp float) -0:15 'd' (temp float) +0:15 move second child to first child ( temp float) +0:15 'd' ( temp float) 0:15 Constant: 0:15 4.000000 -0:21 move second child to first child (temp float) -0:21 f1: direct index for structure (noContraction global float) -0:21 'S2' (temp structure{global float f1, global float f2}) +0:21 move second child to first child ( temp float) +0:21 f1: direct index for structure ( noContraction global float) +0:21 'S2' ( temp structure{ global float f1, global float f2}) 0:21 Constant: 0:21 0 (const int) -0:21 add (noContraction temp float) -0:21 'a' (noContraction temp float) +0:21 add ( noContraction temp float) +0:21 'a' ( noContraction temp float) 0:21 Constant: 0:21 0.200000 -0:22 move second child to first child (temp float) -0:22 f2: direct index for structure (global float) -0:22 'S2' (temp structure{global float f1, global float f2}) +0:22 move second child to first child ( temp float) +0:22 f2: direct index for structure ( global float) +0:22 'S2' ( temp structure{ global float f1, global float f2}) 0:22 Constant: 0:22 1 (const int) -0:22 add (temp float) -0:22 'b' (temp float) +0:22 add ( temp float) +0:22 'b' ( temp float) 0:22 Constant: 0:22 0.200000 -0:23 move second child to first child (temp float) -0:23 f1: direct index for structure (global float) -0:23 'S3' (temp structure{global float f1, global float f2}) +0:23 move second child to first child ( temp float) +0:23 f1: direct index for structure ( global float) +0:23 'S3' ( temp structure{ global float f1, global float f2}) 0:23 Constant: 0:23 0 (const int) -0:23 add (temp float) -0:23 'a' (temp float) -0:23 'b' (temp float) -0:24 move second child to first child (temp structure{global float f1, global float f2}) -0:24 'S' (temp structure{global float f1, global float f2}) -0:24 'S2' (temp structure{global float f1, global float f2}) -0:25 move second child to first child (temp float) -0:25 'result' (noContraction temp float) -0:25 add (noContraction temp float) -0:25 f1: direct index for structure (noContraction global float) -0:25 'S' (temp structure{global float f1, global float f2}) +0:23 add ( temp float) +0:23 'a' ( temp float) +0:23 'b' ( temp float) +0:24 move second child to first child ( temp structure{ global float f1, global float f2}) +0:24 'S' ( temp structure{ global float f1, global float f2}) +0:24 'S2' ( temp structure{ global float f1, global float f2}) +0:25 move second child to first child ( temp float) +0:25 'result' ( noContraction temp float) +0:25 add ( noContraction temp float) +0:25 f1: direct index for structure ( noContraction global float) +0:25 'S' ( temp structure{ global float f1, global float f2}) 0:25 Constant: 0:25 0 (const int) 0:25 Constant: 0:25 0.100000 0:27 Branch: Return with expression -0:27 'result' (noContraction temp float) -0:30 Function Definition: complex_array_struct( (global float) +0:27 'result' ( noContraction temp float) +0:30 Function Definition: complex_array_struct( ( global float) 0:30 Function Parameters: 0:? Sequence 0:43 Sequence 0:43 Sequence -0:43 move second child to first child (temp int) -0:43 'i' (noContraction temp int) +0:43 move second child to first child ( temp int) +0:43 'i' ( noContraction temp int) 0:43 Constant: 0:43 0 (const int) 0:43 Loop with condition tested first 0:43 Loop Condition -0:43 Compare Less Than (temp bool) -0:43 'i' (temp int) +0:43 Compare Less Than ( temp bool) +0:43 'i' ( temp int) 0:43 Constant: 0:43 10 (const int) 0:43 Loop Body 0:44 Sequence -0:44 move second child to first child (temp float) -0:44 f: direct index for structure (temp float) -0:44 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:44 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:44 'i' (temp int) +0:44 move second child to first child ( temp float) +0:44 f: direct index for structure ( temp float) +0:44 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:44 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:44 'i' ( temp int) 0:44 Constant: 0:44 0 (const int) -0:44 divide (temp float) -0:44 Convert int to float (temp float) -0:44 'i' (temp int) +0:44 divide ( temp float) +0:44 Convert int to float ( temp float) +0:44 'i' ( temp int) 0:44 Constant: 0:44 3.000000 -0:45 move second child to first child (temp 4-component vector of float) -0:45 v: direct index for structure (noContraction temp 4-component vector of float) -0:45 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:45 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:45 'i' (temp int) +0:45 move second child to first child ( temp 4-component vector of float) +0:45 v: direct index for structure ( noContraction temp 4-component vector of float) +0:45 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:45 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:45 'i' ( temp int) 0:45 Constant: 0:45 2 (const int) -0:45 Construct vec4 (temp 4-component vector of float) -0:45 component-wise multiply (noContraction temp float) -0:45 Convert int to float (temp float) -0:45 'i' (noContraction temp int) +0:45 Construct vec4 ( temp 4-component vector of float) +0:45 component-wise multiply ( noContraction temp float) +0:45 Convert int to float ( temp float) +0:45 'i' ( noContraction temp int) 0:45 Constant: 0:45 1.500000 -0:46 move second child to first child (temp int) -0:46 p: direct index for structure (temp int) -0:46 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:46 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:46 'i' (temp int) +0:46 move second child to first child ( temp int) +0:46 p: direct index for structure ( temp int) +0:46 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:46 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:46 'i' ( temp int) 0:46 Constant: 0:46 3 (const int) -0:46 add (temp int) -0:46 'i' (temp int) +0:46 add ( temp int) +0:46 'i' ( temp int) 0:46 Constant: 0:46 1 (const int) 0:47 Sequence 0:47 Sequence -0:47 move second child to first child (temp int) -0:47 'j' (temp int) +0:47 move second child to first child ( temp int) +0:47 'j' ( temp int) 0:47 Constant: 0:47 0 (const int) 0:47 Loop with condition tested first 0:47 Loop Condition -0:47 Compare Less Than (temp bool) -0:47 'j' (temp int) +0:47 Compare Less Than ( temp bool) +0:47 'j' ( temp int) 0:47 Constant: 0:47 5 (const int) 0:47 Loop Body 0:48 Sequence 0:48 Sequence 0:48 Sequence -0:48 move second child to first child (temp int) -0:48 'k' (temp int) +0:48 move second child to first child ( temp int) +0:48 'k' ( temp int) 0:48 Constant: 0:48 0 (const int) 0:48 Loop with condition tested first 0:48 Loop Condition -0:48 Compare Less Than (temp bool) -0:48 'k' (temp int) +0:48 Compare Less Than ( temp bool) +0:48 'k' ( temp int) 0:48 Constant: 0:48 3 (const int) 0:48 Loop Body 0:49 Sequence -0:49 move second child to first child (temp float) -0:49 indirect index (temp float) -0:49 t1_array: direct index for structure (temp 3-element array of float) -0:49 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:49 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:49 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:49 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:49 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:49 'i' (temp int) +0:49 move second child to first child ( temp float) +0:49 indirect index ( temp float) +0:49 t1_array: direct index for structure ( temp 3-element array of float) +0:49 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:49 t1a: direct index for structure ( temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:49 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:49 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:49 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:49 'i' ( temp int) 0:49 Constant: 0:49 1 (const int) 0:49 Constant: 0:49 0 (const int) -0:49 'j' (temp int) +0:49 'j' ( temp int) 0:49 Constant: 0:49 0 (const int) -0:49 'k' (temp int) -0:49 Convert int to float (temp float) -0:49 add (temp int) -0:49 component-wise multiply (temp int) -0:49 'i' (temp int) -0:49 'j' (temp int) -0:49 'k' (temp int) +0:49 'k' ( temp int) +0:49 Convert int to float ( temp float) +0:49 add ( temp int) +0:49 component-wise multiply ( temp int) +0:49 'i' ( temp int) +0:49 'j' ( temp int) +0:49 'k' ( temp int) 0:48 Loop Terminal Expression -0:48 Post-Increment (temp int) -0:48 'k' (temp int) -0:51 move second child to first child (temp float) -0:51 t1_scalar: direct index for structure (temp float) -0:51 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:51 t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:51 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:51 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:51 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:51 'i' (temp int) +0:48 Post-Increment ( temp int) +0:48 'k' ( temp int) +0:51 move second child to first child ( temp float) +0:51 t1_scalar: direct index for structure ( temp float) +0:51 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:51 t1a: direct index for structure ( temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:51 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:51 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:51 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:51 'i' ( temp int) 0:51 Constant: 0:51 1 (const int) 0:51 Constant: 0:51 0 (const int) -0:51 'j' (temp int) +0:51 'j' ( temp int) 0:51 Constant: 0:51 1 (const int) -0:51 divide (temp float) -0:51 component-wise multiply (temp float) -0:51 Convert int to float (temp float) -0:51 'j' (temp int) +0:51 divide ( temp float) +0:51 component-wise multiply ( temp float) +0:51 Convert int to float ( temp float) +0:51 'j' ( temp int) 0:51 Constant: 0:51 2.000000 -0:51 Convert int to float (temp float) -0:51 'i' (temp int) +0:51 Convert int to float ( temp float) +0:51 'i' ( temp int) 0:47 Loop Terminal Expression -0:47 Post-Increment (temp int) -0:47 'j' (temp int) +0:47 Post-Increment ( temp int) +0:47 'j' ( temp int) 0:54 Sequence 0:54 Sequence -0:54 move second child to first child (temp int) -0:54 'j' (noContraction temp int) +0:54 move second child to first child ( temp int) +0:54 'j' ( noContraction temp int) 0:54 Constant: 0:54 0 (const int) 0:54 Loop with condition tested first 0:54 Loop Condition -0:54 Compare Less Than (temp bool) -0:54 'j' (temp int) +0:54 Compare Less Than ( temp bool) +0:54 'j' ( temp int) 0:54 Constant: 0:54 6 (const int) 0:54 Loop Body 0:55 Sequence 0:55 Sequence 0:55 Sequence -0:55 move second child to first child (temp int) -0:55 'k' (temp int) +0:55 move second child to first child ( temp int) +0:55 'k' ( temp int) 0:55 Constant: 0:55 0 (const int) 0:55 Loop with condition tested first 0:55 Loop Condition -0:55 Compare Less Than (temp bool) -0:55 'k' (temp int) +0:55 Compare Less Than ( temp bool) +0:55 'k' ( temp int) 0:55 Constant: 0:55 3 (const int) 0:55 Loop Body 0:56 Sequence -0:56 move second child to first child (temp float) -0:56 indirect index (temp float) -0:56 t1_array: direct index for structure (temp 3-element array of float) -0:56 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:56 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:56 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:56 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:56 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:56 'i' (temp int) +0:56 move second child to first child ( temp float) +0:56 indirect index ( temp float) +0:56 t1_array: direct index for structure ( temp 3-element array of float) +0:56 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:56 t1b: direct index for structure ( temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:56 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:56 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:56 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:56 'i' ( temp int) 0:56 Constant: 0:56 1 (const int) 0:56 Constant: 0:56 1 (const int) -0:56 'j' (temp int) +0:56 'j' ( temp int) 0:56 Constant: 0:56 0 (const int) -0:56 'k' (temp int) -0:56 Convert int to float (temp float) -0:56 add (temp int) -0:56 component-wise multiply (temp int) -0:56 'i' (temp int) -0:56 'j' (temp int) -0:56 'k' (temp int) +0:56 'k' ( temp int) +0:56 Convert int to float ( temp float) +0:56 add ( temp int) +0:56 component-wise multiply ( temp int) +0:56 'i' ( temp int) +0:56 'j' ( temp int) +0:56 'k' ( temp int) 0:55 Loop Terminal Expression -0:55 Post-Increment (temp int) -0:55 'k' (temp int) -0:58 move second child to first child (temp float) -0:58 t1_scalar: direct index for structure (noContraction temp float) -0:58 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:58 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:58 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:58 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:58 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:58 'i' (temp int) +0:55 Post-Increment ( temp int) +0:55 'k' ( temp int) +0:58 move second child to first child ( temp float) +0:58 t1_scalar: direct index for structure ( noContraction temp float) +0:58 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:58 t1b: direct index for structure ( temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:58 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:58 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:58 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:58 'i' ( temp int) 0:58 Constant: 0:58 1 (const int) 0:58 Constant: 0:58 1 (const int) -0:58 'j' (temp int) +0:58 'j' ( temp int) 0:58 Constant: 0:58 1 (const int) -0:58 divide (noContraction temp float) -0:58 component-wise multiply (noContraction temp float) -0:58 Convert int to float (temp float) -0:58 'j' (noContraction temp int) +0:58 divide ( noContraction temp float) +0:58 component-wise multiply ( noContraction temp float) +0:58 Convert int to float ( temp float) +0:58 'j' ( noContraction temp int) 0:58 Constant: 0:58 2.000000 -0:58 Convert int to float (temp float) -0:58 'i' (noContraction temp int) +0:58 Convert int to float ( temp float) +0:58 'i' ( noContraction temp int) 0:54 Loop Terminal Expression -0:54 Post-Increment (noContraction temp int) -0:54 'j' (noContraction temp int) +0:54 Post-Increment ( noContraction temp int) +0:54 'j' ( noContraction temp int) 0:61 Sequence 0:61 Sequence -0:61 move second child to first child (temp int) -0:61 'j' (noContraction temp int) +0:61 move second child to first child ( temp int) +0:61 'j' ( noContraction temp int) 0:61 Constant: 0:61 0 (const int) 0:61 Loop with condition tested first 0:61 Loop Condition -0:61 Compare Less Than (temp bool) -0:61 'j' (temp int) +0:61 Compare Less Than ( temp bool) +0:61 'j' ( temp int) 0:61 Constant: 0:61 6 (const int) 0:61 Loop Body 0:62 Sequence 0:62 Sequence 0:62 Sequence -0:62 move second child to first child (temp int) -0:62 'k' (noContraction temp int) +0:62 move second child to first child ( temp int) +0:62 'k' ( noContraction temp int) 0:62 Constant: 0:62 0 (const int) 0:62 Loop with condition tested first 0:62 Loop Condition -0:62 Compare Less Than (temp bool) -0:62 'k' (temp int) +0:62 Compare Less Than ( temp bool) +0:62 'k' ( temp int) 0:62 Constant: 0:62 3 (const int) 0:62 Loop Body 0:63 Sequence -0:63 move second child to first child (temp float) -0:63 indirect index (noContraction temp float) -0:63 t1_array: direct index for structure (noContraction temp 3-element array of float) -0:63 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:63 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:63 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:63 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:63 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:63 'i' (temp int) +0:63 move second child to first child ( temp float) +0:63 indirect index ( noContraction temp float) +0:63 t1_array: direct index for structure ( noContraction temp 3-element array of float) +0:63 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:63 t1c: direct index for structure ( temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:63 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:63 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:63 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:63 'i' ( temp int) 0:63 Constant: 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 'j' (temp int) +0:63 'j' ( temp int) 0:63 Constant: 0:63 0 (const int) -0:63 'k' (temp int) -0:63 Convert int to float (temp float) -0:63 add (temp int) -0:63 component-wise multiply (temp int) -0:63 'i' (noContraction temp int) -0:63 'j' (noContraction temp int) -0:63 'k' (noContraction temp int) +0:63 'k' ( temp int) +0:63 Convert int to float ( temp float) +0:63 add ( temp int) +0:63 component-wise multiply ( temp int) +0:63 'i' ( noContraction temp int) +0:63 'j' ( noContraction temp int) +0:63 'k' ( noContraction temp int) 0:62 Loop Terminal Expression -0:62 Post-Increment (noContraction temp int) -0:62 'k' (noContraction temp int) -0:65 move second child to first child (temp float) -0:65 t1_scalar: direct index for structure (temp float) -0:65 indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:65 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:65 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:65 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:65 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:65 'i' (temp int) +0:62 Post-Increment ( noContraction temp int) +0:62 'k' ( noContraction temp int) +0:65 move second child to first child ( temp float) +0:65 t1_scalar: direct index for structure ( temp float) +0:65 indirect index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:65 t1c: direct index for structure ( temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:65 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:65 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:65 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:65 'i' ( temp int) 0:65 Constant: 0:65 1 (const int) 0:65 Constant: 0:65 2 (const int) -0:65 'j' (temp int) +0:65 'j' ( temp int) 0:65 Constant: 0:65 1 (const int) -0:65 divide (temp float) -0:65 component-wise multiply (temp float) -0:65 Convert int to float (temp float) -0:65 'j' (temp int) +0:65 divide ( temp float) +0:65 component-wise multiply ( temp float) +0:65 Convert int to float ( temp float) +0:65 'j' ( temp int) 0:65 Constant: 0:65 2.000000 -0:65 Convert int to float (temp float) -0:65 'i' (temp int) +0:65 Convert int to float ( temp float) +0:65 'i' ( temp int) 0:61 Loop Terminal Expression -0:61 Post-Increment (noContraction temp int) -0:61 'j' (noContraction temp int) +0:61 Post-Increment ( noContraction temp int) +0:61 'j' ( noContraction temp int) 0:43 Loop Terminal Expression -0:43 Post-Increment (noContraction temp int) -0:43 'i' (noContraction temp int) +0:43 Post-Increment ( noContraction temp int) +0:43 'i' ( noContraction temp int) 0:68 Sequence -0:68 move second child to first child (temp int) -0:68 'i' (temp int) +0:68 move second child to first child ( temp int) +0:68 'i' ( temp int) 0:68 Constant: 0:68 2 (const int) -0:69 move second child to first child (temp float) -0:69 'result' (noContraction temp float) -0:71 add (noContraction temp float) -0:70 add (noContraction temp float) -0:69 direct index (noContraction temp float) -0:69 t1_array: direct index for structure (temp 3-element array of float) -0:69 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:69 t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:69 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:69 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:69 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:69 move second child to first child ( temp float) +0:69 'result' ( noContraction temp float) +0:71 add ( noContraction temp float) +0:70 add ( noContraction temp float) +0:69 direct index ( noContraction temp float) +0:69 t1_array: direct index for structure ( temp 3-element array of float) +0:69 direct index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:69 t1c: direct index for structure ( temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:69 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:69 direct index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:69 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) 0:69 Constant: 0:69 5 (const int) 0:69 Constant: @@ -390,12 +390,12 @@ Shader version: 450 0:69 0 (const int) 0:69 Constant: 0:69 1 (const int) -0:70 t1_scalar: direct index for structure (noContraction temp float) -0:70 direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:70 t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar}) -0:70 t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c}) -0:70 direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:70 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:70 t1_scalar: direct index for structure ( noContraction temp float) +0:70 direct index ( temp structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:70 t1b: direct index for structure ( temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar}) +0:70 t2: direct index for structure ( temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c}) +0:70 direct index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:70 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) 0:70 Constant: 0:70 2 (const int) 0:70 Constant: @@ -406,13 +406,13 @@ Shader version: 450 0:70 1 (const int) 0:70 Constant: 0:70 1 (const int) -0:71 direct index (noContraction temp float) -0:71 vector swizzle (temp 2-component vector of float) -0:71 v: direct index for structure (temp 4-component vector of float) -0:71 indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:71 't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) -0:71 subtract (temp int) -0:71 'i' (temp int) +0:71 direct index ( noContraction temp float) +0:71 vector swizzle ( temp 2-component vector of float) +0:71 v: direct index for structure ( temp 4-component vector of float) +0:71 indirect index ( temp structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:71 't3' ( temp 10-element array of structure{ temp float f, temp structure{ temp 5-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{ temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p}) +0:71 subtract ( temp int) +0:71 'i' ( temp int) 0:71 Constant: 0:71 1 (const int) 0:71 Constant: @@ -425,100 +425,100 @@ Shader version: 450 0:71 Constant: 0:71 0 (const int) 0:72 Branch: Return with expression -0:72 'result' (noContraction temp float) -0:75 Function Definition: out_block( (global float) +0:72 'result' ( noContraction temp float) +0:75 Function Definition: out_block( ( global float) 0:75 Function Parameters: 0:76 Sequence 0:76 Sequence -0:76 move second child to first child (temp float) -0:76 'a' (noContraction temp float) +0:76 move second child to first child ( temp float) +0:76 'a' ( noContraction temp float) 0:76 Constant: 0:76 0.100000 0:77 Sequence -0:77 move second child to first child (temp float) -0:77 'b' (noContraction temp float) +0:77 move second child to first child ( temp float) +0:77 'b' ( noContraction temp float) 0:77 Constant: 0:77 0.200000 -0:78 move second child to first child (temp float) -0:78 f1: direct index for structure (noContraction global float) -0:78 s: direct index for structure (noContraction out structure{global float f1, global float f2}) -0:78 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x}) +0:78 move second child to first child ( temp float) +0:78 f1: direct index for structure ( noContraction global float) +0:78 s: direct index for structure ( noContraction out structure{ global float f1, global float f2}) +0:78 'partial_precise_block' ( out block{ noContraction out structure{ global float f1, global float f2} s, out float x}) 0:78 Constant: 0:78 0 (const int) 0:78 Constant: 0:78 0 (const int) -0:78 add (noContraction temp float) -0:78 'a' (noContraction temp float) -0:78 'b' (noContraction temp float) -0:79 move second child to first child (temp float) -0:79 f2: direct index for structure (noContraction global float) -0:79 s: direct index for structure (noContraction out structure{global float f1, global float f2}) -0:79 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x}) +0:78 add ( noContraction temp float) +0:78 'a' ( noContraction temp float) +0:78 'b' ( noContraction temp float) +0:79 move second child to first child ( temp float) +0:79 f2: direct index for structure ( noContraction global float) +0:79 s: direct index for structure ( noContraction out structure{ global float f1, global float f2}) +0:79 'partial_precise_block' ( out block{ noContraction out structure{ global float f1, global float f2} s, out float x}) 0:79 Constant: 0:79 0 (const int) 0:79 Constant: 0:79 1 (const int) -0:79 subtract (noContraction temp float) -0:79 'a' (noContraction temp float) -0:79 'b' (noContraction temp float) -0:80 move second child to first child (temp float) -0:80 x: direct index for structure (out float) -0:80 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x}) +0:79 subtract ( noContraction temp float) +0:79 'a' ( noContraction temp float) +0:79 'b' ( noContraction temp float) +0:80 move second child to first child ( temp float) +0:80 x: direct index for structure ( out float) +0:80 'partial_precise_block' ( out block{ noContraction out structure{ global float f1, global float f2} s, out float x}) 0:80 Constant: 0:80 1 (const int) -0:80 component-wise multiply (temp float) -0:80 'a' (temp float) -0:80 'b' (temp float) -0:82 move second child to first child (temp float) -0:82 f1: direct index for structure (noContraction global float) -0:82 s: direct index for structure (noContraction out structure{global float f1, global float f2}) -0:82 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x}) +0:80 component-wise multiply ( temp float) +0:80 'a' ( temp float) +0:80 'b' ( temp float) +0:82 move second child to first child ( temp float) +0:82 f1: direct index for structure ( noContraction global float) +0:82 s: direct index for structure ( noContraction out structure{ global float f1, global float f2}) +0:82 'all_precise_block' ( noContraction out block{ out structure{ global float f1, global float f2} s, out float x}) 0:82 Constant: 0:82 0 (const int) 0:82 Constant: 0:82 0 (const int) -0:82 add (noContraction temp float) -0:82 add (noContraction temp float) -0:82 'a' (noContraction temp float) -0:82 'b' (noContraction temp float) +0:82 add ( noContraction temp float) +0:82 add ( noContraction temp float) +0:82 'a' ( noContraction temp float) +0:82 'b' ( noContraction temp float) 0:82 Constant: 0:82 1.000000 -0:83 move second child to first child (temp float) -0:83 f2: direct index for structure (noContraction global float) -0:83 s: direct index for structure (noContraction out structure{global float f1, global float f2}) -0:83 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x}) +0:83 move second child to first child ( temp float) +0:83 f2: direct index for structure ( noContraction global float) +0:83 s: direct index for structure ( noContraction out structure{ global float f1, global float f2}) +0:83 'all_precise_block' ( noContraction out block{ out structure{ global float f1, global float f2} s, out float x}) 0:83 Constant: 0:83 0 (const int) 0:83 Constant: 0:83 1 (const int) -0:83 subtract (noContraction temp float) -0:83 subtract (noContraction temp float) -0:83 'a' (noContraction temp float) -0:83 'b' (noContraction temp float) +0:83 subtract ( noContraction temp float) +0:83 subtract ( noContraction temp float) +0:83 'a' ( noContraction temp float) +0:83 'b' ( noContraction temp float) 0:83 Constant: 0:83 1.000000 -0:84 move second child to first child (temp float) -0:84 x: direct index for structure (noContraction out float) -0:84 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x}) +0:84 move second child to first child ( temp float) +0:84 x: direct index for structure ( noContraction out float) +0:84 'all_precise_block' ( noContraction out block{ out structure{ global float f1, global float f2} s, out float x}) 0:84 Constant: 0:84 1 (const int) -0:84 component-wise multiply (noContraction temp float) -0:84 component-wise multiply (noContraction temp float) -0:84 'a' (noContraction temp float) -0:84 'b' (noContraction temp float) +0:84 component-wise multiply ( noContraction temp float) +0:84 component-wise multiply ( noContraction temp float) +0:84 'a' ( noContraction temp float) +0:84 'b' ( noContraction temp float) 0:84 Constant: 0:84 2.000000 0:86 Branch: Return with expression -0:86 add (temp float) -0:86 'a' (temp float) -0:86 'b' (temp float) -0:89 Function Definition: main( (global void) +0:86 add ( temp float) +0:86 'a' ( temp float) +0:86 'b' ( temp float) +0:89 Function Definition: main( ( global void) 0:89 Function Parameters: 0:? Linker Objects -0:? 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x}) -0:? 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'partial_precise_block' ( out block{ noContraction out structure{ global float f1, global float f2} s, out float x}) +0:? 'all_precise_block' ( noContraction out block{ out structure{ global float f1, global float f2} s, out float x}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -526,11 +526,11 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:89 Function Definition: main( (global void) +0:89 Function Definition: main( ( global void) 0:89 Function Parameters: 0:? Linker Objects -0:? 'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x}) -0:? 'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'partial_precise_block' ( out block{ noContraction out structure{ global float f1, global float f2} s, out float x}) +0:? 'all_precise_block' ( noContraction out block{ out structure{ global float f1, global float f2} s, out float x}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.frag.out index 5ab99e99a31..7174049fca1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.frag.out @@ -11,118 +11,118 @@ ERROR: 7 compilation errors. No code generated. Shader version: 100 ERROR: node is still EOpNull! -0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float) +0:5 Function Definition: foo(vf3; ( global lowp 2-component vector of float) 0:5 Function Parameters: -0:5 'mv3' (in mediump 3-component vector of float) +0:5 'mv3' ( in mediump 3-component vector of float) 0:? Sequence 0:8 Branch: Return with expression -0:8 vector swizzle (temp highp 2-component vector of float) -0:8 'hv4' (temp highp 4-component vector of float) +0:8 vector swizzle ( temp highp 2-component vector of float) +0:8 'hv4' ( temp highp 4-component vector of float) 0:8 Sequence 0:8 Constant: 0:8 0 (const int) 0:8 Constant: 0:8 1 (const int) -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence 0:27 Sequence -0:27 move second child to first child (temp highp int) -0:27 'sum' (temp lowp int) -0:27 add (temp highp int) -0:27 'global_medium' (global mediump int) -0:27 'global_high' (global highp int) -0:29 move second child to first child (temp mediump 4-component vector of float) -0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor) -0:29 Construct vec4 (temp mediump 4-component vector of float) -0:29 'color' (smooth in mediump 3-component vector of float) +0:27 move second child to first child ( temp highp int) +0:27 'sum' ( temp lowp int) +0:27 add ( temp highp int) +0:27 'global_medium' ( global mediump int) +0:27 'global_high' ( global highp int) +0:29 move second child to first child ( temp mediump 4-component vector of float) +0:29 'gl_FragColor' ( fragColor mediump 4-component vector of float FragColor) +0:29 Construct vec4 ( temp mediump 4-component vector of float) +0:29 'color' ( smooth in mediump 3-component vector of float) 0:29 Constant: 0:29 1.000000 -0:32 add second child into first child (temp highp int) -0:32 'sum' (temp lowp int) -0:32 'level1_high' (temp highp int) -0:36 add second child into first child (temp lowp int) -0:36 'sum' (temp lowp int) -0:36 'level1_low' (temp lowp int) +0:32 add second child into first child ( temp highp int) +0:32 'sum' ( temp lowp int) +0:32 'level1_high' ( temp highp int) +0:36 add second child into first child ( temp lowp int) +0:36 'sum' ( temp lowp int) +0:36 'level1_low' ( temp lowp int) 0:41 Sequence -0:41 move second child to first child (temp mediump float) -0:41 'd' (temp lowp float) -0:41 distance (global mediump float) -0:41 'arg1' (temp lowp float) -0:41 'arg2' (temp mediump float) +0:41 move second child to first child ( temp mediump float) +0:41 'd' ( temp lowp float) +0:41 distance ( global mediump float) +0:41 'arg1' ( temp lowp float) +0:41 'arg2' ( temp mediump float) 0:? Sequence -0:45 add second child into first child (temp lowp int) -0:45 'sum' (temp lowp int) -0:45 'level2_low' (temp lowp int) -0:49 add second child into first child (temp highp int) -0:49 'sum' (temp lowp int) -0:49 'level2_high' (temp highp int) +0:45 add second child into first child ( temp lowp int) +0:45 'sum' ( temp lowp int) +0:45 'level2_low' ( temp lowp int) +0:49 add second child into first child ( temp highp int) +0:49 'sum' ( temp lowp int) +0:49 'level2_high' ( temp highp int) 0:58 Loop with condition not tested first 0:58 Loop Condition 0:58 Constant: 0:58 true (const bool) 0:58 Loop Body 0:51 Sequence -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition 0:51 Constant: 0:51 true (const bool) 0:51 true case 0:? Sequence -0:54 add second child into first child (temp mediump int) -0:54 'sum' (temp lowp int) -0:54 'level4_medium' (temp mediump int) -0:57 add second child into first child (temp highp int) -0:57 'sum' (temp lowp int) -0:57 'level3_high' (temp highp int) -0:60 add second child into first child (temp highp int) -0:60 'sum' (temp lowp int) -0:60 'level2_high2' (temp highp int) -0:63 add second child into first child (temp lowp int) -0:63 'sum' (temp lowp int) -0:63 'level1_low3' (temp lowp int) -0:65 add second child into first child (temp lowp int) -0:65 'sum' (temp lowp int) -0:65 add (temp lowp int) +0:54 add second child into first child ( temp mediump int) +0:54 'sum' ( temp lowp int) +0:54 'level4_medium' ( temp mediump int) +0:57 add second child into first child ( temp highp int) +0:57 'sum' ( temp lowp int) +0:57 'level3_high' ( temp highp int) +0:60 add second child into first child ( temp highp int) +0:60 'sum' ( temp lowp int) +0:60 'level2_high2' ( temp highp int) +0:63 add second child into first child ( temp lowp int) +0:63 'sum' ( temp lowp int) +0:63 'level1_low3' ( temp lowp int) +0:65 add second child into first child ( temp lowp int) +0:65 'sum' ( temp lowp int) +0:65 add ( temp lowp int) 0:65 Constant: 0:65 4 (const int) -0:65 direct index (temp lowp int) -0:65 add (temp lowp 2-component vector of int) -0:65 component-wise multiply (temp lowp 2-component vector of int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 'level1_low3' (temp lowp int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 'level1_high' (temp highp int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 Comma (temp highp int) -0:65 'level1_low3' (temp lowp int) -0:65 'level1_high' (temp highp int) +0:65 direct index ( temp lowp int) +0:65 add ( temp lowp 2-component vector of int) +0:65 component-wise multiply ( temp lowp 2-component vector of int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 'level1_low3' ( temp lowp int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 'level1_high' ( temp highp int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 Comma ( temp highp int) +0:65 'level1_low3' ( temp lowp int) +0:65 'level1_high' ( temp highp int) 0:65 Constant: 0:65 0 (const int) -0:67 texture (global lowp 4-component vector of float) -0:67 'samplerLow' (uniform lowp sampler2D) +0:67 texture ( global lowp 4-component vector of float) +0:67 'samplerLow' ( uniform lowp sampler2D) 0:67 Constant: 0:67 0.100000 0:67 0.200000 -0:68 texture (global mediump 4-component vector of float) -0:68 'samplerMed' (uniform mediump sampler2D) +0:68 texture ( global mediump 4-component vector of float) +0:68 'samplerMed' ( uniform mediump sampler2D) 0:68 Constant: 0:68 0.100000 0:68 0.200000 -0:69 texture (global highp 4-component vector of float) -0:69 'samplerHigh' (uniform highp sampler2D) +0:69 texture ( global highp 4-component vector of float) +0:69 'samplerHigh' ( uniform highp sampler2D) 0:69 Constant: 0:69 0.100000 0:69 0.200000 0:? Linker Objects -0:? 'color' (smooth in mediump 3-component vector of float) -0:? 'global_medium' (global mediump int) -0:? 'samplerLow' (uniform lowp sampler2D) -0:? 'samplerMed' (uniform mediump sampler2D) -0:? 'samplerHigh' (uniform highp sampler2D) -0:? 'uint' (global mediump 4-component vector of float) -0:? 'global_high' (global highp int) -0:? 'b2' (global mediump 2-component vector of bool) +0:? 'color' ( smooth in mediump 3-component vector of float) +0:? 'global_medium' ( global mediump int) +0:? 'samplerLow' ( uniform lowp sampler2D) +0:? 'samplerMed' ( uniform mediump sampler2D) +0:? 'samplerHigh' ( uniform highp sampler2D) +0:? 'uint' ( global mediump 4-component vector of float) +0:? 'global_high' ( global highp int) +0:? 'b2' ( global mediump 2-component vector of bool) Linked fragment stage: @@ -130,104 +130,104 @@ Linked fragment stage: Shader version: 100 ERROR: node is still EOpNull! -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence 0:27 Sequence -0:27 move second child to first child (temp highp int) -0:27 'sum' (temp lowp int) -0:27 add (temp highp int) -0:27 'global_medium' (global mediump int) -0:27 'global_high' (global highp int) -0:29 move second child to first child (temp mediump 4-component vector of float) -0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor) -0:29 Construct vec4 (temp mediump 4-component vector of float) -0:29 'color' (smooth in mediump 3-component vector of float) +0:27 move second child to first child ( temp highp int) +0:27 'sum' ( temp lowp int) +0:27 add ( temp highp int) +0:27 'global_medium' ( global mediump int) +0:27 'global_high' ( global highp int) +0:29 move second child to first child ( temp mediump 4-component vector of float) +0:29 'gl_FragColor' ( fragColor mediump 4-component vector of float FragColor) +0:29 Construct vec4 ( temp mediump 4-component vector of float) +0:29 'color' ( smooth in mediump 3-component vector of float) 0:29 Constant: 0:29 1.000000 -0:32 add second child into first child (temp highp int) -0:32 'sum' (temp lowp int) -0:32 'level1_high' (temp highp int) -0:36 add second child into first child (temp lowp int) -0:36 'sum' (temp lowp int) -0:36 'level1_low' (temp lowp int) +0:32 add second child into first child ( temp highp int) +0:32 'sum' ( temp lowp int) +0:32 'level1_high' ( temp highp int) +0:36 add second child into first child ( temp lowp int) +0:36 'sum' ( temp lowp int) +0:36 'level1_low' ( temp lowp int) 0:41 Sequence -0:41 move second child to first child (temp mediump float) -0:41 'd' (temp lowp float) -0:41 distance (global mediump float) -0:41 'arg1' (temp lowp float) -0:41 'arg2' (temp mediump float) +0:41 move second child to first child ( temp mediump float) +0:41 'd' ( temp lowp float) +0:41 distance ( global mediump float) +0:41 'arg1' ( temp lowp float) +0:41 'arg2' ( temp mediump float) 0:? Sequence -0:45 add second child into first child (temp lowp int) -0:45 'sum' (temp lowp int) -0:45 'level2_low' (temp lowp int) -0:49 add second child into first child (temp highp int) -0:49 'sum' (temp lowp int) -0:49 'level2_high' (temp highp int) +0:45 add second child into first child ( temp lowp int) +0:45 'sum' ( temp lowp int) +0:45 'level2_low' ( temp lowp int) +0:49 add second child into first child ( temp highp int) +0:49 'sum' ( temp lowp int) +0:49 'level2_high' ( temp highp int) 0:58 Loop with condition not tested first 0:58 Loop Condition 0:58 Constant: 0:58 true (const bool) 0:58 Loop Body 0:51 Sequence -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition 0:51 Constant: 0:51 true (const bool) 0:51 true case 0:? Sequence -0:54 add second child into first child (temp mediump int) -0:54 'sum' (temp lowp int) -0:54 'level4_medium' (temp mediump int) -0:57 add second child into first child (temp highp int) -0:57 'sum' (temp lowp int) -0:57 'level3_high' (temp highp int) -0:60 add second child into first child (temp highp int) -0:60 'sum' (temp lowp int) -0:60 'level2_high2' (temp highp int) -0:63 add second child into first child (temp lowp int) -0:63 'sum' (temp lowp int) -0:63 'level1_low3' (temp lowp int) -0:65 add second child into first child (temp lowp int) -0:65 'sum' (temp lowp int) -0:65 add (temp lowp int) +0:54 add second child into first child ( temp mediump int) +0:54 'sum' ( temp lowp int) +0:54 'level4_medium' ( temp mediump int) +0:57 add second child into first child ( temp highp int) +0:57 'sum' ( temp lowp int) +0:57 'level3_high' ( temp highp int) +0:60 add second child into first child ( temp highp int) +0:60 'sum' ( temp lowp int) +0:60 'level2_high2' ( temp highp int) +0:63 add second child into first child ( temp lowp int) +0:63 'sum' ( temp lowp int) +0:63 'level1_low3' ( temp lowp int) +0:65 add second child into first child ( temp lowp int) +0:65 'sum' ( temp lowp int) +0:65 add ( temp lowp int) 0:65 Constant: 0:65 4 (const int) -0:65 direct index (temp lowp int) -0:65 add (temp lowp 2-component vector of int) -0:65 component-wise multiply (temp lowp 2-component vector of int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 'level1_low3' (temp lowp int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 'level1_high' (temp highp int) -0:65 Construct ivec2 (temp lowp 2-component vector of int) -0:65 Comma (temp highp int) -0:65 'level1_low3' (temp lowp int) -0:65 'level1_high' (temp highp int) +0:65 direct index ( temp lowp int) +0:65 add ( temp lowp 2-component vector of int) +0:65 component-wise multiply ( temp lowp 2-component vector of int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 'level1_low3' ( temp lowp int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 'level1_high' ( temp highp int) +0:65 Construct ivec2 ( temp lowp 2-component vector of int) +0:65 Comma ( temp highp int) +0:65 'level1_low3' ( temp lowp int) +0:65 'level1_high' ( temp highp int) 0:65 Constant: 0:65 0 (const int) -0:67 texture (global lowp 4-component vector of float) -0:67 'samplerLow' (uniform lowp sampler2D) +0:67 texture ( global lowp 4-component vector of float) +0:67 'samplerLow' ( uniform lowp sampler2D) 0:67 Constant: 0:67 0.100000 0:67 0.200000 -0:68 texture (global mediump 4-component vector of float) -0:68 'samplerMed' (uniform mediump sampler2D) +0:68 texture ( global mediump 4-component vector of float) +0:68 'samplerMed' ( uniform mediump sampler2D) 0:68 Constant: 0:68 0.100000 0:68 0.200000 -0:69 texture (global highp 4-component vector of float) -0:69 'samplerHigh' (uniform highp sampler2D) +0:69 texture ( global highp 4-component vector of float) +0:69 'samplerHigh' ( uniform highp sampler2D) 0:69 Constant: 0:69 0.100000 0:69 0.200000 0:? Linker Objects -0:? 'color' (smooth in mediump 3-component vector of float) -0:? 'global_medium' (global mediump int) -0:? 'samplerLow' (uniform lowp sampler2D) -0:? 'samplerMed' (uniform mediump sampler2D) -0:? 'samplerHigh' (uniform highp sampler2D) -0:? 'uint' (global mediump 4-component vector of float) -0:? 'global_high' (global highp int) -0:? 'b2' (global mediump 2-component vector of bool) +0:? 'color' ( smooth in mediump 3-component vector of float) +0:? 'global_medium' ( global mediump int) +0:? 'samplerLow' ( uniform lowp sampler2D) +0:? 'samplerMed' ( uniform mediump sampler2D) +0:? 'samplerHigh' ( uniform highp sampler2D) +0:? 'uint' ( global mediump 4-component vector of float) +0:? 'global_high' ( global highp int) +0:? 'b2' ( global mediump 2-component vector of bool) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.vert.out index f433ba52579..04ceb3a63fd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/precision.vert.out @@ -7,47 +7,47 @@ ERROR: 3 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:18 Function Definition: main( (global void) +0:18 Function Definition: main( ( global void) 0:18 Function Parameters: 0:20 Sequence 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 't' (temp highp 4-component vector of float) -0:20 texture (global lowp 4-component vector of float) -0:20 's2D' (uniform lowp sampler2D) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 't' ( temp highp 4-component vector of float) +0:20 texture ( global lowp 4-component vector of float) +0:20 's2D' ( uniform lowp sampler2D) 0:20 Constant: 0:20 0.100000 0:20 0.200000 -0:21 add second child into first child (temp highp 4-component vector of float) -0:21 't' (temp highp 4-component vector of float) -0:21 texture (global highp 4-component vector of float) -0:21 's2Dhigh' (uniform highp sampler2D) +0:21 add second child into first child ( temp highp 4-component vector of float) +0:21 't' ( temp highp 4-component vector of float) +0:21 texture ( global highp 4-component vector of float) +0:21 's2Dhigh' ( uniform highp sampler2D) 0:21 Constant: 0:21 0.100000 0:21 0.200000 -0:22 add second child into first child (temp highp 4-component vector of float) -0:22 't' (temp highp 4-component vector of float) -0:22 texture (global mediump float) -0:22 's2dAS' (uniform mediump sampler2DArrayShadow) +0:22 add second child into first child ( temp highp 4-component vector of float) +0:22 't' ( temp highp 4-component vector of float) +0:22 texture ( global mediump float) +0:22 's2dAS' ( uniform mediump sampler2DArrayShadow) 0:22 Constant: 0:22 0.500000 0:22 0.500000 0:22 0.500000 0:22 0.500000 -0:24 move second child to first child (temp highp 4-component vector of float) -0:24 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:24 'pos' (in highp 4-component vector of float) +0:24 move second child to first child ( temp highp 4-component vector of float) +0:24 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:24 'pos' ( in highp 4-component vector of float) 0:? Linker Objects -0:? 'pos' (in highp 4-component vector of float) -0:? 's2D' (uniform lowp sampler2D) -0:? 'sCube' (uniform lowp samplerCube) -0:? 'is2DAbad' (uniform mediump isampler2DArray) -0:? 's2dASbad' (uniform mediump sampler2DArrayShadow) -0:? 's2dAS' (uniform mediump sampler2DArrayShadow) -0:? 'is2DAbad2' (uniform mediump isampler2DArray) -0:? 's2Dhigh' (uniform highp sampler2D) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'pos' ( in highp 4-component vector of float) +0:? 's2D' ( uniform lowp sampler2D) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 'is2DAbad' ( uniform mediump isampler2DArray) +0:? 's2dASbad' ( uniform mediump sampler2DArrayShadow) +0:? 's2dAS' ( uniform mediump sampler2DArrayShadow) +0:? 'is2DAbad2' ( uniform mediump isampler2DArray) +0:? 's2Dhigh' ( uniform highp sampler2D) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -55,45 +55,45 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! -0:18 Function Definition: main( (global void) +0:18 Function Definition: main( ( global void) 0:18 Function Parameters: 0:20 Sequence 0:20 Sequence -0:20 move second child to first child (temp highp 4-component vector of float) -0:20 't' (temp highp 4-component vector of float) -0:20 texture (global lowp 4-component vector of float) -0:20 's2D' (uniform lowp sampler2D) +0:20 move second child to first child ( temp highp 4-component vector of float) +0:20 't' ( temp highp 4-component vector of float) +0:20 texture ( global lowp 4-component vector of float) +0:20 's2D' ( uniform lowp sampler2D) 0:20 Constant: 0:20 0.100000 0:20 0.200000 -0:21 add second child into first child (temp highp 4-component vector of float) -0:21 't' (temp highp 4-component vector of float) -0:21 texture (global highp 4-component vector of float) -0:21 's2Dhigh' (uniform highp sampler2D) +0:21 add second child into first child ( temp highp 4-component vector of float) +0:21 't' ( temp highp 4-component vector of float) +0:21 texture ( global highp 4-component vector of float) +0:21 's2Dhigh' ( uniform highp sampler2D) 0:21 Constant: 0:21 0.100000 0:21 0.200000 -0:22 add second child into first child (temp highp 4-component vector of float) -0:22 't' (temp highp 4-component vector of float) -0:22 texture (global mediump float) -0:22 's2dAS' (uniform mediump sampler2DArrayShadow) +0:22 add second child into first child ( temp highp 4-component vector of float) +0:22 't' ( temp highp 4-component vector of float) +0:22 texture ( global mediump float) +0:22 's2dAS' ( uniform mediump sampler2DArrayShadow) 0:22 Constant: 0:22 0.500000 0:22 0.500000 0:22 0.500000 0:22 0.500000 -0:24 move second child to first child (temp highp 4-component vector of float) -0:24 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:24 'pos' (in highp 4-component vector of float) +0:24 move second child to first child ( temp highp 4-component vector of float) +0:24 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:24 'pos' ( in highp 4-component vector of float) 0:? Linker Objects -0:? 'pos' (in highp 4-component vector of float) -0:? 's2D' (uniform lowp sampler2D) -0:? 'sCube' (uniform lowp samplerCube) -0:? 'is2DAbad' (uniform mediump isampler2DArray) -0:? 's2dASbad' (uniform mediump sampler2DArrayShadow) -0:? 's2dAS' (uniform mediump sampler2DArrayShadow) -0:? 'is2DAbad2' (uniform mediump isampler2DArray) -0:? 's2Dhigh' (uniform highp sampler2D) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'pos' ( in highp 4-component vector of float) +0:? 's2D' ( uniform lowp sampler2D) +0:? 'sCube' ( uniform lowp samplerCube) +0:? 'is2DAbad' ( uniform mediump isampler2DArray) +0:? 's2dASbad' ( uniform mediump sampler2DArrayShadow) +0:? 's2dAS' ( uniform mediump sampler2DArrayShadow) +0:? 'is2DAbad2' ( uniform mediump isampler2DArray) +0:? 's2Dhigh' ( uniform highp sampler2D) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/prepost.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/prepost.frag.out index ac24229597f..d5f73b6d7a2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/prepost.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/prepost.frag.out @@ -1,135 +1,135 @@ prepost.frag Shader version: 140 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Sequence 0:10 Sequence -0:10 move second child to first child (temp int) -0:10 'index' (temp int) +0:10 move second child to first child ( temp int) +0:10 'index' ( temp int) 0:10 Constant: 0:10 5 (const int) -0:12 move second child to first child (temp float) -0:12 direct index (temp float) -0:12 y: direct index for structure (temp 5-element array of float) -0:12 'str' (temp structure{temp 5-element array of float y}) +0:12 move second child to first child ( temp float) +0:12 direct index ( temp float) +0:12 y: direct index for structure ( temp 5-element array of float) +0:12 'str' ( temp structure{ temp 5-element array of float y}) 0:12 Constant: 0:12 0 (const int) 0:12 Constant: 0:12 4 (const int) 0:12 Constant: 0:12 2.000000 -0:13 move second child to first child (temp float) -0:13 't' (temp float) -0:13 Pre-Increment (temp float) -0:13 indirect index (temp float) -0:13 y: direct index for structure (temp 5-element array of float) -0:13 'str' (temp structure{temp 5-element array of float y}) +0:13 move second child to first child ( temp float) +0:13 't' ( temp float) +0:13 Pre-Increment ( temp float) +0:13 indirect index ( temp float) +0:13 y: direct index for structure ( temp 5-element array of float) +0:13 'str' ( temp structure{ temp 5-element array of float y}) 0:13 Constant: 0:13 0 (const int) -0:13 Pre-Decrement (temp int) -0:13 'index' (temp int) -0:14 add second child into first child (temp float) -0:14 direct index (temp float) -0:14 y: direct index for structure (temp 5-element array of float) -0:14 'str' (temp structure{temp 5-element array of float y}) +0:13 Pre-Decrement ( temp int) +0:13 'index' ( temp int) +0:14 add second child into first child ( temp float) +0:14 direct index ( temp float) +0:14 y: direct index for structure ( temp 5-element array of float) +0:14 'str' ( temp structure{ temp 5-element array of float y}) 0:14 Constant: 0:14 0 (const int) 0:14 Constant: 0:14 4 (const int) -0:14 't' (temp float) -0:15 move second child to first child (temp float) -0:15 't' (temp float) -0:15 Post-Decrement (temp float) -0:15 direct index (temp float) -0:15 y: direct index for structure (temp 5-element array of float) -0:15 'str' (temp structure{temp 5-element array of float y}) +0:14 't' ( temp float) +0:15 move second child to first child ( temp float) +0:15 't' ( temp float) +0:15 Post-Decrement ( temp float) +0:15 direct index ( temp float) +0:15 y: direct index for structure ( temp 5-element array of float) +0:15 'str' ( temp structure{ temp 5-element array of float y}) 0:15 Constant: 0:15 0 (const int) 0:15 Constant: 0:15 4 (const int) -0:16 add second child into first child (temp float) -0:16 indirect index (temp float) -0:16 y: direct index for structure (temp 5-element array of float) -0:16 'str' (temp structure{temp 5-element array of float y}) +0:16 add second child into first child ( temp float) +0:16 indirect index ( temp float) +0:16 y: direct index for structure ( temp 5-element array of float) +0:16 'str' ( temp structure{ temp 5-element array of float y}) 0:16 Constant: 0:16 0 (const int) -0:16 Post-Increment (temp int) -0:16 'index' (temp int) -0:16 't' (temp float) -0:17 Pre-Decrement (temp float) -0:17 indirect index (temp float) -0:17 y: direct index for structure (temp 5-element array of float) -0:17 'str' (temp structure{temp 5-element array of float y}) +0:16 Post-Increment ( temp int) +0:16 'index' ( temp int) +0:16 't' ( temp float) +0:17 Pre-Decrement ( temp float) +0:17 indirect index ( temp float) +0:17 y: direct index for structure ( temp 5-element array of float) +0:17 'str' ( temp structure{ temp 5-element array of float y}) 0:17 Constant: 0:17 0 (const int) -0:17 Pre-Decrement (temp int) -0:17 'index' (temp int) +0:17 Pre-Decrement ( temp int) +0:17 'index' ( temp int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'x' (temp float) -0:19 direct index (temp float) -0:19 y: direct index for structure (temp 5-element array of float) -0:19 'str' (temp structure{temp 5-element array of float y}) +0:19 move second child to first child ( temp float) +0:19 'x' ( temp float) +0:19 direct index ( temp float) +0:19 y: direct index for structure ( temp 5-element array of float) +0:19 'str' ( temp structure{ temp 5-element array of float y}) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: 0:19 4 (const int) -0:20 Pre-Increment (temp float) -0:20 'x' (temp float) -0:21 Pre-Decrement (temp float) -0:21 'x' (temp float) -0:22 Post-Increment (temp float) -0:22 'x' (temp float) -0:23 Post-Decrement (temp float) -0:23 'x' (temp float) +0:20 Pre-Increment ( temp float) +0:20 'x' ( temp float) +0:21 Pre-Decrement ( temp float) +0:21 'x' ( temp float) +0:22 Post-Increment ( temp float) +0:22 'x' ( temp float) +0:23 Post-Decrement ( temp float) +0:23 'x' ( temp float) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'y' (temp float) -0:27 component-wise multiply (temp float) -0:27 'x' (temp float) -0:27 Pre-Increment (temp float) -0:27 'x' (temp float) +0:27 move second child to first child ( temp float) +0:27 'y' ( temp float) +0:27 component-wise multiply ( temp float) +0:27 'x' ( temp float) +0:27 Pre-Increment ( temp float) +0:27 'x' ( temp float) 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'z' (temp float) -0:28 component-wise multiply (temp float) -0:28 'y' (temp float) -0:28 Post-Decrement (temp float) -0:28 'x' (temp float) +0:28 move second child to first child ( temp float) +0:28 'z' ( temp float) +0:28 component-wise multiply ( temp float) +0:28 'y' ( temp float) +0:28 Post-Decrement ( temp float) +0:28 'x' ( temp float) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) 0:33 Constant: 0:33 1.000000 0:33 2.000000 0:33 3.000000 0:33 4.000000 -0:34 move second child to first child (temp float) -0:34 direct index (temp float) -0:34 'v' (temp 4-component vector of float) +0:34 move second child to first child ( temp float) +0:34 direct index ( temp float) +0:34 'v' ( temp 4-component vector of float) 0:34 Constant: 0:34 1 (const int) -0:34 Post-Decrement (temp float) -0:34 direct index (temp float) -0:34 'v' (temp 4-component vector of float) +0:34 Post-Decrement ( temp float) +0:34 direct index ( temp float) +0:34 'v' ( temp 4-component vector of float) 0:34 Constant: 0:34 2 (const int) -0:35 move second child to first child (temp float) -0:35 direct index (temp float) -0:35 'v' (temp 4-component vector of float) +0:35 move second child to first child ( temp float) +0:35 direct index ( temp float) +0:35 'v' ( temp 4-component vector of float) 0:35 Constant: 0:35 0 (const int) -0:35 Pre-Decrement (temp float) -0:35 direct index (temp float) -0:35 'v' (temp 4-component vector of float) +0:35 Pre-Decrement ( temp float) +0:35 direct index ( temp float) +0:35 'v' ( temp 4-component vector of float) 0:35 Constant: 0:35 3 (const int) -0:37 move second child to first child (temp 4-component vector of float) -0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:37 vector-scale (temp 4-component vector of float) -0:37 'z' (temp float) -0:37 'v' (temp 4-component vector of float) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:37 vector-scale ( temp 4-component vector of float) +0:37 'z' ( temp float) +0:37 'v' ( temp 4-component vector of float) 0:? Linker Objects @@ -138,134 +138,134 @@ Linked fragment stage: Shader version: 140 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Sequence 0:10 Sequence -0:10 move second child to first child (temp int) -0:10 'index' (temp int) +0:10 move second child to first child ( temp int) +0:10 'index' ( temp int) 0:10 Constant: 0:10 5 (const int) -0:12 move second child to first child (temp float) -0:12 direct index (temp float) -0:12 y: direct index for structure (temp 5-element array of float) -0:12 'str' (temp structure{temp 5-element array of float y}) +0:12 move second child to first child ( temp float) +0:12 direct index ( temp float) +0:12 y: direct index for structure ( temp 5-element array of float) +0:12 'str' ( temp structure{ temp 5-element array of float y}) 0:12 Constant: 0:12 0 (const int) 0:12 Constant: 0:12 4 (const int) 0:12 Constant: 0:12 2.000000 -0:13 move second child to first child (temp float) -0:13 't' (temp float) -0:13 Pre-Increment (temp float) -0:13 indirect index (temp float) -0:13 y: direct index for structure (temp 5-element array of float) -0:13 'str' (temp structure{temp 5-element array of float y}) +0:13 move second child to first child ( temp float) +0:13 't' ( temp float) +0:13 Pre-Increment ( temp float) +0:13 indirect index ( temp float) +0:13 y: direct index for structure ( temp 5-element array of float) +0:13 'str' ( temp structure{ temp 5-element array of float y}) 0:13 Constant: 0:13 0 (const int) -0:13 Pre-Decrement (temp int) -0:13 'index' (temp int) -0:14 add second child into first child (temp float) -0:14 direct index (temp float) -0:14 y: direct index for structure (temp 5-element array of float) -0:14 'str' (temp structure{temp 5-element array of float y}) +0:13 Pre-Decrement ( temp int) +0:13 'index' ( temp int) +0:14 add second child into first child ( temp float) +0:14 direct index ( temp float) +0:14 y: direct index for structure ( temp 5-element array of float) +0:14 'str' ( temp structure{ temp 5-element array of float y}) 0:14 Constant: 0:14 0 (const int) 0:14 Constant: 0:14 4 (const int) -0:14 't' (temp float) -0:15 move second child to first child (temp float) -0:15 't' (temp float) -0:15 Post-Decrement (temp float) -0:15 direct index (temp float) -0:15 y: direct index for structure (temp 5-element array of float) -0:15 'str' (temp structure{temp 5-element array of float y}) +0:14 't' ( temp float) +0:15 move second child to first child ( temp float) +0:15 't' ( temp float) +0:15 Post-Decrement ( temp float) +0:15 direct index ( temp float) +0:15 y: direct index for structure ( temp 5-element array of float) +0:15 'str' ( temp structure{ temp 5-element array of float y}) 0:15 Constant: 0:15 0 (const int) 0:15 Constant: 0:15 4 (const int) -0:16 add second child into first child (temp float) -0:16 indirect index (temp float) -0:16 y: direct index for structure (temp 5-element array of float) -0:16 'str' (temp structure{temp 5-element array of float y}) +0:16 add second child into first child ( temp float) +0:16 indirect index ( temp float) +0:16 y: direct index for structure ( temp 5-element array of float) +0:16 'str' ( temp structure{ temp 5-element array of float y}) 0:16 Constant: 0:16 0 (const int) -0:16 Post-Increment (temp int) -0:16 'index' (temp int) -0:16 't' (temp float) -0:17 Pre-Decrement (temp float) -0:17 indirect index (temp float) -0:17 y: direct index for structure (temp 5-element array of float) -0:17 'str' (temp structure{temp 5-element array of float y}) +0:16 Post-Increment ( temp int) +0:16 'index' ( temp int) +0:16 't' ( temp float) +0:17 Pre-Decrement ( temp float) +0:17 indirect index ( temp float) +0:17 y: direct index for structure ( temp 5-element array of float) +0:17 'str' ( temp structure{ temp 5-element array of float y}) 0:17 Constant: 0:17 0 (const int) -0:17 Pre-Decrement (temp int) -0:17 'index' (temp int) +0:17 Pre-Decrement ( temp int) +0:17 'index' ( temp int) 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'x' (temp float) -0:19 direct index (temp float) -0:19 y: direct index for structure (temp 5-element array of float) -0:19 'str' (temp structure{temp 5-element array of float y}) +0:19 move second child to first child ( temp float) +0:19 'x' ( temp float) +0:19 direct index ( temp float) +0:19 y: direct index for structure ( temp 5-element array of float) +0:19 'str' ( temp structure{ temp 5-element array of float y}) 0:19 Constant: 0:19 0 (const int) 0:19 Constant: 0:19 4 (const int) -0:20 Pre-Increment (temp float) -0:20 'x' (temp float) -0:21 Pre-Decrement (temp float) -0:21 'x' (temp float) -0:22 Post-Increment (temp float) -0:22 'x' (temp float) -0:23 Post-Decrement (temp float) -0:23 'x' (temp float) +0:20 Pre-Increment ( temp float) +0:20 'x' ( temp float) +0:21 Pre-Decrement ( temp float) +0:21 'x' ( temp float) +0:22 Post-Increment ( temp float) +0:22 'x' ( temp float) +0:23 Post-Decrement ( temp float) +0:23 'x' ( temp float) 0:27 Sequence -0:27 move second child to first child (temp float) -0:27 'y' (temp float) -0:27 component-wise multiply (temp float) -0:27 'x' (temp float) -0:27 Pre-Increment (temp float) -0:27 'x' (temp float) +0:27 move second child to first child ( temp float) +0:27 'y' ( temp float) +0:27 component-wise multiply ( temp float) +0:27 'x' ( temp float) +0:27 Pre-Increment ( temp float) +0:27 'x' ( temp float) 0:28 Sequence -0:28 move second child to first child (temp float) -0:28 'z' (temp float) -0:28 component-wise multiply (temp float) -0:28 'y' (temp float) -0:28 Post-Decrement (temp float) -0:28 'x' (temp float) +0:28 move second child to first child ( temp float) +0:28 'z' ( temp float) +0:28 component-wise multiply ( temp float) +0:28 'y' ( temp float) +0:28 Post-Decrement ( temp float) +0:28 'x' ( temp float) 0:33 Sequence -0:33 move second child to first child (temp 4-component vector of float) -0:33 'v' (temp 4-component vector of float) +0:33 move second child to first child ( temp 4-component vector of float) +0:33 'v' ( temp 4-component vector of float) 0:33 Constant: 0:33 1.000000 0:33 2.000000 0:33 3.000000 0:33 4.000000 -0:34 move second child to first child (temp float) -0:34 direct index (temp float) -0:34 'v' (temp 4-component vector of float) +0:34 move second child to first child ( temp float) +0:34 direct index ( temp float) +0:34 'v' ( temp 4-component vector of float) 0:34 Constant: 0:34 1 (const int) -0:34 Post-Decrement (temp float) -0:34 direct index (temp float) -0:34 'v' (temp 4-component vector of float) +0:34 Post-Decrement ( temp float) +0:34 direct index ( temp float) +0:34 'v' ( temp 4-component vector of float) 0:34 Constant: 0:34 2 (const int) -0:35 move second child to first child (temp float) -0:35 direct index (temp float) -0:35 'v' (temp 4-component vector of float) +0:35 move second child to first child ( temp float) +0:35 direct index ( temp float) +0:35 'v' ( temp 4-component vector of float) 0:35 Constant: 0:35 0 (const int) -0:35 Pre-Decrement (temp float) -0:35 direct index (temp float) -0:35 'v' (temp 4-component vector of float) +0:35 Pre-Decrement ( temp float) +0:35 direct index ( temp float) +0:35 'v' ( temp 4-component vector of float) 0:35 Constant: 0:35 3 (const int) -0:37 move second child to first child (temp 4-component vector of float) -0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:37 vector-scale (temp 4-component vector of float) -0:37 'z' (temp float) -0:37 'v' (temp 4-component vector of float) +0:37 move second child to first child ( temp 4-component vector of float) +0:37 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:37 vector-scale ( temp 4-component vector of float) +0:37 'z' ( temp float) +0:37 'v' ( temp 4-component vector of float) 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/recurse1.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/recurse1.vert.out index 4274eb3849e..7d09b7c1b34 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/recurse1.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/recurse1.vert.out @@ -1,190 +1,190 @@ recurse1.vert Shader version: 330 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: -0:9 Function Definition: self( (global void) +0:9 Function Definition: self( ( global void) 0:9 Function Parameters: 0:11 Sequence -0:11 Function Call: self( (global void) -0:16 Function Definition: foo(f1; (global void) +0:11 Function Call: self( ( global void) +0:16 Function Definition: foo(f1; ( global void) 0:16 Function Parameters: -0:16 '' (in float) +0:16 '' ( in float) 0:18 Sequence -0:18 Function Call: bar(i1; (global float) +0:18 Function Call: bar(i1; ( global float) 0:18 Constant: 0:18 2 (const int) -0:21 Function Definition: bar(i1; (global float) +0:21 Function Definition: bar(i1; ( global float) 0:21 Function Parameters: -0:21 '' (in int) +0:21 '' ( in int) 0:23 Sequence -0:23 Function Call: foo(f1; (global void) +0:23 Function Call: foo(f1; ( global void) 0:23 Constant: 0:23 4.200000 0:25 Branch: Return with expression 0:25 Constant: 0:25 3.200000 -0:32 Function Definition: A( (global void) +0:32 Function Definition: A( ( global void) 0:32 Function Parameters: 0:32 Sequence -0:32 Function Call: B( (global void) -0:33 Function Definition: C( (global void) +0:32 Function Call: B( ( global void) +0:33 Function Definition: C( ( global void) 0:33 Function Parameters: 0:33 Sequence -0:33 Function Call: D( (global void) -0:34 Function Definition: B( (global void) +0:33 Function Call: D( ( global void) +0:34 Function Definition: B( ( global void) 0:34 Function Parameters: 0:34 Sequence -0:34 Function Call: C( (global void) -0:35 Function Definition: D( (global void) +0:34 Function Call: C( ( global void) +0:35 Function Definition: D( ( global void) 0:35 Function Parameters: 0:35 Sequence -0:35 Function Call: A( (global void) -0:41 Function Definition: AT( (global void) +0:35 Function Call: A( ( global void) +0:41 Function Definition: AT( ( global void) 0:41 Function Parameters: 0:41 Sequence -0:41 Function Call: BT( (global void) -0:41 Function Call: BT( (global void) -0:41 Function Call: BT( (global void) -0:42 Function Definition: CT( (global void) +0:41 Function Call: BT( ( global void) +0:41 Function Call: BT( ( global void) +0:41 Function Call: BT( ( global void) +0:42 Function Definition: CT( ( global void) 0:42 Function Parameters: 0:42 Sequence -0:42 Function Call: DT( (global void) -0:42 Function Call: AT( (global void) -0:42 Function Call: DT( (global void) -0:42 Function Call: BT( (global void) -0:43 Function Definition: BT( (global void) +0:42 Function Call: DT( ( global void) +0:42 Function Call: AT( ( global void) +0:42 Function Call: DT( ( global void) +0:42 Function Call: BT( ( global void) +0:43 Function Definition: BT( ( global void) 0:43 Function Parameters: 0:43 Sequence -0:43 Function Call: CT( (global void) -0:43 Function Call: CT( (global void) -0:43 Function Call: CT( (global void) -0:44 Function Definition: DT( (global void) +0:43 Function Call: CT( ( global void) +0:43 Function Call: CT( ( global void) +0:43 Function Call: CT( ( global void) +0:44 Function Definition: DT( ( global void) 0:44 Function Parameters: 0:44 Sequence -0:44 Function Call: AT( (global void) +0:44 Function Call: AT( ( global void) 0:? Linker Objects -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) recurse1.frag Shader version: 330 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: -0:11 Function Definition: cfoo(f1; (global void) +0:11 Function Definition: cfoo(f1; ( global void) 0:11 Function Parameters: -0:11 '' (in float) +0:11 '' ( in float) 0:13 Sequence -0:13 Function Call: cbar(i1; (global float) +0:13 Function Call: cbar(i1; ( global float) 0:13 Constant: 0:13 2 (const int) -0:20 Function Definition: CA( (global void) +0:20 Function Definition: CA( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 Function Call: CB( (global void) -0:21 Function Definition: CC( (global void) +0:20 Function Call: CB( ( global void) +0:21 Function Definition: CC( ( global void) 0:21 Function Parameters: 0:21 Sequence -0:21 Function Call: CD( (global void) -0:27 Function Definition: CAT( (global void) +0:21 Function Call: CD( ( global void) +0:27 Function Definition: CAT( ( global void) 0:27 Function Parameters: 0:27 Sequence -0:27 Function Call: CBT( (global void) -0:27 Function Call: CBT( (global void) -0:27 Function Call: CBT( (global void) -0:28 Function Definition: CCT( (global void) +0:27 Function Call: CBT( ( global void) +0:27 Function Call: CBT( ( global void) +0:27 Function Call: CBT( ( global void) +0:28 Function Definition: CCT( ( global void) 0:28 Function Parameters: 0:28 Sequence -0:28 Function Call: CDT( (global void) -0:28 Function Call: CDT( (global void) -0:28 Function Call: CBT( (global void) -0:32 Function Definition: norA( (global void) +0:28 Function Call: CDT( ( global void) +0:28 Function Call: CDT( ( global void) +0:28 Function Call: CBT( ( global void) +0:32 Function Definition: norA( ( global void) 0:32 Function Parameters: -0:33 Function Definition: norB( (global void) +0:33 Function Definition: norB( ( global void) 0:33 Function Parameters: 0:33 Sequence -0:33 Function Call: norA( (global void) -0:34 Function Definition: norC( (global void) +0:33 Function Call: norA( ( global void) +0:34 Function Definition: norC( ( global void) 0:34 Function Parameters: 0:34 Sequence -0:34 Function Call: norA( (global void) -0:35 Function Definition: norD( (global void) +0:34 Function Call: norA( ( global void) +0:35 Function Definition: norD( ( global void) 0:35 Function Parameters: 0:35 Sequence -0:35 Function Call: norA( (global void) -0:36 Function Definition: norE( (global void) +0:35 Function Call: norA( ( global void) +0:36 Function Definition: norE( ( global void) 0:36 Function Parameters: 0:36 Sequence -0:36 Function Call: norB( (global void) -0:37 Function Definition: norF( (global void) +0:36 Function Call: norB( ( global void) +0:37 Function Definition: norF( ( global void) 0:37 Function Parameters: 0:37 Sequence -0:37 Function Call: norB( (global void) -0:38 Function Definition: norG( (global void) +0:37 Function Call: norB( ( global void) +0:38 Function Definition: norG( ( global void) 0:38 Function Parameters: 0:38 Sequence -0:38 Function Call: norE( (global void) -0:39 Function Definition: norH( (global void) +0:38 Function Call: norE( ( global void) +0:39 Function Definition: norH( ( global void) 0:39 Function Parameters: 0:39 Sequence -0:39 Function Call: norE( (global void) -0:40 Function Definition: norI( (global void) +0:39 Function Call: norE( ( global void) +0:40 Function Definition: norI( ( global void) 0:40 Function Parameters: 0:40 Sequence -0:40 Function Call: norE( (global void) -0:44 Function Definition: norcA( (global void) +0:40 Function Call: norE( ( global void) +0:44 Function Definition: norcA( ( global void) 0:44 Function Parameters: -0:45 Function Definition: norcB( (global void) +0:45 Function Definition: norcB( ( global void) 0:45 Function Parameters: 0:45 Sequence -0:45 Function Call: norcA( (global void) -0:46 Function Definition: norcC( (global void) +0:45 Function Call: norcA( ( global void) +0:46 Function Definition: norcC( ( global void) 0:46 Function Parameters: 0:46 Sequence -0:46 Function Call: norcB( (global void) -0:47 Function Definition: norcD( (global void) +0:46 Function Call: norcB( ( global void) +0:47 Function Definition: norcD( ( global void) 0:47 Function Parameters: 0:47 Sequence -0:47 Function Call: norcC( (global void) -0:47 Function Call: norcB( (global void) -0:48 Function Definition: norcE( (global void) +0:47 Function Call: norcC( ( global void) +0:47 Function Call: norcB( ( global void) +0:48 Function Definition: norcE( ( global void) 0:48 Function Parameters: 0:48 Sequence -0:48 Function Call: norcD( (global void) +0:48 Function Call: norcD( ( global void) 0:? Linker Objects recurse2.frag Shader version: 330 0:? Sequence -0:9 Function Definition: cbar(i1; (global float) +0:9 Function Definition: cbar(i1; ( global float) 0:9 Function Parameters: -0:9 '' (in int) +0:9 '' ( in int) 0:11 Sequence -0:11 Function Call: cfoo(f1; (global void) +0:11 Function Call: cfoo(f1; ( global void) 0:11 Constant: 0:11 4.200000 0:13 Branch: Return with expression 0:13 Constant: 0:13 3.200000 -0:20 Function Definition: CB( (global void) +0:20 Function Definition: CB( ( global void) 0:20 Function Parameters: 0:20 Sequence -0:20 Function Call: CC( (global void) -0:21 Function Definition: CD( (global void) +0:20 Function Call: CC( ( global void) +0:21 Function Definition: CD( ( global void) 0:21 Function Parameters: 0:21 Sequence -0:21 Function Call: CA( (global void) -0:27 Function Definition: CBT( (global void) +0:21 Function Call: CA( ( global void) +0:27 Function Definition: CBT( ( global void) 0:27 Function Parameters: 0:27 Sequence -0:27 Function Call: CCT( (global void) -0:27 Function Call: CCT( (global void) -0:27 Function Call: CCT( (global void) -0:28 Function Definition: CDT( (global void) +0:27 Function Call: CCT( ( global void) +0:27 Function Call: CCT( ( global void) +0:27 Function Call: CCT( ( global void) +0:28 Function Definition: CDT( ( global void) 0:28 Function Parameters: 0:28 Sequence -0:28 Function Call: CAT( (global void) +0:28 Function Call: CAT( ( global void) 0:? Linker Objects @@ -216,14 +216,14 @@ ERROR: Linking fragment stage: Recursion detected: Shader version: 330 0:? Sequence -0:3 Function Definition: main( (global void) +0:3 Function Definition: main( ( global void) 0:3 Function Parameters: 0:? Linker Objects -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Shader version: 330 0:? Sequence -0:5 Function Definition: main( (global void) +0:5 Function Definition: main( ( global void) 0:5 Function Parameters: 0:? Linker Objects diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index b49a10ba610..4fc29872009 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -3,7 +3,7 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 24916 +// Id's are bound by 24878 Capability Shader Capability Sampled1D @@ -30,6 +30,10 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented Decorate 4112 BuiltIn FragDepth 8: TypeVoid 1282: TypeFunction 8 + 13: TypeFloat 32 + 29: TypeVector 13(float) 4 + 1032: TypeStruct 29(fvec4) 13(float) + 319: TypeFunction 1032(struct) 12: TypeInt 32 1 1335: TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 1972: TypePointer Function 1335(struct) @@ -46,8 +50,6 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 2598: 12(int) Constant 9 2601: 12(int) Constant 10 2604: 12(int) Constant 11 - 13: TypeFloat 32 - 29: TypeVector 13(float) 4 666: TypePointer Function 29(fvec4) 149: TypeImage 13(float) 1D sampled format:Unknown 786: TypePointer UniformConstant 149 @@ -120,7 +122,6 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 795: TypePointer UniformConstant 158 3869: 795(ptr) Variable UniformConstant 521: TypeSampledImage 158 - 1032: TypeStruct 29(fvec4) 13(float) 1669: TypePointer Function 1032(struct) 138: 13(float) Constant 1065353216 1284: 29(fvec4) ConstantComposite 138 138 138 138 @@ -130,90 +131,98 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented 651: TypePointer Output 13(float) 4112: 651(ptr) Variable Output 5663: 8 Function None 1282 - 24915: Label - 5830: 1972(ptr) Variable Function - 5072: 1669(ptr) Variable Function - 22097: 649(ptr) AccessChain 5830 2574 - Store 22097 2574 - 19732: 649(ptr) AccessChain 5830 2577 - Store 19732 2574 - 19733: 649(ptr) AccessChain 5830 2580 - Store 19733 2574 - 19734: 649(ptr) AccessChain 5830 2583 - Store 19734 2574 - 19735: 649(ptr) AccessChain 5830 2586 - Store 19735 2574 - 19736: 649(ptr) AccessChain 5830 2589 - Store 19736 2574 - 19737: 649(ptr) AccessChain 5830 2571 - Store 19737 2574 - 19738: 649(ptr) AccessChain 5830 2592 - Store 19738 2574 - 19739: 649(ptr) AccessChain 5830 2595 - Store 19739 2574 - 19740: 649(ptr) AccessChain 5830 2598 - Store 19740 2574 - 19741: 649(ptr) AccessChain 5830 2601 - Store 19741 2574 - 19656: 649(ptr) AccessChain 5830 2604 - Store 19656 2574 - 14934: 149 Load 4727 - 11686: 508 Load 3305 - 11940: 510 SampledImage 14934 11686 - 7877: 29(fvec4) ImageSampleImplicitLod 11940 2935 - 15360: 148 Load 4743 - 15706: 508 Load 3305 - 11941: 511 SampledImage 15360 15706 - 7878: 26(ivec4) ImageSampleImplicitLod 11941 2821 - 15361: 147 Load 4807 - 15707: 508 Load 3305 - 11942: 512 SampledImage 15361 15707 - 7879: 23(ivec4) ImageSampleImplicitLod 11942 2151 - 15362: 150 Load 5042 - 15708: 508 Load 3305 - 11943: 513 SampledImage 15362 15708 - 7880: 29(fvec4) ImageSampleImplicitLod 11943 1825 - 15363: 151 Load 5058 - 15709: 508 Load 3305 - 11944: 514 SampledImage 15363 15709 - 7881: 26(ivec4) ImageSampleImplicitLod 11944 2028 - 15364: 152 Load 5122 - 15710: 508 Load 3305 - 11945: 515 SampledImage 15364 15710 - 7882: 23(ivec4) ImageSampleImplicitLod 11945 2684 - 15365: 153 Load 3967 - 15711: 508 Load 3305 - 11946: 516 SampledImage 15365 15711 - 7883: 29(fvec4) ImageSampleImplicitLod 11946 1660 - 15366: 154 Load 3983 - 15712: 508 Load 3305 - 11947: 517 SampledImage 15366 15712 - 7884: 26(ivec4) ImageSampleImplicitLod 11947 2174 - 15367: 155 Load 4047 - 15713: 508 Load 3305 - 11948: 518 SampledImage 15367 15713 - 7885: 23(ivec4) ImageSampleImplicitLod 11948 2476 - 15368: 156 Load 3789 - 15714: 508 Load 3305 - 11949: 519 SampledImage 15368 15714 - 7886: 29(fvec4) ImageSampleImplicitLod 11949 1660 - 15369: 157 Load 3805 - 15715: 508 Load 3305 - 11950: 520 SampledImage 15369 15715 - 7887: 26(ivec4) ImageSampleImplicitLod 11950 2174 - 15370: 158 Load 3869 - 15716: 508 Load 3305 - 12016: 521 SampledImage 15370 15716 - 7204: 23(ivec4) ImageSampleImplicitLod 12016 2476 - 20158: 666(ptr) AccessChain 5072 2571 - Store 20158 1284 - 19742: 650(ptr) AccessChain 5072 2574 - Store 19742 138 - 19848: 666(ptr) AccessChain 5072 2571 - 7967: 29(fvec4) Load 19848 + 24877: Label + 4104: 1669(ptr) Variable Function + 18803:1032(struct) FunctionCall 3317 + Store 4104 18803 + 13396: 666(ptr) AccessChain 4104 2571 + 7967: 29(fvec4) Load 13396 Store 4656 7967 - 16622: 650(ptr) AccessChain 5072 2574 + 16622: 650(ptr) AccessChain 4104 2574 11539: 13(float) Load 16622 Store 4112 11539 Return FunctionEnd + 3317:1032(struct) Function None 319 + 12442: Label + 5830: 1972(ptr) Variable Function + 5072: 1669(ptr) Variable Function + 22671: 649(ptr) AccessChain 5830 2574 + Store 22671 2574 + 20306: 649(ptr) AccessChain 5830 2577 + Store 20306 2574 + 20307: 649(ptr) AccessChain 5830 2580 + Store 20307 2574 + 20308: 649(ptr) AccessChain 5830 2583 + Store 20308 2574 + 20309: 649(ptr) AccessChain 5830 2586 + Store 20309 2574 + 20310: 649(ptr) AccessChain 5830 2589 + Store 20310 2574 + 20311: 649(ptr) AccessChain 5830 2571 + Store 20311 2574 + 20312: 649(ptr) AccessChain 5830 2592 + Store 20312 2574 + 20313: 649(ptr) AccessChain 5830 2595 + Store 20313 2574 + 20314: 649(ptr) AccessChain 5830 2598 + Store 20314 2574 + 20315: 649(ptr) AccessChain 5830 2601 + Store 20315 2574 + 20230: 649(ptr) AccessChain 5830 2604 + Store 20230 2574 + 15508: 149 Load 4727 + 12260: 508 Load 3305 + 12514: 510 SampledImage 15508 12260 + 21065: 29(fvec4) ImageSampleImplicitLod 12514 2935 + 9477: 148 Load 4743 + 16280: 508 Load 3305 + 12515: 511 SampledImage 9477 16280 + 21066: 26(ivec4) ImageSampleImplicitLod 12515 2821 + 9478: 147 Load 4807 + 16281: 508 Load 3305 + 12516: 512 SampledImage 9478 16281 + 21067: 23(ivec4) ImageSampleImplicitLod 12516 2151 + 9479: 150 Load 5042 + 16282: 508 Load 3305 + 12517: 513 SampledImage 9479 16282 + 21068: 29(fvec4) ImageSampleImplicitLod 12517 1825 + 9480: 151 Load 5058 + 16283: 508 Load 3305 + 12518: 514 SampledImage 9480 16283 + 21069: 26(ivec4) ImageSampleImplicitLod 12518 2028 + 9481: 152 Load 5122 + 16284: 508 Load 3305 + 12519: 515 SampledImage 9481 16284 + 21070: 23(ivec4) ImageSampleImplicitLod 12519 2684 + 9482: 153 Load 3967 + 16285: 508 Load 3305 + 12520: 516 SampledImage 9482 16285 + 21071: 29(fvec4) ImageSampleImplicitLod 12520 1660 + 9483: 154 Load 3983 + 16286: 508 Load 3305 + 12521: 517 SampledImage 9483 16286 + 21072: 26(ivec4) ImageSampleImplicitLod 12521 2174 + 9484: 155 Load 4047 + 16287: 508 Load 3305 + 12522: 518 SampledImage 9484 16287 + 21073: 23(ivec4) ImageSampleImplicitLod 12522 2476 + 9485: 156 Load 3789 + 16288: 508 Load 3305 + 12523: 519 SampledImage 9485 16288 + 21074: 29(fvec4) ImageSampleImplicitLod 12523 1660 + 9486: 157 Load 3805 + 16289: 508 Load 3305 + 12524: 520 SampledImage 9486 16289 + 21075: 26(ivec4) ImageSampleImplicitLod 12524 2174 + 9487: 158 Load 3869 + 16290: 508 Load 3305 + 12590: 521 SampledImage 9487 16290 + 20392: 23(ivec4) ImageSampleImplicitLod 12590 2476 + 14275: 666(ptr) AccessChain 5072 2571 + Store 14275 1284 + 20231: 650(ptr) AccessChain 5072 2574 + Store 20231 138 + 8692:1032(struct) Load 5072 + ReturnValue 8692 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 51ad1a8bf96..5af75db0309 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -3,299 +3,310 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 191 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 7 "MemberTest" - MemberName 7(MemberTest) 0 "Sample" - MemberName 7(MemberTest) 1 "CalculateLevelOfDetail" - MemberName 7(MemberTest) 2 "CalculateLevelOfDetailUnclamped" - MemberName 7(MemberTest) 3 "Gather" - MemberName 7(MemberTest) 4 "GetDimensions" - MemberName 7(MemberTest) 5 "GetSamplePosition" - MemberName 7(MemberTest) 6 "Load" - MemberName 7(MemberTest) 7 "SampleBias" - MemberName 7(MemberTest) 8 "SampleCmp" - MemberName 7(MemberTest) 9 "SampleCmpLevelZero" - MemberName 7(MemberTest) 10 "SampleGrad" - MemberName 7(MemberTest) 11 "SampleLevel" - Name 9 "mtest" - Name 38 "txval10" - Name 41 "g_tTex1df4" - Name 45 "g_sSamp" - Name 53 "txval11" - Name 56 "g_tTex1di4" - Name 66 "txval12" - Name 69 "g_tTex1du4" - Name 76 "txval20" - Name 79 "g_tTex2df4" - Name 87 "txval21" - Name 90 "g_tTex2di4" - Name 98 "txval22" - Name 101 "g_tTex2du4" - Name 110 "txval30" - Name 113 "g_tTex3df4" - Name 121 "txval31" - Name 124 "g_tTex3di4" - Name 131 "txval32" - Name 134 "g_tTex3du4" - Name 144 "txval40" - Name 147 "g_tTexcdf4" - Name 153 "txval41" - Name 156 "g_tTexcdi4" - Name 162 "txval42" - Name 165 "g_tTexcdu4" - Name 171 "PS_OUTPUT" - MemberName 171(PS_OUTPUT) 0 "Color" - MemberName 171(PS_OUTPUT) 1 "Depth" - Name 173 "psout" - Name 180 "Color" - Name 184 "Depth" - Name 188 "g_sSamp2d" - Name 189 "g_sSamp2D_b" - Name 190 "g_tTex1df4a" - Decorate 41(g_tTex1df4) DescriptorSet 0 - Decorate 41(g_tTex1df4) Binding 0 - Decorate 45(g_sSamp) DescriptorSet 0 - Decorate 45(g_sSamp) Binding 0 - Decorate 56(g_tTex1di4) DescriptorSet 0 - Decorate 69(g_tTex1du4) DescriptorSet 0 - Decorate 79(g_tTex2df4) DescriptorSet 0 - Decorate 90(g_tTex2di4) DescriptorSet 0 - Decorate 101(g_tTex2du4) DescriptorSet 0 - Decorate 113(g_tTex3df4) DescriptorSet 0 - Decorate 124(g_tTex3di4) DescriptorSet 0 - Decorate 134(g_tTex3du4) DescriptorSet 0 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 156(g_tTexcdi4) DescriptorSet 0 - Decorate 165(g_tTexcdu4) DescriptorSet 0 - Decorate 180(Color) Location 0 - Decorate 184(Depth) BuiltIn FragDepth - Decorate 188(g_sSamp2d) DescriptorSet 0 - Decorate 189(g_sSamp2D_b) DescriptorSet 0 - Decorate 190(g_tTex1df4a) DescriptorSet 0 - Decorate 190(g_tTex1df4a) Binding 1 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + MemberName 8(PS_OUTPUT) 1 "Depth" + Name 10 "@main(" + Name 13 "MemberTest" + MemberName 13(MemberTest) 0 "Sample" + MemberName 13(MemberTest) 1 "CalculateLevelOfDetail" + MemberName 13(MemberTest) 2 "CalculateLevelOfDetailUnclamped" + MemberName 13(MemberTest) 3 "Gather" + MemberName 13(MemberTest) 4 "GetDimensions" + MemberName 13(MemberTest) 5 "GetSamplePosition" + MemberName 13(MemberTest) 6 "Load" + MemberName 13(MemberTest) 7 "SampleBias" + MemberName 13(MemberTest) 8 "SampleCmp" + MemberName 13(MemberTest) 9 "SampleCmpLevelZero" + MemberName 13(MemberTest) 10 "SampleGrad" + MemberName 13(MemberTest) 11 "SampleLevel" + Name 15 "mtest" + Name 42 "txval10" + Name 45 "g_tTex1df4" + Name 49 "g_sSamp" + Name 57 "txval11" + Name 60 "g_tTex1di4" + Name 70 "txval12" + Name 73 "g_tTex1du4" + Name 80 "txval20" + Name 83 "g_tTex2df4" + Name 91 "txval21" + Name 94 "g_tTex2di4" + Name 102 "txval22" + Name 105 "g_tTex2du4" + Name 114 "txval30" + Name 117 "g_tTex3df4" + Name 125 "txval31" + Name 128 "g_tTex3di4" + Name 135 "txval32" + Name 138 "g_tTex3du4" + Name 148 "txval40" + Name 151 "g_tTexcdf4" + Name 157 "txval41" + Name 160 "g_tTexcdi4" + Name 166 "txval42" + Name 169 "g_tTexcdu4" + Name 176 "psout" + Name 185 "flattenTemp" + Name 188 "Color" + Name 192 "Depth" + Name 195 "g_sSamp2d" + Name 196 "g_sSamp2D_b" + Name 197 "g_tTex1df4a" + Decorate 45(g_tTex1df4) DescriptorSet 0 + Decorate 45(g_tTex1df4) Binding 0 + Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 49(g_sSamp) Binding 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 188(Color) Location 0 + Decorate 192(Depth) BuiltIn FragDepth + Decorate 195(g_sSamp2d) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 197(g_tTex1df4a) Binding 1 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7(MemberTest): TypeStruct 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) - 8: TypePointer Function 7(MemberTest) - 10: 6(int) Constant 1 - 11: TypePointer Function 6(int) - 13: 6(int) Constant 2 - 15: 6(int) Constant 3 - 17: 6(int) Constant 4 - 19: 6(int) Constant 5 - 21: 6(int) Constant 6 - 23: 6(int) Constant 0 - 25: 6(int) Constant 7 - 27: 6(int) Constant 8 - 29: 6(int) Constant 9 - 31: 6(int) Constant 10 - 33: 6(int) Constant 11 - 35: TypeFloat 32 - 36: TypeVector 35(float) 4 - 37: TypePointer Function 36(fvec4) - 39: TypeImage 35(float) 1D sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1df4): 40(ptr) Variable UniformConstant - 43: TypeSampler + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypeInt 32 1 + 13(MemberTest): TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) + 14: TypePointer Function 13(MemberTest) + 16: 12(int) Constant 1 + 17: TypePointer Function 12(int) + 19: 12(int) Constant 2 + 21: 12(int) Constant 3 + 23: 12(int) Constant 4 + 25: 12(int) Constant 5 + 27: 12(int) Constant 6 + 29: 12(int) Constant 0 + 31: 12(int) Constant 7 + 33: 12(int) Constant 8 + 35: 12(int) Constant 9 + 37: 12(int) Constant 10 + 39: 12(int) Constant 11 + 41: TypePointer Function 7(fvec4) + 43: TypeImage 6(float) 1D sampled format:Unknown 44: TypePointer UniformConstant 43 - 45(g_sSamp): 44(ptr) Variable UniformConstant - 47: TypeSampledImage 39 - 49: 35(float) Constant 1036831949 - 51: TypeVector 6(int) 4 - 52: TypePointer Function 51(ivec4) - 54: TypeImage 6(int) 1D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex1di4): 55(ptr) Variable UniformConstant - 59: TypeSampledImage 54 - 61: 35(float) Constant 1045220557 - 63: TypeInt 32 0 - 64: TypeVector 63(int) 4 - 65: TypePointer Function 64(ivec4) - 67: TypeImage 63(int) 1D sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69(g_tTex1du4): 68(ptr) Variable UniformConstant - 72: TypeSampledImage 67 - 74: 35(float) Constant 1050253722 - 77: TypeImage 35(float) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2df4): 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: TypeVector 35(float) 2 - 85: 84(fvec2) ConstantComposite 49 61 - 88: TypeImage 6(int) 2D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex2di4): 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 35(float) Constant 1053609165 - 96: 84(fvec2) ConstantComposite 74 95 - 99: TypeImage 63(int) 2D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101(g_tTex2du4): 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 35(float) Constant 1056964608 - 107: 35(float) Constant 1058642330 - 108: 84(fvec2) ConstantComposite 106 107 - 111: TypeImage 35(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3df4): 112(ptr) Variable UniformConstant - 116: TypeSampledImage 111 - 118: TypeVector 35(float) 3 - 119: 118(fvec3) ConstantComposite 49 61 74 - 122: TypeImage 6(int) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124(g_tTex3di4): 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 129: 118(fvec3) ConstantComposite 95 106 107 - 132: TypeImage 63(int) 3D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134(g_tTex3du4): 133(ptr) Variable UniformConstant - 137: TypeSampledImage 132 - 139: 35(float) Constant 1060320051 - 140: 35(float) Constant 1061997773 - 141: 35(float) Constant 1063675494 - 142: 118(fvec3) ConstantComposite 139 140 141 - 145: TypeImage 35(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 150: TypeSampledImage 145 - 154: TypeImage 6(int) Cube sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTexcdi4): 155(ptr) Variable UniformConstant - 159: TypeSampledImage 154 - 163: TypeImage 63(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTexcdu4): 164(ptr) Variable UniformConstant - 168: TypeSampledImage 163 - 171(PS_OUTPUT): TypeStruct 36(fvec4) 35(float) - 172: TypePointer Function 171(PS_OUTPUT) - 174: 35(float) Constant 1065353216 - 175: 36(fvec4) ConstantComposite 174 174 174 174 - 177: TypePointer Function 35(float) - 179: TypePointer Output 36(fvec4) - 180(Color): 179(ptr) Variable Output - 183: TypePointer Output 35(float) - 184(Depth): 183(ptr) Variable Output - 188(g_sSamp2d): 44(ptr) Variable UniformConstant -189(g_sSamp2D_b): 44(ptr) Variable UniformConstant -190(g_tTex1df4a): 40(ptr) Variable UniformConstant + 45(g_tTex1df4): 44(ptr) Variable UniformConstant + 47: TypeSampler + 48: TypePointer UniformConstant 47 + 49(g_sSamp): 48(ptr) Variable UniformConstant + 51: TypeSampledImage 43 + 53: 6(float) Constant 1036831949 + 55: TypeVector 12(int) 4 + 56: TypePointer Function 55(ivec4) + 58: TypeImage 12(int) 1D sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex1di4): 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 65: 6(float) Constant 1045220557 + 67: TypeInt 32 0 + 68: TypeVector 67(int) 4 + 69: TypePointer Function 68(ivec4) + 71: TypeImage 67(int) 1D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex1du4): 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 78: 6(float) Constant 1050253722 + 81: TypeImage 6(float) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2df4): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: TypeVector 6(float) 2 + 89: 88(fvec2) ConstantComposite 53 65 + 92: TypeImage 12(int) 2D sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94(g_tTex2di4): 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 6(float) Constant 1053609165 + 100: 88(fvec2) ConstantComposite 78 99 + 103: TypeImage 67(int) 2D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105(g_tTex2du4): 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 6(float) Constant 1056964608 + 111: 6(float) Constant 1058642330 + 112: 88(fvec2) ConstantComposite 110 111 + 115: TypeImage 6(float) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117(g_tTex3df4): 116(ptr) Variable UniformConstant + 120: TypeSampledImage 115 + 122: TypeVector 6(float) 3 + 123: 122(fvec3) ConstantComposite 53 65 78 + 126: TypeImage 12(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3di4): 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 133: 122(fvec3) ConstantComposite 99 110 111 + 136: TypeImage 67(int) 3D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex3du4): 137(ptr) Variable UniformConstant + 141: TypeSampledImage 136 + 143: 6(float) Constant 1060320051 + 144: 6(float) Constant 1061997773 + 145: 6(float) Constant 1063675494 + 146: 122(fvec3) ConstantComposite 143 144 145 + 149: TypeImage 6(float) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151(g_tTexcdf4): 150(ptr) Variable UniformConstant + 154: TypeSampledImage 149 + 158: TypeImage 12(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTexcdi4): 159(ptr) Variable UniformConstant + 163: TypeSampledImage 158 + 167: TypeImage 67(int) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTexcdu4): 168(ptr) Variable UniformConstant + 172: TypeSampledImage 167 + 175: TypePointer Function 8(PS_OUTPUT) + 177: 6(float) Constant 1065353216 + 178: 7(fvec4) ConstantComposite 177 177 177 177 + 180: TypePointer Function 6(float) + 187: TypePointer Output 7(fvec4) + 188(Color): 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192(Depth): 191(ptr) Variable Output + 195(g_sSamp2d): 48(ptr) Variable UniformConstant +196(g_sSamp2D_b): 48(ptr) Variable UniformConstant +197(g_tTex1df4a): 44(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 9(mtest): 8(ptr) Variable Function - 38(txval10): 37(ptr) Variable Function - 53(txval11): 52(ptr) Variable Function - 66(txval12): 65(ptr) Variable Function - 76(txval20): 37(ptr) Variable Function - 87(txval21): 52(ptr) Variable Function - 98(txval22): 65(ptr) Variable Function - 110(txval30): 37(ptr) Variable Function - 121(txval31): 52(ptr) Variable Function - 131(txval32): 65(ptr) Variable Function - 144(txval40): 37(ptr) Variable Function - 153(txval41): 52(ptr) Variable Function - 162(txval42): 65(ptr) Variable Function - 173(psout): 172(ptr) Variable Function - 12: 11(ptr) AccessChain 9(mtest) 10 - Store 12 10 - 14: 11(ptr) AccessChain 9(mtest) 13 - Store 14 10 - 16: 11(ptr) AccessChain 9(mtest) 15 - Store 16 10 - 18: 11(ptr) AccessChain 9(mtest) 17 - Store 18 10 - 20: 11(ptr) AccessChain 9(mtest) 19 - Store 20 10 - 22: 11(ptr) AccessChain 9(mtest) 21 - Store 22 10 - 24: 11(ptr) AccessChain 9(mtest) 23 - Store 24 10 - 26: 11(ptr) AccessChain 9(mtest) 25 - Store 26 10 - 28: 11(ptr) AccessChain 9(mtest) 27 - Store 28 10 - 30: 11(ptr) AccessChain 9(mtest) 29 - Store 30 10 - 32: 11(ptr) AccessChain 9(mtest) 31 - Store 32 10 - 34: 11(ptr) AccessChain 9(mtest) 33 - Store 34 10 - 42: 39 Load 41(g_tTex1df4) - 46: 43 Load 45(g_sSamp) - 48: 47 SampledImage 42 46 - 50: 36(fvec4) ImageSampleImplicitLod 48 49 - Store 38(txval10) 50 - 57: 54 Load 56(g_tTex1di4) - 58: 43 Load 45(g_sSamp) - 60: 59 SampledImage 57 58 - 62: 51(ivec4) ImageSampleImplicitLod 60 61 - Store 53(txval11) 62 - 70: 67 Load 69(g_tTex1du4) - 71: 43 Load 45(g_sSamp) - 73: 72 SampledImage 70 71 - 75: 64(ivec4) ImageSampleImplicitLod 73 74 - Store 66(txval12) 75 - 80: 77 Load 79(g_tTex2df4) - 81: 43 Load 45(g_sSamp) - 83: 82 SampledImage 80 81 - 86: 36(fvec4) ImageSampleImplicitLod 83 85 - Store 76(txval20) 86 - 91: 88 Load 90(g_tTex2di4) - 92: 43 Load 45(g_sSamp) - 94: 93 SampledImage 91 92 - 97: 51(ivec4) ImageSampleImplicitLod 94 96 - Store 87(txval21) 97 - 102: 99 Load 101(g_tTex2du4) - 103: 43 Load 45(g_sSamp) - 105: 104 SampledImage 102 103 - 109: 64(ivec4) ImageSampleImplicitLod 105 108 - Store 98(txval22) 109 - 114: 111 Load 113(g_tTex3df4) - 115: 43 Load 45(g_sSamp) - 117: 116 SampledImage 114 115 - 120: 36(fvec4) ImageSampleImplicitLod 117 119 - Store 110(txval30) 120 - 125: 122 Load 124(g_tTex3di4) - 126: 43 Load 45(g_sSamp) - 128: 127 SampledImage 125 126 - 130: 51(ivec4) ImageSampleImplicitLod 128 129 - Store 121(txval31) 130 - 135: 132 Load 134(g_tTex3du4) - 136: 43 Load 45(g_sSamp) - 138: 137 SampledImage 135 136 - 143: 64(ivec4) ImageSampleImplicitLod 138 142 - Store 131(txval32) 143 - 148: 145 Load 147(g_tTexcdf4) - 149: 43 Load 45(g_sSamp) - 151: 150 SampledImage 148 149 - 152: 36(fvec4) ImageSampleImplicitLod 151 119 - Store 144(txval40) 152 - 157: 154 Load 156(g_tTexcdi4) - 158: 43 Load 45(g_sSamp) - 160: 159 SampledImage 157 158 - 161: 51(ivec4) ImageSampleImplicitLod 160 129 - Store 153(txval41) 161 - 166: 163 Load 165(g_tTexcdu4) - 167: 43 Load 45(g_sSamp) - 169: 168 SampledImage 166 167 - 170: 64(ivec4) ImageSampleImplicitLod 169 142 - Store 162(txval42) 170 - 176: 37(ptr) AccessChain 173(psout) 23 - Store 176 175 - 178: 177(ptr) AccessChain 173(psout) 10 - Store 178 174 - 181: 37(ptr) AccessChain 173(psout) 23 - 182: 36(fvec4) Load 181 - Store 180(Color) 182 - 185: 177(ptr) AccessChain 173(psout) 10 - 186: 35(float) Load 185 - Store 184(Depth) 186 +185(flattenTemp): 175(ptr) Variable Function + 186:8(PS_OUTPUT) FunctionCall 10(@main() + Store 185(flattenTemp) 186 + 189: 41(ptr) AccessChain 185(flattenTemp) 29 + 190: 7(fvec4) Load 189 + Store 188(Color) 190 + 193: 180(ptr) AccessChain 185(flattenTemp) 16 + 194: 6(float) Load 193 + Store 192(Depth) 194 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 15(mtest): 14(ptr) Variable Function + 42(txval10): 41(ptr) Variable Function + 57(txval11): 56(ptr) Variable Function + 70(txval12): 69(ptr) Variable Function + 80(txval20): 41(ptr) Variable Function + 91(txval21): 56(ptr) Variable Function + 102(txval22): 69(ptr) Variable Function + 114(txval30): 41(ptr) Variable Function + 125(txval31): 56(ptr) Variable Function + 135(txval32): 69(ptr) Variable Function + 148(txval40): 41(ptr) Variable Function + 157(txval41): 56(ptr) Variable Function + 166(txval42): 69(ptr) Variable Function + 176(psout): 175(ptr) Variable Function + 18: 17(ptr) AccessChain 15(mtest) 16 + Store 18 16 + 20: 17(ptr) AccessChain 15(mtest) 19 + Store 20 16 + 22: 17(ptr) AccessChain 15(mtest) 21 + Store 22 16 + 24: 17(ptr) AccessChain 15(mtest) 23 + Store 24 16 + 26: 17(ptr) AccessChain 15(mtest) 25 + Store 26 16 + 28: 17(ptr) AccessChain 15(mtest) 27 + Store 28 16 + 30: 17(ptr) AccessChain 15(mtest) 29 + Store 30 16 + 32: 17(ptr) AccessChain 15(mtest) 31 + Store 32 16 + 34: 17(ptr) AccessChain 15(mtest) 33 + Store 34 16 + 36: 17(ptr) AccessChain 15(mtest) 35 + Store 36 16 + 38: 17(ptr) AccessChain 15(mtest) 37 + Store 38 16 + 40: 17(ptr) AccessChain 15(mtest) 39 + Store 40 16 + 46: 43 Load 45(g_tTex1df4) + 50: 47 Load 49(g_sSamp) + 52: 51 SampledImage 46 50 + 54: 7(fvec4) ImageSampleImplicitLod 52 53 + Store 42(txval10) 54 + 61: 58 Load 60(g_tTex1di4) + 62: 47 Load 49(g_sSamp) + 64: 63 SampledImage 61 62 + 66: 55(ivec4) ImageSampleImplicitLod 64 65 + Store 57(txval11) 66 + 74: 71 Load 73(g_tTex1du4) + 75: 47 Load 49(g_sSamp) + 77: 76 SampledImage 74 75 + 79: 68(ivec4) ImageSampleImplicitLod 77 78 + Store 70(txval12) 79 + 84: 81 Load 83(g_tTex2df4) + 85: 47 Load 49(g_sSamp) + 87: 86 SampledImage 84 85 + 90: 7(fvec4) ImageSampleImplicitLod 87 89 + Store 80(txval20) 90 + 95: 92 Load 94(g_tTex2di4) + 96: 47 Load 49(g_sSamp) + 98: 97 SampledImage 95 96 + 101: 55(ivec4) ImageSampleImplicitLod 98 100 + Store 91(txval21) 101 + 106: 103 Load 105(g_tTex2du4) + 107: 47 Load 49(g_sSamp) + 109: 108 SampledImage 106 107 + 113: 68(ivec4) ImageSampleImplicitLod 109 112 + Store 102(txval22) 113 + 118: 115 Load 117(g_tTex3df4) + 119: 47 Load 49(g_sSamp) + 121: 120 SampledImage 118 119 + 124: 7(fvec4) ImageSampleImplicitLod 121 123 + Store 114(txval30) 124 + 129: 126 Load 128(g_tTex3di4) + 130: 47 Load 49(g_sSamp) + 132: 131 SampledImage 129 130 + 134: 55(ivec4) ImageSampleImplicitLod 132 133 + Store 125(txval31) 134 + 139: 136 Load 138(g_tTex3du4) + 140: 47 Load 49(g_sSamp) + 142: 141 SampledImage 139 140 + 147: 68(ivec4) ImageSampleImplicitLod 142 146 + Store 135(txval32) 147 + 152: 149 Load 151(g_tTexcdf4) + 153: 47 Load 49(g_sSamp) + 155: 154 SampledImage 152 153 + 156: 7(fvec4) ImageSampleImplicitLod 155 123 + Store 148(txval40) 156 + 161: 158 Load 160(g_tTexcdi4) + 162: 47 Load 49(g_sSamp) + 164: 163 SampledImage 161 162 + 165: 55(ivec4) ImageSampleImplicitLod 164 133 + Store 157(txval41) 165 + 170: 167 Load 169(g_tTexcdu4) + 171: 47 Load 49(g_sSamp) + 173: 172 SampledImage 170 171 + 174: 68(ivec4) ImageSampleImplicitLod 173 146 + Store 166(txval42) 174 + 179: 41(ptr) AccessChain 176(psout) 29 + Store 179 178 + 181: 180(ptr) AccessChain 176(psout) 16 + Store 181 177 + 182:8(PS_OUTPUT) Load 176(psout) + ReturnValue 182 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index f95d7effbbc..d76bdd93c67 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -3,250 +3,259 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 191 +// Id's are bound by 198 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 180 184 + EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft - Decorate 41 DescriptorSet 0 - Decorate 41 Binding 0 Decorate 45 DescriptorSet 0 Decorate 45 Binding 0 - Decorate 56 DescriptorSet 0 - Decorate 69 DescriptorSet 0 - Decorate 79 DescriptorSet 0 - Decorate 90 DescriptorSet 0 - Decorate 101 DescriptorSet 0 - Decorate 113 DescriptorSet 0 - Decorate 124 DescriptorSet 0 - Decorate 134 DescriptorSet 0 - Decorate 147 DescriptorSet 0 - Decorate 156 DescriptorSet 0 - Decorate 165 DescriptorSet 0 - Decorate 180 Location 0 - Decorate 184 BuiltIn FragDepth - Decorate 188 DescriptorSet 0 - Decorate 189 DescriptorSet 0 - Decorate 190 DescriptorSet 0 - Decorate 190 Binding 1 + Decorate 49 DescriptorSet 0 + Decorate 49 Binding 0 + Decorate 60 DescriptorSet 0 + Decorate 73 DescriptorSet 0 + Decorate 83 DescriptorSet 0 + Decorate 94 DescriptorSet 0 + Decorate 105 DescriptorSet 0 + Decorate 117 DescriptorSet 0 + Decorate 128 DescriptorSet 0 + Decorate 138 DescriptorSet 0 + Decorate 151 DescriptorSet 0 + Decorate 160 DescriptorSet 0 + Decorate 169 DescriptorSet 0 + Decorate 188 Location 0 + Decorate 192 BuiltIn FragDepth + Decorate 195 DescriptorSet 0 + Decorate 196 DescriptorSet 0 + Decorate 197 DescriptorSet 0 + Decorate 197 Binding 1 2: TypeVoid 3: TypeFunction 2 - 6: TypeInt 32 1 - 7: TypeStruct 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) 6(int) - 8: TypePointer Function 7(struct) - 10: 6(int) Constant 1 - 11: TypePointer Function 6(int) - 13: 6(int) Constant 2 - 15: 6(int) Constant 3 - 17: 6(int) Constant 4 - 19: 6(int) Constant 5 - 21: 6(int) Constant 6 - 23: 6(int) Constant 0 - 25: 6(int) Constant 7 - 27: 6(int) Constant 8 - 29: 6(int) Constant 9 - 31: 6(int) Constant 10 - 33: 6(int) Constant 11 - 35: TypeFloat 32 - 36: TypeVector 35(float) 4 - 37: TypePointer Function 36(fvec4) - 39: TypeImage 35(float) 1D sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41: 40(ptr) Variable UniformConstant - 43: TypeSampler + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeStruct 7(fvec4) 6(float) + 9: TypeFunction 8(struct) + 12: TypeInt 32 1 + 13: TypeStruct 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) 12(int) + 14: TypePointer Function 13(struct) + 16: 12(int) Constant 1 + 17: TypePointer Function 12(int) + 19: 12(int) Constant 2 + 21: 12(int) Constant 3 + 23: 12(int) Constant 4 + 25: 12(int) Constant 5 + 27: 12(int) Constant 6 + 29: 12(int) Constant 0 + 31: 12(int) Constant 7 + 33: 12(int) Constant 8 + 35: 12(int) Constant 9 + 37: 12(int) Constant 10 + 39: 12(int) Constant 11 + 41: TypePointer Function 7(fvec4) + 43: TypeImage 6(float) 1D sampled format:Unknown 44: TypePointer UniformConstant 43 45: 44(ptr) Variable UniformConstant - 47: TypeSampledImage 39 - 49: 35(float) Constant 1036831949 - 51: TypeVector 6(int) 4 - 52: TypePointer Function 51(ivec4) - 54: TypeImage 6(int) 1D sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56: 55(ptr) Variable UniformConstant - 59: TypeSampledImage 54 - 61: 35(float) Constant 1045220557 - 63: TypeInt 32 0 - 64: TypeVector 63(int) 4 - 65: TypePointer Function 64(ivec4) - 67: TypeImage 63(int) 1D sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69: 68(ptr) Variable UniformConstant - 72: TypeSampledImage 67 - 74: 35(float) Constant 1050253722 - 77: TypeImage 35(float) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79: 78(ptr) Variable UniformConstant - 82: TypeSampledImage 77 - 84: TypeVector 35(float) 2 - 85: 84(fvec2) ConstantComposite 49 61 - 88: TypeImage 6(int) 2D sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90: 89(ptr) Variable UniformConstant - 93: TypeSampledImage 88 - 95: 35(float) Constant 1053609165 - 96: 84(fvec2) ConstantComposite 74 95 - 99: TypeImage 63(int) 2D sampled format:Unknown - 100: TypePointer UniformConstant 99 - 101: 100(ptr) Variable UniformConstant - 104: TypeSampledImage 99 - 106: 35(float) Constant 1056964608 - 107: 35(float) Constant 1058642330 - 108: 84(fvec2) ConstantComposite 106 107 - 111: TypeImage 35(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113: 112(ptr) Variable UniformConstant - 116: TypeSampledImage 111 - 118: TypeVector 35(float) 3 - 119: 118(fvec3) ConstantComposite 49 61 74 - 122: TypeImage 6(int) 3D sampled format:Unknown - 123: TypePointer UniformConstant 122 - 124: 123(ptr) Variable UniformConstant - 127: TypeSampledImage 122 - 129: 118(fvec3) ConstantComposite 95 106 107 - 132: TypeImage 63(int) 3D sampled format:Unknown - 133: TypePointer UniformConstant 132 - 134: 133(ptr) Variable UniformConstant - 137: TypeSampledImage 132 - 139: 35(float) Constant 1060320051 - 140: 35(float) Constant 1061997773 - 141: 35(float) Constant 1063675494 - 142: 118(fvec3) ConstantComposite 139 140 141 - 145: TypeImage 35(float) Cube sampled format:Unknown - 146: TypePointer UniformConstant 145 - 147: 146(ptr) Variable UniformConstant - 150: TypeSampledImage 145 - 154: TypeImage 6(int) Cube sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156: 155(ptr) Variable UniformConstant - 159: TypeSampledImage 154 - 163: TypeImage 63(int) Cube sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165: 164(ptr) Variable UniformConstant - 168: TypeSampledImage 163 - 171: TypeStruct 36(fvec4) 35(float) - 172: TypePointer Function 171(struct) - 174: 35(float) Constant 1065353216 - 175: 36(fvec4) ConstantComposite 174 174 174 174 - 177: TypePointer Function 35(float) - 179: TypePointer Output 36(fvec4) - 180: 179(ptr) Variable Output - 183: TypePointer Output 35(float) - 184: 183(ptr) Variable Output - 188: 44(ptr) Variable UniformConstant - 189: 44(ptr) Variable UniformConstant - 190: 40(ptr) Variable UniformConstant + 47: TypeSampler + 48: TypePointer UniformConstant 47 + 49: 48(ptr) Variable UniformConstant + 51: TypeSampledImage 43 + 53: 6(float) Constant 1036831949 + 55: TypeVector 12(int) 4 + 56: TypePointer Function 55(ivec4) + 58: TypeImage 12(int) 1D sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60: 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 65: 6(float) Constant 1045220557 + 67: TypeInt 32 0 + 68: TypeVector 67(int) 4 + 69: TypePointer Function 68(ivec4) + 71: TypeImage 67(int) 1D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73: 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 78: 6(float) Constant 1050253722 + 81: TypeImage 6(float) 2D sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83: 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 88: TypeVector 6(float) 2 + 89: 88(fvec2) ConstantComposite 53 65 + 92: TypeImage 12(int) 2D sampled format:Unknown + 93: TypePointer UniformConstant 92 + 94: 93(ptr) Variable UniformConstant + 97: TypeSampledImage 92 + 99: 6(float) Constant 1053609165 + 100: 88(fvec2) ConstantComposite 78 99 + 103: TypeImage 67(int) 2D sampled format:Unknown + 104: TypePointer UniformConstant 103 + 105: 104(ptr) Variable UniformConstant + 108: TypeSampledImage 103 + 110: 6(float) Constant 1056964608 + 111: 6(float) Constant 1058642330 + 112: 88(fvec2) ConstantComposite 110 111 + 115: TypeImage 6(float) 3D sampled format:Unknown + 116: TypePointer UniformConstant 115 + 117: 116(ptr) Variable UniformConstant + 120: TypeSampledImage 115 + 122: TypeVector 6(float) 3 + 123: 122(fvec3) ConstantComposite 53 65 78 + 126: TypeImage 12(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128: 127(ptr) Variable UniformConstant + 131: TypeSampledImage 126 + 133: 122(fvec3) ConstantComposite 99 110 111 + 136: TypeImage 67(int) 3D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138: 137(ptr) Variable UniformConstant + 141: TypeSampledImage 136 + 143: 6(float) Constant 1060320051 + 144: 6(float) Constant 1061997773 + 145: 6(float) Constant 1063675494 + 146: 122(fvec3) ConstantComposite 143 144 145 + 149: TypeImage 6(float) Cube sampled format:Unknown + 150: TypePointer UniformConstant 149 + 151: 150(ptr) Variable UniformConstant + 154: TypeSampledImage 149 + 158: TypeImage 12(int) Cube sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160: 159(ptr) Variable UniformConstant + 163: TypeSampledImage 158 + 167: TypeImage 67(int) Cube sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169: 168(ptr) Variable UniformConstant + 172: TypeSampledImage 167 + 175: TypePointer Function 8(struct) + 177: 6(float) Constant 1065353216 + 178: 7(fvec4) ConstantComposite 177 177 177 177 + 180: TypePointer Function 6(float) + 187: TypePointer Output 7(fvec4) + 188: 187(ptr) Variable Output + 191: TypePointer Output 6(float) + 192: 191(ptr) Variable Output + 195: 48(ptr) Variable UniformConstant + 196: 48(ptr) Variable UniformConstant + 197: 44(ptr) Variable UniformConstant 4: 2 Function None 3 5: Label - 9: 8(ptr) Variable Function - 38: 37(ptr) Variable Function - 53: 52(ptr) Variable Function - 66: 65(ptr) Variable Function - 76: 37(ptr) Variable Function - 87: 52(ptr) Variable Function - 98: 65(ptr) Variable Function - 110: 37(ptr) Variable Function - 121: 52(ptr) Variable Function - 131: 65(ptr) Variable Function - 144: 37(ptr) Variable Function - 153: 52(ptr) Variable Function - 162: 65(ptr) Variable Function - 173: 172(ptr) Variable Function - 12: 11(ptr) AccessChain 9 10 - Store 12 10 - 14: 11(ptr) AccessChain 9 13 - Store 14 10 - 16: 11(ptr) AccessChain 9 15 - Store 16 10 - 18: 11(ptr) AccessChain 9 17 - Store 18 10 - 20: 11(ptr) AccessChain 9 19 - Store 20 10 - 22: 11(ptr) AccessChain 9 21 - Store 22 10 - 24: 11(ptr) AccessChain 9 23 - Store 24 10 - 26: 11(ptr) AccessChain 9 25 - Store 26 10 - 28: 11(ptr) AccessChain 9 27 - Store 28 10 - 30: 11(ptr) AccessChain 9 29 - Store 30 10 - 32: 11(ptr) AccessChain 9 31 - Store 32 10 - 34: 11(ptr) AccessChain 9 33 - Store 34 10 - 42: 39 Load 41 - 46: 43 Load 45 - 48: 47 SampledImage 42 46 - 50: 36(fvec4) ImageSampleImplicitLod 48 49 - Store 38 50 - 57: 54 Load 56 - 58: 43 Load 45 - 60: 59 SampledImage 57 58 - 62: 51(ivec4) ImageSampleImplicitLod 60 61 - Store 53 62 - 70: 67 Load 69 - 71: 43 Load 45 - 73: 72 SampledImage 70 71 - 75: 64(ivec4) ImageSampleImplicitLod 73 74 - Store 66 75 - 80: 77 Load 79 - 81: 43 Load 45 - 83: 82 SampledImage 80 81 - 86: 36(fvec4) ImageSampleImplicitLod 83 85 - Store 76 86 - 91: 88 Load 90 - 92: 43 Load 45 - 94: 93 SampledImage 91 92 - 97: 51(ivec4) ImageSampleImplicitLod 94 96 - Store 87 97 - 102: 99 Load 101 - 103: 43 Load 45 - 105: 104 SampledImage 102 103 - 109: 64(ivec4) ImageSampleImplicitLod 105 108 - Store 98 109 - 114: 111 Load 113 - 115: 43 Load 45 - 117: 116 SampledImage 114 115 - 120: 36(fvec4) ImageSampleImplicitLod 117 119 - Store 110 120 - 125: 122 Load 124 - 126: 43 Load 45 - 128: 127 SampledImage 125 126 - 130: 51(ivec4) ImageSampleImplicitLod 128 129 - Store 121 130 - 135: 132 Load 134 - 136: 43 Load 45 - 138: 137 SampledImage 135 136 - 143: 64(ivec4) ImageSampleImplicitLod 138 142 - Store 131 143 - 148: 145 Load 147 - 149: 43 Load 45 - 151: 150 SampledImage 148 149 - 152: 36(fvec4) ImageSampleImplicitLod 151 119 - Store 144 152 - 157: 154 Load 156 - 158: 43 Load 45 - 160: 159 SampledImage 157 158 - 161: 51(ivec4) ImageSampleImplicitLod 160 129 - Store 153 161 - 166: 163 Load 165 - 167: 43 Load 45 - 169: 168 SampledImage 166 167 - 170: 64(ivec4) ImageSampleImplicitLod 169 142 - Store 162 170 - 176: 37(ptr) AccessChain 173 23 - Store 176 175 - 178: 177(ptr) AccessChain 173 10 - Store 178 174 - 181: 37(ptr) AccessChain 173 23 - 182: 36(fvec4) Load 181 - Store 180 182 - 185: 177(ptr) AccessChain 173 10 - 186: 35(float) Load 185 - Store 184 186 + 185: 175(ptr) Variable Function + 186: 8(struct) FunctionCall 10 + Store 185 186 + 189: 41(ptr) AccessChain 185 29 + 190: 7(fvec4) Load 189 + Store 188 190 + 193: 180(ptr) AccessChain 185 16 + 194: 6(float) Load 193 + Store 192 194 Return FunctionEnd + 10: 8(struct) Function None 9 + 11: Label + 15: 14(ptr) Variable Function + 42: 41(ptr) Variable Function + 57: 56(ptr) Variable Function + 70: 69(ptr) Variable Function + 80: 41(ptr) Variable Function + 91: 56(ptr) Variable Function + 102: 69(ptr) Variable Function + 114: 41(ptr) Variable Function + 125: 56(ptr) Variable Function + 135: 69(ptr) Variable Function + 148: 41(ptr) Variable Function + 157: 56(ptr) Variable Function + 166: 69(ptr) Variable Function + 176: 175(ptr) Variable Function + 18: 17(ptr) AccessChain 15 16 + Store 18 16 + 20: 17(ptr) AccessChain 15 19 + Store 20 16 + 22: 17(ptr) AccessChain 15 21 + Store 22 16 + 24: 17(ptr) AccessChain 15 23 + Store 24 16 + 26: 17(ptr) AccessChain 15 25 + Store 26 16 + 28: 17(ptr) AccessChain 15 27 + Store 28 16 + 30: 17(ptr) AccessChain 15 29 + Store 30 16 + 32: 17(ptr) AccessChain 15 31 + Store 32 16 + 34: 17(ptr) AccessChain 15 33 + Store 34 16 + 36: 17(ptr) AccessChain 15 35 + Store 36 16 + 38: 17(ptr) AccessChain 15 37 + Store 38 16 + 40: 17(ptr) AccessChain 15 39 + Store 40 16 + 46: 43 Load 45 + 50: 47 Load 49 + 52: 51 SampledImage 46 50 + 54: 7(fvec4) ImageSampleImplicitLod 52 53 + Store 42 54 + 61: 58 Load 60 + 62: 47 Load 49 + 64: 63 SampledImage 61 62 + 66: 55(ivec4) ImageSampleImplicitLod 64 65 + Store 57 66 + 74: 71 Load 73 + 75: 47 Load 49 + 77: 76 SampledImage 74 75 + 79: 68(ivec4) ImageSampleImplicitLod 77 78 + Store 70 79 + 84: 81 Load 83 + 85: 47 Load 49 + 87: 86 SampledImage 84 85 + 90: 7(fvec4) ImageSampleImplicitLod 87 89 + Store 80 90 + 95: 92 Load 94 + 96: 47 Load 49 + 98: 97 SampledImage 95 96 + 101: 55(ivec4) ImageSampleImplicitLod 98 100 + Store 91 101 + 106: 103 Load 105 + 107: 47 Load 49 + 109: 108 SampledImage 106 107 + 113: 68(ivec4) ImageSampleImplicitLod 109 112 + Store 102 113 + 118: 115 Load 117 + 119: 47 Load 49 + 121: 120 SampledImage 118 119 + 124: 7(fvec4) ImageSampleImplicitLod 121 123 + Store 114 124 + 129: 126 Load 128 + 130: 47 Load 49 + 132: 131 SampledImage 129 130 + 134: 55(ivec4) ImageSampleImplicitLod 132 133 + Store 125 134 + 139: 136 Load 138 + 140: 47 Load 49 + 142: 141 SampledImage 139 140 + 147: 68(ivec4) ImageSampleImplicitLod 142 146 + Store 135 147 + 152: 149 Load 151 + 153: 47 Load 49 + 155: 154 SampledImage 152 153 + 156: 7(fvec4) ImageSampleImplicitLod 155 123 + Store 148 156 + 161: 158 Load 160 + 162: 47 Load 49 + 164: 163 SampledImage 161 162 + 165: 55(ivec4) ImageSampleImplicitLod 164 133 + Store 157 165 + 170: 167 Load 169 + 171: 47 Load 49 + 173: 172 SampledImage 170 171 + 174: 68(ivec4) ImageSampleImplicitLod 173 146 + Store 166 174 + 179: 41(ptr) AccessChain 176 29 + Store 179 178 + 181: 180(ptr) AccessChain 176 16 + Store 181 177 + 182: 8(struct) Load 176 + ReturnValue 182 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out index c42a037bb3f..330aecd6037 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out @@ -1,27 +1,38 @@ remap.hlsl.templatetypes.everything.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 9012 +// Id's are bound by 24954 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 5663 "main" 4045 4872 + EntryPoint Fragment 5663 "main" 4872 4045 ExecutionMode 5663 OriginUpperLeft - Decorate 4045 Location 0 Decorate 4872 Location 0 + Decorate 4045 Location 0 8: TypeVoid 1282: TypeFunction 8 13: TypeFloat 32 29: TypeVector 13(float) 4 + 666: TypePointer Function 29(fvec4) + 255: TypeFunction 13(float) 666(ptr) 2572: 13(float) Constant 0 + 667: TypePointer Input 29(fvec4) + 4872: 667(ptr) Variable Input 650: TypePointer Output 13(float) 4045: 650(ptr) Variable Output - 666: TypePointer Input 29(fvec4) - 4872: 666(ptr) Variable Input 5663: 8 Function None 1282 - 9011: Label - Store 4045 2572 + 24953: Label + 5786: 666(ptr) Variable Function + 24021: 29(fvec4) Load 4872 + Store 5786 24021 + 9338: 13(float) FunctionCall 3917 5786 + Store 4045 9338 Return FunctionEnd + 3917: 13(float) Function None 255 + 10636: 666(ptr) FunctionParameter + 10637: Label + ReturnValue 2572 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out index 027f0207765..c5d8a010ed0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out @@ -1,222 +1,239 @@ remap.hlsl.templatetypes.none.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 160 Capability Shader Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 146 149 + EntryPoint Fragment 4 "main" 153 156 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "r00" - Name 15 "r01" - Name 20 "r12" - Name 24 "r13" - Name 27 "r14" - Name 30 "r15" - Name 34 "r16" - Name 38 "r20" - Name 43 "r21" - Name 48 "r22" - Name 52 "r23" - Name 57 "r24" - Name 62 "r30" - Name 66 "r31" - Name 71 "r32" - Name 75 "r33" - Name 80 "r34" - Name 85 "r40" - Name 89 "r41" - Name 92 "r42" - Name 95 "r43" - Name 100 "r44" - Name 105 "r50" - Name 122 "r51" - Name 125 "r61" - Name 130 "r62" - Name 136 "r65" - Name 141 "r66" - Name 146 "@entryPointOutput" - Name 149 "input" - Decorate 146(@entryPointOutput) Location 0 - Decorate 149(input) Location 0 + Name 11 "@main(vf4;" + Name 10 "input" + Name 13 "r00" + Name 19 "r01" + Name 24 "r12" + Name 28 "r13" + Name 31 "r14" + Name 34 "r15" + Name 38 "r16" + Name 42 "r20" + Name 47 "r21" + Name 52 "r22" + Name 56 "r23" + Name 61 "r24" + Name 66 "r30" + Name 70 "r31" + Name 75 "r32" + Name 79 "r33" + Name 84 "r34" + Name 89 "r40" + Name 93 "r41" + Name 96 "r42" + Name 99 "r43" + Name 104 "r44" + Name 109 "r50" + Name 126 "r51" + Name 129 "r61" + Name 134 "r62" + Name 140 "r65" + Name 145 "r66" + Name 151 "input" + Name 153 "input" + Name 156 "@entryPointOutput" + Name 157 "param" + Decorate 153(input) Location 0 + Decorate 156(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypePointer Function 7(fvec4) - 10: 6(float) Constant 1065353216 - 11: 6(float) Constant 1073741824 - 12: 6(float) Constant 1077936128 - 13: 6(float) Constant 1082130432 - 14: 7(fvec4) ConstantComposite 10 11 12 13 - 16: 6(float) Constant 1084227584 - 17: 7(fvec4) ConstantComposite 11 12 13 16 - 18: TypeBool - 19: TypePointer Function 18(bool) - 21: 18(bool) ConstantFalse - 22: TypeInt 32 1 - 23: TypePointer Function 22(int) - 25: 22(int) Constant 1 - 26: TypePointer Function 6(float) - 28: TypeFloat 64 - 29: TypePointer Function 28(float) - 31: 28(float) Constant 0 1072693248 - 32: TypeInt 32 0 - 33: TypePointer Function 32(int) - 35: 32(int) Constant 1 - 36: TypeVector 18(bool) 2 - 37: TypePointer Function 36(bvec2) - 39: 18(bool) ConstantTrue - 40: 36(bvec2) ConstantComposite 21 39 - 41: TypeVector 22(int) 2 - 42: TypePointer Function 41(ivec2) - 44: 22(int) Constant 2 - 45: 41(ivec2) ConstantComposite 25 44 - 46: TypeVector 6(float) 2 - 47: TypePointer Function 46(fvec2) - 49: 46(fvec2) ConstantComposite 10 11 - 50: TypeVector 28(float) 2 + 9: TypeFunction 6(float) 8(ptr) + 14: 6(float) Constant 1065353216 + 15: 6(float) Constant 1073741824 + 16: 6(float) Constant 1077936128 + 17: 6(float) Constant 1082130432 + 18: 7(fvec4) ConstantComposite 14 15 16 17 + 20: 6(float) Constant 1084227584 + 21: 7(fvec4) ConstantComposite 15 16 17 20 + 22: TypeBool + 23: TypePointer Function 22(bool) + 25: 22(bool) ConstantFalse + 26: TypeInt 32 1 + 27: TypePointer Function 26(int) + 29: 26(int) Constant 1 + 30: TypePointer Function 6(float) + 32: TypeFloat 64 + 33: TypePointer Function 32(float) + 35: 32(float) Constant 0 1072693248 + 36: TypeInt 32 0 + 37: TypePointer Function 36(int) + 39: 36(int) Constant 1 + 40: TypeVector 22(bool) 2 + 41: TypePointer Function 40(bvec2) + 43: 22(bool) ConstantTrue + 44: 40(bvec2) ConstantComposite 25 43 + 45: TypeVector 26(int) 2 + 46: TypePointer Function 45(ivec2) + 48: 26(int) Constant 2 + 49: 45(ivec2) ConstantComposite 29 48 + 50: TypeVector 6(float) 2 51: TypePointer Function 50(fvec2) - 53: 28(float) Constant 0 1073741824 - 54: 50(fvec2) ConstantComposite 31 53 - 55: TypeVector 32(int) 2 - 56: TypePointer Function 55(ivec2) - 58: 32(int) Constant 2 - 59: 55(ivec2) ConstantComposite 35 58 - 60: TypeVector 18(bool) 3 - 61: TypePointer Function 60(bvec3) - 63: 60(bvec3) ConstantComposite 21 39 39 - 64: TypeVector 22(int) 3 - 65: TypePointer Function 64(ivec3) - 67: 22(int) Constant 3 - 68: 64(ivec3) ConstantComposite 25 44 67 - 69: TypeVector 6(float) 3 - 70: TypePointer Function 69(fvec3) - 72: 69(fvec3) ConstantComposite 10 11 12 - 73: TypeVector 28(float) 3 + 53: 50(fvec2) ConstantComposite 14 15 + 54: TypeVector 32(float) 2 + 55: TypePointer Function 54(fvec2) + 57: 32(float) Constant 0 1073741824 + 58: 54(fvec2) ConstantComposite 35 57 + 59: TypeVector 36(int) 2 + 60: TypePointer Function 59(ivec2) + 62: 36(int) Constant 2 + 63: 59(ivec2) ConstantComposite 39 62 + 64: TypeVector 22(bool) 3 + 65: TypePointer Function 64(bvec3) + 67: 64(bvec3) ConstantComposite 25 43 43 + 68: TypeVector 26(int) 3 + 69: TypePointer Function 68(ivec3) + 71: 26(int) Constant 3 + 72: 68(ivec3) ConstantComposite 29 48 71 + 73: TypeVector 6(float) 3 74: TypePointer Function 73(fvec3) - 76: 28(float) Constant 0 1074266112 - 77: 73(fvec3) ConstantComposite 31 53 76 - 78: TypeVector 32(int) 3 - 79: TypePointer Function 78(ivec3) - 81: 32(int) Constant 3 - 82: 78(ivec3) ConstantComposite 35 58 81 - 83: TypeVector 18(bool) 4 - 84: TypePointer Function 83(bvec4) - 86: 83(bvec4) ConstantComposite 21 39 39 21 - 87: TypeVector 22(int) 4 - 88: TypePointer Function 87(ivec4) - 90: 22(int) Constant 4 - 91: 87(ivec4) ConstantComposite 25 44 67 90 - 93: TypeVector 28(float) 4 - 94: TypePointer Function 93(fvec4) - 96: 28(float) Constant 0 1074790400 - 97: 93(fvec4) ConstantComposite 31 53 76 96 - 98: TypeVector 32(int) 4 - 99: TypePointer Function 98(ivec4) - 101: 32(int) Constant 4 - 102: 98(ivec4) ConstantComposite 35 58 81 101 - 103: TypeMatrix 7(fvec4) 4 - 104: TypePointer Function 103 - 106: 6(float) Constant 0 - 107: 7(fvec4) ConstantComposite 106 10 11 12 - 108: 6(float) Constant 1086324736 - 109: 6(float) Constant 1088421888 - 110: 7(fvec4) ConstantComposite 13 16 108 109 - 111: 6(float) Constant 1090519040 - 112: 6(float) Constant 1091567616 - 113: 6(float) Constant 1092616192 - 114: 6(float) Constant 1093664768 - 115: 7(fvec4) ConstantComposite 111 112 113 114 - 116: 6(float) Constant 1094713344 - 117: 6(float) Constant 1095761920 - 118: 6(float) Constant 1096810496 - 119: 6(float) Constant 1097859072 - 120: 7(fvec4) ConstantComposite 116 117 118 119 - 121: 103 ConstantComposite 107 110 115 120 - 123: TypeMatrix 69(fvec3) 2 - 124: TypePointer Function 123 - 126: 69(fvec3) ConstantComposite 13 16 108 - 127: 123 ConstantComposite 72 126 - 128: TypeMatrix 46(fvec2) 3 - 129: TypePointer Function 128 - 131: 46(fvec2) ConstantComposite 12 13 - 132: 46(fvec2) ConstantComposite 16 108 - 133: 128 ConstantComposite 49 131 132 - 134: TypeMatrix 46(fvec2) 4 - 135: TypePointer Function 134 - 137: 46(fvec2) ConstantComposite 109 111 - 138: 134 ConstantComposite 49 131 132 137 - 139: TypeMatrix 69(fvec3) 4 - 140: TypePointer Function 139 - 142: 69(fvec3) ConstantComposite 109 111 112 - 143: 69(fvec3) ConstantComposite 113 114 116 - 144: 139 ConstantComposite 72 126 142 143 - 145: TypePointer Output 6(float) -146(@entryPointOutput): 145(ptr) Variable Output - 148: TypePointer Input 7(fvec4) - 149(input): 148(ptr) Variable Input + 76: 73(fvec3) ConstantComposite 14 15 16 + 77: TypeVector 32(float) 3 + 78: TypePointer Function 77(fvec3) + 80: 32(float) Constant 0 1074266112 + 81: 77(fvec3) ConstantComposite 35 57 80 + 82: TypeVector 36(int) 3 + 83: TypePointer Function 82(ivec3) + 85: 36(int) Constant 3 + 86: 82(ivec3) ConstantComposite 39 62 85 + 87: TypeVector 22(bool) 4 + 88: TypePointer Function 87(bvec4) + 90: 87(bvec4) ConstantComposite 25 43 43 25 + 91: TypeVector 26(int) 4 + 92: TypePointer Function 91(ivec4) + 94: 26(int) Constant 4 + 95: 91(ivec4) ConstantComposite 29 48 71 94 + 97: TypeVector 32(float) 4 + 98: TypePointer Function 97(fvec4) + 100: 32(float) Constant 0 1074790400 + 101: 97(fvec4) ConstantComposite 35 57 80 100 + 102: TypeVector 36(int) 4 + 103: TypePointer Function 102(ivec4) + 105: 36(int) Constant 4 + 106: 102(ivec4) ConstantComposite 39 62 85 105 + 107: TypeMatrix 7(fvec4) 4 + 108: TypePointer Function 107 + 110: 6(float) Constant 0 + 111: 7(fvec4) ConstantComposite 110 14 15 16 + 112: 6(float) Constant 1086324736 + 113: 6(float) Constant 1088421888 + 114: 7(fvec4) ConstantComposite 17 20 112 113 + 115: 6(float) Constant 1090519040 + 116: 6(float) Constant 1091567616 + 117: 6(float) Constant 1092616192 + 118: 6(float) Constant 1093664768 + 119: 7(fvec4) ConstantComposite 115 116 117 118 + 120: 6(float) Constant 1094713344 + 121: 6(float) Constant 1095761920 + 122: 6(float) Constant 1096810496 + 123: 6(float) Constant 1097859072 + 124: 7(fvec4) ConstantComposite 120 121 122 123 + 125: 107 ConstantComposite 111 114 119 124 + 127: TypeMatrix 73(fvec3) 2 + 128: TypePointer Function 127 + 130: 73(fvec3) ConstantComposite 17 20 112 + 131: 127 ConstantComposite 76 130 + 132: TypeMatrix 50(fvec2) 3 + 133: TypePointer Function 132 + 135: 50(fvec2) ConstantComposite 16 17 + 136: 50(fvec2) ConstantComposite 20 112 + 137: 132 ConstantComposite 53 135 136 + 138: TypeMatrix 50(fvec2) 4 + 139: TypePointer Function 138 + 141: 50(fvec2) ConstantComposite 113 115 + 142: 138 ConstantComposite 53 135 136 141 + 143: TypeMatrix 73(fvec3) 4 + 144: TypePointer Function 143 + 146: 73(fvec3) ConstantComposite 113 115 116 + 147: 73(fvec3) ConstantComposite 117 118 120 + 148: 143 ConstantComposite 76 130 146 147 + 152: TypePointer Input 7(fvec4) + 153(input): 152(ptr) Variable Input + 155: TypePointer Output 6(float) +156(@entryPointOutput): 155(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 9(r00): 8(ptr) Variable Function - 15(r01): 8(ptr) Variable Function - 20(r12): 19(ptr) Variable Function - 24(r13): 23(ptr) Variable Function - 27(r14): 26(ptr) Variable Function - 30(r15): 29(ptr) Variable Function - 34(r16): 33(ptr) Variable Function - 38(r20): 37(ptr) Variable Function - 43(r21): 42(ptr) Variable Function - 48(r22): 47(ptr) Variable Function - 52(r23): 51(ptr) Variable Function - 57(r24): 56(ptr) Variable Function - 62(r30): 61(ptr) Variable Function - 66(r31): 65(ptr) Variable Function - 71(r32): 70(ptr) Variable Function - 75(r33): 74(ptr) Variable Function - 80(r34): 79(ptr) Variable Function - 85(r40): 84(ptr) Variable Function - 89(r41): 88(ptr) Variable Function - 92(r42): 8(ptr) Variable Function - 95(r43): 94(ptr) Variable Function - 100(r44): 99(ptr) Variable Function - 105(r50): 104(ptr) Variable Function - 122(r51): 104(ptr) Variable Function - 125(r61): 124(ptr) Variable Function - 130(r62): 129(ptr) Variable Function - 136(r65): 135(ptr) Variable Function - 141(r66): 140(ptr) Variable Function - Store 9(r00) 14 - Store 15(r01) 17 - Store 20(r12) 21 - Store 24(r13) 25 - Store 27(r14) 10 - Store 30(r15) 31 - Store 34(r16) 35 - Store 38(r20) 40 - Store 43(r21) 45 - Store 48(r22) 49 - Store 52(r23) 54 - Store 57(r24) 59 - Store 62(r30) 63 - Store 66(r31) 68 - Store 71(r32) 72 - Store 75(r33) 77 - Store 80(r34) 82 - Store 85(r40) 86 - Store 89(r41) 91 - Store 92(r42) 14 - Store 95(r43) 97 - Store 100(r44) 102 - Store 105(r50) 121 - Store 122(r51) 121 - Store 125(r61) 127 - Store 130(r62) 133 - Store 136(r65) 138 - Store 141(r66) 144 - Store 146(@entryPointOutput) 106 + 151(input): 8(ptr) Variable Function + 157(param): 8(ptr) Variable Function + 154: 7(fvec4) Load 153(input) + Store 151(input) 154 + 158: 7(fvec4) Load 151(input) + Store 157(param) 158 + 159: 6(float) FunctionCall 11(@main(vf4;) 157(param) + Store 156(@entryPointOutput) 159 Return FunctionEnd + 11(@main(vf4;): 6(float) Function None 9 + 10(input): 8(ptr) FunctionParameter + 12: Label + 13(r00): 8(ptr) Variable Function + 19(r01): 8(ptr) Variable Function + 24(r12): 23(ptr) Variable Function + 28(r13): 27(ptr) Variable Function + 31(r14): 30(ptr) Variable Function + 34(r15): 33(ptr) Variable Function + 38(r16): 37(ptr) Variable Function + 42(r20): 41(ptr) Variable Function + 47(r21): 46(ptr) Variable Function + 52(r22): 51(ptr) Variable Function + 56(r23): 55(ptr) Variable Function + 61(r24): 60(ptr) Variable Function + 66(r30): 65(ptr) Variable Function + 70(r31): 69(ptr) Variable Function + 75(r32): 74(ptr) Variable Function + 79(r33): 78(ptr) Variable Function + 84(r34): 83(ptr) Variable Function + 89(r40): 88(ptr) Variable Function + 93(r41): 92(ptr) Variable Function + 96(r42): 8(ptr) Variable Function + 99(r43): 98(ptr) Variable Function + 104(r44): 103(ptr) Variable Function + 109(r50): 108(ptr) Variable Function + 126(r51): 108(ptr) Variable Function + 129(r61): 128(ptr) Variable Function + 134(r62): 133(ptr) Variable Function + 140(r65): 139(ptr) Variable Function + 145(r66): 144(ptr) Variable Function + Store 13(r00) 18 + Store 19(r01) 21 + Store 24(r12) 25 + Store 28(r13) 29 + Store 31(r14) 14 + Store 34(r15) 35 + Store 38(r16) 39 + Store 42(r20) 44 + Store 47(r21) 49 + Store 52(r22) 53 + Store 56(r23) 58 + Store 61(r24) 63 + Store 66(r30) 67 + Store 70(r31) 72 + Store 75(r32) 76 + Store 79(r33) 81 + Store 84(r34) 86 + Store 89(r40) 90 + Store 93(r41) 95 + Store 96(r42) 18 + Store 99(r43) 101 + Store 104(r44) 106 + Store 109(r50) 125 + Store 126(r51) 125 + Store 129(r61) 131 + Store 134(r62) 137 + Store 140(r65) 142 + Store 145(r66) 148 + ReturnValue 110 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.frag.out index 7ad929554ca..780789a74a5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.frag.out @@ -1,17 +1,17 @@ sample.frag Shader version: 110 0:? Sequence -0:38 Function Definition: main( (global void) +0:38 Function Definition: main( ( global void) 0:38 Function Parameters: 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 Construct vec4 (temp 4-component vector of float) -0:40 'color' (smooth in 3-component vector of float) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 Construct vec4 ( temp 4-component vector of float) +0:40 'color' ( smooth in 3-component vector of float) 0:40 Constant: 0:40 1.000000 0:? Linker Objects -0:? 'color' (smooth in 3-component vector of float) +0:? 'color' ( smooth in 3-component vector of float) Linked fragment stage: @@ -19,15 +19,15 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:38 Function Definition: main( (global void) +0:38 Function Definition: main( ( global void) 0:38 Function Parameters: 0:40 Sequence -0:40 move second child to first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 Construct vec4 (temp 4-component vector of float) -0:40 'color' (smooth in 3-component vector of float) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 Construct vec4 ( temp 4-component vector of float) +0:40 'color' ( smooth in 3-component vector of float) 0:40 Constant: 0:40 1.000000 0:? Linker Objects -0:? 'color' (smooth in 3-component vector of float) +0:? 'color' ( smooth in 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.vert.out index e67db5748f3..848598eb709 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/sample.vert.out @@ -1,22 +1,22 @@ sample.vert Shader version: 110 0:? Sequence -0:38 Function Definition: main( (global void) +0:38 Function Definition: main( ( global void) 0:38 Function Parameters: 0:40 Sequence -0:40 move second child to first child (temp 3-component vector of float) -0:40 'color' (smooth out 3-component vector of float) +0:40 move second child to first child ( temp 3-component vector of float) +0:40 'color' ( smooth out 3-component vector of float) 0:40 Constant: 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:42 move second child to first child (temp 4-component vector of float) -0:42 'gl_Position' (gl_Position 4-component vector of float Position) -0:42 matrix-times-vector (temp 4-component vector of float) -0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float) -0:42 'gl_Vertex' (in 4-component vector of float Vertex) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'gl_Position' ( gl_Position 4-component vector of float Position) +0:42 matrix-times-vector ( temp 4-component vector of float) +0:42 'gl_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float) +0:42 'gl_Vertex' ( in 4-component vector of float Vertex) 0:? Linker Objects -0:? 'color' (smooth out 3-component vector of float) +0:? 'color' ( smooth out 3-component vector of float) Linked vertex stage: @@ -24,20 +24,20 @@ Linked vertex stage: Shader version: 110 0:? Sequence -0:38 Function Definition: main( (global void) +0:38 Function Definition: main( ( global void) 0:38 Function Parameters: 0:40 Sequence -0:40 move second child to first child (temp 3-component vector of float) -0:40 'color' (smooth out 3-component vector of float) +0:40 move second child to first child ( temp 3-component vector of float) +0:40 'color' ( smooth out 3-component vector of float) 0:40 Constant: 0:40 1.000000 0:40 1.000000 0:40 1.000000 -0:42 move second child to first child (temp 4-component vector of float) -0:42 'gl_Position' (gl_Position 4-component vector of float Position) -0:42 matrix-times-vector (temp 4-component vector of float) -0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float) -0:42 'gl_Vertex' (in 4-component vector of float Vertex) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 'gl_Position' ( gl_Position 4-component vector of float Position) +0:42 matrix-times-vector ( temp 4-component vector of float) +0:42 'gl_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float) +0:42 'gl_Vertex' ( in 4-component vector of float Vertex) 0:? Linker Objects -0:? 'color' (smooth out 3-component vector of float) +0:? 'color' ( smooth out 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/simpleFunctionCall.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/simpleFunctionCall.frag.out index 2cc42a3be16..5ccd54d2a50 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/simpleFunctionCall.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/simpleFunctionCall.frag.out @@ -3,21 +3,21 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Shader version: 150 0:? Sequence -0:7 Function Definition: foo( (global 4-component vector of float) +0:7 Function Definition: foo( ( global 4-component vector of float) 0:7 Function Parameters: 0:9 Sequence 0:9 Branch: Return with expression -0:9 'BaseColor' (smooth in 4-component vector of float) -0:12 Function Definition: main( (global void) +0:9 'BaseColor' ( smooth in 4-component vector of float) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:14 Function Call: foo( (global 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:14 Function Call: foo( ( global 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) Linked fragment stage: @@ -25,19 +25,19 @@ Linked fragment stage: Shader version: 150 0:? Sequence -0:7 Function Definition: foo( (global 4-component vector of float) +0:7 Function Definition: foo( ( global 4-component vector of float) 0:7 Function Parameters: 0:9 Sequence 0:9 Branch: Return with expression -0:9 'BaseColor' (smooth in 4-component vector of float) -0:12 Function Definition: main( (global void) +0:9 'BaseColor' ( smooth in 4-component vector of float) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:14 Function Call: foo( (global 4-component vector of float) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:14 Function Call: foo( ( global 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.frag.out index f660e66f7cf..939ea62067a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.frag.out @@ -1,6 +1,6 @@ specExamples.frag Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. -ERROR: 0:6: '=' : cannot convert from 'const uint' to 'global int' +ERROR: 0:6: '=' : cannot convert from ' const uint' to ' global int' ERROR: 0:20: '' : numeric literal too big ERROR: 0:21: '' : hexadecimal literal too big ERROR: 0:37: 'view' : redefinition @@ -23,14 +23,14 @@ ERROR: 0:175: 'x' : undeclared identifier ERROR: 0:175: '[]' : scalar integer expression required ERROR: 0:175: 'b' : left of '[' is not of type array, matrix, or vector ERROR: 0:175: 'a' : vector swizzle selection out of range -ERROR: 0:175: 'length' : does not operate on this type: const float +ERROR: 0:175: 'length' : does not operate on this type: const float ERROR: 0:175: '' : function call, method, or subroutine call expected ERROR: 0:175: '' : no matching overloaded function found ERROR: 0:178: '[]' : scalar integer expression required ERROR: 0:178: 's' : undeclared identifier ERROR: 0:178: 's' : left of '[' is not of type array, matrix, or vector ERROR: 0:178: 'a' : vector swizzle selection out of range -ERROR: 0:178: 'length' : does not operate on this type: const float +ERROR: 0:178: 'length' : does not operate on this type: const float ERROR: 0:178: '' : function call, method, or subroutine call expected ERROR: 0:178: '' : no matching overloaded function found ERROR: 0:198: 'e' : redefinition @@ -49,73 +49,73 @@ using early_fragment_tests using depth_greater ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'a' (global int) +0:5 move second child to first child ( temp int) +0:5 'a' ( global int) 0:5 Constant: 0:5 -1 (const int) 0:7 Sequence -0:7 move second child to first child (temp uint) -0:7 'c' (global uint) +0:7 move second child to first child ( temp uint) +0:7 'c' ( global uint) 0:7 Constant: 0:7 4294967295 (const uint) 0:8 Sequence -0:8 move second child to first child (temp uint) -0:8 'd' (global uint) +0:8 move second child to first child ( temp uint) +0:8 'd' ( global uint) 0:8 Constant: 0:8 4294967295 (const uint) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'e' (global int) +0:9 move second child to first child ( temp int) +0:9 'e' ( global int) 0:9 Constant: 0:9 -1 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'f' (global uint) +0:13 move second child to first child ( temp uint) +0:13 'f' ( global uint) 0:13 Constant: 0:13 4294967295 (const uint) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'g' (global int) +0:17 move second child to first child ( temp int) +0:17 'g' ( global int) 0:17 Constant: 0:17 -1294967296 (const int) 0:19 Sequence -0:19 move second child to first child (temp int) -0:19 'h' (global int) +0:19 move second child to first child ( temp int) +0:19 'h' ( global int) 0:19 Constant: 0:19 -1610612736 (const int) 0:20 Sequence -0:20 move second child to first child (temp int) -0:20 'i' (global int) +0:20 move second child to first child ( temp int) +0:20 'i' ( global int) 0:20 Constant: 0:20 -1 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'j' (global int) +0:21 move second child to first child ( temp int) +0:21 'j' ( global int) 0:21 Constant: 0:21 -1 (const int) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'k' (global int) +0:22 move second child to first child ( temp int) +0:22 'k' ( global int) 0:22 Constant: 0:22 -2147483648 (const int) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'l' (global int) +0:23 move second child to first child ( temp int) +0:23 'l' ( global int) 0:23 Constant: 0:23 -2147483648 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'fb' (global float) +0:25 move second child to first child ( temp float) +0:25 'fb' ( global float) 0:25 Constant: 0:25 1.500000 0:26 Sequence -0:26 move second child to first child (temp double) -0:26 'fd' (global double) +0:26 move second child to first child ( temp double) +0:26 'fd' ( global double) 0:26 Constant: 0:26 2.000000 -0:127 Function Definition: foo(f1[5]; (global 5-element array of float) +0:127 Function Definition: foo(f1[5]; ( global 5-element array of float) 0:127 Function Parameters: -0:127 '' (in 5-element array of float) +0:127 '' ( in 5-element array of float) 0:129 Sequence 0:129 Branch: Return with expression 0:129 Constant: @@ -124,13 +124,13 @@ ERROR: node is still EOpNull! 0:129 5.000000 0:129 5.200000 0:129 1.100000 -0:137 Function Definition: main( (global void) +0:137 Function Definition: main( ( global void) 0:137 Function Parameters: 0:140 Sequence 0:140 Sequence 0:140 Sequence -0:140 move second child to first child (temp 5-element array of float) -0:140 'a' (temp 5-element array of float) +0:140 move second child to first child ( temp 5-element array of float) +0:140 'a' ( temp 5-element array of float) 0:140 Constant: 0:140 3.400000 0:140 4.200000 @@ -139,8 +139,8 @@ ERROR: node is still EOpNull! 0:140 1.100000 0:143 Sequence 0:143 Sequence -0:143 move second child to first child (temp 5-element array of float) -0:143 'a' (temp 5-element array of float) +0:143 move second child to first child ( temp 5-element array of float) +0:143 'a' ( temp 5-element array of float) 0:143 Constant: 0:143 3.400000 0:143 4.200000 @@ -149,8 +149,8 @@ ERROR: node is still EOpNull! 0:143 1.100000 0:? Sequence 0:149 Sequence -0:149 move second child to first child (temp 2-element array of 4-component vector of float) -0:149 'b' (temp 2-element array of 4-component vector of float) +0:149 move second child to first child ( temp 2-element array of 4-component vector of float) +0:149 'b' ( temp 2-element array of 4-component vector of float) 0:149 Constant: 0:149 0.000000 0:149 0.000000 @@ -161,15 +161,15 @@ ERROR: node is still EOpNull! 0:149 0.100000 0:149 0.100000 0:150 Sequence -0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float) -0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) +0:150 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 'a3' ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) 0:152 Sequence -0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float) +0:152 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:152 'a4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:152 Constant: 0:152 0.000000 0:152 0.000000 @@ -198,18 +198,18 @@ ERROR: node is still EOpNull! 0:? Sequence 0:159 Sequence 0:159 Sequence -0:159 move second child to first child (temp 5-element array of float) -0:159 'b' (temp 5-element array of float) -0:159 'a' (temp 5-element array of float) +0:159 move second child to first child ( temp 5-element array of float) +0:159 'b' ( temp 5-element array of float) +0:159 'a' ( temp 5-element array of float) 0:162 Sequence 0:162 Sequence -0:162 move second child to first child (temp 5-element array of float) -0:162 'b' (temp 5-element array of float) -0:162 'a' (temp 5-element array of float) +0:162 move second child to first child ( temp 5-element array of float) +0:162 'b' ( temp 5-element array of float) +0:162 'a' ( temp 5-element array of float) 0:165 Sequence 0:165 Sequence -0:165 move second child to first child (temp 5-element array of float) -0:165 'b' (temp 5-element array of float) +0:165 move second child to first child ( temp 5-element array of float) +0:165 'b' ( temp 5-element array of float) 0:165 Constant: 0:165 1.000000 0:165 2.000000 @@ -228,15 +228,15 @@ ERROR: node is still EOpNull! 0:178 Constant: 0:178 0.000000 0:193 Sequence -0:193 move second child to first child (temp structure{temp float a, temp int b}) -0:193 'e' (temp structure{temp float a, temp int b}) +0:193 move second child to first child ( temp structure{ temp float a, temp int b}) +0:193 'e' ( temp structure{ temp float a, temp int b}) 0:193 Constant: 0:193 1.200000 0:193 2 (const int) 0:216 Sequence 0:216 Sequence -0:216 move second child to first child (temp 5-element array of float) -0:216 'a' (temp 5-element array of float) +0:216 move second child to first child ( temp 5-element array of float) +0:216 'a' ( temp 5-element array of float) 0:216 Constant: 0:216 3.400000 0:216 4.200000 @@ -244,8 +244,8 @@ ERROR: node is still EOpNull! 0:216 5.200000 0:216 1.100000 0:217 Sequence -0:217 move second child to first child (temp 5-element array of float) -0:217 'b' (temp 5-element array of float) +0:217 move second child to first child ( temp 5-element array of float) +0:217 'b' ( temp 5-element array of float) 0:217 Constant: 0:217 3.400000 0:217 4.200000 @@ -253,75 +253,75 @@ ERROR: node is still EOpNull! 0:217 5.200000 0:217 1.100000 0:218 Sequence -0:218 move second child to first child (temp 5-element array of float) -0:218 'c' (temp 5-element array of float) -0:218 'a' (temp 5-element array of float) +0:218 move second child to first child ( temp 5-element array of float) +0:218 'c' ( temp 5-element array of float) +0:218 'a' ( temp 5-element array of float) 0:219 Sequence -0:219 move second child to first child (temp 5-element array of float) -0:219 'd' (temp 5-element array of float) -0:219 'b' (temp 5-element array of float) +0:219 move second child to first child ( temp 5-element array of float) +0:219 'd' ( temp 5-element array of float) +0:219 'b' ( temp 5-element array of float) 0:? Sequence 0:223 Sequence -0:223 move second child to first child (temp float) -0:223 'ceiling' (const (read only) float) -0:223 Convert int to float (temp float) -0:223 add (temp int) -0:223 'a' (global int) -0:223 'b' (global int) +0:223 move second child to first child ( temp float) +0:223 'ceiling' ( const (read only) float) +0:223 Convert int to float ( temp float) +0:223 add ( temp int) +0:223 'a' ( global int) +0:223 'b' ( global int) 0:? Linker Objects -0:? 'a' (global int) -0:? 'b' (global int) -0:? 'c' (global uint) -0:? 'd' (global uint) -0:? 'e' (global int) -0:? 'f' (global uint) -0:? 'g' (global int) -0:? 'h' (global int) -0:? 'i' (global int) -0:? 'j' (global int) -0:? 'k' (global int) -0:? 'l' (global int) -0:? 'fa' (global float) -0:? 'fb' (global float) -0:? 'fc' (global double) -0:? 'fd' (global double) -0:? 'texcoord1' (global 2-component vector of float) -0:? 'texcoord2' (global 2-component vector of float) -0:? 'position' (global 3-component vector of float) -0:? 'myRGBA' (global 4-component vector of float) -0:? 'textureLookup' (global 2-component vector of int) -0:? 'less' (global 3-component vector of bool) -0:? 'mat2D' (global 2X2 matrix of float) -0:? 'optMatrix' (global 3X3 matrix of float) -0:? 'view' (global 4X4 matrix of float) -0:? 'projection' (global 4X4 matrix of float) -0:? 'm' (global 3X2 matrix of float) -0:? 'highPrecisionMVP' (global 4X4 matrix of double) -0:? 'dm' (global 2X4 matrix of double) -0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position}) -0:? 'frequencies' (global 3-element array of float) -0:? 'lightPosition' (uniform 4-element array of 4-component vector of float) -0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position}) -0:? 'numLights' (const int) +0:? 'a' ( global int) +0:? 'b' ( global int) +0:? 'c' ( global uint) +0:? 'd' ( global uint) +0:? 'e' ( global int) +0:? 'f' ( global uint) +0:? 'g' ( global int) +0:? 'h' ( global int) +0:? 'i' ( global int) +0:? 'j' ( global int) +0:? 'k' ( global int) +0:? 'l' ( global int) +0:? 'fa' ( global float) +0:? 'fb' ( global float) +0:? 'fc' ( global double) +0:? 'fd' ( global double) +0:? 'texcoord1' ( global 2-component vector of float) +0:? 'texcoord2' ( global 2-component vector of float) +0:? 'position' ( global 3-component vector of float) +0:? 'myRGBA' ( global 4-component vector of float) +0:? 'textureLookup' ( global 2-component vector of int) +0:? 'less' ( global 3-component vector of bool) +0:? 'mat2D' ( global 2X2 matrix of float) +0:? 'optMatrix' ( global 3X3 matrix of float) +0:? 'view' ( global 4X4 matrix of float) +0:? 'projection' ( global 4X4 matrix of float) +0:? 'm' ( global 3X2 matrix of float) +0:? 'highPrecisionMVP' ( global 4X4 matrix of double) +0:? 'dm' ( global 2X4 matrix of double) +0:? 'lightVar' ( global structure{ global float intensity, global 3-component vector of float position}) +0:? 'frequencies' ( global 3-element array of float) +0:? 'lightPosition' ( uniform 4-element array of 4-component vector of float) +0:? 'lights' ( global 2-element array of structure{ global float intensity, global 3-component vector of float position}) +0:? 'numLights' ( const int) 0:? 2 (const int) -0:? 'normal' (smooth in 3-component vector of float) -0:? 'TexCoord' (centroid smooth in 2-component vector of float) -0:? 'Color' (invariant centroid smooth in 4-component vector of float) -0:? 'temperature' (noperspective in float) -0:? 'myColor' (flat in 3-component vector of float) -0:? 'myTexCoord' (centroid noperspective in 2-component vector of float) -0:? 'color' (uniform 3-component vector of float) +0:? 'normal' ( smooth in 3-component vector of float) +0:? 'TexCoord' ( centroid smooth in 2-component vector of float) +0:? 'Color' ( invariant centroid smooth in 4-component vector of float) +0:? 'temperature' ( noperspective in float) +0:? 'myColor' ( flat in 3-component vector of float) +0:? 'myTexCoord' ( centroid noperspective in 2-component vector of float) +0:? 'color' ( uniform 3-component vector of float) 0:? 0.700000 0:? 0.700000 0:? 0.200000 -0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten}) -0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor}) -0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float) -0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) +0:? 'anon@0' ( in block{ smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten}) +0:? 'anon@1' ( in block{ in 4-component vector of float LightPos, in 3-component vector of float LightColor}) +0:? 'Materiala' ( in block{ in 4-component vector of float Color, in 2-component vector of float TexCoord}) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'factor' (layout( location=3 index=1) out 4-component vector of float) +0:? 'colors' (layout( location=2) out 3-element array of 4-component vector of float) +0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:? 'anon@2' ( in block{ in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) Linked fragment stage: @@ -335,77 +335,77 @@ using early_fragment_tests using depth_greater ERROR: node is still EOpNull! 0:5 Sequence -0:5 move second child to first child (temp int) -0:5 'a' (global int) +0:5 move second child to first child ( temp int) +0:5 'a' ( global int) 0:5 Constant: 0:5 -1 (const int) 0:7 Sequence -0:7 move second child to first child (temp uint) -0:7 'c' (global uint) +0:7 move second child to first child ( temp uint) +0:7 'c' ( global uint) 0:7 Constant: 0:7 4294967295 (const uint) 0:8 Sequence -0:8 move second child to first child (temp uint) -0:8 'd' (global uint) +0:8 move second child to first child ( temp uint) +0:8 'd' ( global uint) 0:8 Constant: 0:8 4294967295 (const uint) 0:9 Sequence -0:9 move second child to first child (temp int) -0:9 'e' (global int) +0:9 move second child to first child ( temp int) +0:9 'e' ( global int) 0:9 Constant: 0:9 -1 (const int) 0:13 Sequence -0:13 move second child to first child (temp uint) -0:13 'f' (global uint) +0:13 move second child to first child ( temp uint) +0:13 'f' ( global uint) 0:13 Constant: 0:13 4294967295 (const uint) 0:17 Sequence -0:17 move second child to first child (temp int) -0:17 'g' (global int) +0:17 move second child to first child ( temp int) +0:17 'g' ( global int) 0:17 Constant: 0:17 -1294967296 (const int) 0:19 Sequence -0:19 move second child to first child (temp int) -0:19 'h' (global int) +0:19 move second child to first child ( temp int) +0:19 'h' ( global int) 0:19 Constant: 0:19 -1610612736 (const int) 0:20 Sequence -0:20 move second child to first child (temp int) -0:20 'i' (global int) +0:20 move second child to first child ( temp int) +0:20 'i' ( global int) 0:20 Constant: 0:20 -1 (const int) 0:21 Sequence -0:21 move second child to first child (temp int) -0:21 'j' (global int) +0:21 move second child to first child ( temp int) +0:21 'j' ( global int) 0:21 Constant: 0:21 -1 (const int) 0:22 Sequence -0:22 move second child to first child (temp int) -0:22 'k' (global int) +0:22 move second child to first child ( temp int) +0:22 'k' ( global int) 0:22 Constant: 0:22 -2147483648 (const int) 0:23 Sequence -0:23 move second child to first child (temp int) -0:23 'l' (global int) +0:23 move second child to first child ( temp int) +0:23 'l' ( global int) 0:23 Constant: 0:23 -2147483648 (const int) 0:25 Sequence -0:25 move second child to first child (temp float) -0:25 'fb' (global float) +0:25 move second child to first child ( temp float) +0:25 'fb' ( global float) 0:25 Constant: 0:25 1.500000 0:26 Sequence -0:26 move second child to first child (temp double) -0:26 'fd' (global double) +0:26 move second child to first child ( temp double) +0:26 'fd' ( global double) 0:26 Constant: 0:26 2.000000 -0:137 Function Definition: main( (global void) +0:137 Function Definition: main( ( global void) 0:137 Function Parameters: 0:140 Sequence 0:140 Sequence 0:140 Sequence -0:140 move second child to first child (temp 5-element array of float) -0:140 'a' (temp 5-element array of float) +0:140 move second child to first child ( temp 5-element array of float) +0:140 'a' ( temp 5-element array of float) 0:140 Constant: 0:140 3.400000 0:140 4.200000 @@ -414,8 +414,8 @@ ERROR: node is still EOpNull! 0:140 1.100000 0:143 Sequence 0:143 Sequence -0:143 move second child to first child (temp 5-element array of float) -0:143 'a' (temp 5-element array of float) +0:143 move second child to first child ( temp 5-element array of float) +0:143 'a' ( temp 5-element array of float) 0:143 Constant: 0:143 3.400000 0:143 4.200000 @@ -424,8 +424,8 @@ ERROR: node is still EOpNull! 0:143 1.100000 0:? Sequence 0:149 Sequence -0:149 move second child to first child (temp 2-element array of 4-component vector of float) -0:149 'b' (temp 2-element array of 4-component vector of float) +0:149 move second child to first child ( temp 2-element array of 4-component vector of float) +0:149 'b' ( temp 2-element array of 4-component vector of float) 0:149 Constant: 0:149 0.000000 0:149 0.000000 @@ -436,15 +436,15 @@ ERROR: node is still EOpNull! 0:149 0.100000 0:149 0.100000 0:150 Sequence -0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float) -0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) -0:150 'b' (temp 2-element array of 4-component vector of float) +0:150 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 'a3' ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) +0:150 'b' ( temp 2-element array of 4-component vector of float) 0:152 Sequence -0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float) -0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float) +0:152 move second child to first child ( temp 3-element array of 2-element array of 4-component vector of float) +0:152 'a4' ( temp 3-element array of 2-element array of 4-component vector of float) 0:152 Constant: 0:152 0.000000 0:152 0.000000 @@ -473,18 +473,18 @@ ERROR: node is still EOpNull! 0:? Sequence 0:159 Sequence 0:159 Sequence -0:159 move second child to first child (temp 5-element array of float) -0:159 'b' (temp 5-element array of float) -0:159 'a' (temp 5-element array of float) +0:159 move second child to first child ( temp 5-element array of float) +0:159 'b' ( temp 5-element array of float) +0:159 'a' ( temp 5-element array of float) 0:162 Sequence 0:162 Sequence -0:162 move second child to first child (temp 5-element array of float) -0:162 'b' (temp 5-element array of float) -0:162 'a' (temp 5-element array of float) +0:162 move second child to first child ( temp 5-element array of float) +0:162 'b' ( temp 5-element array of float) +0:162 'a' ( temp 5-element array of float) 0:165 Sequence 0:165 Sequence -0:165 move second child to first child (temp 5-element array of float) -0:165 'b' (temp 5-element array of float) +0:165 move second child to first child ( temp 5-element array of float) +0:165 'b' ( temp 5-element array of float) 0:165 Constant: 0:165 1.000000 0:165 2.000000 @@ -503,15 +503,15 @@ ERROR: node is still EOpNull! 0:178 Constant: 0:178 0.000000 0:193 Sequence -0:193 move second child to first child (temp structure{temp float a, temp int b}) -0:193 'e' (temp structure{temp float a, temp int b}) +0:193 move second child to first child ( temp structure{ temp float a, temp int b}) +0:193 'e' ( temp structure{ temp float a, temp int b}) 0:193 Constant: 0:193 1.200000 0:193 2 (const int) 0:216 Sequence 0:216 Sequence -0:216 move second child to first child (temp 5-element array of float) -0:216 'a' (temp 5-element array of float) +0:216 move second child to first child ( temp 5-element array of float) +0:216 'a' ( temp 5-element array of float) 0:216 Constant: 0:216 3.400000 0:216 4.200000 @@ -519,8 +519,8 @@ ERROR: node is still EOpNull! 0:216 5.200000 0:216 1.100000 0:217 Sequence -0:217 move second child to first child (temp 5-element array of float) -0:217 'b' (temp 5-element array of float) +0:217 move second child to first child ( temp 5-element array of float) +0:217 'b' ( temp 5-element array of float) 0:217 Constant: 0:217 3.400000 0:217 4.200000 @@ -528,73 +528,73 @@ ERROR: node is still EOpNull! 0:217 5.200000 0:217 1.100000 0:218 Sequence -0:218 move second child to first child (temp 5-element array of float) -0:218 'c' (temp 5-element array of float) -0:218 'a' (temp 5-element array of float) +0:218 move second child to first child ( temp 5-element array of float) +0:218 'c' ( temp 5-element array of float) +0:218 'a' ( temp 5-element array of float) 0:219 Sequence -0:219 move second child to first child (temp 5-element array of float) -0:219 'd' (temp 5-element array of float) -0:219 'b' (temp 5-element array of float) +0:219 move second child to first child ( temp 5-element array of float) +0:219 'd' ( temp 5-element array of float) +0:219 'b' ( temp 5-element array of float) 0:? Sequence 0:223 Sequence -0:223 move second child to first child (temp float) -0:223 'ceiling' (const (read only) float) -0:223 Convert int to float (temp float) -0:223 add (temp int) -0:223 'a' (global int) -0:223 'b' (global int) +0:223 move second child to first child ( temp float) +0:223 'ceiling' ( const (read only) float) +0:223 Convert int to float ( temp float) +0:223 add ( temp int) +0:223 'a' ( global int) +0:223 'b' ( global int) 0:? Linker Objects -0:? 'a' (global int) -0:? 'b' (global int) -0:? 'c' (global uint) -0:? 'd' (global uint) -0:? 'e' (global int) -0:? 'f' (global uint) -0:? 'g' (global int) -0:? 'h' (global int) -0:? 'i' (global int) -0:? 'j' (global int) -0:? 'k' (global int) -0:? 'l' (global int) -0:? 'fa' (global float) -0:? 'fb' (global float) -0:? 'fc' (global double) -0:? 'fd' (global double) -0:? 'texcoord1' (global 2-component vector of float) -0:? 'texcoord2' (global 2-component vector of float) -0:? 'position' (global 3-component vector of float) -0:? 'myRGBA' (global 4-component vector of float) -0:? 'textureLookup' (global 2-component vector of int) -0:? 'less' (global 3-component vector of bool) -0:? 'mat2D' (global 2X2 matrix of float) -0:? 'optMatrix' (global 3X3 matrix of float) -0:? 'view' (global 4X4 matrix of float) -0:? 'projection' (global 4X4 matrix of float) -0:? 'm' (global 3X2 matrix of float) -0:? 'highPrecisionMVP' (global 4X4 matrix of double) -0:? 'dm' (global 2X4 matrix of double) -0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position}) -0:? 'frequencies' (global 3-element array of float) -0:? 'lightPosition' (uniform 4-element array of 4-component vector of float) -0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position}) -0:? 'numLights' (const int) +0:? 'a' ( global int) +0:? 'b' ( global int) +0:? 'c' ( global uint) +0:? 'd' ( global uint) +0:? 'e' ( global int) +0:? 'f' ( global uint) +0:? 'g' ( global int) +0:? 'h' ( global int) +0:? 'i' ( global int) +0:? 'j' ( global int) +0:? 'k' ( global int) +0:? 'l' ( global int) +0:? 'fa' ( global float) +0:? 'fb' ( global float) +0:? 'fc' ( global double) +0:? 'fd' ( global double) +0:? 'texcoord1' ( global 2-component vector of float) +0:? 'texcoord2' ( global 2-component vector of float) +0:? 'position' ( global 3-component vector of float) +0:? 'myRGBA' ( global 4-component vector of float) +0:? 'textureLookup' ( global 2-component vector of int) +0:? 'less' ( global 3-component vector of bool) +0:? 'mat2D' ( global 2X2 matrix of float) +0:? 'optMatrix' ( global 3X3 matrix of float) +0:? 'view' ( global 4X4 matrix of float) +0:? 'projection' ( global 4X4 matrix of float) +0:? 'm' ( global 3X2 matrix of float) +0:? 'highPrecisionMVP' ( global 4X4 matrix of double) +0:? 'dm' ( global 2X4 matrix of double) +0:? 'lightVar' ( global structure{ global float intensity, global 3-component vector of float position}) +0:? 'frequencies' ( global 3-element array of float) +0:? 'lightPosition' ( uniform 4-element array of 4-component vector of float) +0:? 'lights' ( global 2-element array of structure{ global float intensity, global 3-component vector of float position}) +0:? 'numLights' ( const int) 0:? 2 (const int) -0:? 'normal' (smooth in 3-component vector of float) -0:? 'TexCoord' (centroid smooth in 2-component vector of float) -0:? 'Color' (invariant centroid smooth in 4-component vector of float) -0:? 'temperature' (noperspective in float) -0:? 'myColor' (flat in 3-component vector of float) -0:? 'myTexCoord' (centroid noperspective in 2-component vector of float) -0:? 'color' (uniform 3-component vector of float) +0:? 'normal' ( smooth in 3-component vector of float) +0:? 'TexCoord' ( centroid smooth in 2-component vector of float) +0:? 'Color' ( invariant centroid smooth in 4-component vector of float) +0:? 'temperature' ( noperspective in float) +0:? 'myColor' ( flat in 3-component vector of float) +0:? 'myTexCoord' ( centroid noperspective in 2-component vector of float) +0:? 'color' ( uniform 3-component vector of float) 0:? 0.700000 0:? 0.700000 0:? 0.200000 -0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten}) -0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor}) -0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float) -0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) +0:? 'anon@0' ( in block{ smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten}) +0:? 'anon@1' ( in block{ in 4-component vector of float LightPos, in 3-component vector of float LightColor}) +0:? 'Materiala' ( in block{ in 4-component vector of float Color, in 2-component vector of float TexCoord}) +0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord) +0:? 'factor' (layout( location=3 index=1) out 4-component vector of float) +0:? 'colors' (layout( location=2) out 3-element array of 4-component vector of float) +0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth) +0:? 'anon@2' ( in block{ in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.vert.out index d7de758c18f..f050477be82 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/specExamples.vert.out @@ -39,79 +39,79 @@ ERROR: 33 compilation errors. No code generated. Shader version: 430 Requested GL_3DL_array_objects ERROR: node is still EOpNull! -0:134 Function Definition: funcA(I21; (global 4-component vector of float) +0:134 Function Definition: funcA(I21; ( global 4-component vector of float) 0:134 Function Parameters: -0:134 'a' (restrict in image2D) -0:136 Function Definition: funcB(I21; (global 4-component vector of float) +0:134 'a' ( restrict in image2D) +0:136 Function Definition: funcB(I21; ( global 4-component vector of float) 0:136 Function Parameters: -0:136 'a' (in image2D) -0:140 Function Definition: func(f1;f1;f1;f1; (global float) +0:136 'a' ( in image2D) +0:140 Function Definition: func(f1;f1;f1;f1; ( global float) 0:140 Function Parameters: -0:140 'e' (in float) -0:140 'f' (in float) -0:140 'g' (in float) -0:140 'h' (in float) +0:140 'e' ( in float) +0:140 'f' ( in float) +0:140 'g' ( in float) +0:140 'h' ( in float) 0:142 Sequence 0:142 Branch: Return with expression -0:142 add (temp float) -0:142 component-wise multiply (temp float) -0:142 'e' (in float) -0:142 'f' (in float) -0:142 component-wise multiply (temp float) -0:142 'g' (in float) -0:142 'h' (in float) -0:146 Function Definition: func2(f1;f1;f1;f1; (global float) +0:142 add ( temp float) +0:142 component-wise multiply ( temp float) +0:142 'e' ( in float) +0:142 'f' ( in float) +0:142 component-wise multiply ( temp float) +0:142 'g' ( in float) +0:142 'h' ( in float) +0:146 Function Definition: func2(f1;f1;f1;f1; ( global float) 0:146 Function Parameters: -0:146 'e' (in float) -0:146 'f' (in float) -0:146 'g' (in float) -0:146 'h' (in float) +0:146 'e' ( in float) +0:146 'f' ( in float) +0:146 'g' ( in float) +0:146 'h' ( in float) 0:148 Sequence 0:148 Sequence -0:148 move second child to first child (temp float) -0:148 'result' (noContraction temp float) -0:148 add (temp float) -0:148 component-wise multiply (temp float) -0:148 'e' (in float) -0:148 'f' (in float) -0:148 component-wise multiply (temp float) -0:148 'g' (in float) -0:148 'h' (in float) +0:148 move second child to first child ( temp float) +0:148 'result' ( noContraction temp float) +0:148 add ( temp float) +0:148 component-wise multiply ( temp float) +0:148 'e' ( in float) +0:148 'f' ( in float) +0:148 component-wise multiply ( temp float) +0:148 'g' ( in float) +0:148 'h' ( in float) 0:150 Branch: Return with expression -0:150 'result' (noContraction temp float) -0:153 Function Definition: func3(f1;f1;f1; (global float) +0:150 'result' ( noContraction temp float) +0:153 Function Definition: func3(f1;f1;f1; ( global float) 0:153 Function Parameters: -0:153 'i' (in float) -0:153 'j' (in float) -0:153 'k' (noContraction out float) +0:153 'i' ( in float) +0:153 'j' ( in float) +0:153 'k' ( noContraction out float) 0:155 Sequence -0:155 move second child to first child (temp float) -0:155 'k' (noContraction out float) -0:155 add (temp float) -0:155 component-wise multiply (temp float) -0:155 'i' (in float) -0:155 'i' (in float) -0:155 'j' (in float) -0:158 Function Definition: main( (global void) +0:155 move second child to first child ( temp float) +0:155 'k' ( noContraction out float) +0:155 add ( temp float) +0:155 component-wise multiply ( temp float) +0:155 'i' ( in float) +0:155 'i' ( in float) +0:155 'j' ( in float) +0:158 Function Definition: main( ( global void) 0:158 Function Parameters: 0:160 Sequence 0:160 Sequence -0:160 move second child to first child (temp 3-component vector of float) -0:160 'r' (temp 3-component vector of float) -0:160 Construct vec3 (temp 3-component vector of float) -0:160 component-wise multiply (temp 4-component vector of float) -0:160 'a' (in 4-component vector of float) -0:160 'b' (in 4-component vector of float) +0:160 move second child to first child ( temp 3-component vector of float) +0:160 'r' ( temp 3-component vector of float) +0:160 Construct vec3 ( temp 3-component vector of float) +0:160 component-wise multiply ( temp 4-component vector of float) +0:160 'a' ( in 4-component vector of float) +0:160 'b' ( in 4-component vector of float) 0:161 Sequence -0:161 move second child to first child (temp 3-component vector of float) -0:161 's' (temp 3-component vector of float) -0:161 Construct vec3 (temp 3-component vector of float) -0:161 component-wise multiply (temp 4-component vector of float) -0:161 'c' (in 4-component vector of float) -0:161 'd' (in 4-component vector of float) -0:162 move second child to first child (temp 3-component vector of float) -0:162 vector swizzle (noContraction temp 3-component vector of float) -0:162 'v' (noContraction smooth out 4-component vector of float) +0:161 move second child to first child ( temp 3-component vector of float) +0:161 's' ( temp 3-component vector of float) +0:161 Construct vec3 ( temp 3-component vector of float) +0:161 component-wise multiply ( temp 4-component vector of float) +0:161 'c' ( in 4-component vector of float) +0:161 'd' ( in 4-component vector of float) +0:162 move second child to first child ( temp 3-component vector of float) +0:162 vector swizzle ( noContraction temp 3-component vector of float) +0:162 'v' ( noContraction smooth out 4-component vector of float) 0:162 Sequence 0:162 Constant: 0:162 0 (const int) @@ -119,108 +119,108 @@ ERROR: node is still EOpNull! 0:162 1 (const int) 0:162 Constant: 0:162 2 (const int) -0:162 add (temp 3-component vector of float) -0:162 'r' (temp 3-component vector of float) -0:162 's' (temp 3-component vector of float) -0:163 move second child to first child (temp float) -0:163 direct index (noContraction temp float) -0:163 'v' (noContraction smooth out 4-component vector of float) +0:162 add ( temp 3-component vector of float) +0:162 'r' ( temp 3-component vector of float) +0:162 's' ( temp 3-component vector of float) +0:163 move second child to first child ( temp float) +0:163 direct index ( noContraction temp float) +0:163 'v' ( noContraction smooth out 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 add (temp float) -0:163 component-wise multiply (temp float) -0:163 direct index (temp float) -0:163 'a' (in 4-component vector of float) +0:163 add ( temp float) +0:163 component-wise multiply ( temp float) +0:163 direct index ( temp float) +0:163 'a' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 direct index (temp float) -0:163 'b' (in 4-component vector of float) +0:163 direct index ( temp float) +0:163 'b' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 component-wise multiply (temp float) -0:163 direct index (temp float) -0:163 'c' (in 4-component vector of float) +0:163 component-wise multiply ( temp float) +0:163 direct index ( temp float) +0:163 'c' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 direct index (temp float) -0:163 'd' (in 4-component vector of float) +0:163 direct index ( temp float) +0:163 'd' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:164 move second child to first child (temp float) -0:164 direct index (noContraction temp float) -0:164 'v' (noContraction smooth out 4-component vector of float) +0:164 move second child to first child ( temp float) +0:164 direct index ( noContraction temp float) +0:164 'v' ( noContraction smooth out 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 Function Call: func(f1;f1;f1;f1; (global float) -0:164 direct index (temp float) -0:164 'a' (in 4-component vector of float) +0:164 Function Call: func(f1;f1;f1;f1; ( global float) +0:164 direct index ( temp float) +0:164 'a' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'b' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'b' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'c' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'c' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'd' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'd' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:166 move second child to first child (temp float) -0:166 direct index (noContraction temp float) -0:166 'v' (noContraction smooth out 4-component vector of float) +0:166 move second child to first child ( temp float) +0:166 direct index ( noContraction temp float) +0:166 'v' ( noContraction smooth out 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 Function Call: func2(f1;f1;f1;f1; (global float) -0:166 direct index (temp float) -0:166 'a' (in 4-component vector of float) +0:166 Function Call: func2(f1;f1;f1;f1; ( global float) +0:166 direct index ( temp float) +0:166 'a' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'b' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'b' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'c' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'c' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'd' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'd' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:167 Function Call: func3(f1;f1;f1; (global float) -0:167 component-wise multiply (temp float) -0:167 direct index (temp float) -0:167 'a' (in 4-component vector of float) +0:167 Function Call: func3(f1;f1;f1; ( global float) +0:167 component-wise multiply ( temp float) +0:167 direct index ( temp float) +0:167 'a' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (temp float) -0:167 'b' (in 4-component vector of float) +0:167 direct index ( temp float) +0:167 'b' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 component-wise multiply (temp float) -0:167 direct index (temp float) -0:167 'c' (in 4-component vector of float) +0:167 component-wise multiply ( temp float) +0:167 direct index ( temp float) +0:167 'c' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (temp float) -0:167 'd' (in 4-component vector of float) +0:167 direct index ( temp float) +0:167 'd' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (noContraction temp float) -0:167 'v' (noContraction smooth out 4-component vector of float) +0:167 direct index ( noContraction temp float) +0:167 'v' ( noContraction smooth out 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:169 Function Call: funcA(I21; (global 4-component vector of float) -0:169 'img1' (layout(rgba32f ) uniform image2D) -0:170 Function Call: funcB(I21; (global 4-component vector of float) -0:170 'img2' (layout(rgba32f ) coherent uniform image2D) +0:169 Function Call: funcA(I21; ( global 4-component vector of float) +0:169 'img1' (layout( rgba32f) uniform image2D) +0:170 Function Call: funcB(I21; ( global 4-component vector of float) +0:170 'img2' (layout( rgba32f) coherent uniform image2D) 0:? Sequence 0:178 Sequence -0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position}) -0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position}) +0:178 move second child to first child ( temp structure{ temp float intensity, temp 3-component vector of float position}) +0:178 'lightVar' ( temp structure{ temp float intensity, temp 3-component vector of float position}) 0:178 Constant: 0:178 3.000000 0:178 1.000000 @@ -228,32 +228,32 @@ ERROR: node is still EOpNull! 0:178 3.000000 0:? Sequence 0:185 Sequence -0:185 move second child to first child (temp 5-element array of float) -0:185 'a' (temp 5-element array of float) -0:185 Construct float (temp 5-element array of float) -0:185 'g' (temp float) +0:185 move second child to first child ( temp 5-element array of float) +0:185 'a' ( temp 5-element array of float) +0:185 Construct float ( temp 5-element array of float) +0:185 'g' ( temp float) 0:185 Constant: 0:185 1.000000 -0:185 'g' (temp float) +0:185 'g' ( temp float) 0:185 Constant: 0:185 2.300000 -0:185 'g' (temp float) -0:188 move second child to first child (temp 3-element array of float) -0:188 'b' (temp 3-element array of float) -0:188 Construct float (temp 3-element array of float) -0:188 'g' (temp float) -0:188 add (temp float) -0:188 'g' (temp float) +0:185 'g' ( temp float) +0:188 move second child to first child ( temp 3-element array of float) +0:188 'b' ( temp 3-element array of float) +0:188 Construct float ( temp 3-element array of float) +0:188 'g' ( temp float) +0:188 add ( temp float) +0:188 'g' ( temp float) 0:188 Constant: 0:188 1.000000 -0:188 add (temp float) -0:188 'g' (temp float) +0:188 add ( temp float) +0:188 'g' ( temp float) 0:188 Constant: 0:188 2.000000 0:191 Sequence 0:191 Sequence -0:191 move second child to first child (temp 2-element array of 4-component vector of float) -0:191 'b' (temp 2-element array of 4-component vector of float) +0:191 move second child to first child ( temp 2-element array of 4-component vector of float) +0:191 'b' ( temp 2-element array of 4-component vector of float) 0:191 Constant: 0:191 1.000000 0:191 1.000000 @@ -263,57 +263,57 @@ ERROR: node is still EOpNull! 0:191 1.000000 0:191 1.000000 0:191 1.000000 -0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) +0:192 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:193 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:194 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) 0:? Linker Objects -0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture}) -0:? 'anon@0' (out block{out 4-component vector of float Color}) -0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation}) -0:? 'normal' (layout(location=3 ) in 4-component vector of float) -0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float) -0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float) -0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c}) -0:? 'var1' (smooth out 4-component vector of float) -0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4}) -0:? 'var5' (smooth out 4-component vector of float) -0:? 'anon@2' (out block{out 4-component vector of float var6}) -0:? 'var7' (smooth out 4-component vector of float) -0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1}) -0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12}) -0:? 's17' (layout(binding=3 ) uniform sampler2D) -0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint) -0:? 'bar' (layout(binding=2 ) uniform atomic_uint) -0:? 'bar23' (layout(offset=8 ) uniform atomic_uint) -0:? 'b2' (layout(binding=2 ) uniform atomic_uint) -0:? 'c2' (layout(binding=3 ) uniform atomic_uint) -0:? 'd2' (layout(binding=2 ) uniform atomic_uint) -0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...}) -0:? 'ColorInv' (smooth out 3-component vector of float) -0:? 'Color4' (invariant centroid smooth out 3-component vector of float) -0:? 'position' (noContraction smooth out 4-component vector of float) -0:? 'Color5' (noContraction smooth out 3-component vector of float) -0:? 'a' (in 4-component vector of float) -0:? 'b' (in 4-component vector of float) -0:? 'c' (in 4-component vector of float) -0:? 'd' (in 4-component vector of float) -0:? 'v' (noContraction smooth out 4-component vector of float) -0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2}) -0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A}) -0:? 'shv' (shared 4-component vector of float) -0:? 'img1' (layout(rgba32f ) uniform image2D) -0:? 'img2' (layout(rgba32f ) coherent uniform image2D) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'Coords' ( out block{ out 4-component vector of float Position, out 2-component vector of float Texture}) +0:? 'anon@0' ( out block{ out 4-component vector of float Color}) +0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform implicitly-sized array of 4-component vector of float a, layout( column_major shared) uniform float Deformation}) +0:? 'normal' (layout( location=3) in 4-component vector of float) +0:? 'colors' (layout( location=6) in 3-element array of 4-component vector of float) +0:? 'transforms2' (layout( location=9) in 2-element array of 4X4 matrix of float) +0:? 's' (layout( location=3) temp structure{ global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c}) +0:? 'var1' ( smooth out 4-component vector of float) +0:? 'anon@1' ( out block{ out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4}) +0:? 'var5' ( smooth out 4-component vector of float) +0:? 'anon@2' ( out block{ out 4-component vector of float var6}) +0:? 'var7' ( smooth out 4-component vector of float) +0:? 'anon@3' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform 3X3 matrix of float N1}) +0:? 'anon@4' (layout( column_major shared) uniform block{layout( column_major shared) uniform 4X4 matrix of float M13, layout( row_major shared) uniform 4X4 matrix of float m14, layout( column_major shared) uniform 3X3 matrix of float N12}) +0:? 's17' (layout( binding=3) uniform sampler2D) +0:? 'a2' (layout( binding=2 offset=4) uniform atomic_uint) +0:? 'bar' (layout( binding=2) uniform atomic_uint) +0:? 'bar23' (layout( offset=8) uniform atomic_uint) +0:? 'b2' (layout( binding=2) uniform atomic_uint) +0:? 'c2' (layout( binding=3) uniform atomic_uint) +0:? 'd2' (layout( binding=2) uniform atomic_uint) +0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'ColorInv' ( smooth out 3-component vector of float) +0:? 'Color4' ( invariant centroid smooth out 3-component vector of float) +0:? 'position' ( noContraction smooth out 4-component vector of float) +0:? 'Color5' ( noContraction smooth out 3-component vector of float) +0:? 'a' ( in 4-component vector of float) +0:? 'b' ( in 4-component vector of float) +0:? 'c' ( in 4-component vector of float) +0:? 'd' ( in 4-component vector of float) +0:? 'v' ( noContraction smooth out 4-component vector of float) +0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2}) +0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A}) +0:? 'shv' ( shared 4-component vector of float) +0:? 'img1' (layout( rgba32f) uniform image2D) +0:? 'img2' (layout( rgba32f) coherent uniform image2D) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -322,79 +322,79 @@ Linked vertex stage: Shader version: 430 Requested GL_3DL_array_objects ERROR: node is still EOpNull! -0:134 Function Definition: funcA(I21; (global 4-component vector of float) +0:134 Function Definition: funcA(I21; ( global 4-component vector of float) 0:134 Function Parameters: -0:134 'a' (restrict in image2D) -0:136 Function Definition: funcB(I21; (global 4-component vector of float) +0:134 'a' ( restrict in image2D) +0:136 Function Definition: funcB(I21; ( global 4-component vector of float) 0:136 Function Parameters: -0:136 'a' (in image2D) -0:140 Function Definition: func(f1;f1;f1;f1; (global float) +0:136 'a' ( in image2D) +0:140 Function Definition: func(f1;f1;f1;f1; ( global float) 0:140 Function Parameters: -0:140 'e' (in float) -0:140 'f' (in float) -0:140 'g' (in float) -0:140 'h' (in float) +0:140 'e' ( in float) +0:140 'f' ( in float) +0:140 'g' ( in float) +0:140 'h' ( in float) 0:142 Sequence 0:142 Branch: Return with expression -0:142 add (temp float) -0:142 component-wise multiply (temp float) -0:142 'e' (in float) -0:142 'f' (in float) -0:142 component-wise multiply (temp float) -0:142 'g' (in float) -0:142 'h' (in float) -0:146 Function Definition: func2(f1;f1;f1;f1; (global float) +0:142 add ( temp float) +0:142 component-wise multiply ( temp float) +0:142 'e' ( in float) +0:142 'f' ( in float) +0:142 component-wise multiply ( temp float) +0:142 'g' ( in float) +0:142 'h' ( in float) +0:146 Function Definition: func2(f1;f1;f1;f1; ( global float) 0:146 Function Parameters: -0:146 'e' (in float) -0:146 'f' (in float) -0:146 'g' (in float) -0:146 'h' (in float) +0:146 'e' ( in float) +0:146 'f' ( in float) +0:146 'g' ( in float) +0:146 'h' ( in float) 0:148 Sequence 0:148 Sequence -0:148 move second child to first child (temp float) -0:148 'result' (noContraction temp float) -0:148 add (temp float) -0:148 component-wise multiply (temp float) -0:148 'e' (in float) -0:148 'f' (in float) -0:148 component-wise multiply (temp float) -0:148 'g' (in float) -0:148 'h' (in float) +0:148 move second child to first child ( temp float) +0:148 'result' ( noContraction temp float) +0:148 add ( temp float) +0:148 component-wise multiply ( temp float) +0:148 'e' ( in float) +0:148 'f' ( in float) +0:148 component-wise multiply ( temp float) +0:148 'g' ( in float) +0:148 'h' ( in float) 0:150 Branch: Return with expression -0:150 'result' (noContraction temp float) -0:153 Function Definition: func3(f1;f1;f1; (global float) +0:150 'result' ( noContraction temp float) +0:153 Function Definition: func3(f1;f1;f1; ( global float) 0:153 Function Parameters: -0:153 'i' (in float) -0:153 'j' (in float) -0:153 'k' (noContraction out float) +0:153 'i' ( in float) +0:153 'j' ( in float) +0:153 'k' ( noContraction out float) 0:155 Sequence -0:155 move second child to first child (temp float) -0:155 'k' (noContraction out float) -0:155 add (temp float) -0:155 component-wise multiply (temp float) -0:155 'i' (in float) -0:155 'i' (in float) -0:155 'j' (in float) -0:158 Function Definition: main( (global void) +0:155 move second child to first child ( temp float) +0:155 'k' ( noContraction out float) +0:155 add ( temp float) +0:155 component-wise multiply ( temp float) +0:155 'i' ( in float) +0:155 'i' ( in float) +0:155 'j' ( in float) +0:158 Function Definition: main( ( global void) 0:158 Function Parameters: 0:160 Sequence 0:160 Sequence -0:160 move second child to first child (temp 3-component vector of float) -0:160 'r' (temp 3-component vector of float) -0:160 Construct vec3 (temp 3-component vector of float) -0:160 component-wise multiply (temp 4-component vector of float) -0:160 'a' (in 4-component vector of float) -0:160 'b' (in 4-component vector of float) +0:160 move second child to first child ( temp 3-component vector of float) +0:160 'r' ( temp 3-component vector of float) +0:160 Construct vec3 ( temp 3-component vector of float) +0:160 component-wise multiply ( temp 4-component vector of float) +0:160 'a' ( in 4-component vector of float) +0:160 'b' ( in 4-component vector of float) 0:161 Sequence -0:161 move second child to first child (temp 3-component vector of float) -0:161 's' (temp 3-component vector of float) -0:161 Construct vec3 (temp 3-component vector of float) -0:161 component-wise multiply (temp 4-component vector of float) -0:161 'c' (in 4-component vector of float) -0:161 'd' (in 4-component vector of float) -0:162 move second child to first child (temp 3-component vector of float) -0:162 vector swizzle (noContraction temp 3-component vector of float) -0:162 'v' (noContraction smooth out 4-component vector of float) +0:161 move second child to first child ( temp 3-component vector of float) +0:161 's' ( temp 3-component vector of float) +0:161 Construct vec3 ( temp 3-component vector of float) +0:161 component-wise multiply ( temp 4-component vector of float) +0:161 'c' ( in 4-component vector of float) +0:161 'd' ( in 4-component vector of float) +0:162 move second child to first child ( temp 3-component vector of float) +0:162 vector swizzle ( noContraction temp 3-component vector of float) +0:162 'v' ( noContraction smooth out 4-component vector of float) 0:162 Sequence 0:162 Constant: 0:162 0 (const int) @@ -402,108 +402,108 @@ ERROR: node is still EOpNull! 0:162 1 (const int) 0:162 Constant: 0:162 2 (const int) -0:162 add (temp 3-component vector of float) -0:162 'r' (temp 3-component vector of float) -0:162 's' (temp 3-component vector of float) -0:163 move second child to first child (temp float) -0:163 direct index (noContraction temp float) -0:163 'v' (noContraction smooth out 4-component vector of float) +0:162 add ( temp 3-component vector of float) +0:162 'r' ( temp 3-component vector of float) +0:162 's' ( temp 3-component vector of float) +0:163 move second child to first child ( temp float) +0:163 direct index ( noContraction temp float) +0:163 'v' ( noContraction smooth out 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 add (temp float) -0:163 component-wise multiply (temp float) -0:163 direct index (temp float) -0:163 'a' (in 4-component vector of float) +0:163 add ( temp float) +0:163 component-wise multiply ( temp float) +0:163 direct index ( temp float) +0:163 'a' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 direct index (temp float) -0:163 'b' (in 4-component vector of float) +0:163 direct index ( temp float) +0:163 'b' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 component-wise multiply (temp float) -0:163 direct index (temp float) -0:163 'c' (in 4-component vector of float) +0:163 component-wise multiply ( temp float) +0:163 direct index ( temp float) +0:163 'c' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:163 direct index (temp float) -0:163 'd' (in 4-component vector of float) +0:163 direct index ( temp float) +0:163 'd' ( in 4-component vector of float) 0:163 Constant: 0:163 3 (const int) -0:164 move second child to first child (temp float) -0:164 direct index (noContraction temp float) -0:164 'v' (noContraction smooth out 4-component vector of float) +0:164 move second child to first child ( temp float) +0:164 direct index ( noContraction temp float) +0:164 'v' ( noContraction smooth out 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 Function Call: func(f1;f1;f1;f1; (global float) -0:164 direct index (temp float) -0:164 'a' (in 4-component vector of float) +0:164 Function Call: func(f1;f1;f1;f1; ( global float) +0:164 direct index ( temp float) +0:164 'a' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'b' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'b' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'c' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'c' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:164 direct index (temp float) -0:164 'd' (in 4-component vector of float) +0:164 direct index ( temp float) +0:164 'd' ( in 4-component vector of float) 0:164 Constant: 0:164 0 (const int) -0:166 move second child to first child (temp float) -0:166 direct index (noContraction temp float) -0:166 'v' (noContraction smooth out 4-component vector of float) +0:166 move second child to first child ( temp float) +0:166 direct index ( noContraction temp float) +0:166 'v' ( noContraction smooth out 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 Function Call: func2(f1;f1;f1;f1; (global float) -0:166 direct index (temp float) -0:166 'a' (in 4-component vector of float) +0:166 Function Call: func2(f1;f1;f1;f1; ( global float) +0:166 direct index ( temp float) +0:166 'a' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'b' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'b' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'c' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'c' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:166 direct index (temp float) -0:166 'd' (in 4-component vector of float) +0:166 direct index ( temp float) +0:166 'd' ( in 4-component vector of float) 0:166 Constant: 0:166 0 (const int) -0:167 Function Call: func3(f1;f1;f1; (global float) -0:167 component-wise multiply (temp float) -0:167 direct index (temp float) -0:167 'a' (in 4-component vector of float) +0:167 Function Call: func3(f1;f1;f1; ( global float) +0:167 component-wise multiply ( temp float) +0:167 direct index ( temp float) +0:167 'a' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (temp float) -0:167 'b' (in 4-component vector of float) +0:167 direct index ( temp float) +0:167 'b' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 component-wise multiply (temp float) -0:167 direct index (temp float) -0:167 'c' (in 4-component vector of float) +0:167 component-wise multiply ( temp float) +0:167 direct index ( temp float) +0:167 'c' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (temp float) -0:167 'd' (in 4-component vector of float) +0:167 direct index ( temp float) +0:167 'd' ( in 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:167 direct index (noContraction temp float) -0:167 'v' (noContraction smooth out 4-component vector of float) +0:167 direct index ( noContraction temp float) +0:167 'v' ( noContraction smooth out 4-component vector of float) 0:167 Constant: 0:167 0 (const int) -0:169 Function Call: funcA(I21; (global 4-component vector of float) -0:169 'img1' (layout(rgba32f ) uniform image2D) -0:170 Function Call: funcB(I21; (global 4-component vector of float) -0:170 'img2' (layout(rgba32f ) coherent uniform image2D) +0:169 Function Call: funcA(I21; ( global 4-component vector of float) +0:169 'img1' (layout( rgba32f) uniform image2D) +0:170 Function Call: funcB(I21; ( global 4-component vector of float) +0:170 'img2' (layout( rgba32f) coherent uniform image2D) 0:? Sequence 0:178 Sequence -0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position}) -0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position}) +0:178 move second child to first child ( temp structure{ temp float intensity, temp 3-component vector of float position}) +0:178 'lightVar' ( temp structure{ temp float intensity, temp 3-component vector of float position}) 0:178 Constant: 0:178 3.000000 0:178 1.000000 @@ -511,32 +511,32 @@ ERROR: node is still EOpNull! 0:178 3.000000 0:? Sequence 0:185 Sequence -0:185 move second child to first child (temp 5-element array of float) -0:185 'a' (temp 5-element array of float) -0:185 Construct float (temp 5-element array of float) -0:185 'g' (temp float) +0:185 move second child to first child ( temp 5-element array of float) +0:185 'a' ( temp 5-element array of float) +0:185 Construct float ( temp 5-element array of float) +0:185 'g' ( temp float) 0:185 Constant: 0:185 1.000000 -0:185 'g' (temp float) +0:185 'g' ( temp float) 0:185 Constant: 0:185 2.300000 -0:185 'g' (temp float) -0:188 move second child to first child (temp 3-element array of float) -0:188 'b' (temp 3-element array of float) -0:188 Construct float (temp 3-element array of float) -0:188 'g' (temp float) -0:188 add (temp float) -0:188 'g' (temp float) +0:185 'g' ( temp float) +0:188 move second child to first child ( temp 3-element array of float) +0:188 'b' ( temp 3-element array of float) +0:188 Construct float ( temp 3-element array of float) +0:188 'g' ( temp float) +0:188 add ( temp float) +0:188 'g' ( temp float) 0:188 Constant: 0:188 1.000000 -0:188 add (temp float) -0:188 'g' (temp float) +0:188 add ( temp float) +0:188 'g' ( temp float) 0:188 Constant: 0:188 2.000000 0:191 Sequence 0:191 Sequence -0:191 move second child to first child (temp 2-element array of 4-component vector of float) -0:191 'b' (temp 2-element array of 4-component vector of float) +0:191 move second child to first child ( temp 2-element array of 4-component vector of float) +0:191 'b' ( temp 2-element array of 4-component vector of float) 0:191 Constant: 0:191 1.000000 0:191 1.000000 @@ -546,55 +546,55 @@ ERROR: node is still EOpNull! 0:191 1.000000 0:191 1.000000 0:191 1.000000 -0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:192 'b' (temp 2-element array of 4-component vector of float) -0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:193 'b' (temp 2-element array of 4-component vector of float) -0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) -0:194 'b' (temp 2-element array of 4-component vector of float) +0:192 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:192 'b' ( temp 2-element array of 4-component vector of float) +0:193 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:193 'b' ( temp 2-element array of 4-component vector of float) +0:194 Construct vec4 ( temp 3-element array of 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) +0:194 'b' ( temp 2-element array of 4-component vector of float) 0:? Linker Objects -0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture}) -0:? 'anon@0' (out block{out 4-component vector of float Color}) -0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform 1-element array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation}) -0:? 'normal' (layout(location=3 ) in 4-component vector of float) -0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float) -0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float) -0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c}) -0:? 'var1' (smooth out 4-component vector of float) -0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4}) -0:? 'var5' (smooth out 4-component vector of float) -0:? 'anon@2' (out block{out 4-component vector of float var6}) -0:? 'var7' (smooth out 4-component vector of float) -0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1}) -0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12}) -0:? 's17' (layout(binding=3 ) uniform sampler2D) -0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint) -0:? 'bar' (layout(binding=2 ) uniform atomic_uint) -0:? 'bar23' (layout(offset=8 ) uniform atomic_uint) -0:? 'b2' (layout(binding=2 ) uniform atomic_uint) -0:? 'c2' (layout(binding=3 ) uniform atomic_uint) -0:? 'd2' (layout(binding=2 ) uniform atomic_uint) -0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'ColorInv' (smooth out 3-component vector of float) -0:? 'Color4' (invariant centroid smooth out 3-component vector of float) -0:? 'position' (noContraction smooth out 4-component vector of float) -0:? 'Color5' (noContraction smooth out 3-component vector of float) -0:? 'a' (in 4-component vector of float) -0:? 'b' (in 4-component vector of float) -0:? 'c' (in 4-component vector of float) -0:? 'd' (in 4-component vector of float) -0:? 'v' (noContraction smooth out 4-component vector of float) -0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2}) -0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A}) -0:? 'shv' (shared 4-component vector of float) -0:? 'img1' (layout(rgba32f ) uniform image2D) -0:? 'img2' (layout(rgba32f ) coherent uniform image2D) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'Coords' ( out block{ out 4-component vector of float Position, out 2-component vector of float Texture}) +0:? 'anon@0' ( out block{ out 4-component vector of float Color}) +0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform 1-element array of 4-component vector of float a, layout( column_major shared) uniform float Deformation}) +0:? 'normal' (layout( location=3) in 4-component vector of float) +0:? 'colors' (layout( location=6) in 3-element array of 4-component vector of float) +0:? 'transforms2' (layout( location=9) in 2-element array of 4X4 matrix of float) +0:? 's' (layout( location=3) temp structure{ global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c}) +0:? 'var1' ( smooth out 4-component vector of float) +0:? 'anon@1' ( out block{ out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4}) +0:? 'var5' ( smooth out 4-component vector of float) +0:? 'anon@2' ( out block{ out 4-component vector of float var6}) +0:? 'var7' ( smooth out 4-component vector of float) +0:? 'anon@3' (layout( row_major std140) uniform block{layout( row_major std140 offset=0) uniform 4X4 matrix of float M1, layout( column_major std140 offset=64) uniform 4X4 matrix of float M2, layout( row_major std140 offset=128) uniform 3X3 matrix of float N1}) +0:? 'anon@4' (layout( column_major shared) uniform block{layout( column_major shared) uniform 4X4 matrix of float M13, layout( row_major shared) uniform 4X4 matrix of float m14, layout( column_major shared) uniform 3X3 matrix of float N12}) +0:? 's17' (layout( binding=3) uniform sampler2D) +0:? 'a2' (layout( binding=2 offset=4) uniform atomic_uint) +0:? 'bar' (layout( binding=2) uniform atomic_uint) +0:? 'bar23' (layout( offset=8) uniform atomic_uint) +0:? 'b2' (layout( binding=2) uniform atomic_uint) +0:? 'c2' (layout( binding=3) uniform atomic_uint) +0:? 'd2' (layout( binding=2) uniform atomic_uint) +0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'ColorInv' ( smooth out 3-component vector of float) +0:? 'Color4' ( invariant centroid smooth out 3-component vector of float) +0:? 'position' ( noContraction smooth out 4-component vector of float) +0:? 'Color5' ( noContraction smooth out 3-component vector of float) +0:? 'a' ( in 4-component vector of float) +0:? 'b' ( in 4-component vector of float) +0:? 'c' ( in 4-component vector of float) +0:? 'd' ( in 4-component vector of float) +0:? 'v' ( noContraction smooth out 4-component vector of float) +0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2}) +0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A}) +0:? 'shv' ( shared 4-component vector of float) +0:? 'img1' (layout( rgba32f) uniform image2D) +0:? 'img2' (layout( rgba32f) coherent uniform image2D) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.140.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.140.frag.out index f8e75ebdacf..324cc0c5ca5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.140.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.140.frag.out @@ -1,7 +1,7 @@ spv.140.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 101 +// Id's are bound by 96 Capability Shader Capability ClipDistance @@ -10,168 +10,157 @@ spv.140.frag Capability ImageQuery 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 16 28 33 43 + EntryPoint Fragment 4 "main" 14 23 28 38 ExecutionMode 4 OriginUpperLeft Source GLSL 140 Name 4 "main" Name 8 "foo(" Name 11 "i1" - Name 16 "gl_FrontFacing" - Name 24 "i2" - Name 28 "o" - Name 33 "gl_ClipDistance" - Name 43 "k" - Name 55 "sampR" - Name 63 "sampB" - Name 87 "samp2Da" - Name 92 "bn" - MemberName 92(bn) 0 "matra" - MemberName 92(bn) 1 "matca" - MemberName 92(bn) 2 "matr" - MemberName 92(bn) 3 "matc" - MemberName 92(bn) 4 "matrdef" - Name 94 "" - Name 97 "bi" - MemberName 97(bi) 0 "v" - Name 100 "bname" - Decorate 16(gl_FrontFacing) BuiltIn FrontFacing - Decorate 33(gl_ClipDistance) BuiltIn ClipDistance - Decorate 55(sampR) DescriptorSet 0 - Decorate 63(sampB) DescriptorSet 0 - Decorate 87(samp2Da) DescriptorSet 0 - Decorate 90 ArrayStride 64 - Decorate 91 ArrayStride 64 - MemberDecorate 92(bn) 0 RowMajor - MemberDecorate 92(bn) 0 Offset 0 - MemberDecorate 92(bn) 0 MatrixStride 16 - MemberDecorate 92(bn) 1 ColMajor - MemberDecorate 92(bn) 1 Offset 256 - MemberDecorate 92(bn) 1 MatrixStride 16 - MemberDecorate 92(bn) 2 RowMajor - MemberDecorate 92(bn) 2 Offset 512 - MemberDecorate 92(bn) 2 MatrixStride 16 - MemberDecorate 92(bn) 3 ColMajor - MemberDecorate 92(bn) 3 Offset 576 - MemberDecorate 92(bn) 3 MatrixStride 16 - MemberDecorate 92(bn) 4 RowMajor - MemberDecorate 92(bn) 4 Offset 640 - MemberDecorate 92(bn) 4 MatrixStride 16 - Decorate 92(bn) Block - Decorate 94 DescriptorSet 0 - Decorate 96 ArrayStride 16 - MemberDecorate 97(bi) 0 Offset 0 - Decorate 97(bi) Block - Decorate 100(bname) DescriptorSet 0 + Name 14 "gl_FrontFacing" + Name 19 "i2" + Name 23 "o" + Name 28 "gl_ClipDistance" + Name 38 "k" + Name 50 "sampR" + Name 58 "sampB" + Name 82 "samp2Da" + Name 87 "bn" + MemberName 87(bn) 0 "matra" + MemberName 87(bn) 1 "matca" + MemberName 87(bn) 2 "matr" + MemberName 87(bn) 3 "matc" + MemberName 87(bn) 4 "matrdef" + Name 89 "" + Name 92 "bi" + MemberName 92(bi) 0 "v" + Name 95 "bname" + Decorate 14(gl_FrontFacing) BuiltIn FrontFacing + Decorate 28(gl_ClipDistance) BuiltIn ClipDistance + Decorate 50(sampR) DescriptorSet 0 + Decorate 58(sampB) DescriptorSet 0 + Decorate 82(samp2Da) DescriptorSet 0 + Decorate 85 ArrayStride 64 + Decorate 86 ArrayStride 64 + MemberDecorate 87(bn) 0 RowMajor + MemberDecorate 87(bn) 0 Offset 0 + MemberDecorate 87(bn) 0 MatrixStride 16 + MemberDecorate 87(bn) 1 ColMajor + MemberDecorate 87(bn) 1 Offset 256 + MemberDecorate 87(bn) 1 MatrixStride 16 + MemberDecorate 87(bn) 2 RowMajor + MemberDecorate 87(bn) 2 Offset 512 + MemberDecorate 87(bn) 2 MatrixStride 16 + MemberDecorate 87(bn) 3 ColMajor + MemberDecorate 87(bn) 3 Offset 576 + MemberDecorate 87(bn) 3 MatrixStride 16 + MemberDecorate 87(bn) 4 RowMajor + MemberDecorate 87(bn) 4 Offset 1024 + MemberDecorate 87(bn) 4 MatrixStride 16 + Decorate 87(bn) Block + Decorate 89 DescriptorSet 0 + Decorate 91 ArrayStride 16 + MemberDecorate 92(bi) 0 Offset 0 + Decorate 92(bi) Block + Decorate 95(bname) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeFunction 6(float) 10: TypePointer Private 6(float) 11(i1): 10(ptr) Variable Private - 12: TypePointer Function 6(float) - 14: TypeBool - 15: TypePointer Input 14(bool) -16(gl_FrontFacing): 15(ptr) Variable Input - 20: 6(float) Constant 3221225472 - 22: 6(float) Constant 1073741824 - 24(i2): 10(ptr) Variable Private - 25: 6(float) Constant 1120665600 - 26: TypeVector 6(float) 4 - 27: TypePointer Output 26(fvec4) - 28(o): 27(ptr) Variable Output - 29: TypeInt 32 0 - 30: 29(int) Constant 5 - 31: TypeArray 6(float) 30 - 32: TypePointer Input 31 -33(gl_ClipDistance): 32(ptr) Variable Input - 34: TypeInt 32 1 - 35: 34(int) Constant 2 - 36: TypePointer Input 6(float) - 39: 29(int) Constant 1 - 40: TypePointer Output 6(float) - 42: TypePointer Input 26(fvec4) - 43(k): 42(ptr) Variable Input - 45: TypeVector 34(int) 4 - 50: 29(int) Constant 2 - 52: TypeImage 6(float) Rect sampled format:Unknown - 53: TypeSampledImage 52 - 54: TypePointer UniformConstant 53 - 55(sampR): 54(ptr) Variable UniformConstant - 58: TypeVector 34(int) 2 - 60: TypeImage 34(int) Buffer sampled format:Unknown - 61: TypeSampledImage 60 - 62: TypePointer UniformConstant 61 - 63(sampB): 62(ptr) Variable UniformConstant - 69: TypeVector 6(float) 2 - 72: 6(float) Constant 1120403456 - 74: 29(int) Constant 3 - 83: TypeImage 6(float) 2D sampled format:Unknown - 84: TypeSampledImage 83 - 85: TypeArray 84 74 - 86: TypePointer UniformConstant 85 - 87(samp2Da): 86(ptr) Variable UniformConstant - 88: TypeMatrix 26(fvec4) 4 - 89: 29(int) Constant 4 - 90: TypeArray 88 89 - 91: TypeArray 88 89 - 92(bn): TypeStruct 90 91 88 88 88 - 93: TypePointer Uniform 92(bn) - 94: 93(ptr) Variable Uniform - 95: TypeVector 6(float) 3 - 96: TypeArray 95(fvec3) 50 - 97(bi): TypeStruct 96 - 98: TypeArray 97(bi) 89 - 99: TypePointer Uniform 98 - 100(bname): 99(ptr) Variable Uniform + 12: TypeBool + 13: TypePointer Input 12(bool) +14(gl_FrontFacing): 13(ptr) Variable Input + 16: 6(float) Constant 3221225472 + 17: 6(float) Constant 1073741824 + 19(i2): 10(ptr) Variable Private + 20: 6(float) Constant 1120665600 + 21: TypeVector 6(float) 4 + 22: TypePointer Output 21(fvec4) + 23(o): 22(ptr) Variable Output + 24: TypeInt 32 0 + 25: 24(int) Constant 5 + 26: TypeArray 6(float) 25 + 27: TypePointer Input 26 +28(gl_ClipDistance): 27(ptr) Variable Input + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 31: TypePointer Input 6(float) + 34: 24(int) Constant 1 + 35: TypePointer Output 6(float) + 37: TypePointer Input 21(fvec4) + 38(k): 37(ptr) Variable Input + 40: TypeVector 29(int) 4 + 45: 24(int) Constant 2 + 47: TypeImage 6(float) Rect sampled format:Unknown + 48: TypeSampledImage 47 + 49: TypePointer UniformConstant 48 + 50(sampR): 49(ptr) Variable UniformConstant + 53: TypeVector 29(int) 2 + 55: TypeImage 29(int) Buffer sampled format:Unknown + 56: TypeSampledImage 55 + 57: TypePointer UniformConstant 56 + 58(sampB): 57(ptr) Variable UniformConstant + 64: TypeVector 6(float) 2 + 67: 6(float) Constant 1120403456 + 69: 24(int) Constant 3 + 78: TypeImage 6(float) 2D sampled format:Unknown + 79: TypeSampledImage 78 + 80: TypeArray 79 69 + 81: TypePointer UniformConstant 80 + 82(samp2Da): 81(ptr) Variable UniformConstant + 83: TypeMatrix 21(fvec4) 4 + 84: 24(int) Constant 4 + 85: TypeArray 83 84 + 86: TypeArray 83 84 + 87(bn): TypeStruct 85 86 83 83 83 + 88: TypePointer Uniform 87(bn) + 89: 88(ptr) Variable Uniform + 90: TypeVector 6(float) 3 + 91: TypeArray 90(fvec3) 45 + 92(bi): TypeStruct 91 + 93: TypeArray 92(bi) 84 + 94: TypePointer Uniform 93 + 95(bname): 94(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 13: 12(ptr) Variable Function - 17: 14(bool) Load 16(gl_FrontFacing) - SelectionMerge 19 None - BranchConditional 17 18 21 - 18: Label - Store 13 20 - Branch 19 - 21: Label - Store 13 22 - Branch 19 - 19: Label - 23: 6(float) Load 13 - Store 11(i1) 23 - Store 24(i2) 25 - 37: 36(ptr) AccessChain 33(gl_ClipDistance) 35 - 38: 6(float) Load 37 - 41: 40(ptr) AccessChain 28(o) 39 - Store 41 38 - 44: 26(fvec4) Load 43(k) - 46: 45(ivec4) ConvertFToS 44 - 47: 34(int) CompositeExtract 46 0 - 48: 36(ptr) AccessChain 33(gl_ClipDistance) 47 - 49: 6(float) Load 48 - 51: 40(ptr) AccessChain 28(o) 50 - Store 51 49 - 56: 53 Load 55(sampR) - 57: 52 Image 56 - 59: 58(ivec2) ImageQuerySize 57 - 64: 61 Load 63(sampB) - 65: 60 Image 64 - 66: 34(int) ImageQuerySize 65 - 67: 58(ivec2) CompositeConstruct 66 66 - 68: 58(ivec2) IAdd 59 67 - 70: 69(fvec2) ConvertSToF 68 - 71: 6(float) CompositeExtract 70 0 - 73: 6(float) FDiv 71 72 - 75: 40(ptr) AccessChain 28(o) 74 - Store 75 73 - 76: 6(float) FunctionCall 8(foo() - 77: 40(ptr) AccessChain 28(o) 50 - Store 77 76 + 15: 12(bool) Load 14(gl_FrontFacing) + 18: 6(float) Select 15 16 17 + Store 11(i1) 18 + Store 19(i2) 20 + 32: 31(ptr) AccessChain 28(gl_ClipDistance) 30 + 33: 6(float) Load 32 + 36: 35(ptr) AccessChain 23(o) 34 + Store 36 33 + 39: 21(fvec4) Load 38(k) + 41: 40(ivec4) ConvertFToS 39 + 42: 29(int) CompositeExtract 41 0 + 43: 31(ptr) AccessChain 28(gl_ClipDistance) 42 + 44: 6(float) Load 43 + 46: 35(ptr) AccessChain 23(o) 45 + Store 46 44 + 51: 48 Load 50(sampR) + 52: 47 Image 51 + 54: 53(ivec2) ImageQuerySize 52 + 59: 56 Load 58(sampB) + 60: 55 Image 59 + 61: 29(int) ImageQuerySize 60 + 62: 53(ivec2) CompositeConstruct 61 61 + 63: 53(ivec2) IAdd 54 62 + 65: 64(fvec2) ConvertSToF 63 + 66: 6(float) CompositeExtract 65 0 + 68: 6(float) FDiv 66 67 + 70: 35(ptr) AccessChain 23(o) 69 + Store 70 68 + 71: 6(float) FunctionCall 8(foo() + 72: 35(ptr) AccessChain 23(o) 45 + Store 72 71 Return FunctionEnd 8(foo(): 6(float) Function None 7 9: Label - 78: 6(float) Load 11(i1) - 79: 6(float) Load 24(i2) - 80: 6(float) FAdd 78 79 - ReturnValue 80 + 73: 6(float) Load 11(i1) + 74: 6(float) Load 19(i2) + 75: 6(float) FAdd 73 74 + ReturnValue 75 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.300layout.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.300layout.vert.out index 20eb8e7d571..69f66b6a33c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.300layout.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.300layout.vert.out @@ -61,7 +61,7 @@ Warning, version 310 is not yet complete; most version-specific features are pre MemberDecorate 45(T3) 2 ColMajor MemberDecorate 45(T3) 2 Offset 128 MemberDecorate 45(T3) 2 MatrixStride 16 - MemberDecorate 45(T3) 3 Offset 160 + MemberDecorate 45(T3) 3 Offset 2048 Decorate 45(T3) Block Decorate 47 DescriptorSet 0 MemberDecorate 78(T2) 0 Offset 0 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.310.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.310.comp.out index 095bf39fc97..4b47c7d7615 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.310.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.310.comp.out @@ -3,14 +3,17 @@ Warning, version 310 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 67 +// Id's are bound by 69 Capability Shader + Capability DeviceGroup + Extension "SPV_KHR_device_group" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 53 + EntryPoint GLCompute 4 "main" 53 64 ExecutionMode 4 LocalSize 16 32 4 Source ESSL 310 + SourceExtension "GL_EXT_device_group" Name 4 "main" Name 13 "outb" MemberName 13(outb) 0 "f" @@ -29,6 +32,7 @@ Warning, version 310 is not yet complete; most version-specific features are pre MemberName 48(outs) 1 "va" Name 50 "outnames" Name 53 "gl_LocalInvocationID" + Name 64 "gl_DeviceIndex" Decorate 12 ArrayStride 16 MemberDecorate 13(outb) 0 Offset 0 MemberDecorate 13(outb) 1 Offset 4 @@ -46,7 +50,8 @@ Warning, version 310 is not yet complete; most version-specific features are pre Decorate 48(outs) BufferBlock Decorate 50(outnames) DescriptorSet 0 Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId - Decorate 66 BuiltIn WorkgroupSize + Decorate 64(gl_DeviceIndex) BuiltIn DeviceIndex + Decorate 68 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -87,10 +92,12 @@ Warning, version 310 is not yet complete; most version-specific features are pre 53(gl_LocalInvocationID): 52(ptr) Variable Input 54: TypePointer Input 6(int) 61: TypePointer Uniform 16(int) - 63: 6(int) Constant 16 - 64: 6(int) Constant 32 - 65: 6(int) Constant 4 - 66: 51(ivec3) ConstantComposite 63 64 65 + 63: TypePointer Input 16(int) +64(gl_DeviceIndex): 63(ptr) Variable Input + 65: 6(int) Constant 16 + 66: 6(int) Constant 32 + 67: 6(int) Constant 4 + 68: 51(ivec3) ConstantComposite 65 66 67 4(main): 2 Function None 3 5: Label ControlBarrier 7 8 9 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.geom.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.geom.out new file mode 100644 index 00000000000..85c68143211 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.geom.out @@ -0,0 +1,67 @@ +spv.450.geom +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 26 + + Capability Geometry + Capability GeometryPointSize + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Geometry 4 "main" 13 20 + ExecutionMode 4 Triangles + ExecutionMode 4 Invocations 4 + ExecutionMode 4 OutputLineStrip + ExecutionMode 4 OutputVertices 127 + Source GLSL 450 + Name 4 "main" + Name 11 "gl_PerVertex" + MemberName 11(gl_PerVertex) 0 "gl_Position" + MemberName 11(gl_PerVertex) 1 "gl_PointSize" + MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 11(gl_PerVertex) 3 "gl_CullDistance" + Name 13 "" + Name 16 "gl_PerVertex" + MemberName 16(gl_PerVertex) 0 "gl_Position" + MemberName 16(gl_PerVertex) 1 "gl_PointSize" + MemberName 16(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 16(gl_PerVertex) 3 "gl_CullDistance" + Name 20 "gl_in" + MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 11(gl_PerVertex) Block + MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 16(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 16(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 16(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 16(gl_PerVertex) Block + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeInt 32 0 + 9: 8(int) Constant 1 + 10: TypeArray 6(float) 9 +11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10 + 12: TypePointer Output 11(gl_PerVertex) + 13: 12(ptr) Variable Output + 14: TypeInt 32 1 + 15: 14(int) Constant 1 +16(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10 + 17: 8(int) Constant 3 + 18: TypeArray 16(gl_PerVertex) 17 + 19: TypePointer Input 18 + 20(gl_in): 19(ptr) Variable Input + 21: TypePointer Input 6(float) + 24: TypePointer Output 6(float) + 4(main): 2 Function None 3 + 5: Label + 22: 21(ptr) AccessChain 20(gl_in) 15 15 + 23: 6(float) Load 22 + 25: 24(ptr) AccessChain 13 15 + Store 25 23 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.noRedecl.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.noRedecl.tesc.out new file mode 100644 index 00000000000..e62aa38aafd --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.450.noRedecl.tesc.out @@ -0,0 +1,49 @@ +spv.450.noRedecl.tesc +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 21 + + Capability Tessellation + Capability TessellationPointSize + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 15 20 + ExecutionMode 4 OutputVertices 4 + Source GLSL 450 + Name 4 "main" + Name 11 "gl_PerVertex" + MemberName 11(gl_PerVertex) 0 "gl_Position" + MemberName 11(gl_PerVertex) 1 "gl_PointSize" + MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 11(gl_PerVertex) 3 "gl_CullDistance" + Name 15 "gl_in" + Name 20 "patchOut" + MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 11(gl_PerVertex) Block + Decorate 20(patchOut) Patch + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeInt 32 0 + 9: 8(int) Constant 1 + 10: TypeArray 6(float) 9 +11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10 + 12: 8(int) Constant 32 + 13: TypeArray 11(gl_PerVertex) 12 + 14: TypePointer Input 13 + 15(gl_in): 14(ptr) Variable Input + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: 16(int) Constant 1 + 19: TypePointer Output 7(fvec4) + 20(patchOut): 19(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.Operations.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.Operations.frag.out index 1a74192ee51..aeee253bfb4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.Operations.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.Operations.frag.out @@ -3,12 +3,12 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 509 +// Id's are bound by 532 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 11 22 212 288 485 503 508 + EntryPoint Fragment 4 "main" 11 22 212 288 485 526 531 ExecutionMode 4 OriginUpperLeft Source GLSL 450 Name 4 "main" @@ -24,13 +24,15 @@ Warning, version 450 is not yet complete; most version-specific features are pre Name 305 "b" Name 342 "ub42" Name 485 "FragColor" - Name 503 "uiv4" - Name 505 "ub" - Name 508 "uuv4" + Name 503 "m1" + Name 510 "m2" + Name 526 "uiv4" + Name 528 "ub" + Name 531 "uuv4" Decorate 22(ui) Flat Decorate 288(uui) Flat - Decorate 503(uiv4) Flat - Decorate 508(uuv4) Flat + Decorate 526(uiv4) Flat + Decorate 531(uuv4) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -65,14 +67,24 @@ Warning, version 450 is not yet complete; most version-specific features are pre 472: 18(int) Constant 17 484: TypePointer Output 7(fvec4) 485(FragColor): 484(ptr) Variable Output - 501: TypeVector 18(int) 4 - 502: TypePointer Input 501(ivec4) - 503(uiv4): 502(ptr) Variable Input - 504: TypePointer Private 178(bool) - 505(ub): 504(ptr) Variable Private - 506: TypeVector 141(int) 4 - 507: TypePointer Input 506(ivec4) - 508(uuv4): 507(ptr) Variable Input + 501: TypeMatrix 7(fvec4) 4 + 502: TypePointer Function 501 + 504: 6(float) Constant 0 + 505: 7(fvec4) ConstantComposite 461 504 504 504 + 506: 7(fvec4) ConstantComposite 504 461 504 504 + 507: 7(fvec4) ConstantComposite 504 504 461 504 + 508: 7(fvec4) ConstantComposite 504 504 504 461 + 509: 501 ConstantComposite 505 506 507 508 + 511: 7(fvec4) ConstantComposite 504 504 504 504 + 512: 501 ConstantComposite 511 511 511 511 + 524: TypeVector 18(int) 4 + 525: TypePointer Input 524(ivec4) + 526(uiv4): 525(ptr) Variable Input + 527: TypePointer Private 178(bool) + 528(ub): 527(ptr) Variable Private + 529: TypeVector 141(int) 4 + 530: TypePointer Input 529(ivec4) + 531(uuv4): 530(ptr) Variable Input 4(main): 2 Function None 3 5: Label 9(v): 8(ptr) Variable Function @@ -81,6 +93,9 @@ Warning, version 450 is not yet complete; most version-specific features are pre 285(u): 284(ptr) Variable Function 305(b): 304(ptr) Variable Function 486: 8(ptr) Variable Function + 503(m1): 502(ptr) Variable Function + 510(m2): 502(ptr) Variable Function + 513: 502(ptr) Variable Function 12: 7(fvec4) Load 11(uv4) 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12 Store 9(v) 13 @@ -666,5 +681,24 @@ Warning, version 450 is not yet complete; most version-specific features are pre 489: Label 500: 7(fvec4) Load 486 Store 485(FragColor) 500 + Store 503(m1) 509 + Store 510(m2) 512 + 514: 178(bool) Load 305(b) + SelectionMerge 516 None + BranchConditional 514 515 518 + 515: Label + 517: 501 Load 503(m1) + Store 513 517 + Branch 516 + 518: Label + 519: 501 Load 510(m2) + Store 513 519 + Branch 516 + 516: Label + 520: 8(ptr) AccessChain 513 405 + 521: 7(fvec4) Load 520 + 522: 7(fvec4) Load 485(FragColor) + 523: 7(fvec4) FAdd 522 521 + Store 485(FragColor) 523 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.bool.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.bool.vert.out index f84687a5bc0..2810ff1e4fc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.bool.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.bool.vert.out @@ -3,7 +3,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 49 +// Id's are bound by 44 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -19,18 +19,18 @@ Warning, version 450 is not yet complete; most version-specific features are pre MemberName 22(gl_PerVertex) 2 "gl_ClipDistance" MemberName 22(gl_PerVertex) 3 "gl_CullDistance" Name 24 "" - Name 29 "ubname" - MemberName 29(ubname) 0 "b" - Name 31 "ubinst" - Name 32 "param" + Name 27 "ubname" + MemberName 27(ubname) 0 "b" + Name 29 "ubinst" + Name 30 "param" MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance Decorate 22(gl_PerVertex) Block - MemberDecorate 29(ubname) 0 Offset 0 - Decorate 29(ubname) Block - Decorate 31(ubinst) DescriptorSet 0 + MemberDecorate 27(ubname) 0 Offset 0 + Decorate 27(ubname) Block + Decorate 29(ubinst) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeBool @@ -47,38 +47,27 @@ Warning, version 450 is not yet complete; most version-specific features are pre 24: 23(ptr) Variable Output 25: TypeInt 32 1 26: 25(int) Constant 0 - 27: TypePointer Function 18(fvec4) - 29(ubname): TypeStruct 19(int) - 30: TypePointer Uniform 29(ubname) - 31(ubinst): 30(ptr) Variable Uniform - 33: TypePointer Uniform 19(int) - 36: 19(int) Constant 0 - 41: 17(float) Constant 0 - 42: 18(fvec4) ConstantComposite 41 41 41 41 - 44: 17(float) Constant 1065353216 - 45: 18(fvec4) ConstantComposite 44 44 44 44 - 47: TypePointer Output 18(fvec4) + 27(ubname): TypeStruct 19(int) + 28: TypePointer Uniform 27(ubname) + 29(ubinst): 28(ptr) Variable Uniform + 31: TypePointer Uniform 19(int) + 34: 19(int) Constant 0 + 37: 17(float) Constant 0 + 38: 18(fvec4) ConstantComposite 37 37 37 37 + 39: 17(float) Constant 1065353216 + 40: 18(fvec4) ConstantComposite 39 39 39 39 + 42: TypePointer Output 18(fvec4) 4(main): 2 Function None 3 5: Label - 28: 27(ptr) Variable Function - 32(param): 7(ptr) Variable Function - 34: 33(ptr) AccessChain 31(ubinst) 26 - 35: 19(int) Load 34 - 37: 6(bool) INotEqual 35 36 - Store 32(param) 37 - 38: 6(bool) FunctionCall 10(foo(b1;) 32(param) - SelectionMerge 40 None - BranchConditional 38 39 43 - 39: Label - Store 28 42 - Branch 40 - 43: Label - Store 28 45 - Branch 40 - 40: Label - 46: 18(fvec4) Load 28 - 48: 47(ptr) AccessChain 24 26 - Store 48 46 + 30(param): 7(ptr) Variable Function + 32: 31(ptr) AccessChain 29(ubinst) 26 + 33: 19(int) Load 32 + 35: 6(bool) INotEqual 33 34 + Store 30(param) 35 + 36: 6(bool) FunctionCall 10(foo(b1;) 30(param) + 41: 18(fvec4) Select 36 38 40 + 43: 42(ptr) AccessChain 24 26 + Store 43 41 Return FunctionEnd 10(foo(b1;): 6(bool) Function None 8 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out index f2c8d6d9239..8fb6215ccf2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.buffer.autoassign.frag.out @@ -1,85 +1,92 @@ spv.buffer.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 45 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 41 + EntryPoint Fragment 4 "main" 47 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "Color" - Name 10 "psout" - Name 13 "MyUB1" - MemberName 13(MyUB1) 0 "g_a" - MemberName 13(MyUB1) 1 "g_b" - Name 15 "" - Name 25 "MyUB2" - MemberName 25(MyUB2) 0 "g_c" - Name 27 "" - Name 31 "MyUB3" - MemberName 31(MyUB3) 0 "g_d" - Name 33 "" - Name 41 "Color" - MemberDecorate 13(MyUB1) 0 Offset 0 - MemberDecorate 13(MyUB1) 1 Offset 4 - Decorate 13(MyUB1) Block - Decorate 15 DescriptorSet 0 - Decorate 15 Binding 20 - MemberDecorate 25(MyUB2) 0 Offset 0 - Decorate 25(MyUB2) Block - Decorate 27 DescriptorSet 0 - Decorate 27 Binding 15 - MemberDecorate 31(MyUB3) 0 Offset 0 - Decorate 31(MyUB3) Block - Decorate 33 DescriptorSet 0 - Decorate 33 Binding 16 - Decorate 41(Color) Location 0 + Name 10 "@main(" + Name 13 "psout" + Name 16 "MyUB1" + MemberName 16(MyUB1) 0 "g_a" + MemberName 16(MyUB1) 1 "g_b" + Name 18 "" + Name 28 "MyUB2" + MemberName 28(MyUB2) 0 "g_c" + Name 30 "" + Name 34 "MyUB3" + MemberName 34(MyUB3) 0 "g_d" + Name 36 "" + Name 47 "Color" + MemberDecorate 16(MyUB1) 0 Offset 0 + MemberDecorate 16(MyUB1) 1 Offset 4 + Decorate 16(MyUB1) Block + Decorate 18 DescriptorSet 0 + Decorate 18 Binding 20 + MemberDecorate 28(MyUB2) 0 Offset 0 + Decorate 28(MyUB2) Block + Decorate 30 DescriptorSet 0 + Decorate 30 Binding 15 + MemberDecorate 34(MyUB3) 0 Offset 0 + Decorate 34(MyUB3) Block + Decorate 36 DescriptorSet 0 + Decorate 36 Binding 16 + Decorate 47(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) - 9: TypePointer Function 8(PS_OUTPUT) - 11: TypeInt 32 1 - 12: 11(int) Constant 0 - 13(MyUB1): TypeStruct 6(float) 11(int) - 14: TypePointer Uniform 13(MyUB1) - 15: 14(ptr) Variable Uniform - 16: TypePointer Uniform 6(float) - 19: 11(int) Constant 1 - 20: TypePointer Uniform 11(int) - 25(MyUB2): TypeStruct 6(float) - 26: TypePointer Uniform 25(MyUB2) - 27: 26(ptr) Variable Uniform - 31(MyUB3): TypeStruct 6(float) - 32: TypePointer Uniform 31(MyUB3) - 33: 32(ptr) Variable Uniform - 38: TypePointer Function 7(fvec4) - 40: TypePointer Output 7(fvec4) - 41(Color): 40(ptr) Variable Output + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 8(PS_OUTPUT) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16(MyUB1): TypeStruct 6(float) 14(int) + 17: TypePointer Uniform 16(MyUB1) + 18: 17(ptr) Variable Uniform + 19: TypePointer Uniform 6(float) + 22: 14(int) Constant 1 + 23: TypePointer Uniform 14(int) + 28(MyUB2): TypeStruct 6(float) + 29: TypePointer Uniform 28(MyUB2) + 30: 29(ptr) Variable Uniform + 34(MyUB3): TypeStruct 6(float) + 35: TypePointer Uniform 34(MyUB3) + 36: 35(ptr) Variable Uniform + 41: TypePointer Function 7(fvec4) + 46: TypePointer Output 7(fvec4) + 47(Color): 46(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 10(psout): 9(ptr) Variable Function - 17: 16(ptr) AccessChain 15 12 - 18: 6(float) Load 17 - 21: 20(ptr) AccessChain 15 19 - 22: 11(int) Load 21 - 23: 6(float) ConvertSToF 22 - 24: 6(float) FAdd 18 23 - 28: 16(ptr) AccessChain 27 12 - 29: 6(float) Load 28 - 30: 6(float) FAdd 24 29 - 34: 16(ptr) AccessChain 33 12 - 35: 6(float) Load 34 - 36: 6(float) FAdd 30 35 - 37: 7(fvec4) CompositeConstruct 36 36 36 36 - 39: 38(ptr) AccessChain 10(psout) 12 - Store 39 37 - 42: 38(ptr) AccessChain 10(psout) 12 - 43: 7(fvec4) Load 42 - Store 41(Color) 43 + 48:8(PS_OUTPUT) FunctionCall 10(@main() + 49: 7(fvec4) CompositeExtract 48 0 + Store 47(Color) 49 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(psout): 12(ptr) Variable Function + 20: 19(ptr) AccessChain 18 15 + 21: 6(float) Load 20 + 24: 23(ptr) AccessChain 18 22 + 25: 14(int) Load 24 + 26: 6(float) ConvertSToF 25 + 27: 6(float) FAdd 21 26 + 31: 19(ptr) AccessChain 30 15 + 32: 6(float) Load 31 + 33: 6(float) FAdd 27 32 + 37: 19(ptr) AccessChain 36 15 + 38: 6(float) Load 37 + 39: 6(float) FAdd 33 38 + 40: 7(fvec4) CompositeConstruct 39 39 39 39 + 42: 41(ptr) AccessChain 13(psout) 15 + Store 42 40 + 43:8(PS_OUTPUT) Load 13(psout) + ReturnValue 43 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deepRvalue.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deepRvalue.frag.out index 29cf848873a..b6613ef5ae9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deepRvalue.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deepRvalue.frag.out @@ -1,12 +1,12 @@ spv.deepRvalue.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 155 +// Id's are bound by 150 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 149 + EntryPoint Fragment 4 "main" 144 ExecutionMode 4 OriginUpperLeft Source GLSL 330 Name 4 "main" @@ -21,12 +21,12 @@ spv.deepRvalue.frag Name 106 "h" Name 107 "i" Name 111 "samp2D" - Name 134 "str" - MemberName 134(str) 0 "a" - MemberName 134(str) 1 "b" - MemberName 134(str) 2 "c" - Name 136 "t" - Name 149 "gl_FragColor" + Name 129 "str" + MemberName 129(str) 0 "a" + MemberName 129(str) 1 "b" + MemberName 129(str) 2 "c" + Name 131 "t" + Name 144 "gl_FragColor" Decorate 111(samp2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 @@ -75,22 +75,21 @@ spv.deepRvalue.frag 113: TypeVector 6(float) 2 114: 6(float) Constant 1056964608 115: 113(fvec2) ConstantComposite 114 114 - 118: TypePointer Function 7(fvec4) - 121: 6(float) Constant 1036831949 - 122: TypeBool - 133: TypeArray 113(fvec2) 84 - 134(str): TypeStruct 81(int) 133 122(bool) - 135: TypePointer Function 134(str) - 137: 113(fvec2) ConstantComposite 10 11 - 138: 6(float) Constant 1082130432 - 139: 113(fvec2) ConstantComposite 138 12 - 140: 6(float) Constant 1086324736 - 141: 113(fvec2) ConstantComposite 140 13 - 142: 133 ConstantComposite 137 139 141 - 143: 122(bool) ConstantTrue - 144: 134(str) ConstantComposite 82 142 143 - 148: TypePointer Output 7(fvec4) -149(gl_FragColor): 148(ptr) Variable Output + 119: 6(float) Constant 1036831949 + 120: TypeBool + 128: TypeArray 113(fvec2) 84 + 129(str): TypeStruct 81(int) 128 120(bool) + 130: TypePointer Function 129(str) + 132: 113(fvec2) ConstantComposite 10 11 + 133: 6(float) Constant 1082130432 + 134: 113(fvec2) ConstantComposite 133 12 + 135: 6(float) Constant 1086324736 + 136: 113(fvec2) ConstantComposite 135 13 + 137: 128 ConstantComposite 132 134 136 + 138: 120(bool) ConstantTrue + 139: 129(str) ConstantComposite 82 137 138 + 143: TypePointer Output 7(fvec4) +144(gl_FragColor): 143(ptr) Variable Output 4(main): 2 Function None 3 5: Label 35(m): 34(ptr) Variable Function @@ -99,8 +98,7 @@ spv.deepRvalue.frag 87(g): 79(ptr) Variable Function 106(h): 79(ptr) Variable Function 107(i): 79(ptr) Variable Function - 119: 118(ptr) Variable Function - 136(t): 135(ptr) Variable Function + 131(t): 130(ptr) Variable Function Store 9(v1) 14 Store 15(v2) 20 Store 21(v3) 26 @@ -172,34 +170,25 @@ spv.deepRvalue.frag 116: 7(fvec4) ImageSampleImplicitLod 112 115 117: 6(float) CompositeExtract 116 1 Store 107(i) 117 - 120: 6(float) Load 107(i) - 123: 122(bool) FOrdGreaterThan 120 121 - SelectionMerge 125 None - BranchConditional 123 124 127 - 124: Label - 126: 7(fvec4) Load 9(v1) - Store 119 126 - Branch 125 - 127: Label - 128: 7(fvec4) Load 15(v2) - Store 119 128 - Branch 125 - 125: Label - 129: 79(ptr) AccessChain 119 84 - 130: 6(float) Load 129 - 131: 6(float) Load 107(i) - 132: 6(float) FAdd 131 130 - Store 107(i) 132 - Store 136(t) 144 - 145: 6(float) CompositeExtract 144 1 2 1 - 146: 6(float) Load 107(i) - 147: 6(float) FAdd 146 145 - Store 107(i) 147 - 150: 6(float) Load 80(f) - 151: 6(float) Load 87(g) - 152: 6(float) Load 106(h) - 153: 6(float) Load 107(i) - 154: 7(fvec4) CompositeConstruct 150 151 152 153 - Store 149(gl_FragColor) 154 + 118: 6(float) Load 107(i) + 121: 120(bool) FOrdGreaterThan 118 119 + 122: 7(fvec4) Load 9(v1) + 123: 7(fvec4) Load 15(v2) + 124: 7(fvec4) Select 121 122 123 + 125: 6(float) CompositeExtract 124 3 + 126: 6(float) Load 107(i) + 127: 6(float) FAdd 126 125 + Store 107(i) 127 + Store 131(t) 139 + 140: 6(float) CompositeExtract 139 1 2 1 + 141: 6(float) Load 107(i) + 142: 6(float) FAdd 141 140 + Store 107(i) 142 + 145: 6(float) Load 80(f) + 146: 6(float) Load 87(g) + 147: 6(float) Load 106(h) + 148: 6(float) Load 107(i) + 149: 7(fvec4) CompositeConstruct 145 146 147 148 + Store 144(gl_FragColor) 149 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deviceGroup.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deviceGroup.frag.out new file mode 100644 index 00000000000..42e045b3c89 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.deviceGroup.frag.out @@ -0,0 +1,39 @@ +spv.deviceGroup.frag +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 17 + + Capability Shader + Capability DeviceGroup + Extension "SPV_KHR_device_group" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 9 12 + ExecutionMode 4 OriginUpperLeft + Source GLSL 450 + SourceExtension "GL_EXT_device_group" + Name 4 "main" + Name 9 "color" + Name 12 "gl_DeviceIndex" + Decorate 12(gl_DeviceIndex) Flat + Decorate 12(gl_DeviceIndex) BuiltIn DeviceIndex + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(color): 8(ptr) Variable Output + 10: TypeInt 32 1 + 11: TypePointer Input 10(int) +12(gl_DeviceIndex): 11(ptr) Variable Input + 15: 6(float) Constant 0 + 4(main): 2 Function None 3 + 5: Label + 13: 10(int) Load 12(gl_DeviceIndex) + 14: 6(float) ConvertSToF 13 + 16: 7(fvec4) CompositeConstruct 14 15 15 15 + Store 9(color) 16 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.drawParams.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.drawParams.vert.out new file mode 100644 index 00000000000..b75efe0482d --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.drawParams.vert.out @@ -0,0 +1,59 @@ +spv.drawParams.vert +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 29 + + Capability Shader + Capability DrawParameters + Extension "SPV_KHR_shader_draw_parameters" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 10 13 16 21 + Source GLSL 450 + SourceExtension "GL_ARB_shader_draw_parameters" + Name 4 "main" + Name 8 "a" + Name 10 "gl_BaseVertexARB" + Name 12 "b" + Name 13 "gl_BaseInstanceARB" + Name 15 "c" + Name 16 "gl_DrawIDARB" + Name 21 "pos" + Decorate 10(gl_BaseVertexARB) BuiltIn BaseVertex + Decorate 13(gl_BaseInstanceARB) BuiltIn BaseInstance + Decorate 16(gl_DrawIDARB) BuiltIn DrawIndex + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 9: TypePointer Input 6(int) +10(gl_BaseVertexARB): 9(ptr) Variable Input +13(gl_BaseInstanceARB): 9(ptr) Variable Input +16(gl_DrawIDARB): 9(ptr) Variable Input + 18: TypeFloat 32 + 19: TypeVector 18(float) 3 + 20: TypePointer Output 19(fvec3) + 21(pos): 20(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 8(a): 7(ptr) Variable Function + 12(b): 7(ptr) Variable Function + 15(c): 7(ptr) Variable Function + 11: 6(int) Load 10(gl_BaseVertexARB) + Store 8(a) 11 + 14: 6(int) Load 13(gl_BaseInstanceARB) + Store 12(b) 14 + 17: 6(int) Load 16(gl_DrawIDARB) + Store 15(c) 17 + 22: 6(int) Load 8(a) + 23: 18(float) ConvertSToF 22 + 24: 6(int) Load 12(b) + 25: 18(float) ConvertSToF 24 + 26: 6(int) Load 15(c) + 27: 18(float) ConvertSToF 26 + 28: 19(fvec3) CompositeConstruct 23 25 27 + Store 21(pos) 28 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.for-complex-condition.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.for-complex-condition.vert.out index bb3bc2a1cc6..939d082735a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.for-complex-condition.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.for-complex-condition.vert.out @@ -3,38 +3,37 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 35 +// Id's are bound by 31 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 18 31 + EntryPoint Vertex 4 "main" 17 27 Source GLSL 450 Name 4 "main" Name 8 "i" - Name 18 "flag" - Name 31 "r" - Decorate 18(flag) RelaxedPrecision - Decorate 18(flag) Location 0 - Decorate 19 RelaxedPrecision - Decorate 31(r) Location 0 + Name 17 "flag" + Name 27 "r" + Decorate 17(flag) RelaxedPrecision + Decorate 17(flag) Location 0 + Decorate 18 RelaxedPrecision + Decorate 27(r) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 9: 6(int) Constant 0 - 17: TypePointer Input 6(int) - 18(flag): 17(ptr) Variable Input - 20: 6(int) Constant 1 - 21: TypeBool - 25: 6(int) Constant 10 - 27: 6(int) Constant 15 - 30: TypePointer Output 6(int) - 31(r): 30(ptr) Variable Output + 16: TypePointer Input 6(int) + 17(flag): 16(ptr) Variable Input + 19: 6(int) Constant 1 + 20: TypeBool + 22: 6(int) Constant 10 + 23: 6(int) Constant 15 + 26: TypePointer Output 6(int) + 27(r): 26(ptr) Variable Output 4(main): 2 Function None 3 5: Label 8(i): 7(ptr) Variable Function - 16: 7(ptr) Variable Function Store 8(i) 9 Branch 10 10: Label @@ -42,29 +41,20 @@ Warning, version 450 is not yet complete; most version-specific features are pre Branch 14 14: Label 15: 6(int) Load 8(i) - 19: 6(int) Load 18(flag) - 22: 21(bool) IEqual 19 20 - SelectionMerge 24 None - BranchConditional 22 23 26 - 23: Label - Store 16 25 - Branch 24 - 26: Label - Store 16 27 - Branch 24 - 24: Label - 28: 6(int) Load 16 - 29: 21(bool) SLessThan 15 28 - BranchConditional 29 11 12 - 11: Label - 32: 6(int) Load 8(i) - Store 31(r) 32 - Branch 13 - 13: Label - 33: 6(int) Load 8(i) - 34: 6(int) IAdd 33 20 - Store 8(i) 34 - Branch 10 + 18: 6(int) Load 17(flag) + 21: 20(bool) IEqual 18 19 + 24: 6(int) Select 21 22 23 + 25: 20(bool) SLessThan 15 24 + BranchConditional 25 11 12 + 11: Label + 28: 6(int) Load 8(i) + Store 27(r) 28 + Branch 13 + 13: Label + 29: 6(int) Load 8(i) + 30: 6(int) IAdd 29 19 + Store 8(i) 30 + Branch 10 12: Label Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.functionNestedOpaque.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.functionNestedOpaque.vert.out new file mode 100644 index 00000000000..1dae38144f6 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.functionNestedOpaque.vert.out @@ -0,0 +1,67 @@ +spv.functionNestedOpaque.vert +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 39 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" + Source GLSL 450 + Name 4 "main" + Name 12 "foo(s21;" + Name 11 "t" + Name 14 "S" + MemberName 14(S) 0 "s" + Name 18 "barc(struct-S-s211;" + Name 17 "p" + Name 21 "bar(struct-S-s211;" + Name 20 "p" + Name 36 "si" + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeImage 6(float) 2D sampled format:Unknown + 8: TypeSampledImage 7 + 9: TypePointer UniformConstant 8 + 10: TypeFunction 2 9(ptr) + 14(S): TypeStruct 8 + 15: TypePointer UniformConstant 14(S) + 16: TypeFunction 2 15(ptr) + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1056964608 + 26: 24(fvec2) ConstantComposite 25 25 + 27: TypeVector 6(float) 4 + 28: 6(float) Constant 0 + 30: TypeInt 32 1 + 31: 30(int) Constant 0 + 36(si): 15(ptr) Variable UniformConstant + 4(main): 2 Function None 3 + 5: Label + 37: 2 FunctionCall 18(barc(struct-S-s211;) 36(si) + 38: 2 FunctionCall 21(bar(struct-S-s211;) 36(si) + Return + FunctionEnd + 12(foo(s21;): 2 Function None 10 + 11(t): 9(ptr) FunctionParameter + 13: Label + 23: 8 Load 11(t) + 29: 27(fvec4) ImageSampleExplicitLod 23 26 Lod 28 + Return + FunctionEnd +18(barc(struct-S-s211;): 2 Function None 16 + 17(p): 15(ptr) FunctionParameter + 19: Label + 32: 9(ptr) AccessChain 17(p) 31 + 33: 2 FunctionCall 12(foo(s21;) 32 + Return + FunctionEnd +21(bar(struct-S-s211;): 2 Function None 16 + 20(p): 15(ptr) FunctionParameter + 22: Label + 34: 9(ptr) AccessChain 20(p) 31 + 35: 2 FunctionCall 12(foo(s21;) 34 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.frag.out index 2dd7d4b3f4a..ee29baf2e1c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.frag.out @@ -3,7 +3,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 378 +// Id's are bound by 374 Capability Shader Capability SampledRect @@ -16,7 +16,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre Capability StorageImageWriteWithoutFormat 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 132 142 152 248 362 377 + EntryPoint Fragment 4 "main" 132 142 152 248 362 373 ExecutionMode 4 OriginUpperLeft Source GLSL 450 Name 4 "main" @@ -42,7 +42,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre Name 248 "value" Name 357 "wo2D" Name 362 "fragData" - Name 377 "ic4D" + Name 373 "ic4D" Decorate 15(i1D) DescriptorSet 0 Decorate 15(i1D) Binding 0 Decorate 27(i2D) DescriptorSet 0 @@ -76,7 +76,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre Decorate 357(wo2D) DescriptorSet 0 Decorate 357(wo2D) Binding 1 Decorate 357(wo2D) NonReadable - Decorate 377(ic4D) Flat + Decorate 373(ic4D) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -163,16 +163,15 @@ Warning, version 450 is not yet complete; most version-specific features are pre 357(wo2D): 356(ptr) Variable UniformConstant 361: TypePointer Output 125(fvec4) 362(fragData): 361(ptr) Variable Output - 368: TypeBool - 375: TypeVector 6(int) 4 - 376: TypePointer Input 375(ivec4) - 377(ic4D): 376(ptr) Variable Input + 367: TypeBool + 371: TypeVector 6(int) 4 + 372: TypePointer Input 371(ivec4) + 373(ic4D): 372(ptr) Variable Input 4(main): 2 Function None 3 5: Label 9(iv): 8(ptr) Variable Function 127(v): 126(ptr) Variable Function 229(ui): 228(ptr) Variable Function - 363: 126(ptr) Variable Function Store 9(iv) 11 16: 13 Load 15(i1D) 17: 6(int) ImageQuerySize 16 @@ -498,22 +497,13 @@ Warning, version 450 is not yet complete; most version-specific features are pre 359: 29(ivec2) Load 142(ic2D) 360: 125(fvec4) Load 127(v) ImageWrite 358 359 360 - 364: 18(int) Load 229(ui) - 365: 20(ptr) AccessChain 9(iv) 237 - 366: 6(int) Load 365 - 367: 18(int) Bitcast 366 - 369: 368(bool) INotEqual 364 367 - SelectionMerge 371 None - BranchConditional 369 370 373 - 370: Label - 372: 125(fvec4) Load 127(v) - Store 363 372 - Branch 371 - 373: Label - Store 363 129 - Branch 371 - 371: Label - 374: 125(fvec4) Load 363 - Store 362(fragData) 374 + 363: 18(int) Load 229(ui) + 364: 20(ptr) AccessChain 9(iv) 237 + 365: 6(int) Load 364 + 366: 18(int) Bitcast 365 + 368: 367(bool) INotEqual 363 366 + 369: 125(fvec4) Load 127(v) + 370: 125(fvec4) Select 368 369 129 + Store 362(fragData) 370 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.load-formatted.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.load-formatted.frag.out new file mode 100644 index 00000000000..172a3a17834 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.image.load-formatted.frag.out @@ -0,0 +1,352 @@ +spv.image.load-formatted.frag +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 240 + + Capability Shader + Capability SampledRect + Capability Sampled1D + Capability SampledCubeArray + Capability SampledBuffer + Capability ImageMSArray + Capability ImageQuery + Capability StorageImageReadWithoutFormat + Capability StorageImageWriteWithoutFormat + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 132 142 152 233 237 239 + ExecutionMode 4 OriginUpperLeft + Source GLSL 450 + SourceExtension "GL_EXT_shader_image_load_formatted" + Name 4 "main" + Name 9 "iv" + Name 15 "i1D" + Name 27 "i2D" + Name 38 "i3D" + Name 45 "iCube" + Name 55 "iCubeArray" + Name 62 "i2DRect" + Name 72 "i1DArray" + Name 82 "i2DArray" + Name 89 "iBuffer" + Name 98 "i2DMS" + Name 108 "i2DMSArray" + Name 127 "v" + Name 132 "ic1D" + Name 142 "ic2D" + Name 152 "ic3D" + Name 228 "wo2D" + Name 233 "fragData" + Name 237 "ic4D" + Name 239 "value" + Decorate 15(i1D) DescriptorSet 0 + Decorate 15(i1D) Binding 0 + Decorate 27(i2D) DescriptorSet 0 + Decorate 27(i2D) Binding 1 + Decorate 38(i3D) DescriptorSet 0 + Decorate 38(i3D) Binding 2 + Decorate 45(iCube) DescriptorSet 0 + Decorate 45(iCube) Binding 3 + Decorate 55(iCubeArray) DescriptorSet 0 + Decorate 55(iCubeArray) Binding 4 + Decorate 62(i2DRect) DescriptorSet 0 + Decorate 62(i2DRect) Binding 5 + Decorate 72(i1DArray) DescriptorSet 0 + Decorate 72(i1DArray) Binding 6 + Decorate 82(i2DArray) DescriptorSet 0 + Decorate 82(i2DArray) Binding 7 + Decorate 89(iBuffer) DescriptorSet 0 + Decorate 89(iBuffer) Binding 8 + Decorate 98(i2DMS) DescriptorSet 0 + Decorate 98(i2DMS) Binding 9 + Decorate 108(i2DMSArray) DescriptorSet 0 + Decorate 108(i2DMSArray) Binding 10 + Decorate 132(ic1D) Flat + Decorate 142(ic2D) Flat + Decorate 152(ic3D) Flat + Decorate 228(wo2D) DescriptorSet 0 + Decorate 228(wo2D) Binding 1 + Decorate 228(wo2D) NonReadable + Decorate 237(ic4D) Flat + Decorate 239(value) Flat + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 10: 6(int) Constant 0 + 11: 7(ivec3) ConstantComposite 10 10 10 + 12: TypeFloat 32 + 13: TypeImage 12(float) 1D nonsampled format:Unknown + 14: TypePointer UniformConstant 13 + 15(i1D): 14(ptr) Variable UniformConstant + 18: TypeInt 32 0 + 19: 18(int) Constant 0 + 20: TypePointer Function 6(int) + 25: TypeImage 12(float) 2D nonsampled format:Unknown + 26: TypePointer UniformConstant 25 + 27(i2D): 26(ptr) Variable UniformConstant + 29: TypeVector 6(int) 2 + 36: TypeImage 12(float) 3D nonsampled format:Unknown + 37: TypePointer UniformConstant 36 + 38(i3D): 37(ptr) Variable UniformConstant + 43: TypeImage 12(float) Cube nonsampled format:Unknown + 44: TypePointer UniformConstant 43 + 45(iCube): 44(ptr) Variable UniformConstant + 53: TypeImage 12(float) Cube array nonsampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(iCubeArray): 54(ptr) Variable UniformConstant + 60: TypeImage 12(float) Rect nonsampled format:Unknown + 61: TypePointer UniformConstant 60 + 62(i2DRect): 61(ptr) Variable UniformConstant + 70: TypeImage 12(float) 1D array nonsampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(i1DArray): 71(ptr) Variable UniformConstant + 80: TypeImage 12(float) 2D array nonsampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(i2DArray): 81(ptr) Variable UniformConstant + 87: TypeImage 12(float) Buffer nonsampled format:Unknown + 88: TypePointer UniformConstant 87 + 89(iBuffer): 88(ptr) Variable UniformConstant + 96: TypeImage 12(float) 2D multi-sampled nonsampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(i2DMS): 97(ptr) Variable UniformConstant + 106: TypeImage 12(float) 2D array multi-sampled nonsampled format:Unknown + 107: TypePointer UniformConstant 106 + 108(i2DMSArray): 107(ptr) Variable UniformConstant + 125: TypeVector 12(float) 4 + 126: TypePointer Function 125(fvec4) + 128: 12(float) Constant 0 + 129: 125(fvec4) ConstantComposite 128 128 128 128 + 131: TypePointer Input 6(int) + 132(ic1D): 131(ptr) Variable Input + 141: TypePointer Input 29(ivec2) + 142(ic2D): 141(ptr) Variable Input + 151: TypePointer Input 7(ivec3) + 152(ic3D): 151(ptr) Variable Input + 210: 6(int) Constant 1 + 216: 6(int) Constant 2 + 220: 6(int) Constant 3 + 226: 6(int) Constant 4 + 228(wo2D): 26(ptr) Variable UniformConstant + 232: TypePointer Output 125(fvec4) + 233(fragData): 232(ptr) Variable Output + 235: TypeVector 6(int) 4 + 236: TypePointer Input 235(ivec4) + 237(ic4D): 236(ptr) Variable Input + 238: TypePointer Input 18(int) + 239(value): 238(ptr) Variable Input + 4(main): 2 Function None 3 + 5: Label + 9(iv): 8(ptr) Variable Function + 127(v): 126(ptr) Variable Function + Store 9(iv) 11 + 16: 13 Load 15(i1D) + 17: 6(int) ImageQuerySize 16 + 21: 20(ptr) AccessChain 9(iv) 19 + 22: 6(int) Load 21 + 23: 6(int) IAdd 22 17 + 24: 20(ptr) AccessChain 9(iv) 19 + Store 24 23 + 28: 25 Load 27(i2D) + 30: 29(ivec2) ImageQuerySize 28 + 31: 7(ivec3) Load 9(iv) + 32: 29(ivec2) VectorShuffle 31 31 0 1 + 33: 29(ivec2) IAdd 32 30 + 34: 7(ivec3) Load 9(iv) + 35: 7(ivec3) VectorShuffle 34 33 3 4 2 + Store 9(iv) 35 + 39: 36 Load 38(i3D) + 40: 7(ivec3) ImageQuerySize 39 + 41: 7(ivec3) Load 9(iv) + 42: 7(ivec3) IAdd 41 40 + Store 9(iv) 42 + 46: 43 Load 45(iCube) + 47: 29(ivec2) ImageQuerySize 46 + 48: 7(ivec3) Load 9(iv) + 49: 29(ivec2) VectorShuffle 48 48 0 1 + 50: 29(ivec2) IAdd 49 47 + 51: 7(ivec3) Load 9(iv) + 52: 7(ivec3) VectorShuffle 51 50 3 4 2 + Store 9(iv) 52 + 56: 53 Load 55(iCubeArray) + 57: 7(ivec3) ImageQuerySize 56 + 58: 7(ivec3) Load 9(iv) + 59: 7(ivec3) IAdd 58 57 + Store 9(iv) 59 + 63: 60 Load 62(i2DRect) + 64: 29(ivec2) ImageQuerySize 63 + 65: 7(ivec3) Load 9(iv) + 66: 29(ivec2) VectorShuffle 65 65 0 1 + 67: 29(ivec2) IAdd 66 64 + 68: 7(ivec3) Load 9(iv) + 69: 7(ivec3) VectorShuffle 68 67 3 4 2 + Store 9(iv) 69 + 73: 70 Load 72(i1DArray) + 74: 29(ivec2) ImageQuerySize 73 + 75: 7(ivec3) Load 9(iv) + 76: 29(ivec2) VectorShuffle 75 75 0 1 + 77: 29(ivec2) IAdd 76 74 + 78: 7(ivec3) Load 9(iv) + 79: 7(ivec3) VectorShuffle 78 77 3 4 2 + Store 9(iv) 79 + 83: 80 Load 82(i2DArray) + 84: 7(ivec3) ImageQuerySize 83 + 85: 7(ivec3) Load 9(iv) + 86: 7(ivec3) IAdd 85 84 + Store 9(iv) 86 + 90: 87 Load 89(iBuffer) + 91: 6(int) ImageQuerySize 90 + 92: 20(ptr) AccessChain 9(iv) 19 + 93: 6(int) Load 92 + 94: 6(int) IAdd 93 91 + 95: 20(ptr) AccessChain 9(iv) 19 + Store 95 94 + 99: 96 Load 98(i2DMS) + 100: 29(ivec2) ImageQuerySize 99 + 101: 7(ivec3) Load 9(iv) + 102: 29(ivec2) VectorShuffle 101 101 0 1 + 103: 29(ivec2) IAdd 102 100 + 104: 7(ivec3) Load 9(iv) + 105: 7(ivec3) VectorShuffle 104 103 3 4 2 + Store 9(iv) 105 + 109: 106 Load 108(i2DMSArray) + 110: 7(ivec3) ImageQuerySize 109 + 111: 7(ivec3) Load 9(iv) + 112: 7(ivec3) IAdd 111 110 + Store 9(iv) 112 + 113: 96 Load 98(i2DMS) + 114: 6(int) ImageQuerySamples 113 + 115: 20(ptr) AccessChain 9(iv) 19 + 116: 6(int) Load 115 + 117: 6(int) IAdd 116 114 + 118: 20(ptr) AccessChain 9(iv) 19 + Store 118 117 + 119: 106 Load 108(i2DMSArray) + 120: 6(int) ImageQuerySamples 119 + 121: 20(ptr) AccessChain 9(iv) 19 + 122: 6(int) Load 121 + 123: 6(int) IAdd 122 120 + 124: 20(ptr) AccessChain 9(iv) 19 + Store 124 123 + Store 127(v) 129 + 130: 13 Load 15(i1D) + 133: 6(int) Load 132(ic1D) + 134: 125(fvec4) ImageRead 130 133 + 135: 125(fvec4) Load 127(v) + 136: 125(fvec4) FAdd 135 134 + Store 127(v) 136 + 137: 13 Load 15(i1D) + 138: 6(int) Load 132(ic1D) + 139: 125(fvec4) Load 127(v) + ImageWrite 137 138 139 + 140: 25 Load 27(i2D) + 143: 29(ivec2) Load 142(ic2D) + 144: 125(fvec4) ImageRead 140 143 + 145: 125(fvec4) Load 127(v) + 146: 125(fvec4) FAdd 145 144 + Store 127(v) 146 + 147: 25 Load 27(i2D) + 148: 29(ivec2) Load 142(ic2D) + 149: 125(fvec4) Load 127(v) + ImageWrite 147 148 149 + 150: 36 Load 38(i3D) + 153: 7(ivec3) Load 152(ic3D) + 154: 125(fvec4) ImageRead 150 153 + 155: 125(fvec4) Load 127(v) + 156: 125(fvec4) FAdd 155 154 + Store 127(v) 156 + 157: 36 Load 38(i3D) + 158: 7(ivec3) Load 152(ic3D) + 159: 125(fvec4) Load 127(v) + ImageWrite 157 158 159 + 160: 43 Load 45(iCube) + 161: 7(ivec3) Load 152(ic3D) + 162: 125(fvec4) ImageRead 160 161 + 163: 125(fvec4) Load 127(v) + 164: 125(fvec4) FAdd 163 162 + Store 127(v) 164 + 165: 43 Load 45(iCube) + 166: 7(ivec3) Load 152(ic3D) + 167: 125(fvec4) Load 127(v) + ImageWrite 165 166 167 + 168: 53 Load 55(iCubeArray) + 169: 7(ivec3) Load 152(ic3D) + 170: 125(fvec4) ImageRead 168 169 + 171: 125(fvec4) Load 127(v) + 172: 125(fvec4) FAdd 171 170 + Store 127(v) 172 + 173: 53 Load 55(iCubeArray) + 174: 7(ivec3) Load 152(ic3D) + 175: 125(fvec4) Load 127(v) + ImageWrite 173 174 175 + 176: 60 Load 62(i2DRect) + 177: 29(ivec2) Load 142(ic2D) + 178: 125(fvec4) ImageRead 176 177 + 179: 125(fvec4) Load 127(v) + 180: 125(fvec4) FAdd 179 178 + Store 127(v) 180 + 181: 60 Load 62(i2DRect) + 182: 29(ivec2) Load 142(ic2D) + 183: 125(fvec4) Load 127(v) + ImageWrite 181 182 183 + 184: 70 Load 72(i1DArray) + 185: 29(ivec2) Load 142(ic2D) + 186: 125(fvec4) ImageRead 184 185 + 187: 125(fvec4) Load 127(v) + 188: 125(fvec4) FAdd 187 186 + Store 127(v) 188 + 189: 70 Load 72(i1DArray) + 190: 29(ivec2) Load 142(ic2D) + 191: 125(fvec4) Load 127(v) + ImageWrite 189 190 191 + 192: 80 Load 82(i2DArray) + 193: 7(ivec3) Load 152(ic3D) + 194: 125(fvec4) ImageRead 192 193 + 195: 125(fvec4) Load 127(v) + 196: 125(fvec4) FAdd 195 194 + Store 127(v) 196 + 197: 80 Load 82(i2DArray) + 198: 7(ivec3) Load 152(ic3D) + 199: 125(fvec4) Load 127(v) + ImageWrite 197 198 199 + 200: 87 Load 89(iBuffer) + 201: 6(int) Load 132(ic1D) + 202: 125(fvec4) ImageRead 200 201 + 203: 125(fvec4) Load 127(v) + 204: 125(fvec4) FAdd 203 202 + Store 127(v) 204 + 205: 87 Load 89(iBuffer) + 206: 6(int) Load 132(ic1D) + 207: 125(fvec4) Load 127(v) + ImageWrite 205 206 207 + 208: 96 Load 98(i2DMS) + 209: 29(ivec2) Load 142(ic2D) + 211: 125(fvec4) ImageRead 208 209 Sample 210 + 212: 125(fvec4) Load 127(v) + 213: 125(fvec4) FAdd 212 211 + Store 127(v) 213 + 214: 96 Load 98(i2DMS) + 215: 29(ivec2) Load 142(ic2D) + 217: 125(fvec4) Load 127(v) + ImageWrite 214 215 217 Sample 216 + 218: 106 Load 108(i2DMSArray) + 219: 7(ivec3) Load 152(ic3D) + 221: 125(fvec4) ImageRead 218 219 Sample 220 + 222: 125(fvec4) Load 127(v) + 223: 125(fvec4) FAdd 222 221 + Store 127(v) 223 + 224: 106 Load 108(i2DMSArray) + 225: 7(ivec3) Load 152(ic3D) + 227: 125(fvec4) Load 127(v) + ImageWrite 224 225 227 Sample 226 + 229: 25 Load 228(wo2D) + 230: 29(ivec2) Load 142(ic2D) + 231: 125(fvec4) Load 127(v) + ImageWrite 229 230 231 + 234: 125(fvec4) Load 127(v) + Store 233(fragData) 234 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.matrix.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.matrix.frag.out index 700e90ebcdc..c7077b9a066 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.matrix.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.matrix.frag.out @@ -3,7 +3,7 @@ Warning, version 420 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 261 +// Id's are bound by 286 Capability Shader Capability Float64 @@ -55,6 +55,9 @@ Warning, version 420 is not yet complete; most version-specific features are pre 186: TypePointer Output 7(fvec4) 187(color): 186(ptr) Variable Output 208: 6(float) Constant 0 + 270: TypeVector 6(float) 2 + 271: TypeMatrix 270(fvec2) 2 + 279: 6(float) Constant 1088841318 4(main): 2 Function None 3 5: Label 10(sum34): 9(ptr) Variable Function @@ -305,5 +308,29 @@ Warning, version 420 is not yet complete; most version-specific features are pre 259: 7(fvec4) Load 187(color) 260: 7(fvec4) FAdd 259 258 Store 187(color) 260 + 261: 172 Load 174(m43) + 262: 6(float) CompositeExtract 261 0 0 + 263: 6(float) CompositeExtract 261 0 1 + 264: 6(float) CompositeExtract 261 0 2 + 265: 6(float) CompositeExtract 261 1 0 + 266: 7(fvec4) CompositeConstruct 262 263 264 265 + 267: 7(fvec4) Load 187(color) + 268: 7(fvec4) FAdd 267 266 + Store 187(color) 268 + 269: 6(float) Load 28(f) + 272: 270(fvec2) CompositeConstruct 269 208 + 273: 270(fvec2) CompositeConstruct 208 269 + 274: 271 CompositeConstruct 272 273 + 275: 6(float) CompositeExtract 274 0 0 + 276: 6(float) CompositeExtract 274 0 1 + 277: 6(float) CompositeExtract 274 1 0 + 278: 157(fvec3) CompositeConstruct 275 276 277 + 280: 6(float) CompositeExtract 278 0 + 281: 6(float) CompositeExtract 278 1 + 282: 6(float) CompositeExtract 278 2 + 283: 7(fvec4) CompositeConstruct 280 281 282 279 + 284: 7(fvec4) Load 187(color) + 285: 7(fvec4) FAdd 284 283 + Store 187(color) 285 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiView.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiView.frag.out new file mode 100644 index 00000000000..de2a5496042 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiView.frag.out @@ -0,0 +1,39 @@ +spv.multiView.frag +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 17 + + Capability Shader + Capability MultiView + Extension "SPV_KHR_multiview" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 9 12 + ExecutionMode 4 OriginUpperLeft + Source GLSL 450 + SourceExtension "GL_EXT_multiview" + Name 4 "main" + Name 9 "color" + Name 12 "gl_ViewIndex" + Decorate 12(gl_ViewIndex) Flat + Decorate 12(gl_ViewIndex) BuiltIn ViewIndex + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(color): 8(ptr) Variable Output + 10: TypeInt 32 1 + 11: TypePointer Input 10(int) +12(gl_ViewIndex): 11(ptr) Variable Input + 15: 6(float) Constant 0 + 4(main): 2 Function None 3 + 5: Label + 13: 10(int) Load 12(gl_ViewIndex) + 14: 6(float) ConvertSToF 13 + 16: 7(fvec4) CompositeConstruct 14 15 15 15 + Store 9(color) 16 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out new file mode 100644 index 00000000000..f93aa0172a3 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out @@ -0,0 +1,77 @@ +spv.multiviewPerViewAttributes.tesc +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 37 + + Capability Tessellation + Capability PerViewAttributesNV + Extension "SPV_NVX_multiview_per_view_attributes" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint TessellationControl 4 "main" 17 19 31 + ExecutionMode 4 OutputVertices 4 + Source GLSL 450 + SourceExtension "GL_NVX_multiview_per_view_attributes" + Name 4 "main" + Name 13 "gl_PerVertex" + MemberName 13(gl_PerVertex) 0 "gl_PositionPerViewNV" + MemberName 13(gl_PerVertex) 1 "gl_ViewportMaskPerViewNV" + Name 17 "gl_out" + Name 19 "gl_InvocationID" + Name 27 "gl_PerVertex" + MemberName 27(gl_PerVertex) 0 "gl_Position" + MemberName 27(gl_PerVertex) 1 "gl_PointSize" + MemberName 27(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 27(gl_PerVertex) 3 "gl_CullDistance" + MemberName 27(gl_PerVertex) 5 "gl_PositionPerViewNV" + Name 31 "gl_in" + MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV + MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV + Decorate 13(gl_PerVertex) Block + Decorate 19(gl_InvocationID) BuiltIn InvocationId + MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 27(gl_PerVertex) Block + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypeInt 32 0 + 9: 8(int) Constant 1 + 10: TypeArray 7(fvec4) 9 + 11: TypeInt 32 1 + 12: TypeArray 11(int) 9 +13(gl_PerVertex): TypeStruct 10 12 + 14: 8(int) Constant 4 + 15: TypeArray 13(gl_PerVertex) 14 + 16: TypePointer Output 15 + 17(gl_out): 16(ptr) Variable Output + 18: TypePointer Input 11(int) +19(gl_InvocationID): 18(ptr) Variable Input + 21: 11(int) Constant 1 + 22: 11(int) Constant 0 + 23: TypePointer Output 11(int) + 26: TypeArray 6(float) 9 +27(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 26 26 10 + 28: 8(int) Constant 32 + 29: TypeArray 27(gl_PerVertex) 28 + 30: TypePointer Input 29 + 31(gl_in): 30(ptr) Variable Input + 32: TypePointer Input 7(fvec4) + 35: TypePointer Output 7(fvec4) + 4(main): 2 Function None 3 + 5: Label + 20: 11(int) Load 19(gl_InvocationID) + 24: 23(ptr) AccessChain 17(gl_out) 20 21 22 + Store 24 21 + 25: 11(int) Load 19(gl_InvocationID) + 33: 32(ptr) AccessChain 31(gl_in) 21 22 + 34: 7(fvec4) Load 33 + 36: 35(ptr) AccessChain 17(gl_out) 25 22 22 + Store 36 34 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.vert.out new file mode 100644 index 00000000000..350944a85b2 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.multiviewPerViewAttributes.vert.out @@ -0,0 +1,62 @@ +spv.multiviewPerViewAttributes.vert +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 29 + + Capability Shader + Capability PerViewAttributesNV + Extension "SPV_NVX_multiview_per_view_attributes" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 11 20 24 + Source GLSL 450 + SourceExtension "GL_NVX_multiview_per_view_attributes" + Name 4 "main" + Name 11 "gl_ViewportMaskPerViewNV" + Name 20 "gl_PositionPerViewNV" + Name 22 "gl_PerVertex" + MemberName 22(gl_PerVertex) 0 "gl_Position" + MemberName 22(gl_PerVertex) 1 "gl_PointSize" + MemberName 22(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 22(gl_PerVertex) 3 "gl_CullDistance" + Name 24 "" + Decorate 11(gl_ViewportMaskPerViewNV) BuiltIn ViewportMaskPerViewNV + Decorate 20(gl_PositionPerViewNV) BuiltIn PositionPerViewNV + MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 22(gl_PerVertex) Block + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeInt 32 0 + 8: 7(int) Constant 1 + 9: TypeArray 6(int) 8 + 10: TypePointer Output 9 +11(gl_ViewportMaskPerViewNV): 10(ptr) Variable Output + 12: 6(int) Constant 0 + 13: 6(int) Constant 1 + 14: TypePointer Output 6(int) + 16: TypeFloat 32 + 17: TypeVector 16(float) 4 + 18: TypeArray 17(fvec4) 8 + 19: TypePointer Output 18 +20(gl_PositionPerViewNV): 19(ptr) Variable Output + 21: TypeArray 16(float) 8 +22(gl_PerVertex): TypeStruct 17(fvec4) 16(float) 21 21 + 23: TypePointer Output 22(gl_PerVertex) + 24: 23(ptr) Variable Output + 25: TypePointer Output 17(fvec4) + 4(main): 2 Function None 3 + 5: Label + 15: 14(ptr) AccessChain 11(gl_ViewportMaskPerViewNV) 12 + Store 15 13 + 26: 25(ptr) AccessChain 24 12 + 27: 17(fvec4) Load 26 + 28: 25(ptr) AccessChain 20(gl_PositionPerViewNV) 12 + Store 28 27 + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.pushConstantAnon.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.pushConstantAnon.vert.out new file mode 100644 index 00000000000..9559815b5b3 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.pushConstantAnon.vert.out @@ -0,0 +1,66 @@ +spv.pushConstantAnon.vert +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 38 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 24 + Source GLSL 400 + Name 4 "main" + Name 11 "Material" + MemberName 11(Material) 0 "kind" + MemberName 11(Material) 1 "fa" + Name 13 "" + Name 24 "color" + Decorate 10 ArrayStride 4 + MemberDecorate 11(Material) 0 Offset 0 + MemberDecorate 11(Material) 1 Offset 4 + Decorate 11(Material) Block + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeFloat 32 + 8: TypeInt 32 0 + 9: 8(int) Constant 3 + 10: TypeArray 7(float) 9 + 11(Material): TypeStruct 6(int) 10 + 12: TypePointer PushConstant 11(Material) + 13: 12(ptr) Variable PushConstant + 14: 6(int) Constant 0 + 15: TypePointer PushConstant 6(int) + 22: TypeVector 7(float) 4 + 23: TypePointer Output 22(fvec4) + 24(color): 23(ptr) Variable Output + 25: 7(float) Constant 1045220557 + 26: 22(fvec4) ConstantComposite 25 25 25 25 + 28: 7(float) Constant 1056964608 + 29: 22(fvec4) ConstantComposite 28 28 28 28 + 31: 6(int) Constant 1 + 32: TypePointer PushConstant 7(float) + 4(main): 2 Function None 3 + 5: Label + 16: 15(ptr) AccessChain 13 14 + 17: 6(int) Load 16 + SelectionMerge 21 None + Switch 17 20 + case 1: 18 + case 2: 19 + 20: Label + 33: 32(ptr) AccessChain 13 31 31 + 34: 7(float) Load 33 + 35: 22(fvec4) CompositeConstruct 34 34 34 34 + Store 24(color) 35 + Branch 21 + 18: Label + Store 24(color) 26 + Branch 21 + 19: Label + Store 24(color) 29 + Branch 21 + 21: Label + Return + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out index 6d2ad36e833..c8273dd14fd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign-2.frag.out @@ -1,54 +1,80 @@ spv.register.autoassign-2.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 31 +// Id's are bound by 47 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 9 + EntryPoint Fragment 4 "main" 44 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 9 "Color" - Name 12 "g_tScene[0]" - Name 16 "g_tSamp" - Name 25 "g_tScene[1]" - Decorate 9(Color) Location 0 - Decorate 12(g_tScene[0]) DescriptorSet 0 - Decorate 12(g_tScene[0]) Binding 10 - Decorate 16(g_tSamp) DescriptorSet 0 - Decorate 16(g_tSamp) Binding 5 - Decorate 25(g_tScene[1]) DescriptorSet 0 - Decorate 25(g_tScene[1]) Binding 11 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 12 "@main(struct-PS_OUTPUT-vf41;" + Name 11 "psout" + Name 18 "g_tScene[0]" + Name 22 "g_tSamp" + Name 31 "g_tScene[1]" + Name 39 "psout" + Name 40 "param" + Name 44 "Color" + Decorate 18(g_tScene[0]) DescriptorSet 0 + Decorate 18(g_tScene[0]) Binding 10 + Decorate 22(g_tSamp) DescriptorSet 0 + Decorate 22(g_tSamp) Binding 5 + Decorate 31(g_tScene[1]) DescriptorSet 0 + Decorate 31(g_tScene[1]) Binding 11 + Decorate 44(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 - 8: TypePointer Output 7(fvec4) - 9(Color): 8(ptr) Variable Output - 10: TypeImage 6(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 - 12(g_tScene[0]): 11(ptr) Variable UniformConstant - 14: TypeSampler - 15: TypePointer UniformConstant 14 - 16(g_tSamp): 15(ptr) Variable UniformConstant - 18: TypeSampledImage 10 - 20: TypeVector 6(float) 2 - 21: 6(float) Constant 1050253722 - 22: 6(float) Constant 1053609165 - 23: 20(fvec2) ConstantComposite 21 22 - 25(g_tScene[1]): 11(ptr) Variable UniformConstant + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypePointer Function 8(PS_OUTPUT) + 10: TypeFunction 2 9(ptr) + 14: TypeInt 32 1 + 15: 14(int) Constant 0 + 16: TypeImage 6(float) 2D sampled format:Unknown + 17: TypePointer UniformConstant 16 + 18(g_tScene[0]): 17(ptr) Variable UniformConstant + 20: TypeSampler + 21: TypePointer UniformConstant 20 + 22(g_tSamp): 21(ptr) Variable UniformConstant + 24: TypeSampledImage 16 + 26: TypeVector 6(float) 2 + 27: 6(float) Constant 1050253722 + 28: 6(float) Constant 1053609165 + 29: 26(fvec2) ConstantComposite 27 28 + 31(g_tScene[1]): 17(ptr) Variable UniformConstant + 37: TypePointer Function 7(fvec4) + 43: TypePointer Output 7(fvec4) + 44(Color): 43(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 13: 10 Load 12(g_tScene[0]) - 17: 14 Load 16(g_tSamp) - 19: 18 SampledImage 13 17 - 24: 7(fvec4) ImageSampleImplicitLod 19 23 - 26: 10 Load 25(g_tScene[1]) - 27: 14 Load 16(g_tSamp) - 28: 18 SampledImage 26 27 - 29: 7(fvec4) ImageSampleImplicitLod 28 23 - 30: 7(fvec4) FAdd 24 29 - Store 9(Color) 30 + 39(psout): 9(ptr) Variable Function + 40(param): 9(ptr) Variable Function + 41: 2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 40(param) + 42:8(PS_OUTPUT) Load 40(param) + Store 39(psout) 42 + 45: 37(ptr) AccessChain 39(psout) 15 + 46: 7(fvec4) Load 45 + Store 44(Color) 46 + Return + FunctionEnd +12(@main(struct-PS_OUTPUT-vf41;): 2 Function None 10 + 11(psout): 9(ptr) FunctionParameter + 13: Label + 19: 16 Load 18(g_tScene[0]) + 23: 20 Load 22(g_tSamp) + 25: 24 SampledImage 19 23 + 30: 7(fvec4) ImageSampleImplicitLod 25 29 + 32: 16 Load 31(g_tScene[1]) + 33: 20 Load 22(g_tSamp) + 34: 24 SampledImage 32 33 + 35: 7(fvec4) ImageSampleImplicitLod 34 29 + 36: 7(fvec4) FAdd 30 35 + 38: 37(ptr) AccessChain 11(psout) 15 + Store 38 36 Return FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out index 4b4655e3bb2..ae048ce9878 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.autoassign.frag.out @@ -1,233 +1,240 @@ spv.register.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 155 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_ep" 145 + EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" Name 13 "Func2_unused(" - Name 17 "g_tTex1" - Name 21 "g_sSamp1" - Name 27 "g_tTex2" - Name 29 "g_sSamp2" - Name 39 "g_tTex3" - Name 46 "g_sSamp3" - Name 64 "g_tTex4" - Name 69 "g_sSamp4" - Name 84 "g_tTex5" - Name 86 "g_sSamp5" - Name 93 "MyStruct_t" - MemberName 93(MyStruct_t) 0 "a" - MemberName 93(MyStruct_t) 1 "b" - MemberName 93(MyStruct_t) 2 "c" - Name 95 "$Global" - MemberName 95($Global) 0 "mystruct" - MemberName 95($Global) 1 "myfloat4_a" - MemberName 95($Global) 2 "myfloat4_b" - MemberName 95($Global) 3 "myint4_a" - Name 97 "" - Name 119 "g_tTex_unused1" - Name 121 "g_sSamp_unused1" - Name 126 "g_tTex_unused2" - Name 128 "g_sSamp_unused2" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - Name 138 "psout" - Name 145 "Color" - Name 149 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 - Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 - Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 - Decorate 27(g_tTex2) Binding 14 - Decorate 29(g_sSamp2) DescriptorSet 0 - Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 - Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 - Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 - Decorate 64(g_tTex4) Binding 15 - Decorate 69(g_sSamp4) DescriptorSet 0 - Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 - Decorate 84(g_tTex5) Binding 16 - Decorate 86(g_sSamp5) DescriptorSet 0 - Decorate 86(g_sSamp5) Binding 9 - MemberDecorate 93(MyStruct_t) 0 Offset 0 - MemberDecorate 93(MyStruct_t) 1 Offset 4 - MemberDecorate 93(MyStruct_t) 2 Offset 16 - MemberDecorate 95($Global) 0 Offset 0 - MemberDecorate 95($Global) 1 Offset 32 - MemberDecorate 95($Global) 2 Offset 48 - MemberDecorate 95($Global) 3 Offset 64 - Decorate 95($Global) Block - Decorate 97 DescriptorSet 0 - Decorate 97 Binding 20 - Decorate 119(g_tTex_unused1) DescriptorSet 0 - Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 - Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 - Decorate 145(Color) Location 0 - Decorate 149(g_tTex_unused3) DescriptorSet 0 + Name 15 "PS_OUTPUT" + MemberName 15(PS_OUTPUT) 0 "Color" + Name 17 "@main_ep(" + Name 21 "g_tTex1" + Name 25 "g_sSamp1" + Name 31 "g_tTex2" + Name 33 "g_sSamp2" + Name 43 "g_tTex3" + Name 50 "g_sSamp3" + Name 68 "g_tTex4" + Name 73 "g_sSamp4" + Name 88 "g_tTex5" + Name 90 "g_sSamp5" + Name 97 "MyStruct_t" + MemberName 97(MyStruct_t) 0 "a" + MemberName 97(MyStruct_t) 1 "b" + MemberName 97(MyStruct_t) 2 "c" + Name 99 "$Global" + MemberName 99($Global) 0 "mystruct" + MemberName 99($Global) 1 "myfloat4_a" + MemberName 99($Global) 2 "myfloat4_b" + MemberName 99($Global) 3 "myint4_a" + Name 101 "" + Name 123 "g_tTex_unused1" + Name 125 "g_sSamp_unused1" + Name 130 "g_tTex_unused2" + Name 132 "g_sSamp_unused2" + Name 141 "psout" + Name 151 "Color" + Name 154 "g_tTex_unused3" + Decorate 21(g_tTex1) DescriptorSet 0 + Decorate 21(g_tTex1) Binding 11 + Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 25(g_sSamp1) Binding 5 + Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 31(g_tTex2) Binding 14 + Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 33(g_sSamp2) Binding 6 + Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 43(g_tTex3) Binding 13 + Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 50(g_sSamp3) Binding 7 + Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 68(g_tTex4) Binding 15 + Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 73(g_sSamp4) Binding 8 + Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 88(g_tTex5) Binding 16 + Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 90(g_sSamp5) Binding 9 + MemberDecorate 97(MyStruct_t) 0 Offset 0 + MemberDecorate 97(MyStruct_t) 1 Offset 4 + MemberDecorate 97(MyStruct_t) 2 Offset 16 + MemberDecorate 99($Global) 0 Offset 0 + MemberDecorate 99($Global) 1 Offset 32 + MemberDecorate 99($Global) 2 Offset 48 + MemberDecorate 99($Global) 3 Offset 64 + Decorate 99($Global) Block + Decorate 101 DescriptorSet 0 + Decorate 101 Binding 20 + Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) Binding 10 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) Binding 12 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 151(Color) Location 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) - 15: TypeImage 6(float) 1D sampled format:Unknown - 16: TypePointer UniformConstant 15 - 17(g_tTex1): 16(ptr) Variable UniformConstant - 19: TypeSampler + 15(PS_OUTPUT): TypeStruct 7(fvec4) + 16: TypeFunction 15(PS_OUTPUT) + 19: TypeImage 6(float) 1D sampled format:Unknown 20: TypePointer UniformConstant 19 - 21(g_sSamp1): 20(ptr) Variable UniformConstant - 23: TypeSampledImage 15 - 25: 6(float) Constant 1036831949 - 27(g_tTex2): 16(ptr) Variable UniformConstant - 29(g_sSamp2): 20(ptr) Variable UniformConstant - 32: 6(float) Constant 1045220557 - 35: TypeInt 32 0 - 36: 35(int) Constant 2 - 37: TypeArray 15 36 - 38: TypePointer UniformConstant 37 - 39(g_tTex3): 38(ptr) Variable UniformConstant - 40: TypeInt 32 1 - 41: 40(int) Constant 0 - 44: TypeArray 19 36 - 45: TypePointer UniformConstant 44 - 46(g_sSamp3): 45(ptr) Variable UniformConstant - 50: 6(float) Constant 1050253722 - 53: 40(int) Constant 1 - 61: 35(int) Constant 3 - 62: TypeArray 15 61 - 63: TypePointer UniformConstant 62 - 64(g_tTex4): 63(ptr) Variable UniformConstant - 67: TypeArray 19 61 - 68: TypePointer UniformConstant 67 - 69(g_sSamp4): 68(ptr) Variable UniformConstant - 73: 6(float) Constant 1053609165 - 76: 40(int) Constant 2 - 84(g_tTex5): 16(ptr) Variable UniformConstant - 86(g_sSamp5): 20(ptr) Variable UniformConstant - 89: 6(float) Constant 1056964608 - 92: TypeVector 6(float) 3 - 93(MyStruct_t): TypeStruct 40(int) 6(float) 92(fvec3) - 94: TypeVector 40(int) 4 - 95($Global): TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4) - 96: TypePointer Uniform 95($Global) - 97: 96(ptr) Variable Uniform - 98: 35(int) Constant 1 - 99: TypePointer Uniform 6(float) -119(g_tTex_unused1): 16(ptr) Variable UniformConstant -121(g_sSamp_unused1): 20(ptr) Variable UniformConstant - 124: 6(float) Constant 1066192077 -126(g_tTex_unused2): 16(ptr) Variable UniformConstant -128(g_sSamp_unused2): 20(ptr) Variable UniformConstant - 131: 6(float) Constant 1067030938 - 136(PS_OUTPUT): TypeStruct 7(fvec4) - 137: TypePointer Function 136(PS_OUTPUT) - 142: TypePointer Function 7(fvec4) - 144: TypePointer Output 7(fvec4) - 145(Color): 144(ptr) Variable Output -149(g_tTex_unused3): 16(ptr) Variable UniformConstant + 21(g_tTex1): 20(ptr) Variable UniformConstant + 23: TypeSampler + 24: TypePointer UniformConstant 23 + 25(g_sSamp1): 24(ptr) Variable UniformConstant + 27: TypeSampledImage 19 + 29: 6(float) Constant 1036831949 + 31(g_tTex2): 20(ptr) Variable UniformConstant + 33(g_sSamp2): 24(ptr) Variable UniformConstant + 36: 6(float) Constant 1045220557 + 39: TypeInt 32 0 + 40: 39(int) Constant 2 + 41: TypeArray 19 40 + 42: TypePointer UniformConstant 41 + 43(g_tTex3): 42(ptr) Variable UniformConstant + 44: TypeInt 32 1 + 45: 44(int) Constant 0 + 48: TypeArray 23 40 + 49: TypePointer UniformConstant 48 + 50(g_sSamp3): 49(ptr) Variable UniformConstant + 54: 6(float) Constant 1050253722 + 57: 44(int) Constant 1 + 65: 39(int) Constant 3 + 66: TypeArray 19 65 + 67: TypePointer UniformConstant 66 + 68(g_tTex4): 67(ptr) Variable UniformConstant + 71: TypeArray 23 65 + 72: TypePointer UniformConstant 71 + 73(g_sSamp4): 72(ptr) Variable UniformConstant + 77: 6(float) Constant 1053609165 + 80: 44(int) Constant 2 + 88(g_tTex5): 20(ptr) Variable UniformConstant + 90(g_sSamp5): 24(ptr) Variable UniformConstant + 93: 6(float) Constant 1056964608 + 96: TypeVector 6(float) 3 + 97(MyStruct_t): TypeStruct 44(int) 6(float) 96(fvec3) + 98: TypeVector 44(int) 4 + 99($Global): TypeStruct 97(MyStruct_t) 7(fvec4) 7(fvec4) 98(ivec4) + 100: TypePointer Uniform 99($Global) + 101: 100(ptr) Variable Uniform + 102: 39(int) Constant 1 + 103: TypePointer Uniform 6(float) +123(g_tTex_unused1): 20(ptr) Variable UniformConstant +125(g_sSamp_unused1): 24(ptr) Variable UniformConstant + 128: 6(float) Constant 1066192077 +130(g_tTex_unused2): 20(ptr) Variable UniformConstant +132(g_sSamp_unused2): 24(ptr) Variable UniformConstant + 135: 6(float) Constant 1067030938 + 140: TypePointer Function 15(PS_OUTPUT) + 145: TypePointer Function 7(fvec4) + 150: TypePointer Output 7(fvec4) + 151(Color): 150(ptr) Variable Output +154(g_tTex_unused3): 20(ptr) Variable UniformConstant 4(main_ep): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 139: 7(fvec4) FunctionCall 9(Func1() - 140: 7(fvec4) FunctionCall 11(Func2() - 141: 7(fvec4) FAdd 139 140 - 143: 142(ptr) AccessChain 138(psout) 41 - Store 143 141 - 146: 142(ptr) AccessChain 138(psout) 41 - 147: 7(fvec4) Load 146 - Store 145(Color) 147 + 152:15(PS_OUTPUT) FunctionCall 17(@main_ep() + 153: 7(fvec4) CompositeExtract 152 0 + Store 151(Color) 153 Return FunctionEnd 9(Func1(): 7(fvec4) Function None 8 10: Label - 18: 15 Load 17(g_tTex1) - 22: 19 Load 21(g_sSamp1) - 24: 23 SampledImage 18 22 - 26: 7(fvec4) ImageSampleImplicitLod 24 25 - 28: 15 Load 27(g_tTex2) - 30: 19 Load 29(g_sSamp2) - 31: 23 SampledImage 28 30 - 33: 7(fvec4) ImageSampleImplicitLod 31 32 - 34: 7(fvec4) FAdd 26 33 - 42: 16(ptr) AccessChain 39(g_tTex3) 41 - 43: 15 Load 42 - 47: 20(ptr) AccessChain 46(g_sSamp3) 41 - 48: 19 Load 47 - 49: 23 SampledImage 43 48 - 51: 7(fvec4) ImageSampleImplicitLod 49 50 - 52: 7(fvec4) FAdd 34 51 - 54: 16(ptr) AccessChain 39(g_tTex3) 53 - 55: 15 Load 54 - 56: 20(ptr) AccessChain 46(g_sSamp3) 53 - 57: 19 Load 56 - 58: 23 SampledImage 55 57 - 59: 7(fvec4) ImageSampleImplicitLod 58 50 - 60: 7(fvec4) FAdd 52 59 - 65: 16(ptr) AccessChain 64(g_tTex4) 53 - 66: 15 Load 65 - 70: 20(ptr) AccessChain 69(g_sSamp4) 53 - 71: 19 Load 70 - 72: 23 SampledImage 66 71 - 74: 7(fvec4) ImageSampleImplicitLod 72 73 - 75: 7(fvec4) FAdd 60 74 - 77: 16(ptr) AccessChain 64(g_tTex4) 76 - 78: 15 Load 77 - 79: 20(ptr) AccessChain 69(g_sSamp4) 76 - 80: 19 Load 79 - 81: 23 SampledImage 78 80 - 82: 7(fvec4) ImageSampleImplicitLod 81 73 - 83: 7(fvec4) FAdd 75 82 - 85: 15 Load 84(g_tTex5) - 87: 19 Load 86(g_sSamp5) - 88: 23 SampledImage 85 87 - 90: 7(fvec4) ImageSampleImplicitLod 88 89 - 91: 7(fvec4) FAdd 83 90 - 100: 99(ptr) AccessChain 97 41 76 98 - 101: 6(float) Load 100 - 102: 7(fvec4) CompositeConstruct 101 101 101 101 - 103: 7(fvec4) FAdd 91 102 - ReturnValue 103 + 22: 19 Load 21(g_tTex1) + 26: 23 Load 25(g_sSamp1) + 28: 27 SampledImage 22 26 + 30: 7(fvec4) ImageSampleImplicitLod 28 29 + 32: 19 Load 31(g_tTex2) + 34: 23 Load 33(g_sSamp2) + 35: 27 SampledImage 32 34 + 37: 7(fvec4) ImageSampleImplicitLod 35 36 + 38: 7(fvec4) FAdd 30 37 + 46: 20(ptr) AccessChain 43(g_tTex3) 45 + 47: 19 Load 46 + 51: 24(ptr) AccessChain 50(g_sSamp3) 45 + 52: 23 Load 51 + 53: 27 SampledImage 47 52 + 55: 7(fvec4) ImageSampleImplicitLod 53 54 + 56: 7(fvec4) FAdd 38 55 + 58: 20(ptr) AccessChain 43(g_tTex3) 57 + 59: 19 Load 58 + 60: 24(ptr) AccessChain 50(g_sSamp3) 57 + 61: 23 Load 60 + 62: 27 SampledImage 59 61 + 63: 7(fvec4) ImageSampleImplicitLod 62 54 + 64: 7(fvec4) FAdd 56 63 + 69: 20(ptr) AccessChain 68(g_tTex4) 57 + 70: 19 Load 69 + 74: 24(ptr) AccessChain 73(g_sSamp4) 57 + 75: 23 Load 74 + 76: 27 SampledImage 70 75 + 78: 7(fvec4) ImageSampleImplicitLod 76 77 + 79: 7(fvec4) FAdd 64 78 + 81: 20(ptr) AccessChain 68(g_tTex4) 80 + 82: 19 Load 81 + 83: 24(ptr) AccessChain 73(g_sSamp4) 80 + 84: 23 Load 83 + 85: 27 SampledImage 82 84 + 86: 7(fvec4) ImageSampleImplicitLod 85 77 + 87: 7(fvec4) FAdd 79 86 + 89: 19 Load 88(g_tTex5) + 91: 23 Load 90(g_sSamp5) + 92: 27 SampledImage 89 91 + 94: 7(fvec4) ImageSampleImplicitLod 92 93 + 95: 7(fvec4) FAdd 87 94 + 104: 103(ptr) AccessChain 101 45 80 102 + 105: 6(float) Load 104 + 106: 7(fvec4) CompositeConstruct 105 105 105 105 + 107: 7(fvec4) FAdd 95 106 + ReturnValue 107 FunctionEnd 11(Func2(): 7(fvec4) Function None 8 12: Label - 106: 15 Load 17(g_tTex1) - 107: 19 Load 21(g_sSamp1) - 108: 23 SampledImage 106 107 - 109: 7(fvec4) ImageSampleImplicitLod 108 25 - 110: 16(ptr) AccessChain 39(g_tTex3) 53 - 111: 15 Load 110 - 112: 20(ptr) AccessChain 46(g_sSamp3) 53 - 113: 19 Load 112 - 114: 23 SampledImage 111 113 - 115: 7(fvec4) ImageSampleImplicitLod 114 50 - 116: 7(fvec4) FAdd 109 115 - ReturnValue 116 + 110: 19 Load 21(g_tTex1) + 111: 23 Load 25(g_sSamp1) + 112: 27 SampledImage 110 111 + 113: 7(fvec4) ImageSampleImplicitLod 112 29 + 114: 20(ptr) AccessChain 43(g_tTex3) 57 + 115: 19 Load 114 + 116: 24(ptr) AccessChain 50(g_sSamp3) 57 + 117: 23 Load 116 + 118: 27 SampledImage 115 117 + 119: 7(fvec4) ImageSampleImplicitLod 118 54 + 120: 7(fvec4) FAdd 113 119 + ReturnValue 120 FunctionEnd 13(Func2_unused(): 7(fvec4) Function None 8 14: Label - 120: 15 Load 119(g_tTex_unused1) - 122: 19 Load 121(g_sSamp_unused1) - 123: 23 SampledImage 120 122 - 125: 7(fvec4) ImageSampleImplicitLod 123 124 - 127: 15 Load 126(g_tTex_unused2) - 129: 19 Load 128(g_sSamp_unused2) - 130: 23 SampledImage 127 129 - 132: 7(fvec4) ImageSampleImplicitLod 130 131 - 133: 7(fvec4) FAdd 125 132 - ReturnValue 133 + 124: 19 Load 123(g_tTex_unused1) + 126: 23 Load 125(g_sSamp_unused1) + 127: 27 SampledImage 124 126 + 129: 7(fvec4) ImageSampleImplicitLod 127 128 + 131: 19 Load 130(g_tTex_unused2) + 133: 23 Load 132(g_sSamp_unused2) + 134: 27 SampledImage 131 133 + 136: 7(fvec4) ImageSampleImplicitLod 134 135 + 137: 7(fvec4) FAdd 129 136 + ReturnValue 137 + FunctionEnd + 17(@main_ep():15(PS_OUTPUT) Function None 16 + 18: Label + 141(psout): 140(ptr) Variable Function + 142: 7(fvec4) FunctionCall 9(Func1() + 143: 7(fvec4) FunctionCall 11(Func2() + 144: 7(fvec4) FAdd 142 143 + 146: 145(ptr) AccessChain 141(psout) 45 + Store 146 144 + 147:15(PS_OUTPUT) Load 141(psout) + ReturnValue 147 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out index 71140dcd968..afadc48f907 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.register.noautoassign.frag.out @@ -1,226 +1,233 @@ spv.register.noautoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 150 +// Id's are bound by 155 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main_ep" 145 + EntryPoint Fragment 4 "main_ep" 151 ExecutionMode 4 OriginUpperLeft Name 4 "main_ep" Name 9 "Func1(" Name 11 "Func2(" Name 13 "Func2_unused(" - Name 17 "g_tTex1" - Name 21 "g_sSamp1" - Name 27 "g_tTex2" - Name 29 "g_sSamp2" - Name 39 "g_tTex3" - Name 46 "g_sSamp3" - Name 64 "g_tTex4" - Name 69 "g_sSamp4" - Name 84 "g_tTex5" - Name 86 "g_sSamp5" - Name 93 "MyStruct_t" - MemberName 93(MyStruct_t) 0 "a" - MemberName 93(MyStruct_t) 1 "b" - MemberName 93(MyStruct_t) 2 "c" - Name 95 "$Global" - MemberName 95($Global) 0 "mystruct" - MemberName 95($Global) 1 "myfloat4_a" - MemberName 95($Global) 2 "myfloat4_b" - MemberName 95($Global) 3 "myint4_a" - Name 97 "" - Name 119 "g_tTex_unused1" - Name 121 "g_sSamp_unused1" - Name 126 "g_tTex_unused2" - Name 128 "g_sSamp_unused2" - Name 136 "PS_OUTPUT" - MemberName 136(PS_OUTPUT) 0 "Color" - Name 138 "psout" - Name 145 "Color" - Name 149 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 - Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 - Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 - Decorate 29(g_sSamp2) DescriptorSet 0 - Decorate 39(g_tTex3) DescriptorSet 0 - Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 - Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 - Decorate 69(g_sSamp4) DescriptorSet 0 - Decorate 84(g_tTex5) DescriptorSet 0 - Decorate 86(g_sSamp5) DescriptorSet 0 - MemberDecorate 93(MyStruct_t) 0 Offset 0 - MemberDecorate 93(MyStruct_t) 1 Offset 4 - MemberDecorate 93(MyStruct_t) 2 Offset 16 - MemberDecorate 95($Global) 0 Offset 0 - MemberDecorate 95($Global) 1 Offset 32 - MemberDecorate 95($Global) 2 Offset 48 - MemberDecorate 95($Global) 3 Offset 64 - Decorate 95($Global) Block - Decorate 97 DescriptorSet 0 - Decorate 119(g_tTex_unused1) DescriptorSet 0 - Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 - Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 - Decorate 145(Color) Location 0 - Decorate 149(g_tTex_unused3) DescriptorSet 0 + Name 15 "PS_OUTPUT" + MemberName 15(PS_OUTPUT) 0 "Color" + Name 17 "@main_ep(" + Name 21 "g_tTex1" + Name 25 "g_sSamp1" + Name 31 "g_tTex2" + Name 33 "g_sSamp2" + Name 43 "g_tTex3" + Name 50 "g_sSamp3" + Name 68 "g_tTex4" + Name 73 "g_sSamp4" + Name 88 "g_tTex5" + Name 90 "g_sSamp5" + Name 97 "MyStruct_t" + MemberName 97(MyStruct_t) 0 "a" + MemberName 97(MyStruct_t) 1 "b" + MemberName 97(MyStruct_t) 2 "c" + Name 99 "$Global" + MemberName 99($Global) 0 "mystruct" + MemberName 99($Global) 1 "myfloat4_a" + MemberName 99($Global) 2 "myfloat4_b" + MemberName 99($Global) 3 "myint4_a" + Name 101 "" + Name 123 "g_tTex_unused1" + Name 125 "g_sSamp_unused1" + Name 130 "g_tTex_unused2" + Name 132 "g_sSamp_unused2" + Name 141 "psout" + Name 151 "Color" + Name 154 "g_tTex_unused3" + Decorate 21(g_tTex1) DescriptorSet 0 + Decorate 21(g_tTex1) Binding 11 + Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 25(g_sSamp1) Binding 5 + Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 43(g_tTex3) Binding 13 + Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 50(g_sSamp3) Binding 7 + Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 90(g_sSamp5) DescriptorSet 0 + MemberDecorate 97(MyStruct_t) 0 Offset 0 + MemberDecorate 97(MyStruct_t) 1 Offset 4 + MemberDecorate 97(MyStruct_t) 2 Offset 16 + MemberDecorate 99($Global) 0 Offset 0 + MemberDecorate 99($Global) 1 Offset 32 + MemberDecorate 99($Global) 2 Offset 48 + MemberDecorate 99($Global) 3 Offset 64 + Decorate 99($Global) Block + Decorate 101 DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) Binding 10 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) Binding 12 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 151(Color) Location 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) - 15: TypeImage 6(float) 1D sampled format:Unknown - 16: TypePointer UniformConstant 15 - 17(g_tTex1): 16(ptr) Variable UniformConstant - 19: TypeSampler + 15(PS_OUTPUT): TypeStruct 7(fvec4) + 16: TypeFunction 15(PS_OUTPUT) + 19: TypeImage 6(float) 1D sampled format:Unknown 20: TypePointer UniformConstant 19 - 21(g_sSamp1): 20(ptr) Variable UniformConstant - 23: TypeSampledImage 15 - 25: 6(float) Constant 1036831949 - 27(g_tTex2): 16(ptr) Variable UniformConstant - 29(g_sSamp2): 20(ptr) Variable UniformConstant - 32: 6(float) Constant 1045220557 - 35: TypeInt 32 0 - 36: 35(int) Constant 2 - 37: TypeArray 15 36 - 38: TypePointer UniformConstant 37 - 39(g_tTex3): 38(ptr) Variable UniformConstant - 40: TypeInt 32 1 - 41: 40(int) Constant 0 - 44: TypeArray 19 36 - 45: TypePointer UniformConstant 44 - 46(g_sSamp3): 45(ptr) Variable UniformConstant - 50: 6(float) Constant 1050253722 - 53: 40(int) Constant 1 - 61: 35(int) Constant 3 - 62: TypeArray 15 61 - 63: TypePointer UniformConstant 62 - 64(g_tTex4): 63(ptr) Variable UniformConstant - 67: TypeArray 19 61 - 68: TypePointer UniformConstant 67 - 69(g_sSamp4): 68(ptr) Variable UniformConstant - 73: 6(float) Constant 1053609165 - 76: 40(int) Constant 2 - 84(g_tTex5): 16(ptr) Variable UniformConstant - 86(g_sSamp5): 20(ptr) Variable UniformConstant - 89: 6(float) Constant 1056964608 - 92: TypeVector 6(float) 3 - 93(MyStruct_t): TypeStruct 40(int) 6(float) 92(fvec3) - 94: TypeVector 40(int) 4 - 95($Global): TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4) - 96: TypePointer Uniform 95($Global) - 97: 96(ptr) Variable Uniform - 98: 35(int) Constant 1 - 99: TypePointer Uniform 6(float) -119(g_tTex_unused1): 16(ptr) Variable UniformConstant -121(g_sSamp_unused1): 20(ptr) Variable UniformConstant - 124: 6(float) Constant 1066192077 -126(g_tTex_unused2): 16(ptr) Variable UniformConstant -128(g_sSamp_unused2): 20(ptr) Variable UniformConstant - 131: 6(float) Constant 1067030938 - 136(PS_OUTPUT): TypeStruct 7(fvec4) - 137: TypePointer Function 136(PS_OUTPUT) - 142: TypePointer Function 7(fvec4) - 144: TypePointer Output 7(fvec4) - 145(Color): 144(ptr) Variable Output -149(g_tTex_unused3): 16(ptr) Variable UniformConstant + 21(g_tTex1): 20(ptr) Variable UniformConstant + 23: TypeSampler + 24: TypePointer UniformConstant 23 + 25(g_sSamp1): 24(ptr) Variable UniformConstant + 27: TypeSampledImage 19 + 29: 6(float) Constant 1036831949 + 31(g_tTex2): 20(ptr) Variable UniformConstant + 33(g_sSamp2): 24(ptr) Variable UniformConstant + 36: 6(float) Constant 1045220557 + 39: TypeInt 32 0 + 40: 39(int) Constant 2 + 41: TypeArray 19 40 + 42: TypePointer UniformConstant 41 + 43(g_tTex3): 42(ptr) Variable UniformConstant + 44: TypeInt 32 1 + 45: 44(int) Constant 0 + 48: TypeArray 23 40 + 49: TypePointer UniformConstant 48 + 50(g_sSamp3): 49(ptr) Variable UniformConstant + 54: 6(float) Constant 1050253722 + 57: 44(int) Constant 1 + 65: 39(int) Constant 3 + 66: TypeArray 19 65 + 67: TypePointer UniformConstant 66 + 68(g_tTex4): 67(ptr) Variable UniformConstant + 71: TypeArray 23 65 + 72: TypePointer UniformConstant 71 + 73(g_sSamp4): 72(ptr) Variable UniformConstant + 77: 6(float) Constant 1053609165 + 80: 44(int) Constant 2 + 88(g_tTex5): 20(ptr) Variable UniformConstant + 90(g_sSamp5): 24(ptr) Variable UniformConstant + 93: 6(float) Constant 1056964608 + 96: TypeVector 6(float) 3 + 97(MyStruct_t): TypeStruct 44(int) 6(float) 96(fvec3) + 98: TypeVector 44(int) 4 + 99($Global): TypeStruct 97(MyStruct_t) 7(fvec4) 7(fvec4) 98(ivec4) + 100: TypePointer Uniform 99($Global) + 101: 100(ptr) Variable Uniform + 102: 39(int) Constant 1 + 103: TypePointer Uniform 6(float) +123(g_tTex_unused1): 20(ptr) Variable UniformConstant +125(g_sSamp_unused1): 24(ptr) Variable UniformConstant + 128: 6(float) Constant 1066192077 +130(g_tTex_unused2): 20(ptr) Variable UniformConstant +132(g_sSamp_unused2): 24(ptr) Variable UniformConstant + 135: 6(float) Constant 1067030938 + 140: TypePointer Function 15(PS_OUTPUT) + 145: TypePointer Function 7(fvec4) + 150: TypePointer Output 7(fvec4) + 151(Color): 150(ptr) Variable Output +154(g_tTex_unused3): 20(ptr) Variable UniformConstant 4(main_ep): 2 Function None 3 5: Label - 138(psout): 137(ptr) Variable Function - 139: 7(fvec4) FunctionCall 9(Func1() - 140: 7(fvec4) FunctionCall 11(Func2() - 141: 7(fvec4) FAdd 139 140 - 143: 142(ptr) AccessChain 138(psout) 41 - Store 143 141 - 146: 142(ptr) AccessChain 138(psout) 41 - 147: 7(fvec4) Load 146 - Store 145(Color) 147 + 152:15(PS_OUTPUT) FunctionCall 17(@main_ep() + 153: 7(fvec4) CompositeExtract 152 0 + Store 151(Color) 153 Return FunctionEnd 9(Func1(): 7(fvec4) Function None 8 10: Label - 18: 15 Load 17(g_tTex1) - 22: 19 Load 21(g_sSamp1) - 24: 23 SampledImage 18 22 - 26: 7(fvec4) ImageSampleImplicitLod 24 25 - 28: 15 Load 27(g_tTex2) - 30: 19 Load 29(g_sSamp2) - 31: 23 SampledImage 28 30 - 33: 7(fvec4) ImageSampleImplicitLod 31 32 - 34: 7(fvec4) FAdd 26 33 - 42: 16(ptr) AccessChain 39(g_tTex3) 41 - 43: 15 Load 42 - 47: 20(ptr) AccessChain 46(g_sSamp3) 41 - 48: 19 Load 47 - 49: 23 SampledImage 43 48 - 51: 7(fvec4) ImageSampleImplicitLod 49 50 - 52: 7(fvec4) FAdd 34 51 - 54: 16(ptr) AccessChain 39(g_tTex3) 53 - 55: 15 Load 54 - 56: 20(ptr) AccessChain 46(g_sSamp3) 53 - 57: 19 Load 56 - 58: 23 SampledImage 55 57 - 59: 7(fvec4) ImageSampleImplicitLod 58 50 - 60: 7(fvec4) FAdd 52 59 - 65: 16(ptr) AccessChain 64(g_tTex4) 53 - 66: 15 Load 65 - 70: 20(ptr) AccessChain 69(g_sSamp4) 53 - 71: 19 Load 70 - 72: 23 SampledImage 66 71 - 74: 7(fvec4) ImageSampleImplicitLod 72 73 - 75: 7(fvec4) FAdd 60 74 - 77: 16(ptr) AccessChain 64(g_tTex4) 76 - 78: 15 Load 77 - 79: 20(ptr) AccessChain 69(g_sSamp4) 76 - 80: 19 Load 79 - 81: 23 SampledImage 78 80 - 82: 7(fvec4) ImageSampleImplicitLod 81 73 - 83: 7(fvec4) FAdd 75 82 - 85: 15 Load 84(g_tTex5) - 87: 19 Load 86(g_sSamp5) - 88: 23 SampledImage 85 87 - 90: 7(fvec4) ImageSampleImplicitLod 88 89 - 91: 7(fvec4) FAdd 83 90 - 100: 99(ptr) AccessChain 97 41 76 98 - 101: 6(float) Load 100 - 102: 7(fvec4) CompositeConstruct 101 101 101 101 - 103: 7(fvec4) FAdd 91 102 - ReturnValue 103 + 22: 19 Load 21(g_tTex1) + 26: 23 Load 25(g_sSamp1) + 28: 27 SampledImage 22 26 + 30: 7(fvec4) ImageSampleImplicitLod 28 29 + 32: 19 Load 31(g_tTex2) + 34: 23 Load 33(g_sSamp2) + 35: 27 SampledImage 32 34 + 37: 7(fvec4) ImageSampleImplicitLod 35 36 + 38: 7(fvec4) FAdd 30 37 + 46: 20(ptr) AccessChain 43(g_tTex3) 45 + 47: 19 Load 46 + 51: 24(ptr) AccessChain 50(g_sSamp3) 45 + 52: 23 Load 51 + 53: 27 SampledImage 47 52 + 55: 7(fvec4) ImageSampleImplicitLod 53 54 + 56: 7(fvec4) FAdd 38 55 + 58: 20(ptr) AccessChain 43(g_tTex3) 57 + 59: 19 Load 58 + 60: 24(ptr) AccessChain 50(g_sSamp3) 57 + 61: 23 Load 60 + 62: 27 SampledImage 59 61 + 63: 7(fvec4) ImageSampleImplicitLod 62 54 + 64: 7(fvec4) FAdd 56 63 + 69: 20(ptr) AccessChain 68(g_tTex4) 57 + 70: 19 Load 69 + 74: 24(ptr) AccessChain 73(g_sSamp4) 57 + 75: 23 Load 74 + 76: 27 SampledImage 70 75 + 78: 7(fvec4) ImageSampleImplicitLod 76 77 + 79: 7(fvec4) FAdd 64 78 + 81: 20(ptr) AccessChain 68(g_tTex4) 80 + 82: 19 Load 81 + 83: 24(ptr) AccessChain 73(g_sSamp4) 80 + 84: 23 Load 83 + 85: 27 SampledImage 82 84 + 86: 7(fvec4) ImageSampleImplicitLod 85 77 + 87: 7(fvec4) FAdd 79 86 + 89: 19 Load 88(g_tTex5) + 91: 23 Load 90(g_sSamp5) + 92: 27 SampledImage 89 91 + 94: 7(fvec4) ImageSampleImplicitLod 92 93 + 95: 7(fvec4) FAdd 87 94 + 104: 103(ptr) AccessChain 101 45 80 102 + 105: 6(float) Load 104 + 106: 7(fvec4) CompositeConstruct 105 105 105 105 + 107: 7(fvec4) FAdd 95 106 + ReturnValue 107 FunctionEnd 11(Func2(): 7(fvec4) Function None 8 12: Label - 106: 15 Load 17(g_tTex1) - 107: 19 Load 21(g_sSamp1) - 108: 23 SampledImage 106 107 - 109: 7(fvec4) ImageSampleImplicitLod 108 25 - 110: 16(ptr) AccessChain 39(g_tTex3) 53 - 111: 15 Load 110 - 112: 20(ptr) AccessChain 46(g_sSamp3) 53 - 113: 19 Load 112 - 114: 23 SampledImage 111 113 - 115: 7(fvec4) ImageSampleImplicitLod 114 50 - 116: 7(fvec4) FAdd 109 115 - ReturnValue 116 + 110: 19 Load 21(g_tTex1) + 111: 23 Load 25(g_sSamp1) + 112: 27 SampledImage 110 111 + 113: 7(fvec4) ImageSampleImplicitLod 112 29 + 114: 20(ptr) AccessChain 43(g_tTex3) 57 + 115: 19 Load 114 + 116: 24(ptr) AccessChain 50(g_sSamp3) 57 + 117: 23 Load 116 + 118: 27 SampledImage 115 117 + 119: 7(fvec4) ImageSampleImplicitLod 118 54 + 120: 7(fvec4) FAdd 113 119 + ReturnValue 120 FunctionEnd 13(Func2_unused(): 7(fvec4) Function None 8 14: Label - 120: 15 Load 119(g_tTex_unused1) - 122: 19 Load 121(g_sSamp_unused1) - 123: 23 SampledImage 120 122 - 125: 7(fvec4) ImageSampleImplicitLod 123 124 - 127: 15 Load 126(g_tTex_unused2) - 129: 19 Load 128(g_sSamp_unused2) - 130: 23 SampledImage 127 129 - 132: 7(fvec4) ImageSampleImplicitLod 130 131 - 133: 7(fvec4) FAdd 125 132 - ReturnValue 133 + 124: 19 Load 123(g_tTex_unused1) + 126: 23 Load 125(g_sSamp_unused1) + 127: 27 SampledImage 124 126 + 129: 7(fvec4) ImageSampleImplicitLod 127 128 + 131: 19 Load 130(g_tTex_unused2) + 133: 23 Load 132(g_sSamp_unused2) + 134: 27 SampledImage 131 133 + 136: 7(fvec4) ImageSampleImplicitLod 134 135 + 137: 7(fvec4) FAdd 129 136 + ReturnValue 137 + FunctionEnd + 17(@main_ep():15(PS_OUTPUT) Function None 16 + 18: Label + 141(psout): 140(ptr) Variable Function + 142: 7(fvec4) FunctionCall 9(Func1() + 143: 7(fvec4) FunctionCall 11(Func2() + 144: 7(fvec4) FAdd 142 143 + 146: 145(ptr) AccessChain 141(psout) 45 + Store 146 144 + 147:15(PS_OUTPUT) Load 141(psout) + ReturnValue 147 FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out index d6b75ba3c7a..e2b544abebb 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.rw.autoassign.frag.out @@ -1,66 +1,73 @@ spv.rw.autoassign.frag // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 37 +// Id's are bound by 42 Capability Shader Capability Sampled1D Capability SampledBuffer 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 33 + EntryPoint Fragment 4 "main" 39 ExecutionMode 4 OriginUpperLeft Name 4 "main" - Name 8 "r00" - Name 11 "g_tTex1df1" - Name 18 "r01" - Name 21 "g_tBuf1du1" - Name 25 "PS_OUTPUT" - MemberName 25(PS_OUTPUT) 0 "Color" - Name 27 "psout" - Name 33 "Color" - Decorate 11(g_tTex1df1) DescriptorSet 0 - Decorate 11(g_tTex1df1) Binding 20 - Decorate 21(g_tBuf1du1) DescriptorSet 0 - Decorate 21(g_tBuf1du1) Binding 21 - Decorate 33(Color) Location 0 + Name 8 "PS_OUTPUT" + MemberName 8(PS_OUTPUT) 0 "Color" + Name 10 "@main(" + Name 13 "r00" + Name 16 "g_tTex1df1" + Name 23 "r01" + Name 26 "g_tBuf1du1" + Name 30 "psout" + Name 39 "Color" + Decorate 16(g_tTex1df1) DescriptorSet 0 + Decorate 16(g_tTex1df1) Binding 20 + Decorate 26(g_tBuf1du1) DescriptorSet 0 + Decorate 26(g_tBuf1du1) Binding 21 + Decorate 39(Color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 - 7: TypePointer Function 6(float) - 9: TypeImage 6(float) 1D nonsampled format:R32f - 10: TypePointer UniformConstant 9 - 11(g_tTex1df1): 10(ptr) Variable UniformConstant - 13: TypeInt 32 1 - 14: 13(int) Constant 0 - 16: TypeInt 32 0 - 17: TypePointer Function 16(int) - 19: TypeImage 16(int) Buffer nonsampled format:R32ui - 20: TypePointer UniformConstant 19 - 21(g_tBuf1du1): 20(ptr) Variable UniformConstant - 24: TypeVector 6(float) 4 - 25(PS_OUTPUT): TypeStruct 24(fvec4) - 26: TypePointer Function 25(PS_OUTPUT) - 28: 6(float) Constant 0 - 29: 24(fvec4) ConstantComposite 28 28 28 28 - 30: TypePointer Function 24(fvec4) - 32: TypePointer Output 24(fvec4) - 33(Color): 32(ptr) Variable Output + 7: TypeVector 6(float) 4 + 8(PS_OUTPUT): TypeStruct 7(fvec4) + 9: TypeFunction 8(PS_OUTPUT) + 12: TypePointer Function 6(float) + 14: TypeImage 6(float) 1D nonsampled format:R32f + 15: TypePointer UniformConstant 14 + 16(g_tTex1df1): 15(ptr) Variable UniformConstant + 18: TypeInt 32 1 + 19: 18(int) Constant 0 + 21: TypeInt 32 0 + 22: TypePointer Function 21(int) + 24: TypeImage 21(int) Buffer nonsampled format:R32ui + 25: TypePointer UniformConstant 24 + 26(g_tBuf1du1): 25(ptr) Variable UniformConstant + 29: TypePointer Function 8(PS_OUTPUT) + 31: 6(float) Constant 0 + 32: 7(fvec4) ConstantComposite 31 31 31 31 + 33: TypePointer Function 7(fvec4) + 38: TypePointer Output 7(fvec4) + 39(Color): 38(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 8(r00): 7(ptr) Variable Function - 18(r01): 17(ptr) Variable Function - 27(psout): 26(ptr) Variable Function - 12: 9 Load 11(g_tTex1df1) - 15: 6(float) ImageRead 12 14 - Store 8(r00) 15 - 22: 19 Load 21(g_tBuf1du1) - 23: 16(int) ImageRead 22 14 - Store 18(r01) 23 - 31: 30(ptr) AccessChain 27(psout) 14 - Store 31 29 - 34: 30(ptr) AccessChain 27(psout) 14 - 35: 24(fvec4) Load 34 - Store 33(Color) 35 + 40:8(PS_OUTPUT) FunctionCall 10(@main() + 41: 7(fvec4) CompositeExtract 40 0 + Store 39(Color) 41 Return FunctionEnd + 10(@main():8(PS_OUTPUT) Function None 9 + 11: Label + 13(r00): 12(ptr) Variable Function + 23(r01): 22(ptr) Variable Function + 30(psout): 29(ptr) Variable Function + 17: 14 Load 16(g_tTex1df1) + 20: 6(float) ImageRead 17 19 + Store 13(r00) 20 + 27: 24 Load 26(g_tBuf1du1) + 28: 21(int) ImageRead 27 19 + Store 23(r01) 28 + 34: 33(ptr) AccessChain 30(psout) 19 + Store 34 32 + 35:8(PS_OUTPUT) Load 30(psout) + ReturnValue 35 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.shaderGroupVote.comp.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.shaderGroupVote.comp.out index 464787f6dd4..027714941d1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.shaderGroupVote.comp.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.shaderGroupVote.comp.out @@ -48,10 +48,10 @@ Warning, version 450 is not yet complete; most version-specific features are pre 19: 6(bool) INotEqual 17 18 Store 8(b1) 19 20: 6(bool) Load 8(b1) - 21: 6(bool) SubgroupAllKHR 20 + 21: 6(bool) SubgroupAnyKHR 20 Store 8(b1) 21 22: 6(bool) Load 8(b1) - 23: 6(bool) SubgroupAnyKHR 22 + 23: 6(bool) SubgroupAllKHR 22 Store 8(b1) 23 24: 6(bool) Load 8(b1) 25: 6(bool) SubgroupAllEqualKHR 24 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstant.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstant.vert.out index a6750e57935..ea4e542a350 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstant.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstant.vert.out @@ -13,7 +13,7 @@ Warning, version 400 is not yet complete; most version-specific features are pre Source GLSL 400 Name 4 "main" Name 9 "arraySize" - Name 14 "foo(vf4[s1516];" + Name 14 "foo(vf4[s1518];" Name 13 "p" Name 17 "builtin_spec_constant(" Name 20 "color" @@ -104,10 +104,10 @@ Warning, version 400 is not yet complete; most version-specific features are pre Store 20(color) 46 48: 10 Load 22(ucol) Store 47(param) 48 - 49: 2 FunctionCall 14(foo(vf4[s1516];) 47(param) + 49: 2 FunctionCall 14(foo(vf4[s1518];) 47(param) Return FunctionEnd -14(foo(vf4[s1516];): 2 Function None 12 +14(foo(vf4[s1518];): 2 Function None 12 13(p): 11(ptr) FunctionParameter 15: Label 54: 24(ptr) AccessChain 53(dupUcol) 23 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstantOperations.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstantOperations.vert.out index d6da726e602..597820b940c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstantOperations.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.specConstantOperations.vert.out @@ -3,7 +3,7 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 135 +// Id's are bound by 160 Capability Shader Capability Float64 @@ -20,11 +20,18 @@ Warning, version 450 is not yet complete; most version-specific features are pre Name 42 "sp_uint" Name 43 "sp_sint" Name 45 "sp_double" + Name 135 "a" + Name 136 "b" + Name 137 "c" + Name 142 "ternayArray1" Decorate 19(sp_int) SpecId 201 Decorate 40(sp_float) SpecId 200 Decorate 42(sp_uint) SpecId 202 Decorate 43(sp_sint) SpecId 203 Decorate 45(sp_double) SpecId 204 + Decorate 135(a) SpecId 210 + Decorate 136(b) SpecId 211 + Decorate 137(c) SpecId 212 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -137,6 +144,31 @@ Warning, version 450 is not yet complete; most version-specific features are pre 132: TypeVector 6(int) 3 133: 132(ivec3) SpecConstantOp 79 91 91 2 1(GLSL.std.450) 0 134: 90(ivec4) SpecConstantOp 79 91 91 1(GLSL.std.450) 2 0 3 + 135(a): 6(int) SpecConstant 4 + 136(b): 6(int) SpecConstant 6 + 137(c): 22(bool) SpecConstantTrue + 138: 22(bool) SpecConstantOp 173 135(a) 136(b) + 139: 6(int) SpecConstantOp 169 138 135(a) 136(b) + 140: TypeArray 6(int) 139 + 141: TypePointer Private 140 +142(ternayArray1): 141(ptr) Variable Private + 143: 6(int) Constant 13 + 144: 6(int) Constant 17 + 145: 6(int) SpecConstantOp 169 137(c) 143 144 + 146: 6(int) SpecConstantOp 169 137(c) 135(a) 144 + 147: 22(bool) ConstantTrue + 148: 6(int) SpecConstantOp 169 147 135(a) 144 + 149: 22(bool) SpecConstantOp 173 135(a) 136(b) + 150: 6(int) SpecConstantOp 128 143 135(a) + 151: 6(int) SpecConstantOp 132 144 136(b) + 152: 6(int) SpecConstantOp 169 149 150 151 + 153: 22(bool) SpecConstantOp 168 137(c) + 154: TypeVector 39(float) 2 + 155: 39(float) Constant 1065353216 + 156: 154(fvec2) ConstantComposite 155 155 + 157: 39(float) Constant 1073741824 + 158: 154(fvec2) ConstantComposite 157 157 + 159: 154(fvec2) SpecConstantOp 169 153 156 158 4(main): 2 Function None 3 5: Label Return diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out new file mode 100644 index 00000000000..8d10b6b75cd --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.ssbo.autoassign.frag.out @@ -0,0 +1,153 @@ +spv.ssbo.autoassign.frag +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 95 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 88 91 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "@main(vf4;" + Name 10 "pos" + Name 13 "vTmp" + Name 14 "BufType" + MemberName 14(BufType) 0 "va" + MemberName 14(BufType) 1 "vb" + Name 16 "SB0" + MemberName 16(SB0) 0 "@data" + Name 18 "SB0" + Name 26 "TestCB" + MemberName 26(TestCB) 0 "W" + MemberName 26(TestCB) 1 "H" + Name 28 "" + Name 55 "SB1" + MemberName 55(SB1) 0 "@data" + Name 57 "SB1" + Name 86 "pos" + Name 88 "pos" + Name 91 "@entryPointOutput" + Name 92 "param" + MemberDecorate 14(BufType) 0 NonWritable + MemberDecorate 14(BufType) 0 Offset 0 + MemberDecorate 14(BufType) 1 NonWritable + MemberDecorate 14(BufType) 1 Offset 16 + Decorate 15 ArrayStride 32 + MemberDecorate 16(SB0) 0 NonWritable + MemberDecorate 16(SB0) 0 Offset 0 + Decorate 16(SB0) BufferBlock + Decorate 18(SB0) DescriptorSet 0 + Decorate 18(SB0) Binding 30 + MemberDecorate 26(TestCB) 0 Offset 0 + MemberDecorate 26(TestCB) 1 Offset 4 + Decorate 26(TestCB) Block + Decorate 28 DescriptorSet 0 + Decorate 28 Binding 15 + Decorate 54 ArrayStride 32 + MemberDecorate 55(SB1) 0 Offset 0 + Decorate 55(SB1) BufferBlock + Decorate 57(SB1) DescriptorSet 0 + Decorate 57(SB1) Binding 31 + Decorate 88(pos) Location 0 + Decorate 91(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 7(fvec4) 8(ptr) + 14(BufType): TypeStruct 7(fvec4) 7(fvec4) + 15: TypeRuntimeArray 14(BufType) + 16(SB0): TypeStruct 15 + 17: TypePointer Uniform 16(SB0) + 18(SB0): 17(ptr) Variable Uniform + 19: TypeInt 32 1 + 20: 19(int) Constant 0 + 21: TypeInt 32 0 + 22: 21(int) Constant 1 + 23: TypePointer Function 6(float) + 26(TestCB): TypeStruct 21(int) 21(int) + 27: TypePointer Uniform 26(TestCB) + 28: 27(ptr) Variable Uniform + 29: TypePointer Uniform 21(int) + 34: 21(int) Constant 0 + 38: TypePointer Uniform 7(fvec4) + 50: 19(int) Constant 1 + 54: TypeRuntimeArray 14(BufType) + 55(SB1): TypeStruct 54 + 56: TypePointer Uniform 55(SB1) + 57(SB1): 56(ptr) Variable Uniform + 87: TypePointer Input 7(fvec4) + 88(pos): 87(ptr) Variable Input + 90: TypePointer Output 7(fvec4) +91(@entryPointOutput): 90(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 86(pos): 8(ptr) Variable Function + 92(param): 8(ptr) Variable Function + 89: 7(fvec4) Load 88(pos) + Store 86(pos) 89 + 93: 7(fvec4) Load 86(pos) + Store 92(param) 93 + 94: 7(fvec4) FunctionCall 11(@main(vf4;) 92(param) + Store 91(@entryPointOutput) 94 + Return + FunctionEnd + 11(@main(vf4;): 7(fvec4) Function None 9 + 10(pos): 8(ptr) FunctionParameter + 12: Label + 13(vTmp): 8(ptr) Variable Function + 24: 23(ptr) AccessChain 10(pos) 22 + 25: 6(float) Load 24 + 30: 29(ptr) AccessChain 28 20 + 31: 21(int) Load 30 + 32: 6(float) ConvertUToF 31 + 33: 6(float) FMul 25 32 + 35: 23(ptr) AccessChain 10(pos) 34 + 36: 6(float) Load 35 + 37: 6(float) FAdd 33 36 + 39: 38(ptr) AccessChain 18(SB0) 20 37 20 + 40: 7(fvec4) Load 39 + 41: 23(ptr) AccessChain 10(pos) 22 + 42: 6(float) Load 41 + 43: 29(ptr) AccessChain 28 20 + 44: 21(int) Load 43 + 45: 6(float) ConvertUToF 44 + 46: 6(float) FMul 42 45 + 47: 23(ptr) AccessChain 10(pos) 34 + 48: 6(float) Load 47 + 49: 6(float) FAdd 46 48 + 51: 38(ptr) AccessChain 18(SB0) 20 49 50 + 52: 7(fvec4) Load 51 + 53: 7(fvec4) FAdd 40 52 + Store 13(vTmp) 53 + 58: 23(ptr) AccessChain 10(pos) 22 + 59: 6(float) Load 58 + 60: 29(ptr) AccessChain 28 20 + 61: 21(int) Load 60 + 62: 6(float) ConvertUToF 61 + 63: 6(float) FMul 59 62 + 64: 23(ptr) AccessChain 10(pos) 34 + 65: 6(float) Load 64 + 66: 6(float) FAdd 63 65 + 67: 38(ptr) AccessChain 57(SB1) 20 66 20 + 68: 7(fvec4) Load 67 + 69: 23(ptr) AccessChain 10(pos) 22 + 70: 6(float) Load 69 + 71: 29(ptr) AccessChain 28 20 + 72: 21(int) Load 71 + 73: 6(float) ConvertUToF 72 + 74: 6(float) FMul 70 73 + 75: 23(ptr) AccessChain 10(pos) 34 + 76: 6(float) Load 75 + 77: 6(float) FAdd 74 76 + 78: 38(ptr) AccessChain 57(SB1) 20 77 50 + 79: 7(fvec4) Load 78 + 80: 7(fvec4) FAdd 68 79 + 81: 7(fvec4) Load 13(vTmp) + 82: 7(fvec4) FAdd 81 80 + Store 13(vTmp) 82 + 83: 7(fvec4) Load 13(vTmp) + ReturnValue 83 + FunctionEnd diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.stereoViewRendering.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.stereoViewRendering.tesc.out index c8f9642c1af..8fd6dd5c882 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.stereoViewRendering.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.stereoViewRendering.tesc.out @@ -5,7 +5,6 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Generated by (magic number): 80001 // Id's are bound by 38 - Capability Geometry Capability Tessellation Capability ShaderViewportMaskNV Capability ShaderStereoViewNV diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.viewportArray2.tesc.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.viewportArray2.tesc.out index 6d73fc399d8..fdfa2b88432 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.viewportArray2.tesc.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/spv.viewportArray2.tesc.out @@ -5,7 +5,6 @@ Warning, version 450 is not yet complete; most version-specific features are pre // Generated by (magic number): 80001 // Id's are bound by 25 - Capability Geometry Capability Tessellation Capability MultiViewport Capability ShaderViewportIndexLayerNV diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structAssignment.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structAssignment.frag.out index 75cc44c2b6b..5bd2ca89a72 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structAssignment.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structAssignment.frag.out @@ -3,15 +3,15 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:29 Function Definition: main( (global void) +0:29 Function Definition: main( ( global void) 0:29 Function Parameters: 0:? Sequence -0:33 Test condition and select (temp void) +0:33 Test condition and select ( temp void) 0:33 Condition -0:33 Compare Greater Than (temp bool) -0:33 i: direct index for structure (global int) -0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:33 Compare Greater Than ( temp bool) +0:33 i: direct index for structure ( global int) +0:33 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:33 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -19,35 +19,35 @@ Shader version: 130 0:33 Constant: 0:33 0 (const int) 0:33 true case -0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:34 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:34 Constant: 0:34 0 (const int) 0:33 false case -0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:38 move second child to first child (temp 4-component vector of float) -0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:38 vector-scale (temp 4-component vector of float) -0:38 f: direct index for structure (global float) -0:38 s1_1: direct index for structure (global structure{global int i, global float f}) -0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:36 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:36 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:36 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:38 vector-scale ( temp 4-component vector of float) +0:38 f: direct index for structure ( global float) +0:38 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:38 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:38 Constant: 0:38 2 (const int) 0:38 Constant: 0:38 1 (const int) -0:38 texture (global 4-component vector of float) -0:38 'sampler' (uniform sampler2D) -0:38 'coord' (smooth in 2-component vector of float) +0:38 texture ( global 4-component vector of float) +0:38 'sampler' ( uniform sampler2D) +0:38 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) Linked fragment stage: @@ -55,15 +55,15 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:29 Function Definition: main( (global void) +0:29 Function Definition: main( ( global void) 0:29 Function Parameters: 0:? Sequence -0:33 Test condition and select (temp void) +0:33 Test condition and select ( temp void) 0:33 Condition -0:33 Compare Greater Than (temp bool) -0:33 i: direct index for structure (global int) -0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:33 Compare Greater Than ( temp bool) +0:33 i: direct index for structure ( global int) +0:33 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:33 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:33 Constant: 0:33 0 (const int) 0:33 Constant: @@ -71,33 +71,33 @@ Shader version: 130 0:33 Constant: 0:33 0 (const int) 0:33 true case -0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:34 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 s2_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:34 Constant: 0:34 0 (const int) 0:33 false case -0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:38 move second child to first child (temp 4-component vector of float) -0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:38 vector-scale (temp 4-component vector of float) -0:38 f: direct index for structure (global float) -0:38 s1_1: direct index for structure (global structure{global int i, global float f}) -0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) +0:36 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:36 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:36 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:38 move second child to first child ( temp 4-component vector of float) +0:38 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:38 vector-scale ( temp 4-component vector of float) +0:38 f: direct index for structure ( global float) +0:38 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:38 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:38 Constant: 0:38 2 (const int) 0:38 Constant: 0:38 1 (const int) -0:38 texture (global 4-component vector of float) -0:38 'sampler' (uniform sampler2D) -0:38 'coord' (smooth in 2-component vector of float) +0:38 texture ( global 4-component vector of float) +0:38 'sampler' ( uniform sampler2D) +0:38 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo3' ( uniform structure{ global structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structDeref.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structDeref.frag.out index fc9d3778e55..c3f964c7593 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structDeref.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structDeref.frag.out @@ -3,16 +3,16 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:41 Function Definition: main( (global void) +0:41 Function Definition: main( ( global void) 0:41 Function Parameters: 0:? Sequence -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition -0:51 Compare Greater Than (temp bool) -0:51 i: direct index for structure (global int) -0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:51 Compare Greater Than ( temp bool) +0:51 i: direct index for structure ( global int) +0:51 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:51 s2_1: direct index for structure ( global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:51 'foo3' ( uniform structure{ global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: @@ -23,24 +23,24 @@ Shader version: 130 0:51 0 (const int) 0:51 true case 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 f: direct index for structure (global float) -0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:52 move second child to first child ( temp float) +0:52 f: direct index for structure ( global float) +0:52 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:52 Constant: 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:53 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:53 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:53 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:53 Constant: 0:53 2 (const int) 0:53 Constant: 0:53 0 (const int) 0:53 1.000000 0:53 0 (const int) -0:54 move second child to first child (temp 6-element array of float) -0:54 'fArray' (temp 6-element array of float) +0:54 move second child to first child ( temp 6-element array of float) +0:54 'fArray' ( temp 6-element array of float) 0:54 Constant: 0:54 0.000000 0:54 0.000000 @@ -48,46 +48,46 @@ Shader version: 130 0:54 0.000000 0:54 0.000000 0:54 0.000000 -0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:55 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:55 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:55 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:55 Constant: 0:55 6 (const int) -0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) -0:56 move second child to first child (temp structure{global int i}) -0:56 'locals0' (temp structure{global int i}) +0:55 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:56 move second child to first child ( temp structure{ global int i}) +0:56 'locals0' ( temp structure{ global int i}) 0:56 Constant: 0:56 0 (const int) -0:57 move second child to first child (temp structure{global structure{global int i} s0_0}) -0:57 'locals00' (temp structure{global structure{global int i} s0_0}) +0:57 move second child to first child ( temp structure{ global structure{ global int i} s0_0}) +0:57 'locals00' ( temp structure{ global structure{ global int i} s0_0}) 0:57 Constant: 0:57 0 (const int) 0:51 false case 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 f: direct index for structure (global float) -0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:59 move second child to first child ( temp float) +0:59 f: direct index for structure ( global float) +0:59 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp float) -0:59 'coord' (smooth in 2-component vector of float) +0:59 direct index ( temp float) +0:59 'coord' ( smooth in 2-component vector of float) 0:59 Constant: 0:59 0 (const int) -0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:60 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:60 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:60 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:60 Constant: 0:60 2 (const int) -0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1}) +0:60 Construct structure ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:60 Constant: 0:60 1 (const int) -0:60 direct index (temp float) -0:60 'coord' (smooth in 2-component vector of float) +0:60 direct index ( temp float) +0:60 'coord' ( smooth in 2-component vector of float) 0:60 Constant: 0:60 1 (const int) -0:60 'foo0' (uniform structure{global int i}) -0:61 move second child to first child (temp 6-element array of float) -0:61 'fArray' (temp 6-element array of float) +0:60 'foo0' ( uniform structure{ global int i}) +0:61 move second child to first child ( temp 6-element array of float) +0:61 'fArray' ( temp 6-element array of float) 0:61 Constant: 0:61 0.000000 0:61 1.000000 @@ -95,80 +95,80 @@ Shader version: 130 0:61 3.000000 0:61 4.000000 0:61 5.000000 -0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:62 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:62 Constant: 0:62 6 (const int) -0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:62 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:62 Constant: 0:62 2 (const int) -0:63 move second child to first child (temp structure{global int i}) -0:63 'locals0' (temp structure{global int i}) -0:63 s0_1: direct index for structure (global structure{global int i}) -0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) +0:63 move second child to first child ( temp structure{ global int i}) +0:63 'locals0' ( temp structure{ global int i}) +0:63 s0_1: direct index for structure ( global structure{ global int i}) +0:63 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:63 Constant: 0:63 2 (const int) -0:64 move second child to first child (temp structure{global structure{global int i} s0_0}) -0:64 'locals00' (temp structure{global structure{global int i} s0_0}) -0:64 'foo00' (uniform structure{global structure{global int i} s0_0}) -0:67 Test condition and select (temp void) +0:64 move second child to first child ( temp structure{ global structure{ global int i} s0_0}) +0:64 'locals00' ( temp structure{ global structure{ global int i} s0_0}) +0:64 'foo00' ( uniform structure{ global structure{ global int i} s0_0}) +0:67 Test condition and select ( temp void) 0:67 Condition -0:67 Compare Greater Than (temp bool) -0:67 i: direct index for structure (global int) -0:67 'locals0' (temp structure{global int i}) +0:67 Compare Greater Than ( temp bool) +0:67 i: direct index for structure ( global int) +0:67 'locals0' ( temp structure{ global int i}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: 0:67 5 (const int) 0:67 true case -0:68 move second child to first child (temp structure{global int i}) -0:68 'locals0' (temp structure{global int i}) -0:68 s0_0: direct index for structure (global structure{global int i}) -0:68 'locals00' (temp structure{global structure{global int i} s0_0}) +0:68 move second child to first child ( temp structure{ global int i}) +0:68 'locals0' ( temp structure{ global int i}) +0:68 s0_0: direct index for structure ( global structure{ global int i}) +0:68 'locals00' ( temp structure{ global structure{ global int i} s0_0}) 0:68 Constant: 0:68 0 (const int) -0:70 move second child to first child (temp 4-component vector of float) -0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:70 vector-scale (temp 4-component vector of float) -0:70 add (temp float) -0:70 add (temp float) -0:70 add (temp float) -0:70 Convert int to float (temp float) -0:70 i: direct index for structure (global int) -0:70 'locals0' (temp structure{global int i}) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:70 vector-scale ( temp 4-component vector of float) +0:70 add ( temp float) +0:70 add ( temp float) +0:70 add ( temp float) +0:70 Convert int to float ( temp float) +0:70 i: direct index for structure ( global int) +0:70 'locals0' ( temp structure{ global int i}) 0:70 Constant: 0:70 0 (const int) -0:70 f: direct index for structure (global float) -0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:70 f: direct index for structure ( global float) +0:70 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:70 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:70 Constant: 0:70 6 (const int) 0:70 Constant: 0:70 1 (const int) -0:70 direct index (temp float) -0:70 'fArray' (temp 6-element array of float) +0:70 direct index ( temp float) +0:70 'fArray' ( temp 6-element array of float) 0:70 Constant: 0:70 3 (const int) -0:70 f: direct index for structure (global float) -0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:70 f: direct index for structure ( global float) +0:70 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:70 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:70 Constant: 0:70 2 (const int) 0:70 Constant: 0:70 1 (const int) -0:70 texture (global 4-component vector of float) -0:70 'sampler' (uniform sampler2D) -0:70 'coord' (smooth in 2-component vector of float) +0:70 texture ( global 4-component vector of float) +0:70 'sampler' ( uniform sampler2D) +0:70 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo0' (uniform structure{global int i}) -0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:? 'foo00' (uniform structure{global structure{global int i} s0_0}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo0' ( uniform structure{ global int i}) +0:? 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:? 'foo3' ( uniform structure{ global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:? 'foo00' ( uniform structure{ global structure{ global int i} s0_0}) Linked fragment stage: @@ -176,16 +176,16 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:41 Function Definition: main( (global void) +0:41 Function Definition: main( ( global void) 0:41 Function Parameters: 0:? Sequence -0:51 Test condition and select (temp void) +0:51 Test condition and select ( temp void) 0:51 Condition -0:51 Compare Greater Than (temp bool) -0:51 i: direct index for structure (global int) -0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:51 Compare Greater Than ( temp bool) +0:51 i: direct index for structure ( global int) +0:51 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:51 s2_1: direct index for structure ( global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:51 'foo3' ( uniform structure{ global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:51 Constant: 0:51 0 (const int) 0:51 Constant: @@ -196,24 +196,24 @@ Shader version: 130 0:51 0 (const int) 0:51 true case 0:52 Sequence -0:52 move second child to first child (temp float) -0:52 f: direct index for structure (global float) -0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:52 move second child to first child ( temp float) +0:52 f: direct index for structure ( global float) +0:52 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:52 Constant: 0:52 1 (const int) 0:52 Constant: 0:52 1.000000 -0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:53 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:53 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:53 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:53 Constant: 0:53 2 (const int) 0:53 Constant: 0:53 0 (const int) 0:53 1.000000 0:53 0 (const int) -0:54 move second child to first child (temp 6-element array of float) -0:54 'fArray' (temp 6-element array of float) +0:54 move second child to first child ( temp 6-element array of float) +0:54 'fArray' ( temp 6-element array of float) 0:54 Constant: 0:54 0.000000 0:54 0.000000 @@ -221,46 +221,46 @@ Shader version: 130 0:54 0.000000 0:54 0.000000 0:54 0.000000 -0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:55 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:55 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:55 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:55 Constant: 0:55 6 (const int) -0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) -0:56 move second child to first child (temp structure{global int i}) -0:56 'locals0' (temp structure{global int i}) +0:55 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:56 move second child to first child ( temp structure{ global int i}) +0:56 'locals0' ( temp structure{ global int i}) 0:56 Constant: 0:56 0 (const int) -0:57 move second child to first child (temp structure{global structure{global int i} s0_0}) -0:57 'locals00' (temp structure{global structure{global int i} s0_0}) +0:57 move second child to first child ( temp structure{ global structure{ global int i} s0_0}) +0:57 'locals00' ( temp structure{ global structure{ global int i} s0_0}) 0:57 Constant: 0:57 0 (const int) 0:51 false case 0:59 Sequence -0:59 move second child to first child (temp float) -0:59 f: direct index for structure (global float) -0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:59 move second child to first child ( temp float) +0:59 f: direct index for structure ( global float) +0:59 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:59 Constant: 0:59 1 (const int) -0:59 direct index (temp float) -0:59 'coord' (smooth in 2-component vector of float) +0:59 direct index ( temp float) +0:59 'coord' ( smooth in 2-component vector of float) 0:59 Constant: 0:59 0 (const int) -0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:60 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:60 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:60 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:60 Constant: 0:60 2 (const int) -0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1}) +0:60 Construct structure ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:60 Constant: 0:60 1 (const int) -0:60 direct index (temp float) -0:60 'coord' (smooth in 2-component vector of float) +0:60 direct index ( temp float) +0:60 'coord' ( smooth in 2-component vector of float) 0:60 Constant: 0:60 1 (const int) -0:60 'foo0' (uniform structure{global int i}) -0:61 move second child to first child (temp 6-element array of float) -0:61 'fArray' (temp 6-element array of float) +0:60 'foo0' ( uniform structure{ global int i}) +0:61 move second child to first child ( temp 6-element array of float) +0:61 'fArray' ( temp 6-element array of float) 0:61 Constant: 0:61 0.000000 0:61 1.000000 @@ -268,78 +268,78 @@ Shader version: 130 0:61 3.000000 0:61 4.000000 0:61 5.000000 -0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:62 move second child to first child ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:62 Constant: 0:62 6 (const int) -0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:62 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:62 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:62 Constant: 0:62 2 (const int) -0:63 move second child to first child (temp structure{global int i}) -0:63 'locals0' (temp structure{global int i}) -0:63 s0_1: direct index for structure (global structure{global int i}) -0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) +0:63 move second child to first child ( temp structure{ global int i}) +0:63 'locals0' ( temp structure{ global int i}) +0:63 s0_1: direct index for structure ( global structure{ global int i}) +0:63 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:63 Constant: 0:63 2 (const int) -0:64 move second child to first child (temp structure{global structure{global int i} s0_0}) -0:64 'locals00' (temp structure{global structure{global int i} s0_0}) -0:64 'foo00' (uniform structure{global structure{global int i} s0_0}) -0:67 Test condition and select (temp void) +0:64 move second child to first child ( temp structure{ global structure{ global int i} s0_0}) +0:64 'locals00' ( temp structure{ global structure{ global int i} s0_0}) +0:64 'foo00' ( uniform structure{ global structure{ global int i} s0_0}) +0:67 Test condition and select ( temp void) 0:67 Condition -0:67 Compare Greater Than (temp bool) -0:67 i: direct index for structure (global int) -0:67 'locals0' (temp structure{global int i}) +0:67 Compare Greater Than ( temp bool) +0:67 i: direct index for structure ( global int) +0:67 'locals0' ( temp structure{ global int i}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: 0:67 5 (const int) 0:67 true case -0:68 move second child to first child (temp structure{global int i}) -0:68 'locals0' (temp structure{global int i}) -0:68 s0_0: direct index for structure (global structure{global int i}) -0:68 'locals00' (temp structure{global structure{global int i} s0_0}) +0:68 move second child to first child ( temp structure{ global int i}) +0:68 'locals0' ( temp structure{ global int i}) +0:68 s0_0: direct index for structure ( global structure{ global int i}) +0:68 'locals00' ( temp structure{ global structure{ global int i} s0_0}) 0:68 Constant: 0:68 0 (const int) -0:70 move second child to first child (temp 4-component vector of float) -0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:70 vector-scale (temp 4-component vector of float) -0:70 add (temp float) -0:70 add (temp float) -0:70 add (temp float) -0:70 Convert int to float (temp float) -0:70 i: direct index for structure (global int) -0:70 'locals0' (temp structure{global int i}) +0:70 move second child to first child ( temp 4-component vector of float) +0:70 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:70 vector-scale ( temp 4-component vector of float) +0:70 add ( temp float) +0:70 add ( temp float) +0:70 add ( temp float) +0:70 Convert int to float ( temp float) +0:70 i: direct index for structure ( global int) +0:70 'locals0' ( temp structure{ global int i}) 0:70 Constant: 0:70 0 (const int) -0:70 f: direct index for structure (global float) -0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1}) -0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1}) +0:70 f: direct index for structure ( global float) +0:70 direct index ( temp structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:70 'locals1Array' ( temp 10-element array of structure{ global int i, global float f, global structure{ global int i} s0_1}) 0:70 Constant: 0:70 6 (const int) 0:70 Constant: 0:70 1 (const int) -0:70 direct index (temp float) -0:70 'fArray' (temp 6-element array of float) +0:70 direct index ( temp float) +0:70 'fArray' ( temp 6-element array of float) 0:70 Constant: 0:70 3 (const int) -0:70 f: direct index for structure (global float) -0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1}) -0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) +0:70 f: direct index for structure ( global float) +0:70 s1_1: direct index for structure ( global structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:70 'locals2' ( temp structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) 0:70 Constant: 0:70 2 (const int) 0:70 Constant: 0:70 1 (const int) -0:70 texture (global 4-component vector of float) -0:70 'sampler' (uniform sampler2D) -0:70 'coord' (smooth in 2-component vector of float) +0:70 texture ( global 4-component vector of float) +0:70 'sampler' ( uniform sampler2D) +0:70 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo0' (uniform structure{global int i}) -0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1}) -0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1}) -0:? 'foo00' (uniform structure{global structure{global int i} s0_0}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo0' ( uniform structure{ global int i}) +0:? 'foo1' ( uniform structure{ global int i, global float f, global structure{ global int i} s0_1}) +0:? 'foo2' ( uniform structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:? 'foo3' ( uniform structure{ global 12-element array of structure{ global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f, global structure{ global int i} s0_1} s1_1}) +0:? 'foo00' ( uniform structure{ global structure{ global int i} s0_0}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structure.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structure.frag.out index 666b140724b..d12dceb4fa7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structure.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/structure.frag.out @@ -3,21 +3,21 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'scale' (temp float) +0:22 move second child to first child ( temp float) +0:22 'scale' ( temp float) 0:22 Constant: 0:22 0.000000 -0:24 Test condition and select (temp void) +0:24 Test condition and select ( temp void) 0:24 Condition -0:24 Compare Greater Than (temp bool) -0:24 direct index (temp int) -0:24 i: direct index for structure (global 5-element array of int) -0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:24 Compare Greater Than ( temp bool) +0:24 direct index ( temp int) +0:24 i: direct index for structure ( global 5-element array of int) +0:24 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:24 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:24 Constant: 0:24 3 (const int) 0:24 Constant: @@ -27,15 +27,15 @@ Shader version: 130 0:24 Constant: 0:24 0 (const int) 0:24 true case -0:25 move second child to first child (temp float) -0:25 'scale' (temp float) -0:25 direct index (temp float) -0:25 direct index (temp 4-component vector of float) -0:25 color: direct index for structure (global 5-element array of 4-component vector of float) -0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:25 move second child to first child ( temp float) +0:25 'scale' ( temp float) +0:25 direct index ( temp float) +0:25 direct index ( temp 4-component vector of float) +0:25 color: direct index for structure ( global 5-element array of 4-component vector of float) +0:25 direct index ( temp structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:25 s1_1: direct index for structure ( global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:25 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:25 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:25 Constant: 0:25 3 (const int) 0:25 Constant: @@ -49,14 +49,14 @@ Shader version: 130 0:25 Constant: 0:25 0 (const int) 0:24 false case -0:27 move second child to first child (temp float) -0:27 'scale' (temp float) -0:27 direct index (temp float) -0:27 f: direct index for structure (global 4-element array of float) -0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:27 move second child to first child ( temp float) +0:27 'scale' ( temp float) +0:27 direct index ( temp float) +0:27 f: direct index for structure ( global 4-element array of float) +0:27 direct index ( temp structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:27 s1_1: direct index for structure ( global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:27 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:27 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:27 Constant: 0:27 3 (const int) 0:27 Constant: @@ -67,18 +67,18 @@ Shader version: 130 0:27 1 (const int) 0:27 Constant: 0:27 3 (const int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:29 vector-scale (temp 4-component vector of float) -0:29 'scale' (temp float) -0:29 texture (global 4-component vector of float) -0:29 'sampler' (uniform sampler2D) -0:29 'coord' (smooth in 2-component vector of float) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:29 vector-scale ( temp 4-component vector of float) +0:29 'scale' ( temp float) +0:29 texture ( global 4-component vector of float) +0:29 'sampler' ( uniform sampler2D) +0:29 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:? 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) Linked fragment stage: @@ -86,21 +86,21 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:20 Function Definition: main( (global void) +0:20 Function Definition: main( ( global void) 0:20 Function Parameters: 0:22 Sequence 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'scale' (temp float) +0:22 move second child to first child ( temp float) +0:22 'scale' ( temp float) 0:22 Constant: 0:22 0.000000 -0:24 Test condition and select (temp void) +0:24 Test condition and select ( temp void) 0:24 Condition -0:24 Compare Greater Than (temp bool) -0:24 direct index (temp int) -0:24 i: direct index for structure (global 5-element array of int) -0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:24 Compare Greater Than ( temp bool) +0:24 direct index ( temp int) +0:24 i: direct index for structure ( global 5-element array of int) +0:24 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:24 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:24 Constant: 0:24 3 (const int) 0:24 Constant: @@ -110,15 +110,15 @@ Shader version: 130 0:24 Constant: 0:24 0 (const int) 0:24 true case -0:25 move second child to first child (temp float) -0:25 'scale' (temp float) -0:25 direct index (temp float) -0:25 direct index (temp 4-component vector of float) -0:25 color: direct index for structure (global 5-element array of 4-component vector of float) -0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:25 move second child to first child ( temp float) +0:25 'scale' ( temp float) +0:25 direct index ( temp float) +0:25 direct index ( temp 4-component vector of float) +0:25 color: direct index for structure ( global 5-element array of 4-component vector of float) +0:25 direct index ( temp structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:25 s1_1: direct index for structure ( global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:25 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:25 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:25 Constant: 0:25 3 (const int) 0:25 Constant: @@ -132,14 +132,14 @@ Shader version: 130 0:25 Constant: 0:25 0 (const int) 0:24 false case -0:27 move second child to first child (temp float) -0:27 'scale' (temp float) -0:27 direct index (temp float) -0:27 f: direct index for structure (global 4-element array of float) -0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) -0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:27 move second child to first child ( temp float) +0:27 'scale' ( temp float) +0:27 direct index ( temp float) +0:27 f: direct index for structure ( global 4-element array of float) +0:27 direct index ( temp structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:27 s1_1: direct index for structure ( global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:27 direct index ( temp structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:27 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) 0:27 Constant: 0:27 3 (const int) 0:27 Constant: @@ -150,16 +150,16 @@ Shader version: 130 0:27 1 (const int) 0:27 Constant: 0:27 3 (const int) -0:29 move second child to first child (temp 4-component vector of float) -0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:29 vector-scale (temp 4-component vector of float) -0:29 'scale' (temp float) -0:29 texture (global 4-component vector of float) -0:29 'sampler' (uniform sampler2D) -0:29 'coord' (smooth in 2-component vector of float) +0:29 move second child to first child ( temp 4-component vector of float) +0:29 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:29 vector-scale ( temp 4-component vector of float) +0:29 'scale' ( temp float) +0:29 texture ( global 4-component vector of float) +0:29 'sampler' ( uniform sampler2D) +0:29 'coord' ( smooth in 2-component vector of float) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) -0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color}) +0:? 'foo2' ( uniform 5-element array of structure{ global 5-element array of int i, global float f, global 7-element array of structure{ global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1}) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/switch.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/switch.frag.out index f8b179c0918..9649c9bb73f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/switch.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/switch.frag.out @@ -23,15 +23,15 @@ ERROR: 19 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:? Sequence -0:11 'f' (temp highp float) -0:14 'a' (temp 2-element array of mediump int) -0:17 'c' (uniform mediump int) +0:11 'f' ( temp highp float) +0:14 'a' ( temp 2-element array of mediump int) +0:17 'c' ( uniform mediump int) 0:21 switch 0:21 condition -0:21 'c' (uniform mediump int) +0:21 'c' ( uniform mediump int) 0:21 body 0:21 Sequence 0:23 case: with expression @@ -41,26 +41,26 @@ ERROR: node is still EOpNull! 0:21 Branch: Break 0:26 switch 0:26 condition -0:26 'c' (uniform mediump int) +0:26 'c' ( uniform mediump int) 0:26 body 0:26 Sequence 0:28 Sequence -0:28 move second child to first child (temp highp float) -0:28 'f' (temp highp float) -0:28 sine (global highp float) -0:28 'x' (smooth in highp float) +0:28 move second child to first child ( temp highp float) +0:28 'f' ( temp highp float) +0:28 sine ( global highp float) +0:28 'x' ( smooth in highp float) 0:29 case: with expression 0:29 Constant: 0:29 2 (const int) 0:? Sequence -0:30 move second child to first child (temp highp float) -0:30 'f' (temp highp float) -0:30 cosine (global highp float) -0:30 'x' (smooth in highp float) +0:30 move second child to first child ( temp highp float) +0:30 'f' ( temp highp float) +0:30 cosine ( global highp float) +0:30 'x' ( smooth in highp float) 0:31 Branch: Break 0:34 switch 0:34 condition -0:34 'c' (uniform mediump int) +0:34 'c' ( uniform mediump int) 0:34 body 0:34 Sequence 0:35 default: @@ -70,39 +70,39 @@ ERROR: node is still EOpNull! 0:37 Constant: 0:37 1 (const int) 0:? Sequence -0:38 move second child to first child (temp highp float) -0:38 'f' (temp highp float) -0:38 sine (global highp float) -0:38 'x' (smooth in highp float) +0:38 move second child to first child ( temp highp float) +0:38 'f' ( temp highp float) +0:38 sine ( global highp float) +0:38 'x' ( smooth in highp float) 0:39 Branch: Break 0:40 case: with expression 0:40 Constant: 0:40 2 (const int) 0:? Sequence -0:41 move second child to first child (temp highp float) -0:41 'f' (temp highp float) -0:41 cosine (global highp float) -0:41 'x' (smooth in highp float) +0:41 move second child to first child ( temp highp float) +0:41 'f' ( temp highp float) +0:41 cosine ( global highp float) +0:41 'x' ( smooth in highp float) 0:42 Branch: Break 0:43 default: 0:? Sequence -0:44 move second child to first child (temp highp float) -0:44 'f' (temp highp float) -0:44 tangent (global highp float) -0:44 'x' (smooth in highp float) +0:44 move second child to first child ( temp highp float) +0:44 'f' ( temp highp float) +0:44 tangent ( global highp float) +0:44 'x' ( smooth in highp float) 0:47 switch 0:47 condition -0:47 'c' (uniform mediump int) +0:47 'c' ( uniform mediump int) 0:47 body 0:47 Sequence 0:48 case: with expression 0:48 Constant: 0:48 1 (const int) 0:? Sequence -0:49 move second child to first child (temp highp float) -0:49 'f' (temp highp float) -0:49 sine (global highp float) -0:49 'x' (smooth in highp float) +0:49 move second child to first child ( temp highp float) +0:49 'f' ( temp highp float) +0:49 sine ( global highp float) +0:49 'x' ( smooth in highp float) 0:50 Branch: Break 0:51 case: with expression 0:51 Constant: @@ -110,38 +110,38 @@ ERROR: node is still EOpNull! 0:? Sequence 0:52 switch 0:52 condition -0:52 'd' (uniform mediump int) +0:52 'd' ( uniform mediump int) 0:52 body 0:52 Sequence 0:53 case: with expression 0:53 Constant: 0:53 1 (const int) 0:? Sequence -0:54 move second child to first child (temp highp float) -0:54 'f' (temp highp float) -0:54 component-wise multiply (temp highp float) -0:54 component-wise multiply (temp highp float) -0:54 'x' (smooth in highp float) -0:54 'x' (smooth in highp float) -0:54 'x' (smooth in highp float) +0:54 move second child to first child ( temp highp float) +0:54 'f' ( temp highp float) +0:54 component-wise multiply ( temp highp float) +0:54 component-wise multiply ( temp highp float) +0:54 'x' ( smooth in highp float) +0:54 'x' ( smooth in highp float) +0:54 'x' ( smooth in highp float) 0:55 Branch: Break 0:56 case: with expression 0:56 Constant: 0:56 2 (const int) 0:? Sequence -0:57 move second child to first child (temp highp float) -0:57 'f' (temp highp float) -0:57 component-wise multiply (temp highp float) -0:57 'x' (smooth in highp float) -0:57 'x' (smooth in highp float) +0:57 move second child to first child ( temp highp float) +0:57 'f' ( temp highp float) +0:57 component-wise multiply ( temp highp float) +0:57 'x' ( smooth in highp float) +0:57 'x' ( smooth in highp float) 0:58 Branch: Break 0:60 Branch: Break 0:61 default: 0:? Sequence -0:62 move second child to first child (temp highp float) -0:62 'f' (temp highp float) -0:62 tangent (global highp float) -0:62 'x' (smooth in highp float) +0:62 move second child to first child ( temp highp float) +0:62 'f' ( temp highp float) +0:62 tangent ( global highp float) +0:62 'x' ( smooth in highp float) 0:63 case: with expression 0:63 Constant: 0:63 1 (const int) @@ -153,22 +153,22 @@ ERROR: node is still EOpNull! 0:? Sequence 0:66 Branch: Break 0:67 case: with expression -0:67 'c' (uniform mediump int) +0:67 'c' ( uniform mediump int) 0:? Sequence 0:68 Branch: Break 0:71 switch 0:71 condition -0:71 'c' (uniform mediump int) +0:71 'c' ( uniform mediump int) 0:71 body 0:71 Sequence 0:72 case: with expression 0:72 Constant: 0:72 1 (const int) 0:? Sequence -0:73 move second child to first child (temp highp float) -0:73 'f' (temp highp float) -0:73 sine (global highp float) -0:73 'x' (smooth in highp float) +0:73 move second child to first child ( temp highp float) +0:73 'f' ( temp highp float) +0:73 sine ( global highp float) +0:73 'x' ( smooth in highp float) 0:74 Branch: Break 0:75 case: with expression 0:75 Constant: @@ -176,52 +176,52 @@ ERROR: node is still EOpNull! 0:? Sequence 0:76 switch 0:76 condition -0:76 'd' (uniform mediump int) +0:76 'd' ( uniform mediump int) 0:76 body 0:76 Sequence 0:77 case: with expression 0:77 Constant: 0:77 1 (const int) 0:? Sequence -0:78 move second child to first child (temp highp float) -0:78 'f' (temp highp float) -0:78 component-wise multiply (temp highp float) -0:78 component-wise multiply (temp highp float) -0:78 'x' (smooth in highp float) -0:78 'x' (smooth in highp float) -0:78 'x' (smooth in highp float) +0:78 move second child to first child ( temp highp float) +0:78 'f' ( temp highp float) +0:78 component-wise multiply ( temp highp float) +0:78 component-wise multiply ( temp highp float) +0:78 'x' ( smooth in highp float) +0:78 'x' ( smooth in highp float) +0:78 'x' ( smooth in highp float) 0:79 Branch: Break 0:80 case: with expression 0:80 Constant: 0:80 2 (const int) 0:? Sequence -0:81 move second child to first child (temp highp float) -0:81 'f' (temp highp float) -0:81 component-wise multiply (temp highp float) -0:81 'x' (smooth in highp float) -0:81 'x' (smooth in highp float) +0:81 move second child to first child ( temp highp float) +0:81 'f' ( temp highp float) +0:81 component-wise multiply ( temp highp float) +0:81 'x' ( smooth in highp float) +0:81 'x' ( smooth in highp float) 0:82 Branch: Break 0:84 Branch: Break 0:85 default: 0:? Sequence -0:86 move second child to first child (temp highp float) -0:86 'f' (temp highp float) -0:86 tangent (global highp float) -0:86 'x' (smooth in highp float) +0:86 move second child to first child ( temp highp float) +0:86 'f' ( temp highp float) +0:86 tangent ( global highp float) +0:86 'x' ( smooth in highp float) 0:89 Branch: Break 0:91 switch 0:91 condition -0:91 'c' (uniform mediump int) +0:91 'c' ( uniform mediump int) 0:91 body 0:91 Sequence 0:92 case: with expression 0:92 Constant: 0:92 1 (const int) 0:? Sequence -0:93 move second child to first child (temp highp float) -0:93 'f' (temp highp float) -0:93 sine (global highp float) -0:93 'x' (smooth in highp float) +0:93 move second child to first child ( temp highp float) +0:93 'f' ( temp highp float) +0:93 sine ( global highp float) +0:93 'x' ( smooth in highp float) 0:94 Branch: Break 0:95 case: with expression 0:95 Constant: @@ -229,7 +229,7 @@ ERROR: node is still EOpNull! 0:? Sequence 0:96 switch 0:96 condition -0:96 'd' (uniform mediump int) +0:96 'd' ( uniform mediump int) 0:96 body 0:96 Sequence 0:97 case: with expression @@ -238,30 +238,30 @@ ERROR: node is still EOpNull! 0:? Sequence 0:? Sequence 0:100 Branch: Break -0:102 move second child to first child (temp highp float) -0:102 'f' (temp highp float) -0:102 component-wise multiply (temp highp float) -0:102 component-wise multiply (temp highp float) -0:102 'x' (smooth in highp float) -0:102 'x' (smooth in highp float) -0:102 'x' (smooth in highp float) -0:103 Test condition and select (temp void) +0:102 move second child to first child ( temp highp float) +0:102 'f' ( temp highp float) +0:102 component-wise multiply ( temp highp float) +0:102 component-wise multiply ( temp highp float) +0:102 'x' ( smooth in highp float) +0:102 'x' ( smooth in highp float) +0:102 'x' ( smooth in highp float) +0:103 Test condition and select ( temp void) 0:103 Condition -0:103 Compare Less Than (temp bool) -0:103 'c' (uniform mediump int) -0:103 'd' (uniform mediump int) +0:103 Compare Less Than ( temp bool) +0:103 'c' ( uniform mediump int) +0:103 'd' ( uniform mediump int) 0:103 true case 0:? Sequence -0:105 move second child to first child (temp highp float) -0:105 'f' (temp highp float) -0:105 component-wise multiply (temp highp float) -0:105 'x' (smooth in highp float) -0:105 'x' (smooth in highp float) -0:107 Test condition and select (temp void) +0:105 move second child to first child ( temp highp float) +0:105 'f' ( temp highp float) +0:105 component-wise multiply ( temp highp float) +0:105 'x' ( smooth in highp float) +0:105 'x' ( smooth in highp float) +0:107 Test condition and select ( temp void) 0:107 Condition -0:107 Compare Less Than (temp bool) -0:107 'd' (uniform mediump int) -0:107 'c' (uniform mediump int) +0:107 Compare Less Than ( temp bool) +0:107 'd' ( uniform mediump int) +0:107 'c' ( uniform mediump int) 0:107 true case is null 0:109 Branch: Break 0:111 Branch: Break @@ -269,14 +269,14 @@ ERROR: node is still EOpNull! 0:112 Constant: 0:112 4 (const int) 0:? Sequence -0:113 move second child to first child (temp highp float) -0:113 'f' (temp highp float) -0:113 tangent (global highp float) -0:113 'x' (smooth in highp float) -0:114 Test condition and select (temp void) +0:113 move second child to first child ( temp highp float) +0:113 'f' ( temp highp float) +0:113 tangent ( global highp float) +0:113 'x' ( smooth in highp float) +0:114 Test condition and select ( temp void) 0:114 Condition -0:114 Compare Less Than (temp bool) -0:114 'f' (temp highp float) +0:114 Compare Less Than ( temp bool) +0:114 'f' ( temp highp float) 0:114 Constant: 0:114 0.000000 0:114 true case is null @@ -290,11 +290,11 @@ ERROR: node is still EOpNull! 0:123 default: 0:? Sequence 0:124 Sequence -0:124 move second child to first child (temp mediump int) -0:124 'onlyInSwitch' (temp mediump int) +0:124 move second child to first child ( temp mediump int) +0:124 'onlyInSwitch' ( temp mediump int) 0:124 Constant: 0:124 0 (const int) -0:126 'onlyInSwitch' (temp float) +0:126 'onlyInSwitch' ( temp float) 0:128 switch 0:128 condition 0:128 Constant: @@ -306,7 +306,7 @@ ERROR: node is still EOpNull! 0:128 Branch: Break 0:133 switch 0:133 condition -0:133 'c' (uniform mediump int) +0:133 'c' ( uniform mediump int) 0:133 body 0:133 Sequence 0:134 case: with expression @@ -319,7 +319,7 @@ ERROR: node is still EOpNull! 0:139 Constant: 0:139 2 (const int) 0:? Sequence -0:140 'nestedX' (temp float) +0:140 'nestedX' ( temp float) 0:143 Branch: Break 0:144 case: with expression 0:144 Constant: @@ -332,9 +332,9 @@ ERROR: node is still EOpNull! 0:148 4 (const int) 0:? Sequence 0:149 Sequence -0:149 move second child to first child (temp mediump int) -0:149 'linearY' (temp mediump int) -0:149 'linearZ' (temp mediump int) +0:149 move second child to first child ( temp mediump int) +0:149 'linearY' ( temp mediump int) +0:149 'linearZ' ( temp mediump int) 0:150 Branch: Break 0:151 case: with expression 0:151 Constant: @@ -347,11 +347,11 @@ ERROR: node is still EOpNull! 0:? Sequence 0:155 Constant: 0:155 4 (const int) -0:157 'nestedZ' (temp float) +0:157 'nestedZ' ( temp float) 0:? Linker Objects -0:? 'c' (uniform mediump int) -0:? 'd' (uniform mediump int) -0:? 'x' (smooth in highp float) +0:? 'c' ( uniform mediump int) +0:? 'd' ( uniform mediump int) +0:? 'x' ( smooth in highp float) Linked fragment stage: @@ -359,15 +359,15 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:6 Function Definition: main( (global void) +0:6 Function Definition: main( ( global void) 0:6 Function Parameters: 0:? Sequence -0:11 'f' (temp highp float) -0:14 'a' (temp 2-element array of mediump int) -0:17 'c' (uniform mediump int) +0:11 'f' ( temp highp float) +0:14 'a' ( temp 2-element array of mediump int) +0:17 'c' ( uniform mediump int) 0:21 switch 0:21 condition -0:21 'c' (uniform mediump int) +0:21 'c' ( uniform mediump int) 0:21 body 0:21 Sequence 0:23 case: with expression @@ -377,26 +377,26 @@ ERROR: node is still EOpNull! 0:21 Branch: Break 0:26 switch 0:26 condition -0:26 'c' (uniform mediump int) +0:26 'c' ( uniform mediump int) 0:26 body 0:26 Sequence 0:28 Sequence -0:28 move second child to first child (temp highp float) -0:28 'f' (temp highp float) -0:28 sine (global highp float) -0:28 'x' (smooth in highp float) +0:28 move second child to first child ( temp highp float) +0:28 'f' ( temp highp float) +0:28 sine ( global highp float) +0:28 'x' ( smooth in highp float) 0:29 case: with expression 0:29 Constant: 0:29 2 (const int) 0:? Sequence -0:30 move second child to first child (temp highp float) -0:30 'f' (temp highp float) -0:30 cosine (global highp float) -0:30 'x' (smooth in highp float) +0:30 move second child to first child ( temp highp float) +0:30 'f' ( temp highp float) +0:30 cosine ( global highp float) +0:30 'x' ( smooth in highp float) 0:31 Branch: Break 0:34 switch 0:34 condition -0:34 'c' (uniform mediump int) +0:34 'c' ( uniform mediump int) 0:34 body 0:34 Sequence 0:35 default: @@ -406,39 +406,39 @@ ERROR: node is still EOpNull! 0:37 Constant: 0:37 1 (const int) 0:? Sequence -0:38 move second child to first child (temp highp float) -0:38 'f' (temp highp float) -0:38 sine (global highp float) -0:38 'x' (smooth in highp float) +0:38 move second child to first child ( temp highp float) +0:38 'f' ( temp highp float) +0:38 sine ( global highp float) +0:38 'x' ( smooth in highp float) 0:39 Branch: Break 0:40 case: with expression 0:40 Constant: 0:40 2 (const int) 0:? Sequence -0:41 move second child to first child (temp highp float) -0:41 'f' (temp highp float) -0:41 cosine (global highp float) -0:41 'x' (smooth in highp float) +0:41 move second child to first child ( temp highp float) +0:41 'f' ( temp highp float) +0:41 cosine ( global highp float) +0:41 'x' ( smooth in highp float) 0:42 Branch: Break 0:43 default: 0:? Sequence -0:44 move second child to first child (temp highp float) -0:44 'f' (temp highp float) -0:44 tangent (global highp float) -0:44 'x' (smooth in highp float) +0:44 move second child to first child ( temp highp float) +0:44 'f' ( temp highp float) +0:44 tangent ( global highp float) +0:44 'x' ( smooth in highp float) 0:47 switch 0:47 condition -0:47 'c' (uniform mediump int) +0:47 'c' ( uniform mediump int) 0:47 body 0:47 Sequence 0:48 case: with expression 0:48 Constant: 0:48 1 (const int) 0:? Sequence -0:49 move second child to first child (temp highp float) -0:49 'f' (temp highp float) -0:49 sine (global highp float) -0:49 'x' (smooth in highp float) +0:49 move second child to first child ( temp highp float) +0:49 'f' ( temp highp float) +0:49 sine ( global highp float) +0:49 'x' ( smooth in highp float) 0:50 Branch: Break 0:51 case: with expression 0:51 Constant: @@ -446,38 +446,38 @@ ERROR: node is still EOpNull! 0:? Sequence 0:52 switch 0:52 condition -0:52 'd' (uniform mediump int) +0:52 'd' ( uniform mediump int) 0:52 body 0:52 Sequence 0:53 case: with expression 0:53 Constant: 0:53 1 (const int) 0:? Sequence -0:54 move second child to first child (temp highp float) -0:54 'f' (temp highp float) -0:54 component-wise multiply (temp highp float) -0:54 component-wise multiply (temp highp float) -0:54 'x' (smooth in highp float) -0:54 'x' (smooth in highp float) -0:54 'x' (smooth in highp float) +0:54 move second child to first child ( temp highp float) +0:54 'f' ( temp highp float) +0:54 component-wise multiply ( temp highp float) +0:54 component-wise multiply ( temp highp float) +0:54 'x' ( smooth in highp float) +0:54 'x' ( smooth in highp float) +0:54 'x' ( smooth in highp float) 0:55 Branch: Break 0:56 case: with expression 0:56 Constant: 0:56 2 (const int) 0:? Sequence -0:57 move second child to first child (temp highp float) -0:57 'f' (temp highp float) -0:57 component-wise multiply (temp highp float) -0:57 'x' (smooth in highp float) -0:57 'x' (smooth in highp float) +0:57 move second child to first child ( temp highp float) +0:57 'f' ( temp highp float) +0:57 component-wise multiply ( temp highp float) +0:57 'x' ( smooth in highp float) +0:57 'x' ( smooth in highp float) 0:58 Branch: Break 0:60 Branch: Break 0:61 default: 0:? Sequence -0:62 move second child to first child (temp highp float) -0:62 'f' (temp highp float) -0:62 tangent (global highp float) -0:62 'x' (smooth in highp float) +0:62 move second child to first child ( temp highp float) +0:62 'f' ( temp highp float) +0:62 tangent ( global highp float) +0:62 'x' ( smooth in highp float) 0:63 case: with expression 0:63 Constant: 0:63 1 (const int) @@ -489,22 +489,22 @@ ERROR: node is still EOpNull! 0:? Sequence 0:66 Branch: Break 0:67 case: with expression -0:67 'c' (uniform mediump int) +0:67 'c' ( uniform mediump int) 0:? Sequence 0:68 Branch: Break 0:71 switch 0:71 condition -0:71 'c' (uniform mediump int) +0:71 'c' ( uniform mediump int) 0:71 body 0:71 Sequence 0:72 case: with expression 0:72 Constant: 0:72 1 (const int) 0:? Sequence -0:73 move second child to first child (temp highp float) -0:73 'f' (temp highp float) -0:73 sine (global highp float) -0:73 'x' (smooth in highp float) +0:73 move second child to first child ( temp highp float) +0:73 'f' ( temp highp float) +0:73 sine ( global highp float) +0:73 'x' ( smooth in highp float) 0:74 Branch: Break 0:75 case: with expression 0:75 Constant: @@ -512,52 +512,52 @@ ERROR: node is still EOpNull! 0:? Sequence 0:76 switch 0:76 condition -0:76 'd' (uniform mediump int) +0:76 'd' ( uniform mediump int) 0:76 body 0:76 Sequence 0:77 case: with expression 0:77 Constant: 0:77 1 (const int) 0:? Sequence -0:78 move second child to first child (temp highp float) -0:78 'f' (temp highp float) -0:78 component-wise multiply (temp highp float) -0:78 component-wise multiply (temp highp float) -0:78 'x' (smooth in highp float) -0:78 'x' (smooth in highp float) -0:78 'x' (smooth in highp float) +0:78 move second child to first child ( temp highp float) +0:78 'f' ( temp highp float) +0:78 component-wise multiply ( temp highp float) +0:78 component-wise multiply ( temp highp float) +0:78 'x' ( smooth in highp float) +0:78 'x' ( smooth in highp float) +0:78 'x' ( smooth in highp float) 0:79 Branch: Break 0:80 case: with expression 0:80 Constant: 0:80 2 (const int) 0:? Sequence -0:81 move second child to first child (temp highp float) -0:81 'f' (temp highp float) -0:81 component-wise multiply (temp highp float) -0:81 'x' (smooth in highp float) -0:81 'x' (smooth in highp float) +0:81 move second child to first child ( temp highp float) +0:81 'f' ( temp highp float) +0:81 component-wise multiply ( temp highp float) +0:81 'x' ( smooth in highp float) +0:81 'x' ( smooth in highp float) 0:82 Branch: Break 0:84 Branch: Break 0:85 default: 0:? Sequence -0:86 move second child to first child (temp highp float) -0:86 'f' (temp highp float) -0:86 tangent (global highp float) -0:86 'x' (smooth in highp float) +0:86 move second child to first child ( temp highp float) +0:86 'f' ( temp highp float) +0:86 tangent ( global highp float) +0:86 'x' ( smooth in highp float) 0:89 Branch: Break 0:91 switch 0:91 condition -0:91 'c' (uniform mediump int) +0:91 'c' ( uniform mediump int) 0:91 body 0:91 Sequence 0:92 case: with expression 0:92 Constant: 0:92 1 (const int) 0:? Sequence -0:93 move second child to first child (temp highp float) -0:93 'f' (temp highp float) -0:93 sine (global highp float) -0:93 'x' (smooth in highp float) +0:93 move second child to first child ( temp highp float) +0:93 'f' ( temp highp float) +0:93 sine ( global highp float) +0:93 'x' ( smooth in highp float) 0:94 Branch: Break 0:95 case: with expression 0:95 Constant: @@ -565,7 +565,7 @@ ERROR: node is still EOpNull! 0:? Sequence 0:96 switch 0:96 condition -0:96 'd' (uniform mediump int) +0:96 'd' ( uniform mediump int) 0:96 body 0:96 Sequence 0:97 case: with expression @@ -574,30 +574,30 @@ ERROR: node is still EOpNull! 0:? Sequence 0:? Sequence 0:100 Branch: Break -0:102 move second child to first child (temp highp float) -0:102 'f' (temp highp float) -0:102 component-wise multiply (temp highp float) -0:102 component-wise multiply (temp highp float) -0:102 'x' (smooth in highp float) -0:102 'x' (smooth in highp float) -0:102 'x' (smooth in highp float) -0:103 Test condition and select (temp void) +0:102 move second child to first child ( temp highp float) +0:102 'f' ( temp highp float) +0:102 component-wise multiply ( temp highp float) +0:102 component-wise multiply ( temp highp float) +0:102 'x' ( smooth in highp float) +0:102 'x' ( smooth in highp float) +0:102 'x' ( smooth in highp float) +0:103 Test condition and select ( temp void) 0:103 Condition -0:103 Compare Less Than (temp bool) -0:103 'c' (uniform mediump int) -0:103 'd' (uniform mediump int) +0:103 Compare Less Than ( temp bool) +0:103 'c' ( uniform mediump int) +0:103 'd' ( uniform mediump int) 0:103 true case 0:? Sequence -0:105 move second child to first child (temp highp float) -0:105 'f' (temp highp float) -0:105 component-wise multiply (temp highp float) -0:105 'x' (smooth in highp float) -0:105 'x' (smooth in highp float) -0:107 Test condition and select (temp void) +0:105 move second child to first child ( temp highp float) +0:105 'f' ( temp highp float) +0:105 component-wise multiply ( temp highp float) +0:105 'x' ( smooth in highp float) +0:105 'x' ( smooth in highp float) +0:107 Test condition and select ( temp void) 0:107 Condition -0:107 Compare Less Than (temp bool) -0:107 'd' (uniform mediump int) -0:107 'c' (uniform mediump int) +0:107 Compare Less Than ( temp bool) +0:107 'd' ( uniform mediump int) +0:107 'c' ( uniform mediump int) 0:107 true case is null 0:109 Branch: Break 0:111 Branch: Break @@ -605,14 +605,14 @@ ERROR: node is still EOpNull! 0:112 Constant: 0:112 4 (const int) 0:? Sequence -0:113 move second child to first child (temp highp float) -0:113 'f' (temp highp float) -0:113 tangent (global highp float) -0:113 'x' (smooth in highp float) -0:114 Test condition and select (temp void) +0:113 move second child to first child ( temp highp float) +0:113 'f' ( temp highp float) +0:113 tangent ( global highp float) +0:113 'x' ( smooth in highp float) +0:114 Test condition and select ( temp void) 0:114 Condition -0:114 Compare Less Than (temp bool) -0:114 'f' (temp highp float) +0:114 Compare Less Than ( temp bool) +0:114 'f' ( temp highp float) 0:114 Constant: 0:114 0.000000 0:114 true case is null @@ -626,11 +626,11 @@ ERROR: node is still EOpNull! 0:123 default: 0:? Sequence 0:124 Sequence -0:124 move second child to first child (temp mediump int) -0:124 'onlyInSwitch' (temp mediump int) +0:124 move second child to first child ( temp mediump int) +0:124 'onlyInSwitch' ( temp mediump int) 0:124 Constant: 0:124 0 (const int) -0:126 'onlyInSwitch' (temp float) +0:126 'onlyInSwitch' ( temp float) 0:128 switch 0:128 condition 0:128 Constant: @@ -642,7 +642,7 @@ ERROR: node is still EOpNull! 0:128 Branch: Break 0:133 switch 0:133 condition -0:133 'c' (uniform mediump int) +0:133 'c' ( uniform mediump int) 0:133 body 0:133 Sequence 0:134 case: with expression @@ -655,7 +655,7 @@ ERROR: node is still EOpNull! 0:139 Constant: 0:139 2 (const int) 0:? Sequence -0:140 'nestedX' (temp float) +0:140 'nestedX' ( temp float) 0:143 Branch: Break 0:144 case: with expression 0:144 Constant: @@ -668,9 +668,9 @@ ERROR: node is still EOpNull! 0:148 4 (const int) 0:? Sequence 0:149 Sequence -0:149 move second child to first child (temp mediump int) -0:149 'linearY' (temp mediump int) -0:149 'linearZ' (temp mediump int) +0:149 move second child to first child ( temp mediump int) +0:149 'linearY' ( temp mediump int) +0:149 'linearZ' ( temp mediump int) 0:150 Branch: Break 0:151 case: with expression 0:151 Constant: @@ -683,9 +683,9 @@ ERROR: node is still EOpNull! 0:? Sequence 0:155 Constant: 0:155 4 (const int) -0:157 'nestedZ' (temp float) +0:157 'nestedZ' ( temp float) 0:? Linker Objects -0:? 'c' (uniform mediump int) -0:? 'd' (uniform mediump int) -0:? 'x' (smooth in highp float) +0:? 'c' ( uniform mediump int) +0:? 'd' ( uniform mediump int) +0:? 'x' ( smooth in highp float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/swizzle.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/swizzle.frag.out index 8e1b759c0b7..b66a945dc45 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/swizzle.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/swizzle.frag.out @@ -1,58 +1,58 @@ swizzle.frag Shader version: 110 0:? Sequence -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'blendscale' (temp float) +0:11 move second child to first child ( temp float) +0:11 'blendscale' ( temp float) 0:11 Constant: 0:11 1.789000 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'w' (temp 4-component vector of float) -0:13 'u' (uniform 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'w' ( temp 4-component vector of float) +0:13 'u' ( uniform 4-component vector of float) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:15 'w_dep' (temp 4-component vector of float) -0:15 'u' (uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'w_dep' ( temp 4-component vector of float) +0:15 'u' ( uniform 4-component vector of float) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:16 'w_reorder' (temp 4-component vector of float) -0:16 'u' (uniform 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'w_reorder' ( temp 4-component vector of float) +0:16 'u' ( uniform 4-component vector of float) 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'w2' (temp 4-component vector of float) -0:17 'u' (uniform 4-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'w2' ( temp 4-component vector of float) +0:17 'u' ( uniform 4-component vector of float) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 'w_flow' (temp 4-component vector of float) -0:18 'u' (uniform 4-component vector of float) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 'w_reorder' (temp 4-component vector of float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'w_flow' ( temp 4-component vector of float) +0:18 'u' ( uniform 4-component vector of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 'w_reorder' ( temp 4-component vector of float) 0:20 Constant: 0:20 2 (const int) -0:20 'blendscale' (temp float) -0:22 move second child to first child (temp 2-component vector of float) -0:22 vector swizzle (temp 2-component vector of float) -0:22 'w' (temp 4-component vector of float) +0:20 'blendscale' ( temp float) +0:22 move second child to first child ( temp 2-component vector of float) +0:22 vector swizzle ( temp 2-component vector of float) +0:22 'w' ( temp 4-component vector of float) 0:22 Sequence 0:22 Constant: 0:22 3 (const int) 0:22 Constant: 0:22 1 (const int) -0:22 't' (smooth in 2-component vector of float) -0:24 move second child to first child (temp float) -0:24 direct index (temp float) -0:24 'w_reorder' (temp 4-component vector of float) +0:22 't' ( smooth in 2-component vector of float) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 'w_reorder' ( temp 4-component vector of float) 0:24 Constant: 0:24 0 (const int) -0:24 'blendscale' (temp float) -0:26 move second child to first child (temp 4-component vector of float) -0:26 vector swizzle (temp 4-component vector of float) -0:26 'w2' (temp 4-component vector of float) +0:24 'blendscale' ( temp float) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 vector swizzle ( temp 4-component vector of float) +0:26 'w2' ( temp 4-component vector of float) 0:26 Sequence 0:26 Constant: 0:26 0 (const int) @@ -62,8 +62,8 @@ Shader version: 110 0:26 2 (const int) 0:26 Constant: 0:26 3 (const int) -0:26 vector swizzle (temp 4-component vector of float) -0:26 'u' (uniform 4-component vector of float) +0:26 vector swizzle ( temp 4-component vector of float) +0:26 'u' ( uniform 4-component vector of float) 0:26 Sequence 0:26 Constant: 0:26 2 (const int) @@ -73,140 +73,140 @@ Shader version: 110 0:26 0 (const int) 0:26 Constant: 0:26 1 (const int) -0:28 move second child to first child (temp float) -0:28 direct index (temp float) -0:28 'w_reorder' (temp 4-component vector of float) +0:28 move second child to first child ( temp float) +0:28 direct index ( temp float) +0:28 'w_reorder' ( temp 4-component vector of float) 0:28 Constant: 0:28 1 (const int) -0:28 'blendscale' (temp float) -0:30 move second child to first child (temp 2-component vector of float) -0:30 vector swizzle (temp 2-component vector of float) -0:30 'w_dep' (temp 4-component vector of float) +0:28 'blendscale' ( temp float) +0:30 move second child to first child ( temp 2-component vector of float) +0:30 vector swizzle ( temp 2-component vector of float) +0:30 'w_dep' ( temp 4-component vector of float) 0:30 Sequence 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 vector swizzle (temp 2-component vector of float) -0:30 'w2' (temp 4-component vector of float) +0:30 vector swizzle ( temp 2-component vector of float) +0:30 'w2' ( temp 4-component vector of float) 0:30 Sequence 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 2 (const int) -0:31 move second child to first child (temp 2-component vector of float) -0:31 vector swizzle (temp 2-component vector of float) -0:31 'w_dep' (temp 4-component vector of float) +0:31 move second child to first child ( temp 2-component vector of float) +0:31 vector swizzle ( temp 2-component vector of float) +0:31 'w_dep' ( temp 4-component vector of float) 0:31 Sequence 0:31 Constant: 0:31 2 (const int) 0:31 Constant: 0:31 3 (const int) -0:31 't' (smooth in 2-component vector of float) -0:33 move second child to first child (temp 2-component vector of float) -0:33 vector swizzle (temp 2-component vector of float) -0:33 'w_undef' (temp 4-component vector of float) +0:31 't' ( smooth in 2-component vector of float) +0:33 move second child to first child ( temp 2-component vector of float) +0:33 vector swizzle ( temp 2-component vector of float) +0:33 'w_undef' ( temp 4-component vector of float) 0:33 Sequence 0:33 Constant: 0:33 0 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 vector swizzle (temp 2-component vector of float) -0:33 'u' (uniform 4-component vector of float) +0:33 vector swizzle ( temp 2-component vector of float) +0:33 'u' ( uniform 4-component vector of float) 0:33 Sequence 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 3 (const int) -0:35 Test condition and select (temp void) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 'p' (uniform bool) +0:35 'p' ( uniform bool) 0:35 true case -0:36 move second child to first child (temp float) -0:36 direct index (temp float) -0:36 'w_flow' (temp 4-component vector of float) +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 'w_flow' ( temp 4-component vector of float) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp float) -0:36 't' (smooth in 2-component vector of float) +0:36 direct index ( temp float) +0:36 't' ( smooth in 2-component vector of float) 0:36 Constant: 0:36 0 (const int) 0:35 false case -0:38 move second child to first child (temp float) -0:38 direct index (temp float) -0:38 'w_flow' (temp 4-component vector of float) +0:38 move second child to first child ( temp float) +0:38 direct index ( temp float) +0:38 'w_flow' ( temp 4-component vector of float) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp float) -0:38 't' (smooth in 2-component vector of float) +0:38 direct index ( temp float) +0:38 't' ( smooth in 2-component vector of float) 0:38 Constant: 0:38 1 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 mix (global 4-component vector of float) -0:40 'w_reorder' (temp 4-component vector of float) -0:40 'w_undef' (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 'w' (temp 4-component vector of float) -0:40 'w2' (temp 4-component vector of float) -0:40 'w_dep' (temp 4-component vector of float) -0:40 'w_flow' (temp 4-component vector of float) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 mix ( global 4-component vector of float) +0:40 'w_reorder' ( temp 4-component vector of float) +0:40 'w_undef' ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 'w' ( temp 4-component vector of float) +0:40 'w2' ( temp 4-component vector of float) +0:40 'w_dep' ( temp 4-component vector of float) +0:40 'w_flow' ( temp 4-component vector of float) 0:42 Sequence -0:42 move second child to first child (temp 2-component vector of float) -0:42 'c' (temp 2-component vector of float) -0:42 't' (smooth in 2-component vector of float) +0:42 move second child to first child ( temp 2-component vector of float) +0:42 'c' ( temp 2-component vector of float) +0:42 't' ( smooth in 2-component vector of float) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'rep' (temp 4-component vector of float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'rep' ( temp 4-component vector of float) 0:43 Constant: 0:43 0.000000 0:43 0.000000 0:43 0.000000 0:43 1.000000 -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition -0:45 Compare Less Than (temp bool) -0:45 direct index (temp float) -0:45 'c' (temp 2-component vector of float) +0:45 Compare Less Than ( temp bool) +0:45 direct index ( temp float) +0:45 'c' ( temp 2-component vector of float) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: 0:45 0.000000 0:45 true case -0:46 multiply second child into first child (temp float) -0:46 direct index (temp float) -0:46 'c' (temp 2-component vector of float) +0:46 multiply second child into first child ( temp float) +0:46 direct index ( temp float) +0:46 'c' ( temp 2-component vector of float) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 -1.000000 -0:48 Test condition and select (temp void) +0:48 Test condition and select ( temp void) 0:48 Condition -0:48 Compare Less Than or Equal (temp bool) -0:48 direct index (temp float) -0:48 'c' (temp 2-component vector of float) +0:48 Compare Less Than or Equal ( temp bool) +0:48 direct index ( temp float) +0:48 'c' ( temp 2-component vector of float) 0:48 Constant: 0:48 0 (const int) 0:48 Constant: 0:48 1.000000 0:48 true case -0:49 move second child to first child (temp float) -0:49 direct index (temp float) -0:49 'rep' (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 direct index ( temp float) +0:49 'rep' ( temp 4-component vector of float) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 3.400000 -0:51 add second child into first child (temp 4-component vector of float) -0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:51 'rep' (temp 4-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:51 'rep' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'blend' (uniform float) -0:? 'u' (uniform 4-component vector of float) -0:? 'p' (uniform bool) -0:? 't' (smooth in 2-component vector of float) +0:? 'blend' ( uniform float) +0:? 'u' ( uniform 4-component vector of float) +0:? 'p' ( uniform bool) +0:? 't' ( smooth in 2-component vector of float) Linked fragment stage: @@ -214,58 +214,58 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:9 Function Definition: main( (global void) +0:9 Function Definition: main( ( global void) 0:9 Function Parameters: 0:11 Sequence 0:11 Sequence -0:11 move second child to first child (temp float) -0:11 'blendscale' (temp float) +0:11 move second child to first child ( temp float) +0:11 'blendscale' ( temp float) 0:11 Constant: 0:11 1.789000 0:13 Sequence -0:13 move second child to first child (temp 4-component vector of float) -0:13 'w' (temp 4-component vector of float) -0:13 'u' (uniform 4-component vector of float) +0:13 move second child to first child ( temp 4-component vector of float) +0:13 'w' ( temp 4-component vector of float) +0:13 'u' ( uniform 4-component vector of float) 0:15 Sequence -0:15 move second child to first child (temp 4-component vector of float) -0:15 'w_dep' (temp 4-component vector of float) -0:15 'u' (uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'w_dep' ( temp 4-component vector of float) +0:15 'u' ( uniform 4-component vector of float) 0:16 Sequence -0:16 move second child to first child (temp 4-component vector of float) -0:16 'w_reorder' (temp 4-component vector of float) -0:16 'u' (uniform 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'w_reorder' ( temp 4-component vector of float) +0:16 'u' ( uniform 4-component vector of float) 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'w2' (temp 4-component vector of float) -0:17 'u' (uniform 4-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'w2' ( temp 4-component vector of float) +0:17 'u' ( uniform 4-component vector of float) 0:18 Sequence -0:18 move second child to first child (temp 4-component vector of float) -0:18 'w_flow' (temp 4-component vector of float) -0:18 'u' (uniform 4-component vector of float) -0:20 move second child to first child (temp float) -0:20 direct index (temp float) -0:20 'w_reorder' (temp 4-component vector of float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'w_flow' ( temp 4-component vector of float) +0:18 'u' ( uniform 4-component vector of float) +0:20 move second child to first child ( temp float) +0:20 direct index ( temp float) +0:20 'w_reorder' ( temp 4-component vector of float) 0:20 Constant: 0:20 2 (const int) -0:20 'blendscale' (temp float) -0:22 move second child to first child (temp 2-component vector of float) -0:22 vector swizzle (temp 2-component vector of float) -0:22 'w' (temp 4-component vector of float) +0:20 'blendscale' ( temp float) +0:22 move second child to first child ( temp 2-component vector of float) +0:22 vector swizzle ( temp 2-component vector of float) +0:22 'w' ( temp 4-component vector of float) 0:22 Sequence 0:22 Constant: 0:22 3 (const int) 0:22 Constant: 0:22 1 (const int) -0:22 't' (smooth in 2-component vector of float) -0:24 move second child to first child (temp float) -0:24 direct index (temp float) -0:24 'w_reorder' (temp 4-component vector of float) +0:22 't' ( smooth in 2-component vector of float) +0:24 move second child to first child ( temp float) +0:24 direct index ( temp float) +0:24 'w_reorder' ( temp 4-component vector of float) 0:24 Constant: 0:24 0 (const int) -0:24 'blendscale' (temp float) -0:26 move second child to first child (temp 4-component vector of float) -0:26 vector swizzle (temp 4-component vector of float) -0:26 'w2' (temp 4-component vector of float) +0:24 'blendscale' ( temp float) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 vector swizzle ( temp 4-component vector of float) +0:26 'w2' ( temp 4-component vector of float) 0:26 Sequence 0:26 Constant: 0:26 0 (const int) @@ -275,8 +275,8 @@ Shader version: 110 0:26 2 (const int) 0:26 Constant: 0:26 3 (const int) -0:26 vector swizzle (temp 4-component vector of float) -0:26 'u' (uniform 4-component vector of float) +0:26 vector swizzle ( temp 4-component vector of float) +0:26 'u' ( uniform 4-component vector of float) 0:26 Sequence 0:26 Constant: 0:26 2 (const int) @@ -286,138 +286,138 @@ Shader version: 110 0:26 0 (const int) 0:26 Constant: 0:26 1 (const int) -0:28 move second child to first child (temp float) -0:28 direct index (temp float) -0:28 'w_reorder' (temp 4-component vector of float) +0:28 move second child to first child ( temp float) +0:28 direct index ( temp float) +0:28 'w_reorder' ( temp 4-component vector of float) 0:28 Constant: 0:28 1 (const int) -0:28 'blendscale' (temp float) -0:30 move second child to first child (temp 2-component vector of float) -0:30 vector swizzle (temp 2-component vector of float) -0:30 'w_dep' (temp 4-component vector of float) +0:28 'blendscale' ( temp float) +0:30 move second child to first child ( temp 2-component vector of float) +0:30 vector swizzle ( temp 2-component vector of float) +0:30 'w_dep' ( temp 4-component vector of float) 0:30 Sequence 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 1 (const int) -0:30 vector swizzle (temp 2-component vector of float) -0:30 'w2' (temp 4-component vector of float) +0:30 vector swizzle ( temp 2-component vector of float) +0:30 'w2' ( temp 4-component vector of float) 0:30 Sequence 0:30 Constant: 0:30 0 (const int) 0:30 Constant: 0:30 2 (const int) -0:31 move second child to first child (temp 2-component vector of float) -0:31 vector swizzle (temp 2-component vector of float) -0:31 'w_dep' (temp 4-component vector of float) +0:31 move second child to first child ( temp 2-component vector of float) +0:31 vector swizzle ( temp 2-component vector of float) +0:31 'w_dep' ( temp 4-component vector of float) 0:31 Sequence 0:31 Constant: 0:31 2 (const int) 0:31 Constant: 0:31 3 (const int) -0:31 't' (smooth in 2-component vector of float) -0:33 move second child to first child (temp 2-component vector of float) -0:33 vector swizzle (temp 2-component vector of float) -0:33 'w_undef' (temp 4-component vector of float) +0:31 't' ( smooth in 2-component vector of float) +0:33 move second child to first child ( temp 2-component vector of float) +0:33 vector swizzle ( temp 2-component vector of float) +0:33 'w_undef' ( temp 4-component vector of float) 0:33 Sequence 0:33 Constant: 0:33 0 (const int) 0:33 Constant: 0:33 1 (const int) -0:33 vector swizzle (temp 2-component vector of float) -0:33 'u' (uniform 4-component vector of float) +0:33 vector swizzle ( temp 2-component vector of float) +0:33 'u' ( uniform 4-component vector of float) 0:33 Sequence 0:33 Constant: 0:33 2 (const int) 0:33 Constant: 0:33 3 (const int) -0:35 Test condition and select (temp void) +0:35 Test condition and select ( temp void) 0:35 Condition -0:35 'p' (uniform bool) +0:35 'p' ( uniform bool) 0:35 true case -0:36 move second child to first child (temp float) -0:36 direct index (temp float) -0:36 'w_flow' (temp 4-component vector of float) +0:36 move second child to first child ( temp float) +0:36 direct index ( temp float) +0:36 'w_flow' ( temp 4-component vector of float) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp float) -0:36 't' (smooth in 2-component vector of float) +0:36 direct index ( temp float) +0:36 't' ( smooth in 2-component vector of float) 0:36 Constant: 0:36 0 (const int) 0:35 false case -0:38 move second child to first child (temp float) -0:38 direct index (temp float) -0:38 'w_flow' (temp 4-component vector of float) +0:38 move second child to first child ( temp float) +0:38 direct index ( temp float) +0:38 'w_flow' ( temp 4-component vector of float) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp float) -0:38 't' (smooth in 2-component vector of float) +0:38 direct index ( temp float) +0:38 't' ( smooth in 2-component vector of float) 0:38 Constant: 0:38 1 (const int) -0:40 move second child to first child (temp 4-component vector of float) -0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:40 mix (global 4-component vector of float) -0:40 'w_reorder' (temp 4-component vector of float) -0:40 'w_undef' (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 component-wise multiply (temp 4-component vector of float) -0:40 'w' (temp 4-component vector of float) -0:40 'w2' (temp 4-component vector of float) -0:40 'w_dep' (temp 4-component vector of float) -0:40 'w_flow' (temp 4-component vector of float) +0:40 move second child to first child ( temp 4-component vector of float) +0:40 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:40 mix ( global 4-component vector of float) +0:40 'w_reorder' ( temp 4-component vector of float) +0:40 'w_undef' ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 component-wise multiply ( temp 4-component vector of float) +0:40 'w' ( temp 4-component vector of float) +0:40 'w2' ( temp 4-component vector of float) +0:40 'w_dep' ( temp 4-component vector of float) +0:40 'w_flow' ( temp 4-component vector of float) 0:42 Sequence -0:42 move second child to first child (temp 2-component vector of float) -0:42 'c' (temp 2-component vector of float) -0:42 't' (smooth in 2-component vector of float) +0:42 move second child to first child ( temp 2-component vector of float) +0:42 'c' ( temp 2-component vector of float) +0:42 't' ( smooth in 2-component vector of float) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of float) -0:43 'rep' (temp 4-component vector of float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'rep' ( temp 4-component vector of float) 0:43 Constant: 0:43 0.000000 0:43 0.000000 0:43 0.000000 0:43 1.000000 -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition -0:45 Compare Less Than (temp bool) -0:45 direct index (temp float) -0:45 'c' (temp 2-component vector of float) +0:45 Compare Less Than ( temp bool) +0:45 direct index ( temp float) +0:45 'c' ( temp 2-component vector of float) 0:45 Constant: 0:45 0 (const int) 0:45 Constant: 0:45 0.000000 0:45 true case -0:46 multiply second child into first child (temp float) -0:46 direct index (temp float) -0:46 'c' (temp 2-component vector of float) +0:46 multiply second child into first child ( temp float) +0:46 direct index ( temp float) +0:46 'c' ( temp 2-component vector of float) 0:46 Constant: 0:46 0 (const int) 0:46 Constant: 0:46 -1.000000 -0:48 Test condition and select (temp void) +0:48 Test condition and select ( temp void) 0:48 Condition -0:48 Compare Less Than or Equal (temp bool) -0:48 direct index (temp float) -0:48 'c' (temp 2-component vector of float) +0:48 Compare Less Than or Equal ( temp bool) +0:48 direct index ( temp float) +0:48 'c' ( temp 2-component vector of float) 0:48 Constant: 0:48 0 (const int) 0:48 Constant: 0:48 1.000000 0:48 true case -0:49 move second child to first child (temp float) -0:49 direct index (temp float) -0:49 'rep' (temp 4-component vector of float) +0:49 move second child to first child ( temp float) +0:49 direct index ( temp float) +0:49 'rep' ( temp 4-component vector of float) 0:49 Constant: 0:49 0 (const int) 0:49 Constant: 0:49 3.400000 -0:51 add second child into first child (temp 4-component vector of float) -0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:51 'rep' (temp 4-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:51 'rep' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'blend' (uniform float) -0:? 'u' (uniform 4-component vector of float) -0:? 'p' (uniform bool) -0:? 't' (smooth in 2-component vector of float) +0:? 'blend' ( uniform float) +0:? 'u' ( uniform 4-component vector of float) +0:? 'p' ( uniform bool) +0:? 't' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/syntaxError.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/syntaxError.frag.out index af0e7323539..cdda760f78d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/syntaxError.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/syntaxError.frag.out @@ -7,9 +7,9 @@ ERROR: 2 compilation errors. No code generated. Shader version: 120 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) Linked fragment stage: @@ -18,7 +18,7 @@ Linked fragment stage: Shader version: 120 ERROR: node is still EOpNull! 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/test.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/test.frag.out index e6b98766f36..4f6faaf9a56 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/test.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/test.frag.out @@ -1,25 +1,25 @@ test.frag Shader version: 110 0:? Sequence -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence 0:15 Sequence -0:15 move second child to first child (temp float) -0:15 'blendscale' (temp float) +0:15 move second child to first child ( temp float) +0:15 'blendscale' ( temp float) 0:15 Constant: 0:15 1.789000 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'v' (temp 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 texture (global 4-component vector of float) -0:17 'texSampler2D' (uniform sampler2D) -0:17 divide (temp 2-component vector of float) -0:17 add (temp 2-component vector of float) -0:17 't' (smooth in 2-component vector of float) -0:17 'scale' (uniform 2-component vector of float) -0:17 'scale' (uniform 2-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'v' ( temp 4-component vector of float) +0:17 vector swizzle ( temp 4-component vector of float) +0:17 texture ( global 4-component vector of float) +0:17 'texSampler2D' ( uniform sampler2D) +0:17 divide ( temp 2-component vector of float) +0:17 add ( temp 2-component vector of float) +0:17 't' ( smooth in 2-component vector of float) +0:17 'scale' ( uniform 2-component vector of float) +0:17 'scale' ( uniform 2-component vector of float) 0:17 Sequence 0:17 Constant: 0:17 3 (const int) @@ -30,29 +30,29 @@ Shader version: 110 0:17 Constant: 0:17 0 (const int) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 'w' (temp 4-component vector of float) -0:19 add (temp 4-component vector of float) -0:19 texture (global 4-component vector of float) -0:19 'texSampler3D' (uniform sampler3D) -0:19 'coords' (smooth in 3-component vector of float) -0:19 'v' (temp 4-component vector of float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:21 mix (global 4-component vector of float) -0:21 'w' (temp 4-component vector of float) -0:21 'u' (uniform 4-component vector of float) -0:21 component-wise multiply (temp float) -0:21 'blend' (uniform float) -0:21 'blendscale' (temp float) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 'w' ( temp 4-component vector of float) +0:19 add ( temp 4-component vector of float) +0:19 texture ( global 4-component vector of float) +0:19 'texSampler3D' ( uniform sampler3D) +0:19 'coords' ( smooth in 3-component vector of float) +0:19 'v' ( temp 4-component vector of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:21 mix ( global 4-component vector of float) +0:21 'w' ( temp 4-component vector of float) +0:21 'u' ( uniform 4-component vector of float) +0:21 component-wise multiply ( temp float) +0:21 'blend' ( uniform float) +0:21 'blendscale' ( temp float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'texSampler3D' (uniform sampler3D) -0:? 'blend' (uniform float) -0:? 'scale' (uniform 2-component vector of float) -0:? 'u' (uniform 4-component vector of float) -0:? 't' (smooth in 2-component vector of float) -0:? 'coords' (smooth in 3-component vector of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'texSampler3D' ( uniform sampler3D) +0:? 'blend' ( uniform float) +0:? 'scale' ( uniform 2-component vector of float) +0:? 'u' ( uniform 4-component vector of float) +0:? 't' ( smooth in 2-component vector of float) +0:? 'coords' ( smooth in 3-component vector of float) Linked fragment stage: @@ -60,25 +60,25 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:13 Function Definition: main( (global void) +0:13 Function Definition: main( ( global void) 0:13 Function Parameters: 0:15 Sequence 0:15 Sequence -0:15 move second child to first child (temp float) -0:15 'blendscale' (temp float) +0:15 move second child to first child ( temp float) +0:15 'blendscale' ( temp float) 0:15 Constant: 0:15 1.789000 0:17 Sequence -0:17 move second child to first child (temp 4-component vector of float) -0:17 'v' (temp 4-component vector of float) -0:17 vector swizzle (temp 4-component vector of float) -0:17 texture (global 4-component vector of float) -0:17 'texSampler2D' (uniform sampler2D) -0:17 divide (temp 2-component vector of float) -0:17 add (temp 2-component vector of float) -0:17 't' (smooth in 2-component vector of float) -0:17 'scale' (uniform 2-component vector of float) -0:17 'scale' (uniform 2-component vector of float) +0:17 move second child to first child ( temp 4-component vector of float) +0:17 'v' ( temp 4-component vector of float) +0:17 vector swizzle ( temp 4-component vector of float) +0:17 texture ( global 4-component vector of float) +0:17 'texSampler2D' ( uniform sampler2D) +0:17 divide ( temp 2-component vector of float) +0:17 add ( temp 2-component vector of float) +0:17 't' ( smooth in 2-component vector of float) +0:17 'scale' ( uniform 2-component vector of float) +0:17 'scale' ( uniform 2-component vector of float) 0:17 Sequence 0:17 Constant: 0:17 3 (const int) @@ -89,27 +89,27 @@ Shader version: 110 0:17 Constant: 0:17 0 (const int) 0:19 Sequence -0:19 move second child to first child (temp 4-component vector of float) -0:19 'w' (temp 4-component vector of float) -0:19 add (temp 4-component vector of float) -0:19 texture (global 4-component vector of float) -0:19 'texSampler3D' (uniform sampler3D) -0:19 'coords' (smooth in 3-component vector of float) -0:19 'v' (temp 4-component vector of float) -0:21 move second child to first child (temp 4-component vector of float) -0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:21 mix (global 4-component vector of float) -0:21 'w' (temp 4-component vector of float) -0:21 'u' (uniform 4-component vector of float) -0:21 component-wise multiply (temp float) -0:21 'blend' (uniform float) -0:21 'blendscale' (temp float) +0:19 move second child to first child ( temp 4-component vector of float) +0:19 'w' ( temp 4-component vector of float) +0:19 add ( temp 4-component vector of float) +0:19 texture ( global 4-component vector of float) +0:19 'texSampler3D' ( uniform sampler3D) +0:19 'coords' ( smooth in 3-component vector of float) +0:19 'v' ( temp 4-component vector of float) +0:21 move second child to first child ( temp 4-component vector of float) +0:21 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:21 mix ( global 4-component vector of float) +0:21 'w' ( temp 4-component vector of float) +0:21 'u' ( uniform 4-component vector of float) +0:21 component-wise multiply ( temp float) +0:21 'blend' ( uniform float) +0:21 'blendscale' ( temp float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'texSampler3D' (uniform sampler3D) -0:? 'blend' (uniform float) -0:? 'scale' (uniform 2-component vector of float) -0:? 'u' (uniform 4-component vector of float) -0:? 't' (smooth in 2-component vector of float) -0:? 'coords' (smooth in 3-component vector of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'texSampler3D' ( uniform sampler3D) +0:? 'blend' ( uniform float) +0:? 'scale' ( uniform 2-component vector of float) +0:? 'u' ( uniform 4-component vector of float) +0:? 't' ( smooth in 2-component vector of float) +0:? 'coords' ( smooth in 3-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/texture.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/texture.frag.out index 5e886095d19..8e9a7105ea8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/texture.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/texture.frag.out @@ -4,281 +4,281 @@ WARNING: 0:15: varying deprecated in version 130; may be removed in future relea Shader version: 130 0:? Sequence -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:19 Sequence 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'blendscale' (temp float) +0:19 move second child to first child ( temp float) +0:19 'blendscale' ( temp float) 0:19 Constant: 0:19 1.789000 0:20 Sequence -0:20 move second child to first child (temp float) -0:20 'bias' (temp float) +0:20 move second child to first child ( temp float) +0:20 'bias' ( temp float) 0:20 Constant: 0:20 2.000000 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'lod' (temp float) +0:21 move second child to first child ( temp float) +0:21 'lod' ( temp float) 0:21 Constant: 0:21 3.000000 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'proj' (temp float) +0:22 move second child to first child ( temp float) +0:22 'proj' ( temp float) 0:22 Constant: 0:22 2.000000 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'coords1D' (temp float) +0:23 move second child to first child ( temp float) +0:23 'coords1D' ( temp float) 0:23 Constant: 0:23 1.789000 0:24 Sequence -0:24 move second child to first child (temp 3-component vector of float) -0:24 'coords3D' (temp 3-component vector of float) +0:24 move second child to first child ( temp 3-component vector of float) +0:24 'coords3D' ( temp 3-component vector of float) 0:24 Constant: 0:24 1.789000 0:24 2.718000 0:24 3.453000 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of float) -0:25 'coords4D' (temp 4-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'coords4D' ( temp 4-component vector of float) 0:25 Constant: 0:25 1.789000 0:25 2.718000 0:25 3.453000 0:25 2.000000 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:26 'color' (temp 4-component vector of float) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 'color' ( temp 4-component vector of float) 0:26 Constant: 0:26 0.000000 0:26 0.000000 0:26 0.000000 0:26 0.000000 -0:28 add second child into first child (temp 4-component vector of float) -0:28 'color' (temp 4-component vector of float) -0:28 texture (global 4-component vector of float) -0:28 'texSampler1D' (uniform sampler1D) -0:28 'coords1D' (temp float) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'color' (temp 4-component vector of float) -0:29 texture (global 4-component vector of float) -0:29 'texSampler1D' (uniform sampler1D) -0:29 'coords1D' (temp float) -0:29 'bias' (temp float) -0:30 add second child into first child (temp 4-component vector of float) -0:30 'color' (temp 4-component vector of float) -0:30 textureProj (global 4-component vector of float) -0:30 'texSampler1D' (uniform sampler1D) -0:30 'coords2D' (smooth in 2-component vector of float) -0:31 add second child into first child (temp 4-component vector of float) -0:31 'color' (temp 4-component vector of float) -0:31 textureProj (global 4-component vector of float) -0:31 'texSampler1D' (uniform sampler1D) -0:31 'coords4D' (temp 4-component vector of float) -0:32 add second child into first child (temp 4-component vector of float) -0:32 'color' (temp 4-component vector of float) -0:32 textureProj (global 4-component vector of float) -0:32 'texSampler1D' (uniform sampler1D) -0:32 'coords2D' (smooth in 2-component vector of float) -0:32 'bias' (temp float) -0:33 add second child into first child (temp 4-component vector of float) -0:33 'color' (temp 4-component vector of float) -0:33 textureProj (global 4-component vector of float) -0:33 'texSampler1D' (uniform sampler1D) -0:33 'coords4D' (temp 4-component vector of float) -0:33 'bias' (temp float) -0:35 add second child into first child (temp 4-component vector of float) -0:35 'color' (temp 4-component vector of float) -0:35 texture (global 4-component vector of float) -0:35 'texSampler2D' (uniform sampler2D) -0:35 'coords2D' (smooth in 2-component vector of float) -0:36 add second child into first child (temp 4-component vector of float) -0:36 'color' (temp 4-component vector of float) -0:36 texture (global 4-component vector of float) -0:36 'texSampler2D' (uniform sampler2D) -0:36 'coords2D' (smooth in 2-component vector of float) -0:36 'bias' (temp float) -0:37 add second child into first child (temp 4-component vector of float) -0:37 'color' (temp 4-component vector of float) -0:37 textureProj (global 4-component vector of float) -0:37 'texSampler2D' (uniform sampler2D) -0:37 'coords3D' (temp 3-component vector of float) -0:38 add second child into first child (temp 4-component vector of float) -0:38 'color' (temp 4-component vector of float) -0:38 textureProj (global 4-component vector of float) -0:38 'texSampler2D' (uniform sampler2D) -0:38 'coords4D' (temp 4-component vector of float) -0:38 'bias' (temp float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'color' (temp 4-component vector of float) -0:40 texture (global 4-component vector of float) -0:40 'texSampler3D' (uniform sampler3D) -0:40 'coords3D' (temp 3-component vector of float) -0:41 add second child into first child (temp 4-component vector of float) -0:41 'color' (temp 4-component vector of float) -0:41 texture (global 4-component vector of float) -0:41 'texSampler3D' (uniform sampler3D) -0:41 'coords3D' (temp 3-component vector of float) -0:41 'bias' (temp float) -0:42 add second child into first child (temp 4-component vector of float) -0:42 'color' (temp 4-component vector of float) -0:42 textureProj (global 4-component vector of float) -0:42 'texSampler3D' (uniform sampler3D) -0:42 'coords4D' (temp 4-component vector of float) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'color' (temp 4-component vector of float) -0:43 textureProj (global 4-component vector of float) -0:43 'texSampler3D' (uniform sampler3D) -0:43 'coords4D' (temp 4-component vector of float) -0:43 'bias' (temp float) -0:45 add second child into first child (temp 4-component vector of float) -0:45 'color' (temp 4-component vector of float) -0:45 texture (global 4-component vector of float) -0:45 'texSamplerCube' (uniform samplerCube) -0:45 'coords3D' (temp 3-component vector of float) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'color' (temp 4-component vector of float) -0:46 texture (global 4-component vector of float) -0:46 'texSamplerCube' (uniform samplerCube) -0:46 'coords3D' (temp 3-component vector of float) -0:46 'bias' (temp float) -0:48 add second child into first child (temp 4-component vector of float) -0:48 'color' (temp 4-component vector of float) -0:48 texture (global 4-component vector of float) -0:48 'shadowSampler1D' (uniform sampler1DShadow) -0:48 'coords3D' (temp 3-component vector of float) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'color' (temp 4-component vector of float) -0:49 texture (global 4-component vector of float) -0:49 'shadowSampler1D' (uniform sampler1DShadow) -0:49 'coords3D' (temp 3-component vector of float) -0:49 'bias' (temp float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'color' (temp 4-component vector of float) -0:50 texture (global 4-component vector of float) -0:50 'shadowSampler2D' (uniform sampler2DShadow) -0:50 'coords3D' (temp 3-component vector of float) -0:51 add second child into first child (temp 4-component vector of float) -0:51 'color' (temp 4-component vector of float) -0:51 texture (global 4-component vector of float) -0:51 'shadowSampler2D' (uniform sampler2DShadow) -0:51 'coords3D' (temp 3-component vector of float) -0:51 'bias' (temp float) -0:52 add second child into first child (temp 4-component vector of float) -0:52 'color' (temp 4-component vector of float) -0:52 textureProj (global 4-component vector of float) -0:52 'shadowSampler1D' (uniform sampler1DShadow) -0:52 'coords4D' (temp 4-component vector of float) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'color' (temp 4-component vector of float) -0:53 textureProj (global 4-component vector of float) -0:53 'shadowSampler1D' (uniform sampler1DShadow) -0:53 'coords4D' (temp 4-component vector of float) -0:53 'bias' (temp float) -0:54 add second child into first child (temp 4-component vector of float) -0:54 'color' (temp 4-component vector of float) -0:54 textureProj (global 4-component vector of float) -0:54 'shadowSampler2D' (uniform sampler2DShadow) -0:54 'coords4D' (temp 4-component vector of float) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 textureProj (global 4-component vector of float) -0:55 'shadowSampler2D' (uniform sampler2DShadow) -0:55 'coords4D' (temp 4-component vector of float) -0:55 'bias' (temp float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'color' ( temp 4-component vector of float) +0:28 texture ( global 4-component vector of float) +0:28 'texSampler1D' ( uniform sampler1D) +0:28 'coords1D' ( temp float) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'color' ( temp 4-component vector of float) +0:29 texture ( global 4-component vector of float) +0:29 'texSampler1D' ( uniform sampler1D) +0:29 'coords1D' ( temp float) +0:29 'bias' ( temp float) +0:30 add second child into first child ( temp 4-component vector of float) +0:30 'color' ( temp 4-component vector of float) +0:30 textureProj ( global 4-component vector of float) +0:30 'texSampler1D' ( uniform sampler1D) +0:30 'coords2D' ( smooth in 2-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'color' ( temp 4-component vector of float) +0:31 textureProj ( global 4-component vector of float) +0:31 'texSampler1D' ( uniform sampler1D) +0:31 'coords4D' ( temp 4-component vector of float) +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'color' ( temp 4-component vector of float) +0:32 textureProj ( global 4-component vector of float) +0:32 'texSampler1D' ( uniform sampler1D) +0:32 'coords2D' ( smooth in 2-component vector of float) +0:32 'bias' ( temp float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'color' ( temp 4-component vector of float) +0:33 textureProj ( global 4-component vector of float) +0:33 'texSampler1D' ( uniform sampler1D) +0:33 'coords4D' ( temp 4-component vector of float) +0:33 'bias' ( temp float) +0:35 add second child into first child ( temp 4-component vector of float) +0:35 'color' ( temp 4-component vector of float) +0:35 texture ( global 4-component vector of float) +0:35 'texSampler2D' ( uniform sampler2D) +0:35 'coords2D' ( smooth in 2-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'color' ( temp 4-component vector of float) +0:36 texture ( global 4-component vector of float) +0:36 'texSampler2D' ( uniform sampler2D) +0:36 'coords2D' ( smooth in 2-component vector of float) +0:36 'bias' ( temp float) +0:37 add second child into first child ( temp 4-component vector of float) +0:37 'color' ( temp 4-component vector of float) +0:37 textureProj ( global 4-component vector of float) +0:37 'texSampler2D' ( uniform sampler2D) +0:37 'coords3D' ( temp 3-component vector of float) +0:38 add second child into first child ( temp 4-component vector of float) +0:38 'color' ( temp 4-component vector of float) +0:38 textureProj ( global 4-component vector of float) +0:38 'texSampler2D' ( uniform sampler2D) +0:38 'coords4D' ( temp 4-component vector of float) +0:38 'bias' ( temp float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'color' ( temp 4-component vector of float) +0:40 texture ( global 4-component vector of float) +0:40 'texSampler3D' ( uniform sampler3D) +0:40 'coords3D' ( temp 3-component vector of float) +0:41 add second child into first child ( temp 4-component vector of float) +0:41 'color' ( temp 4-component vector of float) +0:41 texture ( global 4-component vector of float) +0:41 'texSampler3D' ( uniform sampler3D) +0:41 'coords3D' ( temp 3-component vector of float) +0:41 'bias' ( temp float) +0:42 add second child into first child ( temp 4-component vector of float) +0:42 'color' ( temp 4-component vector of float) +0:42 textureProj ( global 4-component vector of float) +0:42 'texSampler3D' ( uniform sampler3D) +0:42 'coords4D' ( temp 4-component vector of float) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'color' ( temp 4-component vector of float) +0:43 textureProj ( global 4-component vector of float) +0:43 'texSampler3D' ( uniform sampler3D) +0:43 'coords4D' ( temp 4-component vector of float) +0:43 'bias' ( temp float) +0:45 add second child into first child ( temp 4-component vector of float) +0:45 'color' ( temp 4-component vector of float) +0:45 texture ( global 4-component vector of float) +0:45 'texSamplerCube' ( uniform samplerCube) +0:45 'coords3D' ( temp 3-component vector of float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'color' ( temp 4-component vector of float) +0:46 texture ( global 4-component vector of float) +0:46 'texSamplerCube' ( uniform samplerCube) +0:46 'coords3D' ( temp 3-component vector of float) +0:46 'bias' ( temp float) +0:48 add second child into first child ( temp 4-component vector of float) +0:48 'color' ( temp 4-component vector of float) +0:48 texture ( global 4-component vector of float) +0:48 'shadowSampler1D' ( uniform sampler1DShadow) +0:48 'coords3D' ( temp 3-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'color' ( temp 4-component vector of float) +0:49 texture ( global 4-component vector of float) +0:49 'shadowSampler1D' ( uniform sampler1DShadow) +0:49 'coords3D' ( temp 3-component vector of float) +0:49 'bias' ( temp float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'color' ( temp 4-component vector of float) +0:50 texture ( global 4-component vector of float) +0:50 'shadowSampler2D' ( uniform sampler2DShadow) +0:50 'coords3D' ( temp 3-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'color' ( temp 4-component vector of float) +0:51 texture ( global 4-component vector of float) +0:51 'shadowSampler2D' ( uniform sampler2DShadow) +0:51 'coords3D' ( temp 3-component vector of float) +0:51 'bias' ( temp float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'color' ( temp 4-component vector of float) +0:52 textureProj ( global 4-component vector of float) +0:52 'shadowSampler1D' ( uniform sampler1DShadow) +0:52 'coords4D' ( temp 4-component vector of float) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'color' ( temp 4-component vector of float) +0:53 textureProj ( global 4-component vector of float) +0:53 'shadowSampler1D' ( uniform sampler1DShadow) +0:53 'coords4D' ( temp 4-component vector of float) +0:53 'bias' ( temp float) +0:54 add second child into first child ( temp 4-component vector of float) +0:54 'color' ( temp 4-component vector of float) +0:54 textureProj ( global 4-component vector of float) +0:54 'shadowSampler2D' ( uniform sampler2DShadow) +0:54 'coords4D' ( temp 4-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 textureProj ( global 4-component vector of float) +0:55 'shadowSampler2D' ( uniform sampler2DShadow) +0:55 'coords4D' ( temp 4-component vector of float) +0:55 'bias' ( temp float) 0:57 Sequence -0:57 move second child to first child (temp 2-component vector of int) -0:57 'iCoords2D' (temp 2-component vector of int) +0:57 move second child to first child ( temp 2-component vector of int) +0:57 'iCoords2D' ( temp 2-component vector of int) 0:57 Constant: 0:57 0 (const int) 0:57 5 (const int) 0:58 Sequence -0:58 move second child to first child (temp int) -0:58 'iLod' (temp int) +0:58 move second child to first child ( temp int) +0:58 'iLod' ( temp int) 0:58 Constant: 0:58 1 (const int) -0:60 add second child into first child (temp 4-component vector of float) -0:60 'color' (temp 4-component vector of float) -0:60 textureFetch (global 4-component vector of float) -0:60 'texSampler2D' (uniform sampler2D) -0:60 'iCoords2D' (temp 2-component vector of int) -0:60 'iLod' (temp int) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'color' ( temp 4-component vector of float) +0:60 textureFetch ( global 4-component vector of float) +0:60 'texSampler2D' ( uniform sampler2D) +0:60 'iCoords2D' ( temp 2-component vector of int) +0:60 'iLod' ( temp int) 0:62 Sequence -0:62 move second child to first child (temp 2-component vector of float) -0:62 'gradX' (temp 2-component vector of float) -0:62 dPdx (global 2-component vector of float) -0:62 'coords2D' (smooth in 2-component vector of float) +0:62 move second child to first child ( temp 2-component vector of float) +0:62 'gradX' ( temp 2-component vector of float) +0:62 dPdx ( global 2-component vector of float) +0:62 'coords2D' ( smooth in 2-component vector of float) 0:63 Sequence -0:63 move second child to first child (temp 2-component vector of float) -0:63 'gradY' (temp 2-component vector of float) -0:63 dPdy (global 2-component vector of float) -0:63 'coords2D' (smooth in 2-component vector of float) -0:66 add second child into first child (temp 4-component vector of float) -0:66 'color' (temp 4-component vector of float) -0:66 textureGrad (global 4-component vector of float) -0:66 'texSampler2D' (uniform sampler2D) -0:66 'coords2D' (smooth in 2-component vector of float) -0:66 'gradX' (temp 2-component vector of float) -0:66 'gradY' (temp 2-component vector of float) -0:67 add second child into first child (temp 4-component vector of float) -0:67 'color' (temp 4-component vector of float) -0:67 textureProjGrad (global 4-component vector of float) -0:67 'texSampler2D' (uniform sampler2D) -0:67 Construct vec3 (temp 3-component vector of float) -0:67 'coords2D' (smooth in 2-component vector of float) -0:67 'proj' (temp float) -0:67 'gradX' (temp 2-component vector of float) -0:67 'gradY' (temp 2-component vector of float) -0:68 add second child into first child (temp 4-component vector of float) -0:68 'color' (temp 4-component vector of float) -0:68 textureGradOffset (global 4-component vector of float) -0:68 'texSampler2D' (uniform sampler2D) -0:68 'coords2D' (smooth in 2-component vector of float) -0:68 'gradX' (temp 2-component vector of float) -0:68 'gradY' (temp 2-component vector of float) +0:63 move second child to first child ( temp 2-component vector of float) +0:63 'gradY' ( temp 2-component vector of float) +0:63 dPdy ( global 2-component vector of float) +0:63 'coords2D' ( smooth in 2-component vector of float) +0:66 add second child into first child ( temp 4-component vector of float) +0:66 'color' ( temp 4-component vector of float) +0:66 textureGrad ( global 4-component vector of float) +0:66 'texSampler2D' ( uniform sampler2D) +0:66 'coords2D' ( smooth in 2-component vector of float) +0:66 'gradX' ( temp 2-component vector of float) +0:66 'gradY' ( temp 2-component vector of float) +0:67 add second child into first child ( temp 4-component vector of float) +0:67 'color' ( temp 4-component vector of float) +0:67 textureProjGrad ( global 4-component vector of float) +0:67 'texSampler2D' ( uniform sampler2D) +0:67 Construct vec3 ( temp 3-component vector of float) +0:67 'coords2D' ( smooth in 2-component vector of float) +0:67 'proj' ( temp float) +0:67 'gradX' ( temp 2-component vector of float) +0:67 'gradY' ( temp 2-component vector of float) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'color' ( temp 4-component vector of float) +0:68 textureGradOffset ( global 4-component vector of float) +0:68 'texSampler2D' ( uniform sampler2D) +0:68 'coords2D' ( smooth in 2-component vector of float) +0:68 'gradX' ( temp 2-component vector of float) +0:68 'gradY' ( temp 2-component vector of float) 0:68 Constant: 0:68 3 (const int) 0:68 -7 (const int) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'color' (temp 4-component vector of float) -0:69 textureProjGradOffset (global 4-component vector of float) -0:69 'texSampler2D' (uniform sampler2D) -0:69 'coords3D' (temp 3-component vector of float) -0:69 'gradX' (temp 2-component vector of float) -0:69 'gradY' (temp 2-component vector of float) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'color' ( temp 4-component vector of float) +0:69 textureProjGradOffset ( global 4-component vector of float) +0:69 'texSampler2D' ( uniform sampler2D) +0:69 'coords3D' ( temp 3-component vector of float) +0:69 'gradX' ( temp 2-component vector of float) +0:69 'gradY' ( temp 2-component vector of float) 0:69 Constant: 0:69 3 (const int) 0:69 -7 (const int) -0:70 add second child into first child (temp 4-component vector of float) -0:70 'color' (temp 4-component vector of float) -0:70 textureGrad (global float) -0:70 'shadowSampler2D' (uniform sampler2DShadow) -0:70 Construct vec3 (temp 3-component vector of float) -0:70 'coords2D' (smooth in 2-component vector of float) -0:70 'lod' (temp float) -0:70 'gradX' (temp 2-component vector of float) -0:70 'gradY' (temp 2-component vector of float) -0:72 move second child to first child (temp 4-component vector of float) -0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:72 mix (global 4-component vector of float) -0:72 'color' (temp 4-component vector of float) -0:72 'u' (uniform 4-component vector of float) -0:72 component-wise multiply (temp float) -0:72 'blend' (uniform float) -0:72 'blendscale' (temp float) +0:70 add second child into first child ( temp 4-component vector of float) +0:70 'color' ( temp 4-component vector of float) +0:70 textureGrad ( global float) +0:70 'shadowSampler2D' ( uniform sampler2DShadow) +0:70 Construct vec3 ( temp 3-component vector of float) +0:70 'coords2D' ( smooth in 2-component vector of float) +0:70 'lod' ( temp float) +0:70 'gradX' ( temp 2-component vector of float) +0:70 'gradY' ( temp 2-component vector of float) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:72 mix ( global 4-component vector of float) +0:72 'color' ( temp 4-component vector of float) +0:72 'u' ( uniform 4-component vector of float) +0:72 component-wise multiply ( temp float) +0:72 'blend' ( uniform float) +0:72 'blendscale' ( temp float) 0:? Linker Objects -0:? 'texSampler1D' (uniform sampler1D) -0:? 'texSampler2D' (uniform sampler2D) -0:? 'texSampler3D' (uniform sampler3D) -0:? 'texSamplerCube' (uniform samplerCube) -0:? 'shadowSampler1D' (uniform sampler1DShadow) -0:? 'shadowSampler2D' (uniform sampler2DShadow) -0:? 'blend' (uniform float) -0:? 'scale' (uniform 2-component vector of float) -0:? 'u' (uniform 4-component vector of float) -0:? 't' (smooth in 2-component vector of float) -0:? 'coords2D' (smooth in 2-component vector of float) +0:? 'texSampler1D' ( uniform sampler1D) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'texSampler3D' ( uniform sampler3D) +0:? 'texSamplerCube' ( uniform samplerCube) +0:? 'shadowSampler1D' ( uniform sampler1DShadow) +0:? 'shadowSampler2D' ( uniform sampler2DShadow) +0:? 'blend' ( uniform float) +0:? 'scale' ( uniform 2-component vector of float) +0:? 'u' ( uniform 4-component vector of float) +0:? 't' ( smooth in 2-component vector of float) +0:? 'coords2D' ( smooth in 2-component vector of float) Linked fragment stage: @@ -286,279 +286,279 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:17 Function Definition: main( (global void) +0:17 Function Definition: main( ( global void) 0:17 Function Parameters: 0:19 Sequence 0:19 Sequence -0:19 move second child to first child (temp float) -0:19 'blendscale' (temp float) +0:19 move second child to first child ( temp float) +0:19 'blendscale' ( temp float) 0:19 Constant: 0:19 1.789000 0:20 Sequence -0:20 move second child to first child (temp float) -0:20 'bias' (temp float) +0:20 move second child to first child ( temp float) +0:20 'bias' ( temp float) 0:20 Constant: 0:20 2.000000 0:21 Sequence -0:21 move second child to first child (temp float) -0:21 'lod' (temp float) +0:21 move second child to first child ( temp float) +0:21 'lod' ( temp float) 0:21 Constant: 0:21 3.000000 0:22 Sequence -0:22 move second child to first child (temp float) -0:22 'proj' (temp float) +0:22 move second child to first child ( temp float) +0:22 'proj' ( temp float) 0:22 Constant: 0:22 2.000000 0:23 Sequence -0:23 move second child to first child (temp float) -0:23 'coords1D' (temp float) +0:23 move second child to first child ( temp float) +0:23 'coords1D' ( temp float) 0:23 Constant: 0:23 1.789000 0:24 Sequence -0:24 move second child to first child (temp 3-component vector of float) -0:24 'coords3D' (temp 3-component vector of float) +0:24 move second child to first child ( temp 3-component vector of float) +0:24 'coords3D' ( temp 3-component vector of float) 0:24 Constant: 0:24 1.789000 0:24 2.718000 0:24 3.453000 0:25 Sequence -0:25 move second child to first child (temp 4-component vector of float) -0:25 'coords4D' (temp 4-component vector of float) +0:25 move second child to first child ( temp 4-component vector of float) +0:25 'coords4D' ( temp 4-component vector of float) 0:25 Constant: 0:25 1.789000 0:25 2.718000 0:25 3.453000 0:25 2.000000 0:26 Sequence -0:26 move second child to first child (temp 4-component vector of float) -0:26 'color' (temp 4-component vector of float) +0:26 move second child to first child ( temp 4-component vector of float) +0:26 'color' ( temp 4-component vector of float) 0:26 Constant: 0:26 0.000000 0:26 0.000000 0:26 0.000000 0:26 0.000000 -0:28 add second child into first child (temp 4-component vector of float) -0:28 'color' (temp 4-component vector of float) -0:28 texture (global 4-component vector of float) -0:28 'texSampler1D' (uniform sampler1D) -0:28 'coords1D' (temp float) -0:29 add second child into first child (temp 4-component vector of float) -0:29 'color' (temp 4-component vector of float) -0:29 texture (global 4-component vector of float) -0:29 'texSampler1D' (uniform sampler1D) -0:29 'coords1D' (temp float) -0:29 'bias' (temp float) -0:30 add second child into first child (temp 4-component vector of float) -0:30 'color' (temp 4-component vector of float) -0:30 textureProj (global 4-component vector of float) -0:30 'texSampler1D' (uniform sampler1D) -0:30 'coords2D' (smooth in 2-component vector of float) -0:31 add second child into first child (temp 4-component vector of float) -0:31 'color' (temp 4-component vector of float) -0:31 textureProj (global 4-component vector of float) -0:31 'texSampler1D' (uniform sampler1D) -0:31 'coords4D' (temp 4-component vector of float) -0:32 add second child into first child (temp 4-component vector of float) -0:32 'color' (temp 4-component vector of float) -0:32 textureProj (global 4-component vector of float) -0:32 'texSampler1D' (uniform sampler1D) -0:32 'coords2D' (smooth in 2-component vector of float) -0:32 'bias' (temp float) -0:33 add second child into first child (temp 4-component vector of float) -0:33 'color' (temp 4-component vector of float) -0:33 textureProj (global 4-component vector of float) -0:33 'texSampler1D' (uniform sampler1D) -0:33 'coords4D' (temp 4-component vector of float) -0:33 'bias' (temp float) -0:35 add second child into first child (temp 4-component vector of float) -0:35 'color' (temp 4-component vector of float) -0:35 texture (global 4-component vector of float) -0:35 'texSampler2D' (uniform sampler2D) -0:35 'coords2D' (smooth in 2-component vector of float) -0:36 add second child into first child (temp 4-component vector of float) -0:36 'color' (temp 4-component vector of float) -0:36 texture (global 4-component vector of float) -0:36 'texSampler2D' (uniform sampler2D) -0:36 'coords2D' (smooth in 2-component vector of float) -0:36 'bias' (temp float) -0:37 add second child into first child (temp 4-component vector of float) -0:37 'color' (temp 4-component vector of float) -0:37 textureProj (global 4-component vector of float) -0:37 'texSampler2D' (uniform sampler2D) -0:37 'coords3D' (temp 3-component vector of float) -0:38 add second child into first child (temp 4-component vector of float) -0:38 'color' (temp 4-component vector of float) -0:38 textureProj (global 4-component vector of float) -0:38 'texSampler2D' (uniform sampler2D) -0:38 'coords4D' (temp 4-component vector of float) -0:38 'bias' (temp float) -0:40 add second child into first child (temp 4-component vector of float) -0:40 'color' (temp 4-component vector of float) -0:40 texture (global 4-component vector of float) -0:40 'texSampler3D' (uniform sampler3D) -0:40 'coords3D' (temp 3-component vector of float) -0:41 add second child into first child (temp 4-component vector of float) -0:41 'color' (temp 4-component vector of float) -0:41 texture (global 4-component vector of float) -0:41 'texSampler3D' (uniform sampler3D) -0:41 'coords3D' (temp 3-component vector of float) -0:41 'bias' (temp float) -0:42 add second child into first child (temp 4-component vector of float) -0:42 'color' (temp 4-component vector of float) -0:42 textureProj (global 4-component vector of float) -0:42 'texSampler3D' (uniform sampler3D) -0:42 'coords4D' (temp 4-component vector of float) -0:43 add second child into first child (temp 4-component vector of float) -0:43 'color' (temp 4-component vector of float) -0:43 textureProj (global 4-component vector of float) -0:43 'texSampler3D' (uniform sampler3D) -0:43 'coords4D' (temp 4-component vector of float) -0:43 'bias' (temp float) -0:45 add second child into first child (temp 4-component vector of float) -0:45 'color' (temp 4-component vector of float) -0:45 texture (global 4-component vector of float) -0:45 'texSamplerCube' (uniform samplerCube) -0:45 'coords3D' (temp 3-component vector of float) -0:46 add second child into first child (temp 4-component vector of float) -0:46 'color' (temp 4-component vector of float) -0:46 texture (global 4-component vector of float) -0:46 'texSamplerCube' (uniform samplerCube) -0:46 'coords3D' (temp 3-component vector of float) -0:46 'bias' (temp float) -0:48 add second child into first child (temp 4-component vector of float) -0:48 'color' (temp 4-component vector of float) -0:48 texture (global 4-component vector of float) -0:48 'shadowSampler1D' (uniform sampler1DShadow) -0:48 'coords3D' (temp 3-component vector of float) -0:49 add second child into first child (temp 4-component vector of float) -0:49 'color' (temp 4-component vector of float) -0:49 texture (global 4-component vector of float) -0:49 'shadowSampler1D' (uniform sampler1DShadow) -0:49 'coords3D' (temp 3-component vector of float) -0:49 'bias' (temp float) -0:50 add second child into first child (temp 4-component vector of float) -0:50 'color' (temp 4-component vector of float) -0:50 texture (global 4-component vector of float) -0:50 'shadowSampler2D' (uniform sampler2DShadow) -0:50 'coords3D' (temp 3-component vector of float) -0:51 add second child into first child (temp 4-component vector of float) -0:51 'color' (temp 4-component vector of float) -0:51 texture (global 4-component vector of float) -0:51 'shadowSampler2D' (uniform sampler2DShadow) -0:51 'coords3D' (temp 3-component vector of float) -0:51 'bias' (temp float) -0:52 add second child into first child (temp 4-component vector of float) -0:52 'color' (temp 4-component vector of float) -0:52 textureProj (global 4-component vector of float) -0:52 'shadowSampler1D' (uniform sampler1DShadow) -0:52 'coords4D' (temp 4-component vector of float) -0:53 add second child into first child (temp 4-component vector of float) -0:53 'color' (temp 4-component vector of float) -0:53 textureProj (global 4-component vector of float) -0:53 'shadowSampler1D' (uniform sampler1DShadow) -0:53 'coords4D' (temp 4-component vector of float) -0:53 'bias' (temp float) -0:54 add second child into first child (temp 4-component vector of float) -0:54 'color' (temp 4-component vector of float) -0:54 textureProj (global 4-component vector of float) -0:54 'shadowSampler2D' (uniform sampler2DShadow) -0:54 'coords4D' (temp 4-component vector of float) -0:55 add second child into first child (temp 4-component vector of float) -0:55 'color' (temp 4-component vector of float) -0:55 textureProj (global 4-component vector of float) -0:55 'shadowSampler2D' (uniform sampler2DShadow) -0:55 'coords4D' (temp 4-component vector of float) -0:55 'bias' (temp float) +0:28 add second child into first child ( temp 4-component vector of float) +0:28 'color' ( temp 4-component vector of float) +0:28 texture ( global 4-component vector of float) +0:28 'texSampler1D' ( uniform sampler1D) +0:28 'coords1D' ( temp float) +0:29 add second child into first child ( temp 4-component vector of float) +0:29 'color' ( temp 4-component vector of float) +0:29 texture ( global 4-component vector of float) +0:29 'texSampler1D' ( uniform sampler1D) +0:29 'coords1D' ( temp float) +0:29 'bias' ( temp float) +0:30 add second child into first child ( temp 4-component vector of float) +0:30 'color' ( temp 4-component vector of float) +0:30 textureProj ( global 4-component vector of float) +0:30 'texSampler1D' ( uniform sampler1D) +0:30 'coords2D' ( smooth in 2-component vector of float) +0:31 add second child into first child ( temp 4-component vector of float) +0:31 'color' ( temp 4-component vector of float) +0:31 textureProj ( global 4-component vector of float) +0:31 'texSampler1D' ( uniform sampler1D) +0:31 'coords4D' ( temp 4-component vector of float) +0:32 add second child into first child ( temp 4-component vector of float) +0:32 'color' ( temp 4-component vector of float) +0:32 textureProj ( global 4-component vector of float) +0:32 'texSampler1D' ( uniform sampler1D) +0:32 'coords2D' ( smooth in 2-component vector of float) +0:32 'bias' ( temp float) +0:33 add second child into first child ( temp 4-component vector of float) +0:33 'color' ( temp 4-component vector of float) +0:33 textureProj ( global 4-component vector of float) +0:33 'texSampler1D' ( uniform sampler1D) +0:33 'coords4D' ( temp 4-component vector of float) +0:33 'bias' ( temp float) +0:35 add second child into first child ( temp 4-component vector of float) +0:35 'color' ( temp 4-component vector of float) +0:35 texture ( global 4-component vector of float) +0:35 'texSampler2D' ( uniform sampler2D) +0:35 'coords2D' ( smooth in 2-component vector of float) +0:36 add second child into first child ( temp 4-component vector of float) +0:36 'color' ( temp 4-component vector of float) +0:36 texture ( global 4-component vector of float) +0:36 'texSampler2D' ( uniform sampler2D) +0:36 'coords2D' ( smooth in 2-component vector of float) +0:36 'bias' ( temp float) +0:37 add second child into first child ( temp 4-component vector of float) +0:37 'color' ( temp 4-component vector of float) +0:37 textureProj ( global 4-component vector of float) +0:37 'texSampler2D' ( uniform sampler2D) +0:37 'coords3D' ( temp 3-component vector of float) +0:38 add second child into first child ( temp 4-component vector of float) +0:38 'color' ( temp 4-component vector of float) +0:38 textureProj ( global 4-component vector of float) +0:38 'texSampler2D' ( uniform sampler2D) +0:38 'coords4D' ( temp 4-component vector of float) +0:38 'bias' ( temp float) +0:40 add second child into first child ( temp 4-component vector of float) +0:40 'color' ( temp 4-component vector of float) +0:40 texture ( global 4-component vector of float) +0:40 'texSampler3D' ( uniform sampler3D) +0:40 'coords3D' ( temp 3-component vector of float) +0:41 add second child into first child ( temp 4-component vector of float) +0:41 'color' ( temp 4-component vector of float) +0:41 texture ( global 4-component vector of float) +0:41 'texSampler3D' ( uniform sampler3D) +0:41 'coords3D' ( temp 3-component vector of float) +0:41 'bias' ( temp float) +0:42 add second child into first child ( temp 4-component vector of float) +0:42 'color' ( temp 4-component vector of float) +0:42 textureProj ( global 4-component vector of float) +0:42 'texSampler3D' ( uniform sampler3D) +0:42 'coords4D' ( temp 4-component vector of float) +0:43 add second child into first child ( temp 4-component vector of float) +0:43 'color' ( temp 4-component vector of float) +0:43 textureProj ( global 4-component vector of float) +0:43 'texSampler3D' ( uniform sampler3D) +0:43 'coords4D' ( temp 4-component vector of float) +0:43 'bias' ( temp float) +0:45 add second child into first child ( temp 4-component vector of float) +0:45 'color' ( temp 4-component vector of float) +0:45 texture ( global 4-component vector of float) +0:45 'texSamplerCube' ( uniform samplerCube) +0:45 'coords3D' ( temp 3-component vector of float) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'color' ( temp 4-component vector of float) +0:46 texture ( global 4-component vector of float) +0:46 'texSamplerCube' ( uniform samplerCube) +0:46 'coords3D' ( temp 3-component vector of float) +0:46 'bias' ( temp float) +0:48 add second child into first child ( temp 4-component vector of float) +0:48 'color' ( temp 4-component vector of float) +0:48 texture ( global 4-component vector of float) +0:48 'shadowSampler1D' ( uniform sampler1DShadow) +0:48 'coords3D' ( temp 3-component vector of float) +0:49 add second child into first child ( temp 4-component vector of float) +0:49 'color' ( temp 4-component vector of float) +0:49 texture ( global 4-component vector of float) +0:49 'shadowSampler1D' ( uniform sampler1DShadow) +0:49 'coords3D' ( temp 3-component vector of float) +0:49 'bias' ( temp float) +0:50 add second child into first child ( temp 4-component vector of float) +0:50 'color' ( temp 4-component vector of float) +0:50 texture ( global 4-component vector of float) +0:50 'shadowSampler2D' ( uniform sampler2DShadow) +0:50 'coords3D' ( temp 3-component vector of float) +0:51 add second child into first child ( temp 4-component vector of float) +0:51 'color' ( temp 4-component vector of float) +0:51 texture ( global 4-component vector of float) +0:51 'shadowSampler2D' ( uniform sampler2DShadow) +0:51 'coords3D' ( temp 3-component vector of float) +0:51 'bias' ( temp float) +0:52 add second child into first child ( temp 4-component vector of float) +0:52 'color' ( temp 4-component vector of float) +0:52 textureProj ( global 4-component vector of float) +0:52 'shadowSampler1D' ( uniform sampler1DShadow) +0:52 'coords4D' ( temp 4-component vector of float) +0:53 add second child into first child ( temp 4-component vector of float) +0:53 'color' ( temp 4-component vector of float) +0:53 textureProj ( global 4-component vector of float) +0:53 'shadowSampler1D' ( uniform sampler1DShadow) +0:53 'coords4D' ( temp 4-component vector of float) +0:53 'bias' ( temp float) +0:54 add second child into first child ( temp 4-component vector of float) +0:54 'color' ( temp 4-component vector of float) +0:54 textureProj ( global 4-component vector of float) +0:54 'shadowSampler2D' ( uniform sampler2DShadow) +0:54 'coords4D' ( temp 4-component vector of float) +0:55 add second child into first child ( temp 4-component vector of float) +0:55 'color' ( temp 4-component vector of float) +0:55 textureProj ( global 4-component vector of float) +0:55 'shadowSampler2D' ( uniform sampler2DShadow) +0:55 'coords4D' ( temp 4-component vector of float) +0:55 'bias' ( temp float) 0:57 Sequence -0:57 move second child to first child (temp 2-component vector of int) -0:57 'iCoords2D' (temp 2-component vector of int) +0:57 move second child to first child ( temp 2-component vector of int) +0:57 'iCoords2D' ( temp 2-component vector of int) 0:57 Constant: 0:57 0 (const int) 0:57 5 (const int) 0:58 Sequence -0:58 move second child to first child (temp int) -0:58 'iLod' (temp int) +0:58 move second child to first child ( temp int) +0:58 'iLod' ( temp int) 0:58 Constant: 0:58 1 (const int) -0:60 add second child into first child (temp 4-component vector of float) -0:60 'color' (temp 4-component vector of float) -0:60 textureFetch (global 4-component vector of float) -0:60 'texSampler2D' (uniform sampler2D) -0:60 'iCoords2D' (temp 2-component vector of int) -0:60 'iLod' (temp int) +0:60 add second child into first child ( temp 4-component vector of float) +0:60 'color' ( temp 4-component vector of float) +0:60 textureFetch ( global 4-component vector of float) +0:60 'texSampler2D' ( uniform sampler2D) +0:60 'iCoords2D' ( temp 2-component vector of int) +0:60 'iLod' ( temp int) 0:62 Sequence -0:62 move second child to first child (temp 2-component vector of float) -0:62 'gradX' (temp 2-component vector of float) -0:62 dPdx (global 2-component vector of float) -0:62 'coords2D' (smooth in 2-component vector of float) +0:62 move second child to first child ( temp 2-component vector of float) +0:62 'gradX' ( temp 2-component vector of float) +0:62 dPdx ( global 2-component vector of float) +0:62 'coords2D' ( smooth in 2-component vector of float) 0:63 Sequence -0:63 move second child to first child (temp 2-component vector of float) -0:63 'gradY' (temp 2-component vector of float) -0:63 dPdy (global 2-component vector of float) -0:63 'coords2D' (smooth in 2-component vector of float) -0:66 add second child into first child (temp 4-component vector of float) -0:66 'color' (temp 4-component vector of float) -0:66 textureGrad (global 4-component vector of float) -0:66 'texSampler2D' (uniform sampler2D) -0:66 'coords2D' (smooth in 2-component vector of float) -0:66 'gradX' (temp 2-component vector of float) -0:66 'gradY' (temp 2-component vector of float) -0:67 add second child into first child (temp 4-component vector of float) -0:67 'color' (temp 4-component vector of float) -0:67 textureProjGrad (global 4-component vector of float) -0:67 'texSampler2D' (uniform sampler2D) -0:67 Construct vec3 (temp 3-component vector of float) -0:67 'coords2D' (smooth in 2-component vector of float) -0:67 'proj' (temp float) -0:67 'gradX' (temp 2-component vector of float) -0:67 'gradY' (temp 2-component vector of float) -0:68 add second child into first child (temp 4-component vector of float) -0:68 'color' (temp 4-component vector of float) -0:68 textureGradOffset (global 4-component vector of float) -0:68 'texSampler2D' (uniform sampler2D) -0:68 'coords2D' (smooth in 2-component vector of float) -0:68 'gradX' (temp 2-component vector of float) -0:68 'gradY' (temp 2-component vector of float) +0:63 move second child to first child ( temp 2-component vector of float) +0:63 'gradY' ( temp 2-component vector of float) +0:63 dPdy ( global 2-component vector of float) +0:63 'coords2D' ( smooth in 2-component vector of float) +0:66 add second child into first child ( temp 4-component vector of float) +0:66 'color' ( temp 4-component vector of float) +0:66 textureGrad ( global 4-component vector of float) +0:66 'texSampler2D' ( uniform sampler2D) +0:66 'coords2D' ( smooth in 2-component vector of float) +0:66 'gradX' ( temp 2-component vector of float) +0:66 'gradY' ( temp 2-component vector of float) +0:67 add second child into first child ( temp 4-component vector of float) +0:67 'color' ( temp 4-component vector of float) +0:67 textureProjGrad ( global 4-component vector of float) +0:67 'texSampler2D' ( uniform sampler2D) +0:67 Construct vec3 ( temp 3-component vector of float) +0:67 'coords2D' ( smooth in 2-component vector of float) +0:67 'proj' ( temp float) +0:67 'gradX' ( temp 2-component vector of float) +0:67 'gradY' ( temp 2-component vector of float) +0:68 add second child into first child ( temp 4-component vector of float) +0:68 'color' ( temp 4-component vector of float) +0:68 textureGradOffset ( global 4-component vector of float) +0:68 'texSampler2D' ( uniform sampler2D) +0:68 'coords2D' ( smooth in 2-component vector of float) +0:68 'gradX' ( temp 2-component vector of float) +0:68 'gradY' ( temp 2-component vector of float) 0:68 Constant: 0:68 3 (const int) 0:68 -7 (const int) -0:69 add second child into first child (temp 4-component vector of float) -0:69 'color' (temp 4-component vector of float) -0:69 textureProjGradOffset (global 4-component vector of float) -0:69 'texSampler2D' (uniform sampler2D) -0:69 'coords3D' (temp 3-component vector of float) -0:69 'gradX' (temp 2-component vector of float) -0:69 'gradY' (temp 2-component vector of float) +0:69 add second child into first child ( temp 4-component vector of float) +0:69 'color' ( temp 4-component vector of float) +0:69 textureProjGradOffset ( global 4-component vector of float) +0:69 'texSampler2D' ( uniform sampler2D) +0:69 'coords3D' ( temp 3-component vector of float) +0:69 'gradX' ( temp 2-component vector of float) +0:69 'gradY' ( temp 2-component vector of float) 0:69 Constant: 0:69 3 (const int) 0:69 -7 (const int) -0:70 add second child into first child (temp 4-component vector of float) -0:70 'color' (temp 4-component vector of float) -0:70 textureGrad (global float) -0:70 'shadowSampler2D' (uniform sampler2DShadow) -0:70 Construct vec3 (temp 3-component vector of float) -0:70 'coords2D' (smooth in 2-component vector of float) -0:70 'lod' (temp float) -0:70 'gradX' (temp 2-component vector of float) -0:70 'gradY' (temp 2-component vector of float) -0:72 move second child to first child (temp 4-component vector of float) -0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:72 mix (global 4-component vector of float) -0:72 'color' (temp 4-component vector of float) -0:72 'u' (uniform 4-component vector of float) -0:72 component-wise multiply (temp float) -0:72 'blend' (uniform float) -0:72 'blendscale' (temp float) +0:70 add second child into first child ( temp 4-component vector of float) +0:70 'color' ( temp 4-component vector of float) +0:70 textureGrad ( global float) +0:70 'shadowSampler2D' ( uniform sampler2DShadow) +0:70 Construct vec3 ( temp 3-component vector of float) +0:70 'coords2D' ( smooth in 2-component vector of float) +0:70 'lod' ( temp float) +0:70 'gradX' ( temp 2-component vector of float) +0:70 'gradY' ( temp 2-component vector of float) +0:72 move second child to first child ( temp 4-component vector of float) +0:72 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:72 mix ( global 4-component vector of float) +0:72 'color' ( temp 4-component vector of float) +0:72 'u' ( uniform 4-component vector of float) +0:72 component-wise multiply ( temp float) +0:72 'blend' ( uniform float) +0:72 'blendscale' ( temp float) 0:? Linker Objects -0:? 'texSampler1D' (uniform sampler1D) -0:? 'texSampler2D' (uniform sampler2D) -0:? 'texSampler3D' (uniform sampler3D) -0:? 'texSamplerCube' (uniform samplerCube) -0:? 'shadowSampler1D' (uniform sampler1DShadow) -0:? 'shadowSampler2D' (uniform sampler2DShadow) -0:? 'blend' (uniform float) -0:? 'scale' (uniform 2-component vector of float) -0:? 'u' (uniform 4-component vector of float) -0:? 't' (smooth in 2-component vector of float) -0:? 'coords2D' (smooth in 2-component vector of float) +0:? 'texSampler1D' ( uniform sampler1D) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'texSampler3D' ( uniform sampler3D) +0:? 'texSamplerCube' ( uniform samplerCube) +0:? 'shadowSampler1D' ( uniform sampler1DShadow) +0:? 'shadowSampler2D' ( uniform sampler2DShadow) +0:? 'blend' ( uniform float) +0:? 'scale' ( uniform 2-component vector of float) +0:? 'u' ( uniform 4-component vector of float) +0:? 't' ( smooth in 2-component vector of float) +0:? 'coords2D' ( smooth in 2-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenLength.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenLength.vert.out index f12874b6796..c4738585c5b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenLength.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenLength.vert.out @@ -33,94 +33,94 @@ ERROR: 26 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! 0:9 Sequence -0:9 move second child to first child (temp highp int) -0:9 'E1' (global highp int) +0:9 move second child to first child ( temp highp int) +0:9 'E1' ( global highp int) 0:9 Constant: 0:9 -1 (const int) 0:10 Sequence -0:10 move second child to first child (temp highp int) -0:10 'E2' (global highp int) +0:10 move second child to first child ( temp highp int) +0:10 'E2' ( global highp int) 0:10 Constant: 0:10 -1 (const int) 0:11 Sequence -0:11 move second child to first child (temp highp int) -0:11 'B' (global highp int) +0:11 move second child to first child ( temp highp int) +0:11 'B' ( global highp int) 0:11 Constant: 0:11 -1 (const int) 0:13 Sequence -0:13 move second child to first child (temp highp int) -0:13 'OE' (global highp int) +0:13 move second child to first child ( temp highp int) +0:13 'OE' ( global highp int) 0:13 Constant: 0:13 1073741823 (const int) 0:14 Sequence -0:14 move second child to first child (temp highp int) -0:14 'HE' (global highp int) +0:14 move second child to first child ( temp highp int) +0:14 'HE' ( global highp int) 0:14 Constant: 0:14 -1 (const int) 0:17 Sequence -0:17 move second child to first child (temp highp float) -0:17 'F' (global highp float) +0:17 move second child to first child ( temp highp float) +0:17 'F' ( global highp float) 0:17 Constant: 0:17 1.012346 0:20 Sequence -0:20 move second child to first child (temp highp float) -0:20 'G' (global highp float) +0:20 move second child to first child ( temp highp float) +0:20 'G' ( global highp float) 0:20 Constant: 0:20 1.012346 0:23 Sequence -0:23 move second child to first child (temp highp float) -0:23 'E3' (global highp float) +0:23 move second child to first child ( temp highp float) +0:23 'E3' ( global highp float) 0:23 Constant: 0:23 1.012346 -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 move second child to first child (temp highp 4-component vector of float) -0:27 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:28 Construct vec4 (temp highp 4-component vector of float) -0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:28 Convert int to float (temp highp float) -0:28 'B' (global highp int) -0:28 'F' (global highp float) -0:28 'G' (global highp float) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:28 Construct vec4 ( temp highp 4-component vector of float) +0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:28 Convert int to float ( temp highp float) +0:28 'B' ( global highp int) +0:28 'F' ( global highp float) +0:28 'G' ( global highp float) 0:33 Sequence -0:33 move second child to first child (temp highp int) -0:33 'superH' (global highp int) +0:33 move second child to first child ( temp highp int) +0:33 'superH' ( global highp int) 0:33 Constant: 0:33 -1 (const int) 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'superO' (global highp int) +0:34 move second child to first child ( temp highp int) +0:34 'superO' ( global highp int) 0:34 Constant: 0:34 1073741823 (const int) 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'superI' (global highp int) +0:35 move second child to first child ( temp highp int) +0:35 'superI' ( global highp int) 0:35 Constant: 0:35 -1 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp float) -0:36 'superF' (global highp float) +0:36 move second child to first child ( temp highp float) +0:36 'superF' ( global highp float) 0:36 Constant: 0:36 1.012346 0:? Linker Objects -0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:? 'E1' (global highp int) -0:? 'E2' (global highp int) -0:? 'B' (global highp int) -0:? 'OE' (global highp int) -0:? 'HE' (global highp int) -0:? 'F' (global highp float) -0:? 'G' (global highp float) -0:? 'E3' (global highp float) -0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float) -0:? 'superH' (global highp int) -0:? 'superO' (global highp int) -0:? 'superI' (global highp int) -0:? 'superF' (global highp float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:? 'E1' ( global highp int) +0:? 'E2' ( global highp int) +0:? 'B' ( global highp int) +0:? 'OE' ( global highp int) +0:? 'HE' ( global highp int) +0:? 'F' ( global highp float) +0:? 'G' ( global highp float) +0:? 'E3' ( global highp float) +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' ( global highp float) +0:? 'superH' ( global highp int) +0:? 'superO' ( global highp int) +0:? 'superI' ( global highp int) +0:? 'superF' ( global highp float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) Linked vertex stage: @@ -129,92 +129,92 @@ Linked vertex stage: Shader version: 300 ERROR: node is still EOpNull! 0:9 Sequence -0:9 move second child to first child (temp highp int) -0:9 'E1' (global highp int) +0:9 move second child to first child ( temp highp int) +0:9 'E1' ( global highp int) 0:9 Constant: 0:9 -1 (const int) 0:10 Sequence -0:10 move second child to first child (temp highp int) -0:10 'E2' (global highp int) +0:10 move second child to first child ( temp highp int) +0:10 'E2' ( global highp int) 0:10 Constant: 0:10 -1 (const int) 0:11 Sequence -0:11 move second child to first child (temp highp int) -0:11 'B' (global highp int) +0:11 move second child to first child ( temp highp int) +0:11 'B' ( global highp int) 0:11 Constant: 0:11 -1 (const int) 0:13 Sequence -0:13 move second child to first child (temp highp int) -0:13 'OE' (global highp int) +0:13 move second child to first child ( temp highp int) +0:13 'OE' ( global highp int) 0:13 Constant: 0:13 1073741823 (const int) 0:14 Sequence -0:14 move second child to first child (temp highp int) -0:14 'HE' (global highp int) +0:14 move second child to first child ( temp highp int) +0:14 'HE' ( global highp int) 0:14 Constant: 0:14 -1 (const int) 0:17 Sequence -0:17 move second child to first child (temp highp float) -0:17 'F' (global highp float) +0:17 move second child to first child ( temp highp float) +0:17 'F' ( global highp float) 0:17 Constant: 0:17 1.012346 0:20 Sequence -0:20 move second child to first child (temp highp float) -0:20 'G' (global highp float) +0:20 move second child to first child ( temp highp float) +0:20 'G' ( global highp float) 0:20 Constant: 0:20 1.012346 0:23 Sequence -0:23 move second child to first child (temp highp float) -0:23 'E3' (global highp float) +0:23 move second child to first child ( temp highp float) +0:23 'E3' ( global highp float) 0:23 Constant: 0:23 1.012346 -0:25 Function Definition: main( (global void) +0:25 Function Definition: main( ( global void) 0:25 Function Parameters: 0:27 Sequence -0:27 move second child to first child (temp highp 4-component vector of float) -0:27 'gl_Position' (gl_Position highp 4-component vector of float Position) -0:28 Construct vec4 (temp highp 4-component vector of float) -0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:28 Convert int to float (temp highp float) -0:28 'B' (global highp int) -0:28 'F' (global highp float) -0:28 'G' (global highp float) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 'gl_Position' ( gl_Position highp 4-component vector of float Position) +0:28 Construct vec4 ( temp highp 4-component vector of float) +0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:28 Convert int to float ( temp highp float) +0:28 'B' ( global highp int) +0:28 'F' ( global highp float) +0:28 'G' ( global highp float) 0:33 Sequence -0:33 move second child to first child (temp highp int) -0:33 'superH' (global highp int) +0:33 move second child to first child ( temp highp int) +0:33 'superH' ( global highp int) 0:33 Constant: 0:33 -1 (const int) 0:34 Sequence -0:34 move second child to first child (temp highp int) -0:34 'superO' (global highp int) +0:34 move second child to first child ( temp highp int) +0:34 'superO' ( global highp int) 0:34 Constant: 0:34 1073741823 (const int) 0:35 Sequence -0:35 move second child to first child (temp highp int) -0:35 'superI' (global highp int) +0:35 move second child to first child ( temp highp int) +0:35 'superI' ( global highp int) 0:35 Constant: 0:35 -1 (const int) 0:36 Sequence -0:36 move second child to first child (temp highp float) -0:36 'superF' (global highp float) +0:36 move second child to first child ( temp highp float) +0:36 'superF' ( global highp float) 0:36 Constant: 0:36 1.012346 0:? Linker Objects -0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) -0:? 'E1' (global highp int) -0:? 'E2' (global highp int) -0:? 'B' (global highp int) -0:? 'OE' (global highp int) -0:? 'HE' (global highp int) -0:? 'F' (global highp float) -0:? 'G' (global highp float) -0:? 'E3' (global highp float) -0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float) -0:? 'superH' (global highp int) -0:? 'superO' (global highp int) -0:? 'superI' (global highp int) -0:? 'superF' (global highp float) -0:? 'gl_VertexID' (gl_VertexId highp int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId) +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' ( in highp float) +0:? 'E1' ( global highp int) +0:? 'E2' ( global highp int) +0:? 'B' ( global highp int) +0:? 'OE' ( global highp int) +0:? 'HE' ( global highp int) +0:? 'F' ( global highp float) +0:? 'G' ( global highp float) +0:? 'E3' ( global highp float) +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' ( global highp float) +0:? 'superH' ( global highp int) +0:? 'superO' ( global highp int) +0:? 'superI' ( global highp int) +0:? 'superF' ( global highp float) +0:? 'gl_VertexID' ( gl_VertexId highp int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out index b0f7d10c96c..e544d9ee330 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/tokenPaste.vert.out @@ -5,66 +5,71 @@ ERROR: 0:40: '##' : unexpected location; end of replacement list ERROR: 0:49: '##' : combined tokens are too long ERROR: 0:52: '##' : not supported for these tokens ERROR: 0:69: '##' : combined token is invalid -ERROR: 5 compilation errors. No code generated. +ERROR: 0:82: 'macro expansion' : Too few args in Macro rec +ERROR: 0:82: '##' : unexpected location +ERROR: 0:82: '##' : unexpected location +ERROR: 8 compilation errors. No code generated. Shader version: 450 ERROR: node is still EOpNull! 0:52 Sequence -0:52 move second child to first child (temp int) -0:52 'a' (global int) +0:52 move second child to first child ( temp int) +0:52 'a' ( global int) 0:52 Constant: 0:52 11 (const int) 0:58 Sequence -0:58 move second child to first child (temp int) -0:58 'cop' (global int) +0:58 move second child to first child ( temp int) +0:58 'cop' ( global int) 0:58 Constant: 0:58 160 (const int) 0:59 Sequence -0:59 move second child to first child (temp bool) -0:59 'dop' (global bool) +0:59 move second child to first child ( temp bool) +0:59 'dop' ( global bool) 0:59 Constant: 0:59 true (const bool) -0:63 Function Definition: ShouldntExpandToThis( (global void) +0:63 Function Definition: ShouldntExpandToThis( ( global void) 0:63 Function Parameters: 0:65 Sequence 0:65 Sequence -0:65 move second child to first child (temp int) -0:65 'e' (temp int) +0:65 move second child to first child ( temp int) +0:65 'e' ( temp int) 0:65 Constant: 0:65 16 (const int) -0:66 right shift second child into first child (temp int) -0:66 'e' (temp int) +0:66 right shift second child into first child ( temp int) +0:66 'e' ( temp int) 0:66 Constant: 0:66 2 (const int) 0:69 Sequence -0:69 move second child to first child (temp bool) -0:69 'f' (temp bool) -0:69 Compare Greater Than (temp bool) -0:69 'e' (temp int) +0:69 move second child to first child ( temp bool) +0:69 'f' ( temp bool) +0:69 Compare Greater Than ( temp bool) +0:69 'e' ( temp int) 0:69 Constant: 0:69 5 (const int) 0:? Linker Objects -0:? 'SecondExpansion' (global int) -0:? 'PostPasteExpansion' (global int) -0:? 'foo27' (global float) -0:? 'foo155' (uniform float) -0:? 'foo719' (global float) -0:? 'barfoo' (uniform float) -0:? 'argless' (global float) -0:? 'dc1' (global float) -0:? 'dc2' (global float) -0:? 'foo875' (uniform float) -0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345' (global float) -0:? 'a' (global int) -0:? 'aop' (const int) +0:? 'SecondExpansion' ( global int) +0:? 'PostPasteExpansion' ( global int) +0:? 'foo27' ( global float) +0:? 'foo155' ( uniform float) +0:? 'foo719' ( global float) +0:? 'barfoo' ( uniform float) +0:? 'argless' ( global float) +0:? 'dc1' ( global float) +0:? 'dc2' ( global float) +0:? 'foo875' ( uniform float) +0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345' ( global float) +0:? 'a' ( global int) +0:? 'aop' ( const int) 0:? 10 (const int) -0:? 'bop' (const int) +0:? 'bop' ( const int) 0:? 4 (const int) -0:? 'cop' (global int) -0:? 'dop' (global bool) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'cop' ( global int) +0:? 'dop' ( global bool) +0:? 'argPaste2' ( uniform int) +0:? 'argPaste20suff' ( uniform int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -74,39 +79,41 @@ ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry Shader version: 450 ERROR: node is still EOpNull! 0:52 Sequence -0:52 move second child to first child (temp int) -0:52 'a' (global int) +0:52 move second child to first child ( temp int) +0:52 'a' ( global int) 0:52 Constant: 0:52 11 (const int) 0:58 Sequence -0:58 move second child to first child (temp int) -0:58 'cop' (global int) +0:58 move second child to first child ( temp int) +0:58 'cop' ( global int) 0:58 Constant: 0:58 160 (const int) 0:59 Sequence -0:59 move second child to first child (temp bool) -0:59 'dop' (global bool) +0:59 move second child to first child ( temp bool) +0:59 'dop' ( global bool) 0:59 Constant: 0:59 true (const bool) 0:? Linker Objects -0:? 'SecondExpansion' (global int) -0:? 'PostPasteExpansion' (global int) -0:? 'foo27' (global float) -0:? 'foo155' (uniform float) -0:? 'foo719' (global float) -0:? 'barfoo' (uniform float) -0:? 'argless' (global float) -0:? 'dc1' (global float) -0:? 'dc2' (global float) -0:? 'foo875' (uniform float) -0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345' (global float) -0:? 'a' (global int) -0:? 'aop' (const int) +0:? 'SecondExpansion' ( global int) +0:? 'PostPasteExpansion' ( global int) +0:? 'foo27' ( global float) +0:? 'foo155' ( uniform float) +0:? 'foo719' ( global float) +0:? 'barfoo' ( uniform float) +0:? 'argless' ( global float) +0:? 'dc1' ( global float) +0:? 'dc2' ( global float) +0:? 'foo875' ( uniform float) +0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345' ( global float) +0:? 'a' ( global int) +0:? 'aop' ( const int) 0:? 10 (const int) -0:? 'bop' (const int) +0:? 'bop' ( const int) 0:? 4 (const int) -0:? 'cop' (global int) -0:? 'dop' (global bool) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'cop' ( global int) +0:? 'dop' ( global bool) +0:? 'argPaste2' ( uniform int) +0:? 'argPaste20suff' ( uniform int) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/types.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/types.frag.out index 475a989c7e4..94815b66ecf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/types.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/types.frag.out @@ -1,306 +1,306 @@ types.frag Shader version: 130 0:? Sequence -0:33 Function Definition: main( (global void) +0:33 Function Definition: main( ( global void) 0:33 Function Parameters: 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp bool) -0:35 'b' (temp bool) -0:35 logical-and (temp bool) -0:35 'u_b' (uniform bool) -0:35 'i_b' (uniform bool) +0:35 move second child to first child ( temp bool) +0:35 'b' ( temp bool) +0:35 logical-and ( temp bool) +0:35 'u_b' ( uniform bool) +0:35 'i_b' ( uniform bool) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of bool) -0:36 'b2' (temp 2-component vector of bool) -0:36 Construct bvec2 (temp 2-component vector of bool) -0:36 logical-and (temp bool) -0:36 logical-and (temp bool) -0:36 logical-and (temp bool) -0:36 direct index (temp bool) -0:36 'u_b2' (uniform 2-component vector of bool) +0:36 move second child to first child ( temp 2-component vector of bool) +0:36 'b2' ( temp 2-component vector of bool) +0:36 Construct bvec2 ( temp 2-component vector of bool) +0:36 logical-and ( temp bool) +0:36 logical-and ( temp bool) +0:36 logical-and ( temp bool) +0:36 direct index ( temp bool) +0:36 'u_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp bool) -0:36 'i_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'i_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp bool) -0:36 'u_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'u_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 1 (const int) -0:36 direct index (temp bool) -0:36 'i_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'i_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 3-component vector of bool) -0:37 'b3' (temp 3-component vector of bool) -0:37 Construct bvec3 (temp 3-component vector of bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 move second child to first child ( temp 3-component vector of bool) +0:37 'b3' ( temp 3-component vector of bool) +0:37 Construct bvec3 ( temp 3-component vector of bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 0 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 0 (const int) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 1 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 1 (const int) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 2 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 2 (const int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b4' (temp 4-component vector of bool) -0:38 Construct bvec4 (temp 4-component vector of bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b4' ( temp 4-component vector of bool) +0:38 Construct bvec4 ( temp 4-component vector of bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 1 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 1 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 2 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 2 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 3 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp int) -0:40 'i' (temp int) -0:40 add (temp int) -0:40 'u_i' (uniform int) -0:40 'i_i' (flat in int) +0:40 move second child to first child ( temp int) +0:40 'i' ( temp int) +0:40 add ( temp int) +0:40 'u_i' ( uniform int) +0:40 'i_i' ( flat in int) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of int) -0:41 'i2' (temp 2-component vector of int) -0:41 add (temp 2-component vector of int) -0:41 'u_i2' (uniform 2-component vector of int) -0:41 'i_i2' (flat in 2-component vector of int) +0:41 move second child to first child ( temp 2-component vector of int) +0:41 'i2' ( temp 2-component vector of int) +0:41 add ( temp 2-component vector of int) +0:41 'u_i2' ( uniform 2-component vector of int) +0:41 'i_i2' ( flat in 2-component vector of int) 0:42 Sequence -0:42 move second child to first child (temp 3-component vector of int) -0:42 'i3' (temp 3-component vector of int) -0:42 add (temp 3-component vector of int) -0:42 'u_i3' (uniform 3-component vector of int) -0:42 'i_i3' (flat in 3-component vector of int) +0:42 move second child to first child ( temp 3-component vector of int) +0:42 'i3' ( temp 3-component vector of int) +0:42 add ( temp 3-component vector of int) +0:42 'u_i3' ( uniform 3-component vector of int) +0:42 'i_i3' ( flat in 3-component vector of int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'i4' (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:43 'u_i4' (uniform 4-component vector of int) -0:43 'i_i4' (flat in 4-component vector of int) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'i4' ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:43 'u_i4' ( uniform 4-component vector of int) +0:43 'i_i4' ( flat in 4-component vector of int) 0:45 Sequence -0:45 move second child to first child (temp float) -0:45 'f' (temp float) -0:45 add (temp float) -0:45 'u_f' (uniform float) -0:45 'i_f' (smooth in float) +0:45 move second child to first child ( temp float) +0:45 'f' ( temp float) +0:45 add ( temp float) +0:45 'u_f' ( uniform float) +0:45 'i_f' ( smooth in float) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'f2' (temp 2-component vector of float) -0:46 add (temp 2-component vector of float) -0:46 'u_f2' (uniform 2-component vector of float) -0:46 'i_f2' (smooth in 2-component vector of float) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'f2' ( temp 2-component vector of float) +0:46 add ( temp 2-component vector of float) +0:46 'u_f2' ( uniform 2-component vector of float) +0:46 'i_f2' ( smooth in 2-component vector of float) 0:47 Sequence -0:47 move second child to first child (temp 3-component vector of float) -0:47 'f3' (temp 3-component vector of float) -0:47 add (temp 3-component vector of float) -0:47 'u_f3' (uniform 3-component vector of float) -0:47 'i_f3' (smooth in 3-component vector of float) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'f3' ( temp 3-component vector of float) +0:47 add ( temp 3-component vector of float) +0:47 'u_f3' ( uniform 3-component vector of float) +0:47 'i_f3' ( smooth in 3-component vector of float) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'f4' (temp 4-component vector of float) -0:48 add (temp 4-component vector of float) -0:48 'u_f4' (uniform 4-component vector of float) -0:48 'i_f4' (smooth in 4-component vector of float) -0:50 move second child to first child (temp 4-component vector of float) -0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:60 Test condition and select (temp 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'f4' ( temp 4-component vector of float) +0:48 add ( temp 4-component vector of float) +0:48 'u_f4' ( uniform 4-component vector of float) +0:48 'i_f4' ( smooth in 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:60 Test condition and select ( temp 4-component vector of float) 0:60 Condition -0:59 logical-or (temp bool) -0:58 logical-or (temp bool) -0:57 logical-or (temp bool) -0:56 logical-or (temp bool) -0:55 logical-or (temp bool) -0:54 logical-or (temp bool) -0:53 logical-or (temp bool) -0:52 logical-or (temp bool) -0:51 logical-or (temp bool) -0:51 'b' (temp bool) -0:52 direct index (temp bool) -0:52 'b2' (temp 2-component vector of bool) +0:59 logical-or ( temp bool) +0:58 logical-or ( temp bool) +0:57 logical-or ( temp bool) +0:56 logical-or ( temp bool) +0:55 logical-or ( temp bool) +0:54 logical-or ( temp bool) +0:53 logical-or ( temp bool) +0:52 logical-or ( temp bool) +0:51 logical-or ( temp bool) +0:51 'b' ( temp bool) +0:52 direct index ( temp bool) +0:52 'b2' ( temp 2-component vector of bool) 0:52 Constant: 0:52 0 (const int) -0:53 direct index (temp bool) -0:53 'b2' (temp 2-component vector of bool) +0:53 direct index ( temp bool) +0:53 'b2' ( temp 2-component vector of bool) 0:53 Constant: 0:53 1 (const int) -0:54 direct index (temp bool) -0:54 'b3' (temp 3-component vector of bool) +0:54 direct index ( temp bool) +0:54 'b3' ( temp 3-component vector of bool) 0:54 Constant: 0:54 0 (const int) -0:55 direct index (temp bool) -0:55 'b3' (temp 3-component vector of bool) +0:55 direct index ( temp bool) +0:55 'b3' ( temp 3-component vector of bool) 0:55 Constant: 0:55 1 (const int) -0:56 direct index (temp bool) -0:56 'b3' (temp 3-component vector of bool) +0:56 direct index ( temp bool) +0:56 'b3' ( temp 3-component vector of bool) 0:56 Constant: 0:56 2 (const int) -0:57 direct index (temp bool) -0:57 'b4' (temp 4-component vector of bool) +0:57 direct index ( temp bool) +0:57 'b4' ( temp 4-component vector of bool) 0:57 Constant: 0:57 0 (const int) -0:58 direct index (temp bool) -0:58 'b4' (temp 4-component vector of bool) +0:58 direct index ( temp bool) +0:58 'b4' ( temp 4-component vector of bool) 0:58 Constant: 0:58 1 (const int) -0:59 direct index (temp bool) -0:59 'b4' (temp 4-component vector of bool) +0:59 direct index ( temp bool) +0:59 'b4' ( temp 4-component vector of bool) 0:59 Constant: 0:59 2 (const int) -0:60 direct index (temp bool) -0:60 'b4' (temp 4-component vector of bool) +0:60 direct index ( temp bool) +0:60 'b4' ( temp 4-component vector of bool) 0:60 Constant: 0:60 3 (const int) 0:60 true case -0:79 Construct vec4 (temp 4-component vector of float) -0:79 add (temp float) -0:78 add (temp float) -0:77 add (temp float) -0:76 add (temp float) -0:75 add (temp float) -0:74 add (temp float) -0:73 add (temp float) -0:72 add (temp float) -0:71 add (temp float) -0:70 add (temp float) -0:69 Convert int to float (temp float) -0:69 add (temp int) -0:68 add (temp int) -0:67 add (temp int) -0:66 add (temp int) -0:65 add (temp int) -0:64 add (temp int) -0:63 add (temp int) -0:62 add (temp int) -0:61 add (temp int) -0:61 'i' (temp int) -0:62 direct index (temp int) -0:62 'i2' (temp 2-component vector of int) +0:79 Construct vec4 ( temp 4-component vector of float) +0:79 add ( temp float) +0:78 add ( temp float) +0:77 add ( temp float) +0:76 add ( temp float) +0:75 add ( temp float) +0:74 add ( temp float) +0:73 add ( temp float) +0:72 add ( temp float) +0:71 add ( temp float) +0:70 add ( temp float) +0:69 Convert int to float ( temp float) +0:69 add ( temp int) +0:68 add ( temp int) +0:67 add ( temp int) +0:66 add ( temp int) +0:65 add ( temp int) +0:64 add ( temp int) +0:63 add ( temp int) +0:62 add ( temp int) +0:61 add ( temp int) +0:61 'i' ( temp int) +0:62 direct index ( temp int) +0:62 'i2' ( temp 2-component vector of int) 0:62 Constant: 0:62 0 (const int) -0:63 direct index (temp int) -0:63 'i2' (temp 2-component vector of int) +0:63 direct index ( temp int) +0:63 'i2' ( temp 2-component vector of int) 0:63 Constant: 0:63 1 (const int) -0:64 direct index (temp int) -0:64 'i3' (temp 3-component vector of int) +0:64 direct index ( temp int) +0:64 'i3' ( temp 3-component vector of int) 0:64 Constant: 0:64 0 (const int) -0:65 direct index (temp int) -0:65 'i3' (temp 3-component vector of int) +0:65 direct index ( temp int) +0:65 'i3' ( temp 3-component vector of int) 0:65 Constant: 0:65 1 (const int) -0:66 direct index (temp int) -0:66 'i3' (temp 3-component vector of int) +0:66 direct index ( temp int) +0:66 'i3' ( temp 3-component vector of int) 0:66 Constant: 0:66 2 (const int) -0:67 direct index (temp int) -0:67 'i4' (temp 4-component vector of int) +0:67 direct index ( temp int) +0:67 'i4' ( temp 4-component vector of int) 0:67 Constant: 0:67 0 (const int) -0:68 direct index (temp int) -0:68 'i4' (temp 4-component vector of int) +0:68 direct index ( temp int) +0:68 'i4' ( temp 4-component vector of int) 0:68 Constant: 0:68 1 (const int) -0:69 direct index (temp int) -0:69 'i4' (temp 4-component vector of int) +0:69 direct index ( temp int) +0:69 'i4' ( temp 4-component vector of int) 0:69 Constant: 0:69 2 (const int) -0:70 direct index (temp int) -0:70 'i4' (temp 4-component vector of int) +0:70 direct index ( temp int) +0:70 'i4' ( temp 4-component vector of int) 0:70 Constant: 0:70 3 (const int) -0:71 'f' (temp float) -0:72 direct index (temp float) -0:72 'f2' (temp 2-component vector of float) +0:71 'f' ( temp float) +0:72 direct index ( temp float) +0:72 'f2' ( temp 2-component vector of float) 0:72 Constant: 0:72 0 (const int) -0:73 direct index (temp float) -0:73 'f2' (temp 2-component vector of float) +0:73 direct index ( temp float) +0:73 'f2' ( temp 2-component vector of float) 0:73 Constant: 0:73 1 (const int) -0:74 direct index (temp float) -0:74 'f3' (temp 3-component vector of float) +0:74 direct index ( temp float) +0:74 'f3' ( temp 3-component vector of float) 0:74 Constant: 0:74 0 (const int) -0:75 direct index (temp float) -0:75 'f3' (temp 3-component vector of float) +0:75 direct index ( temp float) +0:75 'f3' ( temp 3-component vector of float) 0:75 Constant: 0:75 1 (const int) -0:76 direct index (temp float) -0:76 'f3' (temp 3-component vector of float) +0:76 direct index ( temp float) +0:76 'f3' ( temp 3-component vector of float) 0:76 Constant: 0:76 2 (const int) -0:77 direct index (temp float) -0:77 'f4' (temp 4-component vector of float) +0:77 direct index ( temp float) +0:77 'f4' ( temp 4-component vector of float) 0:77 Constant: 0:77 0 (const int) -0:78 direct index (temp float) -0:78 'f4' (temp 4-component vector of float) +0:78 direct index ( temp float) +0:78 'f4' ( temp 4-component vector of float) 0:78 Constant: 0:78 1 (const int) -0:79 direct index (temp float) -0:79 'f4' (temp 4-component vector of float) +0:79 direct index ( temp float) +0:79 'f4' ( temp 4-component vector of float) 0:79 Constant: 0:79 2 (const int) -0:80 direct index (temp float) -0:80 'f4' (temp 4-component vector of float) +0:80 direct index ( temp float) +0:80 'f4' ( temp 4-component vector of float) 0:80 Constant: 0:80 3 (const int) 0:60 false case @@ -310,30 +310,30 @@ Shader version: 130 0:80 1.000000 0:80 1.000000 0:? Linker Objects -0:? 'u_b' (uniform bool) -0:? 'u_b2' (uniform 2-component vector of bool) -0:? 'u_b3' (uniform 3-component vector of bool) -0:? 'u_b4' (uniform 4-component vector of bool) -0:? 'u_i' (uniform int) -0:? 'u_i2' (uniform 2-component vector of int) -0:? 'u_i3' (uniform 3-component vector of int) -0:? 'u_i4' (uniform 4-component vector of int) -0:? 'u_f' (uniform float) -0:? 'u_f2' (uniform 2-component vector of float) -0:? 'u_f3' (uniform 3-component vector of float) -0:? 'u_f4' (uniform 4-component vector of float) -0:? 'i_b' (uniform bool) -0:? 'i_b2' (uniform 2-component vector of bool) -0:? 'i_b3' (uniform 3-component vector of bool) -0:? 'i_b4' (uniform 4-component vector of bool) -0:? 'i_i' (flat in int) -0:? 'i_i2' (flat in 2-component vector of int) -0:? 'i_i3' (flat in 3-component vector of int) -0:? 'i_i4' (flat in 4-component vector of int) -0:? 'i_f' (smooth in float) -0:? 'i_f2' (smooth in 2-component vector of float) -0:? 'i_f3' (smooth in 3-component vector of float) -0:? 'i_f4' (smooth in 4-component vector of float) +0:? 'u_b' ( uniform bool) +0:? 'u_b2' ( uniform 2-component vector of bool) +0:? 'u_b3' ( uniform 3-component vector of bool) +0:? 'u_b4' ( uniform 4-component vector of bool) +0:? 'u_i' ( uniform int) +0:? 'u_i2' ( uniform 2-component vector of int) +0:? 'u_i3' ( uniform 3-component vector of int) +0:? 'u_i4' ( uniform 4-component vector of int) +0:? 'u_f' ( uniform float) +0:? 'u_f2' ( uniform 2-component vector of float) +0:? 'u_f3' ( uniform 3-component vector of float) +0:? 'u_f4' ( uniform 4-component vector of float) +0:? 'i_b' ( uniform bool) +0:? 'i_b2' ( uniform 2-component vector of bool) +0:? 'i_b3' ( uniform 3-component vector of bool) +0:? 'i_b4' ( uniform 4-component vector of bool) +0:? 'i_i' ( flat in int) +0:? 'i_i2' ( flat in 2-component vector of int) +0:? 'i_i3' ( flat in 3-component vector of int) +0:? 'i_i4' ( flat in 4-component vector of int) +0:? 'i_f' ( smooth in float) +0:? 'i_f2' ( smooth in 2-component vector of float) +0:? 'i_f3' ( smooth in 3-component vector of float) +0:? 'i_f4' ( smooth in 4-component vector of float) Linked fragment stage: @@ -341,306 +341,306 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:33 Function Definition: main( (global void) +0:33 Function Definition: main( ( global void) 0:33 Function Parameters: 0:35 Sequence 0:35 Sequence -0:35 move second child to first child (temp bool) -0:35 'b' (temp bool) -0:35 logical-and (temp bool) -0:35 'u_b' (uniform bool) -0:35 'i_b' (uniform bool) +0:35 move second child to first child ( temp bool) +0:35 'b' ( temp bool) +0:35 logical-and ( temp bool) +0:35 'u_b' ( uniform bool) +0:35 'i_b' ( uniform bool) 0:36 Sequence -0:36 move second child to first child (temp 2-component vector of bool) -0:36 'b2' (temp 2-component vector of bool) -0:36 Construct bvec2 (temp 2-component vector of bool) -0:36 logical-and (temp bool) -0:36 logical-and (temp bool) -0:36 logical-and (temp bool) -0:36 direct index (temp bool) -0:36 'u_b2' (uniform 2-component vector of bool) +0:36 move second child to first child ( temp 2-component vector of bool) +0:36 'b2' ( temp 2-component vector of bool) +0:36 Construct bvec2 ( temp 2-component vector of bool) +0:36 logical-and ( temp bool) +0:36 logical-and ( temp bool) +0:36 logical-and ( temp bool) +0:36 direct index ( temp bool) +0:36 'u_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp bool) -0:36 'i_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'i_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 0 (const int) -0:36 direct index (temp bool) -0:36 'u_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'u_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 1 (const int) -0:36 direct index (temp bool) -0:36 'i_b2' (uniform 2-component vector of bool) +0:36 direct index ( temp bool) +0:36 'i_b2' ( uniform 2-component vector of bool) 0:36 Constant: 0:36 1 (const int) 0:37 Sequence -0:37 move second child to first child (temp 3-component vector of bool) -0:37 'b3' (temp 3-component vector of bool) -0:37 Construct bvec3 (temp 3-component vector of bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 logical-and (temp bool) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 move second child to first child ( temp 3-component vector of bool) +0:37 'b3' ( temp 3-component vector of bool) +0:37 Construct bvec3 ( temp 3-component vector of bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 logical-and ( temp bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 0 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 0 (const int) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 1 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 1 (const int) -0:37 direct index (temp bool) -0:37 'u_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'u_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 2 (const int) -0:37 direct index (temp bool) -0:37 'i_b3' (uniform 3-component vector of bool) +0:37 direct index ( temp bool) +0:37 'i_b3' ( uniform 3-component vector of bool) 0:37 Constant: 0:37 2 (const int) 0:38 Sequence -0:38 move second child to first child (temp 4-component vector of bool) -0:38 'b4' (temp 4-component vector of bool) -0:38 Construct bvec4 (temp 4-component vector of bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 logical-and (temp bool) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 move second child to first child ( temp 4-component vector of bool) +0:38 'b4' ( temp 4-component vector of bool) +0:38 Construct bvec4 ( temp 4-component vector of bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 logical-and ( temp bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 0 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 1 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 1 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 2 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 2 (const int) -0:38 direct index (temp bool) -0:38 'u_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'u_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 3 (const int) -0:38 direct index (temp bool) -0:38 'i_b4' (uniform 4-component vector of bool) +0:38 direct index ( temp bool) +0:38 'i_b4' ( uniform 4-component vector of bool) 0:38 Constant: 0:38 3 (const int) 0:40 Sequence -0:40 move second child to first child (temp int) -0:40 'i' (temp int) -0:40 add (temp int) -0:40 'u_i' (uniform int) -0:40 'i_i' (flat in int) +0:40 move second child to first child ( temp int) +0:40 'i' ( temp int) +0:40 add ( temp int) +0:40 'u_i' ( uniform int) +0:40 'i_i' ( flat in int) 0:41 Sequence -0:41 move second child to first child (temp 2-component vector of int) -0:41 'i2' (temp 2-component vector of int) -0:41 add (temp 2-component vector of int) -0:41 'u_i2' (uniform 2-component vector of int) -0:41 'i_i2' (flat in 2-component vector of int) +0:41 move second child to first child ( temp 2-component vector of int) +0:41 'i2' ( temp 2-component vector of int) +0:41 add ( temp 2-component vector of int) +0:41 'u_i2' ( uniform 2-component vector of int) +0:41 'i_i2' ( flat in 2-component vector of int) 0:42 Sequence -0:42 move second child to first child (temp 3-component vector of int) -0:42 'i3' (temp 3-component vector of int) -0:42 add (temp 3-component vector of int) -0:42 'u_i3' (uniform 3-component vector of int) -0:42 'i_i3' (flat in 3-component vector of int) +0:42 move second child to first child ( temp 3-component vector of int) +0:42 'i3' ( temp 3-component vector of int) +0:42 add ( temp 3-component vector of int) +0:42 'u_i3' ( uniform 3-component vector of int) +0:42 'i_i3' ( flat in 3-component vector of int) 0:43 Sequence -0:43 move second child to first child (temp 4-component vector of int) -0:43 'i4' (temp 4-component vector of int) -0:43 add (temp 4-component vector of int) -0:43 'u_i4' (uniform 4-component vector of int) -0:43 'i_i4' (flat in 4-component vector of int) +0:43 move second child to first child ( temp 4-component vector of int) +0:43 'i4' ( temp 4-component vector of int) +0:43 add ( temp 4-component vector of int) +0:43 'u_i4' ( uniform 4-component vector of int) +0:43 'i_i4' ( flat in 4-component vector of int) 0:45 Sequence -0:45 move second child to first child (temp float) -0:45 'f' (temp float) -0:45 add (temp float) -0:45 'u_f' (uniform float) -0:45 'i_f' (smooth in float) +0:45 move second child to first child ( temp float) +0:45 'f' ( temp float) +0:45 add ( temp float) +0:45 'u_f' ( uniform float) +0:45 'i_f' ( smooth in float) 0:46 Sequence -0:46 move second child to first child (temp 2-component vector of float) -0:46 'f2' (temp 2-component vector of float) -0:46 add (temp 2-component vector of float) -0:46 'u_f2' (uniform 2-component vector of float) -0:46 'i_f2' (smooth in 2-component vector of float) +0:46 move second child to first child ( temp 2-component vector of float) +0:46 'f2' ( temp 2-component vector of float) +0:46 add ( temp 2-component vector of float) +0:46 'u_f2' ( uniform 2-component vector of float) +0:46 'i_f2' ( smooth in 2-component vector of float) 0:47 Sequence -0:47 move second child to first child (temp 3-component vector of float) -0:47 'f3' (temp 3-component vector of float) -0:47 add (temp 3-component vector of float) -0:47 'u_f3' (uniform 3-component vector of float) -0:47 'i_f3' (smooth in 3-component vector of float) +0:47 move second child to first child ( temp 3-component vector of float) +0:47 'f3' ( temp 3-component vector of float) +0:47 add ( temp 3-component vector of float) +0:47 'u_f3' ( uniform 3-component vector of float) +0:47 'i_f3' ( smooth in 3-component vector of float) 0:48 Sequence -0:48 move second child to first child (temp 4-component vector of float) -0:48 'f4' (temp 4-component vector of float) -0:48 add (temp 4-component vector of float) -0:48 'u_f4' (uniform 4-component vector of float) -0:48 'i_f4' (smooth in 4-component vector of float) -0:50 move second child to first child (temp 4-component vector of float) -0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:60 Test condition and select (temp 4-component vector of float) +0:48 move second child to first child ( temp 4-component vector of float) +0:48 'f4' ( temp 4-component vector of float) +0:48 add ( temp 4-component vector of float) +0:48 'u_f4' ( uniform 4-component vector of float) +0:48 'i_f4' ( smooth in 4-component vector of float) +0:50 move second child to first child ( temp 4-component vector of float) +0:50 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:60 Test condition and select ( temp 4-component vector of float) 0:60 Condition -0:59 logical-or (temp bool) -0:58 logical-or (temp bool) -0:57 logical-or (temp bool) -0:56 logical-or (temp bool) -0:55 logical-or (temp bool) -0:54 logical-or (temp bool) -0:53 logical-or (temp bool) -0:52 logical-or (temp bool) -0:51 logical-or (temp bool) -0:51 'b' (temp bool) -0:52 direct index (temp bool) -0:52 'b2' (temp 2-component vector of bool) +0:59 logical-or ( temp bool) +0:58 logical-or ( temp bool) +0:57 logical-or ( temp bool) +0:56 logical-or ( temp bool) +0:55 logical-or ( temp bool) +0:54 logical-or ( temp bool) +0:53 logical-or ( temp bool) +0:52 logical-or ( temp bool) +0:51 logical-or ( temp bool) +0:51 'b' ( temp bool) +0:52 direct index ( temp bool) +0:52 'b2' ( temp 2-component vector of bool) 0:52 Constant: 0:52 0 (const int) -0:53 direct index (temp bool) -0:53 'b2' (temp 2-component vector of bool) +0:53 direct index ( temp bool) +0:53 'b2' ( temp 2-component vector of bool) 0:53 Constant: 0:53 1 (const int) -0:54 direct index (temp bool) -0:54 'b3' (temp 3-component vector of bool) +0:54 direct index ( temp bool) +0:54 'b3' ( temp 3-component vector of bool) 0:54 Constant: 0:54 0 (const int) -0:55 direct index (temp bool) -0:55 'b3' (temp 3-component vector of bool) +0:55 direct index ( temp bool) +0:55 'b3' ( temp 3-component vector of bool) 0:55 Constant: 0:55 1 (const int) -0:56 direct index (temp bool) -0:56 'b3' (temp 3-component vector of bool) +0:56 direct index ( temp bool) +0:56 'b3' ( temp 3-component vector of bool) 0:56 Constant: 0:56 2 (const int) -0:57 direct index (temp bool) -0:57 'b4' (temp 4-component vector of bool) +0:57 direct index ( temp bool) +0:57 'b4' ( temp 4-component vector of bool) 0:57 Constant: 0:57 0 (const int) -0:58 direct index (temp bool) -0:58 'b4' (temp 4-component vector of bool) +0:58 direct index ( temp bool) +0:58 'b4' ( temp 4-component vector of bool) 0:58 Constant: 0:58 1 (const int) -0:59 direct index (temp bool) -0:59 'b4' (temp 4-component vector of bool) +0:59 direct index ( temp bool) +0:59 'b4' ( temp 4-component vector of bool) 0:59 Constant: 0:59 2 (const int) -0:60 direct index (temp bool) -0:60 'b4' (temp 4-component vector of bool) +0:60 direct index ( temp bool) +0:60 'b4' ( temp 4-component vector of bool) 0:60 Constant: 0:60 3 (const int) 0:60 true case -0:79 Construct vec4 (temp 4-component vector of float) -0:79 add (temp float) -0:78 add (temp float) -0:77 add (temp float) -0:76 add (temp float) -0:75 add (temp float) -0:74 add (temp float) -0:73 add (temp float) -0:72 add (temp float) -0:71 add (temp float) -0:70 add (temp float) -0:69 Convert int to float (temp float) -0:69 add (temp int) -0:68 add (temp int) -0:67 add (temp int) -0:66 add (temp int) -0:65 add (temp int) -0:64 add (temp int) -0:63 add (temp int) -0:62 add (temp int) -0:61 add (temp int) -0:61 'i' (temp int) -0:62 direct index (temp int) -0:62 'i2' (temp 2-component vector of int) +0:79 Construct vec4 ( temp 4-component vector of float) +0:79 add ( temp float) +0:78 add ( temp float) +0:77 add ( temp float) +0:76 add ( temp float) +0:75 add ( temp float) +0:74 add ( temp float) +0:73 add ( temp float) +0:72 add ( temp float) +0:71 add ( temp float) +0:70 add ( temp float) +0:69 Convert int to float ( temp float) +0:69 add ( temp int) +0:68 add ( temp int) +0:67 add ( temp int) +0:66 add ( temp int) +0:65 add ( temp int) +0:64 add ( temp int) +0:63 add ( temp int) +0:62 add ( temp int) +0:61 add ( temp int) +0:61 'i' ( temp int) +0:62 direct index ( temp int) +0:62 'i2' ( temp 2-component vector of int) 0:62 Constant: 0:62 0 (const int) -0:63 direct index (temp int) -0:63 'i2' (temp 2-component vector of int) +0:63 direct index ( temp int) +0:63 'i2' ( temp 2-component vector of int) 0:63 Constant: 0:63 1 (const int) -0:64 direct index (temp int) -0:64 'i3' (temp 3-component vector of int) +0:64 direct index ( temp int) +0:64 'i3' ( temp 3-component vector of int) 0:64 Constant: 0:64 0 (const int) -0:65 direct index (temp int) -0:65 'i3' (temp 3-component vector of int) +0:65 direct index ( temp int) +0:65 'i3' ( temp 3-component vector of int) 0:65 Constant: 0:65 1 (const int) -0:66 direct index (temp int) -0:66 'i3' (temp 3-component vector of int) +0:66 direct index ( temp int) +0:66 'i3' ( temp 3-component vector of int) 0:66 Constant: 0:66 2 (const int) -0:67 direct index (temp int) -0:67 'i4' (temp 4-component vector of int) +0:67 direct index ( temp int) +0:67 'i4' ( temp 4-component vector of int) 0:67 Constant: 0:67 0 (const int) -0:68 direct index (temp int) -0:68 'i4' (temp 4-component vector of int) +0:68 direct index ( temp int) +0:68 'i4' ( temp 4-component vector of int) 0:68 Constant: 0:68 1 (const int) -0:69 direct index (temp int) -0:69 'i4' (temp 4-component vector of int) +0:69 direct index ( temp int) +0:69 'i4' ( temp 4-component vector of int) 0:69 Constant: 0:69 2 (const int) -0:70 direct index (temp int) -0:70 'i4' (temp 4-component vector of int) +0:70 direct index ( temp int) +0:70 'i4' ( temp 4-component vector of int) 0:70 Constant: 0:70 3 (const int) -0:71 'f' (temp float) -0:72 direct index (temp float) -0:72 'f2' (temp 2-component vector of float) +0:71 'f' ( temp float) +0:72 direct index ( temp float) +0:72 'f2' ( temp 2-component vector of float) 0:72 Constant: 0:72 0 (const int) -0:73 direct index (temp float) -0:73 'f2' (temp 2-component vector of float) +0:73 direct index ( temp float) +0:73 'f2' ( temp 2-component vector of float) 0:73 Constant: 0:73 1 (const int) -0:74 direct index (temp float) -0:74 'f3' (temp 3-component vector of float) +0:74 direct index ( temp float) +0:74 'f3' ( temp 3-component vector of float) 0:74 Constant: 0:74 0 (const int) -0:75 direct index (temp float) -0:75 'f3' (temp 3-component vector of float) +0:75 direct index ( temp float) +0:75 'f3' ( temp 3-component vector of float) 0:75 Constant: 0:75 1 (const int) -0:76 direct index (temp float) -0:76 'f3' (temp 3-component vector of float) +0:76 direct index ( temp float) +0:76 'f3' ( temp 3-component vector of float) 0:76 Constant: 0:76 2 (const int) -0:77 direct index (temp float) -0:77 'f4' (temp 4-component vector of float) +0:77 direct index ( temp float) +0:77 'f4' ( temp 4-component vector of float) 0:77 Constant: 0:77 0 (const int) -0:78 direct index (temp float) -0:78 'f4' (temp 4-component vector of float) +0:78 direct index ( temp float) +0:78 'f4' ( temp 4-component vector of float) 0:78 Constant: 0:78 1 (const int) -0:79 direct index (temp float) -0:79 'f4' (temp 4-component vector of float) +0:79 direct index ( temp float) +0:79 'f4' ( temp 4-component vector of float) 0:79 Constant: 0:79 2 (const int) -0:80 direct index (temp float) -0:80 'f4' (temp 4-component vector of float) +0:80 direct index ( temp float) +0:80 'f4' ( temp 4-component vector of float) 0:80 Constant: 0:80 3 (const int) 0:60 false case @@ -650,28 +650,28 @@ Shader version: 130 0:80 1.000000 0:80 1.000000 0:? Linker Objects -0:? 'u_b' (uniform bool) -0:? 'u_b2' (uniform 2-component vector of bool) -0:? 'u_b3' (uniform 3-component vector of bool) -0:? 'u_b4' (uniform 4-component vector of bool) -0:? 'u_i' (uniform int) -0:? 'u_i2' (uniform 2-component vector of int) -0:? 'u_i3' (uniform 3-component vector of int) -0:? 'u_i4' (uniform 4-component vector of int) -0:? 'u_f' (uniform float) -0:? 'u_f2' (uniform 2-component vector of float) -0:? 'u_f3' (uniform 3-component vector of float) -0:? 'u_f4' (uniform 4-component vector of float) -0:? 'i_b' (uniform bool) -0:? 'i_b2' (uniform 2-component vector of bool) -0:? 'i_b3' (uniform 3-component vector of bool) -0:? 'i_b4' (uniform 4-component vector of bool) -0:? 'i_i' (flat in int) -0:? 'i_i2' (flat in 2-component vector of int) -0:? 'i_i3' (flat in 3-component vector of int) -0:? 'i_i4' (flat in 4-component vector of int) -0:? 'i_f' (smooth in float) -0:? 'i_f2' (smooth in 2-component vector of float) -0:? 'i_f3' (smooth in 3-component vector of float) -0:? 'i_f4' (smooth in 4-component vector of float) +0:? 'u_b' ( uniform bool) +0:? 'u_b2' ( uniform 2-component vector of bool) +0:? 'u_b3' ( uniform 3-component vector of bool) +0:? 'u_b4' ( uniform 4-component vector of bool) +0:? 'u_i' ( uniform int) +0:? 'u_i2' ( uniform 2-component vector of int) +0:? 'u_i3' ( uniform 3-component vector of int) +0:? 'u_i4' ( uniform 4-component vector of int) +0:? 'u_f' ( uniform float) +0:? 'u_f2' ( uniform 2-component vector of float) +0:? 'u_f3' ( uniform 3-component vector of float) +0:? 'u_f4' ( uniform 4-component vector of float) +0:? 'i_b' ( uniform bool) +0:? 'i_b2' ( uniform 2-component vector of bool) +0:? 'i_b3' ( uniform 3-component vector of bool) +0:? 'i_b4' ( uniform 4-component vector of bool) +0:? 'i_i' ( flat in int) +0:? 'i_i2' ( flat in 2-component vector of int) +0:? 'i_i3' ( flat in 3-component vector of int) +0:? 'i_i4' ( flat in 4-component vector of int) +0:? 'i_f' ( smooth in float) +0:? 'i_f2' ( smooth in 2-component vector of float) +0:? 'i_f3' ( smooth in 3-component vector of float) +0:? 'i_f4' ( smooth in 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uint.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uint.frag.out index 1ee28254163..3a12d6b7cbf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uint.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uint.frag.out @@ -5,152 +5,152 @@ ERROR: 0:20: 'const' : non-matching or non-convertible constant type for const i ERROR: 0:24: 'const' : non-matching or non-convertible constant type for const initializer ERROR: 0:34: 'const' : non-matching or non-convertible constant type for const initializer ERROR: 0:37: 'const' : non-matching or non-convertible constant type for const initializer -ERROR: 0:48: '=' : cannot convert from 'const int' to 'temp mediump uint' -ERROR: 0:51: '=' : cannot convert from 'const int' to 'temp mediump uint' +ERROR: 0:48: '=' : cannot convert from ' const int' to ' temp mediump uint' +ERROR: 0:51: '=' : cannot convert from ' const int' to ' temp mediump uint' ERROR: 0:63: 'float' : type requires declaration of default precision qualifier ERROR: 9 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp mediump int) -0:17 'count' (temp mediump int) +0:17 move second child to first child ( temp mediump int) +0:17 'count' ( temp mediump int) 0:17 Constant: 0:17 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp mediump uint) -0:19 'u' (temp mediump uint) -0:19 add (temp mediump uint) -0:19 direct index (temp mediump uint) -0:19 't' (flat in mediump 2-component vector of uint) +0:19 move second child to first child ( temp mediump uint) +0:19 'u' ( temp mediump uint) +0:19 add ( temp mediump uint) +0:19 direct index ( temp mediump uint) +0:19 't' ( flat in mediump 2-component vector of uint) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 3 (const uint) -0:27 Test condition and select (temp void) +0:27 Test condition and select ( temp void) 0:27 Condition 0:27 Constant: 0:27 true (const bool) 0:27 true case -0:28 multiply second child into first child (temp mediump int) -0:28 'count' (temp mediump int) +0:28 multiply second child into first child ( temp mediump int) +0:28 'count' ( temp mediump int) 0:28 Constant: 0:28 2 (const int) -0:29 Test condition and select (temp void) +0:29 Test condition and select ( temp void) 0:29 Condition 0:29 Constant: 0:29 true (const bool) 0:29 true case -0:30 multiply second child into first child (temp mediump int) -0:30 'count' (temp mediump int) +0:30 multiply second child into first child ( temp mediump int) +0:30 'count' ( temp mediump int) 0:30 Constant: 0:30 3 (const int) -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition 0:31 Constant: 0:31 false (const bool) 0:31 true case -0:32 multiply second child into first child (temp mediump int) -0:32 'count' (temp mediump int) +0:32 multiply second child into first child ( temp mediump int) +0:32 'count' ( temp mediump int) 0:32 Constant: 0:32 5 (const int) -0:41 Test condition and select (temp void) +0:41 Test condition and select ( temp void) 0:41 Condition 0:41 Constant: 0:41 true (const bool) 0:41 true case -0:42 multiply second child into first child (temp mediump int) -0:42 'count' (temp mediump int) +0:42 multiply second child into first child ( temp mediump int) +0:42 'count' ( temp mediump int) 0:42 Constant: 0:42 7 (const int) -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition 0:43 Constant: 0:43 true (const bool) 0:43 true case -0:44 multiply second child into first child (temp mediump int) -0:44 'count' (temp mediump int) +0:44 multiply second child into first child ( temp mediump int) +0:44 'count' ( temp mediump int) 0:44 Constant: 0:44 11 (const int) -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition 0:45 Constant: 0:45 false (const bool) 0:45 true case -0:46 multiply second child into first child (temp mediump int) -0:46 'count' (temp mediump int) +0:46 multiply second child into first child ( temp mediump int) +0:46 'count' ( temp mediump int) 0:46 Constant: 0:46 13 (const int) 0:49 Sequence -0:49 move second child to first child (temp mediump int) -0:49 'shiftedii' (temp mediump int) +0:49 move second child to first child ( temp mediump int) +0:49 'shiftedii' ( temp mediump int) 0:49 Constant: 0:49 -1 (const int) 0:50 Sequence -0:50 move second child to first child (temp mediump uint) -0:50 'shiftedui' (temp mediump uint) +0:50 move second child to first child ( temp mediump uint) +0:50 'shiftedui' ( temp mediump uint) 0:50 Constant: 0:50 4194303 (const uint) 0:52 Sequence -0:52 move second child to first child (temp mediump int) -0:52 'shiftediu' (temp mediump int) +0:52 move second child to first child ( temp mediump int) +0:52 'shiftediu' ( temp mediump int) 0:52 Constant: 0:52 -1 (const int) 0:53 Sequence -0:53 move second child to first child (temp mediump uint) -0:53 'shifteduu' (temp mediump uint) +0:53 move second child to first child ( temp mediump uint) +0:53 'shifteduu' ( temp mediump uint) 0:53 Constant: 0:53 4194303 (const uint) -0:55 Test condition and select (temp void) +0:55 Test condition and select ( temp void) 0:55 Condition -0:55 Compare Equal (temp bool) -0:55 'shiftedii' (temp mediump int) -0:55 'shiftediu' (temp mediump int) +0:55 Compare Equal ( temp bool) +0:55 'shiftedii' ( temp mediump int) +0:55 'shiftediu' ( temp mediump int) 0:55 true case -0:56 move second child to first child (temp mediump 4-component vector of uint) -0:56 'c' (out mediump 4-component vector of uint) -0:56 texture (global lowp 4-component vector of uint, operation at highp) -0:56 'usampler' (uniform lowp usampler2D) -0:56 'tc' (smooth in highp 2-component vector of float) -0:57 Test condition and select (temp void) +0:56 move second child to first child ( temp mediump 4-component vector of uint) +0:56 'c' ( out mediump 4-component vector of uint) +0:56 texture ( global lowp 4-component vector of uint, operation at highp) +0:56 'usampler' ( uniform lowp usampler2D) +0:56 'tc' ( smooth in highp 2-component vector of float) +0:57 Test condition and select ( temp void) 0:57 Condition -0:57 Compare Equal (temp bool) -0:57 'shiftedui' (temp mediump uint) -0:57 'shifteduu' (temp mediump uint) +0:57 Compare Equal ( temp bool) +0:57 'shiftedui' ( temp mediump uint) +0:57 'shifteduu' ( temp mediump uint) 0:57 true case -0:58 move second child to first child (temp mediump 4-component vector of uint) -0:58 'c' (out mediump 4-component vector of uint) -0:58 texture (global lowp 4-component vector of uint, operation at highp) -0:58 'usampler' (uniform lowp usampler2D) -0:58 add (temp highp 2-component vector of float) -0:58 'tc' (smooth in highp 2-component vector of float) +0:58 move second child to first child ( temp mediump 4-component vector of uint) +0:58 'c' ( out mediump 4-component vector of uint) +0:58 texture ( global lowp 4-component vector of uint, operation at highp) +0:58 'usampler' ( uniform lowp usampler2D) +0:58 add ( temp highp 2-component vector of float) +0:58 'tc' ( smooth in highp 2-component vector of float) 0:58 Constant: 0:58 1.000000 -0:59 Test condition and select (temp void) +0:59 Test condition and select ( temp void) 0:59 Condition -0:59 Compare Equal (temp bool) -0:59 'shiftedii' (temp mediump int) -0:59 Convert uint to int (temp int) -0:59 'shiftedui' (temp mediump uint) +0:59 Compare Equal ( temp bool) +0:59 'shiftedii' ( temp mediump int) +0:59 Convert uint to int ( temp int) +0:59 'shiftedui' ( temp mediump uint) 0:59 true case -0:60 move second child to first child (temp mediump 4-component vector of uint) -0:60 'c' (out mediump 4-component vector of uint) -0:60 texture (global lowp 4-component vector of uint, operation at highp) -0:60 'usampler' (uniform lowp usampler2D) -0:60 subtract (temp highp 2-component vector of float) -0:60 'tc' (smooth in highp 2-component vector of float) +0:60 move second child to first child ( temp mediump 4-component vector of uint) +0:60 'c' ( out mediump 4-component vector of uint) +0:60 texture ( global lowp 4-component vector of uint, operation at highp) +0:60 'usampler' ( uniform lowp usampler2D) +0:60 subtract ( temp highp 2-component vector of float) +0:60 'tc' ( smooth in highp 2-component vector of float) 0:60 Constant: 0:60 2.000000 0:60 2.000000 -0:62 Test condition and select (temp void) +0:62 Test condition and select ( temp void) 0:62 Condition -0:62 Compare Greater Than (temp bool) -0:62 direct index (temp mediump uint) -0:62 't' (flat in mediump 2-component vector of uint) +0:62 Compare Greater Than ( temp bool) +0:62 direct index ( temp mediump uint) +0:62 't' ( flat in mediump 2-component vector of uint) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -158,153 +158,153 @@ ERROR: node is still EOpNull! 0:62 true case 0:63 Sequence 0:63 Sequence -0:63 move second child to first child (temp mediump float) -0:63 'af' (temp mediump float) -0:63 Convert uint to float (temp mediump float) -0:63 'u' (temp mediump uint) +0:63 move second child to first child ( temp mediump float) +0:63 'af' ( temp mediump float) +0:63 Convert uint to float ( temp mediump float) +0:63 'u' ( temp mediump uint) 0:64 Sequence -0:64 move second child to first child (temp bool) -0:64 'ab' (temp bool) -0:64 Convert uint to bool (temp bool) -0:64 'u' (temp mediump uint) +0:64 move second child to first child ( temp bool) +0:64 'ab' ( temp bool) +0:64 Convert uint to bool ( temp bool) +0:64 'u' ( temp mediump uint) 0:65 Sequence -0:65 move second child to first child (temp mediump int) -0:65 'ai' (temp mediump int) -0:65 Convert uint to int (temp mediump int) -0:65 'u' (temp mediump uint) -0:67 add second child into first child (temp mediump 4-component vector of uint) -0:67 'c' (out mediump 4-component vector of uint) -0:67 Construct uvec4 (temp mediump 4-component vector of uint) -0:67 Convert float to uint (temp mediump uint) -0:67 'af' (temp mediump float) -0:67 Convert bool to uint (temp mediump uint) -0:67 'ab' (temp bool) -0:67 Convert int to uint (temp mediump uint) -0:67 'ai' (temp mediump int) -0:67 Convert int to uint (temp mediump uint) -0:67 'count' (temp mediump int) -0:75 Test condition and select (temp void) +0:65 move second child to first child ( temp mediump int) +0:65 'ai' ( temp mediump int) +0:65 Convert uint to int ( temp mediump int) +0:65 'u' ( temp mediump uint) +0:67 add second child into first child ( temp mediump 4-component vector of uint) +0:67 'c' ( out mediump 4-component vector of uint) +0:67 Construct uvec4 ( temp mediump 4-component vector of uint) +0:67 Convert float to uint ( temp mediump uint) +0:67 'af' ( temp mediump float) +0:67 Convert bool to uint ( temp mediump uint) +0:67 'ab' ( temp bool) +0:67 Convert int to uint ( temp mediump uint) +0:67 'ai' ( temp mediump int) +0:67 Convert int to uint ( temp mediump uint) +0:67 'count' ( temp mediump int) +0:75 Test condition and select ( temp void) 0:75 Condition 0:75 Constant: 0:75 true (const bool) 0:75 true case -0:76 multiply second child into first child (temp mediump int) -0:76 'count' (temp mediump int) +0:76 multiply second child into first child ( temp mediump int) +0:76 'count' ( temp mediump int) 0:76 Constant: 0:76 17 (const int) -0:78 Test condition and select (temp void) +0:78 Test condition and select ( temp void) 0:78 Condition 0:78 Constant: 0:78 false (const bool) 0:78 true case -0:79 multiply second child into first child (temp mediump int) -0:79 'count' (temp mediump int) +0:79 multiply second child into first child ( temp mediump int) +0:79 'count' ( temp mediump int) 0:79 Constant: 0:79 19 (const int) -0:81 Test condition and select (temp void) +0:81 Test condition and select ( temp void) 0:81 Condition 0:81 Constant: 0:81 true (const bool) 0:81 true case -0:82 multiply second child into first child (temp mediump int) -0:82 'count' (temp mediump int) +0:82 multiply second child into first child ( temp mediump int) +0:82 'count' ( temp mediump int) 0:82 Constant: 0:82 23 (const int) -0:84 Test condition and select (temp void) +0:84 Test condition and select ( temp void) 0:84 Condition 0:84 Constant: 0:84 true (const bool) 0:84 true case -0:85 multiply second child into first child (temp mediump int) -0:85 'count' (temp mediump int) +0:85 multiply second child into first child ( temp mediump int) +0:85 'count' ( temp mediump int) 0:85 Constant: 0:85 27 (const int) 0:87 Sequence -0:87 move second child to first child (temp mediump uint) -0:87 'mask1' (temp mediump uint) +0:87 move second child to first child ( temp mediump uint) +0:87 'mask1' ( temp mediump uint) 0:87 Constant: 0:87 161 (const uint) 0:88 Sequence -0:88 move second child to first child (temp mediump uint) -0:88 'mask2' (temp mediump uint) +0:88 move second child to first child ( temp mediump uint) +0:88 'mask2' ( temp mediump uint) 0:88 Constant: 0:88 2576 (const uint) 0:89 Sequence -0:89 move second child to first child (temp mediump uint) -0:89 'mask3' (temp mediump uint) -0:89 left-shift (temp mediump uint) -0:89 'mask1' (temp mediump uint) +0:89 move second child to first child ( temp mediump uint) +0:89 'mask3' ( temp mediump uint) +0:89 left-shift ( temp mediump uint) +0:89 'mask1' ( temp mediump uint) 0:89 Constant: 0:89 4 (const int) 0:90 Sequence -0:90 move second child to first child (temp mediump uint) -0:90 'mask4' (temp mediump uint) +0:90 move second child to first child ( temp mediump uint) +0:90 'mask4' ( temp mediump uint) 0:90 Constant: 0:90 2737 (const uint) -0:92 Test condition and select (temp void) +0:92 Test condition and select ( temp void) 0:92 Condition -0:92 Compare Equal (temp bool) -0:92 'mask3' (temp mediump uint) -0:92 'mask2' (temp mediump uint) +0:92 Compare Equal ( temp bool) +0:92 'mask3' ( temp mediump uint) +0:92 'mask2' ( temp mediump uint) 0:92 true case -0:93 multiply second child into first child (temp mediump int) -0:93 'count' (temp mediump int) +0:93 multiply second child into first child ( temp mediump int) +0:93 'count' ( temp mediump int) 0:93 Constant: 0:93 100 (const int) -0:95 Test condition and select (temp void) +0:95 Test condition and select ( temp void) 0:95 Condition -0:95 Compare Not Equal (temp bool) -0:95 bitwise and (temp mediump uint) -0:95 'mask3' (temp mediump uint) -0:95 'mask1' (temp mediump uint) +0:95 Compare Not Equal ( temp bool) +0:95 bitwise and ( temp mediump uint) +0:95 'mask3' ( temp mediump uint) +0:95 'mask1' ( temp mediump uint) 0:95 Constant: 0:95 0 (const uint) 0:95 true case -0:96 multiply second child into first child (temp mediump int) -0:96 'count' (temp mediump int) +0:96 multiply second child into first child ( temp mediump int) +0:96 'count' ( temp mediump int) 0:96 Constant: 0:96 101 (const int) -0:98 Test condition and select (temp void) +0:98 Test condition and select ( temp void) 0:98 Condition -0:98 Compare Equal (temp bool) -0:98 inclusive-or (temp mediump uint) -0:98 'mask1' (temp mediump uint) -0:98 'mask3' (temp mediump uint) -0:98 'mask4' (temp mediump uint) +0:98 Compare Equal ( temp bool) +0:98 inclusive-or ( temp mediump uint) +0:98 'mask1' ( temp mediump uint) +0:98 'mask3' ( temp mediump uint) +0:98 'mask4' ( temp mediump uint) 0:98 true case -0:99 multiply second child into first child (temp mediump int) -0:99 'count' (temp mediump int) +0:99 multiply second child into first child ( temp mediump int) +0:99 'count' ( temp mediump int) 0:99 Constant: 0:99 102 (const int) -0:101 Test condition and select (temp void) +0:101 Test condition and select ( temp void) 0:101 Condition -0:101 Compare Equal (temp bool) -0:101 exclusive-or (temp mediump uint) -0:101 'mask1' (temp mediump uint) -0:101 'mask4' (temp mediump uint) +0:101 Compare Equal ( temp bool) +0:101 exclusive-or ( temp mediump uint) +0:101 'mask1' ( temp mediump uint) +0:101 'mask4' ( temp mediump uint) 0:101 Constant: 0:101 2576 (const uint) 0:101 true case -0:102 multiply second child into first child (temp mediump int) -0:102 'count' (temp mediump int) +0:102 multiply second child into first child ( temp mediump int) +0:102 'count' ( temp mediump int) 0:102 Constant: 0:102 103 (const int) -0:104 add second child into first child (temp mediump 4-component vector of uint) -0:104 'c' (out mediump 4-component vector of uint) -0:104 Construct uvec4 (temp mediump 4-component vector of uint) -0:104 Convert int to uint (temp mediump uint) -0:104 'count' (temp mediump int) +0:104 add second child into first child ( temp mediump 4-component vector of uint) +0:104 'c' ( out mediump 4-component vector of uint) +0:104 Construct uvec4 ( temp mediump 4-component vector of uint) +0:104 Convert int to uint ( temp mediump uint) +0:104 'count' ( temp mediump int) 0:? Linker Objects -0:? 'badu' (smooth in mediump 2-component vector of uint) -0:? 't' (flat in mediump 2-component vector of uint) -0:? 'f' (smooth in highp float) -0:? 'tc' (smooth in highp 2-component vector of float) -0:? 'bad' (smooth in bool) -0:? 'v' (uniform mediump 4-component vector of uint) -0:? 'i' (uniform mediump int) -0:? 'b' (uniform bool) -0:? 'c' (out mediump 4-component vector of uint) -0:? 'usampler' (uniform lowp usampler2D) +0:? 'badu' ( smooth in mediump 2-component vector of uint) +0:? 't' ( flat in mediump 2-component vector of uint) +0:? 'f' ( smooth in highp float) +0:? 'tc' ( smooth in highp 2-component vector of float) +0:? 'bad' ( smooth in bool) +0:? 'v' ( uniform mediump 4-component vector of uint) +0:? 'i' ( uniform mediump int) +0:? 'b' ( uniform bool) +0:? 'c' ( out mediump 4-component vector of uint) +0:? 'usampler' ( uniform lowp usampler2D) Linked fragment stage: @@ -312,144 +312,144 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:15 Function Definition: main( (global void) +0:15 Function Definition: main( ( global void) 0:15 Function Parameters: 0:17 Sequence 0:17 Sequence -0:17 move second child to first child (temp mediump int) -0:17 'count' (temp mediump int) +0:17 move second child to first child ( temp mediump int) +0:17 'count' ( temp mediump int) 0:17 Constant: 0:17 1 (const int) 0:19 Sequence -0:19 move second child to first child (temp mediump uint) -0:19 'u' (temp mediump uint) -0:19 add (temp mediump uint) -0:19 direct index (temp mediump uint) -0:19 't' (flat in mediump 2-component vector of uint) +0:19 move second child to first child ( temp mediump uint) +0:19 'u' ( temp mediump uint) +0:19 add ( temp mediump uint) +0:19 direct index ( temp mediump uint) +0:19 't' ( flat in mediump 2-component vector of uint) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: 0:19 3 (const uint) -0:27 Test condition and select (temp void) +0:27 Test condition and select ( temp void) 0:27 Condition 0:27 Constant: 0:27 true (const bool) 0:27 true case -0:28 multiply second child into first child (temp mediump int) -0:28 'count' (temp mediump int) +0:28 multiply second child into first child ( temp mediump int) +0:28 'count' ( temp mediump int) 0:28 Constant: 0:28 2 (const int) -0:29 Test condition and select (temp void) +0:29 Test condition and select ( temp void) 0:29 Condition 0:29 Constant: 0:29 true (const bool) 0:29 true case -0:30 multiply second child into first child (temp mediump int) -0:30 'count' (temp mediump int) +0:30 multiply second child into first child ( temp mediump int) +0:30 'count' ( temp mediump int) 0:30 Constant: 0:30 3 (const int) -0:31 Test condition and select (temp void) +0:31 Test condition and select ( temp void) 0:31 Condition 0:31 Constant: 0:31 false (const bool) 0:31 true case -0:32 multiply second child into first child (temp mediump int) -0:32 'count' (temp mediump int) +0:32 multiply second child into first child ( temp mediump int) +0:32 'count' ( temp mediump int) 0:32 Constant: 0:32 5 (const int) -0:41 Test condition and select (temp void) +0:41 Test condition and select ( temp void) 0:41 Condition 0:41 Constant: 0:41 true (const bool) 0:41 true case -0:42 multiply second child into first child (temp mediump int) -0:42 'count' (temp mediump int) +0:42 multiply second child into first child ( temp mediump int) +0:42 'count' ( temp mediump int) 0:42 Constant: 0:42 7 (const int) -0:43 Test condition and select (temp void) +0:43 Test condition and select ( temp void) 0:43 Condition 0:43 Constant: 0:43 true (const bool) 0:43 true case -0:44 multiply second child into first child (temp mediump int) -0:44 'count' (temp mediump int) +0:44 multiply second child into first child ( temp mediump int) +0:44 'count' ( temp mediump int) 0:44 Constant: 0:44 11 (const int) -0:45 Test condition and select (temp void) +0:45 Test condition and select ( temp void) 0:45 Condition 0:45 Constant: 0:45 false (const bool) 0:45 true case -0:46 multiply second child into first child (temp mediump int) -0:46 'count' (temp mediump int) +0:46 multiply second child into first child ( temp mediump int) +0:46 'count' ( temp mediump int) 0:46 Constant: 0:46 13 (const int) 0:49 Sequence -0:49 move second child to first child (temp mediump int) -0:49 'shiftedii' (temp mediump int) +0:49 move second child to first child ( temp mediump int) +0:49 'shiftedii' ( temp mediump int) 0:49 Constant: 0:49 -1 (const int) 0:50 Sequence -0:50 move second child to first child (temp mediump uint) -0:50 'shiftedui' (temp mediump uint) +0:50 move second child to first child ( temp mediump uint) +0:50 'shiftedui' ( temp mediump uint) 0:50 Constant: 0:50 4194303 (const uint) 0:52 Sequence -0:52 move second child to first child (temp mediump int) -0:52 'shiftediu' (temp mediump int) +0:52 move second child to first child ( temp mediump int) +0:52 'shiftediu' ( temp mediump int) 0:52 Constant: 0:52 -1 (const int) 0:53 Sequence -0:53 move second child to first child (temp mediump uint) -0:53 'shifteduu' (temp mediump uint) +0:53 move second child to first child ( temp mediump uint) +0:53 'shifteduu' ( temp mediump uint) 0:53 Constant: 0:53 4194303 (const uint) -0:55 Test condition and select (temp void) +0:55 Test condition and select ( temp void) 0:55 Condition -0:55 Compare Equal (temp bool) -0:55 'shiftedii' (temp mediump int) -0:55 'shiftediu' (temp mediump int) +0:55 Compare Equal ( temp bool) +0:55 'shiftedii' ( temp mediump int) +0:55 'shiftediu' ( temp mediump int) 0:55 true case -0:56 move second child to first child (temp mediump 4-component vector of uint) -0:56 'c' (out mediump 4-component vector of uint) -0:56 texture (global lowp 4-component vector of uint, operation at highp) -0:56 'usampler' (uniform lowp usampler2D) -0:56 'tc' (smooth in highp 2-component vector of float) -0:57 Test condition and select (temp void) +0:56 move second child to first child ( temp mediump 4-component vector of uint) +0:56 'c' ( out mediump 4-component vector of uint) +0:56 texture ( global lowp 4-component vector of uint, operation at highp) +0:56 'usampler' ( uniform lowp usampler2D) +0:56 'tc' ( smooth in highp 2-component vector of float) +0:57 Test condition and select ( temp void) 0:57 Condition -0:57 Compare Equal (temp bool) -0:57 'shiftedui' (temp mediump uint) -0:57 'shifteduu' (temp mediump uint) +0:57 Compare Equal ( temp bool) +0:57 'shiftedui' ( temp mediump uint) +0:57 'shifteduu' ( temp mediump uint) 0:57 true case -0:58 move second child to first child (temp mediump 4-component vector of uint) -0:58 'c' (out mediump 4-component vector of uint) -0:58 texture (global lowp 4-component vector of uint, operation at highp) -0:58 'usampler' (uniform lowp usampler2D) -0:58 add (temp highp 2-component vector of float) -0:58 'tc' (smooth in highp 2-component vector of float) +0:58 move second child to first child ( temp mediump 4-component vector of uint) +0:58 'c' ( out mediump 4-component vector of uint) +0:58 texture ( global lowp 4-component vector of uint, operation at highp) +0:58 'usampler' ( uniform lowp usampler2D) +0:58 add ( temp highp 2-component vector of float) +0:58 'tc' ( smooth in highp 2-component vector of float) 0:58 Constant: 0:58 1.000000 -0:59 Test condition and select (temp void) +0:59 Test condition and select ( temp void) 0:59 Condition -0:59 Compare Equal (temp bool) -0:59 'shiftedii' (temp mediump int) -0:59 Convert uint to int (temp int) -0:59 'shiftedui' (temp mediump uint) +0:59 Compare Equal ( temp bool) +0:59 'shiftedii' ( temp mediump int) +0:59 Convert uint to int ( temp int) +0:59 'shiftedui' ( temp mediump uint) 0:59 true case -0:60 move second child to first child (temp mediump 4-component vector of uint) -0:60 'c' (out mediump 4-component vector of uint) -0:60 texture (global lowp 4-component vector of uint, operation at highp) -0:60 'usampler' (uniform lowp usampler2D) -0:60 subtract (temp highp 2-component vector of float) -0:60 'tc' (smooth in highp 2-component vector of float) +0:60 move second child to first child ( temp mediump 4-component vector of uint) +0:60 'c' ( out mediump 4-component vector of uint) +0:60 texture ( global lowp 4-component vector of uint, operation at highp) +0:60 'usampler' ( uniform lowp usampler2D) +0:60 subtract ( temp highp 2-component vector of float) +0:60 'tc' ( smooth in highp 2-component vector of float) 0:60 Constant: 0:60 2.000000 0:60 2.000000 -0:62 Test condition and select (temp void) +0:62 Test condition and select ( temp void) 0:62 Condition -0:62 Compare Greater Than (temp bool) -0:62 direct index (temp mediump uint) -0:62 't' (flat in mediump 2-component vector of uint) +0:62 Compare Greater Than ( temp bool) +0:62 direct index ( temp mediump uint) +0:62 't' ( flat in mediump 2-component vector of uint) 0:62 Constant: 0:62 0 (const int) 0:62 Constant: @@ -457,151 +457,151 @@ ERROR: node is still EOpNull! 0:62 true case 0:63 Sequence 0:63 Sequence -0:63 move second child to first child (temp mediump float) -0:63 'af' (temp mediump float) -0:63 Convert uint to float (temp mediump float) -0:63 'u' (temp mediump uint) +0:63 move second child to first child ( temp mediump float) +0:63 'af' ( temp mediump float) +0:63 Convert uint to float ( temp mediump float) +0:63 'u' ( temp mediump uint) 0:64 Sequence -0:64 move second child to first child (temp bool) -0:64 'ab' (temp bool) -0:64 Convert uint to bool (temp bool) -0:64 'u' (temp mediump uint) +0:64 move second child to first child ( temp bool) +0:64 'ab' ( temp bool) +0:64 Convert uint to bool ( temp bool) +0:64 'u' ( temp mediump uint) 0:65 Sequence -0:65 move second child to first child (temp mediump int) -0:65 'ai' (temp mediump int) -0:65 Convert uint to int (temp mediump int) -0:65 'u' (temp mediump uint) -0:67 add second child into first child (temp mediump 4-component vector of uint) -0:67 'c' (out mediump 4-component vector of uint) -0:67 Construct uvec4 (temp mediump 4-component vector of uint) -0:67 Convert float to uint (temp mediump uint) -0:67 'af' (temp mediump float) -0:67 Convert bool to uint (temp mediump uint) -0:67 'ab' (temp bool) -0:67 Convert int to uint (temp mediump uint) -0:67 'ai' (temp mediump int) -0:67 Convert int to uint (temp mediump uint) -0:67 'count' (temp mediump int) -0:75 Test condition and select (temp void) +0:65 move second child to first child ( temp mediump int) +0:65 'ai' ( temp mediump int) +0:65 Convert uint to int ( temp mediump int) +0:65 'u' ( temp mediump uint) +0:67 add second child into first child ( temp mediump 4-component vector of uint) +0:67 'c' ( out mediump 4-component vector of uint) +0:67 Construct uvec4 ( temp mediump 4-component vector of uint) +0:67 Convert float to uint ( temp mediump uint) +0:67 'af' ( temp mediump float) +0:67 Convert bool to uint ( temp mediump uint) +0:67 'ab' ( temp bool) +0:67 Convert int to uint ( temp mediump uint) +0:67 'ai' ( temp mediump int) +0:67 Convert int to uint ( temp mediump uint) +0:67 'count' ( temp mediump int) +0:75 Test condition and select ( temp void) 0:75 Condition 0:75 Constant: 0:75 true (const bool) 0:75 true case -0:76 multiply second child into first child (temp mediump int) -0:76 'count' (temp mediump int) +0:76 multiply second child into first child ( temp mediump int) +0:76 'count' ( temp mediump int) 0:76 Constant: 0:76 17 (const int) -0:78 Test condition and select (temp void) +0:78 Test condition and select ( temp void) 0:78 Condition 0:78 Constant: 0:78 false (const bool) 0:78 true case -0:79 multiply second child into first child (temp mediump int) -0:79 'count' (temp mediump int) +0:79 multiply second child into first child ( temp mediump int) +0:79 'count' ( temp mediump int) 0:79 Constant: 0:79 19 (const int) -0:81 Test condition and select (temp void) +0:81 Test condition and select ( temp void) 0:81 Condition 0:81 Constant: 0:81 true (const bool) 0:81 true case -0:82 multiply second child into first child (temp mediump int) -0:82 'count' (temp mediump int) +0:82 multiply second child into first child ( temp mediump int) +0:82 'count' ( temp mediump int) 0:82 Constant: 0:82 23 (const int) -0:84 Test condition and select (temp void) +0:84 Test condition and select ( temp void) 0:84 Condition 0:84 Constant: 0:84 true (const bool) 0:84 true case -0:85 multiply second child into first child (temp mediump int) -0:85 'count' (temp mediump int) +0:85 multiply second child into first child ( temp mediump int) +0:85 'count' ( temp mediump int) 0:85 Constant: 0:85 27 (const int) 0:87 Sequence -0:87 move second child to first child (temp mediump uint) -0:87 'mask1' (temp mediump uint) +0:87 move second child to first child ( temp mediump uint) +0:87 'mask1' ( temp mediump uint) 0:87 Constant: 0:87 161 (const uint) 0:88 Sequence -0:88 move second child to first child (temp mediump uint) -0:88 'mask2' (temp mediump uint) +0:88 move second child to first child ( temp mediump uint) +0:88 'mask2' ( temp mediump uint) 0:88 Constant: 0:88 2576 (const uint) 0:89 Sequence -0:89 move second child to first child (temp mediump uint) -0:89 'mask3' (temp mediump uint) -0:89 left-shift (temp mediump uint) -0:89 'mask1' (temp mediump uint) +0:89 move second child to first child ( temp mediump uint) +0:89 'mask3' ( temp mediump uint) +0:89 left-shift ( temp mediump uint) +0:89 'mask1' ( temp mediump uint) 0:89 Constant: 0:89 4 (const int) 0:90 Sequence -0:90 move second child to first child (temp mediump uint) -0:90 'mask4' (temp mediump uint) +0:90 move second child to first child ( temp mediump uint) +0:90 'mask4' ( temp mediump uint) 0:90 Constant: 0:90 2737 (const uint) -0:92 Test condition and select (temp void) +0:92 Test condition and select ( temp void) 0:92 Condition -0:92 Compare Equal (temp bool) -0:92 'mask3' (temp mediump uint) -0:92 'mask2' (temp mediump uint) +0:92 Compare Equal ( temp bool) +0:92 'mask3' ( temp mediump uint) +0:92 'mask2' ( temp mediump uint) 0:92 true case -0:93 multiply second child into first child (temp mediump int) -0:93 'count' (temp mediump int) +0:93 multiply second child into first child ( temp mediump int) +0:93 'count' ( temp mediump int) 0:93 Constant: 0:93 100 (const int) -0:95 Test condition and select (temp void) +0:95 Test condition and select ( temp void) 0:95 Condition -0:95 Compare Not Equal (temp bool) -0:95 bitwise and (temp mediump uint) -0:95 'mask3' (temp mediump uint) -0:95 'mask1' (temp mediump uint) +0:95 Compare Not Equal ( temp bool) +0:95 bitwise and ( temp mediump uint) +0:95 'mask3' ( temp mediump uint) +0:95 'mask1' ( temp mediump uint) 0:95 Constant: 0:95 0 (const uint) 0:95 true case -0:96 multiply second child into first child (temp mediump int) -0:96 'count' (temp mediump int) +0:96 multiply second child into first child ( temp mediump int) +0:96 'count' ( temp mediump int) 0:96 Constant: 0:96 101 (const int) -0:98 Test condition and select (temp void) +0:98 Test condition and select ( temp void) 0:98 Condition -0:98 Compare Equal (temp bool) -0:98 inclusive-or (temp mediump uint) -0:98 'mask1' (temp mediump uint) -0:98 'mask3' (temp mediump uint) -0:98 'mask4' (temp mediump uint) +0:98 Compare Equal ( temp bool) +0:98 inclusive-or ( temp mediump uint) +0:98 'mask1' ( temp mediump uint) +0:98 'mask3' ( temp mediump uint) +0:98 'mask4' ( temp mediump uint) 0:98 true case -0:99 multiply second child into first child (temp mediump int) -0:99 'count' (temp mediump int) +0:99 multiply second child into first child ( temp mediump int) +0:99 'count' ( temp mediump int) 0:99 Constant: 0:99 102 (const int) -0:101 Test condition and select (temp void) +0:101 Test condition and select ( temp void) 0:101 Condition -0:101 Compare Equal (temp bool) -0:101 exclusive-or (temp mediump uint) -0:101 'mask1' (temp mediump uint) -0:101 'mask4' (temp mediump uint) +0:101 Compare Equal ( temp bool) +0:101 exclusive-or ( temp mediump uint) +0:101 'mask1' ( temp mediump uint) +0:101 'mask4' ( temp mediump uint) 0:101 Constant: 0:101 2576 (const uint) 0:101 true case -0:102 multiply second child into first child (temp mediump int) -0:102 'count' (temp mediump int) +0:102 multiply second child into first child ( temp mediump int) +0:102 'count' ( temp mediump int) 0:102 Constant: 0:102 103 (const int) -0:104 add second child into first child (temp mediump 4-component vector of uint) -0:104 'c' (out mediump 4-component vector of uint) -0:104 Construct uvec4 (temp mediump 4-component vector of uint) -0:104 Convert int to uint (temp mediump uint) -0:104 'count' (temp mediump int) +0:104 add second child into first child ( temp mediump 4-component vector of uint) +0:104 'c' ( out mediump 4-component vector of uint) +0:104 Construct uvec4 ( temp mediump 4-component vector of uint) +0:104 Convert int to uint ( temp mediump uint) +0:104 'count' ( temp mediump int) 0:? Linker Objects -0:? 'badu' (smooth in mediump 2-component vector of uint) -0:? 't' (flat in mediump 2-component vector of uint) -0:? 'f' (smooth in highp float) -0:? 'tc' (smooth in highp 2-component vector of float) -0:? 'bad' (smooth in bool) -0:? 'v' (uniform mediump 4-component vector of uint) -0:? 'i' (uniform mediump int) -0:? 'b' (uniform bool) -0:? 'c' (out mediump 4-component vector of uint) -0:? 'usampler' (uniform lowp usampler2D) +0:? 'badu' ( smooth in mediump 2-component vector of uint) +0:? 't' ( flat in mediump 2-component vector of uint) +0:? 'f' ( smooth in highp float) +0:? 'tc' ( smooth in highp 2-component vector of float) +0:? 'bad' ( smooth in bool) +0:? 'v' ( uniform mediump 4-component vector of uint) +0:? 'i' ( uniform mediump int) +0:? 'b' ( uniform bool) +0:? 'c' ( out mediump 4-component vector of uint) +0:? 'usampler' ( uniform lowp usampler2D) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uniformArray.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uniformArray.frag.out index 4e8ace841e1..51b9ff034db 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uniformArray.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/uniformArray.frag.out @@ -1,24 +1,24 @@ uniformArray.frag Shader version: 130 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'texColor' (temp 4-component vector of float) -0:9 add (temp 4-component vector of float) -0:9 direct index (temp 4-component vector of float) -0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'texColor' ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:9 direct index ( temp 4-component vector of float) +0:9 'color' ( uniform 6-element array of 4-component vector of float) 0:9 Constant: 0:9 1 (const int) -0:9 direct index (temp 4-component vector of float) -0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 direct index ( temp 4-component vector of float) +0:9 'color' ( uniform 6-element array of 4-component vector of float) 0:9 Constant: 0:9 1 (const int) -0:11 add second child into first child (temp 3-component vector of float) -0:11 vector swizzle (temp 3-component vector of float) -0:11 'texColor' (temp 4-component vector of float) +0:11 add second child into first child ( temp 3-component vector of float) +0:11 vector swizzle ( temp 3-component vector of float) +0:11 'texColor' ( temp 4-component vector of float) 0:11 Sequence 0:11 Constant: 0:11 0 (const int) @@ -26,24 +26,24 @@ Shader version: 130 0:11 1 (const int) 0:11 Constant: 0:11 2 (const int) -0:11 'inColor' (uniform 3-component vector of float) -0:13 add second child into first child (temp float) -0:13 direct index (temp float) -0:13 'texColor' (temp 4-component vector of float) +0:11 'inColor' ( uniform 3-component vector of float) +0:13 add second child into first child ( temp float) +0:13 direct index ( temp float) +0:13 'texColor' ( temp 4-component vector of float) 0:13 Constant: 0:13 3 (const int) -0:13 direct index (temp float) -0:13 'alpha' (uniform 16-element array of float) +0:13 direct index ( temp float) +0:13 'alpha' ( uniform 16-element array of float) 0:13 Constant: 0:13 12 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'texColor' (temp 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'texColor' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'inColor' (uniform 3-component vector of float) -0:? 'color' (uniform 6-element array of 4-component vector of float) -0:? 'alpha' (uniform 16-element array of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'inColor' ( uniform 3-component vector of float) +0:? 'color' ( uniform 6-element array of 4-component vector of float) +0:? 'alpha' ( uniform 16-element array of float) Linked fragment stage: @@ -51,24 +51,24 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'texColor' (temp 4-component vector of float) -0:9 add (temp 4-component vector of float) -0:9 direct index (temp 4-component vector of float) -0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'texColor' ( temp 4-component vector of float) +0:9 add ( temp 4-component vector of float) +0:9 direct index ( temp 4-component vector of float) +0:9 'color' ( uniform 6-element array of 4-component vector of float) 0:9 Constant: 0:9 1 (const int) -0:9 direct index (temp 4-component vector of float) -0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 direct index ( temp 4-component vector of float) +0:9 'color' ( uniform 6-element array of 4-component vector of float) 0:9 Constant: 0:9 1 (const int) -0:11 add second child into first child (temp 3-component vector of float) -0:11 vector swizzle (temp 3-component vector of float) -0:11 'texColor' (temp 4-component vector of float) +0:11 add second child into first child ( temp 3-component vector of float) +0:11 vector swizzle ( temp 3-component vector of float) +0:11 'texColor' ( temp 4-component vector of float) 0:11 Sequence 0:11 Constant: 0:11 0 (const int) @@ -76,22 +76,22 @@ Shader version: 130 0:11 1 (const int) 0:11 Constant: 0:11 2 (const int) -0:11 'inColor' (uniform 3-component vector of float) -0:13 add second child into first child (temp float) -0:13 direct index (temp float) -0:13 'texColor' (temp 4-component vector of float) +0:11 'inColor' ( uniform 3-component vector of float) +0:13 add second child into first child ( temp float) +0:13 direct index ( temp float) +0:13 'texColor' ( temp 4-component vector of float) 0:13 Constant: 0:13 3 (const int) -0:13 direct index (temp float) -0:13 'alpha' (uniform 16-element array of float) +0:13 direct index ( temp float) +0:13 'alpha' ( uniform 16-element array of float) 0:13 Constant: 0:13 12 (const int) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'texColor' (temp 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'texColor' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'inColor' (uniform 3-component vector of float) -0:? 'color' (uniform 6-element array of 4-component vector of float) -0:? 'alpha' (uniform 16-element array of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'inColor' ( uniform 3-component vector of float) +0:? 'color' ( uniform 6-element array of 4-component vector of float) +0:? 'alpha' ( uniform 16-element array of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/variableArrayIndex.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/variableArrayIndex.frag.out index 2a63d115b1b..ddfb25bfbf1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/variableArrayIndex.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/variableArrayIndex.frag.out @@ -3,20 +3,20 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:29 Function Definition: main( (global void) +0:29 Function Definition: main( ( global void) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'iLocal' (temp int) -0:32 'Count' (uniform int) -0:34 Test condition and select (temp void) +0:32 move second child to first child ( temp int) +0:32 'iLocal' ( temp int) +0:32 'Count' ( uniform int) +0:34 Test condition and select ( temp void) 0:34 Condition -0:34 Compare Greater Than (temp bool) -0:34 i: direct index for structure (global int) -0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:34 Compare Greater Than ( temp bool) +0:34 i: direct index for structure ( global int) +0:34 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -26,42 +26,42 @@ Shader version: 130 0:34 Constant: 0:34 0 (const int) 0:34 true case -0:35 move second child to first child (temp float) -0:35 'scale' (temp float) -0:35 f: direct index for structure (global float) -0:35 s1_1: direct index for structure (global structure{global int i, global float f}) -0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 add (temp int) -0:35 add (temp int) -0:35 i: direct index for structure (global int) -0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:35 move second child to first child ( temp float) +0:35 'scale' ( temp float) +0:35 f: direct index for structure ( global float) +0:35 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:35 indirect index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 'foo2' ( uniform 5-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 add ( temp int) +0:35 add ( temp int) +0:35 i: direct index for structure ( global int) +0:35 indirect index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:35 Constant: 0:35 0 (const int) -0:35 i: direct index for structure (global int) -0:35 'foo' (uniform structure{global int i, global float f}) +0:35 i: direct index for structure ( global int) +0:35 'foo' ( uniform structure{ global int i, global float f}) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: 0:35 2 (const int) -0:35 Pre-Increment (temp int) -0:35 'iLocal' (temp int) +0:35 Pre-Increment ( temp int) +0:35 'iLocal' ( temp int) 0:35 Constant: 0:35 2 (const int) 0:35 Constant: 0:35 1 (const int) 0:34 false case -0:37 move second child to first child (temp float) -0:37 'scale' (temp float) -0:37 f: direct index for structure (global float) -0:37 s1_1: direct index for structure (global structure{global int i, global float f}) -0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:37 move second child to first child ( temp float) +0:37 'scale' ( temp float) +0:37 f: direct index for structure ( global float) +0:37 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:37 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:37 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:37 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:37 Constant: 0:37 0 (const int) 0:37 Constant: @@ -70,45 +70,45 @@ Shader version: 130 0:37 2 (const int) 0:37 Constant: 0:37 1 (const int) -0:43 move second child to first child (temp 4-component vector of float) -0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:43 vector-scale (temp 4-component vector of float) -0:43 'scale' (temp float) -0:43 texture (global 4-component vector of float) -0:43 'sampler' (uniform sampler2D) -0:43 'coord' (smooth in 2-component vector of float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:43 vector-scale ( temp 4-component vector of float) +0:43 'scale' ( temp float) +0:43 texture ( global 4-component vector of float) +0:43 'sampler' ( uniform sampler2D) +0:43 'coord' ( smooth in 2-component vector of float) 0:45 Sequence -0:45 move second child to first child (temp 3-element array of 2-component vector of float) -0:45 'constructed' (temp 3-element array of 2-component vector of float) -0:45 Construct vec2 (temp 3-element array of 2-component vector of float) -0:45 'coord' (smooth in 2-component vector of float) -0:45 Construct vec2 (temp 2-component vector of float) -0:45 'scale' (temp float) +0:45 move second child to first child ( temp 3-element array of 2-component vector of float) +0:45 'constructed' ( temp 3-element array of 2-component vector of float) +0:45 Construct vec2 ( temp 3-element array of 2-component vector of float) +0:45 'coord' ( smooth in 2-component vector of float) +0:45 Construct vec2 ( temp 2-component vector of float) +0:45 'scale' ( temp float) 0:45 Constant: 0:45 1.000000 0:45 2.000000 -0:46 add second child into first child (temp 4-component vector of float) -0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:46 Construct vec4 (temp 4-component vector of float) -0:46 indirect index (temp 2-component vector of float) -0:46 'constructed' (temp 3-element array of 2-component vector of float) -0:46 i: direct index for structure (global int) -0:46 'foo' (uniform structure{global int i, global float f}) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:46 Construct vec4 ( temp 4-component vector of float) +0:46 indirect index ( temp 2-component vector of float) +0:46 'constructed' ( temp 3-element array of 2-component vector of float) +0:46 i: direct index for structure ( global int) +0:46 'foo' ( uniform structure{ global int i, global float f}) 0:46 Constant: 0:46 0 (const int) -0:46 indirect index (temp 2-component vector of float) -0:46 'constructed' (temp 3-element array of 2-component vector of float) -0:46 i: direct index for structure (global int) -0:46 'foo' (uniform structure{global int i, global float f}) +0:46 indirect index ( temp 2-component vector of float) +0:46 'constructed' ( temp 3-element array of 2-component vector of float) +0:46 i: direct index for structure ( global int) +0:46 'foo' ( uniform structure{ global int i, global float f}) 0:46 Constant: 0:46 0 (const int) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'Count' (uniform int) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform 5-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'Count' ( uniform int) Linked fragment stage: @@ -116,20 +116,20 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:29 Function Definition: main( (global void) +0:29 Function Definition: main( ( global void) 0:29 Function Parameters: 0:? Sequence 0:32 Sequence -0:32 move second child to first child (temp int) -0:32 'iLocal' (temp int) -0:32 'Count' (uniform int) -0:34 Test condition and select (temp void) +0:32 move second child to first child ( temp int) +0:32 'iLocal' ( temp int) +0:32 'Count' ( uniform int) +0:34 Test condition and select ( temp void) 0:34 Condition -0:34 Compare Greater Than (temp bool) -0:34 i: direct index for structure (global int) -0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:34 Compare Greater Than ( temp bool) +0:34 i: direct index for structure ( global int) +0:34 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:34 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: @@ -139,42 +139,42 @@ Shader version: 130 0:34 Constant: 0:34 0 (const int) 0:34 true case -0:35 move second child to first child (temp float) -0:35 'scale' (temp float) -0:35 f: direct index for structure (global float) -0:35 s1_1: direct index for structure (global structure{global int i, global float f}) -0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 add (temp int) -0:35 add (temp int) -0:35 i: direct index for structure (global int) -0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:35 move second child to first child ( temp float) +0:35 'scale' ( temp float) +0:35 f: direct index for structure ( global float) +0:35 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:35 indirect index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 'foo2' ( uniform 5-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 add ( temp int) +0:35 add ( temp int) +0:35 i: direct index for structure ( global int) +0:35 indirect index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:35 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:35 Constant: 0:35 0 (const int) -0:35 i: direct index for structure (global int) -0:35 'foo' (uniform structure{global int i, global float f}) +0:35 i: direct index for structure ( global int) +0:35 'foo' ( uniform structure{ global int i, global float f}) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: 0:35 0 (const int) 0:35 Constant: 0:35 2 (const int) -0:35 Pre-Increment (temp int) -0:35 'iLocal' (temp int) +0:35 Pre-Increment ( temp int) +0:35 'iLocal' ( temp int) 0:35 Constant: 0:35 2 (const int) 0:35 Constant: 0:35 1 (const int) 0:34 false case -0:37 move second child to first child (temp float) -0:37 'scale' (temp float) -0:37 f: direct index for structure (global float) -0:37 s1_1: direct index for structure (global structure{global int i, global float f}) -0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) +0:37 move second child to first child ( temp float) +0:37 'scale' ( temp float) +0:37 f: direct index for structure ( global float) +0:37 s1_1: direct index for structure ( global structure{ global int i, global float f}) +0:37 direct index ( temp structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:37 s2_1: direct index for structure ( global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:37 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) 0:37 Constant: 0:37 0 (const int) 0:37 Constant: @@ -183,43 +183,43 @@ Shader version: 130 0:37 2 (const int) 0:37 Constant: 0:37 1 (const int) -0:43 move second child to first child (temp 4-component vector of float) -0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:43 vector-scale (temp 4-component vector of float) -0:43 'scale' (temp float) -0:43 texture (global 4-component vector of float) -0:43 'sampler' (uniform sampler2D) -0:43 'coord' (smooth in 2-component vector of float) +0:43 move second child to first child ( temp 4-component vector of float) +0:43 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:43 vector-scale ( temp 4-component vector of float) +0:43 'scale' ( temp float) +0:43 texture ( global 4-component vector of float) +0:43 'sampler' ( uniform sampler2D) +0:43 'coord' ( smooth in 2-component vector of float) 0:45 Sequence -0:45 move second child to first child (temp 3-element array of 2-component vector of float) -0:45 'constructed' (temp 3-element array of 2-component vector of float) -0:45 Construct vec2 (temp 3-element array of 2-component vector of float) -0:45 'coord' (smooth in 2-component vector of float) -0:45 Construct vec2 (temp 2-component vector of float) -0:45 'scale' (temp float) +0:45 move second child to first child ( temp 3-element array of 2-component vector of float) +0:45 'constructed' ( temp 3-element array of 2-component vector of float) +0:45 Construct vec2 ( temp 3-element array of 2-component vector of float) +0:45 'coord' ( smooth in 2-component vector of float) +0:45 Construct vec2 ( temp 2-component vector of float) +0:45 'scale' ( temp float) 0:45 Constant: 0:45 1.000000 0:45 2.000000 -0:46 add second child into first child (temp 4-component vector of float) -0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:46 Construct vec4 (temp 4-component vector of float) -0:46 indirect index (temp 2-component vector of float) -0:46 'constructed' (temp 3-element array of 2-component vector of float) -0:46 i: direct index for structure (global int) -0:46 'foo' (uniform structure{global int i, global float f}) +0:46 add second child into first child ( temp 4-component vector of float) +0:46 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:46 Construct vec4 ( temp 4-component vector of float) +0:46 indirect index ( temp 2-component vector of float) +0:46 'constructed' ( temp 3-element array of 2-component vector of float) +0:46 i: direct index for structure ( global int) +0:46 'foo' ( uniform structure{ global int i, global float f}) 0:46 Constant: 0:46 0 (const int) -0:46 indirect index (temp 2-component vector of float) -0:46 'constructed' (temp 3-element array of 2-component vector of float) -0:46 i: direct index for structure (global int) -0:46 'foo' (uniform structure{global int i, global float f}) +0:46 indirect index ( temp 2-component vector of float) +0:46 'constructed' ( temp 3-element array of 2-component vector of float) +0:46 i: direct index for structure ( global int) +0:46 'foo' ( uniform structure{ global int i, global float f}) 0:46 Constant: 0:46 0 (const int) 0:? Linker Objects -0:? 'sampler' (uniform sampler2D) -0:? 'coord' (smooth in 2-component vector of float) -0:? 'foo' (uniform structure{global int i, global float f}) -0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1}) -0:? 'Count' (uniform int) +0:? 'sampler' ( uniform sampler2D) +0:? 'coord' ( smooth in 2-component vector of float) +0:? 'foo' ( uniform structure{ global int i, global float f}) +0:? 'foo2' ( uniform 5-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'foo3' ( uniform structure{ global 3-element array of structure{ global int i, global float f, global structure{ global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{ global int i, global float f} s1_1}) +0:? 'Count' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArray.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArray.frag.out index 1fd59b46672..a7b9d23d7d1 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArray.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArray.frag.out @@ -6,57 +6,57 @@ WARNING: 0:8: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'texColor' (temp 4-component vector of float) -0:12 texture (global 4-component vector of float) -0:12 'texSampler2D' (uniform sampler2D) -0:12 Construct vec2 (temp 2-component vector of float) -0:12 add (temp 4-component vector of float) -0:12 direct index (smooth temp 4-component vector of float TexCoord) -0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'texColor' ( temp 4-component vector of float) +0:12 texture ( global 4-component vector of float) +0:12 'texSampler2D' ( uniform sampler2D) +0:12 Construct vec2 ( temp 2-component vector of float) +0:12 add ( temp 4-component vector of float) +0:12 direct index ( smooth temp 4-component vector of float TexCoord) +0:12 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:12 Constant: 0:12 4 (const int) -0:12 direct index (smooth temp 4-component vector of float TexCoord) -0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:12 direct index ( smooth temp 4-component vector of float TexCoord) +0:12 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:12 Constant: 0:12 5 (const int) -0:14 add second child into first child (temp 4-component vector of float) -0:14 'texColor' (temp 4-component vector of float) -0:14 'color' (smooth in 4-component vector of float) -0:16 move second child to first child (temp float) -0:16 direct index (temp float) -0:16 'texColor' (temp 4-component vector of float) +0:14 add second child into first child ( temp 4-component vector of float) +0:14 'texColor' ( temp 4-component vector of float) +0:14 'color' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp float) +0:16 direct index ( temp float) +0:16 'texColor' ( temp 4-component vector of float) 0:16 Constant: 0:16 3 (const int) -0:16 'alpha' (smooth in float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 add (temp 4-component vector of float) -0:18 add (temp 4-component vector of float) -0:18 add (temp 4-component vector of float) -0:18 direct index (smooth temp 4-component vector of float) -0:18 'foo' (smooth in 3-element array of 4-component vector of float) +0:16 'alpha' ( smooth in float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 add ( temp 4-component vector of float) +0:18 add ( temp 4-component vector of float) +0:18 add ( temp 4-component vector of float) +0:18 direct index ( smooth temp 4-component vector of float) +0:18 'foo' ( smooth in 3-element array of 4-component vector of float) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (smooth temp 4-component vector of float TexCoord) -0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 direct index ( smooth temp 4-component vector of float TexCoord) +0:18 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (smooth temp 4-component vector of float TexCoord) -0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 direct index ( smooth temp 4-component vector of float TexCoord) +0:18 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:18 Constant: 0:18 4 (const int) -0:18 'texColor' (temp 4-component vector of float) +0:18 'texColor' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'color' (smooth in 4-component vector of float) -0:? 'alpha' (smooth in float) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'foo' (smooth in 3-element array of 4-component vector of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'alpha' ( smooth in float) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'foo' ( smooth in 3-element array of 4-component vector of float) Linked fragment stage: @@ -64,55 +64,55 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:10 Function Definition: main( (global void) +0:10 Function Definition: main( ( global void) 0:10 Function Parameters: 0:12 Sequence 0:12 Sequence -0:12 move second child to first child (temp 4-component vector of float) -0:12 'texColor' (temp 4-component vector of float) -0:12 texture (global 4-component vector of float) -0:12 'texSampler2D' (uniform sampler2D) -0:12 Construct vec2 (temp 2-component vector of float) -0:12 add (temp 4-component vector of float) -0:12 direct index (smooth temp 4-component vector of float TexCoord) -0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:12 move second child to first child ( temp 4-component vector of float) +0:12 'texColor' ( temp 4-component vector of float) +0:12 texture ( global 4-component vector of float) +0:12 'texSampler2D' ( uniform sampler2D) +0:12 Construct vec2 ( temp 2-component vector of float) +0:12 add ( temp 4-component vector of float) +0:12 direct index ( smooth temp 4-component vector of float TexCoord) +0:12 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:12 Constant: 0:12 4 (const int) -0:12 direct index (smooth temp 4-component vector of float TexCoord) -0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:12 direct index ( smooth temp 4-component vector of float TexCoord) +0:12 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:12 Constant: 0:12 5 (const int) -0:14 add second child into first child (temp 4-component vector of float) -0:14 'texColor' (temp 4-component vector of float) -0:14 'color' (smooth in 4-component vector of float) -0:16 move second child to first child (temp float) -0:16 direct index (temp float) -0:16 'texColor' (temp 4-component vector of float) +0:14 add second child into first child ( temp 4-component vector of float) +0:14 'texColor' ( temp 4-component vector of float) +0:14 'color' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp float) +0:16 direct index ( temp float) +0:16 'texColor' ( temp 4-component vector of float) 0:16 Constant: 0:16 3 (const int) -0:16 'alpha' (smooth in float) -0:18 move second child to first child (temp 4-component vector of float) -0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:18 add (temp 4-component vector of float) -0:18 add (temp 4-component vector of float) -0:18 add (temp 4-component vector of float) -0:18 direct index (smooth temp 4-component vector of float) -0:18 'foo' (smooth in 3-element array of 4-component vector of float) +0:16 'alpha' ( smooth in float) +0:18 move second child to first child ( temp 4-component vector of float) +0:18 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:18 add ( temp 4-component vector of float) +0:18 add ( temp 4-component vector of float) +0:18 add ( temp 4-component vector of float) +0:18 direct index ( smooth temp 4-component vector of float) +0:18 'foo' ( smooth in 3-element array of 4-component vector of float) 0:18 Constant: 0:18 1 (const int) -0:18 direct index (smooth temp 4-component vector of float TexCoord) -0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 direct index ( smooth temp 4-component vector of float TexCoord) +0:18 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:18 Constant: 0:18 0 (const int) -0:18 direct index (smooth temp 4-component vector of float TexCoord) -0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 direct index ( smooth temp 4-component vector of float TexCoord) +0:18 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:18 Constant: 0:18 4 (const int) -0:18 'texColor' (temp 4-component vector of float) +0:18 'texColor' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'color' (smooth in 4-component vector of float) -0:? 'alpha' (smooth in float) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'foo' (smooth in 3-element array of 4-component vector of float) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'alpha' ( smooth in float) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'foo' ( smooth in 3-element array of 4-component vector of float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArrayIndirect.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArrayIndirect.frag.out index 73498129473..23872b41744 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArrayIndirect.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/varyingArrayIndirect.frag.out @@ -6,60 +6,60 @@ WARNING: 0:8: varying deprecated in version 130; may be removed in future releas Shader version: 130 0:? Sequence -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'texColor' (temp 4-component vector of float) -0:14 texture (global 4-component vector of float) -0:14 'texSampler2D' (uniform sampler2D) -0:14 Construct vec2 (temp 2-component vector of float) -0:14 add (temp 4-component vector of float) -0:14 add (temp 4-component vector of float) -0:14 indirect index (smooth temp 4-component vector of float) -0:14 'userIn' (smooth in 2-element array of 4-component vector of float) -0:14 'b' (uniform int) -0:14 indirect index (smooth temp 4-component vector of float TexCoord) -0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:14 'a' (uniform int) -0:14 direct index (smooth temp 4-component vector of float TexCoord) -0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'texColor' ( temp 4-component vector of float) +0:14 texture ( global 4-component vector of float) +0:14 'texSampler2D' ( uniform sampler2D) +0:14 Construct vec2 ( temp 2-component vector of float) +0:14 add ( temp 4-component vector of float) +0:14 add ( temp 4-component vector of float) +0:14 indirect index ( smooth temp 4-component vector of float) +0:14 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:14 'b' ( uniform int) +0:14 indirect index ( smooth temp 4-component vector of float TexCoord) +0:14 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:14 'a' ( uniform int) +0:14 direct index ( smooth temp 4-component vector of float TexCoord) +0:14 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:14 Constant: 0:14 5 (const int) -0:16 add second child into first child (temp 4-component vector of float) -0:16 'texColor' (temp 4-component vector of float) -0:16 'color' (smooth in 4-component vector of float) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 'texColor' (temp 4-component vector of float) +0:16 add second child into first child ( temp 4-component vector of float) +0:16 'texColor' ( temp 4-component vector of float) +0:16 'color' ( smooth in 4-component vector of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 'texColor' ( temp 4-component vector of float) 0:18 Constant: 0:18 3 (const int) -0:18 'alpha' (smooth in float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 add (temp 4-component vector of float) -0:20 add (temp 4-component vector of float) -0:20 add (temp 4-component vector of float) -0:20 direct index (smooth temp 4-component vector of float TexCoord) -0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 'alpha' ( smooth in float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 add ( temp 4-component vector of float) +0:20 add ( temp 4-component vector of float) +0:20 add ( temp 4-component vector of float) +0:20 direct index ( smooth temp 4-component vector of float TexCoord) +0:20 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:20 Constant: 0:20 0 (const int) -0:20 indirect index (smooth temp 4-component vector of float TexCoord) -0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:20 'b' (uniform int) -0:20 'texColor' (temp 4-component vector of float) -0:20 indirect index (smooth temp 4-component vector of float) -0:20 'userIn' (smooth in 2-element array of 4-component vector of float) -0:20 'a' (uniform int) +0:20 indirect index ( smooth temp 4-component vector of float TexCoord) +0:20 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:20 'b' ( uniform int) +0:20 'texColor' ( temp 4-component vector of float) +0:20 indirect index ( smooth temp 4-component vector of float) +0:20 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:20 'a' ( uniform int) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'color' (smooth in 4-component vector of float) -0:? 'alpha' (smooth in float) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'userIn' (smooth in 2-element array of 4-component vector of float) -0:? 'a' (uniform int) -0:? 'b' (uniform int) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'alpha' ( smooth in float) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:? 'a' ( uniform int) +0:? 'b' ( uniform int) Linked fragment stage: @@ -67,58 +67,58 @@ Linked fragment stage: Shader version: 130 0:? Sequence -0:12 Function Definition: main( (global void) +0:12 Function Definition: main( ( global void) 0:12 Function Parameters: 0:14 Sequence 0:14 Sequence -0:14 move second child to first child (temp 4-component vector of float) -0:14 'texColor' (temp 4-component vector of float) -0:14 texture (global 4-component vector of float) -0:14 'texSampler2D' (uniform sampler2D) -0:14 Construct vec2 (temp 2-component vector of float) -0:14 add (temp 4-component vector of float) -0:14 add (temp 4-component vector of float) -0:14 indirect index (smooth temp 4-component vector of float) -0:14 'userIn' (smooth in 2-element array of 4-component vector of float) -0:14 'b' (uniform int) -0:14 indirect index (smooth temp 4-component vector of float TexCoord) -0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:14 'a' (uniform int) -0:14 direct index (smooth temp 4-component vector of float TexCoord) -0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'texColor' ( temp 4-component vector of float) +0:14 texture ( global 4-component vector of float) +0:14 'texSampler2D' ( uniform sampler2D) +0:14 Construct vec2 ( temp 2-component vector of float) +0:14 add ( temp 4-component vector of float) +0:14 add ( temp 4-component vector of float) +0:14 indirect index ( smooth temp 4-component vector of float) +0:14 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:14 'b' ( uniform int) +0:14 indirect index ( smooth temp 4-component vector of float TexCoord) +0:14 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:14 'a' ( uniform int) +0:14 direct index ( smooth temp 4-component vector of float TexCoord) +0:14 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:14 Constant: 0:14 5 (const int) -0:16 add second child into first child (temp 4-component vector of float) -0:16 'texColor' (temp 4-component vector of float) -0:16 'color' (smooth in 4-component vector of float) -0:18 move second child to first child (temp float) -0:18 direct index (temp float) -0:18 'texColor' (temp 4-component vector of float) +0:16 add second child into first child ( temp 4-component vector of float) +0:16 'texColor' ( temp 4-component vector of float) +0:16 'color' ( smooth in 4-component vector of float) +0:18 move second child to first child ( temp float) +0:18 direct index ( temp float) +0:18 'texColor' ( temp 4-component vector of float) 0:18 Constant: 0:18 3 (const int) -0:18 'alpha' (smooth in float) -0:20 move second child to first child (temp 4-component vector of float) -0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:20 add (temp 4-component vector of float) -0:20 add (temp 4-component vector of float) -0:20 add (temp 4-component vector of float) -0:20 direct index (smooth temp 4-component vector of float TexCoord) -0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) +0:18 'alpha' ( smooth in float) +0:20 move second child to first child ( temp 4-component vector of float) +0:20 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:20 add ( temp 4-component vector of float) +0:20 add ( temp 4-component vector of float) +0:20 add ( temp 4-component vector of float) +0:20 direct index ( smooth temp 4-component vector of float TexCoord) +0:20 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) 0:20 Constant: 0:20 0 (const int) -0:20 indirect index (smooth temp 4-component vector of float TexCoord) -0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:20 'b' (uniform int) -0:20 'texColor' (temp 4-component vector of float) -0:20 indirect index (smooth temp 4-component vector of float) -0:20 'userIn' (smooth in 2-element array of 4-component vector of float) -0:20 'a' (uniform int) +0:20 indirect index ( smooth temp 4-component vector of float TexCoord) +0:20 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:20 'b' ( uniform int) +0:20 'texColor' ( temp 4-component vector of float) +0:20 indirect index ( smooth temp 4-component vector of float) +0:20 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:20 'a' ( uniform int) 0:? Linker Objects -0:? 'texSampler2D' (uniform sampler2D) -0:? 'color' (smooth in 4-component vector of float) -0:? 'alpha' (smooth in float) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'userIn' (smooth in 2-element array of 4-component vector of float) -0:? 'a' (uniform int) -0:? 'b' (uniform int) +0:? 'texSampler2D' ( uniform sampler2D) +0:? 'color' ( smooth in 4-component vector of float) +0:? 'alpha' ( smooth in float) +0:? 'gl_TexCoord' ( smooth in 6-element array of 4-component vector of float TexCoord) +0:? 'userIn' ( smooth in 2-element array of 4-component vector of float) +0:? 'a' ( uniform int) +0:? 'b' ( uniform int) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.frag.out index 44f04f6aa02..721d73c0392 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.frag.out @@ -6,20 +6,20 @@ ERROR: 2 compilation errors. No code generated. Shader version: 300 ERROR: node is still EOpNull! -0:41 Function Definition: main( (global void) +0:41 Function Definition: main( ( global void) 0:41 Function Parameters: 0:43 Sequence -0:43 move second child to first child (temp highp 4-component vector of float) -0:43 'foo' (out highp 4-component vector of float) -0:43 Construct vec4 (temp highp 4-component vector of float) -0:43 'color' (smooth in highp 3-component vector of float) +0:43 move second child to first child ( temp highp 4-component vector of float) +0:43 'foo' ( out highp 4-component vector of float) +0:43 Construct vec4 ( temp highp 4-component vector of float) +0:43 'color' ( smooth in highp 3-component vector of float) 0:43 Constant: 0:43 142.000000 0:44 Branch: Kill 0:? Linker Objects -0:? 'color' (smooth in highp 3-component vector of float) -0:? 'foo' (out highp 4-component vector of float) -0:? 'bar' (uniform highp sampler2DArrayShadow) +0:? 'color' ( smooth in highp 3-component vector of float) +0:? 'foo' ( out highp 4-component vector of float) +0:? 'bar' ( uniform highp sampler2DArrayShadow) Linked fragment stage: @@ -27,18 +27,18 @@ Linked fragment stage: Shader version: 300 ERROR: node is still EOpNull! -0:41 Function Definition: main( (global void) +0:41 Function Definition: main( ( global void) 0:41 Function Parameters: 0:43 Sequence -0:43 move second child to first child (temp highp 4-component vector of float) -0:43 'foo' (out highp 4-component vector of float) -0:43 Construct vec4 (temp highp 4-component vector of float) -0:43 'color' (smooth in highp 3-component vector of float) +0:43 move second child to first child ( temp highp 4-component vector of float) +0:43 'foo' ( out highp 4-component vector of float) +0:43 Construct vec4 ( temp highp 4-component vector of float) +0:43 'color' ( smooth in highp 3-component vector of float) 0:43 Constant: 0:43 142.000000 0:44 Branch: Kill 0:? Linker Objects -0:? 'color' (smooth in highp 3-component vector of float) -0:? 'foo' (out highp 4-component vector of float) -0:? 'bar' (uniform highp sampler2DArrayShadow) +0:? 'color' ( smooth in highp 3-component vector of float) +0:? 'foo' ( out highp 4-component vector of float) +0:? 'bar' ( uniform highp sampler2DArrayShadow) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.vert.out index c5d05a71a62..cd9da127b6b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsClean.vert.out @@ -3,24 +3,24 @@ Warning, version 420 is not yet complete; most version-specific features are pre Shader version: 420 0:? Sequence -0:40 Function Definition: main( (global void) +0:40 Function Definition: main( ( global void) 0:40 Function Parameters: 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:42 Constant: 0:42 0 (const uint) -0:42 Construct vec4 (temp 4-component vector of float) -0:42 'color' (in 3-component vector of float) +0:42 Construct vec4 ( temp 4-component vector of float) +0:42 'color' ( in 3-component vector of float) 0:42 Constant: 0:42 142.000000 0:? Linker Objects -0:? 'color' (in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'color' ( in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -28,22 +28,22 @@ Linked vertex stage: Shader version: 420 0:? Sequence -0:40 Function Definition: main( (global void) +0:40 Function Definition: main( ( global void) 0:40 Function Parameters: 0:42 Sequence -0:42 move second child to first child (temp 4-component vector of float) -0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:42 move second child to first child ( temp 4-component vector of float) +0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:42 Constant: 0:42 0 (const uint) -0:42 Construct vec4 (temp 4-component vector of float) -0:42 'color' (in 3-component vector of float) +0:42 Construct vec4 ( temp 4-component vector of float) +0:42 'color' ( in 3-component vector of float) 0:42 Constant: 0:42 142.000000 0:? Linker Objects -0:? 'color' (in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'color' ( in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.frag.out index 34182d015c8..dbeb941ab75 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.frag.out @@ -8,19 +8,19 @@ ERROR: 4 compilation errors. No code generated. Shader version: 110 ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 'color' (smooth in 3-component vector of float) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 'color' ( smooth in 3-component vector of float) 0:44 Constant: 0:44 142.000000 0:45 Branch: Kill 0:? Linker Objects -0:? 'color' (smooth in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) +0:? 'color' ( smooth in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) Linked fragment stage: @@ -28,17 +28,17 @@ Linked fragment stage: Shader version: 110 ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 'color' (smooth in 3-component vector of float) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 'color' ( smooth in 3-component vector of float) 0:44 Constant: 0:44 142.000000 0:45 Branch: Kill 0:? Linker Objects -0:? 'color' (smooth in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) +0:? 'color' ( smooth in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.vert.out index 0aeaea8cc3d..0d371365c40 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/versionsErrors.vert.out @@ -9,25 +9,25 @@ ERROR: 2 compilation errors. No code generated. Shader version: 420 Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:44 Constant: 0:44 0 (const uint) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 'color' (in 3-component vector of float) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 'color' ( in 3-component vector of float) 0:44 Constant: 0:44 142.000000 0:45 Branch: Kill 0:? Linker Objects -0:? 'color' (in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'color' ( in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) Linked vertex stage: @@ -36,23 +36,23 @@ Linked vertex stage: Shader version: 420 Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! -0:42 Function Definition: main( (global void) +0:42 Function Definition: main( ( global void) 0:42 Function Parameters: 0:44 Sequence -0:44 move second child to first child (temp 4-component vector of float) -0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position) -0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:44 move second child to first child ( temp 4-component vector of float) +0:44 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:44 Constant: 0:44 0 (const uint) -0:44 Construct vec4 (temp 4-component vector of float) -0:44 'color' (in 3-component vector of float) +0:44 Construct vec4 ( temp 4-component vector of float) +0:44 'color' ( in 3-component vector of float) 0:44 Constant: 0:44 142.000000 0:45 Branch: Kill 0:? Linker Objects -0:? 'color' (in 3-component vector of float) -0:? 'foo' (uniform sampler2DRect) -0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) -0:? 'gl_VertexID' (gl_VertexId int VertexId) -0:? 'gl_InstanceID' (gl_InstanceId int InstanceId) +0:? 'color' ( in 3-component vector of float) +0:? 'foo' ( uniform sampler2DRect) +0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/voidFunction.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/voidFunction.frag.out index 638cfbdd3d8..a38509f85c2 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/voidFunction.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/voidFunction.frag.out @@ -2,45 +2,45 @@ voidFunction.frag Shader version: 120 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'bar' (global float) +0:7 move second child to first child ( temp float) +0:7 'bar' ( global float) 0:7 Constant: 0:7 2.000000 -0:9 Function Definition: foo( (global void) +0:9 Function Definition: foo( ( global void) 0:9 Function Parameters: 0:11 Sequence -0:11 Post-Increment (temp float) -0:11 'bar' (global float) +0:11 Post-Increment ( temp float) +0:11 'bar' ( global float) 0:13 Branch: Return -0:16 Function Definition: foo2( (global void) +0:16 Function Definition: foo2( ( global void) 0:16 Function Parameters: 0:18 Sequence -0:18 Post-Increment (temp float) -0:18 'bar' (global float) -0:21 Function Definition: main( (global void) +0:18 Post-Increment ( temp float) +0:18 'bar' ( global float) +0:21 Function Definition: main( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'outColor' (temp 4-component vector of float) -0:23 'bigColor' (uniform 4-component vector of float) -0:25 Function Call: foo( (global void) -0:27 Function Call: foo2( (global void) -0:29 add second child into first child (temp float) -0:29 direct index (temp float) -0:29 'outColor' (temp 4-component vector of float) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'outColor' ( temp 4-component vector of float) +0:23 'bigColor' ( uniform 4-component vector of float) +0:25 Function Call: foo( ( global void) +0:27 Function Call: foo2( ( global void) +0:29 add second child into first child ( temp float) +0:29 direct index ( temp float) +0:29 'outColor' ( temp 4-component vector of float) 0:29 Constant: 0:29 0 (const int) -0:29 'bar' (global float) -0:31 move second child to first child (temp 4-component vector of float) -0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:31 'outColor' (temp 4-component vector of float) +0:29 'bar' ( global float) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:31 'outColor' ( temp 4-component vector of float) 0:33 Branch: Return 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'bar' (global float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'bar' ( global float) Linked fragment stage: @@ -49,43 +49,43 @@ Linked fragment stage: Shader version: 120 0:? Sequence 0:7 Sequence -0:7 move second child to first child (temp float) -0:7 'bar' (global float) +0:7 move second child to first child ( temp float) +0:7 'bar' ( global float) 0:7 Constant: 0:7 2.000000 -0:9 Function Definition: foo( (global void) +0:9 Function Definition: foo( ( global void) 0:9 Function Parameters: 0:11 Sequence -0:11 Post-Increment (temp float) -0:11 'bar' (global float) +0:11 Post-Increment ( temp float) +0:11 'bar' ( global float) 0:13 Branch: Return -0:16 Function Definition: foo2( (global void) +0:16 Function Definition: foo2( ( global void) 0:16 Function Parameters: 0:18 Sequence -0:18 Post-Increment (temp float) -0:18 'bar' (global float) -0:21 Function Definition: main( (global void) +0:18 Post-Increment ( temp float) +0:18 'bar' ( global float) +0:21 Function Definition: main( ( global void) 0:21 Function Parameters: 0:23 Sequence 0:23 Sequence -0:23 move second child to first child (temp 4-component vector of float) -0:23 'outColor' (temp 4-component vector of float) -0:23 'bigColor' (uniform 4-component vector of float) -0:25 Function Call: foo( (global void) -0:27 Function Call: foo2( (global void) -0:29 add second child into first child (temp float) -0:29 direct index (temp float) -0:29 'outColor' (temp 4-component vector of float) +0:23 move second child to first child ( temp 4-component vector of float) +0:23 'outColor' ( temp 4-component vector of float) +0:23 'bigColor' ( uniform 4-component vector of float) +0:25 Function Call: foo( ( global void) +0:27 Function Call: foo2( ( global void) +0:29 add second child into first child ( temp float) +0:29 direct index ( temp float) +0:29 'outColor' ( temp 4-component vector of float) 0:29 Constant: 0:29 0 (const int) -0:29 'bar' (global float) -0:31 move second child to first child (temp 4-component vector of float) -0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:31 'outColor' (temp 4-component vector of float) +0:29 'bar' ( global float) +0:31 move second child to first child ( temp 4-component vector of float) +0:31 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:31 'outColor' ( temp 4-component vector of float) 0:33 Branch: Return 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) -0:? 'bar' (global float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) +0:? 'bar' ( global float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.ast.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.ast.vert.out index c07656d1cee..bfc38c0355a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.ast.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.ast.vert.out @@ -3,129 +3,129 @@ Warning, version 450 is not yet complete; most version-specific features are pre Shader version: 450 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 Convert float to bool (temp bool) -0:9 'scf1' (specialization-constant const highp float) +0:9 Convert float to bool ( temp bool) +0:9 'scf1' ( specialization-constant const highp float) 0:9 1.000000 -0:10 Construct bool (specialization-constant const bool) -0:10 'scbt' (specialization-constant const bool) +0:10 Construct bool ( specialization-constant const bool) +0:10 'scbt' ( specialization-constant const bool) 0:10 true (const bool) -0:11 Convert int to bool (specialization-constant const bool) -0:11 'sci2' (specialization-constant const highp int) +0:11 Convert int to bool ( specialization-constant const bool) +0:11 'sci2' ( specialization-constant const highp int) 0:11 2 (const int) -0:13 Construct float (temp float) -0:13 'scf1' (specialization-constant const highp float) +0:13 Construct float ( temp float) +0:13 'scf1' ( specialization-constant const highp float) 0:13 1.000000 -0:14 Convert bool to float (temp float) -0:14 'scbt' (specialization-constant const bool) +0:14 Convert bool to float ( temp float) +0:14 'scbt' ( specialization-constant const bool) 0:14 true (const bool) -0:15 Convert int to float (temp float) -0:15 'sci2' (specialization-constant const highp int) +0:15 Convert int to float ( temp float) +0:15 'sci2' ( specialization-constant const highp int) 0:15 2 (const int) -0:17 Convert float to int (temp int) -0:17 'scf1' (specialization-constant const highp float) +0:17 Convert float to int ( temp int) +0:17 'scf1' ( specialization-constant const highp float) 0:17 1.000000 -0:18 Convert bool to int (specialization-constant const int) -0:18 'scbt' (specialization-constant const bool) +0:18 Convert bool to int ( specialization-constant const int) +0:18 'scbt' ( specialization-constant const bool) 0:18 true (const bool) -0:19 Construct int (specialization-constant const int) -0:19 'sci2' (specialization-constant const highp int) +0:19 Construct int ( specialization-constant const int) +0:19 'sci2' ( specialization-constant const highp int) 0:19 2 (const int) -0:21 component-wise multiply (temp highp float) -0:21 'scf1' (specialization-constant const highp float) +0:21 component-wise multiply ( temp highp float) +0:21 'scf1' ( specialization-constant const highp float) 0:21 1.000000 -0:21 'scf1' (specialization-constant const highp float) +0:21 'scf1' ( specialization-constant const highp float) 0:21 1.000000 -0:22 logical-or (specialization-constant const bool) -0:22 'scbt' (specialization-constant const bool) +0:22 logical-or ( specialization-constant const bool) +0:22 'scbt' ( specialization-constant const bool) 0:22 true (const bool) -0:22 'scbt' (specialization-constant const bool) +0:22 'scbt' ( specialization-constant const bool) 0:22 true (const bool) -0:23 component-wise multiply (specialization-constant const highp int) -0:23 'sci2' (specialization-constant const highp int) +0:23 component-wise multiply ( specialization-constant const highp int) +0:23 'sci2' ( specialization-constant const highp int) 0:23 2 (const int) -0:23 'sci2' (specialization-constant const highp int) +0:23 'sci2' ( specialization-constant const highp int) 0:23 2 (const int) -0:24 add (temp highp float) -0:24 'scf1' (specialization-constant const highp float) +0:24 add ( temp highp float) +0:24 'scf1' ( specialization-constant const highp float) 0:24 1.000000 -0:24 Convert int to float (temp highp float) -0:24 'sci2' (specialization-constant const highp int) +0:24 Convert int to float ( temp highp float) +0:24 'sci2' ( specialization-constant const highp int) 0:24 2 (const int) -0:26 Negate value (temp highp float) -0:26 'scf1' (specialization-constant const highp float) +0:26 Negate value ( temp highp float) +0:26 'scf1' ( specialization-constant const highp float) 0:26 1.000000 -0:27 Negate conditional (specialization-constant const bool) -0:27 'scbt' (specialization-constant const bool) +0:27 Negate conditional ( specialization-constant const bool) +0:27 'scbt' ( specialization-constant const bool) 0:27 true (const bool) -0:28 Negate value (specialization-constant const highp int) -0:28 'sci2' (specialization-constant const highp int) +0:28 Negate value ( specialization-constant const highp int) +0:28 'sci2' ( specialization-constant const highp int) 0:28 2 (const int) -0:30 Compare Greater Than (temp bool) -0:30 'scf1' (specialization-constant const highp float) +0:30 Compare Greater Than ( temp bool) +0:30 'scf1' ( specialization-constant const highp float) 0:30 1.000000 -0:30 'scf1' (specialization-constant const highp float) +0:30 'scf1' ( specialization-constant const highp float) 0:30 1.000000 -0:31 Compare Greater Than (specialization-constant const bool) -0:31 'sci2' (specialization-constant const highp int) +0:31 Compare Greater Than ( specialization-constant const bool) +0:31 'sci2' ( specialization-constant const highp int) 0:31 2 (const int) -0:31 'sci2' (specialization-constant const highp int) +0:31 'sci2' ( specialization-constant const highp int) 0:31 2 (const int) -0:33 Compare Not Equal (temp bool) -0:33 'scf1' (specialization-constant const highp float) +0:33 Compare Not Equal ( temp bool) +0:33 'scf1' ( specialization-constant const highp float) 0:33 1.000000 -0:33 'scf1' (specialization-constant const highp float) +0:33 'scf1' ( specialization-constant const highp float) 0:33 1.000000 -0:34 Compare Not Equal (specialization-constant const bool) -0:34 'scbt' (specialization-constant const bool) +0:34 Compare Not Equal ( specialization-constant const bool) +0:34 'scbt' ( specialization-constant const bool) 0:34 true (const bool) -0:34 'scbt' (specialization-constant const bool) +0:34 'scbt' ( specialization-constant const bool) 0:34 true (const bool) -0:35 Compare Not Equal (specialization-constant const bool) -0:35 'sci2' (specialization-constant const highp int) +0:35 Compare Not Equal ( specialization-constant const bool) +0:35 'sci2' ( specialization-constant const highp int) 0:35 2 (const int) -0:35 'sci2' (specialization-constant const highp int) +0:35 'sci2' ( specialization-constant const highp int) 0:35 2 (const int) -0:37 Construct ivec2 (specialization-constant const 2-component vector of int) -0:37 'sci2' (specialization-constant const highp int) +0:37 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:37 'sci2' ( specialization-constant const highp int) 0:37 2 (const int) -0:37 'sci2' (specialization-constant const highp int) +0:37 'sci2' ( specialization-constant const highp int) 0:37 2 (const int) -0:38 Construct ivec2 (temp 2-element array of 2-component vector of int) -0:38 Construct ivec2 (specialization-constant const 2-component vector of int) -0:38 'sci2' (specialization-constant const highp int) +0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int) +0:38 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 'sci2' (specialization-constant const highp int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 Construct ivec2 (specialization-constant const 2-component vector of int) -0:38 'sci2' (specialization-constant const highp int) +0:38 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 'sci2' (specialization-constant const highp int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:40 Construct vec2 (temp 2-component vector of float) -0:40 'scf1' (specialization-constant const highp float) +0:40 Construct vec2 ( temp 2-component vector of float) +0:40 'scf1' ( specialization-constant const highp float) 0:40 1.000000 -0:40 'scf1' (specialization-constant const highp float) +0:40 'scf1' ( specialization-constant const highp float) 0:40 1.000000 -0:41 Construct vec2 (temp 2-element array of 2-component vector of float) -0:41 Construct vec2 (temp 2-component vector of float) -0:41 'scf1' (specialization-constant const highp float) +0:41 Construct vec2 ( temp 2-element array of 2-component vector of float) +0:41 Construct vec2 ( temp 2-component vector of float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 'scf1' (specialization-constant const highp float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 Construct vec2 (temp 2-component vector of float) -0:41 'scf1' (specialization-constant const highp float) +0:41 Construct vec2 ( temp 2-component vector of float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 'scf1' (specialization-constant const highp float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 0:? Linker Objects -0:? 'scf1' (specialization-constant const highp float) +0:? 'scf1' ( specialization-constant const highp float) 0:? 1.000000 -0:? 'scbt' (specialization-constant const bool) +0:? 'scbt' ( specialization-constant const bool) 0:? true (const bool) -0:? 'sci2' (specialization-constant const highp int) +0:? 'sci2' ( specialization-constant const highp int) 0:? 2 (const int) @@ -134,129 +134,129 @@ Linked vertex stage: Shader version: 450 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence -0:9 Convert float to bool (temp bool) -0:9 'scf1' (specialization-constant const highp float) +0:9 Convert float to bool ( temp bool) +0:9 'scf1' ( specialization-constant const highp float) 0:9 1.000000 -0:10 Construct bool (specialization-constant const bool) -0:10 'scbt' (specialization-constant const bool) +0:10 Construct bool ( specialization-constant const bool) +0:10 'scbt' ( specialization-constant const bool) 0:10 true (const bool) -0:11 Convert int to bool (specialization-constant const bool) -0:11 'sci2' (specialization-constant const highp int) +0:11 Convert int to bool ( specialization-constant const bool) +0:11 'sci2' ( specialization-constant const highp int) 0:11 2 (const int) -0:13 Construct float (temp float) -0:13 'scf1' (specialization-constant const highp float) +0:13 Construct float ( temp float) +0:13 'scf1' ( specialization-constant const highp float) 0:13 1.000000 -0:14 Convert bool to float (temp float) -0:14 'scbt' (specialization-constant const bool) +0:14 Convert bool to float ( temp float) +0:14 'scbt' ( specialization-constant const bool) 0:14 true (const bool) -0:15 Convert int to float (temp float) -0:15 'sci2' (specialization-constant const highp int) +0:15 Convert int to float ( temp float) +0:15 'sci2' ( specialization-constant const highp int) 0:15 2 (const int) -0:17 Convert float to int (temp int) -0:17 'scf1' (specialization-constant const highp float) +0:17 Convert float to int ( temp int) +0:17 'scf1' ( specialization-constant const highp float) 0:17 1.000000 -0:18 Convert bool to int (specialization-constant const int) -0:18 'scbt' (specialization-constant const bool) +0:18 Convert bool to int ( specialization-constant const int) +0:18 'scbt' ( specialization-constant const bool) 0:18 true (const bool) -0:19 Construct int (specialization-constant const int) -0:19 'sci2' (specialization-constant const highp int) +0:19 Construct int ( specialization-constant const int) +0:19 'sci2' ( specialization-constant const highp int) 0:19 2 (const int) -0:21 component-wise multiply (temp highp float) -0:21 'scf1' (specialization-constant const highp float) +0:21 component-wise multiply ( temp highp float) +0:21 'scf1' ( specialization-constant const highp float) 0:21 1.000000 -0:21 'scf1' (specialization-constant const highp float) +0:21 'scf1' ( specialization-constant const highp float) 0:21 1.000000 -0:22 logical-or (specialization-constant const bool) -0:22 'scbt' (specialization-constant const bool) +0:22 logical-or ( specialization-constant const bool) +0:22 'scbt' ( specialization-constant const bool) 0:22 true (const bool) -0:22 'scbt' (specialization-constant const bool) +0:22 'scbt' ( specialization-constant const bool) 0:22 true (const bool) -0:23 component-wise multiply (specialization-constant const highp int) -0:23 'sci2' (specialization-constant const highp int) +0:23 component-wise multiply ( specialization-constant const highp int) +0:23 'sci2' ( specialization-constant const highp int) 0:23 2 (const int) -0:23 'sci2' (specialization-constant const highp int) +0:23 'sci2' ( specialization-constant const highp int) 0:23 2 (const int) -0:24 add (temp highp float) -0:24 'scf1' (specialization-constant const highp float) +0:24 add ( temp highp float) +0:24 'scf1' ( specialization-constant const highp float) 0:24 1.000000 -0:24 Convert int to float (temp highp float) -0:24 'sci2' (specialization-constant const highp int) +0:24 Convert int to float ( temp highp float) +0:24 'sci2' ( specialization-constant const highp int) 0:24 2 (const int) -0:26 Negate value (temp highp float) -0:26 'scf1' (specialization-constant const highp float) +0:26 Negate value ( temp highp float) +0:26 'scf1' ( specialization-constant const highp float) 0:26 1.000000 -0:27 Negate conditional (specialization-constant const bool) -0:27 'scbt' (specialization-constant const bool) +0:27 Negate conditional ( specialization-constant const bool) +0:27 'scbt' ( specialization-constant const bool) 0:27 true (const bool) -0:28 Negate value (specialization-constant const highp int) -0:28 'sci2' (specialization-constant const highp int) +0:28 Negate value ( specialization-constant const highp int) +0:28 'sci2' ( specialization-constant const highp int) 0:28 2 (const int) -0:30 Compare Greater Than (temp bool) -0:30 'scf1' (specialization-constant const highp float) +0:30 Compare Greater Than ( temp bool) +0:30 'scf1' ( specialization-constant const highp float) 0:30 1.000000 -0:30 'scf1' (specialization-constant const highp float) +0:30 'scf1' ( specialization-constant const highp float) 0:30 1.000000 -0:31 Compare Greater Than (specialization-constant const bool) -0:31 'sci2' (specialization-constant const highp int) +0:31 Compare Greater Than ( specialization-constant const bool) +0:31 'sci2' ( specialization-constant const highp int) 0:31 2 (const int) -0:31 'sci2' (specialization-constant const highp int) +0:31 'sci2' ( specialization-constant const highp int) 0:31 2 (const int) -0:33 Compare Not Equal (temp bool) -0:33 'scf1' (specialization-constant const highp float) +0:33 Compare Not Equal ( temp bool) +0:33 'scf1' ( specialization-constant const highp float) 0:33 1.000000 -0:33 'scf1' (specialization-constant const highp float) +0:33 'scf1' ( specialization-constant const highp float) 0:33 1.000000 -0:34 Compare Not Equal (specialization-constant const bool) -0:34 'scbt' (specialization-constant const bool) +0:34 Compare Not Equal ( specialization-constant const bool) +0:34 'scbt' ( specialization-constant const bool) 0:34 true (const bool) -0:34 'scbt' (specialization-constant const bool) +0:34 'scbt' ( specialization-constant const bool) 0:34 true (const bool) -0:35 Compare Not Equal (specialization-constant const bool) -0:35 'sci2' (specialization-constant const highp int) +0:35 Compare Not Equal ( specialization-constant const bool) +0:35 'sci2' ( specialization-constant const highp int) 0:35 2 (const int) -0:35 'sci2' (specialization-constant const highp int) +0:35 'sci2' ( specialization-constant const highp int) 0:35 2 (const int) -0:37 Construct ivec2 (specialization-constant const 2-component vector of int) -0:37 'sci2' (specialization-constant const highp int) +0:37 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:37 'sci2' ( specialization-constant const highp int) 0:37 2 (const int) -0:37 'sci2' (specialization-constant const highp int) +0:37 'sci2' ( specialization-constant const highp int) 0:37 2 (const int) -0:38 Construct ivec2 (temp 2-element array of 2-component vector of int) -0:38 Construct ivec2 (specialization-constant const 2-component vector of int) -0:38 'sci2' (specialization-constant const highp int) +0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int) +0:38 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 'sci2' (specialization-constant const highp int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 Construct ivec2 (specialization-constant const 2-component vector of int) -0:38 'sci2' (specialization-constant const highp int) +0:38 Construct ivec2 ( specialization-constant const 2-component vector of int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:38 'sci2' (specialization-constant const highp int) +0:38 'sci2' ( specialization-constant const highp int) 0:38 2 (const int) -0:40 Construct vec2 (temp 2-component vector of float) -0:40 'scf1' (specialization-constant const highp float) +0:40 Construct vec2 ( temp 2-component vector of float) +0:40 'scf1' ( specialization-constant const highp float) 0:40 1.000000 -0:40 'scf1' (specialization-constant const highp float) +0:40 'scf1' ( specialization-constant const highp float) 0:40 1.000000 -0:41 Construct vec2 (temp 2-element array of 2-component vector of float) -0:41 Construct vec2 (temp 2-component vector of float) -0:41 'scf1' (specialization-constant const highp float) +0:41 Construct vec2 ( temp 2-element array of 2-component vector of float) +0:41 Construct vec2 ( temp 2-component vector of float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 'scf1' (specialization-constant const highp float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 Construct vec2 (temp 2-component vector of float) -0:41 'scf1' (specialization-constant const highp float) +0:41 Construct vec2 ( temp 2-component vector of float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 -0:41 'scf1' (specialization-constant const highp float) +0:41 'scf1' ( specialization-constant const highp float) 0:41 1.000000 0:? Linker Objects -0:? 'scf1' (specialization-constant const highp float) +0:? 'scf1' ( specialization-constant const highp float) 0:? 1.000000 -0:? 'scbt' (specialization-constant const bool) +0:? 'scbt' ( specialization-constant const bool) 0:? true (const bool) -0:? 'sci2' (specialization-constant const highp int) +0:? 'sci2' ( specialization-constant const highp int) 0:? 2 (const int) // Module Version 10000 diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.frag.out index 0e3057ebaf2..27edff9b829 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.frag.out @@ -14,12 +14,11 @@ ERROR: 0:25: 'sampler2DShadow' : sampler-constructor second argument presence of ERROR: 0:28: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: s2D ERROR: 0:29: 'sampler3D' : sampler-constructor cannot make an array of samplers ERROR: 0:29: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: s3d -ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 4-element array of highp sampler3D' +ERROR: 0:29: '=' : cannot convert from ' const float' to ' global 4-element array of highp sampler3D' ERROR: 0:39: 'push_constant' : can only be used with a uniform ERROR: 0:43: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan ERROR: 0:43: 'push_constant' : can only be used with a block ERROR: 0:45: 'push_constant' : cannot declare a default, can only be used on a block -ERROR: 0:47: 'push_constant' : requires an instance name ERROR: 0:52: 'input_attachment_index' : can only be used with a subpass ERROR: 0:53: 'input_attachment_index' : can only be used with a subpass ERROR: 0:54: 'subpass' : requires an input_attachment_index layout qualifier @@ -38,10 +37,10 @@ WARNING: 0:82: '' : all default precisions are highp; use precision statements t ERROR: 0:91: 'call argument' : sampler constructor must appear at point of use ERROR: 0:92: 'call argument' : sampler constructor must appear at point of use ERROR: 0:93: ',' : sampler constructor must appear at point of use -ERROR: 0:94: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp sampler2D' and a right operand of type 'temp sampler2D' (or there is no acceptable conversion) +ERROR: 0:94: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp sampler2D' and a right operand of type ' temp sampler2D' (or there is no acceptable conversion) ERROR: 0:94: 'call argument' : sampler constructor must appear at point of use ERROR: 0:96: 'gl_NumSamples' : undeclared identifier -ERROR: 39 compilation errors. No code generated. +ERROR: 38 compilation errors. No code generated. ERROR: Linking fragment stage: Only one push_constant block is allowed per stage diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.vert.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.vert.out index 7111a2dc2b6..1e7441721cb 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.vert.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/vulkan.vert.out @@ -15,7 +15,7 @@ ERROR: 0:15: 'constant_id' : can only be applied to a scalar ERROR: 0:16: 'constant_id' : specialization-constant id already used ERROR: 0:16: 'constant_id' : cannot declare a default, can only be used on a scalar ERROR: 0:20: 'subpassLoad' : no matching overloaded function found -ERROR: 0:20: 'assign' : cannot convert from 'const float' to 'smooth out highp 4-component vector of float' +ERROR: 0:20: 'assign' : cannot convert from ' const float' to ' smooth out highp 4-component vector of float' ERROR: 0:23: 'atomic counter types' : not allowed when using GLSL for Vulkan ERROR: 0:24: 'shared' : not allowed when generating SPIR-V ERROR: 0:25: 'packed' : not allowed when generating SPIR-V diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/whileLoop.frag.out b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/whileLoop.frag.out index ad30b361f15..cfe972da93b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/whileLoop.frag.out +++ b/3rdparty/bgfx/3rdparty/glslang/Test/baseResults/whileLoop.frag.out @@ -1,33 +1,33 @@ whileLoop.frag Shader version: 110 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'color' (temp 4-component vector of float) -0:9 'BaseColor' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'color' ( temp 4-component vector of float) +0:9 'BaseColor' ( smooth in 4-component vector of float) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 direct index (temp float) -0:11 'color' (temp 4-component vector of float) +0:11 Compare Less Than ( temp bool) +0:11 direct index ( temp float) +0:11 'color' ( temp 4-component vector of float) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (uniform float) +0:11 'd' ( uniform float) 0:11 Loop Body 0:12 Sequence -0:12 add second child into first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'bigColor' (uniform 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'color' (temp 4-component vector of float) +0:12 add second child into first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'bigColor' ( uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) Linked fragment stage: @@ -35,31 +35,31 @@ Linked fragment stage: Shader version: 110 0:? Sequence -0:7 Function Definition: main( (global void) +0:7 Function Definition: main( ( global void) 0:7 Function Parameters: 0:9 Sequence 0:9 Sequence -0:9 move second child to first child (temp 4-component vector of float) -0:9 'color' (temp 4-component vector of float) -0:9 'BaseColor' (smooth in 4-component vector of float) +0:9 move second child to first child ( temp 4-component vector of float) +0:9 'color' ( temp 4-component vector of float) +0:9 'BaseColor' ( smooth in 4-component vector of float) 0:11 Loop with condition tested first 0:11 Loop Condition -0:11 Compare Less Than (temp bool) -0:11 direct index (temp float) -0:11 'color' (temp 4-component vector of float) +0:11 Compare Less Than ( temp bool) +0:11 direct index ( temp float) +0:11 'color' ( temp 4-component vector of float) 0:11 Constant: 0:11 0 (const int) -0:11 'd' (uniform float) +0:11 'd' ( uniform float) 0:11 Loop Body 0:12 Sequence -0:12 add second child into first child (temp 4-component vector of float) -0:12 'color' (temp 4-component vector of float) -0:12 'bigColor' (uniform 4-component vector of float) -0:15 move second child to first child (temp 4-component vector of float) -0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor) -0:15 'color' (temp 4-component vector of float) +0:12 add second child into first child ( temp 4-component vector of float) +0:12 'color' ( temp 4-component vector of float) +0:12 'bigColor' ( uniform 4-component vector of float) +0:15 move second child to first child ( temp 4-component vector of float) +0:15 'gl_FragColor' ( fragColor 4-component vector of float FragColor) +0:15 'color' ( temp 4-component vector of float) 0:? Linker Objects -0:? 'bigColor' (uniform 4-component vector of float) -0:? 'BaseColor' (smooth in 4-component vector of float) -0:? 'd' (uniform float) +0:? 'bigColor' ( uniform 4-component vector of float) +0:? 'BaseColor' ( smooth in 4-component vector of float) +0:? 'd' ( uniform float) diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.amend.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.amend.frag index c9fd69bd3ef..7c182739cdc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.amend.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.amend.frag @@ -1,6 +1,6 @@ float4 a; float b; - +static float4 m = a * b; void f1() { a * b; diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.frag new file mode 100644 index 00000000000..f6a772a3283 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.frag @@ -0,0 +1,13 @@ +struct ps_in +{ +}; + +struct ps_out +{ +}; + +ps_out main (ps_in i) +{ + ps_out o; + return o; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.vert b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.vert new file mode 100644 index 00000000000..8ac6578e468 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.emptystructreturn.vert @@ -0,0 +1,13 @@ +struct vs_in +{ +}; + +struct vs_out +{ +}; + +vs_out main (vs_in i) +{ + vs_out o; + return o; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.gathercmpRGBA.offset.dx10.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.gathercmpRGBA.offset.dx10.frag index 3a6fbb74607..18e3a37e093 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.gathercmpRGBA.offset.dx10.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.gathercmpRGBA.offset.dx10.frag @@ -29,10 +29,10 @@ uniform float2 c2; uniform float3 c3; uniform float4 c4; -uniform int o1; -uniform int2 o2; -uniform int3 o3; -uniform int4 o4; + + + + PS_OUTPUT main() { @@ -42,69 +42,72 @@ PS_OUTPUT main() // no 1D gathers - float4 txval001 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2); - int4 txval011 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2); - uint4 txval021 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2); + float4 txval001 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0)); + int4 txval011 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,-1)); + uint4 txval021 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,1)); - float4 txval004 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - int4 txval014 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - uint4 txval024 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); + float4 txval004 = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + int4 txval014 = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,-1), int2(1,-1), int2(1,-1), int2(1,-1)); + uint4 txval024 = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,1), int2(1,1), int2(1,1), int2(1,1)); - // float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status); - // int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status); - // uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, status); - - // float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // int4 txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // uint4 txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - - float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2); - int4 txval111 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2); - uint4 txval121 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2); - - float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - - // float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status); - // int4 txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status); - // uint4 txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, status); - - // float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - - float4 txval201 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2); - int4 txval211 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2); - uint4 txval221 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2); - - float4 txval204 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - int4 txval214 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - uint4 txval224 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - - // float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // int4 txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // uint4 txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - - // float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status); - // int4 txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status); - // uint4 txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, o2, status); - - float4 txval301 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2); - int4 txval311 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2); - uint4 txval321 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2); - - float4 txval304 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - int4 txval314 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - uint4 txval324 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2); - - // float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // int4 txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - // uint4 txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, o2, o2, o2, status); - - // float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status); - // int4 txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status); - // uint4 txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, o2, status); + // float4 txval00s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status); + // int4 txval01s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status); + // uint4 txval02s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), status); + + // float4 txval004s = g_tTex2df4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // int4 txval014s = g_tTex2di4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // uint4 txval024s = g_tTex2du4 . GatherCmpRed(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + + // GatherCmpGreen not implemented pending OpImageDrefGather component input + // float4 txval101 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0)); + // int4 txval111 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0)); + // uint4 txval121 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0)); + + // float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + + // float4 txval10s = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status); + // int4 txval11s = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status); + // uint4 txval12s = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), status); + + // float4 txval104 = g_tTex2df4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // int4 txval114 = g_tTex2di4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // uint4 txval124 = g_tTex2du4 . GatherCmpGreen(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + + // GatherCmpBlue not implemented pending OpImageDrefGather component input + // float4 txval201 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0)); + // int4 txval211 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0)); + // uint4 txval221 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0)); + + // float4 txval204 = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // int4 txval214 = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // uint4 txval224 = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + + // float4 txval204s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // int4 txval214s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // uint4 txval224s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + + // float4 txval20s = g_tTex2df4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status); + // int4 txval21s = g_tTex2di4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status); + // uint4 txval22s = g_tTex2du4 . GatherCmpBlue(g_sSampCmp, c2, 0.75, int2(1,0), status); + + // GatherCmpAlpha not implemented pending OpImageDrefGather component input + // float4 txval301 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0)); + // int4 txval311 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0)); + // uint4 txval321 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0)); + + // float4 txval304 = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // int4 txval314 = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + // uint4 txval324 = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0)); + + // float4 txval304s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // int4 txval314s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + // uint4 txval324s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), int2(1,0), int2(1,0), int2(1,0), status); + + // float4 txval30s = g_tTex2df4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status); + // int4 txval31s = g_tTex2di4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status); + // uint4 txval32s = g_tTex2du4 . GatherCmpAlpha(g_sSampCmp, c2, 0.75, int2(1,0), status); // no 3D gathers with offset diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.1.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.1.tesc new file mode 100644 index 00000000000..4959b453314 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.1.tesc @@ -0,0 +1,39 @@ +// *** +// invocation ID coming from input to entry point +// *** + +struct VS_OUT +{ + float3 cpoint : CPOINT; +}; + +struct HS_CONSTANT_OUT +{ + float edges[2] : SV_TessFactor; +}; + +struct HS_OUT +{ + float3 cpoint : CPOINT; +}; + +[domain("isoline")] +[partitioning("integer")] +[outputtopology("line")] +[outputcontrolpoints(4)] +[patchconstantfunc("PCF")] +HS_OUT main(InputPatch ip, uint m_cpid : SV_OutputControlPointID) +{ + HS_OUT output; + output.cpoint = ip[0].cpoint; + return output; +} + +HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId) +{ + HS_CONSTANT_OUT output; + + output.edges[0] = 2.0f; + output.edges[1] = 8.0f; + return output; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.2.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.2.tesc new file mode 100644 index 00000000000..3c0afcc5d66 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.2.tesc @@ -0,0 +1,39 @@ +// *** +// invocation ID coming from synthesized variable +// *** + +struct VS_OUT +{ + float3 cpoint : CPOINT; +}; + +struct HS_CONSTANT_OUT +{ + float edges[2] : SV_TessFactor; +}; + +struct HS_OUT +{ + float3 cpoint : CPOINT; +}; + +[domain("isoline")] +[partitioning("integer")] +[outputtopology("line")] +[outputcontrolpoints(4)] +[patchconstantfunc("PCF")] +HS_OUT main(InputPatch ip) +{ + HS_OUT output; + output.cpoint = ip[0].cpoint; + return output; +} + +HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId, float4 pos : SV_Position) +{ + HS_CONSTANT_OUT output; + + output.edges[0] = 2.0f; + output.edges[1] = 8.0f; + return output; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.void.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.void.tesc new file mode 100644 index 00000000000..971d613bf78 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.hull.void.tesc @@ -0,0 +1,34 @@ +// *** +// void patchconstantfunction input and return +// *** + +struct VS_OUT +{ + float3 cpoint : CPOINT; +}; + +struct HS_CONSTANT_OUT +{ + float edges[2] : SV_TessFactor; +}; + +struct HS_OUT +{ + float3 cpoint : CPOINT; +}; + +[domain("tri")] +[partitioning("fractional_even")] +[outputtopology("line")] +[outputcontrolpoints(3)] +[patchconstantfunc("PCF")] +HS_OUT main(InputPatch ip) +{ + HS_OUT output; + output.cpoint = ip[0].cpoint; + return output; +} + +void PCF() +{ +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.if.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.if.frag index ba659e6d154..b62eda15186 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.if.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.if.frag @@ -30,4 +30,6 @@ float4 PixelShaderFunction(float4 input) : COLOR0 if (float ii = input.z) ++ii; ++ii; + if (float(ii) == 1.0) + ++ii; } diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.inoutquals.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.inoutquals.frag index 32346882681..9328dfbe7e0 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.inoutquals.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.inoutquals.frag @@ -4,7 +4,7 @@ struct PS_OUTPUT float Depth : SV_Depth; }; -void MyFunc(in float x, out float y, inout float z) +inline void MyFunc(in float x, out float y, inout float z) { y = x; z = y; diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f1632.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f1632.frag index 91ff33eb7d6..f406860ebdd 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f1632.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f1632.frag @@ -1,34 +1,29 @@ -float PixelShaderFunctionS(float inF0) +float PixelShaderFunctionS(uint inF0) { - f32tof16(inF0); - - return 0.0; + return f16tof32(inF0); } -float1 PixelShaderFunction1(float1 inF0) +float1 PixelShaderFunction1(uint1 inF0) { - // TODO: ... add when float1 prototypes are generated - return 0.0; + return f16tof32(inF0); } -float2 PixelShaderFunction2(float2 inF0) +float2 PixelShaderFunction2(uint2 inF0) { - f32tof16(inF0); - - return float2(1,2); + return f16tof32(inF0); } -float3 PixelShaderFunction3(float3 inF0) +float3 PixelShaderFunction3(uint3 inF0) { - f32tof16(inF0); - - return float3(1,2,3); + return f16tof32(inF0); } -float4 PixelShaderFunction(float4 inF0) +float4 PixelShaderFunction(uint4 inF0) { - f32tof16(inF0); - - return float4(1,2,3,4); + return f16tof32(inF0); } +float4 main() : SV_Target0 +{ + return 0; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f3216.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f3216.frag new file mode 100644 index 00000000000..f31136d9e8e --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.intrinsics.f3216.frag @@ -0,0 +1,29 @@ +uint PixelShaderFunctionS(float inF0) +{ + return f32tof16(inF0); +} + +uint1 PixelShaderFunction1(float1 inF0) +{ + return f32tof16(inF0); +} + +uint2 PixelShaderFunction2(float2 inF0) +{ + return f32tof16(inF0); +} + +uint3 PixelShaderFunction3(float3 inF0) +{ + return f32tof16(inF0); +} + +uint4 PixelShaderFunction(float4 inF0) +{ + return f32tof16(inF0); +} + +float4 main() : SV_Target0 +{ + return 0; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.nonstaticMemberFunction.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.nonstaticMemberFunction.frag new file mode 100644 index 00000000000..3655ed0f9fd --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.nonstaticMemberFunction.frag @@ -0,0 +1,35 @@ +static float2 i = float2(1.0, 2.0); + +struct type1 +{ + void setmem(float4 m) { memVar = m; } + void seti(int si) { i = si; } + float4 memVar; + float4 memFun(float4 a) : SV_Position + { + return i * a + memVar; + } + int memFun(int a) : SV_Position + { + return i + a - memVar.z; + } + int i; +}; + +static float2 j = i; + +struct type2 +{ + float2 memFun() { return i; } +}; + +float4 main() : SV_Target0 +{ + type1 test; + test.setmem(float4(2.0,2.0,2.0,2.0)); + test.seti(17); + float4 f4 = float4(1.0,1.0,1.0,1.0); + f4 += test.memFun(float4(5.0f,5.0f,5.0f,5.0f)); + f4 += test.memFun(7); + return f4; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.numericsuffixes.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.numericsuffixes.frag index 60b2572f3da..bccb786da06 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.numericsuffixes.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.numericsuffixes.frag @@ -13,6 +13,10 @@ PS_OUTPUT main() int r06 = 6L; // upper long int int r07 = 071; // octal uint r08 = 072u; // unsigned octal + float r09 = 1.h; // half + float r10 = 1.H; // half + float r11 = 1.1h; // half + float r12 = 1.1H; // half PS_OUTPUT ps_output; ps_output.color = r07; // gets 71 octal = 57 decimal diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.geom b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.geom new file mode 100644 index 00000000000..c4d7abad7e7 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.geom @@ -0,0 +1,15 @@ +struct S { + float clip0 : SV_ClipDistance0; + float cull0 : SV_CullDistance0; + uint vpai : SV_ViewportArrayIndex; + uint rtai : SV_RenderTargetArrayIndex; + int ii : SV_InstanceID; +}; + +[maxvertexcount(4)] +S main(triangle in uint VertexID[3] : VertexID, + inout LineStream OutputStream) +{ + S s; + return s; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.vert b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.vert new file mode 100644 index 00000000000..16bba37f9a0 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.semantic.vert @@ -0,0 +1,15 @@ +struct S { + float clip : SV_ClipDistance; + float clip0 : SV_ClipDistance0; + float clip7 : SV_ClipDistance7; + float cull : SV_CullDistance; + float cull2 : SV_CullDistance2; + float cull5 : SV_CullDistance5; + int ii : SV_InstanceID; +}; + +S main(S ins) +{ + S s; + return s; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.staticMemberFunction.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.staticMemberFunction.frag new file mode 100644 index 00000000000..700aa82c3eb --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.staticMemberFunction.frag @@ -0,0 +1,22 @@ +struct Test +{ + float4 memVar; + static float4 staticMemFun(float4 a) : SV_Position + { + return 2 * a; + } + static int staticMemFun(int a) : SV_Position + { + return 2 + a; + } + int i; +}; + +float4 main() : SV_Target0 +{ + Test test; + float4 f4 = float4(1.0,1.0,1.0,1.0); + f4 += Test::staticMemFun(float4(5.0f,5.0f,5.0f,5.0f)); + f4 += Test::staticMemFun(7); + return f4; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.struct.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.struct.frag index e602c9ed516..33199e0674f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.struct.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.struct.frag @@ -12,7 +12,7 @@ struct myS { myS s1; -static struct { +static class { float4 i; } s2; @@ -30,14 +30,24 @@ struct IN_S { float ff5 : packoffset(c101.y) : register(ps_5_0, s[5]); float ff6 : packoffset(c102.y) : register(s3[5]); +struct empty {}; + +struct containEmpty { + empty e; +}; + float4 PixelShaderFunction(float4 input, IN_S s) : COLOR0 { - struct FS { + class FS { bool3 b3; } s3; s3 == s3; s2.i = s.ff4; + containEmpty ce; + empty e; + e = ce.e; + return input; } diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structIoFourWay.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structIoFourWay.frag new file mode 100644 index 00000000000..bca135e733a --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structIoFourWay.frag @@ -0,0 +1,18 @@ +struct T { + float f : packoffset(c4.y); // artificial, but validates all different treatments: uniform offset + centroid float g; // interpolant input + float d: SV_DepthGreaterEqual; // fragment output + float4 normal; // non-IO +}; + +T s; // loose uniform + +cbuffer buff { + T t : packoffset(c5.z); +}; + +T main(T t : myInput) : SV_Target0 +{ + T local; + return local; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structStructName.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structStructName.frag new file mode 100644 index 00000000000..f8bf90c74e1 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structStructName.frag @@ -0,0 +1,7 @@ +struct S { int s; }; + +int main() +{ + struct S t; + return t.s; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.atomics.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.atomics.frag new file mode 100644 index 00000000000..f389e27981e --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.atomics.frag @@ -0,0 +1,25 @@ + +RWByteAddressBuffer sbuf; + +float4 main(uint pos : FOO) : SV_Target0 +{ + uint u; + + sbuf.InterlockedAdd(8, 1); + sbuf.InterlockedAdd(8, 1, u); + sbuf.InterlockedAnd(8, 1); + sbuf.InterlockedAnd(8, 1, u); + sbuf.InterlockedCompareExchange(8, 1, 2, u); + // sbuf.InterlockedCompareStore(8, 1, 2); // TODO: ... + sbuf.InterlockedExchange(8, 1, u); + sbuf.InterlockedMax(8, 1); + sbuf.InterlockedMax(8, 1, u); + sbuf.InterlockedMin(8, 1); + sbuf.InterlockedMin(8, 1, u); + sbuf.InterlockedOr(8, 1); + sbuf.InterlockedOr(8, 1, u); + sbuf.InterlockedXor(8, 1); + sbuf.InterlockedXor(8, 1, u); + + return sbuf.Load(pos); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.byte.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.byte.frag new file mode 100644 index 00000000000..2d504da1cfd --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.byte.frag @@ -0,0 +1,13 @@ + +ByteAddressBuffer sbuf; + +float4 main(uint pos : FOO) : SV_Target0 +{ + uint size; + sbuf.GetDimensions(size); + + return sbuf.Load(pos) + + float4(sbuf.Load2(pos+4), 0, 0) + + float4(sbuf.Load3(pos+8), 0) + + sbuf.Load4(pos+12); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.coherent.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.coherent.frag new file mode 100644 index 00000000000..1c60ef5aa4c --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.coherent.frag @@ -0,0 +1,23 @@ +struct sb_t +{ + float3 color; + bool test; +}; + + +globallycoherent RWStructuredBuffer sbuf; +globallycoherent RWStructuredBuffer sbuf2; + +float4 main(uint pos : FOO) : SV_Target0 +{ + sbuf2[pos+1] = 42; + + uint size; + uint stride; + sbuf.GetDimensions(size, stride); + + if (sbuf[pos].test) + return float4(sbuf[pos].color + sbuf2[pos], 0); + else + return size + stride; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.fn.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.fn.frag new file mode 100644 index 00000000000..d043d3b5345 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.fn.frag @@ -0,0 +1,24 @@ + +StructuredBuffer sbuf : register(t10); + +uint4 get(in StructuredBuffer sb, uint bufferOffset) +{ + return sb[bufferOffset]; +} + +void set(in RWStructuredBuffer sb, uint bufferOffset, uint4 data) +{ + sb[bufferOffset] = data; +} + +RWStructuredBuffer sbuf2; + +// Not shared, because of type difference. +StructuredBuffer sbuf3 : register(t12); + +float4 main(uint pos : FOO) : SV_Target0 +{ + set(sbuf2, 2, get(sbuf, 3)); + + return 0; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.frag new file mode 100644 index 00000000000..4eb6912bf42 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.frag @@ -0,0 +1,23 @@ +struct sb_t +{ + float3 color; + bool test; + bool test2; +}; // stride = 20 + +StructuredBuffer sbuf : register(c10); +StructuredBuffer sbuf2; + +float4 main(uint pos : FOO) : SV_Target0 +{ + sb_t mydata = sbuf.Load(pos); + + uint size; + uint stride; + sbuf.GetDimensions(size, stride); + + if (sbuf[pos].test) + return float4(sbuf[pos].color + sbuf2[pos], 0); + else + return mydata.color.x + size + stride; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rw.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rw.frag new file mode 100644 index 00000000000..31104847c6b --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rw.frag @@ -0,0 +1,23 @@ +struct sb_t +{ + float3 color; + bool test; +}; + + +RWStructuredBuffer sbuf; +RWStructuredBuffer sbuf2; + +float4 main(uint pos : FOO) : SV_Target0 +{ + sbuf2[pos+1] = 42; + + uint size; + uint stride; + sbuf.GetDimensions(size, stride); + + if (sbuf[pos].test) + return float4(sbuf[pos].color + sbuf2[pos], 0); + else + return size + stride; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rwbyte.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rwbyte.frag new file mode 100644 index 00000000000..d0b957d75c7 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.structbuffer.rwbyte.frag @@ -0,0 +1,15 @@ + +RWByteAddressBuffer sbuf; + +float4 main(uint pos : FOO) : SV_Target0 +{ + uint size; + sbuf.GetDimensions(size); + + sbuf.Store(pos, sbuf.Load(pos)); + sbuf.Store2(pos, sbuf.Load2(pos)); + sbuf.Store3(pos, sbuf.Load3(pos)); + sbuf.Store4(pos, sbuf.Load4(pos)); + + return sbuf.Load(pos); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.this.frag b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.this.frag new file mode 100644 index 00000000000..645fe5134f4 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.this.frag @@ -0,0 +1,29 @@ +static float2 var = float2(1.0, 2.0); + +struct type1 +{ + int memFun1(int3 var) + { + return var.z + this.var + var2; + } + int memFun2(int a) + { + int3 var = int3(1,2,3); + return var.z + (int)bar.y + this.var2; + } + float2 bar; + int var; + int var2; +}; + +float4 main() : SV_Target0 +{ + type1 T; + T.bar = var; + T.var = 7; + T.var2 = 9; + int i = T.memFun1(int3(10,11,12)); + i += T.memFun2(17); + + return float4(i,i,i,i); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.typeGraphCopy.vert b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.typeGraphCopy.vert new file mode 100644 index 00000000000..a4677c10509 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/hlsl.typeGraphCopy.vert @@ -0,0 +1,24 @@ +struct N1 { + int a; + float b; +}; + +struct N2 { + N1 s1; + N1 s2; +}; + +struct N3 { + N2 t1; + N1 t2; + N2 t3; +}; + +typedef N3 T3; + +T3 foo; + +float main() +{ + return foo.t3.s2.b; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/nosuffix b/3rdparty/bgfx/3rdparty/glslang/Test/nosuffix new file mode 100644 index 00000000000..26862fff150 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/nosuffix @@ -0,0 +1,4 @@ +void main() +{ + gl_Position = vec4(1.0); +} \ No newline at end of file diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/runtests b/3rdparty/bgfx/3rdparty/glslang/Test/runtests index a17848b74ca..86ffef345cc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/runtests +++ b/3rdparty/bgfx/3rdparty/glslang/Test/runtests @@ -66,4 +66,18 @@ else echo Tests Failed. fi +# +# Testing -S +# +echo Running explicit stage test +$EXE -i -S vert nosuffix > $TARGETDIR/nosuffix.out +diff -b $BASEDIR/nosuffix.out $TARGETDIR/nosuffix.out || HASERROR=1 + +if [ $HASERROR -eq 0 ] +then + echo Tests Succeeded. +else + echo Tests Failed. +fi + exit $HASERROR diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.140.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.140.frag index 61ad1a6fb04..ceeac47bf00 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.140.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.140.frag @@ -14,7 +14,7 @@ layout(std140) uniform bn { layout(column_major) mat4 matca[4]; layout(row_major) mat4 matr; layout(column_major) mat4 matc; - mat4 matrdef; + layout(align=512, offset=1024) mat4 matrdef; }; uniform sampler2DRect sampR; diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.300layout.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.300layout.vert index 81218b5d381..a32a95de78c 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.300layout.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.300layout.vert @@ -25,7 +25,7 @@ layout(column_major) uniform T3 { // shared and column_major mat4 M3; // column_major layout(row_major) mat4 M4; // row major mat2x3 N2; // column_major - uvec3 uv3a[4]; + layout(align=16, offset=2048) uvec3 uv3a[4]; }; in uint uiuin; diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.310.comp b/3rdparty/bgfx/3rdparty/glslang/Test/spv.310.comp index bd183e042be..6cbb0430f94 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.310.comp +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.310.comp @@ -24,6 +24,8 @@ buffer outs { vec4 va[]; } outnames; +#extension GL_EXT_device_group : enable + void main() { barrier(); @@ -34,4 +36,5 @@ void main() outbname.uns[i] = vec3(s); outnames.va[gl_LocalInvocationID.x] = vec4(s); outnames.s = outbname.uns.length(); + gl_DeviceIndex; } diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.geom b/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.geom new file mode 100644 index 00000000000..8aefe507665 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.geom @@ -0,0 +1,12 @@ +#version 450 core + +layout(triangles) in; + +layout(line_strip) out; +layout(max_vertices = 127) out; +layout(invocations = 4) in; + +void main() +{ + gl_PointSize = gl_in[1].gl_PointSize; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.noRedecl.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.noRedecl.tesc new file mode 100644 index 00000000000..85fe94b8190 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.450.noRedecl.tesc @@ -0,0 +1,10 @@ +#version 450 core + +layout(vertices = 4) out; + +patch out vec4 patchOut; + +void main() +{ + gl_in[0].gl_PointSize; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.Operations.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.Operations.frag index 5c8c8af0e55..52f0a30fb4e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.Operations.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.Operations.frag @@ -135,4 +135,7 @@ void main() b = !b; FragColor = b ? vec4(i) + vec4(f) + v : v; + + mat4 m1 = mat4(1.0), m2 = mat4(0.0); + FragColor += (b ? m1 : m2)[1]; } diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.deviceGroup.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.deviceGroup.frag new file mode 100644 index 00000000000..64964897648 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.deviceGroup.frag @@ -0,0 +1,9 @@ +#version 450 + +#extension GL_EXT_device_group : enable + +out vec4 color; + +void main() { + color = vec4(gl_DeviceIndex, 0, 0, 0); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.drawParams.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.drawParams.vert new file mode 100644 index 00000000000..f2e3c1efaa4 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.drawParams.vert @@ -0,0 +1,13 @@ +#version 450 + +#extension GL_ARB_shader_draw_parameters : enable + +out vec3 pos; + +void main() +{ + int a = gl_BaseVertexARB; + int b = gl_BaseInstanceARB; + int c = gl_DrawIDARB; + pos = vec3(a, b, c); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.functionNestedOpaque.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.functionNestedOpaque.vert new file mode 100644 index 00000000000..9e308b1336a --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.functionNestedOpaque.vert @@ -0,0 +1,26 @@ +#version 450 + +uniform struct S { + sampler2D s; +} si; + +void foo(sampler2D t) +{ + texture(t, vec2(0.5)); +} + +void barc(const S p) +{ + foo(p.s); +} + +void bar(S p) +{ + foo(p.s); +} + +void main() +{ + barc(si); + bar(si); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.image.load-formatted.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.image.load-formatted.frag new file mode 100644 index 00000000000..b0adc73bf1b --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.image.load-formatted.frag @@ -0,0 +1,74 @@ +#version 450 + +#extension GL_EXT_shader_image_load_formatted : require + +layout(binding = 0) uniform image1D i1D; +layout(binding = 1) uniform image2D i2D; +layout(binding = 2) uniform image3D i3D; +layout(binding = 3) uniform imageCube iCube; +layout(binding = 4) uniform imageCubeArray iCubeArray; +layout(binding = 5) uniform image2DRect i2DRect; +layout(binding = 6) uniform image1DArray i1DArray; +layout(binding = 7) uniform image2DArray i2DArray; +layout(binding = 8) uniform imageBuffer iBuffer; +layout(binding = 9) uniform image2DMS i2DMS; +layout(binding = 10) uniform image2DMSArray i2DMSArray; + +flat in int ic1D; +flat in ivec2 ic2D; +flat in ivec3 ic3D; +flat in ivec4 ic4D; + +writeonly layout(binding = 1) uniform image2D wo2D; + +flat in uint value; + +out vec4 fragData; + +void main() +{ + ivec3 iv = ivec3(0); + iv.x += imageSize(i1D); + iv.xy += imageSize(i2D); + iv.xyz += imageSize(i3D); + iv.xy += imageSize(iCube); + iv.xyz += imageSize(iCubeArray); + iv.xy += imageSize(i2DRect); + iv.xy += imageSize(i1DArray); + iv.xyz += imageSize(i2DArray); + iv.x += imageSize(iBuffer); + iv.xy += imageSize(i2DMS); + iv.xyz += imageSize(i2DMSArray); + + iv.x += imageSamples(i2DMS); + iv.x += imageSamples(i2DMSArray); + + vec4 v = vec4(0.0); + v += imageLoad(i1D, ic1D); + imageStore(i1D, ic1D, v); + v += imageLoad(i2D, ic2D); + imageStore(i2D, ic2D, v); + v += imageLoad(i3D, ic3D); + imageStore(i3D, ic3D, v); + v += imageLoad(iCube, ic3D); + imageStore(iCube, ic3D, v); + v += imageLoad(iCubeArray, ic3D); + imageStore(iCubeArray, ic3D, v); + v += imageLoad(i2DRect, ic2D); + imageStore(i2DRect, ic2D, v); + v += imageLoad(i1DArray, ic2D); + imageStore(i1DArray, ic2D, v); + v += imageLoad(i2DArray, ic3D); + imageStore(i2DArray, ic3D, v); + v += imageLoad(iBuffer, ic1D); + imageStore(iBuffer, ic1D, v); + v += imageLoad(i2DMS, ic2D, 1); + imageStore(i2DMS, ic2D, 2, v); + v += imageLoad(i2DMSArray, ic3D, 3); + imageStore(i2DMSArray, ic3D, 4, v); + + imageStore(wo2D, ic2D, v); + + fragData = v; +} + diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix.frag index 10a52566f9d..3157173788e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix.frag @@ -43,4 +43,7 @@ void main() sum34 += mat3x4(v3, f, v3, f, v3, f); color += sum3 * m43 + sum4; + + color += vec4(m43); + color += vec4(vec3(mat2(f)), 7.2); } diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiView.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiView.frag new file mode 100644 index 00000000000..47c2763afdc --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiView.frag @@ -0,0 +1,9 @@ +#version 450 + +#extension GL_EXT_multiview : enable + +out vec4 color; + +void main() { + color = vec4(gl_ViewIndex, 0, 0, 0); +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.tesc b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.tesc new file mode 100644 index 00000000000..a0dd64dfbc9 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.tesc @@ -0,0 +1,14 @@ +#version 450 + +#extension GL_NVX_multiview_per_view_attributes :require + +layout(vertices = 4) out; +out gl_PerVertex { + int gl_ViewportMaskPerViewNV[]; + vec4 gl_PositionPerViewNV[]; + } gl_out[]; +void main() +{ + gl_out[gl_InvocationID].gl_ViewportMaskPerViewNV[0] = 1; + gl_out[gl_InvocationID].gl_PositionPerViewNV[0] = gl_in[1].gl_Position; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.vert new file mode 100644 index 00000000000..dd64a16c348 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.multiviewPerViewAttributes.vert @@ -0,0 +1,10 @@ +#version 450 + +#extension GL_NVX_multiview_per_view_attributes :require + +void main() +{ + gl_ViewportMaskPerViewNV[0] = 1; + gl_PositionPerViewNV[0] = gl_Position; +} + diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.pushConstantAnon.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.pushConstantAnon.vert new file mode 100644 index 00000000000..c4438b7c865 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.pushConstantAnon.vert @@ -0,0 +1,17 @@ +#version 400 + +layout(push_constant) uniform Material { + int kind; + float fa[3]; +}; + +out vec4 color; + +void main() +{ + switch (kind) { + case 1: color = vec4(0.2); break; + case 2: color = vec4(0.5); break; + default: color = vec4(fa[1]); break; + } +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.specConstantOperations.vert b/3rdparty/bgfx/3rdparty/glslang/Test/spv.specConstantOperations.vert index f67561c3a8a..93be12c589a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/spv.specConstantOperations.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.specConstantOperations.vert @@ -110,5 +110,15 @@ int non_const_array_size_from_spec_const() { return array[sp_int + 1]; } -void main() {} +// ternary +layout(constant_id = 210) const int a = 4; +layout(constant_id = 211) const int b = 6; +layout(constant_id = 212) const bool c = true; +int ternayArray1[a > b ? a : b]; +const int t1 = c ? 13 : 17; +const int t2 = c ? a : 17; +const int t3 = true ? a : 17; +const int t4 = a > b ? 13 + a : 17 * b; +const vec2 v2 = !c ? vec2(1.0) : vec2(2.0); +void main() {} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.ssbo.autoassign.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.ssbo.autoassign.frag new file mode 100644 index 00000000000..073be4532c1 --- /dev/null +++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.ssbo.autoassign.frag @@ -0,0 +1,24 @@ + +cbuffer TestCB +{ + uint W; + uint H; +}; + +struct BufType +{ + float4 va; + float4 vb; +}; + +StructuredBuffer < BufType > SB0; +RWStructuredBuffer < BufType > SB1; + +float4 main(float4 pos : POS) : SV_Target0 +{ + float4 vTmp = SB0[pos.y * W + pos.x].va + SB0[pos.y * W + pos.x].vb; + + vTmp += SB1[pos.y * W + pos.x].va + SB1[pos.y * W + pos.x].vb; + + return vTmp; +} diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/tokenPaste.vert b/3rdparty/bgfx/3rdparty/glslang/Test/tokenPaste.vert index c30892f091e..7aa113a2924 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/tokenPaste.vert +++ b/3rdparty/bgfx/3rdparty/glslang/Test/tokenPaste.vert @@ -68,3 +68,15 @@ void foo() // recovery from bad op bool f = e MAKE_OP(>,!) 5; } + +// arguments: should make 'uniform int argPaste2;' +#define M_NEST(q) int q +#define M_OUTER(p) M_NEST(p##2) +uniform M_OUTER(argPaste); +// should make 'uniform int argPaste20suff;' +#define M_NEST2(q) int q ## suff +#define M_OUTER2(p) M_NEST2(p ## 20) +uniform M_OUTER2(argPaste); + +#define rec(x)## +rec(rec()) \ No newline at end of file diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/vulkan.frag b/3rdparty/bgfx/3rdparty/glslang/Test/vulkan.frag index 16baf8624d7..2b686eb2a7e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/Test/vulkan.frag +++ b/3rdparty/bgfx/3rdparty/glslang/Test/vulkan.frag @@ -46,7 +46,7 @@ layout(push_constant) uniform; // ERROR, needs an object layout(push_constant) uniform pcb2 { int a; -}; // ERROR, no instance name +}; // Okay now to have no instance name layout(input_attachment_index = 2) uniform subpassInput subD; layout(input_attachment_index = 3) uniform texture2D subDbad1; // ERROR, not a texture diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/BaseTypes.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/BaseTypes.h index 449e3aeacf8..230a6b9cb06 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/BaseTypes.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/BaseTypes.h @@ -203,15 +203,22 @@ enum TBuiltInVariable { EbvBaryCoordPullModel, #endif + EbvViewIndex, + EbvDeviceIndex, + #ifdef NV_EXTENSIONS EbvViewportMaskNV, EbvSecondaryPositionNV, EbvSecondaryViewportMaskNV, + EbvPositionPerViewNV, + EbvViewportMaskPerViewNV, #endif + // HLSL built-ins that live only temporarily, until they get remapped // to one of the above. EbvFragDepthGreater, EbvFragDepthLesser, + EbvStencilRef, EbvLast }; @@ -321,10 +328,16 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvBaryCoordSmoothSample: return "BaryCoordSmoothSample"; case EbvBaryCoordPullModel: return "BaryCoordPullModel"; #endif + + case EbvViewIndex: return "ViewIndex"; + case EbvDeviceIndex: return "DeviceIndex"; + #ifdef NV_EXTENSIONS case EbvViewportMaskNV: return "ViewportMaskNV"; case EbvSecondaryPositionNV: return "SecondaryPositionNV"; case EbvSecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; + case EbvPositionPerViewNV: return "PositionPerViewNV"; + case EbvViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; #endif default: return "unknown built-in variable"; } diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/ConstantUnion.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/ConstantUnion.h index b95bc25a0a1..f66a7ff5192 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/ConstantUnion.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/ConstantUnion.h @@ -81,12 +81,19 @@ public: type = EbtBool; } + void setSConst(const TString* s) + { + sConst = s; + type = EbtString; + } + int getIConst() const { return iConst; } unsigned int getUConst() const { return uConst; } long long getI64Const() const { return i64Const; } unsigned long long getU64Const() const { return u64Const; } double getDConst() const { return dConst; } bool getBConst() const { return bConst; } + const TString* getSConst() const { return sConst; } bool operator==(const int i) const { @@ -532,6 +539,7 @@ private: unsigned long long u64Const; // used for u64vec, scalar uint64s bool bConst; // used for bvec, scalar bools double dConst; // used for vec, dvec, mat, dmat, scalar floats and doubles + const TString* sConst; // string constant }; TBasicType type; diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/Types.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/Types.h index 6fce15ec3fa..2207d0b3f95 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/Types.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/Types.h @@ -188,6 +188,8 @@ struct TSampler { // misnomer now; includes images, textures without sampler, case EbtFloat: break; case EbtInt: s.append("i"); break; case EbtUint: s.append("u"); break; + case EbtInt64: s.append("i64"); break; + case EbtUint64: s.append("u64"); break; default: break; // some compilers want this } if (image) { @@ -401,8 +403,24 @@ public: // drop qualifiers that don't belong in a temporary variable void makeTemporary() { - storage = EvqTemporary; - builtIn = EbvNone; + semanticName = nullptr; + storage = EvqTemporary; + builtIn = EbvNone; + clearInterstage(); + clearMemory(); + specConstant = false; + clearLayout(); + } + + void clearInterstage() + { + clearInterpolation(); + patch = false; + sample = false; + } + + void clearInterpolation() + { centroid = false; smooth = false; flat = false; @@ -410,15 +428,15 @@ public: #ifdef AMD_EXTENSIONS explicitInterp = false; #endif - patch = false; - sample = false; + } + + void clearMemory() + { coherent = false; volatil = false; restrict = false; readonly = false; writeonly = false; - specConstant = false; - clearLayout(); } // Drop just the storage qualification, which perhaps should @@ -434,6 +452,7 @@ public: specConstant = false; } + const char* semanticName; TStorageQualifier storage : 6; TBuiltInVariable builtIn : 8; TPrecisionQualifier precision : 3; @@ -575,42 +594,47 @@ public: } // Implementing an embedded layout-qualifier class here, since C++ can't have a real class bitfield - void clearLayout() + void clearLayout() // all layout { - layoutMatrix = ElmNone; - layoutPacking = ElpNone; - layoutOffset = layoutNotSet; - layoutAlign = layoutNotSet; + clearUniformLayout(); + layoutPushConstant = false; +#ifdef NV_EXTENSIONS + layoutPassthrough = false; + layoutViewportRelative = false; + // -2048 as the default value indicating layoutSecondaryViewportRelative is not set + layoutSecondaryViewportRelativeOffset = -2048; +#endif + + clearInterstageLayout(); + + layoutSpecConstantId = layoutSpecConstantIdEnd; + + layoutFormat = ElfNone; + } + void clearInterstageLayout() + { layoutLocation = layoutLocationEnd; layoutComponent = layoutComponentEnd; - layoutSet = layoutSetEnd; - layoutBinding = layoutBindingEnd; layoutIndex = layoutIndexEnd; - + clearStreamLayout(); + clearXfbLayout(); + } + void clearStreamLayout() + { layoutStream = layoutStreamEnd; - + } + void clearXfbLayout() + { layoutXfbBuffer = layoutXfbBufferEnd; layoutXfbStride = layoutXfbStrideEnd; layoutXfbOffset = layoutXfbOffsetEnd; - layoutAttachment = layoutAttachmentEnd; - layoutSpecConstantId = layoutSpecConstantIdEnd; - - layoutFormat = ElfNone; - - layoutPushConstant = false; -#ifdef NV_EXTENSIONS - layoutPassthrough = false; - layoutViewportRelative = false; - // -2048 as the default vaule indicating layoutSecondaryViewportRelative is not set - layoutSecondaryViewportRelativeOffset = -2048; -#endif } + bool hasLayout() const { return hasUniformLayout() || hasAnyLocation() || - hasBinding() || hasStream() || hasXfb() || hasFormat() || @@ -670,8 +694,21 @@ public: hasPacking() || hasOffset() || hasBinding() || + hasSet() || hasAlign(); } + void clearUniformLayout() // only uniform specific + { + layoutMatrix = ElmNone; + layoutPacking = ElpNone; + layoutOffset = layoutNotSet; + layoutAlign = layoutNotSet; + + layoutSet = layoutSetEnd; + layoutBinding = layoutBindingEnd; + layoutAttachment = layoutAttachmentEnd; + } + bool hasMatrix() const { return layoutMatrix != ElmNone; @@ -1202,30 +1239,11 @@ public: typeName = copyOf.typeName; } + // Make complete copy of the whole type graph rooted at 'copyOf'. void deepCopy(const TType& copyOf) { - shallowCopy(copyOf); - - if (copyOf.arraySizes) { - arraySizes = new TArraySizes; - *arraySizes = *copyOf.arraySizes; - } - - if (copyOf.structure) { - structure = new TTypeList; - for (unsigned int i = 0; i < copyOf.structure->size(); ++i) { - TTypeLoc typeLoc; - typeLoc.loc = (*copyOf.structure)[i].loc; - typeLoc.type = new TType(); - typeLoc.type->deepCopy(*(*copyOf.structure)[i].type); - structure->push_back(typeLoc); - } - } - - if (copyOf.fieldName) - fieldName = NewPoolTString(copyOf.fieldName->c_str()); - if (copyOf.typeName) - typeName = NewPoolTString(copyOf.typeName->c_str()); + TMap copied; // to enable copying a type graph as a graph, not a tree + deepCopy(copyOf, copied); } // Recursively make temporary @@ -1346,6 +1364,8 @@ public: case EbvViewportMaskNV: case EbvSecondaryPositionNV: case EbvSecondaryViewportMaskNV: + case EbvPositionPerViewNV: + case EbvViewportMaskPerViewNV: #endif return true; default: @@ -1564,10 +1584,11 @@ public: TString getCompleteString() const { - const int maxSize = GlslangMaxTypeLength; - char buf[maxSize]; - char* p = &buf[0]; - char* end = &buf[maxSize]; + TString typeString; + + const auto appendStr = [&](const char* s) { typeString.append(s); }; + const auto appendUint = [&](unsigned int u) { typeString.append(std::to_string(u).c_str()); }; + const auto appendInt = [&](int i) { typeString.append(std::to_string(i).c_str()); }; if (qualifier.hasLayout()) { // To reduce noise, skip this if the only layout is an xfb_buffer @@ -1575,137 +1596,175 @@ public: TQualifier noXfbBuffer = qualifier; noXfbBuffer.layoutXfbBuffer = TQualifier::layoutXfbBufferEnd; if (noXfbBuffer.hasLayout()) { - p += snprintf(p, end - p, "layout("); + appendStr("layout("); if (qualifier.hasAnyLocation()) { - p += snprintf(p, end - p, "location=%d ", qualifier.layoutLocation); - if (qualifier.hasComponent()) - p += snprintf(p, end - p, "component=%d ", qualifier.layoutComponent); - if (qualifier.hasIndex()) - p += snprintf(p, end - p, "index=%d ", qualifier.layoutIndex); + appendStr(" location="); + appendUint(qualifier.layoutLocation); + if (qualifier.hasComponent()) { + appendStr(" component="); + appendUint(qualifier.layoutComponent); + } + if (qualifier.hasIndex()) { + appendStr(" index="); + appendUint(qualifier.layoutIndex); + } + } + if (qualifier.hasSet()) { + appendStr(" set="); + appendUint(qualifier.layoutSet); + } + if (qualifier.hasBinding()) { + appendStr(" binding="); + appendUint(qualifier.layoutBinding); + } + if (qualifier.hasStream()) { + appendStr(" stream="); + appendUint(qualifier.layoutStream); + } + if (qualifier.hasMatrix()) { + appendStr(" "); + appendStr(TQualifier::getLayoutMatrixString(qualifier.layoutMatrix)); + } + if (qualifier.hasPacking()) { + appendStr(" "); + appendStr(TQualifier::getLayoutPackingString(qualifier.layoutPacking)); + } + if (qualifier.hasOffset()) { + appendStr(" offset="); + appendInt(qualifier.layoutOffset); + } + if (qualifier.hasAlign()) { + appendStr(" align="); + appendInt(qualifier.layoutAlign); + } + if (qualifier.hasFormat()) { + appendStr(" "); + appendStr(TQualifier::getLayoutFormatString(qualifier.layoutFormat)); + } + if (qualifier.hasXfbBuffer() && qualifier.hasXfbOffset()) { + appendStr(" xfb_buffer="); + appendUint(qualifier.layoutXfbBuffer); + } + if (qualifier.hasXfbOffset()) { + appendStr(" xfb_offset="); + appendUint(qualifier.layoutXfbOffset); + } + if (qualifier.hasXfbStride()) { + appendStr(" xfb_stride="); + appendUint(qualifier.layoutXfbStride); + } + if (qualifier.hasAttachment()) { + appendStr(" input_attachment_index="); + appendUint(qualifier.layoutAttachment); + } + if (qualifier.hasSpecConstantId()) { + appendStr(" constant_id="); + appendUint(qualifier.layoutSpecConstantId); } - if (qualifier.hasSet()) - p += snprintf(p, end - p, "set=%d ", qualifier.layoutSet); - if (qualifier.hasBinding()) - p += snprintf(p, end - p, "binding=%d ", qualifier.layoutBinding); - if (qualifier.hasStream()) - p += snprintf(p, end - p, "stream=%d ", qualifier.layoutStream); - if (qualifier.hasMatrix()) - p += snprintf(p, end - p, "%s ", TQualifier::getLayoutMatrixString(qualifier.layoutMatrix)); - if (qualifier.hasPacking()) - p += snprintf(p, end - p, "%s ", TQualifier::getLayoutPackingString(qualifier.layoutPacking)); - if (qualifier.hasOffset()) - p += snprintf(p, end - p, "offset=%d ", qualifier.layoutOffset); - if (qualifier.hasAlign()) - p += snprintf(p, end - p, "align=%d ", qualifier.layoutAlign); - if (qualifier.hasFormat()) - p += snprintf(p, end - p, "%s ", TQualifier::getLayoutFormatString(qualifier.layoutFormat)); - if (qualifier.hasXfbBuffer() && qualifier.hasXfbOffset()) - p += snprintf(p, end - p, "xfb_buffer=%d ", qualifier.layoutXfbBuffer); - if (qualifier.hasXfbOffset()) - p += snprintf(p, end - p, "xfb_offset=%d ", qualifier.layoutXfbOffset); - if (qualifier.hasXfbStride()) - p += snprintf(p, end - p, "xfb_stride=%d ", qualifier.layoutXfbStride); - if (qualifier.hasAttachment()) - p += snprintf(p, end - p, "input_attachment_index=%d ", qualifier.layoutAttachment); - if (qualifier.hasSpecConstantId()) - p += snprintf(p, end - p, "constant_id=%d ", qualifier.layoutSpecConstantId); if (qualifier.layoutPushConstant) - p += snprintf(p, end - p, "push_constant "); + appendStr(" push_constant"); #ifdef NV_EXTENSIONS if (qualifier.layoutPassthrough) - p += snprintf(p, end - p, "passthrough "); + appendStr(" passthrough"); if (qualifier.layoutViewportRelative) - p += snprintf(p, end - p, "layoutViewportRelative "); - if (qualifier.layoutSecondaryViewportRelativeOffset != -2048) - p += snprintf(p, end - p, "layoutSecondaryViewportRelativeOffset=%d ", qualifier.layoutSecondaryViewportRelativeOffset); + appendStr(" layoutViewportRelative"); + if (qualifier.layoutSecondaryViewportRelativeOffset != -2048) { + appendStr(" layoutSecondaryViewportRelativeOffset="); + appendInt(qualifier.layoutSecondaryViewportRelativeOffset); + } #endif - p += snprintf(p, end - p, ") "); + appendStr(")"); } } if (qualifier.invariant) - p += snprintf(p, end - p, "invariant "); + appendStr(" invariant"); if (qualifier.noContraction) - p += snprintf(p, end - p, "noContraction "); + appendStr(" noContraction"); if (qualifier.centroid) - p += snprintf(p, end - p, "centroid "); + appendStr(" centroid"); if (qualifier.smooth) - p += snprintf(p, end - p, "smooth "); + appendStr(" smooth"); if (qualifier.flat) - p += snprintf(p, end - p, "flat "); + appendStr(" flat"); if (qualifier.nopersp) - p += snprintf(p, end - p, "noperspective "); + appendStr(" noperspective"); #ifdef AMD_EXTENSIONS if (qualifier.explicitInterp) - p += snprintf(p, end - p, "__explicitInterpAMD "); + appendStr(" __explicitInterpAMD"); #endif if (qualifier.patch) - p += snprintf(p, end - p, "patch "); + appendStr(" patch"); if (qualifier.sample) - p += snprintf(p, end - p, "sample "); + appendStr(" sample"); if (qualifier.coherent) - p += snprintf(p, end - p, "coherent "); + appendStr(" coherent"); if (qualifier.volatil) - p += snprintf(p, end - p, "volatile "); + appendStr(" volatile"); if (qualifier.restrict) - p += snprintf(p, end - p, "restrict "); + appendStr(" restrict"); if (qualifier.readonly) - p += snprintf(p, end - p, "readonly "); + appendStr(" readonly"); if (qualifier.writeonly) - p += snprintf(p, end - p, "writeonly "); + appendStr(" writeonly"); if (qualifier.specConstant) - p += snprintf(p, end - p, "specialization-constant "); - p += snprintf(p, end - p, "%s ", getStorageQualifierString()); + appendStr(" specialization-constant"); + appendStr(" "); + appendStr(getStorageQualifierString()); if (isArray()) { for(int i = 0; i < (int)arraySizes->getNumDims(); ++i) { int size = arraySizes->getDimSize(i); if (size == 0) - p += snprintf(p, end - p, "implicitly-sized array of "); - else - p += snprintf(p, end - p, "%d-element array of ", arraySizes->getDimSize(i)); + appendStr(" implicitly-sized array of"); + else { + appendStr(" "); + appendInt(arraySizes->getDimSize(i)); + appendStr("-element array of"); + } } } - if (qualifier.precision != EpqNone) - p += snprintf(p, end - p, "%s ", getPrecisionQualifierString()); - if (isMatrix()) - p += snprintf(p, end - p, "%dX%d matrix of ", matrixCols, matrixRows); - else if (isVector()) - p += snprintf(p, end - p, "%d-component vector of ", vectorSize); + if (qualifier.precision != EpqNone) { + appendStr(" "); + appendStr(getPrecisionQualifierString()); + } + if (isMatrix()) { + appendStr(" "); + appendInt(matrixCols); + appendStr("X"); + appendInt(matrixRows); + appendStr(" matrix of"); + } else if (isVector()) { + appendStr(" "); + appendInt(vectorSize); + appendStr("-component vector of"); + } - *p = 0; - TString s(buf); - s.append(getBasicTypeString()); + appendStr(" "); + typeString.append(getBasicTypeString()); if (qualifier.builtIn != EbvNone) { - s.append(" "); - s.append(getBuiltInVariableString()); + appendStr(" "); + appendStr(getBuiltInVariableString()); } // Add struct/block members if (structure) { - s.append("{"); + appendStr("{"); for (size_t i = 0; i < structure->size(); ++i) { - if (s.size() > 3 * GlslangMaxTypeLength) { - // If we are getting too long, cut it short, - // just need to draw the line somewhere, as there is no limit to - // how large a struct/block type can get. - s.append("..."); - break; - } if (! (*structure)[i].type->hiddenMember()) { - s.append((*structure)[i].type->getCompleteString()); - s.append(" "); - s.append((*structure)[i].type->getFieldName()); + typeString.append((*structure)[i].type->getCompleteString()); + typeString.append(" "); + typeString.append((*structure)[i].type->getFieldName()); if (i < structure->size() - 1) - s.append(", "); + appendStr(", "); } } - s.append("}"); + appendStr("}"); } - return s; + return typeString; } TString getBasicTypeString() const @@ -1720,6 +1779,7 @@ public: const char* getBuiltInVariableString() const { return GetBuiltInVariableString(qualifier.builtIn); } const char* getPrecisionQualifierString() const { return GetPrecisionQualifierString(qualifier.precision); } const TTypeList* getStruct() const { return structure; } + void setStruct(TTypeList* s) { structure = s; } TTypeList* getWritableStruct() const { return structure; } // This should only be used when known to not be sharing with other threads int computeNumComponents() const @@ -1742,7 +1802,7 @@ public: } // append this type's mangled name to the passed in 'name' - void appendMangledName(TString& name) + void appendMangledName(TString& name) const { buildMangledName(name); name += ';' ; @@ -1830,7 +1890,43 @@ protected: TType(const TType& type); TType& operator=(const TType& type); - void buildMangledName(TString&); + // Recursively copy a type graph, while preserving the graph-like + // quality. That is, don't make more than one copy of a structure that + // gets reused multiple times in the type graph. + void deepCopy(const TType& copyOf, TMap& copiedMap) + { + shallowCopy(copyOf); + + if (copyOf.arraySizes) { + arraySizes = new TArraySizes; + *arraySizes = *copyOf.arraySizes; + } + + if (copyOf.structure) { + auto prevCopy = copiedMap.find(copyOf.structure); + if (prevCopy != copiedMap.end()) + structure = prevCopy->second; + else { + structure = new TTypeList; + copiedMap[copyOf.structure] = structure; + for (unsigned int i = 0; i < copyOf.structure->size(); ++i) { + TTypeLoc typeLoc; + typeLoc.loc = (*copyOf.structure)[i].loc; + typeLoc.type = new TType(); + typeLoc.type->deepCopy(*(*copyOf.structure)[i].type, copiedMap); + structure->push_back(typeLoc); + } + } + } + + if (copyOf.fieldName) + fieldName = NewPoolTString(copyOf.fieldName->c_str()); + if (copyOf.typeName) + typeName = NewPoolTString(copyOf.typeName->c_str()); + } + + + void buildMangledName(TString&) const; TBasicType basicType : 8; int vectorSize : 4; // 1 means either scalar or 1-component vector; see vector1 to disambiguate. diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/intermediate.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/intermediate.h index dc87ba905b6..934994d9aa4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/intermediate.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/intermediate.h @@ -183,6 +183,7 @@ enum TOperator { EOpVectorSwizzle, EOpMethod, + EOpScoping, // // Built-in functions mapped to operators @@ -624,6 +625,15 @@ enum TOperator { EOpMethodCalculateLevelOfDetail, // ... EOpMethodCalculateLevelOfDetailUnclamped, // ... + // Load already defined above for textures + EOpMethodLoad2, // Structure buffer object methods. These are translated to existing + EOpMethodLoad3, // AST methods, and exist to represent HLSL semantics until that + EOpMethodLoad4, // translation is performed. See HlslParseContext::decomposeSampleMethods(). + EOpMethodStore, // ... + EOpMethodStore2, // ... + EOpMethodStore3, // ... + EOpMethodStore4, // ... + // SM5 texture methods EOpMethodGatherRed, // These are covered under the above EOpMethodSample comment about EOpMethodGatherGreen, // translation to existing AST opcodes. They exist temporarily diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/revision.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/revision.h index 796f81a9bc1..d4429094d4b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Include/revision.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1805" -#define GLSLANG_DATE "02-Feb-2017" +#define GLSLANG_REVISION "Overload400-PrecQual.1937" +#define GLSLANG_DATE "24-Mar-2017" diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp index 287d6d69a8a..2c46e4f3cc8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp @@ -85,6 +85,8 @@ TBuiltIns::TBuiltIns() prefixes[EbtFloat] = ""; prefixes[EbtInt] = "i"; prefixes[EbtUint] = "u"; + prefixes[EbtInt64] = "i64"; + prefixes[EbtUint64] = "u64"; postfixes[2] = "2"; postfixes[3] = "3"; postfixes[4] = "4"; @@ -103,6 +105,7 @@ TBuiltIns::~TBuiltIns() { } + // // Add all context-independent built-in functions and variables that are present // for the given version and profile. Share common ones across stages, otherwise @@ -3122,6 +3125,13 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangCompute].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "\n"); + } + //============================================================================ // // Define the interface to the vertex shader. @@ -3246,9 +3256,11 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV stageBuiltins[EShLangVertex].append( "out int gl_ViewportIndex;" "out int gl_Layer;" - "out int gl_ViewportMask[];" - "out int gl_SecondaryViewportMaskNV[];" - "out vec4 gl_SecondaryPositionNV;" + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes ); #endif @@ -3285,6 +3297,15 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV } } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangVertex].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + + //============================================================================ // // Define the interface to the geometry shader. @@ -3312,7 +3333,8 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV stageBuiltins[EShLangGeometry].append( "float gl_CullDistance[];" #ifdef NV_EXTENSIONS - "vec4 gl_SecondaryPositionNV;" + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes #endif ); stageBuiltins[EShLangGeometry].append( @@ -3362,9 +3384,11 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV #ifdef NV_EXTENSIONS if (version >= 450) stageBuiltins[EShLangGeometry].append( - "out int gl_ViewportMask[];" - "out int gl_SecondaryViewportMaskNV[];" - "out vec4 gl_SecondaryPositionNV;" + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes ); #endif @@ -3390,6 +3414,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV ); } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangGeometry].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + //============================================================================ // // Define the interface to the tessellation control shader. @@ -3424,11 +3456,13 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV stageBuiltins[EShLangTessControl].append( "float gl_CullDistance[];" #ifdef NV_EXTENSIONS - "int gl_ViewportIndex;" - "int gl_Layer;" - "int gl_ViewportMask[];" - "vec4 gl_SecondaryPositionNV;" - "int gl_SecondaryViewportMaskNV[];" + "int gl_ViewportIndex;" + "int gl_Layer;" + "int gl_ViewportMask[];" // GL_NV_viewport_array2 + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes #endif ); stageBuiltins[EShLangTessControl].append( @@ -3459,6 +3493,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangTessControl].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + //============================================================================ // // Define the interface to the tessellation evaluation shader. @@ -3503,11 +3545,13 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV #ifdef NV_EXTENSIONS if (version >= 450) stageBuiltins[EShLangTessEvaluation].append( - "out int gl_ViewportIndex;" - "out int gl_Layer;" - "out int gl_ViewportMask[];" - "out vec4 gl_SecondaryPositionNV;" - "out int gl_SecondaryViewportMaskNV[];" + "out int gl_ViewportIndex;" + "out int gl_Layer;" + "out int gl_ViewportMask[];" // GL_NV_viewport_array2 + "out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering + "out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes + "out int gl_ViewportMaskPerViewNV[];" // GL_NVX_multiview_per_view_attributes ); #endif @@ -3532,6 +3576,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangTessEvaluation].append( + "in highp int gl_DeviceIndex;" // GL_EXT_device_group + "in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + //============================================================================ // // Define the interface to the fragment shader. @@ -3689,6 +3741,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + stageBuiltins[EShLangFragment].append( + "flat in highp int gl_DeviceIndex;" // GL_EXT_device_group + "flat in highp int gl_ViewIndex;" // GL_EXT_multiview + "\n"); + } + // printf("%s\n", commonBuiltins.c_str()); // printf("%s\n", stageBuiltins[EShLangFragment].c_str()); } @@ -4445,7 +4505,8 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf "highp vec4 gl_Position;" "highp float gl_PointSize;" #ifdef NV_EXTENSIONS - "highp vec4 gl_SecondaryPositionNV;" + "highp vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "highp vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes #endif "} gl_in[gl_MaxPatchVertices];" "\n"); @@ -4634,7 +4695,8 @@ void TBuiltIns::initialize(const TBuiltInResource &resources, int version, EProf s.append( "float gl_CullDistance[];" #ifdef NV_EXTENSIONS - "vec4 gl_SecondaryPositionNV;" + "vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering + "vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes #endif ); s.append( @@ -5033,19 +5095,26 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion symbolTable.setVariableExtensions("gl_ViewportMask", 1, &E_GL_NV_viewport_array2); symbolTable.setVariableExtensions("gl_SecondaryPositionNV", 1, &E_GL_NV_stereo_view_rendering); symbolTable.setVariableExtensions("gl_SecondaryViewportMaskNV", 1, &E_GL_NV_stereo_view_rendering); + symbolTable.setVariableExtensions("gl_PositionPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); + symbolTable.setVariableExtensions("gl_ViewportMaskPerViewNV", 1, &E_GL_NVX_multiview_per_view_attributes); BuiltInVariable("gl_ViewportMask", EbvViewportMaskNV, symbolTable); BuiltInVariable("gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); BuiltInVariable("gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable); + BuiltInVariable("gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + BuiltInVariable("gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable); - if (language != EShLangVertex) + if (language != EShLangVertex) { BuiltInVariable("gl_in", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); - + BuiltInVariable("gl_in", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + } BuiltInVariable("gl_out", "gl_Layer", EbvLayer, symbolTable); BuiltInVariable("gl_out", "gl_ViewportIndex", EbvViewportIndex, symbolTable); BuiltInVariable("gl_out", "gl_ViewportMask", EbvViewportMaskNV, symbolTable); BuiltInVariable("gl_out", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable); BuiltInVariable("gl_out", "gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable); + BuiltInVariable("gl_out", "gl_PositionPerViewNV", EbvPositionPerViewNV, symbolTable); + BuiltInVariable("gl_out", "gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable); #endif BuiltInVariable("gl_PatchVerticesIn", EbvPatchVertices, symbolTable); @@ -5094,6 +5163,14 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion // symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size); //} + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); + } + break; case EShLangFragment: @@ -5290,6 +5367,11 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion symbolTable.setFunctionExtensions("imageAtomicExchange", 1, &E_GL_OES_shader_image_atomic); symbolTable.setFunctionExtensions("imageAtomicCompSwap", 1, &E_GL_OES_shader_image_atomic); } + + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); break; case EShLangCompute: @@ -5323,6 +5405,15 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_ARB_compute_shader); symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_ARB_compute_shader); } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group); + BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); + symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview); + BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable); + } + break; default: diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp index af3e8119d8c..8abd9e397a8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp @@ -155,14 +155,10 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn return folded; } - // If either is a specialization constant, while the other is - // a constant (or specialization constant), the result is still - // a specialization constant, if the operation is an allowed - // specialization-constant operation. - if (( left->getType().getQualifier().isSpecConstant() && right->getType().getQualifier().isConstant()) || - (right->getType().getQualifier().isSpecConstant() && left->getType().getQualifier().isConstant())) - if (isSpecializationOperation(*node)) - node->getWritableType().getQualifier().makeSpecConstant(); + // If can propagate spec-constantness and if the operation is an allowed + // specialization-constant operation, make a spec-constant. + if (specConstantPropagates(*left, *right) && isSpecializationOperation(*node)) + node->getWritableType().getQualifier().makeSpecConstant(); return node; } @@ -1162,15 +1158,15 @@ TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* r return nullptr; TIntermAggregate* aggNode = nullptr; - if (left) + if (left != nullptr) aggNode = left->getAsAggregate(); - if (! aggNode || aggNode->getOp() != EOpNull) { + if (aggNode == nullptr || aggNode->getOp() != EOpNull) { aggNode = new TIntermAggregate; - if (left) + if (left != nullptr) aggNode->getSequence().push_back(left); } - if (right) + if (right != nullptr) aggNode->getSequence().push_back(right); return aggNode; @@ -1277,6 +1273,9 @@ TIntermTyped* TIntermediate::addMethod(TIntermTyped* object, const TType& type, // a true path, and a false path. The two paths are specified // as separate parameters. // +// Specialization constant operations include +// - The ternary operator ( ? : ) +// // Returns the selection node created, or nullptr if one could not be. // TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* trueBlock, TIntermTyped* falseBlock, const TSourceLoc& loc) @@ -1320,10 +1319,16 @@ TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* true // Make a selection node. // TIntermSelection* node = new TIntermSelection(cond, trueBlock, falseBlock, trueBlock->getType()); - node->getQualifier().makeTemporary(); node->setLoc(loc); node->getQualifier().precision = std::max(trueBlock->getQualifier().precision, falseBlock->getQualifier().precision); + if ((cond->getQualifier().isConstant() && specConstantPropagates(*trueBlock, *falseBlock)) || + (cond->getQualifier().isSpecConstant() && trueBlock->getQualifier().isConstant() && + falseBlock->getQualifier().isConstant())) + node->getQualifier().makeSpecConstant(); + else + node->getQualifier().makeTemporary(); + return node; } @@ -1398,6 +1403,14 @@ TIntermConstantUnion* TIntermediate::addConstantUnion(double d, TBasicType baseT return addConstantUnion(unionArray, TType(baseType, EvqConst), loc, literal); } +TIntermConstantUnion* TIntermediate::addConstantUnion(const TString* s, const TSourceLoc& loc, bool literal) const +{ + TConstUnionArray unionArray(1); + unionArray[0].setSConst(s); + + return addConstantUnion(unionArray, TType(EbtString, EvqConst), loc, literal); +} + // Put vector swizzle selectors onto the given sequence void TIntermediate::pushSelector(TIntermSequence& sequence, const TVectorSelector& selector, const TSourceLoc& loc) { @@ -2645,4 +2658,13 @@ void TIntermAggregate::addToPragmaTable(const TPragmaTable& pTable) *pragmaTable = pTable; } +// If either node is a specialization constant, while the other is +// a constant (or specialization constant), the result is still +// a specialization constant. +bool TIntermediate::specConstantPropagates(const TIntermTyped& node1, const TIntermTyped& node2) +{ + return (node1.getType().getQualifier().isSpecConstant() && node2.getType().getQualifier().isConstant()) || + (node2.getType().getQualifier().isSpecConstant() && node1.getType().getQualifier().isConstant()); +} + } // end namespace glslang diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseContextBase.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseContextBase.cpp index 24c8e6095d8..d2b6b260f2a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseContextBase.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseContextBase.cpp @@ -223,20 +223,12 @@ void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op, error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str()); } -// Add a linkage symbol node for 'symbol', which -// must have its type fully edited, as this will snapshot the type. -// It is okay if symbol becomes invalid before finish(). -void TParseContextBase::trackLinkage(TSymbol& symbol) -{ - if (!parsingBuiltins) - intermediate.addSymbolLinkageNode(linkage, symbol); -} - // Add 'symbol' to the list of deferred linkage symbols, which // are later processed in finish(), at which point the symbol // must still be valid. -// It is okay if the symbol's type will be subsequently edited. -void TParseContextBase::trackLinkageDeferred(TSymbol& symbol) +// It is okay if the symbol's type will be subsequently edited; +// the modifications will be tracked. +void TParseContextBase::trackLinkage(TSymbol& symbol) { if (!parsingBuiltins) linkageSymbols.push_back(&symbol); @@ -253,7 +245,7 @@ void TParseContextBase::makeEditable(TSymbol*& symbol) // Save it (deferred, so it can be edited first) in the AST for linker use. if (symbol) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); } // Return a writable version of the variable 'name'. @@ -539,66 +531,53 @@ void TParseContextBase::parseSwizzleSelector(const TSourceLoc& loc, const TStrin // Make the passed-in variable information become a member of the // global uniform block. If this doesn't exist yet, make it. // -void TParseContextBase::growGlobalUniformBlock(TSourceLoc& loc, TType& memberType, TString& memberName) +void TParseContextBase::growGlobalUniformBlock(TSourceLoc& loc, TType& memberType, TString& memberName, TTypeList* typeList) { - // make the global block, if not yet made + // Make the global block, if not yet made. if (globalUniformBlock == nullptr) { - TString& blockName = *NewPoolTString(getGlobalUniformBlockName()); TQualifier blockQualifier; blockQualifier.clear(); blockQualifier.storage = EvqUniform; - TType blockType(new TTypeList, blockName, blockQualifier); - TString* instanceName = NewPoolTString(""); - globalUniformBlock = new TVariable(instanceName, blockType, true); + TType blockType(new TTypeList, *NewPoolTString(getGlobalUniformBlockName()), blockQualifier); + setUniformBlockDefaults(blockType); + globalUniformBlock = new TVariable(NewPoolTString(""), blockType, true); firstNewMember = 0; } - // add the requested member as a member to the block + // Add the requested member as a member to the global block. TType* type = new TType; type->shallowCopy(memberType); type->setFieldName(memberName); + if (typeList) + type->setStruct(typeList); TTypeLoc typeLoc = {type, loc}; globalUniformBlock->getType().getWritableStruct()->push_back(typeLoc); -} -// -// Insert into the symbol table the global uniform block created in -// growGlobalUniformBlock(). The variables added as members won't be -// found unless this is done. -// -bool TParseContextBase::insertGlobalUniformBlock() -{ - if (globalUniformBlock == nullptr) - return true; - - int numMembers = (int)globalUniformBlock->getType().getStruct()->size(); - bool inserted = false; + // Insert into the symbol table. if (firstNewMember == 0) { // This is the first request; we need a normal symbol table insert - inserted = symbolTable.insert(*globalUniformBlock); - if (inserted) - trackLinkageDeferred(*globalUniformBlock); - } else if (firstNewMember <= numMembers) { + if (symbolTable.insert(*globalUniformBlock)) + trackLinkage(*globalUniformBlock); + else + error(loc, "failed to insert the global constant buffer", "uniform", ""); + } else { // This is a follow-on request; we need to amend the first insert - inserted = symbolTable.amend(*globalUniformBlock, firstNewMember); - } - - if (inserted) { - finalizeGlobalUniformBlockLayout(*globalUniformBlock); - firstNewMember = numMembers; + symbolTable.amend(*globalUniformBlock, firstNewMember); } - return inserted; + ++firstNewMember; } void TParseContextBase::finish() { - if (!parsingBuiltins) { - // Transfer the linkage symbols to AST nodes - for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) - intermediate.addSymbolLinkageNode(linkage, **i); - intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); - } + if (parsingBuiltins) + return; + + // Transfer the linkage symbols to AST nodes + TIntermAggregate* linkage = new TIntermAggregate; + for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) + intermediate.addSymbolLinkageNode(linkage, **i); + intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); } } // end namespace glslang diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp index f2ae8efa497..78f459a9240 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp @@ -3009,7 +3009,7 @@ void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, con symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); if (symbolTable.atGlobalLevel()) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); if (! symbolTable.atBuiltInLevel()) { if (isIoResizeArray(type)) { @@ -3476,7 +3476,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT fixIoArraySize(loc, block->getWritableType()); // Save it in the AST for linker use. - trackLinkageDeferred(*block); + trackLinkage(*block); } void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type) @@ -4008,16 +4008,20 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi // - uniform offsets // - atomic_uint offsets const char* feature = "offset"; - requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature); - const char* exts[2] = { E_GL_ARB_enhanced_layouts, E_GL_ARB_shader_atomic_counters }; - profileRequires(loc, ECoreProfile | ECompatibilityProfile, 420, 2, exts, feature); - profileRequires(loc, EEsProfile, 310, nullptr, feature); + if (spvVersion.spv == 0) { + requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature); + const char* exts[2] = { E_GL_ARB_enhanced_layouts, E_GL_ARB_shader_atomic_counters }; + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 420, 2, exts, feature); + profileRequires(loc, EEsProfile, 310, nullptr, feature); + } publicType.qualifier.layoutOffset = value; return; } else if (id == "align") { const char* feature = "uniform buffer-member align"; - requireProfile(loc, ECoreProfile | ECompatibilityProfile, feature); - profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature); + if (spvVersion.spv == 0) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, feature); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, feature); + } // "The specified alignment must be a power of 2, or a compile-time error results." if (! IsPow2(value)) error(loc, "must be a power of 2", "align", ""); @@ -4495,8 +4499,11 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type) } } } - } else if (type.isImage() && ! qualifier.writeonly) - error(loc, "image variables not declared 'writeonly' must have a format layout qualifier", "", ""); + } else if (type.isImage() && ! qualifier.writeonly) { + const char *explanation = "image variables declared 'writeonly' without a format layout qualifier"; + requireProfile(loc, ECoreProfile | ECompatibilityProfile, explanation); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 0, E_GL_EXT_shader_image_load_formatted, explanation); + } if (qualifier.layoutPushConstant && type.getBasicType() != EbtBlock) error(loc, "can only be used with a block", "push_constant", ""); @@ -5056,7 +5063,7 @@ TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identi // add variable to symbol table if (symbolTable.insert(*variable)) { if (symbolTable.atGlobalLevel()) - trackLinkageDeferred(*variable); + trackLinkage(*variable); return variable; } @@ -5546,8 +5553,10 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con if (memberType.isArray()) arrayUnsizedCheck(memberLoc, currentBlockQualifier, &memberType.getArraySizes(), false, member == typeList.size() - 1); if (memberQualifier.hasOffset()) { - requireProfile(memberLoc, ~EEsProfile, "offset on block member"); - profileRequires(memberLoc, ~EEsProfile, 440, E_GL_ARB_enhanced_layouts, "offset on block member"); + if (spvVersion.spv == 0) { + requireProfile(memberLoc, ~EEsProfile, "offset on block member"); + profileRequires(memberLoc, ~EEsProfile, 440, E_GL_ARB_enhanced_layouts, "offset on block member"); + } } if (memberType.containsOpaque()) @@ -5588,11 +5597,10 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con mergeObjectLayoutQualifiers(defaultQualification, currentBlockQualifier, true); - // "The offset qualifier can only be used on block members of blocks declared with std140 or std430 layouts." // "The align qualifier can only be used on blocks or block members, and only for blocks declared with std140 or std430 layouts." - if (currentBlockQualifier.hasAlign() || currentBlockQualifier.hasAlign()) { + if (currentBlockQualifier.hasAlign()) { if (defaultQualification.layoutPacking != ElpStd140 && defaultQualification.layoutPacking != ElpStd430) { - error(loc, "can only be used with std140 or std430 layout packing", "offset/align", ""); + error(loc, "can only be used with std140 or std430 layout packing", "align", ""); defaultQualification.layoutAlign = -1; } } @@ -5634,9 +5642,12 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con } } else memberWithoutLocation = true; - if (memberQualifier.hasAlign()) { + + // "The offset qualifier can only be used on block members of blocks declared with std140 or std430 layouts." + // "The align qualifier can only be used on blocks or block members, and only for blocks declared with std140 or std430 layouts." + if (memberQualifier.hasAlign() || memberQualifier.hasOffset()) { if (defaultQualification.layoutPacking != ElpStd140 && defaultQualification.layoutPacking != ElpStd430) - error(memberLoc, "can only be used with std140 or std430 layout packing", "align", ""); + error(memberLoc, "can only be used with std140 or std430 layout packing", "offset/align", ""); } TQualifier newMemberQualification = defaultQualification; @@ -5718,7 +5729,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con fixIoArraySize(loc, variable.getWritableType()); // Save it in the AST for linker use. - trackLinkageDeferred(variable); + trackLinkage(variable); } // Do all block-declaration checking regarding the combination of in/out/uniform/buffer @@ -5786,11 +5797,8 @@ void TParseContext::blockQualifierCheck(const TSourceLoc& loc, const TQualifier& error(loc, "cannot use sample qualifier on an interface block", "sample", ""); if (qualifier.invariant) error(loc, "cannot use invariant qualifier on an interface block", "invariant", ""); - if (qualifier.layoutPushConstant) { + if (qualifier.layoutPushConstant) intermediate.addPushConstantCount(); - if (! instanceName) - error(loc, "requires an instance name", "push_constant", ""); - } } // diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h index 2e09a5ae96a..61db6fe64f4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h @@ -79,9 +79,7 @@ public: symbolTable(symbolTable), parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr), globalUniformBlock(nullptr) - { - linkage = new TIntermAggregate; - } + { } virtual ~TParseContextBase() { } virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, @@ -138,15 +136,13 @@ public: TSymbolTable& symbolTable; // symbol table that goes with the current language, version, and profile // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL) - // TODO: This could perhaps get its own object, but the current design doesn't work - // yet when new uniform variables are declared between function definitions, so - // this is pending getting a fully functional design. - virtual void growGlobalUniformBlock(TSourceLoc&, TType&, TString& memberName); - virtual bool insertGlobalUniformBlock(); + virtual void growGlobalUniformBlock(TSourceLoc&, TType&, TString& memberName, TTypeList* typeList = nullptr); virtual bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*); virtual void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*); + const char* const scopeMangler = "::"; + protected: TParseContextBase(TParseContextBase&); TParseContextBase& operator=(TParseContextBase&); @@ -177,19 +173,16 @@ protected: TVariable* globalUniformBlock; // the actual block, inserted into the symbol table int firstNewMember; // the index of the first member not yet inserted into the symbol table // override this to set the language-specific name - virtual const char* getGlobalUniformBlockName() { return ""; } + virtual const char* getGlobalUniformBlockName() const { return ""; } + virtual void setUniformBlockDefaults(TType& block) const { } virtual void finalizeGlobalUniformBlockLayout(TVariable&) { } virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken, const char* szExtraInfoFormat, TPrefixType prefix, va_list args); virtual void trackLinkage(TSymbol& symbol); - virtual void trackLinkageDeferred(TSymbol& symbol); virtual void makeEditable(TSymbol*&); virtual TVariable* getEditableVariable(const char* name); virtual void finish(); - -private: - TIntermAggregate* linkage; }; // diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp index 0e64364e2e7..8b3a30636f9 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Scan.cpp @@ -701,6 +701,10 @@ int TScanContext::tokenize(TPpContext* pp, TParserToken& token) case PpAtomDecrement: return DEC_OP; case PpAtomIncrement: return INC_OP; + case PpAtomColonColon: + parseContext.error(loc, "not supported", "::", ""); + break; + case PpAtomConstInt: parserToken->sType.lex.i = ppToken.ival; return INTCONSTANT; case PpAtomConstUint: parserToken->sType.lex.i = ppToken.ival; return UINTCONSTANT; case PpAtomConstInt64: parserToken->sType.lex.i64 = ppToken.i64val; return INT64CONSTANT; diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp index b0e55132a2d..5a8f679d10b 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/ShaderLang.cpp @@ -1557,6 +1557,7 @@ void TShader::setShiftSamplerBinding(unsigned int base) { intermediate->setShift void TShader::setShiftTextureBinding(unsigned int base) { intermediate->setShiftTextureBinding(base); } void TShader::setShiftImageBinding(unsigned int base) { intermediate->setShiftImageBinding(base); } void TShader::setShiftUboBinding(unsigned int base) { intermediate->setShiftUboBinding(base); } +void TShader::setShiftSsboBinding(unsigned int base) { intermediate->setShiftSsboBinding(base); } void TShader::setAutoMapBindings(bool map) { intermediate->setAutoMapBindings(map); } void TShader::setFlattenUniformArrays(bool flatten) { intermediate->setFlattenUniformArrays(flatten); } void TShader::setNoStorageFormat(bool useUnknownFormat) { intermediate->setNoStorageFormat(useUnknownFormat); } @@ -1784,6 +1785,7 @@ int TProgram::getAttributeType(int index) const { return reflection const TType* TProgram::getAttributeTType(int index) const { return reflection->getAttribute(index).getType(); } const TType* TProgram::getUniformTType(int index) const { return reflection->getUniform(index).getType(); } const TType* TProgram::getUniformBlockTType(int index) const { return reflection->getUniformBlock(index).getType(); } +unsigned TProgram::getLocalSize(int dim) const { return reflection->getLocalSize(dim); } void TProgram::dumpReflection() { reflection->dump(); } diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp index 080a5e0f482..790b76b15e8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp @@ -50,7 +50,7 @@ namespace glslang { // // Recursively generate mangled names. // -void TType::buildMangledName(TString& mangledName) +void TType::buildMangledName(TString& mangledName) const { if (isMatrix()) mangledName += 'm'; @@ -103,7 +103,11 @@ void TType::buildMangledName(TString& mangledName) mangledName += "M"; break; case EbtStruct: - mangledName += "struct-"; + case EbtBlock: + if (basicType == EbtStruct) + mangledName += "struct-"; + else + mangledName += "block-"; if (typeName) mangledName += *typeName; for (unsigned int i = 0; i < structure->size(); ++i) { @@ -295,6 +299,8 @@ TFunction::TFunction(const TFunction& copyOf) : TSymbol(copyOf) op = copyOf.op; defined = copyOf.defined; prototyped = copyOf.prototyped; + implicitThis = copyOf.implicitThis; + illegalImplicitThis = copyOf.illegalImplicitThis; defaultParamCount = copyOf.defaultParamCount; } @@ -319,6 +325,7 @@ TSymbolTableLevel* TSymbolTableLevel::clone() const { TSymbolTableLevel *symTableLevel = new TSymbolTableLevel(); symTableLevel->anonId = anonId; + symTableLevel->thisLevel = thisLevel; std::vector containerCopied(anonId, false); tLevel::const_iterator iter; for (iter = level.begin(); iter != level.end(); ++iter) { diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.h index 9028dd76245..8dc154cdc55 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.h @@ -87,6 +87,12 @@ public: virtual const TString& getName() const { return *name; } virtual void changeName(const TString* newName) { name = newName; } + virtual void addPrefix(const char* prefix) + { + TString newName(prefix); + newName.append(*name); + changeName(NewPoolTString(newName.c_str())); + } virtual const TString& getMangledName() const { return getName(); } virtual TFunction* getAsFunction() { return 0; } virtual const TFunction* getAsFunction() const { return 0; } @@ -192,6 +198,7 @@ struct TParameter { TString *name; TType* type; TIntermTyped* defaultValue; + TBuiltInVariable declaredBuiltIn; void copyParam(const TParameter& param) { if (param.name) @@ -200,6 +207,7 @@ struct TParameter { name = 0; type = param.type->clone(); defaultValue = param.defaultValue; + declaredBuiltIn = param.declaredBuiltIn; } }; @@ -211,21 +219,29 @@ public: explicit TFunction(TOperator o) : TSymbol(0), op(o), - defined(false), prototyped(false), defaultParamCount(0) { } + defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) { } TFunction(const TString *name, const TType& retType, TOperator tOp = EOpNull) : TSymbol(name), mangledName(*name + '('), op(tOp), - defined(false), prototyped(false), defaultParamCount(0) { returnType.shallowCopy(retType); } - virtual TFunction* clone() const; + defined(false), prototyped(false), implicitThis(false), illegalImplicitThis(false), defaultParamCount(0) + { + returnType.shallowCopy(retType); + declaredBuiltIn = retType.getQualifier().builtIn; + } + virtual TFunction* clone() const override; virtual ~TFunction(); - virtual TFunction* getAsFunction() { return this; } - virtual const TFunction* getAsFunction() const { return this; } + virtual TFunction* getAsFunction() override { return this; } + virtual const TFunction* getAsFunction() const override { return this; } + // Install 'p' as the (non-'this') last parameter. + // Non-'this' parameters are reflected in both the list of parameters and the + // mangled name. virtual void addParameter(TParameter& p) { assert(writable); + p.declaredBuiltIn = p.type->getQualifier().builtIn; parameters.push_back(p); p.type->appendMangledName(mangledName); @@ -233,15 +249,35 @@ public: defaultParamCount++; } - virtual const TString& getMangledName() const { return mangledName; } - virtual const TType& getType() const { return returnType; } - virtual TType& getWritableType() { return returnType; } + // Install 'this' as the first parameter. + // 'this' is reflected in the list of parameters, but not the mangled name. + virtual void addThisParameter(TType& type, const char* name) + { + TParameter p = { NewPoolTString(name), new TType, nullptr }; + p.type->shallowCopy(type); + parameters.insert(parameters.begin(), p); + } + + virtual void addPrefix(const char* prefix) override + { + TSymbol::addPrefix(prefix); + mangledName.insert(0, prefix); + } + + virtual const TString& getMangledName() const override { return mangledName; } + virtual const TType& getType() const override { return returnType; } + virtual TBuiltInVariable getDeclaredBuiltInType() const { return declaredBuiltIn; } + virtual TType& getWritableType() override { return returnType; } virtual void relateToOperator(TOperator o) { assert(writable); op = o; } virtual TOperator getBuiltInOp() const { return op; } virtual void setDefined() { assert(writable); defined = true; } virtual bool isDefined() const { return defined; } virtual void setPrototyped() { assert(writable); prototyped = true; } virtual bool isPrototyped() const { return prototyped; } + virtual void setImplicitThis() { assert(writable); implicitThis = true; } + virtual bool hasImplicitThis() const { return implicitThis; } + virtual void setIllegalImplicitThis() { assert(writable); illegalImplicitThis = true; } + virtual bool hasIllegalImplicitThis() const { return illegalImplicitThis; } // Return total number of parameters virtual int getParamCount() const { return static_cast(parameters.size()); } @@ -253,7 +289,7 @@ public: virtual TParameter& operator[](int i) { assert(writable); return parameters[i]; } virtual const TParameter& operator[](int i) const { return parameters[i]; } - virtual void dump(TInfoSink &infoSink) const; + virtual void dump(TInfoSink &infoSink) const override; protected: explicit TFunction(const TFunction&); @@ -262,10 +298,17 @@ protected: typedef TVector TParamList; TParamList parameters; TType returnType; + TBuiltInVariable declaredBuiltIn; + TString mangledName; TOperator op; bool defined; bool prototyped; + bool implicitThis; // True if this function is allowed to see all members of 'this' + bool illegalImplicitThis; // True if this function is not supposed to have access to dynamic members of 'this', + // even if it finds member variables in the symbol table. + // This is important for a static member function that has member variables in scope, + // but is not allowed to use them, or see hidden symbols instead. int defaultParamCount; }; @@ -313,7 +356,7 @@ protected: class TSymbolTableLevel { public: POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator()) - TSymbolTableLevel() : defaultPrecision(0), anonId(0) { } + TSymbolTableLevel() : defaultPrecision(0), anonId(0), thisLevel(false) { } ~TSymbolTableLevel(); bool insert(TSymbol& symbol, bool separateNameSpaces) @@ -471,6 +514,9 @@ public: TSymbolTableLevel* clone() const; void readOnly(); + void setThisLevel() { thisLevel = true; } + bool isThisLevel() const { return thisLevel; } + protected: explicit TSymbolTableLevel(TSymbolTableLevel&); TSymbolTableLevel& operator=(TSymbolTableLevel&); @@ -482,6 +528,8 @@ protected: tLevel level; // named mappings TPrecisionQualifier *defaultPrecision; int anonId; + bool thisLevel; // True if this level of the symbol table is a structure scope containing member function + // that are supposed to see anonymous access to member variables. }; class TSymbolTable { @@ -538,6 +586,20 @@ public: table.push_back(new TSymbolTableLevel); } + // Make a new symbol-table level to represent the scope introduced by a structure + // containing member functions, such that the member functions can find anonymous + // references to member variables. + // + // 'thisSymbol' should have a name of "" to trigger anonymous structure-member + // symbol finds. + void pushThis(TSymbol& thisSymbol) + { + assert(thisSymbol.getName().size() == 0); + table.push_back(new TSymbolTableLevel); + table.back()->setThisLevel(); + insert(thisSymbol); + } + void pop(TPrecisionQualifier *p) { table[currentLevel()]->getPreviousDefaultPrecisions(p); @@ -624,6 +686,8 @@ public: } } + // Normal find of a symbol, that can optionally say whether the symbol was found + // at a built-in level or the current top-scope level. TSymbol* find(const TString& name, bool* builtIn = 0, bool *currentScope = 0) { int level = currentLevel(); @@ -641,6 +705,27 @@ public: return symbol; } + // Find of a symbol that returns how many layers deep of nested + // structures-with-member-functions ('this' scopes) deep the symbol was + // found in. + TSymbol* find(const TString& name, int& thisDepth) + { + int level = currentLevel(); + TSymbol* symbol; + thisDepth = 0; + do { + if (table[level]->isThisLevel()) + ++thisDepth; + symbol = table[level]->find(name); + --level; + } while (symbol == 0 && level >= 0); + + if (! table[level + 1]->isThisLevel()) + thisDepth = 0; + + return symbol; + } + bool isFunctionNameVariable(const TString& name) const { if (separateNameSpaces) diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp index 9025e7612f4..528333f4679 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp @@ -182,6 +182,7 @@ void TParseVersions::initializeExtensionBehavior() // extensionBehavior[E_GL_ARB_cull_distance] = EBhDisable; // present for 4.5, but need extension control over block members extensionBehavior[E_GL_EXT_shader_non_constant_global_initializers] = EBhDisable; + extensionBehavior[E_GL_EXT_shader_image_load_formatted] = EBhDisable; // #line and #include extensionBehavior[E_GL_GOOGLE_cpp_style_line_directive] = EBhDisable; @@ -201,6 +202,7 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_ARB_shader_viewport_layer_array] = EBhDisable; extensionBehavior[E_GL_NV_viewport_array2] = EBhDisable; extensionBehavior[E_GL_NV_stereo_view_rendering] = EBhDisable; + extensionBehavior[E_GL_NVX_multiview_per_view_attributes] = EBhDisable; #endif // AEP @@ -230,6 +232,10 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_OES_tessellation_point_size] = EBhDisable; extensionBehavior[E_GL_OES_texture_buffer] = EBhDisable; extensionBehavior[E_GL_OES_texture_cube_map_array] = EBhDisable; + + // EXT extensions + extensionBehavior[E_GL_EXT_device_group] = EBhDisable; + extensionBehavior[E_GL_EXT_multiview] = EBhDisable; } // Get code that is not part of a shared symbol table, is specific to this shader, @@ -302,6 +308,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_ARB_sparse_texture_clamp 1\n" // "#define GL_ARB_cull_distance 1\n" // present for 4.5, but need extension control over block members "#define GL_EXT_shader_non_constant_global_initializers 1\n" + "#define GL_EXT_shader_image_load_formatted 1\n" #ifdef AMD_EXTENSIONS "#define GL_AMD_shader_ballot 1\n" @@ -317,6 +324,22 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_NV_viewport_array2 1\n" #endif ; + + if (version >= 150) { + // define GL_core_profile and GL_compatibility_profile + preamble += "#define GL_core_profile 1\n"; + + if (profile == ECompatibilityProfile) + preamble += "#define GL_compatibility_profile 1\n"; + } + } + + if ((profile != EEsProfile && version >= 140) || + (profile == EEsProfile && version >= 310)) { + preamble += + "#define GL_EXT_device_group 1\n" + "#define GL_EXT_multiview 1\n" + ; } // #line and #include @@ -680,7 +703,7 @@ void TParseVersions::doubleCheck(const TSourceLoc& loc, const char* op) } #ifdef AMD_EXTENSIONS -// Call for any operation needing GLSL float16 data-type support. +// Call for any operation needing float16 data-type support. void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool builtIn) { if (!builtIn) { diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.h index cf8f5e23dd3..7f5d33d5ef3 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/Versions.h @@ -130,6 +130,11 @@ const char* const E_GL_ARB_sparse_texture_clamp = "GL_ARB_sparse_texture // const char* const E_GL_ARB_cull_distance = "GL_ARB_cull_distance"; // present for 4.5, but need extension control over block members const char* const E_GL_EXT_shader_non_constant_global_initializers = "GL_EXT_shader_non_constant_global_initializers"; +const char* const E_GL_EXT_shader_image_load_formatted = "GL_EXT_shader_image_load_formatted"; + +// EXT extensions +const char* const E_GL_EXT_device_group = "GL_EXT_device_group"; +const char* const E_GL_EXT_multiview = "GL_EXT_multiview"; // #line and #include const char* const E_GL_GOOGLE_cpp_style_line_directive = "GL_GOOGLE_cpp_style_line_directive"; @@ -149,6 +154,7 @@ const char* const E_SPV_NV_geometry_shader_passthrough = "GL_NV_geometr const char* const E_GL_ARB_shader_viewport_layer_array = "GL_ARB_shader_viewport_layer_array"; const char* const E_GL_NV_viewport_array2 = "GL_NV_viewport_array2"; const char* const E_GL_NV_stereo_view_rendering = "GL_NV_stereo_view_rendering"; +const char* const E_GL_NVX_multiview_per_view_attributes = "GL_NVX_multiview_per_view_attributes"; // Arrays of extensions for the above viewportEXTs duplications diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp index 04868f16aa5..bebf775d918 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp @@ -66,11 +66,14 @@ namespace glslang { struct TVarEntryInfo { - int id; - TIntermSymbol* symbol; - bool live; - int newBinding; - int newSet; + int id; + TIntermSymbol* symbol; + bool live; + int newBinding; + int newSet; + int newLocation; + int newComponent; + int newIndex; struct TOrderById { @@ -113,70 +116,109 @@ typedef std::vector TVarLiveMap; class TVarGatherTraverser : public TLiveTraverser { public: - TVarGatherTraverser(const TIntermediate& i, TVarLiveMap& vars, bool traverseDeadCode) + TVarGatherTraverser(const TIntermediate& i, bool traverseDeadCode, TVarLiveMap& inList, TVarLiveMap& outList, TVarLiveMap& uniformList) : TLiveTraverser(i, traverseDeadCode, true, true, false) - , varLiveList(vars) + , inputList(inList) + , outputList(outList) + , uniformList(uniformList) { } virtual void visitSymbol(TIntermSymbol* base) { - if (base->getQualifier().storage == EvqUniform) { + TVarLiveMap* target = nullptr; + if (base->getQualifier().storage == EvqVaryingIn) + target = &inputList; + else if (base->getQualifier().storage == EvqVaryingOut) + target = &outputList; + else if (base->getQualifier().isUniformOrBuffer()) + target = &uniformList; + + if (target) { TVarEntryInfo ent = { base->getId(), base, !traverseAll }; - TVarLiveMap::iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById()); - if (at != varLiveList.end() && at->id == ent.id) + TVarLiveMap::iterator at = std::lower_bound(target->begin(), target->end(), ent, TVarEntryInfo::TOrderById()); + if (at != target->end() && at->id == ent.id) at->live = at->live || !traverseAll; // update live state else - varLiveList.insert(at, ent); + target->insert(at, ent); } } private: - TVarLiveMap& varLiveList; + TVarLiveMap& inputList; + TVarLiveMap& outputList; + TVarLiveMap& uniformList; }; class TVarSetTraverser : public TLiveTraverser { public: - TVarSetTraverser(const TIntermediate& i, const TVarLiveMap& vars) + TVarSetTraverser(const TIntermediate& i, const TVarLiveMap& inList, const TVarLiveMap& outList, const TVarLiveMap& uniformList) : TLiveTraverser(i, true, true, true, false) - , varLiveList(vars) + , inputList(inList) + , outputList(outList) + , uniformList(uniformList) { } virtual void visitSymbol(TIntermSymbol* base) { + const TVarLiveMap* source; + if (base->getQualifier().storage == EvqVaryingIn) + source = &inputList; + else if (base->getQualifier().storage == EvqVaryingOut) + source = &outputList; + else if (base->getQualifier().isUniformOrBuffer()) + source = &uniformList; + else + return; + TVarEntryInfo ent = { base->getId() }; - TVarLiveMap::const_iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById()); - if (at == varLiveList.end()) + TVarLiveMap::const_iterator at = std::lower_bound(source->begin(), source->end(), ent, TVarEntryInfo::TOrderById()); + if (at == source->end()) return; - if (!(at->id == ent.id)) + + if (at->id != ent.id) return; if (at->newBinding != -1) base->getWritableType().getQualifier().layoutBinding = at->newBinding; if (at->newSet != -1) base->getWritableType().getQualifier().layoutSet = at->newSet; + if (at->newLocation != -1) + base->getWritableType().getQualifier().layoutLocation = at->newLocation; + if (at->newComponent != -1) + base->getWritableType().getQualifier().layoutComponent = at->newComponent; + if (at->newIndex != -1) + base->getWritableType().getQualifier().layoutIndex = at->newIndex; } private: - const TVarLiveMap& varLiveList; + const TVarLiveMap& inputList; + const TVarLiveMap& outputList; + const TVarLiveMap& uniformList; }; -struct TResolverAdaptor +struct TResolverUniformAdaptor { - TResolverAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e) - : stage(s) - , resolver(r) + TResolverUniformAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e, TIntermediate& interm) + : resolver(r) + , stage(s) , infoSink(i) , error(e) + , intermediate(interm) { } inline void operator()(TVarEntryInfo& ent) { + ent.newLocation = -1; + ent.newComponent = -1; + ent.newBinding = -1; + ent.newSet = -1; + ent.newIndex = -1; const bool isValid = resolver.validateBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live); if (isValid) { ent.newBinding = resolver.resolveBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live); @@ -209,15 +251,69 @@ struct TResolverAdaptor TIoMapResolver& resolver; TInfoSink& infoSink; bool& error; + TIntermediate& intermediate; private: - TResolverAdaptor& operator=(TResolverAdaptor&); + TResolverUniformAdaptor& operator=(TResolverUniformAdaptor&); +}; + +struct TResolverInOutAdaptor +{ + TResolverInOutAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e, TIntermediate& interm) + : resolver(r) + , stage(s) + , infoSink(i) + , error(e) + , intermediate(interm) + { + } + + inline void operator()(TVarEntryInfo& ent) + { + ent.newLocation = -1; + ent.newComponent = -1; + ent.newBinding = -1; + ent.newSet = -1; + ent.newIndex = -1; + const bool isValid = resolver.validateInOut(stage, + ent.symbol->getName().c_str(), + ent.symbol->getType(), + ent.live); + if (isValid) { + ent.newLocation = resolver.resolveInOutLocation(stage, + ent.symbol->getName().c_str(), + ent.symbol->getType(), + ent.live); + ent.newComponent = resolver.resolveInOutComponent(stage, + ent.symbol->getName().c_str(), + ent.symbol->getType(), + ent.live); + ent.newIndex = resolver.resolveInOutIndex(stage, + ent.symbol->getName().c_str(), + ent.symbol->getType(), + ent.live); + } else { + TString errorMsg = "Invalid shader In/Out variable semantic: "; + errorMsg += ent.symbol->getType().getQualifier().semanticName; + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + error = true; + } + } + + EShLanguage stage; + TIoMapResolver& resolver; + TInfoSink& infoSink; + bool& error; + TIntermediate& intermediate; + +private: + TResolverInOutAdaptor& operator=(TResolverInOutAdaptor&); }; /* * Basic implementation of glslang::TIoMapResolver that replaces the - * previous offset behaviour. - * It does the same, uses the offsets for th corresponding uniform + * previous offset behavior. + * It does the same, uses the offsets for the corresponding uniform * types. Also respects the EOptionAutoMapBindings flag and binds * them if needed. */ @@ -227,6 +323,7 @@ struct TDefaultIoResolver : public glslang::TIoMapResolver int baseTextureBinding; int baseImageBinding; int baseUboBinding; + int baseSsboBinding; bool doAutoMapping; typedef std::vector TSlotSet; typedef std::unordered_map TSlotSetMap; @@ -281,8 +378,11 @@ struct TDefaultIoResolver : public glslang::TIoMapResolver return checkEmpty(set, baseTextureBinding + type.getQualifier().layoutBinding); } - if (type.getQualifier().isUniformOrBuffer()) + if (type.getQualifier().storage == EvqUniform) return checkEmpty(set, baseUboBinding + type.getQualifier().layoutBinding); + + if (type.getQualifier().storage == EvqBuffer) + return checkEmpty(set, baseSsboBinding + type.getQualifier().layoutBinding); } return true; } @@ -308,8 +408,11 @@ struct TDefaultIoResolver : public glslang::TIoMapResolver return reserveSlot(set, baseTextureBinding + type.getQualifier().layoutBinding); } - if (type.getQualifier().isUniformOrBuffer()) + if (type.getQualifier().storage == EvqUniform) return reserveSlot(set, baseUboBinding + type.getQualifier().layoutBinding); + + if (type.getQualifier().storage == EvqBuffer) + return reserveSlot(set, baseSsboBinding + type.getQualifier().layoutBinding); } else if (is_live && doAutoMapping) { // find free slot, the caller did make sure it passes all vars with binding // first and now all are passed that do not have a binding and needs one @@ -325,8 +428,11 @@ struct TDefaultIoResolver : public glslang::TIoMapResolver return getFreeSlot(set, baseTextureBinding); } - if (type.getQualifier().isUniformOrBuffer()) + if (type.getQualifier().storage == EvqUniform) return getFreeSlot(set, baseUboBinding); + + if (type.getQualifier().storage == EvqBuffer) + return getFreeSlot(set, baseSsboBinding); } return -1; @@ -338,6 +444,23 @@ struct TDefaultIoResolver : public glslang::TIoMapResolver return type.getQualifier().layoutSet; return 0; } + + bool validateInOut(EShLanguage stage, const char* name, const TType& type, bool is_live) override + { + return true; + } + int resolveInOutLocation(EShLanguage stage, const char* name, const TType& type, bool is_live) override + { + return -1; + } + int resolveInOutComponent(EShLanguage stage, const char* name, const TType& type, bool is_live) override + { + return -1; + } + int resolveInOutIndex(EShLanguage stage, const char* name, const TType& type, bool is_live) override + { + return -1; + } }; // Map I/O variables to provided offsets, and make bindings for @@ -351,6 +474,7 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate &intermediate, TInfoSi intermediate.getShiftTextureBinding() == 0 && intermediate.getShiftImageBinding() == 0 && intermediate.getShiftUboBinding() == 0 && + intermediate.getShiftSsboBinding() == 0 && intermediate.getAutoMapBindings() == false && resolver == nullptr) return true; @@ -369,14 +493,15 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate &intermediate, TInfoSi defaultResolver.baseTextureBinding = intermediate.getShiftTextureBinding(); defaultResolver.baseImageBinding = intermediate.getShiftImageBinding(); defaultResolver.baseUboBinding = intermediate.getShiftUboBinding(); + defaultResolver.baseSsboBinding = intermediate.getShiftSsboBinding(); defaultResolver.doAutoMapping = intermediate.getAutoMapBindings(); resolver = &defaultResolver; } - TVarLiveMap varMap; - TVarGatherTraverser iter_binding_all(intermediate, varMap, true); - TVarGatherTraverser iter_binding_live(intermediate, varMap, false); + TVarLiveMap inVarMap, outVarMap, uniformVarMap; + TVarGatherTraverser iter_binding_all(intermediate, true, inVarMap, outVarMap, uniformVarMap); + TVarGatherTraverser iter_binding_live(intermediate, false, inVarMap, outVarMap, uniformVarMap); root->traverse(&iter_binding_all); iter_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str()); @@ -388,16 +513,19 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate &intermediate, TInfoSi } // sort entries by priority. see TVarEntryInfo::TOrderByPriority for info. - std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderByPriority()); + std::sort(uniformVarMap.begin(), uniformVarMap.end(), TVarEntryInfo::TOrderByPriority()); bool hadError = false; - TResolverAdaptor doResolve(stage, *resolver, infoSink, hadError); - std::for_each(varMap.begin(), varMap.end(), doResolve); + TResolverUniformAdaptor uniformResolve(stage, *resolver, infoSink, hadError, intermediate); + TResolverInOutAdaptor inOutResolve(stage, *resolver, infoSink, hadError, intermediate); + std::for_each(inVarMap.begin(), inVarMap.end(), inOutResolve); + std::for_each(outVarMap.begin(), outVarMap.end(), inOutResolve); + std::for_each(uniformVarMap.begin(), uniformVarMap.end(), uniformResolve); if (!hadError) { // sort by id again, so we can use lower bound to find entries - std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderById()); - TVarSetTraverser iter_iomap(intermediate, varMap); + std::sort(uniformVarMap.begin(), uniformVarMap.end(), TVarEntryInfo::TOrderById()); + TVarSetTraverser iter_iomap(intermediate, inVarMap, outVarMap, uniformVarMap); root->traverse(&iter_iomap); } diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h index 29efb54c9bc..5460dd5f9dc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h @@ -174,6 +174,7 @@ public: shiftTextureBinding(0), shiftImageBinding(0), shiftUboBinding(0), + shiftSsboBinding(0), autoMapBindings(false), flattenUniformArrays(false), useUnknownFormat(false) @@ -207,6 +208,8 @@ public: unsigned int getShiftImageBinding() const { return shiftImageBinding; } void setShiftUboBinding(unsigned int shift) { shiftUboBinding = shift; } unsigned int getShiftUboBinding() const { return shiftUboBinding; } + void setShiftSsboBinding(unsigned int shift) { shiftSsboBinding = shift; } + unsigned int getShiftSsboBinding() const { return shiftSsboBinding; } void setAutoMapBindings(bool map) { autoMapBindings = map; } bool getAutoMapBindings() const { return autoMapBindings; } void setFlattenUniformArrays(bool flatten) { flattenUniformArrays = flatten; } @@ -263,6 +266,7 @@ public: TIntermConstantUnion* addConstantUnion(unsigned long long, const TSourceLoc&, bool literal = false) const; TIntermConstantUnion* addConstantUnion(bool, const TSourceLoc&, bool literal = false) const; TIntermConstantUnion* addConstantUnion(double, TBasicType, const TSourceLoc&, bool literal = false) const; + TIntermConstantUnion* addConstantUnion(const TString*, const TSourceLoc&, bool literal = false) const; TIntermTyped* promoteConstantUnion(TBasicType, TIntermConstantUnion*) const; bool parseConstTree(TIntermNode*, TConstUnionArray, TOperator, const TType&, bool singleConstantParam = false); TIntermLoop* addLoop(TIntermNode*, TIntermTyped*, TIntermTyped*, bool testFirst, const TSourceLoc&); @@ -419,6 +423,13 @@ public: bool getGeoPassthroughEXT() const { return geoPassthroughEXT; } #endif + const char* addSemanticName(const TString& name) + { + return semanticNameSet.insert(name).first->c_str(); + } + + const char* const implicitThisName = "@this"; + protected: TIntermSymbol* addSymbol(int Id, const TString&, const TType&, const TConstUnionArray&, TIntermTyped* subtree, const TSourceLoc&); void error(TInfoSink& infoSink, const char*); @@ -440,6 +451,7 @@ protected: bool promoteAggregate(TIntermAggregate&); void pushSelector(TIntermSequence&, const TVectorSelector&, const TSourceLoc&); void pushSelector(TIntermSequence&, const TMatrixSelector&, const TSourceLoc&); + bool specConstantPropagates(const TIntermTyped&, const TIntermTyped&); const EShLanguage language; // stage, known at construction time EShSource source; // source language, known a bit later @@ -483,6 +495,7 @@ protected: unsigned int shiftTextureBinding; unsigned int shiftImageBinding; unsigned int shiftUboBinding; + unsigned int shiftSsboBinding; bool autoMapBindings; bool flattenUniformArrays; bool useUnknownFormat; @@ -495,6 +508,7 @@ protected: std::vector usedAtomics; // sets of bindings used by atomic counters std::vector xfbBuffers; // all the data we need to track per xfb buffer std::unordered_set usedConstantId; // specialization constant ids used + std::set semanticNameSet; private: void operator=(TIntermediate&); // prevent assignments diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp index abce3b5648d..590290bbd90 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -148,10 +148,10 @@ int TPpContext::CPPdefine(TPpToken* ppToken) // record the definition of the macro TSourceLoc defineLoc = ppToken->loc; // because ppToken is going to go to the next line before we report errors while (token != '\n' && token != EndOfInput) { - RecordToken(mac.body, token, ppToken); + mac.body.putToken(token, ppToken); token = scanToken(ppToken); if (token != '\n' && ppToken->space) - RecordToken(mac.body, ' ', ppToken); + mac.body.putToken(' ', ppToken); } // check for duplicate definition @@ -166,15 +166,15 @@ int TPpContext::CPPdefine(TPpToken* ppToken) else { if (existing->args != mac.args) parseContext.ppError(defineLoc, "Macro redefined; different argument names:", "#define", atomStrings.getString(defAtom)); - RewindTokenStream(existing->body); - RewindTokenStream(mac.body); + existing->body.reset(); + mac.body.reset(); int newToken; do { int oldToken; TPpToken oldPpToken; TPpToken newPpToken; - oldToken = ReadToken(existing->body, &oldPpToken); - newToken = ReadToken(mac.body, &newPpToken); + oldToken = existing->body.getToken(parseContext, &oldPpToken); + newToken = mac.body.getToken(parseContext, &newPpToken); if (oldToken != newToken || oldPpToken != newPpToken) { parseContext.ppError(defineLoc, "Macro redefined; different substitutions:", "#define", atomStrings.getString(defAtom)); break; @@ -979,28 +979,18 @@ int TPpContext::scanHeaderName(TPpToken* ppToken, char delimit) // Returns nullptr if no expanded argument is created. TPpContext::TokenStream* TPpContext::PrescanMacroArg(TokenStream& arg, TPpToken* ppToken, bool newLineOkay) { - // pre-check, to see if anything in the argument needs to be expanded, - // to see if we can kick out early - int token; - RewindTokenStream(arg); - do { - token = ReadToken(arg, ppToken); - if (token == PpAtomIdentifier && lookupMacroDef(atomStrings.getAtom(ppToken->name)) != nullptr) - break; - } while (token != EndOfInput); - - // if nothing needs to be expanded, kick out early - if (token == EndOfInput) - return nullptr; - // expand the argument TokenStream* expandedArg = new TokenStream; pushInput(new tMarkerInput(this)); pushTokenStreamInput(arg); + int token; while ((token = scanToken(ppToken)) != tMarkerInput::marker && token != EndOfInput) { + token = tokenPaste(token, *ppToken); + if (token == tMarkerInput::marker || token == EndOfInput) + break; if (token == PpAtomIdentifier && MacroExpand(ppToken, false, newLineOkay) != 0) continue; - RecordToken(*expandedArg, token, ppToken); + expandedArg->putToken(token, ppToken); } if (token == EndOfInput) { @@ -1023,7 +1013,7 @@ int TPpContext::tMacroInput::scan(TPpToken* ppToken) { int token; do { - token = pp->ReadToken(mac->body, ppToken); + token = mac->body.getToken(pp->parseContext, ppToken); } while (token == ' '); // handle white space in macro // Hash operators basically turn off a round of macro substitution @@ -1054,7 +1044,7 @@ int TPpContext::tMacroInput::scan(TPpToken* ppToken) } // see if are preceding a ## - if (peekMacPasting()) { + if (mac->body.peekUntokenizedPasting()) { prepaste = true; pasting = true; } @@ -1062,7 +1052,7 @@ int TPpContext::tMacroInput::scan(TPpToken* ppToken) // TODO: preprocessor: properly handle whitespace (or lack of it) between tokens when expanding if (token == PpAtomIdentifier) { int i; - for (i = mac->args.size() - 1; i >= 0; i--) + for (i = (int)mac->args.size() - 1; i >= 0; i--) if (strcmp(pp->atomStrings.getString(mac->args[i]), ppToken->name) == 0) break; if (i >= 0) { @@ -1081,31 +1071,6 @@ int TPpContext::tMacroInput::scan(TPpToken* ppToken) return token; } -// See if the next non-white-space token in the macro is ## -bool TPpContext::tMacroInput::peekMacPasting() -{ - // don't return early, have to restore this - size_t savePos = mac->body.current; - - // skip white-space - int ltoken; - do { - ltoken = pp->lReadByte(mac->body); - } while (ltoken == ' '); - - // check for ## - bool pasting = false; - if (ltoken == '#') { - ltoken = pp->lReadByte(mac->body); - if (ltoken == '#') - pasting = true; - } - - mac->body.current = savePos; - - return pasting; -} - // return a textual zero, for scanning a macro that was never defined int TPpContext::tZeroInput::scan(TPpToken* ppToken) { @@ -1230,7 +1195,7 @@ int TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOka depth++; if (token == ')') depth--; - RecordToken(*in->args[arg], token, ppToken); + in->args[arg]->putToken(token, ppToken); tokenRecorded = true; } if (token == ')') { @@ -1263,14 +1228,14 @@ int TPpContext::MacroExpand(TPpToken* ppToken, bool expandUndef, bool newLineOka } // We need both expanded and non-expanded forms of the argument, for whether or - // not token pasting is in play. + // not token pasting will be applied later when the argument is consumed next to ##. for (size_t i = 0; i < in->mac->args.size(); i++) in->expandedArgs[i] = PrescanMacroArg(*in->args[i], ppToken, newLineOkay); } pushInput(in); macro->busy = 1; - RewindTokenStream(macro->body); + macro->body.reset(); return 1; } diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp index c4904033af5..52df3b025de 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp @@ -120,6 +120,8 @@ const struct { { PpAtomDecrement, "--" }, { PpAtomIncrement, "++" }, + { PpAtomColonColon, "::" }, + { PpAtomDefine, "define" }, { PpAtomUndef, "undef" }, { PpAtomIf, "if" }, diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpContext.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpContext.h index 15e54b79f0b..f1c41abd38d 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpContext.h @@ -220,8 +220,26 @@ public: inputStack.pop_back(); } - struct TokenStream { + // + // From PpTokens.cpp + // + + class TokenStream { + public: TokenStream() : current(0) { } + + void putToken(int token, TPpToken* ppToken); + int getToken(TParseContextBase&, TPpToken*); + bool atEnd() { return current >= data.size(); } + bool peekTokenizedPasting(bool lastTokenPastes); + bool peekUntokenizedPasting(); + void reset() { current = 0; } + + protected: + void putSubtoken(char); + int getSubtoken(); + void ungetSubtoken(); + TVector data; size_t current; }; @@ -306,14 +324,13 @@ protected: virtual int getch() override { assert(0); return EndOfInput; } virtual void ungetch() override { assert(0); } bool peekPasting() override { return prepaste; } - bool endOfReplacementList() override { return mac->body.current >= mac->body.data.size(); } + bool endOfReplacementList() override { return mac->body.atEnd(); } MacroSymbol *mac; TVector args; TVector expandedArgs; protected: - bool peekMacPasting(); bool prepaste; // true if we are just before ## bool postpaste; // true if we are right after ## }; @@ -375,22 +392,16 @@ protected: // // From PpTokens.cpp // - void lAddByte(TokenStream&, unsigned char fVal); - int lReadByte(TokenStream&); - void lUnreadByte(TokenStream&); - void RecordToken(TokenStream&, int token, TPpToken* ppToken); - void RewindTokenStream(TokenStream&); - int ReadToken(TokenStream&, TPpToken*); void pushTokenStreamInput(TokenStream&, bool pasting = false); void UngetToken(int token, TPpToken*); class tTokenInput : public tInput { public: tTokenInput(TPpContext* pp, TokenStream* t, bool prepasting) : tInput(pp), tokens(t), lastTokenPastes(prepasting) { } - virtual int scan(TPpToken *) override; + virtual int scan(TPpToken *ppToken) override { return tokens->getToken(pp->parseContext, ppToken); } virtual int getch() override { assert(0); return EndOfInput; } virtual void ungetch() override { assert(0); } - virtual bool peekPasting() override; + virtual bool peekPasting() override { return tokens->peekTokenizedPasting(lastTokenPastes); } protected: TokenStream* tokens; bool lastTokenPastes; // true if the last token in the input is to be pasted, rather than consumed as a token diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp index 83e6c89cc42..b9e7a5b542e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp @@ -101,9 +101,16 @@ int TPpContext::lFloatConst(int len, int ch, TPpToken* ppToken) { bool HasDecimalOrExponent = false; int isDouble = 0; + bool generateFloat16 = false; + bool acceptFloat16 = parseContext.intermediate.getSource() == EShSourceHlsl; + bool isFloat16 = false; + bool requireHF = false; #ifdef AMD_EXTENSIONS - int isFloat16 = 0; - bool enableFloat16 = parseContext.version >= 450 && parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float); + if (parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float)) { + acceptFloat16 = true; + generateFloat16 = true; + requireHF = true; + } #endif const auto saveName = [&](int ch) { @@ -158,21 +165,27 @@ int TPpContext::lFloatConst(int len, int ch, TPpToken* ppToken) saveName(ch2); isDouble = 1; } + } else if (acceptFloat16 && (ch == 'h' || ch == 'H')) { #ifdef AMD_EXTENSIONS - } else if (enableFloat16 && (ch == 'h' || ch == 'H')) { - parseContext.float16Check(ppToken->loc, "half floating-point suffix"); + if (generateFloat16) + parseContext.float16Check(ppToken->loc, "half floating-point suffix"); +#endif if (!HasDecimalOrExponent) parseContext.ppError(ppToken->loc, "float literal needs a decimal point or exponent", "", ""); - int ch2 = getChar(); - if (ch2 != 'f' && ch2 != 'F') { - ungetChar(); - ungetChar(); + if (requireHF) { + int ch2 = getChar(); + if (ch2 != 'f' && ch2 != 'F') { + ungetChar(); + ungetChar(); + } else { + saveName(ch); + saveName(ch2); + isFloat16 = generateFloat16; + } } else { saveName(ch); - saveName(ch2); - isFloat16 = 1; + isFloat16 = generateFloat16; } -#endif } else if (ch == 'f' || ch == 'F') { parseContext.profileRequires(ppToken->loc, EEsProfile, 300, nullptr, "floating-point suffix"); if (! parseContext.relaxedErrors()) @@ -197,10 +210,8 @@ int TPpContext::lFloatConst(int len, int ch, TPpToken* ppToken) // Return the right token type if (isDouble) return PpAtomConstDouble; -#ifdef AMD_EXTENSIONS else if (isFloat16) return PpAtomConstFloat16; -#endif else return PpAtomConstFloat; } @@ -216,6 +227,15 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) int ii = 0; unsigned long long ival = 0; bool enableInt64 = pp->parseContext.version >= 450 && pp->parseContext.extensionTurnedOn(E_GL_ARB_gpu_shader_int64); + bool acceptHalf = pp->parseContext.intermediate.getSource() == EShSourceHlsl; +#ifdef AMD_EXTENSIONS + if (pp->parseContext.extensionTurnedOn(E_GL_AMD_gpu_shader_half_float)) + acceptHalf = true; +#endif + + const auto floatingPointChar = [&](int ch) { return ch == '.' || ch == 'e' || ch == 'E' || + ch == 'f' || ch == 'F' || + (acceptHalf && (ch == 'h' || ch == 'H')); }; ppToken->ival = 0; ppToken->i64val = 0; @@ -232,6 +252,8 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) switch (ch) { default: // Single character token, including EndOfInput, '#' and '\' (escaped newlines are handled at a lower level, so this is just a '\' token) + if (ch > PpAtomMaxSingle) + ch = PpAtomBadToken; return ch; case 'A': case 'B': case 'C': case 'D': case 'E': @@ -378,7 +400,7 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) ch = getch(); } while (ch >= '0' && ch <= '9'); } - if (ch == '.' || ch == 'e' || ch == 'f' || ch == 'E' || ch == 'F') + if (floatingPointChar(ch)) return pp->lFloatConst(len, ch, ppToken); // wasn't a float, so must be octal... @@ -433,9 +455,9 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) } ch = getch(); } while (ch >= '0' && ch <= '9'); - if (ch == '.' || ch == 'e' || ch == 'f' || ch == 'E' || ch == 'F') { + if (floatingPointChar(ch)) return pp->lFloatConst(len, ch, ppToken); - } else { + else { // Finish handling signed and unsigned integers int numericLen = len; bool isUnsigned = false; @@ -669,6 +691,12 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) pp->parseContext.ppError(ppToken->loc, "End of line in string", "string", ""); } return PpAtomConstString; + case ':': + ch = getch(); + if (ch == ':') + return PpAtomColonColon; + ungetch(); + return ':'; } ch = getch(); diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp index f0441b7f8d2..7fa06a5a4a8 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp @@ -95,48 +95,45 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace glslang { -void TPpContext::lAddByte(TokenStream& fTok, unsigned char fVal) +// push onto back of stream +void TPpContext::TokenStream::putSubtoken(char subtoken) { - fTok.data.push_back(fVal); + data.push_back(static_cast(subtoken)); } -/* -* Get the next byte from a stream. -*/ -int TPpContext::lReadByte(TokenStream& pTok) +// get the next token in stream +int TPpContext::TokenStream::getSubtoken() { - if (pTok.current < pTok.data.size()) - return pTok.data[pTok.current++]; + if (current < data.size()) + return data[current++]; else return EndOfInput; } -void TPpContext::lUnreadByte(TokenStream& pTok) +// back up one position in the stream +void TPpContext::TokenStream::ungetSubtoken() { - if (pTok.current > 0) - --pTok.current; + if (current > 0) + --current; } -/* -* Add a token to the end of a list for later playback. -*/ -void TPpContext::RecordToken(TokenStream& pTok, int token, TPpToken* ppToken) +// Add a complete token (including backing string) to the end of a list +// for later playback. +void TPpContext::TokenStream::putToken(int token, TPpToken* ppToken) { const char* s; char* str = NULL; - if (token > PpAtomMaxSingle) - lAddByte(pTok, (unsigned char)((token & 0x7f) + 0x80)); - else - lAddByte(pTok, (unsigned char)(token & 0x7f)); + assert((token & ~0xff) == 0); + putSubtoken(static_cast(token)); switch (token) { case PpAtomIdentifier: case PpAtomConstString: s = ppToken->name; while (*s) - lAddByte(pTok, (unsigned char) *s++); - lAddByte(pTok, 0); + putSubtoken(*s++); + putSubtoken(0); break; case PpAtomConstInt: case PpAtomConstUint: @@ -149,46 +146,35 @@ void TPpContext::RecordToken(TokenStream& pTok, int token, TPpToken* ppToken) #endif str = ppToken->name; while (*str) { - lAddByte(pTok, (unsigned char) *str); + putSubtoken(*str); str++; } - lAddByte(pTok, 0); + putSubtoken(0); break; default: break; } } -/* -* Reset a token stream in preparation for reading. -*/ -void TPpContext::RewindTokenStream(TokenStream& pTok) +// Read the next token from a token stream. +// (Not the source stream, but a stream used to hold a tokenized macro). +int TPpContext::TokenStream::getToken(TParseContextBase& parseContext, TPpToken *ppToken) { - pTok.current = 0; -} - -/* -* Read the next token from a token stream (not the source stream, but stream used to hold a tokenized macro). -*/ -int TPpContext::ReadToken(TokenStream& pTok, TPpToken *ppToken) -{ - int ltoken, len; + int len; int ch; - ltoken = lReadByte(pTok); + int subtoken = getSubtoken(); ppToken->loc = parseContext.getCurrentLoc(); - if (ltoken > 127) - ltoken += 128; - switch (ltoken) { + switch (subtoken) { case '#': // Check for ##, unless the current # is the last character - if (pTok.current < pTok.data.size()) { - if (lReadByte(pTok) == '#') { + if (current < data.size()) { + if (getSubtoken() == '#') { parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)"); parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)"); - ltoken = PpAtomPaste; + subtoken = PpAtomPaste; } else - lUnreadByte(pTok); + ungetSubtoken(); } break; case PpAtomConstString: @@ -203,12 +189,12 @@ int TPpContext::ReadToken(TokenStream& pTok, TPpToken *ppToken) case PpAtomConstInt64: case PpAtomConstUint64: len = 0; - ch = lReadByte(pTok); + ch = getSubtoken(); while (ch != 0 && ch != EndOfInput) { if (len < MaxTokenLength) { ppToken->name[len] = (char)ch; len++; - ch = lReadByte(pTok); + ch = getSubtoken(); } else { parseContext.error(ppToken->loc, "token too long", "", ""); break; @@ -216,7 +202,7 @@ int TPpContext::ReadToken(TokenStream& pTok, TPpToken *ppToken) } ppToken->name[len] = 0; - switch (ltoken) { + switch (subtoken) { case PpAtomIdentifier: break; case PpAtomConstString: @@ -267,43 +253,80 @@ int TPpContext::ReadToken(TokenStream& pTok, TPpToken *ppToken) } } - return ltoken; + return subtoken; } -int TPpContext::tTokenInput::scan(TPpToken* ppToken) +// We are pasting if +// 1. we are preceding a pasting operator within this stream +// or +// 2. the entire macro is preceding a pasting operator (lastTokenPastes) +// and we are also on the last token +bool TPpContext::TokenStream::peekTokenizedPasting(bool lastTokenPastes) { - return pp->ReadToken(*tokens, ppToken); -} + // 1. preceding ##? + + size_t savePos = current; + int subtoken; + // skip white space + do { + subtoken = getSubtoken(); + } while (subtoken == ' '); + current = savePos; + if (subtoken == PpAtomPaste) + return true; + + // 2. last token and we've been told after this there will be a ## -// We are pasting if the entire macro is preceding a pasting operator -// (lastTokenPastes) and we are also on the last token. -bool TPpContext::tTokenInput::peekPasting() -{ if (! lastTokenPastes) return false; - // Getting here means the last token will be pasted. + // Getting here means the last token will be pasted, after this // Are we at the last non-whitespace token? - size_t savePos = tokens->current; + savePos = current; bool moreTokens = false; do { - int byte = pp->lReadByte(*tokens); - if (byte == EndOfInput) + subtoken = getSubtoken(); + if (subtoken == EndOfInput) break; - if (byte != ' ') { + if (subtoken != ' ') { moreTokens = true; break; } } while (true); - tokens->current = savePos; + current = savePos; return !moreTokens; } +// See if the next non-white-space tokens are two consecutive # +bool TPpContext::TokenStream::peekUntokenizedPasting() +{ + // don't return early, have to restore this + size_t savePos = current; + + // skip white-space + int subtoken; + do { + subtoken = getSubtoken(); + } while (subtoken == ' '); + + // check for ## + bool pasting = false; + if (subtoken == '#') { + subtoken = getSubtoken(); + if (subtoken == '#') + pasting = true; + } + + current = savePos; + + return pasting; +} + void TPpContext::pushTokenStreamInput(TokenStream& ts, bool prepasting) { pushInput(new tTokenInput(this, &ts, prepasting)); - RewindTokenStream(ts); + ts.reset(); } int TPpContext::tUngotTokenInput::scan(TPpToken* ppToken) diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h index 3b1367f3b42..ee442d68e75 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h @@ -82,7 +82,11 @@ namespace glslang { // Multi-character tokens enum EFixedAtoms { - PpAtomMaxSingle = 256, // single character tokens get their own char value as their token, skip them + // single character tokens get their own char value as their token; start here for multi-character tokens + PpAtomMaxSingle = 127, + + // replace bad character tokens with this, to avoid accidental aliasing with the below + PpAtomBadToken, // Operators @@ -113,6 +117,8 @@ enum EFixedAtoms { PpAtomDecrement, PpAtomIncrement, + PpAtomColonColon, + PpAtomPaste, // Constants @@ -123,9 +129,7 @@ enum EFixedAtoms { PpAtomConstUint64, PpAtomConstFloat, PpAtomConstDouble, -#ifdef AMD_EXTENSIONS PpAtomConstFloat16, -#endif PpAtomConstString, // Identifiers diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp index 688827da982..f3f28f026c5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp @@ -696,14 +696,27 @@ void TReflectionTraverser::visitSymbol(TIntermSymbol* base) // Implement TReflection methods. // +// Track any required attribute reflection, such as compute shader numthreads. +// +void TReflection::buildAttributeReflection(EShLanguage stage, const TIntermediate& intermediate) +{ + if (stage == EShLangCompute) { + // Remember thread dimensions + for (int dim=0; dim<3; ++dim) + localSize[dim] = intermediate.getLocalSize(dim); + } +} + // Merge live symbols from 'intermediate' into the existing reflection database. // // Returns false if the input is too malformed to do this. -bool TReflection::addStage(EShLanguage, const TIntermediate& intermediate) +bool TReflection::addStage(EShLanguage stage, const TIntermediate& intermediate) { if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive()) return false; + buildAttributeReflection(stage, intermediate); + TReflectionTraverser it(intermediate, *this); // put the entry point on the list of functions to process @@ -736,6 +749,16 @@ void TReflection::dump() indexToAttribute[i].dump(); printf("\n"); + if (getLocalSize(0) > 1) { + static const char* axis[] = { "X", "Y", "Z" }; + + for (int dim=0; dim<3; ++dim) + if (getLocalSize(dim) > 1) + printf("Local size %s: %d\n", axis[dim], getLocalSize(dim)); + + printf("\n"); + } + // printf("Live names\n"); // for (TNameToIndex::const_iterator it = nameToIndex.begin(); it != nameToIndex.end(); ++it) // printf("%s: %d\n", it->first.c_str(), it->second); diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.h b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.h index bae131cfdb3..c80d3ea90e7 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/MachineIndependent/reflection.h @@ -89,7 +89,12 @@ protected: // The full reflection database class TReflection { public: - TReflection() : badReflection(TObjectReflection::badReflection()) { } + TReflection() : badReflection(TObjectReflection::badReflection()) + { + for (int dim=0; dim<3; ++dim) + localSize[dim] = 0; + } + virtual ~TReflection() {} // grow the reflection stage by stage @@ -135,11 +140,16 @@ public: return it->second; } + // Thread local size + unsigned getLocalSize(int dim) const { return dim <= 2 ? localSize[dim] : 0; } + void dump(); protected: friend class glslang::TReflectionTraverser; + void buildAttributeReflection(EShLanguage, const TIntermediate&); + // Need a TString hash: typedef std::unordered_map TNameToIndex; typedef std::map TNameToIndex; typedef std::vector TMapIndexToReflection; @@ -149,6 +159,8 @@ protected: TMapIndexToReflection indexToUniform; TMapIndexToReflection indexToUniformBlock; TMapIndexToReflection indexToAttribute; + + unsigned int localSize[3]; }; } // end namespace glslang diff --git a/3rdparty/bgfx/3rdparty/glslang/glslang/Public/ShaderLang.h b/3rdparty/bgfx/3rdparty/glslang/glslang/Public/ShaderLang.h index d2f4e1b5c4e..8d8abd777bc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/glslang/Public/ShaderLang.h +++ b/3rdparty/bgfx/3rdparty/glslang/glslang/Public/ShaderLang.h @@ -203,14 +203,6 @@ SH_IMPORT_EXPORT int ShCompile( EShMessages messages = EShMsgDefault // warnings and errors ); -SH_IMPORT_EXPORT int ShLink( - const ShHandle, // linker object - const ShHandle h[], // compiler objects to link together - const int numHandles, - ShHandle uniformMap, // updated with new uniforms - short int** uniformsAccessed, // returned with indexes of uniforms accessed - int* numUniformsAccessed); - SH_IMPORT_EXPORT int ShLinkExt( const ShHandle, // linker object const ShHandle h[], // compiler objects to link together @@ -310,6 +302,7 @@ public: void setShiftTextureBinding(unsigned int base); void setShiftImageBinding(unsigned int base); void setShiftUboBinding(unsigned int base); + void setShiftSsboBinding(unsigned int base); void setAutoMapBindings(bool map); void setFlattenUniformArrays(bool flatten); void setNoStorageFormat(bool useUnknownFormat); @@ -459,10 +452,12 @@ class TIoMapper; // and resolveSet are invoked to resolve the binding and descriptor // set index respectively. // Invocations happen in a particular order: -// 1) var with binding and set already defined -// 2) var with binding but no set defined -// 3) var with set but no binding defined -// 4) var with no binding and no set defined +// 1) all shader inputs +// 2) all shader outputs +// 3) all uniforms with binding and set already defined +// 4) all uniforms with binding but no set defined +// 5) all uniforms with set but no binding defined +// 6) all uniforms with no binding and no set defined // // NOTE: that still limit checks are applied to bindings and sets // and may result in an error. @@ -480,6 +475,18 @@ public: // Should return a value >= 0 if the current set should be overriden. // Return -1 if the current set (including no set) should be kept. virtual int resolveSet(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return true if the resuling/current setup would be ok. + // Basic idea is to do aliasing checks and reject invalid semantic names. + virtual bool validateInOut(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return a value >= 0 if the current location should be overriden. + // Return -1 if the current location (including no location) should be kept. + virtual int resolveInOutLocation(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return a value >= 0 if the current component index should be overriden. + // Return -1 if the current component index (including no index) should be kept. + virtual int resolveInOutComponent(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return a value >= 0 if the current color index should be overriden. + // Return -1 if the current color index (including no index) should be kept. + virtual int resolveInOutIndex(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; }; // Make one TProgram per set of shaders that will get linked together. Add all @@ -514,6 +521,7 @@ public: int getUniformBufferOffset(int index) const; // can be used for glGetActiveUniformsiv(GL_UNIFORM_OFFSET) int getUniformArraySize(int index) const; // can be used for glGetActiveUniformsiv(GL_UNIFORM_SIZE) int getNumLiveAttributes() const; // can be used for glGetProgramiv(GL_ACTIVE_ATTRIBUTES) + unsigned getLocalSize(int dim) const; // return dim'th local size const char *getAttributeName(int index) const; // can be used for glGetActiveAttrib() int getAttributeType(int index) const; // can be used for glGetActiveAttrib() const TType* getUniformTType(int index) const; // returns a TType* diff --git a/3rdparty/bgfx/3rdparty/glslang/gtests/Hlsl.FromFile.cpp b/3rdparty/bgfx/3rdparty/glslang/gtests/Hlsl.FromFile.cpp index b703398cfed..0b68aeab827 100644 --- a/3rdparty/bgfx/3rdparty/glslang/gtests/Hlsl.FromFile.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/gtests/Hlsl.FromFile.cpp @@ -100,6 +100,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.depthLess.frag", "PixelShaderFunction"}, {"hlsl.discard.frag", "PixelShaderFunction"}, {"hlsl.doLoop.frag", "PixelShaderFunction"}, + {"hlsl.emptystructreturn.frag", "main"}, + {"hlsl.emptystructreturn.vert", "main"}, {"hlsl.entry-in.frag", "PixelShaderFunction"}, {"hlsl.entry-out.frag", "PixelShaderFunction"}, {"hlsl.float1.frag", "PixelShaderFunction"}, @@ -111,6 +113,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.gather.basic.dx10.vert", "main"}, {"hlsl.gather.offset.dx10.frag", "main"}, {"hlsl.gather.offsetarray.dx10.frag", "main"}, + {"hlsl.gathercmpRGBA.offset.dx10.frag", "main"}, {"hlsl.gatherRGBA.array.dx10.frag", "main"}, {"hlsl.gatherRGBA.basic.dx10.frag", "main"}, {"hlsl.gatherRGBA.offset.dx10.frag", "main"}, @@ -119,6 +122,9 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.getdimensions.rw.dx10.frag", "main"}, {"hlsl.getdimensions.dx10.vert", "main"}, {"hlsl.getsampleposition.dx10.frag", "main"}, + {"hlsl.hull.1.tesc", "main"}, + {"hlsl.hull.2.tesc", "main"}, + {"hlsl.hull.void.tesc", "main"}, {"hlsl.identifier.sample.frag", "main"}, {"hlsl.if.frag", "PixelShaderFunction"}, {"hlsl.inoutquals.frag", "main"}, @@ -129,7 +135,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.intrinsics.evalfns.frag", "main"}, {"hlsl.intrinsics.d3dcolortoubyte4.frag", "main"}, {"hlsl.intrinsics.double.frag", "PixelShaderFunction"}, - {"hlsl.intrinsics.f1632.frag", "PixelShaderFunction"}, + {"hlsl.intrinsics.f1632.frag", "main"}, + {"hlsl.intrinsics.f3216.frag", "main"}, {"hlsl.intrinsics.frag", "main"}, {"hlsl.intrinsics.lit.frag", "PixelShaderFunction"}, {"hlsl.intrinsics.negative.comp", "ComputeShaderFunction"}, @@ -159,6 +166,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.multiEntry.vert", "RealEntrypoint"}, {"hlsl.multiReturn.frag", "main"}, {"hlsl.matrixindex.frag", "main"}, + {"hlsl.nonstaticMemberFunction.frag", "main"}, {"hlsl.numericsuffixes.frag", "main"}, {"hlsl.numthreads.comp", "main_aux1"}, {"hlsl.overload.frag", "PixelShaderFunction"}, @@ -207,6 +215,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.semicolons.frag", "main"}, {"hlsl.shapeConv.frag", "main"}, {"hlsl.shapeConvRet.frag", "main"}, + {"hlsl.staticMemberFunction.frag", "main"}, {"hlsl.stringtoken.frag", "main"}, {"hlsl.string.frag", "main"}, {"hlsl.struct.split-1.vert", "main"}, @@ -218,7 +227,17 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.struct.split.trivial.vert", "main"}, {"hlsl.structarray.flatten.frag", "main"}, {"hlsl.structarray.flatten.geom", "main"}, + {"hlsl.structbuffer.frag", "main"}, + {"hlsl.structbuffer.atomics.frag", "main"}, + {"hlsl.structbuffer.byte.frag", "main"}, + {"hlsl.structbuffer.coherent.frag", "main"}, + {"hlsl.structbuffer.fn.frag", "main"}, + {"hlsl.structbuffer.rw.frag", "main"}, + {"hlsl.structbuffer.rwbyte.frag", "main"}, {"hlsl.structin.vert", "main"}, + {"hlsl.structIoFourWay.frag", "main"}, + {"hlsl.structStructName.frag", "main"}, + {"hlsl.this.frag", "main"}, {"hlsl.intrinsics.vert", "VertexShaderFunction"}, {"hlsl.matType.frag", "PixelShaderFunction"}, {"hlsl.matType.bool.frag", "main"}, @@ -226,6 +245,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.max.frag", "PixelShaderFunction"}, {"hlsl.precedence.frag", "PixelShaderFunction"}, {"hlsl.precedence2.frag", "PixelShaderFunction"}, + {"hlsl.semantic.geom", "main"}, + {"hlsl.semantic.vert", "main"}, {"hlsl.scope.frag", "PixelShaderFunction"}, {"hlsl.sin.frag", "PixelShaderFunction"}, {"hlsl.struct.frag", "PixelShaderFunction"}, @@ -235,6 +256,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.tx.bracket.frag", "main"}, {"hlsl.type.half.frag", "main"}, {"hlsl.type.identifier.frag", "main"}, + {"hlsl.typeGraphCopy.vert", "main"}, {"hlsl.typedef.frag", "PixelShaderFunction"}, {"hlsl.whileLoop.frag", "PixelShaderFunction"}, {"hlsl.void.frag", "PixelShaderFunction"}, diff --git a/3rdparty/bgfx/3rdparty/glslang/gtests/Spv.FromFile.cpp b/3rdparty/bgfx/3rdparty/glslang/gtests/Spv.FromFile.cpp index fc0ba06a66d..a8d4b017e79 100644 --- a/3rdparty/bgfx/3rdparty/glslang/gtests/Spv.FromFile.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/gtests/Spv.FromFile.cpp @@ -48,6 +48,7 @@ struct IoMapData { int baseTextureBinding; int baseImageBinding; int baseUboBinding; + int baseSsboBinding; bool autoMapBindings; bool flattenUniforms; }; @@ -129,6 +130,7 @@ TEST_P(HlslIoMap, FromFile) GetParam().baseTextureBinding, GetParam().baseImageBinding, GetParam().baseUboBinding, + GetParam().baseSsboBinding, GetParam().autoMapBindings, GetParam().flattenUniforms); } @@ -143,6 +145,7 @@ TEST_P(GlslIoMap, FromFile) GetParam().baseTextureBinding, GetParam().baseImageBinding, GetParam().baseUboBinding, + GetParam().baseSsboBinding, GetParam().autoMapBindings, GetParam().flattenUniforms); } @@ -207,6 +210,8 @@ INSTANTIATE_TEST_CASE_P( "spv.430.frag", "spv.430.vert", "spv.450.tesc", + "spv.450.geom", + "spv.450.noRedecl.tesc", "spv.accessChain.frag", "spv.aggOps.frag", "spv.always-discard.frag", @@ -222,16 +227,21 @@ INSTANTIATE_TEST_CASE_P( "spv.dataOutIndirect.vert", "spv.deepRvalue.frag", "spv.depthOut.frag", + "spv.deviceGroup.frag", "spv.discard-dce.frag", + "spv.drawParams.vert", "spv.doWhileLoop.frag", "spv.earlyReturnDiscard.frag", "spv.flowControl.frag", "spv.forLoop.frag", "spv.forwardFun.frag", "spv.functionCall.frag", + "spv.functionNestedOpaque.vert", "spv.functionSemantics.frag", + "spv.GeometryShaderPassthrough.geom", "spv.interpOps.frag", "spv.int64.frag", + "spv.intOps.vert", "spv.layoutNested.vert", "spv.length.frag", "spv.localAggregates.frag", @@ -244,16 +254,17 @@ INSTANTIATE_TEST_CASE_P( "spv.merge-unreachable.frag", "spv.multiStruct.comp", "spv.multiStructFuncall.frag", + "spv.multiView.frag", "spv.newTexture.frag", "spv.noDeadDecorations.vert", "spv.nonSquare.vert", + "spv.noWorkgroup.comp", "spv.offsets.frag", "spv.Operations.frag", - "spv.intOps.vert", - "spv.noWorkgroup.comp", "spv.precision.frag", "spv.prepost.frag", "spv.qualifiers.vert", + "spv.sampleMaskOverrideCoverage.frag", "spv.shaderBallot.comp", "spv.shaderDrawParams.vert", "spv.shaderGroupVote.comp", @@ -286,6 +297,7 @@ INSTANTIATE_TEST_CASE_P( "spv.separate.frag", "spv.shortCircuit.frag", "spv.pushConstant.vert", + "spv.pushConstantAnon.vert", "spv.subpass.frag", "spv.specConstant.vert", "spv.specConstant.comp", @@ -301,15 +313,16 @@ INSTANTIATE_TEST_CASE_P( INSTANTIATE_TEST_CASE_P( Hlsl, HlslIoMap, ::testing::ValuesIn(std::vector{ - { "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, true, false }, - { "spv.register.noautoassign.frag", "main_ep", 5, 10, 0, 15, false, false }, - { "spv.register.autoassign-2.frag", "main", 5, 10, 0, 15, true, true }, - { "spv.buffer.autoassign.frag", "main", 5, 10, 0, 15, true, true }, - { "spv.rw.autoassign.frag", "main", 5, 10, 20, 15, true, true }, + { "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, 30, true, false }, + { "spv.register.noautoassign.frag", "main_ep", 5, 10, 0, 15, 30, false, false }, + { "spv.register.autoassign-2.frag", "main", 5, 10, 0, 15, 30, true, true }, + { "spv.buffer.autoassign.frag", "main", 5, 10, 0, 15, 30, true, true }, + { "spv.ssbo.autoassign.frag", "main", 5, 10, 0, 15, 30, true, true }, + { "spv.rw.autoassign.frag", "main", 5, 10, 20, 15, 30, true, true }, { "spv.register.autoassign.rangetest.frag", "main", glslang::TQualifier::layoutBindingEnd-2, glslang::TQualifier::layoutBindingEnd+5, - 20, true, false }, + 20, 30, true, false }, }), FileNameAsCustomTestSuffixIoMap ); @@ -318,8 +331,8 @@ INSTANTIATE_TEST_CASE_P( INSTANTIATE_TEST_CASE_P( Hlsl, GlslIoMap, ::testing::ValuesIn(std::vector{ - { "spv.glsl.register.autoassign.frag", "main", 5, 10, 0, 20, true, false }, - { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 0, 15, false, false }, + { "spv.glsl.register.autoassign.frag", "main", 5, 10, 0, 20, 30, true, false }, + { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 0, 15, 30, false, false }, }), FileNameAsCustomTestSuffixIoMap ); @@ -386,6 +399,8 @@ INSTANTIATE_TEST_CASE_P( "spv.viewportArray2.tesc", "spv.stereoViewRendering.vert", "spv.stereoViewRendering.tesc", + "spv.multiviewPerViewAttributes.vert", + "spv.multiviewPerViewAttributes.tesc", })), FileNameAsCustomTestSuffix ); diff --git a/3rdparty/bgfx/3rdparty/glslang/gtests/TestFixture.h b/3rdparty/bgfx/3rdparty/glslang/gtests/TestFixture.h index 6f4afc6613c..38ec54c63bc 100644 --- a/3rdparty/bgfx/3rdparty/glslang/gtests/TestFixture.h +++ b/3rdparty/bgfx/3rdparty/glslang/gtests/TestFixture.h @@ -241,6 +241,7 @@ public: int baseTextureBinding, int baseImageBinding, int baseUboBinding, + int baseSsboBinding, bool autoMapBindings, bool flattenUniformArrays) { @@ -251,6 +252,7 @@ public: shader.setShiftTextureBinding(baseTextureBinding); shader.setShiftImageBinding(baseImageBinding); shader.setShiftUboBinding(baseUboBinding); + shader.setShiftSsboBinding(baseSsboBinding); shader.setAutoMapBindings(autoMapBindings); shader.setFlattenUniformArrays(flattenUniformArrays); @@ -430,6 +432,7 @@ public: int baseTextureBinding, int baseImageBinding, int baseUboBinding, + int baseSsboBinding, bool autoMapBindings, bool flattenUniformArrays) { @@ -443,7 +446,8 @@ public: const EShMessages controls = DeriveOptions(source, semantics, target); GlslangResult result = compileLinkIoMap(testName, input, entryPointName, controls, - baseSamplerBinding, baseTextureBinding, baseImageBinding, baseUboBinding, + baseSamplerBinding, baseTextureBinding, baseImageBinding, + baseUboBinding, baseSsboBinding, autoMapBindings, flattenUniformArrays); diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslAttributes.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslAttributes.h index 820909b19be..ad44d2ab199 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslAttributes.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslAttributes.h @@ -60,6 +60,7 @@ namespace glslang { EatOutputTopology, EatPartitioning, EatPatchConstantFunc, + EatPatchSize, EatUnroll, }; } @@ -91,6 +92,16 @@ namespace glslang { std::unordered_map attributes; }; + + class TFunctionDeclarator { + public: + TFunctionDeclarator() : function(nullptr), body(nullptr) { } + TSourceLoc loc; + TFunction* function; + TAttributeMap attributes; + TVector* body; + }; + } // end namespace glslang diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.cpp index 1ae130dcc43..4f6f8030c97 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.cpp @@ -75,16 +75,33 @@ void HlslGrammar::unimplemented(const char* error) parseContext.error(token.loc, "Unimplemented", error, ""); } +// IDENTIFIER +// THIS +// type that can be used as IDENTIFIER +// // Only process the next token if it is an identifier. // Return true if it was an identifier. bool HlslGrammar::acceptIdentifier(HlslToken& idToken) { + // IDENTIFIER if (peekTokenClass(EHTokIdentifier)) { idToken = token; advanceToken(); return true; } + // THIS + // -> maps to the IDENTIFIER spelled with the internal special name for 'this' + if (peekTokenClass(EHTokThis)) { + idToken = token; + advanceToken(); + idToken.tokenClass = EHTokIdentifier; + idToken.string = NewPoolTString(intermediate.implicitThisName); + return true; + } + + // type that can be used as IDENTIFIER + // Even though "sample", "bool", "float", etc keywords (for types, interpolation modifiers), // they ARE still accepted as identifiers. This is not a dense space: e.g, "void" is not a // valid identifier, nor is "linear". This code special cases the known instances of this, so @@ -109,7 +126,6 @@ bool HlslGrammar::acceptIdentifier(HlslToken& idToken) token.string = idString; token.tokenClass = EHTokIdentifier; - token.symbol = nullptr; idToken = token; advanceToken(); @@ -131,15 +147,13 @@ bool HlslGrammar::acceptCompilationUnit() continue; // externalDeclaration - TIntermNode* declarationNode; - if (! acceptDeclaration(declarationNode)) + if (! acceptDeclaration(unitNode)) return false; - - // hook it up - unitNode = intermediate.growAggregate(unitNode, declarationNode); } // set root of AST + if (unitNode && !unitNode->getAsAggregate()) + unitNode = intermediate.growAggregate(nullptr, unitNode); intermediate.setTreeRoot(unitNode); return true; @@ -289,17 +303,22 @@ bool HlslGrammar::acceptSamplerDeclarationDX9(TType& /*type*/) // as above. (The 'identifier' in the first item in init_declarator list is the // same as 'identifier' for function declarations.) // -// 'node' could get populated if the declaration creates code, like an initializer -// or a function body. +// This can generate more than one subtree, one per initializer or a function body. +// All initializer subtrees are put in their own aggregate node, making one top-level +// node for all the initializers. Each function created is a top-level node to grow +// into the passed-in nodeList. +// +// If 'nodeList' is passed in as non-null, it must an aggregate to extend for +// each top-level node the declaration creates. Otherwise, if only one top-level +// node in generated here, that is want is returned in nodeList. // -bool HlslGrammar::acceptDeclaration(TIntermNode*& node) +bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList) { - node = nullptr; - bool list = false; + bool declarator_list = false; // true when processing comma separation // attributes - TAttributeMap attributes; - acceptAttributes(attributes); + TFunctionDeclarator declarator; + acceptAttributes(declarator.attributes); // typedef bool typedefDecl = acceptTokenClass(EHTokTypedef); @@ -312,39 +331,46 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) // HLSL shaders, this will have to be a master level switch // As such, the sampler keyword in D3D10+ turns into an automatic sampler type, and is commonly used // For that reason, this line is commented out - - // if (acceptSamplerDeclarationDX9(declaredType)) - // return true; + // if (acceptSamplerDeclarationDX9(declaredType)) + // return true; // fully_specified_type - if (! acceptFullySpecifiedType(declaredType)) + if (! acceptFullySpecifiedType(declaredType, nodeList)) return false; // identifier HlslToken idToken; + TIntermAggregate* initializers = nullptr; while (acceptIdentifier(idToken)) { - TString* fnName = idToken.string; + if (peekTokenClass(EHTokLeftParen)) { + // looks like function parameters + TString* fnName = idToken.string; + + // Potentially rename shader entry point function. No-op most of the time. + parseContext.renameShaderFunction(fnName); - // Potentially rename shader entry point function. No-op most of the time. - parseContext.renameShaderFunction(fnName); + // function_parameters + declarator.function = new TFunction(fnName, declaredType); + if (!acceptFunctionParameters(*declarator.function)) { + expected("function parameter list"); + return false; + } - // function_parameters - TFunction& function = *new TFunction(fnName, declaredType); - if (acceptFunctionParameters(function)) { // post_decls - acceptPostDecls(function.getWritableType().getQualifier()); + acceptPostDecls(declarator.function->getWritableType().getQualifier()); // compound_statement (function body definition) or just a prototype? + declarator.loc = token.loc; if (peekTokenClass(EHTokLeftBrace)) { - if (list) + if (declarator_list) parseContext.error(idToken.loc, "function body can't be in a declarator list", "{", ""); if (typedefDecl) parseContext.error(idToken.loc, "function body can't be in a typedef", "{", ""); - return acceptFunctionDefinition(function, node, attributes); + return acceptFunctionDefinition(declarator, nodeList, nullptr); } else { if (typedefDecl) parseContext.error(idToken.loc, "function typedefs not implemented", "{", ""); - parseContext.handleFunctionDeclarator(idToken.loc, function, true); + parseContext.handleFunctionDeclarator(declarator.loc, *declarator.function, true); } } else { // A variable declaration. Fix the storage qualifier if it's a global. @@ -394,8 +420,6 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) } } - // Hand off the actual declaration - // TODO: things scoped within an annotation need their own name space; // TODO: strings are not yet handled. if (variableType.getBasicType() != EbtString && parseContext.getAnnotationNestingLevel() == 0) { @@ -411,24 +435,29 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) // Declare the variable and add any initializer code to the AST. // The top-level node is always made into an aggregate, as that's // historically how the AST has been. - node = intermediate.growAggregate(node, - parseContext.declareVariable(idToken.loc, *idToken.string, variableType, - expressionNode), - idToken.loc); + initializers = intermediate.growAggregate(initializers, + parseContext.declareVariable(idToken.loc, *idToken.string, variableType, expressionNode), + idToken.loc); } } } } if (acceptTokenClass(EHTokComma)) { - list = true; + declarator_list = true; continue; } }; - // The top-level node is a sequence. - if (node != nullptr) - node->getAsAggregate()->setOperator(EOpSequence); + // The top-level initializer node is a sequence. + if (initializers != nullptr) + initializers->setOperator(EOpSequence); + + // Add the initializers' aggregate to the nodeList we were handed. + if (nodeList) + nodeList = intermediate.growAggregate(nodeList, initializers); + else + nodeList = initializers; // SEMICOLON if (! acceptTokenClass(EHTokSemicolon)) { @@ -459,6 +488,12 @@ bool HlslGrammar::acceptControlDeclaration(TIntermNode*& node) if (! acceptFullySpecifiedType(type)) return false; + // filter out type casts + if (peekTokenClass(EHTokLeftParen)) { + recedeToken(); + return false; + } + // identifier HlslToken idToken; if (! acceptIdentifier(idToken)) { @@ -489,6 +524,11 @@ bool HlslGrammar::acceptControlDeclaration(TIntermNode*& node) // | type_qualifier type_specifier // bool HlslGrammar::acceptFullySpecifiedType(TType& type) +{ + TIntermNode* nodeList = nullptr; + return acceptFullySpecifiedType(type, nodeList); +} +bool HlslGrammar::acceptFullySpecifiedType(TType& type, TIntermNode*& nodeList) { // type_qualifier TQualifier qualifier; @@ -498,7 +538,7 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type) TSourceLoc loc = token.loc; // type_specifier - if (! acceptType(type)) { + if (! acceptType(type, nodeList)) { // If this is not a type, we may have inadvertently gone down a wrong path // by parsing "sample", which can be treated like either an identifier or a // qualifier. Back it out, if we did. @@ -521,8 +561,15 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type) qualifier.layoutFormat = type.getQualifier().layoutFormat; qualifier.precision = type.getQualifier().precision; - if (type.getQualifier().storage == EvqVaryingOut) + // Propagate sampler readonly qualifier for buffers + if (type.getBasicType() == EbtSampler) + qualifier.readonly = type.getQualifier().readonly; + + if (type.getQualifier().storage == EvqVaryingOut || + type.getQualifier().storage == EvqBuffer) { qualifier.storage = type.getQualifier().storage; + qualifier.readonly = type.getQualifier().readonly; + } type.getQualifier() = qualifier; } @@ -597,6 +644,12 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier) if (! acceptLayoutQualifierList(qualifier)) return false; continue; + case EHTokGloballyCoherent: + qualifier.coherent = true; + break; + case EHTokInline: + // TODO: map this to SPIR-V function control + break; // GS geometries: these are specified on stage input variables, and are an error (not verified here) // for output variables. @@ -857,6 +910,67 @@ bool HlslGrammar::acceptOutputPrimitiveGeometry(TLayoutGeometry& geometry) return true; } +// tessellation_decl_type +// : INPUTPATCH +// | OUTPUTPATCH +// +bool HlslGrammar::acceptTessellationDeclType() +{ + // read geometry type + const EHlslTokenClass tessType = peek(); + + switch (tessType) { + case EHTokInputPatch: break; + case EHTokOutputPatch: break; + default: + return false; // not a tessellation decl + } + + advanceToken(); // consume the keyword + return true; +} + +// tessellation_patch_template_type +// : tessellation_decl_type LEFT_ANGLE type comma integer_literal RIGHT_ANGLE +// +bool HlslGrammar::acceptTessellationPatchTemplateType(TType& type) +{ + if (! acceptTessellationDeclType()) + return false; + + if (! acceptTokenClass(EHTokLeftAngle)) + return false; + + if (! acceptType(type)) { + expected("tessellation patch type"); + return false; + } + + if (! acceptTokenClass(EHTokComma)) + return false; + + // integer size + if (! peekTokenClass(EHTokIntConstant)) { + expected("literal integer"); + return false; + } + + TIntermTyped* size; + if (! acceptLiteral(size)) + return false; + + TArraySizes* arraySizes = new TArraySizes; + arraySizes->addInnerSize(size->getAsConstantUnion()->getConstArray()[0].getIConst()); + type.newArraySizes(*arraySizes); + + if (! acceptTokenClass(EHTokRightAngle)) { + expected("right angle bracket"); + return false; + } + + return true; +} + // stream_out_template_type // : output_primitive_geometry_type LEFT_ANGLE type RIGHT_ANGLE // @@ -906,7 +1020,7 @@ bool HlslGrammar::acceptAnnotations(TQualifier&) break; // declaration - TIntermNode* node; + TIntermNode* node = nullptr; if (! acceptDeclaration(node)) { expected("declaration in annotation"); return false; @@ -985,24 +1099,25 @@ bool HlslGrammar::acceptTextureType(TType& type) bool array = false; bool ms = false; bool image = false; + bool readonly = false; switch (textureType) { - case EHTokBuffer: dim = EsdBuffer; break; - case EHTokTexture1d: dim = Esd1D; break; - case EHTokTexture1darray: dim = Esd1D; array = true; break; - case EHTokTexture2d: dim = Esd2D; break; - case EHTokTexture2darray: dim = Esd2D; array = true; break; - case EHTokTexture3d: dim = Esd3D; break; - case EHTokTextureCube: dim = EsdCube; break; - case EHTokTextureCubearray: dim = EsdCube; array = true; break; - case EHTokTexture2DMS: dim = Esd2D; ms = true; break; - case EHTokTexture2DMSarray: dim = Esd2D; array = true; ms = true; break; - case EHTokRWBuffer: dim = EsdBuffer; image=true; break; - case EHTokRWTexture1d: dim = Esd1D; array=false; image=true; break; - case EHTokRWTexture1darray: dim = Esd1D; array=true; image=true; break; - case EHTokRWTexture2d: dim = Esd2D; array=false; image=true; break; - case EHTokRWTexture2darray: dim = Esd2D; array=true; image=true; break; - case EHTokRWTexture3d: dim = Esd3D; array=false; image=true; break; + case EHTokTexture1d: dim = Esd1D; break; + case EHTokTexture1darray: dim = Esd1D; array = true; break; + case EHTokTexture2d: dim = Esd2D; break; + case EHTokTexture2darray: dim = Esd2D; array = true; break; + case EHTokTexture3d: dim = Esd3D; break; + case EHTokTextureCube: dim = EsdCube; break; + case EHTokTextureCubearray: dim = EsdCube; array = true; break; + case EHTokTexture2DMS: dim = Esd2D; ms = true; break; + case EHTokTexture2DMSarray: dim = Esd2D; array = true; ms = true; break; + case EHTokBuffer: dim = EsdBuffer; readonly=true; image=true; break; + case EHTokRWBuffer: dim = EsdBuffer; image=true; break; + case EHTokRWTexture1d: dim = Esd1D; array=false; image=true; break; + case EHTokRWTexture1darray: dim = Esd1D; array=true; image=true; break; + case EHTokRWTexture2d: dim = Esd2D; array=false; image=true; break; + case EHTokRWTexture2darray: dim = Esd2D; array=true; image=true; break; + case EHTokRWTexture3d: dim = Esd3D; array=false; image=true; break; default: return false; // not a texture declaration } @@ -1062,7 +1177,7 @@ bool HlslGrammar::acceptTextureType(TType& type) } else if (ms) { expected("texture type for multisample"); return false; - } else if (image) { + } else if (image && !readonly) { expected("type for RWTexture/RWBuffer"); return false; } @@ -1093,7 +1208,9 @@ bool HlslGrammar::acceptTextureType(TType& type) sampler.vectorSize = txType.getVectorSize(); type.shallowCopy(TType(sampler, EvqUniform, arraySizes)); + type.getQualifier().layoutFormat = format; + type.getQualifier().readonly = readonly; return true; } @@ -1102,6 +1219,11 @@ bool HlslGrammar::acceptTextureType(TType& type) // and return true and advance. // Otherwise, return false, and don't advance bool HlslGrammar::acceptType(TType& type) +{ + TIntermNode* nodeList = nullptr; + return acceptType(type, nodeList); +} +bool HlslGrammar::acceptType(TType& type, TIntermNode*& nodeList) { // Basic types for min* types, broken out here in case of future // changes, e.g, to use native halfs. @@ -1135,6 +1257,15 @@ bool HlslGrammar::acceptType(TType& type) return true; } + case EHTokInputPatch: // fall through + case EHTokOutputPatch: // ... + { + if (! acceptTessellationPatchTemplateType(type)) + return false; + + return true; + } + case EHTokSampler: // fall through case EHTokSampler1d: // ... case EHTokSampler2d: // ... @@ -1164,19 +1295,26 @@ bool HlslGrammar::acceptType(TType& type) return acceptTextureType(type); break; + case EHTokAppendStructuredBuffer: + case EHTokByteAddressBuffer: + case EHTokConsumeStructuredBuffer: + case EHTokRWByteAddressBuffer: + case EHTokRWStructuredBuffer: + case EHTokStructuredBuffer: + return acceptStructBufferType(type); + break; + + case EHTokClass: case EHTokStruct: case EHTokCBuffer: case EHTokTBuffer: - return acceptStruct(type); - break; + return acceptStruct(type, nodeList); case EHTokIdentifier: // An identifier could be for a user-defined type. // Note we cache the symbol table lookup, to save for a later rule // when this is not a type. - token.symbol = parseContext.symbolTable.find(*token.string); - if (token.symbol && token.symbol->getAsVariable() && token.symbol->getAsVariable()->isUserType()) { - type.shallowCopy(token.symbol->getType()); + if (parseContext.lookupUserType(*token.string, type) != nullptr) { advanceToken(); return true; } else @@ -1635,13 +1773,15 @@ bool HlslGrammar::acceptType(TType& type) // struct // : struct_type IDENTIFIER post_decls LEFT_BRACE struct_declaration_list RIGHT_BRACE // | struct_type post_decls LEFT_BRACE struct_declaration_list RIGHT_BRACE +// | struct_type IDENTIFIER // use of previously declared struct type // // struct_type // : STRUCT +// | CLASS // | CBUFFER // | TBUFFER // -bool HlslGrammar::acceptStruct(TType& type) +bool HlslGrammar::acceptStruct(TType& type, TIntermNode*& nodeList) { // This storage qualifier will tell us whether it's an AST // block type or just a generic structure type. @@ -1653,8 +1793,9 @@ bool HlslGrammar::acceptStruct(TType& type) // TBUFFER else if (acceptTokenClass(EHTokTBuffer)) storageQualifier = EvqBuffer; + // CLASS // STRUCT - else if (! acceptTokenClass(EHTokStruct)) + else if (! acceptTokenClass(EHTokClass) && ! acceptTokenClass(EHTokStruct)) return false; // IDENTIFIER @@ -1667,17 +1808,31 @@ bool HlslGrammar::acceptStruct(TType& type) // post_decls TQualifier postDeclQualifier; postDeclQualifier.clear(); - acceptPostDecls(postDeclQualifier); + bool postDeclsFound = acceptPostDecls(postDeclQualifier); - // LEFT_BRACE + // LEFT_BRACE, or + // struct_type IDENTIFIER if (! acceptTokenClass(EHTokLeftBrace)) { - expected("{"); - return false; + if (structName.size() > 0 && !postDeclsFound && parseContext.lookupUserType(structName, type) != nullptr) { + // struct_type IDENTIFIER + return true; + } else { + expected("{"); + return false; + } } + // struct_declaration_list TTypeList* typeList; - if (! acceptStructDeclarationList(typeList)) { + // Save each member function so they can be processed after we have a fully formed 'this'. + TVector functionDeclarators; + + parseContext.pushNamespace(structName); + bool acceptedList = acceptStructDeclarationList(typeList, nodeList, structName, functionDeclarators); + parseContext.popNamespace(); + + if (! acceptedList) { expected("struct member declarations"); return false; } @@ -1696,15 +1851,128 @@ bool HlslGrammar::acceptStruct(TType& type) new(&type) TType(typeList, structName, postDeclQualifier); // sets EbtBlock } - // If it was named, which means the type can be reused later, add - // it to the symbol table. (Unless it's a block, in which - // case the name is not a type.) - if (type.getBasicType() != EbtBlock && structName.size() > 0) { - TVariable* userTypeDef = new TVariable(&structName, type, true); - if (! parseContext.symbolTable.insert(*userTypeDef)) - parseContext.error(token.loc, "redefinition", structName.c_str(), "struct"); + parseContext.declareStruct(token.loc, structName, type); + + // For member functions: now that we know the type of 'this', go back and + // - add their implicit argument with 'this' (not to the mangling, just the argument list) + // - parse the functions, their tokens were saved for deferred parsing (now) + for (int b = 0; b < (int)functionDeclarators.size(); ++b) { + // update signature + if (functionDeclarators[b].function->hasImplicitThis()) + functionDeclarators[b].function->addThisParameter(type, intermediate.implicitThisName); + } + + // All member functions get parsed inside the class/struct namespace and with the + // class/struct members in a symbol-table level. + parseContext.pushNamespace(structName); + parseContext.pushThisScope(type); + bool deferredSuccess = true; + for (int b = 0; b < (int)functionDeclarators.size() && deferredSuccess; ++b) { + // parse body + pushTokenStream(functionDeclarators[b].body); + if (! acceptFunctionBody(functionDeclarators[b], nodeList)) + deferredSuccess = false; + popTokenStream(); + } + parseContext.popThisScope(); + parseContext.popNamespace(); + + return deferredSuccess; +} + +// struct_buffer +// : APPENDSTRUCTUREDBUFFER +// | BYTEADDRESSBUFFER +// | CONSUMESTRUCTUREDBUFFER +// | RWBYTEADDRESSBUFFER +// | RWSTRUCTUREDBUFFER +// | STRUCTUREDBUFFER +bool HlslGrammar::acceptStructBufferType(TType& type) +{ + const EHlslTokenClass structBuffType = peek(); + + // TODO: globallycoherent + bool hasTemplateType = true; + bool readonly = false; + + TStorageQualifier storage = EvqBuffer; + + switch (structBuffType) { + case EHTokAppendStructuredBuffer: + unimplemented("AppendStructuredBuffer"); + return false; + case EHTokByteAddressBuffer: + hasTemplateType = false; + readonly = true; + break; + case EHTokConsumeStructuredBuffer: + unimplemented("ConsumeStructuredBuffer"); + return false; + case EHTokRWByteAddressBuffer: + hasTemplateType = false; + break; + case EHTokRWStructuredBuffer: + break; + case EHTokStructuredBuffer: + readonly = true; + break; + default: + return false; // not a structure buffer type + } + + advanceToken(); // consume the structure keyword + + // type on which this StructedBuffer is templatized. E.g, StructedBuffer ==> MyStruct + TType* templateType = new TType; + + if (hasTemplateType) { + if (! acceptTokenClass(EHTokLeftAngle)) { + expected("left angle bracket"); + return false; + } + + if (! acceptType(*templateType)) { + expected("type"); + return false; + } + if (! acceptTokenClass(EHTokRightAngle)) { + expected("right angle bracket"); + return false; + } + } else { + // byte address buffers have no explicit type. + TType uintType(EbtUint, storage); + templateType->shallowCopy(uintType); } + // Create an unsized array out of that type. + // TODO: does this work if it's already an array type? + TArraySizes unsizedArray; + unsizedArray.addInnerSize(UnsizedArraySize); + templateType->newArraySizes(unsizedArray); + templateType->getQualifier().storage = storage; + + // field name is canonical for all structbuffers + templateType->setFieldName("@data"); + + // Create block type. TODO: hidden internal uint member when needed + + TTypeList* blockStruct = new TTypeList; + TTypeLoc member = { templateType, token.loc }; + blockStruct->push_back(member); + + // This is the type of the buffer block (SSBO) + TType blockType(blockStruct, "", templateType->getQualifier()); + + blockType.getQualifier().storage = storage; + blockType.getQualifier().readonly = readonly; + + // We may have created an equivalent type before, in which case we should use its + // deep structure. + parseContext.shareStructBufferType(blockType); + + type.shallowCopy(blockType); + return true; } @@ -1713,12 +1981,15 @@ bool HlslGrammar::acceptStruct(TType& type) // // struct_declaration // : fully_specified_type struct_declarator COMMA struct_declarator ... +// | fully_specified_type IDENTIFIER function_parameters post_decls compound_statement // member-function definition // // struct_declarator // : IDENTIFIER post_decls // | IDENTIFIER array_specifier post_decls +// | IDENTIFIER function_parameters post_decls // member-function prototype // -bool HlslGrammar::acceptStructDeclarationList(TTypeList*& typeList) +bool HlslGrammar::acceptStructDeclarationList(TTypeList*& typeList, TIntermNode*& nodeList, const TString& typeName, + TVector& declarators) { typeList = new TTypeList(); HlslToken idToken; @@ -1726,54 +1997,72 @@ bool HlslGrammar::acceptStructDeclarationList(TTypeList*& typeList) do { // success on seeing the RIGHT_BRACE coming up if (peekTokenClass(EHTokRightBrace)) - return true; + break; // struct_declaration + + bool declarator_list = false; // fully_specified_type TType memberType; - if (! acceptFullySpecifiedType(memberType)) { + if (! acceptFullySpecifiedType(memberType, nodeList)) { expected("member type"); return false; } // struct_declarator COMMA struct_declarator ... + bool functionDefinitionAccepted = false; do { if (! acceptIdentifier(idToken)) { expected("member name"); return false; } - // add it to the list of members - TTypeLoc member = { new TType(EbtVoid), token.loc }; - member.type->shallowCopy(memberType); - member.type->setFieldName(*idToken.string); - typeList->push_back(member); - - // array_specifier - TArraySizes* arraySizes = nullptr; - acceptArraySpecifier(arraySizes); - if (arraySizes) - typeList->back().type->newArraySizes(*arraySizes); - - acceptPostDecls(member.type->getQualifier()); - - // EQUAL assignment_expression - if (acceptTokenClass(EHTokAssign)) { - parseContext.warn(idToken.loc, "struct-member initializers ignored", "typedef", ""); - TIntermTyped* expressionNode = nullptr; - if (! acceptAssignmentExpression(expressionNode)) { - expected("initializer"); - return false; + if (peekTokenClass(EHTokLeftParen)) { + // function_parameters + if (!declarator_list) { + declarators.resize(declarators.size() + 1); + // request a token stream for deferred processing + functionDefinitionAccepted = acceptMemberFunctionDefinition(nodeList, memberType, *idToken.string, + declarators.back()); + if (functionDefinitionAccepted) + break; + } + expected("member-function definition"); + return false; + } else { + // add it to the list of members + TTypeLoc member = { new TType(EbtVoid), token.loc }; + member.type->shallowCopy(memberType); + member.type->setFieldName(*idToken.string); + typeList->push_back(member); + + // array_specifier + TArraySizes* arraySizes = nullptr; + acceptArraySpecifier(arraySizes); + if (arraySizes) + typeList->back().type->newArraySizes(*arraySizes); + + acceptPostDecls(member.type->getQualifier()); + + // EQUAL assignment_expression + if (acceptTokenClass(EHTokAssign)) { + parseContext.warn(idToken.loc, "struct-member initializers ignored", "typedef", ""); + TIntermTyped* expressionNode = nullptr; + if (! acceptAssignmentExpression(expressionNode)) { + expected("initializer"); + return false; + } } } - // success on seeing the SEMICOLON coming up if (peekTokenClass(EHTokSemicolon)) break; // COMMA - if (! acceptTokenClass(EHTokComma)) { + if (acceptTokenClass(EHTokComma)) + declarator_list = true; + else { expected(","); return false; } @@ -1781,12 +2070,48 @@ bool HlslGrammar::acceptStructDeclarationList(TTypeList*& typeList) } while (true); // SEMI_COLON - if (! acceptTokenClass(EHTokSemicolon)) { + if (! functionDefinitionAccepted && ! acceptTokenClass(EHTokSemicolon)) { expected(";"); return false; } } while (true); + + return true; +} + +// member_function_definition +// | function_parameters post_decls compound_statement +// +// Expects type to have EvqGlobal for a static member and +// EvqTemporary for non-static member. +bool HlslGrammar::acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType& type, const TString& memberName, + TFunctionDeclarator& declarator) +{ + bool accepted = false; + + TString* functionName = parseContext.getFullNamespaceName(memberName); + declarator.function = new TFunction(functionName, type); + if (type.getQualifier().storage == EvqTemporary) + declarator.function->setImplicitThis(); + else + declarator.function->setIllegalImplicitThis(); + + // function_parameters + if (acceptFunctionParameters(*declarator.function)) { + // post_decls + acceptPostDecls(declarator.function->getWritableType().getQualifier()); + + // compound_statement (function body definition) + if (peekTokenClass(EHTokLeftBrace)) { + declarator.loc = token.loc; + declarator.body = new TVector; + accepted = acceptFunctionDefinition(declarator, nodeList, declarator.body); + } + } else + expected("function parameter list"); + + return accepted; } // function_parameters @@ -1916,22 +2241,43 @@ bool HlslGrammar::acceptParameterDeclaration(TFunction& function) // Do the work to create the function definition in addition to // parsing the body (compound_statement). -bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node, const TAttributeMap& attributes) +// +// If 'deferredTokens' are passed in, just get the token stream, +// don't process. +// +bool HlslGrammar::acceptFunctionDefinition(TFunctionDeclarator& declarator, TIntermNode*& nodeList, + TVector* deferredTokens) { - TFunction& functionDeclarator = parseContext.handleFunctionDeclarator(token.loc, function, false /* not prototype */); - TSourceLoc loc = token.loc; + parseContext.handleFunctionDeclarator(declarator.loc, *declarator.function, false /* not prototype */); + + if (deferredTokens) + return captureBlockTokens(*deferredTokens); + else + return acceptFunctionBody(declarator, nodeList); +} + +bool HlslGrammar::acceptFunctionBody(TFunctionDeclarator& declarator, TIntermNode*& nodeList) +{ + // we might get back an entry-point + TIntermNode* entryPointNode = nullptr; // This does a pushScope() - node = parseContext.handleFunctionDefinition(loc, functionDeclarator, attributes); + TIntermNode* functionNode = parseContext.handleFunctionDefinition(declarator.loc, *declarator.function, + declarator.attributes, entryPointNode); // compound_statement TIntermNode* functionBody = nullptr; - if (acceptCompoundStatement(functionBody)) { - parseContext.handleFunctionBody(loc, functionDeclarator, functionBody, node); - return true; - } + if (! acceptCompoundStatement(functionBody)) + return false; - return false; + // this does a popScope() + parseContext.handleFunctionBody(declarator.loc, *declarator.function, functionBody, functionNode); + + // Hook up the 1 or 2 function definitions. + nodeList = intermediate.growAggregate(nodeList, functionNode); + nodeList = intermediate.growAggregate(nodeList, entryPointNode); + + return true; } // Accept an expression with parenthesis around it, where @@ -2281,17 +2627,22 @@ bool HlslGrammar::acceptUnaryExpression(TIntermTyped*& node) // | function_call // | postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET // | postfix_expression DOT IDENTIFIER +// | postfix_expression DOT IDENTIFIER arguments +// | postfix_expression COLONCOLON IDENTIFIER arguments // | postfix_expression INC_OP // | postfix_expression DEC_OP // bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) { // Not implemented as self-recursive: - // The logical "right recursion" is done with an loop at the end + // The logical "right recursion" is done with a loop at the end // idToken will pick up either a variable or a function name in a function call HlslToken idToken; + // scopeBase will pick up the type symbol on the left of '::' + TSymbol* scope = nullptr; + // Find something before the postfix operations, as they can't operate // on nothing. So, no "return true", they fall through, only "return false". if (acceptTokenClass(EHTokLeftParen)) { @@ -2309,9 +2660,16 @@ bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) } else if (acceptConstructor(node)) { // constructor (nothing else to do yet) } else if (acceptIdentifier(idToken)) { - // identifier or function_call name - if (! peekTokenClass(EHTokLeftParen)) { - node = parseContext.handleVariable(idToken.loc, idToken.symbol, idToken.string); + // user-type, identifier, or function name + if (peekTokenClass(EHTokColonColon)) { + TType type; + scope = parseContext.lookupUserType(*idToken.string, type); + if (scope == nullptr) { + expected("type left of ::"); + return false; + } + } else if (! peekTokenClass(EHTokLeftParen)) { + node = parseContext.handleVariable(idToken.loc, idToken.string); } else if (acceptFunctionCall(idToken, node)) { // function_call (nothing else to do yet) } else { @@ -2328,9 +2686,10 @@ bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) struct tFinalize { tFinalize(HlslParseContext& p) : parseContext(p) { } ~tFinalize() { parseContext.finalizeFlattening(); } - HlslParseContext& parseContext; + HlslParseContext& parseContext; private: - tFinalize& operator=(tFinalize&) { return *this; } + const tFinalize& operator=(const tFinalize&) { return *this; } + tFinalize(const tFinalize& f) : parseContext(f.parseContext) { } } finalize(parseContext); // Initialize the flattening accumulation data, so we can track data across multiple bracket or @@ -2350,6 +2709,7 @@ bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) case EOpIndexIndirect: case EOpPostIncrement: case EOpPostDecrement: + case EOpScoping: advanceToken(); break; default: @@ -2358,26 +2718,28 @@ bool HlslGrammar::acceptPostfixExpression(TIntermTyped*& node) // We have a valid post-unary operator, process it. switch (postOp) { + case EOpScoping: case EOpIndexDirectStruct: { // DOT IDENTIFIER - // includes swizzles and struct members + // includes swizzles, member variables, and member functions HlslToken field; if (! acceptIdentifier(field)) { expected("swizzle or member"); return false; } - TIntermTyped* base = node; // preserve for method function calls - node = parseContext.handleDotDereference(field.loc, node, *field.string); + if (peekTokenClass(EHTokLeftParen)) { + // member function + TIntermTyped* thisNode = node; - // In the event of a method node, we look for an open paren and accept the function call. - if (node != nullptr && node->getAsMethodNode() != nullptr && peekTokenClass(EHTokLeftParen)) { - if (! acceptFunctionCall(field, node, base)) { + // arguments + if (! acceptFunctionCall(field, node, thisNode, scope)) { expected("function parameters"); return false; } - } + } else + node = parseContext.handleDotDereference(field.loc, node, *field.string); break; } @@ -2444,20 +2806,42 @@ bool HlslGrammar::acceptConstructor(TIntermTyped*& node) // function_call // : [idToken] arguments // -bool HlslGrammar::acceptFunctionCall(HlslToken idToken, TIntermTyped*& node, TIntermTyped* base) +bool HlslGrammar::acceptFunctionCall(HlslToken callToken, TIntermTyped*& node, TIntermTyped* baseObject, + const TSymbol* scope) { - // arguments - TFunction* function = new TFunction(idToken.string, TType(EbtVoid)); - TIntermTyped* arguments = nullptr; + // name + TString* functionName = nullptr; + if ((baseObject == nullptr && scope == nullptr)) { + functionName = callToken.string; + } else if (parseContext.isBuiltInMethod(callToken.loc, baseObject, *callToken.string)) { + // Built-in methods are not in the symbol table as methods, but as global functions + // taking an explicit 'this' as the first argument. + functionName = NewPoolTString(BUILTIN_PREFIX); + functionName->append(*callToken.string); + } else { + functionName = NewPoolTString(""); + if (baseObject != nullptr) + functionName->append(baseObject->getType().getTypeName()); + else if (scope != nullptr) + functionName->append(scope->getType().getTypeName()); + parseContext.addScopeMangler(*functionName); + functionName->append(*callToken.string); + } - // methods have an implicit first argument of the calling object. - if (base != nullptr) - parseContext.handleFunctionArgument(function, arguments, base); + // function + TFunction* function = new TFunction(functionName, TType(EbtVoid)); + // arguments + TIntermTyped* arguments = nullptr; + if (baseObject != nullptr) { + // Non-static member functions have an implicit first argument of the base object. + parseContext.handleFunctionArgument(function, arguments, baseObject); + } if (! acceptArguments(function, arguments)) return false; - node = parseContext.handleFunctionCall(idToken.loc, function, arguments); + // call + node = parseContext.handleFunctionCall(callToken.loc, function, arguments); return true; } @@ -2516,7 +2900,7 @@ bool HlslGrammar::acceptLiteral(TIntermTyped*& node) node = intermediate.addConstantUnion(token.b, token.loc, true); break; case EHTokStringConstant: - node = nullptr; + node = intermediate.addConstantUnion(token.string, token.loc, true); break; default: @@ -3066,7 +3450,7 @@ void HlslGrammar::acceptArraySpecifier(TArraySizes*& arraySizes) TSourceLoc loc = token.loc; TIntermTyped* sizeExpr = nullptr; - // Array sizing expression is optional. If ommitted, array will be later sized by initializer list. + // Array sizing expression is optional. If omitted, array will be later sized by initializer list. const bool hasArraySize = acceptAssignmentExpression(sizeExpr); if (! acceptTokenClass(EHTokRightBracket)) { @@ -3091,11 +3475,18 @@ void HlslGrammar::acceptArraySpecifier(TArraySizes*& arraySizes) // COLON LAYOUT layout_qualifier_list // annotations // optional // -void HlslGrammar::acceptPostDecls(TQualifier& qualifier) +// Return true if any tokens were accepted. That is, +// false can be returned on successfully recognizing nothing, +// not necessarily meaning bad syntax. +// +bool HlslGrammar::acceptPostDecls(TQualifier& qualifier) { + bool found = false; + do { // COLON if (acceptTokenClass(EHTokColon)) { + found = true; HlslToken idToken; if (peekTokenClass(EHTokLayout)) acceptLayoutQualifierList(qualifier); @@ -3103,18 +3494,18 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) // PACKOFFSET LEFT_PAREN c[Subcomponent][.component] RIGHT_PAREN if (! acceptTokenClass(EHTokLeftParen)) { expected("("); - return; + return false; } HlslToken locationToken; if (! acceptIdentifier(locationToken)) { expected("c[subcomponent][.component]"); - return; + return false; } HlslToken componentToken; if (acceptTokenClass(EHTokDot)) { if (! acceptIdentifier(componentToken)) { expected("component"); - return; + return false; } } if (! acceptTokenClass(EHTokRightParen)) { @@ -3124,19 +3515,19 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) parseContext.handlePackOffset(locationToken.loc, qualifier, *locationToken.string, componentToken.string); } else if (! acceptIdentifier(idToken)) { expected("layout, semantic, packoffset, or register"); - return; + return false; } else if (*idToken.string == "register") { // REGISTER LEFT_PAREN [shader_profile,] Type#[subcomp]opt (COMMA SPACEN)opt RIGHT_PAREN // LEFT_PAREN if (! acceptTokenClass(EHTokLeftParen)) { expected("("); - return; + return false; } HlslToken registerDesc; // for Type# HlslToken profile; if (! acceptIdentifier(registerDesc)) { expected("register number description"); - return; + return false; } if (registerDesc.string->size() > 1 && !isdigit((*registerDesc.string)[1]) && acceptTokenClass(EHTokComma)) { @@ -3145,7 +3536,7 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) profile = registerDesc; if (! acceptIdentifier(registerDesc)) { expected("register number description"); - return; + return false; } } int subComponent = 0; @@ -3153,7 +3544,7 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) // LEFT_BRACKET subcomponent RIGHT_BRACKET if (! peekTokenClass(EHTokIntConstant)) { expected("literal integer"); - return; + return false; } subComponent = token.i; advanceToken(); @@ -3167,7 +3558,7 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) if (acceptTokenClass(EHTokComma)) { if (! acceptIdentifier(spaceDesc)) { expected ("space identifier"); - return; + return false; } } // RIGHT_PAREN @@ -3178,14 +3569,52 @@ void HlslGrammar::acceptPostDecls(TQualifier& qualifier) parseContext.handleRegister(registerDesc.loc, qualifier, profile.string, *registerDesc.string, subComponent, spaceDesc.string); } else { // semantic, in idToken.string - parseContext.handleSemantic(idToken.loc, qualifier, *idToken.string); + TString semanticUpperCase = *idToken.string; + std::transform(semanticUpperCase.begin(), semanticUpperCase.end(), semanticUpperCase.begin(), ::toupper); + parseContext.handleSemantic(idToken.loc, qualifier, mapSemantic(semanticUpperCase.c_str()), semanticUpperCase); } - } else if (peekTokenClass(EHTokLeftAngle)) + } else if (peekTokenClass(EHTokLeftAngle)) { + found = true; acceptAnnotations(qualifier); - else + } else break; } while (true); + + return found; +} + +// +// Get the stream of tokens from the scanner, but skip all syntactic/semantic +// processing. +// +bool HlslGrammar::captureBlockTokens(TVector& tokens) +{ + if (! peekTokenClass(EHTokLeftBrace)) + return false; + + int braceCount = 0; + + do { + switch (peek()) { + case EHTokLeftBrace: + ++braceCount; + break; + case EHTokRightBrace: + --braceCount; + break; + case EHTokNone: + // End of input before balance { } is bad... + return false; + default: + break; + } + + tokens.push_back(token); + advanceToken(); + } while (braceCount > 0); + + return true; } } // end namespace glslang diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.h index 29e4b1763f8..1a3abf10997 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslGrammar.h @@ -43,7 +43,8 @@ namespace glslang { - class TAttributeMap; // forward declare + class TAttributeMap; + class TFunctionDeclarator; // Should just be the grammar aspect of HLSL. // Described in more detail in hlslGrammar.cpp. @@ -64,27 +65,36 @@ namespace glslang { void unimplemented(const char*); bool acceptIdentifier(HlslToken&); bool acceptCompilationUnit(); - bool acceptDeclaration(TIntermNode*& node); + bool acceptDeclaration(TIntermNode*&); bool acceptControlDeclaration(TIntermNode*& node); bool acceptSamplerDeclarationDX9(TType&); bool acceptSamplerState(); bool acceptFullySpecifiedType(TType&); + bool acceptFullySpecifiedType(TType&, TIntermNode*& nodeList); bool acceptQualifier(TQualifier&); bool acceptLayoutQualifierList(TQualifier&); bool acceptType(TType&); + bool acceptType(TType&, TIntermNode*& nodeList); bool acceptTemplateVecMatBasicType(TBasicType&); bool acceptVectorTemplateType(TType&); bool acceptMatrixTemplateType(TType&); + bool acceptTessellationDeclType(); + bool acceptTessellationPatchTemplateType(TType&); bool acceptStreamOutTemplateType(TType&, TLayoutGeometry&); bool acceptOutputPrimitiveGeometry(TLayoutGeometry&); bool acceptAnnotations(TQualifier&); bool acceptSamplerType(TType&); bool acceptTextureType(TType&); - bool acceptStruct(TType&); - bool acceptStructDeclarationList(TTypeList*&); + bool acceptStructBufferType(TType&); + bool acceptStruct(TType&, TIntermNode*& nodeList); + bool acceptStructDeclarationList(TTypeList*&, TIntermNode*& nodeList, const TString& typeName, + TVector&); + bool acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType&, const TString& memberName, + TFunctionDeclarator&); bool acceptFunctionParameters(TFunction&); bool acceptParameterDeclaration(TFunction&); - bool acceptFunctionDefinition(TFunction&, TIntermNode*&, const TAttributeMap&); + bool acceptFunctionDefinition(TFunctionDeclarator&, TIntermNode*& nodeList, TVector* deferredTokens); + bool acceptFunctionBody(TFunctionDeclarator& declarator, TIntermNode*& nodeList); bool acceptParenExpression(TIntermTyped*&); bool acceptExpression(TIntermTyped*&); bool acceptInitializer(TIntermTyped*&); @@ -94,7 +104,8 @@ namespace glslang { bool acceptUnaryExpression(TIntermTyped*&); bool acceptPostfixExpression(TIntermTyped*&); bool acceptConstructor(TIntermTyped*&); - bool acceptFunctionCall(HlslToken, TIntermTyped*&, TIntermTyped* base = nullptr); + bool acceptFunctionCall(HlslToken, TIntermTyped*&, TIntermTyped* objectBase = nullptr, + const TSymbol* scope = nullptr); bool acceptArguments(TFunction*, TIntermTyped*&); bool acceptLiteral(TIntermTyped*&); bool acceptCompoundStatement(TIntermNode*&); @@ -110,9 +121,11 @@ namespace glslang { bool acceptCaseLabel(TIntermNode*&); bool acceptDefaultLabel(TIntermNode*&); void acceptArraySpecifier(TArraySizes*&); - void acceptPostDecls(TQualifier&); + bool acceptPostDecls(TQualifier&); bool acceptDefaultParameterDeclaration(const TType&, TIntermTyped*&); + bool captureBlockTokens(TVector& tokens); + HlslParseContext& parseContext; // state of parsing and helper functions for building the intermediate TIntermediate& intermediate; // the final product, the intermediate representation, includes the AST }; diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslOpMap.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslOpMap.cpp index ba56eeb604c..ebe6fbd96cf 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslOpMap.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslOpMap.cpp @@ -118,6 +118,8 @@ TOperator HlslOpMap::postUnary(EHlslTokenClass op) case EHTokIncOp: return EOpPostIncrement; case EHTokDecOp: return EOpPostDecrement; + case EHTokColonColon: return EOpScoping; + default: return EOpNull; // means not a post-unary op } } diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.cpp index fca8452ab04..48b94b62c4f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.cpp @@ -48,6 +48,7 @@ #include #include #include +#include namespace glslang { @@ -58,14 +59,14 @@ HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& int TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), contextPragma(true, false), loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), - inEntryPoint(false), postEntryPointReturn(false), limits(resources.limits), - entryPointOutput(nullptr), builtInIoIndex(nullptr), builtInIoBase(nullptr), nextInLocation(0), nextOutLocation(0), - sourceEntryPointName(sourceEntryPointName) + sourceEntryPointName(sourceEntryPointName), + entryPointFunction(nullptr), + entryPointFunctionBody(nullptr) { globalUniformDefaults.clear(); globalUniformDefaults.layoutMatrix = ElmRowMajor; @@ -161,6 +162,18 @@ bool HlslParseContext::shouldConvertLValue(const TIntermNode* node) const return false; } +void HlslParseContext::growGlobalUniformBlock(TSourceLoc& loc, TType& memberType, TString& memberName, TTypeList* newTypeList) +{ + newTypeList = nullptr; + correctUniform(memberType.getQualifier()); + if (memberType.isStruct()) { + auto it = ioTypeMap.find(memberType.getStruct()); + if (it != ioTypeMap.end() && it->second.uniform) + newTypeList = it->second.uniform; + } + TParseContextBase::growGlobalUniformBlock(loc, memberType, memberName, newTypeList); +} + // // Return a TLayoutFormat corresponding to the given texture type. // @@ -530,7 +543,7 @@ bool HlslParseContext::parseMatrixSwizzleSelector(const TSourceLoc& loc, const T error(loc, "matrix component swizzle missing", compString.c_str(), ""); return false; } - startPos[numComps++] = c + 1; + startPos[numComps++] = (int)c + 1; } } @@ -588,10 +601,10 @@ int HlslParseContext::getMatrixComponentsColumn(int rows, const TSwizzleSelector // // Handle seeing a variable identifier in the grammar. // -TIntermTyped* HlslParseContext::handleVariable(const TSourceLoc& loc, TSymbol* symbol, const TString* string) +TIntermTyped* HlslParseContext::handleVariable(const TSourceLoc& loc, const TString* string) { - if (symbol == nullptr) - symbol = symbolTable.find(*string); + int thisDepth; + TSymbol* symbol = symbolTable.find(*string, thisDepth); if (symbol && symbol->getAsVariable() && symbol->getAsVariable()->isUserType()) { error(loc, "expected symbol, not user-defined type", string->c_str(), ""); return nullptr; @@ -601,14 +614,21 @@ TIntermTyped* HlslParseContext::handleVariable(const TSourceLoc& loc, TSymbol* s if (symbol && symbol->getNumExtensions()) requireExtensions(loc, symbol->getNumExtensions(), symbol->getExtensions(), symbol->getName().c_str()); - const TVariable* variable; + const TVariable* variable = nullptr; const TAnonMember* anon = symbol ? symbol->getAsAnonMember() : nullptr; TIntermTyped* node = nullptr; if (anon) { - // It was a member of an anonymous container. + // It was a member of an anonymous container, which could be a 'this' structure. // Create a subtree for its dereference. - variable = anon->getAnonContainer().getAsVariable(); + if (thisDepth > 0) { + variable = getImplicitThis(thisDepth); + if (variable == nullptr) + error(loc, "cannot access member variables (static member function?)", "this", ""); + } + if (variable == nullptr) + variable = anon->getAnonContainer().getAsVariable(); + TIntermTyped* container = intermediate.addSymbol(*variable, loc); TIntermTyped* constNode = intermediate.addConstantUnion(anon->getMemberNumber(), loc); node = intermediate.addIndex(EOpIndexDirectStruct, container, constNode, loc); @@ -678,6 +698,22 @@ TIntermTyped* HlslParseContext::handleBracketOperator(const TSourceLoc& loc, TIn } } + // Handle operator[] on structured buffers: this indexes into the array element of the buffer. + // indexStructBufferContent returns nullptr if it isn't a structuredbuffer (SSBO). + TIntermTyped* sbArray = indexStructBufferContent(loc, base); + if (sbArray != nullptr) { + if (sbArray == nullptr) + return nullptr; + + // Now we'll apply the [] index to that array + const TOperator idxOp = (index->getQualifier().storage == EvqConst) ? EOpIndexDirect : EOpIndexIndirect; + + TIntermTyped* element = intermediate.addIndex(idxOp, sbArray, index, loc); + const TType derefType(sbArray->getType(), 0); + element->setType(derefType); + return element; + } + return nullptr; } @@ -709,7 +745,7 @@ TIntermTyped* HlslParseContext::handleBracketDereference(const TSourceLoc& loc, else { // at least one of base and index is variable... - if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlatten(base->getType()))) { + if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlattenUniform(base->getType()))) { if (index->getQualifier().storage != EvqConst) error(loc, "Invalid variable index to flattened array", base->getAsSymbolNode()->getName().c_str(), ""); @@ -776,68 +812,45 @@ TIntermTyped* HlslParseContext::handleUnaryMath(const TSourceLoc& loc, const cha return childNode; } +// +// Return true if the name is a struct buffer method +// +bool HlslParseContext::isStructBufferMethod(const TString& name) const +{ + return + name == "GetDimensions" || + name == "Load" || + name == "Load2" || + name == "Load3" || + name == "Load4" || + name == "Store" || + name == "Store2" || + name == "Store3" || + name == "Store4" || + name == "InterlockedAdd" || + name == "InterlockedAnd" || + name == "InterlockedCompareExchange" || + name == "InterlockedCompareStore" || + name == "InterlockedExchange" || + name == "InterlockedMax" || + name == "InterlockedMin" || + name == "InterlockedOr" || + name == "InterlockedXor"; +} // -// Handle seeing a base.field dereference in the grammar. +// Handle seeing a base.field dereference in the grammar, where 'field' is a +// swizzle or member variable. // TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TIntermTyped* base, const TString& field) { variableCheck(base); - // - // methods can't be resolved until we later see the function-calling syntax. - // Save away the name in the AST for now. Processing is completed in - // handleLengthMethod(), etc. - // - if (field == "length") { - return intermediate.addMethod(base, TType(EbtInt), &field, loc); - } else if (field == "CalculateLevelOfDetail" || - field == "CalculateLevelOfDetailUnclamped" || - field == "Gather" || - field == "GatherRed" || - field == "GatherGreen" || - field == "GatherBlue" || - field == "GatherAlpha" || - field == "GatherCmp" || - field == "GatherCmpRed" || - field == "GatherCmpGreen" || - field == "GatherCmpBlue" || - field == "GatherCmpAlpha" || - field == "GetDimensions" || - field == "GetSamplePosition" || - field == "Load" || - field == "Sample" || - field == "SampleBias" || - field == "SampleCmp" || - field == "SampleCmpLevelZero" || - field == "SampleGrad" || - field == "SampleLevel") { - // If it's not a method on a sampler object, we fall through in case it is a struct member. - if (base->getType().getBasicType() == EbtSampler) { - const TSampler& sampler = base->getType().getSampler(); - if (! sampler.isPureSampler()) { - const int vecSize = sampler.isShadow() ? 1 : 4; // TODO: handle arbitrary sample return sizes - return intermediate.addMethod(base, TType(sampler.type, EvqTemporary, vecSize), &field, loc); - } - } - } else if (field == "Append" || - field == "RestartStrip") { - // We cannot check the type here: it may be sanitized if we're not compiling a geometry shader, but - // the code is around in the shader source. - return intermediate.addMethod(base, TType(EbtVoid), &field, loc); - } - - // It's not .length() if we get to here. - if (base->isArray()) { error(loc, "cannot apply to an array:", ".", field.c_str()); - return base; } - // It's neither an array nor .length() if we get here, - // leaving swizzles and struct/block dereferences. - TIntermTyped* result = base; if (base->isVector() || base->isScalar()) { TSwizzleSelectors selectors; @@ -921,7 +934,7 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt } } if (fieldFound) { - if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlatten(base->getType()))) { + if (base->getAsSymbolNode() && (wasFlattened(base) || shouldFlattenUniform(base->getType()))) { result = flattenAccess(base, member); } else { // Update the base and member to access if this was a split structure. @@ -946,17 +959,28 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt return result; } -// Determine whether we should split this type -bool HlslParseContext::shouldSplit(const TType& type) +// +// Return true if the field should be treated as a built-in method. +// Return false otherwise. +// +bool HlslParseContext::isBuiltInMethod(const TSourceLoc&, TIntermTyped* base, const TString& field) { - if (! inEntryPoint) + if (base == nullptr) return false; - const TStorageQualifier qualifier = type.getQualifier().storage; + variableCheck(base); - // If it contains interstage IO, but not ONLY interstage IO, split the struct. - return type.isStruct() && type.containsBuiltInInterstageIO(language) && - (qualifier == EvqVaryingIn || qualifier == EvqVaryingOut); + if (base->getType().getBasicType() == EbtSampler) { + return true; + } else if (isStructBufferType(base->getType()) && isStructBufferMethod(field)) { + return true; + } else if (field == "Append" || + field == "RestartStrip") { + // We cannot check the type here: it may be sanitized if we're not compiling a geometry shader, but + // the code is around in the shader source. + return true; + } else + return false; } // Split the type of the given node into two structs: @@ -984,7 +1008,7 @@ void HlslParseContext::split(const TVariable& variable) { const TType& type = variable.getType(); - TString name = (&variable == entryPointOutput) ? "" : variable.getName(); + TString name = variable.getName(); // Create a new variable: TType& splitType = split(*type.clone(), name); @@ -1010,7 +1034,7 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru if (type.isStruct()) { TTypeList* userStructure = type.getWritableStruct(); - // Get iterator to (now at end) set of builtin iterstage IO members + // Get iterator to (now at end) set of builtin interstage IO members const auto firstIo = std::stable_partition(userStructure->begin(), userStructure->end(), [this](const TTypeLoc& t) {return !t.type->isBuiltInInterstageIO(language);}); @@ -1042,35 +1066,13 @@ TType& HlslParseContext::split(TType& type, TString name, const TType* outerStru return type; } -// Determine whether we should flatten an arbitrary type. -bool HlslParseContext::shouldFlatten(const TType& type) const -{ - return shouldFlattenIO(type) || shouldFlattenUniform(type); -} - -// Is this an IO variable that can't be passed down the stack? -// E.g., pipeline inputs to the vertex stage and outputs from the fragment stage. -bool HlslParseContext::shouldFlattenIO(const TType& type) const -{ - if (! inEntryPoint) - return false; - - const TStorageQualifier qualifier = type.getQualifier().storage; - - if (!type.isStruct()) - return false; - - return ((language == EShLangVertex && qualifier == EvqVaryingIn) || - (language == EShLangFragment && qualifier == EvqVaryingOut)); -} - // Is this a uniform array which should be flattened? bool HlslParseContext::shouldFlattenUniform(const TType& type) const { const TStorageQualifier qualifier = type.getQualifier().storage; - return ((type.isArray() && intermediate.getFlattenUniformArrays()) || type.isStruct()) && - qualifier == EvqUniform && + return qualifier == EvqUniform && + ((type.isArray() && intermediate.getFlattenUniformArrays()) || type.isStruct()) && type.containsOpaque(); } @@ -1131,8 +1133,8 @@ int HlslParseContext::flatten(const TSourceLoc& loc, const TVariable& variable, // Add a single flattened member to the flattened data being tracked for the composite // Returns true for the final flattening level. int HlslParseContext::addFlattenedMember(const TSourceLoc& loc, - const TVariable& variable, const TType& type, TFlattenData& flattenData, - const TString& memberName, bool track) + const TVariable& variable, const TType& type, TFlattenData& flattenData, + const TString& memberName, bool track) { if (isFinalFlattening(type)) { // This is as far as we flatten. Insert the variable. @@ -1146,7 +1148,7 @@ int HlslParseContext::addFlattenedMember(const TSourceLoc& loc, flattenData.members.push_back(memberVariable); if (track) - trackLinkageDeferred(*memberVariable); + trackLinkage(*memberVariable); return static_cast(flattenData.offsets.size())-1; // location of the member reference } else { @@ -1158,12 +1160,9 @@ int HlslParseContext::addFlattenedMember(const TSourceLoc& loc, // Figure out the mapping between an aggregate's top members and an // equivalent set of individual variables. // -// N.B. Erases memory of I/O-related annotations in the original type's member, -// effecting a transfer of this information to the flattened variable form. -// // Assumes shouldFlatten() or equivalent was called first. int HlslParseContext::flattenStruct(const TSourceLoc& loc, const TVariable& variable, const TType& type, - TFlattenData& flattenData, TString name) + TFlattenData& flattenData, TString name) { assert(type.isStruct()); @@ -1180,9 +1179,6 @@ int HlslParseContext::flattenStruct(const TSourceLoc& loc, const TVariable& vari const int mpos = addFlattenedMember(loc, variable, dereferencedType, flattenData, memberName, false); flattenData.offsets[pos++] = mpos; - - // N.B. Erase I/O-related annotations from the source-type member. - dereferencedType.getQualifier().makeTemporary(); } return start; @@ -1374,6 +1370,17 @@ TIntermTyped* HlslParseContext::splitAccessStruct(const TSourceLoc& loc, TInterm } } +// Pass through to base class after remembering builtin mappings. +void HlslParseContext::trackLinkage(TSymbol& symbol) +{ + TBuiltInVariable biType = symbol.getType().getQualifier().builtIn; + if (biType != EbvNone) + builtInLinkageSymbols[biType] = symbol.clone(); + + TParseContextBase::trackLinkage(symbol); +} + + // Variables that correspond to the user-interface in and out of a stage // (not the built-in interface) are assigned locations and // registered as a linkage node (part of the stage's external interface). @@ -1393,6 +1400,7 @@ void HlslParseContext::assignLocations(TVariable& variable) nextOutLocation += intermediate.computeTypeLocationSize(variable.getType()); } } + trackLinkage(variable); } }; @@ -1403,12 +1411,7 @@ void HlslParseContext::assignLocations(TVariable& variable) assignLocation(**member); } else if (wasSplit(variable.getUniqueId())) { TVariable* splitIoVar = getSplitIoVar(&variable); - const TTypeList* structure = splitIoVar->getType().getStruct(); - // Struct splitting can produce empty structures if the only members of the - // struct were builtin interstage IO types. Only assign locations if it - // isn't a struct, or is a non-empty struct. - if (structure == nullptr || !structure->empty()) - assignLocation(*splitIoVar); + assignLocation(*splitIoVar); } else { assignLocation(variable); } @@ -1418,7 +1421,7 @@ void HlslParseContext::assignLocations(TVariable& variable) // Handle seeing a function declarator in the grammar. This is the precursor // to recognizing a function prototype or function definition. // -TFunction& HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunction& function, bool prototype) +void HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFunction& function, bool prototype) { // // Multiple declarations of the same function name are allowed. @@ -1446,13 +1449,6 @@ TFunction& HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFu // other forms of name collisions. if (! symbolTable.insert(function)) error(loc, "function name is redeclaration of existing name", function.getName().c_str(), ""); - - // - // If this is a redeclaration, it could also be a definition, - // in which case, we need to use the parameter names from this one, and not the one that's - // being redeclared. So, pass back this declaration, not the one in the symbol table. - // - return function; } // Add interstage IO variables to the linkage in canonical order. @@ -1472,72 +1468,12 @@ void HlslParseContext::addInterstageIoToLinkage() // We have to (potentially) track two IO blocks, one in, one out. E.g, a GS may have a // PerVertex block in both directions, possibly with different members. - static const TStorageQualifier ioType[2] = { EvqVaryingIn, EvqVaryingOut }; - static const char* blockName[2] = { "PerVertex_in", "PerVertex_out" }; - - TTypeList* ioBlockTypes[2] = { nullptr, nullptr }; - TArraySizes* ioBlockArray[2] = { nullptr, nullptr }; - for (int idx = 0; idx < int(io.size()); ++idx) { TVariable* var = interstageBuiltInIo[io[idx]]; // Add the loose interstage IO to the linkage if (var->getType().isLooseAndBuiltIn(language)) - trackLinkageDeferred(*var); - - // Add the PerVertex interstage IO to the IO block - if (var->getType().isPerVertexAndBuiltIn(language)) { - int blockId = 0; - switch (var->getType().getQualifier().storage) { - case EvqVaryingIn: blockId = 0; break; - case EvqVaryingOut: blockId = 1; break; - default: assert(0 && "Invalid storage qualifier"); - } - - // Lazy creation of type list only if we end up needing it. - if (ioBlockTypes[blockId] == nullptr) - ioBlockTypes[blockId] = new TTypeList(); - - TTypeLoc member = { new TType(EbtVoid), loc }; - member.type->shallowCopy(var->getType()); - member.type->setFieldName(var->getName()); - - // We may have collected these from different parts of different structures. If their - // array dimensions are not the same, we don't know what to do, so issue an error. - if (member.type->isArray()) { - if (ioBlockArray[blockId] == nullptr) { - ioBlockArray[blockId] = &member.type->getArraySizes(); - } else { - if (*ioBlockArray[blockId] != member.type->getArraySizes()) - error(loc, "PerVertex block array dimension mismatch", "", ""); - } - member.type->clearArraySizes(); - } - - ioBlockTypes[blockId]->push_back(member); - } - } - - // If there were PerVertex items, add the block to the linkage. Handle in and out separately. - for (int blockId = 0; blockId <= 1; ++blockId) { - if (ioBlockTypes[blockId] != nullptr) { - const TString* instanceName = NewPoolTString(blockName[blockId]); - TQualifier blockQualifier; - - blockQualifier.clear(); - blockQualifier.storage = ioType[blockId]; - - TType blockType(ioBlockTypes[blockId], *instanceName, blockQualifier); - - if (ioBlockArray[blockId] != nullptr) - blockType.newArraySizes(*ioBlockArray[blockId]); - - TVariable* ioBlock = new TVariable(instanceName, blockType); - if (!symbolTable.insert(*ioBlock)) - error(loc, "block instance name redefinition", ioBlock->getName().c_str(), ""); - else - trackLinkageDeferred(*ioBlock); - } + trackLinkage(*var); } } @@ -1545,8 +1481,10 @@ void HlslParseContext::addInterstageIoToLinkage() // Handle seeing the function prototype in front of a function definition in the grammar. // The body is handled after this function returns. // +// Returns an aggregate of parameter-symbol nodes. +// TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function, - const TAttributeMap& attributes) + const TAttributeMap& attributes, TIntermNode*& entryPointTree) { currentCaller = function.getMangledName(); TSymbol* symbol = symbolTable.find(function.getMangledName()); @@ -1573,12 +1511,7 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l // Entry points need different I/O and other handling, transform it so the // rest of this function doesn't care. - transformEntryPoint(loc, function, attributes); - - // Insert the $Global constant buffer. - // TODO: this design fails if new members are declared between function definitions. - if (! insertGlobalUniformBlock()) - error(loc, "failed to insert the global constant buffer", "uniform", ""); + entryPointTree = transformEntryPoint(loc, function, attributes); // // New symbol table scope for body of function plus its arguments @@ -1597,40 +1530,26 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l for (int i = 0; i < function.getParamCount(); i++) { TParameter& param = function[i]; if (param.name != nullptr) { - TType* sanitizedType; - - // If we're not in the entry point, parameters are sanitized types. - if (inEntryPoint) - sanitizedType = param.type; - else - sanitizedType = sanitizeType(param.type); - - TVariable *variable = new TVariable(param.name, *sanitizedType); + TVariable *variable = new TVariable(param.name, *param.type); + if (i == 0 && function.hasImplicitThis()) { + // Anonymous 'this' members are already in a symbol-table level, + // and we need to know what function parameter to map them to. + symbolTable.makeInternalVariable(*variable); + pushImplicitThis(variable); + } // Insert the parameters with name in the symbol table. if (! symbolTable.insert(*variable)) error(loc, "redefinition", variable->getName().c_str(), ""); - else { - // get IO straightened out - if (inEntryPoint) { - if (shouldFlatten(*param.type)) - flatten(loc, *variable); - if (shouldSplit(*param.type)) - split(*variable); - assignLocations(*variable); - } - - // Transfer ownership of name pointer to symbol table. - param.name = nullptr; - - // Add the parameter to the AST - paramNodes = intermediate.growAggregate(paramNodes, - intermediate.addSymbol(*variable, loc), - loc); - } + // Add the parameter to the AST + paramNodes = intermediate.growAggregate(paramNodes, + intermediate.addSymbol(*variable, loc), + loc); } else paramNodes = intermediate.growAggregate(paramNodes, intermediate.addSymbol(*param.type, loc), loc); } + if (function.hasIllegalImplicitThis()) + pushImplicitThis(nullptr); intermediate.setAggregateOperator(paramNodes, EOpParameters, TType(EbtVoid), loc); loopNestingLevel = 0; @@ -1641,33 +1560,48 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l } // -// Do all special handling for the entry point. +// Do all special handling for the entry point, including wrapping +// the shader's entry point with the official entry point that will call it. +// +// The following: +// +// retType shaderEntryPoint(args...) // shader declared entry point +// { body } +// +// Becomes +// +// out retType ret; +// in iargs...; +// out oargs ...; // -void HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& function, const TAttributeMap& attributes) +// void shaderEntryPoint() // synthesized, but official, entry point +// { +// args = iargs...; +// ret = @shaderEntryPoint(args...); +// oargs = args...; +// } +// +// The symbol table will still map the original entry point name to the +// the modified function and it's new name: +// +// symbol table: shaderEntryPoint -> @shaderEntryPoint +// +// Returns nullptr if no entry-point tree was built, otherwise, returns +// a subtree that creates the entry point. +// +TIntermNode* HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& userFunction, const TAttributeMap& attributes) { - inEntryPoint = function.getName().compare(intermediate.getEntryPointName().c_str()) == 0; - - if (!inEntryPoint) { - remapNonEntryPointIO(function); - return; + // if we aren't in the entry point, fix the IO as such and exit + if (userFunction.getName().compare(intermediate.getEntryPointName().c_str()) != 0) { + remapNonEntryPointIO(userFunction); + return nullptr; } - // entry point logic... - - intermediate.setEntryPointMangledName(function.getMangledName().c_str()); - intermediate.incrementEntryPointCount(); + entryPointFunction = &userFunction; // needed in finish() - // Handle parameters and return value - remapEntryPointIO(function); - if (entryPointOutput) { - if (shouldFlatten(entryPointOutput->getType())) - flatten(loc, *entryPointOutput); - if (shouldSplit(entryPointOutput->getType())) - split(*entryPointOutput); - assignLocations(*entryPointOutput); - } + // entry point logic... - // Handle function attributes + // Handle entry-point function attributes const TIntermAggregate* numThreads = attributes[EatNumThreads]; if (numThreads != nullptr) { const TIntermSequence& sequence = numThreads->getSequence(); @@ -1675,9 +1609,223 @@ void HlslParseContext::transformEntryPoint(const TSourceLoc& loc, TFunction& fun for (int lid = 0; lid < int(sequence.size()); ++lid) intermediate.setLocalSize(lid, sequence[lid]->getAsConstantUnion()->getConstArray()[0].getIConst()); } + + // MaxVertexCount const TIntermAggregate* maxVertexCount = attributes[EatMaxVertexCount]; - if (maxVertexCount != nullptr) - intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->getConstArray()[0].getIConst()); + if (maxVertexCount != nullptr) { + if (! intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->getConstArray()[0].getIConst())) { + error(loc, "cannot change previously set maxvertexcount attribute", "", ""); + } + } + + // Handle [patchconstantfunction("...")] + const TIntermAggregate* pcfAttr = attributes[EatPatchConstantFunc]; + if (pcfAttr != nullptr) { + const TConstUnion& pcfName = pcfAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0]; + + if (pcfName.getType() != EbtString) { + error(loc, "invalid patch constant function", "", ""); + } else { + patchConstantFunctionName = *pcfName.getSConst(); + } + } + + // Handle [domain("...")] + const TIntermAggregate* domainAttr = attributes[EatDomain]; + if (domainAttr != nullptr) { + const TConstUnion& domainType = domainAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0]; + if (domainType.getType() != EbtString) { + error(loc, "invalid domain", "", ""); + } else { + TString domainStr = *domainType.getSConst(); + std::transform(domainStr.begin(), domainStr.end(), domainStr.begin(), ::tolower); + + TLayoutGeometry domain = ElgNone; + + if (domainStr == "tri") { + domain = ElgTriangles; + } else if (domainStr == "quad") { + domain = ElgQuads; + } else if (domainStr == "isoline") { + domain = ElgIsolines; + } else { + error(loc, "unsupported domain type", domainStr.c_str(), ""); + } + + if (! intermediate.setInputPrimitive(domain)) { + error(loc, "cannot change previously set domain", TQualifier::getGeometryString(domain), ""); + } + } + } + + // Handle [outputtoplogy("...")] + const TIntermAggregate* topologyAttr = attributes[EatOutputTopology]; + if (topologyAttr != nullptr) { + const TConstUnion& topoType = topologyAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0]; + if (topoType.getType() != EbtString) { + error(loc, "invalid outputtoplogy", "", ""); + } else { + TString topologyStr = *topoType.getSConst(); + std::transform(topologyStr.begin(), topologyStr.end(), topologyStr.begin(), ::tolower); + + TVertexOrder topology = EvoNone; + + if (topologyStr == "point") { + topology = EvoNone; + } else if (topologyStr == "line") { + topology = EvoNone; + } else if (topologyStr == "triangle_cw") { + topology = EvoCw; + } else if (topologyStr == "triangle_ccw") { + topology = EvoCcw; + } else { + error(loc, "unsupported outputtoplogy type", topologyStr.c_str(), ""); + } + + if (topology != EvoNone) { + if (! intermediate.setVertexOrder(topology)) { + error(loc, "cannot change previously set outputtopology", TQualifier::getVertexOrderString(topology), ""); + } + } + } + } + + // Handle [partitioning("...")] + const TIntermAggregate* partitionAttr = attributes[EatPartitioning]; + if (partitionAttr != nullptr) { + const TConstUnion& partType = partitionAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0]; + if (partType.getType() != EbtString) { + error(loc, "invalid partitioning", "", ""); + } else { + TString partitionStr = *partType.getSConst(); + std::transform(partitionStr.begin(), partitionStr.end(), partitionStr.begin(), ::tolower); + + TVertexSpacing partitioning = EvsNone; + + if (partitionStr == "integer") { + partitioning = EvsEqual; + } else if (partitionStr == "fractional_even") { + partitioning = EvsFractionalEven; + } else if (partitionStr == "fractional_odd") { + partitioning = EvsFractionalOdd; + //} else if (partition == "pow2") { // TODO: currently nothing to map this to. + } else { + error(loc, "unsupported partitioning type", partitionStr.c_str(), ""); + } + + if (! intermediate.setVertexSpacing(partitioning)) + error(loc, "cannot change previously set partitioning", TQualifier::getVertexSpacingString(partitioning), ""); + } + } + + // Handle [outputcontrolpoints("...")] + const TIntermAggregate* outputControlPoints = attributes[EatOutputControlPoints]; + if (outputControlPoints != nullptr) { + const TConstUnion& ctrlPointConst = outputControlPoints->getSequence()[0]->getAsConstantUnion()->getConstArray()[0]; + if (ctrlPointConst.getType() != EbtInt) { + error(loc, "invalid outputcontrolpoints", "", ""); + } else { + const int ctrlPoints = ctrlPointConst.getIConst(); + if (! intermediate.setVertices(ctrlPoints)) { + error(loc, "cannot change previously set outputcontrolpoints attribute", "", ""); + } + } + } + + // Move parameters and return value to shader in/out + TVariable* entryPointOutput; // gets created in remapEntryPointIO + TVector inputs; + TVector outputs; + remapEntryPointIO(userFunction, entryPointOutput, inputs, outputs); + + // Further this return/in/out transform by flattening, splitting, and assigning locations + const auto makeVariableInOut = [&](TVariable& variable) { + if (variable.getType().isStruct()) { + const TStorageQualifier qualifier = variable.getType().getQualifier().storage; + // struct inputs to the vertex stage and outputs from the fragment stage must be flattened + if ((language == EShLangVertex && qualifier == EvqVaryingIn) || + (language == EShLangFragment && qualifier == EvqVaryingOut)) + flatten(loc, variable); + // Mixture of IO and non-IO must be split + else if (variable.getType().containsBuiltInInterstageIO(language)) + split(variable); + } + assignLocations(variable); + }; + if (entryPointOutput) + makeVariableInOut(*entryPointOutput); + for (auto it = inputs.begin(); it != inputs.end(); ++it) + makeVariableInOut(*(*it)); + for (auto it = outputs.begin(); it != outputs.end(); ++it) + makeVariableInOut(*(*it)); + + // Synthesize the call + + pushScope(); // matches the one in handleFunctionBody() + + // new signature + TType voidType(EbtVoid); + TFunction synthEntryPoint(&userFunction.getName(), voidType); + TIntermAggregate* synthParams = new TIntermAggregate(); + intermediate.setAggregateOperator(synthParams, EOpParameters, voidType, loc); + intermediate.setEntryPointMangledName(synthEntryPoint.getMangledName().c_str()); + intermediate.incrementEntryPointCount(); + TFunction callee(&userFunction.getName(), voidType); // call based on old name, which is still in the symbol table + + // change original name + userFunction.addPrefix("@"); // change the name in the function, but not in the symbol table + + // Copy inputs (shader-in -> calling arg), while building up the call node + TVector argVars; + TIntermAggregate* synthBody = new TIntermAggregate(); + auto inputIt = inputs.begin(); + TIntermTyped* callingArgs = nullptr; + for (int i = 0; i < userFunction.getParamCount(); i++) { + TParameter& param = userFunction[i]; + argVars.push_back(makeInternalVariable(*param.name, *param.type)); + argVars.back()->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* arg = intermediate.addSymbol(*argVars.back()); + handleFunctionArgument(&callee, callingArgs, arg); + if (param.type->getQualifier().isParamInput()) { + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, arg, + intermediate.addSymbol(**inputIt))); + inputIt++; + } + } + + // Call + currentCaller = synthEntryPoint.getMangledName(); + TIntermTyped* callReturn = handleFunctionCall(loc, &callee, callingArgs); + currentCaller = userFunction.getMangledName(); + + // Return value + if (entryPointOutput) + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, + intermediate.addSymbol(*entryPointOutput), callReturn)); + else + intermediate.growAggregate(synthBody, callReturn); + + // Output copies + auto outputIt = outputs.begin(); + for (int i = 0; i < userFunction.getParamCount(); i++) { + TParameter& param = userFunction[i]; + if (param.type->getQualifier().isParamOutput()) { + intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, + intermediate.addSymbol(**outputIt), + intermediate.addSymbol(*argVars[i]))); + outputIt++; + } + } + + // Put the pieces together to form a full function subtree + // for the synthesized entry point. + synthBody->setOperator(EOpSequence); + TIntermNode* synthFunctionDef = synthParams; + handleFunctionBody(loc, synthEntryPoint, synthBody, synthFunctionDef); + + entryPointFunctionBody = synthBody; + + return synthFunctionDef; } void HlslParseContext::handleFunctionBody(const TSourceLoc& loc, TFunction& function, TIntermNode* functionBody, TIntermNode*& node) @@ -1687,6 +1835,8 @@ void HlslParseContext::handleFunctionBody(const TSourceLoc& loc, TFunction& func node->getAsAggregate()->setName(function.getMangledName().c_str()); popScope(); + if (function.hasImplicitThis()) + popImplicitThis(); if (function.getType().getBasicType() != EbtVoid && ! functionReturnsValue) error(loc, "function does not return a value:", "", function.getName().c_str()); @@ -1695,45 +1845,48 @@ void HlslParseContext::handleFunctionBody(const TSourceLoc& loc, TFunction& func // AST I/O is done through shader globals declared in the 'in' or 'out' // storage class. An HLSL entry point has a return value, input parameters // and output parameters. These need to get remapped to the AST I/O. -void HlslParseContext::remapEntryPointIO(TFunction& function) +void HlslParseContext::remapEntryPointIO(TFunction& function, TVariable*& returnValue, + TVector& inputs, TVector& outputs) { - // Will auto-assign locations here to the inputs/outputs defined by the entry point - - const auto remapType = [&](TType& type) { - const auto remapBuiltInType = [&](TType& type) { - switch (type.getQualifier().builtIn) { - case EbvFragDepthGreater: - intermediate.setDepth(EldGreater); - type.getQualifier().builtIn = EbvFragDepth; - break; - case EbvFragDepthLesser: - intermediate.setDepth(EldLess); - type.getQualifier().builtIn = EbvFragDepth; - break; - default: - break; + // Do the actual work to make a type be a shader input or output variable, + // and clear the original to be non-IO (for use as a normal function parameter/return). + const auto makeIoVariable = [this](const char* name, TType& type, TStorageQualifier storage) -> TVariable* { + TVariable* ioVariable = makeInternalVariable(name, type); + clearUniformInputOutput(type.getQualifier()); + if (type.getStruct() != nullptr) { + auto newLists = ioTypeMap.find(ioVariable->getType().getStruct()); + if (newLists != ioTypeMap.end()) { + if (storage == EvqVaryingIn && newLists->second.input) + ioVariable->getWritableType().setStruct(newLists->second.input); + else if (storage == EvqVaryingOut && newLists->second.output) + ioVariable->getWritableType().setStruct(newLists->second.output); } - }; - remapBuiltInType(type); - if (type.isStruct()) { - auto members = *type.getStruct(); - for (auto member = members.begin(); member != members.end(); ++member) - remapBuiltInType(*member->type); } + if (storage == EvqVaryingIn) + correctInput(ioVariable->getWritableType().getQualifier()); + else + correctOutput(ioVariable->getWritableType().getQualifier()); + ioVariable->getWritableType().getQualifier().storage = storage; + return ioVariable; }; // return value is actually a shader-scoped output (out) - if (function.getType().getBasicType() != EbtVoid) { - entryPointOutput = makeInternalVariable("@entryPointOutput", function.getType()); - entryPointOutput->getWritableType().getQualifier().storage = EvqVaryingOut; - remapType(function.getWritableType()); - } + if (function.getType().getBasicType() == EbtVoid) + returnValue = nullptr; + else + returnValue = makeIoVariable("@entryPointOutput", function.getWritableType(), EvqVaryingOut); // parameters are actually shader-scoped inputs and outputs (in or out) for (int i = 0; i < function.getParamCount(); i++) { TType& paramType = *function[i].type; - paramType.getQualifier().storage = paramType.getQualifier().isParamInput() ? EvqVaryingIn : EvqVaryingOut; - remapType(paramType); + if (paramType.getQualifier().isParamInput()) { + TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingIn); + inputs.push_back(argAsGlobal); + } + if (paramType.getQualifier().isParamOutput()) { + TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingOut); + outputs.push_back(argAsGlobal); + } } } @@ -1741,15 +1894,15 @@ void HlslParseContext::remapEntryPointIO(TFunction& function) // declares entry point IO built-ins, but these have to be undone. void HlslParseContext::remapNonEntryPointIO(TFunction& function) { - const auto remapBuiltInType = [&](TType& type) { type.getQualifier().builtIn = EbvNone; }; - // return value if (function.getType().getBasicType() != EbtVoid) - remapBuiltInType(function.getWritableType()); + clearUniformInputOutput(function.getWritableType().getQualifier()); - // parameters + // parameters. + // References to structuredbuffer types are left unmodified for (int i = 0; i < function.getParamCount(); i++) - remapBuiltInType(*function[i].type); + if (!isReference(*function[i].type)) + clearUniformInputOutput(function[i].type->getQualifier()); } // Handle function returns, including type conversions to the function return type @@ -1771,23 +1924,7 @@ TIntermNode* HlslParseContext::handleReturnValue(const TSourceLoc& loc, TIntermT } } - // The entry point needs to send any return value to the entry-point output instead. - // So, a subtree is built up, as a two-part sequence, with the first part being an - // assignment subtree, and the second part being a return with no value. - // - // Otherwise, for a non entry point, just return a return statement. - if (inEntryPoint) { - assert(entryPointOutput != nullptr); // should have been error tested at the beginning - TIntermSymbol* left = new TIntermSymbol(entryPointOutput->getUniqueId(), entryPointOutput->getName(), - entryPointOutput->getType()); - TIntermNode* returnSequence = handleAssign(loc, EOpAssign, left, value); - returnSequence = intermediate.makeAggregate(returnSequence); - returnSequence = intermediate.growAggregate(returnSequence, intermediate.addBranch(EOpReturn, loc), loc); - returnSequence->getAsAggregate()->setOperator(EOpSequence); - - return returnSequence; - } else - return intermediate.addBranch(EOpReturn, value, loc); + return intermediate.addBranch(EOpReturn, value, loc); } void HlslParseContext::handleFunctionArgument(TFunction* function, @@ -1878,6 +2015,11 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op int memberIdx = 0; + // When dealing with split arrayed structures of builtins, the arrayness is moved to the extracted builtin + // variables, which is awkward when copying between split and unsplit structures. This variable tracks + // array indirections so they can be percolated from outer structs to inner variables. + std::vector arrayElement; + // We track the outer-most aggregate, so that we can use its storage class later. const TIntermTyped* outerLeft = left; const TIntermTyped* outerRight = right; @@ -1894,7 +2036,14 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op if (split && derefType.isBuiltInInterstageIO(language)) { // copy from interstage IO builtin if needed - subTree = intermediate.addSymbol(*interstageBuiltInIo[tInterstageIoData(derefType, outer->getType())]); + subTree = intermediate.addSymbol(*interstageBuiltInIo.find(HlslParseContext::tInterstageIoData(derefType, outer->getType()))->second); + + // Arrayness of builtIn symbols isn't handled by the normal recursion: it's been extracted and moved to the builtin. + if (subTree->getType().isArray() && !arrayElement.empty()) { + const TType splitDerefType(subTree->getType(), arrayElement.back()); + subTree = intermediate.addIndex(EOpIndexDirect, subTree, intermediate.addConstantUnion(arrayElement.back(), loc), loc); + subTree->setType(splitDerefType); + } } else if (flattened && isFinalFlattening(derefType)) { subTree = intermediate.addSymbol(*flatVariables[memberIdx++]); } else { @@ -1925,7 +2074,9 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op // array case for (int element=0; element < left->getType().getOuterArraySize(); ++element) { - // Add a new AST symbol node if we have a temp variable holding a complex RHS. + arrayElement.push_back(element); + + // Add a new AST symbol node if we have a temp variable holding a complex RHS. TIntermTyped* subLeft = getMember(true, left, element, left, element); TIntermTyped* subRight = getMember(false, right, element, right, element); @@ -1936,6 +2087,8 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, subLeft, subRight, loc), loc); else traverse(subLeft, subRight, subSplitLeft, subSplitRight); + + arrayElement.pop_back(); } } else if (left->getType().isStruct()) { // struct case @@ -1947,6 +2100,10 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op int memberL = 0; int memberR = 0; + // Handle empty structure assignment + if (int(membersL.size()) == 0 && int(membersR.size()) == 0) + assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, left, right, loc), loc); + for (int member = 0; member < int(membersL.size()); ++member) { const TType& typeL = *membersL[member].type; const TType& typeR = *membersR[member].type; @@ -2019,7 +2176,7 @@ TIntermTyped* HlslParseContext::handleAssignToMatrixSwizzle(const TSourceLoc& lo TIntermTyped* vectorAssign = nullptr; if (vector == nullptr) { // create a new intermediate vector variable to assign to - TType vectorType(matrix->getBasicType(), EvqTemporary, matrix->getQualifier().precision, swizzle.size()/2); + TType vectorType(matrix->getBasicType(), EvqTemporary, matrix->getQualifier().precision, (int)swizzle.size()/2); vector = intermediate.addSymbol(*makeInternalVariable("intermVec", vectorType), loc); // assign the right to the new vector @@ -2103,103 +2260,346 @@ TIntermAggregate* HlslParseContext::handleSamplerTextureCombine(const TSourceLoc } // -// Decompose DX9 and DX10 sample intrinsics & object methods into AST +// Decompose structure buffer methods into AST // -void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments) +void HlslParseContext::decomposeStructBufferMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments) { if (!node || !node->getAsOperator()) return; - const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) -> TIntermTyped* { - // Sampler return must always be a vec4, but we can construct a shorter vector - result->setType(TType(node->getType().getBasicType(), EvqTemporary, node->getVectorSize())); + const TOperator op = node->getAsOperator()->getOp(); + TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr; + if (argAggregate == nullptr) + return; - if (sampler.vectorSize < (unsigned)node->getVectorSize()) { - // Too many components. Construct shorter vector from it. - const TType clampedType(result->getType().getBasicType(), EvqTemporary, sampler.vectorSize); + // Buffer is the object upon which method is called, so always arg 0 + TIntermTyped* bufferObj = argAggregate->getSequence()[0]->getAsTyped(); - const TOperator op = intermediate.mapTypeToConstructorOp(clampedType); + // Index to obtain the runtime sized array out of the buffer. + TIntermTyped* argArray = indexStructBufferContent(loc, bufferObj); + if (argArray == nullptr) + return; // It might not be a struct buffer method. - result = constructBuiltIn(clampedType, op, result, loc, false); - } + switch (op) { + case EOpMethodLoad: + { + TIntermTyped* argIndex = argAggregate->getSequence()[1]->getAsTyped(); // index - result->setLoc(loc); - return result; - }; + // Byte address buffers index in bytes (only multiples of 4 permitted... not so much a byte address + // buffer then, but that's what it calls itself. + const bool isByteAddressBuffer = (argArray->getBasicType() == EbtUint); + if (isByteAddressBuffer) + argIndex = intermediate.addBinaryNode(EOpRightShift, argIndex, intermediate.addConstantUnion(2, loc, true), + loc, TType(EbtInt)); - const TOperator op = node->getAsOperator()->getOp(); - const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr; + // Index into the array to find the item being loaded. + const TOperator idxOp = (argIndex->getQualifier().storage == EvqConst) ? EOpIndexDirect : EOpIndexIndirect; - switch (op) { - // **** DX9 intrinsics: **** - case EOpTexture: - { - // Texture with ddx & ddy is really gradient form in HLSL - if (argAggregate->getSequence().size() == 4) - node->getAsAggregate()->setOperator(EOpTextureGrad); + node = intermediate.addIndex(idxOp, argArray, argIndex, loc); - break; + const TType derefType(argArray->getType(), 0); + node->setType(derefType); } + + break; - case EOpTextureBias: + case EOpMethodLoad2: + case EOpMethodLoad3: + case EOpMethodLoad4: { - TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); // sampler - TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); // coord - - // HLSL puts bias in W component of coordinate. We extract it and add it to - // the argument list, instead - TIntermTyped* w = intermediate.addConstantUnion(3, loc, true); - TIntermTyped* bias = intermediate.addIndex(EOpIndexDirect, arg1, w, loc); + TIntermTyped* argIndex = argAggregate->getSequence()[1]->getAsTyped(); // index TOperator constructOp = EOpNull; - const TSampler& sampler = arg0->getType().getSampler(); + int size = 0; - switch (sampler.dim) { - case Esd1D: constructOp = EOpConstructFloat; break; // 1D - case Esd2D: constructOp = EOpConstructVec2; break; // 2D - case Esd3D: constructOp = EOpConstructVec3; break; // 3D - case EsdCube: constructOp = EOpConstructVec3; break; // also 3D - default: break; + switch (op) { + case EOpMethodLoad2: size = 2; constructOp = EOpConstructVec2; break; + case EOpMethodLoad3: size = 3; constructOp = EOpConstructVec3; break; + case EOpMethodLoad4: size = 4; constructOp = EOpConstructVec4; break; + default: assert(0); } - TIntermAggregate* constructCoord = new TIntermAggregate(constructOp); - constructCoord->getSequence().push_back(arg1); - constructCoord->setLoc(loc); + TIntermTyped* body = nullptr; - // The input vector should never be less than 2, since there's always a bias. - // The max is for safety, and should be a no-op. - constructCoord->setType(TType(arg1->getBasicType(), EvqTemporary, std::max(arg1->getVectorSize() - 1, 0))); + // First, we'll store the address in a variable to avoid multiple shifts + // (we must convert the byte address to an item address) + TIntermTyped* byteAddrIdx = intermediate.addBinaryNode(EOpRightShift, argIndex, + intermediate.addConstantUnion(2, loc, true), loc, TType(EbtInt)); - TIntermAggregate* tex = new TIntermAggregate(EOpTexture); - tex->getSequence().push_back(arg0); // sampler - tex->getSequence().push_back(constructCoord); // coordinate - tex->getSequence().push_back(bias); // bias + TVariable* byteAddrSym = makeInternalVariable("byteAddrTemp", TType(EbtInt, EvqTemporary)); + TIntermTyped* byteAddrIdxVar = intermediate.addSymbol(*byteAddrSym, loc); - node = clampReturn(tex, sampler); + body = intermediate.growAggregate(body, intermediate.addAssign(EOpAssign, byteAddrIdxVar, byteAddrIdx, loc)); - break; - } + TIntermTyped* vec = nullptr; - // **** DX10 methods: **** - case EOpMethodSample: // fall through - case EOpMethodSampleBias: // ... - { - TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped(); - TIntermTyped* argSamp = argAggregate->getSequence()[1]->getAsTyped(); - TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped(); - TIntermTyped* argBias = nullptr; - TIntermTyped* argOffset = nullptr; - const TSampler& sampler = argTex->getType().getSampler(); + // These are only valid on (rw)byteaddressbuffers, so we can always perform the >>2 + // address conversion. + for (int idx=0; idxgetSequence()[nextArg++]->getAsTyped(); + const TOperator idxOp = (offsetIdx->getQualifier().storage == EvqConst) ? EOpIndexDirect : EOpIndexIndirect; - TOperator textureOp = EOpTexture; + vec = intermediate.growAggregate(vec, intermediate.addIndex(idxOp, argArray, offsetIdx, loc)); + } - if ((int)argAggregate->getSequence().size() == (nextArg+1)) { // last parameter is offset form - textureOp = EOpTextureOffset; + vec->setType(TType(argArray->getBasicType(), EvqTemporary, size)); + vec->getAsAggregate()->setOperator(constructOp); + + body = intermediate.growAggregate(body, vec); + body->setType(vec->getType()); + body->getAsAggregate()->setOperator(EOpSequence); + + node = body; + } + + break; + + case EOpMethodStore: + case EOpMethodStore2: + case EOpMethodStore3: + case EOpMethodStore4: + { + TIntermTyped* argIndex = argAggregate->getSequence()[1]->getAsTyped(); // address + TIntermTyped* argValue = argAggregate->getSequence()[2]->getAsTyped(); // value + + // Index into the array to find the item being loaded. + // Byte address buffers index in bytes (only multiples of 4 permitted... not so much a byte address + // buffer then, but that's what it calls itself. + + int size = 0; + + switch (op) { + case EOpMethodStore: size = 1; break; + case EOpMethodStore2: size = 2; break; + case EOpMethodStore3: size = 3; break; + case EOpMethodStore4: size = 4; break; + default: assert(0); + } + + TIntermAggregate* body = nullptr; + + // First, we'll store the address in a variable to avoid multiple shifts + // (we must convert the byte address to an item address) + TIntermTyped* byteAddrIdx = intermediate.addBinaryNode(EOpRightShift, argIndex, + intermediate.addConstantUnion(2, loc, true), loc, TType(EbtInt)); + + TVariable* byteAddrSym = makeInternalVariable("byteAddrTemp", TType(EbtInt, EvqTemporary)); + TIntermTyped* byteAddrIdxVar = intermediate.addSymbol(*byteAddrSym, loc); + + body = intermediate.growAggregate(body, intermediate.addAssign(EOpAssign, byteAddrIdxVar, byteAddrIdx, loc)); + + for (int idx=0; idxgetQualifier().storage == EvqConst) ? EOpIndexDirect : EOpIndexIndirect; + + TIntermTyped* lValue = intermediate.addIndex(idxOp, argArray, offsetIdx, loc); + TIntermTyped* rValue = (size == 1) ? argValue : + intermediate.addIndex(EOpIndexDirect, argValue, idxConst, loc); + + TIntermTyped* assign = intermediate.addAssign(EOpAssign, lValue, rValue, loc); + + body = intermediate.growAggregate(body, assign); + } + + body->setOperator(EOpSequence); + node = body; + } + + break; + + case EOpMethodGetDimensions: + { + const int numArgs = (int)argAggregate->getSequence().size(); + TIntermTyped* argNumItems = argAggregate->getSequence()[1]->getAsTyped(); // out num items + TIntermTyped* argStride = numArgs > 2 ? argAggregate->getSequence()[2]->getAsTyped() : nullptr; // out stride + + TIntermAggregate* body = nullptr; + + // Length output: + if (argArray->getType().isRuntimeSizedArray()) { + TIntermTyped* lengthCall = intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, argArray, + argNumItems->getType()); + TIntermTyped* assign = intermediate.addAssign(EOpAssign, argNumItems, lengthCall, loc); + body = intermediate.growAggregate(body, assign, loc); + } else { + const int length = argArray->getType().getOuterArraySize(); + TIntermTyped* assign = intermediate.addAssign(EOpAssign, argNumItems, intermediate.addConstantUnion(length, loc, true), loc); + body = intermediate.growAggregate(body, assign, loc); + } + + // Stride output: + if (argStride != nullptr) { + int size; + int stride; + intermediate.getBaseAlignment(argArray->getType(), size, stride, false, + argArray->getType().getQualifier().layoutMatrix == ElmRowMajor); + + TIntermTyped* assign = intermediate.addAssign(EOpAssign, argStride, intermediate.addConstantUnion(stride, loc, true), loc); + + body = intermediate.growAggregate(body, assign); + } + + body->setOperator(EOpSequence); + node = body; + } + + break; + + case EOpInterlockedAdd: + case EOpInterlockedAnd: + case EOpInterlockedExchange: + case EOpInterlockedMax: + case EOpInterlockedMin: + case EOpInterlockedOr: + case EOpInterlockedXor: + case EOpInterlockedCompareExchange: + case EOpInterlockedCompareStore: + { + // We'll replace the first argument with the block dereference, and let + // downstream decomposition handle the rest. + + TIntermSequence& sequence = argAggregate->getSequence(); + + TIntermTyped* argIndex = sequence[1]->getAsTyped(); // index + argIndex = intermediate.addBinaryNode(EOpRightShift, argIndex, intermediate.addConstantUnion(2, loc, true), + loc, TType(EbtInt)); + + const TOperator idxOp = (argIndex->getQualifier().storage == EvqConst) ? EOpIndexDirect : EOpIndexIndirect; + TIntermTyped* element = intermediate.addIndex(idxOp, argArray, argIndex, loc); + + const TType derefType(argArray->getType(), 0); + element->setType(derefType); + + // Replace the numeric byte offset parameter with array reference. + sequence[1] = element; + sequence.erase(sequence.begin(), sequence.begin()+1); + } + break; + + default: + break; // most pass through unchanged + } +} + +// +// Decompose DX9 and DX10 sample intrinsics & object methods into AST +// +void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments) +{ + if (!node || !node->getAsOperator()) + return; + + const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) -> TIntermTyped* { + // Sampler return must always be a vec4, but we can construct a shorter vector + result->setType(TType(node->getType().getBasicType(), EvqTemporary, node->getVectorSize())); + + if (sampler.vectorSize < (unsigned)node->getVectorSize()) { + // Too many components. Construct shorter vector from it. + const TType clampedType(result->getType().getBasicType(), EvqTemporary, sampler.vectorSize); + + const TOperator op = intermediate.mapTypeToConstructorOp(clampedType); + + result = constructBuiltIn(clampedType, op, result, loc, false); + } + + result->setLoc(loc); + return result; + }; + + const TOperator op = node->getAsOperator()->getOp(); + const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr; + + // Bail out if not a sampler method + if (arguments != nullptr) { + if ((argAggregate != nullptr && argAggregate->getSequence()[0]->getAsTyped()->getBasicType() != EbtSampler)) + return; + + if (argAggregate == nullptr && arguments->getAsTyped()->getBasicType() != EbtSampler) + return; + } + + switch (op) { + // **** DX9 intrinsics: **** + case EOpTexture: + { + // Texture with ddx & ddy is really gradient form in HLSL + if (argAggregate->getSequence().size() == 4) + node->getAsAggregate()->setOperator(EOpTextureGrad); + + break; + } + + case EOpTextureBias: + { + TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); // sampler + TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); // coord + + // HLSL puts bias in W component of coordinate. We extract it and add it to + // the argument list, instead + TIntermTyped* w = intermediate.addConstantUnion(3, loc, true); + TIntermTyped* bias = intermediate.addIndex(EOpIndexDirect, arg1, w, loc); + + TOperator constructOp = EOpNull; + const TSampler& sampler = arg0->getType().getSampler(); + + switch (sampler.dim) { + case Esd1D: constructOp = EOpConstructFloat; break; // 1D + case Esd2D: constructOp = EOpConstructVec2; break; // 2D + case Esd3D: constructOp = EOpConstructVec3; break; // 3D + case EsdCube: constructOp = EOpConstructVec3; break; // also 3D + default: break; + } + + TIntermAggregate* constructCoord = new TIntermAggregate(constructOp); + constructCoord->getSequence().push_back(arg1); + constructCoord->setLoc(loc); + + // The input vector should never be less than 2, since there's always a bias. + // The max is for safety, and should be a no-op. + constructCoord->setType(TType(arg1->getBasicType(), EvqTemporary, std::max(arg1->getVectorSize() - 1, 0))); + + TIntermAggregate* tex = new TIntermAggregate(EOpTexture); + tex->getSequence().push_back(arg0); // sampler + tex->getSequence().push_back(constructCoord); // coordinate + tex->getSequence().push_back(bias); // bias + + node = clampReturn(tex, sampler); + + break; + } + + // **** DX10 methods: **** + case EOpMethodSample: // fall through + case EOpMethodSampleBias: // ... + { + TIntermTyped* argTex = argAggregate->getSequence()[0]->getAsTyped(); + TIntermTyped* argSamp = argAggregate->getSequence()[1]->getAsTyped(); + TIntermTyped* argCoord = argAggregate->getSequence()[2]->getAsTyped(); + TIntermTyped* argBias = nullptr; + TIntermTyped* argOffset = nullptr; + const TSampler& sampler = argTex->getType().getSampler(); + + int nextArg = 3; + + if (op == EOpMethodSampleBias) // SampleBias has a bias arg + argBias = argAggregate->getSequence()[nextArg++]->getAsTyped(); + + TOperator textureOp = EOpTexture; + + if ((int)argAggregate->getSequence().size() == (nextArg+1)) { // last parameter is offset form + textureOp = EOpTextureOffset; argOffset = argAggregate->getSequence()[nextArg++]->getAsTyped(); } @@ -2270,6 +2670,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType const TSampler& sampler = texType.getSampler(); const TSamplerDim dim = sampler.dim; const bool isImage = sampler.isImage(); + const bool isMs = sampler.isMultiSample(); const int numArgs = (int)argAggregate->getSequence().size(); int numDims = 0; @@ -2280,6 +2681,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType case Esd3D: numDims = 3; break; // W, H, D case EsdCube: numDims = 2; break; // W, H (cube) case EsdBuffer: numDims = 1; break; // W (buffers) + case EsdRect: numDims = 2; break; // W, H (rect) default: assert(0 && "unhandled texture dimension"); } @@ -2288,17 +2690,31 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType if (sampler.isArrayed()) ++numDims; - // Establish whether we're querying mip levels - const bool mipQuery = (numArgs > (numDims + 1)) && (!sampler.isMultiSample()); + // Establish whether the method itself is querying mip levels. This can be false even + // if the underlying query requires a MIP level, due to the available HLSL method overloads. + const bool mipQuery = (numArgs > (numDims + 1 + (isMs ? 1 : 0))); + + // Establish whether we must use the LOD form of query (even if the method did not supply a mip level to query). + // True if: + // 1. 1D/2D/3D/Cube AND multisample==0 AND NOT image (those can be sent to the non-LOD query) + // or, + // 2. There is a LOD (because the non-LOD query cannot be used in that case, per spec) + const bool mipRequired = + ((dim == Esd1D || dim == Esd2D || dim == Esd3D || dim == EsdCube) && !isMs && !isImage) || // 1... + mipQuery; // 2... // AST assumes integer return. Will be converted to float if required. TIntermAggregate* sizeQuery = new TIntermAggregate(isImage ? EOpImageQuerySize : EOpTextureQuerySize); sizeQuery->getSequence().push_back(argTex); - // If we're querying an explicit LOD, add the LOD, which is always arg #1 - if (mipQuery) { - TIntermTyped* queryLod = argAggregate->getSequence()[1]->getAsTyped(); + + // If we're building an LOD query, add the LOD. + if (mipRequired) { + // If the base HLSL query had no MIP level given, use level 0. + TIntermTyped* queryLod = mipQuery ? argAggregate->getSequence()[1]->getAsTyped() : + intermediate.addConstantUnion(0, loc, true); sizeQuery->getSequence().push_back(queryLod); } + sizeQuery->setType(TType(EbtUint, EvqTemporary, numDims)); sizeQuery->setLoc(loc); @@ -2589,8 +3005,10 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType // For now, we have nothing to map the component-wise comparison forms // to, because neither GLSL nor SPIR-V has such an opcode. Issue an // unimplemented error instead. Most of the machinery is here if that - // should ever become available. - if (cmpValues) { + // should ever become available. However, red can be passed through + // to OpImageDrefGather. G/B/A cannot, because that opcode does not + // accept a component. + if (cmpValues != 0 && op != EOpMethodGatherCmpRed) { error(loc, "unimplemented: component-level gather compare", "", ""); return; } @@ -2671,14 +3089,16 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType } // Add comparison value if we have one - if (argTex->getType().getSampler().isShadow()) + if (argCmp != nullptr) txgather->getSequence().push_back(argCmp); // Add offset (either 1, or an array of 4) if we have one if (argOffset != nullptr) txgather->getSequence().push_back(argOffset); - txgather->getSequence().push_back(argChannel); + // Add channel value if the sampler is not shadow + if (! argSamp->getType().getSampler().isShadow()) + txgather->getSequence().push_back(argChannel); txgather->setType(node->getType()); txgather->setLoc(loc); @@ -3153,10 +3573,107 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& } case EOpF16tof32: + { + // input uvecN with low 16 bits of each component holding a float16. convert to float32. + TIntermTyped* argValue = node->getAsUnaryNode()->getOperand(); + TIntermTyped* zero = intermediate.addConstantUnion(0, loc, true); + const int vecSize = argValue->getType().getVectorSize(); + + TOperator constructOp = EOpNull; + switch (vecSize) { + case 1: constructOp = EOpNull; break; // direct use, no construct needed + case 2: constructOp = EOpConstructVec2; break; + case 3: constructOp = EOpConstructVec3; break; + case 4: constructOp = EOpConstructVec4; break; + default: assert(0); break; + } + + // For scalar case, we don't need to construct another type. + TIntermAggregate* result = (vecSize > 1) ? new TIntermAggregate(constructOp) : nullptr; + + if (result) { + result->setType(TType(EbtFloat, EvqTemporary, vecSize)); + result->setLoc(loc); + } + + for (int idx = 0; idx < vecSize; ++idx) { + TIntermTyped* idxConst = intermediate.addConstantUnion(idx, loc, true); + TIntermTyped* component = argValue->getType().isVector() ? + intermediate.addIndex(EOpIndexDirect, argValue, idxConst, loc) : argValue; + + if (component != argValue) + component->setType(TType(argValue->getBasicType(), EvqTemporary)); + + TIntermTyped* unpackOp = new TIntermUnary(EOpUnpackHalf2x16); + unpackOp->setType(TType(EbtFloat, EvqTemporary, 2)); + unpackOp->getAsUnaryNode()->setOperand(component); + unpackOp->setLoc(loc); + + TIntermTyped* lowOrder = intermediate.addIndex(EOpIndexDirect, unpackOp, zero, loc); + + if (result != nullptr) { + result->getSequence().push_back(lowOrder); + node = result; + } else { + node = lowOrder; + } + } + + break; + } + case EOpF32tof16: { - // Temporary until decomposition is available. - error(loc, "unimplemented intrinsic: handle natively", "f32tof16", ""); + // input floatN converted to 16 bit float in low order bits of each component of uintN + TIntermTyped* argValue = node->getAsUnaryNode()->getOperand(); + + TIntermTyped* zero = intermediate.addConstantUnion(0.0, EbtFloat, loc, true); + const int vecSize = argValue->getType().getVectorSize(); + + TOperator constructOp = EOpNull; + switch (vecSize) { + case 1: constructOp = EOpNull; break; // direct use, no construct needed + case 2: constructOp = EOpConstructUVec2; break; + case 3: constructOp = EOpConstructUVec3; break; + case 4: constructOp = EOpConstructUVec4; break; + default: assert(0); break; + } + + // For scalar case, we don't need to construct another type. + TIntermAggregate* result = (vecSize > 1) ? new TIntermAggregate(constructOp) : nullptr; + + if (result) { + result->setType(TType(EbtUint, EvqTemporary, vecSize)); + result->setLoc(loc); + } + + for (int idx = 0; idx < vecSize; ++idx) { + TIntermTyped* idxConst = intermediate.addConstantUnion(idx, loc, true); + TIntermTyped* component = argValue->getType().isVector() ? + intermediate.addIndex(EOpIndexDirect, argValue, idxConst, loc) : argValue; + + if (component != argValue) + component->setType(TType(argValue->getBasicType(), EvqTemporary)); + + TIntermAggregate* vec2ComponentAndZero = new TIntermAggregate(EOpConstructVec2); + vec2ComponentAndZero->getSequence().push_back(component); + vec2ComponentAndZero->getSequence().push_back(zero); + vec2ComponentAndZero->setType(TType(EbtFloat, EvqTemporary, 2)); + vec2ComponentAndZero->setLoc(loc); + + TIntermTyped* packOp = new TIntermUnary(EOpPackHalf2x16); + packOp->getAsUnaryNode()->setOperand(vec2ComponentAndZero); + packOp->setLoc(loc); + packOp->setType(TType(EbtUint, EvqTemporary)); + + if (result != nullptr) { + result->getSequence().push_back(packOp); + node = result; + } else { + node = packOp; + } + } + break; } @@ -3204,9 +3721,7 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct TIntermTyped* result = nullptr; TOperator op = function->getBuiltInOp(); - if (op == EOpArrayLength) - result = handleLengthMethod(loc, function, arguments); - else if (op != EOpNull) { + if (op != EOpNull) { // // Then this should be a constructor. // Don't go through the symbol table for constructors. @@ -3225,9 +3740,30 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct // // Find it in the symbol table. // - const TFunction* fnCandidate; - bool builtIn; - fnCandidate = findFunction(loc, *function, builtIn, arguments); + const TFunction* fnCandidate = nullptr; + bool builtIn = false; + + // TODO: this needs improvement: there's no way at present to look up a signature in + // the symbol table for an arbitrary type. This is a temporary hack until that ability exists. + // It will have false positives, since it doesn't check arg counts or types. + if (arguments && arguments->getAsAggregate()) { + if (isStructBufferType(arguments->getAsAggregate()->getSequence()[0]->getAsTyped()->getType())) { + static const int methodPrefixSize = sizeof(BUILTIN_PREFIX)-1; + + if (function->getName().length() > methodPrefixSize && + isStructBufferMethod(function->getName().substr(methodPrefixSize))) { + const TString mangle = function->getName() + "("; + TSymbol* symbol = symbolTable.find(mangle, &builtIn); + + if (symbol) + fnCandidate = symbol->getAsFunction(); + } + } + } + + if (fnCandidate == nullptr) + fnCandidate = findFunction(loc, *function, builtIn, arguments); + if (fnCandidate) { // This is a declared function that might map to // - a built-in operator, @@ -3273,9 +3809,10 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct // output conversions. const TIntermTyped* fnNode = result; - decomposeIntrinsic(loc, result, arguments); // HLSL->AST intrinsic decompositions - decomposeSampleMethods(loc, result, arguments); // HLSL->AST sample method decompositions - decomposeGeometryMethods(loc, result, arguments); // HLSL->AST geometry method decompositions + decomposeStructBufferMethods(loc, result, arguments); // HLSL->AST struct buffer method decompositions + decomposeIntrinsic(loc, result, arguments); // HLSL->AST intrinsic decompositions + decomposeSampleMethods(loc, result, arguments); // HLSL->AST sample method decompositions + decomposeGeometryMethods(loc, result, arguments); // HLSL->AST geometry method decompositions // Convert 'out' arguments. If it was a constant folded built-in, it won't be an aggregate anymore. // Built-ins with a single argument aren't called with an aggregate, but they also don't have an output. @@ -3301,41 +3838,6 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct return result; } -// Finish processing object.length(). This started earlier in handleDotDereference(), where -// the ".length" part was recognized and semantically checked, and finished here where the -// function syntax "()" is recognized. -// -// Return resulting tree node. -TIntermTyped* HlslParseContext::handleLengthMethod(const TSourceLoc& loc, TFunction* function, TIntermNode* intermNode) -{ - int length = 0; - - if (function->getParamCount() > 0) - error(loc, "method does not accept any arguments", function->getName().c_str(), ""); - else { - const TType& type = intermNode->getAsTyped()->getType(); - if (type.isArray()) { - if (type.isRuntimeSizedArray()) { - // Create a unary op and let the back end handle it - return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt)); - } else - length = type.getOuterArraySize(); - } else if (type.isMatrix()) - length = type.getMatrixCols(); - else if (type.isVector()) - length = type.getVectorSize(); - else { - // we should not get here, because earlier semantic checking should have prevented this path - error(loc, ".length()", "unexpected use of .length()", ""); - } - } - - if (length == 0) - length = 1; - - return intermediate.addConstantUnion(length, loc); -} - // // Add any needed implicit conversions for function-call arguments to input parameters. // @@ -3659,118 +4161,24 @@ TFunction* HlslParseContext::handleConstructorCall(const TSourceLoc& loc, const // Handle seeing a "COLON semantic" at the end of a type declaration, // by updating the type according to the semantic. // -void HlslParseContext::handleSemantic(TSourceLoc loc, TQualifier& qualifier, const TString& semantic) -{ - // TODO: need to know if it's an input or an output - // The following sketches what needs to be done, but can't be right - // without taking into account stage and input/output. - - TString semanticUpperCase = semantic; - std::transform(semanticUpperCase.begin(), semanticUpperCase.end(), semanticUpperCase.begin(), ::toupper); - // in DX9, all outputs had to have a semantic associated with them, that was either consumed - // by the system or was a specific register assignment - // in DX10+, only semantics with the SV_ prefix have any meaning beyond decoration - // Fxc will only accept DX9 style semantics in compat mode - // Also, in DX10 if a SV value is present as the input of a stage, but isn't appropriate for that - // stage, it would just be ignored as it is likely there as part of an output struct from one stage - // to the next - - bool bParseDX9 = false; - if (bParseDX9) { - if (semanticUpperCase == "PSIZE") - qualifier.builtIn = EbvPointSize; - else if (semantic == "FOG") - qualifier.builtIn = EbvFogFragCoord; - else if (semanticUpperCase == "DEPTH") - qualifier.builtIn = EbvFragDepth; - else if (semanticUpperCase == "VFACE") - qualifier.builtIn = EbvFace; - else if (semanticUpperCase == "VPOS") - qualifier.builtIn = EbvFragCoord; - } - - // SV Position has a different meaning in vertex vs fragment - if (semanticUpperCase == "SV_POSITION" && language != EShLangFragment) - qualifier.builtIn = EbvPosition; - else if (semanticUpperCase == "SV_POSITION" && language == EShLangFragment) - qualifier.builtIn = EbvFragCoord; - else if (semanticUpperCase == "SV_CLIPDISTANCE") - qualifier.builtIn = EbvClipDistance; - else if (semanticUpperCase == "SV_CULLDISTANCE") - qualifier.builtIn = EbvCullDistance; - else if (semanticUpperCase == "SV_VERTEXID") - qualifier.builtIn = EbvVertexIndex; - else if (semanticUpperCase == "SV_VIEWPORTARRAYINDEX") - qualifier.builtIn = EbvViewportIndex; - else if (semanticUpperCase == "SV_TESSFACTOR") - qualifier.builtIn = EbvTessLevelOuter; - - // Targets are defined 0-7 - else if (semanticUpperCase == "SV_TARGET") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 0; - } else if (semanticUpperCase == "SV_TARGET0") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 0; - } else if (semanticUpperCase == "SV_TARGET1") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 1; - } else if (semanticUpperCase == "SV_TARGET2") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 2; - } else if (semanticUpperCase == "SV_TARGET3") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 3; - } else if (semanticUpperCase == "SV_TARGET4") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 4; - } else if (semanticUpperCase == "SV_TARGET5") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 5; - } else if (semanticUpperCase == "SV_TARGET6") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 6; - } else if (semanticUpperCase == "SV_TARGET7") { - qualifier.builtIn = EbvNone; - // qualifier.layoutLocation = 7; - } else if (semanticUpperCase == "SV_SAMPLEINDEX") - qualifier.builtIn = EbvSampleId; - else if (semanticUpperCase == "SV_RENDERTARGETARRAYINDEX") - qualifier.builtIn = EbvLayer; - else if (semanticUpperCase == "SV_PRIMITIVEID") - qualifier.builtIn = EbvPrimitiveId; - else if (semanticUpperCase == "SV_OUTPUTCONTROLPOINTID") - qualifier.builtIn = EbvInvocationId; - else if (semanticUpperCase == "SV_ISFRONTFACE") - qualifier.builtIn = EbvFace; - else if (semanticUpperCase == "SV_INSTANCEID") - qualifier.builtIn = EbvInstanceIndex; - else if (semanticUpperCase == "SV_INSIDETESSFACTOR") - qualifier.builtIn = EbvTessLevelInner; - else if (semanticUpperCase == "SV_GSINSTANCEID") - qualifier.builtIn = EbvInvocationId; - else if (semanticUpperCase == "SV_DISPATCHTHREADID") - qualifier.builtIn = EbvGlobalInvocationId; - else if (semanticUpperCase == "SV_GROUPTHREADID") - qualifier.builtIn = EbvLocalInvocationId; - else if (semanticUpperCase == "SV_GROUPID") - qualifier.builtIn = EbvWorkGroupId; - else if (semanticUpperCase == "SV_DOMAINLOCATION") - qualifier.builtIn = EbvTessCoord; - else if (semanticUpperCase == "SV_DEPTH") - qualifier.builtIn = EbvFragDepth; - else if( semanticUpperCase == "SV_COVERAGE") - qualifier.builtIn = EbvSampleMask; - - // TODO, these need to get refined to be more specific - else if( semanticUpperCase == "SV_DEPTHGREATEREQUAL") - qualifier.builtIn = EbvFragDepthGreater; - else if( semanticUpperCase == "SV_DEPTHLESSEQUAL") - qualifier.builtIn = EbvFragDepthLesser; - else if( semanticUpperCase == "SV_STENCILREF") +void HlslParseContext::handleSemantic(TSourceLoc loc, TQualifier& qualifier, TBuiltInVariable builtIn, const TString& upperCase) +{ + // adjust for stage in/out + + switch(builtIn) { + case EbvPosition: + if (language == EShLangFragment) + builtIn = EbvFragCoord; + break; + case EbvStencilRef: error(loc, "unimplemented; need ARB_shader_stencil_export", "SV_STENCILREF", ""); - else if( semanticUpperCase == "SV_GROUPINDEX") - error(loc, "unimplemented", "SV_GROUPINDEX", ""); + break; + default: + break; + } + + qualifier.builtIn = builtIn; + qualifier.semanticName = intermediate.addSemanticName(upperCase); } // @@ -4369,7 +4777,7 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); if (track && symbolTable.atGlobalLevel()) - trackLinkageDeferred(*symbol); + trackLinkage(*symbol); return; } @@ -4600,32 +5008,133 @@ void HlslParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& n symbolTable.insert(*block); // Save it in the AST for linker use. - trackLinkageDeferred(*block); + trackLinkage(*block); } -void HlslParseContext::paramFix(TType& type) +// +// Generate index to the array element in a structure buffer (SSBO) +// +TIntermTyped* HlslParseContext::indexStructBufferContent(const TSourceLoc& loc, TIntermTyped* buffer) const { - switch (type.getQualifier().storage) { - case EvqConst: - type.getQualifier().storage = EvqConstReadOnly; - break; - case EvqGlobal: - case EvqTemporary: - type.getQualifier().storage = EvqIn; - break; - default: - break; - } -} + // Bail out if not a struct buffer + if (buffer == nullptr || ! isStructBufferType(buffer->getType())) + return nullptr; -void HlslParseContext::specializationCheck(const TSourceLoc& loc, const TType& type, const char* op) -{ - if (type.containsSpecializationSize()) - error(loc, "can't use with types containing arrays sized with a specialization constant", op, ""); + // Runtime sized array is always the last element. + const TTypeList* bufferStruct = buffer->getType().getStruct(); + TIntermTyped* arrayPosition = intermediate.addConstantUnion(unsigned(bufferStruct->size()-1), loc); + + TIntermTyped* argArray = intermediate.addIndex(EOpIndexDirectStruct, buffer, arrayPosition, loc); + argArray->setType(*(*bufferStruct)[bufferStruct->size()-1].type); + + return argArray; } // -// Layout qualifier stuff. +// IFF type is a structuredbuffer/byteaddressbuffer type, return the content +// (template) type. E.g, StructuredBuffer -> MyType. Else return nullptr. +// +TType* HlslParseContext::getStructBufferContentType(const TType& type) const +{ + if (type.getBasicType() != EbtBlock) + return nullptr; + + const int memberCount = (int)type.getStruct()->size(); + assert(memberCount > 0); + + TType* contentType = (*type.getStruct())[memberCount-1].type; + + return contentType->isRuntimeSizedArray() ? contentType : nullptr; +} + +// +// If an existing struct buffer has a sharable type, then share it. +// +void HlslParseContext::shareStructBufferType(TType& type) +{ + // PackOffset must be equivalent to share types on a per-member basis. + // Note: cannot use auto type due to recursion. Thus, this is a std::function. + const std::function + compareQualifiers = [&](TType& lhs, TType& rhs) -> bool { + if (lhs.getQualifier().layoutOffset != rhs.getQualifier().layoutOffset) + return false; + + if (lhs.isStruct() != rhs.isStruct()) + return false; + + if (lhs.isStruct() && rhs.isStruct()) { + if (lhs.getStruct()->size() != rhs.getStruct()->size()) + return false; + + for (int i = 0; i < int(lhs.getStruct()->size()); ++i) + if (!compareQualifiers(*(*lhs.getStruct())[i].type, *(*rhs.getStruct())[i].type)) + return false; + } + + return true; + }; + + // We need to compare certain qualifiers in addition to the type. + const auto typeEqual = [compareQualifiers](TType& lhs, TType& rhs) -> bool { + if (lhs.getQualifier().readonly != rhs.getQualifier().readonly) + return false; + + // If both are structures, recursively look for packOffset equality + // as well as type equality. + return compareQualifiers(lhs, rhs) && lhs == rhs; + }; + + // This is an exhaustive O(N) search, but real world shaders have + // only a small number of these. + for (int idx = 0; idx < int(structBufferTypes.size()); ++idx) { + // If the deep structure matches, modulo qualifiers, use it + if (typeEqual(*structBufferTypes[idx], type)) { + type.shallowCopy(*structBufferTypes[idx]); + return; + } + } + + // Otherwise, remember it: + TType* typeCopy = new TType; + typeCopy->shallowCopy(type); + structBufferTypes.push_back(typeCopy); +} + +void HlslParseContext::paramFix(TType& type) +{ + switch (type.getQualifier().storage) { + case EvqConst: + type.getQualifier().storage = EvqConstReadOnly; + break; + case EvqGlobal: + case EvqTemporary: + type.getQualifier().storage = EvqIn; + break; + case EvqBuffer: + { + // SSBO parameter. These do not go through the declareBlock path since they are fn parameters. + correctUniform(type.getQualifier()); + TQualifier bufferQualifier = globalBufferDefaults; + mergeObjectLayoutQualifiers(bufferQualifier, type.getQualifier(), true); + bufferQualifier.storage = type.getQualifier().storage; + bufferQualifier.readonly = type.getQualifier().readonly; + bufferQualifier.coherent = type.getQualifier().coherent; + type.getQualifier() = bufferQualifier; + break; + } + default: + break; + } +} + +void HlslParseContext::specializationCheck(const TSourceLoc& loc, const TType& type, const char* op) +{ + if (type.containsSpecializationSize()) + error(loc, "can't use with types containing arrays sized with a specialization constant", op, ""); +} + +// +// Layout qualifier stuff. // // Put the id's layout qualification into the public type, for qualifiers not having a number set. @@ -5337,51 +5846,124 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, TFunction // 'parseType' is the type part of the declaration (to the left) // 'arraySizes' is the arrayness tagged on the identifier (to the right) // -void HlslParseContext::declareTypedef(const TSourceLoc& loc, TString& identifier, const TType& parseType, TArraySizes* /*arraySizes*/) +void HlslParseContext::declareTypedef(const TSourceLoc& loc, TString& identifier, const TType& parseType) { - TType type; - type.deepCopy(parseType); - - TVariable* typeSymbol = new TVariable(&identifier, type, true); + TVariable* typeSymbol = new TVariable(&identifier, parseType, true); if (! symbolTable.insert(*typeSymbol)) error(loc, "name already defined", "typedef", identifier.c_str()); } -// Type sanitization: return existing sanitized (temporary) type if there is one, else make new one. -TType* HlslParseContext::sanitizeType(TType* type) +// Do everything necessary to handle a struct declaration, including +// making IO aliases because HLSL allows mixed IO in a struct that specializes +// based on the usage (input, output, uniform, none). +void HlslParseContext::declareStruct(const TSourceLoc& loc, TString& structName, TType& type) { - // We only do this for structs. - if (!type->isStruct()) - return type; + // If it was named, which means the type can be reused later, add + // it to the symbol table. (Unless it's a block, in which + // case the name is not a type.) + if (type.getBasicType() == EbtBlock || structName.size() == 0) + return; - // Type sanitization: if this is declaring a variable of a type that contains - // interstage IO, we want to make it a temporary. - const auto sanitizedTypeIter = sanitizedTypeMap.find(type->getStruct()); + TVariable* userTypeDef = new TVariable(&structName, type, true); + if (! symbolTable.insert(*userTypeDef)) { + error(loc, "redefinition", structName.c_str(), "struct"); + return; + } - if (sanitizedTypeIter != sanitizedTypeMap.end()) { - // We've sanitized this before. Use that one. - TType* sanitizedType = new TType(); - sanitizedType->shallowCopy(*sanitizedTypeIter->second); + // See if we need IO aliases for the structure typeList - // Arrayness is not part of the sanitized type. Use the input type's arrayness. - if (type->isArray()) - sanitizedType->newArraySizes(type->getArraySizes()); - else - sanitizedType->clearArraySizes(); - return sanitizedType; - } else { - if (type->containsBuiltInInterstageIO(language)) { - // This means the type contains interstage IO, but we've never encountered it before. - // Copy it, sanitize it, and remember it in the sanitizedTypeMap - TType* sanitizedType = type->clone(); - sanitizedType->makeTemporary(); - sanitizedTypeMap[type->getStruct()] = sanitizedType; - return sanitizedType; - } else { - // This means the type has no interstage IO, so we can use it as is. - return type; + const auto condAlloc = [](bool pred, TTypeList*& list) { + if (pred && list == nullptr) + list = new TTypeList; + }; + + tIoKinds newLists = { nullptr, nullptr, nullptr }; // allocate for each kind found + for (auto member = type.getStruct()->begin(); member != type.getStruct()->end(); ++member) { + condAlloc(hasUniform(member->type->getQualifier()), newLists.uniform); + condAlloc( hasInput(member->type->getQualifier()), newLists.input); + condAlloc( hasOutput(member->type->getQualifier()), newLists.output); + + if (member->type->isStruct()) { + auto it = ioTypeMap.find(member->type->getStruct()); + if (it != ioTypeMap.end()) { + condAlloc(it->second.uniform != nullptr, newLists.uniform); + condAlloc(it->second.input != nullptr, newLists.input); + condAlloc(it->second.output != nullptr, newLists.output); + } + } + } + if (newLists.uniform == nullptr && + newLists.input == nullptr && + newLists.output == nullptr) { + // Won't do any IO caching, clear up the type and get out now. + for (auto member = type.getStruct()->begin(); member != type.getStruct()->end(); ++member) + clearUniformInputOutput(member->type->getQualifier()); + return; + } + + // We have IO involved. + + // Make a pure typeList for the symbol table, and cache side copies of IO versions. + for (auto member = type.getStruct()->begin(); member != type.getStruct()->end(); ++member) { + const auto inheritStruct = [&](TTypeList* s, TTypeLoc& ioMember) { + if (s != nullptr) { + ioMember.type = new TType; + ioMember.type->shallowCopy(*member->type); + ioMember.type->setStruct(s); + } + }; + const auto newMember = [&](TTypeLoc& m) { + if (m.type == nullptr) { + m.type = new TType; + m.type->shallowCopy(*member->type); + } + }; + + TTypeLoc newUniformMember = { nullptr, member->loc }; + TTypeLoc newInputMember = { nullptr, member->loc }; + TTypeLoc newOutputMember = { nullptr, member->loc }; + if (member->type->isStruct()) { + // swap in an IO child if there is one + auto it = ioTypeMap.find(member->type->getStruct()); + if (it != ioTypeMap.end()) { + inheritStruct(it->second.uniform, newUniformMember); + inheritStruct(it->second.input, newInputMember); + inheritStruct(it->second.output, newOutputMember); + } } + if (newLists.uniform) { + newMember(newUniformMember); + correctUniform(newUniformMember.type->getQualifier()); + newLists.uniform->push_back(newUniformMember); + } + if (newLists.input) { + newMember(newInputMember); + correctInput(newInputMember.type->getQualifier()); + newLists.input->push_back(newInputMember); + } + if (newLists.output) { + newMember(newOutputMember); + correctOutput(newOutputMember.type->getQualifier()); + newLists.output->push_back(newOutputMember); + } + + // make original pure + clearUniformInputOutput(member->type->getQualifier()); } + ioTypeMap[type.getStruct()] = newLists; +} + +// Lookup a user-type by name. +// If found, fill in the type and return the defining symbol. +// If not found, return nullptr. +TSymbol* HlslParseContext::lookupUserType(const TString& typeName, TType& type) +{ + TSymbol* symbol = symbolTable.find(typeName); + if (symbol && symbol->getAsVariable() && symbol->getAsVariable()->isUserType()) { + type.shallowCopy(symbol->getType()); + return symbol; + } else + return nullptr; } // @@ -5408,21 +5990,36 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i inheritGlobalDefaults(type.getQualifier()); - const bool flattenVar = shouldFlatten(type); - const bool splitVar = shouldSplit(type); + const bool flattenVar = shouldFlattenUniform(type); - // Type sanitization: if this is declaring a variable of a type that contains - // interstage IO, we want to make it a temporary. - TType* sanitizedType = sanitizeType(&type); + // correct IO in the type + switch (type.getQualifier().storage) { + case EvqGlobal: + case EvqTemporary: + clearUniformInputOutput(type.getQualifier()); + break; + case EvqUniform: + case EvqBuffer: + correctUniform(type.getQualifier()); + if (type.isStruct()) { + auto it = ioTypeMap.find(type.getStruct()); + if (it != ioTypeMap.end()) + type.setStruct(it->second.uniform); + } + + break; + default: + break; + } // Declare the variable if (type.isArray()) { // array case - declareArray(loc, identifier, *sanitizedType, symbol, !flattenVar); + declareArray(loc, identifier, type, symbol, !flattenVar); } else { // non-array case if (! symbol) - symbol = declareNonArray(loc, identifier, *sanitizedType, !flattenVar); + symbol = declareNonArray(loc, identifier, type, !flattenVar); else if (type != symbol->getType()) error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str()); } @@ -5430,9 +6027,6 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i if (flattenVar) flatten(loc, *symbol->getAsVariable()); - if (splitVar) - split(*symbol->getAsVariable()); - if (! symbol) return nullptr; @@ -5493,7 +6087,7 @@ TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& ide // add variable to symbol table if (symbolTable.insert(*variable)) { if (track && symbolTable.atGlobalLevel()) - trackLinkageDeferred(*variable); + trackLinkage(*variable); return variable; } @@ -5953,6 +6547,22 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS { assert(type.getWritableStruct() != nullptr); + // Clean up top-level decorations that don't belong. + switch (type.getQualifier().storage) { + case EvqUniform: + case EvqBuffer: + correctUniform(type.getQualifier()); + break; + case EvqVaryingIn: + correctInput(type.getQualifier()); + break; + case EvqVaryingOut: + correctOutput(type.getQualifier()); + break; + default: + break; + } + TTypeList& typeList = *type.getWritableStruct(); // fix and check for member storage qualifiers and types that don't belong within a block for (unsigned int member = 0; member < typeList.size(); ++member) { @@ -5961,6 +6571,31 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS const TSourceLoc& memberLoc = typeList[member].loc; globalQualifierFix(memberLoc, memberQualifier); memberQualifier.storage = type.getQualifier().storage; + + if (memberType.isStruct()) { + // clean up and pick up the right set of decorations + auto it = ioTypeMap.find(memberType.getStruct()); + switch (type.getQualifier().storage) { + case EvqUniform: + case EvqBuffer: + correctUniform(type.getQualifier()); + if (it != ioTypeMap.end() && it->second.uniform) + type.setStruct(it->second.uniform); + break; + case EvqVaryingIn: + correctInput(type.getQualifier()); + if (it != ioTypeMap.end() && it->second.input) + type.setStruct(it->second.input); + break; + case EvqVaryingOut: + correctOutput(type.getQualifier()); + if (it != ioTypeMap.end() && it->second.output) + type.setStruct(it->second.output); + break; + default: + break; + } + } } // This might be a redeclaration of a built-in block. If so, redeclareBuiltinBlock() will @@ -6009,8 +6644,6 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS error(memberLoc, "member cannot contradict block (or what block inherited from global)", "xfb_buffer", ""); } - if (memberQualifier.hasPacking()) - error(memberLoc, "member of block cannot have a packing layout qualifier", typeList[member].type->getFieldName().c_str(), ""); if (memberQualifier.hasLocation()) { switch (type.getQualifier().storage) { case EvqVaryingIn: @@ -6022,10 +6655,6 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS } } else memberWithoutLocation = true; - if (memberQualifier.hasAlign()) { - if (defaultQualification.layoutPacking != ElpStd140 && defaultQualification.layoutPacking != ElpStd430) - error(memberLoc, "can only be used with std140 or std430 layout packing", "align", ""); - } TQualifier newMemberQualification = defaultQualification; mergeQualifiers(newMemberQualification, memberQualifier); @@ -6068,14 +6697,7 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS } // Save it in the AST for linker use. - trackLinkageDeferred(variable); -} - -void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block) -{ - block.getWritableType().getQualifier().layoutPacking = ElpStd140; - block.getWritableType().getQualifier().layoutMatrix = ElmRowMajor; - fixBlockUniformOffsets(block.getType().getQualifier(), *block.getWritableType().getWritableStruct()); + trackLinkage(variable); } // @@ -6473,6 +7095,60 @@ TIntermNode* HlslParseContext::addSwitch(const TSourceLoc& loc, TIntermTyped* ex return switchNode; } +// Make a new symbol-table level that is made out of the members of a structure. +// This should be done as an anonymous struct (name is "") so that the symbol table +// finds the members with on explicit reference to a 'this' variable. +void HlslParseContext::pushThisScope(const TType& thisStruct) +{ + TVariable& thisVariable = *new TVariable(NewPoolTString(""), thisStruct); + symbolTable.pushThis(thisVariable); +} + +// Track levels of class/struct/namespace nesting with a prefix string using +// the type names separated by the scoping operator. E.g., two levels +// would look like: +// +// outer::inner +// +// The string is empty when at normal global level. +// +void HlslParseContext::pushNamespace(const TString& typeName) +{ + // make new type prefix + TString newPrefix; + if (currentTypePrefix.size() > 0) { + newPrefix = currentTypePrefix.back(); + newPrefix.append(scopeMangler); + } + newPrefix.append(typeName); + currentTypePrefix.push_back(newPrefix); +} + +// Opposite of pushNamespace(), see above +void HlslParseContext::popNamespace() +{ + currentTypePrefix.pop_back(); +} + +// Use the class/struct nesting string to create a global name for +// a member of a class/struct. +TString* HlslParseContext::getFullNamespaceName(const TString& localName) const +{ + TString* name = NewPoolTString(""); + if (currentTypePrefix.size() > 0) + name->append(currentTypePrefix.back()); + name->append(scopeMangler); + name->append(localName); + + return name; +} + +// Helper function to add the namespace scope mangling syntax to a string. +void HlslParseContext::addScopeMangler(TString& name) +{ + name.append(scopeMangler); +} + // Potentially rename shader entry point function void HlslParseContext::renameShaderFunction(TString*& name) const { @@ -6482,9 +7158,477 @@ void HlslParseContext::renameShaderFunction(TString*& name) const name = NewPoolTString(intermediate.getEntryPointName().c_str()); } +// Return true if this has uniform-interface like decorations. +bool HlslParseContext::hasUniform(const TQualifier& qualifier) const +{ + return qualifier.hasUniformLayout() || + qualifier.layoutPushConstant; +} + +// Potentially not the opposite of hasUniform(), as if some characteristic is +// ever used for more than one thing (e.g., uniform or input), hasUniform() should +// say it exists, but clearUniform() should leave it in place. +void HlslParseContext::clearUniform(TQualifier& qualifier) +{ + qualifier.clearUniformLayout(); + qualifier.layoutPushConstant = false; +} + +// Return false if builtIn by itself doesn't force this qualifier to be an input qualifier. +bool HlslParseContext::isInputBuiltIn(const TQualifier& qualifier) const +{ + switch (qualifier.builtIn) { + case EbvPosition: + case EbvPointSize: + return language != EShLangVertex && language != EShLangCompute && language != EShLangFragment; + case EbvClipDistance: + case EbvCullDistance: + return language != EShLangVertex && language != EShLangCompute; + case EbvFragCoord: + case EbvFace: + case EbvHelperInvocation: + case EbvLayer: + case EbvPointCoord: + case EbvSampleId: + case EbvSampleMask: + case EbvSamplePosition: + case EbvViewportIndex: + return language == EShLangFragment; + case EbvGlobalInvocationId: + case EbvLocalInvocationIndex: + case EbvLocalInvocationId: + case EbvNumWorkGroups: + case EbvWorkGroupId: + case EbvWorkGroupSize: + return language == EShLangCompute; + case EbvInvocationId: + return language == EShLangTessControl || language == EShLangTessEvaluation || language == EShLangGeometry; + case EbvPatchVertices: + return language == EShLangTessControl || language == EShLangTessEvaluation; + case EbvInstanceId: + case EbvInstanceIndex: + case EbvVertexId: + case EbvVertexIndex: + return language == EShLangVertex; + case EbvPrimitiveId: + return language == EShLangGeometry || language == EShLangFragment; + case EbvTessLevelInner: + case EbvTessLevelOuter: + return language == EShLangTessEvaluation; + default: + return false; + } +} + +// Return true if there are decorations to preserve for input-like storage. +bool HlslParseContext::hasInput(const TQualifier& qualifier) const +{ + if (qualifier.hasAnyLocation()) + return true; + + if (language == EShLangFragment && (qualifier.isInterpolation() || qualifier.centroid || qualifier.sample)) + return true; + + if (language == EShLangTessEvaluation && qualifier.patch) + return true; + + if (isInputBuiltIn(qualifier)) + return true; + + return false; +} + +// Return false if builtIn by itself doesn't force this qualifier to be an output qualifier. +bool HlslParseContext::isOutputBuiltIn(const TQualifier& qualifier) const +{ + switch (qualifier.builtIn) { + case EbvPosition: + case EbvPointSize: + case EbvClipVertex: + case EbvClipDistance: + case EbvCullDistance: + return language != EShLangFragment && language != EShLangCompute; + case EbvFragDepth: + case EbvFragDepthGreater: + case EbvFragDepthLesser: + case EbvSampleMask: + return language == EShLangFragment; + case EbvLayer: + case EbvViewportIndex: + return language == EShLangGeometry; + case EbvPrimitiveId: + return language == EShLangGeometry || language == EShLangTessControl || language == EShLangTessEvaluation; + case EbvTessLevelInner: + case EbvTessLevelOuter: + return language == EShLangTessControl; + default: + return false; + } +} + +// Return true if there are decorations to preserve for output-like storage. +bool HlslParseContext::hasOutput(const TQualifier& qualifier) const +{ + if (qualifier.hasAnyLocation()) + return true; + + if (language != EShLangFragment && language != EShLangCompute && qualifier.hasXfb()) + return true; + + if (language == EShLangTessControl && qualifier.patch) + return true; + + if (language == EShLangGeometry && qualifier.hasStream()) + return true; + + if (isOutputBuiltIn(qualifier)) + return true; + + return false; +} + +// Make the IO decorations etc. be appropriate only for an input interface. +void HlslParseContext::correctInput(TQualifier& qualifier) +{ + clearUniform(qualifier); + if (language == EShLangVertex) + qualifier.clearInterstage(); + if (language != EShLangTessEvaluation) + qualifier.patch = false; + if (language != EShLangFragment) { + qualifier.clearInterpolation(); + qualifier.sample = false; + } + + qualifier.clearStreamLayout(); + qualifier.clearXfbLayout(); + + if (! isInputBuiltIn(qualifier)) + qualifier.builtIn = EbvNone; +} + +// Make the IO decorations etc. be appropriate only for an output interface. +void HlslParseContext::correctOutput(TQualifier& qualifier) +{ + clearUniform(qualifier); + if (language == EShLangFragment) + qualifier.clearInterstage(); + if (language != EShLangGeometry) + qualifier.clearStreamLayout(); + if (language == EShLangFragment) + qualifier.clearXfbLayout(); + if (language != EShLangTessControl) + qualifier.patch = false; + + switch (qualifier.builtIn) { + case EbvFragDepthGreater: + intermediate.setDepth(EldGreater); + qualifier.builtIn = EbvFragDepth; + break; + case EbvFragDepthLesser: + intermediate.setDepth(EldLess); + qualifier.builtIn = EbvFragDepth; + break; + default: + break; + } + + if (! isOutputBuiltIn(qualifier)) + qualifier.builtIn = EbvNone; +} + +// Make the IO decorations etc. be appropriate only for uniform type interfaces. +void HlslParseContext::correctUniform(TQualifier& qualifier) +{ + qualifier.builtIn = EbvNone; + qualifier.clearInterstage(); + qualifier.clearInterstageLayout(); +} + +// Clear out all IO/Uniform stuff, so this has nothing to do with being an IO interface. +void HlslParseContext::clearUniformInputOutput(TQualifier& qualifier) +{ + clearUniform(qualifier); + correctUniform(qualifier); +} + +// Add patch constant function invocation +void HlslParseContext::addPatchConstantInvocation() +{ + TSourceLoc loc; + loc.init(); + + // If there's no patch constant function, or we're not a HS, do nothing. + if (patchConstantFunctionName.empty() || language != EShLangTessControl) + return; + + if (symbolTable.isFunctionNameVariable(patchConstantFunctionName)) { + error(loc, "can't use variable in patch constant function", patchConstantFunctionName.c_str(), ""); + return; + } + + const TString mangledName = patchConstantFunctionName + "("; + + // create list of PCF candidates + TVector candidateList; + bool builtIn; + symbolTable.findFunctionNameList(mangledName, candidateList, builtIn); + + // We have to have one and only one, or we don't know which to pick: the patchconstantfunc does not + // allow any disambiguation of overloads. + if (candidateList.empty()) { + error(loc, "patch constant function not found", patchConstantFunctionName.c_str(), ""); + return; + } + + // Based on directed experiments, it appears that if there are overloaded patchconstantfunctions, + // HLSL picks the last one in shader source order. Since that isn't yet implemented here, error + // out if there is more than one candidate. + if (candidateList.size() > 1) { + error(loc, "ambiguous patch constant function", patchConstantFunctionName.c_str(), ""); + return; + } + + // Look for builtin variables in a function's parameter list. + const auto findBuiltIns = [&](const TFunction& function, std::set& builtIns) { + for (int p=0; pgetQualifier().storage; + + if (function[p].declaredBuiltIn != EbvNone) + builtIns.insert(HlslParseContext::tInterstageIoData(function[p].declaredBuiltIn, storage)); + else + builtIns.insert(HlslParseContext::tInterstageIoData(function[p].type->getQualifier().builtIn, storage)); + } + }; + + + // If we synthesize a builtin interface variable, we must add it to the linkage. + const auto addToLinkage = [&](const TType& type, const TString* name, TIntermSymbol** symbolNode) { + if (name == nullptr) { + error(loc, "unable to locate patch function parameter name", "", ""); + return; + } else { + TVariable& variable = *new TVariable(name, type); + if (! symbolTable.insert(variable)) { + error(loc, "unable to declare patch constant function interface variable", name->c_str(), ""); + return; + } + + globalQualifierFix(loc, variable.getWritableType().getQualifier()); + + if (symbolNode != nullptr) + *symbolNode = intermediate.addSymbol(variable); + + trackLinkage(variable); + } + }; + + // Return a symbol for the linkage variable of the given TBuiltInVariable type + const auto findLinkageSymbol = [this](TBuiltInVariable biType) -> TIntermSymbol* { + const auto it = builtInLinkageSymbols.find(biType); + if (it == builtInLinkageSymbols.end()) // if it wasn't declared by the user, return nullptr + return nullptr; + + return intermediate.addSymbol(*it->second->getAsVariable()); + }; + + // We will perform these steps. Each is in a scoped block for separation: they could + // become separate functions to make addPatchConstantInvocation shorter. + // + // 1. Union the interfaces, and create builtins for anything present in the PCF and + // declared as a builtin variable that isn't present in the entry point's signature. + // + // 2. Synthesizes a call to the patchconstfunction using builtin variables from either main, + // or the ones we created. Matching is based on builtin type. We may use synthesized + // variables from (1) above. + // + // 3. Create a return sequence: copy the return value (if any) from the PCF to a + // (non-sanitized) output variable. In case this may involve multiple copies, such as for + // an arrayed variable, a temporary copy of the PCF output is created to avoid multiple + // indirections into a complex R-value coming from the call to the PCF. + // + // 4. Add a barrier to the end of the entry point body + // + // 5. Call the PCF inside an if test for (invocation id == 0). + + TFunction& patchConstantFunction = const_cast(*candidateList[0]); + const int pcfParamCount = patchConstantFunction.getParamCount(); + TIntermSymbol* invocationIdSym = findLinkageSymbol(EbvInvocationId); + TIntermSequence& epBodySeq = entryPointFunctionBody->getAsAggregate()->getSequence(); + + // ================ Step 1A: Union Interfaces ================ + // Our patch constant function. + { + std::set pcfBuiltIns; // patch constant function builtins + std::set epfBuiltIns; // entry point function builtins + + assert(entryPointFunction); + assert(entryPointFunctionBody); + + findBuiltIns(patchConstantFunction, pcfBuiltIns); + findBuiltIns(*entryPointFunction, epfBuiltIns); + + // Patchconstantfunction can contain only builtin qualified variables. (Technically, only HS inputs, + // but this test is less assertive than that). + + for (auto bi = pcfBuiltIns.begin(); bi != pcfBuiltIns.end(); ++bi) { + if (bi->builtIn == EbvNone) { + error(loc, "patch constant function invalid parameter", "", ""); + return; + } + } + + // Find the set of builtins in the PCF that are not present in the entry point. + std::set notInEntryPoint; + + notInEntryPoint = pcfBuiltIns; + + // std::set_difference not usable on unordered containers + for (auto bi = epfBuiltIns.begin(); bi != epfBuiltIns.end(); ++bi) + notInEntryPoint.erase(*bi); + + // Now we'll add those to the entry and to the linkage. + for (int p=0; pclone(); + const TBuiltInVariable biType = patchConstantFunction[p].declaredBuiltIn; + const TStorageQualifier storage = patchConstantFunction[p].type->getQualifier().storage; + + // Use the original declaration type for the linkage + paramType->getQualifier().builtIn = biType; + + if (notInEntryPoint.count(tInterstageIoData(biType, storage)) == 1) + addToLinkage(*paramType, patchConstantFunction[p].name, nullptr); + } + + // If we didn't find it because the shader made one, add our own. + if (invocationIdSym == nullptr) { + TType invocationIdType(EbtUint, EvqIn, 1); + TString* invocationIdName = NewPoolTString("InvocationId"); + invocationIdType.getQualifier().builtIn = EbvInvocationId; + addToLinkage(invocationIdType, invocationIdName, &invocationIdSym); + } + + assert(invocationIdSym); + } + + TIntermTyped* pcfArguments = nullptr; + + // ================ Step 1B: Argument synthesis ================ + // Create pcfArguments for synthesis of patchconstantfunction invocation + // TODO: handle struct or array inputs + { + for (int p=0; pisArray() || + patchConstantFunction[p].type->isStruct()) { + error(loc, "unimplemented array or variable in patch constant function signature", "", ""); + return; + } + + // find which builtin it is + const TBuiltInVariable biType = patchConstantFunction[p].declaredBuiltIn; + + TIntermSymbol* builtIn = findLinkageSymbol(biType); + + if (builtIn == nullptr) { + error(loc, "unable to find patch constant function builtin variable", "", ""); + return; + } + + if (pcfParamCount == 1) + pcfArguments = builtIn; + else + pcfArguments = intermediate.growAggregate(pcfArguments, builtIn); + } + } + + // ================ Step 2: Synthesize call to PCF ================ + TIntermTyped* pcfCall = nullptr; + + { + // Create a function call to the patchconstantfunction + if (pcfArguments) + addInputArgumentConversions(patchConstantFunction, pcfArguments); + + // Synthetic call. + pcfCall = intermediate.setAggregateOperator(pcfArguments, EOpFunctionCall, patchConstantFunction.getType(), loc); + pcfCall->getAsAggregate()->setUserDefined(); + pcfCall->getAsAggregate()->setName(patchConstantFunction.getMangledName()); + intermediate.addToCallGraph(infoSink, entryPointFunction->getMangledName(), patchConstantFunction.getMangledName()); + + if (pcfCall->getAsAggregate()) { + TQualifierList& qualifierList = pcfCall->getAsAggregate()->getQualifierList(); + for (int i = 0; i < patchConstantFunction.getParamCount(); ++i) { + TStorageQualifier qual = patchConstantFunction[i].type->getQualifier().storage; + qualifierList.push_back(qual); + } + pcfCall = addOutputArgumentConversions(patchConstantFunction, *pcfCall->getAsOperator()); + } + } + + // ================ Step 3: Create return Sequence ================ + // Return sequence: copy PCF result to a temporary, then to shader output variable. + if (pcfCall->getBasicType() != EbtVoid) { + const TType* retType = &patchConstantFunction.getType(); // return type from the PCF + TType outType; // output type that goes with the return type. + outType.shallowCopy(*retType); + + // substitute the output type + const auto newLists = ioTypeMap.find(retType->getStruct()); + if (newLists != ioTypeMap.end()) + outType.setStruct(newLists->second.output); + + // Substitute the top level type's builtin type + if (patchConstantFunction.getDeclaredBuiltInType() != EbvNone) + outType.getQualifier().builtIn = patchConstantFunction.getDeclaredBuiltInType(); + + TVariable* pcfOutput = makeInternalVariable("@patchConstantOutput", outType); + pcfOutput->getWritableType().getQualifier().storage = EvqVaryingOut; + + if (pcfOutput->getType().containsBuiltInInterstageIO(language)) + split(*pcfOutput); + + TIntermSymbol* pcfOutputSym = intermediate.addSymbol(*pcfOutput, loc); + + // The call to the PCF is a complex R-value: we want to store it in a temp to avoid + // repeated calls to the PCF: + TVariable* pcfCallResult = makeInternalVariable("@patchConstantResult", *retType); + pcfCallResult->getWritableType().getQualifier().makeTemporary(); + TIntermSymbol* pcfResultVar = intermediate.addSymbol(*pcfCallResult, loc); + // sanitizeType(&pcfCall->getWritableType()); + TIntermNode* pcfResultAssign = intermediate.addAssign(EOpAssign, pcfResultVar, pcfCall, loc); + + TIntermNode* pcfResultToOut = handleAssign(loc, EOpAssign, pcfOutputSym, intermediate.addSymbol(*pcfCallResult, loc)); + + TIntermTyped* pcfAggregate = nullptr; + pcfAggregate = intermediate.growAggregate(pcfAggregate, pcfResultAssign); + pcfAggregate = intermediate.growAggregate(pcfAggregate, pcfResultToOut); + pcfAggregate = intermediate.setAggregateOperator(pcfAggregate, EOpSequence, *retType, loc); + + pcfCall = pcfAggregate; + } + + // ================ Step 4: Barrier ================ + TIntermTyped* barrier = new TIntermAggregate(EOpBarrier); + barrier->setLoc(loc); + barrier->setType(TType(EbtVoid)); + epBodySeq.insert(epBodySeq.end(), barrier); + + // ================ Step 5: Test on invocation ID ================ + TIntermTyped* zero = intermediate.addConstantUnion(0, loc, true); + TIntermTyped* cmp = intermediate.addBinaryNode(EOpEqual, invocationIdSym, zero, loc, TType(EbtBool)); + + // Create if statement + TIntermTyped* invocationIdTest = new TIntermSelection(cmp, pcfCall, nullptr); + invocationIdTest->setLoc(loc); + + // add our test sequence before the return. + epBodySeq.insert(epBodySeq.end(), invocationIdTest); +} + // post-processing void HlslParseContext::finish() { + addPatchConstantInvocation(); addInterstageIoToLinkage(); TParseContextBase::finish(); diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.h index 1bfca8f8718..2d1968114c4 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseHelper.h @@ -54,7 +54,12 @@ public: void setLimits(const TBuiltInResource&) override; bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false) override; - virtual const char* getGlobalUniformBlockName() override { return "$Global"; } + virtual const char* getGlobalUniformBlockName() const override { return "$Global"; } + virtual void setUniformBlockDefaults(TType& block) const override + { + block.getQualifier().layoutPacking = ElpStd140; + block.getQualifier().layoutMatrix = ElmRowMajor; + } void reservedPpErrorCheck(const TSourceLoc&, const char* /*name*/, const char* /*op*/) override { } bool lineContinuationCheck(const TSourceLoc&, bool /*endOfComment*/) override { return true; } @@ -62,7 +67,7 @@ public: bool builtInName(const TString&); void handlePragma(const TSourceLoc&, const TVector&) override; - TIntermTyped* handleVariable(const TSourceLoc&, TSymbol* symbol, const TString* string); + TIntermTyped* handleVariable(const TSourceLoc&, const TString* string); TIntermTyped* handleBracketDereference(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index); TIntermTyped* handleBracketOperator(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index); void checkIndex(const TSourceLoc&, const TType&, int& index); @@ -70,12 +75,13 @@ public: TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right); TIntermTyped* handleUnaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* childNode); TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field); + bool isBuiltInMethod(const TSourceLoc&, TIntermTyped* base, const TString& field); void assignLocations(TVariable& variable); - TFunction& handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype); - TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&); - void transformEntryPoint(const TSourceLoc&, TFunction&, const TAttributeMap&); + void handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype); + TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&, TIntermNode*& entryPointTree); + TIntermNode* transformEntryPoint(const TSourceLoc&, TFunction&, const TAttributeMap&); void handleFunctionBody(const TSourceLoc&, TFunction&, TIntermNode* functionBody, TIntermNode*& node); - void remapEntryPointIO(TFunction& function); + void remapEntryPointIO(TFunction& function, TVariable*& returnValue, TVector& inputs, TVector& outputs); void remapNonEntryPointIO(TFunction& function); TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*); void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg); @@ -84,13 +90,13 @@ public: TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermTyped*); void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); + void decomposeStructBufferMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); void decomposeGeometryMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); - TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*); void addInputArgumentConversions(const TFunction&, TIntermTyped*&); TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermOperator&); void builtInOpCheck(const TSourceLoc&, const TFunction&, TIntermOperator&); TFunction* handleConstructorCall(const TSourceLoc&, const TType&); - void handleSemantic(TSourceLoc, TQualifier&, const TString& semantic); + void handleSemantic(TSourceLoc, TQualifier&, TBuiltInVariable, const TString& upperCase); void handlePackOffset(const TSourceLoc&, TQualifier&, const glslang::TString& location, const glslang::TString* component); void handleRegister(const TSourceLoc&, TQualifier&, const glslang::TString* profile, const glslang::TString& desc, @@ -130,14 +136,15 @@ public: void checkNoShaderLayouts(const TSourceLoc&, const TShaderQualifiers&); const TFunction* findFunction(const TSourceLoc& loc, TFunction& call, bool& builtIn, TIntermTyped*& args); - void declareTypedef(const TSourceLoc&, TString& identifier, const TType&, TArraySizes* typeArray = 0); + void declareTypedef(const TSourceLoc&, TString& identifier, const TType&); + void declareStruct(const TSourceLoc&, TString& structName, TType&); + TSymbol* lookupUserType(const TString&, TType&); TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, TType&, TIntermTyped* initializer = 0); void lengthenList(const TSourceLoc&, TIntermSequence& list, int size); TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&); TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&); TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset); void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = 0, TArraySizes* arraySizes = 0); - void finalizeGlobalUniformBlockLayout(TVariable& block) override; void fixBlockLocations(const TSourceLoc&, TQualifier&, TTypeList&, bool memberWithLocation, bool memberWithoutLocation); void fixBlockXfbOffsets(TQualifier&, TTypeList&); void fixBlockUniformOffsets(const TQualifier&, TTypeList&); @@ -157,9 +164,23 @@ public: void pushScope() { symbolTable.push(); } void popScope() { symbolTable.pop(0); } + void pushThisScope(const TType&); + void popThisScope() { symbolTable.pop(0); } + + void pushImplicitThis(TVariable* thisParameter) { implicitThisStack.push_back(thisParameter); } + void popImplicitThis() { implicitThisStack.pop_back(); } + TVariable* getImplicitThis(int thisDepth) const { return implicitThisStack[implicitThisStack.size() - thisDepth]; } + + void pushNamespace(const TString& name); + void popNamespace(); + TString* getFullNamespaceName(const TString& localName) const; + void addScopeMangler(TString&); + void pushSwitchSequence(TIntermSequence* sequence) { switchSequenceStack.push_back(sequence); } void popSwitchSequence() { switchSequenceStack.pop_back(); } + virtual void growGlobalUniformBlock(TSourceLoc&, TType&, TString& memberName, TTypeList* typeList = nullptr) override; + // Apply L-value conversions. E.g, turning a write to a RWTexture into an ImageStore. TIntermTyped* handleLvalue(const TSourceLoc&, const char* op, TIntermTyped* node); bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override; @@ -176,6 +197,9 @@ public: void initFlattening() { flattenLevel.push_back(0); flattenOffset.push_back(0); } void finalizeFlattening() { flattenLevel.pop_back(); flattenOffset.pop_back(); } + // Share struct buffer deep types + void shareStructBufferType(TType&); + protected: struct TFlattenData { TFlattenData() : nextBinding(TQualifier::layoutBindingEnd) { } @@ -203,9 +227,7 @@ protected: bool shouldConvertLValue(const TIntermNode*) const; // Array and struct flattening - bool shouldFlatten(const TType& type) const; TIntermTyped* flattenAccess(TIntermTyped* base, int member); - bool shouldFlattenIO(const TType&) const; bool shouldFlattenUniform(const TType&) const; bool wasFlattened(const TIntermTyped* node) const; bool wasFlattened(int id) const { return flattenMap.find(id) != flattenMap.end(); } @@ -213,7 +235,6 @@ protected: bool isFinalFlattening(const TType& type) const { return !(type.isStruct() || type.isArray()); } // Structure splitting (splits interstage builtin types into its own struct) - bool shouldSplit(const TType&); TIntermTyped* splitAccessStruct(const TSourceLoc& loc, TIntermTyped*& base, int& member); void splitAccessArray(const TSourceLoc& loc, TIntermTyped* base, TIntermTyped* index); TType& split(TType& type, TString name, const TType* outerStructType = nullptr); @@ -225,14 +246,38 @@ protected: TVariable* getSplitIoVar(const TVariable* var) const; TVariable* getSplitIoVar(int id) const; void addInterstageIoToLinkage(); + void addPatchConstantInvocation(); void flatten(const TSourceLoc& loc, const TVariable& variable); int flatten(const TSourceLoc& loc, const TVariable& variable, const TType&, TFlattenData&, TString name); int flattenStruct(const TSourceLoc& loc, const TVariable& variable, const TType&, TFlattenData&, TString name); int flattenArray(const TSourceLoc& loc, const TVariable& variable, const TType&, TFlattenData&, TString name); - // Type sanitization: return existing sanitized (temporary) type if there is one, else make new one. - TType* sanitizeType(TType*); + bool hasUniform(const TQualifier& qualifier) const; + void clearUniform(TQualifier& qualifier); + bool isInputBuiltIn(const TQualifier& qualifier) const; + bool hasInput(const TQualifier& qualifier) const; + void correctOutput(TQualifier& qualifier); + bool isOutputBuiltIn(const TQualifier& qualifier) const; + bool hasOutput(const TQualifier& qualifier) const; + void correctInput(TQualifier& qualifier); + void correctUniform(TQualifier& qualifier); + void clearUniformInputOutput(TQualifier& qualifier); + + // Test method names + bool isStructBufferMethod(const TString& name) const; + + TType* getStructBufferContentType(const TType& type) const; + bool isStructBufferType(const TType& type) const { return getStructBufferContentType(type) != nullptr; } + TIntermTyped* indexStructBufferContent(const TSourceLoc& loc, TIntermTyped* buffer) const; + + // Return true if this type is a reference. This is not currently a type method in case that's + // a language specific answer. + bool isReference(const TType& type) const { return isStructBufferType(type); } + + // Pass through to base class after remembering builtin mappings. + using TParseContextBase::trackLinkage; + void trackLinkage(TSymbol& variable) override; void finish() override; // post-processing @@ -243,7 +288,6 @@ protected: int structNestingLevel; // 0 if outside blocks and structures int controlFlowNestingLevel; // 0 if outside all flow control TList switchSequenceStack; // case, node, case, case, node, ...; ensure only one node between cases; stack of them for nesting - bool inEntryPoint; // if inside a function, true if the function is the entry point bool postEntryPointReturn; // if inside a function, true if the function is the entry point and this is after a return statement const TType* currentFunctionType; // the return type of the function that's currently being parsed bool functionReturnsValue; // true if a non-void function has a return @@ -261,7 +305,6 @@ protected: TString currentCaller; // name of last function body entered (not valid when at global scope) TIdSetType inductiveLoopIds; TVector needsIndexLimitationChecking; - TVariable* entryPointOutput; // // Geometry shader input arrays: @@ -301,17 +344,29 @@ protected: TVector flattenLevel; // nested postfix operator level for flattening TVector flattenOffset; // cumulative offset for flattening - // Sanitized type map. During declarations we use the sanitized form of the type - // if it exists. - TMap sanitizedTypeMap; + // IO-type map. Maps a pure symbol-table form of a structure-member list into + // each of the (up to) three kinds of IO, as each as different allowed decorations, + // but HLSL allows mixing all in the same structure. + struct tIoKinds { + TTypeList* input; + TTypeList* output; + TTypeList* uniform; + }; + TMap ioTypeMap; // Structure splitting data: TMap splitIoVars; // variables with the builtin interstage IO removed, indexed by unique ID. + // Structuredbuffer shared types. Typically there are only a few. + TVector structBufferTypes; + // The builtin interstage IO map considers e.g, EvqPosition on input and output separately, so that we // can build the linkage correctly if position appears on both sides. Otherwise, multiple positions // are considered identical. struct tInterstageIoData { + tInterstageIoData(TBuiltInVariable bi, TStorageQualifier q) : + builtIn(bi), storage(q) { } + tInterstageIoData(const TType& memberType, const TType& storageType) : builtIn(memberType.getQualifier().builtIn), storage(storageType.getQualifier().storage) { } @@ -325,7 +380,7 @@ protected: } }; - TMap interstageBuiltInIo; // individual builtin interstage IO vars, inxed by builtin type. + TMap interstageBuiltInIo; // individual builtin interstage IO vars, indexed by builtin type. // We have to move array references to structs containing builtin interstage IO to the split variables. // This is only handled for one level. This stores the index, because we'll need it in the future, since @@ -336,9 +391,23 @@ protected: unsigned int nextInLocation; unsigned int nextOutLocation; - TString sourceEntryPointName; + TString sourceEntryPointName; + TFunction* entryPointFunction; + TIntermNode* entryPointFunctionBody; + + TString patchConstantFunctionName; // hull shader patch constant function name, from function level attribute. + TMap builtInLinkageSymbols; // used for tessellation, finding declared builtins + + TVector currentTypePrefix; // current scoping prefix for nested structures + TVector implicitThisStack; // currently active 'this' variables for nested structures }; +// This is the prefix we use for builtin methods to avoid namespace collisions with +// global scope user functions. +// TODO: this would be better as a nonparseable character, but that would +// require changing the scanner. +#define BUILTIN_PREFIX "__BI_" + } // end namespace glslang #endif // HLSL_PARSE_INCLUDED_ diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseables.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseables.cpp index 442f3b17542..1a47a0bb65e 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseables.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslParseables.cpp @@ -49,6 +49,7 @@ // #include "hlslParseables.h" +#include "hlslParseHelper.h" #include #include #include @@ -543,315 +544,336 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c const char* argOrder; // argument order key const char* argType; // argument type key unsigned int stage; // stage mask + bool method; // true if it's a method. } hlslIntrinsics[] = { // name retOrd retType argOrder argType stage mask // ----------------------------------------------------------------------------------------------- - { "abort", nullptr, nullptr, "-", "-", EShLangAll }, - { "abs", nullptr, nullptr, "SVM", "DFUI", EShLangAll }, - { "acos", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "all", "S", "B", "SVM", "BFIU", EShLangAll }, - { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS }, - { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, - { "any", "S", "B", "SVM", "BFIU", EShLangAll }, - { "asdouble", "S", "D", "S,", "UI,", EShLangAll }, - { "asdouble", "V2", "D", "V2,", "UI,", EShLangAll }, - { "asfloat", nullptr, "F", "SVM", "BFIU", EShLangAll }, - { "asin", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "asint", nullptr, "I", "SVM", "FU", EShLangAll }, - { "asuint", nullptr, "U", "SVM", "FU", EShLangAll }, - { "atan", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "atan2", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "ceil", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "CheckAccessFullyMapped", "S", "B" , "S", "U", EShLangPSCS }, - { "clamp", nullptr, nullptr, "SVM,,", "FUI,,", EShLangAll }, - { "clip", "-", "-", "SVM", "F", EShLangPS }, - { "cos", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "cosh", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "countbits", nullptr, nullptr, "SV", "UI", EShLangAll }, - { "cross", nullptr, nullptr, "V3,", "F,", EShLangAll }, - { "D3DCOLORtoUBYTE4", "V4", "I", "V4", "F", EShLangAll }, - { "ddx", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "ddx_coarse", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "ddx_fine", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "ddy", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "ddy_coarse", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "ddy_fine", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "degrees", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "determinant", "S", "F", "M", "F", EShLangAll }, - { "DeviceMemoryBarrier", nullptr, nullptr, "-", "-", EShLangPSCS }, - { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, - { "distance", "S", "F", "V,", "F,", EShLangAll }, - { "dot", "S", nullptr, "SV,", "FI,", EShLangAll }, - { "dst", nullptr, nullptr, "V4,", "F,", EShLangAll }, - // { "errorf", "-", "-", "", "", EShLangAll }, TODO: varargs - { "EvaluateAttributeAtCentroid", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "EvaluateAttributeAtSample", nullptr, nullptr, "SVM,S", "F,U", EShLangPS }, - { "EvaluateAttributeSnapped", nullptr, nullptr, "SVM,V2", "F,I", EShLangPS }, - { "exp", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "exp2", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "f16tof32", nullptr, "F", "SV", "U", EShLangAll }, - { "f32tof16", nullptr, "U", "SV", "F", EShLangAll }, - { "faceforward", nullptr, nullptr, "V,,", "F,,", EShLangAll }, - { "firstbithigh", nullptr, nullptr, "SV", "UI", EShLangAll }, - { "firstbitlow", nullptr, nullptr, "SV", "UI", EShLangAll }, - { "floor", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "fma", nullptr, nullptr, "SVM,,", "D,,", EShLangAll }, - { "fmod", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "frac", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "frexp", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "fwidth", nullptr, nullptr, "SVM", "F", EShLangPS }, - { "GetRenderTargetSampleCount", "S", "U", "-", "-", EShLangAll }, - { "GetRenderTargetSamplePosition", "V2", "F", "V1", "I", EShLangAll }, - { "GroupMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS }, - { "GroupMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, - { "InterlockedAdd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedAdd", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "InterlockedAnd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedAnd", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "InterlockedCompareExchange", "-", "-", "SVM,,,>", "UI,,,", EShLangPSCS }, - { "InterlockedCompareStore", "-", "-", "SVM,,", "UI,,", EShLangPSCS }, - { "InterlockedExchange", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedMax", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedMax", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "InterlockedMin", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedMin", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "InterlockedOr", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedOr", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "InterlockedXor", "-", "-", "SVM,,>", "UI,,", EShLangPSCS }, - { "InterlockedXor", "-", "-", "SVM,", "UI,", EShLangPSCS }, - { "isfinite", nullptr, "B" , "SVM", "F", EShLangAll }, - { "isinf", nullptr, "B" , "SVM", "F", EShLangAll }, - { "isnan", nullptr, "B" , "SVM", "F", EShLangAll }, - { "ldexp", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "length", "S", "F", "V", "F", EShLangAll }, - { "lerp", nullptr, nullptr, "VM,,", "F,,", EShLangAll }, - { "lerp", nullptr, nullptr, "SVM,,S", "F,,", EShLangAll }, - { "lit", "V4", "F", "S,,", "F,,", EShLangAll }, - { "log", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "log10", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "log2", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "mad", nullptr, nullptr, "SVM,,", "DFUI,,", EShLangAll }, - { "max", nullptr, nullptr, "SVM,", "FIU,", EShLangAll }, - { "min", nullptr, nullptr, "SVM,", "FIU,", EShLangAll }, - { "modf", nullptr, nullptr, "SVM,>", "FIU,", EShLangAll }, - { "msad4", "V4", "U", "S,V2,V4", "U,,", EShLangAll }, - { "mul", "S", nullptr, "S,S", "FI,", EShLangAll }, - { "mul", "V", nullptr, "S,V", "FI,", EShLangAll }, - { "mul", "M", nullptr, "S,M", "FI,", EShLangAll }, - { "mul", "V", nullptr, "V,S", "FI,", EShLangAll }, - { "mul", "S", nullptr, "V,V", "FI,", EShLangAll }, - { "mul", "M", nullptr, "M,S", "FI,", EShLangAll }, + { "abort", nullptr, nullptr, "-", "-", EShLangAll, false }, + { "abs", nullptr, nullptr, "SVM", "DFUI", EShLangAll, false }, + { "acos", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "all", "S", "B", "SVM", "BFIU", EShLangAll, false }, + { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS, false }, + { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS, false }, + { "any", "S", "B", "SVM", "BFIU", EShLangAll, false }, + { "asdouble", "S", "D", "S,", "UI,", EShLangAll, false }, + { "asdouble", "V2", "D", "V2,", "UI,", EShLangAll, false }, + { "asfloat", nullptr, "F", "SVM", "BFIU", EShLangAll, false }, + { "asin", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "asint", nullptr, "I", "SVM", "FU", EShLangAll, false }, + { "asuint", nullptr, "U", "SVM", "FU", EShLangAll, false }, + { "atan", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "atan2", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + { "ceil", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "CheckAccessFullyMapped", "S", "B" , "S", "U", EShLangPSCS, false }, + { "clamp", nullptr, nullptr, "SVM,,", "FUI,,", EShLangAll, false }, + { "clip", "-", "-", "SVM", "F", EShLangPS, false }, + { "cos", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "cosh", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "countbits", nullptr, nullptr, "SV", "UI", EShLangAll, false }, + { "cross", nullptr, nullptr, "V3,", "F,", EShLangAll, false }, + { "D3DCOLORtoUBYTE4", "V4", "I", "V4", "F", EShLangAll, false }, + { "ddx", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "ddx_coarse", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "ddx_fine", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "ddy", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "ddy_coarse", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "ddy_fine", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "degrees", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "determinant", "S", "F", "M", "F", EShLangAll, false }, + { "DeviceMemoryBarrier", nullptr, nullptr, "-", "-", EShLangPSCS, false }, + { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS, false }, + { "distance", "S", "F", "V,", "F,", EShLangAll, false }, + { "dot", "S", nullptr, "SV,", "FI,", EShLangAll, false }, + { "dst", nullptr, nullptr, "V4,", "F,", EShLangAll, false }, + // { "errorf", "-", "-", "", "", EShLangAll, false }, TODO: varargs + { "EvaluateAttributeAtCentroid", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "EvaluateAttributeAtSample", nullptr, nullptr, "SVM,S", "F,U", EShLangPS, false }, + { "EvaluateAttributeSnapped", nullptr, nullptr, "SVM,V2", "F,I", EShLangPS, false }, + { "exp", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "exp2", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "f16tof32", nullptr, "F", "SV", "U", EShLangAll, false }, + { "f32tof16", nullptr, "U", "SV", "F", EShLangAll, false }, + { "faceforward", nullptr, nullptr, "V,,", "F,,", EShLangAll, false }, + { "firstbithigh", nullptr, nullptr, "SV", "UI", EShLangAll, false }, + { "firstbitlow", nullptr, nullptr, "SV", "UI", EShLangAll, false }, + { "floor", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "fma", nullptr, nullptr, "SVM,,", "D,,", EShLangAll, false }, + { "fmod", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + { "frac", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "frexp", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + { "fwidth", nullptr, nullptr, "SVM", "F", EShLangPS, false }, + { "GetRenderTargetSampleCount", "S", "U", "-", "-", EShLangAll, false }, + { "GetRenderTargetSamplePosition", "V2", "F", "V1", "I", EShLangAll, false }, + { "GroupMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS, false }, + { "GroupMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS, false }, + { "InterlockedAdd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedAdd", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "InterlockedAnd", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedAnd", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "InterlockedCompareExchange", "-", "-", "SVM,,,>", "UI,,,", EShLangPSCS, false }, + { "InterlockedCompareStore", "-", "-", "SVM,,", "UI,,", EShLangPSCS, false }, + { "InterlockedExchange", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedMax", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedMax", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "InterlockedMin", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedMin", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "InterlockedOr", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedOr", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "InterlockedXor", "-", "-", "SVM,,>", "UI,,", EShLangPSCS, false }, + { "InterlockedXor", "-", "-", "SVM,", "UI,", EShLangPSCS, false }, + { "isfinite", nullptr, "B" , "SVM", "F", EShLangAll, false }, + { "isinf", nullptr, "B" , "SVM", "F", EShLangAll, false }, + { "isnan", nullptr, "B" , "SVM", "F", EShLangAll, false }, + { "ldexp", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + { "length", "S", "F", "V", "F", EShLangAll, false }, + { "lerp", nullptr, nullptr, "VM,,", "F,,", EShLangAll, false }, + { "lerp", nullptr, nullptr, "SVM,,S", "F,,", EShLangAll, false }, + { "lit", "V4", "F", "S,,", "F,,", EShLangAll, false }, + { "log", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "log10", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "log2", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "mad", nullptr, nullptr, "SVM,,", "DFUI,,", EShLangAll, false }, + { "max", nullptr, nullptr, "SVM,", "FIU,", EShLangAll, false }, + { "min", nullptr, nullptr, "SVM,", "FIU,", EShLangAll, false }, + { "modf", nullptr, nullptr, "SVM,>", "FIU,", EShLangAll, false }, + { "msad4", "V4", "U", "S,V2,V4", "U,,", EShLangAll, false }, + { "mul", "S", nullptr, "S,S", "FI,", EShLangAll, false }, + { "mul", "V", nullptr, "S,V", "FI,", EShLangAll, false }, + { "mul", "M", nullptr, "S,M", "FI,", EShLangAll, false }, + { "mul", "V", nullptr, "V,S", "FI,", EShLangAll, false }, + { "mul", "S", nullptr, "V,V", "FI,", EShLangAll, false }, + { "mul", "M", nullptr, "M,S", "FI,", EShLangAll, false }, // mat*mat form of mul is handled in createMatTimesMat() - { "noise", "S", "F", "V", "F", EShLangPS }, - { "normalize", nullptr, nullptr, "V", "F", EShLangAll }, - { "pow", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - // { "printf", "-", "-", "", "", EShLangAll }, TODO: varargs - { "Process2DQuadTessFactorsAvg", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, - { "Process2DQuadTessFactorsMax", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, - { "Process2DQuadTessFactorsMin", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS }, - { "ProcessIsolineTessFactors", "-", "-", "S,,>,>", "F,,,", EShLangHS }, - { "ProcessQuadTessFactorsAvg", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, - { "ProcessQuadTessFactorsMax", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, - { "ProcessQuadTessFactorsMin", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS }, - { "ProcessTriTessFactorsAvg", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, - { "ProcessTriTessFactorsMax", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, - { "ProcessTriTessFactorsMin", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS }, - { "radians", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "rcp", nullptr, nullptr, "SVM", "FD", EShLangAll }, - { "reflect", nullptr, nullptr, "V,", "F,", EShLangAll }, - { "refract", nullptr, nullptr, "V,V,S", "F,,", EShLangAll }, - { "reversebits", nullptr, nullptr, "SV", "UI", EShLangAll }, - { "round", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "rsqrt", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "saturate", nullptr, nullptr , "SVM", "F", EShLangAll }, - { "sign", nullptr, nullptr, "SVM", "FI", EShLangAll }, - { "sin", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "sincos", "-", "-", "SVM,>,>", "F,,", EShLangAll }, - { "sinh", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "smoothstep", nullptr, nullptr, "SVM,,", "F,,", EShLangAll }, - { "sqrt", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "step", nullptr, nullptr, "SVM,", "F,", EShLangAll }, - { "tan", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "tanh", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "tex1D", "V4", "F", "V1,S", "S,F", EShLangPS }, - { "tex1D", "V4", "F", "V1,S,V1,", "S,F,,", EShLangPS }, - { "tex1Dbias", "V4", "F", "V1,V4", "S,F", EShLangPS }, - { "tex1Dgrad", "V4", "F", "V1,,,", "S,F,,", EShLangPS }, - { "tex1Dlod", "V4", "F", "V1,V4", "S,F", EShLangPS }, - { "tex1Dproj", "V4", "F", "V1,V4", "S,F", EShLangPS }, - { "tex2D", "V4", "F", "V2,", "S,F", EShLangPS }, - { "tex2D", "V4", "F", "V2,,,", "S,F,,", EShLangPS }, - { "tex2Dbias", "V4", "F", "V2,V4", "S,F", EShLangPS }, - { "tex2Dgrad", "V4", "F", "V2,,,", "S,F,,", EShLangPS }, - { "tex2Dlod", "V4", "F", "V2,V4", "S,F", EShLangPS }, - { "tex2Dproj", "V4", "F", "V2,V4", "S,F", EShLangPS }, - { "tex3D", "V4", "F", "V3,", "S,F", EShLangPS }, - { "tex3D", "V4", "F", "V3,,,", "S,F,,", EShLangPS }, - { "tex3Dbias", "V4", "F", "V3,V4", "S,F", EShLangPS }, - { "tex3Dgrad", "V4", "F", "V3,,,", "S,F,,", EShLangPS }, - { "tex3Dlod", "V4", "F", "V3,V4", "S,F", EShLangPS }, - { "tex3Dproj", "V4", "F", "V3,V4", "S,F", EShLangPS }, - { "texCUBE", "V4", "F", "V4,V3", "S,F", EShLangPS }, - { "texCUBE", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS }, - { "texCUBEbias", "V4", "F", "V4,", "S,F", EShLangPS }, - { "texCUBEgrad", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS }, - { "texCUBElod", "V4", "F", "V4,", "S,F", EShLangPS }, - { "texCUBEproj", "V4", "F", "V4,", "S,F", EShLangPS }, - { "transpose", "^M", nullptr, "M", "FUIB", EShLangAll }, - { "trunc", nullptr, nullptr, "SVM", "F", EShLangAll }, + { "noise", "S", "F", "V", "F", EShLangPS, false }, + { "normalize", nullptr, nullptr, "V", "F", EShLangAll, false }, + { "pow", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + // { "printf", "-", "-", "", "", EShLangAll, false }, TODO: varargs + { "Process2DQuadTessFactorsAvg", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "Process2DQuadTessFactorsMax", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "Process2DQuadTessFactorsMin", "-", "-", "V4,V2,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "ProcessIsolineTessFactors", "-", "-", "S,,>,>", "F,,,", EShLangHS, false }, + { "ProcessQuadTessFactorsAvg", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "ProcessQuadTessFactorsMax", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "ProcessQuadTessFactorsMin", "-", "-", "V4,S,>V4,>V2,", "F,,,,", EShLangHS, false }, + { "ProcessTriTessFactorsAvg", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS, false }, + { "ProcessTriTessFactorsMax", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS, false }, + { "ProcessTriTessFactorsMin", "-", "-", "V3,S,>V3,>S,", "F,,,,", EShLangHS, false }, + { "radians", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "rcp", nullptr, nullptr, "SVM", "FD", EShLangAll, false }, + { "reflect", nullptr, nullptr, "V,", "F,", EShLangAll, false }, + { "refract", nullptr, nullptr, "V,V,S", "F,,", EShLangAll, false }, + { "reversebits", nullptr, nullptr, "SV", "UI", EShLangAll, false }, + { "round", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "rsqrt", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "saturate", nullptr, nullptr , "SVM", "F", EShLangAll, false }, + { "sign", nullptr, nullptr, "SVM", "FI", EShLangAll, false }, + { "sin", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "sincos", "-", "-", "SVM,>,>", "F,,", EShLangAll, false }, + { "sinh", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "smoothstep", nullptr, nullptr, "SVM,,", "F,,", EShLangAll, false }, + { "sqrt", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "step", nullptr, nullptr, "SVM,", "F,", EShLangAll, false }, + { "tan", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "tanh", nullptr, nullptr, "SVM", "F", EShLangAll, false }, + { "tex1D", "V4", "F", "V1,S", "S,F", EShLangPS, false }, + { "tex1D", "V4", "F", "V1,S,V1,", "S,F,,", EShLangPS, false }, + { "tex1Dbias", "V4", "F", "V1,V4", "S,F", EShLangPS, false }, + { "tex1Dgrad", "V4", "F", "V1,,,", "S,F,,", EShLangPS, false }, + { "tex1Dlod", "V4", "F", "V1,V4", "S,F", EShLangPS, false }, + { "tex1Dproj", "V4", "F", "V1,V4", "S,F", EShLangPS, false }, + { "tex2D", "V4", "F", "V2,", "S,F", EShLangPS, false }, + { "tex2D", "V4", "F", "V2,,,", "S,F,,", EShLangPS, false }, + { "tex2Dbias", "V4", "F", "V2,V4", "S,F", EShLangPS, false }, + { "tex2Dgrad", "V4", "F", "V2,,,", "S,F,,", EShLangPS, false }, + { "tex2Dlod", "V4", "F", "V2,V4", "S,F", EShLangPS, false }, + { "tex2Dproj", "V4", "F", "V2,V4", "S,F", EShLangPS, false }, + { "tex3D", "V4", "F", "V3,", "S,F", EShLangPS, false }, + { "tex3D", "V4", "F", "V3,,,", "S,F,,", EShLangPS, false }, + { "tex3Dbias", "V4", "F", "V3,V4", "S,F", EShLangPS, false }, + { "tex3Dgrad", "V4", "F", "V3,,,", "S,F,,", EShLangPS, false }, + { "tex3Dlod", "V4", "F", "V3,V4", "S,F", EShLangPS, false }, + { "tex3Dproj", "V4", "F", "V3,V4", "S,F", EShLangPS, false }, + { "texCUBE", "V4", "F", "V4,V3", "S,F", EShLangPS, false }, + { "texCUBE", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS, false }, + { "texCUBEbias", "V4", "F", "V4,", "S,F", EShLangPS, false }, + { "texCUBEgrad", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS, false }, + { "texCUBElod", "V4", "F", "V4,", "S,F", EShLangPS, false }, + { "texCUBEproj", "V4", "F", "V4,", "S,F", EShLangPS, false }, + { "transpose", "^M", nullptr, "M", "FUIB", EShLangAll, false }, + { "trunc", nullptr, nullptr, "SVM", "F", EShLangAll, false }, // Texture object methods. Return type can be overridden by shader declaration. // !O = no offset, O = offset - { "Sample", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangPS }, - { "Sample", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangPS }, + { "Sample", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangPS, true }, + { "Sample", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangPS, true }, - { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangPS }, - { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangPS }, + { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangPS, true }, + { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangPS, true }, // TODO: FXC accepts int/uint samplers here. unclear what that means. - { "SampleCmp", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,", EShLangPS }, - { "SampleCmp", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,,I", EShLangPS }, + { "SampleCmp", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,", EShLangPS, true }, + { "SampleCmp", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,,I", EShLangPS, true }, // TODO: FXC accepts int/uint samplers here. unclear what that means. - { "SampleCmpLevelZero", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,F", EShLangPS }, - { "SampleCmpLevelZero", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,F,I", EShLangPS }, + { "SampleCmpLevelZero", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,F", EShLangPS, true }, + { "SampleCmpLevelZero", /* O*/ "S", "F", "%@,S,V,S,V", "FIU,s,F,F,I", EShLangPS, true }, - { "SampleGrad", /*!O*/ "V4", nullptr, "%@,S,V,,", "FIU,S,F,,", EShLangAll }, - { "SampleGrad", /* O*/ "V4", nullptr, "%@,S,V,,,", "FIU,S,F,,,I", EShLangAll }, + { "SampleGrad", /*!O*/ "V4", nullptr, "%@,S,V,,", "FIU,S,F,,", EShLangAll, true }, + { "SampleGrad", /* O*/ "V4", nullptr, "%@,S,V,,,", "FIU,S,F,,,I", EShLangAll, true }, - { "SampleLevel", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangAll }, - { "SampleLevel", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangAll }, + { "SampleLevel", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangAll, true }, + { "SampleLevel", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangAll, true }, - { "Load", /*!O*/ "V4", nullptr, "%@,V", "FIU,I", EShLangAll }, - { "Load", /* O*/ "V4", nullptr, "%@,V,V", "FIU,I,I", EShLangAll }, - { "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll }, - { "Load", /* +samplindex, offset*/ "V4", nullptr, "$&,V,S,V", "FIU,I,I,I", EShLangAll }, + { "Load", /*!O*/ "V4", nullptr, "%@,V", "FIU,I", EShLangAll, true }, + { "Load", /* O*/ "V4", nullptr, "%@,V,V", "FIU,I,I", EShLangAll, true }, + { "Load", /* +sampleidex*/ "V4", nullptr, "$&,V,S", "FIU,I,I", EShLangAll, true }, + { "Load", /* +samplindex, offset*/ "V4", nullptr, "$&,V,S,V", "FIU,I,I,I", EShLangAll, true }, // RWTexture loads - { "Load", "V4", nullptr, "!#,V", "FIU,I", EShLangAll }, + { "Load", "V4", nullptr, "!#,V", "FIU,I", EShLangAll, true }, // (RW)Buffer loads - { "Load", "V4", nullptr, "~*1,V", "FIU,I", EShLangAll }, + { "Load", "V4", nullptr, "~*1,V", "FIU,I", EShLangAll, true }, - { "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, - { "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll }, + { "Gather", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll, true }, + { "Gather", /* O*/ "V4", nullptr, "%@,S,V,V", "FIU,S,F,I", EShLangAll, true }, - { "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS }, - { "CalculateLevelOfDetailUnclamped", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS }, + { "CalculateLevelOfDetail", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS, true }, + { "CalculateLevelOfDetailUnclamped", "S", "F", "%@,S,V", "FUI,S,F", EShLangPS, true }, - { "GetSamplePosition", "V2", "F", "$&2,S", "FUI,I", EShLangVSPSGS }, + { "GetSamplePosition", "V2", "F", "$&2,S", "FUI,I", EShLangVSPSGS,true }, // // UINT Width // UINT MipLevel, UINT Width, UINT NumberOfLevels - { "GetDimensions", /* 1D */ "-", "-", "%!~1,>S", "FUI,U", EShLangAll }, - { "GetDimensions", /* 1D */ "-", "-", "%!~1,>S", "FUI,F", EShLangAll }, - { "GetDimensions", /* 1D */ "-", "-", "%1,S,>S,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* 1D */ "-", "-", "%1,S,>S,", "FUI,U,F,", EShLangAll }, + { "GetDimensions", /* 1D */ "-", "-", "%!~1,>S", "FUI,U", EShLangAll, true }, + { "GetDimensions", /* 1D */ "-", "-", "%!~1,>S", "FUI,F", EShLangAll, true }, + { "GetDimensions", /* 1D */ "-", "-", "%1,S,>S,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* 1D */ "-", "-", "%1,S,>S,", "FUI,U,F,", EShLangAll, true }, // UINT Width, UINT Elements // UINT MipLevel, UINT Width, UINT Elements, UINT NumberOfLevels - { "GetDimensions", /* 1DArray */ "-", "-", "@#1,>S,", "FUI,U,", EShLangAll }, - { "GetDimensions", /* 1DArray */ "-", "-", "@#1,>S,", "FUI,F,", EShLangAll }, - { "GetDimensions", /* 1DArray */ "-", "-", "@1,S,>S,,", "FUI,U,,,", EShLangAll }, - { "GetDimensions", /* 1DArray */ "-", "-", "@1,S,>S,,", "FUI,U,F,,", EShLangAll }, + { "GetDimensions", /* 1DArray */ "-", "-", "@#1,>S,", "FUI,U,", EShLangAll, true }, + { "GetDimensions", /* 1DArray */ "-", "-", "@#1,>S,", "FUI,F,", EShLangAll, true }, + { "GetDimensions", /* 1DArray */ "-", "-", "@1,S,>S,,", "FUI,U,,,", EShLangAll, true }, + { "GetDimensions", /* 1DArray */ "-", "-", "@1,S,>S,,", "FUI,U,F,,", EShLangAll, true }, // UINT Width, UINT Height // UINT MipLevel, UINT Width, UINT Height, UINT NumberOfLevels - { "GetDimensions", /* 2D */ "-", "-", "%!2,>S,", "FUI,U,", EShLangAll }, - { "GetDimensions", /* 2D */ "-", "-", "%!2,>S,", "FUI,F,", EShLangAll }, - { "GetDimensions", /* 2D */ "-", "-", "%2,S,>S,,", "FUI,U,,,", EShLangAll }, - { "GetDimensions", /* 2D */ "-", "-", "%2,S,>S,,", "FUI,U,F,,", EShLangAll }, + { "GetDimensions", /* 2D */ "-", "-", "%!2,>S,", "FUI,U,", EShLangAll, true }, + { "GetDimensions", /* 2D */ "-", "-", "%!2,>S,", "FUI,F,", EShLangAll, true }, + { "GetDimensions", /* 2D */ "-", "-", "%2,S,>S,,", "FUI,U,,,", EShLangAll, true }, + { "GetDimensions", /* 2D */ "-", "-", "%2,S,>S,,", "FUI,U,F,,", EShLangAll, true }, // UINT Width, UINT Height, UINT Elements // UINT MipLevel, UINT Width, UINT Height, UINT Elements, UINT NumberOfLevels - { "GetDimensions", /* 2DArray */ "-", "-", "@#2,>S,,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* 2DArray */ "-", "-", "@#2,>S,,", "FUI,F,F,F", EShLangAll }, - { "GetDimensions", /* 2DArray */ "-", "-", "@2,S,>S,,,", "FUI,U,,,,", EShLangAll }, - { "GetDimensions", /* 2DArray */ "-", "-", "@2,S,>S,,,", "FUI,U,F,,,", EShLangAll }, + { "GetDimensions", /* 2DArray */ "-", "-", "@#2,>S,,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* 2DArray */ "-", "-", "@#2,>S,,", "FUI,F,F,F", EShLangAll, true }, + { "GetDimensions", /* 2DArray */ "-", "-", "@2,S,>S,,,", "FUI,U,,,,", EShLangAll, true }, + { "GetDimensions", /* 2DArray */ "-", "-", "@2,S,>S,,,", "FUI,U,F,,,", EShLangAll, true }, // UINT Width, UINT Height, UINT Depth // UINT MipLevel, UINT Width, UINT Height, UINT Depth, UINT NumberOfLevels - { "GetDimensions", /* 3D */ "-", "-", "%!3,>S,,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* 3D */ "-", "-", "%!3,>S,,", "FUI,F,,", EShLangAll }, - { "GetDimensions", /* 3D */ "-", "-", "%3,S,>S,,,", "FUI,U,,,,", EShLangAll }, - { "GetDimensions", /* 3D */ "-", "-", "%3,S,>S,,,", "FUI,U,F,,,", EShLangAll }, + { "GetDimensions", /* 3D */ "-", "-", "%!3,>S,,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* 3D */ "-", "-", "%!3,>S,,", "FUI,F,,", EShLangAll, true }, + { "GetDimensions", /* 3D */ "-", "-", "%3,S,>S,,,", "FUI,U,,,,", EShLangAll, true }, + { "GetDimensions", /* 3D */ "-", "-", "%3,S,>S,,,", "FUI,U,F,,,", EShLangAll, true }, // UINT Width, UINT Height // UINT MipLevel, UINT Width, UINT Height, UINT NumberOfLevels - { "GetDimensions", /* Cube */ "-", "-", "%4,>S,", "FUI,U,", EShLangAll }, - { "GetDimensions", /* Cube */ "-", "-", "%4,>S,", "FUI,F,", EShLangAll }, - { "GetDimensions", /* Cube */ "-", "-", "%4,S,>S,,", "FUI,U,,,", EShLangAll }, - { "GetDimensions", /* Cube */ "-", "-", "%4,S,>S,,", "FUI,U,F,,", EShLangAll }, + { "GetDimensions", /* Cube */ "-", "-", "%4,>S,", "FUI,U,", EShLangAll, true }, + { "GetDimensions", /* Cube */ "-", "-", "%4,>S,", "FUI,F,", EShLangAll, true }, + { "GetDimensions", /* Cube */ "-", "-", "%4,S,>S,,", "FUI,U,,,", EShLangAll, true }, + { "GetDimensions", /* Cube */ "-", "-", "%4,S,>S,,", "FUI,U,F,,", EShLangAll, true }, // UINT Width, UINT Height, UINT Elements // UINT MipLevel, UINT Width, UINT Height, UINT Elements, UINT NumberOfLevels - { "GetDimensions", /* CubeArray */ "-", "-", "@4,>S,,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* CubeArray */ "-", "-", "@4,>S,,", "FUI,F,,", EShLangAll }, - { "GetDimensions", /* CubeArray */ "-", "-", "@4,S,>S,,,", "FUI,U,,,,", EShLangAll }, - { "GetDimensions", /* CubeArray */ "-", "-", "@4,S,>S,,,", "FUI,U,F,,,", EShLangAll }, + { "GetDimensions", /* CubeArray */ "-", "-", "@4,>S,,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* CubeArray */ "-", "-", "@4,>S,,", "FUI,F,,", EShLangAll, true }, + { "GetDimensions", /* CubeArray */ "-", "-", "@4,S,>S,,,", "FUI,U,,,,", EShLangAll, true }, + { "GetDimensions", /* CubeArray */ "-", "-", "@4,S,>S,,,", "FUI,U,F,,,", EShLangAll, true }, // UINT Width, UINT Height, UINT Samples // UINT Width, UINT Height, UINT Elements, UINT Samples - { "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll }, - { "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll }, - { "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll }, + { "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* 2DMS */ "-", "-", "$2,>S,,", "FUI,U,,", EShLangAll, true }, + { "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll, true }, + { "GetDimensions", /* 2DMSArray */ "-", "-", "&2,>S,,,", "FUI,U,,,", EShLangAll, true }, // SM5 texture methods - { "GatherRed", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, - { "GatherRed", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll }, - { "GatherRed", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll }, - { "GatherRed", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll }, - { "GatherRed", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll }, - - { "GatherGreen", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, - { "GatherGreen", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll }, - { "GatherGreen", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll }, - { "GatherGreen", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll }, - { "GatherGreen", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll }, - - { "GatherBlue", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, - { "GatherBlue", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll }, - { "GatherBlue", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll }, - { "GatherBlue", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll }, - { "GatherBlue", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll }, - - { "GatherAlpha", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll }, - { "GatherAlpha", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll }, - { "GatherAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll }, - { "GatherAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll }, - { "GatherAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U",EShLangAll }, - - { "GatherCmpRed", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll }, - { "GatherCmpRed", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll }, - { "GatherCmpRed", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll }, - { "GatherCmpRed", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll }, - { "GatherCmpRed", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,V,S","FIU,s,F,,I,,,,U",EShLangAll }, - - { "GatherCmpGreen", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll }, - { "GatherCmpGreen", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll }, - { "GatherCmpGreen", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll }, - { "GatherCmpGreen", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll }, - { "GatherCmpGreen", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll }, - - { "GatherCmpBlue", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll }, - { "GatherCmpBlue", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll }, - { "GatherCmpBlue", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll }, - { "GatherCmpBlue", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll }, - { "GatherCmpBlue", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll }, - - { "GatherCmpAlpha", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll }, - { "GatherCmpAlpha", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll }, - { "GatherCmpAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll }, - { "GatherCmpAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll }, - { "GatherCmpAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll }, + { "GatherRed", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll, true }, + { "GatherRed", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll, true }, + { "GatherRed", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll, true }, + { "GatherRed", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll, true }, + { "GatherRed", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U", EShLangAll, true }, + + { "GatherGreen", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll, true }, + { "GatherGreen", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll, true }, + { "GatherGreen", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll, true }, + { "GatherGreen", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll, true }, + { "GatherGreen", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U", EShLangAll, true }, + + { "GatherBlue", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll, true }, + { "GatherBlue", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll, true }, + { "GatherBlue", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll, true }, + { "GatherBlue", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll, true }, + { "GatherBlue", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U", EShLangAll, true }, + + { "GatherAlpha", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangAll, true }, + { "GatherAlpha", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangAll, true }, + { "GatherAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,,>S", "FIU,S,F,I,U", EShLangAll, true }, + { "GatherAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,,,,", "FIU,S,F,I,,,", EShLangAll, true }, + { "GatherAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,,,,,S", "FIU,S,F,I,,,,U", EShLangAll, true }, + + { "GatherCmpRed", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll, true }, + { "GatherCmpRed", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll, true }, + { "GatherCmpRed", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll, true }, + { "GatherCmpRed", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll, true }, + { "GatherCmpRed", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,V,S","FIU,s,F,,I,,,,U",EShLangAll, true }, + + { "GatherCmpGreen", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll, true }, + { "GatherCmpGreen", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll, true }, + { "GatherCmpGreen", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll, true }, + { "GatherCmpGreen", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll, true }, + { "GatherCmpGreen", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll, true }, + + { "GatherCmpBlue", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll, true }, + { "GatherCmpBlue", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll, true }, + { "GatherCmpBlue", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll, true }, + { "GatherCmpBlue", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll, true }, + { "GatherCmpBlue", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll, true }, + + { "GatherCmpAlpha", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,s,F,", EShLangAll, true }, + { "GatherCmpAlpha", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,s,F,,I", EShLangAll, true }, + { "GatherCmpAlpha", /* O, status*/ "V4", nullptr, "%@,S,V,S,V,>S", "FIU,s,F,,I,U", EShLangAll, true }, + { "GatherCmpAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll, true }, + { "GatherCmpAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll, true }, // geometry methods - { "Append", "-", "-", "-", "-", EShLangGS }, - { "RestartStrip", "-", "-", "-", "-", EShLangGS }, + { "Append", "-", "-", "-", "-", EShLangGS , true }, + { "RestartStrip", "-", "-", "-", "-", EShLangGS , true }, + + // Methods for structurebuffers. TODO: wildcard type matching. + { "Load", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Load2", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Load3", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Load4", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Store", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Store2", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Store3", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "Store4", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "GetDimensions", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedAdd", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedAnd", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedCompareExchange", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedCompareStore", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedExchange", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedMax", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedMin", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedOr", nullptr, nullptr, "-", "-", EShLangAll, true }, + { "InterlockedXor", nullptr, nullptr, "-", "-", EShLangAll, true }, // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet. - { nullptr, nullptr, nullptr, nullptr, nullptr, 0 }, + { nullptr, nullptr, nullptr, nullptr, nullptr, 0, false }, }; // Create prototypes for the intrinsics. TODO: Avoid ranged based for until all compilers can handle it. @@ -898,6 +920,12 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c AppendTypeName(s, retOrder, retType, dim0, dim1); // add return type s.append(" "); // space between type and name + + // methods have a prefix. TODO: it would be better as an invalid identifier character, + // but that requires a scanner change. + if (intrinsic.method) + s.append(BUILTIN_PREFIX); + s.append(intrinsic.name); // intrinsic name s.append("("); // open paren @@ -1131,32 +1159,51 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil symbolTable.relateToOperator("trunc", EOpTrunc); // Texture methods - symbolTable.relateToOperator("Sample", EOpMethodSample); - symbolTable.relateToOperator("SampleBias", EOpMethodSampleBias); - symbolTable.relateToOperator("SampleCmp", EOpMethodSampleCmp); - symbolTable.relateToOperator("SampleCmpLevelZero", EOpMethodSampleCmpLevelZero); - symbolTable.relateToOperator("SampleGrad", EOpMethodSampleGrad); - symbolTable.relateToOperator("SampleLevel", EOpMethodSampleLevel); - symbolTable.relateToOperator("Load", EOpMethodLoad); - symbolTable.relateToOperator("GetDimensions", EOpMethodGetDimensions); - symbolTable.relateToOperator("GetSamplePosition", EOpMethodGetSamplePosition); - symbolTable.relateToOperator("Gather", EOpMethodGather); - symbolTable.relateToOperator("CalculateLevelOfDetail", EOpMethodCalculateLevelOfDetail); - symbolTable.relateToOperator("CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped); + symbolTable.relateToOperator(BUILTIN_PREFIX "Sample", EOpMethodSample); + symbolTable.relateToOperator(BUILTIN_PREFIX "SampleBias", EOpMethodSampleBias); + symbolTable.relateToOperator(BUILTIN_PREFIX "SampleCmp", EOpMethodSampleCmp); + symbolTable.relateToOperator(BUILTIN_PREFIX "SampleCmpLevelZero", EOpMethodSampleCmpLevelZero); + symbolTable.relateToOperator(BUILTIN_PREFIX "SampleGrad", EOpMethodSampleGrad); + symbolTable.relateToOperator(BUILTIN_PREFIX "SampleLevel", EOpMethodSampleLevel); + symbolTable.relateToOperator(BUILTIN_PREFIX "Load", EOpMethodLoad); + symbolTable.relateToOperator(BUILTIN_PREFIX "GetDimensions", EOpMethodGetDimensions); + symbolTable.relateToOperator(BUILTIN_PREFIX "GetSamplePosition", EOpMethodGetSamplePosition); + symbolTable.relateToOperator(BUILTIN_PREFIX "Gather", EOpMethodGather); + symbolTable.relateToOperator(BUILTIN_PREFIX "CalculateLevelOfDetail", EOpMethodCalculateLevelOfDetail); + symbolTable.relateToOperator(BUILTIN_PREFIX "CalculateLevelOfDetailUnclamped", EOpMethodCalculateLevelOfDetailUnclamped); + + // Structure buffer methods (excluding associations already made above for texture methods w/ same name) + symbolTable.relateToOperator(BUILTIN_PREFIX "Load2", EOpMethodLoad2); + symbolTable.relateToOperator(BUILTIN_PREFIX "Load3", EOpMethodLoad3); + symbolTable.relateToOperator(BUILTIN_PREFIX "Load4", EOpMethodLoad4); + symbolTable.relateToOperator(BUILTIN_PREFIX "Store", EOpMethodStore); + symbolTable.relateToOperator(BUILTIN_PREFIX "Store2", EOpMethodStore2); + symbolTable.relateToOperator(BUILTIN_PREFIX "Store3", EOpMethodStore3); + symbolTable.relateToOperator(BUILTIN_PREFIX "Store4", EOpMethodStore4); + + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedAdd", EOpInterlockedAdd); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedAnd", EOpInterlockedAnd); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedCompareExchange", EOpInterlockedCompareExchange); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedCompareStore", EOpInterlockedCompareStore); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedExchange", EOpInterlockedExchange); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedMax", EOpInterlockedMax); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedMin", EOpInterlockedMin); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedOr", EOpInterlockedOr); + symbolTable.relateToOperator(BUILTIN_PREFIX "InterlockedXor", EOpInterlockedXor); // SM5 Texture methods - symbolTable.relateToOperator("GatherRed", EOpMethodGatherRed); - symbolTable.relateToOperator("GatherGreen", EOpMethodGatherGreen); - symbolTable.relateToOperator("GatherBlue", EOpMethodGatherBlue); - symbolTable.relateToOperator("GatherAlpha", EOpMethodGatherAlpha); - symbolTable.relateToOperator("GatherCmpRed", EOpMethodGatherCmpRed); - symbolTable.relateToOperator("GatherCmpGreen", EOpMethodGatherCmpGreen); - symbolTable.relateToOperator("GatherCmpBlue", EOpMethodGatherCmpBlue); - symbolTable.relateToOperator("GatherCmpAlpha", EOpMethodGatherCmpAlpha); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherRed", EOpMethodGatherRed); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherGreen", EOpMethodGatherGreen); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherBlue", EOpMethodGatherBlue); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherAlpha", EOpMethodGatherAlpha); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherCmpRed", EOpMethodGatherCmpRed); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherCmpGreen", EOpMethodGatherCmpGreen); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherCmpBlue", EOpMethodGatherCmpBlue); + symbolTable.relateToOperator(BUILTIN_PREFIX "GatherCmpAlpha", EOpMethodGatherCmpAlpha); // GS methods - symbolTable.relateToOperator("Append", EOpMethodAppend); - symbolTable.relateToOperator("RestartStrip", EOpMethodRestartStrip); + symbolTable.relateToOperator(BUILTIN_PREFIX "Append", EOpMethodAppend); + symbolTable.relateToOperator(BUILTIN_PREFIX "RestartStrip", EOpMethodRestartStrip); } // diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.cpp index 69c1e37f869..7b0365f4f92 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.cpp @@ -47,7 +47,6 @@ #include "../glslang/MachineIndependent/ParseHelper.h" #include "hlslScanContext.h" #include "hlslTokens.h" -//#include "Scan.h" // preprocessor includes #include "../glslang/MachineIndependent/preprocessor/PpContext.h" @@ -82,6 +81,7 @@ struct str_hash // After a single process-level initialization, this is read only and thread safe std::unordered_map* KeywordMap = nullptr; std::unordered_set* ReservedSet = nullptr; +std::unordered_map* SemanticMap = nullptr; }; @@ -118,6 +118,8 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["out"] = EHTokOut; (*KeywordMap)["inout"] = EHTokInOut; (*KeywordMap)["layout"] = EHTokLayout; + (*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent; + (*KeywordMap)["inline"] = EHTokInline; (*KeywordMap)["point"] = EHTokPoint; (*KeywordMap)["line"] = EHTokLine; @@ -129,6 +131,9 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["LineStream"] = EHTokLineStream; (*KeywordMap)["TriangleStream"] = EHTokTriangleStream; + (*KeywordMap)["InputPatch"] = EHTokInputPatch; + (*KeywordMap)["OutputPatch"] = EHTokOutputPatch; + (*KeywordMap)["Buffer"] = EHTokBuffer; (*KeywordMap)["vector"] = EHTokVector; (*KeywordMap)["matrix"] = EHTokMatrix; @@ -316,10 +321,19 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["RWTexture3D"] = EHTokRWTexture3d; (*KeywordMap)["RWBuffer"] = EHTokRWBuffer; + (*KeywordMap)["AppendStructuredBuffer"] = EHTokAppendStructuredBuffer; + (*KeywordMap)["ByteAddressBuffer"] = EHTokByteAddressBuffer; + (*KeywordMap)["ConsumeStructuredBuffer"] = EHTokConsumeStructuredBuffer; + (*KeywordMap)["RWByteAddressBuffer"] = EHTokRWByteAddressBuffer; + (*KeywordMap)["RWStructuredBuffer"] = EHTokRWStructuredBuffer; + (*KeywordMap)["StructuredBuffer"] = EHTokStructuredBuffer; + + (*KeywordMap)["class"] = EHTokClass; (*KeywordMap)["struct"] = EHTokStruct; (*KeywordMap)["cbuffer"] = EHTokCBuffer; (*KeywordMap)["tbuffer"] = EHTokTBuffer; (*KeywordMap)["typedef"] = EHTokTypedef; + (*KeywordMap)["this"] = EHTokThis; (*KeywordMap)["true"] = EHTokBoolConstant; (*KeywordMap)["false"] = EHTokBoolConstant; @@ -343,7 +357,6 @@ void HlslScanContext::fillInKeywordMap() ReservedSet->insert("auto"); ReservedSet->insert("catch"); ReservedSet->insert("char"); - ReservedSet->insert("class"); ReservedSet->insert("const_cast"); ReservedSet->insert("enum"); ReservedSet->insert("explicit"); @@ -362,7 +375,6 @@ void HlslScanContext::fillInKeywordMap() ReservedSet->insert("sizeof"); ReservedSet->insert("static_cast"); ReservedSet->insert("template"); - ReservedSet->insert("this"); ReservedSet->insert("throw"); ReservedSet->insert("try"); ReservedSet->insert("typename"); @@ -370,6 +382,73 @@ void HlslScanContext::fillInKeywordMap() ReservedSet->insert("unsigned"); ReservedSet->insert("using"); ReservedSet->insert("virtual"); + + SemanticMap = new std::unordered_map; + + // in DX9, all outputs had to have a semantic associated with them, that was either consumed + // by the system or was a specific register assignment + // in DX10+, only semantics with the SV_ prefix have any meaning beyond decoration + // Fxc will only accept DX9 style semantics in compat mode + // Also, in DX10 if a SV value is present as the input of a stage, but isn't appropriate for that + // stage, it would just be ignored as it is likely there as part of an output struct from one stage + // to the next + bool bParseDX9 = false; + if (bParseDX9) { + (*SemanticMap)["PSIZE"] = EbvPointSize; + (*SemanticMap)["FOG"] = EbvFogFragCoord; + (*SemanticMap)["DEPTH"] = EbvFragDepth; + (*SemanticMap)["VFACE"] = EbvFace; + (*SemanticMap)["VPOS"] = EbvFragCoord; + } + + (*SemanticMap)["SV_POSITION"] = EbvPosition; + (*SemanticMap)["SV_CLIPDISTANCE"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE0"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE1"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE2"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE3"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE4"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE5"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE6"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE7"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE8"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE9"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE10"] = EbvClipDistance; + (*SemanticMap)["SV_CLIPDISTANCE11"] = EbvClipDistance; + (*SemanticMap)["SV_CULLDISTANCE"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE0"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE1"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE2"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE3"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE4"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE5"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE6"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE7"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE8"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE9"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE10"] = EbvCullDistance; + (*SemanticMap)["SV_CULLDISTANCE11"] = EbvCullDistance; + (*SemanticMap)["SV_VERTEXID"] = EbvVertexIndex; + (*SemanticMap)["SV_VIEWPORTARRAYINDEX"] = EbvViewportIndex; + (*SemanticMap)["SV_TESSFACTOR"] = EbvTessLevelOuter; + (*SemanticMap)["SV_SAMPLEINDEX"] = EbvSampleId; + (*SemanticMap)["SV_RENDERTARGETARRAYINDEX"] = EbvLayer; + (*SemanticMap)["SV_PRIMITIVEID"] = EbvPrimitiveId; + (*SemanticMap)["SV_OUTPUTCONTROLPOINTID"] = EbvInvocationId; + (*SemanticMap)["SV_ISFRONTFACE"] = EbvFace; + (*SemanticMap)["SV_INSTANCEID"] = EbvInstanceIndex; + (*SemanticMap)["SV_INSIDETESSFACTOR"] = EbvTessLevelInner; + (*SemanticMap)["SV_GSINSTANCEID"] = EbvInvocationId; + (*SemanticMap)["SV_DISPATCHTHREADID"] = EbvGlobalInvocationId; + (*SemanticMap)["SV_GROUPTHREADID"] = EbvLocalInvocationId; + (*SemanticMap)["SV_GROUPINDEX"] = EbvLocalInvocationIndex; + (*SemanticMap)["SV_GROUPID"] = EbvWorkGroupId; + (*SemanticMap)["SV_DOMAINLOCATION"] = EbvTessCoord; + (*SemanticMap)["SV_DEPTH"] = EbvFragDepth; + (*SemanticMap)["SV_COVERAGE"] = EbvSampleMask; + (*SemanticMap)["SV_DEPTHGREATEREQUAL"] = EbvFragDepthGreater; + (*SemanticMap)["SV_DEPTHLESSEQUAL"] = EbvFragDepthLesser; + (*SemanticMap)["SV_STENCILREF"] = EbvStencilRef; } void HlslScanContext::deleteKeywordMap() @@ -378,15 +457,26 @@ void HlslScanContext::deleteKeywordMap() KeywordMap = nullptr; delete ReservedSet; ReservedSet = nullptr; + delete SemanticMap; + SemanticMap = nullptr; } -// Wrapper for tokenizeClass()"] = to get everything inside the token. +// Wrapper for tokenizeClass() to get everything inside the token. void HlslScanContext::tokenize(HlslToken& token) { EHlslTokenClass tokenClass = tokenizeClass(token); token.tokenClass = tokenClass; } +glslang::TBuiltInVariable HlslScanContext::mapSemantic(const char* upperCase) +{ + auto it = SemanticMap->find(upperCase); + if (it != SemanticMap->end()) + return it->second; + else + return glslang::EbvNone; +} + // // Fill in token information for the next token, except for the token class. // Returns the enum value of the token class of the next token found. @@ -460,6 +550,8 @@ EHlslTokenClass HlslScanContext::tokenizeClass(HlslToken& token) case PpAtomDecrement: return EHTokDecOp; case PpAtomIncrement: return EHTokIncOp; + case PpAtomColonColon: return EHTokColonColon; + case PpAtomConstInt: parserToken->i = ppToken.ival; return EHTokIntConstant; case PpAtomConstUint: parserToken->i = ppToken.ival; return EHTokUintConstant; case PpAtomConstFloat: parserToken->d = ppToken.dval; return EHTokFloatConstant; @@ -524,6 +616,8 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokInOut: case EHTokPrecise: case EHTokLayout: + case EHTokGloballyCoherent: + case EHTokInline: return keyword; // primitive types @@ -540,6 +634,11 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokTriangleStream: return keyword; + // Tessellation patches + case EHTokInputPatch: + case EHTokOutputPatch: + return keyword; + case EHTokBuffer: case EHTokVector: case EHTokMatrix: @@ -714,13 +813,21 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokRWTexture2darray: case EHTokRWTexture3d: case EHTokRWBuffer: + case EHTokAppendStructuredBuffer: + case EHTokByteAddressBuffer: + case EHTokConsumeStructuredBuffer: + case EHTokRWByteAddressBuffer: + case EHTokRWStructuredBuffer: + case EHTokStructuredBuffer: return keyword; // variable, user type, ... + case EHTokClass: case EHTokStruct: case EHTokTypedef: case EHTokCBuffer: case EHTokTBuffer: + case EHTokThis: return keyword; case EHTokBoolConstant: diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.h index b931d9be9bd..9d30a12e1e5 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslScanContext.h @@ -54,7 +54,7 @@ class TPpToken; // Everything needed to fully describe a token. // struct HlslToken { - HlslToken() : string(nullptr), symbol(nullptr) { loc.init(); } + HlslToken() : string(nullptr) { loc.init(); } TSourceLoc loc; // location of token in the source EHlslTokenClass tokenClass; // what kind of token it is union { // what data the token holds @@ -64,7 +64,6 @@ struct HlslToken { bool b; double d; }; - glslang::TSymbol* symbol; // if a symbol-table lookup was done already, this is the result }; // @@ -82,6 +81,7 @@ public: static void deleteKeywordMap(); void tokenize(HlslToken&); + glslang::TBuiltInVariable mapSemantic(const char*); protected: HlslScanContext(HlslScanContext&); diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.cpp b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.cpp index b458ba47cff..5d9311cfd7a 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.cpp +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.cpp @@ -64,14 +64,56 @@ HlslToken HlslTokenStream::popTokenBuffer() return tokenBuffer[tokenBufferPos]; } +// +// Make a new source of tokens, not from the source, but from an +// already pre-processed token stream. +// +// This interrupts current token processing which must be restored +// later. Some simplifying assumptions are made (and asserted). +// +void HlslTokenStream::pushTokenStream(const TVector* tokens) +{ + // not yet setup to interrupt a stream that has been receded + // and not yet reconsumed + assert(preTokenStackSize == 0); + + // save current state + currentTokenStack.push_back(token); + + // set up new token stream + tokenStreamStack.push_back(tokens); + + // start position at first token: + token = (*tokens)[0]; + tokenPosition.push_back(0); +} + +// Undo pushTokenStream(), see above +void HlslTokenStream::popTokenStream() +{ + tokenStreamStack.pop_back(); + tokenPosition.pop_back(); + token = currentTokenStack.back(); + currentTokenStack.pop_back(); +} + // Load 'token' with the next token in the stream of tokens. void HlslTokenStream::advanceToken() { pushTokenBuffer(token); if (preTokenStackSize > 0) token = popPreToken(); - else - scanner.tokenize(token); + else { + if (tokenStreamStack.size() == 0) + scanner.tokenize(token); + else { + ++tokenPosition.back(); + if (tokenPosition.back() >= (int)tokenStreamStack.back()->size()) + token.tokenClass = EHTokNone; + else + token = (*tokenStreamStack.back())[tokenPosition.back()]; + } + } } void HlslTokenStream::recedeToken() diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h index 95589988885..cb6c9e7234f 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokenStream.h @@ -52,6 +52,10 @@ namespace glslang { bool acceptTokenClass(EHlslTokenClass); EHlslTokenClass peek() const; bool peekTokenClass(EHlslTokenClass) const; + glslang::TBuiltInVariable mapSemantic(const char* upperCase) { return scanner.mapSemantic(upperCase); } + + void pushTokenStream(const TVector* tokens); + void popTokenStream(); protected: HlslToken token; // the token we are currently looking at, but have not yet accepted @@ -60,7 +64,10 @@ namespace glslang { HlslTokenStream(); HlslTokenStream& operator=(const HlslTokenStream&); - HlslScanContext& scanner; // lexical scanner, to get next token + HlslScanContext& scanner; // lexical scanner, to get next token from source file + TVector*> tokenStreamStack; // for getting the next token from an existing vector of tokens + TVector tokenPosition; + TVector currentTokenStack; // This is the number of tokens we can recedeToken() over. static const int tokenBufferSize = 2; diff --git a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokens.h b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokens.h index ae267705e25..9f91906cd38 100644 --- a/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokens.h +++ b/3rdparty/bgfx/3rdparty/glslang/hlsl/hlslTokens.h @@ -65,6 +65,8 @@ enum EHlslTokenClass { EHTokOut, EHTokInOut, EHTokLayout, + EHTokGloballyCoherent, + EHTokInline, // primitive types EHTokPoint, @@ -78,6 +80,10 @@ enum EHlslTokenClass { EHTokLineStream, EHTokTriangleStream, + // Tessellation patches + EHTokInputPatch, + EHTokOutputPatch, + // template types EHTokBuffer, EHTokVector, @@ -252,13 +258,22 @@ enum EHlslTokenClass { EHTokRWTexture3d, EHTokRWBuffer, + // Structure buffer variants + EHTokAppendStructuredBuffer, + EHTokByteAddressBuffer, + EHTokConsumeStructuredBuffer, + EHTokRWByteAddressBuffer, + EHTokRWStructuredBuffer, + EHTokStructuredBuffer, + // variable, user type, ... EHTokIdentifier, - EHTokTypeName, + EHTokClass, EHTokStruct, EHTokCBuffer, EHTokTBuffer, EHTokTypedef, + EHTokThis, // constant EHTokFloatConstant, @@ -314,6 +329,7 @@ enum EHlslTokenClass { EHTokDot, EHTokComma, EHTokColon, + EHTokColonColon, EHTokSemicolon, EHTokBang, EHTokDash, diff --git a/3rdparty/bgfx/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py b/3rdparty/bgfx/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py index 09eae5c4566..fe7fe8e95e2 100644 --- a/3rdparty/bgfx/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py +++ b/3rdparty/bgfx/3rdparty/iconfontheaders/GenerateIconFontCppHeaders.py @@ -1,13 +1,18 @@ -#!/usr/bin/python # Convert Font Awesome, Google Material Design and Kenney Game icon font -# parameters to C++11 and C89 compatible formats. +# parameters to C++11, C89 and None compatible formats. # #------------------------------------------------------------------------------ # 1 - Source material # -# 1.1 - Font Awesome - https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml -# 1.2 - Material Design - https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints -# 1.3 - Kenney icons - https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css +# 1.1 - Font Awesome +# https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf +# https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml +# 1.2 - Material Design +# https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf +# https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints +# 1.3 - Kenney icons +# https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf +# https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css # #------------------------------------------------------------------------------ # 2 - Data samples @@ -24,21 +29,26 @@ # - Web Application Icons # - output C++11: #define ICON_FA_MUSIC u8"\uf001" # - output C89: #define ICON_FA_MUSIC "\xEF\x80\x81" +# - output None: var icon-fa-music "" # # 2.2 - Google Material Design icons # - input: 3d_rotation e84d # - output C++11: #define ICON_MD_3D_ROTATION u8"\ue84d" # - output C89: #define ICON_MD_3D_ROTATION "\xEE\xA1\x8D" +# - output None: var icon-md-3d_rotation "" # # 2.3 - Kenney Game icons # - input: .ki-home:before{ content: "\e900"; } # - output C++11: #define ICON_KI_HOME u8"\ue900" # - output C89: #define ICON_KI_HOME "\xEE\xA4\x80" +# - output None: var icon-ki-home "" # # 2.4 - All fonts # - computed min and max unicode fonts ICON_MIN and ICON_MAX -# - output: #define ICON_MIN_FA 0xf000 -# #define ICON_MAX_FA 0xf295 +# - output C89, C++11: #define ICON_MIN_FA 0xf000 +# #define ICON_MAX_FA 0xf295 +# - output None: var icon-min-fa 0xf000 +# var icon-max-fa 0xf2b2 # #------------------------------------------------------------------------------ # 3 - Script dependencies @@ -48,136 +58,294 @@ # 3.3 - PyYAML - http://pyyaml.org/ # #------------------------------------------------------------------------------ +# 4 - References +# +# None language: https://bitbucket.org/duangle/nonelang/src +# +#------------------------------------------------------------------------------ import requests import yaml -LINE_FORMAT_MINMAX = '#define ICON_{!s}_{!s} 0x{!s}\n' - -UNICODE_MIN = 'ffff' -UNICODE_MAX = '0' -TIMEOUT = 2 - -MESSAGE_SUCCESS = '{!s} fonts - conversion success: {!s}' -MESSAGE_ERROR = '{!s} fonts - error \n\t{!s}' - - -def get_prelude( url ): - prelude = '// Generated by GenerateIconFontCppHeaders.py \n// from {!s}\n#pragma once\n\n'.format( url ) - return prelude - - -def line_format( font_abbr, font, unicode, cpp11 = True ): - if cpp11: - result = '#define ICON_{!s}_{!s} u8"\u{!s}"\n'.format( font_abbr, font, unicode ) - else: - unicode_base = ''.join([ '{0:x}'.format( ord( x )) for x in unichr( int( unicode, 16 )).encode( 'utf-8' )]).upper() - unicode = '\\x' + unicode_base[ :2 ] + '\\x' + unicode_base[ 2:4 ] + '\\x' + unicode_base[ 4: ] - result = '#define ICON_{!s}_{!s} "{!s}"\n'.format( font_abbr, font, unicode ) - return result - - -def convert_font_awesome( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = yaml.safe_load( response.content ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - for item in input[ 'icons' ]: - font = '' - for char in item[ 'id' ]: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = item[ 'unicode' ] - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) - - -def convert_material_design( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = str.split( response.content, '\n' ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - for line in input: - words = str.split( line ) - if words: - font = '' - for char in words[ 0 ]: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = words[ 1 ] - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) - - -def convert_kenney( font_name, font_abbr, source_url, output_file, cpp11 ): - try: - response = requests.get( source_url, timeout = TIMEOUT ) - if response.status_code == 200: - input = str.split( response.content, '\n' ) - min = UNICODE_MIN - max = UNICODE_MAX - output_fonts = '' - font_begin= '.ki-' - font_end = ':before' - unicode_begin = '"\\' - unicode_end = '";' - for line in input: - words = str.split( line ) - if words: - if font_begin in words[ 0 ]: - font = '' - word = words[ 0 ][( words[ 0 ].find( font_begin ) + len( font_begin )) : ( words[ 0 ].find( font_end ))] - for char in word: - font += '_' if ( char == '-' ) else str.upper( char ) - unicode = str( words[ 2 ][( words[ 2 ].find( unicode_begin ) + len( unicode_begin )) : words[ 2 ].find( unicode_end )]) - if unicode < min: - min = unicode - elif unicode >= max: - max = unicode - output_fonts += line_format( font_abbr, font, unicode, cpp11 ) - output = get_prelude( source_url ) + \ - LINE_FORMAT_MINMAX.format( 'MIN', font_abbr, min ) + \ - LINE_FORMAT_MINMAX.format( 'MAX', font_abbr, max ) + \ - output_fonts - with open( output_file, 'w' ) as f: - f.write( output ) - print( MESSAGE_SUCCESS.format( font_name, output_file )) - except Exception as e: - print( MESSAGE_ERROR.format( font_name, e )) +# Fonts + +class Font: + font_tff = '[ ERROR - missing tff file info ]' + font_url = '[ ERROR - missing font data url ]' + font_name = '[ ERROR - missing font name ]' + font_abbr = '[ ERROR - missing font abbreviation ]' + + @classmethod + def get_icons( cls, input ): + # intermediate representation of the fonts data, identify the min and max + print( '[ ERROR - missing implementation of class method get_icons for {!s} ]'.format( cls.font_name )) + icons_data = {} + icons_data.update({ 'font_min' : '[ ERROR - missing font min ]', + 'font_max' : '[ ERROR - missing font max ]', + 'icons' : '[ ERROR - missing list of pairs [ font icon name, code ]]' }) + return icons_data + + @classmethod + def download( cls ): + input_raw = '' + try : + response = requests.get( cls.font_url, timeout = 2 ) + if response.status_code == 200: + input_raw = response.content + print( 'Downloaded - ' + cls.font_name ) + except Exception as e : + print( '[ ERROR - {!s}: {!s} ]'.format( cls.font_name, e )) + return input_raw + + @classmethod + def get_intermediate_representation( cls ): + font_ir = {} + input_raw = cls.download() + if input_raw: + icons_data = cls.get_icons( input_raw ) + font_ir.update( icons_data ) + font_ir.update({ 'font_tff' : cls.font_tff, + 'font_url' : cls.font_url, + 'font_name' : cls.font_name, + 'font_abbr' : cls.font_abbr }) + print( 'Generated intermediate data - ' + cls.font_name ) + return font_ir + + +class FontFA( Font ): + font_tff = 'https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf' + font_url = 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml' + font_name = 'font_awesome' + font_abbr = 'FA' + + @classmethod + def get_icons( self, input ): + icons_data = {} + data = yaml.safe_load( input ) + if data: + font_min = 'ffff' + font_max = '0' + icons = [] + for item in data[ 'icons' ]: + if item[ 'unicode' ] < font_min: + font_min = item[ 'unicode' ] + if item[ 'unicode' ] >= font_max: + font_max = item[ 'unicode' ] + icons.append([ item[ 'id' ], item[ 'unicode' ]]) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data + + +class FontMD( Font ): + font_tff = 'https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf' + font_url = 'https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints' + font_name = 'material_design' + font_abbr = 'MD' + + @classmethod + def get_icons( self, input ): + icons_data = {} + lines = str.split( input, '\n' ) + if lines: + font_min = 'ffff' + font_max = '0' + icons = [] + for line in lines : + words = str.split(line) + if words and len( words ) >= 2: + if words[ 1 ] < font_min: + font_min = words[ 1 ] + if words[ 1 ] >= font_max: + font_max = words[ 1 ] + icons.append( words ) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data + + +class FontKI( Font ): + font_tff = 'https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf' + font_url = 'https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css' + font_name = 'kenney' + font_abbr = 'KI' + + @classmethod + def get_icons( self, input ): + icons_data = {} + lines = str.split( input, '\n' ) + if lines: + font_min = 'ffff' + font_max = '0' + icons = [] + for line in lines : + if '.ki-' in line: + words = str.split(line) + if words and '.ki-' in words[ 0 ]: + font_id = words[ 0 ].partition( '.ki-' )[2].partition( ':before' )[0] + font_code = words[ 2 ].partition( '"\\' )[2].partition( '";' )[0] + if font_code < font_min: + font_min = font_code + if font_code >= font_max: + font_max = font_code + icons.append([ font_id, font_code ]) + icons_data.update({ 'font_min' : font_min, + 'font_max' : font_max, + 'icons' : icons }) + return icons_data + + +# Languages + + +class Language: + language_name = '[ ERROR - missing language name ]' + file_name = '[ ERROR - missing file name ]' + intermediate = {} + + def __init__( self, intermediate ): + self.intermediate = intermediate + + @classmethod + def prelude( cls ): + print('[ ERROR - missing implementation of class method prelude for {!s} ]'.format(cls.language_name)) + result = '[ ERROR - missing prelude ]' + return result + + @classmethod + def lines_minmax( cls ): + print('[ ERROR - missing implementation of class method lines_minmax for {!s} ]'.format(cls.language_name)) + result = '[ ERROR - missing min and max ]' + return result + + @classmethod + def line_icon( cls, icon ): + print('[ ERROR - missing implementation of class method line_icon for {!s} ]'.format( cls.language_name )) + result = '[ ERROR - missing icon line ]' + return result + + @classmethod + def convert( cls ): + result = cls.prelude() + cls.lines_minmax() + for icon in cls.intermediate.get( 'icons' ): + line_icon = cls.line_icon( icon ) + result += line_icon + print ( 'Converted - {!s} for {!s}' ).format( cls.intermediate.get( 'font_name' ), cls.language_name) + return result + + @classmethod + def save_to_file( cls ): + filename = cls.file_name.format( name = str(cls.intermediate.get( 'font_name' )).replace( ' ', '' )) + converted = cls.convert() + with open( filename, 'w' ) as f: + f.write( converted ) + print( 'Saved - {!s}' ).format( filename ) + + +class LanguageC89( Language ): + language_name = 'C89' + file_name = 'icons_{name}.h' + + @classmethod + def prelude( cls ): + tmpl_prelude = '// Generated by GenerateIconFontCppHeaders.py for language {lang}\n' + \ + '// from {url}\n' + \ + '// for use with {tff}\n' + \ + '#pragma once\n\n' + result = tmpl_prelude.format(lang = cls.language_name, + url = cls.intermediate.get('font_url'), + tff = cls.intermediate.get('font_tff')) + return result + + @classmethod + def lines_minmax( cls ): + tmpl_line_minmax = '#define ICON_{minmax}_{abbr} 0x{val}\n' + result = tmpl_line_minmax.format(minmax = 'MIN', + abbr = cls.intermediate.get('font_abbr'), + val = cls.intermediate.get('font_min')) + \ + tmpl_line_minmax.format(minmax = 'MAX', + abbr = cls.intermediate.get('font_abbr'), + val = cls.intermediate.get('font_max')) + return result + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = '#define ICON_{abbr}_{icon} "{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ) + code_base = ''.join([ '{0:x}'.format( ord( x )) for x in unichr( int( icon[ 1 ], 16 )).encode( 'utf-8' )]).upper() + icon_code = '\\x' + code_base[ :2 ] + '\\x' + code_base[ 2:4 ] + '\\x' + code_base[ 4: ] + result = tmpl_line_icon.format( abbr = cls.intermediate.get( 'font_abbr' ), + icon = icon_name, + code = icon_code ) + return result + + +class LanguageCpp11( LanguageC89 ): + language_name = 'C++11' + file_name = 'Icons{name}.h' + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = '#define ICON_{abbr}_{icon} u8"\u{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ) + icon_code = icon[ 1 ] + result = tmpl_line_icon.format( abbr = cls.intermediate.get('font_abbr'), + icon = icon_name, + code = icon_code) + return result + + +class LanguageNone( Language ): + language_name = 'None' + file_name = 'Icons{name}.n' + + @classmethod + def prelude( cls ): + tmpl_prelude = 'none\n' + \ + '; Generated by GenerateIconFontCppHeaders.py for language {lang}\n' + \ + '; from {url}\n' + \ + '; for use with {tff}\n' + \ + '\n$\n' + result = tmpl_prelude.format( lang = cls.language_name, + url = cls.intermediate.get( 'font_url' ), + tff = cls.intermediate.get( 'font_tff' )) + return result + + @classmethod + def lines_minmax( cls ): + tmpl_line_minmax = ' var icon-{minmax}-{abbr} 0x{val}\n' + result = tmpl_line_minmax.format( minmax = 'min', + abbr = cls.intermediate.get( 'font_abbr' ).lower(), + val = cls.intermediate.get( 'font_min' )) + \ + tmpl_line_minmax.format( minmax = 'max', + abbr = cls.intermediate.get( 'font_abbr' ).lower(), + val = cls.intermediate.get( 'font_max' )) + return result + + @classmethod + def line_icon( cls, icon ): + tmpl_line_icon = ' var icon-{abbr}-{icon} "{code}"\n' + icon_name = str.upper( icon[ 0 ]).replace( '-', '_' ).lower() + icon_code = unichr( int( icon[ 1 ], 16 )).encode( 'utf-8' ) + result = tmpl_line_icon.format( abbr = cls.intermediate.get( 'font_abbr' ).lower(), + icon = icon_name, + code = icon_code ) + return result # Main -convert_font_awesome( 'Font Awesome', 'FA', 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml', 'icons_font_awesome.h', False ) -convert_material_design( 'Material Design', 'MD', 'https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints', 'icons_material_design.h', False ) -convert_kenney( 'Kenney', 'KI', 'https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css', 'icons_kenney.h', False ) +fonts = [ FontKI , FontMD, FontFA ] +languages = [ LanguageC89 ] + +intermediates = [] +for font in fonts: + intermediates.append( font.get_intermediate_representation()) +for interm in intermediates: + Language.intermediate = interm + for lang in languages: + lang.save_to_file() diff --git a/3rdparty/bgfx/3rdparty/iconfontheaders/README.md b/3rdparty/bgfx/3rdparty/iconfontheaders/README.md index 2170dee402f..f22b76057e0 100644 --- a/3rdparty/bgfx/3rdparty/iconfontheaders/README.md +++ b/3rdparty/bgfx/3rdparty/iconfontheaders/README.md @@ -1,17 +1,26 @@ -# IconFontCHeaders -C++11 and C89 headers for icon fonts Font Awesome, Google Material Design icons and Kenney game icons. +# IconFontCppHeaders -A set of header files for using icon fonts in C and C++, along with the python generator used to create the files. +[https://github.com/juliettef/IconFontCppHeaders](https://github.com/juliettef/IconFontCppHeaders) + +C++11, C89 and None headers for icon fonts Font Awesome, Google Material Design icons and Kenney game icons. + +A set of header files for using icon fonts in C, C++ and [None](https://bitbucket.org/duangle/nonelang/src), along with the python generator used to create the files. Each header contains defines for one font, with each icon code point defined as ICON_*, along with the min and max code points for font loading purposes. ## Fonts -* [Font Awesome](http://fortawesome.github.io/Font-Awesome/) - [github repository](https://github.com/FortAwesome/Font-Awesome/) -* [Google Material Design icons](https://design.google.com/icons/) - [github repository](https://github.com/google/material-design-icons/) -* [Kenney Game icons](http://kenney.nl/assets/game-icons) and [Game icons expansion](http://kenney.nl/assets/game-icons-expansion) - [github repository](https://github.com/SamBrishes/kenney-icon-font) +* [Font Awesome](http://fontawesome.io/) + * [github repository](https://github.com/FortAwesome/Font-Awesome/) + * [fontawesome-webfont.ttf](https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf) +* [Google Material Design icons](https://design.google.com/icons/) + * [github repository](https://github.com/google/material-design-icons/) + * [MaterialIcons-Regular.ttf](https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf) +* [Kenney Game icons](http://kenney.nl/assets/game-icons) and [Game icons expansion](http://kenney.nl/assets/game-icons-expansion) + * [github repository](https://github.com/SamBrishes/kenney-icon-font) + * [kenney-icon-font.ttf](https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf) -## Usage +## Example Code Using [dear imgui](https://github.com/ocornut/imgui) as an example UI library: @@ -27,3 +36,18 @@ Using [dear imgui](https://github.com/ocornut/imgui) as an example UI library: // in an imgui window somewhere... ImGui::Text( ICON_FA_FILE " File" ); // use string literal concatenation, ouputs a file icon and File as a string. + +## Projects using the font icon header files + +### [bgfx](https://github.com/bkaradzic/bgfx) - Cross-platform rendering library + +### [Avoyd](http://www.avoyd.com) - Game +The Edit Tool UI uses [dear imgui](https://github.com/ocornut/imgui) with [Font Awesome](http://fontawesome.io/) fonts. + +![Avoyd Edit Tool with Font Awesome fonts](https://www.enkisoftware.com/images/2017-02-22_Avoyd_Editor_UI_ImGui_Font_Awesome.png) + +## Credits + +Development - [Juliette Foucaut](http://www.enkisoftware.com/about.html#juliette) - [@juliettef](https://github.com/juliettef) +Requirements - [Doug Binks](http://www.enkisoftware.com/about.html#doug) - [@dougbinks](https://github.com/dougbinks) +[None language](https://bitbucket.org/duangle/nonelang/src) [format definition and refactoring](https://gist.github.com/paniq/4a734e9d8e86a2373b5bc4ca719855ec) - [Leonard Ritter](http://www.leonard-ritter.com/) - [@paniq](https://github.com/paniq) diff --git a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_font_awesome.h b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_font_awesome.h index 346358f0044..534e43c7fc3 100644 --- a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_font_awesome.h +++ b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_font_awesome.h @@ -1,9 +1,10 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/src/icons.yml +// for use with https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf #pragma once #define ICON_MIN_FA 0xf000 -#define ICON_MAX_FA 0xf295 +#define ICON_MAX_FA 0xf2e0 #define ICON_FA_GLASS "\xEF\x80\x80" #define ICON_FA_MUSIC "\xEF\x80\x81" #define ICON_FA_SEARCH "\xEF\x80\x82" @@ -387,7 +388,7 @@ #define ICON_FA_STUMBLEUPON "\xEF\x86\xA4" #define ICON_FA_DELICIOUS "\xEF\x86\xA5" #define ICON_FA_DIGG "\xEF\x86\xA6" -#define ICON_FA_PIED_PIPER "\xEF\x86\xA7" +#define ICON_FA_PIED_PIPER_PP "\xEF\x86\xA7" #define ICON_FA_PIED_PIPER_ALT "\xEF\x86\xA8" #define ICON_FA_DRUPAL "\xEF\x86\xA9" #define ICON_FA_JOOMLA "\xEF\x86\xAA" @@ -609,3 +610,73 @@ #define ICON_FA_BLUETOOTH "\xEF\x8A\x93" #define ICON_FA_BLUETOOTH_B "\xEF\x8A\x94" #define ICON_FA_PERCENT "\xEF\x8A\x95" +#define ICON_FA_GITLAB "\xEF\x8A\x96" +#define ICON_FA_WPBEGINNER "\xEF\x8A\x97" +#define ICON_FA_WPFORMS "\xEF\x8A\x98" +#define ICON_FA_ENVIRA "\xEF\x8A\x99" +#define ICON_FA_UNIVERSAL_ACCESS "\xEF\x8A\x9A" +#define ICON_FA_WHEELCHAIR_ALT "\xEF\x8A\x9B" +#define ICON_FA_QUESTION_CIRCLE_O "\xEF\x8A\x9C" +#define ICON_FA_BLIND "\xEF\x8A\x9D" +#define ICON_FA_AUDIO_DESCRIPTION "\xEF\x8A\x9E" +#define ICON_FA_VOLUME_CONTROL_PHONE "\xEF\x8A\xA0" +#define ICON_FA_BRAILLE "\xEF\x8A\xA1" +#define ICON_FA_ASSISTIVE_LISTENING_SYSTEMS "\xEF\x8A\xA2" +#define ICON_FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING "\xEF\x8A\xA3" +#define ICON_FA_DEAF "\xEF\x8A\xA4" +#define ICON_FA_GLIDE "\xEF\x8A\xA5" +#define ICON_FA_GLIDE_G "\xEF\x8A\xA6" +#define ICON_FA_SIGN_LANGUAGE "\xEF\x8A\xA7" +#define ICON_FA_LOW_VISION "\xEF\x8A\xA8" +#define ICON_FA_VIADEO "\xEF\x8A\xA9" +#define ICON_FA_VIADEO_SQUARE "\xEF\x8A\xAA" +#define ICON_FA_SNAPCHAT "\xEF\x8A\xAB" +#define ICON_FA_SNAPCHAT_GHOST "\xEF\x8A\xAC" +#define ICON_FA_SNAPCHAT_SQUARE "\xEF\x8A\xAD" +#define ICON_FA_PIED_PIPER "\xEF\x8A\xAE" +#define ICON_FA_FIRST_ORDER "\xEF\x8A\xB0" +#define ICON_FA_YOAST "\xEF\x8A\xB1" +#define ICON_FA_THEMEISLE "\xEF\x8A\xB2" +#define ICON_FA_GOOGLE_PLUS_OFFICIAL "\xEF\x8A\xB3" +#define ICON_FA_FONT_AWESOME "\xEF\x8A\xB4" +#define ICON_FA_HANDSHAKE_O "\xEF\x8A\xB5" +#define ICON_FA_ENVELOPE_OPEN "\xEF\x8A\xB6" +#define ICON_FA_ENVELOPE_OPEN_O "\xEF\x8A\xB7" +#define ICON_FA_LINODE "\xEF\x8A\xB8" +#define ICON_FA_ADDRESS_BOOK "\xEF\x8A\xB9" +#define ICON_FA_ADDRESS_BOOK_O "\xEF\x8A\xBA" +#define ICON_FA_ADDRESS_CARD "\xEF\x8A\xBB" +#define ICON_FA_ADDRESS_CARD_O "\xEF\x8A\xBC" +#define ICON_FA_USER_CIRCLE "\xEF\x8A\xBD" +#define ICON_FA_USER_CIRCLE_O "\xEF\x8A\xBE" +#define ICON_FA_USER_O "\xEF\x8B\x80" +#define ICON_FA_ID_BADGE "\xEF\x8B\x81" +#define ICON_FA_ID_CARD "\xEF\x8B\x82" +#define ICON_FA_ID_CARD_O "\xEF\x8B\x83" +#define ICON_FA_QUORA "\xEF\x8B\x84" +#define ICON_FA_FREE_CODE_CAMP "\xEF\x8B\x85" +#define ICON_FA_TELEGRAM "\xEF\x8B\x86" +#define ICON_FA_THERMOMETER_FULL "\xEF\x8B\x87" +#define ICON_FA_THERMOMETER_THREE_QUARTERS "\xEF\x8B\x88" +#define ICON_FA_THERMOMETER_HALF "\xEF\x8B\x89" +#define ICON_FA_THERMOMETER_QUARTER "\xEF\x8B\x8A" +#define ICON_FA_THERMOMETER_EMPTY "\xEF\x8B\x8B" +#define ICON_FA_SHOWER "\xEF\x8B\x8C" +#define ICON_FA_BATH "\xEF\x8B\x8D" +#define ICON_FA_PODCAST "\xEF\x8B\x8E" +#define ICON_FA_WINDOW_MAXIMIZE "\xEF\x8B\x90" +#define ICON_FA_WINDOW_MINIMIZE "\xEF\x8B\x91" +#define ICON_FA_WINDOW_RESTORE "\xEF\x8B\x92" +#define ICON_FA_WINDOW_CLOSE "\xEF\x8B\x93" +#define ICON_FA_WINDOW_CLOSE_O "\xEF\x8B\x94" +#define ICON_FA_BANDCAMP "\xEF\x8B\x95" +#define ICON_FA_GRAV "\xEF\x8B\x96" +#define ICON_FA_ETSY "\xEF\x8B\x97" +#define ICON_FA_IMDB "\xEF\x8B\x98" +#define ICON_FA_RAVELRY "\xEF\x8B\x99" +#define ICON_FA_EERCAST "\xEF\x8B\x9A" +#define ICON_FA_MICROCHIP "\xEF\x8B\x9B" +#define ICON_FA_SNOWFLAKE_O "\xEF\x8B\x9C" +#define ICON_FA_SUPERPOWERS "\xEF\x8B\x9D" +#define ICON_FA_WPEXPLORER "\xEF\x8B\x9E" +#define ICON_FA_MEETUP "\xEF\x8B\xA0" diff --git a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_kenney.h b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_kenney.h index dbbcb48d904..0d9d313dae3 100644 --- a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_kenney.h +++ b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_kenney.h @@ -1,5 +1,6 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/SamBrishes/kenney-icon-font/master/css/kenney-icons.css +// for use with https://github.com/SamBrishes/kenney-icon-font/blob/master/fonts/kenney-icon-font.ttf #pragma once #define ICON_MIN_KI 0xe900 diff --git a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_material_design.h b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_material_design.h index 00ec9f68e91..68213f6f389 100644 --- a/3rdparty/bgfx/3rdparty/iconfontheaders/icons_material_design.h +++ b/3rdparty/bgfx/3rdparty/iconfontheaders/icons_material_design.h @@ -1,5 +1,6 @@ -// Generated by GenerateIconFontCppHeaders.py +// Generated by GenerateIconFontCppHeaders.py for language C89 // from https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/codepoints +// for use with https://github.com/google/material-design-icons/blob/master/iconfont/MaterialIcons-Regular.ttf #pragma once #define ICON_MIN_MD 0xe000 diff --git a/3rdparty/bgfx/3rdparty/renderdoc/renderdoc_app.h b/3rdparty/bgfx/3rdparty/renderdoc/renderdoc_app.h index b9f3341da79..43a1809930d 100644 --- a/3rdparty/bgfx/3rdparty/renderdoc/renderdoc_app.h +++ b/3rdparty/bgfx/3rdparty/renderdoc/renderdoc_app.h @@ -1,7 +1,7 @@ /****************************************************************************** * The MIT License (MIT) * - * Copyright (c) 2015-2016 Baldur Karlsson + * Copyright (c) 2015-2017 Baldur Karlsson * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/3rdparty/bgfx/LICENSE b/3rdparty/bgfx/LICENSE index af0e7b00c4f..dd17ed45ef3 100644 --- a/3rdparty/bgfx/LICENSE +++ b/3rdparty/bgfx/LICENSE @@ -1,7 +1,5 @@ Copyright 2010-2017 Branimir Karadzic. All rights reserved. -https://github.com/bkaradzic/bgfx - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -22,5 +20,3 @@ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -https://github.com/bkaradzic/bgfx/blob/master/LICENSE diff --git a/3rdparty/bgfx/README.md b/3rdparty/bgfx/README.md index 2c4a3be59ba..bd56e140da4 100644 --- a/3rdparty/bgfx/README.md +++ b/3rdparty/bgfx/README.md @@ -219,6 +219,24 @@ https://github.com/s1ddok/Fiber2D#fiber2d - Fiber2D - Cross-platform 2D Game Engine in pure Swift ![Fiber2D Demo Gif](http://imgur.com/CP6d9kT.gif) +## On the Hunt + +http://www.indiedb.com/games/on-the-hunt - On the Hunt is an open world hunting +game in development. It's a combination of FPS and stealth. +![On the Hunt](http://media.indiedb.com/images/downloads/1/120/119448/img.png) + +## FbxPipeline + +https://github.com/VladSerhiienko/FbxPipeline - Yet another FBX exporter with +flatbuffers serialization. + +## FRAG + +https://github.com/fragworks/frag - FRAG is a game creation framework being +developed using the Nim programming language, and is currently in pre-alpha +status. The immediate development focus for FRAG is supporting the creation of +2D desktop games. + [License (BSD 2-clause)](https://bkaradzic.github.io/bgfx/license.html) ----------------------------------------------------------------------- diff --git a/3rdparty/bgfx/examples/01-cubes/cubes.cpp b/3rdparty/bgfx/examples/01-cubes/cubes.cpp index 2376e52cca2..3b679eae164 100644 --- a/3rdparty/bgfx/examples/01-cubes/cubes.cpp +++ b/3rdparty/bgfx/examples/01-cubes/cubes.cpp @@ -175,7 +175,7 @@ class ExampleCubes : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. diff --git a/3rdparty/bgfx/examples/02-metaballs/fs_metaballs.bin.h b/3rdparty/bgfx/examples/02-metaballs/fs_metaballs.bin.h index b4520167b3a..060622e6120 100644 --- a/3rdparty/bgfx/examples/02-metaballs/fs_metaballs.bin.h +++ b/3rdparty/bgfx/examples/02-metaballs/fs_metaballs.bin.h @@ -26,6 +26,202 @@ static const uint8_t fs_metaballs_glsl[398] = 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, // gl_FragColor = 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // tmpvar_2;.}... }; +static const uint8_t fs_metaballs_spv[3081] = +{ + 0x46, 0x53, 0x48, 0x04, 0x03, 0x2c, 0xf5, 0x3f, 0x00, 0x00, 0xfc, 0x0b, 0x03, 0x02, 0x23, 0x07, // FSH..,.?......#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x97, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........a...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...4........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x01, 0x14, 0x00, 0x00, // main............ + 0x76, 0x65, 0x63, 0x33, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, // vec3_splat(f1;.. + 0x05, 0x00, 0x03, 0x00, 0x39, 0x1b, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....9..._x...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0xcc, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf3;vf4;...... + 0xa8, 0x48, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // .H..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x82, 0x5a, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, // .....Z..v_normal + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x4e, 0x48, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // ........NH..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ragData_0_...... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x5f, 0x5b, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g......._[..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x29, 0x05, 0x00, 0x00, 0x6c, 0x69, 0x67, 0x68, // m.......)...ligh + 0x74, 0x44, 0x69, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x67, 0x15, 0x00, 0x00, // tDir........g... + 0x6e, 0x64, 0x6f, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3f, 0x0d, 0x00, 0x00, // ndotl.......?... + 0x73, 0x70, 0x65, 0x63, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xcf, 0x54, 0x00, 0x00, // spec.........T.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x53, 0x35, 0x00, 0x00, // param.......S5.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, // param........A.. + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // v_color0........ + 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // w...v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, // ....,?..v_normal + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, // ........4...v_no + 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, // rmal............ + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....G..param... + 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....U..param... + 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xfe, 0x07, 0x00, 0x00, // ata_0_.......... + 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x07, 0x00, 0x00, // $Global......... + 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, // ....u_viewRect.. + 0x06, 0x00, 0x06, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // ewTexel......... + 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_view...... + 0xfe, 0x07, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // w............... + 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x07, 0x00, 0x00, // u_proj.......... + 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // ....u_invProj... + 0x06, 0x00, 0x06, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xfe, 0x07, 0x00, 0x00, // ewProj.......... + 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ....u_invViewPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x07, 0x00, 0x00, // u_model......... + 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, // ....u_modelView. + 0x06, 0x00, 0x07, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, // delViewProj..... + 0xfe, 0x07, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, // ........u_alphaR + 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ef4.G...w....... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G...4....... + 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G........... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x94, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....G........... + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // @...H........... + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // #.......H....... + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ....#.......H... + 0xfe, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // #...`...H....... + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // #.......H....... + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // #...`...H....... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, // #.......H....... + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xfe, 0x07, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xfe, 0x07, 0x00, 0x00, // #... ...G....... + 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, // ............!... + 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ... ........... + 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xe5, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // ....!........... + 0x8a, 0x02, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....!........... + 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!...}....... + 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x41, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0x2c, 0x00, 0x06, 0x00, // ....A.......,... + 0x18, 0x00, 0x00, 0x00, 0x29, 0x05, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....)........... + 0x41, 0x03, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x4f, 0x01, 0x00, 0x00, // A...+.......O... + 0x00, 0x00, 0xf0, 0x41, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x76, 0x09, 0x00, 0x00, // ...A+.......v... + 0xcd, 0xcc, 0x0c, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x59, 0x05, 0x00, 0x00, // ...@+.......Y... + 0x2f, 0xba, 0xe8, 0x3e, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, // /..>+........... + 0x00, 0x00, 0x80, 0x3f, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ...? ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // ....;.......w... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .... ........... + 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, // ....;.......4... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ....;........... + 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........e....... + 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....+.......j... + 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x94, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ...........e... + 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // j............... + 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ....e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00, // e...e...e....... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // e...e.......6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // .G......;....... + 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .U......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........=....... + 0xcb, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // .A..w...=....... + 0x2c, 0x3f, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, // ,?..4...>....G.. + 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, // .A..>....U..,?.. + 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0xcc, 0x0d, 0x00, 0x00, // 9........&...... + 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .G...U......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xe5, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x39, 0x1b, 0x00, 0x00, // ....7.......9... + 0xf8, 0x00, 0x02, 0x00, 0x88, 0x2e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........=....... + 0x64, 0x57, 0x00, 0x00, 0x39, 0x1b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // dW..9...=....... + 0x12, 0x50, 0x00, 0x00, 0x39, 0x1b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .P..9...=....... + 0x5c, 0x39, 0x00, 0x00, 0x39, 0x1b, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, // .9..9...P....... + 0xb0, 0x2a, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0x12, 0x50, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, // .*..dW...P...9.. + 0xfe, 0x00, 0x02, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....*..8...6... + 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, // ....5........... + 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0xc4, 0x25, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x94, 0x1f, 0x00, 0x00, // .%..=........... + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1f, 0x48, 0x00, 0x00, // ....=........H.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xbf, 0x32, 0x00, 0x00, // ....=........2.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd2, 0x32, 0x00, 0x00, // ....=........2.. + 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xec, 0x21, 0x00, 0x00, // ....P........!.. + 0x94, 0x1f, 0x00, 0x00, 0x1f, 0x48, 0x00, 0x00, 0xbf, 0x32, 0x00, 0x00, 0xd2, 0x32, 0x00, 0x00, // .....H...2...2.. + 0xfe, 0x00, 0x02, 0x00, 0xec, 0x21, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....!..8...6... + 0x08, 0x00, 0x00, 0x00, 0xcc, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, // ............}... + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xa8, 0x48, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7........H..7... + 0x95, 0x02, 0x00, 0x00, 0x82, 0x5a, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // .....Z..7....... + 0x4e, 0x48, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x82, 0x51, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // NH.......Q..;... + 0x8a, 0x02, 0x00, 0x00, 0x5f, 0x5b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ...._[......;... + 0x8a, 0x02, 0x00, 0x00, 0xcf, 0x54, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....T......;... + 0x8a, 0x02, 0x00, 0x00, 0x53, 0x35, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....S5......>... + 0x5f, 0x5b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // _[......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x5f, 0x5b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5..._[..=... + 0x18, 0x00, 0x00, 0x00, 0xc4, 0x60, 0x00, 0x00, 0x82, 0x5a, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, // .....`...Z...... + 0x18, 0x00, 0x00, 0x00, 0xef, 0x3d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, // .....=......E... + 0xc4, 0x60, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x67, 0x15, 0x00, 0x00, // .`..........g... + 0xef, 0x3d, 0x00, 0x00, 0x29, 0x05, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x0d, 0x00, 0x00, 0x00, // .=..)........... + 0x3f, 0x0d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x67, 0x15, 0x00, 0x00, // ?...........g... + 0x4f, 0x01, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x96, 0x61, 0x00, 0x00, // O...=........a.. + 0xa8, 0x48, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5f, 0x3c, 0x00, 0x00, // .H..O......._<.. + 0x96, 0x61, 0x00, 0x00, 0x96, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .a...a.......... + 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xcf, 0x54, 0x00, 0x00, 0x76, 0x09, 0x00, 0x00, // ....>....T..v... + 0x39, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5a, 0x46, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, // 9.......ZF...... + 0xcf, 0x54, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x58, 0x00, 0x00, // .T...........X.. + 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x5f, 0x3c, 0x00, 0x00, 0x5a, 0x46, 0x00, 0x00, // ........_<..ZF.. + 0x8e, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0xa3, 0x2c, 0x00, 0x00, 0x08, 0x58, 0x00, 0x00, // .........,...X.. + 0x67, 0x15, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0xa3, 0x2e, 0x00, 0x00, // g...P........... + 0x3f, 0x0d, 0x00, 0x00, 0x3f, 0x0d, 0x00, 0x00, 0x3f, 0x0d, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, // ?...?...?....... + 0x18, 0x00, 0x00, 0x00, 0x7a, 0x61, 0x00, 0x00, 0xa3, 0x2c, 0x00, 0x00, 0xa3, 0x2e, 0x00, 0x00, // ....za...,...... + 0x3e, 0x00, 0x03, 0x00, 0x53, 0x35, 0x00, 0x00, 0x59, 0x05, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, // >...S5..Y...9... + 0x18, 0x00, 0x00, 0x00, 0x3b, 0x61, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x53, 0x35, 0x00, 0x00, // ....;a......S5.. + 0x0c, 0x00, 0x07, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd5, 0x36, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .........6...... + 0x1a, 0x00, 0x00, 0x00, 0x7a, 0x61, 0x00, 0x00, 0x3b, 0x61, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // ....za..;a..Q... + 0x0d, 0x00, 0x00, 0x00, 0xbd, 0x37, 0x00, 0x00, 0xd5, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .....7...6...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x60, 0x58, 0x00, 0x00, 0xd5, 0x36, 0x00, 0x00, // Q.......`X...6.. + 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x41, 0x1c, 0x00, 0x00, // ....Q.......A... + 0xd5, 0x36, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .6......P....... + 0x99, 0x56, 0x00, 0x00, 0xbd, 0x37, 0x00, 0x00, 0x60, 0x58, 0x00, 0x00, 0x41, 0x1c, 0x00, 0x00, // .V...7..`X..A... + 0x8a, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4e, 0x48, 0x00, 0x00, 0x99, 0x56, 0x00, 0x00, // ....>...NH...V.. + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ....8.... +}; static const uint8_t fs_metaballs_dx9[421] = { 0x46, 0x53, 0x48, 0x04, 0x03, 0x2c, 0xf5, 0x3f, 0x00, 0x00, 0x98, 0x01, 0x00, 0x03, 0xff, 0xff, // FSH..,.?........ diff --git a/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp b/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp index cd6865da730..60728cc672a 100644 --- a/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp +++ b/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp @@ -371,7 +371,7 @@ float vertLerp(float* __restrict _result, float _iso, uint32_t _idx0, float _v0, const float* __restrict edge0 = s_cube[_idx0]; const float* __restrict edge1 = s_cube[_idx1]; - if (fabsf(_iso-_v1) < 0.00001f) + if (bx::fabsolute(_iso-_v1) < 0.00001f) { _result[0] = edge1[0]; _result[1] = edge1[1]; @@ -379,8 +379,8 @@ float vertLerp(float* __restrict _result, float _iso, uint32_t _idx0, float _v0, return 1.0f; } - if (fabsf(_iso-_v0) < 0.00001f - || fabsf(_v0-_v1) < 0.00001f) + if (bx::fabsolute(_iso-_v0) < 0.00001f + || bx::fabsolute(_v0-_v1) < 0.00001f) { _result[0] = edge0[0]; _result[1] = edge0[1]; @@ -576,7 +576,7 @@ class ExampleMetaballs : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. @@ -598,10 +598,10 @@ class ExampleMetaballs : public entry::AppI float sphere[numSpheres][4]; for (uint32_t ii = 0; ii < numSpheres; ++ii) { - sphere[ii][0] = sinf(time*(ii*0.21f)+ii*0.37f) * (DIMS * 0.5f - 8.0f); - sphere[ii][1] = sinf(time*(ii*0.37f)+ii*0.67f) * (DIMS * 0.5f - 8.0f); - sphere[ii][2] = cosf(time*(ii*0.11f)+ii*0.13f) * (DIMS * 0.5f - 8.0f); - sphere[ii][3] = 1.0f/(2.0f + (sinf(time*(ii*0.13f) )*0.5f+0.5f)*2.0f); + sphere[ii][0] = bx::fsin(time*(ii*0.21f)+ii*0.37f) * (DIMS * 0.5f - 8.0f); + sphere[ii][1] = bx::fsin(time*(ii*0.37f)+ii*0.67f) * (DIMS * 0.5f - 8.0f); + sphere[ii][2] = bx::fcos(time*(ii*0.11f)+ii*0.13f) * (DIMS * 0.5f - 8.0f); + sphere[ii][3] = 1.0f/(2.0f + (bx::fsin(time*(ii*0.13f) )*0.5f+0.5f)*2.0f); } profUpdate = bx::getHPCounter(); diff --git a/3rdparty/bgfx/examples/02-metaballs/vs_metaballs.bin.h b/3rdparty/bgfx/examples/02-metaballs/vs_metaballs.bin.h index 8efc7ba2caf..bc7a8999eb5 100644 --- a/3rdparty/bgfx/examples/02-metaballs/vs_metaballs.bin.h +++ b/3rdparty/bgfx/examples/02-metaballs/vs_metaballs.bin.h @@ -35,6 +35,223 @@ static const uint8_t vs_metaballs_glsl[537] = 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, // v_color0 = a_col 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // or0;.}... }; +static const uint8_t vs_metaballs_spv[3413] = +{ + 0x56, 0x53, 0x48, 0x04, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH..,.?...u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x24, 0x0d, // .u_model......$. + 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x37, 0x62, 0x00, 0x00, // ..#.........7b.. + 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, // ....GLSL.std.450 + 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, // ............main + 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x46, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, // ........F....... + 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x78, 0x04, 0x00, 0x00, // main........x... + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x78, 0x04, 0x00, 0x00, // Output......x... + 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // ....gl_Position. + 0x06, 0x00, 0x06, 0x00, 0x78, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // ....x.......v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x78, 0x04, 0x00, 0x00, // lor0........x... + 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, // ....v_normal.... + 0x05, 0x00, 0x07, 0x00, 0x9e, 0x15, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf3;vf3;...... + 0x4f, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // O...a_color0.... + 0x05, 0x00, 0x05, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, // ....:...a_normal + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, // .........M..a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, // sition.......... + 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _varying_....... + 0x5e, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ^...$Global..... + 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, // ^.......u_viewRe + 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ct......^....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, // u_viewTexel..... + 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, // ^.......u_view.. + 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ....^.......u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // vView.......^... + 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_proj...... + 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, // ^.......u_invPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // j.......^....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, // u_viewProj...... + 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ^.......u_invVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // wProj.......^... + 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_model..... + 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ^.......u_modelV + 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // iew.....^....... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // u_modelViewProj. + 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, // ....^.......u_al + 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, // phaRef4.....B... + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, // .........A..a_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, // lor0............ + 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // a_color0........ + 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, // .?..a_normal.... + 0x05, 0x00, 0x05, 0x00, 0x46, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, // ....F...a_normal + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, // ........@,..a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, // sition.......... + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // a_position...... + 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, // ....flattenTemp. + 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....U..param... + 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....8..param... + 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, // ........@entryPo + 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, // intOutput_gl_Pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x29, 0x04, 0x00, 0x00, // ition.......)... + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x29, 0x04, 0x00, 0x00, // Output......)... + 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // ....v_color0.... + 0x06, 0x00, 0x06, 0x00, 0x29, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, // ....).......v_no + 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, // rmal............ + 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, // @entryPointOutpu + 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xab, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // t...G........... + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // @...H...^....... + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // #.......H...^... + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ....#.......H... + 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ^...........H... + 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ^.......#... ... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...^........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H...^....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H...^....... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // #...`...H...^... + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ^...........H... + 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, // ^.......#....... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...^........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...^....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...^....... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // #.......H...^... + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ^...........H... + 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, // ^.......#... ... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...^........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H...^....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H...^....... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // #...`...H...^... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ^...........H... + 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, // ^.......#....... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...^........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...^....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...^....... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // #.......H...^... + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ^...........H... + 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, // ^.......#....... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...^........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....H...^....... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x5e, 0x05, 0x00, 0x00, // #... ...G...^... + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // ....G...B..."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G........... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x46, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G...F....... + 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G........... + 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....G........... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G........... + 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, // ............!... + 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x78, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........x....... + 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x44, 0x09, 0x00, 0x00, // ........!...D... + 0x78, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, // x............... + 0x20, 0x00, 0x04, 0x00, 0xf5, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x78, 0x04, 0x00, 0x00, // ...........x... + 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, // +..............? + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, // ,............... + 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x06, 0x00, // ............,... + 0x18, 0x00, 0x00, 0x00, 0x72, 0x02, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....r........... + 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........e....... + 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....+.......j... + 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xab, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ...........e... + 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // j.......^....... + 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ....e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xab, 0x03, 0x00, 0x00, // e...e...e....... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // e...e....... ... + 0xdb, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ........^...;... + 0xdb, 0x07, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ....B.......+... + 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....)....... ... + 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ........e...+... + 0x0c, 0x00, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....#....... ... + 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x96, 0x02, 0x00, 0x00, 0x46, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ....F.......;... + 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, // ................ + 0x29, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // )........... ... + 0xa6, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ........)...;... + 0xa6, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x97, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // ............6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xf5, 0x06, 0x00, 0x00, // ....Sa..;....... + 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........;....... + 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // .U......;....... + 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // .8......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........=....... + 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // .A......=....... + 0xd9, 0x3f, 0x00, 0x00, 0x46, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // .?..F...=....... + 0x40, 0x2c, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, // @,......>....U.. + 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, // .A..>....8...?.. + 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, // >.......@,..9... + 0x78, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x9e, 0x15, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, // x...I&.......U.. + 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, // .8......>....... + 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, // I&..A.......T4.. + 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........=....... + 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, // ....T4..>....... + 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, // ....A.......'A.. + 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........=....... + 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, // ....'A..A....... + 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .N..........>... + 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, // .N......A....... + 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .M..........=... + 0x18, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // .........M..A... + 0x97, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ................ + 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >............... + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x78, 0x04, 0x00, 0x00, 0x9e, 0x15, 0x00, 0x00, // 8...6...x....... + 0x00, 0x00, 0x00, 0x00, 0x44, 0x09, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....D...7....... + 0x4f, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, // O...7.......:... + 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7........M...... + 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xf5, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, // _W..;........... + 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x64, 0x2d, 0x00, 0x00, // ....A.......d-.. + 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x64, 0x2d, 0x00, 0x00, // ........>...d-.. + 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, 0x0b, 0x38, 0x00, 0x00, // ....A........8.. + 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0b, 0x38, 0x00, 0x00, // ........>....8.. + 0x72, 0x02, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, // r...=.......5b.. + 0xb9, 0x4d, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3b, 0x3a, 0x00, 0x00, // .M..Q.......;:.. + 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // 5b......Q....... + 0x0b, 0x47, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // .G..5b......Q... + 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....+S..5b...... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0x3b, 0x3a, 0x00, 0x00, // P........2..;:.. + 0x0b, 0x47, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // .G..+S......A... + 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, // ....),..B...)... + 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, // =...e....<..),.. + 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, // .........;...2.. + 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x5f, 0x38, 0x00, 0x00, // .<..A......._8.. + 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5f, 0x38, 0x00, 0x00, // ........>..._8.. + 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x36, 0x62, 0x00, 0x00, // .;..=.......6b.. + 0x3a, 0x19, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3c, 0x3a, 0x00, 0x00, // :...Q.......<:.. + 0x36, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // 6b......Q....... + 0x0c, 0x47, 0x00, 0x00, 0x36, 0x62, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // .G..6b......Q... + 0x0d, 0x00, 0x00, 0x00, 0x2c, 0x53, 0x00, 0x00, 0x36, 0x62, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....,S..6b...... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x85, 0x32, 0x00, 0x00, 0x3c, 0x3a, 0x00, 0x00, // P........2..<:.. + 0x0c, 0x47, 0x00, 0x00, 0x2c, 0x53, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, // .G..,S......A... + 0xe2, 0x02, 0x00, 0x00, 0x2a, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, // ....*,..B...#... + 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xfd, 0x3d, 0x00, 0x00, // ....=...e....=.. + 0x2a, 0x2c, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x62, 0x32, 0x00, 0x00, // *,..........b2.. + 0x85, 0x32, 0x00, 0x00, 0xfd, 0x3d, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, // .2...=..O....... + 0x57, 0x35, 0x00, 0x00, 0x62, 0x32, 0x00, 0x00, 0x62, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // W5..b2..b2...... + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, // ........A....... + 0xd3, 0x48, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .H..........>... + 0xd3, 0x48, 0x00, 0x00, 0x57, 0x35, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .H..W5..=....... + 0x1d, 0x21, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, // .!..O...A....... + 0x2d, 0x3c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // -<..........>... + 0x2d, 0x3c, 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x78, 0x04, 0x00, 0x00, // -<...!..=...x... + 0x47, 0x3a, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, 0x00, // G:..........G:.. + 0x38, 0x00, 0x01, 0x00, 0x00, // 8.... +}; static const uint8_t vs_metaballs_dx9[449] = { 0x56, 0x53, 0x48, 0x04, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH..,.?...u_mod diff --git a/3rdparty/bgfx/examples/04-mesh/mesh.cpp b/3rdparty/bgfx/examples/04-mesh/mesh.cpp index 57147acf8df..e23438c677e 100644 --- a/3rdparty/bgfx/examples/04-mesh/mesh.cpp +++ b/3rdparty/bgfx/examples/04-mesh/mesh.cpp @@ -105,7 +105,7 @@ class ExampleMesh : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. diff --git a/3rdparty/bgfx/examples/05-instancing/instancing.cpp b/3rdparty/bgfx/examples/05-instancing/instancing.cpp index 84351d570ce..834969ea02e 100644 --- a/3rdparty/bgfx/examples/05-instancing/instancing.cpp +++ b/3rdparty/bgfx/examples/05-instancing/instancing.cpp @@ -174,7 +174,7 @@ class ExampleInstancing : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. @@ -199,9 +199,9 @@ class ExampleInstancing : public entry::AppI mtx[14] = 0.0f; float* color = (float*)&data[64]; - color[0] = sinf(time+float(xx)/11.0f)*0.5f+0.5f; - color[1] = cosf(time+float(yy)/11.0f)*0.5f+0.5f; - color[2] = sinf(time*3.0f)*0.5f+0.5f; + color[0] = bx::fsin(time+float(xx)/11.0f)*0.5f+0.5f; + color[1] = bx::fcos(time+float(yy)/11.0f)*0.5f+0.5f; + color[2] = bx::fsin(time*3.0f)*0.5f+0.5f; color[3] = 1.0f; data += instanceStride; diff --git a/3rdparty/bgfx/examples/06-bump/bump.cpp b/3rdparty/bgfx/examples/06-bump/bump.cpp index e154a086c6b..101bf8fc96d 100644 --- a/3rdparty/bgfx/examples/06-bump/bump.cpp +++ b/3rdparty/bgfx/examples/06-bump/bump.cpp @@ -239,7 +239,7 @@ class ExampleBump : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width) / float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. @@ -249,8 +249,8 @@ class ExampleBump : public entry::AppI float lightPosRadius[4][4]; for (uint32_t ii = 0; ii < m_numLights; ++ii) { - lightPosRadius[ii][0] = sinf( (time*(0.1f + ii*0.17f) + ii*bx::piHalf*1.37f ) )*3.0f; - lightPosRadius[ii][1] = cosf( (time*(0.2f + ii*0.29f) + ii*bx::piHalf*1.49f ) )*3.0f; + lightPosRadius[ii][0] = bx::fsin( (time*(0.1f + ii*0.17f) + ii*bx::piHalf*1.37f ) )*3.0f; + lightPosRadius[ii][1] = bx::fcos( (time*(0.2f + ii*0.29f) + ii*bx::piHalf*1.49f ) )*3.0f; lightPosRadius[ii][2] = -2.5f; lightPosRadius[ii][3] = 3.0f; } diff --git a/3rdparty/bgfx/examples/07-callback/callback.cpp b/3rdparty/bgfx/examples/07-callback/callback.cpp index 9b2305e81c0..464e2e55e7d 100644 --- a/3rdparty/bgfx/examples/07-callback/callback.cpp +++ b/3rdparty/bgfx/examples/07-callback/callback.cpp @@ -403,7 +403,7 @@ int _main_(int _argc, char** _argv) float view[16]; float proj[16]; bx::mtxLookAt(view, eye, at); - bx::mtxProj(proj, 60.0f, float(width)/float(height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(width)/float(height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); @@ -439,7 +439,8 @@ int _main_(int _argc, char** _argv) // Take screen shot at frame 150. if (150 == frame) { - bgfx::saveScreenShot("temp/frame150"); + bgfx::FrameBufferHandle fbh = BGFX_INVALID_HANDLE; + bgfx::requestScreenShot(fbh, "temp/frame150"); } // Advance to next frame. Rendering thread will be kicked to diff --git a/3rdparty/bgfx/examples/08-update/update.cpp b/3rdparty/bgfx/examples/08-update/update.cpp index 6d72c647faa..9bb3af0e465 100644 --- a/3rdparty/bgfx/examples/08-update/update.cpp +++ b/3rdparty/bgfx/examples/08-update/update.cpp @@ -93,7 +93,7 @@ static const uint16_t s_m_cubeIndices[36] = 21, 22, 23, }; -static void updateTextureCubeRectBgra8(bgfx::TextureHandle _handle, uint8_t _side, uint32_t _x, uint32_t _y, uint32_t _width, uint32_t _height, uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a = 0xff) +static void updateTextureCubeRectBgra8(bgfx::TextureHandle _handle, uint8_t _side, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height, uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a = 0xff) { bgfx::TextureInfo ti; bgfx::calcTextureSize(ti, _width, _height, 1, false, false, 1, bgfx::TextureFormat::BGRA8); @@ -178,7 +178,7 @@ public: { const uint32_t offset = ( (zz*32+yy)*32+xx); const uint32_t val = xx ^ yy ^ zz; - mem8->data[offset] = val<<3; + mem8->data[offset] = uint8_t(val<<3); *(uint16_t*)&mem16f->data[offset*2] = bx::halfFromFloat( (float)val/32.0f); *(float*)&mem32f->data[offset*4] = (float)val/32.0f; } @@ -346,8 +346,8 @@ public: bgfx::setPaletteColor(1, borderColor); // Set view 0 and 1 viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); - bgfx::setViewRect(1, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(1, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -372,8 +372,8 @@ public: { PackCube face; - uint32_t bw = bx::uint16_max(1, rand()%(textureside/4) ); - uint32_t bh = bx::uint16_max(1, rand()%(textureside/4) ); + uint16_t bw = bx::uint16_max(1, rand()%(textureside/4) ); + uint16_t bh = bx::uint16_max(1, rand()%(textureside/4) ); if (m_cube.find(bw, bh, face) ) { @@ -452,7 +452,7 @@ public: float view[16]; float proj[16]; bx::mtxLookAt(view, eye, at); - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); diff --git a/3rdparty/bgfx/examples/09-hdr/hdr.cpp b/3rdparty/bgfx/examples/09-hdr/hdr.cpp index ba940c88656..ff9c8df6477 100644 --- a/3rdparty/bgfx/examples/09-hdr/hdr.cpp +++ b/3rdparty/bgfx/examples/09-hdr/hdr.cpp @@ -99,7 +99,7 @@ void setOffsets2x2Lum(bgfx::UniformHandle _handle, uint32_t _width, uint32_t _he float du = 1.0f/_width; float dv = 1.0f/_height; - uint32_t num = 0; + uint16_t num = 0; for (uint32_t yy = 0; yy < 3; ++yy) { for (uint32_t xx = 0; xx < 3; ++xx) @@ -120,7 +120,7 @@ void setOffsets4x4Lum(bgfx::UniformHandle _handle, uint32_t _width, uint32_t _he float du = 1.0f/_width; float dv = 1.0f/_height; - uint32_t num = 0; + uint16_t num = 0; for (uint32_t yy = 0; yy < 4; ++yy) { for (uint32_t xx = 0; xx < 4; ++xx) @@ -184,8 +184,8 @@ class ExampleHDR : public entry::AppI m_mesh = meshLoad("meshes/bunny.bin"); - m_fbtextures[0] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_RT|BGFX_TEXTURE_U_CLAMP|BGFX_TEXTURE_V_CLAMP); - m_fbtextures[1] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY); + m_fbtextures[0] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_RT | BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP); + m_fbtextures[1] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY); m_fbh = bgfx::createFrameBuffer(BX_COUNTOF(m_fbtextures), m_fbtextures, true); m_lum[0] = bgfx::createFrameBuffer(128, 128, bgfx::TextureFormat::BGRA8); @@ -286,8 +286,8 @@ class ExampleHDR : public entry::AppI bgfx::destroyFrameBuffer(m_fbh); - m_fbtextures[0] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::BGRA8, ( (msaa+1)<homogeneousDepth); // Set view and projection matrix for view hdrMesh. bgfx::setViewTransform(hdrMesh, view, proj); diff --git a/3rdparty/bgfx/examples/10-font/font.cpp b/3rdparty/bgfx/examples/10-font/font.cpp index 016e12fb79e..c7baf00782c 100644 --- a/3rdparty/bgfx/examples/10-font/font.cpp +++ b/3rdparty/bgfx/examples/10-font/font.cpp @@ -17,7 +17,6 @@ #include #include -#include #include TrueTypeHandle loadTtf(FontManager* _fm, const char* _filePath) @@ -216,7 +215,7 @@ int _main_(int _argc, char** _argv) if (NULL != hmd && 0 != (hmd->flags & BGFX_HMD_RENDERING) ) { float proj[16]; - bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f); + bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); static float time = 0.0f; time += 0.05f; @@ -235,7 +234,7 @@ int _main_(int _argc, char** _argv) else { float ortho[16]; - bx::mtxOrtho(ortho, centering, width + centering, height + centering, centering, -1.0f, 1.0f); + bx::mtxOrtho(ortho, centering, width + centering, height + centering, centering, -1.0f, 1.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, ortho); bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); } diff --git a/3rdparty/bgfx/examples/11-fontsdf/fontsdf.cpp b/3rdparty/bgfx/examples/11-fontsdf/fontsdf.cpp index 61591b5d6da..01c6bd08bda 100644 --- a/3rdparty/bgfx/examples/11-fontsdf/fontsdf.cpp +++ b/3rdparty/bgfx/examples/11-fontsdf/fontsdf.cpp @@ -15,9 +15,6 @@ #include "font/text_buffer_manager.h" #include "imgui/imgui.h" -#include -#include - TrueTypeHandle loadTtf(FontManager* _fm, const char* _filePath) { uint32_t size; @@ -105,9 +102,9 @@ int _main_(int _argc, char** _argv) | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , mouseState.m_mz - , width - , height - ); + , uint16_t(width) + , uint16_t(height) + ); imguiBeginScrollArea("Text Area" , width - guiPanelWidth - 10 @@ -144,7 +141,7 @@ int _main_(int _argc, char** _argv) imguiEndFrame(); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -176,7 +173,7 @@ int _main_(int _argc, char** _argv) if (NULL != hmd && 0 != (hmd->flags & BGFX_HMD_RENDERING) ) { float proj[16]; - bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f); + bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); static float time = 0.0f; time += 0.05f; @@ -198,7 +195,7 @@ int _main_(int _argc, char** _argv) float ortho[16]; bx::mtxOrtho(ortho, centering, width + centering, height + centering, centering, -1.0f, 1.0f); bgfx::setViewTransform(0, view, ortho); - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); } //very crude approximation :( diff --git a/3rdparty/bgfx/examples/12-lod/lod.cpp b/3rdparty/bgfx/examples/12-lod/lod.cpp index 117b39980be..510565d0e2f 100644 --- a/3rdparty/bgfx/examples/12-lod/lod.cpp +++ b/3rdparty/bgfx/examples/12-lod/lod.cpp @@ -58,9 +58,9 @@ class ExampleLod : public entry::AppI m_textureBark = loadTexture("textures/bark1.dds"); const bgfx::Memory* stippleTex = bgfx::alloc(8*4); - memset(stippleTex->data, 0, stippleTex->size); + bx::memSet(stippleTex->data, 0, stippleTex->size); - for (uint32_t ii = 0; ii < 32; ++ii) + for (uint8_t ii = 0; ii < 32; ++ii) { stippleTex->data[knightTour[ii].m_y * 8 + knightTour[ii].m_x] = ii*4; } @@ -127,9 +127,9 @@ class ExampleLod : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height - ); + , uint16_t(m_width) + , uint16_t(m_height) + ); imguiBeginScrollArea("Toggle transitions", m_width - m_width / 5 - 10, 10, m_width / 5, m_height / 6, &m_scrollArea); imguiSeparatorLine(); @@ -146,7 +146,7 @@ class ExampleLod : public entry::AppI imguiEndFrame(); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -188,11 +188,11 @@ class ExampleLod : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); } float mtx[16]; diff --git a/3rdparty/bgfx/examples/13-stencil/stencil.cpp b/3rdparty/bgfx/examples/13-stencil/stencil.cpp index d96b591b78b..b66aaa48e4b 100644 --- a/3rdparty/bgfx/examples/13-stencil/stencil.cpp +++ b/3rdparty/bgfx/examples/13-stencil/stencil.cpp @@ -896,7 +896,7 @@ int _main_(int _argc, char** _argv) lightRgbInnerR[ii][2] = rgbInnerR[index][2]; lightRgbInnerR[ii][3] = rgbInnerR[index][3]; } - memcpy(s_uniforms.m_lightRgbInnerR, lightRgbInnerR, MAX_NUM_LIGHTS * 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightRgbInnerR, lightRgbInnerR, MAX_NUM_LIGHTS * 4*sizeof(float) ); // Set view and projection matrices. const float aspect = float(viewState.m_width)/float(viewState.m_height); @@ -937,8 +937,8 @@ int _main_(int _argc, char** _argv) | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , mouseState.m_mz - , viewState.m_width - , viewState.m_height + , uint16_t(viewState.m_width) + , uint16_t(viewState.m_height) ); static int32_t scrollArea = 0; @@ -1021,12 +1021,12 @@ int _main_(int _argc, char** _argv) const float radius = (scene == StencilReflectionScene) ? 15.0f : 25.0f; for (uint8_t ii = 0; ii < numLights; ++ii) { - lightPosRadius[ii][0] = sinf( (lightTimeAccumulator*1.1f + ii*0.03f + ii*bx::piHalf*1.07f ) )*20.0f; - lightPosRadius[ii][1] = 8.0f + (1.0f - cosf( (lightTimeAccumulator*1.5f + ii*0.29f + bx::piHalf*1.49f ) ) )*4.0f; - lightPosRadius[ii][2] = cosf( (lightTimeAccumulator*1.3f + ii*0.13f + ii*bx::piHalf*1.79f ) )*20.0f; + lightPosRadius[ii][0] = bx::fsin( (lightTimeAccumulator*1.1f + ii*0.03f + ii*bx::piHalf*1.07f ) )*20.0f; + lightPosRadius[ii][1] = 8.0f + (1.0f - bx::fcos( (lightTimeAccumulator*1.5f + ii*0.29f + bx::piHalf*1.49f ) ) )*4.0f; + lightPosRadius[ii][2] = bx::fcos( (lightTimeAccumulator*1.3f + ii*0.13f + ii*bx::piHalf*1.79f ) )*20.0f; lightPosRadius[ii][3] = radius; } - memcpy(s_uniforms.m_lightPosRadius, lightPosRadius, numLights * 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightPosRadius, lightPosRadius, numLights * 4*sizeof(float) ); // Floor position. float floorMtx[16]; @@ -1093,9 +1093,9 @@ int _main_(int _argc, char** _argv) , 0.0f , 0.0f , 0.0f - , sinf(ii * 2.0f + 13.0f - sceneTimeAccumulator) * 13.0f + , bx::fsin(ii * 2.0f + 13.0f - sceneTimeAccumulator) * 13.0f , 4.0f - , cosf(ii * 2.0f + 13.0f - sceneTimeAccumulator) * 13.0f + , bx::fcos(ii * 2.0f + 13.0f - sceneTimeAccumulator) * 13.0f ); } @@ -1144,7 +1144,7 @@ int _main_(int _argc, char** _argv) bx::vec3MulMtx(reflectedLights[ii], lightPosRadius[ii], reflectMtx); reflectedLights[ii][3] = lightPosRadius[ii][3]; } - memcpy(s_uniforms.m_lightPosRadius, reflectedLights, numLights * 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightPosRadius, reflectedLights, numLights * 4*sizeof(float) ); // Reflect and submit bunny. float mtxReflectedBunny[16]; @@ -1168,7 +1168,7 @@ int _main_(int _argc, char** _argv) } // Set lights back. - memcpy(s_uniforms.m_lightPosRadius, lightPosRadius, numLights * 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightPosRadius, lightPosRadius, numLights * 4*sizeof(float) ); // Third pass - Blend plane. // Floor. @@ -1237,7 +1237,7 @@ int _main_(int _argc, char** _argv) float ground[4]; float plane_pos[3] = { 0.0f, 0.0f, 0.0f }; float normal[3] = { 0.0f, 1.0f, 0.0f }; - memcpy(ground, normal, sizeof(float) * 3); + bx::memCopy(ground, normal, sizeof(float) * 3); ground[3] = -bx::vec3Dot(plane_pos, normal) - 0.01f; // - 0.01 against z-fighting for (uint8_t ii = 0, viewId = RENDER_VIEWID_RANGE5_PASS_6; ii < numLights; ++ii, ++viewId) @@ -1250,7 +1250,7 @@ int _main_(int _argc, char** _argv) // Get homogeneous light pos. float* lightPos = lightPosRadius[ii]; float pos[4]; - memcpy(pos, lightPos, sizeof(float) * 3); + bx::memCopy(pos, lightPos, sizeof(float) * 3); pos[3] = 1.0f; // Calculate shadow mtx for current light. @@ -1358,7 +1358,7 @@ int _main_(int _argc, char** _argv) ); // Setup view rect and transform for all used views. - setViewRectMask(s_viewMask, 0, 0, viewState.m_width, viewState.m_height); + setViewRectMask(s_viewMask, 0, 0, uint16_t(viewState.m_width), uint16_t(viewState.m_height) ); setViewTransformMask(s_viewMask, viewState.m_view, viewState.m_proj); s_viewMask = 0; diff --git a/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp b/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp index 8b61d60c671..5149e79e33b 100644 --- a/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp +++ b/3rdparty/bgfx/examples/14-shadowvolumes/shadowvolumes.cpp @@ -3,9 +3,6 @@ * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ -#include -#include - #include #include #include @@ -664,7 +661,7 @@ struct HalfEdges m_offsets = (uint32_t*)malloc(numRows * sizeof(uint32_t) ); HalfEdge* he = m_data; - for (uint32_t ii = 0; ii < numRows; ++ii) + for (uint16_t ii = 0; ii < numRows; ++ii) { m_offsets[ii] = uint32_t(he - m_data); @@ -756,15 +753,15 @@ uint16_t weldVertices(WeldedVertex* _output, const bgfx::VertexDecl& _decl, cons const uint32_t hashMask = hashSize-1; const float epsilonSq = _epsilon*_epsilon; - uint32_t numVertices = 0; + uint16_t numVertices = 0; const uint32_t size = sizeof(uint16_t)*(hashSize + _num); uint16_t* hashTable = (uint16_t*)alloca(size); - memset(hashTable, 0xff, size); + bx::memSet(hashTable, 0xff, size); uint16_t* next = hashTable + hashSize; - for (uint32_t ii = 0; ii < _num; ++ii) + for (uint16_t ii = 0; ii < _num; ++ii) { float pos[4]; vertexUnpack(pos, bgfx::Attrib::Position, _decl, _data, ii); @@ -888,7 +885,7 @@ struct Group face.m_i[0] = i0; face.m_i[1] = i1; face.m_i[2] = i2; - memcpy(face.m_plane, plane, 4*sizeof(float) ); + bx::memCopy(face.m_plane, plane, 4*sizeof(float) ); m_faces.push_back(face); //Use unique indices for EdgeMap. @@ -916,14 +913,14 @@ struct Group if (iter != edgeMap.end() ) { EdgeAndPlane& ep = iter->second; - memcpy(ep.m_plane[ep.m_faceIndex].m_plane, plane, 4*sizeof(float) ); + bx::memCopy(ep.m_plane[ep.m_faceIndex].m_plane, plane, 4*sizeof(float) ); ep.m_faceReverseOrder[ep.m_faceIndex] = true; } else { std::pair result = edgeMap.insert(std::make_pair(key, EdgeAndPlane(ui0, ui1) ) ); EdgeAndPlane& ep = result.first->second; - memcpy(ep.m_plane[ep.m_faceIndex].m_plane, plane, 4*sizeof(float) ); + bx::memCopy(ep.m_plane[ep.m_faceIndex].m_plane, plane, 4*sizeof(float) ); ep.m_faceReverseOrder[ep.m_faceIndex] = false; ep.m_faceIndex++; } @@ -938,8 +935,8 @@ struct Group Edge* edge = &m_edges[m_numEdges]; Plane* plane = &m_edgePlanes[index]; - memcpy(edge, iter->second.m_faceReverseOrder, sizeof(Edge) ); - memcpy(plane, iter->second.m_plane, 2 * sizeof(Plane) ); + bx::memCopy(edge, iter->second.m_faceReverseOrder, sizeof(Edge) ); + bx::memCopy(plane, iter->second.m_plane, 2 * sizeof(Plane) ); m_numEdges++; index += 2; @@ -991,7 +988,7 @@ namespace bgfx struct Mesh { - void load(const void* _vertices, uint32_t _numVertices, const bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices) + void load(const void* _vertices, uint16_t _numVertices, const bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices) { Group group; const bgfx::Memory* mem; @@ -1002,7 +999,7 @@ struct Mesh size = _numVertices*_decl.getStride(); group.m_vertices = (uint8_t*)malloc(size); - memcpy(group.m_vertices, _vertices, size); + bx::memCopy(group.m_vertices, _vertices, size); mem = bgfx::makeRef(group.m_vertices, size); group.m_vbh = bgfx::createVertexBuffer(mem, _decl); @@ -1012,7 +1009,7 @@ struct Mesh size = _numIndices*2; group.m_indices = (uint16_t*)malloc(size); - memcpy(group.m_indices, _indices, size); + bx::memCopy(group.m_indices, _indices, size); mem = bgfx::makeRef(group.m_indices, size); group.m_ibh = bgfx::createIndexBuffer(mem); @@ -1140,7 +1137,7 @@ struct Model m_texture.idx = bgfx::invalidHandle; } - void load(const void* _vertices, uint32_t _numVertices, const bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices) + void load(const void* _vertices, uint16_t _numVertices, const bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices) { m_mesh.load(_vertices, _numVertices, _decl, _indices, _numIndices); } @@ -1204,7 +1201,7 @@ struct Instance void submit(uint8_t _viewId, const RenderState& _renderState) { - memcpy(s_uniforms.m_color, m_color, 3*sizeof(float) ); + bx::memCopy(s_uniforms.m_color, m_color, 3*sizeof(float) ); float mtx[16]; bx::mtxSRT(mtx @@ -1374,7 +1371,7 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume VertexData(const float* _v3, float _extrude = 0.0f, float _k = 1.0f) { - memcpy(m_v, _v3, 3*sizeof(float) ); + bx::memCopy(m_v, _v3, 3*sizeof(float) ); m_extrude = _extrude; m_k = _k; } @@ -1565,7 +1562,7 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume for (uint16_t jj = 0; jj < 2; ++jj) { - int16_t kk = res[jj] + res[jj+2]; + int32_t kk = res[jj] + res[jj+2]; if (kk != 0) { float* v0 = (float*)&vertices[edges[ii+jj].m_i0*_stride]; @@ -1577,7 +1574,7 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume kk = _textureAsStencil ? 1 : kk; uint16_t winding = uint16_t(kk > 0); - for (uint8_t ll = 0, end = abs(kk); ll < end; ++ll) + for (int32_t ll = 0, end = abs(kk); ll < end; ++ll) { indicesSide[sideI++] = indexSide; indicesSide[sideI++] = indexSide + 2 - winding; @@ -1614,7 +1611,7 @@ void shadowVolumeCreate(ShadowVolume& _shadowVolume kk = _textureAsStencil ? 1 : kk; uint16_t winding = uint16_t(kk > 0); - for (uint8_t jj = 0, end = abs(kk); jj < end; ++jj) + for (int32_t jj = 0, end = abs(kk); jj < end; ++jj) { indicesSide[sideI++] = indexSide; indicesSide[sideI++] = indexSide + 2 - winding; @@ -1738,7 +1735,7 @@ void createNearClipVolume(float* __restrict _outPlanes24f // -1.0f - behind near plane float lightSide = float( (d > delta) - (d < -delta) ); - float t = tanf(bx::toRad(_fovy)*0.5f) * _near; + float t = bx::ftan(bx::toRad(_fovy)*0.5f) * _near; float b = -t; float r = t * _aspect; float l = -r; @@ -1777,7 +1774,7 @@ void createNearClipVolume(float* __restrict _outPlanes24f normal[1] *= lightSide; normal[2] *= lightSide; - float lenInv = 1.0f / sqrtf(bx::vec3Dot(normal, normal) ); + float lenInv = 1.0f / bx::fsqrt(bx::vec3Dot(normal, normal) ); plane[0] = normal[0] * lenInv; plane[1] = normal[1] * lenInv; @@ -1800,7 +1797,7 @@ void createNearClipVolume(float* __restrict _outPlanes24f bx::vec3MulMtx(tmp, lightPlaneNormal, mtxViewInv); bx::vec3Sub(lightPlaneNormal, tmp, _lightPos); - float lenInv = 1.0f / sqrtf(bx::vec3Dot(lightPlaneNormal, lightPlaneNormal) ); + float lenInv = 1.0f / bx::fsqrt(bx::vec3Dot(lightPlaneNormal, lightPlaneNormal) ); lightPlane[0] = lightPlaneNormal[0] * lenInv; lightPlane[1] = lightPlaneNormal[1] * lenInv; @@ -1881,8 +1878,8 @@ int _main_(int _argc, char** _argv) bgfx::TextureHandle fbtextures[] = { - bgfx::createTexture2D(viewState.m_width, viewState.m_height, false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_U_CLAMP|BGFX_TEXTURE_V_CLAMP|BGFX_TEXTURE_RT), - bgfx::createTexture2D(viewState.m_width, viewState.m_height, false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY), + bgfx::createTexture2D(uint16_t(viewState.m_width), uint16_t(viewState.m_height), false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP | BGFX_TEXTURE_RT), + bgfx::createTexture2D(uint16_t(viewState.m_width), uint16_t(viewState.m_height), false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY), }; s_stencilFb = bgfx::createFrameBuffer(BX_COUNTOF(fbtextures), fbtextures, true); @@ -2075,8 +2072,8 @@ int _main_(int _argc, char** _argv) bgfx::destroyFrameBuffer(s_stencilFb); - fbtextures[0] = bgfx::createTexture2D(viewState.m_width, viewState.m_height, false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_U_CLAMP|BGFX_TEXTURE_V_CLAMP|BGFX_TEXTURE_RT); - fbtextures[1] = bgfx::createTexture2D(viewState.m_width, viewState.m_height, false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY); + fbtextures[0] = bgfx::createTexture2D(uint16_t(viewState.m_width), uint16_t(viewState.m_height), false, 1, bgfx::TextureFormat::BGRA8, BGFX_TEXTURE_U_CLAMP|BGFX_TEXTURE_V_CLAMP|BGFX_TEXTURE_RT); + fbtextures[1] = bgfx::createTexture2D(uint16_t(viewState.m_width), uint16_t(viewState.m_height), false, 1, bgfx::TextureFormat::D16, BGFX_TEXTURE_RT_WRITE_ONLY); s_stencilFb = bgfx::createFrameBuffer(BX_COUNTOF(fbtextures), fbtextures, true); } @@ -2119,8 +2116,8 @@ int _main_(int _argc, char** _argv) | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , mouseState.m_mz - , viewState.m_width - , viewState.m_height + , uint16_t(viewState.m_width) + , uint16_t(viewState.m_height) ); imguiBeginScrollArea("Settings", viewState.m_width - 256 - 10, 10, 256, 700, &scrollAreaRight); @@ -2259,9 +2256,9 @@ int _main_(int _argc, char** _argv) { for (uint8_t ii = 0; ii < settings_numLights; ++ii) { - lightPosRadius[ii][0] = cosf(2.0f*bx::pi/settings_numLights * float(ii) + lightTimeAccumulator * 1.1f + 3.0f) * 20.0f; + lightPosRadius[ii][0] = bx::fcos(2.0f*bx::pi/settings_numLights * float(ii) + lightTimeAccumulator * 1.1f + 3.0f) * 20.0f; lightPosRadius[ii][1] = 20.0f; - lightPosRadius[ii][2] = sinf(2.0f*bx::pi/settings_numLights * float(ii) + lightTimeAccumulator * 1.1f + 3.0f) * 20.0f; + lightPosRadius[ii][2] = bx::fsin(2.0f*bx::pi/settings_numLights * float(ii) + lightTimeAccumulator * 1.1f + 3.0f) * 20.0f; lightPosRadius[ii][3] = 20.0f; } } @@ -2269,9 +2266,9 @@ int _main_(int _argc, char** _argv) { for (uint8_t ii = 0; ii < settings_numLights; ++ii) { - lightPosRadius[ii][0] = cosf(float(ii) * 2.0f/settings_numLights + lightTimeAccumulator * 1.3f + bx::pi) * 40.0f; + lightPosRadius[ii][0] = bx::fcos(float(ii) * 2.0f/settings_numLights + lightTimeAccumulator * 1.3f + bx::pi) * 40.0f; lightPosRadius[ii][1] = 20.0f; - lightPosRadius[ii][2] = sinf(float(ii) * 2.0f/settings_numLights + lightTimeAccumulator * 1.3f + bx::pi) * 40.0f; + lightPosRadius[ii][2] = bx::fsin(float(ii) * 2.0f/settings_numLights + lightTimeAccumulator * 1.3f + bx::pi) * 40.0f; lightPosRadius[ii][3] = 20.0f; } } @@ -2345,9 +2342,9 @@ int _main_(int _argc, char** _argv) inst.m_rotation[0] = 0.0f; inst.m_rotation[1] = 0.0f; inst.m_rotation[2] = 0.0f; - inst.m_pos[0] = sinf(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; + inst.m_pos[0] = bx::fsin(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; inst.m_pos[1] = 6.0f; - inst.m_pos[2] = cosf(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; + inst.m_pos[2] = bx::fcos(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; inst.m_model = &cubeModel; } @@ -2362,9 +2359,9 @@ int _main_(int _argc, char** _argv) inst.m_rotation[0] = 0.0f; inst.m_rotation[1] = 0.0f; inst.m_rotation[2] = 0.0f; - inst.m_pos[0] = sinf(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; + inst.m_pos[0] = bx::fsin(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; inst.m_pos[1] = 22.0f; - inst.m_pos[2] = cosf(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; + inst.m_pos[2] = bx::fcos(ii * 2.0f + 13.0f + sceneTimeAccumulator * 1.1f) * 13.0f; inst.m_model = &cubeModel; } @@ -2575,9 +2572,9 @@ int _main_(int _argc, char** _argv) { const float* lightPos = lightPosRadius[ii]; - memcpy(s_uniforms.m_lightPosRadius, lightPosRadius[ii], 4*sizeof(float) ); - memcpy(s_uniforms.m_lightRgbInnerR, lightRgbInnerR[ii], 3*sizeof(float) ); - memcpy(s_uniforms.m_color, lightRgbInnerR[ii], 3*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightPosRadius, lightPosRadius[ii], 4*sizeof(float) ); + bx::memCopy(s_uniforms.m_lightRgbInnerR, lightRgbInnerR[ii], 3*sizeof(float) ); + bx::memCopy(s_uniforms.m_color, lightRgbInnerR[ii], 3*sizeof(float) ); if (settings_useStencilTexture) { @@ -2639,7 +2636,7 @@ int _main_(int _argc, char** _argv) ); // Set virtual light pos. - memcpy(s_uniforms.m_virtualLightPos_extrusionDist, transformedLightPos, 3*sizeof(float) ); + bx::memCopy(s_uniforms.m_virtualLightPos_extrusionDist, transformedLightPos, 3*sizeof(float) ); s_uniforms.m_virtualLightPos_extrusionDist[3] = instance.m_svExtrusionDistance; // Compute transform for shadow volume. @@ -2786,7 +2783,7 @@ int _main_(int _argc, char** _argv) const float lightScale[3] = { 1.5f, 1.5f, 1.5f }; for (uint8_t ii = 0; ii < settings_numLights; ++ii) { - memcpy(s_uniforms.m_color, lightRgbInnerR[ii], 3*sizeof(float) ); + bx::memCopy(s_uniforms.m_color, lightRgbInnerR[ii], 3*sizeof(float) ); float lightMtx[16]; mtxBillboard(lightMtx, viewState.m_view, lightPosRadius[ii], lightScale); @@ -2795,7 +2792,7 @@ int _main_(int _argc, char** _argv) } // Setup view rect and transform for all used views. - setViewRectMask(s_viewMask, 0, 0, viewState.m_width, viewState.m_height); + setViewRectMask(s_viewMask, 0, 0, uint16_t(viewState.m_width), uint16_t(viewState.m_height) ); setViewTransformMask(s_viewMask, viewState.m_view, viewState.m_proj); s_viewMask = 0; diff --git a/3rdparty/bgfx/examples/15-shadowmaps-simple/fs_sms_shadow.sc b/3rdparty/bgfx/examples/15-shadowmaps-simple/fs_sms_shadow.sc index cfaf3412c17..3cdf1973f2e 100644 --- a/3rdparty/bgfx/examples/15-shadowmaps-simple/fs_sms_shadow.sc +++ b/3rdparty/bgfx/examples/15-shadowmaps-simple/fs_sms_shadow.sc @@ -7,4 +7,5 @@ void main() { + gl_FragColor = vec4_splat(0.0); } diff --git a/3rdparty/bgfx/examples/15-shadowmaps-simple/shadowmaps_simple.cpp b/3rdparty/bgfx/examples/15-shadowmaps-simple/shadowmaps_simple.cpp index 274e5f40469..ae125ea98ab 100644 --- a/3rdparty/bgfx/examples/15-shadowmaps-simple/shadowmaps_simple.cpp +++ b/3rdparty/bgfx/examples/15-shadowmaps-simple/shadowmaps_simple.cpp @@ -200,7 +200,7 @@ int _main_(int _argc, char** _argv) bx::mtxLookAt(view, eye, at); const float aspect = float(int32_t(width) ) / float(int32_t(height) ); - bx::mtxProj(proj, 60.0f, aspect, 0.1f, 1000.0f, flipV); + bx::mtxProj(proj, 60.0f, aspect, 0.1f, 1000.0f, bgfx::getCaps()->homogeneousDepth); // Time acumulators. float timeAccumulatorLight = 0.0f; @@ -230,9 +230,9 @@ int _main_(int _argc, char** _argv) // Setup lights. float lightPos[4]; - lightPos[0] = -cosf(timeAccumulatorLight); + lightPos[0] = -bx::fcos(timeAccumulatorLight); lightPos[1] = -1.0f; - lightPos[2] = -sinf(timeAccumulatorLight); + lightPos[2] = -bx::fsin(timeAccumulatorLight); lightPos[3] = 0.0f; bgfx::setUniform(u_lightPos, lightPos); @@ -287,7 +287,7 @@ int _main_(int _argc, char** _argv) bgfx::setViewFrameBuffer(RENDER_SHADOW_PASS_ID, shadowMapFB); bgfx::setViewTransform(RENDER_SHADOW_PASS_ID, lightView, lightProj); - bgfx::setViewRect(RENDER_SCENE_PASS_ID, 0, 0, width, height); + bgfx::setViewRect(RENDER_SCENE_PASS_ID, 0, 0, uint16_t(width), uint16_t(height) ); bgfx::setViewTransform(RENDER_SCENE_PASS_ID, view, proj); // Clear backbuffer and shadowmap framebuffer at beginning. diff --git a/3rdparty/bgfx/examples/16-shadowmaps/shadowmaps.cpp b/3rdparty/bgfx/examples/16-shadowmaps/shadowmaps.cpp index d1890fa2bca..191a3426df3 100644 --- a/3rdparty/bgfx/examples/16-shadowmaps/shadowmaps.cpp +++ b/3rdparty/bgfx/examples/16-shadowmaps/shadowmaps.cpp @@ -257,12 +257,12 @@ void mtxYawPitchRoll(float* __restrict _result , float _roll ) { - float sroll = sinf(_roll); - float croll = cosf(_roll); - float spitch = sinf(_pitch); - float cpitch = cosf(_pitch); - float syaw = sinf(_yaw); - float cyaw = cosf(_yaw); + float sroll = bx::fsin(_roll); + float croll = bx::fcos(_roll); + float spitch = bx::fsin(_pitch); + float cpitch = bx::fcos(_pitch); + float syaw = bx::fsin(_yaw); + float cyaw = bx::fcos(_yaw); _result[ 0] = sroll * spitch * syaw + croll * cyaw; _result[ 1] = sroll * cpitch; @@ -1163,7 +1163,7 @@ void splitFrustum(float* _splits, uint8_t _numSplits, float _near, float _far, f { float si = float(int8_t(ff) ) / numSlicesf; - const float nearp = l*(_near*powf(ratio, si) ) + (1 - l)*(_near + (_far - _near)*si); + const float nearp = l*(_near*bx::fpow(ratio, si) ) + (1 - l)*(_near + (_far - _near)*si); _splits[nn] = nearp; //near _splits[ff] = nearp * 1.005f; //far from previous split } @@ -1956,9 +1956,9 @@ int _main_(int _argc, char** _argv) const float camAspect = float(int32_t(viewState.m_width) ) / float(int32_t(viewState.m_height) ); const float camNear = 0.1f; const float camFar = 2000.0f; - const float projHeight = 1.0f/tanf(bx::toRad(camFovy)*0.5f); + const float projHeight = 1.0f/bx::ftan(bx::toRad(camFovy)*0.5f); const float projWidth = projHeight * camAspect; - bx::mtxProj(viewState.m_proj, camFovy, camAspect, camNear, camFar); + bx::mtxProj(viewState.m_proj, camFovy, camAspect, camNear, camFar, bgfx::getCaps()->homogeneousDepth); cameraGetViewMtx(viewState.m_view); float timeAccumulatorLight = 0.0f; @@ -2169,16 +2169,16 @@ int _main_(int _argc, char** _argv) if (settings.m_updateScene) { timeAccumulatorScene += deltaTime; } // Setup lights. - pointLight.m_position.m_x = cosf(timeAccumulatorLight) * 20.0f; + pointLight.m_position.m_x = bx::fcos(timeAccumulatorLight) * 20.0f; pointLight.m_position.m_y = 26.0f; - pointLight.m_position.m_z = sinf(timeAccumulatorLight) * 20.0f; + pointLight.m_position.m_z = bx::fsin(timeAccumulatorLight) * 20.0f; pointLight.m_spotDirectionInner.m_x = -pointLight.m_position.m_x; pointLight.m_spotDirectionInner.m_y = -pointLight.m_position.m_y; pointLight.m_spotDirectionInner.m_z = -pointLight.m_position.m_z; - directionalLight.m_position.m_x = -cosf(timeAccumulatorLight); + directionalLight.m_position.m_x = -bx::fcos(timeAccumulatorLight); directionalLight.m_position.m_y = -1.0f; - directionalLight.m_position.m_z = -sinf(timeAccumulatorLight); + directionalLight.m_position.m_z = -bx::fsin(timeAccumulatorLight); // Setup instance matrices. float mtxFloor[16]; @@ -2245,9 +2245,9 @@ int _main_(int _argc, char** _argv) , 0.0f , float(ii) , 0.0f - , sinf(float(ii)*2.0f*bx::pi/float(numTrees) ) * 60.0f + , bx::fsin(float(ii)*2.0f*bx::pi/float(numTrees) ) * 60.0f , 0.0f - , cosf(float(ii)*2.0f*bx::pi/float(numTrees) ) * 60.0f + , bx::fcos(float(ii)*2.0f*bx::pi/float(numTrees) ) * 60.0f ); } @@ -2294,7 +2294,7 @@ int _main_(int _argc, char** _argv) { const float fovx = 143.98570868f + 3.51f + settings.m_fovXAdjust; const float fovy = 125.26438968f + 9.85f + settings.m_fovYAdjust; - const float aspect = tanf(bx::toRad(fovx*0.5f) )/tanf(bx::toRad(fovy*0.5f) ); + const float aspect = bx::ftan(bx::toRad(fovx*0.5f) )/bx::ftan(bx::toRad(fovy*0.5f) ); bx::mtxProj(lightProj[ProjType::Vertical] , fovx @@ -2318,7 +2318,7 @@ int _main_(int _argc, char** _argv) const float fovx = 143.98570868f + 7.8f + settings.m_fovXAdjust; const float fovy = 125.26438968f + 3.0f + settings.m_fovYAdjust; - const float aspect = tanf(bx::toRad(fovx*0.5f) )/tanf(bx::toRad(fovy*0.5f) ); + const float aspect = bx::ftan(bx::toRad(fovx*0.5f) )/bx::ftan(bx::toRad(fovy*0.5f) ); bx::mtxProj(lightProj[ProjType::Horizontal], fovy, aspect, currentSmSettings->m_near, currentSmSettings->m_far); @@ -2344,7 +2344,7 @@ int _main_(int _argc, char** _argv) bx::mtxTranspose(mtxYpr[ii], mtxTmp); - memcpy(lightView[ii], mtxYpr[ii], 12*sizeof(float) ); + bx::memCopy(lightView[ii], mtxYpr[ii], 12*sizeof(float) ); lightView[ii][12] = tmp[0]; lightView[ii][13] = tmp[1]; lightView[ii][14] = tmp[2]; @@ -2423,8 +2423,8 @@ int _main_(int _argc, char** _argv) if (settings.m_stabilize) { const float quantizer = 64.0f; - scalex = quantizer / ceilf(quantizer / scalex); - scaley = quantizer / ceilf(quantizer / scaley); + scalex = quantizer / bx::fceil(quantizer / scalex); + scaley = quantizer / bx::fceil(quantizer / scaley); } offsetx = 0.5f * (maxproj[0] + minproj[0]) * scalex; @@ -2433,8 +2433,8 @@ int _main_(int _argc, char** _argv) if (settings.m_stabilize) { const float halfSize = currentShadowMapSizef * 0.5f; - offsetx = ceilf(offsetx * halfSize) / halfSize; - offsety = ceilf(offsety * halfSize) / halfSize; + offsetx = bx::fceil(offsetx * halfSize) / halfSize; + offsety = bx::fceil(offsety * halfSize) / halfSize; } float mtxCrop[16]; diff --git a/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp b/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp index d3546f65096..18a7a8fee1a 100644 --- a/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp +++ b/3rdparty/bgfx/examples/17-drawstress/drawstress.cpp @@ -205,8 +205,8 @@ class ExampleDrawStress : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginScrollArea("Settings", m_width - m_width / 4 - 10, 10, m_width / 4, m_height / 2, &m_scrollArea); @@ -249,7 +249,7 @@ class ExampleDrawStress : public entry::AppI bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. diff --git a/3rdparty/bgfx/examples/17-drawstress/fs_drawstress.bin.h b/3rdparty/bgfx/examples/17-drawstress/fs_drawstress.bin.h index f69a1924011..f3da93691fc 100644 --- a/3rdparty/bgfx/examples/17-drawstress/fs_drawstress.bin.h +++ b/3rdparty/bgfx/examples/17-drawstress/fs_drawstress.bin.h @@ -7,6 +7,139 @@ static const uint8_t fs_drawstress_glsl[89] = 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // ragColor = v_col 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // or0;.}... }; +static const uint8_t fs_drawstress_spv[2065] = +{ + 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x04, 0x08, 0x03, 0x02, 0x23, 0x07, // FSH....I......#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x7a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........za...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, // w............... + 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, // ............main + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, // ........5...vec4 + 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // _splat(f1;...... + 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xff, 0x0f, 0x00, 0x00, // ...._x.......... + 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // @main(vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....O0..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // .........%..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ragData_0_...... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g.......,N..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // m........@..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_color0........ + 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // 0_.......G..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // m...........para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // m...........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc7, 0x02, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....$Global..... + 0xc7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, // ........u_viewRe + 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ct.............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, // u_viewTexel..... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, // ........u_view.. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // vView........... + 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_proj...... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, // ........u_invPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, // u_viewProj...... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // wProj........... + 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_model..... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // iew............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // u_modelViewProj. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, // ............u_al + 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, // phaRef4.G...w... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xf0, 0x06, 0x00, 0x00, // ........G....... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ....@...H....... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#... ...G... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // !............... + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // .... ... ....... + 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0x3d, 0x0b, 0x00, 0x00, // ........!...=... + 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....w....... ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, // ....e...j....... + 0xc7, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e.......e...e... + 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ....6........... + 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, // ............Sa.. + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........G...... + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // =........@..w... + 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, // >....G...@..9... + 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, // ....ya.......G.. + 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....=........... + 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....>........... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....8...6....... + 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 5...........7... + 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x88, 0x2e, 0x00, 0x00, // ................ + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......dW...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........N...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......I9...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........9...... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, // P........*..dW.. + 0xa9, 0x4e, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, // .N..I9...9...... + 0xb0, 0x2a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // .*..8...6....... + 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ........=...7... + 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....O0..7....... + 0xa2, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xee, 0x5f, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .%......._..;... + 0x8a, 0x02, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....,N......>... + 0x2c, 0x4e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ,N......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5...,N..=... + 0x1d, 0x00, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....X[..O0..>... + 0xa2, 0x25, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // .%..X[......8... + 0x00, // . +}; static const uint8_t fs_drawstress_dx9[129] = { 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x74, 0x00, 0x00, 0x03, 0xff, 0xff, // FSH....I..t..... diff --git a/3rdparty/bgfx/examples/17-drawstress/vs_drawstress.bin.h b/3rdparty/bgfx/examples/17-drawstress/vs_drawstress.bin.h index 025d136404d..abb39beb593 100644 --- a/3rdparty/bgfx/examples/17-drawstress/vs_drawstress.bin.h +++ b/3rdparty/bgfx/examples/17-drawstress/vs_drawstress.bin.h @@ -22,6 +22,182 @@ static const uint8_t vs_drawstress_glsl[325] = 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // lor0 = a_color0; 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; +static const uint8_t vs_drawstress_spv[2763] = +{ + 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....I...u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0xa8, 0x0a, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, // ....#.........Ta + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, // in.............. + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x4f, 0x75, // in........8...Ou + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, // tput......8..... + 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, // ..gl_Position... + 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..8.......v_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x40, 0x6d, // r0............@m + 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, // ain(vf4;vf3;.... + 0x05, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ...H..a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......,G..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, // tion.........._v + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x99, 0x02, // arying_......... + 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..$Global....... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, // ......u_viewRect + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, // viewTexel....... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, // ......u_view.... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, // iew............. + 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_proj........ + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, // ......u_invProj. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, // viewProj........ + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, // ......u_invViewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_model....... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // ......u_modelVie + 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, // w.............u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, // modelViewProj... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, // ..........u_alph + 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, // aRef4.....B..... + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // .......A..a_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, 0x61, 0x5f, // r0............a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, // color0........,? + 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, // ..a_position.... + 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ......a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, // ..........flatte + 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, // nTemp......U..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, // ram...........pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, // ram...........@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, // ntryPointOutput_ + 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, // gl_Position..... + 0x04, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, // ......Output.... + 0x06, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..........v_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, // r0............@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // ntryPointOutput. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, // ..G...7.......@. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..#.......H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, // .. ...G......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...B..."..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, // ..........!..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xc6, 0x07, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x9a, 0x02, // ..!.......8..... + 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, // ..8........... . + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, // ......+......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, // .....?+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, // ......,......... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, // ................ + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, // ......e......... + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, // ..+.......j... . + 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, // ......7...e...j. + 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x99, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, // ..e...e...7...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x16, 0x05, // ..e....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x99, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x16, 0x05, // ..........;..... + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..B.......+..... + 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, // ..)....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, // ......e... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, // ..........;..... + 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, // .......... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, // ..........;..... + 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, // .......... ..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, // ..........;..... + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xf9, 0x03, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0x03, 0x00, // ...... ...v..... + 0x00, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0xcd, 0x0f, // ......;...v..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, // ......6......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, // ..............Sa + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, // ..;........U.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x89, 0x14, // ..=........A.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, 0x14, // ..=.......,?.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, // ..>....U...A..>. + 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x38, 0x04, // ......,?..9...8. + 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, // ..I&.......U.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, // ..>.......I&..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, // ......T4........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, // ..=...........T4 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, // ..>...........A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, // ......'A........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, // ..=...........'A + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xdf, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x38, 0x04, // ......8...6...8. + 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x07, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, // .......H..7..... + 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x51, 0x1d, 0x00, 0x00, 0x3b, 0x00, // ..,G......Q...;. + 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, // ..............A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x50, 0x24, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // ......P$........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x50, 0x24, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x3d, 0x00, // ..>...P$......=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x51, 0x00, // ......'(..,G..Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x00, 0x00, // .......J..'(.... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x27, 0x28, // ..Q.......|W..'( + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1d, 0x19, // ......Q......... + 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, // ..'(......P..... + 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x1d, 0x19, // ...B...J..|W.... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x61, 0x23, // ......A.......a# + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, // ..B...)...=...e. + 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x61, 0x23, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, // ..+4..a#........ + 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x41, 0x00, // ...2...B..+4..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x97, 0x2f, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, // ......./........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x97, 0x2f, 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0x3d, 0x00, // ..>..../...2..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8e, 0x31, 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x41, 0x00, // .......1...H..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // .......L........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x8e, 0x31, 0x00, 0x00, 0x3d, 0x00, // ..>....L...1..=. + 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, // ..8...0......... + 0x02, 0x00, 0x30, 0x19, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ..0...8.... +}; static const uint8_t vs_drawstress_dx9[311] = { 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....I...u_mod diff --git a/3rdparty/bgfx/examples/18-ibl/ibl.cpp b/3rdparty/bgfx/examples/18-ibl/ibl.cpp index 9827dbafe5e..1608da739bd 100644 --- a/3rdparty/bgfx/examples/18-ibl/ibl.cpp +++ b/3rdparty/bgfx/examples/18-ibl/ibl.cpp @@ -365,8 +365,8 @@ struct Camera static inline void latLongFromVec(float& _u, float& _v, const float _vec[3]) { - const float phi = atan2f(_vec[0], _vec[2]); - const float theta = acosf(_vec[1]); + const float phi = bx::fatan2(_vec[0], _vec[2]); + const float theta = bx::facos(_vec[1]); _u = (bx::pi + phi)*bx::invPi*0.5f; _v = theta*bx::invPi; @@ -675,10 +675,10 @@ int _main_(int _argc, char** _argv) uniforms.m_doSpecular = float(settings.m_doSpecular); uniforms.m_doDiffuseIbl = float(settings.m_doDiffuseIbl); uniforms.m_doSpecularIbl = float(settings.m_doSpecularIbl); - memcpy(uniforms.m_rgbDiff, settings.m_rgbDiff, 3*sizeof(float) ); - memcpy(uniforms.m_rgbSpec, settings.m_rgbSpec, 3*sizeof(float) ); - memcpy(uniforms.m_lightDir, settings.m_lightDir, 3*sizeof(float) ); - memcpy(uniforms.m_lightCol, settings.m_lightCol, 3*sizeof(float) ); + bx::memCopy(uniforms.m_rgbDiff, settings.m_rgbDiff, 3*sizeof(float) ); + bx::memCopy(uniforms.m_rgbSpec, settings.m_rgbSpec, 3*sizeof(float) ); + bx::memCopy(uniforms.m_lightDir, settings.m_lightDir, 3*sizeof(float) ); + bx::memCopy(uniforms.m_lightCol, settings.m_lightCol, 3*sizeof(float) ); int64_t now = bx::getHPCounter(); static int64_t last = now; @@ -717,7 +717,7 @@ int _main_(int _argc, char** _argv) } } camera.update(deltaTimeSec); - memcpy(uniforms.m_cameraPos, camera.m_pos.curr, 3*sizeof(float) ); + bx::memCopy(uniforms.m_cameraPos, camera.m_pos.curr, 3*sizeof(float) ); // View Transform 0. float view[16]; @@ -728,7 +728,7 @@ int _main_(int _argc, char** _argv) // View Transform 1. camera.mtxLookAt(view); - bx::mtxProj(proj, 45.0f, float(width)/float(height), 0.1f, 100.0f); + bx::mtxProj(proj, 45.0f, float(width)/float(height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(1, view, proj); // View rect. @@ -755,7 +755,7 @@ int _main_(int _argc, char** _argv) bgfx::submit(0, programSky); // Submit view 1. - memcpy(uniforms.m_mtx, mtxEnvRot, 16*sizeof(float)); // Used for IBL. + bx::memCopy(uniforms.m_mtx, mtxEnvRot, 16*sizeof(float)); // Used for IBL. if (0 == settings.m_meshSelection) { // Submit bunny. diff --git a/3rdparty/bgfx/examples/19-oit/oit.cpp b/3rdparty/bgfx/examples/19-oit/oit.cpp index 22f5d8525bd..90c5db05c99 100644 --- a/3rdparty/bgfx/examples/19-oit/oit.cpp +++ b/3rdparty/bgfx/examples/19-oit/oit.cpp @@ -264,8 +264,8 @@ class ExampleOIT : public entry::AppI bgfx::destroyFrameBuffer(m_fbh); } - m_fbtextures[0] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::RGBA16F, BGFX_TEXTURE_RT); - m_fbtextures[1] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::R16F, BGFX_TEXTURE_RT); + m_fbtextures[0] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::RGBA16F, BGFX_TEXTURE_RT); + m_fbtextures[1] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::R16F, BGFX_TEXTURE_RT); m_fbh = bgfx::createFrameBuffer(BX_COUNTOF(m_fbtextures), m_fbtextures, true); } @@ -275,8 +275,8 @@ class ExampleOIT : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginScrollArea("Settings", m_width - m_width / 4 - 10, 10, m_width / 4, m_height / 3, &m_scrollArea); @@ -306,8 +306,8 @@ class ExampleOIT : public entry::AppI imguiEndFrame(); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); - bgfx::setViewRect(1, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(1, 0, 0, uint16_t(m_width), uint16_t(m_height) ); int64_t now = bx::getHPCounter(); static int64_t last = now; @@ -382,7 +382,7 @@ class ExampleOIT : public entry::AppI if (m_fadeInOut && zz == 1) { - color[3] = sinf(time*3.0f)*0.49f+0.5f; + color[3] = bx::fsin(time*3.0f)*0.49f+0.5f; } bgfx::setUniform(u_color, color); diff --git a/3rdparty/bgfx/examples/20-nanovg/nanovg.cpp b/3rdparty/bgfx/examples/20-nanovg/nanovg.cpp index 42d2fdbe847..e6f89ce7c3c 100644 --- a/3rdparty/bgfx/examples/20-nanovg/nanovg.cpp +++ b/3rdparty/bgfx/examples/20-nanovg/nanovg.cpp @@ -73,7 +73,7 @@ static char* cpToUTF8(int cp, char* str) case 4: str[3] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x10000; case 3: str[2] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x800; case 2: str[1] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0xc0; - case 1: str[0] = cp; + case 1: str[0] = char(cp); } return str; } @@ -1262,7 +1262,7 @@ class ExampleNanoVG : public entry::AppI float time = (float)( (now-m_timeOffset)/freq); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. diff --git a/3rdparty/bgfx/examples/21-deferred/deferred.cpp b/3rdparty/bgfx/examples/21-deferred/deferred.cpp index 71ffe55dc4a..de37b19f83f 100644 --- a/3rdparty/bgfx/examples/21-deferred/deferred.cpp +++ b/3rdparty/bgfx/examples/21-deferred/deferred.cpp @@ -401,7 +401,7 @@ class ExampleDeferred : public entry::AppI bgfx::dbgTextPrintf(0, 5, blink ? 0x1f : 0x01, " MRT not supported by GPU. "); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -432,9 +432,9 @@ class ExampleDeferred : public entry::AppI | BGFX_TEXTURE_U_CLAMP | BGFX_TEXTURE_V_CLAMP ; - m_gbufferTex[0] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::BGRA8, samplerFlags); - m_gbufferTex[1] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::BGRA8, samplerFlags); - m_gbufferTex[2] = bgfx::createTexture2D(m_width, m_height, false, 1, bgfx::TextureFormat::D24, samplerFlags); + m_gbufferTex[0] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::BGRA8, samplerFlags); + m_gbufferTex[1] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::BGRA8, samplerFlags); + m_gbufferTex[2] = bgfx::createTexture2D(uint16_t(m_width), uint16_t(m_height), false, 1, bgfx::TextureFormat::D24, samplerFlags); m_gbuffer = bgfx::createFrameBuffer(BX_COUNTOF(m_gbufferTex), m_gbufferTex, true); if (bgfx::isValid(m_lightBuffer) ) @@ -442,7 +442,7 @@ class ExampleDeferred : public entry::AppI bgfx::destroyFrameBuffer(m_lightBuffer); } - m_lightBuffer = bgfx::createFrameBuffer(m_width, m_height, bgfx::TextureFormat::BGRA8, samplerFlags); + m_lightBuffer = bgfx::createFrameBuffer(uint16_t(m_width), uint16_t(m_height), bgfx::TextureFormat::BGRA8, samplerFlags); } imguiBeginFrame(m_mouseState.m_mx @@ -451,8 +451,8 @@ class ExampleDeferred : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginScrollArea("Settings", m_width - m_width / 5 - 10, 10, m_width / 5, m_height / 3, &m_scrollArea); @@ -490,11 +490,11 @@ class ExampleDeferred : public entry::AppI float vp[16]; float invMvp[16]; { - bgfx::setViewRect(RENDER_PASS_GEOMETRY_ID, 0, 0, m_width, m_height); - bgfx::setViewRect(RENDER_PASS_LIGHT_ID, 0, 0, m_width, m_height); - bgfx::setViewRect(RENDER_PASS_COMBINE_ID, 0, 0, m_width, m_height); - bgfx::setViewRect(RENDER_PASS_DEBUG_LIGHTS_ID, 0, 0, m_width, m_height); - bgfx::setViewRect(RENDER_PASS_DEBUG_GBUFFER_ID, 0, 0, m_width, m_height); + bgfx::setViewRect(RENDER_PASS_GEOMETRY_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(RENDER_PASS_LIGHT_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(RENDER_PASS_COMBINE_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(RENDER_PASS_DEBUG_LIGHTS_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); + bgfx::setViewRect(RENDER_PASS_DEBUG_GBUFFER_ID, 0, 0, uint16_t(m_width), uint16_t(m_height) ); bgfx::setViewFrameBuffer(RENDER_PASS_LIGHT_ID, m_lightBuffer); @@ -571,10 +571,10 @@ class ExampleDeferred : public entry::AppI { Sphere lightPosRadius; - float lightTime = time * m_lightAnimationSpeed * (sinf(light/float(m_numLights) * bx::piHalf ) * 0.5f + 0.5f); - lightPosRadius.m_center[0] = sinf( ( (lightTime + light*0.47f) + bx::piHalf*1.37f ) )*offset; - lightPosRadius.m_center[1] = cosf( ( (lightTime + light*0.69f) + bx::piHalf*1.49f ) )*offset; - lightPosRadius.m_center[2] = sinf( ( (lightTime + light*0.37f) + bx::piHalf*1.57f ) )*2.0f; + float lightTime = time * m_lightAnimationSpeed * (bx::fsin(light/float(m_numLights) * bx::piHalf ) * 0.5f + 0.5f); + lightPosRadius.m_center[0] = bx::fsin( ( (lightTime + light*0.47f) + bx::piHalf*1.37f ) )*offset; + lightPosRadius.m_center[1] = bx::fcos( ( (lightTime + light*0.69f) + bx::piHalf*1.49f ) )*offset; + lightPosRadius.m_center[2] = bx::fsin( ( (lightTime + light*0.37f) + bx::piHalf*1.57f ) )*2.0f; lightPosRadius.m_radius = 2.0f; Aabb aabb; @@ -685,7 +685,7 @@ class ExampleDeferred : public entry::AppI bgfx::setUniform(u_lightRgbInnerR, lightRgbInnerR); bgfx::setUniform(u_mtx, invMvp); const uint16_t scissorHeight = uint16_t(y1-y0); - bgfx::setScissor(uint16_t(x0), m_height-scissorHeight-uint16_t(y0), uint16_t(x1-x0), scissorHeight); + bgfx::setScissor(uint16_t(x0), uint16_t(m_height-scissorHeight-y0), uint16_t(x1-x0), uint16_t(scissorHeight) ); bgfx::setTexture(0, s_normal, bgfx::getTexture(m_gbuffer, 1) ); bgfx::setTexture(1, s_depth, bgfx::getTexture(m_gbuffer, 2) ); bgfx::setState(0 diff --git a/3rdparty/bgfx/examples/22-windows/windows.cpp b/3rdparty/bgfx/examples/22-windows/windows.cpp index c750fe23277..1b900d7d088 100644 --- a/3rdparty/bgfx/examples/22-windows/windows.cpp +++ b/3rdparty/bgfx/examples/22-windows/windows.cpp @@ -126,7 +126,7 @@ public: m_timeOffset = bx::getHPCounter(); - memset(m_fbh, 0xff, sizeof(m_fbh) ); + bx::memSet(m_fbh, 0xff, sizeof(m_fbh) ); } virtual int shutdown() BX_OVERRIDE @@ -187,7 +187,7 @@ public: if (NULL != win.m_nwh) { - m_fbh[viewId] = bgfx::createFrameBuffer(win.m_nwh, win.m_width, win.m_height); + m_fbh[viewId] = bgfx::createFrameBuffer(win.m_nwh, uint16_t(win.m_width), uint16_t(win.m_height) ); } else { @@ -204,16 +204,16 @@ public: bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. bgfx::touch(0); // Set view and projection matrix for view 0. - for (uint32_t ii = 1; ii < MAX_WINDOWS; ++ii) + for (uint8_t ii = 1; ii < MAX_WINDOWS; ++ii) { bgfx::setViewTransform(ii, view, proj); bgfx::setViewFrameBuffer(ii, m_fbh[ii]); @@ -221,12 +221,12 @@ public: if (!bgfx::isValid(m_fbh[ii]) ) { // Set view to default viewport. - bgfx::setViewRect(ii, 0, 0, m_width, m_height); + bgfx::setViewRect(ii, 0, 0, uint16_t(m_width), uint16_t(m_height) ); bgfx::setViewClear(ii, BGFX_CLEAR_NONE); } else { - bgfx::setViewRect(ii, 0, 0, m_windows[ii].m_width, m_windows[ii].m_height); + bgfx::setViewRect(ii, 0, 0, uint16_t(m_windows[ii].m_width), uint16_t(m_windows[ii].m_height) ); bgfx::setViewClear(ii , BGFX_CLEAR_COLOR|BGFX_CLEAR_DEPTH , 0x303030ff diff --git a/3rdparty/bgfx/examples/23-vectordisplay/main.cpp b/3rdparty/bgfx/examples/23-vectordisplay/main.cpp index 36472d53453..9a89d16aba6 100644 --- a/3rdparty/bgfx/examples/23-vectordisplay/main.cpp +++ b/3rdparty/bgfx/examples/23-vectordisplay/main.cpp @@ -47,7 +47,7 @@ int _main_(int _argc, char** _argv) bool originBottomLeft = bgfx::RendererType::OpenGL == renderer || bgfx::RendererType::OpenGLES == renderer; VectorDisplay vd(originBottomLeft, texelHalf); - vd.setup(width, height); + vd.setup(uint16_t(width), uint16_t(height) ); // Enable debug text. bgfx::setDebug(debug); @@ -71,18 +71,18 @@ int _main_(int _argc, char** _argv) { oldWidth = width; oldHeight = height; - vd.resize(width, height); + vd.resize(uint16_t(width), uint16_t(height) ); } float view[16]; float proj[16]; bx::mtxLookAt(view, eye, at); - bx::mtxProj(proj, 60.0f, float(width) / float(height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(width) / float(height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -152,8 +152,8 @@ int _main_(int _argc, char** _argv) // draw moving shape static float counter = 0.0f; counter += 0.01f; - float posX = width / 2.0f + sinf(counter * 3.18378f) * (width / 2.0f); - float posY = height / 2.0f + cosf(counter) * (height / 2.0f); + float posX = width / 2.0f + bx::fsin(counter * 3.18378f) * (width / 2.0f); + float posY = height / 2.0f + bx::fcos(counter) * (height / 2.0f); vd.drawCircle(posX, posY, 5.0f, 10.0f); vd.endFrame(); diff --git a/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.cpp b/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.cpp index 0777343bd3f..f5b5828f20e 100644 --- a/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.cpp +++ b/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.cpp @@ -56,7 +56,7 @@ VectorDisplay::VectorDisplay(bool _originBottomLeft, float _texelHalf) { } -void VectorDisplay::setup(uint16_t _width, uint16_t _height, int _view) +void VectorDisplay::setup(uint16_t _width, uint16_t _height, uint8_t _view) { PosColorUvVertex::init(); @@ -168,7 +168,7 @@ void VectorDisplay::endFrame() } else { - alpha = powf(m_decayValue, stepi - 1.0f) * m_initialDecay; + alpha = bx::fpow(m_decayValue, stepi - 1.0f) * m_initialDecay; } float params[4] = { 0.0f, 0.0f, 0.0f, alpha }; @@ -190,7 +190,7 @@ void VectorDisplay::endFrame() } } - int viewCounter = m_view + 1; + uint8_t viewCounter = m_view + 1; bx::mtxOrtho(proj, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f); @@ -339,10 +339,10 @@ void VectorDisplay::endDraw() line->y0 = m_pendingPoints[i - 1].y; line->x1 = m_pendingPoints[i].x; line->y1 = m_pendingPoints[i].y; - line->a = atan2f(line->y1 - line->y0, line->x1 - line->x0); // angle from positive x axis, increasing ccw, [-pi, pi] - line->sin_a = sinf(line->a); - line->cos_a = cosf(line->a); - line->len = sqrtf( (line->x1 - line->x0) * (line->x1 - line->x0) + (line->y1 - line->y0) * (line->y1 - line->y0) ); + line->a = bx::fatan2(line->y1 - line->y0, line->x1 - line->x0); // angle from positive x axis, increasing ccw, [-pi, pi] + line->sin_a = bx::fsin(line->a); + line->cos_a = bx::fcos(line->a); + line->len = bx::fsqrt( (line->x1 - line->x0) * (line->x1 - line->x0) + (line->y1 - line->y0) * (line->y1 - line->y0) ); // figure out what connections we have line->has_prev = (!line->is_first @@ -372,12 +372,12 @@ void VectorDisplay::endDraw() { if (a2pa < pa2a) { - float shorten = t * sinf(a2pa / 2) / cosf(a2pa / 2); + float shorten = t * bx::fsin(a2pa / 2.0f) / bx::fcos(a2pa / 2.0f); float a = (bx::pi - a2pa) / 2.0f; if (shorten > maxshorten) { line->s0 = pline->s1 = maxshorten; - line->tr0 = pline->tr1 = maxshorten * sinf(a) / cosf(a); + line->tr0 = pline->tr1 = maxshorten * bx::fsin(a) / bx::fcos(a); } else { @@ -388,12 +388,12 @@ void VectorDisplay::endDraw() } else { - float shorten = t * sinf(pa2a / 2.0f) / cosf(pa2a / 2.0f); + float shorten = t * bx::fsin(pa2a / 2.0f) / bx::fcos(pa2a / 2.0f); float a = (bx::pi - pa2a) / 2.0f; if (shorten > maxshorten) { line->s0 = pline->s1 = maxshorten; - line->tl0 = pline->tl1 = maxshorten * sinf(a) / cosf(a); + line->tl0 = pline->tl1 = maxshorten * bx::fsin(a) / bx::fcos(a); } else { @@ -476,12 +476,12 @@ void VectorDisplay::drawCircle(float _x, float _y, float _radius, float _steps) float step = bx::pi * 2.0f / _steps; - beginDraw(_x + _radius * sinf(edgeangle + angadjust), - _y - _radius * cosf(edgeangle + angadjust) ); + beginDraw(_x + _radius * bx::fsin(edgeangle + angadjust), + _y - _radius * bx::fcos(edgeangle + angadjust) ); for (edgeangle = 0; edgeangle < 2.0f * bx::pi - 0.001; edgeangle += step) { - drawTo(_x + _radius * sinf(edgeangle + step - angadjust), - _y - _radius * cosf(edgeangle + step - angadjust) ); + drawTo(_x + _radius * bx::fsin(edgeangle + step - angadjust), + _y - _radius * bx::fcos(edgeangle + step - angadjust) ); } endDraw(); @@ -491,32 +491,32 @@ void VectorDisplay::drawWheel(float _angle, float _x, float _y, float _radius) { float spokeradius = _radius - 2.0f; // draw spokes - drawLine(_x + spokeradius * sinf(_angle), - _y - spokeradius * cosf(_angle), - _x - spokeradius * sinf(_angle), - _y + spokeradius * cosf(_angle) ); - drawLine(_x + spokeradius * sinf(_angle + bx::pi / 4.0f), - _y - spokeradius * cosf(_angle + bx::pi / 4.0f), - _x - spokeradius * sinf(_angle + bx::pi / 4.0f), - _y + spokeradius * cosf(_angle + bx::pi / 4.0f) ); - drawLine(_x + spokeradius * sinf(_angle + bx::pi / 2.0f), - _y - spokeradius * cosf(_angle + bx::pi / 2.0f), - _x - spokeradius * sinf(_angle + bx::pi / 2.0f), - _y + spokeradius * cosf(_angle + bx::pi / 2.0f) ); - drawLine(_x + spokeradius * sinf(_angle + 3.0f * bx::pi / 4.0f), - _y - spokeradius * cosf(_angle + 3.0f * bx::pi / 4.0f), - _x - spokeradius * sinf(_angle + 3.0f * bx::pi / 4.0f), - _y + spokeradius * cosf(_angle + 3.0f * bx::pi / 4.0f) ); + drawLine(_x + spokeradius * bx::fsin(_angle), + _y - spokeradius * bx::fcos(_angle), + _x - spokeradius * bx::fsin(_angle), + _y + spokeradius * bx::fcos(_angle) ); + drawLine(_x + spokeradius * bx::fsin(_angle + bx::pi / 4.0f), + _y - spokeradius * bx::fcos(_angle + bx::pi / 4.0f), + _x - spokeradius * bx::fsin(_angle + bx::pi / 4.0f), + _y + spokeradius * bx::fcos(_angle + bx::pi / 4.0f) ); + drawLine(_x + spokeradius * bx::fsin(_angle + bx::pi / 2.0f), + _y - spokeradius * bx::fcos(_angle + bx::pi / 2.0f), + _x - spokeradius * bx::fsin(_angle + bx::pi / 2.0f), + _y + spokeradius * bx::fcos(_angle + bx::pi / 2.0f) ); + drawLine(_x + spokeradius * bx::fsin(_angle + 3.0f * bx::pi / 4.0f), + _y - spokeradius * bx::fcos(_angle + 3.0f * bx::pi / 4.0f), + _x - spokeradius * bx::fsin(_angle + 3.0f * bx::pi / 4.0f), + _y + spokeradius * bx::fcos(_angle + 3.0f * bx::pi / 4.0f) ); float edgeangle = 0.0f; float angadjust = 0.0f; - beginDraw(_x + _radius * sinf(_angle + edgeangle + angadjust), - _y - _radius * cosf(_angle + edgeangle + angadjust) ); + beginDraw(_x + _radius * bx::fsin(_angle + edgeangle + angadjust), + _y - _radius * bx::fcos(_angle + edgeangle + angadjust) ); for (edgeangle = 0; edgeangle < 2.0f * bx::pi - 0.001f; edgeangle += bx::pi / 4.0f) { - drawTo(_x + _radius * sinf(_angle + edgeangle + bx::pi / 4.0f - angadjust), - _y - _radius * cosf(_angle + edgeangle + bx::pi / 4.0f - angadjust) ); + drawTo(_x + _radius * bx::fsin(_angle + edgeangle + bx::pi / 4.0f - angadjust), + _y - _radius * bx::fcos(_angle + edgeangle + bx::pi / 4.0f - angadjust) ); } endDraw(); @@ -622,9 +622,9 @@ void VectorDisplay::drawFan(float _cx, float _cy, float _pa, float _a, float _t, for (i = 1; i <= nsteps; i++) { - appendTexpoint(_cx + _t * sinf(angles[i - 1]), _cy - _t * cosf(angles[i - 1]), _e, (float)HALF_TEXTURE_SIZE); + appendTexpoint(_cx + _t * bx::fsin(angles[i - 1]), _cy - _t * bx::fcos(angles[i - 1]), _e, (float)HALF_TEXTURE_SIZE); appendTexpoint(_cx, _cy, _s, (float)HALF_TEXTURE_SIZE); - appendTexpoint(_cx + _t * sinf(angles[i]), _cy - _t * cosf(angles[i]), _e, (float)HALF_TEXTURE_SIZE); + appendTexpoint(_cx + _t * bx::fsin(angles[i]), _cy - _t * bx::fcos(angles[i]), _e, (float)HALF_TEXTURE_SIZE); } } @@ -828,7 +828,7 @@ void VectorDisplay::genLinetex() // generate const bgfx::Memory* mem = bgfx::alloc(TEXTURE_SIZE * TEXTURE_SIZE * 4); unsigned char* texbuf = (unsigned char*)mem->data; - memset(texbuf, 0xff, mem->size); + bx::memSet(texbuf, 0xff, mem->size); int x, y; for (x = 0; x < TEXTURE_SIZE; x++) { @@ -838,8 +838,8 @@ void VectorDisplay::genLinetex() // generate , bx::fsqrt( (float)( (x - HALF_TEXTURE_SIZE) * (x - HALF_TEXTURE_SIZE) + (y - HALF_TEXTURE_SIZE) * (y - HALF_TEXTURE_SIZE) ) ) / (float)HALF_TEXTURE_SIZE ); - float line = powf(16.0f, -2.0f * distance); - float glow = powf( 2.0f, -4.0f * distance) / 10.0f; + float line = bx::fpow(16.0f, -2.0f * distance); + float glow = bx::fpow( 2.0f, -4.0f * distance) / 10.0f; glow = 0; float val = bx::fsaturate(line + glow); diff --git a/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.h b/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.h index b11400eb933..3ac7a4b55d1 100644 --- a/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.h +++ b/3rdparty/bgfx/examples/23-vectordisplay/vectordisplay.h @@ -40,7 +40,7 @@ public: { } - void setup(uint16_t _width, uint16_t _height, int _view = 2); + void setup(uint16_t _width, uint16_t _height, uint8_t _view = 2); void resize(uint16_t _width, uint16_t _height); void teardown(); @@ -167,14 +167,17 @@ protected: bgfx::FrameBufferHandle m_glow0FrameBuffer; // framebuffer for glow pass 0 bgfx::FrameBufferHandle m_glow1FrameBuffer; // framebuffer for glow pass 1 - int m_view; + uint8_t m_view; uint16_t m_screenWidth, m_screenHeight; uint16_t m_glowWidth, m_glowHeight; int m_numberDecaySteps; float m_decayValue; - uint8_t m_drawColorR, m_drawColorG, m_drawColorB, m_drawColorA; + uint8_t m_drawColorR; + uint8_t m_drawColorG; + uint8_t m_drawColorB; + uint8_t m_drawColorA; stl::vector m_points; stl::vector m_pendingPoints; diff --git a/3rdparty/bgfx/examples/24-nbody/nbody.cpp b/3rdparty/bgfx/examples/24-nbody/nbody.cpp index 636d8f52500..0350ab5bb76 100644 --- a/3rdparty/bgfx/examples/24-nbody/nbody.cpp +++ b/3rdparty/bgfx/examples/24-nbody/nbody.cpp @@ -212,7 +212,7 @@ int _main_(int _argc, char** _argv) } // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); // Use debug font to print information about this example. bgfx::dbgTextClear(); @@ -225,8 +225,8 @@ int _main_(int _argc, char** _argv) | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , mouseState.m_mz - , width - , height + , uint16_t(width) + , uint16_t(height) ); imguiBeginScrollArea("Settings", width - width / 4 - 10, 10, width / 4, 500, &scrollArea); imguiSlider("Random seed", u_paramsData.baseSeed, 0, 100); @@ -285,7 +285,7 @@ int _main_(int _argc, char** _argv) } else { - bgfx::dispatch(0, updateInstancesProgram, u_paramsData.dispatchSize, 1, 1); + bgfx::dispatch(0, updateInstancesProgram, uint16_t(u_paramsData.dispatchSize), 1, 1); } bx::xchg(currPositionBuffer0, currPositionBuffer1); @@ -316,11 +316,11 @@ int _main_(int _argc, char** _argv) else { float proj[16]; - bx::mtxProj(proj, 90.0f, float(width)/float(height), 0.1f, 10000.0f); + bx::mtxProj(proj, 90.0f, float(width)/float(height), 0.1f, 10000.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); } // Set vertex and index buffer. @@ -382,7 +382,7 @@ int _main_(int _argc, char** _argv) int64_t now = bx::getHPCounter(); float time = (float)( (now - timeOffset)/double(bx::getHPFrequency() ) ); - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height)); bgfx::dbgTextClear(); bgfx::dbgTextPrintf(0, 1, 0x4f, "bgfx/examples/24-nbody"); diff --git a/3rdparty/bgfx/examples/25-c99/helloworld.c b/3rdparty/bgfx/examples/25-c99/helloworld.c index 6b0a029fe61..6fb38ae0dd0 100644 --- a/3rdparty/bgfx/examples/25-c99/helloworld.c +++ b/3rdparty/bgfx/examples/25-c99/helloworld.c @@ -43,7 +43,7 @@ int _main_(int _argc, char** _argv) while (!entry_process_events(&width, &height, &debug, &reset) ) { // Set view 0 default viewport. - bgfx_set_view_rect(0, 0, 0, width, height); + bgfx_set_view_rect(0, 0, 0, (uint16_t)width, (uint16_t)height); // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. @@ -51,13 +51,14 @@ int _main_(int _argc, char** _argv) // Use debug font to print information about this example. bgfx_dbg_text_clear(0, false); - bgfx_dbg_text_image(uint16_max(width/2/8, 20)-20 - , uint16_max(height/2/16, 6)-6 - , 40 - , 12 - , s_logo - , 160 - ); + bgfx_dbg_text_image( + uint16_max( (uint16_t)width /2/8, 20)-20 + , uint16_max( (uint16_t)height/2/16, 6)-6 + , 40 + , 12 + , s_logo + , 160 + ); bgfx_dbg_text_printf(0, 1, 0x4f, "bgfx/examples/25-c99"); bgfx_dbg_text_printf(0, 2, 0x6f, "Description: Initialization and debug text with C99 API."); diff --git a/3rdparty/bgfx/examples/26-occlusion/occlusion.cpp b/3rdparty/bgfx/examples/26-occlusion/occlusion.cpp index 8ae2b3e0890..634aaa6cc9a 100644 --- a/3rdparty/bgfx/examples/26-occlusion/occlusion.cpp +++ b/3rdparty/bgfx/examples/26-occlusion/occlusion.cpp @@ -190,20 +190,20 @@ class ExampleOcclusion : public entry::AppI else { float proj[16]; - bx::mtxProj(proj, 90.0f, float(width)/float(height), 0.1f, 10000.0f); + bx::mtxProj(proj, 90.0f, float(width)/float(height), 0.1f, 10000.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); bgfx::setViewTransform(1, view, proj); - bgfx::setViewRect(1, 0, 0, width, height); + bgfx::setViewRect(1, 0, 0, uint16_t(width), uint16_t(height) ); float at[3] = { 0.0f, 0.0f, 0.0f }; float eye[3] = { 17.5f, 10.0f, -17.5f }; bx::mtxLookAt(view, eye, at); bgfx::setViewTransform(2, view, proj); - bgfx::setViewRect(2, 10, height - height/4 - 10, width/4, height/4); + bgfx::setViewRect(2, 10, uint16_t(height - height/4 - 10), uint16_t(width/4), uint16_t(height/4) ); } bgfx::touch(0); @@ -251,11 +251,15 @@ class ExampleOcclusion : public entry::AppI } } - for (uint32_t xx = 0; xx < CUBES_DIM; ++xx) + for (uint16_t xx = 0; xx < CUBES_DIM; ++xx) { bgfx::dbgTextImage(5 + xx*2, 5, 1, CUBES_DIM, img + xx*2, CUBES_DIM*2); } + int32_t numPixels = 0; + bgfx::getResult(m_occlusionQueries[0], &numPixels); + bgfx::dbgTextPrintf(5, 5 + CUBES_DIM + 1, 0xf, "%d", numPixels); + // Advance to next frame. Rendering thread will be kicked to // process submitted rendering primitives. bgfx::frame(); diff --git a/3rdparty/bgfx/examples/27-terrain/terrain.cpp b/3rdparty/bgfx/examples/27-terrain/terrain.cpp index c93dbe195c9..3bcd8491dd6 100644 --- a/3rdparty/bgfx/examples/27-terrain/terrain.cpp +++ b/3rdparty/bgfx/examples/27-terrain/terrain.cpp @@ -12,7 +12,7 @@ #include #include -static uint32_t s_terrainSize = 256; +static const uint16_t s_terrainSize = 256; struct PosTexCoord0Vertex { @@ -119,7 +119,7 @@ class ExampleTerrain : public entry::AppI m_terrain.m_heightMap = (uint8_t*)BX_ALLOC(entry::getAllocator(), num); bx::mtxSRT(m_terrain.m_transform, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - memset(m_terrain.m_heightMap, 0, sizeof(uint8_t) * s_terrainSize * s_terrainSize); + bx::memSet(m_terrain.m_heightMap, 0, sizeof(uint8_t) * s_terrainSize * s_terrainSize); cameraCreate(); @@ -198,10 +198,10 @@ class ExampleTerrain : public entry::AppI } m_terrain.m_indexCount = 0; - for (uint32_t y = 0; y < (s_terrainSize - 1); y++) + for (uint16_t y = 0; y < (s_terrainSize - 1); y++) { - uint32_t y_offset = (y * s_terrainSize); - for (uint32_t x = 0; x < (s_terrainSize - 1); x++) + uint16_t y_offset = (y * s_terrainSize); + for (uint16_t x = 0; x < (s_terrainSize - 1); x++) { m_terrain.m_indices[m_terrain.m_indexCount + 0] = y_offset + x + 1; m_terrain.m_indices[m_terrain.m_indexCount + 1] = y_offset + x + s_terrainSize; @@ -398,8 +398,8 @@ class ExampleTerrain : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginScrollArea("Settings", m_width - m_width / 5 - 10, 10, m_width / 5, m_height / 3, &m_scrollArea); @@ -455,10 +455,10 @@ class ExampleTerrain : public entry::AppI } // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); cameraGetViewMtx(m_viewMtx); - bx::mtxProj(m_projMtx, 60.0f, float(m_width) / float(m_height), 0.1f, 2000.0f); + bx::mtxProj(m_projMtx, 60.0f, float(m_width) / float(m_height), 0.1f, 2000.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, m_viewMtx, m_projMtx); bgfx::setTransform(m_terrain.m_transform); diff --git a/3rdparty/bgfx/examples/28-wireframe/wireframe.cpp b/3rdparty/bgfx/examples/28-wireframe/wireframe.cpp index df464f51ff9..332a4f1e605 100644 --- a/3rdparty/bgfx/examples/28-wireframe/wireframe.cpp +++ b/3rdparty/bgfx/examples/28-wireframe/wireframe.cpp @@ -162,8 +162,8 @@ struct Camera static inline void latLongFromVec(float& _u, float& _v, const float _vec[3]) { - const float phi = atan2f(_vec[0], _vec[2]); - const float theta = acosf(_vec[1]); + const float phi = bx::fatan2(_vec[0], _vec[2]); + const float theta = bx::facos(_vec[1]); _u = (bx::pi + phi)*bx::invPi*0.5f; _v = theta*bx::invPi; @@ -394,8 +394,8 @@ class ExampleWireframe : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginScrollArea("Settings" @@ -495,9 +495,9 @@ class ExampleWireframe : public entry::AppI float view[16]; float proj[16]; m_camera.update(deltaTimeSec); - memcpy(m_uniforms.m_camPos, m_camera.m_pos.curr, 3*sizeof(float)); + bx::memCopy(m_uniforms.m_camPos, m_camera.m_pos.curr, 3*sizeof(float)); m_camera.mtxLookAt(view); - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); m_uniforms.m_drawEdges = (DrawMode::WireframeShaded == m_drawMode) ? 1.0f : 0.0f; diff --git a/3rdparty/bgfx/examples/29-debugdraw/debugdraw.cpp b/3rdparty/bgfx/examples/29-debugdraw/debugdraw.cpp index 1c82e0d52e1..f3b0cf5c0bf 100644 --- a/3rdparty/bgfx/examples/29-debugdraw/debugdraw.cpp +++ b/3rdparty/bgfx/examples/29-debugdraw/debugdraw.cpp @@ -118,10 +118,10 @@ class DebugDrawApp : public entry::AppI } else { - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); } float zero[3] = {}; @@ -129,7 +129,7 @@ class DebugDrawApp : public entry::AppI float mvp[16]; float eye[] = { 5.0f, 10.0f, 5.0f }; bx::mtxLookAt(view, eye, zero); - bx::mtxProj(proj, 45.0f, float(m_width)/float(m_height), 1.0f, 15.0f); + bx::mtxProj(proj, 45.0f, float(m_width)/float(m_height), 1.0f, 15.0f, bgfx::getCaps()->homogeneousDepth); bx::mtxMul(mvp, view, proj); ddBegin(0); diff --git a/3rdparty/bgfx/examples/30-picking/picking.cpp b/3rdparty/bgfx/examples/30-picking/picking.cpp index a4fc99ffe7c..563e44bf684 100644 --- a/3rdparty/bgfx/examples/30-picking/picking.cpp +++ b/3rdparty/bgfx/examples/30-picking/picking.cpp @@ -207,7 +207,7 @@ class ExamplePicking : public entry::AppI bx::mtxLookAt(view, eye, at); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width) / float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width) / float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); // Set up view rect and transform for the shaded pass bgfx::setViewRect(RENDER_PASS_SHADING, 0, 0, uint16_t(m_width), uint16_t(m_height) ); @@ -238,7 +238,7 @@ class ExamplePicking : public entry::AppI // Tight FOV is best for picking float pickProj[16]; - bx::mtxProj(pickProj, m_fov, 1, 0.1f, 100.0f); + bx::mtxProj(pickProj, m_fov, 1, 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); // View rect and transforms for picking pass bgfx::setViewRect(RENDER_PASS_ID, 0, 0, ID_DIM, ID_DIM); @@ -363,8 +363,8 @@ class ExamplePicking : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginArea("Picking Render Target:", 10, 100, 300, 400); diff --git a/3rdparty/bgfx/examples/31-rsm/reflectiveshadowmap.cpp b/3rdparty/bgfx/examples/31-rsm/reflectiveshadowmap.cpp index 0ceb3d40046..00134c7c4c5 100644 --- a/3rdparty/bgfx/examples/31-rsm/reflectiveshadowmap.cpp +++ b/3rdparty/bgfx/examples/31-rsm/reflectiveshadowmap.cpp @@ -454,7 +454,7 @@ public: cameraGetViewMtx(view); float proj[16]; - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewRect(RENDER_PASS_GBUFFER, 0, 0, uint16_t(m_width), uint16_t(m_height)); bgfx::setViewTransform(RENDER_PASS_GBUFFER, view, proj); @@ -579,8 +579,8 @@ public: // Set up transform matrix for fullscreen quad float orthoProj[16]; bx::mtxOrtho(orthoProj, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f); - bgfx::setViewTransform(RENDER_PASS_COMBINE, NULL, orthoProj); - bgfx::setViewRect(RENDER_PASS_COMBINE, 0, 0, m_width, m_height); + bgfx::setViewTransform(RENDER_PASS_COMBINE, NULL, orthoProj); + bgfx::setViewRect(RENDER_PASS_COMBINE, 0, 0, uint16_t(m_width), uint16_t(m_height) ); // Bind vertex buffer and draw quad screenSpaceQuad( (float)m_width, (float)m_height, m_texelHalf, m_caps->originBottomLeft); bgfx::submit(RENDER_PASS_COMBINE, m_combineProgram); @@ -592,8 +592,8 @@ public: | (m_mouseState.m_buttons[entry::MouseButton::Right] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); imguiBeginArea("RSM:", 10, 100, 300, 400); diff --git a/3rdparty/bgfx/examples/32-particles/particles.cpp b/3rdparty/bgfx/examples/32-particles/particles.cpp index 3173a15388d..ca38efa608b 100644 --- a/3rdparty/bgfx/examples/32-particles/particles.cpp +++ b/3rdparty/bgfx/examples/32-particles/particles.cpp @@ -210,8 +210,8 @@ struct Emitter ImGuizmo::Manipulate( _view , _proj - , ImGuizmo::OPERATION::TRANSLATE - , ImGuizmo::MODE::LOCAL + , ImGuizmo::TRANSLATE + , ImGuizmo::LOCAL , mtx ); @@ -249,9 +249,23 @@ class Particles : public entry::AppI psInit(); + bgfx::ImageContainer* image = imageLoad( + "textures/particle.ktx" + , bgfx::TextureFormat::BGRA8 + ); + + EmitterSpriteHandle sprite = psCreateSprite( + uint16_t(image->m_width) + , uint16_t(image->m_height) + , image->m_data + ); + + bgfx::imageFree(image); + for (uint32_t ii = 0; ii < BX_COUNTOF(m_emitter); ++ii) { m_emitter[ii].create(); + m_emitter[ii].m_uniforms.m_handle = sprite; } imguiCreate(); @@ -291,7 +305,7 @@ class Particles : public entry::AppI if (!entry::processEvents(m_width, m_height, m_debug, m_reset, &m_mouseState) ) { // Set view 0 default viewport. - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); bgfx::touch(0); @@ -329,10 +343,10 @@ class Particles : public entry::AppI } else { - bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f); + bx::mtxProj(proj, 60.0f, float(m_width)/float(m_height), 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); bgfx::setViewTransform(0, view, proj); - bgfx::setViewRect(0, 0, 0, m_width, m_height); + bgfx::setViewRect(0, 0, 0, uint16_t(m_width), uint16_t(m_height) ); } imguiBeginFrame( @@ -342,8 +356,8 @@ class Particles : public entry::AppI | (m_mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (m_mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , m_mouseState.m_mz - , m_width - , m_height + , uint16_t(m_width) + , uint16_t(m_height) ); ImGui::Begin("Properties" diff --git a/3rdparty/bgfx/examples/common/bgfx_utils.cpp b/3rdparty/bgfx/examples/common/bgfx_utils.cpp index f728582cc53..edea94caf27 100644 --- a/3rdparty/bgfx/examples/common/bgfx_utils.cpp +++ b/3rdparty/bgfx/examples/common/bgfx_utils.cpp @@ -3,8 +3,6 @@ * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ -#include // strlen - #include "common.h" #include @@ -21,24 +19,6 @@ namespace stl = tinystl; #include "entry/entry.h" #include -BX_PRAGMA_DIAGNOSTIC_PUSH() -BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wtype-limits") -BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wunused-parameter") -BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wunused-value") -BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4100) // error C4100: '' : unreferenced formal parameter -#define MINIZ_NO_STDIO -#define TINYEXR_IMPLEMENTATION -#include -BX_PRAGMA_DIAGNOSTIC_POP() - -#define LODEPNG_NO_COMPILE_ENCODER -#define LODEPNG_NO_COMPILE_DISK -#define LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS -#define LODEPNG_NO_COMPILE_ERROR_TEXT -#define LODEPNG_NO_COMPILE_ALLOCATORS -#define LODEPNG_NO_COMPILE_CPP -#include - #include "bgfx_utils.h" void* load(bx::FileReaderI* _reader, bx::AllocatorI* _allocator, const char* _filePath, uint32_t* _size) @@ -137,9 +117,9 @@ static bgfx::ShaderHandle loadShader(bx::FileReaderI* _reader, const char* _name break; } - strcpy(filePath, shaderPath); - strcat(filePath, _name); - strcat(filePath, ".bin"); + bx::strlncpy(filePath, BX_COUNTOF(filePath), shaderPath); + bx::strlncat(filePath, BX_COUNTOF(filePath), _name); + bx::strlncat(filePath, BX_COUNTOF(filePath), ".bin"); return bgfx::createShader(loadMem(_reader, filePath) ); } @@ -166,303 +146,73 @@ bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName) return loadProgram(entry::getFileReader(), _vsName, _fsName); } -typedef unsigned char stbi_uc; -extern "C" stbi_uc* stbi_load_from_memory(stbi_uc const* _buffer, int _len, int* _x, int* _y, int* _comp, int _req_comp); -extern "C" void stbi_image_free(void* _ptr); -extern void lodepng_free(void* _ptr); - -static void exrRelease(void* _ptr) +static void imageReleaseCb(void* _ptr, void* _userData) { - BX_FREE(entry::getAllocator(), _ptr); + BX_UNUSED(_ptr); + bgfx::ImageContainer* imageContainer = (bgfx::ImageContainer*)_userData; + bgfx::imageFree(imageContainer); } bgfx::TextureHandle loadTexture(bx::FileReaderI* _reader, const char* _filePath, uint32_t _flags, uint8_t _skip, bgfx::TextureInfo* _info) { - if (NULL != bx::stristr(_filePath, ".dds") - || NULL != bx::stristr(_filePath, ".pvr") - || NULL != bx::stristr(_filePath, ".ktx") ) - { - const bgfx::Memory* mem = loadMem(_reader, _filePath); - if (NULL != mem) - { - return bgfx::createTexture(mem, _flags, _skip, _info); - } - - bgfx::TextureHandle handle = BGFX_INVALID_HANDLE; - DBG("Failed to load %s.", _filePath); - return handle; - } - + BX_UNUSED(_skip); bgfx::TextureHandle handle = BGFX_INVALID_HANDLE; - bx::AllocatorI* allocator = entry::getAllocator(); - uint32_t size = 0; - void* data = loadMem(_reader, allocator, _filePath, &size); + uint32_t size; + void* data = load(_reader, entry::getAllocator(), _filePath, &size); if (NULL != data) { - bgfx::TextureFormat::Enum format = bgfx::TextureFormat::RGBA8; - uint32_t bpp = 32; - - uint32_t width = 0; - uint32_t height = 0; - - typedef void (*ReleaseFn)(void* _ptr); - ReleaseFn release = stbi_image_free; + bgfx::ImageContainer* imageContainer = bgfx::imageParse(entry::getAllocator(), data, size); - uint8_t* out = NULL; - static uint8_t pngMagic[] = { 0x89, 0x50, 0x4E, 0x47, 0x0d, 0x0a }; - - if (0 == memcmp(data, pngMagic, sizeof(pngMagic) ) ) + if (NULL != imageContainer) { - release = lodepng_free; - - unsigned error; - LodePNGState state; - lodepng_state_init(&state); - state.decoder.color_convert = 0; - error = lodepng_decode(&out, &width, &height, &state, (uint8_t*)data, size); - - if (0 == error) - { - switch (state.info_raw.bitdepth) - { - case 8: - switch (state.info_raw.colortype) - { - case LCT_GREY: - format = bgfx::TextureFormat::R8; - bpp = 8; - break; - - case LCT_GREY_ALPHA: - format = bgfx::TextureFormat::RG8; - bpp = 16; - break; - - case LCT_RGB: - format = bgfx::TextureFormat::RGB8; - bpp = 24; - break; - - case LCT_RGBA: - format = bgfx::TextureFormat::RGBA8; - bpp = 32; - break; - - case LCT_PALETTE: - format = bgfx::TextureFormat::R8; - bpp = 8; - break; - } - break; - - case 16: - switch (state.info_raw.colortype) - { - case LCT_GREY: - for (uint32_t ii = 0, num = width*height; ii < num; ++ii) - { - uint16_t* rgba = (uint16_t*)out + ii*4; - rgba[0] = bx::toHostEndian(rgba[0], false); - } - format = bgfx::TextureFormat::R16; - bpp = 16; - break; - - case LCT_GREY_ALPHA: - for (uint32_t ii = 0, num = width*height; ii < num; ++ii) - { - uint16_t* rgba = (uint16_t*)out + ii*4; - rgba[0] = bx::toHostEndian(rgba[0], false); - rgba[1] = bx::toHostEndian(rgba[1], false); - } - format = bgfx::TextureFormat::R16; - bpp = 16; - break; - - case LCT_RGBA: - for (uint32_t ii = 0, num = width*height; ii < num; ++ii) - { - uint16_t* rgba = (uint16_t*)out + ii*4; - rgba[0] = bx::toHostEndian(rgba[0], false); - rgba[1] = bx::toHostEndian(rgba[1], false); - rgba[2] = bx::toHostEndian(rgba[2], false); - rgba[3] = bx::toHostEndian(rgba[3], false); - } - format = bgfx::TextureFormat::RGBA16; - bpp = 64; - break; - - case LCT_RGB: - case LCT_PALETTE: - break; - } - break; - - default: - break; - } - } + const bgfx::Memory* mem = bgfx::makeRef( + imageContainer->m_data + , imageContainer->m_size + , imageReleaseCb + , imageContainer + ); + unload(data); - lodepng_state_cleanup(&state); - } - else - { - EXRVersion exrVersion; - int result = ParseEXRVersionFromMemory(&exrVersion, (uint8_t*)data, size); - if (TINYEXR_SUCCESS == result) + if (imageContainer->m_cubeMap) { - const char* err = NULL; - EXRHeader exrHeader; - result = ParseEXRHeaderFromMemory(&exrHeader, &exrVersion, (uint8_t*)data, size, &err); - if (TINYEXR_SUCCESS == result) - { - EXRImage exrImage; - InitEXRImage(&exrImage); - - result = LoadEXRImageFromMemory(&exrImage, &exrHeader, (uint8_t*)data, size, &err); - if (TINYEXR_SUCCESS == result) - { - uint8_t idxR = UINT8_MAX; - uint8_t idxG = UINT8_MAX; - uint8_t idxB = UINT8_MAX; - uint8_t idxA = UINT8_MAX; - for (uint8_t ii = 0, num = uint8_t(exrHeader.num_channels); ii < num; ++ii) - { - const EXRChannelInfo& channel = exrHeader.channels[ii]; - if (UINT8_MAX == idxR - && 0 == strcmp(channel.name, "R") ) - { - idxR = ii; - } - else if (UINT8_MAX == idxG - && 0 == strcmp(channel.name, "G") ) - { - idxG = ii; - } - else if (UINT8_MAX == idxB - && 0 == strcmp(channel.name, "B") ) - { - idxB = ii; - } - else if (UINT8_MAX == idxA - && 0 == strcmp(channel.name, "A") ) - { - idxA = ii; - } - } - - if (UINT8_MAX != idxR) - { - const bool asFloat = exrHeader.pixel_types[idxR] == TINYEXR_PIXELTYPE_FLOAT; - - uint32_t srcBpp = 32; - uint32_t dstBpp = asFloat ? 32 : 16; - format = asFloat ? bgfx::TextureFormat::R32F : bgfx::TextureFormat::R16F; - uint32_t stepR = 1; - uint32_t stepG = 0; - uint32_t stepB = 0; - uint32_t stepA = 0; - - if (UINT8_MAX != idxG) - { - srcBpp += 32; - dstBpp = asFloat ? 64 : 32; - format = asFloat ? bgfx::TextureFormat::RG32F : bgfx::TextureFormat::RG16F; - stepG = 1; - } - - if (UINT8_MAX != idxB) - { - srcBpp += 32; - dstBpp = asFloat ? 128 : 64; - format = asFloat ? bgfx::TextureFormat::RGBA32F : bgfx::TextureFormat::RGBA16F; - stepB = 1; - } - - if (UINT8_MAX != idxA) - { - srcBpp += 32; - dstBpp = asFloat ? 128 : 64; - format = asFloat ? bgfx::TextureFormat::RGBA32F : bgfx::TextureFormat::RGBA16F; - stepA = 1; - } - - release = exrRelease; - out = (uint8_t*)BX_ALLOC(allocator, exrImage.width * exrImage.height * dstBpp/8); - - const float zero = 0.0f; - const float* srcR = UINT8_MAX == idxR ? &zero : (const float*)(exrImage.images)[idxR]; - const float* srcG = UINT8_MAX == idxG ? &zero : (const float*)(exrImage.images)[idxG]; - const float* srcB = UINT8_MAX == idxB ? &zero : (const float*)(exrImage.images)[idxB]; - const float* srcA = UINT8_MAX == idxA ? &zero : (const float*)(exrImage.images)[idxA]; - - const uint32_t bytesPerPixel = dstBpp/8; - for (uint32_t ii = 0, num = exrImage.width * exrImage.height; ii < num; ++ii) - { - float rgba[4] = - { - *srcR, - *srcG, - *srcB, - *srcA, - }; - memcpy(&out[ii * bytesPerPixel], rgba, bytesPerPixel); - - srcR += stepR; - srcG += stepG; - srcB += stepB; - srcA += stepA; - } - } - - FreeEXRImage(&exrImage); - } - - FreeEXRHeader(&exrHeader); - } + handle = bgfx::createTextureCube( + uint16_t(imageContainer->m_width) + , 1 < imageContainer->m_numMips + , imageContainer->m_numLayers + , imageContainer->m_format + , _flags + , mem + ); } else { - int comp = 0; - out = stbi_load_from_memory( (uint8_t*)data, size, (int*)&width, (int*)&height, &comp, 4); + handle = bgfx::createTexture2D( + uint16_t(imageContainer->m_width) + , uint16_t(imageContainer->m_height) + , 1 < imageContainer->m_numMips + , imageContainer->m_numLayers + , imageContainer->m_format + , _flags + , mem + ); } - } - - BX_FREE(allocator, data); - - if (NULL != out) - { - handle = bgfx::createTexture2D( - uint16_t(width) - , uint16_t(height) - , false - , 1 - , format - , _flags - , bgfx::copy(out, width*height*bpp/8) - ); - release(out); if (NULL != _info) { bgfx::calcTextureSize( *_info - , uint16_t(width) - , uint16_t(height) + , uint16_t(imageContainer->m_width) + , uint16_t(imageContainer->m_height) , 0 , false , false , 1 - , format + , imageContainer->m_format ); } } } - else - { - DBG("Failed to load %s.", _filePath); - } return handle; } @@ -472,6 +222,14 @@ bgfx::TextureHandle loadTexture(const char* _name, uint32_t _flags, uint8_t _ski return loadTexture(entry::getFileReader(), _name, _flags, _skip, _info); } +bgfx::ImageContainer* imageLoad(const char* _filePath, bgfx::TextureFormat::Enum _dstFormat) +{ + uint32_t size = 0; + void* data = loadMem(entry::getFileReader(), entry::getAllocator(), _filePath, &size); + + return bgfx::imageParse(entry::getAllocator(), data, size, _dstFormat); +} + void calcTangents(void* _vertices, uint16_t _numVertices, bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices) { struct PosTexcoord @@ -487,7 +245,7 @@ void calcTangents(void* _vertices, uint16_t _numVertices, bgfx::VertexDecl _decl }; float* tangents = new float[6*_numVertices]; - memset(tangents, 0, 6*_numVertices*sizeof(float) ); + bx::memSet(tangents, 0, 6*_numVertices*sizeof(float) ); PosTexcoord v0; PosTexcoord v1; diff --git a/3rdparty/bgfx/examples/common/bgfx_utils.h b/3rdparty/bgfx/examples/common/bgfx_utils.h index b6731fc22e9..f948d1bfac2 100644 --- a/3rdparty/bgfx/examples/common/bgfx_utils.h +++ b/3rdparty/bgfx/examples/common/bgfx_utils.h @@ -7,12 +7,27 @@ #define BGFX_UTILS_H_HEADER_GUARD #include +#include "image.h" +/// void* load(const char* _filePath, uint32_t* _size = NULL); + +/// void unload(void* _ptr); + +/// bgfx::ShaderHandle loadShader(const char* _name); + +/// bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName); + +/// bgfx::TextureHandle loadTexture(const char* _name, uint32_t _flags = BGFX_TEXTURE_NONE, uint8_t _skip = 0, bgfx::TextureInfo* _info = NULL); + +/// +bgfx::ImageContainer* imageLoad(const char* _filePath, bgfx::TextureFormat::Enum _dstFormat); + +/// void calcTangents(void* _vertices, uint16_t _numVertices, bgfx::VertexDecl _decl, const uint16_t* _indices, uint32_t _numIndices); /// Returns true if both internal transient index and vertex buffer have @@ -29,6 +44,7 @@ inline bool checkAvailTransientBuffers(uint32_t _numVertices, const bgfx::Vertex ; } +/// struct MeshState { struct Texture @@ -48,15 +64,25 @@ struct MeshState struct Mesh; +/// Mesh* meshLoad(const char* _filePath); + +/// void meshUnload(Mesh* _mesh); +/// MeshState* meshStateCreate(); + +/// void meshStateDestroy(MeshState* _meshState); +/// void meshSubmit(const Mesh* _mesh, uint8_t _id, bgfx::ProgramHandle _program, const float* _mtx, uint64_t _state = BGFX_STATE_MASK); + +/// void meshSubmit(const Mesh* _mesh, const MeshState*const* _state, uint8_t _numPasses, const float* _mtx, uint16_t _numMatrices = 1); +/// struct Args { Args(int _argc, char** _argv); diff --git a/3rdparty/bgfx/examples/common/bounds.cpp b/3rdparty/bgfx/examples/common/bounds.cpp index 6afd5755d0c..0240da2861e 100644 --- a/3rdparty/bgfx/examples/common/bounds.cpp +++ b/3rdparty/bgfx/examples/common/bounds.cpp @@ -9,7 +9,7 @@ void aabbToObb(Obb& _obb, const Aabb& _aabb) { - memset(_obb.m_mtx, 0, sizeof(_obb.m_mtx) ); + bx::memSet(_obb.m_mtx, 0, sizeof(_obb.m_mtx) ); _obb.m_mtx[ 0] = (_aabb.m_max[0] - _aabb.m_min[0]) * 0.5f; _obb.m_mtx[ 5] = (_aabb.m_max[1] - _aabb.m_min[1]) * 0.5f; _obb.m_mtx[10] = (_aabb.m_max[2] - _aabb.m_min[2]) * 0.5f; @@ -91,7 +91,7 @@ void aabbTransformToObb(Obb& _obb, const Aabb& _aabb, const float* _mtx) aabbToObb(_obb, _aabb); float result[16]; bx::mtxMul(result, _obb.m_mtx, _mtx); - memcpy(_obb.m_mtx, result, sizeof(result) ); + bx::memCopy(_obb.m_mtx, result, sizeof(result) ); } void toAabb(Aabb& _aabb, const void* _vertices, uint32_t _numVertices, uint32_t _stride) @@ -252,7 +252,7 @@ void calcObb(Obb& _obb, const void* _vertices, uint32_t _numVertices, uint32_t _ ax += angleStep; } - memcpy(&_obb, &best, sizeof(Obb) ); + bx::memCopy(&_obb, &best, sizeof(Obb) ); } void calcMaxBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride) @@ -282,7 +282,7 @@ void calcMaxBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _num } bx::vec3Move(_sphere.m_center, center); - _sphere.m_radius = sqrtf(maxDistSq); + _sphere.m_radius = bx::fsqrt(maxDistSq); } void calcMinBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride, float _step) diff --git a/3rdparty/bgfx/examples/common/camera.cpp b/3rdparty/bgfx/examples/common/camera.cpp index e721bd2e2fd..a2a1c31dc78 100644 --- a/3rdparty/bgfx/examples/common/camera.cpp +++ b/3rdparty/bgfx/examples/common/camera.cpp @@ -15,32 +15,32 @@ int cmdMove(CmdContext* /*_context*/, void* /*_userData*/, int _argc, char const { if (_argc > 1) { - if (0 == strcmp(_argv[1], "forward") ) + if (0 == bx::strncmp(_argv[1], "forward") ) { cameraSetKeyState(CAMERA_KEY_FORWARD, true); return 0; } - else if (0 == strcmp(_argv[1], "left") ) + else if (0 == bx::strncmp(_argv[1], "left") ) { cameraSetKeyState(CAMERA_KEY_LEFT, true); return 0; } - else if (0 == strcmp(_argv[1], "right") ) + else if (0 == bx::strncmp(_argv[1], "right") ) { cameraSetKeyState(CAMERA_KEY_RIGHT, true); return 0; } - else if (0 == strcmp(_argv[1], "backward") ) + else if (0 == bx::strncmp(_argv[1], "backward") ) { cameraSetKeyState(CAMERA_KEY_BACKWARD, true); return 0; } - else if (0 == strcmp(_argv[1], "up") ) + else if (0 == bx::strncmp(_argv[1], "up") ) { cameraSetKeyState(CAMERA_KEY_UP, true); return 0; } - else if (0 == strcmp(_argv[1], "down") ) + else if (0 == bx::strncmp(_argv[1], "down") ) { cameraSetKeyState(CAMERA_KEY_DOWN, true); return 0; @@ -166,16 +166,16 @@ struct Camera float direction[3] = { - cosf(m_verticalAngle) * sinf(m_horizontalAngle), - sinf(m_verticalAngle), - cosf(m_verticalAngle) * cosf(m_horizontalAngle), + bx::fcos(m_verticalAngle) * bx::fsin(m_horizontalAngle), + bx::fsin(m_verticalAngle), + bx::fcos(m_verticalAngle) * bx::fcos(m_horizontalAngle), }; float right[3] = { - sinf(m_horizontalAngle - bx::piHalf), + bx::fsin(m_horizontalAngle - bx::piHalf), 0, - cosf(m_horizontalAngle - bx::piHalf), + bx::fcos(m_horizontalAngle - bx::piHalf), }; float up[3]; @@ -264,7 +264,7 @@ struct Camera void setPosition(const float* _pos) { - memcpy(m_eye, _pos, sizeof(float)*3); + bx::memCopy(m_eye, _pos, sizeof(float)*3); } void setVerticalAngle(float _verticalAngle) @@ -334,12 +334,12 @@ void cameraGetViewMtx(float* _viewMtx) void cameraGetPosition(float* _pos) { - memcpy(_pos, s_camera->m_eye, 3*sizeof(float) ); + bx::memCopy(_pos, s_camera->m_eye, 3*sizeof(float) ); } void cameraGetAt(float* _at) { - memcpy(_at, s_camera->m_at, 3*sizeof(float) ); + bx::memCopy(_at, s_camera->m_at, 3*sizeof(float) ); } void cameraUpdate(float _deltaTime, const entry::MouseState& _mouseState) diff --git a/3rdparty/bgfx/examples/common/cube_atlas.cpp b/3rdparty/bgfx/examples/common/cube_atlas.cpp index c63f0a022df..481e9781688 100644 --- a/3rdparty/bgfx/examples/common/cube_atlas.cpp +++ b/3rdparty/bgfx/examples/common/cube_atlas.cpp @@ -7,7 +7,6 @@ #include #include // INT_MAX -#include // memset #include #include "cube_atlas.h" @@ -270,7 +269,7 @@ Atlas::Atlas(uint16_t _textureSize, uint16_t _maxRegionsCount) m_regions = new AtlasRegion[_maxRegionsCount]; m_textureBuffer = new uint8_t[ _textureSize * _textureSize * 6 * 4 ]; - memset(m_textureBuffer, 0, _textureSize * _textureSize * 6 * 4); + bx::memSet(m_textureBuffer, 0, _textureSize * _textureSize * 6 * 4); m_textureHandle = bgfx::createTextureCube(_textureSize , false @@ -293,8 +292,8 @@ Atlas::Atlas(uint16_t _textureSize, const uint8_t* _textureBuffer, uint16_t _reg m_regions = new AtlasRegion[_regionCount]; m_textureBuffer = new uint8_t[getTextureBufferSize()]; - memcpy(m_regions, _regionBuffer, _regionCount * sizeof(AtlasRegion) ); - memcpy(m_textureBuffer, _textureBuffer, getTextureBufferSize() ); + bx::memCopy(m_regions, _regionBuffer, _regionCount * sizeof(AtlasRegion) ); + bx::memCopy(m_textureBuffer, _textureBuffer, getTextureBufferSize() ); m_textureHandle = bgfx::createTextureCube(_textureSize , false @@ -409,7 +408,7 @@ void Atlas::updateRegion(const AtlasRegion& _region, const uint8_t* _bitmapBuffe if (0 < size) { const bgfx::Memory* mem = bgfx::alloc(size); - memset(mem->data, 0, mem->size); + bx::memSet(mem->data, 0, mem->size); if (_region.getType() == AtlasRegion::TYPE_BGRA8) { const uint8_t* inLineBuffer = _bitmapBuffer; @@ -417,12 +416,12 @@ void Atlas::updateRegion(const AtlasRegion& _region, const uint8_t* _bitmapBuffe for (int yy = 0; yy < _region.height; ++yy) { - memcpy(outLineBuffer, inLineBuffer, _region.width * 4); + bx::memCopy(outLineBuffer, inLineBuffer, _region.width * 4); inLineBuffer += _region.width * 4; outLineBuffer += m_textureSize * 4; } - memcpy(mem->data, _bitmapBuffer, mem->size); + bx::memCopy(mem->data, _bitmapBuffer, mem->size); } else { @@ -437,7 +436,7 @@ void Atlas::updateRegion(const AtlasRegion& _region, const uint8_t* _bitmapBuffe outLineBuffer[(xx * 4) + layer] = inLineBuffer[xx]; } - memcpy(mem->data + yy * _region.width * 4, outLineBuffer, _region.width * 4); + bx::memCopy(mem->data + yy * _region.width * 4, outLineBuffer, _region.width * 4); inLineBuffer += _region.width; outLineBuffer += m_textureSize * 4; } diff --git a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.cpp b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.cpp index b05156d67d9..7565966ece4 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/debugdraw.cpp +++ b/3rdparty/bgfx/examples/common/debugdraw/debugdraw.cpp @@ -10,7 +10,7 @@ #include "../packrect.h" #include -#include +#include #include #include #include @@ -449,7 +449,7 @@ struct DebugDraw const uint32_t numIndices = numVertices; vertices[id] = BX_ALLOC(m_allocator, numVertices*stride); - memset(vertices[id], 0, numVertices*stride); + bx::memSet(vertices[id], 0, numVertices*stride); genSphere(tess, vertices[id], stride); uint16_t* trilist = (uint16_t*)BX_ALLOC(m_allocator, numIndices*sizeof(uint16_t) ); @@ -467,7 +467,7 @@ struct DebugDraw ); indices[id] = (uint16_t*)BX_ALLOC(m_allocator, (numIndices + numLineListIndices)*sizeof(uint16_t) ); uint16_t* indicesOut = indices[id]; - memcpy(indicesOut, trilist, numIndices*sizeof(uint16_t) ); + bx::memCopy(indicesOut, trilist, numIndices*sizeof(uint16_t) ); bgfx::topologyConvert(bgfx::TopologyConvert::TriListToLineList , &indicesOut[numIndices] @@ -503,7 +503,7 @@ struct DebugDraw vertices[id] = BX_ALLOC(m_allocator, numVertices*stride); indices[id] = (uint16_t*)BX_ALLOC(m_allocator, (numIndices + numLineListIndices)*sizeof(uint16_t) ); - memset(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); + bx::memSet(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); DebugShapeVertex* vertex = (DebugShapeVertex*)vertices[id]; uint16_t* index = indices[id]; @@ -564,7 +564,7 @@ struct DebugDraw vertices[id] = BX_ALLOC(m_allocator, numVertices*stride); indices[id] = (uint16_t*)BX_ALLOC(m_allocator, (numIndices + numLineListIndices)*sizeof(uint16_t) ); - memset(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); + bx::memSet(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); DebugShapeVertex* vertex = (DebugShapeVertex*)vertices[id]; uint16_t* index = indices[id]; @@ -634,7 +634,7 @@ struct DebugDraw vertices[id] = BX_ALLOC(m_allocator, numVertices*stride); indices[id] = (uint16_t*)BX_ALLOC(m_allocator, (numIndices + numLineListIndices)*sizeof(uint16_t) ); - memset(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); + bx::memSet(indices[id], 0, (numIndices + numLineListIndices)*sizeof(uint16_t) ); DebugShapeVertex* vertex = (DebugShapeVertex*)vertices[id]; uint16_t* index = indices[id]; @@ -706,12 +706,12 @@ struct DebugDraw for (uint32_t mesh = Mesh::Sphere0; mesh < Mesh::Cube; ++mesh) { Mesh::Enum id = Mesh::Enum(mesh); - memcpy(&vb->data[m_mesh[id].m_startVertex * stride] + bx::memCopy(&vb->data[m_mesh[id].m_startVertex * stride] , vertices[id] , m_mesh[id].m_numVertices*stride ); - memcpy(&ib->data[m_mesh[id].m_startIndex[0] * sizeof(uint16_t)] + bx::memCopy(&ib->data[m_mesh[id].m_startIndex[0] * sizeof(uint16_t)] , indices[id] , (m_mesh[id].m_numIndices[0]+m_mesh[id].m_numIndices[1])*sizeof(uint16_t) ); @@ -720,12 +720,12 @@ struct DebugDraw BX_FREE(m_allocator, indices[id]); } - memcpy(&vb->data[m_mesh[Mesh::Cube].m_startVertex * stride] + bx::memCopy(&vb->data[m_mesh[Mesh::Cube].m_startVertex * stride] , s_cubeVertices , sizeof(s_cubeVertices) ); - memcpy(&ib->data[m_mesh[Mesh::Cube].m_startIndex[0] * sizeof(uint16_t)] + bx::memCopy(&ib->data[m_mesh[Mesh::Cube].m_startIndex[0] * sizeof(uint16_t)] , s_cubeIndices , sizeof(s_cubeIndices) ); @@ -849,7 +849,7 @@ struct DebugDraw bgfx::Transform transform; m_mtx = bgfx::allocTransform(&transform, 1); - memcpy(transform.data, _mtx, 64); + bx::memCopy(transform.data, _mtx, 64); } void setTranslate(float _x, float _y, float _z) @@ -992,14 +992,14 @@ struct DebugDraw flush(); - memcpy(&m_cache[0], &m_cache[vertexPos], sizeof(DebugVertex) ); + bx::memCopy(&m_cache[0], &m_cache[vertexPos], sizeof(DebugVertex) ); if (vertexPos == pos) { m_pos = 1; } else { - memcpy(&m_cache[1], &m_cache[pos - 1], sizeof(DebugVertex) ); + bx::memCopy(&m_cache[1], &m_cache[pos - 1], sizeof(DebugVertex) ); m_pos = 2; } @@ -1466,7 +1466,7 @@ struct DebugDraw float mtx[2][16]; bx::mtxFromNormal(mtx[0], normal, _radius, _from, attrib.m_spin); - memcpy(mtx[1], mtx[0], 64); + bx::memCopy(mtx[1], mtx[0], 64); mtx[1][12] = _to[0]; mtx[1][13] = _to[1]; mtx[1][14] = _to[2]; @@ -1496,7 +1496,7 @@ struct DebugDraw float mtx[2][16]; bx::mtxFromNormal(mtx[0], normal, _radius, _from, attrib.m_spin); - memcpy(mtx[1], mtx[0], 64); + bx::memCopy(mtx[1], mtx[0], 64); mtx[1][12] = _to[0]; mtx[1][13] = _to[1]; mtx[1][14] = _to[2]; @@ -1843,11 +1843,11 @@ private: { bgfx::TransientVertexBuffer tvb; bgfx::allocTransientVertexBuffer(&tvb, m_pos, DebugVertex::ms_decl); - memcpy(tvb.data, m_cache, m_pos * DebugVertex::ms_decl.m_stride); + bx::memCopy(tvb.data, m_cache, m_pos * DebugVertex::ms_decl.m_stride); bgfx::TransientIndexBuffer tib; bgfx::allocTransientIndexBuffer(&tib, m_indexPos); - memcpy(tib.data, m_indices, m_indexPos * sizeof(uint16_t) ); + bx::memCopy(tib.data, m_indices, m_indexPos * sizeof(uint16_t) ); const Attrib& attrib = m_attrib[m_stack]; @@ -1881,7 +1881,7 @@ private: { bgfx::TransientVertexBuffer tvb; bgfx::allocTransientVertexBuffer(&tvb, m_posQuad, DebugUvVertex::ms_decl); - memcpy(tvb.data, m_cacheQuad, m_posQuad * DebugUvVertex::ms_decl.m_stride); + bx::memCopy(tvb.data, m_cacheQuad, m_posQuad * DebugUvVertex::ms_decl.m_stride); bgfx::TransientIndexBuffer tib; bgfx::allocTransientIndexBuffer(&tib, numIndices); diff --git a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill.bin.h b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill.bin.h index 951a39fefd2..59db5b668de 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill.bin.h @@ -8,6 +8,142 @@ static const uint8_t fs_debugdraw_fill_glsl[104] = 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5b, // olor = u_params[ 0x33, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // 3];.}... }; +static const uint8_t fs_debugdraw_fill_spv[2128] = +{ + 0x46, 0x53, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, // FSH........u_par + 0x61, 0x6d, 0x73, 0x12, 0x04, 0x00, 0x00, 0x04, 0x00, 0x34, 0x08, 0x03, 0x02, 0x23, 0x07, 0x00, // ams......4...#.. + 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x2e, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, // ........a....... + 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, // ...............G + 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, // LSL.std.450..... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x04, // ................ + 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xd1, // .......main..... + 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, // ................ + 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, // .......main..... + 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, // ...5...vec4_spla + 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, // t(f1;.........._ + 0x78, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x4d, 0x0f, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, // x......M...@main + 0x28, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x2c, 0x41, 0x00, 0x00, 0x67, // (vf4;......,A..g + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, // l_FragData_0_... + 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, // .......bgfx_Void + 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9d, 0x5e, 0x00, 0x00, 0x70, // Frag........^..p + 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x24, // aram...........$ + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x00, // Global.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, // ...u_viewRect... + 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x02, // wTexel.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, // ...u_view....... + 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, // .......u_invView + 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, // ...............u + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x05, // _proj........... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, // ...u_invProj.... + 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x07, // wProj........... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // ...u_invViewProj + 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, // ...............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x09, // _model.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, // ...u_modelView.. + 0x00, 0x07, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // ...........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, // elViewProj...... + 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, // .......u_alphaRe + 0x66, 0x34, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x75, // f4.............u + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, // _params........B + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x3d, 0x51, 0x00, 0x00, 0x67, // ...........=Q..g + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, // l_FragData_0_... + 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, // .......param.... + 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, // .......gl_FragDa + 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x7d, 0x01, 0x00, 0x00, 0x06, // ta_0_..G...}.... + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x04, 0x00, 0x00, 0x06, // ...@...G........ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x00, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#.......H.... + 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // .......#.......H + 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, // ...........#... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x03, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x03, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#...`...H.... + 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, // ...........#.... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x05, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x05, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#.......H.... + 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, // ...........#... + 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x07, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x07, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#...`...H.... + 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, // ...........#.... + 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x09, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x09, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#.......H.... + 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, // ...........#.... + 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x0b, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd2, // ...#... ...H.... + 0x01, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x47, // .......#...0...G + 0x00, 0x03, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, // ...........G...B + 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, // ...".......G.... + 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, // ................ + 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, // ...!............ + 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, // ....... ... .... + 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, // ................ + 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, // ...........!.... + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, // ........... .... + 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xf5, // ...........!.... + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, // ...........+.... + 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, // ...............e + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, // ................ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, // ... .......+.... + 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x7d, // ...j... .......} + 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, // ...e...j...+.... + 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xb2, // ................ + 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0xd2, // ................ + 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // ...........e...e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // ...e...e...e...e + 0x00, 0x00, 0x00, 0x7d, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, // ...}...e...e.... + 0x00, 0x00, 0x00, 0xb2, 0x04, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x4f, 0x04, 0x00, 0x00, 0x02, // ....... ...O.... + 0x00, 0x00, 0x00, 0xd2, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x4f, 0x04, 0x00, 0x00, 0x42, // .......;...O...B + 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2f, // .......+......./ + 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x14, // .......+........ + 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x02, // ....... ........ + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, // ....... ........ + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, // .......;........ + 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, // .......6........ + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2d, // ...............- + 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, // a..;............ + 0x00, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0xe7, 0x49, 0x00, 0x00, 0x4d, // ...9........I..M + 0x0f, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3d, // .......=.......= + 0x51, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x3d, // Q......>.......= + 0x51, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, // Q......8...6.... + 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, // ...5...........7 + 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x88, // ................ + 0x2e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0xdd, // ...=.......dW... + 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xdd, // ...=........N... + 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0xdd, // ...=.......I9... + 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xdd, // ...=........9... + 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x64, // ...P........*..d + 0x57, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xfe, // W...N..I9...9... + 0x00, 0x02, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, // ....*..8...6.... + 0x00, 0x00, 0x00, 0x4d, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00, 0x37, // ...M...........7 + 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2c, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x31, // .......,A......1 + 0x27, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x9d, 0x5e, 0x00, 0x00, 0x07, // '..;........^... + 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9d, 0x5e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, // ...>....^......9 + 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x9d, // ...........5.... + 0x5e, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x0a, 0x5a, 0x00, 0x00, 0x42, // ^..A........Z..B + 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, // .../.......=.... + 0x00, 0x00, 0x00, 0x6b, 0x2e, 0x00, 0x00, 0x0a, 0x5a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2c, // ...k....Z..>..., + 0x41, 0x00, 0x00, 0x6b, 0x2e, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // A..k.......8.... +}; static const uint8_t fs_debugdraw_fill_dx9[180] = { 0x46, 0x53, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, // FSH........u_par diff --git a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h index 2517a00531e..83c8f5612f2 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_lit.bin.h @@ -33,6 +33,261 @@ static const uint8_t fs_debugdraw_fill_lit_glsl[510] = 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, // gl_FragColor = 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // tmpvar_3;.}... }; +static const uint8_t fs_debugdraw_fill_lit_spv[4024] = +{ + 0x46, 0x53, 0x48, 0x04, 0x0f, 0xc8, 0x56, 0x5f, 0x01, 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, // FSH...V_...u_par + 0x61, 0x6d, 0x73, 0x12, 0x04, 0x00, 0x00, 0x04, 0x00, 0x9c, 0x0f, 0x03, 0x02, 0x23, 0x07, 0x00, // ams..........#.. + 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x6f, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, // .......ob....... + 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, // ...............G + 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, // LSL.std.450..... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x04, // ................ + 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xd4, // .......main..... + 0x0f, 0x00, 0x00, 0x6f, 0x12, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x1f, // ...o............ + 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, // ...............m + 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x6d, // ain........0...m + 0x69, 0x78, 0x28, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, // ix(vf3;vf3;vf3;. + 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x5f, 0x61, 0x00, 0x00, 0x05, // ..........._a... + 0x00, 0x03, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x5f, 0x62, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xd9, // ......._b....... + 0x0e, 0x00, 0x00, 0x5f, 0x74, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x01, 0x14, 0x00, 0x00, 0x76, // ..._t..........v + 0x65, 0x63, 0x33, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, // ec3_splat(f1;... + 0x00, 0x03, 0x00, 0xe5, 0x41, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, // ....A.._x......5 + 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, // ...vec4_splat(f1 + 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, // ;.........._x... + 0x00, 0x07, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x33, // .......@main(vf3 + 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x6e, // ;vf3;vf4;......n + 0x62, 0x00, 0x00, 0x76, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x8f, // b..v_view....... + 0x41, 0x00, 0x00, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x05, 0x00, 0x06, 0x00, 0x8c, // A..v_world...... + 0x4a, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, // J..gl_FragData_0 + 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, // _..........bgfx_ + 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9d, // VoidFrag........ + 0x5d, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x83, // ]..param........ + 0x0f, 0x00, 0x00, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x58, // ...normal......X + 0x0d, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x44, 0x69, 0x72, 0x00, 0x05, 0x00, 0x04, 0x00, 0x67, // ...viewDir.....g + 0x15, 0x00, 0x00, 0x6e, 0x64, 0x6f, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xe2, // ...ndotl........ + 0x04, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, // ...$Global...... + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, // .......u_viewRec + 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, // t..............u + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xe2, // _viewTexel...... + 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, // .......u_view... + 0x00, 0x06, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, // ...........u_inv + 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x04, // View............ + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, // ...u_proj....... + 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, // .......u_invProj + 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, // ...............u + 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xe2, // _viewProj....... + 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, // .......u_invView + 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x08, // Proj............ + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, // ...u_model...... + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, // .......u_modelVi + 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, // ew.............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, // _modelViewProj.. + 0x00, 0x06, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, // ...........u_alp + 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0c, // haRef4.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, 0x00, 0x00, 0x05, // ...u_params..... + 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x96, // ...B............ + 0x0e, 0x00, 0x00, 0x64, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd4, // ...diffuse...... + 0x56, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xbe, // V..param........ + 0x39, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xf7, // 9..param........ + 0x39, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x0c, // 9..param........ + 0x0a, 0x00, 0x00, 0x73, 0x70, 0x65, 0x63, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x91, // ...spec......... + 0x37, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xcb, // 7..param........ + 0x41, 0x00, 0x00, 0x76, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd4, // A..v_view....... + 0x0f, 0x00, 0x00, 0x76, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2c, // ...v_view......, + 0x3f, 0x00, 0x00, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x05, 0x00, 0x04, 0x00, 0x6f, // ?..v_world.....o + 0x12, 0x00, 0x00, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, // ...v_world...... + 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, // ...gl_FragData_0 + 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, // _.......G..param + 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, // ........U..param + 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, // ...........param + 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, // ...........gl_Fr + 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, // agData_0_..G...B + 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xfa, // .......@...G.... + 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, // .......#.......H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, // ...........#.... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, // ...H............ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x02, // ... ...H........ + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, // .......#...`...H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, // ................ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, // ...H............ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x04, // .......H........ + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, // .......#.......H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, // ................ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, // ...H............ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x06, // ... ...H........ + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, // .......#...`...H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, // ................ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, // ...H............ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x08, // .......H........ + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, // .......#.......H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, // ................ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, // ...H............ + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0a, // .......H........ + 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xe2, // ...........H.... + 0x04, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x48, // .......#... ...H + 0x00, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, // ...........#...0 + 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, // ...G...........G + 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, // ...B...".......G + 0x00, 0x04, 0x00, 0xd4, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, // ...............G + 0x00, 0x04, 0x00, 0x6f, 0x12, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, // ...o...........G + 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, // ................ + 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, // .......!........ + 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, // ........... .... + 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x21, // ...............! + 0x00, 0x06, 0x00, 0x75, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, // ...u............ + 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, // ....... ........ + 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xe5, 0x00, 0x00, 0x00, 0x18, // .......!........ + 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, // .......!........ + 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, // ....... ........ + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x08, // .......!...n.... + 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, // ...............+ + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, // ................ + 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, // ...e............ + 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, // ....... .......+ + 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, // .......j... .... + 0x00, 0x04, 0x00, 0x42, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x2b, // ...B...e...j...+ + 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, // ................ + 0x00, 0x04, 0x00, 0xfa, 0x07, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, 0x1e, // ................ + 0x00, 0x0f, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, // ...............e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // ...e...e...e...e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x42, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // ...e...B...e...e + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa, 0x07, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x5f, // ........... ..._ + 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x5f, // ...........;..._ + 0x07, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, // ...B............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, // ... .......+.... + 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, // .../.......+.... + 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, // ........... .... + 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, // ...........+.... + 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, // ...........+.... + 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, // ...........+.... + 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0c, // ..........?+.... + 0x00, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, // ...........+.... + 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, // ........... .... + 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, // ........... .... + 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, // ...........;.... + 0x02, 0x00, 0x00, 0xd4, 0x0f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, // ...........;.... + 0x02, 0x00, 0x00, 0x6f, 0x12, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, // ...o....... .... + 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, // ...........;.... + 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, // ...........6.... + 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, // ................ + 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xc9, // ...Sa..;........ + 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xab, // G......;........ + 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, // U......;........ + 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xcb, // .......=........ + 0x41, 0x00, 0x00, 0xd4, 0x0f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, // A......=......., + 0x3f, 0x00, 0x00, 0x6f, 0x12, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xcb, // ?..o...>....G... + 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, // A..>....U..,?..9 + 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0xd1, 0x10, 0x00, 0x00, 0xc9, // ........&....... + 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, // G...U......=.... + 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, // ...........>.... + 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, // ...........8...6 + 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, // .......0.......u + 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x37, // ...7...........7 + 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, // ...........7.... + 0x02, 0x00, 0x00, 0xd9, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x9a, 0x54, 0x00, 0x00, 0x3d, // ............T..= + 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x75, 0x1e, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x3d, // .......u.......= + 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8b, 0x43, 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x3d, // ........C......= + 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0xd9, 0x0e, 0x00, 0x00, 0x0c, // ........B....... + 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x1a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, // ................ + 0x00, 0x00, 0x00, 0x75, 0x1e, 0x00, 0x00, 0x8b, 0x43, 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0xfe, // ...u....C...B... + 0x00, 0x02, 0x00, 0x05, 0x1a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x18, // .......8...6.... + 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe5, 0x00, 0x00, 0x00, 0x37, // ...............7 + 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xe5, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x73, // ........A......s + 0x1d, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6a, 0x62, 0x00, 0x00, 0xe5, // ...=.......jb... + 0x41, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x5b, 0x00, 0x00, 0xe5, // A..=........[... + 0x41, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x29, 0x2b, 0x00, 0x00, 0xe5, // A..=.......)+... + 0x41, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x9b, 0x19, 0x00, 0x00, 0x6a, // A..P...........j + 0x62, 0x00, 0x00, 0x18, 0x5b, 0x00, 0x00, 0x29, 0x2b, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x9b, // b...[..)+....... + 0x19, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, // ...8...6.......5 + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, // ...........7.... + 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x5f, 0x00, 0x00, 0x3d, // ............_..= + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, // ........[......= + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x25, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, // .......%S......= + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc5, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, // ........=......= + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd8, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, // ........=......P + 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x56, 0x5b, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x25, // .......V[...[..% + 0x53, 0x00, 0x00, 0xc5, 0x3d, 0x00, 0x00, 0xd8, 0x3d, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x56, // S...=...=......V + 0x5b, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0xd1, // [..8...6........ + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, // .......n...7.... + 0x02, 0x00, 0x00, 0x6e, 0x62, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x8f, // ...nb..7........ + 0x41, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x8c, 0x4a, 0x00, 0x00, 0xf8, // A..7........J... + 0x00, 0x02, 0x00, 0xc0, 0x53, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x9d, // ....S..;........ + 0x5d, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xd4, // ]......;........ + 0x56, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xbe, // V......;........ + 0x39, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xf7, // 9......;........ + 0x39, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x91, // 9......;........ + 0x37, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9d, 0x5d, 0x00, 0x00, 0x0c, // 7......>....]... + 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, // ...9...........5 + 0x13, 0x00, 0x00, 0x9d, 0x5d, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xa5, // ....]..=........ + 0x29, 0x00, 0x00, 0x8f, 0x41, 0x00, 0x00, 0xcf, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xeb, // )...A........... + 0x21, 0x00, 0x00, 0xa5, 0x29, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xc9, // !...)..=........ + 0x1f, 0x00, 0x00, 0x8f, 0x41, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xf9, // ....A........... + 0x2f, 0x00, 0x00, 0xc9, 0x1f, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd5, // /............... + 0x44, 0x00, 0x00, 0xf9, 0x2f, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x18, 0x00, 0x00, 0x00, 0x62, // D.../..........b + 0x5a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xeb, 0x21, 0x00, 0x00, 0xd5, // Z......D....!... + 0x44, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x83, 0x0f, 0x00, 0x00, 0x01, // D............... + 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x62, 0x5a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, // ...E...bZ..=.... + 0x00, 0x00, 0x00, 0xf4, 0x1e, 0x00, 0x00, 0x6e, 0x62, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x18, // .......nb....... + 0x00, 0x00, 0x00, 0xe7, 0x2b, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0xf4, // ....+......E.... + 0x1e, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x58, 0x0d, 0x00, 0x00, 0xe7, // ...........X.... + 0x2b, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x83, 0x60, 0x00, 0x00, 0x42, // +..A........`..B + 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, // .../.......=.... + 0x00, 0x00, 0x00, 0xb5, 0x2a, 0x00, 0x00, 0x83, 0x60, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, // ....*...`..O.... + 0x00, 0x00, 0x00, 0x7c, 0x4a, 0x00, 0x00, 0xb5, 0x2a, 0x00, 0x00, 0xb5, 0x2a, 0x00, 0x00, 0x00, // ...|J...*...*... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x67, 0x15, 0x00, 0x00, 0x83, 0x0f, 0x00, 0x00, 0x7c, 0x4a, 0x00, 0x00, 0x85, // ...g.......|J... + 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5e, 0x5e, 0x00, 0x00, 0x67, 0x15, 0x00, 0x00, 0xfc, // .......^^..g.... + 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x97, 0x19, 0x00, 0x00, 0x5e, // ...............^ + 0x5e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1e, // ^......P........ + 0x54, 0x00, 0x00, 0x97, 0x19, 0x00, 0x00, 0x97, 0x19, 0x00, 0x00, 0x97, 0x19, 0x00, 0x00, 0x41, // T..............A + 0x00, 0x06, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x44, 0x3d, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, // .......D=..B.../ + 0x0a, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfb, // .......=........ + 0x1a, 0x00, 0x00, 0x44, 0x3d, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0f, // ...D=..O........ + 0x35, 0x00, 0x00, 0xfb, 0x1a, 0x00, 0x00, 0xfb, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // 5............... + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd4, 0x56, 0x00, 0x00, 0x0f, // .......>....V... + 0x35, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xc3, 0x49, 0x00, 0x00, 0x42, // 5..A........I..B + 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, // .../.......=.... + 0x00, 0x00, 0x00, 0x37, 0x5f, 0x00, 0x00, 0xc3, 0x49, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, // ...7_...I..O.... + 0x00, 0x00, 0x00, 0xd6, 0x34, 0x00, 0x00, 0x37, 0x5f, 0x00, 0x00, 0x37, 0x5f, 0x00, 0x00, 0x00, // ....4..7_..7_... + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbe, // ...........>.... + 0x39, 0x00, 0x00, 0xd6, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xf7, 0x39, 0x00, 0x00, 0x1e, // 9...4..>....9... + 0x54, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8b, 0x56, 0x00, 0x00, 0x30, // T..9........V..0 + 0x0c, 0x00, 0x00, 0xd4, 0x56, 0x00, 0x00, 0xbe, 0x39, 0x00, 0x00, 0xf7, 0x39, 0x00, 0x00, 0x41, // ....V...9...9..A + 0x00, 0x06, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x20, 0x58, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, // ....... X..B.../ + 0x0a, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x58, // .......=.......X + 0x61, 0x00, 0x00, 0x20, 0x58, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5a, // a.. X..O.......Z + 0x4f, 0x00, 0x00, 0x58, 0x61, 0x00, 0x00, 0x58, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // O..Xa..Xa....... + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x96, // ................ + 0x0e, 0x00, 0x00, 0x8b, 0x56, 0x00, 0x00, 0x5a, 0x4f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x91, // ....V..ZO..>.... + 0x37, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, // 7......9........ + 0x4e, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x91, 0x37, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x18, // N.......7....... + 0x00, 0x00, 0x00, 0x3b, 0x2f, 0x00, 0x00, 0x96, 0x0e, 0x00, 0x00, 0x19, 0x4e, 0x00, 0x00, 0x41, // ...;/.......N..A + 0x00, 0x07, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x84, 0x3a, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, // ........:..B.../ + 0x0a, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, // ...........=.... + 0x00, 0x00, 0x00, 0xaf, 0x2a, 0x00, 0x00, 0x84, 0x3a, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, // ....*...:..Q.... + 0x00, 0x00, 0x00, 0xe5, 0x33, 0x00, 0x00, 0x3b, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, // ....3..;/......Q + 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xde, 0x43, 0x00, 0x00, 0x3b, 0x2f, 0x00, 0x00, 0x01, // ........C..;/... + 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc5, 0x4f, 0x00, 0x00, 0x3b, // ...Q........O..; + 0x2f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9e, // /......P........ + 0x3f, 0x00, 0x00, 0xe5, 0x33, 0x00, 0x00, 0xde, 0x43, 0x00, 0x00, 0xc5, 0x4f, 0x00, 0x00, 0xaf, // ?...3...C...O... + 0x2a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x8c, 0x4a, 0x00, 0x00, 0x9e, 0x3f, 0x00, 0x00, 0xfd, // *..>....J...?... + 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ...8.... +}; static const uint8_t fs_debugdraw_fill_lit_dx9[400] = { 0x46, 0x53, 0x48, 0x04, 0x0f, 0xc8, 0x56, 0x5f, 0x01, 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, // FSH...V_...u_par diff --git a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h index 61e9feeee0b..edbde9a3989 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_fill_texture.bin.h @@ -17,6 +17,209 @@ static const uint8_t fs_debugdraw_fill_texture_glsl[253] = 0x3d, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x2a, 0x20, 0x76, 0x5f, // = (tmpvar_1 * v_ 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // color0);.}... }; +static const uint8_t fs_debugdraw_fill_texture_spv[3193] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x6c, 0x0c, 0x03, 0x02, 0x23, 0x07, // FSH.......l...#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........Ta...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // main........a... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x00, 0x00, 0x00, // BgfxSampler2D... + 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....a.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // mpler.......a... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0e, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, // ure2D(struct-Bgf + 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, // xSampler2D-p1-t2 + 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 11;vf2;.....'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._coord...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf2;vf4;...... + 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // B$..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....x ..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0......A..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ragData_0_...... + 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, // C...s_texColor.. + 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, // orSampler....... + 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ....s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, // xture........... + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, // bgfx_VoidFrag... + 0x05, 0x00, 0x04, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....U..param... + 0x05, 0x00, 0x04, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....K..param... + 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // .....A..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // ........w...v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x03, 0x3c, 0x00, 0x00, // lor0.........<.. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, // v_texcoord0..... + 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // t...v_texcoord0. + 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, // ata_0_.......G.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, // param........U.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, // param........... + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, // param........... + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, // ........$Global. + 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, // ewRect.......... + 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, // ....u_viewTexel. + 0x06, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ew.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // u_invView....... + 0x16, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ........u_proj.. + 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, // vProj........... + 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ....u_viewProj.. + 0x06, 0x00, 0x07, 0x00, 0x16, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // vViewProj....... + 0x16, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, // ........u_model. + 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x16, 0x06, 0x00, 0x00, // delView......... + 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // ....u_modelViewP + 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x16, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // roj............. + 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, // u_alphaRef4.G... + 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // w...........G... + 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // t...........G... + 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ............G... + 0xcc, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ........@...H... + 0x16, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, // #... ...H....... + 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, // ........#...`... + 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, // #.......H....... + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, // #... ...H....... + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, // ........#...`... + 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, // #.......H....... + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x16, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x16, 0x06, 0x00, 0x00, // #.......H....... + 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x16, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, // ........#... ... + 0x47, 0x00, 0x03, 0x00, 0x16, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, // G............... + 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!........... + 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, // ............a... + 0xfc, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // ....a........... + 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xc2, 0x03, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, // ............!... + 0x69, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, // i............... + 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....;.......C... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ...y....... + 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ....;...y....... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x96, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, // ....;........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ....+........... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......w....... + 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......t....... + 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ;............... + 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....e........... + 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // +.......j... ... + 0x1c, 0x00, 0x04, 0x00, 0xcc, 0x0a, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ........e...j... + 0x1e, 0x00, 0x0e, 0x00, 0x16, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xcc, 0x0a, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e.......e... + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // e.......6....... + 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // ................ + 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // Sa..;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, // ....;........U.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, // ....=.......!C.. + 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // ....=........3.. + 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, // ....P...a.... .. + 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, // !C...3..>...C... + 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // . ..=........A.. + 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // w...=........<.. + 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // t...>....G...A.. + 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, // >....U...<..9... + 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // .....&.......G.. + 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .U......=....... + 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........>....... + 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ........8...6... + 0x1d, 0x00, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x03, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......'...7... + 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xcd, 0x5b, 0x00, 0x00, // .............[.. + 0x41, 0x00, 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A.......i$..'... + 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, // ....=........1.. + 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, // i$..A...y...TD.. + 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // '.......=....... + 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, // .V..TD..V....... + 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .B...1...V..=... + 0x13, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, // ....6.......W... + 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, // .....Q...B..6... + 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....Q..8...6... + 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, // ....5........... + 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, // .>..=........S.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, // ....=.......]J.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ....=........4.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // ....=........5.. + 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3f, 0x3a, 0x00, 0x00, // ....P.......?:.. + 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // .S..]J...4...5.. + 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ....?:..8...6... + 0x08, 0x00, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, // ............i... + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......B$..7... + 0x90, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....x ..7....... + 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .A..........;... + 0x8a, 0x02, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....U......;... + 0x90, 0x02, 0x00, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....K......>... + 0x0e, 0x55, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .U......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5....U..=... + 0x13, 0x00, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....HQ..x ..>... + 0xdf, 0x4b, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, // .K..HQ..9....... + 0x45, 0x5f, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0xdf, 0x4b, 0x00, 0x00, // E_......C....K.. + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xac, 0x21, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // =........!..B$.. + 0x85, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x73, 0x2b, 0x00, 0x00, 0x45, 0x5f, 0x00, 0x00, // ........s+..E_.. + 0xac, 0x21, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x73, 0x2b, 0x00, 0x00, // .!..>....A..s+.. + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ....8.... +}; static const uint8_t fs_debugdraw_fill_texture_dx9[238] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -64,9 +267,9 @@ static const uint8_t fs_debugdraw_fill_texture_dx11[401] = 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .F.......>...... 0x00, // . }; -static const uint8_t fs_debugdraw_fill_texture_mtl[660] = +static const uint8_t fs_debugdraw_fill_texture_mtl[590] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x85, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH...........us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH.......?...us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -74,40 +277,35 @@ static const uint8_t fs_debugdraw_fill_texture_mtl[660] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x76, 0x5f, 0x74, // r0;. float2 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, // texture2d - 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x74, 0x65, // s_texColor [[te - 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, // xture(0)]], samp - 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, // ler _mtlsmp_s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // xColor [[sampler - 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // (0)]]).{. xlatM - 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, // tlShaderOutput _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, // mtl_o;. half4 t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_1 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, // mpvar_1 = half4( - 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // s_texColor.sampl - 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // e(_mtlsmp_s_texC - 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, // olor, (float2)(_ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // mtl_i.v_texcoord - 0x30, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, // 0)));. _mtl_o.g - 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x28, // l_FragColor = (( - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x28, // half4)((float4)( - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // tmpvar_1) * _mtl - 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, // _i.v_color0));. - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, // return _mtl_o;. - 0x7d, 0x0a, 0x0a, 0x00, // }... + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texture2d s_texColor [[t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // exColor [[sample + 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, // r(0)]]).{. xlat + 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, // _mtl_o;. _mtl_o + 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, // .gl_FragColor = + 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // (s_texColor.samp + 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, // Color, (float2)( + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor + 0x64, 0x30, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, // d0)) * _mtl_i.v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // color0);. retur + 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // n _mtl_o;.}... }; extern const uint8_t* fs_debugdraw_fill_texture_pssl; extern const uint32_t fs_debugdraw_fill_texture_pssl_size; diff --git a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines.bin.h b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines.bin.h index 642c8b08c16..75233cfde3b 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines.bin.h @@ -7,6 +7,139 @@ static const uint8_t fs_debugdraw_lines_glsl[89] = 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // ragColor = v_col 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // or0;.}... }; +static const uint8_t fs_debugdraw_lines_spv[2065] = +{ + 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x04, 0x08, 0x03, 0x02, 0x23, 0x07, // FSH....I......#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x7a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........za...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, // w............... + 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, // ............main + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, // ........5...vec4 + 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // _splat(f1;...... + 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xff, 0x0f, 0x00, 0x00, // ...._x.......... + 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // @main(vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....O0..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // .........%..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ragData_0_...... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g.......,N..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // m........@..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_color0........ + 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // 0_.......G..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // m...........para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // m...........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc7, 0x02, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....$Global..... + 0xc7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, // ........u_viewRe + 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ct.............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, // u_viewTexel..... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, // ........u_view.. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // vView........... + 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_proj...... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, // ........u_invPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, // u_viewProj...... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // wProj........... + 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_model..... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // iew............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // u_modelViewProj. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, // ............u_al + 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, // phaRef4.G...w... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xf0, 0x06, 0x00, 0x00, // ........G....... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ....@...H....... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#... ...G... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // !............... + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // .... ... ....... + 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0x3d, 0x0b, 0x00, 0x00, // ........!...=... + 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....w....... ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, // ....e...j....... + 0xc7, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e.......e...e... + 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ....6........... + 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, // ............Sa.. + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........G...... + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // =........@..w... + 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, // >....G...@..9... + 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, // ....ya.......G.. + 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....=........... + 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....>........... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....8...6....... + 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 5...........7... + 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x88, 0x2e, 0x00, 0x00, // ................ + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......dW...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........N...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......I9...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........9...... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, // P........*..dW.. + 0xa9, 0x4e, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, // .N..I9...9...... + 0xb0, 0x2a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // .*..8...6....... + 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ........=...7... + 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....O0..7....... + 0xa2, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xee, 0x5f, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .%......._..;... + 0x8a, 0x02, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....,N......>... + 0x2c, 0x4e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ,N......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5...,N..=... + 0x1d, 0x00, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....X[..O0..>... + 0xa2, 0x25, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // .%..X[......8... + 0x00, // . +}; static const uint8_t fs_debugdraw_lines_dx9[129] = { 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x74, 0x00, 0x00, 0x03, 0xff, 0xff, // FSH....I..t..... diff --git a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h index 2f8f7109529..9d8ff47c6bf 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/fs_debugdraw_lines_stipple.bin.h @@ -16,6 +16,183 @@ static const uint8_t fs_debugdraw_lines_stipple_glsl[235] = 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, // _FragColor = v_c 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // olor0;.}... }; +static const uint8_t fs_debugdraw_lines_stipple_spv[2773] = +{ + 0x46, 0x53, 0x48, 0x04, 0xe7, 0x1a, 0x5a, 0xef, 0x00, 0x00, 0xc8, 0x0a, 0x03, 0x02, 0x23, 0x07, // FSH...Z.......#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0xf4, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........a...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0xf9, 0x15, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w............... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x13, 0x00, 0x00, // main........,... + 0x6d, 0x6f, 0x64, 0x28, 0x66, 0x31, 0x3b, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // mod(f1;f1;...... + 0xc6, 0x0e, 0x00, 0x00, 0x5f, 0x61, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc7, 0x0e, 0x00, 0x00, // ...._a.......... + 0x5f, 0x62, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, // _b......5...vec4 + 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // _splat(f1;...... + 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xa6, 0x14, 0x00, 0x00, // ...._x.......... + 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x66, 0x31, 0x3b, 0x76, 0x66, 0x34, // @main(vf4;f1;vf4 + 0x3b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xfb, 0x54, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // ;........T..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa4, 0x52, 0x00, 0x00, // lor0.........R.. + 0x76, 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_stipple....... + 0xbf, 0x58, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // .X..gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, // 0_..........bgfx + 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _VoidFrag....... + 0x97, 0x52, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .R..param....... + 0x07, 0x4c, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .L..param....... + 0x8b, 0x2c, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // .,..param....... + 0xcb, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // .A..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....w...v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x76, 0x5f, 0x73, 0x74, // ........,?..v_st + 0x69, 0x70, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xf9, 0x15, 0x00, 0x00, // ipple........... + 0x76, 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_stipple....... + 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // 0_.......G..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // m........U..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // m...........para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // m...........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0x0b, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....$Global..... + 0x0b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, // ........u_viewRe + 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ct.............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, // u_viewTexel..... + 0x0b, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, // ........u_view.. + 0x06, 0x00, 0x06, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // vView........... + 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_proj...... + 0x0b, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, // ........u_invPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, // u_viewProj...... + 0x0b, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // wProj........... + 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_model..... + 0x0b, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // iew............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // u_modelViewProj. + 0x06, 0x00, 0x06, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, // ............u_al + 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, // phaRef4.G...w... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xf9, 0x15, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x2a, 0x07, 0x00, 0x00, // ........G...*... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ....@...H....... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x0b, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0x0b, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x0b, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0x0b, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x0b, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x0b, 0x05, 0x00, 0x00, // ........H....... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#... ...G... + 0x0b, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // !............... + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // .... ... ....... + 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xd7, 0x0a, 0x00, 0x00, // ........!....... + 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, // ............!... + 0x51, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // Q............... + 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x3e, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6e, 0x01, 0x00, 0x00, // ...>+.......n... + 0x00, 0x00, 0x80, 0x3e, 0x14, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ...>........ ... + 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....w....... ... + 0x8b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x8b, 0x02, 0x00, 0x00, 0xf9, 0x15, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0x2a, 0x07, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, // *...e...j....... + 0x0b, 0x05, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x2a, 0x07, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...*...e...e... + 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ....6........... + 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, // ............Sa.. + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........G...... + 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........U...... + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // =........A..w... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xf9, 0x15, 0x00, 0x00, // =.......,?...... + 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // >....G...A..>... + 0xab, 0x55, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, // .U..,?..9....... + 0xbd, 0x26, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, // .&.......G...U.. + 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....=........... + 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....>........... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....8...6....... + 0x2c, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x0a, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ,...........7... + 0x8a, 0x02, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0xc7, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x43, 0x5c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ........C...=... + 0x0d, 0x00, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....dW......=... + 0x0d, 0x00, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....N......=... + 0x0d, 0x00, 0x00, 0x00, 0x71, 0x3d, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....q=......=... + 0x0d, 0x00, 0x00, 0x00, 0x15, 0x4c, 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, // .....L.......... + 0x0d, 0x00, 0x00, 0x00, 0xf6, 0x18, 0x00, 0x00, 0x71, 0x3d, 0x00, 0x00, 0x15, 0x4c, 0x00, 0x00, // ........q=...L.. + 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa1, 0x2b, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .........+...... + 0x08, 0x00, 0x00, 0x00, 0xf6, 0x18, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x86, 0x40, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xa1, 0x2b, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, // .@...N...+...... + 0x0d, 0x00, 0x00, 0x00, 0xbf, 0x2c, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0x86, 0x40, 0x00, 0x00, // .....,..dW...@.. + 0xfe, 0x00, 0x02, 0x00, 0xbf, 0x2c, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....,..8...6... + 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, // ....5........... + 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0xc4, 0x25, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x94, 0x1f, 0x00, 0x00, // .%..=........... + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1f, 0x48, 0x00, 0x00, // ....=........H.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xbf, 0x32, 0x00, 0x00, // ....=........2.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd2, 0x32, 0x00, 0x00, // ....=........2.. + 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xec, 0x21, 0x00, 0x00, // ....P........!.. + 0x94, 0x1f, 0x00, 0x00, 0x1f, 0x48, 0x00, 0x00, 0xbf, 0x32, 0x00, 0x00, 0xd2, 0x32, 0x00, 0x00, // .....H...2...2.. + 0xfe, 0x00, 0x02, 0x00, 0xec, 0x21, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....!..8...6... + 0x08, 0x00, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, // ............Q... + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xfb, 0x54, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7........T..7... + 0x8a, 0x02, 0x00, 0x00, 0xa4, 0x52, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // .....R..7....... + 0xbf, 0x58, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf3, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .X.......a..;... + 0x8a, 0x02, 0x00, 0x00, 0x97, 0x52, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....R......;... + 0x8a, 0x02, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....L......;... + 0x8a, 0x02, 0x00, 0x00, 0x8b, 0x2c, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....,......>... + 0x97, 0x52, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .R......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x97, 0x52, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5....R..=... + 0x0d, 0x00, 0x00, 0x00, 0x69, 0x4f, 0x00, 0x00, 0xa4, 0x52, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....iO...R..>... + 0x07, 0x4c, 0x00, 0x00, 0x69, 0x4f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x8b, 0x2c, 0x00, 0x00, // .L..iO..>....,.. + 0x6e, 0x01, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x22, 0x00, 0x00, // n...9.......!".. + 0x2c, 0x13, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x8b, 0x2c, 0x00, 0x00, 0xb8, 0x00, 0x05, 0x00, // ,....L...,...... + 0x09, 0x00, 0x00, 0x00, 0x6e, 0x1d, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x21, 0x22, 0x00, 0x00, // ....n.......!".. + 0xf7, 0x00, 0x03, 0x00, 0x09, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, // ................ + 0x6e, 0x1d, 0x00, 0x00, 0x2a, 0x4a, 0x00, 0x00, 0x09, 0x1d, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // n...*J.......... + 0x2a, 0x4a, 0x00, 0x00, 0xfc, 0x00, 0x01, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x09, 0x1d, 0x00, 0x00, // *J.............. + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x05, 0x3c, 0x00, 0x00, 0xfb, 0x54, 0x00, 0x00, // =........<...T.. + 0x3e, 0x00, 0x03, 0x00, 0xbf, 0x58, 0x00, 0x00, 0x05, 0x3c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >....X...<...... + 0x38, 0x00, 0x01, 0x00, 0x00, // 8.... +}; static const uint8_t fs_debugdraw_lines_stipple_dx9[297] = { 0x46, 0x53, 0x48, 0x04, 0xe7, 0x1a, 0x5a, 0xef, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x03, 0xff, 0xff, // FSH...Z......... diff --git a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill.bin.h b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill.bin.h index ec3254a2f40..d816a1ca02a 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill.bin.h @@ -22,6 +22,174 @@ static const uint8_t vs_debugdraw_fill_glsl[329] = 0x65, 0x73, 0x2e, 0x78, 0x29, 0x5d, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // es.x)] * tmpvar_ 0x31, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // 1));.}... }; +static const uint8_t vs_debugdraw_fill_spv[2636] = +{ + 0x56, 0x53, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x04, 0x20, 0x00, 0x00, 0x20, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // el. .. ..u_viewP + 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x20, 0x0a, 0x03, 0x02, 0x23, 0x07, 0x00, // roj...... ...#.. + 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x9a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, // ........a....... + 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, // ...............G + 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, // LSL.std.450..... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x48, // .......main....H + 0x0c, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, // ................ + 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, // .......main..... + 0x00, 0x04, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, // .......Output... + 0x00, 0x06, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, // ...........gl_Po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x05, 0x00, 0x06, 0x00, 0xbd, 0x10, 0x00, 0x00, 0x40, // sition.........@ + 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x69, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, // main(vi4;vf3;... + 0x00, 0x05, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, // ...O0..a_indices + 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, // ........%..a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xff, 0x10, 0x00, 0x00, 0x6d, // ition..........m + 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x24, // odel...........$ + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x00, // Global.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, // ...u_viewRect... + 0x00, 0x06, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x02, // wTexel.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, // ...u_view....... + 0x0b, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, // .......u_invView + 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, // ...............u + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x05, // _proj........... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, // ...u_invProj.... + 0x00, 0x06, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x07, // wProj........... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, // ...u_invViewProj + 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, // ...............u + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x09, // _model.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, // ...u_modelView.. + 0x00, 0x07, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // ...........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, // elViewProj...... + 0x0b, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, // .......u_alphaRe + 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, // f4.....B........ + 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, // ......._varying_ + 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x69, 0x6e, 0x64, // ........A..a_ind + 0x69, 0x63, 0x65, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x48, 0x0c, 0x00, 0x00, 0x61, // ices.......H...a + 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, // _indices......., + 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, // ?..a_position... + 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // .......a_positio + 0x6e, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, // n..........@entr + 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, // yPointOutput_gl_ + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xef, // Position........ + 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, // G..param........ + 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xcf, // ...param........ + 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, // ...Output....... + 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, // ...@entryPointOu + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x06, // tput...G........ + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x00, // ...@...H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, // ...#.......H.... + 0x0b, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // .......#.......H + 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, // ...........#... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x03, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x03, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, // ...#...`...H.... + 0x0b, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, // ...........#.... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x05, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x05, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, // ...#.......H.... + 0x0b, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, // ...........#... + 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x07, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x07, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, // ...#...`...H.... + 0x0b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, // ...........#.... + 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x09, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x09, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, // ...#.......H.... + 0x0b, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, // ...........#.... + 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x0b, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x97, // ...#... ...G.... + 0x0b, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, // .......G...B..." + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x48, 0x0c, 0x00, 0x00, 0x1e, // .......G...H.... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, // .......G........ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, // .......G........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, // .......G........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, // ...............! + 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, // ................ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1a, // ... ............ + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, // ........... .... + 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, // ... ............ + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, // ....... ........ + 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x1d, // ................ + 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0x3f, 0x07, 0x00, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x97, // ...!...?........ + 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, // ....... ........ + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, // .......+........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, // ......?....e.... + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, // .......+.......j + 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x65, // ... ...........e + 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x1d, // ...j............ + 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // .......e...e...e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xc3, // ...e...e...e.... + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, // ...e...e....... + 0x00, 0x04, 0x00, 0x51, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x97, 0x0b, 0x00, 0x00, 0x3b, // ...Q...........; + 0x00, 0x04, 0x00, 0x51, 0x02, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, // ...Q...B.......+ + 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2b, // .......#.......+ + 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x04, 0x00, 0x89, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, // ...........e... + 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x2b, // ...v...........+ + 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, // ...............+ + 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x04, 0x00, 0x98, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x3b, // ...............; + 0x00, 0x04, 0x00, 0x98, 0x02, 0x00, 0x00, 0x48, 0x0c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, // .......H....... + 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, // ...............; + 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, // ............... + 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, // ...............; + 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, // ................ + 0x00, 0x02, 0x00, 0xcf, 0x03, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x4c, 0x06, 0x00, 0x00, 0x03, // ....... ...L.... + 0x00, 0x00, 0x00, 0xcf, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x4c, 0x06, 0x00, 0x00, 0xcd, // .......;...L.... + 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, // .......6........ + 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, // ...............S + 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x07, // a..;........G... + 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, // ...;............ + 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x48, // ...=........A..H + 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, // ...=.......,?... + 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, // ...>....G...A..> + 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0xf9, // .......,?..9.... + 0x03, 0x00, 0x00, 0x39, 0x19, 0x00, 0x00, 0xbd, 0x10, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x9a, // ...9........G... + 0x16, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf8, 0x21, 0x00, 0x00, 0x39, // ...Q........!..9 + 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xf8, // .......>........ + 0x21, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0xf9, // !......8...6.... + 0x03, 0x00, 0x00, 0xbd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x07, 0x00, 0x00, 0x37, // ...........?...7 + 0x00, 0x03, 0x00, 0x97, 0x02, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, // .......O0..7.... + 0x02, 0x00, 0x00, 0xa2, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xdb, 0x5f, 0x00, 0x00, 0x3b, // ....%......._..; + 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, // ...v...........= + 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd1, 0x46, 0x00, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x51, // ........F...%..Q + 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2c, 0x46, 0x00, 0x00, 0xd1, 0x46, 0x00, 0x00, 0x00, // .......,F...F... + 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd3, 0x4f, 0x00, 0x00, 0xd1, // ...Q........O... + 0x46, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, // F......Q........ + 0x5b, 0x00, 0x00, 0xd1, 0x46, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, // [...F......P.... + 0x00, 0x00, 0x00, 0x4c, 0x3b, 0x00, 0x00, 0x2c, 0x46, 0x00, 0x00, 0xd3, 0x4f, 0x00, 0x00, 0xf3, // ...L;..,F...O... + 0x5b, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x89, 0x02, 0x00, 0x00, 0x5a, // [......A.......Z + 0x60, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, // `..O0......=.... + 0x00, 0x00, 0x00, 0x99, 0x61, 0x00, 0x00, 0x5a, 0x60, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0xe2, // ....a..Z`..A.... + 0x02, 0x00, 0x00, 0xa2, 0x48, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, 0x99, // ....H..B...#.... + 0x61, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xb5, 0x2f, 0x00, 0x00, 0xa2, // a..=...e..../... + 0x48, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xff, 0x10, 0x00, 0x00, 0x4c, // H..............L + 0x3b, 0x00, 0x00, 0xb5, 0x2f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0xc4, // ;.../..A........ + 0x2e, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, // ...B.......=...e + 0x00, 0x00, 0x00, 0xcc, 0x5e, 0x00, 0x00, 0xc4, 0x2e, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, // ....^........... + 0x00, 0x00, 0x00, 0x67, 0x44, 0x00, 0x00, 0xff, 0x10, 0x00, 0x00, 0xcc, 0x5e, 0x00, 0x00, 0x41, // ...gD.......^..A + 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xee, 0x27, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, // ........'....... + 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xee, 0x27, 0x00, 0x00, 0x67, 0x44, 0x00, 0x00, 0x3d, // ...>....'..gD..= + 0x00, 0x04, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x5e, 0x5b, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, // .......^[....... + 0x00, 0x02, 0x00, 0x5e, 0x5b, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ...^[..8.... +}; static const uint8_t vs_debugdraw_fill_dx9[480] = { 0x56, 0x53, 0x48, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h index 3415c6d5b93..c9256522a10 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_lit.bin.h @@ -35,6 +35,215 @@ static const uint8_t vs_debugdraw_fill_lit_glsl[532] = 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, // = tmpvar_2.xyz;. 0x7d, 0x0a, 0x0a, 0x00, // }... }; +static const uint8_t vs_debugdraw_fill_lit_spv[3281] = +{ + 0x56, 0x53, 0x48, 0x04, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH...V_...u_mod + 0x65, 0x6c, 0x04, 0x20, 0x00, 0x00, 0x20, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // el. .. ..u_viewP + 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x06, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // roj.......u_view + 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x98, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, // ..........#..... + 0x01, 0x00, 0x08, 0x00, 0x9a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, // .....a.......... + 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, // ............GLSL + 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, // .std.450........ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x48, 0x0c, 0x00, 0x00, // ....main....H... + 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ....main........ + 0x69, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // i...Output...... + 0x69, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, // i.......gl_Posit + 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x05, 0x00, 0x69, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ion.....i....... + 0x76, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x69, 0x04, 0x00, 0x00, // v_view......i... + 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x05, 0x00, 0x06, 0x00, // ....v_world..... + 0xbd, 0x10, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x69, 0x34, 0x3b, 0x76, 0x66, // ....@main(vi4;vf + 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x61, 0x5f, 0x69, 0x6e, // 3;......O0..a_in + 0x64, 0x69, 0x63, 0x65, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa2, 0x25, 0x00, 0x00, // dices........%.. + 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // a_position...... + 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, // ...._varying_... + 0x05, 0x00, 0x04, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x00, 0x00, // ....<...world... + 0x05, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, // ....^...$Global. + 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ....^.......u_vi + 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, // ewRect......^... + 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, // ....u_viewTexel. + 0x06, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ....^.......u_vi + 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ew......^....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // u_invView....... + 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ^.......u_proj.. + 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ....^.......u_in + 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, // vProj.......^... + 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ....u_viewProj.. + 0x06, 0x00, 0x07, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ....^.......u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // vViewProj....... + 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, // ^.......u_model. + 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ....^.......u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x5e, 0x05, 0x00, 0x00, // delView.....^... + 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // ....u_modelViewP + 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // roj.....^....... + 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, // u_alphaRef4..... + 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, // B............A.. + 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // a_indices....... + 0x48, 0x0c, 0x00, 0x00, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x00, 0x00, 0x00, // H...a_indices... + 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, // ....,?..a_positi + 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, // on..........a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, // sition.......... + 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, // flattenTemp..... + 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .U..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, // ....param....... + 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, // ....@entryPointO + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // utput_gl_Positio + 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, // n...........Outp + 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x1f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ut.............. + 0x76, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x1f, 0x04, 0x00, 0x00, // v_view.......... + 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x05, 0x00, 0x07, 0x00, // ....v_world..... + 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, // ....@entryPointO + 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xab, 0x03, 0x00, 0x00, // utput...G....... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ....@...H...^... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x5e, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ^.......#....... + 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...^........... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...^.......#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H...^....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ^............... + 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...^........... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...^.......#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H...^....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ^............... + 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...^........... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...^.......#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H...^....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ^............... + 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...^........... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...^.......#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H...^....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ^............... + 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...^........... + 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...^.......#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H...^....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, // ........H...^... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#... ...G... + 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, // ^.......G...B... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x48, 0x0c, 0x00, 0x00, // ".......G...H... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, // ........G....... + 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // !............... + 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // .... ........... + 0x1a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x97, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x69, 0x04, 0x00, 0x00, // ............i... + 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0x1f, 0x08, 0x00, 0x00, 0x69, 0x04, 0x00, 0x00, 0x97, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, // ....i........... + 0x20, 0x00, 0x04, 0x00, 0xe6, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x69, 0x04, 0x00, 0x00, // ...........i... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x2c, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ,.......,....... + 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, // .......?....e... + 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // .......+....... + 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xab, 0x03, 0x00, 0x00, // j... ........... + 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x5e, 0x05, 0x00, 0x00, // e...j.......^... + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ........e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0xab, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....e...e....... + 0x20, 0x00, 0x04, 0x00, 0xdb, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5e, 0x05, 0x00, 0x00, // ...........^... + 0x3b, 0x00, 0x04, 0x00, 0xdb, 0x07, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ;.......B....... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // +.......#....... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x20, 0x00, 0x04, 0x00, 0x89, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // ............... + 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ...........e... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // +............... + 0x20, 0x00, 0x04, 0x00, 0x98, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x98, 0x02, 0x00, 0x00, 0x48, 0x0c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......H....... + 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;............... + 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ;............... + 0x1e, 0x00, 0x04, 0x00, 0x1f, 0x04, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x04, 0x00, 0x9c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1f, 0x04, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ;............... + 0x20, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // ............... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ........Sa..;... + 0xe6, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x97, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....U......;... + 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ............=... + 0x1a, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x48, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....A..H...=... + 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....,?......>... + 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, // .U...A..>....... + 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x69, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, // ,?..9...i...I&.. + 0xbd, 0x10, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....U......>... + 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....I&..A....... + 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // T4..........=... + 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ........T4..>... + 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, // ........A....... + 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // 'A..........=... + 0x18, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ........'A..A... + 0x99, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // .....N.......... + 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // >....N......A... + 0x95, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, // .....M.......... + 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, // =............M.. + 0x41, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, // A............... + 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, // ....>........... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x69, 0x04, 0x00, 0x00, // ....8...6...i... + 0xbd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x08, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ............7... + 0x97, 0x02, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, // ....O0..7....... + 0xa2, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x27, 0x60, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .%......'`..;... + 0xe6, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ............A... + 0x95, 0x02, 0x00, 0x00, 0xf3, 0x1c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ................ + 0x3e, 0x00, 0x03, 0x00, 0xf3, 0x1c, 0x00, 0x00, 0x2c, 0x0a, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // >.......,...A... + 0x95, 0x02, 0x00, 0x00, 0xd3, 0x40, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, // .....@.......... + 0x3e, 0x00, 0x03, 0x00, 0xd3, 0x40, 0x00, 0x00, 0x2c, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // >....@..,...=... + 0x18, 0x00, 0x00, 0x00, 0x7e, 0x20, 0x00, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // ....~ ...%..Q... + 0x0d, 0x00, 0x00, 0x00, 0x03, 0x43, 0x00, 0x00, 0x7e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .....C..~ ...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd3, 0x4f, 0x00, 0x00, 0x7e, 0x20, 0x00, 0x00, // Q........O..~ .. + 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x5b, 0x00, 0x00, // ....Q........[.. + 0x7e, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // ~ ......P....... + 0x4c, 0x3b, 0x00, 0x00, 0x03, 0x43, 0x00, 0x00, 0xd3, 0x4f, 0x00, 0x00, 0xf3, 0x5b, 0x00, 0x00, // L;...C...O...[.. + 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x89, 0x02, 0x00, 0x00, 0x5a, 0x60, 0x00, 0x00, // ....A.......Z`.. + 0x4f, 0x30, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // O0......=....... + 0x99, 0x61, 0x00, 0x00, 0x5a, 0x60, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0xe2, 0x02, 0x00, 0x00, // .a..Z`..A....... + 0xa2, 0x48, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x23, 0x0a, 0x00, 0x00, 0x99, 0x61, 0x00, 0x00, // .H..B...#....a.. + 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xb5, 0x2f, 0x00, 0x00, 0xa2, 0x48, 0x00, 0x00, // =...e..../...H.. + 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0x4c, 0x3b, 0x00, 0x00, // ........<...L;.. + 0xb5, 0x2f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0xc4, 0x2e, 0x00, 0x00, // ./..A........... + 0x42, 0x13, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, // B.......=...e... + 0xcc, 0x5e, 0x00, 0x00, 0xc4, 0x2e, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .^.............. + 0x67, 0x44, 0x00, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0xcc, 0x5e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // gD..<....^..A... + 0x9a, 0x02, 0x00, 0x00, 0x3a, 0x28, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....:(.......... + 0x3e, 0x00, 0x03, 0x00, 0x3a, 0x28, 0x00, 0x00, 0x67, 0x44, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // >...:(..gD..A... + 0xe2, 0x02, 0x00, 0x00, 0xa9, 0x47, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, // .....G..B....... + 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x49, 0x27, 0x00, 0x00, 0xa9, 0x47, 0x00, 0x00, // =...e...I'...G.. + 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x3b, 0x00, 0x00, 0x3c, 0x0c, 0x00, 0x00, // ........*;..<... + 0x49, 0x27, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xe6, 0x24, 0x00, 0x00, // I'..O........$.. + 0x2a, 0x3b, 0x00, 0x00, 0x2a, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // *;..*;.......... + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, 0xf1, 0x52, 0x00, 0x00, // ....A........R.. + 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xf1, 0x52, 0x00, 0x00, // ........>....R.. + 0xe6, 0x24, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xcb, 0x3d, 0x00, 0x00, // .$..O........=.. + 0x3c, 0x0c, 0x00, 0x00, 0x3c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // <...<........... + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, 0x00, 0x00, 0x0e, 0x19, 0x00, 0x00, // ....A........... + 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0e, 0x19, 0x00, 0x00, // ........>....... + 0xcb, 0x3d, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x69, 0x04, 0x00, 0x00, 0x5e, 0x5b, 0x00, 0x00, // .=..=...i...^[.. + 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x5e, 0x5b, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // ........^[..8... + 0x00, // . +}; static const uint8_t vs_debugdraw_fill_lit_dx9[633] = { 0x56, 0x53, 0x48, 0x04, 0x0f, 0xc8, 0x56, 0x5f, 0x03, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH...V_...u_mod diff --git a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h index 4d48881d3b0..e756d50edbd 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_fill_texture.bin.h @@ -28,6 +28,212 @@ static const uint8_t vs_debugdraw_fill_texture_glsl[420] = 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, // or0 = a_color0;. 0x7d, 0x0a, 0x0a, 0x00, // }... }; +static const uint8_t vs_debugdraw_fill_texture_spv[3247] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x8c, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, // ....#.........Ta + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x64, 0x04, // ..main........d. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, // ..Output......d. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.....d.......v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, // color0........d. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xad, 0x11, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // 0.........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf3;vf2;.... + 0x05, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ....../B..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x10, 0x46, 0x00, 0x00, 0x61, 0x5f, // tion.......F..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1a, 0x04, // osition......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ..............v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // texcoord0....... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x65, 0x04, 0x00, 0x00, 0x06, 0x00, // put...G...e..... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, // ..@...H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#...`...H..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#...`...H..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xdf, 0x00, // ..#... ...G..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x64, 0x04, 0x00, 0x00, 0x1d, 0x00, // ..........d..... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x03, 0x09, // ..........!..... + 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x90, 0x02, // ..d............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe1, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x64, 0x04, // .. ...........d. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, // ..............,. + 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ................ + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, // ......e......... + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, // ..+.......j... . + 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, // ......e...e...j. + 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x5c, 0x03, // ..e....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x5c, 0x03, // ..........;..... + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..B.......+..... + 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, // ..)....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, // ......e... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, // ..........;..... + 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, // .......... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, // ..........;..... + 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, // .......... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, // ..........;..... + 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, // .......... ..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, // ..........;..... + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x1a, 0x04, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x06, // .......... ..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, // ..........;..... + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x92, 0x02, // .......... ..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, // ..........6..... + 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, // ................ + 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xe1, 0x06, 0x00, 0x00, 0x08, 0x10, // ..Sa..;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, // ......;........U + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x38, // ......;........8 + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, // ......;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, // ......=........A + 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd9, 0x3f, // ......=........? + 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x40, 0x2c, // ......=.......@, + 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, // ......>....U...A + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, // ..>....8...?..>. + 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x64, 0x04, // ......@,..9...d. + 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, // ..I&.......U...8 + 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, // ......>.......I& + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, // ..A.......T4.... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, // ......=......... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, // ..T4..>......... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, // ..A.......'A.... + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, // ......=......... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, // ..'A..A........N + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, // ..........>....N + 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc1, 0x4d, // ......A........M + 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ..........=..... + 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, // .......M..A..... + 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..............>. + 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..............8. + 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x64, 0x04, 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x00, 0x00, // ..6...d......... + 0x00, 0x00, 0x03, 0x09, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xe2, 0x2e, // ......7......... + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x37, 0x00, // ..7......./B..7. + 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x10, 0x46, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x70, 0x1e, // .......F......p. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xe1, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x0f, 0x12, // ..A........%.... + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x88, 0x05, // ......>....%.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x0f, 0x12, // ..A........I.... + 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x1f, 0x07, // ......>....I.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x2f, 0x42, // ..=.......F)../B + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xcb, 0x4b, 0x00, 0x00, 0x46, 0x29, // ..Q........K..F) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9b, 0x58, // ......Q........X + 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..F)......Q..... + 0x00, 0x00, 0x3c, 0x1a, 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, // ..<...F)......P. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x14, 0x44, 0x00, 0x00, 0xcb, 0x4b, 0x00, 0x00, 0x9b, 0x58, // .......D...K...X + 0x00, 0x00, 0x3c, 0x1a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, // ..<.......A..... + 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ...$..B...)...=. + 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x4a, 0x35, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x90, 0x00, // ..e...J5...$.... + 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf6, 0x33, 0x00, 0x00, 0x14, 0x44, 0x00, 0x00, 0x4a, 0x35, // .......3...D..J5 + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb6, 0x30, 0x00, 0x00, 0x0f, 0x12, // ..A........0.... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb6, 0x30, 0x00, 0x00, 0xf6, 0x33, // ......>....0...3 + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xad, 0x32, 0x00, 0x00, 0x10, 0x46, // ..=........2...F + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xbd, 0x4d, 0x00, 0x00, 0x0f, 0x12, // ..A........M.... + 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbd, 0x4d, 0x00, 0x00, 0xad, 0x32, // ......>....M...2 + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xae, 0x32, 0x00, 0x00, 0xe2, 0x2e, // ..=........2.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbe, 0x4d, 0x00, 0x00, 0x0f, 0x12, // ..A........M.... + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbe, 0x4d, 0x00, 0x00, 0xae, 0x32, // ......>....M...2 + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x64, 0x04, 0x00, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x0f, 0x12, // ..=...d....1.... + 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .......1..8.... +}; static const uint8_t vs_debugdraw_fill_texture_dx9[347] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines.bin.h b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines.bin.h index ae68c1afcb1..bd669a201b2 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines.bin.h @@ -22,6 +22,182 @@ static const uint8_t vs_debugdraw_lines_glsl[325] = 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // lor0 = a_color0; 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; +static const uint8_t vs_debugdraw_lines_spv[2763] = +{ + 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....I...u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0xa8, 0x0a, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, // ....#.........Ta + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, // in.............. + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x4f, 0x75, // in........8...Ou + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, // tput......8..... + 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, // ..gl_Position... + 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..8.......v_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x40, 0x6d, // r0............@m + 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, // ain(vf4;vf3;.... + 0x05, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ...H..a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......,G..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, // tion.........._v + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x99, 0x02, // arying_......... + 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..$Global....... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, // ......u_viewRect + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, // viewTexel....... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, // ......u_view.... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, // iew............. + 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_proj........ + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, // ......u_invProj. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, // viewProj........ + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, // ......u_invViewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_model....... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // ......u_modelVie + 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, // w.............u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, // modelViewProj... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, // ..........u_alph + 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, // aRef4.....B..... + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // .......A..a_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, 0x61, 0x5f, // r0............a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, // color0........,? + 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, // ..a_position.... + 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ......a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, // ..........flatte + 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, // nTemp......U..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, // ram...........pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, // ram...........@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, // ntryPointOutput_ + 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, // gl_Position..... + 0x04, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, // ......Output.... + 0x06, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..........v_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, // r0............@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // ntryPointOutput. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, // ..G...7.......@. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..#.......H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, // .. ...G......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...B..."..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, // ..........!..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xc6, 0x07, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x9a, 0x02, // ..!.......8..... + 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, // ..8........... . + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, // ......+......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, // .....?+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, // ......,......... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, // ................ + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, // ......e......... + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, // ..+.......j... . + 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, // ......7...e...j. + 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x99, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, // ..e...e...7...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x16, 0x05, // ..e....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x99, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x16, 0x05, // ..........;..... + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..B.......+..... + 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, // ..)....... ..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, // ......e... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, // ..........;..... + 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, // .......... ..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, // ..........;..... + 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, // .......... ..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, // ..........;..... + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xf9, 0x03, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0x03, 0x00, // ...... ...v..... + 0x00, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0xcd, 0x0f, // ......;...v..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, // ......6......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, // ..............Sa + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, // ..;........U.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x89, 0x14, // ..=........A.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, 0x14, // ..=.......,?.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, // ..>....U...A..>. + 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x38, 0x04, // ......,?..9...8. + 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, // ..I&.......U.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, // ..>.......I&..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, // ......T4........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, // ..=...........T4 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, // ..>...........A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, // ......'A........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, // ..=...........'A + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xdf, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x38, 0x04, // ......8...6...8. + 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x07, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, // .......H..7..... + 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x51, 0x1d, 0x00, 0x00, 0x3b, 0x00, // ..,G......Q...;. + 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, // ..............A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x50, 0x24, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // ......P$........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x50, 0x24, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x3d, 0x00, // ..>...P$......=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x51, 0x00, // ......'(..,G..Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x00, 0x00, // .......J..'(.... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x27, 0x28, // ..Q.......|W..'( + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1d, 0x19, // ......Q......... + 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, // ..'(......P..... + 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x1d, 0x19, // ...B...J..|W.... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x61, 0x23, // ......A.......a# + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, // ..B...)...=...e. + 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x61, 0x23, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, // ..+4..a#........ + 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x41, 0x00, // ...2...B..+4..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x97, 0x2f, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, // ......./........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x97, 0x2f, 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0x3d, 0x00, // ..>..../...2..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8e, 0x31, 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x41, 0x00, // .......1...H..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // .......L........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x8e, 0x31, 0x00, 0x00, 0x3d, 0x00, // ..>....L...1..=. + 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, // ..8...0......... + 0x02, 0x00, 0x30, 0x19, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ..0...8.... +}; static const uint8_t vs_debugdraw_lines_dx9[311] = { 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....I...u_mod diff --git a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h index cb5e2ce5e72..65a08adac8f 100644 --- a/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h +++ b/3rdparty/bgfx/examples/common/debugdraw/vs_debugdraw_lines_stipple.bin.h @@ -28,6 +28,214 @@ static const uint8_t vs_debugdraw_lines_stipple_glsl[419] = 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x3b, 0x0a, 0x7d, // a_texcoord0.x;.} 0x0a, 0x0a, 0x00, // ... }; +static const uint8_t vs_debugdraw_lines_stipple_spv[3279] = +{ + 0x56, 0x53, 0x48, 0x04, 0xe7, 0x1a, 0x5a, 0xef, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH...Z....u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0xac, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, // ....#.........Ta + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4c, 0x04, // ..main........L. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4c, 0x04, // ..Output......L. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.....L.......v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4c, 0x04, // color0........L. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x00, // ......v_stipple. + 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xad, 0x11, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // ..........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf3;vf2;.... + 0x05, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ....../B..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x10, 0x46, 0x00, 0x00, 0x61, 0x5f, // tion.......F..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x08, 0x04, // osition......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x08, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x08, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ..............v_ + 0x73, 0x74, 0x69, 0x70, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // stipple......... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x65, 0x04, 0x00, 0x00, 0x06, 0x00, // put...G...e..... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, // ..@...H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#...`...H..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#...`...H..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, // ..#.......H..... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xdf, 0x00, // ..#... ...G..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x4c, 0x04, 0x00, 0x00, 0x1d, 0x00, // ..........L..... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0xd3, 0x08, // ..........!..... + 0x00, 0x00, 0x4c, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x90, 0x02, // ..L............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xc9, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4c, 0x04, // .. ...........L. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, // ................ + 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, // ..e............. + 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, // ...... .......+. + 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, // ......j... ..... + 0x04, 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, // ..e...e...j..... + 0x0e, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x5c, 0x03, 0x00, 0x00, 0x02, 0x00, // ...... ......... + 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x5c, 0x03, 0x00, 0x00, 0x42, 0x13, // ......;.......B. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, // ......+.......). + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, // ...... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, // ..e...+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, // ......;......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, // ...... ......... + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, // ......;......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, // ......;......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, // ......;......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x08, 0x04, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x85, 0x06, 0x00, 0x00, 0x03, 0x00, // ...... ......... + 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x85, 0x06, 0x00, 0x00, 0xcd, 0x0f, // ......;......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x03, 0x00, // ...... ......... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, // ......6......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, // ..............Sa + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xc9, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, // ..;........U.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, // ..;........8.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, // ..=........A.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, // ..=........?.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, // ..=.......@,.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, // ..>....U...A..>. + 0x03, 0x00, 0x95, 0x38, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, // ...8...?..>..... + 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x4c, 0x04, 0x00, 0x00, 0x49, 0x26, // ..@,..9...L...I& + 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, // .......U...8.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, // ..>.......I&..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, // ......T4........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, // ..=...........T4 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, // ..>...........A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, // ......'A........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, // ..=...........'A + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, // ..A........N.... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, // ......>....N.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, // ..A........M.... + 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe0, 0x1c, // ......=......... + 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x01, 0x5c, // ...M..A......... + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, // ..........>..... + 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, // ..........8...6. + 0x05, 0x00, 0x4c, 0x04, 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x08, // ..L............. + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x37, 0x00, // ..7...........7. + 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ....../B..7..... + 0x00, 0x00, 0x10, 0x46, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x70, 0x1e, 0x00, 0x00, 0x3b, 0x00, // ...F......p...;. + 0x04, 0x00, 0xc9, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, // ..............A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // .......%........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, // ..>....%......A. + 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, // .......I........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..>....I......=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x51, 0x00, // ......F)../B..Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xcb, 0x4b, 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x00, 0x00, // .......K..F).... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9b, 0x58, 0x00, 0x00, 0x46, 0x29, // ..Q........X..F) + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3c, 0x1a, // ......Q.......<. + 0x00, 0x00, 0x46, 0x29, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, // ..F)......P..... + 0x00, 0x00, 0x14, 0x44, 0x00, 0x00, 0xcb, 0x4b, 0x00, 0x00, 0x9b, 0x58, 0x00, 0x00, 0x3c, 0x1a, // ...D...K...X..<. + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x80, 0x24, // ......A........$ + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, // ..B...)...=...e. + 0x00, 0x00, 0x4a, 0x35, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, // ..J5...$........ + 0x00, 0x00, 0xf6, 0x33, 0x00, 0x00, 0x14, 0x44, 0x00, 0x00, 0x4a, 0x35, 0x00, 0x00, 0x41, 0x00, // ...3...D..J5..A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb6, 0x30, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, // .......0........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb6, 0x30, 0x00, 0x00, 0xf6, 0x33, 0x00, 0x00, 0x3d, 0x00, // ..>....0...3..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xad, 0x32, 0x00, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x41, 0x00, // .......2......A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x09, 0x4e, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x09, 0x4e, 0x00, 0x00, 0xad, 0x32, 0x00, 0x00, 0x41, 0x00, // ..>....N...2..A. + 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x94, 0x4a, 0x00, 0x00, 0x10, 0x46, 0x00, 0x00, 0x0a, 0x0a, // .......J...F.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb2, 0x19, 0x00, 0x00, 0x94, 0x4a, // ..=............J + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x95, 0x4a, 0x00, 0x00, 0x0f, 0x12, // ..A........J.... + 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x4a, 0x00, 0x00, 0xb2, 0x19, // ......>....J.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x4c, 0x04, 0x00, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x0f, 0x12, // ..=...L....1.... + 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .......1..8.... +}; static const uint8_t vs_debugdraw_lines_stipple_dx9[347] = { 0x56, 0x53, 0x48, 0x04, 0xe7, 0x1a, 0x5a, 0xef, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH...Z....u_mod diff --git a/3rdparty/bgfx/examples/common/entry/cmd.cpp b/3rdparty/bgfx/examples/common/entry/cmd.cpp index 7c6c3c99307..ae3d14d3400 100644 --- a/3rdparty/bgfx/examples/common/entry/cmd.cpp +++ b/3rdparty/bgfx/examples/common/entry/cmd.cpp @@ -3,11 +3,6 @@ * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ -#include // isspace -#include -#include // size_t -#include // strlen - #include #include #include @@ -33,7 +28,7 @@ struct CmdContext void add(const char* _name, ConsoleFn _fn, void* _userData) { - uint32_t cmd = bx::hashMurmur2A(_name, (uint32_t)strlen(_name) ); + uint32_t cmd = bx::hashMurmur2A(_name, (uint32_t)bx::strnlen(_name) ); BX_CHECK(m_lookup.end() == m_lookup.find(cmd), "Command \"%s\" already exist.", _name); Func fn = { _fn, _userData }; m_lookup.insert(stl::make_pair(cmd, fn) ); @@ -51,7 +46,7 @@ struct CmdContext if (argc > 0) { int err = -1; - uint32_t cmd = bx::hashMurmur2A(argv[0], (uint32_t)strlen(argv[0]) ); + uint32_t cmd = bx::hashMurmur2A(argv[0], (uint32_t)bx::strnlen(argv[0]) ); CmdLookup::iterator it = m_lookup.find(cmd); if (it != m_lookup.end() ) { diff --git a/3rdparty/bgfx/examples/common/entry/entry.cpp b/3rdparty/bgfx/examples/common/entry/entry.cpp index edc237a49cd..97701343dba 100644 --- a/3rdparty/bgfx/examples/common/entry/entry.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry.cpp @@ -254,7 +254,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); bool setOrToggle(uint32_t& _flags, const char* _name, uint32_t _bit, int _first, int _argc, char const* const* _argv) { - if (0 == strcmp(_argv[_first], _name) ) + if (0 == bx::strncmp(_argv[_first], _name) ) { int arg = _first+1; if (_argc > arg) @@ -310,11 +310,13 @@ BX_PRAGMA_DIAGNOSTIC_POP(); bgfx::setDebug(s_debug); return 0; } - else if (0 == strcmp(_argv[1], "screenshot") ) + else if (0 == bx::strncmp(_argv[1], "screenshot") ) { + bgfx::FrameBufferHandle fbh = BGFX_INVALID_HANDLE; + if (_argc > 2) { - bgfx::saveScreenShot(_argv[2]); + bgfx::requestScreenShot(fbh, _argv[2]); } else { @@ -323,12 +325,12 @@ BX_PRAGMA_DIAGNOSTIC_POP(); char filePath[256]; bx::snprintf(filePath, sizeof(filePath), "temp/screenshot-%d", tt); - bgfx::saveScreenShot(filePath); + bgfx::requestScreenShot(fbh, filePath); } return 0; } - else if (0 == strcmp(_argv[1], "fullscreen") ) + else if (0 == bx::strncmp(_argv[1], "fullscreen") ) { WindowHandle window = { 0 }; toggleFullscreen(window); diff --git a/3rdparty/bgfx/examples/common/entry/entry.h b/3rdparty/bgfx/examples/common/entry/entry.h index cd3df67ac17..cfdfd25dd81 100644 --- a/3rdparty/bgfx/examples/common/entry/entry.h +++ b/3rdparty/bgfx/examples/common/entry/entry.h @@ -7,7 +7,6 @@ #define ENTRY_H_HEADER_GUARD #include "dbg.h" -#include // memset #include #include @@ -227,7 +226,7 @@ namespace entry { GamepadState() { - memset(m_axis, 0, sizeof(m_axis) ); + bx::memSet(m_axis, 0, sizeof(m_axis) ); } int32_t m_axis[entry::GamepadAxis::Count]; diff --git a/3rdparty/bgfx/examples/common/entry/entry_android.cpp b/3rdparty/bgfx/examples/common/entry/entry_android.cpp index 50abdad8194..78ed2f7a507 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_android.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_android.cpp @@ -96,7 +96,7 @@ namespace entry Context() : m_window(NULL) { - memset(m_value, 0, sizeof(m_value) ); + bx::memSet(m_value, 0, sizeof(m_value) ); // Deadzone values from xinput.h m_deadzone[GamepadAxis::LeftX ] = diff --git a/3rdparty/bgfx/examples/common/entry/entry_asmjs.cpp b/3rdparty/bgfx/examples/common/entry/entry_asmjs.cpp index 69a7ea31cf1..9cabff5e838 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_asmjs.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_asmjs.cpp @@ -29,7 +29,7 @@ namespace entry , m_my(0) , m_scroll(0) { - memset(s_translateKey, 0, sizeof(s_translateKey)); + bx::memSet(s_translateKey, 0, sizeof(s_translateKey)); s_translateKey[27] = Key::Esc; s_translateKey[uint8_t('\n')] = s_translateKey[uint8_t('\r')] = Key::Return; diff --git a/3rdparty/bgfx/examples/common/entry/entry_glfw.cpp b/3rdparty/bgfx/examples/common/entry/entry_glfw.cpp index 215cbbb5cba..0ff8fd31c64 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_glfw.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_glfw.cpp @@ -158,8 +158,8 @@ namespace entry GamepadGLFW() : m_connected(false) { - memset(m_axes, 0, sizeof(m_axes)); - memset(m_buttons, 0, sizeof(m_buttons)); + bx::memSet(m_axes, 0, sizeof(m_axes)); + bx::memSet(m_buttons, 0, sizeof(m_buttons)); } void update(EventQueue& _eventQueue) @@ -310,7 +310,7 @@ namespace entry Context() : m_scrollPos(0.0) { - memset(s_translateKey, 0, sizeof(s_translateKey)); + bx::memSet(s_translateKey, 0, sizeof(s_translateKey)); s_translateKey[GLFW_KEY_ESCAPE] = Key::Esc; s_translateKey[GLFW_KEY_ENTER] = Key::Return; s_translateKey[GLFW_KEY_TAB] = Key::Tab; @@ -589,7 +589,7 @@ namespace entry WindowHandle findHandle(GLFWwindow* _window) { - bx::LwMutexScope scope(m_lock); + bx::MutexScope scope(m_lock); for (uint32_t ii = 0, num = m_windowAlloc.getNumHandles(); ii < num; ++ii) { uint16_t idx = m_windowAlloc.getHandleAt(ii); @@ -615,14 +615,14 @@ namespace entry bx::Thread m_thread; EventQueue m_eventQueue; - bx::LwMutex m_lock; + bx::Mutex m_lock; GLFWwindow* m_windows[ENTRY_CONFIG_MAX_WINDOWS]; bx::HandleAllocT m_windowAlloc; GamepadGLFW m_gamepad[ENTRY_CONFIG_MAX_GAMEPADS]; - bx::SpScUnboundedQueueLf m_msgs; + bx::SpScUnboundedQueueT m_msgs; double m_scrollPos; }; diff --git a/3rdparty/bgfx/examples/common/entry/entry_nacl.cpp b/3rdparty/bgfx/examples/common/entry/entry_nacl.cpp index ae7897347f0..b51a96e3446 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_nacl.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_nacl.cpp @@ -9,8 +9,6 @@ #include -#include -#include #include #include @@ -190,7 +188,7 @@ using namespace entry; PP_EXPORT const void* PPP_GetInterface(const char* _name) { - if (0 == strcmp(_name, PPP_INSTANCE_INTERFACE) ) + if (0 == bx::strncmp(_name, PPP_INSTANCE_INTERFACE) ) { static PPP_Instance instanceInterface = { diff --git a/3rdparty/bgfx/examples/common/entry/entry_p.h b/3rdparty/bgfx/examples/common/entry/entry_p.h index 74a279f8e2c..ab45cfef5b5 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_p.h +++ b/3rdparty/bgfx/examples/common/entry/entry_p.h @@ -11,7 +11,6 @@ #include #include "entry.h" -#include // memcpy #ifndef ENTRY_CONFIG_USE_NOOP # define ENTRY_CONFIG_USE_NOOP (BX_PLATFORM_QNX) @@ -199,7 +198,7 @@ namespace entry { CharEvent* ev = new CharEvent(_handle); ev->m_len = _len; - memcpy(ev->m_char, _char, 4); + bx::memCopy(ev->m_char, _char, 4); m_queue.push(ev); } @@ -298,7 +297,7 @@ namespace entry } private: - bx::SpScUnboundedQueue m_queue; + bx::SpScUnboundedQueueT m_queue; }; } // namespace entry diff --git a/3rdparty/bgfx/examples/common/entry/entry_sdl.cpp b/3rdparty/bgfx/examples/common/entry/entry_sdl.cpp index 757c9f3a357..b8476f77bff 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_sdl.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_sdl.cpp @@ -26,6 +26,7 @@ BX_PRAGMA_DIAGNOSTIC_POP() #endif // defined(None) #include +#include #include #include #include @@ -158,7 +159,7 @@ namespace entry : m_controller(NULL) , m_jid(INT32_MAX) { - memset(m_value, 0, sizeof(m_value) ); + bx::memSet(m_value, 0, sizeof(m_value) ); // Deadzone values from xinput.h m_deadzone[GamepadAxis::LeftX ] = @@ -341,7 +342,7 @@ namespace entry , m_mouseLock(false) , m_fullscreen(false) { - memset(s_translateKey, 0, sizeof(s_translateKey) ); + bx::memSet(s_translateKey, 0, sizeof(s_translateKey) ); initTranslateKey(SDL_SCANCODE_ESCAPE, Key::Esc); initTranslateKey(SDL_SCANCODE_RETURN, Key::Return); initTranslateKey(SDL_SCANCODE_TAB, Key::Tab); @@ -425,7 +426,7 @@ namespace entry initTranslateKey(SDL_SCANCODE_Y, Key::KeyY); initTranslateKey(SDL_SCANCODE_Z, Key::KeyZ); - memset(s_translateGamepad, uint8_t(Key::Count), sizeof(s_translateGamepad) ); + bx::memSet(s_translateGamepad, uint8_t(Key::Count), sizeof(s_translateGamepad) ); initTranslateGamepad(SDL_CONTROLLER_BUTTON_A, Key::GamepadA); initTranslateGamepad(SDL_CONTROLLER_BUTTON_B, Key::GamepadB); initTranslateGamepad(SDL_CONTROLLER_BUTTON_X, Key::GamepadX); @@ -442,7 +443,7 @@ namespace entry initTranslateGamepad(SDL_CONTROLLER_BUTTON_START, Key::GamepadStart); initTranslateGamepad(SDL_CONTROLLER_BUTTON_GUIDE, Key::GamepadGuide); - memset(s_translateGamepadAxis, uint8_t(GamepadAxis::Count), sizeof(s_translateGamepadAxis) ); + bx::memSet(s_translateGamepadAxis, uint8_t(GamepadAxis::Count), sizeof(s_translateGamepadAxis) ); initTranslateGamepadAxis(SDL_CONTROLLER_AXIS_LEFTX, GamepadAxis::LeftX); initTranslateGamepadAxis(SDL_CONTROLLER_AXIS_LEFTY, GamepadAxis::LeftY); initTranslateGamepadAxis(SDL_CONTROLLER_AXIS_TRIGGERLEFT, GamepadAxis::LeftZ); @@ -923,7 +924,7 @@ namespace entry WindowHandle findHandle(SDL_Window* _window) { - bx::LwMutexScope scope(m_lock); + bx::MutexScope scope(m_lock); for (uint32_t ii = 0, num = m_windowAlloc.getNumHandles(); ii < num; ++ii) { uint16_t idx = m_windowAlloc.getHandleAt(ii); @@ -972,7 +973,7 @@ namespace entry bx::Thread m_thread; EventQueue m_eventQueue; - bx::LwMutex m_lock; + bx::Mutex m_lock; bx::HandleAllocT m_windowAlloc; SDL_Window* m_window[ENTRY_CONFIG_MAX_WINDOWS]; @@ -1011,7 +1012,7 @@ namespace entry WindowHandle createWindow(int32_t _x, int32_t _y, uint32_t _width, uint32_t _height, uint32_t _flags, const char* _title) { - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); WindowHandle handle = { s_ctx.m_windowAlloc.alloc() }; if (UINT16_MAX != handle.idx) @@ -1036,7 +1037,7 @@ namespace entry { sdlPostEvent(SDL_USER_WINDOW_DESTROY, _handle); - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); s_ctx.m_windowAlloc.free(_handle.idx); } } diff --git a/3rdparty/bgfx/examples/common/entry/entry_windows.cpp b/3rdparty/bgfx/examples/common/entry/entry_windows.cpp index ca38c9208c3..055c85788a2 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_windows.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_windows.cpp @@ -9,14 +9,17 @@ #include -#include -#include #include #include +#include +#include #include +#include + #include #include +#include #include #include @@ -34,7 +37,7 @@ namespace entry inline void winSetHwnd(::HWND _window) { bgfx::PlatformData pd; - memset(&pd, 0, sizeof(pd) ); + bx::memSet(&pd, 0, sizeof(pd) ); pd.nwh = _window; bgfx::setPlatformData(pd); } @@ -75,8 +78,8 @@ namespace entry XInput() : m_xinputdll(NULL) { - memset(m_connected, 0, sizeof(m_connected) ); - memset(m_state, 0, sizeof(m_state) ); + bx::memSet(m_connected, 0, sizeof(m_connected) ); + bx::memSet(m_state, 0, sizeof(m_state) ); m_deadzone[GamepadAxis::LeftX ] = m_deadzone[GamepadAxis::LeftY ] = XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE; @@ -85,7 +88,7 @@ namespace entry m_deadzone[GamepadAxis::LeftZ ] = m_deadzone[GamepadAxis::RightZ] = XINPUT_GAMEPAD_TRIGGER_THRESHOLD; - memset(m_flip, 1, sizeof(m_flip) ); + bx::memSet(m_flip, 1, sizeof(m_flip) ); m_flip[GamepadAxis::LeftY ] = m_flip[GamepadAxis::RightY] = -1; } @@ -353,7 +356,7 @@ namespace entry , m_init(false) , m_exit(false) { - memset(s_translateKey, 0, sizeof(s_translateKey) ); + bx::memSet(s_translateKey, 0, sizeof(s_translateKey) ); s_translateKey[VK_ESCAPE] = Key::Esc; s_translateKey[VK_RETURN] = Key::Return; s_translateKey[VK_TAB] = Key::Tab; @@ -451,7 +454,7 @@ namespace entry HINSTANCE instance = (HINSTANCE)GetModuleHandle(NULL); WNDCLASSEXA wnd; - memset(&wnd, 0, sizeof(wnd) ); + bx::memSet(&wnd, 0, sizeof(wnd) ); wnd.cbSize = sizeof(wnd); wnd.style = CS_HREDRAW | CS_VREDRAW; wnd.lpfnWndProc = wndProc; @@ -829,7 +832,7 @@ namespace entry WindowHandle findHandle(HWND _hwnd) { - bx::LwMutexScope scope(m_lock); + bx::MutexScope scope(m_lock); for (uint16_t ii = 0, num = m_windowAlloc.getNumHandles(); ii < num; ++ii) { uint16_t idx = m_windowAlloc.getHandleAt(ii); @@ -967,7 +970,7 @@ namespace entry static LRESULT CALLBACK wndProc(HWND _hwnd, UINT _id, WPARAM _wparam, LPARAM _lparam); EventQueue m_eventQueue; - bx::LwMutex m_lock; + bx::Mutex m_lock; bx::HandleAllocT m_windowAlloc; @@ -1018,7 +1021,7 @@ namespace entry WindowHandle createWindow(int32_t _x, int32_t _y, uint32_t _width, uint32_t _height, uint32_t _flags, const char* _title) { - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); WindowHandle handle = { s_ctx.m_windowAlloc.alloc() }; if (UINT16_MAX != handle.idx) @@ -1042,7 +1045,7 @@ namespace entry { PostMessage(s_ctx.m_hwnd[0], WM_USER_WINDOW_DESTROY, _handle.idx, 0); - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); s_ctx.m_windowAlloc.free(_handle.idx); } } diff --git a/3rdparty/bgfx/examples/common/entry/entry_x11.cpp b/3rdparty/bgfx/examples/common/entry/entry_x11.cpp index 7016b8b640f..78e4306eb2d 100644 --- a/3rdparty/bgfx/examples/common/entry/entry_x11.cpp +++ b/3rdparty/bgfx/examples/common/entry/entry_x11.cpp @@ -20,7 +20,8 @@ #include #include #include -#include // memset +#include + #include #include @@ -107,7 +108,7 @@ namespace entry { m_fd = open("/dev/input/js0", O_RDONLY | O_NONBLOCK); - memset(m_value, 0, sizeof(m_value) ); + bx::memSet(m_value, 0, sizeof(m_value) ); // Deadzone values from xinput.h m_deadzone[GamepadAxis::LeftX ] = @@ -250,7 +251,7 @@ namespace entry : m_modifiers(Modifier::None) , m_exit(false) { - memset(s_translateKey, 0, sizeof(s_translateKey) ); + bx::memSet(s_translateKey, 0, sizeof(s_translateKey) ); initTranslateKey(XK_Escape, Key::Esc); initTranslateKey(XK_Return, Key::Return); initTranslateKey(XK_Tab, Key::Tab); @@ -352,7 +353,7 @@ namespace entry m_visual = DefaultVisual(m_display, screen); m_root = RootWindow(m_display, screen); - memset(&m_windowAttrs, 0, sizeof(m_windowAttrs) ); + bx::memSet(&m_windowAttrs, 0, sizeof(m_windowAttrs) ); m_windowAttrs.background_pixmap = 0; m_windowAttrs.border_pixel = 0; m_windowAttrs.event_mask = 0 @@ -379,7 +380,7 @@ namespace entry // Clear window to black. XSetWindowAttributes attr; - memset(&attr, 0, sizeof(attr) ); + bx::memSet(&attr, 0, sizeof(attr) ); XChangeWindowAttributes(m_display, m_window[0], CWBackPixel, &attr); const char* wmDeleteWindowName = "WM_DELETE_WINDOW"; @@ -605,7 +606,7 @@ namespace entry // Clear window to black. XSetWindowAttributes attr; - memset(&attr, 0, sizeof(attr) ); + bx::memSet(&attr, 0, sizeof(attr) ); XChangeWindowAttributes(m_display, window, CWBackPixel, &attr); const char* wmDeleteWindowName = "WM_DELETE_WINDOW"; @@ -639,7 +640,7 @@ namespace entry WindowHandle findHandle(Window _window) { - bx::LwMutexScope scope(m_lock); + bx::MutexScope scope(m_lock); for (uint32_t ii = 0, num = m_windowAlloc.getNumHandles(); ii < num; ++ii) { uint16_t idx = m_windowAlloc.getHandleAt(ii); @@ -662,7 +663,7 @@ namespace entry int32_t m_mz; EventQueue m_eventQueue; - bx::LwMutex m_lock; + bx::Mutex m_lock; bx::HandleAllocT m_windowAlloc; int32_t m_depth; @@ -703,7 +704,7 @@ namespace entry WindowHandle createWindow(int32_t _x, int32_t _y, uint32_t _width, uint32_t _height, uint32_t _flags, const char* _title) { - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); WindowHandle handle = { s_ctx.m_windowAlloc.alloc() }; if (isValid(handle) ) @@ -729,7 +730,7 @@ namespace entry XUnmapWindow(s_ctx.m_display, s_ctx.m_window[_handle.idx]); XDestroyWindow(s_ctx.m_display, s_ctx.m_window[_handle.idx]); - bx::LwMutexScope scope(s_ctx.m_lock); + bx::MutexScope scope(s_ctx.m_lock); s_ctx.m_windowAlloc.free(_handle.idx); } } diff --git a/3rdparty/bgfx/examples/common/entry/input.cpp b/3rdparty/bgfx/examples/common/entry/input.cpp index 697ef1e5e69..e90d05ebb47 100644 --- a/3rdparty/bgfx/examples/common/entry/input.cpp +++ b/3rdparty/bgfx/examples/common/entry/input.cpp @@ -35,7 +35,7 @@ struct InputMouse m_norm[2] = 0.0f; } - memset(m_buttons, 0, sizeof(m_buttons) ); + bx::memSet(m_buttons, 0, sizeof(m_buttons) ); } void setResolution(uint16_t _width, uint16_t _height) @@ -78,8 +78,8 @@ struct InputKeyboard void reset() { - memset(m_key, 0, sizeof(m_key) ); - memset(m_once, 0xff, sizeof(m_once) ); + bx::memSet(m_key, 0, sizeof(m_key) ); + bx::memSet(m_once, 0xff, sizeof(m_once) ); } static uint32_t encodeKeyState(uint8_t _modifiers, bool _down) @@ -130,7 +130,7 @@ struct InputKeyboard popChar(); } - memcpy(&m_char[m_ring.m_current], _char, 4); + bx::memCopy(&m_char[m_ring.m_current], _char, 4); m_ring.commit(4); } @@ -169,7 +169,7 @@ struct Gamepad void reset() { - memset(m_axis, 0, sizeof(m_axis) ); + bx::memSet(m_axis, 0, sizeof(m_axis) ); } void setAxis(entry::GamepadAxis::Enum _axis, int32_t _value) diff --git a/3rdparty/bgfx/examples/common/font/font_manager.cpp b/3rdparty/bgfx/examples/common/font/font_manager.cpp index 40fbe5a5ec5..fb44cad7593 100644 --- a/3rdparty/bgfx/examples/common/font/font_manager.cpp +++ b/3rdparty/bgfx/examples/common/font/font_manager.cpp @@ -13,6 +13,7 @@ BX_PRAGMA_DIAGNOSTIC_PUSH(); BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4245) // error C4245: '=' : conversion from 'int' to 'FT_UInt', signed/unsigned mismatch +BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4611) // warning C4611 : interaction between '_setjmp' and C++ object destruction is non - portable #if BX_COMPILER_MSVC || BX_COMPILER_GCC >= 40300 #pragma push_macro("interface") #endif @@ -26,7 +27,6 @@ BX_PRAGMA_DIAGNOSTIC_POP(); #include "../common.h" #include -#include #if USE_EDTAA3 # include @@ -197,7 +197,7 @@ static void glyphInfoInit(GlyphInfo& _glyphInfo, FT_BitmapGlyph _bitmap, FT_Glyp for (int32_t ii = 0; ii < hh; ++ii) { - memcpy(_dst, src, dstPitch); + bx::memCopy(_dst, src, dstPitch); _dst += dstPitch; src += srcPitch; @@ -319,8 +319,8 @@ static void makeDistanceMap(const uint8_t* _img, uint8_t* _outImg, uint32_t _wid } // Compute inside = edtaa3(1-bitmap); % Transform foreground (1's) - memset(gx, 0, sizeof(double) * _width * _height); - memset(gy, 0, sizeof(double) * _width * _height); + bx::memSet(gx, 0, sizeof(double) * _width * _height); + bx::memSet(gy, 0, sizeof(double) * _width * _height); for (ii = 0; ii < _width * _height; ++ii) { data[ii] = 1.0 - data[ii]; @@ -418,12 +418,12 @@ bool TrueTypeFont::bakeGlyphDistance(CodePoint _codePoint, GlyphInfo& _glyphInfo uint32_t buffSize = nw * nh * sizeof(uint8_t); uint8_t* alphaImg = (uint8_t*)malloc(buffSize); - memset(alphaImg, 0, nw * nh * sizeof(uint8_t) ); + bx::memSet(alphaImg, 0, nw * nh * sizeof(uint8_t) ); //copy the original buffer to the temp one for (uint32_t ii = dh; ii < nh - dh; ++ii) { - memcpy(alphaImg + ii * nw + dw, _outBuffer + (ii - dh) * ww, ww); + bx::memCopy(alphaImg + ii * nw + dw, _outBuffer + (ii - dh) * ww, ww); } makeDistanceMap(alphaImg, _outBuffer, nw, nh); @@ -482,7 +482,7 @@ void FontManager::init() const uint32_t W = 3; // Create filler rectangle uint8_t buffer[W * W * 4]; - memset(buffer, 255, W * W * 4); + bx::memSet(buffer, 255, W * W * 4); m_blackGlyph.width = W; m_blackGlyph.height = W; @@ -513,7 +513,7 @@ TrueTypeHandle FontManager::createTtf(const uint8_t* _buffer, uint32_t _size) BX_CHECK(id != bx::HandleAlloc::invalid, "Invalid handle used"); m_cachedFiles[id].buffer = new uint8_t[_size]; m_cachedFiles[id].bufferSize = _size; - memcpy(m_cachedFiles[id].buffer, _buffer, _size); + bx::memCopy(m_cachedFiles[id].buffer, _buffer, _size); TrueTypeHandle ret = { id }; return ret; diff --git a/3rdparty/bgfx/examples/common/font/fs_font_basic.bin.h b/3rdparty/bgfx/examples/common/font/fs_font_basic.bin.h index 214342235f6..709bec24561 100644 --- a/3rdparty/bgfx/examples/common/font/fs_font_basic.bin.h +++ b/3rdparty/bgfx/examples/common/font/fs_font_basic.bin.h @@ -36,6 +36,263 @@ static const uint8_t fs_font_basic_glsl[553] = 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ragColor = tmpva 0x72, 0x5f, 0x34, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // r_4;.}... }; +static const uint8_t fs_font_basic_spv[4053] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xc8, 0x0f, 0x03, 0x02, 0x23, 0x07, // FSH...........#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........Ta...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // main........g... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x00, // BgfxSamplerCube. + 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....g.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // mpler.......g... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0f, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x43, 0x75, 0x62, 0x65, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, // ureCube(struct-B + 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x2d, 0x70, // gfxSamplerCube-p + 0x31, 0x2d, 0x74, 0x43, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, // 1-tC11;vf3;..... + 0x27, 0x0e, 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, // '..._sampler.... + 0x05, 0x00, 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, // ........_coord.. + 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, // ....5...vec4_spl + 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, // at(f1;.......... + 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, // _x..........@mai + 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // n(vf4;vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....B$..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, // ........x ..v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, // xcoord0......A.. + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ....C...s_texCol + 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // or..........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, // xColorSampler... + 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // orTexture....... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g........T..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, // m...........colo + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2f, 0x31, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // r......./1..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x69, 0x6e, 0x64, 0x65, // m.......M...inde + 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x60, 0x10, 0x00, 0x00, 0x72, 0x67, 0x62, 0x61, // x.......`...rgba + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, // ............alph + 0x61, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // a........A..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // v_color0........ + 0x03, 0x3c, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // .<..v_texcoord0. + 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....t...v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .G..param....... + 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .U..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....param....... + 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, // 0_......D...$Glo + 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // bal.....D....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_viewRect...... + 0x44, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, // D.......u_viewTe + 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // xel.....D....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x01, 0x00, 0x00, // u_view......D... + 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, // ....u_invView... + 0x06, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, // ....D.......u_pr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // oj......D....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_invProj....... + 0x44, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, // D.......u_viewPr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x44, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // oj......D....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // u_invViewProj... + 0x06, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ....D.......u_mo + 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // del.....D....... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, // u_modelView..... + 0x44, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // D.......u_modelV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x01, 0x00, 0x00, // iewProj.....D... + 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, // ....u_alphaRef4. + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G...w........... + 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // G...t........... + 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G............... + 0x47, 0x00, 0x04, 0x00, 0x42, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // G...B.......@... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, // #.......H...D... + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x44, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // D............... + 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...D........... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // `...H...D....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x44, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // D............... + 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...D........... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...D....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x44, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // D............... + 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...D........... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // `...H...D....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x44, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // D............... + 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...D........... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...D....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, // ........H...D... + 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x44, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // D............... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x44, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...G...D....... + 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, // ........!....... + 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x98, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, // ................ + 0x67, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // g........... ... + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // !.......g....... + 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0xe8, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, // ........!....... + 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // !............... + 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x06, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // !............... + 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, // ........;...!... + 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // C....... ...y... + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // ........;...y... + 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, // ........;....... + 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // .......+....... + 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, // ................ + 0x98, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, // ....+........... + 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x69, 0x0b, 0x00, 0x00, // ....+.......i... + 0x00, 0x00, 0x80, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, // ...@+........... + 0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, // ...?+........... + 0x04, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x88, 0x03, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x16, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x05, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x88, 0x03, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, // ....+........... + 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, // ....+........... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, // ....+........... + 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, // ....+........... + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // ....;.......w... + 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, // ....;.......t... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ....;........... + 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........e....... + 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....+.......j... + 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x42, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // .......B...e... + 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x44, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // j.......D....... + 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ....e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x42, 0x03, 0x00, 0x00, // e...e...e...B... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // e...e.......6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .G......;....... + 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .U......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........=....... + 0x21, 0x43, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, // !C......=....... + 0x02, 0x33, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x67, 0x09, 0x00, 0x00, // .3......P...g... + 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // . ..!C...3..>... + 0x43, 0x12, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // C.... ..=....... + 0xfa, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .A..w...=....... + 0x03, 0x3c, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, // .<..t...>....G.. + 0xfa, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // .A..>....U...<.. + 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, // 9........&...... + 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .G...U......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xe8, 0x03, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // ....7...!...'... + 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0xcd, 0x5b, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x15, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, // .[..A.......i$.. + 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, // '.......=....... + 0x16, 0x31, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, // .1..i$..A...y... + 0x54, 0x44, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // TD..'.......=... + 0xfc, 0x01, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, // .....V..TD..V... + 0xfe, 0x01, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, // .....B...1...V.. + 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, // =.......6....... + 0x57, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, // W........Q...B.. + 0x36, 0x1c, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // 6........Q..8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .....>..=....... + 0x18, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .S......=....... + 0x5d, 0x4a, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ]J......=....... + 0xfd, 0x34, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .4......=....... + 0x10, 0x35, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .5......P....... + 0x3f, 0x3a, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ?:...S..]J...4.. + 0x10, 0x35, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // .5......?:..8... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x91, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // ....7.......B$.. + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......x ..7... + 0x9a, 0x02, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, // .....A.......... + 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........T...... + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2f, 0x31, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;......./1...... + 0x3b, 0x00, 0x04, 0x00, 0x05, 0x06, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;.......`....... + 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, // >....T......9... + 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, // ........5....T.. + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // =.......*F..x .. + 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xed, 0x44, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, // O........D..*F.. + 0x2a, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // *F.............. + 0x3e, 0x00, 0x03, 0x00, 0x2f, 0x31, 0x00, 0x00, 0xed, 0x44, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, // >.../1...D..9... + 0x1d, 0x00, 0x00, 0x00, 0xcf, 0x5f, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....._......C... + 0x2f, 0x31, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, 0xcf, 0x5f, 0x00, 0x00, // /1..>........_.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x59, 0x4b, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // A.......YK..x .. + 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xea, 0x36, 0x00, 0x00, // ....=........6.. + 0x59, 0x4b, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09, 0x3e, 0x00, 0x00, // YK...........>.. + 0xea, 0x36, 0x00, 0x00, 0x69, 0x0b, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .6..i........... + 0x90, 0x24, 0x00, 0x00, 0x09, 0x3e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x04, 0x00, // .$...>......n... + 0x0c, 0x00, 0x00, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x90, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ....M....$..A... + 0x8a, 0x02, 0x00, 0x00, 0x6b, 0x5e, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, // ....k^.......... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x2e, 0x00, 0x00, 0x6b, 0x5e, 0x00, 0x00, // =...........k^.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x94, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // A........F..`... + 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x94, 0x46, 0x00, 0x00, 0x81, 0x2e, 0x00, 0x00, // ....>....F...... + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x48, 0x46, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // A.......HF...... + 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe5, 0x5f, 0x00, 0x00, // ....=........_.. + 0x48, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x95, 0x46, 0x00, 0x00, // HF..A........F.. + 0x60, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x46, 0x00, 0x00, // `.......>....F.. + 0xe5, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x49, 0x46, 0x00, 0x00, // ._..A.......IF.. + 0x18, 0x0e, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........=....... + 0xe6, 0x5f, 0x00, 0x00, 0x49, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // ._..IF..A....... + 0x96, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .F..`.......>... + 0x96, 0x46, 0x00, 0x00, 0xe6, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // .F..._..A....... + 0x4a, 0x46, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // JF..........=... + 0x0d, 0x00, 0x00, 0x00, 0xe7, 0x5f, 0x00, 0x00, 0x4a, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ....._..JF..A... + 0x8a, 0x02, 0x00, 0x00, 0x97, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x14, 0x0a, 0x00, 0x00, // .....F..`....... + 0x3e, 0x00, 0x03, 0x00, 0x97, 0x46, 0x00, 0x00, 0xe7, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // >....F..._..A... + 0x8a, 0x02, 0x00, 0x00, 0xfc, 0x45, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x4d, 0x15, 0x00, 0x00, // .....E..`...M... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0xfc, 0x45, 0x00, 0x00, // =............E.. + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x26, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // =........&..B$.. + 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x93, 0x36, 0x00, 0x00, 0x1d, 0x26, 0x00, 0x00, // O........6...&.. + 0x1d, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // .&.............. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4b, 0x5e, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // A.......K^..B$.. + 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x13, 0x43, 0x00, 0x00, // ....=........C.. + 0x4b, 0x5e, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x52, 0x5c, 0x00, 0x00, // K^..........R... + 0x13, 0x43, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .C......Q....... + 0x1e, 0x1d, 0x00, 0x00, 0x93, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // .....6......Q... + 0x0d, 0x00, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x93, 0x36, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....."...6...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, 0x93, 0x36, 0x00, 0x00, // Q.......6`...6.. + 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, // ....P........P.. + 0x1e, 0x1d, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, 0x52, 0x5c, 0x00, 0x00, // ....."..6`..R... + 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >....A...P...... + 0x38, 0x00, 0x01, 0x00, 0x00, // 8.... +}; static const uint8_t fs_font_basic_dx9[454] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -110,9 +367,9 @@ static const uint8_t fs_font_basic_dx11[617] = 0x05, 0x72, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x01, 0x00, 0x00, // .r ......F...... 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // .>....... }; -static const uint8_t fs_font_basic_mtl[964] = +static const uint8_t fs_font_basic_mtl[937] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xb5, 0x03, 0x00, 0x00, 0x75, 0x73, // FSH...........us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x9a, 0x03, 0x00, 0x00, 0x75, 0x73, // FSH...........us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -120,59 +377,57 @@ static const uint8_t fs_font_basic_mtl[964] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x76, 0x5f, 0x74, // r0;. float4 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, 0x61, // texturecube s_texColor [[ - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, // texture(0)]], sa - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // mpler _mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, // texColor [[sampl - 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, // er(0)]]).{. xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, // _mtl_o;. half - 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, // rgba_1[4];. hal - 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, // f4 tmpvar_2 = 0; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x68, 0x61, // . tmpvar_2 = ha - 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, // lf4(s_texColor.s - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // ample(_mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texColor, (float - 0x33, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // 3)(_mtl_i.v_texc - 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // oord0.xyz)));. - 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, // int tmpvar_3 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x69, // ;. tmpvar_3 = i - 0x6e, 0x74, 0x28, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, // nt(((_mtl_i.v_te - 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, // xcoord0.w * 4.0) - 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, // + 0.5));. rgba - 0x5f, 0x31, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // _1[0] = tmpvar_2 - 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x31, 0x5d, 0x20, // .z;. rgba_1[1] - 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_2.y;. - 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // rgba_1[2] = tmpv - 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, // ar_2.x;. rgba_1 - 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x77, // [3] = tmpvar_2.w - 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // ;. half4 tmpvar - 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // _4 = 0;. tmpvar - 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x28, 0x5f, // _4.xyz = half3(_ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, // mtl_i.v_color0.x - 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, // yz);. tmpvar_4. - 0x77, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // w = ((half)(_mtl - 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, // _i.v_color0.w * - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x74, // (float)(rgba_1[t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x5d, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, // mpvar_3])));. _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, // mtl_o.gl_FragCol - 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x3b, 0x0a, 0x20, // or = tmpvar_4;. - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, // return _mtl_o;. - 0x7d, 0x0a, 0x0a, 0x00, // }... + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, // texturecube s_texColor [ + 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, // [texture(0)]], s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, // ampler _mtlsmp_s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, // _texColor [[samp + 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, // ler(0)]]).{. xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // t _mtl_o;. floa + 0x74, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x66, // t rgba_1[4];. f + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // loat4 tmpvar_2 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // 0;. tmpvar_2 = + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // s_texColor.samp + 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, // Color, (float3)( + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, // d0.xyz));. int + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_3 = 0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x28, // tmpvar_3 = int(( + 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // (_mtl_i.v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, // rd0.w * 4.0) + 0 + 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x30, // .5));. rgba_1[0 + 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x7a, 0x3b, 0x0a, // ] = tmpvar_2.z;. + 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, // rgba_1[1] = tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, // pvar_2.y;. rgba + 0x5f, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // _1[2] = tmpvar_2 + 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x33, 0x5d, 0x20, // .x;. rgba_1[3] + 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_2.w;. + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, // float4 tmpvar_4 + 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, // = 0;. tmpvar_4. + 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, // xyz = _mtl_i.v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, // olor0.xyz;. tmp + 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // var_4.w = (_mtl_ + 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x72, // i.v_color0.w * r + 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x5d, 0x29, // gba_1[tmpvar_3]) + 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, // ;. _mtl_o.gl_Fr + 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // agColor = tmpvar + 0x5f, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, // _4;. return _mt + 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // l_o;.}... }; extern const uint8_t* fs_font_basic_pssl; extern const uint32_t fs_font_basic_pssl_size; diff --git a/3rdparty/bgfx/examples/common/font/fs_font_distance_field.bin.h b/3rdparty/bgfx/examples/common/font/fs_font_distance_field.bin.h index 36855c1aea0..91090bc5977 100644 --- a/3rdparty/bgfx/examples/common/font/fs_font_distance_field.bin.h +++ b/3rdparty/bgfx/examples/common/font/fs_font_distance_field.bin.h @@ -65,6 +65,286 @@ static const uint8_t fs_font_distance_field_glsl[1019] = 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, // _FragColor = tmp 0x76, 0x61, 0x72, 0x5f, 0x39, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // var_9;.}... }; +static const uint8_t fs_font_distance_field_spv[4425] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x3c, 0x11, 0x03, 0x02, 0x23, 0x07, // FSH.......<...#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........Ta...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // main........g... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x00, // BgfxSamplerCube. + 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....g.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // mpler.......g... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0f, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x43, 0x75, 0x62, 0x65, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, // ureCube(struct-B + 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x2d, 0x70, // gfxSamplerCube-p + 0x31, 0x2d, 0x74, 0x43, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, // 1-tC11;vf3;..... + 0x27, 0x0e, 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, // '..._sampler.... + 0x05, 0x00, 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, // ........_coord.. + 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, // ....5...vec4_spl + 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, // at(f1;.......... + 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, // _x..........@mai + 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // n(vf4;vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....B$..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, // ........x ..v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, // xcoord0......A.. + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ....C...s_texCol + 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // or..........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, // xColorSampler... + 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // orTexture....... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g........T..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, // m...........colo + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2f, 0x31, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // r......./1..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x69, 0x6e, 0x64, 0x65, // m.......M...inde + 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x60, 0x10, 0x00, 0x00, 0x72, 0x67, 0x62, 0x61, // x.......`...rgba + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x81, 0x11, 0x00, 0x00, 0x64, 0x69, 0x73, 0x74, // ............dist + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xcf, 0x16, 0x00, 0x00, 0x64, 0x78, 0x00, 0x00, // ............dx.. + 0x05, 0x00, 0x03, 0x00, 0xd0, 0x16, 0x00, 0x00, 0x64, 0x79, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // ........dy...... + 0xc9, 0x10, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xf3, 0x10, 0x00, 0x00, // ....w........... + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, // alpha........A.. + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // v_color0........ + 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // w...v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // .....<..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, // rd0.....t...v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, // xcoord0......... + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....G..param... + 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....U..param... + 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x06, 0x00, 0x00, // ata_0_.......... + 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1f, 0x06, 0x00, 0x00, // $Global......... + 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, // ....u_viewRect.. + 0x06, 0x00, 0x06, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // ewTexel......... + 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_view...... + 0x1f, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // w............... + 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1f, 0x06, 0x00, 0x00, // u_proj.......... + 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // ....u_invProj... + 0x06, 0x00, 0x06, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x1f, 0x06, 0x00, 0x00, // ewProj.......... + 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ....u_invViewPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1f, 0x06, 0x00, 0x00, // u_model......... + 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, // ....u_modelView. + 0x06, 0x00, 0x07, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, // delViewProj..... + 0x1f, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, // ........u_alphaR + 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // ef4.G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // ....G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G...w....... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G...t....... + 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, // ....G........... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....G...7....... + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // @...H........... + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // #.......H....... + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ....#.......H... + 0x1f, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // #...`...H....... + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // #.......H....... + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // #...`...H....... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, // #.......H....... + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x1f, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x1f, 0x06, 0x00, 0x00, // #... ...G....... + 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, // ............!... + 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, // ................ + 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, // ........ ....... + 0x98, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x1e, 0x00, 0x04, 0x00, 0x67, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, // ....g........... + 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x09, 0x00, 0x00, // ...!.......g... + 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // ............... + 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x05, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // !...........!... + 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....!........... + 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!........... + 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x21, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // !...C....... ... + 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // y...........;... + 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // y........... ... + 0x15, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x15, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // ................ + 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, // ................ + 0xfe, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // .......+....... + 0x13, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0x69, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // i......@+....... + 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // .......?+....... + 0x16, 0x0a, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x88, 0x03, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x16, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x05, 0x06, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ........+....... + 0x10, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ........+....... + 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ........+....... + 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x14, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0xf7, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // .......A ....... + 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // ........;....... + 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // w.......;....... + 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, // t....... ....... + 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, // ........;....... + 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // ........+....... + 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x37, 0x00, 0x00, 0x00, // j... .......7... + 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x1f, 0x06, 0x00, 0x00, // e...j........... + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ........e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x37, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // 7...e...e....... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ........Sa..;... + 0x9a, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....G......;... + 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....U......;... + 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ............=... + 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....!C......=... + 0x98, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, // .....3......P... + 0x67, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // g.... ..!C...3.. + 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // >...C.... ..=... + 0x1d, 0x00, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....A..w...=... + 0x1d, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....<..t...>... + 0xc9, 0x47, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, // .G...A..>....U.. + 0x03, 0x3c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, // .<..9........&.. + 0x82, 0x0d, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // .....G...U...... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // =............... + 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >............... + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, // 8...6........... + 0x00, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, // ........7...!... + 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, // '...7........... + 0xf8, 0x00, 0x02, 0x00, 0xcd, 0x5b, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x15, 0x03, 0x00, 0x00, // .....[..A....... + 0x69, 0x24, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // i$..'.......=... + 0x98, 0x00, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // .....1..i$..A... + 0x79, 0x04, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // y...TD..'....... + 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, // =........V..TD.. + 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, // V........B...1.. + 0x9b, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, // .V..=.......6... + 0xe7, 0x15, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, // ....W........Q.. + 0xc9, 0x42, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, // .B..6........Q.. + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, // 8...6.......5... + 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .........>..=... + 0x0d, 0x00, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....S......=... + 0x0d, 0x00, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....]J......=... + 0x0d, 0x00, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....4......=... + 0x0d, 0x00, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, // .....5......P... + 0x1d, 0x00, 0x00, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, // ....?:...S..]J.. + 0xfd, 0x34, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, // .4...5......?:.. + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, // 8...6........... + 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........7....... + 0x42, 0x24, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // B$..7.......x .. + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7........A...... + 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, // ....;........T.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2f, 0x31, 0x00, 0x00, // ....;......./1.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x05, 0x06, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // ....;.......`... + 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....>....T...... + 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, // 9...........5... + 0xd5, 0x54, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, // .T..=.......*F.. + 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xed, 0x44, 0x00, 0x00, // x ..O........D.. + 0x2a, 0x46, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // *F..*F.......... + 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2f, 0x31, 0x00, 0x00, 0xed, 0x44, 0x00, 0x00, // ....>.../1...D.. + 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcf, 0x5f, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, // 9........_...... + 0x43, 0x12, 0x00, 0x00, 0x2f, 0x31, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, // C.../1..>....... + 0xcf, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x59, 0x4b, 0x00, 0x00, // ._..A.......YK.. + 0x78, 0x20, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // x ......=....... + 0xea, 0x36, 0x00, 0x00, 0x59, 0x4b, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .6..YK.......... + 0x09, 0x3e, 0x00, 0x00, 0xea, 0x36, 0x00, 0x00, 0x69, 0x0b, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, // .>...6..i....... + 0x0d, 0x00, 0x00, 0x00, 0x90, 0x24, 0x00, 0x00, 0x09, 0x3e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, // .....$...>...... + 0x6e, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x90, 0x24, 0x00, 0x00, // n.......M....$.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x6b, 0x5e, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // A.......k^...... + 0x10, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x2e, 0x00, 0x00, // ....=........... + 0x6b, 0x5e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x94, 0x46, 0x00, 0x00, // k^..A........F.. + 0x60, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x94, 0x46, 0x00, 0x00, // `.......>....F.. + 0x81, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x48, 0x46, 0x00, 0x00, // ....A.......HF.. + 0x18, 0x0e, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........=....... + 0xe5, 0x5f, 0x00, 0x00, 0x48, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // ._..HF..A....... + 0x95, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .F..`.......>... + 0x95, 0x46, 0x00, 0x00, 0xe5, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // .F..._..A....... + 0x49, 0x46, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // IF..........=... + 0x0d, 0x00, 0x00, 0x00, 0xe6, 0x5f, 0x00, 0x00, 0x49, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ....._..IF..A... + 0x8a, 0x02, 0x00, 0x00, 0x96, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, // .....F..`....... + 0x3e, 0x00, 0x03, 0x00, 0x96, 0x46, 0x00, 0x00, 0xe6, 0x5f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // >....F..._..A... + 0x8a, 0x02, 0x00, 0x00, 0x4a, 0x46, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, // ....JF.......... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe7, 0x5f, 0x00, 0x00, 0x4a, 0x46, 0x00, 0x00, // =........_..JF.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x97, 0x46, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // A........F..`... + 0x14, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x97, 0x46, 0x00, 0x00, 0xe7, 0x5f, 0x00, 0x00, // ....>....F..._.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xfc, 0x45, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // A........E..`... + 0x4d, 0x15, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x11, 0x00, 0x00, // M...=........... + 0xfc, 0x45, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa7, 0x30, 0x00, 0x00, // .E..=........0.. + 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xbb, 0x1d, 0x00, 0x00, // x ..O........... + 0xa7, 0x30, 0x00, 0x00, 0xa7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .0...0.......... + 0x02, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x63, 0x23, 0x00, 0x00, // ............c#.. + 0xbb, 0x1d, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xcf, 0x16, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x63, 0x23, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....B...c#..=... + 0x1d, 0x00, 0x00, 0x00, 0xca, 0x51, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, // .....Q..x ..O... + 0x18, 0x00, 0x00, 0x00, 0x47, 0x1e, 0x00, 0x00, 0xca, 0x51, 0x00, 0x00, 0xca, 0x51, 0x00, 0x00, // ....G....Q...Q.. + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0xe1, 0x57, 0x00, 0x00, 0x47, 0x1e, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, // .....W..G....... + 0x18, 0x00, 0x00, 0x00, 0x42, 0x58, 0x00, 0x00, 0xe1, 0x57, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, // ....BX...W...... + 0x0d, 0x00, 0x00, 0x00, 0xd0, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, // ............B... + 0x42, 0x58, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x87, 0x45, 0x00, 0x00, // BX...........E.. + 0xcf, 0x16, 0x00, 0x00, 0xd0, 0x16, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0xc9, 0x10, 0x00, 0x00, 0xf7, 0x0a, 0x00, 0x00, 0x87, 0x45, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, // .........E...... + 0x0d, 0x00, 0x00, 0x00, 0x23, 0x44, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xc9, 0x10, 0x00, 0x00, // ....#D.......... + 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6b, 0x1f, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, // ........k....... + 0xc9, 0x10, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x23, 0x44, 0x00, 0x00, 0x6b, 0x1f, 0x00, 0x00, // ....1...#D..k... + 0x81, 0x11, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa5, 0x4a, 0x00, 0x00, // ....=........J.. + 0x42, 0x24, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x97, 0x49, 0x00, 0x00, // B$..O........I.. + 0xa5, 0x4a, 0x00, 0x00, 0xa5, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .J...J.......... + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4b, 0x5e, 0x00, 0x00, // ....A.......K^.. + 0x42, 0x24, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // B$......=....... + 0x13, 0x43, 0x00, 0x00, 0x4b, 0x5e, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .C..K^.......... + 0x52, 0x5c, 0x00, 0x00, 0x13, 0x43, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // R....C......Q... + 0x0d, 0x00, 0x00, 0x00, 0x1e, 0x1d, 0x00, 0x00, 0x97, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........I...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x97, 0x49, 0x00, 0x00, // Q........"...I.. + 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, // ....Q.......6`.. + 0x97, 0x49, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .I......P....... + 0x0f, 0x50, 0x00, 0x00, 0x1e, 0x1d, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, // .P......."..6`.. + 0x52, 0x5c, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, // R...>....A...P.. + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ....8.... +}; static const uint8_t fs_font_distance_field_dx9[746] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -184,9 +464,9 @@ static const uint8_t fs_font_distance_field_dx11[1053] = 0x00, 0x36, 0x00, 0x00, 0x05, 0x72, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, // .6...r ......F.. 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // .....>....... }; -static const uint8_t fs_font_distance_field_mtl[1539] = +static const uint8_t fs_font_distance_field_mtl[1413] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xf4, 0x05, 0x00, 0x00, 0x75, 0x73, // FSH...........us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x76, 0x05, 0x00, 0x00, 0x75, 0x73, // FSH.......v...us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -194,95 +474,87 @@ static const uint8_t fs_font_distance_field_mtl[1539] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x76, 0x5f, 0x74, // r0;. float4 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, 0x61, // texturecube s_texColor [[ - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, // texture(0)]], sa - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // mpler _mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, // texColor [[sampl - 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, // er(0)]]).{. xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, // _mtl_o;. half - 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, // rgba_1[4];. hal - 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, // f4 tmpvar_2 = 0; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x68, 0x61, // . tmpvar_2 = ha - 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, // lf4(s_texColor.s - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // ample(_mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texColor, (float - 0x33, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // 3)(_mtl_i.v_texc - 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // oord0.xyz)));. - 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, // int tmpvar_3 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x69, // ;. tmpvar_3 = i - 0x6e, 0x74, 0x28, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, // nt(((_mtl_i.v_te - 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, // xcoord0.w * 4.0) - 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, // + 0.5));. rgba - 0x5f, 0x31, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // _1[0] = tmpvar_2 - 0x2e, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x31, 0x5d, 0x20, // .z;. rgba_1[1] - 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_2.y;. - 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // rgba_1[2] = tmpv - 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, // ar_2.x;. rgba_1 - 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x77, // [3] = tmpvar_2.w - 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ;. float3 tmpva - 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_4 = 0;. tmpva - 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x78, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // r_4 = dfdx(_mtl_ - 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, // i.v_texcoord0.xy - 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, // z);. float3 tmp - 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, // var_5 = 0;. tmp - 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x79, 0x28, 0x2d, 0x5f, 0x6d, // var_5 = dfdy(-_m - 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // tl_i.v_texcoord0 - 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, // .xyz);. float t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_6 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x38, 0x2e, 0x30, 0x20, 0x2a, // mpvar_6 = (8.0 * - 0x20, 0x28, 0x73, 0x71, 0x72, 0x74, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, // (sqrt(. dot - 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // (tmpvar_4, tmpva - 0x72, 0x5f, 0x34, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x71, 0x72, 0x74, 0x28, // r_4). ) + sqrt( - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // . dot (tmpvar - 0x5f, 0x35, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x29, 0x0a, 0x20, 0x20, // _5, tmpvar_5). - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x65, 0x64, 0x67, // )));. float edg - 0x65, 0x30, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x65, 0x64, 0x67, 0x65, // e0_7 = 0;. edge - 0x30, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2d, 0x20, 0x74, 0x6d, 0x70, // 0_7 = (0.5 - tmp - 0x76, 0x61, 0x72, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, // var_6);. float - 0x65, 0x64, 0x67, 0x65, 0x31, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x65, // edge1_8 = 0;. e - 0x64, 0x67, 0x65, 0x31, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, // dge1_8 = (0.5 + - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, // tmpvar_6);. hal - 0x66, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, // f tmpvar_9 = 0;. - 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, // tmpvar_9 = cla - 0x6d, 0x70, 0x20, 0x28, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, // mp (((half)((flo - 0x61, 0x74, 0x29, 0x28, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, // at)(((half)((flo - 0x61, 0x74, 0x29, 0x28, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, // at)(rgba_1[tmpva - 0x72, 0x5f, 0x33, 0x5d, 0x29, 0x20, 0x2d, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x37, 0x29, // r_3]) - edge0_7) - 0x29, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x65, 0x64, 0x67, 0x65, 0x31, 0x5f, 0x38, 0x20, 0x2d, 0x20, // )) / (edge1_8 - - 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x37, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x68, 0x61, 0x6c, // edge0_7))), (hal - 0x66, 0x29, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x31, 0x2e, 0x30, // f)0.0, (half)1.0 - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // );. half4 tmpva - 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, // r_10 = 0;. tmpv - 0x61, 0x72, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, // ar_10.xyz = half - 0x33, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // 3(_mtl_i.v_color - 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // 0.xyz);. tmpvar - 0x5f, 0x31, 0x30, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, // _10.w = ((half)( - 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, // _mtl_i.v_color0. - 0x77, 0x20, 0x2a, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x28, 0x74, 0x6d, 0x70, // w * (float)((tmp - 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, 0x2a, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // var_9 * (tmpvar_ - 0x39, 0x20, 0x2a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, // 9 * . ((half) - 0x28, 0x33, 0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, // (3.0) - ((half)( - 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x29, // 2.0) * tmpvar_9) - 0x29, 0x0a, 0x20, 0x20, 0x29, 0x29, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, // ). )))));. _mt - 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // l_o.gl_FragColor - 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x30, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_10;. - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, // return _mtl_o;.} - 0x0a, 0x0a, 0x00, // ... + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, // texturecube s_texColor [ + 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, // [texture(0)]], s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, // ampler _mtlsmp_s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, // _texColor [[samp + 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, // ler(0)]]).{. xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // t _mtl_o;. floa + 0x74, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x66, // t rgba_1[4];. f + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // loat4 tmpvar_2 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // 0;. tmpvar_2 = + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // s_texColor.samp + 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, // Color, (float3)( + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, // d0.xyz));. int + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_3 = 0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x28, // tmpvar_3 = int(( + 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // (_mtl_i.v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, // rd0.w * 4.0) + 0 + 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x30, // .5));. rgba_1[0 + 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x7a, 0x3b, 0x0a, // ] = tmpvar_2.z;. + 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, // rgba_1[1] = tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x79, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, // pvar_2.y;. rgba + 0x5f, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // _1[2] = tmpvar_2 + 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x33, 0x5d, 0x20, // .x;. rgba_1[3] + 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_2.w;. + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, // float3 tmpvar_4 + 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, // = 0;. tmpvar_4 + 0x3d, 0x20, 0x64, 0x66, 0x64, 0x78, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, // = dfdx(_mtl_i.v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, // texcoord0.xyz);. + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // float3 tmpvar_ + 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 5 = 0;. tmpvar_ + 0x35, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x79, 0x28, 0x2d, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, // 5 = dfdy(-_mtl_i + 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, // .v_texcoord0.xyz + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // );. float tmpva + 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_6 = 0;. tmpva + 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x38, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x71, // r_6 = (8.0 * (sq + 0x72, 0x74, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, // rt(. dot (tmp + 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x29, // var_4, tmpvar_4) + 0x0a, 0x20, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x71, 0x72, 0x74, 0x28, 0x0a, 0x20, 0x20, 0x20, // . ) + sqrt(. + 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x2c, 0x20, // dot (tmpvar_5, + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x29, 0x29, 0x3b, // tmpvar_5). ))); + 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x37, // . float edge0_7 + 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x37, 0x20, // = 0;. edge0_7 + 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // = (0.5 - tmpvar_ + 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, // 6);. float tmpv + 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, // ar_8 = 0;. tmpv + 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, 0x28, 0x28, // ar_8 = clamp ((( + 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x5d, // rgba_1[tmpvar_3] + 0x20, 0x2d, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x37, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x0a, // - edge0_7) / (. + 0x20, 0x20, 0x20, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // (0.5 + tmpva + 0x72, 0x5f, 0x36, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, // r_6). - edge0_ + 0x37, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, // 7)), 0.0, 1.0);. + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // float4 tmpvar_ + 0x39, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 9 = 0;. tmpvar_ + 0x39, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, // 9.xyz = _mtl_i.v + 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, // _color0.xyz;. t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, // mpvar_9.w = (_mt + 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, // l_i.v_color0.w * + 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x2a, 0x20, 0x28, 0x74, 0x6d, // (tmpvar_8 * (tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x2a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x28, 0x33, // pvar_8 * . (3 + 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x28, 0x32, 0x2e, 0x30, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, // .0 - (2.0 * tmpv + 0x61, 0x72, 0x5f, 0x38, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // ar_8)). )));. + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // _mtl_o.gl_FragCo + 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x3b, 0x0a, // lor = tmpvar_9;. + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, // return _mtl_o; + 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; extern const uint8_t* fs_font_distance_field_pssl; extern const uint32_t fs_font_distance_field_pssl_size; diff --git a/3rdparty/bgfx/examples/common/font/fs_font_distance_field_subpixel.bin.h b/3rdparty/bgfx/examples/common/font/fs_font_distance_field_subpixel.bin.h index 0478efbf618..5764cc17eeb 100644 --- a/3rdparty/bgfx/examples/common/font/fs_font_distance_field_subpixel.bin.h +++ b/3rdparty/bgfx/examples/common/font/fs_font_distance_field_subpixel.bin.h @@ -81,6 +81,288 @@ static const uint8_t fs_font_distance_field_subpixel_glsl[1268] = 0x20, 0x2a, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x0a, // * v_color0.w);. 0x7d, 0x0a, 0x0a, 0x00, // }... }; +static const uint8_t fs_font_distance_field_subpixel_spv[4457] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x5c, 0x11, 0x03, 0x02, 0x23, 0x07, // FSH...........#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0xb1, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........a...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // main........g... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x00, // BgfxSamplerCube. + 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....g.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, // mpler.......g... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0f, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x43, 0x75, 0x62, 0x65, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, // ureCube(struct-B + 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, 0x75, 0x62, 0x65, 0x2d, 0x70, // gfxSamplerCube-p + 0x31, 0x2d, 0x74, 0x43, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, // 1-tC11;vf3;..... + 0x27, 0x0e, 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, // '..._sampler.... + 0x05, 0x00, 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, // ........_coord.. + 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, // ....5...vec4_spl + 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, // at(f1;.......... + 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, // _x..........@mai + 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // n(vf4;vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....B$..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, // ........x ..v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, // xcoord0......A.. + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ....C...s_texCol + 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // or..........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, // xColorSampler... + 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // orTexture....... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g........T..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x69, 0x6e, 0x64, 0x65, // m.......M...inde + 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x57, 0x17, 0x00, 0x00, 0x64, 0x78, 0x33, 0x00, // x.......W...dx3. + 0x05, 0x00, 0x03, 0x00, 0x85, 0x0f, 0x00, 0x00, 0x64, 0x79, 0x33, 0x00, 0x05, 0x00, 0x04, 0x00, // ........dy3..... + 0xc2, 0x0c, 0x00, 0x00, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ....decal....... + 0xd7, 0x12, 0x00, 0x00, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x00, 0x00, // ....sampleLeft.. + 0x05, 0x00, 0x05, 0x00, 0x07, 0x0f, 0x00, 0x00, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x69, // ........sampleRi + 0x67, 0x68, 0x74, 0x00, 0x05, 0x00, 0x05, 0x00, 0x1f, 0x14, 0x00, 0x00, 0x6c, 0x65, 0x66, 0x74, // ght.........left + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x45, 0x4e, 0x00, 0x00, // _dist.......EN.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2a, 0x0f, 0x00, 0x00, // param.......*... + 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // right_dist...... + 0xc9, 0x2e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ....param....... + 0x81, 0x11, 0x00, 0x00, 0x64, 0x69, 0x73, 0x74, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // ....dist........ + 0xcf, 0x16, 0x00, 0x00, 0x64, 0x78, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xd0, 0x16, 0x00, 0x00, // ....dx.......... + 0x64, 0x79, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc9, 0x10, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // dy..........w... + 0x05, 0x00, 0x05, 0x00, 0x4a, 0x0d, 0x00, 0x00, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ....J...sub_colo + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // r........A..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // v_color0........ + 0x03, 0x3c, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // .<..v_texcoord0. + 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....t...v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .G..param....... + 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .U..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....param....... + 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, // 0_......M...$Glo + 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // bal.....M....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_viewRect...... + 0x4d, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, // M.......u_viewTe + 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // xel.....M....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4d, 0x06, 0x00, 0x00, // u_view......M... + 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, // ....u_invView... + 0x06, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, // ....M.......u_pr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // oj......M....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_invProj....... + 0x4d, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, // M.......u_viewPr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // oj......M....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // u_invViewProj... + 0x06, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ....M.......u_mo + 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // del.....M....... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, // u_modelView..... + 0x4d, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // M.......u_modelV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x4d, 0x06, 0x00, 0x00, // iewProj.....M... + 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, // ....u_alphaRef4. + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G...w........... + 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // G...t........... + 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G............... + 0x47, 0x00, 0x04, 0x00, 0xf0, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // G...........@... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....H...M....... + 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, // #.......H...M... + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x4d, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // M............... + 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...M........... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // `...H...M....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x4d, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // M............... + 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...M........... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...M....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x4d, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // M............... + 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...M........... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // `...H...M....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x4d, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // M............... + 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H...M........... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...M....... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, // ........H...M... + 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x4d, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // M............... + 0x48, 0x00, 0x05, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...M.......#... + 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...G...M....... + 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, // ........!....... + 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x98, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, // ................ + 0x67, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // g........... ... + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // !.......g....... + 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0xe8, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, // ........!....... + 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // !............... + 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x06, 0x00, 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // !............... + 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, // ........;...!... + 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // C....... ...y... + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // ........;...y... + 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, // ........;....... + 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // .......+....... + 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, // ................ + 0x98, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, // ....+........... + 0x03, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x69, 0x0b, 0x00, 0x00, // ....+.......i... + 0x00, 0x00, 0x80, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, // ...@+........... + 0x00, 0x00, 0x00, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfd, 0x01, 0x00, 0x00, // ...?+........... + 0xc1, 0xaa, 0x2a, 0x3e, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf7, 0x0a, 0x00, 0x00, // ..*>+........... + 0x00, 0x00, 0x00, 0x41, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ...A ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // ....;.......w... + 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, // ....;.......t... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ....;........... + 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........e....... + 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....+.......j... + 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xf0, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ...........e... + 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x4d, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // j.......M....... + 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ....e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf0, 0x04, 0x00, 0x00, // e...e...e....... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // e...e.......6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .G......;....... + 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .U......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........=....... + 0x21, 0x43, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, // !C......=....... + 0x02, 0x33, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x67, 0x09, 0x00, 0x00, // .3......P...g... + 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // . ..!C...3..>... + 0x43, 0x12, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // C.... ..=....... + 0xfa, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .A..w...=....... + 0x03, 0x3c, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, // .<..t...>....G.. + 0xfa, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // .A..>....U...<.. + 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, // 9........&...... + 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .G...U......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xe8, 0x03, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // ....7...!...'... + 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0xcd, 0x5b, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x15, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, // .[..A.......i$.. + 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, // '.......=....... + 0x16, 0x31, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, // .1..i$..A...y... + 0x54, 0x44, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // TD..'.......=... + 0xfc, 0x01, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, // .....V..TD..V... + 0xfe, 0x01, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, // .....B...1...V.. + 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, // =.......6....... + 0x57, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, // W........Q...B.. + 0x36, 0x1c, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // 6........Q..8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .....>..=....... + 0x18, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .S......=....... + 0x5d, 0x4a, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ]J......=....... + 0xfd, 0x34, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .4......=....... + 0x10, 0x35, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .5......P....... + 0x3f, 0x3a, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ?:...S..]J...4.. + 0x10, 0x35, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // .5......?:..8... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x91, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // ....7.......B$.. + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......x ..7... + 0x9a, 0x02, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, // .....A.......... + 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........T...... + 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x45, 0x4e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;.......EN...... + 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, // >....T......9... + 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, // ........5....T.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x14, 0x22, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // A........"..x .. + 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc6, 0x33, 0x00, 0x00, // ....=........3.. + 0x14, 0x22, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09, 0x3e, 0x00, 0x00, // ."...........>.. + 0xc6, 0x33, 0x00, 0x00, 0x69, 0x0b, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .3..i........... + 0x44, 0x24, 0x00, 0x00, 0x09, 0x3e, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x04, 0x00, // D$...>......n... + 0x0c, 0x00, 0x00, 0x00, 0x4d, 0x15, 0x00, 0x00, 0x44, 0x24, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....M...D$..=... + 0x1d, 0x00, 0x00, 0x00, 0xd1, 0x47, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, // .....G..x ..O... + 0x18, 0x00, 0x00, 0x00, 0xfa, 0x49, 0x00, 0x00, 0xd1, 0x47, 0x00, 0x00, 0xd1, 0x47, 0x00, 0x00, // .....I...G...G.. + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xcf, 0x00, 0x04, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0x57, 0x17, 0x00, 0x00, 0xfa, 0x49, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....W....I..=... + 0x1d, 0x00, 0x00, 0x00, 0xb1, 0x37, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, // .....7..x ..O... + 0x18, 0x00, 0x00, 0x00, 0xb5, 0x1e, 0x00, 0x00, 0xb1, 0x37, 0x00, 0x00, 0xb1, 0x37, 0x00, 0x00, // .........7...7.. + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0x45, 0x61, 0x00, 0x00, 0xb5, 0x1e, 0x00, 0x00, 0xd0, 0x00, 0x04, 0x00, // ....Ea.......... + 0x18, 0x00, 0x00, 0x00, 0x85, 0x0f, 0x00, 0x00, 0x45, 0x61, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, // ........Ea...... + 0x18, 0x00, 0x00, 0x00, 0xc2, 0x0c, 0x00, 0x00, 0x57, 0x17, 0x00, 0x00, 0xfd, 0x01, 0x00, 0x00, // ........W....... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf9, 0x29, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // =........)..x .. + 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xc3, 0x32, 0x00, 0x00, 0xf9, 0x29, 0x00, 0x00, // O........2...).. + 0xf9, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // .).............. + 0x83, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd7, 0x12, 0x00, 0x00, 0xc3, 0x32, 0x00, 0x00, // .............2.. + 0xc2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x25, 0x00, 0x00, // ....=........%.. + 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5e, 0x37, 0x00, 0x00, // x ..O.......^7.. + 0x13, 0x25, 0x00, 0x00, 0x13, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .%...%.......... + 0x02, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x00, 0x00, // ................ + 0x5e, 0x37, 0x00, 0x00, 0xc2, 0x0c, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x45, 0x4e, 0x00, 0x00, // ^7......>...EN.. + 0xd7, 0x12, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x2a, 0x00, 0x00, // ....9........*.. + 0xd5, 0x11, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x45, 0x4e, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00, // ....C...EN..O... + 0x1d, 0x00, 0x00, 0x00, 0x6a, 0x5b, 0x00, 0x00, 0x1f, 0x2a, 0x00, 0x00, 0x1f, 0x2a, 0x00, 0x00, // ....j[...*...*.. + 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ + 0x4d, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1f, 0x14, 0x00, 0x00, 0x6a, 0x5b, 0x00, 0x00, // M...........j[.. + 0x4d, 0x15, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x07, 0x0f, 0x00, 0x00, // M...>........... + 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa3, 0x1d, 0x00, 0x00, 0xd5, 0x11, 0x00, 0x00, // 9............... + 0x43, 0x12, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00, 0x1d, 0x00, 0x00, 0x00, // C.......O....... + 0x63, 0x60, 0x00, 0x00, 0xa3, 0x1d, 0x00, 0x00, 0xa3, 0x1d, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // c`.............. + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x05, 0x00, // ............M... + 0x0d, 0x00, 0x00, 0x00, 0x2a, 0x0f, 0x00, 0x00, 0x63, 0x60, 0x00, 0x00, 0x4d, 0x15, 0x00, 0x00, // ....*...c`..M... + 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc3, 0x52, 0x00, 0x00, 0x1f, 0x14, 0x00, 0x00, // .........R...... + 0x2a, 0x0f, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x11, 0x00, 0x00, // *............... + 0xfc, 0x00, 0x00, 0x00, 0xc3, 0x52, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, // .....R.......... + 0xcf, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x57, 0x17, 0x00, 0x00, // ........B...W... + 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd0, 0x16, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x42, 0x00, 0x00, 0x00, 0x85, 0x0f, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // B............... + 0x8f, 0x4e, 0x00, 0x00, 0xcf, 0x16, 0x00, 0x00, 0xd0, 0x16, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, // .N.............. + 0x0d, 0x00, 0x00, 0x00, 0xc9, 0x10, 0x00, 0x00, 0xf7, 0x0a, 0x00, 0x00, 0x8f, 0x4e, 0x00, 0x00, // .............N.. + 0x83, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3f, 0x23, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, // ........?#...... + 0xc9, 0x10, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd3, 0x50, 0x00, 0x00, // ....P........P.. + 0x3f, 0x23, 0x00, 0x00, 0x3f, 0x23, 0x00, 0x00, 0x3f, 0x23, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, // ?#..?#..?#...... + 0x0d, 0x00, 0x00, 0x00, 0x70, 0x3a, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xc9, 0x10, 0x00, 0x00, // ....p:.......... + 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x82, 0x21, 0x00, 0x00, 0x70, 0x3a, 0x00, 0x00, // P........!..p:.. + 0x70, 0x3a, 0x00, 0x00, 0x70, 0x3a, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, // p:..p:..P....... + 0x2e, 0x4d, 0x00, 0x00, 0x1f, 0x14, 0x00, 0x00, 0x81, 0x11, 0x00, 0x00, 0x2a, 0x0f, 0x00, 0x00, // .M..........*... + 0x0c, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x4a, 0x0d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........J....... + 0x31, 0x00, 0x00, 0x00, 0xd3, 0x50, 0x00, 0x00, 0x82, 0x21, 0x00, 0x00, 0x2e, 0x4d, 0x00, 0x00, // 1....P...!...M.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xa2, 0x48, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // A........H..B$.. + 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0a, 0x2f, 0x00, 0x00, // ....=......../.. + 0xa2, 0x48, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x24, 0x29, 0x00, 0x00, // .H..........$).. + 0x4a, 0x0d, 0x00, 0x00, 0x0a, 0x2f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // J..../..=....... + 0x31, 0x27, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00, 0x1d, 0x00, 0x00, 0x00, // 1'...A..O....... + 0xb0, 0x61, 0x00, 0x00, 0x31, 0x27, 0x00, 0x00, 0x24, 0x29, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // .a..1'..$)...... + 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xc4, 0x41, 0x00, 0x00, 0xb0, 0x61, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // .A...a..A....... + 0xfd, 0x44, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .D..B$......=... + 0x0d, 0x00, 0x00, 0x00, 0x2a, 0x32, 0x00, 0x00, 0xfd, 0x44, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, // ....*2...D...... + 0x0d, 0x00, 0x00, 0x00, 0x3a, 0x1b, 0x00, 0x00, 0x81, 0x11, 0x00, 0x00, 0x2a, 0x32, 0x00, 0x00, // ....:.......*2.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x89, 0x46, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, // A........F...A.. + 0x13, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x89, 0x46, 0x00, 0x00, 0x3a, 0x1b, 0x00, 0x00, // ....>....F..:... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ....8.... +}; static const uint8_t fs_font_distance_field_subpixel_dx9[894] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -225,9 +507,9 @@ static const uint8_t fs_font_distance_field_subpixel_dx11[1305] = 0x00, 0x46, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x1f, 0x10, 0x00, 0x01, 0x00, 0x00, // .F.............. 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // .>....... }; -static const uint8_t fs_font_distance_field_subpixel_mtl[2024] = +static const uint8_t fs_font_distance_field_subpixel_mtl[1654] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xd9, 0x07, 0x00, 0x00, 0x75, 0x73, // FSH...........us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x67, 0x06, 0x00, 0x00, 0x75, 0x73, // FSH.......g...us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -235,125 +517,102 @@ static const uint8_t fs_font_distance_field_subpixel_mtl[2024] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x76, 0x5f, 0x74, // r0;. float4 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, 0x61, // texturecube s_texColor [[ - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, // texture(0)]], sa - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // mpler _mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, // texColor [[sampl - 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, // er(0)]]).{. xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x74, // _mtl_o;. int t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_1 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x28, 0x28, // mpvar_1 = int((( - 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor - 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, 0x2e, // d0.w * 4.0) + 0. - 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, // 5));. float3 tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_2 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x78, 0x28, 0x5f, 0x6d, // pvar_2 = dfdx(_m - 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // tl_i.v_texcoord0 - 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, // .xyz);. float3 - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_3 = 0;. - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x79, 0x28, // tmpvar_3 = dfdy( - 0x2d, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // -_mtl_i.v_texcoo - 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rd0.xyz);. floa - 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, // t3 tmpvar_4 = 0; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x30, // . tmpvar_4 = (0 - 0x2e, 0x31, 0x36, 0x36, 0x36, 0x36, 0x37, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // .166667 * tmpvar - 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, // _2);. float3 tm + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, // texturecube s_texColor [ + 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, // [texture(0)]], s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, // ampler _mtlsmp_s + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, // _texColor [[samp + 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, // ler(0)]]).{. xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x20, // t _mtl_o;. int + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_1 = 0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x74, 0x28, 0x28, // tmpvar_1 = int(( + 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // (_mtl_i.v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x34, 0x2e, 0x30, 0x29, 0x20, 0x2b, 0x20, 0x30, // rd0.w * 4.0) + 0 + 0x2e, 0x35, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, // .5));. float3 t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_2 = 0;. t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x78, 0x28, 0x5f, // mpvar_2 = dfdx(_ + 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // mtl_i.v_texcoord + 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, // 0.xyz);. float3 + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_3 = 0;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x64, 0x66, 0x64, 0x79, // tmpvar_3 = dfdy + 0x28, 0x2d, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // (-_mtl_i.v_texco + 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, // ord0.xyz);. flo + 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, // at3 tmpvar_4 = 0 + 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, // ;. tmpvar_4 = ( + 0x30, 0x2e, 0x31, 0x36, 0x36, 0x36, 0x36, 0x37, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // 0.166667 * tmpva + 0x72, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, // r_2);. float tm 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_5 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, // pvar_5 = (_mtl_i - 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, // .v_texcoord0.xyz - 0x20, 0x2d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, // - tmpvar_4);. - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, // float3 tmpvar_6 - 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, // = 0;. tmpvar_6 - 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // = (_mtl_i.v_texc - 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, // oord0.xyz + tmpv - 0x61, 0x72, 0x5f, 0x34, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, // ar_4);. half4 t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_7 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, // mpvar_7 = half4( - 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // s_texColor.sampl - 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // e(_mtlsmp_s_texC - 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x74, // olor, (float3)(t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, // mpvar_5)));. ha - 0x6c, 0x66, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x30, 0x3b, // lf tmpvar_8 = 0; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x28, // . tmpvar_8 = (( - 0x68, 0x61, 0x6c, 0x66, 0x29, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x2e, 0x7a, 0x79, // half)tmpvar_7.zy - 0x78, 0x77, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x5d, 0x29, 0x3b, 0x0a, 0x20, // xw[tmpvar_1]);. - 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, // half4 tmpvar_9 - 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, // = 0;. tmpvar_9 - 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // = half4(s_texCol - 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, // or.sample(_mtlsm - 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, // p_s_texColor, (f - 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x29, // loat3)(tmpvar_6) - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ));. half tmpva - 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, // r_10 = 0;. tmpv - 0x61, 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x74, // ar_10 = ((half)t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x2e, 0x7a, 0x79, 0x78, 0x77, 0x5b, 0x74, 0x6d, 0x70, // mpvar_9.zyxw[tmp - 0x76, 0x61, 0x72, 0x5f, 0x31, 0x5d, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x20, // var_1]);. half - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_11 = 0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, // tmpvar_11 = ((h - 0x61, 0x6c, 0x66, 0x29, 0x28, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x74, 0x6d, 0x70, // alf)(0.5) * (tmp - 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // var_8 + tmpvar_1 - 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, // 0));. float tmp - 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // var_12 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x38, 0x2e, 0x30, 0x20, 0x2a, // pvar_12 = (8.0 * - 0x20, 0x28, 0x73, 0x71, 0x72, 0x74, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, // (sqrt(. dot - 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // (tmpvar_2, tmpva - 0x72, 0x5f, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x71, 0x72, 0x74, 0x28, // r_2). ) + sqrt( - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // . dot (tmpvar - 0x5f, 0x33, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x0a, 0x20, 0x20, // _3, tmpvar_3). - 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, 0x74, 0x6d, 0x70, // )));. half3 tmp - 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // var_13 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // pvar_13.x = tmpv - 0x61, 0x72, 0x5f, 0x38, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // ar_8;. tmpvar_1 - 0x33, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x3b, // 3.y = tmpvar_11; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x2e, 0x7a, 0x20, 0x3d, // . tmpvar_13.z = - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, // tmpvar_10;. fl - 0x6f, 0x61, 0x74, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x30, // oat edge0_14 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x28, // ;. edge0_14 = ( - 0x30, 0x2e, 0x35, 0x20, 0x2d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x29, // 0.5 - tmpvar_12) - 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x65, 0x64, 0x67, 0x65, 0x31, 0x5f, // ;. float edge1_ - 0x31, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x65, 0x64, 0x67, 0x65, 0x31, 0x5f, // 15 = 0;. edge1_ - 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, // 15 = (0.5 + tmpv - 0x61, 0x72, 0x5f, 0x31, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, // ar_12);. half3 - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_16 = 0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, // tmpvar_16 = cla - 0x6d, 0x70, 0x20, 0x28, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x29, 0x28, 0x28, 0x66, 0x6c, // mp (((half3)((fl - 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x29, 0x28, 0x28, // oat3)(((half3)(( - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // float3)(tmpvar_1 - 0x33, 0x29, 0x20, 0x2d, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x34, 0x29, 0x29, 0x29, // 3) - edge0_14))) - 0x20, 0x2f, 0x20, 0x28, 0x65, 0x64, 0x67, 0x65, 0x31, 0x5f, 0x31, 0x35, 0x20, 0x2d, 0x20, 0x65, // / (edge1_15 - e - 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x34, 0x29, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x68, 0x61, 0x6c, // dge0_14))), (hal - 0x66, 0x29, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x31, 0x2e, 0x30, // f)0.0, (half)1.0 - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, // );. _mtl_o.gl_F - 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, // ragColor.xyz = ( - 0x28, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, // (half3)((float3) - 0x28, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, 0x2a, 0x20, 0x28, 0x74, // ((tmpvar_16 * (t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, 0x2a, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, // mpvar_16 * . - 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x33, 0x2e, 0x30, 0x29, 0x20, 0x2d, 0x20, 0x28, // ((half)(3.0) - ( - 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x32, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x6d, // (half)(2.0) * tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x29, 0x29, 0x20, // pvar_16)). ))) - 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // * _mtl_i.v_color - 0x30, 0x2e, 0x77, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, // 0.w));. _mtl_o. + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // pvar_5 = s_texCo + 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, // lor.sample(_mtls + 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, // mp_s_texColor, ( + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, // float3)((_mtl_i. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, // v_texcoord0.xyz + 0x2d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x29, 0x29, 0x29, 0x2e, 0x7a, 0x79, // - tmpvar_4))).zy + 0x78, 0x77, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, // xw[tmpvar_1];. + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, 0x3d, // float tmpvar_6 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, 0x3d, // 0;. tmpvar_6 = + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // s_texColor.samp + 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, // Color, (float3)( + 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // (_mtl_i.v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // rd0.xyz + tmpvar + 0x5f, 0x34, 0x29, 0x29, 0x29, 0x2e, 0x7a, 0x79, 0x78, 0x77, 0x5b, 0x74, 0x6d, 0x70, 0x76, 0x61, // _4))).zyxw[tmpva + 0x72, 0x5f, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, // r_1];. float tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_7 = 0;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2a, 0x20, // pvar_7 = (0.5 * + 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x2b, 0x20, 0x74, 0x6d, 0x70, 0x76, // (tmpvar_5 + tmpv + 0x61, 0x72, 0x5f, 0x36, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, // ar_6));. float + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_8 = 0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, 0x38, 0x2e, 0x30, 0x20, // tmpvar_8 = (8.0 + 0x2a, 0x20, 0x28, 0x73, 0x71, 0x72, 0x74, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, // * (sqrt(. dot + 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, // (tmpvar_2, tmpv + 0x61, 0x72, 0x5f, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x73, 0x71, 0x72, 0x74, // ar_2). ) + sqrt + 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, // (. dot (tmpva + 0x72, 0x5f, 0x33, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x0a, 0x20, // r_3, tmpvar_3). + 0x20, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, // )));. float3 t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_9 = 0;. t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // mpvar_9.x = tmpv + 0x61, 0x72, 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, // ar_5;. tmpvar_9 + 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x3b, 0x0a, 0x20, // .y = tmpvar_7;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, // tmpvar_9.z = tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, // pvar_6;. float + 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // edge0_10 = 0;. + 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, // edge0_10 = (0.5 + 0x2d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, // - tmpvar_8);. f + 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, // loat3 tmpvar_11 + 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, // = 0;. tmpvar_11 + 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, 0x28, 0x28, 0x74, 0x6d, 0x70, 0x76, // = clamp (((tmpv + 0x61, 0x72, 0x5f, 0x39, 0x20, 0x2d, 0x20, 0x65, 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x30, 0x29, // ar_9 - edge0_10) + 0x20, 0x2f, 0x20, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x20, 0x2b, 0x20, // / (. (0.5 + + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x65, // tmpvar_8). - e + 0x64, 0x67, 0x65, 0x30, 0x5f, 0x31, 0x30, 0x29, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, // dge0_10)), 0.0, + 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, // 1.0);. _mtl_o.g + 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x78, 0x79, 0x7a, 0x20, // l_FragColor.xyz + 0x3d, 0x20, 0x28, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x2a, 0x20, // = ((tmpvar_11 * + 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x2a, 0x20, 0x0a, 0x20, 0x20, // (tmpvar_11 * . + 0x20, 0x20, 0x28, 0x33, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x28, 0x32, 0x2e, 0x30, 0x20, 0x2a, 0x20, // (3.0 - (2.0 * + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x29, 0x29, // tmpvar_11)). )) + 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // * _mtl_i.v_colo + 0x72, 0x30, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, // r0.w);. _mtl_o. 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x77, 0x20, 0x3d, // gl_FragColor.w = - 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, // ((half)((float) - 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, // (tmpvar_11) * _m - 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, // tl_i.v_color0.w) - 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // );. return _mtl - 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _o;.}... + 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, // (tmpvar_7 * _mt + 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x3b, // l_i.v_color0.w); + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, // . return _mtl_o + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // ;.}... }; extern const uint8_t* fs_font_distance_field_subpixel_pssl; extern const uint32_t fs_font_distance_field_subpixel_pssl_size; diff --git a/3rdparty/bgfx/examples/common/font/text_buffer_manager.cpp b/3rdparty/bgfx/examples/common/font/text_buffer_manager.cpp index 8d15d6362e0..0ae7877e133 100644 --- a/3rdparty/bgfx/examples/common/font/text_buffer_manager.cpp +++ b/3rdparty/bgfx/examples/common/font/text_buffer_manager.cpp @@ -9,7 +9,6 @@ #include #include // offsetof -#include // memcpy #include // wcslen #include "text_buffer_manager.h" @@ -252,7 +251,7 @@ void TextBuffer::appendText(FontHandle _fontHandle, const char* _string, const c if (_end == NULL) { - _end = _string + strlen(_string); + _end = _string + bx::strnlen(_string); } BX_CHECK(_end >= _string); @@ -802,8 +801,8 @@ void TextBufferManager::submitTextBuffer(TextBufferHandle _handle, uint8_t _id, bgfx::TransientVertexBuffer tvb; bgfx::allocTransientIndexBuffer(&tib, bc.textBuffer->getIndexCount() ); bgfx::allocTransientVertexBuffer(&tvb, bc.textBuffer->getVertexCount(), m_vertexDecl); - memcpy(tib.data, bc.textBuffer->getIndexBuffer(), indexSize); - memcpy(tvb.data, bc.textBuffer->getVertexBuffer(), vertexSize); + bx::memCopy(tib.data, bc.textBuffer->getIndexBuffer(), indexSize); + bx::memCopy(tvb.data, bc.textBuffer->getVertexBuffer(), vertexSize); bgfx::setVertexBuffer(&tvb, 0, bc.textBuffer->getVertexCount() ); bgfx::setIndexBuffer(&tib, 0, bc.textBuffer->getIndexCount() ); } diff --git a/3rdparty/bgfx/examples/common/font/text_metrics.cpp b/3rdparty/bgfx/examples/common/font/text_metrics.cpp index 768ebbdac4c..835c9e14187 100644 --- a/3rdparty/bgfx/examples/common/font/text_metrics.cpp +++ b/3rdparty/bgfx/examples/common/font/text_metrics.cpp @@ -10,12 +10,13 @@ TextMetrics::TextMetrics(FontManager* _fontManager) : m_fontManager(_fontManager) - , m_width(0) - , m_height(0) - , m_x(0) - , m_lineHeight(0) - , m_lineGap(0) { + clearText(); +} + +void TextMetrics::clearText() +{ + m_width = m_height = m_x = m_lineHeight = m_lineGap = 0; } void TextMetrics::appendText(FontHandle _fontHandle, const char* _string) @@ -50,7 +51,6 @@ void TextMetrics::appendText(FontHandle _fontHandle, const char* _string) m_lineGap = font.lineGap; m_lineHeight = font.ascender - font.descender; m_x = 0; - break; } m_x += glyph->advance_x; @@ -97,7 +97,6 @@ void TextMetrics::appendText(FontHandle _fontHandle, const wchar_t* _string) m_lineGap = font.lineGap; m_lineHeight = font.ascender - font.descender; m_x = 0; - break; } m_x += glyph->advance_x; diff --git a/3rdparty/bgfx/examples/common/font/text_metrics.h b/3rdparty/bgfx/examples/common/font/text_metrics.h index ec373c7eb60..48c9323580e 100644 --- a/3rdparty/bgfx/examples/common/font/text_metrics.h +++ b/3rdparty/bgfx/examples/common/font/text_metrics.h @@ -25,6 +25,9 @@ public: /// Return the height of the measured text. float getHeight() const { return m_height; } + /// Clear the width and height of the measured text. + void clearText(); + private: FontManager* m_fontManager; float m_width; diff --git a/3rdparty/bgfx/examples/common/font/vs_font_basic.bin.h b/3rdparty/bgfx/examples/common/font/vs_font_basic.bin.h index 8fa72428620..49d22ecac34 100644 --- a/3rdparty/bgfx/examples/common/font/vs_font_basic.bin.h +++ b/3rdparty/bgfx/examples/common/font/vs_font_basic.bin.h @@ -28,6 +28,208 @@ static const uint8_t vs_font_basic_glsl[431] = 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, // d0;. v_color0 = 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // a_color0;.}... }; +static const uint8_t vs_font_basic_spv[3171] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x40, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x36, 0x62, // @...#.........6b + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x8c, 0x04, // ..main.......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.............v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // color0.......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // 0.........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf2;vf4;.... + 0x05, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ..O...a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......:...a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x61, 0x5f, // tion.......M..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, // osition.......8. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, // ..Output......8. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ......8.......v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // texcoord0....... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x06, 0x00, // put...G...N..... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@...H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xbc, 0x01, // ..#... ...G..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x71, 0x09, // ..........!...q. + 0x00, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8c, 0x04, // .. ............. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, // ..............,. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ......z......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x4e, 0x03, // ..j... .......N. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0xbc, 0x01, // ..e...j......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ..N...e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xbc, 0x01, // .. ...9......... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;...9...B..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ..+.......)..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, // .. ...........e. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x04, // .. ...........8. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......8......;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A......=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......?......=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, // ......@,......>. + 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, // ...U...A..>....8 + 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, // ...?..>.......@, + 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x16, 0x0e, // ..9.......I&.... + 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // ...U...8......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, // ..>....N......A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, // .......M........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, // ..=............M + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x8c, 0x04, // ......8...6..... + 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x09, 0x00, 0x00, 0x37, 0x00, // ..........q...7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ......O...7..... + 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb9, 0x4d, // ..:...7........M + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x09, 0x07, // ......_W..;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..d-..........>. + 0x03, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..d-......A..... + 0x00, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...8..........>. + 0x03, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ...8..z...=..... + 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..5b..:...Q..... + 0x00, 0x00, 0x28, 0x3a, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ..(:..5b......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, // .......F..5b.... + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0x28, 0x3a, // ..P........2..(: + 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, // ...F..........A. + 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, // ......),..B...). + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x29, 0x2c, // ..=...e....<..), + 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x84, 0x32, // ...........;...2 + 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x5f, 0x38, // ...<..A......._8 + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5f, 0x38, // ..........>..._8 + 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x21, // ...;..=........! + 0x00, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2d, 0x3c, // ...M..A.......-< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2d, 0x3c, // ..........>...-< + 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x21, // ...!..=........! + 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2e, 0x3c, // ..O...A........< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2e, 0x3c, // ..........>....< + 0x00, 0x00, 0x1e, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x47, 0x3a, // ...!..=.......G: + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, 0x00, 0x38, 0x00, // ..........G:..8. + 0x01, 0x00, 0x00, // ... +}; static const uint8_t vs_font_basic_dx9[327] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/common/font/vs_font_distance_field.bin.h b/3rdparty/bgfx/examples/common/font/vs_font_distance_field.bin.h index f76df7168bc..273d399657c 100644 --- a/3rdparty/bgfx/examples/common/font/vs_font_distance_field.bin.h +++ b/3rdparty/bgfx/examples/common/font/vs_font_distance_field.bin.h @@ -28,6 +28,208 @@ static const uint8_t vs_font_distance_field_glsl[431] = 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, // d0;. v_color0 = 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // a_color0;.}... }; +static const uint8_t vs_font_distance_field_spv[3171] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x40, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x36, 0x62, // @...#.........6b + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x8c, 0x04, // ..main.......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.............v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // color0.......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // 0.........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf2;vf4;.... + 0x05, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ..O...a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......:...a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x61, 0x5f, // tion.......M..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, // osition.......8. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, // ..Output......8. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ......8.......v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // texcoord0....... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x06, 0x00, // put...G...N..... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@...H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xbc, 0x01, // ..#... ...G..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x71, 0x09, // ..........!...q. + 0x00, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8c, 0x04, // .. ............. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, // ..............,. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ......z......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x4e, 0x03, // ..j... .......N. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0xbc, 0x01, // ..e...j......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ..N...e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xbc, 0x01, // .. ...9......... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;...9...B..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ..+.......)..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, // .. ...........e. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x04, // .. ...........8. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......8......;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A......=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......?......=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, // ......@,......>. + 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, // ...U...A..>....8 + 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, // ...?..>.......@, + 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x16, 0x0e, // ..9.......I&.... + 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // ...U...8......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, // ..>....N......A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, // .......M........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, // ..=............M + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x8c, 0x04, // ......8...6..... + 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x09, 0x00, 0x00, 0x37, 0x00, // ..........q...7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ......O...7..... + 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb9, 0x4d, // ..:...7........M + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x09, 0x07, // ......_W..;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..d-..........>. + 0x03, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..d-......A..... + 0x00, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...8..........>. + 0x03, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ...8..z...=..... + 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..5b..:...Q..... + 0x00, 0x00, 0x28, 0x3a, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ..(:..5b......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, // .......F..5b.... + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0x28, 0x3a, // ..P........2..(: + 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, // ...F..........A. + 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, // ......),..B...). + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x29, 0x2c, // ..=...e....<..), + 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x84, 0x32, // ...........;...2 + 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x5f, 0x38, // ...<..A......._8 + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5f, 0x38, // ..........>..._8 + 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x21, // ...;..=........! + 0x00, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2d, 0x3c, // ...M..A.......-< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2d, 0x3c, // ..........>...-< + 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x21, // ...!..=........! + 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2e, 0x3c, // ..O...A........< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2e, 0x3c, // ..........>....< + 0x00, 0x00, 0x1e, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x47, 0x3a, // ...!..=.......G: + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, 0x00, 0x38, 0x00, // ..........G:..8. + 0x01, 0x00, 0x00, // ... +}; static const uint8_t vs_font_distance_field_dx9[327] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/common/font/vs_font_distance_field_subpixel.bin.h b/3rdparty/bgfx/examples/common/font/vs_font_distance_field_subpixel.bin.h index 0be5bb87cf2..fecf29022a0 100644 --- a/3rdparty/bgfx/examples/common/font/vs_font_distance_field_subpixel.bin.h +++ b/3rdparty/bgfx/examples/common/font/vs_font_distance_field_subpixel.bin.h @@ -28,6 +28,208 @@ static const uint8_t vs_font_distance_field_subpixel_glsl[431] = 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, // d0;. v_color0 = 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // a_color0;.}... }; +static const uint8_t vs_font_distance_field_subpixel_spv[3171] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x40, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x36, 0x62, // @...#.........6b + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x8c, 0x04, // ..main.......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.............v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // color0.......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // 0.........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf2;vf4;.... + 0x05, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ..O...a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......:...a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x61, 0x5f, // tion.......M..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xbc, 0x01, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, // osition.......8. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, // ..Output......8. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ......8.......v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // texcoord0....... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x06, 0x00, // put...G...N..... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@...H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x03, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x07, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#...`...H..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, // ..#.......H..... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xbc, 0x01, 0x00, 0x00, 0x0b, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xbc, 0x01, // ..#... ...G..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x71, 0x09, // ..........!...q. + 0x00, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8c, 0x04, // .. ............. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, // ..............,. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ......z......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x4e, 0x03, // ..j... .......N. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0xbc, 0x01, // ..e...j......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x4e, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ..N...e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xbc, 0x01, // .. ...9......... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x39, 0x04, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;...9...B..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ..+.......)..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, // .. ...........e. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x04, // .. ...........8. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......8......;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A......=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......?......=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, // ......@,......>. + 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, // ...U...A..>....8 + 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, // ...?..>.......@, + 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x16, 0x0e, // ..9.......I&.... + 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // ...U...8......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, // ..>....N......A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, // .......M........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, // ..=............M + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x8c, 0x04, // ......8...6..... + 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x09, 0x00, 0x00, 0x37, 0x00, // ..........q...7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ......O...7..... + 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb9, 0x4d, // ..:...7........M + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x09, 0x07, // ......_W..;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..d-..........>. + 0x03, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..d-......A..... + 0x00, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...8..........>. + 0x03, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ...8..z...=..... + 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..5b..:...Q..... + 0x00, 0x00, 0x28, 0x3a, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ..(:..5b......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, // .......F..5b.... + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0x28, 0x3a, // ..P........2..(: + 0x00, 0x00, 0x9b, 0x46, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, // ...F..........A. + 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, // ......),..B...). + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x29, 0x2c, // ..=...e....<..), + 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x84, 0x32, // ...........;...2 + 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x5f, 0x38, // ...<..A......._8 + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5f, 0x38, // ..........>..._8 + 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x21, // ...;..=........! + 0x00, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2d, 0x3c, // ...M..A.......-< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2d, 0x3c, // ..........>...-< + 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x21, // ...!..=........! + 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2e, 0x3c, // ..O...A........< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2e, 0x3c, // ..........>....< + 0x00, 0x00, 0x1e, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x47, 0x3a, // ...!..=.......G: + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, 0x00, 0x38, 0x00, // ..........G:..8. + 0x01, 0x00, 0x00, // ... +}; static const uint8_t vs_font_distance_field_subpixel_dx9[327] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/common/image.cpp b/3rdparty/bgfx/examples/common/image.cpp new file mode 100644 index 00000000000..11163f768d7 --- /dev/null +++ b/3rdparty/bgfx/examples/common/image.cpp @@ -0,0 +1,412 @@ +/* + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#include "entry/dbg.h" + +#include +#include +#include +#include +#include "bgfx_utils.h" + +BX_PRAGMA_DIAGNOSTIC_PUSH() +BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wtype-limits") +BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wunused-parameter") +BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wunused-value") +BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4100) // error C4100: '' : unreferenced formal parameter +#if BX_PLATFORM_EMSCRIPTEN +# include +#endif // BX_PLATFORM_EMSCRIPTEN +#define MINIZ_NO_STDIO +#define TINYEXR_IMPLEMENTATION +#include +BX_PRAGMA_DIAGNOSTIC_POP() + +#define LODEPNG_NO_COMPILE_ENCODER +#define LODEPNG_NO_COMPILE_DISK +#define LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +#define LODEPNG_NO_COMPILE_ERROR_TEXT +#define LODEPNG_NO_COMPILE_ALLOCATORS +#define LODEPNG_NO_COMPILE_CPP +#include + +typedef unsigned char stbi_uc; +extern "C" int stbi_is_hdr_from_memory(stbi_uc const* _buffer, int _len); +extern "C" stbi_uc* stbi_load_from_memory(stbi_uc const* _buffer, int _len, int* _x, int* _y, int* _comp, int _req_comp); +extern "C" float* stbi_loadf_from_memory(stbi_uc const* _buffer, int _len, int* _x, int* _y, int* _comp, int _req_comp); +extern "C" void stbi_image_free(void* _ptr); +extern void lodepng_free(void* _ptr); + +namespace bgfx +{ + struct ImageMip + { + TextureFormat::Enum m_format; + uint32_t m_width; + uint32_t m_height; + uint32_t m_blockSize; + uint32_t m_size; + uint8_t m_bpp; + bool m_hasAlpha; + const uint8_t* m_data; + }; + + uint32_t imageGetSize( + TextureInfo* _info + , uint16_t _width + , uint16_t _height + , uint16_t _depth + , bool _cubeMap + , bool _hasMips + , uint16_t _numLayers + , TextureFormat::Enum _format + ); + + /// + ImageContainer* imageParseBgfx(bx::AllocatorI* _allocator, const void* _src, uint32_t _size); + + /// + bool imageConvert( + void* _dst + , TextureFormat::Enum _dstFormat + , const void* _src + , TextureFormat::Enum _srcFormat + , uint32_t _width + , uint32_t _height + ); + + /// + ImageContainer* imageConvert( + bx::AllocatorI* _allocator + , TextureFormat::Enum _dstFormat + , const ImageContainer& _input + ); + +} // namespace bgfx + +namespace bgfx +{ + static ImageContainer* imageParseLodePng(bx::AllocatorI* _allocator, const void* _data, uint32_t _size) + { + static uint8_t pngMagic[] = { 0x89, 0x50, 0x4E, 0x47, 0x0d, 0x0a }; + + if (0 != bx::memCmp(_data, pngMagic, sizeof(pngMagic) ) ) + { + return NULL; + } + + ImageContainer* output = NULL; + bgfx::TextureFormat::Enum format = bgfx::TextureFormat::RGBA8; + uint32_t width = 0; + uint32_t height = 0; + + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.decoder.color_convert = 0; + + uint8_t* data = NULL; + error = lodepng_decode(&data, &width, &height, &state, (uint8_t*)_data, _size); + + if (0 == error) + { + switch (state.info_raw.bitdepth) + { + case 8: + switch (state.info_raw.colortype) + { + case LCT_GREY: + format = bgfx::TextureFormat::R8; + break; + + case LCT_GREY_ALPHA: + format = bgfx::TextureFormat::RG8; + break; + + case LCT_RGB: + format = bgfx::TextureFormat::RGB8; + break; + + case LCT_RGBA: + format = bgfx::TextureFormat::RGBA8; + break; + + case LCT_PALETTE: + break; + } + break; + + case 16: + switch (state.info_raw.colortype) + { + case LCT_GREY: + for (uint32_t ii = 0, num = width*height; ii < num; ++ii) + { + uint16_t* rgba = (uint16_t*)data + ii; + rgba[0] = bx::toHostEndian(rgba[0], false); + } + format = bgfx::TextureFormat::R16; + break; + + case LCT_GREY_ALPHA: + for (uint32_t ii = 0, num = width*height; ii < num; ++ii) + { + uint16_t* rgba = (uint16_t*)data + ii*2; + rgba[0] = bx::toHostEndian(rgba[0], false); + rgba[1] = bx::toHostEndian(rgba[1], false); + } + format = bgfx::TextureFormat::RG16; + break; + + case LCT_RGBA: + for (uint32_t ii = 0, num = width*height; ii < num; ++ii) + { + uint16_t* rgba = (uint16_t*)data + ii*4; + rgba[0] = bx::toHostEndian(rgba[0], false); + rgba[1] = bx::toHostEndian(rgba[1], false); + rgba[2] = bx::toHostEndian(rgba[2], false); + rgba[3] = bx::toHostEndian(rgba[3], false); + } + format = bgfx::TextureFormat::RGBA16; + break; + + case LCT_RGB: + case LCT_PALETTE: + break; + } + break; + + default: + break; + } + + output = imageAlloc(_allocator + , format + , uint16_t(width) + , uint16_t(height) + , 0 + , 1 + , false + , false + , data + ); + } + + lodepng_state_cleanup(&state); + lodepng_free(data); + + return output; + } + + static ImageContainer* imageParseTinyExr(bx::AllocatorI* _allocator, const void* _data, uint32_t _size) + { + EXRVersion exrVersion; + int result = ParseEXRVersionFromMemory(&exrVersion, (uint8_t*)_data, _size); + if (TINYEXR_SUCCESS != result) + { + return NULL; + } + + bgfx::TextureFormat::Enum format = bgfx::TextureFormat::RGBA8; + uint32_t width = 0; + uint32_t height = 0; + + uint8_t* data = NULL; + const char* err = NULL; + EXRHeader exrHeader; + result = ParseEXRHeaderFromMemory(&exrHeader, &exrVersion, (uint8_t*)_data, _size, &err); + if (TINYEXR_SUCCESS == result) + { + EXRImage exrImage; + InitEXRImage(&exrImage); + + result = LoadEXRImageFromMemory(&exrImage, &exrHeader, (uint8_t*)_data, _size, &err); + if (TINYEXR_SUCCESS == result) + { + uint8_t idxR = UINT8_MAX; + uint8_t idxG = UINT8_MAX; + uint8_t idxB = UINT8_MAX; + uint8_t idxA = UINT8_MAX; + for (uint8_t ii = 0, num = uint8_t(exrHeader.num_channels); ii < num; ++ii) + { + const EXRChannelInfo& channel = exrHeader.channels[ii]; + if (UINT8_MAX == idxR + && 0 == bx::strncmp(channel.name, "R") ) + { + idxR = ii; + } + else if (UINT8_MAX == idxG + && 0 == bx::strncmp(channel.name, "G") ) + { + idxG = ii; + } + else if (UINT8_MAX == idxB + && 0 == bx::strncmp(channel.name, "B") ) + { + idxB = ii; + } + else if (UINT8_MAX == idxA + && 0 == bx::strncmp(channel.name, "A") ) + { + idxA = ii; + } + } + + if (UINT8_MAX != idxR) + { + const bool asFloat = exrHeader.pixel_types[idxR] == TINYEXR_PIXELTYPE_FLOAT; + uint32_t srcBpp = 32; + uint32_t dstBpp = asFloat ? 32 : 16; + format = asFloat ? TextureFormat::R32F : TextureFormat::R16F; + uint32_t stepR = 1; + uint32_t stepG = 0; + uint32_t stepB = 0; + uint32_t stepA = 0; + + if (UINT8_MAX != idxG) + { + srcBpp += 32; + dstBpp = asFloat ? 64 : 32; + format = asFloat ? TextureFormat::RG32F : TextureFormat::RG16F; + stepG = 1; + } + + if (UINT8_MAX != idxB) + { + srcBpp += 32; + dstBpp = asFloat ? 128 : 64; + format = asFloat ? TextureFormat::RGBA32F : TextureFormat::RGBA16F; + stepB = 1; + } + + if (UINT8_MAX != idxA) + { + srcBpp += 32; + dstBpp = asFloat ? 128 : 64; + format = asFloat ? TextureFormat::RGBA32F : TextureFormat::RGBA16F; + stepA = 1; + } + + data = (uint8_t*)BX_ALLOC(_allocator, exrImage.width * exrImage.height * dstBpp/8); + + const float zero = 0.0f; + const float* srcR = UINT8_MAX == idxR ? &zero : (const float*)(exrImage.images)[idxR]; + const float* srcG = UINT8_MAX == idxG ? &zero : (const float*)(exrImage.images)[idxG]; + const float* srcB = UINT8_MAX == idxB ? &zero : (const float*)(exrImage.images)[idxB]; + const float* srcA = UINT8_MAX == idxA ? &zero : (const float*)(exrImage.images)[idxA]; + + const uint32_t bytesPerPixel = dstBpp/8; + for (uint32_t ii = 0, num = exrImage.width * exrImage.height; ii < num; ++ii) + { + float rgba[4] = + { + *srcR, + *srcG, + *srcB, + *srcA, + }; + bx::memCopy(&data[ii * bytesPerPixel], rgba, bytesPerPixel); + + srcR += stepR; + srcG += stepG; + srcB += stepB; + srcA += stepA; + } + } + + FreeEXRImage(&exrImage); + } + + FreeEXRHeader(&exrHeader); + } + + ImageContainer* output = imageAlloc(_allocator + , format + , uint16_t(width) + , uint16_t(height) + , 0 + , 1 + , false + , false + , data + ); + BX_FREE(_allocator, data); + + return output; + } + + static ImageContainer* imageParseStbImage(bx::AllocatorI* _allocator, const void* _data, uint32_t _size) + { + const int isHdr = stbi_is_hdr_from_memory((const uint8_t*)_data, (int)_size); + + void* data; + uint32_t width = 0; + uint32_t height = 0; + int comp = 0; + if (isHdr) { data = stbi_loadf_from_memory((const uint8_t*)_data, (int)_size, (int*)&width, (int*)&height, &comp, 4); } + else { data = stbi_load_from_memory ((const uint8_t*)_data, (int)_size, (int*)&width, (int*)&height, &comp, 0); } + + if (NULL == data) + { + return NULL; + } + + bgfx::TextureFormat::Enum format; + if (isHdr) + { + format = bgfx::TextureFormat::RGBA32F; + } + else + { + if (1 == comp) { format = bgfx::TextureFormat::R8; } + else if (2 == comp) { format = bgfx::TextureFormat::RG8; } + else if (3 == comp) { format = bgfx::TextureFormat::RGB8; } + else/*if (4 == comp)*/ { format = bgfx::TextureFormat::RGBA8; } + } + + ImageContainer* output = imageAlloc(_allocator + , format + , uint16_t(width) + , uint16_t(height) + , 0 + , 1 + , false + , false + , data + ); + stbi_image_free(data); + + return output; + } + + ImageContainer* imageParse(bx::AllocatorI* _allocator, const void* _data, uint32_t _size, TextureFormat::Enum _dstFormat) + { + ImageContainer* input = imageParseBgfx (_allocator, _data, _size) ; + input = NULL == input ? imageParseLodePng (_allocator, _data, _size) : input; + input = NULL == input ? imageParseTinyExr (_allocator, _data, _size) : input; + input = NULL == input ? imageParseStbImage(_allocator, _data, _size) : input; + + if (NULL == input) + { + return NULL; + } + + _dstFormat = TextureFormat::Count == _dstFormat + ? input->m_format + : _dstFormat + ; + + if (_dstFormat == input->m_format) + { + return input; + } + + ImageContainer* output = imageConvert(_allocator, _dstFormat, *input); + imageFree(input); + + return output; + } + +} // namespace bgfx diff --git a/3rdparty/bgfx/examples/common/image.h b/3rdparty/bgfx/examples/common/image.h new file mode 100644 index 00000000000..5c8ac14685f --- /dev/null +++ b/3rdparty/bgfx/examples/common/image.h @@ -0,0 +1,62 @@ +/* + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#ifndef IMAGE_H_HEADER_GUARD +#define IMAGE_H_HEADER_GUARD + +namespace bgfx +{ + /// + struct ImageContainer + { + bx::AllocatorI* m_allocator; + void* m_data; + + TextureFormat::Enum m_format; + + uint32_t m_size; + uint32_t m_offset; + uint32_t m_width; + uint32_t m_height; + uint32_t m_depth; + uint16_t m_numLayers; + uint8_t m_numMips; + bool m_hasAlpha; + bool m_cubeMap; + bool m_ktx; + bool m_ktxLE; + bool m_srgb; + }; + + /// + ImageContainer* imageParse( + bx::AllocatorI* _allocator + , const void* _data + , uint32_t _size + , TextureFormat::Enum _dstFormat = TextureFormat::Count + ); + + /// + ImageContainer* imageAlloc( + bx::AllocatorI* _allocator + , TextureFormat::Enum _format + , uint16_t _width + , uint16_t _height + , uint16_t _depth + , uint16_t _numLayers + , bool _cubeMap + , bool _hasMips + , const void* _data = NULL + ); + + /// + void imageFree(ImageContainer* _imageContainer); + + /// Converts format to string. + const char* getName(TextureFormat::Enum _format); + +} // namespace bgfx + +#endif // IMAGE_H_HEADER_GUARD diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_color.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_color.bin.h index 3f1d1c831e2..9cad96b4d4d 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_color.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_color.bin.h @@ -7,6 +7,139 @@ static const uint8_t fs_imgui_color_glsl[89] = 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // ragColor = v_col 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // or0;.}... }; +static const uint8_t fs_imgui_color_spv[2065] = +{ + 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x04, 0x08, 0x03, 0x02, 0x23, 0x07, // FSH....I......#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x7a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........za...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, // w............... + 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, // ............main + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, // ........5...vec4 + 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // _splat(f1;...... + 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xff, 0x0f, 0x00, 0x00, // ...._x.......... + 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // @main(vf4;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // ....O0..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa2, 0x25, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // .........%..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ragData_0_...... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g.......,N..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // m........@..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_color0........ + 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // 0_.......G..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // m...........para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // m...........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc7, 0x02, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....$Global..... + 0xc7, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, // ........u_viewRe + 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ct.............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, // u_viewTexel..... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, // ........u_view.. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // vView........... + 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_proj...... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, // ........u_invPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, // u_viewProj...... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // wProj........... + 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_model..... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // iew............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // u_modelViewProj. + 0x06, 0x00, 0x06, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, // ............u_al + 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, // phaRef4.G...w... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xf0, 0x06, 0x00, 0x00, // ........G....... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ....@...H....... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xc7, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xc7, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xc7, 0x02, 0x00, 0x00, // ........H....... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#... ...G... + 0xc7, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // !............... + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // .... ... ....... + 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0x3d, 0x0b, 0x00, 0x00, // ........!...=... + 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....w....... ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, // ....e...j....... + 0xc7, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e.......e...e... + 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ....6........... + 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, // ............Sa.. + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........G...... + 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;............... + 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // =........@..w... + 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, // >....G...@..9... + 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, // ....ya.......G.. + 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....=........... + 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, // ....>........... + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....8...6....... + 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 5...........7... + 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x88, 0x2e, 0x00, 0x00, // ................ + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......dW...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa9, 0x4e, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........N...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =.......I9...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // =........9...... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb0, 0x2a, 0x00, 0x00, 0x64, 0x57, 0x00, 0x00, // P........*..dW.. + 0xa9, 0x4e, 0x00, 0x00, 0x49, 0x39, 0x00, 0x00, 0x5c, 0x39, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, // .N..I9...9...... + 0xb0, 0x2a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // .*..8...6....... + 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ........=...7... + 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....O0..7....... + 0xa2, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xee, 0x5f, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .%......._..;... + 0x8a, 0x02, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....,N......>... + 0x2c, 0x4e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // ,N......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x2c, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5...,N..=... + 0x1d, 0x00, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0x4f, 0x30, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....X[..O0..>... + 0xa2, 0x25, 0x00, 0x00, 0x58, 0x5b, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // .%..X[......8... + 0x00, // . +}; static const uint8_t fs_imgui_color_dx9[129] = { 0x46, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x74, 0x00, 0x00, 0x03, 0xff, 0xff, // FSH....I..t..... diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_cubemap.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_cubemap.bin.h index ba8a5c2cc0f..d0d5acf6424 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_cubemap.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_cubemap.bin.h @@ -24,6 +24,234 @@ static const uint8_t fs_imgui_cubemap_glsl[363] = 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, // _FragColor = tmp 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // var_1;.}... }; +static const uint8_t fs_imgui_cubemap_spv[3585] = +{ + 0x46, 0x53, 0x48, 0x04, 0xe3, 0xc2, 0x5c, 0x65, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH....e...u_ima + 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x01, 0x00, 0x00, // geLodEnabled.... + 0x01, 0x00, 0xdc, 0x0d, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, // ......#......... + 0x8e, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // .a.............. + 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, // ........GLSL.std + 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // .450............ + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // main....4....... + 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....main........ + 0x67, 0x09, 0x00, 0x00, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, // g...BgfxSamplerC + 0x75, 0x62, 0x65, 0x00, 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ube.....g....... + 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // m_sampler....... + 0x67, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, // g.......m_textur + 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, // e...........bgfx + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75, 0x62, 0x65, 0x4c, 0x6f, 0x64, 0x28, 0x73, // TextureCubeLod(s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // truct-BgfxSample + 0x72, 0x43, 0x75, 0x62, 0x65, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x43, 0x31, 0x31, 0x3b, 0x76, 0x66, // rCube-p1-tC11;vf + 0x33, 0x3b, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 3;f1;.......'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ...._coord...... + 0x2e, 0x12, 0x00, 0x00, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._level...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x06, 0x00, 0x9e, 0x16, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x33, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x32, 0x00, 0x00, // 3;vf4;.......2.. + 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // v_normal........ + 0x02, 0x25, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // .%..gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // 0_......C...s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, // xColor.......... + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // s_texColorSample + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // r...........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // xColorTexture... + 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, // ........bgfx_Voi + 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, // dFrag........T.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, // param........... + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, // color........... + 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xa5, 0x09, 0x00, 0x00, // $Global......... + 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, // ....u_viewRect.. + 0x06, 0x00, 0x06, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ewTexel......... + 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_view...... + 0xa5, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // w............... + 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xa5, 0x09, 0x00, 0x00, // u_proj.......... + 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // ....u_invProj... + 0x06, 0x00, 0x06, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xa5, 0x09, 0x00, 0x00, // ewProj.......... + 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ....u_invViewPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xa5, 0x09, 0x00, 0x00, // u_model......... + 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, // ....u_modelView. + 0x06, 0x00, 0x07, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, // delViewProj..... + 0xa5, 0x09, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, // ........u_alphaR + 0x65, 0x66, 0x34, 0x00, 0x06, 0x00, 0x08, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // ef4............. + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // d.......B....... + 0x05, 0x00, 0x04, 0x00, 0x45, 0x4e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ....EN..param... + 0x05, 0x00, 0x04, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x04, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, // ........alpha... + 0x05, 0x00, 0x05, 0x00, 0xee, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, // .....@..v_normal + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, // ........4...v_no + 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, // rmal............ + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....G..param... + 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ata_0_..G....... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ".......G....... + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, // !.......G....... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, // ".......G....... + 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xce, 0x02, 0x00, 0x00, // !.......G....... + 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ....@...H....... + 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xa5, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xa5, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xa5, 0x09, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#...`...H... + 0xa5, 0x09, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xa5, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xa5, 0x09, 0x00, 0x00, // ........H....... + 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0xa5, 0x09, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, // ........#...0... + 0x47, 0x00, 0x03, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // G...........G... + 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // B...".......G... + 0x34, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // 4...........G... + 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!........... + 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x98, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x67, 0x09, 0x00, 0x00, // ............g... + 0xfc, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, // ........ ...!... + 0x00, 0x00, 0x00, 0x00, 0x67, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // ....g........... + 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0xaf, 0x04, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // ....!........... + 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // !............... + 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x05, 0x00, 0x2e, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, // !............... + 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....;...!...C... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ...y....... + 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ....;...y....... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x98, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, // ....;........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ....+........... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....e........... + 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // +.......j... ... + 0x1c, 0x00, 0x04, 0x00, 0xce, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ........e...j... + 0x1e, 0x00, 0x0f, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xce, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e.......e... + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // e........... ... + 0x5f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xa5, 0x09, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // _...........;... + 0x5f, 0x00, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // _...B.......+... + 0x0c, 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ..../.......+... + 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x8b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x05, 0x0b, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x2b, 0x00, 0x04, 0x00, // ..........L>+... + 0x0d, 0x00, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x2b, 0x00, 0x04, 0x00, // ....!.....L?+... + 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x96, 0x02, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....4....... ... + 0x9b, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9b, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // ............6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xef, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .G......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........=....... + 0x21, 0x43, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, // !C......=....... + 0x02, 0x33, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x67, 0x09, 0x00, 0x00, // .3......P...g... + 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // . ..!C...3..>... + 0x43, 0x12, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // C.... ..=....... + 0xee, 0x40, 0x00, 0x00, 0x34, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, // .@..4...>....G.. + 0xee, 0x40, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, // .@..9.......ya.. + 0x9e, 0x16, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....G......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xaf, 0x04, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // ....7...!...'... + 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7...........7... + 0x8a, 0x02, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x24, 0x54, 0x00, 0x00, // ............$T.. + 0x41, 0x00, 0x05, 0x00, 0x15, 0x03, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A...........'... + 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, // ....=.......m).. + 0xc0, 0x1c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, // ....A...y....U.. + 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // '.......=....... + 0xf2, 0x4e, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, // .N...U..V....... + 0x32, 0x39, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // 29..m)...N..=... + 0x18, 0x00, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ............=... + 0x0d, 0x00, 0x00, 0x00, 0x3d, 0x3e, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0x58, 0x00, 0x07, 0x00, // ....=>......X... + 0x1d, 0x00, 0x00, 0x00, 0x11, 0x1c, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, // ........29...... + 0x02, 0x00, 0x00, 0x00, 0x3d, 0x3e, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x11, 0x1c, 0x00, 0x00, // ....=>.......... + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, // 8...6.......5... + 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x5f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ........._..=... + 0x0d, 0x00, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....[......=... + 0x0d, 0x00, 0x00, 0x00, 0x25, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....%S......=... + 0x0d, 0x00, 0x00, 0x00, 0xc5, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....=......=... + 0x0d, 0x00, 0x00, 0x00, 0xd8, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, // .....=......P... + 0x1d, 0x00, 0x00, 0x00, 0x56, 0x5b, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x25, 0x53, 0x00, 0x00, // ....V[...[..%S.. + 0xc5, 0x3d, 0x00, 0x00, 0xd8, 0x3d, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x56, 0x5b, 0x00, 0x00, // .=...=......V[.. + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9e, 0x16, 0x00, 0x00, // 8...6........... + 0x00, 0x00, 0x00, 0x00, 0x2e, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, // ........7....... + 0x95, 0x32, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x02, 0x25, 0x00, 0x00, // .2..7........%.. + 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........;....... + 0xd5, 0x54, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // .T......;....... + 0x45, 0x4e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, // EN......;....... + 0xc9, 0x2e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x54, 0x00, 0x00, // ........>....T.. + 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, // ....9........... + 0x35, 0x13, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // 5....T..=....... + 0xe0, 0x51, 0x00, 0x00, 0x95, 0x32, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x45, 0x4e, 0x00, 0x00, // .Q...2..>...EN.. + 0xe0, 0x51, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x75, 0x39, 0x00, 0x00, // .Q..A.......u9.. + 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // B.../.......=... + 0x0d, 0x00, 0x00, 0x00, 0x8d, 0x61, 0x00, 0x00, 0x75, 0x39, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....a..u9..>... + 0xc9, 0x2e, 0x00, 0x00, 0x8d, 0x61, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .....a..9....... + 0x0f, 0x4e, 0x00, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x45, 0x4e, 0x00, 0x00, // .N......C...EN.. + 0xc9, 0x2e, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // ....O........... + 0x0f, 0x4e, 0x00, 0x00, 0x0f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .N...N.......... + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x6b, 0x20, 0x00, 0x00, // ....A.......k .. + 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // B.../.......=... + 0x0d, 0x00, 0x00, 0x00, 0xa3, 0x46, 0x00, 0x00, 0x6b, 0x20, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, // .....F..k ...... + 0x0d, 0x00, 0x00, 0x00, 0xe2, 0x3b, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0xa3, 0x46, 0x00, 0x00, // .....;..!....F.. + 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x05, 0x0b, 0x00, 0x00, // ................ + 0xe2, 0x3b, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x22, 0x00, 0x00, // .;..Q........".. + 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........Q....... + 0x7b, 0x2f, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // {/..........Q... + 0x0d, 0x00, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....6`.......... + 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, 0x01, 0x22, 0x00, 0x00, // P........P...".. + 0x7b, 0x2f, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // {/..6`......>... + 0x02, 0x25, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // .%...P......8... + 0x00, // . +}; static const uint8_t fs_imgui_cubemap_dx9[382] = { 0x46, 0x53, 0x48, 0x04, 0xe3, 0xc2, 0x5c, 0x65, 0x02, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH....e...s_tex @@ -82,61 +310,55 @@ static const uint8_t fs_imgui_cubemap_dx11[441] = 0x00, 0x01, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x01, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x4c, // ..@....L?.@....L 0x3e, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // >>....... }; -static const uint8_t fs_imgui_cubemap_mtl[848] = +static const uint8_t fs_imgui_cubemap_mtl[747] = { 0x46, 0x53, 0x48, 0x04, 0xe3, 0xc2, 0x5c, 0x65, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH....e...u_ima 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x02, 0x01, 0x00, 0x00, // geLodEnabled.... - 0x01, 0x00, 0x29, 0x03, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ..)...using name + 0x01, 0x00, 0xc4, 0x02, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......using name 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, // space metal;.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // rInput {. float 0x33, 0x20, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, // 3 v_normal;.};.s 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, // truct xlatMtlSha - 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, // derOutput {. ha - 0x6c, 0x66, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // lf4 gl_FragColor - 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // ;.};.struct xlat - 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // MtlShaderUniform - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x69, 0x6d, // {. float4 u_im - 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3b, 0x0a, 0x7d, // ageLodEnabled;.} - 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // ;.fragment xlatM - 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x78, // tlShaderOutput x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, 0x74, // latMtlMain (xlat - 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x5f, // MtlShaderInput _ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, // mtl_i [[stage_in - 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // ]], constant xla + 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, // derOutput {. fl + 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, // oat4 gl_FragColo + 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, // r;.};.struct xla 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, // tMtlShaderUnifor - 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, // m& _mtl_u [[buff - 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, 0x65, // er(0)]]. , te - 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, // xturecube - 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x74, 0x65, // s_texColor [[te - 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, // xture(0)]], samp - 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, // ler _mtlsmp_s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // xColor [[sampler - 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // (0)]]).{. xlatM - 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, // tlShaderOutput _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, // mtl_o;. half4 t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_1 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, // mpvar_1 = half4( + 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x69, // m {. float4 u_i + 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3b, 0x0a, // mageLodEnabled;. + 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // };.fragment xlat + 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, // xlatMtlMain (xla + 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, // tMtlShaderInput + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, // _mtl_i [[stage_i + 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, // n]], constant xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, // atMtlShaderUnifo + 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, // rm& _mtl_u [[buf + 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, // fer(0)]]. , t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // exturecube s_texColor [[t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // exColor [[sample + 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, // r(0)]]).{. xlat + 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, // _mtl_o;. float4 + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_1 = 0;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, // tmpvar_1.xyz = 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // s_texColor.sampl 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // e(_mtlsmp_s_texC 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x5f, // olor, (float3)(_ 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x2c, // mtl_i.v_normal), 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, // level(_mtl_u.u_ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, // imageLodEnabled. - 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, // x)));. float tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_2 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, 0x20, 0x2b, 0x20, // pvar_2 = (0.2 + - 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, // (0.8 * _mtl_u.u_ - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, // imageLodEnabled. - 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, // y));. half4 tmp - 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, // var_3 = 0;. tmp - 0x76, 0x61, 0x72, 0x5f, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // var_3.xyz = tmpv - 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, // ar_1.xyz;. tmpv - 0x61, 0x72, 0x5f, 0x33, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x6d, // ar_3.w = half(tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // pvar_2);. _mtl_ - 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, // o.gl_FragColor = - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // tmpvar_3;. ret - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // urn _mtl_o;.}... + 0x78, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // x)).xyz;. tmpva + 0x72, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, 0x20, 0x2b, 0x20, 0x28, // r_1.w = (0.2 + ( + 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, // 0.8 * _mtl_u.u_i + 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x79, // mageLodEnabled.y + 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, // ));. _mtl_o.gl_ + 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, // FragColor = tmpv + 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, // ar_1;. return _ + 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // mtl_o;.}... }; extern const uint8_t* fs_imgui_cubemap_pssl; extern const uint32_t fs_imgui_cubemap_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_image.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_image.bin.h index 758a3bd4fc6..54fe9d1a528 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_image.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_image.bin.h @@ -24,6 +24,234 @@ static const uint8_t fs_imgui_image_glsl[360] = 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // agColor = tmpvar 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _1;.}... }; +static const uint8_t fs_imgui_image_spv[3597] = +{ + 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima + 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x01, 0x00, 0x00, // geLodEnabled.... + 0x01, 0x00, 0xe8, 0x0d, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, // ......#......... + 0x8e, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // .a.............. + 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, // ........GLSL.std + 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // .450............ + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // main....t....... + 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....main........ + 0x61, 0x09, 0x00, 0x00, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, // a...BgfxSampler2 + 0x44, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // D.......a....... + 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // m_sampler....... + 0x61, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, // a.......m_textur + 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0xce, 0x14, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, // e...........bgfx + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x4c, 0x6f, 0x64, 0x28, 0x73, 0x74, 0x72, // Texture2DLod(str + 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, // uct-BgfxSampler2 + 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x66, 0x31, // D-p1-t211;vf2;f1 + 0x3b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, // ;.......'..._sam + 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, // pler............ + 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2e, 0x12, 0x00, 0x00, // _coord.......... + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, // _level......5... + 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, // vec4_splat(f1;.. + 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ........_x...... + 0xe8, 0x16, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, // ....@main(vf2;vf + 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x32, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, // 4;.......2..v_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0x02, 0x25, 0x00, 0x00, // xcoord0......%.. + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ....C...s_texCol + 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // or..........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, // xColorSampler... + 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // orTexture....... + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g........T..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, // m...........colo + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x26, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, // r.......&...$Glo + 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x26, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // bal.....&....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_viewRect...... + 0x26, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, // &.......u_viewTe + 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // xel.....&....... + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x26, 0x05, 0x00, 0x00, // u_view......&... + 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, // ....u_invView... + 0x06, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, // ....&.......u_pr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x26, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // oj......&....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_invProj....... + 0x26, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, // &.......u_viewPr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x26, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // oj......&....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // u_invViewProj... + 0x06, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ....&.......u_mo + 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x26, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // del.....&....... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, // u_modelView..... + 0x26, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // &.......u_modelV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x26, 0x05, 0x00, 0x00, // iewProj.....&... + 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, // ....u_alphaRef4. + 0x06, 0x00, 0x08, 0x00, 0x26, 0x05, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6d, // ....&.......u_im + 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x00, 0x00, 0x00, // ageLodEnabled... + 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ....B........... + 0x45, 0x4e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // EN..param....... + 0xc9, 0x2e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ....param....... + 0xf3, 0x10, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ....alpha....... + 0xee, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // .@..v_texcoord0. + 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....t...v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .G..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....param....... + 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // 0_..G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // ....G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x88, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....G........... + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // @...H...&....... + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #.......H...&... + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ....#.......H... + 0x26, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // &...........H... + 0x26, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // &.......#... ... + 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...&........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x26, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H...&....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H...&....... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #...`...H...&... + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x26, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // &...........H... + 0x26, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, // &.......#....... + 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...&........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x26, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...&....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H...&....... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #.......H...&... + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x26, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // &...........H... + 0x26, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, // &.......#... ... + 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...&........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x26, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H...&....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H...&....... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #...`...H...&... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x26, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // &...........H... + 0x26, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, // &.......#....... + 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...&........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x26, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...&....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H...&....... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #.......H...&... + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x26, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // &...........H... + 0x26, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, // &.......#....... + 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...&........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....H...&....... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x26, 0x05, 0x00, 0x00, // #... ...H...&... + 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#...0...G... + 0x26, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, // &.......G...B... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, // ".......G...t... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, // !............... + 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........a....... + 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // a............... + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x89, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....!........... + 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0x1f, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // ................ + 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;.......C....... + 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ...y........... + 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;...y........... + 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;............... + 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0x88, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x00, // ....e...j....... + 0x26, 0x05, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // &...........e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e.......e...e... + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xa3, 0x07, 0x00, 0x00, // ........ ....... + 0x02, 0x00, 0x00, 0x00, 0x26, 0x05, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xa3, 0x07, 0x00, 0x00, // ....&...;....... + 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // B.......+....... + 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // /.......+....... + 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, 0x02, 0x00, 0x00, // ........ ....... + 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0x05, 0x0b, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ......L>+....... + 0x21, 0x0a, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, // !.....L?+....... + 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, // ........ ....... + 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, // ........;....... + 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // t....... ....... + 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // ........;....... + 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // ........6....... + 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // ................ + 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, // Sa..;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, // ....=.......!C.. + 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // ....=........3.. + 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, // ....P...a.... .. + 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, // !C...3..>...C... + 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xee, 0x40, 0x00, 0x00, // . ..=........@.. + 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xee, 0x40, 0x00, 0x00, // t...>....G...@.. + 0x39, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, 0xe8, 0x16, 0x00, 0x00, // 9.......ya...... + 0xef, 0x47, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .G......=....... + 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........>....... + 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ........8...6... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x04, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......'...7... + 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0x2e, 0x12, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x24, 0x54, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ........$T..A... + 0x13, 0x03, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ........'....... + 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, // =.......m)...... + 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A...y....U..'... + 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, // ....=........N.. + 0xe4, 0x55, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, // .U..V.......29.. + 0x6d, 0x29, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // m)...N..=....... + 0xcd, 0x19, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........=....... + 0x3d, 0x3e, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0x58, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // =>......X....... + 0x11, 0x1c, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....29.......... + 0x3d, 0x3e, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x11, 0x1c, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // =>..........8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x5f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....._..=....... + 0xe0, 0x5b, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .[......=....... + 0x25, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // %S......=....... + 0xc5, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .=......=....... + 0xd8, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .=......P....... + 0x56, 0x5b, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x25, 0x53, 0x00, 0x00, 0xc5, 0x3d, 0x00, 0x00, // V[...[..%S...=.. + 0xd8, 0x3d, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x56, 0x5b, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // .=......V[..8... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0xe8, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x1f, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x95, 0x32, 0x00, 0x00, // ....7........2.. + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x02, 0x25, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7........%...... + 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, // ....;........T.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x45, 0x4e, 0x00, 0x00, // ....;.......EN.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....>....T...... + 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, // 9...........5... + 0xd5, 0x54, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xe0, 0x51, 0x00, 0x00, // .T..=........Q.. + 0x95, 0x32, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x45, 0x4e, 0x00, 0x00, 0xe0, 0x51, 0x00, 0x00, // .2..>...EN...Q.. + 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x75, 0x39, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, // A.......u9..B... + 0x2f, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // /.......=....... + 0x8d, 0x61, 0x00, 0x00, 0x75, 0x39, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x2e, 0x00, 0x00, // .a..u9..>....... + 0x8d, 0x61, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0f, 0x4e, 0x00, 0x00, // .a..9........N.. + 0xce, 0x14, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x45, 0x4e, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, // ....C...EN...... + 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x0f, 0x4e, 0x00, 0x00, // O............N.. + 0x0f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // .N.............. + 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x6b, 0x20, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, // A.......k ..B... + 0x2f, 0x0a, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // /.......=....... + 0xa3, 0x46, 0x00, 0x00, 0x6b, 0x20, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .F..k .......... + 0xe2, 0x3b, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0xa3, 0x46, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, // .;..!....F...... + 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x05, 0x0b, 0x00, 0x00, 0xe2, 0x3b, 0x00, 0x00, // .............;.. + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x22, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // Q........"...... + 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7b, 0x2f, 0x00, 0x00, // ....Q.......{/.. + 0x18, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........Q....... + 0x36, 0x60, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, // 6`..........P... + 0x1d, 0x00, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, 0x01, 0x22, 0x00, 0x00, 0x7b, 0x2f, 0x00, 0x00, // .....P..."..{/.. + 0x36, 0x60, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x02, 0x25, 0x00, 0x00, // 6`......>....%.. + 0x0f, 0x50, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .P......8.... +}; static const uint8_t fs_imgui_image_dx9[386] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x02, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH.o.><...s_tex @@ -83,62 +311,55 @@ static const uint8_t fs_imgui_image_dx11[445] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x01, 0x40, 0x00, // ......@....L?.@. 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // ...L>>....... }; -static const uint8_t fs_imgui_image_mtl[852] = +static const uint8_t fs_imgui_image_mtl[751] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x02, 0x01, 0x00, 0x00, // geLodEnabled.... - 0x01, 0x00, 0x2d, 0x03, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ..-...using name + 0x01, 0x00, 0xc8, 0x02, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......using name 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, // space metal;.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // rInput {. float 0x32, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, // 2 v_texcoord0;.} 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, // ;.struct xlatMtl 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, // ShaderOutput {. - 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // half4 gl_FragCo - 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, // lor;.};.struct x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, // orm {. float4 u - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, // _imageLodEnabled - 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // ;.};.fragment xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu - 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu - 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage - 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, // float4 gl_FragC + 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // olor;.};.struct 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni - 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b - 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , - 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texture2d s_texColor [[t - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam - 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t - 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // exColor [[sample - 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, // r(0)]]).{. xlat - 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput - 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, // _mtl_o;. half4 - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_1 = 0;. - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, // tmpvar_1 = half4 - 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // (s_texColor.samp + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, // form {. float4 + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, // d;.};.fragment x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, // latMtlShaderOutp + 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, // ut xlatMtlMain ( + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, // xlatMtlShaderInp + 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, // ut _mtl_i [[stag + 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, // e_in]], constant + 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, // xlatMtlShaderUn + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, // iform& _mtl_u [[ + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, // buffer(0)]]. , + 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, // texture2d s_texColor [[ + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, // texture(0)]], sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // mpler _mtlsmp_s_ + 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, // texColor [[sampl + 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, // er(0)]]).{. xla + 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // _mtl_o;. float + 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, // 4 tmpvar_1 = 0;. + 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, // tmpvar_1.xyz = + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // s_texColor.samp 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, // Color, (float2)( 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor 0x64, 0x30, 0x29, 0x2c, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // d0), level(_mtl_ 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, // u.u_imageLodEnab - 0x6c, 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // led.x)));. floa - 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, // t tmpvar_2 = 0;. - 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, // tmpvar_2 = (0. - 0x32, 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // 2 + (0.8 * _mtl_ - 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, // u.u_imageLodEnab - 0x6c, 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, // led.y));. half4 - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_3 = 0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, // tmpvar_3.xyz = - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_1.xyz;. - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, // tmpvar_3.w = hal - 0x66, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, // f(tmpvar_2);. _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, // mtl_o.gl_FragCol - 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x3b, 0x0a, 0x20, // or = tmpvar_3;. - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, // return _mtl_o;. - 0x7d, 0x0a, 0x0a, 0x00, // }... + 0x6c, 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, // led.x)).xyz;. t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, // mpvar_1.w = (0.2 + 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // + (0.8 * _mtl_u + 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, // .u_imageLodEnabl + 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, // ed.y));. _mtl_o + 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, // .gl_FragColor = + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, // tmpvar_1;. retu + 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // rn _mtl_o;.}... }; extern const uint8_t* fs_imgui_image_pssl; extern const uint32_t fs_imgui_image_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_image_swizz.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_image_swizz.bin.h index da164a440e8..e4904398ecd 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_image_swizz.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_image_swizz.bin.h @@ -37,6 +37,257 @@ static const uint8_t fs_imgui_image_swizz_glsl[565] = 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x3b, // olor = tmpvar_3; 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // .}... }; +static const uint8_t fs_imgui_image_swizz_spv[3957] = +{ + 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x02, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima + 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x01, 0x00, 0x00, // geLodEnabled.... + 0x01, 0x00, 0x09, 0x75, 0x5f, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x12, 0x01, 0x00, 0x00, // ...u_swizzle.... + 0x01, 0x00, 0x40, 0x0f, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, // ..@...#......... + 0x7a, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // za.............. + 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, // ........GLSL.std + 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // .450............ + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // main....t....... + 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....main........ + 0x61, 0x09, 0x00, 0x00, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, // a...BgfxSampler2 + 0x44, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // D.......a....... + 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // m_sampler....... + 0x61, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, // a.......m_textur + 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0xce, 0x14, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, // e...........bgfx + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x4c, 0x6f, 0x64, 0x28, 0x73, 0x74, 0x72, // Texture2DLod(str + 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, // uct-BgfxSampler2 + 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x66, 0x31, // D-p1-t211;vf2;f1 + 0x3b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, // ;.......'..._sam + 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, // pler............ + 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x2e, 0x12, 0x00, 0x00, // _coord.......... + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x01, 0x14, 0x00, 0x00, // _level.......... + 0x76, 0x65, 0x63, 0x33, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, // vec3_splat(f1;.. + 0x05, 0x00, 0x03, 0x00, 0xab, 0x5b, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // .....[.._x...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x06, 0x00, 0xe8, 0x16, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xae, 0x58, 0x00, 0x00, // 2;vf4;.......X.. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, // v_texcoord0..... + 0x3e, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // >...gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // 0_......C...s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, // xColor.......... + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // s_texColorSample + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // r...........s_te + 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // xColorTexture... + 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, // ........bgfx_Voi + 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4b, 0x4e, 0x00, 0x00, // dFrag.......KN.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, // param........... + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // color........... + 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, // $Global......... + 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, // ....u_viewRect.. + 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ewTexel......... + 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // ....u_view...... + 0xca, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, // ........u_invVie + 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // w............... + 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, // u_proj.......... + 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // ....u_invProj... + 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xca, 0x03, 0x00, 0x00, // ewProj.......... + 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ....u_invViewPro + 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // j............... + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, // u_model......... + 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, // ....u_modelView. + 0x06, 0x00, 0x07, 0x00, 0xca, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, // delViewProj..... + 0xca, 0x03, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, // ........u_alphaR + 0x65, 0x66, 0x34, 0x00, 0x06, 0x00, 0x08, 0x00, 0xca, 0x03, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // ef4............. + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xca, 0x03, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // d............... + 0x75, 0x5f, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, // u_swizzle....... + 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x82, 0x47, 0x00, 0x00, // B............G.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xa5, 0x2a, 0x00, 0x00, // param........*.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xf3, 0x10, 0x00, 0x00, // param........... + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3f, 0x28, 0x00, 0x00, // alpha.......?(.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xee, 0x40, 0x00, 0x00, // param........@.. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, // v_texcoord0..... + 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // t...v_texcoord0. + 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xef, 0x47, 0x00, 0x00, // ata_0_.......G.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, // param........... + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, // param........... + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0xcd, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // G...........@... + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // #.......H....... + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0xca, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // `...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xca, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0xca, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // `...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xca, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // ........H....... + 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0xca, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // ...H........... + 0x23, 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xca, 0x03, 0x00, 0x00, // #...0...H....... + 0x0d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#...@...G... + 0xca, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, // ........G...B... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, // ".......G...t... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, // !............... + 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........a....... + 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // a............... + 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x89, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....!........... + 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xe5, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0x1f, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // ................ + 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;.......C....... + 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ...y........... + 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;...y........... + 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;............... + 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, // e............... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0xcd, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x10, 0x00, // ....e...j....... + 0xca, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0xcd, 0x06, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e.......e...e... + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x47, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xca, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // G...........;... + 0x47, 0x06, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // G...B.......+... + 0x0c, 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ..../.......+... + 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x8b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0c, 0x00, 0x00, 0x00, 0x32, 0x0a, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....2....... ... + 0x9b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x05, 0x0b, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x2b, 0x00, 0x04, 0x00, // ..........L>+... + 0x0d, 0x00, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x2b, 0x00, 0x04, 0x00, // ....!.....L?+... + 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x91, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ....t....... ... + 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ............;... + 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // ............6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xef, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .G......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........=....... + 0x21, 0x43, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, // !C......=....... + 0x02, 0x33, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, // .3......P...a... + 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // . ..!C...3..>... + 0x43, 0x12, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // C.... ..=....... + 0xee, 0x40, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, // .@..t...>....G.. + 0xee, 0x40, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, // .@..9.......ya.. + 0xe8, 0x16, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....G......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x89, 0x04, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // ....7.......'... + 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7...........7... + 0x8a, 0x02, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x24, 0x54, 0x00, 0x00, // ............$T.. + 0x41, 0x00, 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A...........'... + 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, // ....=.......m).. + 0xc0, 0x1c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, // ....A...y....U.. + 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // '.......=....... + 0xf2, 0x4e, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, // .N...U..V....... + 0x32, 0x39, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // 29..m)...N..=... + 0x13, 0x00, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ............=... + 0x0d, 0x00, 0x00, 0x00, 0x3d, 0x3e, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0x58, 0x00, 0x07, 0x00, // ....=>......X... + 0x1d, 0x00, 0x00, 0x00, 0x11, 0x1c, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, // ........29...... + 0x02, 0x00, 0x00, 0x00, 0x3d, 0x3e, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x11, 0x1c, 0x00, 0x00, // ....=>.......... + 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, // 8...6........... + 0x00, 0x00, 0x00, 0x00, 0xe5, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0xab, 0x5b, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xc6, 0x35, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .[.......5..=... + 0x0d, 0x00, 0x00, 0x00, 0x29, 0x1a, 0x00, 0x00, 0xab, 0x5b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....)....[..=... + 0x0d, 0x00, 0x00, 0x00, 0x1d, 0x44, 0x00, 0x00, 0xab, 0x5b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .....D...[..=... + 0x0d, 0x00, 0x00, 0x00, 0x67, 0x2d, 0x00, 0x00, 0xab, 0x5b, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, // ....g-...[..P... + 0x18, 0x00, 0x00, 0x00, 0xee, 0x31, 0x00, 0x00, 0x29, 0x1a, 0x00, 0x00, 0x1d, 0x44, 0x00, 0x00, // .....1..)....D.. + 0x67, 0x2d, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xee, 0x31, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // g-.......1..8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x6a, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....jV..=....... + 0x56, 0x55, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // VU......=....... + 0x9b, 0x4c, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .L......=....... + 0x3b, 0x37, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ;7......=....... + 0x4e, 0x37, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // N7......P....... + 0x92, 0x52, 0x00, 0x00, 0x56, 0x55, 0x00, 0x00, 0x9b, 0x4c, 0x00, 0x00, 0x3b, 0x37, 0x00, 0x00, // .R..VU...L..;7.. + 0x4e, 0x37, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x92, 0x52, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // N7.......R..8... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0xe8, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x1f, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0xae, 0x58, 0x00, 0x00, // ....7........X.. + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3e, 0x1c, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7.......>....... + 0xa7, 0x5d, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4b, 0x4e, 0x00, 0x00, // .]..;.......KN.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x82, 0x47, 0x00, 0x00, // ....;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xa5, 0x2a, 0x00, 0x00, // ....;........*.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x3f, 0x28, 0x00, 0x00, // ....;.......?(.. + 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x4b, 0x4e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....>...KN...... + 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, // 9...........5... + 0x4b, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x56, 0x4b, 0x00, 0x00, // KN..=.......VK.. + 0xae, 0x58, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x82, 0x47, 0x00, 0x00, 0x56, 0x4b, 0x00, 0x00, // .X..>....G..VK.. + 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xeb, 0x32, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, // A........2..B... + 0x2f, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // /.......=....... + 0x03, 0x5b, 0x00, 0x00, 0xeb, 0x32, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa5, 0x2a, 0x00, 0x00, // .[...2..>....*.. + 0x03, 0x5b, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xaf, 0x50, 0x00, 0x00, // .[..9........P.. + 0xce, 0x14, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x82, 0x47, 0x00, 0x00, 0xa5, 0x2a, 0x00, 0x00, // ....C....G...*.. + 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xa7, 0x1c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, // A...........B... + 0x32, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x59, 0x1e, 0x00, 0x00, // 2...=.......Y... + 0xa7, 0x1c, 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // ................ + 0xaf, 0x50, 0x00, 0x00, 0x59, 0x1e, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, // .P..Y...A....... + 0x47, 0x59, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, // GY..B.../....... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x4e, 0x5c, 0x00, 0x00, 0x47, 0x59, 0x00, 0x00, // =.......N...GY.. + 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x28, 0x4d, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, // ........(M..!... + 0x4e, 0x5c, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, // N............... + 0x05, 0x0b, 0x00, 0x00, 0x28, 0x4d, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3f, 0x28, 0x00, 0x00, // ....(M..>...?(.. + 0x18, 0x0e, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x87, 0x22, 0x00, 0x00, // ....9........".. + 0x01, 0x14, 0x00, 0x00, 0x3f, 0x28, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....?(..Q....... + 0x12, 0x5e, 0x00, 0x00, 0x87, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // .^..."......Q... + 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x41, 0x00, 0x00, 0x87, 0x22, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....+A..."...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xac, 0x59, 0x00, 0x00, 0x87, 0x22, 0x00, 0x00, // Q........Y...".. + 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x85, 0x49, 0x00, 0x00, // ....P........I.. + 0x12, 0x5e, 0x00, 0x00, 0x2b, 0x41, 0x00, 0x00, 0xac, 0x59, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, // .^..+A...Y...... + 0x3e, 0x00, 0x03, 0x00, 0x3e, 0x1c, 0x00, 0x00, 0x85, 0x49, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >...>....I...... + 0x38, 0x00, 0x01, 0x00, 0x00, // 8.... +}; static const uint8_t fs_imgui_image_swizz_dx9[450] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x03, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH.o.><...s_tex @@ -103,75 +354,68 @@ static const uint8_t fs_imgui_image_swizz_dx11[493] = 0x3e, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x10, // >6.... ......... 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, // .....>..... . }; -static const uint8_t fs_imgui_image_swizz_mtl[1065] = +static const uint8_t fs_imgui_image_swizz_mtl[950] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x02, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x02, 0x01, 0x00, 0x00, // geLodEnabled.... 0x01, 0x00, 0x09, 0x75, 0x5f, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x02, 0x01, 0x00, 0x00, // ...u_swizzle.... - 0x01, 0x00, 0xf2, 0x03, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......using name + 0x01, 0x00, 0x7f, 0x03, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......using name 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, // space metal;.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // rInput {. float 0x32, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, // 2 v_texcoord0;.} 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, // ;.struct xlatMtl 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, // ShaderOutput {. - 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // half4 gl_FragCo - 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, // lor;.};.struct x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, // orm {. float4 u - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, // _imageLodEnabled - 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x73, 0x77, 0x69, // ;. float4 u_swi - 0x7a, 0x7a, 0x6c, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, // zzle;.};.fragmen - 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, // t xlatMtlShaderO - 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, // utput xlatMtlMai - 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, // n (xlatMtlShader - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, // Input _mtl_i [[s - 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, // tage_in]], const - 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // ant xlatMtlShade - 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // rUniform& _mtl_u - 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, // [[buffer(0)]]. - 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, // , texture2d s_texColor - 0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, // [[texture(0)]], - 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, // sampler _mtlsmp - 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, // _s_texColor [[sa - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, // mpler(0)]]).{. - 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, // xlatMtlShaderOut - 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, // put _mtl_o;. ha - 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, // lf4 tmpvar_1 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, // ;. tmpvar_1 = h - 0x61, 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, // alf4(s_texColor. + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, // float4 gl_FragC + 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // olor;.};.struct + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, // form {. float4 + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x73, 0x77, // d;. float4 u_sw + 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, // izzle;.};.fragme + 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, // nt xlatMtlShader + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, // Output xlatMtlMa + 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // in (xlatMtlShade + 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, // rInput _mtl_i [[ + 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, // stage_in]], cons + 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, // tant xlatMtlShad + 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // erUniform& _mtl_ + 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, // u [[buffer(0)]]. + 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, // , texture2d< + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // float> s_texColo + 0x72, 0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, // r [[texture(0)]] + 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, // , sampler _mtlsm + 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, // p_s_texColor [[s + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, // ampler(0)]]).{. + 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, // xlatMtlShaderOu + 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, // tput _mtl_o;. f + 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, // loat tmpvar_1 = + 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, // 0;. tmpvar_1 = + 0x64, 0x6f, 0x74, 0x20, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, // dot (s_texColor. 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, // sample(_mtlsmp_s 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, // _texColor, (floa 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, // t2)(_mtl_i.v_tex 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x2c, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x5f, // coord0), level(_ 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, // mtl_u.u_imageLod - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, // Enabled.x)));. - 0x68, 0x61, 0x6c, 0x66, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, // half tmpvar_2 = - 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, // 0;. tmpvar_2 = - 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x28, 0x66, 0x6c, 0x6f, // ((half)dot ((flo - 0x61, 0x74, 0x34, 0x29, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2c, 0x20, 0x5f, 0x6d, // at4)tmpvar_1, _m - 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x29, 0x29, // tl_u.u_swizzle)) - 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // ;. float tmpvar - 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // _3 = 0;. tmpvar - 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, // _3 = (0.2 + (0.8 - 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, // * _mtl_u.u_imag - 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, // eLodEnabled.y)); - 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // . half3 tmpvar_ - 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 4 = 0;. tmpvar_ - 0x34, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x3b, 0x0a, // 4.x = tmpvar_2;. - 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, // tmpvar_4.y = t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // mpvar_2;. tmpva - 0x72, 0x5f, 0x34, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // r_4.z = tmpvar_2 - 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // ;. half4 tmpvar - 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // _5 = 0;. tmpvar - 0x5f, 0x35, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // _5.xyz = tmpvar_ - 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x2e, 0x77, 0x20, // 4;. tmpvar_5.w - 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, // = half(tmpvar_3) - 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, // ;. _mtl_o.gl_Fr - 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // agColor = tmpvar - 0x5f, 0x35, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, // _5;. return _mt - 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // l_o;.}... + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x2c, 0x20, 0x5f, 0x6d, 0x74, // Enabled.x)), _mt + 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x29, 0x3b, 0x0a, // l_u.u_swizzle);. + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // float3 tmpvar_ + 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 2 = 0;. tmpvar_ + 0x32, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, // 2.x = tmpvar_1;. + 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x74, // tmpvar_2.y = t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // mpvar_1;. tmpva + 0x72, 0x5f, 0x32, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // r_2.z = tmpvar_1 + 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ;. float4 tmpva + 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_3 = 0;. tmpva + 0x72, 0x5f, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // r_3.xyz = tmpvar + 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x2e, 0x77, // _2;. tmpvar_3.w + 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, // = (0.2 + (0.8 * + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, // _mtl_u.u_imageL + 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, // odEnabled.y));. + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, // _mtl_o.gl_FragC + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x3b, // olor = tmpvar_3; + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, // . return _mtl_o + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // ;.}... }; extern const uint8_t* fs_imgui_image_swizz_pssl; extern const uint32_t fs_imgui_image_swizz_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_latlong.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_latlong.bin.h index 12a6868c16d..b663f8ede85 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_latlong.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_latlong.bin.h @@ -42,6 +42,283 @@ static const uint8_t fs_imgui_latlong_glsl[651] = 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, // _FragColor = tmp 0x76, 0x61, 0x72, 0x5f, 0x34, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // var_4;.}... }; +static const uint8_t fs_imgui_latlong_spv[4373] = +{ + 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima + 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x01, 0x00, 0x00, // geLodEnabled.... + 0x01, 0x00, 0xf0, 0x10, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, // ......#......... + 0x75, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, // ub.............. + 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, // ........GLSL.std + 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // .450............ + 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // main....t....... + 0x10, 0x00, 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ................ + 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....main........ + 0x67, 0x09, 0x00, 0x00, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x43, // g...BgfxSamplerC + 0x75, 0x62, 0x65, 0x00, 0x06, 0x00, 0x06, 0x00, 0x67, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ube.....g....... + 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // m_sampler....... + 0x67, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, // g.......m_textur + 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, // e...........bgfx + 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75, 0x62, 0x65, 0x4c, 0x6f, 0x64, 0x28, 0x73, // TextureCubeLod(s + 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, // truct-BgfxSample + 0x72, 0x43, 0x75, 0x62, 0x65, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x43, 0x31, 0x31, 0x3b, 0x76, 0x66, // rCube-p1-tC11;vf + 0x33, 0x3b, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 3;f1;.......'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ...._coord...... + 0x2e, 0x12, 0x00, 0x00, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._level...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x76, 0x65, 0x63, 0x46, 0x72, 0x6f, 0x6d, 0x4c, // ........vecFromL + 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x03, 0x00, // atLong(vf2;..... + 0x73, 0x10, 0x00, 0x00, 0x5f, 0x75, 0x76, 0x00, 0x05, 0x00, 0x06, 0x00, 0xe8, 0x16, 0x00, 0x00, // s..._uv......... + 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, // @main(vf2;vf4;.. + 0x05, 0x00, 0x05, 0x00, 0x5b, 0x4c, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....[L..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0x55, 0x3d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.....U=..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ragData_0_...... + 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, // C...s_texColor.. + 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, // orSampler....... + 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ....s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x43, 0x08, 0x00, 0x00, // xture.......C... + 0x70, 0x69, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xbf, 0x15, 0x00, 0x00, 0x74, 0x77, 0x6f, 0x50, // pi..........twoP + 0x69, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xca, 0x0c, 0x00, 0x00, 0x70, 0x68, 0x69, 0x00, // i...........phi. + 0x05, 0x00, 0x04, 0x00, 0xb3, 0x13, 0x00, 0x00, 0x74, 0x68, 0x65, 0x74, 0x61, 0x00, 0x00, 0x00, // ........theta... + 0x05, 0x00, 0x04, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x00, 0x00, // ........result.. + 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, // ........bgfx_Voi + 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x13, 0x57, 0x00, 0x00, // dFrag........W.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x46, 0x17, 0x00, 0x00, // param.......F... + 0x64, 0x69, 0x72, 0x00, 0x05, 0x00, 0x04, 0x00, 0x4a, 0x50, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // dir.....JP..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, // m...........colo + 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x19, 0x03, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, // r...........$Glo + 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x19, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // bal............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_viewRect...... + 0x19, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, // ........u_viewTe + 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // xel............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x19, 0x03, 0x00, 0x00, // u_view.......... + 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, // ....u_invView... + 0x06, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, // ............u_pr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x19, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // oj.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_invProj....... + 0x19, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, // ........u_viewPr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x19, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // oj.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // u_invViewProj... + 0x06, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x19, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // del............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, // u_modelView..... + 0x19, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x19, 0x03, 0x00, 0x00, // iewProj......... + 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, // ....u_alphaRef4. + 0x06, 0x00, 0x08, 0x00, 0x19, 0x03, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6d, // ............u_im + 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x00, 0x00, 0x00, // ageLodEnabled... + 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ....B........... + 0x6d, 0x33, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // m3..param....... + 0x07, 0x31, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .1..param....... + 0xf3, 0x10, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ....alpha....... + 0xee, 0x40, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // .@..v_texcoord0. + 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....t...v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xef, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .G..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....param....... + 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // 0_..G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, // ....G......."... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, // ....G.......!... + 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x35, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....G...5....... + 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // @...H........... + 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #.......H....... + 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ....#.......H... + 0x19, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x19, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #...`...H....... + 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x19, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #.......H....... + 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, // ........#... ... + 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x19, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #...`...H....... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x19, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #.......H....... + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x19, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x19, 0x03, 0x00, 0x00, // #... ...H....... + 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, // ....#...0...G... + 0x19, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, // ........G...B... + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, // ".......G...t... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........G....... + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, // !............... + 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x19, 0x00, 0x09, 0x00, 0x98, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x67, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........g....... + 0x98, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ...!....... + 0x67, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // g............... + 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0xaf, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....!........... + 0x21, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // !...........!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xf7, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0x1f, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // ................ + 0x3b, 0x00, 0x04, 0x00, 0x21, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;...!...C....... + 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, // ...y........... + 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;...y........... + 0x20, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x15, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ;............... + 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x43, 0x08, 0x00, 0x00, 0xdb, 0x0f, 0x49, 0x40, 0x2b, 0x00, 0x04, 0x00, // ....C.....I@+... + 0x0d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x15, 0x00, 0x04, 0x00, // ...........@.... + 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // .... .......+... + 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0b, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // ............+... + 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, // e...........+... + 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, // ....j... ....... + 0x35, 0x09, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0f, 0x00, // 5...e...j....... + 0x19, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ............e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x35, 0x09, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...5...e...e... + 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x05, 0x00, 0x00, // ........ ....... + 0x02, 0x00, 0x00, 0x00, 0x19, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x05, 0x00, 0x00, // ........;....... + 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // B.......+....... + 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, 0x02, 0x00, 0x00, // /....... ....... + 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........+....... + 0x05, 0x0b, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3e, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ......L>+....... + 0x21, 0x0a, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, // !.....L? ....... + 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, // ........;....... + 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // t....... ....... + 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, // ........;....... + 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // ........6....... + 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // ................ + 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xef, 0x47, 0x00, 0x00, // Sa..;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, // ....=.......!C.. + 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // ....=........3.. + 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x67, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, // ....P...g.... .. + 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, // !C...3..>...C... + 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xee, 0x40, 0x00, 0x00, // . ..=........@.. + 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xef, 0x47, 0x00, 0x00, 0xee, 0x40, 0x00, 0x00, // t...>....G...@.. + 0x39, 0x00, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00, 0x79, 0x61, 0x00, 0x00, 0xe8, 0x16, 0x00, 0x00, // 9.......ya...... + 0xef, 0x47, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .G......=....... + 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........>....... + 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ........8...6... + 0x1d, 0x00, 0x00, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x04, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7...!...'...7... + 0x95, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........7....... + 0x2e, 0x12, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x24, 0x54, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ........$T..A... + 0x15, 0x03, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ........'....... + 0x3d, 0x00, 0x04, 0x00, 0x98, 0x00, 0x00, 0x00, 0x6d, 0x29, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, // =.......m)...... + 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0xe4, 0x55, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A...y....U..'... + 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, // ....=........N.. + 0xe4, 0x55, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, // .U..V.......29.. + 0x6d, 0x29, 0x00, 0x00, 0xf2, 0x4e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, // m)...N..=....... + 0xcd, 0x19, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ........=....... + 0x3d, 0x3e, 0x00, 0x00, 0x2e, 0x12, 0x00, 0x00, 0x58, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // =>......X....... + 0x11, 0x1c, 0x00, 0x00, 0x32, 0x39, 0x00, 0x00, 0xcd, 0x19, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....29.......... + 0x3d, 0x3e, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x11, 0x1c, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // =>..........8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x5f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....._..=....... + 0xe0, 0x5b, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .[......=....... + 0x25, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // %S......=....... + 0xc5, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .=......=....... + 0xd8, 0x3d, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .=......P....... + 0x56, 0x5b, 0x00, 0x00, 0xe0, 0x5b, 0x00, 0x00, 0x25, 0x53, 0x00, 0x00, 0xc5, 0x3d, 0x00, 0x00, // V[...[..%S...=.. + 0xd8, 0x3d, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x56, 0x5b, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // .=......V[..8... + 0x36, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xf7, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x73, 0x10, 0x00, 0x00, // ....7.......s... + 0xf8, 0x00, 0x02, 0x00, 0xb4, 0x33, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, // .....3..;....... + 0xa2, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0xbf, 0x15, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x43, 0x08, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // ........C...A... + 0x8a, 0x02, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x73, 0x10, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, // .....8..s....... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xac, 0x54, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, // =........T...8.. + 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xca, 0x0c, 0x00, 0x00, 0xac, 0x54, 0x00, 0x00, // .............T.. + 0xbf, 0x15, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4e, 0x3e, 0x00, 0x00, // ....A.......N>.. + 0x73, 0x10, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // s.......=....... + 0xca, 0x50, 0x00, 0x00, 0x4e, 0x3e, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .P..N>.......... + 0xb3, 0x13, 0x00, 0x00, 0xca, 0x50, 0x00, 0x00, 0x43, 0x08, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, // .....P..C....... + 0x0d, 0x00, 0x00, 0x00, 0x37, 0x35, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ....75.......... + 0xb3, 0x13, 0x00, 0x00, 0x7f, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9c, 0x5c, 0x00, 0x00, // ................ + 0x37, 0x35, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x68, 0x32, 0x00, 0x00, // 75..........h2.. + 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xca, 0x0c, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x90, 0x32, 0x00, 0x00, 0x9c, 0x5c, 0x00, 0x00, 0x68, 0x32, 0x00, 0x00, // .....2......h2.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x48, 0x44, 0x00, 0x00, 0xa2, 0x10, 0x00, 0x00, // A.......HD...... + 0x0a, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x44, 0x00, 0x00, 0x90, 0x32, 0x00, 0x00, // ....>...HD...2.. + 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfa, 0x57, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .........W...... + 0x0e, 0x00, 0x00, 0x00, 0xb3, 0x13, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // ........A....... + 0xcf, 0x38, 0x00, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .8..........>... + 0xcf, 0x38, 0x00, 0x00, 0xfa, 0x57, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, // .8...W.......... + 0x3e, 0x42, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb3, 0x13, 0x00, 0x00, // >B.............. + 0x7f, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb3, 0x1a, 0x00, 0x00, 0x3e, 0x42, 0x00, 0x00, // ............>B.. + 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x96, 0x1a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x0e, 0x00, 0x00, 0x00, 0xca, 0x0c, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x3a, 0x00, 0x00, 0xb3, 0x1a, 0x00, 0x00, 0x96, 0x1a, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // +:..........A... + 0x8a, 0x02, 0x00, 0x00, 0xaf, 0x3c, 0x00, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, // .....<.......... + 0x3e, 0x00, 0x03, 0x00, 0xaf, 0x3c, 0x00, 0x00, 0x2b, 0x3a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // >....<..+:..=... + 0x18, 0x00, 0x00, 0x00, 0x85, 0x41, 0x00, 0x00, 0xa2, 0x10, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, // .....A.......... + 0x85, 0x41, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // .A..8...6....... + 0xe8, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // ............7... + 0x90, 0x02, 0x00, 0x00, 0x5b, 0x4c, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....[L..7....... + 0x55, 0x3d, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf0, 0x1b, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // U=..........;... + 0x8a, 0x02, 0x00, 0x00, 0x13, 0x57, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....W......;... + 0x90, 0x02, 0x00, 0x00, 0x4a, 0x50, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ....JP......;... + 0x95, 0x02, 0x00, 0x00, 0x6d, 0x33, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ....m3......;... + 0x8a, 0x02, 0x00, 0x00, 0x07, 0x31, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....1......>... + 0x13, 0x57, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .W......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x13, 0x57, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5....W..=... + 0x13, 0x00, 0x00, 0x00, 0x86, 0x53, 0x00, 0x00, 0x5b, 0x4c, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....S..[L..>... + 0x4a, 0x50, 0x00, 0x00, 0x86, 0x53, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, // JP...S..9....... + 0x46, 0x17, 0x00, 0x00, 0xcd, 0x0c, 0x00, 0x00, 0x4a, 0x50, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // F.......JP..>... + 0x6d, 0x33, 0x00, 0x00, 0x46, 0x17, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, // m3..F...A....... + 0x19, 0x2f, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, // ./..B.../....... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x4c, 0x19, 0x00, 0x00, 0x19, 0x2f, 0x00, 0x00, // =.......L..../.. + 0x3e, 0x00, 0x03, 0x00, 0x07, 0x31, 0x00, 0x00, 0x4c, 0x19, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, // >....1..L...9... + 0x1d, 0x00, 0x00, 0x00, 0x4d, 0x50, 0x00, 0x00, 0xf4, 0x10, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....MP......C... + 0x6d, 0x33, 0x00, 0x00, 0x07, 0x31, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, // m3...1..O....... + 0x18, 0x0e, 0x00, 0x00, 0x4d, 0x50, 0x00, 0x00, 0x4d, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ....MP..MP...... + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, // ........A....... + 0xa9, 0x22, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, // ."..B.../....... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe1, 0x48, 0x00, 0x00, 0xa9, 0x22, 0x00, 0x00, // =........H...".. + 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x3e, 0x00, 0x00, 0x21, 0x0a, 0x00, 0x00, // ........ >..!... + 0xe1, 0x48, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, // .H.............. + 0x05, 0x0b, 0x00, 0x00, 0x20, 0x3e, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .... >..Q....... + 0x3f, 0x24, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // ?$..........Q... + 0x0d, 0x00, 0x00, 0x00, 0xb9, 0x31, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .....1.......... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x74, 0x62, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, // Q.......tb...... + 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x4d, 0x52, 0x00, 0x00, // ....P.......MR.. + 0x3f, 0x24, 0x00, 0x00, 0xb9, 0x31, 0x00, 0x00, 0x74, 0x62, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, // ?$...1..tb...... + 0x3e, 0x00, 0x03, 0x00, 0x55, 0x3d, 0x00, 0x00, 0x4d, 0x52, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, // >...U=..MR...... + 0x38, 0x00, 0x01, 0x00, 0x00, // 8.... +}; static const uint8_t fs_imgui_latlong_dx9[546] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x02, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH.o.><...s_tex @@ -122,80 +399,73 @@ static const uint8_t fs_imgui_latlong_dx11[617] = 0x00, 0x01, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x4c, 0x3f, 0x01, 0x40, 0x00, 0x00, 0xcd, 0xcc, 0x4c, // ..@....L?.@....L 0x3e, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, // >>....... }; -static const uint8_t fs_imgui_latlong_mtl[1139] = +static const uint8_t fs_imgui_latlong_mtl[1038] = { 0x46, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x69, 0x6d, 0x61, // FSH.o.><...u_ima 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x02, 0x01, 0x00, 0x00, // geLodEnabled.... - 0x01, 0x00, 0x4c, 0x04, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ..L...using name + 0x01, 0x00, 0xe7, 0x03, 0x00, 0x00, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......using name 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, // space metal;.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // rInput {. float 0x32, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, // 2 v_texcoord0;.} 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, // ;.struct xlatMtl 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, // ShaderOutput {. - 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // half4 gl_FragCo - 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, // lor;.};.struct x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, // orm {. float4 u - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, // _imageLodEnabled - 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // ;.};.fragment xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu - 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu - 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage - 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, // float4 gl_FragC + 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, // olor;.};.struct 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni - 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b - 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , - 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, 0x6f, // texturecube s_texColor [ - 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, // [texture(0)]], s - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, // ampler _mtlsmp_s - 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, // _texColor [[samp - 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, // ler(0)]]).{. xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu - 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // t _mtl_o;. floa - 0x74, 0x33, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, // t3 result_1 = 0; - 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // . float tmpvar_ - 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 2 = 0;. tmpvar_ - 0x32, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, // 2 = (_mtl_i.v_te - 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x36, 0x2e, 0x32, 0x38, // xcoord0.x * 6.28 - 0x33, 0x31, 0x38, 0x35, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, // 3185);. float t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_3 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // mpvar_3 = (_mtl_ - 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x79, 0x20, // i.v_texcoord0.y - 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x31, 0x35, 0x39, 0x33, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, // * 3.141593);. r - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x2d, 0x28, 0x73, // esult_1.x = (-(s - 0x69, 0x6e, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x29, 0x20, 0x2a, 0x20, // in(tmpvar_3)) * - 0x73, 0x69, 0x6e, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, 0x0a, // sin(tmpvar_2));. - 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x79, 0x20, 0x3d, 0x20, 0x63, // result_1.y = c - 0x6f, 0x73, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x20, 0x20, // os(tmpvar_3);. - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x2d, 0x28, // result_1.z = (-( + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, // form {. float4 + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, // d;.};.fragment x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, // latMtlShaderOutp + 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, // ut xlatMtlMain ( + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, // xlatMtlShaderInp + 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, // ut _mtl_i [[stag + 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, // e_in]], constant + 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, // xlatMtlShaderUn + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, // iform& _mtl_u [[ + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, // buffer(0)]]. , + 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x63, 0x75, 0x62, 0x65, 0x3c, 0x66, 0x6c, // texturecube s_texColor + 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, // [[texture(0)]], + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, // sampler _mtlsmp_ + 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, // s_texColor [[sam + 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, // pler(0)]]).{. x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, // latMtlShaderOutp + 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, // ut _mtl_o;. flo + 0x61, 0x74, 0x33, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, // at3 result_1 = 0 + 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // ;. float tmpvar + 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // _2 = 0;. tmpvar + 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, // _2 = (_mtl_i.v_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x36, 0x2e, 0x32, // excoord0.x * 6.2 + 0x38, 0x33, 0x31, 0x38, 0x35, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, // 83185);. float + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_3 = 0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // tmpvar_3 = (_mtl + 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x79, // _i.v_texcoord0.y + 0x20, 0x2a, 0x20, 0x33, 0x2e, 0x31, 0x34, 0x31, 0x35, 0x39, 0x33, 0x29, 0x3b, 0x0a, 0x20, 0x20, // * 3.141593);. + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x2d, 0x28, // result_1.x = (-( 0x73, 0x69, 0x6e, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x29, 0x20, 0x2a, // sin(tmpvar_3)) * - 0x20, 0x63, 0x6f, 0x73, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, // cos(tmpvar_2)); - 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // . half4 tmpvar_ - 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 4 = 0;. tmpvar_ - 0x34, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // 4 = half4(s_texC + 0x20, 0x73, 0x69, 0x6e, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, // sin(tmpvar_2)); + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x79, 0x20, 0x3d, 0x20, // . result_1.y = + 0x63, 0x6f, 0x73, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x20, // cos(tmpvar_3);. + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x2d, // result_1.z = (- + 0x28, 0x73, 0x69, 0x6e, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x33, 0x29, 0x29, 0x20, // (sin(tmpvar_3)) + 0x2a, 0x20, 0x63, 0x6f, 0x73, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, // * cos(tmpvar_2)) + 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ;. float4 tmpva + 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_4 = 0;. tmpva + 0x72, 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // r_4.xyz = s_texC 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // olor.sample(_mtl 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, // smp_s_texColor, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, // (float3)(result_ 0x31, 0x29, 0x2c, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // 1), level(_mtl_u 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, // .u_imageLodEnabl - 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // ed.x)));. float - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_5 = 0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, // tmpvar_5 = (0.2 - 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // + (0.8 * _mtl_u - 0x2e, 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, // .u_imageLodEnabl - 0x65, 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, // ed.y));. half4 - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // tmpvar_6 = 0;. - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x74, // tmpvar_6.xyz = t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_4.xyz;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, // mpvar_6.w = half - 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, // (tmpvar_5);. _m - 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, // tl_o.gl_FragColo - 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x3b, 0x0a, 0x20, 0x20, // r = tmpvar_6;. - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, // return _mtl_o;.} - 0x0a, 0x0a, 0x00, // ... + 0x65, 0x64, 0x2e, 0x78, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // ed.x)).xyz;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x30, 0x2e, 0x32, 0x20, // pvar_4.w = (0.2 + 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x38, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, // + (0.8 * _mtl_u. + 0x75, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, // u_imageLodEnable + 0x64, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, // d.y));. _mtl_o. + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, // gl_FragColor = t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, // mpvar_4;. retur + 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // n _mtl_o;.}... }; extern const uint8_t* fs_imgui_latlong_pssl; extern const uint32_t fs_imgui_latlong_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/fs_imgui_texture.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_imgui_texture.bin.h index e595a2e597c..044744249fa 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_imgui_texture.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_imgui_texture.bin.h @@ -20,6 +20,223 @@ static const uint8_t fs_imgui_texture_glsl[290] = 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, // r = tmpvar_1;.}. 0x0a, 0x00, // .. }; +static const uint8_t fs_imgui_texture_spv[3417] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x4c, 0x0d, 0x03, 0x02, 0x23, 0x07, // FSH.......L...#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........Ta...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // main........a... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x00, 0x00, 0x00, // BgfxSampler2D... + 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....a.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // mpler.......a... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0e, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, // ure2D(struct-Bgf + 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, // xSampler2D-p1-t2 + 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 11;vf2;.....'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._coord...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf2;vf4;...... + 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // B$..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....x ..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0......A..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ragData_0_...... + 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, // C...s_texColor.. + 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, // orSampler....... + 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ....s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, // xture........... + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, // bgfx_VoidFrag... + 0x05, 0x00, 0x04, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....U..param... + 0x05, 0x00, 0x04, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, // ........alpha... + 0x05, 0x00, 0x04, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....K..param... + 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // .....A..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // ........w...v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x03, 0x3c, 0x00, 0x00, // lor0.........<.. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, // v_texcoord0..... + 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // t...v_texcoord0. + 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, // ata_0_.......G.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, // param........U.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, // param........... + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, // param........... + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, // ....D...$Global. + 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ....D.......u_vi + 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, // ewRect......D... + 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, // ....u_viewTexel. + 0x06, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ....D.......u_vi + 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ew......D....... + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // u_invView....... + 0x44, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, // D.......u_proj.. + 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ....D.......u_in + 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, // vProj.......D... + 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ....u_viewProj.. + 0x06, 0x00, 0x07, 0x00, 0x44, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ....D.......u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // vViewProj....... + 0x44, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, // D.......u_model. + 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ....D.......u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x44, 0x06, 0x00, 0x00, // delView.....D... + 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // ....u_modelViewP + 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x44, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // roj.....D....... + 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, // u_alphaRef4.G... + 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // w...........G... + 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // t...........G... + 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ............G... + 0xc3, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ........@...H... + 0x44, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // D.......#....... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...D.......#... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H...D....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, // #... ...H...D... + 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x44, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // D...........H... + 0x44, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, // D.......#...`... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...D........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H...D....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, // #.......H...D... + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x44, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // D...........H... + 0x44, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, // D.......#....... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...D........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H...D....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, // #... ...H...D... + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x44, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // D...........H... + 0x44, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, // D.......#...`... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...D........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H...D....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, // #.......H...D... + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0x44, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // D...........H... + 0x44, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, // D.......#....... + 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H...D........... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x44, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H...D....... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H...D....... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x44, 0x06, 0x00, 0x00, // #.......H...D... + 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0x44, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, // D.......#... ... + 0x47, 0x00, 0x03, 0x00, 0x44, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, // G...D........... + 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!........... + 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, // ............a... + 0xfc, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // ....a........... + 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xc2, 0x03, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, // ............!... + 0x69, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, // i............... + 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....;.......C... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ...y....... + 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ....;...y....... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x96, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, // ....;........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ....+........... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ ....... + 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // +............... + 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......w....... + 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......t....... + 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ;............... + 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....e........... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // +.......j... ... + 0x1c, 0x00, 0x04, 0x00, 0xc3, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ........e...j... + 0x1e, 0x00, 0x0e, 0x00, 0x44, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ....D........... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0xc3, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e.......e... + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // e.......6....... + 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // ................ + 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // Sa..;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, // ....;........U.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, // ....=.......!C.. + 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // ....=........3.. + 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, // ....P...a.... .. + 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, // !C...3..>...C... + 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // . ..=........A.. + 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // w...=........<.. + 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // t...>....G...A.. + 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, // >....U...<..9... + 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // .....&.......G.. + 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .U......=....... + 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........>....... + 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ........8...6... + 0x1d, 0x00, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x03, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......'...7... + 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xcd, 0x5b, 0x00, 0x00, // .............[.. + 0x41, 0x00, 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A.......i$..'... + 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, // ....=........1.. + 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, // i$..A...y...TD.. + 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // '.......=....... + 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, // .V..TD..V....... + 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .B...1...V..=... + 0x13, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, // ....6.......W... + 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, // .....Q...B..6... + 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....Q..8...6... + 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, // ....5........... + 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, // .>..=........S.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, // ....=.......]J.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ....=........4.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // ....=........5.. + 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3f, 0x3a, 0x00, 0x00, // ....P.......?:.. + 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // .S..]J...4...5.. + 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ....?:..8...6... + 0x08, 0x00, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, // ............i... + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......B$..7... + 0x90, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....x ..7....... + 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .A..........;... + 0x8a, 0x02, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....U......;... + 0x90, 0x02, 0x00, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .....K......>... + 0x0e, 0x55, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .U......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5....U..=... + 0x13, 0x00, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ....HQ..x ..>... + 0xdf, 0x4b, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, // .K..HQ..9....... + 0x69, 0x4c, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0xdf, 0x4b, 0x00, 0x00, // iL......C....K.. + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x69, 0x4c, 0x00, 0x00, // Q...........iL.. + 0x00, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8f, 0x29, 0x00, 0x00, // ....=........).. + 0x42, 0x24, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x23, 0x43, 0x00, 0x00, // B$..O.......#C.. + 0x8f, 0x29, 0x00, 0x00, 0x8f, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .)...).......... + 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4b, 0x5e, 0x00, 0x00, // ....A.......K^.. + 0x42, 0x24, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // B$......=....... + 0x13, 0x43, 0x00, 0x00, 0x4b, 0x5e, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .C..K^.......... + 0x52, 0x5c, 0x00, 0x00, 0x13, 0x43, 0x00, 0x00, 0xf3, 0x10, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, // R....C......Q... + 0x0d, 0x00, 0x00, 0x00, 0x1e, 0x1d, 0x00, 0x00, 0x23, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........#C...... + 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x23, 0x43, 0x00, 0x00, // Q........"..#C.. + 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, // ....Q.......6`.. + 0x23, 0x43, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // #C......P....... + 0x0f, 0x50, 0x00, 0x00, 0x1e, 0x1d, 0x00, 0x00, 0xdc, 0x22, 0x00, 0x00, 0x36, 0x60, 0x00, 0x00, // .P......."..6`.. + 0x52, 0x5c, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x0f, 0x50, 0x00, 0x00, // R...>....A...P.. + 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ....8.... +}; static const uint8_t fs_imgui_texture_dx9[250] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -69,9 +286,9 @@ static const uint8_t fs_imgui_texture_dx11[421] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, // .....F.......>.. 0x01, 0x00, 0x00, 0x00, 0x00, // ..... }; -static const uint8_t fs_imgui_texture_mtl[754] = +static const uint8_t fs_imgui_texture_mtl[680] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xe3, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH...........us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x99, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH...........us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -79,46 +296,41 @@ static const uint8_t fs_imgui_texture_mtl[754] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x76, 0x5f, 0x74, // r0;. float2 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, // texture2d - 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x74, 0x65, // s_texColor [[te - 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, // xture(0)]], samp - 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, // ler _mtlsmp_s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // xColor [[sampler - 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // (0)]]).{. xlatM - 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, // tlShaderOutput _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, // mtl_o;. half4 t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // mpvar_1 = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, // mpvar_1 = half4( - 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // s_texColor.sampl - 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, // e(_mtlsmp_s_texC - 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, // olor, (float2)(_ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // mtl_i.v_texcoord - 0x30, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, // 0)));. half4 tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_2 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, // pvar_2.xyz = hal - 0x66, 0x33, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // f3(_mtl_i.v_colo - 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r0.xyz);. tmpva - 0x72, 0x5f, 0x32, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, // r_2.w = ((half)( + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texture2d s_texColor [[t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // exColor [[sample + 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, // r(0)]]).{. xlat + 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, // _mtl_o;. float4 + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_1 = 0;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, // tmpvar_1.xyz = 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, // _mtl_i.v_color0. - 0x77, 0x20, 0x2a, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, // w * (float)(tmpv - 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, // ar_1.x)));. _mt - 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, // l_o.gl_FragColor - 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x72, // = tmpvar_2;. r - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, // eturn _mtl_o;.}. - 0x0a, 0x00, // .. + 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, // xyz;. tmpvar_1. + 0x77, 0x20, 0x3d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, // w = (_mtl_i.v_co + 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, // lor0.w * s_texCo + 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, // lor.sample(_mtls + 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, // mp_s_texColor, ( + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, // float2)(_mtl_i.v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x2e, 0x78, 0x29, 0x3b, // _texcoord0)).x); + 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, // . _mtl_o.gl_Fra + 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // gColor = tmpvar_ + 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // 1;. return _mtl + 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _o;.}... }; extern const uint8_t* fs_imgui_texture_pssl; extern const uint32_t fs_imgui_texture_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/fs_ocornut_imgui.bin.h b/3rdparty/bgfx/examples/common/imgui/fs_ocornut_imgui.bin.h index 5d950fa0b12..c1585aafe94 100644 --- a/3rdparty/bgfx/examples/common/imgui/fs_ocornut_imgui.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/fs_ocornut_imgui.bin.h @@ -16,6 +16,209 @@ static const uint8_t fs_ocornut_imgui_glsl[238] = 0x20, 0x3d, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x2a, 0x20, 0x76, // = (tmpvar_1 * v 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _color0);.}... }; +static const uint8_t fs_ocornut_imgui_spv[3197] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x70, 0x0c, 0x03, 0x02, 0x23, 0x07, // FSH.......p...#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........Ta...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // main........a... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x00, 0x00, 0x00, // BgfxSampler2D... + 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....a.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // mpler.......a... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0e, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, // ure2D(struct-Bgf + 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, // xSampler2D-p1-t2 + 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 11;vf2;.....'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._coord...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf2;vf4;...... + 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // B$..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....x ..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0......A..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xfe, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....s_tex....... + 0x0f, 0x0d, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // ....s_texSampler + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, // ........K...s_te + 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // xTexture........ + 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, // ....bgfx_VoidFra + 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // g........U..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x41, 0x12, 0x00, 0x00, 0x74, 0x65, 0x78, 0x65, // m.......A...texe + 0x6c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, // l........K..para + 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // m........A..v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, // lor0........w... + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // v_color0........ + 0x03, 0x3c, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // .<..v_texcoord0. + 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....t...v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0.........gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // ragData_0_...... + 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .G..param....... + 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // .U..param....... + 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ....param....... + 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, // ....gl_FragData_ + 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, // 0_..........$Glo + 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // bal............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_viewRect...... + 0x97, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, // ........u_viewTe + 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // xel............. + 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x01, 0x00, 0x00, // u_view.......... + 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, // ....u_invView... + 0x06, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, // ............u_pr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // oj.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, // u_invProj....... + 0x97, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, // ........u_viewPr + 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x97, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // oj.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, // u_invViewProj... + 0x06, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // del............. + 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, // u_modelView..... + 0x97, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, // ........u_modelV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x97, 0x01, 0x00, 0x00, // iewProj......... + 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, // ....u_alphaRef4. + 0x47, 0x00, 0x04, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G......."....... + 0x47, 0x00, 0x04, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G.......!....... + 0x47, 0x00, 0x04, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G...K..."....... + 0x47, 0x00, 0x04, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G...K...!....... + 0x47, 0x00, 0x04, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G...w........... + 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // G...t........... + 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // G............... + 0x47, 0x00, 0x04, 0x00, 0x86, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // G...........@... + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, // #.......H....... + 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x97, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // `...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x97, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#... ...H... + 0x97, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // `...H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x97, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // H............... + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ....H........... + 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, // ........H....... + 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ....#.......H... + 0x97, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // ................ + 0x48, 0x00, 0x05, 0x00, 0x97, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x97, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ...G........... + 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, // ........!....... + 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, // .... ........... + 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, // ................ + 0x61, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // a........... ... + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ........a....... + 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, // ................ + 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, // ............!... + 0xc2, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, // ................ + 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, // !............... + 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x21, 0x00, 0x06, 0x00, 0x69, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // !...i........... + 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, // ........;....... + 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // ........ ...y... + 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, // ........;...y... + 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, // ........;....... + 0x4b, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // K............... + 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // .......+....... + 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, // ........+....... + 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, // ................ + 0x96, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, // ....;.......w... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // .... ........... + 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, // ....;.......t... + 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // .... ........... + 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ....;........... + 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ........e....... + 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....+.......j... + 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x86, 0x0b, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ...........e... + 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x97, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // j............... + 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // ....e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x86, 0x0b, 0x00, 0x00, // e...e...e....... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, // e...e.......6... + 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....Sa..;....... + 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, // .G......;....... + 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, // .U......;....... + 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // ........=....... + 0x21, 0x43, 0x00, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, // !C......=....... + 0x02, 0x33, 0x00, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, // .3..K...P...a... + 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // . ..!C...3..>... + 0xfe, 0x0e, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ..... ..=....... + 0xfa, 0x41, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // .A..w...=....... + 0x03, 0x3c, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, // .<..t...>....G.. + 0xfa, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // .A..>....U...<.. + 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, // 9........&...... + 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .G...U......=... + 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, // ............8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0xc2, 0x03, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // ....7.......'... + 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0xcd, 0x5b, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, // .[..A.......i$.. + 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, // '.......=....... + 0x16, 0x31, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, // .1..i$..A...y... + 0x54, 0x44, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // TD..'.......=... + 0xfc, 0x01, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, // .....V..TD..V... + 0xfe, 0x01, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, // .....B...1...V.. + 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, // =.......6....... + 0x57, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, // W........Q...B.. + 0x36, 0x1c, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // 6........Q..8... + 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6.......5....... + 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, // ....7........... + 0xf8, 0x00, 0x02, 0x00, 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .....>..=....... + 0x18, 0x53, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .S......=....... + 0x5d, 0x4a, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // ]J......=....... + 0xfd, 0x34, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // .4......=....... + 0x10, 0x35, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, // .5......P....... + 0x3f, 0x3a, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ?:...S..]J...4.. + 0x10, 0x35, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, // .5......?:..8... + 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 6............... + 0x69, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, // i...7.......B$.. + 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......x ..7... + 0x9a, 0x02, 0x00, 0x00, 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, // .....A.......... + 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........U...... + 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ;........K...... + 0x3e, 0x00, 0x03, 0x00, 0x0e, 0x55, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, // >....U......9... + 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x0e, 0x55, 0x00, 0x00, // ........5....U.. + 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, // =.......HQ..x .. + 0x3e, 0x00, 0x03, 0x00, 0xdf, 0x4b, 0x00, 0x00, 0x48, 0x51, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, // >....K..HQ..9... + 0x1d, 0x00, 0x00, 0x00, 0x41, 0x12, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0xfe, 0x0e, 0x00, 0x00, // ....A........... + 0xdf, 0x4b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xac, 0x21, 0x00, 0x00, // .K..=........!.. + 0x42, 0x24, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x73, 0x2b, 0x00, 0x00, // B$..........s+.. + 0x41, 0x12, 0x00, 0x00, 0xac, 0x21, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, // A....!..>....A.. + 0x73, 0x2b, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // s+......8.... +}; static const uint8_t fs_ocornut_imgui_dx9[229] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x05, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -62,9 +265,9 @@ static const uint8_t fs_ocornut_imgui_dx11[396] = 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, // ....F.......F... 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ....>....... }; -static const uint8_t fs_ocornut_imgui_mtl[640] = +static const uint8_t fs_ocornut_imgui_mtl[570] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH.......q...us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x2b, 0x02, 0x00, 0x00, 0x75, 0x73, // FSH.......+...us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -72,38 +275,34 @@ static const uint8_t fs_ocornut_imgui_mtl[640] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x76, 0x5f, 0x74, // r0;. float2 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, // texture2d - 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, // s_tex [[texture - 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, // (0)]], sampler _ - 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, 0x73, // mtlsmp_s_tex [[s - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, // ampler(0)]]).{. - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, // xlatMtlShaderOu - 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, // tput _mtl_o;. h - 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, // alf4 tmpvar_1 = - 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x20, 0x3d, 0x20, // 0;. tmpvar_1 = - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, 0x70, // half4(s_tex.samp - 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex - 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // , (float2)(_mtl_ - 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x29, // i.v_texcoord0))) - 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, // ;. _mtl_o.gl_Fr - 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, // agColor = ((half - 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, // 4)((float4)(tmpv - 0x61, 0x72, 0x5f, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, // ar_1) * _mtl_i.v - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, // _color0));. ret - 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // urn _mtl_o;.}... + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texture2d s_tex [[textur + 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, // e(0)]], sampler + 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, // _mtlsmp_s_tex [[ + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, // sampler(0)]]).{. + 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, // xlatMtlShaderO + 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, // utput _mtl_o;. + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // _mtl_o.gl_FragCo + 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, // lor = (s_tex.sam + 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, // ple(_mtlsmp_s_te + 0x78, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // x, (float2)(_mtl + 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, // _i.v_texcoord0)) + 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // * _mtl_i.v_colo + 0x72, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, // r0);. return _m + 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // tl_o;.}... }; extern const uint8_t* fs_ocornut_imgui_pssl; extern const uint32_t fs_ocornut_imgui_pssl_size; diff --git a/3rdparty/bgfx/examples/common/imgui/icons_font_awesome.ttf.h b/3rdparty/bgfx/examples/common/imgui/icons_font_awesome.ttf.h index 4312c9b0bd6..ee41a7d2975 100644 --- a/3rdparty/bgfx/examples/common/imgui/icons_font_awesome.ttf.h +++ b/3rdparty/bgfx/examples/common/imgui/icons_font_awesome.ttf.h @@ -1,48 +1,234 @@ -static const uint8_t s_iconsFontAwesomeTtf[80776] = +static const uint8_t s_iconsFontAwesomeTtf[165548] = { - 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, 0x46, 0x46, 0x54, 0x4d, // ...........`FFTM - 0x66, 0x1f, 0x16, 0xdb, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, // f...........GDEF - 0x01, 0xc3, 0x00, 0x04, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x20, 0x4f, 0x53, 0x2f, 0x32, // ........... OS/2 - 0x8b, 0x02, 0x7a, 0x13, 0x00, 0x00, 0x01, 0x28, 0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, // ..z....(...`cmap - 0xd1, 0x6b, 0xbc, 0x03, 0x00, 0x00, 0x01, 0x88, 0x00, 0x00, 0x02, 0x72, 0x67, 0x61, 0x73, 0x70, // .k.........rgasp - 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x03, 0xfc, 0x00, 0x00, 0x00, 0x08, 0x67, 0x6c, 0x79, 0x66, // ............glyf - 0x73, 0x8e, 0xb5, 0x09, 0x00, 0x00, 0x04, 0x04, 0x00, 0x01, 0x19, 0x7c, 0x68, 0x65, 0x61, 0x64, // s..........|head - 0x03, 0xba, 0x2d, 0x36, 0x00, 0x01, 0x1d, 0x80, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, // ..-6.......6hhea - 0x0d, 0x82, 0x07, 0xea, 0x00, 0x01, 0x1d, 0xb8, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, // ...........$hmtx - 0x0a, 0x6c, 0x0e, 0x07, 0x00, 0x01, 0x1d, 0xdc, 0x00, 0x00, 0x06, 0x46, 0x6c, 0x6f, 0x63, 0x61, // .l.........Floca - 0xd1, 0x74, 0x8a, 0x74, 0x00, 0x01, 0x24, 0x24, 0x00, 0x00, 0x03, 0x2e, 0x6d, 0x61, 0x78, 0x70, // .t.t..$$....maxp - 0x01, 0xec, 0x02, 0x1c, 0x00, 0x01, 0x27, 0x54, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, // ......'T... name - 0x3c, 0x0c, 0x65, 0x95, 0x00, 0x01, 0x27, 0x74, 0x00, 0x00, 0x02, 0xb8, 0x70, 0x6f, 0x73, 0x74, // <.e...'t....post - 0x09, 0x72, 0x9d, 0xdd, 0x00, 0x01, 0x2a, 0x2c, 0x00, 0x00, 0x11, 0x54, 0x77, 0x65, 0x62, 0x66, // .r....*,...Twebf - 0x41, 0x5c, 0x52, 0x67, 0x00, 0x01, 0x3b, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, // A.Rg..;......... - 0x00, 0x00, 0x00, 0x00, 0xcc, 0x3d, 0xa2, 0xcf, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x54, 0x82, 0x30, // .....=.......T.0 - 0x00, 0x00, 0x00, 0x00, 0xce, 0x8c, 0xf1, 0xdb, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, // ................ - 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x01, 0x95, 0x00, 0x01, // ................ - 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x05, 0xe2, 0x01, 0x90, 0x00, 0x05, // ................ - 0x00, 0x04, 0x04, 0x8c, 0x04, 0x33, 0x00, 0x00, 0x00, 0x86, 0x04, 0x8c, 0x04, 0x33, 0x00, 0x00, // .....3.......3.. - 0x02, 0x73, 0x00, 0x5a, 0x04, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .s.Z.3.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x80, 0x00, 0x03, 0x00, 0x50, 0x46, 0x46, 0x54, 0x4d, // ...........PFFTM + 0x6b, 0xbe, 0x47, 0xb9, 0x00, 0x02, 0x86, 0x90, 0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, // k.G.........GDEF + 0x02, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x86, 0x70, 0x00, 0x00, 0x00, 0x20, 0x4f, 0x53, 0x2f, 0x32, // .......p... OS/2 + 0x88, 0x32, 0x7a, 0x40, 0x00, 0x00, 0x01, 0x58, 0x00, 0x00, 0x00, 0x60, 0x63, 0x6d, 0x61, 0x70, // .2z@...X...`cmap + 0x0a, 0xbf, 0x3a, 0x7f, 0x00, 0x00, 0x0c, 0xa8, 0x00, 0x00, 0x02, 0xf2, 0x67, 0x61, 0x73, 0x70, // ..:.........gasp + 0xff, 0xff, 0x00, 0x03, 0x00, 0x02, 0x86, 0x68, 0x00, 0x00, 0x00, 0x08, 0x67, 0x6c, 0x79, 0x66, // .......h....glyf + 0x8f, 0xf7, 0xae, 0x4d, 0x00, 0x00, 0x1a, 0xac, 0x00, 0x02, 0x4c, 0xbc, 0x68, 0x65, 0x61, 0x64, // ...M......L.head + 0x10, 0x89, 0xe5, 0x2d, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, // ...-.......6hhea + 0x0f, 0x03, 0x0a, 0xb5, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, // ...........$hmtx + 0x45, 0x79, 0x18, 0x85, 0x00, 0x00, 0x01, 0xb8, 0x00, 0x00, 0x0a, 0xf0, 0x6c, 0x6f, 0x63, 0x61, // Ey..........loca + 0x02, 0xf5, 0xa2, 0x5c, 0x00, 0x00, 0x0f, 0x9c, 0x00, 0x00, 0x0b, 0x10, 0x6d, 0x61, 0x78, 0x70, // ............maxp + 0x03, 0x2c, 0x02, 0x1c, 0x00, 0x00, 0x01, 0x38, 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, // .,.....8... name + 0xe3, 0x97, 0x8b, 0xac, 0x00, 0x02, 0x67, 0x68, 0x00, 0x00, 0x04, 0x86, 0x70, 0x6f, 0x73, 0x74, // ......gh....post + 0xaf, 0x8f, 0x9b, 0xa1, 0x00, 0x02, 0x6b, 0xf0, 0x00, 0x00, 0x1a, 0x75, 0x00, 0x01, 0x00, 0x00, // ......k....u.... + 0x00, 0x04, 0x01, 0xcb, 0x90, 0xcf, 0x78, 0x59, 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x0b, 0x07, 0x00, // ......xY_.<..... + 0x00, 0x00, 0x00, 0x00, 0xd4, 0x33, 0xcd, 0x32, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x33, 0xcd, 0x32, // .....3.2.....3.2 + 0xff, 0xff, 0xff, 0x00, 0x09, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, // ................ + 0xff, 0xff, 0xff, 0xff, 0x09, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb5, 0x00, 0x01, 0x00, 0x00, 0x02, 0xc3, 0x02, 0x19, // ................ + 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, // .'.............. + 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x69, 0x01, 0x90, 0x00, 0x05, // .@.........i.... + 0x00, 0x00, 0x04, 0x8c, 0x04, 0x33, 0x00, 0x00, 0x00, 0x86, 0x04, 0x8c, 0x04, 0x33, 0x00, 0x00, // .....3.......3.. + 0x02, 0x73, 0x00, 0x00, 0x01, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .s.............. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x70, 0x79, 0x72, 0x73, 0x00, 0x40, 0x00, 0x20, 0xf5, 0x00, 0x06, 0x00, 0xff, 0x00, // ..pyrs.@. ...... - 0x00, 0x00, 0x06, 0x00, 0x01, 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .....#.......... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, // ..... .......... - 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6c, 0x00, 0x03, 0x00, 0x01, // ...........l.... - 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x01, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x40, 0x00, 0x05, // .......P...P.@.. - 0x00, 0x10, 0x00, 0x20, 0x00, 0xa0, 0x00, 0xa9, 0x00, 0xae, 0x00, 0xb4, 0x00, 0xc6, 0x20, 0x0a, // ... .......... . - 0x20, 0x2f, 0x20, 0x5f, 0x21, 0x22, 0x22, 0x1e, 0x22, 0x60, 0xe0, 0x00, 0xf0, 0x0e, 0xf0, 0x1e, // / _!""."`...... - 0xf0, 0x3e, 0xf0, 0x4e, 0xf0, 0x5e, 0xf0, 0x6e, 0xf0, 0x7e, 0xf0, 0x8e, 0xf0, 0x9e, 0xf0, 0xae, // .>.N.^.n.~...... - 0xf0, 0xb2, 0xf0, 0xce, 0xf0, 0xde, 0xf0, 0xee, 0xf0, 0xfe, 0xf1, 0x0e, 0xf1, 0x1e, 0xf1, 0x2e, // ................ - 0xf1, 0x3e, 0xf1, 0x4e, 0xf1, 0x5e, 0xf1, 0x6e, 0xf1, 0x7e, 0xf1, 0x8e, 0xf1, 0x9e, 0xf5, 0x00, // .>.N.^.n.~...... - 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0xa0, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00, 0xc6, // ..... .......... - 0x20, 0x00, 0x20, 0x2f, 0x20, 0x5f, 0x21, 0x22, 0x22, 0x1e, 0x22, 0x60, 0xe0, 0x00, 0xf0, 0x00, // . / _!""."`.... - 0xf0, 0x10, 0xf0, 0x21, 0xf0, 0x40, 0xf0, 0x50, 0xf0, 0x60, 0xf0, 0x70, 0xf0, 0x80, 0xf0, 0x90, // ...!.@.P.`.p.... - 0xf0, 0xa0, 0xf0, 0xb0, 0xf0, 0xc0, 0xf0, 0xd0, 0xf0, 0xe0, 0xf0, 0xf0, 0xf1, 0x00, 0xf1, 0x10, // ................ - 0xf1, 0x20, 0xf1, 0x30, 0xf1, 0x40, 0xf1, 0x50, 0xf1, 0x60, 0xf1, 0x70, 0xf1, 0x80, 0xf1, 0x90, // . .0.@.P.`.p.... - 0xf5, 0x00, 0xff, 0xff, 0xff, 0xe3, 0xff, 0x64, 0xff, 0x5d, 0xff, 0x59, 0xff, 0x54, 0xff, 0x43, // .......d.].Y.T.C - 0xe0, 0x0a, 0xdf, 0xe6, 0xdf, 0xb7, 0xde, 0xf5, 0xdd, 0xfa, 0xdd, 0xb9, 0x20, 0x1a, 0x10, 0x1b, // ............ ... - 0x10, 0x1a, 0x10, 0x18, 0x10, 0x17, 0x10, 0x16, 0x10, 0x15, 0x10, 0x14, 0x10, 0x13, 0x10, 0x12, // ................ - 0x10, 0x11, 0x10, 0x10, 0x10, 0x03, 0x10, 0x02, 0x10, 0x01, 0x10, 0x00, 0x0f, 0xff, 0x0f, 0xfe, // ................ - 0x0f, 0xfd, 0x0f, 0xfc, 0x0f, 0xfb, 0x0f, 0xfa, 0x0f, 0xf9, 0x0f, 0xf8, 0x0f, 0xf7, 0x0f, 0xf6, // ................ - 0x0c, 0x95, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x03, 0x80, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, // ..... .....p.... + 0x02, 0x55, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .U.............. + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x5d, // ...............] + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x79, // ...............y + 0x05, 0x80, 0x00, 0x6e, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...n............ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x1a, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x32, 0x06, 0x80, 0x00, 0x00, // ...........2.... + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x40, 0x06, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ...@............ + 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ + 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x7a, 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......z........ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x06, 0x02, 0x00, 0x01, 0x05, 0x00, 0x00, 0x9a, 0x05, 0x00, 0x00, 0x5a, 0x06, 0x00, 0x00, 0x00, // ...........Z.... + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x35, // .......@.......5 + 0x06, 0x80, 0x00, 0x35, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0d, // ...5............ + 0x05, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x7a, 0x06, 0x00, 0x00, 0x00, // ...........z.... + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x5a, // ...............Z + 0x07, 0x00, 0x00, 0x5a, 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ...Z............ + 0x07, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // .......@........ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x03, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x04, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x2c, // ..............., + 0x04, 0x00, 0x00, 0x5f, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ..._............ + 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, // ...............@ + 0x06, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x15, 0x07, 0x00, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x05, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x10, 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x73, 0x07, 0x00, 0x00, 0x01, // ...........s.... + 0x07, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x07, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x1b, 0x07, 0x00, 0x00, 0x40, // ...............@ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x07, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x40, // ...............@ + 0x02, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x28, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ...(............ + 0x03, 0x80, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, // ...............@ + 0x07, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // .......@........ + 0x06, 0x80, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x2d, // ...@...........- + 0x04, 0x00, 0x00, 0x0d, 0x04, 0x80, 0x00, 0x4d, 0x04, 0x80, 0x00, 0x4d, 0x02, 0x80, 0x00, 0x2d, // .......M...M...- + 0x02, 0x80, 0x00, 0x0d, 0x04, 0x80, 0x00, 0x4d, 0x04, 0x80, 0x00, 0x4d, 0x07, 0x80, 0x00, 0x00, // .......M...M.... + 0x07, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, // ...........@.... + 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, // ...............@ + 0x07, 0x00, 0x00, 0x40, 0x06, 0x80, 0x00, 0x0d, 0x07, 0x80, 0x00, 0x2d, 0x07, 0x00, 0x00, 0x00, // ...@.......-.... + 0x06, 0x80, 0x00, 0x02, 0x05, 0x80, 0x00, 0x02, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x62, // .......`.......b + 0x06, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00, 0x05, 0x07, 0x80, 0x00, 0x01, 0x06, 0x80, 0x00, 0x00, // ................ + 0x04, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x03, 0x06, 0x80, 0x00, 0x24, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......$........ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x36, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, // ...6............ + 0x04, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x34, // ...............4 + 0x03, 0x82, 0x00, 0x00, 0x04, 0x03, 0x00, 0x04, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x05, 0x00, 0x00, 0x38, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x22, // ...8..........." + 0x06, 0x80, 0x00, 0x22, 0x07, 0x00, 0x00, 0x22, 0x07, 0x00, 0x00, 0x22, 0x06, 0x00, 0x00, 0x22, // ..."..."..."..." + 0x06, 0x00, 0x00, 0x22, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ..."............ + 0x06, 0x00, 0x00, 0x1b, 0x05, 0x80, 0x00, 0x05, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...@............ + 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x44, // ...............D + 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x40, // ...............@ + 0x07, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x2c, // ..............., + 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x2c, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x06, 0x80, 0x00, 0x20, // ...,.......@... + 0x07, 0x80, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ + 0x05, 0x00, 0x00, 0x15, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ................ + 0x05, 0x80, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x6d, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...m............ + 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x07, 0xf6, 0x00, 0x29, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......)........ + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x40, // ...............@ + 0x06, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // .......@........ + 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x20, // ............... + 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x27, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // .......'........ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x13, 0x07, 0x00, 0x00, 0x00, // ....... ........ + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x44, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x39, // .......D.......9 + 0x07, 0x00, 0x00, 0x12, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x3e, 0x05, 0x00, 0x00, 0x18, // ...........>.... + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x19, 0x07, 0x00, 0x00, 0x64, 0x06, 0x00, 0x00, 0x59, 0x08, 0x00, 0x00, 0x00, // .......d...Y.... + 0x08, 0x00, 0x00, 0x2a, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x27, // ...*...........' + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0e, 0x08, 0x00, 0x00, 0x0e, // ................ + 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x05, 0x00, 0x00, 0x0b, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x13, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x02, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x07, 0x80, 0x00, 0x01, // ................ + 0x08, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x04, // ................ + 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x08, 0xf8, 0x00, 0x54, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ...T............ + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0xb5, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // .......@........ + 0x05, 0x00, 0x00, 0x66, 0x06, 0x00, 0x00, 0x00, 0x06, 0xb8, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ...f............ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x16, 0x06, 0x00, 0x00, 0x0e, // ................ + 0x07, 0x00, 0x00, 0x1d, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x25, // ...............% + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x52, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......R........ + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x45, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .......E........ + 0x07, 0x00, 0x00, 0x20, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ... ............ + 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x24, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......$........ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x21, 0x06, 0x00, 0x00, 0x6b, 0x04, 0x00, 0x00, 0x28, 0x06, 0x00, 0x00, 0x00, // ...!...k...(.... + 0x07, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x44, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x27, // .......D.......' + 0x09, 0x00, 0x00, 0x03, 0x05, 0x80, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x09, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0xff, 0x00, 0x25, // ...............% + 0x06, 0x80, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x06, 0x00, 0x00, 0x25, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ...%............ + 0x06, 0x00, 0x00, 0x15, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ + 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x1d, // ................ + 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ + 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ + 0x07, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x30, // ...............0 + 0x07, 0x00, 0x00, 0x25, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x2f, 0x07, 0x00, 0x00, 0x00, // ...%......./.... + 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x26, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .......&........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, // ................ + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0xec, 0x00, 0x03, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x01, 0xd0, 0x00, 0x00, 0x00, 0x70, 0x00, 0x40, 0x00, 0x05, // ...........p.@.. + 0x00, 0x30, 0x00, 0x20, 0x00, 0xa9, 0x00, 0xae, 0x00, 0xb4, 0x00, 0xc6, 0x00, 0xd8, 0x21, 0x22, // .0. ..........!" + 0x22, 0x1e, 0x22, 0x60, 0xf0, 0x0e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf0, 0x4e, 0xf0, 0x5e, 0xf0, 0x6e, // "."`.....>.N.^.n + 0xf0, 0x7e, 0xf0, 0x8e, 0xf0, 0x9e, 0xf0, 0xae, 0xf0, 0xb2, 0xf0, 0xce, 0xf0, 0xde, 0xf0, 0xee, // .~.............. + 0xf0, 0xfe, 0xf1, 0x0e, 0xf1, 0x1e, 0xf1, 0x2e, 0xf1, 0x3e, 0xf1, 0x4e, 0xf1, 0x5e, 0xf1, 0x6e, // .........>.N.^.n + 0xf1, 0x7e, 0xf1, 0x8e, 0xf1, 0x9e, 0xf1, 0xae, 0xf1, 0xbe, 0xf1, 0xce, 0xf1, 0xde, 0xf1, 0xee, // .~.............. + 0xf1, 0xfe, 0xf2, 0x0e, 0xf2, 0x1e, 0xf2, 0x3e, 0xf2, 0x4e, 0xf2, 0x5e, 0xf2, 0x6e, 0xf2, 0x7e, // .......>.N.^.n.~ + 0xf2, 0x8e, 0xf2, 0x9e, 0xf2, 0xae, 0xf2, 0xbe, 0xf2, 0xce, 0xf2, 0xde, 0xf2, 0xee, 0xf5, 0x00, // ................ + 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00, 0xc6, 0x00, 0xd8, // ..... .......... + 0x21, 0x22, 0x22, 0x1e, 0x22, 0x60, 0xf0, 0x00, 0xf0, 0x10, 0xf0, 0x21, 0xf0, 0x40, 0xf0, 0x50, // !""."`.....!.@.P + 0xf0, 0x60, 0xf0, 0x70, 0xf0, 0x80, 0xf0, 0x90, 0xf0, 0xa0, 0xf0, 0xb0, 0xf0, 0xc0, 0xf0, 0xd0, // .`.p............ + 0xf0, 0xe0, 0xf0, 0xf0, 0xf1, 0x00, 0xf1, 0x10, 0xf1, 0x20, 0xf1, 0x30, 0xf1, 0x40, 0xf1, 0x50, // ......... .0.@.P + 0xf1, 0x60, 0xf1, 0x70, 0xf1, 0x80, 0xf1, 0x90, 0xf1, 0xa0, 0xf1, 0xb0, 0xf1, 0xc0, 0xf1, 0xd0, // .`.p............ + 0xf1, 0xe0, 0xf1, 0xf0, 0xf2, 0x00, 0xf2, 0x10, 0xf2, 0x21, 0xf2, 0x40, 0xf2, 0x50, 0xf2, 0x60, // .........!.@.P.` + 0xf2, 0x70, 0xf2, 0x80, 0xf2, 0x90, 0xf2, 0xa0, 0xf2, 0xb0, 0xf2, 0xc0, 0xf2, 0xd0, 0xf2, 0xe0, // .p.............. + 0xf5, 0x00, 0xff, 0xff, 0xff, 0xe3, 0xff, 0x5c, 0xff, 0x58, 0xff, 0x53, 0xff, 0x42, 0xff, 0x31, // .........X.S.B.1 + 0xde, 0xe8, 0xdd, 0xed, 0xdd, 0xac, 0x10, 0x0d, 0x10, 0x0c, 0x10, 0x0a, 0x10, 0x09, 0x10, 0x08, // ................ + 0x10, 0x07, 0x10, 0x06, 0x10, 0x05, 0x10, 0x04, 0x10, 0x03, 0x10, 0x02, 0x0f, 0xf5, 0x0f, 0xf4, // ................ + 0x0f, 0xf3, 0x0f, 0xf2, 0x0f, 0xf1, 0x0f, 0xf0, 0x0f, 0xef, 0x0f, 0xee, 0x0f, 0xed, 0x0f, 0xec, // ................ + 0x0f, 0xeb, 0x0f, 0xea, 0x0f, 0xe9, 0x0f, 0xe8, 0x0f, 0xe7, 0x0f, 0xe6, 0x0f, 0xe5, 0x0f, 0xe4, // ................ + 0x0f, 0xe3, 0x0f, 0xe2, 0x0f, 0xe1, 0x0f, 0xe0, 0x0f, 0xde, 0x0f, 0xdd, 0x0f, 0xdc, 0x0f, 0xdb, // ................ + 0x0f, 0xda, 0x0f, 0xd9, 0x0f, 0xd8, 0x0f, 0xd7, 0x0f, 0xd6, 0x0f, 0xd5, 0x0f, 0xd4, 0x0f, 0xd3, // ................ + 0x0d, 0xc2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ @@ -58,1487 +244,1649 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x07, 0x06, 0x17, 0x08, 0x05, 0x19, 0x09, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x06, 0x05, 0x0a, 0x07, 0x04, 0x0c, 0x08, 0x09, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, // ................ - 0xff, 0xff, 0x00, 0x0f, 0x00, 0x02, 0x00, 0x70, 0x00, 0x00, 0x03, 0x10, 0x06, 0x00, 0x00, 0x03, // .......p........ - 0x00, 0x07, 0x00, 0x00, 0x37, 0x21, 0x11, 0x21, 0x03, 0x11, 0x21, 0x11, 0xe0, 0x01, 0xc0, 0xfe, // ....7!.!..!..... - 0x40, 0x70, 0x02, 0xa0, 0x70, 0x05, 0x20, 0xfa, 0x70, 0x06, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00, // @p..p. .p....... - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, // ..............1. - 0x00, 0x01, 0x00, 0x5d, 0xff, 0x00, 0x06, 0xa3, 0x05, 0x80, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x14, // ...]............ - 0x07, 0x01, 0x11, 0x21, 0x32, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x21, // ...!2...#!"&463! - 0x11, 0x01, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x1e, 0x01, 0x06, 0xa3, 0x2b, 0xfd, // ..&54>.3!2....+. - 0x88, 0x01, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0xfc, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x40, 0xfd, // ..@.&&....&&..@. - 0x88, 0x2b, 0x24, 0x28, 0x17, 0x05, 0x80, 0x17, 0x28, 0x24, 0x05, 0x46, 0x23, 0x2b, 0xfd, 0x88, // .+$(....($.F#+.. - 0xfd, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x03, 0x00, 0x02, 0x78, 0x2b, 0x23, 0x17, 0x1b, // ..&4&&4&...x+#.. - 0x08, 0x08, 0x1b, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x05, 0x80, 0x00, 0x2b, // ...............+ - 0x00, 0x00, 0x01, 0x11, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x17, // ......."..4>.32. - 0x11, 0x05, 0x11, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x11, // ......"..4>.32.. - 0x34, 0x36, 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, 0x06, 0x00, 0x44, 0x68, 0x67, 0x5a, 0x67, 0x68, // 467.632...DhgZgh - 0x44, 0x44, 0x68, 0x67, 0x2d, 0x69, 0x57, 0xfd, 0x00, 0x44, 0x68, 0x67, 0x5a, 0x67, 0x68, 0x44, // DDhg-iW..DhgZghD - 0x44, 0x68, 0x67, 0x2d, 0x69, 0x57, 0x26, 0x1e, 0x03, 0x40, 0x0c, 0x10, 0x28, 0x38, 0x05, 0x20, // Dhg-iW&..@..(8. - 0xfb, 0xa0, 0x32, 0x4e, 0x2b, 0x15, 0x15, 0x2b, 0x4e, 0x64, 0x4e, 0x2b, 0x15, 0x27, 0x02, 0x19, // ..2N+..+NdN+.'.. - 0xed, 0xfd, 0x3b, 0x32, 0x4e, 0x2b, 0x15, 0x15, 0x2b, 0x4e, 0x64, 0x4e, 0x2b, 0x15, 0x27, 0x03, // ..;2N+..+NdN+.'. - 0xc7, 0x1f, 0x33, 0x0a, 0x01, 0x00, 0x04, 0x38, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, // ..3....8........ - 0x05, 0x80, 0x00, 0x07, 0x00, 0x21, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, // .....!..... ... - 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, // ...#"'..#"$&...6 - 0x24, 0x20, 0x04, 0x16, 0x12, 0x15, 0x14, 0x07, 0x01, 0x16, 0x04, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, // $ .............. - 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x03, 0x07, 0x4c, 0x34, 0x36, 0x24, 0xfe, 0xa9, 0xb3, 0xdc, // .....r..L46$.... - 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x7c, // ....oo........o| - 0x01, 0x57, 0x25, 0x02, 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, // .W%...r......... - 0x80, 0x34, 0x4c, 0x26, 0x01, 0x56, 0x7c, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, // .4L&.V|o........ - 0x6f, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, 0xb3, 0xfe, 0xa9, 0x25, 0x00, 0x00, 0x03, 0x00, 0x00, // oo........%..... - 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x1a, 0x00, 0x3d, 0x00, 0x4d, 0x00, 0x00, 0x25, 0x11, // .........=.M..%. - 0x06, 0x07, 0x04, 0x07, 0x0e, 0x02, 0x2b, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x26, 0x25, 0x26, 0x27, // ......+."..'&%&' - 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x3c, 0x02, 0x2e, 0x03, 0x23, 0x21, 0x22, 0x06, // ...3!26.<...#!". - 0x15, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x04, 0x3b, 0x02, 0x32, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x3e, // .......;.2>.767> - 0x01, 0x37, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // .7...#!"&5.463!2 - 0x16, 0x06, 0x80, 0x20, 0x25, 0xfe, 0xf4, 0x9e, 0x33, 0x40, 0x6d, 0x30, 0x01, 0x01, 0x30, 0x6d, // ... %...3@m0..0m - 0x40, 0x33, 0x9e, 0xfe, 0xf4, 0x25, 0x20, 0x13, 0x0d, 0x05, 0xc0, 0x0d, 0x13, 0x01, 0x05, 0x06, // @3...% ......... - 0x0c, 0x08, 0xfa, 0x40, 0x0d, 0x13, 0x93, 0xc1, 0xd0, 0x06, 0x3a, 0x22, 0x37, 0x2e, 0x14, 0x01, // ...@......:"7... - 0x01, 0x14, 0x2e, 0x37, 0x22, 0x3a, 0x06, 0xd0, 0xc1, 0x36, 0x5d, 0x80, 0x5e, 0x42, 0xfa, 0x40, // ...7":...6].^B.@ - 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0x20, 0x03, 0x00, 0x24, 0x1e, 0xce, 0x84, 0x2b, // B^^B..B^ ..$...+ - 0x30, 0x31, 0x31, 0x30, 0x2b, 0x84, 0xce, 0x1e, 0x24, 0xfd, 0x00, 0x0d, 0x13, 0x13, 0x04, 0x28, // 0110+...$......( - 0x02, 0x12, 0x09, 0x11, 0x08, 0x0a, 0x05, 0x13, 0x0d, 0xa8, 0x74, 0x98, 0xa5, 0x05, 0x31, 0x1a, // ..........t...1. - 0x25, 0x12, 0x12, 0x25, 0x1a, 0x31, 0x05, 0xa5, 0x98, 0x2b, 0x91, 0x60, 0xfb, 0xc0, 0x42, 0x5e, // %..%.1...+.`..B^ - 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // ^B.@B^^......... - 0x05, 0x80, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x22, 0x27, 0x01, 0x2e, 0x04, 0x35, 0x34, 0x36, 0x33, // ......."'...5463 - 0x32, 0x1e, 0x02, 0x17, 0x3e, 0x03, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x01, 0x03, 0x9a, 0x34, // 2...>.32.......4 - 0x12, 0xfd, 0x90, 0x0a, 0x23, 0x4c, 0x3c, 0x2f, 0xfe, 0xe0, 0x3e, 0x81, 0x6f, 0x50, 0x24, 0x24, // ....#L.oP$$ - 0x50, 0x6f, 0x81, 0x3e, 0xe0, 0xfe, 0xe5, 0xfd, 0x91, 0x80, 0x12, 0x02, 0x5a, 0x08, 0x24, 0x5f, // Po.>........Z.$_ - 0x64, 0x8e, 0x43, 0xdc, 0xf8, 0x2b, 0x49, 0x40, 0x24, 0x24, 0x40, 0x49, 0x2b, 0xf8, 0xdc, 0xdd, // d.C..+I@$$@I+... - 0xe5, 0xfd, 0xa8, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xad, 0x06, 0x80, 0x05, 0xe0, 0x00, 0x22, // ..............." - 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x13, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x25, 0x05, // ...........#"'%. - 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, 0x01, 0x26, 0x35, 0x34, 0x37, 0x25, 0x13, 0x36, // .#"&547..&547%.6 - 0x32, 0x17, 0x13, 0x05, 0x16, 0x06, 0x80, 0x1a, 0xfe, 0x95, 0x56, 0x01, 0x15, 0x14, 0x13, 0x15, // 2.........V..... - 0xfe, 0x3f, 0xfe, 0x3f, 0x16, 0x12, 0x15, 0x15, 0x02, 0x56, 0xfe, 0x94, 0x19, 0x38, 0x01, 0xf6, // .?.?.....V...8.. - 0xe1, 0x13, 0x3c, 0x13, 0xe1, 0x01, 0xf6, 0x38, 0x03, 0x79, 0x16, 0x1a, 0xfe, 0x9e, 0xfe, 0x0c, // ..<....8.y...... - 0x07, 0x0d, 0x15, 0x1d, 0x0c, 0xec, 0xec, 0x0c, 0x1d, 0x15, 0x06, 0x0e, 0x01, 0xf4, 0x01, 0x62, // ...............b - 0x1b, 0x15, 0x25, 0x09, 0x49, 0x01, 0xc7, 0x29, 0x29, 0xfe, 0x39, 0x49, 0x09, 0x00, 0x00, 0x00, // ..%.I..)).9I.... - 0x00, 0x02, 0x00, 0x00, 0xff, 0xad, 0x06, 0x80, 0x05, 0xe0, 0x00, 0x09, 0x00, 0x2b, 0x00, 0x00, // .............+.. - 0x09, 0x01, 0x25, 0x0b, 0x01, 0x05, 0x01, 0x03, 0x25, 0x05, 0x01, 0x14, 0x07, 0x01, 0x13, 0x16, // ..%.....%....... - 0x15, 0x14, 0x23, 0x22, 0x27, 0x25, 0x05, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, 0x01, // ..#"'%..#"&547.. - 0x26, 0x35, 0x34, 0x37, 0x25, 0x13, 0x36, 0x32, 0x17, 0x13, 0x05, 0x16, 0x04, 0x71, 0x01, 0x32, // &547%.62.....q.2 - 0xfe, 0x5a, 0xbd, 0xbd, 0xfe, 0x5a, 0x01, 0x32, 0x49, 0x01, 0x7a, 0x01, 0x79, 0x01, 0xc7, 0x1a, // .Z...Z.2I.z.y... - 0xfe, 0x95, 0x56, 0x01, 0x29, 0x13, 0x15, 0xfe, 0x3f, 0xfe, 0x3f, 0x16, 0x12, 0x15, 0x15, 0x02, // ..V.)...?.?..... - 0x56, 0xfe, 0x94, 0x19, 0x38, 0x01, 0xf6, 0xe1, 0x13, 0x3c, 0x13, 0xe1, 0x01, 0xf6, 0x38, 0x02, // V...8....<....8. - 0x14, 0x01, 0x29, 0x3e, 0x01, 0x7e, 0xfe, 0x82, 0x3e, 0xfe, 0xd7, 0xfe, 0x5b, 0xc7, 0xc7, 0x03, // ..)>.~..>...[... - 0x0a, 0x16, 0x1a, 0xfe, 0x9e, 0xfe, 0x0c, 0x07, 0x0d, 0x32, 0x0c, 0xec, 0xec, 0x0c, 0x1d, 0x15, // .........2...... - 0x06, 0x0e, 0x01, 0xf4, 0x01, 0x62, 0x1b, 0x15, 0x25, 0x09, 0x49, 0x01, 0xc7, 0x29, 0x29, 0xfe, // .....b..%.I..)). - 0x39, 0x49, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, 0x05, 0x80, 0x00, 0x1f, // 9I.............. - 0x00, 0x27, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x05, 0x33, // .'..%..#!"&54>.3 - 0x32, 0x1e, 0x02, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x05, 0x00, 0x10, 0x06, 0x20, 0x26, 0x10, // 2..2>.32..... &. - 0x36, 0x20, 0x05, 0x80, 0x92, 0x79, 0xfc, 0x96, 0x79, 0x92, 0x07, 0x15, 0x20, 0x36, 0x46, 0x65, // 6 ...y..y... 6Fe - 0x3d, 0x09, 0x42, 0x53, 0x85, 0x86, 0x85, 0x53, 0x42, 0x09, 0x3d, 0x65, 0x46, 0x36, 0x20, 0x15, // =.BS...SB.=eF6 . - 0x07, 0xfe, 0xc0, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x83, 0x78, 0x8b, 0x8b, 0x78, 0x35, // .........>.x..x5 - 0x65, 0x75, 0x64, 0x5f, 0x43, 0x28, 0x2b, 0x35, 0x2b, 0x2b, 0x35, 0x2b, 0x28, 0x43, 0x5f, 0x64, // eud_C(+5++5+(C_d - 0x75, 0x65, 0x03, 0xe7, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x00, 0x00, 0x0b, 0x00, 0x00, // ue.......>...... - 0xff, 0x00, 0x07, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O - 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xaf, 0x00, 0x00, 0x05, 0x35, // ._.o...........5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, // 4&+.".....;.26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, // 4&+.".....;.26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x11, // 4&+.".....;.26.. - 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, // 4&#!".....3!26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x35, // 4&+.".....;.26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x11, // 4&+.".....;.26.. - 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, // 4&#!".....3!26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, // 4&+.".....;.26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, // 4&+.".....;.26.5 - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x37, 0x11, // 4&+.".....;.267. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, // ..#!"&5.463!2... - 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // &...&&...&&...&& - 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x04, 0x00, // ...&&...&&...&.. - 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x00, 0x1a, 0x26, 0xfc, 0x00, 0x26, 0x1a, // &....&&....&..&. - 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x05, 0x80, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // ..&&...&..&...&& - 0x1a, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x00, // ...&..&....&&... - 0x1a, 0x26, 0x01, 0x80, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, // .&..&...&&...&&. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, // ...,...,...,..., + 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, // ...,...,...,..., + 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, // ...,...,...,..., + 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x01, 0x98, // ...,............ + 0x00, 0x00, 0x02, 0x74, 0x00, 0x00, 0x02, 0xd0, 0x00, 0x00, 0x03, 0x4c, 0x00, 0x00, 0x03, 0xf0, // ...t.......L.... + 0x00, 0x00, 0x04, 0x54, 0x00, 0x00, 0x06, 0x24, 0x00, 0x00, 0x06, 0xe0, 0x00, 0x00, 0x08, 0x6c, // ...T...$.......l + 0x00, 0x00, 0x09, 0x78, 0x00, 0x00, 0x09, 0xd0, 0x00, 0x00, 0x0a, 0x54, 0x00, 0x00, 0x0b, 0x28, // ...x.......T...( + 0x00, 0x00, 0x0b, 0xd4, 0x00, 0x00, 0x0c, 0x84, 0x00, 0x00, 0x0d, 0x64, 0x00, 0x00, 0x0e, 0xa8, // ...........d.... + 0x00, 0x00, 0x0f, 0xd4, 0x00, 0x00, 0x10, 0x84, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x9c, // ................ + 0x00, 0x00, 0x12, 0x6c, 0x00, 0x00, 0x13, 0x2c, 0x00, 0x00, 0x13, 0xd8, 0x00, 0x00, 0x14, 0x80, // ...l...,........ + 0x00, 0x00, 0x14, 0xfc, 0x00, 0x00, 0x15, 0x90, 0x00, 0x00, 0x16, 0x34, 0x00, 0x00, 0x17, 0x10, // ...........4.... + 0x00, 0x00, 0x18, 0x64, 0x00, 0x00, 0x18, 0xcc, 0x00, 0x00, 0x19, 0x70, 0x00, 0x00, 0x1a, 0x48, // ...d.......p...H + 0x00, 0x00, 0x1a, 0x94, 0x00, 0x00, 0x1b, 0x24, 0x00, 0x00, 0x1c, 0x64, 0x00, 0x00, 0x1d, 0x2c, // .......$...d..., + 0x00, 0x00, 0x1e, 0x08, 0x00, 0x00, 0x1e, 0x74, 0x00, 0x00, 0x1f, 0x28, 0x00, 0x00, 0x20, 0x8c, // .......t...(.. . + 0x00, 0x00, 0x20, 0xf0, 0x00, 0x00, 0x21, 0xa0, 0x00, 0x00, 0x22, 0x30, 0x00, 0x00, 0x23, 0x20, // .. ...!..."0..# + 0x00, 0x00, 0x24, 0x2c, 0x00, 0x00, 0x24, 0xe0, 0x00, 0x00, 0x26, 0x44, 0x00, 0x00, 0x27, 0xe4, // ..$,..$...&D..'. + 0x00, 0x00, 0x28, 0x9c, 0x00, 0x00, 0x29, 0x54, 0x00, 0x00, 0x2a, 0x08, 0x00, 0x00, 0x2a, 0xbc, // ..(...)T..*...*. + 0x00, 0x00, 0x2c, 0x10, 0x00, 0x00, 0x2c, 0xf4, 0x00, 0x00, 0x2d, 0xd8, 0x00, 0x00, 0x2e, 0x40, // ..,...,...-....@ + 0x00, 0x00, 0x2e, 0xd8, 0x00, 0x00, 0x2f, 0x60, 0x00, 0x00, 0x2f, 0xbc, 0x00, 0x00, 0x30, 0x14, // ....../`../...0. + 0x00, 0x00, 0x30, 0xa4, 0x00, 0x00, 0x31, 0x94, 0x00, 0x00, 0x32, 0x90, 0x00, 0x00, 0x33, 0x64, // ..0...1...2...3d + 0x00, 0x00, 0x34, 0x34, 0x00, 0x00, 0x34, 0x94, 0x00, 0x00, 0x35, 0x20, 0x00, 0x00, 0x35, 0x80, // ..44..4...5 ..5. + 0x00, 0x00, 0x35, 0xb8, 0x00, 0x00, 0x36, 0x20, 0x00, 0x00, 0x36, 0x5c, 0x00, 0x00, 0x36, 0xbc, // ..5...6 ..6...6. + 0x00, 0x00, 0x37, 0x48, 0x00, 0x00, 0x37, 0xa8, 0x00, 0x00, 0x38, 0x0c, 0x00, 0x00, 0x38, 0x60, // ..7H..7...8...8` + 0x00, 0x00, 0x38, 0xb4, 0x00, 0x00, 0x39, 0x4c, 0x00, 0x00, 0x39, 0xb4, 0x00, 0x00, 0x3a, 0x68, // ..8...9L..9...:h + 0x00, 0x00, 0x3a, 0xec, 0x00, 0x00, 0x3b, 0xc0, 0x00, 0x00, 0x3c, 0x70, 0x00, 0x00, 0x3d, 0x70, // ..:...;...<..>...?h..?. + 0x00, 0x00, 0x40, 0x48, 0x00, 0x00, 0x40, 0xbc, 0x00, 0x00, 0x41, 0x30, 0x00, 0x00, 0x41, 0xb8, // ..@H..@...A0..A. + 0x00, 0x00, 0x42, 0x58, 0x00, 0x00, 0x42, 0xf8, 0x00, 0x00, 0x43, 0x64, 0x00, 0x00, 0x43, 0x9c, // ..BX..B...Cd..C. + 0x00, 0x00, 0x44, 0x4c, 0x00, 0x00, 0x44, 0xe4, 0x00, 0x00, 0x45, 0xb8, 0x00, 0x00, 0x46, 0x9c, // ..DL..D...E...F. + 0x00, 0x00, 0x47, 0x30, 0x00, 0x00, 0x47, 0xdc, 0x00, 0x00, 0x48, 0xec, 0x00, 0x00, 0x49, 0x8c, // ..G0..G...H...I. + 0x00, 0x00, 0x4a, 0x38, 0x00, 0x00, 0x4b, 0xac, 0x00, 0x00, 0x4c, 0xe4, 0x00, 0x00, 0x4d, 0x64, // ..J8..K...L...Md + 0x00, 0x00, 0x4e, 0x2c, 0x00, 0x00, 0x4e, 0x80, 0x00, 0x00, 0x4e, 0xd4, 0x00, 0x00, 0x4f, 0xb0, // ..N,..N...N...O. + 0x00, 0x00, 0x50, 0x60, 0x00, 0x00, 0x50, 0xa8, 0x00, 0x00, 0x51, 0x34, 0x00, 0x00, 0x51, 0xa0, // ..P`..P...Q4..Q. + 0x00, 0x00, 0x52, 0x0c, 0x00, 0x00, 0x52, 0x6c, 0x00, 0x00, 0x53, 0x2c, 0x00, 0x00, 0x53, 0x98, // ..R...Rl..S,..S. + 0x00, 0x00, 0x54, 0x60, 0x00, 0x00, 0x55, 0x30, 0x00, 0x00, 0x57, 0xf0, 0x00, 0x00, 0x58, 0xdc, // ..T`..U0..W...X. + 0x00, 0x00, 0x5a, 0x08, 0x00, 0x00, 0x5b, 0x40, 0x00, 0x00, 0x5b, 0x8c, 0x00, 0x00, 0x5c, 0x3c, // ..Z...[@..[....< + 0x00, 0x00, 0x5c, 0xf8, 0x00, 0x00, 0x5d, 0x98, 0x00, 0x00, 0x5e, 0x28, 0x00, 0x00, 0x5e, 0xe4, // ......]...^(..^. + 0x00, 0x00, 0x5f, 0xa0, 0x00, 0x00, 0x60, 0x70, 0x00, 0x00, 0x62, 0x2c, 0x00, 0x00, 0x62, 0xf4, // .._...`p..b,..b. + 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x64, 0xec, 0x00, 0x00, 0x65, 0x50, 0x00, 0x00, 0x65, 0xd0, // ..d...d...eP..e. + 0x00, 0x00, 0x66, 0xc4, 0x00, 0x00, 0x67, 0x60, 0x00, 0x00, 0x67, 0xa8, 0x00, 0x00, 0x69, 0x4c, // ..f...g`..g...iL + 0x00, 0x00, 0x69, 0xc0, 0x00, 0x00, 0x6a, 0x44, 0x00, 0x00, 0x6b, 0x0c, 0x00, 0x00, 0x6b, 0xd4, // ..i...jD..k...k. + 0x00, 0x00, 0x6c, 0x80, 0x00, 0x00, 0x6d, 0x40, 0x00, 0x00, 0x6e, 0x2c, 0x00, 0x00, 0x6f, 0x4c, // ..l...m@..n,..oL + 0x00, 0x00, 0x70, 0x84, 0x00, 0x00, 0x71, 0xa4, 0x00, 0x00, 0x72, 0xdc, 0x00, 0x00, 0x73, 0x78, // ..p...q...r...sx + 0x00, 0x00, 0x74, 0x10, 0x00, 0x00, 0x74, 0xa8, 0x00, 0x00, 0x75, 0x44, 0x00, 0x00, 0x7b, 0x60, // ..t...t...uD..{` + 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0xbc, 0x00, 0x00, 0x7d, 0x10, 0x00, 0x00, 0x7d, 0xa4, // ..|...|...}...}. + 0x00, 0x00, 0x7e, 0x88, 0x00, 0x00, 0x7f, 0x94, 0x00, 0x00, 0x80, 0xbc, 0x00, 0x00, 0x81, 0x18, // ..~............. + 0x00, 0x00, 0x81, 0x8c, 0x00, 0x00, 0x83, 0x48, 0x00, 0x00, 0x84, 0x14, 0x00, 0x00, 0x84, 0xd4, // .......H........ + 0x00, 0x00, 0x85, 0xa8, 0x00, 0x00, 0x85, 0xe4, 0x00, 0x00, 0x86, 0x6c, 0x00, 0x00, 0x87, 0x40, // ...........l...@ + 0x00, 0x00, 0x88, 0x98, 0x00, 0x00, 0x89, 0xc0, 0x00, 0x00, 0x8b, 0x10, 0x00, 0x00, 0x8c, 0xc8, // ................ + 0x00, 0x00, 0x8d, 0x8c, 0x00, 0x00, 0x8e, 0x6c, 0x00, 0x00, 0x8f, 0x48, 0x00, 0x00, 0x90, 0x20, // .......l...H... + 0x00, 0x00, 0x90, 0xc0, 0x00, 0x00, 0x91, 0x54, 0x00, 0x00, 0x92, 0x0c, 0x00, 0x00, 0x92, 0x48, // .......T.......H + 0x00, 0x00, 0x92, 0x84, 0x00, 0x00, 0x92, 0xc0, 0x00, 0x00, 0x92, 0xfc, 0x00, 0x00, 0x93, 0x60, // ...............` + 0x00, 0x00, 0x93, 0xc8, 0x00, 0x00, 0x94, 0x04, 0x00, 0x00, 0x94, 0x40, 0x00, 0x00, 0x94, 0xf0, // ...........@.... + 0x00, 0x00, 0x95, 0x80, 0x00, 0x00, 0x96, 0x24, 0x00, 0x00, 0x97, 0x5c, 0x00, 0x00, 0x98, 0x58, // .......$.......X + 0x00, 0x00, 0x99, 0x1c, 0x00, 0x00, 0x9a, 0x44, 0x00, 0x00, 0x9a, 0xb8, 0x00, 0x00, 0x9b, 0x98, // .......D........ + 0x00, 0x00, 0x9c, 0xa0, 0x00, 0x00, 0x9d, 0x54, 0x00, 0x00, 0x9e, 0x58, 0x00, 0x00, 0x9e, 0xf8, // .......T...X.... + 0x00, 0x00, 0x9f, 0x9c, 0x00, 0x00, 0xa0, 0x44, 0x00, 0x00, 0xa1, 0x50, 0x00, 0x00, 0xa2, 0x2c, // .......D...P..., + 0x00, 0x00, 0xa2, 0xa4, 0x00, 0x00, 0xa3, 0x38, 0x00, 0x00, 0xa3, 0xa8, 0x00, 0x00, 0xa4, 0x64, // .......8.......d + 0x00, 0x00, 0xa5, 0x5c, 0x00, 0x00, 0xa8, 0x90, 0x00, 0x00, 0xab, 0x08, 0x00, 0x00, 0xac, 0x1c, // ................ + 0x00, 0x00, 0xac, 0xec, 0x00, 0x00, 0xad, 0x90, 0x00, 0x00, 0xad, 0xe8, 0x00, 0x00, 0xae, 0x80, // ................ + 0x00, 0x00, 0xaf, 0x18, 0x00, 0x00, 0xaf, 0xb0, 0x00, 0x00, 0xb0, 0x48, 0x00, 0x00, 0xb0, 0xe0, // ...........H.... + 0x00, 0x00, 0xb1, 0x78, 0x00, 0x00, 0xb1, 0xcc, 0x00, 0x00, 0xb2, 0x20, 0x00, 0x00, 0xb2, 0x74, // ...x....... ...t + 0x00, 0x00, 0xb2, 0xc8, 0x00, 0x00, 0xb3, 0x58, 0x00, 0x00, 0xb3, 0xf4, 0x00, 0x00, 0xb4, 0x70, // .......X.......p + 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0xb5, 0x64, 0x00, 0x00, 0xb6, 0x1c, 0x00, 0x00, 0xb6, 0xd4, // .......d........ + 0x00, 0x00, 0xb7, 0xb4, 0x00, 0x00, 0xb7, 0xf0, 0x00, 0x00, 0xb8, 0x78, 0x00, 0x00, 0xb9, 0x74, // ...........x...t + 0x00, 0x00, 0xb9, 0xf8, 0x00, 0x00, 0xba, 0xcc, 0x00, 0x00, 0xba, 0xcc, 0x00, 0x00, 0xba, 0xcc, // ................ + 0x00, 0x00, 0xbb, 0xa8, 0x00, 0x00, 0xbc, 0x84, 0x00, 0x00, 0xbd, 0x40, 0x00, 0x00, 0xbe, 0x04, // ...........@.... + 0x00, 0x00, 0xbf, 0xc8, 0x00, 0x00, 0xc0, 0xc4, 0x00, 0x00, 0xc2, 0x0c, 0x00, 0x00, 0xc2, 0x8c, // ................ + 0x00, 0x00, 0xc3, 0x5c, 0x00, 0x00, 0xc4, 0x20, 0x00, 0x00, 0xc4, 0xbc, 0x00, 0x00, 0xc5, 0x10, // ....... ........ + 0x00, 0x00, 0xc5, 0xb8, 0x00, 0x00, 0xc6, 0x94, 0x00, 0x00, 0xc8, 0x30, 0x00, 0x00, 0xc8, 0xe0, // ...........0.... + 0x00, 0x00, 0xc9, 0x64, 0x00, 0x00, 0xc9, 0xcc, 0x00, 0x00, 0xca, 0xa8, 0x00, 0x00, 0xcb, 0x80, // ...d............ + 0x00, 0x00, 0xcb, 0xe0, 0x00, 0x00, 0xcc, 0xf4, 0x00, 0x00, 0xcd, 0x94, 0x00, 0x00, 0xce, 0x78, // ...............x + 0x00, 0x00, 0xce, 0xe8, 0x00, 0x00, 0xcf, 0xb0, 0x00, 0x00, 0xd0, 0x8c, 0x00, 0x00, 0xd1, 0x2c, // ..............., + 0x00, 0x00, 0xd1, 0x88, 0x00, 0x00, 0xd2, 0x08, 0x00, 0x00, 0xd2, 0x88, 0x00, 0x00, 0xd3, 0x0c, // ................ + 0x00, 0x00, 0xd3, 0x8c, 0x00, 0x00, 0xd3, 0xec, 0x00, 0x00, 0xd4, 0x38, 0x00, 0x00, 0xd5, 0x2c, // ...........8..., + 0x00, 0x00, 0xd5, 0x9c, 0x00, 0x00, 0xd6, 0x60, 0x00, 0x00, 0xd6, 0xe8, 0x00, 0x00, 0xd7, 0x6c, // .......`.......l + 0x00, 0x00, 0xd8, 0x48, 0x00, 0x00, 0xd8, 0xb4, 0x00, 0x00, 0xd9, 0x60, 0x00, 0x00, 0xd9, 0xc4, // ...H.......`.... + 0x00, 0x00, 0xda, 0x54, 0x00, 0x00, 0xda, 0xb8, 0x00, 0x00, 0xdb, 0x18, 0x00, 0x00, 0xdb, 0x94, // ...T............ + 0x00, 0x00, 0xdc, 0x40, 0x00, 0x00, 0xdc, 0xc8, 0x00, 0x00, 0xdd, 0x6c, 0x00, 0x00, 0xdd, 0xf0, // ...@.......l.... + 0x00, 0x00, 0xde, 0x84, 0x00, 0x00, 0xdf, 0x18, 0x00, 0x00, 0xdf, 0xac, 0x00, 0x00, 0xe0, 0xbc, // ................ + 0x00, 0x00, 0xe1, 0x6c, 0x00, 0x00, 0xe2, 0x70, 0x00, 0x00, 0xe3, 0x20, 0x00, 0x00, 0xe3, 0xe4, // ...l...p... .... + 0x00, 0x00, 0xe4, 0x80, 0x00, 0x00, 0xe5, 0xc8, 0x00, 0x00, 0xe6, 0xc0, 0x00, 0x00, 0xe7, 0x18, // ................ + 0x00, 0x00, 0xe7, 0xec, 0x00, 0x00, 0xe8, 0xe4, 0x00, 0x00, 0xe9, 0xd8, 0x00, 0x00, 0xea, 0xd8, // ................ + 0x00, 0x00, 0xeb, 0xd8, 0x00, 0x00, 0xec, 0xd4, 0x00, 0x00, 0xed, 0xd0, 0x00, 0x00, 0xee, 0xdc, // ................ + 0x00, 0x00, 0xef, 0xe4, 0x00, 0x00, 0xf2, 0x04, 0x00, 0x00, 0xf3, 0xf4, 0x00, 0x00, 0xf4, 0x80, // ................ + 0x00, 0x00, 0xf5, 0x34, 0x00, 0x00, 0xf6, 0x10, 0x00, 0x00, 0xf6, 0x9c, 0x00, 0x00, 0xf7, 0x18, // ...4............ + 0x00, 0x00, 0xf8, 0x58, 0x00, 0x00, 0xf8, 0xc0, 0x00, 0x00, 0xf9, 0x24, 0x00, 0x00, 0xfa, 0x6c, // ...X.......$...l + 0x00, 0x00, 0xfb, 0xbc, 0x00, 0x00, 0xfc, 0x28, 0x00, 0x00, 0xfc, 0xb8, 0x00, 0x00, 0xfd, 0x0c, // .......(........ + 0x00, 0x00, 0xfd, 0x60, 0x00, 0x00, 0xfd, 0xb4, 0x00, 0x00, 0xfe, 0x08, 0x00, 0x00, 0xfe, 0xb8, // ...`............ + 0x00, 0x00, 0xff, 0x08, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x05, 0xb4, 0x00, 0x01, 0x06, 0xf4, // ................ + 0x00, 0x01, 0x07, 0xf8, 0x00, 0x01, 0x08, 0xd0, 0x00, 0x01, 0x09, 0x64, 0x00, 0x01, 0x0a, 0x10, // ...........d.... + 0x00, 0x01, 0x0a, 0x98, 0x00, 0x01, 0x0b, 0x18, 0x00, 0x01, 0x0c, 0x04, 0x00, 0x01, 0x0c, 0xa4, // ................ + 0x00, 0x01, 0x0d, 0x2c, 0x00, 0x01, 0x0e, 0x00, 0x00, 0x01, 0x0f, 0x88, 0x00, 0x01, 0x11, 0x2c, // ...,..........., + 0x00, 0x01, 0x11, 0xa0, 0x00, 0x01, 0x12, 0xcc, 0x00, 0x01, 0x13, 0x38, 0x00, 0x01, 0x13, 0xe4, // ...........8.... + 0x00, 0x01, 0x14, 0x90, 0x00, 0x01, 0x15, 0x28, 0x00, 0x01, 0x15, 0xa4, 0x00, 0x01, 0x16, 0x58, // .......(.......X + 0x00, 0x01, 0x16, 0xfc, 0x00, 0x01, 0x17, 0xc0, 0x00, 0x01, 0x18, 0x84, 0x00, 0x01, 0x19, 0x78, // ...............x + 0x00, 0x01, 0x1a, 0x7c, 0x00, 0x01, 0x1b, 0x54, 0x00, 0x01, 0x1c, 0xd4, 0x00, 0x01, 0x1d, 0x40, // ...|...T.......@ + 0x00, 0x01, 0x1d, 0xd4, 0x00, 0x01, 0x1e, 0x90, 0x00, 0x01, 0x1f, 0x04, 0x00, 0x01, 0x1f, 0x7c, // ...............| + 0x00, 0x01, 0x20, 0xa4, 0x00, 0x01, 0x21, 0xc0, 0x00, 0x01, 0x22, 0x78, 0x00, 0x01, 0x23, 0x08, // .. ...!..."x..#. + 0x00, 0x01, 0x23, 0x6c, 0x00, 0x01, 0x24, 0x04, 0x00, 0x01, 0x24, 0xcc, 0x00, 0x01, 0x27, 0x68, // ..#l..$...$...'h + 0x00, 0x01, 0x28, 0xe8, 0x00, 0x01, 0x2a, 0x4c, 0x00, 0x01, 0x2c, 0x54, 0x00, 0x01, 0x2e, 0x4c, // ..(...*L..,T...L + 0x00, 0x01, 0x31, 0x74, 0x00, 0x01, 0x31, 0xf4, 0x00, 0x01, 0x32, 0xe0, 0x00, 0x01, 0x33, 0x30, // ..1t..1...2...30 + 0x00, 0x01, 0x33, 0xb0, 0x00, 0x01, 0x34, 0xa8, 0x00, 0x01, 0x35, 0x74, 0x00, 0x01, 0x36, 0x54, // ..3...4...5t..6T + 0x00, 0x01, 0x37, 0x24, 0x00, 0x01, 0x38, 0x0c, 0x00, 0x01, 0x39, 0x48, 0x00, 0x01, 0x3a, 0x10, // ..7$..8...9H..:. + 0x00, 0x01, 0x3a, 0xf0, 0x00, 0x01, 0x3b, 0x90, 0x00, 0x01, 0x3c, 0x84, 0x00, 0x01, 0x3c, 0xd8, // ..:...;...<...<. + 0x00, 0x01, 0x3f, 0x58, 0x00, 0x01, 0x40, 0x1c, 0x00, 0x01, 0x41, 0xc0, 0x00, 0x01, 0x42, 0xc8, // ..?X..@...A...B. + 0x00, 0x01, 0x43, 0xc8, 0x00, 0x01, 0x44, 0x9c, 0x00, 0x01, 0x45, 0x48, 0x00, 0x01, 0x46, 0x48, // ..C...D...EH..FH + 0x00, 0x01, 0x47, 0x70, 0x00, 0x01, 0x48, 0x48, 0x00, 0x01, 0x49, 0x78, 0x00, 0x01, 0x4a, 0x20, // ..Gp..HH..Ix..J + 0x00, 0x01, 0x4a, 0xe4, 0x00, 0x01, 0x4b, 0xd4, 0x00, 0x01, 0x4c, 0xa0, 0x00, 0x01, 0x4d, 0x18, // ..J...K...L...M. + 0x00, 0x01, 0x4e, 0x40, 0x00, 0x01, 0x50, 0x40, 0x00, 0x01, 0x51, 0xa0, 0x00, 0x01, 0x52, 0xe0, // ..N@..P@..Q...R. + 0x00, 0x01, 0x53, 0x44, 0x00, 0x01, 0x54, 0x20, 0x00, 0x01, 0x55, 0x4c, 0x00, 0x01, 0x56, 0x60, // ..SD..T ..UL..V` + 0x00, 0x01, 0x56, 0xd4, 0x00, 0x01, 0x57, 0x58, 0x00, 0x01, 0x58, 0x34, 0x00, 0x01, 0x58, 0xa0, // ..V...WX..X4..X. + 0x00, 0x01, 0x5a, 0x04, 0x00, 0x01, 0x5a, 0x88, 0x00, 0x01, 0x5b, 0x64, 0x00, 0x01, 0x5b, 0xe0, // ..Z...Z...[d..[. + 0x00, 0x01, 0x5c, 0x7c, 0x00, 0x01, 0x5d, 0xd8, 0x00, 0x01, 0x5e, 0xa0, 0x00, 0x01, 0x60, 0x94, // ...|..]...^...`. + 0x00, 0x01, 0x61, 0x48, 0x00, 0x01, 0x61, 0xbc, 0x00, 0x01, 0x62, 0xf0, 0x00, 0x01, 0x63, 0x58, // ..aH..a...b...cX + 0x00, 0x01, 0x64, 0xac, 0x00, 0x01, 0x65, 0x74, 0x00, 0x01, 0x66, 0x68, 0x00, 0x01, 0x67, 0xdc, // ..d...et..fh..g. + 0x00, 0x01, 0x68, 0xb4, 0x00, 0x01, 0x69, 0x5c, 0x00, 0x01, 0x6a, 0x78, 0x00, 0x01, 0x6e, 0x84, // ..h...i...jx..n. + 0x00, 0x01, 0x70, 0x40, 0x00, 0x01, 0x73, 0xe0, 0x00, 0x01, 0x76, 0x10, 0x00, 0x01, 0x77, 0xc8, // ..p@..s...v...w. + 0x00, 0x01, 0x78, 0x90, 0x00, 0x01, 0x79, 0x88, 0x00, 0x01, 0x7a, 0x8c, 0x00, 0x01, 0x7b, 0x68, // ..x...y...z...{h + 0x00, 0x01, 0x7c, 0x8c, 0x00, 0x01, 0x7d, 0x1c, 0x00, 0x01, 0x7d, 0xa4, 0x00, 0x01, 0x7f, 0x5c, // ..|...}...}..... + 0x00, 0x01, 0x7f, 0x98, 0x00, 0x01, 0x7f, 0xf8, 0x00, 0x01, 0x80, 0x6c, 0x00, 0x01, 0x81, 0x74, // ...........l...t + 0x00, 0x01, 0x82, 0x90, 0x00, 0x01, 0x83, 0x34, 0x00, 0x01, 0x83, 0xa4, 0x00, 0x01, 0x84, 0xc8, // .......4........ + 0x00, 0x01, 0x85, 0xb0, 0x00, 0x01, 0x86, 0xa4, 0x00, 0x01, 0x88, 0x74, 0x00, 0x01, 0x89, 0x8c, // ...........t.... + 0x00, 0x01, 0x8a, 0x38, 0x00, 0x01, 0x8b, 0x38, 0x00, 0x01, 0x8b, 0xa0, 0x00, 0x01, 0x8e, 0x4c, // ...8...8.......L + 0x00, 0x01, 0x8e, 0xa8, 0x00, 0x01, 0x8f, 0x54, 0x00, 0x01, 0x90, 0x10, 0x00, 0x01, 0x91, 0x14, // .......T........ + 0x00, 0x01, 0x93, 0x90, 0x00, 0x01, 0x94, 0x14, 0x00, 0x01, 0x95, 0x04, 0x00, 0x01, 0x95, 0xfc, // ................ + 0x00, 0x01, 0x96, 0xf8, 0x00, 0x01, 0x97, 0xa0, 0x00, 0x01, 0x99, 0x7c, 0x00, 0x01, 0x9a, 0xc8, // ...........|.... + 0x00, 0x01, 0x9c, 0x10, 0x00, 0x01, 0x9d, 0x08, 0x00, 0x01, 0x9d, 0xd8, 0x00, 0x01, 0x9e, 0x7c, // ...............| + 0x00, 0x01, 0x9f, 0x18, 0x00, 0x01, 0x9f, 0xe8, 0x00, 0x01, 0xa0, 0xc4, 0x00, 0x01, 0xa2, 0x0c, // ................ + 0x00, 0x01, 0xa3, 0x34, 0x00, 0x01, 0xa4, 0x78, 0x00, 0x01, 0xa5, 0xb0, 0x00, 0x01, 0xa6, 0x80, // ...4...x........ + 0x00, 0x01, 0xa7, 0x4c, 0x00, 0x01, 0xa8, 0x1c, 0x00, 0x01, 0xa8, 0x90, 0x00, 0x01, 0xa8, 0xec, // ...L............ + 0x00, 0x01, 0xa8, 0xec, 0x00, 0x01, 0xa8, 0xec, 0x00, 0x01, 0xa9, 0x58, 0x00, 0x01, 0xaa, 0x28, // ...........X...( + 0x00, 0x01, 0xab, 0x20, 0x00, 0x01, 0xab, 0xcc, 0x00, 0x01, 0xac, 0xac, 0x00, 0x01, 0xad, 0xa8, // ... ............ + 0x00, 0x01, 0xae, 0x20, 0x00, 0x01, 0xae, 0x88, 0x00, 0x01, 0xaf, 0x04, 0x00, 0x01, 0xaf, 0xa8, // ... ............ + 0x00, 0x01, 0xb0, 0x40, 0x00, 0x01, 0xb0, 0x88, 0x00, 0x01, 0xb6, 0xbc, 0x00, 0x01, 0xb7, 0x6c, // ...@...........l + 0x00, 0x01, 0xb8, 0xe0, 0x00, 0x01, 0xb9, 0x74, 0x00, 0x01, 0xba, 0x04, 0x00, 0x01, 0xba, 0x94, // .......t........ + 0x00, 0x01, 0xbb, 0x24, 0x00, 0x01, 0xbb, 0xa4, 0x00, 0x01, 0xbc, 0x08, 0x00, 0x01, 0xbc, 0x78, // ...$...........x + 0x00, 0x01, 0xbd, 0x4c, 0x00, 0x01, 0xbe, 0x4c, 0x00, 0x01, 0xbe, 0xa4, 0x00, 0x01, 0xbf, 0x20, // ...L...L....... + 0x00, 0x01, 0xc0, 0x48, 0x00, 0x01, 0xc1, 0x18, 0x00, 0x01, 0xc1, 0xc4, 0x00, 0x01, 0xc3, 0x04, // ...H............ + 0x00, 0x01, 0xc3, 0xe4, 0x00, 0x01, 0xc4, 0xa0, 0x00, 0x01, 0xc5, 0x54, 0x00, 0x01, 0xc6, 0x28, // ...........T...( + 0x00, 0x01, 0xc6, 0xec, 0x00, 0x01, 0xc8, 0x0c, 0x00, 0x01, 0xc9, 0x0c, 0x00, 0x01, 0xca, 0x88, // ................ + 0x00, 0x01, 0xcb, 0xa0, 0x00, 0x01, 0xcc, 0xf8, 0x00, 0x01, 0xce, 0x1c, 0x00, 0x01, 0xcf, 0x94, // ................ + 0x00, 0x01, 0xd0, 0x6c, 0x00, 0x01, 0xd1, 0x64, 0x00, 0x01, 0xd2, 0xdc, 0x00, 0x01, 0xd3, 0x50, // ...l...d.......P + 0x00, 0x01, 0xd3, 0xf8, 0x00, 0x01, 0xd5, 0x84, 0x00, 0x01, 0xd6, 0x78, 0x00, 0x01, 0xd7, 0x70, // ...........x...p + 0x00, 0x01, 0xd7, 0xfc, 0x00, 0x01, 0xd8, 0xf4, 0x00, 0x01, 0xda, 0xac, 0x00, 0x01, 0xdb, 0x54, // ...............T + 0x00, 0x01, 0xdc, 0x54, 0x00, 0x01, 0xdd, 0x0c, 0x00, 0x01, 0xdd, 0xf0, 0x00, 0x01, 0xde, 0x88, // ...T............ + 0x00, 0x01, 0xdf, 0x4c, 0x00, 0x01, 0xe1, 0x80, 0x00, 0x01, 0xe2, 0xf8, 0x00, 0x01, 0xe4, 0x18, // ...L............ + 0x00, 0x01, 0xe5, 0x0c, 0x00, 0x01, 0xe6, 0x3c, 0x00, 0x01, 0xe7, 0x48, 0x00, 0x01, 0xe7, 0xa8, // .......<...H.... + 0x00, 0x01, 0xe8, 0x24, 0x00, 0x01, 0xe8, 0xd4, 0x00, 0x01, 0xe9, 0x6c, 0x00, 0x01, 0xea, 0x1c, // ...$.......l.... + 0x00, 0x01, 0xea, 0xd4, 0x00, 0x01, 0xeb, 0xe4, 0x00, 0x01, 0xec, 0x34, 0x00, 0x01, 0xec, 0xb8, // ...........4.... + 0x00, 0x01, 0xec, 0xf4, 0x00, 0x01, 0xed, 0xf0, 0x00, 0x01, 0xef, 0x08, 0x00, 0x01, 0xef, 0xa4, // ................ + 0x00, 0x01, 0xf0, 0x04, 0x00, 0x01, 0xf0, 0xcc, 0x00, 0x01, 0xf1, 0x20, 0x00, 0x01, 0xf2, 0x50, // ........... ...P + 0x00, 0x01, 0xf3, 0x6c, 0x00, 0x01, 0xf3, 0xe8, 0x00, 0x01, 0xf5, 0x0c, 0x00, 0x01, 0xf6, 0x2c, // ...l..........., + 0x00, 0x01, 0xf6, 0xc0, 0x00, 0x01, 0xf7, 0x78, 0x00, 0x01, 0xf7, 0xe0, 0x00, 0x01, 0xf8, 0x70, // .......x.......p + 0x00, 0x01, 0xf9, 0x2c, 0x00, 0x01, 0xfa, 0x78, 0x00, 0x01, 0xfb, 0x74, 0x00, 0x01, 0xfc, 0x0c, // ...,...x...t.... + 0x00, 0x01, 0xfc, 0x64, 0x00, 0x01, 0xfd, 0x0c, 0x00, 0x01, 0xfd, 0x8c, 0x00, 0x01, 0xfe, 0x34, // ...d...........4 + 0x00, 0x01, 0xff, 0x08, 0x00, 0x01, 0xff, 0xd0, 0x00, 0x02, 0x01, 0x34, 0x00, 0x02, 0x02, 0x1c, // ...........4.... + 0x00, 0x02, 0x03, 0x2c, 0x00, 0x02, 0x04, 0x68, 0x00, 0x02, 0x05, 0xd4, 0x00, 0x02, 0x07, 0x50, // ...,...h.......P + 0x00, 0x02, 0x09, 0x34, 0x00, 0x02, 0x0a, 0xd4, 0x00, 0x02, 0x0c, 0xe0, 0x00, 0x02, 0x0d, 0xf0, // ...4............ + 0x00, 0x02, 0x0f, 0x18, 0x00, 0x02, 0x10, 0x34, 0x00, 0x02, 0x11, 0xe4, 0x00, 0x02, 0x13, 0x3c, // .......4.......< + 0x00, 0x02, 0x14, 0x2c, 0x00, 0x02, 0x15, 0x2c, 0x00, 0x02, 0x16, 0x34, 0x00, 0x02, 0x17, 0x30, // ...,...,...4...0 + 0x00, 0x02, 0x18, 0x38, 0x00, 0x02, 0x19, 0x24, 0x00, 0x02, 0x1a, 0x88, 0x00, 0x02, 0x1b, 0x38, // ...8...$.......8 + 0x00, 0x02, 0x1d, 0xb4, 0x00, 0x02, 0x1e, 0x54, 0x00, 0x02, 0x1e, 0xcc, 0x00, 0x02, 0x20, 0x7c, // .......T...... | + 0x00, 0x02, 0x21, 0x68, 0x00, 0x02, 0x22, 0xac, 0x00, 0x02, 0x24, 0x4c, 0x00, 0x02, 0x25, 0x30, // ..!h.."...$L..%0 + 0x00, 0x02, 0x26, 0x48, 0x00, 0x02, 0x27, 0x88, 0x00, 0x02, 0x28, 0xf4, 0x00, 0x02, 0x29, 0x8c, // ..&H..'...(...). + 0x00, 0x02, 0x2a, 0x30, 0x00, 0x02, 0x2a, 0xdc, 0x00, 0x02, 0x2b, 0x94, 0x00, 0x02, 0x2c, 0xdc, // ..*0..*...+...,. + 0x00, 0x02, 0x2e, 0x24, 0x00, 0x02, 0x2e, 0xec, 0x00, 0x02, 0x30, 0xec, 0x00, 0x02, 0x31, 0x84, // ...$......0...1. + 0x00, 0x02, 0x32, 0x40, 0x00, 0x02, 0x32, 0xfc, 0x00, 0x02, 0x33, 0xb8, 0x00, 0x02, 0x34, 0x74, // ..2@..2...3...4t + 0x00, 0x02, 0x35, 0x24, 0x00, 0x02, 0x36, 0xf4, 0x00, 0x02, 0x39, 0x20, 0x00, 0x02, 0x3a, 0x8c, // ..5$..6...9 ..:. + 0x00, 0x02, 0x3a, 0xd4, 0x00, 0x02, 0x3b, 0x0c, 0x00, 0x02, 0x3b, 0x88, 0x00, 0x02, 0x3c, 0x28, // ..:...;...;...<( + 0x00, 0x02, 0x3c, 0xd8, 0x00, 0x02, 0x3d, 0x34, 0x00, 0x02, 0x3f, 0xb8, 0x00, 0x02, 0x40, 0x98, // ..<...=4..?...@. + 0x00, 0x02, 0x41, 0xe0, 0x00, 0x02, 0x43, 0xa0, 0x00, 0x02, 0x44, 0xfc, 0x00, 0x02, 0x46, 0x98, // ..A...C...D...F. + 0x00, 0x02, 0x48, 0x60, 0x00, 0x02, 0x48, 0xf4, 0x00, 0x02, 0x49, 0xcc, 0x00, 0x02, 0x4c, 0xbc, // ..H`..H...I...L. + 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, // ..L...L...L...L. + 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, // ..L...L...L...L. + 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, // ..L...L...L...L. + 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x4c, 0xbc, 0x00, 0x02, 0x00, 0x70, // ..L...L...L....p + 0x00, 0x00, 0x03, 0x10, 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x37, 0x21, 0x11, 0x21, // ............7!.! + 0x03, 0x11, 0x21, 0x11, 0xe0, 0x01, 0xc0, 0xfe, 0x40, 0x70, 0x02, 0xa0, 0x70, 0x05, 0x20, 0xfa, // ..!.....@p..p. . + 0x70, 0x06, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5d, 0xff, 0x00, 0x06, 0xa3, // p..........].... + 0x05, 0x80, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x11, 0x21, 0x32, 0x16, 0x14, 0x06, // ...........!2... + 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x21, 0x11, 0x01, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x33, // #!"&463!..&54>.3 + 0x21, 0x32, 0x1e, 0x01, 0x06, 0xa3, 0x2b, 0xfd, 0x88, 0x01, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0xfc, // !2....+...@.&&.. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x40, 0xfd, 0x88, 0x2b, 0x24, 0x28, 0x17, 0x05, 0x80, 0x17, // ..&&..@..+$(.... + 0x28, 0x24, 0x05, 0x46, 0x23, 0x2b, 0xfd, 0x88, 0xfd, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, // ($.F#+....&4&&4& + 0x03, 0x00, 0x02, 0x78, 0x2b, 0x23, 0x17, 0x1b, 0x08, 0x08, 0x1b, 0x00, 0x00, 0x01, 0x00, 0x00, // ...x+#.......... + 0xff, 0x00, 0x06, 0x00, 0x05, 0x80, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x11, 0x14, 0x0e, 0x02, 0x22, // .......+......." + 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x11, 0x05, 0x11, 0x14, 0x0e, 0x02, 0x22, 0x2e, // ..4>.32.......". + 0x02, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, // .4>.32..467.632. + 0x06, 0x00, 0x44, 0x68, 0x67, 0x5a, 0x67, 0x68, 0x44, 0x44, 0x68, 0x67, 0x2d, 0x69, 0x57, 0xfd, // ..DhgZghDDhg-iW. + 0x00, 0x44, 0x68, 0x67, 0x5a, 0x67, 0x68, 0x44, 0x44, 0x68, 0x67, 0x2d, 0x69, 0x57, 0x26, 0x1e, // .DhgZghDDhg-iW&. + 0x03, 0x40, 0x0c, 0x10, 0x28, 0x38, 0x05, 0x20, 0xfb, 0xa0, 0x32, 0x4e, 0x2b, 0x15, 0x15, 0x2b, // .@..(8. ..2N+..+ + 0x4e, 0x64, 0x4e, 0x2b, 0x15, 0x27, 0x02, 0x19, 0xed, 0xfd, 0x3b, 0x32, 0x4e, 0x2b, 0x15, 0x15, // NdN+.'....;2N+.. + 0x2b, 0x4e, 0x64, 0x4e, 0x2b, 0x15, 0x27, 0x03, 0xc7, 0x1f, 0x33, 0x0a, 0x01, 0x00, 0x04, 0x38, // +NdN+.'...3....8 + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x21, 0x00, 0x00, // .............!.. + 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, // ... ... ...#"'.. + 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x12, 0x15, 0x14, 0x07, // #"$&...6$ ...... + 0x01, 0x16, 0x04, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x03, 0x07, // .............r.. + 0x4c, 0x34, 0x36, 0x24, 0xfe, 0xa9, 0xb3, 0xdc, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, // L46$........oo.. + 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x7c, 0x01, 0x57, 0x25, 0x02, 0x07, 0x01, 0x72, 0x01, // ......o|.W%...r. + 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, 0x80, 0x34, 0x4c, 0x26, 0x01, 0x56, 0x7c, 0x6f, // .........4L&.V|o + 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, 0xb3, // ........oo...... + 0xfe, 0xa9, 0x25, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x1a, // ..%............. + 0x00, 0x3d, 0x00, 0x4d, 0x00, 0x00, 0x25, 0x11, 0x06, 0x07, 0x04, 0x07, 0x0e, 0x02, 0x2b, 0x02, // .=.M..%.......+. + 0x22, 0x2e, 0x01, 0x27, 0x26, 0x25, 0x26, 0x27, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, // "..'&%&'...3!26. + 0x3c, 0x02, 0x2e, 0x03, 0x23, 0x21, 0x22, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x1e, 0x04, 0x3b, // <...#!"........; + 0x02, 0x32, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // .2>.767>.7...#!" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x80, 0x20, 0x25, 0xfe, 0xf4, 0x9e, // &5.463!2... %... + 0x33, 0x40, 0x6d, 0x30, 0x01, 0x01, 0x30, 0x6d, 0x40, 0x33, 0x9e, 0xfe, 0xf4, 0x25, 0x20, 0x13, // 3@m0..0m@3...% . + 0x0d, 0x05, 0xc0, 0x0d, 0x13, 0x01, 0x05, 0x06, 0x0c, 0x08, 0xfa, 0x40, 0x0d, 0x13, 0x93, 0xc1, // ...........@.... + 0xd0, 0x06, 0x3a, 0x22, 0x37, 0x2e, 0x14, 0x01, 0x01, 0x14, 0x2e, 0x37, 0x22, 0x3a, 0x06, 0xd0, // ..:"7......7":.. + 0xc1, 0x36, 0x5d, 0x80, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, // .6].^B.@B^^B..B^ + 0x20, 0x03, 0x00, 0x24, 0x1e, 0xce, 0x84, 0x2b, 0x30, 0x31, 0x31, 0x30, 0x2b, 0x84, 0xce, 0x1e, // ..$...+0110+... + 0x24, 0xfd, 0x00, 0x0d, 0x13, 0x13, 0x04, 0x28, 0x02, 0x12, 0x09, 0x11, 0x08, 0x0a, 0x05, 0x13, // $......(........ + 0x0d, 0xa8, 0x74, 0x98, 0xa5, 0x05, 0x31, 0x1a, 0x25, 0x12, 0x12, 0x25, 0x1a, 0x31, 0x05, 0xa5, // ..t...1.%..%.1.. + 0x98, 0x2b, 0x91, 0x60, 0xfb, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x00, // .+.`..B^^B.@B^^. + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x1c, 0x00, 0x00, 0x04, 0x22, // ..............." + 0x27, 0x01, 0x2e, 0x04, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x17, 0x3e, 0x03, 0x33, 0x32, // '...54632...>.32 + 0x16, 0x15, 0x14, 0x07, 0x01, 0x03, 0x9a, 0x34, 0x12, 0xfd, 0x90, 0x0a, 0x23, 0x4c, 0x3c, 0x2f, // .......4....#L.oP$$Po.>.... + 0x91, 0x80, 0x12, 0x02, 0x5a, 0x08, 0x24, 0x5f, 0x64, 0x8e, 0x43, 0xdc, 0xf8, 0x2b, 0x49, 0x40, // ....Z.$_d.C..+I@ + 0x24, 0x24, 0x40, 0x49, 0x2b, 0xf8, 0xdc, 0xdd, 0xe5, 0xfd, 0xa8, 0x00, 0x00, 0x01, 0x00, 0x00, // $$@I+........... + 0xff, 0xad, 0x06, 0x80, 0x05, 0xe0, 0x00, 0x22, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x13, 0x16, // ......."........ + 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x25, 0x05, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, // ...#"'%..#"&547. + 0x01, 0x26, 0x35, 0x34, 0x37, 0x25, 0x13, 0x36, 0x32, 0x17, 0x13, 0x05, 0x16, 0x06, 0x80, 0x1a, // .&547%.62....... + 0xfe, 0x95, 0x56, 0x01, 0x15, 0x14, 0x13, 0x15, 0xfe, 0x3f, 0xfe, 0x3f, 0x16, 0x12, 0x15, 0x15, // ..V......?.?.... + 0x02, 0x56, 0xfe, 0x94, 0x19, 0x38, 0x01, 0xf6, 0xe1, 0x13, 0x3c, 0x13, 0xe1, 0x01, 0xf6, 0x38, // .V...8....<....8 + 0x03, 0x79, 0x16, 0x1a, 0xfe, 0x9e, 0xfe, 0x0c, 0x07, 0x0d, 0x15, 0x1d, 0x0c, 0xec, 0xec, 0x0c, // .y.............. + 0x1d, 0x15, 0x06, 0x0e, 0x01, 0xf4, 0x01, 0x62, 0x1b, 0x15, 0x25, 0x09, 0x49, 0x01, 0xc7, 0x29, // .......b..%.I..) + 0x29, 0xfe, 0x39, 0x49, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0xad, 0x06, 0x80, // ).9I............ + 0x05, 0xe0, 0x00, 0x09, 0x00, 0x2b, 0x00, 0x00, 0x09, 0x01, 0x25, 0x0b, 0x01, 0x05, 0x01, 0x03, // .....+....%..... + 0x25, 0x05, 0x01, 0x14, 0x07, 0x01, 0x13, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x25, 0x05, 0x06, // %.........#"'%.. + 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, 0x01, 0x26, 0x35, 0x34, 0x37, 0x25, 0x13, 0x36, 0x32, // #"&547..&547%.62 + 0x17, 0x13, 0x05, 0x16, 0x04, 0x71, 0x01, 0x32, 0xfe, 0x5a, 0xbd, 0xbd, 0xfe, 0x5a, 0x01, 0x32, // .....q.2.Z...Z.2 + 0x49, 0x01, 0x7a, 0x01, 0x79, 0x01, 0xc7, 0x1a, 0xfe, 0x95, 0x56, 0x01, 0x29, 0x13, 0x15, 0xfe, // I.z.y.....V.)... + 0x3f, 0xfe, 0x3f, 0x16, 0x12, 0x15, 0x15, 0x02, 0x56, 0xfe, 0x94, 0x19, 0x38, 0x01, 0xf6, 0xe1, // ?.?.....V...8... + 0x13, 0x3c, 0x13, 0xe1, 0x01, 0xf6, 0x38, 0x02, 0x14, 0x01, 0x29, 0x3e, 0x01, 0x7e, 0xfe, 0x82, // .<....8...)>.~.. + 0x3e, 0xfe, 0xd7, 0xfe, 0x5b, 0xc7, 0xc7, 0x03, 0x0a, 0x16, 0x1a, 0xfe, 0x9e, 0xfe, 0x0c, 0x07, // >...[........... + 0x0d, 0x32, 0x0c, 0xec, 0xec, 0x0c, 0x1d, 0x15, 0x06, 0x0e, 0x01, 0xf4, 0x01, 0x62, 0x1b, 0x15, // .2...........b.. + 0x25, 0x09, 0x49, 0x01, 0xc7, 0x29, 0x29, 0xfe, 0x39, 0x49, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, // %.I..)).9I...... + 0xff, 0x80, 0x05, 0x00, 0x05, 0x80, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, // ............%..# + 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x33, 0x16, 0x20, 0x37, 0x32, 0x1e, 0x03, 0x00, 0x10, // !"&54>.3. 72.... + 0x06, 0x20, 0x26, 0x10, 0x36, 0x20, 0x05, 0x00, 0x7d, 0x58, 0xfc, 0xaa, 0x58, 0x7d, 0x11, 0x2e, // . &.6 ..}X..X}.. + 0x47, 0x75, 0x4c, 0x83, 0x01, 0x6c, 0x83, 0x4c, 0x75, 0x47, 0x2e, 0x11, 0xff, 0x00, 0xe1, 0xfe, // GuL..l.LuG...... + 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x89, 0x6d, 0x9c, 0x9c, 0x6d, 0x55, 0x97, 0x99, 0x6d, 0x45, 0x80, // ....>.m..mU..mE. + 0x80, 0x45, 0x6d, 0x99, 0x97, 0x03, 0xc1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x00, 0x00, // .Em.........>... + 0x00, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x07, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xaf, // .?.O._.o........ + 0x00, 0x00, 0x05, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // ...54&+.".....;. + 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, // 26..4&#!".....3! + 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, // 26..4&#!".....3! + 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // 26.54&+.".....;. + 0x32, 0x36, 0x37, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 267...#!"&5.463! + 0x32, 0x16, 0x01, 0x80, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, // 2...&...&&...&&. 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, // ..&&...&&...&&.. - 0x1a, 0x26, 0x80, 0x5e, 0x42, 0xf9, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0x40, 0x42, 0x5e, 0x40, // .&.^B..B^^B.@B^@ + 0x1a, 0x26, 0x04, 0x00, 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x00, 0x1a, 0x26, // .&..&....&&....& + 0xfc, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x05, 0x80, 0x26, 0x1a, // ..&...&&...&..&. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, // ..&&...&..&....& + 0x26, 0x1a, 0x03, 0x00, 0x1a, 0x26, 0x01, 0x80, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, // &....&..&...&&.. + 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, // .&&...&&...&&... + 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x80, 0x5e, 0x42, 0xf9, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x06, // &&...&.^B..B^^B. + 0x40, 0x42, 0x5e, 0x40, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, // @B^@..&&...&&... + 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, // .&&...&&....&&.. + 0x1a, 0x26, 0x26, 0xfd, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, // .&&.....&&....&& + 0x04, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0xfb, 0x9a, 0x80, 0x1a, 0x26, // ....&&...&&....& + 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x03, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x00, // &...&&.....&&... + 0x1a, 0x26, 0x26, 0xfe, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, // .&&....&&...&&.. 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ..&&...&&....&&. - 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0xfd, // ..&&....&&...&&. - 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x04, 0x9a, 0x80, 0x1a, // ....&&....&&.... - 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0xfb, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, // &&...&&....&&... - 0x26, 0x26, 0x03, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0xfe, // &&.....&&....&&. - 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, 0x1a, 0x26, 0x26, // ...&&...&&....&& - 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x9a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // ...&&....&&...&& - 0xba, 0xfa, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0x40, 0x42, 0x5e, 0x5e, 0x00, 0x04, 0x00, 0x00, // ...B^^B.@B^^.... - 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, // .........../.?.. - 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x03, 0x00, 0x4c, 0x34, 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x4c, 0x34, // ..L4..4LL4..4LL4 - 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x03, 0x80, 0x4c, 0x34, 0xfe, 0x00, // ..4LL4..4L..L4.. - 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, // 4LL4..4LL4..4LL4 - 0x02, 0x00, 0x34, 0x4c, 0x02, 0x00, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, // ..4L....4LL4..4L - 0x4c, 0x02, 0xcc, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0xfc, 0xcc, // L....4LL4..4LL.. - 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x02, 0xcc, 0xfe, 0x80, 0x34, // ..4LL4..4LL....4 - 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // LL4..4LL........ - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o - 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // ..........#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x00, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, // 463!2...8(..(88( - 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, // .@(88(..(88(.@(8 - 0x02, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0xfd, 0x80, // ..8(..(88(.@(8.. - 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x02, 0x80, 0x38, 0x28, // 8(..(88(.@(8..8( + 0x80, 0x1a, 0x26, 0x26, 0xba, 0xfa, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0x40, 0x42, 0x5e, 0x5e, // ..&&...B^^B.@B^^ + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x3f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .?......#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x00, 0x4c, 0x34, 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, // 3!2...L4..4LL4.. + 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x03, 0x80, // 4LL4..4LL4..4L.. + 0x4c, 0x34, 0xfe, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0x00, // L4..4LL4..4LL4.. + 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x34, 0x4c, 0x02, 0x00, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, // 4LL4..4L....4LL4 + 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x02, 0xcc, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, // ..4LL....4LL4..4 + 0x4c, 0x4c, 0xfc, 0xcc, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x02, // LL....4LL4..4LL. + 0xcc, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x00, 0x09, 0x00, 0x00, // ...4LL4..4LL.... + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O + 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ._.o..........#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x00, 0x38, 0x28, 0xfe, 0xc0, // "&=.463!2...8(.. + 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, // (88(.@(88(..(88( + 0x01, 0x40, 0x28, 0x38, 0x02, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, // .@(8..8(..(88(.@ + 0x28, 0x38, 0xfd, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, // (8..8(..(88(.@(8 + 0x02, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x02, 0x80, // ..8(..(88(.@(8.. + 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0xfd, 0x80, 0x38, 0x28, // 8(..(88(.@(8..8( 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x02, 0x80, 0x38, 0x28, 0xfe, 0xc0, // ..(88(.@(8..8(.. - 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0xfd, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, // (88(.@(8..8(..(8 - 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x02, 0x80, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, // 8(.@(8..8(..(88( - 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, // .@(88(..(88(.@(8 + 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, // (88(.@(88(..(88( + 0x01, 0x40, 0x28, 0x38, 0x01, 0x20, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x01, // .@(8. .(88(.(88. + 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, // ..(88(.(88...(88 + 0x28, 0xc0, 0x28, 0x38, 0x38, 0x03, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, // (.(88...(88(.(88 + 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, // ...(88(.(88...(8 + 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x03, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, // 8(.(88...(88(.(8 + 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x01, 0xd8, 0xc0, 0x28, // 8...(88(.(88...( + 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // 88(.(88......... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x00, // ......./.?.O._.. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x02, 0x00, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, // ..8(..(88(.@(88( + 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x05, 0x00, 0x38, 0x28, 0xfc, 0x40, // ..(88(.@(8..8(.@ + 0x28, 0x38, 0x38, 0x28, 0x03, 0xc0, 0x28, 0x38, 0xfb, 0x00, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, // (88(..(8..8(..(8 + 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x05, 0x00, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, // 8(.@(8..8(.@(88( + 0x03, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, 0x03, 0xc0, 0x28, 0x38, // ..(88(.@(88(..(8 0x01, 0x20, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x01, 0xd8, 0xc0, 0x28, 0x38, // . .(88(.(88...(8 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, // 8(.(88...(88(.(8 0x38, 0x03, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, // 8...(88(.(88...( - 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, // 88(.(88...(88(.( - 0x38, 0x38, 0x03, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, // 88...(88(.(88... - 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x01, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, // (88(.(88...(88(. - 0x28, 0x38, 0x38, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // (88............. - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, // .../.?.O._...... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x00, 0x38, 0x28, // #!"&=.463!2...8( - 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, // ..(88(.@(88(..(8 - 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x05, 0x00, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, // 8(.@(8..8(.@(88( - 0x03, 0xc0, 0x28, 0x38, 0xfb, 0x00, 0x38, 0x28, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, // ..(8..8(..(88(.@ - 0x28, 0x38, 0x05, 0x00, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, 0x03, 0xc0, 0x28, 0x38, // (8..8(.@(88(..(8 - 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, 0x03, 0xc0, 0x28, 0x38, 0x01, 0x20, 0xc0, 0x28, // 8(.@(88(..(8. .( 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x01, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, // 88(.(88...(88(.( - 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x03, 0xd8, 0xc0, // 88...(88(.(88... - 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0xfd, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, // (88(.(88...(88(. - 0x28, 0x38, 0x38, 0x01, 0xd8, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x00, 0x00, // (88...(88(.(88.. - 0x00, 0x01, 0x00, 0x79, 0x00, 0x0e, 0x06, 0x87, 0x04, 0xb2, 0x00, 0x16, 0x00, 0x00, 0x00, 0x14, // ...y............ - 0x07, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x09, // ...."/..&4?.62.. - 0x01, 0x36, 0x32, 0x1f, 0x01, 0x06, 0x87, 0x1c, 0xfd, 0x2c, 0x88, 0x1c, 0x50, 0x1c, 0x88, 0xfe, // .62......,..P... - 0x96, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x02, 0x90, 0x1c, 0x50, 0x1c, 0x88, 0x03, // .....P..&...P... - 0xf2, 0x50, 0x1c, 0xfd, 0x2c, 0x88, 0x1c, 0x1c, 0x88, 0x01, 0x6a, 0x1c, 0x50, 0x1c, 0x88, 0x1c, // .P..,.....j.P... - 0x1c, 0xfe, 0xd9, 0x02, 0x91, 0x1c, 0x1c, 0x88, 0x00, 0x01, 0x00, 0x6e, 0xff, 0xee, 0x05, 0x12, // ...........n.... - 0x04, 0x92, 0x00, 0x23, 0x00, 0x00, 0x24, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x27, 0x09, 0x01, 0x06, // ...#..$...."'... - 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x09, // "/.&47..&4?.62.. - 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x09, 0x01, 0x05, 0x12, 0x1c, 0x88, 0x1c, 0x50, // .62............P - 0x1c, 0xfe, 0xda, 0xfe, 0xda, 0x1c, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0x01, 0x26, 0xfe, 0xda, 0x1c, // ......P.....&... - 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x01, 0x26, 0x1c, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0xfe, // ...P..&.&.P..... - 0xda, 0x01, 0x26, 0xfe, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0x01, 0x26, 0xfe, 0xda, 0x1c, 0x1c, 0x88, // ..&.P.....&..... - 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x01, 0x26, 0x1c, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0xfe, 0xda, 0x01, // .P..&.&.P....... - 0x26, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0xfe, 0xda, 0xfe, 0xda, 0x00, 0x00, 0x03, 0x00, 0x00, // &....P.......... - 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x44, 0x00, 0x00, 0x01, 0x15, // .......#.+.D.... - 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, // ..+....+."&=.#"& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x33, // =.46;.546;.2...3 - 0x32, 0x1e, 0x01, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x14, 0x06, 0x23, 0x22, 0x27, // 2.... ... ...#"' - 0x01, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x12, 0x15, // ..#"$&...6$ .... - 0x14, 0x07, 0x01, 0x04, 0x00, 0x13, 0x0d, 0xe0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, // ..........@..... - 0x13, 0x0d, 0xe0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, // .....@.......... - 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x03, 0x07, 0x4b, 0x35, 0x36, 0x24, 0xfe, 0xa9, 0xb3, 0xdc, // .....r..K56$.... - 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x7c, // ....oo........o| - 0x01, 0x57, 0x02, 0xe0, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x13, 0x0d, 0xe0, 0x13, 0x0d, 0x40, // .W..@..........@ - 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x13, 0x0d, 0xe0, 0x13, 0xe6, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, // ...........r.... - 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, 0xb5, 0x6a, 0x4b, 0x26, 0x01, 0x56, 0x7c, 0x6f, 0xbd, 0x01, 0x05, // ......jK&.V|o... - 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, 0xb3, 0xfe, 0xa9, 0x00, // .....oo......... - 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x30, // ...............0 - 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // ......#!"&=.463! - 0x32, 0x1e, 0x01, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x14, 0x06, 0x23, 0x22, 0x27, // 2.... ... ...#"' - 0x01, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x12, 0x15, // ..#"$&...6$ .... - 0x14, 0x07, 0x01, 0x04, 0x00, 0x13, 0x0d, 0xfd, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x02, 0x40, 0x0d, // ..............@. - 0x13, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x03, 0x07, 0x4b, 0x35, // ...........r..K5 - 0x36, 0x24, 0xfe, 0xa9, 0xb3, 0xdc, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, 0x01, // 6$........oo.... - 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x7c, 0x01, 0x57, 0x02, 0xe0, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, // ....o|.W..@....@ - 0x0d, 0x13, 0x13, 0xe6, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, 0xb5, // .....r.......... - 0x6a, 0x4b, 0x26, 0x01, 0x56, 0x7c, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, // jK&.V|o........o - 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, 0xb3, 0xfe, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // o............... - 0xff, 0x80, 0x06, 0x00, 0x06, 0x00, 0x00, 0x29, 0x00, 0x35, 0x00, 0x00, 0x01, 0x14, 0x02, 0x06, // .......).5...... - 0x04, 0x20, 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x37, 0x36, 0x16, 0x17, 0x16, 0x06, 0x07, 0x0e, // . $&.54.76...... - 0x01, 0x15, 0x14, 0x1e, 0x02, 0x32, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x27, 0x2e, 0x01, 0x37, 0x3e, // .....2>.54&'..7> - 0x01, 0x17, 0x16, 0x12, 0x01, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, // ........"&5.462. - 0x06, 0x00, 0x7a, 0xce, 0xfe, 0xe4, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, 0x7a, 0xa1, 0x92, 0x2b, 0x69, // ..z........z..+i - 0x1f, 0x20, 0x0f, 0x2a, 0x62, 0x6b, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0x6b, 0x62, 0x2a, // . .*bkQ.....Qkb* - 0x0f, 0x20, 0x1f, 0x6a, 0x2a, 0x92, 0xa1, 0xfd, 0x80, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x02, // . .j*....LhLLhL. - 0x80, 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0xb6, 0x01, 0x42, 0x6d, 0x20, // .....zz......Bm - 0x0e, 0x2b, 0x2a, 0x69, 0x20, 0x4a, 0xd6, 0x79, 0x68, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0x68, // .+*i J.yh..QQ..h - 0x79, 0xd6, 0x4a, 0x20, 0x69, 0x2a, 0x2b, 0x0e, 0x20, 0x6d, 0xfe, 0xbe, 0x02, 0x4a, 0xfd, 0x80, // y.J i*+. m...J.. - 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x80, 0x34, 0x4c, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, // 4LL4..4LL....... - 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O - 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, // ..%...+."&=.46;. - 0x32, 0x16, 0x25, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, // 2.%...+."&5.46;. - 0x32, 0x16, 0x25, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, // 2.%...+."&5.46;. - 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, // 2.....+."&5.46;. - 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, // 2.....+."&5.46;. - 0x32, 0x16, 0x01, 0x00, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x80, // 2............... + 0x38, 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x79, 0x00, 0x0e, 0x06, 0x87, 0x04, 0xb2, 0x00, 0x16, // 88.....y........ + 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x26, 0x34, 0x3f, 0x01, // ........"/..&4?. + 0x36, 0x32, 0x17, 0x09, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x06, 0x87, 0x1c, 0xfd, 0x2c, 0x88, 0x1c, // 62...62......,.. + 0x50, 0x1c, 0x88, 0xfe, 0x96, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x02, 0x90, 0x1c, // P........P..&... + 0x50, 0x1c, 0x88, 0x03, 0xf2, 0x50, 0x1c, 0xfd, 0x2c, 0x88, 0x1c, 0x1c, 0x88, 0x01, 0x6a, 0x1c, // P....P..,.....j. + 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0xfe, 0xd9, 0x02, 0x91, 0x1c, 0x1c, 0x88, 0x00, 0x01, 0x00, 0x6e, // P..............n + 0xff, 0xee, 0x05, 0x12, 0x04, 0x92, 0x00, 0x23, 0x00, 0x00, 0x24, 0x14, 0x0f, 0x01, 0x06, 0x22, // .......#..$...." + 0x27, 0x09, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, // '..."/.&47..&4?. + 0x36, 0x32, 0x17, 0x09, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x09, 0x01, 0x05, 0x12, // 62...62......... + 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0xfe, 0xda, 0xfe, 0xda, 0x1c, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0x01, // ...P......P..... + 0x26, 0xfe, 0xda, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x01, 0x26, 0x1c, 0x50, 0x1c, // &......P..&.&.P. + 0x88, 0x1c, 0x1c, 0xfe, 0xda, 0x01, 0x26, 0xfe, 0x50, 0x1c, 0x88, 0x1c, 0x1c, 0x01, 0x26, 0xfe, // ......&.P.....&. + 0xda, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0x01, 0x26, 0x01, 0x26, 0x1c, 0x50, 0x1c, 0x88, 0x1c, // .....P..&.&.P... + 0x1c, 0xfe, 0xda, 0x01, 0x26, 0x1c, 0x1c, 0x88, 0x1c, 0x50, 0x1c, 0xfe, 0xda, 0xfe, 0xda, 0x00, // ....&....P...... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x44, // ...........#.+.D + 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, // ......+....+."&= + 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, // .#"&=.46;.546;.2 + 0x16, 0x1d, 0x01, 0x33, 0x32, 0x1e, 0x01, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x14, // ...32.... ... .. + 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, // .#"'..#"$&...6$ + 0x04, 0x16, 0x12, 0x15, 0x14, 0x07, 0x01, 0x04, 0x00, 0x13, 0x0d, 0xe0, 0x13, 0x0d, 0x40, 0x0d, // ..............@. + 0x13, 0xe0, 0x0d, 0x13, 0x13, 0x0d, 0xe0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x80, // .........@...... + 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x03, 0x07, 0x4b, 0x35, 0x36, 0x24, // .........r..K56$ + 0xfe, 0xa9, 0xb3, 0xdc, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, // ........oo...... + 0x05, 0xbd, 0x6f, 0x7c, 0x01, 0x57, 0x02, 0xe0, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x13, 0x0d, // ..o|.W..@....... + 0xe0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0xe0, 0x0d, 0x13, 0x13, 0x0d, 0xe0, 0x13, 0xe6, 0x01, 0x72, // ...@...........r + 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, 0xb5, 0x6a, 0x4b, 0x26, 0x01, 0x56, 0x7c, // ..........jK&.V| + 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, // o........oo..... + 0xb3, 0xfe, 0xa9, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x17, 0x00, 0x30, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // ...0......#!"&=. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x1e, 0x01, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x14, // 463!2.... ... .. + 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, // .#"'..#"$&...6$ + 0x04, 0x16, 0x12, 0x15, 0x14, 0x07, 0x01, 0x04, 0x00, 0x13, 0x0d, 0xfd, 0xc0, 0x0d, 0x13, 0x13, // ................ + 0x0d, 0x02, 0x40, 0x0d, 0x13, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, // ..@............r + 0x03, 0x07, 0x4b, 0x35, 0x36, 0x24, 0xfe, 0xa9, 0xb3, 0xdc, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, // ..K56$........oo + 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x7c, 0x01, 0x57, 0x02, 0xe0, 0x40, 0x0d, // ........o|.W..@. + 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xe6, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, // ...@.....r...... + 0xfe, 0xf9, 0xfe, 0xb5, 0x6a, 0x4b, 0x26, 0x01, 0x56, 0x7c, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, // ....jK&.V|o..... + 0x01, 0x05, 0xbd, 0x6f, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0xdc, 0xb3, 0xfe, 0xa9, 0x00, 0x00, 0x00, // ...oo........... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x06, 0x00, 0x00, 0x29, 0x00, 0x35, 0x00, 0x00, // ...........).5.. + 0x01, 0x14, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x37, 0x36, 0x16, 0x17, // ..... $&.54.76.. + 0x16, 0x06, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x1e, 0x02, 0x32, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x27, // .........2>.54&' + 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x12, 0x01, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, // ..7>........"&5. + 0x34, 0x36, 0x32, 0x16, 0x06, 0x00, 0x7a, 0xce, 0xfe, 0xe4, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, 0x7a, // 462...z........z + 0xa1, 0x92, 0x2b, 0x69, 0x1f, 0x20, 0x0f, 0x2a, 0x62, 0x6b, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, // ..+i. .*bkQ..... + 0x51, 0x6b, 0x62, 0x2a, 0x0f, 0x20, 0x1f, 0x6a, 0x2a, 0x92, 0xa1, 0xfd, 0x80, 0x4c, 0x68, 0x4c, // Qkb*. .j*....LhL + 0x4c, 0x68, 0x4c, 0x02, 0x80, 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0xb6, // LhL......zz..... + 0x01, 0x42, 0x6d, 0x20, 0x0e, 0x2b, 0x2a, 0x69, 0x20, 0x4a, 0xd6, 0x79, 0x68, 0xbd, 0x8a, 0x51, // .Bm .+*i J.yh..Q + 0x51, 0x8a, 0xbd, 0x68, 0x79, 0xd6, 0x4a, 0x20, 0x69, 0x2a, 0x2b, 0x0e, 0x20, 0x6d, 0xfe, 0xbe, // Q..hy.J i*+. m.. + 0x02, 0x4a, 0xfd, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x80, 0x34, 0x4c, 0x4c, 0x00, 0x00, 0x00, // .J..4LL4..4LL... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, // .?.O..%...+."&=. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x25, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // 46;.2.%...+."&5. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x25, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // 46;.2.%...+."&5. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // 46;.2.....+."&5. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // 46;.2.....+."&5. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x00, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // 46;.2........... + 0x0e, 0x12, 0x01, 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x80, // ................ 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x80, 0x12, 0x0e, 0xc0, 0x0e, // ................ 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // ................ - 0x0e, 0x12, 0x01, 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x60, 0xc0, // ..............`. - 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x72, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, // ........r....... - 0x40, 0x0e, 0x12, 0x12, 0xf2, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, // @...........@... - 0x01, 0x72, 0xfc, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xfa, // .r.@............ - 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // @............... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, // .........n...4&" - 0x06, 0x14, 0x16, 0x32, 0x01, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x16, 0x17, 0x16, 0x14, // ...2............ - 0x07, 0x0e, 0x01, 0x23, 0x22, 0x2f, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, // ...#"/......+."& - 0x2f, 0x01, 0x26, 0x27, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, // /.&'..#"'&'&547> - 0x01, 0x37, 0x26, 0x2f, 0x01, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x36, 0x3f, 0x01, 0x36, 0x37, 0x26, // .7&/...=.46?.67& - 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x1f, 0x01, 0x36, 0x37, 0x36, 0x37, 0x36, // '&547>.32..67676 - 0x3b, 0x01, 0x32, 0x16, 0x1f, 0x01, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, // ;.2.....7632.... - 0x15, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x04, 0x00, 0x96, 0xd4, 0x96, // ................ - 0x96, 0xd4, 0x02, 0x96, 0x10, 0x0c, 0xb9, 0x13, 0x14, 0x23, 0x48, 0x0a, 0x09, 0x1b, 0x90, 0x16, // .........#H..... - 0x0c, 0x0e, 0x8a, 0x2c, 0x2f, 0x10, 0x0d, 0x07, 0x1d, 0xde, 0x0e, 0x15, 0x01, 0x1c, 0x31, 0x29, // ...,/.........1) - 0x8d, 0x0a, 0x0f, 0x0e, 0x0b, 0x7e, 0x27, 0x07, 0x08, 0x0f, 0x48, 0x12, 0x1b, 0x0e, 0xb7, 0x0d, // .....~'...H..... - 0x10, 0x10, 0x0b, 0xba, 0x0e, 0x19, 0x28, 0x43, 0x0a, 0x09, 0x1a, 0x91, 0x16, 0x0d, 0x0d, 0x8a, // ......(C........ - 0x2c, 0x2f, 0x10, 0x0d, 0x07, 0x1d, 0xde, 0x0e, 0x15, 0x01, 0x1c, 0x31, 0x29, 0x8e, 0x09, 0x0f, // ,/.........1)... - 0x0d, 0x0c, 0x81, 0x24, 0x07, 0x08, 0x0f, 0x48, 0x12, 0x1a, 0x0f, 0xb7, 0x0d, 0x10, 0x02, 0x16, // ...$...H........ - 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x01, 0x6d, 0xde, 0x0c, 0x16, 0x02, 0x1c, 0x36, 0x25, 0x32, 0x58, // ......m.....6%2X - 0x0c, 0x1a, 0x0a, 0x25, 0x8e, 0x09, 0x6c, 0x17, 0x0f, 0x88, 0x32, 0x1c, 0x11, 0x0d, 0xb8, 0x10, // ...%..l...2..... - 0x15, 0x6b, 0x09, 0x0b, 0x72, 0x36, 0x0a, 0x0d, 0x0c, 0x0b, 0x15, 0x5b, 0x19, 0x32, 0x31, 0x1b, // .k..r6.....[.21. - 0x02, 0x15, 0x0d, 0xde, 0x0c, 0x16, 0x02, 0x1c, 0x2e, 0x2e, 0x39, 0x51, 0x0c, 0x0c, 0x0a, 0x0d, // ..........9Q.... - 0x24, 0x8f, 0x0a, 0x6b, 0x17, 0x0f, 0x88, 0x32, 0x1c, 0x11, 0x0d, 0xb8, 0x10, 0x15, 0x6b, 0x09, // $..k...2......k. - 0x0a, 0x77, 0x33, 0x08, 0x0e, 0x0c, 0x0b, 0x15, 0x5b, 0x19, 0x32, 0x30, 0x1c, 0x02, 0x15, 0x00, // .w3.....[.20.... - 0x00, 0x06, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ - 0x00, 0x3b, 0x00, 0x43, 0x00, 0x67, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // .;.C.g......+."& - 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // 5.46;.2.....+."& - 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // 5.46;.2.....+."& - 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x13, 0x11, 0x21, 0x11, 0x14, 0x1e, 0x01, 0x33, // 5.46;.2...!....3 - 0x21, 0x32, 0x3e, 0x01, 0x01, 0x21, 0x27, 0x26, 0x27, 0x21, 0x06, 0x07, 0x05, 0x15, 0x14, 0x06, // !2>..!'&'!...... - 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, // +....#!"&5.#"&=. - 0x34, 0x36, 0x33, 0x21, 0x37, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x1f, 0x01, 0x21, 0x32, 0x16, // 463!7>.3!2...!2. - 0x02, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, // ....@....@...... - 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // @....@......@... - 0x0e, 0x40, 0x0e, 0x12, 0x80, 0xfc, 0x80, 0x0e, 0x0f, 0x03, 0x03, 0x40, 0x03, 0x0f, 0x0e, 0xfd, // .@.........@.... - 0x60, 0x01, 0xc0, 0x30, 0x07, 0x0a, 0xfe, 0xc3, 0x0a, 0x07, 0x03, 0x6f, 0x12, 0x0e, 0x60, 0x5e, // `..0.......o..`^ - 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x35, 0x46, 0x0f, 0x4e, 0x28, // B..B^`.....5F.N( - 0x01, 0x40, 0x28, 0x4e, 0x0f, 0x46, 0x01, 0x35, 0x0e, 0x12, 0x03, 0x20, 0xfd, 0xc0, 0x0e, 0x12, // .@(N.F.5... .... + 0x0e, 0x12, 0x60, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x72, 0xfe, 0xc0, 0x0e, // ..`.........r... + 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x12, 0xf2, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, // ....@........... + 0x40, 0x0e, 0x12, 0x12, 0x01, 0x72, 0xfc, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0xc0, 0x0e, 0x12, // @....r.@........ + 0x12, 0x01, 0xf2, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x00, 0x00, // ....@........... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x6e, 0x00, 0x00, // .............n.. + 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, // .4&"...2........ + 0x16, 0x17, 0x16, 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x2f, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, // .......#"/...... + 0x2b, 0x01, 0x22, 0x26, 0x2f, 0x01, 0x26, 0x27, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, // +."&/.&'..#"'&'& + 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x26, 0x2f, 0x01, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x36, 0x3f, // 547>.7&/...=.46? + 0x01, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x1f, 0x01, 0x36, // .67&'&547>.32..6 + 0x37, 0x36, 0x37, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1f, 0x01, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, // 7676;.2.....7632 + 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x04, // ................ + 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x02, 0x96, 0x10, 0x0c, 0xb9, 0x13, 0x14, 0x23, 0x48, 0x0a, // .............#H. + 0x09, 0x1b, 0x90, 0x16, 0x0c, 0x0e, 0x8a, 0x2c, 0x2f, 0x10, 0x0d, 0x07, 0x1d, 0xde, 0x0e, 0x15, // .......,/....... + 0x01, 0x1c, 0x31, 0x29, 0x8d, 0x0a, 0x0f, 0x0e, 0x0b, 0x7e, 0x27, 0x07, 0x08, 0x0f, 0x48, 0x12, // ..1).....~'...H. + 0x1b, 0x0e, 0xb7, 0x0d, 0x10, 0x10, 0x0b, 0xba, 0x0e, 0x19, 0x28, 0x43, 0x0a, 0x09, 0x1a, 0x91, // ..........(C.... + 0x16, 0x0d, 0x0d, 0x8a, 0x2c, 0x2f, 0x10, 0x0d, 0x07, 0x1d, 0xde, 0x0e, 0x15, 0x01, 0x1c, 0x31, // ....,/.........1 + 0x29, 0x8e, 0x09, 0x0f, 0x0d, 0x0c, 0x81, 0x24, 0x07, 0x08, 0x0f, 0x48, 0x12, 0x1a, 0x0f, 0xb7, // )......$...H.... + 0x0d, 0x10, 0x02, 0x16, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x01, 0x6d, 0xde, 0x0c, 0x16, 0x02, 0x1c, // ..........m..... + 0x36, 0x25, 0x32, 0x58, 0x0c, 0x1a, 0x0a, 0x25, 0x8e, 0x09, 0x6c, 0x17, 0x0f, 0x88, 0x32, 0x1c, // 6%2X...%..l...2. + 0x11, 0x0d, 0xb8, 0x10, 0x15, 0x6b, 0x09, 0x0b, 0x72, 0x36, 0x0a, 0x0d, 0x0c, 0x0b, 0x15, 0x5b, // .....k..r6.....[ + 0x19, 0x32, 0x31, 0x1b, 0x02, 0x15, 0x0d, 0xde, 0x0c, 0x16, 0x02, 0x1c, 0x2e, 0x2e, 0x39, 0x51, // .21...........9Q + 0x0c, 0x0c, 0x0a, 0x0d, 0x24, 0x8f, 0x0a, 0x6b, 0x17, 0x0f, 0x88, 0x32, 0x1c, 0x11, 0x0d, 0xb8, // ....$..k...2.... + 0x10, 0x15, 0x6b, 0x09, 0x0a, 0x77, 0x33, 0x08, 0x0e, 0x0c, 0x0b, 0x15, 0x5b, 0x19, 0x32, 0x30, // ..k..w3.....[.20 + 0x1c, 0x02, 0x15, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x43, 0x00, 0x67, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, // .../.;.C.g...... + 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, // +."&5.46;.2..... + 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, // +."&5.46;.2..... + 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x13, 0x11, 0x21, 0x11, // +."&5.46;.2...!. + 0x14, 0x1e, 0x01, 0x33, 0x21, 0x32, 0x3e, 0x01, 0x01, 0x21, 0x27, 0x26, 0x27, 0x21, 0x06, 0x07, // ...3!2>..!'&'!.. + 0x05, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, // ....+....#!"&5.# + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x37, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x1f, // "&=.463!7>.3!2.. + 0x01, 0x21, 0x32, 0x16, 0x02, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // .!2.....@....@.. + 0x01, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, // ....@....@...... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x80, 0xfc, 0x80, 0x0e, 0x0f, 0x03, 0x03, 0x40, // @....@.........@ + 0x03, 0x0f, 0x0e, 0xfd, 0x60, 0x01, 0xc0, 0x30, 0x07, 0x0a, 0xfe, 0xc3, 0x0a, 0x07, 0x03, 0x6f, // ....`..0.......o + 0x12, 0x0e, 0x60, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x35, // ..`^B..B^`.....5 + 0x46, 0x0f, 0x4e, 0x28, 0x01, 0x40, 0x28, 0x4e, 0x0f, 0x46, 0x01, 0x35, 0x0e, 0x12, 0x03, 0x20, // F.N(.@(N.F.5... + 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, // .......@........ 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, // ...@...........@ - 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0xfd, // ...........@.... - 0x1e, 0x03, 0xb4, 0xfc, 0x4c, 0x16, 0x25, 0x11, 0x11, 0x25, 0x04, 0x4a, 0x75, 0x09, 0x02, 0x02, // ....L.%..%.Ju... - 0x09, 0x95, 0x40, 0x0e, 0x12, 0xfc, 0x4c, 0x53, 0x79, 0x75, 0x53, 0x03, 0xb8, 0x12, 0x0e, 0x40, // ..@...LSyuS....@ - 0x0e, 0x12, 0xa7, 0x25, 0x34, 0x34, 0x25, 0xa7, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1a, // ...%44%......... - 0x00, 0x00, 0x06, 0x66, 0x05, 0x03, 0x00, 0x13, 0x00, 0x35, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, // ...f.....5...... - 0x23, 0x21, 0x11, 0x21, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x35, 0x09, 0x01, 0x16, // #!.!.!"&5.465... - 0x37, 0x07, 0x06, 0x07, 0x23, 0x22, 0x27, 0x09, 0x01, 0x06, 0x27, 0x26, 0x2f, 0x01, 0x26, 0x36, // 7...#"'...'&/.&6 - 0x37, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x17, // 7.62..546;.2.... - 0x1e, 0x01, 0x05, 0x80, 0x26, 0x1a, 0xfe, 0x80, 0xff, 0x00, 0xfe, 0x80, 0x1a, 0x26, 0x01, 0x02, // ....&........&.. - 0x3f, 0x02, 0x3f, 0x01, 0xdf, 0x3e, 0x08, 0x0d, 0x03, 0x0d, 0x08, 0xfd, 0x4c, 0xfd, 0x4c, 0x0c, // ?.?..>......L.L. - 0x0c, 0x0d, 0x08, 0x3e, 0x08, 0x02, 0x0a, 0x02, 0xcf, 0x20, 0x58, 0x20, 0xf4, 0x12, 0x0e, 0xc0, // ...>..... X .... - 0x0e, 0x12, 0xdb, 0x0a, 0x02, 0x02, 0x20, 0xfe, 0x20, 0x1a, 0x26, 0x01, 0x80, 0xfe, 0x80, 0x26, // ...... . .&....& - 0x1a, 0x01, 0xe0, 0x01, 0x04, 0x01, 0x01, 0xda, 0xfe, 0x26, 0x02, 0x41, 0x4a, 0x09, 0x02, 0x07, // .........&.AJ... - 0x02, 0x41, 0xfd, 0xbf, 0x08, 0x01, 0x02, 0x09, 0x4a, 0x0a, 0x1b, 0x08, 0x02, 0x57, 0x1a, 0x1a, // .A......J....W.. - 0xcc, 0xc3, 0x0e, 0x12, 0x12, 0x0e, 0xfe, 0x68, 0xb6, 0x08, 0x1b, 0x00, 0x00, 0x03, 0x00, 0x00, // .......h........ - 0xff, 0x80, 0x05, 0x00, 0x05, 0x80, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x23, 0x00, 0x00, 0x33, 0x21, // ...........#..3! - 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x01, 0x21, 0x26, 0x27, 0x01, 0x26, 0x27, 0x01, 0x11, // .!"&5.!.!&'.&'.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, // ..#!"&5.463!2... - 0x1e, 0x01, 0x80, 0x04, 0x00, 0xfe, 0x60, 0x28, 0x38, 0xfe, 0x00, 0x02, 0x80, 0x01, 0x78, 0x0a, // ......`(8.....x. - 0x0c, 0xfe, 0xc7, 0x0c, 0x1d, 0x02, 0x00, 0x38, 0x28, 0xfb, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, // .......8(..(88(. - 0x80, 0x28, 0x60, 0x1c, 0x01, 0x38, 0x1c, 0x28, 0x03, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfe, 0x80, // .(`..8.(..8(.... - 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0x0a, 0xfe, 0x68, 0xfc, 0x80, 0x28, 0x38, 0x38, 0x28, 0x05, 0x40, // ...9...h..(88(.@ - 0x28, 0x38, 0x28, 0x1c, 0xfe, 0xc8, 0x1c, 0x60, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // (8(....`........ - 0x05, 0x80, 0x00, 0x14, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // ..... .,......#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x00, // "&=.46;..46;.2.. - 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, // ... ..... 6.... - 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x80, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, // $...$ .......... - 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0xa0, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, // ....@........... - 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ..(..r....^..... - 0x61, 0x01, 0xa2, 0x01, 0x61, 0x03, 0xe0, 0xfe, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // a...a...@....@.. - 0x01, 0x60, 0x0e, 0x12, 0x12, 0xfd, 0xfe, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, // .`......(....... - 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // ..._.^.....a...a - 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x07, 0x4e, 0x05, 0x00, 0x00, 0x11, // .......2...N.... - 0x00, 0x43, 0x00, 0x00, 0x01, 0x35, 0x03, 0x2e, 0x01, 0x2b, 0x01, 0x22, 0x06, 0x07, 0x03, 0x15, // .C...5...+.".... - 0x06, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x14, 0x23, 0x21, 0x32, 0x36, 0x27, 0x03, 0x2e, 0x01, // ..;.26..#!26'... - 0x23, 0x21, 0x22, 0x06, 0x07, 0x03, 0x06, 0x16, 0x33, 0x21, 0x22, 0x35, 0x34, 0x37, 0x01, 0x3e, // #!".....3!"547.> - 0x01, 0x33, 0x21, 0x22, 0x06, 0x0f, 0x01, 0x06, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x2f, 0x01, 0x2e, // .3!".....;.26/.. - 0x01, 0x23, 0x21, 0x32, 0x16, 0x17, 0x01, 0x16, 0x04, 0x57, 0x18, 0x01, 0x14, 0x0d, 0xba, 0x0d, // .#!2.....W...... - 0x14, 0x01, 0x18, 0x01, 0x12, 0x0c, 0xf4, 0x0c, 0x12, 0x02, 0xf6, 0x2e, 0xfd, 0x40, 0x0d, 0x12, // .............@.. - 0x01, 0x14, 0x01, 0x14, 0x0d, 0xfe, 0xf0, 0x0d, 0x14, 0x01, 0x14, 0x01, 0x12, 0x0d, 0xfd, 0x40, // ...............@ - 0x2e, 0x1a, 0x01, 0xa1, 0x08, 0x24, 0x14, 0x01, 0x53, 0x0d, 0x14, 0x01, 0x0f, 0x01, 0x12, 0x0d, // .....$..S....... - 0xa6, 0x0d, 0x12, 0x01, 0x0f, 0x01, 0x14, 0x0d, 0x01, 0x53, 0x14, 0x24, 0x08, 0x01, 0xa1, 0x1a, // .........S.$.... - 0x02, 0x1c, 0x04, 0x01, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, 0x04, 0x0c, 0x10, 0x10, 0xfe, // ....@........... - 0x39, 0x49, 0x13, 0x0d, 0x01, 0x00, 0x0d, 0x13, 0x13, 0x0d, 0xff, 0x00, 0x0d, 0x13, 0x49, 0x36, // 9I............I6 - 0x3e, 0x04, 0x14, 0x13, 0x1c, 0x13, 0x0d, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0d, 0x13, 0x1c, // >............... - 0x13, 0xfb, 0xec, 0x3e, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x07, // ...>............ - 0x00, 0x0f, 0x00, 0x25, 0x00, 0x3d, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // ...%.=..$4&"...2 - 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // $4&"...2....#!"& - 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x17, 0x16, 0x32, 0x3f, 0x01, 0x21, 0x32, 0x16, 0x01, 0x16, // 5.463!..2?.!2... - 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x33, 0x21, 0x11, 0x34, 0x36, 0x33, 0x21, // ..."'.&763!.463! - 0x32, 0x16, 0x15, 0x11, 0x21, 0x32, 0x05, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, 0x26, 0x26, // 2...!2..&4&&4.&& - 0x34, 0x26, 0x26, 0x34, 0xa6, 0x38, 0x28, 0xfa, 0x40, 0x28, 0x38, 0x38, 0x28, 0x01, 0xd1, 0x87, // 4&&4.8(.@(88(... - 0x3a, 0x9c, 0x3a, 0x88, 0x01, 0xd0, 0x28, 0x38, 0xfe, 0xbb, 0x11, 0x1f, 0xfe, 0x40, 0x12, 0x36, // :.:...(8.....@.6 - 0x12, 0xfe, 0x40, 0x1f, 0x11, 0x11, 0x2a, 0x01, 0x00, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x01, // ..@...*..&....&. - 0x00, 0x2a, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x20, // .*.4&&4&&4&&4&. - 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x88, 0x38, 0x38, 0x88, 0x38, 0x02, // ..(88(.@(8.88.8. - 0x11, 0x29, 0x1d, 0xfe, 0x40, 0x13, 0x13, 0x01, 0xc0, 0x1d, 0x29, 0x27, 0x01, 0xc0, 0x1a, 0x26, // .)..@.....)'...& - 0x26, 0x1a, 0xfe, 0x40, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x18, // &..@............ - 0x00, 0x24, 0x00, 0x30, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x37, // .$.0......."'.&7 - 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x02, // 6;..46;.2...32.. + 0x0e, 0x12, 0x12, 0xfd, 0x1e, 0x03, 0xb4, 0xfc, 0x4c, 0x16, 0x25, 0x11, 0x11, 0x25, 0x04, 0x4a, // ........L.%..%.J + 0x75, 0x09, 0x02, 0x02, 0x09, 0x95, 0x40, 0x0e, 0x12, 0xfc, 0x4c, 0x53, 0x79, 0x75, 0x53, 0x03, // u.....@...LSyuS. + 0xb8, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xa7, 0x25, 0x34, 0x34, 0x25, 0xa7, 0x12, 0x00, 0x00, 0x00, // ...@...%44%..... + 0x00, 0x02, 0x00, 0x1a, 0x00, 0x00, 0x06, 0x66, 0x05, 0x03, 0x00, 0x13, 0x00, 0x35, 0x00, 0x00, // .......f.....5.. + 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x21, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ....#!.!.!"&5.46 + 0x35, 0x09, 0x01, 0x16, 0x37, 0x07, 0x06, 0x07, 0x23, 0x22, 0x27, 0x09, 0x01, 0x06, 0x27, 0x26, // 5...7...#"'...'& + 0x2f, 0x01, 0x26, 0x36, 0x37, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, // /.&67.62..546;.2 + 0x16, 0x15, 0x11, 0x17, 0x1e, 0x01, 0x05, 0x80, 0x26, 0x1a, 0xfe, 0x80, 0xff, 0x00, 0xfe, 0x80, // ........&....... + 0x1a, 0x26, 0x01, 0x02, 0x3f, 0x02, 0x3f, 0x01, 0xdf, 0x3e, 0x08, 0x0d, 0x03, 0x0d, 0x08, 0xfd, // .&..?.?..>...... + 0x4c, 0xfd, 0x4c, 0x0c, 0x0c, 0x0d, 0x08, 0x3e, 0x08, 0x02, 0x0a, 0x02, 0xcf, 0x20, 0x58, 0x20, // L.L....>..... X + 0xf4, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xdb, 0x0a, 0x02, 0x02, 0x20, 0xfe, 0x20, 0x1a, 0x26, 0x01, // .......... . .&. + 0x80, 0xfe, 0x80, 0x26, 0x1a, 0x01, 0xe0, 0x01, 0x04, 0x01, 0x01, 0xda, 0xfe, 0x26, 0x02, 0x41, // ...&.........&.A + 0x4a, 0x09, 0x02, 0x07, 0x02, 0x41, 0xfd, 0xbf, 0x08, 0x01, 0x02, 0x09, 0x4a, 0x0a, 0x1b, 0x08, // J....A......J... + 0x02, 0x57, 0x1a, 0x1a, 0xcc, 0xc3, 0x0e, 0x12, 0x12, 0x0e, 0xfe, 0x68, 0xb6, 0x08, 0x1b, 0x00, // .W.........h.... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, // ...............# + 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // .........#!"&5.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, // 63!2....!&'.&..! + 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, // "&5.!....(8(..(8 + 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, // 8(..(`...x...... + 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, // c.`(8.....`(..(8 + 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, // 8(.@(8(.D.....9. + 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ....8(.......... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x11, // ......... .,.... + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, // ..#!"&=.46;..46; + 0x01, 0x32, 0x16, 0x00, 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, // .2..... ..... 6. + 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x80, 0x12, 0x0e, 0xfe, // ... $...$ ...... + 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0xa0, 0x92, 0xfa, 0xfe, // ........@....... + 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, // ......(..r....^. + 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x03, 0xe0, 0xfe, 0x40, 0x0e, 0x12, 0x12, // ....a...a...@... + 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x60, 0x0e, 0x12, 0x12, 0xfd, 0xfe, 0x01, 0x28, 0xfa, 0x92, 0x92, // .@...`......(... + 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // ......._.^.....a + 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x32, 0x00, 0x00, 0x07, 0x4e, // ...a.......2...N + 0x05, 0x00, 0x00, 0x11, 0x00, 0x43, 0x00, 0x00, 0x01, 0x35, 0x03, 0x2e, 0x01, 0x2b, 0x01, 0x22, // .....C...5...+." + 0x06, 0x07, 0x03, 0x15, 0x06, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x14, 0x23, 0x21, 0x32, 0x36, // ......;.26..#!26 + 0x27, 0x03, 0x2e, 0x01, 0x23, 0x21, 0x22, 0x06, 0x07, 0x03, 0x06, 0x16, 0x33, 0x21, 0x22, 0x35, // '...#!".....3!"5 + 0x34, 0x37, 0x01, 0x3e, 0x01, 0x33, 0x21, 0x22, 0x06, 0x0f, 0x01, 0x06, 0x16, 0x3b, 0x01, 0x32, // 47.>.3!".....;.2 + 0x36, 0x2f, 0x01, 0x2e, 0x01, 0x23, 0x21, 0x32, 0x16, 0x17, 0x01, 0x16, 0x04, 0x57, 0x18, 0x01, // 6/...#!2.....W.. + 0x14, 0x0d, 0xba, 0x0d, 0x14, 0x01, 0x18, 0x01, 0x12, 0x0c, 0xf4, 0x0c, 0x12, 0x02, 0xf6, 0x2e, // ................ + 0xfd, 0x40, 0x0d, 0x12, 0x01, 0x14, 0x01, 0x14, 0x0d, 0xfe, 0xf0, 0x0d, 0x14, 0x01, 0x14, 0x01, // .@.............. + 0x12, 0x0d, 0xfd, 0x40, 0x2e, 0x1a, 0x01, 0xa1, 0x08, 0x24, 0x14, 0x01, 0x53, 0x0d, 0x14, 0x01, // ...@.....$..S... + 0x0f, 0x01, 0x12, 0x0d, 0xa6, 0x0d, 0x12, 0x01, 0x0f, 0x01, 0x14, 0x0d, 0x01, 0x53, 0x14, 0x24, // .............S.$ + 0x08, 0x01, 0xa1, 0x1a, 0x02, 0x1c, 0x04, 0x01, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, 0x04, // ........@....... + 0x0c, 0x10, 0x10, 0xfe, 0x39, 0x49, 0x13, 0x0d, 0x01, 0x00, 0x0d, 0x13, 0x13, 0x0d, 0xff, 0x00, // ....9I.......... + 0x0d, 0x13, 0x49, 0x36, 0x3e, 0x04, 0x14, 0x13, 0x1c, 0x13, 0x0d, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // ..I6>........... + 0xc0, 0x0d, 0x13, 0x1c, 0x13, 0xfb, 0xec, 0x3e, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, // .......>........ + 0x06, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x25, 0x00, 0x3d, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, // .......%.=..$4&" + 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, // ...2$4&"...2.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x17, 0x16, 0x32, 0x3f, 0x01, 0x21, // #!"&5.463!..2?.! + 0x32, 0x16, 0x01, 0x16, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x33, 0x21, 0x11, // 2......"'.&763!. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x21, 0x32, 0x05, 0x00, 0x26, 0x34, 0x26, 0x26, // 463!2...!2..&4&& + 0x34, 0x01, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0x38, 0x28, 0xfa, 0x40, 0x28, 0x38, 0x38, // 4.&&4&&4.8(.@(88 + 0x28, 0x01, 0xd1, 0x87, 0x3a, 0x9c, 0x3a, 0x88, 0x01, 0xd0, 0x28, 0x38, 0xfe, 0xbb, 0x11, 0x1f, // (...:.:...(8.... + 0xfe, 0x40, 0x12, 0x36, 0x12, 0xfe, 0x40, 0x1f, 0x11, 0x11, 0x2a, 0x01, 0x00, 0x26, 0x1a, 0x01, // .@.6..@...*..&.. + 0x00, 0x1a, 0x26, 0x01, 0x00, 0x2a, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, // ..&..*.4&&4&&4&& + 0x34, 0x26, 0x01, 0x20, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x88, 0x38, // 4&. ..(88(.@(8.8 + 0x38, 0x88, 0x38, 0x02, 0x11, 0x29, 0x1d, 0xfe, 0x40, 0x13, 0x13, 0x01, 0xc0, 0x1d, 0x29, 0x27, // 8.8..)..@.....)' + 0x01, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x40, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ...&&..@........ + 0x05, 0x80, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x22, // .....$.0......." + 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, // '.&76;..46;.2... + 0x33, 0x32, 0x16, 0x02, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x3e, 0x01, 0x10, 0x26, 0x04, // 32.. ..... >..&. + 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x60, 0x0a, 0xfe, 0xc1, // ... $...$ ..`... + 0x0b, 0x18, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, // ................ + 0x0e, 0x12, 0xcc, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, // ..........(....r + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, // ....^.....a...a. + 0x60, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x01, 0x60, 0x0e, 0x12, // `.......@....`.. + 0x12, 0x0e, 0xfe, 0xa0, 0x12, 0x02, 0x32, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, // ......2......... + 0x28, 0xfa, 0xbd, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, // (...^.....a...a. + 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x18, // ................ + 0x00, 0x24, 0x00, 0x30, 0x00, 0x00, 0x01, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, // .$.0....+....+." + 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x02, // &5.#"&547.62.... 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x3e, 0x01, 0x10, 0x26, 0x04, 0x10, 0x02, 0x04, 0x20, // ..... >..&.... - 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x60, 0x0a, 0xfe, 0xc1, 0x0b, 0x18, 0x0b, 0xfe, // $...$ ..`....... - 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0xcc, 0xfe, // ................ - 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, // ......(....r.... - 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x60, 0x0c, 0x0c, 0xfe, // ^.....a...a.`... - 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x01, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfe, 0xa0, // ....@....`...... - 0x12, 0x02, 0x32, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0xbd, 0xfe, // ..2.........(... - 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... - 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x18, 0x00, 0x24, 0x00, 0x30, // .............$.0 - 0x00, 0x00, 0x01, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x23, // ....+....+."&5.# - 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x02, 0x20, 0x0e, 0x01, 0x10, // "&547.62.... ... - 0x1e, 0x01, 0x20, 0x3e, 0x01, 0x10, 0x26, 0x04, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, // .. >..&.... $... - 0x24, 0x20, 0x04, 0x04, 0x5e, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, // $ ..^........... - 0x0a, 0x01, 0x3f, 0x0b, 0x18, 0x0b, 0x01, 0x40, 0x0f, 0xd2, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, // ..?....@........ - 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // .(....r....^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x94, 0x14, 0xfe, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0x01, // .a...a.......... - 0x60, 0x12, 0x0e, 0x0c, 0x0c, 0x01, 0x3f, 0x09, 0x09, 0xfe, 0xc0, 0x10, 0x01, 0xf9, 0x92, 0xfa, // `.....?......... - 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0xbd, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // .......(...^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, // .a...a.......... - 0x05, 0x00, 0x00, 0x0d, 0x00, 0x23, 0x00, 0x00, 0x01, 0x21, 0x2e, 0x01, 0x27, 0x03, 0x21, 0x03, // .....#...!..'.!. - 0x0e, 0x01, 0x07, 0x21, 0x17, 0x21, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ...!.!%...#!"&5. - 0x34, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, 0x13, 0x16, 0x03, 0xff, 0x01, 0x3c, // 47.>.3!2.......< - 0x01, 0x03, 0x01, 0xd4, 0xfd, 0x3c, 0xd4, 0x01, 0x03, 0x01, 0x01, 0x3c, 0x5f, 0x01, 0x40, 0x02, // .....<.....<_.@. - 0x60, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x19, 0xee, 0x0a, 0x35, 0x1a, 0x03, 0x40, 0x1a, 0x35, // `&....&...5..@.5 - 0x0a, 0xee, 0x19, 0x02, 0x40, 0x03, 0x0a, 0x03, 0x01, 0xf0, 0xfe, 0x10, 0x02, 0x0c, 0x02, 0xc0, // ....@........... - 0xa2, 0xfe, 0x1e, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xe2, 0x3e, 0x3d, 0x02, 0x28, 0x19, 0x22, 0x22, // ....&&...>=.(."" - 0x19, 0xfd, 0xd8, 0x3d, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // ...=............ - 0x00, 0x1b, 0x00, 0x27, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, // ...'.......#"'&5 - 0x11, 0x34, 0x37, 0x36, 0x17, 0x01, 0x16, 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, // .476...... ..... - 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0xa0, // 6.... $...$ ... - 0x20, 0xfd, 0xe0, 0x0f, 0x11, 0x10, 0x10, 0x20, 0x20, 0x21, 0x1f, 0x02, 0x20, 0xa0, 0x92, 0xfa, // ...... !.. ... - 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // .......(..r....^ - 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xa5, 0x4a, 0x12, 0xfe, 0xc0, // .....a...a..J... - 0x09, 0x08, 0x13, 0x25, 0x02, 0x80, 0x25, 0x13, 0x12, 0x13, 0xfe, 0xc0, 0xcb, 0x01, 0x28, 0xfa, // ...%..%.......(. - 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // ........._.^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .a...a.......... - 0x05, 0x80, 0x00, 0x33, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x27, 0x26, 0x3f, // ...3......#!"'&? - 0x01, 0x26, 0x23, 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x32, // .&#".....3267672 - 0x1f, 0x01, 0x1e, 0x01, 0x07, 0x06, 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, // .......#"$&...6$ - 0x33, 0x32, 0x04, 0x17, 0x37, 0x36, 0x17, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfe, 0x40, 0x2a, 0x11, // 32..76....&..@*. - 0x11, 0x1f, 0x8a, 0x94, 0xc9, 0x68, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0x68, 0x77, 0xd4, 0x49, // .....h..QQ..hw.I - 0x07, 0x10, 0x0e, 0x0b, 0x89, 0x09, 0x01, 0x08, 0x6d, 0xfe, 0xca, 0xac, 0x9c, 0xfe, 0xe4, 0xce, // ........m....... - 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0x93, 0x01, 0x13, 0x6b, 0x82, 0x1d, 0x29, 0x27, 0x05, 0x00, // zz.......k..)'.. - 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x8a, 0x89, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, // .@.&('...Q.....Q - 0x68, 0x5f, 0x0a, 0x02, 0x09, 0x8a, 0x08, 0x19, 0x0a, 0x84, 0x91, 0x7a, 0xce, 0x01, 0x1c, 0x01, // h_.........z.... - 0x38, 0x01, 0x1c, 0xce, 0x7a, 0x6f, 0x65, 0x81, 0x1f, 0x11, 0x11, 0x00, 0x00, 0x02, 0x00, 0x00, // 8...zoe......... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x24, 0x00, 0x47, 0x00, 0x00, 0x01, 0x14, 0x07, 0x02, // .......$.G...... - 0x00, 0x21, 0x22, 0x24, 0x27, 0x07, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // .!"$'.."&5.463!2 - 0x16, 0x14, 0x0f, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x01, 0x32, // ......3267676;.2 - 0x16, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x3f, 0x01, 0x26, 0x23, 0x22, 0x06, // .....#!"&4?.&#". - 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x12, 0x00, 0x21, 0x32, 0x04, 0x17, // ....+."&=...!2.. - 0x37, 0x36, 0x32, 0x16, 0x05, 0xe7, 0x01, 0x40, 0xfe, 0x68, 0xfe, 0xee, 0x92, 0xfe, 0xef, 0x6b, // 762....@.h.....k - 0x81, 0x13, 0x34, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x13, 0x89, 0x47, 0xb4, 0x61, 0x86, // ..4&&....&..G.a. - 0xe8, 0x46, 0x0b, 0x2a, 0x08, 0x16, 0xc0, 0x0d, 0x13, 0x19, 0x26, 0x1a, 0xfe, 0x40, 0x1a, 0x26, // .F.*......&..@.& - 0x13, 0x8a, 0x94, 0xc9, 0x86, 0xe8, 0x46, 0x0b, 0x2a, 0x08, 0x16, 0xc7, 0x0d, 0x13, 0x41, 0x01, // ......F.*.....A. - 0x9a, 0x01, 0x13, 0x92, 0x01, 0x14, 0x6b, 0x82, 0x13, 0x34, 0x26, 0x01, 0xe0, 0x05, 0x02, 0xfe, // ......k..4&..... - 0xf4, 0xfe, 0xb3, 0x6e, 0x66, 0x81, 0x13, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x26, 0x34, 0x13, // ...nf..&....&&4. - 0x89, 0x42, 0x48, 0x82, 0x72, 0x11, 0x64, 0x17, 0x13, 0x03, 0x13, 0xfe, 0x40, 0x1a, 0x26, 0x26, // .BH.r.d.....@.&& - 0x34, 0x13, 0x8a, 0x89, 0x82, 0x72, 0x11, 0x64, 0x17, 0x13, 0x0d, 0x07, 0x01, 0x0c, 0x01, 0x4d, // 4....r.d.......M - 0x6f, 0x65, 0x81, 0x13, 0x26, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // oe..&........... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o - 0x00, 0x7f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ........+."&=.46 - 0x3b, 0x01, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.5...+."&=.46 - 0x3b, 0x01, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.5...+."&=.46 - 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.....#!"&=.46 - 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.5...#!"&=.46 - 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.5...#!"&=.46 - 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, // 3!2...4&#!"..... - 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!26....#!"&5.46 - 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, // 3!2.....@....@.. - 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, // ..@....@....@... - 0x0d, 0x40, 0x0d, 0x13, 0x04, 0x80, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, // .@.......@...... - 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x13, 0x0d, // .....@.......... - 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x80, 0x13, 0x0d, 0xfa, 0x40, 0x0d, // .@............@. - 0x13, 0x13, 0x0d, 0x05, 0xc0, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x5e, 0x42, // ........^B.@B^^B - 0x05, 0xc0, 0x42, 0x5e, 0x01, 0x60, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, // ..B^.`@....@.... - 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, // @....@....@....@ - 0x0d, 0x13, 0x13, 0xfd, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, 0x40, // .....@....@....@ - 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, // ....@....@....@. - 0x13, 0x13, 0xfd, 0x33, 0x03, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0xc0, 0x0d, 0x13, 0x13, 0x04, // ...3.@.......... - 0x4d, 0xfb, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x00, 0x02, 0x00, 0x00, // M..B^^B.@B^^.... - 0x00, 0x00, 0x04, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x21, 0x35, 0x34, // .............!54 - 0x26, 0x22, 0x06, 0x15, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // &"......#!"&5.46 - 0x3b, 0x01, 0x35, 0x34, 0x00, 0x20, 0x00, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x01, 0x40, 0x02, 0x00, // ;.54. ...32..@.. - 0x96, 0xd4, 0x96, 0x03, 0x40, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, 0x28, 0x20, 0x01, 0x08, // ....@8(.@(88( .. - 0x01, 0x70, 0x01, 0x08, 0x20, 0x28, 0x38, 0x03, 0x00, 0xc0, 0x6a, 0x96, 0x96, 0x6a, 0xfe, 0xe0, // .p.. (8...j..j.. - 0xfd, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0xc0, 0xb8, 0x01, 0x08, 0xfe, 0xf8, // ..(88(.@(8...... - 0xb8, 0xc0, 0x38, 0x00, 0x00, 0x02, 0x00, 0x40, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x11, // ..8....@........ - 0x00, 0x37, 0x00, 0x00, 0x01, 0x14, 0x07, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // .7........+."&5. - 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2e, 0x02, // &5462.......#".. - 0x23, 0x22, 0x05, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, // #"..#"&5.4767632 - 0x16, 0x17, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x01, 0x40, 0x40, 0x13, 0x0d, 0x40, // ...32>.32..@@..@ - 0x0d, 0x13, 0x40, 0x4b, 0x6a, 0x4b, 0x05, 0xc0, 0x19, 0x1b, 0xd7, 0x9a, 0x3d, 0x7d, 0x5c, 0x8b, // ..@KjK......=}.. - 0x49, 0xc0, 0xfe, 0xf0, 0x11, 0x10, 0x1a, 0x26, 0x1f, 0x15, 0x3a, 0xec, 0xb9, 0x6b, 0xba, 0x7e, // I......&..:..k.~ - 0x26, 0x32, 0x36, 0x7f, 0x5d, 0x53, 0x0d, 0x1a, 0x26, 0x05, 0x00, 0x48, 0x26, 0xfb, 0x0e, 0x0d, // &26.]S..&..H&... - 0x13, 0x13, 0x0d, 0x04, 0xf2, 0x26, 0x48, 0x35, 0x4b, 0x4b, 0x75, 0xfd, 0x05, 0x19, 0x1b, 0x0e, // .....&H5KKu..... - 0x74, 0x2c, 0x34, 0x2c, 0x92, 0x09, 0x26, 0x1a, 0x02, 0xe6, 0x20, 0x17, 0x0e, 0x1d, 0x78, 0x3a, // t,4,..&... ...x: - 0x3b, 0x13, 0x2a, 0x34, 0x2a, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, // ;.*4*&.......... - 0x05, 0x80, 0x00, 0x4b, 0x00, 0x00, 0x01, 0x14, 0x0f, 0x02, 0x0e, 0x01, 0x23, 0x15, 0x14, 0x06, // ...K........#... - 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x32, 0x16, // +."&5.46;.2...2. - 0x17, 0x37, 0x36, 0x35, 0x34, 0x02, 0x24, 0x20, 0x04, 0x02, 0x15, 0x14, 0x1f, 0x01, 0x3e, 0x01, // .7654.$ ......>. - 0x33, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // 3546;.2.....+."& - 0x3d, 0x01, 0x22, 0x26, 0x2f, 0x02, 0x26, 0x35, 0x34, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x12, // =."&/.&54.6$ ... - 0x06, 0x80, 0x3c, 0x14, 0xb9, 0x16, 0x89, 0x58, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // ..<....X..@....@ - 0x0e, 0x12, 0x47, 0x76, 0x22, 0x44, 0x1d, 0xb0, 0xfe, 0xd7, 0xfe, 0xb2, 0xfe, 0xd7, 0xb0, 0x1d, // ..Gv"D.......... - 0x44, 0x22, 0x76, 0x47, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x58, 0x89, // D"vG..@....@..X. - 0x16, 0xb9, 0x14, 0x3c, 0x86, 0xe0, 0x01, 0x34, 0x01, 0x4c, 0x01, 0x34, 0xe0, 0x86, 0x02, 0x8a, // ...<...4.L.4.... - 0xa6, 0x94, 0x31, 0x21, 0x53, 0x6b, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, // ..1!Sk .....@... - 0x0e, 0x20, 0x47, 0x3c, 0x0c, 0x5f, 0x62, 0x94, 0x01, 0x06, 0x9c, 0x9c, 0xfe, 0xfa, 0x94, 0x62, // . G<._b........b - 0x5f, 0x0c, 0x3c, 0x47, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x20, // _..4..5 - 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x03, 0x00, 0x26, 0x34, 0x13, 0xfe, 0xb3, 0xfe, 0xfa, 0x1a, // 4632....&4...... - 0x26, 0x26, 0x1a, 0x01, 0x06, 0x01, 0x4d, 0x13, 0x34, 0x26, 0x01, 0x80, 0x55, 0x46, 0x0a, 0x0f, // &&....M.4&..UF.. - 0x1a, 0x26, 0x18, 0x22, 0x22, 0x18, 0x18, 0x22, 0x22, 0x18, 0x26, 0x1a, 0x0f, 0x0a, 0x46, 0x04, // .&."".."".&...F. - 0xa0, 0xfb, 0xc0, 0x1a, 0x26, 0x13, 0x01, 0x4d, 0x26, 0x1a, 0x01, 0x80, 0x1a, 0x26, 0x01, 0x4d, // ....&..M&....&.M - 0x13, 0x26, 0xfe, 0x12, 0x98, 0x83, 0x1c, 0x05, 0x25, 0x1b, 0x15, 0x1d, 0x15, 0x19, 0x2e, 0x44, // .&......%......D - 0x2e, 0x19, 0x15, 0x1d, 0x15, 0x1b, 0x25, 0x05, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ......%......... - 0xff, 0xb9, 0x06, 0x80, 0x05, 0x47, 0x00, 0x13, 0x00, 0x2d, 0x00, 0x49, 0x00, 0x6b, 0x00, 0x00, // .....G...-.I.k.. + 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x5e, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, // $...$ ..^....... + 0x12, 0xc0, 0x0e, 0x12, 0x0a, 0x01, 0x3f, 0x0b, 0x18, 0x0b, 0x01, 0x40, 0x0f, 0xd2, 0xfe, 0xd8, // ......?....@.... + 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // .....(....r....^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x94, 0x14, 0xfe, 0xa0, 0x0e, // .....a...a...... + 0x12, 0x12, 0x0e, 0x01, 0x60, 0x12, 0x0e, 0x0c, 0x0c, 0x01, 0x3f, 0x09, 0x09, 0xfe, 0xc0, 0x10, // ....`.....?..... + 0x01, 0xf9, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0xbd, 0xfe, 0x5e, // ...........(...^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, // .....a...a...... + 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x0d, 0x00, 0x23, 0x00, 0x00, 0x01, 0x21, 0x2e, 0x01, // .........#...!.. + 0x27, 0x03, 0x21, 0x03, 0x0e, 0x01, 0x07, 0x21, 0x17, 0x21, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, // '.!....!.!%...#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, 0x13, 0x16, // "&5.47.>.3!2.... + 0x03, 0xff, 0x01, 0x3c, 0x01, 0x03, 0x01, 0xd4, 0xfd, 0x3c, 0xd4, 0x01, 0x03, 0x01, 0x01, 0x3c, // ...<.....<.....< + 0x5f, 0x01, 0x40, 0x02, 0x60, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x19, 0xee, 0x0a, 0x35, 0x1a, // _.@.`&....&...5. + 0x03, 0x40, 0x1a, 0x35, 0x0a, 0xee, 0x19, 0x02, 0x40, 0x03, 0x0b, 0x02, 0x01, 0xf0, 0xfe, 0x10, // .@.5....@....... + 0x03, 0x0b, 0x02, 0xc0, 0xa2, 0xfe, 0x1e, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xe2, 0x3e, 0x3d, 0x02, // ........&&...>=. + 0x28, 0x19, 0x22, 0x22, 0x19, 0xfd, 0xd8, 0x3d, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // (.""...=........ + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, // .......'.......# + 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, 0x17, 0x01, 0x16, 0x10, 0x2e, 0x01, 0x20, 0x0e, // "'&5.476...... . + 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, // .... 6.... $...$ + 0x20, 0x04, 0x04, 0xa0, 0x20, 0xfd, 0xe0, 0x0f, 0x11, 0x10, 0x10, 0x20, 0x20, 0x21, 0x1f, 0x02, // ... ...... !.. + 0x20, 0xa0, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, // ..........(..r. + 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xa5, // ...^.....a...a.. + 0x4a, 0x12, 0xfe, 0xc0, 0x09, 0x08, 0x13, 0x25, 0x02, 0x80, 0x25, 0x13, 0x12, 0x13, 0xfe, 0xc0, // J......%..%..... + 0xcb, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, // ..(.........._.^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x01, 0x00, 0x00, // .....a...a...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x33, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // .......3......#! + 0x22, 0x27, 0x26, 0x3f, 0x01, 0x26, 0x23, 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x36, // "'&?.&#".....326 + 0x37, 0x36, 0x37, 0x32, 0x1f, 0x01, 0x1e, 0x01, 0x07, 0x06, 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, // 7672.......#"$&. + 0x10, 0x12, 0x36, 0x24, 0x33, 0x32, 0x04, 0x17, 0x37, 0x36, 0x17, 0x16, 0x06, 0x00, 0x26, 0x1a, // ..6$32..76....&. + 0xfe, 0x40, 0x2a, 0x11, 0x11, 0x1f, 0x8a, 0x94, 0xc9, 0x68, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, // .@*......h..QQ.. + 0x68, 0x77, 0xd4, 0x49, 0x07, 0x10, 0x0f, 0x0a, 0x89, 0x09, 0x01, 0x08, 0x6d, 0xfe, 0xca, 0xac, // hw.I........m... + 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0x93, 0x01, 0x13, 0x6b, 0x82, 0x1d, // ....zz.......k.. + 0x29, 0x27, 0x05, 0x00, 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x8a, 0x89, 0x51, 0x8a, 0xbd, // )'...@.&('...Q.. + 0xd0, 0xbd, 0x8a, 0x51, 0x68, 0x5f, 0x0a, 0x02, 0x09, 0x8a, 0x08, 0x19, 0x0a, 0x84, 0x91, 0x7a, // ...Qh_.........z + 0xce, 0x01, 0x1c, 0x01, 0x38, 0x01, 0x1c, 0xce, 0x7a, 0x6f, 0x65, 0x81, 0x1f, 0x11, 0x11, 0x00, // ....8...zoe..... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x24, 0x00, 0x47, 0x00, 0x00, // ...........$.G.. + 0x01, 0x14, 0x07, 0x02, 0x00, 0x21, 0x22, 0x24, 0x27, 0x07, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, // .....!"$'.."&5.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x14, 0x0f, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x36, 0x37, // 63!2......326767 + 0x36, 0x3b, 0x01, 0x32, 0x16, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x3f, 0x01, // 6;.2.....#!"&4?. + 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x12, 0x00, // &#".....+."&=... + 0x21, 0x32, 0x04, 0x17, 0x37, 0x36, 0x32, 0x16, 0x05, 0xe7, 0x01, 0x40, 0xfe, 0x68, 0xfe, 0xee, // !2..762....@.h.. + 0x92, 0xfe, 0xef, 0x6b, 0x81, 0x13, 0x34, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x13, 0x89, // ...k..4&&....&.. + 0x47, 0xb4, 0x61, 0x86, 0xe8, 0x46, 0x0b, 0x2a, 0x08, 0x16, 0xc0, 0x0d, 0x13, 0x19, 0x26, 0x1a, // G.a..F.*......&. + 0xfe, 0x40, 0x1a, 0x26, 0x13, 0x8a, 0x94, 0xc9, 0x86, 0xe8, 0x46, 0x0b, 0x2a, 0x08, 0x16, 0xc7, // .@.&......F.*... + 0x0d, 0x13, 0x41, 0x01, 0x9a, 0x01, 0x13, 0x92, 0x01, 0x14, 0x6b, 0x82, 0x13, 0x34, 0x26, 0x01, // ..A.......k..4&. + 0xe0, 0x05, 0x02, 0xfe, 0xf4, 0xfe, 0xb3, 0x6e, 0x66, 0x81, 0x13, 0x26, 0x1a, 0x01, 0xc0, 0x1a, // .......nf..&.... + 0x26, 0x26, 0x34, 0x13, 0x89, 0x42, 0x48, 0x82, 0x72, 0x11, 0x64, 0x17, 0x13, 0x03, 0x13, 0xfe, // &&4..BH.r.d..... + 0x40, 0x1a, 0x26, 0x26, 0x34, 0x13, 0x8a, 0x89, 0x82, 0x72, 0x11, 0x64, 0x17, 0x13, 0x0d, 0x07, // @.&&4....r.d.... + 0x01, 0x0c, 0x01, 0x4d, 0x6f, 0x65, 0x81, 0x13, 0x26, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, // ...Moe..&....... + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O + 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // ._.o........+."& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.46;.2.5...+."& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.46;.2.5...+."& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.46;.2.....#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.5...#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.5...#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, // =.463!2...4&#!". + 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ....3!26....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, // 5.463!2.....@... + 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, // .@....@....@.... + 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x04, 0x80, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, // @....@.......@.. + 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, // .........@...... + 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x80, 0x13, // .....@.......... + 0x0d, 0xfa, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x05, 0xc0, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0xfa, 0x40, // ..@.........^B.@ + 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0x01, 0x60, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, // B^^B..B^.`@....@ + 0x0d, 0x13, 0x13, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, 0x40, 0x0d, // ....@....@....@. + 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xfd, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, // ...@.....@....@. + 0x13, 0x13, 0xf3, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xf3, 0x40, 0x0d, 0x13, // ...@....@....@.. + 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0xfd, 0x33, 0x03, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0xc0, // ..@....3.@...... + 0x0d, 0x13, 0x13, 0x04, 0x4d, 0xfb, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, // ....M..B^^B.@B^^ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x00, // ................ + 0x01, 0x21, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // .!54&"......#!"& + 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x00, 0x20, 0x00, 0x1d, 0x01, 0x33, 0x32, 0x16, // 5.46;.54. ...32. + 0x01, 0x40, 0x02, 0x00, 0x96, 0xd4, 0x96, 0x03, 0x40, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, // .@......@8(.@(88 + 0x28, 0x20, 0x01, 0x08, 0x01, 0x70, 0x01, 0x08, 0x20, 0x28, 0x38, 0x03, 0x00, 0xc0, 0x6a, 0x96, // ( ...p.. (8...j. + 0x96, 0x6a, 0xfe, 0xe0, 0xfd, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0xc0, 0xb8, // .j....(88(.@(8.. + 0x01, 0x08, 0xfe, 0xf8, 0xb8, 0xc0, 0x38, 0x00, 0x00, 0x02, 0x00, 0x40, 0xff, 0x80, 0x07, 0x00, // ......8....@.... + 0x05, 0x80, 0x00, 0x11, 0x00, 0x37, 0x00, 0x00, 0x01, 0x14, 0x07, 0x11, 0x14, 0x06, 0x2b, 0x01, // .....7........+. + 0x22, 0x26, 0x35, 0x11, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x07, 0x06, // "&5.&5462....... + 0x23, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x05, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, // #"..#"..#"&5.476 + 0x37, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x01, 0x40, // 7632...32>.32..@ + 0x40, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x40, 0x4b, 0x6a, 0x4b, 0x05, 0xc0, 0x19, 0x1b, 0xd7, 0x9a, // @..@..@KjK...... + 0x3d, 0x7d, 0x5c, 0x8b, 0x49, 0xc0, 0xfe, 0xf0, 0x11, 0x10, 0x1a, 0x26, 0x1f, 0x15, 0x3a, 0xec, // =}..I......&..:. + 0xb9, 0x6b, 0xba, 0x7e, 0x26, 0x32, 0x36, 0x7f, 0x5d, 0x53, 0x0d, 0x1a, 0x26, 0x05, 0x00, 0x48, // .k.~&26.]S..&..H + 0x26, 0xfb, 0x0e, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xf2, 0x26, 0x48, 0x35, 0x4b, 0x4b, 0x75, 0xfd, // &........&H5KKu. + 0x05, 0x19, 0x1b, 0x0e, 0x74, 0x2c, 0x34, 0x2c, 0x92, 0x09, 0x26, 0x1a, 0x02, 0xe6, 0x20, 0x17, // ....t,4,..&... . + 0x0e, 0x1d, 0x78, 0x3a, 0x3b, 0x13, 0x2a, 0x34, 0x2a, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ..x:;.*4*&...... + 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x4b, 0x00, 0x00, 0x01, 0x14, 0x0f, 0x02, 0x0e, 0x01, // .......K........ + 0x23, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // #...+."&5.46;.2. + 0x1d, 0x01, 0x32, 0x16, 0x17, 0x37, 0x36, 0x35, 0x34, 0x02, 0x24, 0x20, 0x04, 0x02, 0x15, 0x14, // ..2..7654.$ .... + 0x1f, 0x01, 0x3e, 0x01, 0x33, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, // ..>.3546;.2..... + 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x22, 0x26, 0x2f, 0x02, 0x26, 0x35, 0x34, 0x12, 0x36, 0x24, // +."&=."&/.&54.6$ + 0x20, 0x04, 0x16, 0x12, 0x06, 0x80, 0x3c, 0x14, 0xb9, 0x16, 0x89, 0x58, 0x12, 0x0e, 0x40, 0x0e, // .....<....X..@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x47, 0x76, 0x22, 0x44, 0x1d, 0xb0, 0xfe, 0xd7, 0xfe, 0xb2, // ...@..Gv"D...... + 0xfe, 0xd7, 0xb0, 0x1d, 0x44, 0x22, 0x76, 0x47, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // ....D"vG..@....@ + 0x0e, 0x12, 0x58, 0x89, 0x16, 0xb9, 0x14, 0x3c, 0x86, 0xe0, 0x01, 0x34, 0x01, 0x4c, 0x01, 0x34, // ..X....<...4.L.4 + 0xe0, 0x86, 0x02, 0x8a, 0xa6, 0x94, 0x31, 0x21, 0x53, 0x6b, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x02, // ......1!Sk ..... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x20, 0x47, 0x3c, 0x0c, 0x5f, 0x62, 0x94, 0x01, 0x06, 0x9c, 0x9c, // @.... G<._b..... + 0xfe, 0xfa, 0x94, 0x62, 0x5f, 0x0c, 0x3c, 0x47, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, // ...b_.. - 0x34, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x04, 0x10, 0x02, 0x07, 0x06, 0x23, // 4..54632.......# - 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, // "&54767>.4&'&'&5 - 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x04, 0x10, 0x02, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, // 4632.......#"&54 - 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x12, 0x10, 0x02, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x27, // 7>.7676...'&'..' - 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x03, 0x00, 0x26, 0x34, 0x13, 0xfe, 0xb3, 0xfe, // &54632....&4.... - 0xfa, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x06, 0x01, 0x4d, 0x13, 0x34, 0x26, 0x01, 0x80, 0x55, 0x46, // ..&&....M.4&..UF - 0x0a, 0x0f, 0x1a, 0x26, 0x18, 0x22, 0x22, 0x18, 0x18, 0x22, 0x22, 0x18, 0x26, 0x1a, 0x0f, 0x0a, // ...&."".."".&... - 0x46, 0x01, 0x55, 0xaa, 0x8c, 0x0d, 0x0c, 0x1b, 0x26, 0x27, 0x38, 0x14, 0x4a, 0x53, 0x53, 0x4a, // F.U.....&'8.JSSJ - 0x14, 0x38, 0x27, 0x26, 0x1a, 0x0d, 0x0d, 0x8c, 0x01, 0xaa, 0xfe, 0xd3, 0x0d, 0x0d, 0x1a, 0x26, // .8'&...........& - 0x27, 0x07, 0x1f, 0x07, 0x2e, 0x24, 0x7b, 0x8a, 0x8a, 0x7b, 0x24, 0x2e, 0x07, 0x1f, 0x07, 0x27, // '....${..{$....' - 0x26, 0x1a, 0x0d, 0x0d, 0xd3, 0x04, 0xa0, 0xfb, 0xc0, 0x1a, 0x26, 0x13, 0x01, 0x4d, 0x26, 0x1a, // &.........&..M&. - 0x01, 0x80, 0x1a, 0x26, 0x01, 0x4d, 0x13, 0x26, 0xfe, 0x12, 0x98, 0x83, 0x1c, 0x05, 0x25, 0x1b, // ...&.M.&......%. - 0x15, 0x1d, 0x15, 0x19, 0x2e, 0x44, 0x2e, 0x19, 0x15, 0x1d, 0x15, 0x1b, 0x25, 0x05, 0x1b, 0x37, // .....D......%..7 - 0xfe, 0xce, 0xfe, 0xfd, 0x3b, 0x05, 0x26, 0x1a, 0x27, 0x14, 0x1d, 0x0f, 0x36, 0xa3, 0xb8, 0xa3, // ....;.&.'...6... - 0x36, 0x0f, 0x1d, 0x14, 0x27, 0x1a, 0x26, 0x05, 0x3b, 0xb6, 0xfe, 0x34, 0xfe, 0x7f, 0x5b, 0x05, // 6...'.&.;..4..[. - 0x26, 0x1a, 0x24, 0x17, 0x04, 0x0d, 0x04, 0x19, 0x1a, 0x5b, 0x01, 0x10, 0x01, 0x32, 0x01, 0x10, // &.$......[...2.. - 0x5b, 0x1a, 0x19, 0x04, 0x0d, 0x04, 0x17, 0x24, 0x1a, 0x26, 0x05, 0x5b, 0x00, 0x0c, 0x00, 0x00, // [......$.&.[.... - 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, // ................ - 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x37, 0x00, 0x00, // .......#./.3.7.. - 0x01, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x01, 0x21, 0x11, 0x21, // ..#5..#5!.#5.!.! - 0x11, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x11, 0x21, 0x11, 0x01, 0x15, 0x23, 0x35, // .!.!.!.!..!...#5 - 0x21, 0x15, 0x23, 0x35, 0x13, 0x11, 0x21, 0x35, 0x23, 0x11, 0x23, 0x11, 0x21, 0x15, 0x33, 0x35, // !.#5..!5#.#.!.35 - 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x01, 0x80, 0x80, 0x80, 0x80, 0x03, 0x80, 0x80, // ..!.!.!......... - 0xfc, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x03, 0x00, 0x01, 0x80, 0xfe, 0x80, // ................ - 0xff, 0x00, 0xfd, 0x80, 0x04, 0x80, 0x80, 0x01, 0x80, 0x80, 0x80, 0xfe, 0x80, 0x80, 0x80, 0x01, // ................ - 0x80, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0x05, 0x80, 0xfd, 0x80, 0x01, 0x80, 0x80, 0x80, 0x03, 0x00, // ................ - 0x80, 0x80, 0x80, 0x80, 0xfc, 0x01, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x01, 0x80, // ................ - 0xfd, 0x80, 0xfd, 0x80, 0x02, 0x80, 0xfe, 0x00, 0x80, 0x80, 0x80, 0x80, 0x02, 0x00, 0xfe, 0x80, // ................ - 0x80, 0xfe, 0x80, 0x02, 0x80, 0x80, 0x80, 0x03, 0x00, 0xfd, 0x80, 0x02, 0x80, 0xfd, 0x80, 0x02, // ................ - 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x03, // ................ - 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, // ...............# - 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x37, 0x00, 0x3b, 0x00, 0x3f, 0x00, 0x00, // .'.+./.3.7.;.?.. - 0x33, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, // 3#.3.#.3.#.3.#.3 + 0x34, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x03, 0x00, 0x26, 0x34, 0x13, 0xfe, // 4..54632....&4.. + 0xb3, 0xfe, 0xfa, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x06, 0x01, 0x4d, 0x13, 0x34, 0x26, 0x01, 0x80, // ....&&....M.4&.. + 0x55, 0x46, 0x0a, 0x0f, 0x1a, 0x26, 0x18, 0x22, 0x22, 0x18, 0x18, 0x22, 0x22, 0x18, 0x26, 0x1a, // UF...&."".."".&. + 0x0f, 0x0a, 0x46, 0x04, 0xa0, 0xfb, 0xc0, 0x1a, 0x26, 0x13, 0x01, 0x4d, 0x26, 0x1a, 0x01, 0x80, // ..F.....&..M&... + 0x1a, 0x26, 0x01, 0x4d, 0x13, 0x26, 0xfe, 0x12, 0x98, 0x83, 0x1c, 0x05, 0x25, 0x1b, 0x15, 0x1d, // .&.M.&......%... + 0x15, 0x19, 0x2f, 0x42, 0x2f, 0x19, 0x15, 0x1d, 0x15, 0x1b, 0x25, 0x05, 0x1b, 0x00, 0x00, 0x00, // ../B/.....%..... + 0x00, 0x04, 0x00, 0x00, 0xff, 0xb9, 0x06, 0x80, 0x05, 0x47, 0x00, 0x13, 0x00, 0x2d, 0x00, 0x49, // .........G...-.I + 0x00, 0x6b, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x22, 0x27, 0x01, 0x21, 0x22, 0x26, 0x35, 0x11, // .k......"'.!"&5. + 0x34, 0x36, 0x33, 0x21, 0x01, 0x36, 0x32, 0x16, 0x00, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, 0x26, // 463!.62......#"& + 0x35, 0x34, 0x3e, 0x03, 0x34, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x04, 0x10, // 54>.4..54632.... + 0x02, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x34, 0x26, 0x27, // ...#"&54767>.4&' + 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x04, 0x10, 0x02, 0x07, 0x06, 0x23, // &'&54632.......# + 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x12, 0x10, 0x02, 0x27, 0x26, // "&547>.7676...'& + 0x27, 0x2e, 0x01, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x16, 0x03, 0x00, 0x26, 0x34, // '..'&54632....&4 + 0x13, 0xfe, 0xb3, 0xfe, 0xfa, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x06, 0x01, 0x4d, 0x13, 0x34, 0x26, // ......&&....M.4& + 0x01, 0x80, 0x55, 0x46, 0x0a, 0x0f, 0x1a, 0x26, 0x18, 0x22, 0x22, 0x18, 0x18, 0x22, 0x22, 0x18, // ..UF...&."".."". + 0x26, 0x1a, 0x0f, 0x0a, 0x46, 0x01, 0x55, 0xaa, 0x8c, 0x0d, 0x0c, 0x1b, 0x26, 0x27, 0x38, 0x14, // &...F.U.....&'8. + 0x4a, 0x53, 0x53, 0x4a, 0x14, 0x38, 0x27, 0x26, 0x1a, 0x0d, 0x0d, 0x8c, 0x01, 0xaa, 0xfe, 0xd3, // JSSJ.8'&........ + 0x0d, 0x0d, 0x1a, 0x26, 0x27, 0x07, 0x1f, 0x07, 0x2e, 0x24, 0x7b, 0x8a, 0x8a, 0x7b, 0x24, 0x2e, // ...&'....${..{$. + 0x07, 0x1f, 0x07, 0x27, 0x26, 0x1a, 0x0d, 0x0d, 0xd3, 0x04, 0xa0, 0xfb, 0xc0, 0x1a, 0x26, 0x13, // ...'&.........&. + 0x01, 0x4d, 0x26, 0x1a, 0x01, 0x80, 0x1a, 0x26, 0x01, 0x4d, 0x13, 0x26, 0xfe, 0x12, 0x98, 0x83, // .M&....&.M.&.... + 0x1c, 0x05, 0x25, 0x1b, 0x15, 0x1d, 0x15, 0x19, 0x2f, 0x42, 0x2f, 0x19, 0x15, 0x1d, 0x15, 0x1b, // ..%...../B/..... + 0x25, 0x05, 0x1b, 0x37, 0xfe, 0xce, 0xfe, 0xfd, 0x3b, 0x05, 0x26, 0x1a, 0x27, 0x14, 0x1d, 0x0f, // %..7....;.&.'... + 0x36, 0xa3, 0xb8, 0xa3, 0x36, 0x0f, 0x1d, 0x14, 0x27, 0x1a, 0x26, 0x05, 0x3b, 0xb6, 0xfe, 0x34, // 6...6...'.&.;..4 + 0xfe, 0x7f, 0x5b, 0x05, 0x26, 0x1a, 0x24, 0x17, 0x04, 0x0d, 0x04, 0x19, 0x1a, 0x5b, 0x01, 0x10, // ..[.&.$......[.. + 0x01, 0x32, 0x01, 0x10, 0x5b, 0x1a, 0x19, 0x04, 0x0d, 0x04, 0x17, 0x24, 0x1a, 0x26, 0x05, 0x5b, // .2..[......$.&.[ + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, // ................ + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x33, // ...........#./.3 + 0x00, 0x37, 0x00, 0x00, 0x01, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, // .7....#5..#5!.#5 + 0x01, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x11, 0x21, 0x11, // .!.!.!.!.!.!..!. + 0x01, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x13, 0x11, 0x21, 0x35, 0x23, 0x11, 0x23, 0x11, // ..#5!.#5..!5#.#. + 0x21, 0x15, 0x33, 0x35, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x01, 0x80, 0x80, 0x80, // !.35..!.!.!..... + 0x80, 0x03, 0x80, 0x80, 0xfc, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x03, 0x00, // ................ + 0x01, 0x80, 0xfe, 0x80, 0xff, 0x00, 0xfd, 0x80, 0x04, 0x80, 0x80, 0x01, 0x80, 0x80, 0x80, 0xfe, // ................ + 0x80, 0x80, 0x80, 0x01, 0x80, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0x05, 0x80, 0xfd, 0x80, 0x01, 0x80, // ................ + 0x80, 0x80, 0x03, 0x00, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x01, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x80, // ................ + 0xfe, 0x80, 0x01, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0x02, 0x80, 0xfe, 0x00, 0x80, 0x80, 0x80, 0x80, // ................ + 0x02, 0x00, 0xfe, 0x80, 0x80, 0xfe, 0x80, 0x02, 0x80, 0x80, 0x80, 0x03, 0x00, 0xfd, 0x80, 0x02, // ................ + 0x80, 0xfd, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ................ + 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, // ................ + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x37, 0x00, 0x3b, // ...#.'.+./.3.7.; + 0x00, 0x3f, 0x00, 0x00, 0x33, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, // .?..3#.3.#.3.#.3 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, // .#.3.#.3.#.3.#.3 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, // .#.3.#.3.#.3.#.3 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, 0x13, 0x23, 0x11, 0x33, // .#.3.#.3.#.3.#.3 - 0x3f, 0x3f, 0x3f, 0x3f, 0x20, 0x20, 0x5e, 0x1f, 0x1f, 0x9d, 0x1f, 0x1f, 0x9d, 0x3e, 0x3e, 0x7e, // ???? ^......>>~ - 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0x9d, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f, 0x7e, 0x3f, // ..?..?...??.??~? - 0x3f, 0x7e, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0xbd, 0x5e, 0x5e, 0x3f, 0x20, 0x20, 0x5e, 0x3f, 0x3f, // ?~??^??.^^? ^?? - 0x05, 0x80, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, // ................ + 0x13, 0x23, 0x11, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x20, 0x20, 0x5e, 0x1f, 0x1f, 0x9d, 0x1f, 0x1f, // .#.3???? ^..... + 0x9d, 0x3e, 0x3e, 0x7e, 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0x3f, 0x1f, 0x1f, 0x9d, 0x3f, 0x3f, 0x9d, // .>>~..?..?...??. + 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0xbd, 0x5e, 0x5e, 0x3f, 0x20, // ??~??~??^??.^^? + 0x20, 0x5e, 0x3f, 0x3f, 0x05, 0x80, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, // ^??............ 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, // ................ 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, // ................ - 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x80, 0x05, 0x80, 0x00, 0x00, // ................ - 0x00, 0x02, 0x00, 0x00, 0xff, 0x95, 0x05, 0xeb, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, // ................ - 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, // .4&"...2.....#"' - 0x01, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x16, 0x01, 0xc0, // ...5.463!2...... - 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x04, 0x76, 0x25, 0xfe, 0x15, 0x27, 0x34, 0x35, 0x25, 0xfd, 0x35, // KjKKj.v%..'45%.5 - 0x26, 0x35, 0x4c, 0x34, 0x01, 0xa0, 0x35, 0x80, 0x26, 0x02, 0xcb, 0x25, 0x04, 0x0b, 0x6a, 0x4b, // &5L4..5.&..%..jK - 0x4b, 0x6a, 0x4b, 0xfe, 0x40, 0x35, 0x25, 0xfe, 0x14, 0x25, 0x25, 0x02, 0xcc, 0x25, 0x80, 0x35, // KjK.@5%..%%..%.5 - 0x01, 0xa0, 0x34, 0x4c, 0x35, 0x26, 0xfd, 0x36, 0x27, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ..4L5&.6'....... - 0xff, 0x95, 0x07, 0x6b, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x35, 0x00, 0x00, 0x00, 0x34, // ...k.......5...4 - 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x2e, // &"...2.....#"'.. - 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x16, 0x05, 0x14, 0x07, 0x01, // .5.463!2........ - 0x06, 0x23, 0x22, 0x26, 0x27, 0x01, 0x36, 0x35, 0x34, 0x27, 0x01, 0x2e, 0x01, 0x23, 0x33, 0x32, // .#"&'.654'...#32 - 0x16, 0x17, 0x01, 0x16, 0x01, 0xc0, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x04, 0x76, 0x25, 0xfe, 0x15, // ......KjKKj.v%.. - 0x27, 0x34, 0x35, 0x25, 0xfd, 0x35, 0x26, 0x35, 0x4c, 0x34, 0x01, 0xa0, 0x35, 0x80, 0x26, 0x02, // '45%.5&5L4..5.&. - 0xcb, 0x25, 0x01, 0x80, 0x25, 0xfe, 0x15, 0x27, 0x34, 0x24, 0x2e, 0x1e, 0x01, 0xd6, 0x25, 0x25, // .%..%..'4$....%% - 0xfd, 0x35, 0x26, 0x80, 0x35, 0xe0, 0x35, 0x80, 0x26, 0x02, 0xcb, 0x25, 0x04, 0x0b, 0x6a, 0x4b, // .5&.5.5.&..%..jK - 0x4b, 0x6a, 0x4b, 0xfe, 0x40, 0x35, 0x25, 0xfe, 0x14, 0x25, 0x25, 0x02, 0xcc, 0x25, 0x80, 0x35, // KjK.@5%..%%..%.5 - 0x01, 0xa0, 0x34, 0x4c, 0x35, 0x26, 0xfd, 0x36, 0x27, 0x34, 0x35, 0x25, 0xfe, 0x14, 0x25, 0x1c, // ..4L5&.6'45%..%. - 0x1f, 0x01, 0xd6, 0x25, 0x35, 0x34, 0x27, 0x02, 0xca, 0x26, 0x35, 0x35, 0x26, 0xfd, 0x36, 0x27, // ...%54'..&55&.6' - 0x00, 0x03, 0x00, 0x0a, 0xff, 0x80, 0x06, 0x79, 0x05, 0x80, 0x00, 0x54, 0x00, 0x64, 0x00, 0x74, // .......y...T.d.t - 0x00, 0x00, 0x01, 0x16, 0x07, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x27, 0x26, 0x37, 0x34, // ........#!"&'&74 - 0x36, 0x37, 0x36, 0x26, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x37, 0x3e, 0x01, // 676&7>.7>.76&7>. - 0x37, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x37, // 7>.76&7>.7>.76&7 - 0x3e, 0x02, 0x37, 0x3e, 0x06, 0x17, 0x07, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x01, 0x0e, 0x01, // >.7>...63!2..... - 0x23, 0x21, 0x22, 0x07, 0x06, 0x17, 0x16, 0x33, 0x21, 0x32, 0x36, 0x37, 0x01, 0x36, 0x27, 0x16, // #!"....3!267.6'. - 0x05, 0x06, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3f, 0x01, 0x36, 0x26, 0x23, 0x21, 0x22, 0x06, 0x07, // ...3!26?.6&#!".. - 0x03, 0x06, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3f, 0x01, 0x36, 0x26, 0x23, 0x21, 0x22, 0x06, 0x07, // ...3!26?.6&#!".. - 0x06, 0x67, 0x28, 0x16, 0xfe, 0xed, 0x13, 0x73, 0x41, 0xfc, 0x65, 0x4d, 0x8f, 0x1c, 0x18, 0x16, // .g(....sA.eM.... - 0x06, 0x01, 0x01, 0x08, 0x01, 0x02, 0x0c, 0x15, 0x06, 0x17, 0x2c, 0x08, 0x03, 0x05, 0x02, 0x03, // ..........,..... - 0x1c, 0x03, 0x15, 0x2a, 0x04, 0x01, 0x07, 0x04, 0x04, 0x24, 0x04, 0x13, 0x2f, 0x04, 0x01, 0x08, // ...*.....$../... - 0x02, 0x02, 0x0e, 0x16, 0x06, 0x08, 0x11, 0x0d, 0x13, 0x14, 0x21, 0x27, 0x1c, 0x01, 0x26, 0x0d, // ..........!'..&. - 0x02, 0xf9, 0x4a, 0x50, 0x16, 0xfe, 0xee, 0x24, 0x47, 0x5d, 0xfc, 0x9b, 0x1b, 0x0b, 0x0b, 0x0a, // ..JP...$G]...... - 0x18, 0x78, 0x03, 0x9b, 0x1d, 0x36, 0x08, 0x01, 0x2c, 0x07, 0x02, 0x26, 0xfb, 0xed, 0x04, 0x0c, // .x...6..,..&.... - 0x0e, 0x02, 0x60, 0x0d, 0x19, 0x04, 0x15, 0x04, 0x0c, 0x0e, 0xfd, 0xa0, 0x0d, 0x19, 0x04, 0x68, // ..`............h - 0x04, 0x0c, 0x0e, 0x02, 0x60, 0x0d, 0x19, 0x04, 0x15, 0x04, 0x0c, 0x0e, 0xfd, 0xa0, 0x0d, 0x19, // ....`........... - 0x04, 0x04, 0x22, 0x39, 0x48, 0xfc, 0x76, 0x40, 0x57, 0x6b, 0x4e, 0x43, 0x3c, 0x04, 0x2e, 0x0e, // .."9H.v@WkNC<... - 0x08, 0x1b, 0x06, 0x0b, 0x14, 0x1b, 0x0a, 0x26, 0x6b, 0x26, 0x0a, 0x28, 0x08, 0x0b, 0x22, 0x06, // .......&k&.(..". - 0x24, 0x70, 0x22, 0x09, 0x2e, 0x05, 0x0d, 0x23, 0x05, 0x1a, 0x75, 0x26, 0x08, 0x23, 0x09, 0x08, // $p"....#..u&.#.. - 0x14, 0x1a, 0x08, 0x0c, 0x25, 0x21, 0x27, 0x19, 0x16, 0x01, 0x06, 0x03, 0x09, 0x70, 0x4a, 0xfc, // ....%!'......pJ. - 0x76, 0x77, 0x45, 0x0f, 0x10, 0x1b, 0x46, 0x1f, 0x1a, 0x03, 0xdb, 0x16, 0x23, 0x0f, 0x1e, 0x0d, // vwE...F.....#... - 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, // ...@..........@. - 0x13, 0x13, 0x0d, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x97, 0x05, 0x00, 0x05, 0x80, 0x00, 0x1c, // ................ - 0x00, 0x00, 0x01, 0x32, 0x17, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, // ...2.........#"' - 0x09, 0x01, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x33, 0x04, // ...#"'..5.46763. - 0x8c, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x13, 0x19, 0x30, 0x23, 0xfe, 0x47, 0xfe, 0x47, 0x24, // ...!''!..0#.G.G$ - 0x2f, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x15, 0x17, 0x05, 0x80, 0x09, 0x0d, 0x38, 0x22, 0xfa, // /..!''!......8". - 0xf7, 0x22, 0x38, 0x0d, 0x08, 0x20, 0x01, 0xa8, 0xfe, 0x58, 0x21, 0x09, 0x0d, 0x38, 0x22, 0x05, // ."8.. ...X!..8". - 0x09, 0x22, 0x38, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, // ."8............. - 0x05, 0x80, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x14, 0x00, 0x3c, 0x00, 0x00, 0x29, 0x01, 0x11, 0x21, // .........<..)..! - 0x11, 0x21, 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, // .!.#"&=.!.4&"... - 0x32, 0x37, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 27...+....#!"&=. - 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // #"&5.46;..463!2. - 0x1f, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x33, 0x32, 0x16, 0x01, 0x80, 0x03, 0x80, 0xfc, 0x80, 0x03, // ......32........ - 0x80, 0xa0, 0x28, 0x38, 0xfd, 0x80, 0x04, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0x13, 0x0d, // ..(8....&4&&4... - 0xe0, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0xe0, 0x0d, 0x13, 0x71, 0x4f, 0x40, 0x38, 0x28, 0x02, // .8(.@(8...qO@8(. - 0xa0, 0x28, 0x60, 0x1c, 0x98, 0x1c, 0x28, 0x40, 0x4f, 0x71, 0x01, 0x00, 0x01, 0x80, 0x01, 0x80, // .(`...(@Oq...... - 0x38, 0x28, 0xa0, 0xfd, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x40, 0xfe, 0x60, 0x0d, 0x13, 0xa0, // 8(..&4&&4&@.`... - 0x28, 0x38, 0x38, 0x28, 0xa0, 0x13, 0x0d, 0x01, 0xa0, 0x4f, 0x71, 0x02, 0x20, 0x28, 0x38, 0x28, // (88(.....Oq. (8( - 0x1c, 0x98, 0x1c, 0x60, 0x28, 0xff, 0x00, 0x71, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x80, // ...`(..q........ - 0x06, 0x00, 0x00, 0x07, 0x00, 0x21, 0x00, 0x29, 0x00, 0x00, 0x00, 0x32, 0x16, 0x14, 0x06, 0x22, // .....!.)...2..." - 0x26, 0x34, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // &4.2.....#!"&5.4 - 0x36, 0x3b, 0x01, 0x37, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x1f, 0x01, 0x00, 0x20, 0x00, 0x10, // 6;.7>.3!2.... .. - 0x00, 0x20, 0x00, 0x10, 0x03, 0x49, 0xee, 0xa9, 0xa9, 0xee, 0xa9, 0x03, 0xe0, 0x6a, 0x96, 0x96, // . ...I.......j.. - 0x6a, 0xfa, 0x80, 0x6a, 0x96, 0x96, 0x6a, 0xe0, 0x33, 0x13, 0x65, 0x35, 0x02, 0x00, 0x35, 0x65, // j..j..j.3.e5..5e - 0x13, 0x33, 0xfd, 0x67, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x03, 0x60, // .3.g.r.........` - 0xa9, 0xee, 0xa9, 0xa9, 0xee, 0x02, 0x49, 0x96, 0x6a, 0xfc, 0x80, 0x6a, 0x96, 0x96, 0x6a, 0x03, // ......I.j..j..j. - 0x80, 0x6a, 0x96, 0x88, 0x31, 0x47, 0x47, 0x31, 0x88, 0xfb, 0x80, 0x01, 0x07, 0x01, 0x72, 0x01, // .j..1GG1......r. - 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, // ................ - 0x05, 0x80, 0x00, 0x09, 0x00, 0x51, 0x00, 0x00, 0x01, 0x03, 0x1e, 0x02, 0x33, 0x37, 0x26, 0x27, // .....Q......37&' - 0x26, 0x01, 0x23, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x13, 0x01, 0x3b, 0x01, 0x17, 0x13, // &.#7676767..;... - 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, // ................ - 0x14, 0x07, 0x22, 0x27, 0x26, 0x23, 0x22, 0x0f, 0x02, 0x34, 0x3f, 0x01, 0x36, 0x37, 0x36, 0x34, // .."'&#"..4?.6764 - 0x2f, 0x02, 0x25, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x32, 0x1e, 0x01, 0x17, 0x16, // /.%........2.... - 0x15, 0x14, 0x07, 0x22, 0x25, 0x07, 0x06, 0x02, 0xd5, 0xaa, 0x49, 0xa1, 0x4d, 0x0e, 0x1d, 0x20, // ..."%.....I.M.. - 0x3c, 0x35, 0xfd, 0x19, 0x15, 0x02, 0x16, 0x3a, 0x59, 0x15, 0x14, 0x1c, 0xed, 0x01, 0x18, 0x4b, // <5.....:Y......K - 0x35, 0x0b, 0xcd, 0x67, 0x15, 0x27, 0x39, 0x1a, 0x27, 0x18, 0x29, 0x16, 0x0d, 0x16, 0x2f, 0x2f, // 5..g.'9.'.)...// - 0x38, 0x06, 0x01, 0x50, 0x70, 0x5d, 0x60, 0x4f, 0x38, 0xc8, 0x3a, 0x04, 0x83, 0x38, 0x0c, 0x0c, // 8..Pp]`O8.:..8.. - 0x06, 0x2f, 0x5c, 0xfe, 0x3e, 0x1d, 0x4b, 0x17, 0x11, 0x1a, 0x4d, 0x03, 0x15, 0x27, 0x15, 0x01, // ./..>.K...M..'.. - 0x02, 0x42, 0xfe, 0xe5, 0x30, 0x51, 0x03, 0xd1, 0xfe, 0x3e, 0x01, 0x02, 0x01, 0x02, 0x5f, 0x92, // .B..0Q...>...._. - 0x84, 0xfb, 0xfe, 0x4f, 0x07, 0x0b, 0x10, 0x0f, 0x10, 0x34, 0x02, 0x68, 0x02, 0xd4, 0x15, 0xfe, // ...O.....4.h.... - 0x20, 0xf2, 0x37, 0x66, 0x85, 0x3a, 0x6a, 0x43, 0x52, 0x31, 0x08, 0x13, 0x04, 0x06, 0x15, 0x27, // .7f.:jCR1.....' - 0x12, 0x0e, 0x0c, 0x08, 0x08, 0x02, 0x0b, 0x02, 0x2d, 0x21, 0x1c, 0x0d, 0x0a, 0x0c, 0x1e, 0x11, // ........-!...... - 0x72, 0xe4, 0x02, 0x41, 0xd1, 0x40, 0x14, 0x1f, 0x0c, 0x15, 0x0b, 0x04, 0x06, 0x03, 0x1c, 0x1e, // r..A.@.......... - 0x11, 0x0a, 0x14, 0x08, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, // ................ - 0x05, 0x80, 0x00, 0x13, 0x00, 0x25, 0x00, 0x65, 0x00, 0x00, 0x25, 0x16, 0x33, 0x32, 0x36, 0x37, // .....%.e..%.3267 - 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x15, 0x07, 0x13, 0x14, 0x03, 0x16, // 654'&'&#"....... - 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x14, 0x17, 0x16, 0x0f, 0x01, 0x14, // 32654'&#"....... - 0x01, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x03, 0x02, 0x27, 0x26, 0x27, 0x26, // .767676765..'&'& - 0x27, 0x26, 0x27, 0x26, 0x2f, 0x01, 0x2d, 0x01, 0x37, 0x32, 0x36, 0x33, 0x32, 0x16, 0x3b, 0x01, // '&'&/.-.72632.;. - 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x06, 0x07, 0x16, 0x17, // 2............... - 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x2f, 0x01, 0x26, 0x07, 0x06, // .........../.&.. - 0x02, 0x2b, 0x4c, 0x40, 0x83, 0xaa, 0x25, 0x26, 0x29, 0x3a, 0x53, 0x50, 0xa7, 0x4a, 0x1b, 0x01, // .+L@..%&):SP.J.. - 0x03, 0x02, 0x2b, 0x42, 0xaf, 0xb2, 0x55, 0x54, 0xab, 0x34, 0x4e, 0x02, 0x07, 0x01, 0x01, 0xfd, // ..+B..UT.4N..... - 0xe4, 0x02, 0x2d, 0x17, 0x4d, 0x2e, 0x11, 0x04, 0x09, 0x02, 0x05, 0x04, 0x01, 0x0a, 0x01, 0x0b, // ..-.M........... - 0x12, 0x33, 0x1e, 0x54, 0x04, 0x01, 0x04, 0x01, 0x7c, 0x2d, 0x05, 0x12, 0x05, 0x01, 0x29, 0x14, // .3.T....|-....). - 0x4a, 0x58, 0x67, 0x2b, 0x35, 0x39, 0x2d, 0x2c, 0x2a, 0x40, 0x3f, 0x1a, 0x7c, 0xb1, 0x5a, 0x5c, // JXg+59-,*@?.|.Z. - 0x1d, 0x15, 0x32, 0x42, 0x4a, 0x49, 0x82, 0x52, 0x74, 0xc5, 0x54, 0xd6, 0x21, 0x0f, 0x20, 0x52, // ..2BJI.Rt.T.!. R - 0x48, 0x46, 0x6f, 0x72, 0x42, 0x5e, 0x20, 0x20, 0x0a, 0x90, 0xad, 0xfe, 0xf2, 0x0f, 0x02, 0xcd, // HForB^ ........ - 0x07, 0x82, 0x9f, 0x70, 0x4b, 0x4b, 0x0d, 0x2c, 0x21, 0x7a, 0x9d, 0x62, 0x2b, 0xfc, 0x65, 0x5e, // ...pKK.,!z.b+.e^ - 0x09, 0x03, 0x0c, 0x13, 0x1b, 0x18, 0x42, 0x80, 0x01, 0xf1, 0x01, 0x00, 0x94, 0x57, 0x16, 0x04, // ......B......W.. - 0x08, 0x0c, 0x03, 0x02, 0x0b, 0x53, 0x06, 0x0d, 0x01, 0x01, 0x01, 0x1b, 0x0d, 0x1a, 0x1d, 0x2f, // .....S........./ - 0x2f, 0x72, 0x41, 0x46, 0x74, 0x2f, 0x14, 0x39, 0x29, 0x69, 0x6a, 0x82, 0x4c, 0x55, 0x3e, 0x37, // /rAFt/.9)ij.LU>7 - 0x48, 0x24, 0x24, 0x18, 0x0f, 0x04, 0x04, 0x02, 0x0d, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // H$$............. - 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x4a, 0x00, 0x00, 0x15, 0x37, 0x36, 0x37, 0x36, 0x37, // .......J...76767 - 0x36, 0x3f, 0x01, 0x13, 0x37, 0x3e, 0x04, 0x35, 0x3f, 0x03, 0x35, 0x26, 0x27, 0x26, 0x27, 0x37, // 6?..7>.5?.5&'&'7 - 0x05, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x33, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, // ..327>.3........ - 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x03, 0x0f, 0x02, 0x06, 0x17, 0x16, 0x17, 0x16, 0x17, 0x06, // ................ - 0x07, 0x06, 0x07, 0x22, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x2f, 0x01, 0x26, 0x07, 0x06, 0x11, // ..."..#"'&/.&... - 0x04, 0x49, 0x4c, 0x28, 0x1d, 0x0c, 0x1b, 0x38, 0x0c, 0x08, 0x12, 0x0e, 0x0b, 0x07, 0x1d, 0x10, // .IL(...8........ - 0x16, 0x08, 0x29, 0x67, 0x1c, 0x0a, 0x13, 0x01, 0x3d, 0x27, 0x22, 0x42, 0x94, 0x21, 0x46, 0x01, // ..)g....='"B.!F. - 0x02, 0x04, 0x07, 0x06, 0x37, 0x36, 0x40, 0x25, 0x0c, 0x0c, 0x09, 0x04, 0x2c, 0x16, 0x3d, 0x26, // ....76@%....,.=& - 0x2b, 0x0c, 0x02, 0x03, 0x40, 0x37, 0x24, 0x1e, 0x01, 0x06, 0x07, 0x02, 0x12, 0x05, 0x18, 0x12, // +...@7$......... - 0x09, 0x13, 0x13, 0x7e, 0xc6, 0x29, 0x85, 0x4a, 0x7e, 0x55, 0x01, 0x13, 0x13, 0x14, 0x25, 0x40, // ...~.).J~U....%@ - 0x8b, 0x01, 0x0c, 0x40, 0x2c, 0x51, 0x35, 0x28, 0x15, 0x01, 0x9d, 0x3f, 0x87, 0x32, 0x26, 0x16, // ...@,Q5(...?.2&. - 0x06, 0x02, 0x02, 0x67, 0x0e, 0x02, 0x09, 0x02, 0x05, 0x13, 0x13, 0x1d, 0x16, 0x13, 0x0c, 0x10, // ...g............ - 0x0f, 0x1f, 0x39, 0x2c, 0x26, 0xc7, 0x6b, 0xfe, 0xc9, 0x9e, 0xeb, 0x2d, 0x07, 0x14, 0x0f, 0x06, // ..9,&.k....-.... - 0x05, 0x05, 0x1d, 0x1d, 0x1f, 0x0a, 0x01, 0x02, 0x03, 0x04, 0x0d, 0x02, 0x01, 0x0c, 0x07, 0x00, // ................ - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0xfa, 0x05, 0x80, 0x00, 0x69, 0x00, 0x85, 0x00, 0x00, // ...........i.... - 0x13, 0x17, 0x16, 0x3b, 0x01, 0x3f, 0x01, 0x17, 0x21, 0x17, 0x16, 0x36, 0x3f, 0x02, 0x32, 0x17, // ...;.?..!..6?.2. - 0x1c, 0x01, 0x1f, 0x01, 0x07, 0x14, 0x07, 0x06, 0x07, 0x26, 0x27, 0x2e, 0x02, 0x27, 0x26, 0x27, // .........&'..'&' - 0x26, 0x22, 0x06, 0x23, 0x22, 0x07, 0x06, 0x1f, 0x01, 0x11, 0x13, 0x07, 0x06, 0x17, 0x16, 0x17, // &".#"........... - 0x32, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, // 2..........#"'&# - 0x22, 0x07, 0x06, 0x23, 0x26, 0x35, 0x27, 0x35, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x27, // "..#&5'56767676' - 0x03, 0x26, 0x36, 0x34, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x0e, 0x02, 0x07, // .&64&'&'&#"..... - 0x0e, 0x01, 0x23, 0x26, 0x27, 0x11, 0x35, 0x01, 0x32, 0x16, 0x0f, 0x01, 0x06, 0x22, 0x2f, 0x01, // ..#&'.5.2...."/. - 0x26, 0x36, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x26, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x06, // &6;..#"&?.62.... - 0x2b, 0x01, 0x11, 0x51, 0x36, 0x14, 0xbf, 0x82, 0x13, 0x73, 0xd7, 0x01, 0x25, 0x22, 0x0e, 0x1c, // +..Q6....s..%".. - 0x07, 0x07, 0x2a, 0x0f, 0x0d, 0x01, 0x01, 0x01, 0x04, 0x27, 0x1d, 0x19, 0x1d, 0x08, 0x0f, 0x08, // ..*......'...... - 0x02, 0x0d, 0x0e, 0x07, 0x47, 0x88, 0x2b, 0x22, 0x21, 0x0a, 0x02, 0x01, 0x03, 0x01, 0x01, 0x0c, // ....G.+"!....... - 0x31, 0x28, 0x02, 0x20, 0x38, 0x0f, 0x1e, 0x14, 0x05, 0x03, 0x0e, 0x14, 0x6e, 0x4d, 0x48, 0xa6, // 1(. 8.......nMH. - 0x58, 0x91, 0x30, 0x16, 0x02, 0x01, 0x15, 0x3a, 0x8b, 0x14, 0x09, 0x03, 0x08, 0x02, 0x05, 0x01, // X.0....:........ - 0x01, 0x04, 0x04, 0x06, 0x08, 0x26, 0x6e, 0x2b, 0x72, 0x10, 0x0d, 0x12, 0x1a, 0x0b, 0x06, 0x1b, // .....&n+r....... - 0x07, 0x2c, 0x0c, 0x06, 0xd0, 0x21, 0x12, 0x14, 0x7e, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, 0x21, // .,...!..~.:.~..! - 0x50, 0x50, 0x21, 0x12, 0x14, 0x7e, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, 0x21, 0x50, 0x05, 0x7f, // PP!..~.:.~..!P.. - 0x1b, 0x05, 0x03, 0x01, 0x01, 0x02, 0x01, 0x10, 0x08, 0x08, 0x01, 0x01, 0x1a, 0x9d, 0x35, 0x64, // ..............5d - 0x3a, 0x20, 0x13, 0x0f, 0x03, 0x2b, 0x55, 0x18, 0x4d, 0x36, 0x02, 0x0f, 0x04, 0x02, 0x02, 0x05, // : ...+U.M6...... - 0x61, 0x27, 0x98, 0xfe, 0xb4, 0xfe, 0x99, 0x93, 0x2e, 0x27, 0x19, 0x07, 0x0a, 0x10, 0x04, 0x08, // a'.......'...... - 0x0a, 0x2d, 0x05, 0x0a, 0x13, 0x01, 0x0a, 0x08, 0x0e, 0x04, 0x16, 0x04, 0x1a, 0x09, 0x21, 0x10, // .-............!. - 0x26, 0x0c, 0x15, 0x23, 0xc0, 0xf1, 0x01, 0xac, 0x3e, 0x71, 0x5c, 0x16, 0x04, 0x05, 0x01, 0x06, // &..#....>q...... - 0x1b, 0x0b, 0x09, 0x30, 0x66, 0x21, 0x13, 0x1a, 0x1b, 0x11, 0x01, 0x29, 0x56, 0xfb, 0x02, 0x25, // ...0f!.....)V..% - 0x1a, 0xa2, 0x1a, 0x1a, 0xa2, 0x1a, 0x25, 0x04, 0x00, 0x25, 0x1a, 0xa2, 0x1a, 0x1a, 0xa2, 0x1a, // ......%..%...... - 0x25, 0xfc, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x86, 0x06, 0x00, 0x05, 0x80, 0x00, 0x68, // %..............h - 0x00, 0x84, 0x00, 0x00, 0x13, 0x17, 0x16, 0x3b, 0x01, 0x3f, 0x01, 0x05, 0x21, 0x17, 0x16, 0x36, // .......;.?..!..6 - 0x3f, 0x02, 0x32, 0x17, 0x1c, 0x01, 0x1f, 0x01, 0x07, 0x14, 0x07, 0x06, 0x07, 0x26, 0x27, 0x2e, // ?.2..........&'. - 0x02, 0x27, 0x26, 0x27, 0x26, 0x22, 0x06, 0x23, 0x22, 0x07, 0x06, 0x1f, 0x01, 0x35, 0x13, 0x07, // .'&'&".#"....5.. - 0x06, 0x17, 0x16, 0x17, 0x32, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, // ....2..........# - 0x22, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x23, 0x26, 0x35, 0x27, 0x35, 0x36, 0x37, 0x36, 0x37, // "'&#"..#&5'56767 - 0x36, 0x37, 0x36, 0x11, 0x27, 0x10, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, // 676.'.'&'&'&#".. - 0x0e, 0x02, 0x07, 0x0e, 0x01, 0x23, 0x26, 0x27, 0x11, 0x35, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, // .....#&'.5...... - 0x26, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x06, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x16, 0x1d, // &=.!.../.&4?.6.. - 0x01, 0x21, 0x35, 0x34, 0x36, 0x17, 0x51, 0x36, 0x14, 0xbf, 0x82, 0x13, 0x73, 0x01, 0xbe, 0x01, // .!546.Q6....s... - 0x3e, 0x22, 0x0e, 0x1c, 0x07, 0x07, 0x2a, 0x0f, 0x0d, 0x01, 0x01, 0x01, 0x04, 0x27, 0x1d, 0x19, // >"....*......'.. - 0x1d, 0x08, 0x0f, 0x08, 0x02, 0x0d, 0x0e, 0x07, 0x67, 0xae, 0x29, 0x5e, 0x21, 0x0a, 0x02, 0x01, // ........g.)^!... - 0x03, 0x01, 0x01, 0x0c, 0x31, 0x28, 0x02, 0x20, 0x38, 0x0f, 0x1e, 0x14, 0x05, 0x03, 0x0e, 0x14, // ....1(. 8....... - 0x6e, 0x4d, 0x48, 0xa6, 0x52, 0x97, 0x2d, 0x19, 0x02, 0x01, 0x15, 0x3a, 0x8b, 0x14, 0x09, 0x03, // nMH.R.-....:.... - 0x06, 0x05, 0x02, 0x02, 0x04, 0x06, 0x08, 0x26, 0x6e, 0x32, 0xed, 0x0e, 0x0d, 0x12, 0x1a, 0x0b, // .......&n2...... - 0x06, 0x1b, 0x07, 0x2c, 0x0c, 0x05, 0xe1, 0x1a, 0x1a, 0xa2, 0x1a, 0x25, 0xfc, 0x00, 0x25, 0x1a, // ...,.......%..%. - 0xa2, 0x1a, 0x1a, 0xa2, 0x1a, 0x25, 0x04, 0x00, 0x25, 0x1a, 0x05, 0x7f, 0x1b, 0x05, 0x03, 0x01, // .....%..%....... - 0x01, 0x02, 0x01, 0x10, 0x08, 0x08, 0x01, 0x01, 0x1a, 0x9d, 0x35, 0x64, 0x3a, 0x20, 0x13, 0x0f, // ..........5d: .. - 0x03, 0x2b, 0x55, 0x18, 0x4d, 0x36, 0x02, 0x0f, 0x04, 0x02, 0x02, 0x05, 0x61, 0x27, 0x98, 0x34, // .+U.M6......a'.4 - 0xfe, 0x99, 0x93, 0x2e, 0x27, 0x19, 0x07, 0x0a, 0x10, 0x04, 0x08, 0x0a, 0x2d, 0x05, 0x0a, 0x13, // ....'.......-... - 0x01, 0x0a, 0x08, 0x0d, 0x05, 0x16, 0x04, 0x1a, 0x09, 0x21, 0x10, 0x26, 0x0c, 0x15, 0x23, 0x89, // .........!.&..#. - 0x01, 0x28, 0x2c, 0x01, 0x09, 0x0d, 0x0b, 0x04, 0x05, 0x01, 0x06, 0x1c, 0x0a, 0x09, 0x30, 0x66, // .(,...........0f - 0x21, 0x13, 0x1a, 0x1b, 0x11, 0x01, 0x29, 0x56, 0xfa, 0xf3, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, // !.....)V...:.~.. - 0x21, 0x50, 0x50, 0x21, 0x12, 0x14, 0x7e, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, 0x21, 0x50, 0x50, // !PP!..~.:.~..!PP - 0x21, 0x12, 0x14, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // !............... - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // .../.?..%...#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, // =.463!2...&....& - 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, // &....&..&....&&. - 0x05, 0x00, 0x1a, 0x26, 0x01, 0x00, 0x26, 0x1a, 0xfa, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x00, // ...&..&....&&... - 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfb, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x04, 0x80, 0x1a, 0x26, // .&..&....&&....& - 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, // ...&&...&&.f..&& - 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // ...&&.f..&&...&& - 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x04, 0x00, 0x00, // .f..&&...&&..... - 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, // .........../.?.. - 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // %...#!"&=.463!2. - 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. - 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. - 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. - 0x07, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xfe, 0x80, // ..&....&&....&.. - 0x26, 0x1a, 0xfc, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x80, 0x1a, 0x26, 0x01, 0x00, 0x26, 0x1a, // &....&&....&..&. - 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfd, 0x80, // ...&&....&..&... - 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, // .&&....&...&&... - 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, // &&.f..&&...&&.f. - 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, // .&&...&&.f..&&.. - 0x1a, 0x26, 0x26, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // .&&............. + 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x81, 0x05, 0x7f, 0xfa, 0x80, // ................ + 0x05, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x95, 0x05, 0xeb, 0x05, 0x80, 0x00, 0x07, // ................ + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, // .....4&"...2.... + 0x06, 0x23, 0x22, 0x27, 0x01, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, // .#"'...5.463!2.. + 0x01, 0x16, 0x01, 0xc0, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x04, 0x76, 0x25, 0xfe, 0x15, 0x27, 0x34, // ....KjKKj.v%..'4 + 0x35, 0x25, 0xfd, 0x35, 0x26, 0x35, 0x4c, 0x34, 0x01, 0xa0, 0x35, 0x80, 0x26, 0x02, 0xcb, 0x25, // 5%.5&5L4..5.&..% + 0x04, 0x0b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfe, 0x40, 0x35, 0x25, 0xfe, 0x14, 0x25, 0x25, 0x02, // ..jKKjK.@5%..%%. + 0xcc, 0x25, 0x80, 0x35, 0x01, 0xa0, 0x34, 0x4c, 0x35, 0x26, 0xfd, 0x36, 0x27, 0x00, 0x00, 0x00, // .%.5..4L5&.6'... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x95, 0x07, 0x6b, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x35, // .......k.......5 + 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, // ...4&"...2.....# + 0x22, 0x27, 0x01, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x16, // "'...5.463!2.... + 0x05, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x27, 0x01, 0x36, 0x35, 0x34, 0x27, 0x01, 0x2e, // .....#"&'.654'.. + 0x01, 0x23, 0x33, 0x32, 0x16, 0x17, 0x01, 0x16, 0x01, 0xc0, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x04, // .#32......KjKKj. + 0x76, 0x25, 0xfe, 0x15, 0x27, 0x34, 0x35, 0x25, 0xfd, 0x35, 0x26, 0x35, 0x4c, 0x34, 0x01, 0xa0, // v%..'45%.5&5L4.. + 0x35, 0x80, 0x26, 0x02, 0xcb, 0x25, 0x01, 0x80, 0x25, 0xfe, 0x15, 0x27, 0x34, 0x24, 0x2e, 0x1e, // 5.&..%..%..'4$.. + 0x01, 0xd6, 0x25, 0x25, 0xfd, 0x35, 0x26, 0x80, 0x35, 0xe0, 0x35, 0x80, 0x26, 0x02, 0xcb, 0x25, // ..%%.5&.5.5.&..% + 0x04, 0x0b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfe, 0x40, 0x35, 0x25, 0xfe, 0x14, 0x25, 0x25, 0x02, // ..jKKjK.@5%..%%. + 0xcc, 0x25, 0x80, 0x35, 0x01, 0xa0, 0x34, 0x4c, 0x35, 0x26, 0xfd, 0x36, 0x27, 0x34, 0x35, 0x25, // .%.5..4L5&.6'45% + 0xfe, 0x14, 0x25, 0x1c, 0x1f, 0x01, 0xd6, 0x25, 0x35, 0x34, 0x27, 0x02, 0xca, 0x26, 0x35, 0x35, // ..%....%54'..&55 + 0x26, 0xfd, 0x36, 0x27, 0x00, 0x03, 0x00, 0x0a, 0xff, 0x80, 0x06, 0x79, 0x05, 0x80, 0x00, 0x54, // &.6'.......y...T + 0x00, 0x64, 0x00, 0x74, 0x00, 0x00, 0x01, 0x16, 0x07, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, // .d.t........#!"& + 0x27, 0x26, 0x37, 0x34, 0x36, 0x37, 0x36, 0x26, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x01, 0x37, 0x36, // '&74676&7>.7>.76 + 0x26, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, // &7>.7>.76&7>.7>. + 0x37, 0x36, 0x26, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x06, 0x17, 0x07, 0x36, 0x33, 0x21, 0x32, 0x16, // 76&7>.7>...63!2. + 0x07, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x07, 0x06, 0x17, 0x16, 0x33, 0x21, 0x32, 0x36, 0x37, // ....#!"....3!267 + 0x01, 0x36, 0x27, 0x16, 0x05, 0x06, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3f, 0x01, 0x36, 0x26, 0x23, // .6'....3!26?.6&# + 0x21, 0x22, 0x06, 0x07, 0x03, 0x06, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3f, 0x01, 0x36, 0x26, 0x23, // !".....3!26?.6&# + 0x21, 0x22, 0x06, 0x07, 0x06, 0x67, 0x28, 0x16, 0xfe, 0xed, 0x13, 0x73, 0x41, 0xfc, 0x65, 0x4d, // !"...g(....sA.eM + 0x8f, 0x1c, 0x18, 0x16, 0x06, 0x01, 0x01, 0x08, 0x01, 0x02, 0x0c, 0x15, 0x06, 0x17, 0x2c, 0x08, // ..............,. + 0x03, 0x05, 0x02, 0x03, 0x1c, 0x03, 0x15, 0x2a, 0x04, 0x01, 0x07, 0x04, 0x04, 0x24, 0x04, 0x13, // .......*.....$.. + 0x2f, 0x04, 0x01, 0x08, 0x02, 0x02, 0x0e, 0x16, 0x06, 0x08, 0x11, 0x0d, 0x13, 0x14, 0x21, 0x27, // /.............!' + 0x1c, 0x01, 0x26, 0x0d, 0x02, 0xf9, 0x4a, 0x50, 0x16, 0xfe, 0xee, 0x24, 0x47, 0x5d, 0xfc, 0x9b, // ..&...JP...$G].. + 0x1b, 0x0b, 0x0b, 0x0a, 0x18, 0x78, 0x03, 0x9b, 0x1d, 0x36, 0x08, 0x01, 0x2c, 0x07, 0x02, 0x26, // .....x...6..,..& + 0xfb, 0xed, 0x04, 0x0c, 0x0e, 0x02, 0x60, 0x0d, 0x19, 0x04, 0x15, 0x04, 0x0c, 0x0e, 0xfd, 0xa0, // ......`......... + 0x0d, 0x19, 0x04, 0x68, 0x04, 0x0c, 0x0e, 0x02, 0x60, 0x0d, 0x19, 0x04, 0x15, 0x04, 0x0c, 0x0e, // ...h....`....... + 0xfd, 0xa0, 0x0d, 0x19, 0x04, 0x04, 0x22, 0x39, 0x48, 0xfc, 0x76, 0x40, 0x57, 0x6b, 0x4e, 0x43, // ......"9H.v@WkNC + 0x3c, 0x04, 0x2e, 0x0e, 0x08, 0x1b, 0x06, 0x0b, 0x14, 0x1b, 0x0a, 0x26, 0x6b, 0x26, 0x0a, 0x28, // <..........&k&.( + 0x08, 0x0b, 0x22, 0x06, 0x24, 0x70, 0x22, 0x09, 0x2e, 0x05, 0x0d, 0x23, 0x05, 0x1a, 0x75, 0x26, // ..".$p"....#..u& + 0x08, 0x23, 0x09, 0x08, 0x14, 0x1a, 0x08, 0x0c, 0x25, 0x21, 0x27, 0x19, 0x16, 0x01, 0x06, 0x03, // .#......%!'..... + 0x09, 0x70, 0x4a, 0xfc, 0x76, 0x77, 0x45, 0x0f, 0x10, 0x1b, 0x46, 0x1f, 0x1a, 0x03, 0xdb, 0x16, // .pJ.vwE...F..... + 0x23, 0x0f, 0x1e, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, 0x0d, 0x13, // #......@........ + 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x97, 0x05, 0x00, // ..@............. + 0x05, 0x80, 0x00, 0x1c, 0x00, 0x00, 0x01, 0x32, 0x17, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x07, // .......2........ + 0x06, 0x23, 0x22, 0x27, 0x09, 0x01, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, // .#"'...#"'..5.46 + 0x37, 0x36, 0x33, 0x04, 0x8c, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x13, 0x19, 0x30, 0x23, 0xfe, // 763....!''!..0#. + 0x47, 0xfe, 0x47, 0x24, 0x2f, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x15, 0x17, 0x05, 0x80, 0x09, // G.G$/..!''!..... + 0x0d, 0x38, 0x22, 0xfa, 0xf7, 0x22, 0x38, 0x0d, 0x08, 0x20, 0x01, 0xa8, 0xfe, 0x58, 0x21, 0x09, // .8".."8.. ...X!. + 0x0d, 0x38, 0x22, 0x05, 0x09, 0x22, 0x38, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .8".."8......... + 0xff, 0x80, 0x06, 0x80, 0x05, 0x80, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x14, 0x00, 0x3c, 0x00, 0x00, // .............<.. + 0x29, 0x01, 0x11, 0x21, 0x11, 0x21, 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x00, 0x34, 0x26, // )..!.!.#"&=.!.4& + 0x22, 0x06, 0x14, 0x16, 0x32, 0x37, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "...27...+....#! + 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, // "&=.#"&5.46;..46 + 0x33, 0x21, 0x32, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x33, 0x32, 0x16, 0x01, 0x80, 0x03, // 3!2.......32.... + 0x80, 0xfc, 0x80, 0x03, 0x80, 0xa0, 0x28, 0x38, 0xfd, 0x80, 0x04, 0x80, 0x26, 0x34, 0x26, 0x26, // ......(8....&4&& + 0x34, 0xa6, 0x13, 0x0d, 0xe0, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0xe0, 0x0d, 0x13, 0x71, 0x4f, // 4....8(.@(8...qO + 0x40, 0x38, 0x28, 0x02, 0xa0, 0x28, 0x60, 0x1c, 0x98, 0x1c, 0x28, 0x40, 0x4f, 0x71, 0x01, 0x00, // @8(..(`...(@Oq.. + 0x01, 0x80, 0x01, 0x80, 0x38, 0x28, 0xa0, 0xfd, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x40, 0xfe, // ....8(..&4&&4&@. + 0x60, 0x0d, 0x13, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xa0, 0x13, 0x0d, 0x01, 0xa0, 0x4f, 0x71, 0x02, // `...(88(.....Oq. + 0x20, 0x28, 0x38, 0x28, 0x1c, 0x98, 0x1c, 0x60, 0x28, 0xff, 0x00, 0x71, 0x00, 0x03, 0x00, 0x00, // (8(...`(..q.... + 0xff, 0x80, 0x07, 0x80, 0x06, 0x00, 0x00, 0x07, 0x00, 0x21, 0x00, 0x29, 0x00, 0x00, 0x00, 0x32, // .........!.)...2 + 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // ..."&4.2.....#!" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x37, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x1f, 0x01, // &5.46;.7>.3!2... + 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x03, 0x49, 0xee, 0xa9, 0xa9, 0xee, 0xa9, 0x03, // . ... ...I...... + 0xe0, 0x6a, 0x96, 0x96, 0x6a, 0xfa, 0x80, 0x6a, 0x96, 0x96, 0x6a, 0xe0, 0x33, 0x13, 0x65, 0x35, // .j..j..j..j.3.e5 + 0x02, 0x00, 0x35, 0x65, 0x13, 0x33, 0xfd, 0x67, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, // ..5e.3.g.r...... + 0xfe, 0xf9, 0x03, 0x60, 0xa9, 0xee, 0xa9, 0xa9, 0xee, 0x02, 0x49, 0x96, 0x6a, 0xfc, 0x80, 0x6a, // ...`......I.j..j + 0x96, 0x96, 0x6a, 0x03, 0x80, 0x6a, 0x96, 0x88, 0x31, 0x47, 0x47, 0x31, 0x88, 0xfb, 0x80, 0x01, // ..j..j..1GG1.... + 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ..r............. + 0xff, 0x80, 0x06, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x50, 0x00, 0x00, 0x01, 0x03, 0x32, 0x16, // .........P....2. + 0x33, 0x32, 0x37, 0x26, 0x01, 0x37, 0x3e, 0x04, 0x37, 0x13, 0x01, 0x3b, 0x01, 0x16, 0x17, 0x13, // 327&.7>.7..;.... + 0x16, 0x12, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x15, 0x14, 0x06, 0x15, // ................ + 0x22, 0x26, 0x23, 0x22, 0x04, 0x07, 0x34, 0x3f, 0x01, 0x32, 0x3e, 0x05, 0x35, 0x34, 0x2e, 0x01, // "&#"..4?.2>.54.. + 0x27, 0x25, 0x06, 0x02, 0x15, 0x14, 0x1e, 0x03, 0x33, 0x16, 0x15, 0x14, 0x07, 0x22, 0x26, 0x23, // '%......3...."&# + 0x22, 0x06, 0x23, 0x06, 0x02, 0xd5, 0xaa, 0x21, 0xcf, 0x39, 0x13, 0x26, 0x57, 0xfc, 0xca, 0x02, // ".#....!.9.&W... + 0x17, 0x42, 0x30, 0x33, 0x26, 0x0c, 0xed, 0x01, 0x18, 0x4b, 0x35, 0x08, 0x03, 0xcd, 0x21, 0x92, // .B03&....K5...!. + 0x29, 0x0f, 0x56, 0x1d, 0x14, 0x0f, 0x13, 0x8a, 0x0f, 0x06, 0x01, 0x3f, 0xfe, 0x40, 0x4c, 0xfe, // ).V........?.@L. + 0xea, 0x27, 0x04, 0x83, 0x01, 0x17, 0x08, 0x15, 0x09, 0x0d, 0x05, 0x3e, 0x52, 0x01, 0xfe, 0x3e, // .'.........>R..> + 0x1a, 0x65, 0x1c, 0x3b, 0x26, 0x4c, 0x03, 0x01, 0x02, 0x3a, 0xe9, 0x3a, 0x08, 0x25, 0x03, 0x50, // .e.;&L...:.:.%.P + 0x03, 0xd1, 0xfe, 0x3e, 0x04, 0x02, 0xfd, 0xfc, 0x76, 0x4f, 0x07, 0x0b, 0x0a, 0x13, 0x27, 0x1f, // ...>....vO....'. + 0x02, 0x68, 0x02, 0xd4, 0x0e, 0x07, 0xfe, 0x20, 0x4e, 0xfe, 0x99, 0x5f, 0x22, 0xdd, 0x3a, 0x2d, // .h..... N.._".:- + 0x0c, 0x0f, 0x1d, 0x06, 0x26, 0x13, 0x05, 0x11, 0x04, 0x10, 0x0e, 0x01, 0x2b, 0x23, 0x1c, 0x05, // ....&.......+#.. + 0x02, 0x07, 0x06, 0x0a, 0x0c, 0x08, 0x10, 0xa1, 0xc2, 0x03, 0x02, 0x3a, 0xfe, 0xed, 0x19, 0x16, // ...........:.... + 0x1f, 0x12, 0x09, 0x08, 0x13, 0x27, 0x09, 0x12, 0x14, 0x08, 0x0e, 0x00, 0x00, 0x03, 0x00, 0x00, // .....'.......... + 0xff, 0x80, 0x05, 0x80, 0x05, 0x80, 0x00, 0x15, 0x00, 0x2b, 0x00, 0x61, 0x00, 0x00, 0x25, 0x16, // .........+.a..%. + 0x33, 0x20, 0x11, 0x34, 0x27, 0x2e, 0x04, 0x23, 0x22, 0x07, 0x14, 0x06, 0x15, 0x14, 0x06, 0x1e, // 3 .4'..#"....... + 0x01, 0x03, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x07, 0x14, 0x16, // ...32>.54..#"... + 0x15, 0x14, 0x06, 0x15, 0x14, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x04, 0x3c, 0x01, 0x35, 0x10, // ......7>.7>.<.5. + 0x27, 0x2e, 0x04, 0x2f, 0x01, 0x36, 0x24, 0x33, 0x32, 0x16, 0x33, 0x32, 0x1e, 0x03, 0x15, 0x14, // '../.6$32.32.... + 0x0e, 0x03, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x23, 0x22, 0x04, 0x02, // .........#"&#".. + 0x2b, 0x4a, 0x42, 0x01, 0x78, 0x29, 0x1b, 0x45, 0x42, 0x5f, 0x49, 0x3a, 0x49, 0x1c, 0x01, 0x02, // +JB.x).EB_I:I... + 0x01, 0x08, 0x06, 0x2a, 0x43, 0x52, 0x7a, 0x62, 0x33, 0x3a, 0x64, 0x74, 0x42, 0x32, 0x50, 0x08, // ...*CRzb3:dtB2P. + 0x01, 0xfd, 0xe4, 0x02, 0x0f, 0x8c, 0x24, 0x07, 0x0b, 0x06, 0x05, 0x01, 0x16, 0x04, 0x24, 0x35, // ......$.......$5 + 0x2e, 0x33, 0x05, 0x04, 0x62, 0x01, 0xe4, 0x83, 0x17, 0x5a, 0x17, 0x46, 0x85, 0x7c, 0x5c, 0x38, // .3..b....Z.F.|.8 + 0x21, 0x2d, 0x54, 0x3e, 0x35, 0x9a, 0xcd, 0x46, 0x75, 0x9f, 0xa8, 0x5c, 0x2c, 0xb0, 0x2c, 0x6a, // !-T>5..Fu...,.,j + 0xfe, 0x6e, 0x0f, 0x20, 0x01, 0x4f, 0x72, 0x42, 0x2c, 0x3c, 0x21, 0x11, 0x04, 0x0a, 0x35, 0xd4, // .n. .OrB,.7676.. + 0x27, 0x35, 0x2e, 0x02, 0x27, 0x37, 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x06, 0x07, 0x0e, // '5..'7..32>.7... + 0x01, 0x07, 0x0e, 0x03, 0x07, 0x06, 0x02, 0x07, 0x0e, 0x03, 0x1f, 0x01, 0x16, 0x17, 0x06, 0x07, // ................ + 0x22, 0x06, 0x23, 0x22, 0x26, 0x23, 0x26, 0x23, 0x22, 0x06, 0x11, 0x16, 0x4f, 0x41, 0x1b, 0x1c, // ".#"&#&#"...OA.. + 0x0d, 0x01, 0x7a, 0x6a, 0x01, 0x18, 0x3d, 0x4e, 0x13, 0x13, 0x21, 0xae, 0x7d, 0x3a, 0x30, 0x65, // ..zj..=N..!.}:0e + 0x8d, 0x1c, 0x05, 0x0e, 0x1e, 0x8f, 0x25, 0x08, 0x0c, 0x06, 0x09, 0x02, 0x1b, 0x79, 0x11, 0x02, // ......%......y.. + 0x16, 0x12, 0x0e, 0x01, 0x01, 0x11, 0xa8, 0x03, 0x0d, 0x0b, 0x2b, 0x0b, 0x1d, 0x74, 0x1c, 0x8a, // ..........+..t.. + 0x44, 0x33, 0xb8, 0x7e, 0x55, 0x07, 0x13, 0x13, 0x0e, 0x23, 0x42, 0x07, 0x02, 0x34, 0x02, 0x0b, // D3.~U....#B..4.. + 0x23, 0x19, 0x0d, 0x0b, 0x05, 0x03, 0x67, 0x02, 0x09, 0x05, 0x05, 0x09, 0x02, 0x27, 0x32, 0x0a, // #.....g......'2. + 0x25, 0x0f, 0x13, 0x2f, 0x21, 0x3a, 0x0d, 0x94, 0xfd, 0xe1, 0x54, 0x09, 0x62, 0x52, 0x55, 0x0f, // %../!:....T.bRU. + 0x12, 0x04, 0x1b, 0x2c, 0x37, 0x03, 0x14, 0x02, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ...,7........... + 0xff, 0x80, 0x06, 0xfa, 0x05, 0x80, 0x00, 0x1b, 0x00, 0x7d, 0x00, 0x00, 0x25, 0x32, 0x16, 0x0f, // .........}..%2.. + 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x36, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x26, 0x3f, 0x01, 0x36, // .."/.&6;..#"&?.6 + 0x32, 0x1f, 0x01, 0x16, 0x06, 0x2b, 0x01, 0x11, 0x01, 0x17, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, // 2....+.....32632 + 0x16, 0x33, 0x21, 0x32, 0x16, 0x3e, 0x02, 0x3f, 0x01, 0x32, 0x16, 0x33, 0x16, 0x15, 0x14, 0x07, // .3!2.>.?.2.3.... + 0x06, 0x07, 0x26, 0x27, 0x2e, 0x02, 0x27, 0x2e, 0x03, 0x06, 0x23, 0x22, 0x26, 0x22, 0x06, 0x07, // ..&'..'...#"&".. + 0x06, 0x17, 0x14, 0x12, 0x15, 0x14, 0x06, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x15, 0x14, 0x0f, // ................ + 0x01, 0x06, 0x24, 0x23, 0x22, 0x06, 0x23, 0x26, 0x3d, 0x01, 0x3e, 0x02, 0x37, 0x36, 0x11, 0x34, // ..$#".#&=.>.76.4 + 0x02, 0x3d, 0x01, 0x34, 0x36, 0x34, 0x2e, 0x01, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x0e, 0x02, // .=.464..'&#".... + 0x07, 0x26, 0x27, 0x11, 0x06, 0xd0, 0x21, 0x12, 0x14, 0x7e, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, // .&'...!..~.:.~.. + 0x21, 0x50, 0x50, 0x21, 0x12, 0x14, 0x7e, 0x14, 0x3a, 0x14, 0x7e, 0x14, 0x12, 0x21, 0x50, 0xf9, // !PP!..~.:.~..!P. + 0xd1, 0x36, 0x0c, 0xc7, 0x2c, 0xb0, 0x2c, 0x24, 0x8f, 0x24, 0x01, 0x25, 0x06, 0x1e, 0x0b, 0x15, // .6..,.,$.$.%.... + 0x0e, 0x08, 0x2a, 0x04, 0x14, 0x04, 0x02, 0x05, 0x27, 0x1d, 0x19, 0x1d, 0x03, 0x10, 0x0d, 0x01, // ..*.....'....... + 0x06, 0x0c, 0x13, 0x07, 0x1d, 0x02, 0x11, 0x63, 0x32, 0x4e, 0x20, 0x09, 0x01, 0x04, 0x05, 0x05, // .......c2N ..... + 0x0a, 0x28, 0xa8, 0x24, 0x05, 0x03, 0x22, 0x4c, 0xfe, 0xe4, 0x41, 0x32, 0xca, 0x33, 0x03, 0x11, // .(.$.."L..A2.3.. + 0x59, 0x6c, 0x18, 0x13, 0x06, 0x01, 0x02, 0x04, 0x03, 0x0b, 0x97, 0x21, 0x78, 0x14, 0x13, 0x1e, // Yl.........!x... + 0x21, 0x1a, 0x2a, 0x0e, 0x80, 0x25, 0x1a, 0xa2, 0x1a, 0x1a, 0xa2, 0x1a, 0x25, 0x04, 0x00, 0x25, // !.*..%......%..% + 0x1a, 0xa2, 0x1a, 0x1a, 0xa2, 0x1a, 0x25, 0xfc, 0x00, 0x04, 0xff, 0x1b, 0x05, 0x04, 0x01, 0x01, // ......%......... + 0x01, 0x05, 0x0d, 0x0b, 0x01, 0x01, 0x70, 0xe0, 0x50, 0x1d, 0x0e, 0x04, 0x2c, 0x54, 0x09, 0x4e, // ......p.P...,T.N + 0x45, 0x01, 0x08, 0x09, 0x03, 0x02, 0x01, 0x01, 0x04, 0x04, 0x51, 0x37, 0x5e, 0xfd, 0xb4, 0xa1, // E.........Q7^... + 0x10, 0x6f, 0x48, 0x21, 0x15, 0x2b, 0x10, 0x28, 0x0a, 0x0e, 0x0f, 0x01, 0x02, 0x14, 0x12, 0x33, // .oH!.+.(.......3 + 0x01, 0x09, 0x1b, 0x20, 0x1a, 0x0e, 0x2a, 0x01, 0x55, 0x65, 0x01, 0x94, 0x65, 0x75, 0x02, 0x1b, // ... ..*.Ue..eu.. + 0x17, 0x1c, 0x14, 0x04, 0x0c, 0x18, 0x0e, 0x0d, 0x77, 0x67, 0x02, 0x1a, 0x12, 0x01, 0x7f, 0x00, // ........wg...... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x03, 0x06, 0x00, 0x05, 0x80, 0x00, 0x61, 0x00, 0x95, 0x00, 0x00, // ...........a.... + 0x13, 0x17, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, 0x24, 0x04, 0x17, 0x16, 0x3f, 0x01, 0x32, 0x16, // ...32632$...?.2. + 0x33, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x26, 0x27, 0x26, 0x23, // 3......&'..5&'&# + 0x22, 0x26, 0x22, 0x06, 0x07, 0x06, 0x1f, 0x01, 0x35, 0x14, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x16, // "&".....5....... + 0x17, 0x1e, 0x01, 0x17, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x24, 0x23, 0x22, 0x06, 0x23, 0x26, // ..........$#".#& + 0x3d, 0x01, 0x3e, 0x02, 0x37, 0x3e, 0x02, 0x34, 0x26, 0x35, 0x34, 0x26, 0x35, 0x34, 0x3e, 0x01, // =.>.7>.4&54&54>. + 0x2e, 0x01, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x0e, 0x02, 0x07, 0x26, 0x27, 0x11, 0x01, 0x32, // ..'&#".....&'..2 + 0x1e, 0x02, 0x17, 0x16, 0x14, 0x07, 0x0e, 0x03, 0x23, 0x22, 0x2e, 0x01, 0x34, 0x36, 0x35, 0x21, // ........#"..465! + 0x14, 0x16, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x02, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x03, 0x33, // .....#"..'&47>.3 + 0x32, 0x1e, 0x01, 0x14, 0x06, 0x15, 0x21, 0x34, 0x26, 0x34, 0x3e, 0x01, 0x51, 0x36, 0x0c, 0xc7, // 2.....!4&4>.Q6.. + 0x2c, 0xb0, 0x2c, 0x46, 0x01, 0x61, 0x01, 0x00, 0x77, 0x21, 0x17, 0x2a, 0x04, 0x14, 0x04, 0x02, // ,.,F.a..w!.*.... + 0x05, 0x27, 0x1d, 0x19, 0x1d, 0x03, 0x10, 0x0e, 0x0a, 0x11, 0x05, 0x3d, 0x1e, 0x7e, 0x50, 0x6c, // .'.........=.~Pl + 0x2a, 0x09, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x0a, 0x28, 0xa8, 0x24, 0x05, 0x03, 0x22, 0x4c, // *........(.$.."L + 0xfe, 0xe4, 0x41, 0x32, 0xca, 0x33, 0x03, 0x11, 0x59, 0x6c, 0x18, 0x07, 0x09, 0x03, 0x01, 0x05, // ..A2.3..Yl...... + 0x01, 0x01, 0x01, 0x05, 0x04, 0x0b, 0x97, 0x29, 0xf4, 0x10, 0x13, 0x1e, 0x21, 0x1a, 0x2a, 0x0e, // .......)....!.*. + 0x05, 0x1e, 0x0c, 0x3c, 0x37, 0x40, 0x04, 0x1a, 0x1a, 0x04, 0x40, 0x37, 0x3c, 0x0c, 0x0d, 0x0f, // ...<7@....@7<... + 0x05, 0x03, 0xfc, 0x00, 0x03, 0x05, 0x0f, 0x0d, 0x0c, 0x3c, 0x37, 0x40, 0x04, 0x1a, 0x1a, 0x04, // .........<7@.... + 0x40, 0x37, 0x3c, 0x0c, 0x0d, 0x0f, 0x05, 0x03, 0x04, 0x00, 0x03, 0x05, 0x0f, 0x05, 0x7f, 0x1b, // @7<............. + 0x05, 0x04, 0x02, 0x01, 0x04, 0x01, 0x20, 0x01, 0x01, 0x70, 0xe0, 0x50, 0x1d, 0x0e, 0x04, 0x2c, // ...... ..p.P..., + 0x54, 0x09, 0x4d, 0x46, 0x01, 0x0d, 0x06, 0x02, 0x02, 0x04, 0x05, 0x51, 0x37, 0x98, 0x34, 0x37, // T.MF.......Q7.47 + 0xc6, 0xa2, 0x48, 0x10, 0x6f, 0x48, 0x21, 0x15, 0x2b, 0x10, 0x28, 0x0a, 0x0e, 0x0f, 0x01, 0x02, // ..H.oH!.+.(..... + 0x14, 0x12, 0x33, 0x01, 0x09, 0x1b, 0x20, 0x1a, 0x0e, 0x10, 0x74, 0xaf, 0x87, 0xac, 0x03, 0x07, // ..3... ...t..... + 0x1d, 0x08, 0x07, 0x4a, 0x48, 0x51, 0x36, 0x05, 0x0c, 0x1b, 0x0b, 0x0c, 0x77, 0x68, 0x02, 0x1a, // ...JHQ6.....wh.. + 0x12, 0x01, 0x7f, 0xfa, 0xff, 0x27, 0x2c, 0x36, 0x03, 0x15, 0x38, 0x15, 0x03, 0x36, 0x2c, 0x27, // .....',6..8..6,' + 0x15, 0x24, 0x1f, 0x23, 0x02, 0x02, 0x23, 0x1f, 0x24, 0x15, 0x27, 0x2c, 0x36, 0x03, 0x15, 0x38, // .$.#..#.$.',6..8 + 0x15, 0x03, 0x36, 0x2c, 0x27, 0x15, 0x24, 0x1f, 0x23, 0x02, 0x02, 0x23, 0x1f, 0x24, 0x15, 0x00, // ..6,'.$.#..#.$.. + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .?..%...#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, // 3!2...&....&&... + 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x00, 0x1a, 0x26, // .&..&....&&....& + 0x01, 0x00, 0x26, 0x1a, 0xfa, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x00, 0x1a, 0x26, 0xfe, 0x80, // ..&....&&....&.. + 0x26, 0x1a, 0xfb, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x04, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, // &....&&....&...& + 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, // &...&&.f..&&...& + 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, // &.f..&&...&&.f.. + 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // &&...&&......... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, // ......./.?..%... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // #!"&=.463!2..... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, // #!"&=.463!2...&. + 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfc, 0x80, // ...&&....&..&... + 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x80, 0x1a, 0x26, 0x01, 0x00, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, // .&&....&..&....& + 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xfe, 0x80, 0x26, 0x1a, 0xfd, 0x80, 0x1a, 0x26, 0x26, 0x1a, // &....&..&....&&. + 0x02, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, // ...&...&&...&&.f + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ..&&...&&.f..&&. + 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, // ..&&.f..&&...&&. + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .?..%...#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, // 3!2...&....&&... + 0x1a, 0x26, 0x26, 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x00, 0x1a, 0x26, 0x26, 0x1a, // .&&....&&....&&. + 0xfa, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xfb, 0x80, 0x1a, 0x26, // ...&&....&&....& + 0x26, 0x1a, 0x04, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // &....&...&&...&& + 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, // .f..&&...&&.f..& + 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, // &...&&.f..&&...& + 0x26, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // &............... 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // .../.?..%...#!"& 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, // =.463!2...&....& - 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x00, // &....&&....&&... - 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x00, 0x1a, 0x26, 0x26, 0x1a, // .&&....&&....&&. - 0xfb, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x04, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ...&&....&...&&. + 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, // &....&&....&&... + 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, // .&&....&&....&&. + 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ...&&....&...&&. 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, // ..&&.f..&&...&&. 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, // f..&&...&&.f..&& - 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ...&&........... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, // ......./.?..%... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, 0x26, 0x1a, // #!"&=.463!2...&. - 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, // ...&&....&&....& - 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, // &....&&....&&... - 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xc0, 0x80, // .&&....&&....&.. - 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, // .&&...&&.f..&&.. - 0x1a, 0x26, 0x26, 0x01, 0x66, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x66, // .&&.f..&&...&&.f - 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, // ..&&...&&....... - 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O - 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // ._.o....%...+."& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.46;.2.....+."& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.46;.2.....+."& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.46;.2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.463!2.....+."& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.46;.2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x00, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // =.463!2......... - 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, // ................ - 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x06, 0x00, 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, // ................ - 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0xfa, 0x00, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, // ...@............ - 0x0d, 0x13, 0x06, 0x00, 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, // .............@.. + 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ...&&........... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o + 0x00, 0x7f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ....%...+."&=.46 + 0x3b, 0x01, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.....+."&=.46 + 0x3b, 0x01, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.....+."&=.46 + 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....+."&=.46 + 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ;.2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x01, 0x00, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, // 3!2............. + 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // ................ + 0x0d, 0xc0, 0x0d, 0x13, 0x06, 0x00, 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, // ...............@ + 0x0d, 0x13, 0xfa, 0x00, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x06, 0x00, // ................ 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfa, 0xc0, // .........@...... - 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0xe0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, // .....@.......... - 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, // ...s..........s. - 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0xfc, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, // ................ - 0x0d, 0x13, 0x13, 0x04, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0xfc, 0xf3, // ....s........... + 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, 0x13, 0x0d, // .....@.......... + 0x05, 0x40, 0x0d, 0x13, 0xe0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, // .@.............s 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, // ..........s..... - 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, // .....s.......... + 0xc0, 0x0d, 0x13, 0x13, 0xfc, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x04, // ................ + 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0xfc, 0xf3, 0xc0, 0x0d, 0x13, 0x13, // s............... + 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // ......s......... + 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x00, 0x05, 0x00, 0x00, // .s.............. + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O + 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x33, // ......#"'.&47.63 + 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x01, 0x80, 0x13, 0x0d, 0x0e, 0x09, 0xfe, 0xe0, 0x09, 0x09, 0x01, 0x20, 0x09, 0x0e, // 2............ .. + 0x0d, 0x13, 0x05, 0x80, 0x13, 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, // .......@........ + 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, // .........@...... + 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, // .....@.....@.... + 0x06, 0xc0, 0x0d, 0x13, 0x03, 0xe0, 0xfd, 0xc0, 0x0d, 0x13, 0x09, 0x01, 0x20, 0x09, 0x1c, 0x09, // ............ ... + 0x01, 0x20, 0x09, 0x13, 0xfc, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, // . .............. + 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, // s..........s.... + 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // ......s......... 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ - 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x34, // .?.O......#"'.&4 - 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 7.632.....#!"&=. + 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, // .?.O.......#"&5. + 0x34, 0x36, 0x33, 0x32, 0x17, 0x09, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 4632......#!"&=. 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x13, 0x0d, 0x0e, 0x09, 0xfe, 0xe0, 0x09, 0x09, // 463!2........... - 0x01, 0x20, 0x09, 0x0e, 0x0d, 0x13, 0x05, 0x80, 0x13, 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, // . .........@.... - 0x06, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, // .............@.. - 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xf9, 0x40, // .........@.....@ - 0x0d, 0x13, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, 0x03, 0xe0, 0xfd, 0xc0, 0x0d, 0x13, 0x09, 0x01, // ................ - 0x20, 0x09, 0x1c, 0x09, 0x01, 0x20, 0x09, 0x13, 0xfc, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, // .... .......... - 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, // ....s..........s - 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, // ..........s..... - 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, // .../.?.O.......# - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x09, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // "&5.4632......#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.....#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x60, 0x09, 0xfe, 0xe0, 0x09, // "&=.463!2..`.... - 0x0e, 0x0d, 0x13, 0x13, 0x0d, 0x0e, 0x09, 0x01, 0x20, 0x05, 0xa9, 0x13, 0x0d, 0xf9, 0x40, 0x0d, // ........ .....@. - 0x13, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, // ................ - 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, // @...........@... - 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, 0x02, 0xce, 0x1c, 0x09, 0xfe, // ..@............. - 0xe0, 0x09, 0x13, 0x0d, 0x02, 0x40, 0x0d, 0x13, 0x09, 0xfe, 0xe0, 0xfe, 0x09, 0xc0, 0x0d, 0x13, // .....@.......... - 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, // .......s........ - 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, // ..s..........s.. - 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ................ - 0x05, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x15, // ...........#"'.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, // ..#!"&5.463!2... - 0x01, 0x36, 0x33, 0x32, 0x17, 0x16, 0x07, 0x00, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x6d, 0xa9, // .632....'.....m. - 0x77, 0xfd, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x02, 0xc0, 0x77, 0xa9, 0x01, 0x93, 0x12, 0x1b, 0x0c, // w.@w..w..w...... - 0x0d, 0x27, 0x04, 0xa0, 0xfb, 0xc0, 0x2a, 0x11, 0x05, 0x13, 0x01, 0x93, 0xa6, 0x77, 0xa9, 0xa9, // .'....*......w.. - 0x77, 0x02, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0xa5, 0x01, 0x92, 0x13, 0x05, 0x11, 0x00, 0x00, 0x00, // w..w..w......... - 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x1e, // ................ - 0x00, 0x2e, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x11, 0x21, 0x35, // ......."&462..!5 - 0x01, 0x17, 0x09, 0x01, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x35, // ....!".....3!265 - 0x11, 0x34, 0x26, 0x17, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, // .4&....#!"&5.463 - 0x21, 0x32, 0x16, 0x02, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x04, 0x70, 0xfa, 0x80, 0x01, 0x40, // !2...p.pp..p...@ - 0xa0, 0x02, 0x00, 0x02, 0x00, 0xf9, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0x40, 0x0d, 0x13, 0x13, // ............@... - 0x93, 0x5e, 0x42, 0xf9, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0x40, 0x42, 0x5e, 0x04, 0x10, 0xa0, // .^B..B^^B.@B^... - 0x70, 0x70, 0xa0, 0x70, 0xfd, 0xc0, 0xfe, 0x40, 0xc0, 0x01, 0x40, 0xa0, 0x02, 0x00, 0x01, 0x20, // pp.p...@..@.... - 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0x20, 0xfb, 0x40, 0x42, // ...@........ .@B - 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x05, 0xeb, // ^^B..B^^........ - 0x05, 0x6b, 0x00, 0x06, 0x00, 0x14, 0x00, 0x19, 0x00, 0x25, 0x00, 0x00, 0x21, 0x37, 0x27, 0x07, // .k.......%..!7'. - 0x15, 0x33, 0x15, 0x01, 0x34, 0x23, 0x22, 0x07, 0x01, 0x06, 0x15, 0x14, 0x33, 0x32, 0x37, 0x01, // .3..4#".....327. - 0x36, 0x27, 0x09, 0x01, 0x21, 0x11, 0x01, 0x14, 0x0f, 0x01, 0x01, 0x37, 0x36, 0x33, 0x32, 0x1f, // 6'..!......7632. - 0x01, 0x16, 0x01, 0x6b, 0x5b, 0xeb, 0x5b, 0x80, 0x02, 0x76, 0x16, 0x0a, 0x07, 0xfd, 0xe2, 0x07, // ...k[.[..v...... - 0x16, 0x0a, 0x07, 0x02, 0x1e, 0x07, 0x36, 0x01, 0xa0, 0xfc, 0xc0, 0xfe, 0x60, 0x05, 0xeb, 0x25, // ......6.....`..% - 0xa6, 0xfe, 0x60, 0xa6, 0x24, 0x36, 0x35, 0x26, 0xeb, 0x25, 0x5b, 0xeb, 0x5b, 0x6b, 0x80, 0x03, // ..`.$65&.%[.[k.. - 0xa0, 0x16, 0x07, 0xfd, 0xe2, 0x07, 0x0a, 0x16, 0x07, 0x02, 0x1e, 0x07, 0xca, 0xfe, 0x60, 0xfc, // ..............`. - 0xc0, 0x01, 0xa0, 0x02, 0xe0, 0x35, 0x25, 0xa6, 0x01, 0xa0, 0xa5, 0x26, 0x26, 0xea, 0x27, 0x00, // .....5%....&&.'. - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, // ................ - 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, 0x0e, 0x01, 0x22, 0x26, // .4&"...2......"& - 0x27, 0x01, 0x26, 0x35, 0x34, 0x00, 0x20, 0x00, 0x03, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x01, // '.&54. ......... - 0x96, 0x21, 0xfe, 0x94, 0x10, 0x3f, 0x48, 0x3f, 0x0f, 0xfe, 0x93, 0x21, 0x01, 0x2c, 0x01, 0xa8, // .!...?H?...!.,.. - 0x01, 0x2c, 0x03, 0x16, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x01, 0x00, 0x6d, 0x46, 0xfc, 0xfa, 0x21, // .,.........mF..! - 0x26, 0x26, 0x21, 0x03, 0x06, 0x46, 0x6d, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x02, 0x00, 0x00, // &&!..Fm..,...... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x25, 0x11, 0x22, 0x0e, // ............%.". - 0x01, 0x10, 0x1e, 0x01, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // ........ $...$ . - 0x03, 0x00, 0x94, 0xfa, 0x92, 0x92, 0xfa, 0x03, 0x94, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, // .............^.. - 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x60, 0x04, 0x40, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, // ...a...a`.@..... - 0x92, 0x02, 0xf1, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, // ....^.....a...a. - 0xce, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xc0, 0x00, 0x15, // ................ - 0x00, 0x2d, 0x00, 0x00, 0x01, 0x34, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x22, 0x07, 0x0e, 0x03, 0x07, // .-...4'..'&".... - 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x25, 0x14, 0x00, 0x20, 0x00, 0x35, 0x34, 0x37, 0x3e, 0x03, // ....26%.. .547>. - 0x37, 0x3e, 0x01, 0x32, 0x16, 0x17, 0x1e, 0x03, 0x17, 0x16, 0x02, 0x00, 0x14, 0x01, 0x1d, 0x16, // 7>.2............ - 0x1c, 0x07, 0x04, 0x22, 0x04, 0x07, 0x1c, 0x16, 0x1d, 0x01, 0x14, 0x4b, 0x6a, 0x4b, 0x02, 0x00, // ...".......KjK.. - 0xfe, 0xd4, 0xfe, 0x58, 0xfe, 0xd4, 0x51, 0x06, 0x71, 0x59, 0x6e, 0x1c, 0x09, 0x32, 0x34, 0x33, // ...X..Q.qYn..243 - 0x08, 0x1c, 0x6e, 0x59, 0x71, 0x06, 0x51, 0x01, 0x80, 0x24, 0x21, 0x01, 0x2b, 0x21, 0x37, 0x17, // ..nYq.Q..$!.+!7. - 0x10, 0x10, 0x17, 0x37, 0x21, 0x2b, 0x01, 0x21, 0x24, 0x35, 0x4b, 0x4b, 0xb5, 0xd4, 0xfe, 0xd4, // ...7!+.!$5KK.... - 0x01, 0x2c, 0xd4, 0x91, 0x82, 0x09, 0xa3, 0x8b, 0xd9, 0x5d, 0x1e, 0x22, 0x22, 0x1e, 0x5d, 0xd9, // .,.......]."".]. - 0x8b, 0xa3, 0x09, 0x7f, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0xf8, 0x05, 0x80, 0x00, 0x06, // ................ - 0x00, 0x0e, 0x00, 0x39, 0x00, 0x3e, 0x00, 0x48, 0x00, 0x00, 0x01, 0x37, 0x27, 0x07, 0x15, 0x33, // ...9.>.H...7'..3 - 0x15, 0x00, 0x26, 0x07, 0x01, 0x06, 0x16, 0x37, 0x01, 0x13, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, // ..&....7.....#!" - 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x27, // &5.463!2.......' - 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, // &#!".....3!26=.4 - 0x3f, 0x01, 0x36, 0x16, 0x03, 0x09, 0x01, 0x21, 0x11, 0x01, 0x07, 0x01, 0x37, 0x36, 0x32, 0x1f, // ?.6....!....762. - 0x01, 0x16, 0x14, 0x03, 0x78, 0x74, 0x98, 0x74, 0x60, 0x02, 0x00, 0x20, 0x11, 0xfe, 0xa2, 0x11, // ....xt.t`.. .... - 0x20, 0x11, 0x01, 0x5e, 0x51, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x3f, // ..^Q.w..w..w.@? - 0x36, 0x0f, 0x03, 0x03, 0x0c, 0x31, 0x0e, 0x12, 0x17, 0x16, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, // 6....1......B^^B - 0x03, 0x40, 0x42, 0x5e, 0x09, 0x40, 0x0f, 0x28, 0x60, 0x01, 0x20, 0xfd, 0x60, 0xfe, 0xe0, 0x04, // .@B^.@.(`. .`... - 0x5c, 0x5c, 0xfe, 0xe0, 0x5c, 0x1c, 0x50, 0x1c, 0x98, 0x1c, 0x01, 0x60, 0x74, 0x98, 0x74, 0x38, // ......P....`t.t8 - 0x60, 0x02, 0xc0, 0x20, 0x11, 0xfe, 0xa2, 0x11, 0x20, 0x11, 0x01, 0x5e, 0xfd, 0xcf, 0xbe, 0x77, // `.. .... ..^...w - 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x19, 0x07, 0x10, 0x11, 0x0c, 0x31, 0x0e, 0x06, 0x06, // ..w.@w......1... - 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x7e, 0x0d, 0x09, 0x40, 0x0f, 0x10, 0x02, 0xcd, // ^B..B^^B~..@.... - 0xfe, 0xe0, 0xfd, 0x60, 0x01, 0x20, 0x02, 0x1c, 0x5c, 0x01, 0x20, 0x5c, 0x1c, 0x1c, 0x98, 0x1c, // ...`. .... ..... - 0x50, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x2b, // P..............+ - 0x00, 0x5a, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .Z......#!"&5.46 - 0x33, 0x21, 0x31, 0x32, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x06, 0x15, // 3!12.......+.".. - 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, // ...3!26=.47676.. - 0x13, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x23, 0x20, 0x07, 0x06, 0x13, 0x16, 0x07, // ...#"'&=.# ..... - 0x06, 0x23, 0x22, 0x27, 0x2e, 0x04, 0x35, 0x34, 0x3e, 0x07, 0x3b, 0x01, 0x35, 0x34, 0x37, 0x36, // .#"'..54>.;.5476 - 0x33, 0x32, 0x17, 0x01, 0x16, 0x14, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, // 32.......w..w..w - 0x00, 0xff, 0x0d, 0x13, 0x1a, 0x4d, 0x38, 0x0a, 0x06, 0x70, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, // .....M8..pB^^B.@ - 0x42, 0x5e, 0x12, 0x1c, 0x1a, 0x10, 0x13, 0x15, 0xed, 0xfe, 0x80, 0x12, 0x1b, 0x0c, 0x0d, 0x27, // B^.............' - 0xa0, 0xfe, 0xbd, 0x73, 0x77, 0x2d, 0x03, 0x17, 0x08, 0x04, 0x10, 0x0a, 0x0a, 0x16, 0x39, 0x2a, // ...sw-........9* - 0x23, 0x07, 0x15, 0x23, 0x3b, 0x4e, 0x6f, 0x8a, 0xb5, 0x6a, 0xa0, 0x27, 0x0d, 0x0c, 0x1a, 0x13, // #..#;No..j.'.... - 0x01, 0x80, 0x13, 0x02, 0x23, 0xfe, 0xfd, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x13, // ....#..w..w.@w.. - 0x0d, 0x1b, 0x05, 0x1a, 0x22, 0x04, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0xd6, 0x13, // ....".^B..B^^B.. - 0x0a, 0x0d, 0x18, 0x10, 0x08, 0x09, 0x01, 0xdc, 0xfe, 0x80, 0x13, 0x05, 0x11, 0x2a, 0xc0, 0x83, // .............*.. - 0x89, 0xfe, 0xb0, 0x17, 0x0b, 0x02, 0x0d, 0x0e, 0x22, 0x67, 0x60, 0x84, 0x38, 0x31, 0x54, 0x60, // ........"g`.81T` - 0x50, 0x53, 0x41, 0x3a, 0x27, 0x16, 0xc0, 0x2a, 0x11, 0x05, 0x13, 0xfe, 0x80, 0x13, 0x34, 0x00, // PSA:'..*......4. - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x7f, 0x05, 0x80, 0x00, 0x2f, 0x00, 0x44, 0x00, 0x00, // .........../.D.. - 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, // ....#!"&5.463!2. - 0x16, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // ......#"'&#!"... - 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x16, // ..3!26=.4?.632.. - 0x13, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x09, 0x01, 0x36, // ..."'.&4?.62...6 - 0x32, 0x1f, 0x01, 0x16, 0x14, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, // 2.......w..w..w. - 0x40, 0x3f, 0x36, 0x0f, 0x03, 0x03, 0x0c, 0x31, 0x0a, 0x0d, 0x03, 0x06, 0x17, 0x16, 0xfc, 0xc0, // @?6....1........ - 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, 0x09, 0x40, 0x0a, 0x0d, 0x06, 0x06, 0x14, 0xe7, // B^^B.@B^.@...... - 0xfc, 0xd2, 0x18, 0x42, 0x18, 0xfe, 0x52, 0x18, 0x18, 0x6e, 0x18, 0x42, 0x18, 0x01, 0x07, 0x02, // ...B..R..n.B.... - 0x87, 0x18, 0x42, 0x18, 0x6e, 0x18, 0x02, 0x5e, 0xfe, 0xc2, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, // ..B.n..^..w..w.@ - 0x77, 0xa9, 0x19, 0x07, 0x10, 0x11, 0x0c, 0x31, 0x0a, 0x02, 0x06, 0x5e, 0x42, 0xfc, 0xc0, 0x42, // w......1...^B..B - 0x5e, 0x5e, 0x42, 0xfe, 0x0d, 0x09, 0x40, 0x0a, 0x03, 0x08, 0x01, 0xd4, 0xfc, 0xd2, 0x18, 0x18, // ^^B...@......... - 0x01, 0xae, 0x18, 0x42, 0x18, 0x6e, 0x18, 0x18, 0xfe, 0xf9, 0x02, 0x87, 0x18, 0x18, 0x6e, 0x18, // ...B.n........n. - 0x42, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x43, // B..............C - 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x11, 0x33, 0x32, 0x16, // ......."&=.!.32. - 0x14, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x21, 0x15, 0x14, // ...."'.&46;..!.. - 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x11, 0x23, // ."'.&47.62...!.# - 0x22, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x21, // "&47.62.....+..! - 0x35, 0x34, 0x36, 0x32, 0x17, 0x01, 0x07, 0x00, 0x13, 0xff, 0x00, 0x13, 0x34, 0x26, 0xfe, 0x80, // 5462........4&.. - 0x80, 0x1a, 0x26, 0x13, 0xff, 0x00, 0x13, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0xfe, // ..&....4....&... - 0x80, 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x01, 0x80, 0x80, // .&4........4&... - 0x1a, 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x01, 0x80, // .&....4....&.... - 0x26, 0x34, 0x13, 0x01, 0x00, 0x02, 0x9a, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0xfe, // &4.....4....&... - 0x80, 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x01, 0x80, 0x80, // .&4........4&... - 0x1a, 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x01, 0x80, // .&....4....&.... - 0x26, 0x34, 0x13, 0x01, 0x00, 0x13, 0x13, 0xff, 0x00, 0x13, 0x34, 0x26, 0xfe, 0x80, 0x80, 0x1a, // &4........4&.... - 0x26, 0x13, 0xff, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x1d, // &............... - 0x00, 0x00, 0x01, 0x36, 0x16, 0x15, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, // ...6.....'.&'... - 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x36, 0x37, // +."&5.46;.2...67 - 0x03, 0xd3, 0x13, 0x1a, 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // .......:..&...&& - 0x1a, 0x80, 0x1a, 0x26, 0x04, 0x09, 0x05, 0x73, 0x13, 0x0c, 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x13, // ...&...s....@... - 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x5a, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, // .....Z.&&....&&. - 0xfd, 0x5a, 0x0b, 0x08, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x2b, // .Z.............+ - 0x00, 0x00, 0x01, 0x36, 0x16, 0x15, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, // ...6.....'.&'... - 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, // '.&'...+."&5.46; - 0x01, 0x32, 0x16, 0x15, 0x11, 0x36, 0x37, 0x01, 0x36, 0x16, 0x15, 0x11, 0x36, 0x37, 0x06, 0xd3, // .2...67.6...67.. - 0x13, 0x1a, 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x26, 0x1a, // .....:.....:..&. - 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x04, 0x09, 0x02, 0xc6, 0x13, 0x1a, 0x04, 0x09, // ..&&...&........ - 0x05, 0x73, 0x13, 0x0c, 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x3a, // .s....@........: - 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x5a, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, // ........Z.&&.... - 0x26, 0x26, 0x1a, 0xfd, 0x5a, 0x0b, 0x08, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfd, 0x3a, 0x0b, 0x08, // &&..Z........:.. - 0x00, 0x01, 0x00, 0x7a, 0xff, 0x80, 0x06, 0x80, 0x05, 0x80, 0x00, 0x19, 0x00, 0x00, 0x01, 0x36, // ...z...........6 - 0x16, 0x15, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x34, // .....'.&'...'.&4 - 0x37, 0x01, 0x36, 0x16, 0x15, 0x11, 0x36, 0x37, 0x06, 0x53, 0x13, 0x1a, 0x1a, 0x13, 0xfd, 0x3a, // 7.6...67.S.....: - 0x08, 0x05, 0x1a, 0x13, 0xfd, 0x3a, 0x13, 0x13, 0x02, 0xc6, 0x13, 0x1a, 0x05, 0x08, 0x05, 0x73, // .....:.........s - 0x13, 0x0c, 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x3a, 0x1a, 0x0c, // ....@........:.. - 0x13, 0x02, 0xc6, 0x13, 0x34, 0x13, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfd, 0x3a, 0x0b, 0x08, 0x00, // ....4.......:... - 0x00, 0x01, 0x00, 0x00, 0xff, 0x7c, 0x05, 0x7f, 0x05, 0x84, 0x00, 0x0b, 0x00, 0x00, 0x09, 0x01, // .....|.......... - 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x14, 0x05, 0x68, 0xfa, 0xd0, 0x17, 0x21, // .&5.46.....h...! - 0x21, 0x17, 0x05, 0x30, 0x17, 0x02, 0x61, 0xfd, 0x1e, 0x0d, 0x14, 0x1a, 0x05, 0xc0, 0x1a, 0x14, // !..0..a......... - 0x0d, 0xfd, 0x1e, 0x0d, 0x24, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ....$........... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ............#!"& - 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // 5.463!2.....#!"& - 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, // 5.463!2...&....& - 0x26, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0xfc, 0x80, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x1a, // &....&..&....&&. - 0x02, 0x00, 0x1a, 0x26, 0x05, 0x40, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, // ...&.@...&&....& - 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, // &....&&....&&... - 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x11, // ................ - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, // ..#!"&5.463!2... - 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x05, 0x40, 0xfa, 0x80, // &....&&....&.@.. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x60, 0x09, 0xfe, 0xe0, 0x09, 0x0e, 0x0d, 0x13, 0x13, // 463!2..`........ + 0x0d, 0x0e, 0x09, 0x01, 0x20, 0x05, 0xa9, 0x13, 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x06, // .... .....@..... + 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, // ............@... + 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xf9, 0x40, 0x0d, // ........@.....@. + 0x13, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, 0x02, 0xce, 0x1c, 0x09, 0xfe, 0xe0, 0x09, 0x13, 0x0d, // ................ + 0x02, 0x40, 0x0d, 0x13, 0x09, 0xfe, 0xe0, 0xfe, 0x09, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, // .@.............. + 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, // ...s..........s. + 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0x73, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, // .........s...... + 0x0d, 0x13, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x1f, // ................ + 0x00, 0x00, 0x01, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // .......#"'....#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x01, 0x36, 0x33, 0x32, // "&5.463!2....632 + 0x17, 0x16, 0x07, 0x00, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x6d, 0xa9, 0x77, 0xfd, 0x40, 0x77, // ....'.....m.w.@w + 0xa9, 0xa9, 0x77, 0x02, 0xc0, 0x77, 0xa9, 0x01, 0x93, 0x12, 0x1b, 0x0c, 0x0d, 0x27, 0x04, 0xa0, // ..w..w.......'.. + 0xfb, 0xc0, 0x2a, 0x11, 0x05, 0x13, 0x01, 0x93, 0xa6, 0x77, 0xa9, 0xa9, 0x77, 0x02, 0xc0, 0x77, // ..*......w..w..w + 0xa9, 0xa9, 0x77, 0xa5, 0x01, 0x92, 0x13, 0x05, 0x11, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ..w............. + 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x2e, 0x00, 0x00, // ................ + 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x11, 0x21, 0x35, 0x01, 0x17, 0x09, 0x01, // ..."&462..!5.... + 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x17, // !".....3!265.4&. + 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, // ...#!"&5.463!2.. + 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x04, 0x70, 0xfa, 0x80, 0x01, 0x40, 0xa0, 0x02, 0x00, 0x02, // .p.pp..p...@.... + 0x00, 0xf9, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0x40, 0x0d, 0x13, 0x13, 0x93, 0x5e, 0x42, 0xf9, // ........@....^B. + 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0x40, 0x42, 0x5e, 0x04, 0x10, 0xa0, 0x70, 0x70, 0xa0, 0x70, // .B^^B.@B^...pp.p + 0xfd, 0xc0, 0xfe, 0x40, 0xc0, 0x01, 0x40, 0xa0, 0x02, 0x00, 0x01, 0x20, 0x13, 0x0d, 0xfb, 0x40, // ...@..@.... ...@ + 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0x20, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, // ........ .@B^^B. + 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x05, 0xeb, 0x05, 0x6b, 0x00, 0x06, // .B^^.........k.. + 0x00, 0x14, 0x00, 0x19, 0x00, 0x25, 0x00, 0x00, 0x21, 0x37, 0x27, 0x07, 0x15, 0x33, 0x15, 0x01, // .....%..!7'..3.. + 0x34, 0x23, 0x22, 0x07, 0x01, 0x06, 0x15, 0x14, 0x33, 0x32, 0x37, 0x01, 0x36, 0x27, 0x09, 0x01, // 4#".....327.6'.. + 0x21, 0x11, 0x01, 0x14, 0x0f, 0x01, 0x01, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x01, 0x6b, // !......7632....k + 0x5b, 0xeb, 0x5b, 0x80, 0x02, 0x76, 0x16, 0x0a, 0x07, 0xfd, 0xe2, 0x07, 0x16, 0x0a, 0x07, 0x02, // [.[..v.......... + 0x1e, 0x07, 0x36, 0x01, 0xa0, 0xfc, 0xc0, 0xfe, 0x60, 0x05, 0xeb, 0x25, 0xa6, 0xfe, 0x60, 0xa6, // ..6.....`..%..`. + 0x24, 0x36, 0x35, 0x26, 0xeb, 0x25, 0x5b, 0xeb, 0x5b, 0x6b, 0x80, 0x03, 0xa0, 0x16, 0x07, 0xfd, // $65&.%[.[k...... + 0xe2, 0x07, 0x0a, 0x16, 0x07, 0x02, 0x1e, 0x07, 0xca, 0xfe, 0x60, 0xfc, 0xc0, 0x01, 0xa0, 0x02, // ..........`..... + 0xe0, 0x35, 0x25, 0xa6, 0x01, 0xa0, 0xa5, 0x26, 0x26, 0xea, 0x27, 0x00, 0x00, 0x02, 0x00, 0x00, // .5%....&&.'..... + 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, // .............4&" + 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x07, 0x01, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x01, 0x26, 0x35, // ...2......"&'.&5 + 0x34, 0x00, 0x20, 0x00, 0x03, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x01, 0x96, 0x21, 0xfe, 0x94, // 4. ..........!.. + 0x10, 0x3f, 0x48, 0x3f, 0x0f, 0xfe, 0x93, 0x21, 0x01, 0x2c, 0x01, 0xa8, 0x01, 0x2c, 0x03, 0x16, // .?H?...!.,...,.. + 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x01, 0x00, 0x6d, 0x46, 0xfc, 0xfa, 0x21, 0x26, 0x26, 0x21, 0x03, // .......mF..!&&!. + 0x06, 0x46, 0x6d, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .Fm..,.......... + 0x05, 0x80, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x25, 0x11, 0x22, 0x0e, 0x01, 0x10, 0x1e, 0x01, // ........%."..... + 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x00, 0x94, 0xfa, // .... $...$ ..... + 0x92, 0x92, 0xfa, 0x03, 0x94, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // .........^.....a + 0x01, 0xa2, 0x01, 0x61, 0x60, 0x04, 0x40, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x02, 0xf1, 0xfe, // ...a`.@......... + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xc0, 0x00, 0x15, 0x00, 0x2d, 0x00, 0x00, // .............-.. + 0x01, 0x34, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x22, 0x07, 0x0e, 0x03, 0x07, 0x06, 0x15, 0x14, 0x16, // .4'..'&"........ + 0x32, 0x36, 0x25, 0x14, 0x00, 0x20, 0x00, 0x35, 0x34, 0x37, 0x3e, 0x03, 0x37, 0x3e, 0x01, 0x32, // 26%.. .547>.7>.2 + 0x16, 0x17, 0x1e, 0x03, 0x17, 0x16, 0x02, 0x00, 0x14, 0x01, 0x1d, 0x16, 0x1c, 0x07, 0x04, 0x22, // ..............." + 0x04, 0x07, 0x1c, 0x16, 0x1d, 0x01, 0x14, 0x4b, 0x6a, 0x4b, 0x02, 0x00, 0xfe, 0xd4, 0xfe, 0x58, // .......KjK.....X + 0xfe, 0xd4, 0x51, 0x06, 0x71, 0x59, 0x6e, 0x1c, 0x09, 0x32, 0x34, 0x33, 0x08, 0x1c, 0x6e, 0x59, // ..Q.qYn..243..nY + 0x71, 0x06, 0x51, 0x01, 0x80, 0x24, 0x21, 0x01, 0x2b, 0x21, 0x37, 0x17, 0x10, 0x10, 0x17, 0x37, // q.Q..$!.+!7....7 + 0x21, 0x2b, 0x01, 0x21, 0x24, 0x35, 0x4b, 0x4b, 0xb5, 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0xd4, 0x91, // !+.!$5KK.....,.. + 0x82, 0x09, 0xa3, 0x8b, 0xd9, 0x5d, 0x1e, 0x22, 0x22, 0x1e, 0x5d, 0xd9, 0x8b, 0xa3, 0x09, 0x7f, // .....]."".]..... + 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0xf8, 0x05, 0x80, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x39, // ...............9 + 0x00, 0x3e, 0x00, 0x48, 0x00, 0x00, 0x01, 0x37, 0x27, 0x07, 0x15, 0x33, 0x15, 0x00, 0x26, 0x07, // .>.H...7'..3..&. + 0x01, 0x06, 0x16, 0x37, 0x01, 0x13, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // ...7.....#!"&5.4 + 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x0f, 0x01, 0x06, 0x27, 0x26, 0x23, 0x21, 0x22, // 63!2.......'&#!" + 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x36, 0x16, // .....3!26=.4?.6. + 0x03, 0x09, 0x01, 0x21, 0x11, 0x01, 0x07, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x03, // ...!....762..... + 0x78, 0x74, 0x98, 0x74, 0x60, 0x02, 0x00, 0x20, 0x11, 0xfe, 0xa2, 0x11, 0x20, 0x11, 0x01, 0x5e, // xt.t`.. .... ..^ + 0x51, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x3f, 0x36, 0x0f, 0x03, 0x03, // Q.w..w..w.@?6... + 0x0c, 0x31, 0x0e, 0x12, 0x17, 0x16, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, // .1......B^^B.@B^ + 0x09, 0x40, 0x0f, 0x28, 0x60, 0x01, 0x20, 0xfd, 0x60, 0xfe, 0xe0, 0x04, 0x5c, 0x5c, 0xfe, 0xe0, // .@.(`. .`....... + 0x5c, 0x1c, 0x50, 0x1c, 0x98, 0x1c, 0x01, 0x60, 0x74, 0x98, 0x74, 0x38, 0x60, 0x02, 0xc0, 0x20, // ..P....`t.t8`.. + 0x11, 0xfe, 0xa2, 0x11, 0x20, 0x11, 0x01, 0x5e, 0xfd, 0xcf, 0xbe, 0x77, 0xa9, 0xa9, 0x77, 0x03, // .... ..^...w..w. + 0x40, 0x77, 0xa9, 0x19, 0x07, 0x10, 0x11, 0x0c, 0x31, 0x0e, 0x06, 0x06, 0x5e, 0x42, 0xfc, 0xc0, // @w......1...^B.. + 0x42, 0x5e, 0x5e, 0x42, 0x7e, 0x0d, 0x09, 0x40, 0x0f, 0x10, 0x02, 0xcd, 0xfe, 0xe0, 0xfd, 0x60, // B^^B~..@.......` + 0x01, 0x20, 0x02, 0x1c, 0x5c, 0x01, 0x20, 0x5c, 0x1c, 0x1c, 0x98, 0x1c, 0x50, 0x00, 0x00, 0x00, // . .... .....P... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x2b, 0x00, 0x5a, 0x00, 0x00, // ...........+.Z.. + 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x31, 0x32, // ....#!"&5.463!12 + 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, // .......+.".....3 + 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x13, 0x01, 0x06, 0x23, // !26=.47676.....# + 0x22, 0x27, 0x26, 0x3d, 0x01, 0x23, 0x20, 0x07, 0x06, 0x13, 0x16, 0x07, 0x06, 0x23, 0x22, 0x27, // "'&=.# ......#"' + 0x2e, 0x04, 0x35, 0x34, 0x3e, 0x07, 0x3b, 0x01, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x01, // ..54>.;.547632.. + 0x16, 0x14, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x00, 0xff, 0x0d, 0x13, // .....w..w..w.... + 0x1a, 0x4d, 0x38, 0x0a, 0x06, 0x70, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, 0x12, 0x1c, // .M8..pB^^B.@B^.. + 0x1a, 0x10, 0x13, 0x15, 0xed, 0xfe, 0x80, 0x12, 0x1b, 0x0c, 0x0d, 0x27, 0xa0, 0xfe, 0xbd, 0x73, // ...........'...s + 0x77, 0x2d, 0x03, 0x17, 0x08, 0x04, 0x10, 0x0a, 0x0a, 0x16, 0x39, 0x2a, 0x23, 0x07, 0x15, 0x23, // w-........9*#..# + 0x3b, 0x4e, 0x6f, 0x8a, 0xb5, 0x6a, 0xa0, 0x27, 0x0d, 0x0c, 0x1a, 0x13, 0x01, 0x80, 0x13, 0x02, // ;No..j.'........ + 0x23, 0xfe, 0xfd, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x13, 0x0d, 0x1b, 0x05, 0x1a, // #..w..w.@w...... + 0x22, 0x04, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0xd6, 0x13, 0x0a, 0x0d, 0x18, 0x10, // ".^B..B^^B...... + 0x08, 0x09, 0x01, 0xdc, 0xfe, 0x80, 0x13, 0x05, 0x11, 0x2a, 0xc0, 0x83, 0x89, 0xfe, 0xb0, 0x17, // .........*...... + 0x0b, 0x02, 0x0d, 0x0e, 0x22, 0x67, 0x60, 0x84, 0x38, 0x31, 0x54, 0x60, 0x50, 0x53, 0x41, 0x3a, // ...."g`.81T`PSA: + 0x27, 0x16, 0xc0, 0x2a, 0x11, 0x05, 0x13, 0xfe, 0x80, 0x13, 0x34, 0x00, 0x00, 0x02, 0x00, 0x00, // '..*......4..... + 0x00, 0x00, 0x06, 0x7f, 0x05, 0x80, 0x00, 0x2f, 0x00, 0x44, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, // ......./.D...... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x0f, // #!"&5.463!2..... + 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, // ..#"'&#!".....3! + 0x32, 0x36, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x16, 0x13, 0x01, 0x06, 0x22, // 26=.4?.632....." + 0x27, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x09, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, // '.&4?.62...62... + 0x14, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x3f, 0x36, 0x0f, // ....w..w..w.@?6. + 0x03, 0x03, 0x0c, 0x31, 0x0a, 0x0d, 0x03, 0x06, 0x17, 0x16, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, // ...1........B^^B + 0x03, 0x40, 0x42, 0x5e, 0x09, 0x40, 0x0a, 0x0d, 0x06, 0x06, 0x14, 0xe7, 0xfc, 0xd2, 0x18, 0x42, // .@B^.@.........B + 0x18, 0xfe, 0x52, 0x18, 0x18, 0x6e, 0x18, 0x42, 0x18, 0x01, 0x07, 0x02, 0x87, 0x18, 0x42, 0x18, // ..R..n.B......B. + 0x6e, 0x18, 0x02, 0x5e, 0xfe, 0xc2, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x19, 0x07, // n..^..w..w.@w... + 0x10, 0x11, 0x0c, 0x31, 0x0a, 0x02, 0x06, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0xfe, // ...1...^B..B^^B. + 0x0d, 0x09, 0x40, 0x0a, 0x03, 0x08, 0x01, 0xd4, 0xfc, 0xd2, 0x18, 0x18, 0x01, 0xae, 0x18, 0x42, // ..@............B + 0x18, 0x6e, 0x18, 0x18, 0xfe, 0xf9, 0x02, 0x87, 0x18, 0x18, 0x6e, 0x18, 0x42, 0x00, 0x00, 0x00, // .n........n.B... + 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x14, // ...........C.... + 0x07, 0x01, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x11, 0x33, 0x32, 0x16, 0x14, 0x07, 0x01, 0x06, // ..."&=.!.32..... + 0x22, 0x27, 0x01, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x21, 0x15, 0x14, 0x06, 0x22, 0x27, 0x01, // "'.&46;..!..."'. + 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x11, 0x23, 0x22, 0x26, 0x34, 0x37, // &47.62...!.#"&47 + 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x21, 0x35, 0x34, 0x36, 0x32, // .62.....+..!5462 + 0x17, 0x01, 0x07, 0x00, 0x13, 0xff, 0x00, 0x13, 0x34, 0x26, 0xfe, 0x80, 0x80, 0x1a, 0x26, 0x13, // ........4&....&. + 0xff, 0x00, 0x13, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0xfe, 0x80, 0x26, 0x34, 0x13, // ...4....&....&4. + 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x01, 0x80, 0x80, 0x1a, 0x26, 0x13, 0x01, // .......4&....&.. + 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x01, 0x80, 0x26, 0x34, 0x13, 0x01, // ..4....&....&4.. + 0x00, 0x02, 0x9a, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0xfe, 0x80, 0x26, 0x34, 0x13, // ...4....&....&4. + 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x01, 0x80, 0x80, 0x1a, 0x26, 0x13, 0x01, // .......4&....&.. + 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x01, 0x80, 0x26, 0x34, 0x13, 0x01, // ..4....&....&4.. + 0x00, 0x13, 0x13, 0xff, 0x00, 0x13, 0x34, 0x26, 0xfe, 0x80, 0x80, 0x1a, 0x26, 0x13, 0xff, 0x00, // ......4&....&... + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x36, // ...............6 + 0x16, 0x15, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // .....'.&'...+."& + 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x36, 0x37, 0x03, 0xd3, 0x13, 0x1a, // 5.46;.2...67.... + 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, // ...:..&...&&...& + 0x04, 0x09, 0x05, 0x73, 0x13, 0x0c, 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, // ...s....@....... + 0xfd, 0x5a, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfd, 0x5a, 0x0a, 0x09, // .Z.&&....&&..Z.. + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x36, // ...........+...6 + 0x16, 0x15, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x27, // .....'.&'...'.&' + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, // ...+."&5.46;.2.. + 0x11, 0x36, 0x37, 0x01, 0x36, 0x16, 0x15, 0x11, 0x36, 0x37, 0x06, 0xd3, 0x13, 0x1a, 0x1a, 0x13, // .67.6...67...... + 0xfd, 0x3a, 0x09, 0x04, 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, // .:.....:..&...&& + 0x1a, 0x80, 0x1a, 0x26, 0x04, 0x09, 0x02, 0xc6, 0x13, 0x1a, 0x04, 0x09, 0x05, 0x73, 0x13, 0x0c, // ...&.........s.. + 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x3a, 0x1a, 0x0c, 0x13, 0x02, // ..@........:.... + 0xc6, 0x09, 0x0a, 0xfd, 0x5a, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfd, // ....Z.&&....&&.. + 0x5a, 0x0a, 0x09, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfd, 0x3a, 0x0a, 0x09, 0x00, 0x01, 0x00, 0x7a, // Z........:.....z + 0xff, 0x80, 0x06, 0x80, 0x05, 0x80, 0x00, 0x19, 0x00, 0x00, 0x01, 0x36, 0x16, 0x15, 0x11, 0x14, // ...........6.... + 0x06, 0x27, 0x01, 0x26, 0x27, 0x11, 0x14, 0x06, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x16, // .'.&'...'.&47.6. + 0x15, 0x11, 0x36, 0x37, 0x06, 0x53, 0x13, 0x1a, 0x1a, 0x13, 0xfd, 0x3a, 0x09, 0x04, 0x1a, 0x13, // ..67.S.....:.... + 0xfd, 0x3a, 0x13, 0x13, 0x02, 0xc6, 0x13, 0x1a, 0x04, 0x09, 0x05, 0x73, 0x13, 0x0c, 0x1a, 0xfa, // .:.........s.... + 0x40, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x09, 0x0a, 0xfd, 0x3a, 0x1a, 0x0c, 0x13, 0x02, 0xc6, 0x13, // @........:...... + 0x34, 0x13, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfd, 0x3a, 0x0a, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, // 4.......:....... + 0xff, 0x7c, 0x05, 0x7f, 0x05, 0x84, 0x00, 0x0b, 0x00, 0x00, 0x09, 0x01, 0x06, 0x26, 0x35, 0x11, // .|...........&5. + 0x34, 0x36, 0x17, 0x01, 0x16, 0x14, 0x05, 0x68, 0xfa, 0xd0, 0x17, 0x21, 0x21, 0x17, 0x05, 0x30, // 46.....h...!!..0 + 0x17, 0x02, 0x61, 0xfd, 0x1e, 0x0d, 0x14, 0x1a, 0x05, 0xc0, 0x1a, 0x14, 0x0d, 0xfd, 0x1e, 0x0d, // ..a............. + 0x24, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // $............... + 0x00, 0x1f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ........#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x00, // 3!2...&....&&... + 0x1a, 0x26, 0xfc, 0x80, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x00, 0x1a, 0x26, // .&..&....&&....& + 0x05, 0x40, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x80, // .@...&&....&&... 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .&&....&&....... - 0xff, 0x80, 0x06, 0x06, 0x05, 0x80, 0x00, 0x19, 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, // ............&5.4 - 0x36, 0x17, 0x01, 0x16, 0x17, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x14, 0x07, 0x01, 0x06, 0x26, // 6.....46.......& - 0x35, 0x11, 0x06, 0x07, 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x08, 0x05, 0x1a, 0x13, 0x02, // 5...-........... - 0xc6, 0x13, 0x13, 0xfd, 0x3a, 0x13, 0x1a, 0x05, 0x08, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, // ....:....s...... - 0x0c, 0x13, 0xfd, 0x3a, 0x08, 0x0b, 0x02, 0xc6, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, 0x13, 0x34, 0x13, // ...:........:.4. - 0xfd, 0x3a, 0x13, 0x0c, 0x1a, 0x02, 0xc6, 0x0a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .:.............. - 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x2b, 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, // .......+....&5.4 - 0x36, 0x17, 0x01, 0x16, 0x17, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x17, 0x11, 0x34, 0x36, 0x3b, // 6.....46.....46; - 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x06, 0x07, 0x01, // .2.....+."&5.... - 0x06, 0x26, 0x35, 0x11, 0x06, 0x07, 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x08, 0x05, 0x1a, // .&5...-......... - 0x13, 0x02, 0xc6, 0x08, 0x05, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x05, // .....&...&&...&. - 0x08, 0xfd, 0x3a, 0x13, 0x1a, 0x05, 0x08, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, 0x0c, 0x13, // ..:....s........ - 0xfd, 0x3a, 0x08, 0x0b, 0x02, 0xc6, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, 0x08, 0x0b, 0x02, 0xa6, 0x1a, // .:........:..... - 0x26, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0xa6, 0x0a, 0x09, 0xfd, 0x3a, 0x13, // &&....&&......:. - 0x0c, 0x1a, 0x02, 0xc6, 0x0a, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, // ................ - 0x05, 0x80, 0x00, 0x1d, 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, // ........&5.46... - 0x17, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // ..46;.2.....+."& - 0x35, 0x11, 0x06, 0x07, 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x08, 0x05, 0x26, 0x1a, 0x80, // 5...-........&.. - 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x05, 0x08, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, // .&&...&..s...... - 0x0c, 0x13, 0xfd, 0x3a, 0x08, 0x0b, 0x02, 0xa6, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, // ...:.....&&....& - 0x26, 0x1a, 0x02, 0xa6, 0x0a, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x06, 0x01, // &............... - 0x05, 0x06, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x06, // ..........62.... - 0x23, 0x21, 0x22, 0x26, 0x01, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // #!"&.!"&5.463!2. - 0x15, 0x11, 0x14, 0x06, 0x0e, 0x02, 0xc6, 0x13, 0x34, 0x13, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfa, // ........4....... - 0x40, 0x1a, 0x0c, 0x05, 0xc6, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, // @.......&&....&& - 0x02, 0x2d, 0x02, 0xc6, 0x13, 0x13, 0xfd, 0x3a, 0x13, 0x1a, 0x1a, 0xfd, 0xe6, 0x26, 0x1a, 0x01, // .-.....:.....&.. - 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, // ..&&....&......5 - 0xff, 0xb6, 0x04, 0x0b, 0x05, 0xcb, 0x00, 0x14, 0x00, 0x00, 0x05, 0x01, 0x26, 0x34, 0x37, 0x01, // ............&47. - 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x09, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x02, // 62............". - 0xe6, 0xfd, 0x74, 0x25, 0x25, 0x02, 0x8c, 0x25, 0x6b, 0x25, 0x4b, 0x25, 0x25, 0xfe, 0x1a, 0x01, // ..t%%..%k%K%%... - 0xe6, 0x25, 0x25, 0x4b, 0x25, 0x6b, 0x25, 0x02, 0x8b, 0x25, 0x6b, 0x25, 0x02, 0x8b, 0x25, 0x25, // .%%K%k%..%k%..%% - 0x4b, 0x25, 0x6b, 0x25, 0xfe, 0x1a, 0xfe, 0x1b, 0x26, 0x6a, 0x25, 0x4b, 0x25, 0x00, 0x00, 0x00, // K%k%....&j%K%... - 0x00, 0x01, 0x00, 0x75, 0xff, 0xb5, 0x04, 0x4b, 0x05, 0xcb, 0x00, 0x17, 0x00, 0x00, 0x01, 0x14, // ...u...K........ - 0x07, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x09, 0x01, 0x26, 0x35, 0x34, 0x3f, // ..."/.&547..&54? - 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x04, 0x4b, 0x25, 0xfd, 0x74, 0x25, 0x6a, 0x25, 0x4c, 0x25, // .62....K%.t%j%L% - 0x25, 0x01, 0xe6, 0xfe, 0x1a, 0x25, 0x25, 0x4c, 0x24, 0x6c, 0x24, 0x02, 0x8c, 0x25, 0x02, 0xc0, // %....%%L$l$..%.. - 0x34, 0x27, 0xfd, 0x75, 0x25, 0x25, 0x4b, 0x27, 0x34, 0x35, 0x25, 0x01, 0xe6, 0x01, 0xe5, 0x27, // 4'.u%%K'45%....' - 0x34, 0x35, 0x25, 0x4b, 0x26, 0x26, 0xfd, 0x75, 0x25, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // 45%K&&.u%....... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, // .......#./...54& - 0x23, 0x21, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x21, 0x22, 0x06, 0x1d, 0x01, // #!.4&+."...!"... - 0x14, 0x16, 0x33, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x11, 0x21, 0x32, 0x36, // ..3!...;.265.!26 - 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0xc0, 0x26, 0x1a, // .... $...$ ...&. - 0xff, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x26, // ..&...&...&&...& - 0x1a, 0x80, 0x1a, 0x26, 0x01, 0x00, 0x1a, 0x26, 0x01, 0x40, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, // ...&...&.@....^. - 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x40, 0x80, 0x1a, 0x26, 0x01, 0x00, // ....a...a.@..&.. - 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xff, 0x00, 0x1a, 0x26, 0x26, // .&&...&...&...&& - 0x1a, 0x01, 0x00, 0x26, 0x01, 0x2b, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // ...&.+.^.....a.. - 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // .a.............. - 0x00, 0x1b, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, // .....54&#!"..... - 0x33, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // 3!26.... $...$ . - 0x04, 0xc0, 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x00, 0x1a, 0x26, 0x01, 0x40, // ..&....&&....&.@ - 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, // ....^.....a...a. - 0x40, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x2b, 0xfe, 0x5e, 0xfe, 0x9f, // @..&&...&&.+.^.. - 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ...a...a........ - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x2b, 0x00, 0x37, 0x00, 0x00, 0x01, 0x34, 0x2f, 0x01, // .......+.7...4/. - 0x37, 0x36, 0x35, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x27, 0x26, 0x23, 0x22, 0x0f, // 7654/.&#"..'&#". - 0x01, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x07, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x16, 0x33, 0x32, 0x3f, // .............32? - 0x01, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ...32?.6.... $.. - 0x12, 0x24, 0x20, 0x04, 0x04, 0x7d, 0x13, 0xb5, 0xb5, 0x13, 0x13, 0x5a, 0x13, 0x1b, 0x1a, 0x13, // .$ ..}.....Z.... - 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, 0x13, 0x13, 0x5a, 0x13, 0x1b, // ......Z......Z.. - 0x1a, 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x01, 0x83, 0xce, 0xfe, 0x9f, 0xfe, // ........Z....... - 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0x9e, 0x1a, 0x13, 0xb5, // ^.....a...a..... - 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, 0x13, 0x13, 0x5a, 0x13, 0x1b, 0x1a, // .....Z......Z... - 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, 0x13, 0x13, 0x5a, 0x13, // .......Z......Z. - 0x01, 0xce, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, // ...^.....a...a.. - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x17, 0x00, 0x23, 0x00, 0x00, // .............#.. - 0x01, 0x34, 0x2f, 0x01, 0x26, 0x22, 0x07, 0x01, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x06, 0x15, 0x14, // .4/.&"..'&"..... - 0x17, 0x01, 0x16, 0x33, 0x32, 0x37, 0x01, 0x3e, 0x01, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ...327.>.... $.. - 0x12, 0x24, 0x20, 0x04, 0x05, 0x04, 0x12, 0x5b, 0x13, 0x34, 0x13, 0xfe, 0x68, 0xe2, 0x13, 0x34, // .$ ....[.4..h..4 - 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, 0x13, 0x1a, 0x1b, 0x13, 0x02, 0x1f, 0x12, 0xfc, 0xce, 0xfe, // .[...j.......... - 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x03, 0x22, 0x1c, // ..^.....a...a.". - 0x12, 0x5a, 0x13, 0x13, 0xfe, 0x69, 0xe2, 0x13, 0x13, 0x5a, 0x12, 0x1c, 0x1b, 0x12, 0xfe, 0x96, // .Z...i...Z...... - 0x13, 0x13, 0x02, 0x1f, 0x12, 0x4a, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // .....J.^.....a.. - 0x01, 0x61, 0xce, 0xce, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // .a.............. - 0x00, 0x3a, 0x00, 0x46, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, // .:.F..%54&+."... - 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x06, 0x1f, 0x01, // ..;.26.4..#".... - 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x0e, 0x01, // .32767632....... - 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x34, 0x36, 0x37, 0x3e, 0x04, 0x24, 0x10, // ....;.265467>.$. - 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x80, 0x12, 0x0e, 0xc0, 0x0e, // .. $...$ ....... - 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x00, 0x6f, 0xa6, 0x57, 0xf3, 0x80, 0x0f, 0x17, 0x84, // ........o.W..... - 0x07, 0x0c, 0x10, 0x09, 0x35, 0x21, 0x22, 0x34, 0x30, 0x4b, 0x28, 0x30, 0x3f, 0x69, 0x12, 0x0e, // ....5!"40K(0?i.. - 0xc0, 0x0e, 0x12, 0x2b, 0x21, 0x20, 0x22, 0x3a, 0x1f, 0x19, 0x01, 0x80, 0xce, 0xfe, 0x9f, 0xfe, // ...+! ":........ - 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xa0, 0xc0, 0x0e, 0x12, 0x12, // ^.....a...a..... - 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x02, 0xae, 0x58, 0x96, 0x52, 0xd5, 0x18, 0x12, 0x64, 0x06, 0x0c, // .......X.R...d.. - 0x44, 0x18, 0x18, 0x34, 0x21, 0x26, 0x2e, 0x16, 0x1c, 0x75, 0x43, 0x24, 0x0e, 0x12, 0x12, 0x0e, // D..4!&...uC$.... - 0x13, 0x3d, 0x13, 0x12, 0x15, 0x31, 0x2f, 0x4a, 0x3d, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // .=...1/J=.^..... - 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // a...a........... - 0x05, 0x80, 0x00, 0x1e, 0x00, 0x2e, 0x00, 0x3a, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, // .......:..%54&+. - 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x11, 0x23, 0x22, // .4&#!".....;..#" - 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x03, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, // .....3!26.54&+." - 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x04, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, // .....;.26.... $. - 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x00, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, // ..$ .....`...... - 0x12, 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, 0x80, 0x12, 0x0e, 0xc0, // ..``............ - 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x02, 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, // .............^.. - 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xa0, 0xa0, 0x0e, 0x12, 0x02, 0x00, 0x0e, 0x12, // ...a...a........ - 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0xfe, 0xc0, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0x03, 0x8e, 0xa0, // ................ - 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0xc1, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ..........^..... - 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // a...a........... - 0x05, 0x80, 0x00, 0x2f, 0x00, 0x5f, 0x00, 0x00, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .../._...#"&=.46 - 0x3b, 0x01, 0x2e, 0x01, 0x27, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x0e, 0x01, // ;...'...+."&=... - 0x07, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x1e, 0x01, 0x17, 0x35, 0x34, 0x36, // .32.....+....546 - 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x3e, 0x01, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x0e, 0x01, // ;.2...>.....+... - 0x07, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x2e, 0x01, 0x27, 0x23, 0x22, 0x26, // ....+."&=...'#"& - 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x3e, 0x01, 0x37, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // =.46;.>.7546;.2. - 0x1d, 0x01, 0x1e, 0x01, 0x17, 0x33, 0x32, 0x16, 0x04, 0xad, 0x6d, 0x1a, 0x26, 0x26, 0x1a, 0x6d, // .....32...m.&&.m - 0x20, 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, 0x1a, 0x26, 0x26, 0x1a, // .l&...&l. m.&&. - 0x6d, 0x20, 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x01, 0x73, 0x26, 0x1a, 0x8f, // m .l&...&l..s&.. - 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, 0x1a, 0x26, 0x26, 0x1a, // %..&...&..%..&&. - 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, 0x1a, 0x26, 0x02, // .%..&...&..%..&. - 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, 0x1a, 0x26, 0x26, 0x1a, 0x6d, 0x20, // .&...&l. m.&&.m - 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, 0x1a, 0x26, 0x26, 0x1a, 0x6d, // .l&...&l. m.&&.m - 0x20, 0xa1, 0x01, 0x2c, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, 0x1a, 0x26, 0x26, 0x1a, 0x8f, // ..,..&..%..&&.. - 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, 0x1a, 0x26, 0x26, 0x1a, // %..&...&..%..&&. - 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .%..&........... - 0x05, 0x80, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, // ...#./.;....."/. - 0x07, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, // .."/.&4?.'&4?.62 - 0x1f, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x17, 0x16, 0x14, 0x36, 0x10, // ..762.........6. - 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, // .. ..... 6.... $ - 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x49, 0x92, 0x0a, 0x1a, 0x0a, 0x89, 0x89, 0x0a, 0x1a, // ...$ ..I........ - 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0x89, 0x89, 0x0a, 0x1a, // ................ - 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0xcd, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, // ................ - 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // .(..r....^.....a - 0x01, 0xa2, 0x01, 0x61, 0x01, 0xc9, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, // ...a............ - 0x0a, 0x89, 0x89, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, // ................ - 0x0a, 0x89, 0x89, 0x0a, 0x1a, 0x19, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, // .......(........ - 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, // .._.^.....a...a. - 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, // ................ - 0x00, 0x20, 0x00, 0x2c, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x3f, 0x01, // . .,....."'.&4?. - 0x36, 0x32, 0x1f, 0x01, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x16, 0x10, 0x2e, 0x01, 0x20, // 62...62........ - 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, // ..... 6.... $... - 0x24, 0x20, 0x04, 0x04, 0x93, 0xfe, 0x5a, 0x13, 0x34, 0x13, 0xfe, 0xda, 0x13, 0x13, 0x66, 0x13, // $ ....Z.4.....f. - 0x34, 0x13, 0x93, 0x01, 0x13, 0x13, 0x34, 0x13, 0x66, 0x13, 0x7a, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, // 4.....4.f.z..... - 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, // ....(..r....^... - 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xd3, 0xfe, 0x5a, 0x13, 0x13, 0x01, 0x26, 0x13, // ..a...a...Z...&. - 0x34, 0x13, 0x66, 0x13, 0x13, 0x93, 0x01, 0x13, 0x13, 0x13, 0x66, 0x13, 0x34, 0xfa, 0x01, 0x28, // 4.f.......f.4..( - 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, // .........._.^... - 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ..a...a......... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x85, 0x00, 0x09, 0x00, 0x12, 0x00, 0x22, 0x00, 0x00, 0x01, 0x34, // ..........."...4 - 0x27, 0x01, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x05, 0x01, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x14, // '..32>...&#".... - 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, // ..... $&...6$ .. - 0x05, 0x20, 0x57, 0xfd, 0x0e, 0x89, 0xa0, 0x6f, 0xc9, 0x92, 0x56, 0xfc, 0x19, 0x02, 0xf3, 0x87, // . W....o..V..... - 0xa5, 0x94, 0xfa, 0x92, 0x05, 0x20, 0x7a, 0xcd, 0xfe, 0xe3, 0xfe, 0xc8, 0xfe, 0xe3, 0xcd, 0x7a, // ..... z........z - 0x7a, 0xcd, 0x01, 0x1d, 0x01, 0x38, 0x01, 0x1d, 0xcd, 0x02, 0x83, 0xa1, 0x86, 0xfd, 0x0f, 0x59, // z....8.........Y - 0x57, 0x92, 0xcb, 0xbc, 0x02, 0xf2, 0x5b, 0x92, 0xfc, 0x94, 0xa2, 0x01, 0x3f, 0xfe, 0xc6, 0xfe, // W.....[.....?... - 0xe2, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1e, 0x01, 0x3a, 0x01, 0x1d, 0xce, 0x7a, 0x7a, 0xce, 0x00, // ..zz....:...zz.. - 0x00, 0x01, 0x00, 0x40, 0xff, 0x35, 0x06, 0x00, 0x05, 0x4b, 0x00, 0x20, 0x00, 0x00, 0x01, 0x15, // ...@.5...K. .... - 0x14, 0x06, 0x23, 0x21, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, // ..#!......#"'.&5 - 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x01, 0x21, 0x32, 0x16, 0x06, // 47.632......!2.. - 0x00, 0x41, 0x34, 0xfd, 0x40, 0x01, 0x25, 0x26, 0x26, 0x4b, 0x25, 0x35, 0x34, 0x27, 0xfd, 0x75, // .A4.@.%&&K%54'.u - 0x25, 0x25, 0x02, 0x8b, 0x26, 0x35, 0x34, 0x26, 0x4b, 0x26, 0x26, 0xfe, 0xdb, 0x02, 0xc0, 0x34, // %%..&54&K&&....4 - 0x41, 0x02, 0x80, 0x80, 0x35, 0x4b, 0xfe, 0xda, 0x24, 0x6c, 0x24, 0x4c, 0x25, 0x25, 0x02, 0x8c, // A...5K..$l$L%%.. - 0x25, 0x35, 0x34, 0x27, 0x02, 0x8a, 0x26, 0x26, 0x4a, 0x26, 0x6a, 0x26, 0xfe, 0xdb, 0x4b, 0x00, // %54'..&&J&j&..K. - 0x00, 0x01, 0x00, 0x00, 0xff, 0x35, 0x05, 0xc0, 0x05, 0x4b, 0x00, 0x20, 0x00, 0x00, 0x01, 0x14, // .....5...K. .... - 0x07, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, 0x21, 0x22, 0x26, 0x3d, 0x01, // ...#"/.&47.!"&=. - 0x34, 0x36, 0x33, 0x21, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x05, // 463!.&4?.632.... - 0xc0, 0x25, 0xfd, 0x75, 0x27, 0x34, 0x33, 0x27, 0x4b, 0x26, 0x26, 0x01, 0x25, 0xfd, 0x40, 0x34, // .%.u'43'K&&.%.@4 + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // ..............#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfa, 0x80, // "&5.463!2...&... + 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x05, 0x40, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, // .&&....&.@...&&. + 0x05, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x06, // ...&&........... + 0x05, 0x80, 0x00, 0x19, 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, // ........&5.46... + 0x17, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x14, 0x07, 0x01, 0x06, 0x26, 0x35, 0x11, 0x06, 0x07, // ..46.......&5... + 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x09, 0x04, 0x1a, 0x13, 0x02, 0xc6, 0x13, 0x13, 0xfd, // -............... + 0x3a, 0x13, 0x1a, 0x04, 0x09, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, // :....s.........: + 0x09, 0x0a, 0x02, 0xc6, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, 0x13, 0x34, 0x13, 0xfd, 0x3a, 0x13, 0x0c, // ........:.4..:.. + 0x1a, 0x02, 0xc6, 0x0a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // ................ + 0x05, 0x80, 0x00, 0x2b, 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, // ...+....&5.46... + 0x17, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x17, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, // ..46.....46;.2.. + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x06, 0x07, 0x01, 0x06, 0x26, 0x35, 0x11, // ...+."&5.....&5. + 0x06, 0x07, 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x09, 0x04, 0x1a, 0x13, 0x02, 0xc6, 0x09, // ..-............. + 0x04, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x04, 0x09, 0xfd, 0x3a, 0x13, // .&...&&...&...:. + 0x1a, 0x04, 0x09, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, 0x09, 0x0a, // ...s.........:.. + 0x02, 0xc6, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, 0x09, 0x0a, 0x02, 0xa6, 0x1a, 0x26, 0x26, 0x1a, 0xfa, // ......:.....&&.. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0xa6, 0x0a, 0x09, 0xfd, 0x3a, 0x13, 0x0c, 0x1a, 0x02, 0xc6, // ..&&......:..... + 0x0a, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x1d, // ................ + 0x00, 0x00, 0x17, 0x06, 0x26, 0x35, 0x11, 0x34, 0x36, 0x17, 0x01, 0x16, 0x17, 0x11, 0x34, 0x36, // ....&5.46.....46 + 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x06, 0x07, // ;.2.....+."&5... + 0x2d, 0x13, 0x1a, 0x1a, 0x13, 0x02, 0xc6, 0x09, 0x04, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x1a, // -........&...&&. + 0x80, 0x1a, 0x26, 0x04, 0x09, 0x73, 0x13, 0x0c, 0x1a, 0x05, 0xc0, 0x1a, 0x0c, 0x13, 0xfd, 0x3a, // ..&..s.........: + 0x09, 0x0a, 0x02, 0xa6, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0xa6, // .....&&....&&... + 0x0a, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x06, 0x01, 0x05, 0x06, 0x00, 0x0b, // ................ + 0x00, 0x1b, 0x00, 0x00, 0x13, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x06, 0x23, 0x21, 0x22, 0x26, // ......62....#!"& + 0x01, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, // .!"&5.463!2..... + 0x0e, 0x02, 0xc6, 0x13, 0x34, 0x13, 0x02, 0xc6, 0x13, 0x0c, 0x1a, 0xfa, 0x40, 0x1a, 0x0c, 0x05, // ....4.......@... + 0xc6, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x02, 0x2d, 0x02, 0xc6, // ....&&....&&.-.. + 0x13, 0x13, 0xfd, 0x3a, 0x13, 0x1a, 0x1a, 0xfd, 0xe6, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, // ...:.....&....&& + 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x9a, 0xff, 0x9a, 0x04, 0xa6, // ....&........... + 0x05, 0xe6, 0x00, 0x14, 0x00, 0x00, 0x09, 0x02, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x27, 0x01, // ............."'. + 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x04, 0x93, 0xfd, 0xed, 0x02, 0x13, // &47.62.......... + 0x13, 0x13, 0xa6, 0x13, 0x34, 0x13, 0xfd, 0x1a, 0x13, 0x13, 0x02, 0xe6, 0x13, 0x34, 0x13, 0xa6, // ....4........4.. + 0x13, 0x04, 0xd3, 0xfd, 0xed, 0xfd, 0xed, 0x13, 0x34, 0x13, 0xa6, 0x13, 0x13, 0x02, 0xe6, 0x13, // ........4....... + 0x34, 0x13, 0x02, 0xe6, 0x13, 0x13, 0xa6, 0x13, 0x34, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5a, // 4.......4......Z + 0xff, 0x9a, 0x04, 0x66, 0x05, 0xe6, 0x00, 0x14, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x2f, 0x01, // ...f........."/. + 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, 0x04, // &47..&4?.62..... + 0x53, 0xfd, 0x1a, 0x13, 0x34, 0x13, 0xa6, 0x13, 0x13, 0x02, 0x13, 0xfd, 0xed, 0x13, 0x13, 0xa6, // S...4........... + 0x13, 0x34, 0x13, 0x02, 0xe6, 0x13, 0x02, 0x93, 0xfd, 0x1a, 0x13, 0x13, 0xa6, 0x13, 0x34, 0x13, // .4............4. + 0x02, 0x13, 0x02, 0x13, 0x13, 0x34, 0x13, 0xa6, 0x13, 0x13, 0xfd, 0x1a, 0x13, 0x34, 0x00, 0x00, // .....4.......4.. + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x00, // ...........#./.. + 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x21, // .54&#!.4&+."...! + 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, // ".....3!...;.265 + 0x11, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // .!26.... $...$ . + 0x04, 0xc0, 0x26, 0x1a, 0xff, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xff, 0x00, 0x1a, 0x26, 0x26, // ..&...&...&...&& + 0x1a, 0x01, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x01, 0x00, 0x1a, 0x26, 0x01, 0x40, 0xce, 0xfe, // ...&...&...&.@.. + 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x40, 0x80, // ..^.....a...a.@. + 0x1a, 0x26, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xff, // .&...&&...&...&. + 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x26, 0x01, 0x2b, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // ..&&...&.+.^.... + 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .a...a.......... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, // .........54&#!". + 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ....3!26.... $.. + 0x12, 0x24, 0x20, 0x04, 0x04, 0xc0, 0x26, 0x1a, 0xfd, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0x00, // .$ ...&....&&... + 0x1a, 0x26, 0x01, 0x40, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, // .&.@....^.....a. + 0xa2, 0x01, 0x61, 0x02, 0x40, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0x2b, // ..a.@..&&...&&.+ + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, // .^.....a...a.... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x2b, 0x00, 0x37, 0x00, 0x00, // ...........+.7.. + 0x01, 0x34, 0x2f, 0x01, 0x37, 0x36, 0x35, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x27, // .4/.7654/.&#"..' + 0x26, 0x23, 0x22, 0x0f, 0x01, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x07, 0x06, 0x15, 0x14, 0x1f, 0x01, // &#"............. + 0x16, 0x33, 0x32, 0x3f, 0x01, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x36, 0x00, 0x10, 0x02, 0x04, // .32?...32?.6.... + 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x7d, 0x13, 0xb5, 0xb5, 0x13, 0x13, 0x5a, // $...$ ..}.....Z + 0x13, 0x1b, 0x1a, 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, 0x13, // ..........Z..... + 0x13, 0x5a, 0x13, 0x1b, 0x1a, 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x01, 0x83, // .Z..........Z... + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, // ....^.....a...a. + 0x9e, 0x1a, 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, 0x13, 0x13, // .........Z...... + 0x5a, 0x13, 0x1b, 0x1a, 0x13, 0xb5, 0xb5, 0x13, 0x1a, 0x1b, 0x13, 0x5a, 0x13, 0x13, 0xb5, 0xb5, // Z..........Z.... + 0x13, 0x13, 0x5a, 0x13, 0x01, 0xce, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // ..Z....^.....a.. + 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x17, // .a.............. + 0x00, 0x23, 0x00, 0x00, 0x01, 0x34, 0x2f, 0x01, 0x26, 0x22, 0x07, 0x01, 0x27, 0x26, 0x22, 0x0f, // .#...4/.&"..'&". + 0x01, 0x06, 0x15, 0x14, 0x17, 0x01, 0x16, 0x33, 0x32, 0x37, 0x01, 0x3e, 0x01, 0x10, 0x02, 0x04, // .......327.>.... + 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x05, 0x04, 0x12, 0x5b, 0x13, 0x34, 0x13, 0xfe, // $...$ ....[.4.. + 0x68, 0xe2, 0x13, 0x34, 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, 0x13, 0x1a, 0x1b, 0x13, 0x02, 0x1f, // h..4.[...j...... + 0x12, 0xfc, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, // ......^.....a... + 0x61, 0x03, 0x22, 0x1c, 0x12, 0x5a, 0x13, 0x13, 0xfe, 0x69, 0xe2, 0x13, 0x13, 0x5a, 0x12, 0x1c, // a."..Z...i...Z.. + 0x1b, 0x12, 0xfe, 0x96, 0x13, 0x13, 0x02, 0x1f, 0x12, 0x4a, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // .........J.^.... + 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .a...a.......... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x3a, 0x00, 0x46, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, // .....:.F..%54&+. + 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x34, 0x2e, 0x01, 0x23, 0x22, // ".....;.26.4..#" + 0x07, 0x06, 0x1f, 0x01, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, // .....32767632... + 0x06, 0x07, 0x0e, 0x01, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x34, 0x36, 0x37, // ........;.265467 + 0x3e, 0x04, 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x80, // >.$... $...$ ... + 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x00, 0x6f, 0xa6, 0x57, 0xf3, // ............o.W. + 0x80, 0x0f, 0x17, 0x84, 0x07, 0x0c, 0x10, 0x09, 0x35, 0x21, 0x22, 0x34, 0x30, 0x4b, 0x28, 0x30, // ........5!"40K(0 + 0x3f, 0x69, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x2b, 0x21, 0x20, 0x22, 0x3a, 0x1f, 0x19, 0x01, 0x80, // ?i.....+! ":.... + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xa0, // ....^.....a...a. + 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x02, 0xae, 0x58, 0x96, 0x52, 0xd5, 0x18, // ...........X.R.. + 0x12, 0x64, 0x06, 0x0c, 0x44, 0x18, 0x18, 0x34, 0x21, 0x26, 0x2e, 0x16, 0x1c, 0x75, 0x43, 0x24, // .d..D..4!&...uC$ + 0x0e, 0x12, 0x12, 0x0e, 0x13, 0x3d, 0x13, 0x12, 0x15, 0x31, 0x2f, 0x4a, 0x3d, 0xfe, 0x5e, 0xfe, // .....=...1/J=.^. + 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x03, 0x00, 0x00, // ....a...a....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1e, 0x00, 0x2e, 0x00, 0x3a, 0x00, 0x00, 0x25, 0x35, // ...........:..%5 + 0x34, 0x26, 0x2b, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, // 4&+..4&#!".....; + 0x01, 0x11, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x03, 0x35, 0x34, // ..#".....3!26.54 + 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x04, 0x10, 0x02, // &+.".....;.26... + 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x00, 0x12, 0x0e, 0x60, 0x12, 0x0e, // . $...$ .....`.. + 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, // ......``........ + 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x02, 0x80, 0xce, 0xfe, 0x9f, // ................ + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xa0, 0xa0, 0x0e, 0x12, // .^.....a...a.... + 0x02, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0xfe, 0xc0, 0x12, 0x0e, 0xa0, 0x0e, 0x12, // ................ + 0x12, 0x03, 0x8e, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0xc1, 0xfe, 0x5e, 0xfe, // ..............^. + 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x02, 0x00, 0x00, // ....a...a....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x2f, 0x00, 0x5f, 0x00, 0x00, 0x01, 0x23, 0x22, 0x26, // ......./._...#"& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x2e, 0x01, 0x27, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // =.46;...'...+."& + 0x3d, 0x01, 0x0e, 0x01, 0x07, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x1e, 0x01, // =....32.....+... + 0x17, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x3e, 0x01, 0x01, 0x15, 0x14, 0x06, // .546;.2...>..... + 0x2b, 0x01, 0x0e, 0x01, 0x07, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x2e, 0x01, // +.......+."&=... + 0x27, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x3e, 0x01, 0x37, 0x35, 0x34, 0x36, // '#"&=.46;.>.7546 + 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x1e, 0x01, 0x17, 0x33, 0x32, 0x16, 0x04, 0xad, 0x6d, 0x1a, // ;.2......32...m. + 0x26, 0x26, 0x1a, 0x6d, 0x20, 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, // &&.m .l&...&l. m + 0x1a, 0x26, 0x26, 0x1a, 0x6d, 0x20, 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x01, // .&&.m .l&...&l.. + 0x73, 0x26, 0x1a, 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, // s&..%..&...&..%. + 0x1a, 0x26, 0x26, 0x1a, 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, // .&&..%..&...&..% + 0x8f, 0x1a, 0x26, 0x02, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, 0x1a, 0x26, // ..&..&...&l. m.& + 0x26, 0x1a, 0x6d, 0x20, 0xa1, 0x6c, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x6c, 0xa1, 0x20, 0x6d, 0x1a, // &.m .l&...&l. m. + 0x26, 0x26, 0x1a, 0x6d, 0x20, 0xa1, 0x01, 0x2c, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, 0x1a, // &&.m ..,..&..%.. + 0x26, 0x26, 0x1a, 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xa1, 0xeb, 0x25, 0x8f, // &&..%..&...&..%. + 0x1a, 0x26, 0x26, 0x1a, 0x8f, 0x25, 0xeb, 0xa1, 0x26, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // .&&..%..&....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x07, // .......#./.;.... + 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x34, // ."/..."/.&4?.'&4 + 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x17, // ?.62..762....... + 0x16, 0x14, 0x36, 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, // ..6... ..... 6.. + 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x49, 0x92, 0x0a, 0x1a, 0x0a, // .. $...$ ..I.... + 0x89, 0x89, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, 0x0a, // ................ + 0x89, 0x89, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, 0xcd, 0x92, 0xfa, 0xfe, 0xd8, // ................ + 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, // .....(..r....^.. + 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0xc9, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, // ...a...a........ + 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0x89, 0x89, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0x89, 0x89, 0x0a, // ................ + 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0x89, 0x89, 0x0a, 0x1a, 0x19, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, // ...........(.... + 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, // ......_.^.....a. + 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..a............. + 0x05, 0x80, 0x00, 0x14, 0x00, 0x20, 0x00, 0x2c, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x27, 0x01, // ..... .,....."'. + 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x16, // &4?.62...62..... + 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, // ... ..... 6.... + 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x93, 0xfe, 0x5a, 0x13, 0x34, 0x13, 0xfe, 0xda, // $...$ ....Z.4... + 0x13, 0x13, 0x66, 0x13, 0x34, 0x13, 0x93, 0x01, 0x13, 0x13, 0x34, 0x13, 0x66, 0x13, 0x7a, 0x92, // ..f.4.....4.f.z. + 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, // ........(..r.... + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xd3, 0xfe, 0x5a, 0x13, // ^.....a...a...Z. + 0x13, 0x01, 0x26, 0x13, 0x34, 0x13, 0x66, 0x13, 0x13, 0x93, 0x01, 0x13, 0x13, 0x13, 0x66, 0x13, // ..&.4.f.......f. + 0x34, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, // 4..(.........._. + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x85, 0x00, 0x09, 0x00, 0x12, 0x00, 0x22, // ..............." + 0x00, 0x00, 0x01, 0x34, 0x27, 0x01, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x05, 0x01, 0x26, 0x23, 0x22, // ...4'..32>...&#" + 0x0e, 0x01, 0x15, 0x14, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, // ......... $&...6 + 0x24, 0x20, 0x04, 0x16, 0x05, 0x20, 0x57, 0xfd, 0x0e, 0x89, 0xa0, 0x6f, 0xc9, 0x92, 0x56, 0xfc, // $ ... W....o..V. + 0x19, 0x02, 0xf3, 0x87, 0xa5, 0x94, 0xfa, 0x92, 0x05, 0x20, 0x7a, 0xcd, 0xfe, 0xe3, 0xfe, 0xc8, // ......... z..... + 0xfe, 0xe3, 0xcd, 0x7a, 0x7a, 0xcd, 0x01, 0x1d, 0x01, 0x38, 0x01, 0x1d, 0xcd, 0x02, 0x83, 0xa1, // ...zz....8...... + 0x86, 0xfd, 0x0f, 0x59, 0x57, 0x92, 0xcb, 0xbc, 0x02, 0xf2, 0x5b, 0x92, 0xfc, 0x94, 0xa2, 0x01, // ...YW.....[..... + 0x3f, 0xfe, 0xc6, 0xfe, 0xe2, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1e, 0x01, 0x3a, 0x01, 0x1d, 0xce, // ?.....zz....:... + 0x7a, 0x7a, 0xce, 0x00, 0x00, 0x01, 0x00, 0x40, 0xff, 0x35, 0x06, 0x00, 0x05, 0x4b, 0x00, 0x20, // zz.....@.5...K. + 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, // ......#!......#" + 0x27, 0x01, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x01, // '.&547.632...... + 0x21, 0x32, 0x16, 0x06, 0x00, 0x41, 0x34, 0xfd, 0x40, 0x01, 0x25, 0x26, 0x26, 0x4b, 0x25, 0x35, // !2...A4.@.%&&K%5 + 0x34, 0x27, 0xfd, 0x75, 0x25, 0x25, 0x02, 0x8b, 0x26, 0x35, 0x34, 0x26, 0x4b, 0x26, 0x26, 0xfe, // 4'.u%%..&54&K&&. + 0xdb, 0x02, 0xc0, 0x34, 0x41, 0x02, 0x80, 0x80, 0x35, 0x4b, 0xfe, 0xda, 0x24, 0x6c, 0x24, 0x4c, // ...4A...5K..$l$L + 0x25, 0x25, 0x02, 0x8c, 0x25, 0x35, 0x34, 0x27, 0x02, 0x8a, 0x26, 0x26, 0x4a, 0x26, 0x6a, 0x26, // %%..%54'..&&J&j& + 0xfe, 0xdb, 0x4b, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x35, 0x05, 0xc0, 0x05, 0x4b, 0x00, 0x20, // ..K......5...K. + 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, 0x21, // .......#"/.&47.! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, // "&=.463!.&4?.632 + 0x17, 0x01, 0x16, 0x05, 0xc0, 0x25, 0xfd, 0x75, 0x27, 0x34, 0x33, 0x27, 0x4b, 0x26, 0x26, 0x01, // .....%.u'43'K&&. + 0x25, 0xfd, 0x40, 0x34, 0x41, 0x41, 0x34, 0x02, 0xc0, 0xfe, 0xdb, 0x26, 0x26, 0x4b, 0x26, 0x34, // %.@4AA4....&&K&4 + 0x35, 0x26, 0x02, 0x8b, 0x25, 0x02, 0x40, 0x36, 0x25, 0xfd, 0x75, 0x25, 0x25, 0x4b, 0x26, 0x6a, // 5&..%.@6%.u%%K&j + 0x26, 0x01, 0x25, 0x4b, 0x35, 0x80, 0x35, 0x4b, 0x01, 0x26, 0x24, 0x6c, 0x24, 0x4b, 0x26, 0x26, // &.%K5.5K.&$l$K&& + 0xfd, 0x75, 0x23, 0x00, 0x00, 0x01, 0x00, 0x35, 0xff, 0x80, 0x06, 0x4b, 0x05, 0x40, 0x00, 0x21, // .u#....5...K.@.! + 0x00, 0x00, 0x01, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, // .......#"'....+. + 0x22, 0x26, 0x35, 0x11, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x33, // "&5..."/.&547.63 + 0x32, 0x17, 0x01, 0x16, 0x06, 0x4b, 0x25, 0x4b, 0x26, 0x35, 0x36, 0x24, 0xfe, 0xda, 0x4b, 0x35, // 2....K%K&56$..K5 + 0x80, 0x35, 0x4b, 0xfe, 0xda, 0x24, 0x6c, 0x24, 0x4b, 0x26, 0x26, 0x02, 0x8b, 0x23, 0x37, 0x36, // .5K..$l$K&&..#76 + 0x25, 0x02, 0x8b, 0x25, 0x02, 0x35, 0x33, 0x27, 0x4b, 0x26, 0x26, 0x01, 0x25, 0xfd, 0x40, 0x34, // %..%.53'K&&.%.@4 0x41, 0x41, 0x34, 0x02, 0xc0, 0xfe, 0xdb, 0x26, 0x26, 0x4b, 0x26, 0x34, 0x35, 0x26, 0x02, 0x8b, // AA4....&&K&45&.. - 0x25, 0x02, 0x40, 0x36, 0x25, 0xfd, 0x75, 0x25, 0x25, 0x4b, 0x26, 0x6a, 0x26, 0x01, 0x25, 0x4b, // %.@6%.u%%K&j&.%K - 0x35, 0x80, 0x35, 0x4b, 0x01, 0x26, 0x24, 0x6c, 0x24, 0x4b, 0x26, 0x26, 0xfd, 0x75, 0x23, 0x00, // 5.5K.&$l$K&&.u#. - 0x00, 0x01, 0x00, 0x35, 0xff, 0x80, 0x06, 0x4b, 0x05, 0x40, 0x00, 0x21, 0x00, 0x00, 0x01, 0x14, // ...5...K.@.!.... - 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // ...#"'....+."&5. - 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, // .."/.&547.632... - 0x06, 0x4b, 0x25, 0x4b, 0x26, 0x35, 0x36, 0x24, 0xfe, 0xda, 0x4b, 0x35, 0x80, 0x35, 0x4b, 0xfe, // .K%K&56$..K5.5K. - 0xda, 0x24, 0x6c, 0x24, 0x4b, 0x26, 0x26, 0x02, 0x8b, 0x23, 0x37, 0x36, 0x25, 0x02, 0x8b, 0x25, // .$l$K&&..#76%..% - 0x02, 0x35, 0x33, 0x27, 0x4b, 0x26, 0x26, 0x01, 0x25, 0xfd, 0x40, 0x34, 0x41, 0x41, 0x34, 0x02, // .53'K&&.%.@4AA4. - 0xc0, 0xfe, 0xdb, 0x26, 0x26, 0x4b, 0x26, 0x34, 0x35, 0x26, 0x02, 0x8b, 0x25, 0x25, 0xfd, 0x75, // ...&&K&45&..%%.u - 0x27, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0xff, 0xb5, 0x06, 0x4b, 0x05, 0x80, 0x00, 0x22, // '......5...K..." - 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x34, 0x3f, 0x01, // .......#"'.&54?. - 0x36, 0x33, 0x32, 0x17, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x01, 0x36, // 632...46;.2....6 - 0x33, 0x32, 0x1f, 0x01, 0x16, 0x06, 0x4b, 0x25, 0xfd, 0x75, 0x27, 0x34, 0x35, 0x25, 0xfd, 0x75, // 32....K%.u'45%.u - 0x26, 0x26, 0x4a, 0x27, 0x34, 0x35, 0x25, 0x01, 0x26, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0x01, 0x26, // &&J'45%.&L4.4L.& - 0x25, 0x35, 0x34, 0x27, 0x4b, 0x25, 0x02, 0xc0, 0x35, 0x25, 0xfd, 0x74, 0x25, 0x25, 0x02, 0x8c, // %54'K%..5%.t%%.. - 0x24, 0x36, 0x35, 0x26, 0x4b, 0x25, 0x25, 0xfe, 0xda, 0x02, 0xc0, 0x34, 0x4c, 0x4c, 0x34, 0xfd, // $65&K%%....4LL4. - 0x40, 0x01, 0x26, 0x25, 0x25, 0x4b, 0x27, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // @.&%%K'......... - 0x05, 0xc0, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x22, 0x26, 0x35, 0x11, 0x23, // ...,......."&5.# - 0x22, 0x0e, 0x05, 0x15, 0x14, 0x17, 0x14, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x02, // "..........#"'.. - 0x27, 0x02, 0x35, 0x34, 0x37, 0x12, 0x21, 0x33, 0x11, 0x34, 0x36, 0x32, 0x17, 0x01, 0x07, 0x00, // '.547.!3.462.... - 0x13, 0xfe, 0x00, 0x13, 0x34, 0x26, 0xe0, 0x62, 0x9b, 0x99, 0x71, 0x62, 0x3e, 0x23, 0x05, 0x05, // ....4&.b..qb>#.. - 0x11, 0x0f, 0x10, 0x0c, 0x07, 0x0c, 0x0f, 0x03, 0x7f, 0x35, 0xa2, 0x02, 0xc9, 0xe0, 0x26, 0x34, // .........5....&4 - 0x13, 0x02, 0x00, 0x03, 0x9a, 0x34, 0x13, 0xfe, 0x00, 0x13, 0x26, 0x1a, 0x01, 0x00, 0x0c, 0x1f, // .....4....&..... - 0x36, 0x55, 0x75, 0xa0, 0x65, 0x37, 0x44, 0x06, 0x23, 0x09, 0x0f, 0x14, 0x11, 0x09, 0x1a, 0x22, // 6Uu.e7D.#......" - 0x07, 0x01, 0x1d, 0xa6, 0xc7, 0x86, 0x01, 0x93, 0x01, 0x00, 0x1a, 0x26, 0x13, 0xfe, 0x00, 0x00, // ...........&.... - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x17, 0x00, 0x2f, 0x00, 0x00, // ............./.. - 0x00, 0x14, 0x07, 0x01, 0x17, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ........#!"&5.46 - 0x32, 0x1f, 0x01, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x11, 0x14, 0x06, 0x22, 0x2f, 0x01, 0x01, // 2...62......"/.. - 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, 0x27, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ."/.&47.'&463!2. - 0x02, 0xf3, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x26, 0x1a, 0xfe, 0x40, 0x1a, 0x26, 0x26, 0x34, 0x13, // .......&..@.&&4. - 0x90, 0x01, 0x4c, 0x0a, 0x1a, 0x0a, 0x72, 0x03, 0x17, 0x26, 0x34, 0x13, 0x90, 0xfe, 0xb4, 0x0a, // ..L...r..&4..... - 0x1a, 0x0a, 0x72, 0x0a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x01, // ..r...L..&....&. - 0xed, 0x1a, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x34, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x13, // .......4&&....&. - 0x90, 0x01, 0x4c, 0x0a, 0x0a, 0x72, 0x03, 0x49, 0xfe, 0x40, 0x1a, 0x26, 0x13, 0x90, 0xfe, 0xb4, // ..L..r.I.@.&.... - 0x0a, 0x0a, 0x72, 0x0a, 0x1a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x34, 0x26, 0x26, 0x00, 0x00, 0x00, // ..r....L..4&&... - 0x00, 0x02, 0x00, 0x0d, 0xff, 0x8d, 0x05, 0xf3, 0x05, 0x73, 0x00, 0x17, 0x00, 0x2f, 0x00, 0x00, // .........s.../.. - 0x01, 0x11, 0x14, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, // ...."/..."/.&47. - 0x27, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x00, 0x14, 0x07, 0x01, 0x17, 0x16, 0x14, 0x06, // '&463!2......... - 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x36, 0x32, 0x1f, 0x01, // #!"&5.462...62.. - 0x03, 0x00, 0x26, 0x34, 0x13, 0x90, 0xfe, 0xb4, 0x0a, 0x1a, 0x0a, 0x72, 0x0a, 0x0a, 0x01, 0x4c, // ..&4.......r...L - 0x90, 0x13, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x02, 0xf3, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x26, // ..&....&.......& - 0x1a, 0xfe, 0x40, 0x1a, 0x26, 0x26, 0x34, 0x13, 0x90, 0x01, 0x4c, 0x0a, 0x1a, 0x0a, 0x72, 0x02, // ..@.&&4...L...r. - 0x40, 0xfe, 0x40, 0x1a, 0x26, 0x13, 0x90, 0xfe, 0xb4, 0x0a, 0x0a, 0x72, 0x0a, 0x1a, 0x0a, 0x01, // @.@.&......r.... - 0x4c, 0x90, 0x13, 0x34, 0x26, 0x26, 0x02, 0x93, 0x1a, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x34, 0x26, // L..4&&........4& - 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x13, 0x90, 0x01, 0x4c, 0x0a, 0x0a, 0x72, 0x00, 0x00, 0x00, // &....&...L..r... - 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x23, 0x00, 0x00, 0x01, 0x15, // ...........#.... - 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x26, // ..#!...+."&5.!"& - 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x21, // =.463!.46;.2...! - 0x32, 0x16, 0x05, 0x80, 0x38, 0x28, 0xfe, 0x60, 0x38, 0x28, 0xc0, 0x28, 0x38, 0xfe, 0x60, 0x28, // 2...8(.`8(.(8.`( - 0x38, 0x38, 0x28, 0x01, 0xa0, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x01, 0xa0, 0x28, 0x38, 0x03, 0x20, // 88(..8(.(8..(8. - 0xc0, 0x28, 0x38, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0x38, 0x28, 0xc0, 0x28, 0x38, // .(8.`(88(..8(.(8 - 0x01, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xfe, 0x60, 0x38, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ..(88(.`8....... - 0x02, 0x00, 0x05, 0x80, 0x03, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ..............#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x80, 0x38, 0x28, 0xfb, 0x40, // "&=.463!2...8(.@ - 0x28, 0x38, 0x38, 0x28, 0x04, 0xc0, 0x28, 0x38, 0x03, 0x20, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xc0, // (88(..(8. .(88(. - 0x28, 0x38, 0x38, 0x00, 0x00, 0x01, 0x00, 0x7a, 0xff, 0x80, 0x06, 0x06, 0x05, 0x80, 0x00, 0x35, // (88....z.......5 - 0x00, 0x00, 0x01, 0x1e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x27, 0x25, 0x11, 0x14, 0x06, 0x2b, 0x01, // .........'%...+. - 0x22, 0x26, 0x35, 0x11, 0x05, 0x06, 0x26, 0x2f, 0x01, 0x26, 0x36, 0x37, 0x2d, 0x01, 0x2e, 0x01, // "&5...&/.&67-... - 0x3f, 0x01, 0x3e, 0x01, 0x17, 0x05, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x25, // ?.>....46;.2...% - 0x36, 0x16, 0x1f, 0x01, 0x16, 0x06, 0x07, 0x05, 0x05, 0xca, 0x2e, 0x1b, 0x1a, 0x40, 0x1a, 0x67, // 6............@.g - 0x2e, 0xfe, 0xf6, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0xfe, 0xf6, 0x2e, 0x67, 0x1a, 0x40, 0x1a, 0x1b, // ...L4.4L...g.@.. - 0x2e, 0x01, 0x0a, 0xfe, 0xf6, 0x2e, 0x1b, 0x1a, 0x40, 0x1a, 0x67, 0x2e, 0x01, 0x0a, 0x4c, 0x34, // ........@.g...L4 - 0x80, 0x34, 0x4c, 0x01, 0x0a, 0x2e, 0x67, 0x1a, 0x40, 0x1a, 0x1b, 0x2e, 0xfe, 0xf6, 0x01, 0xe6, // .4L...g.@....... - 0x1a, 0x67, 0x2e, 0x6e, 0x2e, 0x1b, 0x1a, 0x99, 0xfe, 0xcd, 0x34, 0x4c, 0x4c, 0x34, 0x01, 0x33, // .g.n......4LL4.3 - 0x99, 0x1a, 0x1b, 0x2e, 0x6e, 0x2e, 0x67, 0x1a, 0x9a, 0x9a, 0x1a, 0x67, 0x2e, 0x6e, 0x2e, 0x1b, // ....n.g....g.n.. - 0x1a, 0x99, 0x01, 0x33, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0xcd, 0x99, 0x1a, 0x1b, 0x2e, 0x6e, 0x2e, // ...34LL4......n. - 0x67, 0x1a, 0x9a, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, // g............... - 0x00, 0x1b, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x20, 0x04, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, // ...-... ..... $. - 0x10, 0x12, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, // ...54&+.".....;. - 0x32, 0x36, 0x03, 0x13, 0x34, 0x27, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x06, 0x15, 0x13, 0x14, 0x16, // 26..4'&+."...... - 0x3b, 0x01, 0x32, 0x36, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // ;.26./...a.....^ - 0xfe, 0x9f, 0xce, 0xce, 0x02, 0xb2, 0x12, 0x0d, 0xc0, 0x0d, 0x14, 0x14, 0x0d, 0xc0, 0x0d, 0x12, // ................ - 0x02, 0x12, 0x0a, 0x0a, 0x0e, 0xdc, 0x0e, 0x0a, 0x0a, 0x11, 0x14, 0x0e, 0xb9, 0x0e, 0x13, 0x05, // ................ - 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // .....^.....a...a - 0xfb, 0xef, 0xbe, 0x0e, 0x13, 0x14, 0x0d, 0xbe, 0x0d, 0x14, 0x13, 0x01, 0x66, 0x02, 0x6d, 0x0c, // ............f.m. - 0x06, 0x08, 0x08, 0x06, 0x0c, 0xfd, 0x93, 0x0a, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ................ - 0x00, 0x00, 0x06, 0x00, 0x05, 0x40, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x1f, 0x00, 0x4a, 0x00, 0x00, // .....@.......J.. - 0x25, 0x35, 0x11, 0x35, 0x21, 0x15, 0x11, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x33, // %5.5!.....;.26.3 - 0x27, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x24, 0x34, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x33, 0x32, // '&#"...$4&#"..32 - 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, // ....+....#!"&5.# - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x1f, 0x01, // "&5.463!"&4632.. - 0x37, 0x36, 0x33, 0x32, 0x16, 0x14, 0x06, 0x23, 0x21, 0x32, 0x16, 0x03, 0xa0, 0xfe, 0xc0, 0x24, // 7632...#!2.....$ - 0x1c, 0xc0, 0x1c, 0x24, 0xfe, 0x38, 0xc3, 0x7e, 0x1a, 0x2b, 0x28, 0x38, 0x38, 0x02, 0xd8, 0x38, // ...$.8.~.+(88..8 - 0x28, 0x2b, 0x1a, 0x7d, 0xc2, 0x28, 0x01, 0xb0, 0x12, 0x0e, 0x60, 0x38, 0x28, 0xfb, 0xc0, 0x28, // (+.}.(....`8(..( - 0x38, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xb8, 0x5d, 0x83, 0x83, 0x5d, 0x6b, 0x3d, 0x80, 0x80, // 8`......]..]k=.. - 0x3d, 0x6b, 0x5d, 0x83, 0x83, 0x5d, 0x01, 0xb8, 0x0e, 0x12, 0xb4, 0x38, 0x01, 0xd4, 0xc0, 0xc0, // =k]..].....8.... - 0xfe, 0x2c, 0x38, 0x19, 0x1b, 0x1b, 0x03, 0x65, 0xa1, 0x1f, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, // .,8....e..8P88P8 - 0x1f, 0xa1, 0xa0, 0xfe, 0xc0, 0x0e, 0x12, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0x12, // ........`(88(... - 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x83, 0xba, 0x83, 0x4d, 0xa5, 0xa5, 0x4d, 0x83, 0xba, 0x83, 0x12, // ..@.....M..M.... - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x15, 0x00, 0x4f, 0x00, 0x00, // .............O.. - 0x00, 0x34, 0x26, 0x23, 0x22, 0x04, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3e, // .4&#".......327> - 0x01, 0x37, 0x36, 0x24, 0x33, 0x32, 0x01, 0x14, 0x07, 0x06, 0x00, 0x07, 0x06, 0x23, 0x22, 0x27, // .76$32.......#"' - 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x02, 0x23, 0x22, 0x2e, 0x01, 0x27, 0x2e, 0x03, 0x35, 0x34, 0x3e, // ..#"..#"..'..54> - 0x02, 0x35, 0x34, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x04, 0x37, 0x3e, 0x04, // .54&'&54>.7>.7>. - 0x33, 0x32, 0x1e, 0x02, 0x05, 0x00, 0x26, 0x1a, 0xac, 0xfe, 0xdc, 0xe3, 0x7a, 0x13, 0x26, 0x1a, // 32....&.....z.&. - 0x18, 0x15, 0x1b, 0x5e, 0x14, 0x89, 0x01, 0x07, 0xb6, 0x1a, 0x02, 0x26, 0x14, 0x2e, 0xfe, 0xeb, // ...^.......&.... - 0xdb, 0xd6, 0xe0, 0x94, 0x8a, 0x0f, 0x92, 0x17, 0x10, 0x2f, 0x2b, 0x3e, 0x1d, 0x1e, 0x2a, 0x14, // ........./+>..*. - 0x11, 0x02, 0x08, 0x03, 0x03, 0x3e, 0x4a, 0x3e, 0x1c, 0x02, 0x09, 0x57, 0x97, 0xbe, 0x6d, 0x37, // .....>J>...W..m7 - 0xb4, 0xb3, 0xb2, 0x95, 0x27, 0x0a, 0x27, 0x14, 0x22, 0x27, 0x18, 0x27, 0x3f, 0x20, 0x10, 0x03, // ....'.'."'.'? .. - 0x26, 0x34, 0x26, 0x63, 0xa9, 0x87, 0x15, 0x18, 0x1a, 0x26, 0x13, 0x18, 0x5e, 0x13, 0x7c, 0x68, // &4&c.....&..^.|h - 0x01, 0x06, 0x5f, 0x62, 0xe0, 0xfe, 0xc2, 0x6d, 0x6c, 0x2f, 0x05, 0x4a, 0x40, 0x4c, 0x40, 0x16, // .._b...ml/.J@L@. - 0x1a, 0x1d, 0x04, 0x0e, 0x06, 0x0d, 0x07, 0x23, 0x4d, 0x36, 0x3a, 0x13, 0x04, 0x44, 0x0a, 0x33, // .......#M6:..D.3 - 0x35, 0x73, 0xd2, 0x9f, 0x77, 0x24, 0x12, 0x0f, 0x03, 0x09, 0x27, 0x25, 0x0a, 0x27, 0x11, 0x17, // 5s..w$....'%.'.. - 0x09, 0x5c, 0x84, 0x74, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, 0x06, 0x00, 0x00, 0x0f, // ...t............ - 0x00, 0x33, 0x00, 0x00, 0x05, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .3......#!"&=.46 - 0x33, 0x21, 0x32, 0x16, 0x01, 0x14, 0x0e, 0x05, 0x15, 0x14, 0x17, 0x27, 0x17, 0x2e, 0x04, 0x35, // 3!2........'...5 - 0x34, 0x3e, 0x05, 0x35, 0x34, 0x27, 0x17, 0x27, 0x1e, 0x04, 0x05, 0x80, 0x13, 0x0d, 0xfa, 0xc0, // 4>.54'.'........ - 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0xff, 0x00, 0x31, 0x4f, 0x60, 0x60, 0x4f, 0x31, // .....@....1O``O1 - 0x43, 0x04, 0x01, 0x5a, 0x8c, 0x89, 0x5a, 0x37, 0x31, 0x4f, 0x60, 0x60, 0x4f, 0x31, 0x42, 0x03, // C..Z..Z71O``O1B. - 0x01, 0x5a, 0x8c, 0x89, 0x5a, 0x37, 0xa0, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, // .Z..Z7.@....@... - 0x04, 0x13, 0x4e, 0x84, 0x5d, 0x53, 0x48, 0x48, 0x5b, 0x33, 0x60, 0x80, 0x01, 0x01, 0x29, 0x54, // ..N.]SHH[3`...)T - 0x74, 0x81, 0xac, 0x62, 0x4e, 0x84, 0x5d, 0x53, 0x48, 0x48, 0x5b, 0x33, 0x5e, 0x82, 0x01, 0x01, // t..bN.]SHH[3^... - 0x29, 0x54, 0x74, 0x81, 0xac, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // )Tt............. - 0x04, 0x80, 0x00, 0x11, 0x00, 0x21, 0x00, 0x31, 0x00, 0x00, 0x01, 0x26, 0x27, 0x16, 0x15, 0x14, // .....!.1...&'... - 0x00, 0x20, 0x00, 0x35, 0x34, 0x37, 0x06, 0x07, 0x16, 0x04, 0x20, 0x24, 0x00, 0x34, 0x26, 0x23, // . .547.... $.4&# - 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x36, 0x33, 0x32, 0x00, 0x14, 0x07, 0x06, // "....2654632.... - 0x00, 0x20, 0x00, 0x27, 0x26, 0x34, 0x37, 0x36, 0x00, 0x20, 0x00, 0x17, 0x06, 0x80, 0x98, 0xe5, // . .'&476. ...... - 0x3d, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x3d, 0xe5, 0x98, 0x85, 0x01, 0x91, 0x01, 0xd4, 0x01, // =......=........ - 0x91, 0xfd, 0xb5, 0x1c, 0x14, 0x7d, 0xb3, 0x1c, 0x28, 0x1c, 0x7a, 0x56, 0x14, 0x03, 0x6c, 0x14, // .....}..(.zV..l. - 0x8c, 0xfe, 0x27, 0xfd, 0xf2, 0xfe, 0x27, 0x8c, 0x14, 0x14, 0x8c, 0x01, 0xd9, 0x02, 0x0e, 0x01, // ..'...'......... - 0xd9, 0x8c, 0x02, 0x40, 0xec, 0x75, 0x68, 0x79, 0xb9, 0xfe, 0xf9, 0x01, 0x07, 0xb9, 0x79, 0x68, // ...@.uhy......yh - 0x75, 0xec, 0xcd, 0xf3, 0xf3, 0x02, 0x39, 0x28, 0x1c, 0xb3, 0x7d, 0x14, 0x1c, 0x1c, 0x14, 0x56, // u.....9(..}....V - 0x7a, 0xfe, 0xd2, 0x44, 0x23, 0xe6, 0xfe, 0xeb, 0x01, 0x16, 0xe5, 0x23, 0x44, 0x23, 0xe5, 0x01, // z..D#......#D#.. - 0x16, 0xfe, 0xea, 0xe5, 0x00, 0x05, 0x00, 0x00, 0xff, 0xa0, 0x07, 0x00, 0x04, 0xe0, 0x00, 0x09, // ................ - 0x00, 0x19, 0x00, 0x3d, 0x00, 0x43, 0x00, 0x55, 0x00, 0x00, 0x25, 0x37, 0x2e, 0x01, 0x35, 0x34, // ...=.C.U..%7..54 - 0x37, 0x06, 0x07, 0x12, 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, // 7....4&#"....265 - 0x34, 0x36, 0x33, 0x32, 0x25, 0x14, 0x07, 0x06, 0x00, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x26, // 4632%.......#"'& - 0x35, 0x34, 0x37, 0x2e, 0x01, 0x27, 0x26, 0x34, 0x37, 0x36, 0x00, 0x21, 0x32, 0x17, 0x37, 0x36, // 547..'&476.!2.76 - 0x33, 0x32, 0x1e, 0x03, 0x17, 0x16, 0x13, 0x14, 0x06, 0x07, 0x01, 0x16, 0x04, 0x14, 0x07, 0x06, // 32.............. - 0x07, 0x06, 0x04, 0x23, 0x37, 0x36, 0x24, 0x37, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x17, 0x02, 0x2b, // ...#76$7&'7....+ - 0x4e, 0x57, 0x62, 0x3d, 0xe5, 0x98, 0xa7, 0x02, 0x89, 0x1c, 0x14, 0x7d, 0xb3, 0x1c, 0x28, 0x1c, // NWb=.......}..(. - 0x7a, 0x56, 0x14, 0x01, 0x87, 0x01, 0x69, 0xfe, 0x5c, 0x6a, 0x31, 0x0a, 0x12, 0x0c, 0x7a, 0x10, // zV....i..j1...z. - 0x2c, 0x8f, 0xf1, 0x58, 0x14, 0x14, 0x99, 0x01, 0xc6, 0x01, 0x0d, 0x59, 0x5b, 0x36, 0x0a, 0x12, // ,..X.......Y[6.. - 0x05, 0x1a, 0x24, 0x1e, 0x21, 0x03, 0x10, 0x25, 0x9e, 0x82, 0x01, 0x18, 0x08, 0x01, 0xc0, 0x14, // ..$.!..%........ - 0x27, 0x46, 0x96, 0xfe, 0x75, 0xde, 0x4a, 0xd4, 0x01, 0x69, 0x79, 0x73, 0xa7, 0x3f, 0x5f, 0xaf, // 'F..u.J..iys.?_. - 0x39, 0xc9, 0x8d, 0x3f, 0xc0, 0x6b, 0x79, 0x68, 0x75, 0xec, 0xfe, 0xfe, 0x02, 0x6e, 0x28, 0x1c, // 9..?.kyhu....n(. - 0xb3, 0x7d, 0x14, 0x1c, 0x1c, 0x14, 0x56, 0x7a, 0xef, 0x07, 0x02, 0xbc, 0xfd, 0x0c, 0xbd, 0x59, // .}....Vz.......Y - 0x10, 0x46, 0x0a, 0x12, 0x0c, 0x4b, 0x41, 0xd8, 0x89, 0x1f, 0x4c, 0x1f, 0xeb, 0x01, 0x10, 0x11, // .F...KA...L..... - 0x61, 0x10, 0x0c, 0x13, 0x12, 0x13, 0x02, 0x0a, 0xfe, 0x30, 0x8b, 0xe5, 0x32, 0x01, 0xf6, 0x2d, // a........0..2..- - 0x84, 0x46, 0x22, 0x40, 0x51, 0xac, 0xbe, 0x84, 0x12, 0xee, 0xbc, 0xb3, 0x73, 0x70, 0x40, 0xb2, // .F"@Q.......sp@. - 0x5f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x10, 0xff, 0x80, 0x06, 0xf0, 0x06, 0x00, 0x00, 0x0f, // _............... - 0x00, 0x21, 0x00, 0x33, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, // .!.3..%54&+."... + 0x25, 0x25, 0xfd, 0x75, 0x27, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0xff, 0xb5, 0x06, 0x4b, // %%.u'......5...K + 0x05, 0x80, 0x00, 0x22, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, // ...".......#"'.& + 0x35, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // 54?.632...46;.2. + 0x15, 0x11, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x06, 0x4b, 0x25, 0xfd, 0x75, 0x27, 0x34, // ...632....K%.u'4 + 0x35, 0x25, 0xfd, 0x75, 0x26, 0x26, 0x4a, 0x27, 0x34, 0x35, 0x25, 0x01, 0x26, 0x4c, 0x34, 0x80, // 5%.u&&J'45%.&L4. + 0x34, 0x4c, 0x01, 0x26, 0x25, 0x35, 0x34, 0x27, 0x4b, 0x25, 0x02, 0xc0, 0x35, 0x25, 0xfd, 0x74, // 4L.&%54'K%..5%.t + 0x25, 0x25, 0x02, 0x8c, 0x24, 0x36, 0x35, 0x26, 0x4b, 0x25, 0x25, 0xfe, 0xda, 0x02, 0xc0, 0x34, // %%..$65&K%%....4 + 0x4c, 0x4c, 0x34, 0xfd, 0x40, 0x01, 0x26, 0x25, 0x25, 0x4b, 0x27, 0x00, 0x00, 0x01, 0x00, 0x00, // LL4.@.&%%K'..... + 0xff, 0x80, 0x07, 0x00, 0x05, 0xc0, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x22, // .......,......." + 0x26, 0x35, 0x11, 0x23, 0x22, 0x0e, 0x05, 0x15, 0x14, 0x17, 0x14, 0x16, 0x15, 0x14, 0x06, 0x23, // &5.#"..........# + 0x22, 0x27, 0x2e, 0x02, 0x27, 0x02, 0x35, 0x34, 0x37, 0x12, 0x21, 0x33, 0x11, 0x34, 0x36, 0x32, // "'..'.547.!3.462 + 0x17, 0x01, 0x07, 0x00, 0x13, 0xfe, 0x00, 0x13, 0x34, 0x26, 0xe0, 0x62, 0x9b, 0x99, 0x71, 0x62, // ........4&.b..qb + 0x3e, 0x23, 0x05, 0x05, 0x11, 0x0f, 0x10, 0x0c, 0x07, 0x0c, 0x0f, 0x03, 0x7f, 0x35, 0xa2, 0x02, // >#...........5.. + 0xc9, 0xe0, 0x26, 0x34, 0x13, 0x02, 0x00, 0x03, 0x9a, 0x34, 0x13, 0xfe, 0x00, 0x13, 0x26, 0x1a, // ..&4.....4....&. + 0x01, 0x00, 0x0c, 0x1f, 0x36, 0x55, 0x75, 0xa0, 0x65, 0x37, 0x44, 0x06, 0x23, 0x09, 0x0f, 0x14, // ....6Uu.e7D.#... + 0x11, 0x09, 0x1a, 0x22, 0x07, 0x01, 0x1d, 0xa6, 0xc7, 0x86, 0x01, 0x93, 0x01, 0x00, 0x1a, 0x26, // ..."...........& + 0x13, 0xfe, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x17, // ................ + 0x00, 0x2f, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x17, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ./..........#!"& + 0x35, 0x11, 0x34, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x11, 0x14, 0x06, // 5.462...62...... + 0x22, 0x2f, 0x01, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, 0x27, 0x26, 0x34, 0x36, // "/..."/.&47.'&46 + 0x33, 0x21, 0x32, 0x16, 0x02, 0xf3, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x26, 0x1a, 0xfe, 0x40, 0x1a, // 3!2........&..@. + 0x26, 0x26, 0x34, 0x13, 0x90, 0x01, 0x4c, 0x0a, 0x1a, 0x0a, 0x72, 0x03, 0x17, 0x26, 0x34, 0x13, // &&4...L...r..&4. + 0x90, 0xfe, 0xb4, 0x0a, 0x1a, 0x0a, 0x72, 0x0a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x26, 0x1a, 0x01, // ......r...L..&.. + 0xc0, 0x1a, 0x26, 0x01, 0xed, 0x1a, 0x0a, 0xfe, 0xb4, 0x90, 0x13, 0x34, 0x26, 0x26, 0x1a, 0x01, // ..&........4&&.. + 0xc0, 0x1a, 0x26, 0x13, 0x90, 0x01, 0x4c, 0x0a, 0x0a, 0x72, 0x03, 0x49, 0xfe, 0x40, 0x1a, 0x26, // ..&...L..r.I.@.& + 0x13, 0x90, 0xfe, 0xb4, 0x0a, 0x0a, 0x72, 0x0a, 0x1a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x34, 0x26, // ......r....L..4& + 0x26, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0d, 0xff, 0x8d, 0x05, 0xf3, 0x05, 0x73, 0x00, 0x17, // &............s.. + 0x00, 0x2f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x06, 0x22, 0x2f, 0x01, // ./......"/..."/. + 0x26, 0x34, 0x37, 0x01, 0x27, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x00, 0x14, 0x07, 0x01, // &47.'&463!2..... + 0x17, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x32, 0x1f, 0x01, 0x01, // ....#!"&5.462... + 0x36, 0x32, 0x1f, 0x01, 0x03, 0x00, 0x26, 0x34, 0x13, 0x90, 0xfe, 0xb4, 0x0a, 0x1a, 0x0a, 0x72, // 62....&4.......r + 0x0a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x02, 0xf3, 0x0a, 0xfe, // ...L..&....&.... + 0xb4, 0x90, 0x13, 0x26, 0x1a, 0xfe, 0x40, 0x1a, 0x26, 0x26, 0x34, 0x13, 0x90, 0x01, 0x4c, 0x0a, // ...&..@.&&4...L. + 0x1a, 0x0a, 0x72, 0x02, 0x40, 0xfe, 0x40, 0x1a, 0x26, 0x13, 0x90, 0xfe, 0xb4, 0x0a, 0x0a, 0x72, // ..r.@.@.&......r + 0x0a, 0x1a, 0x0a, 0x01, 0x4c, 0x90, 0x13, 0x34, 0x26, 0x26, 0x02, 0x93, 0x1a, 0x0a, 0xfe, 0xb4, // ....L..4&&...... + 0x90, 0x13, 0x34, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x1a, 0x26, 0x13, 0x90, 0x01, 0x4c, 0x0a, 0x0a, // ..4&&....&...L.. + 0x72, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x23, // r..............# + 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, // ......#!...+."&5 + 0x11, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, // .!"&=.463!.46;.2 + 0x16, 0x15, 0x11, 0x21, 0x32, 0x16, 0x05, 0x80, 0x38, 0x28, 0xfe, 0x60, 0x38, 0x28, 0xc0, 0x28, // ...!2...8(.`8(.( + 0x38, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x01, 0xa0, // 8.`(88(..8(.(8.. + 0x28, 0x38, 0x03, 0x20, 0xc0, 0x28, 0x38, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0x38, // (8. .(8.`(88(..8 + 0x28, 0xc0, 0x28, 0x38, 0x01, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xfe, 0x60, 0x38, 0x00, 0x00, 0x00, // (.(8..(88(.`8... + 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x05, 0x80, 0x03, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x15, // ................ + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x80, // ..#!"&=.463!2... + 0x38, 0x28, 0xfb, 0x40, 0x28, 0x38, 0x38, 0x28, 0x04, 0xc0, 0x28, 0x38, 0x03, 0x20, 0xc0, 0x28, // 8(.@(88(..(8. .( + 0x38, 0x38, 0x28, 0xc0, 0x28, 0x38, 0x38, 0x00, 0x00, 0x01, 0x00, 0x7a, 0xff, 0x80, 0x06, 0x06, // 88(.(88....z.... + 0x05, 0x80, 0x00, 0x35, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x27, 0x25, 0x11, // ...5.........'%. + 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x05, 0x06, 0x26, 0x2f, 0x01, 0x26, 0x36, 0x37, // ..+."&5...&/.&67 + 0x2d, 0x01, 0x2e, 0x01, 0x3f, 0x01, 0x3e, 0x01, 0x17, 0x05, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, // -...?.>....46;.2 + 0x16, 0x15, 0x11, 0x25, 0x36, 0x16, 0x1f, 0x01, 0x16, 0x06, 0x07, 0x05, 0x05, 0xca, 0x2e, 0x1b, // ...%6........... + 0x1a, 0x40, 0x1a, 0x67, 0x2e, 0xfe, 0xf6, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0xfe, 0xf6, 0x2e, 0x67, // .@.g...L4.4L...g + 0x1a, 0x40, 0x1a, 0x1b, 0x2e, 0x01, 0x0a, 0xfe, 0xf6, 0x2e, 0x1b, 0x1a, 0x40, 0x1a, 0x67, 0x2e, // .@..........@.g. + 0x01, 0x0a, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0x01, 0x0a, 0x2e, 0x67, 0x1a, 0x40, 0x1a, 0x1b, 0x2e, // ..L4.4L...g.@... + 0xfe, 0xf6, 0x01, 0xe6, 0x1a, 0x67, 0x2e, 0x6e, 0x2e, 0x1b, 0x1a, 0x99, 0xfe, 0xcd, 0x34, 0x4c, // .....g.n......4L + 0x4c, 0x34, 0x01, 0x33, 0x99, 0x1a, 0x1b, 0x2e, 0x6e, 0x2e, 0x67, 0x1a, 0x9a, 0x9a, 0x1a, 0x67, // L4.3....n.g....g + 0x2e, 0x6e, 0x2e, 0x1b, 0x1a, 0x99, 0x01, 0x33, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0xcd, 0x99, 0x1a, // .n.....34LL4.... + 0x1b, 0x2e, 0x6e, 0x2e, 0x67, 0x1a, 0x9a, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..n.g........... + 0x05, 0x80, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x20, 0x04, 0x12, 0x10, 0x02, // .......-... .... + 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, // . $....54&+."... 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x03, 0x13, 0x34, 0x27, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x06, // ..;.26..4'&+.".. - 0x15, 0x13, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x03, 0x01, 0x16, 0x07, 0x0e, 0x01, 0x23, 0x21, // ....;.26......#! - 0x22, 0x26, 0x27, 0x26, 0x37, 0x01, 0x3e, 0x01, 0x32, 0x16, 0x04, 0x00, 0x13, 0x0d, 0xc0, 0x0d, // "&'&7.>.2....... - 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x02, 0x12, 0x0a, 0x0d, 0x0b, 0xdc, 0x0b, 0x0d, 0x0a, 0x11, // ................ - 0x14, 0x0e, 0xb9, 0x0e, 0x13, 0x0d, 0x03, 0x00, 0x23, 0x25, 0x11, 0x3b, 0x22, 0xfa, 0x00, 0x22, // ........#%.;".." - 0x3b, 0x11, 0x25, 0x23, 0x03, 0x00, 0x11, 0x3c, 0x46, 0x3c, 0xa1, 0xbe, 0x0e, 0x13, 0x13, 0x0e, // ;.%#.....`,@L....... - 0x04, 0x03, 0x0f, 0x06, 0xfe, 0xe9, 0xfe, 0xfd, 0x35, 0x05, 0x0d, 0x60, 0x09, 0x0e, 0x02, 0x0f, // ........5..`.... - 0x09, 0xbd, 0xfc, 0x0b, 0x02, 0x01, 0x0a, 0x60, 0x09, 0x0e, 0x06, 0x02, 0xc2, 0x01, 0x03, 0xfe, // .......`........ - 0x04, 0x0e, 0x03, 0x02, 0x0b, 0x80, 0x0e, 0x10, 0x02, 0x99, 0xa0, 0x4c, 0xc0, 0x05, 0x60, 0x34, // ...........L..`4 - 0xc0, 0x4c, 0xa1, 0xfd, 0x48, 0x13, 0x0e, 0x60, 0x06, 0x01, 0x03, 0x0d, 0x01, 0xfc, 0xfe, 0xfd, // .L..H..`........ - 0xc2, 0x11, 0x0e, 0x60, 0x09, 0x02, 0x0b, 0xfc, 0xbd, 0x07, 0x10, 0x0d, 0x0c, 0x61, 0x09, 0x01, // ...`.........a.. - 0x35, 0x01, 0x03, 0x01, 0x17, 0x08, 0x10, 0x10, 0x0b, 0x80, 0x0d, 0x05, 0x9f, 0xa0, 0x4c, 0x40, // 5.............L@ - 0x00, 0x0f, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, // ................ - 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x33, 0x00, 0x37, // ...........#.3.7 - 0x00, 0x3b, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x73, 0x00, 0x00, 0x17, 0x21, 0x11, 0x21, 0x01, 0x21, // .;.?.O.s...!.!.! - 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x21, // .!%!.!.!.!%!.!.! - 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x11, // .!.!.!.!.!%!.!.. - 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x21, // 4&+.".....;.26.! - 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x37, 0x11, 0x34, 0x26, 0x2b, 0x01, // .!%!.!.!.!7.4&+. - 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, // ".....;.26%...#! - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, // "&5.46;.546;.2.. - 0x01, 0x21, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x80, 0x01, // .!546;.2...32... - 0x20, 0xfe, 0xe0, 0x01, 0x60, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x01, 0x20, 0xfe, 0xe0, 0x01, // ...`.@..... ... - 0x60, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x01, 0x20, 0xfe, 0xe0, 0x02, 0xe0, 0x01, 0x40, 0xfe, // `.@..... .....@. - 0xc0, 0xfe, 0x80, 0x01, 0x40, 0xfe, 0xc0, 0x03, 0x00, 0x01, 0x20, 0xfe, 0xe0, 0xfe, 0x80, 0x01, // ....@..... ..... - 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x02, // @......@....@... - 0xe0, 0x01, 0x20, 0xfe, 0xe0, 0xfe, 0x80, 0x01, 0x40, 0xfe, 0xc0, 0x01, 0x80, 0x01, 0x20, 0xfe, // .. .....@..... . - 0xe0, 0x20, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x01, 0x80, 0x4c, 0x34, // . ..@....@....L4 - 0xfa, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x80, 0x5e, 0x42, 0x40, 0x42, 0x5e, 0x01, 0x80, 0x5e, 0x42, // ..4LL4.^B@B^..^B - 0x40, 0x42, 0x5e, 0x80, 0x34, 0x4c, 0x80, 0x01, 0x20, 0xfe, 0xe0, 0x01, 0x20, 0x40, 0x01, 0x40, // @B^.4L.. ... @.@ - 0xfe, 0xc0, 0x01, 0x40, 0x40, 0x01, 0x20, 0xfc, 0x00, 0x01, 0x20, 0x01, 0xc0, 0x01, 0x20, 0xfc, // ...@@. ... ... . - 0x00, 0x01, 0x20, 0x40, 0x01, 0x40, 0x02, 0x20, 0x01, 0x20, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xe0, // .. @.@. . ...... - 0x0d, 0x13, 0x13, 0xfc, 0xad, 0x01, 0x40, 0x40, 0x01, 0x20, 0xfe, 0xe0, 0x01, 0x20, 0xc0, 0x01, // ......@@. ... .. - 0x20, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xe0, 0x0d, 0x13, 0x13, 0x4d, 0xfb, 0x00, 0x34, 0x4c, 0x4c, // .........M..4LL - 0x34, 0x05, 0x00, 0x34, 0x4c, 0x60, 0x42, 0x5e, 0x5e, 0x42, 0x60, 0x60, 0x42, 0x5e, 0x5e, 0x42, // 4..4L`B^^B``B^^B - 0x60, 0x4c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0xa0, 0x07, 0x00, 0x05, 0xe0, 0x00, 0x12, // `L.............. - 0x00, 0x37, 0x00, 0x71, 0x00, 0x00, 0x01, 0x06, 0x07, 0x2e, 0x04, 0x2b, 0x01, 0x22, 0x26, 0x3d, // .7.q.......+."&= - 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, // .46;.2.....#"&=. - 0x22, 0x0e, 0x01, 0x2e, 0x06, 0x27, 0x36, 0x37, 0x1e, 0x04, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, // "....'67..3!5463 - 0x32, 0x17, 0x01, 0x12, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x22, 0x0e, // 2.......#"&=.!". - 0x02, 0x07, 0x06, 0x07, 0x0e, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, // ......+."&=.46;. - 0x32, 0x3e, 0x02, 0x37, 0x36, 0x37, 0x3e, 0x06, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, // 2>.767>.3!54632. - 0x01, 0x02, 0x9a, 0x3c, 0x4d, 0x16, 0x1e, 0x33, 0x33, 0x4b, 0x2c, 0xe0, 0x0e, 0x12, 0x12, 0x0e, // ....7> - 0x05, 0x37, 0x26, 0x02, 0x35, 0x34, 0x3e, 0x01, 0x24, 0x33, 0x32, 0x04, 0x07, 0x00, 0xf0, 0xfe, // .7&.54>.$32..... - 0x64, 0xf4, 0x46, 0x4b, 0xc6, 0xfe, 0xfa, 0x31, 0x41, 0x11, 0x1b, 0x04, 0x03, 0x05, 0x01, 0x0a, // d.FK...1A....... - 0x02, 0x0c, 0x02, 0x07, 0x30, 0x15, 0x29, 0x18, 0x1e, 0x0b, 0x9d, 0xb5, 0x8e, 0xf0, 0x01, 0x4c, // ....0.)........L - 0xb6, 0xf4, 0x01, 0x9c, 0x03, 0x2e, 0xfe, 0xa4, 0xfe, 0xd9, 0xab, 0x08, 0xaf, 0x43, 0x0e, 0x08, // .............C.. - 0x02, 0x16, 0x12, 0x01, 0x04, 0x10, 0x04, 0x0f, 0x03, 0x0e, 0x02, 0x08, 0x35, 0x17, 0x38, 0x2e, // ............5.8. - 0x48, 0x28, 0x59, 0x01, 0x06, 0x96, 0x82, 0xed, 0xac, 0x65, 0xab, 0x00, 0x00, 0x03, 0x00, 0x00, // H(Y......e...... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x33, 0x00, 0x43, 0x00, 0x00, 0x01, 0x15, // .......#.3.C.... - 0x14, 0x02, 0x04, 0x20, 0x24, 0x02, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, // ... $.=.463!2... - 0x14, 0x1e, 0x03, 0x32, 0x3e, 0x03, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x11, // ...2>.=.463!2... - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x11, // ..#!"&5.463!2... - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, // ..#!"&5.463!2... - 0xc5, 0xfe, 0xa1, 0xfe, 0x48, 0xfe, 0xa1, 0xc5, 0x26, 0x1a, 0x01, 0x80, 0x1a, 0x26, 0x2f, 0x3c, // ....H...&....&/< - 0x52, 0x2e, 0x2a, 0x2e, 0x52, 0x3c, 0x2f, 0x26, 0x1a, 0x01, 0x80, 0x1a, 0x26, 0xfc, 0x00, 0x26, // R.*.R.7.#"&463!2...! - 0x32, 0x16, 0x02, 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x03, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // 2...KjKKj..KjKKj - 0xcb, 0x20, 0x19, 0xfb, 0xec, 0x01, 0x07, 0x05, 0x18, 0x03, 0x98, 0x1a, 0x26, 0x26, 0x1a, 0xfc, // . ..........&&.. - 0x00, 0x1a, 0x26, 0x16, 0x25, 0x02, 0xb1, 0xcc, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x10, 0x19, // ..&.%....&&..... - 0x0f, 0x0b, 0x04, 0x07, 0x01, 0x04, 0xb1, 0x1a, 0x26, 0x35, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, // ........&5jKKjKK - 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x03, 0xc0, 0xfe, 0x00, 0x18, 0x25, 0x03, 0x7a, 0x07, 0x1d, 0x18, // jKKjK.....%.z... - 0x0a, 0x10, 0x30, 0x26, 0x34, 0x26, 0x26, 0x1a, 0x0e, 0x33, 0x44, 0x04, 0x03, 0x37, 0x26, 0x34, // ..0&4&&..3D..7&4 - 0x26, 0x0d, 0x12, 0x1f, 0x16, 0x25, 0x07, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, // &....%.&........ - 0x05, 0x80, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ..........#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x06, 0x80, 0x84, 0x5c, 0xfb, // 463!2...!2...... - 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x01, 0x40, 0x5c, 0x84, 0x02, 0xa0, 0x5c, 0x84, 0x03, 0xa0, 0xfd, // @.....@......... - 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x03, 0xc0, 0x5c, 0x84, 0x84, 0x5c, 0x20, 0x84, 0x00, 0x00, 0x00, // @.......... .... - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x05, 0x80, 0x00, 0x13, 0x00, 0x2a, 0x00, 0x00, // .......W.....*.. - 0x01, 0x14, 0x07, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x3e, 0x01, // ......#!"&547.>. - 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x21, 0x22, 0x06, 0x07, 0x01, 0x07, 0x34, 0x26, 0x35, 0x11, // 3!2...!"....4&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x07, 0x57, 0x1f, 0xfe, 0xb0, // 463!2...!2..W... - 0x2b, 0x9b, 0x42, 0xfb, 0xc0, 0x22, 0x35, 0x1f, 0x01, 0x50, 0x2b, 0x9b, 0x42, 0x04, 0x40, 0x22, // +.B.."5..P+.B.@" - 0x35, 0xfe, 0xa9, 0xfc, 0xc0, 0x5e, 0xce, 0x3d, 0xfe, 0xaf, 0x05, 0x01, 0x84, 0x5c, 0x01, 0x40, // 5....^.=.......@ - 0x5c, 0x84, 0x02, 0x20, 0x5c, 0x84, 0x02, 0x48, 0x1f, 0x23, 0xfe, 0x74, 0x33, 0x47, 0x1a, 0x1e, // ... ...H.#.t3G.. - 0x1f, 0x23, 0x01, 0x8c, 0x33, 0x47, 0x1a, 0x01, 0x3a, 0xa0, 0x5f, 0x48, 0xfe, 0x74, 0x06, 0x04, // .#..3G..:._H.t.. - 0x11, 0x04, 0x03, 0xc0, 0x5c, 0x84, 0x84, 0x5c, 0x20, 0x84, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, // ........ ......@ - 0xff, 0x00, 0x02, 0xc0, 0x06, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x14, 0x06, 0x2b, 0x01, 0x11, // .............+.. - 0x33, 0x32, 0x16, 0x14, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x11, // 32....."'.&46;.. - 0x23, 0x22, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x02, 0xc0, 0x26, 0x1a, 0x80, 0x80, // #"&47.62....&... - 0x1a, 0x26, 0x13, 0xff, 0x00, 0x13, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x80, 0x1a, // .&....4....&.... - 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x04, 0xda, 0x34, 0x26, 0xfc, 0x00, 0x26, // &....4.....4&..& - 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x04, 0x00, 0x26, 0x34, 0x13, // 4........4&..&4. - 0x01, 0x00, 0x13, 0x13, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x40, 0x07, 0x00, // .............@.. - 0x03, 0xc0, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x21, // ..........."&=.! - 0x15, 0x14, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x21, // ..."'.&47.62...! - 0x35, 0x34, 0x36, 0x32, 0x17, 0x01, 0x07, 0x00, 0x13, 0xff, 0x00, 0x13, 0x34, 0x26, 0xfc, 0x00, // 5462........4&.. - 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x04, 0x00, 0x26, 0x34, // &4........4&..&4 - 0x13, 0x01, 0x00, 0x02, 0x9a, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x80, 0x1a, 0x26, // .....4....&....& - 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, 0x80, 0x1a, 0x26, 0x13, // ....4....&....&. - 0xff, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x03, // ................ - 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, // ........./....!. - 0x01, 0x11, 0x21, 0x11, 0x01, 0x11, 0x21, 0x11, 0x01, 0x11, 0x21, 0x11, 0x01, 0x11, 0x34, 0x26, // ..!...!...!...4& - 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, // #!".....3!26.... - 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x00, 0xff, 0x00, // #!"&5.463!2..... - 0x02, 0x80, 0xff, 0x00, 0x02, 0x80, 0xff, 0x00, 0x02, 0x80, 0xff, 0x00, 0x01, 0x80, 0x13, 0x0d, // ................ - 0xf9, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0x40, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0xf9, 0xc0, 0x42, // .......@...^B..B - 0x5e, 0x5e, 0x42, 0x06, 0x40, 0x42, 0x5e, 0x02, 0x00, 0xfe, 0x80, 0x01, 0x80, 0x02, 0x00, 0xfc, // ^^B.@B^......... - 0x80, 0x03, 0x80, 0xff, 0x00, 0xfd, 0x80, 0x02, 0x80, 0x01, 0x80, 0xfc, 0x00, 0x04, 0x00, 0xfb, // ................ - 0xa0, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x04, 0xcd, 0xfb, 0x40, // ........@......@ - 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // B^^B..B^^....... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x01, 0x06, 0x07, 0x36, // .......0.@.....6 - 0x37, 0x06, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x2e, 0x01, 0x27, 0x06, 0x15, 0x14, // 7..&#"......'... - 0x17, 0x26, 0x27, 0x15, 0x14, 0x16, 0x17, 0x06, 0x23, 0x22, 0x27, 0x1e, 0x01, 0x17, 0x06, 0x23, // .&'.....#"'....# - 0x22, 0x27, 0x16, 0x33, 0x32, 0x3e, 0x03, 0x35, 0x34, 0x27, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, // "'.32>.54'6....# - 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x00, 0x38, 0x41, 0x44, // !"&5.463!2...8AD - 0x19, 0x41, 0x45, 0x3d, 0x5c, 0x57, 0x7b, 0x05, 0x81, 0xe2, 0x4f, 0x1d, 0x5b, 0x2f, 0x35, 0x64, // .AE=.W{...O.[/5d - 0x49, 0x1d, 0x16, 0x0d, 0x1a, 0x15, 0x6b, 0x44, 0x74, 0x91, 0x1a, 0x18, 0x94, 0xae, 0x70, 0xc4, // I.....kDt.....p. - 0x8c, 0x65, 0x31, 0x01, 0x3f, 0x01, 0x2a, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, // .e1.?.*.w.@w..w. - 0xc0, 0x77, 0xa9, 0x03, 0x9e, 0x19, 0x09, 0x28, 0x4d, 0x26, 0x0d, 0x42, 0x7b, 0x57, 0x1d, 0x13, // .w.....(M&.B{W.. - 0x07, 0x74, 0x61, 0x32, 0x38, 0x72, 0x3d, 0x01, 0x19, 0x02, 0x4b, 0x75, 0x0e, 0x08, 0x04, 0x3f, // .ta28r=...Ku...? - 0x52, 0x01, 0x5a, 0x03, 0x5e, 0x47, 0x77, 0x9b, 0xa9, 0x54, 0x12, 0x09, 0x2d, 0x01, 0x02, 0xfc, // R.Z.^Gw..T..-... - 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // @w..w..w........ - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x13, 0x00, 0x23, 0x00, 0x00, 0x01, 0x37, 0x23, 0x35, // .........#...7#5 - 0x34, 0x36, 0x3b, 0x01, 0x35, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x23, 0x15, 0x33, 0x11, 0x21, 0x11, // 46;.5#"...#.3.!. - 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x05, 0x1b, 0x17, 0xc6, 0x1f, 0x38, 0x6e, 0xaf, 0x98, 0x84, 0x83, 0x83, 0x01, 0x06, 0x01, 0x94, // .....8n......... - 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x02, 0x6a, 0xdb, 0x6d, // .w.@w..w..w..j.m - 0x31, 0x27, 0xdb, 0x90, 0x8d, 0x83, 0xdb, 0xfd, 0x85, 0x02, 0x7b, 0x01, 0xf6, 0xfc, 0x40, 0x77, // 1'........{...@w - 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // ..w..w.......... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2e, 0x00, 0x3e, // .........#.'...> - 0x00, 0x00, 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x36, // ...4&#"....26546 - 0x33, 0x32, 0x36, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x21, 0x35, 0x21, 0x00, 0x10, // 326.."&462.!5!.. - 0x26, 0x20, 0x06, 0x10, 0x16, 0x20, 0x01, 0x21, 0x35, 0x21, 0x03, 0x21, 0x3d, 0x01, 0x21, 0x07, // & ... .!5!.!=.!. - 0x21, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // !%...#!"&5.463!2 - 0x16, 0x03, 0xa0, 0x12, 0x0e, 0x42, 0x5e, 0x12, 0x1c, 0x12, 0x38, 0x28, 0x0e, 0xf2, 0x96, 0xd4, // .....B^...8(.... - 0x96, 0x96, 0xd4, 0xfc, 0x96, 0x06, 0x00, 0xfa, 0x00, 0x04, 0x80, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, // ................ - 0x01, 0x3e, 0xfc, 0xe1, 0x01, 0x80, 0xfe, 0x80, 0x80, 0x06, 0x00, 0xfc, 0xc4, 0x40, 0xfd, 0x7c, // .>...........@.| - 0x06, 0x80, 0x4b, 0x35, 0xfa, 0x00, 0x35, 0x4b, 0x4b, 0x35, 0x06, 0x00, 0x35, 0x4b, 0x02, 0xb2, // ..K5..5KK5..5K.. - 0x1c, 0x12, 0x5e, 0x42, 0x0e, 0x12, 0x12, 0x0e, 0x28, 0x38, 0x08, 0xd4, 0x96, 0x96, 0xd4, 0x96, // ..^B....(8...... - 0xfc, 0xc2, 0x80, 0x01, 0x1f, 0x01, 0x3e, 0xe1, 0xe1, 0xfe, 0xc2, 0xe1, 0x04, 0x02, 0x80, 0xfe, // ......>......... - 0xc0, 0x76, 0x8a, 0x80, 0x80, 0xfb, 0x00, 0x35, 0x4b, 0x4b, 0x35, 0x05, 0x00, 0x35, 0x4b, 0x4b, // .v.....5KK5..5KK - 0x00, 0x02, 0x00, 0x00, 0xff, 0x48, 0x06, 0x93, 0x05, 0x80, 0x00, 0x15, 0x00, 0x47, 0x00, 0x00, // .....H.......G.. - 0x00, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x17, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x32, 0x36, // .4&"....&#"...26 - 0x35, 0x34, 0x27, 0x16, 0x33, 0x32, 0x01, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x02, 0x27, 0x07, 0x17, // 54'.32...#"..'.. - 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x24, // ....#"'..#"&54.$ - 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x01, 0x37, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, // 32.....7..54632. - 0x1e, 0x04, 0x03, 0x40, 0x70, 0xa0, 0x70, 0x13, 0x29, 0x2a, 0x50, 0x70, 0x70, 0xa0, 0x70, 0x13, // ...@p.p.)*Ppp.p. - 0x29, 0x2a, 0x50, 0x03, 0xc3, 0x62, 0x11, 0x09, 0x27, 0x22, 0x2b, 0x03, 0x60, 0xdc, 0x1c, 0x4e, // )*P..b..'"+.`..N - 0x2a, 0x28, 0x1c, 0xfd, 0x61, 0xb0, 0xbd, 0xa3, 0xcd, 0xbe, 0x01, 0x32, 0xa0, 0xa3, 0xcd, 0x83, // *(..a......2.... - 0x01, 0x63, 0x60, 0x03, 0x2e, 0x22, 0x20, 0x62, 0x11, 0x0d, 0x0a, 0x06, 0x50, 0x54, 0x59, 0x39, // .c`.." b....PTY9 - 0x03, 0xb0, 0xa0, 0x70, 0x70, 0x50, 0x2a, 0x29, 0x13, 0x70, 0xa0, 0x70, 0x70, 0x50, 0x2a, 0x29, // ...ppP*).p.ppP*) - 0x13, 0xfe, 0x00, 0x11, 0x62, 0x20, 0x22, 0x2e, 0x03, 0x60, 0xdc, 0x1c, 0x28, 0x2a, 0x4e, 0x1c, // ....b "..`..(*N. - 0x02, 0x9f, 0x83, 0xcd, 0xa3, 0xa0, 0x01, 0x32, 0xbe, 0xcd, 0xa3, 0xbd, 0xb0, 0xfe, 0x9d, 0x60, // .......2.......` - 0x03, 0x2b, 0x22, 0x27, 0x09, 0x11, 0x62, 0x0a, 0x06, 0x4d, 0x52, 0x5a, 0x42, 0x00, 0x00, 0x00, // .+"'..b..MRZB... - 0x00, 0x06, 0x00, 0x00, 0xff, 0x0f, 0x07, 0x80, 0x05, 0xf0, 0x00, 0x07, 0x00, 0x11, 0x00, 0x1b, // ................ - 0x00, 0x7f, 0x00, 0xbd, 0x00, 0xfb, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // .........4&"...2 - 0x01, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, // .4&"....26.4&".. - 0x14, 0x16, 0x32, 0x36, 0x01, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x16, 0x17, 0x16, 0x15, // ..26............ - 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x2f, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, // ....#"/......+." - 0x26, 0x2f, 0x01, 0x26, 0x27, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, // &/.&'..#"'&547>. - 0x37, 0x26, 0x2f, 0x01, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x36, 0x3f, 0x01, 0x36, 0x37, 0x26, 0x27, // 7&/...=.46?.67&' - 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x1f, 0x01, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, // &547>.32..67676; - 0x01, 0x32, 0x16, 0x1f, 0x01, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, // .2.....7632..... - 0x0e, 0x01, 0x07, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x01, 0x15, 0x14, 0x07, 0x06, 0x07, 0x16, 0x15, // ................ - 0x14, 0x07, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x22, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x26, // ...#"&'."'..#"'& - 0x35, 0x34, 0x37, 0x26, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, // 547&'&=.4767&547 - 0x3e, 0x02, 0x33, 0x32, 0x16, 0x17, 0x36, 0x32, 0x17, 0x36, 0x3f, 0x01, 0x32, 0x17, 0x16, 0x15, // >.32..62.6?.2... - 0x14, 0x07, 0x16, 0x17, 0x16, 0x11, 0x15, 0x14, 0x07, 0x06, 0x07, 0x16, 0x15, 0x14, 0x07, 0x06, // ................ - 0x23, 0x22, 0x26, 0x27, 0x06, 0x22, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, // #"&'."'..#"'&547 - 0x26, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x02, 0x33, // &'&=.4767&547>.3 - 0x32, 0x16, 0x17, 0x36, 0x32, 0x17, 0x36, 0x3f, 0x01, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, // 2..62.6?.2...... - 0x17, 0x16, 0x03, 0x80, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x03, 0x96, 0x4c, 0x68, 0x4c, 0x4b, 0x6a, // ...........LhLKj - 0x4b, 0x4c, 0x68, 0x4c, 0x4b, 0x6a, 0x4b, 0xfe, 0x80, 0x0e, 0x09, 0x9b, 0x0b, 0x15, 0x22, 0x38, // KLhLKjK......."8 - 0x07, 0x07, 0x17, 0x77, 0x13, 0x0b, 0x0a, 0x73, 0x25, 0x28, 0x0b, 0x0c, 0x07, 0x17, 0xba, 0x0b, // ...w...s%(...... - 0x12, 0x01, 0x17, 0x22, 0x29, 0x76, 0x07, 0x0d, 0x0b, 0x0a, 0x90, 0x07, 0x0a, 0x3e, 0x10, 0x17, // ...")v.......>.. - 0x0c, 0x98, 0x0a, 0x0e, 0x0e, 0x09, 0x9b, 0x0b, 0x15, 0x22, 0x38, 0x07, 0x07, 0x16, 0x78, 0x13, // ........."8...x. - 0x0b, 0x0a, 0x73, 0x22, 0x2b, 0x0b, 0x0c, 0x07, 0x17, 0xba, 0x0b, 0x12, 0x01, 0x17, 0x22, 0x29, // ..s"+.........") - 0x76, 0x08, 0x0c, 0x0b, 0x0a, 0x90, 0x07, 0x0c, 0x3c, 0x0f, 0x17, 0x0b, 0x98, 0x0a, 0x0e, 0x02, // v.......<....... - 0x80, 0x95, 0x0c, 0x12, 0x33, 0x04, 0x7a, 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x0e, 0x4c, // ....3.z..L.....L - 0x08, 0x02, 0x7a, 0x04, 0x33, 0x12, 0x0c, 0x95, 0x95, 0x0d, 0x11, 0x33, 0x04, 0x04, 0x3e, 0x38, // ..z.3......3..>8 - 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x33, 0x29, 0x06, 0x04, 0x78, 0x04, 0x33, 0x11, 0x0d, // ..L....3)..x.3.. - 0x95, 0x95, 0x0c, 0x12, 0x33, 0x04, 0x7a, 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x0e, 0x4c, // ....3.z..L.....L - 0x08, 0x02, 0x7a, 0x04, 0x33, 0x12, 0x0c, 0x95, 0x95, 0x0d, 0x11, 0x33, 0x04, 0x04, 0x3e, 0x38, // ..z.3......3..>8 - 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x33, 0x29, 0x06, 0x04, 0x78, 0x04, 0x33, 0x11, 0x0d, // ..L....3)..x.3.. - 0x95, 0x02, 0x16, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0xff, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x35, 0x4b, // ..........4LL45K - 0x4b, 0x04, 0x35, 0x34, 0x4c, 0x4c, 0x34, 0x35, 0x4b, 0x4b, 0xfe, 0x90, 0xb9, 0x0a, 0x13, 0x01, // K.54LL45KK...... - 0x18, 0x23, 0x29, 0x30, 0x43, 0x0a, 0x0a, 0x0c, 0x07, 0x1e, 0x77, 0x07, 0x5a, 0x13, 0x0c, 0x6c, // .#)0C.....w.Z..l - 0x2f, 0x18, 0x0f, 0x0a, 0x99, 0x0a, 0x15, 0x59, 0x07, 0x08, 0x85, 0x1b, 0x09, 0x0a, 0x0e, 0x4e, // /......Y.......N - 0x16, 0x2c, 0x26, 0x18, 0x01, 0x11, 0x0b, 0xb9, 0x0a, 0x13, 0x01, 0x18, 0x23, 0x29, 0x30, 0x43, // .,&.........#)0C - 0x0b, 0x09, 0x0c, 0x08, 0x1e, 0x76, 0x07, 0x5a, 0x12, 0x0e, 0x6c, 0x2e, 0x18, 0x0f, 0x0a, 0x99, // .....v.Z..l..... - 0x0a, 0x15, 0x59, 0x07, 0x08, 0x85, 0x1b, 0x09, 0x0a, 0x10, 0x4c, 0x16, 0x30, 0x22, 0x17, 0x02, // ..Y.......L.0".. - 0x11, 0xfd, 0xe0, 0x8c, 0x10, 0x0f, 0x1b, 0x19, 0x71, 0x19, 0x04, 0x03, 0x47, 0x5e, 0x15, 0x02, // ........q...G^.. - 0x02, 0x15, 0x5e, 0x47, 0x03, 0x04, 0x19, 0x71, 0x19, 0x1b, 0x0f, 0x10, 0x8c, 0x10, 0x0f, 0x1d, // ..^G...q........ - 0x17, 0x71, 0x19, 0x04, 0x03, 0x02, 0x24, 0x20, 0x5d, 0x15, 0x02, 0x02, 0x47, 0x29, 0x02, 0x46, // .q....$ ]...G).F - 0x03, 0x04, 0x19, 0x71, 0x17, 0x1d, 0x0f, 0x03, 0xf0, 0x8c, 0x10, 0x0f, 0x1b, 0x19, 0x71, 0x19, // ...q..........q. - 0x04, 0x03, 0x47, 0x5e, 0x15, 0x02, 0x02, 0x15, 0x5e, 0x47, 0x03, 0x04, 0x19, 0x71, 0x19, 0x1b, // ..G^....^G...q.. - 0x0f, 0x10, 0x8c, 0x10, 0x0f, 0x1d, 0x17, 0x71, 0x19, 0x04, 0x03, 0x02, 0x24, 0x20, 0x5d, 0x15, // .......q....$ ]. - 0x02, 0x02, 0x47, 0x29, 0x02, 0x46, 0x03, 0x04, 0x19, 0x71, 0x17, 0x1d, 0x0f, 0x00, 0x00, 0x00, // ..G).F...q...... - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x25, 0x00, 0x4f, 0x00, 0x00, // ...........%.O.. - 0x00, 0x10, 0x06, 0x04, 0x23, 0x22, 0x27, 0x06, 0x07, 0x06, 0x07, 0x23, 0x22, 0x26, 0x27, 0x26, // ....#"'....#"&'& - 0x34, 0x3e, 0x05, 0x37, 0x3e, 0x04, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x24, 0x20, 0x04, 0x01, // 4>.7>.7..546$ .. - 0x14, 0x06, 0x07, 0x1e, 0x04, 0x17, 0x1e, 0x06, 0x14, 0x07, 0x0e, 0x01, 0x27, 0x26, 0x27, 0x26, // ............'&'& - 0x27, 0x06, 0x23, 0x20, 0x27, 0x16, 0x33, 0x32, 0x24, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x27, 0x1e, // '.# '.32$7>.54'. - 0x01, 0x05, 0x80, 0xbc, 0xfe, 0xbb, 0xbf, 0x56, 0x5a, 0x7c, 0x9a, 0x24, 0x32, 0x03, 0x0b, 0x13, // .......VZ|.$2... - 0x02, 0x01, 0x01, 0x03, 0x02, 0x05, 0x03, 0x06, 0x01, 0x05, 0x24, 0x10, 0x1d, 0x15, 0x0a, 0x7c, // ..........$....| - 0x8e, 0xbc, 0x01, 0x45, 0x01, 0x7e, 0x01, 0x45, 0x02, 0x3c, 0x8e, 0x7c, 0x0a, 0x15, 0x1d, 0x10, // ...E.~.E.<.|.... - 0x24, 0x05, 0x01, 0x06, 0x03, 0x05, 0x02, 0x03, 0x01, 0x01, 0x03, 0x14, 0x0c, 0x32, 0x24, 0x9a, // $............2$. - 0x7c, 0x5a, 0x56, 0xfe, 0xf1, 0xc9, 0x3a, 0x1e, 0xa1, 0x01, 0x28, 0x74, 0x7d, 0x86, 0x17, 0x81, // |ZV...:...(t}... - 0x96, 0x03, 0x8b, 0xfe, 0xea, 0xec, 0x89, 0x10, 0x58, 0x28, 0x09, 0x07, 0x10, 0x0d, 0x03, 0x07, // ........X(...... - 0x06, 0x06, 0x04, 0x07, 0x03, 0x07, 0x01, 0x06, 0x26, 0x15, 0x25, 0x28, 0x18, 0x48, 0xd2, 0x77, // ........&.%(.H.w - 0x8b, 0xec, 0x89, 0x89, 0xfd, 0x89, 0x78, 0xd1, 0x48, 0x18, 0x28, 0x25, 0x15, 0x26, 0x06, 0x01, // ......x.H.(%.&.. - 0x07, 0x03, 0x07, 0x04, 0x06, 0x06, 0x07, 0x03, 0x0e, 0x10, 0x01, 0x07, 0x09, 0x28, 0x58, 0x10, // .............(X. - 0x84, 0x04, 0x5a, 0x54, 0x5c, 0xf0, 0x86, 0x4d, 0x4b, 0x47, 0xd6, 0x00, 0x00, 0x03, 0x00, 0x00, // ..ZT...MKG...... - 0xff, 0x80, 0x06, 0x00, 0x06, 0x00, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x6d, 0x00, 0x00, 0x24, 0x34, // .........<.m..$4 - 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x34, 0x26, 0x23, 0x21, 0x34, 0x36, 0x35, 0x34, 0x26, // &"...2.4&#!4654& - 0x23, 0x0e, 0x02, 0x07, 0x06, 0x07, 0x0e, 0x06, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x1e, 0x04, 0x17, // #.......+..32... - 0x16, 0x3b, 0x01, 0x32, 0x35, 0x34, 0x27, 0x3e, 0x01, 0x34, 0x27, 0x36, 0x35, 0x34, 0x26, 0x27, // .;.254'>.4'654&' - 0x3e, 0x01, 0x37, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x06, 0x2b, // >.7............+ - 0x02, 0x22, 0x26, 0x27, 0x26, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x36, // ."&'&#!"&5.463!6 - 0x37, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x33, 0x32, // 767>.7632.....32 - 0x16, 0x01, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x04, 0xa6, 0x4e, 0x32, 0xfe, 0xa0, 0x60, 0x40, // ...&4&&4..N2..`@ - 0x60, 0x1a, 0x18, 0x25, 0x29, 0x16, 0x37, 0x04, 0x26, 0x19, 0x2c, 0x24, 0x29, 0x27, 0x10, 0x20, // `..%).7.&.,$)'. - 0x20, 0x0d, 0x25, 0x1d, 0x2f, 0x17, 0x30, 0x05, 0xd3, 0x83, 0x79, 0xc0, 0x05, 0x1e, 0x23, 0x12, // .%./.0...y...#. - 0x35, 0x14, 0x0f, 0x20, 0x2b, 0x80, 0x31, 0x09, 0x26, 0x03, 0x3c, 0x01, 0xac, 0x8d, 0x24, 0x5d, // 5.. +.1.&.<...$] - 0x60, 0xbb, 0x7b, 0x74, 0x16, 0xfe, 0xe0, 0x35, 0x4b, 0x4b, 0x35, 0x01, 0x12, 0x24, 0x65, 0x3a, // `.{t...5KK5..$e: - 0x31, 0x18, 0x17, 0x26, 0x2b, 0x27, 0x33, 0x54, 0x86, 0x46, 0x30, 0xb0, 0x68, 0x98, 0xa6, 0x34, // 1..&+'3T.F0.h..4 - 0x26, 0x26, 0x34, 0x26, 0x02, 0x80, 0x33, 0x4d, 0x3a, 0xcb, 0x3b, 0x62, 0x5e, 0x1a, 0x76, 0x85, // &&4&..3M:.;b^.v. - 0x2b, 0x17, 0x44, 0x05, 0x32, 0x20, 0x35, 0x23, 0x24, 0x12, 0xfd, 0x80, 0x06, 0x07, 0x0f, 0x08, // +.D.2 5#$....... - 0x11, 0x02, 0x49, 0xa7, 0x1a, 0x1e, 0x10, 0x49, 0x4a, 0x20, 0x32, 0x45, 0x19, 0x3d, 0x11, 0x01, // ..I....IJ 2E.=.. - 0x5c, 0x24, 0x59, 0x4a, 0x21, 0x24, 0x4d, 0x43, 0x15, 0x16, 0x65, 0x4d, 0x8b, 0xa1, 0x2d, 0x2b, // .$YJ!$MC..eM..-+ - 0x28, 0x4b, 0x35, 0x02, 0x80, 0x35, 0x4b, 0x18, 0x83, 0x4b, 0x35, 0x19, 0x79, 0x84, 0x2a, 0x25, // (K5..5K..K5.y.*% - 0x41, 0x8a, 0x75, 0x5d, 0x63, 0x98, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, // A.u]c........... - 0x05, 0x80, 0x00, 0x07, 0x00, 0x3d, 0x00, 0x70, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .....=.p...4&".. - 0x16, 0x32, 0x01, 0x34, 0x26, 0x27, 0x3e, 0x01, 0x35, 0x34, 0x27, 0x36, 0x34, 0x26, 0x27, 0x36, // .2.4&'>.54'64&'6 - 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x0e, 0x05, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x1e, 0x05, // 54&+."...+..32.. - 0x17, 0x16, 0x17, 0x1e, 0x02, 0x17, 0x32, 0x36, 0x35, 0x34, 0x26, 0x35, 0x21, 0x32, 0x36, 0x37, // ......2654&5!267 - 0x14, 0x06, 0x2b, 0x01, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x2e, 0x03, 0x27, // ..+.......#"'..' - 0x26, 0x27, 0x26, 0x27, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x37, 0x3e, // &'&'!"&5.463!27> - 0x01, 0x3b, 0x01, 0x32, 0x16, 0x07, 0x15, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, // .;.2............ - 0x01, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x04, 0xa6, 0x2b, 0x20, 0x0f, 0x14, 0x35, 0x12, 0x23, // ..&4&&4..+ ..5.# - 0x1e, 0x05, 0x62, 0x57, 0x80, 0x83, 0xd3, 0x05, 0x30, 0x17, 0x2f, 0x1d, 0x25, 0x0d, 0x20, 0x20, // ..bW....0./.%. - 0x10, 0x27, 0x29, 0x24, 0x2c, 0x19, 0x26, 0x04, 0x37, 0x16, 0x29, 0x25, 0x18, 0x1a, 0x60, 0x40, // .')$,.&.7.)%..`@ - 0x60, 0x01, 0x60, 0x32, 0x4e, 0x80, 0x98, 0x68, 0xb0, 0x30, 0x23, 0x23, 0x86, 0x54, 0x33, 0x27, // `.`2N..h.0##.T3' - 0x22, 0x28, 0x0b, 0x18, 0x13, 0x30, 0x3b, 0x65, 0x24, 0xfe, 0xee, 0x35, 0x4b, 0x4b, 0x35, 0x01, // "(...0;e$..5KK5. - 0x20, 0x16, 0x74, 0x80, 0xbe, 0x69, 0x70, 0x8c, 0xad, 0x01, 0x3c, 0x03, 0x26, 0x09, 0x31, 0x04, // .t..ip...<.&.1. - 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfe, 0x00, 0x23, 0x5c, 0x01, 0x11, 0x3d, 0x19, 0x45, 0x32, // &4&&4&..#...=.E2 - 0x20, 0x4a, 0x49, 0x10, 0x1e, 0x1a, 0x55, 0x52, 0x49, 0x02, 0x11, 0x08, 0x0f, 0x07, 0x06, 0xfd, // JI...URI....... - 0x80, 0x12, 0x24, 0x23, 0x35, 0x20, 0x32, 0x05, 0x44, 0x17, 0x2b, 0x85, 0x76, 0x1a, 0x5e, 0x62, // ..$#5 2.D.+.v.^b - 0x3b, 0xcb, 0x3a, 0x4d, 0x32, 0x67, 0x98, 0x63, 0x5d, 0x76, 0x44, 0x45, 0x41, 0x25, 0x21, 0x62, // ;.:M2g.c]vDEA%!b - 0x53, 0x56, 0x15, 0x32, 0x4d, 0x83, 0x18, 0x4b, 0x35, 0x02, 0x80, 0x35, 0x4b, 0x28, 0x2c, 0x2c, // SV.2M..K5..5K(,, - 0x9e, 0x89, 0x05, 0x4d, 0x65, 0x16, 0x15, 0x43, 0x4d, 0x24, 0x21, 0x4a, 0x00, 0x01, 0x00, 0x00, // ...Me..CM$!J.... + 0x15, 0x13, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, // ....;.26./...a.. + 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x02, 0xb2, 0x12, 0x0d, 0xc0, 0x0d, 0x14, 0x14, // ...^............ + 0x0d, 0xc0, 0x0d, 0x12, 0x02, 0x12, 0x0a, 0x0a, 0x0e, 0xdc, 0x0e, 0x0a, 0x0a, 0x11, 0x14, 0x0e, // ................ + 0xb9, 0x0e, 0x13, 0x05, 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // .........^.....a + 0x01, 0xa2, 0x01, 0x61, 0xfb, 0xef, 0xbe, 0x0e, 0x13, 0x14, 0x0d, 0xbe, 0x0d, 0x14, 0x13, 0x01, // ...a............ + 0x66, 0x02, 0x6d, 0x0c, 0x06, 0x08, 0x08, 0x06, 0x0c, 0xfd, 0x93, 0x0a, 0x0f, 0x0f, 0x00, 0x00, // f.m............. + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x40, 0x00, 0x0d, 0x00, 0x16, 0x00, 0x1f, // .........@...... + 0x00, 0x4a, 0x00, 0x00, 0x25, 0x35, 0x11, 0x35, 0x21, 0x15, 0x11, 0x15, 0x14, 0x16, 0x3b, 0x01, // .J..%5.5!.....;. + 0x32, 0x36, 0x01, 0x33, 0x27, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x24, 0x34, 0x26, 0x23, 0x22, // 26.3'&#"...$4&#" + 0x0f, 0x01, 0x33, 0x32, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // ..32....+....#!" + 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x22, 0x26, 0x34, 0x36, // &5.#"&5.463!"&46 + 0x33, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x33, 0x32, 0x16, 0x14, 0x06, 0x23, 0x21, 0x32, 0x16, 0x03, // 32..7632...#!2.. + 0xa0, 0xfe, 0xc0, 0x24, 0x1c, 0xc0, 0x1c, 0x24, 0xfe, 0x38, 0xc3, 0x7e, 0x1a, 0x2b, 0x28, 0x38, // ...$...$.8.~.+(8 + 0x38, 0x02, 0xd8, 0x38, 0x28, 0x2b, 0x1a, 0x7d, 0xc2, 0x28, 0x01, 0xb0, 0x12, 0x0e, 0x60, 0x38, // 8..8(+.}.(....`8 + 0x28, 0xfb, 0xc0, 0x28, 0x38, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xb8, 0x5d, 0x83, 0x83, 0x5d, // (..(8`......]..] + 0x6b, 0x3d, 0x80, 0x80, 0x3d, 0x6b, 0x5d, 0x83, 0x83, 0x5d, 0x01, 0xb8, 0x0e, 0x12, 0xb4, 0x38, // k=..=k]..].....8 + 0x01, 0xd4, 0xc0, 0xc0, 0xfe, 0x2c, 0x38, 0x19, 0x1b, 0x1b, 0x03, 0x65, 0xa1, 0x1f, 0x38, 0x50, // .....,8....e..8P + 0x38, 0x38, 0x50, 0x38, 0x1f, 0xa1, 0xa0, 0xfe, 0xc0, 0x0e, 0x12, 0xfe, 0x60, 0x28, 0x38, 0x38, // 88P8........`(88 + 0x28, 0x01, 0xa0, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x83, 0xba, 0x83, 0x4d, 0xa5, 0xa5, 0x4d, // (.....@.....M..M + 0x83, 0xba, 0x83, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x15, // ................ + 0x00, 0x4e, 0x00, 0x00, 0x00, 0x34, 0x26, 0x23, 0x22, 0x04, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, // .N...4&#"....... + 0x33, 0x32, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x24, 0x33, 0x32, 0x01, 0x14, 0x07, 0x06, 0x00, 0x07, // 327>.76$32...... + 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x27, 0x2e, 0x03, // .#"'..#"..#"&'.. + 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x04, // 54>.54&'&54>.7>. + 0x37, 0x3e, 0x04, 0x33, 0x32, 0x1e, 0x02, 0x05, 0x00, 0x26, 0x1a, 0xac, 0xfe, 0xdc, 0xe3, 0x7a, // 7>.32....&.....z + 0x13, 0x26, 0x1a, 0x18, 0x15, 0x1b, 0x5e, 0x14, 0x89, 0x01, 0x07, 0xb6, 0x1a, 0x02, 0x26, 0x14, // .&....^.......&. + 0x2e, 0xfe, 0xeb, 0xdb, 0xd6, 0xe0, 0x94, 0x8a, 0x0f, 0x92, 0x17, 0x10, 0x2f, 0x2b, 0x3e, 0x1d, // ............/+>. + 0x2b, 0x29, 0x19, 0x02, 0x08, 0x03, 0x03, 0x3e, 0x4a, 0x3e, 0x1c, 0x02, 0x09, 0x57, 0x97, 0xbe, // +).....>J>...W.. + 0x6d, 0x37, 0xb4, 0xb3, 0xb2, 0x95, 0x27, 0x0a, 0x27, 0x14, 0x22, 0x27, 0x18, 0x27, 0x3f, 0x20, // m7....'.'."'.'? + 0x10, 0x03, 0x26, 0x34, 0x26, 0x63, 0xa9, 0x87, 0x15, 0x18, 0x1a, 0x26, 0x13, 0x18, 0x5e, 0x13, // ..&4&c.....&..^. + 0x7c, 0x68, 0x01, 0x06, 0x5f, 0x62, 0xe0, 0xfe, 0xc2, 0x6d, 0x6c, 0x2f, 0x05, 0x4a, 0x40, 0x4c, // |h.._b...ml/.J@L + 0x40, 0x23, 0x2a, 0x04, 0x0e, 0x06, 0x0d, 0x07, 0x23, 0x4d, 0x36, 0x3a, 0x13, 0x04, 0x44, 0x0a, // @#*.....#M6:..D. + 0x33, 0x35, 0x73, 0xd2, 0x9f, 0x77, 0x24, 0x12, 0x0f, 0x03, 0x09, 0x27, 0x25, 0x0a, 0x27, 0x11, // 35s..w$....'%.'. + 0x17, 0x09, 0x5c, 0x84, 0x74, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // ....t........... + 0x06, 0x00, 0x00, 0x0f, 0x00, 0x33, 0x00, 0x00, 0x05, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // .....3......#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x14, 0x0e, 0x05, 0x15, 0x14, 0x17, 0x27, // =.463!2........' + 0x17, 0x2e, 0x04, 0x35, 0x34, 0x3e, 0x05, 0x35, 0x34, 0x27, 0x17, 0x27, 0x1e, 0x04, 0x05, 0x80, // ...54>.54'.'.... + 0x13, 0x0d, 0xfa, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x05, 0x40, 0x0d, 0x13, 0xff, 0x00, 0x31, 0x4f, // .........@....1O + 0x60, 0x60, 0x4f, 0x31, 0x43, 0x04, 0x01, 0x5a, 0x8c, 0x89, 0x5a, 0x37, 0x31, 0x4f, 0x60, 0x60, // ``O1C..Z..Z71O`` + 0x4f, 0x31, 0x42, 0x03, 0x01, 0x5a, 0x8c, 0x89, 0x5a, 0x37, 0xa0, 0x40, 0x0d, 0x13, 0x13, 0x0d, // O1B..Z..Z7.@.... + 0x40, 0x0d, 0x13, 0x13, 0x04, 0x13, 0x4e, 0x84, 0x5d, 0x53, 0x48, 0x48, 0x5b, 0x33, 0x60, 0x80, // @.....N.]SHH[3`. + 0x01, 0x01, 0x29, 0x54, 0x74, 0x81, 0xac, 0x62, 0x4e, 0x84, 0x5d, 0x53, 0x48, 0x48, 0x5b, 0x33, // ..)Tt..bN.]SHH[3 + 0x5e, 0x82, 0x01, 0x01, 0x29, 0x54, 0x74, 0x81, 0xac, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ^...)Tt......... + 0x00, 0x00, 0x07, 0x00, 0x04, 0x80, 0x00, 0x11, 0x00, 0x21, 0x00, 0x31, 0x00, 0x00, 0x01, 0x26, // .........!.1...& + 0x27, 0x16, 0x15, 0x14, 0x00, 0x20, 0x00, 0x35, 0x34, 0x37, 0x06, 0x07, 0x16, 0x04, 0x20, 0x24, // '.... .547.... $ + 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x36, 0x33, 0x32, // .4&#"....2654632 + 0x00, 0x14, 0x07, 0x06, 0x00, 0x20, 0x00, 0x27, 0x26, 0x34, 0x37, 0x36, 0x00, 0x20, 0x00, 0x17, // ..... .'&476. .. + 0x06, 0x80, 0x98, 0xe5, 0x3d, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x3d, 0xe5, 0x98, 0x85, 0x01, // ....=......=.... + 0x91, 0x01, 0xd4, 0x01, 0x91, 0xfd, 0xb5, 0x1c, 0x14, 0x7d, 0xb3, 0x1c, 0x28, 0x1c, 0x7a, 0x56, // .........}..(.zV + 0x14, 0x03, 0x6c, 0x14, 0x8c, 0xfe, 0x27, 0xfd, 0xf2, 0xfe, 0x27, 0x8c, 0x14, 0x14, 0x8c, 0x01, // ..l...'...'..... + 0xd9, 0x02, 0x0e, 0x01, 0xd9, 0x8c, 0x02, 0x40, 0xec, 0x75, 0x68, 0x79, 0xb9, 0xfe, 0xf9, 0x01, // .......@.uhy.... + 0x07, 0xb9, 0x79, 0x68, 0x75, 0xec, 0xcd, 0xf3, 0xf3, 0x02, 0x39, 0x28, 0x1c, 0xb3, 0x7d, 0x14, // ..yhu.....9(..}. + 0x1c, 0x1c, 0x14, 0x56, 0x7a, 0xfe, 0xd2, 0x44, 0x23, 0xe6, 0xfe, 0xeb, 0x01, 0x16, 0xe5, 0x23, // ...Vz..D#......# + 0x44, 0x23, 0xe5, 0x01, 0x16, 0xfe, 0xea, 0xe5, 0x00, 0x05, 0x00, 0x00, 0xff, 0xa0, 0x07, 0x00, // D#.............. + 0x04, 0xe0, 0x00, 0x09, 0x00, 0x19, 0x00, 0x3d, 0x00, 0x43, 0x00, 0x55, 0x00, 0x00, 0x25, 0x37, // .......=.C.U..%7 + 0x2e, 0x01, 0x35, 0x34, 0x37, 0x06, 0x07, 0x12, 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, // ..547....4&#"... + 0x16, 0x32, 0x36, 0x35, 0x34, 0x36, 0x33, 0x32, 0x25, 0x14, 0x07, 0x06, 0x00, 0x0f, 0x01, 0x06, // .2654632%....... + 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x2e, 0x01, 0x27, 0x26, 0x34, 0x37, 0x36, 0x00, 0x21, // #"'&547..'&476.! + 0x32, 0x17, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x16, 0x13, 0x14, 0x06, 0x07, 0x01, 0x16, // 2.7632.......... + 0x04, 0x14, 0x07, 0x06, 0x07, 0x06, 0x04, 0x23, 0x37, 0x36, 0x24, 0x37, 0x26, 0x27, 0x37, 0x1e, // .......#76$7&'7. + 0x01, 0x17, 0x02, 0x2b, 0x4e, 0x57, 0x62, 0x3d, 0xe5, 0x98, 0xa7, 0x02, 0x89, 0x1c, 0x14, 0x7d, // ...+NWb=.......} + 0xb3, 0x1c, 0x28, 0x1c, 0x7a, 0x56, 0x14, 0x01, 0x87, 0x01, 0x6a, 0xfe, 0x5c, 0x69, 0x31, 0x0a, // ..(.zV....j..i1. + 0x12, 0x0c, 0x7a, 0x10, 0x2c, 0x8f, 0xf1, 0x58, 0x14, 0x14, 0x99, 0x01, 0xc6, 0x01, 0x0d, 0x59, // ..z.,..X.......Y + 0x5b, 0x36, 0x0a, 0x12, 0x05, 0x1a, 0x24, 0x1e, 0x21, 0x03, 0x10, 0x25, 0x9e, 0x82, 0x01, 0x18, // [6....$.!..%.... + 0x08, 0x01, 0xc0, 0x14, 0x27, 0x46, 0x96, 0xfe, 0x75, 0xde, 0x4a, 0xd4, 0x01, 0x69, 0x79, 0x73, // ....'F..u.J..iys + 0xa7, 0x3f, 0x5f, 0xaf, 0x39, 0xc9, 0x8d, 0x3f, 0xc0, 0x6b, 0x79, 0x68, 0x75, 0xec, 0xfe, 0xfe, // .?_.9..?.kyhu... + 0x02, 0x6e, 0x28, 0x1c, 0xb3, 0x7d, 0x14, 0x1c, 0x1c, 0x14, 0x56, 0x7a, 0xef, 0x07, 0x02, 0xbd, // .n(..}....Vz.... + 0xfd, 0x0c, 0xbc, 0x59, 0x10, 0x46, 0x0a, 0x12, 0x0c, 0x4b, 0x41, 0xd8, 0x89, 0x1f, 0x4c, 0x1f, // ...Y.F...KA...L. + 0xeb, 0x01, 0x10, 0x11, 0x61, 0x10, 0x0c, 0x13, 0x12, 0x13, 0x02, 0x0a, 0xfe, 0x30, 0x8b, 0xe5, // ....a........0.. + 0x32, 0x01, 0xf6, 0x2d, 0x84, 0x46, 0x22, 0x40, 0x51, 0xac, 0xbe, 0x84, 0x12, 0xee, 0xbc, 0xb3, // 2..-.F"@Q....... + 0x73, 0x70, 0x40, 0xb2, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x10, 0xff, 0x80, 0x06, 0xf0, // sp@._........... + 0x06, 0x00, 0x00, 0x0f, 0x00, 0x21, 0x00, 0x33, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, // .....!.3..%54&+. + 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x03, 0x13, 0x34, 0x27, 0x26, 0x2b, // ".....;.26..4'&+ + 0x01, 0x22, 0x07, 0x06, 0x15, 0x13, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x03, 0x01, 0x16, 0x07, // ."......;.26.... + 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x27, 0x26, 0x37, 0x01, 0x3e, 0x01, 0x32, 0x16, 0x04, 0x00, // ..#!"&'&7.>.2... + 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x02, 0x12, 0x0a, 0x0d, 0x0b, 0xdc, // ................ + 0x0b, 0x0d, 0x0a, 0x11, 0x14, 0x0e, 0xb9, 0x0e, 0x13, 0x0d, 0x03, 0x00, 0x23, 0x25, 0x11, 0x3b, // ............#%.; + 0x22, 0xfa, 0x00, 0x22, 0x3b, 0x11, 0x25, 0x23, 0x03, 0x00, 0x11, 0x3c, 0x46, 0x3c, 0xa1, 0xbe, // "..";.%#.....`,@L... + 0x11, 0x80, 0x07, 0x0c, 0x04, 0x03, 0x0f, 0x06, 0xfe, 0xe9, 0xfe, 0xfd, 0x35, 0x05, 0x0d, 0x60, // ............5..` + 0x09, 0x0e, 0x02, 0x0f, 0x09, 0xbd, 0xfc, 0x0b, 0x02, 0x01, 0x0a, 0x60, 0x09, 0x0e, 0x06, 0x02, // ...........`.... + 0xc2, 0x01, 0x03, 0xfe, 0x04, 0x0e, 0x03, 0x02, 0x0b, 0x80, 0x0e, 0x10, 0x02, 0x99, 0xa0, 0x4c, // ...............L + 0xc0, 0x05, 0x60, 0x34, 0xc0, 0x4c, 0xa1, 0xfd, 0x48, 0x13, 0x0e, 0x60, 0x06, 0x01, 0x03, 0x0d, // ..`4.L..H..`.... + 0x01, 0xfc, 0xfe, 0xfd, 0xc2, 0x11, 0x0e, 0x60, 0x09, 0x02, 0x0b, 0xfc, 0xbd, 0x07, 0x10, 0x0d, // .......`........ + 0x0c, 0x61, 0x09, 0x01, 0x35, 0x01, 0x03, 0x01, 0x17, 0x08, 0x10, 0x10, 0x0b, 0x80, 0x0d, 0x05, // .a..5........... + 0x9f, 0xa0, 0x4c, 0x40, 0x00, 0x0f, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x03, // ..L@............ + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, // ...............# + 0x00, 0x33, 0x00, 0x37, 0x00, 0x3b, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x73, 0x00, 0x00, 0x17, 0x21, // .3.7.;.?.O.s...! + 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, // .!.!.!%!.!.!.!%! + 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, // .!.!.!.!.!.!.!%! + 0x11, 0x21, 0x01, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, // .!..4&+.".....;. + 0x32, 0x36, 0x01, 0x21, 0x11, 0x21, 0x25, 0x21, 0x11, 0x21, 0x01, 0x21, 0x11, 0x21, 0x37, 0x11, // 26.!.!%!.!.!.!7. + 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x25, 0x11, // 4&+.".....;.26%. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, 0x3b, // ..#!"&5.46;.546; + 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x33, // .2...!546;.2...3 + 0x32, 0x16, 0x80, 0x01, 0x20, 0xfe, 0xe0, 0x01, 0x60, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x01, // 2... ...`.@..... + 0x20, 0xfe, 0xe0, 0x01, 0x60, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x01, 0x20, 0xfe, 0xe0, 0x02, // ...`.@..... ... + 0xe0, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0x80, 0x01, 0x40, 0xfe, 0xc0, 0x03, 0x00, 0x01, 0x20, 0xfe, // ..@.....@..... . + 0xe0, 0xfe, 0x80, 0x01, 0x40, 0xfe, 0xc0, 0xfe, 0xa0, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, // ....@......@.... + 0x40, 0x0d, 0x13, 0x02, 0xe0, 0x01, 0x20, 0xfe, 0xe0, 0xfe, 0x80, 0x01, 0x40, 0xfe, 0xc0, 0x01, // @..... .....@... + 0x80, 0x01, 0x20, 0xfe, 0xe0, 0x20, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x40, 0x0d, 0x13, // .. .. ..@....@.. + 0x01, 0x80, 0x4c, 0x34, 0xfa, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x80, 0x5e, 0x42, 0x40, 0x42, 0x5e, // ..L4..4LL4.^B@B^ + 0x01, 0x80, 0x5e, 0x42, 0x40, 0x42, 0x5e, 0x80, 0x34, 0x4c, 0x80, 0x01, 0x20, 0xfe, 0xe0, 0x01, // ..^B@B^.4L.. ... + 0x20, 0x40, 0x01, 0x40, 0xfe, 0xc0, 0x01, 0x40, 0x40, 0x01, 0x20, 0xfc, 0x00, 0x01, 0x20, 0x01, // @.@...@@. ... . + 0xc0, 0x01, 0x20, 0xfc, 0x00, 0x01, 0x20, 0x40, 0x01, 0x40, 0x02, 0x20, 0x01, 0x20, 0x0d, 0x13, // .. ... @.@. . .. + 0x13, 0x0d, 0xfe, 0xe0, 0x0d, 0x13, 0x13, 0xfc, 0xad, 0x01, 0x40, 0x40, 0x01, 0x20, 0xfe, 0xe0, // ..........@@. .. + 0x01, 0x20, 0xc0, 0x01, 0x20, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xe0, 0x0d, 0x13, 0x13, 0x4d, 0xfb, // . .. .........M. + 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, 0x34, 0x4c, 0x60, 0x42, 0x5e, 0x5e, 0x42, 0x60, 0x60, // .4LL4..4L`B^^B`` + 0x42, 0x5e, 0x5e, 0x42, 0x60, 0x4c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0xa0, 0x07, 0x00, // B^^B`L.......... + 0x05, 0xe0, 0x00, 0x12, 0x00, 0x37, 0x00, 0x71, 0x00, 0x00, 0x01, 0x06, 0x07, 0x2e, 0x04, 0x2b, // .....7.q.......+ + 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, // ."&=.46;.2.....# + 0x22, 0x26, 0x3d, 0x01, 0x22, 0x0e, 0x01, 0x2e, 0x06, 0x27, 0x36, 0x37, 0x1e, 0x04, 0x33, 0x21, // "&=."....'67..3! + 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x12, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x3d, // 54632.......#"&= + 0x01, 0x21, 0x22, 0x0e, 0x02, 0x07, 0x06, 0x07, 0x0e, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, // .!".......+."&=. + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x3e, 0x02, 0x37, 0x36, 0x37, 0x3e, 0x06, 0x33, 0x21, 0x35, 0x34, // 46;.2>.767>.3!54 + 0x36, 0x33, 0x32, 0x17, 0x01, 0x02, 0x9a, 0x3c, 0x4d, 0x16, 0x1e, 0x33, 0x33, 0x4b, 0x2c, 0xe0, // 632....mB + 0x5a, 0x78, 0x50, 0x56, 0x33, 0x21, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x1e, 0x3c, 0x3f, 0x2e, 0x3e, // ZxPV3!...... + 0x6d, 0x42, 0x5a, 0x78, 0x50, 0x56, 0x33, 0x21, 0xc0, 0x0e, 0x12, 0x0a, 0xfe, 0xc1, 0x00, 0x00, // mBZxPV3!........ + 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x10, // ...........&.... + 0x02, 0x04, 0x23, 0x22, 0x27, 0x06, 0x05, 0x06, 0x07, 0x06, 0x26, 0x27, 0x35, 0x26, 0x36, 0x26, // ..#"'.....&'5&6& + 0x3e, 0x02, 0x37, 0x3e, 0x05, 0x37, 0x26, 0x02, 0x35, 0x34, 0x3e, 0x01, 0x24, 0x33, 0x32, 0x04, // >.7>.7&.54>.$32. + 0x07, 0x00, 0xf0, 0xfe, 0x64, 0xf4, 0x46, 0x4b, 0xc6, 0xfe, 0xfa, 0x31, 0x41, 0x11, 0x1b, 0x04, // ....d.FK...1A... + 0x03, 0x05, 0x01, 0x0a, 0x02, 0x0c, 0x02, 0x07, 0x30, 0x15, 0x29, 0x18, 0x1e, 0x0b, 0x9d, 0xb5, // ........0.)..... + 0x8e, 0xf0, 0x01, 0x4c, 0xb6, 0xf4, 0x01, 0x9c, 0x03, 0x2e, 0xfe, 0xa4, 0xfe, 0xd9, 0xab, 0x08, // ...L............ + 0xaf, 0x43, 0x0e, 0x08, 0x02, 0x16, 0x12, 0x01, 0x04, 0x10, 0x04, 0x0f, 0x03, 0x0e, 0x02, 0x08, // .C.............. + 0x35, 0x17, 0x38, 0x2e, 0x48, 0x28, 0x59, 0x01, 0x06, 0x96, 0x82, 0xed, 0xac, 0x65, 0xab, 0x00, // 5.8.H(Y......e.. + 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x33, 0x00, 0x43, // ...........#.3.C + 0x00, 0x00, 0x01, 0x15, 0x14, 0x02, 0x04, 0x20, 0x24, 0x02, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // ....... $.=.463! + 0x32, 0x16, 0x1d, 0x01, 0x14, 0x1e, 0x03, 0x32, 0x3e, 0x03, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2......2>.=.463! + 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&5.463! + 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&5.463! + 0x32, 0x16, 0x06, 0x00, 0xc5, 0xfe, 0xa1, 0xfe, 0x48, 0xfe, 0xa1, 0xc5, 0x26, 0x1a, 0x01, 0x80, // 2.......H...&... + 0x1a, 0x26, 0x2f, 0x3c, 0x52, 0x2e, 0x2a, 0x2e, 0x52, 0x3c, 0x2f, 0x26, 0x1a, 0x01, 0x80, 0x1a, // .&/.7.#"&463!2. + 0x04, 0x17, 0x21, 0x32, 0x16, 0x02, 0x80, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x03, 0xcc, 0x4c, 0x68, // ..!2...LhLLh..Lh + 0x4c, 0x4c, 0x68, 0xcc, 0x21, 0x18, 0xfb, 0xec, 0x0d, 0x18, 0x03, 0x98, 0x1a, 0x26, 0x26, 0x1a, // LLh.!........&&. + 0xfc, 0x00, 0x1a, 0x26, 0x10, 0x10, 0x1b, 0x02, 0xb1, 0xcc, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, // ...&.......&&... + 0x10, 0x19, 0x0e, 0x0c, 0x04, 0x07, 0x01, 0x04, 0xb1, 0x1a, 0x26, 0x34, 0x68, 0x4c, 0x4c, 0x68, // ..........&4hLLh + 0x4c, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x03, 0xc0, 0xfe, 0x00, 0x18, 0x25, 0x03, 0x7a, 0x3c, // LLhLLhL.....%.z< + 0x0a, 0x10, 0x30, 0x26, 0x34, 0x26, 0x26, 0x1a, 0x0b, 0x29, 0x1f, 0x31, 0x05, 0x03, 0x37, 0x26, // ..0&4&&..).1..7& + 0x34, 0x26, 0x0d, 0x12, 0x1f, 0x15, 0x26, 0x07, 0x26, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // 4&....&.&....... + 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // ..............#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x06, // "&5.463!2...!2.. + 0x80, 0x84, 0x5c, 0xfb, 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x01, 0x40, 0x5c, 0x84, 0x02, 0xa0, 0x5c, // ....@.....@..... + 0x84, 0x03, 0xa0, 0xfd, 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x03, 0xc0, 0x5c, 0x84, 0x84, 0x5c, 0x20, // ....@.......... + 0x84, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x05, 0x80, 0x00, 0x13, // ...........W.... + 0x00, 0x2a, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, // .*........#!"&54 + 0x37, 0x01, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x21, 0x22, 0x06, 0x07, 0x01, 0x07, // 7.>.3!2...!".... + 0x34, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x07, // 4&5.463!2...!2.. + 0x57, 0x1f, 0xfe, 0xb0, 0x2b, 0x9b, 0x42, 0xfb, 0xc0, 0x22, 0x35, 0x1f, 0x01, 0x50, 0x2b, 0x9b, // W...+.B.."5..P+. + 0x42, 0x04, 0x40, 0x22, 0x35, 0xfe, 0xa9, 0xfc, 0xc0, 0x5e, 0xce, 0x3d, 0xfe, 0xaf, 0x05, 0x01, // B.@"5....^.=.... + 0x84, 0x5c, 0x01, 0x40, 0x5c, 0x84, 0x02, 0x20, 0x5c, 0x84, 0x02, 0x48, 0x1f, 0x23, 0xfe, 0x74, // ...@... ...H.#.t + 0x33, 0x47, 0x1a, 0x1e, 0x1f, 0x23, 0x01, 0x8c, 0x33, 0x47, 0x1a, 0x01, 0x3a, 0xa0, 0x5f, 0x48, // 3G...#..3G..:._H + 0xfe, 0x74, 0x06, 0x04, 0x11, 0x04, 0x03, 0xc0, 0x5c, 0x84, 0x84, 0x5c, 0x20, 0x84, 0x00, 0x00, // .t.......... ... + 0x00, 0x01, 0x00, 0x40, 0xff, 0x00, 0x02, 0xc0, 0x06, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x14, // ...@............ + 0x06, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x16, 0x14, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, // .+..32....."'.&4 + 0x36, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x02, 0xc0, // 6;..#"&47.62.... + 0x26, 0x1a, 0x80, 0x80, 0x1a, 0x26, 0x13, 0xff, 0x00, 0x13, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, // &....&....4....& + 0x1a, 0x80, 0x80, 0x1a, 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x04, 0xda, 0x34, // ....&....4.....4 + 0x26, 0xfc, 0x00, 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, 0x04, // &..&4........4&. + 0x00, 0x26, 0x34, 0x13, 0x01, 0x00, 0x13, 0x13, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .&4............. + 0x01, 0x40, 0x07, 0x00, 0x03, 0xc0, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x22, // .@............." + 0x26, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, // &=.!..."'.&47.62 + 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x36, 0x32, 0x17, 0x01, 0x07, 0x00, 0x13, 0xff, 0x00, 0x13, // ...!5462........ + 0x34, 0x26, 0xfc, 0x00, 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, 0x00, 0x13, 0x34, 0x26, // 4&..&4........4& + 0x04, 0x00, 0x26, 0x34, 0x13, 0x01, 0x00, 0x02, 0x9a, 0x34, 0x13, 0xff, 0x00, 0x13, 0x26, 0x1a, // ..&4.....4....&. + 0x80, 0x80, 0x1a, 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, 0x00, 0x13, 0x26, 0x1a, 0x80, // ...&....4....&.. + 0x80, 0x1a, 0x26, 0x13, 0xff, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, // ..&............. + 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15, 0x00, 0x00, 0x01, 0x11, // ................ + 0x21, 0x11, 0x01, 0x11, 0x21, 0x11, 0x01, 0x15, 0x21, 0x11, 0x33, 0x11, 0x01, 0x11, 0x21, 0x11, // !...!...!.3...!. + 0x01, 0x11, 0x21, 0x11, 0x02, 0x80, 0xff, 0x00, 0x02, 0x80, 0xff, 0x00, 0x05, 0x00, 0xf8, 0x00, // ..!............. + 0x80, 0x05, 0x00, 0xff, 0x00, 0x02, 0x80, 0xff, 0x00, 0x02, 0x80, 0xfe, 0x00, 0x02, 0x00, 0x02, // ................ + 0x00, 0xfc, 0x00, 0x04, 0x00, 0xfb, 0x80, 0x80, 0x06, 0x00, 0xfa, 0x80, 0x03, 0x80, 0xfd, 0x00, // ................ + 0x03, 0x00, 0x01, 0x80, 0xfb, 0x80, 0x04, 0x80, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ................ + 0x05, 0x80, 0x00, 0x30, 0x00, 0x40, 0x00, 0x00, 0x01, 0x06, 0x07, 0x36, 0x37, 0x06, 0x07, 0x26, // ...0.@.....67..& + 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x2e, 0x01, 0x27, 0x06, 0x15, 0x14, 0x17, 0x26, 0x27, 0x15, // #"......'....&'. + 0x14, 0x16, 0x17, 0x06, 0x23, 0x22, 0x27, 0x1e, 0x01, 0x17, 0x06, 0x23, 0x22, 0x27, 0x16, 0x33, // ....#"'....#"'.3 + 0x32, 0x3e, 0x03, 0x35, 0x34, 0x27, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // 2>.54'6....#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x00, 0x38, 0x41, 0x44, 0x19, 0x41, 0x45, 0x3d, // .463!2...8AD.AE= + 0x5c, 0x57, 0x7b, 0x05, 0x81, 0xe2, 0x4f, 0x1d, 0x5b, 0x2f, 0x35, 0x64, 0x49, 0x1d, 0x16, 0x0d, // .W{...O.[/5dI... + 0x1a, 0x15, 0x6b, 0x44, 0x74, 0x91, 0x1a, 0x18, 0x94, 0xae, 0x70, 0xc4, 0x8c, 0x65, 0x31, 0x01, // ..kDt.....p..e1. + 0x3f, 0x01, 0x2a, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, // ?.*.w.@w..w..w.. + 0x9e, 0x19, 0x09, 0x28, 0x4d, 0x26, 0x0d, 0x42, 0x7b, 0x57, 0x1d, 0x13, 0x07, 0x74, 0x61, 0x32, // ...(M&.B{W...ta2 + 0x38, 0x72, 0x3d, 0x01, 0x19, 0x02, 0x4b, 0x75, 0x0e, 0x08, 0x04, 0x3f, 0x52, 0x01, 0x5a, 0x03, // 8r=...Ku...?R.Z. + 0x5e, 0x47, 0x77, 0x9b, 0xa9, 0x54, 0x12, 0x09, 0x2d, 0x01, 0x02, 0xfc, 0x40, 0x77, 0xa9, 0xa9, // ^Gw..T..-...@w.. + 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // w..w............ + 0x05, 0x80, 0x00, 0x24, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x11, // ...$...2.....+.. + 0x33, 0x37, 0x23, 0x35, 0x34, 0x36, 0x33, 0x37, 0x35, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x23, // 37#546375&#"...# + 0x15, 0x33, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x04, 0xe0, 0x77, 0xa9, 0xa9, // .3.!"&5.463..w.. + 0x77, 0xbc, 0xc7, 0x1e, 0xe5, 0x2f, 0x44, 0x7a, 0x3f, 0x73, 0x88, 0xa3, 0xc8, 0xc8, 0xfd, 0xec, // w..../Dz?s...... + 0x77, 0xa9, 0xa9, 0x77, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0x02, 0x53, 0xe8, 0x94, // w..w...w.@w..S.. + 0x38, 0x38, 0x01, 0xcf, 0x09, 0xa0, 0x92, 0xab, 0xe8, 0xfd, 0xad, 0xa9, 0x77, 0x03, 0xc0, 0x77, // 88..........w..w + 0xa9, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2e, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x34, // .....#.'...>...4 + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x36, 0x33, 0x32, 0x36, 0x14, // &#"....26546326. + 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x21, 0x35, 0x21, 0x00, 0x10, 0x26, 0x20, 0x06, 0x10, // ."&462.!5!..& .. + 0x16, 0x20, 0x01, 0x21, 0x35, 0x21, 0x03, 0x21, 0x3d, 0x01, 0x21, 0x07, 0x21, 0x25, 0x11, 0x14, // . .!5!.!=.!.!%.. + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0xa0, 0x12, // .#!"&5.463!2.... + 0x0e, 0x42, 0x5e, 0x12, 0x1c, 0x12, 0x38, 0x28, 0x0e, 0xf2, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0xfc, // .B^...8(........ + 0x96, 0x06, 0x00, 0xfa, 0x00, 0x04, 0x80, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xfc, 0xe1, // .............>.. + 0x01, 0x80, 0xfe, 0x80, 0x80, 0x06, 0x00, 0xfc, 0xc4, 0x40, 0xfd, 0x7c, 0x06, 0x80, 0x4b, 0x35, // .........@.|..K5 + 0xfa, 0x00, 0x35, 0x4b, 0x4b, 0x35, 0x06, 0x00, 0x35, 0x4b, 0x02, 0xb2, 0x1c, 0x12, 0x5e, 0x42, // ..5KK5..5K....^B + 0x0e, 0x12, 0x12, 0x0e, 0x28, 0x38, 0x08, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0xfc, 0xc2, 0x80, 0x01, // ....(8.......... + 0x1f, 0x01, 0x3e, 0xe1, 0xe1, 0xfe, 0xc2, 0xe1, 0x04, 0x02, 0x80, 0xfe, 0xc0, 0x76, 0x8a, 0x80, // ..>..........v.. + 0x80, 0xfb, 0x00, 0x35, 0x4b, 0x4b, 0x35, 0x05, 0x00, 0x35, 0x4b, 0x4b, 0x00, 0x02, 0x00, 0x00, // ...5KK5..5KK.... + 0xff, 0x48, 0x06, 0x93, 0x05, 0x80, 0x00, 0x15, 0x00, 0x47, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, // .H.......G...4&" + 0x06, 0x15, 0x14, 0x17, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x27, 0x16, // ....&#"...2654'. + 0x33, 0x32, 0x01, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x02, 0x27, 0x07, 0x17, 0x16, 0x15, 0x14, 0x06, // 32...#"..'...... + 0x23, 0x22, 0x27, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x24, 0x33, 0x32, 0x16, 0x15, // #"'..#"&54.$32.. + 0x14, 0x07, 0x01, 0x37, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x04, 0x03, 0x40, // ...7..54632....@ + 0x70, 0xa0, 0x70, 0x13, 0x29, 0x2a, 0x50, 0x70, 0x70, 0xa0, 0x70, 0x13, 0x29, 0x2a, 0x50, 0x03, // p.p.)*Ppp.p.)*P. + 0xc3, 0x62, 0x11, 0x09, 0x27, 0x22, 0x2b, 0x03, 0x60, 0xdc, 0x1c, 0x4e, 0x2a, 0x28, 0x1c, 0xfd, // .b..'"+.`..N*(.. + 0x61, 0xb0, 0xbd, 0xa3, 0xcd, 0xbe, 0x01, 0x32, 0xa0, 0xa3, 0xcd, 0x83, 0x01, 0x63, 0x60, 0x03, // a......2.....c`. + 0x2e, 0x22, 0x20, 0x62, 0x11, 0x0d, 0x0a, 0x06, 0x50, 0x54, 0x59, 0x39, 0x03, 0xb0, 0xa0, 0x70, // ." b....PTY9...p + 0x70, 0x50, 0x2a, 0x29, 0x13, 0x70, 0xa0, 0x70, 0x70, 0x50, 0x2a, 0x29, 0x13, 0xfe, 0x00, 0x11, // pP*).p.ppP*).... + 0x62, 0x20, 0x22, 0x2e, 0x03, 0x60, 0xdc, 0x1c, 0x28, 0x2a, 0x4e, 0x1c, 0x02, 0x9f, 0x83, 0xcd, // b "..`..(*N..... + 0xa3, 0xa0, 0x01, 0x32, 0xbe, 0xcd, 0xa3, 0xbd, 0xb0, 0xfe, 0x9d, 0x60, 0x03, 0x2b, 0x22, 0x27, // ...2.......`.+"' + 0x09, 0x11, 0x62, 0x0a, 0x06, 0x4d, 0x52, 0x5a, 0x42, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, // ..b..MRZB....... + 0xff, 0x0f, 0x07, 0x80, 0x05, 0xf0, 0x00, 0x07, 0x00, 0x11, 0x00, 0x1b, 0x00, 0x7f, 0x00, 0xbd, // ................ + 0x00, 0xfb, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x34, 0x26, 0x22, // .....4&"...2.4&" + 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, // ....26.4&"....26 + 0x01, 0x15, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, // ................ + 0x23, 0x22, 0x2f, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x2f, 0x01, 0x26, // #"/......+."&/.& + 0x27, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x26, 0x2f, 0x01, // '..#"'&547>.7&/. + 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x36, 0x3f, 0x01, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, // ..=.46?.67&'&547 + 0x3e, 0x01, 0x33, 0x32, 0x1f, 0x01, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1f, // >.32..67676;.2.. + 0x01, 0x16, 0x17, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x16, // ...7632......... + 0x1f, 0x01, 0x1e, 0x01, 0x01, 0x15, 0x14, 0x07, 0x06, 0x07, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, // ...............# + 0x22, 0x26, 0x27, 0x06, 0x22, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x26, // "&'."'..#"'&547& + 0x27, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x02, 0x33, 0x32, // '&=.4767&547>.32 + 0x16, 0x17, 0x36, 0x32, 0x17, 0x36, 0x3f, 0x01, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x17, // ..62.6?.2....... + 0x16, 0x11, 0x15, 0x14, 0x07, 0x06, 0x07, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x26, 0x27, // ............#"&' + 0x06, 0x22, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x26, 0x27, 0x26, 0x3d, // ."'..#"'&547&'&= + 0x01, 0x34, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x17, 0x36, // .4767&547>.32..6 + 0x32, 0x17, 0x36, 0x3f, 0x01, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x17, 0x16, 0x03, 0x80, // 2.6?.2.......... + 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x03, 0x96, 0x4c, 0x68, 0x4c, 0x4b, 0x6a, 0x4b, 0x4c, 0x68, 0x4c, // .......LhLKjKLhL + 0x4b, 0x6a, 0x4b, 0xfe, 0x80, 0x0e, 0x09, 0x9b, 0x0b, 0x15, 0x22, 0x38, 0x07, 0x07, 0x17, 0x77, // KjK......."8...w + 0x13, 0x0b, 0x0a, 0x73, 0x25, 0x28, 0x0b, 0x0c, 0x07, 0x17, 0xba, 0x0b, 0x12, 0x01, 0x17, 0x22, // ...s%(........." + 0x29, 0x76, 0x07, 0x0d, 0x0b, 0x0a, 0x90, 0x07, 0x0a, 0x3e, 0x10, 0x17, 0x0c, 0x98, 0x0a, 0x0e, // )v.......>...... + 0x0e, 0x09, 0x9b, 0x0b, 0x15, 0x22, 0x38, 0x07, 0x07, 0x16, 0x78, 0x13, 0x0b, 0x0a, 0x73, 0x22, // ....."8...x...s" + 0x2b, 0x0b, 0x0c, 0x07, 0x17, 0xba, 0x0b, 0x12, 0x01, 0x17, 0x22, 0x29, 0x76, 0x08, 0x0c, 0x0b, // +.........")v... + 0x0a, 0x90, 0x07, 0x0c, 0x3c, 0x0f, 0x17, 0x0b, 0x98, 0x0a, 0x0e, 0x02, 0x80, 0x95, 0x0c, 0x12, // ....<........... + 0x33, 0x04, 0x7a, 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x0e, 0x4c, 0x08, 0x02, 0x7a, 0x04, // 3.z..L.....L..z. + 0x33, 0x12, 0x0c, 0x95, 0x95, 0x0d, 0x11, 0x33, 0x04, 0x04, 0x3e, 0x38, 0x02, 0x08, 0x4c, 0x0e, // 3......3..>8..L. + 0x14, 0x14, 0x14, 0x33, 0x29, 0x06, 0x04, 0x78, 0x04, 0x33, 0x11, 0x0d, 0x95, 0x95, 0x0c, 0x12, // ...3)..x.3...... + 0x33, 0x04, 0x7a, 0x02, 0x08, 0x4c, 0x0e, 0x14, 0x14, 0x14, 0x0e, 0x4c, 0x08, 0x02, 0x7a, 0x04, // 3.z..L.....L..z. + 0x33, 0x12, 0x0c, 0x95, 0x95, 0x0d, 0x11, 0x33, 0x04, 0x04, 0x3e, 0x38, 0x02, 0x08, 0x4c, 0x0e, // 3......3..>8..L. + 0x14, 0x14, 0x14, 0x33, 0x29, 0x06, 0x04, 0x78, 0x04, 0x33, 0x11, 0x0d, 0x95, 0x02, 0x16, 0xd4, // ...3)..x.3...... + 0x96, 0x96, 0xd4, 0x96, 0xff, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x35, 0x4b, 0x4b, 0x04, 0x35, 0x34, // ......4LL45KK.54 + 0x4c, 0x4c, 0x34, 0x35, 0x4b, 0x4b, 0xfe, 0x90, 0xb9, 0x0a, 0x13, 0x01, 0x18, 0x23, 0x29, 0x30, // LL45KK.......#)0 + 0x43, 0x0b, 0x09, 0x0c, 0x07, 0x1e, 0x77, 0x07, 0x5a, 0x13, 0x0c, 0x6c, 0x2f, 0x18, 0x0f, 0x0a, // C.....w.Z..l/... + 0x99, 0x0a, 0x15, 0x59, 0x07, 0x08, 0x85, 0x1b, 0x09, 0x0a, 0x0e, 0x4e, 0x16, 0x2c, 0x26, 0x18, // ...Y.......N.,&. + 0x01, 0x11, 0x0b, 0xb9, 0x0a, 0x13, 0x01, 0x18, 0x23, 0x29, 0x30, 0x43, 0x0b, 0x09, 0x0c, 0x08, // ........#)0C.... + 0x1e, 0x76, 0x07, 0x5a, 0x12, 0x0e, 0x6c, 0x2e, 0x18, 0x0f, 0x0a, 0x99, 0x0a, 0x15, 0x59, 0x07, // .v.Z..l.......Y. + 0x08, 0x85, 0x1b, 0x08, 0x0b, 0x10, 0x4c, 0x16, 0x30, 0x22, 0x17, 0x02, 0x11, 0xfd, 0xe0, 0x8c, // ......L.0"...... + 0x10, 0x0f, 0x1b, 0x19, 0x71, 0x19, 0x04, 0x03, 0x47, 0x5e, 0x15, 0x02, 0x02, 0x15, 0x5e, 0x47, // ....q...G^....^G + 0x03, 0x04, 0x19, 0x71, 0x19, 0x1b, 0x0f, 0x10, 0x8c, 0x10, 0x0f, 0x1d, 0x17, 0x71, 0x19, 0x04, // ...q.........q.. + 0x03, 0x02, 0x24, 0x20, 0x5d, 0x15, 0x02, 0x02, 0x47, 0x29, 0x02, 0x46, 0x03, 0x04, 0x19, 0x71, // ..$ ]...G).F...q + 0x17, 0x1d, 0x0f, 0x03, 0xf0, 0x8c, 0x10, 0x0f, 0x1b, 0x19, 0x71, 0x19, 0x04, 0x03, 0x47, 0x5e, // ..........q...G^ + 0x15, 0x02, 0x02, 0x15, 0x5e, 0x47, 0x03, 0x04, 0x19, 0x71, 0x19, 0x1b, 0x0f, 0x10, 0x8c, 0x10, // ....^G...q...... + 0x0f, 0x1d, 0x17, 0x71, 0x19, 0x04, 0x03, 0x02, 0x24, 0x20, 0x5d, 0x15, 0x02, 0x02, 0x47, 0x29, // ...q....$ ]...G) + 0x02, 0x46, 0x03, 0x04, 0x19, 0x71, 0x17, 0x1d, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .F...q.......... + 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x25, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x10, 0x06, 0x04, // .......%.O...... + 0x23, 0x22, 0x27, 0x06, 0x07, 0x06, 0x07, 0x23, 0x22, 0x26, 0x27, 0x26, 0x34, 0x3e, 0x05, 0x37, // #"'....#"&'&4>.7 + 0x3e, 0x04, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x24, 0x20, 0x04, 0x01, 0x14, 0x06, 0x07, 0x1e, // >.7..546$ ...... + 0x04, 0x17, 0x1e, 0x06, 0x14, 0x07, 0x0e, 0x01, 0x27, 0x26, 0x27, 0x26, 0x27, 0x06, 0x23, 0x20, // ........'&'&'.# + 0x27, 0x16, 0x33, 0x32, 0x24, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x27, 0x1e, 0x01, 0x05, 0x80, 0xbc, // '.32$7>.54'..... + 0xfe, 0xbb, 0xbf, 0x56, 0x5a, 0x7c, 0x9a, 0x24, 0x32, 0x03, 0x0b, 0x13, 0x02, 0x01, 0x01, 0x03, // ...VZ|.$2....... + 0x02, 0x05, 0x03, 0x06, 0x01, 0x05, 0x24, 0x10, 0x1d, 0x15, 0x0a, 0x7c, 0x8e, 0xbc, 0x01, 0x45, // ......$....|...E + 0x01, 0x7e, 0x01, 0x45, 0x02, 0x3c, 0x8e, 0x7c, 0x0a, 0x15, 0x1d, 0x10, 0x24, 0x05, 0x01, 0x06, // .~.E.<.|....$... + 0x03, 0x05, 0x02, 0x03, 0x01, 0x01, 0x03, 0x14, 0x0c, 0x32, 0x24, 0x9a, 0x7c, 0x5a, 0x56, 0xfe, // .........2$.|ZV. + 0xf1, 0xc9, 0x3a, 0x1e, 0xa1, 0x01, 0x28, 0x74, 0x7d, 0x86, 0x17, 0x81, 0x96, 0x03, 0x8b, 0xfe, // ..:...(t}....... + 0xea, 0xec, 0x89, 0x10, 0x58, 0x28, 0x09, 0x07, 0x10, 0x0d, 0x03, 0x07, 0x06, 0x06, 0x04, 0x07, // ....X(.......... + 0x03, 0x07, 0x01, 0x06, 0x26, 0x15, 0x25, 0x28, 0x18, 0x48, 0xd2, 0x77, 0x8b, 0xec, 0x89, 0x89, // ....&.%(.H.w.... + 0xfd, 0x89, 0x78, 0xd1, 0x48, 0x18, 0x28, 0x25, 0x15, 0x26, 0x06, 0x01, 0x07, 0x03, 0x07, 0x04, // ..x.H.(%.&...... + 0x06, 0x06, 0x07, 0x03, 0x0e, 0x10, 0x01, 0x07, 0x09, 0x28, 0x58, 0x10, 0x84, 0x04, 0x5a, 0x54, // .........(X...ZT + 0x5c, 0xf0, 0x86, 0x4d, 0x4b, 0x47, 0xd6, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ...MKG.......... + 0x06, 0x00, 0x00, 0x07, 0x00, 0x3c, 0x00, 0x6d, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, // .....<.m..$4&".. + 0x16, 0x32, 0x01, 0x34, 0x26, 0x23, 0x21, 0x34, 0x36, 0x35, 0x34, 0x26, 0x23, 0x0e, 0x02, 0x07, // .2.4&#!4654&#... + 0x06, 0x07, 0x0e, 0x06, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x1e, 0x04, 0x17, 0x16, 0x3b, 0x01, 0x32, // ....+..32....;.2 + 0x35, 0x34, 0x27, 0x3e, 0x01, 0x34, 0x27, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3e, 0x01, 0x37, 0x14, // 54'>.4'654&'>.7. + 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x06, 0x2b, 0x02, 0x22, 0x26, 0x27, // ...........+."&' + 0x26, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x36, 0x37, 0x36, 0x37, 0x3e, // &#!"&5.463!6767> + 0x02, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x33, 0x32, 0x16, 0x01, 0x00, 0x26, // .7632.....32...& + 0x34, 0x26, 0x26, 0x34, 0x04, 0xa6, 0x4e, 0x32, 0xfe, 0xa0, 0x60, 0x40, 0x60, 0x1a, 0x18, 0x25, // 4&&4..N2..`@`..% + 0x29, 0x16, 0x37, 0x04, 0x26, 0x19, 0x2c, 0x24, 0x29, 0x27, 0x10, 0x20, 0x20, 0x0d, 0x25, 0x1d, // ).7.&.,$)'. .%. + 0x2f, 0x17, 0x30, 0x05, 0xd3, 0x83, 0x79, 0xc0, 0x05, 0x1e, 0x23, 0x12, 0x35, 0x14, 0x0f, 0x20, // /.0...y...#.5.. + 0x2b, 0x80, 0x31, 0x09, 0x26, 0x03, 0x3c, 0x01, 0xac, 0x8d, 0x24, 0x5d, 0x60, 0xbb, 0x7b, 0x74, // +.1.&.<...$]`.{t + 0x16, 0xfe, 0xe0, 0x35, 0x4b, 0x4b, 0x35, 0x01, 0x12, 0x24, 0x65, 0x3a, 0x31, 0x18, 0x17, 0x26, // ...5KK5..$e:1..& + 0x2b, 0x27, 0x33, 0x54, 0x86, 0x46, 0x30, 0xb0, 0x68, 0x98, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, // +'3T.F0.h..4&&4& + 0x02, 0x80, 0x33, 0x4d, 0x3a, 0xcb, 0x3b, 0x62, 0x5e, 0x1a, 0x76, 0x85, 0x2b, 0x17, 0x44, 0x05, // ..3M:.;b^.v.+.D. + 0x32, 0x20, 0x35, 0x23, 0x24, 0x12, 0xfd, 0x80, 0x06, 0x07, 0x0f, 0x08, 0x11, 0x02, 0x49, 0xa7, // 2 5#$.........I. + 0x1a, 0x1e, 0x10, 0x49, 0x4a, 0x20, 0x32, 0x45, 0x19, 0x3d, 0x11, 0x01, 0x5c, 0x24, 0x59, 0x4a, // ...IJ 2E.=...$YJ + 0x21, 0x24, 0x4d, 0x43, 0x15, 0x16, 0x65, 0x4d, 0x8b, 0xa1, 0x2d, 0x2b, 0x28, 0x4b, 0x35, 0x02, // !$MC..eM..-+(K5. + 0x80, 0x35, 0x4b, 0x18, 0x83, 0x4b, 0x35, 0x19, 0x79, 0x84, 0x2a, 0x25, 0x41, 0x8a, 0x75, 0x5d, // .5K..K5.y.*%A.u] + 0x63, 0x98, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, // c............... + 0x00, 0x3e, 0x00, 0x71, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x34, // .>.q...4&"...2.4 + 0x26, 0x27, 0x3e, 0x01, 0x35, 0x34, 0x27, 0x36, 0x35, 0x34, 0x26, 0x27, 0x36, 0x35, 0x34, 0x26, // &'>.54'654&'654& + 0x2b, 0x01, 0x22, 0x07, 0x0e, 0x05, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x1e, 0x05, 0x17, 0x16, 0x17, // +."...+..32..... + 0x1e, 0x02, 0x17, 0x32, 0x36, 0x35, 0x34, 0x26, 0x35, 0x21, 0x32, 0x36, 0x37, 0x14, 0x06, 0x2b, // ...2654&5!267..+ + 0x01, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x27, 0x26, // .......#"'..'&'& + 0x27, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x37, 0x3e, 0x01, 0x3b, 0x01, // '!"&5.463!27>.;. + 0x32, 0x16, 0x07, 0x15, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x01, 0x00, 0x26, // 2..............& + 0x34, 0x26, 0x26, 0x34, 0x04, 0xa6, 0x2b, 0x20, 0x0f, 0x14, 0x35, 0x12, 0x23, 0x1e, 0x05, 0x62, // 4&&4..+ ..5.#..b + 0x57, 0x80, 0x83, 0xd3, 0x05, 0x30, 0x17, 0x2f, 0x1d, 0x25, 0x0d, 0x20, 0x20, 0x10, 0x27, 0x29, // W....0./.%. .') + 0x24, 0x2c, 0x19, 0x26, 0x04, 0x37, 0x16, 0x29, 0x25, 0x18, 0x1a, 0x60, 0x40, 0x60, 0x01, 0x60, // $,.&.7.)%..`@`.` + 0x32, 0x4e, 0x80, 0x98, 0x68, 0xb0, 0x30, 0x23, 0x23, 0x86, 0x54, 0x33, 0x27, 0x22, 0x28, 0x0b, // 2N..h.0##.T3'"(. + 0x18, 0x13, 0x30, 0x3b, 0x65, 0x24, 0xfe, 0xee, 0x35, 0x4b, 0x4b, 0x35, 0x01, 0x20, 0x16, 0x74, // ..0;e$..5KK5. .t + 0x80, 0xbe, 0x69, 0x70, 0x8c, 0xad, 0x01, 0x3c, 0x03, 0x26, 0x09, 0x31, 0x04, 0x26, 0x34, 0x26, // ..ip...<.&.1.&4& + 0x26, 0x34, 0x26, 0xfe, 0x00, 0x23, 0x5c, 0x01, 0x11, 0x3d, 0x19, 0x45, 0x32, 0x1f, 0x26, 0x25, // &4&..#...=.E2.&% + 0x49, 0x10, 0x1e, 0x1a, 0x55, 0x52, 0x49, 0x02, 0x11, 0x08, 0x0f, 0x07, 0x06, 0xfd, 0x80, 0x12, // I...URI......... + 0x24, 0x23, 0x35, 0x20, 0x32, 0x05, 0x44, 0x17, 0x2b, 0x85, 0x76, 0x1a, 0x5e, 0x62, 0x3b, 0xcb, // $#5 2.D.+.v.^b;. + 0x3a, 0x4d, 0x32, 0x67, 0x98, 0x63, 0x5d, 0x76, 0x44, 0x45, 0x41, 0x25, 0x21, 0x62, 0x53, 0x56, // :M2g.c]vDEA%!bSV + 0x15, 0x32, 0x4d, 0x83, 0x18, 0x4b, 0x35, 0x02, 0x80, 0x35, 0x4b, 0x28, 0x2c, 0x2c, 0x9e, 0x89, // .2M..K5..5K(,,.. + 0x05, 0x4d, 0x65, 0x16, 0x15, 0x43, 0x4d, 0x24, 0x21, 0x49, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .Me..CM$!I...... 0xff, 0xad, 0x03, 0x40, 0x05, 0xe0, 0x00, 0x12, 0x00, 0x00, 0x01, 0x11, 0x05, 0x06, 0x23, 0x22, // ...@..........#" 0x26, 0x35, 0x34, 0x37, 0x13, 0x01, 0x26, 0x35, 0x34, 0x37, 0x25, 0x13, 0x36, 0x03, 0x40, 0xfe, // &547..&547%.6.@. 0x3f, 0x16, 0x12, 0x15, 0x15, 0x02, 0x56, 0xfe, 0x94, 0x19, 0x38, 0x01, 0xf6, 0xe1, 0x13, 0x05, // ?.....V...8..... @@ -1621,199 +1969,212 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x8d, 0xa2, 0xd1, 0x60, 0x4e, 0xa8, 0xf6, 0x60, 0xd1, 0xa2, 0x1d, 0xa8, 0xce, 0x80, 0x47, 0x90, // ...`N..`......G. 0x74, 0x4f, 0x05, 0x36, 0x29, 0x22, 0x4d, 0x33, 0x36, 0x4a, 0x5b, 0x45, 0x40, 0x0e, 0x12, 0x12, // tO.6)"M36J[E@... 0x0e, 0x40, 0x45, 0x5b, 0x4a, 0x36, 0x33, 0x4d, 0x22, 0x29, 0x36, 0x05, 0x4f, 0x74, 0x90, 0x47, // .@E[J63M")6.Ot.G - 0x80, 0x28, 0x38, 0x60, 0x42, 0x5e, 0x5e, 0x42, 0x60, 0x38, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, // .(8`B^^B`8...... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x0e, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x25, // ...............% - 0x00, 0x2d, 0x00, 0x33, 0x00, 0x8d, 0x00, 0x00, 0x25, 0x06, 0x27, 0x26, 0x37, 0x36, 0x17, 0x16, // .-.3....%.'&76.. - 0x27, 0x16, 0x07, 0x06, 0x26, 0x37, 0x36, 0x27, 0x06, 0x27, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, // '...&76'.'&76... - 0x06, 0x27, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x06, 0x27, 0x26, 0x36, 0x17, 0x16, 0x17, 0x14, // .'&76....'&6.... - 0x23, 0x06, 0x35, 0x34, 0x33, 0x36, 0x17, 0x16, 0x06, 0x26, 0x37, 0x36, 0x01, 0x11, 0x14, 0x06, // #.5436...&76.... - 0x2b, 0x01, 0x22, 0x2e, 0x02, 0x3d, 0x01, 0x34, 0x27, 0x3e, 0x04, 0x35, 0x34, 0x27, 0x36, 0x27, // +."..=.4'>.54'6' - 0x26, 0x06, 0x0f, 0x01, 0x26, 0x22, 0x07, 0x2e, 0x02, 0x07, 0x06, 0x17, 0x06, 0x15, 0x14, 0x1e, // &...&".......... - 0x03, 0x17, 0x06, 0x07, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x2e, 0x01, 0x2f, 0x01, 0x22, 0x06, 0x1e, // ......"&'../.".. - 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x03, 0x3f, 0x01, 0x14, 0x16, 0x15, 0x14, 0x0e, // .........?...... - 0x01, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x8a, 0x08, // .+."&5.463!2.... - 0x0c, 0x0d, 0x09, 0x08, 0x0c, 0x0c, 0x32, 0x09, 0x09, 0x08, 0x12, 0x09, 0x09, 0x35, 0x05, 0x08, // ......2......5.. - 0x0a, 0x03, 0x03, 0x0a, 0x0a, 0x1c, 0x06, 0x0a, 0x09, 0x07, 0x06, 0x0a, 0x09, 0x7a, 0x04, 0x0f, // .............z.. - 0x11, 0x08, 0x0f, 0x10, 0x3c, 0x10, 0x11, 0x10, 0x11, 0x3a, 0x02, 0x20, 0x04, 0x10, 0x10, 0x03, // ....<....:. .... - 0xc6, 0xa9, 0x77, 0xe0, 0x10, 0x11, 0x16, 0x0a, 0x34, 0x39, 0x5b, 0x61, 0x41, 0x29, 0x4f, 0x25, // ..w.....49[aA)O% - 0x2d, 0x1c, 0x6a, 0x27, 0x26, 0x5d, 0xc6, 0x5d, 0x10, 0x35, 0x72, 0x1d, 0x2c, 0x25, 0x4f, 0x29, // -.j'&].].5r.,%O) - 0x40, 0x61, 0x5b, 0x39, 0x28, 0x09, 0x15, 0x30, 0x42, 0x41, 0x17, 0x13, 0x3b, 0x14, 0x14, 0x15, // @a[9(..0BA..;... - 0x10, 0x06, 0x0c, 0x07, 0x07, 0x16, 0x2b, 0x0a, 0x0a, 0x0d, 0x3e, 0x48, 0x43, 0x16, 0x17, 0x01, // ......+...>HC... - 0x16, 0x16, 0x16, 0xe0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xb8, 0x09, 0x0c, 0x0b, // ....w..w..w..... - 0x08, 0x09, 0x0c, 0x0b, 0x35, 0x0c, 0x07, 0x06, 0x1a, 0x05, 0x07, 0x2f, 0x07, 0x05, 0x05, 0x07, // ....5....../.... - 0x05, 0x03, 0x05, 0x29, 0x07, 0x0a, 0x0b, 0x05, 0x06, 0x09, 0x0b, 0x75, 0x0c, 0x06, 0x04, 0x16, // ...).......u.... - 0x04, 0x05, 0x10, 0x0b, 0x02, 0x0d, 0x0b, 0x02, 0x03, 0x0a, 0x08, 0x18, 0x03, 0x02, 0x03, 0xb1, // ................ - 0xfc, 0x40, 0x77, 0xa9, 0x02, 0x08, 0x15, 0x11, 0xef, 0x61, 0x2d, 0x06, 0x18, 0x36, 0x4f, 0x83, // .@w......a-..6O. - 0x55, 0x79, 0x55, 0x5b, 0x71, 0x09, 0x28, 0x18, 0x18, 0x1a, 0x1a, 0x0b, 0x20, 0x2d, 0x09, 0x71, // UyU[q.(..... -.q - 0x5b, 0x55, 0x79, 0x55, 0x82, 0x50, 0x36, 0x18, 0x06, 0x24, 0x43, 0x0a, 0x0a, 0x2b, 0x29, 0x20, // [UyU.P6..$C..+) - 0x28, 0x04, 0x03, 0x09, 0x0e, 0x0e, 0x05, 0x05, 0x0a, 0x38, 0x17, 0x17, 0x26, 0x2f, 0x0d, 0x01, // (........8..&/.. - 0x04, 0x04, 0x26, 0x82, 0x03, 0x16, 0x17, 0x03, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, // ..&......w..w... - 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, 0x05, 0xc0, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x27, // ...............' - 0x00, 0x3f, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, // .?..$4&"...2$4&" - 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ...2....#!"&5.46 - 0x33, 0x21, 0x1e, 0x01, 0x33, 0x21, 0x32, 0x36, 0x37, 0x21, 0x32, 0x16, 0x01, 0x06, 0x23, 0x21, // 3!..3!267!2...#! - 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x27, 0x26, 0x37, 0x01, 0x36, // ...#!"&5.!"'&7.6 - 0x32, 0x17, 0x01, 0x16, 0x05, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, 0x26, 0x26, 0x34, 0x26, // 2.....&4&&4.&&4& - 0x26, 0x34, 0xa6, 0x38, 0x28, 0xfa, 0x40, 0x28, 0x38, 0x38, 0x28, 0x01, 0xab, 0x15, 0x63, 0x3d, // &4.8(.@(88(...c= - 0x01, 0x00, 0x3d, 0x63, 0x15, 0x01, 0xab, 0x28, 0x38, 0xfe, 0xbb, 0x11, 0x2a, 0xff, 0x00, 0x26, // ..=c...(8...*..& - 0x1a, 0xff, 0x00, 0x1a, 0x26, 0xff, 0x00, 0x2a, 0x11, 0x11, 0x1f, 0x01, 0xc0, 0x12, 0x36, 0x12, // ....&..*......6. - 0x01, 0xc0, 0x1f, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, // ...&4&&4&&4&&4&. - 0x20, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, 0x40, 0x28, 0x38, 0x38, 0x48, 0x48, 0x38, 0x38, // ..(88(.@(88HH88 - 0x02, 0x60, 0x28, 0xfe, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x28, 0x27, 0x1e, 0x01, 0xc0, // .`(.@.&&...('... - 0x13, 0x13, 0xfe, 0x40, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0xff, // ...@............ - 0x05, 0x80, 0x00, 0x31, 0x00, 0x64, 0x00, 0x00, 0x01, 0x34, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x34, // ...1.d...4&'..54 - 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x07, // 654'&#".#"&#"... - 0x06, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x15, 0x14, 0x06, 0x14, 0x16, 0x33, 0x32, 0x36, 0x33, // ............3263 - 0x32, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x12, 0x37, 0x14, 0x02, 0x06, 0x07, 0x06, 0x23, 0x22, // 2.327>..7.....#" - 0x26, 0x23, 0x22, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x3e, // &#".#"&54654&54> - 0x02, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, // .767632.32632... - 0x06, 0x15, 0x14, 0x1e, 0x03, 0x17, 0x1e, 0x01, 0x05, 0x7f, 0x0e, 0x0b, 0x0c, 0x0a, 0x08, 0x0a, // ................ - 0x0a, 0x04, 0x09, 0x13, 0x4e, 0x14, 0x3c, 0xe8, 0x3b, 0x2b, 0x67, 0x43, 0x38, 0x89, 0x41, 0x60, // ....N.<.;+gC8.A` - 0x7f, 0x31, 0x19, 0x16, 0x18, 0x16, 0x18, 0x61, 0x19, 0x39, 0xe1, 0x39, 0xb5, 0x67, 0x81, 0xd5, // .1.....a.9.9.g.. - 0x77, 0x80, 0x8c, 0xfc, 0x9b, 0x7c, 0xca, 0x39, 0xe2, 0x38, 0x18, 0x61, 0x19, 0x49, 0x65, 0x16, // w....|.9.8.a.Ie. - 0x19, 0x24, 0x49, 0x80, 0x56, 0x4e, 0x9a, 0xc2, 0x7a, 0x3c, 0xe7, 0x3a, 0x13, 0x4c, 0x14, 0x51, // .$I.VN..z<.:.L.Q - 0x4a, 0x0a, 0x02, 0x04, 0x04, 0x09, 0x02, 0x10, 0x12, 0x02, 0xc6, 0x2c, 0x8b, 0x1b, 0x1e, 0x1c, // J..........,.... - 0x2d, 0x1a, 0x17, 0x5b, 0x16, 0x25, 0x12, 0x01, 0x09, 0x30, 0x17, 0x18, 0x16, 0x36, 0x31, 0x49, // -..[.%...0...61I - 0xe9, 0xef, 0x81, 0x28, 0xa0, 0x29, 0x17, 0x57, 0x2c, 0x1d, 0x16, 0x1f, 0x24, 0x2d, 0xd7, 0x01, // ...(.).W,...$-.. - 0x14, 0x8b, 0xa5, 0xfe, 0xbb, 0xfb, 0x37, 0x2c, 0x1d, 0x1d, 0x6f, 0x49, 0x18, 0x58, 0x17, 0x28, // ......7,..oI.X.( - 0xa1, 0x29, 0x6f, 0xd5, 0xce, 0xb6, 0x41, 0x3b, 0x3d, 0x4e, 0x30, 0x0a, 0x65, 0x54, 0x17, 0x5a, // .)o...A;=N0.eT.Z - 0x17, 0x0a, 0x11, 0x11, 0x0a, 0x16, 0x06, 0x28, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .......(........ - 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x06, 0x07, // .......O........ - 0x06, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x26, 0x27, 0x26, 0x00, 0x27, 0x26, 0x27, 0x2e, 0x04, 0x35, // .#"..'&'&.'&'..5 - 0x34, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, 0x02, 0x17, 0x1e, 0x02, // 4767>.32........ - 0x15, 0x14, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x03, 0x33, 0x32, // ..............32 - 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x17, 0x16, 0x17, 0x16, 0x05, 0x80, 0x14, // >.32............ - 0x0b, 0x15, 0x65, 0x5e, 0x5c, 0x1b, 0x33, 0x40, 0x1f, 0x50, 0x09, 0x62, 0x4d, 0x80, 0xfe, 0xef, // ..e^..3@.P.bM... - 0x4f, 0x30, 0x23, 0x03, 0x1e, 0x0b, 0x12, 0x07, 0x33, 0x38, 0x32, 0x19, 0x57, 0x1b, 0x0e, 0x07, // O0#.....382.W... - 0x12, 0x23, 0x0b, 0x26, 0x20, 0x0f, 0x03, 0x1d, 0x0e, 0x39, 0x43, 0x39, 0x0a, 0x07, 0x15, 0x01, // .#.& ....9C9.... - 0x4c, 0xc4, 0x89, 0x02, 0x22, 0x0e, 0x1b, 0x09, 0x12, 0x38, 0x32, 0x3c, 0x14, 0x0e, 0x1d, 0x2a, // L..."....82<...* - 0x04, 0x19, 0x39, 0x46, 0x13, 0x46, 0x06, 0x03, 0x01, 0x28, 0x1b, 0x57, 0x19, 0x32, 0x38, 0x33, // ..9F.F...(.W.283 - 0x07, 0x12, 0x0b, 0x1e, 0x03, 0x23, 0x30, 0x4f, 0x01, 0x11, 0x80, 0x4d, 0x62, 0x09, 0x50, 0x1f, // .....#0O...Mb.P. - 0x40, 0x33, 0x1b, 0x5c, 0x5e, 0x65, 0x15, 0x0b, 0x14, 0x03, 0x06, 0x46, 0x13, 0x46, 0x39, 0x19, // @3..^e.....F.F9. - 0x04, 0x2a, 0x1d, 0x0e, 0x14, 0x3c, 0x32, 0x38, 0x12, 0x09, 0x1b, 0x0e, 0x22, 0x02, 0x89, 0xc4, // .*...<28...."... - 0x4c, 0x01, 0x15, 0x07, 0x0a, 0x39, 0x43, 0x39, 0x0e, 0x1d, 0x03, 0x0f, 0x20, 0x26, 0x0b, 0x23, // L....9C9.... &.# - 0x12, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x0f, // ................ - 0x00, 0x1f, 0x00, 0x00, 0x01, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .....!".....3!26 - 0x35, 0x11, 0x34, 0x26, 0x17, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 5.4&....#!"&5.46 - 0x33, 0x21, 0x32, 0x16, 0x04, 0x60, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, // 3!2..`..B^^B.@B^ - 0x5e, 0xde, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x05, 0x00, // ^..w..w..w.@w... - 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, 0xa0, 0xfc, 0xc0, 0x77, // ^B..B^^B.@B^...w - 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0xa9, 0x00, 0x02, 0x00, 0x00, 0xff, 0x97, 0x05, 0x00, // ..w.@w.......... - 0x05, 0x80, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x01, 0x21, 0x11, 0x01, 0x37, 0x17, 0x01, 0x13, // .....#...!..7... - 0x32, 0x17, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x09, 0x01, 0x06, // 2.........#"'... - 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x33, 0x04, 0x80, 0xfc, 0x00, // #"'..5.46763.... - 0x01, 0xa7, 0x59, 0x59, 0x01, 0xa7, 0x0c, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x13, 0x19, 0x30, // ..YY.....!''!..0 - 0x23, 0xfe, 0x47, 0xfe, 0x47, 0x24, 0x2f, 0x17, 0x15, 0x21, 0x27, 0x27, 0x21, 0x15, 0x17, 0x05, // #.G.G$/..!''!... - 0x00, 0xfb, 0x26, 0x01, 0x96, 0x55, 0x55, 0xfe, 0x6a, 0x05, 0x5a, 0x09, 0x0d, 0x38, 0x22, 0xfa, // ..&..UU.j.Z..8". - 0xf7, 0x22, 0x38, 0x0d, 0x08, 0x20, 0x01, 0xa8, 0xfe, 0x58, 0x21, 0x09, 0x0d, 0x38, 0x22, 0x05, // ."8.. ...X!..8". - 0x09, 0x22, 0x38, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ."8............. - 0x05, 0x80, 0x00, 0x45, 0x00, 0x55, 0x00, 0x00, 0x01, 0x34, 0x27, 0x2e, 0x01, 0x2f, 0x01, 0x2e, // ...E.U...4'../.. - 0x02, 0x23, 0x22, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x03, 0x35, // .#"..#"..'..'..5 - 0x34, 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x05, 0x23, 0x22, 0x07, 0x0e, 0x01, 0x15, // 4>.54..'..#".... - 0x14, 0x1e, 0x04, 0x17, 0x16, 0x00, 0x17, 0x1e, 0x05, 0x33, 0x32, 0x36, 0x37, 0x36, 0x01, 0x11, // .........32676.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x00, // ..#!"&5.463!2... - 0x02, 0x03, 0x47, 0x35, 0x35, 0x05, 0x1c, 0x16, 0x0a, 0x12, 0x3a, 0x38, 0x10, 0x07, 0x13, 0x0c, // ..G55.....:8.... - 0x16, 0x03, 0x63, 0x8f, 0x37, 0x02, 0x0d, 0x06, 0x07, 0x29, 0x31, 0x29, 0x0a, 0x14, 0x03, 0x03, // ..c.7....)1).... - 0x18, 0x1a, 0x1b, 0x17, 0x0a, 0x0b, 0x30, 0x35, 0x2e, 0x44, 0x05, 0x05, 0x0d, 0x07, 0x12, 0x02, // ......05.D...... - 0x3c, 0x01, 0x39, 0xa4, 0x06, 0x30, 0x12, 0x29, 0x19, 0x24, 0x10, 0x39, 0x93, 0x15, 0x16, 0x01, // <.9..0.).$.9.... - 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0x57, 0x0b, // ..w.@w..w..w..W. - 0x05, 0x08, 0x2b, 0x1c, 0x1d, 0x03, 0x14, 0x0a, 0x41, 0x42, 0x07, 0x06, 0x0d, 0x02, 0x37, 0x8f, // ..+.....AB....7. - 0x63, 0x03, 0x16, 0x0c, 0x13, 0x07, 0x0d, 0x29, 0x24, 0x2b, 0x0f, 0x0a, 0x16, 0x1c, 0x05, 0x06, // c......)$+...... - 0x2d, 0x2e, 0x31, 0x20, 0x04, 0x16, 0x15, 0x93, 0x39, 0x10, 0x24, 0x19, 0x29, 0x12, 0x30, 0x06, // -.1 ....9.$.).0. - 0xa4, 0xfe, 0xc7, 0x3c, 0x02, 0x12, 0x07, 0x0d, 0x05, 0x05, 0x44, 0x2e, 0x35, 0x03, 0x39, 0xfc, // ...<......D.5.9. - 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2c, // @w..w..w......., - 0x00, 0x00, 0x06, 0x54, 0x05, 0x00, 0x00, 0x31, 0x00, 0x00, 0x01, 0x06, 0x07, 0x16, 0x15, 0x14, // ...T...1........ - 0x02, 0x0e, 0x01, 0x04, 0x23, 0x20, 0x27, 0x16, 0x33, 0x32, 0x37, 0x2e, 0x01, 0x27, 0x16, 0x33, // ....# '.327..'.3 - 0x32, 0x37, 0x2e, 0x01, 0x3d, 0x01, 0x16, 0x17, 0x2e, 0x01, 0x35, 0x34, 0x37, 0x16, 0x04, 0x17, // 27..=.....547... - 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x06, 0x07, 0x36, 0x06, 0x54, 0x43, 0x5f, // &54632.67..6.TC_ - 0x01, 0x4c, 0x9b, 0xd6, 0xfe, 0xd2, 0xac, 0xfe, 0xf1, 0xe1, 0x23, 0x2b, 0xe1, 0xb0, 0x69, 0xa6, // .L........#+..i. - 0x1f, 0x21, 0x1c, 0x2b, 0x2a, 0x70, 0x93, 0x44, 0x4e, 0x42, 0x4e, 0x2c, 0x79, 0x01, 0x5b, 0xc6, // .!.+*p.DNBN,y.[. - 0x08, 0xbd, 0x86, 0x8c, 0x60, 0x6d, 0x60, 0x25, 0x69, 0x5d, 0x04, 0x68, 0x62, 0x45, 0x0e, 0x1c, // ....`m`%i].hbE.. - 0x82, 0xfe, 0xfd, 0xee, 0xb7, 0x6d, 0x91, 0x04, 0x8a, 0x02, 0x7d, 0x61, 0x05, 0x0b, 0x17, 0xb1, // .....m....}a.... - 0x75, 0x04, 0x26, 0x03, 0x2c, 0x8e, 0x53, 0x58, 0x4b, 0x95, 0xb3, 0x0a, 0x26, 0x24, 0x86, 0xbd, // u.&.,.SXK...&$.. - 0x66, 0x15, 0x39, 0x73, 0x3f, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x03, 0x00, // f.9s?........... - 0x05, 0xf0, 0x00, 0x15, 0x00, 0x00, 0x01, 0x21, 0x03, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, // .......!.#.!.#.3 - 0x35, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x01, 0xff, 0x01, 0x01, 0x1e, // 546;..#"........ - 0xe3, 0xfe, 0xab, 0xaa, 0xaa, 0xac, 0xc5, 0xe3, 0x8e, 0x27, 0x2f, 0x15, 0x06, 0x03, 0xd4, 0xfe, // .........'/..... - 0xe4, 0xfc, 0xc8, 0x03, 0x38, 0x01, 0x1c, 0xab, 0xb6, 0xbb, 0xfe, 0xe4, 0x0d, 0x22, 0x23, 0x20, // ....8........"# - 0x00, 0x01, 0x00, 0x00, 0xff, 0xa7, 0x06, 0x00, 0x05, 0x80, 0x00, 0x52, 0x00, 0x00, 0x01, 0x14, // ...........R.... - 0x00, 0x07, 0x06, 0x26, 0x3d, 0x01, 0x34, 0x27, 0x3e, 0x04, 0x35, 0x34, 0x27, 0x36, 0x27, 0x26, // ...&=.4'>.54'6'& - 0x06, 0x0f, 0x01, 0x26, 0x22, 0x07, 0x2e, 0x02, 0x07, 0x06, 0x17, 0x06, 0x15, 0x14, 0x1e, 0x03, // ...&"........... - 0x17, 0x06, 0x07, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x2e, 0x01, 0x2f, 0x01, 0x22, 0x06, 0x1e, 0x01, // ....."&'../."... - 0x1f, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x03, 0x3f, 0x01, 0x14, 0x16, 0x15, 0x14, 0x06, 0x27, // ........?......' - 0x26, 0x00, 0x35, 0x34, 0x12, 0x24, 0x20, 0x04, 0x12, 0x06, 0x00, 0xfe, 0xdb, 0xe8, 0x1b, 0x19, // &.54.$ ......... - 0x34, 0x39, 0x5b, 0x61, 0x41, 0x29, 0x4f, 0x25, 0x2d, 0x1c, 0x6a, 0x27, 0x26, 0x5d, 0xc6, 0x5d, // 49[aA)O%-.j'&].] - 0x10, 0x35, 0x72, 0x1d, 0x2c, 0x25, 0x4f, 0x29, 0x40, 0x61, 0x5b, 0x39, 0x28, 0x09, 0x15, 0x30, // .5r.,%O)@a[9(..0 - 0x42, 0x41, 0x17, 0x13, 0x3b, 0x14, 0x14, 0x15, 0x10, 0x06, 0x0c, 0x07, 0x07, 0x16, 0x2b, 0x0a, // BA..;.........+. - 0x0a, 0x0d, 0x3e, 0x48, 0x43, 0x16, 0x17, 0x01, 0x1a, 0x1b, 0xe8, 0xfe, 0xdb, 0xce, 0x01, 0x61, // ..>HC..........a - 0x01, 0xa2, 0x01, 0x61, 0xce, 0x02, 0x80, 0xfb, 0xfe, 0x6f, 0x4d, 0x05, 0x18, 0x12, 0xd3, 0x61, // ...a.....oM....a - 0x2d, 0x06, 0x18, 0x36, 0x4f, 0x83, 0x55, 0x79, 0x55, 0x5b, 0x71, 0x09, 0x28, 0x18, 0x18, 0x1a, // -..6O.UyU[q.(... - 0x1a, 0x0b, 0x20, 0x2d, 0x09, 0x71, 0x5b, 0x55, 0x79, 0x55, 0x82, 0x50, 0x36, 0x18, 0x06, 0x24, // .. -.q[UyU.P6..$ - 0x43, 0x0a, 0x0a, 0x2b, 0x29, 0x20, 0x28, 0x04, 0x03, 0x09, 0x0e, 0x0e, 0x05, 0x05, 0x0a, 0x38, // C..+) (........8 - 0x17, 0x17, 0x26, 0x2f, 0x0d, 0x01, 0x04, 0x04, 0x26, 0x66, 0x03, 0x12, 0x18, 0x05, 0x4d, 0x01, // ..&/....&f....M. - 0x91, 0xfb, 0xd1, 0x01, 0x61, 0xce, 0xce, 0xfe, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ....a........... - 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x25, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, // .......%......+. - 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x22, 0x06, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, // "&5.4&"...32.... - 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x00, 0x20, 0x00, // .#!"&5.463!54. . - 0x06, 0x80, 0x26, 0x1a, 0x40, 0x1a, 0x26, 0x96, 0xd4, 0x96, 0x60, 0x28, 0x38, 0x38, 0x28, 0xfc, // ..&.@.&...`(88(. - 0x40, 0x28, 0x38, 0x38, 0x28, 0x02, 0xa0, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x03, 0xc0, 0xff, // @(88(.....r..... - 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x6a, 0x96, 0x96, 0x6a, 0xc0, 0x38, 0x28, 0xfd, 0xc0, // ..&&...j..j.8(.. - 0x28, 0x38, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0xc0, 0xb9, 0x01, 0x07, 0xfe, 0xf9, 0x00, 0x00, // (88(.@(8........ - 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x23, // ...............# - 0x00, 0x27, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // .'.+...2.....#!" - 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x15, 0x22, 0x06, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x26, 0x23, // &5.463."...!54&# - 0x11, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x37, 0x35, 0x21, 0x15, 0x33, 0x35, // .265.!...375!.35 - 0x21, 0x15, 0x06, 0xe0, 0x42, 0x5e, 0x5e, 0x42, 0xf9, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x0d, 0x13, // !...B^^B..B^^B.. - 0x06, 0x80, 0x13, 0x0d, 0x0d, 0x13, 0xf9, 0x80, 0x13, 0x0d, 0x60, 0x01, 0x00, 0x80, 0x01, 0x80, // ..........`..... - 0x05, 0x80, 0x5e, 0x42, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x80, 0x13, // ..^B.@B^^B..B^.. - 0x0d, 0xe0, 0xe0, 0x0d, 0x13, 0xfb, 0x00, 0x13, 0x0d, 0x02, 0x60, 0xfd, 0xa0, 0x0d, 0x13, 0x80, // ..........`..... - 0x80, 0x80, 0x80, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x07, // ................ - 0x00, 0x21, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x16, // .!.=....."&462.. - 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x27, 0x26, 0x00, 0x27, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x37, // ..+."&'&.'..=.47 - 0x36, 0x3b, 0x01, 0x16, 0x04, 0x17, 0x16, 0x12, 0x05, 0x16, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, // 6;..........+."& - 0x27, 0x26, 0x02, 0x00, 0x24, 0x27, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x3b, 0x01, 0x0c, // '&..$'..=.476;.. - 0x01, 0x17, 0x16, 0x12, 0x01, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x02, 0x70, 0x02, 0x13, 0x12, // ......p.pp..p... - 0x1d, 0x87, 0x19, 0x24, 0x02, 0x16, 0xfe, 0xbb, 0xe5, 0x19, 0x21, 0x15, 0x11, 0x1a, 0x05, 0xa0, // ...$......!..... - 0x01, 0x24, 0x71, 0x72, 0x87, 0x02, 0x0d, 0x02, 0x14, 0x12, 0x1c, 0x8f, 0x1a, 0x25, 0x01, 0x0c, // .$qr.........%.. - 0xb2, 0xfe, 0xe3, 0xfe, 0x7d, 0xd7, 0x19, 0x23, 0x14, 0x12, 0x1a, 0x03, 0x01, 0x06, 0x01, 0xdf, // ....}..#........ - 0xba, 0xbb, 0xd6, 0x01, 0x10, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0xfe, 0xc5, 0x1c, 0x14, 0x15, 0x21, // ......pp.p.....! - 0x19, 0xe5, 0x01, 0x45, 0x16, 0x02, 0x24, 0x19, 0x87, 0x1d, 0x12, 0x11, 0x0d, 0x87, 0x72, 0x71, // ...E..$.......rq - 0xfe, 0xdc, 0xa2, 0x1b, 0x14, 0x14, 0x23, 0x19, 0xd7, 0x01, 0x83, 0x01, 0x1d, 0xb2, 0x0d, 0x01, // ......#......... - 0x25, 0x19, 0x8f, 0x1c, 0x12, 0x12, 0x0d, 0xd6, 0xbb, 0xba, 0xfe, 0x21, 0x00, 0x05, 0x00, 0x00, // %..........!.... - 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x29, 0x00, 0x3f, // .............).? - 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, // ....."&462..."&4 - 0x36, 0x32, 0x17, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, // 62..4&#!".....3! - 0x32, 0x36, 0x01, 0x21, 0x03, 0x2e, 0x01, 0x23, 0x21, 0x22, 0x06, 0x07, 0x01, 0x11, 0x14, 0x06, // 26.!...#!"...... - 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, // #!"&5.47.>.3!2.. - 0x13, 0x16, 0x04, 0x10, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x01, 0x2f, 0x2f, 0x42, 0x2f, 0x2f, 0x42, // ..../B//B.//B//B - 0x9f, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0xfb, 0x32, 0x04, // ....@.........2. - 0x9c, 0x9d, 0x04, 0x18, 0x0e, 0xfc, 0xf2, 0x0e, 0x18, 0x04, 0x04, 0xb1, 0x5e, 0x42, 0xfb, 0x40, // ............^B.@ - 0x42, 0x5e, 0x10, 0xc5, 0x11, 0x5c, 0x37, 0x03, 0x0e, 0x37, 0x5c, 0x11, 0xc5, 0x10, 0x01, 0x61, // B^....7..7.....a - 0x42, 0x2f, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x2f, 0xf0, 0x01, 0x40, 0x0d, 0x13, // B//B//B//B/..@.. - 0x13, 0x0d, 0xfe, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0xed, 0x01, 0xe2, 0x0d, 0x11, 0x11, 0x0d, 0xfd, // ................ - 0x7e, 0xfe, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x01, 0x40, 0x19, 0x32, 0x02, 0x5e, 0x35, 0x42, 0x42, // ~..B^^B.@.2.^5BB - 0x35, 0xfd, 0xa2, 0x32, 0x00, 0x02, 0x00, 0x00, 0xff, 0x83, 0x07, 0x00, 0x05, 0x80, 0x00, 0x2e, // 5..2............ - 0x00, 0x34, 0x00, 0x00, 0x01, 0x32, 0x16, 0x14, 0x06, 0x23, 0x11, 0x14, 0x06, 0x23, 0x00, 0x25, // .4...2...#...#.% - 0x0e, 0x01, 0x16, 0x17, 0x0e, 0x01, 0x1e, 0x02, 0x17, 0x0e, 0x01, 0x26, 0x27, 0x2e, 0x04, 0x36, // ...........&'..6 - 0x37, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x20, 0x01, 0x32, 0x16, 0x15, 0x03, // 7#"&=.463! .2... - 0x11, 0x00, 0x05, 0x11, 0x04, 0x06, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x4c, 0x34, 0xfe, 0x5f, 0xfe, // .......5KK5L4._. - 0x75, 0x3a, 0x42, 0x04, 0x26, 0x14, 0x06, 0x12, 0x31, 0x2f, 0x26, 0x1d, 0xa5, 0xac, 0x2e, 0x07, // u:B.&...1/&..... - 0x2d, 0x13, 0x1b, 0x03, 0x0a, 0x11, 0x7a, 0x42, 0x5e, 0x5e, 0x42, 0x01, 0xe0, 0x01, 0xb3, 0x01, // -.....zB^^B..... - 0xcd, 0x34, 0x4c, 0x80, 0xfe, 0x76, 0xfe, 0x8a, 0x01, 0x79, 0x03, 0x80, 0x4b, 0x6a, 0x4b, 0xfe, // .4L..v...y..KjK. - 0x80, 0x34, 0x4c, 0x01, 0x5b, 0x21, 0x13, 0x5e, 0x6b, 0x27, 0x21, 0x41, 0x33, 0x3b, 0x29, 0x1e, // .4L.[!.^k'!A3;). - 0x3a, 0x32, 0x1b, 0x2a, 0x17, 0x81, 0x3c, 0x76, 0x54, 0x71, 0x36, 0x5e, 0x42, 0xc0, 0x42, 0x5e, // :2.*.. + 0x02, 0x17, 0x16, 0x07, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x07, 0x16, 0x15, 0x14, 0x06, 0x15, 0x14, // ................ + 0x16, 0x37, 0x36, 0x12, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .76.....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x02, 0x07, 0x04, 0x07, 0x09, 0x05, 0x04, 0x07, 0x09, 0x17, 0x05, 0x07, // 3!2............. + 0x06, 0x06, 0x07, 0x05, 0x06, 0x2f, 0x02, 0x07, 0x07, 0x01, 0x03, 0x07, 0x08, 0x16, 0x02, 0x01, // ...../.......... + 0x03, 0x06, 0x08, 0x05, 0x06, 0x5b, 0x02, 0x0b, 0x09, 0x04, 0x02, 0x0b, 0x09, 0x2e, 0x0c, 0x0a, // .....[.......... + 0x3d, 0x02, 0x16, 0x02, 0x02, 0x14, 0x02, 0x82, 0xfe, 0xd4, 0xfe, 0x58, 0xfe, 0xd4, 0xc4, 0x9a, // =..........X.... + 0x12, 0x11, 0x01, 0x06, 0x13, 0x34, 0x2c, 0x2b, 0x08, 0x17, 0x22, 0x02, 0x05, 0x0b, 0x03, 0x0b, // .....4,+.."..... + 0x0e, 0x06, 0x12, 0x2a, 0x0c, 0x10, 0x2b, 0x2c, 0x20, 0x0e, 0x07, 0x1a, 0x31, 0x4a, 0x48, 0x27, // ...*..+, ...1JH' + 0x35, 0x18, 0x1d, 0x13, 0x47, 0x19, 0x1a, 0x3a, 0x8c, 0x3a, 0x0b, 0x23, 0x4c, 0x13, 0x1d, 0x18, // 5...G..:.:.#L... + 0x35, 0x1c, 0x2b, 0x40, 0x3d, 0x26, 0x23, 0x01, 0x11, 0x12, 0x9a, 0xc4, 0x01, 0x00, 0xa9, 0x77, // 5.+@=&#........w + 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0x50, 0x06, 0x07, 0x07, 0x05, // .@w..w..w..P.... + 0x06, 0x07, 0x07, 0x2e, 0x07, 0x03, 0x04, 0x08, 0x08, 0x03, 0x04, 0x31, 0x04, 0x04, 0x02, 0x04, // ...........1.... + 0x05, 0x03, 0x02, 0x13, 0x01, 0x07, 0x02, 0x07, 0x08, 0x07, 0x06, 0x47, 0x07, 0x04, 0x03, 0x07, // ...........G.... + 0x07, 0x04, 0x03, 0x04, 0x10, 0x10, 0x0f, 0x07, 0x04, 0x07, 0x08, 0x04, 0x01, 0x45, 0xd4, 0x01, // .............E.. + 0x2c, 0xfe, 0xd4, 0xd4, 0xa7, 0xfe, 0xf5, 0x34, 0x03, 0x10, 0x0c, 0x34, 0x2b, 0x01, 0x03, 0x01, // ,......4...4+... + 0x09, 0x1f, 0x1a, 0x3b, 0x0f, 0x01, 0x05, 0x0b, 0x08, 0x07, 0x04, 0x1b, 0x16, 0x1c, 0x1c, 0x07, // ...;............ + 0x06, 0x2f, 0x16, 0x06, 0x19, 0x35, 0x63, 0x46, 0x4f, 0x3a, 0x3e, 0x4a, 0x06, 0x1b, 0x10, 0x10, // ./...5cFO:>J.... + 0x11, 0x11, 0x07, 0x16, 0x1e, 0x06, 0x4a, 0x3e, 0x3a, 0x4f, 0x39, 0x57, 0x35, 0x24, 0x10, 0x04, // ......J>:O9W5$.. + 0x1f, 0x40, 0x28, 0x62, 0x02, 0x0c, 0x10, 0x03, 0x34, 0x01, 0x0b, 0x02, 0x87, 0xfc, 0x40, 0x77, // .@(b....4.....@w + 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, // ..w..w.......... + 0x05, 0xc0, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x27, 0x00, 0x3f, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, // .......'.?..$4&" + 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, // ...2$4&"...2.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x1e, 0x01, 0x33, 0x21, 0x32, 0x36, // #!"&5.463!..3!26 + 0x37, 0x21, 0x32, 0x16, 0x01, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // 7!2...#!...#!"&5 + 0x11, 0x21, 0x22, 0x27, 0x26, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x05, 0x00, 0x26, 0x34, // .!"'&7.62.....&4 + 0x26, 0x26, 0x34, 0x01, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0x38, 0x28, 0xfa, 0x40, 0x28, // &&4.&&4&&4.8(.@( + 0x38, 0x38, 0x28, 0x01, 0xab, 0x15, 0x63, 0x3d, 0x01, 0x00, 0x3d, 0x63, 0x15, 0x01, 0xab, 0x28, // 88(...c=..=c...( + 0x38, 0xfe, 0xbb, 0x11, 0x2a, 0xff, 0x00, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0xff, 0x00, 0x2a, // 8...*..&....&..* + 0x11, 0x11, 0x1f, 0x01, 0xc0, 0x12, 0x36, 0x12, 0x01, 0xc0, 0x1f, 0x26, 0x34, 0x26, 0x26, 0x34, // ......6....&4&&4 + 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x20, 0xfe, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x01, // &&4&&4&. ..(88(. + 0x40, 0x28, 0x38, 0x38, 0x48, 0x48, 0x38, 0x38, 0x02, 0x60, 0x28, 0xfe, 0x40, 0x1a, 0x26, 0x26, // @(88HH88.`(.@.&& + 0x1a, 0x01, 0xc0, 0x28, 0x27, 0x1e, 0x01, 0xc0, 0x13, 0x13, 0xfe, 0x40, 0x1e, 0x00, 0x00, 0x00, // ...('......@.... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0xff, 0x05, 0x80, 0x00, 0x31, 0x00, 0x63, 0x00, 0x00, // ...........1.c.. + 0x01, 0x34, 0x26, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x06, // .4&'..54654'&#". + 0x23, 0x22, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x06, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x15, // #"&#"........... + 0x14, 0x06, 0x14, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x12, // ....32632.327>.. + 0x37, 0x14, 0x02, 0x06, 0x07, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x06, 0x23, 0x22, 0x26, 0x35, // 7.....#"&#".#"&5 + 0x34, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, // 4654&54>.767632. + 0x33, 0x32, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x01, // 32632........... + 0x05, 0x7f, 0x0e, 0x0b, 0x0c, 0x0a, 0x08, 0x0a, 0x0a, 0x04, 0x09, 0x13, 0x4e, 0x14, 0x3c, 0xe8, // ............N.<. + 0x3b, 0x2b, 0x67, 0x43, 0x38, 0x89, 0x41, 0x60, 0x7f, 0x31, 0x19, 0x16, 0x18, 0x16, 0x18, 0x61, // ;+gC8.A`.1.....a + 0x19, 0x39, 0xe1, 0x39, 0xb5, 0x67, 0x81, 0xd5, 0x77, 0x80, 0x8c, 0xfc, 0x9b, 0x7c, 0xca, 0x39, // .9.9.g..w....|.9 + 0xe2, 0x38, 0x18, 0x61, 0x19, 0x49, 0x65, 0x16, 0x19, 0x24, 0x49, 0x80, 0x56, 0x4e, 0x9a, 0xc2, // .8.a.Ie..$I.VN.. + 0x7a, 0x3c, 0xe7, 0x3a, 0x13, 0x4c, 0x14, 0x51, 0x4a, 0x0a, 0x04, 0x03, 0x0c, 0x02, 0x10, 0x12, // z<.:.L.QJ....... + 0x02, 0xc6, 0x2c, 0x8b, 0x1b, 0x1e, 0x1c, 0x2d, 0x1a, 0x17, 0x5b, 0x16, 0x25, 0x12, 0x01, 0x09, // ..,....-..[.%... + 0x30, 0x17, 0x18, 0x16, 0x36, 0x31, 0x49, 0xe9, 0xef, 0x81, 0x28, 0xa0, 0x29, 0x17, 0x57, 0x2c, // 0...61I...(.).W, + 0x1d, 0x16, 0x1f, 0x24, 0x2d, 0xd7, 0x01, 0x14, 0x8b, 0xa5, 0xfe, 0xbb, 0xfb, 0x37, 0x2c, 0x1d, // ...$-........7,. + 0x1d, 0x6f, 0x49, 0x18, 0x58, 0x17, 0x28, 0xa1, 0x29, 0x6f, 0xd5, 0xce, 0xb6, 0x41, 0x3b, 0x3d, // .oI.X.(.)o...A;= + 0x4e, 0x30, 0x0a, 0x65, 0x54, 0x17, 0x5a, 0x17, 0x0d, 0x18, 0x09, 0x20, 0x04, 0x28, 0x9d, 0x00, // N0.eT.Z.... .(.. + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x14, // ...........O.... + 0x06, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x26, 0x27, 0x26, 0x00, 0x27, 0x26, // .....#"..'&'&.'& + 0x27, 0x2e, 0x04, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x16, 0x17, 0x1e, // '..54767>.32.... + 0x02, 0x17, 0x1e, 0x02, 0x15, 0x14, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, // ................ + 0x1e, 0x03, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x17, 0x16, 0x17, // ..32>.32........ + 0x16, 0x05, 0x80, 0x14, 0x0b, 0x15, 0x65, 0x5e, 0x5c, 0x1b, 0x34, 0x3f, 0x1f, 0x50, 0x09, 0x62, // ......e^..4?.P.b + 0x4d, 0x7f, 0xfe, 0xee, 0x4f, 0x30, 0x23, 0x03, 0x1e, 0x0b, 0x12, 0x07, 0x33, 0x38, 0x32, 0x19, // M...O0#.....382. + 0x57, 0x1b, 0x0e, 0x07, 0x12, 0x23, 0x0b, 0x26, 0x20, 0x0f, 0x03, 0x1d, 0x0e, 0x39, 0x43, 0x39, // W....#.& ....9C9 + 0x0a, 0x07, 0x15, 0x01, 0x4c, 0xc4, 0x89, 0x02, 0x22, 0x0e, 0x1b, 0x09, 0x12, 0x38, 0x32, 0x3c, // ....L..."....82< + 0x14, 0x0e, 0x1d, 0x2a, 0x04, 0x19, 0x39, 0x46, 0x13, 0x46, 0x06, 0x03, 0x01, 0x28, 0x1b, 0x57, // ...*..9F.F...(.W + 0x19, 0x32, 0x38, 0x33, 0x07, 0x12, 0x0b, 0x1e, 0x03, 0x23, 0x30, 0x4f, 0x01, 0x12, 0x7f, 0x4d, // .283.....#0O...M + 0x62, 0x09, 0x50, 0x1f, 0x3f, 0x34, 0x1b, 0x5c, 0x5e, 0x65, 0x15, 0x0b, 0x14, 0x03, 0x06, 0x46, // b.P.?4..^e.....F + 0x13, 0x46, 0x39, 0x19, 0x04, 0x2a, 0x1d, 0x0e, 0x14, 0x3c, 0x32, 0x38, 0x12, 0x09, 0x1b, 0x0e, // .F9..*...<28.... + 0x22, 0x02, 0x89, 0xc4, 0x4c, 0x01, 0x15, 0x07, 0x0a, 0x39, 0x43, 0x39, 0x0e, 0x1d, 0x03, 0x0f, // "...L....9C9.... + 0x20, 0x26, 0x0b, 0x23, 0x12, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, // &.#............ + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, // .........!"..... + 0x33, 0x21, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x17, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // 3!265.4&....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x60, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, // 5.463!2..`..B^^B + 0x03, 0x40, 0x42, 0x5e, 0x5e, 0xde, 0xa9, 0x77, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, // .@B^^..w..w..w.@ + 0x77, 0xa9, 0x05, 0x00, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, // w...^B..B^^B.@B^ + 0xa0, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0xa9, 0x00, 0x02, 0x00, 0x00, // ...w..w.@w...... + 0xff, 0x97, 0x05, 0x00, 0x05, 0x80, 0x00, 0x06, 0x00, 0x23, 0x00, 0x00, 0x01, 0x21, 0x11, 0x01, // .........#...!.. + 0x37, 0x17, 0x01, 0x13, 0x32, 0x17, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, // 7...2.........#" + 0x27, 0x09, 0x01, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x33, // '...#"'..5.46763 + 0x04, 0x80, 0xfc, 0x00, 0x01, 0xa7, 0x59, 0x59, 0x01, 0xa7, 0x0c, 0x17, 0x15, 0x21, 0x27, 0x27, // ......YY.....!'' + 0x21, 0x13, 0x19, 0x30, 0x23, 0xfe, 0x47, 0xfe, 0x47, 0x24, 0x2f, 0x17, 0x15, 0x21, 0x27, 0x27, // !..0#.G.G$/..!'' + 0x21, 0x15, 0x17, 0x05, 0x00, 0xfb, 0x26, 0x01, 0x96, 0x55, 0x55, 0xfe, 0x6a, 0x05, 0x5a, 0x09, // !.....&..UU.j.Z. + 0x0d, 0x38, 0x22, 0xfa, 0xf7, 0x22, 0x38, 0x0d, 0x08, 0x20, 0x01, 0xa8, 0xfe, 0x58, 0x21, 0x09, // .8".."8.. ...X!. + 0x0d, 0x38, 0x22, 0x05, 0x09, 0x22, 0x38, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .8".."8......... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x47, 0x00, 0x57, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x04, // .......G.W...4.. + 0x27, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x02, 0x23, 0x22, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x2e, // '..#"..#"..'..'. + 0x03, 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x05, 0x23, 0x22, 0x07, 0x0e, // .54>.54..'..#".. + 0x01, 0x15, 0x14, 0x1e, 0x04, 0x17, 0x16, 0x00, 0x17, 0x1e, 0x05, 0x33, 0x32, 0x36, 0x37, 0x36, // ...........32676 + 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. + 0x05, 0x00, 0x04, 0x20, 0x31, 0x2e, 0x2d, 0x06, 0x05, 0x1c, 0x16, 0x0a, 0x0f, 0x2b, 0x24, 0x29, // ... 1.-......+$) + 0x0d, 0x07, 0x13, 0x0c, 0x16, 0x03, 0x63, 0x8e, 0x38, 0x02, 0x0d, 0x06, 0x07, 0x29, 0x31, 0x29, // ......c.8....)1) + 0x0a, 0x14, 0x03, 0x03, 0x18, 0x1a, 0x1b, 0x17, 0x0a, 0x0b, 0x30, 0x35, 0x2e, 0x44, 0x05, 0x05, // ..........05.D.. + 0x0d, 0x07, 0x12, 0x02, 0x3c, 0x01, 0x39, 0xa4, 0x06, 0x30, 0x12, 0x29, 0x19, 0x24, 0x10, 0x39, // ....<.9..0.).$.9 + 0x93, 0x15, 0x16, 0x01, 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, // ......w.@w..w..w + 0xa9, 0x01, 0x57, 0x0b, 0x0a, 0x17, 0x1b, 0x1a, 0x18, 0x03, 0x03, 0x14, 0x0a, 0x29, 0x31, 0x29, // ..W..........)1) + 0x07, 0x06, 0x0d, 0x02, 0x37, 0x8f, 0x63, 0x03, 0x16, 0x0c, 0x13, 0x07, 0x0d, 0x29, 0x24, 0x2b, // ....7.c......)$+ + 0x0f, 0x0a, 0x16, 0x1c, 0x05, 0x06, 0x2d, 0x2e, 0x31, 0x20, 0x04, 0x16, 0x15, 0x93, 0x39, 0x10, // ......-.1 ....9. + 0x24, 0x19, 0x29, 0x12, 0x30, 0x06, 0xa4, 0xfe, 0xc7, 0x3c, 0x02, 0x12, 0x07, 0x0d, 0x05, 0x05, // $.).0....<...... + 0x44, 0x2e, 0x35, 0x03, 0x39, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, // D.5.9.@w..w..w.. + 0x00, 0x01, 0x00, 0x2c, 0x00, 0x00, 0x06, 0x54, 0x05, 0x00, 0x00, 0x31, 0x00, 0x00, 0x01, 0x06, // ...,...T...1.... + 0x07, 0x16, 0x15, 0x14, 0x02, 0x0e, 0x01, 0x04, 0x23, 0x20, 0x27, 0x16, 0x33, 0x32, 0x37, 0x2e, // ........# '.327. + 0x01, 0x27, 0x16, 0x33, 0x32, 0x37, 0x2e, 0x01, 0x3d, 0x01, 0x16, 0x17, 0x2e, 0x01, 0x35, 0x34, // .'.327..=.....54 + 0x37, 0x16, 0x04, 0x17, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x37, 0x06, 0x07, 0x36, // 7...&54632.67..6 + 0x06, 0x54, 0x43, 0x5f, 0x01, 0x4c, 0x9b, 0xd6, 0xfe, 0xd2, 0xac, 0xfe, 0xf1, 0xe1, 0x23, 0x2b, // .TC_.L........#+ + 0xe1, 0xb0, 0x69, 0xa6, 0x1f, 0x21, 0x1c, 0x2b, 0x2a, 0x70, 0x93, 0x44, 0x4e, 0x42, 0x4e, 0x2c, // ..i..!.+*p.DNBN, + 0x79, 0x01, 0x5b, 0xc6, 0x08, 0xbd, 0x86, 0x8c, 0x60, 0x6d, 0x60, 0x25, 0x69, 0x5d, 0x04, 0x68, // y.[.....`m`%i].h + 0x62, 0x45, 0x0e, 0x1c, 0x82, 0xfe, 0xfd, 0xee, 0xb7, 0x6d, 0x91, 0x04, 0x8a, 0x02, 0x7d, 0x61, // bE.......m....}a + 0x05, 0x0b, 0x17, 0xb1, 0x75, 0x04, 0x26, 0x03, 0x2c, 0x8e, 0x53, 0x58, 0x4b, 0x95, 0xb3, 0x0a, // ....u.&.,.SXK... + 0x26, 0x24, 0x86, 0xbd, 0x66, 0x15, 0x39, 0x73, 0x3f, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5f, // &$..f.9s?......_ + 0xff, 0x80, 0x03, 0xbf, 0x06, 0x00, 0x00, 0x14, 0x00, 0x00, 0x01, 0x11, 0x23, 0x22, 0x06, 0x1d, // ............#".. + 0x01, 0x21, 0x03, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x03, // .!.#.!.#.!54632. + 0xbf, 0x9d, 0x56, 0x3c, 0x01, 0x25, 0x27, 0xfe, 0xfe, 0xce, 0xff, 0x00, 0xff, 0xd0, 0xad, 0x93, // ..V<.%'......... + 0x05, 0xf4, 0xfe, 0xf8, 0x48, 0x48, 0xbd, 0xfe, 0xd8, 0xfd, 0x09, 0x02, 0xf7, 0x01, 0x28, 0xda, // ....HH........(. + 0xba, 0xcd, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xff, 0xa7, 0x06, 0x00, 0x05, 0x80, 0x00, 0x54, // ...............T + 0x00, 0x5c, 0x00, 0x64, 0x00, 0x6b, 0x00, 0x73, 0x00, 0x7a, 0x00, 0x82, 0x00, 0x88, 0x00, 0x00, // ...d.k.s.z...... + 0x00, 0x20, 0x04, 0x12, 0x15, 0x14, 0x00, 0x07, 0x06, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x27, // . .......&54654' + 0x3e, 0x04, 0x35, 0x34, 0x27, 0x36, 0x27, 0x26, 0x06, 0x0f, 0x01, 0x26, 0x22, 0x07, 0x2e, 0x02, // >.54'6'&...&"... + 0x07, 0x06, 0x17, 0x06, 0x15, 0x14, 0x1e, 0x03, 0x17, 0x06, 0x07, 0x0e, 0x01, 0x22, 0x26, 0x27, // ............."&' + 0x2e, 0x01, 0x2f, 0x01, 0x22, 0x06, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x03, // ../."........... + 0x3f, 0x01, 0x14, 0x16, 0x15, 0x14, 0x06, 0x27, 0x26, 0x00, 0x35, 0x34, 0x12, 0x13, 0x36, 0x27, // ?......'&.54..6' + 0x26, 0x07, 0x06, 0x17, 0x16, 0x17, 0x36, 0x27, 0x26, 0x07, 0x06, 0x17, 0x16, 0x17, 0x36, 0x27, // &.....6'&.....6' + 0x26, 0x07, 0x06, 0x16, 0x17, 0x36, 0x27, 0x26, 0x07, 0x06, 0x17, 0x16, 0x17, 0x36, 0x27, 0x26, // &....6'&.....6'& + 0x06, 0x17, 0x16, 0x37, 0x34, 0x07, 0x22, 0x15, 0x14, 0x37, 0x32, 0x37, 0x26, 0x07, 0x06, 0x16, // ...74."..727&... + 0x36, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xfe, 0xdb, 0xe8, 0x1b, 0x1a, 0x01, 0x34, 0x39, // 6./...a.......49 + 0x5b, 0x61, 0x41, 0x29, 0x4f, 0x25, 0x2d, 0x1c, 0x6a, 0x27, 0x26, 0x5d, 0xc6, 0x5d, 0x10, 0x35, // [aA)O%-.j'&].].5 + 0x72, 0x1c, 0x2d, 0x25, 0x4f, 0x29, 0x40, 0x61, 0x5b, 0x39, 0x27, 0x0a, 0x15, 0x30, 0x42, 0x41, // r.-%O)@a[9'..0BA + 0x17, 0x13, 0x3b, 0x14, 0x14, 0x15, 0x10, 0x06, 0x0c, 0x07, 0x07, 0x16, 0x2b, 0x0a, 0x0a, 0x0d, // ..;.........+... + 0x3e, 0x48, 0x43, 0x16, 0x17, 0x01, 0x1a, 0x1b, 0xe8, 0xfe, 0xdb, 0xce, 0x55, 0x03, 0x0a, 0x0a, // >HC.........U... + 0x03, 0x03, 0x0a, 0x09, 0x23, 0x07, 0x09, 0x0a, 0x06, 0x07, 0x09, 0x0a, 0x24, 0x09, 0x09, 0x08, // ....#.......$... + 0x09, 0x09, 0x12, 0x32, 0x08, 0x0c, 0x0c, 0x08, 0x09, 0x0d, 0x0c, 0x41, 0x03, 0x10, 0x0f, 0x08, // ...2.......A.... + 0x11, 0x0f, 0x43, 0x11, 0x10, 0x11, 0x10, 0x3a, 0x02, 0x10, 0x10, 0x04, 0x20, 0x05, 0x80, 0xce, // ..C....:.... ... + 0xfe, 0x9f, 0xd1, 0xfb, 0xfe, 0x6f, 0x4d, 0x05, 0x18, 0x12, 0x03, 0x93, 0x3d, 0x61, 0x2d, 0x06, // .....oM.....=a-. + 0x18, 0x36, 0x4f, 0x83, 0x55, 0x77, 0x57, 0x5b, 0x71, 0x09, 0x28, 0x18, 0x18, 0x1a, 0x1a, 0x0b, // .6O.UwW[q.(..... + 0x20, 0x2d, 0x09, 0x71, 0x5b, 0x57, 0x77, 0x55, 0x82, 0x50, 0x36, 0x18, 0x06, 0x24, 0x43, 0x0a, // -.q[WwU.P6..$C. + 0x0a, 0x2b, 0x29, 0x20, 0x28, 0x04, 0x03, 0x09, 0x0e, 0x0e, 0x05, 0x05, 0x0a, 0x38, 0x17, 0x17, // .+) (........8.. + 0x26, 0x2f, 0x0d, 0x01, 0x04, 0x04, 0x26, 0x65, 0x04, 0x12, 0x18, 0x05, 0x4d, 0x01, 0x91, 0xfb, // &/....&e....M... + 0xd1, 0x01, 0x61, 0xfc, 0x7f, 0x07, 0x05, 0x03, 0x05, 0x07, 0x05, 0x06, 0x1a, 0x05, 0x0b, 0x09, // ..a............. + 0x06, 0x05, 0x0b, 0x0a, 0x26, 0x07, 0x0c, 0x0d, 0x07, 0x05, 0x1a, 0x24, 0x08, 0x0b, 0x0c, 0x09, // ....&......$.... + 0x08, 0x0b, 0x0c, 0x10, 0x0b, 0x05, 0x04, 0x16, 0x04, 0x06, 0x07, 0x0d, 0x02, 0x0b, 0x0d, 0x02, // ................ + 0x15, 0x0b, 0x02, 0x03, 0x18, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, // ................ + 0x05, 0x80, 0x00, 0x25, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // ...%......+."&5. + 0x34, 0x26, 0x22, 0x06, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // 4&"...32.....#!" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x00, 0x20, 0x00, 0x06, 0x80, 0x26, 0x1a, // &5.463!54. ...&. + 0x40, 0x1a, 0x26, 0x96, 0xd4, 0x96, 0x60, 0x28, 0x38, 0x38, 0x28, 0xfc, 0x40, 0x28, 0x38, 0x38, // @.&...`(88(.@(88 + 0x28, 0x02, 0xa0, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x03, 0xc0, 0xff, 0x00, 0x1a, 0x26, 0x26, // (.....r.......&& + 0x1a, 0x01, 0x00, 0x6a, 0x96, 0x96, 0x6a, 0xc0, 0x38, 0x28, 0xfd, 0xc0, 0x28, 0x38, 0x38, 0x28, // ...j..j.8(..(88( + 0x02, 0x40, 0x28, 0x38, 0xc0, 0xb9, 0x01, 0x07, 0xfe, 0xf9, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, // .@(8............ + 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, // ...........#.'.+ + 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // ...2.....#!"&5.4 + 0x36, 0x33, 0x15, 0x22, 0x06, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x26, 0x23, 0x11, 0x32, 0x36, 0x35, // 63."...!54&#.265 + 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x37, 0x35, 0x21, 0x15, 0x33, 0x35, 0x21, 0x15, 0x06, 0xe0, // .!...375!.35!... + 0x42, 0x5e, 0x5e, 0x42, 0xf9, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x0d, 0x13, 0x06, 0x80, 0x13, 0x0d, // B^^B..B^^B...... + 0x0d, 0x13, 0xf9, 0x80, 0x13, 0x0d, 0x60, 0x01, 0x00, 0x80, 0x01, 0x80, 0x05, 0x80, 0x5e, 0x42, // ......`.......^B + 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x80, 0x13, 0x0d, 0xe0, 0xe0, 0x0d, // .@B^^B..B^...... + 0x13, 0xfb, 0x00, 0x13, 0x0d, 0x02, 0x60, 0xfd, 0xa0, 0x0d, 0x13, 0x80, 0x80, 0x80, 0x80, 0x80, // ......`......... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x07, 0x00, 0x21, 0x00, 0x3d, // .............!.= + 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x16, 0x07, 0x06, 0x2b, 0x01, // ....."&462....+. + 0x22, 0x26, 0x27, 0x26, 0x00, 0x27, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x3b, 0x01, 0x16, // "&'&.'..=.476;.. + 0x04, 0x17, 0x16, 0x12, 0x05, 0x16, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x27, 0x26, 0x02, 0x00, // ........+."&'&.. + 0x24, 0x27, 0x2e, 0x01, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x3b, 0x01, 0x0c, 0x01, 0x17, 0x16, 0x12, // $'..=.476;...... + 0x01, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x02, 0x70, 0x02, 0x13, 0x12, 0x1d, 0x87, 0x19, 0x24, // ..p.pp..p......$ + 0x02, 0x16, 0xfe, 0xbb, 0xe5, 0x19, 0x21, 0x15, 0x11, 0x1a, 0x05, 0xa0, 0x01, 0x24, 0x71, 0x72, // ......!......$qr + 0x87, 0x02, 0x0d, 0x02, 0x14, 0x12, 0x1c, 0x8f, 0x1a, 0x25, 0x01, 0x0c, 0xb2, 0xfe, 0xe3, 0xfe, // .........%...... + 0x7d, 0xd7, 0x19, 0x23, 0x14, 0x12, 0x1a, 0x03, 0x01, 0x06, 0x01, 0xdf, 0xba, 0xbb, 0xd6, 0x01, // }..#............ + 0x10, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0xfe, 0xc5, 0x1c, 0x14, 0x15, 0x21, 0x19, 0xe5, 0x01, 0x45, // ..pp.p.....!...E + 0x16, 0x02, 0x24, 0x19, 0x87, 0x1d, 0x12, 0x11, 0x0d, 0x87, 0x72, 0x71, 0xfe, 0xdc, 0xa2, 0x1b, // ..$.......rq.... + 0x14, 0x14, 0x23, 0x19, 0xd7, 0x01, 0x83, 0x01, 0x1d, 0xb2, 0x0d, 0x01, 0x25, 0x19, 0x8f, 0x1c, // ..#.........%... + 0x12, 0x12, 0x0d, 0xd6, 0xbb, 0xba, 0xfe, 0x21, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, // .......!........ + 0x05, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x29, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x14, // .........).?.... + 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x17, 0x11, // ."&462..."&462.. + 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x21, // 4&#!".....3!26.! + 0x03, 0x2e, 0x01, 0x23, 0x21, 0x22, 0x06, 0x07, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ...#!"......#!"& + 0x35, 0x11, 0x34, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, 0x13, 0x16, 0x04, 0x10, // 5.47.>.3!2...... + 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x01, 0x2f, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x9f, 0x13, 0x0d, 0xfb, // /B//B.//B//B.... + 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0xfb, 0x32, 0x04, 0x9c, 0x9d, 0x04, 0x18, // @.........2..... + 0x0e, 0xfc, 0xf2, 0x0e, 0x18, 0x04, 0x04, 0xb1, 0x5e, 0x42, 0xfb, 0x40, 0x42, 0x5e, 0x10, 0xc5, // ........^B.@B^.. + 0x11, 0x5c, 0x37, 0x03, 0x0e, 0x37, 0x5c, 0x11, 0xc5, 0x10, 0x01, 0x61, 0x42, 0x2f, 0x2f, 0x42, // ..7..7.....aB//B + 0x2f, 0x2f, 0x42, 0x2f, 0x2f, 0x42, 0x2f, 0xf0, 0x01, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, // //B//B/..@...... + 0x0d, 0x13, 0x13, 0x01, 0xed, 0x01, 0xe2, 0x0d, 0x11, 0x11, 0x0d, 0xfd, 0x7e, 0xfe, 0xc0, 0x42, // ............~..B + 0x5e, 0x5e, 0x42, 0x01, 0x40, 0x19, 0x32, 0x02, 0x5e, 0x35, 0x42, 0x42, 0x35, 0xfd, 0xa2, 0x32, // ^^B.@.2.^5BB5..2 + 0x00, 0x02, 0x00, 0x00, 0xff, 0x83, 0x07, 0x00, 0x05, 0x80, 0x00, 0x2e, 0x00, 0x34, 0x00, 0x00, // .............4.. + 0x01, 0x32, 0x16, 0x14, 0x06, 0x23, 0x11, 0x14, 0x06, 0x23, 0x00, 0x25, 0x0e, 0x01, 0x16, 0x17, // .2...#...#.%.... + 0x0e, 0x01, 0x1e, 0x02, 0x17, 0x0e, 0x01, 0x26, 0x27, 0x2e, 0x04, 0x36, 0x37, 0x23, 0x22, 0x26, // .......&'..67#"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x20, 0x01, 0x32, 0x16, 0x15, 0x03, 0x11, 0x00, 0x05, 0x11, // =.463! .2....... + 0x04, 0x06, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x4c, 0x34, 0xfe, 0x5f, 0xfe, 0x75, 0x3a, 0x42, 0x04, // ...5KK5L4._.u:B. + 0x26, 0x14, 0x06, 0x12, 0x31, 0x2f, 0x26, 0x1d, 0xa5, 0xac, 0x2e, 0x07, 0x2d, 0x13, 0x1b, 0x03, // &...1/&.....-... + 0x0a, 0x11, 0x7a, 0x42, 0x5e, 0x5e, 0x42, 0x01, 0xe0, 0x01, 0xb3, 0x01, 0xcd, 0x34, 0x4c, 0x80, // ..zB^^B......4L. + 0xfe, 0x76, 0xfe, 0x8a, 0x01, 0x79, 0x03, 0x80, 0x4b, 0x6a, 0x4b, 0xfe, 0x80, 0x34, 0x4c, 0x01, // .v...y..KjK..4L. + 0x5b, 0x21, 0x13, 0x5e, 0x6b, 0x27, 0x21, 0x41, 0x33, 0x3b, 0x29, 0x1e, 0x3a, 0x32, 0x1b, 0x2a, // [!.^k'!A3;).:2.* + 0x17, 0x81, 0x3c, 0x76, 0x54, 0x71, 0x36, 0x5e, 0x42, 0xc0, 0x42, 0x5e, 0x01, 0x80, 0x4c, 0x34, // ...54.7&5462. + 0x15, 0x14, 0x07, 0x16, 0x12, 0x15, 0x14, 0x1e, 0x03, 0x03, 0x90, 0x10, 0x3b, 0x55, 0x20, 0x67, // ............;U g + 0x49, 0xfd, 0x76, 0x05, 0x14, 0xfe, 0xf6, 0x30, 0x5a, 0x99, 0xba, 0x99, 0x5a, 0x30, 0x04, 0xc0, // I.v....0Z...Z0.. + 0x4c, 0x34, 0xfe, 0x40, 0x96, 0xd4, 0x96, 0xfe, 0x40, 0x34, 0x4c, 0x32, 0x52, 0x58, 0x3d, 0x27, // L4.@....@4L2RX=' + 0xea, 0xbe, 0x08, 0x38, 0x50, 0x38, 0x08, 0xbe, 0xea, 0x27, 0x3d, 0x58, 0x52, 0xb0, 0x20, 0x55, // ...8P8...'=XR. U + 0x3b, 0x10, 0x10, 0x49, 0x67, 0x01, 0x30, 0x01, 0x2c, 0x02, 0x14, 0x33, 0x6c, 0x62, 0x3f, 0x3f, // ;..Ig.0.,..3lb?? + 0x62, 0x6c, 0x33, 0xfd, 0xec, 0xfe, 0xd4, 0x34, 0x4c, 0x6a, 0x96, 0x96, 0x6a, 0x4c, 0x34, 0x2a, // bl3....4Lj..jL4* + 0x5c, 0x93, 0xaa, 0xf2, 0x8b, 0x98, 0x01, 0x05, 0x1c, 0x13, 0x14, 0x28, 0x38, 0x38, 0x28, 0x14, // ...........(88(. + 0x13, 0x1c, 0xfe, 0xfb, 0x98, 0x8b, 0xf2, 0xaa, 0x93, 0x5c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, // ................ 0xff, 0x80, 0x05, 0xfe, 0x05, 0x7d, 0x00, 0x49, 0x00, 0x00, 0x01, 0x17, 0x16, 0x07, 0x06, 0x0f, // .....}.I........ 0x01, 0x17, 0x16, 0x07, 0x06, 0x2f, 0x01, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x07, // ...../.....#"/.. 0x06, 0x27, 0x26, 0x2f, 0x01, 0x07, 0x06, 0x27, 0x26, 0x3f, 0x01, 0x27, 0x26, 0x27, 0x26, 0x3f, // .'&/...'&?.'&'&? @@ -1847,568 +2208,550 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x4c, 0x35, 0x69, 0x98, 0x3e, 0x39, 0x15, 0x16, 0x65, 0x4d, 0x8b, 0xa1, 0x45, 0x3b, 0x4b, 0x35, // L5i.>9..eM..E;K5 0x02, 0x80, 0x35, 0x4b, 0x09, 0x13, 0x11, 0x1c, 0x0f, 0x1c, 0x03, 0x4a, 0x37, 0x15, 0x52, 0x3e, // ..5K.......J7.R> 0x40, 0x23, 0x86, 0x7a, 0x44, 0x3c, 0x98, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // @#.zD<.......... - 0x05, 0x80, 0x00, 0x37, 0x00, 0x3f, 0x00, 0x73, 0x00, 0x00, 0x25, 0x33, 0x11, 0x23, 0x22, 0x2e, // ...7.?.s..%3.#". - 0x02, 0x27, 0x2e, 0x02, 0x27, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x04, 0x23, 0x22, 0x06, 0x15, 0x14, // .'..'&'&'..#"... - 0x1e, 0x02, 0x15, 0x21, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x21, 0x0e, 0x01, 0x15, 0x14, 0x17, // ...!"....3!..... - 0x06, 0x14, 0x16, 0x17, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x24, 0x34, 0x26, 0x22, // ........32>.$4&" - 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x07, 0x06, 0x23, 0x22, 0x26, // ...2....#!"..#"& - 0x3f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x26, 0x27, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, // ?.&547&'#"&5463! - 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x16, 0x17, 0x1e, 0x06, 0x33, 0x21, 0x32, // &54632.......3!2 - 0x16, 0x05, 0x60, 0x20, 0x20, 0x23, 0x41, 0x3c, 0x28, 0x1d, 0x02, 0x03, 0x05, 0x02, 0x48, 0x28, // ..` #A<(.....H( - 0x0e, 0x18, 0x01, 0x13, 0x12, 0x16, 0x15, 0x08, 0x47, 0x59, 0x1e, 0x24, 0x1e, 0xfd, 0xc0, 0x32, // ........GY.$...2 - 0x4e, 0x4c, 0x34, 0x01, 0x4b, 0x0f, 0x14, 0x35, 0x12, 0x23, 0x1e, 0x04, 0x61, 0x57, 0x54, 0xc6, // NL4.K..5.#..aWT. - 0xbe, 0x01, 0x68, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0x4b, 0x35, 0xfe, 0xe0, 0x3b, 0xa4, 0xbe, // ..h&4&&4.K5..;.. - 0x7f, 0x8e, 0xb0, 0x01, 0x01, 0x3d, 0x03, 0x21, 0x04, 0xa9, 0x69, 0x97, 0x98, 0x68, 0x01, 0x76, // .....=.!..i..h.v - 0x16, 0xa3, 0x7d, 0x26, 0x3f, 0x2f, 0x22, 0x28, 0x0d, 0x23, 0x41, 0x02, 0x18, 0x0e, 0x1b, 0x15, // ..}&?/"(.#A..... - 0x18, 0x17, 0x0a, 0x01, 0x20, 0x35, 0x4b, 0x80, 0x02, 0x80, 0x18, 0x32, 0x2a, 0x21, 0x03, 0x03, // .... 5K....2*!.. - 0x06, 0x02, 0x51, 0x40, 0x16, 0x2e, 0x03, 0x27, 0x21, 0x26, 0x17, 0x3d, 0x43, 0x2b, 0x53, 0x35, // ..Q@...'!&.=C+S5 - 0x39, 0x14, 0x4d, 0x33, 0x34, 0x4c, 0x11, 0x3d, 0x19, 0x45, 0x32, 0x20, 0x4a, 0x49, 0x10, 0x18, // 9.M34L.=.E2 JI.. - 0x20, 0x55, 0x52, 0x40, 0x40, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x02, 0x80, 0xfd, 0x80, 0x35, // UR@@&4&&4&....5 - 0x4b, 0x3b, 0x45, 0x9b, 0x8c, 0x05, 0x4c, 0x66, 0x16, 0x15, 0x39, 0x3e, 0x98, 0x69, 0x67, 0x98, // K;E...Lf..9>.ig. - 0x3c, 0x44, 0x7a, 0x86, 0x23, 0x40, 0x3e, 0x52, 0x15, 0x37, 0x4a, 0x03, 0x1c, 0x0f, 0x1c, 0x11, // R.7J..... - 0x13, 0x09, 0x4b, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x07, // ..K............. - 0x00, 0x35, 0x00, 0x68, 0x00, 0x00, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x34, // .5.h...4&"...2.4 - 0x23, 0x22, 0x07, 0x2e, 0x01, 0x22, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x34, 0x26, 0x23, // #"...".&#"...4&# - 0x22, 0x06, 0x15, 0x11, 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, // "..."..#"....... - 0x17, 0x16, 0x17, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x3e, 0x01, 0x37, 0x14, 0x07, 0x06, 0x15, // ......!54>.7.... - 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x2e, 0x05, 0x27, 0x26, 0x27, 0x2e, // ...#!"&5.4..'&'. - 0x04, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x16, // .54632..4632.... - 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x16, 0x05, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0xa7, // .632.6...&4&&4.. - 0x1a, 0x1e, 0x10, 0x49, 0x4a, 0x20, 0x32, 0x45, 0x19, 0x3d, 0x11, 0x4c, 0x34, 0x33, 0x4d, 0x14, // ...IJ 2E.=.L43M. - 0x39, 0x35, 0x53, 0x2b, 0x43, 0x3d, 0x8b, 0x2c, 0x15, 0x40, 0x51, 0x51, 0x19, 0x39, 0x02, 0x80, // 95S+C=.,.@QQ.9.. - 0x40, 0x40, 0x80, 0x45, 0x3b, 0x4b, 0x35, 0xfd, 0x80, 0x35, 0x4b, 0x09, 0x13, 0x11, 0x1c, 0x0f, // @@.E;K5..5K..... - 0x1c, 0x03, 0x4a, 0x37, 0x15, 0x52, 0x3e, 0x40, 0x23, 0x86, 0x7a, 0x44, 0x3c, 0x98, 0x67, 0x69, // ..J7.R>@#.zD<.gi - 0x98, 0x3e, 0x39, 0x15, 0x16, 0x65, 0x4d, 0x8b, 0xa1, 0x5a, 0x34, 0x26, 0x26, 0x34, 0x26, 0x03, // .>9..eM..Z4&&4&. - 0x3c, 0xbd, 0x05, 0x1e, 0x23, 0x12, 0x35, 0x14, 0x0f, 0x01, 0x4b, 0x34, 0x4c, 0x4e, 0x32, 0xfd, // <...#.5...K4LN2. - 0xc0, 0x1e, 0x24, 0x1e, 0x59, 0x47, 0x18, 0x42, 0x18, 0x0d, 0x28, 0x48, 0x47, 0x1e, 0x45, 0x47, // ..$.YG.B..(HG.EG - 0x20, 0x20, 0x48, 0xbe, 0xc5, 0x56, 0x85, 0xbd, 0xa4, 0x3b, 0xfe, 0xe0, 0x35, 0x4b, 0x4b, 0x35, // H..V...;..5KK5 - 0x01, 0x20, 0x0a, 0x17, 0x18, 0x15, 0x1b, 0x0e, 0x18, 0x02, 0x41, 0x23, 0x0d, 0x28, 0x22, 0x2f, // . ........A#.("/ - 0x3f, 0x26, 0x7d, 0xa3, 0x16, 0x01, 0x76, 0x68, 0x98, 0x97, 0x69, 0xa9, 0x04, 0x21, 0x03, 0x3c, // ?&}...vh..i..!.< - 0x01, 0xac, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x34, // ...............4 - 0x00, 0x3c, 0x00, 0x70, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x01, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x0e, // .<.p...4..=.!... - 0x02, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x0e, 0x04, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, // .............32> - 0x02, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x16, 0x33, 0x32, 0x37, 0x16, 0x32, // .3...3265..327.2 - 0x36, 0x37, 0x16, 0x33, 0x32, 0x36, 0x02, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, // 67.326.4&"...2.. - 0x06, 0x2f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x06, 0x07, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, // ./..#"'.....#"&5 - 0x11, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x3e, 0x06, 0x35, 0x11, // ..#"&54>.767>.5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x16, 0x05, 0x80, 0x40, 0x40, 0xfd, // 463!2........@@. - 0x80, 0x18, 0x32, 0x2a, 0x21, 0x09, 0x05, 0x51, 0x40, 0x16, 0x2e, 0x03, 0x27, 0x21, 0x26, 0x17, // ..2*!..Q@...'!&. - 0x3d, 0x43, 0x2b, 0x53, 0x35, 0x39, 0x14, 0x4d, 0x33, 0x34, 0x4c, 0x2e, 0x39, 0x45, 0x32, 0x20, // =C+S59.M34L.9E2 - 0x4a, 0x49, 0x10, 0x18, 0x20, 0x55, 0x52, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, 0x26, 0x9b, // JI.. UR.&4&&4.&. - 0x8c, 0x05, 0x4c, 0x66, 0x16, 0x15, 0x36, 0x41, 0x98, 0x69, 0x67, 0x98, 0x36, 0x4a, 0x79, 0x87, // ..Lf..6A.ig.6Jy. - 0x23, 0x40, 0x3e, 0x52, 0x15, 0x37, 0x4a, 0x03, 0x1c, 0x0f, 0x1c, 0x11, 0x13, 0x09, 0x4b, 0x35, // #@>R.7J.......K5 - 0x02, 0x80, 0x35, 0x4b, 0x3b, 0x45, 0x02, 0x40, 0x54, 0xc6, 0xbe, 0x48, 0x20, 0x20, 0x23, 0x41, // ..5K;E.@T..H #A - 0x3c, 0x28, 0x1d, 0x08, 0x04, 0x48, 0x28, 0x0e, 0x18, 0x01, 0x13, 0x12, 0x16, 0x15, 0x08, 0x47, // <(...H(........G - 0x59, 0x1e, 0x24, 0x1e, 0xfd, 0xc0, 0x32, 0x4e, 0x4c, 0x34, 0x01, 0x4b, 0x23, 0x35, 0x12, 0x23, // Y.$...2NL4.K#5.# - 0x1e, 0x04, 0x61, 0x03, 0x3d, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfd, 0x44, 0x8e, 0xb0, 0x01, 0x01, // ..a.=4&&4&.D.... - 0x3d, 0x03, 0x1e, 0x07, 0xa9, 0x69, 0x97, 0x98, 0x68, 0x01, 0x76, 0x16, 0xa3, 0x7d, 0x26, 0x3f, // =....i..h.v..}&? - 0x2f, 0x22, 0x28, 0x0d, 0x23, 0x41, 0x02, 0x18, 0x0e, 0x1b, 0x15, 0x18, 0x17, 0x0a, 0x01, 0x20, // /"(.#A......... - 0x35, 0x4b, 0x4b, 0x35, 0xfe, 0xe0, 0x3b, 0xa4, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // 5KK5..;......... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, // .........+...54& - 0x23, 0x21, 0x37, 0x36, 0x34, 0x2f, 0x01, 0x26, 0x22, 0x07, 0x01, 0x07, 0x06, 0x14, 0x1f, 0x01, // #!764/.&"....... - 0x01, 0x16, 0x32, 0x3f, 0x01, 0x36, 0x34, 0x2f, 0x01, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, // ..2?.64/.!26.... - 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x05, 0x00, 0x26, 0x1a, 0xfe, 0x0a, 0xbd, 0x13, // $...$ ...&..... - 0x13, 0x5b, 0x12, 0x36, 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x12, 0x5b, 0x01, 0x6a, 0x12, 0x36, 0x12, // .[.6...[..[.j.6. - 0x5b, 0x12, 0x12, 0xbd, 0x01, 0xf6, 0x1a, 0x26, 0x01, 0x00, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, // [......&......^. - 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x40, 0x80, 0x1a, 0x26, 0xbd, 0x13, // ....a...a.@..&.. - 0x34, 0x13, 0x5b, 0x12, 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x36, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x12, // 4.[....[.6.[.... - 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, 0x01, 0x2b, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // [.6..&.+.^.....a - 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ...a............ - 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x2f, 0x01, 0x01, 0x26, 0x22, 0x0f, // .....+...4/..&". - 0x01, 0x06, 0x14, 0x1f, 0x01, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x07, 0x06, // .....!".....3!.. - 0x14, 0x1f, 0x01, 0x16, 0x32, 0x37, 0x01, 0x37, 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ....27.7$... $.. - 0x12, 0x24, 0x20, 0x04, 0x05, 0x05, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x36, 0x12, 0x5b, 0x12, 0x12, // .$ ....[...6.[.. - 0xbd, 0xfe, 0x0a, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xf6, 0xbd, 0x13, 0x13, 0x5b, 0x12, 0x36, 0x12, // ....&&......[.6. - 0x01, 0x6a, 0x5b, 0x01, 0x0d, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // .j[......^.....a - 0x01, 0xa2, 0x01, 0x61, 0x02, 0x65, 0x36, 0x12, 0x5b, 0x01, 0x6a, 0x12, 0x12, 0x5b, 0x12, 0x36, // ...a.e6.[.j..[.6 - 0x12, 0xbd, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, // ..&...&..4.[...j - 0x5b, 0xfe, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, // [..^.....a...a.. - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, // .............+.. - 0x00, 0x34, 0x27, 0x01, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x01, 0x06, 0x14, 0x1f, 0x01, 0x16, 0x32, // .4'.'&"........2 - 0x3f, 0x01, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x11, 0x17, 0x16, 0x32, 0x3f, 0x01, // ?....;.265...2?. - 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x05, 0x04, 0x12, 0xfe, // $... $...$ ..... - 0x96, 0x5b, 0x12, 0x36, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x12, 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, // .[.6.[....[.6..& - 0x1a, 0x80, 0x1a, 0x26, 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x01, 0x0e, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // ...&..4.[......^ - 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x66, 0x36, 0x12, 0x01, 0x6a, // .....a...a.f6..j - 0x5b, 0x12, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, 0xfe, 0x0a, 0x1a, // [..[...6.[...... - 0x26, 0x26, 0x1a, 0x01, 0xf6, 0xbd, 0x13, 0x13, 0x5b, 0xfd, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // &&......[..^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // .a...a.......... - 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x2f, 0x01, 0x26, 0x22, 0x0f, 0x01, // .....+...4/.&".. - 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x06, 0x14, // .4&+."...'&".... - 0x17, 0x01, 0x17, 0x16, 0x32, 0x3f, 0x01, 0x01, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ....2?...... $.. - 0x12, 0x24, 0x20, 0x04, 0x05, 0x04, 0x12, 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, 0x1a, 0x80, 0x1a, // .$ ....[.6..&... - 0x26, 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, 0x5b, 0x12, 0x36, 0x12, 0x5b, 0x01, // &..4.[...j[.6.[. - 0x6a, 0x01, 0x0e, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // j......^.....a.. - 0x01, 0x61, 0x02, 0x64, 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, 0x01, 0xf6, 0x1a, 0x26, 0x26, 0x1a, // .a.d6.[......&&. - 0xfe, 0x0a, 0xbd, 0x13, 0x13, 0x5b, 0x12, 0x36, 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x12, 0x5b, 0x01, // .....[.6...[..[. - 0x6a, 0x00, 0xff, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, // j...^.....a...a. - 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, // ................ - 0x01, 0xd8, 0x02, 0x18, 0x00, 0x00, 0x00, 0x20, 0x04, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, // ....... ..... $. - 0x10, 0x12, 0x01, 0x0e, 0x01, 0x07, 0x32, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x17, // ......2>.767676. - 0x26, 0x36, 0x37, 0x3e, 0x01, 0x3f, 0x01, 0x06, 0x26, 0x27, 0x14, 0x07, 0x34, 0x26, 0x06, 0x27, // &67>.?..&'..4&.' - 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x03, 0x22, 0x0e, 0x01, 0x23, 0x26, 0x0e, 0x02, 0x07, // ..'..'.."..#&... - 0x0e, 0x01, 0x07, 0x36, 0x27, 0x26, 0x07, 0x36, 0x26, 0x27, 0x33, 0x2e, 0x02, 0x27, 0x2e, 0x01, // ...6'&.6&'3..'.. - 0x07, 0x06, 0x1e, 0x01, 0x15, 0x16, 0x06, 0x15, 0x14, 0x16, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x16, // ................ - 0x17, 0x16, 0x0e, 0x02, 0x0f, 0x01, 0x06, 0x26, 0x27, 0x26, 0x27, 0x26, 0x07, 0x26, 0x27, 0x26, // .......&'&'&.&'& - 0x07, 0x36, 0x27, 0x26, 0x07, 0x3e, 0x01, 0x35, 0x36, 0x37, 0x3e, 0x02, 0x23, 0x16, 0x37, 0x3e, // .6'&.>.567>.#.7> - 0x01, 0x37, 0x36, 0x1e, 0x01, 0x33, 0x16, 0x36, 0x27, 0x16, 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, // .76..3.6'.'&'&.. - 0x17, 0x26, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x27, 0x22, 0x07, 0x36, 0x26, 0x27, 0x36, 0x27, 0x2e, // .&..'..'".6&'6'. - 0x01, 0x07, 0x0e, 0x01, 0x1e, 0x02, 0x17, 0x16, 0x07, 0x0e, 0x02, 0x07, 0x06, 0x16, 0x07, 0x2e, // ................ - 0x01, 0x27, 0x16, 0x2f, 0x01, 0x22, 0x06, 0x26, 0x27, 0x26, 0x37, 0x36, 0x17, 0x2e, 0x01, 0x27, // .'./.".&'&76...' - 0x06, 0x07, 0x16, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x17, 0x37, 0x16, 0x17, 0x26, 0x07, 0x06, 0x07, // ...7>.76.7..&... - 0x16, 0x07, 0x2e, 0x02, 0x27, 0x22, 0x07, 0x06, 0x07, 0x16, 0x17, 0x1e, 0x02, 0x37, 0x16, 0x07, // ....'".......7.. - 0x36, 0x17, 0x16, 0x17, 0x16, 0x07, 0x2e, 0x01, 0x07, 0x06, 0x16, 0x37, 0x22, 0x06, 0x14, 0x07, // 6..........7"... - 0x17, 0x06, 0x16, 0x37, 0x06, 0x17, 0x16, 0x17, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, 0x06, 0x16, // ...7............ - 0x07, 0x22, 0x06, 0x23, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x37, 0x36, 0x27, 0x26, 0x27, 0x2e, 0x01, // .".#.....76'&'.. - 0x27, 0x32, 0x1e, 0x02, 0x07, 0x06, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x23, 0x32, 0x16, 0x17, 0x1e, // '2.........#2... - 0x01, 0x17, 0x1e, 0x03, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x32, 0x36, 0x37, 0x36, 0x16, 0x17, 0x16, // .........2676... - 0x37, 0x06, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, 0x36, 0x37, 0x06, 0x16, 0x37, 0x36, 0x35, 0x06, // 7.......67..765. - 0x27, 0x34, 0x2e, 0x02, 0x36, 0x33, 0x32, 0x36, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x06, 0x26, 0x27, // '4..6326&'..'.&' - 0x14, 0x06, 0x15, 0x22, 0x27, 0x3e, 0x01, 0x37, 0x3e, 0x03, 0x26, 0x07, 0x06, 0x07, 0x0e, 0x02, // ..."'>.7>.&..... - 0x07, 0x06, 0x26, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, 0x27, 0x3e, 0x01, 0x37, 0x3e, 0x01, // ..&'..54>.'>.7>. - 0x16, 0x36, 0x37, 0x26, 0x27, 0x26, 0x23, 0x16, 0x36, 0x17, 0x16, 0x37, 0x34, 0x26, 0x37, 0x16, // .67&'&#.6..74&7. - 0x37, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x36, 0x37, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3e, 0x01, 0x26, // 7.....67.....>.& - 0x2f, 0x01, 0x34, 0x35, 0x27, 0x2e, 0x01, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x27, 0x32, 0x37, // /.45'..67>.76'27 - 0x22, 0x2e, 0x01, 0x23, 0x36, 0x27, 0x3e, 0x01, 0x37, 0x16, 0x37, 0x36, 0x27, 0x3e, 0x01, 0x37, // "..#6'>.7.76'>.7 - 0x16, 0x36, 0x34, 0x37, 0x3e, 0x01, 0x3f, 0x01, 0x36, 0x23, 0x16, 0x37, 0x36, 0x27, 0x36, 0x26, // .647>.?.6#.76'6& - 0x27, 0x36, 0x16, 0x37, 0x36, 0x27, 0x26, 0x03, 0x36, 0x37, 0x2e, 0x01, 0x27, 0x26, 0x27, 0x36, // '6.76'&.67..'&'6 - 0x2e, 0x02, 0x27, 0x2e, 0x03, 0x06, 0x23, 0x07, 0x0e, 0x03, 0x17, 0x26, 0x27, 0x2e, 0x02, 0x06, // ..'...#....&'... - 0x07, 0x0e, 0x01, 0x07, 0x26, 0x36, 0x27, 0x26, 0x0e, 0x04, 0x07, 0x0e, 0x01, 0x07, 0x2e, 0x01, // ....&6'&........ - 0x35, 0x1e, 0x01, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 0x17, 0x14, 0x06, 0x17, 0x14, 0x02, 0x2f, // 5............../ - 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x03, 0x44, // ...a.....^.....D - 0x02, 0x0f, 0x06, 0x02, 0x05, 0x05, 0x01, 0x06, 0x10, 0x0e, 0x26, 0x22, 0x11, 0x02, 0x17, 0x03, // ..........&".... - 0x03, 0x18, 0x03, 0x02, 0x0c, 0x0b, 0x01, 0x06, 0x09, 0x0e, 0x02, 0x0a, 0x0a, 0x06, 0x01, 0x02, // ................ - 0x0f, 0x02, 0x01, 0x03, 0x03, 0x05, 0x06, 0x08, 0x07, 0x01, 0x03, 0x06, 0x03, 0x06, 0x02, 0x03, // ................ - 0x0b, 0x03, 0x0f, 0x10, 0x0a, 0x06, 0x09, 0x03, 0x07, 0x05, 0x01, 0x0f, 0x14, 0x03, 0x08, 0x34, // ...............4 - 0x07, 0x05, 0x01, 0x07, 0x01, 0x0d, 0x1c, 0x04, 0x03, 0x1a, 0x03, 0x05, 0x07, 0x07, 0x02, 0x01, // ................ - 0x06, 0x05, 0x04, 0x03, 0x0b, 0x13, 0x04, 0x07, 0x09, 0x17, 0x06, 0x05, 0x24, 0x19, 0x21, 0x06, // ............$.!. - 0x06, 0x07, 0x0c, 0x03, 0x02, 0x03, 0x09, 0x01, 0x0c, 0x07, 0x03, 0x23, 0x0f, 0x05, 0x0d, 0x04, // ...........#.... - 0x09, 0x0a, 0x13, 0x05, 0x0e, 0x03, 0x09, 0x0c, 0x09, 0x05, 0x03, 0x0c, 0x0f, 0x08, 0x0a, 0x01, // ................ - 0x11, 0x10, 0x08, 0x01, 0x09, 0x05, 0x08, 0x08, 0x03, 0x1c, 0x0a, 0x13, 0x1b, 0x07, 0x1b, 0x06, // ................ - 0x05, 0x01, 0x0b, 0x0a, 0x0d, 0x02, 0x0e, 0x06, 0x02, 0x0d, 0x0a, 0x01, 0x03, 0x06, 0x05, 0x05, // ................ - 0x08, 0x03, 0x07, 0x20, 0x0a, 0x04, 0x18, 0x11, 0x05, 0x04, 0x04, 0x01, 0x03, 0x04, 0x0e, 0x03, // ... ............ - 0x2e, 0x30, 0x06, 0x06, 0x05, 0x10, 0x02, 0x22, 0x08, 0x05, 0x0e, 0x06, 0x07, 0x17, 0x14, 0x02, // .0....."........ - 0x07, 0x02, 0x04, 0x0f, 0x0e, 0x08, 0x10, 0x06, 0x92, 0x59, 0x07, 0x05, 0x04, 0x02, 0x03, 0x0a, // .........Y...... - 0x09, 0x06, 0x01, 0x2b, 0x13, 0x02, 0x03, 0x0d, 0x01, 0x10, 0x01, 0x03, 0x07, 0x07, 0x07, 0x05, // ...+............ - 0x01, 0x02, 0x03, 0x11, 0x0d, 0x0d, 0x21, 0x06, 0x02, 0x03, 0x12, 0x0c, 0x04, 0x04, 0x0c, 0x08, // ......!......... - 0x02, 0x17, 0x01, 0x01, 0x03, 0x01, 0x03, 0x19, 0x03, 0x01, 0x02, 0x04, 0x06, 0x02, 0x1a, 0x0f, // ................ - 0x02, 0x03, 0x05, 0x02, 0x02, 0x08, 0x09, 0x06, 0x01, 0x03, 0x0a, 0x0e, 0x14, 0x02, 0x06, 0x10, // ................ - 0x08, 0x09, 0x16, 0x06, 0x05, 0x06, 0x02, 0x02, 0x0d, 0x0c, 0x14, 0x03, 0x05, 0x1b, 0x08, 0x0a, // ................ - 0x0c, 0x11, 0x05, 0x0f, 0x1c, 0x07, 0x24, 0x13, 0x02, 0x05, 0x0b, 0x07, 0x02, 0x05, 0x1a, 0x05, // ......$......... - 0x06, 0x01, 0x03, 0x14, 0x08, 0x0e, 0x1f, 0x12, 0x05, 0x03, 0x02, 0x02, 0x04, 0x09, 0x02, 0x06, // ................ - 0x01, 0x01, 0x14, 0x02, 0x05, 0x16, 0x05, 0x03, 0x0d, 0x02, 0x01, 0x03, 0x02, 0x01, 0x09, 0x06, // ................ - 0x02, 0x0b, 0x0c, 0x13, 0x07, 0x01, 0x04, 0x06, 0x06, 0x07, 0x22, 0x07, 0x0d, 0x13, 0x05, 0x01, // .........."..... - 0x06, 0x03, 0x0c, 0x04, 0x02, 0x05, 0x04, 0x04, 0x01, 0x01, 0x03, 0x03, 0x01, 0x07, 0x2b, 0x06, // ..............+. - 0x0f, 0x07, 0x05, 0x02, 0x05, 0x18, 0x03, 0x19, 0x05, 0x03, 0x08, 0x03, 0x07, 0x05, 0x0a, 0x02, // ................ - 0x0b, 0x08, 0x07, 0x08, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x07, 0x0a, 0x0a, 0x01, 0x0e, 0x11, // ................ - 0x04, 0x15, 0x06, 0x07, 0x04, 0x01, 0x08, 0x07, 0x01, 0x09, 0x07, 0x05, 0x05, 0x05, 0x09, 0x0c, // ................ - 0x07, 0x06, 0x05, 0x1f, 0x03, 0x07, 0x02, 0x03, 0x04, 0x16, 0x02, 0x11, 0x03, 0x03, 0x12, 0x0d, // ................ - 0x0a, 0x10, 0x03, 0x0c, 0x09, 0x03, 0x11, 0x02, 0x0f, 0x16, 0x11, 0xbd, 0xce, 0x91, 0x03, 0x13, // ................ - 0x03, 0x12, 0x06, 0x01, 0x07, 0x09, 0x10, 0x03, 0x02, 0x0a, 0x04, 0x0b, 0x06, 0x07, 0x03, 0x03, // ................ - 0x05, 0x06, 0x02, 0x01, 0x15, 0x0f, 0x05, 0x0c, 0x09, 0x0b, 0x06, 0x05, 0x02, 0x01, 0x07, 0x0e, // ................ - 0x05, 0x03, 0x0f, 0x09, 0x0e, 0x04, 0x0d, 0x02, 0x03, 0x06, 0x02, 0x02, 0x13, 0x02, 0x04, 0x03, // ................ - 0x07, 0x13, 0x1b, 0x02, 0x04, 0x10, 0x10, 0x01, 0x05, 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, // ..............^. - 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xfe, 0xc5, 0x01, 0x11, 0x01, 0x0a, 0x0c, // ....a...a....... - 0x01, 0x07, 0x08, 0x06, 0x06, 0x08, 0x13, 0x02, 0x16, 0x01, 0x02, 0x05, 0x05, 0x16, 0x01, 0x10, // ................ - 0x0d, 0x02, 0x06, 0x07, 0x02, 0x04, 0x01, 0x03, 0x09, 0x18, 0x03, 0x05, 0x0b, 0x05, 0x02, 0x07, // ................ - 0x06, 0x05, 0x0a, 0x0a, 0x02, 0x01, 0x01, 0x05, 0x01, 0x02, 0x02, 0x01, 0x05, 0x06, 0x04, 0x01, // ................ - 0x04, 0x10, 0x06, 0x04, 0x09, 0x08, 0x02, 0x05, 0x09, 0x04, 0x06, 0x09, 0x13, 0x03, 0x06, 0x0e, // ................ - 0x05, 0x07, 0x11, 0x0d, 0x08, 0x10, 0x04, 0x08, 0x15, 0x06, 0x02, 0x04, 0x05, 0x03, 0x02, 0x02, // ................ - 0x05, 0x16, 0x0f, 0x19, 0x05, 0x08, 0x09, 0x0d, 0x0d, 0x09, 0x05, 0x01, 0x0e, 0x0f, 0x03, 0x06, // ................ - 0x17, 0x02, 0x0d, 0x0a, 0x01, 0x0f, 0x0c, 0x04, 0x0f, 0x05, 0x18, 0x05, 0x06, 0x01, 0x0a, 0x01, // ................ - 0x18, 0x08, 0x01, 0x12, 0x07, 0x02, 0x04, 0x09, 0x04, 0x04, 0x01, 0x17, 0x0c, 0x0b, 0x01, 0x19, // ................ - 0x01, 0x0f, 0x08, 0x0e, 0x01, 0x0c, 0x0f, 0x04, 0x02, 0x05, 0x07, 0x09, 0x07, 0x04, 0x04, 0x01, // ................ - 0x0a, 0x04, 0x01, 0x05, 0x04, 0x02, 0x04, 0x14, 0x04, 0x05, 0x19, 0x04, 0x09, 0x03, 0x01, 0x04, // ................ - 0x02, 0x07, 0x08, 0x0c, 0x04, 0x02, 0x03, 0x0d, 0x02, 0x0f, 0x1a, 0x01, 0x02, 0x02, 0x09, 0x01, // ................ - 0x0e, 0x07, 0x05, 0x10, 0x09, 0x04, 0x03, 0x06, 0x06, 0x0c, 0x06, 0x03, 0x0e, 0x08, 0x01, 0x01, // ................ - 0x50, 0x8e, 0x07, 0x01, 0x01, 0x10, 0x06, 0x06, 0x08, 0x0b, 0x01, 0x1c, 0x11, 0x04, 0x0b, 0x07, // P............... - 0x02, 0x0e, 0x03, 0x05, 0x1b, 0x01, 0x20, 0x27, 0x04, 0x01, 0x0c, 0x2d, 0x03, 0x03, 0x28, 0x08, // ...... '...-..(. - 0x01, 0x02, 0x0b, 0x09, 0x06, 0x05, 0x23, 0x06, 0x06, 0x1c, 0x09, 0x02, 0x07, 0x0e, 0x06, 0x03, // ......#......... - 0x0e, 0x08, 0x02, 0x14, 0x2a, 0x19, 0x04, 0x05, 0x15, 0x04, 0x03, 0x04, 0x04, 0x01, 0x07, 0x15, // ....*........... - 0x10, 0x16, 0x02, 0x06, 0x1b, 0x14, 0x0a, 0x08, 0x24, 0x06, 0x07, 0x0d, 0x06, 0x0a, 0x02, 0x02, // ........$....... - 0x11, 0x03, 0x04, 0x05, 0x01, 0x02, 0x22, 0x04, 0x13, 0x08, 0x01, 0x0d, 0x12, 0x0b, 0x03, 0x06, // ......"......... - 0x12, 0x06, 0x04, 0x05, 0x08, 0x18, 0x02, 0x03, 0x1d, 0x0f, 0x21, 0x01, 0x09, 0x08, 0x09, 0x06, // ..........!..... - 0x07, 0x12, 0x04, 0x08, 0x18, 0x03, 0x09, 0x02, 0x08, 0x01, 0x09, 0x02, 0x01, 0x03, 0x1d, 0x08, // ................ - 0x04, 0x10, 0x0d, 0x0c, 0x07, 0x01, 0x01, 0x13, 0x03, 0x0f, 0x08, 0x03, 0x03, 0x02, 0x04, 0x08, // ................ - 0x2a, 0x10, 0x0a, 0x21, 0x11, 0x10, 0x02, 0x0f, 0x03, 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, 0x02, // *..!............ - 0x03, 0x03, 0x09, 0x06, 0x0b, 0x0d, 0x01, 0x11, 0x05, 0x1b, 0x12, 0x03, 0x04, 0x03, 0x02, 0x07, // ................ - 0x02, 0x03, 0x05, 0x0e, 0x0a, 0x28, 0x04, 0x03, 0x02, 0x11, 0x0b, 0x07, 0x08, 0x09, 0x09, 0x08, // .....(.......... - 0x03, 0x12, 0x13, 0x09, 0x01, 0x05, 0x08, 0x04, 0x13, 0x10, 0x09, 0x06, 0x04, 0x05, 0x0b, 0x03, // ................ - 0x10, 0x02, 0x0c, 0x0a, 0x08, 0x08, 0x07, 0x07, 0x06, 0x02, 0x08, 0x10, 0x04, 0x05, 0x08, 0x01, // ................ - 0x0b, 0x04, 0x02, 0x0d, 0x0b, 0x09, 0x06, 0x07, 0x02, 0x01, 0x01, 0x02, 0x0a, 0x06, 0x05, 0xfc, // ................ - 0x82, 0x24, 0x99, 0x03, 0x03, 0x02, 0x07, 0x01, 0x07, 0x0c, 0x06, 0x0a, 0x02, 0x02, 0x08, 0x03, // .$.............. - 0x06, 0x02, 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x11, 0x05, 0x01, 0x09, 0x05, 0x02, 0x06, 0x05, // ................ - 0x14, 0x03, 0x05, 0x19, 0x06, 0x06, 0x03, 0x06, 0x0b, 0x02, 0x09, 0x03, 0x04, 0x10, 0x03, 0x04, // ................ - 0x05, 0x03, 0x0a, 0x32, 0x0d, 0x1f, 0x11, 0x19, 0x0f, 0x16, 0x04, 0x07, 0x1b, 0x08, 0x06, 0x00, // ...2............ - 0x00, 0x03, 0x00, 0x15, 0xff, 0x15, 0x06, 0x7e, 0x05, 0x80, 0x00, 0x07, 0x00, 0x15, 0x00, 0x2f, // .......~......./ - 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x09, 0x01, 0x06, 0x23, 0x22, 0x2f, // ..$4&"...2...#"/ - 0x01, 0x26, 0x35, 0x34, 0x37, 0x01, 0x1e, 0x01, 0x01, 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x00, // .&547........#". - 0x10, 0x00, 0x33, 0x32, 0x16, 0x17, 0x16, 0x14, 0x07, 0x05, 0x15, 0x17, 0x3e, 0x02, 0x33, 0x32, // ..32........>.32 - 0x16, 0x01, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x02, 0xaa, 0xfd, 0x56, 0x25, 0x35, 0x34, 0x27, // ...&4&&4...V%54' - 0x6a, 0x26, 0x26, 0x02, 0xa9, 0x27, 0x97, 0x02, 0xdc, 0x17, 0x2f, 0xeb, 0x8d, 0xb9, 0xfe, 0xf9, // j&&..'..../..... - 0x01, 0x07, 0xb9, 0x3a, 0x7f, 0x2c, 0x10, 0x10, 0xfe, 0xdb, 0xc1, 0x05, 0x94, 0x7b, 0x09, 0x0f, // ...:.,.......{.. - 0x11, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0xe4, 0xfd, 0x56, 0x25, 0x25, 0x6c, 0x24, 0x36, // .&4&&4&...V%%l$6 - 0x35, 0x26, 0x02, 0xa9, 0x62, 0x97, 0x01, 0x8c, 0x27, 0x43, 0x86, 0xa7, 0x01, 0x07, 0x01, 0x72, // 5&..b...'C.....r - 0x01, 0x07, 0x21, 0x1e, 0x0b, 0x22, 0x0b, 0xa9, 0xe0, 0x6b, 0x03, 0x5b, 0x47, 0x14, 0x00, 0x00, // ..!.."...k.[G... - 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, // ................ - 0x00, 0x1b, 0x00, 0x2b, 0x00, 0x3b, 0x00, 0x00, 0x25, 0x21, 0x35, 0x21, 0x01, 0x21, 0x35, 0x21, // ...+.;..%!5!.!5! - 0x01, 0x21, 0x35, 0x21, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .!5!....#!"&5.46 - 0x33, 0x21, 0x32, 0x16, 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 - 0x33, 0x21, 0x32, 0x16, 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // 3!2.....#!"&5.46 - 0x33, 0x21, 0x32, 0x16, 0x04, 0x00, 0x02, 0x80, 0xfd, 0x80, 0xfe, 0x80, 0x04, 0x00, 0xfc, 0x00, // 3!2............. - 0x02, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x02, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ........&....&&. - 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, // ...&&....&&....& - 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x80, 0x80, 0x01, 0x80, // &....&&....&.... - 0x80, 0x01, 0x80, 0x80, 0xfc, 0x40, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, // .....@...&&....& - 0x26, 0x01, 0xe6, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x01, 0xe6, // &.....&&....&&.. - 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x01, 0x00, 0x05, // ...&&....&&..... - 0xff, 0x80, 0x05, 0x7b, 0x05, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x16, 0x07, 0x01, 0x11, 0x14, // ...{............ - 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x11, 0x01, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, // ..#"'.&5..&763!2 - 0x05, 0x7b, 0x11, 0x1f, 0xfe, 0x13, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xff, 0x00, 0x13, 0xfe, 0x13, // .{....'......... - 0x1f, 0x11, 0x11, 0x2a, 0x05, 0x00, 0x2a, 0x04, 0xd9, 0x29, 0x1d, 0xfe, 0x13, 0xfd, 0x1a, 0x2a, // ...*..*..).....* - 0x11, 0x05, 0x13, 0x01, 0x00, 0x13, 0x1a, 0x01, 0xe6, 0x01, 0xed, 0x1d, 0x29, 0x27, 0x00, 0x00, // ............)'.. - 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x17, 0x00, 0x1b, // ................ - 0x00, 0x2f, 0x00, 0x00, 0x01, 0x21, 0x35, 0x21, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ./...!5!....#!"& - 0x35, 0x11, 0x21, 0x15, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x23, 0x15, 0x21, 0x35, // 5.!...3!26=.#.!5 - 0x01, 0x11, 0x21, 0x11, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, // ..!.463!5463!2.. - 0x01, 0x21, 0x32, 0x16, 0x02, 0x80, 0x02, 0x00, 0xfe, 0x00, 0x04, 0x80, 0x5e, 0x42, 0xfa, 0x40, // .!2.........^B.@ - 0x42, 0x5e, 0x02, 0xa0, 0x26, 0x1a, 0x01, 0x40, 0x1a, 0x26, 0x60, 0xff, 0x00, 0x04, 0x00, 0xf9, // B^..&..@.&`..... - 0x00, 0x5e, 0x42, 0x01, 0x60, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0x01, 0x60, 0x42, 0x5e, 0x05, // .^B.`8(.@(8.`B^. - 0x00, 0x80, 0xfd, 0x00, 0xfe, 0x20, 0x42, 0x5e, 0x5e, 0x42, 0x01, 0xe0, 0xa0, 0x1a, 0x26, 0x26, // ..... B^^B....&& - 0x1a, 0xa0, 0x80, 0x80, 0x01, 0xe0, 0xfe, 0x80, 0x01, 0x80, 0x42, 0x5e, 0xa0, 0x28, 0x38, 0x38, // ..........B^.(88 - 0x28, 0xa0, 0x5e, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x47, // (.^............G - 0x00, 0x00, 0x09, 0x02, 0x37, 0x36, 0x17, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x27, // ....76......#!"' - 0x26, 0x3f, 0x01, 0x09, 0x01, 0x17, 0x16, 0x07, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // &?.......#!"&5.4 - 0x37, 0x36, 0x1f, 0x01, 0x09, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x36, // 76......#"'&5.46 - 0x33, 0x21, 0x32, 0x17, 0x16, 0x0f, 0x01, 0x09, 0x01, 0x27, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, // 3!2......'&763!2 - 0x16, 0x15, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x05, 0x03, 0xfe, 0x9d, 0x01, 0x63, 0x90, // ......#"'.....c. - 0x1d, 0x29, 0x27, 0x26, 0x1a, 0xfe, 0x40, 0x2a, 0x11, 0x11, 0x1f, 0x90, 0xfe, 0x9d, 0xfe, 0x9d, // .)'&..@*........ - 0x90, 0x1f, 0x11, 0x11, 0x2a, 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x90, 0x01, 0x63, 0xfe, // ....*.@.&('...c. - 0x9d, 0x90, 0x13, 0x1a, 0x0c, 0x0c, 0x28, 0x26, 0x1a, 0x01, 0xc0, 0x2a, 0x11, 0x11, 0x1f, 0x90, // ......(&...*.... - 0x01, 0x63, 0x01, 0x63, 0x90, 0x1f, 0x11, 0x11, 0x2a, 0x01, 0xc0, 0x1a, 0x26, 0x27, 0x0d, 0x0c, // .c.c....*...&'.. - 0x1a, 0x13, 0x03, 0xe3, 0xfe, 0x9d, 0xfe, 0x9d, 0x90, 0x1f, 0x11, 0x11, 0x2a, 0xfe, 0x40, 0x1a, // ............*.@. - 0x26, 0x28, 0x27, 0x1e, 0x90, 0x01, 0x63, 0xfe, 0x9d, 0x90, 0x1e, 0x27, 0x28, 0x26, 0x1a, 0x01, // &('...c....'(&.. - 0xc0, 0x2a, 0x11, 0x11, 0x1f, 0x90, 0x01, 0x63, 0x01, 0x63, 0x90, 0x13, 0x05, 0x11, 0x2a, 0x01, // .*.....c.c....*. - 0xc0, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x90, 0xfe, 0x9d, 0x01, 0x63, 0x90, 0x1e, 0x27, 0x28, 0x26, // ..&('.....c..'(& - 0x1a, 0xfe, 0x40, 0x2a, 0x11, 0x05, 0x13, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x07, 0x80, // ..@*............ - 0x06, 0x00, 0x00, 0x11, 0x00, 0x31, 0x00, 0x39, 0x00, 0x41, 0x00, 0x53, 0x00, 0x5b, 0x00, 0x00, // .....1.9.A.S.[.. - 0x01, 0x06, 0x07, 0x23, 0x22, 0x26, 0x35, 0x10, 0x33, 0x32, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x06, // ...#"&5.32..327. - 0x15, 0x14, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x05, 0x33, 0x32, 0x1e, // .....#!"&54>.32. - 0x02, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x05, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, // .2>.32....."&462 - 0x00, 0x10, 0x06, 0x20, 0x26, 0x10, 0x36, 0x20, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x26, 0x27, 0x36, // ... &.6 ...+.&'6 - 0x35, 0x34, 0x27, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x33, 0x32, 0x02, 0x14, 0x06, 0x22, 0x26, 0x34, // 54'.32>.32..."&4 - 0x36, 0x32, 0x02, 0x51, 0xa2, 0x67, 0x86, 0x52, 0x70, 0x7c, 0x06, 0x4b, 0x78, 0x3b, 0x43, 0x42, // 62.Q.g.Rp|.Kx;CB - 0x05, 0x04, 0x80, 0x92, 0x79, 0xfc, 0x96, 0x79, 0x92, 0x07, 0x15, 0x20, 0x36, 0x46, 0x65, 0x3d, // ....y..y... 6Fe= - 0x0a, 0x42, 0x50, 0x86, 0x88, 0x86, 0x50, 0x42, 0x0a, 0x3d, 0x65, 0x46, 0x36, 0x20, 0x15, 0x07, // .BP...PB.=eF6 .. - 0xfc, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x03, 0x56, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, // ........V......> - 0x03, 0x21, 0x70, 0x52, 0x86, 0x67, 0xa2, 0x51, 0x05, 0x42, 0x43, 0x3b, 0x78, 0x4b, 0x06, 0x7c, // .!pR.g.Q.BC;xK.| - 0x80, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x02, 0x80, 0x05, 0x7b, 0x51, 0x4e, 0x01, 0x61, 0x2a, 0x2b, // .........{QN.a*+ - 0x17, 0x25, 0x1d, 0x8b, 0xfd, 0x0e, 0x78, 0x8b, 0x8b, 0x78, 0x35, 0x65, 0x75, 0x64, 0x5f, 0x43, // .%....x..x5eud_C - 0x28, 0x2b, 0x35, 0x2b, 0x2b, 0x35, 0x2b, 0x28, 0x43, 0x5f, 0x64, 0x75, 0x65, 0x05, 0x32, 0xd4, // (+5++5+(C_due.2. - 0x96, 0x96, 0xd4, 0x96, 0xfe, 0x1f, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0xfd, 0x9f, 0x4e, // ...........>...N - 0x51, 0x7b, 0x05, 0x75, 0x8b, 0x1d, 0x25, 0x17, 0x2b, 0x2a, 0x01, 0x6a, 0xd4, 0x96, 0x96, 0xd4, // Q{.u..%.+*.j.... - 0x96, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x10, 0xff, 0x90, 0x06, 0x70, 0x05, 0xf0, 0x00, 0x21, // ...........p...! - 0x00, 0x43, 0x00, 0x69, 0x00, 0x00, 0x01, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x07, 0x1e, 0x04, // .C.i...4/.&#"... - 0x15, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x16, 0x33, 0x32, // ...#"..'......32 - 0x3f, 0x01, 0x36, 0x01, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x06, 0x15, 0x14, 0x1f, // ?.6.4/.&#"...... - 0x01, 0x16, 0x33, 0x32, 0x37, 0x2e, 0x04, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x36, // ..327..54632...6 - 0x00, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x27, 0x06, 0x23, // .....#"/.&547'.# - 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x15, 0x14, 0x07, // "/.&4?.632...... - 0x17, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x05, 0xb0, 0x1c, 0xd0, 0x1c, 0x28, 0x2a, 0x1e, 0x03, 0x20, // .632.......(*.. - 0x0b, 0x13, 0x07, 0x38, 0x28, 0x0f, 0x19, 0x1a, 0x0c, 0x1f, 0x03, 0x21, 0x1c, 0xce, 0x1b, 0x29, // ...8(......!...) - 0x28, 0x1c, 0x93, 0x1c, 0xfd, 0x41, 0x1c, 0xce, 0x1c, 0x28, 0x27, 0x1d, 0x93, 0x1c, 0x1c, 0xd0, // (....A...('..... - 0x1b, 0x29, 0x2a, 0x1e, 0x03, 0x20, 0x0b, 0x13, 0x07, 0x38, 0x28, 0x0f, 0x19, 0x1a, 0x0c, 0x1f, // .)*.. ...8(..... - 0x03, 0x21, 0x03, 0x7f, 0x55, 0x93, 0x53, 0x78, 0x79, 0x53, 0xce, 0x53, 0x58, 0x58, 0x56, 0x7a, // .!..U.SxyS.SXXVz - 0x78, 0x54, 0xd0, 0x54, 0x55, 0x93, 0x53, 0x78, 0x79, 0x53, 0xce, 0x53, 0x58, 0x58, 0x56, 0x7a, // xT.TU.SxyS.SXXVz - 0x78, 0x54, 0xd0, 0x01, 0x40, 0x28, 0x1c, 0xd0, 0x1c, 0x20, 0x03, 0x1f, 0x0c, 0x1a, 0x19, 0x0f, // xT..@(... ...... - 0x28, 0x38, 0x07, 0x13, 0x0b, 0x20, 0x03, 0x1f, 0x2a, 0x28, 0x1c, 0xcf, 0x1b, 0x1a, 0x92, 0x1c, // (8... ..*(...... - 0x02, 0xe8, 0x28, 0x1c, 0xcf, 0x1c, 0x1b, 0x92, 0x1c, 0x27, 0x28, 0x1c, 0xd0, 0x1b, 0x1f, 0x03, // ..(......'(..... - 0x1f, 0x0c, 0x1a, 0x19, 0x0f, 0x28, 0x38, 0x07, 0x13, 0x0b, 0x20, 0x03, 0x1f, 0xfd, 0xe1, 0xf0, // .....(8... ..... - 0x53, 0x92, 0x53, 0x55, 0xcf, 0x53, 0x78, 0x7b, 0x56, 0x58, 0x58, 0x54, 0xd0, 0x54, 0xf0, 0x53, // S.SU.Sx{VXXT.T.S - 0x92, 0x53, 0x55, 0xcf, 0x53, 0x78, 0x7b, 0x56, 0x58, 0x58, 0x54, 0xd0, 0x00, 0x01, 0x00, 0x00, // .SU.Sx{VXXT..... - 0x00, 0x00, 0x07, 0x80, 0x05, 0x80, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, // .............#!" - 0x00, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x00, 0x33, 0x32, 0x04, 0x17, 0x36, 0x33, 0x32, // .5467&54.32..632 - 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x07, 0x80, 0xe1, 0x9f, 0xfb, 0xc0, 0xb9, 0xfe, 0xf9, 0x8e, // ................ - 0x74, 0x02, 0x01, 0x2c, 0xd4, 0x9e, 0x01, 0x01, 0x3b, 0x46, 0x60, 0x6a, 0x96, 0x29, 0x81, 0xa8, // t..,....;F`j.).. - 0x01, 0x80, 0x9f, 0xe1, 0x01, 0x07, 0xb9, 0x84, 0xdb, 0x36, 0x1c, 0x0f, 0xd4, 0x01, 0x2c, 0xb0, // .........6....,. - 0x8e, 0x3e, 0x96, 0x6a, 0x4b, 0x3f, 0x1e, 0xd1, 0x00, 0x02, 0x00, 0x73, 0xff, 0x80, 0x06, 0x0d, // .>.jK?.....s.... - 0x05, 0x80, 0x00, 0x17, 0x00, 0x21, 0x00, 0x00, 0x25, 0x16, 0x06, 0x23, 0x21, 0x22, 0x26, 0x37, // .....!..%..#!"&7 - 0x01, 0x11, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x11, // ..#"&463!2...+.. - 0x05, 0x01, 0x21, 0x01, 0x27, 0x35, 0x11, 0x23, 0x11, 0x15, 0x05, 0xf7, 0x38, 0x45, 0x6a, 0xfb, // ..!.'5.#....8Ej. - 0x80, 0x6a, 0x45, 0x38, 0x01, 0xf7, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, // .jE8..@.&&....&& - 0x1a, 0x40, 0xfe, 0xec, 0xfe, 0xf0, 0x02, 0xc8, 0xfe, 0xf0, 0x14, 0x80, 0x58, 0x59, 0x7f, 0x7f, // .@..........XY.. - 0x59, 0x03, 0x19, 0x01, 0x8f, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfe, 0x71, 0x44, 0xfe, 0x53, // Y....&4&&4&.qD.S - 0x01, 0xad, 0x1f, 0x25, 0x01, 0x8f, 0xfe, 0x71, 0x25, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, // ...%...q%....... - 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x07, 0x00, 0x4e, 0x00, 0x5c, 0x00, 0x6a, 0x00, 0x78, // .........N...j.x - 0x00, 0x86, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x05, 0x01, // .......2..."&4.. - 0x16, 0x07, 0x06, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x07, 0x06, 0x07, 0x16, 0x07, 0x0e, // ......#"'....... - 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x33, 0x32, 0x17, 0x36, // ...#"'&7>.7632.6 - 0x3f, 0x01, 0x27, 0x26, 0x27, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x36, 0x37, 0x36, // ?.'&'.#"'..'&676 - 0x33, 0x32, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x07, 0x16, 0x1f, 0x01, 0x01, 0x36, 0x33, 0x32, 0x1f, // 32..........632. - 0x01, 0x16, 0x17, 0x16, 0x07, 0x05, 0x36, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x16, 0x17, // ......6&'&#".... - 0x16, 0x33, 0x32, 0x03, 0x3e, 0x01, 0x27, 0x26, 0x23, 0x22, 0x07, 0x0e, 0x01, 0x17, 0x16, 0x33, // .32.>.'&#".....3 - 0x32, 0x01, 0x17, 0x35, 0x34, 0x3f, 0x01, 0x27, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x1f, // 2..54?.'........ - 0x01, 0x01, 0x27, 0x01, 0x15, 0x07, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x1f, 0x01, 0x01, 0x37, 0x01, // ..'...........7. - 0x07, 0x06, 0x07, 0x03, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x6c, 0x01, 0xfb, 0x1c, 0x03, // .....4&&4&.l.... - 0x05, 0x1e, 0x80, 0x0d, 0x10, 0x11, 0x0e, 0xfd, 0x4e, 0x6e, 0x08, 0x04, 0x0e, 0x04, 0x07, 0x62, // ........Nn.....b - 0x53, 0x84, 0x91, 0x88, 0x56, 0x5a, 0x0b, 0x07, 0x62, 0x52, 0x84, 0x92, 0x53, 0x44, 0x09, 0x0d, // S...VZ..bR..SD.. - 0x7a, 0x7a, 0x0d, 0x09, 0x44, 0x53, 0x92, 0x84, 0x52, 0x62, 0x07, 0x05, 0x29, 0x2b, 0x55, 0x89, // zz..DS..Rb..)+U. - 0x91, 0x84, 0x53, 0x62, 0x07, 0x04, 0x0e, 0x04, 0x08, 0x6e, 0x02, 0xb2, 0x0e, 0x11, 0x10, 0x0d, // ..Sb.....n...... - 0x80, 0x1e, 0x05, 0x03, 0x1c, 0xfb, 0x5c, 0x2e, 0x32, 0x51, 0x5c, 0x64, 0x4a, 0x27, 0x2e, 0x32, // ........2Q.dJ'.2 - 0x51, 0x5c, 0x64, 0x4a, 0x2e, 0x51, 0x32, 0x2e, 0x27, 0x4a, 0x64, 0x5c, 0x51, 0x32, 0x2e, 0x27, // Q.dJ.Q2.'Jd.Q2.' - 0x4a, 0x64, 0x01, 0x0e, 0x60, 0x21, 0x0e, 0x4f, 0x1a, 0x03, 0x0e, 0x05, 0x02, 0x04, 0x01, 0xd7, // Jd..`!.O........ - 0x60, 0x02, 0xe0, 0x80, 0xfd, 0x00, 0xa0, 0x09, 0x02, 0x05, 0x04, 0x0e, 0x04, 0x1a, 0x03, 0x60, // `..............` - 0x80, 0xfd, 0xf8, 0xb1, 0x02, 0x0b, 0x02, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x1a, 0xfe, 0x72, // ........&4&&4..r - 0x14, 0x24, 0x23, 0x10, 0x40, 0x07, 0x08, 0x01, 0x83, 0x42, 0x04, 0x01, 0x31, 0x30, 0x4d, 0x8d, // .$#.@....B..10M. - 0x35, 0x54, 0x4e, 0x54, 0x7b, 0x4c, 0x8e, 0x35, 0x54, 0x1f, 0x0d, 0x09, 0x49, 0x49, 0x09, 0x0d, // 5TNT{L.5T...II.. - 0x1f, 0x54, 0x35, 0x8e, 0x4c, 0x3b, 0x6c, 0x27, 0x4f, 0x54, 0x34, 0x8e, 0x4d, 0x30, 0x31, 0x01, // .T5.L;l'OT4.M01. - 0x04, 0x42, 0x01, 0x83, 0x08, 0x07, 0x40, 0x10, 0x23, 0x24, 0x14, 0x8a, 0x2a, 0x84, 0x33, 0x3b, // .B....@.#$..*.3; - 0x24, 0x2a, 0x84, 0x33, 0x3b, 0xfd, 0x3b, 0x33, 0x84, 0x2a, 0x24, 0x3b, 0x33, 0x84, 0x2a, 0x24, // $*.3;.;3.*$;3.*$ - 0x02, 0xa0, 0x3a, 0x0b, 0x24, 0x14, 0x08, 0x2f, 0x1a, 0x03, 0x10, 0x04, 0x02, 0x03, 0x01, 0xe9, // ..:.$../........ - 0x20, 0x02, 0x40, 0x40, 0xfe, 0x51, 0x71, 0x60, 0x08, 0x02, 0x04, 0x04, 0x10, 0x04, 0x1a, 0xfe, // .@@.Qq`........ - 0xc0, 0x40, 0x01, 0x98, 0x8a, 0x03, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // .@.............. - 0x06, 0x00, 0x00, 0x1f, 0x00, 0x22, 0x00, 0x25, 0x00, 0x33, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x32, // .....".%.3.<...2 - 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, // .....#!"&5.!"&5. - 0x34, 0x36, 0x37, 0x01, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x36, 0x33, 0x07, 0x01, // 467.>.3!2...63.. - 0x21, 0x09, 0x01, 0x21, 0x13, 0x01, 0x11, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x21, 0x11, // !..!...!...#!.!. - 0x34, 0x36, 0x01, 0x11, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x06, 0xa0, 0x28, 0x38, 0x38, // 46..!...#!...(88 - 0x28, 0xfc, 0x40, 0x28, 0x38, 0xfd, 0xe0, 0x28, 0x38, 0x28, 0x1c, 0x01, 0x98, 0x1c, 0x60, 0x28, // (.@(8..(8(....`( - 0x01, 0xa0, 0x28, 0x38, 0x44, 0x3c, 0x80, 0xfe, 0xd5, 0x01, 0x2b, 0xfd, 0x80, 0xfe, 0xd5, 0x01, // ..(8D<....+..... - 0x2b, 0xc4, 0x01, 0x3c, 0xfe, 0x80, 0x38, 0x28, 0xfe, 0x60, 0x02, 0x00, 0x28, 0x03, 0xd8, 0xfe, // +..<..8(.`..(... - 0x80, 0x38, 0x28, 0xfe, 0x60, 0x04, 0x80, 0x38, 0x28, 0xfb, 0x40, 0x28, 0x38, 0x38, 0x28, 0x01, // .8(.`..8(.@(88(. - 0x20, 0x38, 0x28, 0x02, 0xa0, 0x28, 0x60, 0x1c, 0x01, 0x98, 0x1c, 0x28, 0x38, 0x28, 0xfe, 0xb8, // 8(..(`....(8(.. - 0x28, 0xd5, 0xfe, 0xd5, 0x02, 0xab, 0xfe, 0xd5, 0xfe, 0xa4, 0x01, 0x3c, 0x01, 0xa0, 0xfe, 0x60, // (..........<...` - 0x28, 0x38, 0xfd, 0x80, 0x01, 0x00, 0x28, 0x60, 0xfc, 0xf8, 0x04, 0x80, 0xfe, 0x60, 0x28, 0x38, // (8....(`.....`(8 - 0xfd, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0xff, 0x84, 0x05, 0x7c, 0x05, 0x7c, 0x00, 0x3f, // ...........|.|.? - 0x00, 0x00, 0x25, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, // ..%..#"'.&54632. - 0x01, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, // .....#"'.&#".... - 0x01, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, // ..32654'.&#".... - 0x01, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, // .....#"'.&54632. - 0x01, 0x16, 0x05, 0x7c, 0x9e, 0x75, 0x87, 0x64, 0xfc, 0xf7, 0x71, 0xdc, 0x9f, 0x9e, 0x73, 0x02, // ...|.u.d..q...s. - 0x5d, 0x0a, 0x3d, 0x10, 0x0d, 0x0a, 0xfd, 0xa2, 0x4f, 0x66, 0x6a, 0x92, 0x4c, 0x03, 0x08, 0x3f, // ].=.....Ofj.L..? - 0x52, 0x40, 0x54, 0x3f, 0xfd, 0xbb, 0x1a, 0x22, 0x1d, 0x26, 0x19, 0x01, 0x9a, 0x0a, 0x3e, 0x10, // R@T?...".&....>. - 0x0c, 0x0a, 0xfe, 0x66, 0x3f, 0x72, 0x52, 0x58, 0x3d, 0x02, 0x45, 0x64, 0x97, 0x75, 0x9e, 0x64, // ...f?rRX=.Ed.u.d - 0x03, 0x08, 0x73, 0x9c, 0x9f, 0xde, 0x71, 0xfd, 0xa2, 0x0a, 0x0c, 0x10, 0x3d, 0x0a, 0x02, 0x5f, // ..s...q.....=.._ - 0x4d, 0x96, 0x6a, 0x69, 0x4c, 0xfc, 0xf7, 0x3f, 0x54, 0x40, 0x52, 0x3f, 0x02, 0x45, 0x18, 0x26, // M.jiL..?T@R?.E.& - 0x1d, 0x20, 0x1b, 0xfe, 0x66, 0x0a, 0x0c, 0x10, 0x3e, 0x0a, 0x01, 0x9a, 0x3d, 0x58, 0x52, 0x72, // . ..f...>...=XRr - 0x3f, 0xfd, 0xbb, 0x62, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x03, // ?..b............ - 0x00, 0x21, 0x00, 0x31, 0x00, 0x45, 0x00, 0x00, 0x29, 0x01, 0x11, 0x21, 0x01, 0x33, 0x11, 0x34, // .!.1.E..)..!.3.4 - 0x26, 0x27, 0x01, 0x2e, 0x01, 0x23, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, // &'...#...#!"&5.# - 0x11, 0x33, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x01, 0x11, 0x34, 0x26, 0x2b, 0x01, // .3.463!2....4&+. - 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, // ".....;.26....#! - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x1e, 0x01, 0x01, 0x80, // "&5.463!2....... - 0x03, 0x00, 0xfd, 0x00, 0x03, 0x80, 0x80, 0x14, 0x0a, 0xfe, 0xe7, 0x0a, 0x30, 0x0f, 0x38, 0x28, // ............0.8( - 0xfd, 0xc0, 0x28, 0x38, 0x80, 0x80, 0x38, 0x28, 0x03, 0x40, 0x28, 0x38, 0xfe, 0x80, 0x13, 0x0d, // ..(8..8(.@(8.... - 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x02, 0x80, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, // ..........8(..(8 - 0x38, 0x28, 0x03, 0xa0, 0x28, 0x60, 0x1c, 0x01, 0x18, 0x1c, 0x28, 0x01, 0x80, 0xfe, 0x80, 0x03, // 8(..(`....(..... - 0x80, 0x0e, 0x31, 0x0a, 0x01, 0x19, 0x0a, 0x14, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, // ..1......`(88(.. - 0xfb, 0x00, 0x01, 0xa0, 0x28, 0x38, 0x38, 0x28, 0x02, 0x00, 0x01, 0x40, 0x0d, 0x13, 0x13, 0x0d, // ....(88(...@.... - 0xfe, 0xc0, 0x0d, 0x13, 0x13, 0x13, 0xfc, 0x60, 0x28, 0x38, 0x38, 0x28, 0x05, 0x40, 0x28, 0x38, // .......`(88(.@(8 - 0x28, 0x1c, 0xfe, 0xe8, 0x1c, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // (....`.......... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ..........#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // 463!2....w.@w..w - 0x03, 0xc0, 0x77, 0xa9, 0x04, 0x60, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // ..w..`.@w..w..w. - 0xa9, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x0f, // ................ - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // .../..%...#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // 463!2.....#!"&=. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, // 463!2...&....&&. - 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, // ...&&....&&....& - 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, // &....&&....&...& - 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0xe6, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, // &...&&....&&...& - 0x26, 0x01, 0xe6, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x06, 0x00, 0x00, // &....&&...&&.... - 0xff, 0xc0, 0x07, 0x00, 0x05, 0x40, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x37, // .....@.......'.7 - 0x00, 0x47, 0x00, 0x00, 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x12, 0x14, 0x06, 0x22, // .G..$.."&462..." - 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // &462....#!"&=.46 - 0x33, 0x21, 0x32, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, 0x14, 0x06, // 3!2...."&462.... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x70, 0xa0, // #!"&=.463!2...p. - 0x70, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x05, 0xf0, 0x13, 0x0d, 0xfb, 0x40, 0x0d, // pp.pp.pp......@. - 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0xfa, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x05, 0xf0, // .........p.pp... - 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0x40, // ...@...........@ - 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0xd0, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0x01, 0x90, // ..........pp.p.. - 0xa0, 0x70, 0x70, 0xa0, 0x70, 0xfd, 0xa0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // .pp.p........... - 0x03, 0xe3, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0xfd, 0xa0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, // ...pp.p......... - 0x13, 0x13, 0x01, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x00, 0x00, // ................ - 0x00, 0x06, 0x00, 0x0f, 0xff, 0x00, 0x07, 0x00, 0x05, 0xf7, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x4c, // .............<.L - 0x00, 0x5c, 0x00, 0x6c, 0x00, 0x7c, 0x00, 0x00, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x37, 0x16, // ...l.|.....#"'7. - 0x33, 0x32, 0x36, 0x35, 0x34, 0x07, 0x27, 0x3e, 0x02, 0x37, 0x35, 0x22, 0x06, 0x23, 0x15, 0x23, // 32654.'>.75".#.# - 0x35, 0x21, 0x15, 0x07, 0x1e, 0x01, 0x13, 0x15, 0x21, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x35, 0x34, // 5!......!&54>.54 - 0x26, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x33, // &#".'>.32......3 - 0x35, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, // 5....#!"&=.463!2 - 0x16, 0x01, 0x15, 0x21, 0x35, 0x33, 0x34, 0x36, 0x3d, 0x01, 0x23, 0x06, 0x07, 0x27, 0x37, 0x33, // ...!5346=.#..'73 - 0x11, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, // .....#!"&=.463!2 - 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, // .....#!"&=.463!2 - 0x16, 0x01, 0x7d, 0x6d, 0x51, 0x6a, 0x42, 0x39, 0x31, 0x39, 0x1d, 0x2b, 0x69, 0x1a, 0x08, 0x31, // ..}mQjB919.+i..1 - 0x24, 0x13, 0x10, 0x41, 0x10, 0x6a, 0x01, 0x4d, 0x5f, 0x33, 0x3c, 0x02, 0xfe, 0x96, 0x06, 0x2f, // $..A.j.M_3<..../ - 0x42, 0x42, 0x2f, 0x1d, 0x19, 0x2e, 0x23, 0x55, 0x18, 0x5f, 0x3a, 0x49, 0x64, 0x44, 0x52, 0x45, // BB/...#U._:IdDRE - 0x01, 0x7f, 0x05, 0xea, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x12, 0x0e, 0x04, 0xc0, 0x0d, 0x13, // .......@........ - 0xfa, 0x80, 0xfe, 0xb1, 0x6b, 0x01, 0x02, 0x08, 0x2a, 0x47, 0x88, 0x6a, 0x05, 0xec, 0x13, 0x0d, // ....k...*G.j.... - 0xfb, 0x40, 0x0d, 0x13, 0x12, 0x0e, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, // .@...........@.. - 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0x54, 0x50, 0x5c, 0x42, 0x58, 0x2d, 0x1d, 0x1c, 0x40, 0x08, // ......TP.BX-..@. - 0x38, 0x0a, 0x43, 0x29, 0x12, 0x01, 0x02, 0x35, 0x98, 0x58, 0x73, 0x0c, 0x4a, 0x02, 0x40, 0x9f, // 8.C)...5.Xs.J.@. - 0x24, 0x12, 0x33, 0x54, 0x34, 0x2b, 0x2c, 0x17, 0x19, 0x1b, 0x3a, 0x3b, 0x33, 0x39, 0x53, 0x47, // $.3T4+,...:;39SG - 0x32, 0x53, 0x2e, 0x37, 0x19, 0x3c, 0xfe, 0xc1, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0e, 0x12, // 2S.7.<.......... - 0x13, 0x03, 0x76, 0x63, 0x63, 0x29, 0xa2, 0x28, 0x0c, 0x11, 0x25, 0x4c, 0x7f, 0xfe, 0x6c, 0xfe, // ..vcc).(..%L..l. - 0x7d, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0e, 0x12, 0x13, 0x01, 0xf3, 0xc0, 0x0d, 0x13, 0x13, // }............... - 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // ................ - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x35, 0x00, 0x65, 0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, // .....5.e...2.... - 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, // .#!"&=.463%&'&54 - 0x37, 0x36, 0x21, 0x32, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x2f, 0x01, // 76!2........../. - 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, // &'&#"........... - 0x03, 0x21, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, // .!...........#"/ - 0x01, 0x26, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x27, 0x26, 0x3f, 0x01, 0x35, 0x37, 0x1e, 0x02, 0x17, // .&'&=.4'&?.57... - 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x06, // .....32767654'&. - 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xf9, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc3, 0x1c, 0x17, 0x30, // ......@........0 - 0x86, 0x85, 0x01, 0x04, 0x32, 0x75, 0x42, 0x6f, 0x0a, 0x0b, 0x0e, 0x05, 0x0c, 0x54, 0x0e, 0x32, // ....2uBo.....T.2 - 0x35, 0x58, 0x7a, 0x72, 0x44, 0x43, 0x42, 0x42, 0xd5, 0x45, 0x68, 0x3a, 0x25, 0xec, 0x01, 0x9b, // 5XzrDCBB.Eh:%... - 0x07, 0x29, 0x17, 0x30, 0x25, 0x48, 0x50, 0x49, 0x50, 0x7b, 0x72, 0x51, 0x8c, 0x39, 0x0f, 0x08, // .).0%HPIP{rQ.9.. - 0x02, 0x01, 0x01, 0x02, 0x66, 0x0f, 0x1e, 0x0f, 0x05, 0x23, 0x2d, 0x2b, 0x3e, 0x3b, 0x49, 0x40, // ....f....#-+>;I@ - 0x4b, 0x4d, 0x2d, 0x2f, 0x51, 0x22, 0x02, 0x80, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // KM-/Q"....@....@ - 0x0e, 0x12, 0x40, 0x23, 0x2d, 0x61, 0x5b, 0xb5, 0x80, 0x7f, 0x13, 0x0c, 0x24, 0x26, 0x50, 0x7b, // ..@#-a[.....$&P{ - 0x3c, 0x12, 0x1b, 0x03, 0x06, 0x02, 0x95, 0x38, 0x5b, 0x3b, 0x3a, 0x58, 0x49, 0x43, 0x43, 0x3e, // <......8[;:XICC> - 0x14, 0x2e, 0x1c, 0x18, 0xff, 0x00, 0x27, 0x35, 0x6f, 0x65, 0x37, 0x31, 0x23, 0x2e, 0x30, 0x12, // ......'5oe71#.0. - 0x15, 0x17, 0x28, 0x10, 0x0c, 0x08, 0x0e, 0x0d, 0x6c, 0x30, 0x1e, 0x26, 0x25, 0x2c, 0x02, 0x22, // ..(.....l0.&%,." - 0x4a, 0x26, 0x08, 0x39, 0x25, 0x24, 0x15, 0x16, 0x1b, 0x1a, 0x3c, 0x3d, 0x44, 0x54, 0x49, 0x1d, // J&.9%$....<=DTI. - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x63, 0x00, 0x73, 0x00, 0x00, // ...........c.s.. - 0x13, 0x26, 0x2f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x32, 0x37, // .&/.632..3276727 - 0x07, 0x17, 0x15, 0x06, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x16, 0x15, 0x17, 0x13, 0x16, 0x17, // ....#".......... - 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2e, // ...327676767654. - 0x01, 0x2f, 0x01, 0x26, 0x27, 0x26, 0x0f, 0x01, 0x27, 0x37, 0x33, 0x17, 0x16, 0x37, 0x17, 0x16, // ./.&'&..'73..7.. - 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, 0x15, 0x16, 0x13, 0x16, 0x07, // ................ - 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, // .......#"'&'&'&5 - 0x11, 0x34, 0x27, 0x26, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, // .4'&.54&#!"..... - 0x33, 0x21, 0x32, 0x36, 0x30, 0x25, 0x08, 0x03, 0x0d, 0x1b, 0x3c, 0x34, 0x84, 0x22, 0x56, 0x52, // 3!260%....<4."VR - 0x74, 0x1e, 0x38, 0x1e, 0x01, 0x02, 0x3c, 0x40, 0x3c, 0x13, 0x0d, 0x01, 0x01, 0x0e, 0x06, 0x2d, // t.8...<@<......- - 0x23, 0x3d, 0x58, 0x59, 0x68, 0x57, 0x38, 0x2b, 0x30, 0x11, 0x24, 0x11, 0x15, 0x07, 0x0f, 0x06, // #=XYhW8+0.$..... - 0x04, 0x05, 0x13, 0x22, 0x2b, 0x64, 0x0e, 0x02, 0x54, 0xcd, 0x4c, 0x78, 0x12, 0x06, 0x04, 0x2d, // ..."+d..T.Lx...- - 0x27, 0x49, 0x06, 0x0f, 0x03, 0x08, 0x0e, 0x06, 0x15, 0x0f, 0x1a, 0x26, 0x4a, 0x4b, 0x6b, 0x6d, // 'I.........&JKkm - 0x92, 0xa7, 0x75, 0x77, 0x3c, 0x3d, 0x16, 0x10, 0x11, 0x19, 0x05, 0x56, 0x12, 0x0e, 0xfa, 0x40, // ..uw<=.....V...@ - 0x0e, 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x05, 0x21, 0x02, 0x02, 0x58, 0x01, 0x04, 0x07, // .........!..X... - 0x03, 0x04, 0x01, 0x02, 0x0e, 0x40, 0x09, 0x09, 0x19, 0x0e, 0x76, 0x0d, 0x27, 0x06, 0xe5, 0xfe, // .....@....v.'... - 0xe8, 0x7c, 0x4e, 0x3b, 0x21, 0x2f, 0x1c, 0x12, 0x21, 0x24, 0x1c, 0x38, 0x3a, 0x49, 0x9c, 0x4f, // .|N;!/..!$.8:I.O - 0x62, 0x93, 0x56, 0x3b, 0x43, 0x15, 0x23, 0x01, 0x02, 0x03, 0x56, 0x0a, 0x03, 0x0d, 0x02, 0x26, // b.V;C.#...V....& - 0x0d, 0x07, 0x18, 0x0c, 0x01, 0x0b, 0x06, 0x0f, 0x1a, 0x07, 0x28, 0x0b, 0x13, 0xfe, 0x87, 0xc3, // ..........(..... - 0x6d, 0x4c, 0x2e, 0x41, 0x3a, 0x39, 0x20, 0x21, 0x2e, 0x2f, 0x4b, 0x4c, 0x77, 0x50, 0x9d, 0x01, // mL.A:9 !./KLwP.. - 0x4d, 0xbc, 0x19, 0x24, 0xfa, 0x82, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x00, // M..$..@....@.... - 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ - 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0x00, // .?.O._.o........ - 0x25, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // %54&#!".....3!26 - 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 + 0x05, 0x80, 0x00, 0x35, 0x00, 0x3d, 0x00, 0x71, 0x00, 0x00, 0x25, 0x33, 0x11, 0x23, 0x22, 0x2e, // ...5.=.q..%3.#". + 0x02, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x04, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, // .'&'&'&'..#".... + 0x02, 0x15, 0x21, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x21, 0x0e, 0x01, 0x15, 0x14, 0x17, 0x06, // ..!"....3!...... + 0x14, 0x16, 0x17, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x24, 0x34, 0x26, 0x22, 0x06, // .......32>.$4&". + 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x07, 0x06, 0x23, 0x22, 0x26, 0x3f, // ..2....#!"..#"&? + 0x01, 0x26, 0x35, 0x34, 0x37, 0x26, 0x27, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x26, // .&547&'#"&5463!& + 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x16, 0x17, 0x1e, 0x06, 0x33, 0x21, 0x32, 0x16, // 54632.......3!2. + 0x05, 0x60, 0x20, 0x20, 0x23, 0x41, 0x3c, 0x28, 0x1d, 0x08, 0x04, 0x48, 0x28, 0x0e, 0x18, 0x01, // .` #A<(...H(... + 0x13, 0x12, 0x16, 0x15, 0x08, 0x47, 0x59, 0x1e, 0x24, 0x1e, 0xfd, 0xc0, 0x32, 0x4e, 0x4c, 0x34, // .....GY.$...2NL4 + 0x01, 0x4b, 0x0f, 0x14, 0x35, 0x12, 0x23, 0x1e, 0x04, 0x61, 0x57, 0x54, 0xc6, 0xbe, 0x01, 0x68, // .K..5.#..aWT...h + 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0x4b, 0x35, 0xfe, 0xe0, 0x3b, 0xa4, 0xbe, 0x7f, 0x8e, 0xb0, // &4&&4.K5..;..... + 0x01, 0x01, 0x3d, 0x03, 0x21, 0x04, 0xa9, 0x69, 0x97, 0x98, 0x68, 0x01, 0x76, 0x16, 0xa3, 0x7d, // ..=.!..i..h.v..} + 0x26, 0x3f, 0x2f, 0x22, 0x28, 0x0d, 0x23, 0x41, 0x02, 0x18, 0x0e, 0x1b, 0x15, 0x18, 0x17, 0x0a, // &?/"(.#A........ + 0x01, 0x20, 0x35, 0x4b, 0x80, 0x02, 0x80, 0x18, 0x32, 0x2a, 0x21, 0x09, 0x05, 0x51, 0x40, 0x16, // . 5K....2*!..Q@. + 0x2e, 0x03, 0x27, 0x21, 0x26, 0x17, 0x3d, 0x43, 0x2b, 0x53, 0x35, 0x39, 0x14, 0x4d, 0x33, 0x34, // ..'!&.=C+S59.M34 + 0x4c, 0x11, 0x3d, 0x19, 0x45, 0x32, 0x20, 0x4a, 0x49, 0x10, 0x18, 0x20, 0x55, 0x52, 0x40, 0x40, // L.=.E2 JI.. UR@@ + 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x02, 0x80, 0xfd, 0x80, 0x35, 0x4b, 0x3b, 0x45, 0x9b, 0x8c, // &4&&4&....5K;E.. + 0x05, 0x4c, 0x66, 0x16, 0x15, 0x39, 0x3e, 0x98, 0x69, 0x67, 0x98, 0x3c, 0x44, 0x7a, 0x86, 0x23, // .Lf..9>.ig.R.7J.......K.. + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x07, 0x00, 0x35, 0x00, 0x68, // .............5.h + 0x00, 0x00, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x34, 0x23, 0x22, 0x07, 0x2e, // ...4&"...2.4#".. + 0x01, 0x22, 0x07, 0x26, 0x23, 0x22, 0x06, 0x07, 0x11, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, // .".&#"...4&#"... + 0x22, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, // "..#"........... + 0x1d, 0x01, 0x21, 0x35, 0x34, 0x3e, 0x01, 0x37, 0x14, 0x07, 0x06, 0x15, 0x11, 0x14, 0x06, 0x23, // ..!54>.7.......# + 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x2e, 0x05, 0x27, 0x26, 0x27, 0x2e, 0x04, 0x35, 0x34, 0x36, // !"&5.4..'&'..546 + 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x16, 0x17, 0x36, 0x33, 0x32, // 32..4632.....632 + 0x17, 0x36, 0x16, 0x05, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0xa6, 0xa7, 0x1a, 0x1e, 0x10, 0x49, // .6...&4&&4.....I + 0x4a, 0x20, 0x32, 0x45, 0x19, 0x3d, 0x11, 0x4c, 0x34, 0x33, 0x4d, 0x14, 0x39, 0x35, 0x53, 0x2b, // J 2E.=.L43M.95S+ + 0x43, 0x3d, 0x8b, 0x2c, 0x15, 0x40, 0x51, 0x51, 0x19, 0x39, 0x02, 0x80, 0x40, 0x40, 0x80, 0x45, // C=.,.@QQ.9..@@.E + 0x3b, 0x4b, 0x35, 0xfd, 0x80, 0x35, 0x4b, 0x09, 0x13, 0x11, 0x1c, 0x0f, 0x1c, 0x03, 0x4a, 0x37, // ;K5..5K.......J7 + 0x15, 0x52, 0x3e, 0x40, 0x23, 0x86, 0x7a, 0x44, 0x3c, 0x98, 0x67, 0x69, 0x98, 0x3e, 0x39, 0x15, // .R>@#.zD<.gi.>9. + 0x16, 0x65, 0x4d, 0x8b, 0xa1, 0x5a, 0x34, 0x26, 0x26, 0x34, 0x26, 0x03, 0x3c, 0xbd, 0x05, 0x1e, // .eM..Z4&&4&.<... + 0x23, 0x12, 0x35, 0x14, 0x0f, 0x01, 0x4b, 0x34, 0x4c, 0x4e, 0x32, 0xfd, 0xc0, 0x1e, 0x24, 0x1e, // #.5...K4LN2...$. + 0x59, 0x47, 0x18, 0x42, 0x18, 0x0d, 0x28, 0x48, 0x47, 0x1e, 0x45, 0x47, 0x20, 0x20, 0x48, 0xbe, // YG.B..(HG.EG H. + 0xc5, 0x56, 0x85, 0xbd, 0xa4, 0x3b, 0xfe, 0xe0, 0x35, 0x4b, 0x4b, 0x35, 0x01, 0x20, 0x0a, 0x17, // .V...;..5KK5. .. + 0x18, 0x15, 0x1b, 0x0e, 0x18, 0x02, 0x41, 0x23, 0x0d, 0x28, 0x22, 0x2f, 0x3f, 0x26, 0x7d, 0xa3, // ......A#.("/?&}. + 0x16, 0x01, 0x76, 0x68, 0x98, 0x97, 0x69, 0xa9, 0x04, 0x21, 0x03, 0x3c, 0x01, 0xac, 0x00, 0x00, // ..vh..i..!.<.... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x34, 0x00, 0x3c, 0x00, 0x70, // ...........4.<.p + 0x00, 0x00, 0x01, 0x34, 0x2e, 0x01, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x06, 0x07, // ...4..=.!....... + 0x06, 0x07, 0x06, 0x07, 0x0e, 0x04, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x11, 0x14, // .........32>.3.. + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x16, 0x33, 0x32, 0x37, 0x16, 0x32, 0x36, 0x37, 0x16, 0x33, // .3265..327.267.3 + 0x32, 0x36, 0x02, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x14, 0x06, 0x2f, 0x01, 0x06, // 26.4&"...2.../.. + 0x23, 0x22, 0x27, 0x06, 0x07, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x06, 0x23, 0x22, // #"'.....#"&5..#" + 0x26, 0x35, 0x34, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x3e, 0x06, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // &54>.767>.5.463! + 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x16, 0x05, 0x80, 0x40, 0x40, 0xfd, 0x80, 0x18, 0x32, 0x2a, // 2........@@...2* + 0x21, 0x09, 0x05, 0x51, 0x40, 0x16, 0x2e, 0x03, 0x27, 0x21, 0x26, 0x17, 0x3d, 0x43, 0x2b, 0x53, // !..Q@...'!&.=C+S + 0x35, 0x39, 0x14, 0x4d, 0x33, 0x34, 0x4c, 0x2e, 0x39, 0x45, 0x32, 0x20, 0x4a, 0x49, 0x10, 0x18, // 59.M34L.9E2 JI.. + 0x20, 0x55, 0x52, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, 0x26, 0x9b, 0x8c, 0x05, 0x4c, 0x66, // UR.&4&&4.&...Lf + 0x16, 0x15, 0x36, 0x41, 0x98, 0x69, 0x67, 0x98, 0x36, 0x4a, 0x79, 0x87, 0x23, 0x40, 0x3e, 0x52, // ..6A.ig.6Jy.#@>R + 0x15, 0x37, 0x4a, 0x03, 0x1c, 0x0f, 0x1c, 0x11, 0x13, 0x09, 0x4b, 0x35, 0x02, 0x80, 0x35, 0x4b, // .7J.......K5..5K + 0x3b, 0x45, 0x02, 0x40, 0x54, 0xc6, 0xbe, 0x48, 0x20, 0x20, 0x23, 0x41, 0x3c, 0x28, 0x1d, 0x08, // ;E.@T..H #A<(.. + 0x04, 0x48, 0x28, 0x0e, 0x18, 0x01, 0x13, 0x12, 0x16, 0x15, 0x08, 0x47, 0x59, 0x1e, 0x24, 0x1e, // .H(........GY.$. + 0xfd, 0xc0, 0x32, 0x4e, 0x4c, 0x34, 0x01, 0x4b, 0x23, 0x35, 0x12, 0x23, 0x1e, 0x04, 0x61, 0x03, // ..2NL4.K#5.#..a. + 0x3d, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfd, 0x44, 0x8e, 0xb0, 0x01, 0x01, 0x3d, 0x03, 0x1e, 0x07, // =4&&4&.D....=... + 0xa9, 0x69, 0x97, 0x98, 0x68, 0x01, 0x76, 0x16, 0xa3, 0x7d, 0x26, 0x3f, 0x2f, 0x22, 0x28, 0x0d, // .i..h.v..}&?/"(. + 0x23, 0x41, 0x02, 0x18, 0x0e, 0x1b, 0x15, 0x18, 0x17, 0x0a, 0x01, 0x20, 0x35, 0x4b, 0x4b, 0x35, // #A......... 5KK5 + 0xfe, 0xe0, 0x3b, 0xa4, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..;............. + 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x37, 0x36, // .....+...54&#!76 + 0x34, 0x2f, 0x01, 0x26, 0x22, 0x07, 0x01, 0x07, 0x06, 0x14, 0x1f, 0x01, 0x01, 0x16, 0x32, 0x3f, // 4/.&".........2? + 0x01, 0x36, 0x34, 0x2f, 0x01, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // .64/.!26.... $.. + 0x12, 0x24, 0x20, 0x04, 0x05, 0x00, 0x26, 0x1a, 0xfe, 0x0a, 0xbd, 0x13, 0x13, 0x5b, 0x12, 0x36, // .$ ...&......[.6 + 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x12, 0x5b, 0x01, 0x6a, 0x12, 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, // ...[..[.j.6.[... + 0x01, 0xf6, 0x1a, 0x26, 0x01, 0x00, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ...&......^..... + 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x40, 0x80, 0x1a, 0x26, 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x12, // a...a.@..&..4.[. + 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x36, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x12, 0x5b, 0x12, 0x36, 0x12, // ...[.6.[....[.6. + 0xbd, 0x26, 0x01, 0x2b, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // .&.+.^.....a...a + 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, // ................ + 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x2f, 0x01, 0x01, 0x26, 0x22, 0x0f, 0x01, 0x06, 0x14, 0x1f, // .+...4/..&"..... + 0x01, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x07, 0x06, 0x14, 0x1f, 0x01, 0x16, // .!".....3!...... + 0x32, 0x37, 0x01, 0x37, 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // 27.7$... $...$ . + 0x05, 0x05, 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, 0xfe, 0x0a, 0x1a, // ...[...6.[...... + 0x26, 0x26, 0x1a, 0x01, 0xf6, 0xbd, 0x13, 0x13, 0x5b, 0x12, 0x36, 0x12, 0x01, 0x6a, 0x5b, 0x01, // &&......[.6..j[. + 0x0d, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // .....^.....a...a + 0x02, 0x65, 0x36, 0x12, 0x5b, 0x01, 0x6a, 0x12, 0x12, 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, 0x1a, // .e6.[.j..[.6..&. + 0x80, 0x1a, 0x26, 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, 0x5b, 0xfe, 0xfe, 0x5e, // ..&..4.[...j[..^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, // .....a...a...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x27, 0x01, // .........+...4'. + 0x27, 0x26, 0x22, 0x0f, 0x01, 0x01, 0x06, 0x14, 0x1f, 0x01, 0x16, 0x32, 0x3f, 0x01, 0x11, 0x14, // '&"........2?... + 0x16, 0x3b, 0x01, 0x32, 0x36, 0x35, 0x11, 0x17, 0x16, 0x32, 0x3f, 0x01, 0x24, 0x10, 0x02, 0x04, // .;.265...2?.$... + 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x05, 0x04, 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x36, // $...$ ......[.6 + 0x12, 0x5b, 0xfe, 0x96, 0x12, 0x12, 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, 0x1a, 0x80, 0x1a, 0x26, // .[....[.6..&...& + 0xbd, 0x13, 0x34, 0x13, 0x5b, 0x01, 0x0e, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // ..4.[......^.... + 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x66, 0x36, 0x12, 0x01, 0x6a, 0x5b, 0x12, 0x12, 0x5b, // .a...a.f6..j[..[ + 0xfe, 0x96, 0x12, 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, 0xfe, 0x0a, 0x1a, 0x26, 0x26, 0x1a, 0x01, // ...6.[......&&.. + 0xf6, 0xbd, 0x13, 0x13, 0x5b, 0xfd, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // ....[..^.....a.. + 0x01, 0x61, 0xce, 0xce, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, // .a.............. + 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x2f, 0x01, 0x26, 0x22, 0x0f, 0x01, 0x11, 0x34, 0x26, 0x2b, // .+...4/.&"...4&+ + 0x01, 0x22, 0x06, 0x15, 0x11, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x06, 0x14, 0x17, 0x01, 0x17, 0x16, // ."...'&"........ + 0x32, 0x3f, 0x01, 0x01, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // 2?...... $...$ . + 0x05, 0x04, 0x12, 0x5b, 0x12, 0x36, 0x12, 0xbd, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xbd, 0x13, 0x34, // ...[.6..&...&..4 + 0x13, 0x5b, 0x12, 0x12, 0x01, 0x6a, 0x5b, 0x12, 0x36, 0x12, 0x5b, 0x01, 0x6a, 0x01, 0x0e, 0xce, // .[...j[.6.[.j... + 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x64, // ...^.....a...a.d + 0x36, 0x12, 0x5b, 0x12, 0x12, 0xbd, 0x01, 0xf6, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x0a, 0xbd, 0x13, // 6.[......&&..... + 0x13, 0x5b, 0x12, 0x36, 0x12, 0xfe, 0x96, 0x5b, 0x12, 0x12, 0x5b, 0x01, 0x6a, 0x00, 0xff, 0xfe, // .[.6...[..[.j... + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x01, 0xd8, 0x02, 0x18, // ................ + 0x00, 0x00, 0x00, 0x20, 0x04, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x01, 0x0e, // ... ..... $..... + 0x01, 0x07, 0x32, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x17, 0x26, 0x36, 0x37, 0x3e, // ..2>.767676.&67> + 0x01, 0x3f, 0x01, 0x06, 0x26, 0x27, 0x14, 0x07, 0x34, 0x26, 0x06, 0x27, 0x2e, 0x02, 0x27, 0x2e, // .?..&'..4&.'..'. + 0x01, 0x27, 0x2e, 0x03, 0x22, 0x0e, 0x01, 0x23, 0x26, 0x0e, 0x02, 0x07, 0x0e, 0x01, 0x07, 0x36, // .'.."..#&......6 + 0x27, 0x26, 0x07, 0x36, 0x26, 0x27, 0x33, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x07, 0x06, 0x1e, 0x01, // '&.6&'3..'...... + 0x15, 0x16, 0x06, 0x15, 0x14, 0x16, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x16, 0x17, 0x16, 0x0e, 0x02, // ................ + 0x0f, 0x01, 0x06, 0x26, 0x27, 0x26, 0x27, 0x26, 0x07, 0x26, 0x27, 0x26, 0x07, 0x36, 0x27, 0x26, // ...&'&'&.&'&.6'& + 0x07, 0x3e, 0x01, 0x35, 0x36, 0x37, 0x3e, 0x02, 0x23, 0x16, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x1e, // .>.567>.#.7>.76. + 0x01, 0x33, 0x16, 0x36, 0x27, 0x16, 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, 0x17, 0x26, 0x0e, 0x01, // .3.6'.'&'&...&.. + 0x27, 0x2e, 0x01, 0x27, 0x22, 0x07, 0x36, 0x26, 0x27, 0x36, 0x27, 0x2e, 0x01, 0x07, 0x0e, 0x01, // '..'".6&'6'..... + 0x1e, 0x02, 0x17, 0x16, 0x07, 0x0e, 0x02, 0x07, 0x06, 0x16, 0x07, 0x2e, 0x01, 0x27, 0x16, 0x2f, // .............'./ + 0x01, 0x22, 0x06, 0x26, 0x27, 0x26, 0x37, 0x36, 0x17, 0x2e, 0x01, 0x27, 0x06, 0x07, 0x16, 0x37, // .".&'&76...'...7 + 0x3e, 0x01, 0x37, 0x36, 0x17, 0x37, 0x16, 0x17, 0x26, 0x07, 0x06, 0x07, 0x16, 0x07, 0x2e, 0x02, // >.76.7..&....... + 0x27, 0x22, 0x07, 0x06, 0x07, 0x16, 0x17, 0x1e, 0x02, 0x37, 0x16, 0x07, 0x36, 0x17, 0x16, 0x17, // '".......7..6... + 0x16, 0x07, 0x2e, 0x01, 0x07, 0x06, 0x16, 0x37, 0x22, 0x06, 0x14, 0x07, 0x17, 0x06, 0x16, 0x37, // .......7"......7 + 0x06, 0x17, 0x16, 0x17, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, 0x06, 0x16, 0x07, 0x22, 0x06, 0x23, // .............".# + 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x37, 0x36, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x32, 0x1e, 0x02, // .....76'&'..'2.. + 0x07, 0x06, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x23, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x03, // .......#2....... + 0x17, 0x1e, 0x01, 0x17, 0x16, 0x32, 0x36, 0x37, 0x36, 0x16, 0x17, 0x16, 0x37, 0x06, 0x1e, 0x02, // .....2676...7... + 0x17, 0x1e, 0x01, 0x17, 0x36, 0x37, 0x06, 0x16, 0x37, 0x36, 0x35, 0x06, 0x27, 0x34, 0x2e, 0x02, // ....67..765.'4.. + 0x36, 0x33, 0x32, 0x36, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x06, 0x26, 0x27, 0x14, 0x06, 0x15, 0x22, // 6326&'..'.&'..." + 0x27, 0x3e, 0x01, 0x37, 0x3e, 0x03, 0x26, 0x07, 0x06, 0x07, 0x0e, 0x02, 0x07, 0x06, 0x26, 0x27, // '>.7>.&.......&' + 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, 0x27, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x16, 0x36, 0x37, 0x26, // ..54>.'>.7>..67& + 0x27, 0x26, 0x23, 0x16, 0x36, 0x17, 0x16, 0x37, 0x34, 0x26, 0x37, 0x16, 0x37, 0x1e, 0x01, 0x17, // '&#.6..74&7.7... + 0x1e, 0x02, 0x36, 0x37, 0x16, 0x17, 0x16, 0x17, 0x16, 0x3e, 0x01, 0x26, 0x2f, 0x01, 0x34, 0x35, // ..67.....>.&/.45 + 0x27, 0x2e, 0x01, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x27, 0x32, 0x37, 0x22, 0x2e, 0x01, 0x23, // '..67>.76'27"..# + 0x36, 0x27, 0x3e, 0x01, 0x37, 0x16, 0x37, 0x36, 0x27, 0x3e, 0x01, 0x37, 0x16, 0x36, 0x34, 0x37, // 6'>.7.76'>.7.647 + 0x3e, 0x01, 0x3f, 0x01, 0x36, 0x23, 0x16, 0x37, 0x36, 0x27, 0x36, 0x26, 0x27, 0x36, 0x16, 0x37, // >.?.6#.76'6&'6.7 + 0x36, 0x27, 0x26, 0x03, 0x36, 0x37, 0x2e, 0x01, 0x27, 0x26, 0x27, 0x36, 0x2e, 0x02, 0x27, 0x2e, // 6'&.67..'&'6..'. + 0x03, 0x06, 0x23, 0x07, 0x0e, 0x03, 0x17, 0x26, 0x27, 0x2e, 0x02, 0x06, 0x07, 0x0e, 0x01, 0x07, // ..#....&'....... + 0x26, 0x36, 0x27, 0x26, 0x0e, 0x04, 0x07, 0x0e, 0x01, 0x07, 0x2e, 0x01, 0x35, 0x1e, 0x01, 0x17, // &6'&........5... + 0x16, 0x07, 0x06, 0x07, 0x06, 0x17, 0x14, 0x06, 0x17, 0x14, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, // .........../...a + 0xce, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x03, 0x44, 0x02, 0x0f, 0x06, 0x02, // .....^.....D.... + 0x05, 0x05, 0x01, 0x06, 0x10, 0x0e, 0x26, 0x22, 0x11, 0x02, 0x17, 0x03, 0x03, 0x18, 0x03, 0x02, // ......&"........ + 0x0c, 0x0b, 0x01, 0x06, 0x09, 0x0e, 0x02, 0x0a, 0x0a, 0x06, 0x01, 0x02, 0x0f, 0x02, 0x01, 0x03, // ................ + 0x03, 0x05, 0x06, 0x08, 0x07, 0x01, 0x03, 0x06, 0x03, 0x06, 0x02, 0x03, 0x0b, 0x03, 0x0f, 0x10, // ................ + 0x0a, 0x06, 0x09, 0x03, 0x07, 0x05, 0x01, 0x0f, 0x14, 0x03, 0x08, 0x34, 0x07, 0x05, 0x01, 0x07, // ...........4.... + 0x01, 0x0d, 0x1c, 0x04, 0x03, 0x1a, 0x03, 0x05, 0x07, 0x07, 0x02, 0x01, 0x06, 0x05, 0x04, 0x03, // ................ + 0x0b, 0x13, 0x04, 0x07, 0x09, 0x17, 0x06, 0x05, 0x24, 0x19, 0x21, 0x06, 0x06, 0x07, 0x0c, 0x03, // ........$.!..... + 0x02, 0x03, 0x09, 0x01, 0x0c, 0x07, 0x03, 0x23, 0x0f, 0x05, 0x0d, 0x04, 0x09, 0x0a, 0x13, 0x05, // .......#........ + 0x0e, 0x03, 0x09, 0x0c, 0x09, 0x04, 0x04, 0x0c, 0x0f, 0x08, 0x0a, 0x01, 0x11, 0x10, 0x08, 0x01, // ................ + 0x09, 0x05, 0x08, 0x08, 0x03, 0x1c, 0x0a, 0x13, 0x1b, 0x07, 0x1b, 0x06, 0x05, 0x01, 0x0b, 0x0a, // ................ + 0x0d, 0x02, 0x0e, 0x06, 0x02, 0x0d, 0x0a, 0x01, 0x03, 0x06, 0x05, 0x05, 0x08, 0x03, 0x07, 0x20, // ............... + 0x0a, 0x04, 0x18, 0x11, 0x05, 0x04, 0x04, 0x01, 0x03, 0x04, 0x0e, 0x03, 0x2e, 0x30, 0x06, 0x06, // .............0.. + 0x05, 0x10, 0x02, 0x22, 0x08, 0x05, 0x0e, 0x06, 0x07, 0x17, 0x14, 0x02, 0x07, 0x02, 0x04, 0x0f, // ..."............ + 0x0e, 0x08, 0x10, 0x06, 0x92, 0x59, 0x07, 0x05, 0x04, 0x02, 0x03, 0x0a, 0x09, 0x06, 0x01, 0x2b, // .....Y.........+ + 0x13, 0x02, 0x03, 0x0d, 0x01, 0x10, 0x01, 0x03, 0x07, 0x07, 0x07, 0x05, 0x01, 0x02, 0x03, 0x11, // ................ + 0x0d, 0x0d, 0x21, 0x06, 0x02, 0x03, 0x12, 0x0c, 0x04, 0x04, 0x0c, 0x08, 0x02, 0x17, 0x01, 0x01, // ..!............. + 0x03, 0x01, 0x03, 0x19, 0x03, 0x01, 0x02, 0x04, 0x06, 0x02, 0x1a, 0x0f, 0x02, 0x03, 0x05, 0x02, // ................ + 0x02, 0x08, 0x09, 0x06, 0x01, 0x03, 0x0a, 0x0e, 0x14, 0x02, 0x06, 0x10, 0x08, 0x09, 0x16, 0x06, // ................ + 0x05, 0x06, 0x02, 0x02, 0x0d, 0x0c, 0x14, 0x03, 0x05, 0x1b, 0x08, 0x0a, 0x0c, 0x11, 0x05, 0x0f, // ................ + 0x1c, 0x07, 0x24, 0x13, 0x02, 0x05, 0x0b, 0x07, 0x02, 0x05, 0x1a, 0x05, 0x06, 0x01, 0x03, 0x14, // ..$............. + 0x08, 0x0e, 0x1f, 0x12, 0x05, 0x03, 0x02, 0x02, 0x04, 0x09, 0x02, 0x06, 0x01, 0x01, 0x14, 0x02, // ................ + 0x05, 0x16, 0x05, 0x03, 0x0d, 0x02, 0x01, 0x03, 0x02, 0x01, 0x09, 0x06, 0x02, 0x0b, 0x0c, 0x13, // ................ + 0x07, 0x01, 0x04, 0x06, 0x06, 0x07, 0x22, 0x07, 0x0d, 0x13, 0x05, 0x01, 0x06, 0x03, 0x0c, 0x04, // ......"......... + 0x02, 0x05, 0x04, 0x04, 0x01, 0x01, 0x03, 0x03, 0x01, 0x07, 0x2b, 0x06, 0x0f, 0x07, 0x05, 0x02, // ..........+..... + 0x05, 0x18, 0x03, 0x19, 0x05, 0x03, 0x08, 0x03, 0x07, 0x05, 0x0a, 0x02, 0x0b, 0x08, 0x07, 0x08, // ................ + 0x01, 0x01, 0x01, 0x01, 0x01, 0x0f, 0x07, 0x0a, 0x0a, 0x01, 0x0e, 0x11, 0x04, 0x15, 0x06, 0x07, // ................ + 0x04, 0x01, 0x08, 0x07, 0x01, 0x09, 0x07, 0x05, 0x05, 0x05, 0x09, 0x0c, 0x08, 0x07, 0x05, 0x1f, // ................ + 0x03, 0x07, 0x02, 0x03, 0x04, 0x16, 0x02, 0x11, 0x03, 0x03, 0x12, 0x0d, 0x0a, 0x10, 0x03, 0x0c, // ................ + 0x09, 0x03, 0x11, 0x02, 0x0f, 0x16, 0x11, 0xbd, 0xce, 0x91, 0x03, 0x13, 0x03, 0x12, 0x06, 0x01, // ................ + 0x07, 0x09, 0x10, 0x03, 0x02, 0x0a, 0x04, 0x0b, 0x06, 0x07, 0x03, 0x03, 0x05, 0x06, 0x02, 0x01, // ................ + 0x15, 0x0f, 0x05, 0x0c, 0x09, 0x0b, 0x06, 0x05, 0x02, 0x01, 0x07, 0x0e, 0x05, 0x03, 0x0f, 0x09, // ................ + 0x0e, 0x04, 0x0d, 0x02, 0x03, 0x06, 0x02, 0x02, 0x13, 0x02, 0x04, 0x03, 0x07, 0x13, 0x1b, 0x02, // ................ + 0x04, 0x10, 0x10, 0x01, 0x05, 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ..........^..... + 0x61, 0x01, 0xa2, 0x01, 0x61, 0xfe, 0xc5, 0x01, 0x11, 0x01, 0x0a, 0x0c, 0x01, 0x07, 0x08, 0x06, // a...a........... + 0x06, 0x08, 0x13, 0x02, 0x16, 0x01, 0x02, 0x05, 0x05, 0x16, 0x01, 0x10, 0x0d, 0x02, 0x06, 0x07, // ................ + 0x02, 0x04, 0x01, 0x03, 0x09, 0x18, 0x03, 0x05, 0x0c, 0x04, 0x02, 0x07, 0x06, 0x05, 0x0a, 0x0a, // ................ + 0x02, 0x01, 0x01, 0x05, 0x01, 0x02, 0x02, 0x01, 0x05, 0x06, 0x04, 0x01, 0x04, 0x10, 0x06, 0x04, // ................ + 0x09, 0x08, 0x02, 0x05, 0x09, 0x04, 0x06, 0x09, 0x13, 0x03, 0x06, 0x0e, 0x05, 0x07, 0x11, 0x0d, // ................ + 0x08, 0x10, 0x04, 0x08, 0x15, 0x06, 0x02, 0x04, 0x05, 0x03, 0x02, 0x02, 0x05, 0x16, 0x0f, 0x19, // ................ + 0x05, 0x08, 0x09, 0x0d, 0x0d, 0x09, 0x05, 0x01, 0x0e, 0x0f, 0x03, 0x06, 0x17, 0x02, 0x0d, 0x0a, // ................ + 0x01, 0x0f, 0x0c, 0x04, 0x0f, 0x05, 0x18, 0x05, 0x06, 0x01, 0x0a, 0x01, 0x18, 0x08, 0x01, 0x12, // ................ + 0x07, 0x02, 0x04, 0x09, 0x04, 0x04, 0x01, 0x17, 0x0c, 0x0b, 0x01, 0x19, 0x01, 0x0f, 0x08, 0x0e, // ................ + 0x01, 0x0c, 0x0f, 0x04, 0x02, 0x05, 0x07, 0x09, 0x07, 0x04, 0x04, 0x01, 0x0a, 0x04, 0x01, 0x05, // ................ + 0x04, 0x02, 0x04, 0x14, 0x04, 0x05, 0x19, 0x04, 0x09, 0x03, 0x01, 0x04, 0x02, 0x07, 0x08, 0x0c, // ................ + 0x04, 0x02, 0x03, 0x0d, 0x02, 0x0f, 0x1a, 0x01, 0x02, 0x02, 0x09, 0x01, 0x0e, 0x07, 0x05, 0x10, // ................ + 0x09, 0x04, 0x03, 0x06, 0x06, 0x0c, 0x06, 0x03, 0x0e, 0x08, 0x01, 0x01, 0x50, 0x8e, 0x07, 0x01, // ............P... + 0x01, 0x10, 0x06, 0x06, 0x08, 0x0b, 0x01, 0x1c, 0x11, 0x04, 0x0b, 0x07, 0x02, 0x0e, 0x03, 0x05, // ................ + 0x1b, 0x01, 0x20, 0x27, 0x04, 0x01, 0x0c, 0x2d, 0x03, 0x03, 0x28, 0x08, 0x01, 0x02, 0x0b, 0x09, // .. '...-..(..... + 0x06, 0x05, 0x23, 0x06, 0x06, 0x1c, 0x09, 0x02, 0x07, 0x0e, 0x06, 0x03, 0x0e, 0x08, 0x02, 0x14, // ..#............. + 0x2a, 0x19, 0x04, 0x05, 0x15, 0x04, 0x03, 0x04, 0x04, 0x01, 0x07, 0x15, 0x10, 0x16, 0x02, 0x06, // *............... + 0x1b, 0x15, 0x09, 0x08, 0x24, 0x06, 0x07, 0x0d, 0x06, 0x0a, 0x02, 0x02, 0x11, 0x03, 0x04, 0x05, // ....$........... + 0x01, 0x02, 0x22, 0x04, 0x13, 0x08, 0x01, 0x0d, 0x12, 0x0b, 0x03, 0x06, 0x12, 0x06, 0x04, 0x05, // .."............. + 0x08, 0x18, 0x02, 0x03, 0x1d, 0x0f, 0x21, 0x01, 0x09, 0x08, 0x09, 0x06, 0x07, 0x12, 0x04, 0x08, // ......!......... + 0x18, 0x03, 0x09, 0x02, 0x08, 0x01, 0x09, 0x02, 0x01, 0x03, 0x1d, 0x08, 0x04, 0x10, 0x0d, 0x0c, // ................ + 0x07, 0x01, 0x01, 0x13, 0x03, 0x0f, 0x08, 0x03, 0x03, 0x02, 0x04, 0x08, 0x2a, 0x10, 0x0a, 0x21, // ............*..! + 0x11, 0x10, 0x02, 0x0f, 0x03, 0x01, 0x01, 0x01, 0x04, 0x04, 0x01, 0x02, 0x03, 0x03, 0x09, 0x06, // ................ + 0x0b, 0x0d, 0x01, 0x11, 0x05, 0x1b, 0x12, 0x03, 0x04, 0x03, 0x02, 0x07, 0x02, 0x03, 0x05, 0x0e, // ................ + 0x0a, 0x28, 0x04, 0x03, 0x02, 0x11, 0x0b, 0x07, 0x08, 0x09, 0x09, 0x08, 0x03, 0x12, 0x13, 0x09, // .(.............. + 0x01, 0x05, 0x08, 0x04, 0x13, 0x10, 0x09, 0x06, 0x04, 0x05, 0x0b, 0x03, 0x10, 0x02, 0x0c, 0x0a, // ................ + 0x08, 0x08, 0x07, 0x07, 0x06, 0x02, 0x08, 0x10, 0x04, 0x05, 0x08, 0x01, 0x0b, 0x04, 0x02, 0x0d, // ................ + 0x0b, 0x09, 0x06, 0x07, 0x02, 0x01, 0x01, 0x02, 0x0a, 0x06, 0x05, 0xfc, 0x82, 0x24, 0x99, 0x03, // .............$.. + 0x03, 0x02, 0x07, 0x01, 0x07, 0x0c, 0x06, 0x0a, 0x02, 0x02, 0x08, 0x03, 0x06, 0x02, 0x01, 0x01, // ................ + 0x03, 0x03, 0x03, 0x01, 0x11, 0x05, 0x01, 0x09, 0x05, 0x02, 0x06, 0x05, 0x14, 0x03, 0x05, 0x19, // ................ + 0x06, 0x06, 0x03, 0x06, 0x0b, 0x02, 0x09, 0x03, 0x04, 0x10, 0x03, 0x04, 0x05, 0x03, 0x0a, 0x32, // ...............2 + 0x0d, 0x1f, 0x11, 0x19, 0x0f, 0x16, 0x04, 0x07, 0x1b, 0x08, 0x06, 0x00, 0x00, 0x03, 0x00, 0x15, // ................ + 0xff, 0x15, 0x06, 0x7e, 0x05, 0x80, 0x00, 0x07, 0x00, 0x15, 0x00, 0x2f, 0x00, 0x00, 0x24, 0x34, // ...~......./..$4 + 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x09, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, // &"...2...#"/.&54 + 0x37, 0x01, 0x1e, 0x01, 0x01, 0x14, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x00, 0x10, 0x00, 0x33, 0x32, // 7........#"...32 + 0x16, 0x17, 0x16, 0x14, 0x07, 0x05, 0x15, 0x17, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x01, 0x80, 0x26, // ........>.32...& + 0x34, 0x26, 0x26, 0x34, 0x02, 0xaa, 0xfd, 0x56, 0x25, 0x35, 0x34, 0x27, 0x6a, 0x26, 0x26, 0x02, // 4&&4...V%54'j&&. + 0xa9, 0x27, 0x97, 0x02, 0xdc, 0x17, 0x2f, 0xeb, 0x8d, 0xb9, 0xfe, 0xf9, 0x01, 0x07, 0xb9, 0x3a, // .'..../........: + 0x7f, 0x2c, 0x10, 0x10, 0xfe, 0xdb, 0xc1, 0x05, 0x94, 0x7b, 0x09, 0x0f, 0x11, 0x26, 0x34, 0x26, // .,.......{...&4& + 0x26, 0x34, 0x26, 0x01, 0xe4, 0xfd, 0x56, 0x25, 0x25, 0x6c, 0x24, 0x36, 0x35, 0x26, 0x02, 0xa9, // &4&...V%%l$65&.. + 0x62, 0x97, 0x01, 0x8c, 0x27, 0x43, 0x86, 0xa7, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x21, 0x1e, // b...'C.....r..!. + 0x0b, 0x22, 0x0b, 0xa9, 0xe0, 0x6b, 0x03, 0x5b, 0x47, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, // ."...k.[G....... + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x2b, // ...............+ + 0x00, 0x3b, 0x00, 0x00, 0x25, 0x21, 0x35, 0x21, 0x01, 0x21, 0x35, 0x21, 0x01, 0x21, 0x35, 0x21, // .;..%!5!.!5!.!5! + 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. + 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. + 0x19, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. + 0x04, 0x00, 0x02, 0x80, 0xfd, 0x80, 0xfe, 0x80, 0x04, 0x00, 0xfc, 0x00, 0x02, 0x80, 0x01, 0x80, // ................ + 0xfe, 0x80, 0x02, 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, // ....&....&&....& + 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0x80, // &....&&....&&... + 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0x80, 0x80, 0x01, 0x80, 0x80, 0x01, 0x80, 0x80, // .&&....&........ + 0xfc, 0x40, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x01, 0xe6, 0xff, // .@...&&....&&... + 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x01, 0xe6, 0xff, 0x00, 0x1a, 0x26, // ..&&....&&.....& + 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x01, 0x00, 0x05, 0xff, 0x80, 0x05, 0x7b, // &....&&........{ + 0x05, 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x16, 0x07, 0x01, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, // ..............#" + 0x27, 0x01, 0x26, 0x35, 0x11, 0x01, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, 0x05, 0x7b, 0x11, 0x1f, // '.&5..&763!2.{.. + 0xfe, 0x13, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xff, 0x00, 0x13, 0xfe, 0x13, 0x1f, 0x11, 0x11, 0x2a, // ..'............* + 0x05, 0x00, 0x2a, 0x04, 0xd9, 0x29, 0x1d, 0xfe, 0x13, 0xfd, 0x1a, 0x2a, 0x11, 0x05, 0x13, 0x01, // ..*..).....*.... + 0x00, 0x13, 0x1a, 0x01, 0xe6, 0x01, 0xed, 0x1d, 0x29, 0x27, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ........)'...... + 0x00, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x2f, 0x00, 0x00, // ............./.. + 0x01, 0x21, 0x35, 0x21, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x15, // .!5!....#!"&5.!. + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x23, 0x15, 0x21, 0x35, 0x01, 0x11, 0x21, 0x11, // ..3!26=.#.!5..!. + 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, // 463!5463!2...!2. + 0x02, 0x80, 0x02, 0x00, 0xfe, 0x00, 0x04, 0x80, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x02, 0xa0, // ........^B.@B^.. + 0x26, 0x1a, 0x01, 0x40, 0x1a, 0x26, 0x60, 0xff, 0x00, 0x04, 0x00, 0xf9, 0x00, 0x5e, 0x42, 0x01, // &..@.&`......^B. + 0x60, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0x01, 0x60, 0x42, 0x5e, 0x05, 0x00, 0x80, 0xfd, 0x00, // `8(.@(8.`B^..... + 0xfe, 0x20, 0x42, 0x5e, 0x5e, 0x42, 0x01, 0xe0, 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xa0, 0x80, 0x80, // . B^^B....&&.... + 0x01, 0xe0, 0xfe, 0x80, 0x01, 0x80, 0x42, 0x5e, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xa0, 0x5e, 0x00, // ......B^.(88(.^. + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x47, 0x00, 0x00, 0x09, 0x02, // ...........G.... + 0x37, 0x36, 0x17, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x27, 0x26, 0x3f, 0x01, 0x09, // 76......#!"'&?.. + 0x01, 0x17, 0x16, 0x07, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, 0x1f, 0x01, // .....#!"&5.476.. + 0x09, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, // ....#"'&5.463!2. + 0x16, 0x0f, 0x01, 0x09, 0x01, 0x27, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, // .....'&763!2.... + 0x07, 0x06, 0x23, 0x22, 0x27, 0x05, 0x03, 0xfe, 0x9d, 0x01, 0x63, 0x90, 0x1d, 0x29, 0x27, 0x26, // ..#"'.....c..)'& + 0x1a, 0xfe, 0x40, 0x2a, 0x11, 0x11, 0x1f, 0x90, 0xfe, 0x9d, 0xfe, 0x9d, 0x90, 0x1f, 0x11, 0x11, // ..@*............ + 0x2a, 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x90, 0x01, 0x63, 0xfe, 0x9d, 0x90, 0x13, 0x1a, // *.@.&('...c..... + 0x0c, 0x0c, 0x28, 0x26, 0x1a, 0x01, 0xc0, 0x2a, 0x11, 0x11, 0x1f, 0x90, 0x01, 0x63, 0x01, 0x63, // ..(&...*.....c.c + 0x90, 0x1f, 0x11, 0x11, 0x2a, 0x01, 0xc0, 0x1a, 0x26, 0x27, 0x0d, 0x0c, 0x1a, 0x13, 0x03, 0xe3, // ....*...&'...... + 0xfe, 0x9d, 0xfe, 0x9d, 0x90, 0x1f, 0x11, 0x11, 0x2a, 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, // ........*.@.&('. + 0x90, 0x01, 0x63, 0xfe, 0x9d, 0x90, 0x1e, 0x27, 0x28, 0x26, 0x1a, 0x01, 0xc0, 0x2a, 0x11, 0x11, // ..c....'(&...*.. + 0x1f, 0x90, 0x01, 0x63, 0x01, 0x63, 0x90, 0x13, 0x05, 0x11, 0x2a, 0x01, 0xc0, 0x1a, 0x26, 0x28, // ...c.c....*...&( + 0x27, 0x1e, 0x90, 0xfe, 0x9d, 0x01, 0x63, 0x90, 0x1e, 0x27, 0x28, 0x26, 0x1a, 0xfe, 0x40, 0x2a, // '.....c..'(&..@* + 0x11, 0x05, 0x13, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x07, 0x80, 0x06, 0x00, 0x00, 0x11, // ................ + 0x00, 0x31, 0x00, 0x39, 0x00, 0x41, 0x00, 0x53, 0x00, 0x5b, 0x00, 0x00, 0x01, 0x06, 0x07, 0x23, // .1.9.A.S.[.....# + 0x22, 0x26, 0x35, 0x10, 0x33, 0x32, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x06, 0x15, 0x14, 0x01, 0x14, // "&5.32..327..... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x05, 0x33, 0x32, 0x1e, 0x02, 0x32, 0x3e, 0x02, // .#!"&54>.32..2>. + 0x33, 0x32, 0x1e, 0x05, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x10, 0x06, 0x20, // 32....."&462... + 0x26, 0x10, 0x36, 0x20, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x26, 0x27, 0x36, 0x35, 0x34, 0x27, 0x16, // &.6 ...+.&'654'. + 0x33, 0x32, 0x3e, 0x01, 0x33, 0x32, 0x02, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x02, 0x51, // 32>.32..."&462.Q + 0xa2, 0x67, 0x86, 0x52, 0x70, 0x7c, 0x06, 0x4b, 0x78, 0x3b, 0x43, 0x42, 0x05, 0x04, 0x80, 0x92, // .g.Rp|.Kx;CB.... + 0x79, 0xfc, 0x96, 0x79, 0x92, 0x07, 0x15, 0x20, 0x36, 0x46, 0x65, 0x3d, 0x0a, 0x42, 0x50, 0x86, // y..y... 6Fe=.BP. + 0x88, 0x86, 0x50, 0x42, 0x0a, 0x3d, 0x65, 0x46, 0x36, 0x20, 0x15, 0x07, 0xfc, 0x00, 0x96, 0xd4, // ..PB.=eF6 ...... + 0x96, 0x96, 0xd4, 0x03, 0x56, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x03, 0x21, 0x70, 0x52, // ....V......>.!pR + 0x86, 0x67, 0xa2, 0x51, 0x05, 0x42, 0x43, 0x3b, 0x78, 0x4b, 0x06, 0x7c, 0x80, 0x96, 0xd4, 0x96, // .g.Q.BC;xK.|.... + 0x96, 0xd4, 0x02, 0x80, 0x05, 0x7b, 0x51, 0x4e, 0x01, 0x61, 0x2a, 0x2b, 0x17, 0x25, 0x1d, 0x8b, // .....{QN.a*+.%.. + 0xfd, 0x0e, 0x78, 0x8b, 0x8b, 0x78, 0x35, 0x65, 0x75, 0x64, 0x5f, 0x43, 0x28, 0x2b, 0x35, 0x2b, // ..x..x5eud_C(+5+ + 0x2b, 0x35, 0x2b, 0x28, 0x43, 0x5f, 0x64, 0x75, 0x65, 0x05, 0x32, 0xd4, 0x96, 0x96, 0xd4, 0x96, // +5+(C_due.2..... + 0xfe, 0x1f, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0xfd, 0x9f, 0x4e, 0x51, 0x7b, 0x05, 0x75, // .......>...NQ{.u + 0x8b, 0x1d, 0x25, 0x17, 0x2b, 0x2a, 0x01, 0x6a, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x00, 0x00, 0x00, // ..%.+*.j........ + 0x00, 0x03, 0x00, 0x10, 0xff, 0x90, 0x06, 0x70, 0x05, 0xf0, 0x00, 0x21, 0x00, 0x43, 0x00, 0x69, // .......p...!.C.i + 0x00, 0x00, 0x01, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x07, 0x1e, 0x04, 0x15, 0x14, 0x06, 0x23, // ...4/.&#"......# + 0x22, 0x2e, 0x03, 0x27, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x36, 0x01, // "..'......32?.6. + 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x16, 0x33, 0x32, // 4/.&#"........32 + 0x37, 0x2e, 0x04, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x36, 0x00, 0x14, 0x0f, 0x01, // 7..54632...6.... + 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x27, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, // .#"/.&547'.#"/.& + 0x34, 0x3f, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x15, 0x14, 0x07, 0x17, 0x36, 0x33, 0x32, // 4?.632.......632 + 0x1f, 0x01, 0x05, 0xb0, 0x1c, 0xd0, 0x1c, 0x28, 0x2a, 0x1e, 0x03, 0x20, 0x0b, 0x13, 0x07, 0x38, // .......(*.. ...8 + 0x28, 0x0f, 0x19, 0x1a, 0x0c, 0x1f, 0x03, 0x21, 0x1c, 0xce, 0x1b, 0x29, 0x28, 0x1c, 0x93, 0x1c, // (......!...)(... + 0xfd, 0x41, 0x1c, 0xce, 0x1c, 0x28, 0x27, 0x1d, 0x93, 0x1c, 0x1c, 0xd0, 0x1b, 0x29, 0x2a, 0x1e, // .A...('......)*. + 0x03, 0x20, 0x0b, 0x13, 0x07, 0x38, 0x28, 0x0f, 0x19, 0x1a, 0x0c, 0x1f, 0x03, 0x21, 0x03, 0x7f, // . ...8(......!.. + 0x55, 0x93, 0x53, 0x78, 0x79, 0x53, 0xce, 0x53, 0x58, 0x58, 0x56, 0x7a, 0x78, 0x54, 0xd0, 0x54, // U.SxyS.SXXVzxT.T + 0x55, 0x93, 0x53, 0x78, 0x79, 0x53, 0xce, 0x53, 0x58, 0x58, 0x56, 0x7a, 0x78, 0x54, 0xd0, 0x01, // U.SxyS.SXXVzxT.. + 0x40, 0x28, 0x1c, 0xd0, 0x1c, 0x20, 0x03, 0x1f, 0x0c, 0x1a, 0x19, 0x0f, 0x28, 0x38, 0x07, 0x13, // @(... ......(8.. + 0x0b, 0x20, 0x03, 0x1f, 0x2a, 0x28, 0x1c, 0xcf, 0x1b, 0x1a, 0x92, 0x1c, 0x02, 0xe8, 0x28, 0x1c, // . ..*(........(. + 0xcf, 0x1c, 0x1b, 0x92, 0x1c, 0x27, 0x28, 0x1c, 0xd0, 0x1b, 0x1f, 0x03, 0x1f, 0x0c, 0x1a, 0x19, // .....'(......... + 0x0f, 0x28, 0x38, 0x07, 0x13, 0x0b, 0x20, 0x03, 0x1f, 0xfd, 0xe1, 0xf0, 0x53, 0x92, 0x53, 0x55, // .(8... .....S.SU + 0xcf, 0x53, 0x78, 0x7b, 0x56, 0x58, 0x58, 0x54, 0xd0, 0x54, 0xf0, 0x53, 0x92, 0x53, 0x55, 0xcf, // .Sx{VXXT.T.S.SU. + 0x53, 0x78, 0x7b, 0x56, 0x58, 0x58, 0x54, 0xd0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, // Sx{VXXT......... + 0x05, 0x80, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x00, 0x35, 0x34, 0x36, // .........#!".546 + 0x37, 0x26, 0x35, 0x34, 0x00, 0x33, 0x32, 0x04, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, // 7&54.32..632.... + 0x1e, 0x01, 0x07, 0x80, 0xe1, 0x9f, 0xfb, 0xc0, 0xb9, 0xfe, 0xf9, 0x8e, 0x74, 0x02, 0x01, 0x2c, // ............t.., + 0xd4, 0x9e, 0x01, 0x01, 0x3b, 0x46, 0x60, 0x6a, 0x96, 0x29, 0x81, 0xa8, 0x01, 0x80, 0x9f, 0xe1, // ....;F`j.)...... + 0x01, 0x07, 0xb9, 0x84, 0xdb, 0x36, 0x1c, 0x0f, 0xd4, 0x01, 0x2c, 0xb0, 0x8e, 0x3e, 0x96, 0x6a, // .....6....,..>.j + 0x4b, 0x3f, 0x1e, 0xd1, 0x00, 0x02, 0x00, 0x73, 0xff, 0x80, 0x06, 0x0d, 0x05, 0x80, 0x00, 0x17, // K?.....s........ + 0x00, 0x21, 0x00, 0x00, 0x25, 0x16, 0x06, 0x23, 0x21, 0x22, 0x26, 0x37, 0x01, 0x11, 0x23, 0x22, // .!..%..#!"&7..#" + 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x05, 0x01, 0x21, 0x01, // &463!2...+....!. + 0x27, 0x35, 0x11, 0x23, 0x11, 0x15, 0x05, 0xf7, 0x38, 0x45, 0x6a, 0xfb, 0x80, 0x6a, 0x45, 0x38, // '5.#....8Ej..jE8 + 0x01, 0xf7, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x40, 0xfe, 0xec, // ..@.&&....&&.@.. + 0xfe, 0xf0, 0x02, 0xc8, 0xfe, 0xf0, 0x14, 0x80, 0x58, 0x59, 0x7f, 0x7f, 0x59, 0x03, 0x19, 0x01, // ........XY..Y... + 0x8f, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfe, 0x71, 0x44, 0xfe, 0x53, 0x01, 0xad, 0x1f, 0x25, // .&4&&4&.qD.S...% + 0x01, 0x8f, 0xfe, 0x71, 0x25, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0xff, 0x80, 0x07, 0x00, // ...q%........... + 0x05, 0x00, 0x00, 0x07, 0x00, 0x4e, 0x00, 0x5c, 0x00, 0x6a, 0x00, 0x78, 0x00, 0x86, 0x00, 0x8c, // .....N...j.x.... + 0x00, 0x00, 0x00, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x05, 0x01, 0x16, 0x07, 0x06, 0x0f, // ...2..."&4...... + 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x07, 0x06, 0x07, 0x16, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x23, // ..#"'..........# + 0x22, 0x27, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x33, 0x32, 0x17, 0x36, 0x3f, 0x01, 0x27, 0x26, // "'&7>.7632.6?.'& + 0x27, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x1e, // '.#"'..'&67632.. + 0x01, 0x17, 0x16, 0x07, 0x16, 0x1f, 0x01, 0x01, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x17, 0x16, // ........632..... + 0x07, 0x05, 0x36, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x16, 0x17, 0x16, 0x33, 0x32, 0x03, // ..6&'&#".....32. + 0x3e, 0x01, 0x27, 0x26, 0x23, 0x22, 0x07, 0x0e, 0x01, 0x17, 0x16, 0x33, 0x32, 0x01, 0x17, 0x35, // >.'&#".....32..5 + 0x34, 0x3f, 0x01, 0x27, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x1f, 0x01, 0x01, 0x27, 0x01, // 4?.'..........'. + 0x15, 0x07, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x1f, 0x01, 0x01, 0x37, 0x01, 0x07, 0x06, 0x07, 0x03, // ..........7..... + 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x6c, 0x01, 0xfb, 0x1c, 0x03, 0x05, 0x1e, 0x80, 0x0d, // .4&&4&.l........ + 0x10, 0x11, 0x0e, 0xfd, 0x4e, 0x6e, 0x08, 0x04, 0x0e, 0x04, 0x07, 0x62, 0x53, 0x84, 0x91, 0x88, // ....Nn.....bS... + 0x56, 0x5a, 0x0b, 0x07, 0x62, 0x52, 0x84, 0x92, 0x53, 0x44, 0x09, 0x0d, 0x7a, 0x7a, 0x0d, 0x09, // VZ..bR..SD..zz.. + 0x44, 0x53, 0x92, 0x84, 0x52, 0x62, 0x07, 0x05, 0x29, 0x2b, 0x55, 0x89, 0x91, 0x84, 0x53, 0x62, // DS..Rb..)+U...Sb + 0x07, 0x04, 0x0e, 0x04, 0x08, 0x6e, 0x02, 0xb2, 0x0e, 0x11, 0x10, 0x0d, 0x80, 0x1e, 0x05, 0x03, // .....n.......... + 0x1c, 0xfb, 0x5c, 0x2e, 0x32, 0x51, 0x5c, 0x64, 0x4a, 0x27, 0x2e, 0x32, 0x51, 0x5c, 0x64, 0x4a, // ....2Q.dJ'.2Q.dJ + 0x2e, 0x51, 0x32, 0x2e, 0x27, 0x4a, 0x64, 0x5c, 0x51, 0x32, 0x2e, 0x27, 0x4a, 0x64, 0x01, 0x0e, // .Q2.'Jd.Q2.'Jd.. + 0x60, 0x21, 0x0e, 0x4f, 0x1a, 0x03, 0x0e, 0x05, 0x02, 0x04, 0x01, 0xd7, 0x60, 0x02, 0xe0, 0x80, // `!.O........`... + 0xfd, 0x00, 0xa0, 0x09, 0x02, 0x05, 0x04, 0x0e, 0x04, 0x1a, 0x03, 0x60, 0x80, 0xfd, 0xf8, 0xb1, // ...........`.... + 0x02, 0x0b, 0x02, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x1a, 0xfe, 0x72, 0x14, 0x24, 0x23, 0x10, // ....&4&&4..r.$#. + 0x40, 0x07, 0x08, 0x01, 0x83, 0x42, 0x04, 0x01, 0x31, 0x30, 0x4d, 0x8d, 0x35, 0x54, 0x4e, 0x54, // @....B..10M.5TNT + 0x7b, 0x4c, 0x8e, 0x35, 0x54, 0x1f, 0x0d, 0x09, 0x49, 0x49, 0x09, 0x0d, 0x1f, 0x54, 0x35, 0x8e, // {L.5T...II...T5. + 0x4c, 0x3b, 0x6c, 0x27, 0x4f, 0x54, 0x34, 0x8e, 0x4d, 0x30, 0x31, 0x01, 0x04, 0x42, 0x01, 0x83, // L;l'OT4.M01..B.. + 0x08, 0x07, 0x40, 0x10, 0x23, 0x24, 0x14, 0x8a, 0x2a, 0x84, 0x33, 0x3b, 0x24, 0x2a, 0x84, 0x33, // ..@.#$..*.3;$*.3 + 0x3b, 0xfd, 0x3b, 0x33, 0x84, 0x2a, 0x24, 0x3b, 0x33, 0x84, 0x2a, 0x24, 0x02, 0xa0, 0x3a, 0x0b, // ;.;3.*$;3.*$..:. + 0x24, 0x14, 0x08, 0x2f, 0x1a, 0x03, 0x10, 0x04, 0x02, 0x03, 0x01, 0xe9, 0x20, 0x02, 0x40, 0x40, // $../........ .@@ + 0xfe, 0x51, 0x71, 0x60, 0x08, 0x02, 0x04, 0x04, 0x10, 0x04, 0x1a, 0xfe, 0xc0, 0x40, 0x01, 0x98, // .Qq`.........@.. + 0x8a, 0x03, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x1f, // ................ + 0x00, 0x22, 0x00, 0x25, 0x00, 0x33, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, // .".%.3.<...2.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x37, 0x01, // .#!"&5.!"&5.467. + 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x36, 0x33, 0x07, 0x01, 0x21, 0x09, 0x01, 0x21, // >.3!2...63..!..! + 0x13, 0x01, 0x11, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x21, 0x11, 0x34, 0x36, 0x01, 0x11, // ...!...#!.!.46.. + 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x06, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xfc, 0x40, 0x28, // !...#!...(88(.@( + 0x38, 0xfd, 0xe0, 0x28, 0x38, 0x28, 0x1c, 0x01, 0x98, 0x1c, 0x60, 0x28, 0x01, 0xa0, 0x28, 0x38, // 8..(8(....`(..(8 + 0x44, 0x3c, 0x80, 0xfe, 0xd5, 0x01, 0x2b, 0xfd, 0x80, 0xfe, 0xd5, 0x01, 0x2b, 0xc4, 0x01, 0x3c, // D<....+.....+..< + 0xfe, 0x80, 0x38, 0x28, 0xfe, 0x60, 0x02, 0x00, 0x28, 0x03, 0xd8, 0xfe, 0x80, 0x38, 0x28, 0xfe, // ..8(.`..(....8(. + 0x60, 0x04, 0x80, 0x38, 0x28, 0xfb, 0x40, 0x28, 0x38, 0x38, 0x28, 0x01, 0x20, 0x38, 0x28, 0x02, // `..8(.@(88(. 8(. + 0xa0, 0x28, 0x60, 0x1c, 0x01, 0x98, 0x1c, 0x28, 0x38, 0x28, 0xfe, 0xb8, 0x28, 0xd5, 0xfe, 0xd5, // .(`....(8(..(... + 0x02, 0xab, 0xfe, 0xd5, 0xfe, 0xa4, 0x01, 0x3c, 0x01, 0xa0, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x80, // .......<...`(8.. + 0x01, 0x00, 0x28, 0x60, 0xfc, 0xf8, 0x04, 0x80, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x80, 0x00, 0x00, // ..(`.....`(8.... + 0x00, 0x01, 0x00, 0x04, 0xff, 0x84, 0x05, 0x7c, 0x05, 0x7c, 0x00, 0x3f, 0x00, 0x00, 0x25, 0x14, // .......|.|.?..%. + 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x15, 0x14, // .#"'.&54632..... + 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x01, 0x16, 0x33, 0x32, // .#"'.&#"......32 + 0x36, 0x35, 0x34, 0x27, 0x01, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x01, 0x16, 0x15, 0x14, // 654'.&#"........ + 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x05, 0x7c, // .#"'.&54632....| + 0x9e, 0x75, 0x87, 0x64, 0xfc, 0xf7, 0x71, 0xdc, 0x9f, 0x9e, 0x73, 0x02, 0x5d, 0x0a, 0x3d, 0x10, // .u.d..q...s.].=. + 0x0d, 0x0a, 0xfd, 0xa2, 0x4f, 0x66, 0x6a, 0x92, 0x4c, 0x03, 0x08, 0x3f, 0x52, 0x40, 0x54, 0x3f, // ....Ofj.L..?R@T? + 0xfd, 0xbb, 0x1a, 0x22, 0x1d, 0x26, 0x19, 0x01, 0x9a, 0x0a, 0x3e, 0x10, 0x0c, 0x0a, 0xfe, 0x66, // ...".&....>....f + 0x3f, 0x72, 0x52, 0x58, 0x3d, 0x02, 0x45, 0x64, 0x97, 0x75, 0x9e, 0x64, 0x03, 0x08, 0x73, 0x9c, // ?rRX=.Ed.u.d..s. + 0x9f, 0xde, 0x71, 0xfd, 0xa2, 0x0a, 0x0c, 0x10, 0x3d, 0x0a, 0x02, 0x5f, 0x4d, 0x96, 0x6a, 0x69, // ..q.....=.._M.ji + 0x4c, 0xfc, 0xf7, 0x3f, 0x54, 0x40, 0x52, 0x3f, 0x02, 0x45, 0x18, 0x26, 0x1d, 0x20, 0x1b, 0xfe, // L..?T@R?.E.&. .. + 0x66, 0x0a, 0x0c, 0x10, 0x3e, 0x0a, 0x01, 0x9a, 0x3d, 0x58, 0x52, 0x72, 0x3f, 0xfd, 0xbb, 0x62, // f...>...=XRr?..b + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x21, 0x00, 0x31, // .............!.1 + 0x00, 0x45, 0x00, 0x00, 0x29, 0x01, 0x11, 0x21, 0x01, 0x33, 0x11, 0x34, 0x26, 0x27, 0x01, 0x2e, // .E..)..!.3.4&'.. + 0x01, 0x23, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x33, 0x11, 0x34, // .#...#!"&5.#.3.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x01, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, // 63!2....4&+."... + 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ..;.26....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x1e, 0x01, 0x01, 0x80, 0x03, 0x00, 0xfd, 0x00, // 463!2........... + 0x03, 0x80, 0x80, 0x14, 0x0a, 0xfe, 0xe7, 0x0a, 0x30, 0x0f, 0x38, 0x28, 0xfd, 0xc0, 0x28, 0x38, // ........0.8(..(8 + 0x80, 0x80, 0x38, 0x28, 0x03, 0x40, 0x28, 0x38, 0xfe, 0x80, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, // ..8(.@(8........ + 0x0d, 0xc0, 0x0d, 0x13, 0x02, 0x80, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0xa0, // ......8(..(88(.. + 0x28, 0x60, 0x1c, 0x01, 0x18, 0x1c, 0x28, 0x01, 0x80, 0xfe, 0x80, 0x03, 0x80, 0x0e, 0x31, 0x0a, // (`....(.......1. + 0x01, 0x19, 0x0a, 0x14, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0xfb, 0x00, 0x01, 0xa0, // .....`(88(...... + 0x28, 0x38, 0x38, 0x28, 0x02, 0x00, 0x01, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xc0, 0x0d, 0x13, // (88(...@........ + 0x13, 0x13, 0xfc, 0x60, 0x28, 0x38, 0x38, 0x28, 0x05, 0x40, 0x28, 0x38, 0x28, 0x1c, 0xfe, 0xe8, // ...`(88(.@(8(... + 0x1c, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // .`.............. + 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // ......#!"&5.463! + 0x32, 0x16, 0x06, 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // 2....w.@w..w..w. + 0x04, 0x60, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, // .`.@w..w..w..... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // ..%...#!"&=.463! + 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // 2.....#!"&=.463! + 0x32, 0x16, 0x06, 0x00, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, // 2...&....&&....& + 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0x80, // &....&&....&&... + 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xc0, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, // .&&....&...&&... + 0x26, 0x26, 0x01, 0xe6, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x01, 0xe6, 0x80, // &&....&&...&&... + 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x06, 0x00, 0x00, 0xff, 0xc0, 0x07, 0x00, // .&&...&&........ + 0x05, 0x40, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x37, 0x00, 0x47, 0x00, 0x00, // .@.......'.7.G.. + 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x12, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, // $.."&462..."&462 + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&=.463!2. + 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ..."&462....#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // =.463!2.....#!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x70, // =.463!2...p.pp.p + 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x05, 0xf0, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, // p.pp......@..... + 0xc0, 0x0d, 0x13, 0xfa, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x05, 0xf0, 0x13, 0x0d, 0xfb, 0x40, // .....p.pp......@ + 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, // ...........@.... + 0x04, 0xc0, 0x0d, 0x13, 0xd0, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0x01, 0x90, 0xa0, 0x70, 0x70, 0xa0, // ......pp.p...pp. + 0x70, 0xfd, 0xa0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x03, 0xe3, 0xa0, 0x70, // p..............p + 0x70, 0xa0, 0x70, 0xfd, 0xa0, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x01, 0xf3, // p.p............. + 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0f, // ................ + 0xff, 0x00, 0x07, 0x00, 0x05, 0xf7, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x4c, 0x00, 0x5c, 0x00, 0x6c, // .........<.L...l + 0x00, 0x7c, 0x00, 0x00, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, // .|.....#"'7.3265 + 0x34, 0x07, 0x27, 0x3e, 0x02, 0x37, 0x35, 0x22, 0x06, 0x23, 0x15, 0x23, 0x35, 0x21, 0x15, 0x07, // 4.'>.75".#.#5!.. + 0x1e, 0x01, 0x13, 0x15, 0x21, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, // ....!&54>.54&#". + 0x27, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x33, 0x35, 0x01, 0x15, 0x14, // '>.32......35... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x21, // .#!"&=.463!2...! + 0x35, 0x33, 0x34, 0x36, 0x3d, 0x01, 0x23, 0x06, 0x07, 0x27, 0x37, 0x33, 0x11, 0x01, 0x15, 0x14, // 5346=.#..'73.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x11, 0x15, 0x14, // .#!"&=.463!2.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x7d, 0x6d, // .#!"&=.463!2..}m + 0x51, 0x6a, 0x42, 0x39, 0x31, 0x39, 0x1d, 0x2b, 0x69, 0x1a, 0x08, 0x31, 0x24, 0x13, 0x10, 0x41, // QjB919.+i..1$..A + 0x10, 0x6a, 0x01, 0x4d, 0x5f, 0x33, 0x3c, 0x02, 0xfe, 0x96, 0x06, 0x2f, 0x42, 0x42, 0x2f, 0x1d, // .j.M_3<..../BB/. + 0x19, 0x2e, 0x23, 0x55, 0x18, 0x5f, 0x3a, 0x49, 0x64, 0x44, 0x52, 0x45, 0x01, 0x7f, 0x05, 0xea, // ..#U._:IdDRE.... + 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x12, 0x0e, 0x04, 0xc0, 0x0d, 0x13, 0xfa, 0x80, 0xfe, 0xb1, // ...@............ + 0x6b, 0x01, 0x02, 0x08, 0x2a, 0x47, 0x88, 0x6a, 0x05, 0xec, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, // k...*G.j.....@.. + 0x12, 0x0e, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0xc0, // .........@...... + 0x0d, 0x13, 0x54, 0x50, 0x5c, 0x42, 0x58, 0x2d, 0x1d, 0x1c, 0x40, 0x08, 0x38, 0x0a, 0x43, 0x29, // ..TP.BX-..@.8.C) + 0x12, 0x01, 0x02, 0x35, 0x98, 0x58, 0x73, 0x0c, 0x4a, 0x02, 0x40, 0x9f, 0x24, 0x12, 0x33, 0x54, // ...5.Xs.J.@.$.3T + 0x34, 0x2b, 0x2c, 0x17, 0x19, 0x1b, 0x3a, 0x3b, 0x33, 0x39, 0x53, 0x47, 0x32, 0x53, 0x2e, 0x37, // 4+,...:;39SG2S.7 + 0x19, 0x3c, 0xfe, 0xc1, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0e, 0x12, 0x13, 0x03, 0x76, 0x63, // .<............vc + 0x63, 0x29, 0xa1, 0x29, 0x0c, 0x11, 0x25, 0x4c, 0x7f, 0xfe, 0x6c, 0xfe, 0x7d, 0xc0, 0x0d, 0x13, // c).)..%L..l.}... + 0x13, 0x0d, 0xc0, 0x0e, 0x12, 0x13, 0x01, 0xf3, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xc0, 0x0d, 0x13, // ................ + 0x13, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x35, 0x00, 0x65, 0x00, 0x00, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, // .5.e...2.....#!" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x25, 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x21, 0x32, // &=.463%&'&5476!2 + 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x2f, 0x01, 0x26, 0x27, 0x26, 0x23, // ........../.&'&# + 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x03, 0x21, 0x16, 0x15, // "............!.. + 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x27, 0x26, // .........#"/.&'& + 0x3d, 0x01, 0x34, 0x27, 0x26, 0x3f, 0x01, 0x35, 0x37, 0x1e, 0x02, 0x17, 0x16, 0x17, 0x16, 0x17, // =.4'&?.57....... + 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x06, 0xe0, 0x0e, 0x12, 0x12, // .32767654'&..... + 0x0e, 0xf9, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc3, 0x1c, 0x17, 0x30, 0x86, 0x85, 0x01, 0x04, // ..@........0.... + 0x32, 0x75, 0x42, 0x6f, 0x0a, 0x0b, 0x0e, 0x05, 0x0c, 0x54, 0x0e, 0x32, 0x35, 0x58, 0x7a, 0x72, // 2uBo.....T.25Xzr + 0x44, 0x43, 0x42, 0x42, 0xd5, 0x45, 0x68, 0x3a, 0x25, 0xec, 0x01, 0x9b, 0x07, 0x29, 0x17, 0x30, // DCBB.Eh:%....).0 + 0x25, 0x48, 0x50, 0x49, 0x50, 0x7b, 0x72, 0x51, 0x8c, 0x39, 0x0f, 0x08, 0x02, 0x01, 0x01, 0x02, // %HPIP{rQ.9...... + 0x66, 0x0f, 0x1e, 0x0f, 0x05, 0x23, 0x2d, 0x2b, 0x3e, 0x3b, 0x49, 0x40, 0x4b, 0x4d, 0x2d, 0x2f, // f....#-+>;I@KM-/ + 0x51, 0x22, 0x02, 0x80, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x40, 0x23, // Q"....@....@..@# + 0x2d, 0x62, 0x5a, 0xb5, 0x80, 0x7f, 0x13, 0x0c, 0x24, 0x26, 0x50, 0x7b, 0x3c, 0x12, 0x1b, 0x03, // -bZ.....$&P{<... + 0x06, 0x02, 0x95, 0x38, 0x5b, 0x3b, 0x3a, 0x58, 0x49, 0x43, 0x43, 0x3e, 0x14, 0x2e, 0x1c, 0x18, // ...8[;:XICC>.... + 0xff, 0x00, 0x27, 0x35, 0x6f, 0x65, 0x38, 0x30, 0x23, 0x2e, 0x30, 0x12, 0x15, 0x17, 0x28, 0x10, // ..'5oe80#.0...(. + 0x0c, 0x08, 0x0e, 0x0d, 0x6c, 0x30, 0x1e, 0x26, 0x25, 0x2c, 0x02, 0x22, 0x4a, 0x26, 0x08, 0x39, // ....l0.&%,."J&.9 + 0x25, 0x24, 0x15, 0x16, 0x1b, 0x1a, 0x3c, 0x3d, 0x44, 0x54, 0x49, 0x1d, 0x00, 0x02, 0x00, 0x00, // %$....<=DTI..... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x63, 0x00, 0x73, 0x00, 0x00, 0x13, 0x26, 0x2f, 0x01, // .......c.s...&/. + 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x32, 0x37, 0x07, 0x17, 0x15, 0x06, // 632..3276727.... + 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x16, 0x15, 0x17, 0x13, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, // #".............3 + 0x32, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x2f, 0x01, 0x26, // 27676767654../.& + 0x27, 0x26, 0x0f, 0x01, 0x27, 0x37, 0x33, 0x17, 0x16, 0x37, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, // '&..'73..7...... + 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, 0x15, 0x16, 0x13, 0x16, 0x07, 0x06, 0x07, 0x06, 0x07, // ................ + 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x11, 0x34, 0x27, 0x26, // ...#"'&'&'&5.4'& 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // .54&#!".....3!26 - 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x12, 0x0e, // ...........@.... - 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, // .......@........ - 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0xfe, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, // .....@.......... + 0x30, 0x25, 0x08, 0x03, 0x0d, 0x1b, 0x3c, 0x34, 0x84, 0x22, 0x56, 0x52, 0x74, 0x1e, 0x38, 0x1e, // 0%....<4."VRt.8. + 0x01, 0x02, 0x3c, 0x40, 0x3c, 0x13, 0x0d, 0x01, 0x01, 0x0e, 0x06, 0x2d, 0x23, 0x3d, 0x58, 0x59, // ..<@<......-#=XY + 0x68, 0x57, 0x38, 0x2b, 0x30, 0x11, 0x24, 0x11, 0x15, 0x07, 0x0f, 0x06, 0x04, 0x05, 0x13, 0x22, // hW8+0.$........" + 0x2b, 0x64, 0x0e, 0x02, 0x54, 0xcd, 0x4c, 0x78, 0x12, 0x06, 0x04, 0x2d, 0x27, 0x49, 0x06, 0x0f, // +d..T.Lx...-'I.. + 0x03, 0x08, 0x0e, 0x06, 0x15, 0x0f, 0x1a, 0x26, 0x4a, 0x4b, 0x6b, 0x6d, 0x92, 0xa7, 0x75, 0x77, // .......&JKkm..uw + 0x3c, 0x3d, 0x16, 0x10, 0x11, 0x19, 0x05, 0x56, 0x12, 0x0e, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, // <=.....V...@.... + 0x05, 0xc0, 0x0e, 0x12, 0x05, 0x21, 0x02, 0x02, 0x58, 0x01, 0x04, 0x07, 0x03, 0x04, 0x01, 0x02, // .....!..X....... + 0x0e, 0x40, 0x09, 0x09, 0x19, 0x0e, 0x76, 0x0d, 0x27, 0x06, 0xe5, 0xfe, 0xe8, 0x7c, 0x4e, 0x3b, // .@....v.'....|N; + 0x21, 0x2f, 0x1c, 0x12, 0x21, 0x24, 0x1c, 0x38, 0x3a, 0x49, 0x9c, 0x4f, 0x62, 0x93, 0x56, 0x3b, // !/..!$.8:I.Ob.V; + 0x43, 0x15, 0x23, 0x01, 0x02, 0x03, 0x56, 0x0a, 0x03, 0x0d, 0x02, 0x26, 0x0d, 0x07, 0x18, 0x0c, // C.#...V....&.... + 0x01, 0x0b, 0x06, 0x0f, 0x1a, 0x07, 0x28, 0x0b, 0x13, 0xfe, 0x87, 0xc3, 0x6d, 0x4c, 0x2e, 0x41, // ......(.....mL.A + 0x3a, 0x39, 0x20, 0x21, 0x2e, 0x2f, 0x4b, 0x4c, 0x77, 0x50, 0x9d, 0x01, 0x4d, 0xbc, 0x19, 0x24, // :9 !./KLwP..M..$ + 0xfa, 0x82, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x0a, 0x00, 0x00, // ..@....@........ + 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, // .........../.?.O + 0x00, 0x5f, 0x00, 0x6f, 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, // ._.o........%54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, // #!".....3!26.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x00, 0x12, 0x0e, // #!"&5.463!2..... + 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, // .......@........ 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // ...@............ - 0x01, 0x40, 0x0e, 0x12, 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, // .@.............@ - 0x0e, 0x12, 0xfe, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, // .............@.. - 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x12, 0x0e, // ...........@.... - 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x80, 0x5e, 0x42, 0xfa, 0xc0, 0x42, // .......@...^B..B - 0x5e, 0x5e, 0x42, 0x05, 0x40, 0x42, 0x5e, 0xa0, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // ^^B.@B^......... - 0x12, 0x01, 0x8e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0xfe, 0x8e, 0xc0, 0x0e, // ................ - 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x03, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, // ................ - 0x12, 0x12, 0xfe, 0x8e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0xfe, 0x8e, 0xc0, // ................ - 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x03, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // ................ - 0x0e, 0x12, 0x12, 0xfe, 0x8e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0x8e, // ................ - 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0x4e, 0xfb, 0xc0, 0x42, 0x5e, 0x5e, // ..........N..B^^ - 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x1b, 0xff, 0x9b, 0x06, 0x80, // B.@B^^.......... - 0x06, 0x00, 0x00, 0x03, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x33, 0x00, 0x00, // .........#.+.3.. - 0x09, 0x01, 0x27, 0x01, 0x24, 0x14, 0x07, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, // ..'.$...."/.&47. - 0x36, 0x32, 0x1f, 0x01, 0x25, 0x17, 0x0f, 0x01, 0x2f, 0x01, 0x3f, 0x01, 0x01, 0x17, 0x0f, 0x01, // 62..%.../.?..... - 0x2f, 0x01, 0x3f, 0x01, 0x01, 0x17, 0x0f, 0x01, 0x2f, 0x01, 0x3f, 0x01, 0x01, 0x17, 0x0f, 0x01, // /.?...../.?..... - 0x2f, 0x01, 0x3f, 0x01, 0x04, 0xa6, 0x01, 0x25, 0x6b, 0xfe, 0xdb, 0x02, 0x2a, 0x12, 0xfa, 0xfa, // /.?....%k...*... - 0x12, 0x36, 0x12, 0xc6, 0x12, 0x12, 0x05, 0x06, 0x12, 0x36, 0x12, 0xc6, 0xfa, 0xcb, 0x62, 0x62, // .6.......6....bb - 0x1e, 0x1e, 0x62, 0x62, 0x1e, 0x01, 0x7c, 0xc4, 0xc4, 0x3c, 0x3c, 0xc4, 0xc4, 0x3c, 0x03, 0xde, // ..bb..|..<<..<.. - 0x62, 0x62, 0x1e, 0x1e, 0x62, 0x62, 0x1e, 0xfd, 0x9e, 0x62, 0x62, 0x1e, 0x1e, 0x62, 0x62, 0x1e, // bb..bb...bb..bb. - 0x03, 0xbb, 0x01, 0x25, 0x6b, 0xfe, 0xdb, 0xd5, 0x36, 0x12, 0xfa, 0xfa, 0x12, 0x12, 0xc6, 0x12, // ...%k...6....... - 0x36, 0x12, 0x05, 0x06, 0x12, 0x12, 0xc6, 0x91, 0x1e, 0x1e, 0x62, 0x62, 0x1e, 0x1e, 0x62, 0xfe, // 6.........bb..b. - 0xfc, 0x3c, 0x3c, 0xc4, 0xc4, 0x3c, 0x3c, 0xc4, 0xfd, 0x5e, 0x1e, 0x1e, 0x62, 0x62, 0x1e, 0x1e, // .<<..<<..^..bb.. - 0x62, 0x02, 0x1e, 0x1e, 0x1e, 0x62, 0x62, 0x1e, 0x1e, 0x62, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, // b....bb..b.....@ - 0xff, 0x80, 0x07, 0x00, 0x05, 0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x18, 0x00, 0x4d, 0x00, 0x00, // .............M.. - 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x21, 0x11, 0x23, 0x22, 0x0f, 0x01, 0x06, // $4&"...2.!.#"... - 0x15, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x11, 0x14, 0x0e, 0x04, 0x26, 0x23, // ..4&"...2.....&# - 0x14, 0x06, 0x22, 0x26, 0x35, 0x21, 0x14, 0x06, 0x22, 0x26, 0x35, 0x23, 0x22, 0x06, 0x2e, 0x04, // .."&5!.."&5#"... - 0x35, 0x34, 0x36, 0x33, 0x11, 0x34, 0x26, 0x3e, 0x03, 0x3f, 0x01, 0x3e, 0x01, 0x3b, 0x01, 0x35, // 5463.4&>.?.>.;.5 - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x80, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0xfe, 0xcc, 0x01, // 463!2...LhLLh... - 0x80, 0x9e, 0x0d, 0x09, 0xc3, 0x09, 0x05, 0x00, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x01, 0x4c, 0x08, // ........LhLLh.L. - 0x13, 0x0e, 0x21, 0x0c, 0x27, 0x03, 0x96, 0xd4, 0x96, 0xfe, 0x80, 0x96, 0xd4, 0x96, 0x40, 0x03, // ..!.'.........@. - 0x27, 0x0c, 0x21, 0x0e, 0x13, 0x08, 0x26, 0x1a, 0x01, 0x01, 0x04, 0x09, 0x13, 0x0d, 0xc6, 0x13, // '.!...&......... - 0x3f, 0x1b, 0xa0, 0x26, 0x1a, 0x04, 0x00, 0x1a, 0x26, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x02, // ?..&....&LhLLhL. - 0x80, 0x01, 0x00, 0x09, 0xc3, 0x09, 0x0d, 0xfd, 0xae, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x04, 0xc0, // .........hLLhL.. - 0xfc, 0x00, 0x0f, 0x17, 0x0e, 0x09, 0x03, 0x01, 0x01, 0x6a, 0x96, 0x96, 0x6a, 0x6a, 0x96, 0x96, // .........j..jj.. - 0x6a, 0x01, 0x01, 0x03, 0x09, 0x0e, 0x17, 0x0f, 0x1a, 0x26, 0x01, 0x40, 0x08, 0x36, 0x16, 0x2f, // j........&.@.6./ - 0x1b, 0x22, 0x0d, 0xc6, 0x13, 0x1a, 0xc0, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ."......&&...... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x10, 0x02, 0x04, 0x23, 0x22, // .......J......#" - 0x27, 0x36, 0x37, 0x36, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x23, // '6767..32>.54..# - 0x22, 0x0e, 0x03, 0x15, 0x14, 0x16, 0x17, 0x16, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x27, 0x26, 0x35, // ".......7>.76'&5 - 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x3e, 0x02, 0x35, 0x34, // 4632....#"&7>.54 - 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x03, 0x06, 0x17, 0x26, 0x02, 0x35, 0x34, 0x12, 0x24, // &#".......&.54.$ - 0x20, 0x04, 0x06, 0x00, 0xce, 0xfe, 0x9f, 0xd1, 0x6f, 0x6b, 0x3b, 0x13, 0x09, 0x2d, 0x14, 0x6a, // .......ok;..-.j - 0x3d, 0x79, 0xbe, 0x68, 0x77, 0xe2, 0x8e, 0x69, 0xb6, 0x7f, 0x5b, 0x2b, 0x50, 0x4d, 0x1e, 0x08, // =y.hw..i..[+PM.. - 0x02, 0x0c, 0x02, 0x06, 0x11, 0x33, 0xd1, 0xa9, 0x97, 0xa9, 0x89, 0x6b, 0x3d, 0x4a, 0x0e, 0x08, // .....3.....k=J.. - 0x25, 0x17, 0x36, 0x32, 0x3e, 0x56, 0x19, 0x63, 0x11, 0x04, 0xce, 0xfe, 0xce, 0x01, 0x61, 0x01, // %.62>V.c......a. - 0xa2, 0x01, 0x61, 0x03, 0x51, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0x20, 0x5d, 0x47, 0x22, 0xb1, 0x27, // ..a.Q.^... ]G".' - 0x39, 0x89, 0xf0, 0x96, 0x72, 0xc8, 0x7e, 0x3a, 0x60, 0x7d, 0x86, 0x43, 0x68, 0x9e, 0x20, 0x0c, // 9...r.~:`}.Ch. . - 0x20, 0x07, 0x30, 0x06, 0x17, 0x14, 0x3d, 0x5a, 0x97, 0xd9, 0xa4, 0x83, 0xaa, 0xee, 0x57, 0x3d, // .0...=Z......W= - 0x23, 0x75, 0x59, 0x1f, 0x32, 0x42, 0x72, 0x55, 0x49, 0x31, 0xfe, 0x5e, 0x46, 0x6b, 0x5b, 0x01, // #uY.2BrUI1.^Fk[. - 0x7c, 0xe9, 0xd1, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // |...a........... - 0x05, 0x80, 0x00, 0x4c, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x36, // ...L...2.....#!6 - 0x37, 0x36, 0x37, 0x1e, 0x01, 0x33, 0x32, 0x12, 0x35, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x03, // 767..32.54..#".. - 0x15, 0x14, 0x16, 0x17, 0x16, 0x36, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, // .....67676'&5463 - 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, // 2....#"&7>.54&#" - 0x06, 0x15, 0x14, 0x17, 0x03, 0x06, 0x17, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x04, // .......#"&5.463. - 0xe0, 0x77, 0xa9, 0xa9, 0x77, 0xfd, 0x2b, 0x55, 0x17, 0x09, 0x2c, 0x15, 0x69, 0x3c, 0xb5, 0xe5, // .w..w.+U..,.i<.. - 0x46, 0x7b, 0xb6, 0x6a, 0x68, 0xb5, 0x7d, 0x5a, 0x2b, 0x4f, 0x4d, 0x0d, 0x15, 0x04, 0x0a, 0x05, // F{.jh.}Z+OM..... - 0x06, 0x11, 0x32, 0xcf, 0xa7, 0x95, 0xa7, 0x87, 0x6a, 0x3c, 0x4a, 0x0e, 0x08, 0x25, 0x16, 0x35, // ..2.....jX......W<"uW.1A - 0x71, 0x53, 0x48, 0x31, 0xfe, 0x62, 0x64, 0x9a, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x00, 0x00, // qSH1.bd..w..w... - 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x17, 0x00, 0x22, 0x00, 0x33, // .............".3 - 0x00, 0x67, 0x00, 0x00, 0x05, 0x14, 0x07, 0x21, 0x22, 0x26, 0x27, 0x3e, 0x03, 0x33, 0x32, 0x17, // .g.....!"&'>.32. - 0x1e, 0x09, 0x01, 0x06, 0x07, 0x11, 0x16, 0x33, 0x32, 0x37, 0x06, 0x15, 0x14, 0x13, 0x14, 0x06, // .......327...... - 0x23, 0x22, 0x2e, 0x03, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x25, 0x11, 0x14, 0x06, 0x23, // #"..54632..%...# - 0x21, 0x36, 0x35, 0x34, 0x2e, 0x04, 0x35, 0x34, 0x3e, 0x03, 0x34, 0x26, 0x27, 0x2e, 0x03, 0x27, // !654..54>.4&'..' - 0x33, 0x37, 0x21, 0x22, 0x06, 0x07, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x11, // 37!"..463!2...!. - 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x02, 0xa6, 0x0a, 0xfe, 0x84, 0x5f, 0x99, 0x1b, // #.!.!.3......_.. - 0x18, 0x5a, 0x6e, 0x68, 0x37, 0x20, 0x11, 0x06, 0x31, 0x11, 0x2d, 0x13, 0x24, 0x11, 0x19, 0x0a, // .Znh7 ..1.-.$... - 0x09, 0xfe, 0xdb, 0xea, 0x97, 0x67, 0xaa, 0x20, 0x26, 0x15, 0xec, 0x57, 0x61, 0x33, 0x5c, 0x40, // .....g. &..Wa3.@ - 0x30, 0x17, 0x67, 0x5d, 0x42, 0x6a, 0x3e, 0x20, 0x03, 0xd2, 0xa9, 0x77, 0xfe, 0x2c, 0x27, 0x2c, // 0.g]Bj> ...w.,', - 0x43, 0x4d, 0x43, 0x2c, 0x2e, 0x42, 0x41, 0x2e, 0x35, 0x31, 0x06, 0x10, 0x09, 0x0b, 0x05, 0x87, // CMC,.BA.51...... - 0x87, 0xfe, 0x4b, 0x8a, 0xd5, 0x4c, 0xa2, 0x7e, 0x03, 0xc0, 0x77, 0xa9, 0xff, 0x00, 0x80, 0xff, // ..K..L.~..w..... - 0x00, 0x01, 0x00, 0x80, 0x39, 0x26, 0x21, 0x71, 0x5b, 0x2d, 0x41, 0x22, 0x0e, 0x02, 0x04, 0x22, // ....9&!q[-A"..." - 0x0c, 0x22, 0x11, 0x22, 0x19, 0x24, 0x21, 0x27, 0x01, 0x4a, 0x07, 0x4e, 0x01, 0xb1, 0x76, 0x05, // .".".$!'.J.N..v. - 0x3d, 0x19, 0x43, 0x01, 0xad, 0x64, 0x79, 0x34, 0x53, 0x68, 0x68, 0x2f, 0x60, 0x8a, 0x52, 0x7e, // =.C..dy4Shh/`.R~ - 0x86, 0x1e, 0xfd, 0x20, 0x77, 0xa9, 0x49, 0x54, 0x42, 0x71, 0x49, 0x45, 0x32, 0x3b, 0x1e, 0x24, // ... w.ITBqIE2;.$ - 0x40, 0x3b, 0x46, 0x74, 0x92, 0x91, 0x2e, 0x06, 0x0a, 0x05, 0x0e, 0x0a, 0x40, 0x4d, 0x5f, 0x7e, // @;Ft........@M_~ - 0xae, 0xa9, 0x77, 0x60, 0x01, 0x00, 0xff, 0x00, 0x80, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ..w`............ - 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x1c, 0x00, 0x2d, 0x00, 0x63, // .............-.c - 0x00, 0x6f, 0x00, 0x00, 0x25, 0x34, 0x2e, 0x08, 0x27, 0x26, 0x23, 0x22, 0x0e, 0x03, 0x15, 0x14, // .o..%4..'&#".... - 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x02, 0x03, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, // ..32>..4..#".... - 0x03, 0x33, 0x32, 0x36, 0x03, 0x21, 0x07, 0x23, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x03, 0x15, 0x14, // .326.!.#........ - 0x1e, 0x05, 0x15, 0x14, 0x07, 0x06, 0x21, 0x22, 0x2e, 0x03, 0x35, 0x34, 0x37, 0x3e, 0x03, 0x37, // ......!"..547>.7 - 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x01, // &54>.7.#"&54676. - 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x03, 0x6c, 0x09, 0x0a, 0x19, // .!.#.!5!.3..l... - 0x11, 0x24, 0x13, 0x2d, 0x11, 0x31, 0x06, 0x11, 0x21, 0x36, 0x68, 0x70, 0x54, 0x36, 0x47, 0x73, // .$.-.1..!6hpT6Gs - 0x7e, 0x40, 0x3b, 0x6b, 0x5e, 0x37, 0x78, 0x21, 0x3d, 0x6b, 0x42, 0x5d, 0x66, 0x17, 0x30, 0x40, // ~@;k^7x!=kB]f.0@ - 0x5c, 0x33, 0x61, 0x57, 0x83, 0x01, 0xb5, 0x87, 0x87, 0x47, 0x4e, 0x2e, 0x42, 0x42, 0x2e, 0x21, // .3aW.....GN.BB.! - 0x35, 0x40, 0x40, 0x35, 0x21, 0x8c, 0x98, 0xfe, 0xf4, 0x3b, 0x79, 0x7b, 0x5e, 0x3c, 0x25, 0x20, // 5@@5!....;y{^<% - 0x80, 0xa2, 0x94, 0x4c, 0x40, 0x04, 0x06, 0x0a, 0x02, 0x28, 0x1e, 0x95, 0xd5, 0xbe, 0x8b, 0x5e, // ...L@....(.....^ - 0x04, 0x6c, 0xff, 0x00, 0x80, 0xff, 0x00, 0x01, 0x00, 0x80, 0x47, 0x15, 0x27, 0x21, 0x24, 0x19, // .l........G.'!$. - 0x22, 0x11, 0x22, 0x0c, 0x22, 0x04, 0x02, 0x0e, 0x24, 0x38, 0x5e, 0x3c, 0x44, 0x6b, 0x3d, 0x1e, // "."."...$8^.?.>.;.5463! + 0x32, 0x16, 0x02, 0x80, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0xfe, 0xcc, 0x01, 0x80, 0x9e, 0x0d, 0x09, // 2...LhLLh....... + 0xc3, 0x09, 0x05, 0x00, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x01, 0x4c, 0x08, 0x13, 0x0e, 0x21, 0x0c, // ....LhLLh.L...!. + 0x27, 0x03, 0x96, 0xd4, 0x96, 0xfe, 0x80, 0x96, 0xd4, 0x96, 0x40, 0x03, 0x27, 0x0c, 0x21, 0x0e, // '.........@.'.!. + 0x13, 0x08, 0x26, 0x1a, 0x01, 0x01, 0x04, 0x09, 0x13, 0x0d, 0xc6, 0x13, 0x3f, 0x1b, 0xa0, 0x26, // ..&.........?..& + 0x1a, 0x04, 0x00, 0x1a, 0x26, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x02, 0x80, 0x01, 0x00, 0x09, // ....&LhLLhL..... + 0xc3, 0x09, 0x0d, 0xfd, 0xae, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x04, 0xc0, 0xfc, 0x00, 0x0f, 0x17, // .....hLLhL...... + 0x0e, 0x09, 0x03, 0x01, 0x01, 0x6a, 0x96, 0x96, 0x6a, 0x6a, 0x96, 0x96, 0x6a, 0x01, 0x01, 0x03, // .....j..jj..j... + 0x09, 0x0e, 0x17, 0x0f, 0x1a, 0x26, 0x01, 0x40, 0x08, 0x36, 0x16, 0x2f, 0x1b, 0x22, 0x0d, 0xc6, // .....&.@.6./.".. + 0x13, 0x1a, 0xc0, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ....&&.......... + 0x05, 0x80, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x10, 0x02, 0x04, 0x23, 0x22, 0x27, 0x36, 0x37, 0x36, // ...J......#"'676 + 0x37, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x03, 0x15, // 7..32>.54..#"... + 0x14, 0x16, 0x17, 0x16, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, // ....7>.76'&54632 + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, // ....#"&7>.54&#". + 0x15, 0x14, 0x17, 0x03, 0x06, 0x17, 0x26, 0x02, 0x35, 0x34, 0x12, 0x24, 0x20, 0x04, 0x06, 0x00, // ......&.54.$ ... + 0xce, 0xfe, 0x9f, 0xd1, 0x6f, 0x6b, 0x3b, 0x13, 0x09, 0x2d, 0x14, 0x6a, 0x3d, 0x79, 0xbe, 0x68, // ....ok;..-.j=y.h + 0x77, 0xe2, 0x8e, 0x69, 0xb6, 0x7f, 0x5b, 0x2b, 0x50, 0x4d, 0x1e, 0x08, 0x02, 0x0c, 0x02, 0x06, // w..i..[+PM...... + 0x11, 0x33, 0xd1, 0xa9, 0x97, 0xa9, 0x89, 0x6b, 0x3d, 0x4a, 0x0e, 0x08, 0x25, 0x17, 0x36, 0x32, // .3.....k=J..%.62 + 0x3e, 0x56, 0x19, 0x63, 0x11, 0x04, 0xce, 0xfe, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x03, // >V.c......a...a. + 0x51, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0x20, 0x5d, 0x47, 0x22, 0xb1, 0x27, 0x39, 0x89, 0xf0, 0x96, // Q.^... ]G".'9... + 0x72, 0xc8, 0x7e, 0x3a, 0x60, 0x7d, 0x86, 0x43, 0x68, 0x9e, 0x20, 0x0c, 0x20, 0x07, 0x30, 0x06, // r.~:`}.Ch. . .0. + 0x17, 0x14, 0x3d, 0x5a, 0x97, 0xd9, 0xa4, 0x83, 0xaa, 0xee, 0x57, 0x3d, 0x23, 0x75, 0x59, 0x1f, // ..=Z......W=#uY. + 0x32, 0x42, 0x72, 0x55, 0x49, 0x31, 0xfe, 0x5e, 0x46, 0x6b, 0x5b, 0x01, 0x7c, 0xe9, 0xd1, 0x01, // 2BrUI1.^Fk[.|... + 0x61, 0xce, 0xce, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x4c, // a..............L + 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x36, 0x37, 0x36, 0x37, 0x1e, // ...2.....#!6767. + 0x01, 0x33, 0x32, 0x12, 0x35, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x03, 0x15, 0x14, 0x16, 0x17, // .32.54..#"...... + 0x16, 0x36, 0x37, 0x36, 0x37, 0x36, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, // .67676'&54632... + 0x06, 0x23, 0x22, 0x26, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, // .#"&7>.54&#".... + 0x03, 0x06, 0x17, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x04, 0xe0, 0x77, 0xa9, 0xa9, // ...#"&5.463..w.. + 0x77, 0xfd, 0x2b, 0x55, 0x17, 0x09, 0x2c, 0x15, 0x69, 0x3c, 0xb5, 0xe5, 0x46, 0x7b, 0xb6, 0x6a, // w.+U..,.i<..F{.j + 0x68, 0xb5, 0x7d, 0x5a, 0x2b, 0x4f, 0x4d, 0x0d, 0x15, 0x04, 0x0a, 0x05, 0x06, 0x11, 0x32, 0xcf, // h.}Z+OM.......2. + 0xa7, 0x95, 0xa7, 0x87, 0x6a, 0x3c, 0x4a, 0x0e, 0x08, 0x25, 0x16, 0x35, 0x31, 0x3d, 0x55, 0x18, // ....jX.. + 0xa2, 0x81, 0xa8, 0xec, 0x57, 0x3c, 0x22, 0x75, 0x57, 0x1f, 0x31, 0x41, 0x71, 0x53, 0x48, 0x31, // ....W<"uW.1AqSH1 + 0xfe, 0x62, 0x64, 0x9a, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // .bd..w..w....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1b, 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, 0x01, 0x34, // .........'.7...4 + 0x27, 0x21, 0x15, 0x33, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x26, // '!.3..#"&4632.7& + 0x23, 0x22, 0x06, 0x10, 0x16, 0x33, 0x32, 0x36, 0x25, 0x33, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, // #"...326%35#5#.# + 0x15, 0x33, 0x15, 0x33, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .3.3....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x95, 0x06, 0xfe, 0x96, 0xd9, 0x03, 0x1b, 0x30, 0x55, 0x36, 0x63, // 3!2.........0U6c + 0x8c, 0x8c, 0x63, 0x5c, 0x3d, 0x68, 0x6c, 0x95, 0xa0, 0xe0, 0xe0, 0xa0, 0xa5, 0xcb, 0x01, 0x59, // ..c.=hl........Y + 0x6d, 0x6d, 0x6e, 0x6e, 0x6e, 0x6e, 0x01, 0x12, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // mmnnnn...w.@w..w + 0x03, 0xc0, 0x77, 0xa9, 0x02, 0x77, 0x1a, 0x26, 0x84, 0x18, 0x34, 0x36, 0x23, 0x8e, 0xc8, 0x8e, // ..w..w.&..46#... + 0x3b, 0x65, 0x64, 0xe1, 0xfe, 0xc2, 0xe1, 0xd2, 0x77, 0x6e, 0x6e, 0x6e, 0x6e, 0x6e, 0x02, 0x85, // ;ed.....wnnnnn.. + 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x02, 0x00, 0x00, // .@w..w..w....... + 0xff, 0xa3, 0x09, 0x00, 0x05, 0x5d, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x14, 0x02, 0x04, // .....].#./...... + 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x33, 0x20, 0x17, 0x07, 0x26, 0x23, 0x22, // #"$&...6$3 ..&#" + 0x0e, 0x01, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x03, 0x37, 0x21, 0x35, 0x21, 0x16, 0x25, 0x15, // .....32>.7!5!.%. + 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x05, 0x9d, 0xae, 0xfe, 0xbe, 0xd0, // #.#5#5353....... + 0x95, 0xfe, 0xf0, 0xc4, 0x74, 0x74, 0xc4, 0x01, 0x10, 0x95, 0x01, 0x1e, 0xcd, 0xc7, 0x75, 0xaf, // ....tt........u. + 0x7b, 0xd1, 0x7a, 0x7a, 0xd1, 0x7b, 0x53, 0x8b, 0x5a, 0x43, 0x1f, 0x06, 0xfe, 0x60, 0x02, 0xb4, // {.zz.{S.ZC...`.. + 0x0c, 0x03, 0x63, 0xd1, 0xd2, 0xd1, 0xd1, 0xd2, 0x02, 0x6f, 0xd0, 0xfe, 0xbb, 0xb7, 0x74, 0xc4, // ..c......o....t. + 0x01, 0x10, 0x01, 0x2a, 0x01, 0x10, 0xc4, 0x74, 0xc0, 0xbf, 0x71, 0x7c, 0xd5, 0xfc, 0xd5, 0x7c, // ...*...t..q|...| + 0x2e, 0x45, 0x58, 0x4e, 0x23, 0xfc, 0x3f, 0x3f, 0xd2, 0xd1, 0xd1, 0xd2, 0xd1, 0xd1, 0x00, 0x00, // .EXN#.??........ 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x05, 0x00, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x2c, // ..............., 0x00, 0x3c, 0x00, 0x00, 0x01, 0x21, 0x35, 0x23, 0x11, 0x23, 0x07, 0x17, 0x36, 0x37, 0x33, 0x11, // .<...!5#.#..673. 0x23, 0x24, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x32, 0x1e, 0x01, 0x01, 0x11, // #$..."..4>.2.... @@ -2686,47 +3029,50 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0xa0, 0xfc, 0x00, 0x80, 0x38, 0x28, 0x02, 0x40, 0x28, 0x38, 0x02, 0x00, 0x84, 0x5c, 0x40, 0x40, // ....8(.@(8....@@ 0x5c, 0x84, 0x04, 0x80, 0x80, 0x80, 0xfb, 0x00, 0x84, 0x5c, 0x03, 0x40, 0x5c, 0x84, 0xfb, 0x00, // ...........@.... 0x05, 0x00, 0xa0, 0x28, 0x38, 0x38, 0x28, 0xa0, 0xe0, 0xfc, 0xc0, 0x5c, 0x84, 0x05, 0x00, 0x84, // ...(88(......... - 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x2d, 0x00, 0x00, // .............-.. + 0x00, 0x02, 0x00, 0x40, 0xff, 0x00, 0x06, 0xc0, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x33, 0x00, 0x00, // ...@.........3.. 0x04, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, 0x22, 0x15, 0x14, 0x16, 0x33, 0x01, 0x14, 0x06, 0x23, // .4#"&54"...3...# - 0x21, 0x14, 0x06, 0x22, 0x26, 0x35, 0x21, 0x22, 0x26, 0x35, 0x36, 0x12, 0x11, 0x34, 0x36, 0x37, // !.."&5!"&56..467 - 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x15, 0x10, 0x12, 0x03, 0x50, // &5462..........P - 0x10, 0x3b, 0x55, 0x20, 0x67, 0x49, 0x03, 0x40, 0x4c, 0x34, 0xfe, 0x40, 0x96, 0xd4, 0x96, 0xfe, // .;U gI.@L4.@.... - 0x40, 0x34, 0x4c, 0xbe, 0xc2, 0xc0, 0xa8, 0x08, 0x38, 0x50, 0x38, 0x08, 0xa8, 0xc0, 0xc2, 0xb0, // @4L.....8P8..... - 0x20, 0x55, 0x3b, 0x10, 0x10, 0x49, 0x67, 0x01, 0x30, 0x34, 0x4c, 0x6a, 0x96, 0x96, 0x6a, 0x4c, // U;..Ig.04Lj..jL - 0x34, 0xa1, 0x01, 0xd9, 0x01, 0x06, 0xa5, 0xc2, 0x14, 0x12, 0x13, 0x28, 0x38, 0x38, 0x28, 0x13, // 4..........(88(. - 0x12, 0x14, 0xc2, 0xa5, 0xfe, 0xfa, 0xfe, 0x27, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x40, // .......'.......@ - 0x05, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x22, 0x00, 0x00, 0x00, 0x34, 0x26, 0x2b, 0x01, 0x11, // ......."...4&+.. - 0x33, 0x32, 0x01, 0x21, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x00, 0x10, 0x06, 0x2b, 0x01, 0x15, // 32.!..#!"&...+.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x06, 0x80, 0x70, // ..#!"&5.463!2..p - 0x50, 0x40, 0x40, 0x50, 0xf9, 0xf0, 0x07, 0x00, 0x96, 0x6a, 0xfb, 0x00, 0x6a, 0x96, 0x07, 0x40, // P@@P.....j..j..@ - 0xe1, 0x9f, 0x40, 0x84, 0x5c, 0xfd, 0x40, 0x5c, 0x84, 0x26, 0x1a, 0x04, 0x80, 0x9f, 0x03, 0x30, // ..@...@..&.....0 - 0xa0, 0x70, 0xfe, 0x80, 0xfd, 0xc0, 0x6a, 0x96, 0x96, 0x04, 0x09, 0xfe, 0xc2, 0xe1, 0x20, 0x5c, // .p....j....... . - 0x84, 0x84, 0x5c, 0x02, 0xe0, 0x1a, 0x26, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // ......&......... - 0x06, 0x00, 0x00, 0x2d, 0x00, 0x42, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x07, 0x11, 0x14, 0x06, // ...-.B.......... - 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, 0x15, 0x11, // +."&5...5.462... - 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, // ..265.462.....26 - 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // 5.462.....+."&5. - 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x80, 0x47, 0x39, 0x4c, // #"&5.463!2...G9L - 0x34, 0x80, 0x34, 0x4c, 0x39, 0x47, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, // 4.4L9G&4&&4&&4&& - 0x34, 0x26, 0x26, 0x34, 0x26, 0x03, 0x00, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0xe0, 0x0d, 0x13, 0xbc, // 4&&4&..L4.4L.... - 0x84, 0x01, 0x00, 0x1a, 0x26, 0x05, 0xc0, 0xfd, 0x80, 0x3d, 0x64, 0x14, 0xfc, 0xf5, 0x34, 0x4c, // ....&....=d...4L - 0x4c, 0x34, 0x03, 0x0b, 0x14, 0x64, 0x3d, 0x02, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, // L4...d=...&&..`. - 0x26, 0x26, 0x1a, 0x01, 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, 0x26, 0x26, 0x1a, 0x01, // &&....&&..`.&&.. - 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xf9, 0xc0, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x13, 0x0d, 0x03, // ..&&...4LL4..... - 0x20, 0x84, 0xbc, 0x26, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x05, 0x00, 0x05, 0x80, 0x00, 0x0f, // ..&............ - 0x00, 0x1f, 0x00, 0x28, 0x00, 0x2f, 0x00, 0x43, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ...(./.C......#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.5...#! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x21, 0x11, 0x21, 0x22, 0x26, // "&=.463!2..!.!"& - 0x35, 0x11, 0x21, 0x01, 0x21, 0x26, 0x27, 0x01, 0x26, 0x27, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // 5.!.!&'.&'....#! - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x01, 0x1e, 0x01, 0x04, 0x00, // "&5.463!2....... - 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, // ...@...........@ - 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0xfc, 0x80, 0x04, 0x00, 0xfe, 0x60, 0x28, 0x38, // .............`(8 - 0xfe, 0x00, 0x02, 0x80, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x1d, 0x02, 0x00, 0x38, 0x28, // .....x........8( - 0xfb, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, 0x80, 0x28, 0x60, 0x1c, 0x01, 0x38, 0x1c, 0x28, 0x01, // ..(88(..(`..8.(. - 0x60, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xf2, 0x40, 0x0e, 0x12, 0x12, 0x0e, // `@....@....@.... - 0x40, 0x0e, 0x12, 0x12, 0xfd, 0x92, 0x03, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfe, 0x80, 0x1d, 0x0c, // @.......8(...... - 0x01, 0x39, 0x0c, 0x0a, 0xfe, 0x68, 0xfc, 0x80, 0x28, 0x38, 0x38, 0x28, 0x05, 0x40, 0x28, 0x38, // .9...h..(88(.@(8 - 0x28, 0x1c, 0xfe, 0xc8, 0x1c, 0x60, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // (....`.......... + 0x21, 0x14, 0x06, 0x22, 0x26, 0x35, 0x21, 0x22, 0x26, 0x35, 0x3e, 0x04, 0x35, 0x34, 0x12, 0x37, // !.."&5!"&5>.54.7 + 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x16, 0x12, 0x15, 0x14, 0x1e, 0x03, 0x03, // &5462........... + 0x90, 0x10, 0x3b, 0x55, 0x20, 0x67, 0x49, 0x03, 0x40, 0x4c, 0x34, 0xfe, 0x40, 0x96, 0xd4, 0x96, // ..;U gI.@L4.@... + 0xfe, 0x40, 0x34, 0x4c, 0x32, 0x52, 0x58, 0x3d, 0x27, 0xea, 0xbe, 0x08, 0x38, 0x50, 0x38, 0x08, // .@4L2RX='...8P8. + 0xbe, 0xea, 0x27, 0x3d, 0x58, 0x52, 0xb0, 0x20, 0x55, 0x3b, 0x10, 0x10, 0x49, 0x67, 0x01, 0x30, // ..'=XR. U;..Ig.0 + 0x34, 0x4c, 0x6a, 0x96, 0x96, 0x6a, 0x4c, 0x34, 0x2a, 0x5c, 0x93, 0xaa, 0xf2, 0x8b, 0x98, 0x01, // 4Lj..jL4*....... + 0x05, 0x1c, 0x13, 0x14, 0x28, 0x38, 0x38, 0x28, 0x14, 0x13, 0x1c, 0xfe, 0xfb, 0x98, 0x8b, 0xf2, // ....(88(........ + 0xaa, 0x93, 0x5c, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x40, 0x05, 0x00, 0x00, 0x07, // ...........@.... + 0x00, 0x0f, 0x00, 0x22, 0x00, 0x00, 0x00, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x01, 0x21, // ..."...4&+..32.! + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x00, 0x10, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ..#!"&...+....#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x06, 0x80, 0x70, 0x50, 0x40, 0x40, 0x50, // "&5.463!2..pP@@P + 0xf9, 0xf0, 0x07, 0x00, 0x96, 0x6a, 0xfb, 0x00, 0x6a, 0x96, 0x07, 0x40, 0xe1, 0x9f, 0x40, 0x84, // .....j..j..@..@. + 0x5c, 0xfd, 0x40, 0x5c, 0x84, 0x26, 0x1a, 0x04, 0x80, 0x9f, 0x03, 0x30, 0xa0, 0x70, 0xfe, 0x80, // ..@..&.....0.p.. + 0xfd, 0xc0, 0x6a, 0x96, 0x96, 0x04, 0x09, 0xfe, 0xc2, 0xe1, 0x20, 0x5c, 0x84, 0x84, 0x5c, 0x02, // ..j....... ..... + 0xe0, 0x1a, 0x26, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, 0x06, 0x00, 0x00, 0x2d, // ..&............- + 0x00, 0x42, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x07, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // .B..........+."& + 0x35, 0x11, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, // 5...5.462.....26 + 0x35, 0x11, 0x34, 0x36, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x34, 0x36, // 5.462.....265.46 + 0x32, 0x16, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, // 2.....+."&5.#"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x80, 0x47, 0x39, 0x4c, 0x34, 0x80, 0x34, 0x4c, // .463!2...G9L4.4L + 0x39, 0x47, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, 0x34, // 9G&4&&4&&4&&4&&4 + 0x26, 0x03, 0x00, 0x4c, 0x34, 0x80, 0x34, 0x4c, 0xe0, 0x0d, 0x13, 0xbc, 0x84, 0x01, 0x00, 0x1a, // &..L4.4L........ + 0x26, 0x05, 0xc0, 0xfd, 0x80, 0x3d, 0x64, 0x14, 0xfc, 0xf5, 0x34, 0x4c, 0x4c, 0x34, 0x03, 0x0b, // &....=d...4LL4.. + 0x14, 0x64, 0x3d, 0x02, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, 0x26, 0x26, 0x1a, 0x01, // .d=...&&..`.&&.. + 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xa0, 0x1a, 0x26, 0x26, // ..&&..`.&&....&& + 0x1a, 0xf9, 0xc0, 0x34, 0x4c, 0x4c, 0x34, 0x02, 0x00, 0x13, 0x0d, 0x03, 0x20, 0x84, 0xbc, 0x26, // ...4LL4..... ..& + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, // ...............# + 0x00, 0x33, 0x00, 0x43, 0x00, 0x53, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, // .3.C.S.........# + 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, // !"&5.463!2....!& + 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x01, 0x34, 0x36, 0x33, // '.&..!"&5.!..463 + 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x05, 0x32, 0x16, 0x1d, // !2.....#!"&5.2.. + 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x01, 0x32, 0x16, 0x1d, // ...#!"&=.463.2.. + 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x05, 0xbc, 0x1c, 0x28, // ...#!"&=.463...( + 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, // 8(..(88(..(`...x + 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x01, 0x00, 0x12, // ......c.`(8..... + 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x02, 0xe0, 0x0e, 0x12, 0x12, // ........@....... + 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, // ..@...........@. + 0x12, 0x12, 0x0e, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, // ......`(..(88(.@ + 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, // (8(.D.....9..... + 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0x03, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // 8(.....`....@... + 0x0e, 0xa0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xff, 0x00, 0x12, 0x0e, // ....@....@...... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x00, 0x14, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // @....@.......... 0x06, 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xaf, 0x00, 0xbf, 0x00, 0xcf, 0x00, 0xdf, 0x00, 0xef, // ................ 0x00, 0xff, 0x01, 0x0f, 0x01, 0x1f, 0x01, 0x2d, 0x01, 0x3d, 0x00, 0x00, 0x25, 0x15, 0x14, 0x06, // .......-.=..%... @@ -2851,13 +3197,13 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x04, 0x80, 0x00, 0x3a, 0x00, 0x00, 0x01, 0x06, 0x0d, 0x01, 0x07, 0x23, 0x01, 0x33, 0x32, 0x16, // ...:.......#.32. 0x14, 0x06, 0x2b, 0x03, 0x35, 0x33, 0x11, 0x23, 0x07, 0x23, 0x27, 0x35, 0x33, 0x35, 0x33, 0x35, // ..+.53.#.#'53535 0x27, 0x35, 0x37, 0x35, 0x23, 0x35, 0x23, 0x35, 0x37, 0x33, 0x17, 0x33, 0x11, 0x23, 0x35, 0x3b, // '575#5#573.3.#5; - 0x02, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x01, 0x33, 0x17, 0x05, 0x04, 0x17, 0x16, 0x07, 0x80, // .2...+..3....... + 0x02, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x01, 0x33, 0x17, 0x05, 0x1e, 0x01, 0x17, 0x07, 0x80, // .2...+..3....... 0x01, 0xfe, 0xe1, 0xfe, 0xa0, 0xe0, 0x40, 0xfe, 0xdb, 0x45, 0x1a, 0x26, 0x26, 0x1a, 0x60, 0xa0, // ......@..E.&&.`. 0x40, 0x40, 0xa0, 0xc0, 0x60, 0x20, 0x20, 0x80, 0xc0, 0xc0, 0x80, 0x20, 0x20, 0x60, 0xc0, 0xa0, // @@..` .... `.. - 0x40, 0x40, 0xa0, 0x60, 0x1a, 0x26, 0x26, 0x1a, 0x45, 0x01, 0x25, 0x40, 0xe0, 0x01, 0x60, 0x01, // @@.`.&&.E.%@..`. - 0x05, 0x1a, 0x01, 0x02, 0x40, 0x20, 0x40, 0x20, 0x40, 0xfe, 0xa0, 0x09, 0x0e, 0x09, 0x20, 0x01, // ....@ @ @..... . - 0xa0, 0xe0, 0x20, 0xc0, 0x20, 0x08, 0x18, 0x80, 0x18, 0x08, 0x20, 0xc0, 0x20, 0xe0, 0x01, 0xa0, // .. . ..... . ... - 0x20, 0x09, 0x0e, 0x09, 0xfe, 0xa0, 0x40, 0x20, 0x3a, 0x23, 0x03, 0x00, 0x00, 0x02, 0x00, 0x40, // .....@ :#.....@ + 0x40, 0x40, 0xa0, 0x60, 0x1a, 0x26, 0x26, 0x1a, 0x45, 0x01, 0x25, 0x40, 0xe0, 0x01, 0x60, 0x80, // @@.`.&&.E.%@..`. + 0x90, 0x08, 0x02, 0x40, 0x20, 0x40, 0x20, 0x40, 0xfe, 0xa0, 0x09, 0x0e, 0x09, 0x20, 0x01, 0xa0, // ...@ @ @..... .. + 0xe0, 0x20, 0xc0, 0x20, 0x08, 0x18, 0x80, 0x18, 0x08, 0x20, 0xc0, 0x20, 0xe0, 0x01, 0xa0, 0x20, // . . ..... . ... + 0x09, 0x0e, 0x09, 0xfe, 0xa0, 0x40, 0x20, 0x1c, 0x30, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, // .....@ .0......@ 0x00, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, // ..............!. 0x14, 0x16, 0x33, 0x01, 0x15, 0x21, 0x35, 0x37, 0x23, 0x22, 0x26, 0x35, 0x11, 0x27, 0x37, 0x21, // ..3..!57#"&5.'7! 0x37, 0x21, 0x17, 0x07, 0x11, 0x02, 0x80, 0xff, 0x00, 0x4b, 0x35, 0x04, 0x80, 0xfb, 0x80, 0x80, // 7!.......K5..... @@ -3006,19 +3352,20 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x68, 0xbd, 0x8a, 0x51, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x96, 0x6a, 0x20, 0x28, 0x38, 0x70, 0x50, // h..Q&...&.j (8pP 0x01, 0x80, 0x50, 0x70, 0x70, 0x50, 0xfd, 0x40, 0x68, 0xbd, 0x8a, 0x51, 0x26, 0x1a, 0x80, 0x1a, // ..PppP.@h..Q&... 0x26, 0x96, 0x6a, 0x20, 0x28, 0x38, 0x70, 0x50, 0x01, 0x80, 0x50, 0x70, 0x70, 0x00, 0x00, 0x00, // &.j (8pP..Ppp... - 0x00, 0x08, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0xc0, 0x00, 0x09, 0x00, 0x11, 0x00, 0x19, // ................ - 0x00, 0x21, 0x00, 0x29, 0x00, 0x31, 0x00, 0x39, 0x00, 0x41, 0x00, 0x00, 0x24, 0x14, 0x06, 0x23, // .!.).1.9.A..$..# - 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x14, // "&4632..."&462.. - 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x14, // ."&462..."&462.. - 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x14, // ."&462$.."&462.. - 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x02, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0xf0, // ."&462..."&462.. - 0x55, 0x3b, 0x3c, 0x54, 0x54, 0x3c, 0x3b, 0x02, 0x05, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xfd, 0xeb, // U;:..5E........ . - 0x5c, 0xa0, 0x31, 0x2e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, // ..1. ........... - 0x04, 0x80, 0x00, 0x23, 0x00, 0x33, 0x00, 0x43, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, // ...#.3.C......+. - 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // ...+."&=.#"&=.46 - 0x3b, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x13, 0x11, // ;.546;.2...32... - 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, // 4&#!".....3!26.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x80, // ..#!"&5.463!2... - 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, // .....@.......... - 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x80, 0x38, 0x28, 0xfd, 0x40, 0x28, 0x38, 0x38, 0x28, 0x02, // @......8(.@(88(. - 0xc0, 0x28, 0x38, 0x80, 0x83, 0x5d, 0xfd, 0x40, 0x5d, 0x83, 0x83, 0x5d, 0x02, 0xc0, 0x5d, 0x83, // .(8..].@]..]..]. - 0x02, 0x60, 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, // .`@..........@.. - 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0xfe, 0x72, 0x02, 0xc0, 0x28, 0x38, 0x38, 0x28, 0xfd, // ........r..(88(. - 0x40, 0x28, 0x38, 0x38, 0x02, 0xe8, 0xfd, 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x02, 0xc0, 0x5d, 0x83, // @(88...@......]. - 0x83, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x04, 0x80, 0x00, 0x0f, // ................ - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // .../...2.....#!" - 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // &5.463..4&#!"... - 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x03, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, // ..3!26.2.....#!" - 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x03, 0xa0, 0x5d, 0x83, 0x83, 0x5d, 0xfd, 0x40, 0x5d, 0x83, // &=.463..]..].@]. - 0x83, 0x5d, 0x03, 0x20, 0x38, 0x28, 0xfd, 0x40, 0x28, 0x38, 0x38, 0x28, 0x02, 0xc0, 0x28, 0x38, // .]. 8(.@(88(..(8 - 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x04, 0x80, 0x83, 0x5d, 0xfd, // ..............]. - 0x40, 0x5c, 0x84, 0x84, 0x5c, 0x02, 0xc0, 0x5d, 0x83, 0xfc, 0x60, 0x02, 0xc0, 0x28, 0x38, 0x38, // @......]..`..(88 - 0x28, 0xfd, 0x40, 0x28, 0x38, 0x38, 0x01, 0xc8, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // (.@(88....@....@ - 0x0e, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, // ................ - 0x00, 0x1c, 0x00, 0x24, 0x00, 0x34, 0x00, 0x40, 0x00, 0x00, 0x01, 0x0e, 0x01, 0x22, 0x26, 0x27, // ...$.4.@....."&' - 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x1e, 0x01, 0x32, 0x36, 0x37, 0x3e, 0x01, 0x1e, 0x01, 0x00, // &676....267>.... + 0x5c, 0xa0, 0x31, 0x2e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..1. ........... + 0x05, 0x80, 0x00, 0x14, 0x00, 0x1c, 0x00, 0x24, 0x00, 0x34, 0x00, 0x40, 0x00, 0x00, 0x01, 0x0e, // .......$.4.@.... + 0x01, 0x22, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x1e, 0x01, 0x32, 0x36, 0x37, 0x3e, // ."&'&676....267> + 0x01, 0x1e, 0x01, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, // ......"&462..."& + 0x34, 0x36, 0x32, 0x00, 0x10, 0x2e, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x01, // 462.... ..... >. + 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x6e, 0x25, 0xca, // .... $...$ ..n%. + 0xfe, 0xca, 0x25, 0x08, 0x18, 0x1a, 0x19, 0x2f, 0x08, 0x19, 0x87, 0xa8, 0x87, 0x19, 0x08, 0x30, // ..%..../.......0 + 0x32, 0x18, 0xfe, 0x0a, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x02, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // 2...KjKKj.KKjKKj + 0x01, 0x4b, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, // .Kf......ff..... + 0xab, 0xe6, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, // ......^.....a... + 0x61, 0x01, 0xcd, 0x79, 0x94, 0x94, 0x79, 0x19, 0x2f, 0x08, 0x08, 0x18, 0x1a, 0x50, 0x63, 0x63, // a..y..y./....Pcc + 0x50, 0x1a, 0x18, 0x10, 0x2f, 0x01, 0xcf, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, // P.../..jKKjKKjKK + 0x6a, 0x4b, 0xfd, 0xfe, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, // jK......ff...... + 0x66, 0x66, 0xab, 0x02, 0x40, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, // ff..@.^.....a... + 0x61, 0xce, 0xce, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, // a............... + 0x00, 0x1c, 0x00, 0x24, 0x00, 0x34, 0x00, 0x40, 0x00, 0x00, 0x01, 0x16, 0x0e, 0x01, 0x26, 0x27, // ...$.4.@......&' + 0x2e, 0x01, 0x22, 0x06, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x32, 0x16, 0x00, // .."....'..7>.2.. 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, // .."&462..."&462. 0x10, 0x2e, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x01, 0x12, 0x10, 0x02, 0x04, // ... ..... >..... - 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x6e, 0x25, 0xca, 0xfe, 0xca, 0x25, 0x08, // $...$ ..n%...%. - 0x18, 0x1a, 0x19, 0x2f, 0x08, 0x19, 0x87, 0xa8, 0x87, 0x19, 0x08, 0x30, 0x32, 0x18, 0xfe, 0x0a, // .../.......02... + 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x6e, 0x08, 0x18, 0x32, 0x30, 0x08, 0x19, // $...$ ..n..20.. + 0x87, 0xa8, 0x87, 0x19, 0x08, 0x2f, 0x19, 0x1a, 0x18, 0x08, 0x25, 0xca, 0xfe, 0xca, 0xfe, 0x37, // ...../....%....7 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x02, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0x66, 0xab, // KjKKj.KKjKKj.Kf. 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0xe6, 0xce, 0xfe, // .....ff......... - 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0xcd, 0x79, // ..^.....a...a..y - 0x94, 0x94, 0x79, 0x19, 0x2f, 0x08, 0x08, 0x18, 0x1a, 0x50, 0x63, 0x63, 0x50, 0x1a, 0x18, 0x10, // ..y./....PccP... - 0x2f, 0x01, 0xcf, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfd, 0xfe, // /..jKKjKKjKKjK.. + 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0x33, 0x19, // ..^.....a...a.3. + 0x2f, 0x10, 0x18, 0x1a, 0x50, 0x63, 0x63, 0x50, 0x1a, 0x18, 0x08, 0x08, 0x2f, 0x19, 0x79, 0x94, // /...PccP..../.y. + 0x94, 0x02, 0x09, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfd, 0xfe, // ...jKKjKKjKKjK.. 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0x02, // ....ff......ff.. 0x40, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, // @.^.....a...a... - 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, 0x00, 0x1c, 0x00, 0x24, // ...............$ - 0x00, 0x34, 0x00, 0x40, 0x00, 0x00, 0x01, 0x16, 0x0e, 0x01, 0x26, 0x27, 0x2e, 0x01, 0x22, 0x06, // .4.@......&'..". - 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x32, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, // ...'..7>.2...."& - 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x10, 0x2e, 0x02, 0x20, // 462..."&462.... - 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x01, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ..... >..... $.. - 0x12, 0x24, 0x20, 0x04, 0x04, 0x6e, 0x08, 0x18, 0x32, 0x30, 0x08, 0x19, 0x87, 0xa8, 0x87, 0x19, // .$ ..n..20...... - 0x08, 0x2f, 0x19, 0x1a, 0x18, 0x08, 0x25, 0xca, 0xfe, 0xca, 0xfe, 0x37, 0x4b, 0x6a, 0x4b, 0x4b, // ./....%....7KjKK - 0x6a, 0x02, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, // j.KKjKKj.Kf..... - 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0xe6, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, // .ff...........^. - 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0x33, 0x19, 0x2f, 0x10, 0x18, 0x1a, // ....a...a.3./... - 0x50, 0x63, 0x63, 0x50, 0x1a, 0x18, 0x08, 0x08, 0x2f, 0x19, 0x79, 0x94, 0x94, 0x02, 0x09, 0x6a, // PccP..../.y....j - 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfd, 0xfe, 0x01, 0x04, 0xed, 0xab, // KKjKKjKKjK...... - 0x66, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0x02, 0x40, 0xfe, 0x5e, 0xfe, // ff......ff..@.^. - 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x05, 0x00, 0x00, // ....a...a....... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x2b, 0x00, 0x37, // .............+.7 - 0x00, 0x00, 0x00, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x00, 0x14, // .....#!"&463!2.. - 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x10, // ."&462..."&462.. - 0x2e, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x01, 0x12, 0x10, 0x02, 0x04, 0x20, // .. ..... >..... - 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x80, 0x26, 0x1a, 0xfd, 0x80, 0x1a, 0x26, 0x26, // $...$ ...&....&& - 0x1a, 0x02, 0x80, 0x1a, 0xfe, 0x26, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x02, 0x4b, 0x4b, 0x6a, 0x4b, // .....&KjKKj.KKjK - 0x4b, 0x6a, 0x01, 0x4b, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, // Kj.Kf......ff... - 0x04, 0xed, 0xab, 0xe6, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, // ........^.....a. - 0xa2, 0x01, 0x61, 0x01, 0xda, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0xb5, 0x6a, 0x4b, 0x4b, 0x6a, // ..a..4&&4&..jKKj - 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfd, 0xfe, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, // KKjKKjK......ff. - 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0x02, 0x40, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // .....ff..@.^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, // .a...a.......... - 0x04, 0x00, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x33, 0x00, 0x43, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, // ...#.+.3.C...54& - 0x2b, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x23, 0x22, 0x06, 0x1d, 0x01, // +.54&+."...#"... - 0x14, 0x16, 0x3b, 0x01, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x33, 0x32, 0x36, // ..;....;.26=.326 - 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // .4&"...2.4&"...2 - 0x24, 0x10, 0x00, 0x23, 0x22, 0x27, 0x23, 0x06, 0x23, 0x22, 0x00, 0x10, 0x00, 0x33, 0x21, 0x32, // $..#"'#.#"...3!2 - 0x03, 0x40, 0x12, 0x0e, 0xc0, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // .@.............. - 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, 0x40, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, // .........@KjKKj. - 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0xfe, 0xd4, 0xd4, 0xc0, 0x92, 0xdc, 0x92, 0xc0, // KKjKKj.K........ - 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0xd4, 0x03, 0x80, 0xd4, 0x01, 0xc0, 0x80, 0x0e, 0x12, 0xc0, 0x0e, // ....,........... - 0x12, 0x12, 0x0e, 0xc0, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x12, // ................ - 0x67, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xd4, 0xfe, 0x58, // gjKKjK.KjKKjK..X - 0xfe, 0xd4, 0x80, 0x80, 0x01, 0x2c, 0x01, 0xa8, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, // .....,...,...... - 0x00, 0x00, 0x07, 0x80, 0x04, 0x80, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, // ...........#./.; - 0x00, 0x47, 0x00, 0x53, 0x00, 0x5f, 0x00, 0x6b, 0x00, 0x77, 0x00, 0x83, 0x00, 0x8f, 0x00, 0x9f, // .G.S._.k.w...... - 0x00, 0xa3, 0x00, 0xb3, 0x00, 0x00, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // .........+."=.4; - 0x01, 0x32, 0x37, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x27, 0x15, // .27..+."=.4;.2'. - 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x01, 0x15, 0x14, 0x23, 0x21, 0x22, // .+."=.4;.2...#!" - 0x3d, 0x01, 0x34, 0x33, 0x21, 0x32, 0x25, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // =.43!2%..+."=.4; + 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x1b, // ................ + 0x00, 0x2b, 0x00, 0x37, 0x00, 0x00, 0x00, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x36, 0x33, // .+.7.....#!"&463 + 0x21, 0x32, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, // !2..."&462..."&4 + 0x36, 0x32, 0x00, 0x10, 0x2e, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x01, 0x12, // 62.... ..... >.. + 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x80, 0x26, 0x1a, 0xfd, // ... $...$ ...&.. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x80, 0x1a, 0xfe, 0x26, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x02, // ..&&.....&KjKKj. + 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, // KKjKKj.Kf......f + 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0xe6, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, // f...........^... + 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, 0xda, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0xb5, // ..a...a..4&&4&.. + 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfd, 0xfe, 0x01, 0x04, 0xed, // jKKjKKjKKjK..... + 0xab, 0x66, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0x02, 0x40, 0xfe, 0x5e, // .ff......ff..@.^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x04, 0x00, 0x00, // .....a...a...... + 0x00, 0x00, 0x07, 0x80, 0x04, 0x00, 0x00, 0x23, 0x00, 0x2b, 0x00, 0x33, 0x00, 0x43, 0x00, 0x00, // .......#.+.3.C.. + 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x23, // .54&+.54&+."...# + 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x3d, // ".....;....;.26= + 0x01, 0x33, 0x32, 0x36, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, // .326.4&"...2.4&" + 0x06, 0x14, 0x16, 0x32, 0x24, 0x10, 0x00, 0x23, 0x22, 0x27, 0x23, 0x06, 0x23, 0x22, 0x00, 0x10, // ...2$..#"'#.#".. + 0x00, 0x33, 0x21, 0x32, 0x03, 0x40, 0x12, 0x0e, 0xc0, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, // .3!2.@.......... + 0x12, 0x12, 0x0e, 0xc0, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, 0x40, 0x4b, 0x6a, // .............@Kj + 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0x4b, 0xfe, 0xd4, 0xd4, 0xc0, // KKj.KKjKKj.K.... + 0x92, 0xdc, 0x92, 0xc0, 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0xd4, 0x03, 0x80, 0xd4, 0x01, 0xc0, 0x80, // ........,....... + 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0xc0, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0xc0, 0x12, 0x67, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // ....gjKKjK.KjKKj + 0x4b, 0xd4, 0xfe, 0x58, 0xfe, 0xd4, 0x80, 0x80, 0x01, 0x2c, 0x01, 0xa8, 0x01, 0x2c, 0x00, 0x00, // K..X.....,...,.. + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04, 0x80, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x23, // ...............# + 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x47, 0x00, 0x53, 0x00, 0x5f, 0x00, 0x6b, 0x00, 0x77, 0x00, 0x83, // ./.;.G.S._.k.w.. + 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xa3, 0x00, 0xb3, 0x00, 0x00, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, // .............+." + 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x37, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // =.4;.27..+."=.4; 0x01, 0x32, 0x27, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x01, 0x15, // .2'..+."=.4;.2.. - 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x27, 0x15, 0x14, 0x2b, 0x01, 0x22, // .+."=.4;.2'..+." + 0x14, 0x23, 0x21, 0x22, 0x3d, 0x01, 0x34, 0x33, 0x21, 0x32, 0x25, 0x15, 0x14, 0x2b, 0x01, 0x22, // .#!"=.43!2%..+." + 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x27, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // =.4;.2'..+."=.4; + 0x01, 0x32, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x27, 0x15, // .2...+."=.4;.2'. + 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, // .+."=.4;.2...+." 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // =.4;.2...+."=.4; - 0x01, 0x32, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x01, 0x15, // .2...+."=.4;.2.. - 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x05, 0x15, 0x14, 0x2b, 0x01, 0x22, // .+."=.4;.2...+." - 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x05, 0x11, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, // =.4;.2...+."=.4; - 0x01, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x13, 0x11, 0x21, 0x11, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // .54;.2..!.....#! - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x10, 0x60, 0x10, 0x10, // "&5.463!2....`.. - 0x60, 0x10, 0x80, 0x10, 0xe0, 0x10, 0x10, 0xe0, 0x10, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, // `..........`..`. - 0x04, 0x00, 0x10, 0xfc, 0xa0, 0x10, 0x10, 0x03, 0x60, 0x10, 0xfd, 0x80, 0x10, 0x60, 0x10, 0x10, // ........`....`.. - 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, // `...`..`....`..` - 0x10, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, // ...`..`....`..`. - 0x01, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0x00, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, // ...`..`....`..`. - 0x01, 0x00, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x00, 0x10, 0xe0, 0x10, 0x10, 0x70, 0x10, // ...`..`.......p. - 0x60, 0x10, 0x80, 0xf9, 0x80, 0x07, 0x00, 0x4b, 0x35, 0xf9, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x06, // `......K5..5KK5. - 0x80, 0x35, 0x4b, 0x01, 0x70, 0x60, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, // .5K.p`..`..`..`. - 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfd, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, // .`..`...`..`..`. - 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, // .`..`..`...`..`. - 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0xf0, 0x60, // .`..`...`..`...` - 0x10, 0x10, 0x60, 0x10, 0x01, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x10, 0x60, // ..`...`..`..`..` - 0x10, 0x10, 0xfe, 0xa0, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x10, 0xfd, 0x00, 0x03, 0x80, 0xfc, 0x80, // ......`......... - 0x03, 0x80, 0xfc, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x03, 0x80, 0x35, 0x4b, 0x4b, 0x00, 0x00, 0x00, // ....5KK5..5KK... - 0x00, 0x03, 0x00, 0x40, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x16, 0x00, 0x2a, 0x00, 0x56, // ...@.........*.V - 0x00, 0x00, 0x01, 0x11, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x11, 0x36, 0x33, // .....#"'..#"..63 - 0x32, 0x1e, 0x02, 0x1f, 0x01, 0x16, 0x33, 0x32, 0x01, 0x14, 0x06, 0x07, 0x11, 0x14, 0x06, 0x2b, // 2.....32.......+ - 0x01, 0x22, 0x26, 0x35, 0x11, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x07, // ."&5...5462..... - 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x2e, 0x02, 0x23, 0x22, 0x04, 0x07, 0x06, 0x23, 0x22, // ...#"/...#"...#" - 0x27, 0x26, 0x35, 0x11, 0x34, 0x37, 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, // '&5.47>.32...327 - 0x36, 0x37, 0x36, 0x17, 0x16, 0x06, 0x80, 0xa9, 0x89, 0x52, 0x3f, 0x64, 0xa8, 0x5e, 0xad, 0xe6, // 676......R?d.^.. - 0xf5, 0xbc, 0x37, 0x61, 0x63, 0x37, 0x37, 0x1c, 0x2c, 0x39, 0x78, 0xfb, 0x6d, 0x23, 0x1d, 0x12, // ..7ac77.,9x.m#.. + 0x01, 0x32, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x05, 0x15, // .2...+."=.4;.2.. + 0x14, 0x2b, 0x01, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x32, 0x05, 0x11, 0x14, 0x2b, 0x01, 0x22, // .+."=.4;.2...+." + 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x13, 0x11, 0x21, 0x11, 0x01, 0x11, // =.4;.54;.2..!... + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, // ..#!"&5.463!2... + 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x80, 0x10, 0xe0, 0x10, 0x10, 0xe0, 0x10, 0x80, 0x10, 0x60, // .`..`..........` + 0x10, 0x10, 0x60, 0x10, 0x04, 0x00, 0x10, 0xfc, 0xa0, 0x10, 0x10, 0x03, 0x60, 0x10, 0xfd, 0x80, // ..`.........`... + 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x80, 0x10, // .`..`...`..`.... + 0x60, 0x10, 0x10, 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x80, 0x10, 0x60, // `..`...`..`....` + 0x10, 0x10, 0x60, 0x10, 0x01, 0x80, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0x00, 0x10, 0x60, // ..`....`..`....` + 0x10, 0x10, 0x60, 0x10, 0x01, 0x00, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0x00, 0x10, 0xe0, // ..`....`..`..... + 0x10, 0x10, 0x70, 0x10, 0x60, 0x10, 0x80, 0xf9, 0x80, 0x07, 0x00, 0x4b, 0x35, 0xf9, 0x80, 0x35, // ..p.`......K5..5 + 0x4b, 0x4b, 0x35, 0x06, 0x80, 0x35, 0x4b, 0x01, 0x70, 0x60, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, // KK5..5K.p`..`..` + 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfd, 0xf0, 0x60, 0x10, 0x10, 0x60, // ..`..`..`...`..` + 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0xf0, 0x60, // ..`..`..`..`...` + 0x10, 0x10, 0x60, 0x10, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0xfe, 0xf0, 0x60, 0x10, 0x10, 0x60, // ..`..`..`...`..` + 0x10, 0xfe, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0x01, 0xf0, 0x60, 0x10, 0x10, 0x60, 0x10, 0x10, // ...`..`...`..`.. + 0x60, 0x10, 0x10, 0x60, 0x10, 0x10, 0xfe, 0xa0, 0x10, 0x10, 0x60, 0x10, 0xf0, 0x10, 0xfd, 0x00, // `..`......`..... + 0x03, 0x80, 0xfc, 0x80, 0x03, 0x80, 0xfc, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x03, 0x80, 0x35, 0x4b, // ........5KK5..5K + 0x4b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x16, // K......@........ + 0x00, 0x2a, 0x00, 0x56, 0x00, 0x00, 0x01, 0x11, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x23, 0x22, // .*.V.....#"'..#" + 0x07, 0x11, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x1f, 0x01, 0x16, 0x33, 0x32, 0x01, 0x14, 0x06, 0x07, // ..632.....32.... + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, // ...+."&5...5462. + 0x05, 0x11, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x2e, 0x02, 0x23, 0x22, 0x04, // .......#"/...#". + 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x37, 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, // ..#"'&5.47>.32.. + 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x06, 0x80, 0xa9, 0x89, 0x52, 0x3f, 0x64, // .327676......R?d + 0xa8, 0x5e, 0xad, 0xe6, 0xf5, 0xbc, 0x37, 0x61, 0x63, 0x37, 0x37, 0x1c, 0x2c, 0x39, 0x78, 0xfb, // .^....7ac77.,9x. + 0x6d, 0x23, 0x1d, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x1d, 0x23, 0x4b, 0x6a, 0x4b, 0x05, 0xc0, 0x23, // m#...@...#KjK..# + 0x0a, 0x07, 0xda, 0x97, 0x58, 0x46, 0x1c, 0x40, 0x46, 0x70, 0x3a, 0x66, 0xfe, 0xf5, 0x5f, 0x0f, // ....XF.@Fp:f.._. + 0x12, 0x10, 0x10, 0x20, 0x1f, 0x23, 0x57, 0x8d, 0xa4, 0x49, 0x70, 0xc2, 0x70, 0x26, 0x33, 0x7a, // ... .#W..Ip.p&3z + 0xbc, 0x16, 0x09, 0x1f, 0x1f, 0x1f, 0x01, 0xeb, 0x02, 0x68, 0x5b, 0x20, 0x31, 0x37, 0x7f, 0xfd, // .........h[ 17.. + 0xa9, 0x71, 0x0f, 0x25, 0x19, 0x1b, 0x0e, 0x16, 0x03, 0x71, 0x23, 0x3a, 0x11, 0xfb, 0x0e, 0x0e, // .q.%.....q#:.... + 0x12, 0x12, 0x0e, 0x04, 0xf2, 0x11, 0x3a, 0x23, 0x35, 0x4b, 0x4b, 0x75, 0xfd, 0x05, 0x27, 0x12, // ......:#5KKu..'. + 0x05, 0x04, 0x74, 0x23, 0x0e, 0x21, 0x1e, 0x1c, 0x58, 0x3a, 0x09, 0x08, 0x13, 0x25, 0x02, 0xe6, // ..t#.!..X:...%.. + 0x23, 0x14, 0x15, 0x2b, 0x3d, 0x26, 0x3e, 0x37, 0x13, 0x70, 0x0c, 0x05, 0x10, 0x12, 0x14, 0x00, // #..+=&>7.p...... + 0x00, 0x06, 0x00, 0x40, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x2a, // ...@...........* + 0x00, 0x32, 0x00, 0x46, 0x00, 0x72, 0x00, 0x00, 0x01, 0x35, 0x06, 0x07, 0x15, 0x36, 0x13, 0x35, // .2.F.r...5...6.5 + 0x06, 0x07, 0x15, 0x36, 0x01, 0x35, 0x06, 0x27, 0x35, 0x26, 0x27, 0x2e, 0x09, 0x23, 0x22, 0x07, // ...6.5.'5&'..#". + 0x15, 0x33, 0x32, 0x16, 0x17, 0x16, 0x17, 0x15, 0x16, 0x33, 0x32, 0x13, 0x35, 0x06, 0x23, 0x22, // .32......32.5.#" + 0x27, 0x15, 0x16, 0x01, 0x14, 0x06, 0x07, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // '.........+."&5. + 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, // ..5462........#" + 0x2f, 0x01, 0x2e, 0x02, 0x23, 0x22, 0x04, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, // /...#"...#"'&5.4 + 0x37, 0x3e, 0x03, 0x33, 0x32, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, // 7>.32...327676.. + 0x03, 0x40, 0xb5, 0xcb, 0xcd, 0xb3, 0xac, 0xd4, 0xd7, 0x03, 0xe9, 0xeb, 0x95, 0x14, 0x13, 0x05, // .@.............. + 0x38, 0x0d, 0x32, 0x13, 0x2e, 0x1a, 0x2c, 0x23, 0x2c, 0x16, 0x17, 0x1a, 0x13, 0x66, 0xb5, 0x6b, // 8.2...,#,....f.k + 0x13, 0x14, 0x2a, 0x31, 0x78, 0xad, 0xa9, 0x89, 0x2d, 0x21, 0x94, 0xfb, 0xac, 0x23, 0x1d, 0x12, // ..*1x...-!...#.. 0x0e, 0x40, 0x0e, 0x12, 0x1d, 0x23, 0x4b, 0x6a, 0x4b, 0x05, 0xc0, 0x23, 0x0a, 0x07, 0xda, 0x97, // .@...#KjK..#.... 0x58, 0x46, 0x1c, 0x40, 0x46, 0x70, 0x3a, 0x66, 0xfe, 0xf5, 0x5f, 0x0f, 0x12, 0x10, 0x10, 0x20, // XF.@Fp:f.._.... 0x1f, 0x23, 0x57, 0x8d, 0xa4, 0x49, 0x70, 0xc2, 0x70, 0x26, 0x33, 0x7a, 0xbc, 0x16, 0x09, 0x1f, // .#W..Ip.p&3z.... - 0x1f, 0x1f, 0x01, 0xeb, 0x02, 0x68, 0x5b, 0x20, 0x31, 0x37, 0x7f, 0xfd, 0xa9, 0x71, 0x0f, 0x25, // .....h[ 17...q.% - 0x19, 0x1b, 0x0e, 0x16, 0x03, 0x71, 0x23, 0x3a, 0x11, 0xfb, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x04, // .....q#:........ - 0xf2, 0x11, 0x3a, 0x23, 0x35, 0x4b, 0x4b, 0x75, 0xfd, 0x05, 0x27, 0x12, 0x05, 0x04, 0x74, 0x23, // ..:#5KKu..'...t# - 0x0e, 0x21, 0x1e, 0x1c, 0x58, 0x3a, 0x09, 0x08, 0x13, 0x25, 0x02, 0xe6, 0x23, 0x14, 0x15, 0x2b, // .!..X:...%..#..+ - 0x3d, 0x26, 0x3e, 0x37, 0x13, 0x70, 0x0c, 0x05, 0x10, 0x12, 0x14, 0x00, 0x00, 0x06, 0x00, 0x40, // =&>7.p.........@ - 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x2a, 0x00, 0x32, 0x00, 0x46, // ...........*.2.F - 0x00, 0x72, 0x00, 0x00, 0x01, 0x35, 0x06, 0x07, 0x15, 0x36, 0x13, 0x35, 0x06, 0x07, 0x15, 0x36, // .r...5...6.5...6 - 0x01, 0x35, 0x06, 0x27, 0x35, 0x26, 0x27, 0x2e, 0x09, 0x23, 0x22, 0x07, 0x15, 0x33, 0x32, 0x16, // .5.'5&'..#"..32. - 0x17, 0x16, 0x17, 0x15, 0x16, 0x33, 0x32, 0x13, 0x35, 0x06, 0x23, 0x22, 0x27, 0x15, 0x16, 0x01, // .....32.5.#"'... - 0x14, 0x06, 0x07, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x2e, 0x01, 0x35, 0x34, // ......+."&5...54 - 0x36, 0x32, 0x16, 0x05, 0x11, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x2e, 0x02, // 62........#"/... - 0x23, 0x22, 0x04, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x37, 0x3e, 0x03, 0x33, // #"...#"'&5.47>.3 - 0x32, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x03, 0x40, 0xb5, 0xcb, // 2...327676...@.. - 0xcd, 0xb3, 0xac, 0xd4, 0xd7, 0x03, 0xe9, 0xeb, 0x95, 0x14, 0x13, 0x05, 0x38, 0x0d, 0x32, 0x13, // ............8.2. - 0x2e, 0x1a, 0x2c, 0x23, 0x2c, 0x16, 0x17, 0x1a, 0x13, 0x66, 0xb5, 0x6b, 0x13, 0x14, 0x2a, 0x31, // ..,#,....f.k..*1 - 0x78, 0xad, 0xa9, 0x89, 0x2d, 0x21, 0x94, 0xfb, 0xac, 0x23, 0x1d, 0x12, 0x0e, 0x40, 0x0e, 0x12, // x...-!...#...@.. - 0x1d, 0x23, 0x4b, 0x6a, 0x4b, 0x05, 0xc0, 0x23, 0x0a, 0x07, 0xda, 0x97, 0x58, 0x46, 0x1c, 0x40, // .#KjK..#....XF.@ - 0x46, 0x70, 0x3a, 0x66, 0xfe, 0xf5, 0x5f, 0x0f, 0x12, 0x10, 0x10, 0x20, 0x1f, 0x23, 0x57, 0x8d, // Fp:f.._.... .#W. - 0xa4, 0x49, 0x70, 0xc2, 0x70, 0x26, 0x33, 0x7a, 0xbc, 0x16, 0x09, 0x1f, 0x1f, 0x1f, 0x02, 0x18, // .Ip.p&3z........ - 0xc0, 0x10, 0x65, 0xb9, 0x60, 0x01, 0xb0, 0xc5, 0x08, 0x76, 0xbd, 0x6f, 0xfe, 0x38, 0xb8, 0x74, // ..e.`....v.o.8.t - 0x2d, 0xe0, 0x06, 0x09, 0x03, 0x1c, 0x06, 0x18, 0x07, 0x13, 0x06, 0x0b, 0x04, 0x04, 0x03, 0xde, // -............... - 0x3a, 0x35, 0x09, 0x06, 0xbc, 0x11, 0x02, 0x07, 0xbd, 0x5b, 0x08, 0xc4, 0x2a, 0x01, 0xee, 0x23, // :5.......[..*..# - 0x3a, 0x11, 0xfb, 0x0e, 0x0e, 0x12, 0x12, 0x0e, 0x04, 0xf2, 0x11, 0x3a, 0x23, 0x35, 0x4b, 0x4b, // :..........:#5KK - 0x75, 0xfd, 0x05, 0x27, 0x12, 0x05, 0x04, 0x74, 0x23, 0x0e, 0x21, 0x1e, 0x1c, 0x58, 0x3a, 0x09, // u..'...t#.!..X:. - 0x08, 0x13, 0x25, 0x02, 0xe6, 0x23, 0x14, 0x15, 0x2b, 0x3d, 0x26, 0x3e, 0x37, 0x13, 0x70, 0x0c, // ..%..#..+=&>7.p. - 0x05, 0x10, 0x12, 0x14, 0x00, 0x02, 0x00, 0x0d, 0x00, 0x00, 0x06, 0x80, 0x04, 0x33, 0x00, 0x14, // .............3.. - 0x00, 0x24, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, // .$....."/.&47..& - 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, // 4?.62........#!" - 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x49, 0xfe, 0x2e, 0x0a, 0x1a, 0x0a, // &=.463!2..I..... - 0x32, 0x0a, 0x0a, 0x01, 0x89, 0xfe, 0x77, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0xd2, 0x0a, // 2.....w..2...... - 0x04, 0x2d, 0x12, 0x0e, 0xfc, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0xc0, 0x0e, 0x12, 0x02, 0x29, // .-...@.........) - 0xfe, 0x2e, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0x89, 0x01, 0x89, 0x0a, 0x1a, 0x0a, 0x32, // ....2..........2 - 0x0a, 0x0a, 0xfe, 0x2e, 0x0a, 0x1a, 0xfe, 0x2d, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // .......-@....@.. - 0x12, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x2d, 0xff, 0x93, 0x07, 0x53, 0x04, 0xed, 0x00, 0x14, // .......-...S.... - 0x00, 0x24, 0x00, 0x39, 0x00, 0x00, 0x25, 0x07, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, // .$.9..%.."'.&47. - 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x09, 0x01, 0x16, 0x14, 0x09, 0x01, 0x0e, 0x01, 0x2f, // 62............./ - 0x01, 0x2e, 0x01, 0x37, 0x01, 0x3e, 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x09, 0x01, 0x06, 0x22, 0x2f, // ...7.>........"/ - 0x01, 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, // .&47..&4?.62.... - 0x02, 0x69, 0x32, 0x0a, 0x1a, 0x0a, 0xfe, 0x2e, 0x0a, 0x0a, 0x01, 0xd2, 0x0a, 0x1a, 0x0a, 0x32, // .i2............2 - 0x0a, 0x0a, 0xfe, 0x77, 0x01, 0x89, 0x0a, 0x02, 0x45, 0xfe, 0x8b, 0x04, 0x17, 0x0c, 0x3e, 0x0d, // ...w....E.....>. - 0x0d, 0x04, 0x01, 0x75, 0x04, 0x17, 0x0c, 0x3e, 0x0d, 0x0d, 0x02, 0x8d, 0xfe, 0x2e, 0x0a, 0x1a, // ...u...>........ - 0x0a, 0x32, 0x0a, 0x0a, 0x01, 0x89, 0xfe, 0x77, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0xd2, // .2.....w..2..... - 0x0a, 0x89, 0x32, 0x0a, 0x0a, 0x01, 0xd2, 0x0a, 0x1a, 0x0a, 0x01, 0xd2, 0x0a, 0x0a, 0x32, 0x0a, // ..2...........2. - 0x1a, 0x0a, 0xfe, 0x77, 0xfe, 0x77, 0x0a, 0x1a, 0x04, 0x21, 0xfa, 0xf5, 0x0d, 0x0d, 0x04, 0x11, // ...w.w...!...... - 0x04, 0x17, 0x0d, 0x05, 0x0b, 0x0d, 0x0d, 0x04, 0x11, 0x04, 0x17, 0xfd, 0x68, 0xfe, 0x2e, 0x0a, // ............h... - 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0x89, 0x01, 0x89, 0x0a, 0x1a, 0x0a, 0x32, 0x0a, 0x0a, 0xfe, // .2..........2... - 0x2e, 0x0a, 0x1a, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0xbb, 0x00, 0x15, // ................ - 0x00, 0x3b, 0x00, 0x00, 0x01, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, // .;.......#"'.&47 - 0x01, 0x36, 0x17, 0x16, 0x1d, 0x01, 0x01, 0x06, 0x14, 0x17, 0x01, 0x14, 0x0e, 0x03, 0x07, 0x06, // .6.............. - 0x23, 0x22, 0x27, 0x26, 0x37, 0x12, 0x27, 0x2e, 0x01, 0x27, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, // #"'&7.'..'....#" - 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x17, 0x16, 0x15, 0x11, 0x04, 0x17, 0x16, 0x02, 0x80, // '.&47.6......... - 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x00, 0x13, 0x13, 0x02, 0x00, 0x1d, 0x29, 0x27, 0xfe, 0x73, // '...........)'.s - 0x13, 0x13, 0x06, 0x0d, 0x22, 0x2b, 0x35, 0x1c, 0x06, 0x08, 0x14, 0x06, 0x03, 0x19, 0x02, 0x2b, // ...."+5........+ - 0x95, 0x40, 0xd5, 0xa1, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x00, 0x13, 0x13, 0x02, 0x00, 0x1d, // .@..'........... - 0x29, 0x27, 0x01, 0x9b, 0xbc, 0xa9, 0x01, 0xc6, 0x46, 0x2a, 0x11, 0x05, 0x13, 0x02, 0x00, 0x13, // )'......F*...... - 0x34, 0x13, 0x02, 0x00, 0x1f, 0x11, 0x11, 0x2a, 0x45, 0xfe, 0x72, 0x13, 0x34, 0x13, 0xfe, 0x4d, // 4......*E.r.4..M - 0x3a, 0x97, 0x7d, 0x7d, 0x38, 0x0c, 0x11, 0x01, 0x08, 0x1a, 0x01, 0x90, 0xa5, 0x47, 0x4f, 0x0d, // :.}}8........GO. - 0xfb, 0x2a, 0x11, 0x05, 0x13, 0x02, 0x00, 0x13, 0x34, 0x13, 0x02, 0x00, 0x1f, 0x11, 0x11, 0x2a, // .*......4......* - 0xfe, 0xfa, 0x1c, 0xc1, 0xad, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0xff, 0xad, 0x06, 0x7e, // ...............~ - 0x05, 0xe0, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x01, 0x2d, 0x01, 0x2f, 0x01, 0x03, 0x11, 0x17, // .....(...-./.... - 0x05, 0x03, 0x27, 0x09, 0x01, 0x13, 0x16, 0x06, 0x23, 0x22, 0x27, 0x25, 0x05, 0x06, 0x23, 0x22, // ..'.....#"'%..#" - 0x26, 0x37, 0x13, 0x01, 0x26, 0x36, 0x37, 0x25, 0x13, 0x36, 0x33, 0x32, 0x17, 0x13, 0x05, 0x1e, // &7..&67%.632.... - 0x01, 0x04, 0xa2, 0x01, 0x01, 0xfe, 0x9c, 0x42, 0x1e, 0x9f, 0x3b, 0x01, 0x3e, 0x3c, 0x0c, 0x01, // .......B..;.><.. - 0xf5, 0xfe, 0x95, 0x56, 0x05, 0x16, 0x17, 0x11, 0x17, 0xfe, 0x3f, 0xfe, 0x3f, 0x17, 0x11, 0x17, // ...V......?.?... - 0x16, 0x05, 0x56, 0xfe, 0x94, 0x20, 0x12, 0x2d, 0x01, 0xf6, 0xe1, 0x14, 0x1d, 0x1c, 0x15, 0xe1, // ..V.. .-........ - 0x01, 0xf6, 0x2d, 0x12, 0x02, 0x43, 0xfa, 0x34, 0x0a, 0x3c, 0x01, 0x42, 0xfc, 0x3d, 0x1f, 0xa8, // ..-..C.4.<.B.=.. - 0x01, 0x63, 0x42, 0x01, 0x35, 0xfe, 0x9e, 0xfe, 0x0c, 0x21, 0x25, 0x0c, 0xec, 0xec, 0x0c, 0x25, // .cB.5....!%....% - 0x21, 0x01, 0xf4, 0x01, 0x62, 0x20, 0x37, 0x07, 0x49, 0x01, 0xc7, 0x29, 0x29, 0xfe, 0x39, 0x49, // !...b 7.I..)).9I - 0x07, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xff, 0x80, 0x05, 0x80, 0x05, 0x00, 0x00, 0x16, // .7.............. - 0x00, 0x00, 0x09, 0x01, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x21, 0x22, 0x2e, 0x01, // .....#"'..5.!".. - 0x36, 0x37, 0x01, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x05, 0x79, 0xfd, 0x80, 0x11, 0x28, 0x05, // 67.632....y...(. - 0x0a, 0x16, 0x1b, 0xfd, 0xc0, 0x16, 0x23, 0x0a, 0x12, 0x14, 0x05, 0x00, 0x0d, 0x10, 0x1b, 0x12, // ......#......... - 0x0f, 0x07, 0x04, 0xa3, 0xfb, 0x00, 0x23, 0x02, 0x05, 0x23, 0x16, 0x02, 0x40, 0x1b, 0x2c, 0x28, // ......#..#..@.,( - 0x0a, 0x02, 0x80, 0x07, 0x13, 0x0e, 0x29, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, // ......)......... - 0x05, 0x80, 0x00, 0x02, 0x00, 0x05, 0x00, 0x38, 0x00, 0x00, 0x01, 0x21, 0x11, 0x09, 0x01, 0x21, // .......8...!...! - 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x21, // ....+....+."&=.! - 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x34, 0x36, // "&5.#"&=.46;.546 - 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x37, 0x36, 0x32, 0x17, 0x16, 0x14, 0x0f, 0x01, 0x11, // ;.2...!762...... - 0x33, 0x32, 0x16, 0x02, 0x2d, 0x02, 0x53, 0xfd, 0x80, 0x02, 0x53, 0xfd, 0xad, 0x04, 0x80, 0x12, // 32..-.S...S..... - 0x0e, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xfc, 0xa0, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, // ................ - 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x03, 0x53, 0xf6, 0x0a, 0x1a, 0x0a, 0x09, 0x09, 0xf7, 0xe0, // .......S........ - 0x0e, 0x12, 0x01, 0x00, 0x02, 0x53, 0xfd, 0xda, 0x02, 0x53, 0xfd, 0x60, 0xc0, 0x0e, 0x12, 0xe0, // .....S...S.`.... - 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x03, 0x60, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xe0, 0x0e, // ........`....... - 0x12, 0x12, 0x0e, 0xe0, 0xf7, 0x09, 0x09, 0x0a, 0x1a, 0x0a, 0xf6, 0xfc, 0xad, 0x12, 0x00, 0x00, // ................ - 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x17, // ................ - 0x00, 0x4b, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x12, 0x34, 0x26, 0x22, // .K..$4&"...2.4&" - 0x06, 0x14, 0x16, 0x32, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x37, 0x14, 0x06, 0x07, // ...2.4&"...27... - 0x02, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, // ............."&5 - 0x34, 0x36, 0x37, 0x11, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x11, // 467...5462...... - 0x36, 0x37, 0x3e, 0x05, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x01, 0x20, 0x38, 0x50, // 67>.5..5462.. 8P - 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x02, 0xb8, 0x38, 0x50, 0x38, 0x38, 0x50, // 88P88P88P..8P88P - 0x98, 0x34, 0x2c, 0x02, 0xe0, 0x44, 0x87, 0x80, 0x53, 0x2c, 0x34, 0x70, 0xa0, 0x70, 0x34, 0x2c, // .4,..D..S,4p.p4, - 0x2c, 0x34, 0x70, 0xa0, 0x70, 0x34, 0x2c, 0x36, 0x64, 0x37, 0x41, 0x4c, 0x2a, 0x27, 0x11, 0x2c, // ,4p.p4,6d7AL*'., - 0x34, 0x70, 0xa0, 0x70, 0x18, 0x50, 0x38, 0x38, 0x50, 0x38, 0x04, 0xb8, 0x50, 0x38, 0x38, 0x50, // 4p.p.P88P8..P88P - 0x38, 0x48, 0x50, 0x38, 0x38, 0x50, 0x38, 0x60, 0x34, 0x59, 0x19, 0xfe, 0xe1, 0x7f, 0x26, 0x2b, // 8HP88P8`4Y....&+ - 0x28, 0x3e, 0x45, 0x1a, 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x50, 0x34, 0x59, 0x19, 0x03, 0x34, // (>E..Y4PppP4Y..4 - 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x50, 0x34, 0x59, 0x19, 0xfe, 0x0f, 0x1a, 0x1f, 0x11, 0x19, // .Y4PppP4Y....... - 0x25, 0x2a, 0x3c, 0x4f, 0x34, 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x00, 0x00, 0x08, 0x00, 0x00, // %* + 0x37, 0x13, 0x70, 0x0c, 0x05, 0x10, 0x12, 0x14, 0x00, 0x02, 0x00, 0x0d, 0x00, 0x00, 0x06, 0x80, // 7.p............. + 0x04, 0x33, 0x00, 0x14, 0x00, 0x24, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, // .3...$....."/.&4 + 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0x14, 0x01, 0x15, 0x14, // 7..&4?.62....... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x49, 0xfe, // .#!"&=.463!2..I. + 0x2e, 0x0a, 0x1a, 0x0a, 0x32, 0x0a, 0x0a, 0x01, 0x89, 0xfe, 0x77, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, // ....2.....w..2.. + 0x0a, 0x01, 0xd2, 0x0a, 0x04, 0x2d, 0x12, 0x0e, 0xfc, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0xc0, // .....-...@...... + 0x0e, 0x12, 0x02, 0x29, 0xfe, 0x2e, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0x89, 0x01, 0x89, // ...)....2....... + 0x0a, 0x1a, 0x0a, 0x32, 0x0a, 0x0a, 0xfe, 0x2e, 0x0a, 0x1a, 0xfe, 0x2d, 0x40, 0x0e, 0x12, 0x12, // ...2.......-@... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x2d, 0xff, 0x93, 0x07, 0x53, // .@.........-...S + 0x04, 0xed, 0x00, 0x14, 0x00, 0x24, 0x00, 0x39, 0x00, 0x00, 0x25, 0x07, 0x06, 0x22, 0x27, 0x01, // .....$.9..%.."'. + 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x07, 0x09, 0x01, 0x16, 0x14, 0x09, // &47.62.......... + 0x01, 0x0e, 0x01, 0x2f, 0x01, 0x2e, 0x01, 0x37, 0x01, 0x3e, 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x09, // .../...7.>...... + 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x09, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, // .."/.&47..&4?.62 + 0x17, 0x01, 0x16, 0x14, 0x02, 0x69, 0x32, 0x0a, 0x1a, 0x0a, 0xfe, 0x2e, 0x0a, 0x0a, 0x01, 0xd2, // .....i2......... + 0x0a, 0x1a, 0x0a, 0x32, 0x0a, 0x0a, 0xfe, 0x77, 0x01, 0x89, 0x0a, 0x02, 0x45, 0xfe, 0x8b, 0x04, // ...2...w....E... + 0x17, 0x0c, 0x3e, 0x0d, 0x0d, 0x04, 0x01, 0x75, 0x04, 0x17, 0x0c, 0x3e, 0x0d, 0x0d, 0x02, 0x8d, // ..>....u...>.... + 0xfe, 0x2e, 0x0a, 0x1a, 0x0a, 0x32, 0x0a, 0x0a, 0x01, 0x89, 0xfe, 0x77, 0x0a, 0x0a, 0x32, 0x0a, // .....2.....w..2. + 0x1a, 0x0a, 0x01, 0xd2, 0x0a, 0x89, 0x32, 0x0a, 0x0a, 0x01, 0xd2, 0x0a, 0x1a, 0x0a, 0x01, 0xd2, // ......2......... + 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0xfe, 0x77, 0xfe, 0x77, 0x0a, 0x1a, 0x04, 0x21, 0xfa, 0xf5, // ..2....w.w...!.. + 0x0d, 0x0d, 0x04, 0x11, 0x04, 0x17, 0x0d, 0x05, 0x0b, 0x0d, 0x0d, 0x04, 0x11, 0x04, 0x17, 0xfd, // ................ + 0x68, 0xfe, 0x2e, 0x0a, 0x0a, 0x32, 0x0a, 0x1a, 0x0a, 0x01, 0x89, 0x01, 0x89, 0x0a, 0x1a, 0x0a, // h....2.......... + 0x32, 0x0a, 0x0a, 0xfe, 0x2e, 0x0a, 0x1a, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // 2............... + 0x05, 0xbb, 0x00, 0x15, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, // .....;.......#"' + 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x17, 0x16, 0x1d, 0x01, 0x01, 0x06, 0x14, 0x17, 0x01, 0x14, // .&47.6.......... + 0x0e, 0x03, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x37, 0x12, 0x27, 0x2e, 0x01, 0x27, 0x15, 0x14, // ....#"'&7.'..'.. + 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x17, 0x16, 0x15, 0x11, 0x04, // ..#"'.&47.6..... + 0x17, 0x16, 0x02, 0x80, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x00, 0x13, 0x13, 0x02, 0x00, 0x1d, // ....'........... + 0x29, 0x27, 0xfe, 0x73, 0x13, 0x13, 0x06, 0x0d, 0x22, 0x2b, 0x35, 0x1c, 0x06, 0x08, 0x14, 0x06, // )'.s...."+5..... + 0x03, 0x19, 0x02, 0x2b, 0x95, 0x40, 0xd5, 0xa1, 0x27, 0x0d, 0x0c, 0x1b, 0x12, 0xfe, 0x00, 0x13, // ...+.@..'....... + 0x13, 0x02, 0x00, 0x1d, 0x29, 0x27, 0x01, 0x9b, 0xbc, 0xa9, 0x01, 0xc6, 0x46, 0x2a, 0x11, 0x05, // ....)'......F*.. + 0x13, 0x02, 0x00, 0x13, 0x34, 0x13, 0x02, 0x00, 0x1f, 0x11, 0x11, 0x2a, 0x45, 0xfe, 0x72, 0x13, // ....4......*E.r. + 0x34, 0x13, 0xfe, 0x4d, 0x3a, 0x97, 0x7d, 0x7d, 0x38, 0x0c, 0x11, 0x01, 0x08, 0x1a, 0x01, 0x90, // 4..M:.}}8....... + 0xa5, 0x47, 0x4f, 0x0d, 0xfb, 0x2a, 0x11, 0x05, 0x13, 0x02, 0x00, 0x13, 0x34, 0x13, 0x02, 0x00, // .GO..*......4... + 0x1f, 0x11, 0x11, 0x2a, 0xfe, 0xfa, 0x1c, 0xc1, 0xad, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, // ...*............ + 0xff, 0xad, 0x06, 0x7e, 0x05, 0xe0, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x01, 0x2d, 0x01, 0x2f, // ...~.....(...-./ + 0x01, 0x03, 0x11, 0x17, 0x05, 0x03, 0x27, 0x09, 0x01, 0x13, 0x16, 0x06, 0x23, 0x22, 0x27, 0x25, // ......'.....#"'% + 0x05, 0x06, 0x23, 0x22, 0x26, 0x37, 0x13, 0x01, 0x26, 0x36, 0x37, 0x25, 0x13, 0x36, 0x33, 0x32, // ..#"&7..&67%.632 + 0x17, 0x13, 0x05, 0x1e, 0x01, 0x04, 0xa2, 0x01, 0x01, 0xfe, 0x9c, 0x42, 0x1e, 0x9f, 0x3b, 0x01, // ...........B..;. + 0x3e, 0x3c, 0x0c, 0x01, 0xf5, 0xfe, 0x95, 0x56, 0x05, 0x16, 0x17, 0x11, 0x17, 0xfe, 0x3f, 0xfe, // ><.....V......?. + 0x3f, 0x17, 0x11, 0x17, 0x16, 0x05, 0x56, 0xfe, 0x94, 0x20, 0x12, 0x2d, 0x01, 0xf6, 0xe1, 0x14, // ?.....V.. .-.... + 0x1d, 0x1c, 0x15, 0xe1, 0x01, 0xf6, 0x2d, 0x12, 0x02, 0x43, 0xfa, 0x34, 0x0a, 0x3c, 0x01, 0x42, // ......-..C.4.<.B + 0xfc, 0x3d, 0x1f, 0xa8, 0x01, 0x63, 0x42, 0x01, 0x35, 0xfe, 0x9e, 0xfe, 0x0c, 0x21, 0x25, 0x0c, // .=...cB.5....!%. + 0xec, 0xec, 0x0c, 0x25, 0x21, 0x01, 0xf4, 0x01, 0x62, 0x20, 0x37, 0x07, 0x49, 0x01, 0xc7, 0x29, // ...%!...b 7.I..) + 0x29, 0xfe, 0x39, 0x49, 0x07, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0xff, 0x80, 0x05, 0x80, // ).9I.7.......... + 0x05, 0x00, 0x00, 0x16, 0x00, 0x00, 0x09, 0x01, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, // .........#"'..5. + 0x21, 0x22, 0x2e, 0x01, 0x36, 0x37, 0x01, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x05, 0x79, 0xfd, // !"..67.632....y. + 0x80, 0x11, 0x28, 0x05, 0x0a, 0x16, 0x1b, 0xfd, 0xc0, 0x16, 0x23, 0x0a, 0x12, 0x14, 0x05, 0x00, // ..(.......#..... + 0x0d, 0x10, 0x1b, 0x12, 0x0f, 0x07, 0x04, 0xa3, 0xfb, 0x00, 0x23, 0x02, 0x05, 0x23, 0x16, 0x02, // ..........#..#.. + 0x40, 0x1b, 0x2c, 0x28, 0x0a, 0x02, 0x80, 0x07, 0x13, 0x0e, 0x29, 0x00, 0x00, 0x03, 0x00, 0x00, // @.,(......)..... + 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x02, 0x00, 0x05, 0x00, 0x38, 0x00, 0x00, 0x01, 0x21, // ...........8...! + 0x11, 0x09, 0x01, 0x21, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, // ...!....+....+." + 0x26, 0x3d, 0x01, 0x21, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, // &=.!"&5.#"&=.46; + 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x37, 0x36, 0x32, 0x17, 0x16, // .546;.2...!762.. + 0x14, 0x0f, 0x01, 0x11, 0x33, 0x32, 0x16, 0x02, 0x2d, 0x02, 0x53, 0xfd, 0x80, 0x02, 0x53, 0xfd, // ....32..-.S...S. + 0xad, 0x04, 0x80, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xfc, 0xa0, 0x0e, 0x12, 0xe0, // ................ + 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x03, 0x53, 0xf6, 0x0a, 0x1a, 0x0a, // ...........S.... + 0x09, 0x09, 0xf7, 0xe0, 0x0e, 0x12, 0x01, 0x00, 0x02, 0x53, 0xfd, 0xda, 0x02, 0x53, 0xfd, 0x60, // .........S...S.` + 0xc0, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x03, 0x60, 0x12, 0x0e, 0xc0, // ............`... + 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0xf7, 0x09, 0x09, 0x0a, 0x1a, 0x0a, 0xf6, 0xfc, // ................ + 0xad, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x05, 0x80, 0x00, 0x07, // ................ + 0x00, 0x0f, 0x00, 0x17, 0x00, 0x4b, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // .....K..$4&"...2 + 0x12, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // .4&"...2.4&"...2 + 0x37, 0x14, 0x06, 0x07, 0x02, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x15, 0x14, // 7............... + 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x11, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, // ."&5467...5462.. + 0x14, 0x06, 0x07, 0x11, 0x36, 0x37, 0x3e, 0x05, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, // ....67>.5..5462. + 0x01, 0x20, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x02, 0xb8, 0x38, // . 8P88P88P88P..8 + 0x50, 0x38, 0x38, 0x50, 0x98, 0x34, 0x2c, 0x02, 0xe0, 0x43, 0x88, 0x80, 0x53, 0x2c, 0x34, 0x70, // P88P.4,..C..S,4p + 0xa0, 0x70, 0x34, 0x2c, 0x2c, 0x34, 0x70, 0xa0, 0x70, 0x34, 0x2c, 0x36, 0x64, 0x37, 0x41, 0x4c, // .p4,,4p.p4,6d7AL + 0x2a, 0x27, 0x11, 0x2c, 0x34, 0x70, 0xa0, 0x70, 0x18, 0x50, 0x38, 0x38, 0x50, 0x38, 0x04, 0xb8, // *'.,4p.p.P88P8.. + 0x50, 0x38, 0x38, 0x50, 0x38, 0x48, 0x50, 0x38, 0x38, 0x50, 0x38, 0x60, 0x34, 0x59, 0x19, 0xfe, // P88P8HP88P8`4Y.. + 0xe1, 0x7f, 0x26, 0x2b, 0x28, 0x3e, 0x45, 0x1a, 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x50, 0x34, // ..&+(>E..Y4PppP4 + 0x59, 0x19, 0x03, 0x34, 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x50, 0x34, 0x59, 0x19, 0xfe, 0x0f, // Y..4.Y4PppP4Y... + 0x1a, 0x1f, 0x11, 0x19, 0x25, 0x2a, 0x3c, 0x4f, 0x34, 0x19, 0x59, 0x34, 0x50, 0x70, 0x70, 0x00, // ....%* @@ -3330,29 +3656,30 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x01, 0x27, 0x1a, 0xff, 0x00, 0x1a, 0x27, 0x01, 0x1c, 0x01, 0x25, 0x1a, 0x01, 0x40, 0x1a, 0x25, // .'....'...%..@.% 0x01, 0x20, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0xe0, 0x1a, 0x26, 0x26, 0x04, 0x06, 0xfd, 0x00, 0x1a, // . ..&&...&&..... 0x26, 0x26, 0x1a, 0x03, 0x00, 0x1a, 0x26, 0x26, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x05, 0xfe, // &&....&&........ - 0x05, 0x6b, 0x00, 0x22, 0x00, 0x47, 0x00, 0x00, 0x25, 0x15, 0x23, 0x2f, 0x01, 0x26, 0x27, 0x23, // .k.".G..%.#/.&'# - 0x07, 0x06, 0x0f, 0x01, 0x21, 0x35, 0x33, 0x13, 0x03, 0x23, 0x35, 0x21, 0x17, 0x16, 0x17, 0x16, // ....!53..#5!.... - 0x17, 0x33, 0x36, 0x3f, 0x02, 0x21, 0x15, 0x23, 0x03, 0x13, 0x01, 0x15, 0x21, 0x27, 0x26, 0x35, // .36?.!.#....!'&5 - 0x34, 0x3e, 0x04, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x27, 0x36, 0x37, 0x36, 0x33, // 4>.54&#"...'6763 - 0x32, 0x16, 0x15, 0x14, 0x0e, 0x04, 0x07, 0x33, 0x35, 0x03, 0x81, 0xf8, 0x9f, 0x18, 0x08, 0x03, // 2......35....... - 0x03, 0x09, 0x0a, 0x0f, 0x9b, 0xfe, 0xfe, 0x80, 0xc5, 0xb9, 0x89, 0x01, 0x14, 0x8b, 0x02, 0x15, // ................ - 0x08, 0x03, 0x03, 0x03, 0x08, 0x19, 0x8c, 0x01, 0x01, 0x7d, 0xb8, 0xcc, 0x02, 0xea, 0xfd, 0xfe, // .........}...... - 0x03, 0x04, 0x34, 0x4e, 0x5a, 0x4e, 0x34, 0x3b, 0x29, 0x33, 0x2e, 0x0e, 0x16, 0x69, 0x1a, 0x25, // ..4NZN4;)3...i.% - 0x53, 0x69, 0x6e, 0x88, 0x31, 0x4b, 0x58, 0x4c, 0x37, 0x03, 0xe8, 0xa7, 0xa7, 0xfc, 0x2a, 0x09, // Sin.1KXL7.....*. - 0x0c, 0x15, 0x14, 0x18, 0xfa, 0xa7, 0x01, 0x23, 0x01, 0x10, 0xa8, 0xe4, 0x04, 0x26, 0x09, 0x0c, // .......#.....&.. - 0x09, 0x0c, 0x2a, 0xe4, 0xa8, 0xfe, 0xf5, 0xfe, 0xd8, 0x02, 0xa7, 0xce, 0x1b, 0x1c, 0x12, 0x40, // ..*............@ - 0x6a, 0x43, 0x3f, 0x2e, 0x3e, 0x21, 0x26, 0x31, 0x27, 0x0b, 0x1b, 0x5c, 0x25, 0x1d, 0x41, 0x77, // jC?.>!&1'...%.Aw - 0x63, 0x38, 0x5e, 0x3b, 0x3a, 0x2b, 0x3c, 0x21, 0x50, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, // c8^;:+.54&#"...' - 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x07, 0x33, 0x35, 0x03, 0x81, 0xf8, // 67632......35... - 0x9f, 0x18, 0x08, 0x03, 0x03, 0x09, 0x0a, 0x0f, 0x9b, 0xfe, 0xfe, 0x80, 0xc5, 0xb9, 0x89, 0x01, // ................ - 0x14, 0x8b, 0x02, 0x15, 0x08, 0x03, 0x03, 0x03, 0x08, 0x19, 0x8c, 0x01, 0x01, 0x7d, 0xb8, 0xcc, // .............}.. - 0x02, 0xec, 0xfd, 0xfe, 0x04, 0x03, 0x34, 0x4e, 0x5a, 0x4e, 0x34, 0x3b, 0x29, 0x33, 0x2e, 0x0e, // ......4NZN4;)3.. - 0x16, 0x69, 0x1a, 0x25, 0x50, 0x6c, 0x6e, 0x88, 0x45, 0x63, 0x64, 0x4a, 0x04, 0xe8, 0xa7, 0xa7, // .i.%Pln.EcdJ.... - 0xfc, 0x2a, 0x09, 0x0c, 0x15, 0x14, 0x18, 0xfa, 0xa7, 0x01, 0x23, 0x01, 0x10, 0xa8, 0xe4, 0x04, // .*........#..... + 0x05, 0x6b, 0x00, 0x25, 0x00, 0x4a, 0x00, 0x00, 0x25, 0x15, 0x23, 0x2f, 0x01, 0x26, 0x27, 0x23, // .k.%.J..%.#/.&'# + 0x0e, 0x02, 0x07, 0x06, 0x0f, 0x01, 0x21, 0x35, 0x33, 0x13, 0x03, 0x23, 0x35, 0x21, 0x17, 0x16, // ......!53..#5!.. + 0x17, 0x16, 0x17, 0x33, 0x36, 0x3f, 0x02, 0x21, 0x15, 0x23, 0x03, 0x13, 0x01, 0x15, 0x21, 0x27, // ...36?.!.#....!' + 0x26, 0x35, 0x34, 0x3e, 0x04, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x27, 0x36, 0x37, // &54>.54&#"...'67 + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x04, 0x07, 0x33, 0x35, 0x03, 0x81, 0xf8, 0x9f, 0x18, // 632......35..... + 0x08, 0x03, 0x03, 0x01, 0x03, 0x04, 0x01, 0x0a, 0x0f, 0x9b, 0xfe, 0xfe, 0x80, 0xc5, 0xb9, 0x89, // ................ + 0x01, 0x14, 0x8b, 0x02, 0x15, 0x08, 0x03, 0x03, 0x03, 0x08, 0x19, 0x8c, 0x01, 0x01, 0x7d, 0xb8, // ..............}. + 0xcc, 0x02, 0xea, 0xfd, 0xfe, 0x03, 0x04, 0x34, 0x4e, 0x5a, 0x4e, 0x34, 0x3b, 0x29, 0x33, 0x2e, // .......4NZN4;)3. + 0x0e, 0x16, 0x69, 0x1a, 0x25, 0x53, 0x69, 0x6e, 0x88, 0x31, 0x4b, 0x58, 0x4c, 0x37, 0x03, 0xe8, // ..i.%Sin.1KXL7.. + 0xa7, 0xa7, 0xfc, 0x2a, 0x09, 0x0c, 0x03, 0x07, 0x09, 0x02, 0x14, 0x18, 0xfa, 0xa7, 0x01, 0x23, // ...*...........# + 0x01, 0x10, 0xa8, 0xe4, 0x04, 0x26, 0x09, 0x0c, 0x09, 0x0c, 0x2a, 0xe4, 0xa8, 0xfe, 0xf5, 0xfe, // .....&....*..... + 0xd8, 0x02, 0xa7, 0xce, 0x1b, 0x1c, 0x12, 0x40, 0x6a, 0x43, 0x3f, 0x2e, 0x3e, 0x21, 0x26, 0x31, // .......@jC?.>!&1 + 0x27, 0x0b, 0x1b, 0x5c, 0x25, 0x1d, 0x41, 0x77, 0x63, 0x38, 0x5e, 0x3b, 0x3a, 0x2b, 0x3c, 0x21, // '...%.Awc8^;:+ + 0x04, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x27, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, // .54&#"...'67632. + 0x15, 0x14, 0x0e, 0x03, 0x07, 0x33, 0x35, 0x03, 0x81, 0xf8, 0x9f, 0x18, 0x08, 0x03, 0x03, 0x01, // .....35......... + 0x03, 0x04, 0x01, 0x0a, 0x0f, 0x9b, 0xfe, 0xfe, 0x80, 0xc5, 0xb9, 0x89, 0x01, 0x14, 0x8b, 0x02, // ................ + 0x15, 0x08, 0x03, 0x03, 0x03, 0x08, 0x19, 0x8c, 0x01, 0x01, 0x7d, 0xb8, 0xcc, 0x02, 0xec, 0xfd, // ..........}..... + 0xfe, 0x04, 0x03, 0x34, 0x4e, 0x5a, 0x4e, 0x34, 0x3b, 0x29, 0x33, 0x2e, 0x0e, 0x16, 0x69, 0x1a, // ...4NZN4;)3...i. + 0x25, 0x50, 0x6c, 0x6e, 0x88, 0x45, 0x63, 0x64, 0x4a, 0x04, 0xe8, 0xa7, 0xa7, 0xfc, 0x2a, 0x09, // %Pln.EcdJ.....*. + 0x0c, 0x03, 0x07, 0x09, 0x02, 0x14, 0x18, 0xfa, 0xa7, 0x01, 0x23, 0x01, 0x10, 0xa8, 0xe4, 0x04, // ..........#..... 0x26, 0x09, 0x0c, 0x09, 0x0c, 0x2a, 0xe4, 0xa8, 0xfe, 0xf5, 0xfe, 0xd8, 0xd9, 0xce, 0x1b, 0x2d, // &....*.........- 0x01, 0x40, 0x6a, 0x43, 0x3f, 0x2e, 0x3e, 0x21, 0x26, 0x31, 0x27, 0x0b, 0x1b, 0x5c, 0x25, 0x1d, // .@jC?.>!&1'...%. 0x41, 0x77, 0x63, 0x42, 0x69, 0x43, 0x3a, 0x44, 0x27, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, // AwcBiC:D'P...... @@ -3502,7 +3829,7 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, // "&=.46;.5..5462. 0x15, 0x14, 0x06, 0x07, 0x15, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x3e, // .....32.....+..> 0x01, 0x37, 0x27, 0x26, 0x37, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0xc0, 0x26, 0x34, 0x26, 0x26, // .7'&763!2...&4&& - 0x34, 0x03, 0x66, 0x14, 0x08, 0x04, 0x0d, 0x0a, 0x5d, 0x77, 0xfe, 0x71, 0xfe, 0x34, 0xfe, 0x71, // 4.f.....]w.q.4.q + 0x34, 0x03, 0x66, 0x14, 0x08, 0x04, 0x0c, 0x0b, 0x5d, 0x77, 0xfe, 0x71, 0xfe, 0x34, 0xfe, 0x71, // 4.f.....]w.q.4.q 0x77, 0x5d, 0x09, 0x0e, 0x04, 0x08, 0x14, 0x12, 0x0e, 0x01, 0x60, 0x16, 0x08, 0x08, 0x0f, 0x64, // w]........`....d 0x43, 0xf5, 0x95, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0xc0, 0x3a, 0x46, 0x96, 0xd4, 0x96, 0x46, 0x3a, // C....&&..:F...F: 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0xc0, 0x95, 0xf5, 0x43, 0x64, 0x0f, 0x08, 0x08, 0x16, 0x01, 0x60, // ..&&....Cd.....` @@ -3552,11 +3879,11 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x01, 0x17, 0x1e, 0x01, 0x3b, 0x01, 0x32, 0x36, 0x25, 0x26, 0x02, 0x2e, 0x01, 0x24, 0x27, 0x26, // ....;.26%&...$'& 0x07, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x17, 0x16, 0x04, 0x12, 0x17, 0x1e, 0x01, 0x3b, 0x01, 0x32, // .............;.2 0x37, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 76....#!"&5.463! - 0x32, 0x16, 0x02, 0x00, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xaa, 0x0d, 0xfe, 0xb8, 0xe8, 0x0e, // 2...KjKKj....... + 0x32, 0x16, 0x02, 0x00, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xaa, 0x0d, 0xfe, 0xb9, 0xe9, 0x0e, // 2...KjKKj....... 0x14, 0x11, 0x0d, 0x9a, 0xdc, 0x0b, 0x01, 0x12, 0x0d, 0x80, 0x0d, 0x14, 0x01, 0x7f, 0x05, 0x66, // ...............f 0xb1, 0xe9, 0xfe, 0xe1, 0x9a, 0x0e, 0x09, 0x0a, 0x12, 0x0d, 0xcc, 0x01, 0x5c, 0xd1, 0x07, 0x01, // ................ 0x12, 0x0d, 0x80, 0x0d, 0x0a, 0x0b, 0x01, 0x1f, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // .........w.@w..w - 0x03, 0xc0, 0x77, 0xa9, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x22, 0xe8, 0x01, 0x48, 0x0d, 0x01, // ..w..jKKjK"..H.. + 0x03, 0xc0, 0x77, 0xa9, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x22, 0xe9, 0x01, 0x47, 0x0d, 0x01, // ..w..jKKjK"..G.. 0x14, 0x0d, 0x80, 0x0d, 0x12, 0x01, 0x0b, 0xdc, 0x9a, 0x0d, 0x11, 0x14, 0x0d, 0x9a, 0x01, 0x1f, // ................ 0xe9, 0xb1, 0x66, 0x05, 0x01, 0x0a, 0x0a, 0x0d, 0x80, 0x0d, 0x12, 0x01, 0x07, 0xd1, 0xfe, 0xa4, // ..f............. 0xcc, 0x0d, 0x12, 0x0a, 0x09, 0x03, 0xcd, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, // ........@w..w..w @@ -3637,7 +3964,7 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x0e, 0x05, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x27, 0x02, 0x37, 0x3e, 0x01, 0x33, // ......3276'.7>.3 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ....32....#!"&5. 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0xed, 0x01, 0x60, 0x13, 0x13, 0xfe, 0xa0, 0x1e, 0x27, // 463!2....`.....' - 0x28, 0x77, 0xc2, 0x83, 0x61, 0x38, 0x21, 0x0a, 0xa7, 0x0a, 0x0f, 0x07, 0x06, 0x16, 0x03, 0x2c, // (w..a8!........, + 0x28, 0x77, 0xc2, 0x83, 0x61, 0x38, 0x21, 0x0a, 0xa7, 0x0b, 0x0e, 0x07, 0x06, 0x16, 0x03, 0x2c, // (w..a8!........, 0x6a, 0x2e, 0xa8, 0x8c, 0x28, 0x0c, 0x0c, 0x1a, 0x02, 0x26, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, // j...(....&.w.@w. 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0xb3, 0x01, 0x60, 0x13, 0x34, 0x13, 0x01, 0x60, 0x1f, // .w..w....`.4..`. 0x11, 0x11, 0x2a, 0xa0, 0x27, 0x3f, 0x5f, 0x60, 0x7a, 0x65, 0x3c, 0xb5, 0xdf, 0x0c, 0x03, 0x09, // ..*.'?_`ze<..... @@ -3792,275 +4119,288 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0xfc, 0x07, 0x1f, 0x3b, 0x61, 0xfd, 0x9d, 0x24, 0x38, 0x24, 0x19, 0x0c, 0x06, 0x02, 0xfe, 0xae, // ...;a..$8$...... 0x01, 0x03, 0x05, 0x0c, 0x10, 0x1a, 0x22, 0x2e, 0x01, 0xf8, 0x21, 0x33, 0x21, 0x17, 0x0a, 0x06, // ......"...!3!... 0x01, 0x01, 0xfe, 0xcd, 0x01, 0x01, 0x03, 0x08, 0x0e, 0x17, 0x1f, 0x2e, 0x00, 0x02, 0x00, 0x00, // ................ - 0xff, 0x80, 0x05, 0x00, 0x05, 0x80, 0x00, 0x11, 0x00, 0x18, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, // ................ - 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x11, 0x14, 0x16, 0x33, 0x25, 0x21, // #!"&5.463!...3%! - 0x11, 0x16, 0x17, 0x01, 0x16, 0x05, 0x00, 0x38, 0x28, 0xfb, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, // .......8(..(88(. - 0x20, 0x38, 0x28, 0x02, 0x1d, 0xfe, 0x03, 0x52, 0x32, 0x01, 0x38, 0x32, 0x03, 0x00, 0xfc, 0xe0, // 8(....R2.82.... - 0x28, 0x38, 0x38, 0x28, 0x05, 0x40, 0x28, 0x38, 0xfd, 0xe0, 0x28, 0x38, 0x80, 0x01, 0xfd, 0x0f, // (88(.@(8..(8.... - 0x32, 0xfe, 0xc8, 0x32, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x05, 0x00, 0x05, 0x80, 0x00, 0x0f, // 2..2............ - 0x00, 0x1f, 0x00, 0x31, 0x00, 0x38, 0x00, 0x00, 0x25, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, // ...1.8..%54&#!". - 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, // ....3!26.54&#!". - 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ....3!26....#!"& - 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x11, 0x14, 0x16, 0x33, 0x25, 0x21, 0x11, 0x16, 0x17, 0x01, // 5.463!...3%!.... - 0x16, 0x04, 0x00, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, // ......@......... - 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x01, 0x00, 0x38, 0x28, 0xfb, // ..@..........8(. - 0xc0, 0x28, 0x38, 0x38, 0x28, 0x02, 0x20, 0x38, 0x28, 0x02, 0x1d, 0xfe, 0x03, 0x52, 0x32, 0x01, // .(88(. 8(....R2. - 0x38, 0x32, 0xa0, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, // 82.@....@.....@. - 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x6e, 0xfc, 0xe0, 0x28, 0x38, 0x38, 0x28, 0x05, // ...@....n..(88(. - 0x40, 0x28, 0x38, 0xfd, 0xe0, 0x28, 0x38, 0x80, 0x01, 0xfd, 0x0f, 0x32, 0xfe, 0xc8, 0x32, 0x00, // @(8..(8....2..2. - 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x06, 0x7d, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x42, // ..."...}.....$.B - 0x00, 0x52, 0x00, 0x00, 0x01, 0x33, 0x2f, 0x01, 0x26, 0x35, 0x23, 0x07, 0x14, 0x06, 0x07, 0x01, // .R...3/.&5#..... - 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, // ....#"'.&76;..46 - 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x05, 0x15, 0x21, 0x35, 0x01, 0x36, 0x3f, // ;.2...32...!5.6? - 0x01, 0x35, 0x22, 0x06, 0x23, 0x06, 0x2b, 0x01, 0x15, 0x23, 0x35, 0x21, 0x15, 0x01, 0x06, 0x0f, // .5".#.+..#5!.... - 0x01, 0x15, 0x37, 0x36, 0x3b, 0x01, 0x35, 0x13, 0x15, 0x21, 0x35, 0x33, 0x27, 0x23, 0x07, 0x33, // ..76;.5..!53'#.3 - 0x15, 0x21, 0x35, 0x33, 0x13, 0x33, 0x13, 0x04, 0xa7, 0xb1, 0x48, 0x0c, 0x02, 0x04, 0x03, 0x07, // .!53.3....H..... - 0x04, 0xfd, 0xf0, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, // ................ - 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x03, 0x44, 0xfd, 0xb8, 0x01, 0x71, 0x0c, // ..........D...q. - 0x09, 0x0b, 0x02, 0x09, 0x03, 0x0c, 0x12, 0xe8, 0x78, 0x02, 0x37, 0xfe, 0x8f, 0x06, 0x0f, 0x0b, // ........x.7..... - 0x0e, 0x09, 0x15, 0xf8, 0xd2, 0xfe, 0xe0, 0x4b, 0x2f, 0xf3, 0x2f, 0x4b, 0xfe, 0xe1, 0x46, 0xe6, // .......K/./K..F. - 0xa2, 0xe6, 0x04, 0x68, 0xda, 0x2f, 0x10, 0x04, 0x14, 0x01, 0x22, 0x0c, 0xfb, 0x1e, 0x0c, 0x0c, // ...h./...."..... - 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, // .....@....`..... - 0xa0, 0x12, 0x85, 0xe9, 0x5a, 0x02, 0x11, 0x12, 0x09, 0x09, 0x03, 0x01, 0x03, 0x73, 0xe5, 0x59, // ....Z........s.Y - 0xfd, 0xee, 0x08, 0x12, 0x0b, 0x02, 0x02, 0x02, 0x77, 0x03, 0x81, 0x6a, 0x6a, 0x90, 0x90, 0x6a, // ........w..jj..j - 0x6a, 0x02, 0x96, 0xfd, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x06, 0x7d, // j...j......"...} - 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x34, 0x00, 0x52, 0x00, 0x00, 0x25, 0x33, 0x2f, 0x01, // .....$.4.R..%3/. - 0x26, 0x35, 0x23, 0x07, 0x14, 0x06, 0x07, 0x05, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, // &5#.........#"'. + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x01, 0x11, 0x16, 0x17, // ................ + 0x01, 0x16, 0x17, 0x05, 0x14, 0x16, 0x33, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // ......3!...#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x04, 0x00, 0x16, 0x0e, 0x01, 0x98, 0x0e, 0x0e, 0xfd, 0xa8, 0x38, // .463!..........8 + 0x28, 0x02, 0x20, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x20, 0x04, 0x00, 0x01, // (. 8(..(88(. ... + 0xd8, 0x0e, 0x0e, 0xfe, 0x68, 0x0e, 0x16, 0x20, 0x28, 0x38, 0xfb, 0xe0, 0x28, 0x38, 0x38, 0x28, // ....h.. (8..(88( + 0x06, 0x40, 0x28, 0x38, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x06, // .@(8............ + 0x00, 0x18, 0x00, 0x28, 0x00, 0x38, 0x00, 0x48, 0x00, 0x00, 0x01, 0x16, 0x17, 0x21, 0x11, 0x16, // ...(.8.H.....!.. + 0x17, 0x03, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // ..!...#!"&5.463! + 0x11, 0x14, 0x16, 0x13, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, // ....54&#!".....3 + 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, // !26.54&#!".....3 + 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, // !26.54&#!".....3 + 0x21, 0x32, 0x36, 0x05, 0xbc, 0x0e, 0x0e, 0xfe, 0x28, 0x16, 0x0e, 0x44, 0x02, 0x20, 0x38, 0x28, // !26.....(..D. 8( + 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x20, 0x38, 0xc8, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, // ..(88(. 8....@.. + 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, // .........@...... + 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x04, 0x24, // .....@.........$ + 0x0e, 0x16, 0x01, 0xd8, 0x0e, 0x0e, 0xfd, 0xc4, 0xfb, 0xe0, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, // ..........(88(.@ + 0x28, 0x38, 0xfd, 0xe0, 0x28, 0x38, 0xfd, 0x20, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // (8..(8. @....@.. + 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, // ...@....@.....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x06, 0x7d, // ...@......."...} + 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x42, 0x00, 0x52, 0x00, 0x00, 0x01, 0x33, 0x2f, 0x01, // .....$.B.R...3/. + 0x26, 0x35, 0x23, 0x07, 0x14, 0x06, 0x07, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, // &5#.........#"'. 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, // &76;..46;.2...32 - 0x16, 0x01, 0x15, 0x21, 0x35, 0x33, 0x27, 0x23, 0x07, 0x33, 0x15, 0x21, 0x35, 0x33, 0x13, 0x33, // ...!53'#.3.!53.3 - 0x13, 0x03, 0x15, 0x21, 0x35, 0x01, 0x36, 0x3f, 0x01, 0x35, 0x22, 0x06, 0x23, 0x06, 0x2b, 0x01, // ...!5.6?.5".#.+. - 0x15, 0x23, 0x35, 0x21, 0x15, 0x01, 0x06, 0x0f, 0x01, 0x15, 0x37, 0x36, 0x3b, 0x01, 0x35, 0x04, // .#5!......76;.5. + 0x16, 0x05, 0x15, 0x21, 0x35, 0x01, 0x36, 0x3f, 0x01, 0x35, 0x22, 0x06, 0x23, 0x06, 0x2b, 0x01, // ...!5.6?.5".#.+. + 0x15, 0x23, 0x35, 0x21, 0x15, 0x01, 0x06, 0x0f, 0x01, 0x15, 0x37, 0x36, 0x3b, 0x01, 0x35, 0x13, // .#5!......76;.5. + 0x15, 0x21, 0x35, 0x33, 0x27, 0x23, 0x07, 0x33, 0x15, 0x21, 0x35, 0x33, 0x13, 0x33, 0x13, 0x04, // .!53'#.3.!53.3.. 0xa7, 0xb1, 0x48, 0x0c, 0x02, 0x04, 0x03, 0x07, 0x04, 0xfd, 0xf0, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, // ..H............. 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, // ................ - 0x12, 0x03, 0x9d, 0xfe, 0xe0, 0x4b, 0x2f, 0xf3, 0x2f, 0x4b, 0xfe, 0xe1, 0x46, 0xe6, 0xa2, 0xe6, // .....K/./K..F... - 0x13, 0xfd, 0xb8, 0x01, 0x71, 0x0c, 0x09, 0x0b, 0x02, 0x09, 0x03, 0x0c, 0x12, 0xe8, 0x78, 0x02, // ....q.........x. - 0x37, 0xfe, 0x8f, 0x06, 0x0f, 0x0b, 0x0e, 0x09, 0x15, 0xf8, 0x68, 0xda, 0x2f, 0x10, 0x04, 0x14, // 7.........h./... - 0x01, 0x22, 0x0c, 0xe2, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, // .".........@.... - 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0xfe, 0xfc, 0x6a, 0x6a, 0x90, 0x90, 0x6a, 0x6a, // `.........jj..jj - 0x02, 0x96, 0xfd, 0x6a, 0x04, 0x7f, 0xe9, 0x5a, 0x02, 0x11, 0x12, 0x09, 0x09, 0x03, 0x01, 0x03, // ...j...Z........ - 0x73, 0xe5, 0x59, 0xfd, 0xee, 0x08, 0x12, 0x0a, 0x03, 0x03, 0x01, 0x77, 0x00, 0x05, 0x00, 0x22, // s.Y........w..." - 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x19, 0x00, 0x29, 0x00, 0x39, 0x00, 0x49, 0x00, 0x59, // .........).9.I.Y - 0x00, 0x00, 0x25, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, // ..%....#"'.&76;. - 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x05, 0x15, 0x14, 0x06, // .46;.2...32..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xe0, 0x0a, 0xfe, // #!"&=.463!2..... - 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, // ................ - 0x12, 0xc0, 0x0e, 0x12, 0x04, 0x20, 0x12, 0x0e, 0xfc, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0x40, // ..... .........@ - 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xfd, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x80, 0x0e, 0x12, 0xc0, // ................ - 0x12, 0x0e, 0xfe, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xff, // ...@............ - 0x00, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x00, 0x0e, 0x12, 0x60, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, // .........`...... - 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x8e, 0xc0, // .@....`......... - 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // ................ - 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, // ................ - 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x22, // ..............." - 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x29, 0x00, 0x39, 0x00, 0x49, 0x00, 0x59, // .........).9.I.Y - 0x00, 0x00, 0x05, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // ......#!"&=.463! - 0x32, 0x16, 0x25, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, // 2.%....#"'.&76;. - 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, // .46;.2...32..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x15, 0x14, 0x06, // #!"&=.463!2..... - 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0xc0, 0x12, 0x0e, // #!"&=.463!2..... - 0xff, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x00, 0x0e, 0x12, 0xfe, 0x20, 0x0a, 0xfe, 0xc1, 0x0a, // ........... .... - 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, // ................ - 0x0e, 0x12, 0x02, 0xa0, 0x12, 0x0e, 0xfe, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, // .......@........ - 0xc0, 0x12, 0x0e, 0xfd, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x80, 0x0e, 0x12, 0xc0, 0x12, 0x0e, // ................ - 0xfc, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0x40, 0x0e, 0x12, 0x20, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // .......@.. ..... - 0xc0, 0x0e, 0x12, 0x12, 0x72, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, // ....r.......@... - 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x01, 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // .`........r..... - 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, // ................ - 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x22, // ..............." - 0xff, 0x00, 0x05, 0xce, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x43, 0x00, 0x56, 0x00, 0x00, // .........$.C.V.. - 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x36, 0x05, 0x14, 0x07, 0x01, 0x06, // %4&#"...326..... - 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // #"'.&76;..46;.2. - 0x15, 0x11, 0x33, 0x32, 0x16, 0x25, 0x14, 0x0e, 0x03, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, // ..32.%...#"'&'7. - 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, // ..3267#..#"&5463 - 0x32, 0x16, 0x03, 0x15, 0x21, 0x35, 0x33, 0x11, 0x34, 0x36, 0x3d, 0x01, 0x23, 0x07, 0x06, 0x0f, // 2...!53.46=.#... - 0x01, 0x27, 0x37, 0x33, 0x11, 0x05, 0x42, 0x58, 0x3b, 0x34, 0x3e, 0x49, 0x44, 0x32, 0x46, 0xfd, // .'73..BX;4>ID2F. - 0x9e, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, // ................ - 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, 0xee, 0x1a, 0x38, 0x50, 0x75, 0x45, 0x3e, 0x2e, // ..........8PuE>. - 0x18, 0x12, 0x27, 0x0f, 0x10, 0x25, 0x26, 0x54, 0x65, 0x10, 0x02, 0x15, 0x51, 0x2c, 0x6a, 0x86, // ..'..%&Te...Q,j. - 0x90, 0x6d, 0x7b, 0xa4, 0x1e, 0xfe, 0x2b, 0xa7, 0x01, 0x02, 0x07, 0x08, 0x12, 0x3e, 0x52, 0xc0, // .m{...+......>R. - 0x7b, 0xdf, 0x3f, 0x6a, 0x4a, 0x72, 0x4c, 0x36, 0x56, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, // {.?jJrL6V....... - 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x37, 0x3e, 0x77, // @....`.......7>w - 0x6d, 0x52, 0x31, 0x10, 0x08, 0x07, 0x71, 0x07, 0x04, 0x0d, 0x75, 0x57, 0x17, 0x1c, 0x8f, 0x65, // mR1...q...uW...e - 0x69, 0x92, 0xbd, 0x02, 0x2f, 0x72, 0x72, 0x01, 0xb0, 0x07, 0x18, 0x05, 0x10, 0x0c, 0x0d, 0x12, // i.../rr......... - 0x3a, 0x56, 0xb9, 0xfd, 0x72, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x05, 0xce, // :V..r......".... - 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x37, 0x00, 0x56, 0x00, 0x00, 0x01, 0x34, 0x26, 0x23, // .....$.7.V...4&# - 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, // "...326.....#"'. - 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, // &76;..46;.2...32 - 0x16, 0x05, 0x15, 0x21, 0x35, 0x33, 0x11, 0x34, 0x36, 0x3d, 0x01, 0x23, 0x07, 0x06, 0x0f, 0x01, // ...!53.46=.#.... - 0x27, 0x37, 0x33, 0x11, 0x13, 0x14, 0x0e, 0x03, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, // '73.....#"'&'7.. - 0x16, 0x33, 0x32, 0x36, 0x37, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, // .3267#..#"&54632 - 0x16, 0x05, 0x42, 0x58, 0x3b, 0x34, 0x3e, 0x49, 0x44, 0x32, 0x46, 0xfd, 0x9e, 0x0a, 0xfe, 0xc1, // ..BX;4>ID2F..... - 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // ................ - 0xc0, 0x0e, 0x12, 0x02, 0xd0, 0xfe, 0x2b, 0xa7, 0x01, 0x02, 0x07, 0x08, 0x12, 0x3e, 0x52, 0xc0, // ......+......>R. - 0x7b, 0xc3, 0x1a, 0x38, 0x50, 0x75, 0x45, 0x3e, 0x2e, 0x18, 0x12, 0x27, 0x0f, 0x10, 0x25, 0x26, // {..8PuE>...'..%& - 0x54, 0x65, 0x10, 0x02, 0x15, 0x51, 0x2c, 0x6a, 0x86, 0x90, 0x6d, 0x7b, 0xa4, 0x04, 0xdf, 0x3f, // Te...Q,j..m{...? - 0x6a, 0x4a, 0x72, 0x4c, 0x36, 0xfb, 0xaa, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, // jJrL6.........@. - 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0xfc, 0x72, 0x72, 0x01, 0xb0, // ...`........rr.. - 0x07, 0x18, 0x05, 0x10, 0x0c, 0x0d, 0x12, 0x3a, 0x56, 0xb9, 0xfd, 0x72, 0x05, 0x33, 0x3e, 0x77, // .......:V..r.3>w - 0x6d, 0x52, 0x31, 0x10, 0x08, 0x07, 0x71, 0x07, 0x04, 0x0d, 0x75, 0x57, 0x17, 0x1c, 0x8f, 0x65, // mR1...q...uW...e - 0x69, 0x92, 0xbd, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x40, 0x05, 0x80, 0x00, 0x0b, // i..........@.... - 0x00, 0x1b, 0x00, 0x5c, 0x00, 0x00, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, // ......%4&#"....3 - 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 26....#!"&5.463! - 0x32, 0x16, 0x05, 0x14, 0x07, 0x16, 0x15, 0x16, 0x07, 0x16, 0x07, 0x06, 0x07, 0x16, 0x07, 0x06, // 2............... - 0x07, 0x2b, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, // .+."..'&'..5.467 - 0x3e, 0x01, 0x37, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x05, // >.767>.7>.7632.. - 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x07, 0x21, 0x32, 0x16, 0x01, 0x00, 0x26, 0x1a, 0x1b, // ........!2...&.. - 0x25, 0x25, 0x1b, 0x1a, 0x26, 0xa0, 0x26, 0x1a, 0xfe, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x20, // %%..&.&....&&.. - 0x1a, 0x26, 0x04, 0xa0, 0x37, 0x0f, 0x03, 0x2e, 0x11, 0x11, 0x0f, 0x27, 0x09, 0x3a, 0x40, 0x85, // .&..7......'.:@. - 0x24, 0x4c, 0x11, 0x42, 0x9c, 0x57, 0x4d, 0x7b, 0x23, 0x1a, 0x26, 0x24, 0x19, 0x18, 0x68, 0x31, // $L.B.WM{#.&$..h1 - 0x44, 0x21, 0x12, 0x1a, 0x09, 0x09, 0x07, 0x0b, 0x1c, 0x14, 0x13, 0x1a, 0x2e, 0x49, 0x2f, 0x21, // D!...........I/! - 0x0f, 0x09, 0x01, 0x13, 0x13, 0x12, 0x03, 0x0e, 0x08, 0x04, 0x01, 0x15, 0x4e, 0x72, 0xc0, 0x1a, // ............Nr.. - 0x26, 0x26, 0x1a, 0x1b, 0x25, 0x25, 0x02, 0x1b, 0xfd, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x80, // &&..%%.....&&... - 0x1a, 0x26, 0x26, 0x1a, 0x56, 0x3f, 0x2c, 0x20, 0x4c, 0x3d, 0x38, 0x3d, 0x39, 0x25, 0x70, 0x45, // .&&.V?, L=8=9%pE - 0x4c, 0x02, 0x1f, 0x1b, 0x1a, 0x2b, 0x01, 0x01, 0x25, 0x1a, 0x02, 0x81, 0x19, 0x25, 0x02, 0x02, // L....+..%....%.. - 0x72, 0x40, 0x57, 0x21, 0x12, 0x3c, 0x25, 0x2a, 0x27, 0x2c, 0x3c, 0x14, 0x13, 0x15, 0x1f, 0x32, // r@W!.<%*',<....2 - 0x28, 0x3c, 0x1e, 0x18, 0x26, 0x4c, 0x2c, 0x22, 0x06, 0x18, 0x14, 0x0e, 0x72, 0x00, 0x00, 0x00, // (<..&L,"....r... - 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x40, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x5c, // .......@........ - 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x13, 0x11, // .....#"&54632... - 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x25, 0x16, // 4&#!".....3!26%. - 0x15, 0x0e, 0x01, 0x23, 0x21, 0x1e, 0x02, 0x17, 0x1e, 0x02, 0x15, 0x14, 0x0e, 0x05, 0x23, 0x22, // ...#!.........#" - 0x27, 0x2e, 0x02, 0x27, 0x2e, 0x02, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x35, 0x11, // '..'..'&'..'..5. - 0x34, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x02, 0x3b, 0x03, 0x16, 0x17, 0x16, 0x07, 0x16, 0x17, 0x16, // 46767>.;........ - 0x07, 0x16, 0x07, 0x14, 0x01, 0x00, 0x26, 0x1a, 0x1b, 0x25, 0x25, 0x1b, 0x1a, 0x26, 0xa0, 0x26, // ......&..%%..&.& - 0x1a, 0xfe, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x20, 0x1a, 0x26, 0x04, 0x69, 0x37, 0x01, 0x71, // ....&&.. .&.i7.q - 0x4e, 0xfe, 0xeb, 0x04, 0x08, 0x0e, 0x03, 0x12, 0x12, 0x14, 0x01, 0x09, 0x0f, 0x21, 0x2f, 0x49, // N............!/I - 0x2e, 0x1a, 0x13, 0x14, 0x1c, 0x0b, 0x07, 0x09, 0x09, 0x1a, 0x12, 0x21, 0x44, 0x31, 0x68, 0x18, // ...........!D1h. - 0x19, 0x24, 0x26, 0x1a, 0x23, 0x7b, 0x4d, 0x57, 0x9c, 0x42, 0x11, 0x4c, 0x24, 0x85, 0x40, 0x3a, // .$&.#{MW.B.L$.@: - 0x09, 0x27, 0x0f, 0x11, 0x11, 0x2e, 0x03, 0x03, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x1b, 0x25, 0x25, // .'........&&..%% - 0xfd, 0xe5, 0x02, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xfd, 0x80, 0x1a, 0x26, 0x26, 0xaf, 0x3d, 0x58, // .....&&....&&.=X - 0x4e, 0x72, 0x0e, 0x14, 0x18, 0x06, 0x25, 0x28, 0x4d, 0x26, 0x18, 0x1e, 0x3c, 0x28, 0x32, 0x1f, // Nr....%(M&..<(2. - 0x15, 0x13, 0x14, 0x3c, 0x2c, 0x27, 0x2a, 0x25, 0x3c, 0x12, 0x21, 0x57, 0x40, 0x72, 0x02, 0x02, // ...<,'*%<.!W@r.. - 0x25, 0x19, 0x02, 0x81, 0x1a, 0x25, 0x01, 0x01, 0x2b, 0x1a, 0x1b, 0x1f, 0x02, 0x4c, 0x45, 0x70, // %....%..+....LEp - 0x25, 0x39, 0x3d, 0x38, 0x3d, 0x4c, 0x20, 0x00, 0x00, 0x0c, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // %9=8=L ......... - 0x05, 0x80, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x2b, 0x00, 0x3d, 0x00, 0x5c, 0x00, 0x64, // .........+.=...d - 0x00, 0x7f, 0x00, 0x8c, 0x00, 0x9e, 0x00, 0xb2, 0x00, 0xc2, 0x00, 0x00, 0x25, 0x35, 0x34, 0x23, // ............%54# - 0x22, 0x07, 0x15, 0x16, 0x33, 0x32, 0x37, 0x33, 0x35, 0x34, 0x22, 0x15, 0x25, 0x15, 0x23, 0x11, // "...327354".%.#. - 0x23, 0x11, 0x23, 0x35, 0x05, 0x11, 0x23, 0x35, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, // #.#5..#5.#"'&5.3 - 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, 0x05, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, // ....327......#"' - 0x15, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x15, 0x14, 0x07, 0x06, 0x07, // .#.3.632........ - 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x1d, 0x01, 0x23, // .#"'&=.4762....# - 0x15, 0x14, 0x33, 0x32, 0x37, 0x34, 0x36, 0x34, 0x35, 0x01, 0x15, 0x14, 0x22, 0x3d, 0x01, 0x34, // ..3274645..."=.4 - 0x32, 0x01, 0x34, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x21, 0x20, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x15, // 2.4'..'&! ...... - 0x14, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x20, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x01, 0x13, 0x23, 0x07, // ...... 7>.76..#. - 0x27, 0x23, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x15, 0x33, 0x25, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, // '#......3%54'&#" - 0x07, 0x06, 0x1d, 0x01, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x17, 0x33, 0x11, 0x23, 0x11, // .......3276.3.#. - 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x01, // .#"'&5.#....327. - 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, // ...#!"&5.463!2.. - 0x97, 0x1d, 0x11, 0x10, 0x10, 0x11, 0x1d, 0xb8, 0x42, 0x42, 0xfd, 0xc5, 0x50, 0x4a, 0x4e, 0x01, // ........BB..PJN. - 0xb1, 0x43, 0x27, 0x25, 0x21, 0x09, 0x06, 0x42, 0x01, 0x01, 0x0e, 0x14, 0x16, 0x01, 0x3f, 0x07, // .C'%!..B......?. - 0x0c, 0x29, 0x23, 0x21, 0x43, 0x43, 0x20, 0x24, 0x29, 0x0c, 0x07, 0xfb, 0x02, 0x03, 0x0c, 0x1b, // .)#!CC $)....... - 0x35, 0x34, 0x1d, 0x15, 0x14, 0x1d, 0x66, 0x1b, 0x15, 0x85, 0x22, 0x18, 0x06, 0x01, 0xfe, 0x81, // 54....f..."..... - 0x40, 0x40, 0x02, 0x15, 0x13, 0x0a, 0x42, 0x2b, 0x88, 0xfe, 0xec, 0xfe, 0xed, 0x88, 0x2c, 0x41, // @@....B+......,A - 0x0a, 0x14, 0x14, 0x0a, 0x41, 0x2b, 0x89, 0x02, 0x26, 0x89, 0x2b, 0x41, 0x0a, 0x14, 0xfd, 0x0d, // ....A+..&.+A.... - 0x5a, 0x4b, 0x33, 0x35, 0x4e, 0x08, 0x20, 0x07, 0x23, 0x0b, 0x4a, 0x01, 0x21, 0x15, 0x1d, 0x31, // ZK35N. .#.J.!..1 - 0x33, 0x1b, 0x15, 0x15, 0x1b, 0x33, 0x31, 0x1d, 0x15, 0xb5, 0x43, 0x43, 0x16, 0x14, 0x0f, 0x01, // 3....31...CC.... - 0x01, 0x43, 0x06, 0x0b, 0x20, 0x24, 0x29, 0x01, 0xf7, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, // .C.. $)...w.@w.. - 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xe9, 0x9d, 0x32, 0x10, 0xe0, 0x10, 0xab, 0x22, 0x33, 0x33, 0xe8, // w..w...2...."33. - 0x46, 0xfe, 0x59, 0x01, 0xa7, 0x46, 0x7e, 0xfe, 0x91, 0x28, 0x2d, 0x1c, 0x10, 0x26, 0x01, 0x22, // F.Y..F~..(-..&." - 0xfe, 0xf2, 0x18, 0x02, 0x0f, 0x1f, 0x01, 0x18, 0x6f, 0x92, 0x34, 0x15, 0x2a, 0x29, 0x24, 0x01, // ........o.4.*)$. - 0xed, 0xa1, 0x28, 0x2a, 0x15, 0xb6, 0x09, 0x1d, 0x0e, 0x16, 0x12, 0x28, 0x26, 0x1b, 0x3b, 0x81, // ..(*.......(&.;. - 0x3b, 0x1b, 0x26, 0x26, 0x1c, 0x3a, 0x4c, 0x41, 0x33, 0x1a, 0x01, 0x0c, 0x15, 0x0b, 0x03, 0x38, // ;.&&.:LA3......8 - 0x9c, 0x33, 0x33, 0x9c, 0x34, 0xfd, 0x03, 0xb1, 0x53, 0x2c, 0x3b, 0x05, 0x0f, 0x0f, 0x05, 0x3b, // .33.4...S,;....; - 0x2c, 0x57, 0xad, 0xb0, 0x54, 0x2b, 0x3c, 0x05, 0x0f, 0x0f, 0x05, 0x3c, 0x2b, 0x54, 0x03, 0x3b, // ,W..T+<....<+T.; - 0x01, 0x28, 0xc3, 0xc3, 0x17, 0x5c, 0x17, 0x67, 0x37, 0xc9, 0x78, 0x82, 0x3a, 0x1d, 0x26, 0x26, // .(.....g7.x.:.&& - 0x1d, 0x3a, 0x82, 0x3a, 0x1d, 0x26, 0x26, 0x1b, 0x3c, 0x01, 0x72, 0xfe, 0xe5, 0x1f, 0x10, 0x02, // .:.:.&&.<.r..... - 0x18, 0x01, 0x10, 0xfe, 0xdb, 0x25, 0x12, 0x1b, 0x2d, 0x01, 0x08, 0xfc, 0x40, 0x77, 0xa9, 0xa9, // .....%..-...@w.. - 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x1b, 0xff, 0x00, 0x05, 0xe5, // w..w............ - 0x06, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x2b, 0x00, 0x3d, 0x00, 0x5b, 0x00, 0x63, // .........+.=.[.c - 0x00, 0x7d, 0x00, 0x89, 0x00, 0x9b, 0x00, 0xaf, 0x00, 0x00, 0x01, 0x15, 0x14, 0x23, 0x22, 0x27, // .}...........#"' - 0x11, 0x36, 0x33, 0x32, 0x05, 0x15, 0x23, 0x35, 0x34, 0x32, 0x25, 0x33, 0x35, 0x21, 0x15, 0x33, // .632..#542%35!.3 - 0x11, 0x33, 0x21, 0x33, 0x11, 0x23, 0x11, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, // .3!3.#..#"'&5.#. - 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x25, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x35, 0x23, // ...327%54'&#".5# - 0x11, 0x33, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, 0x25, 0x35, 0x23, 0x14, 0x07, 0x06, 0x23, 0x22, // .35.3276%5#...#" - 0x3d, 0x01, 0x33, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x1d, 0x01, 0x14, 0x17, 0x16, // =.354'&#"....... - 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x01, 0x35, 0x34, 0x22, 0x1d, 0x01, 0x14, 0x32, 0x01, 0x14, // 327676.54"...2.. - 0x07, 0x0e, 0x01, 0x07, 0x06, 0x20, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, // ..... '..'&547>. - 0x37, 0x36, 0x20, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x01, 0x33, 0x03, 0x11, 0x23, 0x11, 0x26, 0x27, // 76 ......3..#.&' - 0x26, 0x27, 0x33, 0x13, 0x05, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, // &'3......#"'&=.4 - 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x25, 0x11, 0x23, 0x35, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, // 7632..%.#5.#"'&5 - 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, 0x03, 0xcb, 0x27, 0x17, 0x16, 0x16, // .3....327...'... - 0x17, 0x27, 0x01, 0x52, 0x5a, 0x5a, 0xfc, 0x3a, 0x6b, 0xfe, 0xc8, 0x69, 0x64, 0x01, 0x20, 0x59, // .'.RZZ.:k..id. Y - 0x59, 0x1e, 0x1b, 0x12, 0x03, 0x01, 0x59, 0x08, 0x0c, 0x2e, 0x30, 0x36, 0x01, 0xad, 0x09, 0x11, // Y.....Y...06.... - 0x36, 0x32, 0x2b, 0x59, 0x59, 0x2d, 0x30, 0x36, 0x11, 0x09, 0x01, 0x52, 0x5b, 0x02, 0x07, 0x21, // 62+YY-06...R[..! - 0x2e, 0xb3, 0x1b, 0x27, 0x43, 0x44, 0x27, 0x1c, 0x1d, 0x27, 0x45, 0x48, 0x24, 0x12, 0x03, 0x02, // ...'CD'..'EH$... - 0xfd, 0xa0, 0x56, 0x56, 0x02, 0xcf, 0x1a, 0x0e, 0x58, 0x3a, 0xb8, 0xfd, 0x1a, 0xb8, 0x3a, 0x59, // ..VV....X:....:Y - 0x0d, 0x1a, 0x1a, 0x0e, 0x58, 0x3b, 0xb7, 0x02, 0xe6, 0xb8, 0x3a, 0x59, 0x0d, 0x1a, 0xfc, 0x1a, // ....X;....:Y.... - 0x66, 0x79, 0x64, 0x0e, 0x2f, 0x25, 0x1c, 0x6a, 0x47, 0x01, 0xb6, 0x1c, 0x25, 0x45, 0x43, 0x26, // fyd./%.jG...%EC& - 0x1c, 0x1c, 0x26, 0x43, 0x45, 0x25, 0x1c, 0x01, 0x4f, 0x5b, 0x35, 0x32, 0x2e, 0x0d, 0x08, 0x5b, // ..&CE%..O[52...[ - 0x01, 0x03, 0x12, 0x1b, 0x1e, 0x01, 0x24, 0xd3, 0x43, 0x16, 0x01, 0x2d, 0x16, 0x44, 0x2e, 0x2e, // ......$.C..-.D.. - 0x44, 0x96, 0x5e, 0x5e, 0xfd, 0xc7, 0x01, 0xee, 0xfe, 0x86, 0x2a, 0x15, 0x03, 0x20, 0x01, 0x6c, // D.^^......*.. .l - 0xfe, 0x79, 0x31, 0x18, 0x25, 0x3d, 0x5e, 0xc5, 0x49, 0x1a, 0x38, 0x36, 0xd9, 0xfd, 0x69, 0x30, // .y1.%=^.I.86..i0 - 0x37, 0x37, 0x1b, 0x53, 0x0d, 0x33, 0x0a, 0x24, 0x45, 0x57, 0x67, 0x4f, 0x25, 0x33, 0x33, 0x25, // 77.S.3.$EWgO%33% - 0x4f, 0xad, 0x4f, 0x25, 0x33, 0x35, 0x1b, 0x1b, 0x09, 0x03, 0xc2, 0xd2, 0x45, 0x45, 0xd2, 0x46, // O.O%35......EE.F - 0xfd, 0x57, 0xea, 0x74, 0x3b, 0x50, 0x06, 0x15, 0x15, 0x06, 0x50, 0x3b, 0x70, 0xee, 0xea, 0x74, // .W.t;P....P;p..t - 0x3b, 0x50, 0x07, 0x14, 0x14, 0x07, 0x50, 0x3b, 0x70, 0x04, 0x0e, 0xfe, 0x71, 0xfe, 0xf1, 0x01, // ;P....P;p...q... - 0x0f, 0x4a, 0x8a, 0x67, 0x54, 0xfe, 0xf9, 0x46, 0xaf, 0x51, 0x25, 0x33, 0x33, 0x26, 0x50, 0xaf, // .J.gT..F.Q%33&P. - 0x50, 0x25, 0x33, 0x33, 0x25, 0x52, 0xfe, 0x0d, 0x37, 0x3e, 0x25, 0x18, 0x33, 0x01, 0x8a, 0xfe, // P%33%R..7>%.3... - 0x91, 0x21, 0x02, 0x16, 0x2b, 0x01, 0x7d, 0x00, 0x00, 0x02, 0x00, 0x05, 0xff, 0x80, 0x05, 0x7b, // .!..+.}........{ - 0x05, 0xf6, 0x00, 0x13, 0x00, 0x27, 0x00, 0x00, 0x01, 0x06, 0x03, 0x06, 0x2b, 0x01, 0x22, 0x26, // .....'......+."& - 0x37, 0x13, 0x32, 0x27, 0x03, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x32, 0x17, 0x01, 0x16, 0x07, 0x01, // 7.2'.&76;.2..... - 0x15, 0x01, 0x16, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x27, 0x01, 0x36, 0x01, 0x36, 0x3b, 0x01, 0x32, // .....+."'.6.6;.2 - 0x02, 0x55, 0x0a, 0xf7, 0x1b, 0x26, 0xef, 0x15, 0x14, 0x0a, 0xfd, 0x01, 0x01, 0xa1, 0x0c, 0x0b, // .U...&.......... - 0x09, 0x17, 0xef, 0x28, 0x1a, 0x03, 0xca, 0x0b, 0x0b, 0xfd, 0xf0, 0x01, 0x50, 0x0b, 0x0a, 0x0a, // ...(........P... - 0x16, 0xef, 0x2a, 0x18, 0xfe, 0xad, 0x12, 0x02, 0x01, 0x19, 0x27, 0xf1, 0x16, 0x03, 0x65, 0x12, // ..*.......'...e. - 0xfe, 0x4a, 0x2e, 0x22, 0x13, 0x01, 0xc0, 0x01, 0x01, 0x17, 0x16, 0x0f, 0x0f, 0x2d, 0x01, 0x64, // .J.".........-.d - 0x10, 0x15, 0xfc, 0x5a, 0x01, 0xfd, 0x99, 0x14, 0x11, 0x0f, 0x2d, 0x02, 0x6e, 0x20, 0x03, 0x8e, // ...Z......-.n .. - 0x2d, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x13, // -............... - 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, 0x01, 0x34, 0x27, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x06, 0x1f, // .'.7...4'&+."... - 0x01, 0x15, 0x03, 0x06, 0x17, 0x16, 0x3b, 0x01, 0x32, 0x37, 0x01, 0x26, 0x2b, 0x01, 0x22, 0x07, // ......;.27.&+.". - 0x01, 0x16, 0x01, 0x16, 0x3b, 0x01, 0x32, 0x37, 0x36, 0x27, 0x01, 0x35, 0x01, 0x36, 0x17, 0x11, // ....;.276'.5.6.. - 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xad, // ..#!"&5.463!2... - 0x7e, 0x15, 0x1f, 0xb8, 0x12, 0x08, 0x07, 0x08, 0x7d, 0xc4, 0x09, 0x09, 0x08, 0x10, 0xb9, 0x1f, // ~.......}....... - 0x13, 0x03, 0x37, 0x07, 0x11, 0xbb, 0x1e, 0x13, 0xfe, 0x65, 0x01, 0x01, 0x05, 0x14, 0x20, 0xb8, // ..7......e.... . - 0x12, 0x07, 0x08, 0x09, 0xfe, 0xfc, 0x01, 0x99, 0x08, 0xdb, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, // ...........w.@w. - 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, 0x03, 0x01, 0xdd, 0x22, 0x0b, 0x0c, 0x11, 0xd8, 0x01, // .w..w....."..... - 0xfe, 0xa6, 0x0e, 0x0e, 0x0d, 0x24, 0x03, 0x51, 0x0c, 0x23, 0xfd, 0x27, 0x02, 0xfe, 0x21, 0x23, // .....$.Q.#.'..!# - 0x0c, 0x0d, 0x0f, 0x01, 0xdc, 0x01, 0x02, 0xd3, 0x10, 0x88, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // ...........@w..w - 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ..w............. - 0x05, 0x00, 0x00, 0x0f, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x34, 0x27, 0x01, 0x26, 0x07, 0x06, 0x15, // ...../...4'.&... - 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x01, 0x24, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, // ....327.$....... - 0x06, 0x20, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x34, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x36, // . '..'..4>.7>.76 - 0x20, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x05, 0x00, 0x1e, 0xfe, 0x00, 0x1f, 0x22, 0x21, 0x21, // ............"!! - 0x10, 0x0f, 0x14, 0x0e, 0x02, 0x00, 0x02, 0x1e, 0x02, 0x0f, 0x0f, 0x10, 0x6a, 0x47, 0xde, 0xfc, // ............jG.. - 0x7e, 0xde, 0x47, 0x6b, 0x10, 0x0e, 0x0f, 0x02, 0x02, 0x0f, 0x0f, 0x10, 0x6a, 0x47, 0xde, 0x03, // ~.Gk........jG.. - 0x82, 0xde, 0x47, 0x6b, 0x10, 0x0e, 0x0f, 0x02, 0x5b, 0x4a, 0x11, 0x01, 0x40, 0x14, 0x12, 0x12, // ..Gk....[J..@... - 0x26, 0xfd, 0x80, 0x26, 0x12, 0x08, 0x0a, 0x01, 0x40, 0x96, 0xc0, 0x6c, 0xa5, 0x41, 0x49, 0x64, // &..&....@..l.AId - 0x08, 0x19, 0x19, 0x08, 0x64, 0x49, 0x41, 0xa5, 0x6c, 0xc0, 0x6c, 0xa5, 0x41, 0x49, 0x64, 0x08, // ....dIA.l.l.AId. - 0x19, 0x19, 0x08, 0x64, 0x49, 0x41, 0xa5, 0x00, 0x00, 0x05, 0x00, 0x40, 0xff, 0x80, 0x06, 0xc0, // ...dIA.....@.... - 0x05, 0x8a, 0x00, 0x03, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x09, 0x04, // ................ - 0x15, 0x01, 0x15, 0x27, 0x07, 0x35, 0x01, 0x35, 0x17, 0x01, 0x35, 0x17, 0x37, 0x15, 0x09, 0x0c, // ...'.5.5..5.7... - 0x01, 0x92, 0x01, 0xee, 0xfe, 0xaa, 0xfe, 0x16, 0x05, 0x2c, 0xfe, 0x16, 0x01, 0x01, 0xfe, 0x17, // .........,...... - 0x93, 0x01, 0x56, 0x01, 0x01, 0x01, 0x57, 0xfd, 0x51, 0x01, 0x56, 0xfe, 0x12, 0xfe, 0xae, 0x05, // ..V...W.Q.V..... - 0x2e, 0x01, 0x52, 0xfe, 0x17, 0xfe, 0xa9, 0x01, 0x57, 0x01, 0xe9, 0xfe, 0xae, 0xfe, 0x12, 0x03, // ..R.....W....... - 0x3d, 0xfe, 0xcf, 0xfe, 0xe3, 0x01, 0x3f, 0xfe, 0xe4, 0x6c, 0xfe, 0xdb, 0x01, 0x01, 0x01, 0x01, // =.....?..l...... - 0x01, 0x25, 0x6c, 0x60, 0x01, 0x1c, 0x02, 0x01, 0x01, 0x02, 0xfe, 0xe4, 0x04, 0xd8, 0xfe, 0xe3, // .%l`............ - 0xfe, 0xd0, 0x01, 0x0e, 0xfe, 0xf2, 0xfe, 0xf1, 0xfe, 0xc1, 0x01, 0x1d, 0x03, 0x7e, 0xfe, 0xc1, // .............~.. - 0xfe, 0xf2, 0x01, 0x30, 0x00, 0x07, 0x00, 0x00, 0xff, 0x00, 0x05, 0x7e, 0x06, 0x00, 0x00, 0x03, // ...0.......~.... - 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x25, 0x15, // ...........#..%. - 0x05, 0x35, 0x01, 0x11, 0x07, 0x15, 0x21, 0x27, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x0d, 0x01, // .5....!'#.3.!... - 0x07, 0x25, 0x13, 0x05, 0x07, 0x25, 0x13, 0x01, 0x07, 0x09, 0x02, 0x07, 0x01, 0x25, 0x13, 0x07, // .%...%.......%.. - 0x03, 0x03, 0xa0, 0xfd, 0x3d, 0x03, 0xb4, 0x01, 0xfb, 0x94, 0x23, 0x01, 0x79, 0x03, 0xa0, 0xfc, // ....=.....#.y... - 0xd8, 0x02, 0xc0, 0x0d, 0xfd, 0x3f, 0x52, 0x02, 0xab, 0x27, 0xfd, 0x55, 0xca, 0x02, 0x61, 0x4d, // .....?R..'.U..aM - 0xfd, 0x9f, 0x01, 0xb5, 0x01, 0x8e, 0x7c, 0xfe, 0x71, 0x02, 0x42, 0x79, 0x95, 0x79, 0x87, 0x97, // ......|.q.By.y.. - 0x01, 0x97, 0x01, 0x5b, 0xfd, 0x43, 0x23, 0x01, 0x01, 0x02, 0xe0, 0xfd, 0x96, 0x02, 0x6a, 0x58, // ...[.C#.......jX - 0x41, 0x96, 0x41, 0x01, 0xd2, 0xb7, 0x92, 0xb7, 0x01, 0xef, 0xfe, 0x98, 0x82, 0x01, 0x68, 0x01, // A.A...........h. - 0xcd, 0xfd, 0xb7, 0x55, 0x02, 0x48, 0xe9, 0xfd, 0x47, 0x1a, 0x02, 0xb9, 0x00, 0x04, 0x00, 0x00, // ...U.H..G....... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x15, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x00, // .........../.?.. - 0x25, 0x11, 0x23, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x00, 0x35, 0x34, 0x37, 0x23, 0x11, // %.#.....#".547#. - 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, // ..3!26.4&#"...32 - 0x01, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, // .54&+.".....;.26 - 0x37, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // 7...#!"&5.463!2. - 0x05, 0x52, 0x87, 0x14, 0x80, 0xdc, 0x82, 0xc5, 0xfe, 0xe8, 0x14, 0x8d, 0x23, 0x1a, 0x04, 0x2d, // .R..........#..- - 0x19, 0x24, 0xfe, 0xe4, 0xb5, 0x80, 0x7f, 0xb5, 0xb5, 0x7f, 0x80, 0x01, 0xd1, 0x28, 0x1d, 0xae, // .$...........(.. - 0x1d, 0x28, 0x28, 0x1d, 0xae, 0x1d, 0x28, 0xae, 0x74, 0x51, 0xfb, 0x8a, 0x51, 0x74, 0x74, 0x51, // .((...(.tQ..QttQ - 0x04, 0x76, 0x51, 0x74, 0x6e, 0x02, 0x88, 0x3f, 0x44, 0x7e, 0xd5, 0x7c, 0x01, 0x0f, 0xc0, 0x44, // .vQtn..?D~.|...D - 0x3f, 0xfd, 0x78, 0x1a, 0x23, 0x23, 0x01, 0xb3, 0xf8, 0xaf, 0xaf, 0xf8, 0xaf, 0x02, 0x93, 0xa5, // ?.x.##.......... - 0x1c, 0x29, 0x29, 0x1c, 0xa5, 0x1d, 0x28, 0x28, 0xed, 0xfb, 0x8a, 0x51, 0x74, 0x74, 0x51, 0x04, // .))...((...QttQ. - 0x76, 0x51, 0x74, 0x74, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // vQtt............ + 0x12, 0x03, 0x44, 0xfd, 0xb8, 0x01, 0x71, 0x0c, 0x09, 0x0b, 0x02, 0x09, 0x03, 0x0c, 0x12, 0xe8, // ..D...q......... + 0x78, 0x02, 0x37, 0xfe, 0x8f, 0x06, 0x0f, 0x0b, 0x0e, 0x09, 0x15, 0xf8, 0xd2, 0xfe, 0xe0, 0x4b, // x.7............K + 0x2f, 0xf3, 0x2f, 0x4b, 0xfe, 0xe1, 0x46, 0xe6, 0xa2, 0xe6, 0x04, 0x68, 0xda, 0x2f, 0x10, 0x04, // /./K..F....h./.. + 0x14, 0x01, 0x22, 0x0c, 0xfb, 0x1e, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, // .."..........@.. + 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x85, 0xe9, 0x5a, 0x02, 0x11, 0x12, // ..`.........Z... + 0x09, 0x09, 0x03, 0x01, 0x03, 0x73, 0xe5, 0x59, 0xfd, 0xee, 0x08, 0x12, 0x0b, 0x02, 0x02, 0x02, // .....s.Y........ + 0x77, 0x03, 0x81, 0x6a, 0x6a, 0x90, 0x90, 0x6a, 0x6a, 0x02, 0x96, 0xfd, 0x6a, 0x00, 0x00, 0x00, // w..jj..jj...j... + 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x06, 0x7d, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x34, // ..."...}.....$.4 + 0x00, 0x52, 0x00, 0x00, 0x25, 0x33, 0x2f, 0x01, 0x26, 0x35, 0x23, 0x07, 0x14, 0x06, 0x07, 0x05, // .R..%3/.&5#..... + 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, // ....#"'.&76;..46 + 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x01, 0x15, 0x21, 0x35, 0x33, 0x27, 0x23, // ;.2...32...!53'# + 0x07, 0x33, 0x15, 0x21, 0x35, 0x33, 0x13, 0x33, 0x13, 0x03, 0x15, 0x21, 0x35, 0x01, 0x36, 0x3f, // .3.!53.3...!5.6? + 0x01, 0x35, 0x22, 0x06, 0x23, 0x06, 0x2b, 0x01, 0x15, 0x23, 0x35, 0x21, 0x15, 0x01, 0x06, 0x0f, // .5".#.+..#5!.... + 0x01, 0x15, 0x37, 0x36, 0x3b, 0x01, 0x35, 0x04, 0xa7, 0xb1, 0x48, 0x0c, 0x02, 0x04, 0x03, 0x07, // ..76;.5...H..... + 0x04, 0xfd, 0xf0, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, // ................ + 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x03, 0x9d, 0xfe, 0xe0, 0x4b, 0x2f, 0xf3, // .............K/. + 0x2f, 0x4b, 0xfe, 0xe1, 0x46, 0xe6, 0xa2, 0xe6, 0x13, 0xfd, 0xb8, 0x01, 0x71, 0x0c, 0x09, 0x0b, // /K..F.......q... + 0x02, 0x09, 0x03, 0x0c, 0x12, 0xe8, 0x78, 0x02, 0x37, 0xfe, 0x8f, 0x06, 0x0f, 0x0b, 0x0e, 0x09, // ......x.7....... + 0x15, 0xf8, 0x68, 0xda, 0x2f, 0x10, 0x04, 0x14, 0x01, 0x22, 0x0c, 0xe2, 0x0c, 0x0c, 0xfe, 0xc1, // ..h./...."...... + 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, // ...@....`....... + 0xfe, 0xfc, 0x6a, 0x6a, 0x90, 0x90, 0x6a, 0x6a, 0x02, 0x96, 0xfd, 0x6a, 0x04, 0x7f, 0xe9, 0x5a, // ..jj..jj...j...Z + 0x02, 0x11, 0x12, 0x09, 0x09, 0x03, 0x01, 0x03, 0x73, 0xe5, 0x59, 0xfd, 0xee, 0x08, 0x12, 0x0a, // ........s.Y..... + 0x03, 0x03, 0x01, 0x77, 0x00, 0x05, 0x00, 0x22, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x19, // ...w..."........ + 0x00, 0x29, 0x00, 0x39, 0x00, 0x49, 0x00, 0x59, 0x00, 0x00, 0x25, 0x14, 0x07, 0x01, 0x06, 0x23, // .).9.I.Y..%....# + 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, // "'.&76;..46;.2.. + 0x11, 0x33, 0x32, 0x16, 0x05, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .32.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x02, 0xe0, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, // 3!2............. + 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x04, 0x20, 0x12, 0x0e, // ............. .. + 0xfc, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0x40, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xfd, 0x80, 0x0e, // .......@........ + 0x12, 0x12, 0x0e, 0x02, 0x80, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xfe, 0x40, 0x0e, 0x12, 0x12, 0x0e, // ...........@.... + 0x01, 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xff, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x00, 0x0e, // ................ + 0x12, 0x60, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, // .`.......@....`. + 0x12, 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x8e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, // ................ + 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // ................ + 0x12, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x22, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, // ......."........ + 0x00, 0x29, 0x00, 0x39, 0x00, 0x49, 0x00, 0x59, 0x00, 0x00, 0x05, 0x15, 0x14, 0x06, 0x23, 0x21, // .).9.I.Y......#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x25, 0x14, 0x07, 0x01, 0x06, 0x23, // "&=.463!2.%....# + 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, // "'.&76;..46;.2.. + 0x11, 0x33, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .32.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x13, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x13, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // 3!2.....#!"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x04, 0xc0, 0x12, 0x0e, 0xff, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x00, // 3!2............. + 0x0e, 0x12, 0xfe, 0x20, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, 0x08, // ... ............ + 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, 0xa0, 0x12, 0x0e, 0xfe, 0x40, // ...............@ + 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xfd, 0x80, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0x02, 0x80, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xfc, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0x40, // ...............@ + 0x0e, 0x12, 0x20, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x72, 0x0c, 0x0c, 0xfe, // .. .........r... + 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0xa0, // ....@....`...... + 0x12, 0x01, 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, // ..r............. + 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xf2, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, // ................ + 0x12, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x05, 0xce, 0x06, 0x00, 0x00, 0x0a, // ......."........ + 0x00, 0x24, 0x00, 0x43, 0x00, 0x56, 0x00, 0x00, 0x25, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, // .$.C.V..%4&#"... + 0x33, 0x32, 0x36, 0x05, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, // 326.....#"'.&76; + 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x25, 0x14, 0x0e, // ..46;.2...32.%.. + 0x03, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x23, 0x0e, // .#"'&'7...3267#. + 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x03, 0x15, 0x21, 0x35, 0x33, 0x11, // .#"&54632...!53. + 0x34, 0x36, 0x3d, 0x01, 0x23, 0x07, 0x06, 0x0f, 0x01, 0x27, 0x37, 0x33, 0x11, 0x05, 0x42, 0x58, // 46=.#....'73..BX + 0x3b, 0x34, 0x3e, 0x49, 0x44, 0x32, 0x46, 0xfd, 0x9e, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, // ;4>ID2F......... + 0xfe, 0xc0, 0x0f, 0x08, 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, // ................ + 0xee, 0x1a, 0x38, 0x50, 0x75, 0x45, 0x3e, 0x2e, 0x18, 0x12, 0x27, 0x0f, 0x10, 0x25, 0x26, 0x54, // ..8PuE>...'..%&T + 0x65, 0x10, 0x02, 0x15, 0x51, 0x2c, 0x6a, 0x86, 0x90, 0x6d, 0x7b, 0xa4, 0x1e, 0xfe, 0x2b, 0xa7, // e...Q,j..m{...+. + 0x01, 0x02, 0x07, 0x08, 0x12, 0x3e, 0x52, 0xc0, 0x7b, 0xdf, 0x3f, 0x6a, 0x4a, 0x72, 0x4c, 0x36, // .....>R.{.?jJrL6 + 0x56, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, // V.......@....`.. + 0x12, 0x0e, 0xfa, 0xa0, 0x12, 0x37, 0x3e, 0x77, 0x6d, 0x52, 0x31, 0x10, 0x08, 0x07, 0x71, 0x07, // .....7>wmR1...q. + 0x04, 0x0d, 0x75, 0x57, 0x17, 0x1c, 0x8f, 0x65, 0x69, 0x92, 0xbd, 0x02, 0x2f, 0x72, 0x72, 0x01, // ..uW...ei.../rr. + 0xb0, 0x07, 0x18, 0x05, 0x10, 0x0c, 0x0d, 0x12, 0x3a, 0x56, 0xb9, 0xfd, 0x72, 0x00, 0x00, 0x00, // ........:V..r... + 0x00, 0x04, 0x00, 0x22, 0xff, 0x00, 0x05, 0xce, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x24, 0x00, 0x37, // ...".........$.7 + 0x00, 0x56, 0x00, 0x00, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, // .V...4&#"...326. + 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, // ....#"'.&76;..46 + 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x32, 0x16, 0x05, 0x15, 0x21, 0x35, 0x33, 0x11, 0x34, // ;.2...32...!53.4 + 0x36, 0x3d, 0x01, 0x23, 0x07, 0x06, 0x0f, 0x01, 0x27, 0x37, 0x33, 0x11, 0x13, 0x14, 0x0e, 0x03, // 6=.#....'73..... + 0x23, 0x22, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x23, 0x0e, 0x01, // #"'&'7...3267#.. + 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x05, 0x42, 0x58, 0x3b, 0x34, 0x3e, 0x49, // #"&54632..BX;4>I + 0x44, 0x32, 0x46, 0xfd, 0x9e, 0x0a, 0xfe, 0xc1, 0x0a, 0x0d, 0x0c, 0x0b, 0xfe, 0xc0, 0x0f, 0x08, // D2F............. + 0x08, 0x16, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x0e, 0x12, 0x02, 0xd0, 0xfe, 0x2b, 0xa7, // ..............+. + 0x01, 0x02, 0x07, 0x08, 0x12, 0x3e, 0x52, 0xc0, 0x7b, 0xc3, 0x1a, 0x38, 0x50, 0x75, 0x45, 0x3e, // .....>R.{..8PuE> + 0x2e, 0x18, 0x12, 0x27, 0x0f, 0x10, 0x25, 0x26, 0x54, 0x65, 0x10, 0x02, 0x15, 0x51, 0x2c, 0x6a, // ...'..%&Te...Q,j + 0x86, 0x90, 0x6d, 0x7b, 0xa4, 0x04, 0xdf, 0x3f, 0x6a, 0x4a, 0x72, 0x4c, 0x36, 0xfb, 0xaa, 0x0c, // ..m{...?jJrL6... + 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, 0x10, 0x13, 0x14, 0x05, 0x60, 0x0e, 0x12, 0x12, 0x0e, // ......@....`.... + 0xfa, 0xa0, 0x12, 0xfc, 0x72, 0x72, 0x01, 0xb0, 0x07, 0x18, 0x05, 0x10, 0x0c, 0x0d, 0x12, 0x3a, // ....rr.........: + 0x56, 0xb9, 0xfd, 0x72, 0x05, 0x33, 0x3e, 0x77, 0x6d, 0x52, 0x31, 0x10, 0x08, 0x07, 0x71, 0x07, // V..r.3>wmR1...q. + 0x04, 0x0d, 0x75, 0x57, 0x17, 0x1c, 0x8f, 0x65, 0x69, 0x92, 0xbd, 0x00, 0x00, 0x03, 0x00, 0x00, // ..uW...ei....... + 0xff, 0x80, 0x06, 0x40, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x5c, 0x00, 0x00, 0x25, 0x34, // ...@..........%4 + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, // &#"....326....#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x14, 0x07, 0x16, 0x15, 0x16, // "&5.463!2....... + 0x07, 0x16, 0x07, 0x06, 0x07, 0x16, 0x07, 0x06, 0x07, 0x2b, 0x02, 0x22, 0x2e, 0x01, 0x27, 0x26, // .........+."..'& + 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x3e, 0x02, 0x37, // '..5.467>.767>.7 + 0x3e, 0x02, 0x37, 0x36, 0x33, 0x32, 0x1e, 0x05, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x07, // >.7632.......... + 0x21, 0x32, 0x16, 0x01, 0x00, 0x26, 0x1a, 0x1b, 0x25, 0x25, 0x1b, 0x1a, 0x26, 0xa0, 0x26, 0x1a, // !2...&..%%..&.&. + 0xfe, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x20, 0x1a, 0x26, 0x04, 0xa0, 0x37, 0x0f, 0x03, 0x2e, // ...&&.. .&..7... + 0x11, 0x11, 0x0f, 0x27, 0x09, 0x3a, 0x40, 0x85, 0x24, 0x4c, 0x11, 0x42, 0x9c, 0x57, 0x4d, 0x7b, // ...'.:@.$L.B.WM{ + 0x23, 0x1a, 0x26, 0x24, 0x19, 0x18, 0x68, 0x31, 0x44, 0x21, 0x12, 0x1a, 0x09, 0x09, 0x07, 0x0b, // #.&$..h1D!...... + 0x1c, 0x14, 0x13, 0x1a, 0x2e, 0x49, 0x2f, 0x21, 0x0f, 0x09, 0x01, 0x13, 0x13, 0x12, 0x03, 0x0e, // .....I/!........ + 0x08, 0x04, 0x01, 0x15, 0x4e, 0x72, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x1b, 0x25, 0x25, 0x02, 0x1b, // ....Nr..&&..%%.. + 0xfd, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x56, 0x3f, 0x2c, 0x20, // ...&&....&&.V?, + 0x4c, 0x3d, 0x38, 0x3d, 0x39, 0x25, 0x70, 0x45, 0x4c, 0x02, 0x1f, 0x1b, 0x1a, 0x2b, 0x01, 0x01, // L=8=9%pEL....+.. + 0x25, 0x1a, 0x02, 0x81, 0x19, 0x25, 0x02, 0x02, 0x72, 0x40, 0x57, 0x21, 0x12, 0x3c, 0x25, 0x2a, // %....%..r@W!.<%* + 0x27, 0x2c, 0x3c, 0x14, 0x13, 0x15, 0x1f, 0x32, 0x28, 0x3c, 0x1e, 0x18, 0x26, 0x4c, 0x2c, 0x22, // ',<....2(<..&L," + 0x06, 0x18, 0x14, 0x0e, 0x72, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x40, // ....r..........@ + 0x05, 0x00, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x5c, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, // .............#"& + 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // 54632...4&#!"... + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x25, 0x16, 0x15, 0x0e, 0x01, 0x23, 0x21, 0x1e, 0x02, 0x17, // ..3!26%....#!... + 0x1e, 0x02, 0x15, 0x14, 0x0e, 0x05, 0x23, 0x22, 0x27, 0x2e, 0x02, 0x27, 0x2e, 0x02, 0x27, 0x26, // ......#"'..'..'& + 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x02, 0x3b, // '..'..5.46767>.; + 0x03, 0x16, 0x17, 0x16, 0x07, 0x16, 0x17, 0x16, 0x07, 0x16, 0x07, 0x14, 0x01, 0x00, 0x26, 0x1a, // ..............&. + 0x1b, 0x25, 0x25, 0x1b, 0x1a, 0x26, 0xa0, 0x26, 0x1a, 0xfe, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0x01, // .%%..&.&....&&.. + 0x20, 0x1a, 0x26, 0x04, 0x69, 0x37, 0x01, 0x71, 0x4e, 0xfe, 0xeb, 0x04, 0x08, 0x0e, 0x03, 0x12, // .&.i7.qN....... + 0x12, 0x14, 0x01, 0x09, 0x0f, 0x21, 0x2f, 0x49, 0x2e, 0x1a, 0x13, 0x14, 0x1c, 0x0b, 0x07, 0x09, // .....!/I........ + 0x09, 0x1a, 0x12, 0x21, 0x44, 0x31, 0x68, 0x18, 0x19, 0x24, 0x26, 0x1a, 0x23, 0x7b, 0x4d, 0x57, // ...!D1h..$&.#{MW + 0x9c, 0x42, 0x11, 0x4c, 0x24, 0x85, 0x40, 0x3a, 0x09, 0x27, 0x0f, 0x11, 0x11, 0x2e, 0x03, 0x03, // .B.L$.@:.'...... + 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x1b, 0x25, 0x25, 0xfd, 0xe5, 0x02, 0x80, 0x1a, 0x26, 0x26, 0x1a, // ..&&..%%.....&&. + 0xfd, 0x80, 0x1a, 0x26, 0x26, 0xaf, 0x3d, 0x58, 0x4e, 0x72, 0x0e, 0x14, 0x18, 0x06, 0x25, 0x28, // ...&&.=XNr....%( + 0x4d, 0x26, 0x18, 0x1e, 0x3c, 0x28, 0x32, 0x1f, 0x15, 0x13, 0x14, 0x3c, 0x2c, 0x27, 0x2a, 0x25, // M&..<(2....<,'*% + 0x3c, 0x12, 0x21, 0x57, 0x40, 0x72, 0x02, 0x02, 0x25, 0x19, 0x02, 0x81, 0x1a, 0x25, 0x01, 0x01, // <.!W@r..%....%.. + 0x2b, 0x1a, 0x1b, 0x1f, 0x02, 0x4c, 0x45, 0x70, 0x25, 0x39, 0x3d, 0x38, 0x3d, 0x4c, 0x20, 0x00, // +....LEp%9=8=L . + 0x00, 0x0c, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x17, // ................ + 0x00, 0x2b, 0x00, 0x3d, 0x00, 0x5c, 0x00, 0x64, 0x00, 0x7f, 0x00, 0x8c, 0x00, 0x9e, 0x00, 0xb2, // .+.=...d........ + 0x00, 0xc2, 0x00, 0x00, 0x25, 0x35, 0x34, 0x23, 0x22, 0x07, 0x15, 0x16, 0x33, 0x32, 0x37, 0x33, // ....%54#"...3273 + 0x35, 0x34, 0x22, 0x15, 0x25, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x05, 0x11, 0x23, 0x35, // 54".%.#.#.#5..#5 + 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x11, // .#"'&5.3....327. + 0x05, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x15, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, // .....#"'.#.3.632 + 0x17, 0x16, 0x17, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, // .........#"'&=.4 + 0x37, 0x36, 0x32, 0x17, 0x16, 0x1d, 0x01, 0x23, 0x15, 0x14, 0x33, 0x32, 0x37, 0x34, 0x36, 0x34, // 762....#..327464 + 0x35, 0x01, 0x15, 0x14, 0x22, 0x3d, 0x01, 0x34, 0x32, 0x01, 0x34, 0x27, 0x2e, 0x01, 0x27, 0x26, // 5..."=.42.4'..'& + 0x21, 0x20, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x15, 0x14, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x20, 0x37, // ! ............ 7 + 0x3e, 0x01, 0x37, 0x36, 0x01, 0x13, 0x23, 0x07, 0x27, 0x23, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x15, // >.76..#.'#...... + 0x33, 0x25, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x1d, 0x01, 0x14, 0x17, 0x16, 0x33, // 3%54'&#".......3 + 0x32, 0x37, 0x36, 0x17, 0x33, 0x11, 0x23, 0x11, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, // 276.3.#..#"'&5.# + 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // ....327....#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x97, 0x1d, 0x11, 0x10, 0x10, 0x11, 0x1d, 0xb8, // .463!2.......... + 0x42, 0x42, 0xfd, 0xc5, 0x50, 0x4a, 0x4e, 0x01, 0xb1, 0x43, 0x27, 0x25, 0x21, 0x09, 0x06, 0x42, // BB..PJN..C'%!..B + 0x01, 0x01, 0x0e, 0x14, 0x16, 0x01, 0x3f, 0x07, 0x0c, 0x29, 0x23, 0x21, 0x43, 0x43, 0x20, 0x24, // ......?..)#!CC $ + 0x29, 0x0c, 0x07, 0xfb, 0x02, 0x03, 0x0c, 0x1b, 0x35, 0x34, 0x1d, 0x15, 0x14, 0x1d, 0x66, 0x1b, // ).......54....f. + 0x15, 0x85, 0x22, 0x18, 0x06, 0x01, 0xfe, 0x81, 0x40, 0x40, 0x02, 0x15, 0x13, 0x0a, 0x42, 0x2b, // ..".....@@....B+ + 0x88, 0xfe, 0xec, 0xfe, 0xed, 0x88, 0x2c, 0x41, 0x0a, 0x14, 0x14, 0x0a, 0x41, 0x2b, 0x89, 0x02, // ......,A....A+.. + 0x26, 0x89, 0x2b, 0x41, 0x0a, 0x14, 0xfd, 0x0d, 0x5a, 0x4b, 0x33, 0x35, 0x4e, 0x07, 0x20, 0x08, // &.+A....ZK35N. . + 0x23, 0x0b, 0x4a, 0x01, 0x21, 0x15, 0x1d, 0x31, 0x33, 0x1b, 0x15, 0x15, 0x1b, 0x33, 0x31, 0x1d, // #.J.!..13....31. + 0x15, 0xb5, 0x43, 0x43, 0x16, 0x14, 0x0f, 0x01, 0x01, 0x43, 0x06, 0x0b, 0x20, 0x24, 0x29, 0x01, // ..CC.....C.. $). + 0xf7, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xe9, 0x9d, 0x32, // ..w.@w..w..w...2 + 0x10, 0xe0, 0x10, 0xab, 0x22, 0x33, 0x33, 0xe8, 0x46, 0xfe, 0x59, 0x01, 0xa7, 0x46, 0x7e, 0xfe, // ...."33.F.Y..F~. + 0x91, 0x28, 0x2d, 0x1c, 0x11, 0x25, 0x01, 0x22, 0xfe, 0xf2, 0x18, 0x02, 0x0f, 0x1f, 0x01, 0x18, // .(-..%."........ + 0x6f, 0x92, 0x34, 0x15, 0x2a, 0x29, 0x24, 0x01, 0xed, 0xa1, 0x28, 0x2a, 0x15, 0xb6, 0x09, 0x1d, // o.4.*)$...(*.... + 0x0e, 0x16, 0x12, 0x28, 0x26, 0x1b, 0x3b, 0x81, 0x3b, 0x1b, 0x26, 0x26, 0x1d, 0x39, 0x4c, 0x41, // ...(&.;.;.&&.9LA + 0x33, 0x1a, 0x01, 0x0c, 0x15, 0x0b, 0x03, 0x38, 0x9c, 0x33, 0x33, 0x9c, 0x34, 0xfd, 0x03, 0xb1, // 3......8.33.4... + 0x53, 0x2c, 0x3b, 0x05, 0x0f, 0x0f, 0x05, 0x3b, 0x2c, 0x57, 0xad, 0xb0, 0x54, 0x2b, 0x3c, 0x05, // S,;....;,W..T+<. + 0x0f, 0x0f, 0x05, 0x3c, 0x2b, 0x54, 0x03, 0x3b, 0x01, 0x28, 0xc3, 0xc3, 0x17, 0x5c, 0x17, 0x67, // ...<+T.;.(.....g + 0x37, 0xc9, 0x78, 0x82, 0x3a, 0x1d, 0x26, 0x26, 0x1d, 0x3a, 0x82, 0x3a, 0x1d, 0x26, 0x26, 0x1b, // 7.x.:.&&.:.:.&&. + 0x3c, 0x01, 0x72, 0xfe, 0xe5, 0x1f, 0x10, 0x02, 0x18, 0x01, 0x10, 0xfe, 0xdb, 0x25, 0x12, 0x1b, // <.r..........%.. + 0x2d, 0x01, 0x08, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, // -...@w..w..w.... + 0x00, 0x0b, 0x00, 0x1b, 0xff, 0x00, 0x05, 0xe5, 0x06, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x17, // ................ + 0x00, 0x2b, 0x00, 0x3d, 0x00, 0x5b, 0x00, 0x63, 0x00, 0x7d, 0x00, 0x89, 0x00, 0x9b, 0x00, 0xaf, // .+.=.[.c.}...... + 0x00, 0x00, 0x01, 0x15, 0x14, 0x23, 0x22, 0x27, 0x11, 0x36, 0x33, 0x32, 0x05, 0x15, 0x23, 0x35, // .....#"'.632..#5 + 0x34, 0x32, 0x25, 0x33, 0x35, 0x21, 0x15, 0x33, 0x11, 0x33, 0x21, 0x33, 0x11, 0x23, 0x11, 0x06, // 42%35!.3.3!3.#.. + 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x25, 0x35, // #"'&5.#....327%5 + 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x35, 0x23, 0x11, 0x33, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, // 4'&#".5#.35.3276 + 0x25, 0x35, 0x23, 0x14, 0x07, 0x06, 0x23, 0x22, 0x3d, 0x01, 0x33, 0x35, 0x34, 0x27, 0x26, 0x23, // %5#...#"=.354'&# + 0x22, 0x07, 0x06, 0x1d, 0x01, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x01, 0x35, // ".......327676.5 + 0x34, 0x22, 0x1d, 0x01, 0x14, 0x32, 0x01, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x20, 0x27, 0x2e, // 4"...2....... '. + 0x01, 0x27, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x20, 0x17, 0x1e, 0x01, 0x17, 0x16, // .'&547>.76 ..... + 0x01, 0x33, 0x03, 0x11, 0x23, 0x11, 0x26, 0x27, 0x26, 0x27, 0x33, 0x13, 0x05, 0x15, 0x14, 0x07, // .3..#.&'&'3..... + 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x25, 0x11, // .#"'&=.47632..%. + 0x23, 0x35, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, // #5.#"'&5.3....32 + 0x37, 0x11, 0x03, 0xcb, 0x27, 0x17, 0x16, 0x16, 0x17, 0x27, 0x01, 0x52, 0x5a, 0x5a, 0xfc, 0x3a, // 7...'....'.RZZ.: + 0x6b, 0xfe, 0xc8, 0x69, 0x64, 0x01, 0x20, 0x59, 0x59, 0x1e, 0x1b, 0x12, 0x03, 0x01, 0x59, 0x08, // k..id. YY.....Y. + 0x0c, 0x2e, 0x30, 0x36, 0x01, 0xad, 0x09, 0x11, 0x36, 0x32, 0x2b, 0x59, 0x59, 0x2d, 0x30, 0x36, // ..06....62+YY-06 + 0x11, 0x09, 0x01, 0x52, 0x5b, 0x02, 0x07, 0x21, 0x2e, 0xb3, 0x1b, 0x27, 0x43, 0x44, 0x27, 0x1c, // ...R[..!...'CD'. + 0x1d, 0x27, 0x45, 0x48, 0x24, 0x12, 0x03, 0x02, 0xfd, 0xa0, 0x56, 0x56, 0x02, 0xcf, 0x1a, 0x0e, // .'EH$.....VV.... + 0x58, 0x3a, 0xb8, 0xfd, 0x1a, 0xb8, 0x3a, 0x59, 0x0d, 0x1a, 0x1a, 0x0e, 0x58, 0x3b, 0xb7, 0x02, // X:....:Y....X;.. + 0xe6, 0xb8, 0x3a, 0x59, 0x0d, 0x1a, 0xfc, 0x1a, 0x66, 0x79, 0x64, 0x0e, 0x2f, 0x25, 0x1c, 0x6a, // ..:Y....fyd./%.j + 0x47, 0x01, 0xb6, 0x1c, 0x26, 0x44, 0x43, 0x26, 0x1c, 0x1c, 0x26, 0x43, 0x44, 0x26, 0x1c, 0x01, // G...&DC&..&CD&.. + 0x4f, 0x5b, 0x35, 0x32, 0x2e, 0x0d, 0x08, 0x5b, 0x01, 0x03, 0x12, 0x1b, 0x1e, 0x01, 0x24, 0xd3, // O[52...[......$. + 0x43, 0x16, 0x01, 0x2d, 0x16, 0x44, 0x2e, 0x2e, 0x44, 0x96, 0x5e, 0x5e, 0xfd, 0xc7, 0x01, 0xee, // C..-.D..D.^^.... + 0xfe, 0x86, 0x2a, 0x15, 0x03, 0x20, 0x01, 0x6c, 0xfe, 0x79, 0x31, 0x18, 0x25, 0x3d, 0x5e, 0xc5, // ..*.. .l.y1.%=^. + 0x49, 0x1a, 0x38, 0x36, 0xd9, 0xfd, 0x69, 0x30, 0x37, 0x37, 0x1b, 0x53, 0x0d, 0x33, 0x0a, 0x24, // I.86..i077.S.3.$ + 0x45, 0x57, 0x67, 0x4f, 0x25, 0x33, 0x33, 0x25, 0x4f, 0xad, 0x4f, 0x25, 0x33, 0x35, 0x1b, 0x1b, // EWgO%33%O.O%35.. + 0x09, 0x03, 0xc2, 0xd2, 0x45, 0x45, 0xd2, 0x46, 0xfd, 0x57, 0xea, 0x74, 0x3b, 0x50, 0x06, 0x15, // ....EE.F.W.t;P.. + 0x15, 0x06, 0x50, 0x3b, 0x70, 0xee, 0xea, 0x74, 0x3b, 0x50, 0x07, 0x14, 0x14, 0x07, 0x50, 0x3b, // ..P;p..t;P....P; + 0x70, 0x04, 0x0e, 0xfe, 0x71, 0xfe, 0xf1, 0x01, 0x0f, 0x4a, 0x8a, 0x67, 0x54, 0xfe, 0xf9, 0x46, // p...q....J.gT..F + 0xaf, 0x51, 0x25, 0x33, 0x33, 0x26, 0x50, 0xaf, 0x50, 0x25, 0x33, 0x33, 0x25, 0x52, 0xfe, 0x0d, // .Q%33&P.P%33%R.. + 0x37, 0x3e, 0x25, 0x18, 0x33, 0x01, 0x8a, 0xfe, 0x91, 0x21, 0x02, 0x16, 0x2b, 0x01, 0x7d, 0x00, // 7>%.3....!..+.}. + 0x00, 0x02, 0x00, 0x05, 0xff, 0x80, 0x05, 0x7b, 0x05, 0xf6, 0x00, 0x13, 0x00, 0x27, 0x00, 0x00, // .......{.....'.. + 0x01, 0x06, 0x03, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x37, 0x13, 0x32, 0x27, 0x03, 0x26, 0x37, 0x36, // ....+."&7.2'.&76 + 0x3b, 0x01, 0x32, 0x17, 0x01, 0x16, 0x07, 0x01, 0x15, 0x01, 0x16, 0x07, 0x06, 0x2b, 0x01, 0x22, // ;.2..........+." + 0x27, 0x01, 0x36, 0x01, 0x36, 0x3b, 0x01, 0x32, 0x02, 0x55, 0x0a, 0xf7, 0x1b, 0x26, 0xef, 0x15, // '.6.6;.2.U...&.. + 0x14, 0x0a, 0xfd, 0x01, 0x01, 0xa1, 0x0c, 0x0b, 0x09, 0x17, 0xef, 0x28, 0x1a, 0x03, 0xca, 0x0b, // ...........(.... + 0x0b, 0xfd, 0xf0, 0x01, 0x50, 0x0b, 0x0a, 0x0a, 0x16, 0xef, 0x2a, 0x18, 0xfe, 0xad, 0x12, 0x02, // ....P.....*..... + 0x01, 0x19, 0x27, 0xf1, 0x16, 0x03, 0x65, 0x12, 0xfe, 0x4a, 0x2e, 0x22, 0x13, 0x01, 0xc0, 0x01, // ..'...e..J.".... + 0x01, 0x17, 0x16, 0x0f, 0x0f, 0x2d, 0x01, 0x64, 0x10, 0x15, 0xfc, 0x5a, 0x01, 0xfd, 0x99, 0x14, // .....-.d...Z.... + 0x11, 0x0f, 0x2d, 0x02, 0x6e, 0x20, 0x03, 0x8e, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ..-.n ..-....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x13, 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, 0x01, 0x34, // .........'.7...4 + 0x27, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x06, 0x1f, 0x01, 0x15, 0x03, 0x06, 0x17, 0x16, 0x3b, 0x01, // '&+.".........;. + 0x32, 0x37, 0x01, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x01, 0x16, 0x01, 0x16, 0x3b, 0x01, 0x32, 0x37, // 27.&+.".....;.27 + 0x36, 0x27, 0x01, 0x35, 0x01, 0x36, 0x17, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // 6'.5.6....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xad, 0x7e, 0x15, 0x1f, 0xb8, 0x12, 0x08, 0x07, 0x08, // 463!2...~....... + 0x7d, 0xc4, 0x09, 0x09, 0x08, 0x10, 0xb9, 0x1f, 0x13, 0x03, 0x37, 0x07, 0x11, 0xbb, 0x1e, 0x13, // }.........7..... + 0xfe, 0x65, 0x01, 0x01, 0x05, 0x14, 0x20, 0xb8, 0x12, 0x07, 0x08, 0x09, 0xfe, 0xfc, 0x01, 0x99, // .e.... ......... + 0x08, 0xdb, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, 0x03, // ...w.@w..w..w... + 0x01, 0xdd, 0x22, 0x0b, 0x0c, 0x11, 0xd8, 0x01, 0xfe, 0xa6, 0x0e, 0x0e, 0x0d, 0x24, 0x03, 0x51, // .."..........$.Q + 0x0c, 0x23, 0xfd, 0x27, 0x02, 0xfe, 0x21, 0x23, 0x0c, 0x0d, 0x0f, 0x01, 0xdc, 0x01, 0x02, 0xd3, // .#.'..!#........ + 0x10, 0x88, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, // ...@w..w..w..... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x0a, 0x07, 0x00, 0x04, 0xf6, 0x00, 0x02, 0x00, 0x49, 0x00, 0x00, // .............I.. + 0x01, 0x2d, 0x01, 0x13, 0x32, 0x04, 0x1f, 0x01, 0x32, 0x1e, 0x05, 0x17, 0x1e, 0x02, 0x17, 0x1e, // .-..2...2....... + 0x01, 0x17, 0x1d, 0x01, 0x16, 0x07, 0x0e, 0x01, 0x0f, 0x01, 0x0e, 0x06, 0x23, 0x06, 0x21, 0x26, // ............#.!& + 0x24, 0x2f, 0x02, 0x2e, 0x02, 0x27, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x3d, 0x01, 0x26, 0x37, // $/...'..'..'=.&7 + 0x3e, 0x01, 0x3f, 0x01, 0x3e, 0x06, 0x33, 0x36, 0x02, 0xc7, 0x01, 0xe4, 0xfe, 0x1c, 0xb9, 0xa8, // >.?.>.36........ + 0x01, 0x39, 0x49, 0x49, 0x01, 0x20, 0x0e, 0x21, 0x18, 0x20, 0x1e, 0x0e, 0x06, 0x13, 0x27, 0x07, // .9II. .!. ....'. + 0x08, 0x09, 0x01, 0x01, 0x13, 0x07, 0x24, 0x0e, 0x0e, 0x0e, 0x1e, 0x20, 0x18, 0x21, 0x0f, 0x1f, // ......$.... .!.. + 0x01, 0xfb, 0xfe, 0x88, 0xcf, 0xfe, 0xcf, 0x30, 0x31, 0x24, 0x24, 0x25, 0x41, 0x18, 0x06, 0x13, // .......01$$%A... + 0x27, 0x07, 0x08, 0x09, 0x01, 0x01, 0x13, 0x07, 0x24, 0x0e, 0x0e, 0x0e, 0x1e, 0x20, 0x18, 0x21, // '.......$.... .! + 0x0e, 0x20, 0x01, 0xfb, 0x01, 0x98, 0xfa, 0xfd, 0x01, 0x67, 0x09, 0x05, 0x04, 0x03, 0x03, 0x06, // . .......g...... + 0x0a, 0x10, 0x17, 0x0f, 0x06, 0x19, 0x5c, 0x37, 0x40, 0x91, 0x29, 0x28, 0x88, 0x91, 0x91, 0x37, // .......7@.)(...7 + 0x59, 0x11, 0x11, 0x0f, 0x17, 0x0f, 0x0a, 0x06, 0x03, 0x03, 0x13, 0x02, 0x09, 0x03, 0x04, 0x04, // Y............... + 0x05, 0x0a, 0x20, 0x19, 0x06, 0x19, 0x5c, 0x37, 0x40, 0x91, 0x29, 0x28, 0x88, 0x91, 0x91, 0x37, // .. ....7@.)(...7 + 0x59, 0x11, 0x11, 0x0f, 0x17, 0x10, 0x0a, 0x06, 0x03, 0x03, 0x12, 0x00, 0x00, 0x05, 0x00, 0x40, // Y..............@ + 0xff, 0x80, 0x06, 0xc0, 0x05, 0x8a, 0x00, 0x03, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, // ................ + 0x00, 0x00, 0x09, 0x04, 0x15, 0x01, 0x15, 0x27, 0x07, 0x35, 0x01, 0x35, 0x17, 0x01, 0x35, 0x17, // .......'.5.5..5. + 0x37, 0x15, 0x09, 0x0c, 0x01, 0x92, 0x01, 0xee, 0xfe, 0xaa, 0xfe, 0x16, 0x05, 0x2c, 0xfe, 0x16, // 7............,.. + 0x01, 0x01, 0xfe, 0x17, 0x93, 0x01, 0x56, 0x01, 0x01, 0x01, 0x57, 0xfd, 0x51, 0x01, 0x56, 0xfe, // ......V...W.Q.V. + 0x12, 0xfe, 0xae, 0x05, 0x2e, 0x01, 0x52, 0xfe, 0x17, 0xfe, 0xa9, 0x01, 0x57, 0x01, 0xe9, 0xfe, // ......R.....W... + 0xae, 0xfe, 0x12, 0x03, 0x3d, 0xfe, 0xcf, 0xfe, 0xe3, 0x01, 0x3f, 0xfe, 0xe4, 0x6c, 0xfe, 0xdb, // ....=.....?..l.. + 0x01, 0x01, 0x01, 0x01, 0x01, 0x25, 0x6c, 0x60, 0x01, 0x1c, 0x02, 0x01, 0x01, 0x02, 0xfe, 0xe4, // .....%l`........ + 0x04, 0xd8, 0xfe, 0xe3, 0xfe, 0xd0, 0x01, 0x0e, 0xfe, 0xf2, 0xfe, 0xf1, 0xfe, 0xc1, 0x01, 0x1d, // ................ + 0x03, 0x7e, 0xfe, 0xc1, 0xfe, 0xf2, 0x01, 0x30, 0x00, 0x06, 0x00, 0x0b, 0xff, 0x00, 0x05, 0xf5, // .~.....0........ + 0x06, 0x00, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, // ................ + 0x05, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x25, 0x37, 0x05, 0x07, 0x01, 0x37, 0x01, 0x07, // .!.#.!.#%7...7.. + 0x01, 0x37, 0x01, 0x07, 0x03, 0x01, 0x07, 0x09, 0x01, 0x35, 0x21, 0x15, 0x05, 0x09, 0xfb, 0xa2, // .7.......5!..... + 0xa0, 0x05, 0x9e, 0xa0, 0xfc, 0x52, 0x21, 0x03, 0x0f, 0x21, 0xfd, 0x58, 0x43, 0x02, 0xd5, 0x43, // .....R!..!.XC..C + 0xfd, 0xf4, 0x66, 0x02, 0x66, 0x66, 0xd9, 0x01, 0xdd, 0x80, 0xfe, 0x23, 0xfd, 0xb2, 0x03, 0x20, // ..f.ff.....#... + 0x60, 0x01, 0xe0, 0xfd, 0x80, 0x02, 0x80, 0x2c, 0x9d, 0xa5, 0x9c, 0x02, 0x1a, 0x92, 0xfe, 0xad, // `......,........ + 0x91, 0x02, 0xb6, 0x7b, 0xfd, 0xff, 0x7b, 0x03, 0x7b, 0xfd, 0x7f, 0x60, 0x02, 0x81, 0xfa, 0xa1, // ...{..{.{..`.... + 0x9f, 0x9f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, // ................ + 0x00, 0x0f, 0x00, 0x17, 0x00, 0x4f, 0x00, 0x67, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .....O.g...4&".. + 0x16, 0x32, 0x00, 0x10, 0x06, 0x20, 0x26, 0x10, 0x36, 0x20, 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, // .2... &.6 $.."&4 + 0x36, 0x32, 0x24, 0x22, 0x26, 0x0e, 0x02, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x16, 0x14, 0x06, // 62$"&........... + 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x03, 0x36, 0x32, 0x16, 0x3e, 0x02, 0x37, 0x3e, 0x01, // ........62.>.7>. + 0x37, 0x3e, 0x03, 0x26, 0x34, 0x36, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x03, 0x00, 0x10, // 7>.&46..'..'.... + 0x07, 0x0e, 0x01, 0x07, 0x06, 0x20, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x10, 0x37, 0x3e, 0x01, 0x37, // ..... '..'&.7>.7 + 0x36, 0x20, 0x17, 0x1e, 0x01, 0x17, 0x04, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x01, 0x20, 0xe6, // 6 ............ . + 0xfe, 0xb8, 0xe6, 0xe6, 0x01, 0x48, 0x01, 0x52, 0x36, 0x4c, 0x36, 0x36, 0x4c, 0xfe, 0x47, 0x0e, // .....H.R6L66L.G. + 0x8b, 0x48, 0x79, 0x55, 0x1d, 0x32, 0x4c, 0x14, 0x0b, 0x0f, 0x05, 0x01, 0x01, 0x01, 0x01, 0x05, // .HyU.2L......... + 0x0f, 0x0b, 0x14, 0x4c, 0x32, 0x1d, 0x55, 0x79, 0x48, 0x8b, 0x0e, 0x8b, 0x48, 0x79, 0x55, 0x1d, // ...L2.UyH...HyU. + 0x32, 0x4c, 0x14, 0x0b, 0x0f, 0x05, 0x01, 0x01, 0x01, 0x01, 0x05, 0x0f, 0x0b, 0x14, 0x4c, 0x32, // 2L............L2 + 0x1d, 0x55, 0x79, 0x48, 0x02, 0x6e, 0x05, 0x0a, 0xe4, 0xd0, 0x58, 0xfe, 0x36, 0x58, 0xd0, 0xe4, // .UyH.n....X.6X.. + 0x0a, 0x05, 0x05, 0x0a, 0xe4, 0xd0, 0x58, 0x01, 0xca, 0x58, 0xd0, 0xe4, 0x0a, 0x02, 0x16, 0xd4, // ......X..X...... + 0x96, 0x96, 0xd4, 0x96, 0x01, 0xa4, 0xfe, 0xb8, 0xe6, 0xe6, 0x01, 0x48, 0xe6, 0x36, 0x4c, 0x36, // ...........H.6L6 + 0x36, 0x4c, 0x36, 0x80, 0x01, 0x01, 0x05, 0x0f, 0x0b, 0x14, 0x4c, 0x32, 0x1d, 0x55, 0x79, 0x48, // 6L6.......L2.UyH + 0x8b, 0x0e, 0x8b, 0x48, 0x79, 0x55, 0x1d, 0x32, 0x4c, 0x14, 0x0b, 0x0f, 0x05, 0x01, 0x01, 0x01, // ...HyU.2L....... + 0x01, 0x05, 0x0f, 0x0b, 0x14, 0x4c, 0x32, 0x1d, 0x55, 0x79, 0x48, 0x8b, 0x0e, 0x8b, 0x48, 0x79, // .....L2.UyH...Hy + 0x55, 0x1d, 0x32, 0x4c, 0x14, 0x0b, 0x0f, 0x05, 0x01, 0xfe, 0x6e, 0xfe, 0x36, 0x58, 0xd0, 0xe4, // U.2L......n.6X.. + 0x0a, 0x05, 0x05, 0x0a, 0xe4, 0xd0, 0x58, 0x01, 0xca, 0x58, 0xd0, 0xe4, 0x0a, 0x05, 0x05, 0x0a, // ......X..X...... + 0xe4, 0xd0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ 0x00, 0x17, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // .......2.....#!" 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, // &5.463.4&"...2$4 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x04, 0xe0, 0x77, 0xa9, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, // &"...2..w..w.@w. @@ -4114,939 +4454,5897 @@ static const uint8_t s_iconsFontAwesomeTtf[80776] = 0x51, 0x1b, 0x2e, 0x63, 0x13, 0x41, 0x6a, 0x02, 0xc7, 0x35, 0x16, 0x37, 0x21, 0x3f, 0x1b, 0x0c, // Q..c.Aj..5.7!?.. 0x22, 0x0f, 0x14, 0x30, 0x1e, 0x44, 0x8c, 0xca, 0x24, 0x05, 0x34, 0x14, 0x22, 0x0b, 0x50, 0x14, // "..0.D..$.4.".P. 0x1c, 0x5b, 0x0d, 0x14, 0x26, 0x15, 0x01, 0x0b, 0x01, 0x32, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // .[..&....2.@w..w - 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x4e, 0xff, 0x80, 0x04, 0x00, // ..w........N.... - 0x05, 0x80, 0x00, 0x23, 0x00, 0x00, 0x01, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x17, 0x16, // ...#...3.!.!.... - 0x17, 0x16, 0x33, 0x32, 0x37, 0x15, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, // ..327....#"'&'&' - 0x26, 0x35, 0x11, 0x23, 0x35, 0x36, 0x37, 0x36, 0x37, 0x36, 0x01, 0x86, 0xdb, 0x01, 0x6c, 0xfe, // &5.#567676....l. - 0x94, 0x0e, 0x0d, 0x27, 0x32, 0x43, 0x75, 0x73, 0x66, 0x4c, 0x4d, 0x60, 0x69, 0x51, 0x4e, 0x3c, // ...'2CusfLM`iQN< - 0x3a, 0x15, 0x16, 0xaa, 0x5b, 0x40, 0x40, 0x27, 0x27, 0x05, 0x80, 0xfe, 0x7c, 0xf1, 0xfe, 0x76, // :...[@@''...|..v - 0x88, 0x24, 0x25, 0x17, 0x1f, 0x4c, 0xf2, 0x30, 0x11, 0x13, 0x1b, 0x19, 0x32, 0x33, 0x36, 0x36, // .$%..L.0....2366 - 0x6b, 0x02, 0x1b, 0xd9, 0x1e, 0x36, 0x37, 0x4d, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // k....67MN....... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, 0x00, 0x33, 0x00, 0x00, 0x25, 0x35, 0x06, 0x23, // .......#.3..%5.# - 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x11, 0x23, 0x06, 0x07, 0x06, 0x07, // "'&'&5.!5!.#.... - 0x06, 0x07, 0x15, 0x33, 0x11, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, // ...3........3276 + 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0xff, 0x80, 0x04, 0x00, // ..w........D.... + 0x06, 0x00, 0x00, 0x22, 0x00, 0x00, 0x25, 0x17, 0x0e, 0x01, 0x07, 0x06, 0x2e, 0x03, 0x35, 0x11, // ..."..%.......5. + 0x23, 0x35, 0x3e, 0x04, 0x37, 0x3e, 0x01, 0x3b, 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x1e, // #5>.7>.;..!.!... + 0x02, 0x37, 0x36, 0x03, 0xb0, 0x50, 0x17, 0xb0, 0x59, 0x68, 0xad, 0x70, 0x4e, 0x21, 0xa8, 0x48, // .76..P..Yh.pN!.H + 0x72, 0x44, 0x30, 0x14, 0x05, 0x01, 0x07, 0x04, 0xf4, 0x01, 0x4d, 0xfe, 0xb2, 0x0d, 0x20, 0x43, // rD0.......M... C + 0x30, 0x4e, 0xcf, 0xed, 0x23, 0x3e, 0x01, 0x02, 0x38, 0x5c, 0x78, 0x78, 0x3a, 0x02, 0x20, 0xd7, // 0N..#>..8.xx:. . + 0x1a, 0x57, 0x5d, 0x6f, 0x57, 0x2d, 0x05, 0x07, 0xfe, 0x58, 0xfc, 0xfd, 0xfa, 0x1e, 0x34, 0x35, // .W]oW-...X....45 + 0x1e, 0x01, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1f, // ................ + 0x00, 0x2f, 0x00, 0x00, 0x25, 0x27, 0x06, 0x23, 0x06, 0x2e, 0x02, 0x35, 0x11, 0x21, 0x35, 0x21, // ./..%'.#...5.!5! + 0x11, 0x23, 0x22, 0x07, 0x0e, 0x03, 0x07, 0x15, 0x33, 0x11, 0x14, 0x1e, 0x02, 0x37, 0x3e, 0x01, // .#".....3....7>. 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. - 0x04, 0x63, 0x58, 0x56, 0x33, 0x25, 0x1d, 0x0a, 0x0b, 0x01, 0x12, 0xfe, 0xee, 0xa4, 0x0b, 0x1d, // .cXV3%.......... - 0x1d, 0x31, 0x30, 0x44, 0x7f, 0x11, 0x11, 0x2a, 0x2b, 0x3d, 0x3e, 0x4e, 0x43, 0x3e, 0x39, 0x01, // .10D...*+=>NC>9. - 0xea, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x7f, 0xb5, 0x38, // ..w.@w..w..w...8 - 0x17, 0x11, 0x1c, 0x1e, 0x63, 0x01, 0x27, 0xb5, 0x01, 0x23, 0x5a, 0x39, 0x39, 0x2a, 0x28, 0x17, // ....c.'..#Z99*(. - 0xa3, 0xfe, 0x6c, 0x4e, 0x2b, 0x2a, 0x24, 0x25, 0x14, 0x14, 0x0e, 0x0d, 0x04, 0x05, 0xfc, 0x40, // ..lN+*$%.......@ - 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, // w..w..w......... - 0xff, 0x40, 0x02, 0xfd, 0x06, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x16, 0x07, 0x01, 0x06, 0x23, // .@.............# - 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, // "'.&76;..46;.2.. - 0x11, 0x33, 0x02, 0xf5, 0x10, 0x0d, 0xfe, 0xa2, 0x0a, 0x0d, 0x0e, 0x0a, 0xfe, 0x9d, 0x0d, 0x08, // .3.............. - 0x09, 0x14, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xe0, 0x01, 0x00, 0x26, 0x10, 0xfe, 0x80, 0x0a, // ...........&.... - 0x0a, 0x01, 0x80, 0x10, 0x13, 0x13, 0x04, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xfb, 0x20, 0x00, 0x00, // ............. .. - 0x00, 0x01, 0x00, 0x03, 0xff, 0x00, 0x02, 0xfd, 0x05, 0xc0, 0x00, 0x17, 0x00, 0x00, 0x01, 0x06, // ................ - 0x2b, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x37, 0x01, // +....+."&5.#"&7. - 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x02, 0xfd, 0x09, 0x14, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // 632............. - 0xe0, 0x15, 0x10, 0x0d, 0x01, 0x5e, 0x0a, 0x0d, 0x0e, 0x0a, 0x01, 0x63, 0x0d, 0x04, 0x13, 0x13, // .....^.....c.... - 0xfb, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x04, 0xe0, 0x26, 0x10, 0x01, 0x80, 0x0a, 0x0a, 0xfe, 0x80, // . ......&....... - 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x01, 0x03, 0x07, 0x00, 0x03, 0xfd, 0x00, 0x17, // .......@........ - 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x15, 0x14, 0x06, 0x27, 0x01, 0x26, 0x35, 0x34, // ......#!...'.&54 - 0x37, 0x01, 0x36, 0x17, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x07, 0x00, 0x12, 0x0e, 0xfb, 0x20, // 7.6....!2...... - 0x26, 0x10, 0xfe, 0x80, 0x0a, 0x0a, 0x01, 0x80, 0x10, 0x13, 0x13, 0x04, 0xe0, 0x0e, 0x12, 0x02, // &............... - 0xe0, 0xc0, 0x0e, 0x12, 0xe0, 0x15, 0x10, 0x0d, 0x01, 0x5e, 0x0a, 0x0d, 0x0e, 0x0a, 0x01, 0x62, // .........^.....b - 0x0e, 0x08, 0x09, 0x14, 0xe0, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x06, 0xc0, // ................ - 0x03, 0xfd, 0x00, 0x17, 0x00, 0x00, 0x01, 0x14, 0x07, 0x01, 0x06, 0x27, 0x26, 0x3d, 0x01, 0x21, // ...........'&=.! - 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x17, 0x01, 0x16, 0x06, 0xc0, // "&=.463!546..... - 0x0a, 0xfe, 0x80, 0x10, 0x13, 0x13, 0xfb, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x04, 0xe0, 0x26, 0x10, // ....... ......&. - 0x01, 0x80, 0x0a, 0x02, 0x83, 0x0e, 0x0a, 0xfe, 0x9e, 0x0e, 0x08, 0x09, 0x14, 0xe0, 0x12, 0x0e, // ................ - 0xc0, 0x0e, 0x12, 0xe0, 0x15, 0x10, 0x0d, 0xfe, 0xa2, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ................ - 0xff, 0x80, 0x05, 0x71, 0x06, 0x00, 0x00, 0x26, 0x00, 0x38, 0x00, 0x00, 0x01, 0x06, 0x07, 0x06, // ...q...&.8...... - 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x23, 0x22, 0x03, 0x02, 0x35, 0x34, 0x37, 0x36, // #"'&#"..#"..5476 - 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x06, 0x07, 0x06, // 32..327632...... - 0x15, 0x14, 0x16, 0x01, 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x36, 0x37, 0x36, 0x37, // ............6767 - 0x1e, 0x01, 0x17, 0x14, 0x16, 0x05, 0x71, 0x27, 0x54, 0x81, 0x80, 0x31, 0x5b, 0x56, 0x41, 0x3d, // ......q'T..1[VA= - 0x51, 0x51, 0x33, 0x98, 0x95, 0x93, 0x71, 0x70, 0xac, 0x48, 0x69, 0x68, 0x22, 0x2d, 0x62, 0x66, // QQ3...qp.Hih"-bf - 0x47, 0x77, 0x5e, 0x34, 0x34, 0x4f, 0x23, 0x41, 0x8a, 0xfe, 0xe1, 0x1d, 0x1e, 0x3f, 0x36, 0x36, // Gw^44O#A.....?66 - 0x25, 0x43, 0x03, 0x4b, 0x4a, 0xb0, 0x01, 0x03, 0x01, 0x01, 0x01, 0x41, 0x7d, 0x7d, 0xc4, 0x20, // %C.KJ......A}}. - 0x20, 0x21, 0x22, 0x01, 0x03, 0x01, 0x05, 0xf2, 0xe4, 0x92, 0x90, 0x1e, 0x1e, 0x22, 0x22, 0x41, // !"..........""A - 0x24, 0x40, 0x43, 0x33, 0x5e, 0x71, 0x7c, 0xc6, 0x04, 0x7a, 0x3d, 0x4b, 0x4b, 0x3f, 0x36, 0x12, // $@C3^q|..z=KK?6. - 0x0b, 0x06, 0x95, 0x6c, 0x6b, 0x29, 0x03, 0x10, 0x03, 0x04, 0x0c, 0x00, 0x00, 0x04, 0x00, 0x00, // ...lk).......... - 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, // ................ - 0x01, 0x11, 0x25, 0x11, 0x01, 0x11, 0x21, 0x11, 0x01, 0x11, 0x25, 0x11, 0x01, 0x11, 0x21, 0x11, // ..%...!...%...!. - 0x02, 0xaa, 0xfd, 0x56, 0x02, 0xaa, 0xfd, 0x56, 0x06, 0x80, 0xfc, 0x75, 0x03, 0x8b, 0xfc, 0x75, // ...V...V...u...u - 0x02, 0x12, 0xfd, 0x75, 0x5e, 0x02, 0x2d, 0x02, 0xe7, 0xfd, 0x6d, 0x02, 0x35, 0xfd, 0x77, 0xfc, // ...u^.-...m.5.w. - 0xee, 0x7d, 0x02, 0x95, 0x03, 0x6e, 0xfc, 0xe6, 0x02, 0x9d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, // .}...n.......... - 0xff, 0x00, 0x05, 0x80, 0x05, 0x7e, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1c, 0x00, 0x37, 0x00, 0x4d, // .....~.......7.M - 0x00, 0x5b, 0x00, 0x00, 0x00, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x04, 0x32, 0x36, 0x34, // .[...264&"...264 - 0x26, 0x22, 0x06, 0x14, 0x05, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, // &"...2....."&5.4 - 0x36, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x15, // 6....+...."&=.#. - 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x27, 0x23, 0x22, 0x26, 0x35, 0x11, 0x01, 0x1e, 0x01, 0x15, // ..#"&5'#"&5..... - 0x21, 0x34, 0x36, 0x37, 0x27, 0x26, 0x37, 0x36, 0x1f, 0x01, 0x36, 0x32, 0x17, 0x37, 0x36, 0x17, // !467'&76..62.76. - 0x16, 0x07, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, // ......#"&5.4632. - 0x01, 0xdd, 0x20, 0x17, 0x17, 0x20, 0x16, 0x01, 0xbc, 0x20, 0x16, 0x16, 0x20, 0x17, 0xfc, 0xfb, // .. .. ... .. ... - 0x2a, 0x3c, 0x3b, 0x56, 0x3c, 0x3c, 0x04, 0x4f, 0x40, 0x2d, 0x4b, 0x3c, 0x56, 0x3c, 0x8a, 0x3c, // *<;V<<.O@-K.<.&.4'>.&4.. - 0x27, 0x2e, 0x01, 0x27, 0x16, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 0x2e, 0x01, 0x27, 0x2e, 0x04, // '..'.........'.. - 0x27, 0x2e, 0x03, 0x27, 0x26, 0x36, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x36, 0x37, 0x36, // '..'&6&'..'..676 - 0x16, 0x07, 0x06, 0x16, 0x37, 0x36, 0x34, 0x35, 0x2e, 0x03, 0x27, 0x06, 0x17, 0x14, 0x23, 0x2e, // ....7645..'...#. - 0x01, 0x06, 0x27, 0x36, 0x26, 0x27, 0x26, 0x06, 0x07, 0x06, 0x1e, 0x01, 0x37, 0x36, 0x37, 0x36, // ..'6&'&.....7676 - 0x07, 0x22, 0x26, 0x27, 0x26, 0x36, 0x17, 0x32, 0x16, 0x06, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x07, // ."&'&6.2........ - 0x0e, 0x01, 0x17, 0x1e, 0x03, 0x17, 0x16, 0x37, 0x3e, 0x03, 0x37, 0x36, 0x17, 0x1e, 0x01, 0x06, // .......7>.76.... - 0x07, 0x0e, 0x01, 0x07, 0x06, 0x07, 0x06, 0x27, 0x26, 0x17, 0x16, 0x17, 0x16, 0x37, 0x3e, 0x05, // .......'&....7>. - 0x16, 0x17, 0x14, 0x0e, 0x05, 0x07, 0x0e, 0x02, 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, 0x15, 0x14, // ........'&'&.... - 0x0e, 0x02, 0x17, 0x0e, 0x01, 0x07, 0x06, 0x16, 0x07, 0x06, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, // ..........'&'&76 - 0x0f, 0x01, 0x06, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x06, 0x07, 0x1e, 0x02, // ................ - 0x15, 0x36, 0x27, 0x2e, 0x02, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, // .6'..7>...7676.. - 0x07, 0x06, 0x07, 0x06, 0x16, 0x17, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x36, 0x37, 0x36, 0x33, 0x3e, // ......>.76&6763> - 0x01, 0x16, 0x01, 0x36, 0x26, 0x27, 0x26, 0x15, 0x16, 0x17, 0x32, 0x07, 0x06, 0x33, 0x32, 0x05, // ...6&'&...2..32. - 0x2e, 0x02, 0x27, 0x2e, 0x04, 0x07, 0x06, 0x16, 0x17, 0x16, 0x36, 0x27, 0x34, 0x2e, 0x01, 0x07, // ..'.......6'4... - 0x06, 0x17, 0x16, 0x17, 0x16, 0x17, 0x14, 0x3f, 0x01, 0x34, 0x2e, 0x01, 0x27, 0x26, 0x23, 0x0e, // .......?.4..'&#. - 0x01, 0x16, 0x07, 0x0e, 0x02, 0x17, 0x16, 0x3e, 0x01, 0x37, 0x36, 0x32, 0x36, 0x01, 0x1e, 0x02, // .......>.7626... - 0x0e, 0x05, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x23, 0x22, 0x06, // ........'..'&#". - 0x07, 0x0e, 0x03, 0x27, 0x2e, 0x01, 0x27, 0x2e, 0x04, 0x27, 0x26, 0x36, 0x37, 0x36, 0x2e, 0x01, // ...'..'..'&676.. - 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x35, 0x16, 0x07, 0x06, 0x27, 0x26, 0x07, 0x06, 0x17, // 67>.7>.5...'&... - 0x1e, 0x03, 0x07, 0x14, 0x06, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x37, 0x3e, 0x02, // .............7>. - 0x2e, 0x01, 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, 0x27, 0x26, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x03, // ..'&'&..'&7>.7>. - 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x33, 0x36, 0x16, 0x17, 0x1e, 0x01, 0x07, // 767&'&67636..... - 0x06, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x27, 0x2e, 0x04, // .............'.. - 0x27, 0x26, 0x0e, 0x01, 0x17, 0x16, 0x07, 0x06, 0x16, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, // '&.......67>.7>. - 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x36, 0x37, 0x1e, 0x05, 0x02, 0x97, 0x0b, 0x09, 0x04, 0x05, 0x13, // ..'..67......... - 0x05, 0x5c, 0x04, 0x0f, 0x0a, 0x18, 0x08, 0x03, 0xfe, 0x9b, 0x04, 0x04, 0x05, 0x03, 0x03, 0x07, // ................ - 0x07, 0x06, 0x04, 0x11, 0x04, 0x01, 0x02, 0x02, 0x01, 0x02, 0x03, 0x55, 0x37, 0x04, 0x07, 0x03, // ...........U7... - 0x03, 0x02, 0x07, 0x01, 0x09, 0x01, 0x0a, 0x4a, 0x23, 0x18, 0x21, 0x57, 0x21, 0x0b, 0x27, 0x1f, // .......J#.!W!.'. - 0x0f, 0x01, 0x0b, 0x09, 0x15, 0x12, 0x0d, 0x0d, 0x01, 0x0e, 0x22, 0x19, 0x16, 0x04, 0x04, 0x14, // .........."..... - 0x0b, 0x27, 0x0f, 0x3b, 0x06, 0x08, 0x06, 0x16, 0x19, 0x25, 0x1c, 0x0a, 0x0b, 0x12, 0x15, 0x0d, // .'.;.....%...... - 0x05, 0x11, 0x19, 0x16, 0x10, 0x6b, 0x12, 0x01, 0x09, 0x29, 0x19, 0x03, 0x01, 0x22, 0x1c, 0x1b, // .....k...)...".. - 0x1d, 0x02, 0x01, 0x09, 0x11, 0x07, 0x0a, 0x06, 0x04, 0x0b, 0x07, 0x11, 0x01, 0x01, 0x14, 0x18, // ................ - 0x11, 0x14, 0x01, 0x01, 0x16, 0x09, 0x08, 0x27, 0x01, 0x0d, 0x05, 0x0a, 0x0e, 0x16, 0x0a, 0x1b, // .......'........ - 0x16, 0x2f, 0x37, 0x02, 0x2a, 0x1b, 0x20, 0x05, 0x09, 0x0b, 0x05, 0x03, 0x09, 0x0c, 0x14, 0x49, // ./7.*. ........I - 0x09, 0x2c, 0x1a, 0x19, 0x36, 0x0a, 0x01, 0x01, 0x10, 0x19, 0x2a, 0x11, 0x26, 0x22, 0x21, 0x1b, // .,..6.....*.&"!. - 0x16, 0x0d, 0x02, 0x02, 0x06, 0x06, 0x0b, 0x07, 0x0d, 0x03, 0x1c, 0x4f, 0x36, 0x16, 0x15, 0x2a, // ...........O6..* - 0x16, 0x03, 0x01, 0x1e, 0x1d, 0x0d, 0x12, 0x17, 0x4f, 0x08, 0x02, 0x01, 0x06, 0x08, 0x15, 0x20, // ........O...... - 0x04, 0x02, 0x06, 0x04, 0x05, 0x04, 0x24, 0x2e, 0x05, 0x28, 0x04, 0x14, 0xa8, 0x09, 0x10, 0x03, // ......$..(...... - 0x1f, 0x1e, 0x08, 0x2a, 0x0e, 0x2e, 0x27, 0x04, 0x0d, 0x06, 0x01, 0x03, 0x14, 0x0a, 0x2e, 0x78, // ...*..'........x - 0x85, 0x2c, 0x17, 0x0b, 0x0c, 0x02, 0x01, 0x16, 0x09, 0x06, 0x15, 0x03, 0x17, 0x02, 0x02, 0x11, // .,.............. - 0x02, 0x16, 0x0f, 0x24, 0x01, 0x43, 0x4e, 0xfd, 0xa1, 0x03, 0x0b, 0x06, 0x09, 0x02, 0x03, 0x0a, // ...$.CN......... - 0x03, 0x03, 0x0b, 0x03, 0x01, 0xa3, 0x02, 0x09, 0x11, 0x06, 0x05, 0x09, 0x05, 0x06, 0x02, 0x03, // ................ - 0x0e, 0x2a, 0x12, 0x09, 0x0b, 0xb4, 0x0a, 0x0c, 0x03, 0x0e, 0x07, 0x02, 0x02, 0x0e, 0x04, 0x08, // .*.............. - 0x38, 0x05, 0x0d, 0x03, 0x0f, 0x09, 0x09, 0x05, 0x03, 0x02, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x08, // 8............... - 0x0e, 0x08, 0x01, 0x10, 0x0e, 0x02, 0x37, 0x14, 0x16, 0x02, 0x07, 0x18, 0x17, 0x25, 0x1a, 0x26, // ......7......%.& - 0x08, 0x26, 0x5f, 0x1c, 0x11, 0x66, 0x26, 0x12, 0x17, 0x0a, 0x22, 0x1e, 0x2c, 0x56, 0x13, 0x4c, // .&_..f&...".,V.L - 0x14, 0x2c, 0x47, 0x24, 0x33, 0x1c, 0x1d, 0xa4, 0x40, 0x13, 0x40, 0x24, 0x2b, 0x18, 0x05, 0x0a, // .,G$3...@.@$+... - 0x22, 0x01, 0x01, 0x0a, 0x0a, 0x01, 0x0a, 0x0e, 0x56, 0x11, 0x1e, 0x18, 0x15, 0x35, 0x20, 0x33, // ".......V....5 3 - 0x22, 0x09, 0x0d, 0x12, 0x02, 0x0c, 0x05, 0x04, 0x01, 0x22, 0x03, 0x03, 0x22, 0x14, 0x81, 0x23, // "........".."..# - 0x18, 0x64, 0x41, 0x17, 0x2b, 0x2b, 0x03, 0x12, 0x14, 0x0a, 0x79, 0x30, 0x44, 0x2d, 0x0b, 0x04, // .dA.++....y0D-.. - 0x03, 0x01, 0x01, 0x12, 0x1e, 0x07, 0x08, 0x25, 0x16, 0x26, 0x14, 0x6e, 0x0e, 0x0c, 0x04, 0x02, // .......%.&.n.... - 0x34, 0x50, 0x27, 0x41, 0x35, 0x6a, 0x24, 0x39, 0x45, 0x05, 0x05, 0x23, 0x22, 0x63, 0x37, 0x59, // 4P'A5j$9E..#"c7Y - 0x0f, 0x08, 0x06, 0x12, 0x0b, 0x0a, 0x1b, 0x1b, 0x36, 0x22, 0x12, 0x1b, 0x12, 0x09, 0x0e, 0x02, // ........6"...... - 0x16, 0x26, 0x12, 0x10, 0x14, 0x13, 0x0a, 0x38, 0x5a, 0x28, 0x3b, 0x3d, 0x49, 0x35, 0x30, 0x0b, // .&.....8Z(;=I50. - 0x27, 0x20, 0x21, 0x21, 0x03, 0x0e, 0x01, 0x0e, 0x0f, 0x1a, 0x10, 0x1b, 0x04, 0x65, 0x01, 0x13, // ' !!.........e.. - 0x01, 0x06, 0x0c, 0x03, 0x0e, 0x01, 0x0f, 0x03, 0x0b, 0x0d, 0x06, 0xfe, 0x52, 0x01, 0x08, 0x11, // ............R... - 0x05, 0x05, 0x08, 0x0a, 0x02, 0x01, 0x10, 0x0a, 0x03, 0x08, 0x04, 0x05, 0x03, 0x03, 0x02, 0xfe, // ................ - 0x9a, 0x12, 0x18, 0x0f, 0x19, 0x1b, 0x10, 0x1d, 0x0a, 0x22, 0x07, 0x2b, 0x05, 0x30, 0x6e, 0x14, // .........".+.0n. - 0x14, 0x3f, 0xa2, 0x74, 0x28, 0x02, 0x04, 0x2d, 0x7a, 0x2e, 0x27, 0x3c, 0x1f, 0x12, 0x0c, 0x01, // .?.t(..-z.'<.... - 0x3e, 0x52, 0x1e, 0x24, 0x16, 0x15, 0x41, 0x22, 0x08, 0x03, 0x1e, 0x01, 0x01, 0x32, 0x34, 0x01, // >R.$..A".....24. - 0x03, 0x42, 0x19, 0x13, 0x0f, 0x07, 0x04, 0x40, 0x05, 0x1e, 0x28, 0x15, 0x09, 0x03, 0x08, 0x7e, // .B.....@..(....~ - 0x0f, 0x09, 0x03, 0x04, 0x07, 0x39, 0x42, 0x01, 0x01, 0x39, 0x1f, 0x0f, 0x2c, 0x1f, 0x02, 0x03, // .....9B..9..,... - 0x0b, 0x09, 0x01, 0x1d, 0x13, 0x16, 0x1e, 0x01, 0x2a, 0x24, 0x04, 0x0f, 0x0e, 0x0c, 0x17, 0x01, // ........*$...... - 0x0e, 0x1a, 0x05, 0x08, 0x17, 0x0f, 0x0b, 0x01, 0x02, 0x11, 0x01, 0x0c, 0x09, 0x11, 0x09, 0x0e, // ................ - 0x06, 0x03, 0x0b, 0x0d, 0x03, 0x06, 0x1f, 0x04, 0x13, 0x04, 0x05, 0x07, 0x02, 0x04, 0x04, 0x0f, // ................ - 0x17, 0x01, 0x01, 0x0c, 0x10, 0x13, 0x0f, 0x09, 0x04, 0x09, 0x02, 0x05, 0x05, 0x04, 0x06, 0x03, // ................ - 0x07, 0x01, 0x0e, 0x3c, 0x1a, 0x0c, 0x0b, 0x3e, 0x1f, 0x09, 0x03, 0x07, 0x19, 0x3f, 0x30, 0x44, // ...<...>.....?0D - 0x1d, 0x06, 0xa8, 0x39, 0x12, 0x66, 0x08, 0x18, 0x15, 0x1f, 0x3f, 0x1c, 0x1c, 0x13, 0x01, 0x05, // ...9.f....?..... - 0x41, 0x65, 0x0c, 0x20, 0x04, 0x17, 0x87, 0x09, 0x0f, 0x2e, 0x28, 0x03, 0x0f, 0x3b, 0x31, 0x2e, // Ae. ......(..;1. - 0x18, 0x44, 0x08, 0x10, 0x08, 0x02, 0x05, 0x09, 0x07, 0x34, 0x10, 0x0f, 0x48, 0x26, 0x08, 0x06, // .D.......4..H&.. - 0x2e, 0x19, 0x43, 0x17, 0x1d, 0x01, 0x13, 0x74, 0x20, 0x15, 0x69, 0x59, 0x1a, 0x12, 0x25, 0x20, // ..C....t .iY..% - 0x0b, 0x03, 0x2a, 0x11, 0x1a, 0x02, 0x02, 0x09, 0x05, 0x01, 0x0f, 0x14, 0xc2, 0x08, 0x07, 0x03, // ..*............. - 0x04, 0x03, 0x0a, 0x06, 0x07, 0x01, 0x02, 0x10, 0x37, 0x04, 0x01, 0x12, 0xe0, 0x0b, 0x11, 0x08, // ........7....... - 0x01, 0x01, 0x06, 0x01, 0x01, 0x04, 0x1b, 0x03, 0x05, 0xec, 0x02, 0x06, 0x08, 0x02, 0x0f, 0x01, // ................ - 0x0d, 0x0d, 0x06, 0x04, 0x0d, 0x05, 0x06, 0x03, 0x06, 0x0c, 0x03, 0x01, 0x04, 0xfa, 0xc8, 0x0c, // ................ - 0x19, 0x17, 0x16, 0x16, 0x11, 0x14, 0x0d, 0x12, 0x04, 0x13, 0x4a, 0x1b, 0x10, 0x07, 0x12, 0x09, // ..........J..... - 0x1d, 0x16, 0x11, 0x01, 0x01, 0x03, 0x01, 0x01, 0x1c, 0x20, 0x19, 0x01, 0x01, 0x3c, 0x0d, 0x04, // ......... ...<.. - 0x0b, 0x07, 0x0c, 0x11, 0x0b, 0x17, 0x57, 0x0b, 0x10, 0x30, 0x25, 0x24, 0x09, 0x0c, 0x04, 0x0a, // ......W..0%$.... - 0x12, 0x22, 0x22, 0x49, 0x21, 0x14, 0x05, 0x03, 0x0d, 0x0f, 0x2a, 0x06, 0x18, 0x0c, 0x16, 0x0b, // .""I!.....*..... - 0x0f, 0x44, 0x0e, 0x11, 0x09, 0x06, 0x19, 0x08, 0x06, 0x20, 0x0e, 0x03, 0x06, 0x2c, 0x34, 0x41, // .D....... ...,4A - 0x27, 0x11, 0xbe, 0x34, 0x4a, 0x22, 0x09, 0x18, 0x10, 0x16, 0x1d, 0x2e, 0x30, 0x12, 0x15, 0x66, // '..4J"......0..f - 0x36, 0x44, 0x14, 0x8f, 0x34, 0x70, 0xc6, 0x5a, 0x7b, 0x2b, 0x15, 0x01, 0x1d, 0x1b, 0x2a, 0x9f, // 6D..4p.Z{+....*. - 0x44, 0x5f, 0x77, 0x71, 0x69, 0x3b, 0xd0, 0x57, 0x31, 0x47, 0x28, 0x02, 0x02, 0x22, 0x25, 0x1e, // D_wqi;.W1G(.."%. - 0x01, 0x01, 0x08, 0x13, 0x0c, 0x1d, 0x05, 0x25, 0x0e, 0x54, 0x37, 0x46, 0x7d, 0x41, 0x47, 0x05, // .......%.T7F}AG. - 0x21, 0x31, 0x23, 0x19, 0x12, 0x25, 0x20, 0x19, 0x0b, 0x0b, 0x4a, 0x47, 0x0c, 0x1f, 0x33, 0x1e, // !1#..% ...JG..3. - 0x1b, 0x0b, 0x0f, 0x00, 0x00, 0x08, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0e, // ................ - 0x00, 0x20, 0x00, 0x27, 0x00, 0x2e, 0x00, 0x32, 0x00, 0x3e, 0x00, 0x56, 0x00, 0x62, 0x00, 0x00, // . .'...2.>.V.b.. - 0x25, 0x26, 0x03, 0x23, 0x07, 0x0e, 0x04, 0x07, 0x27, 0x16, 0x33, 0x32, 0x03, 0x26, 0x27, 0x04, // %&.#....'.32.&'. - 0x21, 0x06, 0x15, 0x14, 0x16, 0x17, 0x3e, 0x03, 0x3f, 0x01, 0x3e, 0x01, 0x27, 0x26, 0x27, 0x0e, // !.....>.?.>.'&'. - 0x01, 0x07, 0x20, 0x05, 0x26, 0x07, 0x16, 0x17, 0x3e, 0x01, 0x01, 0x22, 0x07, 0x36, 0x05, 0x26, // .. .&...>..".6.& - 0x23, 0x22, 0x07, 0x16, 0x17, 0x3e, 0x04, 0x13, 0x26, 0x27, 0x07, 0x0e, 0x04, 0x07, 0x16, 0x17, // #"...>..&'...... - 0x1e, 0x01, 0x17, 0x3e, 0x01, 0x32, 0x1e, 0x04, 0x17, 0x36, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, // ...>.2...6... $. - 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x00, 0x2a, 0x62, 0x02, 0x02, 0x10, 0x36, 0x94, 0x7e, 0x88, // ..$ ...*b...6.~. - 0x23, 0x0f, 0xb8, 0xea, 0x84, 0x3d, 0x15, 0x20, 0xfe, 0xc9, 0xfe, 0x96, 0x01, 0x58, 0x50, 0x32, // #....=. .....XP2 - 0x93, 0x8a, 0x7b, 0x26, 0x25, 0x04, 0x12, 0x67, 0x78, 0x7c, 0x8a, 0xc0, 0x20, 0x01, 0x2e, 0x03, // ..{&%..gx|.. ... - 0xdc, 0xd2, 0xc7, 0x57, 0x29, 0x6f, 0x94, 0xfc, 0xf1, 0x01, 0x01, 0x01, 0x02, 0x4f, 0xb9, 0xf8, // ...W)o.......O.. - 0x4c, 0x4f, 0x83, 0x73, 0x45, 0x7a, 0x47, 0x3c, 0x0f, 0xe4, 0x03, 0x92, 0x01, 0x09, 0x14, 0x43, // LO.sEzG<.......C - 0x4b, 0x7d, 0x45, 0x19, 0x13, 0x02, 0x09, 0x03, 0x24, 0x4d, 0x46, 0x44, 0x3c, 0x35, 0x2b, 0x1e, // K}E.....$MFD<5+. - 0x0a, 0x7a, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, // .z....^.....a... - 0x61, 0x24, 0xf1, 0x01, 0x01, 0x01, 0x06, 0x15, 0x4d, 0x57, 0x8e, 0x4d, 0x0b, 0x96, 0x02, 0x93, // a$......MW.M.... - 0x31, 0x3e, 0x5d, 0x07, 0x0e, 0x7c, 0xe1, 0x59, 0x59, 0x9b, 0x5e, 0x44, 0x0e, 0x0d, 0x01, 0x05, // 1>]..|.YY.^D.... - 0xd6, 0xd5, 0xa5, 0x41, 0xf2, 0x97, 0xef, 0x3c, 0x1f, 0xef, 0xe6, 0x4b, 0xe5, 0x03, 0x6d, 0x01, // ...A...<...K..m. - 0x01, 0x91, 0xa4, 0x13, 0xaa, 0xd4, 0x1a, 0x45, 0x36, 0x3c, 0x15, 0xfe, 0x22, 0xe8, 0xb2, 0x01, // .......E6<.."... - 0x0c, 0x19, 0x40, 0x39, 0x49, 0x1c, 0x35, 0x2a, 0x06, 0x17, 0x05, 0x05, 0x04, 0x03, 0x05, 0x06, // ..@9I.5*........ - 0x07, 0x05, 0x02, 0xc8, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // .....^.....a...a - 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x3e, // ...............> - 0x00, 0x5e, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x03, 0x2f, 0x01, 0x2e, 0x04, 0x35, 0x34, 0x33, 0x32, // .^...4../...5432 - 0x1e, 0x03, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x1e, // ..32654..#"..... - 0x02, 0x1f, 0x01, 0x16, 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x03, 0x23, 0x22, 0x06, // .........#"..#". - 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, // ...32>....#"'.#" - 0x24, 0x26, 0x02, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, // $&.547&54632.632 - 0x04, 0x16, 0x12, 0x15, 0x14, 0x07, 0x16, 0x04, 0x95, 0x27, 0x3a, 0x58, 0x4d, 0x31, 0x68, 0x1e, // .........':XM1h. - 0x1c, 0x2a, 0x12, 0x0f, 0x90, 0x2b, 0x44, 0x28, 0x24, 0x2c, 0x1a, 0x2f, 0x39, 0x70, 0xac, 0x60, // .*...+D($,./9p.` - 0x44, 0x80, 0x6f, 0x43, 0x26, 0x4a, 0x56, 0x3c, 0x92, 0x5a, 0x16, 0x20, 0x50, 0x41, 0x33, 0x51, // D.oC&JV<.Z. PA3Q - 0x31, 0x2a, 0x32, 0x1d, 0x32, 0x33, 0xf4, 0xa9, 0x49, 0x86, 0x6f, 0x42, 0x01, 0x6b, 0xe1, 0x9f, // 1*2.23..I.oB.k.. - 0x82, 0x68, 0x4d, 0x49, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x10, 0x50, 0xe1, 0x9f, 0x82, 0x68, 0x4d, // .hMI....o.P...hM - 0x49, 0x8f, 0x01, 0x05, 0xbd, 0x6f, 0x10, 0x50, 0x01, 0xd9, 0x32, 0x53, 0x36, 0x2c, 0x18, 0x0b, // I....o.P..2S6,.. - 0x18, 0x07, 0x07, 0x10, 0x10, 0x1a, 0x11, 0x4d, 0x18, 0x21, 0x22, 0x18, 0x40, 0x2d, 0x37, 0x59, // .......M.!".@-7Y - 0x2e, 0x1f, 0x3f, 0x6f, 0x49, 0x3d, 0x5b, 0x3c, 0x25, 0x0e, 0x24, 0x16, 0x0e, 0x14, 0x28, 0x27, // ..?oI=[<%.$...(' - 0x33, 0x20, 0x2d, 0x2d, 0x20, 0x3c, 0x2d, 0x5c, 0x83, 0x25, 0x46, 0x75, 0x90, 0x9f, 0xe1, 0x50, // 3 -- <-..%Fu...P - 0x10, 0x6f, 0xbd, 0x01, 0x05, 0x8f, 0x49, 0x4d, 0x68, 0x82, 0x9f, 0xe1, 0x50, 0x10, 0x6f, 0xbd, // .o....IMh...P.o. - 0xfe, 0xfb, 0x8f, 0x49, 0x4d, 0x68, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x04, // ...IMh.......... - 0x05, 0x80, 0x00, 0x23, 0x00, 0x3c, 0x00, 0x00, 0x09, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x34, // ...#.<....."'.&4 - 0x37, 0x01, 0x36, 0x32, 0x17, 0x09, 0x01, 0x27, 0x26, 0x23, 0x22, 0x0f, 0x01, 0x06, 0x15, 0x14, // 7.62...'&#"..... - 0x17, 0x01, 0x16, 0x1f, 0x01, 0x33, 0x32, 0x37, 0x01, 0x17, 0x16, 0x14, 0x03, 0x17, 0x16, 0x14, // .....327........ - 0x07, 0x01, 0x06, 0x23, 0x31, 0x22, 0x27, 0x26, 0x27, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, // ...#1"'&'.&4?.62 - 0x1f, 0x01, 0x01, 0x36, 0x32, 0x05, 0xcb, 0xfd, 0xb5, 0x34, 0x97, 0x35, 0xfd, 0xb5, 0x35, 0x35, // ...62....4.5..55 - 0x02, 0x4b, 0x35, 0x96, 0x35, 0x01, 0x09, 0xfe, 0x72, 0xbc, 0x2a, 0x39, 0x3b, 0x29, 0x78, 0x2a, // .K5.5...r.*9;)x* - 0x2a, 0x01, 0x96, 0x1e, 0x25, 0x06, 0x1c, 0x3c, 0x27, 0x02, 0x6b, 0x02, 0x35, 0x82, 0x78, 0x0e, // *...%..<'.k.5.x. - 0x0e, 0xfd, 0x26, 0x11, 0x14, 0x04, 0x02, 0x12, 0x0c, 0xfe, 0x69, 0x0e, 0x0e, 0x79, 0x0d, 0x2c, // ..&.......i..y., - 0x0e, 0xfc, 0x02, 0x3e, 0x0f, 0x2a, 0x02, 0x00, 0xfd, 0xb5, 0x35, 0x35, 0x02, 0x4b, 0x35, 0x96, // ...>.*....55.K5. - 0x35, 0x02, 0x4b, 0x35, 0x35, 0xfe, 0xf7, 0xfe, 0x71, 0xbc, 0x2a, 0x29, 0x79, 0x28, 0x3b, 0x3a, // 5.K55...q.*)y(;: - 0x2a, 0xfe, 0x68, 0x1c, 0x09, 0x04, 0x29, 0x02, 0x6b, 0x03, 0x35, 0x96, 0x02, 0x3d, 0x78, 0x0f, // *.h...).k.5..=x. - 0x2a, 0x0f, 0xfd, 0x26, 0x0f, 0x01, 0x02, 0x0c, 0x01, 0x98, 0x0f, 0x2a, 0x0e, 0x78, 0x0f, 0x0f, // *..&.......*.x.. - 0xfc, 0x02, 0x3f, 0x0f, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // ..?............. - 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x25, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // .../..%.4&#!"... - 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // ..3!26..4&#!"... - 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ..3!26....#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xc0, 0x12, 0x0e, 0xfe, 0x20, 0x0e, 0x12, 0x12, 0x0e, // 463!2...... .... - 0x01, 0xe0, 0x0e, 0x12, 0x02, 0xa0, 0x12, 0x0e, 0xfe, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xe0, // ......... ...... - 0x0e, 0x12, 0xa0, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xc0, // ...&....&&....&. - 0x04, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0xfc, 0x00, 0x0e, 0x12, 0x12, 0x01, 0x8e, 0x02, 0x80, 0x0e, // ................ - 0x12, 0x12, 0x0e, 0xfd, 0x80, 0x0e, 0x12, 0x12, 0x03, 0x0e, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, // .............&&. - 0x05, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, // ...&&........... - 0x05, 0xe0, 0x00, 0x31, 0x00, 0x39, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x03, 0x23, // ...1.9.....#"'.# - 0x15, 0x13, 0x16, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, // ......+....+."&5 - 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, 0x35, 0x23, 0x03, 0x06, 0x23, 0x22, 0x26, 0x35, // .#"&547.5#..#"&5 - 0x34, 0x37, 0x01, 0x36, 0x33, 0x21, 0x32, 0x17, 0x01, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, // 47.63!2......"&4 - 0x36, 0x32, 0x05, 0x00, 0x38, 0x28, 0x33, 0x1d, 0xe3, 0x2d, 0xf7, 0x09, 0x26, 0x1a, 0xc0, 0x42, // 62..8(3..-..&..B - 0x2e, 0xa0, 0x2e, 0x42, 0xc0, 0x1a, 0x26, 0x09, 0xf7, 0x2d, 0xe3, 0x1d, 0x33, 0x28, 0x38, 0x10, // ...B..&..-..3(8. - 0x01, 0x00, 0x49, 0x67, 0x01, 0x80, 0x67, 0x49, 0x01, 0x00, 0x10, 0xfe, 0x60, 0x83, 0xba, 0x83, // ..Ig..gI....`... - 0x83, 0xba, 0x01, 0xe0, 0x28, 0x38, 0x2b, 0x01, 0x55, 0x84, 0xfe, 0x65, 0x0f, 0x12, 0x1a, 0x26, // ....(8+.U..e...& - 0xfe, 0xf0, 0x2e, 0x42, 0x42, 0x2e, 0x01, 0x10, 0x26, 0x1a, 0x12, 0x0f, 0x01, 0x9b, 0x84, 0xfe, // ...BB...&....... - 0xab, 0x2b, 0x38, 0x28, 0x1d, 0x18, 0x01, 0x80, 0x6b, 0x6b, 0xfe, 0x80, 0x18, 0x03, 0x60, 0xba, // .+8(....kk....`. - 0x83, 0x83, 0xba, 0x83, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x05, 0xe0, 0x00, 0x25, // ...............% - 0x00, 0x2d, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x06, // .-......"&5.#... + 0x04, 0x70, 0x3e, 0x2c, 0x3b, 0x24, 0x34, 0x19, 0x0a, 0x01, 0x01, 0xff, 0x00, 0xbc, 0x08, 0x01, // .p>,;$4......... + 0x05, 0x19, 0x35, 0x65, 0x44, 0x82, 0x2b, 0x57, 0x9b, 0x63, 0x45, 0x87, 0x01, 0xa2, 0xa9, 0x77, // ..5eD.+W.cE....w + 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x4b, 0xb7, 0x16, 0x01, 0x17, 0x28, // .@w..w..w.K....( + 0x29, 0x17, 0x01, 0x8e, 0xc2, 0x01, 0x46, 0x0a, 0x2c, 0x56, 0x68, 0x56, 0x19, 0xa5, 0xfe, 0x5e, // ).....F.,VhV...^ + 0x39, 0x74, 0x6a, 0x41, 0x02, 0x01, 0x30, 0x04, 0x2f, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, // 9tjA..0./.@w..w. + 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x01, 0x00, 0x03, 0xff, 0x40, 0x02, 0xfd, 0x06, 0x00, 0x00, 0x17, // .w.......@...... + 0x00, 0x00, 0x00, 0x16, 0x07, 0x01, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x37, 0x36, 0x3b, 0x01, // .......#"'.&76;. + 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x33, 0x02, 0xf5, 0x10, 0x0d, 0xfe, 0xa2, // .46;.2...3...... + 0x0a, 0x0d, 0x0e, 0x0a, 0xfe, 0x9d, 0x0d, 0x08, 0x09, 0x14, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // ................ + 0xe0, 0x01, 0x00, 0x26, 0x10, 0xfe, 0x80, 0x0a, 0x0a, 0x01, 0x80, 0x10, 0x13, 0x13, 0x04, 0xe0, // ...&............ + 0x0e, 0x12, 0x12, 0x0e, 0xfb, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0xff, 0x00, 0x02, 0xfd, // ..... .......... + 0x05, 0xc0, 0x00, 0x17, 0x00, 0x00, 0x01, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, // ........+....+." + 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x37, 0x01, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x02, 0xfd, // &5.#"&7.632..... + 0x09, 0x14, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xe0, 0x15, 0x10, 0x0d, 0x01, 0x5e, 0x0a, 0x0d, // .............^.. + 0x0e, 0x0a, 0x01, 0x63, 0x0d, 0x04, 0x13, 0x13, 0xfb, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x04, 0xe0, // ...c..... ...... + 0x26, 0x10, 0x01, 0x80, 0x0a, 0x0a, 0xfe, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, // &..............@ + 0x01, 0x03, 0x07, 0x00, 0x03, 0xfd, 0x00, 0x17, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ..............#! + 0x15, 0x14, 0x06, 0x27, 0x01, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x17, 0x16, 0x1d, 0x01, 0x21, // ...'.&547.6....! + 0x32, 0x16, 0x07, 0x00, 0x12, 0x0e, 0xfb, 0x20, 0x26, 0x10, 0xfe, 0x80, 0x0a, 0x0a, 0x01, 0x80, // 2...... &....... + 0x10, 0x13, 0x13, 0x04, 0xe0, 0x0e, 0x12, 0x02, 0xe0, 0xc0, 0x0e, 0x12, 0xe0, 0x15, 0x10, 0x0d, // ................ + 0x01, 0x5e, 0x0a, 0x0d, 0x0e, 0x0a, 0x01, 0x62, 0x0e, 0x08, 0x09, 0x14, 0xe0, 0x12, 0x00, 0x00, // .^.....b........ + 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x06, 0xc0, 0x03, 0xfd, 0x00, 0x17, 0x00, 0x00, 0x01, 0x14, // ................ + 0x07, 0x01, 0x06, 0x27, 0x26, 0x3d, 0x01, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, // ...'&=.!"&=.463! + 0x35, 0x34, 0x36, 0x17, 0x01, 0x16, 0x06, 0xc0, 0x0a, 0xfe, 0x80, 0x10, 0x13, 0x13, 0xfb, 0x20, // 546............ + 0x0e, 0x12, 0x12, 0x0e, 0x04, 0xe0, 0x26, 0x10, 0x01, 0x80, 0x0a, 0x02, 0x83, 0x0e, 0x0a, 0xfe, // ......&......... + 0x9e, 0x0e, 0x08, 0x09, 0x14, 0xe0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xe0, 0x15, 0x10, 0x0d, 0xfe, // ................ + 0xa2, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0x71, 0x06, 0x00, 0x00, 0x26, // ...........q...& + 0x00, 0x38, 0x00, 0x00, 0x01, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, // .8......#"'&#".. + 0x23, 0x22, 0x03, 0x02, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, // #"..547632..3276 + 0x33, 0x32, 0x17, 0x16, 0x17, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, 0x01, 0x14, 0x07, 0x06, 0x07, // 32.............. + 0x06, 0x07, 0x06, 0x07, 0x36, 0x37, 0x36, 0x37, 0x1e, 0x01, 0x17, 0x14, 0x16, 0x05, 0x71, 0x27, // ....6767......q' + 0x54, 0x81, 0x80, 0x31, 0x5b, 0x56, 0x41, 0x3d, 0x51, 0x51, 0x33, 0x98, 0x95, 0x93, 0x71, 0x71, // T..1[VA=QQ3...qq + 0xab, 0x48, 0x69, 0x68, 0x22, 0x2d, 0x62, 0x66, 0x47, 0x77, 0x5e, 0x34, 0x34, 0x4f, 0x23, 0x41, // .Hih"-bfGw^44O#A + 0x8a, 0xfe, 0xe1, 0x1d, 0x1e, 0x3f, 0x36, 0x36, 0x25, 0x43, 0x03, 0x4b, 0x4a, 0xb0, 0x01, 0x03, // .....?66%C.KJ... + 0x01, 0x01, 0x01, 0x41, 0x7d, 0x7d, 0xc4, 0x20, 0x20, 0x21, 0x22, 0x01, 0x03, 0x01, 0x05, 0xf2, // ...A}}. !"..... + 0xe4, 0x92, 0x90, 0x1e, 0x1e, 0x22, 0x22, 0x41, 0x24, 0x40, 0x43, 0x33, 0x5e, 0x71, 0x7c, 0xc6, // .....""A$@C3^q|. + 0x04, 0x7a, 0x3d, 0x4b, 0x4b, 0x3f, 0x36, 0x12, 0x0b, 0x06, 0x95, 0x6c, 0x6b, 0x29, 0x03, 0x10, // .z=KK?6....lk).. + 0x03, 0x04, 0x0c, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x03, // ................ + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x11, 0x25, 0x11, 0x01, 0x11, 0x21, 0x11, // ..........%...!. + 0x01, 0x11, 0x25, 0x11, 0x01, 0x11, 0x21, 0x11, 0x02, 0xaa, 0xfd, 0x56, 0x02, 0xaa, 0xfd, 0x56, // ..%...!....V...V + 0x06, 0x80, 0xfc, 0x75, 0x03, 0x8b, 0xfc, 0x75, 0x02, 0x12, 0xfd, 0x75, 0x5e, 0x02, 0x2d, 0x02, // ...u...u...u^.-. + 0xe7, 0xfd, 0x6d, 0x02, 0x35, 0xfd, 0x77, 0xfc, 0xee, 0x7d, 0x02, 0x95, 0x03, 0x6e, 0xfc, 0xe6, // ..m.5.w..}...n.. + 0x02, 0x9d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, 0x05, 0x7e, 0x00, 0x07, // .............~.. + 0x00, 0x0f, 0x00, 0x1c, 0x00, 0x37, 0x00, 0x4d, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x32, 0x36, 0x34, // .....7.M.[...264 + 0x26, 0x22, 0x06, 0x14, 0x04, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x05, 0x32, 0x16, 0x15, // &"...264&"...2.. + 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x05, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, // ..."&5.46....+.. + 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x27, 0x23, // .."&=.#...#"&5'# + 0x22, 0x26, 0x35, 0x11, 0x01, 0x1e, 0x01, 0x15, 0x21, 0x34, 0x36, 0x37, 0x27, 0x26, 0x37, 0x36, // "&5.....!467'&76 + 0x1f, 0x01, 0x36, 0x32, 0x17, 0x37, 0x36, 0x17, 0x16, 0x07, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, // ..62.76.......#" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x01, 0xdd, 0x20, 0x17, 0x17, 0x20, 0x16, 0x01, // &5.4632... .. .. + 0xbc, 0x20, 0x16, 0x16, 0x20, 0x17, 0xfc, 0xfb, 0x2a, 0x3c, 0x3b, 0x56, 0x3c, 0x3c, 0x04, 0x4f, // . .. ...*<;V<<.O + 0x40, 0x2d, 0x4b, 0x3c, 0x56, 0x3c, 0x8a, 0x3c, 0x2b, 0x2a, 0x3c, 0x01, 0x4a, 0x2e, 0x40, 0x02, // @-K.<.&. + 0x34, 0x27, 0x3e, 0x03, 0x26, 0x34, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x16, 0x17, 0x16, 0x07, // 4'>.&4..'..'.... + 0x06, 0x07, 0x06, 0x2e, 0x01, 0x27, 0x2e, 0x04, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x36, 0x26, 0x27, // .....'..'..'&6&' + 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x36, 0x37, 0x36, 0x16, 0x07, 0x06, 0x16, 0x37, 0x36, 0x34, 0x35, // ..'..676....7645 + 0x2e, 0x03, 0x27, 0x06, 0x17, 0x14, 0x23, 0x2e, 0x01, 0x06, 0x27, 0x36, 0x26, 0x27, 0x26, 0x06, // ..'...#...'6&'&. + 0x07, 0x06, 0x1e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x07, 0x22, 0x26, 0x27, 0x26, 0x36, 0x17, 0x32, // ....7676."&'&6.2 + 0x16, 0x06, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x17, 0x1e, 0x03, 0x17, 0x16, 0x37, // ...............7 + 0x3e, 0x03, 0x37, 0x36, 0x17, 0x1e, 0x01, 0x06, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x07, 0x06, 0x27, // >.76...........' + 0x26, 0x17, 0x16, 0x17, 0x16, 0x37, 0x3e, 0x05, 0x16, 0x17, 0x14, 0x0e, 0x05, 0x07, 0x0e, 0x02, // &....7>......... + 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, 0x15, 0x14, 0x0e, 0x02, 0x17, 0x0e, 0x01, 0x07, 0x06, 0x16, // '&'&............ + 0x07, 0x06, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x07, 0x06, 0x07, 0x06, 0x17, 0x1e, 0x01, 0x17, // ..'&'&76........ + 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x06, 0x07, 0x1e, 0x02, 0x15, 0x36, 0x27, 0x2e, 0x02, 0x37, 0x3e, // ..........6'..7> + 0x01, 0x17, 0x16, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x07, 0x06, 0x07, 0x06, 0x16, 0x17, 0x3e, // ...7676........> + 0x01, 0x37, 0x36, 0x26, 0x36, 0x37, 0x36, 0x33, 0x3e, 0x01, 0x16, 0x01, 0x36, 0x26, 0x27, 0x26, // .76&6763>...6&'& + 0x15, 0x16, 0x17, 0x32, 0x07, 0x06, 0x33, 0x32, 0x05, 0x2e, 0x02, 0x27, 0x2e, 0x04, 0x07, 0x06, // ...2..32...'.... + 0x16, 0x17, 0x16, 0x36, 0x27, 0x34, 0x2e, 0x01, 0x07, 0x22, 0x06, 0x16, 0x17, 0x16, 0x17, 0x14, // ...6'4..."...... + 0x37, 0x36, 0x37, 0x34, 0x2e, 0x01, 0x27, 0x26, 0x23, 0x0e, 0x01, 0x16, 0x07, 0x0e, 0x02, 0x17, // 7674..'&#....... + 0x16, 0x3e, 0x01, 0x37, 0x36, 0x32, 0x36, 0x01, 0x1e, 0x02, 0x0e, 0x05, 0x07, 0x0e, 0x01, 0x07, // .>.7626......... + 0x0e, 0x01, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x23, 0x22, 0x06, 0x07, 0x0e, 0x03, 0x27, 0x2e, 0x01, // ..'..'&#"....'.. + 0x27, 0x2e, 0x04, 0x27, 0x26, 0x36, 0x37, 0x36, 0x2e, 0x01, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, // '..'&676..67>.7> + 0x01, 0x35, 0x16, 0x07, 0x06, 0x27, 0x26, 0x07, 0x06, 0x17, 0x1e, 0x03, 0x07, 0x14, 0x06, 0x17, // .5...'&......... + 0x16, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x37, 0x3e, 0x02, 0x2e, 0x01, 0x27, 0x26, 0x27, 0x26, // .......7>...'&'& + 0x07, 0x06, 0x27, 0x26, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, // ..'&7>.7>.767&'& + 0x36, 0x37, 0x36, 0x33, 0x36, 0x16, 0x17, 0x1e, 0x01, 0x07, 0x06, 0x17, 0x16, 0x17, 0x1e, 0x01, // 67636........... + 0x17, 0x16, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x27, 0x2e, 0x04, 0x27, 0x26, 0x0e, 0x01, 0x17, 0x16, // .......'..'&.... + 0x07, 0x06, 0x16, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x36, // ...67>.7>...'..6 + 0x37, 0x1e, 0x05, 0x02, 0x97, 0x0b, 0x09, 0x04, 0x05, 0x13, 0x05, 0x5c, 0x04, 0x0f, 0x0a, 0x18, // 7............... + 0x08, 0x03, 0xfe, 0x9b, 0x04, 0x04, 0x05, 0x03, 0x03, 0x07, 0x0a, 0x09, 0x04, 0x11, 0x04, 0x01, // ................ + 0x02, 0x02, 0x01, 0x02, 0x03, 0x55, 0x37, 0x04, 0x07, 0x03, 0x03, 0x02, 0x07, 0x01, 0x09, 0x01, // .....U7......... + 0x0a, 0x4a, 0x23, 0x18, 0x21, 0x57, 0x21, 0x0b, 0x27, 0x1f, 0x0f, 0x01, 0x0b, 0x09, 0x15, 0x12, // .J#.!W!.'....... + 0x0d, 0x0d, 0x01, 0x0e, 0x22, 0x19, 0x16, 0x04, 0x04, 0x14, 0x0b, 0x27, 0x0f, 0x3b, 0x06, 0x08, // ...."......'.;.. + 0x06, 0x16, 0x19, 0x25, 0x1c, 0x0a, 0x0b, 0x12, 0x15, 0x0d, 0x05, 0x11, 0x19, 0x16, 0x10, 0x6b, // ...%...........k + 0x12, 0x01, 0x09, 0x29, 0x19, 0x03, 0x01, 0x22, 0x1c, 0x1b, 0x1d, 0x02, 0x01, 0x09, 0x11, 0x07, // ...)..."........ + 0x0a, 0x06, 0x04, 0x0b, 0x07, 0x11, 0x01, 0x01, 0x14, 0x18, 0x11, 0x14, 0x01, 0x01, 0x16, 0x09, // ................ + 0x08, 0x27, 0x01, 0x0d, 0x05, 0x0a, 0x0e, 0x16, 0x0a, 0x1b, 0x16, 0x2f, 0x37, 0x02, 0x2a, 0x1b, // .'........./7.*. + 0x20, 0x05, 0x09, 0x0b, 0x05, 0x03, 0x09, 0x0c, 0x14, 0x49, 0x09, 0x2c, 0x1a, 0x19, 0x36, 0x0a, // ........I.,..6. + 0x01, 0x01, 0x10, 0x19, 0x2a, 0x11, 0x26, 0x22, 0x21, 0x1b, 0x16, 0x0d, 0x02, 0x02, 0x06, 0x06, // ....*.&"!....... + 0x0b, 0x07, 0x0d, 0x03, 0x1c, 0x4f, 0x36, 0x16, 0x15, 0x2a, 0x16, 0x03, 0x01, 0x1e, 0x1d, 0x0d, // .....O6..*...... + 0x12, 0x17, 0x4f, 0x08, 0x02, 0x01, 0x06, 0x08, 0x15, 0x20, 0x04, 0x02, 0x06, 0x04, 0x05, 0x02, // ..O...... ...... + 0x02, 0x24, 0x2e, 0x05, 0x28, 0x04, 0x14, 0xa8, 0x09, 0x10, 0x03, 0x1f, 0x1e, 0x08, 0x2a, 0x0e, // .$..(.........*. + 0x2e, 0x27, 0x04, 0x0d, 0x06, 0x01, 0x03, 0x14, 0x0a, 0x2e, 0x78, 0x85, 0x2c, 0x17, 0x0b, 0x0c, // .'........x.,... + 0x02, 0x01, 0x16, 0x09, 0x06, 0x15, 0x03, 0x17, 0x02, 0x02, 0x11, 0x02, 0x16, 0x0f, 0x24, 0x01, // ..............$. + 0x43, 0x4e, 0xfd, 0xa1, 0x03, 0x0b, 0x06, 0x09, 0x02, 0x03, 0x0a, 0x03, 0x03, 0x0b, 0x03, 0x01, // CN.............. + 0xa3, 0x02, 0x09, 0x11, 0x06, 0x05, 0x09, 0x05, 0x06, 0x02, 0x03, 0x0e, 0x2a, 0x12, 0x09, 0x0b, // ............*... + 0xb4, 0x0a, 0x0c, 0x03, 0x06, 0x04, 0x04, 0x03, 0x0e, 0x04, 0x08, 0x02, 0x36, 0x05, 0x0d, 0x03, // ............6... + 0x0f, 0x09, 0x09, 0x05, 0x03, 0x02, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x08, 0x0e, 0x08, 0x01, 0x10, // ................ + 0x0e, 0x02, 0x37, 0x14, 0x16, 0x02, 0x07, 0x18, 0x17, 0x25, 0x1a, 0x26, 0x08, 0x26, 0x5f, 0x1c, // ..7......%.&.&_. + 0x11, 0x66, 0x26, 0x12, 0x17, 0x0a, 0x22, 0x1e, 0x2c, 0x56, 0x13, 0x4c, 0x14, 0x2c, 0x47, 0x24, // .f&...".,V.L.,G$ + 0x33, 0x1c, 0x1d, 0xa4, 0x40, 0x13, 0x40, 0x24, 0x2b, 0x18, 0x05, 0x0a, 0x22, 0x01, 0x01, 0x0a, // 3...@.@$+..."... + 0x0a, 0x01, 0x0a, 0x0e, 0x56, 0x11, 0x1e, 0x18, 0x15, 0x35, 0x20, 0x33, 0x22, 0x09, 0x0d, 0x12, // ....V....5 3"... + 0x02, 0x0c, 0x05, 0x04, 0x01, 0x22, 0x03, 0x03, 0x22, 0x14, 0x81, 0x23, 0x18, 0x64, 0x41, 0x17, // .....".."..#.dA. + 0x2b, 0x2b, 0x03, 0x12, 0x14, 0x0a, 0x79, 0x30, 0x44, 0x2d, 0x0b, 0x04, 0x03, 0x01, 0x01, 0x12, // ++....y0D-...... + 0x1e, 0x07, 0x08, 0x25, 0x16, 0x26, 0x14, 0x6e, 0x0e, 0x0c, 0x04, 0x02, 0x34, 0x50, 0x27, 0x41, // ...%.&.n....4P'A + 0x35, 0x6a, 0x24, 0x39, 0x45, 0x05, 0x05, 0x23, 0x22, 0x63, 0x37, 0x59, 0x0f, 0x08, 0x06, 0x12, // 5j$9E..#"c7Y.... + 0x0b, 0x0a, 0x1b, 0x1b, 0x36, 0x22, 0x12, 0x1b, 0x12, 0x09, 0x0e, 0x02, 0x16, 0x26, 0x12, 0x10, // ....6".......&.. + 0x14, 0x13, 0x0a, 0x38, 0x5a, 0x28, 0x3b, 0x3d, 0x49, 0x35, 0x30, 0x0b, 0x27, 0x20, 0x21, 0x21, // ...8Z(;=I50.' !! + 0x03, 0x0e, 0x01, 0x0e, 0x0f, 0x1a, 0x10, 0x1b, 0x04, 0x65, 0x01, 0x13, 0x01, 0x06, 0x0c, 0x03, // .........e...... + 0x0e, 0x01, 0x0f, 0x03, 0x0b, 0x0d, 0x06, 0xfe, 0x52, 0x01, 0x08, 0x11, 0x05, 0x05, 0x08, 0x0b, // ........R....... + 0x01, 0x01, 0x10, 0x0a, 0x03, 0x08, 0x04, 0x05, 0x03, 0x03, 0x02, 0xfe, 0x9a, 0x12, 0x18, 0x0f, // ................ + 0x19, 0x1b, 0x10, 0x1d, 0x0a, 0x22, 0x07, 0x2b, 0x05, 0x30, 0x6e, 0x14, 0x14, 0x3f, 0xa2, 0x74, // .....".+.0n..?.t + 0x28, 0x02, 0x04, 0x2d, 0x7a, 0x2e, 0x27, 0x3c, 0x1f, 0x12, 0x0c, 0x01, 0x3e, 0x52, 0x1e, 0x24, // (..-z.'<....>R.$ + 0x16, 0x15, 0x41, 0x22, 0x08, 0x03, 0x1e, 0x01, 0x01, 0x32, 0x34, 0x01, 0x03, 0x42, 0x19, 0x13, // ..A".....24..B.. + 0x0f, 0x07, 0x04, 0x40, 0x05, 0x1e, 0x28, 0x15, 0x09, 0x03, 0x08, 0x7e, 0x0f, 0x09, 0x03, 0x04, // ...@..(....~.... + 0x07, 0x39, 0x42, 0x01, 0x01, 0x39, 0x1f, 0x0f, 0x2c, 0x1f, 0x02, 0x03, 0x0b, 0x09, 0x01, 0x1d, // .9B..9..,....... + 0x13, 0x16, 0x1e, 0x01, 0x2a, 0x24, 0x04, 0x0f, 0x0e, 0x0c, 0x17, 0x01, 0x0e, 0x1a, 0x05, 0x08, // ....*$.......... + 0x17, 0x0f, 0x0b, 0x01, 0x02, 0x11, 0x01, 0x0c, 0x09, 0x11, 0x09, 0x0e, 0x06, 0x03, 0x0b, 0x0d, // ................ + 0x03, 0x06, 0x1f, 0x04, 0x13, 0x04, 0x05, 0x07, 0x02, 0x04, 0x04, 0x0f, 0x17, 0x01, 0x01, 0x0c, // ................ + 0x10, 0x13, 0x0f, 0x09, 0x04, 0x09, 0x02, 0x05, 0x05, 0x04, 0x06, 0x03, 0x07, 0x01, 0x0e, 0x3c, // ...............< + 0x1a, 0x0c, 0x0b, 0x3e, 0x1f, 0x09, 0x03, 0x07, 0x19, 0x3f, 0x30, 0x44, 0x1d, 0x06, 0xa8, 0x39, // ...>.....?0D...9 + 0x12, 0x66, 0x08, 0x18, 0x15, 0x1f, 0x3f, 0x1c, 0x1c, 0x13, 0x01, 0x01, 0x04, 0x41, 0x65, 0x0c, // .f....?......Ae. + 0x20, 0x04, 0x17, 0x87, 0x09, 0x0f, 0x2e, 0x28, 0x03, 0x0f, 0x3b, 0x31, 0x2e, 0x18, 0x44, 0x08, // ......(..;1..D. + 0x10, 0x08, 0x02, 0x05, 0x09, 0x07, 0x34, 0x10, 0x0f, 0x48, 0x26, 0x08, 0x06, 0x2e, 0x19, 0x43, // ......4..H&....C + 0x17, 0x1d, 0x01, 0x13, 0x74, 0x20, 0x15, 0x69, 0x59, 0x1a, 0x12, 0x25, 0x20, 0x0b, 0x03, 0x2a, // ....t .iY..% ..* + 0x11, 0x1a, 0x02, 0x02, 0x09, 0x05, 0x01, 0x0f, 0x14, 0xc2, 0x08, 0x07, 0x03, 0x04, 0x03, 0x0a, // ................ + 0x06, 0x07, 0x01, 0x02, 0x10, 0x37, 0x04, 0x01, 0x12, 0xe0, 0x0b, 0x11, 0x08, 0x01, 0x04, 0x04, // .....7.......... + 0x01, 0x04, 0x1b, 0x03, 0x05, 0x02, 0xea, 0x02, 0x06, 0x08, 0x02, 0x0f, 0x01, 0x0d, 0x0d, 0x06, // ................ + 0x04, 0x0d, 0x05, 0x06, 0x03, 0x06, 0x0c, 0x03, 0x01, 0x04, 0xfa, 0xc8, 0x0c, 0x19, 0x17, 0x16, // ................ + 0x16, 0x11, 0x14, 0x0d, 0x12, 0x04, 0x13, 0x4a, 0x1b, 0x10, 0x07, 0x12, 0x09, 0x1d, 0x16, 0x11, // .......J........ + 0x01, 0x01, 0x03, 0x01, 0x01, 0x1c, 0x20, 0x19, 0x01, 0x01, 0x3c, 0x0d, 0x04, 0x0b, 0x07, 0x0c, // ...... ...<..... + 0x11, 0x0b, 0x17, 0x57, 0x0b, 0x10, 0x30, 0x25, 0x24, 0x09, 0x0c, 0x04, 0x0a, 0x12, 0x22, 0x22, // ...W..0%$....."" + 0x49, 0x21, 0x14, 0x05, 0x03, 0x0d, 0x0f, 0x2a, 0x06, 0x18, 0x0c, 0x16, 0x0b, 0x0f, 0x44, 0x0e, // I!.....*......D. + 0x11, 0x09, 0x06, 0x19, 0x08, 0x06, 0x20, 0x0e, 0x03, 0x06, 0x2c, 0x34, 0x41, 0x27, 0x11, 0xbe, // ...... ...,4A'.. + 0x34, 0x4a, 0x22, 0x09, 0x18, 0x10, 0x16, 0x1d, 0x2e, 0x30, 0x12, 0x15, 0x66, 0x36, 0x44, 0x14, // 4J"......0..f6D. + 0x8f, 0x34, 0x70, 0xc6, 0x5a, 0x7b, 0x2b, 0x15, 0x01, 0x1d, 0x1b, 0x2a, 0x9f, 0x44, 0x5f, 0x77, // .4p.Z{+....*.D_w + 0x71, 0x69, 0x3b, 0xd0, 0x57, 0x31, 0x47, 0x28, 0x02, 0x02, 0x22, 0x25, 0x1e, 0x01, 0x01, 0x08, // qi;.W1G(.."%.... + 0x13, 0x0c, 0x1d, 0x05, 0x25, 0x0e, 0x54, 0x37, 0x46, 0x7d, 0x41, 0x47, 0x05, 0x21, 0x31, 0x23, // ....%.T7F}AG.!1# + 0x19, 0x12, 0x25, 0x20, 0x19, 0x0b, 0x0b, 0x4a, 0x47, 0x0c, 0x1f, 0x33, 0x1e, 0x1b, 0x0b, 0x0f, // ..% ...JG..3.... + 0x00, 0x08, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0e, 0x00, 0x20, 0x00, 0x27, // ............. .' + 0x00, 0x2e, 0x00, 0x32, 0x00, 0x3e, 0x00, 0x56, 0x00, 0x62, 0x00, 0x00, 0x25, 0x26, 0x03, 0x23, // ...2.>.V.b..%&.# + 0x07, 0x0e, 0x04, 0x07, 0x27, 0x16, 0x33, 0x32, 0x03, 0x26, 0x27, 0x04, 0x21, 0x06, 0x15, 0x14, // ....'.32.&'.!... + 0x16, 0x17, 0x3e, 0x03, 0x3f, 0x01, 0x3e, 0x01, 0x27, 0x26, 0x27, 0x0e, 0x01, 0x07, 0x20, 0x05, // ..>.?.>.'&'... . + 0x26, 0x07, 0x16, 0x17, 0x3e, 0x01, 0x01, 0x22, 0x07, 0x36, 0x05, 0x26, 0x23, 0x22, 0x07, 0x16, // &...>..".6.&#".. + 0x17, 0x3e, 0x04, 0x13, 0x26, 0x27, 0x07, 0x0e, 0x04, 0x07, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x3e, // .>..&'.........> + 0x01, 0x32, 0x1e, 0x04, 0x17, 0x36, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, // .2...6... $...$ + 0x04, 0x04, 0x00, 0x2a, 0x62, 0x02, 0x02, 0x10, 0x36, 0x94, 0x7e, 0x88, 0x23, 0x0f, 0xb8, 0xea, // ...*b...6.~.#... + 0x84, 0x3d, 0x15, 0x20, 0xfe, 0xc9, 0xfe, 0x96, 0x01, 0x58, 0x50, 0x32, 0x93, 0x8a, 0x7b, 0x26, // .=. .....XP2..{& + 0x25, 0x04, 0x12, 0x67, 0x78, 0x7c, 0x8a, 0xc0, 0x20, 0x01, 0x2e, 0x03, 0xdc, 0xd2, 0xc7, 0x57, // %..gx|.. ......W + 0x29, 0x6f, 0x94, 0xfc, 0xf1, 0x01, 0x01, 0x01, 0x02, 0x4f, 0xb9, 0xf8, 0x4c, 0x4f, 0x83, 0x73, // )o.......O..LO.s + 0x45, 0x7a, 0x47, 0x3c, 0x0f, 0xe4, 0x03, 0x92, 0x01, 0x09, 0x14, 0x43, 0x4b, 0x7d, 0x45, 0x19, // EzG<.......CK}E. + 0x13, 0x02, 0x09, 0x03, 0x24, 0x4d, 0x46, 0x44, 0x3c, 0x35, 0x2b, 0x1e, 0x0a, 0x7a, 0xce, 0xfe, // ....$MFD<5+..z.. + 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x24, 0xf1, 0x01, // ..^.....a...a$.. + 0x01, 0x01, 0x06, 0x15, 0x4d, 0x57, 0x8e, 0x4d, 0x0b, 0x96, 0x02, 0x93, 0x31, 0x3e, 0x5d, 0x07, // ....MW.M....1>]. + 0x0e, 0x7c, 0xe1, 0x59, 0x59, 0x9b, 0x5e, 0x44, 0x0e, 0x0d, 0x01, 0x05, 0xd6, 0xd5, 0xa5, 0x41, // .|.YY.^D.......A + 0xf2, 0x97, 0xef, 0x3c, 0x1f, 0xef, 0xe6, 0x4b, 0xe5, 0x03, 0x6d, 0x01, 0x01, 0x91, 0xa4, 0x13, // ...<...K..m..... + 0xaa, 0xd4, 0x1a, 0x45, 0x36, 0x3c, 0x15, 0xfe, 0x22, 0xe8, 0xb2, 0x01, 0x0c, 0x19, 0x40, 0x39, // ...E6<..".....@9 + 0x49, 0x1c, 0x35, 0x2a, 0x05, 0x18, 0x05, 0x05, 0x04, 0x03, 0x05, 0x06, 0x07, 0x05, 0x02, 0xc8, // I.5*............ + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, // .^.....a...a.... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x3e, 0x00, 0x5e, 0x00, 0x00, // ...........>.^.. + 0x01, 0x34, 0x2e, 0x03, 0x2f, 0x01, 0x2e, 0x04, 0x35, 0x34, 0x33, 0x32, 0x1e, 0x03, 0x33, 0x32, // .4../...5432..32 + 0x36, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x1f, 0x01, 0x16, // 654..#"......... + 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x03, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, // .....#"..#"....3 + 0x32, 0x3e, 0x02, 0x05, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x35, // 2>....#"'.#"$&.5 + 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x04, 0x16, 0x12, 0x15, // 47&54632.632.... + 0x14, 0x07, 0x16, 0x04, 0x95, 0x27, 0x3a, 0x58, 0x4d, 0x31, 0x68, 0x1e, 0x1c, 0x2a, 0x12, 0x0f, // .....':XM1h..*.. + 0x90, 0x2b, 0x44, 0x28, 0x24, 0x2c, 0x1a, 0x2f, 0x39, 0x70, 0xac, 0x60, 0x44, 0x80, 0x6f, 0x43, // .+D($,./9p.`D.oC + 0x26, 0x4a, 0x56, 0x3c, 0x92, 0x5a, 0x16, 0x20, 0x50, 0x41, 0x33, 0x51, 0x31, 0x2a, 0x32, 0x1d, // &JV<.Z. PA3Q1*2. + 0x32, 0x33, 0xf4, 0xa9, 0x49, 0x86, 0x6f, 0x42, 0x01, 0x6b, 0xe1, 0x9f, 0x82, 0x68, 0x4d, 0x49, // 23..I.oB.k...hMI + 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, 0x10, 0x50, 0xe1, 0x9f, 0x82, 0x68, 0x4d, 0x49, 0x8f, 0x01, 0x05, // ....o.P...hMI... + 0xbd, 0x6f, 0x10, 0x50, 0x01, 0xd9, 0x32, 0x53, 0x36, 0x2c, 0x18, 0x0b, 0x18, 0x07, 0x07, 0x10, // .o.P..2S6,...... + 0x10, 0x1a, 0x11, 0x4d, 0x18, 0x21, 0x22, 0x18, 0x40, 0x2d, 0x37, 0x59, 0x2e, 0x1f, 0x3f, 0x6f, // ...M.!".@-7Y..?o + 0x49, 0x3d, 0x5b, 0x3c, 0x25, 0x0e, 0x24, 0x16, 0x0e, 0x14, 0x28, 0x27, 0x33, 0x20, 0x2d, 0x2d, // I=[<%.$...('3 -- + 0x20, 0x3c, 0x2d, 0x5c, 0x83, 0x25, 0x46, 0x75, 0x90, 0x9f, 0xe1, 0x50, 0x10, 0x6f, 0xbd, 0x01, // <-..%Fu...P.o.. + 0x05, 0x8f, 0x49, 0x4d, 0x68, 0x82, 0x9f, 0xe1, 0x50, 0x10, 0x6f, 0xbd, 0xfe, 0xfb, 0x8f, 0x49, // ..IMh...P.o....I + 0x4d, 0x68, 0x00, 0x00, 0x00, 0x03, 0x00, 0x2c, 0xff, 0x80, 0x04, 0xcb, 0x06, 0x00, 0x00, 0x23, // Mh.....,.......# + 0x00, 0x3f, 0x00, 0x44, 0x00, 0x00, 0x01, 0x37, 0x36, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // .?.D...76&#!"... + 0x14, 0x37, 0x01, 0x3e, 0x01, 0x3b, 0x01, 0x32, 0x36, 0x37, 0x36, 0x37, 0x36, 0x26, 0x23, 0x21, // .7.>.;.267676&#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x36, 0x37, 0x06, 0x0a, 0x01, 0x07, 0x0e, // "&=.463!267..... + 0x04, 0x23, 0x21, 0x22, 0x07, 0x06, 0x01, 0x0e, 0x01, 0x27, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, // .#!".....'&5.463 + 0x21, 0x32, 0x16, 0x07, 0x03, 0x36, 0x1a, 0x01, 0x03, 0xe8, 0x25, 0x05, 0x1c, 0x15, 0xfd, 0x38, // !2...6....%....8 + 0x17, 0x1f, 0x06, 0x01, 0x23, 0x17, 0x1e, 0x21, 0xef, 0x16, 0x1e, 0x03, 0x18, 0x0d, 0x04, 0x1f, // ....#..!........ + 0x15, 0xfe, 0xda, 0x1d, 0x26, 0x26, 0x1d, 0x01, 0x5a, 0x12, 0x22, 0xe6, 0x0f, 0x4d, 0x3e, 0x04, // ....&&..Z."..M>. + 0x06, 0x06, 0x16, 0x1b, 0x32, 0x21, 0xfe, 0xf1, 0x0d, 0x09, 0x08, 0xfe, 0x5e, 0x16, 0x49, 0x0c, // ....2!......^.I. + 0x37, 0x4c, 0x52, 0x03, 0x78, 0x5f, 0x40, 0x16, 0x9e, 0x04, 0x3e, 0x4d, 0x04, 0x4e, 0xc2, 0x17, // 7LR.x_@...>M.N.. + 0x22, 0x22, 0x14, 0xfb, 0xb3, 0x07, 0x06, 0x01, 0x60, 0x1a, 0x0f, 0x1d, 0x0f, 0x82, 0x3d, 0x15, // ""......`.....=. + 0x26, 0x26, 0x1d, 0x2a, 0x1d, 0x25, 0x1b, 0xee, 0x49, 0xfe, 0x7d, 0xfe, 0xc7, 0x11, 0x16, 0x15, // &&.*.%..I.}..... + 0x2c, 0x16, 0x14, 0x0a, 0x09, 0xfe, 0x1b, 0x19, 0x07, 0x09, 0x16, 0x4c, 0x05, 0x82, 0x37, 0x5f, // ,..........L..7_ + 0x6a, 0x6a, 0xfc, 0xea, 0x11, 0x01, 0x39, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // jj....9......... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x25, 0x11, // .........../..%. + 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x11, // 4&#!".....3!26.. + 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, // 4&#!".....3!26.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xc0, // ..#!"&5.463!2... + 0x12, 0x0e, 0xfe, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xe0, 0x0e, 0x12, 0x02, 0xa0, 0x12, 0x0e, // ... ............ + 0xfe, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xe0, 0x0e, 0x12, 0xa0, 0x26, 0x1a, 0xfa, 0x80, 0x1a, // . .........&.... + 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0xc0, 0x04, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0xfc, 0x00, // &&....&......... + 0x0e, 0x12, 0x12, 0x01, 0x8e, 0x02, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x80, 0x0e, 0x12, 0x12, // ................ + 0x03, 0x0e, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x00, // .....&&....&&... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, 0x05, 0xe0, 0x00, 0x31, 0x00, 0x39, 0x00, 0x00, // ...........1.9.. + 0x01, 0x14, 0x06, 0x23, 0x22, 0x27, 0x03, 0x23, 0x15, 0x13, 0x16, 0x15, 0x14, 0x06, 0x2b, 0x01, // ...#"'.#......+. + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, // ...+."&5.#"&547. + 0x35, 0x23, 0x03, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x33, 0x21, 0x32, 0x17, // 5#..#"&547.63!2. + 0x01, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x05, 0x00, 0x38, 0x28, 0x33, 0x1d, // ....."&462..8(3. + 0xe3, 0x2d, 0xf7, 0x09, 0x26, 0x1a, 0xc0, 0x42, 0x2e, 0xa0, 0x2e, 0x42, 0xc0, 0x1a, 0x26, 0x09, // .-..&..B...B..&. + 0xf7, 0x2d, 0xe3, 0x1d, 0x33, 0x28, 0x38, 0x10, 0x01, 0x00, 0x49, 0x67, 0x01, 0x80, 0x67, 0x49, // .-..3(8...Ig..gI + 0x01, 0x00, 0x10, 0xfe, 0x60, 0x83, 0xba, 0x83, 0x83, 0xba, 0x01, 0xe0, 0x28, 0x38, 0x2b, 0x01, // ....`.......(8+. + 0x55, 0x84, 0xfe, 0x65, 0x0f, 0x12, 0x1a, 0x26, 0xfe, 0xf0, 0x2e, 0x42, 0x42, 0x2e, 0x01, 0x10, // U..e...&...BB... + 0x26, 0x1a, 0x12, 0x0f, 0x01, 0x9b, 0x84, 0xfe, 0xab, 0x2b, 0x38, 0x28, 0x1d, 0x18, 0x01, 0x80, // &........+8(.... + 0x6b, 0x6b, 0xfe, 0x80, 0x18, 0x03, 0x60, 0xba, 0x83, 0x83, 0xba, 0x83, 0x00, 0x02, 0x00, 0x00, // kk....`......... + 0xff, 0x00, 0x04, 0x00, 0x05, 0xe0, 0x00, 0x25, 0x00, 0x2d, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, // .......%.-...... 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x06, // "&5.#..."&5.#... - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, // "&5.463!2...."&4 - 0x36, 0x32, 0x04, 0x00, 0x38, 0x50, 0x38, 0x40, 0x42, 0x5c, 0x42, 0x40, 0x42, 0x5c, 0x42, 0x40, // 62..8P8@B.B@B.B@ - 0x38, 0x50, 0x38, 0x70, 0x50, 0x02, 0x80, 0x50, 0x70, 0xfe, 0xe0, 0x83, 0xba, 0x83, 0x83, 0xba, // 8P8pP..Pp....... - 0x03, 0x40, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, 0x01, 0x60, 0xfc, 0x70, 0x2e, 0x42, 0x42, 0x2e, // .@.`(88(.`.p.BB. - 0x01, 0xd0, 0xfe, 0x30, 0x2e, 0x42, 0x42, 0x2e, 0x03, 0x90, 0xfe, 0xa0, 0x28, 0x38, 0x38, 0x28, // ...0.BB.....(88( - 0x01, 0xa0, 0x50, 0x70, 0x70, 0x01, 0xcd, 0xba, 0x83, 0x83, 0xba, 0x83, 0x00, 0x02, 0x00, 0x00, // ..Ppp........... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x15, 0x00, 0x21, 0x00, 0x00, 0x25, 0x01, 0x3e, 0x01, // .........!..%.>. - 0x26, 0x27, 0x26, 0x0e, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x02, 0x07, 0x0e, 0x01, 0x16, // &'&....#"'...... - 0x17, 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x05, 0x01, // .$... $...$ .... - 0x5e, 0x10, 0x11, 0x1d, 0x2f, 0x28, 0x56, 0x3d, 0x18, 0x24, 0x3c, 0x3b, 0x24, 0x18, 0x3d, 0x56, // ^.../(V=.$<;$.=V - 0x29, 0x2e, 0x1d, 0x11, 0x10, 0x04, 0x58, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // ).....X....^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xea, 0x01, 0xd9, 0x16, 0x4a, 0x60, 0x1f, 0x1a, 0x01, 0x22, // .a...a....J`..." - 0x1c, 0x28, 0x28, 0x1c, 0x22, 0x01, 0x1a, 0x1f, 0x60, 0x4a, 0x16, 0x8e, 0xfe, 0x5e, 0xfe, 0x9f, // .((."...`J...^.. - 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2c, // ...a...a......., - 0xff, 0x00, 0x06, 0xd4, 0x05, 0xff, 0x00, 0x0f, 0x00, 0x49, 0x00, 0x00, 0x00, 0x34, 0x2e, 0x02, // .........I...4.. - 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x02, 0x32, 0x3e, 0x01, 0x25, 0x06, 0x07, 0x05, 0x11, 0x14, 0x07, // ".....2>.%...... - 0x06, 0x27, 0x25, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x05, 0x06, 0x27, 0x26, 0x35, 0x11, 0x25, 0x26, // .'%.."/...'&5.%& - 0x27, 0x26, 0x3f, 0x01, 0x27, 0x26, 0x37, 0x36, 0x37, 0x25, 0x11, 0x34, 0x37, 0x36, 0x17, 0x05, // '&?.'&767%.476.. - 0x37, 0x36, 0x32, 0x1f, 0x01, 0x25, 0x36, 0x17, 0x16, 0x15, 0x11, 0x05, 0x16, 0x17, 0x16, 0x0f, // 762..%6......... - 0x01, 0x17, 0x16, 0x05, 0xc0, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, // .....[.....[[... - 0xd5, 0x9b, 0x01, 0x6f, 0x04, 0x10, 0xfe, 0xdc, 0x0d, 0x0f, 0x0e, 0xfe, 0xdc, 0xb4, 0x0a, 0x20, // ...o........... - 0x0a, 0xb4, 0xfe, 0xdc, 0x0e, 0x0f, 0x0d, 0xfe, 0xdc, 0x10, 0x04, 0x05, 0x09, 0xb4, 0xb4, 0x09, // ................ - 0x05, 0x04, 0x10, 0x01, 0x24, 0x0d, 0x0f, 0x0e, 0x01, 0x24, 0xb4, 0x09, 0x22, 0x09, 0xb4, 0x01, // ....$....$.."... - 0x24, 0x0e, 0x0f, 0x0d, 0x01, 0x24, 0x10, 0x04, 0x05, 0x09, 0xb4, 0xb4, 0x09, 0x02, 0x0b, 0xea, // $....$.......... - 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0x35, 0x0f, 0x05, 0x60, // ..[[.....[[.5..` - 0xfe, 0xce, 0x10, 0x0a, 0x0a, 0x06, 0x5e, 0xf8, 0x0d, 0x0d, 0xf8, 0x5e, 0x06, 0x0a, 0x0a, 0x10, // ......^....^.... - 0x01, 0x32, 0x60, 0x05, 0x0f, 0x11, 0x0c, 0xf8, 0xf8, 0x0d, 0x10, 0x0f, 0x05, 0x60, 0x01, 0x32, // .2`..........`.2 - 0x10, 0x0a, 0x0a, 0x06, 0x5e, 0xf8, 0x0c, 0x0c, 0xf8, 0x5e, 0x06, 0x0a, 0x0a, 0x10, 0xfe, 0xce, // ....^....^...... - 0x60, 0x05, 0x0f, 0x10, 0x0d, 0xf8, 0xf8, 0x0c, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0xbe, // `............... - 0x05, 0x7f, 0x00, 0x12, 0x00, 0x31, 0x00, 0x00, 0x25, 0x06, 0x23, 0x22, 0x24, 0x02, 0x35, 0x34, // .....1..%.#"$.54 - 0x37, 0x06, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x24, 0x25, 0x06, 0x04, 0x23, 0x22, 0x24, // 7......32$%..#"$ - 0x26, 0x02, 0x35, 0x34, 0x12, 0x36, 0x24, 0x37, 0x36, 0x17, 0x16, 0x07, 0x0e, 0x01, 0x15, 0x14, // &.54.6$76....... - 0x1e, 0x01, 0x33, 0x32, 0x37, 0x36, 0x17, 0x1e, 0x01, 0x04, 0xee, 0x36, 0x38, 0xb6, 0xfe, 0xca, // ..3276.....68... - 0xb4, 0x68, 0xc9, 0xff, 0x66, 0xab, 0xed, 0x82, 0x90, 0x01, 0x03, 0x01, 0x26, 0x5e, 0xfe, 0x85, // .h..f.......&^.. - 0xe0, 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x73, 0xc5, 0x01, 0x12, 0x99, 0x2c, 0x11, 0x12, 0x21, 0x56, // .....zs....,..!V - 0x5b, 0x92, 0xfa, 0x94, 0x76, 0x6e, 0x29, 0x1f, 0x0e, 0x07, 0xe9, 0x09, 0xb4, 0x01, 0x36, 0xb6, // [...vn).......6. - 0xc0, 0xa5, 0x3c, 0xfe, 0xae, 0xd7, 0x82, 0xed, 0xab, 0x66, 0x7b, 0xc3, 0xcb, 0xf3, 0x7a, 0xce, // ..<......f{...z. - 0x01, 0x1c, 0x9c, 0x99, 0x01, 0x17, 0xcc, 0x7d, 0x06, 0x02, 0x29, 0x29, 0x1f, 0x4e, 0xcf, 0x73, // .......}..)).N.s - 0x94, 0xfa, 0x92, 0x33, 0x12, 0x1f, 0x0e, 0x28, 0x00, 0x03, 0x00, 0x40, 0xff, 0x80, 0x06, 0xc0, // ...3...(...@.... - 0x05, 0x80, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x34, 0x26, 0x23, 0x21, 0x22, // .......+...4&#!" - 0x06, 0x14, 0x16, 0x33, 0x21, 0x32, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ...3!2....#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // 463!2.....#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x40, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, // 463!2..@&....&&. - 0x01, 0x00, 0x1a, 0x02, 0x66, 0x26, 0x1a, 0xfa, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, // ....f&....&&.... - 0x26, 0x40, 0x26, 0x1a, 0xfa, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x00, 0x1a, 0x26, 0x02, 0xa6, // &@&....&&....&.. - 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x00, 0xfc, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0xc0, 0x1a, // 4&&4&...@.&&.... - 0x26, 0x26, 0x01, 0xa6, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x00, // &&.....&&....&&. - 0x00, 0x02, 0x00, 0x20, 0xff, 0xa0, 0x06, 0x60, 0x05, 0xc0, 0x00, 0x42, 0x00, 0x48, 0x00, 0x00, // ... ...`...B.H.. - 0x00, 0x14, 0x06, 0x2b, 0x01, 0x14, 0x07, 0x17, 0x16, 0x14, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x0e, // ...+........"/.. - 0x04, 0x23, 0x11, 0x23, 0x11, 0x22, 0x2e, 0x02, 0x2f, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, // .#.#."../...#"'. - 0x01, 0x3f, 0x01, 0x26, 0x35, 0x23, 0x22, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x27, 0x26, 0x34, // .?.&5#"&46;..'&4 - 0x36, 0x32, 0x1f, 0x01, 0x21, 0x37, 0x36, 0x32, 0x16, 0x14, 0x0f, 0x01, 0x11, 0x33, 0x32, 0x01, // 62..!762.....32. - 0x21, 0x34, 0x36, 0x20, 0x16, 0x06, 0x60, 0x26, 0x1a, 0xe0, 0x43, 0xd0, 0x13, 0x13, 0x12, 0x36, // !46 ..`&..C....6 - 0x12, 0xc6, 0x05, 0x14, 0x40, 0x42, 0x62, 0x30, 0x80, 0x33, 0x65, 0x49, 0x3b, 0x0e, 0x0f, 0xb7, // ....@Bb0.3eI;... - 0x14, 0x1c, 0x18, 0x13, 0x13, 0x03, 0x11, 0xca, 0x3a, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0xe0, 0xad, // ........:..&&... - 0x13, 0x26, 0x34, 0x13, 0xad, 0x03, 0x4c, 0xad, 0x13, 0x34, 0x26, 0x13, 0xad, 0xe0, 0x1a, 0xfe, // .&4...L..4&..... - 0x46, 0xfd, 0x80, 0xbb, 0x01, 0x0a, 0xbb, 0x02, 0x5a, 0x34, 0x26, 0xab, 0x77, 0xd1, 0x13, 0x34, // F.......Z4&.w..4 - 0x13, 0x13, 0x13, 0xc5, 0x05, 0x10, 0x29, 0x20, 0x1a, 0x03, 0x80, 0xfc, 0x80, 0x1b, 0x27, 0x27, // ......) ......'' - 0x0d, 0x0e, 0xcf, 0x15, 0x10, 0x12, 0x35, 0x14, 0xe3, 0x72, 0xa0, 0x26, 0x34, 0x26, 0x01, 0x26, // ......5..r.&4&.& - 0xad, 0x13, 0x34, 0x26, 0x13, 0xad, 0xad, 0x13, 0x26, 0x34, 0x13, 0xad, 0xfe, 0xda, 0x02, 0x00, // ..4&....&4...... - 0x85, 0xbb, 0xbb, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0x07, 0x7d, 0x04, 0x47, 0x00, 0x86, // ...........}.G.. - 0x00, 0x00, 0x01, 0x16, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x17, 0x16, 0x17, 0x33, 0x1f, 0x02, // .............3.. - 0x16, 0x17, 0x1e, 0x02, 0x0e, 0x01, 0x23, 0x05, 0x06, 0x26, 0x2f, 0x01, 0x2e, 0x03, 0x07, 0x0e, // ......#..&/..... - 0x04, 0x17, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x23, 0x06, 0x2e, 0x02, 0x2f, 0x01, 0x2e, 0x03, // ........#.../... - 0x02, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x25, 0x1e, 0x01, 0x1f, 0x01, 0x16, 0x17, 0x1e, // .'&4?.63%....... - 0x01, 0x1f, 0x01, 0x1e, 0x03, 0x32, 0x37, 0x3e, 0x04, 0x27, 0x2e, 0x01, 0x2f, 0x01, 0x26, 0x27, // .....27>.'../.&' - 0x26, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x1e, 0x03, 0x14, 0x0e, 0x01, 0x15, 0x14, 0x06, // &7676........... - 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x3e, 0x02, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x3f, 0x01, 0x3e, 0x02, // .....>.767>.?.>. - 0x17, 0x25, 0x36, 0x16, 0x17, 0x07, 0x7d, 0x17, 0xad, 0x18, 0x29, 0x4e, 0x0c, 0x11, 0x1f, 0x11, // .%6...}...)N.... - 0x40, 0x01, 0x01, 0x01, 0x02, 0x8d, 0x32, 0x03, 0x07, 0x07, 0x08, 0x2a, 0x26, 0xff, 0x00, 0x18, // @.....2....*&... - 0x40, 0x14, 0x14, 0x1e, 0x50, 0x39, 0x41, 0x18, 0x03, 0x0a, 0x18, 0x13, 0x0f, 0x01, 0x07, 0x04, // @...P9A......... - 0x04, 0x12, 0x23, 0x73, 0x47, 0x96, 0x71, 0x5d, 0x18, 0x19, 0x0a, 0x23, 0x6c, 0x68, 0x8d, 0x3c, // ..#sG.q]...#lh.< - 0x06, 0x03, 0x04, 0x0f, 0x2a, 0x01, 0x12, 0x0c, 0x16, 0x05, 0x05, 0x10, 0x08, 0x14, 0x34, 0x0f, // ....*.........4. - 0x10, 0x1d, 0x36, 0x2b, 0x28, 0x1c, 0x0d, 0x02, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x02, 0x0e, 0x07, // ..6+(........... - 0x06, 0x19, 0x3c, 0x0d, 0x12, 0x11, 0x15, 0x35, 0xba, 0x52, 0x35, 0x14, 0x1b, 0x0e, 0x07, 0x02, // ..<....5.R5..... - 0x03, 0x02, 0x01, 0x06, 0x11, 0x0e, 0x08, 0x12, 0x22, 0x2a, 0x3e, 0x25, 0x3c, 0x2f, 0x04, 0x0c, // ........"*>%"/.....+[ - 0x3e, 0x68, 0x79, 0x0a, 0x0f, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, 0x02, 0x05, 0x0f, 0x09, 0x00, // >hy............. - 0x00, 0x07, 0x00, 0x00, 0xff, 0xaa, 0x06, 0xf7, 0x05, 0x4b, 0x00, 0x0a, 0x00, 0x15, 0x00, 0x21, // .........K.....! - 0x00, 0x2f, 0x00, 0x55, 0x00, 0x69, 0x00, 0x7f, 0x00, 0x00, 0x25, 0x36, 0x26, 0x27, 0x26, 0x06, // ./.U.i....%6&'&. - 0x07, 0x06, 0x1e, 0x01, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x06, 0x07, 0x06, 0x17, 0x16, 0x36, // ....676&'&.....6 - 0x17, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x1e, 0x01, 0x25, 0x2e, 0x01, 0x24, // ...'..7>....%..$ - 0x07, 0x06, 0x04, 0x17, 0x1e, 0x01, 0x04, 0x37, 0x36, 0x24, 0x25, 0x14, 0x0e, 0x02, 0x04, 0x20, // .......76$%.... - 0x24, 0x2e, 0x01, 0x35, 0x34, 0x12, 0x37, 0x36, 0x24, 0x17, 0x16, 0x07, 0x06, 0x1e, 0x01, 0x36, // $..54.76$......6 - 0x3f, 0x01, 0x36, 0x32, 0x17, 0x16, 0x07, 0x0e, 0x01, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x02, 0x1e, // ?.62............ - 0x01, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x26, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, // ....'..76&..&'&6 - 0x37, 0x36, 0x25, 0x1e, 0x01, 0x07, 0x0e, 0x01, 0x2e, 0x01, 0x37, 0x36, 0x26, 0x27, 0x2e, 0x01, // 76%.......76&'.. - 0x07, 0x06, 0x2e, 0x01, 0x36, 0x37, 0x36, 0x16, 0x02, 0xa3, 0x15, 0x14, 0x23, 0x22, 0x4e, 0x15, // ....676.....#"N. - 0x16, 0x12, 0x44, 0x51, 0x74, 0x08, 0x09, 0x0d, 0x0e, 0x1d, 0x07, 0x11, 0x1e, 0x0e, 0x1e, 0xb5, // ..DQt........... - 0x2d, 0xe2, 0x6f, 0x6b, 0x51, 0x2f, 0x2f, 0xd1, 0x6a, 0x6f, 0x5f, 0x01, 0x0b, 0x09, 0xa0, 0xfe, // -.okQ//.jo_..... - 0xff, 0x92, 0xdf, 0xfe, 0xdb, 0x0e, 0x09, 0xa0, 0x01, 0x01, 0x92, 0xdf, 0x01, 0x25, 0x01, 0x26, // .............%.& - 0x4a, 0x90, 0xc1, 0xfe, 0xfd, 0xfe, 0xe6, 0xfe, 0xf4, 0xd5, 0x82, 0x8b, 0x80, 0xa9, 0x01, 0x59, // J..............Y - 0x4a, 0x41, 0x2d, 0x04, 0x06, 0x0e, 0x0f, 0x06, 0x06, 0x8b, 0xd6, 0x2e, 0x2d, 0x2d, 0x02, 0x05, // JA-.........--.. - 0x0e, 0x0a, 0x0c, 0x39, 0x5c, 0x44, 0x74, 0x54, 0x19, 0x13, 0x08, 0x2b, 0x17, 0x17, 0x16, 0x07, // ...9.DtT...+.... - 0x14, 0x58, 0x3f, 0x18, 0x2a, 0x04, 0x05, 0x1a, 0x18, 0x3c, 0x01, 0x55, 0x57, 0x33, 0x27, 0x09, // .X?.*....<.UW3'. - 0x32, 0x36, 0x1a, 0x08, 0x1c, 0x24, 0x3e, 0x3e, 0xac, 0x57, 0x1c, 0x30, 0x0c, 0x1f, 0x1c, 0x7b, // 26...$>>.W.0...{ - 0xf2, 0xfc, 0x22, 0x46, 0x0f, 0x0e, 0x1a, 0x21, 0x22, 0x45, 0x20, 0x1b, 0x9b, 0x0d, 0x1b, 0x05, // .."F...!"E ..... - 0x05, 0x0b, 0x0d, 0x1f, 0x0e, 0x05, 0x0b, 0x5e, 0x66, 0x60, 0x24, 0x22, 0xb9, 0x5f, 0x5d, 0x5c, // .......^f`$"._]. - 0x1b, 0x1d, 0xb5, 0x3c, 0x60, 0x94, 0x46, 0x0e, 0x17, 0xed, 0x92, 0x60, 0x94, 0x46, 0x0e, 0x17, // ...<`.F....`.F.. - 0xed, 0x8e, 0x44, 0x8f, 0x83, 0x68, 0x3e, 0x43, 0x77, 0xb7, 0x6c, 0x73, 0x01, 0x04, 0x80, 0xa9, // ..D..h>Cw.ls.... - 0x86, 0x4a, 0x40, 0x91, 0x0e, 0x0c, 0x02, 0x03, 0x02, 0x02, 0x3b, 0x3d, 0x3f, 0x73, 0x0d, 0x0e, // .J@.......;=?s.. - 0x0b, 0x04, 0x04, 0x12, 0x3a, 0x69, 0x02, 0x5f, 0x5e, 0x7b, 0x38, 0x17, 0x16, 0x07, 0x08, 0x2b, // ....:i._^{8....+ - 0x17, 0x3f, 0x60, 0x0d, 0x05, 0x1a, 0x18, 0x18, 0x29, 0x05, 0x0d, 0x4f, 0x60, 0xfd, 0x73, 0x1b, // .?`.....)..O`.s. - 0x1a, 0x12, 0x32, 0x1b, 0x52, 0xb4, 0x44, 0x45, 0x35, 0x12, 0x06, 0x1f, 0x38, 0x2f, 0x06, 0x1a, // ..2.R.DE5...8/.. - 0x4b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x72, 0x00, 0x09, // K............r.. - 0x00, 0x13, 0x00, 0x1d, 0x00, 0x00, 0x05, 0x06, 0x23, 0x22, 0x27, 0x3e, 0x01, 0x37, 0x1e, 0x01, // ........#"'>.7.. - 0x01, 0x11, 0x14, 0x02, 0x07, 0x26, 0x11, 0x34, 0x12, 0x24, 0x01, 0x10, 0x07, 0x26, 0x02, 0x35, // .....&.4.$...&.5 - 0x11, 0x16, 0x04, 0x12, 0x04, 0x6d, 0xab, 0xc5, 0xc4, 0xab, 0x8a, 0xc3, 0x22, 0x23, 0xc3, 0xfe, // .....m......"#.. - 0x9b, 0xfd, 0xcc, 0xb5, 0xa7, 0x01, 0x24, 0x04, 0x35, 0xb5, 0xcc, 0xfd, 0xb3, 0x01, 0x24, 0xa7, // ......$.5.....$. - 0x22, 0x5e, 0x5e, 0x57, 0xf8, 0x90, 0x90, 0xf8, 0x05, 0x3d, 0xfe, 0x1b, 0xfc, 0xfe, 0x61, 0x63, // "^^W.....=....ac - 0xd7, 0x01, 0x18, 0xbb, 0x01, 0x45, 0xd6, 0xfd, 0x2a, 0xfe, 0xe8, 0xd7, 0x63, 0x01, 0x9f, 0xfc, // .....E..*...c... - 0x01, 0xe5, 0x1e, 0xd6, 0xfe, 0xbb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x05, 0x7a, // ...............z - 0x06, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x01, 0x0e, 0x03, 0x2e, 0x03, 0x2f, 0x01, 0x06, 0x00, 0x07, // ...k......./.... - 0x22, 0x26, 0x34, 0x36, 0x33, 0x36, 0x24, 0x37, 0x0e, 0x02, 0x2e, 0x03, 0x27, 0x3e, 0x01, 0x1e, // "&4636$7....'>.. - 0x02, 0x17, 0x36, 0x37, 0x0e, 0x02, 0x2e, 0x05, 0x27, 0x3e, 0x01, 0x1e, 0x05, 0x1f, 0x01, 0x36, // ..67....'>.....6 - 0x35, 0x2e, 0x05, 0x36, 0x37, 0x1e, 0x04, 0x0e, 0x02, 0x0f, 0x01, 0x16, 0x14, 0x07, 0x3e, 0x05, // 5..67.........>. - 0x16, 0x17, 0x0e, 0x06, 0x26, 0x2f, 0x01, 0x06, 0x07, 0x3e, 0x05, 0x16, 0x05, 0x7a, 0x20, 0x58, // ....&/...>...z X - 0x5e, 0x68, 0x63, 0x5e, 0x4f, 0x3c, 0x10, 0x11, 0x71, 0xfe, 0x9f, 0xd0, 0x13, 0x1a, 0x1a, 0x13, // ^hc^O<..q....... - 0xad, 0x01, 0x2b, 0x66, 0x24, 0x48, 0x5e, 0x58, 0x62, 0x56, 0x53, 0x21, 0x72, 0xc8, 0x87, 0x72, // ..+f$H^XbVS!r..r - 0x3f, 0x19, 0x35, 0x1a, 0x07, 0x16, 0x47, 0x44, 0x5f, 0x52, 0x56, 0x40, 0x2d, 0x06, 0x46, 0x7f, // ?.5...GD_RV@-.F. - 0x62, 0x56, 0x3d, 0x33, 0x21, 0x16, 0x05, 0x04, 0x0c, 0x08, 0x1b, 0x47, 0x38, 0x34, 0x0e, 0x26, // bV=3!......G84.& - 0x33, 0x49, 0x6d, 0x3c, 0x24, 0x05, 0x06, 0x14, 0x12, 0x08, 0x07, 0x01, 0x01, 0x03, 0x0e, 0x2f, // 3Im<$........../ - 0x36, 0x58, 0x5f, 0x81, 0x44, 0x02, 0x27, 0x3d, 0x4e, 0x55, 0x54, 0x4c, 0x3b, 0x11, 0x11, 0x17, // 6X_.D.'=NUTL;... - 0x32, 0x06, 0x18, 0x4b, 0x50, 0x77, 0x74, 0x8e, 0x01, 0xb1, 0x50, 0x74, 0x3d, 0x20, 0x03, 0x0e, // 2..KPwt...Pt= .. - 0x1e, 0x19, 0x0a, 0x0a, 0xe4, 0xfe, 0xf9, 0x01, 0x1a, 0x26, 0x19, 0x01, 0xd5, 0xbc, 0x0e, 0x12, // .........&...... - 0x08, 0x0d, 0x2c, 0x4a, 0x7e, 0x53, 0x2f, 0x14, 0x23, 0x4e, 0x4c, 0x2c, 0x83, 0xa0, 0x01, 0x03, // ..,J~S/.#NL,.... - 0x02, 0x03, 0x11, 0x1d, 0x38, 0x4a, 0x73, 0x46, 0x1c, 0x11, 0x13, 0x29, 0x3b, 0x3f, 0x3f, 0x31, // ....8JsF...);??1 - 0x0f, 0x10, 0x7a, 0x49, 0x06, 0x14, 0x45, 0x4a, 0x70, 0x71, 0x8d, 0x44, 0x19, 0x49, 0x50, 0x5a, // ..zI..EJpq.D.IPZ - 0x58, 0x53, 0x46, 0x36, 0x0f, 0x0f, 0x05, 0x5b, 0x1a, 0x07, 0x17, 0x3f, 0x35, 0x3a, 0x1f, 0x02, // XSF6...[...?5:.. - 0x17, 0x4e, 0x7f, 0x52, 0x3d, 0x1e, 0x12, 0x01, 0x03, 0x03, 0x03, 0x93, 0x88, 0x07, 0x17, 0x3b, // .N.R=..........; - 0x2e, 0x26, 0x02, 0x31, 0x00, 0x04, 0x00, 0x15, 0xff, 0x00, 0x04, 0xeb, 0x05, 0x00, 0x00, 0x0c, // .&.1............ - 0x00, 0x10, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x01, 0x11, // ............+... - 0x21, 0x22, 0x26, 0x3d, 0x01, 0x01, 0x15, 0x21, 0x11, 0x01, 0x15, 0x21, 0x11, 0x25, 0x15, 0x21, // !"&=...!...!.%.! - 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0xeb, 0x73, 0x51, 0x39, 0xfe, 0xfc, 0xfd, 0xef, // 5463!2...sQ9.... - 0x51, 0x73, 0x04, 0xd6, 0xfb, 0x2a, 0x04, 0xd6, 0xfb, 0x2a, 0x04, 0xd6, 0xfb, 0x2a, 0x73, 0x51, // Qs...*...*...*sQ - 0x03, 0x4e, 0x51, 0x73, 0x01, 0x1b, 0x42, 0x55, 0x77, 0xfe, 0xf3, 0x01, 0x0d, 0x77, 0x55, 0x42, // .NQs..BUw....wUB - 0x01, 0x46, 0xff, 0x00, 0xff, 0x01, 0x48, 0xff, 0x00, 0xff, 0x8c, 0x43, 0x43, 0x54, 0x77, 0x77, // .F....H....CCTww + 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // "&5.#..."&5.463! + 0x32, 0x16, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x00, 0x38, 0x50, 0x38, 0x40, // 2...."&462..8P8@ + 0x42, 0x5c, 0x42, 0x40, 0x42, 0x5c, 0x42, 0x40, 0x38, 0x50, 0x38, 0x70, 0x50, 0x02, 0x80, 0x50, // B.B@B.B@8P8pP..P + 0x70, 0xfe, 0xe0, 0x83, 0xba, 0x83, 0x83, 0xba, 0x03, 0x40, 0xfe, 0x60, 0x28, 0x38, 0x38, 0x28, // p........@.`(88( + 0x01, 0x60, 0xfc, 0x70, 0x2e, 0x42, 0x42, 0x2e, 0x01, 0xd0, 0xfe, 0x30, 0x2e, 0x42, 0x42, 0x2e, // .`.p.BB....0.BB. + 0x03, 0x90, 0xfe, 0xa0, 0x28, 0x38, 0x38, 0x28, 0x01, 0xa0, 0x50, 0x70, 0x70, 0x01, 0xcd, 0xba, // ....(88(..Ppp... + 0x83, 0x83, 0xba, 0x83, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x15, // ................ + 0x00, 0x21, 0x00, 0x00, 0x25, 0x01, 0x3e, 0x01, 0x26, 0x27, 0x26, 0x0e, 0x01, 0x07, 0x06, 0x23, // .!..%.>.&'&....# + 0x22, 0x27, 0x2e, 0x02, 0x07, 0x0e, 0x01, 0x16, 0x17, 0x24, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, // "'.......$... $. + 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x05, 0x01, 0x5e, 0x10, 0x11, 0x1d, 0x2f, 0x28, 0x56, 0x3d, // ..$ ....^.../(V= + 0x18, 0x24, 0x3c, 0x3b, 0x24, 0x18, 0x3d, 0x56, 0x29, 0x2e, 0x1d, 0x11, 0x10, 0x04, 0x58, 0xce, // .$<;$.=V).....X. + 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xea, 0x01, // ...^.....a...a.. + 0xd9, 0x16, 0x4a, 0x60, 0x1f, 0x1a, 0x01, 0x22, 0x1c, 0x28, 0x28, 0x1c, 0x22, 0x01, 0x1a, 0x1f, // ..J`...".((."... + 0x60, 0x4a, 0x16, 0x8e, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // `J...^.....a...a + 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x2c, 0xff, 0x00, 0x06, 0xd4, 0x05, 0xff, 0x00, 0x0f, // .......,........ + 0x00, 0x49, 0x00, 0x00, 0x00, 0x34, 0x2e, 0x02, 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x02, 0x32, 0x3e, // .I...4..".....2> + 0x01, 0x25, 0x06, 0x07, 0x05, 0x11, 0x14, 0x07, 0x06, 0x27, 0x25, 0x07, 0x06, 0x22, 0x2f, 0x01, // .%.......'%.."/. + 0x05, 0x06, 0x27, 0x26, 0x35, 0x11, 0x25, 0x26, 0x27, 0x26, 0x3f, 0x01, 0x27, 0x26, 0x37, 0x36, // ..'&5.%&'&?.'&76 + 0x37, 0x25, 0x11, 0x34, 0x37, 0x36, 0x17, 0x05, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x25, 0x36, 0x17, // 7%.476..762..%6. + 0x16, 0x15, 0x11, 0x05, 0x16, 0x17, 0x16, 0x0f, 0x01, 0x17, 0x16, 0x05, 0xc0, 0x5b, 0x9b, 0xd5, // .............[.. + 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x01, 0x6f, 0x04, 0x10, 0xfe, 0xdc, // ...[[......o.... + 0x0d, 0x0f, 0x0e, 0xfe, 0xdc, 0xb4, 0x0a, 0x20, 0x0a, 0xb4, 0xfe, 0xdc, 0x0e, 0x0f, 0x0d, 0xfe, // ....... ........ + 0xdc, 0x10, 0x04, 0x05, 0x09, 0xb4, 0xb4, 0x09, 0x05, 0x04, 0x10, 0x01, 0x24, 0x0d, 0x0f, 0x0e, // ............$... + 0x01, 0x24, 0xb4, 0x09, 0x22, 0x09, 0xb4, 0x01, 0x24, 0x0e, 0x0f, 0x0d, 0x01, 0x24, 0x10, 0x04, // .$.."...$....$.. + 0x05, 0x09, 0xb4, 0xb4, 0x09, 0x02, 0x0b, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, // ..........[[.... + 0x9b, 0x5b, 0x5b, 0x9b, 0x35, 0x0f, 0x05, 0x60, 0xfe, 0xce, 0x10, 0x0a, 0x0a, 0x06, 0x5e, 0xf8, // .[[.5..`......^. + 0x0d, 0x0d, 0xf8, 0x5e, 0x06, 0x0a, 0x0a, 0x10, 0x01, 0x32, 0x60, 0x05, 0x0f, 0x11, 0x0c, 0xf8, // ...^.....2`..... + 0xf8, 0x0d, 0x10, 0x0f, 0x05, 0x60, 0x01, 0x32, 0x10, 0x0a, 0x0a, 0x06, 0x5e, 0xf8, 0x0c, 0x0c, // .....`.2....^... + 0xf8, 0x5e, 0x06, 0x0a, 0x0a, 0x10, 0xfe, 0xce, 0x60, 0x05, 0x0f, 0x10, 0x0d, 0xf8, 0xf8, 0x0c, // .^......`....... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x05, 0xbe, 0x05, 0x7f, 0x00, 0x12, 0x00, 0x31, 0x00, 0x00, // .............1.. + 0x25, 0x06, 0x23, 0x22, 0x24, 0x02, 0x35, 0x34, 0x37, 0x06, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x33, // %.#"$.547......3 + 0x32, 0x24, 0x25, 0x06, 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x36, 0x24, 0x37, // 2$%..#"$&.54.6$7 + 0x36, 0x17, 0x16, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x36, 0x17, 0x1e, // 6.........3276.. + 0x01, 0x04, 0xee, 0x36, 0x38, 0xb6, 0xfe, 0xca, 0xb4, 0x68, 0xc9, 0xff, 0x66, 0xab, 0xed, 0x82, // ...68....h..f... + 0x90, 0x01, 0x03, 0x01, 0x26, 0x5e, 0xfe, 0x85, 0xe0, 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x73, 0xc5, // ....&^.......zs. + 0x01, 0x12, 0x99, 0x2c, 0x11, 0x12, 0x21, 0x56, 0x5b, 0x92, 0xfa, 0x94, 0x76, 0x6e, 0x29, 0x1f, // ...,..!V[...vn). + 0x0e, 0x07, 0xe9, 0x09, 0xb4, 0x01, 0x36, 0xb6, 0xc0, 0xa5, 0x3c, 0xfe, 0xae, 0xd7, 0x82, 0xed, // ......6...<..... + 0xab, 0x66, 0x7b, 0xc3, 0xcb, 0xf3, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0x99, 0x01, 0x17, 0xcc, 0x7d, // .f{...z........} + 0x06, 0x02, 0x29, 0x29, 0x1f, 0x4e, 0xcf, 0x73, 0x94, 0xfa, 0x92, 0x33, 0x12, 0x1f, 0x0e, 0x28, // ..)).N.s...3...( + 0x00, 0x03, 0x00, 0x40, 0xff, 0x80, 0x06, 0xc0, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x2b, // ...@...........+ + 0x00, 0x00, 0x00, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x14, 0x16, 0x33, 0x21, 0x32, 0x01, 0x11, // ...4&#!"...3!2.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, // ..#!"&5.463!2... + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x40, // ..#!"&5.463!2..@ + 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x02, 0x66, 0x26, 0x1a, 0xfa, // &....&&.....f&.. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x80, 0x1a, 0x26, 0x40, 0x26, 0x1a, 0xfa, 0x00, 0x1a, 0x26, // ..&&....&@&....& + 0x26, 0x1a, 0x06, 0x00, 0x1a, 0x26, 0x02, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x00, 0xfc, // &....&..4&&4&... + 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x03, 0xc0, 0x1a, 0x26, 0x26, 0x01, 0xa6, 0xff, 0x00, 0x1a, 0x26, // @.&&....&&.....& + 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x00, 0x00, 0x02, 0x00, 0x20, 0xff, 0xa0, 0x06, 0x60, // &....&&.... ...` + 0x05, 0xc0, 0x00, 0x42, 0x00, 0x48, 0x00, 0x00, 0x00, 0x14, 0x06, 0x2b, 0x01, 0x14, 0x07, 0x17, // ...B.H.....+.... + 0x16, 0x14, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x0e, 0x04, 0x23, 0x11, 0x23, 0x11, 0x22, 0x2e, 0x02, // ...."/...#.#.".. + 0x2f, 0x01, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x3f, 0x01, 0x26, 0x35, 0x23, 0x22, 0x26, // /...#"'..?.&5#"& + 0x34, 0x36, 0x3b, 0x01, 0x11, 0x27, 0x26, 0x34, 0x36, 0x32, 0x1f, 0x01, 0x21, 0x37, 0x36, 0x32, // 46;..'&462..!762 + 0x16, 0x14, 0x0f, 0x01, 0x11, 0x33, 0x32, 0x01, 0x21, 0x34, 0x36, 0x20, 0x16, 0x06, 0x60, 0x26, // .....32.!46 ..`& + 0x1a, 0xe0, 0x43, 0xd0, 0x13, 0x13, 0x12, 0x36, 0x12, 0xc6, 0x05, 0x14, 0x40, 0x42, 0x62, 0x30, // ..C....6....@Bb0 + 0x80, 0x33, 0x65, 0x49, 0x3b, 0x0e, 0x0f, 0xb7, 0x14, 0x1c, 0x18, 0x13, 0x13, 0x03, 0x11, 0xca, // .3eI;........... + 0x3a, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0xe0, 0xad, 0x13, 0x26, 0x34, 0x13, 0xad, 0x03, 0x4c, 0xad, // :..&&....&4...L. + 0x13, 0x34, 0x26, 0x13, 0xad, 0xe0, 0x1a, 0xfe, 0x46, 0xfd, 0x80, 0xbb, 0x01, 0x0a, 0xbb, 0x02, // .4&.....F....... + 0x5a, 0x34, 0x26, 0xab, 0x77, 0xd1, 0x13, 0x34, 0x13, 0x13, 0x13, 0xc5, 0x05, 0x10, 0x29, 0x20, // Z4&.w..4......) + 0x1a, 0x03, 0x80, 0xfc, 0x80, 0x1b, 0x27, 0x27, 0x0d, 0x0e, 0xcf, 0x15, 0x10, 0x12, 0x35, 0x14, // ......''......5. + 0xe3, 0x72, 0xa0, 0x26, 0x34, 0x26, 0x01, 0x26, 0xad, 0x13, 0x34, 0x26, 0x13, 0xad, 0xad, 0x13, // .r.&4&.&..4&.... + 0x26, 0x34, 0x13, 0xad, 0xfe, 0xda, 0x02, 0x00, 0x85, 0xbb, 0xbb, 0x00, 0x00, 0x01, 0xff, 0xff, // &4.............. + 0x00, 0x01, 0x07, 0x7d, 0x04, 0x47, 0x00, 0x85, 0x00, 0x00, 0x01, 0x16, 0x07, 0x06, 0x07, 0x0e, // ...}.G.......... + 0x02, 0x1e, 0x02, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x02, 0x0e, 0x01, 0x23, 0x05, 0x06, 0x26, // ............#..& + 0x2f, 0x01, 0x2e, 0x03, 0x07, 0x0e, 0x04, 0x17, 0x14, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x23, 0x06, // /.............#. + 0x2e, 0x02, 0x2f, 0x01, 0x2e, 0x03, 0x02, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x25, 0x1e, // ../....'&4?.63%. + 0x01, 0x1f, 0x01, 0x16, 0x17, 0x1e, 0x01, 0x1f, 0x01, 0x1e, 0x03, 0x32, 0x37, 0x3e, 0x04, 0x27, // ...........27>.' + 0x2e, 0x01, 0x2f, 0x01, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x1e, 0x03, // ../.&'&7676..... + 0x14, 0x0e, 0x01, 0x15, 0x14, 0x06, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x3e, 0x02, 0x37, 0x36, 0x37, // ...........>.767 + 0x3e, 0x01, 0x3f, 0x01, 0x3e, 0x02, 0x17, 0x25, 0x36, 0x16, 0x17, 0x07, 0x7d, 0x17, 0xad, 0x18, // >.?.>..%6...}... + 0x29, 0x28, 0x1e, 0x1f, 0x07, 0x13, 0x2e, 0x22, 0x04, 0x01, 0x8d, 0x32, 0x03, 0x07, 0x07, 0x08, // )(....."...2.... + 0x2a, 0x26, 0xff, 0x00, 0x18, 0x40, 0x14, 0x14, 0x1e, 0x50, 0x39, 0x41, 0x18, 0x03, 0x0a, 0x18, // *&...@...P9A.... + 0x13, 0x0f, 0x01, 0x07, 0x04, 0x04, 0x12, 0x23, 0x73, 0x47, 0x96, 0x71, 0x5d, 0x18, 0x19, 0x0a, // .......#sG.q]... + 0x23, 0x6c, 0x68, 0x8d, 0x3c, 0x06, 0x03, 0x04, 0x0f, 0x2a, 0x01, 0x12, 0x0c, 0x16, 0x05, 0x05, // #lh.<....*...... + 0x10, 0x08, 0x14, 0x34, 0x0f, 0x10, 0x1d, 0x36, 0x2b, 0x28, 0x1c, 0x0d, 0x02, 0x06, 0x12, 0x09, // ...4...6+(...... + 0x0a, 0x05, 0x02, 0x0e, 0x07, 0x06, 0x19, 0x3c, 0x0d, 0x12, 0x10, 0x16, 0x35, 0xba, 0x52, 0x35, // .......<....5.R5 + 0x14, 0x1b, 0x0e, 0x07, 0x02, 0x03, 0x02, 0x01, 0x06, 0x11, 0x0e, 0x08, 0x12, 0x22, 0x2a, 0x3e, // ............."*> + 0x25, 0x3c, 0x2f, 0x04, 0x0c, 0x05, 0x04, 0x02, 0x06, 0x14, 0x0a, 0x01, 0x20, 0x27, 0x32, 0x06, // %"/.. + 0x02, 0x04, 0x1a, 0x2b, 0x5b, 0x3e, 0x68, 0x79, 0x0a, 0x0f, 0x03, 0x03, 0x01, 0x03, 0x03, 0x01, // ...+[>hy........ + 0x02, 0x05, 0x0f, 0x09, 0x00, 0x07, 0x00, 0x00, 0xff, 0xaa, 0x06, 0xf7, 0x05, 0x4b, 0x00, 0x0a, // .............K.. + 0x00, 0x15, 0x00, 0x21, 0x00, 0x2f, 0x00, 0x55, 0x00, 0x69, 0x00, 0x7f, 0x00, 0x00, 0x25, 0x36, // ...!./.U.i....%6 + 0x26, 0x27, 0x26, 0x06, 0x07, 0x06, 0x1e, 0x01, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x06, 0x07, // &'&.....676&'&.. + 0x06, 0x17, 0x16, 0x36, 0x17, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x1e, 0x01, // ...6...'..7>.... + 0x25, 0x2e, 0x01, 0x24, 0x07, 0x06, 0x04, 0x17, 0x1e, 0x01, 0x04, 0x37, 0x36, 0x24, 0x25, 0x14, // %..$.......76$%. + 0x0e, 0x02, 0x04, 0x20, 0x24, 0x2e, 0x01, 0x35, 0x34, 0x12, 0x37, 0x36, 0x24, 0x17, 0x16, 0x07, // ... $..54.76$... + 0x06, 0x1e, 0x01, 0x36, 0x3f, 0x01, 0x36, 0x32, 0x17, 0x16, 0x07, 0x0e, 0x01, 0x1e, 0x01, 0x17, // ...6?.62........ + 0x1e, 0x02, 0x02, 0x1e, 0x01, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x26, 0x07, 0x06, // ........'..76&.. + 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x25, 0x1e, 0x01, 0x07, 0x0e, 0x01, 0x2e, 0x01, 0x37, 0x36, // &'&676%.......76 + 0x26, 0x27, 0x2e, 0x01, 0x07, 0x06, 0x2e, 0x01, 0x36, 0x37, 0x36, 0x16, 0x02, 0xa3, 0x15, 0x14, // &'......676..... + 0x23, 0x22, 0x4e, 0x15, 0x16, 0x12, 0x44, 0x51, 0x74, 0x08, 0x09, 0x0d, 0x0e, 0x1d, 0x07, 0x11, // #"N...DQt....... + 0x1e, 0x0e, 0x1e, 0xb5, 0x2d, 0xe2, 0x6f, 0x6b, 0x51, 0x2f, 0x2f, 0xd1, 0x6a, 0x6f, 0x5f, 0x01, // ....-.okQ//.jo_. + 0x0b, 0x09, 0xa0, 0xfe, 0xff, 0x92, 0xdf, 0xfe, 0xdb, 0x0e, 0x09, 0xa0, 0x01, 0x01, 0x92, 0xdf, // ................ + 0x01, 0x25, 0x01, 0x26, 0x4a, 0x90, 0xc1, 0xfe, 0xfd, 0xfe, 0xe6, 0xfe, 0xf4, 0xd5, 0x82, 0x8b, // .%.&J........... + 0x80, 0xa9, 0x01, 0x59, 0x4a, 0x41, 0x2d, 0x04, 0x06, 0x0e, 0x0f, 0x06, 0x06, 0x8b, 0xd6, 0x2e, // ...YJA-......... + 0x2d, 0x2d, 0x02, 0x05, 0x0e, 0x0a, 0x0c, 0x39, 0x5c, 0x44, 0x74, 0x54, 0x19, 0x13, 0x08, 0x2b, // --.....9.DtT...+ + 0x17, 0x17, 0x16, 0x07, 0x14, 0x58, 0x3f, 0x18, 0x2a, 0x04, 0x05, 0x1a, 0x18, 0x3c, 0x01, 0x55, // .....X?.*....<.U + 0x57, 0x33, 0x27, 0x09, 0x32, 0x36, 0x1a, 0x08, 0x1c, 0x24, 0x3e, 0x3e, 0xac, 0x57, 0x1c, 0x30, // W3'.26...$>>.W.0 + 0x0c, 0x1f, 0x1c, 0x7b, 0xf2, 0xfc, 0x22, 0x46, 0x0f, 0x0e, 0x1a, 0x21, 0x22, 0x45, 0x20, 0x1b, // ...{.."F...!"E . + 0x9b, 0x0d, 0x1b, 0x05, 0x05, 0x0b, 0x0d, 0x1f, 0x0e, 0x05, 0x0b, 0x5e, 0x66, 0x60, 0x24, 0x22, // ...........^f`$" + 0xb9, 0x5f, 0x5d, 0x5c, 0x1b, 0x1d, 0xb5, 0x3c, 0x60, 0x94, 0x46, 0x0e, 0x17, 0xed, 0x92, 0x60, // ._]....<`.F....` + 0x94, 0x46, 0x0e, 0x17, 0xed, 0x8e, 0x44, 0x8f, 0x83, 0x68, 0x3e, 0x43, 0x77, 0xb7, 0x6c, 0x73, // .F....D..h>Cw.ls + 0x01, 0x04, 0x80, 0xa9, 0x86, 0x4a, 0x40, 0x91, 0x0e, 0x0c, 0x02, 0x03, 0x02, 0x02, 0x3b, 0x3d, // .....J@.......;= + 0x3f, 0x73, 0x0d, 0x0e, 0x0b, 0x04, 0x04, 0x12, 0x3a, 0x69, 0x02, 0x5f, 0x5e, 0x7b, 0x38, 0x17, // ?s......:i._^{8. + 0x16, 0x07, 0x08, 0x2b, 0x17, 0x3f, 0x60, 0x0d, 0x05, 0x1a, 0x18, 0x18, 0x29, 0x05, 0x0d, 0x4f, // ...+.?`.....)..O + 0x60, 0xfd, 0x73, 0x1b, 0x1a, 0x12, 0x32, 0x1b, 0x52, 0xb4, 0x44, 0x45, 0x35, 0x12, 0x06, 0x1f, // `.s...2.R.DE5... + 0x38, 0x2f, 0x06, 0x1a, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // 8/..K........... + 0x05, 0x72, 0x00, 0x09, 0x00, 0x13, 0x00, 0x1d, 0x00, 0x00, 0x05, 0x06, 0x23, 0x22, 0x27, 0x3e, // .r..........#"'> + 0x01, 0x37, 0x1e, 0x01, 0x01, 0x11, 0x14, 0x02, 0x07, 0x26, 0x11, 0x34, 0x12, 0x24, 0x01, 0x10, // .7.......&.4.$.. + 0x07, 0x26, 0x02, 0x35, 0x11, 0x16, 0x04, 0x12, 0x04, 0x6d, 0xab, 0xc5, 0xc4, 0xab, 0x8a, 0xc3, // .&.5.....m...... + 0x22, 0x23, 0xc3, 0xfe, 0x9b, 0xfd, 0xcc, 0xb5, 0xa7, 0x01, 0x24, 0x04, 0x35, 0xb5, 0xcc, 0xfd, // "#........$.5... + 0xb3, 0x01, 0x24, 0xa7, 0x22, 0x5e, 0x5e, 0x57, 0xf8, 0x90, 0x90, 0xf8, 0x05, 0x3d, 0xfe, 0x1b, // ..$."^^W.....=.. + 0xfc, 0xfe, 0x61, 0x63, 0xd7, 0x01, 0x18, 0xbb, 0x01, 0x45, 0xd6, 0xfd, 0x2a, 0xfe, 0xe8, 0xd7, // ..ac.....E..*... + 0x63, 0x01, 0x9f, 0xfc, 0x01, 0xe5, 0x1e, 0xd6, 0xfe, 0xbb, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // c............... + 0xff, 0x00, 0x05, 0x7a, 0x06, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x01, 0x0e, 0x03, 0x2e, 0x03, 0x2f, // ...z...k......./ + 0x01, 0x06, 0x00, 0x07, 0x22, 0x26, 0x34, 0x36, 0x33, 0x36, 0x24, 0x37, 0x0e, 0x02, 0x2e, 0x03, // ...."&4636$7.... + 0x27, 0x3e, 0x01, 0x1e, 0x02, 0x17, 0x36, 0x37, 0x0e, 0x02, 0x2e, 0x05, 0x27, 0x3e, 0x01, 0x1e, // '>....67....'>.. + 0x05, 0x1f, 0x01, 0x36, 0x35, 0x2e, 0x05, 0x36, 0x37, 0x1e, 0x04, 0x0e, 0x02, 0x0f, 0x01, 0x16, // ...65..67....... + 0x14, 0x07, 0x3e, 0x05, 0x16, 0x17, 0x0e, 0x06, 0x26, 0x2f, 0x01, 0x06, 0x07, 0x3e, 0x05, 0x16, // ..>.....&/...>.. + 0x05, 0x7a, 0x20, 0x58, 0x5e, 0x68, 0x63, 0x5e, 0x4f, 0x3c, 0x10, 0x11, 0x71, 0xfe, 0x9f, 0xd0, // .z X^hc^O<..q... + 0x13, 0x1a, 0x1a, 0x13, 0xad, 0x01, 0x2b, 0x66, 0x24, 0x48, 0x5e, 0x58, 0x62, 0x56, 0x53, 0x21, // ......+f$H^XbVS! + 0x72, 0xc8, 0x87, 0x72, 0x3f, 0x19, 0x35, 0x1a, 0x07, 0x16, 0x47, 0x44, 0x5f, 0x52, 0x56, 0x40, // r..r?.5...GD_RV@ + 0x2d, 0x06, 0x46, 0x7f, 0x62, 0x56, 0x3d, 0x33, 0x21, 0x16, 0x05, 0x04, 0x0c, 0x08, 0x1b, 0x47, // -.F.bV=3!......G + 0x38, 0x34, 0x0e, 0x26, 0x33, 0x49, 0x6d, 0x3c, 0x24, 0x05, 0x06, 0x14, 0x12, 0x08, 0x07, 0x01, // 84.&3Im<$....... + 0x01, 0x03, 0x0e, 0x2f, 0x36, 0x58, 0x5f, 0x81, 0x44, 0x02, 0x27, 0x3d, 0x4e, 0x55, 0x54, 0x4c, // .../6X_.D.'=NUTL + 0x3b, 0x11, 0x11, 0x17, 0x32, 0x06, 0x18, 0x4b, 0x50, 0x77, 0x74, 0x8e, 0x01, 0xb1, 0x50, 0x74, // ;...2..KPwt...Pt + 0x3d, 0x20, 0x03, 0x0e, 0x1e, 0x19, 0x0a, 0x0a, 0xe4, 0xfe, 0xf9, 0x01, 0x1a, 0x26, 0x19, 0x01, // = ...........&.. + 0xd5, 0xbc, 0x0e, 0x12, 0x08, 0x0d, 0x2c, 0x4a, 0x7e, 0x53, 0x2f, 0x14, 0x23, 0x4e, 0x4c, 0x2c, // ......,J~S/.#NL, + 0x83, 0xa0, 0x01, 0x03, 0x02, 0x03, 0x11, 0x1d, 0x38, 0x4a, 0x73, 0x46, 0x1c, 0x11, 0x13, 0x29, // ........8JsF...) + 0x3b, 0x3f, 0x3f, 0x31, 0x0f, 0x10, 0x7a, 0x49, 0x06, 0x14, 0x45, 0x4a, 0x70, 0x71, 0x8d, 0x44, // ;??1..zI..EJpq.D + 0x19, 0x49, 0x50, 0x5a, 0x58, 0x53, 0x46, 0x36, 0x0f, 0x0f, 0x04, 0x5c, 0x1a, 0x07, 0x17, 0x3f, // .IPZXSF6.......? + 0x35, 0x3a, 0x1f, 0x02, 0x17, 0x4e, 0x7f, 0x52, 0x3d, 0x1e, 0x12, 0x01, 0x03, 0x03, 0x03, 0x93, // 5:...N.R=....... + 0x88, 0x07, 0x17, 0x3b, 0x2e, 0x26, 0x02, 0x31, 0x00, 0x04, 0x00, 0x15, 0xff, 0x00, 0x04, 0xeb, // ...;.&.1........ + 0x05, 0x00, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x14, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, // ................ + 0x2b, 0x01, 0x01, 0x11, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x01, 0x15, 0x21, 0x11, 0x01, 0x15, 0x21, // +...!"&=...!...! + 0x11, 0x25, 0x15, 0x21, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0xeb, 0x73, 0x51, 0x39, // .%.!5463!2...sQ9 + 0xfe, 0xfc, 0xfd, 0xef, 0x51, 0x73, 0x04, 0xd6, 0xfb, 0x2a, 0x04, 0xd6, 0xfb, 0x2a, 0x04, 0xd6, // ....Qs...*...*.. + 0xfb, 0x2a, 0x73, 0x51, 0x03, 0x4e, 0x51, 0x73, 0x01, 0x1b, 0x42, 0x55, 0x77, 0xfe, 0xf3, 0x01, // .*sQ.NQs..BUw... + 0x0d, 0x77, 0x55, 0x42, 0x01, 0x46, 0xff, 0x00, 0xff, 0x01, 0x48, 0xff, 0x00, 0xff, 0x8c, 0x43, // .wUB.F....H....C + 0x43, 0x54, 0x77, 0x77, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x19, // CTww............ + 0x00, 0x25, 0x00, 0x31, 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, // .%.1.......#"&=. + 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, // !"&=.463!54632.. + 0x16, 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, // .... ..... 6.... + 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x80, 0x09, 0xfe, 0xc0, 0x09, 0x0e, 0x0d, // $...$ ......... + 0x13, 0xfe, 0xa0, 0x0d, 0x13, 0x13, 0x0d, 0x01, 0x60, 0x12, 0x0e, 0x0c, 0x0c, 0x01, 0x3f, 0xa9, // ........`.....?. + 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, // .........(..r... + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x8e, 0x1c, 0x09, // .^.....a...a.... + 0xfe, 0xc0, 0x09, 0x13, 0x0d, 0xc0, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xc0, 0x0e, 0x12, 0x0a, 0xfe, // ................ + 0xc1, 0xab, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, // ...(.........._. + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, // .............%.1 - 0x00, 0x00, 0x00, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x22, 0x26, 0x3d, // .......#"&=.!"&= - 0x01, 0x34, 0x36, 0x33, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x10, 0x2e, 0x01, // .463!54632...... + 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, // ......#!...#"'.& + 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x12, 0x10, 0x2e, 0x01, // 47.632...!2..... 0x20, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // ..... 6.... $.. - 0x12, 0x24, 0x20, 0x04, 0x04, 0x80, 0x09, 0xfe, 0xc0, 0x09, 0x0e, 0x0d, 0x13, 0xfe, 0xa0, 0x0d, // .$ ............. - 0x13, 0x13, 0x0d, 0x01, 0x60, 0x12, 0x0e, 0x0c, 0x0c, 0x01, 0x3f, 0xa9, 0x92, 0xfa, 0xfe, 0xd8, // ....`.....?..... - 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, // .....(..r....^.. - 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0x8e, 0x1c, 0x09, 0xfe, 0xc0, 0x09, 0x13, // ...a...a........ - 0x0d, 0xc0, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xc0, 0x0e, 0x12, 0x0a, 0xfe, 0xc1, 0xab, 0x01, 0x28, // ...............( - 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, // .........._.^... - 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ..a...a......... - 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, 0x00, 0x00, 0x01, 0x15, // .........%.1.... - 0x14, 0x06, 0x23, 0x21, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, // ..#!...#"'.&47.6 - 0x33, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x16, 0x12, 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, // 32...!2..... ... - 0x1e, 0x01, 0x20, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // .. 6.... $...$ . - 0x04, 0x80, 0x13, 0x0d, 0xfe, 0xa0, 0x12, 0x0e, 0x0c, 0x0c, 0xfe, 0xc1, 0x09, 0x09, 0x01, 0x40, // ...............@ - 0x09, 0x0e, 0x0d, 0x13, 0x01, 0x60, 0x0d, 0x13, 0xa0, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, // .....`.......... - 0xfa, 0x01, 0x28, 0xfa, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ..(..r....^..... - 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xe0, 0xc0, 0x0d, 0x13, 0xc0, 0x0e, 0x12, 0x0a, 0x01, 0x3f, // a...a..........? - 0x09, 0x1c, 0x09, 0x01, 0x40, 0x09, 0x13, 0x0d, 0xc0, 0x13, 0xfe, 0xff, 0x01, 0x28, 0xfa, 0x92, // ....@........(.. - 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x02, 0x5f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // ........_.^..... - 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // a...a........... - 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, // ......./......#" - 0x27, 0x01, 0x26, 0x34, 0x37, 0x01, 0x36, 0x33, 0x32, 0x16, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, // '.&47.632...4&#! - 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, // ".....3!26....#! - 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x00, 0x26, 0x1a, 0x14, 0x11, // "&5.463!2...&... - 0xfe, 0x40, 0x1b, 0x1b, 0x01, 0xc0, 0x11, 0x14, 0x1a, 0x26, 0x01, 0x00, 0x13, 0x0d, 0xfc, 0x40, // .@.......&.....@ - 0x0d, 0x13, 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x01, 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, // ...........w.@w. - 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, 0xc0, 0xfd, 0x80, 0x1a, 0x26, 0x0c, 0x01, 0x40, 0x13, // .w..w......&..@. - 0x42, 0x13, 0x01, 0x40, 0x0c, 0x26, 0xfc, 0xc6, 0x03, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfc, 0x40, // B..@.&.........@ - 0x0d, 0x13, 0x13, 0x03, 0xcd, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, // ......@w..w..w.. - 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x13, 0x00, 0x1f, // ................ - 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x12, 0x20, 0x0e, 0x01, 0x10, 0x1e, // ....."&462. .... - 0x01, 0x20, 0x3e, 0x01, 0x10, 0x26, 0x04, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, // . >..&.... $...$ - 0x20, 0x04, 0x04, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x2a, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, // ........*...... - 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, // .(....r....^.... - 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xea, 0xd4, 0x96, 0x96, 0xd4, 0x96, 0x01, 0x20, 0x92, // .a...a........ . - 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0xbd, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, // ........(...^... - 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ..a...a......... - 0xff, 0x00, 0x06, 0x5d, 0x05, 0xe0, 0x00, 0x15, 0x00, 0x36, 0x00, 0x00, 0x01, 0x17, 0x06, 0x04, // ...].....6...... - 0x23, 0x22, 0x24, 0x02, 0x35, 0x34, 0x12, 0x37, 0x17, 0x0e, 0x01, 0x15, 0x14, 0x00, 0x33, 0x32, // #"$.54.7......32 - 0x3e, 0x01, 0x25, 0x17, 0x05, 0x06, 0x23, 0x22, 0x27, 0x03, 0x21, 0x22, 0x26, 0x27, 0x03, 0x26, // >.%...#"'.!"&'.& - 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x27, 0x13, 0x21, 0x15, 0x21, 0x17, 0x21, // 7>.32....'.!.!.! - 0x32, 0x17, 0x13, 0x03, 0xff, 0x66, 0x3a, 0xfe, 0xd0, 0xbb, 0x9c, 0xfe, 0xf7, 0x9b, 0xd1, 0xaa, // 2....f:......... - 0x11, 0x7a, 0x92, 0x01, 0x07, 0xb9, 0x7e, 0xd5, 0x75, 0x02, 0x1b, 0x3a, 0xff, 0x00, 0x0d, 0x10, // .z....~.u..:.... - 0x28, 0x11, 0xef, 0xfe, 0x28, 0x18, 0x25, 0x03, 0x60, 0x02, 0x08, 0x0e, 0x56, 0x36, 0x42, 0x5e, // (...(.%.`...V6B^ - 0x68, 0x44, 0x25, 0x01, 0xa7, 0xfe, 0x69, 0x10, 0x01, 0xc7, 0x28, 0x11, 0xe4, 0x01, 0x5d, 0xcc, // hD%...i...(...]. - 0xb3, 0xde, 0x9b, 0x01, 0x09, 0x9c, 0xb5, 0x01, 0x2a, 0x3e, 0x83, 0x36, 0xdf, 0x85, 0xb9, 0xfe, // ........*>.6.... - 0xf9, 0x82, 0xdd, 0x1a, 0x72, 0x80, 0x07, 0x23, 0x01, 0xdd, 0x21, 0x18, 0x03, 0x0b, 0x10, 0x1a, // ....r..#..!..... - 0x33, 0x3f, 0x5e, 0x42, 0x45, 0x61, 0x07, 0xfe, 0xdf, 0x80, 0x80, 0x23, 0xfe, 0x39, 0x00, 0x00, // 3?^BEa.....#.9.. - 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x3b, 0x00, 0x4b, 0x00, 0x00, // ...........;.K.. - 0x01, 0x36, 0x27, 0x26, 0x07, 0x0e, 0x04, 0x07, 0x36, 0x16, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, // .6'&....6....... - 0x27, 0x2e, 0x03, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x07, 0x0e, 0x01, 0x07, 0x15, 0x1e, // '..'&'..'&...... - 0x01, 0x17, 0x16, 0x36, 0x16, 0x17, 0x1e, 0x02, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, // ...6............ - 0x36, 0x37, 0x36, 0x37, 0x36, 0x12, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // 67676.....#!"&5. - 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0xe6, 0x10, 0x25, 0x34, 0x87, 0x11, 0x30, 0x43, 0x3e, // 463!2....%4..0C> - 0x39, 0x10, 0x50, 0x43, 0x07, 0x05, 0x2f, 0x2b, 0x1c, 0x2c, 0x2b, 0x17, 0x1d, 0x09, 0x0b, 0x03, // 9.PC../+.,+..... - 0x17, 0x0b, 0x0c, 0x2f, 0x1b, 0x39, 0x46, 0x36, 0xa5, 0x28, 0x10, 0x13, 0x0c, 0x15, 0x43, 0x31, // .../.9F6.(....C1 - 0x11, 0x0b, 0x0f, 0x0f, 0x05, 0x11, 0x24, 0x24, 0x15, 0x2a, 0x3d, 0x2b, 0x54, 0x22, 0x83, 0x77, // ......$$.*=+T".w - 0x68, 0x89, 0x01, 0x28, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // h..(.w.@w..w..w. - 0x03, 0x83, 0x55, 0x2f, 0x41, 0x14, 0x03, 0x13, 0x2a, 0x37, 0x55, 0x31, 0x07, 0x2e, 0x4c, 0x34, // ..U/A...*7U1..L4 - 0x5b, 0x4e, 0x15, 0x20, 0x2e, 0x18, 0x51, 0x41, 0x67, 0x14, 0x81, 0x23, 0x25, 0x40, 0x08, 0x10, // [N. ..QAg..#%@.. - 0x29, 0x20, 0x94, 0x1c, 0x07, 0x08, 0x24, 0x02, 0x03, 0x17, 0x02, 0x1d, 0x12, 0x29, 0x37, 0x0d, // ) ....$......)7. - 0x2e, 0x8d, 0x92, 0x33, 0x63, 0x1a, 0x0c, 0x15, 0x15, 0x4d, 0xa0, 0x8b, 0x01, 0x33, 0x01, 0x26, // ...3c....M...3.& - 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x01, 0x00, 0x00, // .@w..w..w....... - 0x00, 0x00, 0x04, 0x80, 0x05, 0x80, 0x00, 0x44, 0x00, 0x00, 0x01, 0x14, 0x02, 0x04, 0x2b, 0x01, // .......D......+. - 0x22, 0x26, 0x35, 0x11, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x35, // "&5...#"'&=.4?.5 - 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, // ..#"'&=.4?.546;. - 0x32, 0x16, 0x1d, 0x01, 0x25, 0x36, 0x16, 0x1d, 0x01, 0x14, 0x07, 0x05, 0x15, 0x25, 0x36, 0x16, // 2...%6.......%6. - 0x1d, 0x01, 0x14, 0x07, 0x05, 0x11, 0x36, 0x00, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x04, // ......6.546;.2.. - 0x80, 0xbd, 0xfe, 0xbc, 0xbf, 0xa0, 0x0e, 0x12, 0xd7, 0x03, 0x06, 0x0a, 0x09, 0x0d, 0x17, 0xe9, // ................ - 0xd7, 0x03, 0x06, 0x0a, 0x09, 0x0d, 0x17, 0xe9, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x01, 0x77, 0x0f, // ..............w. - 0x1a, 0x17, 0xfe, 0x77, 0x01, 0x77, 0x0f, 0x1a, 0x17, 0xfe, 0x77, 0xbc, 0x01, 0x04, 0x12, 0x0e, // ...w.w....w..... - 0xa0, 0x0e, 0x12, 0x02, 0xc0, 0xbf, 0xfe, 0xbc, 0xbd, 0x12, 0x0e, 0x02, 0x63, 0x42, 0x01, 0x06, // ............cB.. - 0x0a, 0x10, 0x80, 0x17, 0x08, 0x47, 0x5d, 0x42, 0x01, 0x06, 0x0a, 0x10, 0x80, 0x17, 0x08, 0x47, // .....G]B.......G - 0xfa, 0x0e, 0x12, 0x12, 0x0e, 0xb5, 0x74, 0x05, 0x14, 0x10, 0x80, 0x17, 0x08, 0x79, 0x5d, 0x74, // ......t......y]t - 0x05, 0x14, 0x10, 0x80, 0x17, 0x08, 0x79, 0xfe, 0x19, 0x0d, 0x01, 0x14, 0xbe, 0x0e, 0x12, 0x12, // ......y......... - 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x83, 0xdd, 0xb2, 0x75, 0x64, 0x5f, 0x0f, 0x3c, 0xf5, // ..........ud_.<. - 0x00, 0x0b, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xce, 0x8c, 0xf1, 0xdb, 0x00, 0x00, 0x00, 0x00, // ................ - 0xce, 0x8c, 0xf1, 0xdb, 0xff, 0xff, 0xff, 0x00, 0x07, 0x80, 0x06, 0x00, 0x00, 0x00, 0x00, 0x08, // ................ - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0xfe, 0xdd, // ................ - 0x00, 0x00, 0x07, 0x80, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8d, 0x03, 0x80, 0x00, 0x70, // ...............p - 0x00, 0x00, 0x00, 0x00, 0x02, 0x55, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, // .....U.......... - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ - 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x01, 0x33, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, // .........3...U.. - 0x01, 0x33, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // .3.............. - 0x07, 0x00, 0x00, 0x00, 0x01, 0xf4, 0x00, 0x00, 0x07, 0x00, 0x00, 0x5d, 0x06, 0x00, 0x00, 0x00, // ...........].... - 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x79, 0x05, 0x80, 0x00, 0x6e, // ...........y...n - 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x1a, 0x05, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x32, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......2........ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, // ...............@ - 0x06, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x7a, 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...z............ - 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x02, 0x00, 0x01, // ................ - 0x04, 0x80, 0x00, 0x35, 0x04, 0x80, 0x00, 0x75, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...5...u........ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x35, 0x06, 0x80, 0x00, 0x35, // ...@.......5...5 - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0d, 0x05, 0x80, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x7a, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // .......z........ - 0x07, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x10, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x35, 0x06, 0x80, 0x00, 0x35, // ...........5...5 - 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x03, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...@............ - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ - 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x2c, 0x03, 0x00, 0x00, 0x00, // ...........,.... - 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x02, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x15, 0x07, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x05, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x10, // ................ - 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x73, 0x07, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, // .......s........ - 0x05, 0x80, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x1b, 0x07, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, // ...........@.... - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x40, 0x02, 0x80, 0x00, 0x00, // ...........@.... - 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x28, // ...............( - 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x01, // ................ - 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ................ - 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ - 0x07, 0x80, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x40, // ...@...........@ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x2d, 0x04, 0x00, 0x00, 0x0d, // ...........-.... - 0x04, 0x80, 0x00, 0x4d, 0x04, 0x80, 0x00, 0x4d, 0x02, 0x80, 0x00, 0x2d, 0x02, 0x80, 0x00, 0x0d, // ...M...M...-.... - 0x04, 0x80, 0x00, 0x4d, 0x04, 0x80, 0x00, 0x4d, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, // ...M...M........ - 0x04, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x06, 0x20, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ..... .......... - 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ................ - 0x04, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x40, // ...........@...@ - 0x06, 0x80, 0x00, 0x0d, 0x07, 0x80, 0x00, 0x2d, 0x07, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x02, // .......-........ - 0x05, 0x80, 0x00, 0x02, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, // ................ - 0x04, 0x00, 0x00, 0x60, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x62, 0x06, 0x00, 0x00, 0x05, // ...`.......b.... - 0x06, 0x00, 0x00, 0x05, 0x07, 0x80, 0x00, 0x01, 0x06, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x03, // ................ - 0x06, 0x80, 0x00, 0x24, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ...$............ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0c, // ................ - 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, // ................ - 0x01, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x36, // ...............6 - 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x03, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x34, 0x03, 0x82, 0x00, 0x00, // ...........4.... - 0x04, 0x03, 0x00, 0x04, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x38, // ...............8 - 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x22, 0x06, 0x80, 0x00, 0x22, // ..........."..." - 0x07, 0x00, 0x00, 0x22, 0x07, 0x00, 0x00, 0x22, 0x06, 0x00, 0x00, 0x22, 0x06, 0x00, 0x00, 0x22, // ..."..."..."..." - 0x06, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x1b, // ................ - 0x05, 0x80, 0x00, 0x05, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, // ...............@ - 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x4e, 0x06, 0x00, 0x00, 0x00, // ...........N.... - 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x00, // ...........@.... - 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x0b, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x2c, // ..............., - 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x40, 0x06, 0x80, 0x00, 0x20, 0x07, 0x80, 0xff, 0xff, // .......@... .... - 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x15, // ................ - 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ................ - 0x06, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, // ................ - 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, // ................ - 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, // ................ - 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x1e, 0x00, 0x50, 0x00, 0x92, // .............P.. - 0x00, 0xd4, 0x01, 0x42, 0x01, 0x70, 0x01, 0xae, 0x02, 0x00, 0x02, 0x3c, 0x03, 0x24, 0x03, 0x82, // ...B.p.....<.$.. - 0x04, 0x48, 0x04, 0xce, 0x04, 0xfa, 0x05, 0x3c, 0x05, 0xa6, 0x05, 0xfc, 0x06, 0x54, 0x06, 0xc4, // .H.....<.....T.. - 0x07, 0x66, 0x07, 0xfc, 0x08, 0x54, 0x08, 0x92, 0x08, 0xe0, 0x09, 0x48, 0x09, 0xa8, 0x09, 0xfe, // .f...T.....H.... - 0x0a, 0x52, 0x0a, 0x90, 0x0a, 0xda, 0x0b, 0x2c, 0x0b, 0x9a, 0x0c, 0x44, 0x0c, 0x78, 0x0c, 0xca, // .R.....,...D.x.. - 0x0d, 0x36, 0x0d, 0x5c, 0x0d, 0xa4, 0x0e, 0x44, 0x0e, 0xa8, 0x0f, 0x16, 0x0f, 0x4c, 0x0f, 0xa6, // .6.....D.....L.. - 0x10, 0x58, 0x10, 0x8a, 0x10, 0xe2, 0x11, 0x2a, 0x11, 0xaa, 0x12, 0x44, 0x12, 0xb6, 0x13, 0x78, // .X.....*...D...x - 0x14, 0x38, 0x14, 0x94, 0x14, 0xf0, 0x15, 0x4a, 0x15, 0xa4, 0x16, 0x4e, 0x16, 0xc0, 0x17, 0x32, // .8.....J...N...2 - 0x17, 0x66, 0x17, 0xb2, 0x17, 0xf6, 0x18, 0x24, 0x18, 0x50, 0x18, 0x98, 0x19, 0x10, 0x19, 0x8e, // .f.....$.P...... - 0x19, 0xf8, 0x1a, 0x60, 0x1a, 0x90, 0x1a, 0xd6, 0x1b, 0x06, 0x1b, 0x22, 0x1b, 0x56, 0x1b, 0x74, // ...`.......".V.t - 0x1b, 0xa4, 0x1b, 0xea, 0x1c, 0x1a, 0x1c, 0x4c, 0x1c, 0x76, 0x1c, 0xa4, 0x1c, 0xf0, 0x1d, 0x24, // .......L.v.....$ - 0x1d, 0x7e, 0x1d, 0xc0, 0x1e, 0x2a, 0x1e, 0x82, 0x1f, 0x02, 0x1f, 0x68, 0x1f, 0xbc, 0x1f, 0xfe, // .~...*.....h.... - 0x20, 0x36, 0x20, 0x6e, 0x20, 0xa8, 0x20, 0xe2, 0x21, 0x26, 0x21, 0x76, 0x21, 0xc6, 0x21, 0xfc, // 6 n . .!&!v!.!. - 0x22, 0x18, 0x22, 0x70, 0x22, 0xbc, 0x23, 0x26, 0x23, 0x98, 0x23, 0xe2, 0x24, 0x38, 0x24, 0xc0, // "."p".#&#.#.$8$. - 0x25, 0x10, 0x25, 0x66, 0x26, 0x20, 0x26, 0xbc, 0x26, 0xfc, 0x27, 0x60, 0x27, 0x8c, 0x27, 0xbc, // %.%f& &.&.'`'.'. - 0x28, 0x2a, 0x28, 0x82, 0x28, 0xa6, 0x28, 0xec, 0x29, 0x22, 0x29, 0x58, 0x29, 0xac, 0x2a, 0x0c, // (*(.(.(.)")X).*. - 0x2a, 0x42, 0x2a, 0xa6, 0x2b, 0x0e, 0x2c, 0x6e, 0x2c, 0xe4, 0x2d, 0x7a, 0x2e, 0x14, 0x2e, 0x3a, // *B*.+.,n,.-z...: - 0x2e, 0x92, 0x2e, 0xf0, 0x2f, 0x40, 0x2f, 0x88, 0x2f, 0xe6, 0x30, 0x44, 0x30, 0xac, 0x31, 0x7e, // ..../@/./.0D0.1~ - 0x31, 0xe2, 0x32, 0x6c, 0x32, 0xe0, 0x33, 0x12, 0x33, 0x52, 0x33, 0xcc, 0x34, 0x1a, 0x34, 0x3e, // 1.2l2.3.3R3.4.4> - 0x34, 0xbc, 0x34, 0xf6, 0x35, 0x38, 0x35, 0x9c, 0x36, 0x00, 0x36, 0x56, 0x36, 0xac, 0x37, 0x22, // 4.4.585.6.6V6.7" - 0x37, 0xb2, 0x38, 0x50, 0x38, 0xe0, 0x39, 0x7c, 0x39, 0xca, 0x3a, 0x16, 0x3a, 0x62, 0x3a, 0xb0, // 7.8P8.9|9.:.:b:. - 0x3d, 0xbe, 0x3e, 0x0e, 0x3e, 0x6c, 0x3e, 0x96, 0x3e, 0xe0, 0x3f, 0x52, 0x3f, 0xd8, 0x40, 0x6c, // =.>.>l>.>.?R?.@l - 0x40, 0x9a, 0x40, 0xd4, 0x41, 0xb2, 0x42, 0x18, 0x42, 0x78, 0x42, 0xe2, 0x43, 0x00, 0x43, 0x44, // @.@.A.B.BxB.C.CD - 0x43, 0xae, 0x44, 0x5a, 0x44, 0xee, 0x45, 0x96, 0x46, 0x72, 0x46, 0xd4, 0x47, 0x44, 0x47, 0xb2, // C.DZD.E.FrF.GDG. - 0x48, 0x1e, 0x48, 0xae, 0x49, 0x46, 0x49, 0xa2, 0x49, 0xc0, 0x49, 0xde, 0x49, 0xfc, 0x4a, 0x1a, // H.H.IFI.I.I.I.J. - 0x4a, 0x4c, 0x4a, 0x80, 0x4a, 0x9e, 0x4a, 0xbc, 0x4b, 0x14, 0x4b, 0x5c, 0x4b, 0xae, 0x4c, 0x4a, // JLJ.J.J.K.K.K.LJ - 0x4c, 0xc8, 0x4d, 0x2a, 0x4d, 0xbe, 0x4d, 0xf8, 0x4e, 0x68, 0x4e, 0xec, 0x4f, 0x46, 0x4f, 0xc8, // L.M*M.M.NhN.OFO. - 0x50, 0x18, 0x50, 0x6a, 0x50, 0xbe, 0x51, 0x44, 0x51, 0xb2, 0x51, 0xee, 0x52, 0x32, 0x52, 0x6a, // P.PjP.QDQ.Q.R2Rj - 0x52, 0xc8, 0x53, 0x32, 0x54, 0xcc, 0x56, 0x08, 0x56, 0x92, 0x56, 0xfa, 0x57, 0x4c, 0x57, 0x78, // R.S2T.V.V.V.WLWx - 0x57, 0xc4, 0x58, 0x10, 0x58, 0x5c, 0x58, 0xa8, 0x58, 0xf4, 0x59, 0x40, 0x59, 0x6a, 0x59, 0x94, // W.X.X.X.X.Y@YjY. - 0x59, 0xbe, 0x59, 0xe8, 0x5a, 0x30, 0x5a, 0x7e, 0x5a, 0xbc, 0x5b, 0x04, 0x5b, 0x36, 0x5b, 0x92, // Y.Y.Z0Z~Z.[.[6[. - 0x5b, 0xee, 0x5c, 0x56, 0x5c, 0x74, 0x5c, 0xb8, 0x5d, 0x36, 0x5d, 0x78, 0x5d, 0xe2, 0x5e, 0x40, // [..V.t..]6]x].^@ - 0x5e, 0x88, 0x5e, 0xf6, 0x5f, 0x64, 0x5f, 0xc2, 0x60, 0x24, 0x61, 0x06, 0x61, 0x84, 0x62, 0x28, // ^.^._d_.`$a.a.b( - 0x62, 0x68, 0x62, 0xd0, 0x63, 0x32, 0x63, 0x80, 0x63, 0xaa, 0x63, 0xfe, 0x64, 0x6c, 0x65, 0x3c, // bhb.c2c.c.c.dle< - 0x65, 0x94, 0x65, 0xd6, 0x66, 0x0a, 0x66, 0x74, 0x66, 0xdc, 0x67, 0x0c, 0x67, 0x96, 0x67, 0xe6, // e.e.f.ftf.g.g.g. - 0x68, 0x58, 0x68, 0x90, 0x68, 0xf4, 0x69, 0x62, 0x69, 0xb2, 0x69, 0xe0, 0x6a, 0x20, 0x6a, 0x60, // hXh.h.ibi.i.j j` - 0x6a, 0xa2, 0x6a, 0xe2, 0x6b, 0x12, 0x6b, 0x38, 0x6b, 0xb2, 0x6b, 0xea, 0x6c, 0x4c, 0x6c, 0x90, // j.j.k.k8k.k.lLl. - 0x6c, 0xd2, 0x6d, 0x40, 0x6d, 0x76, 0x6d, 0xcc, 0x6d, 0xfe, 0x6e, 0x46, 0x6e, 0x78, 0x6e, 0xa8, // l.m@mvm.m.nFnxn. - 0x6e, 0xe6, 0x6f, 0x3c, 0x6f, 0x80, 0x6f, 0xd2, 0x70, 0x14, 0x70, 0x5e, 0x70, 0xa8, 0x70, 0xf2, // n.o..&.... $ + 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x00, 0x96, 0xd4, 0x96, 0x96, 0xd4, 0x2a, 0xfe, 0xd8, // ...$ ........*.. + 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0x01, 0x72, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // .....(....r....^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x02, 0xea, 0xd4, 0x96, 0x96, 0xd4, // .....a...a...... + 0x96, 0x01, 0x20, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0xbd, 0xfe, // .. .........(... + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x00, // ^.....a...a..... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x5d, 0x05, 0xe0, 0x00, 0x15, 0x00, 0x36, 0x00, 0x00, // .......].....6.. + 0x01, 0x17, 0x06, 0x04, 0x23, 0x22, 0x24, 0x02, 0x35, 0x34, 0x12, 0x37, 0x17, 0x0e, 0x01, 0x15, // ....#"$.54.7.... + 0x14, 0x00, 0x33, 0x32, 0x3e, 0x01, 0x25, 0x17, 0x05, 0x06, 0x23, 0x22, 0x27, 0x03, 0x21, 0x22, // ..32>.%...#"'.!" + 0x26, 0x27, 0x03, 0x26, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x27, 0x13, 0x21, // &'.&7>.32....'.! + 0x15, 0x21, 0x17, 0x21, 0x32, 0x17, 0x13, 0x03, 0xff, 0x66, 0x3a, 0xfe, 0xd0, 0xbb, 0x9c, 0xfe, // .!.!2....f:..... + 0xf7, 0x9b, 0xd1, 0xaa, 0x11, 0x7a, 0x92, 0x01, 0x07, 0xb9, 0x7e, 0xd5, 0x75, 0x02, 0x1b, 0x3a, // .....z....~.u..: + 0xff, 0x00, 0x0d, 0x10, 0x28, 0x11, 0xef, 0xfe, 0x28, 0x18, 0x25, 0x03, 0x60, 0x02, 0x08, 0x0e, // ....(...(.%.`... + 0x56, 0x36, 0x42, 0x5e, 0x68, 0x44, 0x25, 0x01, 0xa7, 0xfe, 0x69, 0x10, 0x01, 0xc7, 0x28, 0x11, // V6B^hD%...i...(. + 0xe4, 0x01, 0x5d, 0xcc, 0xb3, 0xde, 0x9b, 0x01, 0x09, 0x9c, 0xb5, 0x01, 0x2a, 0x3e, 0x83, 0x36, // ..].........*>.6 + 0xdf, 0x85, 0xb9, 0xfe, 0xf9, 0x82, 0xdd, 0x1a, 0x72, 0x80, 0x07, 0x23, 0x01, 0xdd, 0x21, 0x18, // ........r..#..!. + 0x03, 0x0b, 0x11, 0x19, 0x33, 0x3f, 0x5e, 0x42, 0x45, 0x61, 0x07, 0xfe, 0xdf, 0x80, 0x80, 0x23, // ....3?^BEa.....# + 0xfe, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x23, // .9.............# + 0x00, 0x33, 0x00, 0x00, 0x01, 0x36, 0x27, 0x26, 0x03, 0x36, 0x33, 0x32, 0x07, 0x0e, 0x01, 0x23, // .3...6'&.632...# + 0x22, 0x27, 0x26, 0x27, 0x26, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x07, 0x17, 0x36, 0x33, 0x32, 0x17, // "'&'&.......632. + 0x1e, 0x01, 0x17, 0x16, 0x33, 0x32, 0x13, 0x12, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ....32......#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x0c, 0x0a, 0xab, 0xe7, 0x51, 0x2c, 0x26, // 5.463!2......Q,& + 0x55, 0x0b, 0x04, 0x8c, 0x23, 0x2b, 0x27, 0x0d, 0x20, 0x1e, 0x82, 0x3b, 0x69, 0x1b, 0x6c, 0x1b, // U...#+'. ..;i.l. + 0x34, 0x4c, 0x0b, 0x39, 0x32, 0x0f, 0x3c, 0x0f, 0x44, 0x60, 0x9d, 0xe2, 0xdc, 0xfa, 0xa9, 0x77, // 4L.92.<.D`.....w + 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, 0x82, 0xd8, 0x06, 0x08, 0xfe, // .@w..w..w....... + 0xf3, 0x13, 0x60, 0x39, 0xdc, 0xa9, 0x36, 0xc9, 0xbd, 0x0c, 0x07, 0x5d, 0x18, 0x60, 0x18, 0x43, // ..`9..6....].`.C + 0x34, 0xb3, 0x37, 0xdb, 0x37, 0xb3, 0x01, 0x26, 0x01, 0x1b, 0x01, 0x7f, 0xfc, 0x40, 0x77, 0xa9, // 4.7.7..&.....@w. + 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, // .w..w........... + 0x05, 0x80, 0x00, 0x44, 0x00, 0x00, 0x01, 0x14, 0x02, 0x04, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, // ...D......+."&5. + 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x35, 0x07, 0x06, 0x23, 0x22, // ..#"'&=.4?.5..#" + 0x27, 0x26, 0x3d, 0x01, 0x34, 0x3f, 0x01, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, // '&=.4?.546;.2... + 0x25, 0x36, 0x16, 0x1d, 0x01, 0x14, 0x07, 0x05, 0x15, 0x25, 0x36, 0x16, 0x1d, 0x01, 0x14, 0x07, // %6.......%6..... + 0x05, 0x11, 0x36, 0x00, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x04, 0x80, 0xbd, 0xfe, 0xbc, // ..6.546;.2...... + 0xbf, 0xa0, 0x0e, 0x12, 0xd7, 0x03, 0x06, 0x0a, 0x09, 0x0d, 0x17, 0xe9, 0xd7, 0x03, 0x06, 0x0a, // ................ + 0x09, 0x0d, 0x17, 0xe9, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x01, 0x77, 0x0f, 0x1a, 0x17, 0xfe, 0x77, // ..........w....w + 0x01, 0x77, 0x0f, 0x1a, 0x17, 0xfe, 0x77, 0xbc, 0x01, 0x04, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x02, // .w....w......... + 0xc0, 0xbf, 0xfe, 0xbc, 0xbd, 0x12, 0x0e, 0x02, 0x63, 0x42, 0x01, 0x06, 0x0a, 0x10, 0x80, 0x17, // ........cB...... + 0x08, 0x47, 0x5d, 0x42, 0x01, 0x06, 0x0a, 0x10, 0x80, 0x17, 0x08, 0x47, 0xfa, 0x0e, 0x12, 0x12, // .G]B.......G.... + 0x0e, 0xb5, 0x74, 0x05, 0x14, 0x10, 0x80, 0x17, 0x08, 0x79, 0x5d, 0x74, 0x05, 0x14, 0x10, 0x80, // ..t......y]t.... + 0x17, 0x08, 0x79, 0xfe, 0x19, 0x0d, 0x01, 0x14, 0xbe, 0x0e, 0x12, 0x12, 0x00, 0x03, 0x00, 0x00, // ..y............. + 0x00, 0x00, 0x05, 0x80, 0x05, 0x80, 0x00, 0x23, 0x00, 0x33, 0x00, 0x43, 0x00, 0x00, 0x01, 0x15, // .......#.3.C.... + 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x26, // ..#!...+."&5.!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x21, // =.463!.46;.2...! + 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, // 2...4&#!".....3! + 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // 26....#!"&5.463! + 0x32, 0x16, 0x04, 0x80, 0x12, 0x0e, 0xfe, 0xa0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, 0xa0, 0x0e, // 2.........@..... + 0x12, 0x12, 0x0e, 0x01, 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x60, 0x0e, 0x12, 0x80, 0x5e, // ....`..@...`...^ + 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0x40, 0x42, 0x5e, 0x80, 0xa9, 0x77, 0xfc, 0xc0, // B..B^^B.@B^..w.. + 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0x02, 0xe0, 0x40, 0x0e, 0x12, 0xfe, 0xa0, 0x0e, // w..w.@w...@..... + 0x12, 0x12, 0x0e, 0x01, 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x60, 0x0e, 0x12, 0x12, 0x0e, // ....`..@...`.... + 0xfe, 0xa0, 0x12, 0xfe, 0x32, 0x03, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, 0x5e, // ....2.@B^^B..B^^ + 0x03, 0x82, 0xfc, 0xc0, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0x40, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, // ....w..w.@w..... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x08, 0x80, 0x05, 0x00, 0x00, 0x27, 0x00, 0x2f, 0x00, 0x3f, // ...........'./.? + 0x00, 0x50, 0x00, 0x00, 0x01, 0x06, 0x2b, 0x01, 0x35, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x2e, // .P....+.5#"&547. + 0x01, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x33, 0x32, 0x17, 0x21, 0x1e, // .467&546;.532.!. + 0x01, 0x17, 0x1e, 0x02, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x37, 0x16, 0x14, 0x07, 0x17, // ...........7.... + 0x36, 0x34, 0x27, 0x01, 0x21, 0x06, 0x07, 0x22, 0x06, 0x0f, 0x01, 0x01, 0x0e, 0x01, 0x2b, 0x01, // 64'.!.."......+. + 0x03, 0x33, 0x32, 0x03, 0x23, 0x13, 0x33, 0x32, 0x16, 0x17, 0x01, 0x1e, 0x04, 0x33, 0x05, 0x21, // .32.#.32.....3.! + 0x26, 0x02, 0x6c, 0x6e, 0x9e, 0x80, 0x40, 0x0d, 0x13, 0x07, 0x3a, 0x4d, 0x4d, 0x3a, 0x07, 0x13, // &.ln..@...:MM:.. + 0x0d, 0x40, 0x80, 0x9e, 0x6e, 0x04, 0x59, 0x2a, 0x81, 0x10, 0x59, 0x7a, 0x2d, 0x2d, 0x7a, 0x59, // .@..n.Y*..Yz--zY + 0x10, 0x81, 0x2a, 0x06, 0x35, 0x35, 0x51, 0x44, 0x44, 0xfb, 0x55, 0x03, 0xf7, 0xd9, 0xef, 0x39, // ..*.55QDD.U....9 + 0x70, 0x1b, 0x1c, 0xfe, 0xe0, 0x1a, 0x59, 0x2d, 0x60, 0x5d, 0x1d, 0x9d, 0x9d, 0x1d, 0x5d, 0x60, // p.....Y-`]....]` + 0x2e, 0x58, 0x1a, 0x01, 0x20, 0x04, 0x0e, 0x2f, 0x32, 0x49, 0x24, 0x01, 0xc8, 0xfc, 0x09, 0x74, // .X.. ../2I$....t + 0x01, 0xa0, 0x40, 0x40, 0x2f, 0x21, 0x18, 0x19, 0x02, 0x11, 0x18, 0x11, 0x02, 0x19, 0x18, 0x21, // ..@@/!.........! + 0x2f, 0x40, 0x40, 0x07, 0x16, 0x03, 0x0f, 0x33, 0x2c, 0x24, 0x2c, 0x33, 0x0f, 0x03, 0x16, 0x07, // /@@....3,$,3.... + 0xfc, 0x24, 0x70, 0x24, 0x1e, 0x30, 0x94, 0x30, 0xfe, 0xd6, 0x26, 0x2a, 0x30, 0x18, 0x18, 0xfe, // .$p$.0.0..&*0... + 0xe0, 0x1a, 0x26, 0x01, 0xd0, 0x01, 0xe0, 0x01, 0xd0, 0x26, 0x1a, 0xfe, 0xe0, 0x04, 0x0d, 0x21, // ..&......&.....! + 0x19, 0x15, 0x50, 0x40, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, 0x06, 0x00, 0x00, 0x52, // ..P@...........R + 0x00, 0x56, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x17, 0x16, 0x15, 0x14, 0x06, // .V...2.......... + 0x23, 0x22, 0x26, 0x2f, 0x01, 0x05, 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x2f, 0x01, // #"&/.......#"&/. + 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x3f, 0x01, 0x03, 0x07, 0x06, 0x23, 0x22, 0x26, // ..#"&546?....#"& + 0x35, 0x34, 0x36, 0x3f, 0x01, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x01, 0x25, // 546?.'&54632...% + 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x01, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, // '&54632...7632.. + 0x14, 0x06, 0x0f, 0x01, 0x13, 0x37, 0x36, 0x01, 0x25, 0x03, 0x05, 0x05, 0xef, 0x3e, 0x53, 0x5d, // .....76.%....>S] + 0xac, 0x38, 0x07, 0x54, 0x3b, 0x2f, 0x4d, 0x0f, 0x37, 0xfe, 0xca, 0x37, 0x08, 0x54, 0x3c, 0x2f, // .8.T;/M.7..7.T.7%>...w.. + 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xe0, 0x1f, 0x21, 0x22, 0xc5, 0x35, 0x62, 0x42, // w.@w..w...!".5bB + 0x42, 0x62, 0x2f, 0xbe, 0x2f, 0x0c, 0x2a, 0x0a, 0x38, 0x28, 0x03, 0x40, 0x28, 0x38, 0x37, 0x29, // Bb/./.*.8(.@(87) + 0xfc, 0xc0, 0x28, 0x38, 0x3d, 0x25, 0x2f, 0xb5, 0x27, 0x03, 0x1c, 0x0e, 0x1c, 0x13, 0x18, 0x15, // ..(8=%/.'....... + 0x14, 0x15, 0x18, 0x13, 0x1c, 0x0e, 0x1c, 0x03, 0x01, 0x0b, 0x23, 0x3f, 0x05, 0x80, 0xa9, 0x77, // ..........#?...w + 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xfb, 0xe0, 0x01, 0xb4, 0x23, 0x14, // .@w..w..w.....#. + 0x16, 0x7e, 0x24, 0x45, 0x45, 0x20, 0x79, 0x20, 0x08, 0x26, 0x08, 0xfe, 0x4c, 0x28, 0x38, 0x38, // .~$EE y .&..L(88 + 0x02, 0x65, 0x29, 0x3a, 0x38, 0x28, 0x25, 0x4f, 0x19, 0x20, 0x72, 0x1a, 0x02, 0x13, 0x09, 0x11, // .e):8(%O. r..... + 0x09, 0x0a, 0x05, 0x05, 0x0a, 0x09, 0x11, 0x09, 0x13, 0x02, 0xae, 0x17, 0x4f, 0x00, 0x00, 0x00, // ............O... + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x05, 0x00, 0x3f, 0x00, 0x47, // .............?.G + 0x00, 0x51, 0x00, 0x61, 0x00, 0x71, 0x00, 0x00, 0x13, 0x34, 0x37, 0x01, 0x26, 0x02, 0x01, 0x14, // .Q.a.q...47.&... + 0x0e, 0x03, 0x07, 0x03, 0x01, 0x36, 0x37, 0x3e, 0x01, 0x26, 0x0f, 0x01, 0x26, 0x27, 0x26, 0x0e, // .....67>.&..&'&. + 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x13, 0x03, 0x01, 0x36, 0x37, 0x3e, 0x01, 0x26, 0x0f, 0x01, 0x22, // ........67>.&.." + 0x26, 0x23, 0x36, 0x24, 0x33, 0x32, 0x04, 0x17, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x06, 0x17, // $32..#"...... + 0x16, 0x05, 0x13, 0x16, 0x17, 0x06, 0x23, 0x22, 0x27, 0x01, 0x16, 0x15, 0x14, 0x02, 0x07, 0x13, // ......#"'....... + 0x36, 0x35, 0x34, 0x00, 0x20, 0x04, 0x16, 0x12, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, // 654. ....... $&. + 0x10, 0x12, 0x36, 0x00, 0x20, 0x24, 0x36, 0x12, 0x10, 0x02, 0x26, 0x24, 0x20, 0x04, 0x06, 0x02, // ..6. $6...&$ ... + 0x10, 0x12, 0x16, 0x7f, 0x43, 0x01, 0x6f, 0xc4, 0xee, 0x05, 0x08, 0x05, 0x0f, 0x08, 0x1b, 0x04, // ....C.o......... + 0x4c, 0xfe, 0xea, 0x2e, 0x2a, 0x13, 0x0e, 0x13, 0x13, 0xcd, 0x4b, 0x7f, 0x0c, 0x11, 0x06, 0x03, // L...*.....K..... + 0x0f, 0x0c, 0x50, 0x78, 0xa8, 0xfe, 0xe8, 0x2e, 0x2a, 0x13, 0x0e, 0x13, 0x13, 0xcd, 0x07, 0x20, // ..Px....*...... + 0x0a, 0x69, 0x01, 0x53, 0xc6, 0x93, 0x01, 0x0b, 0x69, 0x0a, 0x37, 0x4a, 0x04, 0x04, 0x0c, 0x06, // .i.S....i.7J.... + 0x12, 0x07, 0x16, 0x03, 0x3f, 0xfe, 0x06, 0xed, 0x01, 0x04, 0x7e, 0x81, 0x70, 0x69, 0x03, 0x7b, // ....?.....~.pi.{ + 0x5f, 0xd0, 0xaf, 0xeb, 0x3b, 0xfc, 0xa2, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0xfe, // _...;...l.L..... + 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x55, 0x01, 0x5a, 0x01, 0x3d, 0xe5, // ..........U.Z.=. + 0x88, 0x88, 0xe5, 0xfe, 0xc3, 0xfe, 0xa6, 0xfe, 0xc3, 0xe5, 0x88, 0x88, 0xe5, 0x02, 0x80, 0xa3, // ................ + 0x96, 0xfc, 0x13, 0x5f, 0x01, 0x74, 0x01, 0x08, 0x13, 0x27, 0x3c, 0x1c, 0x5a, 0x0d, 0xff, 0x00, // ..._.t...'<.Z... + 0x03, 0x3a, 0x03, 0x05, 0x02, 0x21, 0x1d, 0x01, 0x0a, 0x01, 0x09, 0x01, 0x0c, 0x12, 0x13, 0x0e, // .:...!.......... + 0x01, 0x08, 0xfe, 0xb8, 0xfe, 0x08, 0x03, 0x40, 0x03, 0x05, 0x02, 0x21, 0x1d, 0x01, 0x0a, 0x01, // .......@...!.... + 0xa0, 0xbb, 0x6a, 0x60, 0x51, 0x37, 0x0c, 0x18, 0x13, 0x1b, 0x0f, 0x1e, 0x0c, 0x24, 0x05, 0x6b, // ..j`Q7.......$.k + 0xd3, 0xfd, 0x79, 0x06, 0x05, 0x2c, 0x20, 0x04, 0x52, 0xae, 0xc3, 0xd1, 0xfe, 0x9f, 0x66, 0x02, // ..y.., .R.....f. + 0xa6, 0xa9, 0x6b, 0x2a, 0x02, 0x34, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, // ..k*.4.......... + 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0xf9, 0xb7, 0x88, 0xe5, 0x01, 0x3d, 0x01, // ...L.l.L......=. + 0x5a, 0x01, 0x3d, 0xe5, 0x88, 0x88, 0xe5, 0xfe, 0xc3, 0xfe, 0xa6, 0xfe, 0xc3, 0xe5, 0x00, 0x00, // Z.=............. + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x06, 0x00, 0x00, 0x12, 0x00, 0x1b, 0x00, 0x00, // ................ + 0x01, 0x11, 0x05, 0x26, 0x24, 0x26, 0x35, 0x34, 0x36, 0x24, 0x37, 0x15, 0x06, 0x04, 0x15, 0x14, // ...&$&546$7..... + 0x04, 0x17, 0x11, 0x01, 0x13, 0x25, 0x37, 0x26, 0x27, 0x35, 0x04, 0x17, 0x04, 0x3e, 0xfe, 0xf0, // .....%7&'5...>.. + 0xe4, 0xfe, 0x8c, 0xd6, 0xc9, 0x01, 0x5d, 0xd9, 0xd9, 0xfe, 0xe9, 0x01, 0x35, 0xea, 0x03, 0xad, // ......].....5... + 0x25, 0xfd, 0xf3, 0x93, 0x77, 0xa1, 0x01, 0x15, 0xcc, 0x06, 0x00, 0xfa, 0x00, 0x80, 0x14, 0xa4, // %...w........... + 0xfd, 0x92, 0x8c, 0xf7, 0xa4, 0x1a, 0xac, 0x26, 0xe0, 0x8f, 0x98, 0xe6, 0x1e, 0x05, 0x50, 0xfe, // .......&......P. + 0x3f, 0xfe, 0x7a, 0x72, 0x53, 0x46, 0x1d, 0xac, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ?.zrSF..!|...... + 0xff, 0x00, 0x07, 0x80, 0x06, 0x00, 0x00, 0x0c, 0x00, 0x26, 0x00, 0x30, 0x00, 0x00, 0x09, 0x01, // .........&.0.... + 0x15, 0x23, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x23, 0x35, 0x01, 0x21, 0x11, 0x33, 0x11, // .#..#!"&5#5.!.3. + 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x21, // !.3.!.3.!.32...! + 0x35, 0x34, 0x36, 0x3b, 0x01, 0x05, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x36, 0x33, 0x03, // 546;..2...!5463. + 0xc0, 0x03, 0xc0, 0x80, 0x29, 0x1c, 0xfa, 0x0a, 0x1c, 0x29, 0x80, 0x01, 0x00, 0x01, 0x00, 0x80, // ....)....)...... + 0x01, 0x00, 0x80, 0x01, 0x00, 0x80, 0x01, 0x00, 0x3b, 0x1c, 0x29, 0xf9, 0x80, 0x29, 0x1c, 0x3b, // ........;.)..).; + 0x06, 0x3b, 0x1c, 0x29, 0xf8, 0x80, 0x29, 0x1c, 0x06, 0x00, 0xfe, 0x80, 0x80, 0x1a, 0x26, 0x26, // .;.)..).......&& + 0x1a, 0x80, 0xff, 0x00, 0xfd, 0x00, 0x03, 0x00, 0xfd, 0x00, 0x03, 0x00, 0xfd, 0x00, 0x03, 0x00, // ................ + 0xfd, 0x00, 0x26, 0x1a, 0x40, 0x40, 0x1a, 0x26, 0xc0, 0x26, 0x1a, 0x80, 0x80, 0x1a, 0x26, 0x00, // ..&.@@.&.&....&. + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x0d, 0x00, 0x36, 0x00, 0x00, // .............6.. + 0x01, 0x13, 0x16, 0x06, 0x04, 0x20, 0x24, 0x26, 0x37, 0x13, 0x05, 0x16, 0x32, 0x37, 0x00, 0x14, // ..... $&7...27.. + 0x07, 0x01, 0x06, 0x22, 0x27, 0x25, 0x0e, 0x01, 0x07, 0x16, 0x15, 0x14, 0x07, 0x13, 0x16, 0x07, // ..."'%.......... + 0x06, 0x2b, 0x01, 0x22, 0x27, 0x26, 0x37, 0x13, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x25, 0x26, // .+."'&7.&54767%& + 0x34, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x06, 0xee, 0x12, 0x04, 0xac, 0xfe, 0xd6, 0xfe, 0xa4, // 47.62........... + 0xfe, 0xd6, 0xac, 0x04, 0x12, 0x02, 0x3e, 0x16, 0x34, 0x16, 0x04, 0x50, 0x16, 0xfb, 0xa0, 0x04, // ......>.4..P.... + 0x0c, 0x04, 0xfd, 0x74, 0x2b, 0x38, 0x06, 0x3f, 0x3a, 0x3a, 0x02, 0x0a, 0x09, 0x0f, 0xc0, 0x0f, // ...t+8.?::...... + 0x09, 0x0a, 0x02, 0x3a, 0x3a, 0x41, 0x0b, 0x57, 0xfe, 0xb3, 0x16, 0x16, 0x04, 0x60, 0x04, 0x0c, // ...::A.W.....`.. + 0x04, 0x04, 0x60, 0x02, 0xbc, 0xfe, 0xc4, 0x45, 0x76, 0x45, 0x45, 0x76, 0x45, 0x01, 0x3c, 0xb5, // ..`....EvEEvE.<. + 0x07, 0x07, 0x02, 0x10, 0x2e, 0x08, 0xfe, 0xa0, 0x01, 0x01, 0xce, 0x22, 0x9b, 0x65, 0x24, 0x49, // ...........".e$I + 0x45, 0x26, 0xfe, 0x4f, 0x0e, 0x0b, 0x0b, 0x0b, 0x0b, 0x0e, 0x01, 0xb1, 0x26, 0x45, 0x49, 0x26, // E&.O........&EI& + 0xcf, 0x7b, 0x68, 0x08, 0x2e, 0x08, 0x01, 0x60, 0x01, 0x01, 0xfe, 0xa0, 0x00, 0x01, 0x00, 0x6d, // .{h....`.......m + 0xff, 0x80, 0x05, 0x93, 0x06, 0x00, 0x00, 0x22, 0x00, 0x00, 0x01, 0x13, 0x26, 0x23, 0x22, 0x07, // ......."....&#". + 0x13, 0x26, 0x00, 0x02, 0x27, 0x16, 0x33, 0x32, 0x37, 0x1e, 0x01, 0x12, 0x17, 0x3e, 0x03, 0x37, // .&..'.327....>.7 + 0x16, 0x33, 0x32, 0x37, 0x31, 0x0e, 0x03, 0x07, 0x06, 0x03, 0x5b, 0x0d, 0x3e, 0x2b, 0x29, 0x40, // .3271.....[.>+)@ + 0x0d, 0x28, 0xfe, 0xff, 0xb0, 0x5d, 0x3a, 0x32, 0x2c, 0x43, 0x3f, 0x8d, 0xc1, 0x2a, 0x25, 0x91, // .(...]:2,C?..*%. + 0x5a, 0x78, 0x2f, 0x36, 0x35, 0x38, 0x3a, 0x1c, 0x40, 0x23, 0x4e, 0x0a, 0x92, 0x02, 0x43, 0xfd, // Zx/658:.@#N...C. + 0x3d, 0x0b, 0x0b, 0x02, 0xc3, 0x45, 0x01, 0xc5, 0x01, 0x28, 0x8b, 0x0f, 0x0f, 0x6f, 0xed, 0xfe, // =....E...(...o.. + 0xc4, 0x45, 0x3d, 0xe9, 0x93, 0xcd, 0x57, 0x0e, 0x0e, 0x27, 0x63, 0x3a, 0x86, 0x11, 0xf8, 0x00, // .E=...W..'c:.... + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x05, 0xe1, 0x05, 0x80, 0x00, 0x23, 0x00, 0x00, 0x01, 0x21, // ...........#...! + 0x16, 0x15, 0x14, 0x02, 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x33, 0x20, // .....#"$&...6$3 + 0x17, 0x07, 0x26, 0x23, 0x22, 0x0e, 0x01, 0x10, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x03, 0x37, 0x21, // ..&#".....32>.7! + 0x03, 0x00, 0x02, 0xd5, 0x0c, 0xb6, 0xfe, 0xaf, 0xda, 0x9d, 0xfe, 0xe4, 0xce, 0x79, 0x79, 0xce, // .............yy. + 0x01, 0x1c, 0x9d, 0x01, 0x2c, 0xd7, 0xd1, 0x7b, 0xb7, 0x81, 0xdb, 0x80, 0x80, 0xdb, 0x81, 0x57, // ....,..{.......W + 0x92, 0x5e, 0x46, 0x21, 0x06, 0xfe, 0x4c, 0x02, 0xee, 0x43, 0x3d, 0xd9, 0xfe, 0xab, 0xc0, 0x79, // .^F!..L..C=....y + 0xce, 0x01, 0x1c, 0x01, 0x3a, 0x01, 0x1c, 0xce, 0x79, 0xc9, 0xc9, 0x77, 0x82, 0xdf, 0xfe, 0xf8, // ....:...y..w.... + 0xdf, 0x82, 0x30, 0x48, 0x5c, 0x52, 0x25, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // ..0H.R%......... + 0x06, 0x00, 0x00, 0x10, 0x00, 0x19, 0x00, 0x22, 0x00, 0x4e, 0x00, 0x5e, 0x00, 0x00, 0x01, 0x16, // .......".N.^.... + 0x07, 0x06, 0x20, 0x27, 0x26, 0x37, 0x36, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x32, 0x24, // .. '&762..32762$ + 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x05, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, // .."&5462..."&462 + 0x16, 0x37, 0x34, 0x26, 0x22, 0x07, 0x26, 0x27, 0x13, 0x17, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, // .74&".&'....264& + 0x23, 0x22, 0x07, 0x27, 0x26, 0x07, 0x03, 0x06, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, // #".'&....&#".... + 0x17, 0x06, 0x15, 0x14, 0x04, 0x33, 0x32, 0x24, 0x35, 0x34, 0x27, 0x3e, 0x01, 0x24, 0x10, 0x02, // .....32$54'>.$.. + 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x04, 0x47, 0x10, // .. $&...6$ ...G. + 0x10, 0x3e, 0xfe, 0xee, 0x3e, 0x10, 0x10, 0x06, 0x12, 0x06, 0x30, 0x79, 0x78, 0x31, 0x06, 0x12, // .>..>.....0yx1.. + 0xfe, 0xd3, 0x34, 0x4a, 0x35, 0x35, 0x4a, 0x01, 0xbf, 0x35, 0x4a, 0x34, 0x34, 0x4a, 0x35, 0xfb, // ..4J55J..5J44J5. + 0x46, 0x64, 0x24, 0x82, 0xb5, 0x3f, 0xc8, 0x34, 0x4a, 0x35, 0x35, 0x25, 0x36, 0x1a, 0xdd, 0x13, // Fd$..?.4J55%6... + 0x06, 0x45, 0xb4, 0x81, 0x23, 0x34, 0x32, 0x46, 0x25, 0x1f, 0x06, 0x01, 0x18, 0xc5, 0xc6, 0x01, // .E..#42F%....... + 0x18, 0x07, 0x1e, 0x24, 0x01, 0x66, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, // ...$.f.......... + 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x01, 0x71, 0x10, 0x0f, 0x3e, 0x3e, 0x0f, // ...L.l.L..q..>>. + 0x10, 0x06, 0x06, 0x31, 0x31, 0x06, 0xd4, 0x4a, 0x34, 0x34, 0x25, 0x26, 0x34, 0x5a, 0x25, 0x34, // ...11..J44%&4Z%4 + 0x34, 0x4a, 0x35, 0x34, 0x52, 0x31, 0x46, 0x24, 0x5a, 0x06, 0x01, 0x1b, 0x2d, 0x25, 0x34, 0x35, // 4J54R1F$Z...-%45 + 0x4a, 0x35, 0x32, 0x31, 0x05, 0x15, 0xfe, 0xc8, 0x07, 0x5a, 0x25, 0x46, 0x31, 0x23, 0x3a, 0x0f, // J521.....Z%F1#:. + 0x1b, 0x1d, 0x8e, 0xca, 0xca, 0x8e, 0x20, 0x19, 0x0f, 0x39, 0xbb, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, // ...... ..9...... + 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x00, 0x00, // ....L.l.L....... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x23, // ...............# + 0x00, 0x51, 0x00, 0x61, 0x00, 0x00, 0x01, 0x16, 0x07, 0x06, 0x22, 0x27, 0x26, 0x37, 0x36, 0x32, // .Q.a......"'&762 + 0x17, 0x16, 0x32, 0x37, 0x36, 0x32, 0x25, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, // ..2762%.."&5462. + 0x05, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x37, 0x34, 0x26, 0x23, 0x22, 0x07, // ..."&5462.74&#". + 0x26, 0x27, 0x37, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x26, // &'7...3264&#".'& + 0x07, 0x03, 0x06, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x06, 0x15, 0x14, 0x16, // ....&#"......... + 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x3e, 0x01, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // 32654'>.....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0xab, 0x0d, 0x0d, 0x35, 0xec, 0x35, 0x0d, // 5.463!2.....5.5. + 0x0d, 0x05, 0x10, 0x05, 0x2a, 0xce, 0x2a, 0x05, 0x10, 0xfe, 0xfe, 0x2e, 0x3e, 0x2e, 0x2d, 0x40, // ....*.*.....>.-@ + 0x2d, 0x01, 0x52, 0x2e, 0x3e, 0x2e, 0x2d, 0x40, 0x2d, 0xd7, 0x3c, 0x2b, 0x2a, 0x1f, 0x71, 0x9a, // -.R.>.-@-.<+*.q. + 0x36, 0xab, 0x01, 0x2d, 0x1f, 0x20, 0x2d, 0x2d, 0x20, 0x30, 0x15, 0xbd, 0x11, 0x04, 0x3c, 0x9a, // 6..-. -- 0....<. + 0x6f, 0x1e, 0x2c, 0x2b, 0x3c, 0x20, 0x1a, 0x05, 0xf0, 0xa9, 0xaa, 0xf0, 0x06, 0x19, 0x1f, 0x01, // o.,+< .......... + 0x33, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0x97, 0x0d, // 3.w.@w..w..w.... + 0x0d, 0x35, 0x35, 0x0d, 0x0d, 0x06, 0x06, 0x2a, 0x2a, 0x06, 0x96, 0x1f, 0x2e, 0x2e, 0x1f, 0x20, // .55....**...... + 0x2d, 0x2d, 0x20, 0x1f, 0x2e, 0x2e, 0x1f, 0x20, 0x2d, 0x2d, 0x47, 0x2a, 0x3c, 0x1f, 0x4e, 0x04, // -- .... --G*<.N. + 0xf3, 0x27, 0x20, 0x2c, 0x2d, 0x40, 0x2d, 0x2b, 0x2a, 0x05, 0x12, 0xfe, 0xf4, 0x06, 0x4d, 0x20, // .' ,-@-+*.....M + 0x3c, 0x2a, 0x1e, 0x32, 0x0d, 0x19, 0x17, 0x7a, 0xad, 0xad, 0x7a, 0x19, 0x18, 0x0d, 0x31, 0x01, // <*.2...z..z...1. + 0xe4, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x03, 0x00, 0x00, // ..@w..w..w...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1e, 0x00, 0x30, 0x00, 0x3c, 0x00, 0x00, 0x01, 0x37, // .........0.<...7 + 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x15, 0x14, // 54&"....."&=.#.. + 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x05, 0x35, 0x23, // .3265.4632....5# + 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x07, 0x27, 0x15, 0x14, 0x16, 0x32, 0x36, 0x00, // ...#"&=..'...26. + 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x62, 0x5a, 0x74, 0xa0, // ... $...$ ..bZt. + 0x74, 0x1c, 0x26, 0x1b, 0x97, 0x73, 0x52, 0x51, 0x73, 0x1b, 0x14, 0x13, 0x1b, 0x01, 0x89, 0x96, // t.&..sRQs....... + 0x1b, 0x14, 0x13, 0x1b, 0x5a, 0x3c, 0x74, 0xa2, 0x73, 0x01, 0x51, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, // ....ZOp + 0x6f, 0x4f, 0xfe, 0xe5, 0x14, 0x1b, 0x1b, 0x14, 0x78, 0x7a, 0x52, 0x72, 0x71, 0x50, 0x01, 0x18, // oO......xzRrqP.. + 0x13, 0x1c, 0x1c, 0x13, 0x36, 0xdf, 0x7a, 0x7e, 0x14, 0x1b, 0x1c, 0x13, 0x7b, 0x1a, 0x1c, 0x7b, // ....6.z~....{..{ + 0x50, 0x72, 0x72, 0x01, 0xad, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, // Prr...^.....a... + 0x61, 0xce, 0xce, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0xa3, 0x07, 0x80, 0x05, 0x5d, 0x00, 0x1e, // a............].. + 0x00, 0x30, 0x00, 0x00, 0x01, 0x35, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, // .0...54&".....#" + 0x26, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, // &5.!...265.4632. + 0x1d, 0x01, 0x07, 0x05, 0x21, 0x11, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x17, 0x37, 0x11, // ....!...#"&5..7. + 0x14, 0x16, 0x32, 0x36, 0x35, 0x04, 0x26, 0x3c, 0x54, 0x3c, 0xfc, 0xb1, 0xb2, 0xfb, 0x01, 0x48, // ..265.&.'&. + 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x27, 0x26, 0x27, 0x04, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, // ..#"..'&'.#"&546 + 0x37, 0x25, 0x26, 0x34, 0x3e, 0x03, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x36, 0x33, 0x32, // 7%&4>.7>.32..632 + 0x16, 0x15, 0x14, 0x06, 0x0f, 0x02, 0x06, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x02, 0x35, // ........32654..5 + 0x34, 0x37, 0x27, 0x36, 0x35, 0x34, 0x27, 0x36, 0x33, 0x32, 0x1e, 0x05, 0x17, 0x37, 0x0e, 0x03, // 47'654'632...7.. + 0x17, 0x37, 0x2e, 0x07, 0x27, 0x2e, 0x02, 0x2a, 0x01, 0x23, 0x22, 0x07, 0x3e, 0x05, 0x37, 0x1e, // .7..'..*.#".>.7. + 0x02, 0x3f, 0x01, 0x15, 0x17, 0x36, 0x37, 0x3e, 0x08, 0x3f, 0x01, 0x06, 0x07, 0x0e, 0x01, 0x07, // .?...67>.?...... + 0x0e, 0x02, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x03, 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x03, 0x17, 0x06, // ........>.32.... + 0x23, 0x22, 0x27, 0x01, 0x37, 0x17, 0x07, 0x01, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x07, 0x27, 0x3e, // #"'.7.........'> + 0x02, 0x33, 0x01, 0x07, 0x27, 0x3e, 0x01, 0x33, 0x32, 0x13, 0x33, 0x17, 0x07, 0x01, 0x35, 0x15, // .3..'>.32.3...5. + 0x0f, 0x01, 0x3f, 0x02, 0x04, 0xc6, 0x4b, 0x89, 0x63, 0x67, 0x41, 0x2b, 0x21, 0x5b, 0x3c, 0x45, // ..?...K.cgA+![, + 0x37, 0x2a, 0x14, 0x15, 0x0a, 0x18, 0x0c, 0x32, 0x03, 0x28, 0x2d, 0x23, 0x01, 0x3d, 0x05, 0x11, // 7*.....2.(-#.=.. + 0x07, 0x0e, 0x06, 0x0a, 0x07, 0x09, 0x04, 0x07, 0x0f, 0x1a, 0x12, 0x2f, 0x0e, 0x7e, 0x5b, 0x10, // .........../.~[. + 0x28, 0x44, 0x3f, 0x1d, 0x47, 0x08, 0x0c, 0x20, 0x20, 0x16, 0x0c, 0x16, 0xf7, 0x7c, 0x1c, 0x2c, // (D?.G.. ....|., + 0x29, 0x19, 0x22, 0x0e, 0x23, 0x0b, 0x2b, 0x08, 0x07, 0x02, 0x29, 0x4f, 0xfc, 0xb4, 0x0e, 0x38, // ).".#.+...)O...8 + 0x2c, 0x11, 0x03, 0x2b, 0xf7, 0x27, 0xb9, 0x36, 0x09, 0x1b, 0x1d, 0x17, 0x19, 0x02, 0x79, 0x7b, // ,..+.'.6......y{ + 0x3d, 0x40, 0xfe, 0xf9, 0x30, 0x6d, 0x49, 0x01, 0xa1, 0x03, 0x23, 0x39, 0x33, 0x38, 0x04, 0x07, // =@..0mI...#938.. + 0x15, 0x4f, 0x41, 0x1c, 0xfe, 0x45, 0x60, 0x06, 0x0a, 0x2d, 0x0c, 0x13, 0xd3, 0x1f, 0x0a, 0x29, // .OA..E`..-.....) + 0x03, 0x79, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x5f, 0x03, 0x2f, 0x46, 0x77, 0x61, 0x48, 0x38, // .y......_./FwaH8 + 0x6a, 0x37, 0x3d, 0x1e, 0x37, 0x3f, 0x10, 0x25, 0x9c, 0xad, 0xbc, 0x95, 0x61, 0x02, 0x04, 0x05, // j7=.7?.%....a... + 0x09, 0x05, 0x25, 0x07, 0x1d, 0x0c, 0x1e, 0x19, 0x25, 0x16, 0x21, 0x1a, 0x3f, 0x29, 0x4c, 0x0f, // ..%.....%.!.?)L. + 0x01, 0x15, 0x0a, 0x10, 0x1f, 0x4a, 0x16, 0x0d, 0x39, 0x3d, 0x15, 0x02, 0x1a, 0x35, 0x5d, 0x7e, // .....J..9=...5]~ + 0x99, 0x14, 0x04, 0x1a, 0x70, 0x16, 0x10, 0x0f, 0x17, 0x03, 0x6a, 0x0e, 0x16, 0x0d, 0x0a, 0x04, // ....p.....j..... + 0x05, 0x02, 0x01, 0x0d, 0x20, 0x11, 0x25, 0x16, 0x11, 0x0f, 0x16, 0x03, 0x28, 0x10, 0x1a, 0xb7, // .... .%.....(... + 0xa0, 0x31, 0x24, 0x22, 0x03, 0x14, 0x18, 0x10, 0x12, 0x13, 0x2c, 0x49, 0x1a, 0x20, 0x10, 0x03, // .1$"......,I. .. + 0x0e, 0x0d, 0x24, 0x1f, 0x40, 0x1c, 0x19, 0x28, 0x28, 0x02, 0x0b, 0x0f, 0xd6, 0x05, 0x15, 0x08, // ..$.@..((....... + 0x0f, 0x06, 0x0a, 0x05, 0x05, 0x02, 0x03, 0x04, 0x01, 0x2b, 0x1e, 0x21, 0x1a, 0x2e, 0x1b, 0x53, // .........+.!...S + 0x09, 0x09, 0x2d, 0x1c, 0x01, 0x01, 0x4c, 0x01, 0x5f, 0x5f, 0x15, 0x24, 0x27, 0x17, 0x2d, 0x11, // ..-...L.__.$'.-. + 0x39, 0x13, 0x4c, 0x0f, 0x09, 0x35, 0x56, 0xa5, 0xc6, 0x2b, 0x03, 0x09, 0x0a, 0x09, 0x13, 0x36, // 9.L..5V..+.....6 + 0x07, 0x0b, 0xfc, 0x54, 0x1a, 0x2b, 0x1f, 0x36, 0x2e, 0x38, 0x05, 0x2d, 0x0b, 0x03, 0x24, 0x0c, // ...T.+.6.8.-..$. + 0xb1, 0x30, 0xfe, 0xd0, 0x0f, 0x01, 0x07, 0x0f, 0x0b, 0x08, 0x07, 0x01, 0x2b, 0x02, 0x0d, 0x07, // .0..........+... + 0x02, 0x74, 0x14, 0x11, 0x01, 0x0c, 0xfd, 0x7c, 0x53, 0x0c, 0x06, 0x31, 0x01, 0x01, 0x05, 0x02, // .t.....|S..1.... + 0x03, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x12, 0x06, 0x00, 0x05, 0xee, 0x00, 0x17, // ................ + 0x00, 0x36, 0x00, 0x5d, 0x00, 0x83, 0x00, 0x00, 0x05, 0x26, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x27, // .6.].....&...#"' + 0x26, 0x23, 0x22, 0x07, 0x0e, 0x01, 0x17, 0x1e, 0x01, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x27, // &#"......67>.76' + 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x06, 0x17, 0x16, 0x36, 0x37, 0x3e, 0x07, 0x33, // &'&#"......67>.3 + 0x32, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x37, 0x36, 0x01, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x01, // 2.....76.4..#".. + 0x23, 0x06, 0x2e, 0x03, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x02, // #...........32>. + 0x17, 0x1e, 0x03, 0x17, 0x16, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x14, 0x02, 0x06, 0x04, 0x20, 0x24, // .....67>.7.... $ + 0x26, 0x02, 0x35, 0x34, 0x3e, 0x05, 0x37, 0x3e, 0x03, 0x37, 0x3e, 0x01, 0x37, 0x16, 0x17, 0x1e, // &.54>.7>.7>.7... + 0x01, 0x17, 0x1e, 0x06, 0x04, 0x8f, 0x05, 0x13, 0x1e, 0x72, 0x4a, 0x81, 0x40, 0x05, 0x08, 0x0b, // .........rJ.@... + 0x0f, 0x07, 0x01, 0x08, 0x22, 0x6b, 0x62, 0x32, 0x29, 0x57, 0x2b, 0x07, 0x0c, 0x2c, 0x13, 0x14, // ...."kb2)W+..,.. + 0x17, 0x35, 0x2f, 0x18, 0x1d, 0x31, 0x1a, 0x0e, 0x09, 0x11, 0x17, 0x03, 0x0f, 0x06, 0x0e, 0x09, // .5/..1.......... + 0x10, 0x0e, 0x13, 0x0b, 0x1b, 0x23, 0x0b, 0x08, 0x0a, 0x05, 0x0a, 0x17, 0x01, 0x5a, 0x0a, 0x17, // .....#.......Z.. + 0x2d, 0x1e, 0x21, 0x80, 0x82, 0x24, 0x1b, 0x49, 0x4f, 0x58, 0x70, 0x37, 0x73, 0xa4, 0x02, 0x02, // -.!..$.IOXp7s... + 0x4c, 0x1d, 0x43, 0x46, 0x39, 0x96, 0x76, 0x7a, 0x20, 0x1a, 0x4e, 0x41, 0x47, 0x14, 0x23, 0x2f, // L.CF9.vz .NAG.#/ + 0x20, 0x1c, 0x1d, 0x35, 0x7c, 0xd0, 0xfe, 0xeb, 0xfe, 0xd0, 0xfe, 0xe6, 0xd5, 0x80, 0x27, 0x3b, // ..5|.........'; + 0x52, 0x4b, 0x52, 0x2f, 0x13, 0x0e, 0x4a, 0x23, 0x3d, 0x1e, 0x24, 0x2c, 0x08, 0x81, 0x39, 0x2c, // RKR/..J#=.$,..9, + 0xac, 0x2b, 0x15, 0x24, 0x55, 0x43, 0x53, 0x37, 0x27, 0x32, 0x13, 0x0e, 0x16, 0x22, 0x31, 0x04, // .+.$UCS7'2..."1. + 0x0c, 0x06, 0x14, 0x0a, 0x20, 0x1c, 0x03, 0x03, 0x04, 0x21, 0x1b, 0x07, 0x0c, 0x84, 0x2f, 0x0e, // .... ....!..../. + 0x0f, 0x0a, 0x0c, 0x2c, 0x18, 0x14, 0x08, 0x07, 0x14, 0x02, 0x0d, 0x04, 0x0a, 0x04, 0x06, 0x03, // ...,............ + 0x02, 0x0f, 0x0e, 0x0f, 0x11, 0x06, 0x04, 0x0c, 0x01, 0x2f, 0x16, 0x2d, 0x2d, 0x1c, 0x53, 0x54, // ........./.--.ST + 0x01, 0x28, 0x3a, 0x3a, 0x28, 0x01, 0x01, 0x9b, 0x65, 0x70, 0x34, 0x14, 0x11, 0x41, 0x4d, 0x40, // .(::(...ep4..AM@ + 0x01, 0x01, 0x3d, 0x49, 0x3e, 0x01, 0x03, 0x22, 0x2e, 0x29, 0x78, 0xce, 0xa4, 0xfe, 0xe7, 0xbf, // ..=I>..".)x..... + 0x6c, 0x73, 0xc7, 0x01, 0x1c, 0xa0, 0x59, 0xa7, 0x7c, 0x71, 0x4b, 0x40, 0x1d, 0x0a, 0x08, 0x25, // ls....Y.|qK@...% + 0x14, 0x28, 0x18, 0x1c, 0x59, 0x51, 0x9b, 0x26, 0x1d, 0x4e, 0x1b, 0x0d, 0x18, 0x45, 0x48, 0x76, // .(..YQ.&.N...EHv + 0x7e, 0xab, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x1e, // ~............... + 0x00, 0x3c, 0x00, 0x5a, 0x00, 0x78, 0x00, 0x00, 0x01, 0x0f, 0x02, 0x0e, 0x01, 0x27, 0x0e, 0x01, // .<.Z.x.......'.. + 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x36, 0x3f, 0x01, 0x17, 0x07, 0x06, 0x14, 0x17, // #"&5467&6?...... + 0x16, 0x32, 0x3f, 0x03, 0x03, 0x17, 0x07, 0x27, 0x26, 0x22, 0x06, 0x14, 0x1f, 0x03, 0x07, 0x2f, // .2?....'&"...../ + 0x02, 0x2e, 0x01, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x16, 0x01, // ...7..54632..6.. + 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x26, 0x2f, 0x01, 0x37, 0x17, 0x16, 0x32, 0x36, 0x34, // ..#"&'.&/.7..264 + 0x2f, 0x03, 0x37, 0x1f, 0x02, 0x1e, 0x01, 0x07, 0x1e, 0x01, 0x03, 0x14, 0x06, 0x07, 0x16, 0x06, // /.7............. + 0x0f, 0x01, 0x27, 0x37, 0x36, 0x34, 0x26, 0x22, 0x0f, 0x03, 0x27, 0x3f, 0x02, 0x3e, 0x01, 0x17, // ..'764&"..'?.>.. + 0x3e, 0x01, 0x33, 0x32, 0x16, 0x04, 0x2e, 0xa0, 0x97, 0x1e, 0x41, 0xad, 0x55, 0x10, 0x70, 0x49, // >.32......A.U.pI + 0x55, 0x78, 0x59, 0x45, 0x16, 0x2e, 0x41, 0x0c, 0x97, 0x0b, 0x25, 0x25, 0x25, 0x68, 0x25, 0x1e, // UxYE..A...%%%h%. + 0x97, 0xa1, 0xbe, 0x0c, 0x98, 0x0c, 0x25, 0x68, 0x4a, 0x25, 0x1d, 0x98, 0xa0, 0x97, 0xa1, 0x97, // ......%hJ%...... + 0x1e, 0x44, 0x2c, 0x1b, 0x46, 0x5a, 0x78, 0x55, 0x4c, 0x73, 0x0c, 0x54, 0xab, 0x03, 0x67, 0x78, // .D,.FZxULs.T..gx + 0x55, 0x4a, 0x72, 0x0e, 0x56, 0xbb, 0x44, 0x0b, 0x97, 0x0c, 0x25, 0x68, 0x4a, 0x25, 0x1e, 0x98, // UJr.V.D...%hJ%.. + 0xa0, 0x98, 0xa0, 0x98, 0x1d, 0x40, 0x2f, 0x15, 0x4c, 0x65, 0x02, 0x66, 0x4c, 0x1a, 0x2e, 0x43, // .....@/.Le.fL..C + 0x0c, 0x97, 0x0c, 0x25, 0x4a, 0x68, 0x25, 0x1e, 0x98, 0xa0, 0x98, 0xa1, 0x98, 0x1d, 0x43, 0xb8, // ...%Jh%.......C. + 0x56, 0x0b, 0x73, 0x4e, 0x55, 0x78, 0x01, 0xcf, 0xa0, 0x98, 0x1e, 0x40, 0x2e, 0x15, 0x46, 0x5a, // V.sNUx.....@..FZ + 0x79, 0x55, 0x48, 0x70, 0x10, 0x56, 0xae, 0x41, 0x0c, 0x98, 0x0b, 0x25, 0x68, 0x26, 0x25, 0x25, // yUHp.V.A...%h&%% + 0x1e, 0x98, 0xa0, 0x02, 0x12, 0x0c, 0x98, 0x0c, 0x25, 0x4a, 0x69, 0x25, 0x1d, 0x98, 0xa0, 0x98, // ........%Ji%.... + 0xa0, 0x98, 0x1e, 0x43, 0xb9, 0x57, 0x0f, 0x70, 0x49, 0x55, 0x79, 0x62, 0x4a, 0x14, 0x2f, 0xfb, // ...C.W.pIUybJ./. + 0x95, 0x55, 0x79, 0x5e, 0x47, 0x1c, 0x2c, 0x44, 0x0c, 0x98, 0x0c, 0x25, 0x4a, 0x68, 0x25, 0x1e, // .Uy^G.,D...%Jh%. + 0x98, 0xa0, 0x98, 0xa0, 0x98, 0x1e, 0x40, 0xad, 0x55, 0x0b, 0x73, 0x04, 0x17, 0x4d, 0x74, 0x0b, // ......@.U.s..Mt. + 0x55, 0xb7, 0x43, 0x0c, 0x98, 0x0c, 0x25, 0x68, 0x4a, 0x25, 0x1e, 0x98, 0xa0, 0x98, 0xa0, 0x98, // U.C...%hJ%...... + 0x1e, 0x43, 0x2d, 0x1a, 0x4b, 0x66, 0x79, 0x00, 0x00, 0x08, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, // .C-.Kfy......... + 0x06, 0x00, 0x00, 0x45, 0x00, 0x58, 0x00, 0x5b, 0x00, 0x5f, 0x00, 0x67, 0x00, 0x6a, 0x00, 0x89, // ...E.X.[._.g.j.. + 0x00, 0xa3, 0x00, 0x00, 0x01, 0x06, 0x26, 0x2f, 0x01, 0x26, 0x27, 0x2e, 0x01, 0x27, 0x06, 0x07, // ......&/.&'..'.. + 0x06, 0x07, 0x0e, 0x01, 0x27, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x26, 0x07, 0x0e, // ....'67>.7>.7&.. + 0x02, 0x07, 0x06, 0x14, 0x07, 0x06, 0x07, 0x06, 0x27, 0x26, 0x27, 0x26, 0x27, 0x3e, 0x01, 0x37, // ........'&'&'>.7 + 0x36, 0x37, 0x36, 0x33, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x17, 0x16, 0x07, 0x14, 0x0e, 0x01, 0x07, // 6763>.7>........ + 0x06, 0x07, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x03, 0x16, 0x07, 0x06, 0x07, 0x06, 0x23, 0x26, // ..............#& + 0x27, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x36, 0x37, 0x36, 0x37, 0x32, 0x05, 0x17, 0x27, 0x01, 0x25, // '&'7..67672..'.% + 0x11, 0x05, 0x01, 0x17, 0x03, 0x27, 0x03, 0x17, 0x37, 0x17, 0x01, 0x05, 0x11, 0x01, 0x17, 0x07, // .....'..7....... + 0x27, 0x06, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, // '...+."&'&54632. + 0x01, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x01, 0x11, 0x25, 0x06, 0x04, // ....3267>.7..%.. + 0x23, 0x22, 0x27, 0x34, 0x27, 0x11, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x11, 0x05, 0x32, 0x2c, // #"'4'.676767..2, + 0x01, 0x33, 0x32, 0x15, 0x11, 0x02, 0x8e, 0x01, 0x17, 0x14, 0x14, 0x2c, 0x2b, 0x07, 0x44, 0x04, // .32........,+.D. + 0x43, 0x43, 0x51, 0x18, 0x04, 0x1f, 0x03, 0x06, 0x4c, 0x15, 0x81, 0x0e, 0x11, 0x44, 0x02, 0x08, // CCQ.....L....D.. + 0x66, 0x08, 0x27, 0x1e, 0x02, 0x02, 0x01, 0x05, 0x1a, 0x17, 0x18, 0x12, 0x0a, 0x04, 0x01, 0x06, // f.'............. + 0x25, 0x0b, 0x3a, 0x2f, 0x64, 0x02, 0x0a, 0x42, 0x0b, 0x09, 0x19, 0x04, 0x04, 0x02, 0x03, 0x19, // %.:/d..B........ + 0x1c, 0x03, 0x19, 0x34, 0x40, 0x0c, 0x7d, 0x05, 0x04, 0x0d, 0xcf, 0x03, 0x07, 0x0c, 0x26, 0x1e, // ...4@.}.......&. + 0x1e, 0x1a, 0x17, 0x0e, 0x04, 0x01, 0x03, 0x21, 0x14, 0x30, 0x24, 0x13, 0x11, 0x02, 0xbe, 0x3f, // .......!.0$....? + 0x8b, 0xfb, 0xf8, 0x02, 0xb6, 0xfd, 0x4a, 0x04, 0xd9, 0x66, 0xb5, 0x64, 0xd8, 0x66, 0x2d, 0xd3, // ......J..f.d.f-. + 0xfe, 0x2e, 0x02, 0x3d, 0xfe, 0xfa, 0x9e, 0x36, 0x28, 0x82, 0x92, 0x3a, 0x21, 0x54, 0x4f, 0xf1, // ...=...6(..:!TO. + 0x3f, 0x08, 0x0a, 0x08, 0x04, 0x1c, 0x21, 0x04, 0x49, 0xad, 0x47, 0x5f, 0x90, 0x55, 0x0f, 0x1f, // ?.....!.I.G_.U.. + 0x25, 0x0a, 0x01, 0x95, 0xfc, 0xfa, 0x0e, 0xfd, 0x2e, 0x07, 0x0d, 0x05, 0x01, 0x03, 0x01, 0x05, // %............... + 0x0f, 0x6b, 0x2a, 0x02, 0x2e, 0x02, 0x01, 0x3d, 0x01, 0x3b, 0x04, 0x14, 0x01, 0xca, 0x03, 0x07, // .k*....=.;...... + 0x08, 0x09, 0x14, 0x1d, 0x05, 0x35, 0x02, 0x67, 0x4e, 0x5f, 0x0f, 0x02, 0x04, 0x02, 0x04, 0x58, // .....5.gN_.....X + 0x18, 0xb6, 0x1b, 0x1e, 0x89, 0x09, 0x01, 0x22, 0x02, 0x0b, 0x08, 0x01, 0x02, 0x11, 0x01, 0x0a, // ......."........ + 0x05, 0x07, 0x07, 0x04, 0x11, 0x06, 0x11, 0x02, 0x06, 0x03, 0x10, 0x10, 0x23, 0x02, 0x23, 0x04, // ............#.#. + 0x03, 0x0a, 0x01, 0x01, 0x0c, 0x15, 0x02, 0x32, 0x39, 0x05, 0x32, 0x51, 0x1c, 0x06, 0x34, 0x02, // .......29.2Q..4. + 0x01, 0x31, 0x01, 0xe0, 0x0f, 0x0d, 0x17, 0x0f, 0x0c, 0x03, 0x17, 0x0f, 0x1a, 0x03, 0x03, 0x04, // .1.............. + 0x04, 0x0e, 0x0c, 0x02, 0x92, 0xe3, 0x2a, 0xfd, 0x99, 0xe8, 0x04, 0x08, 0xe9, 0xfd, 0x36, 0x1f, // ......*.......6. + 0x02, 0x91, 0x1f, 0xfd, 0xe8, 0x1f, 0x6e, 0x41, 0x03, 0x3b, 0xb8, 0x01, 0x7c, 0xfa, 0x11, 0x0d, // ......nA.;..|... + 0xa0, 0x42, 0x53, 0x19, 0x0c, 0x4e, 0x2e, 0x07, 0x09, 0x08, 0x0b, 0x0f, 0x12, 0x02, 0x25, 0x31, // .BS..N........%1 + 0x1d, 0x24, 0x07, 0x11, 0x15, 0x06, 0x04, 0x80, 0xfb, 0xc9, 0xf6, 0x06, 0xf3, 0x0d, 0x01, 0x02, // .$.............. + 0x04, 0x36, 0x09, 0x01, 0x06, 0x05, 0x24, 0x0e, 0x01, 0x80, 0xc6, 0x6e, 0x6b, 0x15, 0xfe, 0x5e, // .6....$....nk..^ + 0x00, 0x0c, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x27, 0x00, 0x37, // .............'.7 + 0x00, 0x47, 0x00, 0x57, 0x00, 0x67, 0x00, 0x77, 0x00, 0x87, 0x00, 0x97, 0x00, 0xa7, 0x00, 0xb7, // .G.W.g.w........ + 0x00, 0xc0, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, // .....2.....+."&5 + 0x11, 0x34, 0x36, 0x33, 0x05, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // .463.......#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x15, 0x01, 0x35, 0x34, 0x26, // .463!2.......54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x13, 0x11, 0x23, 0x22, // +.".....;.26..#" + 0x26, 0x3d, 0x01, 0x21, 0x11, 0x01, 0x20, 0x42, 0x5e, 0x5e, 0x42, 0x80, 0x42, 0x5e, 0x5e, 0x42, // &=.!.. B^^B.B^^B + 0x05, 0xe0, 0x3a, 0x46, 0x96, 0x6a, 0xfc, 0xa0, 0x42, 0x5e, 0x38, 0x28, 0x02, 0xa0, 0x28, 0x60, // ..:F.j..B^8(..(` + 0x1c, 0x98, 0x1c, 0x28, 0xfd, 0x20, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, // ...(. .......... + 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0x80, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0x80, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0x80, 0x0e, 0x12, 0x60, 0xa0, 0x28, 0x38, 0xfd, 0x80, 0x04, 0x80, 0x5e, 0x42, 0xfb, 0xc0, // ....`.(8....^B.. + 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0xa3, 0x22, 0x76, 0x45, 0xfd, 0x00, 0x6a, 0x96, // B^^B.@B^."vE..j. + 0x5e, 0x42, 0x06, 0x00, 0x28, 0x38, 0x28, 0x1c, 0x98, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x80, 0x0e, // ^B..(8(...`(.... + 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, // ................ + 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0xfe, 0x0e, 0x80, // ................ + 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, // ................ + 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0xfe, 0x0e, // ................ + 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, // ................ + 0x80, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x01, // ................ + 0x8e, 0x01, 0x00, 0x38, 0x28, 0xa0, 0xfe, 0x00, 0x00, 0x14, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // ...8(........... + 0x06, 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o + 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xaf, 0x00, 0xbf, 0x00, 0xcf, 0x00, 0xdf, 0x00, 0xef, // ................ + 0x00, 0xff, 0x01, 0x0f, 0x01, 0x1f, 0x01, 0x2f, 0x01, 0x3f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, // ......./.?...2.. + 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x01, 0x15, 0x14, 0x16, // ...#!"&5.463.... + 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x11, 0x15, 0x14, 0x16, // ;.26=.4&+."..... + 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x11, 0x15, 0x14, 0x16, // ;.26=.4&+."..... + 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x11, 0x15, 0x14, 0x16, // ;.26=.4&+."..... + 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x03, 0x35, 0x34, 0x26, // ;.26=.4&+."..54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // #!".....3!26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, // +.".....;.26.54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x05, 0x40, 0x1a, 0x26, // +.".....;.26.@.& + 0x26, 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xc0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // &....&&.....@... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, // .@....@....@.... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // @....@....@....@ + 0x0e, 0x12, 0x80, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // .....@....@....@ + 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, // ....@....@....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ...@....@....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x02, 0x00, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, // ..@............. + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // @....@....@....@ + 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, // ....@....@....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, 0x40, // ...@....@......@ + 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, // ....@....@....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ...@....@....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x06, // ..@....@....@... + 0x00, 0x26, 0x1a, 0xf9, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x06, 0x80, 0x1a, 0x26, 0xfe, 0xe0, 0x40, // .&....&&....&..@ + 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfe, 0xf2, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // ....@.....@....@ + 0x0e, 0x12, 0x12, 0xfe, 0xf2, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfe, 0xf2, // .....@....@..... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfe, 0xb2, 0x40, 0x0e, 0x12, 0x12, 0x0e, // @....@.....@.... + 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, // @.....@....@.... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, // .@....@.....@... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // .@.....@....@... + 0xfb, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x02, 0x0e, 0x40, 0x0e, 0x12, // .............@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ..@.....@....@.. + 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, // ...@....@.....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfc, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, // ...@.....@....@. + 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, // ....@....@.....@ + 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // ....@.....@....@ + 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x00, 0x00, // .....@....@..... + 0x00, 0x02, 0x00, 0x40, 0xff, 0x10, 0x04, 0xc0, 0x05, 0x60, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x00, // ...@.....`...'.. + 0x09, 0x01, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, // ....."&5.#..."&5 + 0x11, 0x01, 0x26, 0x34, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x21, 0x37, 0x36, 0x32, 0x17, 0x16, 0x14, // ..&4762..!762... + 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0xa4, 0xfe, 0xdc, 0x42, 0x5c, 0x42, 0x40, // $.."&462....B.B@ + 0x42, 0x5c, 0x42, 0xfe, 0xdc, 0x1c, 0x1c, 0x1d, 0x4f, 0x1c, 0xe4, 0x01, 0x70, 0xe4, 0x1c, 0x50, // B.B.....O...p..P + 0x1c, 0x1c, 0xfe, 0xa0, 0x83, 0xba, 0x83, 0x83, 0xba, 0x03, 0xdc, 0xfe, 0xdc, 0xfc, 0xc8, 0x2e, // ................ + 0x42, 0x42, 0x2e, 0x01, 0x80, 0xfe, 0x80, 0x2e, 0x42, 0x42, 0x2e, 0x03, 0x38, 0x01, 0x24, 0x1c, // BB......BB..8.$. + 0x50, 0x1c, 0x1c, 0x1c, 0xe4, 0xe4, 0x1c, 0x1c, 0x1d, 0x4f, 0xe5, 0xba, 0x83, 0x83, 0xba, 0x83, // P........O...... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1d, 0x00, 0x33, // ...............3 + 0x00, 0x43, 0x00, 0x51, 0x00, 0x00, 0x01, 0x14, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, // .C.Q......#"..54 + 0x3e, 0x01, 0x33, 0x32, 0x1e, 0x01, 0x01, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x36, // >.32.....#"..546 + 0x33, 0x32, 0x1e, 0x01, 0x05, 0x32, 0x04, 0x12, 0x15, 0x14, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x23, // 32...2......#"&# + 0x22, 0x06, 0x23, 0x22, 0x35, 0x34, 0x3e, 0x02, 0x25, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x01, // ".#"54>.%"..54>. + 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x01, 0x25, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x01, 0x23, // 32......%2.....# + 0x22, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x03, 0x0c, 0x26, 0x58, 0x3d, 0x4c, 0x7c, 0x3c, 0x26, 0x58, // "&54>...&X=L|<&X + 0x3d, 0x4d, 0x7b, 0x3c, 0xfe, 0xaa, 0x54, 0x4d, 0x4c, 0x83, 0x46, 0x54, 0x4d, 0x4c, 0x83, 0x46, // =M{<..TML.FTML.F + 0x01, 0x8a, 0x76, 0x01, 0x12, 0xb8, 0x22, 0x3f, 0x42, 0x2b, 0x44, 0xef, 0x3f, 0x42, 0xfd, 0x4a, // ..v..."?B+D.?B.J + 0xb7, 0x70, 0xa7, 0xd0, 0x01, 0x48, 0x3d, 0x58, 0x26, 0x3c, 0x7b, 0x4d, 0x3d, 0x58, 0x26, 0x3c, // .p...H=X&<{M=X&< + 0x7c, 0x01, 0x64, 0x4d, 0x54, 0x46, 0x83, 0x4c, 0x4d, 0x54, 0x46, 0x83, 0x04, 0x28, 0x3c, 0x6b, // |.dMTF.LMTF..(.2.. + 0x02, 0xc0, 0x72, 0x5f, 0x2d, 0x02, 0x24, 0x1a, 0xc0, 0x1a, 0x24, 0x02, 0x2d, 0x5f, 0x72, 0x55, // ..r_-.$...$.-_rU + 0x96, 0xaa, 0x96, 0x55, 0x03, 0xf0, 0x91, 0xc5, 0x25, 0xfc, 0xcb, 0x1a, 0x26, 0x26, 0x1a, 0x03, // ...U....%...&&.. + 0x35, 0x25, 0xc5, 0x91, 0x80, 0xf3, 0x9d, 0x9d, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // 5%.............. + 0xff, 0x00, 0x06, 0x80, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1f, 0x00, 0x00, 0x05, 0x01, // ................ + 0x11, 0x05, 0x27, 0x2d, 0x01, 0x0d, 0x01, 0x11, 0x14, 0x06, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, // ..'-........."'. + 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x01, 0x36, 0x32, 0x17, 0x01, 0x1e, 0x01, 0x03, 0x80, // ..5.467.62...... + 0x02, 0x80, 0xfd, 0x80, 0x40, 0x02, 0xba, 0xfd, 0x46, 0xfd, 0x46, 0x05, 0xfa, 0x24, 0x1f, 0xfd, // ....@...F.F..$.. + 0x40, 0x1c, 0x42, 0x1c, 0xfd, 0x40, 0x1f, 0x24, 0x2e, 0x26, 0x02, 0xc0, 0x16, 0x2c, 0x16, 0x02, // @.B..@.$.&...,.. + 0xc0, 0x26, 0x2e, 0x5d, 0x01, 0x5d, 0x02, 0x7c, 0xe9, 0x71, 0xfe, 0xfe, 0xfe, 0x02, 0xfd, 0x00, // .&.].].|.q...... + 0x23, 0x3c, 0x11, 0xfe, 0x80, 0x10, 0x10, 0x01, 0x80, 0x11, 0x3c, 0x23, 0x03, 0x00, 0x28, 0x42, // #<........<#..(B + 0x0e, 0x01, 0x00, 0x08, 0x08, 0xff, 0x00, 0x0e, 0x42, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // ........B....... + 0xff, 0x00, 0x08, 0x80, 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, // ................ + 0x00, 0x17, 0x00, 0x42, 0x00, 0x00, 0x05, 0x25, 0x11, 0x05, 0x27, 0x2d, 0x01, 0x05, 0x01, 0x25, // ...B...%..'-...% + 0x11, 0x05, 0x27, 0x2d, 0x01, 0x05, 0x27, 0x25, 0x11, 0x05, 0x27, 0x2d, 0x01, 0x05, 0x01, 0x11, // ..'-..'%..'-.... + 0x14, 0x06, 0x07, 0x05, 0x06, 0x22, 0x27, 0x25, 0x26, 0x27, 0x06, 0x07, 0x05, 0x06, 0x22, 0x27, // ....."'%&'...."' + 0x25, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x37, 0x25, 0x11, 0x34, 0x36, 0x37, 0x25, 0x36, 0x32, // %..5.467%.467%62 + 0x17, 0x05, 0x1e, 0x01, 0x15, 0x11, 0x05, 0x1e, 0x01, 0x02, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x40, // ...............@ + 0x01, 0x94, 0xfe, 0x6c, 0xfe, 0x6c, 0x05, 0xd4, 0x01, 0x80, 0xfe, 0x80, 0x40, 0x01, 0x94, 0xfe, // ...l.l......@... + 0x6c, 0xfe, 0x6c, 0x2c, 0x01, 0x80, 0xfe, 0x80, 0x40, 0x01, 0xb9, 0xfe, 0x47, 0xfe, 0x47, 0x05, // l.l,....@...G.G. + 0xf9, 0x26, 0x21, 0xfe, 0x40, 0x19, 0x40, 0x19, 0xfe, 0x40, 0x04, 0x03, 0x02, 0x05, 0xfe, 0x40, // .&!.@.@..@.....@ + 0x19, 0x40, 0x19, 0xfe, 0x40, 0x21, 0x26, 0x2b, 0x23, 0x01, 0xb2, 0x2b, 0x23, 0x01, 0xc0, 0x17, // .@..@!&+#..+#... + 0x36, 0x17, 0x01, 0xc0, 0x23, 0x2b, 0x01, 0xb2, 0x24, 0x2a, 0x60, 0xc0, 0x01, 0x3a, 0xa4, 0x70, // 6...#+..$*`..:.p + 0xad, 0xad, 0xad, 0xfd, 0x8d, 0xc0, 0x01, 0x3a, 0xa4, 0x70, 0xad, 0xad, 0xad, 0x78, 0xa5, 0x01, // .......:.p...x.. + 0x0a, 0xa4, 0x70, 0xbd, 0xbd, 0xbd, 0xfd, 0x3d, 0xfe, 0x60, 0x24, 0x3e, 0x10, 0xe0, 0x0e, 0x0e, // ..p....=.`$>.... + 0xe0, 0x02, 0x02, 0x02, 0x02, 0xe0, 0x0e, 0x0e, 0xe0, 0x10, 0x3e, 0x24, 0x01, 0xa0, 0x26, 0x40, // ..........>$..&@ + 0x10, 0xba, 0x01, 0x90, 0x26, 0x40, 0x10, 0xc0, 0x0a, 0x0a, 0xc0, 0x10, 0x40, 0x26, 0xfe, 0x70, // ....&@......@&.p + 0xba, 0x10, 0x40, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0xfe, 0x08, 0x00, 0x05, 0x02, 0x00, 0x03, // ..@............. + 0x00, 0x09, 0x00, 0x1f, 0x00, 0x26, 0x00, 0x2e, 0x00, 0x41, 0x00, 0x00, 0x01, 0x21, 0x15, 0x21, // .....&...A...!.! + 0x03, 0x22, 0x06, 0x07, 0x21, 0x26, 0x03, 0x32, 0x36, 0x37, 0x33, 0x02, 0x21, 0x22, 0x02, 0x35, // ."..!&.2673.!".5 + 0x34, 0x00, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x21, 0x14, 0x16, 0x25, 0x21, 0x32, 0x35, // 4.32.....!..%!25 + 0x34, 0x23, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x23, 0x21, 0x25, 0x21, 0x32, 0x1e, 0x02, // 4#!5!2654#!%!2.. + 0x15, 0x14, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x0e, 0x03, 0x23, 0x21, 0x07, 0x38, 0xfe, 0x01, 0x01, // .........#!.8... + 0xff, 0xfc, 0x5a, 0x70, 0x06, 0x01, 0x98, 0x12, 0xa6, 0x3f, 0x76, 0x11, 0xdd, 0x64, 0xfe, 0xb9, // ..Zp.....?v..d.. + 0xd6, 0xfd, 0x01, 0x05, 0xce, 0x8a, 0xcd, 0x65, 0x02, 0xfd, 0x6e, 0x73, 0xfb, 0x36, 0x01, 0x28, // .......e..ns.6.( + 0xcd, 0xc7, 0xfe, 0xd2, 0x01, 0x19, 0x4e, 0x5b, 0xbe, 0xfe, 0xfc, 0xfe, 0xeb, 0x02, 0x52, 0x57, // ......N[......RW + 0x88, 0x75, 0x3f, 0xac, 0x72, 0x74, 0x31, 0x53, 0x72, 0x80, 0x46, 0xfd, 0x9d, 0x04, 0xad, 0x7c, // .u?.rt1Sr.F....| + 0xfe, 0xd2, 0x69, 0x5a, 0xc3, 0xfd, 0xb7, 0x40, 0x37, 0xfe, 0xcd, 0x01, 0x08, 0xd7, 0xd0, 0x01, // ..iZ...@7....... + 0x13, 0x88, 0xde, 0x89, 0x11, 0x1e, 0x6f, 0x79, 0x32, 0xa7, 0xb4, 0xbe, 0x49, 0x4d, 0x90, 0xd7, // ......oy2...IM.. + 0x1c, 0x43, 0x7e, 0x5b, 0xb5, 0x52, 0x20, 0xa6, 0x79, 0x4b, 0x7b, 0x54, 0x3a, 0x1a, 0x00, 0x00, // .C~[.R .yK{T:... + 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1e, 0x00, 0x25, // ...............% + 0x00, 0x2c, 0x00, 0x41, 0x00, 0x47, 0x00, 0x4b, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, // .,.A.G.K...2.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x13, 0x21, 0x11, 0x21, 0x32, 0x36, // .#!"&5.463.!.!26 + 0x35, 0x34, 0x27, 0x36, 0x35, 0x34, 0x2e, 0x02, 0x03, 0x23, 0x35, 0x33, 0x32, 0x15, 0x14, 0x03, // 54'654...#532... + 0x23, 0x35, 0x33, 0x32, 0x15, 0x14, 0x05, 0x22, 0x26, 0x35, 0x21, 0x36, 0x35, 0x34, 0x26, 0x23, // #532..."&5!654&# + 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x23, 0x0e, 0x01, 0x03, 0x32, 0x17, 0x23, 0x3e, // "....327#...2.#> + 0x01, 0x03, 0x21, 0x15, 0x21, 0x04, 0xe0, 0x77, 0xa9, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, // ..!.!..w..w.@w.. + 0x77, 0xd3, 0xfe, 0x8d, 0x01, 0x7e, 0x75, 0xa0, 0x8f, 0x6b, 0x27, 0x4a, 0x54, 0x4d, 0xb0, 0xa3, // w....~u..k'JTM.. + 0x77, 0x61, 0xb9, 0xbd, 0x7c, 0x02, 0x0a, 0x44, 0x48, 0x01, 0x9b, 0x01, 0x95, 0x81, 0x80, 0xa4, // wa..|..DH....... + 0x9e, 0x86, 0xcd, 0x3e, 0x8a, 0x0b, 0x49, 0x31, 0x71, 0x0b, 0xfe, 0x04, 0x46, 0x6a, 0x01, 0x3f, // ...>..I1q...Fj.? + 0xfe, 0xc1, 0x05, 0x80, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // .....w.@w..w..w. + 0xfe, 0x91, 0xfc, 0xed, 0x73, 0x71, 0x9e, 0x2a, 0x34, 0x70, 0x39, 0x4f, 0x2a, 0x11, 0xfe, 0xc2, // ....sq.*4p9O*... + 0xb8, 0x5a, 0x5e, 0xfe, 0xb1, 0xd9, 0x71, 0x68, 0x20, 0x4c, 0x45, 0x0a, 0x14, 0x84, 0xb1, 0xac, // .Z^...qh LE..... + 0x82, 0x87, 0xa4, 0xbf, 0x22, 0x28, 0x01, 0x6e, 0x7a, 0x38, 0x42, 0x01, 0x0a, 0x4d, 0x00, 0x00, // ...."(.nz8B..M.. + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x1b, 0x00, 0x27, // ...............' + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x00, 0x34, 0x26, 0x23, // .?....."&462.4&# + 0x22, 0x07, 0x17, 0x1e, 0x01, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x27, 0x1e, 0x01, 0x33, 0x32, // ".......'..'..32 + 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x14, 0x00, 0x23, // .4&#"....3267..# + 0x01, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x2f, 0x01, 0x11, 0x05, 0x36, 0x33, 0x32, 0x17, 0x01, 0x36, // ...#"&/...632..6 + 0x00, 0x33, 0x32, 0x00, 0x06, 0x2e, 0x8f, 0xca, 0x8f, 0x8f, 0xca, 0xfd, 0x8d, 0x92, 0x68, 0x1b, // .32...........h. + 0x1b, 0x68, 0x4d, 0x41, 0x1f, 0x1f, 0x98, 0x4c, 0x15, 0x52, 0x14, 0x20, 0x76, 0x47, 0x68, 0x03, // .hMA...L.R. vGh. + 0xd0, 0xb3, 0x7e, 0x7f, 0xb3, 0xb3, 0x7f, 0x7e, 0xb3, 0x96, 0xfe, 0xf5, 0xbc, 0xfe, 0x4b, 0x0c, // ..~....~......K. + 0xc2, 0x84, 0x79, 0xba, 0x19, 0xe6, 0x01, 0x85, 0x4f, 0x5e, 0x0d, 0x16, 0x01, 0x1c, 0x02, 0x01, // ..y.....O^...... + 0x0b, 0xbb, 0xbc, 0x01, 0x0b, 0x04, 0x1f, 0xca, 0x8f, 0x8f, 0xca, 0x8f, 0xfb, 0xbe, 0xd0, 0x92, // ................ + 0x06, 0x2a, 0x1f, 0x97, 0x4c, 0x4d, 0x40, 0x1f, 0x08, 0x21, 0x08, 0x3c, 0x49, 0x03, 0xdf, 0x7e, // .*..LM@..!....w..w + 0xa9, 0xf7, 0x8e, 0xc8, 0x8d, 0x8d, 0x64, 0x65, 0x8d, 0x03, 0x29, 0xa0, 0x71, 0x72, 0x4f, 0x50, // ......de..).qrOP + 0x71, 0xfe, 0xc8, 0xa6, 0x73, 0x3a, 0x30, 0x14, 0x14, 0x18, 0x33, 0x3d, 0x3c, 0x78, 0x18, 0x21, // q...s:0...3=.7...' + 0x0e, 0x03, 0x0f, 0x01, 0x03, 0x2e, 0x01, 0x3f, 0x01, 0x36, 0x37, 0x27, 0x01, 0x03, 0x0e, 0x01, // .......?.67'.... + 0x0f, 0x01, 0x06, 0x07, 0x17, 0x03, 0x13, 0x17, 0x16, 0x36, 0x37, 0x01, 0x06, 0x03, 0x25, 0x27, // .........67...%' + 0x13, 0x3e, 0x01, 0x17, 0x1e, 0x05, 0x01, 0x13, 0x16, 0x06, 0x07, 0x0e, 0x05, 0x07, 0x26, 0x03, // .>............&. + 0x25, 0x27, 0x37, 0x03, 0x25, 0x37, 0x2e, 0x03, 0x2f, 0x01, 0x05, 0x36, 0x16, 0x1f, 0x01, 0x16, // %'7.%7../..6.... + 0x03, 0x44, 0x0f, 0x02, 0xfe, 0x5c, 0x24, 0x3e, 0x10, 0x0b, 0x07, 0x0f, 0x09, 0x22, 0x02, 0x4e, // .D....$>.....".N + 0x2c, 0xb4, 0x93, 0x3f, 0x61, 0x30, 0x1f, 0x03, 0x04, 0xbe, 0x11, 0x02, 0x07, 0x08, 0x23, 0x4f, // ,..?a0........#O + 0x8c, 0x06, 0x80, 0xbc, 0x0c, 0x31, 0x13, 0x12, 0x47, 0x94, 0x08, 0xe6, 0xd3, 0x07, 0xaa, 0xe2, // .....1..G....... + 0x39, 0xfd, 0x27, 0x2f, 0xda, 0xfe, 0xc3, 0x13, 0xe1, 0x14, 0x50, 0x28, 0x18, 0x31, 0x23, 0x30, // 9.'/......P(.1#0 + 0x18, 0x30, 0x02, 0x97, 0xd4, 0x12, 0x0b, 0x16, 0x0d, 0x28, 0x24, 0x3d, 0x21, 0x46, 0x0b, 0x22, // .0.......($=!F." + 0xe7, 0x01, 0x39, 0x7c, 0x8e, 0xdc, 0xfe, 0x5d, 0x97, 0x22, 0x52, 0x45, 0x3c, 0x11, 0x11, 0x01, // ..9|...]."RE<... + 0x95, 0x1f, 0x36, 0x0c, 0x0b, 0x27, 0x01, 0x6f, 0xfe, 0x90, 0x16, 0x1d, 0x03, 0x39, 0x25, 0x1b, // ..6..'.o.....9%. + 0x38, 0x4a, 0x24, 0x5c, 0x07, 0x0c, 0x02, 0x3a, 0xfe, 0x85, 0x5c, 0x48, 0x91, 0x69, 0x54, 0x15, // 8J$....:...H.iT. + 0x15, 0x01, 0x65, 0x1a, 0x3c, 0x11, 0x12, 0x3f, 0x7d, 0x56, 0xfd, 0xea, 0xfe, 0x99, 0x1d, 0x23, // ..e.<..?}V.....# + 0x03, 0x04, 0x07, 0x05, 0xa4, 0x01, 0x6f, 0x01, 0x6a, 0xad, 0x10, 0x16, 0x16, 0x03, 0xb2, 0x3f, // ......o.j......? + 0xfe, 0x8c, 0xbb, 0x0c, 0x01, 0x64, 0x1f, 0x1c, 0x04, 0x02, 0x14, 0x16, 0x2c, 0x19, 0x36, 0xfe, // .....d......,.6. + 0xc5, 0xfe, 0x95, 0x25, 0x4e, 0x23, 0x14, 0x22, 0x16, 0x16, 0x0a, 0x12, 0x03, 0x48, 0x01, 0x6c, // ...%N#.".....H.l + 0xc3, 0xed, 0x53, 0xfe, 0x8b, 0x14, 0x56, 0x59, 0x9a, 0x5d, 0x43, 0x0d, 0x0d, 0x01, 0x03, 0x1b, // ..S...VY.]C..... + 0x0f, 0x0f, 0x3d, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x40, 0x08, 0x00, 0x05, 0x80, 0x00, 0x07, // ..=......@...... + 0x00, 0x11, 0x00, 0x19, 0x00, 0x43, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // .....C...4&"...2 + 0x13, 0x21, 0x03, 0x2e, 0x01, 0x23, 0x21, 0x22, 0x06, 0x07, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .!...#!"...4&".. + 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x21, // .2....+...."&=.! + 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, 0x01, // ..."&=.#"&5.46;. + 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, 0x13, 0x33, 0x32, 0x16, 0x01, 0xe0, 0x5e, 0x84, // .>.3!2...32...^. + 0x5e, 0x5e, 0x84, 0x82, 0x03, 0xf8, 0x59, 0x02, 0x18, 0x09, 0xfd, 0x00, 0x09, 0x18, 0x02, 0x05, // ^^....Y......... + 0x03, 0x5e, 0x84, 0x5e, 0x5e, 0x84, 0xfe, 0x12, 0x0e, 0x60, 0x70, 0xa0, 0x70, 0xfc, 0x00, 0x70, // .^.^^....`p.p..p + 0xa0, 0x70, 0x60, 0x0e, 0x12, 0x83, 0x5d, 0x1c, 0x69, 0x17, 0xa2, 0x62, 0x03, 0x00, 0x62, 0xa2, // .p`...].i..b..b. + 0x17, 0x69, 0x1c, 0x5d, 0x83, 0x01, 0x7e, 0x84, 0x5e, 0x5e, 0x84, 0x5e, 0x01, 0xe0, 0x01, 0x65, // .i.]..~.^^.^...e + 0x08, 0x13, 0x13, 0x08, 0xfd, 0x19, 0x84, 0x5e, 0x5e, 0x84, 0x5e, 0x01, 0x00, 0xfe, 0x80, 0x0e, // .......^^.^..... + 0x12, 0x80, 0x50, 0x70, 0x70, 0x50, 0x80, 0x80, 0x50, 0x70, 0x70, 0x50, 0x80, 0x12, 0x0e, 0x01, // ..PppP..PppP.... + 0x80, 0x5d, 0x83, 0x01, 0xa3, 0x5e, 0x7f, 0x7f, 0x5e, 0xfe, 0x5d, 0x83, 0x00, 0x04, 0x00, 0x00, // .]...^..^.]..... + 0xff, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x33, 0x00, 0x3b, 0x00, 0x45, 0x00, 0x4d, 0x00, 0x00, // .......3.;.E.M.. + 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, // .2.....+...."&=. + 0x21, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, // !..."&=.#"&5.46; + 0x01, 0x13, 0x3e, 0x01, 0x3b, 0x01, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x33, // ..>.;.5463!2...3 + 0x32, 0x16, 0x17, 0x13, 0x00, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x01, 0x21, 0x03, 0x2e, // 2....264&"...!.. + 0x01, 0x23, 0x21, 0x22, 0x06, 0x07, 0x00, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x07, 0x20, // .#!"...264&"... + 0x5d, 0x83, 0x12, 0x0e, 0x60, 0x70, 0xa0, 0x70, 0xfc, 0x00, 0x70, 0xa0, 0x70, 0x60, 0x0e, 0x12, // ]...`p.p..p.p`.. + 0x83, 0x5d, 0x1c, 0x69, 0x17, 0xa2, 0x62, 0x80, 0x12, 0x0e, 0x01, 0xc0, 0x0e, 0x12, 0x80, 0x62, // .].i..b........b + 0xa2, 0x17, 0x69, 0xf9, 0xfa, 0x84, 0x5e, 0x5e, 0x84, 0x5e, 0x01, 0x64, 0x03, 0xf8, 0x59, 0x02, // ..i...^^.^.d..Y. + 0x18, 0x09, 0xfd, 0x00, 0x09, 0x18, 0x02, 0x04, 0x21, 0x84, 0x5e, 0x5e, 0x84, 0x5e, 0x02, 0x80, // ........!.^^.^.. + 0x83, 0x5d, 0xfe, 0x80, 0x0e, 0x12, 0x40, 0x50, 0x70, 0x70, 0x50, 0x40, 0x40, 0x50, 0x70, 0x70, // .]....@PppP@@Ppp + 0x50, 0x40, 0x12, 0x0e, 0x01, 0x80, 0x5d, 0x83, 0x01, 0xa3, 0x5e, 0x7f, 0xe0, 0x0e, 0x12, 0x12, // P@....]...^..... + 0x0e, 0xe0, 0x7f, 0x5e, 0xfe, 0x5d, 0xfe, 0x20, 0x5e, 0x84, 0x5e, 0x5e, 0x84, 0x01, 0x82, 0x01, // ...^.]. ^.^^.... + 0x65, 0x08, 0x13, 0x13, 0x08, 0xfc, 0xbb, 0x5e, 0x84, 0x5e, 0x5e, 0x84, 0x00, 0x01, 0x00, 0x20, // e......^.^^.... + 0xff, 0x00, 0x05, 0xe0, 0x06, 0x00, 0x00, 0x33, 0x00, 0x00, 0x24, 0x14, 0x06, 0x23, 0x21, 0x1e, // .......3..$..#!. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x21, 0x22, 0x26, 0x34, // ....#!"&5467!"&4 + 0x37, 0x01, 0x23, 0x22, 0x26, 0x34, 0x37, 0x01, 0x23, 0x22, 0x26, 0x34, 0x37, 0x01, 0x36, 0x32, // 7.#"&47.#"&47.62 + 0x17, 0x01, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x01, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x01, 0x05, 0xe0, // .....+.....+.... + 0x26, 0x1a, 0xfe, 0x32, 0x01, 0x0a, 0x24, 0x19, 0xfe, 0xc0, 0x19, 0x24, 0x0a, 0x01, 0xfe, 0x32, // &..2..$....$...2 + 0x1a, 0x26, 0x13, 0x01, 0x92, 0xe5, 0x1a, 0x26, 0x13, 0x01, 0x92, 0xc5, 0x1a, 0x26, 0x13, 0x01, // .&.....&.....&.. + 0x80, 0x13, 0x34, 0x13, 0x01, 0x80, 0x13, 0x26, 0x1a, 0xc5, 0x01, 0x92, 0x13, 0x26, 0x1a, 0xe5, // ..4....&.....&.. + 0x01, 0x92, 0x5a, 0x34, 0x26, 0x11, 0x8d, 0x26, 0x19, 0x23, 0x23, 0x19, 0x26, 0x8d, 0x11, 0x26, // ..Z4&..&.##.&..& + 0x34, 0x13, 0x01, 0x93, 0x26, 0x34, 0x13, 0x01, 0x93, 0x26, 0x34, 0x13, 0x01, 0x80, 0x13, 0x13, // 4...&4...&4..... + 0xfe, 0x80, 0x13, 0x34, 0x26, 0xfe, 0x6d, 0x13, 0x34, 0x26, 0xfe, 0x6d, 0x00, 0x04, 0x00, 0x00, // ...4&.m.4&.m.... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x15, 0x00, 0x2b, 0x00, 0x44, 0x00, 0x50, 0x00, 0x00, // .........+.D.P.. + 0x01, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, // .4'&#".....32763 + 0x32, 0x17, 0x16, 0x33, 0x32, 0x36, 0x37, 0x34, 0x27, 0x26, 0x21, 0x22, 0x07, 0x06, 0x15, 0x14, // 2..32674'&!".... + 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x20, 0x17, 0x16, 0x33, 0x32, 0x36, 0x13, 0x34, 0x27, 0x26, // .32763 ..326.4'& + 0x24, 0x23, 0x22, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x04, // $#"......327632. + 0x17, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, // ..32>.... $...$ + 0x04, 0x04, 0x67, 0x1e, 0xc1, 0xfe, 0x85, 0x9a, 0x2a, 0x1b, 0x16, 0x05, 0x20, 0x84, 0x6f, 0xe2, // ..g.....*... .o. + 0xab, 0x13, 0x0e, 0x13, 0x1c, 0x60, 0x23, 0xed, 0xfe, 0xc9, 0x99, 0x96, 0x30, 0x23, 0x19, 0x07, // .....`#.....0#.. + 0x1e, 0x7a, 0x81, 0x01, 0x17, 0xd1, 0x18, 0x0e, 0x19, 0x23, 0x6c, 0x28, 0x7e, 0xfe, 0xb2, 0xb0, // .z.......#l(~... + 0xcc, 0xa0, 0x17, 0x1f, 0x29, 0x1f, 0x0b, 0x1d, 0x85, 0xae, 0x9f, 0x01, 0x2d, 0x67, 0x15, 0x13, // ....).......-g.. + 0x1d, 0x2b, 0xcd, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // .+.....^.....a.. + 0x01, 0x61, 0x01, 0x46, 0x20, 0x13, 0x73, 0x22, 0x09, 0x2b, 0x14, 0x1d, 0x08, 0x1b, 0x67, 0x0b, // .a.F .s".+....g. + 0x1b, 0xec, 0x28, 0x15, 0x8d, 0x2a, 0x0d, 0x33, 0x19, 0x23, 0x08, 0x21, 0x7c, 0x0d, 0x23, 0x01, // ..(..*.3.#.!|.#. + 0x11, 0x2f, 0x17, 0x49, 0x4b, 0x2f, 0x07, 0x25, 0x1e, 0x1f, 0x2a, 0x08, 0x25, 0x44, 0x3d, 0x0c, // ./.IK/.%..*.%D=. + 0x29, 0x5b, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, // )[.^.....a...a.. + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x04, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x00, 0x09, 0x01, // ................ + 0x17, 0x21, 0x11, 0x21, 0x07, 0x03, 0x07, 0x21, 0x11, 0x01, 0x27, 0x21, 0x11, 0x21, 0x37, 0x13, // .!.!...!..'!.!7. + 0x37, 0x21, 0x04, 0x00, 0xfe, 0xd1, 0x18, 0x01, 0x17, 0xfe, 0x05, 0x2c, 0x8e, 0x1e, 0xfe, 0xd3, // 7!.........,.... + 0x01, 0x2f, 0x18, 0xfe, 0xe9, 0x01, 0xfb, 0x2c, 0x8e, 0x1e, 0x01, 0x2d, 0x04, 0xd1, 0xfd, 0xba, // ./.....,...-.... + 0x1f, 0xfe, 0x61, 0x1e, 0xfe, 0xef, 0x1e, 0x01, 0x2f, 0x02, 0x47, 0x1e, 0x01, 0x9f, 0x1e, 0x01, // ..a...../.G..... + 0x11, 0x1e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x8c, 0x09, 0x00, 0x04, 0x74, 0x00, 0x0e, // .............t.. + 0x00, 0x25, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x48, 0x00, 0x54, 0x00, 0x62, 0x00, 0x63, // .%./.;.<.H.T.b.c + 0x00, 0x71, 0x00, 0x7f, 0x00, 0x8d, 0x00, 0x90, 0x00, 0x9e, 0x00, 0xac, 0x00, 0xc0, 0x00, 0xd4, // .q.............. + 0x00, 0x00, 0x25, 0x37, 0x03, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x03, 0x17, 0x1e, 0x01, 0x33, // ..%7...#"......3 + 0x32, 0x25, 0x37, 0x03, 0x34, 0x27, 0x26, 0x22, 0x07, 0x06, 0x15, 0x07, 0x03, 0x14, 0x17, 0x15, // 2%7.4'&"........ + 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x01, 0x17, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x37, // ...32765...."/.7 + 0x36, 0x32, 0x37, 0x17, 0x07, 0x06, 0x23, 0x22, 0x35, 0x27, 0x37, 0x34, 0x33, 0x32, 0x01, 0x03, // 627...#"5'7432.. + 0x17, 0x07, 0x14, 0x23, 0x22, 0x2f, 0x01, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x07, 0x06, 0x23, // ...#"/.7632....# + 0x22, 0x35, 0x27, 0x37, 0x34, 0x33, 0x32, 0x1f, 0x01, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x27, // "5'7432....#"&5' + 0x37, 0x34, 0x36, 0x33, 0x32, 0x09, 0x01, 0x13, 0x07, 0x14, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x13, // 74632......#"/.. + 0x36, 0x33, 0x32, 0x16, 0x37, 0x13, 0x07, 0x14, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x13, 0x36, 0x33, // 632.7....#"/..63 + 0x32, 0x16, 0x37, 0x13, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, // 2.7...#"/..4632. + 0x01, 0x39, 0x01, 0x03, 0x13, 0x07, 0x14, 0x06, 0x22, 0x26, 0x2f, 0x01, 0x13, 0x34, 0x36, 0x32, // .9......"&/..462 + 0x16, 0x17, 0x13, 0x07, 0x14, 0x06, 0x22, 0x26, 0x2f, 0x01, 0x13, 0x3e, 0x01, 0x32, 0x16, 0x13, // ......"&/..>.2.. + 0x07, 0x31, 0x14, 0x06, 0x22, 0x26, 0x2f, 0x02, 0x13, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, // .1.."&/..567632. + 0x16, 0x17, 0x01, 0x14, 0x06, 0x23, 0x21, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x37, 0x36, 0x33, 0x32, // .....#!..5.47632 + 0x00, 0x17, 0x36, 0x33, 0x32, 0x16, 0x03, 0x10, 0x10, 0x10, 0x01, 0x0d, 0x0a, 0x09, 0x0e, 0x0e, // ..632........... + 0x0e, 0x01, 0x0d, 0x09, 0x16, 0x01, 0x2a, 0x0b, 0x0c, 0x0d, 0x08, 0x10, 0x08, 0x0d, 0x01, 0x0a, // ......*......... + 0x0b, 0x06, 0x09, 0x0e, 0x0b, 0x09, 0x09, 0xfb, 0xec, 0x14, 0x14, 0x02, 0x0e, 0x02, 0x11, 0x11, // ................ + 0x02, 0x0e, 0x58, 0x1a, 0x1a, 0x02, 0x08, 0x09, 0x17, 0x17, 0x09, 0x08, 0x01, 0x1a, 0xbc, 0x19, // ..X............. + 0x19, 0x0b, 0x0a, 0x02, 0x15, 0x15, 0x02, 0x0a, 0x0b, 0x5e, 0x17, 0x17, 0x02, 0x0c, 0x0d, 0x15, // .........^...... + 0x15, 0x0d, 0x0c, 0x60, 0x15, 0x15, 0x02, 0x0e, 0x06, 0x09, 0x14, 0x14, 0x09, 0x06, 0x0e, 0x01, // ...`............ + 0x81, 0xfe, 0xdf, 0x15, 0x15, 0x0a, 0x07, 0x10, 0x02, 0x12, 0x12, 0x02, 0x10, 0x07, 0x0a, 0x5e, // ...............^ + 0x13, 0x13, 0x0b, 0x08, 0x12, 0x02, 0x10, 0x10, 0x02, 0x12, 0x08, 0x0b, 0x62, 0x12, 0x12, 0x02, // ............b... + 0x14, 0x13, 0x02, 0x10, 0x10, 0x0d, 0x08, 0x09, 0x0c, 0x01, 0x89, 0xc6, 0x0f, 0x0f, 0x0f, 0x14, // ................ + 0x0e, 0x01, 0x0e, 0x0e, 0x0f, 0x14, 0x0f, 0x63, 0x0e, 0x0e, 0x10, 0x16, 0x10, 0x01, 0x0c, 0x0c, // .......c........ + 0x01, 0x10, 0x16, 0x0f, 0xd5, 0x0e, 0x12, 0x1a, 0x12, 0x01, 0x06, 0x06, 0x0c, 0x02, 0x0a, 0x09, // ................ + 0x0b, 0x08, 0x07, 0x0e, 0x02, 0x04, 0x66, 0xa6, 0x75, 0xfc, 0xee, 0x0d, 0x12, 0x1c, 0x55, 0x60, // ......f.u.....U` + 0xc3, 0x01, 0x1e, 0x11, 0x35, 0x39, 0x75, 0xa6, 0xa4, 0xf1, 0x02, 0x0b, 0x0a, 0x0e, 0x0e, 0x0a, // ....59u......... + 0xfd, 0xf5, 0xf1, 0x0a, 0x0d, 0x34, 0xd3, 0x02, 0x4a, 0x10, 0x08, 0x05, 0x05, 0x08, 0x10, 0x06, // .....4..J....... + 0xfd, 0xbd, 0x01, 0xeb, 0x01, 0x0a, 0x07, 0x0b, 0x09, 0x07, 0x0d, 0x01, 0x6c, 0x80, 0x7e, 0x09, // ............l.~. + 0x09, 0x7e, 0x80, 0x09, 0x46, 0xcf, 0xcb, 0x09, 0x0a, 0xca, 0xcf, 0x09, 0xfe, 0x32, 0x01, 0xeb, // .~..F........2.. + 0xf5, 0xed, 0x0b, 0x0b, 0xed, 0xf5, 0x0c, 0x05, 0xfc, 0xf4, 0x0d, 0x0d, 0xf4, 0xfc, 0x0d, 0x1f, // ................ + 0xea, 0xf6, 0x10, 0x09, 0x07, 0xf6, 0xea, 0x06, 0x09, 0xfe, 0x16, 0x02, 0x6d, 0xfe, 0x84, 0xf6, // ............m... + 0x07, 0x0b, 0x12, 0xf6, 0x01, 0x7c, 0x12, 0x0b, 0x4f, 0xfe, 0x2c, 0xf4, 0x08, 0x0b, 0x13, 0xf4, // .....|..O.,..... + 0x01, 0xd4, 0x13, 0x0b, 0x20, 0xfe, 0x06, 0xf2, 0x15, 0x15, 0xf2, 0x01, 0xfa, 0x09, 0x0d, 0x0d, // .... ........... + 0xfd, 0x11, 0x02, 0xea, 0xfe, 0x02, 0xef, 0x0a, 0x0f, 0x0e, 0x0b, 0xef, 0x01, 0xfe, 0x0b, 0x0e, // ................ + 0x0e, 0x1e, 0xfe, 0x14, 0xec, 0x0b, 0x10, 0x10, 0x0b, 0xec, 0x01, 0xec, 0x0c, 0x10, 0x10, 0xfe, // ................ + 0x08, 0xe7, 0x0d, 0x12, 0x12, 0x0d, 0x72, 0x75, 0x02, 0x7c, 0x03, 0x0f, 0x09, 0x07, 0x05, 0x08, // ......ru.|...... + 0x12, 0xfd, 0x94, 0x75, 0xa5, 0x02, 0x12, 0x0d, 0x03, 0x83, 0x17, 0x0a, 0x22, 0xfe, 0xf9, 0xc0, // ...u........"... + 0x16, 0xa6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x0d, // ................ + 0x00, 0x1b, 0x00, 0x29, 0x00, 0x39, 0x00, 0x00, 0x00, 0x20, 0x24, 0x37, 0x15, 0x14, 0x06, 0x04, // ...).9... $7.... + 0x20, 0x24, 0x26, 0x3d, 0x01, 0x16, 0x00, 0x20, 0x24, 0x37, 0x15, 0x14, 0x06, 0x04, 0x20, 0x24, // $&=... $7.... $ + 0x26, 0x3d, 0x01, 0x16, 0x00, 0x20, 0x24, 0x37, 0x15, 0x14, 0x06, 0x04, 0x20, 0x24, 0x26, 0x3d, // &=... $7.... $&= + 0x01, 0x16, 0x00, 0x20, 0x04, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x04, 0x20, 0x24, 0x26, 0x3d, 0x01, // ... ....... $&=. + 0x34, 0x36, 0x02, 0x13, 0x01, 0xda, 0x01, 0x9c, 0x77, 0xce, 0xfe, 0x9e, 0xfe, 0x60, 0xfe, 0x9e, // 46......w....`.. + 0xce, 0x77, 0x01, 0x9c, 0x01, 0xda, 0x01, 0x9c, 0x77, 0xce, 0xfe, 0x9e, 0xfe, 0x60, 0xfe, 0x9e, // .w......w....`.. + 0xce, 0x77, 0x01, 0x9c, 0x01, 0xda, 0x01, 0x9c, 0x77, 0xce, 0xfe, 0x9e, 0xfe, 0x60, 0xfe, 0x9e, // .w......w....`.. + 0xce, 0x77, 0x01, 0xb9, 0x01, 0xa0, 0x01, 0x62, 0xce, 0xce, 0xfe, 0x9e, 0xfe, 0x60, 0xfe, 0x9e, // .w.....b.....`.. + 0xce, 0xce, 0x03, 0x00, 0x56, 0x54, 0xaa, 0x45, 0x76, 0x45, 0x45, 0x76, 0x45, 0xaa, 0x54, 0xfc, // ....VT.EvEEvE.T. + 0xaa, 0x56, 0x54, 0xaa, 0x45, 0x76, 0x45, 0x45, 0x76, 0x45, 0xaa, 0x54, 0x01, 0x2a, 0x56, 0x54, // .VT.EvEEvE.T.*VT + 0xaa, 0x45, 0x76, 0x45, 0x45, 0x76, 0x45, 0xaa, 0x54, 0x04, 0x2a, 0x45, 0x76, 0x45, 0x80, 0x45, // .EvEEvE.T.*EvE.E + 0x76, 0x45, 0x45, 0x76, 0x45, 0x80, 0x45, 0x76, 0x00, 0x08, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, // vEEvE.Ev........ + 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x5e, 0x00, 0x63, 0x00, 0x74, 0x00, 0x7f, // .......#.^.c.t.. + 0x00, 0x87, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // ...........#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, // .463!2....!&'.&. + 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x01, 0x16, 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, // .!"&5.!....632.. + 0x07, 0x14, 0x06, 0x07, 0x15, 0x06, 0x23, 0x22, 0x26, 0x27, 0x06, 0x07, 0x02, 0x23, 0x22, 0x2f, // ......#"&'...#"/ + 0x01, 0x26, 0x27, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x17, 0x16, 0x15, 0x36, 0x37, 0x36, 0x37, // .&'&7>.76...6767 + 0x2e, 0x01, 0x37, 0x36, 0x3b, 0x02, 0x32, 0x17, 0x16, 0x07, 0x06, 0x07, 0x16, 0x1d, 0x01, 0x06, // ..76;.2......... + 0x07, 0x16, 0x01, 0x36, 0x37, 0x0e, 0x01, 0x01, 0x06, 0x17, 0x36, 0x37, 0x34, 0x37, 0x36, 0x37, // ...67.....674767 + 0x26, 0x35, 0x26, 0x35, 0x26, 0x27, 0x14, 0x07, 0x03, 0x36, 0x37, 0x2e, 0x01, 0x27, 0x26, 0x27, // &5&5&'...67..'&' + 0x06, 0x07, 0x06, 0x05, 0x26, 0x23, 0x16, 0x33, 0x32, 0x37, 0x34, 0x05, 0xbc, 0x1c, 0x28, 0x38, // ....&#.3274...(8 + 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, // (..(88(..(`...x. + 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x02, 0xfe, 0x21, 0x33, // .....c.`(8....!3 + 0x3b, 0x3a, 0x93, 0x1e, 0x10, 0x0e, 0x02, 0x01, 0x06, 0x41, 0x30, 0x86, 0x3f, 0xdd, 0xab, 0x99, // ;:.......A0.?... + 0x59, 0x0f, 0x0d, 0x18, 0x01, 0x05, 0x0a, 0x04, 0x09, 0x5e, 0x55, 0x0e, 0x09, 0x02, 0x34, 0x37, // Y........^U...47 + 0x44, 0x24, 0x18, 0x0d, 0x0d, 0x0b, 0x1f, 0x15, 0x01, 0x17, 0x0c, 0x12, 0x09, 0x02, 0x02, 0x01, // D$.............. + 0x02, 0x0c, 0x37, 0xfe, 0x1b, 0x34, 0x55, 0x33, 0x49, 0x01, 0x81, 0x0f, 0x0d, 0x01, 0x06, 0x07, // ..7..4U3I....... + 0x01, 0x03, 0x01, 0x01, 0x01, 0x0c, 0x01, 0x7c, 0x87, 0x95, 0x02, 0x16, 0x05, 0x4c, 0x33, 0x1b, // .......|.....L3. + 0x38, 0x1e, 0x02, 0x77, 0x18, 0x74, 0x4c, 0x30, 0x0e, 0x04, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, // 8..w.tL0.....`(. + 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, // .(88(.@(8(.D.... + 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0x02, 0x51, 0x1a, // .9.....8(.....Q. + 0x1e, 0x07, 0x31, 0x16, 0x1e, 0x01, 0x02, 0x01, 0x01, 0x26, 0x28, 0x21, 0x18, 0x3b, 0xfe, 0xfa, // ..1......&(!.;.. + 0x07, 0x0c, 0x01, 0x04, 0x0a, 0x1a, 0x28, 0x67, 0x2d, 0x09, 0x0f, 0x02, 0x02, 0x55, 0x70, 0x88, // ......(g-....Up. + 0x7e, 0x52, 0x9b, 0x32, 0x28, 0x0f, 0x15, 0x2f, 0x06, 0x02, 0x03, 0x05, 0x1e, 0x7b, 0x45, 0xa4, // ~R.2(../.....{E. + 0xfe, 0x1b, 0x18, 0x86, 0x28, 0x58, 0x03, 0x7a, 0x2a, 0x5a, 0x07, 0x25, 0x03, 0x28, 0x04, 0x04, // ....(X.z*Z.%.(.. + 0x01, 0x01, 0x02, 0x01, 0x16, 0x0e, 0x01, 0x01, 0xfd, 0x69, 0x36, 0x1b, 0x01, 0x11, 0x05, 0x43, // .........i6....C + 0x6d, 0x56, 0x6f, 0x38, 0x0b, 0x18, 0x1c, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // mVo8............ + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x54, 0x00, 0x00, // ...........#.T.. + 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, // .......#!"&5.463 + 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, // !2....!&'.&..!"& + 0x35, 0x11, 0x21, 0x11, 0x13, 0x15, 0x33, 0x13, 0x33, 0x13, 0x36, 0x37, 0x36, 0x35, 0x33, 0x17, // 5.!...3.3.67653. + 0x1e, 0x01, 0x17, 0x13, 0x33, 0x13, 0x33, 0x35, 0x21, 0x15, 0x33, 0x03, 0x06, 0x0f, 0x01, 0x23, // ....3.35!.3....# + 0x34, 0x2e, 0x01, 0x35, 0x2e, 0x01, 0x27, 0x03, 0x23, 0x03, 0x0e, 0x01, 0x0f, 0x01, 0x23, 0x27, // 4..5..'.#.....#' + 0x26, 0x27, 0x03, 0x33, 0x35, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, // &'.35...(8(..(88 + 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, // (..(`...x......c + 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x69, 0x46, 0xa4, 0x9f, 0x80, 0x07, 0x03, 0x02, 0x04, 0x03, // .`(8..iF........ + 0x01, 0x05, 0x03, 0x80, 0x9f, 0xa4, 0x46, 0xfe, 0xd4, 0x5a, 0x63, 0x05, 0x02, 0x02, 0x04, 0x01, // ......F..Zc..... + 0x02, 0x01, 0x06, 0x02, 0x90, 0x72, 0x90, 0x02, 0x05, 0x01, 0x04, 0x04, 0x02, 0x02, 0x05, 0x63, // .....r.........c + 0x5a, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, // Z...`(..(88(.@(8 + 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, // (.D.....9.....8( + 0x01, 0xa0, 0xfa, 0x00, 0x03, 0x80, 0x6b, 0xfd, 0x6b, 0x01, 0xe5, 0x14, 0x1a, 0x10, 0x08, 0x18, // ......k.k....... + 0x03, 0x22, 0x09, 0xfe, 0x1b, 0x02, 0x95, 0x6b, 0x6b, 0xfe, 0x4a, 0x14, 0x1a, 0x15, 0x03, 0x07, // .".....kk.J..... + 0x09, 0x02, 0x05, 0x20, 0x09, 0x02, 0x21, 0xfd, 0xdf, 0x09, 0x1f, 0x06, 0x15, 0x15, 0x1a, 0x14, // ... ..!......... + 0x01, 0xb6, 0x6b, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, // ..k............. + 0x00, 0x1a, 0x00, 0x23, 0x00, 0x53, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, // ...#.S.........# + 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, // !"&5.463!2....!& + 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x25, 0x15, 0x21, 0x35, // '.&..!"&5.!.%.!5 + 0x23, 0x37, 0x3e, 0x02, 0x3b, 0x01, 0x16, 0x17, 0x1e, 0x02, 0x1f, 0x01, 0x23, 0x15, 0x21, 0x35, // #7>.;.......#.!5 + 0x23, 0x03, 0x13, 0x33, 0x35, 0x21, 0x15, 0x33, 0x07, 0x0e, 0x01, 0x0f, 0x01, 0x23, 0x26, 0x27, // #..35!.3.....#&' + 0x26, 0x2f, 0x01, 0x33, 0x35, 0x21, 0x15, 0x33, 0x13, 0x03, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, // &/.35!.3.....(8( + 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, // ..(88(..(`...x.. + 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x01, 0x2d, 0x01, 0x19, 0x4b, // ....c.`(8...-..K + 0x67, 0x05, 0x0a, 0x05, 0x01, 0x02, 0x01, 0x04, 0x02, 0x05, 0x07, 0x03, 0x6b, 0x4c, 0x01, 0x23, // g...........kL.# + 0x44, 0xc0, 0xc3, 0x43, 0xfe, 0xe9, 0x4a, 0x67, 0x04, 0x0c, 0x03, 0x02, 0x02, 0x01, 0x04, 0x06, // D..C..Jg........ + 0x0b, 0x6a, 0x4c, 0xfe, 0xde, 0x44, 0xbd, 0xc2, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, // .jL..D.....`(..( + 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, // 88(.@(8(.D.....9 + 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0xea, 0x6a, 0x6a, 0xa1, 0x07, // .....8(.....jj.. + 0x13, 0x08, 0x04, 0x06, 0x04, 0x07, 0x09, 0x04, 0xa1, 0x6a, 0x6a, 0x01, 0x11, 0x01, 0x1a, 0x6b, // .........jj....k + 0x6b, 0x9f, 0x07, 0x13, 0x04, 0x03, 0x04, 0x06, 0x0b, 0x0c, 0x9f, 0x6b, 0x6b, 0xfe, 0xf0, 0xfe, // k..........kk... + 0xe5, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, // ................ + 0x00, 0x1a, 0x00, 0x23, 0x00, 0x38, 0x00, 0x43, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, // ...#.8.C........ + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, // .#!"&5.463!2.... + 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x25, 0x15, // !&'.&..!"&5.!.%. + 0x21, 0x35, 0x23, 0x35, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x27, 0x26, 0x23, 0x21, // !5#5327>.54&'&#! + 0x15, 0x33, 0x11, 0x01, 0x23, 0x11, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x05, 0xbc, // .3..#.32........ + 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, // .(8(..(88(..(`.. + 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x01, // .x......c.`(8... + 0x20, 0x01, 0x47, 0x5d, 0x89, 0x4c, 0x2a, 0x43, 0x4f, 0x4a, 0x3f, 0x30, 0x52, 0xfe, 0x90, 0x5c, // .G].L*COJ?0R... + 0x01, 0x05, 0x77, 0x78, 0x34, 0x1f, 0x38, 0x3e, 0x1f, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, // ..wx4.8>....`(.. + 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, // (88(.@(8(.D..... + 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0xea, 0x6a, 0x6a, 0xa7, // 9.....8(.....jj. + 0x0f, 0x17, 0x80, 0x52, 0x51, 0x78, 0x1b, 0x13, 0x6b, 0xfd, 0xd5, 0x01, 0x18, 0x01, 0x0c, 0x12, // ...RQx..k....... + 0x21, 0x52, 0x59, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, // !RY............. + 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x2a, 0x00, 0x32, 0x00, 0x00, 0x01, 0x1e, // .......#.*.2.... + 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // .....#!"&5.463!2 + 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, // ....!&'.&..!"&5. + 0x21, 0x11, 0x01, 0x11, 0x21, 0x35, 0x37, 0x17, 0x01, 0x04, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, // !...!57..."&462. + 0x14, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, // ....(8(..(88(..( + 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, // `...x......c.`(8 + 0xfd, 0x00, 0x04, 0x80, 0xfc, 0x00, 0xc0, 0x80, 0x01, 0x80, 0xfe, 0x50, 0xa0, 0x70, 0x70, 0xa0, // ...........P.pp. + 0x70, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, // p...`(..(88(.@(8 + 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, // (.D.....9.....8( + 0x01, 0xa0, 0xfa, 0x00, 0x01, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0x80, 0x01, 0x80, 0x80, 0x70, 0xa0, // ..............p. + 0x70, 0x70, 0xa0, 0x00, 0x00, 0x09, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x03, // pp.............. + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x23, 0x00, 0x2a, 0x00, 0x37, 0x00, 0x4a, 0x00, 0x52, // .......#.*.7.J.R + 0x00, 0x00, 0x01, 0x35, 0x23, 0x15, 0x05, 0x35, 0x23, 0x1d, 0x01, 0x35, 0x23, 0x15, 0x05, 0x35, // ...5#..5#..5#..5 + 0x23, 0x15, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // #........#!"&5.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, // 63!2....!&'.&..! + 0x22, 0x26, 0x35, 0x11, 0x23, 0x15, 0x23, 0x35, 0x21, 0x11, 0x01, 0x13, 0x16, 0x15, 0x14, 0x06, // "&5.#.#5!....... + 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x13, 0x35, 0x33, 0x15, 0x33, 0x32, 0x16, 0x02, 0x32, 0x36, // "&5476.53.32..26 + 0x34, 0x26, 0x22, 0x06, 0x14, 0x02, 0x80, 0x80, 0x01, 0x00, 0x80, 0x80, 0x01, 0x00, 0x80, 0x03, // 4&"............. + 0x3c, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, // <.(8(..(88(..(`. + 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0x80, 0x80, // ..x......c.`(8.. + 0xfe, 0x00, 0x02, 0x8d, 0x6b, 0x08, 0x91, 0xde, 0x91, 0x08, 0x15, 0x63, 0x80, 0x4f, 0x16, 0x22, // ....k......c.O." + 0xbc, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x04, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // .jKKjK.......... + 0x80, 0x80, 0x80, 0x01, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, // ......`(..(88(.@ + 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, // (8(.D.....9..... + 0x38, 0x28, 0x01, 0xa0, 0x80, 0x80, 0xfa, 0x00, 0x02, 0xd1, 0xfe, 0xa3, 0x1b, 0x19, 0x53, 0x6d, // 8(............Sm + 0x6d, 0x53, 0x19, 0x1b, 0x3f, 0x01, 0x4d, 0x80, 0x80, 0x1a, 0xfe, 0x1a, 0x26, 0x34, 0x26, 0x26, // mS..?.M.....&4&& + 0x34, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, // 4............... + 0x00, 0x1a, 0x00, 0x23, 0x00, 0x39, 0x00, 0x4c, 0x00, 0x5e, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, // ...#.9.L.^...... + 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, // ...#!"&5.463!2.. + 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, // ..!&'.&..!"&5.!. + 0x01, 0x16, 0x15, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, // .......#"/.#"&=. + 0x34, 0x36, 0x3b, 0x01, 0x37, 0x36, 0x01, 0x32, 0x37, 0x36, 0x10, 0x27, 0x2e, 0x01, 0x07, 0x0e, // 46;.76.276.'.... + 0x01, 0x17, 0x16, 0x10, 0x07, 0x06, 0x16, 0x17, 0x16, 0x27, 0x32, 0x37, 0x36, 0x34, 0x27, 0x2e, // .........'2764'. + 0x01, 0x0e, 0x01, 0x17, 0x16, 0x14, 0x07, 0x06, 0x16, 0x17, 0x16, 0x05, 0xbc, 0x1c, 0x28, 0x38, // ..............(8 + 0x28, 0xfa, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, // (..(88(..(`...x. + 0x0c, 0xfe, 0xc7, 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x01, 0xec, 0x14, 0x14, // .....c.`(8...... + 0x08, 0x04, 0x0c, 0x0b, 0xa6, 0x83, 0x0e, 0x12, 0x12, 0x0e, 0x83, 0xa6, 0x10, 0x01, 0xb4, 0x1f, // ................ + 0x13, 0x81, 0x81, 0x10, 0x36, 0x14, 0x15, 0x05, 0x11, 0x64, 0x64, 0x11, 0x05, 0x15, 0x12, 0xbd, // ....6....dd..... + 0x1b, 0x14, 0x57, 0x57, 0x12, 0x36, 0x26, 0x02, 0x13, 0x34, 0x34, 0x13, 0x02, 0x13, 0x14, 0x04, // ..WW.6&..44..... + 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, 0x38, 0x28, 0x1c, // ..`(..(88(.@(8(. + 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, 0x28, 0x01, 0xa0, // D.....9.....8(.. + 0xfa, 0x00, 0x03, 0x2e, 0x08, 0x16, 0xfd, 0xe0, 0x16, 0x08, 0x02, 0x09, 0xa7, 0x12, 0x0e, 0xc0, // ................ + 0x0e, 0x12, 0xa7, 0x0f, 0xfd, 0x47, 0x18, 0x9f, 0x01, 0x98, 0x9f, 0x15, 0x06, 0x11, 0x11, 0x35, // .....G.........5 + 0x15, 0x7b, 0xfe, 0xc2, 0x7b, 0x15, 0x35, 0x10, 0x0f, 0x94, 0x14, 0x5d, 0xfc, 0x5d, 0x13, 0x02, // .{..{.5....].].. + 0x24, 0x35, 0x14, 0x39, 0x94, 0x39, 0x14, 0x35, 0x12, 0x11, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, // $5.9.9.5........ + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x1a, 0x00, 0x23, 0x00, 0x33, 0x00, 0x43, // ...........#.3.C + 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // .........#!"&5.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, // 63!2....!&'.&..! + 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // "&5.!..2.....#!" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x05, 0x16, 0x15, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, // &5.463.......#"' + 0x01, 0x35, 0x01, 0x36, 0x33, 0x32, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, 0x28, 0x38, // .5.632...(8(..(8 + 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, 0x0c, 0x01, // 8(..(`...x...... + 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x02, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0x80, 0x34, // c.`(8....4LL4..4 + 0x4c, 0x4c, 0x34, 0x03, 0x6c, 0x14, 0x14, 0x08, 0x04, 0x0e, 0x09, 0xfe, 0xf7, 0x01, 0x09, 0x09, // LL4.l........... + 0x0e, 0x04, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, 0x40, 0x28, // .....`(..(88(.@( + 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, 0x00, 0x38, // 8(.D.....9.....8 + 0x28, 0x01, 0xa0, 0xfa, 0x00, 0x03, 0x80, 0x4c, 0x34, 0xfe, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x01, // (......L4..4LL4. + 0x80, 0x34, 0x4c, 0x02, 0x08, 0x16, 0xfd, 0xc0, 0x16, 0x08, 0x02, 0x09, 0x01, 0x0a, 0x5a, 0x01, // .4L...........Z. + 0x0a, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x13, // ................ + 0x00, 0x1a, 0x00, 0x23, 0x00, 0x37, 0x00, 0x4b, 0x00, 0x5b, 0x00, 0x00, 0x01, 0x1e, 0x01, 0x15, // ...#.7.K.[...... + 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, // ...#!"&5.463!2.. + 0x07, 0x11, 0x21, 0x26, 0x27, 0x01, 0x26, 0x01, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, // ..!&'.&..!"&5.!. + 0x01, 0x3e, 0x01, 0x1f, 0x01, 0x1e, 0x01, 0x0f, 0x01, 0x17, 0x16, 0x06, 0x0f, 0x01, 0x06, 0x26, // .>.............& + 0x27, 0x03, 0x26, 0x37, 0x21, 0x16, 0x07, 0x03, 0x0e, 0x01, 0x2f, 0x01, 0x2e, 0x01, 0x3f, 0x01, // '.&7!...../...?. + 0x27, 0x26, 0x36, 0x3f, 0x01, 0x36, 0x16, 0x17, 0x01, 0x2e, 0x01, 0x37, 0x13, 0x3e, 0x01, 0x1f, // '&6?.6.....7.>.. + 0x01, 0x1e, 0x01, 0x07, 0x03, 0x0e, 0x01, 0x27, 0x05, 0xbc, 0x1c, 0x28, 0x38, 0x28, 0xfa, 0xc0, // .......'...(8(.. + 0x28, 0x38, 0x38, 0x28, 0x03, 0x80, 0x28, 0x60, 0x1c, 0x84, 0x01, 0x78, 0x0a, 0x0c, 0xfe, 0xc7, // (88(..(`...x.... + 0x0c, 0x01, 0x63, 0xfe, 0x60, 0x28, 0x38, 0xfd, 0x00, 0x01, 0x60, 0x08, 0x1a, 0x0b, 0x33, 0x0b, // ..c.`(8...`...3. + 0x03, 0x08, 0xb6, 0xb6, 0x08, 0x03, 0x0b, 0x33, 0x0b, 0x1a, 0x08, 0xe2, 0x0e, 0x0e, 0x04, 0x04, // .......3........ + 0x0e, 0x0e, 0xe2, 0x08, 0x1a, 0x0b, 0x33, 0x0b, 0x03, 0x08, 0xb6, 0xb6, 0x08, 0x03, 0x0b, 0x33, // ......3........3 + 0x0b, 0x1a, 0x08, 0xfe, 0x76, 0x0d, 0x0f, 0x02, 0x8a, 0x02, 0x16, 0x0d, 0x3f, 0x0d, 0x0f, 0x02, // ....v.......?... + 0x8a, 0x02, 0x16, 0x0d, 0x04, 0x84, 0x1c, 0x60, 0x28, 0xfb, 0x80, 0x28, 0x38, 0x38, 0x28, 0x06, // .......`(..(88(. + 0x40, 0x28, 0x38, 0x28, 0x1c, 0x44, 0xfe, 0x88, 0x1d, 0x0c, 0x01, 0x39, 0x0c, 0xfa, 0x12, 0x04, // @(8(.D.....9.... + 0x00, 0x38, 0x28, 0x01, 0xa0, 0xfa, 0x00, 0x03, 0x80, 0x0b, 0x03, 0x08, 0x26, 0x08, 0x1a, 0x0b, // .8(.........&... + 0xf3, 0xf3, 0x0b, 0x1a, 0x08, 0x26, 0x08, 0x03, 0x0b, 0x01, 0x2d, 0x13, 0x13, 0x13, 0x13, 0xfe, // .....&....-..... + 0xd3, 0x0b, 0x03, 0x08, 0x26, 0x08, 0x1a, 0x0b, 0xf3, 0xf3, 0x0b, 0x1a, 0x08, 0x26, 0x08, 0x03, // ....&........&.. + 0x0b, 0xfd, 0x06, 0x02, 0x16, 0x0d, 0x03, 0x3f, 0x0d, 0x0f, 0x02, 0x0a, 0x02, 0x16, 0x0d, 0xfc, // .......?........ + 0xc1, 0x0d, 0x0f, 0x02, 0x00, 0x01, 0x00, 0x27, 0xff, 0x97, 0x05, 0xd9, 0x06, 0x00, 0x00, 0x36, // .......'.......6 + 0x00, 0x00, 0x01, 0x15, 0x06, 0x23, 0x06, 0x02, 0x06, 0x07, 0x06, 0x27, 0x2e, 0x04, 0x0a, 0x01, // .....#.....'.... + 0x27, 0x21, 0x16, 0x1a, 0x01, 0x16, 0x17, 0x36, 0x37, 0x26, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, // '!.....67&.54632 + 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x22, 0x2e, 0x01, 0x27, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, // ......"..'654&#" + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x05, 0xd9, 0x65, 0x61, 0x41, 0xc9, 0xa2, 0x2f, 0x50, 0x52, // ....32..eaA../PR + 0x1c, 0x41, 0x69, 0x64, 0x73, 0x60, 0x57, 0x1b, 0x01, 0x1b, 0x1a, 0x58, 0x79, 0x7a, 0x4f, 0xa9, // .Aids`W....XyzO. + 0x76, 0x8e, 0xa2, 0xd0, 0xb4, 0xb2, 0xbe, 0x3a, 0x07, 0x19, 0x43, 0x3b, 0x41, 0x12, 0x1f, 0x3a, // v......:..C;A..: + 0x32, 0x35, 0x40, 0xd2, 0xa2, 0x3e, 0x02, 0xc5, 0xc6, 0x17, 0x88, 0xfe, 0xf2, 0xa1, 0x1a, 0x2d, // 25@..>.........- + 0x30, 0x11, 0x35, 0x72, 0x8f, 0xe1, 0x01, 0x07, 0x01, 0x6e, 0xcf, 0xda, 0xfe, 0x97, 0xfe, 0xef, // 0.5r.....n...... + 0xc6, 0x60, 0xa9, 0xed, 0x48, 0x01, 0x28, 0xb9, 0xc0, 0xf5, 0xd3, 0xc0, 0x9f, 0x7f, 0x01, 0x04, // .`..H.(......... + 0x0c, 0x27, 0x20, 0x67, 0x51, 0x57, 0x5a, 0x63, 0x5b, 0xba, 0xd7, 0x00, 0x00, 0x08, 0x00, 0x00, // .' gQWZc[....... + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x12, // ................ + 0x00, 0x15, 0x00, 0x19, 0x00, 0x2d, 0x00, 0x00, 0x13, 0x01, 0x11, 0x25, 0x05, 0x37, 0x27, 0x09, // .....-.....%.7'. + 0x01, 0x25, 0x05, 0x27, 0x2d, 0x01, 0x05, 0x27, 0x25, 0x11, 0x09, 0x01, 0x17, 0x11, 0x05, 0x25, // .%.'-..'%......% + 0x01, 0x11, 0x05, 0x11, 0x14, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, 0x35, 0x11, 0x34, 0x37, // ........"'.&5.47 + 0x01, 0x36, 0x32, 0x17, 0x01, 0x16, 0xd8, 0x02, 0x5b, 0xfe, 0xb2, 0xfe, 0xb5, 0xc1, 0xc1, 0x03, // .62.....[....... + 0x33, 0x02, 0x5b, 0xfe, 0xf3, 0xfe, 0xb2, 0x4d, 0x01, 0x10, 0xfe, 0xf0, 0xfe, 0xf0, 0x8b, 0x01, // 3.[....M........ + 0x4e, 0xfd, 0xa5, 0x04, 0xcd, 0xc1, 0xfe, 0xb5, 0x01, 0x0d, 0xfd, 0xa5, 0x03, 0x33, 0x22, 0xfc, // N............3". + 0xcd, 0x15, 0x2c, 0x15, 0xfc, 0xcd, 0x22, 0x22, 0x03, 0x33, 0x15, 0x2c, 0x15, 0x03, 0x33, 0x22, // ..,..."".3.,..3" + 0x01, 0x6f, 0xfe, 0x6e, 0x01, 0x67, 0xdf, 0x24, 0x81, 0x81, 0xfc, 0xdc, 0x01, 0x92, 0xb4, 0xdf, // .o.n.g.$........ + 0x86, 0xb6, 0xb6, 0xb6, 0x5d, 0xdf, 0x01, 0x67, 0xfe, 0x6e, 0xfe, 0xef, 0x81, 0x01, 0x02, 0x24, // ....]..g.n.....$ + 0xb4, 0x01, 0x92, 0xfe, 0x99, 0x2b, 0xfd, 0xde, 0x29, 0x17, 0xfd, 0xde, 0x0d, 0x0d, 0x02, 0x22, // .....+..)......" + 0x17, 0x29, 0x02, 0x22, 0x29, 0x17, 0x02, 0x22, 0x0d, 0x0d, 0xfd, 0xde, 0x17, 0x00, 0x00, 0x00, // .).").."........ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x05, 0x78, 0x00, 0x23, 0x00, 0x57, 0x00, 0x00, // .........x.#.W.. + 0x01, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, 0x21, 0x2b, 0x02, 0x2e, 0x01, 0x35, // ......#"&#!+...5 + 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x24, 0x33, 0x32, 0x04, 0x12, // 467&54632.6$32.. + 0x15, 0x14, 0x06, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2e, 0x01, 0x27, 0x06, 0x23, 0x22, 0x26, // ......327..'.#"& + 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x05, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, // 54632..32654&#". + 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x2e, 0x05, 0x23, 0x22, 0x06, 0x07, // .632....#"..#".. + 0x08, 0x6f, 0x89, 0xec, 0xa7, 0x04, 0x0f, 0x03, 0xfb, 0x47, 0x01, 0x02, 0x05, 0xaa, 0xec, 0x6e, // .o.......G.....n + 0x5c, 0x0c, 0xa4, 0x75, 0x5f, 0x4d, 0x4b, 0x01, 0x27, 0xb3, 0xa6, 0x01, 0x18, 0xa3, 0x01, 0xfa, // ...u_MK.'....... + 0xcc, 0xa8, 0x7c, 0x89, 0x67, 0x10, 0x3f, 0x0c, 0x43, 0x4d, 0x37, 0x4d, 0x4d, 0x35, 0x2c, 0x51, // ..|.g.?.CM7MM5,Q + 0x41, 0x41, 0x49, 0x51, 0x71, 0x41, 0x79, 0xa7, 0xa8, 0x7b, 0x8f, 0x62, 0x5d, 0x42, 0x4c, 0x34, // AAIQqAy..{.b]BL4 + 0x50, 0x4a, 0x39, 0x2b, 0x4f, 0x41, 0x42, 0x49, 0x52, 0x6f, 0x3f, 0x7a, 0xaa, 0x02, 0xfc, 0x2e, // PJ9+OABIRo?z.... + 0xc7, 0x7a, 0xa4, 0xe9, 0x01, 0x0a, 0xe7, 0xa5, 0x6e, 0xba, 0x36, 0x27, 0x2b, 0x73, 0xa2, 0x3a, // .z......n.6'+s.: + 0x9a, 0xbc, 0xa1, 0xfe, 0xec, 0xa3, 0x06, 0x18, 0xfe, 0xf0, 0x7a, 0x8e, 0x63, 0x14, 0x49, 0x0e, // ..........z.c.I. + 0x41, 0x43, 0x36, 0x35, 0x44, 0x2a, 0x44, 0x52, 0x52, 0x44, 0x2a, 0x8f, 0x77, 0x79, 0x8e, 0x61, // AC65D*DRRD*.wy.a + 0x6c, 0x40, 0x42, 0x33, 0x39, 0x45, 0x2a, 0x44, 0x52, 0x52, 0x44, 0x2a, 0x8d, 0x00, 0x00, 0x00, // l@B39E*DRRD*.... + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x1f, // ................ + 0x00, 0x27, 0x00, 0x2f, 0x00, 0x37, 0x00, 0x00, 0x00, 0x20, 0x04, 0x16, 0x12, 0x10, 0x02, 0x06, // .'./.7... ...... + 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x07, 0x17, 0x36, 0x32, 0x17, 0x37, // . $&...6$ ..62.7 + 0x01, 0x37, 0x26, 0x34, 0x37, 0x27, 0x06, 0x10, 0x00, 0x20, 0x37, 0x27, 0x06, 0x22, 0x27, 0x07, // .7&47'... 7'."'. + 0x12, 0x20, 0x36, 0x10, 0x26, 0x20, 0x06, 0x10, 0x05, 0x17, 0x36, 0x10, 0x27, 0x07, 0x16, 0x14, // . 6.& ....6.'... + 0x02, 0xca, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, // ...l.L.......... + 0xf0, 0x8e, 0x8e, 0xf0, 0x02, 0xc0, 0xfe, 0x84, 0xab, 0xc2, 0x52, 0xaa, 0x52, 0xc2, 0xfb, 0xf1, // ..........R.R... + 0xc2, 0x1c, 0x1c, 0xc2, 0x5a, 0x02, 0x42, 0x01, 0x7c, 0xab, 0xc2, 0x52, 0xaa, 0x52, 0xc2, 0xca, // ....Z.B.|..R.R.. + 0x01, 0x3e, 0xe1, 0xe1, 0xfe, 0xc2, 0xe1, 0x03, 0x64, 0xc2, 0x5a, 0x5a, 0xc2, 0x1c, 0x06, 0x00, // .>......d.ZZ.... + 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, // .............L.l + 0x01, 0x4c, 0xf0, 0x0e, 0x5a, 0xc2, 0x1c, 0x1c, 0xc2, 0xfb, 0xf1, 0xc2, 0x52, 0xaa, 0x52, 0xc2, // .L..Z.......R.R. + 0xab, 0xfe, 0x84, 0xfd, 0xbe, 0x5a, 0xc2, 0x1c, 0x1c, 0xc2, 0x01, 0x26, 0xe1, 0x01, 0x3e, 0xe1, // .....Z.....&..>. + 0xe1, 0xfe, 0xc2, 0x08, 0xc2, 0xab, 0x01, 0x7c, 0xab, 0xc2, 0x52, 0xaa, 0x00, 0x01, 0x00, 0x20, // .......|..R.... + 0xff, 0x20, 0x06, 0xe0, 0x05, 0xd7, 0x00, 0x21, 0x00, 0x00, 0x01, 0x14, 0x02, 0x06, 0x04, 0x20, // . .....!....... + 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x24, 0x37, 0x15, 0x06, 0x00, 0x15, 0x14, 0x1e, 0x02, 0x20, // $&.54.$7....... + 0x3e, 0x02, 0x35, 0x34, 0x00, 0x27, 0x35, 0x16, 0x04, 0x12, 0x06, 0xe0, 0x89, 0xe7, 0xfe, 0xc0, // >.54.'5......... + 0xfe, 0xa0, 0xfe, 0xc0, 0xe7, 0x89, 0xc2, 0x01, 0x50, 0xce, 0xdd, 0xfe, 0xdd, 0x66, 0xab, 0xed, // ........P....f.. + 0x01, 0x04, 0xed, 0xab, 0x66, 0xfe, 0xdd, 0xdd, 0xce, 0x01, 0x50, 0xc2, 0x02, 0x80, 0xb0, 0xfe, // ....f.....P..... + 0xc0, 0xe7, 0x89, 0x89, 0xe7, 0x01, 0x40, 0xb0, 0xd5, 0x01, 0x73, 0xf0, 0x1f, 0xe4, 0x2d, 0xfe, // ......@...s...-. + 0xa0, 0xe6, 0x82, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x82, 0xe6, 0x01, 0x60, 0x2d, 0xe4, 0x1f, // .....ff.....`-.. + 0xf0, 0xfe, 0x8d, 0x00, 0x00, 0x01, 0x00, 0x13, 0xff, 0x00, 0x06, 0xee, 0x06, 0x00, 0x00, 0x63, // ...............c + 0x00, 0x00, 0x13, 0x36, 0x12, 0x37, 0x32, 0x31, 0x14, 0x07, 0x0e, 0x04, 0x1e, 0x01, 0x17, 0x1e, // ...6.721........ + 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x3e, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x2e, 0x03, 0x2f, 0x01, 0x37, // .>.?.>.../.../.7 + 0x1e, 0x01, 0x1f, 0x01, 0x36, 0x26, 0x2f, 0x01, 0x37, 0x17, 0x0e, 0x01, 0x0f, 0x01, 0x3e, 0x01, // ....6&/.7.....>. + 0x3f, 0x01, 0x17, 0x0e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x16, 0x17, 0x1e, 0x01, 0x3e, 0x01, 0x3f, // ?............>.? + 0x01, 0x3e, 0x02, 0x2e, 0x04, 0x2f, 0x01, 0x26, 0x33, 0x16, 0x31, 0x1e, 0x08, 0x17, 0x12, 0x02, // .>.../.&3.1..... + 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, 0x13, 0x08, 0xd8, 0xc5, 0x05, 0x01, 0x08, 0x28, 0x40, 0x38, // .#"$&........(@8 + 0x21, 0x05, 0x49, 0x48, 0x32, 0x68, 0x4d, 0x3e, 0x10, 0x10, 0x27, 0x1c, 0x0f, 0x1b, 0x0d, 0x0e, // !.IH2hM>..'..... + 0x0a, 0x29, 0x2d, 0x2a, 0x0e, 0x0d, 0x68, 0x27, 0x4e, 0x14, 0x13, 0x01, 0x27, 0x15, 0x14, 0xa1, // .)-*..h'N...'... + 0xa0, 0x21, 0x27, 0x03, 0x04, 0x16, 0x4f, 0x1c, 0x1c, 0x67, 0x2c, 0x52, 0x13, 0x13, 0x1f, 0x22, // .!'...O..g,R..." + 0x14, 0x2f, 0x21, 0x59, 0x51, 0x47, 0x16, 0x15, 0x3c, 0x49, 0x18, 0x04, 0x20, 0x2a, 0x31, 0x29, // ./!YQG...54'6. + 0x33, 0x26, 0x35, 0x11, 0x34, 0x37, 0x23, 0x16, 0x15, 0x11, 0x14, 0x05, 0x35, 0x06, 0x23, 0x22, // 3&5.47#.....5.#" + 0x3d, 0x01, 0x33, 0x32, 0x16, 0x33, 0x35, 0x23, 0x34, 0x37, 0x23, 0x16, 0x1d, 0x01, 0x23, 0x15, // =.32.35#47#...#. + 0x36, 0x33, 0x32, 0x16, 0x33, 0x15, 0x23, 0x15, 0x14, 0x1e, 0x03, 0x33, 0x32, 0x01, 0x34, 0x26, // 632.3.#....32.4& + 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // "....26%...#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x46, 0x5d, 0x6b, 0x62, 0x66, 0x24, 0x4a, 0x4d, // .463!2..F]kbf$JM + 0x4d, 0x24, 0x26, 0xa6, 0x4e, 0x39, 0x32, 0x3c, 0x56, 0x76, 0x3b, 0x2c, 0x26, 0x29, 0x71, 0x28, // M$&.N92Z2.. + 0x02, 0x07, 0x18, 0x06, 0x15, 0x26, 0x60, 0x06, 0xe3, 0x06, 0xab, 0x0f, 0x39, 0x0e, 0x55, 0x57, // .....&`.....9.UW + 0x3d, 0xfd, 0xf0, 0x4e, 0x39, 0x3a, 0x50, 0x4f, 0x3b, 0x3a, 0x16, 0x64, 0x68, 0x65, 0x03, 0x5c, // =..N9:PO;:.dhe.. + 0x3d, 0x52, 0x91, 0x87, 0x01, 0xcd, 0xca, 0x0c, 0x0a, 0x2b, 0x29, 0x7f, 0xb3, 0x17, 0x08, 0x26, // =R.......+)....& + 0x27, 0x1f, 0x29, 0x17, 0x15, 0x1e, 0x2d, 0x53, 0x39, 0xfe, 0xd0, 0x19, 0x39, 0x6b, 0x4a, 0xa5, // '.)...-S9...9kJ. + 0x3c, 0x04, 0x29, 0x55, 0x6d, 0x1c, 0x04, 0x18, 0xa9, 0x51, 0x8b, 0xb9, 0x2f, 0xfc, 0xbe, 0x2d, // <.)Um....Q../..- + 0x59, 0x02, 0x61, 0x5e, 0x22, 0x21, 0x5b, 0xfd, 0x9b, 0x59, 0xb1, 0xc4, 0x27, 0x28, 0x3c, 0x60, // Y.a^"![..Y..'(<` + 0x58, 0x3b, 0x01, 0x5f, 0x04, 0x02, 0x06, 0xbe, 0x4c, 0x36, 0x23, 0x29, 0x7c, 0xbe, 0x04, 0xfe, // X;._....L6#)|... + 0x93, 0x83, 0x04, 0x0e, 0x74, 0x57, 0x57, 0x3a, 0x3b, 0x58, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ....tWW:;X...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x00, 0x09, 0x01, 0x23, 0x03, // ..............#. + 0x06, 0x07, 0x27, 0x03, 0x23, 0x01, 0x11, 0x33, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ..'.#..3....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x29, 0x01, 0x0a, 0x70, 0x9d, 0x18, 0x14, // 5.463!2..)..p... + 0x2a, 0x9b, 0x78, 0x01, 0x07, 0x65, 0x02, 0xd7, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, // *.x..e...w.@w..w + 0x03, 0xc0, 0x77, 0xa9, 0x02, 0x14, 0x01, 0xf3, 0xfe, 0xc8, 0x30, 0x2c, 0x5c, 0x01, 0x38, 0xfe, // ..w.......0,..8. + 0x13, 0xfe, 0xbc, 0x03, 0x8a, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, // ......@w..w..w.. + 0x00, 0x02, 0x00, 0x39, 0xff, 0x00, 0x04, 0xc7, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x49, 0x00, 0x00, // ...9.........I.. + 0x00, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x07, 0x02, 0x13, 0x16, 0x06, 0x07, 0x23, 0x22, 0x26, // ...#"'.......#"& + 0x27, 0x26, 0x3e, 0x03, 0x37, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x32, 0x04, 0x10, 0x02, 0x04, // '&>.767&5462.... + 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x33, 0x32, 0x3e, 0x02, 0x34, 0x2e, // #"'..7>...32>.4. + 0x02, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x17, 0x16, 0x0e, 0x01, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, // ."........&'&54> + 0x02, 0x33, 0x32, 0x04, 0x03, 0x4a, 0x72, 0x4f, 0x3c, 0x33, 0x3e, 0x35, 0xf7, 0x2d, 0x01, 0x1b, // .32..JrO<3>5.-.. + 0x15, 0x05, 0x14, 0x1e, 0x02, 0x0e, 0x15, 0x26, 0x46, 0x44, 0x28, 0x3d, 0x47, 0x10, 0x71, 0xa0, // .......&FD(=G.q. + 0x01, 0xee, 0x9c, 0xfe, 0xf3, 0x9e, 0x40, 0x43, 0x15, 0x17, 0x05, 0x05, 0x24, 0x15, 0x33, 0x39, // ......@C....$.39 + 0x61, 0xb2, 0x80, 0x4c, 0x4c, 0x80, 0xb2, 0xc2, 0xb2, 0x80, 0x4c, 0x34, 0x0a, 0x0d, 0x26, 0x29, // a..LL.....L4..&) + 0x0a, 0x40, 0x5d, 0x9c, 0xd8, 0x76, 0x9e, 0x01, 0x0d, 0x04, 0x14, 0xa0, 0x71, 0x23, 0x43, 0x4f, // .@]..v......q#CO + 0xfe, 0x8d, 0xfe, 0x18, 0x16, 0x21, 0x02, 0x1b, 0x14, 0x7e, 0xf3, 0xbf, 0xb5, 0x82, 0x3c, 0x5a, // .....!...~.....72765'../.".. + 0x01, 0x07, 0x23, 0x22, 0x26, 0x27, 0x26, 0x35, 0x10, 0x01, 0x0e, 0x08, 0x16, 0x0d, 0x01, 0x11, // ..#"&'&5........ + 0x0e, 0xb9, 0x7d, 0x8b, 0xb9, 0x85, 0x85, 0x31, 0x52, 0x3c, 0x32, 0x22, 0x1f, 0x14, 0x0c, 0x01, // ..}....1R<2".... + 0x37, 0x12, 0x03, 0x04, 0x4d, 0x57, 0x27, 0x24, 0x09, 0x15, 0x11, 0x15, 0x0b, 0x10, 0x01, 0x01, // 7...MW'$........ + 0x02, 0x05, 0x3b, 0x49, 0x14, 0x53, 0x37, 0x08, 0x02, 0x04, 0x05, 0x40, 0xee, 0x35, 0x73, 0x51, // ..;I.S7....@.5sQ + 0x40, 0x0f, 0x08, 0x0e, 0x40, 0x08, 0x29, 0xad, 0x52, 0x23, 0x44, 0x76, 0x54, 0x41, 0x14, 0x1f, // @...@.).R#DvTA.. + 0x0b, 0x3b, 0x14, 0x04, 0x0a, 0x02, 0x02, 0x30, 0x78, 0x0d, 0x05, 0x04, 0x08, 0x12, 0x49, 0x29, // .;.....0x.....I) + 0x01, 0x04, 0x04, 0x03, 0x17, 0x02, 0xda, 0x13, 0x21, 0x14, 0x3a, 0x10, 0x16, 0x3e, 0x0c, 0x8b, // ........!.:..>.. + 0x01, 0x2b, 0x3c, 0x42, 0x37, 0x15, 0x36, 0x3a, 0x4e, 0x46, 0x63, 0x50, 0x3a, 0x05, 0x53, 0x43, // .+..)C.. + 0x01, 0x36, 0x2e, 0x01, 0x13, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x3e, 0x08, 0x00, // .6...........>.. + 0x05, 0xc2, 0x00, 0x0a, 0x00, 0x16, 0x00, 0x21, 0x00, 0x2d, 0x00, 0x49, 0x00, 0x5b, 0x00, 0x00, // .......!.-.I.[.. + 0x00, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x01, 0x34, 0x26, 0x23, 0x22, // .4&#"....32.4&#" + 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x02, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, // ....326.4&#".... + 0x33, 0x32, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x01, 0x26, // 32.4&#"....326.& + 0x23, 0x22, 0x04, 0x02, 0x15, 0x14, 0x17, 0x06, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x07, 0x37, 0x24, // #"......#"..'.7$ + 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x04, 0x16, 0x01, 0x14, 0x06, 0x07, 0x17, 0x27, 0x06, 0x23, // .4.$32.......'.# + 0x22, 0x24, 0x26, 0x10, 0x36, 0x24, 0x33, 0x32, 0x04, 0x16, 0x02, 0x44, 0x32, 0x29, 0x2b, 0x42, // "$&.6$32...D2)+B + 0x42, 0x2b, 0x29, 0x03, 0x19, 0x33, 0x28, 0x1b, 0x2d, 0x2d, 0x1b, 0x28, 0x33, 0xec, 0x31, 0x29, // B+)..3(.--.(3.1) + 0x2b, 0x42, 0x42, 0x2b, 0x29, 0x02, 0xac, 0x34, 0x27, 0x1b, 0x2d, 0x2d, 0x1b, 0x27, 0x34, 0xfe, // +BB+)..4'.--.'4. + 0xf6, 0x1f, 0x27, 0xa9, 0xfe, 0xe4, 0xa3, 0x17, 0x23, 0x21, 0x1a, 0x30, 0x3e, 0x1b, 0x52, 0x09, // ..'.....#!.0>.R. + 0xfd, 0x48, 0xfe, 0xde, 0xc3, 0x01, 0x4d, 0xc5, 0xb0, 0x01, 0x39, 0xd3, 0x02, 0x6f, 0x89, 0x75, // .H....M...9..o.u + 0x37, 0xc7, 0x96, 0x44, 0xa9, 0xfe, 0xe4, 0xa3, 0xa3, 0x01, 0x1c, 0xa9, 0xa1, 0x01, 0x1c, 0xab, // 7..D............ + 0x04, 0x0a, 0x52, 0x32, 0x33, 0x28, 0x27, 0x33, 0xfe, 0x5f, 0x1c, 0x2c, 0x2d, 0x1b, 0x1c, 0x2d, // ..R23('3._.,-..- + 0x2c, 0x01, 0xef, 0x52, 0x32, 0x33, 0x28, 0x27, 0x33, 0xfe, 0x5f, 0x1c, 0x2c, 0x2d, 0x1b, 0x1c, // ,..R23('3._.,-.. + 0x2d, 0x2c, 0x01, 0xaa, 0x04, 0x9a, 0xfe, 0xf9, 0x9c, 0x4e, 0x4a, 0x03, 0x03, 0x0a, 0x04, 0x11, // -,.......NJ..... + 0x02, 0x7f, 0xda, 0xcb, 0x01, 0x1f, 0xa9, 0x01, 0x1c, 0xa3, 0x84, 0xe9, 0xfd, 0x3f, 0x75, 0xd5, // .............?u. + 0x57, 0xb5, 0x6d, 0x25, 0x8d, 0xf2, 0x01, 0x1e, 0xf2, 0x8d, 0x8d, 0xf3, 0x00, 0x01, 0x00, 0x00, // W.m%............ + 0xff, 0x00, 0x06, 0xff, 0x06, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x01, 0x16, 0x07, 0x01, 0x06, 0x07, // ................ + 0x06, 0x23, 0x22, 0x27, 0x25, 0x03, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x11, 0x09, 0x01, // .#"'%..#"'..5... + 0x25, 0x26, 0x27, 0x26, 0x37, 0x01, 0x36, 0x33, 0x32, 0x06, 0xe4, 0x21, 0x06, 0xff, 0x00, 0x05, // %&'&7.632..!.... + 0x1b, 0x0e, 0x11, 0x0b, 0x0d, 0xfe, 0x3b, 0xf2, 0x12, 0x1f, 0x0d, 0x09, 0x13, 0x17, 0x03, 0x60, // ......;........` + 0xfb, 0xd3, 0xfe, 0x75, 0x25, 0x03, 0x02, 0x22, 0x06, 0x80, 0x0f, 0x11, 0x14, 0x05, 0xf5, 0x18, // ...u%.."........ + 0x28, 0xfa, 0x00, 0x1d, 0x10, 0x08, 0x05, 0xb9, 0xfe, 0xd9, 0x17, 0x04, 0x07, 0x21, 0x14, 0x01, // (............!.. + 0x5d, 0x04, 0x23, 0xfc, 0x63, 0xa2, 0x0e, 0x29, 0x28, 0x13, 0x03, 0xc0, 0x09, 0x00, 0x00, 0x00, // ].#.c..)(....... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0xff, 0x05, 0xf7, 0x00, 0x1a, 0x00, 0x20, 0x00, 0x00, // ............. .. + 0x01, 0x16, 0x07, 0x01, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x25, 0x01, 0x06, 0x23, 0x22, 0x27, // .......#"'%..#"' + 0x2e, 0x01, 0x35, 0x11, 0x25, 0x26, 0x27, 0x26, 0x37, 0x01, 0x36, 0x01, 0x13, 0x01, 0x05, 0x09, // ..5.%&'&7.6..... + 0x01, 0x06, 0xe4, 0x21, 0x06, 0xff, 0x00, 0x05, 0x1b, 0x0e, 0x11, 0x0b, 0x0d, 0xfd, 0xf1, 0xfe, // ...!............ + 0xd6, 0x12, 0x1d, 0x0e, 0x09, 0x13, 0x16, 0xfe, 0x28, 0x25, 0x03, 0x03, 0x23, 0x06, 0x80, 0x23, // ........(%..#..# + 0xfe, 0xcb, 0xdd, 0xfa, 0x66, 0x01, 0x50, 0x03, 0x5f, 0xfe, 0x22, 0x05, 0xf5, 0x18, 0x28, 0xfa, // ....f.P._."...(. + 0x00, 0x1d, 0x10, 0x08, 0x05, 0xd7, 0xfe, 0xb9, 0x15, 0x04, 0x07, 0x21, 0x14, 0x01, 0xc4, 0xc1, // ...........!.... + 0x0e, 0x29, 0x27, 0x14, 0x03, 0xc0, 0x15, 0xfa, 0x0e, 0x05, 0x2b, 0xfc, 0xc5, 0x89, 0x02, 0x7f, // .)'.......+..... + 0xfc, 0xe3, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x34, // ...............4 + 0x00, 0x49, 0x00, 0x00, 0x00, 0x10, 0x02, 0x06, 0x04, 0x23, 0x22, 0x24, 0x27, 0x26, 0x36, 0x3f, // .I.......#"$'&6? + 0x01, 0x36, 0x33, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x3e, 0x02, 0x34, 0x2e, 0x02, 0x23, 0x22, // .63....32>.4..#" + 0x06, 0x07, 0x17, 0x16, 0x07, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x36, 0x1f, // ......#!"&5.476. + 0x01, 0x36, 0x24, 0x33, 0x32, 0x04, 0x16, 0x05, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, // .6$32......#!"&= + 0x01, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x06, 0x00, 0x7a, 0xce, // .46;..46;.2...z. + 0xfe, 0xe4, 0x9c, 0xac, 0xfe, 0xca, 0x6d, 0x07, 0x01, 0x08, 0x89, 0x0a, 0x0f, 0x10, 0x07, 0x49, // ......m........I + 0xd4, 0x77, 0x68, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0x68, 0x62, 0xb4, 0x46, 0x89, 0x1f, 0x11, // .wh..QQ..hb.F... + 0x11, 0x2a, 0xfe, 0x40, 0x1a, 0x26, 0x28, 0x27, 0x1e, 0x82, 0x6b, 0x01, 0x13, 0x93, 0x9c, 0x01, // .*.@.&('..k..... + 0x1c, 0xce, 0xfd, 0xfa, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, // ...............@ + 0x0e, 0x12, 0x03, 0x1c, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, 0x7a, 0x91, 0x84, 0x0a, 0x19, 0x08, 0x8a, // .........z...... + 0x09, 0x02, 0x0a, 0x5f, 0x68, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0x47, 0x42, 0x8a, 0x1e, // ..._hQ.....QGB.. + 0x27, 0x28, 0x26, 0x1a, 0x01, 0xc0, 0x2a, 0x11, 0x11, 0x1f, 0x81, 0x65, 0x6f, 0x7a, 0xce, 0x98, // '(&...*....eoz.. + 0xfe, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x60, 0x0e, 0x12, 0x12, 0x00, 0x00, // .@....@...`..... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, // ................ + 0x00, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x02, 0x10, 0x2e, 0x01, 0x00, 0x10, 0x02, // . ..... >....... + 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x03, 0x82, 0xfe, 0xfc, 0xed, 0xab, 0x66, // . $...$ .......f + 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0x01, 0x91, 0xce, 0xfe, 0x9f, 0xfe, // f......ff....... + 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x05, 0x00, 0x66, 0xab, 0xed, // ^.....a...a..f.. + 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0xfe, 0xb7, 0xfe, 0x5e, // ....ff.........^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x01, 0x00, 0x3e, // .....a...a.....> + 0xff, 0x80, 0x06, 0xc2, 0x05, 0x80, 0x00, 0x85, 0x00, 0x00, 0x05, 0x22, 0x26, 0x23, 0x22, 0x06, // ..........."&#". + 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x36, 0x35, 0x03, 0x34, 0x27, 0x26, 0x23, 0x21, // #"&54>.765.4'&#! + 0x22, 0x07, 0x06, 0x15, 0x03, 0x14, 0x17, 0x1e, 0x03, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, // "...........#"&# + 0x22, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x36, 0x35, 0x27, 0x11, 0x34, 0x36, // ".#"&54>.765'.46 + 0x2e, 0x04, 0x27, 0x2e, 0x01, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, // ..'.."&54632.326 + 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x06, 0x15, 0x13, 0x14, 0x17, 0x16, 0x33, 0x21, // 32............3! + 0x32, 0x37, 0x36, 0x35, 0x13, 0x34, 0x27, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, // 2765.4'..54632.3 + 0x32, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x06, 0x15, 0x13, 0x14, 0x17, 0x1e, // 2632............ + 0x03, 0x15, 0x14, 0x06, 0x06, 0x92, 0x2c, 0xb1, 0x2d, 0x2c, 0xb0, 0x2c, 0x18, 0x1a, 0x22, 0x2c, // ......,.-,.,..", + 0x3a, 0x10, 0x21, 0x01, 0x01, 0x0d, 0x25, 0xfd, 0x5d, 0x26, 0x0d, 0x01, 0x01, 0x25, 0x10, 0x40, // :.!...%.]&...%.@ + 0x32, 0x28, 0x19, 0x18, 0x2f, 0xb9, 0x2e, 0x2b, 0xaa, 0x2a, 0x17, 0x19, 0x1f, 0x29, 0x36, 0x0f, // 2(../..+.*...)6. + 0x21, 0x01, 0x01, 0x01, 0x02, 0x05, 0x08, 0x0e, 0x09, 0x0f, 0x3c, 0x2e, 0x24, 0x18, 0x18, 0x2e, // !.........<.$... + 0xb9, 0x2e, 0x2a, 0xa9, 0x2a, 0x19, 0x19, 0x22, 0x2b, 0x38, 0x0f, 0x23, 0x01, 0x01, 0x0d, 0x1a, // ..*.*.."+8.#.... + 0x02, 0xbb, 0x19, 0x0d, 0x01, 0x01, 0x23, 0x12, 0x51, 0x33, 0x19, 0x19, 0x2c, 0xb0, 0x2c, 0x2b, // ......#.Q3..,.,+ + 0xac, 0x2b, 0x19, 0x19, 0x23, 0x2d, 0x3a, 0x0f, 0x23, 0x01, 0x22, 0x10, 0x3c, 0x2f, 0x24, 0x18, // .+..#-:.#."..$$..../:yu..x + 0x76, 0x29, 0x25, 0x24, 0x00, 0x09, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x00, 0x00, 0x03, // v)%$............ + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x43, 0x00, 0x47, // ........./.?.C.G + 0x00, 0x00, 0x25, 0x15, 0x21, 0x35, 0x25, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // ..%.!5%2.....#!" + 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x01, 0x15, 0x21, 0x35, 0x13, 0x15, 0x23, 0x35, 0x01, 0x15, // &5.463..!5..#5.. + 0x21, 0x35, 0x03, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // !5.2.....#!"&5.4 + 0x36, 0x33, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // 63.2.....#!"&5.4 + 0x36, 0x33, 0x05, 0x15, 0x23, 0x35, 0x13, 0x15, 0x21, 0x35, 0x01, 0x60, 0xfe, 0xa0, 0x02, 0xc0, // 63..#5..!5.`.... + 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xa0, 0xfc, 0xa0, 0xe0, 0xe0, // .&&....&&....... + 0x06, 0x00, 0xfd, 0x20, 0xe0, 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, // ... ..&&....&&.. + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x40, 0xe0, 0xe0, 0xfc, // ..&&....&&..@... + 0xa0, 0x80, 0x80, 0x80, 0x80, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, // .....&....&&.... + 0x26, 0x01, 0x80, 0x80, 0x80, 0x02, 0x00, 0x80, 0x80, 0xfc, 0x00, 0x80, 0x80, 0x04, 0x80, 0x26, // &..............& + 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0xfe, 0x00, 0x26, 0x1a, 0xff, // ....&&....&..&.. + 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, 0x80, 0x80, 0x80, 0x02, 0x00, 0x80, 0x80, // ..&&....&....... + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x25, 0x00, 0x00, 0x01, 0x32, // ...........%...2 + 0x16, 0x10, 0x06, 0x20, 0x26, 0x35, 0x34, 0x37, 0x25, 0x06, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, // ... &547%.#"&.63 + 0x32, 0x17, 0x25, 0x26, 0x35, 0x34, 0x36, 0x20, 0x16, 0x10, 0x06, 0x23, 0x22, 0x27, 0x05, 0x16, // 2.%&546 ...#"'.. + 0x14, 0x07, 0x05, 0x36, 0x04, 0xc0, 0x85, 0xbb, 0xbb, 0xfe, 0xf6, 0xbb, 0x02, 0xfe, 0x98, 0x5c, // ...6............ + 0x7e, 0x85, 0xbb, 0xbb, 0x85, 0x7e, 0x5c, 0x01, 0x68, 0x02, 0xbb, 0x01, 0x0a, 0xbb, 0xbb, 0x85, // ~....~..h....... + 0x7e, 0x5c, 0xfe, 0x98, 0x02, 0x02, 0x01, 0x68, 0x5c, 0x02, 0x00, 0xbb, 0xfe, 0xf6, 0xbb, 0xbb, // ~......h........ + 0x85, 0x0c, 0x16, 0xb4, 0x56, 0xbb, 0x01, 0x0a, 0xbb, 0x56, 0xb4, 0x16, 0x0c, 0x85, 0xbb, 0xbb, // ....V....V...... + 0xfe, 0xf6, 0xbb, 0x56, 0xb4, 0x16, 0x18, 0x16, 0xb4, 0x56, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ...V.....V...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x25, 0x00, 0x35, 0x00, 0x00, 0x24, 0x34, 0x26, 0x23, // .......%.5..$4&# + 0x22, 0x07, 0x27, 0x36, 0x34, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x34, 0x26, 0x22, 0x06, 0x15, // ".'64'7.3264&".. + 0x14, 0x17, 0x07, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x15, 0x14, // ...&#"...327.... + 0x16, 0x32, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // .2....#!"&5.463! + 0x32, 0x16, 0x05, 0x00, 0x7d, 0x58, 0x54, 0x3d, 0xf1, 0x02, 0x02, 0xf1, 0x3d, 0x54, 0x58, 0x7d, // 2...}XT=....=TX} + 0x7d, 0xb0, 0x7e, 0x02, 0xf1, 0x3e, 0x53, 0x58, 0x7d, 0x7d, 0x58, 0x53, 0x3e, 0xf1, 0x02, 0x7e, // }.~..>SX}}XS>..~ + 0xb0, 0x01, 0x7d, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xfd, // ..}.w.@w..w..w.. + 0xb0, 0x7e, 0x3a, 0x78, 0x10, 0x0e, 0x10, 0x78, 0x3a, 0x7e, 0xb0, 0x7d, 0x7d, 0x58, 0x07, 0x10, // .~:x...x:~.}}X.. + 0x78, 0x39, 0x7d, 0xb0, 0x7d, 0x39, 0x78, 0x10, 0x07, 0x58, 0x7d, 0x03, 0xe0, 0xfc, 0x40, 0x77, // x9}.}9x..X}...@w + 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x07, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // ..w..w.......... + 0x06, 0x00, 0x00, 0x11, 0x00, 0x2f, 0x00, 0x3e, 0x00, 0x4c, 0x00, 0x58, 0x00, 0x64, 0x00, 0x73, // ...../.>.L.X.d.s + 0x00, 0x00, 0x00, 0x2e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, // .............327 + 0x3e, 0x01, 0x37, 0x36, 0x01, 0x17, 0x07, 0x17, 0x16, 0x14, 0x0f, 0x01, 0x16, 0x15, 0x14, 0x02, // >.76............ + 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x33, 0x32, 0x17, 0x37, 0x36, 0x32, // .. $&...6$32.762 + 0x1f, 0x01, 0x13, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x16, // ....#"/.&4762... + 0x14, 0x17, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x36, // ..."/.&4762....6 + 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x27, 0x15, 0x14, 0x06, 0x22, // ..+."&46;.2'..." + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x32, 0x16, 0x17, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x34, 0x3f, // &=.462....#"'&4? + 0x01, 0x36, 0x32, 0x17, 0x16, 0x14, 0x02, 0x45, 0x14, 0x30, 0x19, 0x6c, 0xa6, 0x2c, 0x0a, 0x14, // .62....E.0.l.,.. + 0x19, 0x0d, 0x0b, 0x2a, 0x12, 0x22, 0x81, 0x54, 0x19, 0x03, 0xb8, 0x2e, 0xf4, 0x44, 0x13, 0x13, // ...*.".T.....D.. + 0x40, 0x59, 0x6f, 0xbd, 0xfe, 0xfb, 0xfe, 0xe2, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, // @Yo........oo... + 0x8f, 0xb6, 0xa1, 0x40, 0x13, 0x35, 0x13, 0x44, 0xfb, 0x0a, 0x0c, 0x0d, 0x0a, 0x5b, 0x09, 0x09, // ...@.5.D.....[.. + 0x0a, 0x1a, 0x0a, 0x5a, 0x0a, 0xdc, 0x0b, 0x18, 0x0b, 0x5a, 0x0a, 0x0a, 0x09, 0x1b, 0x09, 0x5b, // ...Z.....Z.....[ + 0x09, 0x20, 0x12, 0x0e, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x0e, 0xae, 0x12, 0x1c, 0x12, 0x12, // . ..`....`...... + 0x1c, 0x12, 0x97, 0x5b, 0x0a, 0x0c, 0x0d, 0x0a, 0x0a, 0x0a, 0x5a, 0x0a, 0x1a, 0x0a, 0x09, 0x03, // ...[......Z..... + 0x9a, 0x32, 0x14, 0x0a, 0x2c, 0xa6, 0x6c, 0x19, 0x30, 0x0a, 0x05, 0x28, 0x54, 0x81, 0x22, 0x0b, // .2..,.l.0..(T.". + 0x01, 0xad, 0x2e, 0xf3, 0x44, 0x13, 0x35, 0x13, 0x40, 0xa1, 0xb6, 0x8f, 0xfe, 0xfb, 0xbd, 0x6f, // ....D.5.@......o + 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0x6f, 0x59, 0x40, 0x13, 0x13, 0x44, 0x01, // o........oY@..D. + 0x2c, 0x0a, 0x0a, 0x5a, 0x0a, 0x1a, 0x0a, 0x09, 0x09, 0x5b, 0x09, 0x1b, 0xef, 0x09, 0x09, 0x5b, // ,..Z.....[.....[ + 0x09, 0x1b, 0x09, 0x0a, 0x0a, 0x5a, 0x0a, 0x1a, 0xbb, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0xa0, 0x60, // .....Z.........` + 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x0e, 0x12, 0x12, 0x45, 0x5a, 0x0a, 0x0a, 0x09, 0x1b, 0x09, 0x5b, // ....`...EZ.....[ + 0x09, 0x09, 0x0a, 0x1a, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x04, // ................ + 0x00, 0x14, 0x00, 0x35, 0x00, 0x00, 0x01, 0x25, 0x05, 0x03, 0x21, 0x02, 0x20, 0x04, 0x16, 0x12, // ...5...%..!. ... + 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x01, 0x36, 0x3d, 0x01, 0x07, // .... $&...6.6=.. + 0x27, 0x13, 0x17, 0x26, 0x27, 0x17, 0x05, 0x25, 0x37, 0x06, 0x07, 0x37, 0x13, 0x07, 0x27, 0x15, // '..&'..%7..7..'. + 0x14, 0x17, 0x37, 0x05, 0x13, 0x07, 0x16, 0x32, 0x37, 0x27, 0x13, 0x25, 0x02, 0x61, 0x01, 0x1f, // ..7....27'.%.a.. + 0x01, 0x1f, 0x6d, 0xfe, 0x9d, 0x05, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0xfe, 0xb4, // ..m....l.L...... + 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x04, 0x6d, 0x95, 0x66, 0xf0, 0x3f, 0x86, 0x96, // .........m.f.?.. + 0xef, 0x35, 0xfe, 0xe1, 0xfe, 0xe1, 0x35, 0xef, 0x96, 0x87, 0x3e, 0xf0, 0x66, 0x95, 0x1e, 0x01, // .5....5...>.f... + 0x46, 0x8b, 0x74, 0x75, 0xf6, 0x75, 0x74, 0x8b, 0x01, 0x46, 0x02, 0xd0, 0xd0, 0xd0, 0xfe, 0xb0, // F.tu.ut..F...... + 0x04, 0x80, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, // ...............L + 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0xfb, 0x48, 0xcb, 0xfb, 0x03, 0x59, 0xe0, 0x01, 0x43, 0x0c, 0xce, // .l.L..H...Y..C.. + 0x4c, 0x7c, 0x9f, 0x9f, 0x7c, 0x4c, 0xce, 0x0c, 0xfe, 0xbd, 0xe0, 0x59, 0x03, 0xfb, 0xcb, 0x84, // L|..|L.....Y.... + 0x28, 0xfe, 0xd6, 0x45, 0x27, 0x27, 0x45, 0x01, 0x2a, 0x28, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, // (..E''E.*(...... + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x49, // .........../.?.I + 0x00, 0x59, 0x00, 0x69, 0x00, 0x79, 0x00, 0x89, 0x00, 0xa2, 0x00, 0xb2, 0x00, 0xbc, 0x00, 0x00, // .Y.i.y.......... + 0x25, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // %...+."&=.46;.2. + 0x03, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // ....+."&=.46;.2. + 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // ....+."&=.46;.2. + 0x03, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, // ....+."&=.46;.2. + 0x25, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x06, 0x23, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, // %"&=.!...#....+. + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, 0x2b, 0x01, // "&=.46;.2.....+. + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, // "&=.46;.2.....+. + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x03, 0x15, 0x14, 0x06, 0x2b, 0x01, // "&=.46;.2.....+. + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x15, 0x21, 0x35, 0x34, 0x05, // "&=.46;.2...!54. + 0x04, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x3e, 0x04, 0x24, 0x20, 0x04, 0x1e, 0x04, 0x11, 0x15, 0x14, // ...!54>.$ ...... + 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x11, 0x15, 0x14, // .+."&=.46;.2.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x01, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // .#!"&=.......... + 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x02, 0x40, // ...............@ + 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xfd, 0xc2, 0x1c, 0x26, 0x02, 0x02, 0x26, 0x1b, 0x02, 0xff, 0x12, // ........&..&.... + 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0xc0, 0x0e, 0x12, 0x02, 0x40, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, // .....@.......... + 0xc0, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x80, 0xfd, 0xfe, 0xfe, // ................ + 0x82, 0xfe, 0x82, 0xfd, 0xfe, 0x11, 0x33, 0x50, 0x8d, 0xb3, 0x01, 0x0d, 0x01, 0x3e, 0x01, 0x0c, // ......3P.....>.. + 0xb4, 0x8d, 0x50, 0x33, 0x11, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x26, // ..P3...........& + 0x1b, 0xfe, 0x80, 0x1b, 0x26, 0xe0, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, // ....&........... + 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0xfe, 0x72, 0xc0, 0x0e, 0x12, 0x12, // r..........r.... + 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, // ......r......... + 0x92, 0x26, 0x1b, 0x81, 0x81, 0x1b, 0x26, 0xfd, 0xe0, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, // .&....&......... + 0x12, 0x12, 0x01, 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0xfe, 0x72, 0xc0, // ...r..........r. + 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0x72, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, // .........r...... + 0x0e, 0x12, 0x12, 0x01, 0x8a, 0x0d, 0x0a, 0x68, 0x02, 0x01, 0x65, 0x0a, 0x0d, 0x11, 0x34, 0x4c, // .......h..e...4L + 0x4b, 0x4d, 0x3a, 0x25, 0x25, 0x3a, 0x4d, 0x4b, 0x4c, 0x34, 0xfe, 0x57, 0xc0, 0x0e, 0x12, 0x12, // KM:%%:MKL4.W.... + 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0x54, 0x81, 0x1b, 0x26, 0x26, 0x1b, 0x81, 0x00, 0x00, 0x00, // ......T..&&..... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x10, 0x00, 0x14, 0x00, 0x25, // ...............% + 0x00, 0x2f, 0x00, 0x39, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x11, 0x14, 0x06, 0x23, 0x21, // ./.9......#...#! + 0x22, 0x26, 0x35, 0x11, 0x13, 0x36, 0x33, 0x21, 0x11, 0x21, 0x11, 0x01, 0x11, 0x14, 0x06, 0x23, // "&5..63!.!.....# + 0x21, 0x22, 0x26, 0x35, 0x11, 0x22, 0x26, 0x35, 0x11, 0x21, 0x32, 0x17, 0x01, 0x15, 0x21, 0x35, // !"&5."&5.!2...!5 + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x15, 0x21, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // 463!2...!5463!2. + 0x02, 0xc0, 0x26, 0x1a, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0xf9, 0x07, 0x18, 0x02, 0xe8, 0xff, // ..&.&....&...... + 0x00, 0x04, 0x00, 0x26, 0x1a, 0xfe, 0x00, 0x1a, 0x26, 0x1a, 0x26, 0x01, 0xa8, 0x18, 0x07, 0xfc, // ...&....&.&..... + 0xd9, 0xfe, 0xa0, 0x12, 0x0e, 0x01, 0x20, 0x0e, 0x12, 0x02, 0xa0, 0xfe, 0xa0, 0x12, 0x0e, 0x01, // ...... ......... + 0x20, 0x0e, 0x12, 0x04, 0xc0, 0xfd, 0x00, 0x1a, 0x26, 0xfd, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x02, // .......&...&&.. + 0x00, 0x03, 0x69, 0x17, 0xfd, 0x40, 0x02, 0xc0, 0xfc, 0x80, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x1a, // ..i..@.......&&. + 0x02, 0x40, 0x26, 0x1a, 0x03, 0x00, 0x17, 0x01, 0x37, 0xe0, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, // .@&.....7....... + 0xe0, 0x0e, 0x12, 0x12, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x1d, // ................ + 0x00, 0x00, 0x01, 0x16, 0x14, 0x07, 0x01, 0x17, 0x07, 0x06, 0x04, 0x27, 0x01, 0x23, 0x35, 0x01, // ...........'.#5. + 0x26, 0x12, 0x3f, 0x01, 0x17, 0x01, 0x36, 0x32, 0x16, 0x14, 0x07, 0x01, 0x17, 0x01, 0x36, 0x32, // &.?...62......62 + 0x06, 0xdb, 0x25, 0x25, 0xfe, 0x6f, 0x96, 0xa0, 0xa3, 0xfe, 0x3b, 0xb9, 0xfe, 0x96, 0xb5, 0x01, // ..%%.o....;..... + 0x6a, 0x7c, 0x2f, 0xa3, 0xa0, 0x96, 0x01, 0x90, 0x26, 0x6a, 0x4a, 0x25, 0xfe, 0x70, 0xea, 0x01, // j|/.....&jJ%.p.. + 0x91, 0x26, 0x6a, 0x04, 0x3b, 0x26, 0x69, 0x26, 0xfe, 0x70, 0x96, 0xa0, 0xa3, 0x2f, 0x7c, 0xfe, // .&j.;&i&.p.../|. + 0x96, 0xb5, 0x01, 0x6a, 0xb9, 0x01, 0xc5, 0xa3, 0xa0, 0x96, 0x01, 0x91, 0x25, 0x4a, 0x6b, 0x25, // ...j........%Jk% + 0xfe, 0x6f, 0xea, 0x01, 0x90, 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x19, 0xff, 0x0c, 0x06, 0xe7, // .o...%.......... + 0x06, 0x00, 0x00, 0x09, 0x00, 0x15, 0x00, 0x3a, 0x00, 0x67, 0x00, 0x00, 0x01, 0x14, 0x06, 0x22, // .......:.g....." + 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, // &5462....#"&5463 + 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x1e, 0x05, 0x32, 0x36, // 2...4&#!".....26 + 0x33, 0x36, 0x17, 0x16, 0x17, 0x16, 0x17, 0x36, 0x17, 0x32, 0x1e, 0x02, 0x3e, 0x05, 0x37, 0x06, // 36.....6.2..>.7. + 0x07, 0x12, 0x07, 0x06, 0x07, 0x06, 0x27, 0x26, 0x37, 0x03, 0x35, 0x2e, 0x01, 0x27, 0x03, 0x16, // ......'&7.5..'.. + 0x07, 0x06, 0x27, 0x26, 0x27, 0x26, 0x13, 0x26, 0x27, 0x26, 0x36, 0x17, 0x1e, 0x01, 0x17, 0x11, // ..'&'&.&'&6..... + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x37, 0x36, 0x16, 0x03, 0x69, 0x7f, 0xb2, 0x7f, // 463!2...76..i... + 0x7f, 0xb2, 0x7f, 0x01, 0xf6, 0x7e, 0x5a, 0x59, 0x7f, 0x7f, 0x59, 0x5a, 0x7e, 0xe1, 0x40, 0x4f, // .....~ZY..YZ~.@O + 0xfb, 0xa8, 0x53, 0x3b, 0x2b, 0x5b, 0x47, 0x5b, 0x33, 0x59, 0x1c, 0x55, 0x02, 0x44, 0x1b, 0x06, // ..S;+[G[3Y.U.D.. + 0x04, 0x1a, 0x23, 0x07, 0x6f, 0x05, 0x3f, 0x17, 0x44, 0x26, 0x47, 0x33, 0x49, 0x3d, 0x4a, 0xc6, // ..#.o.?.D&G3I=J. + 0x79, 0xfb, 0x54, 0x6b, 0x42, 0x75, 0x68, 0x4e, 0x56, 0x04, 0x01, 0x08, 0x21, 0x07, 0x01, 0x04, // y.TkBuhNV...!... + 0x57, 0x4f, 0x68, 0x75, 0x41, 0x69, 0x53, 0xfb, 0x79, 0x19, 0x2a, 0x27, 0x04, 0x0f, 0x03, 0x5e, // WOhuAiS.y.*'...^ + 0x43, 0x04, 0xe9, 0x43, 0x5e, 0x15, 0x27, 0x2a, 0x03, 0x1c, 0x53, 0x77, 0x77, 0x53, 0x54, 0x76, // C..C^.'*..SwwSTv + 0x76, 0x54, 0x53, 0x77, 0x77, 0x53, 0x54, 0x76, 0x76, 0xfe, 0xf8, 0x02, 0x9b, 0x57, 0x49, 0x44, // vTSwwSTvv....WID + 0x5c, 0xfd, 0x5f, 0x17, 0x22, 0x16, 0x0f, 0x07, 0x01, 0x04, 0x01, 0x1c, 0x06, 0x03, 0x19, 0x1a, // .._."........... + 0x5b, 0x04, 0x03, 0x01, 0x01, 0x03, 0x06, 0x0b, 0x10, 0x17, 0x1f, 0x18, 0x95, 0x67, 0xfe, 0xe3, // [............g.. + 0xb4, 0x71, 0x23, 0x20, 0x2f, 0x33, 0x71, 0x01, 0x46, 0x01, 0x02, 0x08, 0x01, 0xfe, 0xae, 0x72, // .q# /3q.F......r + 0x32, 0x2f, 0x20, 0x24, 0x72, 0xb4, 0x01, 0x1b, 0x67, 0x95, 0x25, 0x34, 0x1b, 0x02, 0x0a, 0x03, // 2/ $r...g.%4.... + 0x02, 0xb6, 0x48, 0x66, 0x66, 0x48, 0xfd, 0x4a, 0x0f, 0x1b, 0x34, 0x00, 0x00, 0x04, 0x00, 0x64, // ..HffH.J..4....d + 0xff, 0x80, 0x06, 0x9c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x00, // ................ + 0x01, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x13, 0x37, 0x11, 0x21, 0x11, 0x21, 0x15, 0x37, // ..#.!.#..7.!.!.7 + 0x01, 0x11, 0x01, 0x21, 0x07, 0x23, 0x35, 0x21, 0x11, 0x13, 0x03, 0x80, 0x91, 0x02, 0x1f, 0x91, // ...!.#5!........ + 0x91, 0xfd, 0xfb, 0x56, 0x01, 0x46, 0xd9, 0x03, 0x1c, 0xfe, 0x4e, 0xfe, 0xba, 0xd9, 0xd9, 0xfe, // ...V.F....N..... + 0x72, 0x6d, 0x04, 0x4e, 0xfe, 0x4e, 0x01, 0xb2, 0xfe, 0x4e, 0x01, 0xb2, 0xfd, 0x08, 0xfe, 0x03, // rm.N.N...N...... + 0x1b, 0xfb, 0xe7, 0xd9, 0xd9, 0x04, 0xaa, 0xfc, 0x0b, 0xfe, 0x4e, 0xd9, 0xd9, 0x04, 0x86, 0x01, // ..........N..... + 0x21, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x59, 0xff, 0x01, 0x05, 0xaa, 0x05, 0xfd, 0x00, 0x16, // !......Y........ + 0x00, 0x2b, 0x00, 0x3f, 0x00, 0x4e, 0x00, 0x65, 0x00, 0x00, 0x25, 0x15, 0x02, 0x07, 0x06, 0x07, // .+.?.N.e..%..... + 0x06, 0x26, 0x27, 0x26, 0x27, 0x26, 0x37, 0x3e, 0x01, 0x37, 0x32, 0x37, 0x3e, 0x01, 0x17, 0x1e, // .&'&'&7>.727>... + 0x01, 0x27, 0x06, 0x0f, 0x01, 0x04, 0x23, 0x26, 0x27, 0x26, 0x27, 0x26, 0x3e, 0x01, 0x17, 0x32, // .'....#&'&'&>..2 + 0x17, 0x16, 0x1f, 0x01, 0x1e, 0x01, 0x01, 0x0e, 0x01, 0x07, 0x06, 0x27, 0x26, 0x03, 0x27, 0x26, // ...........'&.'& + 0x36, 0x37, 0x36, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x01, 0x16, 0x07, 0x06, 0x27, 0x01, // 676...........'. + 0x26, 0x37, 0x36, 0x24, 0x17, 0x16, 0x17, 0x16, 0x12, 0x05, 0x16, 0x07, 0x06, 0x05, 0x06, 0x07, // &76$............ + 0x37, 0x06, 0x26, 0x27, 0x26, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x17, 0x1e, 0x01, 0x17, // 7.&'&767>.76.... + 0x03, 0x05, 0x01, 0x05, 0x0c, 0x27, 0x36, 0xff, 0x23, 0x0d, 0x04, 0x01, 0x05, 0x04, 0x3c, 0x97, // .....'6.#.....<. + 0x01, 0x3b, 0x0f, 0x31, 0x19, 0x18, 0x1b, 0x96, 0x03, 0x31, 0x78, 0xfe, 0xed, 0x11, 0x23, 0x13, // .;.1.....1x...#. + 0x0c, 0x05, 0x08, 0x12, 0x2a, 0x23, 0x0d, 0xbd, 0x47, 0x2c, 0x54, 0x17, 0x19, 0x03, 0x39, 0x07, // ....*#..G,T...9. + 0xa9, 0x33, 0x25, 0x1a, 0x0e, 0xaa, 0x2f, 0x0e, 0x05, 0x11, 0x23, 0x30, 0x01, 0x76, 0xcb, 0x4e, // .3%.../...#0.v.N + 0x08, 0x1c, 0xfd, 0x5a, 0x05, 0x3b, 0x3a, 0x38, 0xfe, 0x86, 0x08, 0x1b, 0x29, 0x01, 0x4d, 0x3a, // ...Z.;:8....).M: + 0x28, 0x09, 0x03, 0x26, 0x02, 0x9b, 0x03, 0x1d, 0x0f, 0xfe, 0xc6, 0x43, 0x18, 0x01, 0x17, 0x2e, // (..&.......C.... + 0x0e, 0x1e, 0x1e, 0x01, 0x4a, 0x7d, 0x32, 0x09, 0x1c, 0x25, 0x30, 0x96, 0x06, 0xd9, 0x7f, 0xfe, // ....J}2..%0..... + 0xdc, 0x0d, 0x20, 0x08, 0x09, 0x5e, 0x2a, 0x0f, 0x15, 0x0c, 0x0e, 0x0a, 0x4a, 0xb3, 0x46, 0x13, // .. ..^*.....J.F. + 0x0b, 0x09, 0x0a, 0x26, 0xe4, 0x37, 0x0f, 0x27, 0x58, 0x02, 0x22, 0x19, 0x32, 0x4c, 0xb5, 0x44, // ...&.7.'X.".2L.D + 0x02, 0x4d, 0x1d, 0x12, 0x22, 0x09, 0x2b, 0xfe, 0xbc, 0x36, 0xd6, 0x14, 0x0e, 0x15, 0x0a, 0x01, // .M..".+..6...... + 0x15, 0x4d, 0x15, 0x32, 0x15, 0x2b, 0x11, 0x01, 0x27, 0x42, 0x1b, 0x07, 0x16, 0x02, 0x51, 0x66, // .M.2.+..'B....Qf + 0x14, 0x11, 0x58, 0x02, 0x56, 0x23, 0x1b, 0x2b, 0x5d, 0x0f, 0x0a, 0x23, 0x12, 0xfd, 0xc1, 0xc8, // ..X.V#.+]..#.... + 0x27, 0x14, 0x0a, 0x4c, 0x0f, 0x08, 0x02, 0x06, 0x14, 0x16, 0x2f, 0x28, 0x01, 0x65, 0xab, 0x42, // '..L....../(.e.B + 0x06, 0x13, 0x11, 0x17, 0xdd, 0x39, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, // .....9.......... + 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, // ................ + 0x00, 0x23, 0x00, 0x2c, 0x00, 0x38, 0x00, 0x00, 0x01, 0x21, 0x11, 0x21, 0x13, 0x15, 0x21, 0x35, // .#.,.8...!.!..!5 + 0x01, 0x11, 0x21, 0x11, 0x01, 0x15, 0x21, 0x35, 0x01, 0x15, 0x21, 0x35, 0x01, 0x15, 0x21, 0x35, // ..!...!5..!5..!5 + 0x01, 0x15, 0x21, 0x35, 0x01, 0x11, 0x23, 0x11, 0x14, 0x16, 0x32, 0x36, 0x25, 0x11, 0x21, 0x11, // ..!5..#...26%.!. + 0x14, 0x07, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x21, // ..!26....#!"&5.! + 0x35, 0x04, 0x00, 0xfe, 0x80, 0x01, 0x80, 0x80, 0xfd, 0x80, 0x02, 0x80, 0xfd, 0x80, 0x05, 0x00, // 5............... + 0xfe, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0x00, 0xfc, 0x00, // ................ + 0x80, 0x26, 0x34, 0x26, 0x06, 0x80, 0xfa, 0x00, 0x0b, 0x05, 0xcb, 0x1a, 0x26, 0x80, 0x70, 0x50, // .&4&........&.pP + 0xf9, 0x80, 0x50, 0x70, 0x01, 0x00, 0x04, 0x00, 0xfe, 0x80, 0xff, 0x00, 0x80, 0x80, 0x03, 0x00, // ..Pp............ + 0xfd, 0x80, 0x02, 0x80, 0xfd, 0x00, 0x80, 0x80, 0x01, 0x00, 0x80, 0x80, 0x01, 0x00, 0x80, 0x80, // ................ + 0x01, 0x00, 0x80, 0x80, 0xfc, 0x40, 0x03, 0xc0, 0xfc, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x04, 0x40, // .....@...@.&&..@ + 0xfb, 0xc0, 0x21, 0x1f, 0x26, 0x04, 0xda, 0xfb, 0x40, 0x50, 0x70, 0x70, 0x50, 0x04, 0x40, 0x80, // ..!.&...@PppP.@. + 0x00, 0x04, 0x00, 0x2a, 0x00, 0x0d, 0x07, 0xd6, 0x05, 0x80, 0x00, 0x09, 0x00, 0x1f, 0x00, 0x39, // ...*...........9 + 0x00, 0x51, 0x00, 0x00, 0x24, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x37, 0x22, // .Q..$"&5462...7" + 0x2e, 0x01, 0x22, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x32, 0x16, 0x17, // .."..#"&547>.2.. + 0x16, 0x15, 0x14, 0x06, 0x01, 0x22, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x03, 0x23, 0x22, 0x26, // ....."'..#"..#"& + 0x35, 0x34, 0x37, 0x36, 0x24, 0x20, 0x04, 0x17, 0x16, 0x15, 0x14, 0x06, 0x13, 0x22, 0x27, 0x26, // 5476$ ......."'& + 0x24, 0x20, 0x04, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x36, 0x24, 0x20, 0x04, 0x17, // $ ...#"&5476$ .. + 0x16, 0x15, 0x14, 0x06, 0x04, 0x14, 0x28, 0x92, 0x7d, 0x52, 0x7d, 0x68, 0x02, 0x4c, 0x7f, 0x82, // ......(.}R}h.L.. + 0x7f, 0x4b, 0x03, 0x12, 0x97, 0x0a, 0x4e, 0xec, 0xe6, 0xec, 0x4e, 0x0a, 0x97, 0x00, 0xff, 0x0b, // .K....N...N..... + 0x0c, 0x88, 0xe8, 0x98, 0x55, 0xab, 0x7f, 0x64, 0x3a, 0x02, 0x11, 0x96, 0x0a, 0x84, 0x01, 0x78, // ....U..d:......x + 0x01, 0x80, 0x01, 0x78, 0x84, 0x0a, 0x96, 0xfe, 0x0b, 0x0b, 0xb3, 0xfe, 0x7f, 0xfe, 0x38, 0xfe, // ...x..........8. + 0x7f, 0xb3, 0x0b, 0x0b, 0x11, 0x97, 0x0a, 0xbb, 0x02, 0x04, 0x02, 0x1a, 0x02, 0x04, 0xbb, 0x0a, // ................ + 0x97, 0x0d, 0x93, 0x14, 0x20, 0x2c, 0x2c, 0x20, 0x14, 0x7c, 0x32, 0x32, 0x32, 0x32, 0x96, 0x12, // .... ,, .|2222.. + 0x0d, 0x0a, 0x4d, 0x58, 0x58, 0x4d, 0x0a, 0x0d, 0x12, 0x96, 0x01, 0x10, 0x08, 0x69, 0x63, 0x2c, // ..MXXM.......ic, + 0x3e, 0x3e, 0x2c, 0x96, 0x12, 0x0c, 0x0a, 0x84, 0x92, 0x92, 0x84, 0x0a, 0x0c, 0x12, 0x96, 0x01, // >>,............. + 0x0f, 0x09, 0x9d, 0x9f, 0x9f, 0x9d, 0x09, 0x96, 0x12, 0x0d, 0x0a, 0xba, 0xcc, 0xcc, 0xba, 0x0a, // ................ + 0x0d, 0x12, 0x96, 0x00, 0x00, 0x0d, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x07, // ................ + 0x00, 0x0f, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x2f, 0x00, 0x37, 0x00, 0x3f, 0x00, 0x4b, // .......'./.7.?.K + 0x00, 0x53, 0x00, 0x63, 0x00, 0x6b, 0x00, 0x7b, 0x00, 0x00, 0x04, 0x34, 0x26, 0x22, 0x06, 0x14, // .S.c.k.{...4&".. + 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .2$4&"...2.4&".. + 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .2.4&"...2.4&".. + 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .2.4&"...2.4&".. + 0x16, 0x32, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x11, 0x34, 0x26, 0x22, 0x06, // .2.4&"...2..4&". + 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x11, // ....26.4&"...2.. + 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x10, 0x34, // 4&#!".....3!26.4 + 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // &"...2....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0x4b, // 463!2...KjKKj..K + 0x6a, 0x4b, 0x4b, 0x6a, 0xfe, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x03, 0x4b, 0x4b, 0x6a, 0x4b, // jKKj..KjKKj.KKjK + 0x4b, 0x6a, 0xfe, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xfe, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // Kj..KjKKj..KjKKj + 0x03, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xfe, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x03, 0x4b, // .KKjKKj..KjKKj.K + 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0xfe, 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0x26, // LhLLhL..KjKKj..& + 0x1a, 0xfb, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x05, 0x00, 0x1a, 0x26, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // ....&&....&KjKKj + 0xcb, 0x4c, 0x34, 0xfa, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x80, 0x34, 0x4c, 0x35, 0x6a, 0x4b, // .L4..4LL4..4L5jK + 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, // KjKKjKKjK..jKKjK + 0xfe, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0xcb, // ..jKKjK..jKKjK.. + 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0xfe, 0xcb, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0xcb, 0x6a, 0x4b, // jKKjK..jKKjK..jK + 0x4b, 0x6a, 0x4b, 0xfd, 0x80, 0x01, 0x80, 0x34, 0x4c, 0x4c, 0x34, 0xfe, 0x80, 0x34, 0x4c, 0x4c, // KjK....4LL4..4LL + 0x02, 0xff, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0xc0, 0x01, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0xff, // ..jKKjK.....&&.. + 0x00, 0x1a, 0x26, 0x26, 0xfe, 0xa5, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x03, 0x00, 0xfa, 0x00, 0x34, // ..&&..jKKjK....4 + 0x4c, 0x4c, 0x34, 0x06, 0x00, 0x34, 0x4c, 0x4c, 0x00, 0x02, 0x00, 0x09, 0xff, 0x00, 0x05, 0xef, // LL4..4LL........ + 0x06, 0x00, 0x00, 0x27, 0x00, 0x45, 0x00, 0x00, 0x01, 0x16, 0x07, 0x02, 0x21, 0x23, 0x22, 0x06, // ...'.E......!#". + 0x0f, 0x01, 0x03, 0x07, 0x0e, 0x01, 0x2b, 0x01, 0x22, 0x26, 0x37, 0x3e, 0x03, 0x37, 0x36, 0x3b, // ......+."&7>.76; + 0x01, 0x16, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x16, 0x17, 0x16, 0x27, 0x14, // ..7676767>....'. + 0x07, 0x06, 0x07, 0x06, 0x07, 0x14, 0x23, 0x27, 0x22, 0x07, 0x06, 0x03, 0x06, 0x23, 0x21, 0x22, // ......#'"....#!" + 0x26, 0x37, 0x13, 0x3e, 0x01, 0x33, 0x21, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x05, 0xef, 0x12, 0x16, // &7.>.3!2........ + 0x57, 0xfe, 0x22, 0x2c, 0x19, 0x26, 0x05, 0x04, 0x37, 0x02, 0x05, 0x27, 0x19, 0xfb, 0x15, 0x18, // W.",.&..7..'.... + 0x03, 0x09, 0x23, 0x12, 0x24, 0x09, 0x05, 0x26, 0x83, 0x85, 0x67, 0xaf, 0x70, 0x66, 0x35, 0x18, // ..#.$..&..g.pf5. + 0x0b, 0x01, 0x03, 0x04, 0x04, 0x4f, 0x99, 0x2e, 0x50, 0xde, 0x71, 0x8b, 0x5a, 0x5a, 0x64, 0x12, // .....O..P.q.ZZd. + 0x02, 0x53, 0x01, 0x0b, 0xfe, 0xd9, 0x16, 0x1d, 0x03, 0xe8, 0x05, 0x2d, 0x1d, 0x02, 0x56, 0x22, // .S.........-..V" + 0x7f, 0x30, 0x6b, 0x71, 0x03, 0x7a, 0x54, 0x78, 0xfe, 0x44, 0x21, 0x1a, 0x13, 0xfe, 0xa6, 0x0f, // .0kq.zTx.D!..... + 0x1a, 0x21, 0x1e, 0x15, 0x38, 0xe0, 0x70, 0xdf, 0x38, 0x25, 0x02, 0x17, 0x27, 0x69, 0x5f, 0x97, // .!..8.p.8%..'i_. + 0x46, 0x3f, 0x06, 0x03, 0x01, 0x03, 0x3b, 0xb3, 0x6b, 0x81, 0xe9, 0x52, 0x28, 0x02, 0x01, 0x01, // F?....;.k..R(... + 0x60, 0x08, 0xfd, 0xf6, 0x0a, 0x21, 0x16, 0x05, 0xbf, 0x1d, 0x26, 0x1a, 0x13, 0x29, 0xa4, 0x00, // `....!....&..).. + 0x00, 0x04, 0x00, 0x27, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x19, // ...'............ + 0x00, 0x28, 0x00, 0x00, 0x01, 0x32, 0x17, 0x00, 0x13, 0x21, 0x02, 0x03, 0x26, 0x36, 0x33, 0x01, // .(...2...!..&63. + 0x06, 0x07, 0x02, 0x03, 0x36, 0x37, 0x12, 0x13, 0x12, 0x00, 0x13, 0x21, 0x02, 0x09, 0x01, 0x10, // ....67.....!.... + 0x03, 0x02, 0x01, 0x02, 0x03, 0x26, 0x36, 0x33, 0x21, 0x32, 0x16, 0x17, 0x12, 0x01, 0xb9, 0x21, // .....&63!2.....! + 0x13, 0x01, 0x0a, 0x60, 0xfe, 0x42, 0x7f, 0xf0, 0x0c, 0x12, 0x14, 0x03, 0xa4, 0x31, 0x4c, 0x4f, // ...`.B.......1LO + 0xb1, 0x28, 0x04, 0xd3, 0xe1, 0xeb, 0x01, 0x2b, 0x23, 0xfe, 0x3d, 0x29, 0xfe, 0x00, 0x04, 0x68, // .(.....+#.=)...h + 0x65, 0x43, 0xfe, 0xdc, 0x19, 0x51, 0x04, 0x13, 0x10, 0x01, 0x67, 0x15, 0x23, 0x05, 0x73, 0x03, // eC...Q....g.#.s. + 0x60, 0x1a, 0xfe, 0x94, 0xfe, 0x66, 0x01, 0xb9, 0x01, 0x34, 0x10, 0x23, 0xfe, 0x9b, 0xc7, 0xc2, // `....f...4.#.... + 0x01, 0x36, 0x01, 0x1c, 0xdd, 0xe4, 0xfe, 0xac, 0x01, 0x8f, 0xfe, 0xbc, 0xfd, 0x13, 0xfe, 0x71, // .6.............q + 0x02, 0x99, 0x03, 0x27, 0xfd, 0xc0, 0xfe, 0x58, 0xfe, 0x7c, 0x02, 0x30, 0x02, 0x0b, 0x01, 0x2d, // ...'...X.|.0...- + 0x01, 0x1b, 0x10, 0x19, 0x1a, 0x14, 0xfe, 0x67, 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, // .......g........ + 0x05, 0x80, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x3e, 0x00, 0x49, 0x00, 0x59, // ...........>.I.Y + 0x00, 0x00, 0x01, 0x23, 0x36, 0x3f, 0x01, 0x3e, 0x01, 0x37, 0x17, 0x05, 0x03, 0x26, 0x23, 0x21, // ...#6?.>.7...&#! + 0x07, 0x04, 0x25, 0x03, 0x27, 0x2e, 0x01, 0x27, 0x13, 0x33, 0x01, 0x03, 0x33, 0x13, 0x23, 0x05, // ..%.'..'.3..3.#. + 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x2f, 0x01, // &#".........#"/. + 0x07, 0x16, 0x33, 0x16, 0x36, 0x37, 0x34, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x36, 0x1f, // ..3.674'..54636. + 0x01, 0x25, 0x23, 0x22, 0x07, 0x03, 0x33, 0x37, 0x33, 0x16, 0x17, 0x33, 0x13, 0x11, 0x14, 0x06, // .%#"..373..3.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0xb7, 0x8a, 0x0e, // #!"&5.463!2..... + 0x34, 0x03, 0x04, 0x0c, 0x03, 0x0c, 0xfa, 0x82, 0x3a, 0x0b, 0x40, 0xfe, 0xf4, 0x02, 0x01, 0x37, // 4.......:.@....7 + 0x01, 0x0f, 0xa2, 0x11, 0x1a, 0x76, 0x48, 0x87, 0xaf, 0x01, 0x05, 0x25, 0xa6, 0x68, 0xa6, 0x02, // .....vH....%.h.. + 0x98, 0x45, 0x50, 0x7b, 0x9c, 0x01, 0x01, 0x92, 0x30, 0x26, 0x3c, 0x27, 0x56, 0x46, 0x16, 0x17, // .EP{....0&<'VF.. + 0x4a, 0x6f, 0x82, 0x9d, 0x02, 0x8c, 0x31, 0x2c, 0x31, 0x2e, 0x46, 0x36, 0x0f, 0x01, 0xc0, 0x80, // Jo....1,1.F6.... + 0x41, 0x16, 0xf6, 0xae, 0x23, 0xd4, 0x05, 0x0f, 0x9a, 0x80, 0x4c, 0x34, 0xf8, 0x00, 0x34, 0x4c, // A...#.....L4..4L + 0x4c, 0x34, 0x08, 0x00, 0x34, 0x4c, 0x02, 0x22, 0x25, 0x8e, 0x09, 0x0a, 0x20, 0x0a, 0x37, 0x78, // L4..4L."%... .7x + 0x01, 0x27, 0x36, 0x0d, 0x4f, 0x5c, 0xfe, 0x4a, 0x59, 0x46, 0x77, 0x1d, 0xfe, 0x02, 0x02, 0x81, // .'6.O..JYFw..... + 0xfd, 0x7e, 0x02, 0x82, 0x10, 0x1b, 0x76, 0x5e, 0x66, 0x48, 0x17, 0x24, 0x15, 0x1e, 0x20, 0x21, // .~....v^fH.$.. ! + 0x0b, 0x90, 0x22, 0x01, 0x78, 0x64, 0x6a, 0x44, 0x19, 0x22, 0x15, 0x16, 0x21, 0x01, 0x19, 0x08, // ..".xdjD."..!... + 0x9b, 0x36, 0xfd, 0xb4, 0x60, 0x16, 0x4a, 0x03, 0xc2, 0xfb, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, // .6..`.J....4LL4. + 0x00, 0x34, 0x4c, 0x4c, 0x00, 0x18, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x11, // .4LL............ + 0x00, 0x19, 0x00, 0x2b, 0x00, 0x33, 0x00, 0x40, 0x00, 0x47, 0x00, 0x58, 0x00, 0x63, 0x00, 0x67, // ...+.3.@.G.X.c.g + 0x00, 0x71, 0x00, 0x7a, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0xc7, 0x00, 0xe5, 0x00, 0xf9, 0x01, 0x0b, // .q.z............ + 0x01, 0x19, 0x01, 0x2d, 0x01, 0x3c, 0x01, 0x4a, 0x01, 0x58, 0x01, 0x7b, 0x01, 0x8b, 0x00, 0x00, // ...-.<.J.X.{.... + 0x01, 0x26, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x26, 0x02, 0x12, // .&#"......327&.. + 0x37, 0x06, 0x02, 0x12, 0x17, 0x36, 0x12, 0x02, 0x27, 0x16, 0x12, 0x02, 0x07, 0x16, 0x33, 0x32, // 7....6..'.....32 + 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x01, 0x33, 0x35, 0x23, 0x15, 0x33, 0x15, 0x3b, // >.54..#".35#.3.; + 0x02, 0x35, 0x23, 0x07, 0x27, 0x23, 0x15, 0x33, 0x35, 0x17, 0x33, 0x37, 0x03, 0x15, 0x2b, 0x01, // .5#.'#.35.37..+. + 0x35, 0x3b, 0x01, 0x15, 0x33, 0x27, 0x32, 0x33, 0x37, 0x36, 0x34, 0x2f, 0x01, 0x22, 0x2b, 0x01, // 5;..3'23764/."+. + 0x15, 0x33, 0x35, 0x33, 0x24, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x24, // .353$4632....#"$ + 0x32, 0x17, 0x23, 0x04, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x36, 0x34, 0x36, // 2.#.462....#"646 + 0x32, 0x16, 0x15, 0x14, 0x06, 0x22, 0x17, 0x22, 0x27, 0x22, 0x26, 0x35, 0x26, 0x35, 0x34, 0x37, // 2...."."'"&5&547 + 0x34, 0x37, 0x36, 0x31, 0x32, 0x35, 0x36, 0x33, 0x32, 0x17, 0x16, 0x31, 0x17, 0x15, 0x16, 0x15, // 476125632..1.... + 0x07, 0x1c, 0x01, 0x23, 0x07, 0x06, 0x23, 0x06, 0x25, 0x33, 0x35, 0x34, 0x26, 0x27, 0x22, 0x07, // ...#..#.%354&'". + 0x26, 0x23, 0x22, 0x07, 0x35, 0x23, 0x15, 0x33, 0x35, 0x34, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x35, // &#".5#.35432..35 + 0x34, 0x33, 0x32, 0x15, 0x17, 0x33, 0x3d, 0x01, 0x23, 0x15, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, // 432..3=.#.&#"... + 0x33, 0x32, 0x3f, 0x01, 0x34, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, // 32?.4/.&5432.7&# + 0x22, 0x06, 0x15, 0x14, 0x1f, 0x01, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x07, 0x16, 0x33, 0x32, // "........#"'..32 + 0x36, 0x17, 0x27, 0x06, 0x23, 0x22, 0x3d, 0x01, 0x33, 0x35, 0x23, 0x35, 0x23, 0x15, 0x23, 0x15, // 6.'.#"=.35#5#.#. + 0x33, 0x15, 0x14, 0x33, 0x32, 0x37, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x27, 0x06, // 3..327"....327'. + 0x23, 0x22, 0x27, 0x33, 0x35, 0x34, 0x26, 0x33, 0x22, 0x07, 0x35, 0x23, 0x15, 0x33, 0x35, 0x34, // #"'354&3".5#.354 + 0x33, 0x32, 0x17, 0x37, 0x26, 0x16, 0x14, 0x16, 0x33, 0x32, 0x37, 0x27, 0x06, 0x27, 0x22, 0x26, // 32.7&...327'.'"& + 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x17, 0x33, 0x3d, 0x01, 0x23, 0x15, 0x26, // 4632.7&#".3=.#.& + 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x22, 0x07, 0x35, 0x23, 0x15, 0x33, 0x35, // #"...32?.".5#.35 + 0x34, 0x33, 0x32, 0x17, 0x37, 0x26, 0x17, 0x33, 0x3d, 0x01, 0x23, 0x15, 0x26, 0x22, 0x06, 0x14, // 432.7&.3=.#.&".. + 0x16, 0x33, 0x32, 0x3f, 0x01, 0x07, 0x22, 0x23, 0x06, 0x07, 0x06, 0x15, 0x06, 0x15, 0x14, 0x17, // .32?.."#........ + 0x14, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x34, 0x3f, 0x01, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, // ....3274?.67654' + 0x26, 0x27, 0x34, 0x2f, 0x01, 0x22, 0x26, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // &'4/."&....#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x5f, 0x80, 0x99, 0x67, 0xbd, 0x88, 0x51, 0x51, // .463!2.._..g..QQ + 0x88, 0xbc, 0x68, 0x99, 0x80, 0x83, 0x5e, 0x5f, 0xa3, 0x7e, 0x5c, 0x5b, 0x7f, 0x7f, 0x5b, 0x5c, // ..h...^_.~.[..[. + 0x5d, 0x82, 0x5f, 0x5e, 0x83, 0x80, 0x99, 0x68, 0xbc, 0x88, 0x51, 0x51, 0x88, 0xbd, 0x67, 0x99, // ]._^...h..QQ..g. + 0x02, 0x65, 0x07, 0x11, 0x07, 0x03, 0x1d, 0x04, 0x05, 0x06, 0x06, 0x05, 0x03, 0x06, 0x04, 0x05, // .e.............. + 0x08, 0x02, 0x03, 0x03, 0x02, 0x03, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x06, // ................ + 0x03, 0x01, 0xfb, 0x16, 0x16, 0x13, 0x12, 0x16, 0x16, 0x12, 0x13, 0x01, 0xa5, 0x3c, 0x05, 0x46, // .............<.F + 0x01, 0x87, 0x16, 0x24, 0x17, 0x16, 0x13, 0x12, 0xfa, 0x17, 0x24, 0x17, 0x17, 0x24, 0x87, 0x02, // ...$......$..$.. + 0x02, 0x01, 0x04, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x01, 0x04, 0x02, 0x01, 0x01, // ................ + 0x01, 0x01, 0x02, 0x02, 0x01, 0xfa, 0xbc, 0x1e, 0x1d, 0x19, 0x20, 0x0f, 0x0e, 0x1f, 0x18, 0x0f, // .......... ..... + 0x1e, 0x1e, 0x21, 0x1e, 0x1d, 0x21, 0x1e, 0xa6, 0x1d, 0x1d, 0x11, 0x1a, 0x1d, 0x26, 0x26, 0x1d, // ..!..!.......&&. + 0x1c, 0x0f, 0xb2, 0x2f, 0x0e, 0x17, 0x19, 0x17, 0x14, 0x0c, 0x16, 0x21, 0x1a, 0x1e, 0x2f, 0x0d, // .../.......!../. + 0x18, 0x1f, 0x19, 0x14, 0x0d, 0x19, 0x21, 0x1d, 0x21, 0x82, 0x08, 0x0d, 0x0d, 0x13, 0x30, 0x30, // ......!.!.....00 + 0x1e, 0x1c, 0x1c, 0x2f, 0x15, 0x65, 0x1d, 0x26, 0x27, 0x1e, 0x21, 0x16, 0x0e, 0x12, 0x15, 0x22, // .../.e.&'.!...." + 0x07, 0x65, 0x24, 0x83, 0x17, 0x0c, 0x1e, 0x1e, 0x1d, 0x0a, 0x08, 0x09, 0x09, 0x12, 0x27, 0x21, // .e$...........'! + 0x1d, 0x13, 0x0e, 0x12, 0x11, 0x12, 0x17, 0x17, 0x12, 0x13, 0x10, 0x0e, 0x14, 0x1c, 0x21, 0xce, // ..............!. + 0x1e, 0x1e, 0x0f, 0x1b, 0x1d, 0x27, 0x27, 0x1d, 0x1c, 0x0e, 0x85, 0x17, 0x0c, 0x1d, 0x1d, 0x1d, // .....''......... + 0x0a, 0x08, 0x09, 0x08, 0x7f, 0x1d, 0x1d, 0x0f, 0x38, 0x27, 0x27, 0x1c, 0x1d, 0x0e, 0x4e, 0x02, // ........8''...N. + 0x02, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x03, 0x02, 0x04, 0x03, 0x04, 0x02, 0x02, 0x02, 0x01, // ................ + 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x04, 0x01, 0x67, 0x4c, 0x34, 0xf8, 0x00, 0x34, // ..........gL4..4 + 0x4c, 0x4c, 0x34, 0x08, 0x00, 0x34, 0x4c, 0x04, 0xab, 0x55, 0x51, 0x88, 0xbc, 0x67, 0x68, 0xbc, // LL4..4L..UQ..gh. + 0x88, 0x51, 0x55, 0x6b, 0x01, 0x3d, 0x01, 0x3c, 0x53, 0x63, 0xfe, 0xd3, 0xfe, 0xd4, 0x63, 0x63, // .QUk.=.(.."....... + 0x0e, 0x18, 0x14, 0x21, 0x06, 0x02, 0x04, 0x0a, 0x11, 0x0e, 0x17, 0x11, 0x18, 0x0e, 0x19, 0x07, // ...!............ + 0x16, 0x3d, 0x1b, 0x29, 0x29, 0x1b, 0x3d, 0x32, 0x8e, 0x28, 0x1f, 0x20, 0x27, 0x13, 0x16, 0x0f, // .=.)).=2.(. '... + 0x21, 0x0c, 0x20, 0x27, 0x14, 0x10, 0x87, 0x4c, 0x23, 0x04, 0x1c, 0x04, 0x28, 0x3e, 0x28, 0x10, // !. '...L#...(>(. + 0x18, 0x0d, 0x01, 0x18, 0x26, 0x18, 0x0c, 0x18, 0x10, 0x8b, 0x44, 0x43, 0x10, 0x14, 0x28, 0x3e, // ....&.....DC..(> + 0x28, 0x14, 0x7a, 0x14, 0x10, 0x87, 0x4c, 0x23, 0x04, 0x1c, 0x04, 0x8b, 0x44, 0x7a, 0x47, 0x14, // (.z...L#....DzG. + 0x29, 0x3c, 0x29, 0x14, 0x03, 0x01, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x03, 0x02, 0x02, 0x02, // )<)............. + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x03, 0x04, 0x02, 0x01, 0x03, 0x01, 0x01, // ................ + 0x01, 0x01, 0x04, 0xe5, 0xfb, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, 0x34, 0x4c, 0x4c, 0x00, // ......4LL4..4LL. + 0x00, 0x0c, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x0a, 0x00, 0x11, 0x00, 0x1b, // ................ + 0x00, 0x1f, 0x00, 0x42, 0x00, 0x57, 0x00, 0x62, 0x00, 0x6a, 0x00, 0x71, 0x00, 0x7d, 0x00, 0x8a, // ...B.W.b.j.q.}.. + 0x00, 0x9a, 0x00, 0x00, 0x01, 0x14, 0x07, 0x06, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x17, 0x16, 0x25, // ........+.532..% + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x05, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x37, 0x36, // .+.532.4&+..3276 + 0x17, 0x33, 0x11, 0x23, 0x05, 0x34, 0x26, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, // .3.#.4&'..54632. + 0x37, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x06, 0x23, // 7&#"...........# + 0x22, 0x27, 0x07, 0x16, 0x33, 0x32, 0x36, 0x05, 0x35, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, // "'..326.5.#"&546 + 0x33, 0x32, 0x17, 0x35, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x32, 0x01, 0x11, 0x0e, 0x01, // 32.5&#"...32.... + 0x0c, 0x02, 0x05, 0x21, 0x32, 0x36, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x25, 0x13, // ...!26.4&"...2%. + 0x23, 0x07, 0x27, 0x23, 0x13, 0x37, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, // #.'#.735#535#535 + 0x23, 0x01, 0x33, 0x27, 0x36, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x35, 0x33, 0x01, 0x11, // #.3'654&+..353.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x39, // ..#!"&5.463!2..9 + 0x24, 0x1d, 0x3c, 0x11, 0x11, 0x3d, 0x1c, 0x24, 0x06, 0xf0, 0x40, 0x13, 0x14, 0x3f, 0xf9, 0x53, // $.<..=.$..@..?.S + 0x64, 0x4f, 0x5f, 0x5f, 0x4a, 0x2d, 0x3c, 0x1e, 0x41, 0x41, 0x01, 0x40, 0x29, 0x37, 0x1d, 0x15, // dO__J-<.AA.@)7.. + 0x1b, 0x15, 0x1d, 0x18, 0x22, 0x29, 0x39, 0x2c, 0x3c, 0x24, 0x2e, 0x25, 0x08, 0x13, 0x1c, 0x16, // ....")9,<$.%.... + 0x30, 0x17, 0x2a, 0x2c, 0x47, 0x33, 0x40, 0x01, 0x16, 0x25, 0x29, 0x31, 0x3f, 0x3f, 0x2e, 0x2b, // 0.*,G3@..%)1??.+ + 0x26, 0x28, 0x28, 0x4a, 0x67, 0x66, 0x4a, 0x2a, 0x04, 0xf7, 0x41, 0x9f, 0xfe, 0xc4, 0xfe, 0xa9, // &((JgfJ*..A..... + 0xfe, 0x14, 0xfe, 0xfe, 0x06, 0x21, 0x1a, 0x26, 0xfc, 0xad, 0x6a, 0x96, 0x6a, 0x6a, 0x96, 0x01, // .....!.&..j.jj.. + 0x02, 0x90, 0x47, 0x5a, 0x59, 0x47, 0x8e, 0xd0, 0xb8, 0x77, 0x73, 0x73, 0x77, 0xb8, 0x01, 0x87, // ..GZYG...wssw... + 0x50, 0x69, 0x4c, 0x3e, 0x38, 0x61, 0x41, 0x09, 0x01, 0x21, 0x4d, 0x37, 0xf8, 0x08, 0x37, 0x4d, // PiL>8aA..!M7..7M + 0x4d, 0x37, 0x07, 0xf8, 0x37, 0x4d, 0x02, 0xf7, 0x33, 0x21, 0x1a, 0xdc, 0x1b, 0x1f, 0x0d, 0x34, // M7..7M..3!.....4 + 0x65, 0x72, 0x4a, 0x5d, 0xfe, 0xb3, 0x26, 0x33, 0x59, 0x01, 0x4d, 0xe8, 0x28, 0x2c, 0x14, 0x0a, // erJ]..&3Y.M.(,.. + 0x12, 0x0e, 0x10, 0x15, 0x1b, 0x2c, 0x25, 0x37, 0x28, 0x23, 0x29, 0x10, 0x0d, 0x06, 0x0c, 0x16, // .....,%7(#)..... + 0x14, 0x1b, 0x2c, 0x28, 0x40, 0x3d, 0x29, 0x4d, 0x25, 0x41, 0x32, 0x30, 0x43, 0x26, 0x4d, 0x14, // ..,(@=)M%A20C&M. + 0x65, 0x92, 0x65, 0xfd, 0xb7, 0x02, 0x0f, 0x28, 0x58, 0x92, 0x81, 0x8c, 0x30, 0x26, 0x02, 0xc4, // e.e....(X...0&.. + 0x96, 0x6a, 0x6a, 0x96, 0x6a, 0x08, 0x01, 0x56, 0xe0, 0xe0, 0xfe, 0xaa, 0x09, 0x38, 0x5a, 0x38, // .jj.j..V.....8Z8 + 0x4a, 0x39, 0xfe, 0xb3, 0x8c, 0x10, 0x4e, 0x2f, 0x34, 0xfe, 0xb3, 0x85, 0x02, 0x24, 0xfb, 0x0c, // J9....N/4....$.. + 0x38, 0x4e, 0x4e, 0x38, 0x04, 0xf4, 0x38, 0x4e, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, // 8NN8..8NN....... + 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x0e, 0x00, 0x15, 0x00, 0x1c, // ................ + 0x00, 0x23, 0x00, 0x26, 0x00, 0x3a, 0x00, 0x4f, 0x00, 0x5b, 0x00, 0xce, 0x00, 0xe2, 0x00, 0xf9, // .#.&.:.O.[...... + 0x01, 0x05, 0x01, 0x09, 0x01, 0x24, 0x01, 0x3f, 0x01, 0x62, 0x00, 0x00, 0x13, 0x33, 0x27, 0x01, // .....$.?.b...3'. + 0x37, 0x27, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x25, 0x17, 0x35, 0x17, 0x34, 0x2b, 0x01, 0x15, // 7'#.3.#.%.5.4+.. + 0x33, 0x32, 0x25, 0x34, 0x2b, 0x01, 0x15, 0x33, 0x32, 0x01, 0x34, 0x2b, 0x01, 0x15, 0x33, 0x32, // 32%4+..32.4+..32 + 0x05, 0x33, 0x27, 0x25, 0x11, 0x23, 0x35, 0x07, 0x23, 0x27, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, // .3'%.#5.#'.#'#.# + 0x13, 0x33, 0x13, 0x11, 0x33, 0x17, 0x37, 0x01, 0x14, 0x0e, 0x04, 0x22, 0x26, 0x23, 0x15, 0x23, // .3..3.7...."&#.# + 0x27, 0x07, 0x21, 0x11, 0x21, 0x17, 0x37, 0x33, 0x32, 0x25, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, // '.!.!.732%.#.3.# + 0x15, 0x33, 0x15, 0x23, 0x15, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x33, // .3.#.....#!"&5.3 + 0x37, 0x33, 0x17, 0x33, 0x35, 0x17, 0x33, 0x37, 0x15, 0x21, 0x35, 0x37, 0x32, 0x1d, 0x01, 0x21, // 73.35.37.!572..! + 0x35, 0x1e, 0x02, 0x36, 0x33, 0x37, 0x33, 0x17, 0x33, 0x35, 0x17, 0x33, 0x11, 0x23, 0x15, 0x27, // 5..6373.35.3.#.' + 0x23, 0x15, 0x27, 0x23, 0x22, 0x07, 0x35, 0x23, 0x15, 0x26, 0x23, 0x21, 0x07, 0x27, 0x23, 0x15, // #.'#".5#.&#!.'#. + 0x27, 0x23, 0x07, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x23, 0x22, 0x07, 0x35, // '#..463!2...#".5 + 0x23, 0x22, 0x07, 0x35, 0x21, 0x15, 0x26, 0x2b, 0x01, 0x15, 0x26, 0x2b, 0x01, 0x07, 0x27, 0x21, // #".5!.&+..&+..'! + 0x11, 0x21, 0x37, 0x17, 0x33, 0x35, 0x33, 0x32, 0x37, 0x15, 0x33, 0x35, 0x33, 0x32, 0x16, 0x1d, // .!7.35327.3532.. + 0x01, 0x21, 0x32, 0x37, 0x15, 0x33, 0x32, 0x25, 0x14, 0x06, 0x07, 0x1e, 0x01, 0x1d, 0x01, 0x23, // .!27.32%.......# + 0x35, 0x34, 0x26, 0x2b, 0x01, 0x15, 0x23, 0x11, 0x33, 0x32, 0x16, 0x01, 0x14, 0x06, 0x07, 0x1e, // 54&+..#.32...... + 0x01, 0x1d, 0x01, 0x23, 0x34, 0x36, 0x2e, 0x03, 0x2b, 0x01, 0x15, 0x23, 0x11, 0x17, 0x32, 0x16, // ...#46..+..#..2. + 0x01, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x01, 0x11, 0x23, 0x11, // ..#.3.#.3.#...#. + 0x01, 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x35, 0x34, 0x26, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x36, // ..+.53254&"..546 + 0x3b, 0x01, 0x15, 0x23, 0x22, 0x15, 0x14, 0x16, 0x36, 0x1e, 0x01, 0x37, 0x15, 0x06, 0x2b, 0x01, // ;..#"...6..7..+. + 0x35, 0x33, 0x32, 0x35, 0x34, 0x26, 0x06, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x15, 0x23, // 53254&...546;..# + 0x22, 0x15, 0x14, 0x1e, 0x01, 0x03, 0x11, 0x23, 0x27, 0x15, 0x23, 0x27, 0x23, 0x07, 0x23, 0x22, // "......#'.#'#.#" + 0x35, 0x34, 0x3b, 0x01, 0x15, 0x22, 0x26, 0x0e, 0x04, 0x15, 0x14, 0x16, 0x3b, 0x01, 0x37, 0x33, // 54;.."&.....;.73 + 0x13, 0x11, 0x33, 0x17, 0x35, 0x77, 0x59, 0x2d, 0x02, 0x41, 0x4a, 0x46, 0xa3, 0x8e, 0x8e, 0x01, // ..3.5wY-.AJF.... + 0x3d, 0x63, 0xbd, 0x28, 0x54, 0x53, 0x29, 0x01, 0x21, 0x2a, 0x52, 0x51, 0x2b, 0xfe, 0xea, 0x2a, // =c.(TS).!*RQ+..* + 0x52, 0x51, 0x2b, 0x01, 0xcb, 0x59, 0x2c, 0xfc, 0x16, 0x42, 0x5e, 0x39, 0x5e, 0x84, 0x19, 0x87, // RQ+..Y,..B^9^... + 0x19, 0x46, 0x74, 0x60, 0x6e, 0x6a, 0x55, 0x4d, 0x02, 0x98, 0x0b, 0x11, 0x1c, 0x18, 0x27, 0x18, // .Ft`njUM......'. + 0x29, 0x09, 0x7e, 0x50, 0x53, 0xff, 0x00, 0x01, 0x04, 0x50, 0x52, 0xcf, 0x6d, 0xfe, 0xdd, 0xd9, // ).~PS....PR.m... + 0xd9, 0x98, 0x94, 0x94, 0x05, 0xd4, 0x4d, 0x37, 0xf8, 0x08, 0x37, 0x4d, 0x6f, 0x19, 0x37, 0x19, // ......M7..7Mo.7. + 0xda, 0x13, 0x71, 0x14, 0x02, 0x1d, 0x0a, 0x0a, 0x01, 0x17, 0x17, 0x40, 0x29, 0x55, 0x09, 0x19, // ..q........@)U.. + 0x38, 0x19, 0xe3, 0x22, 0xb6, 0xb4, 0x19, 0xb9, 0x17, 0xf9, 0x45, 0x28, 0xac, 0x18, 0x31, 0xfd, // 8.."......E(..1. + 0x8c, 0x2b, 0x2b, 0xc6, 0x16, 0xa9, 0x4e, 0x4d, 0x37, 0x07, 0xf8, 0x37, 0x4d, 0x78, 0x33, 0x1e, // .++...NM7..7Mx3. + 0xb1, 0x37, 0x17, 0xfe, 0xc4, 0x1f, 0x38, 0xd1, 0x17, 0x44, 0xea, 0x36, 0x32, 0xfe, 0xa3, 0x01, // .7....8..D.62... + 0x57, 0x37, 0x34, 0xd3, 0x15, 0x3b, 0x1f, 0xae, 0x08, 0x08, 0x04, 0x02, 0x11, 0x39, 0x1f, 0xa8, // W74..;.......9.. + 0x3c, 0xfd, 0x2d, 0x18, 0x16, 0x19, 0x12, 0x41, 0x18, 0x22, 0x45, 0x41, 0x9a, 0x30, 0x3a, 0xfe, // <.-....A."EA.0:. + 0xeb, 0x19, 0x15, 0x1a, 0x11, 0x41, 0x01, 0x01, 0x05, 0x0c, 0x17, 0x12, 0x46, 0x40, 0x99, 0x31, // .....A......F@.1 + 0x3a, 0x02, 0x11, 0xd8, 0xd8, 0x97, 0x94, 0x94, 0xfe, 0xed, 0x42, 0x02, 0xf7, 0x66, 0x7e, 0x7e, // :.........B..f~~ + 0x22, 0x22, 0x31, 0x32, 0x22, 0x34, 0x28, 0x82, 0x77, 0x24, 0x23, 0x31, 0x31, 0x23, 0xef, 0x18, // ""12"4(.w$#11#.. + 0x40, 0x7d, 0x7d, 0x21, 0x19, 0x25, 0x2b, 0x25, 0x19, 0x35, 0x28, 0x81, 0x76, 0x24, 0x3a, 0x4f, // @}}!.%+%.5(.v$:O + 0x94, 0x5c, 0x7a, 0x84, 0x1a, 0x86, 0x19, 0x4b, 0x81, 0x85, 0x3f, 0x07, 0x2a, 0x0f, 0x1f, 0x0c, // ..z....K..?.*... + 0x11, 0x06, 0x1b, 0x24, 0x1d, 0x5c, 0x61, 0x6d, 0x63, 0x72, 0x03, 0x56, 0x6c, 0xfd, 0x86, 0x4f, // ...$..amcr.Vl..O + 0x4f, 0x31, 0x37, 0x36, 0x4e, 0x6e, 0xd9, 0x3c, 0x21, 0x45, 0x28, 0x1d, 0x3d, 0x01, 0xf2, 0x1d, // O176Nn..2.326..6&+.". + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x06, 0x15, 0x14, 0x3b, 0x01, // &#"....3267...;. + 0x32, 0x00, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x0f, 0x01, 0x27, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, // 2.4&+."..'&+.".. + 0x14, 0x1e, 0x01, 0x17, 0x06, 0x15, 0x14, 0x3b, 0x01, 0x32, 0x37, 0x01, 0x25, 0x34, 0x26, 0x2b, // .......;.27.%4&+ + 0x01, 0x22, 0x07, 0x03, 0x06, 0x16, 0x3b, 0x01, 0x32, 0x3f, 0x01, 0x3e, 0x02, 0x32, 0x16, 0x33, // ."....;.2?.>.2.3 + 0x32, 0x36, 0x05, 0x13, 0x36, 0x26, 0x2b, 0x01, 0x22, 0x07, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, // 26..6&+.".&#"... + 0x16, 0x33, 0x32, 0x36, 0x37, 0x14, 0x06, 0x15, 0x14, 0x3b, 0x01, 0x32, 0x13, 0x35, 0x34, 0x2b, // .3267....;.2.54+ + 0x01, 0x22, 0x07, 0x03, 0x07, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x37, 0x01, 0x0e, 0x01, 0x23, 0x07, // .".....;.27...#. + 0x37, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // 76;.2.....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0xe9, 0x33, 0x25, 0x1d, 0x23, 0x32, 0x25, 0x1c, 0x25, // 463!2...3%.#2%.% + 0x03, 0x11, 0x2c, 0x2c, 0x20, 0x11, 0x02, 0x0b, 0x12, 0x16, 0x1a, 0x18, 0x01, 0x5f, 0x33, 0x24, // ..,, ........_3$ + 0x1d, 0x24, 0x32, 0x25, 0x1c, 0x25, 0xfa, 0xa8, 0x4d, 0x3e, 0xa0, 0x13, 0x02, 0x41, 0x01, 0x08, // .$2%.%..M>...A.. + 0x06, 0x4c, 0x14, 0x02, 0x12, 0x01, 0x0c, 0x12, 0x10, 0x16, 0x03, 0x56, 0x62, 0x01, 0x35, 0x29, // .L.........Vb.5) + 0x01, 0x08, 0x06, 0x4c, 0x0e, 0x03, 0x1b, 0x44, 0x48, 0x65, 0x45, 0x3a, 0x1c, 0x3c, 0x12, 0x04, // ...L...DHeE:.<.. + 0x0d, 0x45, 0x13, 0x01, 0xc2, 0x08, 0x05, 0x4d, 0x0b, 0x07, 0x6a, 0x2c, 0x05, 0x11, 0x4b, 0x05, // .E.....M..j,..K. + 0x08, 0x27, 0x2d, 0x01, 0x52, 0x0d, 0x4d, 0x0b, 0x07, 0x00, 0xff, 0x01, 0x7e, 0x4d, 0x3e, 0x9f, // .'-.R.M.....~M>. + 0x14, 0x02, 0x41, 0x01, 0x08, 0x06, 0x52, 0x0c, 0x04, 0x12, 0x01, 0x0c, 0x12, 0x10, 0x16, 0x03, // ..A...R......... + 0x56, 0x62, 0x01, 0x35, 0x29, 0x01, 0x08, 0x06, 0x4c, 0x0e, 0x03, 0x1a, 0x45, 0x48, 0x65, 0x45, // Vb.5)...L...EHeE + 0x3a, 0x1d, 0x3c, 0x11, 0x04, 0x0d, 0x45, 0x13, 0xdd, 0x0d, 0x4a, 0x0b, 0x02, 0x41, 0x01, 0x08, // :.<...E...J..A.. + 0x06, 0x42, 0x13, 0x02, 0xf9, 0x49, 0x05, 0x2a, 0x27, 0x21, 0x11, 0x02, 0x0b, 0x13, 0x28, 0x24, // .B...I.*'!....($ + 0x07, 0x72, 0x4c, 0x34, 0xf8, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x08, 0x00, 0x34, 0x4c, 0x02, 0x76, // .rL4..4LL4..4L.v + 0x25, 0x31, 0x20, 0x1c, 0x25, 0x33, 0x21, 0x78, 0x2a, 0x1e, 0x01, 0x6b, 0x0b, 0x04, 0x15, 0xa9, // %1 .%3!x*..k.... + 0x24, 0x32, 0x20, 0x1c, 0x25, 0x33, 0x21, 0x8e, 0x3b, 0x35, 0x13, 0xfe, 0x68, 0x06, 0x0a, 0x13, // $2 .%3!.;5..h... + 0x6e, 0x08, 0x0a, 0x03, 0x02, 0x61, 0xe2, 0x01, 0x05, 0x06, 0x0a, 0x21, 0x28, 0x6c, 0x49, 0x3b, // n....a.....!(lI; + 0x46, 0x18, 0x14, 0x0c, 0x09, 0x10, 0x01, 0x15, 0x0a, 0x09, 0x0a, 0x9c, 0x96, 0x10, 0x09, 0x05, // F............... + 0x02, 0x72, 0x84, 0x04, 0x70, 0x08, 0x0d, 0x0a, 0x01, 0x70, 0x38, 0x3b, 0x35, 0x13, 0xfe, 0x68, // .r..p....p8;5..h + 0x06, 0x0a, 0x0d, 0x74, 0x08, 0x0a, 0x03, 0x02, 0x61, 0xe2, 0x01, 0x05, 0x06, 0x0a, 0x21, 0x28, // ...t....a.....!( + 0x6c, 0x49, 0x3b, 0x46, 0x18, 0x14, 0x01, 0x10, 0x04, 0x10, 0x01, 0xac, 0x01, 0x0e, 0x0b, 0xfe, // lI;F............ + 0x60, 0x02, 0x05, 0x09, 0x13, 0x01, 0x13, 0x23, 0x16, 0x01, 0x6b, 0x0b, 0x17, 0x01, 0xdf, 0xfb, // `......#..k..... + 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, 0x34, 0x4c, 0x4c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, // .4LL4..4LL...... + 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x32, 0x00, 0x48, 0x00, 0x57, // ...........2.H.W + 0x00, 0x5b, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x8b, 0x00, 0x9b, 0x00, 0x00, 0x01, 0x14, 0x07, 0x06, // .[.l.t.......... + 0x23, 0x22, 0x27, 0x35, 0x36, 0x33, 0x32, 0x05, 0x23, 0x36, 0x33, 0x32, 0x05, 0x34, 0x26, 0x27, // #"'5632.#632.4&' + 0x2e, 0x01, 0x35, 0x34, 0x33, 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x16, // ..5432.7&#"..... + 0x17, 0x1e, 0x01, 0x15, 0x14, 0x23, 0x22, 0x26, 0x27, 0x07, 0x16, 0x33, 0x32, 0x37, 0x36, 0x01, // .....#"&'..3276. + 0x37, 0x23, 0x35, 0x0f, 0x03, 0x33, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x35, 0x06, 0x23, // 7#5..3....3275.# + 0x22, 0x3d, 0x01, 0x05, 0x35, 0x26, 0x23, 0x22, 0x06, 0x07, 0x27, 0x23, 0x11, 0x33, 0x11, 0x36, // "=..5&#"..'#.3.6 + 0x33, 0x32, 0x13, 0x33, 0x11, 0x23, 0x05, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x27, 0x23, 0x11, // 32.3.#.4'&#".'#. + 0x37, 0x35, 0x16, 0x33, 0x32, 0x37, 0x36, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, // 75.3276.4&"...2. + 0x34, 0x27, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x27, 0x06, 0x23, // 4'&#".....327'.# + 0x22, 0x27, 0x26, 0x27, 0x33, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // "'&'36....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x06, 0x3d, 0x15, 0x13, 0x21, 0x17, 0x12, 0x1d, 0x1c, 0x39, // 463!2..=..!....9 + 0x01, 0xb6, 0x6e, 0x06, 0x32, 0x33, 0xf9, 0xec, 0x42, 0x44, 0x24, 0x20, 0x26, 0x3a, 0x42, 0x12, // ..n.23..BD$ &:B. + 0x43, 0x52, 0x4d, 0x2e, 0x30, 0x41, 0x43, 0x27, 0x1f, 0x30, 0x1d, 0x52, 0x1f, 0x12, 0x48, 0x60, // CRM.0AC'.0.R..H` + 0x51, 0x30, 0x33, 0x01, 0x27, 0x13, 0x60, 0x81, 0x12, 0x2e, 0x11, 0x3e, 0x2c, 0x26, 0x49, 0x20, // Q03.'.`....>,&I + 0x2f, 0x20, 0x0c, 0x2a, 0x01, 0x89, 0x0f, 0x0d, 0x20, 0x2f, 0x0a, 0x0a, 0x83, 0x96, 0x1a, 0x38, // / .*.... /.....8 + 0x10, 0x2f, 0x96, 0x96, 0x02, 0x6e, 0x2d, 0x28, 0x47, 0x40, 0x35, 0x08, 0x84, 0x96, 0x24, 0x20, // ./...n-(G@5...$ + 0x53, 0x33, 0x3d, 0xfe, 0x2c, 0x2e, 0x42, 0x2e, 0x2e, 0x42, 0x03, 0xb0, 0x30, 0x32, 0x5e, 0x60, // S3=.,.B..B..02^` + 0x6f, 0x3f, 0x37, 0x6a, 0x65, 0x3b, 0x10, 0x39, 0x47, 0x2b, 0x14, 0x17, 0x05, 0xf8, 0x02, 0x80, // o?7je;.9G+...... + 0x4c, 0x34, 0xf8, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x08, 0x00, 0x34, 0x4c, 0x02, 0x79, 0x45, 0x25, // L4..4LL4..4L.yE% + 0x23, 0x09, 0xe0, 0x1e, 0x56, 0x62, 0xe9, 0x3b, 0x41, 0x19, 0x0d, 0x16, 0x0e, 0x1a, 0x21, 0x70, // #...Vb.;A.....!p + 0x20, 0x26, 0x27, 0x46, 0x3a, 0x41, 0x18, 0x0e, 0x17, 0x10, 0x1f, 0x19, 0x12, 0x71, 0x29, 0x25, // &'F:A.......q)% + 0x29, 0x01, 0x23, 0x6f, 0x87, 0x15, 0x72, 0x08, 0x67, 0xdb, 0x54, 0x24, 0x1e, 0x0b, 0x76, 0x07, // ).#o..r.g.T$..v. + 0x32, 0xc5, 0x19, 0x8b, 0x03, 0x20, 0x1e, 0x38, 0xfe, 0x29, 0x01, 0x32, 0x1f, 0xfe, 0xaf, 0x01, // 2.... .8.).2.... + 0xd7, 0xde, 0x7a, 0x39, 0x34, 0x38, 0x2f, 0xfd, 0x7b, 0x19, 0x97, 0x0b, 0x38, 0x41, 0x01, 0xc4, // ..z948/.{...8A.. + 0x42, 0x2e, 0x2e, 0x42, 0x2f, 0xfe, 0xeb, 0x71, 0x3f, 0x40, 0x84, 0x72, 0x80, 0x3c, 0x37, 0x28, // B..B/..q?@.r.<7( + 0x67, 0x1f, 0x13, 0x13, 0x2f, 0x0e, 0x02, 0xb1, 0xfb, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, // g.../.....4LL4.. + 0x34, 0x4c, 0x4c, 0x00, 0x00, 0x03, 0x00, 0x0e, 0xff, 0x00, 0x07, 0xf2, 0x06, 0x00, 0x00, 0x0b, // 4LL............. + 0x00, 0x17, 0x00, 0x3f, 0x00, 0x00, 0x01, 0x12, 0x17, 0x14, 0x06, 0x23, 0x21, 0x14, 0x06, 0x22, // ...?.......#!.." + 0x26, 0x27, 0x05, 0x32, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, 0x22, 0x15, 0x14, 0x16, 0x01, 0x16, // &'.24#"&54"..... + 0x06, 0x07, 0x01, 0x06, 0x26, 0x2f, 0x01, 0x26, 0x36, 0x3f, 0x01, 0x26, 0x35, 0x3e, 0x04, 0x35, // ....&/.&6?.&5>.5 + 0x34, 0x12, 0x37, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x17, 0x01, // 4.7&5462........ + 0x36, 0x16, 0x17, 0x06, 0x16, 0x3d, 0xed, 0x4c, 0x34, 0xfe, 0x40, 0x96, 0xd4, 0x95, 0x01, 0x01, // 6....=.L4.@..... + 0x00, 0x10, 0x10, 0x3b, 0x55, 0x20, 0x67, 0x04, 0x33, 0x08, 0x01, 0x0a, 0xf8, 0xb0, 0x0a, 0x1b, // ...;U g.3....... + 0x08, 0x54, 0x08, 0x01, 0x0a, 0xba, 0x13, 0x32, 0x52, 0x58, 0x3d, 0x27, 0xea, 0xbe, 0x08, 0x38, // .T.....2RX='...8 + 0x50, 0x38, 0x08, 0x7c, 0xbe, 0x35, 0x01, 0xa2, 0x0a, 0x1b, 0x08, 0x02, 0xac, 0xfe, 0x9c, 0xc8, // P8.|.5.......... + 0x34, 0x4c, 0x6a, 0x96, 0x95, 0x6a, 0xaf, 0x20, 0x55, 0x3b, 0x10, 0x10, 0x49, 0x67, 0x06, 0x40, // 4Lj..j. U;..Ig.@ + 0x0a, 0x1b, 0x09, 0xf9, 0xaa, 0x08, 0x02, 0x0a, 0x60, 0x0a, 0x1b, 0x08, 0xa1, 0x20, 0x22, 0x2a, // ........`.... "* + 0x5c, 0x93, 0xaa, 0xf2, 0x8b, 0x98, 0x01, 0x05, 0x1c, 0x13, 0x14, 0x28, 0x38, 0x38, 0x28, 0x14, // ...........(88(. + 0x13, 0x12, 0x81, 0x5d, 0x01, 0x6b, 0x08, 0x02, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, // ...].k.......... + 0xff, 0x00, 0x07, 0xf2, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x16, 0x00, 0x26, 0x00, 0x4e, 0x00, 0x00, // ...........&.N.. + 0x04, 0x34, 0x23, 0x22, 0x26, 0x35, 0x34, 0x22, 0x15, 0x14, 0x16, 0x33, 0x09, 0x01, 0x2e, 0x01, // .4#"&54"...3.... + 0x23, 0x22, 0x0e, 0x02, 0x15, 0x10, 0x01, 0x14, 0x06, 0x23, 0x21, 0x14, 0x06, 0x22, 0x26, 0x27, // #".......#!.."&' + 0x37, 0x21, 0x26, 0x03, 0x37, 0x12, 0x01, 0x17, 0x16, 0x06, 0x07, 0x01, 0x06, 0x26, 0x2f, 0x01, // 7!&.7........&/. + 0x26, 0x36, 0x3f, 0x01, 0x26, 0x35, 0x3e, 0x04, 0x35, 0x34, 0x12, 0x37, 0x26, 0x35, 0x34, 0x36, // &6?.&5>.54.7&546 + 0x32, 0x16, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x17, 0x01, 0x36, 0x16, 0x04, 0x10, 0x10, 0x3b, 0x55, // 2........6....;U + 0x20, 0x67, 0x49, 0xfd, 0xf7, 0x03, 0x6d, 0x2a, 0xb5, 0x85, 0x5d, 0x99, 0x5a, 0x30, 0x04, 0xc0, // gI...m*..].Z0.. + 0x4c, 0x34, 0xfe, 0x40, 0x96, 0xd4, 0x95, 0x01, 0x95, 0x02, 0xf5, 0xa6, 0x3d, 0x6f, 0x3d, 0x01, // L4.@........=o=. + 0x43, 0x54, 0x08, 0x01, 0x0a, 0xf8, 0xb0, 0x0a, 0x1b, 0x08, 0x54, 0x08, 0x01, 0x0a, 0xba, 0x13, // CT........T..... + 0x32, 0x52, 0x58, 0x3d, 0x27, 0xea, 0xbe, 0x08, 0x38, 0x50, 0x38, 0x08, 0x7c, 0xbe, 0x35, 0x01, // 2RX='...8P8.|.5. + 0xa2, 0x0a, 0x1b, 0xb0, 0x20, 0x55, 0x3b, 0x10, 0x10, 0x49, 0x67, 0x01, 0xeb, 0x02, 0xf8, 0x58, // .... U;..Ig....X + 0x75, 0x3f, 0x62, 0x6c, 0x33, 0xfe, 0x80, 0xfe, 0x40, 0x34, 0x4c, 0x6a, 0x96, 0x95, 0x6a, 0x81, // u?bl3...@4Lj..j. + 0xbb, 0x01, 0x10, 0x61, 0xfe, 0x9c, 0x04, 0xa8, 0x60, 0x0a, 0x1b, 0x09, 0xf9, 0xaa, 0x08, 0x02, // ...a....`....... + 0x0a, 0x60, 0x0a, 0x1b, 0x08, 0xa1, 0x20, 0x22, 0x2a, 0x5c, 0x93, 0xaa, 0xf2, 0x8b, 0x98, 0x01, // .`.... "*....... + 0x05, 0x1c, 0x13, 0x14, 0x28, 0x38, 0x38, 0x28, 0x14, 0x13, 0x12, 0x81, 0x5d, 0x01, 0x6b, 0x08, // ....(88(....].k. + 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x37, 0x00, 0x5b, 0x00, 0x00, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, // .../.7.[..%.4&+. + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, // ".....;.26%.4&+. + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, // ".....;.26%.4&+. + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x01, 0x21, 0x27, 0x26, 0x27, 0x21, // ".....;.26.!'&'! + 0x06, 0x07, 0x05, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // ......+....#!"&5 + 0x11, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x37, 0x3e, 0x01, 0x33, 0x21, 0x32, // .#"&=.463!7>.3!2 + 0x16, 0x1f, 0x01, 0x21, 0x32, 0x16, 0x02, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // ...!2.....@....@ + 0x0e, 0x12, 0x01, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x00, // ......@....@.... + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfd, 0xe0, 0x01, 0xc0, 0x30, 0x07, // ..@....@......0. + 0x0a, 0xfe, 0xc3, 0x0a, 0x07, 0x03, 0x6f, 0x12, 0x0e, 0x60, 0x5e, 0x42, 0xfc, 0xc0, 0x42, 0x5e, // ......o..`^B..B^ + 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x35, 0x46, 0x0f, 0x4e, 0x28, 0x01, 0x40, 0x28, 0x4e, 0x0f, // `.....5F.N(.@(N. + 0x46, 0x01, 0x35, 0x0e, 0x12, 0xa0, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, // F.5..........@.. + 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, // .........@...... + 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x03, 0xee, 0x75, 0x09, 0x02, 0x02, 0x09, // .....@.....u.... + 0x95, 0x40, 0x0e, 0x12, 0xfc, 0x4c, 0x53, 0x79, 0x75, 0x53, 0x03, 0xb8, 0x12, 0x0e, 0x40, 0x0e, // .@...LSyuS....@. + 0x12, 0xa7, 0x25, 0x34, 0x34, 0x25, 0xa7, 0x12, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..%44%.......... + 0x05, 0x80, 0x00, 0x2c, 0x00, 0x3c, 0x00, 0x48, 0x00, 0x00, 0x01, 0x15, 0x14, 0x0e, 0x02, 0x23, // ...,.<.H.......# + 0x22, 0x00, 0x35, 0x34, 0x00, 0x33, 0x32, 0x1e, 0x03, 0x1d, 0x01, 0x14, 0x2b, 0x01, 0x22, 0x3d, // ".54.32.....+."= + 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x36, // .4&#"....326=.46 + 0x3b, 0x01, 0x32, 0x16, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, 0x02, 0x10, 0x2e, // ;.2.. ..... >... + 0x01, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, 0x7e, 0x49, // ..... $...$ ..~I + 0x73, 0x79, 0x39, 0xcd, 0xfe, 0xed, 0x01, 0x10, 0xcb, 0x22, 0x53, 0x67, 0x52, 0x38, 0x10, 0x76, // sy9......"SgR8.v + 0x10, 0x83, 0x48, 0x8c, 0xb1, 0xb7, 0x8e, 0x44, 0x8c, 0x09, 0x06, 0x77, 0x06, 0x0a, 0xfc, 0xfe, // ..H....D...w.... + 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0x01, 0x91, // ...ff......ff... + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, // ....^.....a...a. + 0xce, 0x6d, 0x32, 0x4e, 0x2b, 0x16, 0x01, 0x16, 0xcf, 0xcb, 0x01, 0x10, 0x09, 0x1b, 0x29, 0x48, // .m2N+.........)H + 0x2d, 0x6d, 0x10, 0x10, 0x46, 0x2b, 0x31, 0xb7, 0x92, 0x97, 0xc5, 0x30, 0x2a, 0x46, 0x07, 0x09, // -m..F+1....0*F.. + 0x09, 0x03, 0x2b, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, // ..+f......ff.... + 0xed, 0xab, 0xfe, 0xb7, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, // .....^.....a...a + 0xce, 0xce, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0e, // ................ + 0x00, 0x62, 0x00, 0x00, 0x01, 0x34, 0x26, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, // .b...4&#".....32 + 0x3e, 0x01, 0x05, 0x14, 0x0e, 0x02, 0x07, 0x22, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x0e, 0x01, // >......".#"'&'.. + 0x23, 0x22, 0x26, 0x35, 0x34, 0x12, 0x36, 0x33, 0x32, 0x16, 0x17, 0x3f, 0x01, 0x3e, 0x01, 0x3b, // #"&54.632..?.>.; + 0x01, 0x32, 0x17, 0x16, 0x07, 0x03, 0x06, 0x15, 0x14, 0x16, 0x33, 0x3e, 0x04, 0x35, 0x10, 0x00, // .2........3>.5.. + 0x21, 0x22, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x36, 0x16, 0x1f, 0x01, 0x16, 0x07, // !".....3276..... + 0x06, 0x07, 0x0e, 0x01, 0x23, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x33, 0x20, 0x00, // ....#"$&...6$3 . + 0x03, 0xcc, 0x6b, 0x5e, 0x3f, 0x7a, 0x62, 0x3d, 0x6b, 0x61, 0x60, 0xa0, 0x55, 0x02, 0x34, 0x4a, // ..k^?zb=ka`.U.4J + 0x7b, 0x8c, 0x4b, 0x06, 0x13, 0x07, 0x5f, 0x2f, 0x1c, 0x05, 0x34, 0x9f, 0x5e, 0xa1, 0xb1, 0x84, // {.K..._/..4.^... + 0xe2, 0x85, 0x57, 0x88, 0x26, 0x02, 0x0b, 0x01, 0x09, 0x05, 0x76, 0x05, 0x08, 0x05, 0x02, 0x78, // ..W.&.....v....x + 0x05, 0x19, 0x20, 0x1c, 0x3a, 0x58, 0x42, 0x30, 0xfe, 0xa4, 0xfe, 0xdc, 0x82, 0xed, 0xab, 0x66, // .. .:XB0.......f + 0x66, 0xab, 0xed, 0x82, 0xe4, 0xb1, 0x0b, 0x1a, 0x08, 0x29, 0x08, 0x01, 0x02, 0x0a, 0x66, 0xfb, // f........)....f. + 0x85, 0x9c, 0xfe, 0xe4, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x9c, 0x01, 0x58, 0x01, 0xa8, 0x02, // .....zz.....X... + 0xf9, 0x6c, 0x7a, 0x3d, 0x6c, 0xa6, 0x61, 0x70, 0x7a, 0x85, 0xc7, 0x11, 0x6f, 0xac, 0x62, 0x33, // .lz=l.apz...o.b3 + 0x02, 0x01, 0x35, 0x21, 0x32, 0x42, 0x58, 0xbf, 0xae, 0x9d, 0x01, 0x0a, 0x9b, 0x47, 0x40, 0x13, // ..5!2BX......G@. + 0x38, 0x06, 0x0c, 0x0b, 0x05, 0x0b, 0xfd, 0x9a, 0x18, 0x18, 0x27, 0x1a, 0x01, 0x09, 0x27, 0x3d, // 8.........'...'= + 0x76, 0x4e, 0x01, 0x24, 0x01, 0x5c, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x90, 0x09, // vN.$..f......f.. + 0x02, 0x0b, 0x31, 0x0c, 0x0c, 0x0d, 0x09, 0x53, 0x5a, 0x7a, 0xce, 0x01, 0x1c, 0x01, 0x38, 0x01, // ..1....SZz....8. + 0x1c, 0xce, 0x7a, 0xfe, 0x58, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // ..z.X........... + 0x06, 0x00, 0x00, 0x23, 0x00, 0x28, 0x00, 0x00, 0x00, 0x16, 0x10, 0x0f, 0x01, 0x17, 0x16, 0x14, // ...#.(.......... + 0x0f, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x06, 0x2b, 0x01, 0x05, 0x27, 0x13, 0x35, 0x34, 0x37, // ..."/...+..'.547 + 0x01, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x09, 0x01, 0x27, 0x01, // .'&4?.62..76..'. + 0x15, 0x06, 0x44, 0xbc, 0x5e, 0xe1, 0x68, 0x0a, 0x0a, 0xd2, 0x0a, 0x1a, 0x0a, 0x69, 0xfd, 0xa5, // ..D.^.h......i.. + 0x25, 0x35, 0xcb, 0xff, 0x00, 0x40, 0x80, 0x25, 0x02, 0x5b, 0x69, 0x0a, 0x0a, 0xd2, 0x0a, 0x1a, // %5...@.%.[i..... + 0x0a, 0x68, 0xdf, 0x5d, 0xfc, 0xc5, 0x02, 0x40, 0xc0, 0xfd, 0xc0, 0x06, 0x00, 0xbc, 0xfe, 0xf7, // .h.]...@........ + 0x5d, 0xdf, 0x68, 0x0a, 0x1a, 0x0a, 0xd2, 0x0a, 0x0a, 0x69, 0xfd, 0xa5, 0x25, 0x80, 0x40, 0x01, // ].h......i..%.@. + 0x00, 0xcb, 0x35, 0x25, 0x02, 0x5b, 0x69, 0x0a, 0x1a, 0x0a, 0xd2, 0x0a, 0x0a, 0x68, 0xe1, 0x5e, // ..5%.[i......h.^ + 0xfa, 0x40, 0x02, 0x40, 0xc0, 0xfd, 0xc0, 0xc0, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0xfe, // .@.@............ + 0x06, 0x00, 0x00, 0x10, 0x00, 0x29, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x14, 0x07, 0x00, 0x07, // .....)...2...... + 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x16, 0x00, // .#"&547.6....... + 0x23, 0x22, 0x2e, 0x02, 0x35, 0x1e, 0x03, 0x33, 0x32, 0x37, 0x3e, 0x04, 0x06, 0x4f, 0x46, 0x69, // #"..5..327>..OFi + 0x2d, 0xfe, 0xb4, 0x85, 0x61, 0x79, 0x7e, 0xb5, 0x5c, 0x02, 0x7e, 0x3b, 0xfc, 0xba, 0x27, 0x87, // -...ay~...~;..'. + 0x53, 0x01, 0x04, 0xfe, 0xf5, 0xd7, 0x7b, 0xbe, 0x73, 0x3a, 0x07, 0x44, 0x38, 0x3e, 0x0f, 0x29, // S.....{.s:.D8>.) + 0x0e, 0x19, 0x41, 0x4a, 0x66, 0x68, 0x06, 0x00, 0x5d, 0x46, 0x3f, 0x58, 0xfd, 0x8b, 0x7b, 0x5b, // ..AJfh..]F?X..{[ + 0xb9, 0x7f, 0x80, 0x54, 0x02, 0x43, 0x36, 0xfb, 0xf6, 0x4c, 0x6c, 0x16, 0x47, 0xd5, 0xfe, 0xf4, // ...T.C6..Ll.G... + 0x5d, 0xa2, 0xcc, 0x76, 0x05, 0x32, 0x27, 0x22, 0x25, 0x42, 0x5d, 0x3b, 0x24, 0x0f, 0x00, 0x00, // ]..v.2'"%B];$... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x6f, 0x00, 0x7f, // ...........-.o.. + 0x00, 0x8f, 0x00, 0x9f, 0x00, 0x00, 0x25, 0x11, 0x21, 0x11, 0x32, 0x3e, 0x01, 0x37, 0x3e, 0x01, // ......%.!.2>.7>. + 0x33, 0x32, 0x1e, 0x01, 0x17, 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x33, 0x32, // 32.....32>.7>.32 + 0x16, 0x17, 0x1e, 0x02, 0x32, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x02, // ....2>.7>.32.... + 0x13, 0x15, 0x22, 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x23, // .."..'..#".....# + 0x22, 0x26, 0x27, 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x0e, 0x02, 0x23, 0x22, 0x26, 0x27, // "&'..#".....#"&' + 0x2e, 0x02, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x23, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x11, // ..#".....#546;.. + 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x21, 0x11, 0x33, 0x32, 0x16, 0x01, 0x14, 0x06, // !.!.!.!.!.32.... + 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x04, 0x35, 0x32, 0x16, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, // #"&54>.52....#"& + 0x35, 0x34, 0x3e, 0x04, 0x35, 0x32, 0x16, 0x05, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, // 54>.52....#"&54> + 0x04, 0x35, 0x32, 0x16, 0x07, 0x00, 0xf9, 0x00, 0x2d, 0x50, 0x26, 0x1c, 0x1e, 0x2b, 0x23, 0x18, // .52.....-P&..+#. + 0x28, 0x16, 0x16, 0x1d, 0x24, 0x50, 0x2e, 0x2d, 0x50, 0x24, 0x1e, 0x15, 0x17, 0x27, 0x18, 0x23, // (...$P.-P$...'.# + 0x2b, 0x1e, 0x1c, 0x26, 0x50, 0x5a, 0x50, 0x26, 0x1c, 0x1e, 0x2b, 0x23, 0x22, 0x2b, 0x1e, 0x1c, // +..&PZP&..+#"+.. + 0x26, 0x50, 0x2d, 0x18, 0x28, 0x16, 0x16, 0x1d, 0x24, 0x50, 0x2d, 0x2e, 0x50, 0x24, 0x1d, 0x16, // &P-.(...$P-.P$.. + 0x16, 0x28, 0x18, 0x23, 0x2b, 0x1e, 0x1d, 0x24, 0x50, 0x2e, 0x2d, 0x50, 0x24, 0x1e, 0x15, 0x17, // .(.#+..$P.-P$... + 0x27, 0x18, 0x23, 0x2b, 0x1e, 0x1c, 0x26, 0x50, 0x2d, 0x2e, 0x50, 0x24, 0x1d, 0x1e, 0x2b, 0x23, // '.#+..&P-.P$..+# + 0x70, 0x50, 0x40, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x40, 0x50, 0x70, // pP@..........@Pp + 0xfb, 0x00, 0x48, 0x38, 0x35, 0x4b, 0x13, 0x1c, 0x22, 0x1c, 0x13, 0x26, 0x5a, 0x02, 0x00, 0x48, // ..H85K.."..&Z..H + 0x38, 0x35, 0x4b, 0x13, 0x1c, 0x22, 0x1c, 0x13, 0x26, 0x5a, 0x02, 0x00, 0x48, 0x38, 0x35, 0x4b, // 85K.."..&Z..H85K + 0x13, 0x1c, 0x22, 0x1c, 0x13, 0x26, 0x5a, 0x80, 0xfe, 0x80, 0x01, 0x80, 0x1c, 0x1b, 0x18, 0x1b, // .."..&Z......... + 0x16, 0x0e, 0x10, 0x13, 0x19, 0x1a, 0x1c, 0x1d, 0x19, 0x19, 0x13, 0x10, 0x0e, 0x16, 0x1b, 0x18, // ................ + 0x1b, 0x1c, 0x1c, 0x1b, 0x18, 0x1b, 0x16, 0x16, 0x1b, 0x18, 0x1b, 0x1c, 0x01, 0x40, 0xc0, 0x0e, // .............@.. + 0x10, 0x13, 0x19, 0x1a, 0x1c, 0x1c, 0x1a, 0x19, 0x13, 0x10, 0x0e, 0x16, 0x1b, 0x19, 0x1a, 0x1c, // ................ + 0x1d, 0x19, 0x19, 0x13, 0x10, 0x0e, 0x16, 0x1b, 0x18, 0x1b, 0x1c, 0x1c, 0x1a, 0x19, 0x1b, 0x16, // ................ + 0xc0, 0x50, 0x70, 0x01, 0xc0, 0xfe, 0x40, 0x01, 0xc0, 0xfe, 0x40, 0x01, 0xc0, 0xfe, 0x40, 0x70, // .Pp...@...@...@p + 0x03, 0x10, 0x4d, 0x53, 0x4b, 0x35, 0x1d, 0x2c, 0x18, 0x20, 0x1f, 0x3a, 0x26, 0x94, 0x4c, 0x4d, // ..MSK5.,. .:&.LM + 0x53, 0x4b, 0x35, 0x1d, 0x2c, 0x18, 0x20, 0x1f, 0x3a, 0x26, 0x94, 0x4c, 0x4d, 0x53, 0x4b, 0x35, // SK5.,. .:&.LMSK5 + 0x1d, 0x2c, 0x18, 0x20, 0x1f, 0x3a, 0x26, 0x94, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, // .,. .:&......... + 0x05, 0x80, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x09, 0x01, // ........!.!.3... + 0x21, 0x11, 0x09, 0x01, 0x08, 0x00, 0xf8, 0x00, 0x80, 0x06, 0x00, 0x01, 0x00, 0xf9, 0x80, 0x01, // !............... + 0xc0, 0x02, 0x40, 0x80, 0x06, 0x00, 0xfa, 0x80, 0x04, 0x00, 0xfc, 0x80, 0x02, 0x40, 0x02, 0x40, // ..@..........@.@ + 0xfd, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0xc0, 0x06, 0x00, 0x00, 0x0b, // ................ + 0x00, 0x10, 0x00, 0x16, 0x00, 0x00, 0x09, 0x01, 0x06, 0x04, 0x23, 0x22, 0x24, 0x02, 0x10, 0x12, // ..........#"$... + 0x24, 0x33, 0x13, 0x21, 0x14, 0x02, 0x07, 0x13, 0x21, 0x11, 0x32, 0x04, 0x12, 0x03, 0x00, 0x02, // $3.!....!.2..... + 0x22, 0x6a, 0xfe, 0xe5, 0x9d, 0xd1, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0xd1, 0xbb, 0x03, 0x05, // "j.........a.... + 0x78, 0x6c, 0xa4, 0xfd, 0x00, 0xd1, 0x01, 0x61, 0xce, 0x02, 0x86, 0xfd, 0xde, 0x6c, 0x78, 0xce, // xl.....a.....lx. + 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xfd, 0x00, 0x9d, 0xfe, 0xe5, 0x6a, 0x02, 0xa2, 0x03, // .a...a......j... + 0x00, 0xce, 0xfe, 0x9f, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x05, 0x80, 0x00, 0x05, // ................ + 0x00, 0x1f, 0x00, 0x00, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x01, 0x11, 0x14, 0x06, 0x2f, 0x01, // ....!.!.3...../. + 0x01, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x27, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x01, 0x27, 0x26, 0x36, // .."/..'.62...'&6 + 0x33, 0x21, 0x32, 0x16, 0x08, 0x00, 0xf8, 0x00, 0x80, 0x07, 0x00, 0x27, 0x10, 0x79, 0xfd, 0x87, // 3!2........'.y.. + 0x0a, 0x1a, 0x0a, 0xe9, 0xfe, 0x60, 0xc0, 0x02, 0x49, 0x0a, 0x1a, 0x0a, 0xe9, 0x01, 0xd0, 0x79, // .....`..I......y + 0x10, 0x11, 0x15, 0x01, 0xb3, 0x0e, 0x12, 0x80, 0x06, 0x00, 0xfa, 0x80, 0x04, 0xe0, 0xfe, 0x4d, // ...............M + 0x15, 0x11, 0x10, 0x79, 0xfd, 0x87, 0x0a, 0x0a, 0xe9, 0xfe, 0x60, 0xc0, 0x02, 0x49, 0x0a, 0x0a, // ...y......`..I.. + 0xe9, 0x01, 0xd0, 0x79, 0x10, 0x27, 0x12, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, // ...y.'.......... + 0x04, 0x57, 0x00, 0x60, 0x00, 0x00, 0x01, 0x14, 0x17, 0x1e, 0x03, 0x17, 0x04, 0x15, 0x14, 0x06, // .W.`............ + 0x23, 0x22, 0x2e, 0x06, 0x27, 0x2e, 0x03, 0x23, 0x22, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x33, 0x32, // #"..'..#".....32 + 0x37, 0x36, 0x37, 0x17, 0x06, 0x07, 0x17, 0x06, 0x21, 0x22, 0x26, 0x02, 0x35, 0x34, 0x3e, 0x02, // 767.....!"&.54>. + 0x33, 0x32, 0x1e, 0x06, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2e, 0x06, 0x27, 0x26, 0x35, // 32....32654..'&5 + 0x34, 0x36, 0x17, 0x1e, 0x01, 0x17, 0x23, 0x1e, 0x02, 0x17, 0x07, 0x26, 0x27, 0x35, 0x26, 0x23, // 46....#....&'5&# + 0x22, 0x06, 0x05, 0x0c, 0x0a, 0x0a, 0x1e, 0x34, 0x24, 0x25, 0x01, 0x45, 0xd3, 0x95, 0x3b, 0x69, // "......4$%.E..;i + 0x4e, 0x4c, 0x32, 0x39, 0x1e, 0x31, 0x0b, 0x20, 0x3b, 0x58, 0x78, 0x52, 0x60, 0xae, 0x66, 0xd5, // NL29.1. ;XxR`.f. + 0x9d, 0xb1, 0x51, 0x38, 0x1b, 0x54, 0x0f, 0x1d, 0x01, 0x83, 0xfe, 0xff, 0x93, 0xf5, 0x88, 0x57, // ..Q8.T.........W + 0x91, 0xc7, 0x69, 0x57, 0x90, 0x67, 0x57, 0x3a, 0x3b, 0x2a, 0x3a, 0x1a, 0x60, 0x89, 0x51, 0x73, // ..iW.gW:;*:.`.Qs + 0x26, 0x3f, 0x52, 0x57, 0x58, 0x4a, 0x38, 0x0b, 0x03, 0xaf, 0x6f, 0x4e, 0x55, 0x30, 0x01, 0x0c, // &?RWXJ8...oNU0.. + 0x16, 0x1e, 0x04, 0x81, 0x1a, 0x1c, 0x17, 0x4a, 0x31, 0x46, 0x03, 0x40, 0x06, 0x23, 0x1d, 0x29, // .......J1F.@.#.) + 0x1b, 0x0d, 0x0a, 0x5b, 0xf1, 0x92, 0xc1, 0x25, 0x36, 0x5f, 0x50, 0x7f, 0x4f, 0x86, 0x1c, 0x51, // ...[...%6_P.O..Q + 0x69, 0x58, 0x28, 0x6f, 0xb2, 0x60, 0xa0, 0xef, 0x5f, 0x3f, 0x35, 0x98, 0x22, 0x24, 0x01, 0x98, // iX(o.`.._?5."$.. + 0x9e, 0x01, 0x01, 0x92, 0x69, 0xca, 0x97, 0x5c, 0x26, 0x3e, 0x62, 0x64, 0x86, 0x73, 0x92, 0x36, // ....i...&>bd.s.6 + 0xc8, 0x61, 0x50, 0x2a, 0x3c, 0x20, 0x1f, 0x17, 0x2d, 0x3b, 0x69, 0x46, 0x10, 0x11, 0x6e, 0xa4, // .aP*< ..-;iF..n. + 0x04, 0x03, 0x17, 0x2a, 0x0b, 0x1b, 0x2d, 0x05, 0x63, 0x31, 0x15, 0x01, 0x15, 0x42, 0x00, 0x00, // ...*..-.c1...B.. + 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x57, 0x00, 0x67, 0x00, 0x00, // ...........W.g.. + 0x01, 0x34, 0x27, 0x2e, 0x02, 0x27, 0x34, 0x2e, 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x23, // .4'..'4..54632.# + 0x16, 0x17, 0x37, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x1e, 0x01, 0x17, // ..7&'..#"....... + 0x1e, 0x03, 0x1d, 0x01, 0x16, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x05, 0x23, 0x22, 0x0e, 0x01, 0x17, // ......#"'..#"... + 0x15, 0x1e, 0x02, 0x33, 0x32, 0x37, 0x36, 0x37, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, // ...32767'..#"&54 + 0x36, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x07, 0x33, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, // 632....326....#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x98, 0xea, 0x23, 0x24, 0x28, // "&5.463!2....#$( + 0x09, 0x04, 0x02, 0x31, 0x24, 0x36, 0x11, 0x01, 0x14, 0x13, 0x5d, 0x27, 0x0a, 0x21, 0x45, 0x33, // ...1$6....]'.!E3 + 0x50, 0x7c, 0x02, 0x10, 0x61, 0x64, 0x1d, 0x28, 0x32, 0x1b, 0x01, 0x53, 0x3b, 0x61, 0x46, 0x17, // P|..ad.(2..S;aF. + 0x39, 0x27, 0x45, 0x4f, 0x80, 0x53, 0x65, 0xb6, 0x6a, 0x03, 0x04, 0x5d, 0xae, 0x6d, 0xba, 0x5d, // 9'EO.Se.j..].m.] + 0x14, 0x0b, 0x3c, 0x2a, 0x72, 0x59, 0x73, 0x98, 0xa4, 0x68, 0x70, 0x74, 0x2e, 0x08, 0x23, 0x16, // ..<*rYs..hpt..#. + 0x29, 0x24, 0x37, 0x38, 0x4c, 0x2a, 0x6b, 0x98, 0x68, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, // )$78L*k.h.w.@w.. + 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0xe4, 0xad, 0x42, 0x0a, 0x0d, 0x25, 0x1c, 0x02, 0x0d, 0x0b, // w..w....B..%.... + 0x02, 0x24, 0x2f, 0x0f, 0x0f, 0x24, 0x47, 0x36, 0x0a, 0x1d, 0x14, 0x73, 0x50, 0x07, 0x10, 0x60, // .$/..$G6...sP..` + 0x58, 0x1d, 0x08, 0x0f, 0x1c, 0x29, 0x1a, 0x05, 0x3a, 0x46, 0x90, 0x2f, 0x95, 0x66, 0x77, 0x48, // X....)..:F./.fwH + 0x31, 0x70, 0xb8, 0x64, 0x01, 0x6c, 0xb6, 0x71, 0x6e, 0x1b, 0x18, 0x6d, 0x50, 0x48, 0xae, 0x75, // 1p.d.l.qn..mPH.u + 0x69, 0xa8, 0x6b, 0x77, 0x15, 0x5f, 0x3a, 0x5b, 0x39, 0x44, 0x27, 0x1b, 0x8b, 0x02, 0xe5, 0xfc, // i.kw._:[9D'..... + 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // @w..w..w........ + 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, // ...........3...4 + 0x2e, 0x02, 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x02, 0x32, 0x3e, 0x01, 0x24, 0x34, 0x2e, 0x02, 0x23, // ..".....2>.$4..# + 0x21, 0x16, 0x12, 0x10, 0x02, 0x07, 0x21, 0x32, 0x3e, 0x01, 0x12, 0x10, 0x0e, 0x02, 0x23, 0x21, // !.....!2>.....#! + 0x22, 0x2e, 0x02, 0x10, 0x3e, 0x02, 0x33, 0x21, 0x32, 0x1e, 0x01, 0x04, 0x80, 0x51, 0x8a, 0xbd, // "...>.3!2....Q.. + 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x03, 0x51, 0x51, 0x8a, 0xbd, 0x68, // ...QQ......QQ..h + 0xfe, 0x7e, 0x77, 0x8b, 0x8b, 0x77, 0x01, 0x82, 0x68, 0xbd, 0x8a, 0xd1, 0x66, 0xab, 0xed, 0x82, // .~w..w..h...f... + 0xfd, 0x00, 0x82, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x82, 0x03, 0x00, 0x82, 0xed, 0xab, 0x02, // .....ff......... + 0x18, 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0xd0, // ....QQ.....QQ... + 0xbd, 0x8a, 0x51, 0x5a, 0xfe, 0xf4, 0xfe, 0xcc, 0xfe, 0xf4, 0x5a, 0x51, 0x8a, 0x01, 0xa7, 0xfe, // ..QZ......ZQ.... + 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0x00, 0x00, // ...ff......ff... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x00, 0x13, 0x00, 0x23, 0x00, 0x00, // .............#.. + 0x18, 0x01, 0x3e, 0x02, 0x33, 0x21, 0x32, 0x1e, 0x02, 0x10, 0x0e, 0x02, 0x23, 0x21, 0x22, 0x2e, // ..>.3!2.....#!". + 0x01, 0x04, 0x32, 0x3e, 0x02, 0x34, 0x2e, 0x02, 0x22, 0x0e, 0x02, 0x14, 0x1e, 0x01, 0x66, 0xab, // ..2>.4..".....f. + 0xed, 0x82, 0x03, 0x00, 0x82, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x82, 0xfd, 0x00, 0x82, 0xed, // .......ff....... + 0xab, 0x04, 0xb2, 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, // ......QQ.....QQ. + 0x01, 0xfe, 0x01, 0x04, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, // ......ff......ff + 0xab, 0x91, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x00, // ..Q.....QQ...... + 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x05, 0x00, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x18, // ................ + 0x00, 0x2c, 0x00, 0x5c, 0x00, 0x00, 0x01, 0x21, 0x22, 0x26, 0x3f, 0x01, 0x26, 0x23, 0x22, 0x06, // .,.....!"&?.&#". + 0x10, 0x16, 0x33, 0x32, 0x36, 0x27, 0x33, 0x26, 0x27, 0x05, 0x01, 0x21, 0x07, 0x16, 0x17, 0x04, // ..326'3&'..!.... + 0x10, 0x26, 0x23, 0x22, 0x07, 0x13, 0x16, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x03, 0x06, 0x15, // .&#"......#"'... + 0x14, 0x16, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x35, 0x34, 0x36, 0x37, 0x27, 0x01, 0x06, 0x2b, // .. ... .5467'..+ + 0x01, 0x0e, 0x01, 0x23, 0x22, 0x00, 0x10, 0x00, 0x33, 0x32, 0x17, 0x37, 0x23, 0x22, 0x26, 0x34, // ...#"...32.7#"&4 + 0x36, 0x33, 0x21, 0x15, 0x21, 0x27, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, 0x01, // 63!.!'#"&463!2.. + 0x36, 0x33, 0x32, 0x02, 0xfa, 0xfe, 0xc6, 0x28, 0x23, 0x18, 0xbc, 0x41, 0x48, 0x84, 0xbc, 0xbc, // 632....(#..AH... + 0x84, 0x73, 0xb0, 0xa3, 0xba, 0x12, 0x39, 0x01, 0x71, 0x01, 0x20, 0xfe, 0x20, 0x63, 0x69, 0x15, // .s....9.q. . ci. + 0x05, 0x05, 0xbc, 0x84, 0x3c, 0x3d, 0xae, 0x0f, 0x0a, 0x16, 0x0f, 0x15, 0x23, 0x12, 0xae, 0x5d, // ....<=......#..] + 0xbc, 0x01, 0x08, 0x01, 0x3c, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x4f, 0x46, 0x41, 0xfe, 0x9f, // ....<......OFA.. + 0x12, 0x21, 0xc5, 0x17, 0xfc, 0xa8, 0xb9, 0xfe, 0xf9, 0x01, 0x07, 0xb9, 0x72, 0x65, 0x89, 0xe0, // .!..........re.. + 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x80, 0x01, 0xb3, 0x55, 0xde, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, // .&&.....U..&&... + 0x21, 0x14, 0x01, 0x0b, 0x5b, 0x65, 0xb9, 0x01, 0x80, 0x46, 0x20, 0xfb, 0x1f, 0xbc, 0xfe, 0xf8, // !...[e...F ..... + 0xbc, 0x91, 0xef, 0x55, 0x3f, 0x94, 0x01, 0x80, 0x84, 0x67, 0x95, 0xc4, 0x01, 0x08, 0xbc, 0x18, // ...U?....g...... + 0xfe, 0xfc, 0x17, 0x34, 0x0e, 0x0b, 0x1d, 0x01, 0x04, 0x5f, 0x82, 0x84, 0xbc, 0x01, 0xf9, 0xfe, // ...4....._...... + 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0xb9, 0x61, 0xad, 0x3f, 0x62, 0xfe, 0x2b, 0x1a, 0xa4, 0xdc, 0x01, // ......a.?b.+.... + 0x07, 0x01, 0x72, 0x01, 0x07, 0x37, 0xb7, 0x26, 0x34, 0x26, 0x80, 0x80, 0x26, 0x34, 0x26, 0x1c, // ..r..7.&4&..&4&. + 0xfe, 0x70, 0x2c, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x07, // .p,............. + 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, // .....+.K...4&".. + 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x03, 0x2e, 0x01, 0x23, 0x21, // .2$4&"...2....#! + 0x22, 0x06, 0x07, 0x03, 0x06, 0x16, 0x33, 0x21, 0x32, 0x36, 0x02, 0x34, 0x26, 0x23, 0x21, 0x22, // ".....3!26.4&#!" + 0x06, 0x14, 0x16, 0x33, 0x21, 0x32, 0x01, 0x11, 0x23, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, // ...3!2..#..."&=. + 0x21, 0x15, 0x14, 0x06, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x11, 0x34, 0x37, 0x13, 0x3e, 0x01, 0x24, // !..."&=.#.47.>.$ + 0x20, 0x04, 0x16, 0x17, 0x13, 0x16, 0x01, 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x04, 0x4b, 0x4b, // .......KjKKj.KK + 0x6a, 0x4b, 0x4b, 0x6a, 0x1d, 0x48, 0x05, 0x23, 0x17, 0xfc, 0x6a, 0x17, 0x23, 0x05, 0x48, 0x05, // jKKj.H.#..j.#.H. + 0x26, 0x1e, 0x04, 0x26, 0x1e, 0x26, 0xe7, 0x1c, 0x14, 0xfd, 0x80, 0x14, 0x1c, 0x1c, 0x14, 0x02, // &..&.&.......... + 0x80, 0x14, 0x01, 0xac, 0x80, 0x4b, 0x6a, 0x4b, 0xfd, 0x00, 0x4b, 0x6a, 0x4b, 0x80, 0x19, 0x67, // .....KjK..KjK..g + 0x09, 0xb1, 0x01, 0x1b, 0x01, 0x56, 0x01, 0x1b, 0xb1, 0x09, 0x69, 0x17, 0x01, 0x0b, 0x6a, 0x4b, // .....V....i...jK + 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x02, 0x0c, 0x01, 0x80, 0x17, 0x1d, 0x1d, // KjKKjKKjK....... + 0x17, 0xfe, 0x80, 0x1e, 0x2e, 0x2e, 0x02, 0x6e, 0x28, 0x1c, 0x1c, 0x28, 0x1c, 0xfd, 0x5b, 0xfd, // .......n(..(..[. + 0xa5, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x80, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x80, 0x02, 0x5b, 0x70, // ..5KK5..5KK5..[p + 0x6f, 0x01, 0xc6, 0x4e, 0x76, 0x3c, 0x3c, 0x76, 0x4e, 0xfe, 0x3a, 0x66, 0x00, 0x03, 0x00, 0x00, // o..Nv<....+ + 0x01, 0x16, 0x15, 0x14, 0x02, 0x06, 0x04, 0x23, 0x22, 0x00, 0x27, 0x23, 0x22, 0x26, 0x35, 0x34, // .......#".'#"&54 + 0x36, 0x3b, 0x01, 0x26, 0x35, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x00, 0x17, 0x33, 0x32, 0x16, // 6;.&54.6$32..32. + 0x05, 0xb7, 0x32, 0x24, 0xfd, 0x42, 0x24, 0x32, 0x32, 0x24, 0x02, 0xbe, 0x24, 0x01, 0x08, 0x17, // ..2$.B$22$..$... + 0xfc, 0x2a, 0x24, 0x32, 0x32, 0x24, 0x03, 0x8c, 0x58, 0xfe, 0xda, 0xad, 0xb1, 0xfe, 0xd3, 0xaf, // .*$22$..X....... + 0x17, 0x03, 0xd6, 0x24, 0x32, 0x32, 0x24, 0xfc, 0x74, 0x58, 0x01, 0x27, 0xad, 0x84, 0xf2, 0xae, // ...$22$.tX.'.... + 0x68, 0x01, 0x73, 0x32, 0x24, 0x83, 0x11, 0x83, 0xdc, 0xfe, 0xcf, 0xa7, 0xf6, 0xfe, 0x6b, 0x63, // h.s2$.........kc + 0xbd, 0x24, 0x32, 0x32, 0x24, 0x84, 0x11, 0x83, 0xdc, 0x01, 0x31, 0xa8, 0xf5, 0x01, 0x95, 0x63, // .$22$.....1....c + 0xbc, 0x24, 0x32, 0x02, 0xe3, 0x46, 0x33, 0x33, 0x46, 0x33, 0x56, 0x56, 0x54, 0x32, 0x23, 0x24, // .$2..F33F3VVT2#$ + 0x32, 0x8f, 0xa8, 0xaf, 0xfe, 0xd4, 0xb1, 0x56, 0x54, 0x32, 0x23, 0x24, 0x32, 0x8f, 0xa8, 0x67, // 2......VT2#$2..g + 0xaf, 0xf1, 0x01, 0x84, 0x23, 0x32, 0x55, 0x55, 0xa7, 0xfe, 0xcf, 0xdd, 0x83, 0x01, 0x0a, 0xd9, // ....#2UU........ + 0x32, 0x24, 0x23, 0x32, 0x55, 0x55, 0xa7, 0x01, 0x31, 0xdd, 0x83, 0xfe, 0xf6, 0xd9, 0x32, 0x00, // 2$#2UU..1.....2. + 0x00, 0x06, 0x00, 0x0b, 0xff, 0x00, 0x04, 0xf5, 0x06, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x1b, // ................ + 0x00, 0x2c, 0x00, 0x75, 0x00, 0xa3, 0x00, 0x00, 0x01, 0x03, 0x17, 0x12, 0x35, 0x34, 0x23, 0x22, // .,.u........54#" + 0x01, 0x16, 0x17, 0x36, 0x37, 0x2e, 0x02, 0x01, 0x14, 0x13, 0x36, 0x33, 0x32, 0x17, 0x03, 0x26, // ...67.....632..& + 0x23, 0x22, 0x06, 0x03, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x2e, 0x03, 0x23, // #".....32654'..# + 0x22, 0x06, 0x03, 0x14, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x37, 0x36, 0x11, 0x34, 0x2e, 0x01, 0x27, // "......3276.4..' + 0x26, 0x24, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x1e, 0x04, 0x37, 0x32, 0x33, 0x32, 0x17, 0x16, // &$#"......7232.. + 0x17, 0x06, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x15, 0x07, 0x06, 0x15, 0x26, 0x27, // ..............&' + 0x06, 0x23, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x16, 0x17, 0x16, 0x33, // .#....#"&547...3 + 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, // 2654&#"..467&546 + 0x33, 0x32, 0x17, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x13, 0x16, 0x17, 0x3e, 0x05, 0x33, 0x32, // 32..54632...>.32 + 0x16, 0x15, 0x14, 0x03, 0x1e, 0x03, 0x15, 0x14, 0x02, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x26, 0x02, // ...........#"'&. + 0x03, 0xb9, 0x72, 0x75, 0xa5, 0x26, 0x39, 0xfe, 0x8c, 0x1e, 0x03, 0x25, 0x22, 0x0c, 0x2a, 0x23, // ..ru.&9....%".*# + 0xfe, 0xcd, 0x9f, 0x11, 0x20, 0x0f, 0x3c, 0x79, 0x4b, 0x30, 0x13, 0x14, 0x4f, 0x67, 0x84, 0x22, // .... .O%GR.=O + 0x26, 0x0e, 0x5e, 0xaa, 0xfc, 0x98, 0x6f, 0x70, 0x95, 0xda, 0x04, 0x86, 0xfe, 0xb8, 0x15, 0x01, // &.^...op........ + 0xc3, 0x43, 0x38, 0xfc, 0x70, 0x50, 0x08, 0x2a, 0x19, 0x02, 0x07, 0x07, 0x03, 0x85, 0x62, 0xfe, // .C8.pP.*......b. + 0x59, 0x0a, 0x05, 0x01, 0x5f, 0xdc, 0x23, 0xfc, 0xf5, 0x24, 0xa6, 0x8c, 0x1a, 0x0e, 0x18, 0x4e, // Y..._.#..$.....N + 0x20, 0x50, 0x62, 0x40, 0x36, 0xfe, 0x9d, 0x29, 0x3f, 0x91, 0xa4, 0xaa, 0xa9, 0x01, 0x02, 0x2b, // Pb@6..)?......+ + 0x30, 0x4c, 0x12, 0x31, 0x35, 0x0b, 0x05, 0x1e, 0x22, 0x34, 0x1c, 0x13, 0x04, 0x04, 0x02, 0x13, // 0L.15..."4...... + 0x13, 0x24, 0x1c, 0x1a, 0x16, 0x18, 0x2e, 0x88, 0x45, 0x1f, 0x73, 0x1e, 0x0c, 0x0c, 0x02, 0x0a, // .$......E.s..... + 0xce, 0x02, 0x07, 0x0e, 0x35, 0x49, 0x9c, 0x51, 0x22, 0x21, 0x40, 0x0c, 0x68, 0x11, 0x0c, 0x22, // ....5I.Q"!@.h.." + 0xde, 0x59, 0x37, 0x65, 0x7c, 0x1a, 0x4a, 0x1e, 0x3e, 0x7a, 0x0f, 0x01, 0xce, 0x69, 0x50, 0x65, // .Y7e|.J.>z...iPe + 0xfd, 0xbb, 0x11, 0x06, 0x10, 0x7f, 0x6e, 0x91, 0x65, 0x48, 0x62, 0x49, 0x6c, 0xfe, 0x46, 0x0f, // ......n.eHbIl.F. + 0x3e, 0x5e, 0x5d, 0x40, 0x96, 0xfe, 0xfc, 0xbe, 0x6e, 0x2a, 0x39, 0x01, 0x0d, 0x00, 0x00, 0x00, // >^]@....n*9..... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x05, 0x80, 0x00, 0x1a, 0x00, 0x36, 0x00, 0x5b, // .............6.[ + 0x00, 0x5f, 0x00, 0x00, 0x01, 0x33, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, // ._...3..#"&54632 + 0x16, 0x17, 0x23, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x25, 0x33, // ..#..#".....32%3 + 0x0e, 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x2e, 0x01, 0x23, // ..#"&54632..#..# + 0x22, 0x06, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x25, 0x34, 0x26, 0x27, 0x2e, 0x02, 0x27, // ".....326%4&'..' + 0x26, 0x21, 0x20, 0x07, 0x0e, 0x02, 0x07, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x17, 0x1e, 0x02, 0x17, // &! ............. + 0x16, 0x04, 0x21, 0x20, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x01, 0x13, 0x11, 0x21, 0x11, 0x03, 0x11, // ..! 7>.7>...!... + 0xcf, 0x0e, 0xa9, 0x82, 0xa2, 0xb9, 0xba, 0x8c, 0x94, 0xa8, 0x0d, 0xcb, 0x05, 0x3d, 0x33, 0x39, // .............=39 + 0x3f, 0x0a, 0x1a, 0x36, 0x27, 0x5f, 0x02, 0xd6, 0xce, 0x0e, 0xa8, 0x82, 0xa2, 0xb9, 0xba, 0x8c, // ?..6'_.......... + 0x94, 0xa8, 0x0d, 0xcc, 0x04, 0x3e, 0x32, 0x39, 0x3f, 0x0a, 0x1a, 0x35, 0x27, 0x31, 0x37, 0x01, // .....>29?..5'17. + 0x6d, 0x1f, 0x2d, 0x06, 0x0f, 0x1c, 0x02, 0x56, 0xfd, 0x9d, 0xfd, 0x8f, 0x55, 0x05, 0x19, 0x11, // m.-....V....U... + 0x06, 0x2d, 0x1e, 0x1e, 0x2d, 0x06, 0x12, 0x17, 0x06, 0x2c, 0x01, 0x87, 0x01, 0x13, 0x02, 0x62, // .-..-....,.....b + 0x57, 0x05, 0x18, 0x11, 0x05, 0x2e, 0x1e, 0xc0, 0xf8, 0x00, 0x02, 0x10, 0x9e, 0xb5, 0xe8, 0xc8, // W............... + 0xc2, 0xeb, 0xae, 0xa0, 0x40, 0x46, 0x79, 0x75, 0x30, 0x48, 0x43, 0x24, 0x8b, 0x9e, 0xb5, 0xe8, // ....@Fyu0HC$.... + 0xc8, 0xc2, 0xeb, 0xae, 0xa0, 0x40, 0x46, 0x79, 0x75, 0x30, 0x48, 0x43, 0x24, 0x4c, 0xb6, 0xcf, // .....@Fyu0HC$L.. + 0xc8, 0x3d, 0x08, 0x0c, 0x12, 0x02, 0x3f, 0x3f, 0x04, 0x0f, 0x0d, 0x08, 0x3c, 0xc7, 0xd1, 0xd0, // .=....??....<... + 0xc7, 0x3d, 0x08, 0x0e, 0x0e, 0x05, 0x21, 0x20, 0x41, 0x04, 0x0e, 0x0e, 0x09, 0x3c, 0xc6, 0x03, // .=....! A....<.. + 0xcb, 0xfa, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x60, // ...............` + 0x05, 0x80, 0x00, 0x1d, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // .....;......+."& + 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, // 5.4&#!...+."&5.4 + 0x36, 0x33, 0x21, 0x32, 0x1e, 0x01, 0x01, 0x11, 0x14, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x35, // 63!2.......#!"&5 + 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x11, 0x21, 0x32, 0x36, 0x35, 0x11, 0x34, 0x36, // .46;.2...!265.46 + 0x3b, 0x01, 0x32, 0x16, 0x03, 0xe0, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0xa0, 0x70, 0xfe, 0xf0, 0x12, // ;.2.........p... + 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xd0, 0x87, 0xe4, 0x85, 0x01, 0x80, 0x85, 0xe4, 0x87, // ................ + 0xfe, 0x30, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x01, 0x10, 0x70, 0xa0, 0x12, 0x0e, 0xa0, // .0.........p.... + 0x0e, 0x12, 0x03, 0x90, 0xfe, 0x10, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0xf0, 0x70, 0xa0, 0xfb, 0x80, // ............p... + 0x0e, 0x12, 0x12, 0x0e, 0x05, 0x40, 0x0e, 0x12, 0x85, 0xe4, 0x01, 0x49, 0xfc, 0x90, 0x87, 0xe4, // .....@.....I.... + 0x85, 0x12, 0x0e, 0x03, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x00, 0xa0, 0x70, 0x03, 0x70, 0x0e, // ............p.p. + 0x12, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x3e, 0x00, 0x53, 0x00, 0x63, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, // .>.S.c......+."& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x05, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x07, // =.46;.2..54&+.". + 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x3b, 0x01, 0x32, 0x3d, 0x01, 0x34, 0x36, 0x3b, // &+."....;.2=.46; + 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x3b, 0x01, 0x32, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, // .2....;.2=.46;.2 + 0x16, 0x1d, 0x01, 0x14, 0x3b, 0x01, 0x32, 0x25, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, // ....;.2%54&#!".. + 0x11, 0x14, 0x3b, 0x01, 0x32, 0x3d, 0x01, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, // ..;.2=..;.26.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x1f, 0x1b, 0x18, // #!"&5.463!2..... + 0xca, 0x18, 0x1c, 0x1c, 0x18, 0xca, 0x18, 0x1b, 0xfe, 0x16, 0x41, 0x35, 0x85, 0x44, 0x1c, 0x1c, // ..........A5.D.. + 0x44, 0x82, 0x35, 0x41, 0x15, 0x37, 0x16, 0x1b, 0x19, 0x5e, 0x18, 0x1c, 0x15, 0x36, 0x16, 0x1c, // D.5A.7...^...6.. + 0x18, 0x61, 0x18, 0x1b, 0x16, 0x37, 0x15, 0x02, 0x4d, 0x42, 0x35, 0xfe, 0xf8, 0x35, 0x42, 0x16, // .a...7..MB5..5B. + 0x37, 0x15, 0x1f, 0x3f, 0xbf, 0x35, 0x42, 0x7e, 0x88, 0x60, 0xfb, 0xd0, 0x60, 0x88, 0x88, 0x60, // 7..?.5B~.`..`..` + 0x04, 0x30, 0x60, 0x88, 0x02, 0xb6, 0x72, 0x18, 0x1c, 0x1c, 0x18, 0x72, 0x18, 0x1c, 0x1c, 0xfe, // .0`...r....r.... + 0xfa, 0x35, 0x41, 0x34, 0x34, 0x41, 0x35, 0xfa, 0x16, 0x16, 0xe6, 0x18, 0x1c, 0x1c, 0x18, 0xe6, // .5A44A5......... + 0x16, 0x16, 0xe6, 0x18, 0x1c, 0x1c, 0x18, 0xe6, 0x16, 0x76, 0x9a, 0x35, 0x41, 0x41, 0x35, 0xfe, // .........v.5AA5. + 0x66, 0x15, 0x15, 0xb4, 0x2a, 0x41, 0x02, 0x9d, 0xfb, 0xd0, 0x60, 0x88, 0x88, 0x60, 0x04, 0x30, // f...*A....`..`.0 + 0x60, 0x88, 0x88, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x02, // `............... + 0x00, 0x09, 0x00, 0x19, 0x00, 0x00, 0x01, 0x21, 0x1b, 0x01, 0x21, 0x01, 0x21, 0x01, 0x21, 0x09, // .......!..!.!.!. + 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // ....#!"&5.463!2. + 0x03, 0x93, 0xfe, 0xda, 0x93, 0xe9, 0x01, 0x37, 0xfe, 0xbc, 0xfe, 0x48, 0xfe, 0xbc, 0x01, 0x37, // .......7...H...7 + 0x01, 0x7f, 0x02, 0x6a, 0xaa, 0x76, 0xfc, 0x40, 0x76, 0xaa, 0xaa, 0x76, 0x03, 0xc0, 0x76, 0xaa, // ...j.v.@v..v..v. + 0x01, 0xc2, 0x02, 0x27, 0xfc, 0x97, 0x04, 0x00, 0xfc, 0x00, 0x01, 0x3a, 0x02, 0xa6, 0xfc, 0x40, // ...'.......:...@ + 0x76, 0xaa, 0xaa, 0x76, 0x03, 0xc0, 0x76, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, // v..v..v......... + 0xff, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x4d, 0x00, 0x55, 0x00, 0x61, 0x00, 0x68, 0x00, 0x6d, // .......M.U.a.h.m + 0x00, 0x72, 0x00, 0x78, 0x00, 0x7f, 0x00, 0x84, 0x00, 0x89, 0x00, 0x91, 0x00, 0x96, 0x00, 0x9c, // .r.x............ + 0x00, 0xa0, 0x00, 0xa4, 0x00, 0xa7, 0x00, 0xaa, 0x00, 0xaf, 0x00, 0xb8, 0x00, 0xbb, 0x00, 0xbe, // ................ + 0x00, 0xc1, 0x00, 0xcb, 0x00, 0x00, 0x01, 0x14, 0x06, 0x07, 0x03, 0x16, 0x15, 0x14, 0x06, 0x07, // ................ + 0x03, 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x21, 0x06, 0x22, 0x27, 0x21, 0x06, 0x23, 0x22, // .....#"'!."'!.#" + 0x26, 0x35, 0x34, 0x37, 0x03, 0x2e, 0x01, 0x35, 0x34, 0x37, 0x03, 0x2e, 0x01, 0x35, 0x34, 0x36, // &547...547...546 + 0x37, 0x13, 0x34, 0x26, 0x35, 0x34, 0x37, 0x13, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x21, // 7.4&547.&54632.! + 0x36, 0x32, 0x17, 0x21, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x13, 0x1e, 0x01, 0x15, 0x14, // 62.!632......... + 0x07, 0x13, 0x1e, 0x01, 0x01, 0x21, 0x01, 0x23, 0x01, 0x21, 0x36, 0x32, 0x01, 0x16, 0x15, 0x14, // .....!.#.!62.... + 0x07, 0x13, 0x17, 0x37, 0x11, 0x27, 0x06, 0x07, 0x01, 0x21, 0x17, 0x25, 0x21, 0x06, 0x22, 0x01, // ...7.'...!.%!.". + 0x36, 0x37, 0x27, 0x07, 0x23, 0x37, 0x03, 0x01, 0x17, 0x01, 0x37, 0x13, 0x21, 0x01, 0x36, 0x05, // 67'.#7....7.!.6. + 0x33, 0x01, 0x21, 0x11, 0x17, 0x16, 0x03, 0x21, 0x37, 0x01, 0x0f, 0x01, 0x33, 0x35, 0x07, 0x16, // 3.!....!7...35.. + 0x11, 0x14, 0x16, 0x15, 0x14, 0x07, 0x17, 0x11, 0x37, 0x11, 0x17, 0x01, 0x2f, 0x01, 0x07, 0x11, // ........7.../... + 0x37, 0x27, 0x06, 0x25, 0x23, 0x05, 0x17, 0x15, 0x09, 0x02, 0x25, 0x27, 0x11, 0x05, 0x07, 0x33, // 7'.%#.....%'...3 + 0x01, 0x17, 0x13, 0x2f, 0x02, 0x26, 0x3d, 0x01, 0x03, 0x26, 0x27, 0x09, 0x02, 0x35, 0x03, 0x13, // .../.&=..&'..5.. + 0x23, 0x13, 0x01, 0x07, 0x3f, 0x01, 0x13, 0x26, 0x35, 0x34, 0x37, 0x0b, 0x01, 0x17, 0x36, 0x08, // #...?..&547...6. + 0x00, 0x1a, 0x14, 0xcd, 0x03, 0x19, 0x14, 0xc1, 0x03, 0x21, 0x18, 0x19, 0x10, 0xfe, 0x70, 0x11, // .........!....p. + 0x34, 0x11, 0xfe, 0x71, 0x11, 0x1a, 0x17, 0x22, 0x04, 0xc1, 0x14, 0x19, 0x03, 0xce, 0x14, 0x19, // 4..q..."........ + 0x1b, 0x14, 0xc7, 0x01, 0x22, 0xd1, 0x04, 0x22, 0x17, 0x1a, 0x12, 0x01, 0x8c, 0x10, 0x36, 0x10, // ....".."......6. + 0x01, 0x8e, 0x12, 0x1a, 0x17, 0x22, 0x04, 0xcf, 0x17, 0x20, 0x07, 0xbb, 0x13, 0x19, 0xfc, 0x27, // ....."... .....' + 0x01, 0x85, 0xfe, 0xaa, 0x8f, 0xfe, 0xaa, 0x01, 0x68, 0x12, 0x2a, 0xfc, 0x5b, 0x01, 0x02, 0xd0, // ........h.*.[... + 0x0f, 0xbc, 0xbb, 0x0d, 0x10, 0x02, 0xa8, 0xfe, 0x7c, 0xbe, 0x02, 0x2a, 0xfe, 0xe8, 0x10, 0x2c, // ........|..*..., + 0x02, 0xaf, 0x01, 0x04, 0x40, 0x11, 0x1e, 0x16, 0xfc, 0xfe, 0xd8, 0x3f, 0x01, 0x77, 0x10, 0x41, // ....@......?.w.A + 0xfe, 0x55, 0x01, 0x4d, 0x08, 0xfc, 0x70, 0x05, 0x01, 0x56, 0xfe, 0x8b, 0x04, 0x0e, 0x12, 0x01, // .U.M..p..V...... + 0x92, 0x40, 0xfe, 0xcb, 0x9d, 0xc1, 0xa3, 0xa8, 0x04, 0x01, 0x08, 0xab, 0x1e, 0x99, 0x01, 0x29, // .@.............) + 0xdf, 0xdf, 0x04, 0xcd, 0xbf, 0x06, 0x03, 0x77, 0x10, 0xfd, 0x93, 0xd5, 0xfe, 0xd7, 0x01, 0x37, // .......w.......7 + 0x01, 0x28, 0xfd, 0x7b, 0x88, 0x01, 0xe6, 0x2a, 0x55, 0x01, 0x25, 0xee, 0x84, 0x03, 0x01, 0x16, // .(.{...*U.%..... + 0x08, 0xd8, 0x05, 0x08, 0xfe, 0x4b, 0x01, 0x36, 0xfc, 0xc0, 0xa3, 0xa3, 0xa3, 0xa3, 0x04, 0x3d, // .....K.6.......= + 0x30, 0x82, 0x28, 0xcf, 0x02, 0x03, 0xab, 0x81, 0x4d, 0x05, 0x02, 0x81, 0x15, 0x1f, 0x04, 0xfe, // 0.(.....M....... + 0x9c, 0x09, 0x09, 0x14, 0x1f, 0x04, 0xfe, 0xaf, 0x08, 0x08, 0x17, 0x22, 0x12, 0x14, 0x14, 0x14, // ...........".... + 0x21, 0x18, 0x08, 0x0c, 0x01, 0x4f, 0x04, 0x1f, 0x14, 0x09, 0x09, 0x01, 0x64, 0x05, 0x1f, 0x14, // !....O......d... + 0x15, 0x1f, 0x04, 0x01, 0x58, 0x01, 0x04, 0x01, 0x24, 0x0f, 0x01, 0x6b, 0x0a, 0x08, 0x18, 0x21, // ....X...$..k...! + 0x15, 0x15, 0x15, 0x15, 0x21, 0x18, 0x06, 0x0c, 0xfe, 0x9a, 0x01, 0x21, 0x16, 0x0d, 0x0e, 0xfe, // ....!......!.... + 0xbc, 0x04, 0x1f, 0xfc, 0xcd, 0x01, 0x62, 0xfe, 0x9e, 0x10, 0x03, 0x1c, 0x04, 0x09, 0x0a, 0x05, // ......b......... + 0xfe, 0x98, 0x06, 0xc7, 0x01, 0x5b, 0xc2, 0x08, 0x02, 0x01, 0xc0, 0xc8, 0xc8, 0x10, 0xfb, 0x54, // .....[.........T + 0x06, 0x05, 0x44, 0x4f, 0x69, 0x01, 0x0a, 0xfe, 0xcd, 0x40, 0xfe, 0x90, 0x1c, 0x01, 0x36, 0xfe, // ..DOi....@....6. + 0xa9, 0x04, 0x0f, 0x01, 0x62, 0xfe, 0xb1, 0x06, 0x05, 0x01, 0x78, 0x42, 0x01, 0x41, 0xa6, 0xdd, // ....b.....xB.A.. + 0xbd, 0xb1, 0x08, 0x03, 0x35, 0x01, 0x02, 0x01, 0x10, 0x0d, 0xb1, 0x01, 0x0d, 0x0b, 0xfe, 0xc9, // ....5........... + 0x9d, 0x01, 0x3a, 0xec, 0xde, 0x08, 0xfe, 0xf8, 0x4a, 0xc9, 0x02, 0x0c, 0xe0, 0xe1, 0x2b, 0xfe, // ..:.....J.....+. + 0xc5, 0xfe, 0xc1, 0x01, 0x33, 0x0f, 0x8d, 0xfe, 0xe4, 0xdd, 0x2c, 0x01, 0x88, 0xfb, 0x02, 0x70, // ....3.....,....p + 0x05, 0x01, 0x15, 0x0d, 0x10, 0x02, 0x01, 0x78, 0x01, 0x04, 0xfe, 0x31, 0xfe, 0xb9, 0x01, 0xf6, // .......x...1.... + 0xdf, 0xfe, 0xe6, 0xfc, 0x89, 0xfe, 0xe5, 0x01, 0x1b, 0xe3, 0xe3, 0x46, 0x01, 0x69, 0x0a, 0x04, // ...........F.i.. + 0x01, 0x0f, 0x01, 0x28, 0xfd, 0x9c, 0x52, 0x03, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, // ...(..R......... + 0x06, 0x00, 0x00, 0x0d, 0x00, 0x1b, 0x00, 0x00, 0x11, 0x34, 0x36, 0x33, 0x21, 0x01, 0x11, 0x14, // .........463!... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x25, 0x27, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, // .#!"&5%'.4&#!".. + 0x11, 0x14, 0x16, 0x33, 0xb7, 0x83, 0x02, 0xe6, 0x01, 0x60, 0xb7, 0x83, 0xfc, 0xf4, 0x83, 0xb7, // ...3.....`...... + 0x04, 0xd0, 0xb0, 0x40, 0x2e, 0xfe, 0x1c, 0x2e, 0x40, 0x41, 0x2d, 0x03, 0x58, 0x83, 0xbf, 0x01, // ...@....@A-.X... + 0x66, 0xfa, 0x42, 0x84, 0xbe, 0xbe, 0x84, 0x24, 0xb4, 0x01, 0xa9, 0x2e, 0x42, 0x42, 0x2e, 0xfe, // f.B....$....BB.. + 0x14, 0x2e, 0x43, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x83, 0x06, 0x00, 0x05, 0x7d, 0x00, 0x0a, // ..C..........}.. + 0x00, 0x14, 0x00, 0x1e, 0x00, 0x29, 0x00, 0x00, 0x01, 0x04, 0x00, 0x03, 0x26, 0x35, 0x34, 0x12, // .....)......&54. + 0x24, 0x33, 0x32, 0x05, 0x16, 0x17, 0x04, 0x00, 0x03, 0x26, 0x27, 0x12, 0x00, 0x01, 0x12, 0x00, // $32......&'..... + 0x25, 0x16, 0x17, 0x04, 0x00, 0x03, 0x26, 0x05, 0x26, 0x27, 0x06, 0x07, 0x36, 0x00, 0x37, 0x06, // %.....&.&'..6.7. + 0x07, 0x16, 0x03, 0xa6, 0xfe, 0xc3, 0xfe, 0x22, 0x77, 0x14, 0xcd, 0x01, 0x60, 0xd0, 0x52, 0x01, // ......."w...`.R. + 0x64, 0x5d, 0x47, 0xfe, 0x7b, 0xfd, 0xc5, 0x6f, 0x5d, 0x3e, 0x70, 0x02, 0x36, 0xfe, 0xa3, 0x73, // d]G.{..o]>p.6..s + 0x02, 0x11, 0x01, 0x63, 0x28, 0x0e, 0xfe, 0xdc, 0xfe, 0x40, 0x77, 0x67, 0x03, 0xcf, 0xc1, 0xae, // ...c(....@wg.... + 0x87, 0x9b, 0x6d, 0x01, 0x4a, 0xcc, 0x15, 0x50, 0x41, 0x05, 0x6a, 0x79, 0xfe, 0x1d, 0xfe, 0xc1, // ..m.J..PA.jy.... + 0x59, 0x57, 0xd0, 0x01, 0x61, 0xcd, 0x8a, 0x41, 0x5a, 0x71, 0xfd, 0xc1, 0xfe, 0x7b, 0x48, 0x5a, // YW..a..AZq...{HZ + 0x01, 0x82, 0x02, 0x3a, 0xfb, 0x3c, 0x01, 0x64, 0x02, 0x14, 0x76, 0x5c, 0x67, 0x78, 0xfe, 0x3e, // ...:.<.d..v.gx.> + 0xfe, 0xdb, 0x0e, 0x14, 0x32, 0x41, 0x54, 0x17, 0xcd, 0x01, 0x4b, 0x6e, 0x98, 0x84, 0xaf, 0x00, // ....2AT...Kn.... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x04, 0xf7, 0x00, 0x16, 0x00, 0x2b, 0x00, 0x3b, // .............+.; + 0x00, 0x00, 0x01, 0x13, 0x22, 0x27, 0x26, 0x23, 0x22, 0x07, 0x26, 0x23, 0x22, 0x07, 0x06, 0x2b, // ...."'&#".&#"..+ + 0x01, 0x13, 0x36, 0x21, 0x32, 0x17, 0x36, 0x33, 0x20, 0x01, 0x32, 0x16, 0x17, 0x03, 0x26, 0x23, // ..6!2.63 .2...&# + 0x22, 0x07, 0x26, 0x23, 0x22, 0x07, 0x03, 0x3e, 0x02, 0x33, 0x32, 0x17, 0x36, 0x37, 0x03, 0x06, // ".&#"..>.32.67.. + 0x07, 0x26, 0x23, 0x22, 0x07, 0x03, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x36, 0x17, 0x07, 0x65, 0x9b, // .&#"..>.32.6..e. + 0x83, 0x7e, 0xc8, 0xc1, 0xe2, 0x94, 0x94, 0xe2, 0xc1, 0xc8, 0x80, 0x7c, 0x05, 0x9b, 0xe0, 0x01, // .~.........|.... + 0x02, 0xe9, 0x9a, 0x9a, 0xe9, 0x01, 0x02, 0xfe, 0xf1, 0x81, 0xce, 0x9d, 0x7c, 0xab, 0xc5, 0xe0, // ............|... + 0x96, 0x96, 0xe0, 0xc5, 0xab, 0x7c, 0x69, 0x79, 0xb0, 0x5a, 0xca, 0xac, 0xac, 0xf2, 0x37, 0xd3, // .....|iy.Z....7. + 0x94, 0x98, 0xde, 0xb0, 0xa0, 0x72, 0x7c, 0xd1, 0x75, 0xd1, 0xa5, 0xac, 0xca, 0x04, 0x78, 0xfb, // .....r|.u.....x. + 0x08, 0x39, 0x5b, 0x94, 0x94, 0x5b, 0x39, 0x04, 0xf8, 0x7f, 0x6a, 0x6a, 0xfb, 0xa6, 0x39, 0x41, // .9[..[9...jj..9A + 0x03, 0xfd, 0x4e, 0x8d, 0x8d, 0x4e, 0xfc, 0x03, 0x2b, 0x2c, 0x23, 0x6c, 0x6c, 0x22, 0x03, 0x8b, // ..N..N..+,#ll".. + 0x04, 0x97, 0x9b, 0x42, 0xfc, 0x53, 0x33, 0x32, 0x66, 0x6b, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, // ...B.S32fk...... + 0xff, 0xa5, 0x08, 0x00, 0x05, 0x5b, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x5c, // .....[...../.?.. + 0x00, 0x00, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, // ..%.4&+.".....;. + 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, // 26%.4&+.".....;. + 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, // 26%.4&+.".....;. + 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, // 26%.4&+.".....;. + 0x32, 0x36, 0x25, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, // 26%..#!"&5467&54 + 0x36, 0x33, 0x32, 0x17, 0x36, 0x24, 0x33, 0x32, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x05, // 632.6$32........ + 0xdc, 0x1e, 0x14, 0x5d, 0x14, 0x1e, 0x1e, 0x14, 0x5d, 0x14, 0x1e, 0xfe, 0xe4, 0x1e, 0x14, 0x65, // ...]....]......e + 0x14, 0x1e, 0x1e, 0x14, 0x65, 0x14, 0x1e, 0xfe, 0xdc, 0x1e, 0x14, 0x65, 0x14, 0x1e, 0x1e, 0x14, // ....e......e.... + 0x65, 0x14, 0x1e, 0xfe, 0xdc, 0x1e, 0x14, 0x65, 0x14, 0x1e, 0x1e, 0x14, 0x65, 0x14, 0x1e, 0x05, // e......e....e... + 0x88, 0xec, 0xa6, 0xfb, 0x24, 0xa6, 0xec, 0x7e, 0x69, 0x0a, 0xa1, 0x71, 0x66, 0x4e, 0x2d, 0x01, // ....$..~i..qfN-. + 0x2a, 0xbd, 0x95, 0xfc, 0x93, 0x0e, 0x87, 0xac, 0xa5, 0x02, 0xdd, 0x15, 0x1e, 0x1e, 0x15, 0xfd, // *............... + 0x23, 0x14, 0x1e, 0x1e, 0x14, 0x02, 0x13, 0x14, 0x1e, 0x1e, 0x14, 0xfd, 0xed, 0x14, 0x1e, 0x1e, // #............... + 0x14, 0x01, 0xad, 0x14, 0x1e, 0x1e, 0x14, 0xfe, 0x53, 0x14, 0x1e, 0x1e, 0x14, 0x01, 0x6a, 0x14, // ........S.....j. + 0x1e, 0x1e, 0x14, 0xfe, 0x96, 0x14, 0x1e, 0x1e, 0xa6, 0xa6, 0xec, 0xec, 0xa6, 0x74, 0xc5, 0x32, // .............t.2 + 0x22, 0x27, 0x71, 0xa1, 0x43, 0xb7, 0xea, 0x93, 0xfc, 0x95, 0x42, 0x38, 0x21, 0xdb, 0x00, 0x00, // "'q.C.....B8!... + 0x00, 0x27, 0x00, 0x00, 0xff, 0x3e, 0x06, 0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x09, 0x00, 0x0d, // .'...>.......... + 0x00, 0x11, 0x00, 0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29, 0x00, 0x2d, // .........!.%.).- + 0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, // .1.5.9.=.A.E.I.M + 0x00, 0x51, 0x00, 0x55, 0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x67, 0x00, 0x6b, 0x00, 0x6f, // .Q.U.Y.].a.g.k.o + 0x00, 0x73, 0x00, 0x77, 0x00, 0x7b, 0x00, 0x7f, 0x00, 0x85, 0x00, 0x89, 0x00, 0x8d, 0x00, 0x91, // .s.w.{.......... + 0x00, 0x95, 0x00, 0x99, 0x00, 0xa5, 0x00, 0xd5, 0x00, 0x00, 0x11, 0x21, 0x11, 0x09, 0x01, 0x25, // ...........!...% + 0x11, 0x21, 0x11, 0x09, 0x01, 0x35, 0x21, 0x15, 0x13, 0x15, 0x23, 0x35, 0x17, 0x15, 0x23, 0x35, // .!...5!...#5..#5 + 0x17, 0x15, 0x23, 0x35, 0x17, 0x15, 0x23, 0x35, 0x17, 0x15, 0x23, 0x35, 0x17, 0x37, 0x17, 0x07, // ..#5..#5..#5.7.. + 0x17, 0x37, 0x17, 0x07, 0x17, 0x37, 0x17, 0x07, 0x17, 0x37, 0x17, 0x07, 0x3f, 0x01, 0x17, 0x07, // .7...7...7..?... + 0x3f, 0x01, 0x17, 0x07, 0x3f, 0x01, 0x17, 0x07, 0x3f, 0x01, 0x17, 0x07, 0x01, 0x15, 0x23, 0x35, // ?...?...?.....#5 + 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, // !.#5!.#5!.#5!.#5 + 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x01, 0x15, 0x23, 0x35, // !.#5!.#5!.#5..#5 + 0x33, 0x15, 0x37, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, // 3.7.#5!.#5!.#5!. + 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x17, 0x35, 0x23, 0x35, 0x33, 0x15, // #5!.#5!.#5.5#53. + 0x07, 0x35, 0x33, 0x15, 0x07, 0x35, 0x33, 0x15, 0x07, 0x35, 0x33, 0x15, 0x07, 0x35, 0x33, 0x15, // .53..53..53..53. + 0x07, 0x35, 0x33, 0x15, 0x25, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, // .53.%"&54632.... + 0x01, 0x14, 0x1e, 0x02, 0x36, 0x16, 0x15, 0x14, 0x23, 0x22, 0x27, 0x23, 0x07, 0x16, 0x33, 0x32, // ....6...#"'#..32 + 0x3e, 0x02, 0x35, 0x34, 0x2e, 0x01, 0x06, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, // >.54...&54>.32.. + 0x33, 0x37, 0x2e, 0x06, 0x23, 0x22, 0x0e, 0x02, 0x06, 0x00, 0xfc, 0xf8, 0xfd, 0x08, 0x05, 0x9c, // 37..#".......... + 0xfa, 0xc8, 0x02, 0x95, 0x02, 0xa3, 0xfa, 0xc8, 0x51, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, // ........Q%%%%%%% + 0x25, 0x25, 0x3f, 0x0f, 0x69, 0x0f, 0x1f, 0x0f, 0x69, 0x0f, 0x1e, 0x0f, 0x69, 0x0f, 0x1f, 0x0f, // %%?.i...i...i... + 0x68, 0x0f, 0x4f, 0x69, 0x0f, 0x69, 0x78, 0x69, 0x0f, 0x69, 0x79, 0x69, 0x0f, 0x69, 0x78, 0x69, // h.Oi.ixi.iyi.ixi + 0x0f, 0x69, 0xfc, 0x41, 0x72, 0x01, 0x14, 0x73, 0x01, 0x15, 0x73, 0x01, 0x14, 0x72, 0x01, 0x14, // .i.Ar..s..s..r.. + 0x72, 0x01, 0x14, 0x73, 0x01, 0x15, 0x73, 0x01, 0x14, 0x72, 0xfb, 0xb8, 0x25, 0x73, 0xa2, 0x73, // r..s..s..r..%s.s + 0x01, 0x15, 0x73, 0x01, 0x14, 0x72, 0x01, 0x14, 0x72, 0x01, 0x14, 0x73, 0x01, 0x15, 0x73, 0xf0, // ..s..r..r..s..s. + 0x4e, 0x73, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0xfd, 0x88, 0x81, 0xb8, // Ns%%%%%%%%%%.... + 0xb8, 0x81, 0x82, 0xb7, 0xb7, 0xfe, 0xd9, 0x27, 0x3c, 0x44, 0x3c, 0x27, 0x70, 0x61, 0x1a, 0x03, // .......'.32......# + 0x22, 0x2e, 0x01, 0x35, 0x34, 0x00, 0x33, 0x32, 0x1e, 0x05, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, // "..54.32..32654& + 0x23, 0x22, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x0e, 0x02, // #".#"&54654&#".. + 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x15, 0x14, 0x07, 0x36, 0x05, // #"&547>.32....6. + 0x96, 0x01, 0x04, 0x94, 0xd2, 0xda, 0x9e, 0x55, 0x9a, 0x7a, 0x72, 0x68, 0x67, 0x72, 0x78, 0x98, // .......U.zrhgrx. + 0x53, 0x9a, 0xc3, 0xd0, 0x9f, 0x64, 0xd8, 0x55, 0x05, 0x20, 0x1c, 0x08, 0x0e, 0x15, 0x3c, 0x65, // S....d.U. .....7.#"&463 + 0x21, 0x32, 0x1e, 0x04, 0x17, 0x21, 0x32, 0x16, 0x04, 0xc0, 0x26, 0x1a, 0x80, 0x26, 0x34, 0x26, // !2...!2...&..&4& + 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x26, 0x34, 0x26, 0x80, 0x1a, 0xfd, 0xe6, 0x4b, 0x6a, 0x4b, // ..&&..&4&....KjK + 0x4b, 0x6a, 0x03, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xcb, 0x20, 0x19, 0xfb, 0xec, 0x01, 0x07, // Kj..KjKKj. ..... + 0x05, 0x18, 0x03, 0x98, 0x1a, 0x26, 0x26, 0x1a, 0xfc, 0x00, 0x1a, 0x26, 0x16, 0x25, 0x02, 0xb1, // .....&&....&.%.. + 0xcc, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x10, 0x19, 0x0f, 0x0b, 0x04, 0x07, 0x01, 0x04, 0xb1, // ..&&............ + 0x1a, 0x26, 0x03, 0x26, 0x34, 0x26, 0x80, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x26, 0x34, 0x26, 0x80, // .&.&4&..&&..&4&. + 0x1a, 0x26, 0x26, 0x1a, 0x80, 0xfd, 0x35, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, // .&&...5jKKjKKjKK + 0x6a, 0x4b, 0x03, 0xc0, 0xfe, 0x00, 0x18, 0x25, 0x03, 0x7a, 0x07, 0x1d, 0x18, 0x0a, 0x10, 0x30, // jK.....%.z.....0 + 0x26, 0x34, 0x26, 0x26, 0x1a, 0x0e, 0x33, 0x44, 0x04, 0x03, 0x37, 0x26, 0x34, 0x26, 0x0d, 0x12, // &4&&..3D..7&4&.. + 0x1f, 0x16, 0x25, 0x07, 0x26, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x80, // ..%.&........... + 0x05, 0x00, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x53, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, // .......'.S...4&" + 0x0f, 0x01, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x27, 0x26, 0x22, 0x06, 0x14, 0x17, 0x01, // ...4&"...'&".... + 0x16, 0x32, 0x37, 0x01, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, // .27...."&462..." + 0x26, 0x34, 0x36, 0x32, 0x13, 0x11, 0x14, 0x06, 0x07, 0x05, 0x1e, 0x02, 0x15, 0x14, 0x07, 0x21, // &462...........! + 0x32, 0x16, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x37, 0x03, 0x23, 0x22, // 2...#!"&54>.7.#" + 0x26, 0x34, 0x36, 0x33, 0x21, 0x32, 0x1e, 0x04, 0x17, 0x21, 0x32, 0x16, 0x05, 0x00, 0x26, 0x34, // &463!2...!2...&4 + 0x13, 0x93, 0x26, 0x34, 0x26, 0x93, 0x13, 0x34, 0x26, 0x13, 0x01, 0x00, 0x13, 0x34, 0x13, 0x01, // ..&4&..4&....4.. + 0x00, 0xfd, 0x93, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x03, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xcb, // ...KjKKj..KjKKj. + 0x20, 0x19, 0xfb, 0xec, 0x01, 0x07, 0x05, 0x18, 0x03, 0x98, 0x1a, 0x26, 0x26, 0x1a, 0xfc, 0x00, // ..........&&... + 0x1a, 0x26, 0x16, 0x25, 0x02, 0xb1, 0xcc, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x10, 0x19, 0x0f, // .&.%....&&...... + 0x0b, 0x04, 0x07, 0x01, 0x04, 0xb1, 0x1a, 0x26, 0x03, 0x26, 0x34, 0x26, 0x13, 0x92, 0x01, 0x25, // .......&.&4&...% + 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0xdb, 0x92, 0x13, 0x26, 0x34, 0x13, 0xff, 0x00, 0x13, 0x13, 0x01, // .&&.....&4...... + 0x00, 0xfd, 0x22, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x03, 0xc0, // .."jKKjKKjKKjK.. + 0xfe, 0x00, 0x18, 0x25, 0x03, 0x7a, 0x07, 0x1d, 0x18, 0x0a, 0x10, 0x30, 0x26, 0x34, 0x26, 0x26, // ...%.z.....0&4&& + 0x1a, 0x0e, 0x33, 0x44, 0x04, 0x03, 0x37, 0x26, 0x34, 0x26, 0x0d, 0x12, 0x1f, 0x16, 0x25, 0x07, // ..3D..7&4&....%. + 0x26, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, 0x05, 0x80, 0x00, 0x02, // &............... + 0x00, 0x05, 0x00, 0x09, 0x00, 0x0c, 0x00, 0x10, 0x00, 0x14, 0x00, 0x26, 0x00, 0x00, 0x13, 0x09, // ...........&.... + 0x03, 0x21, 0x27, 0x13, 0x21, 0x09, 0x02, 0x21, 0x25, 0x21, 0x03, 0x21, 0x01, 0x21, 0x01, 0x21, // .!'.!..!%!.!.!.! + 0x25, 0x01, 0x16, 0x06, 0x07, 0x01, 0x06, 0x22, 0x27, 0x01, 0x2e, 0x01, 0x37, 0x01, 0x36, 0x33, // %......"'...7.63 + 0x21, 0x32, 0xd4, 0x02, 0x6f, 0xfe, 0xd4, 0x01, 0xe9, 0x01, 0x5d, 0xfd, 0x46, 0x89, 0xcc, 0xfe, // !2..o.....].F... + 0xfa, 0xfe, 0xe0, 0x03, 0xfd, 0x02, 0x6f, 0xfe, 0xbd, 0xfc, 0xc2, 0x02, 0xaa, 0xcc, 0xfe, 0xee, // ......o......... + 0x02, 0x6f, 0x01, 0x5a, 0xfe, 0xe0, 0xfe, 0xfa, 0x01, 0x59, 0x01, 0x80, 0x0e, 0x02, 0x10, 0xfc, // .o.Z.....Y...... + 0x40, 0x12, 0x3a, 0x12, 0xfc, 0x40, 0x10, 0x02, 0x0e, 0x01, 0x80, 0x12, 0x21, 0x04, 0x80, 0x21, // @.:..@......!..! + 0x03, 0x00, 0xfd, 0x67, 0x02, 0x99, 0xfc, 0xfc, 0x03, 0x04, 0x80, 0x01, 0x80, 0xfe, 0x80, 0xfc, // ...g............ + 0xe7, 0x02, 0x99, 0x80, 0x01, 0x80, 0xfe, 0x80, 0x01, 0x80, 0x66, 0xfe, 0x00, 0x12, 0x2f, 0x11, // ..........f.../. + 0xfc, 0x00, 0x14, 0x14, 0x04, 0x00, 0x11, 0x2f, 0x12, 0x02, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x13, // ......./........ + 0xff, 0x00, 0x07, 0xed, 0x06, 0x00, 0x00, 0x49, 0x00, 0x97, 0x00, 0xa0, 0x00, 0x00, 0x05, 0x36, // .......I.......6 + 0x32, 0x1f, 0x01, 0x07, 0x27, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, // 2...'.."/..."/.. + 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, // ."/..."/..."/... + 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x37, 0x17, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x37, // "/..."/.7.762..7 + 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, // 62..762..762..76 + 0x32, 0x1f, 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x25, 0x06, 0x22, 0x2f, 0x01, 0x37, 0x17, 0x37, // 2..762..%."/.7.7 + 0x36, 0x32, 0x1f, 0x01, 0x37, 0x11, 0x03, 0x26, 0x36, 0x3f, 0x01, 0x11, 0x33, 0x35, 0x21, 0x35, // 62..7..&6?..35!5 + 0x21, 0x15, 0x21, 0x15, 0x33, 0x11, 0x17, 0x1e, 0x01, 0x07, 0x03, 0x11, 0x37, 0x36, 0x32, 0x1f, // !.!.3.......762. + 0x01, 0x37, 0x36, 0x32, 0x1f, 0x01, 0x07, 0x27, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, // .762...'.."/..." + 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, // /..."/..."/..."/ + 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x01, 0x15, 0x25, 0x05, 0x35, 0x23, 0x35, 0x21, 0x15, 0x07, // ..."/...%.5#5!.. + 0x13, 0x13, 0x34, 0x13, 0x80, 0x5a, 0x53, 0x53, 0x12, 0x36, 0x12, 0x53, 0x53, 0x13, 0x34, 0x13, // ..4..ZSS.6.SS.4. + 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, // SS.4.SS.4.SS.4.S + 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x80, 0x5a, 0x53, 0x53, 0x13, 0x34, 0x13, // S.4.SS.4..ZSS.4. + 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, // SS.4.SS.4.SS.4.S + 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0xfa, 0x2d, 0x13, 0x34, 0x13, 0x80, // S.4.SS.4.S.-.4.. + 0x5a, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x40, 0xd2, 0x11, 0x14, 0x1e, 0xb1, 0x80, 0x01, 0x00, // ZSS.4.S@........ + 0x01, 0x00, 0x01, 0x00, 0x80, 0xb1, 0x1e, 0x14, 0x11, 0xd2, 0x13, 0x13, 0x34, 0x13, 0x53, 0x53, // ............4.SS + 0x13, 0x34, 0x13, 0x80, 0x5a, 0x53, 0x53, 0x12, 0x36, 0x12, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, // .4..ZSS.6.SS.4.S + 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, 0x13, 0x34, 0x13, 0x53, 0x53, // S.4.SS.4.SS.4.SS + 0x13, 0x34, 0x13, 0x53, 0x01, 0x40, 0x01, 0x80, 0x01, 0x80, 0x80, 0xfe, 0x00, 0x13, 0x13, 0x13, // .4.S.@.......... + 0x80, 0x5a, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, // .ZSS..SS..SS..SS + 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x80, 0x5a, // ..SS..SS..SS...Z + 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, // SS..SS..SS..SS.. + 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x79, 0x13, 0x13, 0x80, 0x5a, 0x52, 0x52, // SS..SS..Sy...ZRR + 0x13, 0x13, 0x52, 0x40, 0x01, 0x25, 0x01, 0x3a, 0x1a, 0x3d, 0x0a, 0x3a, 0x01, 0x2b, 0x80, 0x80, // ..R@.%.:.=.:.+.. + 0x80, 0x80, 0xfe, 0xd5, 0x3a, 0x0a, 0x3d, 0x1a, 0xfe, 0xc6, 0xfe, 0xdb, 0x12, 0x13, 0x13, 0x52, // ....:.=........R + 0x52, 0x13, 0x13, 0x80, 0x5a, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, // R...ZSS..SS..SS. + 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x53, 0x13, 0x13, 0x53, 0x04, 0x1a, // .SS..SS..SS..S.. + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x05, 0x80, // ................ + 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x43, 0x00, 0x76, 0x00, 0x00, 0x21, 0x13, 0x2f, 0x01, // .......C.v..!./. + 0x01, 0x13, 0x0f, 0x01, 0x01, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x22, 0x27, 0x26, 0x23, // .....&'&#".."'&# + 0x22, 0x07, 0x06, 0x07, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x1e, 0x09, 0x33, 0x32, 0x3e, 0x03, 0x3b, // "..........32>.; + 0x01, 0x32, 0x1e, 0x03, 0x33, 0x32, 0x3e, 0x08, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x01, 0x14, 0x06, // .2..32>.7>.76... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x37, 0x27, 0x33, 0x26, 0x35, 0x34, 0x37, 0x26, // #!"&54>.7'3&547& + 0x35, 0x34, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x33, 0x32, 0x16, 0x32, 0x36, 0x33, 0x32, 0x17, 0x1e, // 547>.7632.2632.. + 0x01, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x07, 0x33, 0x07, 0x1e, 0x03, 0x02, 0x40, 0x60, 0x60, // ........3....@`` + 0x80, 0x01, 0x80, 0x80, 0x80, 0x60, 0x01, 0x00, 0x02, 0x02, 0x0a, 0x56, 0x46, 0x61, 0x07, 0x1c, // .....`.....VFa.. + 0x07, 0x61, 0x46, 0x56, 0x0a, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0b, 0x02, 0x02, 0x0b, 0x03, 0x0c, // .aFV............ + 0x05, 0x0d, 0x0b, 0x11, 0x12, 0x17, 0x0d, 0x24, 0x2e, 0x13, 0x0a, 0x0d, 0x0b, 0x0c, 0x0b, 0x0d, // .......$........ + 0x0a, 0x13, 0x2e, 0x24, 0x0d, 0x17, 0x12, 0x11, 0x0b, 0x0d, 0x05, 0x0c, 0x03, 0x0b, 0x02, 0x02, // ...$............ + 0x0b, 0x02, 0x02, 0x01, 0xa2, 0x92, 0x79, 0xfc, 0x96, 0x79, 0x92, 0x09, 0x1d, 0x2e, 0x51, 0x35, // ......y..y....Q5 + 0x5a, 0xd6, 0x16, 0x02, 0xc2, 0xd2, 0x11, 0x45, 0x24, 0x20, 0x2c, 0x1e, 0x6c, 0x3c, 0x6c, 0x1e, // Z......E$ ,.l + 0x90, 0x2a, 0x25, 0x3e, 0x3e, 0x25, 0x2a, 0x90, 0x3e, 0x2a, 0x39, 0x38, 0x28, 0x51, 0x4f, 0xe1, // .*%>>%*.>*98(QO. + 0x21, 0x7f, 0xa0, 0x8f, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfd, 0x05, 0x00, 0x00, 0x4c, // !..............L + 0x00, 0x5c, 0x00, 0x70, 0x00, 0x00, 0x01, 0x16, 0x0e, 0x02, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x36, // ...p......'..'&6 + 0x37, 0x27, 0x0e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x23, 0x0e, 0x01, 0x23, 0x22, 0x00, 0x10, // 7'.....#!#..#".. + 0x00, 0x33, 0x32, 0x17, 0x37, 0x26, 0x2b, 0x01, 0x22, 0x26, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x1e, // .32.7&+."&46;.2. + 0x02, 0x17, 0x21, 0x33, 0x27, 0x23, 0x22, 0x26, 0x37, 0x3e, 0x01, 0x3b, 0x01, 0x32, 0x1f, 0x01, // ..!3'#"&7>.;.2.. + 0x37, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x17, 0x36, 0x17, 0x1e, // 76;.2.....+..6.. + 0x01, 0x01, 0x32, 0x36, 0x37, 0x21, 0x22, 0x27, 0x26, 0x37, 0x13, 0x26, 0x23, 0x22, 0x06, 0x10, // ..267!"'&7.&#".. + 0x16, 0x28, 0x01, 0x36, 0x10, 0x26, 0x23, 0x22, 0x07, 0x13, 0x16, 0x06, 0x07, 0x06, 0x23, 0x22, // .(.6.&#"......#" + 0x27, 0x03, 0x06, 0x15, 0x14, 0x08, 0xfd, 0x0c, 0x44, 0x82, 0xbb, 0x67, 0xa1, 0xed, 0x10, 0x0c, // '.......D..g.... + 0x4f, 0x4f, 0x47, 0x60, 0x6e, 0x25, 0x1b, 0xff, 0x00, 0x45, 0x17, 0xfc, 0xa8, 0xb9, 0xfe, 0xf9, // OOG`n%...E...... + 0x01, 0x07, 0xb9, 0x4c, 0x4c, 0x18, 0x7b, 0xb5, 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x80, 0x4e, 0x86, // ...LL.{.@.&&..N. + 0x63, 0x2c, 0x1d, 0x02, 0x00, 0x73, 0x55, 0xde, 0x1e, 0x26, 0x05, 0x04, 0x26, 0x18, 0xfd, 0x21, // c,...sU..&..&..! + 0x14, 0x46, 0x72, 0x13, 0x1b, 0x65, 0x1a, 0x26, 0x26, 0x1a, 0xb3, 0x73, 0x83, 0x90, 0x8f, 0xca, // .Fr..e.&&..s.... + 0xf8, 0xd4, 0x73, 0xb0, 0x17, 0xfe, 0xc6, 0x23, 0x14, 0x12, 0x11, 0x93, 0x2f, 0x2c, 0x84, 0xbc, // ..s....#..../,.. + 0xbc, 0x05, 0x80, 0x01, 0x08, 0xbc, 0xbc, 0x84, 0x3c, 0x3d, 0xae, 0x0f, 0x0a, 0x16, 0x0f, 0x15, // ........<=...... + 0x23, 0x12, 0xae, 0x5d, 0x01, 0xf4, 0x67, 0xbf, 0x88, 0x4c, 0x07, 0x0b, 0xe4, 0xa0, 0x6f, 0xc7, // #..]..g..L....o. + 0x47, 0x6b, 0x50, 0xe4, 0x82, 0x1b, 0x27, 0xa4, 0xdc, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x1b, // GkP...'.....r... + 0x2d, 0x6e, 0x26, 0x34, 0x26, 0x1b, 0x32, 0x1d, 0x16, 0x80, 0x2d, 0x1e, 0x17, 0x1e, 0x1c, 0x69, // -n&4&.2...-....i + 0x72, 0x13, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0xac, 0x3f, 0x1b, 0x1a, 0xd9, 0xfd, 0xfb, 0x91, 0x6f, // r.&...&.?......o + 0x1f, 0x20, 0x1f, 0x01, 0x15, 0x0d, 0xbc, 0xfe, 0xf8, 0xbc, 0xbc, 0x01, 0x08, 0xbc, 0x18, 0xfe, // . .............. + 0xfc, 0x17, 0x34, 0x0e, 0x0b, 0x1d, 0x01, 0x04, 0x5f, 0x82, 0x84, 0x00, 0x00, 0x03, 0x00, 0x00, // ..4....._....... + 0xff, 0x00, 0x05, 0x80, 0x05, 0xe0, 0x00, 0x35, 0x00, 0x4f, 0x00, 0x57, 0x00, 0x00, 0x21, 0x14, // .......5.O.W..!. + 0x0e, 0x02, 0x20, 0x2e, 0x02, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x36, 0x16, 0x17, 0x16, 0x06, 0x07, // .. ..54>.76..... + 0x0e, 0x04, 0x07, 0x1e, 0x04, 0x32, 0x3e, 0x03, 0x37, 0x2e, 0x04, 0x27, 0x2e, 0x01, 0x37, 0x3e, // .....2>.7..'..7> + 0x01, 0x17, 0x1e, 0x03, 0x01, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, // ........+....#!" + 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x14, // &5.#"&5.463!2... + 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x05, 0x80, 0x7b, 0xcd, 0xf5, 0xfe, 0xfa, 0xf5, 0xcd, 0x7b, // ."&462..{......{ + 0x42, 0x74, 0x78, 0x47, 0x1a, 0x2c, 0x04, 0x05, 0x1f, 0x1a, 0x3a, 0x60, 0x39, 0x28, 0x0f, 0x01, // BtxG.,....:`9(.. + 0x03, 0x30, 0x62, 0x82, 0xbf, 0xd4, 0xbf, 0x82, 0x62, 0x30, 0x03, 0x01, 0x0f, 0x28, 0x39, 0x60, // .0b.....b0...(9` + 0x3a, 0x1a, 0x1f, 0x05, 0x04, 0x2c, 0x1a, 0x47, 0x78, 0x74, 0x42, 0xfe, 0x80, 0x26, 0x1a, 0x40, // :....,.GxtB..&.@ + 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x40, 0x1a, 0x26, 0x4b, 0x35, 0x01, 0x80, 0x35, 0x4b, 0x60, // &....&@.&K5..5K` + 0x83, 0xba, 0x83, 0x83, 0xba, 0x3f, 0x65, 0x3d, 0x1f, 0x1f, 0x3d, 0x65, 0x3f, 0x31, 0x4f, 0x36, // .....?e=..=e?1O6 + 0x23, 0x0c, 0x05, 0x1f, 0x1a, 0x1a, 0x2c, 0x04, 0x0a, 0x1b, 0x18, 0x17, 0x10, 0x04, 0x0b, 0x1f, // #.....,......... + 0x23, 0x1e, 0x14, 0x14, 0x1e, 0x24, 0x1f, 0x0c, 0x04, 0x0e, 0x18, 0x17, 0x1b, 0x0a, 0x04, 0x2c, // #....$........., + 0x1a, 0x1a, 0x1f, 0x05, 0x0c, 0x23, 0x36, 0x4f, 0x03, 0x4f, 0xfe, 0x80, 0x1a, 0x26, 0xfe, 0x80, // .....#6O.O...&.. + 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x80, 0x26, 0x1a, 0x01, 0x80, 0x35, 0x4b, 0x4b, 0x01, 0xa8, 0xba, // .&&...&...5KK... + 0x83, 0x83, 0xba, 0x83, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x1b, // ................ + 0x00, 0x3f, 0x00, 0x00, 0x01, 0x21, 0x0e, 0x01, 0x0f, 0x01, 0x01, 0x06, 0x22, 0x27, 0x01, 0x26, // .?...!......"'.& + 0x27, 0x21, 0x32, 0x36, 0x37, 0x1b, 0x01, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x37, 0x13, 0x17, 0x16, // '!267....3267... + 0x01, 0x14, 0x07, 0x21, 0x27, 0x2e, 0x01, 0x07, 0x06, 0x07, 0x0b, 0x01, 0x2e, 0x01, 0x22, 0x06, // ...!'.........". + 0x07, 0x03, 0x21, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x17, 0x3e, 0x03, 0x33, 0x32, // ..!&54632...>.32 + 0x16, 0x05, 0x00, 0x01, 0x31, 0x05, 0x0a, 0x04, 0x03, 0xfd, 0x91, 0x12, 0x34, 0x12, 0xfd, 0x90, // ....1.......4... + 0x05, 0x10, 0x01, 0x71, 0x16, 0x23, 0x05, 0x46, 0xbe, 0x06, 0x22, 0x16, 0x15, 0x22, 0x06, 0x92, // ...q.#.F.."..".. + 0x38, 0x12, 0x02, 0x27, 0x67, 0xfe, 0x8f, 0x6f, 0x08, 0x23, 0x13, 0x2d, 0x0b, 0x81, 0xc4, 0x06, // 8..'g..o.#.-.... + 0x23, 0x2c, 0x22, 0x05, 0x74, 0xfe, 0x59, 0x67, 0xfe, 0xe0, 0x3e, 0x81, 0x6f, 0x50, 0x24, 0x24, // #,".t.Yg..>.oP$$ + 0x50, 0x6f, 0x81, 0x3e, 0xe0, 0xfe, 0x02, 0x00, 0x06, 0x09, 0x03, 0x04, 0xfd, 0xa8, 0x12, 0x12, // Po.>............ + 0x02, 0x5a, 0x02, 0x12, 0x1b, 0x15, 0x01, 0x19, 0xfd, 0x65, 0x14, 0x1a, 0x1a, 0x14, 0x01, 0xe5, // .Z.......e...... + 0x70, 0x23, 0x01, 0xac, 0x91, 0x9b, 0xdd, 0x11, 0x14, 0x02, 0x05, 0x29, 0xfe, 0x52, 0x02, 0xae, // p#.........).R.. + 0x14, 0x1a, 0x1b, 0x15, 0xfe, 0x30, 0x9b, 0x91, 0xdc, 0xf8, 0x2b, 0x49, 0x40, 0x24, 0x24, 0x40, // .....0....+I@$$@ + 0x49, 0x2b, 0xf8, 0x00, 0x00, 0x02, 0x00, 0x02, 0xff, 0x00, 0x04, 0x80, 0x05, 0xfc, 0x00, 0x2b, // I+.............+ + 0x00, 0x33, 0x00, 0x00, 0x01, 0x14, 0x00, 0x07, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, // .3.......32..... + 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, // +....+."&=.#"&=. + 0x34, 0x36, 0x3b, 0x01, 0x11, 0x2e, 0x01, 0x02, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x04, 0x12, 0x24, // 46;.....7>.76..$ + 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x04, 0x80, 0xfe, 0xd9, 0xd9, 0xe0, 0x0e, 0x12, 0x12, // .. ... ......... + 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x96, 0xf3, 0x81, // ....@........... + 0x0c, 0x0b, 0x8b, 0xe1, 0x85, 0xaa, 0x01, 0x2a, 0xae, 0xfc, 0x00, 0x01, 0x07, 0x01, 0x72, 0x01, // .......*......r. + 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x03, 0xc0, 0xdd, 0xfe, 0xb9, 0x18, 0xfe, 0xfc, 0x12, 0x0e, 0x40, // ...............@ + 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x04, 0x10, // ..........@..... + 0xae, 0x01, 0x12, 0x9b, 0x86, 0xe6, 0x92, 0x0f, 0x13, 0x92, 0xfe, 0xea, 0x12, 0xfe, 0x8e, 0xfe, // ................ + 0xf9, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ....r........... + 0x05, 0x80, 0x00, 0x27, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, // ...'./...2.....+ + 0x01, 0x22, 0x26, 0x35, 0x11, 0x01, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, // ."&5......."..4> + 0x02, 0x33, 0x32, 0x17, 0x01, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x00, 0x20, 0x00, // .32..!"&=.463. . + 0x10, 0x00, 0x20, 0x00, 0x10, 0x05, 0xc0, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, 0x82, // .. .....&..@.... + 0x7e, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0x75, 0xcb, 0x9c, 0x01, 0x7e, // ~[.....[[..u...~ + 0xfe, 0xfb, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x67, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, // .......g.r...... + 0xfe, 0xf9, 0x05, 0x80, 0x26, 0x1a, 0xfe, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x06, 0xfe, 0x81, // ....&..`........ + 0x9c, 0xcb, 0x75, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x7e, 0x01, 0x7e, // ..u..[[.....[~.~ + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfa, 0x80, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, // ..@.......r..... + 0x8e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x04, 0x80, 0x06, 0x00, 0x00, 0x3d, // ...............= + 0x00, 0x45, 0x00, 0x00, 0x01, 0x16, 0x12, 0x15, 0x14, 0x00, 0x07, 0x15, 0x33, 0x32, 0x16, 0x1d, // .E..........32.. + 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, // ...+....+."&=.#" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x26, 0x00, 0x35, 0x34, 0x12, 0x37, 0x26, 0x27, // &=.46;.5&.54.7&' + 0x26, 0x36, 0x3b, 0x01, 0x32, 0x17, 0x1e, 0x01, 0x32, 0x36, 0x37, 0x36, 0x3b, 0x01, 0x32, 0x16, // &6;.2...2676;.2. + 0x07, 0x06, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x03, 0x3e, 0x91, 0xb1, 0xfe, 0xd9, // ... ... ...>.... + 0xd9, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, // .`....`..@..`... + 0x0e, 0x60, 0xd9, 0xfe, 0xd9, 0xb1, 0x91, 0xa5, 0x3f, 0x06, 0x13, 0x11, 0x45, 0x15, 0x08, 0x2c, // .`......?...E.., + 0xc0, 0xec, 0xc0, 0x2c, 0x08, 0x1d, 0x3d, 0x11, 0x13, 0x06, 0x3f, 0xfd, 0xa4, 0x01, 0x72, 0x01, // ...,..=...?...r. + 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x04, 0xc4, 0x48, 0xfe, 0xeb, 0xa7, 0xdd, 0xfe, 0xb9, // .........H...... + 0x18, 0x84, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0x40, // ....@..`....`..@ + 0x0e, 0x12, 0x84, 0x18, 0x01, 0x47, 0xdd, 0xa7, 0x01, 0x15, 0x48, 0x60, 0xb1, 0x10, 0x1b, 0x14, // .....G....H`.... + 0x6a, 0x82, 0x82, 0x6a, 0x14, 0x1b, 0x10, 0xb1, 0xfb, 0xdc, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, // j..j.........r.. + 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x02, 0x00, 0x02, 0xff, 0x00, 0x05, 0x80, 0x06, 0x00, 0x00, 0x42, // ...............B + 0x00, 0x4a, 0x00, 0x00, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, // .J...463!2.....+ + 0x01, 0x22, 0x26, 0x3d, 0x01, 0x07, 0x16, 0x15, 0x14, 0x00, 0x07, 0x15, 0x33, 0x32, 0x16, 0x1d, // ."&=........32.. + 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, // ...+....+."&=.#" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x2e, 0x01, 0x02, 0x37, 0x36, 0x00, 0x37, 0x36, // &=.46;.5...76.76 + 0x16, 0x17, 0x25, 0x23, 0x22, 0x26, 0x35, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x04, // ..%#"&5. ... ... + 0x00, 0x12, 0x0e, 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, 0x7e, 0xfe, 0xd9, // .... .&..@...~.. + 0xd9, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, // .`....`..@..`... + 0x0e, 0x60, 0x95, 0xf3, 0x82, 0x0c, 0x10, 0x01, 0x20, 0xcb, 0x76, 0xdc, 0x58, 0x00, 0xff, 0x86, // .`...... .v.X... + 0x0e, 0x12, 0xfd, 0x87, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x05, 0xe0, // .....r.......... + 0x0e, 0x12, 0x26, 0x1a, 0xfe, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0x86, 0xff, 0x9e, 0xc9, 0xdd, 0xfe, // ..&............. + 0xb9, 0x18, 0x84, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, // .....@..`....`.. + 0x40, 0x0e, 0x12, 0x84, 0x10, 0xae, 0x01, 0x11, 0x9b, 0xcc, 0x01, 0x2b, 0x17, 0x0e, 0x42, 0x46, // @..........+..BF + 0xfe, 0x12, 0x0e, 0xfb, 0x60, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, // ....`...r....... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x6b, 0x00, 0x73, 0x00, 0x00, // ...........k.s.. + 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, // .463!2.....+."&= + 0x01, 0x07, 0x16, 0x15, 0x14, 0x00, 0x07, 0x15, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, // ........32.....+ + 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, // ....+."&=.#"&=.4 + 0x36, 0x3b, 0x01, 0x35, 0x26, 0x00, 0x35, 0x34, 0x37, 0x27, 0x07, 0x0e, 0x01, 0x2f, 0x01, 0x2e, // 6;.5&.547'.../.. + 0x01, 0x3f, 0x01, 0x27, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, // .?.'...+."&5.463 + 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x17, 0x37, 0x3e, 0x01, 0x1f, 0x01, 0x1e, // !2.....+..7>.... + 0x01, 0x0f, 0x01, 0x17, 0x36, 0x20, 0x17, 0x25, 0x23, 0x22, 0x26, 0x35, 0x00, 0x20, 0x00, 0x10, // ....6 .%#"&5. .. + 0x00, 0x20, 0x00, 0x10, 0x05, 0x00, 0x12, 0x0e, 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, // . ....... .&..@. + 0x12, 0xfe, 0x7e, 0xfe, 0xd9, 0xd9, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0x40, 0x0e, // ..~...`....`..@. + 0x12, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0xd9, 0xfe, 0xd9, 0x7e, 0x34, 0x65, 0x09, 0x1a, 0x0a, // .`....`...~4e... + 0x30, 0x0a, 0x01, 0x09, 0x69, 0x6f, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x26, 0x1a, 0x01, 0x20, 0x0e, // 0...io..@..&.. . + 0x12, 0x12, 0x0e, 0x85, 0x6a, 0x56, 0x09, 0x1a, 0x0a, 0x30, 0x0a, 0x01, 0x09, 0x5a, 0x39, 0x9e, // ....jV...0...Z9. + 0x01, 0x92, 0x9e, 0x00, 0xff, 0x86, 0x0e, 0x12, 0xfd, 0x87, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, // ...........r.... + 0xfe, 0x8e, 0xfe, 0xf9, 0x05, 0xe0, 0x0e, 0x12, 0x26, 0x1a, 0xfe, 0xe0, 0x0e, 0x12, 0x12, 0x0e, // ........&....... + 0x86, 0xff, 0x9e, 0xc9, 0xdd, 0xfe, 0xb9, 0x18, 0x84, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, // ...........@..`. + 0x12, 0x12, 0x0e, 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x84, 0x18, 0x01, 0x47, 0xdd, 0xc9, 0x9e, // ...`..@.....G... + 0x35, 0x6f, 0x0a, 0x01, 0x08, 0x2c, 0x08, 0x1b, 0x0a, 0x73, 0x70, 0x86, 0x0e, 0x12, 0x12, 0x0e, // 5o...,...sp..... + 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x6b, 0x5e, 0x0a, 0x01, 0x08, 0x2c, 0x08, // . .&..@..k^...,. + 0x1b, 0x0a, 0x63, 0x38, 0x7e, 0x7e, 0xfe, 0x12, 0x0e, 0xfb, 0x60, 0x01, 0x07, 0x01, 0x72, 0x01, // ..c8~~....`...r. + 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0xff, 0x00, 0x06, 0xfe, // ................ + 0x05, 0xfd, 0x00, 0x38, 0x00, 0x3e, 0x00, 0x4b, 0x00, 0x52, 0x00, 0x5f, 0x00, 0x00, 0x01, 0x16, // ...8.>.K.R._.... + 0x02, 0x06, 0x07, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, // ....32.....+.... + 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, // +."&=.!...+."&=. + 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x2e, 0x01, 0x02, 0x37, 0x36, 0x00, // #"&=.46;.....76. + 0x37, 0x36, 0x17, 0x36, 0x17, 0x16, 0x00, 0x01, 0x36, 0x10, 0x27, 0x06, 0x10, 0x03, 0x32, 0x37, // 76.6....6.'...27 + 0x26, 0x35, 0x34, 0x37, 0x26, 0x23, 0x22, 0x00, 0x10, 0x00, 0x01, 0x11, 0x26, 0x27, 0x06, 0x07, // &547&#".....&'.. + 0x11, 0x01, 0x32, 0x00, 0x10, 0x00, 0x23, 0x22, 0x07, 0x16, 0x15, 0x14, 0x07, 0x16, 0x06, 0xfe, // ..2...#"........ + 0x0c, 0x81, 0xf3, 0x96, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, // ............@... + 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x96, 0xf3, 0x81, 0x0c, // ...@............ + 0x11, 0x01, 0x27, 0xcd, 0xce, 0xab, 0xab, 0xce, 0xcd, 0x01, 0x27, 0xfc, 0x93, 0x80, 0x80, 0x80, // ..'.......'..... + 0xc0, 0x73, 0x67, 0x9a, 0x9a, 0x67, 0x73, 0xb9, 0xfe, 0xf9, 0x01, 0x07, 0x02, 0xf9, 0x89, 0x77, // .sg..gs........w + 0x77, 0x89, 0x02, 0x40, 0xb9, 0x01, 0x07, 0xfe, 0xf9, 0xb9, 0x73, 0x67, 0x9a, 0x9a, 0x67, 0x03, // w..@......sg..g. + 0xef, 0x9b, 0xfe, 0xee, 0xae, 0x10, 0xfe, 0xfc, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xe0, 0x0e, 0x12, // ..........@..... + 0x12, 0x0e, 0xe0, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x04, // ...........@.... + 0x10, 0xae, 0x01, 0x12, 0x9b, 0xce, 0x01, 0x2d, 0x13, 0x15, 0x73, 0x73, 0x15, 0x13, 0xfe, 0xd3, // .......-..ss.... + 0xfd, 0xca, 0x83, 0x01, 0x6c, 0x83, 0x83, 0xfe, 0x94, 0xfe, 0xf6, 0x39, 0xa5, 0xe2, 0xe0, 0xa7, // ....l......9.... + 0x39, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0xfe, 0x80, 0x01, 0x04, 0x0f, 0x4f, 0x4f, 0x0f, 0xfe, // 9...........OO.. + 0xfc, 0x01, 0x80, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0x39, 0xa7, 0xe0, 0xe2, 0xa5, 0x39, 0x00, // ......r..9....9. + 0x00, 0x04, 0x00, 0x01, 0xff, 0x06, 0x07, 0x80, 0x06, 0x00, 0x00, 0x46, 0x00, 0x50, 0x00, 0x5e, // ...........F.P.^ + 0x00, 0x6c, 0x00, 0x00, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, // .l...463!2.....+ + 0x01, 0x22, 0x26, 0x3d, 0x01, 0x07, 0x1e, 0x01, 0x07, 0x06, 0x00, 0x07, 0x06, 0x24, 0x27, 0x2e, // ."&=.........$'. + 0x03, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x16, 0x17, 0x25, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, // .7>.76..%#"&=.46 + 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x07, 0x16, // 3!2.....+."&=... + 0x17, 0x16, 0x17, 0x25, 0x23, 0x22, 0x26, 0x35, 0x01, 0x34, 0x27, 0x0e, 0x01, 0x15, 0x14, 0x17, // ...%#"&5.4'..... + 0x3e, 0x01, 0x25, 0x14, 0x16, 0x17, 0x26, 0x35, 0x34, 0x00, 0x37, 0x2e, 0x01, 0x23, 0x22, 0x00, // >.%...&54.7..#". + 0x01, 0x32, 0x00, 0x35, 0x34, 0x26, 0x27, 0x16, 0x15, 0x14, 0x00, 0x07, 0x1e, 0x01, 0x06, 0x00, // .2.54&'......... + 0x12, 0x0e, 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, 0x4c, 0x3f, 0x16, 0x1f, // ... .&..@...L?.. + 0xfe, 0xf2, 0xb7, 0xd2, 0xfe, 0xa3, 0x43, 0x75, 0xd0, 0x93, 0x50, 0x08, 0x09, 0x8a, 0xe2, 0x87, // ......Cu..P..... + 0x76, 0xdb, 0x59, 0x00, 0xff, 0x86, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, // v.Y........ .&.. + 0x40, 0x0e, 0x12, 0xfe, 0x3b, 0x22, 0xb6, 0x92, 0x00, 0xff, 0x86, 0x0e, 0x12, 0xfe, 0x00, 0x04, // @...;".......... + 0xa2, 0xda, 0x04, 0xa2, 0xda, 0xfc, 0x80, 0xde, 0xa5, 0x03, 0x01, 0x0e, 0xcb, 0x35, 0xdd, 0x87, // .............5.. + 0xb9, 0xfe, 0xf9, 0x03, 0xc0, 0xb9, 0x01, 0x07, 0xde, 0xa5, 0x03, 0xfe, 0xf2, 0xcb, 0x35, 0xdd, // ..............5. + 0x04, 0x60, 0x0e, 0x12, 0x26, 0x1a, 0xfe, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0x86, 0xff, 0x5f, 0xee, // .`..&........._. + 0x80, 0xb6, 0xfe, 0xfc, 0x1a, 0x1d, 0xda, 0xbf, 0x06, 0x67, 0xa3, 0xde, 0x77, 0x87, 0xea, 0x95, // .........g..w... + 0x0f, 0x0e, 0x42, 0x46, 0xfe, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x26, 0x1a, 0xfe, 0xe0, 0x0e, 0x12, // ..BF...@..&..... + 0x12, 0x0e, 0x86, 0xff, 0x4a, 0x5f, 0x09, 0x73, 0xfe, 0x12, 0x0e, 0xfe, 0xa0, 0x14, 0x26, 0x19, // ....J_.s......&. + 0xfa, 0xa7, 0x14, 0x26, 0x19, 0xfa, 0xa7, 0xa8, 0xfc, 0x17, 0x1d, 0x1e, 0xd2, 0x01, 0x3f, 0x25, // ...&..........?% + 0x78, 0x92, 0xfe, 0xf9, 0xfc, 0x07, 0x01, 0x07, 0xb9, 0xa8, 0xfc, 0x17, 0x1c, 0x1f, 0xd2, 0xfe, // x............... + 0xc1, 0x25, 0x78, 0x92, 0x00, 0x04, 0x00, 0x06, 0xff, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x4a, // .%x............J + 0x00, 0x50, 0x00, 0x5c, 0x00, 0x68, 0x00, 0x00, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, // .P...h...463!2.. + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x07, 0x1e, 0x01, 0x07, 0x06, 0x00, 0x07, // ...+."&=........ + 0x06, 0x27, 0x06, 0x07, 0x15, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, // .'...32.....+... + 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, // .+."&=.#"&=.46;. + 0x35, 0x2e, 0x01, 0x02, 0x37, 0x36, 0x00, 0x37, 0x36, 0x17, 0x36, 0x33, 0x32, 0x17, 0x25, 0x23, // 5...76.76.632.%# + 0x22, 0x26, 0x35, 0x01, 0x36, 0x10, 0x27, 0x06, 0x10, 0x00, 0x10, 0x00, 0x33, 0x32, 0x37, 0x26, // "&5.6.'.....327& + 0x10, 0x37, 0x26, 0x23, 0x22, 0x01, 0x32, 0x00, 0x10, 0x00, 0x23, 0x22, 0x07, 0x16, 0x10, 0x07, // .7&#".2...#".... + 0x16, 0x06, 0x80, 0x12, 0x0e, 0x01, 0x20, 0x1a, 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfe, 0x4c, // ...... .&..@...L + 0x3f, 0x16, 0x20, 0xfe, 0xf7, 0xb5, 0xdf, 0xba, 0x75, 0x8b, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, // ?. .....u.`....` + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x9b, 0xf9, 0x7d, 0x17, 0x19, // ..@..`....`..}.. + 0x01, 0x0d, 0xba, 0xe0, 0xba, 0x92, 0xae, 0xc9, 0x9e, 0x00, 0xff, 0x86, 0x0e, 0x12, 0xfd, 0x00, // ................ + 0x80, 0x80, 0x80, 0xfd, 0x80, 0x01, 0x07, 0xb9, 0x75, 0x65, 0x9a, 0x9a, 0x65, 0x75, 0xb9, 0x03, // ........ue..eu.. + 0x39, 0xb9, 0x01, 0x07, 0xfe, 0xf9, 0xb9, 0x75, 0x65, 0x9a, 0x9a, 0x65, 0x05, 0xe0, 0x0e, 0x12, // 9......ue..e.... + 0x26, 0x1a, 0xfe, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0x86, 0xff, 0x5f, 0xee, 0x80, 0xb4, 0xfe, 0xfc, // &........._..... + 0x1b, 0x22, 0x7c, 0x4e, 0x0f, 0x84, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x60, 0x0e, 0x12, 0x12, 0x0e, // ."|N....@..`.... + 0x60, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x84, 0x11, 0xb9, 0x01, 0x22, 0xa2, 0xbb, 0x01, 0x0f, 0x1d, // `..@......"..... + 0x22, 0x7c, 0x61, 0x7e, 0xfe, 0x12, 0x0e, 0xfb, 0xe7, 0x83, 0x01, 0x6c, 0x83, 0x83, 0xfe, 0x94, // "|a~.......l.... + 0x01, 0x6f, 0xfe, 0x8e, 0xfe, 0xf9, 0x39, 0xa7, 0x01, 0xc0, 0xa7, 0x39, 0xfc, 0x80, 0x01, 0x07, // .o....9....9.... + 0x01, 0x72, 0x01, 0x07, 0x39, 0xa7, 0xfe, 0x40, 0xa7, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .r..9..@.9...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x3b, 0x00, 0x43, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, // .......;.C...2.. + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x07, 0x17, 0x16, 0x14, 0x0f, 0x01, 0x06, // ...+."&5........ + 0x22, 0x2f, 0x01, 0x07, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x33, // "/......."..4>.3 + 0x32, 0x17, 0x37, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x21, 0x22, 0x26, // 2.7'&4?.62..7!"& + 0x3d, 0x01, 0x34, 0x36, 0x33, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x05, 0xc0, 0x1a, // =.463. ... ..... + 0x26, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xd5, 0x8c, 0x09, 0x09, 0x2e, 0x09, 0x1a, 0x0a, 0x8c, 0x4e, // &..@...........N + 0x7e, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0x75, 0xcb, 0x9c, 0x4e, 0xac, // ~[.....[[..u..N. + 0x09, 0x09, 0x2e, 0x09, 0x1a, 0x0a, 0xac, 0xd5, 0xfe, 0xfb, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x67, // ...............g + 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x05, 0x80, 0x26, 0x1a, 0xfe, 0x60, // .r..........&..` + 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x06, 0xd6, 0x8c, 0x0a, 0x1a, 0x09, 0x2e, 0x09, 0x09, 0x8d, 0x4f, // ...............O + 0x9c, 0xcb, 0x75, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x7e, 0x4e, 0xac, // ..u..[[.....[~N. + 0x0a, 0x1a, 0x09, 0x2e, 0x09, 0x09, 0xac, 0xd5, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfa, 0x80, 0x01, // ..........@..... + 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, // ..r............. + 0xff, 0x04, 0x04, 0x80, 0x06, 0x00, 0x00, 0x39, 0x00, 0x41, 0x00, 0x00, 0x01, 0x16, 0x00, 0x15, // .......9.A...... + 0x14, 0x02, 0x04, 0x27, 0x2e, 0x02, 0x27, 0x26, 0x12, 0x36, 0x37, 0x35, 0x23, 0x22, 0x26, 0x3d, // ...'..'&.675#"&= + 0x01, 0x34, 0x36, 0x3b, 0x01, 0x35, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, // .46;.5.."/.&4?.6 + 0x32, 0x1f, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x15, 0x33, 0x32, 0x16, 0x1d, // 2......."/..32.. + 0x01, 0x14, 0x06, 0x2b, 0x01, 0x02, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x02, 0x80, 0xd9, // ...+.. ... ..... + 0x01, 0x27, 0xae, 0xfe, 0xd6, 0xaa, 0x85, 0xe1, 0x8b, 0x0b, 0x0c, 0x81, 0xf3, 0x96, 0xa0, 0x0e, // .'.............. + 0x12, 0x12, 0x0e, 0xa0, 0x5c, 0x0a, 0x1a, 0x09, 0x2e, 0x09, 0x09, 0xca, 0x13, 0x34, 0x13, 0xca, // .............4.. + 0x09, 0x09, 0x2e, 0x09, 0x1a, 0x0a, 0x5c, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0xf9, 0x01, 0x72, // ...............r + 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x03, 0x7c, 0x18, 0xfe, 0xb9, 0xdd, 0xa7, 0xfe, // .........|...... + 0xea, 0x92, 0x13, 0x0f, 0x92, 0xe6, 0x86, 0x9b, 0x01, 0x12, 0xae, 0x10, 0x84, 0x12, 0x0e, 0x40, // ...............@ + 0x0e, 0x12, 0xa5, 0x5c, 0x09, 0x09, 0x2e, 0x09, 0x1a, 0x0a, 0xc9, 0x13, 0x13, 0xc9, 0x0a, 0x1a, // ................ + 0x09, 0x2e, 0x09, 0x09, 0x5c, 0xa5, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfb, 0x80, 0x01, 0x07, 0x01, // ........@....... + 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x07, 0x80, // r............... + 0x04, 0x7e, 0x00, 0x39, 0x00, 0x41, 0x00, 0x00, 0x01, 0x16, 0x14, 0x07, 0x01, 0x06, 0x22, 0x2f, // .~.9.A........"/ + 0x01, 0x26, 0x34, 0x3f, 0x01, 0x21, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x23, // .&4?.!...+."&=.# + 0x06, 0x00, 0x23, 0x22, 0x24, 0x02, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x04, 0x16, 0x17, 0x33, 0x35, // ..#"$.7>.76...35 + 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, // 46;.2...!'&4?.62 + 0x17, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x07, 0x6d, 0x13, 0x13, 0xfe, 0xda, 0x09, // .. ... ...m..... + 0x1b, 0x09, 0x2d, 0x0a, 0x0a, 0xb9, 0xfe, 0xda, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x84, 0x18, 0xfe, // ..-.......@..... + 0xb9, 0xdd, 0xa7, 0xfe, 0xea, 0x92, 0x13, 0x0f, 0x92, 0xe6, 0x86, 0x9b, 0x01, 0x12, 0xae, 0x10, // ................ + 0x84, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x26, 0xb9, 0x0a, 0x0a, 0x2d, 0x09, 0x1b, 0x09, 0xfb, // ...@...&...-.... + 0x40, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x02, 0x6d, 0x13, 0x34, 0x13, // @.r.........m.4. + 0xfe, 0xda, 0x0a, 0x0a, 0x2d, 0x09, 0x1b, 0x09, 0xb9, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0xd9, // ....-........... + 0xfe, 0xd9, 0xae, 0x01, 0x2a, 0xaa, 0x85, 0xe1, 0x8b, 0x0b, 0x0c, 0x81, 0xf3, 0x96, 0xe0, 0x0e, // ....*........... + 0x12, 0x12, 0x0e, 0xe0, 0xb9, 0x09, 0x1b, 0x09, 0x2d, 0x0a, 0x0a, 0xfc, 0xed, 0x01, 0x07, 0x01, // ........-....... + 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x04, 0x80, // r............... + 0x06, 0x00, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x14, 0x00, 0x07, 0x11, 0x14, 0x06, 0x2b, // ...............+ + 0x01, 0x22, 0x26, 0x35, 0x11, 0x26, 0x00, 0x35, 0x34, 0x3e, 0x02, 0x32, 0x1e, 0x02, 0x00, 0x20, // ."&5.&.54>.2... + 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x04, 0x80, 0xfe, 0xd9, 0xd9, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ... .........@.. + 0xd9, 0xfe, 0xd9, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0xfd, 0x07, 0x01, 0x72, 0x01, 0x07, // ...[.....[...r.. + 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x03, 0xc0, 0xdd, 0xfe, 0xb9, 0x18, 0xfd, 0x9c, 0x0e, 0x12, // ................ + 0x12, 0x0e, 0x02, 0x64, 0x18, 0x01, 0x47, 0xdd, 0x75, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xfd, // ...d..G.u..[[... + 0xcb, 0x01, 0x07, 0x01, 0x72, 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0x00, 0x00, 0x02, 0x00, 0x00, // ....r........... + 0x00, 0x00, 0x04, 0x80, 0x04, 0x80, 0x00, 0x07, 0x00, 0x17, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, // ............... + 0x00, 0x10, 0x00, 0x20, 0x00, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x34, 0x3e, 0x02, 0x32, 0x1e, // ... ...."..4>.2. + 0x01, 0x04, 0x00, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x01, 0x07, 0x01, 0x72, 0x01, 0x87, 0x5b, // ............r..[ + 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x01, 0x87, 0x01, 0x72, // .....[[........r + 0x01, 0x07, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x02, 0x35, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, // .........5...[[. + 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ....[[.......... + 0x05, 0x80, 0x00, 0x24, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, // ...$...2.....#!. + 0x33, 0x37, 0x23, 0x35, 0x34, 0x36, 0x33, 0x37, 0x35, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x23, // 37#546375&#"...# + 0x15, 0x33, 0x11, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x05, 0xab, 0x23, 0x32, 0x32, // .3.!"&5.463..#22 + 0x23, 0xfe, 0x79, 0xc7, 0x1e, 0xe5, 0x2f, 0x44, 0x7a, 0x3f, 0x73, 0x88, 0xa3, 0xc8, 0xc8, 0xfd, // #.y.../Dz?s..... + 0x21, 0x23, 0x32, 0x32, 0x23, 0x05, 0x80, 0x32, 0x23, 0xfa, 0xaa, 0x23, 0x32, 0x02, 0x53, 0xe8, // !#22#..2#..#2.S. + 0x94, 0x38, 0x38, 0x01, 0xcf, 0x09, 0xa0, 0x92, 0xab, 0xe8, 0xfd, 0xad, 0x32, 0x23, 0x05, 0x56, // .88.........2#.V + 0x23, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x05, 0x00, 0x06, 0x00, 0x00, 0x4c, // #2.............L + 0x00, 0x00, 0x11, 0x34, 0x3e, 0x03, 0x33, 0x32, 0x04, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x23, 0x22, // ...4>.32......#" + 0x26, 0x27, 0x0e, 0x06, 0x0f, 0x01, 0x27, 0x26, 0x35, 0x34, 0x36, 0x12, 0x37, 0x26, 0x35, 0x34, // &'....'&546.7&54 + 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, 0x04, 0x35, 0x34, // 632.......32>.54 + 0x26, 0x23, 0x22, 0x00, 0x15, 0x14, 0x1e, 0x02, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x03, // &#"........#"'.. + 0x4b, 0x84, 0xac, 0xc6, 0x67, 0x9e, 0x01, 0x10, 0xaa, 0x26, 0x52, 0x76, 0xac, 0x67, 0x44, 0x86, // K...g....&Rv.gD. + 0x1d, 0x0a, 0x24, 0x0b, 0x1e, 0x16, 0x2a, 0x32, 0x25, 0x0e, 0x09, 0x0f, 0x2b, 0x5a, 0x07, 0x20, // ..$...*2%...+Z. + 0x68, 0x50, 0x3d, 0x44, 0x58, 0x5a, 0x40, 0x37, 0x5e, 0x3f, 0x31, 0x1b, 0x0d, 0xdb, 0xb0, 0xc8, // hP=DXZ@7^?1..... + 0xfe, 0xf4, 0x19, 0x1d, 0x19, 0x1e, 0x16, 0x02, 0x0f, 0x33, 0x4f, 0x2b, 0x16, 0x03, 0xab, 0x6c, // .........3O+...l + 0xbf, 0x8e, 0x68, 0x34, 0x85, 0xfe, 0xa0, 0x60, 0xb8, 0xaa, 0x81, 0x4d, 0x40, 0x38, 0x27, 0x93, // ..h4...`...M@8'. + 0x2b, 0x63, 0x2b, 0x52, 0x49, 0x32, 0x05, 0x0a, 0x9d, 0x1f, 0x5c, 0xe5, 0x01, 0x5a, 0x1e, 0x41, // +c+RI2.......Z.A + 0x68, 0x53, 0x92, 0x51, 0x3e, 0x42, 0xfa, 0x3e, 0x3f, 0x53, 0x32, 0x56, 0x68, 0x75, 0x69, 0x2f, // hS.Q>B.>?S2Vhui/ + 0xad, 0xc1, 0xfe, 0xfd, 0xc7, 0x2c, 0x52, 0x30, 0x2b, 0x09, 0x1c, 0x5a, 0x03, 0x0f, 0x52, 0x6b, // .....,R0+..Z..Rk + 0x6d, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x7a, 0x06, 0x00, 0x05, 0x86, 0x00, 0x2b, // m........z.....+ + 0x00, 0x3e, 0x00, 0x51, 0x00, 0x00, 0x00, 0x32, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, // .>.Q...2........ + 0x23, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x37, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x33, // #"'..'&7567632.3 + 0x32, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, // 2............... + 0x33, 0x32, 0x03, 0x32, 0x3e, 0x02, 0x34, 0x2e, 0x02, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x17, 0x07, // 32.2>.4.."...... + 0x37, 0x16, 0x12, 0x20, 0x04, 0x16, 0x12, 0x10, 0x02, 0x06, 0x04, 0x23, 0x22, 0x27, 0x05, 0x13, // 7.. .......#"'.. + 0x26, 0x35, 0x34, 0x12, 0x36, 0x03, 0xcc, 0x1a, 0xa9, 0x05, 0x02, 0x11, 0x10, 0x6e, 0x2f, 0x39, // &54.6........n/9 + 0x85, 0x62, 0x90, 0x4c, 0x48, 0x01, 0x03, 0x47, 0x18, 0x1c, 0x06, 0x18, 0x07, 0x13, 0x0f, 0x08, // .b.LH..G........ + 0x08, 0x32, 0x45, 0x05, 0x22, 0x44, 0x38, 0x5f, 0x0c, 0x0a, 0x0f, 0x70, 0x7f, 0xe9, 0xa8, 0x64, // .2E."D8_...p...d + 0x64, 0xa8, 0xe9, 0xfe, 0xe9, 0xa8, 0x64, 0x78, 0x4f, 0xf2, 0x9e, 0x22, 0x01, 0x32, 0x01, 0x17, // d.....dxO..".2.. + 0xca, 0x78, 0x78, 0xca, 0xfe, 0xe9, 0x99, 0xc3, 0xaa, 0xfe, 0x5f, 0x88, 0x6c, 0x78, 0xca, 0x02, // .xx......._.lx.. + 0x32, 0x58, 0x09, 0x05, 0x0a, 0x21, 0x2b, 0x27, 0x35, 0x3e, 0x2d, 0x92, 0x70, 0x6b, 0x57, 0x08, // 2X...!+'5>-.pkW. + 0x5b, 0x43, 0x16, 0x03, 0x0d, 0x15, 0x14, 0x88, 0x07, 0x15, 0x49, 0x0a, 0x07, 0x08, 0x49, 0x40, // [C........I...I@ + 0x35, 0x30, 0x07, 0xfe, 0x4f, 0x64, 0xa8, 0xe9, 0xfe, 0xe9, 0xa8, 0x64, 0x64, 0xa8, 0xe9, 0x7f, // 50..Od.....dd... + 0xcb, 0xa5, 0xe9, 0x4d, 0x68, 0x05, 0x66, 0x78, 0xca, 0xfe, 0xe9, 0xfe, 0xce, 0xfe, 0xe9, 0xca, // ...Mh.fx........ + 0x78, 0x5e, 0x86, 0x01, 0x95, 0xb2, 0xd3, 0x99, 0x01, 0x17, 0xca, 0x00, 0x00, 0x09, 0x00, 0x00, // x^.............. + 0x00, 0x00, 0x07, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x1b, // ................ + 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x00, 0x37, 0x21, 0x35, 0x21, 0x11, 0x21, // .#.'.+./..7!5!.! + 0x35, 0x21, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x21, 0x35, 0x21, 0x00, 0x34, // 5!.4&"...2.!5!.4 + 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x12, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x13, 0x11, // &"...2.4&"...2.. + 0x21, 0x11, 0x01, 0x11, 0x21, 0x11, 0x01, 0x11, 0x21, 0x11, 0x80, 0x04, 0x00, 0xfc, 0x00, 0x04, // !...!...!....... + 0x00, 0xfc, 0x00, 0x06, 0x20, 0x38, 0x50, 0x38, 0x38, 0x50, 0xfa, 0x18, 0x04, 0x00, 0xfc, 0x00, // .... 8P88P...... + 0x06, 0x20, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x38, 0x38, 0x50, 0x98, 0xf9, 0x00, // . 8P88P88P88P... + 0x07, 0x00, 0xf9, 0x00, 0x07, 0x00, 0xf9, 0x00, 0x80, 0x80, 0x01, 0x80, 0x80, 0xfd, 0x98, 0x50, // ...............P + 0x38, 0x38, 0x50, 0x38, 0x04, 0x20, 0x80, 0xfd, 0x98, 0x50, 0x38, 0x38, 0x50, 0x38, 0x02, 0x38, // 88P8. ...P88P8.8 + 0x50, 0x38, 0x38, 0x50, 0x38, 0xfd, 0x20, 0xfe, 0x80, 0x01, 0x80, 0x02, 0x00, 0xfe, 0x80, 0x01, // P88P8. ......... + 0x80, 0x02, 0x00, 0xfe, 0x80, 0x01, 0x80, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, // ................ + 0x05, 0x80, 0x00, 0x07, 0x00, 0x2b, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x20, 0x26, 0x10, 0x36, 0x20, // .....+.N... &.6 + 0x16, 0x10, 0x01, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, // ...!2.....#!...+ + 0x01, 0x22, 0x26, 0x35, 0x11, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x11, 0x34, // ."&5.!"&=.463!.4 + 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x01, 0x14, 0x16, 0x33, 0x21, 0x15, 0x06, 0x23, 0x21, 0x22, // 6;.2.....3!..#!" + 0x26, 0x35, 0x34, 0x3e, 0x05, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x32, 0x36, 0x37, 0x36, 0x33, 0x32, // &54>.32...267632 + 0x17, 0x23, 0x22, 0x06, 0x15, 0x03, 0x5f, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x02, 0x40, // .#"..._.....>..@ + 0x01, 0x60, 0x0d, 0x13, 0x13, 0x0d, 0xfe, 0xa0, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xfe, 0xa0, 0x0d, // .`.............. + 0x13, 0x13, 0x0d, 0x01, 0x60, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xfd, 0x20, 0x4c, 0x34, 0x01, 0x00, // ....`...... L4.. + 0x44, 0x67, 0xfc, 0x96, 0x79, 0x92, 0x07, 0x15, 0x20, 0x36, 0x46, 0x65, 0x3d, 0x13, 0x14, 0x4f, // Dg..y... 6Fe=..O + 0x97, 0xb2, 0x97, 0x4f, 0x14, 0x13, 0x84, 0x55, 0xdf, 0x34, 0x4c, 0x02, 0x80, 0xe1, 0x01, 0x3e, // ...O...U.4L....> + 0xe1, 0xe1, 0xfe, 0xc2, 0xfe, 0x9f, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xfe, 0xa0, 0x0d, 0x13, 0x13, // ................ + 0x0d, 0x01, 0x60, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0x01, 0x60, 0x0d, 0x13, 0x13, 0x0d, 0xfd, 0xc0, // ..`......`...... + 0x34, 0x4c, 0xee, 0x32, 0x8a, 0x79, 0x35, 0x65, 0x75, 0x64, 0x5f, 0x43, 0x28, 0x11, 0x3d, 0x3d, // 4L.2.y5eud_C(.== + 0x3d, 0x3d, 0x11, 0x60, 0x4c, 0x34, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0xf7, // ==.`L4.......... + 0x05, 0x80, 0x00, 0x07, 0x00, 0x33, 0x00, 0x56, 0x00, 0x00, 0x00, 0x20, 0x26, 0x10, 0x36, 0x20, // .....3.V... &.6 + 0x16, 0x10, 0x01, 0x17, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x07, 0x06, // ..........#"/... + 0x23, 0x22, 0x2f, 0x01, 0x26, 0x35, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x35, 0x34, 0x3f, 0x01, 0x36, // #"/.&54?.'&54?.6 + 0x33, 0x32, 0x1f, 0x01, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x16, 0x15, 0x14, 0x07, 0x05, 0x07, // 32..7632........ + 0x06, 0x15, 0x14, 0x1f, 0x01, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x05, 0x33, 0x32, // ......#!"&54>.32 + 0x17, 0x16, 0x20, 0x37, 0x36, 0x33, 0x32, 0x17, 0x0e, 0x01, 0x15, 0x14, 0x17, 0x03, 0x5f, 0xfe, // .. 7632......._. + 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x02, 0xb5, 0xf9, 0x09, 0x09, 0x88, 0x09, 0x0d, 0x0e, 0x09, // ....>........... + 0xf9, 0xf9, 0x09, 0x0e, 0x0d, 0x09, 0x88, 0x09, 0x09, 0xf9, 0xf9, 0x09, 0x09, 0x88, 0x09, 0x0d, // ................ + 0x0e, 0x09, 0xf9, 0xf9, 0x09, 0x0e, 0x0d, 0x09, 0x88, 0x09, 0x09, 0xfd, 0x15, 0xb5, 0x25, 0x25, // ..............%% + 0x53, 0x15, 0x17, 0xfc, 0x96, 0x79, 0x92, 0x07, 0x15, 0x20, 0x36, 0x46, 0x65, 0x3d, 0x13, 0x14, // S....y... 6Fe=.. + 0x9a, 0x01, 0x4a, 0x9a, 0x14, 0x13, 0x1c, 0x1d, 0x1c, 0x1a, 0x25, 0x02, 0x80, 0xe1, 0x01, 0x3e, // ..J.......%....> + 0xe1, 0xe1, 0xfe, 0xc2, 0xfd, 0xdf, 0xf9, 0x09, 0x0e, 0x0d, 0x09, 0x88, 0x09, 0x09, 0xf9, 0xf9, // ................ + 0x09, 0x09, 0x88, 0x09, 0x0d, 0x0e, 0x09, 0xf9, 0xf9, 0x09, 0x0e, 0x0d, 0x09, 0x88, 0x09, 0x09, // ................ + 0xf9, 0xf9, 0x09, 0x09, 0x88, 0x09, 0x0d, 0x0e, 0x09, 0xf9, 0xb5, 0x25, 0x36, 0x35, 0x25, 0x53, // ...........%65%S + 0x03, 0x8a, 0x79, 0x35, 0x65, 0x75, 0x64, 0x5f, 0x43, 0x28, 0x11, 0x7a, 0x7a, 0x11, 0x06, 0x1b, // ..y5eud_C(.zz... + 0x2e, 0x21, 0x36, 0x25, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x00, 0x12, // .!6%............ + 0x00, 0x1a, 0x00, 0x24, 0x00, 0x00, 0x01, 0x21, 0x32, 0x16, 0x15, 0x11, 0x21, 0x11, 0x21, 0x11, // ...$...!2...!.!. + 0x21, 0x11, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x15, 0x00, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, // !.46;.2...4&"... + 0x32, 0x21, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x01, 0x00, 0x06, 0xc0, 0x1a, // 2!54&#!"........ + 0x26, 0xff, 0x00, 0xfa, 0x00, 0xff, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x02, 0x40, 0x96, 0xd4, // &......&...&.@.. + 0x96, 0x96, 0xd4, 0x05, 0x56, 0xe1, 0x9f, 0xfd, 0x40, 0x1a, 0x26, 0x02, 0x00, 0x26, 0x1a, 0xfe, // ....V...@.&..&.. + 0x40, 0x01, 0x00, 0xff, 0x00, 0x04, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x16, 0xd4, 0x96, 0x96, // @.......&&...... + 0xd4, 0x96, 0x40, 0x9f, 0xe1, 0x26, 0x1a, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ..@..&.......... + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x16, 0x00, 0x19, 0x00, 0x00, 0x01, 0x03, 0x33, 0x15, // ..............3. + 0x21, 0x07, 0x21, 0x15, 0x21, 0x09, 0x01, 0x21, 0x35, 0x21, 0x27, 0x21, 0x35, 0x33, 0x03, 0x21, // !.!.!..!5!'!53.! + 0x01, 0x21, 0x09, 0x01, 0x13, 0x23, 0x06, 0x00, 0xc0, 0xc0, 0xfe, 0xee, 0x37, 0x01, 0x49, 0xfe, // .!...#......7.I. + 0x65, 0xfe, 0x9b, 0xfe, 0x9b, 0xfe, 0x65, 0x01, 0x49, 0x37, 0xfe, 0xee, 0xc0, 0xc0, 0x01, 0x00, // e.....e.I7...... + 0x01, 0x43, 0x01, 0x7a, 0x01, 0x43, 0xfe, 0x00, 0x6c, 0xd8, 0x06, 0x00, 0xfe, 0x40, 0xc0, 0x80, // .C.z.C..l....@.. + 0xc0, 0xfc, 0xc0, 0x03, 0x40, 0xc0, 0x80, 0xc0, 0x01, 0xc0, 0xfd, 0x00, 0x03, 0x00, 0xfb, 0x40, // ....@..........@ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x17, // ................ + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x01, 0x32, 0x04, 0x15, 0x11, 0x14, 0x06, 0x07, 0x17, 0x16, // ...#...2........ + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3f, 0x01, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x24, 0x33, 0x12, 0x32, // .#!"&?...5.4$3.2 + 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x01, 0x11, 0x21, 0x11, 0x04, 0x40, 0xb9, 0x01, 0x07, 0xfb, // 64&"....!..@.... + 0xb4, 0xd5, 0x10, 0x10, 0x16, 0xfb, 0xe0, 0x16, 0x10, 0x10, 0xd5, 0xb4, 0xfb, 0x01, 0x07, 0xb9, // ................ + 0xf0, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0x03, 0x00, 0xfb, 0x80, 0x06, 0x00, 0xbb, 0x85, 0xfc, 0x80, // ..pp.p.......... + 0x82, 0xb8, 0x05, 0xca, 0x0f, 0x28, 0x28, 0x0f, 0xca, 0x05, 0xb8, 0x82, 0x03, 0x80, 0x85, 0xbb, // .....((......... + 0xfa, 0xc0, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x01, 0xd0, 0x02, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, // ..p.pp.......... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x17, 0x00, 0x1f, 0x00, 0x23, // ...............# + 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x00, 0x01, 0x32, 0x04, 0x15, 0x11, 0x14, 0x06, 0x07, 0x17, 0x16, // .+./...2........ + 0x06, 0x23, 0x21, 0x22, 0x26, 0x3f, 0x01, 0x2e, 0x01, 0x35, 0x11, 0x34, 0x24, 0x33, 0x02, 0x32, // .#!"&?...5.4$3.2 + 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x01, 0x11, 0x21, 0x11, 0x00, 0x32, 0x36, 0x34, 0x26, 0x22, // 64&"....!..264&" + 0x06, 0x14, 0x01, 0x11, 0x21, 0x11, 0x04, 0x40, 0xb9, 0x01, 0x07, 0xfb, 0xb4, 0xd5, 0x10, 0x10, // ....!..@........ + 0x16, 0xfb, 0xe0, 0x16, 0x10, 0x10, 0xd5, 0xb4, 0xfb, 0x01, 0x07, 0xb9, 0xe2, 0x84, 0x5e, 0x5e, // ..............^^ + 0x84, 0x5e, 0x02, 0x40, 0xfd, 0xe0, 0x03, 0xfe, 0x84, 0x5e, 0x5e, 0x84, 0x5e, 0x01, 0x40, 0xfd, // .^.@.....^^.^.@. + 0xc0, 0x06, 0x00, 0xbb, 0x85, 0xfc, 0x80, 0x82, 0xb8, 0x05, 0xca, 0x0f, 0x28, 0x28, 0x0f, 0xca, // ............((.. + 0x05, 0xb8, 0x82, 0x03, 0x80, 0x85, 0xbb, 0xfa, 0xe0, 0x5e, 0x84, 0x5e, 0x5e, 0x84, 0x01, 0xc2, // .........^.^^... + 0x02, 0x00, 0xfe, 0x00, 0xfd, 0xe0, 0x5e, 0x84, 0x5e, 0x5e, 0x84, 0x01, 0xc2, 0x02, 0x00, 0xfe, // ......^.^^...... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x8a, 0x07, 0x00, 0x05, 0x76, 0x00, 0x12, // .............v.. + 0x00, 0x15, 0x00, 0x1c, 0x00, 0x28, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x25, // .....(......#"'% + 0x2e, 0x01, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, 0x17, 0x09, 0x02, 0x11, 0x14, // ..5.4632........ + 0x06, 0x22, 0x27, 0x25, 0x01, 0x14, 0x00, 0x07, 0x09, 0x01, 0x36, 0x33, 0x32, 0x17, 0x01, 0x16, // ."'%......632... + 0x02, 0x55, 0x19, 0x18, 0x11, 0x10, 0xfe, 0x2f, 0x15, 0x1d, 0x14, 0x13, 0x0e, 0x1e, 0x01, 0xff, // .U...../........ + 0x03, 0x40, 0x02, 0x16, 0xfd, 0xea, 0x04, 0x6b, 0x1c, 0x30, 0x17, 0xfe, 0x47, 0x02, 0x19, 0xfd, // .@.....k.0..G... + 0xff, 0x2c, 0xfe, 0x7a, 0x01, 0x44, 0x11, 0x23, 0x0e, 0x0c, 0x02, 0x1d, 0x04, 0x04, 0x5b, 0xfb, // .,.z.D.#......[. + 0x6b, 0x19, 0x23, 0x08, 0xe9, 0x0a, 0x2f, 0x17, 0x04, 0x74, 0x14, 0x1c, 0x0f, 0xff, 0x00, 0x03, // k.#.../..t...... + 0x67, 0xfc, 0x9e, 0x01, 0x0a, 0x02, 0x46, 0xfb, 0xe2, 0x19, 0x1f, 0x0d, 0xdc, 0x03, 0xe5, 0x03, // g.....F......... + 0xfc, 0xbf, 0x47, 0x02, 0x7a, 0x02, 0x0f, 0x1c, 0x06, 0xfe, 0xf2, 0x02, 0x00, 0x02, 0x00, 0x00, // ..G.z........... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x09, 0x01, 0x23, 0x03, // ..............#. + 0x06, 0x07, 0x27, 0x03, 0x23, 0x01, 0x11, 0x33, 0x01, 0x11, 0x21, 0x11, 0x03, 0x29, 0x01, 0x0a, // ..'.#..3..!..).. + 0x70, 0x9d, 0x18, 0x14, 0x2a, 0x9b, 0x78, 0x01, 0x07, 0x65, 0x02, 0xd7, 0xfa, 0x00, 0x02, 0x14, // p...*.x..e...... + 0x01, 0xf3, 0xfe, 0xc8, 0x30, 0x2c, 0x5c, 0x01, 0x38, 0xfe, 0x13, 0xfe, 0xbc, 0x04, 0xaa, 0xfa, // ....0,..8....... + 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x54, 0xff, 0x06, 0x08, 0xa4, 0x05, 0xff, 0x00, 0x0b, // .......T........ + 0x00, 0x17, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x44, 0x00, 0x4d, 0x00, 0xfc, 0x01, 0x06, 0x01, 0x12, // ...#./.D.M...... + 0x01, 0x1b, 0x01, 0x25, 0x01, 0x32, 0x01, 0x3c, 0x01, 0x47, 0x01, 0x51, 0x01, 0x5e, 0x01, 0x6c, // ...%.2.<.G.Q.^.l + 0x01, 0x77, 0x01, 0xb3, 0x01, 0xc2, 0x01, 0xd9, 0x01, 0xe9, 0x01, 0xfe, 0x02, 0x0d, 0x00, 0x00, // .w.............. + 0x05, 0x0e, 0x01, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x05, 0x1e, 0x01, 0x17, // .....&'&676..... + 0x16, 0x36, 0x37, 0x36, 0x26, 0x27, 0x26, 0x06, 0x37, 0x1e, 0x01, 0x17, 0x16, 0x36, 0x35, 0x34, // .676&'&.7....654 + 0x26, 0x27, 0x26, 0x06, 0x05, 0x0e, 0x01, 0x07, 0x06, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x16, // &'&......&54676. + 0x01, 0x33, 0x22, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x06, 0x15, 0x14, 0x16, // .3"......#"'.... + 0x33, 0x32, 0x36, 0x34, 0x26, 0x37, 0x2e, 0x01, 0x07, 0x3e, 0x02, 0x1e, 0x01, 0x01, 0x16, 0x07, // 3264&7...>...... + 0x16, 0x15, 0x16, 0x0e, 0x01, 0x07, 0x06, 0x26, 0x27, 0x04, 0x25, 0x0e, 0x01, 0x27, 0x2e, 0x01, // .......&'.%..'.. + 0x37, 0x36, 0x37, 0x26, 0x37, 0x36, 0x17, 0x36, 0x37, 0x26, 0x37, 0x36, 0x17, 0x36, 0x37, 0x34, // 767&76.67&76.674 + 0x37, 0x36, 0x17, 0x36, 0x17, 0x16, 0x17, 0x35, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x37, 0x36, // 76.6...5"'..'&76 + 0x37, 0x3e, 0x02, 0x16, 0x17, 0x33, 0x16, 0x17, 0x16, 0x17, 0x3e, 0x01, 0x37, 0x26, 0x27, 0x26, // 7>...3....>.7&'& + 0x27, 0x34, 0x37, 0x2e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x16, 0x17, 0x14, 0x1e, // '47..'..7676.... + 0x03, 0x17, 0x16, 0x37, 0x36, 0x37, 0x26, 0x07, 0x37, 0x36, 0x37, 0x36, 0x37, 0x2e, 0x04, 0x27, // ...767&.76767..' + 0x24, 0x01, 0x16, 0x17, 0x16, 0x37, 0x33, 0x3e, 0x03, 0x3f, 0x01, 0x3e, 0x01, 0x17, 0x16, 0x17, // $....73>.?.>.... + 0x16, 0x06, 0x07, 0x0e, 0x01, 0x07, 0x15, 0x06, 0x07, 0x06, 0x07, 0x1e, 0x01, 0x17, 0x36, 0x37, // ..............67 + 0x36, 0x37, 0x33, 0x3e, 0x01, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x16, 0x07, 0x0e, 0x01, 0x07, 0x06, // 673>............ + 0x23, 0x14, 0x07, 0x36, 0x37, 0x36, 0x17, 0x36, 0x17, 0x16, 0x15, 0x16, 0x17, 0x36, 0x17, 0x16, // #..676.6.....6.. + 0x07, 0x16, 0x17, 0x36, 0x01, 0x14, 0x07, 0x16, 0x17, 0x36, 0x26, 0x27, 0x26, 0x06, 0x07, 0x1e, // ...6.....6&'&... + 0x01, 0x07, 0x36, 0x37, 0x36, 0x37, 0x2e, 0x01, 0x27, 0x06, 0x07, 0x22, 0x27, 0x16, 0x17, 0x32, // ..6767..'.."'..2 + 0x37, 0x36, 0x26, 0x05, 0x36, 0x37, 0x26, 0x35, 0x34, 0x26, 0x07, 0x0e, 0x01, 0x17, 0x16, 0x17, // 76&.67&54&...... + 0x26, 0x36, 0x37, 0x31, 0x26, 0x27, 0x0e, 0x01, 0x07, 0x16, 0x17, 0x36, 0x37, 0x06, 0x0f, 0x01, // &671&'.....67... + 0x35, 0x06, 0x17, 0x16, 0x05, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x26, 0x00, // 5.........7>.7&. + 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x03, 0x26, 0x07, 0x35, 0x06, 0x16, 0x17, // "....2654.&.5... + 0x1e, 0x01, 0x37, 0x3e, 0x01, 0x26, 0x05, 0x3e, 0x01, 0x26, 0x27, 0x35, 0x06, 0x23, 0x0e, 0x01, // ..7>.&.>.&'5.#.. + 0x16, 0x17, 0x1e, 0x01, 0x25, 0x06, 0x16, 0x17, 0x16, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x06, 0x07, // ....%....67>.7.. + 0x16, 0x07, 0x16, 0x04, 0x17, 0x36, 0x24, 0x37, 0x26, 0x37, 0x34, 0x3e, 0x01, 0x3d, 0x01, 0x15, // .....6$7&74>.=.. + 0x2e, 0x01, 0x27, 0x06, 0x07, 0x06, 0x27, 0x26, 0x27, 0x26, 0x27, 0x0e, 0x08, 0x23, 0x06, 0x27, // ..'...'&'&'..#.' + 0x0e, 0x03, 0x07, 0x06, 0x23, 0x06, 0x27, 0x06, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x06, // ....#.'.'&'&'&'. + 0x07, 0x16, 0x03, 0x36, 0x35, 0x2e, 0x01, 0x27, 0x26, 0x0e, 0x01, 0x17, 0x1e, 0x01, 0x17, 0x16, // ...65..'&....... + 0x36, 0x37, 0x16, 0x17, 0x36, 0x37, 0x2e, 0x01, 0x27, 0x06, 0x07, 0x14, 0x06, 0x15, 0x16, 0x07, // 67..67..'....... + 0x06, 0x07, 0x06, 0x07, 0x23, 0x06, 0x17, 0x16, 0x17, 0x04, 0x25, 0x26, 0x27, 0x06, 0x07, 0x06, // ....#.....%&'... + 0x27, 0x26, 0x27, 0x06, 0x07, 0x23, 0x15, 0x32, 0x25, 0x36, 0x37, 0x36, 0x37, 0x07, 0x36, 0x35, // '&'..#.2%6767.65 + 0x26, 0x27, 0x26, 0x27, 0x26, 0x37, 0x26, 0x35, 0x26, 0x27, 0x06, 0x07, 0x16, 0x05, 0x36, 0x2e, // &'&'&7&5&'....6. + 0x01, 0x07, 0x0e, 0x01, 0x07, 0x14, 0x17, 0x1e, 0x01, 0x37, 0x3e, 0x01, 0x01, 0xde, 0x08, 0x26, // .........7>....& + 0x12, 0x19, 0x35, 0x02, 0x01, 0x52, 0x1b, 0x17, 0x16, 0x05, 0x34, 0x07, 0x26, 0x13, 0x19, 0x35, // ..5..R....4.&..5 + 0x01, 0x02, 0x53, 0x1b, 0x16, 0x16, 0x39, 0x0d, 0x57, 0x22, 0x2d, 0x4a, 0x87, 0x30, 0x28, 0x2f, // ..S...9.W"-J.0(/ + 0xfa, 0x72, 0x0d, 0x56, 0x22, 0x2d, 0x4a, 0x87, 0x30, 0x28, 0x2e, 0x02, 0xc9, 0x01, 0x29, 0x23, // .r.V"-J.0(....)# + 0x1b, 0x22, 0x36, 0x26, 0x34, 0x1c, 0x05, 0x70, 0x4f, 0x50, 0x70, 0x70, 0xe0, 0x63, 0xf3, 0x7c, // ."6&4..pOPpp.c.| + 0x1b, 0x6f, 0x7d, 0x76, 0x51, 0x02, 0xf2, 0x08, 0x13, 0x07, 0x01, 0x5b, 0x80, 0x36, 0x30, 0x58, // .o}vQ......[.60X + 0x16, 0xfd, 0x51, 0xfd, 0xc4, 0x17, 0x57, 0x31, 0x56, 0xbb, 0x01, 0x02, 0x05, 0x13, 0x08, 0x06, // ..Q...W1V....... + 0x19, 0x0e, 0x1b, 0x07, 0x09, 0x0b, 0x1c, 0x1d, 0x1e, 0x0d, 0x17, 0x1c, 0x23, 0x1a, 0x12, 0x14, // ............#... + 0x0b, 0x07, 0x35, 0x58, 0x0b, 0x09, 0x09, 0x0f, 0x4e, 0x02, 0x22, 0x26, 0x1c, 0x05, 0x0d, 0x2e, // ..5X....N."&.... + 0x0e, 0x03, 0x02, 0x0a, 0x29, 0x0a, 0x0f, 0x0f, 0x17, 0x44, 0x01, 0x3e, 0x71, 0x1c, 0x20, 0x15, // ....)....D.>q. . + 0x08, 0x10, 0x4a, 0x17, 0x3a, 0x03, 0x03, 0x02, 0x04, 0x07, 0x05, 0x1b, 0x31, 0x30, 0x32, 0x28, // ..J.:.......102( + 0x7a, 0x2f, 0x3d, 0x66, 0x91, 0x89, 0x14, 0x2a, 0x34, 0x21, 0x3e, 0x0c, 0x02, 0x53, 0x01, 0x35, // z/=f...*4!>..S.5 + 0x62, 0x3c, 0x55, 0x24, 0x01, 0x05, 0x07, 0x04, 0x02, 0x02, 0x01, 0x03, 0x3a, 0x17, 0x49, 0x12, // b!.%......... + 0x01, 0x0b, 0x06, 0x28, 0x03, 0x06, 0x04, 0x02, 0x21, 0x1f, 0x24, 0x70, 0x38, 0x7e, 0x35, 0x10, // ...(....!.$p8~5. + 0x17, 0x1d, 0x01, 0x1a, 0x10, 0x18, 0x0e, 0x03, 0x0e, 0x02, 0x2e, 0x1c, 0x04, 0x12, 0x2e, 0x3a, // ...............: + 0x35, 0x49, 0x0d, 0x08, 0x0f, 0x0d, 0x08, 0x0e, 0x03, 0x7e, 0xfe, 0xf7, 0x54, 0x8a, 0x0a, 0x13, // 5I.......~..T... + 0x03, 0x0e, 0x18, 0x0f, 0x0e, 0x0e, 0x1c, 0x18, 0x11, 0x34, 0x7e, 0x39, 0x70, 0x23, 0x20, 0x21, // .........4~9p# ! + 0x02, 0x0a, 0x02, 0x29, 0x05, 0x0c, 0x01, 0x05, 0x01, 0x05, 0x03, 0x12, 0x05, 0x12, 0x18, 0x08, // ...)............ + 0x26, 0x11, 0x20, 0x3f, 0x28, 0x29, 0x35, 0x46, 0x09, 0x02, 0x31, 0x18, 0x0f, 0x04, 0x07, 0x05, // &. ?()5F..1..... + 0x1c, 0x0c, 0x09, 0x1c, 0x10, 0x12, 0x0d, 0x09, 0x0a, 0x1c, 0x1e, 0x15, 0x08, 0x03, 0xaf, 0x1d, // ................ + 0x19, 0x20, 0x64, 0x25, 0x7b, 0x1d, 0x13, 0x04, 0x76, 0x2a, 0x85, 0x3a, 0x0d, 0x20, 0x0e, 0x0e, // . d%{...v*.:. .. + 0x40, 0x65, 0x10, 0x0f, 0x0a, 0x01, 0x73, 0x7c, 0x03, 0x44, 0x86, 0x31, 0x64, 0x20, 0x19, 0x1d, // @e....s|.D.1d .. + 0x12, 0x04, 0x13, 0x1d, 0x7b, 0x8b, 0x1f, 0x0e, 0x3a, 0x85, 0x2a, 0x06, 0x0f, 0x10, 0x64, 0x41, // ....{...:.*...dA + 0x11, 0x41, 0x7c, 0x6f, 0x04, 0x0e, 0x13, 0x01, 0x59, 0x6b, 0x03, 0x27, 0x26, 0x8d, 0x13, 0x12, // .A|o....Yk.'&... + 0x07, 0x08, 0x14, 0x83, 0x3c, 0x02, 0x02, 0x83, 0xa5, 0x74, 0x75, 0xa5, 0xa5, 0x75, 0x74, 0xfe, // ....<....tu..ut. + 0x26, 0x02, 0x02, 0x01, 0x1b, 0x76, 0x07, 0x0e, 0x01, 0x0b, 0x03, 0x48, 0x43, 0xba, 0x04, 0x58, // &....v.....HC..X + 0x58, 0x13, 0x01, 0x03, 0x14, 0x54, 0x52, 0x05, 0x0f, 0x02, 0xc8, 0x3b, 0x77, 0x19, 0x08, 0x06, // X....TR....;w... + 0x12, 0x10, 0x94, 0x1d, 0x02, 0x82, 0x17, 0x0d, 0x8d, 0xc6, 0x37, 0x31, 0xc2, 0x99, 0x0d, 0x15, // ..........71.... + 0x02, 0x03, 0x03, 0x01, 0x01, 0x01, 0x02, 0x07, 0x01, 0x5a, 0x2a, 0x26, 0x27, 0x06, 0x08, 0x0d, // .........Z*&'... + 0x31, 0x05, 0x08, 0x06, 0x05, 0x03, 0x02, 0x02, 0x01, 0x01, 0x09, 0x14, 0x11, 0x13, 0x0b, 0x03, // 1............... + 0x02, 0x01, 0x11, 0x39, 0x3f, 0x09, 0x08, 0x2e, 0x0d, 0x0d, 0x1d, 0x24, 0x06, 0x04, 0x02, 0xfd, // ...9?......$.... + 0x84, 0x0e, 0x10, 0x47, 0x76, 0x0b, 0x0c, 0x35, 0x6b, 0x36, 0x35, 0x50, 0x02, 0x02, 0x3c, 0xdc, // ...Gv..5k65P..<. + 0x3f, 0x38, 0x71, 0x3d, 0x34, 0x88, 0x61, 0x04, 0x09, 0x01, 0x06, 0x02, 0x12, 0x13, 0x17, 0x0b, // ?8q=4.a......... + 0x0d, 0x0b, 0x53, 0x43, 0x22, 0xcd, 0x15, 0x15, 0x93, 0x31, 0x23, 0x16, 0x03, 0x03, 0x15, 0x1c, // ..SC"....1#..... + 0x3c, 0x80, 0x01, 0x2f, 0x36, 0x42, 0x26, 0x21, 0x01, 0x4d, 0x4c, 0x08, 0x11, 0x09, 0x18, 0x14, // <../6B&!.ML..... + 0x12, 0x04, 0x05, 0x04, 0x08, 0xbe, 0x5e, 0x3b, 0x8c, 0x36, 0x6b, 0x35, 0x0c, 0x0b, 0x77, 0x46, // ......^;.6k5..wF + 0x10, 0x0e, 0x31, 0x3c, 0x02, 0x02, 0x50, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x43, 0x09, 0x01, // ..1<..P......C.. + 0x05, 0xbd, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x3b, 0x00, 0x00, 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, // .......;..$.."&4 + 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x1e, 0x05, 0x0c, 0x01, 0x33, // 62..."&462.....3 + 0x32, 0x1e, 0x04, 0x0e, 0x03, 0x07, 0x06, 0x07, 0x3e, 0x05, 0x2e, 0x03, 0x07, 0x06, 0x24, 0x2e, // 2.......>.....$. + 0x07, 0x05, 0xf4, 0x60, 0x88, 0x61, 0x61, 0x88, 0xfd, 0x73, 0x61, 0x88, 0x60, 0x60, 0x88, 0xfd, // ...`.aa..sa.``.. + 0x5a, 0x39, 0x6b, 0x87, 0x89, 0xc3, 0xcd, 0x01, 0x27, 0x01, 0x39, 0xd8, 0x8b, 0xd3, 0x97, 0x61, // Z9k.....'.9....a + 0x2d, 0x03, 0x2a, 0x47, 0x6c, 0x7c, 0x4d, 0xb9, 0x65, 0x1d, 0x5f, 0x5d, 0x60, 0x46, 0x26, 0x0c, // -.*Gl|M.e._]`F&. + 0x4f, 0x9a, 0xfe, 0xb1, 0xa8, 0xfe, 0xdc, 0xdc, 0xbd, 0x82, 0x73, 0x44, 0x44, 0x21, 0x2f, 0x2b, // O.........sDD!/+ + 0x88, 0x60, 0x60, 0x88, 0x61, 0x61, 0x88, 0x60, 0x60, 0x88, 0x61, 0x05, 0x31, 0x3c, 0x59, 0x4b, // .``.aa.``.a.1.54&'" + 0x26, 0x23, 0x21, 0x11, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // &#!.!26....#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x9f, 0x1f, 0x17, 0x08, 0x0a, 0x99, 0x99, 0x0a, // .463!2.......... + 0x08, 0x17, 0x0d, 0x1e, 0x17, 0x03, 0x0c, 0x8b, 0x8b, 0x03, 0x0b, 0x01, 0x17, 0xfb, 0x69, 0xe4, // ..............i. + 0x4c, 0x43, 0x6c, 0x79, 0x35, 0x88, 0x29, 0x2a, 0x01, 0x48, 0x02, 0xca, 0x63, 0x65, 0x6c, 0x7a, // LCly5.)*.H..celz + 0x7a, 0x6c, 0x65, 0x63, 0x30, 0x68, 0x1c, 0x1c, 0x7f, 0xb7, 0x62, 0x2c, 0x2c, 0x62, 0xb7, 0x7f, // zlec0h....b,,b.. + 0x65, 0x03, 0x49, 0x56, 0x42, 0x39, 0x40, 0x52, 0x42, 0x03, 0x12, 0x05, 0xfe, 0x39, 0x01, 0xeb, // e.IVB9@RB....9.. + 0x4a, 0x5f, 0x80, 0x4c, 0x34, 0xf8, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x08, 0x00, 0x34, 0x4c, 0x02, // J_.L4..4LL4..4L. + 0x34, 0x34, 0x25, 0x05, 0x02, 0x8c, 0x02, 0x05, 0xaf, 0x32, 0x22, 0x04, 0x01, 0x81, 0x01, 0x04, // 44%......2"..... + 0xe0, 0x01, 0x34, 0xfe, 0xcc, 0x3a, 0x49, 0x3b, 0x70, 0x0f, 0x10, 0x01, 0x01, 0x21, 0x71, 0x34, // ..4..:I;p....!q4 + 0x07, 0x08, 0x62, 0xba, 0x62, 0x08, 0x07, 0x33, 0x70, 0x0c, 0x0f, 0x02, 0x02, 0x06, 0x28, 0x50, // ..b.b..3p.....(P + 0x60, 0x74, 0x60, 0x50, 0x28, 0x06, 0x04, 0x8e, 0x36, 0x45, 0x05, 0x03, 0x08, 0x43, 0x2e, 0x37, // `t`P(...6E...C.7 + 0x42, 0x03, 0x01, 0xfe, 0x02, 0x49, 0x03, 0x36, 0xfb, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, // B....I.6..4LL4.. + 0x34, 0x4c, 0x4c, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x05, // 4LL............. + 0x00, 0x0b, 0x00, 0x1a, 0x00, 0x2e, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x11, 0x0e, 0x01, 0x14, 0x16, // .......>........ + 0x24, 0x34, 0x26, 0x27, 0x11, 0x36, 0x00, 0x10, 0x02, 0x04, 0x23, 0x22, 0x2e, 0x02, 0x35, 0x34, // $4&'.6....#"..54 + 0x12, 0x24, 0x20, 0x04, 0x01, 0x34, 0x2e, 0x02, 0x23, 0x21, 0x22, 0x04, 0x02, 0x15, 0x14, 0x12, // .$ ..4..#!"..... + 0x04, 0x33, 0x21, 0x32, 0x3e, 0x02, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // .3!2>.....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x5a, 0x6a, 0x84, 0x84, 0x02, 0x62, 0x84, 0x6a, 0x6a, // 463!2..Zj...b.jj + 0x01, 0x5b, 0x9d, 0xfe, 0xf2, 0x9f, 0x77, 0xd9, 0x9d, 0x5d, 0x9d, 0x01, 0x0e, 0x01, 0x3e, 0x01, // .[....w..]....>. + 0x0e, 0x02, 0x1c, 0x6f, 0xb8, 0xf3, 0x83, 0xfe, 0xd3, 0xb0, 0xfe, 0xd9, 0xaf, 0xae, 0x01, 0x2a, // ...o...........* + 0xae, 0x01, 0x2d, 0x81, 0xf5, 0xb8, 0x6f, 0x01, 0x58, 0x4c, 0x34, 0xf8, 0x00, 0x34, 0x4c, 0x4c, // ..-...o.XL4..4LL + 0x34, 0x08, 0x00, 0x34, 0x4c, 0x01, 0x27, 0x02, 0xb5, 0x29, 0xbd, 0xea, 0xbd, 0xbd, 0xea, 0xbd, // 4..4L.'..)...... + 0x29, 0xfd, 0x4a, 0x29, 0x01, 0xd1, 0xfe, 0xc2, 0xfe, 0xf2, 0x9d, 0x5d, 0x9d, 0xd9, 0x77, 0x9f, // ).J).......]..w. + 0x01, 0x0e, 0x9d, 0x9d, 0xfe, 0x4c, 0x8b, 0xf5, 0xa6, 0x60, 0xa2, 0xfe, 0xd6, 0xba, 0xab, 0xfe, // .....L...`...... + 0xdb, 0xaa, 0x65, 0xa9, 0xec, 0x03, 0x06, 0xfb, 0x00, 0x34, 0x4c, 0x4c, 0x34, 0x05, 0x00, 0x34, // ..e......4LL4..4 + 0x4c, 0x4c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, // LL.............. + 0x00, 0x1f, 0x00, 0x3b, 0x00, 0x00, 0x05, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, // ...;....4&#!"... + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, // ..3!26....#!"&5. + 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x23, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, // 463!2...#54&#!". + 0x15, 0x11, 0x14, 0x16, 0x3b, 0x01, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, // ....;..#"&5.463! + 0x32, 0x16, 0x06, 0x80, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x04, 0x40, 0x0d, 0x13, // 2............@.. + 0x80, 0x5e, 0x42, 0xfb, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0xfe, 0x80, 0x80, // .^B..B^^B.@B^... + 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xa0, 0xa0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, // ..........B^^B.@ + 0x42, 0x5e, 0x60, 0x04, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x13, 0x04, 0x4d, // B^`.@..........M + 0xfb, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x01, 0x3e, 0xa0, 0xa0, 0x0d, // ..B^^B.@B^^.>... + 0x13, 0x13, 0x0d, 0xfb, 0xc0, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0x04, 0x40, 0x42, 0x5e, 0x5e, 0x00, // ........^B.@B^^. + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x08, 0x80, 0x06, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x35, // ...............5 + 0x00, 0x3d, 0x00, 0x55, 0x00, 0x6d, 0x00, 0x00, 0x09, 0x01, 0x21, 0x09, 0x01, 0x21, 0x01, 0x0e, // .=.U.m....!..!.. + 0x01, 0x07, 0x11, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // ...!2.....#!"&=. + 0x34, 0x36, 0x33, 0x21, 0x11, 0x2e, 0x01, 0x27, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, // 463!...'!"&=.463 + 0x21, 0x3e, 0x01, 0x32, 0x16, 0x17, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x04, 0x32, // !>.2..!2.....#.2 + 0x36, 0x34, 0x26, 0x22, 0x06, 0x14, 0x01, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x35, 0x34, 0x3e, // 64&"......"..54> + 0x03, 0x37, 0x36, 0x32, 0x17, 0x1e, 0x04, 0x05, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x35, 0x34, // .762......."..54 + 0x3e, 0x03, 0x37, 0x36, 0x32, 0x17, 0x1e, 0x04, 0x06, 0xc0, 0xfe, 0x80, 0x03, 0x00, 0xf9, 0x80, // >.762........... + 0xfe, 0x80, 0x03, 0x00, 0x01, 0xb5, 0x0e, 0x3f, 0x28, 0x02, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, // .......?(.`..... + 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x60, 0x28, 0x3f, 0x0e, 0xfe, 0x15, 0x0e, 0x12, 0x12, 0x0e, // ......`(?....... + 0x01, 0xeb, 0x15, 0x62, 0x7c, 0x62, 0x15, 0x01, 0xeb, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x3f, 0x42, // ...b|b........?B + 0x2f, 0x2f, 0x42, 0x2f, 0x04, 0x90, 0x5d, 0x8e, 0x93, 0x84, 0x93, 0x8e, 0x5d, 0x46, 0x72, 0x64, // //B/..].....]Frd + 0x68, 0x04, 0x12, 0x4c, 0x12, 0x04, 0x68, 0x64, 0x72, 0x46, 0xfb, 0x00, 0x5d, 0x8e, 0x93, 0x84, // h..L..hdrF..]... + 0x93, 0x8e, 0x5d, 0x46, 0x72, 0x64, 0x68, 0x04, 0x12, 0x4c, 0x12, 0x04, 0x68, 0x64, 0x72, 0x46, // ..]Frdh..L..hdrF + 0x04, 0x40, 0xfd, 0x40, 0x02, 0xc0, 0xfd, 0x40, 0x03, 0x80, 0x28, 0x3f, 0x0e, 0xfa, 0xf5, 0x12, // .@.@...@..(?.... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x05, 0x0b, 0x0e, 0x3f, 0x28, 0x12, 0x0e, // .@....@.....?(.. + 0x40, 0x0e, 0x12, 0x39, 0x47, 0x47, 0x39, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x10, 0x2f, 0x42, 0x2f, // @..9GG9..@.../B/ + 0x2f, 0x42, 0xfc, 0x61, 0x49, 0x74, 0x42, 0x21, 0x21, 0x42, 0x74, 0x49, 0x0b, 0x8c, 0xd1, 0xb6, // /B.aItB!!BtI.... + 0xba, 0x07, 0x21, 0x21, 0x07, 0xba, 0xb6, 0xd1, 0x8c, 0x0b, 0x49, 0x74, 0x42, 0x21, 0x21, 0x42, // ..!!......ItB!!B + 0x74, 0x49, 0x0b, 0x8c, 0xd1, 0xb6, 0xba, 0x07, 0x21, 0x21, 0x07, 0xba, 0xb6, 0xd1, 0x8c, 0x00, // tI......!!...... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x4d, 0x00, 0x00, // ...........-.M.. + 0x01, 0x10, 0x02, 0x07, 0x16, 0x12, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, // .......32.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x10, 0x12, 0x37, 0x26, 0x02, 0x11, 0x23, 0x22, // "&=.46;...7&..#" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x01, 0x3e, // &=.463!2.....#.> + 0x03, 0x35, 0x21, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x14, 0x06, 0x07, 0x0e, 0x03, 0x15, 0x21, // .5!............! + 0x34, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x34, 0x36, 0x05, 0x80, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, // 4..'..46......`. + 0x12, 0x12, 0x0e, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, // ....@....`....`. + 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x8a, 0x4d, 0x90, 0x73, 0x46, 0xfc, // ...........M.sF. + 0x00, 0x46, 0x73, 0x90, 0x4d, 0x13, 0x17, 0x17, 0x13, 0x4d, 0x90, 0x73, 0x46, 0x04, 0x00, 0x46, // .Fs.M....M.sF..F + 0x73, 0x90, 0x4d, 0x13, 0x17, 0x17, 0x05, 0x80, 0xfe, 0xfb, 0xfe, 0x6f, 0x6a, 0x6a, 0xfe, 0x6f, // s.M........ojj.o + 0xfe, 0xfb, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x05, 0x01, 0x91, // ....@....@...... + 0x6a, 0x6a, 0x01, 0x91, 0x01, 0x05, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // jj......@....@.. + 0xfd, 0x3c, 0x1d, 0x7f, 0xb2, 0xf2, 0x84, 0x84, 0xf2, 0xb2, 0x7f, 0x1d, 0x07, 0x21, 0x28, 0x21, // .<...........!(! + 0x07, 0x1d, 0x7f, 0xb2, 0xf2, 0x84, 0x84, 0xf2, 0xb2, 0x7f, 0x1d, 0x07, 0x21, 0x28, 0x21, 0x00, // ............!(!. + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x33, 0x00, 0x3f, // ...........-.3.? + 0x00, 0x00, 0x01, 0x10, 0x02, 0x07, 0x16, 0x12, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, // .........32..... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x10, 0x12, 0x37, 0x26, 0x02, 0x11, // #!"&=.46;...7&.. + 0x23, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, // #"&=.463!2.....+ + 0x01, 0x21, 0x14, 0x17, 0x21, 0x36, 0x11, 0x34, 0x2e, 0x02, 0x27, 0x23, 0x0e, 0x03, 0x15, 0x05, // .!..!6.4..'#.... + 0x80, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, // .....`.....@.... + 0x60, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // `....`.......... + 0xe0, 0xfc, 0x00, 0x09, 0x03, 0xee, 0x09, 0x44, 0x71, 0x8c, 0x4c, 0xe6, 0x4c, 0x8c, 0x71, 0x44, // .......Dq.L.L.qD + 0x05, 0x80, 0xfe, 0xfb, 0xfe, 0x6f, 0x6a, 0x6a, 0xfe, 0x6f, 0xfe, 0xfb, 0x12, 0x0e, 0x40, 0x0e, // .....ojj.o....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x05, 0x01, 0x91, 0x6a, 0x6a, 0x01, 0x91, 0x01, 0x05, // ...@......jj.... + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x42, 0x3e, 0x3d, 0xfa, 0x43, 0x82, // ..@....@..B>=.C. + 0xef, 0xb1, 0x7f, 0x1f, 0x1f, 0x7f, 0xb1, 0xef, 0x82, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ................ + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x33, 0x00, 0x3b, 0x00, 0x00, 0x01, 0x10, // .......-.3.;.... + 0x02, 0x07, 0x16, 0x12, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // .....32.....#!"& + 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x10, 0x12, 0x37, 0x26, 0x02, 0x11, 0x23, 0x22, 0x26, 0x3d, // =.46;...7&..#"&= + 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x21, 0x14, 0x17, // .463!2.....+.!.. + 0x21, 0x36, 0x03, 0x2e, 0x01, 0x27, 0x23, 0x0e, 0x01, 0x07, 0x05, 0x80, 0xd5, 0xa0, 0xa0, 0xd5, // !6...'#......... + 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0xd5, 0xa0, 0xa0, 0xd5, // `.....@....`.... + 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xe0, 0xfc, 0x00, 0x55, 0x03, // `.............U. + 0x56, 0x55, 0x39, 0x36, 0xb7, 0x67, 0xe6, 0x67, 0xb7, 0x36, 0x05, 0x80, 0xfe, 0xfb, 0xfe, 0x6f, // VU96.g.g.6.....o + 0x6a, 0x6a, 0xfe, 0x6f, 0xfe, 0xfb, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // jj.o....@....@.. + 0x01, 0x05, 0x01, 0x91, 0x6a, 0x6a, 0x01, 0x91, 0x01, 0x05, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // ....jj......@... + 0x0e, 0x40, 0x0e, 0x12, 0xce, 0xb2, 0xb2, 0xfc, 0x0e, 0x8d, 0xc9, 0x2a, 0x2a, 0xc9, 0x8d, 0x00, // .@.........**... + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x47, 0x00, 0x00, // ...........-.G.. + 0x01, 0x10, 0x02, 0x07, 0x16, 0x12, 0x11, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, // .......32.....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x10, 0x12, 0x37, 0x26, 0x02, 0x11, 0x23, 0x22, // "&=.46;...7&..#" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x01, 0x3e, // &=.463!2.....#.> + 0x03, 0x35, 0x21, 0x14, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x14, 0x06, 0x07, 0x06, 0x07, 0x21, 0x26, // .5!...........!& + 0x27, 0x2e, 0x01, 0x34, 0x36, 0x05, 0x80, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, 0x12, 0x12, 0x0e, // '..46......`.... + 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0xd5, 0xa0, 0xa0, 0xd5, 0x60, 0x0e, 0x12, 0x12, 0x0e, // .@....`....`.... + 0x05, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x8a, 0x4d, 0x90, 0x73, 0x46, 0xfc, 0x00, 0x46, 0x73, // ........M.sF..Fs + 0x90, 0x4d, 0x13, 0x17, 0x17, 0x13, 0x89, 0x6b, 0x02, 0xbc, 0x6b, 0x89, 0x13, 0x17, 0x17, 0x05, // .M.....k..k..... + 0x80, 0xfe, 0xfb, 0xfe, 0x6f, 0x6a, 0x6a, 0xfe, 0x6f, 0xfe, 0xfb, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ....ojj.o....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x05, 0x01, 0x91, 0x6a, 0x6a, 0x01, 0x91, 0x01, 0x05, 0x12, // ..@......jj..... + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfd, 0x3c, 0x1d, 0x7f, 0xb2, 0xf2, 0x84, // .@....@...<..... + 0x84, 0xf2, 0xb2, 0x7f, 0x1d, 0x07, 0x21, 0x28, 0x21, 0x07, 0x33, 0x91, 0x91, 0x33, 0x07, 0x21, // ......!(!.3..3.! + 0x28, 0x21, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x0f, // (!.............. + 0x00, 0x39, 0x00, 0x49, 0x00, 0x00, 0x05, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, // .9.I...2.....#!" + 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x37, 0x3e, 0x08, 0x37, 0x2e, 0x08, 0x27, 0x21, 0x0e, 0x08, // &=.4637>.7..'!.. + 0x07, 0x1e, 0x08, 0x17, 0x13, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, // .....2.....#!"&= + 0x01, 0x34, 0x36, 0x33, 0x05, 0xe0, 0x0e, 0x12, 0x12, 0x0e, 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, // .463.......@.... + 0x62, 0x03, 0x1a, 0x22, 0x3a, 0x31, 0x50, 0x34, 0x59, 0x2c, 0x2b, 0x2b, 0x2c, 0x59, 0x34, 0x50, // b..":1P4Y,++,Y4P + 0x31, 0x3a, 0x22, 0x1a, 0x03, 0x04, 0xfc, 0x03, 0x1a, 0x22, 0x3a, 0x31, 0x50, 0x34, 0x59, 0x2c, // 1:"......":1P4Y, + 0x2b, 0x2b, 0x2c, 0x59, 0x34, 0x50, 0x31, 0x3a, 0x22, 0x1a, 0x03, 0x62, 0x0e, 0x12, 0x12, 0x0e, // ++,Y4P1:"..b.... + 0xfa, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x12, 0x0e, 0x80, 0x0e, // .@....@......... + 0x12, 0x40, 0x37, 0x68, 0x56, 0x58, 0x40, 0x4b, 0x2d, 0x41, 0x1e, 0x1c, 0x1c, 0x1e, 0x41, 0x2d, // .@7hVX@K-A....A- + 0x4b, 0x40, 0x58, 0x56, 0x68, 0x37, 0x37, 0x68, 0x56, 0x58, 0x40, 0x4b, 0x2d, 0x41, 0x1e, 0x1c, // K@XVh77hVX@K-A.. + 0x1c, 0x1e, 0x41, 0x2d, 0x4b, 0x40, 0x58, 0x56, 0x68, 0x37, 0x06, 0x00, 0x12, 0x0e, 0x80, 0x0e, // ..A-K@XVh7...... + 0x12, 0x12, 0x0e, 0x80, 0x0e, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ................ + 0x05, 0x00, 0x00, 0x41, 0x00, 0x6a, 0x00, 0x00, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x23, 0x35, 0x34, // ...A.j..."...#54 + 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x27, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x14, // &#"...'54&#".... + 0x17, 0x01, 0x16, 0x15, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x3d, 0x01, 0x34, 0x37, 0x13, 0x36, // ......3!26=.47.6 + 0x3d, 0x01, 0x34, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x23, 0x35, 0x34, 0x26, 0x27, 0x26, 0x23, // =.4&#"...#54&'&# + 0x22, 0x06, 0x1d, 0x01, 0x23, 0x35, 0x34, 0x26, 0x27, 0x26, 0x27, 0x32, 0x17, 0x36, 0x33, 0x32, // "...#54&'&'2.632 + 0x16, 0x17, 0x36, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x07, 0x03, 0x06, 0x15, 0x14, 0x06, 0x23, // ..632..........# + 0x21, 0x22, 0x26, 0x35, 0x01, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x32, 0x17, 0x3e, 0x01, 0x33, // !"&5.&=.4632.>.3 + 0x32, 0x17, 0x36, 0x03, 0x00, 0x35, 0x4b, 0x20, 0x40, 0x30, 0x2e, 0x42, 0x20, 0x40, 0x30, 0x2e, // 2.6..5K @0.B @0. + 0x42, 0x23, 0x01, 0x36, 0x27, 0x26, 0x1a, 0x02, 0x80, 0x1a, 0x26, 0x0a, 0x6c, 0x0a, 0x40, 0x30, // B#.6'&....&.l.@0 + 0x2e, 0x42, 0x20, 0x32, 0x27, 0x0e, 0x09, 0x2e, 0x42, 0x20, 0x41, 0x32, 0x05, 0x08, 0x54, 0x41, // .B 2'...B A2..TA + 0x39, 0x42, 0x3b, 0x68, 0x22, 0x1b, 0x20, 0x64, 0x8c, 0x0d, 0x6d, 0x06, 0x70, 0x50, 0xfd, 0x80, // 9B;h". d..m.pP.. + 0x54, 0x6c, 0xfe, 0xcc, 0x4c, 0x8d, 0x63, 0x0b, 0x05, 0x06, 0x8b, 0x5f, 0x34, 0x2e, 0x48, 0x04, // Tl..L.c...._4.H. + 0x80, 0x4b, 0x35, 0x80, 0x5d, 0x30, 0x43, 0x42, 0x2e, 0xfe, 0x53, 0x1e, 0xac, 0x30, 0x43, 0x42, // .K5.]0CB..S..0CB + 0x2e, 0xe0, 0x2f, 0x23, 0xfe, 0xd8, 0x27, 0x3f, 0x1a, 0x26, 0x26, 0x1a, 0x19, 0x29, 0x24, 0x01, // ../#..'?.&&..)$. + 0xb4, 0x24, 0x29, 0xf6, 0x30, 0x43, 0x42, 0x2e, 0x20, 0x7d, 0x28, 0x41, 0x08, 0x02, 0x42, 0x2e, // .$).0CB. }(A..B. + 0x80, 0x7a, 0x33, 0x4d, 0x05, 0x01, 0x80, 0x32, 0x22, 0x36, 0x31, 0x07, 0x8f, 0x64, 0xf6, 0x33, // .z3M...2"61..d.3 + 0x39, 0xfe, 0x4c, 0x18, 0x2f, 0x50, 0x70, 0x75, 0x54, 0x01, 0x28, 0x49, 0x66, 0xe0, 0x63, 0x8d, // 9.L./PpuT.(If.c. + 0x01, 0x5f, 0x82, 0x15, 0x45, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x06, 0x60, // ._..E..........` + 0x06, 0x00, 0x00, 0x31, 0x00, 0x58, 0x00, 0x00, 0x00, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, // ...1.X..."...#.4 + 0x26, 0x22, 0x06, 0x15, 0x19, 0x01, 0x27, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x01, 0x16, // &"....'&#"...... + 0x33, 0x21, 0x32, 0x36, 0x37, 0x13, 0x36, 0x35, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x23, // 3!267.65.4&"...# + 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x32, 0x16, 0x17, 0x36, 0x33, // .4&"...#.4&2..63 + 0x32, 0x16, 0x1d, 0x01, 0x36, 0x16, 0x15, 0x11, 0x14, 0x07, 0x03, 0x0e, 0x01, 0x23, 0x21, 0x22, // 2...6........#!" + 0x26, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, // &'.&54632..4632. + 0x36, 0x03, 0x9e, 0x5c, 0x42, 0x20, 0x42, 0x5c, 0x42, 0x9a, 0x26, 0x40, 0x35, 0x4b, 0x1a, 0x01, // 6...B B.B.&@5K.. + 0x80, 0x26, 0x40, 0x02, 0xb0, 0x22, 0x36, 0x07, 0x4c, 0x05, 0x42, 0x5c, 0x42, 0x20, 0x42, 0x5c, // .&@.."6.L.B.B B. + 0x42, 0x20, 0xb4, 0x88, 0x73, 0x1f, 0x13, 0x17, 0x63, 0x8d, 0x69, 0x97, 0x08, 0x4c, 0x0e, 0x7d, // B ..s...c.i..L.} + 0x51, 0xfd, 0x50, 0x3c, 0x6d, 0x24, 0xfe, 0x80, 0x33, 0x96, 0x6a, 0x4e, 0x32, 0x8d, 0x63, 0x17, // Q.P..%&#"..... + 0x05, 0x15, 0x21, 0x22, 0x06, 0x14, 0x16, 0x33, 0x21, 0x37, 0x35, 0x34, 0x3f, 0x01, 0x03, 0x32, // ..!"...3!754?..2 + 0x37, 0x25, 0x3e, 0x01, 0x35, 0x11, 0x34, 0x26, 0x23, 0x21, 0x07, 0x06, 0x15, 0x11, 0x14, 0x16, // 7%>.5.4&#!...... + 0x32, 0x36, 0x3d, 0x01, 0x33, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x05, 0x04, // 26=.3........... + 0x31, 0xb1, 0xa3, 0x3f, 0x17, 0x3e, 0x49, 0x05, 0xfe, 0xfb, 0x6a, 0x96, 0x96, 0x6a, 0x71, 0x2c, // 1..?.>I...j..jq, + 0x4a, 0x5b, 0x96, 0x6a, 0x2e, 0x2d, 0x02, 0x74, 0x01, 0x91, 0x6a, 0x96, 0x6c, 0x56, 0xfe, 0xad, // J[.j.-.t..j.lV.. + 0x5c, 0x8f, 0x9b, 0xa3, 0x1e, 0x24, 0x42, 0x2e, 0x1a, 0x14, 0x01, 0x52, 0x31, 0x3f, 0x01, 0x40, // .....$B....R1?.@ + 0x42, 0x2e, 0x1a, 0x14, 0xfe, 0xde, 0x1c, 0x12, 0x2b, 0x10, 0x10, 0x3f, 0x32, 0x14, 0x12, 0x01, // B.......+..?2... + 0x60, 0x1e, 0x24, 0xe8, 0xfd, 0x76, 0x18, 0x16, 0x35, 0x4b, 0x2d, 0x25, 0x02, 0x0e, 0xfd, 0x80, // `.$..v..5K-%.... + 0x35, 0x4b, 0x4b, 0x35, 0x02, 0x17, 0xe9, 0x2e, 0x6f, 0x6c, 0x52, 0x49, 0x01, 0x53, 0x2b, 0x36, // 5KK5....olRI.S+6 + 0x4b, 0x35, 0xfe, 0xcc, 0x88, 0x24, 0x42, 0x5c, 0x42, 0x20, 0x39, 0x34, 0x45, 0x2e, 0x26, 0xfe, // K5...$B.B 94E.&. + 0xca, 0x80, 0x8d, 0x31, 0x35, 0x05, 0x1e, 0x75, 0x45, 0x26, 0x0a, 0x96, 0xd4, 0x96, 0x11, 0x1c, // ...15..uE&...... + 0x83, 0x50, 0x6a, 0x96, 0x11, 0xef, 0x96, 0x6a, 0xfd, 0x64, 0x58, 0x8b, 0x15, 0x55, 0x17, 0x02, // .Pj....j.dX..U.. + 0xc7, 0x47, 0x4a, 0x0e, 0x37, 0x21, 0x2e, 0x42, 0x0a, 0x9a, 0x0a, 0x50, 0x32, 0xff, 0x00, 0x2e, // .GJ.7!.B...P2... + 0x42, 0x0a, 0x84, 0x0d, 0x08, 0x1a, 0x15, 0x25, 0x16, 0x32, 0x40, 0x09, 0xa0, 0x0e, 0x37, 0x03, // B......%.2@...7. + 0x11, 0xf8, 0x08, 0x4b, 0x35, 0x28, 0x42, 0x0e, 0xc8, 0x40, 0x4b, 0x6a, 0x4b, 0x6a, 0xc6, 0x3f, // ...K5(B..@KjKj.? + 0x2b, 0x66, 0xfc, 0x00, 0x13, 0x55, 0x0b, 0x45, 0x2c, 0x02, 0x9c, 0x35, 0x4b, 0x7e, 0x21, 0x31, // +f...U.E,..5K~!1 + 0xfe, 0xd8, 0x2e, 0x3e, 0x46, 0x2e, 0xd0, 0xd0, 0x46, 0x2c, 0x08, 0x51, 0x35, 0x2a, 0x48, 0x11, // ...>F...F,.Q5*H. + 0x8d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00, 0x24, // ...............$ + 0x00, 0x62, 0x00, 0x00, 0x01, 0x32, 0x16, 0x17, 0x01, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, // .b...2........#! + 0x22, 0x26, 0x3d, 0x01, 0x25, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x37, 0x21, // "&=.%!"&=.463!7! + 0x22, 0x26, 0x27, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x01, 0x11, 0x34, 0x27, 0x01, 0x26, 0x23, // "&'&=.463..4'.&# + 0x21, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x01, 0x17, 0x3e, 0x01, 0x33, 0x21, 0x15, 0x21, 0x22, 0x06, // !"......>.3!.!". + 0x15, 0x14, 0x17, 0x1e, 0x01, 0x33, 0x21, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0f, 0x01, 0x0e, 0x01, // .....3!32....... + 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x17, 0x05, 0x1e, 0x01, 0x1d, // #!".....3!2..... + 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x04, 0x7f, 0x3d, 0x6e, 0x24, 0x02, 0x3c, 0x76, 0x70, // ...3!26..=n$..32. + 0x17, 0x1b, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x1e, 0x01, 0x15, 0x14, 0x07, 0x03, 0x3e, // ...>.32........> + 0x05, 0x33, 0x32, 0x16, 0x15, 0x14, 0x06, 0x07, 0x01, 0x06, 0x23, 0x03, 0x22, 0x06, 0x07, 0x03, // .32.......#."... + 0x23, 0x03, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x13, 0x23, 0x03, 0x2e, 0x01, 0x23, // #...#".....#...# + 0x22, 0x06, 0x15, 0x14, 0x17, 0x13, 0x1e, 0x01, 0x17, 0x13, 0x1e, 0x01, 0x33, 0x21, 0x32, 0x37, // "...........3!27 + 0x01, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x05, 0x35, 0x34, 0x1a, 0x01, 0x37, 0x36, 0x35, // .654&#"..54..765 + 0x34, 0x26, 0x23, 0x22, 0x06, 0x07, 0x03, 0x23, 0x13, 0x36, 0x35, 0x34, 0x26, 0x01, 0xcb, 0x4d, // 4&#"...#.654&..M + 0x79, 0x13, 0x65, 0x0d, 0x05, 0x74, 0x07, 0x7c, 0x5d, 0x11, 0x83, 0x57, 0x53, 0x82, 0x14, 0x53, // y.e..t.|]..WS..S + 0x67, 0x14, 0x82, 0x53, 0x59, 0x85, 0x0e, 0x5c, 0x78, 0x07, 0x7b, 0x0a, 0x37, 0x16, 0x30, 0x22, // g..SY...x.{.7.0" + 0x31, 0x19, 0x69, 0x96, 0x39, 0x32, 0xfe, 0x05, 0x44, 0x55, 0x31, 0x26, 0x3d, 0x09, 0xa4, 0x7f, // 1.i.92..DU1&=... + 0x91, 0x09, 0x3d, 0x26, 0x30, 0x40, 0x03, 0x84, 0x1a, 0x63, 0x09, 0x3e, 0x26, 0x2f, 0x42, 0x03, // ..=&0@...c.>&/B. + 0x74, 0x07, 0x04, 0x08, 0x64, 0x08, 0x34, 0x21, 0x02, 0xb6, 0x2a, 0x22, 0x01, 0xfb, 0x38, 0x4b, // t...d.4!..*"..8K + 0x34, 0x2b, 0x22, 0xfe, 0xcd, 0x40, 0x48, 0x03, 0x04, 0x40, 0x2f, 0x27, 0x3d, 0x09, 0x74, 0x1a, // 4+"..@H..@/'=.t. + 0x96, 0x03, 0x3f, 0xff, 0x00, 0x5f, 0x4b, 0x01, 0x91, 0x39, 0x33, 0x2d, 0x16, 0x01, 0xdd, 0x1b, // ..?.._K..93-.... + 0x1e, 0x5d, 0x88, 0x0a, 0x55, 0x6c, 0x67, 0x51, 0xfe, 0xa4, 0x01, 0xac, 0x51, 0x67, 0x73, 0x57, // .]..UlgQ....QgsW + 0x0a, 0x8a, 0x5d, 0x18, 0x23, 0xfe, 0x00, 0x07, 0x2b, 0x10, 0x1e, 0x0b, 0x0b, 0x94, 0x69, 0x3e, // ..].#...+.....i> + 0x70, 0x26, 0xfe, 0x84, 0x33, 0x06, 0x80, 0x30, 0x26, 0xfd, 0x56, 0x02, 0x5a, 0x26, 0x30, 0x42, // p&..3..0&.V.Z&0B + 0x2f, 0x0f, 0x0d, 0xfd, 0xdd, 0x01, 0x98, 0x25, 0x33, 0x42, 0x2e, 0x0e, 0x0c, 0xfe, 0x22, 0x1c, // /......%3B....". + 0x74, 0x1e, 0xfe, 0x6f, 0x20, 0x29, 0x1a, 0x01, 0x7b, 0x2b, 0x43, 0x34, 0x49, 0x1a, 0xe6, 0xe3, // t..o )..{+C4I... + 0x04, 0x01, 0x0c, 0x01, 0x28, 0x0d, 0x12, 0x0b, 0x2f, 0x44, 0x30, 0x26, 0xfe, 0x1e, 0x02, 0x70, // ....(.../D0&...p + 0x0e, 0x0e, 0x30, 0x44, 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x33, // ..0D...........3 + 0x00, 0x5b, 0x00, 0x5f, 0x00, 0x63, 0x00, 0x67, 0x00, 0x00, 0x01, 0x22, 0x06, 0x15, 0x19, 0x01, // .[._.c.g...".... + 0x27, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x17, 0x01, 0x16, 0x33, 0x21, 0x32, 0x36, 0x37, 0x13, // '&#"......3!267. + 0x36, 0x3d, 0x01, 0x34, 0x26, 0x22, 0x06, 0x15, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x1d, // 6=.4&"..#54&#".. + 0x01, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x1d, 0x01, 0x23, 0x11, 0x34, 0x26, 0x27, 0x32, // .#54&#"...#.4&'2 + 0x16, 0x1d, 0x01, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x1d, // ...632.632.632.. + 0x01, 0x14, 0x07, 0x03, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x27, 0x01, 0x26, 0x35, 0x34, 0x36, // ......#!"&'.&546 + 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x13, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, // 32..46..#.!.#.!. + 0x23, 0x11, 0x02, 0x80, 0x35, 0x4b, 0x97, 0x29, 0x42, 0x34, 0x4a, 0x1a, 0x01, 0x80, 0x26, 0x40, // #...5K.)B4J...&@ + 0x02, 0xce, 0x16, 0x23, 0x05, 0x5c, 0x18, 0x38, 0x50, 0x38, 0x20, 0x40, 0x30, 0x2e, 0x42, 0x20, // ...#...8P8 @0.B + 0x4a, 0x36, 0x35, 0x4b, 0x20, 0x4a, 0x36, 0x6b, 0x95, 0x16, 0x0a, 0x63, 0x4a, 0x2f, 0x34, 0x71, // J65K J6k...cJ/4q + 0x47, 0x1b, 0x1d, 0x5e, 0x82, 0x1c, 0x5c, 0x10, 0x68, 0x42, 0xfd, 0x32, 0x3c, 0x6d, 0x24, 0xfe, // G..^....hB.2...1!~K5.y.?..^ + 0x5c, 0xfe, 0xad, 0x56, 0x6c, 0x96, 0x6a, 0x01, 0x91, 0x02, 0x74, 0x2d, 0x2e, 0x6a, 0x96, 0x5b, // ...Vl.j...t-.j.[ + 0x4a, 0x2c, 0x71, 0x6a, 0x96, 0x96, 0x6a, 0xfe, 0xfb, 0x05, 0x49, 0x37, 0x24, 0x1e, 0xa3, 0x9b, // J,qj..j...I7$... + 0x3f, 0x31, 0x01, 0x52, 0x14, 0x1a, 0x2e, 0x42, 0x87, 0x10, 0x10, 0x2b, 0x12, 0x1c, 0xfe, 0xde, // ?1.R...B...+.... + 0x14, 0x1a, 0x2e, 0x42, 0x24, 0x1e, 0x01, 0x60, 0x12, 0x14, 0x32, 0x3f, 0x01, 0x67, 0x16, 0x18, // ...B$..`..2?.g.. + 0xfd, 0x76, 0x45, 0x6f, 0x2e, 0xe9, 0x02, 0x17, 0x35, 0x4b, 0x4b, 0x35, 0xfd, 0x80, 0x02, 0x0e, // .vEo....5KK5.... + 0x25, 0x2d, 0x4b, 0xfa, 0xeb, 0x36, 0x2b, 0x01, 0x53, 0x49, 0x52, 0x5b, 0xfe, 0xca, 0x26, 0x2e, // %-K..6+.SIR[..&. + 0x45, 0x34, 0x39, 0x20, 0x42, 0x5c, 0x42, 0x24, 0x88, 0xfe, 0xcc, 0x35, 0x4b, 0x00, 0x00, 0x00, // E49 B.B$...5K... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0xb4, 0x04, 0x00, 0x00, 0x19, 0x00, 0x47, 0x00, 0x00, // .............G.. + 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x21, // ....#!...+."&5.! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x13, 0x16, 0x07, 0x06, 0x2b, // "&=.463!2......+ + 0x01, 0x22, 0x26, 0x27, 0x0b, 0x01, 0x06, 0x2b, 0x01, 0x22, 0x27, 0x0b, 0x01, 0x0e, 0x01, 0x2b, // ."&'...+."'....+ + 0x01, 0x22, 0x27, 0x26, 0x35, 0x13, 0x3e, 0x01, 0x3b, 0x01, 0x32, 0x17, 0x13, 0x16, 0x17, 0x3e, // ."'&5.>.;.2....> + 0x01, 0x37, 0x13, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x03, 0x59, 0x13, 0x0d, 0xfe, 0xd6, 0x12, 0x0d, // .7.6;.2..Y...... + 0x87, 0x0d, 0x13, 0xfe, 0xd7, 0x0d, 0x13, 0x12, 0x0e, 0x03, 0x19, 0x0d, 0x13, 0x04, 0x0e, 0x4d, // ...............M + 0x01, 0x09, 0x0a, 0x0d, 0x86, 0x0c, 0x12, 0x01, 0x2e, 0xbd, 0x08, 0x15, 0x78, 0x14, 0x09, 0xbc, // ............x... + 0x2d, 0x01, 0x12, 0x0c, 0x87, 0x0d, 0x0a, 0x09, 0x4e, 0x01, 0x12, 0x0c, 0x8e, 0x14, 0x09, 0xdc, // -.......N....... + 0x0a, 0x0a, 0x03, 0x0d, 0x04, 0xdd, 0x09, 0x14, 0x8d, 0x0d, 0x12, 0x03, 0xe0, 0x75, 0x0d, 0x12, // .............u.. + 0xfc, 0xd4, 0x0d, 0x13, 0x12, 0x0e, 0x03, 0x2c, 0x12, 0x0d, 0x75, 0x0e, 0x12, 0x13, 0x0a, 0xfc, // .......,..u..... + 0x3f, 0x0d, 0x0b, 0x0a, 0x11, 0x0c, 0x02, 0x4c, 0xfe, 0x57, 0x13, 0x13, 0x01, 0xab, 0xfd, 0xb2, // ?......L.W...... + 0x0c, 0x11, 0x0a, 0x0a, 0x0e, 0x03, 0xc1, 0x0c, 0x11, 0x13, 0xfd, 0xf8, 0x18, 0x1b, 0x07, 0x23, // ...............# + 0x09, 0x02, 0x08, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // ................ + 0x06, 0x00, 0x00, 0x09, 0x00, 0x2a, 0x00, 0x3a, 0x00, 0x4a, 0x00, 0x00, 0x01, 0x34, 0x27, 0x26, // .....*.:.J...4'& + 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x17, 0x13, 0x16, 0x07, 0x06, 0x2b, 0x01, 0x22, 0x27, 0x03, // +..326.....+."'. + 0x23, 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x17, // #...+."&5.463!2. + 0x1e, 0x01, 0x15, 0x14, 0x06, 0x07, 0x16, 0x02, 0x20, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, 0x04, // ........ ....... + 0x20, 0x24, 0x36, 0x12, 0x10, 0x02, 0x26, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, // $6...&..... $&. + 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x04, 0x12, 0x3c, 0x21, 0x54, 0x7b, 0xa2, 0x42, 0x48, // ..6$ ....UbUI.-.... + 0xc5, 0x75, 0x75, 0xc5, 0x01, 0x10, 0x01, 0x2c, 0x01, 0x10, 0xc5, 0x75, 0x75, 0xc5, 0x01, 0xda, // .uu....,...uu... + 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, // .............L.l + 0x01, 0x4c, 0xf0, 0x03, 0x41, 0x58, 0x21, 0x12, 0xfe, 0xe7, 0x4a, 0xd9, 0xfe, 0x8b, 0x11, 0x0e, // .L..AX!...J..... + 0x10, 0x11, 0x01, 0x6d, 0xfe, 0xa2, 0x0e, 0x12, 0x12, 0x0e, 0x03, 0xc0, 0x0e, 0x12, 0x18, 0x1f, // ...m............ + 0x9c, 0x66, 0x5c, 0x93, 0x24, 0x0a, 0x03, 0x36, 0x75, 0xc5, 0xfe, 0xf0, 0xfe, 0xd4, 0xfe, 0xf0, // .f..$..6u....... + 0xc5, 0x75, 0x75, 0xc5, 0x01, 0x10, 0x01, 0x2c, 0x01, 0x10, 0xc5, 0xfe, 0x4b, 0xfe, 0x94, 0xfe, // .uu....,....K... + 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, // ......L.l.L..... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x2d, 0x00, 0x5b, 0x00, 0x6b, // ...........-.[.k + 0x00, 0x7b, 0x00, 0x00, 0x01, 0x32, 0x37, 0x36, 0x2f, 0x01, 0x26, 0x27, 0x26, 0x0f, 0x01, 0x0e, // .{...276/.&'&... + 0x05, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1f, 0x01, 0x16, 0x37, 0x36, 0x3f, // .#"&54632....76? + 0x01, 0x36, 0x27, 0x2e, 0x04, 0x23, 0x22, 0x06, 0x15, 0x14, 0x16, 0x21, 0x32, 0x37, 0x36, 0x2f, // .6'..#"....!276/ + 0x01, 0x26, 0x27, 0x26, 0x0f, 0x01, 0x0e, 0x05, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, // .&'&....#"&54632 + 0x16, 0x1f, 0x01, 0x16, 0x37, 0x36, 0x3f, 0x01, 0x36, 0x27, 0x2e, 0x04, 0x23, 0x22, 0x06, 0x15, // ....76?.6'..#".. + 0x14, 0x16, 0x02, 0x20, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, 0x04, 0x20, 0x24, 0x36, 0x12, 0x10, // ... ....... $6.. + 0x02, 0x26, 0x00, 0x20, 0x04, 0x16, 0x12, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, // .&. ....... $&.. + 0x12, 0x36, 0x02, 0x5d, 0x99, 0x68, 0x0e, 0x0b, 0x2d, 0x06, 0x12, 0x10, 0x0b, 0x04, 0x04, 0x0f, // .6.].h..-....... + 0x14, 0x1b, 0x1e, 0x25, 0x13, 0x4c, 0x62, 0x60, 0x4a, 0x25, 0x45, 0x10, 0x10, 0x0b, 0x0f, 0x10, // ...%.Lb`J%E..... + 0x08, 0x35, 0x0d, 0x0f, 0x03, 0x10, 0x2c, 0x35, 0x52, 0x2d, 0x94, 0xc4, 0xc2, 0x03, 0x0c, 0x99, // .5....,5R-...... + 0x68, 0x0e, 0x0a, 0x2d, 0x08, 0x11, 0x10, 0x0b, 0x04, 0x04, 0x0f, 0x14, 0x1b, 0x1e, 0x25, 0x13, // h..-..........%. + 0x4c, 0x62, 0x60, 0x4a, 0x25, 0x45, 0x10, 0x10, 0x0b, 0x0f, 0x10, 0x08, 0x35, 0x0d, 0x0f, 0x03, // Lb`J%E......5... + 0x10, 0x2c, 0x35, 0x52, 0x2d, 0x93, 0xc5, 0xc2, 0x27, 0xfe, 0xd4, 0xfe, 0xf0, 0xc5, 0x75, 0x75, // .,5R-...'.....uu + 0xc5, 0x01, 0x10, 0x01, 0x2c, 0x01, 0x10, 0xc5, 0x75, 0x75, 0xc5, 0xfd, 0xa4, 0x01, 0x6c, 0x01, // ....,...uu....l. + 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, // L............... + 0x2f, 0x68, 0x12, 0x12, 0x52, 0x0d, 0x04, 0x02, 0x0d, 0x03, 0x04, 0x0c, 0x0f, 0x0e, 0x0c, 0x07, // /h..R........... + 0x64, 0x4d, 0x4c, 0x63, 0x1c, 0x0e, 0x0e, 0x0b, 0x01, 0x02, 0x0c, 0x4e, 0x14, 0x13, 0x04, 0x10, // dMLc.......N.... + 0x1f, 0x19, 0x14, 0xc1, 0x90, 0x92, 0xbf, 0x68, 0x12, 0x12, 0x52, 0x0e, 0x03, 0x02, 0x0d, 0x03, // .......h..R..... + 0x04, 0x0c, 0x0f, 0x0e, 0x0c, 0x07, 0x64, 0x4d, 0x4c, 0x63, 0x1c, 0x0e, 0x0e, 0x0b, 0x01, 0x02, // ......dMLc...... + 0x0c, 0x4e, 0x14, 0x13, 0x04, 0x10, 0x1f, 0x19, 0x14, 0xc1, 0x90, 0x92, 0xbf, 0x04, 0x31, 0x75, // .N............1u + 0xc5, 0xfe, 0xf0, 0xfe, 0xd4, 0xfe, 0xf0, 0xc5, 0x75, 0x75, 0xc5, 0x01, 0x10, 0x01, 0x2c, 0x01, // ........uu....,. + 0x10, 0xc5, 0x01, 0x15, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, // ................ + 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x00, 0x00, 0x02, 0x00, 0x40, 0xff, 0xe0, 0x07, 0xc0, // .L.l.L.....@.... + 0x05, 0x20, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x09, 0x04, 0x17, 0x07, 0x27, 0x09, 0x01, 0x37, // . ..........'..7 + 0x09, 0x03, 0x27, 0x37, 0x17, 0x09, 0x01, 0x07, 0x01, 0x07, 0x01, 0x02, 0xe0, 0x01, 0x80, 0xfe, // ..'7............ + 0x80, 0xfd, 0x60, 0x02, 0xa0, 0xa8, 0x60, 0x48, 0xfe, 0x20, 0x01, 0xe0, 0xc1, 0xfe, 0xdf, 0x02, // ..`...`H. ...... + 0xa0, 0x02, 0xa0, 0xfd, 0x60, 0xa8, 0x60, 0x48, 0x01, 0xe0, 0xfe, 0x20, 0xc1, 0x01, 0x21, 0x60, // ....`.`H... ..!` + 0xfe, 0x80, 0x02, 0xe0, 0xfe, 0x80, 0xfe, 0x80, 0x02, 0xa0, 0x02, 0xa0, 0xa8, 0x60, 0x48, 0xfe, // .............`H. + 0x20, 0xfe, 0x20, 0xc1, 0x01, 0x1f, 0x02, 0xa0, 0xfd, 0x60, 0xfd, 0x60, 0xa8, 0x60, 0x48, 0x01, // . ......`.`.`H. + 0xe0, 0x01, 0xe0, 0xc1, 0xfe, 0xe1, 0x60, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ......`......... + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x27, 0x00, 0x00, 0x25, 0x09, // ...........'..%. + 0x01, 0x07, 0x17, 0x07, 0x09, 0x01, 0x17, 0x37, 0x27, 0x09, 0x05, 0x37, 0x27, 0x37, 0x09, 0x01, // .......7'..7'7.. + 0x27, 0x07, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, // '...... $&...6$ + 0x04, 0x16, 0x02, 0xcd, 0x01, 0x0f, 0xfe, 0xe9, 0x58, 0xc0, 0x60, 0xfe, 0xe9, 0x01, 0x17, 0x28, // ........X.`....( + 0x57, 0x7f, 0xfe, 0x3a, 0x03, 0x2c, 0x01, 0xc6, 0xfe, 0x3a, 0xfe, 0xf1, 0x01, 0x17, 0x58, 0xc0, // W..:.,...:....X. + 0x60, 0x01, 0x17, 0xfe, 0xe9, 0x28, 0x57, 0x03, 0x4c, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, // `....(W.L....... + 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0xb6, 0x01, 0x0f, 0x01, // ......L.l.L..... + 0x17, 0x58, 0xbf, 0x60, 0x01, 0x17, 0x01, 0x17, 0x28, 0x57, 0x80, 0xfe, 0x3a, 0xfe, 0x42, 0x01, // .X.`....(W..:.B. + 0xc6, 0x01, 0xc6, 0xfe, 0xf1, 0xfe, 0xe9, 0x58, 0xbf, 0x60, 0xfe, 0xe9, 0xfe, 0xe9, 0x28, 0x58, // .......X.`....(X + 0x01, 0xf9, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, // ...........L.l.L + 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x0a, 0x00, 0x00, 0xff, 0xdc, 0x09, 0x00, 0x05, 0x24, 0x00, 0x0b, // .............$.. + 0x00, 0x13, 0x00, 0x1c, 0x00, 0x25, 0x00, 0x2f, 0x00, 0x39, 0x00, 0x45, 0x00, 0x53, 0x00, 0x5b, // .....%./.9.E.S.[ + 0x00, 0x80, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, // .......#"&54632. + 0x24, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x05, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, // $.."&462.4&"...2 + 0x36, 0x24, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x32, 0x25, 0x14, 0x06, 0x23, 0x22, 0x26, // 6$4&#"...2%..#"& + 0x34, 0x36, 0x32, 0x16, 0x24, 0x14, 0x06, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x00, 0x10, // 462.$..#"&4632.. + 0x00, 0x23, 0x22, 0x0e, 0x01, 0x14, 0x1e, 0x01, 0x33, 0x32, 0x01, 0x26, 0x21, 0x20, 0x07, 0x32, // .#".....32.&! .2 + 0x1e, 0x02, 0x15, 0x34, 0x3e, 0x02, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x13, 0x21, // ...4>.... ... .! + 0x0e, 0x01, 0x07, 0x16, 0x15, 0x14, 0x02, 0x04, 0x23, 0x22, 0x26, 0x27, 0x06, 0x07, 0x2e, 0x01, // ........#"&'.... + 0x27, 0x0e, 0x01, 0x23, 0x22, 0x24, 0x02, 0x35, 0x34, 0x37, 0x2e, 0x01, 0x27, 0x21, 0x36, 0x24, // '..#"$.547..'!6$ + 0x33, 0x32, 0x04, 0x02, 0x8b, 0x37, 0x26, 0x27, 0x37, 0x37, 0x27, 0x26, 0x37, 0x04, 0x82, 0x37, // 32...7&'77'&7..7 + 0x4e, 0x37, 0x37, 0x4e, 0xfc, 0x27, 0x71, 0xa0, 0x71, 0x71, 0xa0, 0x71, 0x04, 0x81, 0x71, 0x50, // N77N.'q.qq.q..qP + 0x4f, 0x72, 0x71, 0xa0, 0xfc, 0x45, 0xa3, 0x73, 0x74, 0xa3, 0xa4, 0xe6, 0xa3, 0x04, 0x82, 0xa3, // Orq..E.st....... + 0x74, 0x73, 0xa3, 0xa3, 0x73, 0x74, 0xfc, 0xdf, 0xfe, 0xf1, 0xbf, 0x7d, 0xd4, 0x7c, 0x7c, 0xd4, // ts..st.....}.||. + 0x7d, 0xbf, 0x03, 0xab, 0xfe, 0xfe, 0xd2, 0xfe, 0xc1, 0xfe, 0x75, 0xd4, 0x99, 0x5b, 0x57, 0x95, // }.........u..[W. + 0xce, 0x02, 0x51, 0xfe, 0xf2, 0xfe, 0x82, 0xfe, 0xf1, 0x01, 0x0f, 0x01, 0x7e, 0x04, 0x01, 0x7f, // ..Q.........~... + 0x2c, 0x3e, 0x09, 0x6e, 0x9a, 0xfe, 0xf8, 0x9b, 0x85, 0xe8, 0x50, 0x2f, 0x52, 0x0b, 0x55, 0x20, // ,>.n......P/R.U + 0x50, 0xe9, 0x85, 0x9b, 0xfe, 0xf8, 0x9a, 0x6e, 0x09, 0x3e, 0x2c, 0x01, 0x6d, 0x95, 0x01, 0x9c, // P......n.>,.m... + 0xe2, 0xe0, 0x01, 0x8a, 0x02, 0x1b, 0x27, 0x37, 0x37, 0x27, 0x26, 0x37, 0x37, 0x02, 0x4e, 0x37, // ......'77'&77.N7 + 0x37, 0x4e, 0x36, 0x5e, 0x4f, 0x72, 0x71, 0xa0, 0x71, 0x71, 0x01, 0xa0, 0x71, 0x71, 0xa0, 0x71, // 7N6^Orq.qq..qq.q + 0xc0, 0x74, 0xa3, 0xa4, 0xe6, 0xa3, 0xa3, 0x01, 0xe6, 0xa3, 0xa3, 0xe6, 0xa3, 0xfe, 0x28, 0x01, // .t............(. + 0x7e, 0x01, 0x0f, 0x7c, 0xd5, 0xfa, 0xd5, 0x7c, 0x04, 0x0b, 0x6f, 0x6e, 0x5b, 0x9a, 0xd4, 0x75, // ~..|...|..on[..u + 0x73, 0xd1, 0x98, 0x5e, 0xfd, 0x07, 0x01, 0x7e, 0x01, 0x0f, 0xfe, 0xf1, 0xfe, 0x82, 0xfe, 0xf1, // s..^...~........ + 0x04, 0x04, 0x33, 0x7f, 0x33, 0x97, 0xba, 0x9c, 0xfe, 0xf8, 0x99, 0x70, 0x63, 0x38, 0x7b, 0x16, // ..3.3......pc8{. + 0x79, 0x25, 0x63, 0x71, 0x99, 0x01, 0x08, 0x9c, 0xba, 0x97, 0x33, 0x7f, 0x33, 0x64, 0x71, 0x70, // y%cq......3.3dqp + 0x00, 0x03, 0x00, 0x66, 0xff, 0x00, 0x04, 0x9a, 0x06, 0x00, 0x00, 0x09, 0x00, 0x13, 0x00, 0x4c, // ...f...........L + 0x00, 0x00, 0x00, 0x20, 0x00, 0x35, 0x34, 0x00, 0x20, 0x00, 0x15, 0x14, 0x00, 0x22, 0x06, 0x15, // ... .54. ....".. + 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x01, 0x1e, 0x01, 0x0e, 0x02, 0x07, 0x06, 0x07, 0x17, 0x01, // ..2654.......... + 0x16, 0x14, 0x0f, 0x01, 0x06, 0x22, 0x27, 0x26, 0x27, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, // ....."'&'.."/.&4 + 0x37, 0x01, 0x37, 0x26, 0x27, 0x2e, 0x03, 0x36, 0x37, 0x3e, 0x02, 0x16, 0x17, 0x1e, 0x04, 0x33, // 7.7&'..67>.....3 + 0x32, 0x36, 0x3f, 0x01, 0x3e, 0x01, 0x1e, 0x01, 0x03, 0x3c, 0xfe, 0x88, 0xfe, 0xf6, 0x01, 0x0a, // 26?.>....<...... + 0x01, 0x78, 0x01, 0x0a, 0xfe, 0x96, 0xb8, 0x83, 0x83, 0xb8, 0x83, 0x01, 0x2c, 0x0d, 0x04, 0x0d, // .x..........,... + 0x28, 0x2d, 0x27, 0x73, 0xc8, 0x49, 0x01, 0x0b, 0x1e, 0x1e, 0x0c, 0x1f, 0x56, 0x1f, 0x43, 0xc8, // (-'s.I......V.C. + 0xfe, 0xf5, 0x1f, 0x56, 0x1e, 0x0c, 0x1f, 0x1f, 0x01, 0x0b, 0x48, 0xcb, 0x72, 0x27, 0x2d, 0x28, // ...V......H.r'-( + 0x0d, 0x04, 0x0d, 0x0a, 0x24, 0x30, 0x40, 0x21, 0x05, 0x14, 0x42, 0x48, 0x70, 0x39, 0x5b, 0xa6, // ....$0@!..BHp9[. + 0x25, 0x26, 0x21, 0x40, 0x30, 0x24, 0x02, 0x75, 0x01, 0x0a, 0xbb, 0xbc, 0x01, 0x0a, 0xfe, 0xf6, // %&!@0$.u........ + 0xbc, 0xbb, 0x01, 0x9b, 0x83, 0x5d, 0x5c, 0x83, 0x83, 0x5c, 0x5d, 0xfd, 0xa7, 0x1b, 0x2d, 0x24, // .....]....]...-$ + 0x29, 0x21, 0x19, 0x49, 0x15, 0x48, 0xfe, 0xf5, 0x1f, 0x56, 0x1e, 0x0d, 0x1e, 0x1e, 0x44, 0xc8, // )!.I.H...V....D. + 0xfe, 0xf4, 0x1e, 0x1e, 0x0d, 0x1e, 0x56, 0x1f, 0x01, 0x0b, 0x48, 0x15, 0x49, 0x19, 0x21, 0x29, // ......V...H.I.!) + 0x24, 0x2d, 0x1b, 0x14, 0x1e, 0x0e, 0x12, 0x1a, 0x04, 0x0e, 0x23, 0x1a, 0x16, 0x33, 0x19, 0x19, // $-........#..3.. + 0x1a, 0x12, 0x0e, 0x1e, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, // ................ + 0x00, 0x36, 0x00, 0x3e, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, // .6.>.N....."&462 + 0x01, 0x2e, 0x01, 0x06, 0x07, 0x0e, 0x02, 0x22, 0x26, 0x2f, 0x01, 0x2e, 0x01, 0x06, 0x07, 0x06, // ......."&/...... + 0x16, 0x17, 0x16, 0x17, 0x07, 0x06, 0x07, 0x06, 0x14, 0x1f, 0x01, 0x16, 0x32, 0x3f, 0x01, 0x16, // ............2?.. + 0x17, 0x16, 0x32, 0x3f, 0x01, 0x36, 0x34, 0x2f, 0x02, 0x36, 0x37, 0x3e, 0x01, 0x02, 0x10, 0x26, // ..2?.64/.67>...& + 0x20, 0x06, 0x10, 0x16, 0x20, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, // ... ....#!"&5.4 + 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x9f, 0x5d, 0x84, 0x5d, 0x5d, 0x84, 0x01, 0x33, 0x0a, 0x24, // 63!2...].]]..3.$ + 0x3b, 0x1f, 0x0a, 0x26, 0x7c, 0x82, 0x76, 0x1b, 0x1b, 0x1f, 0x3b, 0x24, 0x0a, 0x16, 0x28, 0x43, // ;..&|.v...;$..(C + 0x53, 0x8f, 0x33, 0x8e, 0x31, 0x16, 0x16, 0x09, 0x16, 0x3d, 0x16, 0xbf, 0x72, 0x4d, 0x16, 0x3d, // S.3.1....=..rM.= + 0x16, 0x09, 0x16, 0x16, 0xbf, 0x34, 0x8d, 0x54, 0x43, 0x28, 0x47, 0xbe, 0xfe, 0xf4, 0xbe, 0xbe, // .....4.TC(G..... + 0x01, 0x0c, 0x02, 0x7a, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // ...z.w.@w..w..w. + 0x03, 0xfe, 0x84, 0x5d, 0x5d, 0x84, 0x5d, 0xfd, 0xf6, 0x14, 0x18, 0x05, 0x19, 0x08, 0x18, 0x28, // ...]].]........( + 0x24, 0x12, 0x12, 0x19, 0x05, 0x18, 0x14, 0x2d, 0x3b, 0x2c, 0x35, 0x0e, 0x34, 0x8e, 0x30, 0x16, // $......-;,5.4.0. + 0x3d, 0x16, 0x09, 0x16, 0x16, 0xbf, 0x73, 0x4c, 0x16, 0x16, 0x09, 0x16, 0x3d, 0x16, 0xbe, 0x34, // =.....sL....=..4 + 0x0e, 0x35, 0x2c, 0x3b, 0x01, 0x12, 0x01, 0x0c, 0xbe, 0xbe, 0xfe, 0xf4, 0xbe, 0x01, 0xe8, 0xfc, // .5,;............ + 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0xa9, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // @w..w..w........ + 0xff, 0x80, 0x06, 0xb8, 0x05, 0x80, 0x00, 0x12, 0x00, 0x28, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, // .........(...2.. + 0x11, 0x14, 0x02, 0x06, 0x04, 0x23, 0x22, 0x24, 0x26, 0x02, 0x35, 0x11, 0x34, 0x36, 0x33, 0x01, // .....#"$&.5.463. + 0x32, 0x37, 0x01, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x09, 0x01, 0x26, 0x23, 0x22, 0x06, // 27.654&#"...&#". + 0x15, 0x14, 0x17, 0x01, 0x16, 0x06, 0x1d, 0x41, 0x5a, 0x88, 0xe5, 0xfe, 0xc1, 0xaf, 0xb0, 0xfe, // .......AZ....... + 0xc1, 0xe6, 0x88, 0x5c, 0x40, 0x02, 0xc1, 0x2f, 0x23, 0x01, 0x94, 0x25, 0x45, 0x31, 0x2f, 0x23, // ....@../#..%E1/# + 0xfe, 0xbd, 0xfe, 0xbd, 0x23, 0x2e, 0x31, 0x45, 0x24, 0x01, 0x95, 0x21, 0x05, 0x80, 0x5b, 0x41, // ....#.1E$..!..[A + 0xfd, 0xf9, 0xb0, 0xfe, 0xc0, 0xe6, 0x87, 0x87, 0xe6, 0x01, 0x40, 0xb0, 0x02, 0x07, 0x40, 0x5c, // ..........@...@. + 0xfb, 0xd8, 0x21, 0x01, 0x84, 0x23, 0x32, 0x31, 0x45, 0x21, 0xfe, 0xca, 0x01, 0x36, 0x21, 0x45, // ..!..#21E!...6!E + 0x31, 0x33, 0x22, 0xfe, 0x7c, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x98, 0x09, 0x00, // 13".|!.......... + 0x05, 0x67, 0x00, 0x4c, 0x00, 0x00, 0x05, 0x01, 0x06, 0x00, 0x07, 0x06, 0x26, 0x35, 0x26, 0x00, // .g.L........&5&. + 0x27, 0x2e, 0x02, 0x23, 0x34, 0x26, 0x35, 0x21, 0x15, 0x0e, 0x02, 0x17, 0x16, 0x00, 0x17, 0x36, // '..#4&5!.......6 + 0x12, 0x37, 0x26, 0x02, 0x27, 0x26, 0x27, 0x35, 0x05, 0x15, 0x0e, 0x01, 0x17, 0x1e, 0x01, 0x17, // .7&.'&'5........ + 0x36, 0x37, 0x36, 0x26, 0x27, 0x36, 0x34, 0x35, 0x32, 0x3e, 0x01, 0x33, 0x15, 0x0e, 0x01, 0x07, // 676&'6452>.3.... + 0x03, 0x16, 0x12, 0x17, 0x01, 0x2e, 0x02, 0x27, 0x35, 0x05, 0x17, 0x07, 0x06, 0x07, 0x00, 0x07, // .......'5....... + 0x05, 0xd6, 0xfe, 0xd9, 0x19, 0xfe, 0xf5, 0x41, 0x01, 0x35, 0x52, 0xfe, 0xa5, 0x56, 0x15, 0x5b, // .......A.5R..V.[ + 0x74, 0x2c, 0x01, 0x02, 0x47, 0x27, 0x51, 0x34, 0x10, 0x1a, 0x01, 0x7d, 0x2d, 0x1f, 0xda, 0x16, // t,..G'Q4...}-... + 0x13, 0xd6, 0x1d, 0x26, 0xa3, 0x02, 0x01, 0x3c, 0x43, 0x15, 0x21, 0x6c, 0x20, 0x6e, 0x3f, 0x18, // ...&...r!...... + 0x0e, 0x47, 0x3b, 0x1a, 0x01, 0xcc, 0x01, 0x01, 0x8b, 0x3e, 0xfd, 0xf2, 0x21, 0x67, 0x02, 0xb7, // .G;......>..!g.. + 0x31, 0xfd, 0xff, 0x85, 0x01, 0x01, 0x01, 0xc1, 0x03, 0x14, 0xca, 0x32, 0x73, 0x56, 0x05, 0x26, // 1..........2sV.& + 0x08, 0x32, 0x02, 0x1c, 0x3a, 0x23, 0x3b, 0xfc, 0x90, 0x64, 0x3d, 0x01, 0x9b, 0x2a, 0x27, 0x01, // .2..:#;..d=..*'. + 0xe4, 0x35, 0x45, 0x02, 0x32, 0x01, 0x2f, 0x02, 0x2e, 0x2e, 0x46, 0xef, 0x44, 0xd6, 0x95, 0x37, // .5E.2./...F.D..7 + 0x31, 0x02, 0x07, 0x24, 0x06, 0x01, 0x01, 0x31, 0x02, 0x3e, 0x32, 0xfe, 0x46, 0x21, 0xfd, 0xfe, // 1..$...1.>2.F!.. + 0x11, 0x03, 0xf9, 0x26, 0x31, 0x0e, 0x01, 0x32, 0x04, 0x02, 0x2c, 0x04, 0x8d, 0xfb, 0x40, 0x4b, // ...&1..2..,...@K + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x18, 0x00, 0x72, // ...............r + 0x00, 0x82, 0x00, 0x92, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, // .........#"&5462 + 0x16, 0x17, 0x01, 0x0e, 0x04, 0x07, 0x01, 0x3e, 0x04, 0x25, 0x14, 0x07, 0x2e, 0x02, 0x23, 0x22, // .......>.%....#" + 0x15, 0x14, 0x17, 0x0e, 0x01, 0x07, 0x27, 0x26, 0x23, 0x22, 0x06, 0x1f, 0x01, 0x06, 0x23, 0x22, // ......'&#"....#" + 0x27, 0x3e, 0x02, 0x35, 0x34, 0x23, 0x22, 0x0e, 0x01, 0x07, 0x2e, 0x01, 0x27, 0x37, 0x36, 0x35, // '>.54#".....'765 + 0x34, 0x26, 0x0f, 0x01, 0x26, 0x35, 0x34, 0x37, 0x1e, 0x02, 0x33, 0x32, 0x35, 0x34, 0x26, 0x2f, // 4&..&547..3254&/ + 0x01, 0x3e, 0x01, 0x37, 0x17, 0x16, 0x33, 0x32, 0x36, 0x2f, 0x01, 0x36, 0x33, 0x32, 0x17, 0x06, // .>.7..326/.632.. + 0x15, 0x14, 0x33, 0x32, 0x37, 0x1e, 0x01, 0x17, 0x07, 0x06, 0x15, 0x14, 0x16, 0x3f, 0x01, 0x1e, // ..327........?.. + 0x01, 0x10, 0x02, 0x26, 0x24, 0x20, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, 0x04, 0x20, 0x24, 0x36, // ...&$ ....... $6 + 0x12, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, // ..... $&...6$ .. + 0x03, 0xb5, 0x21, 0x19, 0x1a, 0x26, 0x22, 0x32, 0x26, 0x0f, 0x01, 0x5e, 0x09, 0x75, 0x86, 0x8b, // ..!..&"2&..^.u.. + 0x5f, 0x03, 0xfe, 0xa3, 0x07, 0x78, 0x84, 0x8c, 0x5e, 0x02, 0x8a, 0x68, 0x03, 0x1c, 0x19, 0x04, // _....x..^..h.... + 0x0d, 0x3b, 0x4a, 0xdd, 0x83, 0x10, 0x01, 0x0e, 0x05, 0x06, 0x01, 0x10, 0x48, 0x4a, 0xc7, 0xad, // .;J.........HJ.. + 0x01, 0x18, 0x13, 0x0d, 0x06, 0x16, 0x17, 0x02, 0x71, 0x9e, 0x1f, 0x45, 0x0a, 0x0b, 0x05, 0x44, // ........q..E...D + 0x0e, 0x6d, 0x02, 0x21, 0x1b, 0x04, 0x0d, 0x19, 0x14, 0x14, 0x4d, 0xe0, 0x84, 0x0f, 0x02, 0x0d, // .m.!......M..... + 0x05, 0x06, 0x01, 0x0f, 0x47, 0x3f, 0xcc, 0xaf, 0x27, 0x0c, 0x0b, 0x25, 0x6f, 0x99, 0x1f, 0x38, // ....G?..'..%o..8 + 0x0a, 0x0b, 0x04, 0x39, 0x0e, 0x55, 0x7f, 0xd6, 0xfe, 0xd8, 0xfe, 0xba, 0xfe, 0xd8, 0xd6, 0x7f, // ...9.U.......... + 0x7f, 0xd6, 0x01, 0x28, 0x01, 0x46, 0x01, 0x28, 0xd6, 0xdf, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, // ...(.F.(........ + 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x02, 0x83, 0x1a, // .......L.l.L.... + 0x26, 0x21, 0x19, 0x1a, 0x26, 0x21, 0x53, 0x02, 0x45, 0x08, 0x6d, 0x7c, 0x82, 0x5b, 0x06, 0xfd, // &!..&!S.E.m|.[.. + 0xbc, 0x07, 0x6e, 0x7b, 0x83, 0x5b, 0x3c, 0xc9, 0xaa, 0x02, 0x12, 0x0f, 0x0d, 0x0a, 0x22, 0x70, // ..n{.[<......."p + 0x9d, 0x20, 0x43, 0x0a, 0x0b, 0x04, 0x44, 0x0f, 0x69, 0x02, 0x25, 0x1e, 0x04, 0x0d, 0x1d, 0x28, // . C...D.i.%....( + 0x03, 0x4b, 0xe1, 0x84, 0x0f, 0x03, 0x0c, 0x05, 0x06, 0x01, 0x0f, 0x48, 0x43, 0xce, 0xad, 0x01, // .K.........HC... + 0x16, 0x10, 0x0c, 0x06, 0x13, 0x0c, 0x0c, 0x70, 0x9a, 0x1e, 0x43, 0x0a, 0x0b, 0x05, 0x42, 0x0d, // .......p..C...B. + 0x6d, 0x38, 0x09, 0x0d, 0x40, 0x4b, 0xde, 0x82, 0x0c, 0x02, 0x0e, 0x05, 0x06, 0x01, 0x0d, 0x48, // m8..@K.........H + 0xe7, 0x01, 0x46, 0x01, 0x28, 0xd6, 0x7f, 0x7f, 0xd6, 0xfe, 0xd8, 0xfe, 0xba, 0xfe, 0xd8, 0xd6, // ..F.(........... + 0x7f, 0x7f, 0xd6, 0x02, 0x81, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, // ..............L. + 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x01, 0x07, 0x00, // l.L............. + 0x06, 0x00, 0x00, 0x0b, 0x00, 0x16, 0x00, 0x22, 0x00, 0x2a, 0x00, 0x00, 0x01, 0x36, 0x17, 0x16, // .......".*...6.. + 0x17, 0x25, 0x26, 0x04, 0x07, 0x01, 0x36, 0x24, 0x09, 0x01, 0x16, 0x04, 0x37, 0x03, 0x26, 0x24, // .%&...6$....7.&$ + 0x02, 0x35, 0x10, 0x25, 0x16, 0x12, 0x02, 0x06, 0x07, 0x06, 0x25, 0x01, 0x36, 0x02, 0x27, 0x24, // .5.%......%.6.'$ + 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x03, 0x7d, 0xf0, 0xd3, 0xe8, 0x78, 0xfd, 0x1a, 0xa0, // 2..."&4.}...x... + 0xfe, 0xf4, 0x33, 0xfe, 0xec, 0x80, 0x01, 0x6e, 0xfd, 0xdd, 0x01, 0x51, 0x48, 0x01, 0x16, 0x9a, // ..3....n...QH... + 0xe6, 0xd4, 0xfe, 0xa6, 0xc7, 0x06, 0xc4, 0x3a, 0x03, 0x64, 0xce, 0x8f, 0xe6, 0xfe, 0xf4, 0x01, // .......:.d...... + 0x95, 0x58, 0x0b, 0x65, 0xfe, 0x38, 0xfa, 0xb1, 0xb1, 0xfa, 0xb1, 0x06, 0x00, 0x02, 0x7a, 0x86, // .X.e.8........z. + 0xee, 0x27, 0x09, 0xa7, 0x92, 0x01, 0xa8, 0x9f, 0xad, 0xfe, 0x6c, 0xfd, 0x69, 0x8f, 0x94, 0x1d, // .'........l.i... + 0xfe, 0x3d, 0x21, 0xf9, 0x01, 0x7f, 0xdc, 0x01, 0x0b, 0x37, 0x96, 0xfe, 0xbf, 0xfe, 0xdd, 0xfd, // .=!......7...... + 0x53, 0x85, 0x0e, 0x02, 0x6f, 0x83, 0x01, 0x3f, 0x76, 0x06, 0xb1, 0xfa, 0xb1, 0xb1, 0xfa, 0x00, // S...o..?v....... + 0x00, 0x01, 0x00, 0x02, 0xff, 0x00, 0x07, 0x00, 0x05, 0xc9, 0x00, 0x4d, 0x00, 0x00, 0x01, 0x20, // ...........M... + 0x00, 0x27, 0x26, 0x02, 0x1a, 0x01, 0x37, 0x03, 0x3e, 0x01, 0x17, 0x3e, 0x01, 0x37, 0x0e, 0x01, // .'&...7.>..>.7.. + 0x17, 0x1e, 0x03, 0x17, 0x16, 0x06, 0x07, 0x0e, 0x02, 0x07, 0x17, 0x27, 0x06, 0x1e, 0x02, 0x37, // ...........'...7 + 0x3e, 0x02, 0x17, 0x1e, 0x01, 0x07, 0x0e, 0x04, 0x27, 0x0e, 0x01, 0x27, 0x1e, 0x01, 0x3e, 0x02, // >.......'..'..>. + 0x37, 0x36, 0x2e, 0x01, 0x27, 0x1e, 0x01, 0x17, 0x36, 0x02, 0x27, 0x04, 0x00, 0x13, 0x16, 0x02, // 76..'...6.'..... + 0x0e, 0x01, 0x04, 0x03, 0x87, 0xfe, 0xe5, 0xfe, 0x45, 0x6c, 0x3a, 0x12, 0x46, 0x98, 0x67, 0x0b, // ........El:.F.g. + 0x0b, 0x72, 0x0d, 0x2a, 0xed, 0x74, 0x36, 0x83, 0x07, 0x19, 0x4b, 0x33, 0x55, 0x08, 0x0f, 0x0b, // .r.*.t6...K3U... + 0x19, 0x05, 0x17, 0x5a, 0x38, 0x0f, 0x8b, 0x12, 0x15, 0x33, 0x50, 0x29, 0x33, 0x5e, 0x49, 0x25, // ...Z8....3P)3^I% + 0x3d, 0x39, 0x09, 0x01, 0x03, 0x0e, 0x16, 0x29, 0x1a, 0x3c, 0xa9, 0x7d, 0x4a, 0xb1, 0xa0, 0x95, // =9.....).<.}J... + 0x6b, 0x1b, 0x2b, 0x08, 0x43, 0x2d, 0x57, 0x64, 0x1b, 0x0f, 0x91, 0x89, 0x01, 0x09, 0x01, 0x26, // k.+.C-Wd.......& + 0x04, 0x02, 0x55, 0xa2, 0xd8, 0xfe, 0xe9, 0xff, 0x00, 0x01, 0x2d, 0xf8, 0x83, 0x01, 0x54, 0x01, // ..U.......-...T. + 0x45, 0x01, 0x2b, 0x5d, 0xfe, 0xe7, 0x0e, 0x03, 0x11, 0x51, 0x72, 0x02, 0x2d, 0xcf, 0x3c, 0x08, // E.+].....Qr.-.<. + 0x0b, 0x04, 0x04, 0x01, 0x05, 0x51, 0x23, 0x07, 0x17, 0x30, 0x0a, 0xbd, 0x43, 0x2b, 0x4d, 0x38, // .....Q#..0..C+M8 + 0x1b, 0x07, 0x09, 0x33, 0x27, 0x02, 0x04, 0x3a, 0x24, 0x02, 0x07, 0x12, 0x0d, 0x08, 0x03, 0x5f, // ...3'..:$......_ + 0x51, 0x0b, 0x3d, 0x2b, 0x1f, 0x49, 0x66, 0x35, 0x5b, 0xcb, 0xae, 0x26, 0x26, 0x53, 0x47, 0xaa, // Q.=+.If5[..&&SG. + 0x01, 0x5a, 0x6f, 0x4d, 0xfe, 0x6b, 0xfe, 0xc5, 0x7f, 0xff, 0x00, 0xdc, 0xac, 0x63, 0x00, 0x00, // .ZoM.k.......c.. + 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x23, 0x00, 0x37, 0x00, 0x00, // ...........#.7.. + 0x01, 0x26, 0x23, 0x22, 0x04, 0x07, 0x0e, 0x01, 0x07, 0x15, 0x1e, 0x01, 0x17, 0x16, 0x04, 0x33, // .&#"...........3 + 0x32, 0x37, 0x06, 0x04, 0x23, 0x22, 0x27, 0x26, 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x36, 0x24, // 27..#"'&$&.54.6$ + 0x3b, 0x01, 0x16, 0x04, 0x01, 0x14, 0x02, 0x07, 0x06, 0x23, 0x22, 0x27, 0x36, 0x12, 0x35, 0x34, // ;........#"'6.54 + 0x02, 0x27, 0x36, 0x33, 0x32, 0x17, 0x16, 0x12, 0x05, 0xd5, 0xa5, 0xc2, 0x9b, 0xfe, 0xec, 0x66, // .'632..........f + 0x4b, 0x59, 0x04, 0x04, 0x59, 0x4b, 0x66, 0x01, 0x14, 0x9b, 0xc2, 0xa5, 0x79, 0xfe, 0xcd, 0xa9, // KY..YKf.....y... + 0x1d, 0x0e, 0xaf, 0xfe, 0xc4, 0xe4, 0x86, 0x8e, 0xf0, 0x01, 0x4c, 0xb6, 0x03, 0xa8, 0x01, 0x31, // ..........L....1 + 0x01, 0xa4, 0x9a, 0x88, 0x68, 0x76, 0x89, 0x76, 0x9a, 0xc7, 0xc6, 0x9a, 0x77, 0x87, 0x77, 0x6b, // ....hv.v....w.wk + 0x87, 0x97, 0x05, 0x1c, 0x6e, 0x92, 0x7f, 0x5d, 0xfa, 0x8d, 0x2a, 0x8d, 0xfa, 0x5d, 0x7f, 0x92, // ....n..]..*..].. + 0x6e, 0x6c, 0x78, 0x01, 0x08, 0x94, 0xee, 0x01, 0x44, 0xb1, 0xb6, 0x01, 0x4c, 0xf0, 0x8e, 0x01, // nlx.....D...L... + 0x77, 0xfc, 0xf8, 0xc0, 0xfe, 0xab, 0x7e, 0x3f, 0x54, 0x38, 0x01, 0x62, 0xe4, 0xe3, 0x01, 0x62, // w.....~?T8.b...b + 0x39, 0x53, 0x41, 0x7d, 0xfe, 0xac, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x10, 0x07, 0x00, // 9SA}............ + 0x05, 0xf0, 0x00, 0x2b, 0x00, 0x35, 0x00, 0x3f, 0x00, 0x46, 0x00, 0x00, 0x01, 0x14, 0x07, 0x21, // ...+.5.?.F.....! + 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x0e, 0x01, 0x04, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, // ..3267!...#"'.#" + 0x11, 0x34, 0x37, 0x36, 0x37, 0x12, 0x25, 0x06, 0x03, 0x12, 0x00, 0x21, 0x32, 0x17, 0x24, 0x33, // .4767.%....!2.$3 + 0x32, 0x1e, 0x02, 0x15, 0x14, 0x07, 0x16, 0x03, 0x34, 0x26, 0x23, 0x22, 0x07, 0x1e, 0x01, 0x17, // 2.......4&#".... + 0x36, 0x01, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2e, 0x01, 0x27, 0x06, 0x01, 0x21, 0x2e, 0x01, 0x23, // 6...327..'..!..# + 0x22, 0x06, 0x07, 0x00, 0x07, 0xfb, 0x81, 0xdb, 0x94, 0x63, 0xad, 0x32, 0x01, 0xa7, 0x38, 0xe5, // "........c.2..8. + 0xfe, 0xce, 0xa8, 0xbb, 0xa9, 0xe4, 0xa6, 0xed, 0x2d, 0x11, 0x5c, 0xc7, 0x01, 0x14, 0xb8, 0xf3, // ........-....... + 0x3f, 0x01, 0xb9, 0x01, 0x19, 0x1e, 0x0f, 0x00, 0xff, 0xb2, 0x40, 0x68, 0x55, 0x30, 0x4b, 0x65, // ?.........@hU0Ke + 0x46, 0x6a, 0x54, 0x6c, 0x92, 0x79, 0xcb, 0x45, 0x33, 0xf9, 0xc6, 0x61, 0x56, 0x73, 0x97, 0x7a, // FjTl.y.E3..aVs.z + 0xb7, 0x2e, 0x62, 0x01, 0xf8, 0x02, 0xd8, 0x05, 0xd8, 0x8f, 0x90, 0xd7, 0x02, 0x57, 0x38, 0x30, // ..b..........W80 + 0x92, 0xc5, 0x5d, 0x54, 0x9f, 0xf4, 0x85, 0x53, 0x74, 0x01, 0x07, 0x73, 0xa0, 0x3c, 0xa9, 0x01, // ..]T...St..s.<.. + 0x68, 0xf6, 0x4f, 0xfe, 0xed, 0x01, 0x12, 0x01, 0x5f, 0x01, 0x75, 0x1a, 0x37, 0x62, 0x42, 0x74, // h.O....._.u.7bBt + 0xaa, 0xb6, 0x01, 0xb0, 0x53, 0x62, 0x46, 0x2f, 0xa9, 0x6f, 0x87, 0xfb, 0x7c, 0x56, 0x5d, 0x53, // ....SbF/.o..|V]S + 0x48, 0xde, 0x86, 0xcd, 0x02, 0x4a, 0x8e, 0xbe, 0xbe, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // H....J.......... + 0xff, 0x80, 0x07, 0x80, 0x05, 0x80, 0x00, 0x0f, 0x00, 0x33, 0x00, 0x00, 0x01, 0x11, 0x34, 0x26, // .........3....4& + 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, // #!".....3!26.... + 0x23, 0x21, 0x15, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, // #!.!2.....#!"&=. + 0x34, 0x36, 0x33, 0x21, 0x35, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // 463!5!"&5.463!2. + 0x07, 0x00, 0x13, 0x0d, 0xf9, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0x06, 0x40, 0x0d, 0x13, 0x80, 0x5e, // ...........@...^ + 0x42, 0xfd, 0x20, 0x01, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfc, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, // B. .`........... + 0x60, 0xfd, 0x20, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0x40, 0x42, 0x5e, 0x01, 0x20, 0x03, 0xc0, 0x0d, // `. B^^B.@B^. ... + 0x13, 0x13, 0x0d, 0xfc, 0x40, 0x0d, 0x13, 0x13, 0x03, 0xcd, 0xfc, 0x40, 0x42, 0x5e, 0x80, 0x12, // ....@......@B^.. + 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x80, 0x5e, 0x42, 0x03, 0xc0, 0x42, 0x5e, // .@....@...^B..B^ + 0x5e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x16, 0xff, 0x80, 0x06, 0xea, 0x05, 0x80, 0x00, 0x17, // ^............... + 0x00, 0x3e, 0x00, 0x00, 0x13, 0x33, 0x06, 0x07, 0x0e, 0x03, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x16, // .>...3.......... + 0x17, 0x16, 0x17, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x29, 0x01, 0x32, 0x16, 0x15, 0x11, // ...!"&5.46).2... + 0x14, 0x06, 0x2b, 0x01, 0x36, 0x03, 0x05, 0x0e, 0x03, 0x07, 0x06, 0x27, 0x2e, 0x02, 0x27, 0x2e, // ..+.6......'..'. + 0x01, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x1e, 0x03, 0x17, 0x25, 0x26, 0x8a, 0xc5, 0x46, 0x38, // .67>.76...%&..F8 + 0x24, 0x2e, 0x0e, 0x03, 0x18, 0x12, 0x13, 0x04, 0x02, 0x33, 0x1e, 0x39, 0x5f, 0xfe, 0xf0, 0x30, // $........3.9_..0 + 0x44, 0x44, 0x04, 0xe8, 0x01, 0x34, 0x30, 0x44, 0x44, 0x30, 0xb2, 0xd4, 0x10, 0xfe, 0x2b, 0x02, // DD...40DD0....+. + 0x14, 0x2a, 0x4d, 0x37, 0x7b, 0x4c, 0x20, 0x2a, 0x3d, 0x22, 0x23, 0x15, 0x0a, 0x12, 0x14, 0x55, // .*M7{L *="#....U + 0x3c, 0x2d, 0x4d, 0x39, 0x33, 0x23, 0x11, 0x01, 0xd4, 0x44, 0x05, 0x80, 0x40, 0x55, 0x38, 0x76, // <-M93#...D..@U8v + 0x85, 0x6b, 0x9d, 0x5f, 0x59, 0x13, 0x09, 0xee, 0x5b, 0xab, 0x68, 0x44, 0x30, 0x05, 0x18, 0x30, // .k._Y...[.hD0..0 + 0x44, 0x44, 0x30, 0xfa, 0xe8, 0x30, 0x44, 0xd2, 0x01, 0x63, 0x65, 0x2d, 0x4a, 0x46, 0x31, 0x0c, // DD0..0D..ce-JF1. + 0x1a, 0x42, 0x1b, 0x44, 0xbe, 0xa3, 0xa3, 0xc8, 0x4e, 0x26, 0x29, 0x40, 0x0d, 0x0c, 0x0b, 0x17, // .B.D....N&)@.... + 0x2f, 0x31, 0x20, 0x64, 0xaf, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0xff, 0x00, 0x05, 0x79, // /1 d...........y + 0x06, 0x00, 0x00, 0x25, 0x00, 0x46, 0x00, 0xab, 0x00, 0xc5, 0x00, 0x00, 0x05, 0x07, 0x06, 0x07, // ...%.F.......... + 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x37, 0x36, 0x17, 0x16, 0x15, // .#"'&'&'&'&76... + 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3f, 0x01, 0x36, 0x17, 0x16, // .......3276?.6.. + 0x17, 0x16, 0x01, 0x07, 0x17, 0x16, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x23, 0x22, // ........#"/...#" + 0x2f, 0x01, 0x26, 0x35, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x37, // /.&54?.'&7632..7 + 0x36, 0x17, 0x16, 0x05, 0x14, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x26, 0x27, 0x26, // 6........."&'&'& + 0x35, 0x23, 0x26, 0x37, 0x36, 0x17, 0x16, 0x17, 0x33, 0x11, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, // 5#&76...3.567632 + 0x16, 0x15, 0x14, 0x06, 0x23, 0x22, 0x27, 0x26, 0x37, 0x36, 0x1f, 0x01, 0x1e, 0x01, 0x33, 0x32, // ....#"'&76....32 + 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x11, 0x16, 0x33, 0x32, 0x3e, 0x02, // 654'&#".....32>. + 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x0f, 0x01, 0x0e, 0x02, 0x27, 0x2e, 0x01, 0x35, // 54'&#"......'..5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x14, 0x23, 0x21, 0x11, 0x33, 0x3e, 0x01, 0x37, 0x36, 0x33, // .463!2.#!.3>.763 + 0x32, 0x16, 0x17, 0x16, 0x17, 0x16, 0x03, 0x16, 0x14, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, // 2...........#"'& + 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x27, 0x26, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, // '&#"..'&767632.. + 0x05, 0x79, 0x06, 0x71, 0x92, 0x9a, 0xa3, 0xa5, 0x98, 0x94, 0x6f, 0x71, 0x3e, 0x2a, 0x0c, 0x04, // .y.q......oq>*.. + 0x34, 0x33, 0x05, 0x01, 0x12, 0x1c, 0x32, 0x66, 0x62, 0x80, 0x84, 0x90, 0x8f, 0x85, 0x80, 0x61, // 43....2fb......a + 0x06, 0x0a, 0x0f, 0x0c, 0x15, 0x24, 0xfe, 0x15, 0x42, 0x3f, 0x15, 0x1c, 0x11, 0x0f, 0x0a, 0x09, // .....$..B?...... + 0x3e, 0x42, 0x05, 0x0a, 0x0f, 0x10, 0x02, 0x12, 0x08, 0x42, 0x42, 0x10, 0x1e, 0x12, 0x0d, 0x06, // >B.......BB..... + 0x07, 0x41, 0x41, 0x12, 0x1e, 0x1b, 0x01, 0xc7, 0x2e, 0x2d, 0x51, 0x50, 0xd6, 0xf2, 0xd6, 0x50, // .AA......-QP...P + 0x52, 0x2b, 0x0f, 0x01, 0x09, 0x34, 0x32, 0x0a, 0x25, 0x3c, 0x01, 0x03, 0x63, 0x69, 0x94, 0x93, // R+...42.%<..ci.. + 0xd0, 0xd1, 0x92, 0x3a, 0x36, 0x1c, 0x0f, 0x10, 0x1c, 0x0e, 0x0e, 0x26, 0x0b, 0x68, 0x90, 0x48, // ...:6......&.h.H + 0x47, 0x68, 0x6b, 0x47, 0x40, 0x6e, 0x84, 0x60, 0xb2, 0x86, 0x49, 0x8d, 0x8c, 0xc7, 0xc8, 0x8c, // GhkG@n.`..I..... + 0x35, 0x18, 0x02, 0x08, 0x0a, 0x21, 0x16, 0x15, 0x1f, 0x15, 0x11, 0x03, 0x6d, 0x1e, 0x1e, 0xfc, // 5....!......m... + 0xd5, 0x01, 0x28, 0x7c, 0x2e, 0x6d, 0x7a, 0x79, 0xd6, 0x50, 0x51, 0x2d, 0x2e, 0x1f, 0x09, 0x0b, // ..(|.mzy.PQ-.... + 0x0b, 0x1a, 0x0d, 0x09, 0x07, 0x6a, 0x65, 0x80, 0x94, 0x85, 0x81, 0x1b, 0x12, 0x09, 0x01, 0x03, // .....je......... + 0x0d, 0x82, 0xa9, 0xa4, 0x98, 0x89, 0x0b, 0x06, 0x71, 0x3e, 0x40, 0x40, 0x3f, 0x70, 0x70, 0x92, // ........q>@@?pp. + 0x67, 0x56, 0x1c, 0x08, 0x08, 0x1c, 0x01, 0x03, 0x5a, 0x45, 0x7c, 0x66, 0x62, 0x36, 0x38, 0x38, // gV......ZE|fb688 + 0x37, 0x61, 0x06, 0x0a, 0x04, 0x03, 0x13, 0x25, 0x02, 0x52, 0x42, 0x3f, 0x15, 0x1c, 0x11, 0x0a, // 7a.....%.RB?.... + 0x3d, 0x42, 0x05, 0x10, 0x02, 0x0f, 0x0e, 0x07, 0x0a, 0x41, 0x42, 0x10, 0x1d, 0x12, 0x05, 0x42, // =B.......AB....B + 0x41, 0x11, 0x1e, 0x1b, 0x4a, 0x76, 0x6e, 0x69, 0x51, 0x50, 0x5c, 0x5c, 0x50, 0x52, 0x68, 0x21, // A...JvniQP..PRh! + 0x07, 0x1b, 0x11, 0x10, 0x1c, 0x63, 0x44, 0x01, 0x53, 0x02, 0x88, 0x60, 0x67, 0xce, 0x92, 0x93, // .....cD.S..`g... + 0xd0, 0x10, 0x0b, 0x32, 0x33, 0x08, 0x03, 0x03, 0x06, 0x8f, 0x67, 0x65, 0x46, 0x47, 0x50, 0x48, // ...23.....geFGPH + 0x58, 0xfe, 0x63, 0x43, 0x49, 0x86, 0xb0, 0x5f, 0xc6, 0x8d, 0x8c, 0x8c, 0x35, 0x22, 0x02, 0x0b, // X.cCI.._....5".. + 0x09, 0x0a, 0x08, 0x05, 0x17, 0x0f, 0x02, 0xa8, 0x0f, 0x17, 0x6e, 0xfe, 0x1d, 0x2a, 0x54, 0x13, // ..........n..*T. + 0x2e, 0x5c, 0x50, 0x51, 0x69, 0x70, 0x01, 0xd0, 0x08, 0x14, 0x10, 0x0d, 0x1a, 0x07, 0x5b, 0x2a, // ..PQip........[* + 0x38, 0x31, 0x0a, 0x2f, 0x19, 0x0d, 0x10, 0x04, 0x39, 0x40, 0x3a, 0x00, 0x00, 0x04, 0x00, 0x1d, // 81./....9@:..... + 0xff, 0x00, 0x06, 0xe1, 0x06, 0x00, 0x00, 0x1b, 0x00, 0x3e, 0x00, 0x74, 0x00, 0x82, 0x00, 0x00, // .........>.t.... + 0x25, 0x36, 0x16, 0x14, 0x07, 0x0e, 0x04, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x2e, 0x01, 0x3e, 0x01, // %6.....#"..'..>. + 0x16, 0x17, 0x16, 0x17, 0x04, 0x25, 0x36, 0x25, 0x16, 0x06, 0x07, 0x06, 0x07, 0x06, 0x26, 0x37, // .....%6%......&7 + 0x3e, 0x01, 0x27, 0x2e, 0x03, 0x0e, 0x02, 0x23, 0x0e, 0x03, 0x2a, 0x02, 0x2e, 0x01, 0x27, 0x26, // >.'....#..*...'& + 0x36, 0x37, 0x36, 0x16, 0x01, 0x14, 0x1e, 0x02, 0x1f, 0x01, 0x07, 0x2e, 0x01, 0x2f, 0x01, 0x26, // 676........../.& + 0x27, 0x0e, 0x03, 0x2e, 0x02, 0x35, 0x34, 0x3e, 0x05, 0x37, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, // '....54>.754'&#" + 0x0e, 0x03, 0x07, 0x25, 0x34, 0x3e, 0x03, 0x33, 0x32, 0x1e, 0x03, 0x15, 0x01, 0x14, 0x17, 0x16, // ...%4>.32....... + 0x37, 0x36, 0x37, 0x36, 0x3d, 0x01, 0x0e, 0x03, 0x06, 0x0f, 0x0f, 0x16, 0x0f, 0x0d, 0x3e, 0x81, // 7676=.........>. + 0x99, 0xdf, 0x76, 0x77, 0xee, 0xb4, 0xa5, 0x64, 0x22, 0x08, 0x04, 0x06, 0x0a, 0x0d, 0x05, 0xc0, // ..vw...d"....... + 0x6c, 0x01, 0x85, 0x01, 0x9a, 0xbe, 0x01, 0x98, 0x0b, 0x11, 0x14, 0x22, 0x33, 0x11, 0x12, 0x09, // l.........."3... + 0x15, 0x2f, 0x11, 0x05, 0x15, 0x21, 0x1a, 0x2c, 0x13, 0x2b, 0x01, 0x06, 0x0e, 0x08, 0x09, 0x05, // ./...!.,.+...... + 0x06, 0x03, 0x03, 0x01, 0x01, 0x06, 0x6a, 0x32, 0x2e, 0x7c, 0xfe, 0x84, 0x1b, 0x25, 0x26, 0x0e, // ......j2.|...%&. + 0x0d, 0xe3, 0x28, 0x4e, 0x13, 0x13, 0x0b, 0x0e, 0x26, 0x77, 0x88, 0x90, 0x83, 0x68, 0x3e, 0x38, // ..(N....&w...h>8 + 0x58, 0x7d, 0x78, 0x8c, 0x63, 0x32, 0x15, 0x22, 0x57, 0x06, 0x15, 0x3c, 0x34, 0x3c, 0x12, 0xfe, // X}x.c2."W..<4<.. + 0xda, 0x2c, 0x5a, 0x7e, 0xb1, 0x66, 0x64, 0xa2, 0x61, 0x41, 0x19, 0xfd, 0x60, 0x46, 0x42, 0x49, // .,Z~.fd.aA..`FBI + 0x54, 0x1e, 0x0e, 0x3b, 0x68, 0x6d, 0x41, 0x3c, 0x06, 0x06, 0x1d, 0x13, 0x10, 0x37, 0x51, 0x43, // T..;hmA<.....7QC + 0x31, 0x3e, 0x5b, 0x75, 0x5d, 0x29, 0x09, 0x0f, 0x09, 0x05, 0x01, 0x04, 0x75, 0x31, 0xb0, 0x56, // 1>[u])......u1.V + 0x28, 0xd2, 0x10, 0x6b, 0x31, 0x53, 0x29, 0x0e, 0x0a, 0x13, 0x2d, 0x99, 0x16, 0x07, 0x09, 0x03, // (..k1S)...-..... + 0x02, 0x02, 0x02, 0x04, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x10, 0x30, 0x06, 0x07, 0x0c, // ............0... + 0x01, 0xa9, 0x1f, 0x42, 0x32, 0x2a, 0x0b, 0x0b, 0xe0, 0x25, 0x4d, 0x14, 0x14, 0x0b, 0x16, 0x3b, // ...B2*...%M....; + 0x57, 0x28, 0x06, 0x30, 0x53, 0x8f, 0x5b, 0x54, 0x8c, 0x5d, 0x49, 0x29, 0x1c, 0x09, 0x02, 0x7f, // W(.0S.[T.]I).... + 0x41, 0x20, 0x35, 0x02, 0x16, 0x25, 0x52, 0x37, 0x1b, 0x3c, 0x76, 0x6c, 0x52, 0x31, 0x32, 0x49, // A 5..%R7.&. + 0x80, 0x1a, 0x26, 0x54, 0x01, 0xa8, 0x01, 0x2c, 0xfe, 0xd4, 0xfe, 0x58, 0xfe, 0xd4, 0x02, 0x00, // ..&T...,...X.... + 0x0e, 0x12, 0x12, 0x0e, 0x92, 0xce, 0x12, 0x1c, 0x12, 0xa9, 0x01, 0xc0, 0x0f, 0xfd, 0x71, 0x1a, // ..............q. + 0x26, 0x26, 0x1a, 0x02, 0x8f, 0x04, 0x31, 0xfe, 0xd4, 0xfe, 0x58, 0xfe, 0xd4, 0x01, 0x2c, 0x01, // &&....1...X...,. + 0xa8, 0x4c, 0x12, 0x1c, 0x12, 0xce, 0x92, 0x0e, 0x12, 0x12, 0x0e, 0x77, 0xa9, 0x00, 0x00, 0x00, // .L.........w.... + 0x00, 0x03, 0x00, 0x25, 0xff, 0x00, 0x06, 0xdb, 0x06, 0x00, 0x00, 0x1b, 0x00, 0x25, 0x00, 0x3b, // ...%.........%.; + 0x00, 0x00, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ........#!"&5.46 + 0x33, 0x21, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x17, 0x01, 0x21, // 3!546;.2...!2..! + 0x11, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, // ...+."&5.2.....# + 0x21, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x33, 0x21, 0x35, 0x21, 0x15, 0x06, 0xd1, // !"/.&4?.63!5!... + 0x0a, 0x0a, 0x8d, 0x1c, 0x28, 0xfa, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x02, 0x40, 0x26, 0x1a, 0x80, // ....(...&&..@&.. + 0x1a, 0x26, 0x02, 0x00, 0x28, 0x1c, 0xfc, 0xbc, 0x01, 0x00, 0x26, 0x1a, 0x80, 0x1a, 0x26, 0x03, // .&..(.....&...&. + 0x40, 0x1a, 0x26, 0x26, 0x1a, 0xfa, 0xc0, 0x28, 0x1c, 0x8d, 0x0a, 0x0a, 0x8d, 0x1c, 0x28, 0x02, // @.&&...(......(. + 0x00, 0x01, 0x00, 0x04, 0xd7, 0x0a, 0x1a, 0x0a, 0x8d, 0x1c, 0x26, 0x1a, 0x01, 0x00, 0x1a, 0x26, // ..........&....& + 0x40, 0x1a, 0x26, 0x26, 0x1a, 0x40, 0x1c, 0xfb, 0xdc, 0xfe, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x03, // @.&&.@......&&.. + 0xc0, 0x26, 0x1a, 0xff, 0x00, 0x1a, 0x26, 0x1c, 0x8d, 0x0a, 0x1a, 0x0a, 0x8d, 0x1c, 0xc0, 0xc0, // .&....&......... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, 0x05, 0xfb, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, // ...............# + 0x00, 0x27, 0x00, 0x00, 0x01, 0x16, 0x15, 0x11, 0x14, 0x06, 0x07, 0x01, 0x06, 0x27, 0x25, 0x05, // .'...........'%. + 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x34, 0x36, 0x37, 0x01, 0x36, 0x17, 0x05, 0x25, 0x36, // .#"'&5.467.6..%6 + 0x05, 0x11, 0x05, 0x11, 0x25, 0x11, 0x25, 0x11, 0x01, 0x11, 0x05, 0x11, 0x07, 0xe4, 0x1c, 0x16, // ....%.%......... + 0x12, 0xfd, 0x80, 0x18, 0x18, 0xfd, 0x98, 0xfd, 0x98, 0x0a, 0x0e, 0x13, 0x11, 0x1c, 0x16, 0x12, // ................ + 0x02, 0x80, 0x18, 0x18, 0x02, 0x68, 0x02, 0x68, 0x20, 0xfb, 0x18, 0x02, 0x40, 0xfb, 0x60, 0x02, // .....h.h ...@.`. + 0x20, 0x04, 0xe0, 0xfd, 0xe0, 0x05, 0xf5, 0x14, 0x21, 0xfa, 0x80, 0x14, 0x20, 0x07, 0xff, 0x00, // .......!... ... + 0x0b, 0x0b, 0xf6, 0xf6, 0x05, 0x0b, 0x14, 0x21, 0x05, 0x80, 0x14, 0x20, 0x07, 0x01, 0x00, 0x0b, // .......!... .... + 0x0b, 0xf6, 0xf6, 0x0d, 0x9a, 0xfb, 0x0a, 0xe6, 0x04, 0xf6, 0x0d, 0xfb, 0x0a, 0xd9, 0x04, 0xf6, // ................ + 0xfa, 0xfd, 0x04, 0xf6, 0xd9, 0xfb, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // ................ + 0x06, 0x00, 0x00, 0x11, 0x00, 0x23, 0x00, 0x35, 0x00, 0x00, 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, // .....#.5...2.... + 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x01, 0x36, 0x21, 0x32, 0x16, 0x15, // ...#"&5.47.6!2.. + 0x11, 0x14, 0x07, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x37, 0x01, 0x36, 0x21, 0x32, // .....#"&5.47.6!2 + 0x17, 0x01, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x22, 0x27, 0x01, 0x26, 0x35, 0x11, 0x34, 0x36, // .......#"'.&5.46 + 0x02, 0x00, 0x0d, 0x13, 0x11, 0xfe, 0x20, 0x07, 0x08, 0x0d, 0x13, 0x11, 0x01, 0xe0, 0x07, 0x04, // ...... ......... + 0xe8, 0x0d, 0x13, 0x11, 0xfe, 0x20, 0x07, 0x08, 0x0d, 0x13, 0x11, 0x01, 0xe0, 0x07, 0xfb, 0xa8, // ..... .......... + 0x08, 0x06, 0x02, 0x00, 0x12, 0x13, 0x0d, 0x08, 0x06, 0xfe, 0x00, 0x12, 0x13, 0x06, 0x00, 0x13, // ................ + 0x0d, 0xfa, 0x40, 0x14, 0x08, 0xff, 0x00, 0x04, 0x13, 0x0d, 0x05, 0xc0, 0x14, 0x08, 0x01, 0x00, // ..@............. + 0x04, 0x13, 0x0d, 0xfa, 0x40, 0x14, 0x08, 0xff, 0x00, 0x04, 0x13, 0x0d, 0x05, 0xc0, 0x14, 0x08, // ....@........... + 0x01, 0x00, 0x04, 0x03, 0xff, 0x00, 0x0a, 0x13, 0xfa, 0x40, 0x0d, 0x13, 0x03, 0x01, 0x00, 0x0a, // .........@...... + 0x13, 0x05, 0xc0, 0x0d, 0x13, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x20, 0x07, 0x00, // ............. .. + 0x05, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x38, 0x00, 0x00, 0x00, 0x34, 0x26, 0x22, // .........8...4&" + 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x24, 0x34, 0x26, 0x22, // ...2$4&"...2$4&" + 0x06, 0x14, 0x16, 0x32, 0x00, 0x10, 0x02, 0x04, 0x23, 0x22, 0x27, 0x06, 0x05, 0x06, 0x07, 0x06, // ...2....#"'..... + 0x26, 0x27, 0x26, 0x37, 0x3e, 0x07, 0x37, 0x2e, 0x01, 0x35, 0x34, 0x12, 0x24, 0x20, 0x04, 0x02, // &'&7>.7..54.$ .. + 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0x4b, // .KjKKj..KjKKj..K + 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0xf0, 0xfe, 0x64, 0xf4, 0x6e, 0x65, 0xad, 0xfe, 0xfa, 0x34, // jKKj....d.ne...4 + 0x22, 0x0c, 0x14, 0x03, 0x04, 0x18, 0x05, 0x25, 0x0e, 0x21, 0x0f, 0x1a, 0x0e, 0x0f, 0x05, 0x92, // "......%.!...... + 0xa7, 0xf0, 0x01, 0x9c, 0x01, 0xe8, 0x01, 0x9c, 0x02, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, // .........KjKKjKK + 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x01, 0x2e, 0xfe, 0xa4, 0xfe, // jKKjKKjKKjK..... + 0xd9, 0xab, 0x12, 0xad, 0x38, 0x0a, 0x03, 0x01, 0x0e, 0x0b, 0x0f, 0x16, 0x05, 0x21, 0x0e, 0x25, // ....8........!.% + 0x1a, 0x30, 0x30, 0x43, 0x27, 0x5a, 0xfd, 0x8f, 0xae, 0x01, 0x27, 0xab, 0xab, 0x00, 0x00, 0x00, // .00C'Z....'..... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x05, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x17, // ................ + 0x00, 0x2e, 0x00, 0x57, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, // ...W....."&462.. + 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x02, 0x20, // ."&462..."&462. + 0x04, 0x06, 0x15, 0x14, 0x16, 0x1f, 0x01, 0x07, 0x06, 0x07, 0x36, 0x3f, 0x01, 0x17, 0x16, 0x33, // ..........6?...3 + 0x32, 0x24, 0x36, 0x10, 0x26, 0x01, 0x14, 0x02, 0x04, 0x23, 0x22, 0x27, 0x06, 0x05, 0x06, 0x07, // 2$6.&....#"'.... + 0x23, 0x22, 0x26, 0x27, 0x35, 0x26, 0x36, 0x26, 0x3e, 0x02, 0x37, 0x3e, 0x05, 0x37, 0x26, 0x02, // #"&'5&6&>.7>.7&. + 0x35, 0x34, 0x3e, 0x01, 0x24, 0x20, 0x04, 0x1e, 0x01, 0x02, 0x80, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, // 54>.$ .....KjKKj + 0x01, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x01, 0xcb, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0xe9, 0xfe, // ..KjKKj..KjKKj.. + 0x68, 0xfe, 0x9d, 0xd1, 0x8f, 0x82, 0x57, 0x1b, 0x18, 0x2e, 0x98, 0x7b, 0x2b, 0x39, 0x45, 0x3d, // h.....W....{+9E= + 0xcc, 0x01, 0x63, 0xd1, 0xd1, 0x01, 0x51, 0xf0, 0xfe, 0x64, 0xf4, 0x46, 0x4b, 0xc6, 0xfe, 0xfa, // ..c...Q..d.FK... + 0x31, 0x41, 0x05, 0x0f, 0x18, 0x04, 0x03, 0x05, 0x01, 0x0a, 0x02, 0x0c, 0x02, 0x07, 0x30, 0x15, // 1A............0. + 0x29, 0x18, 0x1e, 0x0b, 0x9d, 0xb5, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, // )........L.l.L.. + 0x02, 0xb5, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, 0x4b, 0x6a, 0x4b, // ..jKKjKKjKKjKKjK + 0x4b, 0x6a, 0x4b, 0x01, 0x80, 0x8b, 0xec, 0x89, 0x70, 0xcb, 0x4a, 0x32, 0x60, 0x5b, 0x51, 0x3f, // KjK.....p.J2`[Q? + 0x6c, 0x26, 0x06, 0x08, 0x8b, 0xec, 0x01, 0x12, 0xec, 0xfe, 0x8b, 0xae, 0xfe, 0xd9, 0xab, 0x08, // l&.............. + 0xaf, 0x43, 0x0e, 0x08, 0x15, 0x11, 0x01, 0x04, 0x10, 0x04, 0x0f, 0x03, 0x0e, 0x02, 0x08, 0x35, // .C.............5 + 0x17, 0x38, 0x2e, 0x48, 0x28, 0x59, 0x01, 0x06, 0x96, 0x82, 0xed, 0xac, 0x65, 0x65, 0xac, 0xed, // .8.H(Y......ee.. + 0x00, 0x04, 0x00, 0x00, 0xff, 0x09, 0x04, 0x00, 0x05, 0xf7, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0a, // ................ + 0x00, 0x0d, 0x00, 0x00, 0x09, 0x01, 0x11, 0x09, 0x01, 0x11, 0x01, 0x19, 0x01, 0x01, 0x11, 0x09, // ................ + 0x01, 0x11, 0x02, 0x00, 0x02, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x00, // ................ + 0x02, 0x00, 0x01, 0x59, 0x01, 0x27, 0xfd, 0xb1, 0xfe, 0xd8, 0x03, 0x77, 0xfd, 0xb1, 0x01, 0x28, // ...Y.'.....w...( + 0x04, 0x9e, 0xfd, 0xb1, 0xfe, 0xd8, 0x02, 0x4f, 0xfe, 0xd9, 0x01, 0x27, 0xfd, 0xb1, 0x00, 0x00, // .......O...'.... + 0x00, 0x01, 0x00, 0x52, 0xff, 0xc0, 0x06, 0xad, 0x05, 0x40, 0x00, 0x24, 0x00, 0x00, 0x01, 0x06, // ...R.....@.$.... + 0x01, 0x00, 0x23, 0x22, 0x03, 0x26, 0x03, 0x02, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, 0x37, 0x36, // ..#".&..#".'>.76 + 0x37, 0x36, 0x16, 0x17, 0x12, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x23, 0x22, 0x07, // 76.....327676#". + 0x12, 0x05, 0x16, 0x06, 0xad, 0x0a, 0xfe, 0xbe, 0xfe, 0xb3, 0xe5, 0x8e, 0x62, 0x2c, 0x58, 0x48, // ............b,XH + 0x55, 0x12, 0x6d, 0x4d, 0x18, 0xa8, 0x2e, 0x9c, 0x55, 0x5f, 0x74, 0x17, 0x2c, 0x16, 0x37, 0x41, // U.mM....U_t.,.7A + 0x33, 0x67, 0x65, 0x08, 0x0d, 0x7a, 0x39, 0x40, 0x78, 0x01, 0x53, 0xfb, 0x03, 0xfa, 0xec, 0xfe, // 3ge..z9@x.S..... + 0x61, 0xfe, 0x51, 0x01, 0x07, 0xa0, 0x01, 0x42, 0x01, 0x06, 0x4c, 0x62, 0x15, 0x97, 0x28, 0x8a, // a.Q....B..Lb..(. + 0x08, 0x09, 0x81, 0x8b, 0xfe, 0xe1, 0x56, 0xf9, 0xa1, 0xa1, 0x55, 0x8b, 0x1a, 0x01, 0x89, 0x0b, // ......V...U..... + 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x03, // ................ + 0x00, 0x0a, 0x00, 0x00, 0x11, 0x21, 0x11, 0x21, 0x01, 0x03, 0x13, 0x21, 0x13, 0x03, 0x01, 0x06, // .....!.!...!.... + 0x00, 0xfa, 0x00, 0x04, 0x3d, 0xdd, 0xdd, 0xfd, 0x86, 0xdd, 0xdd, 0x01, 0x3d, 0x05, 0x80, 0xfa, // ....=.......=... + 0x00, 0x01, 0xa5, 0x02, 0x77, 0x01, 0x29, 0xfe, 0xd7, 0xfd, 0x89, 0xfe, 0xd0, 0x00, 0x00, 0x00, // ....w.)......... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x12, 0x00, 0x41, // ...............A + 0x00, 0x55, 0x00, 0x00, 0x11, 0x21, 0x11, 0x21, 0x01, 0x07, 0x17, 0x07, 0x17, 0x37, 0x17, 0x37, // .U...!.!.....7.7 + 0x27, 0x37, 0x27, 0x23, 0x27, 0x23, 0x07, 0x05, 0x32, 0x16, 0x07, 0x37, 0x34, 0x2e, 0x02, 0x23, // '7'#'#..2..74..# + 0x22, 0x06, 0x1d, 0x01, 0x23, 0x15, 0x33, 0x32, 0x15, 0x11, 0x14, 0x06, 0x0f, 0x01, 0x15, 0x21, // "...#.32.......! + 0x35, 0x27, 0x2e, 0x02, 0x3e, 0x01, 0x35, 0x11, 0x33, 0x37, 0x23, 0x22, 0x37, 0x36, 0x3d, 0x01, // 5'..>.5.37#"76=. + 0x34, 0x3e, 0x02, 0x01, 0x35, 0x27, 0x2e, 0x01, 0x34, 0x36, 0x35, 0x11, 0x21, 0x07, 0x17, 0x16, // 4>..5'..465.!... + 0x15, 0x11, 0x14, 0x06, 0x0f, 0x01, 0x15, 0x06, 0x00, 0xfa, 0x00, 0x03, 0x8c, 0x0c, 0x4b, 0x1f, // ..............K. + 0x19, 0x6b, 0x6b, 0x19, 0x1f, 0x4b, 0x0c, 0x5f, 0x35, 0x20, 0x35, 0xfe, 0x96, 0x20, 0x19, 0x01, // .kk..K._5 5.. .. + 0xae, 0x23, 0x42, 0x48, 0x31, 0x85, 0x84, 0x60, 0x4c, 0x14, 0x0a, 0x0d, 0x49, 0x01, 0xc0, 0x95, // .#BH1..`L...I... + 0x06, 0x05, 0x02, 0x01, 0x01, 0xbf, 0x26, 0xe7, 0x06, 0x04, 0x04, 0x03, 0x0c, 0x1b, 0x02, 0x76, // ......&........v + 0x36, 0x07, 0x05, 0x02, 0xfe, 0xed, 0x17, 0x53, 0x17, 0x0c, 0x0e, 0x46, 0x05, 0x80, 0xfa, 0x00, // 6......S...F.... + 0x04, 0xc0, 0x21, 0x53, 0x72, 0x19, 0x39, 0x39, 0x19, 0x72, 0x53, 0x21, 0x60, 0x60, 0xa3, 0x20, // ..!Sr.99.rS!``. + 0x2f, 0x15, 0x37, 0x4b, 0x25, 0x0e, 0x73, 0x7d, 0x48, 0x80, 0x08, 0xfe, 0x82, 0x0e, 0x0c, 0x01, // /.7K%.s}H....... + 0x07, 0x58, 0x56, 0x0e, 0x01, 0x01, 0x04, 0x04, 0x0a, 0x05, 0x01, 0x83, 0x80, 0x06, 0x06, 0x03, // .XV............. + 0x50, 0x1b, 0x1b, 0x1d, 0x0b, 0xfc, 0xc3, 0x56, 0x09, 0x01, 0x03, 0x03, 0x0c, 0x06, 0x02, 0x08, // P......V........ + 0x65, 0x16, 0x07, 0x14, 0xfe, 0x8e, 0x0e, 0x09, 0x02, 0x09, 0x56, 0x00, 0x00, 0x04, 0x00, 0x00, // e.........V..... + 0xff, 0x64, 0x07, 0x00, 0x06, 0x00, 0x00, 0x2f, 0x00, 0x39, 0x00, 0x51, 0x00, 0x5b, 0x00, 0x00, // .d...../.9.Q.[.. + 0x01, 0x14, 0x06, 0x07, 0x16, 0x15, 0x14, 0x02, 0x04, 0x20, 0x24, 0x02, 0x35, 0x34, 0x37, 0x2e, // ......... $.547. + 0x01, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x25, 0x13, 0x3e, 0x01, 0x17, 0x05, 0x3e, 0x01, // .54632.6%.>...>. + 0x33, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x35, 0x25, 0x03, 0x04, 0x17, 0x36, 0x33, 0x32, 0x16, // 32..."&5%...632. + 0x01, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x06, 0x01, 0x36, 0x34, 0x27, 0x26, 0x22, // ...264&#"..64'&" + 0x07, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x26, 0x22, 0x07, 0x06, 0x14, 0x17, 0x1e, 0x02, 0x32, 0x3e, // ..."&'&"......2> + 0x01, 0x26, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x14, 0x07, 0x00, 0x3b, 0x32, 0x0c, // .&2654&#"....;2. + 0xd5, 0xfe, 0x90, 0xfe, 0x50, 0xfe, 0x91, 0xd5, 0x0b, 0x33, 0x3e, 0x74, 0x53, 0x55, 0x3c, 0xda, // ....P....3>tSU<. + 0x01, 0x29, 0x74, 0x03, 0x18, 0x0e, 0x01, 0x71, 0x12, 0x48, 0x2b, 0x3e, 0x58, 0x58, 0x7c, 0x57, // .)t....q.H+>XX|W + 0xfe, 0xb2, 0x68, 0x01, 0x2c, 0xdb, 0x3a, 0x55, 0x53, 0x74, 0xfa, 0xa2, 0x57, 0x7c, 0x58, 0x58, // ..h.,.:USt..W|XX + 0x3e, 0x3d, 0x58, 0x03, 0x2a, 0x0b, 0x0b, 0x0a, 0x1e, 0x0b, 0x29, 0xa0, 0xa0, 0xa0, 0x29, 0x0b, // >=X.*.....)...). + 0x1e, 0x0a, 0x0b, 0x0b, 0x2b, 0x97, 0x5e, 0x58, 0x5e, 0x97, 0x16, 0x7c, 0x57, 0x58, 0x3d, 0x3e, // ....+.^X^..|WX=> + 0x58, 0x02, 0xb2, 0x3a, 0x5f, 0x19, 0x2e, 0x32, 0x9b, 0xfe, 0xf8, 0x99, 0x99, 0x01, 0x08, 0x9b, // X..:_..2........ + 0x2f, 0x2f, 0x19, 0x61, 0x3a, 0x52, 0x75, 0x3f, 0x98, 0x0a, 0x02, 0x09, 0x0d, 0x10, 0x03, 0x51, // //.a:Ru?.......Q + 0x25, 0x2d, 0x57, 0x7c, 0x58, 0x57, 0x3e, 0x4a, 0xfe, 0x28, 0x09, 0x97, 0x3d, 0x75, 0xfe, 0xe7, // %-W|XW>J.(..=u.. + 0x3e, 0x58, 0x58, 0x7c, 0x57, 0x58, 0xfe, 0x60, 0x0b, 0x1e, 0x0b, 0x0a, 0x0a, 0x2a, 0x28, 0x28, // >XX|WX.`.....*(( + 0x2a, 0x0a, 0x0a, 0x0a, 0x1f, 0x0b, 0x2b, 0x32, 0x09, 0x09, 0x32, 0xf8, 0x58, 0x3e, 0x3d, 0x58, // *.....+2..2.X>=X + 0x57, 0x7c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x45, 0xff, 0x02, 0x06, 0xbb, 0x06, 0x00, 0x00, 0x30, // W|.....E.......0 + 0x00, 0x00, 0x13, 0x33, 0x3e, 0x03, 0x24, 0x33, 0x32, 0x04, 0x17, 0x16, 0x1d, 0x01, 0x21, 0x1e, // ...3>.$32.....!. + 0x03, 0x3e, 0x01, 0x37, 0x11, 0x06, 0x0c, 0x01, 0x27, 0x26, 0x02, 0x27, 0x26, 0x12, 0x37, 0x0e, // .>.7....'&.'&.7. + 0x01, 0x07, 0x21, 0x36, 0x2e, 0x04, 0x2f, 0x01, 0x0e, 0x03, 0x45, 0x01, 0x10, 0x55, 0x91, 0xbe, // ..!6../...E..U.. + 0x01, 0x01, 0x94, 0xe7, 0x01, 0x6e, 0x6f, 0x68, 0xfb, 0x9b, 0x01, 0x69, 0xa8, 0xd3, 0xd7, 0xc9, // .....noh...i.... + 0x49, 0x5c, 0xfe, 0xed, 0xfe, 0xa2, 0x8d, 0xbd, 0xf5, 0x02, 0x03, 0xe4, 0xd3, 0x30, 0x3c, 0x10, // I............0<. + 0x02, 0x7b, 0x08, 0x20, 0x3e, 0x4f, 0x52, 0x44, 0x16, 0x16, 0x87, 0xf9, 0xc6, 0x9a, 0x02, 0xe5, // .{. >ORD........ + 0x7e, 0xe7, 0xcb, 0x95, 0x56, 0xd3, 0xc6, 0xbb, 0xff, 0xbc, 0x6f, 0xa3, 0x52, 0x20, 0x1a, 0x43, // ~...V.....o.R .C + 0x33, 0xfe, 0x87, 0x37, 0x4a, 0x02, 0x36, 0x49, 0x01, 0x60, 0xc4, 0xf2, 0x01, 0x54, 0x62, 0x3c, // 3..7J.6I.`...Tb< + 0x83, 0x5e, 0x4d, 0x7e, 0x4d, 0x38, 0x1a, 0x0f, 0x01, 0x01, 0x05, 0x4f, 0x82, 0x97, 0x00, 0x00, // .^M~M8.....O.... + 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x05, 0x80, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, // ................ + 0x00, 0x1b, 0x00, 0x00, 0x35, 0x11, 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x01, 0x15, // ....5.!...#!"&.. + 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x36, 0x33, // !5!.!5.2...!5463 + 0x09, 0x00, 0x5e, 0x42, 0xf8, 0x40, 0x42, 0x5e, 0x02, 0x80, 0x01, 0x80, 0xfd, 0x00, 0x01, 0x00, // ..^B.@B^........ + 0x06, 0x60, 0x42, 0x5e, 0xf7, 0x00, 0x5e, 0x42, 0x20, 0x02, 0x60, 0xfd, 0xa0, 0x42, 0x5e, 0x5e, // .`B^..^B .`..B^^ + 0x01, 0x22, 0x80, 0x80, 0x80, 0x80, 0x04, 0x80, 0x5e, 0x42, 0xe0, 0xe0, 0x42, 0x5e, 0x00, 0x00, // ."......^B..B^.. + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0xbb, 0x06, 0x00, 0x00, 0x1f, 0x00, 0x30, 0x00, 0x3b, // .............0.; + 0x00, 0x00, 0x25, 0x27, 0x0e, 0x01, 0x23, 0x22, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x02, 0x33, 0x32, // ..%'..#"..54>.32 + 0x16, 0x17, 0x37, 0x26, 0x24, 0x23, 0x22, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, 0x04, 0x33, 0x32, // ..7&$#".......32 + 0x24, 0x09, 0x01, 0x06, 0x00, 0x21, 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x33, 0x20, // $....!"$&...6$3 + 0x00, 0x17, 0x03, 0x23, 0x15, 0x23, 0x11, 0x33, 0x32, 0x1e, 0x01, 0x0e, 0x01, 0x06, 0x30, 0xda, // ...#.#.32.....0. + 0x4a, 0xf5, 0x8d, 0x93, 0xf8, 0x90, 0x55, 0x91, 0xc7, 0x6e, 0x83, 0xe9, 0x4c, 0xd7, 0x6e, 0xfe, // J.....U..n..L.n. + 0x9f, 0xca, 0xa1, 0xfe, 0xda, 0xd4, 0x7e, 0x7e, 0xd4, 0x01, 0x26, 0xa1, 0xd5, 0x01, 0x71, 0xfe, // ......~~..&...q. + 0x40, 0x02, 0xb5, 0x74, 0xfe, 0x4b, 0xfe, 0xee, 0xb6, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, // @..t.K.......... + 0x4c, 0xb6, 0x01, 0x04, 0x01, 0xa5, 0x7d, 0x9f, 0x27, 0x60, 0x88, 0x20, 0x2d, 0x0c, 0x0a, 0x2d, // L.....}.'`. -..- + 0xf6, 0x6f, 0x78, 0x8a, 0x90, 0xf8, 0x92, 0x6e, 0xc7, 0x91, 0x55, 0x79, 0x6c, 0x7d, 0xa9, 0xc0, // .ox....n..Uyl}.. + 0x7e, 0xd4, 0xfe, 0xda, 0xfe, 0xbe, 0xfe, 0xda, 0xd4, 0x7e, 0xd6, 0x02, 0x46, 0xfe, 0xa0, 0xfd, // ~........~..F... + 0xfe, 0xda, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0xfe, 0xf5, 0xe9, 0xfe, // .....L.l.L...... + 0x74, 0xa0, 0x01, 0x60, 0x28, 0x38, 0x38, 0x28, 0x00, 0x04, 0x00, 0x20, 0xff, 0x00, 0x06, 0xe0, // t..`(88(... .... + 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x09, 0x01, 0x37, 0x21, // ..............7! + 0x01, 0x27, 0x11, 0x01, 0x1f, 0x01, 0x11, 0x09, 0x02, 0x21, 0x01, 0x05, 0x93, 0xfd, 0x9a, 0x5c, // .'.......!...... + 0x03, 0x57, 0xfa, 0xb5, 0xb8, 0x04, 0x9f, 0x14, 0x93, 0xfd, 0xec, 0x01, 0x5c, 0xfe, 0x0c, 0xfc, // .W.............. + 0xa9, 0x01, 0x64, 0x03, 0x3b, 0x01, 0x82, 0x97, 0xfc, 0xde, 0x74, 0x03, 0x5a, 0xfd, 0x19, 0x60, // ..d.;.....t.Z..` + 0x5f, 0xfc, 0xa6, 0x01, 0x4f, 0x02, 0x7f, 0xfc, 0xde, 0x02, 0x3b, 0x00, 0x00, 0x03, 0x00, 0x00, // _...O.....;..... + 0xff, 0x00, 0x06, 0x80, 0x05, 0xf0, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x7d, 0x00, 0x00, 0x01, 0x35, // ...........}...5 + 0x34, 0x2b, 0x01, 0x22, 0x1d, 0x01, 0x14, 0x3b, 0x01, 0x32, 0x25, 0x35, 0x34, 0x2b, 0x01, 0x22, // 4+."...;.2%54+." + 0x1d, 0x01, 0x14, 0x3b, 0x01, 0x32, 0x05, 0x11, 0x21, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, // ...;.2..!.4&"... + 0x21, 0x11, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 0x33, 0x11, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, // !.4;.2..3.4;.2.. + 0x33, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 0x33, 0x35, 0x34, 0x3e, 0x02, 0x16, 0x33, 0x11, // 354;.2..354>..3. + 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x07, 0x15, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, // &5462.....632.32 + 0x36, 0x33, 0x32, 0x1d, 0x01, 0x14, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x07, 0x15, 0x32, 0x36, // 632....#"&#"..26 + 0x1e, 0x02, 0x1d, 0x01, 0x33, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x1d, 0x01, 0x33, 0x35, 0x34, 0x3b, // ....354;.2..354; + 0x01, 0x32, 0x15, 0x11, 0x33, 0x35, 0x34, 0x3b, 0x01, 0x32, 0x02, 0x80, 0x10, 0x60, 0x10, 0x10, // .2..354;.2...`.. + 0x60, 0x10, 0x02, 0x00, 0x10, 0x60, 0x10, 0x10, 0x60, 0x10, 0x02, 0x00, 0xfd, 0x80, 0x70, 0xa0, // `....`..`.....p. + 0x70, 0xfd, 0x80, 0x10, 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x80, 0x05, // p...`...`...`... + 0x0c, 0x07, 0x10, 0x01, 0x20, 0x21, 0x2c, 0x21, 0x20, 0x2d, 0x26, 0x15, 0x4d, 0x10, 0x11, 0x3c, // .... !,! -&.M..< + 0x07, 0x10, 0x46, 0x1b, 0x12, 0x49, 0x13, 0x28, 0x32, 0x01, 0x10, 0x07, 0x0c, 0x05, 0x80, 0x10, // ..F..I.(2....... + 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x80, 0x10, 0x60, 0x10, 0x02, 0x10, 0xe0, 0x10, 0x10, 0xe0, // `...`...`....... + 0x10, 0x10, 0xe0, 0x10, 0x10, 0xe0, 0x10, 0x10, 0xfd, 0x10, 0x01, 0x40, 0x50, 0x70, 0x70, 0x50, // ...........@PppP + 0xfe, 0xc0, 0x02, 0xf0, 0x10, 0x10, 0x70, 0x02, 0x70, 0x10, 0x10, 0x70, 0x70, 0x10, 0x10, 0x70, // ......p.p..pp..p + 0x70, 0x06, 0x07, 0x03, 0x01, 0x01, 0x01, 0x87, 0x0f, 0x23, 0x17, 0x20, 0x20, 0x17, 0x23, 0x0f, // p........#. .#. + 0x11, 0x0a, 0x0f, 0x0f, 0x10, 0xd2, 0x0f, 0x0d, 0x0f, 0x0c, 0x85, 0x01, 0x01, 0x03, 0x07, 0x06, // ................ + 0x70, 0x70, 0x10, 0x10, 0x70, 0x70, 0x10, 0x10, 0xfd, 0x90, 0x70, 0x10, 0x00, 0x01, 0x00, 0x00, // pp..pp....p..... + 0x00, 0x00, 0x09, 0x00, 0x05, 0x80, 0x00, 0x6a, 0x00, 0x00, 0x01, 0x16, 0x14, 0x07, 0x05, 0x06, // .......j........ + 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x21, 0x16, 0x17, 0x1e, 0x05, 0x3b, 0x01, 0x35, 0x34, 0x36, // #"'&=.!....;.546 + 0x33, 0x21, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x23, 0x22, // 3!2.....#!"&=.#" + 0x2e, 0x05, 0x27, 0x2e, 0x03, 0x23, 0x21, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, // ..'..#!..#"&4632 + 0x16, 0x17, 0x33, 0x32, 0x3e, 0x02, 0x37, 0x3e, 0x06, 0x3b, 0x01, 0x3e, 0x01, 0x33, 0x32, 0x16, // ..32>.7>.;.>.32. + 0x14, 0x06, 0x23, 0x22, 0x26, 0x27, 0x23, 0x22, 0x0e, 0x04, 0x07, 0x06, 0x07, 0x21, 0x35, 0x34, // ..#"&'#".....!54 + 0x36, 0x17, 0x08, 0xf0, 0x10, 0x10, 0xfe, 0xc0, 0x08, 0x08, 0x09, 0x07, 0x10, 0xfc, 0xa6, 0x25, // 6..............% + 0x2e, 0x10, 0x11, 0x1f, 0x17, 0x1f, 0x20, 0x11, 0x60, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x12, // ...... .`...@... + 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x60, 0x20, 0x3a, 0x2c, 0x2e, 0x1c, 0x27, 0x12, 0x13, 0x17, 0x1c, // .....` :,..'.... + 0x2c, 0x2d, 0x18, 0xfe, 0x98, 0x16, 0x8a, 0x58, 0x6a, 0x96, 0x96, 0x6a, 0x58, 0x8a, 0x16, 0x68, // ,-.....Xj..jX..h + 0x18, 0x2d, 0x2c, 0x1c, 0x17, 0x13, 0x12, 0x27, 0x1c, 0x2e, 0x2c, 0x3a, 0x20, 0x6b, 0x15, 0x62, // .-,....'..,: k.b + 0x3e, 0x50, 0x70, 0x70, 0x50, 0x3e, 0x62, 0x15, 0x6b, 0x11, 0x20, 0x1f, 0x17, 0x1f, 0x11, 0x10, // >PppP>b.k. ..... + 0x2e, 0x25, 0x04, 0x5a, 0x20, 0x10, 0x02, 0xdb, 0x08, 0x26, 0x08, 0xc0, 0x05, 0x04, 0x0a, 0x12, // .%.Z ....&...... + 0x80, 0x3a, 0x6b, 0x25, 0x24, 0x3e, 0x20, 0x24, 0x10, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfe, 0xc0, // .:k%$> $.`...... + 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x14, 0x1b, 0x36, 0x26, 0x4c, 0x27, 0x29, 0x35, 0x39, 0x49, 0x22, // ....`..6&L')59I" + 0x54, 0x6c, 0x96, 0xd4, 0x96, 0x6c, 0x54, 0x22, 0x49, 0x39, 0x35, 0x29, 0x27, 0x4c, 0x26, 0x36, // Tl...lT"I95)'L&6 + 0x1b, 0x14, 0x39, 0x47, 0x70, 0xa0, 0x70, 0x47, 0x39, 0x10, 0x24, 0x20, 0x3e, 0x24, 0x25, 0x6b, // ..9Gp.pG9.$ >$%k + 0x3a, 0x80, 0x12, 0x14, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // :............... + 0x06, 0x00, 0x00, 0x07, 0x00, 0x11, 0x00, 0x21, 0x00, 0x00, 0x00, 0x14, 0x06, 0x2b, 0x01, 0x11, // .......!.....+.. + 0x33, 0x32, 0x00, 0x10, 0x26, 0x23, 0x21, 0x11, 0x33, 0x11, 0x33, 0x32, 0x00, 0x10, 0x02, 0x06, // 32..&#!.3.32.... + 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x04, 0x7e, 0x4f, 0x38, // . $&...6$ ...~O8 + 0xfd, 0xfd, 0x38, 0x01, 0x02, 0xb7, 0x83, 0xfe, 0x4f, 0xb4, 0xfd, 0x82, 0x02, 0x87, 0x8e, 0xf0, // ..8.....O....... + 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, // ...........L.l.L + 0xf0, 0x03, 0x3e, 0x70, 0x4e, 0x01, 0x0d, 0xfe, 0xf7, 0x01, 0x04, 0xb8, 0xfc, 0x80, 0x01, 0x0d, // ..>pN........... + 0x01, 0x69, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, // .i.........L.l.L + 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x04, 0x00, 0x00, 0xff, 0xd9, 0x09, 0x00, 0x05, 0x27, 0x00, 0x27, // .............'.' + 0x00, 0x3a, 0x00, 0x4d, 0x00, 0x61, 0x00, 0x00, 0x01, 0x34, 0x26, 0x27, 0x06, 0x07, 0x0e, 0x01, // .:.M.a...4&'.... + 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x35, 0x34, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x07, 0x16, // #"'..7654..#"... + 0x17, 0x16, 0x14, 0x06, 0x22, 0x27, 0x26, 0x23, 0x22, 0x06, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, // ...."'&#"...3!26 + 0x37, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x24, 0x33, 0x32, 0x00, // 7..#!"&54676$32. + 0x17, 0x1e, 0x01, 0x17, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x10, 0x27, // .......#"'..76.' + 0x26, 0x3e, 0x01, 0x16, 0x17, 0x16, 0x24, 0x10, 0x07, 0x06, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, // &>....$...#"'..7 + 0x36, 0x35, 0x34, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x06, 0x6d, 0x44, 0x35, 0x07, 0x10, // 654'&676...mD5.. + 0x07, 0x29, 0x18, 0x0c, 0x0c, 0x1f, 0x1c, 0x0a, 0x17, 0x7a, 0xd2, 0x7b, 0x86, 0xe2, 0x36, 0x6c, // .).......z.{..6l + 0x50, 0x16, 0x2c, 0x40, 0x17, 0x4b, 0x69, 0x6a, 0x96, 0x96, 0x6a, 0x04, 0x16, 0x4f, 0x6f, 0x99, // P.,@.Kij..j..Oo. + 0xc9, 0x8e, 0xfb, 0xea, 0xa9, 0xf0, 0xc8, 0x95, 0x3e, 0x01, 0x3e, 0xc3, 0xeb, 0x01, 0x5b, 0x17, // ........>.>...[. + 0x74, 0x99, 0xfa, 0x61, 0x17, 0x29, 0x18, 0x13, 0x1a, 0x0c, 0x12, 0x47, 0x47, 0x12, 0x0c, 0x34, // t..a.).....GG..4 + 0x3f, 0x12, 0x61, 0x01, 0x00, 0x86, 0x17, 0x29, 0x17, 0x13, 0x1a, 0x0d, 0x12, 0x6c, 0x6c, 0x12, // ?.a....).....ll. + 0x0d, 0x1a, 0x1a, 0x3e, 0x12, 0x01, 0xb6, 0x3b, 0x5f, 0x15, 0x2d, 0x2f, 0x18, 0x1c, 0x03, 0x0a, // ...>...;_.-/.... + 0x39, 0x1e, 0x47, 0x48, 0x7b, 0xd1, 0x7a, 0x92, 0x79, 0x1c, 0x4e, 0x17, 0x40, 0x2c, 0x16, 0x4b, // 9.GH{.z.y.N.@,.K + 0x95, 0xd4, 0x95, 0x6f, 0x4e, 0x8e, 0xc8, 0xef, 0xa9, 0x99, 0xe4, 0x16, 0xb8, 0xe4, 0xfe, 0xc3, // ...oN........... + 0xe7, 0x19, 0xbb, 0x79, 0xaf, 0x90, 0x21, 0x0d, 0x11, 0x3f, 0x1a, 0x68, 0x01, 0x02, 0x68, 0x1a, // ...y..!..?.h..h. + 0x3e, 0x24, 0x0d, 0x1a, 0x8e, 0x44, 0xfe, 0x18, 0xc7, 0x22, 0x0d, 0x12, 0x3e, 0x1a, 0xa4, 0xc2, // >$...D..."..>... + 0xc3, 0xa2, 0x1a, 0x3f, 0x11, 0x12, 0x0c, 0x1b, 0x00, 0x02, 0x00, 0x24, 0xff, 0x00, 0x05, 0xdc, // ...?.......$.... + 0x06, 0x00, 0x00, 0x09, 0x00, 0x6e, 0x00, 0x00, 0x05, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, // .....n....."&546 + 0x32, 0x16, 0x27, 0x0e, 0x01, 0x15, 0x14, 0x17, 0x06, 0x23, 0x22, 0x2e, 0x05, 0x35, 0x34, 0x3e, // 2.'......#"..54> + 0x03, 0x32, 0x1e, 0x03, 0x15, 0x14, 0x07, 0x1e, 0x01, 0x1f, 0x01, 0x32, 0x36, 0x35, 0x34, 0x2e, // .2.........2654. + 0x04, 0x27, 0x26, 0x27, 0x2e, 0x03, 0x35, 0x34, 0x3e, 0x03, 0x33, 0x32, 0x1e, 0x03, 0x15, 0x14, // .'&'..54>.32.... + 0x0e, 0x03, 0x23, 0x22, 0x23, 0x2a, 0x01, 0x2e, 0x04, 0x35, 0x2e, 0x01, 0x2f, 0x01, 0x22, 0x0e, // ..#"#*...5../.". + 0x01, 0x15, 0x14, 0x1e, 0x03, 0x17, 0x1e, 0x08, 0x05, 0xdc, 0x7e, 0xb4, 0x7f, 0x7f, 0xb4, 0x7e, // ..........~....~ + 0xe9, 0x73, 0x9b, 0x21, 0x92, 0xe9, 0x6d, 0xb8, 0x7b, 0x62, 0x36, 0x23, 0x0c, 0x09, 0x1c, 0x2d, // .s.!..m.{b6#...- + 0x53, 0x6a, 0x52, 0x2c, 0x1b, 0x08, 0x17, 0x1c, 0x6c, 0x27, 0x28, 0x73, 0x96, 0x12, 0x2d, 0x36, // SjR,....l'(s..-6 + 0x5e, 0x5d, 0x49, 0x1c, 0x0f, 0x74, 0x8e, 0x67, 0x29, 0x29, 0x5b, 0x86, 0xc7, 0x7a, 0x78, 0xc8, // ^]I..t.g))[..zx. + 0x81, 0x5a, 0x26, 0x1e, 0x2b, 0x36, 0x2c, 0x11, 0x02, 0x06, 0x13, 0x1a, 0x34, 0x24, 0x2e, 0x1c, // .Z&.+6,.....4$.. + 0x14, 0x0f, 0x58, 0x25, 0x25, 0x44, 0x63, 0x2a, 0x0a, 0x26, 0x44, 0x7e, 0x57, 0x4c, 0x7d, 0x5d, // ..X%%Dc*.&D~WL}] + 0x49, 0x30, 0x22, 0x13, 0x0a, 0x02, 0x0d, 0x59, 0x7f, 0x7f, 0x59, 0x5a, 0x7f, 0x7f, 0xbf, 0x0f, // I0"....Y..YZ.... + 0xaf, 0x76, 0x4a, 0x40, 0x4e, 0x2a, 0x43, 0x56, 0x54, 0x52, 0x33, 0x0e, 0x13, 0x2f, 0x41, 0x33, // .vJ@N*CVTR3../A3 + 0x24, 0x23, 0x2f, 0x3b, 0x27, 0x0e, 0x22, 0x2f, 0x1b, 0x1e, 0x02, 0x01, 0x66, 0x52, 0x1a, 0x2d, // $#/;'."/....fR.- + 0x2c, 0x26, 0x32, 0x2d, 0x22, 0x0d, 0x07, 0x37, 0x5a, 0x72, 0x89, 0x5e, 0x4e, 0x90, 0x83, 0x61, // ,&2-"..7Zr.^N..a + 0x39, 0x34, 0x52, 0x6a, 0x69, 0x33, 0x2e, 0x49, 0x2b, 0x1d, 0x0a, 0x0a, 0x12, 0x26, 0x36, 0x57, // 94Rji3.I+....&6W + 0x36, 0x10, 0x13, 0x01, 0x01, 0x3e, 0x4e, 0x25, 0x18, 0x26, 0x36, 0x30, 0x3b, 0x1d, 0x19, 0x39, // 6....>N%.&60;..9 + 0x36, 0x40, 0x37, 0x46, 0x36, 0x49, 0x33, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // 6@7F6I3......... + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2b, 0x00, 0x00, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, // .......+....4&#! + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x25, 0x11, 0x34, 0x26, 0x23, 0x21, // ".....3!26%.4&#! + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, // ".....3!26.... $ + 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x02, 0xc0, 0x12, 0x0e, 0xff, 0x00, 0x0e, 0x12, 0x12, 0x0e, // ...$ ........... + 0x01, 0x00, 0x0e, 0x12, 0x01, 0xc0, 0x12, 0x0e, 0xff, 0x00, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x00, // ................ + 0x0e, 0x12, 0x01, 0x80, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, // ........^.....a. + 0xa2, 0x01, 0x61, 0x01, 0x60, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, // ..a.`.@......... + 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xff, 0xfe, 0x5e, // ..@............^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x04, 0x00, 0x00, // .....a...a...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, // ...........'.7.. + 0x00, 0x20, 0x04, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x00, 0x20, 0x3e, 0x01, // . ..... $.... >. + 0x10, 0x2e, 0x01, 0x20, 0x0e, 0x01, 0x10, 0x16, 0x25, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, // ... ....%"&5.46; + 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x3b, // .2.....#!"&5.46; + 0x01, 0x32, 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, // .2.....#./...a.. + 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x9e, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, // ...^.......(.... + 0xfe, 0xd8, 0xfa, 0x92, 0x92, 0x01, 0xee, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // ................ + 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0x80, 0xce, 0xfe, 0x9f, // ................ + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xfb, 0xae, 0x92, 0xfa, // .^.....a...a.... + 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x4e, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, // .(.......N...@.. + 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, // .........@...... + 0x0e, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0f, // ................ + 0x00, 0x1b, 0x00, 0x00, 0x01, 0x11, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, // ......4&#!"..... + 0x33, 0x21, 0x32, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // 3!26.... $...$ . + 0x04, 0x40, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x01, 0xc0, // .@.........@.... + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0x01, // ....^.....a...a. + 0x60, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x01, 0xff, 0xfe, 0x5e, // `.@............^ + 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x03, 0x00, 0x00, // .....a...a...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x27, 0x00, 0x00, 0x00, 0x20, // ...........'... + 0x04, 0x12, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x00, 0x20, 0x3e, 0x01, 0x10, 0x2e, // ..... $.... >... + 0x01, 0x20, 0x0e, 0x01, 0x10, 0x16, 0x37, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // . ....7"&5.463!2 + 0x16, 0x15, 0x11, 0x14, 0x06, 0x23, 0x02, 0x2f, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0xfe, 0x9f, // .....#./...a.... + 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x9e, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, // .^.......(...... + 0xfa, 0x92, 0x92, 0x6e, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x05, 0x80, // ...n.....@...... + 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xfb, // ....^.....a...a. + 0xae, 0x92, 0xfa, 0x01, 0x28, 0xfa, 0x92, 0x92, 0xfa, 0xfe, 0xd8, 0xfa, 0x4e, 0x12, 0x0e, 0x02, // ....(.......N... + 0x40, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // @............... + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x25, 0x00, 0x3d, 0x00, 0x00, 0x25, 0x13, // .........%.=..%. + 0x16, 0x07, 0x06, 0x23, 0x21, 0x22, 0x27, 0x26, 0x37, 0x13, 0x01, 0x13, 0x21, 0x13, 0x3e, 0x01, // ...#!"'&7...!.>. + 0x33, 0x21, 0x15, 0x14, 0x16, 0x32, 0x36, 0x3d, 0x01, 0x21, 0x15, 0x14, 0x16, 0x32, 0x36, 0x3d, // 3!...26=.!...26= + 0x01, 0x21, 0x32, 0x16, 0x25, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x22, 0x06, // .!2.%..."&5.4&". + 0x15, 0x11, 0x14, 0x06, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x20, 0x16, 0x06, 0xdd, 0x23, 0x03, // ...."&5.46 ...#. + 0x13, 0x13, 0x1d, 0xf9, 0x80, 0x1d, 0x13, 0x13, 0x03, 0x23, 0x06, 0x5d, 0x56, 0xf9, 0x54, 0x56, // .........#.]V.TV + 0x03, 0x24, 0x19, 0x01, 0x00, 0x4b, 0x6a, 0x4b, 0x01, 0x80, 0x4b, 0x6a, 0x4b, 0x01, 0x00, 0x19, // .$...KjK..KjK... + 0x24, 0xfe, 0x83, 0x26, 0x34, 0x26, 0x96, 0xd4, 0x96, 0x26, 0x34, 0x26, 0xe1, 0x01, 0x3e, 0xe1, // $..&4&...&4&..>. + 0x80, 0xfe, 0xc7, 0x1c, 0x16, 0x15, 0x15, 0x16, 0x1c, 0x01, 0x39, 0x03, 0x47, 0xfc, 0xf9, 0x03, // ..........9.G... + 0x07, 0x18, 0x21, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x80, 0x80, 0x35, 0x4b, 0x4b, 0x35, 0x80, 0x21, // ..!.5KK5..5KK5.! + 0xa1, 0xff, 0x00, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0x00, 0x6a, 0x96, 0x96, 0x6a, 0xff, 0x00, 0x1a, // ....&&...j..j... + 0x26, 0x26, 0x1a, 0x01, 0x00, 0x9f, 0xe1, 0xe1, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, // &&.............. + 0x06, 0x00, 0x00, 0x15, 0x00, 0x23, 0x00, 0x2f, 0x00, 0x3b, 0x00, 0x49, 0x00, 0x6d, 0x00, 0x00, // .....#./.;.I.m.. + 0x01, 0x32, 0x16, 0x14, 0x06, 0x2b, 0x01, 0x03, 0x0e, 0x01, 0x23, 0x21, 0x22, 0x26, 0x27, 0x03, // .2...+....#!"&'. + 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, 0x01, 0x3e, 0x01, 0x27, 0x03, 0x2e, 0x01, 0x0e, 0x01, 0x17, // #"&463.>.'...... + 0x13, 0x1e, 0x01, 0x33, 0x25, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, // ...3%.4&".....26 + 0x25, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x32, 0x36, 0x25, 0x13, 0x36, 0x2e, // %.4&".....26%.6. + 0x01, 0x06, 0x07, 0x03, 0x06, 0x16, 0x17, 0x33, 0x32, 0x36, 0x01, 0x03, 0x23, 0x13, 0x3e, 0x01, // .......326..#.>. + 0x3b, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x15, 0x33, 0x32, 0x16, 0x17, 0x13, 0x23, 0x03, // ;.463!2..32...#. + 0x2e, 0x01, 0x2b, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x23, 0x22, 0x06, 0x07, 0x80, // ..+...#!"&5#"... + 0x35, 0x4b, 0x4b, 0x35, 0x0f, 0x73, 0x08, 0x48, 0x2e, 0xfb, 0x00, 0x2e, 0x48, 0x08, 0x73, 0x0f, // 5KK5.s.H....H.s. + 0x35, 0x4b, 0x4b, 0x35, 0x01, 0x65, 0x1a, 0x23, 0x02, 0x20, 0x02, 0x29, 0x34, 0x23, 0x02, 0x20, // 5KK5.e.#. .)4#. + 0x02, 0x25, 0x19, 0x01, 0xa0, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x80, 0x26, 0x34, 0x26, // .%...&4&&4&..&4& + 0x26, 0x34, 0x26, 0x01, 0x60, 0x20, 0x02, 0x23, 0x34, 0x29, 0x02, 0x20, 0x02, 0x23, 0x1a, 0x05, // &4&.` .#4). .#.. + 0x19, 0x25, 0xfb, 0x7e, 0x5d, 0x84, 0x65, 0x13, 0x8c, 0x5a, 0xa7, 0x26, 0x1a, 0x01, 0x80, 0x1a, // .%.~].e..Z.&.... + 0x26, 0xa7, 0x5a, 0x8c, 0x13, 0x65, 0x84, 0x5d, 0x0b, 0x45, 0x2d, 0xa7, 0x26, 0x1a, 0xfe, 0x80, // &.Z..e.].E-.&... + 0x1a, 0x26, 0xa7, 0x2d, 0x45, 0x03, 0x00, 0x4b, 0x6a, 0x4b, 0xfd, 0x6a, 0x2e, 0x3c, 0x3c, 0x2e, // .&.-E..KjK.j.<<. + 0x02, 0x96, 0x4b, 0x6a, 0x4b, 0xfc, 0xe0, 0x02, 0x29, 0x1a, 0x01, 0xa0, 0x1a, 0x23, 0x04, 0x29, // ..KjK...)....#.) + 0x1a, 0xfe, 0x60, 0x19, 0x22, 0x40, 0x01, 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, 0x26, // ..`."@...&&..`.& + 0x26, 0x1a, 0x01, 0xa0, 0x1a, 0x26, 0x26, 0x1a, 0xfe, 0x60, 0x1a, 0x26, 0x26, 0x15, 0x01, 0xa0, // &....&&..`.&&... + 0x1a, 0x29, 0x04, 0x23, 0x1a, 0xfe, 0x60, 0x1a, 0x29, 0x02, 0x22, 0x04, 0xda, 0xfe, 0x64, 0x01, // .).#..`.)."...d. + 0xb9, 0x58, 0x6f, 0x1a, 0x26, 0x26, 0x1a, 0x6f, 0x58, 0xfe, 0x47, 0x01, 0x9c, 0x2c, 0x38, 0x1a, // .Xo.&&.oX.G..,8. + 0x26, 0x26, 0x1a, 0x38, 0x00, 0x02, 0x00, 0x21, 0xff, 0x80, 0x06, 0xdf, 0x05, 0x80, 0x00, 0x03, // &&.8...!........ + 0x00, 0x4f, 0x00, 0x00, 0x01, 0x13, 0x23, 0x03, 0x01, 0x07, 0x06, 0x23, 0x21, 0x03, 0x21, 0x32, // .O....#....#!.!2 + 0x17, 0x16, 0x0f, 0x01, 0x06, 0x23, 0x21, 0x03, 0x06, 0x2b, 0x01, 0x22, 0x27, 0x26, 0x37, 0x13, // .....#!..+."'&7. + 0x23, 0x03, 0x06, 0x2b, 0x01, 0x22, 0x27, 0x26, 0x37, 0x13, 0x21, 0x22, 0x27, 0x26, 0x3f, 0x01, // #..+."'&7.!"'&?. + 0x36, 0x33, 0x21, 0x13, 0x21, 0x22, 0x27, 0x26, 0x3f, 0x01, 0x36, 0x33, 0x21, 0x13, 0x36, 0x3b, // 63!.!"'&?.63!.6; + 0x01, 0x32, 0x17, 0x16, 0x07, 0x03, 0x33, 0x13, 0x36, 0x3b, 0x01, 0x32, 0x17, 0x16, 0x07, 0x03, // .2....3.6;.2.... + 0x21, 0x32, 0x17, 0x16, 0x03, 0xdf, 0x40, 0xfe, 0x40, 0x03, 0xfe, 0x38, 0x07, 0x18, 0xfe, 0xb9, // !2....@.@..8.... + 0x40, 0x01, 0x37, 0x0f, 0x0a, 0x0a, 0x04, 0x38, 0x05, 0x1a, 0xfe, 0xb9, 0x51, 0x07, 0x18, 0xe0, // @.7....8....Q... + 0x10, 0x0a, 0x09, 0x03, 0x4e, 0xfe, 0x51, 0x07, 0x18, 0xe1, 0x0f, 0x0a, 0x09, 0x03, 0x4e, 0xfe, // ....N.Q.......N. + 0xc9, 0x0f, 0x0a, 0x09, 0x03, 0x38, 0x07, 0x18, 0x01, 0x47, 0x40, 0xfe, 0xc9, 0x0f, 0x0a, 0x0a, // .....8...G@..... + 0x04, 0x38, 0x05, 0x1a, 0x01, 0x47, 0x51, 0x07, 0x19, 0xe0, 0x0f, 0x0a, 0x09, 0x03, 0x4e, 0xfe, // .8...GQ.......N. + 0x51, 0x07, 0x19, 0xe0, 0x0f, 0x0a, 0x09, 0x03, 0x4e, 0x01, 0x37, 0x0f, 0x0a, 0x09, 0x02, 0x00, // Q.......N.7..... + 0x01, 0x00, 0xff, 0x00, 0x01, 0xf8, 0xe0, 0x18, 0xff, 0x00, 0x0c, 0x0e, 0x0e, 0xe0, 0x18, 0xfe, // ................ + 0xb8, 0x18, 0x0c, 0x0c, 0x10, 0x01, 0x38, 0xfe, 0xb8, 0x18, 0x0c, 0x0c, 0x10, 0x01, 0x38, 0x0c, // ......8.......8. + 0x0c, 0x10, 0xe0, 0x18, 0x01, 0x00, 0x0c, 0x0e, 0x0e, 0xe0, 0x18, 0x01, 0x48, 0x18, 0x0c, 0x0c, // ............H... + 0x10, 0xfe, 0xc8, 0x01, 0x48, 0x18, 0x0c, 0x0c, 0x10, 0xfe, 0xc8, 0x0c, 0x0c, 0x00, 0x00, 0x00, // ....H........... + 0x00, 0x04, 0x00, 0x6b, 0xff, 0x00, 0x05, 0x95, 0x06, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x11, // ...k............ + 0x00, 0x25, 0x00, 0x00, 0x01, 0x17, 0x07, 0x11, 0x17, 0x07, 0x03, 0x09, 0x03, 0x11, 0x03, 0x07, // .%.............. + 0x09, 0x01, 0x17, 0x01, 0x00, 0x10, 0x02, 0x0e, 0x02, 0x22, 0x2e, 0x02, 0x02, 0x10, 0x12, 0x3e, // .........".....> + 0x02, 0x32, 0x1e, 0x02, 0x03, 0x49, 0x94, 0x95, 0x95, 0x94, 0x83, 0x01, 0xd0, 0xfe, 0xce, 0x01, // .2...I.......... + 0x32, 0xfe, 0x30, 0xff, 0x5d, 0x01, 0x40, 0xfe, 0xc0, 0x5d, 0x00, 0xff, 0x02, 0xcf, 0x40, 0x6f, // 2.0.].@..]....@o + 0xaa, 0xc1, 0xf6, 0xc1, 0xaa, 0x6f, 0x40, 0x40, 0x6f, 0xaa, 0xc1, 0xf6, 0xc1, 0xaa, 0x6f, 0x01, // .....o@@o.....o. + 0xe3, 0x94, 0x95, 0x03, 0x8c, 0x95, 0x94, 0xfc, 0x61, 0x01, 0xd0, 0x01, 0x32, 0x01, 0x32, 0x01, // ........a...2.2. + 0xd0, 0xfd, 0x9d, 0x00, 0xff, 0x5d, 0xfe, 0xbf, 0xfe, 0xbf, 0x5d, 0x00, 0xff, 0x01, 0x70, 0xfe, // .....]....]...p. + 0x5e, 0xfe, 0xc7, 0xc9, 0x7c, 0x31, 0x31, 0x7c, 0xc9, 0x01, 0x39, 0x01, 0xa2, 0x01, 0x39, 0xc9, // ^...|11|..9...9. + 0x7c, 0x31, 0x31, 0x7c, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x28, 0xff, 0x00, 0x03, 0xd8, // |11|.......(.... + 0x06, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x11, 0x00, 0x00, 0x25, 0x37, 0x27, 0x11, 0x37, 0x27, // ..........%7'.7' + 0x13, 0x09, 0x01, 0x11, 0x01, 0x27, 0x09, 0x01, 0x37, 0x01, 0x11, 0x01, 0x02, 0x54, 0xad, 0xad, // .....'..7....T.. + 0xad, 0xad, 0x20, 0x01, 0x64, 0xfd, 0xe5, 0xfe, 0xd7, 0x6c, 0x01, 0x74, 0xfe, 0x8c, 0x6c, 0x01, // .. .d....l.t..l. + 0x29, 0x02, 0x1b, 0x71, 0xac, 0xac, 0x01, 0x6e, 0xac, 0xac, 0xfd, 0xf1, 0xfe, 0x9c, 0xfd, 0xe4, // )..q...n........ + 0x02, 0xc7, 0xfe, 0xd8, 0x6c, 0x01, 0x75, 0x01, 0x75, 0x6c, 0xfe, 0xd8, 0x02, 0xc7, 0xfd, 0xe4, // ....l.u.ul...... + 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x17, // ................ + 0x00, 0x29, 0x00, 0x31, 0x00, 0x00, 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x34, // .).1..$4&"...2.4 + 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x00, 0x10, 0x06, 0x20, 0x26, 0x10, 0x36, 0x20, 0x13, 0x14, // &"...2... &.6 .. + 0x07, 0x01, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x35, 0x34, 0x37, 0x01, 0x36, 0x3b, 0x01, 0x32, 0x16, // ...+."&547.6;.2. + 0x04, 0x10, 0x06, 0x20, 0x26, 0x10, 0x36, 0x20, 0x05, 0x00, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0xfd, // ... &.6 ..LhLLh. + 0x4c, 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x04, 0x4c, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x81, // LLhLLh.L......>. + 0x0d, 0xfb, 0xe0, 0x13, 0x20, 0xa0, 0x1a, 0x26, 0x0d, 0x04, 0x20, 0x13, 0x20, 0xa0, 0x1a, 0x26, // .... ..&.. . ..& + 0xfd, 0x60, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xcc, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0x03, // .`......>.hLLhL. + 0x4c, 0x68, 0x4c, 0x4c, 0x68, 0x4c, 0xfe, 0x1f, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x02, // LhLLhL.......>.. + 0xc0, 0x14, 0x12, 0xfa, 0x80, 0x1a, 0x26, 0x1a, 0x14, 0x12, 0x05, 0x80, 0x1a, 0x26, 0xbb, 0xfe, // ......&......&.. + 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xe1, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0xff, 0x47, 0x06, 0xfd, // ....>........G.. + 0x05, 0xb9, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x17, 0x00, 0x1d, 0x00, 0x00, 0x13, 0x09, // ................ + 0x01, 0x2e, 0x01, 0x37, 0x13, 0x29, 0x01, 0x01, 0x31, 0x01, 0x13, 0x21, 0x13, 0x36, 0x32, 0x01, // ...7.)..1..!.62. + 0x13, 0x16, 0x06, 0x07, 0x09, 0x01, 0x31, 0x21, 0x13, 0x36, 0x32, 0x17, 0x68, 0x03, 0x18, 0xfc, // ......1!.62.h... + 0x9c, 0x12, 0x0e, 0x07, 0x65, 0x01, 0xce, 0x02, 0x94, 0xfe, 0xb6, 0xfd, 0xf0, 0xc6, 0xfe, 0x32, // ....e..........2 + 0xc6, 0x08, 0x32, 0x05, 0x30, 0x65, 0x07, 0x0e, 0x12, 0xfc, 0x9c, 0x03, 0x18, 0xfe, 0x32, 0xc6, // ..2.0e........2. + 0x08, 0x32, 0x08, 0x03, 0x3e, 0xfc, 0x09, 0x02, 0x76, 0x0d, 0x2b, 0x15, 0x01, 0x34, 0xfc, 0x09, // .2..>...v.+..4.. + 0x06, 0x5b, 0xfd, 0x9c, 0x02, 0x64, 0x17, 0xfd, 0x85, 0xfe, 0xcc, 0x15, 0x2b, 0x0d, 0xfd, 0x8a, // .[...d......+... + 0x03, 0xf7, 0x02, 0x64, 0x17, 0x17, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x20, 0x07, 0x00, // ...d......... .. + 0x05, 0xe0, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x31, 0x00, 0x00, 0x01, 0x33, 0x35, 0x23, // .........1...35# + 0x01, 0x35, 0x06, 0x07, 0x06, 0x26, 0x27, 0x17, 0x1e, 0x01, 0x37, 0x32, 0x01, 0x21, 0x35, 0x21, // .5...&'...72.!5! + 0x05, 0x14, 0x07, 0x16, 0x15, 0x14, 0x04, 0x23, 0x22, 0x26, 0x27, 0x06, 0x22, 0x27, 0x0e, 0x01, // .......#"&'."'.. + 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x12, 0x24, 0x20, 0x04, 0x12, 0x01, 0x80, // #"$547&54.$ .... + 0xa0, 0xa0, 0x03, 0x45, 0x68, 0x8b, 0x87, 0xf9, 0x60, 0x01, 0x58, 0xf8, 0x94, 0x81, 0xfe, 0x28, // ...Eh...`.X....( + 0x02, 0x80, 0xfd, 0x80, 0x04, 0x80, 0x63, 0x59, 0xfe, 0xfd, 0xb8, 0x7a, 0xce, 0x3a, 0x13, 0x4c, // ......cY...z.:.L + 0x13, 0x3a, 0xce, 0x7a, 0xb8, 0xfe, 0xfd, 0x59, 0x63, 0xf0, 0x01, 0x9d, 0x01, 0xe6, 0x01, 0x9d, // .:.z...Yc....... + 0xf0, 0x02, 0xc0, 0xe0, 0xfd, 0xd4, 0x5c, 0x24, 0x02, 0x01, 0x5f, 0x4b, 0x60, 0x50, 0x61, 0x01, // .......$.._K`Pa. + 0x01, 0x7d, 0xe0, 0xc0, 0xbb, 0xa5, 0x66, 0x7f, 0x9d, 0xde, 0x69, 0x58, 0x01, 0x01, 0x58, 0x69, // .}....f...iX..Xi + 0xde, 0x9d, 0x7f, 0x66, 0xa5, 0xbb, 0xd1, 0x01, 0x61, 0xce, 0xce, 0xfe, 0x9f, 0x00, 0x00, 0x00, // ...f....a....... + 0x00, 0x09, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, // ................ + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x28, 0x00, 0x2b, 0x00, 0x2e, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x15, // .....(.+...>.... + 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x01, 0x15, 0x21, 0x35, 0x01, 0x15, 0x21, 0x35, 0x01, 0x15, // #5..#5..!5..!5.. + 0x21, 0x35, 0x01, 0x11, 0x34, 0x26, 0x2b, 0x01, 0x01, 0x27, 0x07, 0x01, 0x23, 0x22, 0x06, 0x15, // !5..4&+..'..#".. + 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x37, 0x21, 0x05, 0x37, 0x21, 0x05, 0x11, 0x14, // ...3!26.7!.7!... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x02, 0x03, 0xfc, // .#!"&5.463!2.... + 0xfc, 0xfc, 0x03, 0xf2, 0xfe, 0xab, 0x01, 0x55, 0xfd, 0x60, 0x02, 0xa0, 0xfd, 0x60, 0x03, 0x27, // .......U.`...`.' + 0x0c, 0x08, 0x20, 0xfe, 0x86, 0xd2, 0xd2, 0xfe, 0x86, 0x20, 0x08, 0x0c, 0x0c, 0x08, 0x04, 0xd8, // .. ...... ...... + 0x08, 0x0c, 0xfc, 0xa9, 0xb9, 0xfe, 0x6a, 0x02, 0x8b, 0xdd, 0xfe, 0x6a, 0x02, 0xe2, 0x56, 0x3e, // ......j....j..V> + 0xfb, 0x28, 0x3e, 0x56, 0x56, 0x3e, 0x04, 0xd8, 0x3e, 0x56, 0x02, 0x71, 0x80, 0x80, 0x00, 0xff, // .(>VV>..>V.q.... + 0x7f, 0x7f, 0xfe, 0x01, 0x80, 0x80, 0x01, 0x00, 0x80, 0x80, 0x00, 0xff, 0x7f, 0x7f, 0xfc, 0xa4, // ................ + 0x04, 0xd8, 0x08, 0x0c, 0xff, 0x00, 0xab, 0xab, 0x01, 0x00, 0x0c, 0x08, 0xfb, 0x28, 0x08, 0x0c, // .............(.. + 0x0c, 0x04, 0x5e, 0x96, 0x96, 0x96, 0x14, 0xfb, 0x28, 0x3e, 0x56, 0x56, 0x3e, 0x04, 0xd8, 0x3e, // ..^.....(>VV>..> + 0x56, 0x56, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x1f, // VV.............. + 0x00, 0x3d, 0x00, 0x00, 0x01, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x06, 0x1f, 0x01, 0x1e, // .=...&'&'&'&.... + 0x03, 0x17, 0x16, 0x17, 0x1e, 0x04, 0x17, 0x16, 0x37, 0x36, 0x27, 0x26, 0x27, 0x26, 0x02, 0x01, // ........76'&'&.. + 0x2e, 0x05, 0x02, 0x27, 0x20, 0x0c, 0x01, 0x1e, 0x03, 0x0e, 0x01, 0x07, 0x06, 0x15, 0x01, 0x23, // ...' ..........# + 0x01, 0x0e, 0x02, 0x2e, 0x02, 0x03, 0x80, 0x68, 0x38, 0x8b, 0xd0, 0x22, 0x24, 0x59, 0x0a, 0x27, // .......h8.."$Y.' + 0x27, 0x3e, 0x65, 0x58, 0x35, 0x2c, 0x09, 0x04, 0x2c, 0x50, 0x74, 0x73, 0x93, 0x4b, 0x99, 0x01, // '>eX5,..,Pts.K.. + 0x01, 0x32, 0x35, 0x1c, 0x4d, 0xcc, 0xfe, 0x52, 0x4c, 0x71, 0x53, 0x3b, 0x3a, 0x2e, 0x4b, 0x27, // .25.M..RLqS;:.K' + 0x01, 0x11, 0x01, 0xc1, 0x01, 0x35, 0xe9, 0x8a, 0x52, 0x1e, 0x05, 0x0e, 0x0d, 0x0d, 0x01, 0x43, // .....5..R......C + 0x68, 0xfe, 0xe7, 0x16, 0x8b, 0x68, 0xac, 0x95, 0xba, 0x02, 0xd0, 0xc4, 0x52, 0xca, 0x74, 0x13, // h....h......R.t. + 0x11, 0x28, 0x10, 0x1e, 0x1f, 0x2b, 0x65, 0x84, 0x5e, 0x54, 0x11, 0x08, 0x54, 0x8a, 0xaa, 0x82, // .(...+e.^T..T... + 0x75, 0x20, 0x42, 0x06, 0x03, 0x22, 0x24, 0x15, 0x3a, 0x01, 0x32, 0xfe, 0x7e, 0x3c, 0x82, 0x9d, // u B.."$.:.2.~<.. + 0x98, 0xdc, 0xc6, 0x01, 0x32, 0x88, 0x48, 0x70, 0xb1, 0xa8, 0xe5, 0xaa, 0xe3, 0x77, 0x54, 0x54, // ....2.Hp.....wTT + 0x17, 0xfe, 0xb9, 0x01, 0x1d, 0x02, 0x18, 0x0e, 0x02, 0x20, 0x56, 0x00, 0x00, 0x05, 0x00, 0x00, // ......... V..... + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x2f, 0x00, 0x37, 0x00, 0x47, 0x00, 0x57, 0x00, 0x67, // ......./.7.G.W.g + 0x00, 0x00, 0x00, 0x2e, 0x01, 0x07, 0x04, 0x20, 0x25, 0x26, 0x0e, 0x01, 0x16, 0x17, 0x16, 0x17, // ....... %&...... + 0x0e, 0x02, 0x0f, 0x01, 0x06, 0x16, 0x17, 0x16, 0x33, 0x32, 0x3f, 0x01, 0x36, 0x37, 0x33, 0x16, // ........32?.673. + 0x1f, 0x01, 0x16, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x2f, 0x01, 0x2e, 0x02, 0x27, 0x36, 0x37, 0x36, // ...327>./...'676 + 0x24, 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x04, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, // $4&"...2..... $& + 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x00, 0x20, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, // ...6$ ... ...... + 0x04, 0x20, 0x24, 0x36, 0x12, 0x10, 0x02, 0x26, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, // . $6...&..... $& + 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x05, 0x64, 0x0c, 0x2d, 0x1a, 0xfe, 0xfb, 0xfe, // ...6$ ...d.-.... + 0xe8, 0xfe, 0xfb, 0x1a, 0x2d, 0x0c, 0x1b, 0x1a, 0xc2, 0x6d, 0x02, 0x1b, 0x1a, 0x1c, 0x09, 0x0a, // ....-....m...... + 0x16, 0x19, 0x09, 0x0e, 0x2c, 0x10, 0x08, 0x36, 0x11, 0x2a, 0x11, 0x36, 0x08, 0x10, 0x2c, 0x0e, // ....,..6.*.6..,. + 0x09, 0x19, 0x16, 0x0a, 0x09, 0x1c, 0x1a, 0x1b, 0x02, 0x6d, 0xc2, 0x1a, 0xfe, 0xb7, 0x4b, 0x6a, // .........m....Kj + 0x4b, 0x4b, 0x6a, 0x02, 0x8b, 0x6f, 0xbd, 0xfe, 0xfb, 0xfe, 0xe2, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, // KKj..o........oo + 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, 0x05, 0xbd, 0xfe, 0x4b, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, 0x7a, // .........K.....z + 0x7a, 0xce, 0x01, 0x1c, 0x01, 0x38, 0x01, 0x1c, 0xce, 0x7a, 0x7a, 0xce, 0x01, 0xc8, 0x8e, 0xf0, // z....8...zz..... + 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, // ...........L.l.L + 0xf0, 0x03, 0x55, 0x34, 0x1b, 0x06, 0x3e, 0x3e, 0x06, 0x1b, 0x34, 0x2d, 0x06, 0x2e, 0x0c, 0x9e, // ..U4..>>..4-.... + 0xde, 0x59, 0x47, 0x15, 0x19, 0x30, 0x0a, 0x04, 0x29, 0x14, 0x8b, 0x78, 0x78, 0x8b, 0x14, 0x29, // .YG..0..)..xx..) + 0x04, 0x0a, 0x30, 0x19, 0x15, 0x47, 0x59, 0xde, 0x9e, 0x0c, 0x2e, 0x06, 0xa3, 0x6a, 0x4b, 0x4b, // ..0..GY......jKK + 0x6a, 0x4b, 0x71, 0xfe, 0xe2, 0xfe, 0xfb, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x05, 0x01, 0x1e, 0x01, // jKq.....oo...... + 0x05, 0xbd, 0x6f, 0x6f, 0xbd, 0x01, 0x6c, 0x7a, 0xce, 0xfe, 0xe4, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, // ..oo..lz........ + 0x7a, 0x7a, 0xce, 0x01, 0x1c, 0x01, 0x38, 0x01, 0x1c, 0xce, 0xfe, 0x30, 0xfe, 0x94, 0xfe, 0xb4, // zz....8....0.... + 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x00, // .....L.l.L...... + 0x00, 0x03, 0x00, 0x44, 0xff, 0x00, 0x05, 0xbb, 0x06, 0x00, 0x00, 0x2f, 0x00, 0x37, 0x00, 0x48, // ...D......./.7.H + 0x00, 0x00, 0x00, 0x16, 0x07, 0x03, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x13, 0x07, // ........#"'..7.. + 0x16, 0x15, 0x14, 0x07, 0x27, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x27, 0x36, 0x37, 0x01, // ....'654&#".'67. + 0x27, 0x07, 0x06, 0x2e, 0x01, 0x36, 0x3f, 0x01, 0x3e, 0x01, 0x17, 0x01, 0x16, 0x17, 0x16, 0x0f, // '....6?.>....... + 0x01, 0x25, 0x02, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x01, 0x32, 0x37, 0x17, 0x06, 0x23, // .%."&462...27..# + 0x22, 0x2e, 0x01, 0x35, 0x34, 0x37, 0x17, 0x06, 0x15, 0x14, 0x16, 0x05, 0x7c, 0x44, 0x05, 0x2c, // "..547......|D., + 0x04, 0x3d, 0x29, 0x06, 0x03, 0x2c, 0x39, 0x03, 0x23, 0x8f, 0x37, 0x94, 0x89, 0x5b, 0xcd, 0x91, // .=)..,9.#.7..[.. + 0x86, 0x66, 0x89, 0x78, 0xa4, 0x01, 0x08, 0x95, 0xb5, 0x21, 0x58, 0x3a, 0x05, 0x20, 0xef, 0x1a, // .f.x.....!X:. .. + 0x44, 0x1e, 0x01, 0xe8, 0x24, 0x0c, 0x11, 0x2b, 0xcd, 0x01, 0x73, 0x29, 0x94, 0x68, 0x68, 0x94, // D...$..+..s).hh. + 0x69, 0xfc, 0xda, 0x6a, 0x5a, 0x8b, 0x92, 0xbd, 0x94, 0xfb, 0x92, 0x74, 0x8b, 0x3c, 0xcd, 0x02, // i..jZ......t.<.. + 0xf6, 0x46, 0x2f, 0xfd, 0xd9, 0x2a, 0x38, 0x01, 0x03, 0x43, 0x2c, 0x01, 0xad, 0x08, 0x71, 0x7f, // .F/..*8..C,...q. + 0xd8, 0x9c, 0x89, 0x65, 0x86, 0x91, 0xce, 0x5c, 0x8a, 0x72, 0x1b, 0x01, 0x2c, 0x57, 0xa1, 0x1e, // ...e.....r..,W.. + 0x05, 0x42, 0x58, 0x1d, 0xd5, 0x17, 0x07, 0x12, 0xfe, 0xe5, 0x15, 0x2f, 0x43, 0x32, 0xe8, 0x14, // .BX......../C2.. + 0x01, 0xa9, 0x68, 0x94, 0x68, 0x68, 0x94, 0xfa, 0xbe, 0x3d, 0x8b, 0x74, 0x92, 0xfa, 0x94, 0xbc, // ..h.hh...=.t.... + 0x94, 0x8b, 0x58, 0x6d, 0x91, 0xcd, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..Xm............ + 0x05, 0x80, 0x00, 0x0f, 0x00, 0x3e, 0x00, 0x4e, 0x00, 0x5a, 0x00, 0x00, 0x01, 0x15, 0x14, 0x06, // .....>.N.Z...... + 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x01, 0x14, 0x0e, 0x02, // +."&=.46;.2..... + 0x07, 0x0e, 0x02, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x3e, 0x03, // .......+."&=.4>. + 0x37, 0x3e, 0x01, 0x35, 0x34, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x01, // 7>.54&#"....#"/. + 0x2e, 0x01, 0x37, 0x36, 0x33, 0x32, 0x16, 0x02, 0x20, 0x0e, 0x02, 0x10, 0x1e, 0x02, 0x20, 0x3e, // ..7632.. ..... > + 0x02, 0x10, 0x2e, 0x01, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, // ........ $...$ . + 0x03, 0x70, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x01, 0x00, 0x1e, 0x3d, // .p.............= + 0x2b, 0x26, 0x20, 0x1d, 0x17, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x15, 0x1b, 0x33, 0x1f, 0x1d, 0x35, // +& .........3..5 + 0x2c, 0x57, 0x34, 0x38, 0x27, 0x1d, 0x33, 0x09, 0x10, 0x0b, 0x08, 0x6c, 0x0a, 0x04, 0x07, 0x7a, // ,W48'.3....l...z + 0xe3, 0x81, 0xdb, 0xee, 0xfe, 0xfc, 0xed, 0xab, 0x66, 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, // ........ff...... + 0x66, 0x66, 0xab, 0x01, 0x91, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, // ff.......^.....a + 0x01, 0xa2, 0x01, 0x61, 0x01, 0x50, 0xa0, 0x0e, 0x12, 0x12, 0x0e, 0xa0, 0x0e, 0x12, 0x12, 0x01, // ...a.P.......... + 0xe2, 0x32, 0x50, 0x3a, 0x1e, 0x15, 0x12, 0x14, 0x1c, 0x0f, 0x20, 0x0e, 0x12, 0x12, 0x0e, 0x44, // .2P:...... ....D + 0x23, 0x3b, 0x24, 0x23, 0x10, 0x0d, 0x19, 0x24, 0x1f, 0x2a, 0x3b, 0x1b, 0x14, 0x3f, 0x0c, 0x06, // #;$#...$.*;..?.. + 0x52, 0x07, 0x1a, 0x0a, 0xc0, 0xb3, 0x01, 0x43, 0x66, 0xab, 0xed, 0xfe, 0xfc, 0xed, 0xab, 0x66, // R......Cf......f + 0x66, 0xab, 0xed, 0x01, 0x04, 0xed, 0xab, 0xfe, 0xb7, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, // f.........^..... + 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, 0x00, 0x04, 0x00, 0x27, 0xff, 0x03, 0x05, 0x59, // a...a......'...Y + 0x06, 0x00, 0x00, 0x09, 0x00, 0x3e, 0x00, 0x4f, 0x00, 0x60, 0x00, 0x00, 0x00, 0x22, 0x26, 0x35, // .....>.O.`..."&5 + 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x01, 0x14, 0x06, 0x26, 0x27, 0x01, 0x2e, 0x01, 0x0f, 0x01, // 462......&'..... + 0x06, 0x1f, 0x01, 0x13, 0x03, 0x06, 0x07, 0x06, 0x07, 0x06, 0x27, 0x2e, 0x01, 0x37, 0x36, 0x1b, // ..........'..76. + 0x01, 0x07, 0x17, 0x16, 0x0e, 0x02, 0x0f, 0x01, 0x06, 0x2e, 0x03, 0x35, 0x03, 0x13, 0x36, 0x33, // ...........5..63 + 0x32, 0x17, 0x01, 0x16, 0x1f, 0x01, 0x07, 0x16, 0x05, 0x1e, 0x01, 0x1f, 0x01, 0x16, 0x17, 0x16, // 2............... + 0x07, 0x06, 0x2e, 0x01, 0x27, 0x23, 0x26, 0x27, 0x03, 0x01, 0x16, 0x15, 0x14, 0x07, 0x06, 0x2e, // ....'#&'........ + 0x01, 0x27, 0x26, 0x01, 0x16, 0x36, 0x3f, 0x01, 0x36, 0x35, 0x01, 0xae, 0x80, 0x5c, 0x5c, 0x80, // .'&..6?.65...... + 0x5b, 0x01, 0x8c, 0x3c, 0x43, 0x0e, 0xfe, 0x91, 0x07, 0x0e, 0x04, 0x03, 0x07, 0x0b, 0x7a, 0x01, // [..(....|....... + 0x06, 0x72, 0xfe, 0xcb, 0x03, 0x08, 0x03, 0x03, 0x0b, 0x04, 0xc9, 0x5b, 0x41, 0x40, 0x5b, 0x5b, // .r.........[A@[[ + 0x40, 0x41, 0xfd, 0x23, 0x32, 0x23, 0x16, 0x17, 0x01, 0xb6, 0x0c, 0x07, 0x02, 0x03, 0x08, 0x0d, // @A.#2#.......... + 0x8b, 0xfe, 0x9e, 0xfe, 0x37, 0xc0, 0x2a, 0x1a, 0x06, 0x1a, 0x19, 0x0d, 0x3c, 0x1b, 0x11, 0x02, // ....7.*.....<... + 0x59, 0x01, 0xa0, 0xa4, 0xde, 0x18, 0x24, 0x13, 0x0d, 0x01, 0x02, 0x03, 0x0c, 0x14, 0x18, 0x0f, // Y.....$......... + 0x02, 0x01, 0x2b, 0x01, 0x7d, 0x22, 0x28, 0xfd, 0xf7, 0x05, 0x0c, 0x03, 0x01, 0x0d, 0xa6, 0x71, // ..+.}"(........q + 0xe0, 0x38, 0x37, 0x5d, 0x20, 0x46, 0x1b, 0x16, 0x0c, 0x20, 0x13, 0x10, 0x09, 0x01, 0x5f, 0xfe, // .87] F... ...._. + 0xad, 0x31, 0x08, 0x05, 0x02, 0x05, 0x0b, 0x29, 0x0a, 0xac, 0x01, 0xe9, 0x01, 0x04, 0x02, 0x02, // .1.....)........ + 0x09, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x03, 0x00, 0xe3, 0x09, 0x00, 0x04, 0x1c, 0x00, 0x02, // ................ + 0x00, 0x0b, 0x00, 0x23, 0x00, 0x31, 0x00, 0x4b, 0x00, 0x65, 0x00, 0x7f, 0x00, 0x00, 0x01, 0x33, // ...#.1.K.e.....3 + 0x03, 0x05, 0x34, 0x26, 0x2b, 0x01, 0x11, 0x33, 0x32, 0x36, 0x01, 0x13, 0x14, 0x06, 0x2b, 0x01, // ..4&+..326....+. + 0x22, 0x26, 0x3d, 0x01, 0x21, 0x07, 0x06, 0x23, 0x21, 0x22, 0x26, 0x37, 0x01, 0x36, 0x33, 0x21, // "&=.!..#!"&7.63! + 0x32, 0x16, 0x04, 0x10, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // 2....#!"&5.463!2 + 0x01, 0x14, 0x0e, 0x03, 0x07, 0x23, 0x3e, 0x03, 0x3f, 0x01, 0x34, 0x2e, 0x03, 0x27, 0x33, 0x1e, // .....#>.?.4..'3. + 0x03, 0x1f, 0x01, 0x14, 0x0e, 0x03, 0x07, 0x23, 0x3e, 0x03, 0x3f, 0x01, 0x34, 0x2e, 0x03, 0x27, // .......#>.?.4..' + 0x33, 0x1e, 0x03, 0x1f, 0x01, 0x14, 0x0e, 0x03, 0x07, 0x23, 0x3e, 0x03, 0x3f, 0x01, 0x34, 0x2e, // 3........#>.?.4. + 0x03, 0x27, 0x33, 0x1e, 0x03, 0x17, 0x01, 0xf8, 0xab, 0x01, 0x03, 0x58, 0x65, 0x60, 0x36, 0x34, // .'3........Xe`64 + 0x5b, 0x6c, 0xfd, 0xc2, 0x01, 0x13, 0x0e, 0xd8, 0x0e, 0x13, 0xfe, 0xdd, 0x37, 0x0a, 0x12, 0xfe, // [l..........7... + 0xf5, 0x15, 0x13, 0x0d, 0x02, 0x2c, 0x09, 0x12, 0x01, 0x4c, 0x0e, 0x14, 0x03, 0x3b, 0xfb, 0xc7, // .....,...L...;.. + 0xfe, 0xf2, 0x0e, 0x14, 0x14, 0x0e, 0x01, 0x0c, 0xc8, 0x01, 0x98, 0x01, 0x0f, 0x1c, 0x3d, 0x2b, // ..............=+ + 0x33, 0x26, 0x39, 0x1a, 0x10, 0x01, 0x01, 0x01, 0x0e, 0x1a, 0x38, 0x26, 0x2b, 0x29, 0x3e, 0x1d, // 3&9.......8&+)>. + 0x11, 0x02, 0xb9, 0x01, 0x0f, 0x1c, 0x3e, 0x2b, 0x33, 0x26, 0x39, 0x1a, 0x10, 0x01, 0x01, 0x01, // ......>+3&9..... + 0x0e, 0x19, 0x38, 0x26, 0x2b, 0x29, 0x3e, 0x1d, 0x11, 0x02, 0xb6, 0x01, 0x0f, 0x1c, 0x3d, 0x2b, // ..8&+)>.......=+ + 0x33, 0x26, 0x38, 0x1a, 0x10, 0x01, 0x01, 0x01, 0x0e, 0x19, 0x38, 0x26, 0x2b, 0x29, 0x3e, 0x1d, // 3&8.......8&+)>. + 0x11, 0x01, 0x02, 0x1e, 0x01, 0x09, 0xa6, 0x57, 0x6a, 0xfe, 0x7c, 0x72, 0x01, 0xca, 0xfd, 0x0c, // .......Wj.|r.... + 0x0e, 0x14, 0x14, 0x0e, 0x3e, 0x51, 0x0f, 0x24, 0x11, 0x02, 0xf5, 0x0e, 0x14, 0xc6, 0xfe, 0x7e, // ....>Q.$.......~ + 0xdc, 0x14, 0x0e, 0x02, 0xf4, 0x0e, 0x14, 0xfe, 0x64, 0x0b, 0x24, 0x6b, 0x61, 0x77, 0x2b, 0x2d, // ........d.$kaw+- + 0x77, 0x69, 0x5b, 0x1b, 0x1b, 0x08, 0x1d, 0x5b, 0x5c, 0x83, 0x3b, 0x2f, 0x78, 0x67, 0x59, 0x1a, // wi[....[..;/xgY. + 0x1a, 0x0b, 0x24, 0x6b, 0x61, 0x77, 0x2b, 0x2d, 0x77, 0x69, 0x5b, 0x1b, 0x1b, 0x08, 0x1d, 0x5b, // ..$kaw+-wi[....[ + 0x5c, 0x83, 0x3b, 0x2f, 0x78, 0x67, 0x59, 0x1a, 0x1a, 0x0b, 0x24, 0x6b, 0x61, 0x77, 0x2b, 0x2d, // ..;/xgY...$kaw+- + 0x77, 0x69, 0x5b, 0x1b, 0x1b, 0x08, 0x1d, 0x5b, 0x5c, 0x83, 0x3b, 0x2f, 0x78, 0x67, 0x59, 0x1a, // wi[....[..;/xgY. + 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x05, 0x80, 0x05, 0xf2, 0x00, 0x4a, 0x00, 0x5c, 0x00, 0x6d, // ...........J...m + 0x00, 0x82, 0x00, 0x00, 0x05, 0x34, 0x2e, 0x01, 0x27, 0x2e, 0x02, 0x27, 0x26, 0x23, 0x22, 0x06, // .....4..'..'&#". + 0x23, 0x22, 0x27, 0x2e, 0x03, 0x27, 0x26, 0x34, 0x37, 0x3e, 0x03, 0x37, 0x36, 0x33, 0x32, 0x16, // #"'..'&47>.7632. + 0x33, 0x32, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, // 327>.7>.54&'&#". + 0x0e, 0x03, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x10, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, // ................ + 0x16, 0x33, 0x32, 0x37, 0x3e, 0x01, 0x13, 0x22, 0x26, 0x34, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, // .327>.."&47654'& + 0x34, 0x36, 0x32, 0x17, 0x16, 0x14, 0x07, 0x06, 0x16, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x10, // 462......"'&476. + 0x27, 0x26, 0x34, 0x36, 0x32, 0x17, 0x16, 0x10, 0x07, 0x16, 0x22, 0x27, 0x26, 0x34, 0x37, 0x3e, // '&462....."'&47> + 0x01, 0x10, 0x26, 0x27, 0x26, 0x34, 0x36, 0x32, 0x17, 0x16, 0x12, 0x10, 0x02, 0x07, 0x02, 0x69, // ..&'&462.......i + 0x1a, 0x24, 0x02, 0x01, 0x08, 0x09, 0x09, 0x0f, 0x24, 0x17, 0x5e, 0x18, 0x22, 0x0d, 0x06, 0x0a, // .$......$.^."... + 0x05, 0x08, 0x01, 0x25, 0x25, 0x01, 0x08, 0x05, 0x0a, 0x06, 0x0d, 0x22, 0x18, 0x5e, 0x17, 0x24, // ...%%......".^.$ + 0x0f, 0x09, 0x09, 0x08, 0x01, 0x02, 0x24, 0x1a, 0x57, 0x20, 0x14, 0x19, 0x22, 0x40, 0x39, 0x4f, // ......$.W .."@9O + 0x3f, 0x1d, 0x1f, 0x06, 0x03, 0x31, 0x26, 0x26, 0x31, 0x38, 0x1b, 0x3f, 0x74, 0x03, 0x03, 0x40, // ?....1&&18.?t..@ + 0x22, 0x19, 0x14, 0x20, 0x57, 0x9f, 0x1a, 0x26, 0x13, 0x25, 0x25, 0x13, 0x26, 0x34, 0x13, 0x4b, // ".. W..&.%%.&4.K + 0x4b, 0x15, 0xb8, 0x36, 0x12, 0x13, 0x13, 0x70, 0x70, 0x13, 0x26, 0x34, 0x13, 0x96, 0x96, 0xa3, // K..6...pp.&4.... + 0x36, 0x12, 0x13, 0x13, 0x5a, 0x61, 0x61, 0x5a, 0x13, 0x26, 0x34, 0x13, 0x6d, 0x74, 0x74, 0x6d, // 6...ZaaZ.&4.mttm + 0x99, 0x0b, 0x5e, 0x78, 0x09, 0x04, 0x2d, 0x1b, 0x08, 0x0e, 0x0b, 0x0b, 0x05, 0x15, 0x13, 0x1d, // ..^x..-......... + 0x04, 0x80, 0xfe, 0x80, 0x04, 0x1d, 0x13, 0x15, 0x05, 0x0b, 0x0b, 0x0e, 0x08, 0x1b, 0x2d, 0x04, // ..............-. + 0x09, 0x78, 0x5e, 0x0b, 0x16, 0x3d, 0x0c, 0x08, 0x12, 0x11, 0x2f, 0x55, 0x37, 0x43, 0x0c, 0x07, // .x^..=..../U7C.. + 0x6b, 0xda, 0xfe, 0xf2, 0xda, 0x6b, 0x7a, 0x27, 0x5b, 0x24, 0x01, 0x01, 0x12, 0x08, 0x0c, 0x3d, // k....kz'[$.....= + 0x03, 0xa7, 0x26, 0x35, 0x13, 0x25, 0x35, 0x34, 0x27, 0x13, 0x34, 0x26, 0x13, 0x4b, 0xd4, 0x4b, // ..&5.%54'.4&.K.K + 0x13, 0xb5, 0x13, 0x13, 0x34, 0x13, 0x72, 0x01, 0x3c, 0x72, 0x13, 0x34, 0x26, 0x13, 0x96, 0xfe, // ....4.r.. + 0x37, 0x3e, 0x02, 0x35, 0x34, 0x00, 0x20, 0x00, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x3e, // 7>.54. ...."&54> + 0x02, 0x32, 0x1e, 0x02, 0x04, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x25, 0x14, 0x06, 0x22, // .2....."&462%.." + 0x26, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x20, // &54&#"...."&546 + 0x16, 0x25, 0x16, 0x06, 0x07, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x37, 0x3e, // .%....#"&'&'..7> + 0x01, 0x17, 0x16, 0x05, 0x16, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x2e, 0x01, 0x37, // ........#"'&'..7 + 0x3e, 0x01, 0x17, 0x16, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0xe6, 0x26, 0x34, 0x26, 0x26, 0x34, // >....&4&&4.&4&&4 + 0x53, 0x01, 0x00, 0x5a, 0xff, 0x00, 0x01, 0xad, 0x26, 0x34, 0x26, 0x26, 0x34, 0x02, 0xe9, 0x17, // S..Z....&4&&4... + 0x34, 0x24, 0x23, 0x1f, 0x1d, 0x26, 0x0f, 0xe1, 0x9f, 0x1a, 0x26, 0x26, 0x1a, 0x6a, 0x96, 0x17, // 4$#..&....&&.j.. + 0x33, 0x24, 0x22, 0x28, 0x27, 0x24, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, 0xf9, 0x26, 0x34, 0x26, 0x5b, // 3$"('$......&4&[ + 0x9b, 0xd5, 0xea, 0xd5, 0x9b, 0x5b, 0xfd, 0xfd, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, 0x46, 0x26, // .....[..&4&&4.F& + 0x34, 0x26, 0x83, 0x5d, 0x5c, 0x84, 0x26, 0x34, 0x26, 0xce, 0x01, 0x24, 0xce, 0x01, 0x8a, 0x0a, // 4&.]..&4&..$.... + 0x16, 0x19, 0x09, 0x0e, 0x13, 0x21, 0x07, 0x44, 0x9c, 0x15, 0x08, 0x10, 0x11, 0x34, 0x15, 0xb7, // .....!.D.....4.. + 0x01, 0x25, 0x09, 0x15, 0x19, 0x0b, 0x0c, 0x2c, 0x10, 0x5c, 0xcd, 0x16, 0x07, 0x10, 0x10, 0x34, // .%.....,.......4 + 0x15, 0xeb, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x9a, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x2d, // ...4&&4&.4&&4&.- + 0xff, 0x00, 0x5a, 0x01, 0x00, 0x87, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x00, 0x3b, 0x63, 0x58, // ..Z...4&&4&..;cX + 0x2f, 0x29, 0x23, 0x26, 0x3e, 0x42, 0x29, 0x9f, 0xe1, 0x26, 0x34, 0x26, 0x96, 0x6a, 0x39, 0x61, // /)#&>B)..&4&.j9a + 0x55, 0x30, 0x27, 0x2e, 0x34, 0x61, 0x37, 0xb9, 0x01, 0x07, 0xfe, 0xf9, 0xb9, 0x1a, 0x26, 0x26, // U0'.4a7.......&& + 0x1a, 0x75, 0xd5, 0x9b, 0x5b, 0x5b, 0x9b, 0xd5, 0xdb, 0x34, 0x26, 0x26, 0x34, 0x26, 0x40, 0x1a, // .u..[[...4&&4&@. + 0x26, 0x26, 0x1a, 0x5d, 0x83, 0x83, 0x5d, 0x1a, 0x26, 0x26, 0x1a, 0x92, 0xce, 0xce, 0x8f, 0x19, // &&.]..].&&...... + 0x30, 0x0a, 0x04, 0x16, 0x13, 0xb2, 0x75, 0x10, 0x34, 0x15, 0x15, 0x08, 0x10, 0x89, 0x85, 0x19, // 0.....u.4....... + 0x30, 0x0a, 0x04, 0x29, 0xee, 0x9b, 0x10, 0x34, 0x15, 0x16, 0x07, 0x10, 0xaf, 0x00, 0x00, 0x00, // 0..)...4........ + 0x00, 0x04, 0x00, 0x03, 0xff, 0x00, 0x08, 0xfd, 0x06, 0x00, 0x00, 0x11, 0x00, 0x23, 0x00, 0x67, // .............#.g + 0x00, 0xb0, 0x00, 0x00, 0x01, 0x26, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1f, 0x01, // .....&'..#"..... + 0x16, 0x33, 0x32, 0x36, 0x37, 0x36, 0x25, 0x34, 0x2f, 0x01, 0x26, 0x23, 0x22, 0x06, 0x07, 0x06, // .32676%4/.&#"... + 0x07, 0x16, 0x17, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x01, 0x0e, 0x01, 0x27, 0x26, 0x23, 0x22, 0x07, // .....326...'&#". + 0x32, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x06, 0x07, 0x06, 0x23, 0x32, 0x17, 0x1e, 0x01, 0x07, // 2632......#2.... + 0x0e, 0x01, 0x2b, 0x01, 0x26, 0x27, 0x25, 0x07, 0x06, 0x23, 0x22, 0x27, 0x03, 0x26, 0x36, 0x3f, // ..+.&'%..#"'.&6? + 0x01, 0x13, 0x36, 0x12, 0x37, 0x36, 0x1e, 0x01, 0x06, 0x07, 0x06, 0x07, 0x36, 0x37, 0x36, 0x16, // ..6.76......676. + 0x17, 0x16, 0x06, 0x07, 0x06, 0x07, 0x36, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x25, 0x13, 0x16, 0x06, // ......632...%... + 0x0f, 0x01, 0x03, 0x06, 0x02, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x36, 0x37, 0x36, 0x37, 0x06, // .......#"'&6767. + 0x07, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x37, 0x06, 0x23, 0x22, 0x27, 0x2e, // ..#"&'&6767.#"'. + 0x01, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x33, 0x32, 0x37, 0x22, 0x06, 0x23, 0x22, 0x26, 0x27, 0x26, // .7>...327".#"&'& + 0x36, 0x37, 0x36, 0x33, 0x22, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x3b, 0x02, 0x16, 0x17, 0x05, // 6763"'..7>.;.... + 0x37, 0x36, 0x33, 0x32, 0x04, 0x08, 0x3b, 0x19, 0x11, 0x3e, 0x25, 0x35, 0x4b, 0x24, 0x0a, 0x22, // 7632..;..>%5K$." + 0x30, 0x25, 0x3e, 0x11, 0x19, 0x02, 0x73, 0x24, 0x0a, 0x22, 0x30, 0x25, 0x3e, 0x11, 0x19, 0x3b, // 0%>...s$."0%>..; + 0x3b, 0x19, 0x11, 0x3e, 0x25, 0x35, 0x4b, 0xfe, 0x56, 0x11, 0x4c, 0x23, 0x3e, 0x48, 0x33, 0x30, // ;..>%5K.V.L#>H30 + 0x03, 0x0d, 0x03, 0x5c, 0x9d, 0x28, 0x11, 0x1b, 0x24, 0x12, 0x15, 0x15, 0x12, 0x24, 0x1b, 0x11, // .....(..$....$.. + 0x28, 0x9d, 0x5c, 0x06, 0x10, 0x1c, 0xfe, 0xde, 0xef, 0x0e, 0x0f, 0x28, 0x11, 0xa0, 0x0b, 0x0e, // (..........(.... + 0x16, 0xd1, 0x94, 0x11, 0x95, 0x79, 0x1f, 0x4f, 0x32, 0x07, 0x1f, 0x46, 0x2f, 0x7b, 0x90, 0x28, // .....y.O2..F/{.( + 0x3f, 0x04, 0x05, 0x30, 0x28, 0x54, 0x4b, 0x2e, 0x35, 0x73, 0x67, 0x24, 0x1a, 0x03, 0xb1, 0xa0, // ?..0(TK.5sg$.... + 0x0b, 0x0e, 0x16, 0xd1, 0x94, 0x11, 0x95, 0x79, 0x1a, 0x23, 0x2d, 0x1d, 0x19, 0x07, 0x1f, 0x46, // .......y.#-....F + 0x2f, 0x7b, 0x90, 0x04, 0x08, 0x24, 0x37, 0x04, 0x05, 0x30, 0x28, 0x54, 0x4b, 0x2e, 0x35, 0x73, // /{...$7..0(TK.5s + 0x67, 0x24, 0x1a, 0x12, 0x11, 0x4c, 0x23, 0x3e, 0x48, 0x33, 0x30, 0x03, 0x0d, 0x03, 0x5c, 0x9d, // g$...L#>H30..... + 0x28, 0x11, 0x1b, 0x24, 0x12, 0x15, 0x15, 0x12, 0x24, 0x1b, 0x11, 0x28, 0x9d, 0x5c, 0x06, 0x01, // (..$....$..(.... + 0x0e, 0x1c, 0x01, 0x23, 0xef, 0x0e, 0x0f, 0x28, 0x02, 0x40, 0x02, 0x35, 0x22, 0x27, 0x4b, 0x35, // ...#...(.@.5"'K5 + 0x38, 0x21, 0x08, 0x1f, 0x27, 0x22, 0x35, 0x82, 0x38, 0x21, 0x08, 0x1f, 0x27, 0x22, 0x35, 0x02, // 8!..'"5.8!..'"5. + 0x02, 0x35, 0x22, 0x27, 0x4b, 0x01, 0x12, 0x23, 0x1a, 0x11, 0x1f, 0x11, 0x01, 0x64, 0x53, 0x24, // .5"'K..#.....dS$ + 0x4b, 0x11, 0x09, 0x09, 0x11, 0x4b, 0x24, 0x53, 0x64, 0x02, 0x02, 0x1b, 0x78, 0x07, 0x23, 0x01, // K....K$Sd...x.#. + 0x40, 0x17, 0x31, 0x0d, 0x77, 0x01, 0x0b, 0x9b, 0x01, 0x11, 0x64, 0x19, 0x07, 0x3e, 0x4e, 0x1a, // @.1.w.....d..>N. + 0x3b, 0x45, 0x54, 0x11, 0x05, 0x30, 0x28, 0x28, 0x3f, 0x04, 0x0a, 0x2d, 0x0a, 0x32, 0x12, 0x4b, // ;ET..0((?..-.2.K + 0x7c, 0xfe, 0xc0, 0x17, 0x31, 0x0d, 0x77, 0xfe, 0xf5, 0x9b, 0xfe, 0xef, 0x64, 0x16, 0x23, 0x1f, // |...1.w.....d.#. + 0x4e, 0x1a, 0x3b, 0x45, 0x54, 0x11, 0x01, 0x30, 0x24, 0x28, 0x3f, 0x04, 0x0a, 0x2d, 0x0a, 0x32, // N.;ET..0$(?..-.2 + 0x12, 0x4b, 0x24, 0x23, 0x1a, 0x11, 0x1f, 0x11, 0x01, 0x64, 0x53, 0x24, 0x4b, 0x11, 0x09, 0x09, // .K$#.....dS$K... + 0x11, 0x4b, 0x24, 0x53, 0x64, 0x02, 0x02, 0x1b, 0x78, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .K$Sd...x....... + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x13, 0x00, 0x44, 0x00, 0x4e, 0x00, 0x5c, 0x00, 0x00, // .........D.N.... + 0x01, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x20, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, // ...2654& ....265 + 0x34, 0x36, 0x32, 0x16, 0x02, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x00, // 462..".....2654. + 0x20, 0x00, 0x15, 0x14, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x15, 0x14, 0x06, 0x23, 0x22, 0x06, 0x14, // ...........#".. + 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x3e, 0x02, 0x37, 0x3e, 0x03, 0x35, 0x34, 0x2e, 0x01, 0x01, // .32654>.7>.54... + 0x17, 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x37, 0x01, 0x17, 0x16, 0x14, 0x0f, 0x03, 0x26, // ..."/.&47......& + 0x27, 0x3f, 0x01, 0x36, 0x32, 0x04, 0x20, 0x26, 0x34, 0x26, 0xce, 0xfe, 0xdc, 0xce, 0x26, 0x34, // '?.62. &4&....&4 + 0x26, 0x84, 0xb8, 0x84, 0x68, 0xea, 0xd5, 0x9b, 0x5b, 0x26, 0x34, 0x26, 0x01, 0x07, 0x01, 0x72, // &...h...[&4&...r + 0x01, 0x07, 0x24, 0x27, 0x28, 0x22, 0x24, 0x33, 0x17, 0x96, 0x6a, 0x1a, 0x26, 0x26, 0x1a, 0x9f, // ..$'("$3..j.&&.. + 0xe1, 0x0f, 0x26, 0x1d, 0x1f, 0x23, 0x24, 0x34, 0x17, 0x5b, 0x9b, 0xfd, 0xc2, 0xe2, 0xfd, 0xbd, // ..&..#$4.[...... + 0x0c, 0x22, 0x0c, 0xa8, 0x0c, 0x0c, 0x06, 0x40, 0xa8, 0x0c, 0x0c, 0xe9, 0x1a, 0x47, 0x42, 0x81, // .".....@.....GB. + 0x5b, 0xcf, 0x0d, 0x22, 0x02, 0xc0, 0x1a, 0x26, 0x26, 0x1a, 0x92, 0xce, 0xce, 0x92, 0x1a, 0x26, // [.."...&&......& + 0x26, 0x1a, 0x5d, 0x83, 0x83, 0x01, 0xe3, 0x5b, 0x9b, 0xd5, 0x75, 0x1a, 0x26, 0x26, 0x1a, 0xb9, // &.]....[..u.&&.. + 0x01, 0x07, 0xfe, 0xf9, 0xb9, 0x37, 0x61, 0x34, 0x2e, 0x27, 0x30, 0x55, 0x61, 0x39, 0x6a, 0x96, // .....7a4.'0Ua9j. + 0x26, 0x34, 0x26, 0xe1, 0x9f, 0x29, 0x42, 0x3e, 0x26, 0x23, 0x29, 0x2f, 0x58, 0x63, 0x3b, 0x75, // &4&..)B>&#)/Xc;u + 0xd5, 0x9b, 0xfd, 0x8c, 0xe2, 0xfd, 0xbd, 0x0c, 0x0c, 0xa8, 0x0c, 0x22, 0x0c, 0x06, 0x06, 0xa8, // ...........".... + 0x0c, 0x22, 0x0d, 0xe9, 0x19, 0x47, 0x99, 0x69, 0x5b, 0xcf, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, // ."...G.i[....... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x14, 0x00, 0x58, 0x00, 0x68, 0x00, 0x00, 0x01, 0x14, // .........X.h.... + 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, // ........#"&54676 + 0x33, 0x32, 0x16, 0x01, 0x34, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x27, 0x3e, 0x01, 0x35, 0x34, // 32..4&'&#".'>.54 + 0x23, 0x22, 0x07, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x33, 0x32, 0x14, 0x07, 0x06, 0x07, 0x0e, 0x01, // #"......32...... + 0x23, 0x22, 0x35, 0x34, 0x3e, 0x03, 0x35, 0x34, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, 0x15, // #"54>.54'..#"... + 0x14, 0x16, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, // ..32>.7>.767632. + 0x16, 0x33, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .326....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x62, 0x0d, 0x0b, 0x29, 0x0a, 0x02, 0x05, 0x0b, 0x14, 0x0b, 0x3a, // 3!2..b..)......: + 0x34, 0x46, 0x44, 0x1c, 0x17, 0x1c, 0x11, 0x01, 0xe6, 0x4e, 0x0d, 0x15, 0x0d, 0x5b, 0x87, 0x02, // 4FD......N...[.. + 0x03, 0x31, 0xf2, 0x18, 0x2c, 0x5e, 0x95, 0x4a, 0xa1, 0x93, 0x19, 0x01, 0x04, 0x16, 0x0e, 0x4b, // .1..,^.J.......K + 0x2d, 0x2a, 0x15, 0x1d, 0x1e, 0x16, 0x07, 0x18, 0x45, 0x1f, 0x23, 0x39, 0x19, 0x67, 0x57, 0x52, // -*......E.#9.gWR + 0x92, 0x59, 0x15, 0x06, 0x13, 0x05, 0x03, 0x0b, 0x76, 0x6d, 0x30, 0x4f, 0x01, 0x03, 0x05, 0x09, // .Y......vm0O.... + 0xb8, 0xa9, 0x77, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x03, 0xfd, 0x1b, // ..w.@w..w..w.... + 0x43, 0x32, 0xc8, 0x32, 0x0b, 0x03, 0x01, 0x02, 0x63, 0x40, 0x58, 0xac, 0x26, 0x0e, 0x21, 0xfe, // C2.2....c@X.&.!. + 0x39, 0x0e, 0x7b, 0x05, 0x08, 0x4d, 0x02, 0x16, 0xe2, 0x41, 0xe9, 0x06, 0x11, 0x91, 0xbc, 0x5f, // 9.{..M...A....._ + 0x92, 0x9e, 0x06, 0x02, 0x22, 0x53, 0x34, 0x62, 0x2f, 0x18, 0x2f, 0x20, 0x19, 0x0f, 0x01, 0x03, // ...."S4b/./ .... + 0x07, 0x16, 0x1d, 0x44, 0x52, 0x22, 0x58, 0x6c, 0x6a, 0x92, 0x50, 0x16, 0x59, 0x16, 0x0c, 0x06, // ...DR"Xlj.P.Y... + 0x3c, 0x12, 0x01, 0x09, 0x02, 0x0f, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // <......@w..w..w. + 0xa9, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x25, 0xff, 0x00, 0x05, 0xda, 0x05, 0xff, 0x00, 0x19, // .......%........ + 0x00, 0x65, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x07, 0x06, 0x02, 0x15, 0x14, 0x1e, // .e...4..#"...... + 0x02, 0x33, 0x32, 0x16, 0x3e, 0x02, 0x37, 0x36, 0x12, 0x37, 0x36, 0x01, 0x14, 0x06, 0x23, 0x27, // .32.>.76.76...#' + 0x2e, 0x02, 0x23, 0x22, 0x07, 0x06, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x35, // ..#"........#"&5 + 0x34, 0x3e, 0x01, 0x33, 0x32, 0x16, 0x17, 0x14, 0x0e, 0x03, 0x15, 0x14, 0x16, 0x33, 0x32, 0x3e, // 4>.32........32> + 0x03, 0x37, 0x35, 0x34, 0x26, 0x2a, 0x01, 0x06, 0x23, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x37, // .754&*..#"&54>.7 + 0x36, 0x33, 0x20, 0x11, 0x14, 0x02, 0x07, 0x17, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x02, // 63 .....>.32.... + 0xe8, 0x04, 0x0d, 0x1d, 0x17, 0x27, 0x27, 0x69, 0x6c, 0x11, 0x24, 0x45, 0x2f, 0x04, 0x1c, 0x0c, // .....''il.$E/... + 0x14, 0x0a, 0x02, 0x10, 0x40, 0x10, 0x13, 0x02, 0xf2, 0x0f, 0x08, 0x06, 0x16, 0x50, 0x40, 0x1f, // ....@........P@. + 0xa7, 0xb8, 0x0f, 0x06, 0x0a, 0x1d, 0x08, 0x17, 0x5e, 0x83, 0xb2, 0x60, 0x87, 0x9f, 0x27, 0x57, // ........^..`..'W + 0x36, 0x26, 0xa4, 0x01, 0x21, 0x2e, 0x2e, 0x20, 0x21, 0x20, 0x2d, 0x50, 0x35, 0x2b, 0x16, 0x05, // 6&..!.. ! -P5+.. + 0x07, 0x0a, 0x0a, 0x0a, 0x01, 0xe3, 0xfa, 0x45, 0x7b, 0xbd, 0x6e, 0x34, 0x36, 0x01, 0x76, 0x4c, // .......E{.n46.vL + 0x05, 0x03, 0x65, 0xa3, 0x56, 0x16, 0x1f, 0x13, 0x7a, 0x04, 0xcf, 0x18, 0x1d, 0x1f, 0x0f, 0x17, // ..e.V...z....... + 0x3a, 0xfe, 0xf7, 0x89, 0x2c, 0x53, 0x4e, 0x2f, 0x01, 0x01, 0x05, 0x0c, 0x0a, 0x4d, 0x01, 0x35, // :...,SN/.....M.5 + 0x4d, 0x5b, 0xfd, 0xa7, 0x07, 0x0d, 0x01, 0x03, 0x10, 0x09, 0x5d, 0x08, 0x13, 0x24, 0x8b, 0x1f, // M[........]..$.. + 0x5b, 0xb1, 0x98, 0x5e, 0xa7, 0x88, 0x35, 0x80, 0x69, 0x43, 0x1c, 0x01, 0x17, 0x27, 0x32, 0x48, // [..^..5.iC...'2H + 0x26, 0x21, 0x28, 0x3f, 0x5d, 0x76, 0x60, 0x2a, 0x09, 0x02, 0x03, 0x01, 0xf5, 0xe2, 0x6c, 0xe2, // &!(?]v`*......l. + 0xc2, 0x8d, 0x13, 0x09, 0xfe, 0x98, 0x62, 0xfe, 0xa2, 0x24, 0x03, 0x39, 0x3e, 0x0d, 0x07, 0xbf, // ......b..$.9>... + 0x00, 0x03, 0x00, 0x01, 0xff, 0x00, 0x06, 0x7f, 0x05, 0xfb, 0x00, 0x3d, 0x00, 0x52, 0x00, 0x87, // ...........=.R.. + 0x00, 0x00, 0x01, 0x32, 0x1f, 0x01, 0x16, 0x1f, 0x01, 0x16, 0x07, 0x03, 0x0e, 0x01, 0x07, 0x0d, // ...2............ + 0x01, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x25, 0x21, 0x22, 0x26, 0x37, 0x3e, 0x01, 0x33, // .#"&5467%!"&7>.3 + 0x2d, 0x01, 0x2e, 0x01, 0x37, 0x3e, 0x01, 0x3b, 0x01, 0x05, 0x25, 0x2e, 0x01, 0x37, 0x3e, 0x01, // -...7>.;..%..7>. + 0x33, 0x32, 0x17, 0x05, 0x17, 0x32, 0x16, 0x33, 0x32, 0x36, 0x2f, 0x01, 0x2e, 0x01, 0x37, 0x36, // 32...2.326/...76 + 0x07, 0x17, 0x2f, 0x02, 0x03, 0x2e, 0x01, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x1f, 0x01, 0x0e, // ../....'&676.... + 0x01, 0x07, 0x06, 0x16, 0x01, 0x13, 0x16, 0x0f, 0x01, 0x06, 0x0f, 0x01, 0x36, 0x2f, 0x01, 0x26, // ............6/.& + 0x2f, 0x01, 0x26, 0x23, 0x22, 0x07, 0x03, 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x09, 0x01, 0x26, // /.&#"..&676....& + 0x36, 0x37, 0x36, 0x16, 0x17, 0x13, 0x03, 0x26, 0x36, 0x37, 0x36, 0x16, 0x17, 0x13, 0x17, 0x1e, // 676....&676..... + 0x01, 0x36, 0x2f, 0x01, 0x26, 0x36, 0x37, 0x32, 0x16, 0x03, 0x3f, 0x20, 0x1b, 0xde, 0x3d, 0x31, // .6/.&672..? ..=1 + 0x92, 0x28, 0x0b, 0x48, 0x06, 0x2f, 0x20, 0xfd, 0xf1, 0xfe, 0xa0, 0x09, 0x27, 0x39, 0x36, 0x26, // .(.H./ .....'96& + 0x01, 0x04, 0xfe, 0x40, 0x29, 0x39, 0x02, 0x02, 0x3c, 0x27, 0x01, 0xba, 0xfd, 0xf7, 0x29, 0x32, // ...@)9..<'....)2 + 0x06, 0x06, 0x39, 0x25, 0x0a, 0x01, 0xe1, 0xfe, 0xa1, 0x26, 0x30, 0x06, 0x06, 0x36, 0x23, 0x06, // ..9%.....&0..6#. + 0x0e, 0x01, 0xc0, 0xd9, 0x01, 0x04, 0x01, 0x17, 0x0f, 0x14, 0xba, 0x23, 0x0e, 0x19, 0x1b, 0x15, // ...........#.... + 0xba, 0xda, 0x05, 0x24, 0xee, 0x01, 0x03, 0x01, 0x18, 0x0b, 0x20, 0x1f, 0x4a, 0x1b, 0x8e, 0x02, // ...$...... .J... + 0x06, 0x01, 0x20, 0x12, 0x03, 0xa5, 0x0f, 0x04, 0x0f, 0x30, 0x0c, 0x37, 0x6a, 0x02, 0x29, 0x92, // .. ......0.7j.). + 0x35, 0x40, 0xde, 0x22, 0x2a, 0x33, 0x25, 0xeb, 0x19, 0x0e, 0x22, 0x21, 0x4d, 0x18, 0x01, 0x0a, // 5@."*3%..."!M... + 0xfe, 0xfa, 0x15, 0x15, 0x25, 0x23, 0x4b, 0x14, 0xf1, 0x88, 0x0f, 0x15, 0x22, 0x25, 0x4e, 0x11, // ....%#K....."%N. + 0xc1, 0x65, 0x08, 0x1e, 0x18, 0x01, 0x0c, 0x02, 0x38, 0x29, 0x27, 0x38, 0x03, 0x5f, 0x12, 0x94, // .e......8)'8._.. + 0x28, 0x39, 0xaa, 0x2e, 0x3c, 0xfe, 0x63, 0x20, 0x2b, 0x04, 0x38, 0x20, 0x38, 0x28, 0x25, 0x36, // (9..<.c +.8 8(%6 + 0x05, 0x20, 0x3c, 0x29, 0x27, 0x34, 0x01, 0x40, 0x05, 0x40, 0x29, 0x23, 0x2d, 0x3c, 0x5e, 0x0a, // . <)'4.@.@)#-<^. + 0x3f, 0x25, 0x24, 0x2d, 0x02, 0x60, 0x25, 0x01, 0x2e, 0x0d, 0x7d, 0x17, 0x51, 0x21, 0x26, 0xca, // ?%$-.`%...}.Q!&. + 0x7d, 0x25, 0x02, 0x26, 0x01, 0x06, 0x01, 0x05, 0x01, 0x1f, 0x4e, 0x19, 0x17, 0x0b, 0x1c, 0x93, // }%.&......N..... + 0x01, 0x05, 0x02, 0x2d, 0x6c, 0x01, 0xa7, 0xfe, 0xf6, 0x49, 0x4a, 0xdb, 0x3b, 0x1c, 0x36, 0x3e, // ...-l....IJ.;.6> + 0x2f, 0xaa, 0x3d, 0x2a, 0x94, 0x17, 0x25, 0x01, 0x38, 0x21, 0x51, 0x17, 0x16, 0x10, 0x20, 0xfe, // /.=*..%.8!Q... . + 0xa0, 0x01, 0xc7, 0x23, 0x50, 0x13, 0x12, 0x18, 0x22, 0xfe, 0x5c, 0x01, 0x51, 0x23, 0x4e, 0x11, // ...#P..."...Q#N. + 0x13, 0x1a, 0x26, 0xfe, 0x61, 0xc4, 0x0f, 0x05, 0x14, 0x10, 0xe0, 0x29, 0x3c, 0x01, 0x39, 0x00, // ..&.a......)<.9. + 0x00, 0x04, 0x00, 0x00, 0xff, 0x1e, 0x07, 0x00, 0x05, 0x62, 0x00, 0x52, 0x00, 0x5d, 0x00, 0x6d, // .........b.R.].m + 0x00, 0x70, 0x00, 0x00, 0x25, 0x22, 0x27, 0x2e, 0x01, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x06, 0x37, // .p..%"'..'&54>.7 + 0x36, 0x25, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x1f, 0x01, 0x36, 0x33, 0x20, 0x00, 0x17, // 6%&547632..63 .. + 0x16, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x2f, 0x02, 0x01, // ...........#"/.. + 0x37, 0x06, 0x07, 0x16, 0x1a, 0x01, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x01, 0x06, 0x07, // 7.........#"'... + 0x16, 0x00, 0x15, 0x14, 0x23, 0x22, 0x26, 0x2f, 0x01, 0x03, 0x06, 0x07, 0x1e, 0x01, 0x17, 0x13, // ....#"&/........ + 0x14, 0x25, 0x17, 0x24, 0x13, 0x02, 0x25, 0x1e, 0x01, 0x15, 0x14, 0x06, 0x00, 0x14, 0x16, 0x33, // .%.$..%........3 + 0x32, 0x16, 0x15, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x25, 0x27, 0x17, 0x01, // 2....2654&#"%'.. + 0x4f, 0x02, 0x04, 0x56, 0xa5, 0x39, 0x15, 0x04, 0x04, 0x0a, 0x07, 0x0e, 0x06, 0x12, 0x02, 0xb8, // O..V.9.......... + 0x01, 0x0c, 0x6e, 0x11, 0x74, 0x0c, 0x12, 0x0a, 0x7c, 0x5c, 0x64, 0x01, 0x0a, 0x01, 0xcf, 0x93, // ..n.t...|.d..... + 0x14, 0x14, 0x5b, 0xff, 0x97, 0x6e, 0x11, 0x74, 0x0b, 0x13, 0x0a, 0x7c, 0x40, 0xfe, 0x44, 0x07, // ..[..n.t...|@.D. + 0x3a, 0x29, 0x03, 0xf8, 0xee, 0x09, 0x0d, 0x3b, 0x39, 0x03, 0xfe, 0x38, 0x27, 0x2b, 0x18, 0x01, // :).....;9..8'+.. + 0x7c, 0x0b, 0x0e, 0x89, 0x04, 0x6a, 0xe0, 0x2c, 0x22, 0x02, 0x20, 0x07, 0xb0, 0x03, 0x34, 0x31, // |....j.,". ...41 + 0x01, 0x11, 0xb1, 0xb4, 0xfe, 0xe9, 0x43, 0x48, 0x5e, 0xfe, 0x6e, 0x1c, 0x14, 0x56, 0x7a, 0x1c, // ......CH^.n..Vz. + 0x28, 0x1c, 0xb2, 0x7e, 0x14, 0x01, 0x52, 0x09, 0x07, 0xb4, 0x02, 0x39, 0xb0, 0x5c, 0x1e, 0x27, // (..~..R....9...' + 0x09, 0x14, 0x10, 0x14, 0x0c, 0x16, 0x08, 0x17, 0x03, 0xfb, 0x72, 0xc6, 0x0d, 0x13, 0x0a, 0x40, // ..........r....@ + 0x10, 0xe5, 0x13, 0xfe, 0xed, 0xe8, 0x1f, 0x4c, 0x1f, 0x8e, 0xdf, 0x40, 0xc6, 0x0d, 0x14, 0x09, // .......L...@.... + 0x40, 0x10, 0xe5, 0x77, 0x03, 0x34, 0x07, 0x18, 0x17, 0x05, 0xfe, 0x36, 0xfe, 0x48, 0x03, 0x07, // @..w.4.....6.H.. + 0x02, 0x03, 0x07, 0x03, 0x49, 0x1c, 0x28, 0x2b, 0xfd, 0x43, 0x04, 0x0a, 0x2c, 0x06, 0xc5, 0x01, // ....I.(+.C..,... + 0x9d, 0x35, 0x35, 0x03, 0x2c, 0x0c, 0xfe, 0xb9, 0x0a, 0x66, 0x5b, 0x6f, 0x01, 0x12, 0x01, 0x15, // .55.,....f[o.... + 0x70, 0x40, 0xa9, 0x5c, 0x6a, 0xbd, 0x02, 0x3b, 0x28, 0x1c, 0x7a, 0x56, 0x14, 0x1c, 0x1c, 0x14, // p@..j..;(.zV.... + 0x7e, 0xb2, 0x11, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x97, 0x04, 0xfe, // ~............... + 0x05, 0x69, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x35, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x14, 0x07, 0x06, // .i.../.5.O...... + 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x01, 0x33, 0x32, 0x17, 0x06, 0x07, 0x26, 0x23, 0x22, // #"'&54>.32...&#" + 0x06, 0x15, 0x14, 0x16, 0x20, 0x36, 0x35, 0x34, 0x27, 0x36, 0x37, 0x16, 0x27, 0x14, 0x02, 0x0f, // .... 654'67.'... + 0x01, 0x22, 0x27, 0x3e, 0x04, 0x35, 0x34, 0x27, 0x16, 0x27, 0x15, 0x26, 0x27, 0x1e, 0x01, 0x13, // ."'>.54'.'.&'... + 0x22, 0x27, 0x36, 0x37, 0x36, 0x37, 0x0e, 0x01, 0x07, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x37, // "'6767...&546767 + 0x3e, 0x01, 0x37, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x01, 0x04, 0x1a, 0x93, 0x94, 0xe6, 0xe8, 0x92, // >.7............. + 0x93, 0x88, 0xf2, 0x93, 0x60, 0x56, 0x20, 0x07, 0x42, 0x4d, 0xa7, 0xe3, 0xe1, 0x01, 0x52, 0xe0, // ....`V .BM....R. + 0x20, 0x42, 0x39, 0x29, 0xcc, 0x9f, 0x9f, 0x0e, 0x1d, 0x21, 0x53, 0x7f, 0x48, 0x2d, 0x0f, 0x03, // B9).....!S.H-.. + 0x37, 0x37, 0x49, 0x85, 0x58, 0x6d, 0xfd, 0x53, 0x4d, 0xda, 0x48, 0x13, 0x02, 0x2a, 0xc3, 0x6b, // 77I.Xm.SM.H..*.k + 0x23, 0x22, 0x1a, 0x2e, 0x6f, 0x3b, 0x5e, 0x1b, 0x4a, 0x18, 0x20, 0x71, 0x01, 0xae, 0xd7, 0x9f, // #"..o;^.J. q.... + 0xa1, 0xa1, 0x9f, 0xd7, 0x93, 0xf7, 0x92, 0x1f, 0x3e, 0x40, 0x1c, 0xf6, 0xa8, 0xaa, 0xed, 0xed, // ........>@...... + 0xaa, 0x59, 0x4d, 0x0d, 0x24, 0x62, 0x4b, 0xc0, 0xfe, 0xce, 0x64, 0x01, 0x05, 0x20, 0x8d, 0xa8, // .YM.$bK...d.. .. + 0xd2, 0xaf, 0x5b, 0x45, 0x22, 0xa0, 0xa2, 0x02, 0xd6, 0xe2, 0x3b, 0xff, 0xfe, 0xb9, 0x4b, 0x78, // ..[E".....;...Kx + 0x7f, 0x25, 0x13, 0x5e, 0x91, 0x19, 0x36, 0x3b, 0x25, 0x54, 0x1a, 0x2c, 0x1e, 0x10, 0x55, 0x3a, // .%.^..6;%T.,..U: + 0x69, 0x94, 0x6d, 0x3d, 0x4d, 0x6b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // i.m=Mk.......... + 0x05, 0x80, 0x00, 0x1a, 0x00, 0x29, 0x00, 0x2e, 0x00, 0x44, 0x00, 0x54, 0x00, 0x00, 0x01, 0x34, // .....)...D.T...4 + 0x27, 0x06, 0x07, 0x16, 0x15, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, // '......"&54632.6 + 0x37, 0x26, 0x23, 0x22, 0x06, 0x10, 0x16, 0x20, 0x36, 0x03, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x07, // 7&#"... 6....... + 0x16, 0x3b, 0x01, 0x36, 0x11, 0x34, 0x27, 0x2e, 0x01, 0x27, 0x16, 0x05, 0x34, 0x27, 0x06, 0x07, // .;.6.4'..'..4'.. + 0x0e, 0x01, 0x15, 0x14, 0x17, 0x3e, 0x01, 0x37, 0x0e, 0x01, 0x07, 0x16, 0x33, 0x32, 0x36, 0x37, // .....>.7....3267 + 0x36, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, // 6%...#!"&5.463!2 + 0x16, 0x04, 0x1a, 0x1c, 0x29, 0x2c, 0x16, 0x9a, 0xe8, 0x9b, 0x9c, 0x73, 0x35, 0x2d, 0x04, 0x17, // ....),.....s5-.. + 0x3c, 0x41, 0x9a, 0xcf, 0xcf, 0x01, 0x34, 0xcf, 0xb2, 0x02, 0x0a, 0x1f, 0x32, 0x57, 0x39, 0x15, // .54&#".#"'654' + 0x2e, 0x01, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x06, 0x23, 0x22, 0x26, 0x23, 0x22, 0x06, // ..#"......#"&#". + 0x15, 0x14, 0x1e, 0x02, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x1e, 0x02, 0x33, // ...............3 + 0x32, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x33, 0x32, 0x3e, // 2632..32>.32.32> + 0x01, 0x37, 0x36, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, 0x12, 0x24, 0x20, 0x04, 0x04, // .76.... $...$ .. + 0xff, 0x16, 0x43, 0x66, 0x1d, 0x07, 0x27, 0x2f, 0x27, 0x25, 0x14, 0x0c, 0x28, 0x0b, 0x04, 0x08, // ..Cf..'/'%..(... + 0x05, 0x11, 0x24, 0x86, 0x55, 0xc7, 0x4c, 0x11, 0x05, 0x04, 0x0a, 0x0c, 0x28, 0x0a, 0x15, 0x23, // ..$.U.L.....(..# + 0x27, 0x2f, 0x27, 0x07, 0x40, 0x86, 0x16, 0x89, 0x02, 0x08, 0x0f, 0x10, 0x0c, 0x33, 0x0e, 0x23, // '/'.@........3.# + 0x40, 0x2c, 0x47, 0x29, 0x2b, 0x48, 0x2b, 0x40, 0x23, 0x0e, 0x33, 0x0d, 0x10, 0x0e, 0x08, 0x02, // @,G)+H+@#.3..... + 0x89, 0x01, 0x01, 0xce, 0xfe, 0x9f, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, // .......^.....a.. + 0x01, 0x61, 0x01, 0x84, 0x16, 0x05, 0x0f, 0x58, 0x40, 0x13, 0x06, 0x0f, 0x16, 0x0c, 0x1d, 0x16, // .a.....X@....... + 0x13, 0x19, 0x10, 0x02, 0x5f, 0x13, 0x4f, 0x23, 0x4e, 0x57, 0xa5, 0x23, 0x4f, 0x13, 0x5f, 0x02, // ...._.O#NW.#O._. + 0x0f, 0x18, 0x14, 0x15, 0x1d, 0x0c, 0x16, 0x0f, 0x06, 0x13, 0x8a, 0x1d, 0x05, 0x16, 0x2e, 0x16, // ................ + 0x05, 0x2a, 0x13, 0x09, 0x1e, 0x23, 0x1e, 0x1e, 0x23, 0x1e, 0x08, 0x14, 0x28, 0x05, 0x16, 0x01, // .*...#..#...(... + 0xfb, 0xfe, 0x5e, 0xfe, 0x9f, 0xce, 0xce, 0x01, 0x61, 0x01, 0xa2, 0x01, 0x61, 0xce, 0xce, 0x00, // ..^.....a...a... + 0x00, 0x01, 0x00, 0x0f, 0xff, 0x80, 0x06, 0x71, 0x05, 0x80, 0x00, 0x5b, 0x00, 0x00, 0x01, 0x36, // .......q...[...6 + 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x33, 0x32, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x0e, // .......32632.... + 0x02, 0x15, 0x14, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x0e, 0x02, 0x23, // ...............# + 0x22, 0x26, 0x23, 0x22, 0x07, 0x0e, 0x04, 0x23, 0x22, 0x2e, 0x03, 0x27, 0x26, 0x23, 0x22, 0x06, // "&#"...#"..'&#". + 0x23, 0x22, 0x2e, 0x01, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x35, // #"..'&54767>.765 + 0x34, 0x2e, 0x02, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x34, 0x37, // 4..54632.327&547 + 0x3e, 0x01, 0x03, 0x50, 0x86, 0xd5, 0x39, 0x1b, 0x09, 0x0e, 0x0e, 0x12, 0x42, 0x12, 0x1d, 0x36, // >..P..9.....B..6 + 0x3f, 0x4b, 0x3f, 0x0c, 0x25, 0x83, 0x4f, 0x1c, 0x34, 0x1c, 0xdb, 0x07, 0x08, 0x14, 0x17, 0x14, // ?K?.%.O.4....... + 0x54, 0x16, 0x25, 0x19, 0x20, 0x3e, 0x36, 0x3e, 0x5a, 0x36, 0x34, 0x59, 0x3d, 0x36, 0x3e, 0x1f, // T.%. >6>Z64Y=6>. + 0x1a, 0x25, 0x18, 0x53, 0x11, 0x19, 0x14, 0x08, 0x07, 0xdb, 0x1c, 0x34, 0x1c, 0x4e, 0x85, 0x24, // .%.S.......4.N.$ + 0x0c, 0x3f, 0x4c, 0x3f, 0x34, 0x1d, 0x0f, 0x42, 0x14, 0x12, 0x0e, 0x09, 0x1b, 0x40, 0xd8, 0x05, // .?L?4..B.....@.. + 0x80, 0x01, 0x8b, 0x7b, 0x3a, 0x79, 0x2f, 0x90, 0x07, 0x1b, 0x24, 0x1c, 0x20, 0x2c, 0x13, 0x27, // ...{:y/...$. ,.' + 0x1c, 0x0f, 0x1c, 0x52, 0x88, 0x21, 0x0c, 0x0b, 0x06, 0x1d, 0x46, 0x21, 0x0b, 0x38, 0x25, 0x0d, // ...R.!....F!.8%. + 0x05, 0x05, 0x23, 0x29, 0x28, 0x1b, 0x1b, 0x28, 0x29, 0x23, 0x05, 0x05, 0x0f, 0x25, 0x3a, 0x0b, // ..#)(..()#...%:. + 0x21, 0x46, 0x1d, 0x06, 0x0b, 0x0c, 0x20, 0x8a, 0x51, 0x1c, 0x0f, 0x1c, 0x27, 0x14, 0x2b, 0x1f, // !F.... .Q...'.+. + 0x1b, 0x25, 0x1a, 0x07, 0x8e, 0x30, 0x7a, 0x3a, 0x89, 0x7a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .%...0z:.z...... + 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x00, 0x01, 0x34, 0x27, 0x2e, // .......O._...4'. + 0x01, 0x27, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x26, 0x23, 0x22, 0x06, 0x23, 0x22, 0x27, // .'&54>.54&#".#"' + 0x36, 0x35, 0x34, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x06, 0x23, 0x22, // 654'..#"......#" + 0x26, 0x23, 0x22, 0x06, 0x15, 0x14, 0x1e, 0x02, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, // &#"............. + 0x17, 0x1e, 0x02, 0x33, 0x32, 0x36, 0x33, 0x32, 0x1e, 0x02, 0x33, 0x32, 0x3e, 0x02, 0x33, 0x32, // ...32632..32>.32 + 0x16, 0x33, 0x32, 0x3e, 0x01, 0x37, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, // .32>.76....#!"&5 + 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x00, 0x16, 0x43, 0x66, 0x1d, 0x07, 0x27, 0x2e, // .463!2....Cf..'. + 0x27, 0x25, 0x14, 0x0b, 0x28, 0x0c, 0x04, 0x08, 0x05, 0x11, 0x24, 0x85, 0x56, 0xc6, 0x4d, 0x12, // '%..(.....$.V.M. + 0x06, 0x0a, 0x05, 0x0b, 0x29, 0x0a, 0x14, 0x23, 0x27, 0x2e, 0x27, 0x07, 0x40, 0x86, 0x16, 0x8a, // ....)..#'.'.@... + 0x02, 0x08, 0x0e, 0x10, 0x0d, 0x33, 0x0d, 0x23, 0x41, 0x2c, 0x47, 0x29, 0x2b, 0x48, 0x2b, 0x41, // .....3.#A,G)+H+A + 0x23, 0x0d, 0x34, 0x0d, 0x0f, 0x0f, 0x08, 0x01, 0x8a, 0x01, 0x00, 0xa9, 0x77, 0xfc, 0x40, 0x77, // #.4.........w.@w + 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, 0x01, 0x84, 0x16, 0x05, 0x0e, 0x58, 0x41, 0x0e, 0x0b, // ..w..w......XA.. + 0x0f, 0x16, 0x0c, 0x1d, 0x16, 0x13, 0x19, 0x10, 0x02, 0x3f, 0x34, 0x4e, 0x24, 0x4e, 0x57, 0xa5, // .........?4N$NW. + 0x26, 0x4d, 0x26, 0x4c, 0x02, 0x10, 0x19, 0x14, 0x15, 0x1d, 0x0c, 0x16, 0x0f, 0x0b, 0x0e, 0x8a, // &M&L............ + 0x1d, 0x05, 0x16, 0x2f, 0x16, 0x05, 0x2a, 0x13, 0x0a, 0x1e, 0x23, 0x1e, 0x1e, 0x23, 0x1e, 0x09, // .../..*...#..#.. + 0x13, 0x2b, 0x03, 0x16, 0x03, 0x0b, 0xfc, 0x40, 0x77, 0xa9, 0xa9, 0x77, 0x03, 0xc0, 0x77, 0xa9, // .+.....@w..w..w. + 0xa9, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x09, 0x00, 0x06, 0x00, 0x00, 0x4f, // ...............O + 0x00, 0x00, 0x01, 0x0e, 0x05, 0x07, 0x0e, 0x01, 0x07, 0x0e, 0x03, 0x07, 0x06, 0x07, 0x24, 0x05, // ..............$. + 0x06, 0x07, 0x3e, 0x01, 0x3f, 0x01, 0x3e, 0x03, 0x37, 0x36, 0x05, 0x32, 0x17, 0x1e, 0x01, 0x07, // ..>.?.>.76.2.... + 0x03, 0x06, 0x27, 0x26, 0x23, 0x22, 0x04, 0x07, 0x06, 0x2e, 0x02, 0x2f, 0x01, 0x34, 0x35, 0x34, // ..'&#"...../.454 + 0x33, 0x32, 0x37, 0x12, 0x00, 0x33, 0x32, 0x1e, 0x05, 0x17, 0x37, 0x3e, 0x04, 0x37, 0x3e, 0x03, // 327..32...7>.7>. + 0x09, 0x00, 0x45, 0x70, 0x42, 0x35, 0x16, 0x16, 0x03, 0x0a, 0x33, 0x17, 0x0f, 0x46, 0x41, 0x50, // ..EpB5....3..FAP + 0x08, 0x2f, 0x68, 0xfe, 0xab, 0xfe, 0xdf, 0x5c, 0xd3, 0x2f, 0x4e, 0x10, 0x0f, 0x47, 0xb8, 0x53, // ./h....../N..G.S + 0x85, 0x4c, 0xba, 0x01, 0x17, 0x01, 0x09, 0x0b, 0x06, 0x06, 0xc2, 0x0f, 0x20, 0x80, 0xe2, 0x92, // .L.......... ... + 0xfe, 0x00, 0x88, 0x52, 0x86, 0x50, 0x2a, 0x0c, 0x01, 0x06, 0x8a, 0xe9, 0xc0, 0x01, 0x6d, 0xc9, // ...R.P*.......m. + 0x05, 0x13, 0x39, 0x35, 0x46, 0x38, 0x34, 0x0e, 0x66, 0x02, 0x26, 0x33, 0x47, 0x61, 0x34, 0x42, // ..95F84.f.&3Ga4B + 0x7c, 0x77, 0x42, 0x06, 0x00, 0x2e, 0x5c, 0x46, 0x49, 0x2a, 0x2f, 0x06, 0x12, 0xed, 0x2e, 0x1d, // |wB....FI*/..... + 0x3f, 0x26, 0x2c, 0x06, 0x1f, 0xc8, 0x0e, 0xac, 0x35, 0x7e, 0x10, 0x1e, 0x07, 0x07, 0x1b, 0x4b, // ?&,.....5~.....K + 0x20, 0x25, 0x0d, 0x1f, 0x26, 0x03, 0x06, 0x16, 0x0b, 0xfe, 0xa7, 0x1d, 0x07, 0x18, 0x59, 0x02, // %..&.........Y. + 0x01, 0x1c, 0x2e, 0x22, 0x11, 0x01, 0x01, 0x01, 0x06, 0x37, 0x01, 0x6e, 0x01, 0x3c, 0x01, 0x09, // ...".....7.n.<.. + 0x0f, 0x22, 0x2d, 0x49, 0x2e, 0xb1, 0x04, 0x4d, 0x60, 0x7b, 0x90, 0x41, 0x52, 0x77, 0x4a, 0x21, // ."-I...M`{.ARwJ! + 0x00, 0x05, 0x00, 0x00, 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x46, 0x00, 0x58, 0x00, 0x5e, // ...........F.X.^ + 0x00, 0x64, 0x00, 0x6a, 0x00, 0x00, 0x01, 0x14, 0x07, 0x27, 0x17, 0x06, 0x07, 0x27, 0x17, 0x06, // .d.j.....'...'.. + 0x07, 0x27, 0x17, 0x06, 0x07, 0x27, 0x17, 0x06, 0x22, 0x27, 0x37, 0x07, 0x26, 0x27, 0x37, 0x07, // .'...'.."'7.&'7. + 0x26, 0x27, 0x37, 0x07, 0x26, 0x27, 0x37, 0x07, 0x26, 0x35, 0x34, 0x37, 0x17, 0x27, 0x36, 0x37, // &'7.&'7.&547.'67 + 0x17, 0x27, 0x36, 0x37, 0x17, 0x27, 0x36, 0x37, 0x17, 0x27, 0x36, 0x33, 0x32, 0x17, 0x07, 0x37, // .'67.'67.'632..7 + 0x16, 0x17, 0x07, 0x37, 0x16, 0x17, 0x07, 0x37, 0x16, 0x17, 0x07, 0x37, 0x16, 0x17, 0x34, 0x02, // ...7...7...7..4. + 0x24, 0x23, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x1e, 0x02, 0x33, 0x32, 0x24, 0x12, 0x13, 0x11, 0x09, // $#"......32$.... + 0x01, 0x11, 0x01, 0x11, 0x01, 0x11, 0x09, 0x01, 0x11, 0x01, 0x11, 0x09, 0x01, 0x11, 0x01, 0x05, // ................ + 0x2a, 0x05, 0xec, 0xe0, 0x13, 0x27, 0xd6, 0xb1, 0x2c, 0x3f, 0x9d, 0x67, 0x3d, 0x4f, 0x4f, 0x0e, // *....'..,?.g=OO. + 0x26, 0x4c, 0x26, 0x0e, 0x4e, 0x4a, 0x42, 0x67, 0x9d, 0x3b, 0x31, 0xb2, 0xd6, 0x27, 0x13, 0xe0, // &L&.NJBg.;1..'.. + 0xed, 0x05, 0x05, 0xee, 0xe1, 0x13, 0x27, 0xd6, 0xb1, 0x2e, 0x3d, 0x9e, 0x67, 0x43, 0x49, 0x4d, // ......'...=.gCIM + 0x0d, 0x24, 0x27, 0x26, 0x26, 0x0e, 0x4e, 0x4a, 0x42, 0x67, 0x9e, 0x3d, 0x2e, 0xb1, 0xd5, 0x25, // .$'&&.NJBg.=...% + 0x15, 0xe0, 0xed, 0x05, 0x1e, 0x9d, 0xfe, 0xf3, 0x9e, 0x77, 0xd8, 0x9d, 0x5c, 0x5c, 0x9d, 0xd8, // .........w...... + 0x77, 0x9e, 0x01, 0x0d, 0x9d, 0x49, 0xfd, 0x6f, 0xfd, 0x6f, 0x02, 0x91, 0x02, 0xc4, 0xfd, 0x3c, // w....I.o.o.....< + 0xfd, 0x3c, 0x05, 0xc4, 0xfd, 0x00, 0xfd, 0x00, 0x03, 0x00, 0x02, 0x80, 0x2d, 0x1f, 0x0e, 0x4e, // .<..........-..N + 0x49, 0x44, 0x67, 0x9e, 0x3d, 0x2f, 0xb2, 0xd7, 0x25, 0x16, 0xe4, 0xf0, 0x06, 0x06, 0xee, 0xe2, // IDg.=/..%....... + 0x13, 0x28, 0xd7, 0xb2, 0x2b, 0x41, 0x9e, 0x68, 0x45, 0x48, 0x4f, 0x0e, 0x2a, 0x22, 0x23, 0x2a, // .(..+A.hEHO.*"#* + 0x0e, 0x4f, 0x49, 0x43, 0x68, 0x9f, 0x3d, 0x2f, 0xb2, 0xd7, 0x27, 0x13, 0xe0, 0xec, 0x06, 0x06, // .OICh.=/..'..... + 0xed, 0xe1, 0x13, 0x28, 0xd6, 0xb2, 0x2f, 0x3d, 0x9f, 0x68, 0x3e, 0x4f, 0x4e, 0x0e, 0x1f, 0x2e, // ...(../=.h>ON... + 0xa0, 0x01, 0x0f, 0x9d, 0x5d, 0x9d, 0xda, 0x78, 0x77, 0xda, 0x9d, 0x5d, 0x9d, 0x01, 0x0f, 0x02, // ....]..xw..].... + 0x1e, 0xfd, 0x02, 0xfe, 0x81, 0x01, 0x7f, 0x02, 0xfe, 0x01, 0x7f, 0xf9, 0xcb, 0x01, 0x9c, 0x03, // ................ + 0x37, 0x01, 0x9b, 0xfe, 0x65, 0xfc, 0xc9, 0x03, 0x5b, 0xfc, 0x80, 0xfe, 0x40, 0x01, 0xc0, 0x03, // 7...e...[...@... + 0x80, 0x01, 0xc0, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x14, // ................ + 0x00, 0x29, 0x00, 0x36, 0x00, 0x00, 0x01, 0x21, 0x07, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, // .).6...!.!"..... + 0x17, 0x16, 0x33, 0x15, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x25, 0x33, 0x01, 0x0e, 0x06, // ..3.#"&5.46%3... + 0x07, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x01, 0x33, 0x13, 0x01, 0x11, 0x21, 0x36, 0x37, // .567654'.3...!67 + 0x21, 0x11, 0x34, 0x26, 0x27, 0x37, 0x1e, 0x01, 0x01, 0x53, 0x02, 0xb3, 0x1a, 0xfd, 0x67, 0x6e, // !.4&'7...S....gn + 0x9d, 0x79, 0x5d, 0x17, 0x4b, 0x2d, 0x8c, 0xc7, 0xc7, 0x03, 0xdf, 0xf7, 0xfe, 0x1e, 0x17, 0x23, // .y].K-.........# + 0x37, 0x35, 0x4c, 0x53, 0x6c, 0x3e, 0xa3, 0x39, 0x14, 0x14, 0xfe, 0xe3, 0xe4, 0xbb, 0x03, 0x56, // 75LSl>.9.......V + 0xfc, 0xe5, 0x25, 0x08, 0x02, 0xa6, 0x63, 0x50, 0x19, 0x65, 0x7d, 0x05, 0x26, 0x48, 0x9e, 0x6e, // ..%...cP.e}.&H.n + 0xfc, 0xfd, 0x5f, 0x95, 0x13, 0x05, 0x48, 0xc8, 0x8c, 0x03, 0x03, 0x8c, 0xc8, 0xda, 0xfa, 0xf2, // .._...H......... + 0x3d, 0x55, 0x6f, 0x4c, 0x51, 0x31, 0x21, 0x02, 0xc3, 0x1a, 0x9c, 0x34, 0x35, 0x36, 0x34, 0x02, // =UoLQ1!....4564. + 0xdd, 0xfd, 0xb7, 0x01, 0xf2, 0xfb, 0xa9, 0x37, 0x12, 0x04, 0x0e, 0x55, 0x8c, 0x1d, 0x43, 0x22, // .......7...U..C" + 0xb3, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x07, // ................ + 0x00, 0x14, 0x00, 0x21, 0x00, 0x2d, 0x00, 0x39, 0x00, 0x5b, 0x00, 0x6e, 0x00, 0x78, 0x00, 0x90, // ...!.-.9.[.n.x.. + 0x00, 0xe7, 0x00, 0x00, 0x00, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x03, 0x35, 0x34, 0x26, // ......."&462.54& + 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x22, 0x06, 0x1d, // ".....326754&".. + 0x01, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, // ...326754&"..... + 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x22, 0x06, 0x1d, 0x01, 0x14, 0x16, 0x32, 0x36, 0x01, 0x06, // 26754&".....26.. + 0x04, 0x23, 0x22, 0x2e, 0x02, 0x35, 0x34, 0x37, 0x06, 0x15, 0x14, 0x12, 0x17, 0x36, 0x33, 0x32, // .#"..547.....632 + 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x12, 0x27, // .632.62.632..6.' + 0x34, 0x23, 0x22, 0x07, 0x06, 0x23, 0x22, 0x35, 0x34, 0x37, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, // 4#"..#"547....32 + 0x37, 0x36, 0x01, 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x01, 0x34, 0x2e, 0x01, // 76.4&"....26.4.. + 0x23, 0x22, 0x06, 0x07, 0x06, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, // #"......327632.. + 0x14, 0x07, 0x3e, 0x01, 0x05, 0x14, 0x02, 0x07, 0x06, 0x04, 0x0f, 0x01, 0x15, 0x14, 0x06, 0x23, // ..>............# + 0x22, 0x27, 0x06, 0x22, 0x27, 0x06, 0x23, 0x22, 0x27, 0x06, 0x23, 0x22, 0x26, 0x35, 0x06, 0x23, // "'."'.#"'.#"&5.# + 0x22, 0x27, 0x36, 0x37, 0x26, 0x27, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x3e, // "'67&'.327&'&54> + 0x03, 0x33, 0x32, 0x17, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x37, 0x3e, 0x01, 0x33, 0x32, // .32.67>.7>.7>.32 + 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x0e, 0x02, 0x07, 0x1e, 0x01, 0x15, 0x14, 0x07, // .632............ + 0x16, 0x17, 0x36, 0x33, 0x32, 0x17, 0x16, 0x03, 0x54, 0x22, 0x38, 0x22, 0x22, 0x38, 0x82, 0x29, // ..632...T"8""8.) + 0x3c, 0x28, 0x29, 0x1d, 0x1e, 0x29, 0xac, 0x28, 0x3c, 0x29, 0x29, 0x1e, 0x1d, 0x29, 0xae, 0x29, // <()..).(<))..).) + 0x3c, 0x29, 0x29, 0x3c, 0x29, 0xae, 0x29, 0x3c, 0x29, 0x29, 0x3c, 0x29, 0x01, 0x0c, 0x54, 0xfe, // <))<).)<))<)..T. + 0xd8, 0xaf, 0x7b, 0xd5, 0x90, 0x52, 0x15, 0x68, 0x82, 0x78, 0x1e, 0x3d, 0x38, 0x1e, 0x20, 0x37, // ..{..R.h.x.=8. 7 + 0x38, 0x1e, 0x20, 0x6e, 0x20, 0x1e, 0x38, 0x1c, 0x31, 0x0d, 0x70, 0x82, 0x8e, 0x48, 0x11, 0x1e, // 8. n .8.1.p..H.. + 0x5f, 0x36, 0xe2, 0x1e, 0x53, 0xb2, 0x92, 0x6f, 0x63, 0x0d, 0xfe, 0x46, 0x40, 0x62, 0x40, 0x3f, // _6..S..oc..F@b@? + 0x64, 0x3f, 0x02, 0x75, 0x4b, 0x97, 0x62, 0x4d, 0x90, 0x37, 0x30, 0x5b, 0x66, 0x35, 0x59, 0x24, // d?.uK.bM.70[f5Y$ + 0x11, 0x33, 0x35, 0x04, 0x4b, 0x55, 0x01, 0x17, 0x43, 0x3c, 0x3a, 0xfe, 0xee, 0x5b, 0x04, 0x3b, // .35.KU..C<:..[.; + 0x2b, 0x38, 0x1e, 0x20, 0x6e, 0x20, 0x1e, 0x38, 0x37, 0x20, 0x1e, 0x38, 0x2f, 0x38, 0x5a, 0x6c, // +8. n .87 .8/8Zl + 0x76, 0x5d, 0x36, 0x34, 0x71, 0x45, 0x20, 0x27, 0x59, 0x4b, 0xc0, 0x30, 0x18, 0x12, 0x2d, 0x41, // v]64qE 'YK.0..-A + 0x6c, 0x42, 0x3b, 0x16, 0x13, 0x17, 0x02, 0x14, 0x03, 0x0a, 0x1a, 0x18, 0x10, 0x57, 0xf9, 0x88, // lB;..........W.. + 0x23, 0x1b, 0x3b, 0x57, 0x53, 0x39, 0x05, 0x0c, 0x0d, 0x13, 0x01, 0x11, 0x26, 0x10, 0x9d, 0x28, // #.;WS9......&..( + 0x19, 0x23, 0x2d, 0x37, 0x5a, 0x04, 0xe8, 0x3a, 0x2f, 0x2f, 0x3a, 0x2f, 0xfa, 0x54, 0x72, 0x1e, // .#-7Z..://:/.Tr. + 0x2b, 0x2b, 0x1e, 0x72, 0x1e, 0x2c, 0x2c, 0x1e, 0x72, 0x1e, 0x2b, 0x2b, 0x1e, 0x72, 0x1e, 0x2c, // ++.r.,,.r.++.r., + 0x2c, 0x1e, 0x72, 0x1e, 0x2b, 0x2b, 0x1e, 0x72, 0x1e, 0x2c, 0x2c, 0x1e, 0x72, 0x1e, 0x2b, 0x2b, // ,.r.++.r.,,.r.++ + 0x1e, 0x72, 0x1e, 0x2c, 0x2c, 0x02, 0xca, 0xa0, 0xc7, 0x67, 0xab, 0xe0, 0x78, 0x58, 0x56, 0xaf, // .r.,,....g..xXV. + 0xd7, 0xa2, 0xfe, 0xd4, 0x65, 0x39, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x1f, 0x19, 0x5e, 0x01, // ....e9222222..^. + 0x13, 0xb3, 0x4b, 0x06, 0x13, 0xf3, 0x56, 0x76, 0x7f, 0x94, 0x96, 0xdd, 0x46, 0x30, 0x02, 0xb2, // ..K...Vv....F0.. + 0x32, 0x4f, 0x4f, 0x32, 0x33, 0x4f, 0x4f, 0xfe, 0xe0, 0x60, 0xa6, 0x6c, 0x46, 0x3b, 0x9f, 0x6d, // 2OO23OO..`.lF;.m + 0x68, 0x6a, 0x13, 0x06, 0x38, 0x34, 0x1a, 0x14, 0x44, 0xc3, 0x72, 0x6f, 0xfe, 0xeb, 0x42, 0x40, // hj..84..D.ro..B@ + 0x9d, 0x1a, 0x01, 0x72, 0x2b, 0x40, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x43, 0x30, 0x44, 0x50, // ...r+@222222C0DP + 0x01, 0x13, 0x1f, 0x60, 0x07, 0x2e, 0xc0, 0x72, 0x38, 0x68, 0x39, 0x89, 0x9c, 0x7e, 0x54, 0x34, // ...`...r8h9..~T4 + 0x1d, 0x19, 0x03, 0x14, 0x06, 0x0f, 0x2e, 0x26, 0x14, 0x6f, 0x84, 0x04, 0x40, 0x39, 0x05, 0x07, // .......&.o..@9.. + 0x05, 0x11, 0x0f, 0x13, 0x01, 0x06, 0x18, 0x0c, 0x06, 0x13, 0x8a, 0xf0, 0x1e, 0x31, 0x50, 0x00, // .............1P. + 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x19, 0x00, 0x25, 0x00, 0x31, // .............%.1 + 0x00, 0x00, 0x01, 0x34, 0x27, 0x21, 0x15, 0x33, 0x0e, 0x01, 0x23, 0x22, 0x26, 0x34, 0x36, 0x33, // ...4'!.3..#"&463 + 0x32, 0x17, 0x37, 0x26, 0x23, 0x22, 0x06, 0x10, 0x16, 0x33, 0x32, 0x36, 0x25, 0x33, 0x35, 0x23, // 2.7&#"...326%35# + 0x35, 0x23, 0x15, 0x23, 0x15, 0x33, 0x15, 0x33, 0x00, 0x10, 0x02, 0x04, 0x20, 0x24, 0x02, 0x10, // 5#.#.3.3.... $.. + 0x12, 0x24, 0x20, 0x04, 0x03, 0x95, 0x06, 0xfe, 0x96, 0xd9, 0x0c, 0x7d, 0x50, 0x63, 0x8c, 0x8c, // .$ ........}Pc.. + 0x63, 0x5d, 0x3c, 0x68, 0x6c, 0x95, 0xa0, 0xe0, 0xe0, 0xa0, 0xa5, 0xcb, 0x01, 0x59, 0x6d, 0x6d, // c].32...1..I..U. + 0xce, 0xa0, 0x3f, 0x4c, 0x80, 0xb6, 0x80, 0x4c, 0x3f, 0xbe, 0x99, 0x63, 0x63, 0x0e, 0xc3, 0x34, // ..?L...L?..cc..4 + 0x4d, 0x58, 0x0b, 0x8a, 0x14, 0x1a, 0x26, 0x04, 0x00, 0xfc, 0xb9, 0x30, 0x0e, 0x34, 0x3b, 0x30, // MX....&....0.4;0 + 0xfe, 0xae, 0x05, 0x58, 0x19, 0x70, 0x44, 0x5b, 0x80, 0x80, 0x5b, 0x44, 0x70, 0x19, 0x44, 0x2c, // ...X.pD[..[Dp.D, + 0x0f, 0x02, 0x29, 0x12, 0x02, 0x26, 0x26, 0x00, 0x00, 0x05, 0x00, 0x00, 0xff, 0x51, 0x09, 0x00, // ..)..&&......Q.. + 0x05, 0x00, 0x00, 0x05, 0x00, 0x39, 0x00, 0x56, 0x00, 0x5c, 0x00, 0x94, 0x00, 0x00, 0x12, 0x32, // .....9.V.......2 + 0x36, 0x26, 0x22, 0x06, 0x05, 0x2e, 0x05, 0x27, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x3f, 0x01, // 6&"....'..&'&6?. + 0x2e, 0x02, 0x06, 0x23, 0x22, 0x0f, 0x01, 0x23, 0x11, 0x32, 0x36, 0x1e, 0x03, 0x17, 0x01, 0x16, // ...#"..#.26..... + 0x33, 0x32, 0x37, 0x16, 0x36, 0x37, 0x16, 0x37, 0x3e, 0x01, 0x27, 0x16, 0x33, 0x32, 0x3e, 0x01, // 327.67.7>.'.32>. + 0x26, 0x17, 0x33, 0x11, 0x23, 0x27, 0x26, 0x2b, 0x01, 0x22, 0x0f, 0x01, 0x06, 0x14, 0x17, 0x1e, // &.3.#'&+."...... + 0x01, 0x3f, 0x01, 0x36, 0x1e, 0x01, 0x07, 0x1e, 0x01, 0x17, 0x1e, 0x01, 0x17, 0x16, 0x04, 0x32, // .?.6...........2 + 0x36, 0x26, 0x22, 0x06, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x0e, 0x01, 0x07, 0x0e, 0x01, 0x07, // 6&".....#!...... + 0x0e, 0x01, 0x27, 0x0e, 0x01, 0x2e, 0x01, 0x27, 0x01, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // ..'....'.!"&5.46 + 0x33, 0x21, 0x3e, 0x06, 0x3b, 0x01, 0x32, 0x17, 0x36, 0x3b, 0x01, 0x32, 0x1e, 0x06, 0x17, 0x21, // 3!>.;.2.6;.2...! + 0x32, 0x16, 0x98, 0x50, 0x20, 0x20, 0x50, 0x20, 0x06, 0x09, 0x0a, 0x39, 0x1a, 0x32, 0x23, 0x2e, // 2..P P ...9.2#. + 0x16, 0x7d, 0x53, 0xfb, 0x50, 0x39, 0x01, 0x3a, 0xb1, 0x16, 0x3a, 0x25, 0x4c, 0x0b, 0x5c, 0x42, // .}S.P9.:..:%L..B + 0x9e, 0x9b, 0x05, 0x20, 0x0c, 0x1b, 0x0e, 0x15, 0x08, 0x01, 0x29, 0x73, 0x70, 0x4e, 0x2f, 0x39, // ... ......)spN/9 + 0x6f, 0x11, 0x4a, 0x35, 0x14, 0x20, 0x02, 0x0a, 0x21, 0x2b, 0x44, 0x1f, 0x07, 0x84, 0x60, 0x5d, // o.J5. ..!+D...`] + 0x9d, 0x42, 0x67, 0xa7, 0x59, 0x39, 0xd1, 0x1c, 0x1b, 0x2b, 0x86, 0x2c, 0xc1, 0x19, 0x39, 0x25, // .Bg.Y9...+.,..9% + 0x0a, 0x10, 0x50, 0x14, 0x1d, 0x6b, 0x0b, 0x34, 0x01, 0x00, 0x50, 0x20, 0x20, 0x50, 0x20, 0x01, // ..P..k.4..P P . + 0x08, 0x26, 0x1a, 0xfe, 0x4e, 0x1b, 0x6e, 0x46, 0x21, 0x5f, 0x37, 0x2a, 0x7d, 0x42, 0x3c, 0x84, // .&..N.nF!_7*}B<. + 0x7b, 0x6f, 0x30, 0xfe, 0xe1, 0xfe, 0x9a, 0x1a, 0x26, 0x26, 0x1a, 0x01, 0xa5, 0x0e, 0x42, 0x1d, // {o0.....&&....B. + 0x3b, 0x2a, 0x3c, 0x40, 0x24, 0x75, 0x63, 0x52, 0x52, 0x63, 0xa7, 0x23, 0x40, 0x31, 0x36, 0x23, // ;*<@$ucRRc.#@16# + 0x33, 0x1b, 0x37, 0x0e, 0x01, 0x63, 0x1a, 0x26, 0x01, 0x80, 0x40, 0x40, 0x40, 0x06, 0x0d, 0x4a, // 3.7..c.&..@@@..J + 0x22, 0x40, 0x2a, 0x34, 0x17, 0x8c, 0x5e, 0x04, 0x60, 0x45, 0xb2, 0x44, 0xce, 0x0b, 0x0b, 0x01, // "@*4..^.`E.D.... + 0x02, 0x42, 0x9e, 0xfd, 0xe0, 0x01, 0x01, 0x03, 0x06, 0x0b, 0x08, 0xfe, 0xdc, 0x6f, 0x2f, 0x14, // .B...........o/. + 0x38, 0x39, 0x06, 0x32, 0x12, 0x37, 0x17, 0x0a, 0x2a, 0x40, 0x4f, 0x18, 0x02, 0x00, 0xb4, 0x4c, // 89.2.7..*@O....L + 0x43, 0xf3, 0x21, 0x54, 0x21, 0x33, 0x02, 0x32, 0xda, 0x17, 0x03, 0x33, 0x1f, 0x13, 0x58, 0x18, // C.!T!3.2...3..X. + 0x24, 0x8b, 0x0f, 0x42, 0x4a, 0x40, 0x40, 0x40, 0x02, 0x00, 0xfd, 0x80, 0x1a, 0x26, 0x41, 0x53, // $..BJ@@@.....&AS + 0x0a, 0x30, 0x43, 0x0c, 0x35, 0x39, 0x04, 0x22, 0x0b, 0x27, 0x44, 0x2f, 0x01, 0x1a, 0x26, 0x1a, // .0C.59.".'D/..&. + 0x02, 0xa0, 0x1a, 0x26, 0x0e, 0x44, 0x1c, 0x34, 0x17, 0x1c, 0x0b, 0x38, 0x38, 0x0c, 0x11, 0x24, // ...&.D.4...88..$ + 0x1a, 0x35, 0x1f, 0x41, 0x10, 0x26, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // .5.A.&.......... + 0x06, 0x00, 0x00, 0x25, 0x00, 0x4f, 0x00, 0x00, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ...%.O......#!"& + 0x35, 0x11, 0x34, 0x37, 0x3e, 0x06, 0x37, 0x3e, 0x03, 0x32, 0x1e, 0x02, 0x17, 0x1e, 0x06, 0x17, // 5.47>.7>.2...... + 0x16, 0x01, 0x24, 0x37, 0x3e, 0x01, 0x2f, 0x01, 0x2e, 0x01, 0x07, 0x06, 0x07, 0x0e, 0x03, 0x22, // ..$7>./........" + 0x2e, 0x02, 0x27, 0x26, 0x27, 0x26, 0x06, 0x0f, 0x01, 0x06, 0x16, 0x17, 0x16, 0x05, 0x1e, 0x04, // ..'&'&.......... + 0x32, 0x3e, 0x03, 0x07, 0x00, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x0b, 0x08, 0x3e, 0x15, 0x46, // 2>...^B.@B^..>.F + 0x46, 0x7a, 0xa5, 0x6e, 0x05, 0x5f, 0x30, 0x50, 0x3a, 0x50, 0x32, 0x5c, 0x06, 0x6e, 0xa5, 0x7a, // Fz.n._0P:P2..n.z + 0x46, 0x46, 0x15, 0x3e, 0x08, 0x0b, 0xfd, 0xcc, 0x01, 0x07, 0x52, 0x0b, 0x03, 0x08, 0x26, 0x08, // FF.>......R...&. + 0x1a, 0x0b, 0xe7, 0x70, 0x05, 0x5e, 0x31, 0x50, 0x3a, 0x50, 0x31, 0x5e, 0x05, 0xba, 0x9d, 0x0b, // ...p.^1P:P1^.... + 0x1a, 0x08, 0x26, 0x08, 0x03, 0x0b, 0x52, 0x01, 0x07, 0x0a, 0x50, 0x32, 0x4e, 0x4d, 0x4a, 0x4d, // ..&...R...P2NMJM + 0x51, 0x30, 0x52, 0x03, 0x72, 0xfc, 0x2e, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0xd2, 0x0f, 0x09, 0x07, // Q0R.r..B^^B..... + 0x37, 0x11, 0x3a, 0x35, 0x5d, 0x79, 0x50, 0x04, 0x48, 0x21, 0x25, 0x25, 0x22, 0x46, 0x05, 0x50, // 7.:5]yP.H!%%"F.P + 0x79, 0x5d, 0x35, 0x3a, 0x11, 0x37, 0x07, 0x09, 0xfd, 0xa8, 0xbf, 0x3d, 0x08, 0x19, 0x0b, 0x34, // y]5:.7.....=...4 + 0x0b, 0x03, 0x08, 0xa9, 0x51, 0x03, 0x48, 0x21, 0x25, 0x25, 0x21, 0x48, 0x03, 0x86, 0x74, 0x08, // ....Q.H!%%!H..t. + 0x03, 0x0b, 0x34, 0x0b, 0x19, 0x08, 0x3d, 0xbf, 0x08, 0x3c, 0x22, 0x2d, 0x16, 0x16, 0x2f, 0x20, // ..4...=..<"-../ + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x31, // ?..............1 + 0x00, 0x50, 0x00, 0x70, 0x00, 0x00, 0x01, 0x17, 0x16, 0x06, 0x07, 0x0e, 0x02, 0x07, 0x0e, 0x03, // .P.p............ + 0x2b, 0x02, 0x22, 0x2e, 0x02, 0x27, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x3f, 0x01, 0x3e, 0x01, 0x17, // +."..'..'..?.>.. + 0x16, 0x17, 0x1e, 0x03, 0x3b, 0x02, 0x32, 0x3e, 0x02, 0x37, 0x24, 0x37, 0x36, 0x16, 0x13, 0x11, // ....;.2>.7$76... + 0x26, 0x27, 0x26, 0x25, 0x2e, 0x03, 0x2b, 0x02, 0x22, 0x0e, 0x02, 0x07, 0x0e, 0x02, 0x07, 0x06, // &'&%..+."....... + 0x07, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ....3!26....#!"& + 0x35, 0x11, 0x34, 0x37, 0x36, 0x00, 0x37, 0x3e, 0x03, 0x3b, 0x02, 0x32, 0x1e, 0x02, 0x17, 0x1e, // 5.476.7>.;.2.... + 0x02, 0x17, 0x16, 0x05, 0xc2, 0x27, 0x08, 0x03, 0x0a, 0x2b, 0xa7, 0x7e, 0x04, 0x27, 0x2a, 0x4f, // .....'...+.~.'*O + 0x4a, 0x25, 0x01, 0x01, 0x25, 0x4a, 0x4e, 0x2c, 0x26, 0x05, 0x78, 0xa7, 0x27, 0x0b, 0x03, 0x08, // J%..%JN,&.x.'... + 0x25, 0x08, 0x1b, 0x0b, 0x5e, 0xd4, 0x05, 0x4d, 0x2c, 0x45, 0x18, 0x01, 0x01, 0x18, 0x45, 0x2c, // %...^..M,E....E, + 0x4d, 0x05, 0x01, 0x02, 0x37, 0x0b, 0x1a, 0xc6, 0x5a, 0x45, 0x5b, 0xfe, 0xd6, 0x03, 0x50, 0x2a, // M...7...ZE[...P* + 0x46, 0x18, 0x01, 0x01, 0x18, 0x46, 0x2a, 0x50, 0x03, 0xd7, 0xc9, 0x3a, 0x35, 0x0e, 0x07, 0x13, // F....F*P...:5... + 0x0d, 0x05, 0xc0, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x29, 0x7b, 0x01, 0xc6, // ......^B.@B^){.. + 0x06, 0x24, 0x2e, 0x4d, 0x4b, 0x25, 0x01, 0x01, 0x25, 0x4b, 0x4d, 0x2e, 0x24, 0x2b, 0xe2, 0xe2, // .$.MK%..%KM.$+.. + 0x58, 0x29, 0x02, 0x6f, 0x33, 0x0b, 0x19, 0x08, 0x22, 0x81, 0x61, 0x03, 0x20, 0x20, 0x32, 0x17, // X).o3...".a. 2. + 0x17, 0x32, 0x21, 0x1f, 0x04, 0x5d, 0x81, 0x1e, 0x08, 0x19, 0x0b, 0x34, 0x0b, 0x04, 0x09, 0x49, // .2!..].....4...I + 0xa3, 0x04, 0x3e, 0x1f, 0x22, 0x22, 0x1f, 0x3e, 0x04, 0xc6, 0x2c, 0x08, 0x03, 0xfd, 0x26, 0x03, // ..>."".>..,...&. + 0xa0, 0x53, 0x38, 0x4a, 0xe6, 0x02, 0x42, 0x1e, 0x23, 0x23, 0x1e, 0x42, 0x02, 0xa6, 0x9f, 0x31, // .S8J..B.##.B...1 + 0x32, 0x0c, 0x07, 0xfc, 0x60, 0x0d, 0x13, 0x13, 0x03, 0xad, 0xfc, 0x60, 0x42, 0x5e, 0x5e, 0x42, // 2...`......`B^^B + 0x03, 0xa0, 0x38, 0x26, 0x72, 0x01, 0x61, 0x05, 0x1e, 0x23, 0x31, 0x18, 0x18, 0x31, 0x23, 0x1e, // ..8&r.a..#1..1#. + 0x24, 0xac, 0xb6, 0x52, 0x26, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x15, 0xff, 0x00, 0x05, 0xeb, // $..R&........... + 0x06, 0x00, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1e, 0x00, 0x22, // ..............." + 0x00, 0x26, 0x00, 0x2e, 0x00, 0x32, 0x00, 0x76, 0x00, 0x00, 0x25, 0x17, 0x2f, 0x01, 0x01, 0x25, // .&...2.v..%./..% + 0x27, 0x05, 0x01, 0x17, 0x03, 0x27, 0x01, 0x25, 0x03, 0x05, 0x01, 0x17, 0x2f, 0x01, 0x14, 0x16, // '....'.%..../... + 0x06, 0x0f, 0x01, 0x17, 0x16, 0x01, 0x05, 0x03, 0x25, 0x01, 0x37, 0x07, 0x17, 0x01, 0x25, 0x03, // ........%.7...%. + 0x05, 0x01, 0x37, 0x27, 0x07, 0x17, 0x16, 0x0f, 0x01, 0x25, 0x37, 0x0f, 0x02, 0x27, 0x07, 0x14, // ..7'.....%7..'.. + 0x0f, 0x01, 0x06, 0x2f, 0x01, 0x17, 0x14, 0x07, 0x05, 0x06, 0x23, 0x26, 0x35, 0x27, 0x26, 0x03, // .../......#&5'&. + 0x26, 0x3f, 0x01, 0x26, 0x27, 0x03, 0x26, 0x3f, 0x01, 0x26, 0x27, 0x03, 0x26, 0x37, 0x25, 0x32, // &?.&'.&?.&'.&7%2 + 0x17, 0x05, 0x16, 0x15, 0x13, 0x14, 0x0f, 0x01, 0x17, 0x16, 0x15, 0x17, 0x37, 0x36, 0x1f, 0x01, // ............76.. + 0x37, 0x34, 0x3f, 0x01, 0x36, 0x1f, 0x01, 0x1e, 0x01, 0x0e, 0x01, 0x15, 0x14, 0x0f, 0x01, 0x06, // 74?.6........... + 0x01, 0x4a, 0xca, 0x22, 0xd8, 0x01, 0x12, 0x01, 0x12, 0x0b, 0xfe, 0xd4, 0xfe, 0xee, 0xe3, 0x30, // .J."...........0 + 0xf5, 0x01, 0x3c, 0x01, 0x3d, 0x0e, 0xfe, 0xa0, 0x01, 0x8d, 0x5f, 0x02, 0x67, 0x02, 0x02, 0x04, // ..<.=....._.g... + 0x4e, 0x55, 0x07, 0xfd, 0x3f, 0x01, 0x00, 0x44, 0xfe, 0xe9, 0x04, 0x66, 0x0f, 0xe6, 0x02, 0xfd, // NU..?..D...f.... + 0xe1, 0x01, 0x75, 0x13, 0xfe, 0x59, 0x03, 0x9a, 0x14, 0xe2, 0x02, 0x90, 0x06, 0x02, 0x07, 0x01, // ..u..Y.......... + 0x02, 0x1e, 0xb3, 0x14, 0x13, 0x47, 0x08, 0x04, 0xea, 0x07, 0x07, 0x62, 0x07, 0x04, 0xfe, 0xdb, // .....G.....b.... + 0x04, 0x02, 0x08, 0xe4, 0x04, 0x37, 0x02, 0x07, 0x3d, 0x5e, 0x01, 0x48, 0x02, 0x08, 0x5e, 0x85, // .....7..=^.H..^. + 0x02, 0x60, 0x02, 0x09, 0x01, 0xb1, 0x05, 0x03, 0x01, 0x3d, 0x06, 0x14, 0x06, 0x76, 0x7e, 0x05, // .`.......=...v~. + 0x05, 0x79, 0x05, 0x06, 0x54, 0x03, 0x05, 0xce, 0x06, 0x05, 0xf5, 0x04, 0x02, 0x0f, 0x14, 0x04, // .y..T........... + 0xbf, 0x06, 0x01, 0xd6, 0xec, 0xd5, 0xfe, 0x33, 0xda, 0xf5, 0xd7, 0x01, 0x86, 0xd5, 0x01, 0x47, // .......3.......G + 0xcc, 0xfd, 0xe2, 0xd6, 0x01, 0x44, 0xc8, 0xfe, 0xa3, 0x50, 0xef, 0x4f, 0x01, 0x0f, 0x09, 0x03, // .....D...P.O.... + 0x34, 0x46, 0x06, 0x02, 0x9e, 0xc8, 0x01, 0xd1, 0xad, 0xfb, 0xb3, 0xea, 0xa4, 0xf0, 0x02, 0x71, // 4F.............q + 0xc2, 0x01, 0xb9, 0xa3, 0xfc, 0xbb, 0xe9, 0x8e, 0x69, 0x5f, 0x04, 0x05, 0x77, 0x5c, 0xde, 0x80, // ........i_..w... + 0xe4, 0x21, 0x31, 0x75, 0x05, 0x03, 0xbb, 0x05, 0x05, 0x53, 0xa1, 0x05, 0x03, 0xea, 0x02, 0x02, // .!1u.....S...... + 0x01, 0xf2, 0x04, 0x01, 0x11, 0x07, 0x04, 0x25, 0x56, 0x06, 0x01, 0x5f, 0x07, 0x05, 0x2d, 0x64, // .......%V.._..-d + 0x08, 0x01, 0xd2, 0x0a, 0x03, 0x87, 0x01, 0x99, 0x04, 0x05, 0xfe, 0x31, 0x07, 0x03, 0x3d, 0x55, // ...........1..=U + 0x02, 0x06, 0x7b, 0x4a, 0x04, 0x04, 0x38, 0x6e, 0x06, 0x03, 0x7e, 0x03, 0x03, 0x87, 0x04, 0x06, // ..{J..8n..~..... + 0x72, 0x87, 0x03, 0x05, 0x02, 0x99, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x06, 0x80, // r............... + 0x06, 0x00, 0x00, 0x1d, 0x00, 0x27, 0x00, 0x55, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x03, 0x23, 0x0e, // .....'.U...4..#. + 0x04, 0x22, 0x2e, 0x03, 0x27, 0x22, 0x0e, 0x03, 0x15, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x03, // ."..'".....3!26. + 0x34, 0x26, 0x22, 0x06, 0x15, 0x14, 0x16, 0x32, 0x36, 0x01, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x15, // 4&"....26....+.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, // ..#!"&5.463!2... + 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, // 32.....+..32.... + 0x06, 0x2b, 0x01, 0x15, 0x33, 0x32, 0x16, 0x04, 0xb1, 0x0b, 0x1f, 0x30, 0x50, 0x33, 0x06, 0x37, // .+..32.....0P3.7 + 0x1e, 0x33, 0x2f, 0x2e, 0x2f, 0x33, 0x1e, 0x37, 0x06, 0x33, 0x50, 0x30, 0x1f, 0x0b, 0x54, 0x3d, // .3/./3.7.3P0..T= + 0x02, 0x40, 0x3d, 0x54, 0xad, 0x99, 0xd6, 0x99, 0x99, 0xd6, 0x99, 0x02, 0x7c, 0x12, 0x0e, 0x60, // .@=T........|..` + 0x5e, 0x42, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x60, 0x0e, 0x12, 0x12, // ^B.@B^^B..B^`... + 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x01, 0x2a, 0x39, 0x64, 0x65, // .``....``...*9de + 0x47, 0x2d, 0x04, 0x21, 0x10, 0x18, 0x0a, 0x0a, 0x18, 0x10, 0x21, 0x04, 0x2d, 0x47, 0x65, 0x64, // G-.!......!.-Ged + 0x39, 0x49, 0x61, 0x61, 0x02, 0x9b, 0x6c, 0x98, 0x98, 0x6c, 0x6b, 0x98, 0x98, 0xfe, 0x4f, 0xc0, // 9Iaa..l..lk...O. + 0x0e, 0x12, 0xe0, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0x5e, 0x42, 0xe0, 0x12, 0x0e, // ...B^^B..B^^B... + 0xc0, 0x0e, 0x12, 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x80, 0x12, 0x00, 0x00, 0x04, 0x00, 0x00, // ................ + 0xff, 0x00, 0x06, 0x80, 0x06, 0x00, 0x00, 0x09, 0x00, 0x2b, 0x00, 0x59, 0x00, 0x69, 0x00, 0x00, // .........+.Y.i.. + 0x01, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x03, 0x32, 0x1e, 0x04, 0x15, 0x14, // ..."&5462..2.... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x3b, 0x01, 0x1e, 0x05, 0x32, 0x3e, 0x04, // .#!"&54>.;...2>. + 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, // ...+..32.....+.. + 0x33, 0x32, 0x16, 0x1d, 0x01, 0x14, 0x06, 0x2b, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // 32.....+....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x1d, 0x01, 0x33, 0x32, 0x16, 0x15, 0x01, 0x11, // 5.463!2...32.... + 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x04, 0x04, // 4&#!".....3!26.. + 0x99, 0xd6, 0x99, 0x99, 0xd6, 0x99, 0x30, 0x2e, 0x49, 0x2f, 0x20, 0x10, 0x07, 0x4f, 0x42, 0xfd, // ......0.I/ ..OB. + 0xc0, 0x42, 0x4f, 0x09, 0x1c, 0x2d, 0x51, 0x35, 0x05, 0x07, 0x32, 0x15, 0x2d, 0x1d, 0x29, 0x26, // .BO..-Q5..2.-.)& + 0x29, 0x1d, 0x2d, 0x15, 0x32, 0x02, 0xb3, 0x13, 0x0d, 0x60, 0x60, 0x0d, 0x13, 0x13, 0x0d, 0x60, // ).-.2....``....` + 0x60, 0x0d, 0x13, 0x13, 0x0d, 0x60, 0x5e, 0x42, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, // `....`^B.@B^^B.. + 0x42, 0x5e, 0x60, 0x0d, 0x13, 0xff, 0x00, 0x13, 0x0d, 0xfb, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x04, // B^`.......@..... + 0xc0, 0x0d, 0x13, 0x03, 0x7c, 0x6b, 0x98, 0x98, 0x6b, 0x6c, 0x98, 0x98, 0xfe, 0xb8, 0x22, 0x3d, // ....|k..kl...."= + 0x49, 0x59, 0x4c, 0x29, 0x43, 0x67, 0x67, 0x43, 0x30, 0x5b, 0x6a, 0x4d, 0x34, 0x04, 0x1f, 0x0b, // IYL)CggC0[jM4... + 0x17, 0x09, 0x09, 0x09, 0x09, 0x17, 0x0b, 0x1f, 0x01, 0x04, 0x0d, 0x13, 0x80, 0x13, 0x0d, 0xc0, // ................ + 0x0d, 0x13, 0x80, 0x13, 0x0d, 0xc0, 0x0d, 0x13, 0xe0, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, // .........B^^B..B + 0x5e, 0x5e, 0x42, 0xe0, 0x13, 0x0d, 0xfb, 0x40, 0x05, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfa, 0x40, // ^^B....@.......@ + 0x0d, 0x13, 0x13, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x05, 0x80, 0x00, 0x19, // ................ + 0x00, 0x21, 0x00, 0x31, 0x00, 0x41, 0x00, 0x51, 0x00, 0x75, 0x00, 0x00, 0x00, 0x34, 0x2e, 0x02, // .!.1.A.Q.u...4.. + 0x23, 0x0e, 0x04, 0x22, 0x2e, 0x03, 0x27, 0x22, 0x0e, 0x02, 0x14, 0x16, 0x33, 0x21, 0x32, 0x02, // #.."..'"....3!2. + 0x34, 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, // 4&"...2.54&#!".. + 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, // ...3!26.54&#!".. + 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, // ...3!26.54&#!".. + 0x01, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x35, 0x34, 0x26, // ...3!26....#!54& + 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, 0x21, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, // +."...!54&+."... + 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x00, 0x12, 0x29, 0x50, // !"&5.463!2....)P + 0x39, 0x06, 0x30, 0x1b, 0x2c, 0x2a, 0x2a, 0x2a, 0x2c, 0x1b, 0x30, 0x06, 0x39, 0x50, 0x29, 0x12, // 9.0.,***,.0.9P). + 0x4a, 0x36, 0x02, 0x00, 0x36, 0x53, 0x85, 0xbc, 0x85, 0x85, 0xbc, 0x04, 0x22, 0x12, 0x0e, 0xfd, // J6..6S......"... + 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x15, 0x0f, 0xfd, 0xc8, 0x0f, 0x15, 0x15, // ......@......... + 0x0f, 0x02, 0x38, 0x0f, 0x15, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, // ..8...........@. + 0x12, 0x01, 0x00, 0x5e, 0x42, 0xfe, 0xa0, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0xfd, 0x00, 0x12, 0x0e, // ...^B....@...... + 0x40, 0x0e, 0x12, 0xfe, 0xa0, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0xc0, 0x42, 0x5e, 0x01, 0x55, 0x80, // @....B^^B..B^.U. + 0x6b, 0x63, 0x39, 0x04, 0x1c, 0x0f, 0x14, 0x09, 0x09, 0x14, 0x0f, 0x1c, 0x04, 0x39, 0x63, 0x6b, // kc9..........9ck + 0x80, 0x55, 0x02, 0x3f, 0xbc, 0x85, 0x85, 0xbc, 0x85, 0xfe, 0xe6, 0x40, 0x0e, 0x12, 0x12, 0x0e, // .U.?.......@.... + 0x40, 0x0e, 0x12, 0x12, 0x01, 0x12, 0x38, 0x0f, 0x15, 0x15, 0x0f, 0x38, 0x0f, 0x15, 0x15, 0x01, // @.....8....8.... + 0x0b, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x4e, 0xfb, 0x40, 0x42, 0x5e, // .@....@....N.@B^ + 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x5e, 0x42, 0x04, 0xc0, // `....``....`^B.. + 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x05, 0x80, 0x00, 0x19, // B^^............. + 0x00, 0x21, 0x00, 0x31, 0x00, 0x41, 0x00, 0x51, 0x00, 0x75, 0x00, 0x85, 0x00, 0x00, 0x00, 0x14, // .!.1.A.Q.u...... + 0x06, 0x23, 0x21, 0x22, 0x26, 0x34, 0x3e, 0x02, 0x33, 0x1e, 0x04, 0x32, 0x3e, 0x03, 0x37, 0x32, // .#!"&4>.3..2>.72 + 0x1e, 0x01, 0x02, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, 0x14, 0x06, 0x23, 0x21, // ....."&462....#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.5...#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x35, 0x15, 0x14, 0x06, 0x23, 0x21, // "&=.463!2.5...#! + 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, 0x34, 0x26, 0x23, 0x21, // "&=.463!2...4&#! + 0x22, 0x06, 0x15, 0x11, 0x14, 0x16, 0x33, 0x21, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, // ".....3!546;.2.. + 0x01, 0x21, 0x35, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x1d, 0x01, 0x21, 0x32, 0x36, 0x13, 0x11, // .!546;.2...!26.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x00, // ..#!"&5.463!2... + 0x4a, 0x36, 0xfe, 0x00, 0x36, 0x4a, 0x12, 0x29, 0x50, 0x39, 0x06, 0x30, 0x1b, 0x2c, 0x2a, 0x2a, // J6..6J.)P9.0.,** + 0x2a, 0x2c, 0x1b, 0x30, 0x06, 0x39, 0x50, 0x29, 0x8b, 0x85, 0xbc, 0x85, 0x85, 0xbc, 0x04, 0x22, // *,.0.9P)......." + 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0x40, 0x0e, 0x12, 0x15, 0x0f, 0xfd, 0xc8, // .........@...... + 0x0f, 0x15, 0x15, 0x0f, 0x02, 0x38, 0x0f, 0x15, 0x12, 0x0e, 0xfd, 0xc0, 0x0e, 0x12, 0x12, 0x0e, // .....8.......... + 0x02, 0x40, 0x0e, 0x12, 0x80, 0x13, 0x0d, 0xf9, 0x40, 0x0d, 0x13, 0x13, 0x0d, 0x01, 0x60, 0x12, // .@......@.....`. + 0x0e, 0x40, 0x0e, 0x12, 0x03, 0x00, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x01, 0x60, 0x0d, 0x13, 0x80, // .@......@...`... + 0x5e, 0x42, 0xf9, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0xc0, 0x42, 0x5e, 0x01, 0xd5, 0x80, 0x55, // ^B.@B^^B..B^...U + 0x55, 0x80, 0x6b, 0x63, 0x39, 0x04, 0x1c, 0x0f, 0x14, 0x09, 0x09, 0x14, 0x0f, 0x1c, 0x04, 0x39, // U.kc9..........9 + 0x63, 0x01, 0xbb, 0xbc, 0x85, 0x85, 0xbc, 0x85, 0xfd, 0x60, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, // c........`@....@ + 0x0e, 0x12, 0x12, 0xee, 0x38, 0x0f, 0x15, 0x15, 0x0f, 0x38, 0x0f, 0x15, 0x15, 0xf5, 0x40, 0x0e, // ....8....8....@. + 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfc, 0x32, 0x04, 0xc0, 0x0d, 0x13, 0x13, 0x0d, 0xfb, // ...@....2....... + 0x40, 0x0d, 0x13, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x13, // @..`....``....`. + 0x04, 0xcd, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x00, // ...@B^^B..B^^... + 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x28, // ...............( + 0x00, 0x00, 0x25, 0x2e, 0x01, 0x27, 0x0e, 0x01, 0x22, 0x26, 0x27, 0x0e, 0x01, 0x07, 0x16, 0x04, // ..%..'.."&'..... + 0x20, 0x24, 0x02, 0x10, 0x26, 0x20, 0x06, 0x10, 0x16, 0x20, 0x00, 0x10, 0x02, 0x06, 0x04, 0x23, // $..& ... .....# + 0x22, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x05, 0xf3, 0x16, 0x83, 0x77, // "$&...6$ ......w + 0x43, 0xb9, 0xce, 0xb9, 0x43, 0x77, 0x83, 0x16, 0x6a, 0x01, 0x4a, 0x01, 0x7e, 0x01, 0x4a, 0x89, // C...Cw..j.J.~.J. + 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x02, 0xe1, 0x8e, 0xef, 0xfe, 0xb4, 0xb7, 0xb6, 0xfe, // ......>......... + 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0xc5, 0x9b, 0xcd, 0x10, // ......L.l.L..... + 0x4a, 0x53, 0x53, 0x4a, 0x10, 0xcd, 0x9b, 0x96, 0xaf, 0xaf, 0x02, 0xb2, 0x01, 0x3e, 0xe1, 0xe1, // JSSJ.........>.. + 0xfe, 0xc2, 0xe1, 0x01, 0x36, 0xfe, 0x94, 0xfe, 0xb5, 0xf1, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, // ....6.........L. + 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // l.L............. + 0x06, 0x00, 0x00, 0x10, 0x00, 0x24, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x20, 0x04, 0x16, 0x12, 0x15, // .....$.,... .... + 0x14, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x01, 0x36, 0x35, 0x34, 0x02, // .... $&...6.654. + 0x26, 0x24, 0x20, 0x04, 0x06, 0x02, 0x15, 0x14, 0x17, 0x12, 0x33, 0x16, 0x20, 0x37, 0x32, 0x26, // &$ .......3. 72& + 0x10, 0x26, 0x20, 0x06, 0x10, 0x16, 0x20, 0x02, 0xca, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8d, // .& ... ...l.L... + 0xf0, 0xfe, 0xb4, 0xfe, 0x92, 0xfe, 0xb4, 0xef, 0x8e, 0x8e, 0xf0, 0x04, 0x6d, 0x95, 0x7a, 0xce, // ............m.z. + 0xfe, 0xe4, 0xfe, 0xc8, 0xfe, 0xe4, 0xce, 0x7a, 0x95, 0x42, 0xf0, 0x83, 0x01, 0x6c, 0x83, 0xf0, // .......z.B...l.. + 0xa9, 0xe1, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0x06, 0x00, 0x8e, 0xf0, 0xfe, 0xb4, 0xb6, 0xb5, // .......>........ + 0xfe, 0xb4, 0xf0, 0x8f, 0x8e, 0xf1, 0x01, 0x4b, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0xfb, 0x47, 0xcd, // .......K.l.L..G. + 0xfa, 0x9c, 0x01, 0x1c, 0xce, 0x7a, 0x7a, 0xce, 0xfe, 0xe4, 0x9c, 0xfa, 0xcd, 0x01, 0x47, 0x80, // .....zz.......G. + 0x80, 0xa1, 0x01, 0x3e, 0xe1, 0xe1, 0xfe, 0xc2, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ...>............ + 0xff, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x1f, 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, 0x01, 0x1e, // .........'.7.... + 0x04, 0x15, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x03, 0x37, 0x26, 0x35, 0x34, // ....#!"&54>.7&54 + 0x3e, 0x02, 0x32, 0x1e, 0x02, 0x15, 0x14, 0x00, 0x20, 0x06, 0x10, 0x16, 0x20, 0x36, 0x10, 0x13, // >.2..... ... 6.. + 0x32, 0x36, 0x35, 0x34, 0x02, 0x27, 0x06, 0x20, 0x27, 0x06, 0x02, 0x15, 0x14, 0x16, 0x33, 0x04, // 2654.'. '.....3. + 0xb1, 0x2f, 0x55, 0x5d, 0x42, 0x2c, 0xc8, 0x8d, 0xfc, 0xaa, 0x8d, 0xc8, 0x2c, 0x42, 0x5d, 0x55, // ./U]B,......,B]U + 0x2f, 0x4f, 0x51, 0x8a, 0xbd, 0xd0, 0xbd, 0x8a, 0x51, 0xfe, 0x9f, 0xfe, 0xc2, 0xe1, 0xe1, 0x01, // /OQ.....Q....... + 0x3e, 0xe1, 0x2b, 0x58, 0x7d, 0x9d, 0x93, 0x91, 0xfe, 0x82, 0x91, 0x93, 0x9d, 0x7d, 0x58, 0x02, // >.+X}........}X. + 0xf0, 0x0e, 0x30, 0x62, 0x85, 0xd3, 0x83, 0x9a, 0xdb, 0xdb, 0x9a, 0x83, 0xd3, 0x85, 0x62, 0x30, // ..0b..........b0 + 0x0e, 0x7d, 0x93, 0x68, 0xbd, 0x8a, 0x51, 0x51, 0x8a, 0xbd, 0x68, 0x93, 0x02, 0x13, 0xe1, 0xfe, // .}.h..QQ..h..... + 0xc2, 0xe1, 0xe1, 0x01, 0x3e, 0xfa, 0xe1, 0x8f, 0x66, 0xef, 0x01, 0x14, 0x07, 0x7f, 0x7f, 0x07, // ....>...f....... + 0xfe, 0xec, 0xef, 0x66, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, // ...f............ + 0x06, 0x00, 0x00, 0x11, 0x00, 0x19, 0x00, 0x23, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x14, 0x06, 0x23, // .......#.=.....# + 0x21, 0x22, 0x26, 0x34, 0x3e, 0x02, 0x33, 0x16, 0x32, 0x37, 0x32, 0x1e, 0x01, 0x02, 0x14, 0x06, // !"&4>.3.272..... + 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x11, 0x21, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, // "&462..!...3!26. + 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x15, 0x14, 0x16, // ...#!"&5.463!... + 0x3b, 0x01, 0x32, 0x36, 0x3d, 0x01, 0x21, 0x32, 0x16, 0x04, 0x00, 0x4a, 0x36, 0xfe, 0x00, 0x36, // ;.26=.!2...J6..6 + 0x4a, 0x12, 0x29, 0x51, 0x38, 0x50, 0xd8, 0x50, 0x38, 0x51, 0x29, 0x88, 0x87, 0xbe, 0x87, 0x87, // J.)Q8P.P8Q)..... + 0xbe, 0x01, 0xa1, 0xfc, 0x00, 0x13, 0x0d, 0x03, 0xc0, 0x0d, 0x13, 0x80, 0x5e, 0x42, 0xfc, 0x40, // ............^B.@ + 0x42, 0x5e, 0x5e, 0x42, 0x01, 0x60, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x01, 0x60, 0x42, 0x5e, 0x01, // B^^B.`......`B^. + 0x56, 0x80, 0x56, 0x56, 0x80, 0x6c, 0x64, 0x39, 0x4b, 0x4b, 0x39, 0x64, 0x01, 0xb9, 0xbc, 0x85, // V.VV.ld9KK9d.... + 0x85, 0xbc, 0x85, 0xfb, 0xa0, 0x05, 0x60, 0xfa, 0xa0, 0x0d, 0x13, 0x13, 0x05, 0xcd, 0xfa, 0x40, // ......`........@ + 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x5e, 0x00, // B^^B..B^`....`^. + 0x00, 0x08, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, 0x05, 0x80, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x2b, // ...............+ + 0x00, 0x3b, 0x00, 0x4b, 0x00, 0x5b, 0x00, 0x65, 0x00, 0x75, 0x00, 0x00, 0x01, 0x34, 0x2e, 0x02, // .;.K.[.e.u...4.. + 0x23, 0x06, 0x22, 0x27, 0x22, 0x0e, 0x02, 0x15, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x02, 0x34, // #."'".....3!26.4 + 0x26, 0x22, 0x06, 0x14, 0x16, 0x32, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, // &"...2.54&#!"... + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, // ..3!26.54&#!"... + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x25, 0x35, 0x34, 0x26, 0x2b, 0x01, 0x22, 0x06, 0x1d, 0x01, // ..3!26%54&+."... + 0x14, 0x16, 0x3b, 0x01, 0x32, 0x36, 0x11, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x1d, 0x01, // ..;.26.54&#!"... + 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x01, 0x21, 0x35, 0x34, 0x26, 0x23, 0x21, 0x22, 0x06, 0x15, // ..3!26.!54&#!".. + 0x21, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // !...#!"&5.463!2. + 0x03, 0x80, 0x0f, 0x22, 0x44, 0x2f, 0x40, 0xb8, 0x40, 0x2f, 0x44, 0x22, 0x0f, 0x3f, 0x2c, 0x01, // ..."D/@.@/D".?,. + 0xaa, 0x2c, 0x3f, 0x80, 0x70, 0xa0, 0x70, 0x70, 0xa0, 0x04, 0x70, 0x12, 0x0e, 0xfd, 0x40, 0x0e, // .,?.p.pp..p...@. + 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0xfe, 0x80, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, // ................ + 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x01, 0x80, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, // ..@............. + 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0xf9, 0x80, 0x07, // ....@........... + 0x00, 0x12, 0x0e, 0xf9, 0x40, 0x0e, 0x12, 0x07, 0x80, 0x5e, 0x42, 0xf9, 0x40, 0x42, 0x5e, 0x5e, // ....@....^B.@B^^ + 0x42, 0x06, 0xc0, 0x42, 0x5e, 0x01, 0x44, 0x36, 0x5d, 0x57, 0x32, 0x40, 0x40, 0x32, 0x57, 0x5d, // B..B^.D6]W2@@2W] + 0x36, 0x37, 0x4d, 0x4d, 0x01, 0xa3, 0xa0, 0x70, 0x70, 0xa0, 0x70, 0xfe, 0xe0, 0x40, 0x0e, 0x12, // 67MM...pp.p..@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, // ..@.....@....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x0e, 0x40, 0x0e, 0x12, // ..@....@.....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x01, 0x6e, 0x60, 0x0e, 0x12, 0x12, 0x0e, 0xfb, 0x40, 0x42, // ..@....n`.....@B + 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x08, 0x00, 0x00, 0xff, 0x80, 0x08, 0x00, // ^^B..B^^........ + 0x05, 0x80, 0x00, 0x13, 0x00, 0x1b, 0x00, 0x2b, 0x00, 0x3b, 0x00, 0x4b, 0x00, 0x5b, 0x00, 0x65, // .......+.;.K.[.e + 0x00, 0x75, 0x00, 0x00, 0x01, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x33, // .u.....#!"&54>.3 + 0x16, 0x32, 0x37, 0x32, 0x1e, 0x02, 0x02, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, // .272....."&462.. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x25, 0x15, // ..#!"&=.463!2.%. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x05, 0x15, // ..#!"&=.463!2... + 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x32, 0x16, 0x35, 0x15, // ..+."&=.46;.2.5. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x13, 0x11, // ..#!"&=.463!2... + 0x21, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // !...3!26....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x80, 0x3f, 0x2c, 0xfe, 0x56, 0x2c, 0x3f, // 5.463!2...?,.V,? + 0x0f, 0x22, 0x44, 0x2f, 0x40, 0xb8, 0x40, 0x2f, 0x44, 0x22, 0x0f, 0x80, 0x70, 0xa0, 0x70, 0x70, // ."D/@.@/D"..p.pp + 0xa0, 0x04, 0x70, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0xfe, // ..p...@......... + 0x80, 0x12, 0x0e, 0xfe, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0x01, 0x40, 0x0e, 0x12, 0x01, 0x80, 0x12, // ..........@..... + 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xc0, 0x0e, 0x12, 0x12, 0x0e, 0xfd, 0x40, 0x0e, 0x12, 0x12, // ............@... + 0x0e, 0x02, 0xc0, 0x0e, 0x12, 0x80, 0xf9, 0x00, 0x13, 0x0d, 0x06, 0xc0, 0x0d, 0x13, 0x80, 0x5e, // ...............^ + 0x42, 0xf9, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x06, 0xc0, 0x42, 0x5e, 0x01, 0x44, 0x37, 0x4d, 0x4d, // B.@B^^B..B^.D7MM + 0x37, 0x36, 0x5d, 0x57, 0x32, 0x40, 0x40, 0x32, 0x57, 0x5d, 0x01, 0xd6, 0xa0, 0x70, 0x70, 0xa0, // 76]W2@@2W]...pp. + 0x70, 0xfd, 0xa0, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xf2, 0x40, 0x0e, 0x12, // p..@....@....@.. + 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, // ..@....@....@... + 0xf2, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x12, 0xfc, 0xb2, 0x04, 0x60, 0xfb, 0xa0, // .@....@......`.. + 0x0d, 0x13, 0x13, 0x04, 0xcd, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, // ......@B^^B..B^^ + 0x00, 0x02, 0x00, 0x1d, 0xff, 0x00, 0x06, 0xe2, 0x06, 0x00, 0x00, 0x1a, 0x00, 0x41, 0x00, 0x00, // .............A.. + 0x01, 0x10, 0x02, 0x23, 0x22, 0x02, 0x11, 0x10, 0x12, 0x33, 0x32, 0x37, 0x2e, 0x04, 0x23, 0x22, // ...#"....327..#" + 0x07, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x01, 0x33, 0x16, 0x0e, 0x03, 0x23, 0x22, 0x2e, // .'632..6.3...#". + 0x02, 0x27, 0x06, 0x23, 0x22, 0x24, 0x26, 0x02, 0x35, 0x34, 0x12, 0x36, 0x24, 0x33, 0x32, 0x1e, // .'.#"$&.54.6$32. + 0x03, 0x15, 0x14, 0x02, 0x07, 0x1e, 0x01, 0x33, 0x32, 0x36, 0x04, 0xe7, 0xd2, 0xe1, 0xde, 0xd0, // .......326...... + 0xd0, 0xde, 0x4a, 0x39, 0x16, 0x22, 0x36, 0x35, 0x49, 0x29, 0x2e, 0x21, 0x31, 0x69, 0xab, 0x84, // ..J9."65I).!1i.. + 0xa7, 0x43, 0x43, 0x01, 0x86, 0x75, 0x03, 0x0a, 0x2b, 0x49, 0x8d, 0x5c, 0x47, 0x77, 0x5c, 0x42, // .CC..u..+I..Gw.B + 0x21, 0x61, 0x6c, 0x96, 0xfe, 0xe3, 0xdd, 0x87, 0x87, 0xde, 0x01, 0x1d, 0x95, 0x79, 0xeb, 0xc7, // !al..........y.. + 0x99, 0x56, 0xa1, 0x8a, 0x2f, 0x5d, 0x3a, 0x3d, 0x42, 0x02, 0xed, 0x01, 0x3e, 0x01, 0x39, 0xfe, // .V../]:=B...>.9. + 0xc6, 0xfe, 0xc3, 0xfe, 0xc4, 0xfe, 0xc9, 0x11, 0x2b, 0x3c, 0x46, 0x2b, 0x1d, 0x10, 0x61, 0x5b, // ........+.32.... + 0x06, 0x07, 0x06, 0x15, 0x10, 0x17, 0x16, 0x17, 0x1e, 0x04, 0x25, 0x14, 0x06, 0x23, 0x21, 0x22, // ..........%..#!" + 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x03, 0x14, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x23, // &5463!2........# + 0x22, 0x26, 0x35, 0x34, 0x3e, 0x02, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x15, // "&54>.54'&#".... + 0x14, 0x06, 0x23, 0x22, 0x35, 0x34, 0x36, 0x35, 0x34, 0x27, 0x2e, 0x01, 0x23, 0x22, 0x0e, 0x01, // ..#"54654'..#".. + 0x15, 0x14, 0x16, 0x15, 0x14, 0x0e, 0x03, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x15, // ................ + 0x14, 0x23, 0x22, 0x27, 0x2e, 0x01, 0x35, 0x34, 0x3e, 0x03, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, // .#"'..54>.54'&'& + 0x35, 0x34, 0x33, 0x32, 0x17, 0x1e, 0x04, 0x17, 0x14, 0x1e, 0x05, 0x33, 0x32, 0x36, 0x35, 0x34, // 5432.......32654 + 0x26, 0x34, 0x33, 0x32, 0x17, 0x1e, 0x01, 0x05, 0x10, 0x07, 0x0e, 0x03, 0x23, 0x22, 0x26, 0x35, // &432........#"&5 + 0x34, 0x3e, 0x01, 0x37, 0x36, 0x11, 0x34, 0x26, 0x27, 0x26, 0x27, 0x2e, 0x05, 0x35, 0x34, 0x36, // 4>.76.4&'&'..546 + 0x33, 0x32, 0x17, 0x16, 0x12, 0x17, 0x16, 0x01, 0xc5, 0x20, 0x15, 0x01, 0x0c, 0x3f, 0x63, 0xe1, // 32....... ...?c. + 0xd5, 0x27, 0x70, 0x26, 0x13, 0x20, 0x3f, 0x62, 0x31, 0x77, 0x7b, 0x32, 0x56, 0x02, 0x19, 0x0e, // .'p&. ?b1w{2V... + 0x14, 0x09, 0x05, 0x3f, 0x23, 0x1d, 0xfb, 0xc7, 0x1a, 0x26, 0x23, 0x1d, 0x04, 0x39, 0x1a, 0x26, // ...?#....&#..9.& + 0xd7, 0x43, 0x19, 0x59, 0x27, 0x10, 0x0b, 0x07, 0x10, 0x26, 0x2e, 0x26, 0x23, 0x1d, 0x11, 0x03, // .C.Y'....&.&#... + 0x0f, 0x2b, 0x17, 0x42, 0x03, 0x0a, 0x0d, 0x3a, 0x16, 0x05, 0x04, 0x03, 0x20, 0x26, 0x36, 0x35, // .+.B...:.... &65 + 0x26, 0x2a, 0x1d, 0x32, 0x10, 0x01, 0x01, 0x12, 0x06, 0x1b, 0x77, 0x98, 0x31, 0x47, 0x46, 0x31, // &*.2......w.1GF1 + 0x19, 0x1d, 0x1b, 0x13, 0x29, 0x32, 0x3c, 0x29, 0x3c, 0x27, 0x1c, 0x10, 0x08, 0x06, 0x03, 0x08, // ....)2<)<'...... + 0x0a, 0x0c, 0x11, 0x0a, 0x17, 0x1c, 0x28, 0x0a, 0x1b, 0x42, 0x48, 0x3d, 0x02, 0xd3, 0x8a, 0x13, // ......(..BH=.... + 0x3a, 0x4e, 0x54, 0x20, 0x10, 0x1e, 0x3a, 0x4f, 0x09, 0xb7, 0x29, 0x34, 0x3a, 0x69, 0x02, 0x16, // :NT ..:O..)4:i.. + 0x0b, 0x13, 0x0b, 0x08, 0x20, 0x13, 0x46, 0x7e, 0x62, 0x60, 0x0c, 0x02, 0x65, 0x15, 0x21, 0x03, // .... .F~b`..e.!. + 0x0f, 0x7d, 0x01, 0x1c, 0x01, 0x88, 0x01, 0x55, 0x01, 0x11, 0x33, 0x69, 0x1b, 0x13, 0x1b, 0x3f, // .}.....U..3i...? + 0x66, 0x52, 0xc7, 0xfa, 0xfe, 0xe7, 0xd2, 0x55, 0x58, 0x03, 0x1a, 0x10, 0x19, 0x16, 0x7c, 0x1d, // fR.....UX.....|. + 0x27, 0x26, 0x1a, 0x1d, 0x27, 0x26, 0x02, 0x49, 0x86, 0x63, 0x26, 0x51, 0x14, 0x0a, 0x0c, 0x06, // '&..'&.I.c&Q.... + 0x09, 0x2a, 0x32, 0x55, 0x2e, 0x4c, 0x36, 0x2a, 0x05, 0x0c, 0x2f, 0x0d, 0x16, 0x1a, 0x4c, 0x0f, // .*2U.L6*../...L. + 0x3a, 0x0f, 0x19, 0x15, 0x19, 0x39, 0x01, 0x04, 0x04, 0x02, 0x30, 0x1e, 0x25, 0x3e, 0x2e, 0x2e, // :....9....0.%>.. + 0x3e, 0x25, 0x62, 0x3e, 0x2b, 0x14, 0x05, 0x05, 0x02, 0x03, 0x10, 0x0b, 0x2b, 0xc1, 0x7a, 0x37, // >%b>+.......+.z7 + 0x79, 0x6d, 0x6c, 0x77, 0x34, 0x35, 0x29, 0x30, 0x10, 0x09, 0x0c, 0x14, 0x1d, 0x13, 0x33, 0x33, // ymlw45)0......33 + 0x4a, 0x40, 0x30, 0x01, 0x21, 0x11, 0x21, 0x15, 0x16, 0x0b, 0x1c, 0x17, 0x19, 0x54, 0x14, 0x46, // J@0.!.!......T.F + 0x4c, 0xa0, 0x87, 0xfe, 0xee, 0xe5, 0x20, 0x50, 0x5d, 0x3d, 0x1f, 0x10, 0x0f, 0x47, 0x53, 0x0b, // L..... P]=...GS. + 0xe6, 0x01, 0x2d, 0x83, 0xd0, 0x6b, 0x77, 0x6d, 0x03, 0x15, 0x0c, 0x17, 0x11, 0x14, 0x09, 0x13, // ..-..kwm........ + 0x21, 0xa9, 0x83, 0xfe, 0xe4, 0xac, 0x2a, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, // !.....*......... + 0x06, 0x00, 0x00, 0x18, 0x00, 0x28, 0x00, 0x00, 0x25, 0x13, 0x36, 0x26, 0x07, 0x01, 0x0e, 0x01, // .....(..%.6&.... + 0x16, 0x1f, 0x01, 0x01, 0x36, 0x17, 0x16, 0x07, 0x01, 0x39, 0x01, 0x07, 0x32, 0x3f, 0x01, 0x17, // ....6....9..2?.. + 0x16, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, // ...... $&...6$ . + 0x16, 0x04, 0xa5, 0x93, 0x09, 0x27, 0x20, 0xfc, 0xa0, 0x1d, 0x15, 0x10, 0x18, 0xdd, 0x02, 0x01, // .....' ......... + 0x15, 0x0b, 0x07, 0x0b, 0xfe, 0x61, 0x10, 0x17, 0x16, 0x6c, 0xe0, 0x40, 0x02, 0x6c, 0x8e, 0xf0, // .....a...l.@.l.. + 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, // ...........L.l.L + 0xf0, 0xe5, 0x02, 0xb5, 0x2c, 0x26, 0x0c, 0xfe, 0xb3, 0x0b, 0x1c, 0x19, 0x07, 0x45, 0x01, 0x43, // ....,&.......E.C + 0x0e, 0x08, 0x05, 0x0a, 0xfe, 0x89, 0xe4, 0x16, 0x68, 0xa5, 0x24, 0x02, 0x9b, 0xfe, 0x94, 0xfe, // ........h.$..... + 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, // ......L.l.L..... + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x0d, 0x00, 0x1f, 0x00, 0x2f, // .............../ + 0x00, 0x33, 0x00, 0x37, 0x00, 0x3b, 0x00, 0x00, 0x25, 0x14, 0x06, 0x22, 0x26, 0x35, 0x34, 0x36, // .3.7.;..%.."&546 + 0x37, 0x11, 0x33, 0x11, 0x1e, 0x01, 0x17, 0x34, 0x26, 0x27, 0x11, 0x34, 0x26, 0x22, 0x06, 0x15, // 7.3....4&'.4&".. + 0x11, 0x0e, 0x01, 0x15, 0x14, 0x16, 0x20, 0x36, 0x37, 0x14, 0x00, 0x20, 0x00, 0x35, 0x34, 0x37, // ...... 67.. .547 + 0x11, 0x34, 0x36, 0x20, 0x16, 0x15, 0x11, 0x16, 0x13, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, // .46 ......#5..#5 + 0x13, 0x15, 0x23, 0x35, 0x02, 0x80, 0x70, 0xa0, 0x70, 0x46, 0x3a, 0x80, 0x3a, 0x46, 0x80, 0x44, // ..#5..p.pF:.:F.D + 0x3c, 0x70, 0xa0, 0x70, 0x3c, 0x44, 0xbb, 0x01, 0x0a, 0xbb, 0x80, 0xfe, 0xf9, 0xfe, 0x8e, 0xfe, // .F.N.V.^.f.n.v + 0x00, 0x7e, 0x00, 0x86, 0x00, 0x8e, 0x00, 0x96, 0x00, 0x9e, 0x00, 0x00, 0x01, 0x16, 0x14, 0x07, // .~.............. + 0x01, 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x2e, 0x01, 0x37, 0x26, 0x23, 0x22, 0x06, // .."/.&4?...7&#". + 0x15, 0x11, 0x21, 0x11, 0x34, 0x3e, 0x02, 0x33, 0x32, 0x16, 0x17, 0x36, 0x16, 0x17, 0x37, 0x36, // ..!.4>.32..6..76 + 0x32, 0x17, 0x02, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x04, 0x22, 0x26, 0x34, 0x36, 0x32, // 2..2..."&4."&462 + 0x16, 0x14, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x04, 0x32, 0x16, 0x14, 0x06, 0x22, // ..62..."&4.2..." + 0x26, 0x34, 0x04, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x24, 0x32, 0x16, 0x14, 0x06, 0x22, // &4.462..."$2..." + 0x26, 0x34, 0x04, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x04, 0x22, 0x26, 0x34, 0x36, 0x32, // &4.2..."&4."&462 + 0x16, 0x14, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x04, 0x22, 0x26, 0x34, 0x36, 0x32, // ..62..."&4."&462 + 0x16, 0x14, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x04, 0x32, 0x16, 0x14, 0x06, 0x22, // ..62..."&4.2..." + 0x26, 0x34, 0x24, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x06, 0x32, 0x16, 0x14, 0x06, 0x22, // &4$2..."&4.2..." + 0x26, 0x34, 0x06, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x05, 0x99, 0x0a, 0x0a, 0xfd, 0x8e, // &4.2..."&4...... + 0x0a, 0x1a, 0x0a, 0x52, 0x0a, 0x0a, 0x2c, 0x48, 0x13, 0x38, 0x4a, 0x66, 0x6a, 0x96, 0xff, 0x00, // ...R..,H.8Jfj... + 0x51, 0x8a, 0xbd, 0x68, 0x6a, 0xbe, 0x47, 0x5e, 0xce, 0x52, 0x2c, 0x0a, 0x1a, 0x0a, 0x21, 0x34, // Q..hj.G^.R,...!4 + 0x26, 0x26, 0x34, 0x26, 0x01, 0x5a, 0x34, 0x26, 0x26, 0x34, 0x26, 0xa6, 0x34, 0x26, 0x26, 0x34, // &&4&.Z4&&4&.4&&4 + 0x26, 0xfd, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x00, 0x26, 0x34, 0x26, 0x26, 0x34, 0x01, // &..4&&4&..&4&&4. + 0x00, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfd, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x5a, 0x34, // .4&&4&..4&&4&.Z4 + 0x26, 0x26, 0x34, 0x26, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfe, 0xda, 0x34, 0x26, 0x26, 0x34, // &&4&.4&&4&..4&&4 + 0x26, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0xfe, 0xa6, 0x34, 0x26, 0x26, 0x34, 0x26, 0x01, 0x26, // &.4&&4&..4&&4&.& + 0x34, 0x26, 0x26, 0x34, 0x26, 0x5a, 0x34, 0x26, 0x26, 0x34, 0x26, 0x5a, 0x34, 0x26, 0x26, 0x34, // 4&&4&Z4&&4&Z4&&4 + 0x26, 0x05, 0x07, 0x0a, 0x1a, 0x0a, 0xfd, 0x8e, 0x0a, 0x0a, 0x52, 0x0a, 0x1a, 0x0a, 0x2c, 0x5b, // &.........R...,[ + 0xe8, 0x63, 0x47, 0x96, 0x6a, 0xfb, 0x00, 0x05, 0x00, 0x68, 0xbd, 0x8a, 0x51, 0x52, 0x4a, 0x27, // .cG.j....h..QRJ' + 0x1d, 0x41, 0x2c, 0x0a, 0x0a, 0xfe, 0xa7, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, // .A,....&4&&4Z&4& + 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x34, 0x34, // &4Z&4&&4Z&4&&444 + 0x26, 0x26, 0x34, 0x26, 0x80, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, // &&4&.&4&&4Z&4&&4 + 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0xda, 0x26, 0x34, 0x26, // Z&4&&4Z&4&&4.&4& + 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x26, 0x26, // &4Z&4&&4Z&4&&4&& + 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, 0x5a, 0x26, 0x34, 0x26, 0x26, 0x34, // 4&&4Z&4&&4Z&4&&4 + 0x00, 0x11, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x25, 0x00, 0x2d, // .............%.- + 0x00, 0x35, 0x00, 0x3d, 0x00, 0x45, 0x00, 0x4d, 0x00, 0x7d, 0x00, 0x85, 0x00, 0x8d, 0x00, 0x95, // .5.=.E.M.}...... + 0x00, 0x9d, 0x00, 0xa5, 0x00, 0xad, 0x00, 0xb5, 0x00, 0xbd, 0x00, 0xc5, 0x00, 0x00, 0x01, 0x15, // ................ + 0x14, 0x07, 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x06, 0x23, 0x21, 0x22, 0x27, // .....+."&=..#!"' + 0x15, 0x14, 0x06, 0x2b, 0x01, 0x22, 0x26, 0x3d, 0x01, 0x26, 0x3d, 0x01, 0x00, 0x14, 0x06, 0x22, // ...+."&=.&=...." + 0x26, 0x34, 0x36, 0x32, 0x36, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, // &4626.."&462&.." + 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, // &462..."&462&.." + 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x15, 0x14, 0x06, // &462&.."&462.... + 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x3b, 0x01, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, // #!"&=.46;..4632. + 0x36, 0x16, 0x17, 0x37, 0x36, 0x1f, 0x01, 0x16, 0x07, 0x01, 0x06, 0x2f, 0x01, 0x26, 0x3f, 0x01, // 6..76....../.&?. + 0x2e, 0x01, 0x37, 0x26, 0x23, 0x22, 0x06, 0x15, 0x11, 0x21, 0x32, 0x16, 0x00, 0x14, 0x06, 0x22, // ..7&#"...!2...." + 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, // &462&.."&462&.." + 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, // &462..."&462&.." + 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, // &462&.."&462..." + 0x26, 0x34, 0x36, 0x32, 0x26, 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x06, 0x22, // &462&.."&462..." + 0x26, 0x34, 0x36, 0x32, 0x06, 0x80, 0x80, 0x12, 0x0e, 0x40, 0x0e, 0x12, 0x3f, 0x41, 0xfd, 0x00, // &462.....@..?A.. + 0x41, 0x3f, 0x13, 0x0d, 0x40, 0x0d, 0x13, 0x80, 0x02, 0x40, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x52, // A?..@....@.....R + 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x92, 0x12, 0x1c, 0x12, 0x12, // ................ + 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x04, 0x52, 0x12, // ..............R. + 0x0e, 0xf9, 0x40, 0x0e, 0x12, 0x12, 0x0e, 0x60, 0x96, 0x6a, 0x6c, 0x4c, 0x2e, 0x68, 0x29, 0x16, // ..@....`.jlL.h). + 0x0b, 0x0b, 0x2a, 0x0b, 0x0b, 0xfe, 0xc6, 0x0b, 0x0b, 0x2a, 0x0b, 0x0b, 0x16, 0x24, 0x09, 0x1c, // ..*......*...$.. + 0x25, 0x33, 0x35, 0x4b, 0x05, 0xe0, 0x0e, 0x12, 0xfc, 0x80, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x2e, // %35K............ + 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0xd2, 0x12, 0x1c, 0x12, 0x12, // ................ + 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0xd2, 0x12, 0x1c, // ................ + 0x12, 0x12, 0x1c, 0x2e, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x92, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x01, // ................ + 0xc0, 0xc0, 0xa9, 0x75, 0xc2, 0x0e, 0x12, 0x12, 0x0e, 0x76, 0x16, 0x16, 0x6e, 0x11, 0x17, 0x17, // ...u.....v..n... + 0x11, 0xba, 0x75, 0xa9, 0xc0, 0x01, 0xae, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, // ..u............. + 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, // ................ + 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0xfd, 0xe0, 0x40, 0x0e, 0x12, 0x12, // ............@... + 0x0e, 0x40, 0x0e, 0x12, 0x02, 0x80, 0x6a, 0x96, 0x4e, 0x13, 0x0e, 0x20, 0x16, 0x0b, 0x0b, 0x2a, // .@....j.N.. ...* + 0x0b, 0x0b, 0xfe, 0xc6, 0x0b, 0x0b, 0x2a, 0x0b, 0x0b, 0x16, 0x2e, 0x74, 0x32, 0x23, 0x4b, 0x35, // ......*....t2#K5 + 0xfd, 0x80, 0x12, 0x01, 0xc0, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, 0x1c, 0x12, // ................ + 0x2e, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x52, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, // ......R......... + 0x1c, 0x12, 0x2e, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x52, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x2e, 0x1c, // ........R....... + 0x12, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x12, 0x1c, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, // ................ + 0xff, 0x00, 0x06, 0x00, 0x05, 0xfe, 0x00, 0x0d, 0x00, 0x40, 0x00, 0x48, 0x00, 0x71, 0x00, 0x00, // .........@.H.q.. + 0x01, 0x14, 0x07, 0x06, 0x07, 0x06, 0x20, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34, 0x20, 0x01, 0x14, // ...... '&'&54 .. + 0x00, 0x07, 0x06, 0x26, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x12, 0x35, 0x34, 0x02, // ...&76767676.54. + 0x24, 0x07, 0x0e, 0x03, 0x17, 0x16, 0x12, 0x17, 0x16, 0x17, 0x16, 0x17, 0x1e, 0x01, 0x17, 0x16, // $............... + 0x06, 0x27, 0x2e, 0x01, 0x02, 0x37, 0x36, 0x12, 0x36, 0x24, 0x37, 0x36, 0x04, 0x16, 0x12, 0x04, // .'...76.6$76.... + 0x14, 0x06, 0x22, 0x26, 0x34, 0x36, 0x32, 0x01, 0x14, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x27, // .."&462.....&'&' + 0x26, 0x37, 0x3e, 0x01, 0x35, 0x34, 0x2e, 0x01, 0x07, 0x0e, 0x01, 0x07, 0x06, 0x16, 0x17, 0x16, // &7>.54.......... + 0x07, 0x06, 0x07, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x1e, 0x01, 0x03, // .....'..7>.76... + 0xe2, 0x11, 0x1f, 0x18, 0x16, 0xfe, 0xfc, 0x16, 0x18, 0x1f, 0x11, 0x01, 0xc0, 0x02, 0x1e, 0xfe, // ................ + 0xf4, 0xd8, 0x08, 0x0e, 0x01, 0x07, 0x03, 0x04, 0x02, 0x01, 0x08, 0x9f, 0xc1, 0xb6, 0xfe, 0xc8, // ................ + 0xb5, 0x7c, 0xe2, 0xa1, 0x5f, 0x01, 0x01, 0xc4, 0x9f, 0x07, 0x02, 0x03, 0x03, 0x01, 0x08, 0x02, // .|.._........... + 0x01, 0x0f, 0x08, 0x94, 0xe2, 0x79, 0x08, 0x07, 0x76, 0xbf, 0x01, 0x03, 0x8f, 0xa4, 0x01, 0x2f, // .....y..v....../ + 0xdb, 0x83, 0xfd, 0xe2, 0x83, 0xba, 0x83, 0x83, 0xba, 0x01, 0xa3, 0x6b, 0x5d, 0x08, 0x10, 0x02, // ...........k]... + 0x06, 0x17, 0x07, 0x0a, 0x3a, 0x42, 0x75, 0xc6, 0x71, 0x85, 0xc0, 0x0d, 0x0a, 0x43, 0x41, 0x0a, // ....:Bu.q....CA. + 0x07, 0x18, 0x05, 0x02, 0x10, 0x08, 0x5f, 0x6b, 0x02, 0x03, 0x84, 0xde, 0x82, 0x90, 0xf8, 0x91, // ......_k........ + 0x01, 0x58, 0x56, 0x6f, 0xd7, 0x62, 0x5a, 0x5a, 0x62, 0xd7, 0x6e, 0x57, 0xa8, 0x01, 0x00, 0xf0, // .XVo.bZZb.nW.... + 0xfe, 0x7c, 0x56, 0x03, 0x0c, 0x09, 0x30, 0x12, 0x20, 0x0f, 0x09, 0x03, 0x51, 0x01, 0x32, 0xb8, // .|V...0. ...Q.2. + 0xb4, 0x01, 0x2d, 0xa8, 0x0a, 0x07, 0x6c, 0xad, 0xe7, 0x7d, 0xb8, 0xfe, 0xcf, 0x4f, 0x03, 0x09, // ..-...l..}...O.. + 0x15, 0x18, 0x09, 0x2f, 0x0c, 0x09, 0x0c, 0x04, 0x3a, 0xdf, 0x01, 0x31, 0xa7, 0x8f, 0x01, 0x05, // .../....:..1.... + 0xc1, 0x7a, 0x09, 0x0a, 0x71, 0xd0, 0xfe, 0xdb, 0x25, 0xba, 0x83, 0x83, 0xba, 0x83, 0xff, 0x00, // .z..q...%....... + 0x7a, 0xd5, 0x47, 0x06, 0x08, 0x0a, 0x34, 0x28, 0x0a, 0x0a, 0x36, 0x92, 0x52, 0x6f, 0xba, 0x61, // z.G...4(..6.Ro.a + 0x0c, 0x0f, 0xc4, 0x85, 0x5c, 0xa8, 0x3c, 0x0a, 0x0a, 0x29, 0x34, 0x09, 0x08, 0x06, 0x4a, 0xda, // ......<..)4...J. + 0x7d, 0x83, 0xe2, 0x89, 0x06, 0x07, 0x86, 0xf1, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, // }............... + 0x05, 0x80, 0x00, 0x03, 0x00, 0x13, 0x00, 0x00, 0x25, 0x21, 0x11, 0x21, 0x01, 0x11, 0x14, 0x06, // ........%!.!.... + 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x00, 0x05, 0x00, // #!"&5.463!2..... + 0xfb, 0x00, 0x06, 0x00, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, // ....^B.@B^^B..B^ + 0x80, 0x03, 0x00, 0x01, 0x60, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, // ....`.@B^^B..B^^ + 0x00, 0x01, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x01, 0x80, 0x00, 0x0f, 0x00, 0x00, 0x25, 0x15, // ..............%. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x3d, 0x01, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x07, 0x00, // ..#!"&=.463!2... + 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0xe0, 0xc0, 0x42, 0x5e, // ^B.@B^^B..B^..B^ + 0x5e, 0x42, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff, 0x00, 0x08, 0x00, // ^B.B^^.......... + 0x06, 0x00, 0x00, 0x03, 0x00, 0x0c, 0x00, 0x26, 0x00, 0x00, 0x29, 0x01, 0x11, 0x29, 0x02, 0x11, // .......&..)..).. + 0x21, 0x11, 0x33, 0x32, 0x16, 0x15, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x11, 0x14, 0x06, 0x23, // !.32......#!...# + 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, // !"&5.463!.463!2. + 0x01, 0x00, 0x03, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x02, 0x00, 0xfd, 0x00, 0x60, 0x42, 0x5e, 0x03, // ............`B^. + 0x00, 0x5e, 0x42, 0xfd, 0xa0, 0x5e, 0x42, 0xfc, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x02, 0x60, 0x5e, // .^B..^B.@B^^B.`^ + 0x42, 0x03, 0xc0, 0x42, 0x5e, 0x02, 0x00, 0x03, 0x00, 0xff, 0x00, 0x5e, 0x42, 0x02, 0x00, 0xfc, // B..B^......^B... + 0x40, 0x42, 0x5e, 0xfe, 0xa0, 0x42, 0x5e, 0x5e, 0x42, 0x03, 0xc0, 0x42, 0x5e, 0x01, 0x60, 0x42, // @B^..B^^B..B^.`B + 0x5e, 0x5e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x23, // ^^.............# + 0x00, 0x33, 0x00, 0x00, 0x25, 0x37, 0x36, 0x34, 0x2f, 0x01, 0x37, 0x36, 0x34, 0x2f, 0x01, 0x26, // .3..%764/.764/.& + 0x22, 0x0f, 0x01, 0x27, 0x26, 0x22, 0x0f, 0x01, 0x06, 0x14, 0x1f, 0x01, 0x07, 0x06, 0x14, 0x1f, // "..'&".......... + 0x01, 0x16, 0x32, 0x3f, 0x01, 0x17, 0x16, 0x32, 0x01, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, // ..2?...2....#!"& + 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0x97, 0x92, 0x0a, 0x0a, 0xe9, 0xe9, 0x0a, // 5.463!2......... + 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0xe9, 0xe9, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0xe9, 0xe9, 0x0a, // ................ + 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0xe9, 0xe9, 0x0a, 0x1a, 0x02, 0x73, 0x5e, 0x42, 0xfa, 0x40, 0x42, // ..........s^B.@B + 0x5e, 0x5e, 0x42, 0x05, 0xc0, 0x42, 0x5e, 0xd7, 0x92, 0x0a, 0x1a, 0x0a, 0xe9, 0xe9, 0x0a, 0x1a, // ^^B..B^......... + 0x0a, 0x92, 0x0a, 0x0a, 0xe9, 0xe9, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, 0x0a, 0xe9, 0xe9, 0x0a, 0x1a, // ................ + 0x0a, 0x92, 0x0a, 0x0a, 0xe9, 0xe9, 0x0a, 0x04, 0x13, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, // ..........@B^^B. + 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x03, 0x00, 0x00, 0xff, 0x80, 0x07, 0x00, 0x05, 0x80, 0x00, 0x23, // .B^^...........# + 0x00, 0x27, 0x00, 0x37, 0x00, 0x00, 0x01, 0x07, 0x06, 0x22, 0x2f, 0x01, 0x07, 0x06, 0x22, 0x2f, // .'.7....."/..."/ + 0x01, 0x26, 0x34, 0x3f, 0x01, 0x27, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x37, 0x36, // .&4?.'&4?.62..76 + 0x32, 0x1f, 0x01, 0x16, 0x14, 0x0f, 0x01, 0x17, 0x16, 0x14, 0x01, 0x21, 0x11, 0x21, 0x25, 0x11, // 2..........!.!%. + 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x04, 0xe9, // ..#!"&5.463!2... + 0x92, 0x0a, 0x1a, 0x0a, 0xa9, 0xa9, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0xa9, 0xa9, 0x0a, 0x0a, // ................ + 0x92, 0x0a, 0x1a, 0x0a, 0xa9, 0xa9, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0xa9, 0xa9, 0x0a, 0xfc, // ................ + 0x0d, 0x05, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x5e, 0x42, 0xfa, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x05, // .......^B.@B^^B. + 0xc0, 0x42, 0x5e, 0x01, 0xa9, 0x92, 0x0a, 0x0a, 0xa9, 0xa9, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, 0x0a, // .B^............. + 0xa9, 0xa9, 0x0a, 0x1a, 0x0a, 0x92, 0x0a, 0x0a, 0xa9, 0xa9, 0x0a, 0x0a, 0x92, 0x0a, 0x1a, 0x0a, // ................ + 0xa9, 0xa9, 0x0a, 0x1a, 0xfe, 0xcd, 0x04, 0x00, 0x60, 0xfb, 0x40, 0x42, 0x5e, 0x5e, 0x42, 0x04, // ........`.@B^^B. + 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x02, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x03, // .B^^............ + 0x00, 0x13, 0x00, 0x00, 0x09, 0x01, 0x21, 0x01, 0x00, 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, // ......!...... $& + 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x04, 0x2e, 0x01, 0x32, 0xfd, 0x72, 0xfe, 0xce, // ...6$ .....2.r.. + 0x05, 0x60, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, // .`.............L + 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x01, 0x66, 0x02, 0x34, 0xfd, 0xcc, 0x01, 0xd0, 0xfe, 0x94, 0xfe, // .l.L..f.4....... + 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, // ......L.l.L..... + 0x00, 0x07, 0x00, 0x00, 0xff, 0x00, 0x07, 0x02, 0x06, 0x00, 0x00, 0x07, 0x00, 0x13, 0x00, 0x23, // ...............# + 0x00, 0x2e, 0x00, 0x43, 0x00, 0xc4, 0x00, 0xd4, 0x00, 0x00, 0x01, 0x26, 0x0e, 0x01, 0x17, 0x16, // ...C.......&.... + 0x3e, 0x01, 0x05, 0x06, 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x17, 0x16, 0x14, 0x17, 0x07, // >..."'&4762..... + 0x06, 0x22, 0x2f, 0x01, 0x26, 0x34, 0x3f, 0x01, 0x36, 0x32, 0x1f, 0x01, 0x16, 0x14, 0x27, 0x06, // ."/.&4?.62....'. + 0x22, 0x27, 0x26, 0x34, 0x37, 0x36, 0x32, 0x16, 0x14, 0x25, 0x0e, 0x01, 0x27, 0x2e, 0x01, 0x3e, // "'&4762..%..'..> + 0x02, 0x16, 0x17, 0x1e, 0x07, 0x0e, 0x01, 0x13, 0x36, 0x2e, 0x02, 0x27, 0x2e, 0x01, 0x07, 0x3e, // ........6..'...> + 0x01, 0x1f, 0x01, 0x36, 0x27, 0x3e, 0x01, 0x2f, 0x01, 0x3e, 0x01, 0x37, 0x36, 0x26, 0x27, 0x26, // ...6'>./.>.76&'& + 0x06, 0x07, 0x0e, 0x01, 0x1e, 0x01, 0x17, 0x2e, 0x01, 0x27, 0x26, 0x37, 0x26, 0x27, 0x22, 0x07, // .........'&7&'". + 0x3e, 0x01, 0x3f, 0x01, 0x34, 0x27, 0x2e, 0x01, 0x06, 0x07, 0x36, 0x37, 0x06, 0x1e, 0x01, 0x17, // >.?.4'....67.... + 0x06, 0x07, 0x0e, 0x01, 0x0f, 0x01, 0x0e, 0x01, 0x17, 0x16, 0x17, 0x06, 0x07, 0x06, 0x14, 0x16, // ................ + 0x37, 0x3e, 0x01, 0x37, 0x2e, 0x02, 0x07, 0x3e, 0x04, 0x33, 0x16, 0x37, 0x36, 0x35, 0x34, 0x27, // 7>.7...>.3.7654' + 0x16, 0x07, 0x0e, 0x01, 0x0f, 0x01, 0x0e, 0x05, 0x16, 0x17, 0x26, 0x27, 0x0e, 0x04, 0x16, 0x17, // ..........&'.... + 0x16, 0x36, 0x12, 0x37, 0x3e, 0x01, 0x37, 0x16, 0x17, 0x16, 0x37, 0x36, 0x12, 0x10, 0x02, 0x06, // .6.7>.7...76.... + 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x05, 0x0b, 0x0f, 0x28, // . $&...6$ .....( + 0x0c, 0x0b, 0x0e, 0x34, 0x10, 0xfe, 0x5a, 0x08, 0x17, 0x07, 0x08, 0x08, 0x07, 0x17, 0x08, 0x07, // ...4..Z......... + 0x9e, 0x23, 0x0c, 0x23, 0x0d, 0x26, 0x0c, 0x0c, 0x23, 0x0c, 0x23, 0x0d, 0x26, 0x0c, 0x79, 0x07, // .#.#.&..#.#.&.y. + 0x17, 0x08, 0x07, 0x07, 0x08, 0x16, 0x10, 0x01, 0x8b, 0x22, 0x93, 0x36, 0x26, 0x2e, 0x04, 0x4a, // .........".6&..J + 0x4d, 0x40, 0x26, 0x02, 0x16, 0x07, 0x13, 0x06, 0x0e, 0x03, 0x05, 0x03, 0x07, 0xc3, 0x03, 0x17, // M@&............. + 0x20, 0x22, 0x06, 0x28, 0x58, 0x45, 0x13, 0x2a, 0x0c, 0x0c, 0x02, 0x24, 0x06, 0x01, 0x03, 0x03, // ".(XE.*...$.... + 0x2b, 0x38, 0x06, 0x0a, 0x6a, 0x54, 0x3c, 0x6c, 0x1c, 0x1e, 0x07, 0x24, 0x33, 0x1f, 0x2d, 0x56, // +8..jT.?.3..# + 0x27, 0x2e, 0x01, 0x27, 0x26, 0x21, 0x11, 0x14, 0x16, 0x33, 0x21, 0x32, 0x3e, 0x04, 0x3f, 0x01, // '..'&!...3!2>.?. + 0x33, 0x06, 0x02, 0x07, 0x2e, 0x01, 0x27, 0x23, 0x21, 0x05, 0x35, 0x37, 0x3e, 0x01, 0x37, 0x13, // 3.....'#!.57>.7. + 0x12, 0x27, 0x2e, 0x01, 0x2f, 0x01, 0x35, 0x05, 0x21, 0x32, 0x37, 0x0e, 0x01, 0x0f, 0x01, 0x23, // .'../.5.!27....# + 0x27, 0x2e, 0x01, 0x23, 0x21, 0x22, 0x06, 0x02, 0x06, 0x67, 0xb1, 0x25, 0x25, 0x44, 0x2d, 0x11, // '..#!"...g.%%D-. + 0x21, 0x67, 0x0e, 0x07, 0x67, 0x1d, 0x0f, 0x3c, 0x36, 0x57, 0xfe, 0xf7, 0x57, 0x5a, 0x01, 0x65, // !g..g..<6W..WZ.e + 0x23, 0x31, 0x3d, 0x2f, 0x32, 0x2a, 0x12, 0x5d, 0x59, 0x06, 0x33, 0x05, 0x92, 0xeb, 0x2d, 0x2c, // #1=/2*.]Y.3...-, + 0xfd, 0x8c, 0xfe, 0x88, 0x7f, 0x43, 0x31, 0x01, 0x08, 0x03, 0x0b, 0x02, 0x2f, 0x44, 0x7f, 0x01, // .....C1...../D.. + 0x78, 0x02, 0xbe, 0x8b, 0xeb, 0x06, 0x10, 0x04, 0x05, 0x5d, 0x20, 0x1f, 0x56, 0x46, 0xfd, 0xdc, // x........] .VF.. + 0x1c, 0x0f, 0x05, 0x49, 0xfd, 0x71, 0x01, 0x05, 0x03, 0x03, 0x02, 0x2d, 0x48, 0x8e, 0xfe, 0xbe, // ...I.q.....-H... + 0xfe, 0xc1, 0x7f, 0x44, 0x32, 0x01, 0x08, 0xfd, 0xd4, 0x4e, 0x4b, 0x04, 0x0b, 0x19, 0x27, 0x3e, // ...D2....NK...'> + 0x2a, 0xd8, 0x25, 0xfe, 0x52, 0x3d, 0x05, 0x06, 0x01, 0x0c, 0x66, 0x19, 0x0d, 0x30, 0x37, 0x02, // *.%.R=....f..07. + 0x83, 0x01, 0x92, 0xf3, 0x3d, 0x2e, 0x0d, 0x18, 0x66, 0x0c, 0x1b, 0x44, 0xfd, 0x5d, 0x5c, 0x7c, // ....=...f..D.].| + 0x79, 0x75, 0x11, 0x00, 0x00, 0x07, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, 0x05, 0x80, 0x00, 0x11, // yu.............. + 0x00, 0x2c, 0x00, 0x30, 0x00, 0x3e, 0x00, 0x53, 0x00, 0x65, 0x00, 0x75, 0x00, 0x00, 0x01, 0x15, // .,.0.>.S.e.u.... + 0x14, 0x16, 0x0e, 0x04, 0x23, 0x11, 0x32, 0x1e, 0x03, 0x1c, 0x01, 0x05, 0x15, 0x14, 0x16, 0x0e, // ....#.2......... + 0x02, 0x23, 0x22, 0x27, 0x26, 0x35, 0x3c, 0x03, 0x3e, 0x02, 0x33, 0x32, 0x1e, 0x03, 0x1c, 0x01, // .#"'&5<.>.32.... + 0x05, 0x33, 0x11, 0x23, 0x01, 0x33, 0x11, 0x23, 0x07, 0x26, 0x27, 0x23, 0x11, 0x33, 0x11, 0x13, // .3.#.3.#.&'#.3.. + 0x33, 0x13, 0x05, 0x34, 0x27, 0x2e, 0x05, 0x22, 0x23, 0x22, 0x2b, 0x01, 0x11, 0x32, 0x33, 0x16, // 3..4'.."#"+..23. + 0x36, 0x27, 0x26, 0x05, 0x35, 0x34, 0x2e, 0x02, 0x23, 0x22, 0x07, 0x35, 0x23, 0x11, 0x33, 0x37, // 6'&.54..#".5#.37 + 0x16, 0x33, 0x32, 0x36, 0x13, 0x11, 0x14, 0x06, 0x23, 0x21, 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, // .326....#!"&5.46 + 0x33, 0x21, 0x32, 0x16, 0x03, 0x9a, 0x01, 0x01, 0x02, 0x05, 0x08, 0x0e, 0x09, 0x09, 0x0e, 0x08, // 3!2............. + 0x05, 0x02, 0x01, 0x3c, 0x01, 0x01, 0x04, 0x0b, 0x08, 0x09, 0x05, 0x04, 0x03, 0x04, 0x06, 0x05, // ...<............ + 0x06, 0x08, 0x05, 0x03, 0x01, 0xfb, 0xde, 0x7a, 0x7a, 0x01, 0xb2, 0x6a, 0x9f, 0x1c, 0x14, 0x0c, // .......zz..j.... + 0x9e, 0x6b, 0x2d, 0x4c, 0x2b, 0x01, 0xa9, 0x05, 0x03, 0x10, 0x12, 0x20, 0x15, 0x29, 0x11, 0x15, // .k-L+...... .).. + 0x08, 0x04, 0x5b, 0x14, 0x24, 0xa9, 0x38, 0x03, 0x01, 0x01, 0x3d, 0x04, 0x0f, 0x22, 0x1d, 0x2e, // ..[.$.8...=..".. + 0x1f, 0x75, 0x6e, 0x07, 0x1e, 0x2f, 0x32, 0x20, 0xb4, 0x5e, 0x42, 0xfb, 0x40, 0x42, 0x5e, 0x5e, // .un../2 .^B.@B^^ + 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x02, 0xe3, 0xb6, 0x04, 0x16, 0x08, 0x10, 0x07, 0x08, 0x03, 0x01, // B..B^........... + 0x35, 0x02, 0x08, 0x03, 0x10, 0x05, 0x16, 0x63, 0x79, 0x01, 0x17, 0x08, 0x0f, 0x06, 0x09, 0x0a, // 5......cy....... + 0x9b, 0x02, 0x0a, 0x07, 0x0b, 0x06, 0x08, 0x03, 0x03, 0x06, 0x06, 0x0b, 0x05, 0x0e, 0xee, 0x01, // ................ + 0xd8, 0xfe, 0x28, 0x01, 0xd8, 0xdd, 0x94, 0x49, 0xfe, 0x28, 0x01, 0x38, 0xfe, 0xc8, 0x01, 0x3f, // ..(....I.(.8...? + 0x0e, 0x43, 0x17, 0x10, 0x19, 0x10, 0x0c, 0x05, 0x03, 0xfe, 0x28, 0x01, 0x33, 0x9b, 0x3e, 0x9f, // .C........(.3.>. + 0x85, 0x1d, 0x20, 0x23, 0x0f, 0x22, 0x9a, 0xfe, 0x28, 0x1e, 0x24, 0x3d, 0x03, 0x12, 0xfb, 0x40, // .. #."..(.$=...@ + 0x42, 0x5e, 0x5e, 0x42, 0x04, 0xc0, 0x42, 0x5e, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x30, // B^^B..B^^......0 + 0xff, 0x02, 0x08, 0x4b, 0x05, 0xf8, 0x00, 0x0c, 0x00, 0x15, 0x00, 0x1a, 0x00, 0x53, 0x00, 0x8f, // ...K.........S.. + 0x00, 0x00, 0x05, 0x26, 0x27, 0x2e, 0x04, 0x27, 0x26, 0x27, 0x16, 0x00, 0x01, 0x17, 0x2e, 0x01, // ...&'..'&'...... + 0x2f, 0x01, 0x06, 0x07, 0x16, 0x13, 0x06, 0x07, 0x36, 0x37, 0x01, 0x34, 0x02, 0x26, 0x24, 0x23, // /.......67.4.&$# + 0x22, 0x04, 0x07, 0x06, 0x07, 0x3e, 0x03, 0x1f, 0x01, 0x1e, 0x03, 0x07, 0x26, 0x0e, 0x02, 0x07, // "....>......&... + 0x1e, 0x02, 0x17, 0x16, 0x3e, 0x02, 0x3f, 0x01, 0x3e, 0x01, 0x16, 0x17, 0x16, 0x07, 0x06, 0x05, // ....>.?.>....... + 0x06, 0x27, 0x1e, 0x03, 0x1f, 0x01, 0x16, 0x37, 0x36, 0x12, 0x13, 0x06, 0x07, 0x06, 0x02, 0x07, // .'.....76....... + 0x06, 0x07, 0x06, 0x27, 0x06, 0x23, 0x20, 0x00, 0x03, 0x22, 0x26, 0x23, 0x06, 0x1e, 0x02, 0x1f, // ...'.# .."&#.... + 0x01, 0x16, 0x17, 0x2e, 0x03, 0x2f, 0x01, 0x2e, 0x06, 0x27, 0x1e, 0x02, 0x17, 0x37, 0x36, 0x37, // ...../...'...767 + 0x36, 0x37, 0x36, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x24, 0x04, 0x17, 0x16, 0x12, 0x04, 0x77, 0x06, // 6767>.76$.....w. + 0x05, 0x0d, 0x2e, 0x7e, 0x6b, 0x75, 0x1f, 0x11, 0x9e, 0x42, 0x01, 0x52, 0xfe, 0x5d, 0xa8, 0x19, // ...~ku...B.R.].. + 0x20, 0x03, 0x04, 0x54, 0x25, 0x05, 0x7a, 0x2b, 0x22, 0x2c, 0x1e, 0x05, 0xa0, 0x7c, 0xd3, 0xfe, // ..T%.z+",...|.. + 0xde, 0x9f, 0x93, 0xfe, 0xf4, 0x6a, 0x1e, 0x0f, 0x3c, 0xa6, 0x97, 0x87, 0x29, 0x28, 0x21, 0x28, // .....j..<...)(!( + 0x09, 0x04, 0x03, 0x7e, 0xcb, 0xa3, 0x7a, 0x46, 0x04, 0x0f, 0x38, 0x22, 0x7b, 0xf9, 0xb4, 0x91, // ...~..zF..8"{... + 0x25, 0x25, 0x16, 0x23, 0x1a, 0x04, 0x0e, 0x35, 0xd0, 0xfe, 0xfd, 0x87, 0xb6, 0x29, 0x8a, 0x88, // %%.#...5.....).. + 0x7d, 0x27, 0x27, 0x8f, 0x78, 0xc3, 0xee, 0x4a, 0x0e, 0x1a, 0x46, 0xdf, 0xcf, 0x30, 0x22, 0x48, // }''.x..J..F..0"H + 0x5b, 0x24, 0x25, 0xfe, 0xe5, 0xfe, 0x45, 0x4a, 0x01, 0x06, 0x02, 0x06, 0x11, 0x23, 0x25, 0x0d, // [$%...EJ.....#%. + 0x0e, 0x08, 0x2e, 0x47, 0x6b, 0x32, 0x1d, 0x03, 0x02, 0x05, 0x39, 0x28, 0x42, 0x31, 0x33, 0x22, // ...Gk2....9(B13" + 0x08, 0x13, 0x3f, 0xa3, 0x40, 0x02, 0x0b, 0x53, 0x29, 0x87, 0x1c, 0x35, 0x0f, 0x22, 0x20, 0x9e, // ..?.@..S)..5." . + 0x01, 0x23, 0x01, 0x39, 0x96, 0xdc, 0xe2, 0xc5, 0x01, 0x03, 0x08, 0x1e, 0x64, 0x6d, 0xab, 0x57, // .#.9........dm.W + 0x03, 0x22, 0xd5, 0xfe, 0xd6, 0x02, 0x3b, 0x1c, 0x4c, 0xb7, 0x36, 0x35, 0x52, 0x8e, 0x41, 0x02, // ."....;.L.65R.A. + 0x30, 0x40, 0x54, 0x2e, 0x16, 0xfe, 0x9e, 0xa1, 0x01, 0x24, 0xd4, 0x7d, 0x69, 0x60, 0x3a, 0x66, // 0@T......$.}i`:f + 0x33, 0x41, 0x15, 0x06, 0x04, 0x03, 0x01, 0x1d, 0x25, 0x25, 0x0a, 0x0b, 0x15, 0x42, 0x4d, 0x3c, // 3A......%%...BM< + 0x24, 0x71, 0xf3, 0x3a, 0x06, 0x29, 0x42, 0x44, 0x19, 0x18, 0x10, 0x09, 0x13, 0x19, 0x61, 0x18, // $q.:.)BD......a. + 0x61, 0x25, 0x14, 0x04, 0x60, 0xa1, 0x5d, 0x41, 0x0b, 0x0c, 0x17, 0x26, 0x63, 0x01, 0x7c, 0x01, // a%..`.]A...&c.|. + 0x09, 0x87, 0x4d, 0xd0, 0xfe, 0xeb, 0x73, 0x21, 0x0b, 0x1a, 0x0a, 0x03, 0x01, 0x5a, 0x01, 0x0d, // ..M...s!.....Z.. + 0x01, 0x32, 0x7d, 0x69, 0x5b, 0x1a, 0x1a, 0x0c, 0x46, 0x26, 0x89, 0x8f, 0x83, 0x2a, 0x2a, 0x02, // .2}i[...F&...**. + 0x15, 0x0f, 0x1a, 0x18, 0x1b, 0x1b, 0x0c, 0x0a, 0x1f, 0x3c, 0x08, 0x20, 0x95, 0x8d, 0xca, 0xa3, // .........<. .... + 0x73, 0x63, 0x1c, 0x22, 0x0f, 0x4a, 0x3c, 0x26, 0x4e, 0x73, 0xfe, 0x46, 0x00, 0x05, 0x00, 0x25, // sc.".J<&Ns.F...% + 0xff, 0x0c, 0x06, 0xd8, 0x05, 0xf4, 0x00, 0x17, 0x00, 0x30, 0x00, 0x40, 0x00, 0x57, 0x00, 0x6d, // .........0.@.W.m + 0x00, 0x00, 0x01, 0x36, 0x26, 0x27, 0x2e, 0x01, 0x06, 0x07, 0x06, 0x16, 0x17, 0x1e, 0x02, 0x17, // ...6&'.......... + 0x1e, 0x07, 0x36, 0x01, 0x0e, 0x02, 0x04, 0x24, 0x2e, 0x01, 0x02, 0x37, 0x3e, 0x03, 0x37, 0x06, // ..6....$...7>.7. + 0x1a, 0x01, 0x0c, 0x01, 0x24, 0x37, 0x36, 0x07, 0x14, 0x02, 0x14, 0x0e, 0x02, 0x22, 0x2e, 0x02, // ....$76......".. + 0x34, 0x3e, 0x02, 0x32, 0x1e, 0x01, 0x05, 0x2e, 0x01, 0x2c, 0x01, 0x0c, 0x01, 0x06, 0x02, 0x17, // 4>.2.....,...... + 0x26, 0x02, 0x3e, 0x04, 0x1e, 0x02, 0x17, 0x1e, 0x01, 0x03, 0x36, 0x00, 0x27, 0x22, 0x27, 0x26, // &.>.......6.'"'& + 0x37, 0x1e, 0x04, 0x0e, 0x03, 0x07, 0x3e, 0x03, 0x05, 0x3d, 0x1d, 0x47, 0x56, 0x3a, 0x87, 0x65, // 7.....>..=.GV:.e + 0x12, 0x0c, 0x0f, 0x23, 0x17, 0x1f, 0x3a, 0x1b, 0x24, 0x3f, 0x2b, 0x25, 0x18, 0x14, 0x0d, 0x0b, // ...#..:.$?+%.... + 0x0a, 0x01, 0x71, 0x34, 0xc1, 0xec, 0xfe, 0xf2, 0xfe, 0xfa, 0xf0, 0xb4, 0x67, 0x05, 0x01, 0x0f, // ..q4........g... + 0x0a, 0x26, 0x04, 0x33, 0x68, 0xf2, 0x01, 0x54, 0x01, 0x60, 0x01, 0x5a, 0x74, 0x14, 0x02, 0xf3, // .&.3h..T.`.Zt... + 0x51, 0x88, 0xbc, 0xd0, 0xbc, 0x88, 0x51, 0x51, 0x88, 0xbc, 0xd0, 0xbc, 0x88, 0x01, 0x70, 0x41, // Q.....QQ......pA + 0xe7, 0xfe, 0xed, 0xfe, 0xcb, 0xfe, 0xdb, 0xfe, 0xfe, 0xb6, 0x50, 0x1e, 0x31, 0x05, 0x4c, 0x8e, // ..........P.1.L. + 0xbd, 0xe1, 0xef, 0xf6, 0xe2, 0xce, 0x4b, 0x21, 0x3a, 0x3c, 0x0c, 0xfe, 0xd7, 0xf8, 0x08, 0x02, // ......K!:<...... + 0x02, 0x1a, 0x7d, 0xd2, 0x88, 0x60, 0x15, 0x17, 0x64, 0x91, 0xe1, 0x88, 0x6c, 0xbb, 0xa1, 0x62, // ..}..`..d...l..b + 0x02, 0xf0, 0x2c, 0xab, 0x39, 0x27, 0x1d, 0x14, 0x1b, 0x17, 0x0a, 0x05, 0x03, 0x04, 0x0f, 0x0a, // ..,.9'.......... + 0x0d, 0x25, 0x25, 0x28, 0x24, 0x21, 0x18, 0x0d, 0x01, 0xfd, 0xcb, 0x7f, 0xba, 0x61, 0x18, 0x33, // .%%($!.......a.3 + 0x83, 0xc0, 0x01, 0x17, 0xa4, 0x29, 0x57, 0x29, 0x78, 0x0d, 0xd0, 0xfe, 0x86, 0xfe, 0xfe, 0x9a, // .....)W)x....... + 0x0c, 0xa1, 0xa4, 0x1b, 0x0d, 0x04, 0x02, 0x1f, 0xd0, 0xbe, 0x8a, 0x51, 0x51, 0x8a, 0xbe, 0xd0, // ...........QQ... + 0xbe, 0x8a, 0x51, 0x51, 0x8a, 0x06, 0x93, 0xd0, 0x63, 0x08, 0x51, 0xb1, 0xf6, 0xfe, 0xa4, 0xc7, // ..QQ....c.Q..... + 0xa1, 0x01, 0x2d, 0xf4, 0xd2, 0x97, 0x65, 0x29, 0x17, 0x55, 0xa4, 0x73, 0x32, 0x8e, 0xfe, 0x81, // ..-...e).U.s2... + 0xf4, 0x01, 0x58, 0x44, 0x05, 0x05, 0x03, 0x04, 0x5c, 0x94, 0xbd, 0xd1, 0xcf, 0xbc, 0x92, 0x59, // ..XD...........Y + 0x02, 0x1e, 0x64, 0x92, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0xff, 0x80, 0x06, 0x00, // ..d............. + 0x06, 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x2f, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x5f, 0x00, 0x6f, // ......./.?.O._.o + 0x00, 0x7f, 0x00, 0x8f, 0x00, 0x9f, 0x00, 0xaf, 0x00, 0x00, 0x13, 0x15, 0x23, 0x22, 0x3d, 0x01, // ............#"=. + 0x23, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x33, 0x13, 0x15, 0x23, 0x22, 0x3d, 0x01, // #"=.4;.543..#"=. + 0x23, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x33, 0x13, 0x15, 0x23, 0x22, 0x3d, 0x01, // #"=.4;.543..#"=. + 0x23, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x33, 0x13, 0x15, 0x23, 0x22, 0x3d, 0x01, // #"=.4;.543..#"=. + 0x23, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x33, 0x13, 0x15, 0x23, 0x22, 0x3d, 0x01, // #"=.4;.543..#"=. + 0x23, 0x22, 0x3d, 0x01, 0x34, 0x3b, 0x01, 0x35, 0x34, 0x33, 0x25, 0x11, 0x14, 0x06, 0x23, 0x21, // #"=.4;.543%...#! + 0x22, 0x26, 0x35, 0x11, 0x34, 0x36, 0x33, 0x21, 0x32, 0x16, 0x01, 0x15, 0x14, 0x2b, 0x01, 0x15, // "&5.463!2....+.. + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x32, 0x35, 0x15, 0x14, 0x2b, 0x01, 0x15, // .+.532..325..+.. + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x32, 0x35, 0x15, 0x14, 0x2b, 0x01, 0x15, // .+.532..325..+.. + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x32, 0x35, 0x15, 0x14, 0x2b, 0x01, 0x15, // .+.532..325..+.. + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x32, 0x35, 0x15, 0x14, 0x2b, 0x01, 0x15, // .+.532..325..+.. + 0x14, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x1d, 0x01, 0x33, 0x32, 0xc0, 0x70, 0x10, 0x30, 0x10, 0x10, // .+.532..32.p.0.. + 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, // 0.pp.0..0.pp.0.. + 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, // 0.pp.0..0.pp.0.. + 0x30, 0x10, 0x04, 0xb0, 0x38, 0x28, 0xfc, 0xc0, 0x28, 0x38, 0x38, 0x28, 0x03, 0x40, 0x28, 0x38, // 0...8(..(88(.@(8 + 0x01, 0x00, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, // ...0.pp.0..0.pp. + 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, // 0..0.pp.0..0.pp. + 0x30, 0x10, 0x10, 0x30, 0x10, 0x70, 0x70, 0x10, 0x30, 0x10, 0x01, 0x00, 0x80, 0x10, 0x10, 0x10, // 0..0.pp.0....... + 0x20, 0x10, 0x10, 0x10, 0x01, 0x00, 0x80, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0x01, 0x00, // ......... ..... + 0x80, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0x01, 0x00, 0x80, 0x10, 0x10, 0x10, 0x20, 0x10, // .... ......... . + 0x10, 0x10, 0x01, 0x00, 0x80, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0xa0, 0xfa, 0x40, 0x28, // ........ .....@( + 0x38, 0x38, 0x28, 0x05, 0xc0, 0x28, 0x38, 0x38, 0xfb, 0x08, 0x20, 0x10, 0x10, 0x10, 0x80, 0x10, // 88(..(88.. ..... + 0x10, 0xf0, 0x20, 0x10, 0x10, 0x10, 0x80, 0x10, 0x10, 0xf0, 0x20, 0x10, 0x10, 0x10, 0x80, 0x10, // .. ....... ..... + 0x10, 0xf0, 0x20, 0x10, 0x10, 0x10, 0x80, 0x10, 0x10, 0xf0, 0x20, 0x10, 0x10, 0x10, 0x80, 0x10, // .. ....... ..... + 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2f, 0xff, 0x00, 0x06, 0x51, 0x06, 0x00, 0x00, 0x90, // ......./...Q.... + 0x00, 0x00, 0x01, 0x07, 0x17, 0x1e, 0x01, 0x07, 0x0e, 0x01, 0x2f, 0x01, 0x17, 0x16, 0x06, 0x26, // ........../....& + 0x27, 0x03, 0x25, 0x11, 0x17, 0x1e, 0x01, 0x0e, 0x01, 0x26, 0x2f, 0x01, 0x15, 0x14, 0x06, 0x22, // '.%......&/...." + 0x26, 0x3d, 0x01, 0x07, 0x0e, 0x01, 0x2e, 0x01, 0x36, 0x3f, 0x01, 0x11, 0x05, 0x03, 0x0e, 0x01, // &=......6?...... + 0x26, 0x3f, 0x01, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x3f, 0x01, 0x27, 0x2e, 0x01, 0x3e, 0x01, // &?...&'&6?.'..>. + 0x17, 0x05, 0x2d, 0x01, 0x05, 0x06, 0x23, 0x22, 0x2e, 0x01, 0x36, 0x3f, 0x01, 0x27, 0x2e, 0x01, // ..-...#"..6?.'.. + 0x3e, 0x01, 0x1f, 0x01, 0x27, 0x26, 0x36, 0x16, 0x17, 0x13, 0x05, 0x11, 0x27, 0x2e, 0x01, 0x3e, // >...'&6.....'..> + 0x01, 0x16, 0x1f, 0x01, 0x35, 0x34, 0x36, 0x32, 0x16, 0x1d, 0x01, 0x37, 0x3e, 0x01, 0x1e, 0x01, // ....5462...7>... + 0x06, 0x0f, 0x01, 0x11, 0x25, 0x13, 0x3e, 0x01, 0x16, 0x0f, 0x01, 0x37, 0x36, 0x16, 0x17, 0x16, // ....%.>....76... + 0x06, 0x0f, 0x01, 0x17, 0x1e, 0x01, 0x0e, 0x01, 0x23, 0x22, 0x27, 0x25, 0x0d, 0x01, 0x25, 0x36, // ........#"'%..%6 + 0x1e, 0x01, 0x06, 0x06, 0x1e, 0xa7, 0xba, 0x17, 0x0d, 0x0d, 0x0e, 0x32, 0x17, 0xba, 0x37, 0x0d, // ...........2..7. + 0x32, 0x47, 0x0d, 0x66, 0xfe, 0xf1, 0xd0, 0x10, 0x02, 0x18, 0x21, 0x29, 0x10, 0x70, 0x26, 0x34, // 2G.f......!).p&4 + 0x26, 0x70, 0x10, 0x29, 0x21, 0x18, 0x02, 0x10, 0xd0, 0xfe, 0xf1, 0x66, 0x0d, 0x47, 0x32, 0x0d, // &p.)!......f.G2. + 0x37, 0xba, 0x17, 0x32, 0x0e, 0x0d, 0x0d, 0x17, 0xba, 0xa7, 0x1d, 0x1a, 0x09, 0x2a, 0x1d, 0x01, // 7..2.........*.. + 0x36, 0x01, 0x0f, 0xfe, 0xf1, 0xfe, 0xca, 0x04, 0x09, 0x1b, 0x22, 0x04, 0x1a, 0x1b, 0xa7, 0xba, // 6........."..... + 0x17, 0x0d, 0x1a, 0x34, 0x16, 0xba, 0x37, 0x0d, 0x32, 0x47, 0x0d, 0x66, 0x01, 0x0f, 0xd0, 0x10, // ...4..7.2G.f.... + 0x02, 0x18, 0x21, 0x29, 0x10, 0x70, 0x26, 0x34, 0x26, 0x70, 0x10, 0x29, 0x21, 0x18, 0x02, 0x10, // ..!).p&4&p.)!... + 0xd0, 0x01, 0x0f, 0x66, 0x0d, 0x47, 0x32, 0x0d, 0x37, 0xba, 0x17, 0x32, 0x0e, 0x0d, 0x0d, 0x17, // ...f.G2.7..2.... + 0xba, 0xa7, 0x1b, 0x1a, 0x04, 0x22, 0x1b, 0x09, 0x04, 0xfe, 0xca, 0xfe, 0xf1, 0x01, 0x0f, 0x01, // .....".......... + 0x36, 0x1d, 0x2a, 0x09, 0x1a, 0x01, 0xa3, 0x21, 0x6b, 0x0d, 0x33, 0x17, 0x17, 0x0d, 0x0d, 0x6a, // 6.*....!k.3....j + 0xa0, 0x26, 0x33, 0x0a, 0x25, 0x01, 0x2c, 0x9c, 0xfe, 0xc7, 0xee, 0x12, 0x2a, 0x1f, 0x13, 0x08, // .&3.%.,.....*... + 0x12, 0x80, 0xd6, 0x1a, 0x26, 0x26, 0x1a, 0xd6, 0x80, 0x12, 0x08, 0x13, 0x1f, 0x2a, 0x12, 0xee, // ....&&.......*.. + 0x01, 0x39, 0x9c, 0xfe, 0xd4, 0x25, 0x0a, 0x33, 0x26, 0xa0, 0x6a, 0x0d, 0x0d, 0x17, 0x17, 0x33, // .9...%.3&.j....3 + 0x0d, 0x6b, 0x21, 0x06, 0x2e, 0x2f, 0x21, 0x06, 0x3e, 0x9d, 0x9d, 0x3e, 0x01, 0x24, 0x2c, 0x2a, // .k!../!.>..>.$,* + 0x05, 0x21, 0x6b, 0x0d, 0x33, 0x2e, 0x0e, 0x0e, 0x6a, 0xa0, 0x26, 0x33, 0x0a, 0x25, 0xfe, 0xd4, // .!k.3...j.&3.%.. + 0x9c, 0x01, 0x39, 0xee, 0x12, 0x2a, 0x1f, 0x13, 0x08, 0x12, 0x80, 0xd6, 0x1a, 0x26, 0x26, 0x1a, // ..9..*.......&&. + 0xd6, 0x80, 0x12, 0x08, 0x13, 0x1f, 0x2a, 0x12, 0xee, 0xfe, 0xc7, 0x9c, 0x01, 0x2c, 0x25, 0x0a, // ......*......,%. + 0x33, 0x26, 0xa0, 0x6a, 0x0d, 0x0d, 0x17, 0x17, 0x33, 0x0d, 0x6b, 0x21, 0x05, 0x2a, 0x2c, 0x24, // 3&.j....3.k!.*,$ + 0x01, 0x3e, 0x9d, 0x9d, 0x3e, 0x06, 0x21, 0x2f, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .>..>.!/........ + 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x12, 0x00, 0x26, 0x00, 0x00, 0x01, 0x36, 0x2e, 0x02, // .........&...6.. + 0x27, 0x26, 0x0e, 0x02, 0x07, 0x06, 0x1e, 0x02, 0x17, 0x16, 0x24, 0x12, 0x09, 0x01, 0x16, 0x12, // '&........$..... + 0x07, 0x06, 0x02, 0x04, 0x07, 0x05, 0x01, 0x26, 0x02, 0x37, 0x36, 0x12, 0x24, 0x37, 0x36, 0x24, // .......&.76.$76$ + 0x05, 0xc1, 0x07, 0x50, 0x92, 0xd0, 0x75, 0x74, 0xdb, 0xa5, 0x69, 0x07, 0x07, 0x50, 0x92, 0xd1, // ...P..ut..i..P.. + 0x75, 0x9b, 0x01, 0x14, 0xac, 0x01, 0x47, 0xfe, 0xa3, 0x78, 0x79, 0x0a, 0x0b, 0xb6, 0xfe, 0xd4, // u.....G..xy..... + 0xb6, 0xfc, 0x19, 0x01, 0x5b, 0x78, 0x79, 0x0a, 0x0b, 0xb6, 0x01, 0x2d, 0xb6, 0xa7, 0x02, 0x9a, // ....[xy....-.... + 0x02, 0x5f, 0x76, 0xd9, 0xa1, 0x65, 0x07, 0x07, 0x4e, 0x8f, 0xcf, 0x75, 0x76, 0xd9, 0xa1, 0x65, // ._v..e..N..uv..e + 0x07, 0x09, 0x88, 0x00, 0xff, 0x04, 0x3d, 0xfe, 0xa4, 0x75, 0xfe, 0xca, 0xa6, 0xb7, 0xfe, 0xc8, // ......=..u...... + 0xc7, 0x19, 0x84, 0x01, 0x5b, 0x74, 0x01, 0x37, 0xa6, 0xb8, 0x01, 0x38, 0xc7, 0x19, 0x16, 0x58, // ....[t.7...8...X + 0x00, 0x06, 0x00, 0x00, 0xff, 0x00, 0x07, 0x00, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x12, // ................ + 0x00, 0x16, 0x00, 0x26, 0x00, 0x36, 0x00, 0x00, 0x01, 0x13, 0x23, 0x0b, 0x01, 0x23, 0x13, 0x27, // ...&.6....#..#.' + 0x37, 0x17, 0x07, 0x01, 0x05, 0x03, 0x2d, 0x01, 0x17, 0x07, 0x27, 0x25, 0x17, 0x07, 0x27, 0x04, // 7.....-...'%..'. + 0x10, 0x02, 0x26, 0x24, 0x20, 0x04, 0x06, 0x02, 0x10, 0x12, 0x16, 0x04, 0x20, 0x24, 0x36, 0x12, // ..&$ ....... $6. + 0x10, 0x02, 0x06, 0x04, 0x20, 0x24, 0x26, 0x02, 0x10, 0x12, 0x36, 0x24, 0x20, 0x04, 0x16, 0x03, // .... $&...6$ ... + 0xb4, 0xa3, 0x33, 0xaf, 0xab, 0x31, 0xb3, 0x4e, 0x15, 0xf0, 0x15, 0xfe, 0x45, 0x01, 0x30, 0x82, // ..3..1.N....E.0. + 0xfe, 0xd0, 0x01, 0xda, 0xf0, 0x67, 0xef, 0x01, 0x7f, 0xbf, 0x52, 0xbe, 0x02, 0x3d, 0x7c, 0xd3, // .....g....R..=|. + 0xfe, 0xde, 0xfe, 0xc2, 0xfe, 0xde, 0xd3, 0x7c, 0x7c, 0xd3, 0x01, 0x22, 0x01, 0x3e, 0x01, 0x22, // .......||..".>." + 0xd3, 0xec, 0x8e, 0xf0, 0xfe, 0xb4, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, // ...............L + 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x01, 0xfc, 0xfe, 0xb7, 0x01, 0x5e, 0xfe, 0xa2, 0x01, 0x76, 0x21, // .l.L......^...v! + 0x31, 0x66, 0x32, 0x02, 0x69, 0x82, 0xfe, 0xd0, 0x82, 0x77, 0x67, 0xef, 0x66, 0x5a, 0x51, 0xbe, // 1f2.i....wg.fZQ. + 0x51, 0x5e, 0x01, 0x3e, 0x01, 0x22, 0xd3, 0x7c, 0x7c, 0xd3, 0xfe, 0xde, 0xfe, 0xc2, 0xfe, 0xde, // Q^.>.".||....... + 0xd3, 0x7c, 0x7c, 0xd3, 0x02, 0x77, 0xfe, 0x94, 0xfe, 0xb4, 0xf0, 0x8e, 0x8e, 0xf0, 0x01, 0x4c, // .||..w.........L + 0x01, 0x6c, 0x01, 0x4c, 0xf0, 0x8e, 0x8e, 0xf0, 0x00, 0x0c, 0x00, 0x26, 0xff, 0x01, 0x07, 0x5a, // .l.L.......&...Z + 0x05, 0xff, 0x00, 0x58, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x77, 0x00, 0x81, 0x00, 0xab, 0x00, 0xb7, // ...X.b.l.w...... + 0x00, 0xc2, 0x00, 0xcd, 0x00, 0xd8, 0x00, 0xe4, 0x00, 0xee, 0x00, 0x00, 0x01, 0x2e, 0x03, 0x27, // ...............' + 0x26, 0x3e, 0x01, 0x27, 0x26, 0x27, 0x26, 0x0f, 0x01, 0x0e, 0x03, 0x22, 0x2e, 0x01, 0x27, 0x2e, // &>.'&'&...."..'. + 0x06, 0x27, 0x26, 0x06, 0x07, 0x0e, 0x03, 0x26, 0x27, 0x26, 0x27, 0x26, 0x06, 0x07, 0x0e, 0x03, // .'&....&'&'&.... + 0x15, 0x06, 0x16, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x12, 0x37, 0x3e, 0x01, 0x17, 0x16, 0x07, 0x0e, // ...7>.76.7>..... + 0x01, 0x07, 0x06, 0x16, 0x36, 0x37, 0x3e, 0x02, 0x37, 0x36, 0x17, 0x32, 0x07, 0x06, 0x02, 0x07, // ....67>.76.2.... + 0x06, 0x16, 0x17, 0x1e, 0x02, 0x36, 0x04, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x3e, 0x01, // .....6.....&'&>. + 0x01, 0x16, 0x0e, 0x01, 0x26, 0x27, 0x26, 0x3e, 0x01, 0x16, 0x00, 0x0e, 0x01, 0x27, 0x2e, 0x01, // ....&'&>.....'.. + 0x37, 0x3e, 0x01, 0x17, 0x16, 0x01, 0x16, 0x0e, 0x01, 0x2e, 0x01, 0x36, 0x37, 0x36, 0x16, 0x13, // 7>.........676.. + 0x16, 0x02, 0x07, 0x06, 0x27, 0x0e, 0x01, 0x26, 0x27, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x27, // ....'..&'...&'&' + 0x2e, 0x02, 0x36, 0x37, 0x2e, 0x01, 0x3e, 0x01, 0x37, 0x3e, 0x02, 0x16, 0x17, 0x36, 0x1e, 0x03, // ..67..>.7>...6.. + 0x07, 0x1e, 0x02, 0x06, 0x01, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, // .........&'&676. + 0x13, 0x16, 0x0e, 0x01, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x01, 0x16, 0x06, 0x07, 0x06, // ....&'&676...... + 0x2e, 0x01, 0x36, 0x37, 0x36, 0x16, 0x01, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x3e, 0x01, // ..676......&'&>. + 0x16, 0x01, 0x16, 0x06, 0x07, 0x06, 0x26, 0x27, 0x26, 0x36, 0x37, 0x36, 0x16, 0x27, 0x16, 0x06, // ......&'&676.'.. + 0x07, 0x06, 0x2e, 0x01, 0x3e, 0x01, 0x16, 0x05, 0x36, 0x04, 0x2f, 0x34, 0x2d, 0x03, 0x05, 0x4c, // ....>...6./4-..L + 0x4a, 0x05, 0x0e, 0x67, 0x2d, 0x1e, 0x03, 0x04, 0x02, 0x07, 0x03, 0x07, 0x05, 0x07, 0x03, 0x03, // J..g-........... + 0x0c, 0x06, 0x0b, 0x08, 0x0b, 0x0b, 0x06, 0x1e, 0x24, 0x1b, 0x01, 0x10, 0x09, 0x15, 0x0c, 0x0b, // ........$....... + 0x36, 0x1e, 0x29, 0x6a, 0x17, 0x10, 0x32, 0x25, 0x2b, 0x16, 0x51, 0x46, 0x1e, 0x29, 0x12, 0x07, // 6.)j..2%+.QF.).. + 0x90, 0x05, 0x06, 0x1f, 0x0e, 0x1b, 0x06, 0x02, 0x62, 0x01, 0x06, 0x33, 0x46, 0x14, 0x04, 0x53, // ........b..3F..S + 0x50, 0x06, 0x14, 0x15, 0x1d, 0x04, 0x02, 0x7f, 0x07, 0x0c, 0x32, 0x31, 0x11, 0x44, 0x4b, 0x32, // P.........21.DK2 + 0xfc, 0x41, 0x06, 0x10, 0x0f, 0x0e, 0x19, 0x03, 0x03, 0x10, 0x1c, 0x02, 0x57, 0x0c, 0x07, 0x22, // .A..........W.." + 0x29, 0x0c, 0x0b, 0x07, 0x22, 0x29, 0xfd, 0x15, 0x24, 0x3f, 0x1a, 0x1a, 0x0c, 0x12, 0x12, 0x3f, // )...")..$?.....? + 0x1a, 0x1a, 0x05, 0x04, 0x13, 0x0c, 0x38, 0x41, 0x26, 0x0c, 0x1b, 0x1c, 0x41, 0x84, 0x45, 0x35, // ......8A&...A.E5 + 0x6c, 0x5a, 0x6d, 0x14, 0x81, 0x9e, 0x3d, 0x0c, 0x01, 0x67, 0xf4, 0x47, 0x32, 0x03, 0x53, 0x77, // lZm...=..g.G2.Sw + 0x2a, 0x26, 0x3e, 0x24, 0x04, 0x35, 0x6a, 0x44, 0x20, 0x86, 0x9f, 0xb1, 0x47, 0x48, 0x88, 0x79, // *&>$.5jD ...GH.y + 0x58, 0x2f, 0x06, 0x34, 0x46, 0x15, 0x20, 0xfb, 0x72, 0x0e, 0x09, 0x14, 0x13, 0x31, 0x0d, 0x0e, // X/.4F. .r....1.. + 0x09, 0x14, 0x13, 0x31, 0xac, 0x04, 0x12, 0x22, 0x1c, 0x04, 0x03, 0x13, 0x10, 0x11, 0x1c, 0x04, // ...1..."........ + 0xa5, 0x04, 0x15, 0x14, 0x13, 0x22, 0x08, 0x15, 0x14, 0x14, 0x21, 0xfd, 0x6c, 0x10, 0x0f, 0x1c, // ....."....!.l... + 0x1b, 0x3d, 0x10, 0x10, 0x0f, 0x36, 0x3e, 0x02, 0xfa, 0x04, 0x10, 0x0f, 0x0f, 0x19, 0x03, 0x03, // .=...6>......... + 0x10, 0x0f, 0x0e, 0x19, 0xbc, 0x0f, 0x09, 0x16, 0x16, 0x36, 0x1e, 0x0a, 0x2c, 0x35, 0x01, 0x2e, // .........6..,5.. + 0x18, 0x14, 0x01, 0x18, 0x1a, 0x2f, 0xb9, 0xb1, 0x27, 0x65, 0x02, 0x01, 0x11, 0x02, 0x02, 0x01, // ...../..'e...... + 0x03, 0x01, 0x03, 0x04, 0x03, 0x02, 0x0d, 0x05, 0x0a, 0x05, 0x06, 0x03, 0x01, 0x05, 0x10, 0x17, // ................ + 0x01, 0x0f, 0x07, 0x0d, 0x02, 0x02, 0x1b, 0x0d, 0x12, 0x2e, 0x2a, 0x1c, 0x8d, 0x7c, 0x90, 0x01, // ..........*..|.. + 0x45, 0x64, 0x04, 0x02, 0x1a, 0x21, 0x0d, 0x01, 0x75, 0x08, 0x0b, 0x0e, 0x07, 0x0f, 0x26, 0x12, // Ed...!..u.....&. + 0xf3, 0x0b, 0x26, 0x25, 0x17, 0x26, 0x08, 0xa8, 0x9f, 0x09, 0x1d, 0x01, 0x26, 0x10, 0xfe, 0xf9, // ..&%.&......&... + 0x1c, 0x35, 0x64, 0x18, 0x09, 0x0d, 0x03, 0x1f, 0xa8, 0x1e, 0x19, 0x03, 0x03, 0x10, 0x0f, 0x0e, // .5d............. + 0x1a, 0x06, 0xfe, 0xda, 0x11, 0x29, 0x18, 0x08, 0x11, 0x11, 0x29, 0x18, 0x08, 0x03, 0x36, 0x36, // .....)....)...66 + 0x0c, 0x13, 0x12, 0x40, 0x1a, 0x1b, 0x0c, 0x12, 0x13, 0xfd, 0x01, 0x1c, 0x43, 0x26, 0x0c, 0x38, // ...@........C&.8 + 0x42, 0x14, 0x13, 0x0c, 0x02, 0x40, 0x71, 0xfe, 0xf9, 0x4c, 0x3f, 0x03, 0x50, 0x5e, 0x05, 0x37, // B....@q..L?.P^.7 + 0x09, 0x01, 0x47, 0x2d, 0x68, 0x49, 0x5b, 0x0e, 0x71, 0x8f, 0xa1, 0x3a, 0x3c, 0x88, 0x72, 0x53, // ..G-hI[.q..:<.rS + 0x09, 0x55, 0x7e, 0x39, 0x17, 0x37, 0x15, 0x07, 0x41, 0x5f, 0x87, 0x49, 0x10, 0x52, 0x60, 0x67, // .U~9.7..A_.I.R`g + 0x02, 0x70, 0x14, 0x31, 0x0e, 0x0e, 0x09, 0x14, 0x14, 0x31, 0x0e, 0x0e, 0x09, 0x01, 0x05, 0x10, // .p.1.....1...... + 0x1d, 0x08, 0x13, 0x11, 0x11, 0x1c, 0x04, 0x04, 0x13, 0xfc, 0x3b, 0x14, 0x22, 0x04, 0x04, 0x15, // ..........;."... + 0x28, 0x22, 0x05, 0x04, 0x17, 0x03, 0x6a, 0x1b, 0x3f, 0x10, 0x10, 0x0f, 0x1b, 0x1c, 0x3e, 0x22, // ("....j.?.....>" + 0x10, 0xfd, 0x54, 0x0f, 0x19, 0x04, 0x03, 0x11, 0x0e, 0x0f, 0x1a, 0x03, 0x03, 0x10, 0xe2, 0x16, // ..T............. + 0x36, 0x10, 0x0f, 0x0a, 0x2c, 0x36, 0x20, 0x0a, 0x00, 0x00, 0x00, 0x18, 0x01, 0x26, 0x00, 0x01, // 6...,6 ......&.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ......./.`...... + 0x00, 0x01, 0x00, 0x0b, 0x00, 0xa8, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, // ................ + 0x00, 0xc4, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x11, 0x00, 0xf0, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0b, 0x01, 0x1a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x05, 0x00, 0x12, 0x01, 0x4c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0b, // .....L.......... + 0x01, 0x77, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x51, 0x02, 0x27, 0x00, 0x01, // .w.........Q.'.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0c, 0x02, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x09, 0x00, 0x0a, 0x02, 0xb6, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x15, // ................ + 0x02, 0xed, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x1e, 0x03, 0x41, 0x00, 0x03, // .............A.. + 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, // .......^........ + 0x00, 0x01, 0x00, 0x16, 0x00, 0x90, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, // ................ + 0x00, 0xb4, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x22, 0x00, 0xcc, 0x00, 0x03, // ...........".... + 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x16, 0x01, 0x02, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, // ................ + 0x00, 0x05, 0x00, 0x24, 0x01, 0x26, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x16, // ...$.&.......... + 0x01, 0x5f, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x07, 0x00, 0xa2, 0x01, 0x83, 0x00, 0x03, // ._.............. + 0x00, 0x01, 0x04, 0x09, 0x00, 0x08, 0x00, 0x18, 0x02, 0x79, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, // .........y...... + 0x00, 0x09, 0x00, 0x14, 0x02, 0xa0, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0b, 0x00, 0x2a, // ...............* + 0x02, 0xc1, 0x00, 0x03, 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x3c, 0x03, 0x03, 0x00, 0x43, // ...........<...C + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, // .o.p.y.r.i.g.h.t + 0x00, 0x20, 0x00, 0x44, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x47, 0x00, 0x61, // . .D.a.v.e. .G.a + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x79, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x36, // .n.d.y. .2.0.1.6 + 0x00, 0x2e, 0x00, 0x20, 0x00, 0x41, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x72, 0x00, 0x69, // ... .A.l.l. .r.i + 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, // .g.h.t.s. .r.e.s + 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2e, 0x00, 0x00, 0x43, 0x6f, // .e.r.v.e.d....Co + 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x44, 0x61, 0x76, 0x65, 0x20, 0x47, 0x61, 0x6e, // pyright Dave Gan + 0x64, 0x79, 0x20, 0x32, 0x30, 0x31, 0x36, 0x2e, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x69, 0x67, // dy 2016. All rig + 0x68, 0x74, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x46, // hts reserved...F 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, // .o.n.t.A.w.e.s.o - 0x00, 0x6d, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, // .m.e. .R.e.g.u.l - 0x00, 0x61, 0x00, 0x72, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, // .a.r.V.e.r.s.i.o - 0x00, 0x6e, 0x00, 0x20, 0x00, 0x33, 0x00, 0x2e, 0x00, 0x32, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x20, // .n. .3...2...0. - 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x33, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, // .2.0.1.3.F.o.n.t - 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x50, // .A.w.e.s.o.m.e.P - 0x00, 0x6c, 0x00, 0x65, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, // .l.e.a.s.e. .r.e - 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x74, // .f.e.r. .t.o. .t - 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, // .h.e. .C.o.p.y.r - 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x63, // .i.g.h.t. .s.e.c - 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x72, // .t.i.o.n. .f.o.r - 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, // . .t.h.e. .f.o.n - 0x00, 0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6d, // .t. .t.r.a.d.e.m - 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x61, 0x00, 0x74, 0x00, 0x74, 0x00, 0x72, // .a.r.k. .a.t.t.r - 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, // .i.b.u.t.i.o.n. - 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2e, // .n.o.t.i.c.e.s.. - 0x00, 0x46, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, // .F.o.r.t. .A.w.e - 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x44, 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, // .s.o.m.e.D.a.v.e - 0x00, 0x20, 0x00, 0x47, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x79, 0x00, 0x68, 0x00, 0x74, // . .G.a.n.d.y.h.t - 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, // .t.p.:././.f.o.n - 0x00, 0x74, 0x00, 0x61, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x65, // .t.a.w.e.s.o.m.e - 0x00, 0x2e, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x57, 0x00, 0x65, 0x00, 0x62, 0x00, 0x66, 0x00, 0x6f, // ...i.o.W.e.b.f.o - 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x54, 0x00, 0x75, // .n.t. .1...0.T.u - 0x00, 0x65, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x63, 0x00, 0x74, 0x00, 0x20, 0x00, 0x32, 0x00, 0x32, // .e. .O.c.t. .2.2 - 0x00, 0x20, 0x00, 0x32, 0x00, 0x33, 0x00, 0x3a, 0x00, 0x32, 0x00, 0x34, 0x00, 0x3a, 0x00, 0x31, // . .2.3.:.2.4.:.1 - 0x00, 0x31, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x33, 0x00, 0x02, 0x00, 0x00, // .1. .2.0.1.3.... - 0x00, 0x00, 0x00, 0x00, 0xff, 0x7a, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .....z.Z........ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x96, 0x00, 0x00, // ................ - 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x01, 0x02, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x8a, 0x00, 0x8d, // ................ - 0x00, 0x90, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, // ................ - 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x00, 0x8c, 0x00, 0x92, // ................ - 0x00, 0x8f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, // ................ - 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, // ................ - 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, // ... .!.".#.$.%.& - 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, // .'.(.).*.+.,.-.. - 0x01, 0x2f, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, // ./.0.1.2.3.4.5.6 - 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, // .7.8.9.:.;.<.=.> - 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, // .?.@.A.B.C.D.E.F - 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, // .G.H.I.J.K.L.M.N - 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, // .O.P.Q.R.S.T.U.V - 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, // .W.X.Y.Z.[...].^ - 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, // ._.`.a.b.c.d.e.f - 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, // .g.h.i.j.k.l.m.n - 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x00, 0x0e, 0x00, 0xef, 0x00, 0x0d, 0x01, 0x72, 0x01, 0x73, // .o.p.q.......r.s - 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, // .t.u.v.w.x.y.z.{ - 0x01, 0x7c, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, // .|.}.~.......... - 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, // ................ - 0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x93, // ................ - 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, // ................ - 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, // ................ - 0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, // ................ - 0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, // ................ - 0x01, 0xb4, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x01, 0xb9, 0x01, 0xba, 0x01, 0xbb, // ................ - 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 0x01, 0xc3, // ................ - 0x01, 0xc4, 0x01, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, // ................ - 0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, 0x01, 0xd1, 0x01, 0xd2, 0x01, 0xd3, // ................ - 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xd8, 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, // ................ - 0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, // ................ - 0x01, 0xe4, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xe8, 0x01, 0xe9, 0x01, 0xea, 0x01, 0xeb, // ................ - 0x01, 0xec, 0x01, 0xed, 0x01, 0xee, 0x01, 0xef, 0x01, 0xf0, 0x01, 0xf1, 0x01, 0xf2, 0x01, 0xf3, // ................ - 0x01, 0xf4, 0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, 0x01, 0xf9, 0x01, 0xfa, 0x01, 0xfb, // ................ - 0x01, 0xfc, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x02, 0x00, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, // ................ - 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x0b, // ................ - 0x02, 0x0c, 0x02, 0x0d, 0x02, 0x0e, 0x02, 0x0f, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, // ................ - 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x00, 0x22, 0x02, 0x18, 0x02, 0x19, 0x02, 0x1a, // ........."...... - 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x02, 0x20, 0x02, 0x21, 0x02, 0x22, // ........... .!." - 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, 0x02, 0x28, 0x02, 0x29, 0x02, 0x2a, // .#.$.%.&.'.(.).* - 0x02, 0x2b, 0x02, 0x2c, 0x02, 0x2d, 0x02, 0x2e, 0x02, 0x2f, 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, // .+.,.-.../.0.1.2 - 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, 0x02, 0x38, 0x02, 0x39, 0x02, 0x3a, // .3.4.5.6.7.8.9.: - 0x02, 0x3b, 0x02, 0x3c, 0x02, 0x3d, 0x02, 0x3e, 0x02, 0x3f, 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, // .;.<.=.>.?.@.A.B - 0x02, 0x43, 0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, 0x02, 0x48, 0x02, 0x49, 0x02, 0x4a, // .C.D.E.F.G.H.I.J - 0x02, 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x4e, 0x02, 0x4f, 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, // .K.L.M.N.O.P.Q.R - 0x02, 0x53, 0x02, 0x54, 0x02, 0x55, 0x02, 0x56, 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5a, // .S.T.U.V.W.X.Y.Z - 0x02, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, 0x5e, 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, // .[...].^._.`.a.b - 0x00, 0xd2, 0x02, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, 0x02, 0x67, 0x02, 0x68, 0x02, 0x69, // ...c.d.e.f.g.h.i - 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 0x02, 0x6e, 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, // .j.k.l.m.n.o.p.q - 0x02, 0x72, 0x02, 0x73, 0x02, 0x74, 0x02, 0x75, 0x02, 0x76, 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, // .r.s.t.u.v.w.x.y - 0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 0x02, 0x7e, 0x02, 0x7f, 0x02, 0x80, 0x02, 0x81, // .z.{.|.}.~...... - 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 0x00, 0x94, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, // ...........uni00 - 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // A0.uni2000.uni20 - 0x30, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // 01.uni2002.uni20 - 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // 03.uni2004.uni20 - 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // 05.uni2006.uni20 - 0x30, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // 07.uni2008.uni20 - 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x30, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, // 09.uni200A.uni20 - 0x32, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x32, 0x30, 0x35, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x45, 0x30, // 2F.uni205F.uniE0 - 0x30, 0x30, 0x05, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x05, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x06, 0x73, // 00.glass.music.s - 0x65, 0x61, 0x72, 0x63, 0x68, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x05, 0x68, // earch.envelope.h - 0x65, 0x61, 0x72, 0x74, 0x04, 0x73, 0x74, 0x61, 0x72, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x65, // eart.star.star_e - 0x6d, 0x70, 0x74, 0x79, 0x04, 0x75, 0x73, 0x65, 0x72, 0x04, 0x66, 0x69, 0x6c, 0x6d, 0x08, 0x74, // mpty.user.film.t - 0x68, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x02, 0x74, 0x68, 0x07, 0x74, 0x68, 0x5f, 0x6c, 0x69, // h_large.th.th_li - 0x73, 0x74, 0x02, 0x6f, 0x6b, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x07, 0x7a, 0x6f, 0x6f, // st.ok.remove.zoo - 0x6d, 0x5f, 0x69, 0x6e, 0x08, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x03, 0x6f, 0x66, // m_in.zoom_out.of - 0x66, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x03, 0x63, 0x6f, 0x67, 0x05, 0x74, 0x72, 0x61, // f.signal.cog.tra - 0x73, 0x68, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x74, // sh.home.file_alt - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x04, 0x72, 0x6f, 0x61, 0x64, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, // .time.road.downl - 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, // oad_alt.download - 0x06, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x05, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x0b, 0x70, 0x6c, // .upload.inbox.pl - 0x61, 0x79, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, // ay_circle.repeat - 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x6c, // .refresh.list_al - 0x74, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x0a, 0x68, 0x65, 0x61, 0x64, // t.lock.flag.head - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6f, 0x66, // phones.volume_of - 0x66, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x09, 0x76, 0x6f, // f.volume_down.vo - 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x06, 0x71, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x07, 0x62, // lume_up.qrcode.b - 0x61, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x03, 0x74, 0x61, 0x67, 0x04, 0x74, 0x61, 0x67, 0x73, 0x04, // arcode.tag.tags. - 0x62, 0x6f, 0x6f, 0x6b, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x05, 0x70, 0x72, // book.bookmark.pr - 0x69, 0x6e, 0x74, 0x06, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x04, 0x66, 0x6f, 0x6e, 0x74, 0x04, // int.camera.font. - 0x62, 0x6f, 0x6c, 0x64, 0x06, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x0b, 0x74, 0x65, 0x78, 0x74, // bold.italic.text - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x77, 0x69, 0x64, // _height.text_wid - 0x74, 0x68, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0c, 0x61, 0x6c, // th.align_left.al - 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x0b, 0x61, 0x6c, 0x69, 0x67, 0x6e, // ign_center.align - 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0d, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x6a, 0x75, 0x73, // _right.align_jus - 0x74, 0x69, 0x66, 0x79, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, // tify.list.indent - 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x69, 0x67, // _left.indent_rig - 0x68, 0x74, 0x0e, 0x66, 0x61, 0x63, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, // ht.facetime_vide - 0x6f, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x06, 0x70, 0x65, 0x6e, 0x63, 0x69, 0x6c, // o.picture.pencil - 0x0a, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x06, 0x61, 0x64, 0x6a, 0x75, // .map_marker.adju - 0x73, 0x74, 0x04, 0x74, 0x69, 0x6e, 0x74, 0x04, 0x65, 0x64, 0x69, 0x74, 0x05, 0x73, 0x68, 0x61, // st.tint.edit.sha - 0x72, 0x65, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x04, 0x6d, 0x6f, 0x76, 0x65, 0x0d, 0x73, 0x74, // re.check.move.st - 0x65, 0x70, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x0d, 0x66, 0x61, 0x73, 0x74, // ep_backward.fast - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, // _backward.backwa - 0x72, 0x64, 0x04, 0x70, 0x6c, 0x61, 0x79, 0x05, 0x70, 0x61, 0x75, 0x73, 0x65, 0x04, 0x73, 0x74, // rd.play.pause.st - 0x6f, 0x70, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x0c, 0x66, 0x61, 0x73, 0x74, 0x5f, // op.forward.fast_ - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x0c, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x66, 0x6f, 0x72, // forward.step_for - 0x77, 0x61, 0x72, 0x64, 0x05, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, // ward.eject.chevr - 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0d, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, // on_left.chevron_ - 0x72, 0x69, 0x67, 0x68, 0x74, 0x09, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0a, // right.plus_sign. - 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, // minus_sign.remov - 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x6f, 0x6b, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0d, 0x71, // e_sign.ok_sign.q - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x09, 0x69, 0x6e, 0x66, // uestion_sign.inf - 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0a, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, // o_sign.screensho - 0x74, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x09, // t.remove_circle. - 0x6f, 0x6b, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x0a, 0x62, 0x61, 0x6e, 0x5f, 0x63, 0x69, // ok_circle.ban_ci - 0x72, 0x63, 0x6c, 0x65, 0x0a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0b, // rcle.arrow_left. - 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x08, 0x61, 0x72, 0x72, 0x6f, // arrow_right.arro - 0x77, 0x5f, 0x75, 0x70, 0x0a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x09, // w_up.arrow_down. - 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x0b, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, // share_alt.resize - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x0c, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x6d, 0x61, // _full.resize_sma - 0x6c, 0x6c, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, // ll.exclamation_s - 0x69, 0x67, 0x6e, 0x04, 0x67, 0x69, 0x66, 0x74, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x04, 0x66, 0x69, // ign.gift.leaf.fi - 0x72, 0x65, 0x08, 0x65, 0x79, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x09, 0x65, 0x79, 0x65, 0x5f, // re.eye_open.eye_ - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x0c, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, // close.warning_si - 0x67, 0x6e, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x08, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, // gn.plane.calenda - 0x72, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, // r.random.comment - 0x06, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x0a, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, // .magnet.chevron_ - 0x75, 0x70, 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x07, // up.chevron_down. - 0x72, 0x65, 0x74, 0x77, 0x65, 0x65, 0x74, 0x0d, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, // retweet.shopping - 0x5f, 0x63, 0x61, 0x72, 0x74, 0x0c, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, // _cart.folder_clo - 0x73, 0x65, 0x0b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x0f, 0x72, // se.folder_open.r - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x11, 0x72, // esize_vertical.r - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, // esize_horizontal - 0x09, 0x62, 0x61, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, // .bar_chart.twitt - 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0d, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, // er_sign.facebook - 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0c, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x72, 0x65, 0x74, // _sign.camera_ret - 0x72, 0x6f, 0x03, 0x6b, 0x65, 0x79, 0x04, 0x63, 0x6f, 0x67, 0x73, 0x08, 0x63, 0x6f, 0x6d, 0x6d, // ro.key.cogs.comm - 0x65, 0x6e, 0x74, 0x73, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x5f, 0x75, 0x70, 0x5f, 0x61, // ents.thumbs_up_a - 0x6c, 0x74, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x61, // lt.thumbs_down_a - 0x6c, 0x74, 0x09, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x0b, 0x68, 0x65, 0x61, // lt.star_half.hea - 0x72, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, // rt_empty.signout - 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x70, // .linkedin_sign.p - 0x75, 0x73, 0x68, 0x70, 0x69, 0x6e, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, // ushpin.external_ - 0x6c, 0x69, 0x6e, 0x6b, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x06, 0x74, 0x72, 0x6f, 0x70, // link.signin.trop - 0x68, 0x79, 0x0b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0a, 0x75, // hy.github_sign.u - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x6c, 0x74, 0x05, 0x6c, 0x65, 0x6d, 0x6f, 0x6e, 0x05, // pload_alt.lemon. - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x6d, 0x70, 0x74, // phone.check_empt - 0x79, 0x0e, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, // y.bookmark_empty - 0x0a, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x74, 0x77, 0x69, 0x74, // .phone_sign.twit - 0x74, 0x65, 0x72, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x06, 0x67, 0x69, 0x74, // ter.facebook.git - 0x68, 0x75, 0x62, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, // hub.unlock.credi - 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x03, 0x72, 0x73, 0x73, 0x03, 0x68, 0x64, 0x64, 0x08, 0x62, // t_card.rss.hdd.b - 0x75, 0x6c, 0x6c, 0x68, 0x6f, 0x72, 0x6e, 0x04, 0x62, 0x65, 0x6c, 0x6c, 0x0b, 0x63, 0x65, 0x72, // ullhorn.bell.cer - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x0a, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x69, // tificate.hand_ri - 0x67, 0x68, 0x74, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x07, 0x68, 0x61, // ght.hand_left.ha - 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x11, // nd_up.hand_down. - 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, // circle_arrow_lef - 0x74, 0x12, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, // t.circle_arrow_r - 0x69, 0x67, 0x68, 0x74, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, // ight.circle_arro - 0x77, 0x5f, 0x75, 0x70, 0x11, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, // w_up.circle_arro - 0x77, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x05, 0x67, 0x6c, 0x6f, 0x62, 0x65, 0x06, 0x77, 0x72, 0x65, // w_down.globe.wre - 0x6e, 0x63, 0x68, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, // nch.tasks.filter - 0x09, 0x62, 0x72, 0x69, 0x65, 0x66, 0x63, 0x61, 0x73, 0x65, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x73, // .briefcase.fulls - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x04, 0x6c, 0x69, 0x6e, 0x6b, // creen.group.link - 0x05, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x06, 0x62, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x03, 0x63, 0x75, // .cloud.beaker.cu - 0x74, 0x04, 0x63, 0x6f, 0x70, 0x79, 0x0a, 0x70, 0x61, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x69, // t.copy.paper_cli - 0x70, 0x04, 0x73, 0x61, 0x76, 0x65, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x62, 0x6c, 0x61, 0x6e, // p.save.sign_blan - 0x6b, 0x07, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x02, 0x75, 0x6c, 0x02, 0x6f, 0x6c, 0x0d, // k.reorder.ul.ol. - 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x09, 0x75, 0x6e, // strikethrough.un - 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x05, 0x6d, 0x61, // derline.table.ma - 0x67, 0x69, 0x63, 0x05, 0x74, 0x72, 0x75, 0x63, 0x6b, 0x09, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, // gic.truck.pinter - 0x65, 0x73, 0x74, 0x0e, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, // est.pinterest_si - 0x67, 0x6e, 0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, // gn.google_plus_s - 0x69, 0x67, 0x6e, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x05, // ign.google_plus. - 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x0a, 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, // money.caret_down - 0x08, 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x0a, 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, // .caret_up.caret_ - 0x6c, 0x65, 0x66, 0x74, 0x0b, 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, // left.caret_right - 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x09, 0x73, 0x6f, // .columns.sort.so - 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x70, 0x0c, // rt_down.sort_up. - 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x6c, 0x69, 0x6e, // envelope_alt.lin - 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x04, 0x75, 0x6e, 0x64, 0x6f, 0x05, 0x6c, 0x65, 0x67, 0x61, 0x6c, // kedin.undo.legal - 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, // .dashboard.comme - 0x6e, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, // nt_alt.comments_ - 0x61, 0x6c, 0x74, 0x04, 0x62, 0x6f, 0x6c, 0x74, 0x07, 0x73, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x70, // alt.bolt.sitemap - 0x08, 0x75, 0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x05, 0x70, 0x61, 0x73, 0x74, 0x65, 0x0a, // .umbrella.paste. - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x75, 0x6c, 0x62, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, // light_bulb.excha - 0x6e, 0x67, 0x65, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, // nge.cloud_downlo - 0x61, 0x64, 0x0c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x07, // ad.cloud_upload. - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x64, 0x0b, 0x73, 0x74, 0x65, 0x74, 0x68, 0x6f, 0x73, 0x63, // user_md.stethosc - 0x6f, 0x70, 0x65, 0x08, 0x73, 0x75, 0x69, 0x74, 0x63, 0x61, 0x73, 0x65, 0x08, 0x62, 0x65, 0x6c, // ope.suitcase.bel - 0x6c, 0x5f, 0x61, 0x6c, 0x74, 0x06, 0x63, 0x6f, 0x66, 0x66, 0x65, 0x65, 0x04, 0x66, 0x6f, 0x6f, // l_alt.coffee.foo - 0x64, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x08, // d.file_text_alt. - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x08, 0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, // building.hospita - 0x6c, 0x09, 0x61, 0x6d, 0x62, 0x75, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x06, 0x6d, 0x65, 0x64, 0x6b, // l.ambulance.medk - 0x69, 0x74, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x6a, 0x65, 0x74, 0x04, 0x62, // it.fighter_jet.b - 0x65, 0x65, 0x72, 0x06, 0x68, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x04, 0x66, 0x30, 0x66, 0x65, 0x11, // eer.h_sign.f0fe. - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x66, // double_angle_lef - 0x74, 0x12, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, // t.double_angle_r - 0x69, 0x67, 0x68, 0x74, 0x0f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, // ight.double_angl - 0x65, 0x5f, 0x75, 0x70, 0x11, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, // e_up.double_angl - 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x0a, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x66, // e_down.angle_lef - 0x74, 0x0b, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x08, 0x61, 0x6e, // t.angle_right.an - 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x0a, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, // gle_up.angle_dow - 0x6e, 0x07, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x06, 0x6c, 0x61, 0x70, 0x74, 0x6f, 0x70, // n.desktop.laptop - 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x0c, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x70, // .tablet.mobile_p - 0x68, 0x6f, 0x6e, 0x65, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x62, 0x6c, 0x61, 0x6e, // hone.circle_blan - 0x6b, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0b, 0x71, 0x75, 0x6f, // k.quote_left.quo - 0x74, 0x65, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x07, 0x73, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x72, // te_right.spinner - 0x06, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x0a, 0x67, 0x69, // .circle.reply.gi - 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x6c, 0x74, 0x10, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, // thub_alt.folder_ - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x0f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, // close_alt.folder - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x6c, 0x74, 0x0a, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, // _open_alt.expand - 0x5f, 0x61, 0x6c, 0x74, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x5f, 0x61, 0x6c, // _alt.collapse_al - 0x74, 0x05, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x05, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x03, 0x6d, 0x65, // t.smile.frown.me - 0x68, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x08, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, // h.gamepad.keyboa - 0x72, 0x64, 0x08, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x0e, 0x66, 0x6c, 0x61, 0x67, // rd.flag_alt.flag - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x65, 0x64, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, // _checkered.termi - 0x6e, 0x61, 0x6c, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x61, // nal.code.reply_a - 0x6c, 0x6c, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x65, 0x6d, 0x70, // ll.star_half_emp - 0x74, 0x79, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x6f, // ty.location_arro - 0x77, 0x04, 0x63, 0x72, 0x6f, 0x70, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6b, // w.crop.code_fork - 0x06, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x04, 0x5f, 0x32, 0x37, 0x39, 0x0b, 0x65, 0x78, 0x63, // .unlink._279.exc - 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0b, 0x73, 0x75, 0x70, 0x65, 0x72, 0x73, 0x63, // lamation.supersc - 0x72, 0x69, 0x70, 0x74, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x04, 0x5f, // ript.subscript._ - 0x32, 0x38, 0x33, 0x0c, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, // 283.puzzle_piece - 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x0e, 0x6d, 0x69, 0x63, 0x72, // .microphone.micr - 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x06, 0x73, 0x68, 0x69, 0x65, 0x6c, // ophone_off.shiel - 0x64, 0x0e, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, // d.calendar_empty - 0x11, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, // .fire_extinguish - 0x65, 0x72, 0x06, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x06, 0x6d, 0x61, 0x78, 0x63, 0x64, 0x6e, // er.rocket.maxcdn - 0x11, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6c, 0x65, // .chevron_sign_le - 0x66, 0x74, 0x12, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, // ft.chevron_sign_ - 0x72, 0x69, 0x67, 0x68, 0x74, 0x0f, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, // right.chevron_si - 0x67, 0x6e, 0x5f, 0x75, 0x70, 0x11, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, // gn_up.chevron_si - 0x67, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x05, 0x68, 0x74, 0x6d, 0x6c, 0x35, 0x04, 0x63, 0x73, // gn_down.html5.cs - 0x73, 0x33, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, // s3.anchor.unlock - 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x62, 0x75, 0x6c, 0x6c, 0x73, 0x65, 0x79, 0x65, 0x13, 0x65, 0x6c, // _alt.bullseye.el - 0x6c, 0x69, 0x70, 0x73, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, // lipsis_horizonta - 0x6c, 0x11, 0x65, 0x6c, 0x6c, 0x69, 0x70, 0x73, 0x69, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, // l.ellipsis_verti - 0x63, 0x61, 0x6c, 0x04, 0x5f, 0x33, 0x30, 0x33, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x69, // cal._303.play_si - 0x67, 0x6e, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x0e, 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x5f, // gn.ticket.minus_ - 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x61, 0x6c, 0x74, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6d, // sign_alt.check_m - 0x69, 0x6e, 0x75, 0x73, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x0a, 0x6c, 0x65, // inus.level_up.le - 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, // vel_down.check_s - 0x69, 0x67, 0x6e, 0x09, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x04, 0x5f, 0x33, // ign.edit_sign._3 - 0x31, 0x32, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x63, 0x6f, // 12.share_sign.co - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x0c, 0x63, // mpass.collapse.c - 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x04, 0x5f, 0x33, 0x31, 0x37, // ollapse_top._317 - 0x03, 0x65, 0x75, 0x72, 0x03, 0x67, 0x62, 0x70, 0x03, 0x75, 0x73, 0x64, 0x03, 0x69, 0x6e, 0x72, // .eur.gbp.usd.inr - 0x03, 0x6a, 0x70, 0x79, 0x03, 0x72, 0x75, 0x62, 0x03, 0x6b, 0x72, 0x77, 0x03, 0x62, 0x74, 0x63, // .jpy.rub.krw.btc - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x10, // .file.file_text. - 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, // sort_by_alphabet - 0x04, 0x5f, 0x33, 0x32, 0x39, 0x12, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x74, // ._329.sort_by_at - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x16, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, // tributes.sort_by - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x6c, 0x74, 0x0d, // _attributes_alt. - 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x11, 0x73, 0x6f, // sort_by_order.so - 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x74, 0x04, // rt_by_order_alt. - 0x5f, 0x33, 0x33, 0x34, 0x04, 0x5f, 0x33, 0x33, 0x35, 0x0c, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, // _334._335.youtub - 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x04, 0x78, // e_sign.youtube.x - 0x69, 0x6e, 0x67, 0x09, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0c, 0x79, 0x6f, // ing.xing_sign.yo - 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x62, // utube_play.dropb - 0x6f, 0x78, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, // ox.stackexchange - 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, 0x06, 0x66, 0x6c, 0x69, 0x63, 0x6b, // .instagram.flick - 0x72, 0x03, 0x61, 0x64, 0x6e, 0x04, 0x66, 0x31, 0x37, 0x31, 0x0e, 0x62, 0x69, 0x74, 0x62, 0x75, // r.adn.f171.bitbu - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x06, 0x74, 0x75, 0x6d, 0x62, 0x6c, 0x72, // cket_sign.tumblr - 0x0b, 0x74, 0x75, 0x6d, 0x62, 0x6c, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0f, 0x6c, 0x6f, 0x6e, // .tumblr_sign.lon - 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x0d, 0x6c, 0x6f, 0x6e, // g_arrow_down.lon - 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, // g_arrow_up.long_ - 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, // arrow_left.long_ - 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x07, 0x77, 0x69, 0x6e, 0x64, // arrow_right.wind - 0x6f, 0x77, 0x73, 0x07, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x05, 0x6c, 0x69, 0x6e, 0x75, // ows.android.linu - 0x78, 0x07, 0x64, 0x72, 0x69, 0x62, 0x62, 0x6c, 0x65, 0x05, 0x73, 0x6b, 0x79, 0x70, 0x65, 0x0a, // x.dribble.skype. - 0x66, 0x6f, 0x75, 0x72, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x06, 0x74, 0x72, 0x65, 0x6c, 0x6c, // foursquare.trell - 0x6f, 0x06, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x04, 0x6d, 0x61, 0x6c, 0x65, 0x06, 0x67, 0x69, // o.female.male.gi - 0x74, 0x74, 0x69, 0x70, 0x03, 0x73, 0x75, 0x6e, 0x04, 0x5f, 0x33, 0x36, 0x36, 0x07, 0x61, 0x72, // ttip.sun._366.ar - 0x63, 0x68, 0x69, 0x76, 0x65, 0x03, 0x62, 0x75, 0x67, 0x02, 0x76, 0x6b, 0x05, 0x77, 0x65, 0x69, // chive.bug.vk.wei - 0x62, 0x6f, 0x06, 0x72, 0x65, 0x6e, 0x72, 0x65, 0x6e, 0x04, 0x5f, 0x33, 0x37, 0x32, 0x0e, 0x73, // bo.renren._372.s - 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x04, 0x5f, 0x33, // tack_exchange._3 - 0x37, 0x34, 0x15, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, // 74.arrow_circle_ - 0x61, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x04, 0x5f, 0x33, 0x37, 0x36, 0x0e, 0x64, 0x6f, // alt_left._376.do - 0x74, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x04, 0x5f, 0x33, 0x37, // t_circle_alt._37 - 0x38, 0x0c, 0x76, 0x69, 0x6d, 0x65, 0x6f, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x04, 0x5f, // 8.vimeo_square._ - 0x33, 0x38, 0x30, 0x04, 0x5f, 0x33, 0x38, 0x31, 0x04, 0x5f, 0x33, 0x38, 0x32, 0x04, 0x5f, 0x33, // 380._381._382._3 - 0x38, 0x33, 0x04, 0x5f, 0x33, 0x38, 0x34, 0x04, 0x5f, 0x33, 0x38, 0x35, 0x04, 0x5f, 0x33, 0x38, // 83._384._385._38 - 0x36, 0x04, 0x5f, 0x33, 0x38, 0x37, 0x04, 0x5f, 0x33, 0x38, 0x38, 0x04, 0x5f, 0x33, 0x38, 0x39, // 6._387._388._389 - 0x00, 0x01, 0x52, 0x67, 0x41, 0x5b, 0x00, 0x00, // ..RgA[.. + 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x46, 0x6f, 0x6e, 0x74, 0x41, 0x77, 0x65, 0x73, 0x6f, 0x6d, // .m.e..FontAwesom + 0x65, 0x00, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x72, // e..R.e.g.u.l.a.r + 0x00, 0x00, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x00, 0x00, 0x46, 0x00, 0x4f, 0x00, 0x4e, // ..Regular..F.O.N + 0x00, 0x54, 0x00, 0x4c, 0x00, 0x41, 0x00, 0x42, 0x00, 0x3a, 0x00, 0x4f, 0x00, 0x54, 0x00, 0x46, // .T.L.A.B.:.O.T.F + 0x00, 0x45, 0x00, 0x58, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x52, 0x00, 0x54, 0x00, 0x00, 0x46, 0x4f, // .E.X.P.O.R.T..FO + 0x4e, 0x54, 0x4c, 0x41, 0x42, 0x3a, 0x4f, 0x54, 0x46, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x00, // NTLAB:OTFEXPORT. + 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, // .F.o.n.t.A.w.e.s + 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x00, 0x46, 0x6f, 0x6e, 0x74, 0x41, 0x77, 0x65, 0x73, // .o.m.e..FontAwes + 0x6f, 0x6d, 0x65, 0x00, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, // ome..V.e.r.s.i.o + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x34, 0x00, 0x2e, 0x00, 0x37, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x20, // .n. .4...7...0. + 0x00, 0x32, 0x00, 0x30, 0x00, 0x31, 0x00, 0x36, 0x00, 0x00, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, // .2.0.1.6..Versio + 0x6e, 0x20, 0x34, 0x2e, 0x37, 0x2e, 0x30, 0x20, 0x32, 0x30, 0x31, 0x36, 0x00, 0x00, 0x46, 0x00, // n 4.7.0 2016..F. + 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, // o.n.t.A.w.e.s.o. + 0x6d, 0x00, 0x65, 0x00, 0x00, 0x46, 0x6f, 0x6e, 0x74, 0x41, 0x77, 0x65, 0x73, 0x6f, 0x6d, 0x65, // m.e..FontAwesome + 0x00, 0x00, 0x50, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, // ..P.l.e.a.s.e. . + 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, // r.e.f.e.r. .t.o. + 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, // .t.h.e. .C.o.p. + 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, // y.r.i.g.h.t. .s. + 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x66, 0x00, // e.c.t.i.o.n. .f. + 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, // o.r. .t.h.e. .f. + 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x64, 0x00, // o.n.t. .t.r.a.d. + 0x65, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x61, 0x00, 0x74, 0x00, // e.m.a.r.k. .a.t. + 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, // t.r.i.b.u.t.i.o. + 0x6e, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, // n. .n.o.t.i.c.e. + 0x73, 0x00, 0x2e, 0x00, 0x00, 0x50, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, // s....Please refe + 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, // r to the Copyrig + 0x68, 0x74, 0x20, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, // ht section for t + 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, 0x6d, 0x61, 0x72, // he font trademar + 0x6b, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x6f, // k attribution no + 0x74, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x00, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, // tices...F.o.r.t. + 0x20, 0x00, 0x41, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x65, 0x00, // .A.w.e.s.o.m.e. + 0x00, 0x46, 0x6f, 0x72, 0x74, 0x20, 0x41, 0x77, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x00, 0x00, 0x44, // .Fort Awesome..D + 0x00, 0x61, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x47, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, // .a.v.e. .G.a.n.d + 0x00, 0x79, 0x00, 0x00, 0x44, 0x61, 0x76, 0x65, 0x20, 0x47, 0x61, 0x6e, 0x64, 0x79, 0x00, 0x00, // .y..Dave Gandy.. + 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x66, 0x00, // h.t.t.p.:././.f. + 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x61, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, 0x6f, 0x00, // o.n.t.a.w.e.s.o. + 0x6d, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3a, // m.e...i.o..http: + 0x2f, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x61, 0x77, 0x65, 0x73, 0x6f, 0x6d, 0x65, 0x2e, 0x69, 0x6f, // //fontawesome.io + 0x00, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, // ..h.t.t.p.:././. + 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x61, 0x00, 0x77, 0x00, 0x65, 0x00, 0x73, 0x00, // f.o.n.t.a.w.e.s. + 0x6f, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x2f, 0x00, 0x6c, 0x00, // o.m.e...i.o./.l. + 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2f, 0x00, 0x00, 0x68, // i.c.e.n.s.e./..h + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x66, 0x6f, 0x6e, 0x74, 0x61, 0x77, 0x65, 0x73, 0x6f, 0x6d, // ttp://fontawesom + 0x65, 0x2e, 0x69, 0x6f, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2f, 0x00, 0x00, 0x00, // e.io/license/... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x02, 0xc3, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x8a, // ................ + 0x00, 0x8d, 0x00, 0x90, 0x00, 0x91, 0x00, 0x8c, 0x00, 0x92, 0x00, 0x8f, 0x01, 0x02, 0x01, 0x03, // ................ + 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, // ................ + 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, // ................ + 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, // ................ + 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, // ......... .!.".# + 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, // .$.%.&.'.(.).*.+ + 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, // .,.-.../.0.1.2.3 + 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, // .4.5.6.7.8.9.:.; + 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, // .<.=.>.?.@.A.B.C + 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, // .D.E.F.G.H.I.J.K + 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, // .L.M.N.O.P.Q.R.S + 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, // .T.U.V.W.X.Y.Z.[ + 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x00, 0x0e, // ...].^._.`.a.b.. + 0x00, 0xef, 0x00, 0x0d, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, // .....c.d.e.f.g.h + 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, // .i.j.k.l.m.n.o.p + 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, // .q.r.s.t.u.v.w.x + 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x7c, 0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x80, // .y.z.{.|.}.~.... + 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, // ................ + 0x01, 0x89, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x90, // ................ + 0x01, 0x91, 0x01, 0x92, 0x01, 0x93, 0x01, 0x94, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, // ................ + 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, // ................ + 0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, // ................ + 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, 0x01, 0xac, 0x01, 0xad, 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb0, // ................ + 0x01, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, // ................ + 0x01, 0xb9, 0x01, 0xba, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, // ................ + 0x01, 0xc1, 0x01, 0xc2, 0x01, 0xc3, 0x01, 0xc4, 0x01, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, // ................ + 0x01, 0xc9, 0x01, 0xca, 0x01, 0xcb, 0x01, 0xcc, 0x01, 0xcd, 0x01, 0xce, 0x01, 0xcf, 0x01, 0xd0, // ................ + 0x01, 0xd1, 0x01, 0xd2, 0x01, 0xd3, 0x01, 0xd4, 0x01, 0xd5, 0x01, 0xd6, 0x01, 0xd7, 0x01, 0xd8, // ................ + 0x01, 0xd9, 0x01, 0xda, 0x01, 0xdb, 0x01, 0xdc, 0x01, 0xdd, 0x01, 0xde, 0x01, 0xdf, 0x01, 0xe0, // ................ + 0x01, 0xe1, 0x01, 0xe2, 0x01, 0xe3, 0x01, 0xe4, 0x01, 0xe5, 0x01, 0xe6, 0x01, 0xe7, 0x01, 0xe8, // ................ + 0x01, 0xe9, 0x01, 0xea, 0x01, 0xeb, 0x01, 0xec, 0x01, 0xed, 0x01, 0xee, 0x01, 0xef, 0x01, 0xf0, // ................ + 0x01, 0xf1, 0x01, 0xf2, 0x01, 0xf3, 0x01, 0xf4, 0x01, 0xf5, 0x01, 0xf6, 0x01, 0xf7, 0x01, 0xf8, // ................ + 0x01, 0xf9, 0x01, 0xfa, 0x01, 0xfb, 0x01, 0xfc, 0x01, 0xfd, 0x01, 0xfe, 0x01, 0xff, 0x02, 0x00, // ................ + 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02, 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, // ................ + 0x00, 0x22, 0x02, 0x09, 0x02, 0x0a, 0x02, 0x0b, 0x02, 0x0c, 0x02, 0x0d, 0x02, 0x0e, 0x02, 0x0f, // .".............. + 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x14, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, // ................ + 0x02, 0x18, 0x02, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x02, 0x1c, 0x02, 0x1d, 0x02, 0x1e, 0x02, 0x1f, // ................ + 0x02, 0x20, 0x02, 0x21, 0x02, 0x22, 0x02, 0x23, 0x02, 0x24, 0x02, 0x25, 0x02, 0x26, 0x02, 0x27, // . .!.".#.$.%.&.' + 0x02, 0x28, 0x02, 0x29, 0x02, 0x2a, 0x02, 0x2b, 0x02, 0x2c, 0x02, 0x2d, 0x02, 0x2e, 0x02, 0x2f, // .(.).*.+.,.-.../ + 0x02, 0x30, 0x02, 0x31, 0x02, 0x32, 0x02, 0x33, 0x02, 0x34, 0x02, 0x35, 0x02, 0x36, 0x02, 0x37, // .0.1.2.3.4.5.6.7 + 0x02, 0x38, 0x02, 0x39, 0x02, 0x3a, 0x02, 0x3b, 0x02, 0x3c, 0x02, 0x3d, 0x02, 0x3e, 0x02, 0x3f, // .8.9.:.;.<.=.>.? + 0x02, 0x40, 0x02, 0x41, 0x02, 0x42, 0x02, 0x43, 0x02, 0x44, 0x02, 0x45, 0x02, 0x46, 0x02, 0x47, // .@.A.B.C.D.E.F.G + 0x02, 0x48, 0x02, 0x49, 0x02, 0x4a, 0x02, 0x4b, 0x02, 0x4c, 0x02, 0x4d, 0x02, 0x4e, 0x02, 0x4f, // .H.I.J.K.L.M.N.O + 0x02, 0x50, 0x02, 0x51, 0x02, 0x52, 0x02, 0x53, 0x00, 0xd2, 0x02, 0x54, 0x02, 0x55, 0x02, 0x56, // .P.Q.R.S...T.U.V + 0x02, 0x57, 0x02, 0x58, 0x02, 0x59, 0x02, 0x5a, 0x02, 0x5b, 0x02, 0x5c, 0x02, 0x5d, 0x02, 0x5e, // .W.X.Y.Z.[...].^ + 0x02, 0x5f, 0x02, 0x60, 0x02, 0x61, 0x02, 0x62, 0x02, 0x63, 0x02, 0x64, 0x02, 0x65, 0x02, 0x66, // ._.`.a.b.c.d.e.f + 0x02, 0x67, 0x02, 0x68, 0x02, 0x69, 0x02, 0x6a, 0x02, 0x6b, 0x02, 0x6c, 0x02, 0x6d, 0x02, 0x6e, // .g.h.i.j.k.l.m.n + 0x02, 0x6f, 0x02, 0x70, 0x02, 0x71, 0x02, 0x72, 0x02, 0x73, 0x02, 0x74, 0x02, 0x75, 0x02, 0x76, // .o.p.q.r.s.t.u.v + 0x02, 0x77, 0x02, 0x78, 0x02, 0x79, 0x02, 0x7a, 0x02, 0x7b, 0x02, 0x7c, 0x02, 0x7d, 0x02, 0x7e, // .w.x.y.z.{.|.}.~ + 0x02, 0x7f, 0x02, 0x80, 0x02, 0x81, 0x02, 0x82, 0x02, 0x83, 0x02, 0x84, 0x02, 0x85, 0x02, 0x86, // ................ + 0x02, 0x87, 0x02, 0x88, 0x02, 0x89, 0x02, 0x8a, 0x02, 0x8b, 0x02, 0x8c, 0x02, 0x8d, 0x02, 0x8e, // ................ + 0x02, 0x8f, 0x02, 0x90, 0x02, 0x91, 0x02, 0x92, 0x02, 0x93, 0x02, 0x94, 0x02, 0x95, 0x02, 0x96, // ................ + 0x02, 0x97, 0x02, 0x98, 0x02, 0x99, 0x02, 0x9a, 0x02, 0x9b, 0x02, 0x9c, 0x02, 0x9d, 0x02, 0x9e, // ................ + 0x02, 0x9f, 0x02, 0xa0, 0x02, 0xa1, 0x02, 0xa2, 0x02, 0xa3, 0x02, 0xa4, 0x02, 0xa5, 0x02, 0xa6, // ................ + 0x02, 0xa7, 0x02, 0xa8, 0x02, 0xa9, 0x02, 0xaa, 0x02, 0xab, 0x02, 0xac, 0x02, 0xad, 0x02, 0xae, // ................ + 0x02, 0xaf, 0x02, 0xb0, 0x02, 0xb1, 0x02, 0xb2, 0x02, 0xb3, 0x02, 0xb4, 0x02, 0xb5, 0x02, 0xb6, // ................ + 0x02, 0xb7, 0x02, 0xb8, 0x02, 0xb9, 0x02, 0xba, 0x02, 0xbb, 0x02, 0xbc, 0x02, 0xbd, 0x02, 0xbe, // ................ + 0x02, 0xbf, 0x02, 0xc0, 0x02, 0xc1, 0x02, 0xc2, 0x02, 0xc3, 0x02, 0xc4, 0x02, 0xc5, 0x02, 0xc6, // ................ + 0x02, 0xc7, 0x02, 0xc8, 0x02, 0xc9, 0x02, 0xca, 0x02, 0xcb, 0x02, 0xcc, 0x02, 0xcd, 0x02, 0xce, // ................ + 0x02, 0xcf, 0x02, 0xd0, 0x02, 0xd1, 0x02, 0xd2, 0x02, 0xd3, 0x02, 0xd4, 0x02, 0xd5, 0x02, 0xd6, // ................ + 0x02, 0xd7, 0x02, 0xd8, 0x02, 0xd9, 0x02, 0xda, 0x02, 0xdb, 0x02, 0xdc, 0x02, 0xdd, 0x02, 0xde, // ................ + 0x02, 0xdf, 0x02, 0xe0, 0x02, 0xe1, 0x02, 0xe2, 0x02, 0xe3, 0x02, 0xe4, 0x02, 0xe5, 0x02, 0xe6, // ................ + 0x02, 0xe7, 0x02, 0xe8, 0x02, 0xe9, 0x02, 0xea, 0x02, 0xeb, 0x02, 0xec, 0x02, 0xed, 0x02, 0xee, // ................ + 0x02, 0xef, 0x02, 0xf0, 0x02, 0xf1, 0x02, 0xf2, 0x02, 0xf3, 0x02, 0xf4, 0x02, 0xf5, 0x02, 0xf6, // ................ + 0x02, 0xf7, 0x02, 0xf8, 0x02, 0xf9, 0x02, 0xfa, 0x02, 0xfb, 0x02, 0xfc, 0x02, 0xfd, 0x02, 0xfe, // ................ + 0x02, 0xff, 0x03, 0x00, 0x03, 0x01, 0x03, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x05, 0x03, 0x06, // ................ + 0x03, 0x07, 0x03, 0x08, 0x03, 0x09, 0x03, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x03, 0x0e, // ................ + 0x03, 0x0f, 0x03, 0x10, 0x03, 0x11, 0x03, 0x12, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x03, 0x16, // ................ + 0x03, 0x17, 0x03, 0x18, 0x03, 0x19, 0x03, 0x1a, 0x03, 0x1b, 0x03, 0x1c, 0x03, 0x1d, 0x03, 0x1e, // ................ + 0x03, 0x1f, 0x03, 0x20, 0x03, 0x21, 0x03, 0x22, 0x03, 0x23, 0x03, 0x24, 0x03, 0x25, 0x03, 0x26, // ... .!.".#.$.%.& + 0x03, 0x27, 0x03, 0x28, 0x03, 0x29, 0x03, 0x2a, 0x03, 0x2b, 0x03, 0x2c, 0x03, 0x2d, 0x03, 0x2e, // .'.(.).*.+.,.-.. + 0x03, 0x2f, 0x03, 0x30, 0x03, 0x31, 0x03, 0x32, 0x03, 0x33, 0x03, 0x34, 0x03, 0x35, 0x03, 0x36, // ./.0.1.2.3.4.5.6 + 0x03, 0x37, 0x03, 0x38, 0x03, 0x39, 0x03, 0x3a, 0x03, 0x3b, 0x03, 0x3c, 0x03, 0x3d, 0x03, 0x3e, // .7.8.9.:.;.<.=.> + 0x03, 0x3f, 0x03, 0x40, 0x03, 0x41, 0x03, 0x42, 0x03, 0x43, 0x03, 0x44, 0x03, 0x45, 0x03, 0x46, // .?.@.A.B.C.D.E.F + 0x03, 0x47, 0x03, 0x48, 0x03, 0x49, 0x03, 0x4a, 0x03, 0x4b, 0x03, 0x4c, 0x03, 0x4d, 0x03, 0x4e, // .G.H.I.J.K.L.M.N + 0x03, 0x4f, 0x03, 0x50, 0x03, 0x51, 0x03, 0x52, 0x03, 0x53, 0x03, 0x54, 0x03, 0x55, 0x03, 0x56, // .O.P.Q.R.S.T.U.V + 0x03, 0x57, 0x03, 0x58, 0x03, 0x59, 0x03, 0x5a, 0x03, 0x5b, 0x03, 0x5c, 0x03, 0x5d, 0x03, 0x5e, // .W.X.Y.Z.[...].^ + 0x03, 0x5f, 0x03, 0x60, 0x03, 0x61, 0x03, 0x62, 0x03, 0x63, 0x03, 0x64, 0x03, 0x65, 0x03, 0x66, // ._.`.a.b.c.d.e.f + 0x03, 0x67, 0x03, 0x68, 0x03, 0x69, 0x03, 0x6a, 0x03, 0x6b, 0x03, 0x6c, 0x03, 0x6d, 0x03, 0x6e, // .g.h.i.j.k.l.m.n + 0x03, 0x6f, 0x03, 0x70, 0x03, 0x71, 0x03, 0x72, 0x03, 0x73, 0x03, 0x74, 0x03, 0x75, 0x03, 0x76, // .o.p.q.r.s.t.u.v + 0x03, 0x77, 0x03, 0x78, 0x03, 0x79, 0x03, 0x7a, 0x03, 0x7b, 0x03, 0x7c, 0x03, 0x7d, 0x03, 0x7e, // .w.x.y.z.{.|.}.~ + 0x03, 0x7f, 0x03, 0x80, 0x03, 0x81, 0x03, 0x82, 0x03, 0x83, 0x03, 0x84, 0x03, 0x85, 0x03, 0x86, // ................ + 0x03, 0x87, 0x03, 0x88, 0x03, 0x89, 0x03, 0x8a, 0x03, 0x8b, 0x03, 0x8c, 0x03, 0x8d, 0x03, 0x8e, // ................ + 0x03, 0x8f, 0x03, 0x90, 0x03, 0x91, 0x03, 0x92, 0x03, 0x93, 0x03, 0x94, 0x03, 0x95, 0x03, 0x96, // ................ + 0x03, 0x97, 0x03, 0x98, 0x03, 0x99, 0x03, 0x9a, 0x03, 0x9b, 0x03, 0x9c, 0x03, 0x9d, 0x03, 0x9e, // ................ + 0x03, 0x9f, 0x03, 0xa0, 0x03, 0xa1, 0x03, 0xa2, 0x03, 0xa3, 0x03, 0xa4, 0x03, 0xa5, 0x03, 0xa6, // ................ + 0x03, 0xa7, 0x03, 0xa8, 0x03, 0xa9, 0x03, 0xaa, 0x03, 0xab, 0x03, 0xac, 0x03, 0xad, 0x03, 0xae, // ................ + 0x03, 0xaf, 0x03, 0xb0, 0x03, 0xb1, 0x00, 0x94, 0x05, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x05, 0x6d, // .........glass.m + 0x75, 0x73, 0x69, 0x63, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x08, 0x65, 0x6e, 0x76, 0x65, // usic.search.enve + 0x6c, 0x6f, 0x70, 0x65, 0x05, 0x68, 0x65, 0x61, 0x72, 0x74, 0x04, 0x73, 0x74, 0x61, 0x72, 0x0a, // lope.heart.star. + 0x73, 0x74, 0x61, 0x72, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x04, 0x75, 0x73, 0x65, 0x72, 0x04, // star_empty.user. + 0x66, 0x69, 0x6c, 0x6d, 0x08, 0x74, 0x68, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x02, 0x74, 0x68, // film.th_large.th + 0x07, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x02, 0x6f, 0x6b, 0x06, 0x72, 0x65, 0x6d, 0x6f, // .th_list.ok.remo + 0x76, 0x65, 0x07, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x08, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, // ve.zoom_in.zoom_ + 0x6f, 0x75, 0x74, 0x03, 0x6f, 0x66, 0x66, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x03, 0x63, // out.off.signal.c + 0x6f, 0x67, 0x05, 0x74, 0x72, 0x61, 0x73, 0x68, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x08, 0x66, 0x69, // og.trash.home.fi + 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x04, 0x72, 0x6f, 0x61, 0x64, // le_alt.time.road + 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x64, 0x6f, // .download_alt.do + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x06, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x05, 0x69, 0x6e, // wnload.upload.in + 0x62, 0x6f, 0x78, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x06, // box.play_circle. + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x08, 0x6c, // repeat.refresh.l + 0x69, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x04, 0x6c, 0x6f, 0x63, 0x6b, 0x04, 0x66, 0x6c, 0x61, // ist_alt.lock.fla + 0x67, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, 0x0a, 0x76, 0x6f, 0x6c, // g.headphones.vol + 0x75, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x64, // ume_off.volume_d + 0x6f, 0x77, 0x6e, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x06, 0x71, 0x72, // own.volume_up.qr + 0x63, 0x6f, 0x64, 0x65, 0x07, 0x62, 0x61, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x03, 0x74, 0x61, 0x67, // code.barcode.tag + 0x04, 0x74, 0x61, 0x67, 0x73, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x08, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, // .tags.book.bookm + 0x61, 0x72, 0x6b, 0x05, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x06, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, // ark.print.camera + 0x04, 0x66, 0x6f, 0x6e, 0x74, 0x04, 0x62, 0x6f, 0x6c, 0x64, 0x06, 0x69, 0x74, 0x61, 0x6c, 0x69, // .font.bold.itali + 0x63, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x74, 0x65, // c.text_height.te + 0x78, 0x74, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x0a, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x6c, // xt_width.align_l + 0x65, 0x66, 0x74, 0x0c, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, // eft.align_center + 0x0b, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0d, 0x61, 0x6c, 0x69, // .align_right.ali + 0x67, 0x6e, 0x5f, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x0b, // gn_justify.list. + 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0c, 0x69, 0x6e, 0x64, 0x65, // indent_left.inde + 0x6e, 0x74, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0e, 0x66, 0x61, 0x63, 0x65, 0x74, 0x69, 0x6d, // nt_right.facetim + 0x65, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x07, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x06, // e_video.picture. + 0x70, 0x65, 0x6e, 0x63, 0x69, 0x6c, 0x0a, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, // pencil.map_marke + 0x72, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x04, 0x74, 0x69, 0x6e, 0x74, 0x04, 0x65, 0x64, // r.adjust.tint.ed + 0x69, 0x74, 0x05, 0x73, 0x68, 0x61, 0x72, 0x65, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x04, 0x6d, // it.share.check.m + 0x6f, 0x76, 0x65, 0x0d, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, // ove.step_backwar + 0x64, 0x0d, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x08, // d.fast_backward. + 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x04, 0x70, 0x6c, 0x61, 0x79, 0x05, 0x70, 0x61, // backward.play.pa + 0x75, 0x73, 0x65, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, // use.stop.forward + 0x0c, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x0c, 0x73, 0x74, // .fast_forward.st + 0x65, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x05, 0x65, 0x6a, 0x65, 0x63, 0x74, // ep_forward.eject + 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0d, 0x63, 0x68, // .chevron_left.ch + 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x09, 0x70, 0x6c, 0x75, 0x73, // evron_right.plus + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0a, 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, // _sign.minus_sign + 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x6f, 0x6b, 0x5f, // .remove_sign.ok_ + 0x73, 0x69, 0x67, 0x6e, 0x0d, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, // sign.question_si + 0x67, 0x6e, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0a, 0x73, 0x63, 0x72, // gn.info_sign.scr + 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, // eenshot.remove_c + 0x69, 0x72, 0x63, 0x6c, 0x65, 0x09, 0x6f, 0x6b, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x0a, // ircle.ok_circle. + 0x62, 0x61, 0x6e, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x0a, 0x61, 0x72, 0x72, 0x6f, 0x77, // ban_circle.arrow + 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0b, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, // _left.arrow_righ + 0x74, 0x08, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x0a, 0x61, 0x72, 0x72, 0x6f, 0x77, // t.arrow_up.arrow + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x0b, // _down.share_alt. + 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x0c, 0x72, 0x65, 0x73, 0x69, // resize_full.resi + 0x7a, 0x65, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, // ze_small.exclama + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x04, 0x67, 0x69, 0x66, 0x74, 0x04, 0x6c, // tion_sign.gift.l + 0x65, 0x61, 0x66, 0x04, 0x66, 0x69, 0x72, 0x65, 0x08, 0x65, 0x79, 0x65, 0x5f, 0x6f, 0x70, 0x65, // eaf.fire.eye_ope + 0x6e, 0x09, 0x65, 0x79, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x0c, 0x77, 0x61, 0x72, 0x6e, // n.eye_close.warn + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x05, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x08, 0x63, // ing_sign.plane.c + 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x07, 0x63, // alendar.random.c + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x06, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x0a, 0x63, 0x68, // omment.magnet.ch + 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x0c, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, // evron_up.chevron + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x07, 0x72, 0x65, 0x74, 0x77, 0x65, 0x65, 0x74, 0x0d, 0x73, 0x68, // _down.retweet.sh + 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x72, 0x74, 0x0c, 0x66, 0x6f, 0x6c, 0x64, // opping_cart.fold + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x0b, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, // er_close.folder_ + 0x6f, 0x70, 0x65, 0x6e, 0x0f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x74, // open.resize_vert + 0x69, 0x63, 0x61, 0x6c, 0x11, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x68, 0x6f, 0x72, 0x69, // ical.resize_hori + 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x09, 0x62, 0x61, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, // zontal.bar_chart + 0x0c, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0d, 0x66, 0x61, // .twitter_sign.fa + 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0c, 0x63, 0x61, 0x6d, 0x65, // cebook_sign.came + 0x72, 0x61, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x6f, 0x03, 0x6b, 0x65, 0x79, 0x04, 0x63, 0x6f, 0x67, // ra_retro.key.cog + 0x73, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, // s.comments.thumb + 0x73, 0x5f, 0x75, 0x70, 0x5f, 0x61, 0x6c, 0x74, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x5f, // s_up_alt.thumbs_ + 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x6c, 0x74, 0x09, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x68, 0x61, // down_alt.star_ha + 0x6c, 0x66, 0x0b, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x07, 0x73, // lf.heart_empty.s + 0x69, 0x67, 0x6e, 0x6f, 0x75, 0x74, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x5f, // ignout.linkedin_ + 0x73, 0x69, 0x67, 0x6e, 0x07, 0x70, 0x75, 0x73, 0x68, 0x70, 0x69, 0x6e, 0x0d, 0x65, 0x78, 0x74, // sign.pushpin.ext + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x69, // ernal_link.signi + 0x6e, 0x06, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0x0b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, // n.trophy.github_ + 0x73, 0x69, 0x67, 0x6e, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x6c, 0x74, 0x05, // sign.upload_alt. + 0x6c, 0x65, 0x6d, 0x6f, 0x6e, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x0b, 0x63, 0x68, 0x65, 0x63, // lemon.phone.chec + 0x6b, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x0e, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, // k_empty.bookmark + 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x0a, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x69, 0x67, // _empty.phone_sig + 0x6e, 0x07, 0x74, 0x77, 0x69, 0x74, 0x74, 0x65, 0x72, 0x08, 0x66, 0x61, 0x63, 0x65, 0x62, 0x6f, // n.twitter.facebo + 0x6f, 0x6b, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x06, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, // ok.github.unlock + 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x03, 0x72, 0x73, 0x73, // .credit_card.rss + 0x03, 0x68, 0x64, 0x64, 0x08, 0x62, 0x75, 0x6c, 0x6c, 0x68, 0x6f, 0x72, 0x6e, 0x04, 0x62, 0x65, // .hdd.bullhorn.be + 0x6c, 0x6c, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x0a, 0x68, // ll.certificate.h + 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x6c, // and_right.hand_l + 0x65, 0x66, 0x74, 0x07, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x75, 0x70, 0x09, 0x68, 0x61, 0x6e, 0x64, // eft.hand_up.hand + 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x11, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x72, // _down.circle_arr + 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, // ow_left.circle_a + 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x6c, // rrow_right.circl + 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x11, 0x63, 0x69, 0x72, 0x63, 0x6c, // e_arrow_up.circl + 0x65, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x05, 0x67, 0x6c, 0x6f, // e_arrow_down.glo + 0x62, 0x65, 0x06, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x68, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x06, // be.wrench.tasks. + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x09, 0x62, 0x72, 0x69, 0x65, 0x66, 0x63, 0x61, 0x73, 0x65, // filter.briefcase + 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x05, 0x67, 0x72, 0x6f, 0x75, // .fullscreen.grou + 0x70, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x05, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x06, 0x62, 0x65, 0x61, // p.link.cloud.bea + 0x6b, 0x65, 0x72, 0x03, 0x63, 0x75, 0x74, 0x04, 0x63, 0x6f, 0x70, 0x79, 0x0a, 0x70, 0x61, 0x70, // ker.cut.copy.pap + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x04, 0x73, 0x61, 0x76, 0x65, 0x0a, 0x73, 0x69, 0x67, // er_clip.save.sig + 0x6e, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x07, 0x72, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x02, // n_blank.reorder. + 0x75, 0x6c, 0x02, 0x6f, 0x6c, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68, 0x72, 0x6f, // ul.ol.strikethro + 0x75, 0x67, 0x68, 0x09, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x05, 0x74, 0x61, // ugh.underline.ta + 0x62, 0x6c, 0x65, 0x05, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x05, 0x74, 0x72, 0x75, 0x63, 0x6b, 0x09, // ble.magic.truck. + 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73, 0x74, 0x0e, 0x70, 0x69, 0x6e, 0x74, 0x65, 0x72, // pinterest.pinter + 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, // est_sign.google_ + 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, // plus_sign.google + 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x05, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x0a, 0x63, 0x61, 0x72, 0x65, // _plus.money.care + 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x08, 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x0a, // t_down.caret_up. + 0x63, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0b, 0x63, 0x61, 0x72, 0x65, 0x74, // caret_left.caret + 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x04, 0x73, // _right.columns.s + 0x6f, 0x72, 0x74, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x07, 0x73, 0x6f, // ort.sort_down.so + 0x72, 0x74, 0x5f, 0x75, 0x70, 0x0c, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x5f, 0x61, // rt_up.envelope_a + 0x6c, 0x74, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x69, 0x6e, 0x04, 0x75, 0x6e, 0x64, 0x6f, // lt.linkedin.undo + 0x05, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, // .legal.dashboard + 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x0c, 0x63, 0x6f, 0x6d, // .comment_alt.com + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x74, 0x04, 0x62, 0x6f, 0x6c, 0x74, 0x07, 0x73, // ments_alt.bolt.s + 0x69, 0x74, 0x65, 0x6d, 0x61, 0x70, 0x08, 0x75, 0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x05, // itemap.umbrella. + 0x70, 0x61, 0x73, 0x74, 0x65, 0x0a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x75, 0x6c, 0x62, // paste.light_bulb + 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, // .exchange.cloud_ + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x0c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x75, // download.cloud_u + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x64, 0x0b, 0x73, 0x74, // pload.user_md.st + 0x65, 0x74, 0x68, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x08, 0x73, 0x75, 0x69, 0x74, 0x63, 0x61, // ethoscope.suitca + 0x73, 0x65, 0x08, 0x62, 0x65, 0x6c, 0x6c, 0x5f, 0x61, 0x6c, 0x74, 0x06, 0x63, 0x6f, 0x66, 0x66, // se.bell_alt.coff + 0x65, 0x65, 0x04, 0x66, 0x6f, 0x6f, 0x64, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, // ee.food.file_tex + 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x08, 0x68, // t_alt.building.h + 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0x09, 0x61, 0x6d, 0x62, 0x75, 0x6c, 0x61, 0x6e, 0x63, // ospital.ambulanc + 0x65, 0x06, 0x6d, 0x65, 0x64, 0x6b, 0x69, 0x74, 0x0b, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, // e.medkit.fighter + 0x5f, 0x6a, 0x65, 0x74, 0x04, 0x62, 0x65, 0x65, 0x72, 0x06, 0x68, 0x5f, 0x73, 0x69, 0x67, 0x6e, // _jet.beer.h_sign + 0x04, 0x66, 0x30, 0x66, 0x65, 0x11, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x67, // .f0fe.double_ang + 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x61, // le_left.double_a + 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0f, 0x64, 0x6f, 0x75, 0x62, 0x6c, // ngle_right.doubl + 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x11, 0x64, 0x6f, 0x75, 0x62, 0x6c, // e_angle_up.doubl + 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x0a, 0x61, 0x6e, 0x67, // e_angle_down.ang + 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x0b, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x69, // le_left.angle_ri + 0x67, 0x68, 0x74, 0x08, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x0a, 0x61, 0x6e, 0x67, // ght.angle_up.ang + 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x07, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x06, // le_down.desktop. + 0x6c, 0x61, 0x70, 0x74, 0x6f, 0x70, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x0c, 0x6d, 0x6f, // laptop.tablet.mo + 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, // bile_phone.circl + 0x65, 0x5f, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, // e_blank.quote_le + 0x66, 0x74, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x07, 0x73, // ft.quote_right.s + 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x06, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x05, 0x72, 0x65, // pinner.circle.re + 0x70, 0x6c, 0x79, 0x0a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x5f, 0x61, 0x6c, 0x74, 0x10, 0x66, // ply.github_alt.f + 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x0f, // older_close_alt. + 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x6c, 0x74, 0x0a, // folder_open_alt. + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x74, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, // expand_alt.colla + 0x70, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x05, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x05, 0x66, 0x72, // pse_alt.smile.fr + 0x6f, 0x77, 0x6e, 0x03, 0x6d, 0x65, 0x68, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x08, // own.meh.gamepad. + 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x08, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, // keyboard.flag_al + 0x74, 0x0e, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x72, 0x65, 0x64, // t.flag_checkered + 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x09, 0x72, // .terminal.code.r + 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x68, 0x61, // eply_all.star_ha + 0x6c, 0x66, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, // lf_empty.locatio + 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x04, 0x63, 0x72, 0x6f, 0x70, 0x09, 0x63, 0x6f, 0x64, // n_arrow.crop.cod + 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6b, 0x06, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x04, 0x5f, 0x32, // e_fork.unlink._2 + 0x37, 0x39, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0b, 0x73, // 79.exclamation.s + 0x75, 0x70, 0x65, 0x72, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, // uperscript.subsc + 0x72, 0x69, 0x70, 0x74, 0x04, 0x5f, 0x32, 0x38, 0x33, 0x0c, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, // ript._283.puzzle + 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x0a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, // _piece.microphon + 0x65, 0x0e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, // e.microphone_off + 0x06, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x0e, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, // .shield.calendar + 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x11, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x69, // _empty.fire_exti + 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x06, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x06, // nguisher.rocket. + 0x6d, 0x61, 0x78, 0x63, 0x64, 0x6e, 0x11, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, 0x5f, 0x73, // maxcdn.chevron_s + 0x69, 0x67, 0x6e, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x63, 0x68, 0x65, 0x76, 0x72, 0x6f, 0x6e, // ign_left.chevron + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0f, 0x63, 0x68, 0x65, 0x76, // _sign_right.chev + 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x75, 0x70, 0x11, 0x63, 0x68, 0x65, 0x76, // ron_sign_up.chev + 0x72, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x05, 0x68, 0x74, // ron_sign_down.ht + 0x6d, 0x6c, 0x35, 0x04, 0x63, 0x73, 0x73, 0x33, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x0a, // ml5.css3.anchor. + 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x6c, 0x74, 0x08, 0x62, 0x75, 0x6c, 0x6c, 0x73, // unlock_alt.bulls + 0x65, 0x79, 0x65, 0x13, 0x65, 0x6c, 0x6c, 0x69, 0x70, 0x73, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x72, // eye.ellipsis_hor + 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x11, 0x65, 0x6c, 0x6c, 0x69, 0x70, 0x73, 0x69, 0x73, // izontal.ellipsis + 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x04, 0x5f, 0x33, 0x30, 0x33, 0x09, 0x70, // _vertical._303.p + 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x0e, // lay_sign.ticket. + 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x61, 0x6c, 0x74, 0x0b, 0x63, // minus_sign_alt.c + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, // heck_minus.level + 0x5f, 0x75, 0x70, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x0a, 0x63, // _up.level_down.c + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x09, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x73, // heck_sign.edit_s + 0x69, 0x67, 0x6e, 0x04, 0x5f, 0x33, 0x31, 0x32, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, // ign._312.share_s + 0x69, 0x67, 0x6e, 0x07, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x08, 0x63, 0x6f, 0x6c, 0x6c, // ign.compass.coll + 0x61, 0x70, 0x73, 0x65, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x5f, 0x74, 0x6f, // apse.collapse_to + 0x70, 0x04, 0x5f, 0x33, 0x31, 0x37, 0x03, 0x65, 0x75, 0x72, 0x03, 0x67, 0x62, 0x70, 0x03, 0x75, // p._317.eur.gbp.u + 0x73, 0x64, 0x03, 0x69, 0x6e, 0x72, 0x03, 0x6a, 0x70, 0x79, 0x03, 0x72, 0x75, 0x62, 0x03, 0x6b, // sd.inr.jpy.rub.k + 0x72, 0x77, 0x03, 0x62, 0x74, 0x63, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x09, 0x66, 0x69, 0x6c, 0x65, // rw.btc.file.file + 0x5f, 0x74, 0x65, 0x78, 0x74, 0x10, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x6c, // _text.sort_by_al + 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x04, 0x5f, 0x33, 0x32, 0x39, 0x12, 0x73, 0x6f, 0x72, 0x74, // phabet._329.sort + 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x16, 0x73, // _by_attributes.s + 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, // ort_by_attribute + 0x73, 0x5f, 0x61, 0x6c, 0x74, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x72, // s_alt.sort_by_or + 0x64, 0x65, 0x72, 0x11, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, // der.sort_by_orde + 0x72, 0x5f, 0x61, 0x6c, 0x74, 0x04, 0x5f, 0x33, 0x33, 0x34, 0x04, 0x5f, 0x33, 0x33, 0x35, 0x0c, // r_alt._334._335. + 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x07, 0x79, 0x6f, 0x75, // youtube_sign.you + 0x74, 0x75, 0x62, 0x65, 0x04, 0x78, 0x69, 0x6e, 0x67, 0x09, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x73, // tube.xing.xing_s + 0x69, 0x67, 0x6e, 0x0c, 0x79, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, // ign.youtube_play + 0x07, 0x64, 0x72, 0x6f, 0x70, 0x62, 0x6f, 0x78, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x78, // .dropbox.stackex + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x72, 0x61, 0x6d, // change.instagram + 0x06, 0x66, 0x6c, 0x69, 0x63, 0x6b, 0x72, 0x03, 0x61, 0x64, 0x6e, 0x04, 0x66, 0x31, 0x37, 0x31, // .flickr.adn.f171 + 0x0e, 0x62, 0x69, 0x74, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x06, // .bitbucket_sign. + 0x74, 0x75, 0x6d, 0x62, 0x6c, 0x72, 0x0b, 0x74, 0x75, 0x6d, 0x62, 0x6c, 0x72, 0x5f, 0x73, 0x69, // tumblr.tumblr_si + 0x67, 0x6e, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, // gn.long_arrow_do + 0x77, 0x6e, 0x0d, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, // wn.long_arrow_up + 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74, // .long_arrow_left + 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, // .long_arrow_righ + 0x74, 0x07, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x07, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, // t.windows.androi + 0x64, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x07, 0x64, 0x72, 0x69, 0x62, 0x62, 0x6c, 0x65, 0x05, // d.linux.dribble. + 0x73, 0x6b, 0x79, 0x70, 0x65, 0x0a, 0x66, 0x6f, 0x75, 0x72, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, // skype.foursquare + 0x06, 0x74, 0x72, 0x65, 0x6c, 0x6c, 0x6f, 0x06, 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x04, 0x6d, // .trello.female.m + 0x61, 0x6c, 0x65, 0x06, 0x67, 0x69, 0x74, 0x74, 0x69, 0x70, 0x03, 0x73, 0x75, 0x6e, 0x04, 0x5f, // ale.gittip.sun._ + 0x33, 0x36, 0x36, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x03, 0x62, 0x75, 0x67, 0x02, // 366.archive.bug. + 0x76, 0x6b, 0x05, 0x77, 0x65, 0x69, 0x62, 0x6f, 0x06, 0x72, 0x65, 0x6e, 0x72, 0x65, 0x6e, 0x04, // vk.weibo.renren. + 0x5f, 0x33, 0x37, 0x32, 0x0e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, // _372.stack_excha + 0x6e, 0x67, 0x65, 0x04, 0x5f, 0x33, 0x37, 0x34, 0x15, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x63, // nge._374.arrow_c + 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x04, 0x5f, // ircle_alt_left._ + 0x33, 0x37, 0x36, 0x0e, 0x64, 0x6f, 0x74, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x61, // 376.dot_circle_a + 0x6c, 0x74, 0x04, 0x5f, 0x33, 0x37, 0x38, 0x0c, 0x76, 0x69, 0x6d, 0x65, 0x6f, 0x5f, 0x73, 0x71, // lt._378.vimeo_sq + 0x75, 0x61, 0x72, 0x65, 0x04, 0x5f, 0x33, 0x38, 0x30, 0x0d, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, // uare._380.plus_s + 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x04, 0x5f, 0x33, 0x38, 0x32, 0x04, 0x5f, 0x33, 0x38, // quare_o._382._38 + 0x33, 0x04, 0x5f, 0x33, 0x38, 0x34, 0x04, 0x5f, 0x33, 0x38, 0x35, 0x04, 0x5f, 0x33, 0x38, 0x36, // 3._384._385._386 + 0x04, 0x5f, 0x33, 0x38, 0x37, 0x04, 0x5f, 0x33, 0x38, 0x38, 0x04, 0x5f, 0x33, 0x38, 0x39, 0x07, // ._387._388._389. + 0x75, 0x6e, 0x69, 0x46, 0x31, 0x41, 0x30, 0x04, 0x66, 0x31, 0x61, 0x31, 0x04, 0x5f, 0x33, 0x39, // uniF1A0.f1a1._39 + 0x32, 0x04, 0x5f, 0x33, 0x39, 0x33, 0x04, 0x66, 0x31, 0x61, 0x34, 0x04, 0x5f, 0x33, 0x39, 0x35, // 2._393.f1a4._395 + 0x04, 0x5f, 0x33, 0x39, 0x36, 0x04, 0x5f, 0x33, 0x39, 0x37, 0x04, 0x5f, 0x33, 0x39, 0x38, 0x04, // ._396._397._398. + 0x5f, 0x33, 0x39, 0x39, 0x04, 0x5f, 0x34, 0x30, 0x30, 0x04, 0x66, 0x31, 0x61, 0x62, 0x04, 0x5f, // _399._400.f1ab._ + 0x34, 0x30, 0x32, 0x04, 0x5f, 0x34, 0x30, 0x33, 0x04, 0x5f, 0x34, 0x30, 0x34, 0x07, 0x75, 0x6e, // 402._403._404.un + 0x69, 0x46, 0x31, 0x42, 0x31, 0x04, 0x5f, 0x34, 0x30, 0x36, 0x04, 0x5f, 0x34, 0x30, 0x37, 0x04, // iF1B1._406._407. + 0x5f, 0x34, 0x30, 0x38, 0x04, 0x5f, 0x34, 0x30, 0x39, 0x04, 0x5f, 0x34, 0x31, 0x30, 0x04, 0x5f, // _408._409._410._ + 0x34, 0x31, 0x31, 0x04, 0x5f, 0x34, 0x31, 0x32, 0x04, 0x5f, 0x34, 0x31, 0x33, 0x04, 0x5f, 0x34, // 411._412._413._4 + 0x31, 0x34, 0x04, 0x5f, 0x34, 0x31, 0x35, 0x04, 0x5f, 0x34, 0x31, 0x36, 0x04, 0x5f, 0x34, 0x31, // 14._415._416._41 + 0x37, 0x04, 0x5f, 0x34, 0x31, 0x38, 0x04, 0x5f, 0x34, 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x46, // 7._418._419.uniF + 0x31, 0x43, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x31, 0x43, 0x31, 0x04, 0x5f, 0x34, 0x32, 0x32, // 1C0.uniF1C1._422 + 0x04, 0x5f, 0x34, 0x32, 0x33, 0x04, 0x5f, 0x34, 0x32, 0x34, 0x04, 0x5f, 0x34, 0x32, 0x35, 0x04, // ._423._424._425. + 0x5f, 0x34, 0x32, 0x36, 0x04, 0x5f, 0x34, 0x32, 0x37, 0x04, 0x5f, 0x34, 0x32, 0x38, 0x04, 0x5f, // _426._427._428._ + 0x34, 0x32, 0x39, 0x04, 0x5f, 0x34, 0x33, 0x30, 0x04, 0x5f, 0x34, 0x33, 0x31, 0x04, 0x5f, 0x34, // 429._430._431._4 + 0x33, 0x32, 0x04, 0x5f, 0x34, 0x33, 0x33, 0x04, 0x5f, 0x34, 0x33, 0x34, 0x07, 0x75, 0x6e, 0x69, // 32._433._434.uni + 0x46, 0x31, 0x44, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x31, 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, // F1D0.uniF1D1.uni + 0x46, 0x31, 0x44, 0x32, 0x04, 0x5f, 0x34, 0x33, 0x38, 0x04, 0x5f, 0x34, 0x33, 0x39, 0x07, 0x75, // F1D2._438._439.u + 0x6e, 0x69, 0x46, 0x31, 0x44, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x31, 0x44, 0x36, 0x07, 0x75, // niF1D5.uniF1D6.u + 0x6e, 0x69, 0x46, 0x31, 0x44, 0x37, 0x04, 0x5f, 0x34, 0x34, 0x33, 0x04, 0x5f, 0x34, 0x34, 0x34, // niF1D7._443._444 + 0x04, 0x5f, 0x34, 0x34, 0x35, 0x04, 0x5f, 0x34, 0x34, 0x36, 0x04, 0x5f, 0x34, 0x34, 0x37, 0x04, // ._445._446._447. + 0x5f, 0x34, 0x34, 0x38, 0x04, 0x5f, 0x34, 0x34, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x31, 0x45, // _448._449.uniF1E + 0x30, 0x04, 0x5f, 0x34, 0x35, 0x31, 0x04, 0x5f, 0x34, 0x35, 0x32, 0x04, 0x5f, 0x34, 0x35, 0x33, // 0._451._452._453 + 0x04, 0x5f, 0x34, 0x35, 0x34, 0x04, 0x5f, 0x34, 0x35, 0x35, 0x04, 0x5f, 0x34, 0x35, 0x36, 0x04, // ._454._455._456. + 0x5f, 0x34, 0x35, 0x37, 0x04, 0x5f, 0x34, 0x35, 0x38, 0x04, 0x5f, 0x34, 0x35, 0x39, 0x04, 0x5f, // _457._458._459._ + 0x34, 0x36, 0x30, 0x04, 0x5f, 0x34, 0x36, 0x31, 0x04, 0x5f, 0x34, 0x36, 0x32, 0x04, 0x5f, 0x34, // 460._461._462._4 + 0x36, 0x33, 0x04, 0x5f, 0x34, 0x36, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x31, 0x46, 0x30, 0x04, // 63._464.uniF1F0. + 0x5f, 0x34, 0x36, 0x36, 0x04, 0x5f, 0x34, 0x36, 0x37, 0x04, 0x66, 0x31, 0x66, 0x33, 0x04, 0x5f, // _466._467.f1f3._ + 0x34, 0x36, 0x39, 0x04, 0x5f, 0x34, 0x37, 0x30, 0x04, 0x5f, 0x34, 0x37, 0x31, 0x04, 0x5f, 0x34, // 469._470._471._4 + 0x37, 0x32, 0x04, 0x5f, 0x34, 0x37, 0x33, 0x04, 0x5f, 0x34, 0x37, 0x34, 0x04, 0x5f, 0x34, 0x37, // 72._473._474._47 + 0x35, 0x04, 0x5f, 0x34, 0x37, 0x36, 0x04, 0x66, 0x31, 0x66, 0x63, 0x04, 0x5f, 0x34, 0x37, 0x38, // 5._476.f1fc._478 + 0x04, 0x5f, 0x34, 0x37, 0x39, 0x04, 0x5f, 0x34, 0x38, 0x30, 0x04, 0x5f, 0x34, 0x38, 0x31, 0x04, // ._479._480._481. + 0x5f, 0x34, 0x38, 0x32, 0x04, 0x5f, 0x34, 0x38, 0x33, 0x04, 0x5f, 0x34, 0x38, 0x34, 0x04, 0x5f, // _482._483._484._ + 0x34, 0x38, 0x35, 0x04, 0x5f, 0x34, 0x38, 0x36, 0x04, 0x5f, 0x34, 0x38, 0x37, 0x04, 0x5f, 0x34, // 485._486._487._4 + 0x38, 0x38, 0x04, 0x5f, 0x34, 0x38, 0x39, 0x04, 0x5f, 0x34, 0x39, 0x30, 0x04, 0x5f, 0x34, 0x39, // 88._489._490._49 + 0x31, 0x04, 0x5f, 0x34, 0x39, 0x32, 0x04, 0x5f, 0x34, 0x39, 0x33, 0x04, 0x5f, 0x34, 0x39, 0x34, // 1._492._493._494 + 0x04, 0x66, 0x32, 0x31, 0x30, 0x04, 0x5f, 0x34, 0x39, 0x36, 0x04, 0x66, 0x32, 0x31, 0x32, 0x04, // .f210._496.f212. + 0x5f, 0x34, 0x39, 0x38, 0x04, 0x5f, 0x34, 0x39, 0x39, 0x04, 0x5f, 0x35, 0x30, 0x30, 0x04, 0x5f, // _498._499._500._ + 0x35, 0x30, 0x31, 0x04, 0x5f, 0x35, 0x30, 0x32, 0x04, 0x5f, 0x35, 0x30, 0x33, 0x04, 0x5f, 0x35, // 501._502._503._5 + 0x30, 0x34, 0x04, 0x5f, 0x35, 0x30, 0x35, 0x04, 0x5f, 0x35, 0x30, 0x36, 0x04, 0x5f, 0x35, 0x30, // 04._505._506._50 + 0x37, 0x04, 0x5f, 0x35, 0x30, 0x38, 0x04, 0x5f, 0x35, 0x30, 0x39, 0x05, 0x76, 0x65, 0x6e, 0x75, // 7._508._509.venu + 0x73, 0x04, 0x5f, 0x35, 0x31, 0x31, 0x04, 0x5f, 0x35, 0x31, 0x32, 0x04, 0x5f, 0x35, 0x31, 0x33, // s._511._512._513 + 0x04, 0x5f, 0x35, 0x31, 0x34, 0x04, 0x5f, 0x35, 0x31, 0x35, 0x04, 0x5f, 0x35, 0x31, 0x36, 0x04, // ._514._515._516. + 0x5f, 0x35, 0x31, 0x37, 0x04, 0x5f, 0x35, 0x31, 0x38, 0x04, 0x5f, 0x35, 0x31, 0x39, 0x04, 0x5f, // _517._518._519._ + 0x35, 0x32, 0x30, 0x04, 0x5f, 0x35, 0x32, 0x31, 0x04, 0x5f, 0x35, 0x32, 0x32, 0x04, 0x5f, 0x35, // 520._521._522._5 + 0x32, 0x33, 0x04, 0x5f, 0x35, 0x32, 0x34, 0x04, 0x5f, 0x35, 0x32, 0x35, 0x04, 0x5f, 0x35, 0x32, // 23._524._525._52 + 0x36, 0x04, 0x5f, 0x35, 0x32, 0x37, 0x04, 0x5f, 0x35, 0x32, 0x38, 0x04, 0x5f, 0x35, 0x32, 0x39, // 6._527._528._529 + 0x04, 0x5f, 0x35, 0x33, 0x30, 0x04, 0x5f, 0x35, 0x33, 0x31, 0x04, 0x5f, 0x35, 0x33, 0x32, 0x04, // ._530._531._532. + 0x5f, 0x35, 0x33, 0x33, 0x04, 0x5f, 0x35, 0x33, 0x34, 0x04, 0x5f, 0x35, 0x33, 0x35, 0x04, 0x5f, // _533._534._535._ + 0x35, 0x33, 0x36, 0x04, 0x5f, 0x35, 0x33, 0x37, 0x04, 0x5f, 0x35, 0x33, 0x38, 0x04, 0x5f, 0x35, // 536._537._538._5 + 0x33, 0x39, 0x04, 0x5f, 0x35, 0x34, 0x30, 0x04, 0x5f, 0x35, 0x34, 0x31, 0x04, 0x5f, 0x35, 0x34, // 39._540._541._54 + 0x32, 0x04, 0x5f, 0x35, 0x34, 0x33, 0x04, 0x5f, 0x35, 0x34, 0x34, 0x04, 0x5f, 0x35, 0x34, 0x35, // 2._543._544._545 + 0x04, 0x5f, 0x35, 0x34, 0x36, 0x04, 0x5f, 0x35, 0x34, 0x37, 0x04, 0x5f, 0x35, 0x34, 0x38, 0x04, // ._546._547._548. + 0x5f, 0x35, 0x34, 0x39, 0x04, 0x5f, 0x35, 0x35, 0x30, 0x04, 0x5f, 0x35, 0x35, 0x31, 0x04, 0x5f, // _549._550._551._ + 0x35, 0x35, 0x32, 0x04, 0x5f, 0x35, 0x35, 0x33, 0x04, 0x5f, 0x35, 0x35, 0x34, 0x04, 0x5f, 0x35, // 552._553._554._5 + 0x35, 0x35, 0x04, 0x5f, 0x35, 0x35, 0x36, 0x04, 0x5f, 0x35, 0x35, 0x37, 0x04, 0x5f, 0x35, 0x35, // 55._556._557._55 + 0x38, 0x04, 0x5f, 0x35, 0x35, 0x39, 0x04, 0x5f, 0x35, 0x36, 0x30, 0x04, 0x5f, 0x35, 0x36, 0x31, // 8._559._560._561 + 0x04, 0x5f, 0x35, 0x36, 0x32, 0x04, 0x5f, 0x35, 0x36, 0x33, 0x04, 0x5f, 0x35, 0x36, 0x34, 0x04, // ._562._563._564. + 0x5f, 0x35, 0x36, 0x35, 0x04, 0x5f, 0x35, 0x36, 0x36, 0x04, 0x5f, 0x35, 0x36, 0x37, 0x04, 0x5f, // _565._566._567._ + 0x35, 0x36, 0x38, 0x04, 0x5f, 0x35, 0x36, 0x39, 0x04, 0x66, 0x32, 0x36, 0x30, 0x04, 0x66, 0x32, // 568._569.f260.f2 + 0x36, 0x31, 0x04, 0x5f, 0x35, 0x37, 0x32, 0x04, 0x66, 0x32, 0x36, 0x33, 0x04, 0x5f, 0x35, 0x37, // 61._572.f263._57 + 0x34, 0x04, 0x5f, 0x35, 0x37, 0x35, 0x04, 0x5f, 0x35, 0x37, 0x36, 0x04, 0x5f, 0x35, 0x37, 0x37, // 4._575._576._577 + 0x04, 0x5f, 0x35, 0x37, 0x38, 0x04, 0x5f, 0x35, 0x37, 0x39, 0x04, 0x5f, 0x35, 0x38, 0x30, 0x04, // ._578._579._580. + 0x5f, 0x35, 0x38, 0x31, 0x04, 0x5f, 0x35, 0x38, 0x32, 0x04, 0x5f, 0x35, 0x38, 0x33, 0x04, 0x5f, // _581._582._583._ + 0x35, 0x38, 0x34, 0x04, 0x5f, 0x35, 0x38, 0x35, 0x04, 0x5f, 0x35, 0x38, 0x36, 0x04, 0x5f, 0x35, // 584._585._586._5 + 0x38, 0x37, 0x04, 0x5f, 0x35, 0x38, 0x38, 0x04, 0x5f, 0x35, 0x38, 0x39, 0x04, 0x5f, 0x35, 0x39, // 87._588._589._59 + 0x30, 0x04, 0x5f, 0x35, 0x39, 0x31, 0x04, 0x5f, 0x35, 0x39, 0x32, 0x04, 0x5f, 0x35, 0x39, 0x33, // 0._591._592._593 + 0x04, 0x5f, 0x35, 0x39, 0x34, 0x04, 0x5f, 0x35, 0x39, 0x35, 0x04, 0x5f, 0x35, 0x39, 0x36, 0x04, // ._594._595._596. + 0x5f, 0x35, 0x39, 0x37, 0x04, 0x5f, 0x35, 0x39, 0x38, 0x04, 0x66, 0x32, 0x37, 0x65, 0x07, 0x75, // _597._598.f27e.u + 0x6e, 0x69, 0x46, 0x32, 0x38, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x38, 0x31, 0x04, 0x5f, // niF280.uniF281._ + 0x36, 0x30, 0x32, 0x04, 0x5f, 0x36, 0x30, 0x33, 0x04, 0x5f, 0x36, 0x30, 0x34, 0x07, 0x75, 0x6e, // 602._603._604.un + 0x69, 0x46, 0x32, 0x38, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x38, 0x36, 0x04, 0x5f, 0x36, // iF285.uniF286._6 + 0x30, 0x37, 0x04, 0x5f, 0x36, 0x30, 0x38, 0x04, 0x5f, 0x36, 0x30, 0x39, 0x04, 0x5f, 0x36, 0x31, // 07._608._609._61 + 0x30, 0x04, 0x5f, 0x36, 0x31, 0x31, 0x04, 0x5f, 0x36, 0x31, 0x32, 0x04, 0x5f, 0x36, 0x31, 0x33, // 0._611._612._613 + 0x04, 0x5f, 0x36, 0x31, 0x34, 0x04, 0x5f, 0x36, 0x31, 0x35, 0x04, 0x5f, 0x36, 0x31, 0x36, 0x04, // ._614._615._616. + 0x5f, 0x36, 0x31, 0x37, 0x04, 0x5f, 0x36, 0x31, 0x38, 0x04, 0x5f, 0x36, 0x31, 0x39, 0x04, 0x5f, // _617._618._619._ + 0x36, 0x32, 0x30, 0x04, 0x5f, 0x36, 0x32, 0x31, 0x04, 0x5f, 0x36, 0x32, 0x32, 0x04, 0x5f, 0x36, // 620._621._622._6 + 0x32, 0x33, 0x04, 0x5f, 0x36, 0x32, 0x34, 0x04, 0x5f, 0x36, 0x32, 0x35, 0x04, 0x5f, 0x36, 0x32, // 23._624._625._62 + 0x36, 0x04, 0x5f, 0x36, 0x32, 0x37, 0x04, 0x5f, 0x36, 0x32, 0x38, 0x04, 0x5f, 0x36, 0x32, 0x39, // 6._627._628._629 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x31, // .uniF2A0.uniF2A1 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x33, // .uniF2A2.uniF2A3 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x35, // .uniF2A4.uniF2A5 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x37, // .uniF2A6.uniF2A7 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x39, // .uniF2A8.uniF2A9 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x42, // .uniF2AA.uniF2AB + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x44, // .uniF2AC.uniF2AD + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x41, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x30, // .uniF2AE.uniF2B0 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x32, // .uniF2B1.uniF2B2 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x34, // .uniF2B3.uniF2B4 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x36, // .uniF2B5.uniF2B6 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x38, // .uniF2B7.uniF2B8 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x41, // .uniF2B9.uniF2BA + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x43, // .uniF2BB.uniF2BC + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x42, 0x45, // .uniF2BD.uniF2BE + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x31, // .uniF2C0.uniF2C1 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x33, // .uniF2C2.uniF2C3 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x35, // .uniF2C4.uniF2C5 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x37, // .uniF2C6.uniF2C7 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x39, // .uniF2C8.uniF2C9 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x42, // .uniF2CA.uniF2CB + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x44, // .uniF2CC.uniF2CD + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x43, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x30, // .uniF2CE.uniF2D0 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x31, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x32, // .uniF2D1.uniF2D2 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x34, // .uniF2D3.uniF2D4 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x36, // .uniF2D5.uniF2D6 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x37, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x38, // .uniF2D7.uniF2D8 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x41, // .uniF2D9.uniF2DA + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x43, // .uniF2DB.uniF2DC + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x44, 0x45, // .uniF2DD.uniF2DE + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x31, // .uniF2E0.uniF2E1 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x33, // .uniF2E2.uniF2E3 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x34, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x35, // .uniF2E4.uniF2E5 + 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x37, // .uniF2E6.uniF2E7 + 0x04, 0x5f, 0x36, 0x39, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x39, 0x07, 0x75, 0x6e, // ._698.uniF2E9.un + 0x69, 0x46, 0x32, 0x45, 0x41, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x42, 0x07, 0x75, 0x6e, // iF2EA.uniF2EB.un + 0x69, 0x46, 0x32, 0x45, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x46, 0x32, 0x45, 0x44, 0x07, 0x75, 0x6e, // iF2EC.uniF2ED.un + 0x69, 0x46, 0x32, 0x45, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x02, // iF2EE........... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, // ................ + 0x00, 0x01, 0x00, 0x01, 0x02, 0xc2, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x3d, 0xa2, 0xcf, 0x00, 0x00, 0x00, 0x00, // .........=...... + 0xcb, 0x4f, 0x3c, 0x30, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x31, 0x68, 0xb9, // .O<0.....1h. }; diff --git a/3rdparty/bgfx/examples/common/imgui/imgui.cpp b/3rdparty/bgfx/examples/common/imgui/imgui.cpp index 107ab522411..235a9148990 100644 --- a/3rdparty/bgfx/examples/common/imgui/imgui.cpp +++ b/3rdparty/bgfx/examples/common/imgui/imgui.cpp @@ -812,7 +812,7 @@ struct Imgui m_surfaceWidth = _surfaceWidth / 2; float proj[16]; - bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f); + bx::mtxProj(proj, hmd->eye[0].fov, 0.1f, 100.0f, bgfx::getCaps()->homogeneousDepth); static float time = 0.0f; time += 0.05f; diff --git a/3rdparty/bgfx/examples/common/imgui/ocornut_imgui.cpp b/3rdparty/bgfx/examples/common/imgui/ocornut_imgui.cpp index 315ee0c9bba..f518b656bd3 100644 --- a/3rdparty/bgfx/examples/common/imgui/ocornut_imgui.cpp +++ b/3rdparty/bgfx/examples/common/imgui/ocornut_imgui.cpp @@ -97,10 +97,10 @@ struct OcornutImguiContext bgfx::allocTransientIndexBuffer(&tib, numIndices); ImDrawVert* verts = (ImDrawVert*)tvb.data; - memcpy(verts, drawList->VtxBuffer.begin(), numVertices * sizeof(ImDrawVert) ); + bx::memCopy(verts, drawList->VtxBuffer.begin(), numVertices * sizeof(ImDrawVert) ); ImDrawIdx* indices = (ImDrawIdx*)tib.data; - memcpy(indices, drawList->IdxBuffer.begin(), numIndices * sizeof(ImDrawIdx) ); + bx::memCopy(indices, drawList->IdxBuffer.begin(), numIndices * sizeof(ImDrawIdx) ); uint32_t offset = 0; for (const ImDrawCmd* cmd = drawList->CmdBuffer.begin(), *cmdEnd = drawList->CmdBuffer.end(); cmd != cmdEnd; ++cmd) @@ -378,8 +378,9 @@ struct OcornutImguiContext #endif // defined(SCI_NAMESPACE) ImGui::NewFrame(); - ImGuizmo::BeginFrame(); ImGui::PushStyleVar(ImGuiStyleVar_ViewId, (float)_viewId); + + ImGuizmo::BeginFrame(); } void endFrame() diff --git a/3rdparty/bgfx/examples/common/imgui/vs_imgui_color.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_imgui_color.bin.h index 5cd89293c57..511d8423d2d 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_imgui_color.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_imgui_color.bin.h @@ -22,6 +22,183 @@ static const uint8_t vs_imgui_color_glsl[324] = 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, // or0 = a_color0;. 0x7d, 0x0a, 0x0a, 0x00, // }... }; +static const uint8_t vs_imgui_color_spv[2782] = +{ + 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH....I...u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0xc0, 0x0a, 0x03, 0x02, 0x23, // wProj..........# + 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, // .........Ta..... + 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, // .GLSL.std.450... + 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, // .........main... + 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, // ................ + 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, // .........main... + 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // .....8...Output. + 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, // .....8.......gl_ + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, // Position.....8.. + 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, // .....v_color0... + 0x00, 0x05, 0x00, 0x06, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, // .........@main(v + 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xf5, 0x48, 0x00, // f4;vf3;.......H. + 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, // .a_color0....... + 0x00, 0x2c, 0x47, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // .,G..a_position. + 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, // ........._varyin + 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x24, 0x47, 0x6c, // g_.......;...$Gl + 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // obal.....;...... + 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, // .u_viewRect..... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, // .;.......u_viewT + 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // exel.....;...... + 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, // .u_view......;.. + 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, // .....u_invView.. + 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, // .....;.......u_p + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, // roj......;...... + 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, // .u_invProj...... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // .;.......u_viewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, // roj......;...... + 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // .u_invViewProj.. + 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, // .....;.......u_m + 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, // odel.....;...... + 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, // .u_modelView.... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .;.......u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, // ViewProj.....;.. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, // .....u_alphaRef4 + 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, // .....B.......... + 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, // ..A..a_color0... + 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // .........a_color + 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, // 0........,?..a_p + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, // osition......... + 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, // .a_position..... + 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, // .....flattenTemp + 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, // ......U..param.. + 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, // .........param.. + 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, // .........@entryP + 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, // ointOutput_gl_Po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xf9, 0x03, 0x00, // sition.......... + 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf9, 0x03, 0x00, // .Output......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, // .....v_color0... + 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, // .........@entryP + 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // ointOutput...G.. + 0x00, 0x94, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .........@...H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...;.......#.. + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#... ...H...;.. + 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, // .;.......#...`.. + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#... ...H...;.. + 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, // .;.......#...`.. + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, // .;.......#... .. + 0x00, 0x47, 0x00, 0x03, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .G...;.......G.. + 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .B...".......G.. + 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, // ................ + 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, // .....!.......... + 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ......... ...... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ................ + 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, // ................ + 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, // .8...........!.. + 0x00, 0xc6, 0x07, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, // .....8.......... + 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x38, 0x04, 0x00, // . ...........8.. + 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ......... ...... + 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, // .+.............. + 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, // .+.............. + 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, // ?+.............. + 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, 0x00, // .,.............. + 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // .............+.. + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ................ + 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, // ................ + 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, // .e.............. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // ..... .......+.. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, // .....j... ...... + 0x00, 0x94, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, // .....e...j...... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .;...........e.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .e...e...e...e.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x94, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .e.......e...e.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb8, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, // ..... .......... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb8, 0x08, 0x00, 0x00, 0x42, 0x13, 0x00, // .;...;.......B.. + 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x0a, 0x00, // .....+.......... + 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, // ..... .......... + 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, // .e... .......... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, // .....;.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, // ..... .......... + 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, // .....;.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, // ..... .......... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, // .....;.......... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xf9, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, // ................ + 0x00, 0x20, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xf9, 0x03, 0x00, // . ...v.......... + 0x00, 0x3b, 0x00, 0x04, 0x00, 0x76, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, // .;...v.......... + 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, // .6.............. + 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, // .........Sa..;.. + 0x00, 0xb5, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, // .............;.. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, // ......U......;.. + 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, // .............=.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, // ......A......=.. + 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, // .....,?......>.. + 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, // ..U...A..>...... + 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, // .,?..9...8...I&. + 0x00, 0x0e, 0x0c, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, // ......U......>.. + 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, // .....I&..A...... + 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, // .T4..........=.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, // .........T4..>.. + 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, // .........A...... + 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, // .'A..........=.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, // .........'A..A.. + 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, // ................ + 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, // .>.............. + 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x38, 0x04, 0x00, 0x00, 0x0e, 0x0c, 0x00, // .8...6...8...... + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x07, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, // .........7...... + 0x00, 0xf5, 0x48, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2c, 0x47, 0x00, // ..H..7.......,G. + 0x00, 0xf8, 0x00, 0x02, 0x00, 0x51, 0x1d, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, // .....Q...;...... + 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, // .........A...... + 0x00, 0x50, 0x24, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, // .P$..........>.. + 0x00, 0x50, 0x24, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, // .P$......=...... + 0x00, 0x81, 0x29, 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, // ..)..,G..O...... + 0x00, 0x2f, 0x40, 0x00, 0x00, 0x81, 0x29, 0x00, 0x00, 0x81, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, // ./@...)...)..... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6e, 0x59, 0x00, // .....Q.......nY. + 0x00, 0x2f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, // ./@......Q...... + 0x00, 0x4f, 0x5d, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, // .O]../@......P.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0x6e, 0x59, 0x00, 0x00, 0x4f, 0x5d, 0x00, // ......B..nY..O]. + 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, // .........A...... + 0x00, 0x61, 0x23, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, // .a#..B.......=.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x61, 0x23, 0x00, 0x00, 0x90, 0x00, 0x05, // .e...+4..a#..... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0x2b, 0x34, 0x00, // ......2...B..+4. + 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x97, 0x2f, 0x00, 0x00, 0x0f, 0x12, 0x00, // .A......../..... + 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x97, 0x2f, 0x00, 0x00, 0xd7, 0x32, 0x00, // .....>..../...2. + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8e, 0x31, 0x00, 0x00, 0xf5, 0x48, 0x00, // .=........1...H. + 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x0f, 0x12, 0x00, // .A........L..... + 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9e, 0x4c, 0x00, 0x00, 0x8e, 0x31, 0x00, // .....>....L...1. + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x0f, 0x12, 0x00, // .=...8...0...... + 0x00, 0xfe, 0x00, 0x02, 0x00, 0x30, 0x19, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .....0...8.... +}; static const uint8_t vs_imgui_color_dx9[282] = { 0x56, 0x53, 0x48, 0x04, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH....I...u_vie diff --git a/3rdparty/bgfx/examples/common/imgui/vs_imgui_cubemap.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_imgui_cubemap.bin.h index 55a631bc726..c381c7babca 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_imgui_cubemap.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_imgui_cubemap.bin.h @@ -22,6 +22,185 @@ static const uint8_t vs_imgui_cubemap_glsl[329] = 0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, // rmal = a_normal. 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // xyz;.}... }; +static const uint8_t vs_imgui_cubemap_spv[2807] = +{ + 0x56, 0x53, 0x48, 0x04, 0xe3, 0xc2, 0x5c, 0x65, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....e...u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0xd4, 0x0a, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, // ....#.........Ta + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x46, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0xd8, 0x0c, // in....F......... + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x29, 0x04, 0x00, 0x00, 0x4f, 0x75, // in........)...Ou + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x29, 0x04, 0x00, 0x00, 0x00, 0x00, // tput......)..... + 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, // ..gl_Position... + 0x06, 0x00, 0x29, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, // ..).......v_norm + 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0x40, 0x6d, // al............@m + 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x00, 0x00, 0x05, 0x00, // ain(vf4;vf3;.... + 0x05, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, // ...H..a_normal.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......,G..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, // tion.........._v + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x99, 0x02, // arying_......... + 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..$Global....... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, // ......u_viewRect + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, // viewTexel....... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, // ......u_view.... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, // iew............. + 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_proj........ + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, // ......u_invProj. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, // viewProj........ + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, // ......u_invViewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x99, 0x02, // ..u_model....... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // ......u_modelVie + 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, // w.............u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, // modelViewProj... + 0x06, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, // ..........u_alph + 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, // aRef4.....B..... + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, // .......A..a_norm + 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x46, 0x14, 0x00, 0x00, 0x61, 0x5f, // al........F...a_ + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, // normal........,? + 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, // ..a_position.... + 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ......a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, // ..........flatte + 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, // nTemp......U..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, // ram...........pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, // ram...........@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, // ntryPointOutput_ + 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, // gl_Position..... + 0x04, 0x00, 0xef, 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, // ......Output.... + 0x06, 0x00, 0xef, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, // ..........v_norm + 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, // al............@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // ntryPointOutput. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, // ..G...7.......@. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x01, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..#.......H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x03, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x05, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x07, 0x00, // ..`...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x09, 0x00, // ......H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, // ..........H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x99, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x99, 0x02, 0x00, 0x00, 0x02, 0x00, // .. ...G......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...B..."..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x46, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...F......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, // ..........!..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x29, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, // ......)......... + 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xa8, 0x07, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x9a, 0x02, // ..!.......)..... + 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xa6, 0x06, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, // ..)........... . + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, // ......+......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2c, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x72, 0x02, // .....?,.......r. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, // ................ + 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, // ..e............. + 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, // ...... .......+. + 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, // ......j... ..... + 0x04, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, // ..7...e...j..... + 0x0e, 0x00, 0x99, 0x02, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...7...e...e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x16, 0x05, 0x00, 0x00, 0x02, 0x00, // ...... ......... + 0x00, 0x00, 0x99, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x16, 0x05, 0x00, 0x00, 0x42, 0x13, // ......;.......B. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, // ......+.......). + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, // ...... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, // ..e... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x46, 0x14, // ......;.......F. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, // ...... ......... + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, // ......;......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, // ......;......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xef, 0x03, 0x00, 0x00, 0x18, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x6c, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xef, 0x03, // .. ...l......... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x6c, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;...l......... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0xa6, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x46, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A..F...=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3e, 0x00, // ......,?......>. + 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, // ...U...A..>..... + 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x29, 0x04, 0x00, 0x00, 0x49, 0x26, // ..,?..9...)...I& + 0x00, 0x00, 0x0e, 0x0c, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // .......U......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x97, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // ................ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0xfd, 0x00, // ..>............. + 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x29, 0x04, 0x00, 0x00, 0x0e, 0x0c, // ..8...6...)..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x07, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, // ..........7..... + 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2c, 0x47, // ...H..7.......,G + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x51, 0x1d, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xa6, 0x06, // ......Q...;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, // ..........A..... + 0x00, 0x00, 0x50, 0x24, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..P$..........>. + 0x03, 0x00, 0x50, 0x24, 0x00, 0x00, 0x72, 0x02, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, // ..P$..r...=..... + 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x2c, 0x47, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..'(..,G..Q..... + 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ...J..'(......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x01, 0x00, // ......|W..'(.... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1d, 0x19, 0x00, 0x00, 0x27, 0x28, // ..Q...........'( + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf5, 0x42, // ......P........B + 0x00, 0x00, 0xac, 0x4a, 0x00, 0x00, 0x7c, 0x57, 0x00, 0x00, 0x1d, 0x19, 0x00, 0x00, 0x8a, 0x00, // ...J..|W........ + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x61, 0x23, 0x00, 0x00, 0x42, 0x13, // ..A.......a#..B. + 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x2b, 0x34, // ..)...=...e...+4 + 0x00, 0x00, 0x61, 0x23, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xd7, 0x32, // ..a#...........2 + 0x00, 0x00, 0xf5, 0x42, 0x00, 0x00, 0x2b, 0x34, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ...B..+4..A..... + 0x00, 0x00, 0x97, 0x2f, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, // .../..........>. + 0x03, 0x00, 0x97, 0x2f, 0x00, 0x00, 0xd7, 0x32, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // .../...2..=..... + 0x00, 0x00, 0x51, 0x28, 0x00, 0x00, 0xf5, 0x48, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, 0x18, 0x00, // ..Q(...H..O..... + 0x00, 0x00, 0x96, 0x49, 0x00, 0x00, 0x51, 0x28, 0x00, 0x00, 0x51, 0x28, 0x00, 0x00, 0x00, 0x00, // ...I..Q(..Q(.... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x95, 0x02, // ..........A..... + 0x00, 0x00, 0x73, 0x5b, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..s[..........>. + 0x03, 0x00, 0x73, 0x5b, 0x00, 0x00, 0x96, 0x49, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x29, 0x04, // ..s[...I..=...). + 0x00, 0x00, 0x30, 0x19, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x30, 0x19, // ..0...........0. + 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ..8.... +}; static const uint8_t vs_imgui_cubemap_dx9[311] = { 0x56, 0x53, 0x48, 0x04, 0xe3, 0xc2, 0x5c, 0x65, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH....e...u_mod diff --git a/3rdparty/bgfx/examples/common/imgui/vs_imgui_image.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_imgui_image.bin.h index fd1e81c0196..67418cd0775 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_imgui_image.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_imgui_image.bin.h @@ -22,6 +22,185 @@ static const uint8_t vs_imgui_image_glsl[336] = 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3d, 0x20, 0x61, // v_texcoord0 = a 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _texcoord0;.}... }; +static const uint8_t vs_imgui_image_spv[2806] = +{ + 0x56, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH.o.><...u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0xd8, 0x0a, 0x03, 0x02, 0x23, // wProj..........# + 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x37, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, // .........7b..... + 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, // .GLSL.std.450... + 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, // .........main... + 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, // ................ + 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, // .........main... + 0x00, 0x05, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // .........Output. + 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, // .............gl_ + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, // Position........ + 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // .....v_texcoord0 + 0x00, 0x05, 0x00, 0x06, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, // .........@main(v + 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa2, 0x3c, 0x00, // f3;vf2;.......<. + 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, // .a_position..... + 0x00, 0xc4, 0x1d, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // .....a_texcoord0 + 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, // ........._varyin + 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x24, 0x47, 0x6c, // g_.......;...$Gl + 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // obal.....;...... + 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, // .u_viewRect..... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, // .;.......u_viewT + 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // exel.....;...... + 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, // .u_view......;.. + 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, // .....u_invView.. + 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, // .....;.......u_p + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, // roj......;...... + 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, // .u_invProj...... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // .;.......u_viewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, // roj......;...... + 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // .u_invViewProj.. + 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, // .....;.......u_m + 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, // odel.....;...... + 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, // .u_modelView.... + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .;.......u_model + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, // ViewProj.....;.. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, // .....u_alphaRef4 + 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, // .....B.......... + 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // ..A..a_position. + 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, // .........a_posit + 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x74, // ion......,?..a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, 0x00, // excoord0........ + 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, // .a_texcoord0.... + 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, // .....flattenTemp + 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, // ......U..param.. + 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, // .........param.. + 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, // .........@entryP + 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, // ointOutput_gl_Po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xe5, 0x03, 0x00, // sition.......... + 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xe5, 0x03, 0x00, // .Output......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, // .....v_texcoord0 + 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, // .........@entryP + 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // ointOutput...G.. + 0x00, 0x94, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .........@...H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...;.......#.. + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#... ...H...;.. + 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, // .;.......#...`.. + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#... ...H...;.. + 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, // .;.......#...`.. + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .;...........H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, // .;.......#...... + 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .H...;.......... + 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, // .....H...;...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, // .....H...;...... + 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, // .#.......H...;.. + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .............H.. + 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, // .;.......#... .. + 0x00, 0x47, 0x00, 0x03, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .G...;.......G.. + 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .B...".......G.. + 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, // .............G.. + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, // ................ + 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, // .....!.......... + 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ......... ...... + 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ................ + 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, // ................ + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, // ................ + 0x00, 0x1a, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, // .............!.. + 0x00, 0x67, 0x07, 0x00, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, // .g.............. + 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1a, 0x04, 0x00, // . .............. + 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ......... ...... + 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, // .+.............. + 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, // .+.............. + 0x00, 0x2c, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x0c, 0x0a, 0x00, // .,.............. + 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, // .....+.......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, // .....+.......... + 0x00, 0x00, 0x00, 0x80, 0x3f, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, // ....?....e...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // ............. .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, // .....+.......j.. + 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x94, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, // . ...........e.. + 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x1d, 0x00, 0x00, // .j.......;...... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .....e...e...e.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x94, 0x02, 0x00, // .e...e...e...... + 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // .e...e....... .. + 0x00, 0xb8, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x3b, 0x00, 0x04, // .........;...;.. + 0x00, 0xb8, 0x08, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // .....B.......+.. + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // .........e... .. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, // .............;.. + 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, // .............;.. + 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0x9b, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, // .............;.. + 0x00, 0x9b, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x03, // ................ + 0x00, 0xe5, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x62, 0x06, 0x00, // ......... ...b.. + 0x00, 0x03, 0x00, 0x00, 0x00, 0xe5, 0x03, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x62, 0x06, 0x00, // .........;...b.. + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x92, 0x02, 0x00, // ......... ...... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, // .........6...... + 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, // ................ + 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, // .Sa..;.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, // .....;........U. + 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, // .....;.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, // .....=........A. + 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, // .....=.......,?. + 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, // .....>....U...A. + 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, // .>.......,?..9.. + 0x00, 0x1a, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0xab, 0x55, 0x00, // .....I&.......U. + 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, // .....>.......I&. + 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, // .A.......T4..... + 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, // .....=.......... + 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, // .T4..>.......... + 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, // .A.......'A..... + 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, // .....=.......... + 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, // .'A..A.......... + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, // .........>...... + 0x00, 0xdf, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, // .........8...6.. + 0x00, 0x1a, 0x04, 0x00, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x07, 0x00, // .............g.. + 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xa2, 0x3c, 0x00, 0x00, 0x37, 0x00, 0x03, // .7........<..7.. + 0x00, 0x90, 0x02, 0x00, 0x00, 0xc4, 0x1d, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x5f, 0x57, 0x00, // ............._W. + 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, // .;.............. + 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x18, 0x2d, 0x00, 0x00, 0x0f, 0x12, 0x00, // .A........-..... + 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x2d, 0x00, 0x00, 0x1f, 0x07, 0x00, // .....>....-..... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x19, 0x00, 0x00, 0xa2, 0x3c, 0x00, // .=............<. + 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0xbe, 0x2f, 0x00, 0x00, 0x10, 0x19, 0x00, // .O......../..... + 0x00, 0x10, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, // .............Q.. + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x36, 0x62, 0x00, 0x00, 0xbe, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, // .....6b.../..... + 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x98, 0x1b, 0x00, 0x00, 0xbe, 0x2f, 0x00, // .Q............/. + 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, // .....P........2. + 0x00, 0x36, 0x62, 0x00, 0x00, 0x98, 0x1b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, // .6b............. + 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, // .A.......),..B.. + 0x00, 0x1d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, // .....=...e....<. + 0x00, 0x29, 0x2c, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, // .),...........;. + 0x00, 0x84, 0x32, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, // ..2...<..A...... + 0x00, 0x5f, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, // ._8..........>.. + 0x00, 0x5f, 0x38, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, // ._8...;..=...... + 0x00, 0x1d, 0x21, 0x00, 0x00, 0xc4, 0x1d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, // ..!......A...... + 0x00, 0x2d, 0x3c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, // .-<..........>.. + 0x00, 0x2d, 0x3c, 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, // .-<...!..=...... + 0x00, 0x47, 0x3a, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, // .G:..........G:. + 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .8.... +}; static const uint8_t vs_imgui_image_dx9[282] = { 0x56, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH.o.><...u_vie diff --git a/3rdparty/bgfx/examples/common/imgui/vs_imgui_latlong.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_imgui_latlong.bin.h index 2c4c6e2eb54..36d9fd7b978 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_imgui_latlong.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_imgui_latlong.bin.h @@ -23,6 +23,185 @@ static const uint8_t vs_imgui_latlong_glsl[337] = 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, // a_texcoord0;.}.. 0x00, // . }; +static const uint8_t vs_imgui_latlong_spv[2803] = +{ + 0x56, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH.o.><...u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0xd0, 0x0a, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x36, 0x62, // ....#.........6b + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0xd8, 0x0c, // in.............. + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x4f, 0x75, // in............Ou + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x00, 0x00, // tput............ + 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, // ..gl_Position... + 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // ..........v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x40, 0x6d, // oord0.........@m + 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, // ain(vf3;vf2;.... + 0x05, 0x00, 0xa2, 0x3c, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...<..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xc4, 0x1d, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // ..........a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, // oord0........._v + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3b, 0x06, // arying_.......;. + 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, // ..$Global.....;. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, // ......u_viewRect + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, // ......;.......u_ + 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, // viewTexel.....;. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, // ......u_view.... + 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..;.......u_invV + 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, // iew.......;..... + 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, // ..u_proj......;. + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, // ......u_invProj. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, // ......;.......u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x3b, 0x06, // viewProj......;. + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, // ......u_invViewP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, // roj.......;..... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x3b, 0x06, // ..u_model.....;. + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, // ......u_modelVie + 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, // w.....;.......u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, // modelViewProj... + 0x06, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, // ..;.......u_alph + 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, // aRef4.....B..... + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // .......A..a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, // tion..........a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x2c, 0x3f, // position......,? + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......a_texcoord + 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, // 0.........flatte + 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, // nTemp......U..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, // ram...........pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, // ram...........@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, // ntryPointOutput_ + 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, // gl_Position..... + 0x04, 0x00, 0xe5, 0x03, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, // ......Output.... + 0x06, 0x00, 0xe5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // ..........v_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, // oord0.........@e + 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, // ntryPointOutput. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x94, 0x02, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, // ..G...........@. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x01, 0x00, // ......H...;..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, // ..#.......H...;. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ..;............. + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H...;......... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x03, 0x00, // ..`...H...;..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ..;............. + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H...;......... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x05, 0x00, // ......H...;..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#... ...H. + 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ..;............. + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H...;......... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x07, 0x00, // ..`...H...;..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ..;............. + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H...;......... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x09, 0x00, // ......H...;..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, // ..........H...;. + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ..;............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...;.......#. + 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x3b, 0x06, 0x00, 0x00, 0x02, 0x00, // .. ...G...;..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...B..."..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, // ..........!..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, // ................ + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, // ................ + 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0x67, 0x07, 0x00, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x95, 0x02, // ..!...g......... + 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, // ......+......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, // ......,......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........+..... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // .........?....e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x94, 0x02, // ..j... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x3b, 0x06, // ..e...j.......;. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x94, 0x02, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb8, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3b, 0x06, // .. ...........;. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb8, 0x08, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;.......B..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ..+.......)..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, // .. ...........e. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x03, 0x00, 0xe5, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x62, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xe5, 0x03, 0x00, 0x00, 0x3b, 0x00, // ..b...........;. + 0x04, 0x00, 0x62, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, // ..b........... . + 0x04, 0x00, 0x92, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, // ..............6. + 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, // ................ + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, // ......Sa..;..... + 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, // ..........;..... + 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, // ...U......;..... + 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, // ..........=..... + 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ...A......=..... + 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, // ..,?......>....U + 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x2c, 0x3f, // ...A..>.......,? + 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0xbc, 0x0e, // ..9.......I&.... + 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, // ...U......>..... + 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, // ..I&..A.......T4 + 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ..........=..... + 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, // ......T4..>..... + 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x27, 0x41, // ......A.......'A + 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ..........=..... + 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, // ......'A..A..... + 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..............>. + 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, // ..............8. + 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1a, 0x04, 0x00, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x67, 0x07, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, 0x00, 0x00, 0xa2, 0x3c, // ..g...7........< + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc4, 0x1d, 0x00, 0x00, 0xf8, 0x00, // ..7............. + 0x02, 0x00, 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x0f, 0x12, // .._W..;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x18, 0x2d, // ......A........- + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x2d, // ..........>....- + 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x35, 0x62, // ......=.......5b + 0x00, 0x00, 0xa2, 0x3c, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x3b, 0x3a, // ...<..Q.......;: + 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..5b......Q..... + 0x00, 0x00, 0x0b, 0x47, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, // ...G..5b......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x02, 0x00, // ......+S..5b.... + 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0x3b, 0x3a, // ..P........2..;: + 0x00, 0x00, 0x0b, 0x47, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, // ...G..+S......A. + 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x29, 0x0a, // ......),..B...). + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x29, 0x2c, // ..=...e....<..), + 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x84, 0x32, // ...........;...2 + 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x5f, 0x38, // ...<..A......._8 + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5f, 0x38, // ..........>..._8 + 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1d, 0x21, // ...;..=........! + 0x00, 0x00, 0xc4, 0x1d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x2d, 0x3c, // ......A.......-< + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2d, 0x3c, // ..........>...-< + 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x47, 0x3a, // ...!..=.......G: + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, 0x00, 0x00, 0x38, 0x00, // ..........G:..8. + 0x01, 0x00, 0x00, // ... +}; static const uint8_t vs_imgui_latlong_dx9[311] = { 0x56, 0x53, 0x48, 0x04, 0x6f, 0x1e, 0x3e, 0x3c, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH.o.><...u_mod diff --git a/3rdparty/bgfx/examples/common/imgui/vs_imgui_texture.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_imgui_texture.bin.h index 6bfcf779afd..d3e18290318 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_imgui_texture.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_imgui_texture.bin.h @@ -28,6 +28,213 @@ static const uint8_t vs_imgui_texture_glsl[419] = 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, // r0 = a_color0;.} 0x0a, 0x0a, 0x00, // ... }; +static const uint8_t vs_imgui_texture_spv[3250] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH........u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x94, 0x0c, 0x03, 0x02, 0x23, // wProj..........# + 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x54, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, // .........Ta..... + 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, // .GLSL.std.450... + 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x0a, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, // .........main... + 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0xd8, 0x0c, 0x00, // ................ + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, // .............mai + 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x64, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, // n........d...Out + 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // put......d...... + 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x06, // .gl_Position.... + 0x00, 0x64, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // .d.......v_color + 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, // 0........d...... + 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, // .v_texcoord0.... + 0x00, 0xad, 0x11, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, // .....@main(vf4;v + 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xe2, 0x2e, 0x00, // f3;vf2;......... + 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, // .a_color0....... + 0x00, 0x2f, 0x42, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // ./B..a_position. + 0x00, 0x05, 0x00, 0x05, 0x00, 0x10, 0x46, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // ......F..a_texco + 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, // ord0........._va + 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // rying_.......... + 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, // .$Global........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, // .....u_viewRect. + 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, // .............u_v + 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // iewTexel........ + 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, // .....u_view..... + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, // .........u_invVi + 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ew.............. + 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, // .u_proj......... + 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // .....u_invProj.. + 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, // .............u_v + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0xdf, 0x00, 0x00, // iewProj......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, // .....u_invViewPr + 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, // oj.............. + 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0xdf, 0x00, 0x00, // .u_model........ + 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, // .....u_modelView + 0x00, 0x06, 0x00, 0x07, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, // .............u_m + 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, // odelViewProj.... + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, // .........u_alpha + 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, // Ref4.....B...... + 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // ......A..a_color + 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x63, // 0............a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xd9, 0x3f, 0x00, // olor0.........?. + 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, // .a_position..... + 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // .....a_position. + 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // .....@,..a_texco + 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x61, 0x5f, 0x74, // ord0.........a_t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, // excoord0........ + 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, // .flattenTemp.... + 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, // ..U..param...... + 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, // ..8..param...... + 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, // .....param...... + 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, // .....@entryPoint + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, // Output_gl_Positi + 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, // on...........Out + 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // put............. + 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, // .v_color0....... + 0x00, 0x1a, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, // .........v_texco + 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, // ord0.........@en + 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, // tryPointOutput.. + 0x00, 0x47, 0x00, 0x04, 0x00, 0x65, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, // .G...e.......@.. + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .....H.......... + 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // .#.......H...... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .....#... ...H.. + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .H.............. + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // .`...H.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, // .....#.......H.. + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .H.............. + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, // .....H.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, // .....#... ...H.. + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .H.............. + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, // .`...H.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, // .....#.......H.. + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .H.............. + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, // .....H.......... + 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, // .........H...... + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, // .....#.......H.. + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, // ................ + 0x00, 0x48, 0x00, 0x05, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, // .H...........#.. + 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // . ...G.......... + 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .G...B..."...... + 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .G.............. + 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // .G.............. + 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // .G.............. + 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .G.............. + 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .G.............. + 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, // .........!...... + 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // ............. .. + 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // ................ + 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, // . .............. + 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // ................ + 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, // . .............. + 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ................ + 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, // . .............. + 0x00, 0x1e, 0x00, 0x05, 0x00, 0x64, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, // .....d.......... + 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x03, 0x09, 0x00, 0x00, 0x64, 0x04, 0x00, // .....!.......d.. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, // ............. .. + 0x00, 0xe1, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, // .........d...... + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // ..... .......+.. + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // .............+.. + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, // ............?+.. + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, // .............,.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, // ................ + 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, // .........+...... + 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, // .........,...... + 0x00, 0x1f, 0x07, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, // .............+.. + 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, // ................ + 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, // .e.............. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, // ..... .......+.. + 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, // .....j... ...... + 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, // .e...e...j...... + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .............e.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .e...e...e...e.. + 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .e...e...e...e.. + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x5c, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, // ..... .......... + 0x00, 0xdf, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x5c, 0x03, 0x00, 0x00, 0x42, 0x13, 0x00, // .....;.......B.. + 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d, 0x0a, 0x00, // .....+.......... + 0x00, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, // ..... .......... + 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, // .e... .......... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, // .....;.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, // ..... .......... + 0x00, 0x18, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, // .....;.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, // ..... .......... + 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, // .....;.......... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, // ..... .......... + 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, // .....;.......... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, // ................ + 0x00, 0x13, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, // ..... .......... + 0x00, 0x1a, 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, // .....;.......... + 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x92, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, // ..... .......... + 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, // .....6.......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, // .............Sa. + 0x00, 0x3b, 0x00, 0x04, 0x00, 0xe1, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, // .;.............. + 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, // .;........U..... + 0x00, 0x3b, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, // .;........8..... + 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, // .;.............. + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, // .=........A..... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, // .=........?..... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, // .=.......@,..... + 0x00, 0x3e, 0x00, 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, // .>....U...A..>.. + 0x00, 0x95, 0x38, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, // ..8...?..>...... + 0x00, 0x40, 0x2c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x64, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, // .@,..9...d...I&. + 0x00, 0xad, 0x11, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, // ......U...8..... + 0x00, 0x3e, 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, // .>.......I&..A.. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, // .....T4......... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, // .=...........T4. + 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, // .>...........A.. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, // .....'A......... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, // .=...........'A. + 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, // .A........N..... + 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, // .....>....N..... + 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, // .A........M..... + 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, // .....=.......... + 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, // ..M..A.......... + 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, // .........>...... + 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, // .........8...6.. + 0x00, 0x64, 0x04, 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x00, // .d.............. + 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, // .7...........7.. + 0x00, 0x95, 0x02, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, // ...../B..7...... + 0x00, 0x10, 0x46, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x70, 0x1e, 0x00, 0x00, 0x3b, 0x00, 0x04, // ..F......p...;.. + 0x00, 0xe1, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, // .............A.. + 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, // ......%......... + 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbb, 0x25, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, // .>....%......A.. + 0x00, 0x90, 0x02, 0x00, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, // ......I......... + 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x3d, 0x00, 0x04, // .>....I......=.. + 0x00, 0x18, 0x00, 0x00, 0x00, 0xa0, 0x2a, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x4f, 0x00, 0x07, // ......*../B..O.. + 0x00, 0x13, 0x00, 0x00, 0x00, 0x4e, 0x41, 0x00, 0x00, 0xa0, 0x2a, 0x00, 0x00, 0xa0, 0x2a, 0x00, // .....NA...*...*. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, // .........Q...... + 0x00, 0x8d, 0x5a, 0x00, 0x00, 0x4e, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, // ..Z..NA......Q.. + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x6e, 0x5e, 0x00, 0x00, 0x4e, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, // .....n^..NA..... + 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x14, 0x44, 0x00, 0x00, 0x8d, 0x5a, 0x00, // .P........D...Z. + 0x00, 0x6e, 0x5e, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, // .n^..........A.. + 0x00, 0xe2, 0x02, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x1d, 0x0a, 0x00, // ......$..B...... + 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x4a, 0x35, 0x00, 0x00, 0x80, 0x24, 0x00, // .=...e...J5...$. + 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf6, 0x33, 0x00, 0x00, 0x14, 0x44, 0x00, // ..........3...D. + 0x00, 0x4a, 0x35, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb6, 0x30, 0x00, // .J5..A........0. + 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb6, 0x30, 0x00, // .........>....0. + 0x00, 0xf6, 0x33, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xad, 0x32, 0x00, // ..3..=........2. + 0x00, 0x10, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xbd, 0x4d, 0x00, // ..F..A........M. + 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbd, 0x4d, 0x00, // .........>....M. + 0x00, 0xad, 0x32, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xae, 0x32, 0x00, // ..2..=........2. + 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbe, 0x4d, 0x00, // .....A........M. + 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbe, 0x4d, 0x00, // .........>....M. + 0x00, 0xae, 0x32, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x64, 0x04, 0x00, 0x00, 0xf6, 0x31, 0x00, // ..2..=...d....1. + 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x38, 0x00, 0x01, // ..........1..8.. + 0x00, 0x00, // .. +}; static const uint8_t vs_imgui_texture_dx9[318] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH........u_vie diff --git a/3rdparty/bgfx/examples/common/imgui/vs_ocornut_imgui.bin.h b/3rdparty/bgfx/examples/common/imgui/vs_ocornut_imgui.bin.h index f696d458f6c..e61852a4ee4 100644 --- a/3rdparty/bgfx/examples/common/imgui/vs_ocornut_imgui.bin.h +++ b/3rdparty/bgfx/examples/common/imgui/vs_ocornut_imgui.bin.h @@ -34,6 +34,226 @@ static const uint8_t vs_ocornut_imgui_glsl[523] = 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, // v_color0 = a_c 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // olor0;.}... }; +static const uint8_t vs_ocornut_imgui_spv[3459] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0b, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH........u_vie + 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x64, 0x0d, 0x03, 0x02, // wTexel......d... + 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x65, 0x61, 0x00, 0x00, 0x00, 0x00, // #.........ea.... + 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, // ..GLSL.std.450.. + 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, // ................ + 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, // ..........main.. + 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0xd8, 0x0c, // ................ + 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x64, 0x04, 0x00, 0x00, 0x4f, 0x75, // in........d...Ou + 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x00, 0x00, // tput......d..... + 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, // ..gl_Position... + 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..d.......v_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x64, 0x04, 0x00, 0x00, 0x02, 0x00, // r0........d..... + 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..v_texcoord0... + 0x07, 0x00, 0xad, 0x11, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x34, 0x3b, // ......@main(vf4; + 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xe2, 0x2e, // vf3;vf2;........ + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ../B..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x10, 0x46, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // .......F..a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x5f, 0x76, // oord0........._v + 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xe5, 0x10, // arying_......... + 0x00, 0x00, 0x70, 0x6f, 0x73, 0x00, 0x05, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x24, 0x47, // ..pos.........$G + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, // lobal........... + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, // ..u_viewRect.... + 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x00, // Texel........... + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x09, // ..u_view........ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, // ......u_invView. + 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x05, 0x00, // proj............ + 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, // ..u_invProj..... + 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, 0x07, 0x00, 0x00, 0x09, 0x00, 0x00, 0x07, 0x00, // Proj............ + 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, // ..u_invViewProj. + 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, // model........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, // ..u_modelView... + 0x07, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x09, // lViewProj....... + 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, // ......u_alphaRef + 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // 4.....B......... + 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ...A..a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ..........a_colo + 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, // r0.........?..a_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, // position........ + 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, // ..a_position.... + 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ..@,..a_texcoord + 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, // 0.........a_texc + 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, // oord0.........fl + 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, // attenTemp......U + 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, // ..param........8 + 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, // ..param......... + 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, // ..param......... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, // put_gl_Position. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // ..........Output + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, // ..............v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x1a, 0x04, // color0.......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // 0.........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, // PointOutput...G. + 0x04, 0x00, 0x08, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, // ..........@...H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, // ..#... ...H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, // ..........#...`. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x04, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x04, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, // ..#.......H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x06, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x06, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, // ..#... ...H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, // ..........#...`. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x08, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x08, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, // ..#.......H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0a, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0a, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x00, 0x09, // ..#.......H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, // ..........#... . + 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, // ..G...........G. + 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ..B...".......G. + 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ..............G. + 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, // ..............G. + 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, // ..............G. + 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ..............G. + 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, // ................ + 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, // ......!......... + 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, // .......... ..... + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, // ................ + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, // ................ + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x00, // ................ + 0x05, 0x00, 0x64, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, // ..d............. + 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x03, 0x09, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x9a, 0x02, // ..!.......d..... + 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe1, 0x06, // .......... ..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, // ......d......... + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // .. .......+..... + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........+..... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, // .........?+..... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, // ..........,..... + 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ................ + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, // ......+......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, // ......,......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........+..... + 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // .........@....e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x08, 0x04, // ..j... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x00, 0x09, // ..e...j......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x7d, 0x0b, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x09, // .. ...}......... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x7d, 0x0b, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;...}...B..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9d, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9d, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x1a, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1a, 0x04, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x97, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x92, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, // .. ............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0xe1, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......8......;. + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A......=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......?......=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, // ......@,......>. + 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, // ...U...A..>....8 + 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, // ...?..>.......@, + 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x64, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0xad, 0x11, // ..9...d...I&.... + 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // ...U...8......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x9d, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, // ..>....N......A. + 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, // .......M........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, // ..=............M + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x64, 0x04, // ......8...6...d. + 0x00, 0x00, 0xad, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x09, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, // ..........7..... + 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x10, 0x46, // ../B..7........F + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xfe, 0x1d, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xe1, 0x06, // ..........;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, // ..........;..... + 0x00, 0x00, 0xe5, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x24, 0x53, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..$S..........>. + 0x03, 0x00, 0x24, 0x53, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, // ..$S......A..... + 0x00, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...I..........>. + 0x03, 0x00, 0x9b, 0x49, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, // ...I......=..... + 0x00, 0x00, 0x27, 0x2f, 0x00, 0x00, 0x2f, 0x42, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, // ..'/../B..O..... + 0x00, 0x00, 0x64, 0x61, 0x00, 0x00, 0x27, 0x2f, 0x00, 0x00, 0x27, 0x2f, 0x00, 0x00, 0x00, 0x00, // ..da..'/..'/.... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x9d, 0x54, // ...............T + 0x00, 0x00, 0x64, 0x61, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, // ..da......A..... + 0x00, 0x00, 0x27, 0x54, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'T..B.......=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xc1, 0x47, 0x00, 0x00, 0x27, 0x54, 0x00, 0x00, 0x4f, 0x00, // .......G..'T..O. + 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x98, 0x19, 0x00, 0x00, 0xc1, 0x47, 0x00, 0x00, 0xc1, 0x47, // ...........G...G + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x13, 0x00, // ................ + 0x00, 0x00, 0xfd, 0x4c, 0x00, 0x00, 0x9d, 0x54, 0x00, 0x00, 0x98, 0x19, 0x00, 0x00, 0x3e, 0x00, // ...L...T......>. + 0x03, 0x00, 0xe5, 0x10, 0x00, 0x00, 0xfd, 0x4c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, // .......L..A..... + 0x00, 0x00, 0xa6, 0x2a, 0x00, 0x00, 0xe5, 0x10, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ...*..........=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd0, 0x37, 0x00, 0x00, 0xa6, 0x2a, 0x00, 0x00, 0x83, 0x00, // .......7...*.... + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x00, 0x00, 0xd0, 0x37, 0x00, 0x00, 0x8a, 0x00, // ......u_...7.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x66, 0x44, 0x00, 0x00, 0xe5, 0x10, // ..A.......fD.... + 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x22, 0x55, // ......=......."U + 0x00, 0x00, 0x66, 0x44, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x9e, 0x55, // ..fD...........U + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x22, 0x55, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, // ......"U..P..... + 0x00, 0x00, 0x7e, 0x1b, 0x00, 0x00, 0x75, 0x5f, 0x00, 0x00, 0x9e, 0x55, 0x00, 0x00, 0x0c, 0x0a, // ..~...u_...U.... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x12, 0x3d, // ......A........= + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x12, 0x3d, // ..........>....= + 0x00, 0x00, 0x7e, 0x1b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xad, 0x32, // ..~...=........2 + 0x00, 0x00, 0x10, 0x46, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xbd, 0x4d, // ...F..A........M + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbd, 0x4d, // ..........>....M + 0x00, 0x00, 0xad, 0x32, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xae, 0x32, // ...2..=........2 + 0x00, 0x00, 0xe2, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xbe, 0x4d, // ......A........M + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xbe, 0x4d, // ..........>....M + 0x00, 0x00, 0xae, 0x32, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x64, 0x04, 0x00, 0x00, 0xf6, 0x31, // ...2..=...d....1 + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xf6, 0x31, 0x00, 0x00, 0x38, 0x00, // ...........1..8. + 0x01, 0x00, 0x00, // ... +}; static const uint8_t vs_ocornut_imgui_dx9[359] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0b, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH........u_vie diff --git a/3rdparty/bgfx/examples/common/nanovg/fontstash.h b/3rdparty/bgfx/examples/common/nanovg/fontstash.h index a6c9877f357..53cb4bdcd4f 100644 --- a/3rdparty/bgfx/examples/common/nanovg/fontstash.h +++ b/3rdparty/bgfx/examples/common/nanovg/fontstash.h @@ -83,7 +83,7 @@ typedef struct FONStextIter FONStextIter; typedef struct FONScontext FONScontext; -// Contructor and destructor. +// Constructor and destructor. FONScontext* fonsCreateInternal(FONSparams* params); void fonsDeleteInternal(FONScontext* s); @@ -92,7 +92,7 @@ void fonsSetErrorCallback(FONScontext* s, void (*callback)(void* uptr, int error void fonsGetAtlasSize(FONScontext* s, int* width, int* height); // Expands the atlas size. int fonsExpandAtlas(FONScontext* s, int width, int height); -// Reseta the whole stash. +// Resets the whole stash. int fonsResetAtlas(FONScontext* stash, int width, int height); // Add fonts @@ -1045,6 +1045,7 @@ static FONSglyph* fons__getGlyph(FONScontext* stash, FONSfont* font, unsigned in int pad, added; unsigned char* bdst; unsigned char* dst; + FONSfont* renderFont = font; if (isize < 2) return NULL; if (iblur > 20) iblur = 20; @@ -1063,18 +1064,23 @@ static FONSglyph* fons__getGlyph(FONScontext* stash, FONSfont* font, unsigned in } // Could not find glyph, create it. - scale = fons__tt_getPixelHeightScale(&font->font, size); g = fons__tt_getGlyphIndex(&font->font, codepoint); // Try to find the glyph in fallback fonts. if (g == 0) { for (i = 0; i < font->nfallbacks; ++i) { - FONSglyph* fallbackGlyph = fons__getGlyph(stash, stash->fonts[font->fallbacks[i]], codepoint, isize, iblur); - if (fallbackGlyph != NULL && fallbackGlyph->index != 0) { - return fallbackGlyph; + FONSfont* fallbackFont = stash->fonts[font->fallbacks[i]]; + int fallbackIndex = fons__tt_getGlyphIndex(&fallbackFont->font, codepoint); + if (fallbackIndex != 0) { + g = fallbackIndex; + renderFont = fallbackFont; + break; } } + // It is possible that we did not find a fallback glyph. + // In that case the glyph index 'g' is 0, and we'll proceed below and cache empty glyph. } - fons__tt_buildGlyphBitmap(&font->font, g, size, scale, &advance, &lsb, &x0, &y0, &x1, &y1); + scale = fons__tt_getPixelHeightScale(&renderFont->font, size); + fons__tt_buildGlyphBitmap(&renderFont->font, g, size, scale, &advance, &lsb, &x0, &y0, &x1, &y1); gw = x1-x0 + pad*2; gh = y1-y0 + pad*2; @@ -1108,7 +1114,7 @@ static FONSglyph* fons__getGlyph(FONScontext* stash, FONSfont* font, unsigned in // Rasterize dst = &stash->texData[(glyph->x0+pad) + (glyph->y0+pad) * stash->params.width]; - fons__tt_renderGlyphBitmap(&font->font, dst, gw-pad*2,gh-pad*2, stash->params.width, scale,scale, g); + fons__tt_renderGlyphBitmap(&renderFont->font, dst, gw-pad*2,gh-pad*2, stash->params.width, scale,scale, g); // Make sure there is one pixel empty border. dst = &stash->texData[glyph->x0 + glyph->y0 * stash->params.width]; diff --git a/3rdparty/bgfx/examples/common/nanovg/fs_nanovg_fill.bin.h b/3rdparty/bgfx/examples/common/nanovg/fs_nanovg_fill.bin.h index 8e8f5d93ccf..1a0540fa4b7 100644 --- a/3rdparty/bgfx/examples/common/nanovg/fs_nanovg_fill.bin.h +++ b/3rdparty/bgfx/examples/common/nanovg/fs_nanovg_fill.bin.h @@ -184,6 +184,622 @@ static const uint8_t fs_nanovg_fill_glsl[2928] = 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, // . gl_FragColor 0x3d, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // = result_1;.}... }; +static const uint8_t fs_nanovg_fill_spv[9799] = +{ + 0x46, 0x53, 0x48, 0x04, 0xcf, 0xda, 0x1b, 0x94, 0x07, 0x00, 0x08, 0x75, 0x5f, 0x70, 0x61, 0x72, // FSH........u_par + 0x61, 0x6d, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, // ams.......u_pain + 0x74, 0x4d, 0x61, 0x74, 0x13, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0e, 0x75, 0x5f, 0x65, 0x78, 0x74, // tMat.......u_ext + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0a, // entRadius....... + 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, // u_innerCol...... + 0x0a, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x12, 0x01, 0x00, 0x00, 0x01, // .u_outerCol..... + 0x00, 0x0c, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x13, 0x01, // ..u_scissorMat.. + 0x00, 0x00, 0x01, 0x00, 0x11, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x45, 0x78, // .....u_scissorEx + 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x01, 0x00, 0x00, 0x01, 0x00, 0xb8, 0x25, 0x03, 0x02, // tScale.......%.. + 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0xab, 0x62, 0x00, 0x00, 0x00, 0x00, // #..........b.... + 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, // ..GLSL.std.450.. + 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, // ................ + 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, // ..........main.. + 0x00, 0x00, 0xc1, 0x12, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, // ......t......... + 0x03, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x61, 0x09, // ..main........a. + 0x00, 0x00, 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x00, // ..BgfxSampler2D. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, // ......a.......m_ + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, // sampler.......a. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, // ......m_texture. + 0x00, 0x00, 0x05, 0x00, 0x0e, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, // ..........bgfxTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, // xture2D(struct-B + 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x2d, 0x70, 0x31, 0x2d, // gfxSampler2D-p1- + 0x74, 0x32, 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, // t211;vf2;.....'. + 0x00, 0x00, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // .._sampler...... + 0x04, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, // ......_coord.... + 0x07, 0x00, 0xd2, 0x0c, 0x00, 0x00, 0x6d, 0x69, 0x78, 0x28, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, // ......mix(vf4;vf + 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc6, 0x0e, // 4;vf4;.......... + 0x00, 0x00, 0x5f, 0x61, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x5f, 0x62, // .._a.........._b + 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xd9, 0x0e, 0x00, 0x00, 0x5f, 0x74, 0x00, 0x00, 0x05, 0x00, // .........._t.... + 0x06, 0x00, 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, // ..5...vec4_splat + 0x28, 0x66, 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, // (f1;.........._x + 0x00, 0x00, 0x05, 0x00, 0x08, 0x00, 0x91, 0x0e, 0x00, 0x00, 0x73, 0x64, 0x72, 0x6f, 0x75, 0x6e, // ..........sdroun + 0x64, 0x72, 0x65, 0x63, 0x74, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x66, 0x31, // drect(vf2;vf2;f1 + 0x3b, 0x00, 0x05, 0x00, 0x03, 0x00, 0x08, 0x3e, 0x00, 0x00, 0x70, 0x74, 0x00, 0x00, 0x05, 0x00, // ;......>..pt.... + 0x03, 0x00, 0x40, 0x0d, 0x00, 0x00, 0x65, 0x78, 0x74, 0x00, 0x05, 0x00, 0x03, 0x00, 0x4d, 0x17, // ..@...ext.....M. + 0x00, 0x00, 0x72, 0x61, 0x64, 0x00, 0x05, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x73, 0x63, // ..rad.........sc + 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x00, // issorMask(vf2;.. + 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xc2, 0x10, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x05, 0x00, // ..........p..... + 0x06, 0x00, 0xe2, 0x0b, 0x00, 0x00, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x4d, 0x61, 0x73, 0x6b, // ......strokeMask + 0x28, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x1c, 0x12, 0x00, 0x00, 0x5f, 0x74, // (vf2;........._t + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, 0x20, 0x14, // excoord....... . + 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x32, 0x3b, // ..@main(vf2;vf2; + 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xc2, 0x1a, 0x00, 0x00, 0x76, 0x5f, // vf4;..........v_ + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x09, 0x40, // position.......@ + 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..v_texcoord0... + 0x06, 0x00, 0x46, 0x51, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ..FQ..gl_FragDat + 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xfe, 0x0e, 0x00, 0x00, 0x73, 0x5f, // a_0_..........s_ + 0x74, 0x65, 0x78, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x73, 0x5f, // tex...........s_ + 0x74, 0x65, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // texSampler...... + 0x06, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x54, 0x65, 0x78, 0x74, 0x75, // ..K...s_texTextu + 0x72, 0x65, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x65, 0x78, // re............ex + 0x74, 0x32, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdf, 0x55, 0x00, 0x00, 0x64, 0x00, // t2.........U..d. + 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0a, 0x17, 0x00, 0x00, 0x73, 0x63, 0x00, 0x00, 0x05, 0x00, // ..........sc.... + 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ......$Global... + 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x01, 0x00, // Rect............ + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ..............u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xff, 0x0a, // invView......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..........u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x06, 0x00, // roj............. + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..........u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xff, 0x0a, // iewProj......... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..........u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0a, 0x00, // lView........... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.............u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x06, 0x00, 0x07, 0x00, 0xff, 0x0a, // alphaRef4....... + 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, // ......u_scissorM + 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0d, 0x00, // at.............. + 0x00, 0x00, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x00, 0x00, 0x06, 0x00, // ..u_paintMat.... + 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, // ..........u_inne + 0x72, 0x43, 0x6f, 0x6c, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0f, 0x00, // rCol............ + 0x00, 0x00, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x00, 0x00, 0x06, 0x00, // ..u_outerCol.... + 0x08, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, // ..........u_scis + 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x06, 0x00, // sorExtScale..... + 0x07, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, // ..........u_exte + 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0x0a, // ntRadius........ + 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x00, 0x00, // ......u_params.. + 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ......B......... + 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, // ......bgfx_VoidF + 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1e, 0x4b, 0x00, 0x00, 0x70, 0x61, // rag........K..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x60, 0x0d, 0x00, 0x00, 0x73, 0x63, // ram.......`...sc + 0x69, 0x73, 0x73, 0x6f, 0x72, 0x00, 0x05, 0x00, 0x04, 0x00, 0x3f, 0x27, 0x00, 0x00, 0x70, 0x61, // issor.....?'..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x38, 0x17, 0x00, 0x00, 0x73, 0x74, // ram.......8...st + 0x72, 0x6f, 0x6b, 0x65, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x05, 0x00, 0x04, 0x00, 0x40, 0x27, // rokeAlpha.....@' + 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xeb, 0x21, // ..param........! + 0x00, 0x00, 0x70, 0x74, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xb6, 0x10, 0x00, 0x00, 0x64, 0x00, // ..pt..........d. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x41, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......A'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x42, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......B'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x43, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......C'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x44, 0x27, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, // ......D'..color. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x45, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......E'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x46, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......F'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x47, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ......G'..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, // ..........result + 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0x0b, 0x17, 0x00, 0x00, 0x70, 0x74, 0x00, 0x00, 0x05, 0x00, // ..........pt.... + 0x04, 0x00, 0x48, 0x27, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, // ..H'..color..... + 0x04, 0x00, 0x49, 0x27, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, // ..I'..param..... + 0x04, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, // ......color..... + 0x04, 0x00, 0x12, 0x25, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, // ...%..param..... + 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...A..v_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xc1, 0x12, 0x00, 0x00, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........v_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x76, 0x5f, // tion.......<..v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x74, 0x14, // texcoord0.....t. + 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..v_texcoord0... + 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, // ......gl_FragDat + 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x70, 0x61, // a_0_.......G..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, 0x70, 0x61, // ram........U..pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, // ram...........pa + 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x67, 0x6c, // ram...........gl + 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x47, 0x00, // _FragData_0_..G. + 0x04, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ......".......G. + 0x04, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ......!.......G. + 0x04, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ..K...".......G. + 0x04, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, // ..K...!.......G. + 0x04, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, // ..........@...H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x02, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x02, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#... ...H..... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, // ..........#...`. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x04, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x04, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#.......H..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x06, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x06, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#... ...H..... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, // ..........#...`. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x08, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x08, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#.......H..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H............. + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ......H......... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#.......H..... + 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, // ..........#... . + 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, // ..H............. + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0c, 0x00, // ..0...H......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xff, 0x0a, // ..........H..... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..........H..... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x0a, 0x00, 0x00, 0x48, 0x00, // ......#...`...H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, // ................ + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0x90, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x0f, 0x00, // ......H......... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, // ..#.......H..... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xb0, 0x0a, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xc0, 0x0a, // ..........#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x23, 0x00, // ..H...........#. + 0x00, 0x00, 0xd0, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x02, 0x00, // ......G......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G...B..."..... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xc1, 0x12, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, // ..G...t......... + 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, // ..G............. + 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, // ..........!..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, // ................ + 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, // ...... ......... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, // ................ + 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, // ..a........... . + 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, // ..........a..... + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, // ................ + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x05, 0x00, 0xc2, 0x03, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9a, 0x02, // ..!............. + 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, // .......... ..... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xef, 0x00, // ..........!..... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0xc8, 0x0b, // ..........!..... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x8a, 0x02, // ................ + 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x90, 0x02, // ..!............. + 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x90, 0x02, // ..!...K......... + 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, // ..........;..... + 0x00, 0x00, 0xfe, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, // .......... ...y. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, // ..........;...y. + 0x00, 0x00, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, // .......... ..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, // ..........;..... + 0x00, 0x00, 0x4b, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..K............. + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // .. .......+..... + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, // ................ + 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, // ......+......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, // ......,......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........+..... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, // .........?...... + 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // ..........+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x06, 0x0b, // ..j... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x46, 0x00, // ..e...j.......F. + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x15, 0x00, 0xff, 0x0a, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0x06, 0x0b, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......e...e..... + 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ..F...F......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20, 0x00, // .............. . + 0x04, 0x00, 0xb9, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x0a, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0xb9, 0x01, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, // ......B.......+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, // ....../....... . + 0x04, 0x00, 0xc3, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..........F...+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x3b, 0x0a, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, // ......;....... . + 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x2c, 0x00, // .............?,. + 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1e, 0x06, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, // ................ + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x00, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x41, 0x0a, 0x00, 0x00, 0x12, 0x00, // .@+.......A..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x03, 0x00, // ..+............. + 0x00, 0x00, 0x14, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x32, 0x0a, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..2.......+..... + 0x00, 0x00, 0x3e, 0x0a, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // ..>.......+..... + 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x35, 0x0a, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..5.......+..... + 0x00, 0x00, 0x38, 0x0a, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, // ..8.......,..... + 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8a, 0x00, // ................ + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa2, 0x0b, // ......+......... + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, // ....@@ ......... + 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0xc1, 0x12, // ......;......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x74, 0x14, // ......;.......t. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, // ......;......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, // ......6......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, // ..............Sa + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0x07, 0x00, // ..;........G.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, // ..;........U.... + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, // ..;............. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, 0x0f, 0x0d, // ..=.......!C.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x4b, 0x0f, // ..=........3..K. + 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x21, 0x43, // ..P...a.... ..!C + 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xfe, 0x0e, 0x00, 0x00, 0x12, 0x20, // ...3..>........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, 0xc1, 0x12, // ..=........A.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x74, 0x14, // ..=........<..t. + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x3e, 0x00, // ..>....G...A..>. + 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x08, 0x00, // ...U...<..9..... + 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xab, 0x55, // ...&.. ....G...U + 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x1c, // ......=......... + 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0xce, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, // ......8...6..... + 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x03, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ......'...7..... + 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xcd, 0x5b, 0x00, 0x00, 0x41, 0x00, // ...........[..A. + 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x0e, 0x0a, // ......i$..'..... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x69, 0x24, // ..=........1..i$ + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x27, 0x0e, // ..A...y...TD..'. + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x9b, 0x56, // ......=........V + 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xc9, 0x42, // ..TD..V........B + 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, // ...1...V..=..... + 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, 0x1d, 0x00, // ..6.......W..... + 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xfe, 0x00, // ...Q...B..6..... + 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, // ...Q..8...6..... + 0x00, 0x00, 0xd2, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, // ..........7..... + 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xd9, 0x0e, // ......7......... + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x4e, 0x50, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ......NP..=..... + 0x00, 0x00, 0x29, 0x1a, 0x00, 0x00, 0xc6, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ..).......=..... + 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0xc7, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ..??......=..... + 0x00, 0x00, 0x46, 0x3e, 0x00, 0x00, 0xd9, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x1d, 0x00, // ..F>............ + 0x00, 0x00, 0xcd, 0x42, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x29, 0x1a, // ...B..........). + 0x00, 0x00, 0x3f, 0x3f, 0x00, 0x00, 0x46, 0x3e, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xcd, 0x42, // ..??..F>.......B + 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, // ..8...6.......5. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, // ..........7..... + 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x02, 0x2d, 0x00, 0x00, 0x3d, 0x00, // ...........-..=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1e, 0x5e, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, // .......^......=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x63, 0x55, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, // ......cU......=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xca, 0x26, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, // .......&......=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xdd, 0x26, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, // .......&......P. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x29, 0x00, 0x00, 0x1e, 0x5e, 0x00, 0x00, 0x63, 0x55, // ......*)...^..cU + 0x00, 0x00, 0xca, 0x26, 0x00, 0x00, 0xdd, 0x26, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x2a, 0x29, // ...&...&......*) + 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x91, 0x0e, // ..8...6......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x0b, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ..........7..... + 0x00, 0x00, 0x08, 0x3e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x40, 0x0d, // ...>..7.......@. + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4d, 0x17, 0x00, 0x00, 0xf8, 0x00, // ..7.......M..... + 0x02, 0x00, 0x16, 0x1c, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xdf, 0x55, // ......;........U + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x93, 0x59, // ......=........Y + 0x00, 0x00, 0x40, 0x0d, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xbb, 0x22, // ..@...=........" + 0x00, 0x00, 0x4d, 0x17, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfa, 0x1f, // ..M...=......... + 0x00, 0x00, 0x4d, 0x17, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0xb5, 0x36, // ..M...P........6 + 0x00, 0x00, 0xbb, 0x22, 0x00, 0x00, 0xfa, 0x1f, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x13, 0x00, // ..."............ + 0x00, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x93, 0x59, 0x00, 0x00, 0xb5, 0x36, 0x00, 0x00, 0x3d, 0x00, // .......Y...6..=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xaa, 0x62, 0x00, 0x00, 0x08, 0x3e, 0x00, 0x00, 0x0c, 0x00, // .......b...>.... + 0x06, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd8, 0x5d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, // .......]........ + 0x00, 0x00, 0xaa, 0x62, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x20, 0x2a, // ...b.......... * + 0x00, 0x00, 0xd8, 0x5d, 0x00, 0x00, 0xbc, 0x0e, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xdf, 0x55, // ...]......>....U + 0x00, 0x00, 0x20, 0x2a, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x65, 0x1d, // .. *..A.......e. + 0x00, 0x00, 0xdf, 0x55, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ...U......=..... + 0x00, 0x00, 0x10, 0x62, 0x00, 0x00, 0x65, 0x1d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, // ...b..e...A..... + 0x00, 0x00, 0xb8, 0x45, 0x00, 0x00, 0xdf, 0x55, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ...E...U......=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x78, 0x32, 0x00, 0x00, 0xb8, 0x45, 0x00, 0x00, 0x0c, 0x00, // ......x2...E.... + 0x07, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, // .......R......(. + 0x00, 0x00, 0x10, 0x62, 0x00, 0x00, 0x78, 0x32, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x0d, 0x00, // ...b..x2........ + 0x00, 0x00, 0x57, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x52, // ..WA......%....R + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x91, 0x41, // ......=........A + 0x00, 0x00, 0xdf, 0x55, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5a, 0x22, // ...U..........Z" + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x91, 0x41, 0x00, 0x00, 0x1f, 0x07, // ......(....A.... + 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb2, 0x4a, 0x00, 0x00, 0x01, 0x00, // ...........J.... + 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x5a, 0x22, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..B...Z"........ + 0x00, 0x00, 0x10, 0x5b, 0x00, 0x00, 0x57, 0x41, 0x00, 0x00, 0xb2, 0x4a, 0x00, 0x00, 0x3d, 0x00, // ...[..WA...J..=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x53, 0x5a, 0x00, 0x00, 0x4d, 0x17, 0x00, 0x00, 0x83, 0x00, // ......SZ..M..... + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa4, 0x59, 0x00, 0x00, 0x10, 0x5b, 0x00, 0x00, 0x53, 0x5a, // .......Y...[..SZ + 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x59, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, // .......Y..8...6. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x00, // ................ + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc2, 0x10, 0x00, 0x00, 0xf8, 0x00, // ..7............. + 0x02, 0x00, 0x0d, 0x36, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x0a, 0x17, // ...6..;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x72, 0x57, // ......=.......rW + 0x00, 0x00, 0xc2, 0x10, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x3d, // ......Q........= + 0x00, 0x00, 0x72, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..rW......Q..... + 0x00, 0x00, 0xcb, 0x46, 0x00, 0x00, 0x72, 0x57, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, // ...F..rW......P. + 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0xb4, 0x32, 0x00, 0x00, 0x81, 0x3d, 0x00, 0x00, 0xcb, 0x46, // .......2...=...F + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xc3, 0x02, 0x00, 0x00, 0x59, 0x2c, // ......A.......Y, + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x46, 0x00, // ..B.../...=...F. + 0x00, 0x00, 0xf4, 0x24, 0x00, 0x00, 0x59, 0x2c, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x18, 0x00, // ...$..Y,........ + 0x00, 0x00, 0xa7, 0x2e, 0x00, 0x00, 0xb4, 0x32, 0x00, 0x00, 0xf4, 0x24, 0x00, 0x00, 0x4f, 0x00, // .......2...$..O. + 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0xba, 0x57, 0x00, 0x00, 0xa7, 0x2e, 0x00, 0x00, 0xa7, 0x2e, // .......W........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x13, 0x00, // ................ + 0x00, 0x00, 0x45, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xba, 0x57, // ..ER...........W + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x19, 0x25, 0x00, 0x00, 0x42, 0x13, // ..A........%..B. + 0x00, 0x00, 0x3b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x05, 0x4e, // ..;...=........N + 0x00, 0x00, 0x19, 0x25, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x54, // ...%..O........T + 0x00, 0x00, 0x05, 0x4e, 0x00, 0x00, 0x05, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ...N...N........ + 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd4, 0x30, 0x00, 0x00, 0x45, 0x52, // ...........0..ER + 0x00, 0x00, 0x11, 0x54, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0a, 0x17, 0x00, 0x00, 0xd4, 0x30, // ...T..>........0 + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x98, 0x40, 0x00, 0x00, 0x0a, 0x17, // ..=........@.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x42, 0x13, // ..A.......`>..B. + 0x00, 0x00, 0x3b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x16, 0x58, // ..;...=........X + 0x00, 0x00, 0x60, 0x3e, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0xd6, 0x57, // ..`>..O........W + 0x00, 0x00, 0x16, 0x58, 0x00, 0x00, 0x16, 0x58, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, // ...X...X........ + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x42, 0x57, 0x00, 0x00, 0x98, 0x40, // ..........BW...@ + 0x00, 0x00, 0xd6, 0x57, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0xe5, 0x61, // ...W...........a + 0x00, 0x00, 0x1e, 0x06, 0x00, 0x00, 0x42, 0x57, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0a, 0x17, // ......BW..>..... + 0x00, 0x00, 0xe5, 0x61, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xce, 0x54, // ...a..A........T + 0x00, 0x00, 0x0a, 0x17, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........=..... + 0x00, 0x00, 0xfd, 0x22, 0x00, 0x00, 0xce, 0x54, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x0d, 0x00, // ..."...T........ + 0x00, 0x00, 0x5a, 0x4e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xfd, 0x22, // ..ZN......+...." + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, // ..........A..... + 0x00, 0x00, 0xf7, 0x50, 0x00, 0x00, 0x0a, 0x17, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ...P..........=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb3, 0x22, 0x00, 0x00, 0xf7, 0x50, 0x00, 0x00, 0x0c, 0x00, // ......."...P.... + 0x08, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb9, 0x2e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x00, 0x00, 0xb3, 0x22, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x85, 0x00, // ..."............ + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xbd, 0x48, 0x00, 0x00, 0x5a, 0x4e, 0x00, 0x00, 0xb9, 0x2e, // .......H..ZN.... + 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xbd, 0x48, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, // .......H..8...6. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xe2, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x00, // ................ + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x1c, 0x12, 0x00, 0x00, 0xf8, 0x00, // ..7............. + 0x02, 0x00, 0x8c, 0x31, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xfc, 0x21, // ...1..A........! + 0x00, 0x00, 0x1c, 0x12, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........=..... + 0x00, 0x00, 0x5a, 0x4b, 0x00, 0x00, 0xfc, 0x21, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..ZK...!........ + 0x00, 0x00, 0xb1, 0x42, 0x00, 0x00, 0x5a, 0x4b, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x83, 0x00, // ...B..ZK........ + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1b, 0x37, 0x00, 0x00, 0xb1, 0x42, 0x00, 0x00, 0x8a, 0x00, // .......7...B.... + 0x00, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb8, 0x56, 0x00, 0x00, 0x01, 0x00, // ...........V.... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1b, 0x37, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x0d, 0x00, // .......7........ + 0x00, 0x00, 0xcb, 0x5e, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0xb8, 0x56, 0x00, 0x00, 0x41, 0x00, // ...^.......V..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x60, 0x2a, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // ......`*..B...A. + 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd9, 0x57, // ......=........W + 0x00, 0x00, 0x60, 0x2a, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x16, 0x20, // ..`*........... + 0x00, 0x00, 0xcb, 0x5e, 0x00, 0x00, 0xd9, 0x57, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x0d, 0x00, // ...^...W........ + 0x00, 0x00, 0xa1, 0x54, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x8a, 0x00, // ...T......%..... + 0x00, 0x00, 0x16, 0x20, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x87, 0x55, // ... ..A........U + 0x00, 0x00, 0x1c, 0x12, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........=..... + 0x00, 0x00, 0xa7, 0x42, 0x00, 0x00, 0x87, 0x55, 0x00, 0x00, 0x0c, 0x00, 0x07, 0x00, 0x0d, 0x00, // ...B...U........ + 0x00, 0x00, 0xff, 0x42, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x8a, 0x00, // ...B......%..... + 0x00, 0x00, 0xa7, 0x42, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb3, 0x3f, // ...B...........? + 0x00, 0x00, 0xa1, 0x54, 0x00, 0x00, 0xff, 0x42, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xb3, 0x3f, // ...T...B.......? + 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x14, // ..8...6....... . + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, // ......K...7..... + 0x00, 0x00, 0xc2, 0x1a, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x09, 0x40, // ......7........@ + 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x46, 0x51, 0x00, 0x00, 0xf8, 0x00, // ..7.......FQ.... + 0x02, 0x00, 0x7a, 0x5a, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x1e, 0x4b, // ..zZ..;........K + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x60, 0x0d, // ......;.......`. + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x3f, 0x27, // ......;.......?' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x38, 0x17, // ......;.......8. + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x40, 0x27, // ......;.......@' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x41, 0x27, // ......;.......A' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x42, 0x27, // ......;.......B' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x43, 0x27, // ......;.......C' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x44, 0x27, // ......;.......D' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x45, 0x27, // ......;.......E' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x46, 0x27, // ......;.......F' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x47, 0x27, // ......;.......G' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xa2, 0x10, // ......;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x48, 0x27, // ......;.......H' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x49, 0x27, // ......;.......I' + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x18, 0x0e, // ......;......... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x12, 0x25, // ......;........% + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x1e, 0x4b, 0x00, 0x00, 0x0c, 0x0a, // ......>....K.... + 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, // ..9...........5. + 0x00, 0x00, 0x1e, 0x4b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x91, 0x47, // ...K..=........G + 0x00, 0x00, 0xc2, 0x1a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x3f, 0x27, 0x00, 0x00, 0x91, 0x47, // ......>...?'...G + 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x89, 0x4f, 0x00, 0x00, 0x00, 0x0f, // ..9........O.... + 0x00, 0x00, 0x3f, 0x27, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x60, 0x0d, 0x00, 0x00, 0x89, 0x4f, // ..?'..>...`....O + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x57, 0x26, 0x00, 0x00, 0x09, 0x40, // ..=.......W&...@ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x40, 0x27, 0x00, 0x00, 0x57, 0x26, 0x00, 0x00, 0x39, 0x00, // ..>...@'..W&..9. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd5, 0x4f, 0x00, 0x00, 0xe2, 0x0b, 0x00, 0x00, 0x40, 0x27, // .......O......@' + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x38, 0x17, 0x00, 0x00, 0xd5, 0x4f, 0x00, 0x00, 0x41, 0x00, // ..>...8....O..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x1f, 0x45, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // .......E..B...A. + 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb1, 0x60, // ......=........` + 0x00, 0x00, 0x1f, 0x45, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x34, 0x2b, // ...E..........4+ + 0x00, 0x00, 0xb1, 0x60, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xb4, 0x31, // ...`...........1 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x34, 0x2b, 0x00, 0x00, 0x61, 0x22, // ..........4+..a" + 0x00, 0x00, 0x2d, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x61, 0x22, 0x00, 0x00, 0x3d, 0x00, // ..-Y......a"..=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xdd, 0x2d, 0x00, 0x00, 0xc2, 0x1a, 0x00, 0x00, 0x51, 0x00, // .......-......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf4, 0x5d, 0x00, 0x00, 0xdd, 0x2d, 0x00, 0x00, 0x00, 0x00, // .......]...-.... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x28, 0x4a, 0x00, 0x00, 0xdd, 0x2d, // ..Q.......(J...- + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x11, 0x36, // ......P........6 + 0x00, 0x00, 0xf4, 0x5d, 0x00, 0x00, 0x28, 0x4a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, // ...]..(J......A. + 0x05, 0x00, 0xc3, 0x02, 0x00, 0x00, 0xfc, 0x60, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x32, 0x0a, // .......`..B...2. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x46, 0x00, 0x00, 0x00, 0x51, 0x28, 0x00, 0x00, 0xfc, 0x60, // ..=...F...Q(...` + 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x7d, 0x1c, 0x00, 0x00, 0x11, 0x36, // ..........}....6 + 0x00, 0x00, 0x51, 0x28, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0xeb, 0x21, // ..Q(..O........! + 0x00, 0x00, 0x7d, 0x1c, 0x00, 0x00, 0x7d, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ..}...}......... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x41, 0x27, 0x00, 0x00, 0xeb, 0x21, 0x00, 0x00, 0x41, 0x00, // ..>...A'...!..A. + 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x7d, 0x50, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x3e, 0x0a, // ......}P..B...>. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x4c, 0x00, 0x00, 0x7d, 0x50, // ..=........L..}P + 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0xc9, 0x3b, 0x00, 0x00, 0xb8, 0x4c, // ..O........;...L + 0x00, 0x00, 0xb8, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, // ...L..........>. + 0x03, 0x00, 0x42, 0x27, 0x00, 0x00, 0xc9, 0x3b, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, // ..B'...;..A..... + 0x00, 0x00, 0x3a, 0x4f, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x3e, 0x0a, 0x00, 0x00, 0x10, 0x0a, // ..:O..B...>..... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd7, 0x57, 0x00, 0x00, 0x3a, 0x4f, // ..=........W..:O + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x27, 0x00, 0x00, 0xd7, 0x57, 0x00, 0x00, 0x39, 0x00, // ..>...C'...W..9. + 0x07, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x82, 0x4d, 0x00, 0x00, 0x91, 0x0e, 0x00, 0x00, 0x41, 0x27, // .......M......A' + 0x00, 0x00, 0x42, 0x27, 0x00, 0x00, 0x43, 0x27, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, // ..B'..C'..A..... + 0x00, 0x00, 0x5d, 0x18, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, 0x00, 0x00, 0x0a, 0x0a, // ..]...B...A..... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x2a, 0x00, 0x00, 0x5d, 0x18, // ..=........*..]. + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x34, 0x4a, 0x00, 0x00, 0x0f, 0x2a, // ..........4J...* + 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x81, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf6, 0x38, // ...............8 + 0x00, 0x00, 0x82, 0x4d, 0x00, 0x00, 0x34, 0x4a, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, // ...M..4J..A..... + 0x00, 0x00, 0x7a, 0x20, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, 0x00, 0x00, 0x0a, 0x0a, // ..z ..B...A..... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc9, 0x51, 0x00, 0x00, 0x7a, 0x20, // ..=........Q..z + 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0xf6, 0x38, // ...........1...8 + 0x00, 0x00, 0xc9, 0x51, 0x00, 0x00, 0x0c, 0x00, 0x08, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb6, 0x10, // ...Q............ + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x0c, 0x0a, // ......+....1.... + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa0, 0x18, // ......P......... + 0x00, 0x00, 0xb6, 0x10, 0x00, 0x00, 0xb6, 0x10, 0x00, 0x00, 0xb6, 0x10, 0x00, 0x00, 0xb6, 0x10, // ................ + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xc3, 0x58, 0x00, 0x00, 0x42, 0x13, // ..A........X..B. + 0x00, 0x00, 0x35, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb1, 0x5e, // ..5...=........^ + 0x00, 0x00, 0xc3, 0x58, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x45, 0x27, 0x00, 0x00, 0xb1, 0x5e, // ...X..>...E'...^ + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xbe, 0x2f, 0x00, 0x00, 0x42, 0x13, // ..A......../..B. + 0x00, 0x00, 0x38, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x35, 0x58, // ..8...=.......5X + 0x00, 0x00, 0xbe, 0x2f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x46, 0x27, 0x00, 0x00, 0x35, 0x58, // .../..>...F'..5X + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x47, 0x27, 0x00, 0x00, 0xa0, 0x18, 0x00, 0x00, 0x39, 0x00, // ..>...G'......9. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x4c, 0x5f, 0x00, 0x00, 0xd2, 0x0c, 0x00, 0x00, 0x45, 0x27, // ......L_......E' + 0x00, 0x00, 0x46, 0x27, 0x00, 0x00, 0x47, 0x27, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x44, 0x27, // ..F'..G'..>...D' + 0x00, 0x00, 0x4c, 0x5f, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xa8, 0x2c, // ..L_..=........, + 0x00, 0x00, 0x38, 0x17, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x44, 0x45, // ..8...=.......DE + 0x00, 0x00, 0x60, 0x0d, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc6, 0x26, // ..`............& + 0x00, 0x00, 0xa8, 0x2c, 0x00, 0x00, 0x44, 0x45, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ...,..DE..=..... + 0x00, 0x00, 0x1a, 0x2e, 0x00, 0x00, 0x44, 0x27, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x1d, 0x00, // ......D'........ + 0x00, 0x00, 0x4e, 0x5c, 0x00, 0x00, 0x1a, 0x2e, 0x00, 0x00, 0xc6, 0x26, 0x00, 0x00, 0x3e, 0x00, // ..N........&..>. + 0x03, 0x00, 0x44, 0x27, 0x00, 0x00, 0x4e, 0x5c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ..D'..N...=..... + 0x00, 0x00, 0x7c, 0x1f, 0x00, 0x00, 0x44, 0x27, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa2, 0x10, // ..|...D'..>..... + 0x00, 0x00, 0x7c, 0x1f, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xb4, 0x31, 0x00, 0x00, 0xf8, 0x00, // ..|........1.... + 0x02, 0x00, 0x2d, 0x59, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xf1, 0x47, // ..-Y..A........G + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..B...A.......=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x71, 0x36, 0x00, 0x00, 0xf1, 0x47, 0x00, 0x00, 0xb4, 0x00, // ......q6...G.... + 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x35, 0x2b, 0x00, 0x00, 0x71, 0x36, 0x00, 0x00, 0x8a, 0x00, // ......5+..q6.... + 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, // ......uU........ + 0x04, 0x00, 0x35, 0x2b, 0x00, 0x00, 0x62, 0x22, 0x00, 0x00, 0x30, 0x59, 0x00, 0x00, 0xf8, 0x00, // ..5+..b"..0Y.... + 0x02, 0x00, 0x62, 0x22, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xde, 0x2d, // ..b"..=........- + 0x00, 0x00, 0xc2, 0x1a, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf5, 0x5d, // ......Q........] + 0x00, 0x00, 0xde, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ...-......Q..... + 0x00, 0x00, 0x29, 0x4a, 0x00, 0x00, 0xde, 0x2d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, // ..)J...-......P. + 0x06, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12, 0x36, 0x00, 0x00, 0xf5, 0x5d, 0x00, 0x00, 0x29, 0x4a, // .......6...]..)J + 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xc3, 0x02, 0x00, 0x00, 0xfd, 0x60, // ......A........` + 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x32, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x46, 0x00, // ..B...2...=...F. + 0x00, 0x00, 0x52, 0x28, 0x00, 0x00, 0xfd, 0x60, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x18, 0x00, // ..R(...`........ + 0x00, 0x00, 0xb6, 0x1c, 0x00, 0x00, 0x12, 0x36, 0x00, 0x00, 0x52, 0x28, 0x00, 0x00, 0x4f, 0x00, // .......6..R(..O. + 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x98, 0x1f, 0x00, 0x00, 0xb6, 0x1c, 0x00, 0x00, 0xb6, 0x1c, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, // ..........A..... + 0x00, 0x00, 0x63, 0x4e, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x3e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..cN..B...>...=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xef, 0x61, 0x00, 0x00, 0x63, 0x4e, 0x00, 0x00, 0x4f, 0x00, // .......a..cN..O. + 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, 0x54, 0x00, 0x00, 0xef, 0x61, 0x00, 0x00, 0xef, 0x61, // .......T...a...a + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x13, 0x00, // ................ + 0x00, 0x00, 0x0b, 0x17, 0x00, 0x00, 0x98, 0x1f, 0x00, 0x00, 0x0d, 0x54, 0x00, 0x00, 0x3e, 0x00, // ...........T..>. + 0x03, 0x00, 0x49, 0x27, 0x00, 0x00, 0x0b, 0x17, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, // ..I'......9..... + 0x00, 0x00, 0x72, 0x34, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0xfe, 0x0e, 0x00, 0x00, 0x49, 0x27, // ..r4..........I' + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x27, 0x00, 0x00, 0x72, 0x34, 0x00, 0x00, 0x41, 0x00, // ..>...H'..r4..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x20, 0x45, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // ...... E..B...A. + 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb2, 0x60, // ......=........` + 0x00, 0x00, 0x20, 0x45, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x36, 0x2b, // .. E..........6+ + 0x00, 0x00, 0xb2, 0x60, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x2e, 0x59, // ...`...........Y + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x36, 0x2b, 0x00, 0x00, 0x3b, 0x22, // ..........6+..;" + 0x00, 0x00, 0x2e, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3b, 0x22, 0x00, 0x00, 0x3d, 0x00, // ...Y......;"..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x07, 0x2e, 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x4f, 0x00, // ..........H'..O. + 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xde, 0x5c, 0x00, 0x00, 0x07, 0x2e, 0x00, 0x00, 0x07, 0x2e, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, // ..............A. + 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xf9, 0x23, 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x13, 0x0a, // .......#..H'.... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x17, 0x32, 0x00, 0x00, 0xf9, 0x23, // ..=........2...# + 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x63, 0x1b, 0x00, 0x00, 0xde, 0x5c, // ..........c..... + 0x00, 0x00, 0x17, 0x32, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x40, // ...2..A........@ + 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..H'......=..... + 0x00, 0x00, 0x88, 0x34, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ...4...@..Q..... + 0x00, 0x00, 0x9f, 0x3a, 0x00, 0x00, 0x63, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ...:..c.......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x98, 0x4a, 0x00, 0x00, 0x63, 0x1b, 0x00, 0x00, 0x01, 0x00, // .......J..c..... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x7f, 0x56, 0x00, 0x00, 0x63, 0x1b, // ..Q........V..c. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0c, 0x46, // ......P........F + 0x00, 0x00, 0x9f, 0x3a, 0x00, 0x00, 0x98, 0x4a, 0x00, 0x00, 0x7f, 0x56, 0x00, 0x00, 0x88, 0x34, // ...:...J...V...4 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x27, 0x00, 0x00, 0x0c, 0x46, 0x00, 0x00, 0xf9, 0x00, // ..>...H'...F.... + 0x02, 0x00, 0x2e, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2e, 0x59, 0x00, 0x00, 0x41, 0x00, // ...Y.......Y..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xf2, 0x47, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // .......G..B...A. + 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x72, 0x36, // ......=.......r6 + 0x00, 0x00, 0xf2, 0x47, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x37, 0x2b, // ...G..........7+ + 0x00, 0x00, 0x72, 0x36, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x2f, 0x59, // ..r6........../Y + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x37, 0x2b, 0x00, 0x00, 0x3c, 0x22, // ..........7+..<" + 0x00, 0x00, 0x2f, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3c, 0x22, 0x00, 0x00, 0x3d, 0x00, // ../Y......<"..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xce, 0x2d, 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x4f, 0x00, // .......-..H'..O. + 0x09, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x5b, 0x22, 0x00, 0x00, 0xce, 0x2d, 0x00, 0x00, 0xce, 0x2d, // ......["...-...- + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x27, 0x00, 0x00, 0x5b, 0x22, 0x00, 0x00, 0xf9, 0x00, // ..>...H'..[".... + 0x02, 0x00, 0x2f, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2f, 0x59, 0x00, 0x00, 0x41, 0x00, // ../Y....../Y..A. + 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x1c, 0x3f, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x35, 0x0a, // .......?..B...5. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xe7, 0x33, 0x00, 0x00, 0x1c, 0x3f, // ..=........3...? + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2e, 0x42, 0x00, 0x00, 0x48, 0x27, // ..=........B..H' + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x20, 0x00, 0x00, 0x2e, 0x42, // ........... ...B + 0x00, 0x00, 0xe7, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x27, 0x00, 0x00, 0x17, 0x20, // ...3..>...H'... + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x4e, 0x52, 0x00, 0x00, 0x38, 0x17, // ..=.......NR..8. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x45, 0x45, 0x00, 0x00, 0x60, 0x0d, // ..=.......EE..`. + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc7, 0x26, 0x00, 0x00, 0x4e, 0x52, // ...........&..NR + 0x00, 0x00, 0x45, 0x45, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x2e, // ..EE..=......... + 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x4f, 0x5c, // ..H'..........O. + 0x00, 0x00, 0x1b, 0x2e, 0x00, 0x00, 0xc7, 0x26, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x48, 0x27, // .......&..>...H' + 0x00, 0x00, 0x4f, 0x5c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x7d, 0x1f, // ..O...=.......}. + 0x00, 0x00, 0x48, 0x27, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x7d, 0x1f, // ..H'..>.......}. + 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x75, 0x55, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x30, 0x59, // ......uU......0Y + 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xf3, 0x47, 0x00, 0x00, 0x42, 0x13, // ..A........G..B. + 0x00, 0x00, 0x41, 0x0a, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..A.......=..... + 0x00, 0x00, 0x73, 0x36, 0x00, 0x00, 0xf3, 0x47, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, // ..s6...G........ + 0x00, 0x00, 0x38, 0x2b, 0x00, 0x00, 0x73, 0x36, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xf7, 0x00, // ..8+..s6........ + 0x03, 0x00, 0x74, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x38, 0x2b, // ..tU..........8+ + 0x00, 0x00, 0x2c, 0x2e, 0x00, 0x00, 0x31, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x2c, 0x2e, // ..,...1Y......,. + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa2, 0x10, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0xf9, 0x00, // ..>............. + 0x02, 0x00, 0x74, 0x55, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x31, 0x59, 0x00, 0x00, 0x41, 0x00, // ..tU......1Y..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xf4, 0x47, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // .......G..B...A. + 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x74, 0x36, // ......=.......t6 + 0x00, 0x00, 0xf4, 0x47, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x39, 0x2b, // ...G..........9+ + 0x00, 0x00, 0x74, 0x36, 0x00, 0x00, 0xa2, 0x0b, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x35, 0x35, // ..t6..........55 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x39, 0x2b, 0x00, 0x00, 0xf8, 0x20, // ..........9+... + 0x00, 0x00, 0x35, 0x35, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xf8, 0x20, 0x00, 0x00, 0x3d, 0x00, // ..55....... ..=. + 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xec, 0x38, 0x00, 0x00, 0x09, 0x40, 0x00, 0x00, 0x3e, 0x00, // .......8...@..>. + 0x03, 0x00, 0x12, 0x25, 0x00, 0x00, 0xec, 0x38, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, // ...%...8..9..... + 0x00, 0x00, 0xd6, 0x4f, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0xfe, 0x0e, 0x00, 0x00, 0x12, 0x25, // ...O...........% + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, 0xd6, 0x4f, 0x00, 0x00, 0x41, 0x00, // ..>........O..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x21, 0x45, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // ......!E..B...A. + 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xb3, 0x60, // ......=........` + 0x00, 0x00, 0x21, 0x45, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3a, 0x2b, // ..!E..........:+ + 0x00, 0x00, 0xb3, 0x60, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0x32, 0x59, // ...`..........2Y + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x3a, 0x2b, 0x00, 0x00, 0x3d, 0x22, // ..........:+..=" + 0x00, 0x00, 0x32, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3d, 0x22, 0x00, 0x00, 0x3d, 0x00, // ..2Y......="..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x08, 0x2e, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x4f, 0x00, // ..............O. + 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0xdf, 0x5c, 0x00, 0x00, 0x08, 0x2e, 0x00, 0x00, 0x08, 0x2e, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x41, 0x00, // ..............A. + 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xfa, 0x23, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x13, 0x0a, // .......#........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x32, 0x00, 0x00, 0xfa, 0x23, // ..=........2...# + 0x00, 0x00, 0x8e, 0x00, 0x05, 0x00, 0x18, 0x00, 0x00, 0x00, 0x64, 0x1b, 0x00, 0x00, 0xdf, 0x5c, // ..........d..... + 0x00, 0x00, 0x18, 0x32, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x08, 0x40, // ...2..A........@ + 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, // ..........=..... + 0x00, 0x00, 0x89, 0x34, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ...4...@..Q..... + 0x00, 0x00, 0xa0, 0x3a, 0x00, 0x00, 0x64, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ...:..d.......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x99, 0x4a, 0x00, 0x00, 0x64, 0x1b, 0x00, 0x00, 0x01, 0x00, // .......J..d..... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x80, 0x56, 0x00, 0x00, 0x64, 0x1b, // ..Q........V..d. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x46, // ......P........F + 0x00, 0x00, 0xa0, 0x3a, 0x00, 0x00, 0x99, 0x4a, 0x00, 0x00, 0x80, 0x56, 0x00, 0x00, 0x89, 0x34, // ...:...J...V...4 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x0d, 0x46, 0x00, 0x00, 0xf9, 0x00, // ..>........F.... + 0x02, 0x00, 0x32, 0x59, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x32, 0x59, 0x00, 0x00, 0x41, 0x00, // ..2Y......2Y..A. + 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xf5, 0x47, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x41, 0x0a, // .......G..B...A. + 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x75, 0x36, // ......=.......u6 + 0x00, 0x00, 0xf5, 0x47, 0x00, 0x00, 0xb4, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00, 0x00, 0x3b, 0x2b, // ...G..........;+ + 0x00, 0x00, 0x75, 0x36, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x03, 0x00, 0xe1, 0x5b, // ..u6...........[ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x3b, 0x2b, 0x00, 0x00, 0x3e, 0x22, // ..........;+..>" + 0x00, 0x00, 0xe1, 0x5b, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x3e, 0x22, 0x00, 0x00, 0x3d, 0x00, // ...[......>"..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xcf, 0x2d, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x4f, 0x00, // .......-......O. + 0x09, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x5c, 0x22, 0x00, 0x00, 0xcf, 0x2d, 0x00, 0x00, 0xcf, 0x2d, // ......."...-...- + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x5c, 0x22, 0x00, 0x00, 0xf9, 0x00, // ..>........".... + 0x02, 0x00, 0xe1, 0x5b, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xe1, 0x5b, 0x00, 0x00, 0x3d, 0x00, // ...[.......[..=. + 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x25, 0x30, 0x00, 0x00, 0x60, 0x0d, 0x00, 0x00, 0x3d, 0x00, // ......%0..`...=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x81, 0x5f, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x8e, 0x00, // ......._........ + 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x00, 0x81, 0x5f, 0x00, 0x00, 0x25, 0x30, // .......*..._..%0 + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x00, 0x3d, 0x00, // ..>........*..=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x41, 0x00, // .......Z......A. + 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0xbf, 0x45, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x35, 0x0a, // .......E..B...5. + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb0, 0x31, 0x00, 0x00, 0xbf, 0x45, // ..=........1...E + 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x3a, 0x00, 0x00, 0x00, 0x5a, // ...........:...Z + 0x00, 0x00, 0xb0, 0x31, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xa2, 0x10, 0x00, 0x00, 0xa4, 0x3a, // ...1..>........: + 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x35, 0x35, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x35, 0x35, // ......55......55 + 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x74, 0x55, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x74, 0x55, // ......tU......tU + 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x75, 0x55, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x75, 0x55, // ......uU......uU + 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0xb4, 0x31, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb4, 0x31, // .......1.......1 + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb5, 0x37, 0x00, 0x00, 0xa2, 0x10, // ..=........7.... + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x46, 0x51, 0x00, 0x00, 0xb5, 0x37, 0x00, 0x00, 0xfd, 0x00, // ..>...FQ...7.... + 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ..8.... +}; static const uint8_t fs_nanovg_fill_dx9[1583] = { 0x46, 0x53, 0x48, 0x04, 0xcf, 0xda, 0x1b, 0x94, 0x08, 0x00, 0x05, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -437,7 +1053,7 @@ static const uint8_t fs_nanovg_fill_dx11[2362] = 0x00, 0x00, 0x15, 0x00, 0x00, 0x01, 0x15, 0x00, 0x00, 0x01, 0x15, 0x00, 0x00, 0x01, 0x15, 0x00, // ................ 0x00, 0x01, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0xb0, 0x00, // ..>....... }; -static const uint8_t fs_nanovg_fill_mtl[3672] = +static const uint8_t fs_nanovg_fill_mtl[3462] = { 0x46, 0x53, 0x48, 0x04, 0xcf, 0xda, 0x1b, 0x94, 0x07, 0x00, 0x0c, 0x75, 0x5f, 0x73, 0x63, 0x69, // FSH........u_sci 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x75, 0x5f, // ssorMat.......u_ @@ -447,7 +1063,7 @@ static const uint8_t fs_nanovg_fill_mtl[3672] = 0x11, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, // .u_scissorExtSca 0x6c, 0x65, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, // le.......u_exten 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x08, 0x75, 0x5f, // tRadius.......u_ - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0xc7, 0x0d, 0x00, 0x00, // params.......... + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0xf5, 0x0c, 0x00, 0x00, // params.......... 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, // using namespace 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, // metal;.struct xl 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput @@ -456,219 +1072,206 @@ static const uint8_t fs_nanovg_fill_mtl[3672] = 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, // v_texcoord0;.}; 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, // .struct xlatMtlS 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, // haderOutput {. - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, // half4 gl_FragCol - 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, // or;.};.struct xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, // atMtlShaderUnifo - 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, // rm {. float3x3 - 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x3b, 0x0a, 0x20, 0x20, // u_scissorMat;. - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, // float3x3 u_paint - 0x4d, 0x61, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, // Mat;. float4 u_ - 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // innerCol;. floa - 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x3b, 0x0a, 0x20, // t4 u_outerCol;. - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, // float4 u_scisso - 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, // rExtScale;. flo - 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, // at4 u_extentRadi - 0x75, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x70, // us;. float4 u_p - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, // arams;.};.fragme - 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, // nt xlatMtlShader - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, // Output xlatMtlMa - 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // in (xlatMtlShade - 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, // rInput _mtl_i [[ - 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, // stage_in]], cons - 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, // tant xlatMtlShad - 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // erUniform& _mtl_ - 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, // u [[buffer(0)]]. - 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, // , texture2d< - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, 0x74, // float> s_tex [[t - 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam - 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t - 0x65, 0x78, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, // ex [[sampler(0)] - 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, // ]).{. xlatMtlSh - 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // aderOutput _mtl_ - 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, // o;. half4 resul - 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // t_1 = 0;. float - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_2 = 0;. - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x73, 0x63, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x30, // float2 sc_3 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // ;. float3 tmpva - 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_4 = 0;. tmpva - 0x72, 0x5f, 0x34, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, // r_4.z = 1.0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x6d, 0x74, // mpvar_4.xy = _mt - 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, // l_i.v_position;. - 0x20, 0x20, 0x73, 0x63, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, // sc_3 = (float2 - 0x28, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x28, 0x0a, // (0.5, 0.5) - ((. - 0x20, 0x20, 0x20, 0x20, 0x61, 0x62, 0x73, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, // abs((_mtl_u. - 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x74, // u_scissorMat * t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x29, 0x2e, 0x78, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, // mpvar_4).xy). - 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, // - _mtl_u.u_sciss - 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x78, 0x79, 0x29, 0x20, 0x2a, // orExtScale.xy) * - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, // _mtl_u.u_scisso - 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x7a, 0x77, 0x29, 0x29, 0x3b, 0x0a, // rExtScale.zw));. - 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6c, // tmpvar_2 = (cl - 0x61, 0x6d, 0x70, 0x20, 0x28, 0x73, 0x63, 0x5f, 0x33, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, // amp (sc_3.x, 0.0 - 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, // , 1.0) * clamp ( - 0x73, 0x63, 0x5f, 0x33, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, // sc_3.y, 0.0, 1.0 - 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, // ));. float tmpv - 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, // ar_5 = 0;. tmpv - 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x6e, 0x20, 0x28, 0x31, 0x2e, 0x30, // ar_5 = (min (1.0 - 0x2c, 0x20, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x61, // , (. (1.0 - a - 0x62, 0x73, 0x28, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, // bs(((_mtl_i.v_te - 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x2e, 0x30, 0x29, // xcoord0.x * 2.0) - 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x2a, 0x20, 0x5f, // - 1.0))). * _ - 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x79, // mtl_u.u_params.y - 0x29, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x69, 0x6e, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x5f, // )) * min (1.0, _ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // mtl_i.v_texcoord - 0x30, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, // 0.y));. if ((_m - 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, // tl_u.u_params.w - 0x3d, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, // == 0.0)) {. f - 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, // loat4 color_6 = - 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, // 0;. float3 tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // pvar_7 = 0;. - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, // tmpvar_7.z = 1.0 - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x2e, 0x78, // ;. tmpvar_7.x - 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, // y = _mtl_i.v_pos - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // ition;. float - 0x32, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, // 2 tmpvar_8 = 0;. - 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, 0x20, 0x28, // tmpvar_8 = ( - 0x61, 0x62, 0x73, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, // abs((_mtl_u.u_pa - 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // intMat * tmpvar_ - 0x37, 0x29, 0x2e, 0x78, 0x79, 0x29, 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // 7).xy) - (_mtl_u - 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, // .u_extentRadius. - 0x78, 0x79, 0x20, 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x65, 0x78, // xy - _mtl_u.u_ex - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x7a, 0x7a, 0x29, 0x29, 0x3b, // tentRadius.zz)); + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, // float4 gl_FragCo + 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, // lor;.};.struct x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif + 0x6f, 0x72, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, // orm {. float3x3 + 0x20, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x3b, 0x0a, 0x20, // u_scissorMat;. + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x78, 0x33, 0x20, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, // float3x3 u_pain + 0x74, 0x4d, 0x61, 0x74, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, // tMat;. float4 u + 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, // _innerCol;. flo + 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x3b, 0x0a, // at4 u_outerCol;. + 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, // float4 u_sciss + 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, // orExtScale;. fl + 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, // oat4 u_extentRad + 0x69, 0x75, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, // ius;. float4 u_ + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, // params;.};.fragm + 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // ent xlatMtlShade + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, // rOutput xlatMtlM + 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, // ain (xlatMtlShad + 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, // erInput _mtl_i [ + 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, // [stage_in]], con + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, // stant xlatMtlSha + 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // derUniform& _mtl + 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, // _u [[buffer(0)]] + 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, // . , texture2d + 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, // s_tex [[ + 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, // texture(0)]], sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // mpler _mtlsmp_s_ + 0x74, 0x65, 0x78, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x28, 0x30, 0x29, // tex [[sampler(0) + 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, // ]]).{. xlatMtlS + 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // haderOutput _mtl + 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x72, 0x65, 0x73, // _o;. float4 res + 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, // ult_1 = 0;. flo + 0x61, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, // at tmpvar_2 = 0; + 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x73, 0x63, 0x5f, 0x33, 0x20, 0x3d, // . float2 sc_3 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, // 0;. float3 tmp + 0x76, 0x61, 0x72, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, // var_4 = 0;. tmp + 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, // var_4.z = 1.0;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x5f, // tmpvar_4.xy = _ + 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // mtl_i.v_position + 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x63, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, // ;. sc_3 = (floa + 0x74, 0x32, 0x28, 0x30, 0x2e, 0x35, 0x2c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2d, 0x20, 0x28, // t2(0.5, 0.5) - ( + 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x62, 0x73, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // (. abs((_mtl_ + 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, 0x72, 0x4d, 0x61, 0x74, 0x20, 0x2a, // u.u_scissorMat * + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x34, 0x29, 0x2e, 0x78, 0x79, 0x29, 0x0a, 0x20, // tmpvar_4).xy). + 0x20, 0x20, 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, // - _mtl_u.u_sci + 0x73, 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x78, 0x79, 0x29, // ssorExtScale.xy) + 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x73, 0x63, 0x69, 0x73, // * _mtl_u.u_scis + 0x73, 0x6f, 0x72, 0x45, 0x78, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x7a, 0x77, 0x29, 0x29, // sorExtScale.zw)) + 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x28, // ;. tmpvar_2 = ( + 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, 0x73, 0x63, 0x5f, 0x33, 0x2e, 0x78, 0x2c, 0x20, 0x30, // clamp (sc_3.x, 0 + 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, // .0, 1.0) * clamp + 0x20, 0x28, 0x73, 0x63, 0x5f, 0x33, 0x2e, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, // (sc_3.y, 0.0, 1 + 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x74, 0x6d, // .0));. float tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // pvar_5 = 0;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x6e, 0x20, 0x28, 0x31, // pvar_5 = (min (1 + 0x2e, 0x30, 0x2c, 0x20, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, // .0, (. (1.0 - + 0x20, 0x61, 0x62, 0x73, 0x28, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, // abs(((_mtl_i.v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x2e, // texcoord0.x * 2. + 0x30, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x2a, // 0) - 1.0))). * + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // _mtl_u.u_params + 0x2e, 0x79, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x69, 0x6e, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x2c, // .y)) * min (1.0, + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // _mtl_i.v_texcoo + 0x72, 0x64, 0x30, 0x2e, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, // rd0.y));. if (( + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, // _mtl_u.u_params. + 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, // w == 0.0)) {. + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, // float3 tmpvar_6 + 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // = 0;. tmpvar + 0x5f, 0x36, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // _6.z = 1.0;. + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x6d, // tmpvar_6.xy = _m + 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, // tl_i.v_position; 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x74, 0x6d, 0x70, 0x76, // . float2 tmpv - 0x61, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, // ar_9 = 0;. tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x28, 0x74, 0x6d, // pvar_9 = max (tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, // pvar_8, 0.0);. - 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x78, // color_6 = (mix - 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // (_mtl_u.u_inner - 0x43, 0x6f, 0x6c, 0x2c, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x6f, 0x75, // Col, _mtl_u.u_ou - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x2c, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, 0x0a, // terCol, clamp (. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x28, 0x28, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // ((((. - 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x78, 0x20, 0x28, 0x74, 0x6d, 0x70, // min (max (tmp - 0x76, 0x61, 0x72, 0x5f, 0x38, 0x2e, 0x78, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // var_8.x, tmpvar_ - 0x38, 0x2e, 0x79, 0x29, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // 8.y), 0.0). - 0x20, 0x20, 0x2b, 0x20, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x71, 0x72, // + . sqr - 0x74, 0x28, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x2c, // t(dot (tmpvar_9, - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x39, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, // tmpvar_9)). - 0x20, 0x20, 0x29, 0x20, 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x65, // ) - _mtl_u.u_e - 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x7a, 0x29, 0x20, 0x2b, // xtentRadius.z) + - 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, // (_mtl_u.u_param - 0x73, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x5f, 0x6d, // s.x * 0.5)) / _m - 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x29, // tl_u.u_params.x) - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, // . , 0.0, 1.0) - 0x29, 0x20, 0x2a, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x2a, 0x20, // ) * (tmpvar_5 * - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // tmpvar_2));. - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, // result_1 = half4 - 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x36, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, // (color_6);. } e - 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, // lse {. if ((_ - 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, // mtl_u.u_params.w - 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // == 1.0)) {. - 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, // half4 color_10 - 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // = 0;. floa - 0x74, 0x33, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x30, // t3 tmpvar_11 = 0 - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // ;. tmpvar_1 - 0x31, 0x2e, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // 1.z = 1.0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, // tmpvar_11.xy = - 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // _mtl_i.v_positio - 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, // n;. float2 - 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_12 = 0;. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x20, 0x3d, // tmpvar_12 = - 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, // ((_mtl_u.u_pain - 0x74, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, // tMat * tmpvar_11 - 0x29, 0x2e, 0x78, 0x79, 0x20, 0x2f, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, // ).xy / _mtl_u.u_ - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x78, 0x79, 0x29, // extentRadius.xy) - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, // ;. half4 tm - 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, // pvar_13 = 0;. - 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x68, // tmpvar_13 = h - 0x61, 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // alf4(s_tex.sampl - 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2c, // e(_mtlsmp_s_tex, - 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // (float2)(tmpvar - 0x5f, 0x31, 0x32, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, // _12)));. co - 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // lor_10 = tmpvar_ - 0x31, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, // 13;. if ((_ - 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, // mtl_u.u_params.z - 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // == 1.0)) {. - 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // half4 tmpvar - 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // _14 = 0;. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, // tmpvar_14.xyz = - 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x20, // (tmpvar_13.xyz - 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x2e, 0x77, 0x29, 0x3b, 0x0a, // * tmpvar_13.w);. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // tmpvar_1 - 0x34, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x33, 0x2e, // 4.w = tmpvar_13. - 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // w;. color - 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x34, 0x3b, // _10 = tmpvar_14; - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // . };. - 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, // if ((_mtl_u.u_pa - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x29, 0x20, // rams.z == 2.0)) - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, // {. color_ - 0x31, 0x30, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x78, // 10 = color_10.xx - 0x78, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, // xx;. };. - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x28, // color_10 = (( - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x28, // half4)((float4)( - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // color_10) * _mtl - 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x29, 0x29, 0x3b, // _u.u_innerCol)); - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x20, // . color_10 - 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, // = ((half4)((floa - 0x74, 0x34, 0x29, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x30, 0x29, 0x20, 0x2a, 0x20, // t4)(color_10) * - 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, // (tmpvar_5 * tmpv - 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, // ar_2)));. r + 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, // ar_7 = 0;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x61, 0x62, 0x73, 0x28, 0x28, 0x5f, // pvar_7 = (abs((_ + 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x74, // mtl_u.u_paintMat + 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x36, 0x29, 0x2e, 0x78, 0x79, 0x29, // * tmpvar_6).xy) + 0x20, 0x2d, 0x20, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, // - (_mtl_u.u_ext + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x78, 0x79, 0x20, 0x2d, 0x20, 0x5f, // entRadius.xy - _ + 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, // mtl_u.u_extentRa + 0x64, 0x69, 0x75, 0x73, 0x2e, 0x7a, 0x7a, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x66, // dius.zz));. f + 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x20, 0x3d, // loat2 tmpvar_8 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, // 0;. tmpvar_8 + 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x78, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, // = max (tmpvar_7 + 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, // , 0.0);. resu + 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x69, 0x78, 0x20, 0x28, 0x5f, 0x6d, 0x74, // lt_1 = (mix (_mt + 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x2c, 0x20, // l_u.u_innerCol, + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x43, 0x6f, // _mtl_u.u_outerCo + 0x6c, 0x2c, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // l, clamp (. + 0x20, 0x28, 0x28, 0x28, 0x28, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x69, // ((((. mi + 0x6e, 0x20, 0x28, 0x6d, 0x61, 0x78, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, // n (max (tmpvar_7 + 0x2e, 0x78, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x37, 0x2e, 0x79, 0x29, 0x2c, // .x, tmpvar_7.y), + 0x20, 0x30, 0x2e, 0x30, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2b, 0x20, 0x0a, // 0.0). + . + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x71, 0x72, 0x74, 0x28, 0x64, 0x6f, 0x74, // sqrt(dot + 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x38, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x76, // (tmpvar_8, tmpv + 0x61, 0x72, 0x5f, 0x38, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x29, 0x20, 0x2d, // ar_8)). ) - + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, // _mtl_u.u_extent + 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x7a, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x5f, 0x6d, 0x74, // Radius.z) + (_mt + 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x20, 0x2a, // l_u.u_params.x * + 0x20, 0x30, 0x2e, 0x35, 0x29, 0x29, 0x20, 0x2f, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, // 0.5)) / _mtl_u. + 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, // u_params.x). + 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, // , 0.0, 1.0)) * ( + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // tmpvar_5 * tmpva + 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, // r_2));. } else + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // {. if ((_mtl_ + 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, // u.u_params.w == + 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, // 1.0)) {. fl + 0x6f, 0x61, 0x74, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x30, // oat4 color_9 = 0 + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x20, 0x74, // ;. float3 t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // mpvar_10 = 0;. + 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x30, 0x2e, 0x7a, 0x20, // tmpvar_10.z + 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, // = 1.0;. tmp + 0x76, 0x61, 0x72, 0x5f, 0x31, 0x30, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // var_10.xy = _mtl + 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, // _i.v_position;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, // float4 tmpv + 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // ar_11 = 0;. + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x5f, 0x74, // tmpvar_11 = s_t + 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, // ex.sample(_mtlsm + 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, // p_s_tex, (float2 + 0x29, 0x28, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x69, // )(((_mtl_u.u_pai + 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, // ntMat * tmpvar_1 + 0x30, 0x29, 0x2e, 0x78, 0x79, 0x20, 0x2f, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, // 0).xy / _mtl_u.u + 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x2e, 0x78, 0x79, // _extentRadius.xy + 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, // )));. color + 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x3b, 0x0a, // _9 = tmpvar_11;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // if ((_mtl_ + 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x20, 0x3d, 0x3d, 0x20, // u.u_params.z == + 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 1.0)) {. + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, // float4 tmpvar_12 + 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, // = 0;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x74, // pvar_12.xyz = (t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x74, // mpvar_11.xyz * t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // mpvar_11.w);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x2e, 0x77, // tmpvar_12.w + 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x31, 0x2e, 0x77, 0x3b, 0x0a, // = tmpvar_11.w;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x20, // color_9 + 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, // = tmpvar_12;. + 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, // };. if ( + 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, // (_mtl_u.u_params + 0x2e, 0x7a, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, // .z == 2.0)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, // color_9 = + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x2e, 0x78, 0x78, 0x78, 0x78, 0x3b, 0x0a, 0x20, 0x20, // color_9.xxxx;. + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, // };. col + 0x6f, 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x20, // or_9 = (color_9 + 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // * _mtl_u.u_inner + 0x43, 0x6f, 0x6c, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, // Col);. colo + 0x72, 0x5f, 0x39, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x39, 0x20, 0x2a, // r_9 = (color_9 * + 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x35, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, // (tmpvar_5 * tmp + 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, // var_2));. r 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, // esult_1 = color_ - 0x31, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, // 10;. } else { - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // . if ((_mtl - 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x3d, 0x3d, // _u.u_params.w == - 0x20, 0x32, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 2.0)) {. - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, // result_1 = half - 0x34, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, // 4(float4(1.0, 1. - 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x20, // 0, 1.0, 1.0));. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, // } else {. + 0x39, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, // 9;. } else {. 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // if ((_mtl_ 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, // u.u_params.w == - 0x33, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 3.0)) {. - 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, // half4 color_15 - 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // = 0;. - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, // half4 tmpvar_16 - 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, // = 0;. t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x20, 0x3d, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, // mpvar_16 = half4 - 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, // (s_tex.sample(_m - 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x28, 0x66, 0x6c, // tlsmp_s_tex, (fl - 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, // oat2)(_mtl_i.v_t - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, // excoord0)));. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x20, // color_15 - 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x3b, 0x0a, 0x20, 0x20, 0x20, // = tmpvar_16;. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, // if ((_mtl - 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x20, 0x3d, 0x3d, // _u.u_params.z == - 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 1.0)) {. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // half4 tmpva - 0x72, 0x5f, 0x31, 0x37, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // r_17 = 0;. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x37, 0x2e, // tmpvar_17. - 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, // xyz = (tmpvar_16 - 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, // .xyz * tmpvar_16 - 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // .w);. - 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x37, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x74, // tmpvar_17.w = t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x36, 0x2e, 0x77, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // mpvar_16.w;. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, // color_15 - 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x37, 0x3b, 0x0a, 0x20, 0x20, // = tmpvar_17;. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // };. - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, // if ((_mtl_u - 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x20, 0x3d, 0x3d, 0x20, 0x32, // .u_params.z == 2 - 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // .0)) {. - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x63, 0x6f, // color_15 = co - 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x2e, 0x78, 0x78, 0x78, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x20, // lor_15.xxxx;. + 0x32, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 2.0)) {. + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, // result_1 = float + 0x34, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x2c, // 4(1.0, 1.0, 1.0, + 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x20, 0x65, // 1.0);. } e + 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, // lse {. if + 0x20, 0x28, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, // ((_mtl_u.u_para + 0x6d, 0x73, 0x2e, 0x77, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, // ms.w == 3.0)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, // float4 + 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // color_13 = 0;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, // float4 + 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, // tmpvar_14 = 0;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // tmpvar_ + 0x31, 0x34, 0x20, 0x3d, 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2e, 0x73, 0x61, 0x6d, 0x70, 0x6c, // 14 = s_tex.sampl + 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x2c, // e(_mtlsmp_s_tex, + 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, // (float2)(_mtl_i + 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x29, 0x3b, 0x0a, // .v_texcoord0));. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, // color_ + 0x31, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x34, 0x3b, 0x0a, // 13 = tmpvar_14;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, // if ((_ + 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, // mtl_u.u_params.z + 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, // == 1.0)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, // float4 t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, // mpvar_15 = 0;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // tmpvar + 0x5f, 0x31, 0x35, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, // _15.xyz = (tmpva + 0x72, 0x5f, 0x31, 0x34, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // r_14.xyz * tmpva + 0x72, 0x5f, 0x31, 0x34, 0x2e, 0x77, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // r_14.w);. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x35, 0x2e, 0x77, // tmpvar_15.w + 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x34, 0x2e, 0x77, 0x3b, 0x0a, // = tmpvar_14.w;. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, // colo + 0x72, 0x5f, 0x31, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x35, // r_13 = tmpvar_15 + 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, // ;. };. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x28, 0x5f, 0x6d, // if ((_m + 0x74, 0x6c, 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x7a, 0x20, // tl_u.u_params.z + 0x3d, 0x3d, 0x20, 0x32, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, // == 2.0)) {. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, 0x20, // color_13 + 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, 0x2e, 0x78, 0x78, 0x78, 0x78, 0x3b, // = color_13.xxxx; + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, // . };. + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, // color_13 + 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x2a, 0x20, 0x74, // = (color_13 * t + 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // mpvar_2);. + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, // result_1 = ( + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x33, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // color_13 * _mtl_ + 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x29, 0x3b, 0x0a, 0x20, // u.u_innerCol);. 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // };. - 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x20, 0x3d, 0x20, 0x28, // color_15 = ( - 0x28, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, // (half4)((float4) - 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, // (color_15) * tmp - 0x76, 0x61, 0x72, 0x5f, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // var_2));. - 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x28, // result_1 = (( - 0x68, 0x61, 0x6c, 0x66, 0x34, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x29, 0x28, // half4)((float4)( - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x31, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // color_15) * _mtl - 0x5f, 0x75, 0x2e, 0x75, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x29, 0x29, 0x3b, // _u.u_innerCol)); - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, // . };. - 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x3b, // };. };. }; - 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, // . _mtl_o.gl_Fra - 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, // gColor = result_ - 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // 1;. return _mtl - 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _o;.}... + 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, // };. };. };. + 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, // _mtl_o.gl_FragC + 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x31, 0x3b, // olor = result_1; + 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, // . return _mtl_o + 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // ;.}... }; extern const uint8_t* fs_nanovg_fill_pssl; extern const uint32_t fs_nanovg_fill_pssl_size; diff --git a/3rdparty/bgfx/examples/common/nanovg/nanovg.cpp b/3rdparty/bgfx/examples/common/nanovg/nanovg.cpp index ae696b3b428..36a87ff7f25 100644 --- a/3rdparty/bgfx/examples/common/nanovg/nanovg.cpp +++ b/3rdparty/bgfx/examples/common/nanovg/nanovg.cpp @@ -257,10 +257,14 @@ static void nvg__setDevicePixelRatio(NVGcontext* ctx, float ratio) static NVGcompositeOperationState nvg__compositeOperationState(int op) { - int sfactor = NVG_ONE; - int dfactor = NVG_ONE_MINUS_SRC_ALPHA; + int sfactor, dfactor; - if (op == NVG_SOURCE_IN) + if (op == NVG_SOURCE_OVER) + { + sfactor = NVG_ONE; + dfactor = NVG_ONE_MINUS_SRC_ALPHA; + } + else if (op == NVG_SOURCE_IN) { sfactor = NVG_DST_ALPHA; dfactor = NVG_ZERO; @@ -310,6 +314,11 @@ static NVGcompositeOperationState nvg__compositeOperationState(int op) sfactor = NVG_ONE_MINUS_DST_ALPHA; dfactor = NVG_ONE_MINUS_SRC_ALPHA; } + else + { + sfactor = NVG_ONE; + dfactor = NVG_ZERO; + } NVGcompositeOperationState state; state.srcRGB = sfactor; @@ -431,8 +440,7 @@ void nvgCancelFrame(NVGcontext* ctx) void nvgEndFrame(NVGcontext* ctx) { - NVGstate* state = nvg__getState(ctx); - ctx->params.renderFlush(ctx->params.userPtr, state->compositeOperation); + ctx->params.renderFlush(ctx->params.userPtr); if (ctx->fontImageIdx != 0) { int fontImage = ctx->fontImages[ctx->fontImageIdx]; int i, j, iw, ih; @@ -508,7 +516,7 @@ NVGcolor nvgLerpRGBA(NVGcolor c0, NVGcolor c1, float u) { int i; float oneminu; - NVGcolor cint; + NVGcolor cint = {{{0}}}; u = nvg__clampf(u, 0.0f, 1.0f); oneminu = 1.0f - u; @@ -2166,22 +2174,31 @@ void nvgRect(NVGcontext* ctx, float x, float y, float w, float h) void nvgRoundedRect(NVGcontext* ctx, float x, float y, float w, float h, float r) { - if (r < 0.1f) { - nvgRect(ctx, x,y,w,h); + nvgRoundedRectVarying(ctx, x, y, w, h, r, r, r, r); +} + +void nvgRoundedRectVarying(NVGcontext* ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft) +{ + if(radTopLeft < 0.1f && radTopRight < 0.1f && radBottomRight < 0.1f && radBottomLeft < 0.1f) { + nvgRect(ctx, x, y, w, h); return; - } - else { - float rx = nvg__minf(r, nvg__absf(w)*0.5f) * nvg__signf(w), ry = nvg__minf(r, nvg__absf(h)*0.5f) * nvg__signf(h); + } else { + float halfw = nvg__absf(w)*0.5f; + float halfh = nvg__absf(h)*0.5f; + float rxBL = nvg__minf(radBottomLeft, halfw) * nvg__signf(w), ryBL = nvg__minf(radBottomLeft, halfh) * nvg__signf(h); + float rxBR = nvg__minf(radBottomRight, halfw) * nvg__signf(w), ryBR = nvg__minf(radBottomRight, halfh) * nvg__signf(h); + float rxTR = nvg__minf(radTopRight, halfw) * nvg__signf(w), ryTR = nvg__minf(radTopRight, halfh) * nvg__signf(h); + float rxTL = nvg__minf(radTopLeft, halfw) * nvg__signf(w), ryTL = nvg__minf(radTopLeft, halfh) * nvg__signf(h); float vals[] = { - NVG_MOVETO, x, y+ry, - NVG_LINETO, x, y+h-ry, - NVG_BEZIERTO, x, y+h-ry*(1-NVG_KAPPA90), x+rx*(1-NVG_KAPPA90), y+h, x+rx, y+h, - NVG_LINETO, x+w-rx, y+h, - NVG_BEZIERTO, x+w-rx*(1-NVG_KAPPA90), y+h, x+w, y+h-ry*(1-NVG_KAPPA90), x+w, y+h-ry, - NVG_LINETO, x+w, y+ry, - NVG_BEZIERTO, x+w, y+ry*(1-NVG_KAPPA90), x+w-rx*(1-NVG_KAPPA90), y, x+w-rx, y, - NVG_LINETO, x+rx, y, - NVG_BEZIERTO, x+rx*(1-NVG_KAPPA90), y, x, y+ry*(1-NVG_KAPPA90), x, y+ry, + NVG_MOVETO, x, y + ryTL, + NVG_LINETO, x, y + h - ryBL, + NVG_BEZIERTO, x, y + h - ryBL*(1 - NVG_KAPPA90), x + rxBL*(1 - NVG_KAPPA90), y + h, x + rxBL, y + h, + NVG_LINETO, x + w - rxBR, y + h, + NVG_BEZIERTO, x + w - rxBR*(1 - NVG_KAPPA90), y + h, x + w, y + h - ryBR*(1 - NVG_KAPPA90), x + w, y + h - ryBR, + NVG_LINETO, x + w, y + ryTR, + NVG_BEZIERTO, x + w, y + ryTR*(1 - NVG_KAPPA90), x + w - rxTR*(1 - NVG_KAPPA90), y, x + w - rxTR, y, + NVG_LINETO, x + rxTL, y, + NVG_BEZIERTO, x + rxTL*(1 - NVG_KAPPA90), y, x, y + ryTL*(1 - NVG_KAPPA90), x, y + ryTL, NVG_CLOSE }; nvg__appendCommands(ctx, vals, NVG_COUNTOF(vals)); @@ -2245,7 +2262,7 @@ void nvgFill(NVGcontext* ctx) fillPaint.innerColor.a *= state->alpha; fillPaint.outerColor.a *= state->alpha; - ctx->params.renderFill(ctx->params.userPtr, &fillPaint, &state->scissor, ctx->fringeWidth, + ctx->params.renderFill(ctx->params.userPtr, &fillPaint, state->compositeOperation, &state->scissor, ctx->fringeWidth, ctx->cache->bounds, ctx->cache->paths, ctx->cache->npaths); // Count triangles @@ -2286,7 +2303,7 @@ void nvgStroke(NVGcontext* ctx) else nvg__expandStroke(ctx, strokeWidth*0.5f, state->lineCap, state->lineJoin, state->miterLimit); - ctx->params.renderStroke(ctx->params.userPtr, &strokePaint, &state->scissor, ctx->fringeWidth, + ctx->params.renderStroke(ctx->params.userPtr, &strokePaint, state->compositeOperation, &state->scissor, ctx->fringeWidth, strokeWidth, ctx->cache->paths, ctx->cache->npaths); // Count triangles @@ -2434,7 +2451,7 @@ static void nvg__renderText(NVGcontext* ctx, NVGvertex* verts, int nverts) paint.innerColor.a *= state->alpha; paint.outerColor.a *= state->alpha; - ctx->params.renderTriangles(ctx->params.userPtr, &paint, &state->scissor, verts, nverts); + ctx->params.renderTriangles(ctx->params.userPtr, &paint, state->compositeOperation, &state->scissor, verts, nverts); ctx->drawCallCount++; ctx->textTriCount += nverts/3; @@ -2587,6 +2604,7 @@ enum NVGcodepointType { NVG_SPACE, NVG_NEWLINE, NVG_CHAR, + NVG_CJK_CHAR, }; int nvgTextBreakLines(NVGcontext* ctx, const char* string, const char* end, float breakRowWidth, NVGtextRow* rows, int maxRows) @@ -2654,7 +2672,15 @@ int nvgTextBreakLines(NVGcontext* ctx, const char* string, const char* end, floa type = NVG_NEWLINE; break; default: - type = NVG_CHAR; + if ((iter.codepoint >= 0x4E00 && iter.codepoint <= 0x9FFF) || + (iter.codepoint >= 0x3000 && iter.codepoint <= 0x30FF) || + (iter.codepoint >= 0xFF00 && iter.codepoint <= 0xFFEF) || + (iter.codepoint >= 0x1100 && iter.codepoint <= 0x11FF) || + (iter.codepoint >= 0x3130 && iter.codepoint <= 0x318F) || + (iter.codepoint >= 0xAC00 && iter.codepoint <= 0xD7AF)) + type = NVG_CJK_CHAR; + else + type = NVG_CHAR; break; } @@ -2681,7 +2707,7 @@ int nvgTextBreakLines(NVGcontext* ctx, const char* string, const char* end, floa } else { if (rowStart == NULL) { // Skip white space until the beginning of the line - if (type == NVG_CHAR) { + if (type == NVG_CHAR || type == NVG_CJK_CHAR) { // The current char is the row so far rowStartX = iter.x; rowStart = iter.str; @@ -2701,26 +2727,26 @@ int nvgTextBreakLines(NVGcontext* ctx, const char* string, const char* end, floa float nextWidth = iter.nextx - rowStartX; // track last non-white space character - if (type == NVG_CHAR) { + if (type == NVG_CHAR || type == NVG_CJK_CHAR) { rowEnd = iter.next; rowWidth = iter.nextx - rowStartX; rowMaxX = q.x1 - rowStartX; } // track last end of a word - if (ptype == NVG_CHAR && type == NVG_SPACE) { + if (((ptype == NVG_CHAR || ptype == NVG_CJK_CHAR) && type == NVG_SPACE) || type == NVG_CJK_CHAR) { breakEnd = iter.str; breakWidth = rowWidth; breakMaxX = rowMaxX; } // track last beginning of a word - if (ptype == NVG_SPACE && type == NVG_CHAR) { + if ((ptype == NVG_SPACE && (type == NVG_CHAR || type == NVG_CJK_CHAR)) || type == NVG_CJK_CHAR) { wordStart = iter.str; wordStartX = iter.x; wordMinX = q.x0 - rowStartX; } // Break to new line when a character is beyond break width. - if (type == NVG_CHAR && nextWidth > breakRowWidth) { + if ((type == NVG_CHAR || type == NVG_CJK_CHAR) && nextWidth > breakRowWidth) { // The run length is too long, need to break to new line. if (breakEnd == rowStart) { // The current word is longer than the row length, just break it from here. diff --git a/3rdparty/bgfx/examples/common/nanovg/nanovg.h b/3rdparty/bgfx/examples/common/nanovg/nanovg.h index 31109efad28..7881043187b 100644 --- a/3rdparty/bgfx/examples/common/nanovg/nanovg.h +++ b/3rdparty/bgfx/examples/common/nanovg/nanovg.h @@ -143,6 +143,7 @@ enum NVGimageFlags { NVG_IMAGE_REPEATY = 1<<2, // Repeat image in Y direction. NVG_IMAGE_FLIPY = 1<<3, // Flips (inverses) image in Y direction when rendered. NVG_IMAGE_PREMULTIPLIED = 1<<4, // Image data has premultiplied alpha. + NVG_IMAGE_NEAREST = 1<<5, // Image interpolation is Nearest instead Linear }; // Begin drawing a new frame @@ -267,7 +268,7 @@ void nvgLineCap(NVGcontext* ctx, int cap); void nvgLineJoin(NVGcontext* ctx, int join); // Sets the transparency applied to all rendered shapes. -// Alreade transparent paths will get proportionally more transparent as well. +// Already transparent paths will get proportionally more transparent as well. void nvgGlobalAlpha(NVGcontext* ctx, float alpha); // @@ -399,7 +400,7 @@ NVGpaint nvgLinearGradient(NVGcontext* ctx, float sx, float sy, float ex, float NVGcolor icol, NVGcolor ocol); // Creates and returns a box gradient. Box gradient is a feathered rounded rectangle, it is useful for rendering -// drop shadows or hilights for boxes. Parameters (x,y) define the top-left corner of the rectangle, +// drop shadows or highlights for boxes. Parameters (x,y) define the top-left corner of the rectangle, // (w,h) define the size of the rectangle, r defines the corner radius, and f feather. Feather defines how blurry // the border of the rectangle is. Parameter icol specifies the inner color and ocol the outer color of the gradient. // The gradient is transformed by the current transform when it is passed to nvgFillPaint() or nvgStrokePaint(). @@ -491,6 +492,9 @@ void nvgRect(NVGcontext* ctx, float x, float y, float w, float h); // Creates new rounded rectangle shaped sub-path. void nvgRoundedRect(NVGcontext* ctx, float x, float y, float w, float h, float r); +// Creates new rounded rectangle shaped sub-path with varying radii for each corner. +void nvgRoundedRectVarying(NVGcontext* ctx, float x, float y, float w, float h, float radTopLeft, float radTopRight, float radBottomRight, float radBottomLeft); + // Creates new ellipse shaped sub-path. void nvgEllipse(NVGcontext* ctx, float cx, float cy, float rx, float ry); @@ -650,10 +654,10 @@ struct NVGparams { int (*renderGetTextureSize)(void* uptr, int image, int* w, int* h); void (*renderViewport)(void* uptr, int width, int height, float devicePixelRatio); void (*renderCancel)(void* uptr); - void (*renderFlush)(void* uptr, NVGcompositeOperationState compositeOperation); - void (*renderFill)(void* uptr, NVGpaint* paint, NVGscissor* scissor, float fringe, const float* bounds, const NVGpath* paths, int npaths); - void (*renderStroke)(void* uptr, NVGpaint* paint, NVGscissor* scissor, float fringe, float strokeWidth, const NVGpath* paths, int npaths); - void (*renderTriangles)(void* uptr, NVGpaint* paint, NVGscissor* scissor, const NVGvertex* verts, int nverts); + void (*renderFlush)(void* uptr); + void (*renderFill)(void* uptr, NVGpaint* paint, NVGcompositeOperationState compositeOperation, NVGscissor* scissor, float fringe, const float* bounds, const NVGpath* paths, int npaths); + void (*renderStroke)(void* uptr, NVGpaint* paint, NVGcompositeOperationState compositeOperation, NVGscissor* scissor, float fringe, float strokeWidth, const NVGpath* paths, int npaths); + void (*renderTriangles)(void* uptr, NVGpaint* paint, NVGcompositeOperationState compositeOperation, NVGscissor* scissor, const NVGvertex* verts, int nverts); void (*renderDelete)(void* uptr); }; typedef struct NVGparams NVGparams; diff --git a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp index 0b5a094c1a7..78d854bfac6 100644 --- a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp +++ b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp @@ -72,6 +72,14 @@ namespace int flags; }; + struct GLNVGblend + { + uint64_t srcRGB; + uint64_t dstRGB; + uint64_t srcAlpha; + uint64_t dstAlpha; + }; + enum GLNVGcallType { GLNVG_FILL, @@ -89,6 +97,7 @@ namespace int vertexOffset; int vertexCount; int uniformOffset; + GLNVGblend blendFunc; }; struct GLNVGpath @@ -190,7 +199,7 @@ namespace int old = gl->ctextures; gl->ctextures = (gl->ctextures == 0) ? 2 : gl->ctextures*2; gl->textures = (struct GLNVGtexture*)BX_REALLOC(gl->m_allocator, gl->textures, sizeof(struct GLNVGtexture)*gl->ctextures); - memset(&gl->textures[old], 0xff, (gl->ctextures-old)*sizeof(struct GLNVGtexture) ); + bx::memSet(&gl->textures[old], 0xff, (gl->ctextures-old)*sizeof(struct GLNVGtexture) ); if (gl->textures == NULL) { @@ -200,7 +209,7 @@ namespace tex = &gl->textures[gl->ntextures++]; } - memset(tex, 0, sizeof(*tex) ); + bx::memSet(tex, 0, sizeof(*tex) ); return tex; } @@ -230,7 +239,7 @@ namespace { bgfx::destroyTexture(gl->textures[ii].id); } - memset(&gl->textures[ii], 0, sizeof(gl->textures[ii]) ); + bx::memSet(&gl->textures[ii], 0, sizeof(gl->textures[ii]) ); gl->textures[ii].id.idx = bgfx::invalidHandle; return 1; } @@ -252,7 +261,7 @@ namespace const bgfx::Memory* mem = bgfx::alloc(4*4*4); uint32_t* bgra8 = (uint32_t*)mem->data; - memset(bgra8, 0, 4*4*4); + bx::memSet(bgra8, 0, 4*4*4); gl->texMissing = bgfx::createTexture2D(4, 4, false, 1, bgfx::TextureFormat::BGRA8, 0, mem); gl->u_scissorMat = bgfx::createUniform("u_scissorMat", bgfx::UniformType::Mat3); @@ -354,6 +363,9 @@ namespace uint32_t bytesPerPixel = NVG_TEXTURE_RGBA == tex->type ? 4 : 1; uint32_t pitch = tex->width * bytesPerPixel; + const bgfx::Memory* mem = bgfx::alloc(w * h * bytesPerPixel); + bx::gather(mem->data, data + y * pitch + x * bytesPerPixel, w * bytesPerPixel, h, pitch); + bgfx::updateTexture2D( tex->id , 0 @@ -362,8 +374,8 @@ namespace , y , w , h - , bgfx::copy(data + y*pitch + x*bytesPerPixel, h*pitch) - , pitch + , mem + , UINT16_MAX ); return 1; @@ -415,14 +427,14 @@ namespace struct GLNVGtexture* tex = NULL; float invxform[6] = {}; - memset(frag, 0, sizeof(*frag) ); + bx::memSet(frag, 0, sizeof(*frag) ); frag->innerCol = glnvg__premulColor(paint->innerColor); frag->outerCol = glnvg__premulColor(paint->outerColor); if (scissor->extent[0] < -0.5f || scissor->extent[1] < -0.5f) { - memset(frag->scissorMat, 0, sizeof(frag->scissorMat) ); + bx::memSet(frag->scissorMat, 0, sizeof(frag->scissorMat) ); frag->scissorExt[0] = 1.0f; frag->scissorExt[1] = 1.0f; frag->scissorScale[0] = 1.0f; @@ -437,7 +449,7 @@ namespace frag->scissorScale[0] = sqrtf(scissor->xform[0]*scissor->xform[0] + scissor->xform[2]*scissor->xform[2]) / fringe; frag->scissorScale[1] = sqrtf(scissor->xform[1]*scissor->xform[1] + scissor->xform[3]*scissor->xform[3]) / fringe; } - memcpy(frag->extent, paint->extent, sizeof(frag->extent) ); + bx::memCopy(frag->extent, paint->extent, sizeof(frag->extent) ); frag->strokeMult = (width*0.5f + fringe*0.5f) / fringe; gl->th = gl->texMissing; @@ -705,16 +717,24 @@ namespace return s_blend[idx]; } - static uint64_t glnvg__blendCompositeOperation(NVGcompositeOperationState op) + static GLNVGblend glnvg__blendCompositeOperation(NVGcompositeOperationState op) { - return BGFX_STATE_BLEND_FUNC_SEPARATE( - glnvg_convertBlendFuncFactor(op.srcRGB), - glnvg_convertBlendFuncFactor(op.dstRGB), - glnvg_convertBlendFuncFactor(op.srcAlpha), - glnvg_convertBlendFuncFactor(op.dstAlpha)); + GLNVGblend blend; + blend.srcRGB = glnvg_convertBlendFuncFactor(op.srcRGB); + blend.dstRGB = glnvg_convertBlendFuncFactor(op.dstRGB); + blend.srcAlpha = glnvg_convertBlendFuncFactor(op.srcAlpha); + blend.dstAlpha = glnvg_convertBlendFuncFactor(op.dstAlpha); + if (blend.srcRGB == BGFX_STATE_NONE || blend.dstRGB == BGFX_STATE_NONE || blend.srcAlpha == BGFX_STATE_NONE || blend.dstAlpha == BGFX_STATE_NONE) + { + blend.srcRGB = BGFX_STATE_BLEND_ONE; + blend.dstRGB = BGFX_STATE_BLEND_INV_SRC_ALPHA; + blend.srcAlpha = BGFX_STATE_BLEND_ONE; + blend.dstAlpha = BGFX_STATE_BLEND_INV_SRC_ALPHA; + } + return blend; } - static void nvgRenderFlush(void* _userPtr, NVGcompositeOperationState compositeOperation) + static void nvgRenderFlush(void* _userPtr) { struct GLNVGcontext* gl = (struct GLNVGcontext*)_userPtr; @@ -730,18 +750,18 @@ namespace BX_WARN(true, "Vertex number truncated due to transient vertex buffer overflow"); } - memcpy(gl->tvb.data, gl->verts, gl->nverts * sizeof(struct NVGvertex) ); - - gl->state = glnvg__blendCompositeOperation(compositeOperation) - | BGFX_STATE_RGB_WRITE - | BGFX_STATE_ALPHA_WRITE - ; + bx::memCopy(gl->tvb.data, gl->verts, gl->nverts * sizeof(struct NVGvertex) ); bgfx::setUniform(gl->u_viewSize, gl->view); for (uint32_t ii = 0, num = gl->ncalls; ii < num; ++ii) { struct GLNVGcall* call = &gl->calls[ii]; + const GLNVGblend* blend = &call->blendFunc; + gl->state = BGFX_STATE_BLEND_FUNC_SEPARATE(blend->srcRGB, blend->dstRGB, blend->srcAlpha, blend->dstAlpha) + | BGFX_STATE_RGB_WRITE + | BGFX_STATE_ALPHA_WRITE + ; switch (call->type) { case GLNVG_FILL: @@ -792,7 +812,7 @@ namespace gl->calls = (struct GLNVGcall*)BX_REALLOC(gl->m_allocator, gl->calls, sizeof(struct GLNVGcall) * gl->ccalls); } ret = &gl->calls[gl->ncalls++]; - memset(ret, 0, sizeof(struct GLNVGcall) ); + bx::memSet(ret, 0, sizeof(struct GLNVGcall) ); return ret; } @@ -850,8 +870,8 @@ namespace vtx->v = v; } - static void nvgRenderFill(void* _userPtr, struct NVGpaint* paint, struct NVGscissor* scissor, float fringe, - const float* bounds, const struct NVGpath* paths, int npaths) + static void nvgRenderFill(void* _userPtr, NVGpaint* paint, NVGcompositeOperationState compositeOperation, NVGscissor* scissor, + float fringe, const float* bounds, const NVGpath* paths, int npaths) { struct GLNVGcontext* gl = (struct GLNVGcontext*)_userPtr; @@ -864,6 +884,7 @@ namespace call->pathOffset = glnvg__allocPaths(gl, npaths); call->pathCount = npaths; call->image = paint->image; + call->blendFunc = glnvg__blendCompositeOperation(compositeOperation); if (npaths == 1 && paths[0].convex) { @@ -878,12 +899,12 @@ namespace { struct GLNVGpath* copy = &gl->paths[call->pathOffset + i]; const struct NVGpath* path = &paths[i]; - memset(copy, 0, sizeof(struct GLNVGpath) ); + bx::memSet(copy, 0, sizeof(struct GLNVGpath) ); if (path->nfill > 0) { copy->fillOffset = offset; copy->fillCount = path->nfill; - memcpy(&gl->verts[offset], path->fill, sizeof(struct NVGvertex) * path->nfill); + bx::memCopy(&gl->verts[offset], path->fill, sizeof(struct NVGvertex) * path->nfill); offset += path->nfill; } @@ -891,7 +912,7 @@ namespace { copy->strokeOffset = offset; copy->strokeCount = path->nstroke; - memcpy(&gl->verts[offset], path->stroke, sizeof(struct NVGvertex) * path->nstroke); + bx::memCopy(&gl->verts[offset], path->stroke, sizeof(struct NVGvertex) * path->nstroke); offset += path->nstroke; } } @@ -914,7 +935,7 @@ namespace call->uniformOffset = glnvg__allocFragUniforms(gl, 2); // Simple shader for stencil frag = nvg__fragUniformPtr(gl, call->uniformOffset); - memset(frag, 0, sizeof(*frag) ); + bx::memSet(frag, 0, sizeof(*frag) ); frag->type = NSVG_SHADER_SIMPLE; // Fill shader glnvg__convertPaint(gl, nvg__fragUniformPtr(gl, call->uniformOffset + gl->fragSize), paint, scissor, fringe, fringe); @@ -927,7 +948,7 @@ namespace } } - static void nvgRenderStroke(void* _userPtr, struct NVGpaint* paint, struct NVGscissor* scissor, float fringe, + static void nvgRenderStroke(void* _userPtr, struct NVGpaint* paint, NVGcompositeOperationState compositeOperation, struct NVGscissor* scissor, float fringe, float strokeWidth, const struct NVGpath* paths, int npaths) { struct GLNVGcontext* gl = (struct GLNVGcontext*)_userPtr; @@ -939,6 +960,7 @@ namespace call->pathOffset = glnvg__allocPaths(gl, npaths); call->pathCount = npaths; call->image = paint->image; + call->blendFunc = glnvg__blendCompositeOperation(compositeOperation); // Allocate vertices for all the paths. maxverts = glnvg__maxVertCount(paths, npaths); @@ -948,12 +970,12 @@ namespace { struct GLNVGpath* copy = &gl->paths[call->pathOffset + i]; const struct NVGpath* path = &paths[i]; - memset(copy, 0, sizeof(struct GLNVGpath) ); + bx::memSet(copy, 0, sizeof(struct GLNVGpath) ); if (path->nstroke) { copy->strokeOffset = offset; copy->strokeCount = path->nstroke; - memcpy(&gl->verts[offset], path->stroke, sizeof(struct NVGvertex) * path->nstroke); + bx::memCopy(&gl->verts[offset], path->stroke, sizeof(struct NVGvertex) * path->nstroke); offset += path->nstroke; } } @@ -963,7 +985,7 @@ namespace glnvg__convertPaint(gl, nvg__fragUniformPtr(gl, call->uniformOffset), paint, scissor, strokeWidth, fringe); } - static void nvgRenderTriangles(void* _userPtr, struct NVGpaint* paint, struct NVGscissor* scissor, + static void nvgRenderTriangles(void* _userPtr, struct NVGpaint* paint, NVGcompositeOperationState compositeOperation, struct NVGscissor* scissor, const struct NVGvertex* verts, int nverts) { struct GLNVGcontext* gl = (struct GLNVGcontext*)_userPtr; @@ -972,11 +994,12 @@ namespace call->type = GLNVG_TRIANGLES; call->image = paint->image; + call->blendFunc = glnvg__blendCompositeOperation(compositeOperation); // Allocate vertices for all the paths. call->vertexOffset = glnvg__allocVerts(gl, nverts); call->vertexCount = nverts; - memcpy(&gl->verts[call->vertexOffset], verts, sizeof(struct NVGvertex) * nverts); + bx::memCopy(&gl->verts[call->vertexOffset], verts, sizeof(struct NVGvertex) * nverts); // Fill shader call->uniformOffset = glnvg__allocFragUniforms(gl, 1); @@ -1048,9 +1071,9 @@ NVGcontext* nvgCreate(int edgeaa, unsigned char _viewId, bx::AllocatorI* _alloca struct NVGcontext* ctx = NULL; struct GLNVGcontext* gl = (struct GLNVGcontext*)BX_ALLOC(_allocator, sizeof(struct GLNVGcontext) ); if (gl == NULL) goto error; - memset(gl, 0, sizeof(struct GLNVGcontext) ); + bx::memSet(gl, 0, sizeof(struct GLNVGcontext) ); - memset(¶ms, 0, sizeof(params) ); + bx::memSet(¶ms, 0, sizeof(params) ); params.renderCreate = nvgRenderCreate; params.renderCreateTexture = nvgRenderCreateTexture; params.renderDeleteTexture = nvgRenderDeleteTexture; @@ -1114,13 +1137,24 @@ bgfx::TextureHandle nvglImageHandle(NVGcontext* ctx, int image) return tex->id; } -NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, - int height, int imageFlags) { +NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, int height, int imageFlags, uint8_t viewId) +{ + NVGLUframebuffer* framebuffer = nvgluCreateFramebuffer(ctx, width, height, imageFlags); + if (framebuffer != NULL) + { + nvgluSetViewFramebuffer(viewId, framebuffer); + } + return framebuffer; +} + +NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, int height, int imageFlags) +{ NVGLUframebuffer* framebuffer = new NVGLUframebuffer; framebuffer->ctx = ctx; framebuffer->image = nvgCreateImageRGBA(ctx, width, height, imageFlags | NVG_IMAGE_PREMULTIPLIED, NULL); bgfx::TextureHandle texture = nvglImageHandle(ctx, framebuffer->image); - if (!bgfx::isValid(texture)) { + if (!bgfx::isValid(texture)) + { nvgluDeleteFramebuffer(framebuffer); return NULL; } @@ -1130,17 +1164,15 @@ NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, nvgluDeleteFramebuffer(framebuffer); return NULL; } - static uint8_t s_ViewId = 1; // may have a better way to assign new view id - framebuffer->viewId = s_ViewId++; - bgfx::setViewFrameBuffer(framebuffer->viewId, framebuffer->handle); - bgfx::setViewSeq(framebuffer->viewId, true); return framebuffer; } -void nvgluBindFramebuffer(NVGLUframebuffer* framebuffer) { +void nvgluBindFramebuffer(NVGLUframebuffer* framebuffer) +{ static NVGcontext* s_prevCtx = NULL; static uint8_t s_prevViewId; - if (framebuffer != NULL) { + if (framebuffer != NULL) + { s_prevCtx = framebuffer->ctx; s_prevViewId = nvgViewId(framebuffer->ctx); nvgViewId(framebuffer->ctx, framebuffer->viewId); @@ -1149,12 +1181,24 @@ void nvgluBindFramebuffer(NVGLUframebuffer* framebuffer) { } } -void nvgluDeleteFramebuffer(NVGLUframebuffer* framebuffer) { +void nvgluDeleteFramebuffer(NVGLUframebuffer* framebuffer) +{ if (framebuffer == NULL) return; if (bgfx::isValid(framebuffer->handle)) + { bgfx::destroyFrameBuffer(framebuffer->handle); + } if (framebuffer->image > 0) + { nvgDeleteImage(framebuffer->ctx, framebuffer->image); + } delete framebuffer; } + +void nvgluSetViewFramebuffer(uint8_t viewId, NVGLUframebuffer* framebuffer) +{ + framebuffer->viewId = viewId; + bgfx::setViewFrameBuffer(viewId, framebuffer->handle); + bgfx::setViewSeq(viewId, true); +} diff --git a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.h b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.h index 100a3c22b88..36ba0dd73ec 100644 --- a/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.h +++ b/3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.h @@ -30,6 +30,7 @@ void nvgViewId(struct NVGcontext* ctx, unsigned char _viewId); // Example: // float scale = 2; // NVGLUframebuffer* fb = nvgluCreateFramebuffer(ctx, 100 * scale, 100 * scale, 0); +// nvgluSetViewFramebuffer(VIEW_ID, fb); // nvgluBindFramebuffer(fb); // nvgBeginFrame(ctx, 100, 100, scale); // // renders anything offscreen @@ -44,8 +45,10 @@ void nvgViewId(struct NVGcontext* ctx, unsigned char _viewId); // nvgFillPaint(ctx, paint); // nvgFill(ctx); // nvgEndFrame(ctx); +NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, int height, int imageFlags, uint8_t viewId); NVGLUframebuffer* nvgluCreateFramebuffer(NVGcontext* ctx, int width, int height, int imageFlags); void nvgluBindFramebuffer(NVGLUframebuffer* framebuffer); void nvgluDeleteFramebuffer(NVGLUframebuffer* framebuffer); +void nvgluSetViewFramebuffer(uint8_t viewId, NVGLUframebuffer* framebuffer); #endif // NANOVG_BGFX_H_HEADER_GUARD diff --git a/3rdparty/bgfx/examples/common/nanovg/vs_nanovg_fill.bin.h b/3rdparty/bgfx/examples/common/nanovg/vs_nanovg_fill.bin.h index 0b348c84f6e..dcd529798e9 100644 --- a/3rdparty/bgfx/examples/common/nanovg/vs_nanovg_fill.bin.h +++ b/3rdparty/bgfx/examples/common/nanovg/vs_nanovg_fill.bin.h @@ -35,6 +35,223 @@ static const uint8_t vs_nanovg_fill_glsl[541] = 0x20, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x74, // gl_Position = t 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // mpvar_1;.}... }; +static const uint8_t vs_nanovg_fill_spv[3412] = +{ + 0x56, 0x53, 0x48, 0x04, 0xcf, 0xda, 0x1b, 0x94, 0x02, 0x00, 0x0b, 0x75, 0x5f, 0x68, 0x61, 0x6c, // VSH........u_hal + 0x66, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, // fTexel.......u_v + 0x69, 0x65, 0x77, 0x53, 0x69, 0x7a, 0x65, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x24, 0x0d, 0x03, // iewSize......$.. + 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0xfe, 0x61, 0x00, 0x00, 0x00, // .#..........a... + 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, // ................ + 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, // ...GLSL.std.450. + 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, // ................ + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, // ...........main. + 0x00, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, // ................ + 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, // ...........main. + 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x46, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, // .......F...Outpu + 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, // t......F.......g + 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x46, // l_Position.....F + 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // .......v_positio + 0x6e, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x46, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, // n......F.......v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0x06, // _texcoord0...... + 0x0f, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, 0x32, 0x3b, 0x76, 0x66, 0x32, // ...@main(vf2;vf2 + 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x48, 0x55, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, // ;......HU..a_pos + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x15, 0x26, 0x00, 0x00, 0x61, // ition.......&..a + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, // _texcoord0...... + 0x12, 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, // ..._varying_.... + 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, // .......$Global.. + 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x01, // wRect........... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, // ...u_viewTexel.. + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // ...........u_vie + 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, // w..............u + 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xd7, // _invView........ + 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, // .......u_proj... + 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, // ...........u_inv + 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x06, // Proj............ + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, // ...u_viewProj... + 0x00, 0x07, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, // ...........u_inv + 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0xd7, // ViewProj........ + 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, // .......u_model.. + 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // ...........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0a, // elView.......... + 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, // ...u_modelViewPr + 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, // oj.............u + 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, // _alphaRef4...... + 0x05, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x53, 0x69, 0x7a, // .......u_viewSiz + 0x65, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x75, // e..............u + 0x5f, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, // _halfTexel.....B + 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x61, // ............A..a + 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, // _position....... + 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, // ...a_position... + 0x00, 0x05, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // ...,?..a_texcoor + 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, // d0.........a_tex + 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, // coord0.........f + 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, // lattenTemp...... + 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, // U..param........ + 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, // ...param........ + 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, // ...@entryPointOu + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // tput_gl_Position + 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x06, 0x04, 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, // ...........Outpu + 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, // t..............v + 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, // _position....... + 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // .......v_texcoor + 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, // d0.........@entr + 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, // yPointOutput...G + 0x00, 0x04, 0x00, 0x20, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, // ... .......@...H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, // ...........#.... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x02, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x02, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, // ...#... ...H.... + 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, // ...........#...` + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x04, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x04, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, // ...#.......H.... + 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, // ...........#.... + 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x06, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x06, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, // ...#... ...H.... + 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, // ...........#...` + 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x08, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x08, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, // ...#.......H.... + 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, // ...........#.... + 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, // ...H............ + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0a, // .......H........ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0a, // .......H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, // ...#.......H.... + 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, // ...............H + 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, // ...........#... + 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x23, // ...H...........# + 0x00, 0x00, 0x00, 0x30, 0x0a, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x0d, // ...0...H........ + 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x40, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0xd7, // ...#...@...G.... + 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, // .......G...B..." + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, // .......G........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, // .......G........ + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, // .......G........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, // .......G........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, // ...............! + 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0d, // ... ............ + 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x07, // ....... ........ + 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, // ................ + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x46, 0x04, 0x00, 0x00, 0x1d, // ...........F.... + 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xb0, // ...........!.... + 0x07, 0x00, 0x00, 0x46, 0x04, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, // ...F........... + 0x00, 0x04, 0x00, 0xc3, 0x06, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0x04, 0x00, 0x00, 0x15, // ...........F.... + 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, // ....... .......+ + 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2b, // ...............+ + 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, // ..............., + 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, // ................ + 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, // ...+............ + 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, // .......e........ + 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, // ........... .... + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, // ...+.......j... + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x20, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, // ....... ...e...j + 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x10, 0x00, 0xd7, 0x05, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, // ................ + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, // ...e...e...e...e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x65, // ...e...e... ...e + 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, // ...e............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x54, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xd7, // ... ...T........ + 0x05, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x54, 0x08, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, // ...;...T...B.... + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x32, 0x0a, 0x00, 0x00, 0x0d, // ...+.......2.... + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1d, // ... ............ + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, // ...+............ + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, // ...+............ + 0x00, 0x00, 0x40, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x00, // ..@+............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, // ... ............ + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0c, // ...+......./.... + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x8b, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, // ... ............ + 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, // ...+............ + 0x00, 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x01, // ..?+............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, // ... ............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, // ... ............ + 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, // ...;............ + 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x91, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, // ...;............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, // ... ............ + 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, // ...;............ + 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x06, 0x04, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13, // ................ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x83, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, // ... ............ + 0x04, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x83, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, // ...;............ + 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x92, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, // ... ............ + 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, // ...6............ + 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, // ...........Sa..; + 0x00, 0x04, 0x00, 0xc3, 0x06, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, // ...............; + 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, // ........U......; + 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, // ...............= + 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, // ........A......= + 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, // .......,?......> + 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0xcb, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, // ....U...A..>.... + 0x16, 0x00, 0x00, 0x2c, 0x3f, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x46, 0x04, 0x00, 0x00, 0x49, // ...,?..9...F...I + 0x26, 0x00, 0x00, 0x06, 0x0f, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, // &.......U......> + 0x00, 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, // .......I&..A.... + 0x02, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, // ...T4..........= + 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, // ...........T4..> + 0x00, 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, // ...........A.... + 0x02, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, // ...'A..........= + 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, // ...........'A..A + 0x00, 0x05, 0x00, 0x92, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, // ........N....... + 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, // ...>....N......A + 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, // ........M....... + 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, // ...=............ + 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x92, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, // M..A............ + 0x0f, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, // .......>........ + 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x46, // .......8...6...F + 0x04, 0x00, 0x00, 0x06, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x07, 0x00, 0x00, 0x37, // ...............7 + 0x00, 0x03, 0x00, 0x90, 0x02, 0x00, 0x00, 0x48, 0x55, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x90, // .......HU..7.... + 0x02, 0x00, 0x00, 0x15, 0x26, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x08, 0x5f, 0x00, 0x00, 0x3b, // ....&......._..; + 0x00, 0x04, 0x00, 0xc3, 0x06, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, // ...............A + 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xd4, 0x1b, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, // ................ + 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd4, 0x1b, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x41, // ...>...........A + 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xb4, 0x3f, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, // ........?....... + 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xb4, 0x3f, 0x00, 0x00, 0x1f, 0x07, 0x00, 0x00, 0x3d, // ...>....?......= + 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xc6, 0x28, 0x00, 0x00, 0x48, 0x55, 0x00, 0x00, 0x41, // ........(..HU..A + 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0xd6, 0x43, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, // ........C....... + 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd6, 0x43, 0x00, 0x00, 0xc6, 0x28, 0x00, 0x00, 0x3d, // ...>....C...(..= + 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, 0xb3, 0x28, 0x00, 0x00, 0x15, 0x26, 0x00, 0x00, 0x41, // ........(...&..A + 0x00, 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xd9, 0x45, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x32, // ........E..B...2 + 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x43, 0x5f, 0x00, 0x00, 0xd9, // ...=.......C_... + 0x45, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1d, 0x5d, 0x00, 0x00, 0x43, // E..O........]..C + 0x5f, 0x00, 0x00, 0x43, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, // _..C_........... + 0x00, 0x05, 0x00, 0x13, 0x00, 0x00, 0x00, 0xdc, 0x2b, 0x00, 0x00, 0xb3, 0x28, 0x00, 0x00, 0x1d, // ........+...(... + 0x5d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x90, 0x02, 0x00, 0x00, 0x5a, 0x56, 0x00, 0x00, 0x0f, // ]..A.......ZV... + 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x5a, 0x56, 0x00, 0x00, 0xdc, // .......>...ZV... + 0x2b, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xb9, 0x45, 0x00, 0x00, 0x0f, // +..A........E... + 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, // ...........=.... + 0x00, 0x00, 0x00, 0x8f, 0x2c, 0x00, 0x00, 0xb9, 0x45, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, // ....,...E....... + 0x00, 0x00, 0x00, 0xc5, 0x2e, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x8f, 0x2c, 0x00, 0x00, 0x41, // ............,..A + 0x00, 0x06, 0x00, 0x8b, 0x02, 0x00, 0x00, 0xec, 0x38, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, // ........8..B.../ + 0x0a, 0x00, 0x00, 0x0a, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf0, // .......=........ + 0x51, 0x00, 0x00, 0xec, 0x38, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x72, // Q...8..........r + 0x37, 0x00, 0x00, 0xc5, 0x2e, 0x00, 0x00, 0xf0, 0x51, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x0d, // 7.......Q....... + 0x00, 0x00, 0x00, 0xa4, 0x44, 0x00, 0x00, 0x72, 0x37, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, // ....D..r7......A + 0x00, 0x06, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x42, 0x1f, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, // .......B........ + 0x0a, 0x00, 0x00, 0x0d, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfd, // .......=........ + 0x61, 0x00, 0x00, 0x42, 0x1f, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xc6, // a..B............ + 0x2e, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xfd, 0x61, 0x00, 0x00, 0x41, 0x00, 0x06, 0x00, 0x8b, // ........a..A.... + 0x02, 0x00, 0x00, 0xed, 0x38, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x2f, 0x0a, 0x00, 0x00, 0x0d, // ....8..B.../.... + 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xf1, 0x51, 0x00, 0x00, 0xed, // ...=........Q... + 0x38, 0x00, 0x00, 0x88, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8f, 0x38, 0x00, 0x00, 0xc6, // 8...........8... + 0x2e, 0x00, 0x00, 0xf1, 0x51, 0x00, 0x00, 0x83, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xcd, // ....Q........... + 0x3a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x8f, 0x38, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, // :.......8..P.... + 0x00, 0x00, 0x00, 0xb3, 0x40, 0x00, 0x00, 0xa4, 0x44, 0x00, 0x00, 0xcd, 0x3a, 0x00, 0x00, 0x0c, // ....@...D...:... + 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x2b, // .......A.......+ + 0x33, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x2b, // 3..........>...+ + 0x33, 0x00, 0x00, 0xb3, 0x40, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x46, 0x04, 0x00, 0x00, 0xd1, // 3...@..=...F.... + 0x5b, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0xd1, 0x5b, 0x00, 0x00, 0x38, // [...........[..8 + 0x00, 0x01, 0x00, 0x00, // .... +}; static const uint8_t vs_nanovg_fill_dx9[424] = { 0x56, 0x53, 0x48, 0x04, 0xcf, 0xda, 0x1b, 0x94, 0x02, 0x00, 0x0b, 0x75, 0x5f, 0x68, 0x61, 0x6c, // VSH........u_hal diff --git a/3rdparty/bgfx/examples/common/packrect.h b/3rdparty/bgfx/examples/common/packrect.h index 35747ef5cfd..fa6ebebe213 100644 --- a/3rdparty/bgfx/examples/common/packrect.h +++ b/3rdparty/bgfx/examples/common/packrect.h @@ -38,7 +38,7 @@ public: { m_bw = _width/64; m_bh = _height/numBlocks; - memset(m_mem, 0xff, sizeof(m_mem) ); + bx::memSet(m_mem, 0xff, sizeof(m_mem) ); } bool find(uint16_t _width, uint16_t _height, Pack2D& _pack) diff --git a/3rdparty/bgfx/examples/common/ps/fs_particle.bin.h b/3rdparty/bgfx/examples/common/ps/fs_particle.bin.h index 3c96bf68ac5..0f34e0595af 100644 --- a/3rdparty/bgfx/examples/common/ps/fs_particle.bin.h +++ b/3rdparty/bgfx/examples/common/ps/fs_particle.bin.h @@ -27,6 +27,248 @@ static const uint8_t fs_particle_glsl[403] = 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, // olor = rgba_1;.} 0x0a, 0x0a, 0x00, // ... }; +static const uint8_t fs_particle_spv[3821] = +{ + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xe0, 0x0e, 0x03, 0x02, 0x23, 0x07, // FSH...........#. + 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0xb1, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........a...... + 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, // ................ + 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, // GLSL.std.450.... + 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x08, 0x00, // ................ + 0x04, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, // ........main.... + 0x77, 0x0e, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x10, 0x00, 0x03, 0x00, // w...t........... + 0x1f, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, 0x00, 0x00, // ................ + 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // main........a... + 0x42, 0x67, 0x66, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x00, 0x00, 0x00, // BgfxSampler2D... + 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x73, 0x61, // ....a.......m_sa + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x61, 0x09, 0x00, 0x00, // mpler.......a... + 0x01, 0x00, 0x00, 0x00, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, // ....m_texture... + 0x05, 0x00, 0x0e, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x62, 0x67, 0x66, 0x78, 0x54, 0x65, 0x78, 0x74, // ........bgfxText + 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2d, 0x42, 0x67, 0x66, // ure2D(struct-Bgf + 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x2d, 0x70, 0x31, 0x2d, 0x74, 0x32, // xSampler2D-p1-t2 + 0x31, 0x31, 0x3b, 0x76, 0x66, 0x32, 0x3b, 0x00, 0x05, 0x00, 0x05, 0x00, 0x27, 0x0e, 0x00, 0x00, // 11;vf2;.....'... + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, // _sampler........ + 0xe7, 0x15, 0x00, 0x00, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, // ...._coord...... + 0x35, 0x13, 0x00, 0x00, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x74, 0x28, 0x66, // 5...vec4_splat(f + 0x31, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x03, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0x5f, 0x78, 0x00, 0x00, // 1;.........._x.. + 0x05, 0x00, 0x07, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x66, // ........@main(vf + 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // 4;vf4;vf4;...... + 0x42, 0x24, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, // B$..v_color0.... + 0x05, 0x00, 0x05, 0x00, 0x78, 0x20, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ....x ..v_texcoo + 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x06, 0x00, 0xc4, 0x41, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, // rd0......A..gl_F + 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, // ragData_0_...... + 0x43, 0x12, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x00, 0x00, // C...s_texColor.. + 0x05, 0x00, 0x07, 0x00, 0xb2, 0x0c, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // ........s_texCol + 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x05, 0x00, 0x07, 0x00, // orSampler....... + 0xee, 0x0e, 0x00, 0x00, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x65, // ....s_texColorTe + 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xa0, 0x11, 0x00, 0x00, // xture........... + 0x62, 0x67, 0x66, 0x78, 0x5f, 0x56, 0x6f, 0x69, 0x64, 0x46, 0x72, 0x61, 0x67, 0x00, 0x00, 0x00, // bgfx_VoidFrag... + 0x05, 0x00, 0x04, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // .....T..param... + 0x05, 0x00, 0x04, 0x00, 0x60, 0x10, 0x00, 0x00, 0x72, 0x67, 0x62, 0x61, 0x00, 0x00, 0x00, 0x00, // ....`...rgba.... + 0x05, 0x00, 0x04, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, // ........param... + 0x05, 0x00, 0x05, 0x00, 0xfa, 0x41, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // .....A..v_color0 + 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, // ........w...v_co + 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x03, 0x3c, 0x00, 0x00, // lor0.........<.. + 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, // v_texcoord0..... + 0x74, 0x14, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, // t...v_texcoord0. + 0x05, 0x00, 0x06, 0x00, 0xce, 0x1c, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, // ........gl_FragD + 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xc9, 0x47, 0x00, 0x00, // ata_0_.......G.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0xab, 0x55, 0x00, 0x00, // param........U.. + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, // param........... + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x00, 0xd1, 0x0d, 0x00, 0x00, // param........... + 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x5f, 0x30, 0x5f, 0x00, 0x00, // gl_FragData_0_.. + 0x05, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, // ........$Global. + 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, // ewRect.......... + 0x01, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, // ....u_viewTexel. + 0x06, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ew.............. + 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // u_invView....... + 0xf3, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ........u_proj.. + 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, // vProj........... + 0x06, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, // ....u_viewProj.. + 0x06, 0x00, 0x07, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, // ............u_in + 0x76, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, // vViewProj....... + 0xf3, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, // ........u_model. + 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, // ............u_mo + 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0xf3, 0x01, 0x00, 0x00, // delView......... + 0x0a, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, // ....u_modelViewP + 0x72, 0x6f, 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, // roj............. + 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x47, 0x00, 0x04, 0x00, // u_alphaRef4.G... + 0xb2, 0x0c, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xb2, 0x0c, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0xee, 0x0e, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....".......G... + 0xee, 0x0e, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ....!.......G... + 0x77, 0x0e, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // w...........G... + 0x74, 0x14, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // t...........G... + 0xd1, 0x0d, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, // ............G... + 0x35, 0x09, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // 5.......@...H... + 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // H...........#... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, // #... ...H....... + 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, // ........#...`... + 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, // #.......H....... + 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, // #... ...H....... + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, // ........#...`... + 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, // #.......H....... + 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, // ........#....... + 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, // H............... + 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, // ....H........... + 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0xf3, 0x01, 0x00, 0x00, // #.......H....... + 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, // ............H... + 0xf3, 0x01, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, // ........#... ... + 0x47, 0x00, 0x03, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, // G............... + 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // ....!........... + 0x1a, 0x00, 0x02, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x00, 0x00, // ................ + 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x09, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ............... + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x61, 0x09, 0x00, 0x00, // ............a... + 0xfc, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, // ........ ....... + 0x00, 0x00, 0x00, 0x00, 0x61, 0x09, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x13, 0x00, 0x00, 0x00, // ....a........... + 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x90, 0x02, 0x00, 0x00, // ........ ....... + 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21, 0x00, 0x05, 0x00, 0xc2, 0x03, 0x00, 0x00, // ........!....... + 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x8a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x04, 0x00, // ............!... + 0xef, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, // ............ ... + 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, // ............!... + 0x91, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, // ................ + 0x9a, 0x02, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, // ....;.......C... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ...y....... + 0xfc, 0x01, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x79, 0x04, 0x00, 0x00, 0xb2, 0x0c, 0x00, 0x00, // ....;...y....... + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .... ........... + 0x96, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x13, 0x03, 0x00, 0x00, 0xee, 0x0e, 0x00, 0x00, // ....;........... + 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // ............ ... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, // ....+........... + 0x01, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, // ....+........... + 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x03, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, // ................ + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // +............... + 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ................ + 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ ....... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // +............... + 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, // +..............? + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // +............... + 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x77, 0x0e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......w....... + 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x74, 0x14, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // ;.......t....... + 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ............... + 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd1, 0x0d, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, // ;............... + 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, // ....e........... + 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // +.......j... ... + 0x1c, 0x00, 0x04, 0x00, 0x35, 0x09, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, // ....5...e...j... + 0x1e, 0x00, 0x0e, 0x00, 0xf3, 0x01, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, // ................ + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...e...e... + 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x35, 0x09, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, // e...e...5...e... + 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, // e.......6....... + 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // ................ + 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // Sa..;........G.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xab, 0x55, 0x00, 0x00, // ....;........U.. + 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, // ....;........... + 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x21, 0x43, 0x00, 0x00, // ....=.......!C.. + 0xb2, 0x0c, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, // ....=........3.. + 0xee, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x61, 0x09, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, // ....P...a.... .. + 0x21, 0x43, 0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x43, 0x12, 0x00, 0x00, // !C...3..>...C... + 0x12, 0x20, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // . ..=........A.. + 0x77, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, // w...=........<.. + 0x74, 0x14, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x47, 0x00, 0x00, 0xfa, 0x41, 0x00, 0x00, // t...>....G...A.. + 0x3e, 0x00, 0x03, 0x00, 0xab, 0x55, 0x00, 0x00, 0x03, 0x3c, 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, // >....U...<..9... + 0x08, 0x00, 0x00, 0x00, 0xbd, 0x26, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, 0xc9, 0x47, 0x00, 0x00, // .....&.......G.. + 0xab, 0x55, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .U......=....... + 0xce, 0x1c, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xd1, 0x0d, 0x00, 0x00, // ........>....... + 0xce, 0x1c, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ........8...6... + 0x1d, 0x00, 0x00, 0x00, 0x99, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0x03, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......'...7... + 0x90, 0x02, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xcd, 0x5b, 0x00, 0x00, // .............[.. + 0x41, 0x00, 0x05, 0x00, 0x13, 0x03, 0x00, 0x00, 0x69, 0x24, 0x00, 0x00, 0x27, 0x0e, 0x00, 0x00, // A.......i$..'... + 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x96, 0x00, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, // ....=........1.. + 0x69, 0x24, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x79, 0x04, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, // i$..A...y...TD.. + 0x27, 0x0e, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0xfc, 0x01, 0x00, 0x00, // '.......=....... + 0x9b, 0x56, 0x00, 0x00, 0x54, 0x44, 0x00, 0x00, 0x56, 0x00, 0x05, 0x00, 0xfe, 0x01, 0x00, 0x00, // .V..TD..V....... + 0xc9, 0x42, 0x00, 0x00, 0x16, 0x31, 0x00, 0x00, 0x9b, 0x56, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // .B...1...V..=... + 0x13, 0x00, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, 0xe7, 0x15, 0x00, 0x00, 0x57, 0x00, 0x05, 0x00, // ....6.......W... + 0x1d, 0x00, 0x00, 0x00, 0xa4, 0x51, 0x00, 0x00, 0xc9, 0x42, 0x00, 0x00, 0x36, 0x1c, 0x00, 0x00, // .....Q...B..6... + 0xfe, 0x00, 0x02, 0x00, 0xa4, 0x51, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // .....Q..8...6... + 0x1d, 0x00, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, // ....5........... + 0x37, 0x00, 0x03, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xdd, 0x0e, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, // 7............... + 0x17, 0x3e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18, 0x53, 0x00, 0x00, // .>..=........S.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, // ....=.......]J.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, // ....=........4.. + 0xdd, 0x0e, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // ....=........5.. + 0xdd, 0x0e, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3f, 0x3a, 0x00, 0x00, // ....P.......?:.. + 0x18, 0x53, 0x00, 0x00, 0x5d, 0x4a, 0x00, 0x00, 0xfd, 0x34, 0x00, 0x00, 0x10, 0x35, 0x00, 0x00, // .S..]J...4...5.. + 0xfe, 0x00, 0x02, 0x00, 0x3f, 0x3a, 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, // ....?:..8...6... + 0x08, 0x00, 0x00, 0x00, 0x82, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, // ................ + 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, // 7.......B$..7... + 0x9a, 0x02, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, // ....x ..7....... + 0xc4, 0x41, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0xb2, 0x19, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .A..........;... + 0x8a, 0x02, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // .....T......;... + 0x9a, 0x02, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, // ....`.......;... + 0x90, 0x02, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // ............>... + 0xd5, 0x54, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x39, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, // .T......9....... + 0xa0, 0x11, 0x00, 0x00, 0x35, 0x13, 0x00, 0x00, 0xd5, 0x54, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ....5....T..=... + 0x1d, 0x00, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x4f, 0x00, 0x07, 0x00, // ....*F..x ..O... + 0x13, 0x00, 0x00, 0x00, 0xed, 0x44, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, 0x2a, 0x46, 0x00, 0x00, // .....D..*F..*F.. + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc9, 0x2e, 0x00, 0x00, // ........>....... + 0xed, 0x44, 0x00, 0x00, 0x39, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x19, 0x54, 0x00, 0x00, // .D..9........T.. + 0x99, 0x0f, 0x00, 0x00, 0x43, 0x12, 0x00, 0x00, 0xc9, 0x2e, 0x00, 0x00, 0x4f, 0x00, 0x09, 0x00, // ....C.......O... + 0x1d, 0x00, 0x00, 0x00, 0xfb, 0x1a, 0x00, 0x00, 0x19, 0x54, 0x00, 0x00, 0x19, 0x54, 0x00, 0x00, // .........T...T.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x3e, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0xfb, 0x1a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // >...`.......=... + 0x1d, 0x00, 0x00, 0x00, 0x81, 0x1e, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, // ........`...O... + 0x18, 0x00, 0x00, 0x00, 0x60, 0x4a, 0x00, 0x00, 0x81, 0x1e, 0x00, 0x00, 0x81, 0x1e, 0x00, 0x00, // ....`J.......... + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, // ............=... + 0x1d, 0x00, 0x00, 0x00, 0x27, 0x3d, 0x00, 0x00, 0x42, 0x24, 0x00, 0x00, 0x4f, 0x00, 0x08, 0x00, // ....'=..B$..O... + 0x18, 0x00, 0x00, 0x00, 0xad, 0x59, 0x00, 0x00, 0x27, 0x3d, 0x00, 0x00, 0x27, 0x3d, 0x00, 0x00, // .....Y..'=..'=.. + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, // ................ + 0x18, 0x00, 0x00, 0x00, 0x5e, 0x46, 0x00, 0x00, 0x60, 0x4a, 0x00, 0x00, 0xad, 0x59, 0x00, 0x00, // ....^F..`J...Y.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x3c, 0x45, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // A..........`....a.. + 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0xf1, 0x3f, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, // A........?..`... + 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd2, 0x5f, 0x00, 0x00, // ....=........_.. + 0xf1, 0x3f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, 0x4d, 0x4c, 0x00, 0x00, // .?..A.......ML.. + 0x42, 0x24, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, // B$......=....... + 0xa0, 0x3b, 0x00, 0x00, 0x4d, 0x4c, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, // .;..ML.......... + 0x27, 0x1b, 0x00, 0x00, 0xd2, 0x5f, 0x00, 0x00, 0xa0, 0x3b, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, // '...._...;..A... + 0x8a, 0x02, 0x00, 0x00, 0x28, 0x3e, 0x00, 0x00, 0x78, 0x20, 0x00, 0x00, 0x10, 0x0a, 0x00, 0x00, // ....(>..x ...... + 0x3d, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12, 0x5b, 0x00, 0x00, 0x28, 0x3e, 0x00, 0x00, // =........[..(>.. + 0x83, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x81, 0x2d, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, // .........-...... + 0x12, 0x5b, 0x00, 0x00, 0x85, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xac, 0x59, 0x00, 0x00, // .[...........Y.. + 0x27, 0x1b, 0x00, 0x00, 0x81, 0x2d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x8a, 0x02, 0x00, 0x00, // '....-..A....... + 0x08, 0x4b, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x13, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, // .K..`.......>... + 0x08, 0x4b, 0x00, 0x00, 0xac, 0x59, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, // .K...Y..=....... + 0x95, 0x3e, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0xc4, 0x41, 0x00, 0x00, // .>..`...>....A.. + 0x95, 0x3e, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // .>......8.... +}; static const uint8_t fs_particle_dx9[326] = { 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x73, 0x5f, 0x74, 0x65, 0x78, // FSH........s_tex @@ -87,9 +329,9 @@ static const uint8_t fs_particle_dx11[517] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, // .............>.. 0x01, 0x00, 0x00, 0x00, 0x00, // ..... }; -static const uint8_t fs_particle_mtl[882] = +static const uint8_t fs_particle_mtl[808] = { - 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x63, 0x03, 0x00, 0x00, 0x75, 0x73, // FSH.......c...us + 0x46, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x19, 0x03, 0x00, 0x00, 0x75, 0x73, // FSH...........us 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x65, // ing namespace me 0x74, 0x61, 0x6c, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, // tal;.struct xlat 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x7b, // MtlShaderInput { @@ -97,54 +339,49 @@ static const uint8_t fs_particle_mtl[882] = 0x72, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x76, 0x5f, 0x74, // r0;. float4 v_t 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, // excoord0;.};.str 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, // uct xlatMtlShade - 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, // rOutput {. half - 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, // 4 gl_FragColor;. - 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, // };.struct xlatMt - 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x7b, // lShaderUniform { - 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, 0x61, // .};.fragment xla - 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, // tMtlShaderOutput - 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, 0x6c, // xlatMtlMain (xl - 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, // atMtlShaderInput - 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, // _mtl_i [[stage_ - 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x78, // in]], constant x - 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, // latMtlShaderUnif - 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, 0x75, // orm& _mtl_u [[bu - 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, 0x20, // ffer(0)]]. , - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3e, // texture2d - 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x74, 0x65, // s_texColor [[te - 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, // xture(0)]], samp - 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, // ler _mtlsmp_s_te - 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, // xColor [[sampler - 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // (0)]]).{. xlatM - 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x5f, // tlShaderOutput _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x34, 0x20, 0x72, // mtl_o;. half4 r - 0x67, 0x62, 0x61, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x68, 0x61, 0x6c, // gba_1 = 0;. hal - 0x66, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x3b, // f4 tmpvar_2 = 0; - 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x68, 0x61, // . tmpvar_2 = ha - 0x6c, 0x66, 0x34, 0x28, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, // lf4(s_texColor.s - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, // ample(_mtlsmp_s_ - 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texColor, (float - 0x32, 0x29, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, // 2)(_mtl_i.v_texc - 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x78, 0x79, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, // oord0.xy)));. r - 0x67, 0x62, 0x61, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x28, 0x68, // gba_1.xyz = (((h - 0x61, 0x6c, 0x66, 0x33, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x33, 0x29, 0x28, 0x74, // alf3)((float3)(t - 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x78, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x5f, // mpvar_2.xxx) * _ - 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, // mtl_i.v_color0.x - 0x79, 0x7a, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, 0x28, // yz)) * ((half)(( - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, // float)(tmpvar_2. - 0x78, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, // x) * _mtl_i.v_co - 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, // lor0.w)));. rgb - 0x61, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, // a_1.w = ((half)( - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x28, 0x28, 0x68, 0x61, 0x6c, 0x66, 0x29, 0x28, // (float)(((half)( - 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, // (float)(tmpvar_2 - 0x2e, 0x78, 0x29, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, // .x) * _mtl_i.v_c - 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, // olor0.w))) * (1. - 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, // 0 - _mtl_i.v_tex - 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x7a, 0x29, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, // coord0.z)));. _ - 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, // mtl_o.gl_FragCol - 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, // or = rgba_1;. r - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, // eturn _mtl_o;.}. - 0x0a, 0x00, // .. + 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, // rOutput {. floa + 0x74, 0x34, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, // t4 gl_FragColor; + 0x0a, 0x7d, 0x3b, 0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, // .};.struct xlatM + 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, // tlShaderUniform + 0x7b, 0x0a, 0x7d, 0x3b, 0x0a, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x78, 0x6c, // {.};.fragment xl + 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, // atMtlShaderOutpu + 0x74, 0x20, 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x78, // t xlatMtlMain (x + 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, // latMtlShaderInpu + 0x74, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x20, 0x5b, 0x5b, 0x73, 0x74, 0x61, 0x67, 0x65, // t _mtl_i [[stage + 0x5f, 0x69, 0x6e, 0x5d, 0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, // _in]], constant + 0x78, 0x6c, 0x61, 0x74, 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x55, 0x6e, 0x69, // xlatMtlShaderUni + 0x66, 0x6f, 0x72, 0x6d, 0x26, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x75, 0x20, 0x5b, 0x5b, 0x62, // form& _mtl_u [[b + 0x75, 0x66, 0x66, 0x65, 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x2c, 0x20, 0x20, // uffer(0)]]. , + 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x64, 0x3c, 0x66, 0x6c, 0x6f, 0x61, 0x74, // texture2d s_texColor [[t + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x6d, // exture(0)]], sam + 0x70, 0x6c, 0x65, 0x72, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, // pler _mtlsmp_s_t + 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x5b, 0x5b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, // exColor [[sample + 0x72, 0x28, 0x30, 0x29, 0x5d, 0x5d, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x78, 0x6c, 0x61, 0x74, // r(0)]]).{. xlat + 0x4d, 0x74, 0x6c, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, // MtlShaderOutput + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x34, // _mtl_o;. float4 + 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x66, // rgba_1 = 0;. f + 0x6c, 0x6f, 0x61, 0x74, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // loat4 tmpvar_2 = + 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x20, 0x3d, // 0;. tmpvar_2 = + 0x20, 0x73, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x73, 0x61, 0x6d, 0x70, // s_texColor.samp + 0x6c, 0x65, 0x28, 0x5f, 0x6d, 0x74, 0x6c, 0x73, 0x6d, 0x70, 0x5f, 0x73, 0x5f, 0x74, 0x65, 0x78, // le(_mtlsmp_s_tex + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, // Color, (float2)( + 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, // _mtl_i.v_texcoor + 0x64, 0x30, 0x2e, 0x78, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, // d0.xy));. rgba_ + 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, // 1.xyz = ((tmpvar + 0x5f, 0x32, 0x2e, 0x78, 0x78, 0x78, 0x20, 0x2a, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, // _2.xxx * _mtl_i. + 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x29, 0x20, 0x2a, 0x20, // v_color0.xyz) * + 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x5f, 0x6d, // (tmpvar_2.x * _m + 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x29, // tl_i.v_color0.w) + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, // );. rgba_1.w = + 0x28, 0x28, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x32, 0x2e, 0x78, 0x20, 0x2a, 0x20, 0x5f, // ((tmpvar_2.x * _ + 0x6d, 0x74, 0x6c, 0x5f, 0x69, 0x2e, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x77, // mtl_i.v_color0.w + 0x29, 0x20, 0x2a, 0x20, 0x28, 0x31, 0x2e, 0x30, 0x20, 0x2d, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, // ) * (1.0 - _mtl_ + 0x69, 0x2e, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x2e, 0x7a, 0x29, // i.v_texcoord0.z) + 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x5f, 0x6d, 0x74, 0x6c, 0x5f, 0x6f, 0x2e, 0x67, 0x6c, 0x5f, 0x46, // );. _mtl_o.gl_F + 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x72, 0x67, 0x62, 0x61, 0x5f, // ragColor = rgba_ + 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x5f, 0x6d, 0x74, 0x6c, // 1;. return _mtl + 0x5f, 0x6f, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // _o;.}... }; extern const uint8_t* fs_particle_pssl; extern const uint32_t fs_particle_pssl_size; diff --git a/3rdparty/bgfx/examples/common/ps/particle_system.cpp b/3rdparty/bgfx/examples/common/ps/particle_system.cpp index 4e135048dd2..34ea0261969 100644 --- a/3rdparty/bgfx/examples/common/ps/particle_system.cpp +++ b/3rdparty/bgfx/examples/common/ps/particle_system.cpp @@ -8,6 +8,7 @@ #include "particle_system.h" #include "../bgfx_utils.h" +#include "../packrect.h" #include #include @@ -183,6 +184,49 @@ namespace ps ; } +#define SPRITE_TEXTURE_SIZE 1024 + template + struct SpriteT + { + SpriteT() + : m_ra(TextureSizeT, TextureSizeT) + { + } + + EmitterSpriteHandle create(uint16_t _width, uint16_t _height) + { + EmitterSpriteHandle handle = { bx::HandleAlloc::invalid }; + + if (m_handleAlloc.getNumHandles() < m_handleAlloc.getMaxHandles() ) + { + Pack2D pack; + if (m_ra.find(_width, _height, pack) ) + { + handle.idx = m_handleAlloc.alloc(); + m_pack[handle.idx] = pack; + } + } + + return handle; + } + + void destroy(EmitterSpriteHandle _sprite) + { + const Pack2D& pack = m_pack[_sprite.idx]; + m_ra.clear(pack); + m_handleAlloc.free(_sprite.idx); + } + + const Pack2D& get(EmitterSpriteHandle _sprite) const + { + return m_pack[_sprite.idx]; + } + + bx::HandleAllocT m_handleAlloc; + Pack2D m_pack[MaxHandlesT]; + RectPack2DT<256> m_ra; + }; + struct Emitter { void create(EmitterShape::Enum _shape, EmitterDirection::Enum _direction, uint32_t _maxParticles); @@ -191,7 +235,7 @@ namespace ps void reset() { m_num = 0; - memset(&m_aabb, 0, sizeof(Aabb) ); + bx::memSet(&m_aabb, 0, sizeof(Aabb) ); } void update(float _dt) @@ -206,7 +250,7 @@ namespace ps { if (ii != num-1) { - memcpy(&particle, &m_particles[num-1], sizeof(Particle) ); + bx::memCopy(&particle, &m_particles[num-1], sizeof(Particle) ); --ii; } @@ -310,7 +354,7 @@ namespace ps bx::vec3MulMtx(particle.end[0], end, mtx); bx::vec3Add(particle.end[1], particle.end[0], gravity); - memcpy(particle.rgba, m_uniforms.m_rgba, BX_COUNTOF(m_uniforms.m_rgba)*sizeof(uint32_t) ); + bx::memCopy(particle.rgba, m_uniforms.m_rgba, BX_COUNTOF(m_uniforms.m_rgba)*sizeof(uint32_t) ); particle.blendStart = bx::flerp(m_uniforms.m_blendStart[0], m_uniforms.m_blendStart[1], bx::frnd(&m_rng) ); particle.blendEnd = bx::flerp(m_uniforms.m_blendEnd[0], m_uniforms.m_blendEnd[1], bx::frnd(&m_rng) ); @@ -322,7 +366,7 @@ namespace ps } } - uint32_t render(const float* _mtxView, const float* _eye, uint32_t _first, uint32_t _max, ParticleSort* _outSort, PosColorTexCoord0Vertex* _outVertices) + uint32_t render(const float _uv[4], const float* _mtxView, const float* _eye, uint32_t _first, uint32_t _max, ParticleSort* _outSort, PosColorTexCoord0Vertex* _outVertices) { bx::EaseFn easeRgba = s_easeFunc[m_uniforms.m_easeRgba]; bx::EaseFn easePos = s_easeFunc[m_uniforms.m_easePos]; @@ -385,8 +429,8 @@ namespace ps bx::vec3Sub(&vertex->m_x, tmp, vdir); aabbExpand(aabb, &vertex->m_x); vertex->m_abgr = abgr; - vertex->m_u = 0.0f; - vertex->m_v = 0.0f; + vertex->m_u = _uv[0]; + vertex->m_v = _uv[1]; vertex->m_blend = blend; ++vertex; @@ -394,8 +438,8 @@ namespace ps bx::vec3Sub(&vertex->m_x, tmp, vdir); aabbExpand(aabb, &vertex->m_x); vertex->m_abgr = abgr; - vertex->m_u = 1.0f; - vertex->m_v = 0.0f; + vertex->m_u = _uv[2]; + vertex->m_v = _uv[1]; vertex->m_blend = blend; ++vertex; @@ -403,8 +447,8 @@ namespace ps bx::vec3Add(&vertex->m_x, tmp, vdir); aabbExpand(aabb, &vertex->m_x); vertex->m_abgr = abgr; - vertex->m_u = 1.0f; - vertex->m_v = 1.0f; + vertex->m_u = _uv[2]; + vertex->m_v = _uv[3]; vertex->m_blend = blend; ++vertex; @@ -412,8 +456,8 @@ namespace ps bx::vec3Add(&vertex->m_x, tmp, vdir); aabbExpand(aabb, &vertex->m_x); vertex->m_abgr = abgr; - vertex->m_u = 0.0f; - vertex->m_v = 1.0f; + vertex->m_u = _uv[0]; + vertex->m_v = _uv[3]; vertex->m_blend = blend; ++vertex; } @@ -466,7 +510,13 @@ namespace ps m_num = 0; s_texColor = bgfx::createUniform("s_texColor", bgfx::UniformType::Int1); - m_particleTexture = loadTexture("textures/particle.ktx"); + m_texture = bgfx::createTexture2D( + SPRITE_TEXTURE_SIZE + , SPRITE_TEXTURE_SIZE + , false + , 1 + , bgfx::TextureFormat::BGRA8 + ); bgfx::RendererType::Enum type = bgfx::getRendererType(); m_particleProgram = bgfx::createProgram( @@ -479,7 +529,7 @@ namespace ps void shutdown() { bgfx::destroyProgram(m_particleProgram); - bgfx::destroyTexture(m_particleTexture); + bgfx::destroyTexture(m_texture); bgfx::destroyUniform(s_texColor); bx::destroyHandleAlloc(m_allocator, m_emitterAlloc); @@ -488,6 +538,33 @@ namespace ps m_allocator = NULL; } + EmitterSpriteHandle createSprite(uint16_t _width, uint16_t _height, const void* _data) + { + EmitterSpriteHandle handle = m_sprite.create(_width, _height); + + if (isValid(handle) ) + { + const Pack2D& pack = m_sprite.get(handle); + bgfx::updateTexture2D( + m_texture + , 0 + , 0 + , pack.m_x + , pack.m_y + , pack.m_width + , pack.m_height + , bgfx::copy(_data, pack.m_width*pack.m_height*4) + ); + } + + return handle; + } + + void destroy(EmitterSpriteHandle _handle) + { + m_sprite.destroy(_handle); + } + void update(float _dt) { uint32_t numParticles = 0; @@ -535,7 +612,18 @@ namespace ps { const uint16_t idx = m_emitterAlloc->getHandleAt(ii); Emitter& emitter = m_emitter[idx]; - pos += emitter.render(_mtxView, _eye, pos, max, particleSort, vertices); + + const Pack2D& pack = m_sprite.get(emitter.m_uniforms.m_handle); + const float invTextureSize = 1.0f/SPRITE_TEXTURE_SIZE; + const float uv[4] = + { + pack.m_x * invTextureSize, + pack.m_y * invTextureSize, + (pack.m_x + pack.m_width ) * invTextureSize, + (pack.m_y + pack.m_height) * invTextureSize, + }; + + pos += emitter.render(uv, _mtxView, _eye, pos, max, particleSort, vertices); } qsort(particleSort @@ -569,7 +657,7 @@ namespace ps ); bgfx::setVertexBuffer(&tvb); bgfx::setIndexBuffer(&tib); - bgfx::setTexture(0, s_texColor, m_particleTexture); + bgfx::setTexture(0, s_texColor, m_texture); bgfx::submit(_view, m_particleProgram); } } @@ -602,7 +690,7 @@ namespace ps } else { - memcpy(&emitter.m_uniforms, _uniforms, sizeof(EmitterUniforms) ); + bx::memCopy(&emitter.m_uniforms, _uniforms, sizeof(EmitterUniforms) ); } } @@ -631,8 +719,11 @@ namespace ps bx::HandleAlloc* m_emitterAlloc; Emitter* m_emitter; + typedef SpriteT<256, SPRITE_TEXTURE_SIZE> Sprite; + Sprite m_sprite; + bgfx::UniformHandle s_texColor; - bgfx::TextureHandle m_particleTexture; + bgfx::TextureHandle m_texture; bgfx::ProgramHandle m_particleProgram; uint32_t m_num; @@ -672,6 +763,16 @@ void psShutdown() s_ctx.shutdown(); } +EmitterSpriteHandle psCreateSprite(uint16_t _width, uint16_t _height, const void* _data) +{ + return s_ctx.createSprite(_width, _height, _data); +} + +void psDestroy(EmitterSpriteHandle _handle) +{ + s_ctx.destroy(_handle); +} + EmitterHandle psCreateEmitter(EmitterShape::Enum _shape, EmitterDirection::Enum _direction, uint32_t _maxParticles) { return s_ctx.createEmitter(_shape, _direction, _maxParticles); diff --git a/3rdparty/bgfx/examples/common/ps/particle_system.h b/3rdparty/bgfx/examples/common/ps/particle_system.h index be706582422..52b7b60e7fc 100644 --- a/3rdparty/bgfx/examples/common/ps/particle_system.h +++ b/3rdparty/bgfx/examples/common/ps/particle_system.h @@ -12,6 +12,15 @@ #include "../bounds.h" +struct EmitterHandle { uint16_t idx; }; +struct EmitterSpriteHandle { uint16_t idx; }; + +template +inline bool isValid(Ty _handle) +{ + return _handle.idx != UINT16_MAX; +} + struct EmitterShape { enum Enum @@ -60,9 +69,9 @@ struct EmitterUniforms bx::Easing::Enum m_easeRgba; bx::Easing::Enum m_easeBlend; bx::Easing::Enum m_easeScale; -}; -struct EmitterHandle { uint16_t idx; }; + EmitterSpriteHandle m_handle; +}; /// void psInit(uint16_t _maxEmitters = 64, bx::AllocatorI* _allocator = NULL); @@ -70,6 +79,12 @@ void psInit(uint16_t _maxEmitters = 64, bx::AllocatorI* _allocator = NULL); /// void psShutdown(); +/// +EmitterSpriteHandle psCreateSprite(uint16_t _width, uint16_t _height, const void* _data); + +/// +void psDestroy(EmitterSpriteHandle _handle); + /// EmitterHandle psCreateEmitter(EmitterShape::Enum _shape, EmitterDirection::Enum _direction, uint32_t _maxParticles); diff --git a/3rdparty/bgfx/examples/common/ps/vs_particle.bin.h b/3rdparty/bgfx/examples/common/ps/vs_particle.bin.h index 49af4f00fe9..df62b8d1e2b 100644 --- a/3rdparty/bgfx/examples/common/ps/vs_particle.bin.h +++ b/3rdparty/bgfx/examples/common/ps/vs_particle.bin.h @@ -28,6 +28,209 @@ static const uint8_t vs_particle_glsl[420] = 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, // = a_texcoord0;. 0x7d, 0x0a, 0x0a, 0x00, // }... }; +static const uint8_t vs_particle_spv[3191] = +{ + 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod + 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, // elViewProj...... + 0x54, 0x0c, 0x03, 0x02, 0x23, 0x07, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x36, 0x62, // T...#.........6b + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, // ................ + 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x4c, 0x53, 0x4c, 0x2e, 0x73, 0x74, 0x64, 0x2e, 0x34, // ......GLSL.std.4 + 0x35, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // 50.............. + 0x00, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x6d, 0x61, // ..............ma + 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x95, 0x0e, // in.............. + 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x1f, 0x16, // ................ + 0x00, 0x00, 0x6d, 0x61, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x8c, 0x04, // ..main.......... + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // ..Output........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // ......gl_Positio + 0x6e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // n.............v_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x8c, 0x04, // color0.......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // ......v_texcoord + 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcc, 0x0d, 0x00, 0x00, 0x40, 0x6d, 0x61, 0x69, 0x6e, 0x28, // 0.........@main( + 0x76, 0x66, 0x34, 0x3b, 0x76, 0x66, 0x33, 0x3b, 0x76, 0x66, 0x34, 0x3b, 0x00, 0x00, 0x05, 0x00, // vf4;vf3;vf4;.... + 0x05, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ..O...a_color0.. + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ......:...a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x61, 0x5f, // tion.......M..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x12, // texcoord0....... + 0x00, 0x00, 0x5f, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x00, 0x00, 0x00, 0x05, 0x00, // .._varying_..... + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x06, 0x00, // ..^...$Global... + 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..^.......u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x01, 0x00, // Rect......^..... + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, 0x6c, 0x00, 0x06, 0x00, // ..u_viewTexel... + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..^.......u_view + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x75, 0x5f, // ......^.......u_ + 0x69, 0x6e, 0x76, 0x56, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x5e, 0x05, // invView.......^. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ......u_proj.... + 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x50, // ..^.......u_invP + 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, // roj.......^..... + 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x06, 0x00, // ..u_viewProj.... + 0x07, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x69, 0x6e, 0x76, 0x56, // ..^.......u_invV + 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x05, 0x00, 0x5e, 0x05, // iewProj.......^. + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0x06, 0x00, // ......u_model... + 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // ..^.......u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x06, 0x00, 0x07, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, // lView.....^..... + 0x00, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, // ..u_modelViewPro + 0x6a, 0x00, 0x06, 0x00, 0x06, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x75, 0x5f, // j.....^.......u_ + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x66, 0x34, 0x00, 0x05, 0x00, 0x03, 0x00, 0x42, 0x13, // alphaRef4.....B. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x61, 0x5f, // ...........A..a_ + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x89, 0x14, // color0.......... + 0x00, 0x00, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, // ..a_color0...... + 0x05, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // ...?..a_position + 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, // ..........a_posi + 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x61, 0x5f, // tion......@,..a_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x05, 0x00, 0x95, 0x0e, // texcoord0....... + 0x00, 0x00, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, // ..a_texcoord0... + 0x05, 0x00, 0x08, 0x10, 0x00, 0x00, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x54, 0x65, 0x6d, // ......flattenTem + 0x70, 0x00, 0x05, 0x00, 0x04, 0x00, 0x85, 0x55, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // p......U..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x95, 0x38, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // .......8..param. + 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x00, // ..........param. + 0x00, 0x00, 0x05, 0x00, 0x0a, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, // ..........@entry + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x6c, 0x5f, 0x50, // PointOutput_gl_P + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x04, 0x00, 0x38, 0x04, // osition.......8. + 0x00, 0x00, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, // ..Output......8. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x00, 0x00, // ......v_color0.. + 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x38, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x5f, // ......8.......v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x00, 0x05, 0x00, 0x07, 0x00, 0xcd, 0x0f, // texcoord0....... + 0x00, 0x00, 0x40, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x75, 0x74, // ..@entryPointOut + 0x70, 0x75, 0x74, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xab, 0x03, 0x00, 0x00, 0x06, 0x00, // put...G......... + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00, // ..@...H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, // ..#.......H...^. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ......#.......H. + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..^...........H. + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x00, // ..^.......#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H...^......... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, // ......H...^..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x03, 0x00, // ......H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, // ..#...`...H...^. + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..^...........H. + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x00, // ..^.......#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H...^......... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, // ......H...^..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x05, 0x00, // ......H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, // ..#.......H...^. + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..^...........H. + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x01, // ..^.......#... . + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H...^......... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, // ......H...^..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x07, 0x00, // ......H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, // ..#...`...H...^. + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..^...........H. + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x01, // ..^.......#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H...^......... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, // ......H...^..... + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x09, 0x00, // ......H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, // ..#.......H...^. + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, // ..............H. + 0x04, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x00, // ..^...........H. + 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xe0, 0x09, // ..^.......#..... + 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, // ..H...^......... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x00, 0x05, 0x00, 0x5e, 0x05, 0x00, 0x00, 0x0b, 0x00, // ......H...^..... + 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x20, 0x0a, 0x00, 0x00, 0x47, 0x00, 0x03, 0x00, 0x5e, 0x05, // ..#... ...G...^. + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x42, 0x13, 0x00, 0x00, 0x22, 0x00, // ......G...B...". + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x89, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x0b, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x04, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x1e, 0x00, // ......G......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, // ..............!. + 0x03, 0x00, 0x02, 0x05, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x03, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0d, 0x00, // .. ............. + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, // ................ + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x07, 0x00, // ...... ......... + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x05, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x1d, 0x00, // ................ + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x06, 0x00, 0x85, 0x09, // ..........!..... + 0x00, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x9a, 0x02, // ................ + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x8c, 0x04, // .. ............. + 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, // .......... ..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x01, 0x00, // ..+............. + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x00, 0x00, // ..+............. + 0x80, 0x3f, 0x2b, 0x00, 0x04, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x00, 0x00, // .?+............. + 0x00, 0x00, 0x2c, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x8a, 0x00, // ..,............. + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x2b, 0x00, // ..............+. + 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2c, 0x00, // ..............,. + 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, // ......z......... + 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x0c, 0x0a, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, // ..........+..... + 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x04, 0x00, 0x65, 0x00, // ..............e. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x0b, 0x00, // ................ + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0b, 0x00, // .. .......+..... + 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0xab, 0x03, // ..j... ......... + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x6a, 0x0a, 0x00, 0x00, 0x1e, 0x00, 0x0e, 0x00, 0x5e, 0x05, // ..e...j.......^. + 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..........e...e. + 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, // ..e...e...e...e. + 0x00, 0x00, 0xab, 0x03, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......e...e..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xdb, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5e, 0x05, // .. ...........^. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xdb, 0x07, 0x00, 0x00, 0x42, 0x13, 0x00, 0x00, 0x02, 0x00, // ..;.......B..... + 0x00, 0x00, 0x2b, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x0a, 0x00, // ..+.......)..... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, // .. ...........e. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x96, 0x02, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x01, 0x00, // ..;............. + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1d, 0x00, // .. ............. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x00, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x1e, 0x00, 0x04, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, // ......8......... + 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x04, // .. ...........8. + 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0xb5, 0x06, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x03, 0x00, // ..;............. + 0x00, 0x00, 0x36, 0x00, 0x05, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x16, 0x00, 0x00, 0x00, 0x00, // ..6............. + 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x53, 0x61, 0x00, 0x00, 0x3b, 0x00, // ..........Sa..;. + 0x04, 0x00, 0x09, 0x07, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // ..............;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......U......;. + 0x04, 0x00, 0x95, 0x02, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3b, 0x00, // .......8......;. + 0x04, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3d, 0x00, // ..............=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x89, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......A......=. + 0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0xa6, 0x14, 0x00, 0x00, 0x3d, 0x00, // .......?......=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x40, 0x2c, 0x00, 0x00, 0x95, 0x0e, 0x00, 0x00, 0x3e, 0x00, // ......@,......>. + 0x03, 0x00, 0x85, 0x55, 0x00, 0x00, 0xb8, 0x41, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x95, 0x38, // ...U...A..>....8 + 0x00, 0x00, 0xd9, 0x3f, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x40, 0x2c, // ...?..>.......@, + 0x00, 0x00, 0x39, 0x00, 0x07, 0x00, 0x8c, 0x04, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0xcc, 0x0d, // ..9.......I&.... + 0x00, 0x00, 0x85, 0x55, 0x00, 0x00, 0x95, 0x38, 0x00, 0x00, 0x9a, 0x16, 0x00, 0x00, 0x3e, 0x00, // ...U...8......>. + 0x03, 0x00, 0x08, 0x10, 0x00, 0x00, 0x49, 0x26, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ......I&..A..... + 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..T4..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x54, 0x34, 0x00, 0x00, 0x3e, 0x00, // ..........T4..>. + 0x03, 0x00, 0xd8, 0x0c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3d, 0x00, // ..'A..........=. + 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x27, 0x41, 0x00, 0x00, 0x41, 0x00, // ..........'A..A. + 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xcd, 0x0f, 0x00, 0x00, 0x0b, 0x0a, // .......N........ + 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x0d, 0x4e, 0x00, 0x00, 0xdf, 0x1c, 0x00, 0x00, 0x41, 0x00, // ..>....N......A. + 0x05, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xc1, 0x4d, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x11, 0x0a, // .......M........ + 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0xc1, 0x4d, // ..=............M + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9c, 0x02, 0x00, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xcd, 0x0f, // ..A............. + 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, 0x03, 0x00, 0x01, 0x5c, 0x00, 0x00, 0xe0, 0x1c, // ......>......... + 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x36, 0x00, 0x05, 0x00, 0x8c, 0x04, // ......8...6..... + 0x00, 0x00, 0xcc, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x09, 0x00, 0x00, 0x37, 0x00, // ..............7. + 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x95, 0x02, // ......O...7..... + 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x37, 0x00, 0x03, 0x00, 0x9a, 0x02, 0x00, 0x00, 0xb9, 0x4d, // ..:...7........M + 0x00, 0x00, 0xf8, 0x00, 0x02, 0x00, 0x5f, 0x57, 0x00, 0x00, 0x3b, 0x00, 0x04, 0x00, 0x09, 0x07, // ......_W..;..... + 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..........A..... + 0x00, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..d-..........>. + 0x03, 0x00, 0x64, 0x2d, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ..d-......A..... + 0x00, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...8..........>. + 0x03, 0x00, 0x0b, 0x38, 0x00, 0x00, 0x7a, 0x0b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x18, 0x00, // ...8..z...=..... + 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x3a, 0x19, 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, // ..5b..:...Q..... + 0x00, 0x00, 0x3b, 0x3a, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, // ..;:..5b......Q. + 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0b, 0x47, 0x00, 0x00, 0x35, 0x62, 0x00, 0x00, 0x01, 0x00, // .......G..5b.... + 0x00, 0x00, 0x51, 0x00, 0x05, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x35, 0x62, // ..Q.......+S..5b + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x07, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x84, 0x32, // ......P........2 + 0x00, 0x00, 0x3b, 0x3a, 0x00, 0x00, 0x0b, 0x47, 0x00, 0x00, 0x2b, 0x53, 0x00, 0x00, 0x8a, 0x00, // ..;:...G..+S.... + 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0xe2, 0x02, 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x42, 0x13, // ..A.......),..B. + 0x00, 0x00, 0x29, 0x0a, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x65, 0x00, 0x00, 0x00, 0xf3, 0x3c, // ..)...=...e....< + 0x00, 0x00, 0x29, 0x2c, 0x00, 0x00, 0x90, 0x00, 0x05, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x9f, 0x3b, // ..),...........; + 0x00, 0x00, 0x84, 0x32, 0x00, 0x00, 0xf3, 0x3c, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ...2...<..A..... + 0x00, 0x00, 0x5f, 0x38, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0b, 0x0a, 0x00, 0x00, 0x3e, 0x00, // .._8..........>. + 0x03, 0x00, 0x5f, 0x38, 0x00, 0x00, 0x9f, 0x3b, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // .._8...;..=..... + 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x4f, 0x2e, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ...!..O...A..... + 0x00, 0x00, 0x2d, 0x3c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x0e, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ..-<..........>. + 0x03, 0x00, 0x2d, 0x3c, 0x00, 0x00, 0x1d, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x1d, 0x00, // ..-<...!..=..... + 0x00, 0x00, 0x1e, 0x21, 0x00, 0x00, 0xb9, 0x4d, 0x00, 0x00, 0x41, 0x00, 0x05, 0x00, 0x9a, 0x02, // ...!...M..A..... + 0x00, 0x00, 0x2e, 0x3c, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0x11, 0x0a, 0x00, 0x00, 0x3e, 0x00, // ...<..........>. + 0x03, 0x00, 0x2e, 0x3c, 0x00, 0x00, 0x1e, 0x21, 0x00, 0x00, 0x3d, 0x00, 0x04, 0x00, 0x8c, 0x04, // ...<...!..=..... + 0x00, 0x00, 0x47, 0x3a, 0x00, 0x00, 0x0f, 0x12, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x00, 0x47, 0x3a, // ..G:..........G: + 0x00, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, // ..8.... +}; static const uint8_t vs_particle_dx9[347] = { 0x56, 0x53, 0x48, 0x04, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0f, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // VSH........u_mod diff --git a/3rdparty/bgfx/examples/makefile b/3rdparty/bgfx/examples/makefile index ec6ea3c4394..f39a5d4e988 100644 --- a/3rdparty/bgfx/examples/makefile +++ b/3rdparty/bgfx/examples/makefile @@ -31,6 +31,10 @@ rebuild: # @make -s --no-print-directory rebuild -C 26-occlusion @make -s --no-print-directory rebuild -C 27-terrain @make -s --no-print-directory rebuild -C 28-wireframe + @make -s --no-print-directory rebuild -C 30-picking + @make -s --no-print-directory rebuild -C 31-rsm + @make -s --no-print-directory rebuild -C common/debugdraw @make -s --no-print-directory rebuild -C common/font @make -s --no-print-directory rebuild -C common/imgui @make -s --no-print-directory rebuild -C common/nanovg + @make -s --no-print-directory rebuild -C common/ps diff --git a/3rdparty/bgfx/examples/runtime/font/fontawesome-webfont.ttf b/3rdparty/bgfx/examples/runtime/font/fontawesome-webfont.ttf index 7ec2e1de899..35acda2fa11 100644 Binary files a/3rdparty/bgfx/examples/runtime/font/fontawesome-webfont.ttf and b/3rdparty/bgfx/examples/runtime/font/fontawesome-webfont.ttf differ diff --git a/3rdparty/bgfx/examples/runtime/gamecontrollerdb.txt b/3rdparty/bgfx/examples/runtime/gamecontrollerdb.txt index 7c23f500c73..def10cfbe96 100644 --- a/3rdparty/bgfx/examples/runtime/gamecontrollerdb.txt +++ b/3rdparty/bgfx/examples/runtime/gamecontrollerdb.txt @@ -3,11 +3,14 @@ 341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, ffff0000000000000000504944564944,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, 6d0416c2000000000000504944564944,Generic DirectInput Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +0d0f6e00000000000000504944564944,HORIPAD 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, 6d0419c2000000000000504944564944,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, 88880803000000000000504944564944,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, 4c056802000000000000504944564944,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows, 25090500000000000000504944564944,PS3 DualShock,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows, -4c05c405000000000000504944564944,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +4c05c405000000000000504944564944,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows, +4c05cc09000000000000504944564944,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows, +4c05a00b000000000000504944564944,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows, 6d0418c2000000000000504944564944,Logitech RumblePad 2 USB,platform:Windows,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, 36280100000000000000504944564944,OUYA Controller,platform:Windows,a:b0,b:b3,y:b2,x:b1,start:b14,guide:b15,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b8,dpleft:b10,dpdown:b9,dpright:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b12,righttrigger:b13, 4f0400b3000000000000504944564944,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Windows, @@ -22,11 +25,26 @@ ff113133000000000000504944564944,SVEN X-PAD,platform:Windows,a:b2,b:b3,y:b1,x:b0 4b12014d000000000000504944564944,NYKO AIRFLO,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftstick:a0,rightstick:a2,leftshoulder:a3,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:h0.6,lefty:h0.12,rightx:h0.9,righty:h0.4,lefttrigger:b6,righttrigger:b7,platform:Windows, d6206dca000000000000504944564944,PowerA Pro Ex,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide:b10,back:b5,leftstick:b8,rightstick:b9,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows, -8f0e0300000000000000504944564944,Trust GTX 28,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, 4f0415b3000000000000504944564944,Thrustmaster Dual Analog 3.2,platform:Windows,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, 6f0e1e01000000000000504944564944,Rock Candy Gamepad for PS3,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, 83056020000000000000504944564944,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,y:b2,x:b3,start:b7,back:b6,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Windows, 10080100000000000000504944564944,PS1 USB,platform:Windows,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, +49190204000000000000504944564944,Ipega PG-9023,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b8,righttrigger:b9,platform:Windows, +4f0423b3000000000000504944564944,Dual Trigger 3-in-1,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Windows, +0d0f4900000000000000504944564944,Hatsune Miku Sho Controller,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, +79004318000000000000504944564944,Mayflash GameCube Controller Adapter,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b0,start:b9,guide:b0,leftshoulder:b4,rightshoulder:b7,leftstick:b0,rightstick:b0,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, +79000018000000000000504944564944,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, +2509e803000000000000504944564944,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, +300f1001000000000000504944564944,Saitek P480 Rumble Pad,a:b2,b:b3,x:b0,y:b1,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b5,righttrigger:b7,platform:Windows, +10280900000000000000504944564944,8Bitdo SFC30 GamePad,a:b1,b:b0,y:b3,x:b4,start:b11,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,platform:Windows, +63252305000000000000504944564944,USB Vibration Joystick (BM),platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, +20380900000000000000504944564944,8Bitdo NES30 PRO Wireless,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8, +02200090000000000000504944564944,8Bitdo NES30 PRO USB,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8, +ff113133000000000000504944564944,Gembird JPD-DualForce,platform:Windows,a:b2,b:b3,x:b0,y:b1,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,leftstick:b10,rightstick:b11, +341a0108000000000000504944564944,EXEQ RF USB Gamepad 8206,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,leftstick:b8,rightstick:b7,back:b8,start:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows, +c0111352000000000000504944564944,Battalife Joystick,platform:Windows,x:b4,a:b6,b:b7,y:b5,back:b2,start:b3,leftshoulder:b0,rightshoulder:b1,leftx:a0,lefty:a1, +100801e5000000000000504944564944,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Windows, +79000600000000000000504944564944,NGS Phantom,a:b2,b:b3,y:b1,x:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Windows, # OS X 0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, @@ -35,7 +53,8 @@ a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide 6d040000000000001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, 6d0400000000000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, 4c050000000000006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X, -4c05000000000000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,Platform:Mac OS X, +4c05000000000000c405000000000000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Mac OS X, +4c05000000000000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Mac OS X, 5e040000000000008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, 891600000000000000fd000000000000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b8,guide:b10,back:b9,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b11,dpleft:b13,dpdown:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Mac OS X, 4f0400000000000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Mac OS X, @@ -46,17 +65,36 @@ a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, 050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,y:b9,x:b10,start:b6,guide:b8,back:b7,dpup:b2,dpleft:b0,dpdown:b3,dpright:b1,leftx:a0,lefty:a1,lefttrigger:b12,righttrigger:,leftshoulder:b11,platform:Mac OS X, 83050000000000006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X, +bd1200000000000015d0000000000000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X, +79000000000000001100000000000000,Retrolink Classic Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a3,lefty:a4,platform:Mac OS X, +5e04000000000000dd02000000000000,Xbox One Wired Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4, +5e04000000000000ea02000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4, +5e04000000000000e002000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b10,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4, +050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,x:b18,y:b17,back:b7,guide:b8,start:b6,leftstick:b23,rightstick:b24,leftshoulder:b19,rightshoulder:b20,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b21,righttrigger:b22,platform:Mac OS X, +79000000000000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,x:b0,y:b12,back:b32,start:b36,leftstick:b40,rightstick:b44,leftshoulder:b16,rightshoulder:b20,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a4,rightx:a8,righty:a12,lefttrigger:b24,righttrigger:b28,platform:Mac OS X, +2509000000000000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X, +351200000000000021ab000000000000,SFC30 Joystick,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X, +b4040000000000000a01000000000000,Sega Saturn USB Gamepad,a:b0,b:b1,x:b3,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X, +81170000000000007e05000000000000,Sega Saturn,x:b0,a:b2,b:b4,y:b6,start:b13,dpleft:b15,dpdown:b16,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,lefttrigger:b10,rightshoulder:b9,righttrigger:a4,righttrigger:b11,leftx:a0,lefty:a2,platform:Mac OS X, +10280000000000000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X, +d814000000000000cecf000000000000,MC Cthulhu,platform:Mac OS X,leftx:,lefty:,rightx:,righty:,lefttrigger:b6,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,righttrigger:b7, +0d0f0000000000006600000000000000,HORIPAD FPS PLUS 4,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:a4, # Linux 0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, 03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, 030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d04000016c2000011010000,Logitech F310 Gamepad (DInput),x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Linux, 030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, 030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, -030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux, +030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux, +050000004c050000c405000000010000,Sony DualShock 4 BT,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004c050000cc09000011010000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux, +050000004c050000cc09000000010000,Sony DualShock 4 V2 BT,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux, +030000004c050000a00b000011010000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux, 030000006f0e00003001000001010000,EA Sports PS3 Controller,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, 03000000de280000ff11000001000000,Valve Streaming Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, 030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, @@ -81,24 +119,26 @@ AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back: 030000006f0e00001f01000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, 03000000280400000140000000010000,Gravis GamePad Pro USB ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftx:a0,lefty:a1, 030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4, +030000005e0400008502000000010000,Microsoft X-Box pad (Japan),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4, 030000006f0e00001e01000011010000,Rock Candy Gamepad for PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, 03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,platform:Linux,a:b2,b:b1,y:b0,x:b3,start:b8,back:b9,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5, 030000008916000000fd000024010000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, 030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux, 03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, -050000004c050000c405000000010000,PS4 Controller (Bluetooth),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, 060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux, -03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4, +050000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux, +03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a3,rightx:a1,righty:a4, 03000000666600000488000000010000,Super Joy Box 5 Pro,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,dpup:b12,dpleft:b15,dpdown:b14,dpright:b13, 05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2, 05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2, 030000008916000001fd000024010000,Razer Onza Classic Edition,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:b11,dpdown:b14,dpright:b12,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, 030000005e040000d102000001010000,Microsoft X-Box One pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, +030000005e040000dd02000003020000,Microsoft X-Box One pad v2,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux, 03000000790000001100000010010000,RetroLink Saturn Classic Controller,platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1, 050000007e0500003003000001000000,Nintendo Wii U Pro Controller,platform:Linux,a:b0,b:b1,x:b3,y:b2,back:b8,start:b9,guide:b10,leftshoulder:b4,rightshoulder:b5,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:b13,dpleft:b15,dpdown:b14,dpright:b16, 030000005e0400008e02000004010000,Microsoft X-Box 360 pad,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -030000000d0f00002200000011010000,HORI CO.,LTD. REAL ARCADE Pro.V3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1, -030000000d0f00001000000011010000,HORI CO.,LTD. FIGHTING STICK 3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7 +030000000d0f00002200000011010000,HORI CO. LTD. REAL ARCADE Pro.V3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1, +030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7 03000000f0250000c183000010010000,Goodbetterbest Ltd USB Controller,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, 0000000058626f782047616d65706100,Xbox Gamepad (userspace driver),platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b7,back:b6,guide:b8,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,lefttrigger:a5,righttrigger:a4,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a2,righty:a3, 03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux, @@ -106,3 +146,30 @@ AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back: 030000006f0e00001304000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:a0,rightstick:a3,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, 03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4, 03000000830500006020000010010000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux, +03000000bd12000015d0000010010000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux, +03000000790000001100000010010000,Retrolink Classic Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux, +03000000c9110000f055000011010000,HJC Game GAMEPAD,leftx:a0,lefty:a1,dpdown:h0.4,rightstick:b11,rightshoulder:b5,rightx:a2,start:b9,righty:a3,dpleft:h0.8,lefttrigger:b6,x:b2,dpup:h0.1,back:b8,leftstick:b10,leftshoulder:b4,y:b3,a:b0,dpright:h0.2,righttrigger:b7,b:b1,platform:Linux, +03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux, +03000000341a000005f7000010010000,GameCube {HuiJia USB box},a:b1,b:b2,y:b3,x:b0,start:b9,guide:,back:,leftstick:,rightstick:,leftshoulder:,dpleft:b15,dpdown:b14,dpright:b13,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,rightshoulder:b7,dpup:b12,platform:Linux, +030000006e0500000320000010010000,JC-U3613M - DirectInput Mode,platform:Linux,x:b0,a:b2,b:b3,y:b1,back:b10,guide:b12,start:b11,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3, +030000006f0e00004601000001010000,Rock Candy Wired Controller for Xbox One,platform:Linux,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,guide:b8,leftstick:b9,rightstick:b10,lefttrigger:a2,righttrigger:a5,leftx:a0,lefty:a1,rightx:a3,righty:a4, +03000000380700001647000010040000,Mad Catz Wired Xbox 360 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, +030000006f0e00003901000020060000,Afterglow Wired Controller for Xbox One,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux, +030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,platform:Linux,a:b0,b:b2,x:b1,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7, +05000000102800000900000000010000,8Bitdo SFC30 GamePad,platform:Linux,x:b4,a:b1,b:b0,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1, +03000000d81400000862000011010000,HitBox (PS3/PC) Analog Mode,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftshoulder:b4,rightshoulder:b5,lefttrigger:b6,righttrigger:b7,leftx:a0,lefty:a1, +030000000d0f00000d00000000010000,hori,platform:Linux,a:b0,b:b6,y:b2,x:b1,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,start:b9,guide:b10,back:b8,leftshoulder:b3,rightshoulder:b7,leftx:b4,lefty:b5, +03000000ad1b000016f0000090040000,Mad Catz Xbox 360 Controller,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5, +03000000d814000007cd000011010000,Toodles 2008 Chimp PC/PS3,platform:Linux,a:b0,b:b1,y:b2,x:b3,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7, +03000000fd0500000030000000010000,InterAct GoPad I-73000 (Fighting Game Layout),platform:Linux,a:b3,b:b4,y:b1,x:b0,start:b7,back:b6,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5, +05000000010000000100000003000000,Nintendo Wiimote,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b9,guide:b10,back:b8,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, +030000005e0400008e02000062230000,Microsoft X-Box 360 pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, +03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,y:b1,x:b0,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b6,righttrigger:b7,platform:Linux, +030000006f0e00000103000000020000,Logic3 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, +05000000380700006652000025010000,Mad Catz C.T.R.L.R ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, +030000005e0400008e02000073050000,Speedlink TORID Wireless Gamepad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, +03000000ad1b00002ef0000090040000,Mad Catz Fightpad SFxT,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,lefttrigger:a2,righttrigger:a5, +05000000a00500003232000001000000,8Bitdo Zero GamePad,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1, +030000001008000001e5000010010000,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Linux, +03000000100800000300000010010000,USB Gamepad,platform:Linux,a:b2,b:b1,x:b3,y:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5, +05000000ac0500003232000001000000,VR-BOX,platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5, diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm.bin index 5bc6dc6637f..b27f3fd3fc7 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_csm.bin index a1cf4ba455f..03a3f89b28f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear.bin index d71be598ca3..f85d0ec52b1 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_csm.bin index e1ac060ee95..39d115c48e3 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_omni.bin index 590272da7a1..13ad93358d9 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_omni.bin index 94dc8567806..d688775bd11 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_esm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard.bin index bc081180c9e..00300aa3a4e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_csm.bin index 8cb1307d855..3fa09702654 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear.bin index 17f8b478ee9..12eaab3eb5e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_csm.bin index 7865f301ab8..98f5ff1429a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_omni.bin index c1a653036bf..07e12b43e1b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_omni.bin index d78d0eb8c38..cde6f19fc26 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_hard_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf.bin index ee3ce57470e..2faada8a015 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_csm.bin index 6661643525b..76b37271222 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear.bin index ea439ef024a..cf8a001ccb4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_csm.bin index 9870f674438..67c95d9110b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_omni.bin index 5cbb6b00c14..748714f916d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_omni.bin index f7af919d27c..26fac391383 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_pcf_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm.bin index 669c924fab3..27d528221a8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_csm.bin index e5aabcd9f21..e2184d5b475 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear.bin index f8e312089ef..c06948c1609 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_csm.bin index f52105795ea..91716e56c98 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_omni.bin index 7d6bdb989fe..338bd6fc819 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_omni.bin index ed34ba04f90..4ecfdbb92da 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_shadowmaps_color_lighting_vsm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_mesh_pd.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_mesh_pd.bin index 110d276e635..5f675f24a27 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_mesh_pd.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_mesh_pd.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_shadow.bin index 2ffc6baeefc..2477d864d9a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx11/fs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_bump.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_bump.bin index f87ebc40737..0bbed79b2d0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_bump.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_bump.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_callback.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_callback.bin index 9fb1174359b..f4029f69e3e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_callback.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_callback.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_cubes.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_cubes.bin index b21baad031c..6d4ef1b4d2f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_cubes.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_cubes.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_combine.bin index 282805521f7..a9a94d824b8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug.bin index 6daf5dc4f36..c5226754e80 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug_line.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug_line.bin index b21baad031c..6d4ef1b4d2f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug_line.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_debug_line.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_geom.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_geom.bin index fd252f3e9e0..69e787f9fd8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_geom.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_geom.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_light.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_light.bin index 49ec6b8b0c9..33b5ff2f99b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_light.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_deferred_light.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_blur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_blur.bin index 941fd9c867c..bb1a5ddd0a4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_blur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_blur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_bright.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_bright.bin index f1c82276e4c..d05370a4cce 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_bright.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_bright.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lum.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lum.bin index a225d68483f..330c7dd0e62 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lum.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lum.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lumavg.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lumavg.bin index 39bdbf24e0e..c250d0dea26 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lumavg.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_lumavg.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_mesh.bin index b655768e371..fb420978d0a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_skybox.bin index 661d4f5f105..289470a20ef 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_tonemap.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_tonemap.bin index 5dd123f8b1c..af58dba43ca 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_tonemap.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_hdr_tonemap.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_mesh.bin index 2a028861c0b..e0de0e492eb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_skybox.bin index 6fb2ed165d8..9fbd81b7707 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_ibl_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_instancing.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_instancing.bin index b21baad031c..6d4ef1b4d2f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_instancing.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_instancing.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_mesh.bin index a97b3e2e6eb..56531b9c011 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit.bin index d15e59394e3..614430ef6e4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb.bin index b801da8655b..b20c9962efc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_blit.bin index a4aa7472539..479e2eb2bc0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate.bin index da7ff5649c4..2b6793f957d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate_blit.bin index c04d49b97b0..74df8e13034 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_oit_wb_separate_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_particle.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_particle.bin index 7781eb16842..982bfeca0ca 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_particle.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_particle.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_id.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_id.bin index 6e0208149a0..196bc9fce7b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_id.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_id.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_shaded.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_shaded.bin index 8c5005ca008..ff62518a363 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_shaded.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_picking_shaded.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_raymarching.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_raymarching.bin index 8c4e0d86fbc..f5c5d8b2d8c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_raymarching.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_raymarching.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_combine.bin index 28d904d8986..94bd26359e0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_gbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_gbuffer.bin index 7facc87fc72..eea80f14e3d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_gbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_gbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_lbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_lbuffer.bin index 5f9e5c0236e..ac4fd25725c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_lbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_lbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_shadow.bin index d93441c2f28..3d6b3bbdbe5 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_rsm_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_black.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_black.bin index d987f475364..baf268c8b4a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_black.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_black.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm.bin index ae7e9485e8c..db122398ea4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_csm.bin index a4c71215f7b..dbb6e0a1e8c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear.bin index bfc38b4487c..8a68c453742 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_csm.bin index 236a6e70dc0..09a82c47df1 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_omni.bin index 3c678fe318d..bdb0ac4ad60 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_omni.bin index b0a8a165cd2..f6187d878f6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_esm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard.bin index 1ff8e4411be..79f2d13c97a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_csm.bin index e114e409782..1b719acded8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear.bin index 95e392f3016..6f6c8ca3311 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_csm.bin index a2a931af9f3..f4a2cada986 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_omni.bin index a7477f4e0c6..7fa56ec09ee 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_omni.bin index 11fdc03bdd3..edf3b4903c1 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_hard_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf.bin index 8c199ff020e..a85f2281267 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_csm.bin index 0cccdd6d8b8..cb00b9317eb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear.bin index 95b4df73cfa..5e598b53023 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_csm.bin index 91ea0952409..165ed1f326a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_omni.bin index 7391fa07e02..33f5b1be4bd 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_omni.bin index a28a242ee27..6b299d28f5d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_pcf_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm.bin index 027d1f0204c..ae7b8e2b633 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_csm.bin index 7a436f1babf..d3a9956b623 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear.bin index e477cde151a..9220fb8e2d4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_csm.bin index 75ec7611584..44567b43571 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_omni.bin index cfe3251d306..1416e2be18d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_omni.bin index 5bfdb4af3be..0294a352f5f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_lighting_vsm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_texture.bin index 3ce4ea23fd9..caaa54e27cc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur.bin index b21d045c711..ee54494cfd6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur_vsm.bin index e59187b0fa0..a3f188e99c2 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_hblur_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth.bin index cd38d149d27..09224a67f60 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_linear.bin index a8b4cfa0717..052a8e96895 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm.bin index cfa51018543..3a3d6404806 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm_linear.bin index 19d9e0da3c6..d3805e6928e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_packdepth_vsm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_texture.bin index 6daf5dc4f36..c5226754e80 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth.bin index 9a9a76f4078..5f353998ddf 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth_vsm.bin index 018e273fb3d..cd3f3899718 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_unpackdepth_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur.bin index b21d045c711..ee54494cfd6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur_vsm.bin index e59187b0fa0..a3f188e99c2 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowmaps_vblur_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_lighting.bin index 2e91ad00bb3..8681d2d02e5 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin index 3ce4ea23fd9..caaa54e27cc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackblank.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackblank.bin index cf0d44364d6..5fe9ad7a740 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackblank.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackblank.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackcolor.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackcolor.bin index abe834a25a3..464bbf7f053 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackcolor.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbackcolor.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex1.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex1.bin index ec02325aae3..88cf24388df 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex1.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex1.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex2.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex2.bin index 5b0ee46eb30..dfe8ea5a89b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex2.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svbacktex2.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontblank.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontblank.bin index c08b68ff6ff..461be44d1bc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontblank.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontblank.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontcolor.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontcolor.bin index abe834a25a3..464bbf7f053 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontcolor.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfrontcolor.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex1.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex1.bin index ec02325aae3..88cf24388df 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex1.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex1.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex2.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex2.bin index 5b0ee46eb30..dfe8ea5a89b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex2.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svfronttex2.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svside.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svside.bin index 88f41b7b3cc..a7721ab2dae 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svside.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svside.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsideblank.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsideblank.bin index 514e43b146f..0fd691c95f8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsideblank.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsideblank.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidecolor.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidecolor.bin index fc8adedb923..90967be40e9 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidecolor.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidecolor.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidetex.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidetex.bin index e47bb5923a0..61bdfcb08a6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidetex.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_svsidetex.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin index 6daf5dc4f36..c5226754e80 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lighting.bin index d06f66fc187..bfb2ad01a8d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_shadowvolume_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh.bin index 8282609ca0c..9a7507e465d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh_pd.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh_pd.bin index 00470971e4a..1854dd616ce 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh_pd.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_mesh_pd.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow.bin index d987f475364..baf268c8b4a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow_pd.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow_pd.bin index 9ae8fcbaaaa..405ddd4e856 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow_pd.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_sms_shadow_pd.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_black.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_black.bin index d987f475364..baf268c8b4a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_black.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_black.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_lighting.bin index 0ebf82d6d6a..6c2e7f8e189 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_texture.bin index 3ce4ea23fd9..caaa54e27cc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture.bin index 6daf5dc4f36..c5226754e80 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture_lighting.bin index d3bda249a51..51345849de3 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_stencil_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_terrain.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_terrain.bin index c50dc917406..d08caeff540 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_terrain.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_terrain.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_tree.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_tree.bin index a1aea714458..5c77ac5f2bb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_tree.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_tree.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update.bin index 20040c9c2dd..36011876de6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_3d.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_3d.bin index 087dd414887..62c711a830f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_3d.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_3d.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_cmp.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_cmp.bin index e9c9030d1ef..c364da7c626 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_cmp.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_update_cmp.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blit.bin index bfd4694020c..321ffc9f959 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blur.bin index 3afeeb299f8..ba21fde3f16 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_blur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_fb.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_fb.bin index 3bb7e116c81..648d3900d67 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_fb.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_vectordisplay_fb.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_mesh.bin index 6fa215e9ecb..00e61c8a1c5 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_wireframe.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_wireframe.bin index 88b99c44109..4de1f2a9cfb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_wireframe.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/fs_wf_wireframe.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump.bin index a0bd01d8a4a..4ff78329d22 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump_instanced.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump_instanced.bin index 8edd8b4670d..7cf67dc6b9e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump_instanced.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_bump_instanced.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_callback.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_callback.bin index a2ad43cbfc7..1d27d8ddd2c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_callback.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_callback.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_cubes.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_cubes.bin index c240a24dbcb..93fc6d81e18 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_cubes.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_cubes.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_combine.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug_line.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug_line.bin index c240a24dbcb..93fc6d81e18 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug_line.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_debug_line.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_geom.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_geom.bin index a0bd01d8a4a..4ff78329d22 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_geom.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_geom.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_light.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_light.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_light.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_deferred_light.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_blur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_blur.bin index 35a92771243..8ffbef2ab5f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_blur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_blur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_bright.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_bright.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_bright.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_bright.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lum.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lum.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lum.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lum.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lumavg.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lumavg.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lumavg.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_lumavg.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_mesh.bin index baf12710b00..06a62a0c65f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_skybox.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_tonemap.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_tonemap.bin index 589aa764981..6c266b05fbe 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_tonemap.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_hdr_tonemap.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_mesh.bin index 1d72f168306..b407bed4a5f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_skybox.bin index 854c887d201..8af9ed570c1 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_ibl_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_instancing.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_instancing.bin index 8d64b840839..9416d29836c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_instancing.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_instancing.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_mesh.bin index 6c987f9df39..29e55ba675f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit.bin index 0fa85c2999c..96f1a7ac393 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit_blit.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_oit_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_particle.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_particle.bin index a91b558abc6..f768947e09e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_particle.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_particle.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_picking_shaded.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_picking_shaded.bin index 9df3ff89fd7..80dd71fbb7f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_picking_shaded.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_picking_shaded.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_raymarching.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_raymarching.bin index cf4cc7f8fb5..c7e8bd05dac 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_raymarching.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_raymarching.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_combine.bin index fe8592c138d..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_gbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_gbuffer.bin index 3cc1c15e95a..3edf79f2c39 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_gbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_gbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_lbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_lbuffer.bin index 12579db146c..e5f1873c992 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_lbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_lbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_shadow.bin index 2d9ef91e8bb..1597c2bf60c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_rsm_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color.bin index f72adac23b7..564da461f03 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting.bin index 4b9a1b7b90a..ac3722689a3 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_csm.bin index 12bf6ba4c09..5ca7da2a8ab 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear.bin index dd9c0c0f48d..82c78616f60 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_csm.bin index 5fd8009c50c..e597f3515b4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_omni.bin index d4271fc30f2..0515dc01b8e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_omni.bin index 2254dda8b2d..65ec4f1c835 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_lighting_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_depth.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_depth.bin index f72adac23b7..564da461f03 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_depth.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_depth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_hblur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_hblur.bin index e5a9eff8781..f4bdd188f74 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_hblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_hblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth.bin index b2886469f6a..8c8a4ac4de4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth_linear.bin index 31c58c89615..12e3a523cf2 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_packdepth_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture_lighting.bin index 38d6a977af0..65a1021a287 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_unpackdepth.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_unpackdepth.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_unpackdepth.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_unpackdepth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_vblur.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_vblur.bin index 84dab20fa2a..af8fbf00987 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_vblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowmaps_vblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_lighting.bin index 26878e7aab4..68727653849 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svback.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svback.bin index f4cfb964a34..1f7b6b454d5 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svback.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svback.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svfront.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svfront.bin index f72adac23b7..564da461f03 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svfront.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svfront.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svside.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svside.bin index bc98dcba897..23c1b16a590 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svside.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_svside.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lighting.bin index 3ce2671682f..a5e2e3d57b6 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_shadowvolume_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_mesh.bin index 0bb5fa9a74a..885d9ef5bb1 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow.bin index f72adac23b7..564da461f03 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow_pd.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow_pd.bin index aad5790f5d8..48c0c1af7dc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow_pd.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_sms_shadow_pd.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color.bin index f72adac23b7..564da461f03 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_lighting.bin index 0388b013058..7fa53cf0270 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture.bin index 8e4609f7cb5..068cb998d06 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture_lighting.bin index 855cce8c57e..b0013458146 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_stencil_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain.bin index 38d0557934f..09e2282680b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin index b574e758692..41877c3c81e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_terrain_height_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_tree.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_tree.bin index fe9a349682b..0301ba75bd9 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_tree.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_tree.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_update.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_update.bin index 55f83a883e8..7dc12edbd2a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_update.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_update.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_vectordisplay_fb.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_vectordisplay_fb.bin index cf4cc7f8fb5..c7e8bd05dac 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_vectordisplay_fb.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_vectordisplay_fb.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_mesh.bin index 0aaf399b4b5..e02227e32dd 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_wireframe.bin b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_wireframe.bin index 5b8969a0fe2..03658ed0aaa 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_wireframe.bin and b/3rdparty/bgfx/examples/runtime/shaders/dx9/vs_wf_wireframe.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/essl/fs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/essl/fs_sms_shadow.bin index 81ccc6436e4..3262874eaf3 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/essl/fs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/essl/fs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/glsl/fs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/glsl/fs_sms_shadow.bin index 81ccc6436e4..946d0e83e3b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/glsl/fs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/glsl/fs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_bump.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_bump.bin index 4092834c4f2..831c729affa 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_bump.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_bump.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_combine.bin index fa8ca277c11..5950822c89c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_debug.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_debug.bin index e48079000cc..b38e4e984e8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_debug.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_debug.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_geom.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_geom.bin index 8a18929a80c..bd292b28605 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_geom.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_geom.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_light.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_light.bin index e5a03968999..2ddbfc156ef 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_light.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_deferred_light.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_blur.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_blur.bin index 82a59f2a622..e329bc195be 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_blur.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_blur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_bright.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_bright.bin index 6d3e461233c..093651d2a73 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_bright.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_bright.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lum.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lum.bin index 671b199ef4d..7ad754a433f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lum.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lum.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lumavg.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lumavg.bin index 2aa8768b741..51fa0080c7a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lumavg.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_lumavg.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_mesh.bin index 7193bf45dc1..7df7f02267c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_skybox.bin index f7ca105e755..f433db94853 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_tonemap.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_tonemap.bin index 816dd1fca33..db65cb98fb0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_tonemap.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_hdr_tonemap.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_mesh.bin index 0b08cf92fe3..f7c3ea20039 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_skybox.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_skybox.bin index 4ee3dafaae0..a905ac381a5 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_skybox.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_ibl_skybox.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_blit.bin index feddbb4dc0c..097f64900ad 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_separate_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_separate_blit.bin index 00f299e5861..53e6d85d4dc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_separate_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_oit_wb_separate_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_id.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_id.bin index fd86c31031a..560fdafa660 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_id.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_id.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_shaded.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_shaded.bin index 4e5208aff4a..23593fa1153 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_shaded.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_picking_shaded.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_combine.bin index ef8a8cf216c..439e1e721a4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_gbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_gbuffer.bin index fdd2b86573a..736ac3d0b86 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_gbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_gbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_lbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_lbuffer.bin index 6eb32d9395e..a45a0037c78 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_lbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_lbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_shadow.bin index c88531c9d78..034f5c9e0db 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_rsm_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm.bin index 2533a86d2d2..8565a15fb5d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_csm.bin index 06c35f936a3..4e88b953ece 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear.bin index 6d997b68138..2ac490d8540 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_csm.bin index a4409b50186..2d48feaf2aa 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_omni.bin index 55f5e36c4bf..0f8cfc8a463 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_omni.bin index 4d85a2e576d..dee4d83b84c 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_esm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard.bin index 1089c2141aa..8ec9c2accc3 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_csm.bin index 03805867751..7f5de78498d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear.bin index 3781ae5c679..4c69e3d063e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_csm.bin index 20919c8cdf1..93ee4f56aa0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_omni.bin index ab1ab37582c..5dd33e1a714 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_omni.bin index 37604c17517..d026111daf0 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_hard_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf.bin index f2fa0abb62f..d56d39d2164 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_csm.bin index 216dce85964..571fe9bc9fb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear.bin index aeebc095859..34b779da828 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_csm.bin index cb3315f06a4..6a0e70f4e6b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_omni.bin index 9095fd72f9e..b7ca5f1a767 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_omni.bin index 41ea3c74e68..da84002d4ea 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_pcf_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm.bin index d9abf388292..2e2518e36a8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_csm.bin index 3d2d1e48819..dea8f830dfc 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear.bin index 4990c467e61..2ede35a568d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_csm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_csm.bin index b1b935fe6ad..99f12b63ebb 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_csm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_csm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_omni.bin index 282f9ecfb16..42f6554bf1f 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_linear_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_omni.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_omni.bin index 53ac1769ff1..ada6cf9f15a 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_omni.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_lighting_vsm_omni.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_texture.bin index b71287c54ec..161a8539849 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur.bin index 4242884f842..9fedecfbe3b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur_vsm.bin index f8d74217926..8f2c20066ae 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_hblur_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_texture.bin index 6b0a49b7225..b38e4e984e8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth.bin index e6a8d371207..91cbc854335 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth_vsm.bin index 9e74fbea471..f349f0e7926 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_unpackdepth_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur.bin index 4242884f842..9fedecfbe3b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur_vsm.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur_vsm.bin index f8d74217926..8f2c20066ae 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur_vsm.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowmaps_vblur_vsm.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_lighting.bin index 795514e5451..71d39ce70f9 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_texture.bin index b71287c54ec..161a8539849 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture.bin index 6b0a49b7225..b38e4e984e8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture_lighting.bin index 308d9e1e2c0..e45ad93ff32 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_shadowvolume_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh.bin index 83718f142c7..ec01205da92 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh_pd.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh_pd.bin index c3142867304..e523373c5ff 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh_pd.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_mesh_pd.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_shadow.bin index 42cd46cf0c3..cf7e94f8984 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_sms_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_color_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_color_texture.bin index b71287c54ec..161a8539849 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_color_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_color_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture.bin index 6b0a49b7225..b38e4e984e8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture_lighting.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture_lighting.bin index 1d5e89ac0e8..27ea4ad05a8 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture_lighting.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_stencil_texture_lighting.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_tree.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_tree.bin index 07a1654489a..fd7981ee747 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_tree.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_tree.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update.bin index f8156b95d3f..158f0bc520e 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_3d.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_3d.bin index 0634163c75e..b6a551acc91 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_3d.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_3d.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_cmp.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_cmp.bin index 3d606ca148d..8d277fd134b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_cmp.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_update_cmp.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blit.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blit.bin index 3da1860d2ff..d3933793997 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blit.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blit.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blur.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blur.bin index 441031bdafc..d886785e87d 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blur.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_blur.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_fb.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_fb.bin index ca6c18dfbe0..54437faa818 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_fb.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/fs_vectordisplay_fb.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_combine.bin index 10fb2d926e2..3cf134249f4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug.bin index 10fb2d926e2..3cf134249f4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug_line.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug_line.bin index 66262f6bc11..a679a02deb7 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug_line.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_debug_line.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_geom.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_geom.bin index 7998ca70fb0..2119dcc786b 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_geom.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_geom.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_light.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_light.bin index 10fb2d926e2..3cf134249f4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_light.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_deferred_light.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_picking_shaded.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_picking_shaded.bin index c5326d93db6..c45be190d11 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_picking_shaded.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_picking_shaded.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_combine.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_combine.bin index 10fb2d926e2..3cf134249f4 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_combine.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_combine.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_gbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_gbuffer.bin index 83a9b434292..98bf5d5d127 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_gbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_gbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_lbuffer.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_lbuffer.bin index 1050eb976bf..c0d34ef4bb7 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_lbuffer.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_lbuffer.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_shadow.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_shadow.bin index c0b666b772a..d2b636cdb24 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_shadow.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_rsm_shadow.bin differ diff --git a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_terrain_height_texture.bin b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_terrain_height_texture.bin index 7da6fc97108..59f6f0c8d47 100644 Binary files a/3rdparty/bgfx/examples/runtime/shaders/metal/vs_terrain_height_texture.bin and b/3rdparty/bgfx/examples/runtime/shaders/metal/vs_terrain_height_texture.bin differ diff --git a/3rdparty/bgfx/include/bgfx/bgfx.h b/3rdparty/bgfx/include/bgfx/bgfx.h index d41ba5915f3..32db9282744 100644 --- a/3rdparty/bgfx/include/bgfx/bgfx.h +++ b/3rdparty/bgfx/include/bgfx/bgfx.h @@ -879,7 +879,7 @@ namespace bgfx /// Convert index buffer for use with different primitive topologies. /// /// @param[in] _conversion Conversion type, see `TopologyConvert::Enum`. - /// @param[in] _dst Destination index buffer. If this argument it NULL + /// @param[in] _dst Destination index buffer. If this argument is NULL /// function will return number of indices after conversion. /// @param[in] _dstSize Destination index buffer in bytes. It must be /// large enough to contain output indices. If destination size is @@ -1215,6 +1215,8 @@ namespace bgfx /// Destroy static index buffer. /// + /// @param[in] _handle Static index buffer handle. + /// /// @attention C99 equivalent is `bgfx_destroy_index_buffer`. /// void destroyIndexBuffer(IndexBufferHandle _handle); @@ -1268,6 +1270,7 @@ namespace bgfx /// buffers. /// - `BGFX_BUFFER_INDEX32` - Buffer is using 32-bit indices. This flag has effect only on /// index buffers. + /// @returns Dynamic index buffer handle. /// /// @attention C99 equivalent is `bgfx_create_dynamic_index_buffer`. /// @@ -1291,6 +1294,7 @@ namespace bgfx /// buffers. /// - `BGFX_BUFFER_INDEX32` - Buffer is using 32-bit indices. This flag has effect only on /// index buffers. + /// @returns Dynamic index buffer handle. /// /// @attention C99 equivalent is `bgfx_create_dynamic_index_buffer_mem`. /// @@ -1337,6 +1341,7 @@ namespace bgfx /// buffers. /// - `BGFX_BUFFER_INDEX32` - Buffer is using 32-bit indices. This flag has effect only on /// index buffers. + /// @returns Dynamic vertex buffer handle. /// /// @attention C99 equivalent is `bgfx_create_dynamic_vertex_buffer`. /// @@ -1362,6 +1367,7 @@ namespace bgfx /// buffers. /// - `BGFX_BUFFER_INDEX32` - Buffer is using 32-bit indices. This flag has effect only on /// index buffers. + /// @returns Dynamic vertex buffer handle. /// /// @attention C99 equivalent is `bgfx_create_dynamic_vertex_buffer_mem`. /// @@ -1387,6 +1393,8 @@ namespace bgfx /// Destroy dynamic vertex buffer. /// + /// @param[in] _handle Dynamic vertex buffer handle. + /// /// @attention C99 equivalent is `bgfx_destroy_dynamic_vertex_buffer`. /// void destroyDynamicVertexBuffer(DynamicVertexBufferHandle _handle); @@ -1480,12 +1488,17 @@ namespace bgfx /// Create draw indirect buffer. /// + /// @param[in] _num Number of indirect calls. + /// @returns Indirect buffer handle. + /// /// @attention C99 equivalent is `bgfx_create_indirect_buffer`. /// IndirectBufferHandle createIndirectBuffer(uint32_t _num); /// Destroy draw indirect buffer. /// + /// @param[in] _handle Indirect buffer handle. + /// /// @attention C99 equivalent is `bgfx_destroy_indirect_buffer`. /// void destroyIndirectBuffer(IndirectBufferHandle _handle); @@ -2044,11 +2057,13 @@ namespace bgfx /// Retrieve occlusion query result from previous frame. /// /// @param[in] _handle Handle to occlusion query object. + /// @param[out] _result Number of pixels that passed test. This argument + /// can be `NULL` if result of occlusion query is not needed. /// @returns Occlusion query result. /// /// @attention C99 equivalent is `bgfx_get_result`. /// - OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle); + OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle, int32_t* _result = NULL); /// Destroy occlusion query. /// @@ -2810,16 +2825,19 @@ namespace bgfx , uint16_t _depth = UINT16_MAX ); - /// Request screen shot. + /// Request screen shot of window back buffer. /// + /// @param[in] _handle Frame buffer handle. If handle is `BGFX_INVALID_HANDLE` request will be + /// made for main window back buffer. /// @param[in] _filePath Will be passed to `bgfx::CallbackI::screenShot` callback. /// /// @remarks /// `bgfx::CallbackI::screenShot` must be implemented. /// - /// @attention C99 equivalent is `bgfx_save_screen_shot`. + /// @attention Frame buffer handle must be created with OS' target native window handle. + /// @attention C99 equivalent is `bgfx_request_screen_shot`. /// - void saveScreenShot(const char* _filePath); + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath); } // namespace bgfx diff --git a/3rdparty/bgfx/include/bgfx/c99/bgfx.h b/3rdparty/bgfx/include/bgfx/c99/bgfx.h index addf7f7b323..d329437d371 100644 --- a/3rdparty/bgfx/include/bgfx/c99/bgfx.h +++ b/3rdparty/bgfx/include/bgfx/c99/bgfx.h @@ -762,7 +762,7 @@ BGFX_C_API void bgfx_destroy_uniform(bgfx_uniform_handle_t _handle); BGFX_C_API bgfx_occlusion_query_handle_t bgfx_create_occlusion_query(); /**/ -BGFX_C_API bgfx_occlusion_query_result_t bgfx_get_result(bgfx_occlusion_query_handle_t _handle); +BGFX_C_API bgfx_occlusion_query_result_t bgfx_get_result(bgfx_occlusion_query_handle_t _handle, int32_t* _result); /**/ BGFX_C_API void bgfx_destroy_occlusion_query(bgfx_occlusion_query_handle_t _handle); @@ -909,6 +909,6 @@ BGFX_C_API void bgfx_discard(); BGFX_C_API void bgfx_blit(uint8_t _id, bgfx_texture_handle_t _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, bgfx_texture_handle_t _src, uint8_t _srcMip, uint16_t _srcX, uint16_t _srcY, uint16_t _srcZ, uint16_t _width, uint16_t _height, uint16_t _depth); /**/ -BGFX_C_API void bgfx_save_screen_shot(const char* _filePath); +BGFX_C_API void bgfx_request_screen_shot(bgfx_frame_buffer_handle_t _handle, const char* _filePath); #endif // BGFX_C99_H_HEADER_GUARD diff --git a/3rdparty/bgfx/include/bgfx/c99/platform.h b/3rdparty/bgfx/include/bgfx/c99/platform.h index 217371bc54b..78b7791a079 100644 --- a/3rdparty/bgfx/include/bgfx/c99/platform.h +++ b/3rdparty/bgfx/include/bgfx/c99/platform.h @@ -19,6 +19,7 @@ typedef enum bgfx_render_frame { BGFX_RENDER_FRAME_NO_CONTEXT, BGFX_RENDER_FRAME_RENDER, + BGFX_RENDER_FRAME_TIMEOUT, BGFX_RENDER_FRAME_EXITING, BGFX_RENDER_FRAME_COUNT @@ -150,7 +151,7 @@ typedef struct bgfx_interface_vtbl void (*get_uniform_info)(bgfx_uniform_handle_t _handle, bgfx_uniform_info_t* _info); void (*destroy_uniform)(bgfx_uniform_handle_t _handle); bgfx_occlusion_query_handle_t (*create_occlusion_query)(); - bgfx_occlusion_query_result_t (*get_result)(bgfx_occlusion_query_handle_t _handle); + bgfx_occlusion_query_result_t (*get_result)(bgfx_occlusion_query_handle_t _handle, int32_t* _result); void (*destroy_occlusion_query)(bgfx_occlusion_query_handle_t _handle); void (*set_palette_color)(uint8_t _index, const float _rgba[4]); void (*set_view_name)(uint8_t _id, const char* _name); @@ -197,7 +198,7 @@ typedef struct bgfx_interface_vtbl uint32_t (*dispatch_indirect)(uint8_t _id, bgfx_program_handle_t _handle, bgfx_indirect_buffer_handle_t _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags); void (*discard)(); void (*blit)(uint8_t _id, bgfx_texture_handle_t _dst, uint8_t _dstMip, uint16_t _dstX, uint16_t _dstY, uint16_t _dstZ, bgfx_texture_handle_t _src, uint8_t _srcMip, uint16_t _srcX, uint16_t _srcY, uint16_t _srcZ, uint16_t _width, uint16_t _height, uint16_t _depth); - void (*save_screen_shot)(const char* _filePath); + void (*request_screen_shot)(bgfx_frame_buffer_handle_t _handle, const char* _filePath); } bgfx_interface_vtbl_t; diff --git a/3rdparty/bgfx/include/bgfx/defines.h b/3rdparty/bgfx/include/bgfx/defines.h index c833856927a..98b9ac8fd23 100644 --- a/3rdparty/bgfx/include/bgfx/defines.h +++ b/3rdparty/bgfx/include/bgfx/defines.h @@ -6,7 +6,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(35) +#define BGFX_API_VERSION UINT32_C(39) /// #define BGFX_STATE_RGB_WRITE UINT64_C(0x0000000000000001) //!< Enable RGB write. @@ -145,13 +145,13 @@ #define BGFX_STENCIL_FUNC_RMASK_MASK UINT32_C(0x0000ff00) //!< #define BGFX_STENCIL_TEST_LESS UINT32_C(0x00010000) //!< Enable stencil test, less. -#define BGFX_STENCIL_TEST_LEQUAL UINT32_C(0x00020000) //!< -#define BGFX_STENCIL_TEST_EQUAL UINT32_C(0x00030000) //!< -#define BGFX_STENCIL_TEST_GEQUAL UINT32_C(0x00040000) //!< -#define BGFX_STENCIL_TEST_GREATER UINT32_C(0x00050000) //!< -#define BGFX_STENCIL_TEST_NOTEQUAL UINT32_C(0x00060000) //!< -#define BGFX_STENCIL_TEST_NEVER UINT32_C(0x00070000) //!< -#define BGFX_STENCIL_TEST_ALWAYS UINT32_C(0x00080000) //!< +#define BGFX_STENCIL_TEST_LEQUAL UINT32_C(0x00020000) //!< Enable stencil test, less or equal. +#define BGFX_STENCIL_TEST_EQUAL UINT32_C(0x00030000) //!< Enable stencil test, equal. +#define BGFX_STENCIL_TEST_GEQUAL UINT32_C(0x00040000) //!< Enable stencil test, greater or equal. +#define BGFX_STENCIL_TEST_GREATER UINT32_C(0x00050000) //!< Enable stencil test, greater. +#define BGFX_STENCIL_TEST_NOTEQUAL UINT32_C(0x00060000) //!< Enable stencil test, not equal. +#define BGFX_STENCIL_TEST_NEVER UINT32_C(0x00070000) //!< Enable stencil test, never. +#define BGFX_STENCIL_TEST_ALWAYS UINT32_C(0x00080000) //!< Enable stencil test, always. #define BGFX_STENCIL_TEST_SHIFT 16 //!< Stencil test bit shift. #define BGFX_STENCIL_TEST_MASK UINT32_C(0x000f0000) //!< Stencil test bit mask. @@ -166,27 +166,27 @@ #define BGFX_STENCIL_OP_FAIL_S_SHIFT 20 //!< Stencil operation fail bit shift. #define BGFX_STENCIL_OP_FAIL_S_MASK UINT32_C(0x00f00000) //!< Stencil operation fail bit mask. -#define BGFX_STENCIL_OP_FAIL_Z_ZERO UINT32_C(0x00000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_KEEP UINT32_C(0x01000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_REPLACE UINT32_C(0x02000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_INCR UINT32_C(0x03000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_INCRSAT UINT32_C(0x04000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_DECR UINT32_C(0x05000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_DECRSAT UINT32_C(0x06000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_INVERT UINT32_C(0x07000000) //!< -#define BGFX_STENCIL_OP_FAIL_Z_SHIFT 24 //!< Stencil operation fail depth bit shift. -#define BGFX_STENCIL_OP_FAIL_Z_MASK UINT32_C(0x0f000000) //!< Stencil operation fail depth bit mask. - -#define BGFX_STENCIL_OP_PASS_Z_ZERO UINT32_C(0x00000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_KEEP UINT32_C(0x10000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_REPLACE UINT32_C(0x20000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_INCR UINT32_C(0x30000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_INCRSAT UINT32_C(0x40000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_DECR UINT32_C(0x50000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_DECRSAT UINT32_C(0x60000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_INVERT UINT32_C(0x70000000) //!< -#define BGFX_STENCIL_OP_PASS_Z_SHIFT 28 //!< Stencil operation pass depth bit shift. -#define BGFX_STENCIL_OP_PASS_Z_MASK UINT32_C(0xf0000000) //!< Stencil operation pass depth bit mask. +#define BGFX_STENCIL_OP_FAIL_Z_ZERO UINT32_C(0x00000000) //!< Zero. +#define BGFX_STENCIL_OP_FAIL_Z_KEEP UINT32_C(0x01000000) //!< Keep. +#define BGFX_STENCIL_OP_FAIL_Z_REPLACE UINT32_C(0x02000000) //!< Replace. +#define BGFX_STENCIL_OP_FAIL_Z_INCR UINT32_C(0x03000000) //!< Increment and wrap. +#define BGFX_STENCIL_OP_FAIL_Z_INCRSAT UINT32_C(0x04000000) //!< Increment and clamp. +#define BGFX_STENCIL_OP_FAIL_Z_DECR UINT32_C(0x05000000) //!< Decrement and wrap. +#define BGFX_STENCIL_OP_FAIL_Z_DECRSAT UINT32_C(0x06000000) //!< Decrement and clamp. +#define BGFX_STENCIL_OP_FAIL_Z_INVERT UINT32_C(0x07000000) //!< Invert. +#define BGFX_STENCIL_OP_FAIL_Z_SHIFT 24 //!< Stencil operation depth fail bit shift +#define BGFX_STENCIL_OP_FAIL_Z_MASK UINT32_C(0x0f000000) //!< Stencil operation depth fail bit mask. + +#define BGFX_STENCIL_OP_PASS_Z_ZERO UINT32_C(0x00000000) //!< Zero. +#define BGFX_STENCIL_OP_PASS_Z_KEEP UINT32_C(0x10000000) //!< Keep. +#define BGFX_STENCIL_OP_PASS_Z_REPLACE UINT32_C(0x20000000) //!< Replace. +#define BGFX_STENCIL_OP_PASS_Z_INCR UINT32_C(0x30000000) //!< Increment and wrap. +#define BGFX_STENCIL_OP_PASS_Z_INCRSAT UINT32_C(0x40000000) //!< Increment and clamp. +#define BGFX_STENCIL_OP_PASS_Z_DECR UINT32_C(0x50000000) //!< Decrement and wrap. +#define BGFX_STENCIL_OP_PASS_Z_DECRSAT UINT32_C(0x60000000) //!< Decrement and clamp. +#define BGFX_STENCIL_OP_PASS_Z_INVERT UINT32_C(0x70000000) //!< Invert. +#define BGFX_STENCIL_OP_PASS_Z_SHIFT 28 //!< Stencil operation depth pass bit shift +#define BGFX_STENCIL_OP_PASS_Z_MASK UINT32_C(0xf0000000) //!< Stencil operation depth pass bit mask. #define BGFX_STENCIL_NONE UINT32_C(0x00000000) //!< #define BGFX_STENCIL_MASK UINT32_C(0xffffffff) //!< diff --git a/3rdparty/bgfx/include/bgfx/platform.h b/3rdparty/bgfx/include/bgfx/platform.h index fa539c1146b..1c9b3c754f0 100644 --- a/3rdparty/bgfx/include/bgfx/platform.h +++ b/3rdparty/bgfx/include/bgfx/platform.h @@ -25,6 +25,7 @@ namespace bgfx { NoContext, Render, + Timeout, Exiting, Count diff --git a/3rdparty/bgfx/scripts/genie.lua b/3rdparty/bgfx/scripts/genie.lua index 416075b9e00..a01d7fe068a 100644 --- a/3rdparty/bgfx/scripts/genie.lua +++ b/3rdparty/bgfx/scripts/genie.lua @@ -86,10 +86,6 @@ if not os.isdir(BX_DIR) then os.exit() end -defines { - "BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS=1" -} - dofile (path.join(BX_DIR, "scripts/toolchain.lua")) if not toolchain(BGFX_BUILD_DIR, BGFX_THIRD_PARTY_DIR) then return -- no action specified @@ -141,6 +137,10 @@ function exampleProject(_name) path.join(BGFX_DIR, "examples", _name, "**.bin.h"), } + flags { + "FatalWarnings", + } + links { "example-common", "bgfx", diff --git a/3rdparty/bgfx/scripts/shader.mk b/3rdparty/bgfx/scripts/shader.mk index 897b280b370..4a695d070c0 100644 --- a/3rdparty/bgfx/scripts/shader.mk +++ b/3rdparty/bgfx/scripts/shader.mk @@ -154,6 +154,10 @@ all: dirs $(BIN) clean: @echo Cleaning... @-rm -vf $(BIN) + +.PHONY: cleanall +cleanall: + @echo Cleaning... @-$(call CMD_RMDIR,$(BUILD_INTERMEDIATE_DIR)) .PHONY: dirs diff --git a/3rdparty/bgfx/scripts/shaderc.lua b/3rdparty/bgfx/scripts/shaderc.lua index 319062c98fc..300c4c6a484 100644 --- a/3rdparty/bgfx/scripts/shaderc.lua +++ b/3rdparty/bgfx/scripts/shaderc.lua @@ -3,6 +3,11 @@ -- License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause -- +group "tools/shaderc" + +local GLSL_OPTIMIZER = path.join(BGFX_DIR, "3rdparty/glsl-optimizer") +local FCPP_DIR = path.join(BGFX_DIR, "3rdparty/fcpp") + project "glslang" kind "StaticLib" @@ -19,6 +24,12 @@ project "glslang" buildoptions { "/wd4005", -- warning C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition "/wd4100", -- error C4100: 'inclusionDepth' : unreferenced formal parameter + "/wd4127", -- warning C4127: conditional expression is constant + "/wd4244", -- warning C4244: '=': conversion from 'int' to 'char', possible loss of data + "/wd4456", -- warning C4456: declaration of 'feature' hides previous local declaration + "/wd4457", -- warning C4457: declaration of 'token' hides function parameter + "/wd4458", -- warning C4458: declaration of 'language' hides class member + "/wd4702", -- warning C4702: unreachable code } configuration { "not vs*" } @@ -90,18 +101,36 @@ project "glslang" configuration {} -project "shaderc" - kind "ConsoleApp" - - local GLSL_OPTIMIZER = path.join(BGFX_DIR, "3rdparty/glsl-optimizer") - local FCPP_DIR = path.join(BGFX_DIR, "3rdparty/fcpp") +project "glsl-optimizer" + kind "StaticLib" includedirs { path.join(GLSL_OPTIMIZER, "src"), + path.join(GLSL_OPTIMIZER, "include"), + path.join(GLSL_OPTIMIZER, "src/mesa"), + path.join(GLSL_OPTIMIZER, "src/mapi"), + path.join(GLSL_OPTIMIZER, "src/glsl"), } - links { - "bx", + files { + path.join(GLSL_OPTIMIZER, "src/mesa/**.c"), + path.join(GLSL_OPTIMIZER, "src/glsl/**.cpp"), + path.join(GLSL_OPTIMIZER, "src/mesa/**.h"), + path.join(GLSL_OPTIMIZER, "src/glsl/**.c"), + path.join(GLSL_OPTIMIZER, "src/glsl/**.cpp"), + path.join(GLSL_OPTIMIZER, "src/glsl/**.h"), + path.join(GLSL_OPTIMIZER, "src/util/**.c"), + path.join(GLSL_OPTIMIZER, "src/util/**.h"), + } + + removefiles { + path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/glcpp.c"), + path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/tests/**"), + path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/**.l"), + path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/**.y"), + path.join(GLSL_OPTIMIZER, "src/glsl/ir_set_program_inouts.cpp"), + path.join(GLSL_OPTIMIZER, "src/glsl/main.cpp"), + path.join(GLSL_OPTIMIZER, "src/glsl/builtin_stubs.cpp"), } configuration { "Release" } @@ -128,38 +157,35 @@ project "shaderc" } buildoptions { + "/wd4100", -- error C4100: '' : unreferenced formal parameter + "/wd4127", -- warning C4127: conditional expression is constant + "/wd4132", -- warning C4132: 'deleted_key_value': const object should be initialized + "/wd4189", -- warning C4189: 'interface_type': local variable is initialized but not referenced + "/wd4204", -- warning C4204: nonstandard extension used: non-constant aggregate initializer + "/wd4244", -- warning C4244: '=': conversion from 'const flex_int32_t' to 'YY_CHAR', possible loss of data + "/wd4389", -- warning C4389: '!=': signed/unsigned mismatch + "/wd4245", -- warning C4245: 'return': conversion from 'int' to 'unsigned int', signed/unsigned mismatch + "/wd4701", -- warning C4701: potentially uninitialized local variable 'lower' used + "/wd4702", -- warning C4702: unreachable code + "/wd4706", -- warning C4706: assignment within conditional expression "/wd4996" -- warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. } - configuration { "mingw-*" } - targetextension ".exe" - configuration { "mingw* or linux or osx" } buildoptions { "-fno-strict-aliasing", -- glsl-optimizer has bugs if strict aliasing is used. "-Wno-unused-parameter", } + removebuildoptions { "-Wshadow", -- glsl-optimizer is full of -Wshadow warnings ignore it. } - configuration { "osx" } - links { - "Cocoa.framework", - } - - configuration { "vs*" } - includedirs { - path.join(GLSL_OPTIMIZER, "include/c99"), - } - - configuration { "vs20* or mingw*" } - links { - "psapi", - } - configuration {} +project "fcpp" + kind "StaticLib" + defines { -- fcpp "NINCLUDE=64", "NWORK=65536", @@ -167,6 +193,31 @@ project "shaderc" "OLD_PREPROCESSOR=0", } + files { + path.join(FCPP_DIR, "**.h"), + path.join(FCPP_DIR, "cpp1.c"), + path.join(FCPP_DIR, "cpp2.c"), + path.join(FCPP_DIR, "cpp3.c"), + path.join(FCPP_DIR, "cpp4.c"), + path.join(FCPP_DIR, "cpp5.c"), + path.join(FCPP_DIR, "cpp6.c"), + path.join(FCPP_DIR, "cpp6.c"), + } + + configuration { "vs*" } + + buildoptions { + "/wd4055", -- warning C4055: 'type cast': from data pointer 'void *' to function pointer 'void (__cdecl *)(char *,void *)' + "/wd4244", -- warning C4244: '=': conversion from 'const flex_int32_t' to 'YY_CHAR', possible loss of data + "/wd4701", -- warning C4701: potentially uninitialized local variable 'lower' used + "/wd4706", -- warning C4706: assignment within conditional expression + } + + configuration {} + +project "shaderc" + kind "ConsoleApp" + includedirs { path.join(BX_DIR, "include"), path.join(BGFX_DIR, "include"), @@ -177,52 +228,44 @@ project "shaderc" path.join(BGFX_DIR, "3rdparty/glslang/glslang/Public"), path.join(BGFX_DIR, "3rdparty/glslang/glslang/Include"), path.join(BGFX_DIR, "3rdparty/glslang"), --- path.join(BGFX_DIR, "3rdparty/spirv-tools/include"), path.join(GLSL_OPTIMIZER, "include"), - path.join(GLSL_OPTIMIZER, "src/mesa"), - path.join(GLSL_OPTIMIZER, "src/mapi"), path.join(GLSL_OPTIMIZER, "src/glsl"), } + links { + "bx", + "fcpp", + "glslang", + "glsl-optimizer", + } + files { path.join(BGFX_DIR, "tools/shaderc/**.cpp"), path.join(BGFX_DIR, "tools/shaderc/**.h"), path.join(BGFX_DIR, "src/vertexdecl.**"), path.join(BGFX_DIR, "src/shader_spirv.**"), + } - path.join(FCPP_DIR, "**.h"), - path.join(FCPP_DIR, "cpp1.c"), - path.join(FCPP_DIR, "cpp2.c"), - path.join(FCPP_DIR, "cpp3.c"), - path.join(FCPP_DIR, "cpp4.c"), - path.join(FCPP_DIR, "cpp5.c"), - path.join(FCPP_DIR, "cpp6.c"), - path.join(FCPP_DIR, "cpp6.c"), + configuration { "mingw-*" } + targetextension ".exe" - path.join(GLSL_OPTIMIZER, "src/mesa/**.c"), - path.join(GLSL_OPTIMIZER, "src/glsl/**.cpp"), - path.join(GLSL_OPTIMIZER, "src/mesa/**.h"), - path.join(GLSL_OPTIMIZER, "src/glsl/**.c"), - path.join(GLSL_OPTIMIZER, "src/glsl/**.cpp"), - path.join(GLSL_OPTIMIZER, "src/glsl/**.h"), - path.join(GLSL_OPTIMIZER, "src/util/**.c"), - path.join(GLSL_OPTIMIZER, "src/util/**.h"), - } + configuration { "osx" } + links { + "Cocoa.framework", + } - removefiles { - path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/glcpp.c"), - path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/tests/**"), - path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/**.l"), - path.join(GLSL_OPTIMIZER, "src/glsl/glcpp/**.y"), - path.join(GLSL_OPTIMIZER, "src/glsl/ir_set_program_inouts.cpp"), - path.join(GLSL_OPTIMIZER, "src/glsl/main.cpp"), - path.join(GLSL_OPTIMIZER, "src/glsl/builtin_stubs.cpp"), - } + configuration { "vs*" } + includedirs { + path.join(GLSL_OPTIMIZER, "include/c99"), + } - links { - "glslang", - } + configuration { "vs20* or mingw*" } + links { + "psapi", + } + + configuration {} if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-ext"), { path.join(BGFX_DIR, "scripts/shaderc.lua"), }) then @@ -246,3 +289,5 @@ project "shaderc" configuration {} strip() + +group "tools" diff --git a/3rdparty/bgfx/scripts/texturev.lua b/3rdparty/bgfx/scripts/texturev.lua index 02103739d31..fe08f59d6d4 100644 --- a/3rdparty/bgfx/scripts/texturev.lua +++ b/3rdparty/bgfx/scripts/texturev.lua @@ -11,7 +11,6 @@ project ("texturev") path.join(BGFX_DIR, "examples/common"), path.join(MODULE_DIR, "include"), path.join(MODULE_DIR, "3rdparty"), - path.join(MODULE_DIR, "src"), } files { diff --git a/3rdparty/bgfx/src/bgfx.cpp b/3rdparty/bgfx/src/bgfx.cpp index 3c008902c1f..5886e842443 100644 --- a/3rdparty/bgfx/src/bgfx.cpp +++ b/3rdparty/bgfx/src/bgfx.cpp @@ -20,6 +20,8 @@ #endif // BGFX_CONFIG_PROFILER_REMOTERY_BUILD_LIB #include +#include + #include "topology.h" BX_ERROR_RESULT(BGFX_ERROR_TEXTURE_VALIDATION, BX_MAKEFOURCC('b', 'g', 0, 1) ); @@ -76,7 +78,7 @@ namespace bgfx if ( (int32_t)sizeof(temp) < total) { out = (char*)alloca(total+1); - memcpy(out, temp, len); + bx::memCopy(out, temp, len); bx::vsnprintf(out + len, total-len, _format, _argList); } out[total] = '\0'; @@ -116,7 +118,7 @@ namespace bgfx BX_UNUSED(_filePath, _width, _height, _pitch, _data, _size, _yflip); #if BX_CONFIG_CRT_FILE_READER_WRITER - const size_t len = bx::strnlen(_filePath)+5; + const int32_t len = bx::strnlen(_filePath)+5; char* filePath = (char*)alloca(len); bx::strlncpy(filePath, len, _filePath); bx::strlncat(filePath, len, ".tga"); @@ -169,7 +171,7 @@ namespace bgfx { #if BGFX_CONFIG_MEMORY_TRACKING { - bx::LwMutexScope scope(m_mutex); + bx::MutexScope scope(m_mutex); BX_CHECK(m_numBlocks > 0, "Number of blocks is 0. Possible alloc/free mismatch?"); --m_numBlocks; } @@ -191,7 +193,7 @@ namespace bgfx { #if BGFX_CONFIG_MEMORY_TRACKING { - bx::LwMutexScope scope(m_mutex); + bx::MutexScope scope(m_mutex); ++m_numBlocks; m_maxBlocks = bx::uint32_max(m_maxBlocks, m_numBlocks); } @@ -208,7 +210,7 @@ namespace bgfx #if BGFX_CONFIG_MEMORY_TRACKING if (NULL == _ptr) { - bx::LwMutexScope scope(m_mutex); + bx::MutexScope scope(m_mutex); ++m_numBlocks; m_maxBlocks = bx::uint32_max(m_maxBlocks, m_numBlocks); } @@ -224,7 +226,7 @@ namespace bgfx protected: #if BGFX_CONFIG_MEMORY_TRACKING - bx::LwMutex m_mutex; + bx::Mutex m_mutex; uint32_t m_numBlocks; uint32_t m_maxBlocks; #endif // BGFX_CONFIG_MEMORY_TRACKING @@ -315,7 +317,7 @@ namespace bgfx , "Only backbuffer pointer and native window handle can be changed after initialization!" ); } - memcpy(&g_platformData, &_data, sizeof(PlatformData) ); + bx::memCopy(&g_platformData, &_data, sizeof(PlatformData) ); g_platformDataChangedSinceReset = true; } @@ -463,7 +465,7 @@ namespace bgfx { for (const EmbeddedShader* es = _es; NULL != es->name; ++es) { - if (0 == strcmp(_name, es->name) ) + if (0 == bx::strncmp(_name, es->name) ) { for (const EmbeddedShader::Data* esd = es->data; RendererType::Count != esd->type; ++esd) { @@ -492,7 +494,7 @@ namespace bgfx for (uint32_t xx = 0; xx < 8; ++xx) { uint8_t bit = 1<<(7-xx); - memset(&pix[xx*_bpp], _charset[ii*_height+yy]&bit ? 255 : 0, _bpp); + bx::memSet(&pix[xx*_bpp], _charset[ii*_height+yy]&bit ? 255 : 0, _bpp); } pix += _pitch; @@ -502,13 +504,13 @@ namespace bgfx static uint8_t parseAttrTo(char*& _ptr, char _to, uint8_t _default) { - const char* str = strchr(_ptr, _to); + const char* str = bx::strnchr(_ptr, _to); if (NULL != str && 3 > str-_ptr) { char tmp[4]; - ptrdiff_t len = str-_ptr; + int32_t len = int32_t(str-_ptr); bx::strlncpy(tmp, sizeof(tmp), _ptr, len); uint8_t attr = uint8_t(atoi(tmp) ); @@ -709,7 +711,7 @@ namespace bgfx { (xx )*8.0f, (yy+1)*fontHeight, 0.0f, fg, bg, (ch )*8.0f*texelWidth - texelWidthHalf, ubottom }, }; - memcpy(vertex, vert, sizeof(vert) ); + bx::memCopy(vertex, vert, sizeof(vert) ); vertex += 4; indices[0] = uint16_t(startVertex+0); @@ -808,7 +810,7 @@ namespace bgfx for (uint32_t ii = 0; ii < UniformType::Count; ++ii) { if (NULL != s_uniformTypeName[ii] - && 0 == strcmp(_name, s_uniformTypeName[ii]) ) + && 0 == bx::strncmp(_name, s_uniformTypeName[ii]) ) { return UniformType::Enum(ii); } @@ -842,7 +844,7 @@ namespace bgfx { for (uint32_t ii = 0; ii < PredefinedUniform::Count; ++ii) { - if (0 == strcmp(_name, s_predefinedName[ii]) ) + if (0 == bx::strncmp(_name, s_predefinedName[ii]) ) { return PredefinedUniform::Enum(ii); } @@ -1030,16 +1032,16 @@ namespace bgfx } BGFX_CHECK_RENDER_THREAD(); - if (s_ctx->renderFrame() ) + RenderFrame::Enum result = s_ctx->renderFrame(BGFX_CONFIG_API_SEMAPHORE_TIMEOUT); + if (RenderFrame::Exiting == result) { Context* ctx = s_ctx; ctx->apiSemWait(); s_ctx = NULL; ctx->renderSemPost(); - return RenderFrame::Exiting; } - return RenderFrame::Render; + return result; } BX_CHECK(false, "This call only makes sense if used with multi-threaded renderer."); @@ -1287,8 +1289,12 @@ namespace bgfx TextureFormat::ETC2, TextureFormat::ETC2A, TextureFormat::ETC2A1, + TextureFormat::PTC12, TextureFormat::PTC14, + TextureFormat::PTC12A, TextureFormat::PTC14A, + TextureFormat::PTC22, + TextureFormat::PTC24, TextureFormat::BGRA8, // GL doesn't support BGRA8 without extensions. TextureFormat::RGBA8, // D3D9 doesn't support RGBA8 }; @@ -1467,7 +1473,7 @@ namespace bgfx m_render->destroy(); #endif // BGFX_CONFIG_MULTITHREADED - memset(&g_internalData, 0, sizeof(InternalData) ); + bx::memSet(&g_internalData, 0, sizeof(InternalData) ); s_ctx = NULL; m_submit->destroy(); @@ -1511,6 +1517,12 @@ namespace bgfx destroyDynamicVertexBufferInternal(m_freeDynamicVertexBufferHandle[ii]); } m_numFreeDynamicVertexBufferHandles = 0; + + for (uint16_t ii = 0, num = m_numFreeOcclusionQueryHandles; ii < num; ++ii) + { + m_occlusionQueryHandle.free(m_freeOcclusionQueryHandle[ii].idx); + } + m_numFreeOcclusionQueryHandles = 0; } void Context::freeAllHandles(Frame* _frame) @@ -1595,24 +1607,24 @@ namespace bgfx m_resolution.m_flags &= ~BGFX_RESET_INTERNAL_FORCE; m_submit->m_debug = m_debug; - memcpy(m_submit->m_viewRemap, m_viewRemap, sizeof(m_viewRemap) ); - memcpy(m_submit->m_fb, m_fb, sizeof(m_fb) ); - memcpy(m_submit->m_clear, m_clear, sizeof(m_clear) ); - memcpy(m_submit->m_rect, m_rect, sizeof(m_rect) ); - memcpy(m_submit->m_scissor, m_scissor, sizeof(m_scissor) ); - memcpy(m_submit->m_view, m_view, sizeof(m_view) ); - memcpy(m_submit->m_proj, m_proj, sizeof(m_proj) ); - memcpy(m_submit->m_viewFlags, m_viewFlags, sizeof(m_viewFlags) ); + bx::memCopy(m_submit->m_viewRemap, m_viewRemap, sizeof(m_viewRemap) ); + bx::memCopy(m_submit->m_fb, m_fb, sizeof(m_fb) ); + bx::memCopy(m_submit->m_clear, m_clear, sizeof(m_clear) ); + bx::memCopy(m_submit->m_rect, m_rect, sizeof(m_rect) ); + bx::memCopy(m_submit->m_scissor, m_scissor, sizeof(m_scissor) ); + bx::memCopy(m_submit->m_view, m_view, sizeof(m_view) ); + bx::memCopy(m_submit->m_proj, m_proj, sizeof(m_proj) ); + bx::memCopy(m_submit->m_viewFlags, m_viewFlags, sizeof(m_viewFlags) ); if (m_colorPaletteDirty > 0) { --m_colorPaletteDirty; - memcpy(m_submit->m_colorPalette, m_clearColor, sizeof(m_clearColor) ); + bx::memCopy(m_submit->m_colorPalette, m_clearColor, sizeof(m_clearColor) ); } m_submit->finish(); bx::xchg(m_render, m_submit); - memcpy(m_render->m_occlusion, m_submit->m_occlusion, sizeof(m_submit->m_occlusion) ); + bx::memCopy(m_render->m_occlusion, m_submit->m_occlusion, sizeof(m_submit->m_occlusion) ); if (!BX_ENABLED(BGFX_CONFIG_MULTITHREADED) || m_singleThreaded) @@ -1623,7 +1635,7 @@ namespace bgfx m_frames++; m_submit->start(); - memset(m_seq, 0, sizeof(m_seq) ); + bx::memSet(m_seq, 0, sizeof(m_seq) ); freeAllHandles(m_submit); m_submit->resetFreeHandles(); @@ -1638,7 +1650,7 @@ namespace bgfx return m_uniformRef[_handle.idx].m_name.getPtr(); } - bool Context::renderFrame() + RenderFrame::Enum Context::renderFrame(int32_t _msecs) { BGFX_PROFILER_SCOPE(bgfx, render_frame, 0xff2040ff); @@ -1650,7 +1662,7 @@ namespace bgfx m_flipped = true; } - if (apiSemWait(BGFX_CONFIG_API_SEMAPHORE_TIMEOUT) ) + if (apiSemWait(_msecs) ) { rendererExecCommands(m_render->m_cmdPre); if (m_rendererInitialized) @@ -1670,8 +1682,15 @@ namespace bgfx m_flipped = true; } } + else + { + return RenderFrame::Timeout; + } - return m_exit; + return m_exit + ? RenderFrame::Exiting + : RenderFrame::Render + ; } void rendererUpdateUniforms(RendererContextI* _renderCtx, UniformBuffer* _uniformBuffer, uint32_t _begin, uint32_t _end) @@ -1843,7 +1862,7 @@ namespace bgfx }; OSVERSIONINFOEXA ovi; - memset(&ovi, 0, sizeof(ovi) ); + bx::memSet(&ovi, 0, sizeof(ovi) ); ovi.dwOSVersionInfoSize = sizeof(ovi); // _WIN32_WINNT_WINBLUE 0x0603 // _WIN32_WINNT_WIN8 0x0602 @@ -1937,7 +1956,7 @@ namespace bgfx } } - qsort(scores, numScores, sizeof(int32_t), compareDescending); + bx::quickSort(scores, numScores, sizeof(int32_t), compareDescending); RendererContextI* renderCtx = NULL; for (uint32_t ii = 0; ii < numScores; ++ii) @@ -2432,14 +2451,17 @@ namespace bgfx } break; - case CommandBuffer::SaveScreenShot: + case CommandBuffer::RequestScreenShot: { + FrameBufferHandle handle; + _cmdbuf.read(handle); + uint16_t len; _cmdbuf.read(len); const char* filePath = (const char*)_cmdbuf.skip(len); - m_renderCtx->saveScreenShot(filePath); + m_renderCtx->requestScreenShot(handle, filePath); } break; @@ -2457,6 +2479,15 @@ namespace bgfx } break; + case CommandBuffer::InvalidateOcclusionQuery: + { + OcclusionQueryHandle handle; + _cmdbuf.read(handle); + + m_renderCtx->invalidateOcclusionQuery(handle); + } + break; + default: BX_CHECK(false, "Invalid command: %d", command); break; @@ -2566,7 +2597,7 @@ namespace bgfx goto error; } - memset(&g_caps, 0, sizeof(g_caps) ); + bx::memSet(&g_caps, 0, sizeof(g_caps) ); g_caps.limits.maxDrawCalls = BGFX_CONFIG_MAX_DRAW_CALLS; g_caps.limits.maxBlits = BGFX_CONFIG_MAX_BLIT_ITEMS; g_caps.limits.maxViews = BGFX_CONFIG_MAX_VIEWS; @@ -2713,7 +2744,7 @@ error: { BX_CHECK(0 < _size, "Invalid memory operation. _size is 0."); const Memory* mem = alloc(_size); - memcpy(mem->data, _data, _size); + bx::memCopy(mem->data, _data, _size); return mem; } @@ -3105,48 +3136,7 @@ error: void calcTextureSize(TextureInfo& _info, uint16_t _width, uint16_t _height, uint16_t _depth, bool _cubeMap, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format) { - const ImageBlockInfo& blockInfo = getBlockInfo(_format); - const uint8_t bpp = blockInfo.bitsPerPixel; - const uint16_t blockWidth = blockInfo.blockWidth; - const uint16_t blockHeight = blockInfo.blockHeight; - const uint16_t minBlockX = blockInfo.minBlockX; - const uint16_t minBlockY = blockInfo.minBlockY; - - _width = bx::uint16_max(blockWidth * minBlockX, ( (_width + blockWidth - 1) / blockWidth)*blockWidth); - _height = bx::uint16_max(blockHeight * minBlockY, ( (_height + blockHeight - 1) / blockHeight)*blockHeight); - _depth = bx::uint16_max(1, _depth); - const uint8_t numMips = calcNumMips(_hasMips, _width, _height, _depth); - const uint32_t sides = _cubeMap ? 6 : 1; - - uint32_t width = _width; - uint32_t height = _height; - uint32_t depth = _depth; - uint32_t size = 0; - - for (uint32_t lod = 0; lod < numMips; ++lod) - { - width = bx::uint32_max(blockWidth * minBlockX, ( (width + blockWidth - 1) / blockWidth )*blockWidth); - height = bx::uint32_max(blockHeight * minBlockY, ( (height + blockHeight - 1) / blockHeight)*blockHeight); - depth = bx::uint32_max(1, depth); - - size += width*height*depth*bpp/8 * sides; - - width >>= 1; - height >>= 1; - depth >>= 1; - } - - size *= _numLayers; - - _info.format = _format; - _info.width = _width; - _info.height = _height; - _info.depth = _depth; - _info.numMips = numMips; - _info.numLayers = _numLayers; - _info.cubeMap = _cubeMap; - _info.storageSize = size; - _info.bitsPerPixel = bpp; + imageGetSize(&_info, _width, _height, _depth, _cubeMap, _hasMips, _numLayers, _format); } TextureHandle createTexture(const Memory* _mem, uint32_t _flags, uint8_t _skip, TextureInfo* _info) @@ -3180,7 +3170,11 @@ error: bx::Error err; isTextureValid(0, false, _numLayers, _format, _flags, &err); - BX_CHECK(err.isOk(), "%s", err.getMessage().getPtr() ); + BX_CHECK(err.isOk(), "%s (layers %d, format %s)" + , err.getMessage().getPtr() + , _numLayers + , getName(_format) + ); if (BackbufferRatio::Count != _ratio) { @@ -3470,11 +3464,11 @@ error: return s_ctx->createOcclusionQuery(); } - OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle) + OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle, int32_t* _result) { BGFX_CHECK_MAIN_THREAD(); BGFX_CHECK_CAPS(BGFX_CAPS_OCCLUSION_QUERY, "Occlusion query is not supported!"); - return s_ctx->getResult(_handle); + return s_ctx->getResult(_handle, _result); } void destroyOcclusionQuery(OcclusionQueryHandle _handle) @@ -3787,6 +3781,7 @@ error: uint32_t submit(uint8_t _id, ProgramHandle _program, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, int32_t _depth, bool _preserveState) { BGFX_CHECK_MAIN_THREAD(); + BGFX_CHECK_CAPS(BGFX_CAPS_DRAW_INDIRECT, "Draw indirect is not supported! Use bgfx::getCaps to check BGFX_CAPS_DRAW_INDIRECT backend renderer capabilities."); return s_ctx->submit(_id, _program, _indirectHandle, _start, _num, _depth, _preserveState); } @@ -3835,12 +3830,15 @@ error: uint32_t dispatch(uint8_t _id, ProgramHandle _handle, uint16_t _numX, uint16_t _numY, uint16_t _numZ, uint8_t _flags) { BGFX_CHECK_MAIN_THREAD(); + BGFX_CHECK_CAPS(BGFX_CAPS_COMPUTE, "Compute is not supported! Use bgfx::getCaps to check BGFX_CAPS_COMPUTE backend renderer capabilities."); return s_ctx->dispatch(_id, _handle, _numX, _numY, _numZ, _flags); } uint32_t dispatch(uint8_t _id, ProgramHandle _handle, IndirectBufferHandle _indirectHandle, uint16_t _start, uint16_t _num, uint8_t _flags) { BGFX_CHECK_MAIN_THREAD(); + BGFX_CHECK_CAPS(BGFX_CAPS_DRAW_INDIRECT, "Dispatch indirect is not supported! Use bgfx::getCaps to check BGFX_CAPS_DRAW_INDIRECT backend renderer capabilities."); + BGFX_CHECK_CAPS(BGFX_CAPS_COMPUTE, "Compute is not supported! Use bgfx::getCaps to check BGFX_CAPS_COMPUTE backend renderer capabilities."); return s_ctx->dispatch(_id, _handle, _indirectHandle, _start, _num, _flags); } @@ -3862,10 +3860,10 @@ error: s_ctx->blit(_id, _dst, _dstMip, _dstX, _dstY, _dstZ, _src, _srcMip, _srcX, _srcY, _srcZ, _width, _height, _depth); } - void saveScreenShot(const char* _filePath) + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) { BGFX_CHECK_MAIN_THREAD(); - s_ctx->saveScreenShot(_filePath); + s_ctx->requestScreenShot(_handle, _filePath); } } // namespace bgfx @@ -4518,10 +4516,10 @@ BGFX_C_API bgfx_occlusion_query_handle_t bgfx_create_occlusion_query() return handle.c; } -BGFX_C_API bgfx_occlusion_query_result_t bgfx_get_result(bgfx_occlusion_query_handle_t _handle) +BGFX_C_API bgfx_occlusion_query_result_t bgfx_get_result(bgfx_occlusion_query_handle_t _handle, int32_t* _result) { union { bgfx_occlusion_query_handle_t c; bgfx::OcclusionQueryHandle cpp; } handle = { _handle }; - return bgfx_occlusion_query_result_t(bgfx::getResult(handle.cpp) ); + return bgfx_occlusion_query_result_t(bgfx::getResult(handle.cpp, _result) ); } BGFX_C_API void bgfx_destroy_occlusion_query(bgfx_occlusion_query_handle_t _handle) @@ -4793,9 +4791,10 @@ BGFX_C_API void bgfx_blit(uint8_t _id, bgfx_texture_handle_t _dst, uint8_t _dstM bgfx::blit(_id, dst.cpp, _dstMip, _dstX, _dstY, _dstZ, src.cpp, _srcMip, _srcX, _srcY, _srcZ, _width, _height, _depth); } -BGFX_C_API void bgfx_save_screen_shot(const char* _filePath) +BGFX_C_API void bgfx_request_screen_shot(bgfx_frame_buffer_handle _handle, const char* _filePath) { - bgfx::saveScreenShot(_filePath); + union { bgfx_frame_buffer_handle_t c; bgfx::FrameBufferHandle cpp; } handle = { _handle }; + bgfx::requestScreenShot(handle.cpp, _filePath); } BGFX_C_API bgfx_render_frame_t bgfx_render_frame() @@ -4962,7 +4961,7 @@ BGFX_C_API bgfx_interface_vtbl_t* bgfx_get_interface(uint32_t _version) BGFX_IMPORT_FUNC(dispatch_indirect) \ BGFX_IMPORT_FUNC(discard) \ BGFX_IMPORT_FUNC(blit) \ - BGFX_IMPORT_FUNC(save_screen_shot) + BGFX_IMPORT_FUNC(request_screen_shot) static bgfx_interface_vtbl_t s_bgfx_interface = { diff --git a/3rdparty/bgfx/src/bgfx_compute.sh b/3rdparty/bgfx/src/bgfx_compute.sh index 45799cbdce1..641dda89a31 100644 --- a/3rdparty/bgfx/src/bgfx_compute.sh +++ b/3rdparty/bgfx/src/bgfx_compute.sh @@ -57,7 +57,7 @@ _type imageLoad( RWTexture3D<_textureType> _image, ivec3 _uvw, _type _value) { return _image[_uvw]._loadComponents; } \ void imageStore( RWTexture2D<_textureType> _image, ivec2 _uv, _type _value) { _image[_uv ] = _value._storeComponents; } \ void imageStore(RWTexture2DArray<_textureType> _image, ivec3 _uvw, _type _value) { _image[_uvw] = _value._storeComponents; } \ - void imageStore( RWTexture3D<_textureType> _image, ivec3 _uvw, _type _value) { _image[_uvw] = _value._storeComponents; } + void imageStore( RWTexture3D<_textureType> _image, ivec3 _uvw, _type _value) { _image[_uvw] = _value._storeComponents; } __IMAGE_IMPL(float, x, vec4, xxxx) __IMAGE_IMPL(vec2, xy, vec4, xyyy) @@ -188,31 +188,31 @@ uint atomicCompSwap(uint _mem, uint _compare, uint _data) #endif // BGFX_SHADER_LANGUAGE_HLSL #define dispatchIndirect(_buffer \ - , _offset \ - , _numX \ - , _numY \ - , _numZ \ - ) \ + , _offset \ + , _numX \ + , _numY \ + , _numZ \ + ) \ _buffer[_offset*2+0] = uvec4(_numX, _numY, _numZ, 0u) #define drawIndirect(_buffer \ - , _offset \ - , _numVertices \ - , _numInstances \ - , _startVertex \ + , _offset \ + , _numVertices \ + , _numInstances \ + , _startVertex \ , _startInstance \ - ) \ + ) \ _buffer[_offset*2+0] = uvec4(_numVertices, _numInstances, _startVertex, _startInstance) #define drawIndexedIndirect(_buffer \ - , _offset \ - , _numIndices \ - , _numInstances \ - , _startIndex \ - , _startVertex \ - , _startInstance \ - ) \ - _buffer[_offset*2+0] = uvec4(_numIndices, _numInstances, _startIndex, _startInstance); \ + , _offset \ + , _numIndices \ + , _numInstances \ + , _startIndex \ + , _startVertex \ + , _startInstance \ + ) \ + _buffer[_offset*2+0] = uvec4(_numIndices, _numInstances, _startIndex, _startVertex); \ _buffer[_offset*2+1] = uvec4(_startInstance, 0u, 0u, 0u) #endif // __cplusplus diff --git a/3rdparty/bgfx/src/bgfx_p.h b/3rdparty/bgfx/src/bgfx_p.h index dcef0afdcb3..775cd157caa 100644 --- a/3rdparty/bgfx/src/bgfx_p.h +++ b/3rdparty/bgfx/src/bgfx_p.h @@ -23,8 +23,6 @@ #include "config.h" #include -#include // va_list -#include // Check handle, cannot be bgfx::invalidHandle and must be valid. #define BGFX_CHECK_HANDLE(_desc, _handleAlloc, _handle) \ @@ -124,7 +122,7 @@ namespace bgfx #include #include #include -#include +#include #include #include #include @@ -273,6 +271,18 @@ namespace bgfx struct Rect { + Rect() + { + } + + Rect(uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height) + : m_x(_x) + , m_y(_y) + , m_width(_width) + , m_height(_height) + { + } + void clear() { m_x = @@ -294,7 +304,15 @@ namespace bgfx ; } - void intersect(const Rect& _a, const Rect& _b) + void set(uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height) + { + m_x = _x; + m_y = _y; + m_width = _width; + m_height = _height; + } + + void setIntersect(const Rect& _a, const Rect& _b) { using namespace bx; const uint16_t sx = uint16_max(_a.m_x, _b.m_x); @@ -307,6 +325,11 @@ namespace bgfx m_height = (uint16_t)uint32_satsub(ey, sy); } + void intersect(const Rect& _a) + { + setIntersect(*this, _a); + } + uint16_t m_x; uint16_t m_y; uint16_t m_width; @@ -418,7 +441,7 @@ namespace bgfx if (size < m_size) { - memset(&m_mem[size], 0, m_size-size); + bx::memSet(&m_mem[size], 0, m_size-size); } } } @@ -474,7 +497,6 @@ namespace bgfx TransientIndexBuffer* m_ib; VertexDecl m_decl; ProgramHandle m_program; - bool m_init; }; struct RendererContextI; @@ -610,6 +632,7 @@ namespace bgfx CreateFrameBuffer, CreateUniform, UpdateViewName, + InvalidateOcclusionQuery, End, RendererShutdownEnd, DestroyVertexDecl, @@ -623,14 +646,14 @@ namespace bgfx DestroyFrameBuffer, DestroyUniform, ReadTexture, - SaveScreenShot, + RequestScreenShot, }; void write(const void* _data, uint32_t _size) { BX_CHECK(m_size == BGFX_CONFIG_MAX_COMMAND_BUFFER_SIZE, "Called write outside start/finish?"); BX_CHECK(m_pos < m_size, "CommandBuffer::write error (pos: %d, size: %d).", m_pos, m_size); - memcpy(&m_buffer[m_pos], _data, _size); + bx::memCopy(&m_buffer[m_pos], _data, _size); m_pos += _size; } @@ -644,7 +667,7 @@ namespace bgfx void read(void* _data, uint32_t _size) { BX_CHECK(m_pos < m_size, "CommandBuffer::read error (pos: %d, size: %d).", m_pos, m_size); - memcpy(_data, &m_buffer[m_pos], _size); + bx::memCopy(_data, &m_buffer[m_pos], _size); m_pos += _size; } @@ -885,7 +908,7 @@ namespace bgfx void setIdentity() { - memset(un.val, 0, sizeof(un.val) ); + bx::memSet(un.val, 0, sizeof(un.val) ); un.val[0] = un.val[5] = un.val[10] = un.val[15] = 1.0f; } }; @@ -922,7 +945,7 @@ namespace bgfx if (NULL != _mtx) { uint32_t first = reserve(&_num); - memcpy(&m_cache[first], _mtx, sizeof(Matrix4)*_num); + bx::memCopy(&m_cache[first], _mtx, sizeof(Matrix4)*_num); return first; } @@ -1047,7 +1070,7 @@ namespace bgfx if (m_pos + _size < m_size) { - memcpy(&m_buffer[m_pos], _data, _size); + bx::memCopy(&m_buffer[m_pos], _data, _size); m_pos += _size; } } @@ -1068,7 +1091,7 @@ namespace bgfx uint32_t read() { uint32_t result; - memcpy(&result, read(sizeof(uint32_t) ), sizeof(uint32_t) ); + bx::memCopy(&result, read(sizeof(uint32_t) ), sizeof(uint32_t) ); return result; } @@ -1120,8 +1143,8 @@ namespace bgfx UniformHandle m_handle; }; - class UniformRegistry - { + class UniformRegistry + { public: UniformRegistry() { @@ -1402,7 +1425,7 @@ namespace bgfx term.m_program = invalidHandle; m_sortKeys[BGFX_CONFIG_MAX_DRAW_CALLS] = term.encodeDraw(); m_sortValues[BGFX_CONFIG_MAX_DRAW_CALLS] = BGFX_CONFIG_MAX_DRAW_CALLS; - memset(m_occlusion, 0xff, sizeof(m_occlusion) ); + bx::memSet(m_occlusion, 0xff, sizeof(m_occlusion) ); } ~Frame() @@ -1601,7 +1624,7 @@ namespace bgfx void setInstanceDataBuffer(const InstanceDataBuffer* _idb, uint32_t _num) { - m_draw.m_instanceDataOffset = _idb->offset; + m_draw.m_instanceDataOffset = _idb->offset; m_draw.m_instanceDataStride = _idb->stride; m_draw.m_numInstances = bx::uint32_min(_idb->num, _num); m_draw.m_instanceDataBuffer = _idb->handle; @@ -1809,7 +1832,7 @@ namespace bgfx Matrix4 m_view[BGFX_CONFIG_MAX_VIEWS]; Matrix4 m_proj[2][BGFX_CONFIG_MAX_VIEWS]; uint8_t m_viewFlags[BGFX_CONFIG_MAX_VIEWS]; - uint8_t m_occlusion[BGFX_CONFIG_MAX_OCCLUSION_QUERIES]; + int32_t m_occlusion[BGFX_CONFIG_MAX_OCCLUSION_QUERIES]; uint64_t m_sortKeys[BGFX_CONFIG_MAX_DRAW_CALLS+1]; RenderItemCount m_sortValues[BGFX_CONFIG_MAX_DRAW_CALLS+1]; @@ -1930,8 +1953,8 @@ namespace bgfx void init() { - memset(m_vertexDeclRef, 0, sizeof(m_vertexDeclRef) ); - memset(m_vertexBufferRef, 0xff, sizeof(m_vertexBufferRef) ); + bx::memSet(m_vertexDeclRef, 0, sizeof(m_vertexDeclRef) ); + bx::memSet(m_vertexBufferRef, 0xff, sizeof(m_vertexBufferRef) ); } template @@ -2143,10 +2166,11 @@ namespace bgfx virtual void destroyFrameBuffer(FrameBufferHandle _handle) = 0; virtual void createUniform(UniformHandle _handle, UniformType::Enum _type, uint16_t _num, const char* _name) = 0; virtual void destroyUniform(UniformHandle _handle) = 0; - virtual void saveScreenShot(const char* _filePath) = 0; + virtual void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) = 0; virtual void updateViewName(uint8_t _id, const char* _name) = 0; virtual void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) = 0; virtual void setMarker(const char* _marker, uint32_t _size) = 0; + virtual void invalidateOcclusionQuery(OcclusionQueryHandle _handle) = 0; virtual void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) = 0; virtual void blitSetup(TextVideoMemBlitter& _blitter) = 0; virtual void blitRender(TextVideoMemBlitter& _blitter, uint32_t _numIndices) = 0; @@ -2171,6 +2195,7 @@ namespace bgfx , m_submit(&m_frame[BGFX_CONFIG_MULTITHREADED ? 1 : 0]) , m_numFreeDynamicIndexBufferHandles(0) , m_numFreeDynamicVertexBufferHandles(0) + , m_numFreeOcclusionQueryHandles(0) , m_colorPaletteDirty(0) , m_instBufferCount(0) , m_frames(0) @@ -2227,7 +2252,7 @@ namespace bgfx m_flipAfterRender = !!(_flags & BGFX_RESET_FLIP_AFTER_RENDER); - memset(m_fb, 0xff, sizeof(m_fb) ); + bx::memSet(m_fb, 0xff, sizeof(m_fb) ); for (uint16_t ii = 0, num = m_textureHandle.getNumHandles(); ii < num; ++ii) { @@ -2620,7 +2645,7 @@ namespace bgfx BGFX_CHECK_HANDLE("updateDynamicVertexBuffer", m_dynamicVertexBufferHandle, _handle); DynamicVertexBuffer& dvb = m_dynamicVertexBuffers[_handle.idx]; - BX_CHECK(0 == (dvb.m_flags & BGFX_BUFFER_COMPUTE_READ_WRITE), "Can't update GPU buffer from CPU."); + BX_CHECK(0 == (dvb.m_flags & BGFX_BUFFER_COMPUTE_WRITE), "Can't update GPU write buffer from CPU."); if (dvb.m_size < _mem->size && 0 != (dvb.m_flags & BGFX_BUFFER_ALLOW_RESIZE) ) @@ -2953,7 +2978,7 @@ namespace bgfx { uint32_t size = sr.m_num*sizeof(UniformHandle); sr.m_uniforms = (UniformHandle*)BX_ALLOC(g_allocator, size); - memcpy(sr.m_uniforms, uniforms, size); + bx::memCopy(sr.m_uniforms, uniforms, size); } CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::CreateShader); @@ -2975,7 +3000,7 @@ namespace bgfx ShaderRef& sr = m_shaderRef[_handle.idx]; if (NULL != _uniforms) { - memcpy(_uniforms, sr.m_uniforms, bx::uint16_min(_max, sr.m_num)*sizeof(UniformHandle) ); + bx::memCopy(_uniforms, sr.m_uniforms, bx::uint16_min(_max, sr.m_num)*sizeof(UniformHandle) ); } return sr.m_num; @@ -3065,7 +3090,7 @@ namespace bgfx } ProgramHandle handle; - handle.idx = m_programHandle.alloc(); + handle.idx = m_programHandle.alloc(); BX_WARN(isValid(handle), "Failed to allocate program handle."); if (isValid(handle) ) @@ -3378,7 +3403,7 @@ namespace bgfx FrameBufferRef& ref = m_frameBufferRef[handle.idx]; ref.m_window = false; - memset(ref.un.m_th, 0xff, sizeof(ref.un.m_th) ); + bx::memSet(ref.un.m_th, 0xff, sizeof(ref.un.m_th) ); BackbufferRatio::Enum bbRatio = BackbufferRatio::Enum(m_textureRef[_attachment[0].handle.idx].m_bbRatio); for (uint32_t ii = 0; ii < _num; ++ii) { @@ -3475,6 +3500,8 @@ namespace bgfx return handle; } + _num = bx::uint16_max(1, _num); + uint16_t idx = m_uniformHashMap.find(bx::hashMurmur2A(_name) ); if (UniformHashMap::invalid != idx) { @@ -3575,20 +3602,29 @@ namespace bgfx OcclusionQueryHandle handle = { m_occlusionQueryHandle.alloc() }; if (isValid(handle) ) { - m_submit->m_occlusion[handle.idx] = UINT8_MAX; + m_submit->m_occlusion[handle.idx] = INT32_MIN; + + CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::InvalidateOcclusionQuery); + cmdbuf.write(handle); } + return handle; } - BGFX_API_FUNC(OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle) ) + BGFX_API_FUNC(OcclusionQueryResult::Enum getResult(OcclusionQueryHandle _handle, int32_t* _result) ) { BGFX_CHECK_HANDLE("getResult", m_occlusionQueryHandle, _handle); switch (m_submit->m_occlusion[_handle.idx]) { case 0: return OcclusionQueryResult::Invisible; - case UINT8_MAX: return OcclusionQueryResult::NoResult; - default:; + case INT32_MIN: return OcclusionQueryResult::NoResult; + default: break; + } + + if (NULL != _result) + { + *_result = m_submit->m_occlusion[_handle.idx]; } return OcclusionQueryResult::Visible; @@ -3597,13 +3633,27 @@ namespace bgfx BGFX_API_FUNC(void destroyOcclusionQuery(OcclusionQueryHandle _handle) ) { BGFX_CHECK_HANDLE("destroyOcclusionQuery", m_occlusionQueryHandle, _handle); - m_occlusionQueryHandle.free(_handle.idx); + + m_freeOcclusionQueryHandle[m_numFreeOcclusionQueryHandles++] = _handle; } - BGFX_API_FUNC(void saveScreenShot(const char* _filePath) ) + BGFX_API_FUNC(void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) ) { - CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::SaveScreenShot); + BGFX_CHECK_HANDLE_INVALID_OK("requestScreenShot", m_frameBufferHandle, _handle); + + if (isValid(_handle) ) + { + FrameBufferRef& ref = m_frameBufferRef[_handle.idx]; + if (!ref.m_window) + { + BX_TRACE("requestScreenShot can be done only for window frame buffer handles (handle: %d).", _handle.idx); + return; + } + } + + CommandBuffer& cmdbuf = getCommandBuffer(CommandBuffer::RequestScreenShot); uint16_t len = (uint16_t)bx::strnlen(_filePath)+1; + cmdbuf.write(_handle); cmdbuf.write(len); cmdbuf.write(_filePath, len); } @@ -3614,7 +3664,7 @@ namespace bgfx , _index , BGFX_CONFIG_MAX_COLOR_PALETTE ); - memcpy(&m_clearColor[_index][0], _rgba, 16); + bx::memCopy(&m_clearColor[_index][0], _rgba, 16); m_colorPaletteDirty = 2; } @@ -3630,8 +3680,8 @@ namespace bgfx BGFX_API_FUNC(void setViewRect(uint8_t _id, uint16_t _x, uint16_t _y, uint16_t _width, uint16_t _height) ) { Rect& rect = m_rect[_id]; - rect.m_x = _x; - rect.m_y = _y; + rect.m_x = (uint16_t)bx::uint32_imax(int16_t(_x), 0); + rect.m_y = (uint16_t)bx::uint32_imax(int16_t(_y), 0); rect.m_width = bx::uint16_max(_width, 1); rect.m_height = bx::uint16_max(_height, 1); } @@ -3647,6 +3697,11 @@ namespace bgfx BGFX_API_FUNC(void setViewClear(uint8_t _id, uint16_t _flags, uint32_t _rgba, float _depth, uint8_t _stencil) ) { + BX_CHECK(bx::fequal(_depth, bx::fclamp(_depth, 0.0f, 1.0f), 0.0001f) + , "Clear depth value must be between 0.0 and 1.0 (_depth %f)." + , _depth + ); + Clear& clear = m_clear[_id]; clear.m_flags = _flags; clear.m_index[0] = uint8_t(_rgba>>24); @@ -3659,6 +3714,11 @@ namespace bgfx BGFX_API_FUNC(void setViewClear(uint8_t _id, uint16_t _flags, float _depth, uint8_t _stencil, uint8_t _0, uint8_t _1, uint8_t _2, uint8_t _3, uint8_t _4, uint8_t _5, uint8_t _6, uint8_t _7) ) { + BX_CHECK(bx::fequal(_depth, bx::fclamp(_depth, 0.0f, 1.0f), 0.0001f) + , "Clear depth value must be between 0.0 and 1.0 (_depth %f)." + , _depth + ); + Clear& clear = m_clear[_id]; clear.m_flags = (_flags & ~BGFX_CLEAR_COLOR) | (0xff != (_0&_1&_2&_3&_4&_5&_6&_7) ? BGFX_CLEAR_COLOR|BGFX_CLEAR_COLOR_USE_PALETTE : 0) @@ -3692,7 +3752,7 @@ namespace bgfx if (NULL != _view) { - memcpy(m_view[_id].un.val, _view, sizeof(Matrix4) ); + bx::memCopy(m_view[_id].un.val, _view, sizeof(Matrix4) ); } else { @@ -3701,7 +3761,7 @@ namespace bgfx if (NULL != _proj) { - memcpy(m_proj[0][_id].un.val, _proj, sizeof(Matrix4) ); + bx::memCopy(m_proj[0][_id].un.val, _proj, sizeof(Matrix4) ); } else { @@ -3710,11 +3770,11 @@ namespace bgfx if (NULL != _proj1) { - memcpy(m_proj[1][_id].un.val, _proj1, sizeof(Matrix4) ); + bx::memCopy(m_proj[1][_id].un.val, _proj1, sizeof(Matrix4) ); } else { - memcpy(m_proj[1][_id].un.val, m_proj[0][_id].un.val, sizeof(Matrix4) ); + bx::memCopy(m_proj[1][_id].un.val, m_proj[0][_id].un.val, sizeof(Matrix4) ); } } @@ -3742,7 +3802,7 @@ namespace bgfx } else { - memcpy(&m_viewRemap[_id], _order, num); + bx::memCopy(&m_viewRemap[_id], _order, num); } } @@ -4006,7 +4066,7 @@ namespace bgfx const char* getName(UniformHandle _handle) const; // render thread - bool renderFrame(); + RenderFrame::Enum renderFrame(int32_t _msecs = -1); void flushTextureUpdateBatch(CommandBuffer& _cmdbuf); void rendererExecCommands(CommandBuffer& _cmdbuf); @@ -4097,8 +4157,10 @@ namespace bgfx uint16_t m_numFreeDynamicIndexBufferHandles; uint16_t m_numFreeDynamicVertexBufferHandles; - DynamicIndexBufferHandle m_freeDynamicIndexBufferHandle[BGFX_CONFIG_MAX_DYNAMIC_INDEX_BUFFERS]; + uint16_t m_numFreeOcclusionQueryHandles; + DynamicIndexBufferHandle m_freeDynamicIndexBufferHandle[BGFX_CONFIG_MAX_DYNAMIC_INDEX_BUFFERS]; DynamicVertexBufferHandle m_freeDynamicVertexBufferHandle[BGFX_CONFIG_MAX_DYNAMIC_VERTEX_BUFFERS]; + OcclusionQueryHandle m_freeOcclusionQueryHandle[BGFX_CONFIG_MAX_OCCLUSION_QUERIES]; NonLocalAllocator m_dynIndexBufferAllocator; bx::HandleAllocT m_dynamicIndexBufferHandle; diff --git a/3rdparty/bgfx/src/bgfx_shader.sh b/3rdparty/bgfx/src/bgfx_shader.sh index 2cab0ca0d76..3ee69e85e35 100644 --- a/3rdparty/bgfx/src/bgfx_shader.sh +++ b/3rdparty/bgfx/src/bgfx_shader.sh @@ -53,12 +53,12 @@ # define dFdyFine(_y) ddy_fine(-_y) # endif // BGFX_SHADER_LANGUAGE_HLSL > 4 -# if BGFX_SHADER_LANGUAGE_HLSL +# if BGFX_SHADER_LANGUAGE_HLSL float intBitsToFloat(int _x) { return asfloat(_x); } vec2 intBitsToFloat(uint2 _x) { return asfloat(_x); } vec3 intBitsToFloat(uint3 _x) { return asfloat(_x); } vec4 intBitsToFloat(uint4 _x) { return asfloat(_x); } -# endif // BGFX_SHADER_LANGUAGE_HLSL +# endif // BGFX_SHADER_LANGUAGE_HLSL float uintBitsToFloat(uint _x) { return asfloat(_x); } vec2 uintBitsToFloat(uint2 _x) { return asfloat(_x); } @@ -80,7 +80,7 @@ uint2 bitfieldReverse(uint2 _x) { return reversebits(_x); } uint3 bitfieldReverse(uint3 _x) { return reversebits(_x); } uint4 bitfieldReverse(uint4 _x) { return reversebits(_x); } -#if !BGFX_SHADER_LANGUAGE_SPIRV +# if !BGFX_SHADER_LANGUAGE_SPIRV uint packHalf2x16(vec2 _x) { return (f32tof16(_x.x)<<16) | f32tof16(_x.y); @@ -90,7 +90,7 @@ vec2 unpackHalf2x16(uint _x) { return vec2(f16tof32(_x >> 16), f16tof32(_x) ); } -#endif // !BGFX_SHADER_LANGUAGE_SPIRV +# endif // !BGFX_SHADER_LANGUAGE_SPIRV struct BgfxSampler2D { @@ -169,6 +169,11 @@ vec4 bgfxTexture2DProj(BgfxSampler2D _sampler, vec4 _coord) return _sampler.m_texture.Sample(_sampler.m_sampler, coord); } +vec4 bgfxTexture2DGrad(BgfxSampler2D _sampler, vec2 _coord, vec2 _dPdx, vec2 _dPdy) +{ + return _sampler.m_texture.SampleGrad(_sampler.m_sampler, _coord, _dPdx, _dPdy); +} + vec4 bgfxTexture2DArray(BgfxSampler2DArray _sampler, vec3 _coord) { return _sampler.m_texture.Sample(_sampler.m_sampler, _coord); @@ -263,6 +268,7 @@ vec4 bgfxTexelFetch(BgfxSampler3D _sampler, ivec3 _coord, int _lod) # define texture2D(_sampler, _coord) bgfxTexture2D(_sampler, _coord) # define texture2DLod(_sampler, _coord, _level) bgfxTexture2DLod(_sampler, _coord, _level) # define texture2DProj(_sampler, _coord) bgfxTexture2DProj(_sampler, _coord) +# define texture2DGrad(_sampler, _coord, _dPdx, _dPdy) bgfxTexture2DGrad(_sampler, _coord, _dPdx, _dPdy) # define SAMPLER2DARRAY(_name, _reg) \ uniform SamplerState _name ## Sampler : REGISTER(s, _reg); \ @@ -360,10 +366,12 @@ float bgfxShadow2DProj(sampler2DShadow _sampler, vec4 _coord) # if BGFX_SHADER_LANGUAGE_HLSL == 2 # define texture2DLod(_sampler, _coord, _level) tex2D(_sampler, (_coord).xy) +# define texture2DGrad(_sampler, _coord, _dPdx, _dPdy) tex2D(_sampler, _coord) # define texture3DLod(_sampler, _coord, _level) tex3D(_sampler, (_coord).xyz) # define textureCubeLod(_sampler, _coord, _level) texCUBE(_sampler, (_coord).xyz) # else # define texture2DLod(_sampler, _coord, _level) tex2Dlod(_sampler, vec4( (_coord).xy, 0.0, _level) ) +# define texture2DGrad(_sampler, _coord, _dPdx, _dPdy) tex2Dgrad(_sampler, _coord, _dPdx, _dPdy) # define texture3DLod(_sampler, _coord, _level) tex3Dlod(_sampler, vec4( (_coord).xyz, _level) ) # define textureCubeLod(_sampler, _coord, _level) texCUBElod(_sampler, vec4( (_coord).xyz, _level) ) # endif // BGFX_SHADER_LANGUAGE_HLSL == 2 diff --git a/3rdparty/bgfx/src/glcontext_egl.cpp b/3rdparty/bgfx/src/glcontext_egl.cpp index 69ce6f4398b..ef03ec594ab 100644 --- a/3rdparty/bgfx/src/glcontext_egl.cpp +++ b/3rdparty/bgfx/src/glcontext_egl.cpp @@ -195,6 +195,9 @@ EGL_IMPORT BX_TRACE("Supported EGL extensions:"); dumpExtensions(extensions); + // https://www.khronos.org/registry/EGL/extensions/ANDROID/EGL_ANDROID_recordable.txt + const bool hasEglAndroidRecordable = !!bx::findIdentifierMatch(extensions, "EGL_ANDROID_recordable"); + EGLint attrs[] = { EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, @@ -206,6 +209,10 @@ EGL_IMPORT # endif // BX_PLATFORM_ EGL_STENCIL_SIZE, 8, + // Android Recordable surface + hasEglAndroidRecordable ? 0x3142 : EGL_NONE, + hasEglAndroidRecordable ? 1 : EGL_NONE, + EGL_NONE }; diff --git a/3rdparty/bgfx/src/glcontext_wgl.cpp b/3rdparty/bgfx/src/glcontext_wgl.cpp index 9d162cda9b6..d20b8449dd1 100644 --- a/3rdparty/bgfx/src/glcontext_wgl.cpp +++ b/3rdparty/bgfx/src/glcontext_wgl.cpp @@ -59,7 +59,7 @@ namespace bgfx { namespace gl static HGLRC createContext(HDC _hdc) { PIXELFORMATDESCRIPTOR pfd; - memset(&pfd, 0, sizeof(pfd) ); + bx::memSet(&pfd, 0, sizeof(pfd) ); pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; @@ -245,7 +245,7 @@ namespace bgfx { namespace gl BGFX_FATAL(NULL != m_context, Fatal::UnableToInitialize, "Failed to create context 0x%08x.", GetLastError() ); BX_STATIC_ASSERT(sizeof(contextAttrs) == sizeof(m_contextAttrs) ); - memcpy(m_contextAttrs, contextAttrs, sizeof(contextAttrs) ); + bx::memCopy(m_contextAttrs, contextAttrs, sizeof(contextAttrs) ); } wglMakeCurrent(NULL, NULL); diff --git a/3rdparty/bgfx/src/hmd_ovr.cpp b/3rdparty/bgfx/src/hmd_ovr.cpp index ba8268fc2f8..0898d9d65be 100644 --- a/3rdparty/bgfx/src/hmd_ovr.cpp +++ b/3rdparty/bgfx/src/hmd_ovr.cpp @@ -104,7 +104,7 @@ namespace bgfx for (int eye = 0; eye < 2; ++eye) { BX_STATIC_ASSERT(sizeof(_desc->m_eyeFov[eye]) == sizeof(hmdDesc.DefaultEyeFov[eye])); - memcpy(&_desc->m_eyeFov[eye], &hmdDesc.DefaultEyeFov[eye], sizeof(_desc->m_eyeFov[eye])); + bx::memCopy(&_desc->m_eyeFov[eye], &hmdDesc.DefaultEyeFov[eye], sizeof(_desc->m_eyeFov[eye])); _desc->m_eyeSize[eye].m_w = eyeSize[eye].w; _desc->m_eyeSize[eye].m_h = eyeSize[eye].h; } diff --git a/3rdparty/bgfx/src/image.cpp b/3rdparty/bgfx/src/image.cpp index 61cfd413b6d..e6c9e074a2c 100644 --- a/3rdparty/bgfx/src/image.cpp +++ b/3rdparty/bgfx/src/image.cpp @@ -263,7 +263,7 @@ namespace bgfx return uint8_t(numMips); } - uint32_t imageGetSize(TextureFormat::Enum _format, uint16_t _width, uint16_t _height, uint16_t _depth, uint16_t _numLayers, bool _cubeMap, uint8_t _numMips) + uint32_t imageGetSize(TextureInfo* _info, uint16_t _width, uint16_t _height, uint16_t _depth, bool _cubeMap, bool _hasMips, uint16_t _numLayers, TextureFormat::Enum _format) { const ImageBlockInfo& blockInfo = getBlockInfo(_format); const uint8_t bpp = blockInfo.bitsPerPixel; @@ -272,17 +272,18 @@ namespace bgfx const uint16_t minBlockX = blockInfo.minBlockX; const uint16_t minBlockY = blockInfo.minBlockY; - _width = bx::uint16_max(blockWidth * minBlockX, ( (_width + blockWidth - 1) / blockWidth)*blockWidth); - _height = bx::uint16_max(blockHeight * minBlockY, ( (_height + blockHeight - 1) / blockHeight)*blockHeight); - _depth = bx::uint16_max(1, _depth); + _width = bx::uint16_max(blockWidth * minBlockX, ( (_width + blockWidth - 1) / blockWidth)*blockWidth); + _height = bx::uint16_max(blockHeight * minBlockY, ( (_height + blockHeight - 1) / blockHeight)*blockHeight); + _depth = bx::uint16_max(1, _depth); + const uint8_t numMips = calcNumMips(_hasMips, _width, _height, _depth); + const uint32_t sides = _cubeMap ? 6 : 1; uint32_t width = _width; uint32_t height = _height; uint32_t depth = _depth; - uint32_t sides = _cubeMap ? 6 : 1; uint32_t size = 0; - for (uint32_t lod = 0; lod < _numMips; ++lod) + for (uint32_t lod = 0; lod < numMips; ++lod) { width = bx::uint32_max(blockWidth * minBlockX, ( (width + blockWidth - 1) / blockWidth )*blockWidth); height = bx::uint32_max(blockHeight * minBlockY, ( (height + blockHeight - 1) / blockHeight)*blockHeight); @@ -295,7 +296,22 @@ namespace bgfx depth >>= 1; } - return size * _numLayers; + size *= _numLayers; + + if (NULL != _info) + { + _info->format = _format; + _info->width = _width; + _info->height = _height; + _info->depth = _depth; + _info->numMips = numMips; + _info->numLayers = _numLayers; + _info->cubeMap = _cubeMap; + _info->storageSize = size; + _info->bitsPerPixel = bpp; + } + + return size; } void imageSolid(void* _dst, uint32_t _width, uint32_t _height, uint32_t _solid) @@ -661,7 +677,7 @@ namespace bgfx for (uint32_t yy = 0; yy < _height; ++yy, src += _srcPitch, dst += _dstPitch) { - memcpy(dst, src, pitch); + bx::memCopy(dst, src, pitch); } } @@ -820,9 +836,97 @@ namespace bgfx bool imageConvert(void* _dst, TextureFormat::Enum _dstFormat, const void* _src, TextureFormat::Enum _srcFormat, uint32_t _width, uint32_t _height) { const uint32_t srcBpp = s_imageBlockInfo[_srcFormat].bitsPerPixel; + + if (_dstFormat == _srcFormat) + { + bx::memCopy(_dst, _src, _width*_height*srcBpp/8); + return true; + } + return imageConvert(_dst, _dstFormat, _src, _srcFormat, _width, _height, _width*srcBpp/8); } + ImageContainer* imageConvert(bx::AllocatorI* _allocator, TextureFormat::Enum _dstFormat, const ImageContainer& _input) + { + ImageContainer* output = imageAlloc(_allocator + , _dstFormat + , uint16_t(_input.m_width) + , uint16_t(_input.m_height) + , uint16_t(_input.m_depth) + , _input.m_numLayers + , _input.m_cubeMap + , 1 < _input.m_numMips + ); + + const uint8_t bpp = getBitsPerPixel(_dstFormat); + const uint16_t numSides = _input.m_numLayers * (_input.m_cubeMap ? 6 : 1); + + uint8_t* dst = (uint8_t*)output->m_data ; + for (uint16_t side = 0; side < numSides; ++side) + { + for (uint8_t lod = 0, num = _input.m_numMips; lod < num; ++lod) + { + ImageMip mip; + if (imageGetRawData(_input, side, lod, _input.m_data, _input.m_size, mip) ) + { + bool ok = imageConvert(dst + , _dstFormat + , mip.m_data + , mip.m_format + , mip.m_width + , mip.m_height + ); + BX_CHECK(ok, "Conversion from %s to %s failed!" + , getName(_input.m_format) + , getName(output->m_format) + ); + BX_UNUSED(ok); + + dst += mip.m_width*mip.m_height*bpp/8; + } + } + } + + return output; + } + + ImageContainer* imageParseBgfx(bx::AllocatorI* _allocator, const void* _src, uint32_t _size) + { + ImageContainer imageContainer; + if (!imageParse(imageContainer, _src, _size) ) + { + return NULL; + } + + ImageContainer* output = imageAlloc(_allocator + , imageContainer.m_format + , uint16_t(imageContainer.m_width) + , uint16_t(imageContainer.m_height) + , uint16_t(imageContainer.m_depth) + , imageContainer.m_numLayers + , imageContainer.m_cubeMap + , 1 < imageContainer.m_numMips + ); + + const uint16_t numSides = imageContainer.m_numLayers * (imageContainer.m_cubeMap ? 6 : 1); + uint8_t* dst = (uint8_t*)output->m_data; + + for (uint16_t side = 0; side < numSides; ++side) + { + for (uint8_t lod = 0, num = imageContainer.m_numMips; lod < num; ++lod) + { + ImageMip mip; + if (imageGetRawData(imageContainer, side, lod, _src, _size, mip) ) + { + bx::memCopy(dst, mip.m_data, mip.m_size); + dst += mip.m_size; + } + } + } + + return output; + } + uint8_t bitRangeConvert(uint32_t _in, uint32_t _from, uint32_t _to) { using namespace bx; @@ -1607,7 +1711,7 @@ namespace bgfx } } - const Memory* imageAlloc(ImageContainer& _imageContainer, TextureFormat::Enum _format, uint16_t _width, uint16_t _height, uint16_t _depth, uint16_t _numLayers, bool _cubeMap, bool _generateMips) + ImageContainer* imageAlloc(bx::AllocatorI* _allocator, TextureFormat::Enum _format, uint16_t _width, uint16_t _height, uint16_t _depth, uint16_t _numLayers, bool _cubeMap, bool _hasMips, const void* _data) { const ImageBlockInfo& blockInfo = getBlockInfo(_format); const uint16_t blockWidth = blockInfo.blockWidth; @@ -1620,31 +1724,38 @@ namespace bgfx _depth = bx::uint16_max(1, _depth); _numLayers = bx::uint16_max(1, _numLayers); - const uint8_t numMips = _generateMips ? imageGetNumMips(_format, _width, _height) : 1; - uint32_t size = imageGetSize(_format, _width, _height, _depth, _numLayers, _cubeMap, numMips); - const Memory* image = alloc(size); - - _imageContainer.m_data = image->data; - _imageContainer.m_format = _format; - _imageContainer.m_size = image->size; - _imageContainer.m_offset = 0; - _imageContainer.m_width = _width; - _imageContainer.m_height = _height; - _imageContainer.m_depth = _depth; - _imageContainer.m_numLayers = _numLayers; - _imageContainer.m_numMips = numMips; - _imageContainer.m_hasAlpha = false; - _imageContainer.m_cubeMap = _cubeMap; - _imageContainer.m_ktx = false; - _imageContainer.m_ktxLE = false; - _imageContainer.m_srgb = false; + const uint8_t numMips = _hasMips ? imageGetNumMips(_format, _width, _height) : 1; + uint32_t size = imageGetSize(NULL, _width, _height, _depth, _cubeMap, _hasMips, _numLayers, _format); + + ImageContainer* imageContainer = (ImageContainer*)BX_ALLOC(_allocator, size + sizeof(ImageContainer) ); + + imageContainer->m_allocator = _allocator; + imageContainer->m_data = imageContainer + 1; + imageContainer->m_format = _format; + imageContainer->m_size = size; + imageContainer->m_offset = 0; + imageContainer->m_width = _width; + imageContainer->m_height = _height; + imageContainer->m_depth = _depth; + imageContainer->m_numLayers = _numLayers; + imageContainer->m_numMips = numMips; + imageContainer->m_hasAlpha = false; + imageContainer->m_cubeMap = _cubeMap; + imageContainer->m_ktx = false; + imageContainer->m_ktxLE = false; + imageContainer->m_srgb = false; + + if (NULL != _data) + { + bx::memCopy(imageContainer->m_data, _data, imageContainer->m_size); + } - return image; + return imageContainer; } - void imageFree(const Memory* _memory) + void imageFree(ImageContainer* _imageContainer) { - release(_memory); + BX_FREE(_imageContainer->m_allocator, _imageContainer); } // DDS @@ -1988,6 +2099,7 @@ namespace bgfx } } + _imageContainer.m_allocator = NULL; _imageContainer.m_data = NULL; _imageContainer.m_size = 0; _imageContainer.m_offset = (uint32_t)bx::seek(_reader); @@ -2297,6 +2409,7 @@ namespace bgfx } } + _imageContainer.m_allocator = NULL; _imageContainer.m_data = NULL; _imageContainer.m_size = 0; _imageContainer.m_offset = (uint32_t)offset; @@ -2447,6 +2560,7 @@ namespace bgfx } } + _imageContainer.m_allocator = NULL; _imageContainer.m_data = NULL; _imageContainer.m_size = 0; _imageContainer.m_offset = (uint32_t)offset; @@ -2489,6 +2603,7 @@ namespace bgfx _imageContainer.m_format = tc.m_format; _imageContainer.m_offset = UINT32_MAX; + _imageContainer.m_allocator = NULL; if (NULL == tc.m_mem) { _imageContainer.m_data = NULL; @@ -2544,10 +2659,10 @@ namespace bgfx src += 8; uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2563,10 +2678,10 @@ namespace bgfx src += 8; uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2582,10 +2697,10 @@ namespace bgfx src += 8; uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2599,10 +2714,10 @@ namespace bgfx src += 8; uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2627,10 +2742,10 @@ namespace bgfx } uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2645,10 +2760,10 @@ namespace bgfx src += 8; uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2681,10 +2796,10 @@ namespace bgfx decodeBlockPtc14(temp, src, xx, yy, width, height); uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2697,10 +2812,10 @@ namespace bgfx decodeBlockPtc14A(temp, src, xx, yy, width, height); uint8_t* block = &dst[(yy*_pitch+xx*4)*4]; - memcpy(&block[0*_pitch], &temp[ 0], 16); - memcpy(&block[1*_pitch], &temp[16], 16); - memcpy(&block[2*_pitch], &temp[32], 16); - memcpy(&block[3*_pitch], &temp[48], 16); + bx::memCopy(&block[0*_pitch], &temp[ 0], 16); + bx::memCopy(&block[1*_pitch], &temp[16], 16); + bx::memCopy(&block[2*_pitch], &temp[32], 16); + bx::memCopy(&block[3*_pitch], &temp[48], 16); } } break; @@ -2720,7 +2835,7 @@ namespace bgfx break; case TextureFormat::BGRA8: - memcpy(_dst, _src, _pitch*_height); + bx::memCopy(_dst, _src, _pitch*_height); break; default: @@ -2742,7 +2857,7 @@ namespace bgfx switch (_format) { case TextureFormat::RGBA8: - memcpy(_dst, _src, _pitch*_height); + bx::memCopy(_dst, _src, _pitch*_height); break; case TextureFormat::BGRA8: @@ -2862,7 +2977,7 @@ namespace bgfx break; case TextureFormat::RGBA32F: - memcpy(_dst, _src, _pitch*_height); + bx::memCopy(_dst, _src, _pitch*_height); break; case TextureFormat::RGBA8: @@ -2872,7 +2987,8 @@ namespace bgfx default: if (isCompressed(_format) ) { - void* temp = BX_ALLOC(_allocator, imageGetSize(_format, uint16_t(_pitch/4), uint16_t(_height) ) ); + uint32_t size = imageGetSize(NULL, uint16_t(_pitch/4), uint16_t(_height), 0, false, false, 1, _format); + void* temp = BX_ALLOC(_allocator, size); imageDecodeToRgba8(temp, _src, _width, _height, _pitch, _format); imageRgba8ToRgba32f(_dst, _width, _height, _pitch, temp); BX_FREE(_allocator, temp); diff --git a/3rdparty/bgfx/src/image.h b/3rdparty/bgfx/src/image.h index 7d708ccb8b0..ef05a1f2ba7 100644 --- a/3rdparty/bgfx/src/image.h +++ b/3rdparty/bgfx/src/image.h @@ -6,15 +6,17 @@ #ifndef BGFX_IMAGE_H_HEADER_GUARD #define BGFX_IMAGE_H_HEADER_GUARD -#include #include namespace bgfx { struct ImageContainer { - void* m_data; + bx::AllocatorI* m_allocator; + void* m_data; + TextureFormat::Enum m_format; + uint32_t m_size; uint32_t m_offset; uint32_t m_width; @@ -88,18 +90,19 @@ namespace bgfx , uint16_t _width , uint16_t _height , uint16_t _depth = 0 - ); + ); /// Returns image size. uint32_t imageGetSize( - TextureFormat::Enum _format + TextureInfo* _info , uint16_t _width , uint16_t _height - , uint16_t _depth = 0 - , uint16_t _numLayers = 1 - , bool _cubeMap = false - , uint8_t _numMips = 1 - ); + , uint16_t _depth + , bool _cubeMap + , bool _hasMips + , uint16_t _numLayers + , TextureFormat::Enum _format + ); /// void imageSolid(void* _dst, uint32_t _width, uint32_t _height, uint32_t _solid); @@ -135,37 +138,95 @@ namespace bgfx bool imageConvert(TextureFormat::Enum _dstFormat, TextureFormat::Enum _srcFormat); /// - void imageConvert(void* _dst, uint32_t _bpp, bx::PackFn _pack, const void* _src, bx::UnpackFn _unpack, uint32_t _size); - - /// - void imageConvert(void* _dst, uint32_t _dstBpp, bx::PackFn _pack, const void* _src, uint32_t _srcBpp, bx::UnpackFn _unpack, uint32_t _width, uint32_t _height, uint32_t _srcPitch); - - /// - bool imageConvert(void* _dst, TextureFormat::Enum _dstFormat, const void* _src, TextureFormat::Enum _srcFormat, uint32_t _width, uint32_t _height); - - /// - const Memory* imageAlloc( - ImageContainer& _imageContainer + void imageConvert( + void* _dst + , uint32_t _bpp + , bx::PackFn _pack + , const void* _src + , bx::UnpackFn _unpack + , uint32_t _size + ); + + /// + void imageConvert( + void* _dst + , uint32_t _dstBpp + , bx::PackFn _pack + , const void* _src + , uint32_t _srcBpp + , bx::UnpackFn _unpack + , uint32_t _width + , uint32_t _height + , uint32_t _srcPitch + ); + + /// + bool imageConvert( + void* _dst + , TextureFormat::Enum _dstFormat + , const void* _src + , TextureFormat::Enum _srcFormat + , uint32_t _width + , uint32_t _height + ); + + /// + ImageContainer* imageConvert( + bx::AllocatorI* _allocator + , TextureFormat::Enum _dstFormat + , const void* _src + , uint32_t _size + ); + + /// + ImageContainer* imageAlloc( + bx::AllocatorI* _allocator , TextureFormat::Enum _format , uint16_t _width , uint16_t _height - , uint16_t _depth = 0 - , uint16_t _numLayers = 1 - , bool _cubeMap = false - , bool _generateMips = false - ); + , uint16_t _depth + , uint16_t _numLayers + , bool _cubeMap + , bool _hasMips + , const void* _data = NULL + ); /// - void imageFree(const Memory* _memory); + void imageFree(ImageContainer* _imageContainer); /// - void imageWriteTga(bx::WriterI* _writer, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src, bool _grayscale, bool _yflip, bx::Error* _err = NULL); + void imageWriteTga( + bx::WriterI* _writer + , uint32_t _width + , uint32_t _height + , uint32_t _pitch + , const void* _src + , bool _grayscale + , bool _yflip + , bx::Error* _err = NULL + ); /// - void imageWriteKtx(bx::WriterI* _writer, TextureFormat::Enum _format, bool _cubeMap, uint32_t _width, uint32_t _height, uint32_t _depth, uint8_t _numMips, const void* _src, bx::Error* _err = NULL); - - /// - void imageWriteKtx(bx::WriterI* _writer, ImageContainer& _imageContainer, const void* _data, uint32_t _size, bx::Error* _err = NULL); + void imageWriteKtx( + bx::WriterI* _writer + , TextureFormat::Enum _format + , bool _cubeMap + , uint32_t _width + , uint32_t _height + , uint32_t _depth + , uint8_t _numMips + , const void* _src + , bx::Error* _err = NULL + ); + + /// + void imageWriteKtx( + bx::WriterI* _writer + , ImageContainer& _imageContainer + , const void* _data + , uint32_t _size + , bx::Error* _err = NULL + ); /// bool imageParse(ImageContainer& _imageContainer, bx::ReaderSeekerI* _reader); diff --git a/3rdparty/bgfx/src/makefile b/3rdparty/bgfx/src/makefile index 2475a5104d4..8f017d2d9c0 100644 --- a/3rdparty/bgfx/src/makefile +++ b/3rdparty/bgfx/src/makefile @@ -27,7 +27,7 @@ define shader-embedded @echo [$(<)] $(SILENT) $(SHADERC) --type $(1) --platform linux -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_glsl @cat $(SHADER_TMP) > $(@) - -$(SILENT) $(SHADERC) --type $(1) --platform windows -p spirv -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_spv + -$(SILENT) $(SHADERC) --type $(1) --platform linux -p spirv -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_spv -@cat $(SHADER_TMP) >> $(@) -$(SILENT) $(SHADERC) --type $(1) --platform windows -p $(2) -O 3 -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_dx9 -@cat $(SHADER_TMP) >> $(@) diff --git a/3rdparty/bgfx/src/renderer.h b/3rdparty/bgfx/src/renderer.h index 1beadce2ff9..1bf8fbba072 100644 --- a/3rdparty/bgfx/src/renderer.h +++ b/3rdparty/bgfx/src/renderer.h @@ -57,7 +57,7 @@ namespace bgfx } else { - memcpy(&m_view[0][ii].un.f4x4, &_frame->m_view[ii].un.f4x4, sizeof(Matrix4) ); + bx::memCopy(&m_view[0][ii].un.f4x4, &_frame->m_view[ii].un.f4x4, sizeof(Matrix4) ); } } } diff --git a/3rdparty/bgfx/src/renderer_d3d11.cpp b/3rdparty/bgfx/src/renderer_d3d11.cpp index ea8e18bfb37..2a65c2a2c1d 100644 --- a/3rdparty/bgfx/src/renderer_d3d11.cpp +++ b/3rdparty/bgfx/src/renderer_d3d11.cpp @@ -70,7 +70,7 @@ namespace bgfx { namespace d3d11 { Zero() { - memset(this, 0, sizeof(Zero) ); + bx::memSet(this, 0, sizeof(Zero) ); } ID3D11Buffer* m_buffer[D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT]; @@ -364,7 +364,7 @@ namespace bgfx { namespace d3d11 { if (UINT16_MAX != _decl.m_attributes[attr]) { - memcpy(elem, &s_attrib[attr], sizeof(D3D11_INPUT_ELEMENT_DESC) ); + bx::memCopy(elem, &s_attrib[attr], sizeof(D3D11_INPUT_ELEMENT_DESC) ); if (0 == _decl.m_attributes[attr]) { @@ -397,8 +397,8 @@ namespace bgfx { namespace d3d11 void clear() { - memset(m_srv, 0, sizeof(m_srv) ); - memset(m_sampler, 0, sizeof(m_sampler) ); + bx::memSet(m_srv, 0, sizeof(m_srv) ); + bx::memSet(m_sampler, 0, sizeof(m_sampler) ); } ID3D11ShaderResourceView* m_srv[BGFX_CONFIG_MAX_TEXTURE_SAMPLERS]; @@ -463,7 +463,7 @@ namespace bgfx { namespace d3d11 char temp[2048]; va_list argList; va_start(argList, _format); - int size = bx::uint32_min(sizeof(temp)-1, vsnprintf(temp, sizeof(temp), _format, argList) ); + int size = bx::uint32_min(sizeof(temp)-1, bx::vsnprintf(temp, sizeof(temp), _format, argList) ); va_end(argList); temp[size] = '\0'; @@ -675,9 +675,9 @@ namespace bgfx { namespace d3d11 , m_timerQuerySupport(false) { m_fbh.idx = invalidHandle; - memset(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); - memset(&m_scd, 0, sizeof(m_scd) ); - memset(&m_windows, 0xff, sizeof(m_windows) ); + bx::memSet(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); + bx::memSet(&m_scd, 0, sizeof(m_scd) ); + bx::memSet(&m_windows, 0xff, sizeof(m_windows) ); } ~RendererContextD3D11() @@ -712,8 +712,8 @@ namespace bgfx { namespace d3d11 } m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); m_ags = NULL; m_agsdll = bx::dlopen( @@ -1124,7 +1124,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); DX_RELEASE(device, 2); } - memset(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); + bx::memSet(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); hr = adapter->GetDesc(&m_adapterDesc); BX_WARN(SUCCEEDED(hr), "Adapter GetDesc failed 0x%08x.", hr); @@ -1145,7 +1145,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); goto error; } - memset(&m_scd, 0, sizeof(m_scd) ); + bx::memSet(&m_scd, 0, sizeof(m_scd) ); m_scd.Width = BGFX_DEFAULT_WIDTH; m_scd.Height = BGFX_DEFAULT_HEIGHT; m_scd.Format = DXGI_FORMAT_R8G8B8A8_UNORM; @@ -1205,7 +1205,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); goto error; } - memset(&m_scd, 0, sizeof(m_scd) ); + bx::memSet(&m_scd, 0, sizeof(m_scd) ); m_scd.BufferDesc.Width = BGFX_DEFAULT_WIDTH; m_scd.BufferDesc.Height = BGFX_DEFAULT_HEIGHT; m_scd.BufferDesc.RefreshRate.Numerator = 60; @@ -1236,7 +1236,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); } else { - memset(&m_scd, 0, sizeof(m_scd) ); + bx::memSet(&m_scd, 0, sizeof(m_scd) ); m_scd.SampleDesc.Count = 1; m_scd.SampleDesc.Quality = 0; setBufferSize(BGFX_DEFAULT_WIDTH, BGFX_DEFAULT_HEIGHT); @@ -1258,7 +1258,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); m_infoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, false); D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter) ); + bx::memSet(&filter, 0, sizeof(filter) ); D3D11_MESSAGE_CATEGORY catlist[] = { @@ -1763,7 +1763,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) BX_OVERRIDE { VertexDecl& decl = m_vertexDecls[_handle.idx]; - memcpy(&decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_decl, sizeof(VertexDecl) ); dump(decl); } @@ -1869,7 +1869,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); for (uint32_t yy = 0, height = srcHeight; yy < height; ++yy) { - memcpy(dst, src, pitch); + bx::memCopy(dst, src, pitch); src += srcPitch; dst += dstPitch; @@ -1963,7 +1963,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); uint32_t size = BX_ALIGN_16(g_uniformTypeSize[_type]*_num); void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, data); } @@ -1975,22 +1975,27 @@ BX_PRAGMA_DIAGNOSTIC_POP(); m_uniformReg.remove(_handle); } - void saveScreenShot(const char* _filePath) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) BX_OVERRIDE { - if (NULL == m_swapChain) + IDXGISwapChain* swapChain = isValid(_handle) + ? m_frameBuffers[_handle.idx].m_swapChain + : m_swapChain + ; + + if (NULL == swapChain) { BX_TRACE("Unable to capture screenshot %s.", _filePath); return; } ID3D11Texture2D* backBuffer; - DX_CHECK(m_swapChain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&backBuffer) ); + DX_CHECK(swapChain->GetBuffer(0, IID_ID3D11Texture2D, (void**)&backBuffer) ); D3D11_TEXTURE2D_DESC backBufferDesc; backBuffer->GetDesc(&backBufferDesc); D3D11_TEXTURE2D_DESC desc; - memcpy(&desc, &backBufferDesc, sizeof(desc) ); + bx::memCopy(&desc, &backBufferDesc, sizeof(desc) ); desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0; desc.Usage = D3D11_USAGE_STAGING; @@ -2062,7 +2067,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* _marker, uint32_t _size) BX_OVERRIDE @@ -2076,6 +2081,11 @@ BX_PRAGMA_DIAGNOSTIC_POP(); } } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + m_occlusionQuery.invalidate(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& _blitter) BX_OVERRIDE @@ -2527,12 +2537,12 @@ BX_PRAGMA_DIAGNOSTIC_POP(); { if (_flags&BGFX_UNIFORM_FRAGMENTBIT) { - memcpy(&m_fsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_fsScratch[_regIndex], _val, _numRegs*16); m_fsChanges += _numRegs; } else { - memcpy(&m_vsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_vsScratch[_regIndex], _val, _numRegs*16); m_vsChanges += _numRegs; } } @@ -2661,7 +2671,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); D3D11_INPUT_ELEMENT_DESC vertexElements[Attrib::Count+1+BGFX_CONFIG_MAX_INSTANCE_DATA_COUNT]; VertexDecl decl; - memcpy(&decl, &_vertexDecl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_vertexDecl, sizeof(VertexDecl) ); const uint16_t* attrMask = _program.m_vsh->m_attrMask; for (uint32_t ii = 0; ii < Attrib::Count; ++ii) @@ -2685,7 +2695,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); for (jj = 0; jj < num; ++jj) { curr = &vertexElements[jj]; - if (0 == strcmp(curr->SemanticName, "TEXCOORD") + if (0 == bx::strncmp(curr->SemanticName, "TEXCOORD") && curr->SemanticIndex == index) { break; @@ -2698,7 +2708,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); ++elem; } - memcpy(curr, &inst, sizeof(D3D11_INPUT_ELEMENT_DESC) ); + bx::memCopy(curr, &inst, sizeof(D3D11_INPUT_ELEMENT_DESC) ); curr->InputSlot = 1; curr->SemanticIndex = index; curr->AlignedByteOffset = ii*16; @@ -2798,7 +2808,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); { for (uint32_t ii = 1; ii < BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS; ++ii) { - memcpy(&desc.RenderTarget[ii], drt, sizeof(D3D11_RENDER_TARGET_BLEND_DESC) ); + bx::memCopy(&desc.RenderTarget[ii], drt, sizeof(D3D11_RENDER_TARGET_BLEND_DESC) ); } } @@ -2849,7 +2859,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); if (NULL == dss) { D3D11_DEPTH_STENCIL_DESC desc; - memset(&desc, 0, sizeof(desc) ); + bx::memSet(&desc, 0, sizeof(desc) ); desc.DepthEnable = 0 != func; desc.DepthWriteMask = !!(BGFX_STATE_DEPTH_WRITE & _state) ? D3D11_DEPTH_WRITE_MASK_ALL : D3D11_DEPTH_WRITE_MASK_ZERO; desc.DepthFunc = s_cmpFunc[func]; @@ -2989,7 +2999,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); { D3D11_SAMPLER_DESC sd; sampler->GetDesc(&sd); - if (0 != memcmp(_rgba, sd.BorderColor, 16) ) + if (0 != bx::memCmp(_rgba, sd.BorderColor, 16) ) { // Sampler will be released when updated sampler // is added to cache. @@ -3229,7 +3239,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); backBuffer->GetDesc(&backBufferDesc); D3D11_TEXTURE2D_DESC desc; - memcpy(&desc, &backBufferDesc, sizeof(desc) ); + bx::memCopy(&desc, &backBufferDesc, sizeof(desc) ); desc.SampleDesc.Count = 1; desc.SampleDesc.Quality = 0; desc.Usage = D3D11_USAGE_STAGING; @@ -3327,7 +3337,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -3451,7 +3461,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); for (uint32_t ii = 0; ii < numMrt; ++ii) { uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE-1, _clear.m_index[ii]); - memcpy(mrtClear[ii], _palette[index], 16); + bx::memCopy(mrtClear[ii], _palette[index], 16); } deviceCtx->UpdateSubresource(fsh->m_buffer, 0, 0, mrtClear, 0, 0); @@ -3672,7 +3682,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); , m_textureSwapChain(NULL) , m_mirrorTexture(NULL) { - memset(m_eyeRtv, 0, sizeof(m_eyeRtv)); + bx::memSet(m_eyeRtv, 0, sizeof(m_eyeRtv)); } bool VRImplOVRD3D11::createSwapChain(const VRDesc& _desc, int _msaaSamples, int _mirrorWidth, int _mirrorHeight) @@ -4085,7 +4095,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); : D3D11_MAP_WRITE_NO_OVERWRITE ; DX_CHECK(deviceCtx->Map(m_ptr, 0, type, 0, &mapped) ); - memcpy( (uint8_t*)mapped.pData + _offset, _data, _size); + bx::memCopy( (uint8_t*)mapped.pData + _offset, _data, _size); deviceCtx->Unmap(m_ptr, 0); #endif // 0 } @@ -4276,7 +4286,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); uint8_t numAttrs = 0; bx::read(&reader, numAttrs); - memset(m_attrMask, 0, sizeof(m_attrMask) ); + bx::memSet(m_attrMask, 0, sizeof(m_attrMask) ); for (uint32_t ii = 0; ii < numAttrs; ++ii) { @@ -4437,7 +4447,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); ; D3D11_SHADER_RESOURCE_VIEW_DESC srvd; - memset(&srvd, 0, sizeof(srvd) ); + bx::memSet(&srvd, 0, sizeof(srvd) ); DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN; if (swizzle) @@ -4572,12 +4582,28 @@ BX_PRAGMA_DIAGNOSTIC_POP(); desc.CPUAccessFlags = 0; desc.MiscFlags = 0; + if (renderTarget) + { + desc.BindFlags |= D3D11_BIND_RENDER_TARGET; + desc.Usage = D3D11_USAGE_DEFAULT; + desc.MiscFlags |= 0 + | (1 < numMips ? D3D11_RESOURCE_MISC_GENERATE_MIPS : 0) + ; + } + if (computeWrite) { desc.BindFlags |= D3D11_BIND_UNORDERED_ACCESS; desc.Usage = D3D11_USAGE_DEFAULT; } + if (readBack) + { + desc.BindFlags = 0; + desc.Usage = D3D11_USAGE_STAGING; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + } + srvd.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; srvd.Texture3D.MipLevels = numMips; @@ -4740,7 +4766,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); m_denseIdx = UINT16_MAX; m_numTh = _num; m_needPresent = false; - memcpy(m_attachment, _attachment, _num*sizeof(Attachment) ); + bx::memCopy(m_attachment, _attachment, _num*sizeof(Attachment) ); postReset(); } @@ -4748,7 +4774,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); void FrameBufferD3D11::create(uint16_t _denseIdx, void* _nwh, uint32_t _width, uint32_t _height, TextureFormat::Enum _depthFormat) { DXGI_SWAP_CHAIN_DESC scd; - memcpy(&scd, &s_renderD3D11->m_scd, sizeof(DXGI_SWAP_CHAIN_DESC) ); + bx::memCopy(&scd, &s_renderD3D11->m_scd, sizeof(DXGI_SWAP_CHAIN_DESC) ); scd.BufferDesc.Width = _width; scd.BufferDesc.Height = _height; scd.OutputWindow = (HWND)_nwh; @@ -5215,18 +5241,36 @@ BX_PRAGMA_DIAGNOSTIC_POP(); { Query& query = m_query[m_control.m_read]; - uint64_t result = 0; - HRESULT hr = deviceCtx->GetData(query.m_ptr, &result, sizeof(result), _wait ? 0 : D3D11_ASYNC_GETDATA_DONOTFLUSH); - if (S_FALSE == hr) + if (isValid(query.m_handle) ) { - break; + uint64_t result = 0; + HRESULT hr = deviceCtx->GetData(query.m_ptr, &result, sizeof(result), _wait ? 0 : D3D11_ASYNC_GETDATA_DONOTFLUSH); + if (S_FALSE == hr) + { + break; + } + + _render->m_occlusion[query.m_handle.idx] = int32_t(result); } - _render->m_occlusion[query.m_handle.idx] = 0 < result; m_control.consume(1); } } + void OcclusionQueryD3D11::invalidate(OcclusionQueryHandle _handle) + { + const uint32_t size = m_control.m_size; + + for (uint32_t ii = 0, num = m_control.available(); ii < num; ++ii) + { + Query& query = m_query[(m_control.m_read + ii) % size]; + if (query.m_handle.idx == _handle.idx) + { + query.m_handle.idx = bgfx::invalidHandle; + } + } + } + void RendererContextD3D11::submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) { if (updateResolution(_render->m_resolution) ) @@ -5754,7 +5798,7 @@ BX_PRAGMA_DIAGNOSTIC_POP(); else { Rect scissorRect; - scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; diff --git a/3rdparty/bgfx/src/renderer_d3d11.h b/3rdparty/bgfx/src/renderer_d3d11.h index 2ee0a8787ac..852a69e11c0 100644 --- a/3rdparty/bgfx/src/renderer_d3d11.h +++ b/3rdparty/bgfx/src/renderer_d3d11.h @@ -182,14 +182,14 @@ namespace bgfx { namespace d3d11 { BX_CHECK(NULL != _vsh->m_ptr, "Vertex shader doesn't exist."); m_vsh = _vsh; - memcpy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform) ); + bx::memCopy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform) ); m_numPredefined = _vsh->m_numPredefined; if (NULL != _fsh) { BX_CHECK(NULL != _fsh->m_ptr, "Fragment shader doesn't exist."); m_fsh = _fsh; - memcpy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform) ); + bx::memCopy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform) ); m_numPredefined += _fsh->m_numPredefined; } } @@ -338,6 +338,7 @@ namespace bgfx { namespace d3d11 void begin(Frame* _render, OcclusionQueryHandle _handle); void end(); void resolve(Frame* _render, bool _wait = false); + void invalidate(OcclusionQueryHandle _handle); struct Query { diff --git a/3rdparty/bgfx/src/renderer_d3d12.cpp b/3rdparty/bgfx/src/renderer_d3d12.cpp index 3ba3619561c..cf001166b4c 100644 --- a/3rdparty/bgfx/src/renderer_d3d12.cpp +++ b/3rdparty/bgfx/src/renderer_d3d12.cpp @@ -316,7 +316,7 @@ namespace bgfx { namespace d3d12 { if (UINT16_MAX != _decl.m_attributes[attr]) { - memcpy(elem, &s_attrib[attr], sizeof(D3D12_INPUT_ELEMENT_DESC) ); + bx::memCopy(elem, &s_attrib[attr], sizeof(D3D12_INPUT_ELEMENT_DESC) ); if (0 == _decl.m_attributes[attr]) { @@ -439,7 +439,7 @@ namespace bgfx { namespace d3d12 char temp[2048]; va_list argList; va_start(argList, _format); - int size = bx::uint32_min(sizeof(temp)-1, vsnprintf(temp, sizeof(temp), _format, argList) ); + int size = bx::uint32_min(sizeof(temp)-1, bx::vsnprintf(temp, sizeof(temp), _format, argList) ); va_end(argList); temp[size] = '\0'; @@ -498,11 +498,11 @@ namespace bgfx { namespace d3d12 ErrorState::Enum errorState = ErrorState::Default; LUID luid; -// m_renderdocdll = loadRenderDoc(); + m_renderdocdll = loadRenderDoc(); m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); #if USE_D3D12_DYNAMIC_LIB m_kernel32dll = bx::dlopen("kernel32.dll"); @@ -684,7 +684,7 @@ namespace bgfx { namespace d3d12 if (NULL != m_factory) { - memset(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); + bx::memSet(&m_adapterDesc, 0, sizeof(m_adapterDesc) ); luid = m_device->GetAdapterLuid(); #if BX_PLATFORM_WINDOWS IDXGIAdapter3* adapter; @@ -730,7 +730,7 @@ namespace bgfx { namespace d3d12 ); if (0 == ii) { - memcpy(&m_architecture, &architecture, sizeof(architecture) ); + bx::memCopy(&m_architecture, &architecture, sizeof(architecture) ); } } } @@ -895,7 +895,7 @@ namespace bgfx { namespace d3d12 m_infoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_WARNING, false); D3D12_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter) ); + bx::memSet(&filter, 0, sizeof(filter) ); D3D12_MESSAGE_CATEGORY catlist[] = { @@ -1319,7 +1319,7 @@ namespace bgfx { namespace d3d12 void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) BX_OVERRIDE { VertexDecl& decl = m_vertexDecls[_handle.idx]; - memcpy(&decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_decl, sizeof(VertexDecl) ); dump(decl); } @@ -1456,7 +1456,7 @@ namespace bgfx { namespace d3d12 for (uint32_t yy = 0, height = srcHeight; yy < height; ++yy) { - memcpy(dst, src, pitch); + bx::memCopy(dst, src, pitch); src += srcPitch; dst += dstPitch; @@ -1547,7 +1547,7 @@ namespace bgfx { namespace d3d12 uint32_t size = BX_ALIGN_16(g_uniformTypeSize[_type] * _num); void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, data); } @@ -1559,8 +1559,10 @@ namespace bgfx { namespace d3d12 m_uniformReg.remove(_handle); } - void saveScreenShot(const char* _filePath) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) BX_OVERRIDE { + BX_UNUSED(_handle); + uint32_t idx = (m_backBufferColorIdx-1) % m_scd.BufferCount; m_cmd.finish(m_backBufferColorFence[idx]); ID3D12Resource* backBuffer = m_backBufferColor[idx]; @@ -1630,13 +1632,18 @@ namespace bgfx { namespace d3d12 void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* /*_marker*/, uint32_t /*_size*/) BX_OVERRIDE { } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + m_occlusionQuery.invalidate(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& _blitter) BX_OVERRIDE @@ -1762,7 +1769,7 @@ namespace bgfx { namespace d3d12 void postReset() { - memset(m_backBufferColorFence, 0, sizeof(m_backBufferColorFence) ); + bx::memSet(m_backBufferColorFence, 0, sizeof(m_backBufferColorFence) ); uint32_t rtvDescriptorSize = m_device->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV); @@ -1835,7 +1842,7 @@ namespace bgfx { namespace d3d12 uint32_t msaa = s_checkMsaa[ii]; D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS data; - memset(&data, 0, sizeof(msaa) ); + bx::memSet(&data, 0, sizeof(msaa) ); data.Format = getBufferFormat(); data.SampleCount = msaa; data.Flags = D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE; @@ -1945,12 +1952,12 @@ data.NumQualityLevels = 0; { if (_flags&BGFX_UNIFORM_FRAGMENTBIT) { - memcpy(&m_fsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_fsScratch[_regIndex], _val, _numRegs*16); m_fsChanges += _numRegs; } else { - memcpy(&m_vsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_vsScratch[_regIndex], _val, _numRegs*16); m_vsChanges += _numRegs; } } @@ -1977,7 +1984,7 @@ data.NumQualityLevels = 0; { uint32_t size = program.m_vsh->m_size; - memcpy(data, m_vsScratch, size); + bx::memCopy(data, m_vsScratch, size); data += size; m_vsChanges = 0; @@ -1985,7 +1992,7 @@ data.NumQualityLevels = 0; if (NULL != program.m_fsh) { - memcpy(data, m_fsScratch, program.m_fsh->m_size); + bx::memCopy(data, m_fsScratch, program.m_fsh->m_size); m_fsChanges = 0; } @@ -2149,7 +2156,7 @@ data.NumQualityLevels = 0; { for (uint32_t ii = 1; ii < BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS; ++ii) { - memcpy(&_desc.RenderTarget[ii], drt, sizeof(D3D12_RENDER_TARGET_BLEND_DESC) ); + bx::memCopy(&_desc.RenderTarget[ii], drt, sizeof(D3D12_RENDER_TARGET_BLEND_DESC) ); } } } @@ -2181,7 +2188,7 @@ data.NumQualityLevels = 0; { const uint32_t fstencil = unpackStencil(0, _stencil); - memset(&_desc, 0, sizeof(_desc) ); + bx::memSet(&_desc, 0, sizeof(_desc) ); uint32_t func = (_state&BGFX_STATE_DEPTH_TEST_MASK)>>BGFX_STATE_DEPTH_TEST_SHIFT; _desc.DepthEnable = 0 != func; _desc.DepthWriteMask = !!(BGFX_STATE_DEPTH_WRITE & _state) @@ -2212,7 +2219,7 @@ data.NumQualityLevels = 0; uint32_t setInputLayout(D3D12_INPUT_ELEMENT_DESC* _vertexElements, const VertexDecl& _vertexDecl, const ProgramD3D12& _program, uint8_t _numInstanceData) { VertexDecl decl; - memcpy(&decl, &_vertexDecl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_vertexDecl, sizeof(VertexDecl) ); const uint16_t* attrMask = _program.m_vsh->m_attrMask; for (uint32_t ii = 0; ii < Attrib::Count; ++ii) @@ -2236,7 +2243,7 @@ data.NumQualityLevels = 0; for (jj = 0; jj < num; ++jj) { curr = &_vertexElements[jj]; - if (0 == strcmp(curr->SemanticName, "TEXCOORD") + if (0 == bx::strncmp(curr->SemanticName, "TEXCOORD") && curr->SemanticIndex == index) { break; @@ -2249,7 +2256,7 @@ data.NumQualityLevels = 0; ++elem; } - memcpy(curr, &inst, sizeof(D3D12_INPUT_ELEMENT_DESC) ); + bx::memCopy(curr, &inst, sizeof(D3D12_INPUT_ELEMENT_DESC) ); curr->InputSlot = 1; curr->SemanticIndex = index; curr->AlignedByteOffset = ii*16; @@ -2291,7 +2298,7 @@ data.NumQualityLevels = 0; } D3D12_COMPUTE_PIPELINE_STATE_DESC desc; - memset(&desc, 0, sizeof(desc) ); + bx::memSet(&desc, 0, sizeof(desc) ); desc.pRootSignature = m_rootSignature; @@ -2330,7 +2337,7 @@ data.NumQualityLevels = 0; _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); VertexDecl decl; - memcpy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) ); + bx::memCopy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) ); const uint16_t* attrMask = program.m_vsh->m_attrMask; for (uint32_t ii = 0; ii < Attrib::Count; ++ii) @@ -2361,7 +2368,7 @@ data.NumQualityLevels = 0; } D3D12_GRAPHICS_PIPELINE_STATE_DESC desc; - memset(&desc, 0, sizeof(desc) ); + bx::memSet(&desc, 0, sizeof(desc) ); desc.pRootSignature = m_rootSignature; @@ -2369,7 +2376,7 @@ data.NumQualityLevels = 0; desc.VS.BytecodeLength = program.m_vsh->m_code->size; const Memory* temp = alloc(program.m_fsh->m_code->size); - memset(temp->data, 0, temp->size); + bx::memSet(temp->data, 0, temp->size); bx::MemoryReader rd(program.m_fsh->m_code->data, program.m_fsh->m_code->size); bx::StaticMemoryBlockWriter wr(temp->data, temp->size); @@ -2388,14 +2395,14 @@ data.NumQualityLevels = 0; dxbcHash(temp->data + 20, temp->size - 20, temp->data + 4); - patchShader = 0 == memcmp(program.m_fsh->m_code->data, temp->data, 16); + patchShader = 0 == bx::memCmp(program.m_fsh->m_code->data, temp->data, 16); BX_CHECK(patchShader, "DXBC fragment shader patching error (ShaderHandle: %d).", program.m_fsh - m_shaders); if (!patchShader) { for (uint32_t ii = 20; ii < temp->size; ii += 16) { - if (0 != memcmp(&program.m_fsh->m_code->data[ii], &temp->data[ii], 16) ) + if (0 != bx::memCmp(&program.m_fsh->m_code->data[ii], &temp->data[ii], 16) ) { // bx::debugPrintfData(&program.m_fsh->m_code->data[ii], temp->size-ii, ""); // bx::debugPrintfData(&temp->data[ii], temp->size-ii, ""); @@ -2410,7 +2417,7 @@ data.NumQualityLevels = 0; if (patchShader) { - memcpy(temp->data, program.m_fsh->m_code->data, program.m_fsh->m_code->size); + bx::memCopy(temp->data, program.m_fsh->m_code->data, program.m_fsh->m_code->size); bx::seek(&wr, 0, bx::Whence::Begin); union { uint32_t offset; void* ptr; } cast = @@ -2509,7 +2516,7 @@ data.NumQualityLevels = 0; if (FAILED(hr) ) { BX_TRACE("Failed to load cached PSO (HRESULT 0x%08x).", hr); - memset(&desc.CachedPSO, 0, sizeof(desc.CachedPSO) ); + bx::memSet(&desc.CachedPSO, 0, sizeof(desc.CachedPSO) ); } } } @@ -2632,7 +2639,7 @@ data.NumQualityLevels = 0; else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -2977,7 +2984,7 @@ data.NumQualityLevels = 0; D3D12_SHADER_RESOURCE_VIEW_DESC* srvd = &_texture.m_srvd; if (0 != _mip) { - memcpy(&tmpSrvd, srvd, sizeof(tmpSrvd) ); + bx::memCopy(&tmpSrvd, srvd, sizeof(tmpSrvd) ); srvd = &tmpSrvd; switch (_texture.m_srvd.ViewDimension) @@ -3023,7 +3030,7 @@ data.NumQualityLevels = 0; if (0 != _mip) { - memcpy(&tmpUavd, uavd, sizeof(tmpUavd) ); + bx::memCopy(&tmpUavd, uavd, sizeof(tmpUavd) ); uavd = &tmpUavd; switch (_texture.m_uavd.ViewDimension) @@ -3473,7 +3480,7 @@ data.NumQualityLevels = 0; } else { - memset(&cmd.vbv[1], 0, sizeof(cmd.vbv[1]) ); + bx::memSet(&cmd.vbv[1], 0, sizeof(cmd.vbv[1]) ); } cmd.draw.InstanceCount = _draw.m_numInstances; cmd.draw.VertexCountPerInstance = numVertices; @@ -3514,7 +3521,7 @@ data.NumQualityLevels = 0; } else { - memset(&cmd.vbv[1], 0, sizeof(cmd.vbv[1]) ); + bx::memSet(&cmd.vbv[1], 0, sizeof(cmd.vbv[1]) ); } cmd.drawIndexed.IndexCountPerInstance = numIndices; cmd.drawIndexed.InstanceCount = _draw.m_numInstances; @@ -3579,9 +3586,9 @@ data.NumQualityLevels = 0; _commandList->SetGraphicsRootConstantBufferView(Rdt::CBV, cmd.cbv); } - if (0 != memcmp(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ) ) + if (0 != bx::memCmp(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ) ) { - memcpy(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ); + bx::memCopy(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ); _commandList->IASetVertexBuffers(0 , 0 == cmd.vbv[1].BufferLocation ? 1 : 2 , cmd.vbv @@ -3609,18 +3616,18 @@ data.NumQualityLevels = 0; _commandList->SetGraphicsRootConstantBufferView(Rdt::CBV, cmd.cbv); } - if (0 != memcmp(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ) ) + if (0 != bx::memCmp(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ) ) { - memcpy(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ); + bx::memCopy(m_current.vbv, cmd.vbv, sizeof(cmd.vbv) ); _commandList->IASetVertexBuffers(0 , 0 == cmd.vbv[1].BufferLocation ? 1 : 2 , cmd.vbv ); } - if (0 != memcmp(&m_current.ibv, &cmd.ibv, sizeof(cmd.ibv) ) ) + if (0 != bx::memCmp(&m_current.ibv, &cmd.ibv, sizeof(cmd.ibv) ) ) { - memcpy(&m_current.ibv, &cmd.ibv, sizeof(cmd.ibv) ); + bx::memCopy(&m_current.ibv, &cmd.ibv, sizeof(cmd.ibv) ); _commandList->IASetIndexBuffer(&cmd.ibv); } @@ -3644,14 +3651,14 @@ data.NumQualityLevels = 0; if (_clean) { - memset(&m_current, 0, sizeof(m_current) ); + bx::memSet(&m_current, 0, sizeof(m_current) ); } } void BatchD3D12::begin() { - memset(&m_stats, 0, sizeof(m_stats) ); - memset(&m_current, 0, sizeof(m_current) ); + bx::memSet(&m_stats, 0, sizeof(m_stats) ); + bx::memSet(&m_current, 0, sizeof(m_current) ); } void BatchD3D12::end(ID3D12GraphicsCommandList* _commandList) @@ -3772,7 +3779,7 @@ data.NumQualityLevels = 0; ID3D12Resource* staging = createCommittedResource(s_renderD3D12->m_device, HeapProperty::Upload, _size); uint8_t* data; DX_CHECK(staging->Map(0, NULL, (void**)&data) ); - memcpy(data, _data, _size); + bx::memCopy(data, _data, _size); staging->Unmap(0, NULL); D3D12_RESOURCE_STATES state = setState(_commandList, D3D12_RESOURCE_STATE_COPY_DEST); @@ -3933,7 +3940,7 @@ data.NumQualityLevels = 0; uint8_t numAttrs = 0; bx::read(&reader, numAttrs); - memset(m_attrMask, 0, sizeof(m_attrMask) ); + bx::memSet(m_attrMask, 0, sizeof(m_attrMask) ); for (uint32_t ii = 0; ii < numAttrs; ++ii) { @@ -4128,7 +4135,7 @@ data.NumQualityLevels = 0; const uint32_t msaaQuality = bx::uint32_satsub( (m_flags&BGFX_TEXTURE_RT_MSAA_MASK)>>BGFX_TEXTURE_RT_MSAA_SHIFT, 1); const DXGI_SAMPLE_DESC& msaa = s_msaa[msaaQuality]; - memset(&m_srvd, 0, sizeof(m_srvd) ); + bx::memSet(&m_srvd, 0, sizeof(m_srvd) ); m_srvd.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING; m_srvd.Format = s_textureFormat[m_textureFormat].m_fmtSrv; DXGI_FORMAT format = s_textureFormat[m_textureFormat].m_fmt; @@ -4263,7 +4270,8 @@ data.NumQualityLevels = 0; break; case Texture3D: - resourceDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE3D; + resourceDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE3D; + resourceDesc.DepthOrArraySize = uint16_t(m_depth); m_srvd.ViewDimension = D3D12_SRV_DIMENSION_TEXTURE3D; m_srvd.Texture3D.MostDetailedMip = 0; m_srvd.Texture3D.MipLevels = numMips; @@ -4385,7 +4393,7 @@ data.NumQualityLevels = 0; DX_CHECK(staging->Map(0, NULL, (void**)&data) ); for (uint32_t ii = 0, height = _rect.m_height; ii < height; ++ii) { - memcpy(&data[ii*rowPitch], &_mem->data[ii*srcpitch], srcpitch); + bx::memCopy(&data[ii*rowPitch], &_mem->data[ii*srcpitch], srcpitch); } staging->Unmap(0, NULL); @@ -4431,7 +4439,7 @@ data.NumQualityLevels = 0; { m_denseIdx = UINT16_MAX; m_numTh = _num; - memcpy(m_attachment, _attachment, _num*sizeof(Attachment) ); + bx::memCopy(m_attachment, _attachment, _num*sizeof(Attachment) ); postReset(); } @@ -4716,7 +4724,10 @@ data.NumQualityLevels = 0; while (0 == m_control.reserve(1) ) { OcclusionQueryHandle handle = m_handle[m_control.m_read]; - _render->m_occlusion[handle.idx] = 0 < m_result[handle.idx]; + if (isValid(handle) ) + { + _render->m_occlusion[handle.idx] = int32_t(m_result[handle.idx]); + } m_control.consume(1); } @@ -4744,6 +4755,20 @@ data.NumQualityLevels = 0; m_control.commit(1); } + void OcclusionQueryD3D12::invalidate(OcclusionQueryHandle _handle) + { + const uint32_t size = m_control.m_size; + + for (uint32_t ii = 0, num = m_control.available(); ii < num; ++ii) + { + OcclusionQueryHandle& handle = m_handle[(m_control.m_read + ii) % size]; + if (handle.idx == _handle.idx) + { + handle.idx = bgfx::invalidHandle; + } + } + } + struct Bind { D3D12_GPU_DESCRIPTOR_HANDLE m_srvHandle; @@ -4909,7 +4934,7 @@ data.NumQualityLevels = 0; if (BGFX_CLEAR_NONE != clr.m_flags) { Rect clearRect = rect; - clearRect.intersect(rect, viewScissorRect); + clearRect.setIntersect(rect, viewScissorRect); clearQuad(clearRect, clr, _render->m_colorPalette); } @@ -5286,7 +5311,7 @@ data.NumQualityLevels = 0; } else { - memcpy(&srvHandle[stage], &srvHandle[0], sizeof(D3D12_GPU_DESCRIPTOR_HANDLE) ); + bx::memCopy(&srvHandle[stage], &srvHandle[0], sizeof(D3D12_GPU_DESCRIPTOR_HANDLE) ); samplerFlags[stage] = 0; } } @@ -5372,7 +5397,7 @@ data.NumQualityLevels = 0; { restoreScissor = true; Rect scissorRect; - scissorRect.intersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; @@ -5545,27 +5570,34 @@ data.NumQualityLevels = 0; ); #if BX_PLATFORM_WINDOWS - DXGI_QUERY_VIDEO_MEMORY_INFO memInfo; - DX_CHECK(m_adapter->QueryVideoMemoryInfo(0, DXGI_MEMORY_SEGMENT_GROUP_LOCAL, &memInfo) ); + DXGI_QUERY_VIDEO_MEMORY_INFO vmi[2]; + DX_CHECK(m_adapter->QueryVideoMemoryInfo(0, DXGI_MEMORY_SEGMENT_GROUP_LOCAL, &vmi[0]) ); + DX_CHECK(m_adapter->QueryVideoMemoryInfo(0, DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL, &vmi[1]) ); - char budget[16]; - bx::prettify(budget, BX_COUNTOF(budget), memInfo.Budget); + for (uint32_t ii = 0; ii < BX_COUNTOF(vmi); ++ii) + { + const DXGI_QUERY_VIDEO_MEMORY_INFO& memInfo = vmi[ii]; - char currentUsage[16]; - bx::prettify(currentUsage, BX_COUNTOF(currentUsage), memInfo.CurrentUsage); + char budget[16]; + bx::prettify(budget, BX_COUNTOF(budget), memInfo.Budget); - char availableForReservation[16]; - bx::prettify(availableForReservation, BX_COUNTOF(currentUsage), memInfo.AvailableForReservation); + char currentUsage[16]; + bx::prettify(currentUsage, BX_COUNTOF(currentUsage), memInfo.CurrentUsage); - char currentReservation[16]; - bx::prettify(currentReservation, BX_COUNTOF(currentReservation), memInfo.CurrentReservation); + char availableForReservation[16]; + bx::prettify(availableForReservation, BX_COUNTOF(currentUsage), memInfo.AvailableForReservation); - tvm.printf(0, pos++, 0x8f, " Budget: %s, Usage: %s, AvailRes: %s, CurrRes: %s " - , budget - , currentUsage - , availableForReservation - , currentReservation - ); + char currentReservation[16]; + bx::prettify(currentReservation, BX_COUNTOF(currentReservation), memInfo.CurrentReservation); + + tvm.printf(0, pos++, 0x8f, " %s - Budget: %10s, Usage: %10s, AvailRes: %10s, CurrRes: %10s " + , 0 == ii ? "Local " : "Non-local" + , budget + , currentUsage + , availableForReservation + , currentReservation + ); + } #endif // BX_PLATFORM_WINDOWS pos = 10; diff --git a/3rdparty/bgfx/src/renderer_d3d12.h b/3rdparty/bgfx/src/renderer_d3d12.h index 8a490ab7860..25de46c80bb 100644 --- a/3rdparty/bgfx/src/renderer_d3d12.h +++ b/3rdparty/bgfx/src/renderer_d3d12.h @@ -231,14 +231,14 @@ namespace bgfx { namespace d3d12 { BX_CHECK(NULL != _vsh->m_code, "Vertex shader doesn't exist."); m_vsh = _vsh; - memcpy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform)); + bx::memCopy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform)); m_numPredefined = _vsh->m_numPredefined; if (NULL != _fsh) { BX_CHECK(NULL != _fsh->m_code, "Fragment shader doesn't exist."); m_fsh = _fsh; - memcpy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform)); + bx::memCopy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform)); m_numPredefined += _fsh->m_numPredefined; } } @@ -271,8 +271,8 @@ namespace bgfx { namespace d3d12 , m_state(D3D12_RESOURCE_STATE_COMMON) , m_numMips(0) { - memset(&m_srvd, 0, sizeof(m_srvd) ); - memset(&m_uavd, 0, sizeof(m_uavd) ); + bx::memSet(&m_srvd, 0, sizeof(m_srvd) ); + bx::memSet(&m_uavd, 0, sizeof(m_uavd) ); } void create(const Memory* _mem, uint32_t _flags, uint8_t _skip); @@ -380,7 +380,7 @@ namespace bgfx { namespace d3d12 , m_minIndirect(0) , m_flushPerBatch(0) { - memset(m_num, 0, sizeof(m_num) ); + bx::memSet(m_num, 0, sizeof(m_num) ); } ~BatchD3D12() @@ -481,6 +481,7 @@ namespace bgfx { namespace d3d12 void shutdown(); void begin(ID3D12GraphicsCommandList* _commandList, Frame* _render, OcclusionQueryHandle _handle); void end(ID3D12GraphicsCommandList* _commandList); + void invalidate(OcclusionQueryHandle _handle); ID3D12Resource* m_readback; ID3D12QueryHeap* m_queryHeap; diff --git a/3rdparty/bgfx/src/renderer_d3d9.cpp b/3rdparty/bgfx/src/renderer_d3d9.cpp index 58e45db9032..4f4267be9ad 100644 --- a/3rdparty/bgfx/src/renderer_d3d9.cpp +++ b/3rdparty/bgfx/src/renderer_d3d9.cpp @@ -329,13 +329,13 @@ namespace bgfx { namespace d3d9 ErrorState::Enum errorState = ErrorState::Default; m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); D3DFORMAT adapterFormat = D3DFMT_X8R8G8B8; // http://msdn.microsoft.com/en-us/library/windows/desktop/bb172588%28v=vs.85%29.aspx - memset(&m_params, 0, sizeof(m_params) ); + bx::memSet(&m_params, 0, sizeof(m_params) ); m_params.BackBufferWidth = BGFX_DEFAULT_WIDTH; m_params.BackBufferHeight = BGFX_DEFAULT_HEIGHT; m_params.BackBufferFormat = adapterFormat; @@ -1023,7 +1023,7 @@ namespace bgfx { namespace d3d9 for (uint32_t yy = 0, height = srcHeight; yy < height; ++yy) { - memcpy(dst, src, pitch); + bx::memCopy(dst, src, pitch); src += srcPitch; dst += dstPitch; @@ -1117,7 +1117,7 @@ namespace bgfx { namespace d3d9 uint32_t size = BX_ALIGN_16(g_uniformTypeSize[_type]*_num); void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, data); } @@ -1129,9 +1129,23 @@ namespace bgfx { namespace d3d9 m_uniformReg.remove(_handle); } - void saveScreenShot(const char* _filePath) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) BX_OVERRIDE { #if BX_PLATFORM_WINDOWS + IDirect3DSwapChain9* swapChain = isValid(_handle) + ? m_frameBuffers[_handle.idx].m_swapChain + : m_swapChain + ; + + if (NULL == swapChain) + { + BX_TRACE("Unable to capture screenshot %s.", _filePath); + return; + } + + D3DPRESENT_PARAMETERS params; + DX_CHECK(swapChain->GetPresentParameters(¶ms)); + IDirect3DSurface9* surface; D3DDEVICE_CREATION_PARAMETERS dcp; DX_CHECK(m_device->GetCreationParameters(&dcp) ); @@ -1147,8 +1161,14 @@ namespace bgfx { namespace d3d9 , NULL ) ); + HWND nwh = params.hDeviceWindow; + + SetWindowPos(nwh, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE); + DX_CHECK(m_device->GetFrontBufferData(0, surface) ); + SetWindowPos(nwh, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE); + D3DLOCKED_RECT rect; DX_CHECK(surface->LockRect(&rect , NULL @@ -1156,25 +1176,27 @@ namespace bgfx { namespace d3d9 ) ); RECT rc; - GetClientRect( (HWND)g_platformData.nwh, &rc); + GetClientRect(nwh, &rc); POINT point; point.x = rc.left; point.y = rc.top; - ClientToScreen( (HWND)g_platformData.nwh, &point); + ClientToScreen(nwh, &point); uint8_t* data = (uint8_t*)rect.pBits; uint32_t bytesPerPixel = rect.Pitch/dm.Width; g_callback->screenShot(_filePath - , m_params.BackBufferWidth - , m_params.BackBufferHeight + , params.BackBufferWidth + , params.BackBufferHeight , rect.Pitch , &data[point.y*rect.Pitch+point.x*bytesPerPixel] - , m_params.BackBufferHeight*rect.Pitch + , params.BackBufferHeight*rect.Pitch , false ); DX_CHECK(surface->UnlockRect() ); DX_RELEASE(surface, 0); +#else + BX_UNUSED(_handle, _filePath); #endif // BX_PLATFORM_WINDOWS } @@ -1196,7 +1218,7 @@ namespace bgfx { namespace d3d9 void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* _marker, uint32_t _size) BX_OVERRIDE @@ -1210,6 +1232,11 @@ namespace bgfx { namespace d3d9 BX_UNUSED(_marker, _size); } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + m_occlusionQuery.invalidate(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& _blitter) BX_OVERRIDE @@ -1760,7 +1787,7 @@ namespace bgfx { namespace d3d9 else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -2004,7 +2031,7 @@ namespace bgfx { namespace d3d9 for (uint32_t ii = 0; ii < numMrt; ++ii) { uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE - 1, _clear.m_index[ii]); - memcpy(mrtClear[ii], _palette[index], 16); + bx::memCopy(mrtClear[ii], _palette[index], 16); } } else @@ -2019,7 +2046,7 @@ namespace bgfx { namespace d3d9 for (uint32_t ii = 0; ii < numMrt; ++ii) { - memcpy(mrtClear[ii], rgba, 16); + bx::memCopy(mrtClear[ii], rgba, 16); } } @@ -2311,7 +2338,7 @@ namespace bgfx { namespace d3d9 bool asInt; _decl.decode(Attrib::Enum(attr), num, type, normalized, asInt); - memcpy(elem, &s_attrib[attr], sizeof(D3DVERTEXELEMENT9) ); + bx::memCopy(elem, &s_attrib[attr], sizeof(D3DVERTEXELEMENT9) ); elem->Type = s_attribType[type][num-1][normalized]; elem->Offset = _decl.m_offset[attr]; @@ -2331,13 +2358,13 @@ namespace bgfx { namespace d3d9 for (uint8_t ii = 0; ii < _numInstanceData; ++ii) { - memcpy(elem, &inst, sizeof(D3DVERTEXELEMENT9) ); + bx::memCopy(elem, &inst, sizeof(D3DVERTEXELEMENT9) ); elem->UsageIndex = uint8_t(7-ii); // TEXCOORD7 = i_data0, TEXCOORD6 = i_data1, etc. elem->Offset = ii*16; ++elem; } - memcpy(elem, &s_attrib[Attrib::Count], sizeof(D3DVERTEXELEMENT9) ); + bx::memCopy(elem, &s_attrib[Attrib::Count], sizeof(D3DVERTEXELEMENT9) ); IDirect3DVertexDeclaration9* ptr; DX_CHECK(s_renderD3D9->m_device->CreateVertexDeclaration(vertexElements, &ptr) ); @@ -2346,7 +2373,7 @@ namespace bgfx { namespace d3d9 void VertexDeclD3D9::create(const VertexDecl& _decl) { - memcpy(&m_decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&m_decl, &_decl, sizeof(VertexDecl) ); dump(m_decl); m_ptr = createVertexDeclaration(_decl, 0); } @@ -2990,7 +3017,7 @@ namespace bgfx { namespace d3d9 break; default: - memcpy(bits, mip.m_data, size); + bx::memCopy(bits, mip.m_data, size); break; } } @@ -3052,7 +3079,7 @@ namespace bgfx { namespace d3d9 break; default: - memcpy(dst, src, rectpitch); + bx::memCopy(dst, src, rectpitch); break; } src += srcpitch; @@ -3159,7 +3186,7 @@ namespace bgfx { namespace d3d9 m_num = 0; m_numTh = _num; m_needResolve = false; - memcpy(m_attachment, _attachment, _num*sizeof(Attachment) ); + bx::memCopy(m_attachment, _attachment, _num*sizeof(Attachment) ); for (uint32_t ii = 0; ii < _num; ++ii) { @@ -3216,7 +3243,7 @@ namespace bgfx { namespace d3d9 m_height = bx::uint32_max(_height, 16); D3DPRESENT_PARAMETERS params; - memcpy(¶ms, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) ); + bx::memCopy(¶ms, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) ); params.BackBufferWidth = m_width; params.BackBufferHeight = m_height; @@ -3326,7 +3353,7 @@ namespace bgfx { namespace d3d9 if (NULL != m_hwnd) { D3DPRESENT_PARAMETERS params; - memcpy(¶ms, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) ); + bx::memCopy(¶ms, &s_renderD3D9->m_params, sizeof(D3DPRESENT_PARAMETERS) ); params.BackBufferWidth = m_width; params.BackBufferHeight = m_height; @@ -3547,18 +3574,36 @@ namespace bgfx { namespace d3d9 { Query& query = m_query[m_control.m_read]; - uint32_t result; - HRESULT hr = query.m_ptr->GetData(&result, sizeof(result), 0); - if (S_FALSE == hr) + if (isValid(query.m_handle) ) { - break; + uint32_t result; + HRESULT hr = query.m_ptr->GetData(&result, sizeof(result), 0); + if (S_FALSE == hr) + { + break; + } + + _render->m_occlusion[query.m_handle.idx] = int32_t(result); } - _render->m_occlusion[query.m_handle.idx] = 0 < result; m_control.consume(1); } } + void OcclusionQueryD3D9::invalidate(OcclusionQueryHandle _handle) + { + const uint32_t size = m_control.m_size; + + for (uint32_t ii = 0, num = m_control.available(); ii < num; ++ii) + { + Query& query = m_query[(m_control.m_read + ii) % size]; + if (query.m_handle.idx == _handle.idx) + { + query.m_handle.idx = bgfx::invalidHandle; + } + } + } + void RendererContextD3D9::submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) { IDirect3DDevice9* device = m_device; @@ -3795,7 +3840,7 @@ namespace bgfx { namespace d3d9 else { Rect scissorRect; - scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; diff --git a/3rdparty/bgfx/src/renderer_d3d9.h b/3rdparty/bgfx/src/renderer_d3d9.h index 93c42c853a1..2aa9b64dcb9 100644 --- a/3rdparty/bgfx/src/renderer_d3d9.h +++ b/3rdparty/bgfx/src/renderer_d3d9.h @@ -144,7 +144,7 @@ namespace bgfx { namespace d3d9 , _discard || (m_dynamic && 0 == _offset && m_size == _size) ? D3DLOCK_DISCARD : 0 ) ); - memcpy(buffer, _data, _size); + bx::memCopy(buffer, _data, _size); DX_CHECK(m_ptr->Unlock() ); } @@ -185,7 +185,7 @@ namespace bgfx { namespace d3d9 , _discard || (m_dynamic && 0 == _offset && m_size == _size) ? D3DLOCK_DISCARD : 0 ) ); - memcpy(buffer, _data, _size); + bx::memCopy(buffer, _data, _size); DX_CHECK(m_ptr->Unlock() ); } @@ -276,8 +276,8 @@ namespace bgfx { namespace d3d9 BX_CHECK(NULL != _fsh.m_pixelShader, "Fragment shader doesn't exist."); m_fsh = &_fsh; - memcpy(&m_predefined[0], _vsh.m_predefined, _vsh.m_numPredefined*sizeof(PredefinedUniform) ); - memcpy(&m_predefined[_vsh.m_numPredefined], _fsh.m_predefined, _fsh.m_numPredefined*sizeof(PredefinedUniform) ); + bx::memCopy(&m_predefined[0], _vsh.m_predefined, _vsh.m_numPredefined*sizeof(PredefinedUniform) ); + bx::memCopy(&m_predefined[_vsh.m_numPredefined], _fsh.m_predefined, _fsh.m_numPredefined*sizeof(PredefinedUniform) ); m_numPredefined = _vsh.m_numPredefined + _fsh.m_numPredefined; } @@ -468,6 +468,7 @@ namespace bgfx { namespace d3d9 void begin(Frame* _render, OcclusionQueryHandle _handle); void end(); void resolve(Frame* _render, bool _wait = false); + void invalidate(OcclusionQueryHandle _handle); struct Query { diff --git a/3rdparty/bgfx/src/renderer_gl.cpp b/3rdparty/bgfx/src/renderer_gl.cpp index 93a714ea194..8f4903a2cb1 100644 --- a/3rdparty/bgfx/src/renderer_gl.cpp +++ b/3rdparty/bgfx/src/renderer_gl.cpp @@ -851,10 +851,16 @@ namespace bgfx { namespace gl static const char* s_ARB_shader_texture_lod[] = { "texture2DLod", + "texture2DArrayLod", // BK - interacts with ARB_texture_array. "texture2DProjLod", + "texture2DGrad", + "texture2DProjGrad", "texture3DLod", "texture3DProjLod", + "texture3DGrad", + "texture3DProjGrad", "textureCubeLod", + "textureCubeGrad", "shadow2DLod", "shadow2DProjLod", NULL @@ -869,10 +875,10 @@ namespace bgfx { namespace gl "texture2DLod", "texture2DProjLod", "textureCubeLod", + "texture2DGrad", + "texture2DProjGrad", + "textureCubeGrad", NULL - // "texture2DGrad", - // "texture2DProjGrad", - // "textureCubeGrad", }; static const char* s_EXT_shadow_samplers[] = @@ -1055,7 +1061,7 @@ namespace bgfx { namespace gl while (pos < end) { uint32_t len; - const char* space = strchr(pos, ' '); + const char* space = bx::strnchr(pos, ' '); if (NULL != space) { len = bx::uint32_min(sizeof(name), (uint32_t)(space - pos) ); @@ -1065,7 +1071,7 @@ namespace bgfx { namespace gl len = bx::uint32_min(sizeof(name), (uint32_t)bx::strnlen(pos) ); } - strncpy(name, pos, len); + bx::strlncpy(name, BX_COUNTOF(name), pos, len); name[len] = '\0'; BX_TRACE("\t%s", name); @@ -1349,12 +1355,12 @@ namespace bgfx { namespace gl && extension.m_initialize) { const char* ext = _name; - if (0 == strncmp(ext, "GL_", 3) ) // skip GL_ + if (0 == bx::strncmp(ext, "GL_", 3) ) // skip GL_ { ext += 3; } - if (0 == strcmp(ext, extension.m_name) ) + if (0 == bx::strncmp(ext, extension.m_name) ) { extension.m_supported = true; supported = true; @@ -1437,7 +1443,7 @@ namespace bgfx { namespace gl , m_backBufferFbo(0) , m_msaaBackBufferFbo(0) { - memset(m_msaaBackBufferRbos, 0, sizeof(m_msaaBackBufferRbos) ); + bx::memSet(m_msaaBackBufferRbos, 0, sizeof(m_msaaBackBufferRbos) ); } ~RendererContextGL() @@ -1449,8 +1455,8 @@ namespace bgfx { namespace gl m_renderdocdll = loadRenderDoc(); m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); setRenderContextSize(BGFX_DEFAULT_WIDTH, BGFX_DEFAULT_HEIGHT); @@ -1469,7 +1475,7 @@ namespace bgfx { namespace gl for (uint32_t ii = 0; ii < BX_COUNTOF(s_vendorIds); ++ii) { const VendorId& vendorId = s_vendorIds[ii]; - if (0 == strncmp(vendorId.name, m_vendor, bx::strnlen(vendorId.name) ) ) + if (0 == bx::strncmp(vendorId.name, m_vendor, bx::strnlen(vendorId.name) ) ) { g_caps.vendorId = vendorId.id; break; @@ -1543,8 +1549,8 @@ namespace bgfx { namespace gl ; if (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGLES >= 31) - && 0 == strcmp(m_vendor, "Imagination Technologies") - && NULL != strstr(m_version, "(SDK 3.5@3510720)") ) + && 0 == bx::strncmp(m_vendor, "Imagination Technologies") + && NULL != bx::strnstr(m_version, "(SDK 3.5@3510720)") ) { // Skip initializing extensions that are broken in emulator. s_extension[Extension::ARB_program_interface_query ].m_initialize = @@ -1564,7 +1570,7 @@ namespace bgfx { namespace gl while (pos < end) { uint32_t len; - const char* space = strchr(pos, ' '); + const char* space = bx::strnchr(pos, ' '); if (NULL != space) { len = bx::uint32_min(sizeof(name), (uint32_t)(space - pos) ); @@ -1574,7 +1580,7 @@ namespace bgfx { namespace gl len = bx::uint32_min(sizeof(name), (uint32_t)bx::strnlen(pos) ); } - strncpy(name, pos, len); + bx::strlncpy(name, BX_COUNTOF(name), pos, len); name[len] = '\0'; updateExtension(name); @@ -1607,7 +1613,7 @@ namespace bgfx { namespace gl } // Allow all texture filters. - memset(s_textureFilter, true, BX_COUNTOF(s_textureFilter) ); + bx::memSet(s_textureFilter, true, BX_COUNTOF(s_textureFilter) ); bool bc123Supported = 0 || s_extension[Extension::EXT_texture_compression_s3tc ].m_supported @@ -2290,6 +2296,9 @@ namespace bgfx { namespace gl m_ovr.flip(); m_ovr.swap(_hmd); + // Ensure the back buffer is bound as the source of the flip + GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_backBufferFbo)); + // need to swap GL render context even if OVR is enabled to get // the mirror texture in the output m_glctx.swap(); @@ -2311,7 +2320,7 @@ namespace bgfx { namespace gl void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) BX_OVERRIDE { VertexDecl& decl = m_vertexDecls[_handle.idx]; - memcpy(&decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_decl, sizeof(VertexDecl) ); dump(decl); } @@ -2508,7 +2517,7 @@ namespace bgfx { namespace gl uint32_t size = g_uniformTypeSize[_type]*_num; void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, m_uniforms[_handle.idx]); } @@ -2520,14 +2529,24 @@ namespace bgfx { namespace gl m_uniformReg.remove(_handle); } - void saveScreenShot(const char* _filePath) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) BX_OVERRIDE { - uint32_t length = m_resolution.m_width*m_resolution.m_height*4; - uint8_t* data = (uint8_t*)BX_ALLOC(g_allocator, length); - + SwapChainGL* swapChain = NULL; uint32_t width = m_resolution.m_width; uint32_t height = m_resolution.m_height; + if (isValid(_handle) ) + { + const FrameBufferGL& frameBuffer = m_frameBuffers[_handle.idx]; + swapChain = frameBuffer.m_swapChain; + width = frameBuffer.m_width; + height = frameBuffer.m_height; + } + m_glctx.makeCurrent(swapChain); + + uint32_t length = width*height*4; + uint8_t* data = (uint8_t*)BX_ALLOC(g_allocator, length); + GL_CHECK(glReadPixels(0 , 0 , width @@ -2563,7 +2582,7 @@ namespace bgfx { namespace gl void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* _marker, uint32_t _size) BX_OVERRIDE @@ -2571,6 +2590,11 @@ namespace bgfx { namespace gl GL_CHECK(glInsertEventMarker(_size, _marker) ); } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + m_occlusionQuery.invalidate(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& _blitter) BX_OVERRIDE @@ -2638,7 +2662,9 @@ namespace bgfx { namespace gl GL_CHECK(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ib.m_id) ); ProgramGL& program = m_program[_blitter.m_program.idx]; + program.bindAttributesBegin(); program.bindAttributes(_blitter.m_decl, 0); + program.bindAttributesEnd(); GL_CHECK(glDrawElements(GL_TRIANGLES , _numIndices @@ -3205,7 +3231,7 @@ namespace bgfx { namespace gl else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -3391,7 +3417,9 @@ namespace bgfx { namespace gl ProgramGL& program = m_program[_clearQuad.m_program[numMrt-1].idx]; GL_CHECK(glUseProgram(program.m_id) ); + program.bindAttributesBegin(); program.bindAttributes(vertexDecl, 0); + program.bindAttributesEnd(); float mrtClear[BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS][4]; @@ -3400,7 +3428,7 @@ namespace bgfx { namespace gl for (uint32_t ii = 0; ii < numMrt; ++ii) { uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE-1, _clear.m_index[ii]); - memcpy(mrtClear[ii], _palette[index], 16); + bx::memCopy(mrtClear[ii], _palette[index], 16); } } else @@ -3415,7 +3443,7 @@ namespace bgfx { namespace gl for (uint32_t ii = 0; ii < numMrt; ++ii) { - memcpy(mrtClear[ii], rgba, 16); + bx::memCopy(mrtClear[ii], rgba, 16); } } @@ -3536,7 +3564,7 @@ namespace bgfx { namespace gl , m_textureSwapChain(NULL) , m_mirrorTexture(NULL) { - memset(&m_eyeTarget, 0, sizeof(m_eyeTarget) ); + bx::memSet(&m_eyeTarget, 0, sizeof(m_eyeTarget) ); } static void setDefaultSamplerState() @@ -3980,7 +4008,7 @@ namespace bgfx { namespace gl { BX_WARN(0 != _vsh.m_id, "Invalid vertex/compute shader."); GL_CHECK(glDeleteProgram(m_id) ); - m_used[0] = Attrib::Count; + m_usedCount = 0; m_id = 0; return; } @@ -4105,7 +4133,7 @@ namespace bgfx { namespace gl GLint num; }; VariableInfo vi; - GLenum props[] ={ GL_TYPE, GL_LOCATION, GL_ARRAY_SIZE }; + GLenum props[] = { GL_TYPE, GL_LOCATION, GL_ARRAY_SIZE }; GLenum gltype; GLint num; @@ -4144,13 +4172,13 @@ namespace bgfx { namespace gl num = bx::uint32_max(num, 1); int offset = 0; - char* array = strchr(name, '['); + char* array = const_cast(bx::strnchr(name, '[') ); if (NULL != array) { BX_TRACE("--- %s", name); *array = '\0'; array++; - char* end = strchr(array, ']'); + char* end = const_cast(bx::strnchr(array, ']') ); if (NULL != end) { // Some devices (Amazon Fire) might not return terminating brace. *end = '\0'; @@ -4298,7 +4326,7 @@ namespace bgfx { namespace gl } } - memset(m_attributes, 0xff, sizeof(m_attributes) ); + bx::memSet(m_attributes, 0xff, sizeof(m_attributes) ); uint32_t used = 0; for (uint8_t ii = 0; ii < Attrib::Count; ++ii) { @@ -4310,11 +4338,8 @@ namespace bgfx { namespace gl m_used[used++] = ii; } } - BX_CHECK(used < BX_COUNTOF(m_used), "Out of bounds %d > array size %d." - , used - , BX_COUNTOF(m_used) - ); - m_used[used] = Attrib::Count; + BX_CHECK(used < BX_COUNTOF(m_used), "Out of bounds %d > array size %d.", used, Attrib::Count); + m_usedCount = (uint8_t)used; used = 0; for (uint32_t ii = 0; ii < BX_COUNTOF(s_instanceDataName); ++ii) @@ -4333,9 +4358,9 @@ namespace bgfx { namespace gl m_instanceData[used] = 0xffff; } - void ProgramGL::bindAttributes(const VertexDecl& _vertexDecl, uint32_t _baseVertex) const + void ProgramGL::bindAttributes(const VertexDecl& _vertexDecl, uint32_t _baseVertex) { - for (uint32_t ii = 0; Attrib::Count != m_used[ii]; ++ii) + for (uint32_t ii = 0, iiEnd = m_usedCount; ii < iiEnd; ++ii) { Attrib::Enum attr = Attrib::Enum(m_used[ii]); GLint loc = m_attributes[attr]; @@ -4375,10 +4400,8 @@ namespace bgfx { namespace gl , (void*)(uintptr_t)baseVertex) ); } - } - else - { - GL_CHECK(glDisableVertexAttribArray(loc) ); + + m_unboundUsedAttrib[ii] = Attrib::Count; } } } @@ -4667,6 +4690,7 @@ namespace bgfx { namespace gl GL_CHECK(glGenTextures(1, &m_id) ); BX_CHECK(0 != m_id, "Failed to generate texture id."); GL_CHECK(glBindTexture(_target, m_id) ); + GL_CHECK(glPixelStorei(GL_UNPACK_ALIGNMENT, 1) ); const TextureFormatInfo& tfi = s_textureFormat[m_textureFormat]; m_fmt = tfi.m_fmt; @@ -5312,8 +5336,8 @@ namespace bgfx { namespace gl void strins(char* _str, const char* _insert) { size_t len = bx::strnlen(_insert); - memmove(&_str[len], _str, bx::strnlen(_str)+1); - memcpy(_str, _insert, len); + bx::memMove(&_str[len], _str, bx::strnlen(_str)+1); + bx::memCopy(_str, _insert, len); } void ShaderGL::create(Memory* _mem) @@ -5481,15 +5505,20 @@ namespace bgfx { namespace gl if (usesTextureLod) { - BX_WARN(s_extension[Extension::EXT_shader_texture_lod].m_supported, "EXT_shader_texture_lod is used but not supported by GLES2 driver."); - if (s_extension[Extension::EXT_shader_texture_lod].m_supported - /*&& GL_VERTEX_SHADER == m_type*/) + BX_WARN(s_extension[Extension::ARB_shader_texture_lod].m_supported + , "ARB_shader_texture_lod is used but not supported by GLES2 driver." + ); + + if (s_extension[Extension::ARB_shader_texture_lod].m_supported) { writeString(&writer - , "#extension GL_EXT_shader_texture_lod : enable\n" - "#define texture2DLod texture2DLodEXT\n" - "#define texture2DProjLod texture2DProjLodEXT\n" - "#define textureCubeLod textureCubeLodEXT\n" + , "#extension GL_ARB_shader_texture_lod : enable\n" + "#define texture2DLod texture2DLodARB\n" + "#define texture2DProjLod texture2DProjLodARB\n" + "#define textureCubeLod textureCubeLodARB\n" + "#define texture2DGrad texture2DGradARB\n" + "#define texture2DProjGrad texture2DProjGradARB\n" + "#define textureCubeGrad textureCubeGradARB\n" ); } else @@ -5523,10 +5552,10 @@ namespace bgfx { namespace gl if (insertFragDepth) { - char* entry = strstr(temp, "void main ()"); + const char* entry = bx::strnstr(temp, "void main ()"); if (NULL != entry) { - char* brace = strstr(entry, "{"); + char* brace = const_cast(bx::strnstr(entry, "{") ); if (NULL != brace) { const char* end = bx::strmb(brace, '{', '}'); @@ -5543,7 +5572,7 @@ namespace bgfx { namespace gl { char* insert = const_cast(fragDepth); strins(insert, "bg"); - memcpy(insert + 2, "fx", 2); + bx::memCopy(insert + 2, "fx", 2); } } else if (BX_ENABLED(BGFX_CONFIG_RENDERER_OPENGL) @@ -5561,7 +5590,7 @@ namespace bgfx { namespace gl const bool usesPacking = !!bx::findIdentifierMatch(code, s_ARB_shading_language_packing); uint32_t version = - usesIUsamplers || usesTexelFetch ? 130 + usesIUsamplers || usesTexelFetch || usesGpuShader5 ? 130 : usesTextureLod ? 120 : 120 ; @@ -5575,7 +5604,12 @@ namespace bgfx { namespace gl { if (m_type == GL_FRAGMENT_SHADER) { - writeString(&writer, "#extension GL_ARB_shader_texture_lod : enable\n"); + writeString(&writer + , "#extension GL_ARB_shader_texture_lod : enable\n" + "#define texture2DGrad texture2DGradARB\n" + "#define texture2DProjGrad texture2DProjGradARB\n" + "#define textureCubeGrad textureCubeGradARB\n" + ); } } @@ -5619,7 +5653,7 @@ namespace bgfx { namespace gl { char tmpFragData[16]; bx::snprintf(tmpFragData, BX_COUNTOF(tmpFragData), "gl_FragData[%d]", ii); - fragData = bx::uint32_max(fragData, NULL == strstr(code, tmpFragData) ? 0 : ii+1); + fragData = bx::uint32_max(fragData, NULL == bx::strnstr(code, tmpFragData) ? 0 : ii+1); } BGFX_FATAL(0 != fragData, Fatal::InvalidShader, "Unable to find and patch gl_FragData!"); @@ -5677,9 +5711,12 @@ namespace bgfx { namespace gl writeString(&writer, "#version 140\n"); } - writeString(&writer, "#define texture2DLod textureLod\n"); - writeString(&writer, "#define texture3DLod textureLod\n"); - writeString(&writer, "#define textureCubeLod textureLod\n"); + writeString(&writer, "#define texture2DLod textureLod\n"); + writeString(&writer, "#define texture3DLod textureLod\n"); + writeString(&writer, "#define textureCubeLod textureLod\n"); + writeString(&writer, "#define texture2DGrad textureGrad\n"); + writeString(&writer, "#define texture3DGrad textureGrad\n"); + writeString(&writer, "#define textureCubeGrad textureGrad\n"); if (m_type == GL_FRAGMENT_SHADER) { @@ -5709,7 +5746,7 @@ namespace bgfx { namespace gl { char tmpFragData[16]; bx::snprintf(tmpFragData, BX_COUNTOF(tmpFragData), "gl_FragData[%d]", ii); - fragData = bx::uint32_max(fragData, NULL == strstr(code, tmpFragData) ? 0 : ii+1); + fragData = bx::uint32_max(fragData, NULL == bx::strnstr(code, tmpFragData) ? 0 : ii+1); } BGFX_FATAL(0 != fragData, Fatal::InvalidShader, "Unable to find and patch gl_FragData!"); @@ -5814,7 +5851,7 @@ namespace bgfx { namespace gl m_denseIdx = UINT16_MAX; m_numTh = _num; - memcpy(m_attachment, _attachment, _num*sizeof(Attachment) ); + bx::memCopy(m_attachment, _attachment, _num*sizeof(Attachment) ); m_needPresent = false; @@ -5988,7 +6025,7 @@ namespace bgfx { namespace gl m_swapChain = NULL; } - memset(m_fbo, 0, sizeof(m_fbo) ); + bx::memSet(m_fbo, 0, sizeof(m_fbo) ); uint16_t denseIdx = m_denseIdx; m_denseIdx = UINT16_MAX; m_needPresent = false; @@ -6112,24 +6149,43 @@ namespace bgfx { namespace gl while (0 != m_control.available() ) { Query& query = m_query[m_control.m_read]; - int32_t result; - if (!_wait) + if (isValid(query.m_handle) ) { - GL_CHECK(glGetQueryObjectiv(query.m_id, GL_QUERY_RESULT_AVAILABLE, &result) ); + int32_t result; - if (!result) + if (!_wait) { - break; + GL_CHECK(glGetQueryObjectiv(query.m_id, GL_QUERY_RESULT_AVAILABLE, &result) ); + + if (!result) + { + break; + } } + + GL_CHECK(glGetQueryObjectiv(query.m_id, GL_QUERY_RESULT, &result) ); + _render->m_occlusion[query.m_handle.idx] = int32_t(result); } - GL_CHECK(glGetQueryObjectiv(query.m_id, GL_QUERY_RESULT, &result) ); - _render->m_occlusion[query.m_handle.idx] = 0 < result; m_control.consume(1); } } + void OcclusionQueryGL::invalidate(OcclusionQueryHandle _handle) + { + const uint32_t size = m_control.m_size; + + for (uint32_t ii = 0, num = m_control.available(); ii < num; ++ii) + { + Query& query = m_query[(m_control.m_read + ii) % size]; + if (query.m_handle.idx == _handle.idx) + { + query.m_handle.idx = bgfx::invalidHandle; + } + } + } + void RendererContextGL::submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) { BGFX_GPU_PROFILER_BEGIN_DYNAMIC("rendererSubmit"); @@ -6223,7 +6279,6 @@ namespace bgfx { namespace gl : GL_FILL ) ); - uint32_t baseVertex = 0; GLuint currentVao = 0; bool wasCompute = false; bool viewHasScissor = false; @@ -6601,7 +6656,7 @@ namespace bgfx { namespace gl else { Rect scissorRect; - scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; @@ -6951,27 +7006,63 @@ namespace bgfx { namespace gl && 0 == draw.m_stream[0].m_startVertex && 0 == draw.m_instanceDataOffset) { + bool diffStartVertex = false; + bool diffStreamHandles = false; + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) + { + streamMask >>= ntz; + idx += ntz; + + if (currentState.m_stream[idx].m_handle.idx != draw.m_stream[idx].m_handle.idx) + { + diffStreamHandles = true; + break; + } + + if (currentState.m_stream[idx].m_startVertex != draw.m_stream[idx].m_startVertex) + { + diffStartVertex = true; + break; + } + } + if (programChanged - || baseVertex != draw.m_stream[0].m_startVertex || currentState.m_streamMask != draw.m_streamMask - || currentState.m_stream[0].m_handle.idx != draw.m_stream[0].m_handle.idx || currentState.m_indexBuffer.idx != draw.m_indexBuffer.idx || currentState.m_instanceDataOffset != draw.m_instanceDataOffset || currentState.m_instanceDataStride != draw.m_instanceDataStride - || currentState.m_instanceDataBuffer.idx != draw.m_instanceDataBuffer.idx) + || currentState.m_instanceDataBuffer.idx != draw.m_instanceDataBuffer.idx + || diffStartVertex + || diffStreamHandles) { bx::HashMurmur2A murmur; murmur.begin(); - const Stream& stream = draw.m_stream[0]; - murmur.add(stream.m_handle.idx); - - if (isValid(stream.m_handle) ) + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) { - const VertexBufferGL& vb = m_vertexBuffers[stream.m_handle.idx]; - uint16_t decl = !isValid(vb.m_decl) ? stream.m_decl.idx : vb.m_decl.idx; - murmur.add(decl); + streamMask >>= ntz; + idx += ntz; + + const Stream& stream = draw.m_stream[idx]; + murmur.add(stream.m_handle.idx); + + if (isValid(stream.m_handle) ) + { + const VertexBufferGL& vb = m_vertexBuffers[stream.m_handle.idx]; + uint16_t decl = !isValid(vb.m_decl) ? stream.m_decl.idx : vb.m_decl.idx; + murmur.add(decl); + } + + currentState.m_stream[idx].m_handle = stream.m_handle; + currentState.m_stream[idx].m_startVertex = stream.m_startVertex; } + currentState.m_streamMask = draw.m_streamMask; murmur.add(draw.m_indexBuffer.idx); murmur.add(draw.m_instanceDataBuffer.idx); @@ -6980,11 +7071,7 @@ namespace bgfx { namespace gl murmur.add(programIdx); uint32_t hash = murmur.end(); - currentState.m_streamMask = draw.m_streamMask; - currentState.m_stream[0].m_handle = stream.m_handle; - baseVertex = stream.m_startVertex; - - currentState.m_indexBuffer = draw.m_indexBuffer; + currentState.m_indexBuffer = draw.m_indexBuffer; currentState.m_instanceDataOffset = draw.m_instanceDataOffset; currentState.m_instanceDataStride = draw.m_instanceDataStride; @@ -7002,14 +7089,26 @@ namespace bgfx { namespace gl program.add(hash); - if (isValid(stream.m_handle) ) + program.bindAttributesBegin(); + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) { - VertexBufferGL& vb = m_vertexBuffers[stream.m_handle.idx]; - vb.add(hash); - GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, vb.m_id) ); + streamMask >>= ntz; + idx += ntz; - uint16_t decl = !isValid(vb.m_decl) ? stream.m_decl.idx : vb.m_decl.idx; - program.bindAttributes(m_vertexDecls[decl], stream.m_startVertex); + const Stream& stream = draw.m_stream[idx]; + + if (isValid(stream.m_handle) ) + { + VertexBufferGL& vb = m_vertexBuffers[stream.m_handle.idx]; + vb.add(hash); + + uint16_t decl = !isValid(vb.m_decl) ? stream.m_decl.idx : vb.m_decl.idx; + GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, vb.m_id) ); + program.bindAttributes(m_vertexDecls[decl], stream.m_startVertex); + } if (isValid(draw.m_instanceDataBuffer) ) { @@ -7019,10 +7118,7 @@ namespace bgfx { namespace gl program.bindInstanceData(draw.m_instanceDataStride, draw.m_instanceDataOffset); } } - else - { - GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, 0) ); - } + program.bindAttributesEnd(); if (isValid(draw.m_indexBuffer) ) { @@ -7043,37 +7139,56 @@ namespace bgfx { namespace gl && 0 != currentVao) { GL_CHECK(glBindVertexArray(defaultVao) ); - currentState.m_streamMask = 0; - currentState.m_stream[0].m_handle.idx = invalidHandle; - currentState.m_indexBuffer.idx = invalidHandle; + currentState.m_streamMask = 0; + for (size_t ii = 0; ii < BGFX_CONFIG_MAX_VERTEX_STREAMS; ++ii) + { + currentState.m_stream[ii].m_handle.idx = invalidHandle; + } + currentState.m_indexBuffer.idx = invalidHandle; bindAttribs = true; currentVao = 0; } + bool diffStreamHandles = false; + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) + { + streamMask >>= ntz; + idx += ntz; + + if (currentState.m_stream[idx].m_handle.idx != draw.m_stream[idx].m_handle.idx) + { + diffStreamHandles = true; + break; + } + } + if (programChanged || currentState.m_streamMask != draw.m_streamMask - || currentState.m_stream[0].m_handle.idx != draw.m_stream[0].m_handle.idx || currentState.m_instanceDataBuffer.idx != draw.m_instanceDataBuffer.idx || currentState.m_instanceDataOffset != draw.m_instanceDataOffset - || currentState.m_instanceDataStride != draw.m_instanceDataStride) + || currentState.m_instanceDataStride != draw.m_instanceDataStride + || diffStreamHandles) { currentState.m_streamMask = draw.m_streamMask; - currentState.m_stream[0].m_handle = draw.m_stream[0].m_handle; currentState.m_instanceDataBuffer.idx = draw.m_instanceDataBuffer.idx; currentState.m_instanceDataOffset = draw.m_instanceDataOffset; currentState.m_instanceDataStride = draw.m_instanceDataStride; - uint16_t handle = draw.m_stream[0].m_handle.idx; - if (invalidHandle != handle) - { - VertexBufferGL& vb = m_vertexBuffers[handle]; - GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, vb.m_id) ); - bindAttribs = true; - } - else + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) { - GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, 0) ); + streamMask >>= ntz; + idx += ntz; + + currentState.m_stream[idx].m_handle = draw.m_stream[idx].m_handle; } + + bindAttribs = true; } if (currentState.m_indexBuffer.idx != draw.m_indexBuffer.idx) @@ -7094,13 +7209,41 @@ namespace bgfx { namespace gl if (0 != currentState.m_streamMask) { - if (baseVertex != draw.m_stream[0].m_startVertex - || bindAttribs) + bool diffStartVertex = false; + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) + { + streamMask >>= ntz; + idx += ntz; + + if (currentState.m_stream[idx].m_startVertex != draw.m_stream[idx].m_startVertex) + { + diffStartVertex = true; + break; + } + } + + if (bindAttribs || diffStartVertex) { - baseVertex = draw.m_stream[0].m_startVertex; - const VertexBufferGL& vb = m_vertexBuffers[draw.m_stream[0].m_handle.idx]; - uint16_t decl = !isValid(vb.m_decl) ? draw.m_stream[0].m_decl.idx : vb.m_decl.idx; - program.bindAttributes(m_vertexDecls[decl], draw.m_stream[0].m_startVertex); + program.bindAttributesBegin(); + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) + { + streamMask >>= ntz; + idx += ntz; + + currentState.m_stream[idx].m_startVertex = draw.m_stream[idx].m_startVertex; + + const VertexBufferGL& vb = m_vertexBuffers[draw.m_stream[idx].m_handle.idx]; + uint16_t decl = !isValid(vb.m_decl) ? draw.m_stream[idx].m_decl.idx : vb.m_decl.idx; + GL_CHECK(glBindBuffer(GL_ARRAY_BUFFER, vb.m_id) ); + program.bindAttributes(m_vertexDecls[decl], draw.m_stream[idx].m_startVertex); + } + program.bindAttributesEnd(); if (isValid(draw.m_instanceDataBuffer) ) { @@ -7116,10 +7259,20 @@ namespace bgfx { namespace gl uint32_t numVertices = draw.m_numVertices; if (UINT32_MAX == numVertices) { - const VertexBufferGL& vb = m_vertexBuffers[currentState.m_stream[0].m_handle.idx]; - uint16_t decl = !isValid(vb.m_decl) ? draw.m_stream[0].m_decl.idx : vb.m_decl.idx; - const VertexDecl& vertexDecl = m_vertexDecls[decl]; - numVertices = vb.m_size/vertexDecl.m_stride; + for (uint32_t idx = 0, streamMask = draw.m_streamMask, ntz = bx::uint32_cnttz(streamMask) + ; 0 != streamMask + ; streamMask >>= 1, idx += 1, ntz = bx::uint32_cnttz(streamMask) + ) + { + streamMask >>= ntz; + idx += ntz; + + const VertexBufferGL& vb = m_vertexBuffers[draw.m_stream[idx].m_handle.idx]; + uint16_t decl = !isValid(vb.m_decl) ? draw.m_stream[idx].m_decl.idx : vb.m_decl.idx; + const VertexDecl& vertexDecl = m_vertexDecls[decl]; + + numVertices = bx::uint32_min(numVertices, vb.m_size/vertexDecl.m_stride); + } } uint32_t numIndices = 0; diff --git a/3rdparty/bgfx/src/renderer_gl.h b/3rdparty/bgfx/src/renderer_gl.h index 8dbb24fa2f7..4d9778a0c4d 100644 --- a/3rdparty/bgfx/src/renderer_gl.h +++ b/3rdparty/bgfx/src/renderer_gl.h @@ -1310,7 +1310,7 @@ namespace bgfx { namespace gl , m_num(0) , m_needPresent(false) { - memset(m_fbo, 0, sizeof(m_fbo) ); + bx::memSet(m_fbo, 0, sizeof(m_fbo) ); } void create(uint8_t _num, const Attachment* _attachment); @@ -1343,9 +1343,28 @@ namespace bgfx { namespace gl void create(const ShaderGL& _vsh, const ShaderGL& _fsh); void destroy(); void init(); - void bindAttributes(const VertexDecl& _vertexDecl, uint32_t _baseVertex = 0) const; void bindInstanceData(uint32_t _stride, uint32_t _baseVertex = 0) const; + void bindAttributesBegin() + { + bx::memCopy(m_unboundUsedAttrib, m_used, sizeof(m_unboundUsedAttrib) ); + } + + void bindAttributes(const VertexDecl& _vertexDecl, uint32_t _baseVertex = 0); + + void bindAttributesEnd() + { + for (uint32_t ii = 0, iiEnd = m_usedCount; ii < iiEnd; ++ii) + { + if (Attrib::Count != m_unboundUsedAttrib[ii]) + { + Attrib::Enum attr = Attrib::Enum(m_unboundUsedAttrib[ii]); + GLint loc = m_attributes[attr]; + GL_CHECK(glDisableVertexAttribArray(loc) ); + } + } + } + void add(uint32_t _hash) { m_vcref.add(_hash); @@ -1353,8 +1372,10 @@ namespace bgfx { namespace gl GLuint m_id; - uint8_t m_used[Attrib::Count+1]; // dense - GLint m_attributes[Attrib::Count]; // sparse + uint8_t m_unboundUsedAttrib[Attrib::Count]; // For tracking unbound used attributes between begin()/end(). + uint8_t m_usedCount; + uint8_t m_used[Attrib::Count]; // Dense. + GLint m_attributes[Attrib::Count]; // Sparse. GLint m_instanceData[BGFX_CONFIG_MAX_INSTANCE_DATA_COUNT+1]; GLint m_sampler[BGFX_CONFIG_MAX_TEXTURE_SAMPLERS]; @@ -1484,6 +1505,7 @@ namespace bgfx { namespace gl void begin(Frame* _render, OcclusionQueryHandle _handle); void end(); void resolve(Frame* _render, bool _wait = false); + void invalidate(OcclusionQueryHandle _handle); struct Query { diff --git a/3rdparty/bgfx/src/renderer_mtl.h b/3rdparty/bgfx/src/renderer_mtl.h index 4aca08a02dd..86893f70e4c 100644 --- a/3rdparty/bgfx/src/renderer_mtl.h +++ b/3rdparty/bgfx/src/renderer_mtl.h @@ -896,6 +896,7 @@ namespace bgfx { namespace mtl void begin(RenderCommandEncoder& _rce, Frame* _render, OcclusionQueryHandle _handle); void end(RenderCommandEncoder& _rce); void resolve(Frame* _render, bool _wait = false); + void invalidate(OcclusionQueryHandle _handle); struct Query { diff --git a/3rdparty/bgfx/src/renderer_mtl.mm b/3rdparty/bgfx/src/renderer_mtl.mm index 1c174970073..fbfcdf287f7 100644 --- a/3rdparty/bgfx/src/renderer_mtl.mm +++ b/3rdparty/bgfx/src/renderer_mtl.mm @@ -9,7 +9,6 @@ #include "renderer_mtl.h" #include "renderer.h" -#include "bx/bx.h" #if BX_PLATFORM_OSX # include @@ -371,8 +370,8 @@ namespace bgfx { namespace mtl BX_TRACE("Init."); m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); if (NULL != NSClassFromString(@"MTKView") ) { @@ -706,7 +705,7 @@ namespace bgfx { namespace mtl void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) BX_OVERRIDE { VertexDecl& decl = m_vertexDecls[_handle.idx]; - memcpy(&decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_decl, sizeof(VertexDecl) ); dump(decl); } @@ -892,7 +891,7 @@ namespace bgfx { namespace mtl uint32_t size = BX_ALIGN_16(g_uniformTypeSize[_type]*_num); void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, data); } @@ -905,17 +904,21 @@ namespace bgfx { namespace mtl } //cmdPre - void saveScreenShotPre(const char* _filePath) BX_OVERRIDE + void requestScreenShotPre(const char* _filePath) BX_OVERRIDE { BX_UNUSED(_filePath); m_saveScreenshot = true; } //cmdPost - void saveScreenShot(const char* _filePath) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle _handle, const char* _filePath) BX_OVERRIDE { + BX_UNUSED(_handle); + if (NULL == m_screenshotTarget) + { return; + } m_cmd.kick(false, true); m_commandBuffer = 0; @@ -956,7 +959,7 @@ namespace bgfx { namespace mtl void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* _marker, uint32_t /*_size*/) BX_OVERRIDE @@ -967,6 +970,11 @@ namespace bgfx { namespace mtl } } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + m_occlusionQuery.invalidate(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& _blitter) BX_OVERRIDE @@ -1302,7 +1310,7 @@ namespace bgfx { namespace mtl : m_uniformBufferVertexOffset ; uint8_t* dst = (uint8_t*)m_uniformBuffer.contents(); - memcpy(&dst[offset + _loc], _val, _numRegs*16); + bx::memCopy(&dst[offset + _loc], _val, _numRegs*16); } void setShaderUniform4f(uint8_t _flags, uint32_t _loc, const void* _val, uint32_t _numRegs) @@ -1342,7 +1350,7 @@ namespace bgfx { namespace mtl else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -1458,10 +1466,10 @@ namespace bgfx { namespace mtl for (uint32_t ii = 0; ii < numMrt; ++ii) { uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE-1, _clear.m_index[ii]); - memcpy(mrtClear[ii], _palette[index], 16); + bx::memCopy(mrtClear[ii], _palette[index], 16); } - memcpy((uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset, + bx::memCopy((uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset, mrtClear, bx::uint32_min(fragmentUniformBufferSize, sizeof(mrtClear))); } @@ -1475,7 +1483,7 @@ namespace bgfx { namespace mtl _clear.m_index[3]*1.0f/255.0f, }; - memcpy((uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset, + bx::memCopy((uint8_t*)m_uniformBuffer.contents() + m_uniformBufferFragmentOffset, rgba, bx::uint32_min(fragmentUniformBufferSize, sizeof(rgba))); } @@ -1689,7 +1697,6 @@ namespace bgfx { namespace mtl return _visible == (0 != _render->m_occlusion[_handle.idx]); } - BlitCommandEncoder getBlitCommandEncoder() { if ( m_blitCommandEncoder == NULL) @@ -1899,7 +1906,7 @@ namespace bgfx { namespace mtl } // get attributes - memset(m_attributes, 0xff, sizeof(m_attributes) ); + bx::memSet(m_attributes, 0xff, sizeof(m_attributes) ); uint32_t used = 0; uint32_t instUsed = 0; if (NULL != _vsh->m_function.m_obj ) @@ -1914,7 +1921,7 @@ namespace bgfx { namespace mtl for (uint8_t ii = 0; ii < Attrib::Count; ++ii) { - if (!strcmp(s_attribName[ii],name)) + if (0 == bx::strncmp(s_attribName[ii],name)) { m_attributes[ii] = loc; m_used[used++] = ii; @@ -1924,7 +1931,7 @@ namespace bgfx { namespace mtl for (uint32_t ii = 0; ii < BX_COUNTOF(s_instanceDataName); ++ii) { - if (!strcmp(s_instanceDataName[ii],name)) + if (0 == bx::strncmp(s_instanceDataName[ii],name)) { m_instanceData[instUsed++] = loc; } @@ -2199,7 +2206,7 @@ namespace bgfx { namespace mtl if (arg.active) { if (arg.type == MTLArgumentTypeBuffer - && 0 == strcmp(utf8String(arg.name), SHADER_UNIFORM_NAME) ) + && 0 == bx::strncmp(utf8String(arg.name), SHADER_UNIFORM_NAME) ) { BX_CHECK( arg.index == 0, "Uniform buffer must be in the buffer slot 0."); BX_CHECK( MTLDataTypeStruct == arg.bufferDataType, "%s's type must be a struct",SHADER_UNIFORM_NAME ); @@ -2333,7 +2340,7 @@ namespace bgfx { namespace mtl if ( m_dynamic && _discard ) { m_bufferIndex = (m_bufferIndex + 1) % MTL_MAX_FRAMES_IN_FLIGHT; - memcpy( (uint8_t*)getBuffer().contents() + _offset, _data, _size); + bx::memCopy( (uint8_t*)getBuffer().contents() + _offset, _data, _size); } else if ( NULL != s_renderMtl->m_renderCommandEncoder ) { @@ -2345,7 +2352,7 @@ namespace bgfx { namespace mtl { const void* oldContent = m_buffers[m_bufferIndex].contents(); m_buffers[m_bufferIndex] = s_renderMtl->m_device.newBufferWithBytes(oldContent, m_size, 0); - memcpy( (uint8_t*)m_buffers[m_bufferIndex].contents() + _offset, _data, _size); + bx::memCopy( (uint8_t*)m_buffers[m_bufferIndex].contents() + _offset, _data, _size); } } else @@ -2643,7 +2650,7 @@ namespace bgfx { namespace mtl for (uint32_t yy = 0; yy < _rect.m_height; ++yy, src += srcpitch, dst += dstpitch) { - memcpy(dst, src, rectpitch); + bx::memCopy(dst, src, rectpitch); } bce.copyFromBuffer( @@ -2929,18 +2936,35 @@ namespace bgfx { namespace mtl { Query& query = m_query[m_control.m_read]; - uint64_t result = ( (uint64_t*)m_buffer.contents() )[query.m_handle.idx]; - _render->m_occlusion[query.m_handle.idx] = 0 < result; + if (isValid(query.m_handle) ) + { + uint64_t result = ( (uint64_t*)m_buffer.contents() )[query.m_handle.idx]; + _render->m_occlusion[query.m_handle.idx] = int32_t(result); + } + m_control.consume(1); } } + void OcclusionQueryMTL::invalidate(OcclusionQueryHandle _handle) + { + const uint32_t size = m_control.m_size; + + for (uint32_t ii = 0, num = m_control.available(); ii < num; ++ii) + { + Query& query = m_query[(m_control.m_read + ii) % size]; + if (query.m_handle.idx == _handle.idx) + { + query.m_handle.idx = bgfx::invalidHandle; + } + } + } + void RendererContextMtl::submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE { m_cmd.finish(false); - - if ( m_commandBuffer == NULL ) + if (m_commandBuffer == NULL) { m_commandBuffer = m_cmd.alloc(); } @@ -2950,7 +2974,7 @@ namespace bgfx { namespace mtl m_gpuTimer.addHandlers(m_commandBuffer); - if ( m_blitCommandEncoder ) + if (m_blitCommandEncoder) { m_blitCommandEncoder.endEncoding(); m_blitCommandEncoder = 0; @@ -2958,18 +2982,19 @@ namespace bgfx { namespace mtl updateResolution(_render->m_resolution); - if ( m_saveScreenshot || NULL != m_capture ) + if (m_saveScreenshot + || NULL != m_capture) { - if ( m_screenshotTarget ) + if (m_screenshotTarget) { - if ( m_screenshotTarget.width() != m_resolution.m_width || - m_screenshotTarget.height() != m_resolution.m_height ) + if (m_screenshotTarget.width() != m_resolution.m_width + || m_screenshotTarget.height() != m_resolution.m_height) { MTL_RELEASE(m_screenshotTarget); } } - if ( NULL == m_screenshotTarget) + if (NULL == m_screenshotTarget) { m_textureDescriptor.textureType = MTLTextureType2D; m_textureDescriptor.pixelFormat = m_metalLayer.pixelFormat; @@ -2982,13 +3007,16 @@ namespace bgfx { namespace mtl if ( m_iOS9Runtime || m_macOS11Runtime ) { m_textureDescriptor.cpuCacheMode = MTLCPUCacheModeDefaultCache; - m_textureDescriptor.storageMode = (MTLStorageMode)(((BX_ENABLED(BX_PLATFORM_IOS)) ? 0 /* MTLStorageModeShared */ : 1 /*MTLStorageModeManaged*/) - ); - m_textureDescriptor.usage = MTLTextureUsageRenderTarget | MTLTextureUsageShaderRead; + m_textureDescriptor.storageMode = (MTLStorageMode)(BX_ENABLED(BX_PLATFORM_IOS) + ? 0 /* MTLStorageModeShared */ + : 1 /*MTLStorageModeManaged*/ + ); + m_textureDescriptor.usage = MTLTextureUsageRenderTarget | MTLTextureUsageShaderRead; } - m_screenshotTarget = m_device.newTextureWithDescriptor(m_textureDescriptor); + m_screenshotTarget = m_device.newTextureWithDescriptor(m_textureDescriptor); } + m_saveScreenshot = false; } else @@ -3416,7 +3444,7 @@ namespace bgfx { namespace mtl else { Rect scissorRect; - scissorRect.intersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect, _render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; diff --git a/3rdparty/bgfx/src/renderer_noop.cpp b/3rdparty/bgfx/src/renderer_noop.cpp index 4cc40185672..24fbfb4859d 100644 --- a/3rdparty/bgfx/src/renderer_noop.cpp +++ b/3rdparty/bgfx/src/renderer_noop.cpp @@ -177,7 +177,7 @@ namespace bgfx { namespace noop { } - void saveScreenShot(const char* /*_filePath*/) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle /*_handle*/, const char* /*_filePath*/) BX_OVERRIDE { } @@ -193,6 +193,10 @@ namespace bgfx { namespace noop { } + void invalidateOcclusionQuery(OcclusionQueryHandle /*_handle*/) BX_OVERRIDE + { + } + void submit(Frame* /*_render*/, ClearQuad& /*_clearQuad*/, TextVideoMemBlitter& /*_textVideoMemBlitter*/) BX_OVERRIDE { } diff --git a/3rdparty/bgfx/src/renderer_vk.cpp b/3rdparty/bgfx/src/renderer_vk.cpp index 7609b43d506..8e2f66c513f 100644 --- a/3rdparty/bgfx/src/renderer_vk.cpp +++ b/3rdparty/bgfx/src/renderer_vk.cpp @@ -726,8 +726,8 @@ VK_IMPORT_DEVICE ErrorState::Enum errorState = ErrorState::Default; m_fbh.idx = invalidHandle; - memset(m_uniforms, 0, sizeof(m_uniforms) ); - memset(&m_resolution, 0, sizeof(m_resolution) ); + bx::memSet(m_uniforms, 0, sizeof(m_uniforms) ); + bx::memSet(&m_resolution, 0, sizeof(m_resolution) ); bool imported = true; VkResult result; @@ -928,7 +928,7 @@ VK_IMPORT_INSTANCE vkGetPhysicalDeviceMemoryProperties(physicalDevices[ii], &pdmp); BX_TRACE("\tMemory type count: %d", pdmp.memoryTypeCount); - for (uint32_t jj = 0; jj < pdmp.memoryHeapCount; ++jj) + for (uint32_t jj = 0; jj < pdmp.memoryTypeCount; ++jj) { BX_TRACE("\t%3d: flags 0x%08x, index %d" , jj @@ -937,7 +937,7 @@ VK_IMPORT_INSTANCE ); } - BX_TRACE("\tMemory type count: %d", pdmp.memoryHeapCount); + BX_TRACE("\tMemory heap count: %d", pdmp.memoryHeapCount); for (uint32_t jj = 0; jj < pdmp.memoryHeapCount; ++jj) { char size[16]; @@ -1029,20 +1029,6 @@ VK_IMPORT_INSTANCE } vkGetPhysicalDeviceMemoryProperties(m_physicalDevice, &m_memoryProperties); - - for (uint32_t ii = 0, num = m_memoryProperties.memoryTypeCount; ii < num; ++ii) - { - const VkMemoryType& memoryType = m_memoryProperties.memoryTypes[ii]; - if (0 != (memoryType.propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) ) - { - m_memHostVisibleIdx = ii; - } - - if (0 != (memoryType.propertyFlags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) ) - { - m_memLocalVisibleIdx = ii; - } - } } { @@ -1462,7 +1448,9 @@ VK_IMPORT_DEVICE ma.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; ma.pNext = NULL; ma.allocationSize = mr.size; - ma.memoryTypeIndex = m_memLocalVisibleIdx; + ma.memoryTypeIndex = selectMemoryType(mr.memoryTypeBits + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + ); result = vkAllocateMemory(m_device , &ma , m_allocatorCb @@ -1634,14 +1622,6 @@ VK_IMPORT_DEVICE VkCommandBuffer commandBuffer = m_commandBuffers[0]; VK_CHECK(vkBeginCommandBuffer(commandBuffer, &cbbi) ); - VkClearValue clearValue[2]; - clearValue[0].color.float32[0] = 0.0f; - clearValue[0].color.float32[1] = 0.0f; - clearValue[0].color.float32[2] = 0.0f; - clearValue[0].color.float32[3] = 1.0f; - clearValue[1].depthStencil.depth = 0.0f; - clearValue[1].depthStencil.stencil = 0; - VkRenderPassBeginInfo rpbi; rpbi.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; rpbi.pNext = NULL; @@ -1649,8 +1629,8 @@ VK_IMPORT_DEVICE rpbi.renderArea.offset.x = 0; rpbi.renderArea.offset.y = 0; rpbi.renderArea.extent = m_sci.imageExtent; - rpbi.clearValueCount = BX_COUNTOF(clearValue); - rpbi.pClearValues = clearValue; + rpbi.clearValueCount = 0; + rpbi.pClearValues = NULL; setImageMemoryBarrier(commandBuffer , m_backBufferDepthStencilImage @@ -1969,7 +1949,7 @@ VK_IMPORT_DEVICE void createVertexDecl(VertexDeclHandle _handle, const VertexDecl& _decl) BX_OVERRIDE { VertexDecl& decl = m_vertexDecls[_handle.idx]; - memcpy(&decl, &_decl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_decl, sizeof(VertexDecl) ); dump(decl); } @@ -2098,7 +2078,7 @@ VK_IMPORT_DEVICE uint32_t size = BX_ALIGN_16(g_uniformTypeSize[_type] * _num); void* data = BX_ALLOC(g_allocator, size); - memset(data, 0, size); + bx::memSet(data, 0, size); m_uniforms[_handle.idx] = data; m_uniformReg.add(_handle, _name, data); } @@ -2109,7 +2089,7 @@ VK_IMPORT_DEVICE m_uniforms[_handle.idx] = NULL; } - void saveScreenShot(const char* /*_filePath*/) BX_OVERRIDE + void requestScreenShot(FrameBufferHandle /*_handle*/, const char* /*_filePath*/) BX_OVERRIDE { } @@ -2123,13 +2103,18 @@ VK_IMPORT_DEVICE void updateUniform(uint16_t _loc, const void* _data, uint32_t _size) BX_OVERRIDE { - memcpy(m_uniforms[_loc], _data, _size); + bx::memCopy(m_uniforms[_loc], _data, _size); } void setMarker(const char* /*_marker*/, uint32_t /*_size*/) BX_OVERRIDE { } + void invalidateOcclusionQuery(OcclusionQueryHandle _handle) BX_OVERRIDE + { + BX_UNUSED(_handle); + } + void submit(Frame* _render, ClearQuad& _clearQuad, TextVideoMemBlitter& _textVideoMemBlitter) BX_OVERRIDE; void blitSetup(TextVideoMemBlitter& /*_blitter*/) BX_OVERRIDE @@ -2224,12 +2209,12 @@ VK_IMPORT_DEVICE BX_UNUSED(_flags, _regIndex, _val, _numRegs); if (_flags&BGFX_UNIFORM_FRAGMENTBIT) { - memcpy(&m_fsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_fsScratch[_regIndex], _val, _numRegs*16); m_fsChanges += _numRegs; } else { - memcpy(&m_vsScratch[_regIndex], _val, _numRegs*16); + bx::memCopy(&m_vsScratch[_regIndex], _val, _numRegs*16); m_vsChanges += _numRegs; } } @@ -2257,12 +2242,12 @@ VK_IMPORT_DEVICE uint8_t* data = (uint8_t*)m_scratchBuffer[m_backBufferColorIdx].allocUbv(descriptorBufferInfo, total); uint32_t size = program.m_vsh->m_size; - memcpy(data, m_vsScratch, size); + bx::memCopy(data, m_vsScratch, size); data += size; if (NULL != program.m_fsh) { - memcpy(data, m_fsScratch, program.m_fsh->m_size); + bx::memCopy(data, m_fsScratch, program.m_fsh->m_size); } vkCmdBindDescriptorSets(_commandBuffer @@ -2446,7 +2431,7 @@ VK_IMPORT_DEVICE { for (uint32_t ii = 1; ii < numAttachments; ++ii) { - memcpy(&bas[ii], bas, sizeof(VkPipelineColorBlendAttachmentState) ); + bx::memCopy(&bas[ii], bas, sizeof(VkPipelineColorBlendAttachmentState) ); } } @@ -2530,7 +2515,7 @@ VK_IMPORT_DEVICE _vertexInputState.flags = 0; VertexDecl decl; - memcpy(&decl, &_vertexDecl, sizeof(VertexDecl) ); + bx::memCopy(&decl, &_vertexDecl, sizeof(VertexDecl) ); const uint16_t* attrMask = _program.m_vsh->m_attrMask; for (uint32_t ii = 0; ii < Attrib::Count; ++ii) @@ -2551,7 +2536,7 @@ VK_IMPORT_DEVICE uint32_t index = 7 - ii; // TEXCOORD7 = i_data0, TEXCOORD6 = i_data1, etc. BX_UNUSED(index); -// memcpy(curr, &inst, sizeof(D3D12_INPUT_ELEMENT_DESC) ); +// bx::memCopy(curr, &inst, sizeof(D3D12_INPUT_ELEMENT_DESC) ); // curr->InputSlot = 1; // curr->SemanticIndex = index; // curr->AlignedByteOffset = ii*16; @@ -2591,7 +2576,7 @@ VK_IMPORT_DEVICE _stencil &= packStencil(~BGFX_STENCIL_FUNC_REF_MASK, BGFX_STENCIL_MASK); VertexDecl decl; - memcpy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) ); + bx::memCopy(&decl, &m_vertexDecls[_declIdx], sizeof(VertexDecl) ); const uint16_t* attrMask = program.m_vsh->m_attrMask; for (uint32_t ii = 0; ii < Attrib::Count; ++ii) @@ -2806,7 +2791,7 @@ VK_IMPORT_DEVICE else { UniformHandle handle; - memcpy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); + bx::memCopy(&handle, _uniformBuffer.read(sizeof(UniformHandle) ), sizeof(UniformHandle) ); data = (const char*)m_uniforms[handle.idx]; } @@ -2879,7 +2864,6 @@ VK_IMPORT_DEVICE VkClearAttachment attachments[BGFX_CONFIG_MAX_FRAME_BUFFERS]; uint32_t mrt = 0; - attachments[mrt].aspectMask = 0; if (true //NULL != m_currentColor && BGFX_CLEAR_COLOR & _clear.m_flags) @@ -2891,7 +2875,7 @@ VK_IMPORT_DEVICE attachments[mrt].colorAttachment = mrt; attachments[mrt].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE-1, _clear.m_index[ii]); - memcpy(&attachments[mrt].clearValue.color.float32, _palette[index], 16); + bx::memCopy(&attachments[mrt].clearValue.color.float32, _palette[index], 16); ++mrt; } } @@ -2909,7 +2893,7 @@ VK_IMPORT_DEVICE { attachments[mrt].colorAttachment = mrt; attachments[mrt].aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - memcpy(&attachments[mrt].clearValue.color.float32, frgba, 16); + bx::memCopy(&attachments[mrt].clearValue.color.float32, frgba, 16); ++mrt; } } @@ -2919,6 +2903,7 @@ VK_IMPORT_DEVICE && (BGFX_CLEAR_DEPTH | BGFX_CLEAR_STENCIL) & _clear.m_flags) { attachments[mrt].colorAttachment = mrt; + attachments[mrt].aspectMask = 0; attachments[mrt].aspectMask |= (_clear.m_flags & BGFX_CLEAR_DEPTH ) ? VK_IMAGE_ASPECT_DEPTH_BIT : 0; attachments[mrt].aspectMask |= (_clear.m_flags & BGFX_CLEAR_STENCIL) ? VK_IMAGE_ASPECT_STENCIL_BIT : 0; @@ -2968,6 +2953,21 @@ VK_IMPORT_DEVICE // VK_CHECK(vkWaitForFences(m_device, 1, &m_fence, true, INT64_MAX) ); } + uint32_t selectMemoryType(uint32_t memoryTypeBits, uint32_t propertyFlags) + { + for (uint32_t ii = 0; ii < m_memoryProperties.memoryTypeCount; ++ii) + { + if ( ( ((1<m_memHostVisibleIdx; + ma.memoryTypeIndex = s_renderVK->selectMemoryType(mr.memoryTypeBits + , VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + ); VK_CHECK(vkAllocateMemory(device , &ma , allocatorCb @@ -3230,7 +3230,9 @@ VK_DESTROY ma.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; ma.pNext = NULL; ma.allocationSize = mr.size; - ma.memoryTypeIndex = s_renderVK->m_memLocalVisibleIdx; + ma.memoryTypeIndex = s_renderVK->selectMemoryType(mr.memoryTypeBits + , VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + ); result = vkAllocateMemory(device , &ma , allocatorCb @@ -3333,7 +3335,9 @@ VK_DESTROY ma.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; ma.pNext = NULL; ma.allocationSize = mr.size; - ma.memoryTypeIndex = s_renderVK->m_memHostVisibleIdx; + ma.memoryTypeIndex = s_renderVK->selectMemoryType(mr.memoryTypeBits + , VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + ); VK_CHECK(vkAllocateMemory(device , &ma , allocatorCb @@ -3344,7 +3348,7 @@ VK_DESTROY { void* dst; VK_CHECK(vkMapMemory(device, m_deviceMem, 0, ma.allocationSize, 0, &dst) ); - memcpy(dst, _data, _size); + bx::memCopy(dst, _data, _size); vkUnmapMemory(device, m_deviceMem); } @@ -3488,7 +3492,7 @@ VK_DESTROY } } - uint32_t shaderSize; + uint16_t shaderSize; bx::read(&reader, shaderSize); #if 1 @@ -3496,8 +3500,8 @@ VK_DESTROY bx::skip(&reader, shaderSize+1); m_code = alloc( ( (shaderSize+3)/4)*4); - memset(m_code->data, 0, m_code->size); - memcpy(m_code->data + bx::memSet(m_code->data, 0, m_code->size); + bx::memCopy(m_code->data , code , shaderSize+1 ); @@ -3510,7 +3514,7 @@ VK_DESTROY : sizeof(fs_cubes_spv) ; m_code = alloc(shaderSize); - memcpy(m_code->data + bx::memCopy(m_code->data , BGFX_CHUNK_MAGIC_VSH == magic ? vs_cubes_spv : fs_cubes_spv @@ -3526,7 +3530,7 @@ VK_DESTROY smci.pCode = (const uint32_t*)m_code->data; VK_CHECK(vkCreateShaderModule(s_renderVK->m_device, &smci, s_renderVK->m_allocatorCb, &m_module) ); - memset(m_attrMask, 0, sizeof(m_attrMask) ); + bx::memSet(m_attrMask, 0, sizeof(m_attrMask) ); m_attrMask[Attrib::Position] = UINT16_MAX; m_attrMask[Attrib::Color0] = UINT16_MAX; iohash = 0; @@ -3805,7 +3809,7 @@ BX_UNUSED(currentSamplerStateIdx); if (BGFX_CLEAR_NONE != clr.m_flags) { Rect clearRect = rect; - clearRect.intersect(rect, viewScissorRect); + clearRect.setIntersect(rect, viewScissorRect); clearQuad(clearRect, clr, _render->m_colorPalette); } @@ -4174,7 +4178,7 @@ BX_UNUSED(currentSamplerStateIdx); // } // else // { -// memcpy(&srvHandle[stage], &srvHandle[0], sizeof(D3D12_GPU_DESCRIPTOR_HANDLE) ); +// bx::memCopy(&srvHandle[stage], &srvHandle[0], sizeof(D3D12_GPU_DESCRIPTOR_HANDLE) ); // samplerFlags[stage] = 0; // } // } @@ -4261,7 +4265,7 @@ BX_UNUSED(currentSamplerStateIdx); { restoreScissor = true; Rect scissorRect; - scissorRect.intersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]); + scissorRect.setIntersect(viewScissorRect,_render->m_rectCache.m_cache[scissor]); if (scissorRect.isZeroArea() ) { continue; diff --git a/3rdparty/bgfx/src/renderer_vk.h b/3rdparty/bgfx/src/renderer_vk.h index bb4f0217c33..90c352b5940 100644 --- a/3rdparty/bgfx/src/renderer_vk.h +++ b/3rdparty/bgfx/src/renderer_vk.h @@ -398,14 +398,14 @@ VK_DESTROY { BX_CHECK(NULL != _vsh->m_code, "Vertex shader doesn't exist."); m_vsh = _vsh; - memcpy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform)); + bx::memCopy(&m_predefined[0], _vsh->m_predefined, _vsh->m_numPredefined*sizeof(PredefinedUniform)); m_numPredefined = _vsh->m_numPredefined; if (NULL != _fsh) { BX_CHECK(NULL != _fsh->m_code, "Fragment shader doesn't exist."); m_fsh = _fsh; - memcpy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform)); + bx::memCopy(&m_predefined[m_numPredefined], _fsh->m_predefined, _fsh->m_numPredefined*sizeof(PredefinedUniform)); m_numPredefined += _fsh->m_numPredefined; } } diff --git a/3rdparty/bgfx/src/shader_dx9bc.cpp b/3rdparty/bgfx/src/shader_dx9bc.cpp index 7aea51fbf05..b3f7c43ba94 100644 --- a/3rdparty/bgfx/src/shader_dx9bc.cpp +++ b/3rdparty/bgfx/src/shader_dx9bc.cpp @@ -749,7 +749,7 @@ namespace bgfx uint8_t* data = (uint8_t*)mb.more(); uint32_t size = uint32_t(bx::getSize(&writer) ); _dst.byteCode.reserve(size); - memcpy(_dst.byteCode.data(), data, size); + bx::memCopy(_dst.byteCode.data(), data, size); } } // namespace bgfx diff --git a/3rdparty/bgfx/src/shader_dxbc.cpp b/3rdparty/bgfx/src/shader_dxbc.cpp index 3ca8c73dfa0..b73b215a325 100644 --- a/3rdparty/bgfx/src/shader_dxbc.cpp +++ b/3rdparty/bgfx/src/shader_dxbc.cpp @@ -730,21 +730,21 @@ namespace bgfx } uint32_t last[16]; - memset(last, 0, sizeof(last) ); + bx::memSet(last, 0, sizeof(last) ); const uint32_t remaining = _size & 0x3f; if (remaining >= 56) { - memcpy(&last[0], data, remaining); + bx::memCopy(&last[0], data, remaining); last[remaining/4] = 0x80; dxbcHashBlock(last, hash); - memset(&last[1], 0, 56); + bx::memSet(&last[1], 0, 56); } else { - memcpy(&last[1], data, remaining); + bx::memCopy(&last[1], data, remaining); last[1 + remaining/4] = 0x80; } @@ -752,7 +752,7 @@ namespace bgfx last[15] = _size * 2 + 1; dxbcHashBlock(last, hash); - memcpy(_digest, hash, 16); + bx::memCopy(_digest, hash, 16); } int32_t read(bx::ReaderI* _reader, DxbcSubOperand& _subOperand, bx::Error* _err) @@ -1928,7 +1928,7 @@ namespace bgfx uint8_t* data = (uint8_t*)mb.more(); uint32_t size = uint32_t(bx::getSize(&writer) ); _dst.byteCode.reserve(size); - memcpy(_dst.byteCode.data(), data, size); + bx::memCopy(_dst.byteCode.data(), data, size); } } // namespace bgfx diff --git a/3rdparty/bgfx/src/topology.cpp b/3rdparty/bgfx/src/topology.cpp index 3123d62fb05..2804bc7ddf4 100644 --- a/3rdparty/bgfx/src/topology.cpp +++ b/3rdparty/bgfx/src/topology.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include "config.h" diff --git a/3rdparty/bgfx/src/vertexdecl.cpp b/3rdparty/bgfx/src/vertexdecl.cpp index 70c3aafc67f..a2d88a4ff84 100644 --- a/3rdparty/bgfx/src/vertexdecl.cpp +++ b/3rdparty/bgfx/src/vertexdecl.cpp @@ -3,11 +3,10 @@ * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ -#include #include #include #include -#include +#include #include #include @@ -74,8 +73,8 @@ namespace bgfx { m_hash = _renderer; // use hash to store renderer type while building VertexDecl. m_stride = 0; - memset(m_attributes, 0xff, sizeof(m_attributes) ); - memset(m_offset, 0, sizeof(m_offset) ); + bx::memSet(m_attributes, 0xff, sizeof(m_attributes) ); + bx::memSet(m_offset, 0, sizeof(m_offset) ); return *this; } @@ -513,7 +512,7 @@ namespace bgfx break; case AttribType::Float: - memcpy(data, _input, num*sizeof(float) ); + bx::memCopy(data, _input, num*sizeof(float) ); break; } } @@ -522,7 +521,7 @@ namespace bgfx { if (!_decl.has(_attr) ) { - memset(_output, 0, 4*sizeof(float) ); + bx::memSet(_output, 0, 4*sizeof(float) ); return; } @@ -630,7 +629,7 @@ namespace bgfx break; case AttribType::Float: - memcpy(_output, data, num*sizeof(float) ); + bx::memCopy(_output, data, num*sizeof(float) ); _output += num; break; } @@ -648,7 +647,7 @@ namespace bgfx { if (_destDecl.m_hash == _srcDecl.m_hash) { - memcpy(_destData, _srcData, _srcDecl.getSize(_num) ); + bx::memCopy(_destData, _srcData, _srcDecl.getSize(_num) ); return; } @@ -721,11 +720,11 @@ namespace bgfx switch (cop.op) { case ConvertOp::Set: - memset(dest + cop.dest, 0, cop.size); + bx::memSet(dest + cop.dest, 0, cop.size); break; case ConvertOp::Copy: - memcpy(dest + cop.dest, src + cop.src, cop.size); + bx::memCopy(dest + cop.dest, src + cop.src, cop.size); break; case ConvertOp::Convert: @@ -755,7 +754,7 @@ namespace bgfx const float epsilonSq = _epsilon*_epsilon; uint32_t numVertices = 0; - memset(_output, 0xff, _num*sizeof(uint16_t) ); + bx::memSet(_output, 0xff, _num*sizeof(uint16_t) ); for (uint32_t ii = 0; ii < _num; ++ii) { @@ -800,7 +799,7 @@ namespace bgfx const uint32_t size = sizeof(uint16_t)*(hashSize + _num); uint16_t* hashTable = (uint16_t*)alloca(size); - memset(hashTable, 0xff, size); + bx::memSet(hashTable, 0xff, size); uint16_t* next = hashTable + hashSize; diff --git a/3rdparty/bgfx/tools/shaderc/shaderc.cpp b/3rdparty/bgfx/tools/shaderc/shaderc.cpp index 114ce602cc1..57934b5c632 100644 --- a/3rdparty/bgfx/tools/shaderc/shaderc.cpp +++ b/3rdparty/bgfx/tools/shaderc/shaderc.cpp @@ -25,9 +25,14 @@ namespace bgfx "texture2DLod", "texture2DArrayLod", // BK - interacts with ARB_texture_array. "texture2DProjLod", + "texture2DGrad", + "texture2DProjGrad", "texture3DLod", "texture3DProjLod", + "texture3DGrad", + "texture3DProjGrad", "textureCubeLod", + "textureCubeGrad", "shadow2DLod", "shadow2DProjLod", NULL @@ -37,6 +42,17 @@ namespace bgfx // "shadow1DProjLod", }; + static const char* s_EXT_shader_texture_lod[] = + { + "texture2DLod", + "texture2DProjLod", + "textureCubeLod", + "texture2DGrad", + "texture2DProjGrad", + "textureCubeGrad", + NULL + }; + static const char* s_EXT_shadow_samplers[] = { "shadow2D", @@ -347,28 +363,28 @@ namespace bgfx char* strInsert(char* _str, const char* _insert) { - size_t len = strlen(_insert); - memmove(&_str[len], _str, strlen(_str) ); - memcpy(_str, _insert, len); + uint32_t len = bx::strnlen(_insert); + bx::memMove(&_str[len], _str, bx::strnlen(_str) ); + bx::memCopy(_str, _insert, len); return _str + len; } void strReplace(char* _str, const char* _find, const char* _replace) { - const size_t len = strlen(_find); + const int32_t len = bx::strnlen(_find); char* replace = (char*)alloca(len+1); bx::strlcpy(replace, _replace, len+1); - for (size_t ii = strlen(replace); ii < len; ++ii) + for (int32_t ii = bx::strnlen(replace); ii < len; ++ii) { replace[ii] = ' '; } replace[len] = '\0'; - BX_CHECK(len >= strlen(_replace), ""); - for (char* ptr = strstr(_str, _find); NULL != ptr; ptr = strstr(ptr + len, _find) ) + BX_CHECK(len >= bx::strnlen(_replace), ""); + for (const char* ptr = bx::strnstr(_str, _find); NULL != ptr; ptr = bx::strnstr(ptr + len, _find) ) { - memcpy(ptr, replace, len); + bx::memCopy(const_cast(ptr), replace, len); } } @@ -529,7 +545,7 @@ namespace bgfx m_input = m_default; m_input += "\n\n"; - size_t len = strlen(_input)+1; + int32_t len = bx::strnlen(_input)+1; char* temp = new char[len]; bx::eolLF(temp, len, _input); m_input += temp; @@ -579,7 +595,7 @@ namespace bgfx static void fppOutput(int _ch, void* _userData) { Preprocessor* thisClass = (Preprocessor*)_userData; - thisClass->m_preprocessed += _ch; + thisClass->m_preprocessed += char(_ch); } static void fppError(void* /*_userData*/, char* _format, va_list _vargs) @@ -992,7 +1008,7 @@ namespace bgfx preprocessor.setDefine("M_PI=3.1415926535897932384626433832795"); - char shaderType = tolower(type[0]); + char shaderType = bx::toLower(type[0]); switch (shaderType) { case 'c': @@ -1834,9 +1850,12 @@ namespace bgfx { std::string code; + const bool usesTextureLod = false + || !!bx::findIdentifierMatch(input, s_ARB_shader_texture_lod) + || !!bx::findIdentifierMatch(input, s_EXT_shader_texture_lod) + ; const bool usesGpuShader5 = !!bx::findIdentifierMatch(input, s_ARB_gpu_shader5); const bool usesTexelFetch = !!bx::findIdentifierMatch(input, s_texelFetch); - const bool usesTextureLod = !!bx::findIdentifierMatch(input, s_ARB_shader_texture_lod /*EXT_shader_texture_lod*/); const bool usesTextureMS = !!bx::findIdentifierMatch(input, s_ARB_texture_multisample); const bool usesTextureArray = !!bx::findIdentifierMatch(input, s_textureArray); const bool usesPacking = !!bx::findIdentifierMatch(input, s_ARB_shading_language_packing); @@ -1871,12 +1890,26 @@ namespace bgfx ); } - if (usesTextureLod - && 130 > glsl) + bool ARB_shader_texture_lod = false; + bool EXT_shader_texture_lod = false; + + if (usesTextureLod) { - bx::stringPrintf(code - , "#extension GL_ARB_shader_texture_lod : enable\n" - ); + if ( (0 != metal || 130 > glsl) + && 'f' == shaderType) + { + ARB_shader_texture_lod = true; + bx::stringPrintf(code + , "#extension GL_ARB_shader_texture_lod : enable\n" + ); + } + else + { + EXT_shader_texture_lod = true; + bx::stringPrintf(code + , "#extension GL_EXT_shader_texture_lod : enable\n" + ); + } } if (usesTextureMS) @@ -1896,10 +1929,29 @@ namespace bgfx if (130 > glsl) { bx::stringPrintf(code, - "#define ivec2 vec2\n" - "#define ivec3 vec3\n" - "#define ivec4 vec4\n" - ); + "#define ivec2 vec2\n" + "#define ivec3 vec3\n" + "#define ivec4 vec4\n" + ); + } + + if (ARB_shader_texture_lod) + { + bx::stringPrintf(code, + "#define texture2DProjLod texture2DProjLodARB\n" + "#define texture2DGrad texture2DGradARB\n" + "#define texture2DProjGrad texture2DProjGradARB\n" + "#define textureCubeGrad textureCubeGradARB\n" + ); + } + else if (EXT_shader_texture_lod) + { + bx::stringPrintf(code, + "#define texture2DProjLod texture2DProjLodEXT\n" + "#define texture2DGrad texture2DGradEXT\n" + "#define texture2DProjGrad texture2DProjGradEXT\n" + "#define textureCubeGrad textureCubeGradEXT\n" + ); } bx::stringPrintf(code @@ -1915,12 +1967,12 @@ namespace bgfx { bx::stringPrintf(code , "#extension GL_EXT_shader_texture_lod : enable\n" - "#define texture2DLod texture2DLodEXT\n" - "#define texture2DProjLod texture2DProjLodEXT\n" - "#define textureCubeLod textureCubeLodEXT\n" - // "#define texture2DGrad texture2DGradEXT\n" - // "#define texture2DProjGrad texture2DProjGradEXT\n" - // "#define textureCubeGrad textureCubeGradEXT\n" + "#define texture2DLod texture2DLodEXT\n" + "#define texture2DGrad texture2DGradEXT\n" + "#define texture2DProjLod texture2DProjLodEXT\n" + "#define texture2DProjGrad texture2DProjGradEXT\n" + "#define textureCubeLod textureCubeLodEXT\n" + "#define textureCubeGrad textureCubeGradEXT\n" ); } diff --git a/3rdparty/bgfx/tools/shaderc/shaderc_glsl.cpp b/3rdparty/bgfx/tools/shaderc/shaderc_glsl.cpp index 9356b8a0a79..10ab449c037 100644 --- a/3rdparty/bgfx/tools/shaderc/shaderc_glsl.cpp +++ b/3rdparty/bgfx/tools/shaderc/shaderc_glsl.cpp @@ -73,19 +73,28 @@ namespace bgfx { namespace glsl optimizedShader = bx::strnl(optimizedShader); } - if (0 != _version) { char* code = const_cast(optimizedShader); strReplace(code, "gl_FragDepthEXT", "gl_FragDepth"); + strReplace(code, "texture2DLodARB", "texture2DLod"); strReplace(code, "texture2DLodEXT", "texture2DLod"); - strReplace(code, "texture2DProjLodEXT", "texture2DProjLod"); - strReplace(code, "textureCubeLodEXT", "textureCubeLod"); + strReplace(code, "texture2DGradARB", "texture2DGrad"); strReplace(code, "texture2DGradEXT", "texture2DGrad"); - strReplace(code, "texture2DProjGradEXT", "texture2DProjGrad"); + + strReplace(code, "textureCubeLodARB", "textureCubeLod"); + strReplace(code, "textureCubeLodEXT", "textureCubeLod"); + strReplace(code, "textureCubeGradARB", "textureCubeGrad"); strReplace(code, "textureCubeGradEXT", "textureCubeGrad"); + strReplace(code, "texture2DProjLodARB", "texture2DProjLod"); + strReplace(code, "texture2DProjLodEXT", "texture2DProjLod"); + strReplace(code, "texture2DProjGradARB", "texture2DProjGrad"); + strReplace(code, "texture2DProjGradEXT", "texture2DProjGrad"); + + strReplace(code, "shadow2DARB", "shadow2D"); strReplace(code, "shadow2DEXT", "shadow2D"); + strReplace(code, "shadow2DProjARB", "shadow2DProj"); strReplace(code, "shadow2DProjEXT", "shadow2DProj"); } @@ -214,8 +223,8 @@ namespace bgfx { namespace glsl bx::strlcpy(uniformName, name, array-name+1); char arraySize[32]; - const char* end = bx::strnstr(array, "]", eol-array); - bx::strlcpy(arraySize, array+1, end-array); + const char* arrayEnd = bx::strnstr(array, "]", eol-array); + bx::strlcpy(arraySize, array+1, arrayEnd-array); num = uint8_t(atoi(arraySize) ); } else @@ -251,7 +260,7 @@ namespace bgfx { namespace glsl uint8_t nameSize = (uint8_t)un.name.size(); bx::write(_writer, nameSize); bx::write(_writer, un.name.c_str(), nameSize); - uint8_t uniformType = un.type; + uint8_t uniformType = uint8_t(un.type); bx::write(_writer, uniformType); bx::write(_writer, un.num); bx::write(_writer, un.regIndex); diff --git a/3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp b/3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp index 962657906ff..24bf9dc2464 100644 --- a/3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp +++ b/3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp @@ -421,7 +421,7 @@ namespace bgfx { namespace hlsl , spd.Register ); - const RemapInputSemantic& ris = findInputSemantic(spd.SemanticName, spd.SemanticIndex); + const RemapInputSemantic& ris = findInputSemantic(spd.SemanticName, uint8_t(spd.SemanticIndex) ); if (ris.m_attr != bgfx::Attrib::Count) { _attrs[_numAttrs] = bgfx::attribToId(ris.m_attr); @@ -475,8 +475,8 @@ namespace bgfx { namespace hlsl Uniform un; un.name = varDesc.Name; un.type = uniformType; - un.num = constDesc.Elements; - un.regIndex = varDesc.StartOffset; + un.num = uint8_t(constDesc.Elements); + un.regIndex = uint16_t(varDesc.StartOffset); un.regCount = BX_ALIGN_16(varDesc.Size) / 16; _uniforms.push_back(un); @@ -527,8 +527,8 @@ namespace bgfx { namespace hlsl un.name.assign(bindDesc.Name, (end - bindDesc.Name) ); un.type = UniformType::Enum(BGFX_UNIFORM_SAMPLERBIT | UniformType::Int1); un.num = 1; - un.regIndex = bindDesc.BindPoint; - un.regCount = bindDesc.BindCount; + un.regIndex = uint16_t(bindDesc.BindPoint); + un.regCount = uint16_t(bindDesc.BindCount); _uniforms.push_back(un); } } @@ -714,7 +714,7 @@ namespace bgfx { namespace hlsl uint8_t nameSize = (uint8_t)un.name.size(); bx::write(_writer, nameSize); bx::write(_writer, un.name.c_str(), nameSize); - uint8_t type = un.type | fragmentBit; + uint8_t type = uint8_t(un.type | fragmentBit); bx::write(_writer, type); bx::write(_writer, un.num); bx::write(_writer, un.regIndex); diff --git a/3rdparty/bgfx/tools/shaderc/shaderc_spirv.cpp b/3rdparty/bgfx/tools/shaderc/shaderc_spirv.cpp index 502edddab12..517192e2078 100644 --- a/3rdparty/bgfx/tools/shaderc/shaderc_spirv.cpp +++ b/3rdparty/bgfx/tools/shaderc/shaderc_spirv.cpp @@ -8,6 +8,7 @@ BX_PRAGMA_DIAGNOSTIC_PUSH() BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4100) // error C4100: 'inclusionDepth' : unreferenced formal parameter BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4265) // error C4265: 'spv::spirvbin_t': class has virtual functions, but destructor is not virtual +BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG_GCC("-Wshadow") // warning: declaration of 'userData' shadows a member of 'glslang::TShader::Includer::IncludeResult' #include #include #include @@ -538,10 +539,9 @@ namespace bgfx { namespace spirv { case 'c': return EShLangCompute; case 'f': return EShLangFragment; - default: break; + case 'v': return EShLangVertex; + default: return EShLangCount; } - - return EShLangVertex; } // static void printError(spv_message_level_t, const char*, const spv_position_t&, const char* _message) @@ -553,10 +553,10 @@ namespace bgfx { namespace spirv { BX_UNUSED(_cmdLine, _version, _code, _writer); - const char* profile = _cmdLine.findOption('p', "profile"); - if (NULL == profile) + const char* type = _cmdLine.findOption('\0', "type"); + if (NULL == type) { - fprintf(stderr, "Error: Shader profile must be specified.\n"); + fprintf(stderr, "Error: Shader type must be specified.\n"); return false; } @@ -564,7 +564,12 @@ namespace bgfx { namespace spirv glslang::TProgram* program = new glslang::TProgram; - EShLanguage stage = getLang(profile[0]); + EShLanguage stage = getLang(type[0]); + if (EShLangCount == stage) + { + fprintf(stderr, "Error: Unknown shader type %s.\n", type); + return false; + } glslang::TShader* shader = new glslang::TShader(stage); EShMessages messages = EShMessages(0 @@ -574,14 +579,12 @@ namespace bgfx { namespace spirv | EShMsgSpvRules ); - const char* shaderStrings[] = { _code.c_str() }; - const char* shaderNames[] = { "" }; + shader->setEntryPoint("main"); - shader->setStringsWithLengthsAndNames( + const char* shaderStrings[] = { _code.c_str() }; + shader->setStrings( shaderStrings - , NULL - , shaderNames - , BX_COUNTOF(shaderNames) + , BX_COUNTOF(shaderStrings) ); bool compiled = shader->parse(&resourceLimits , 110 @@ -645,12 +648,59 @@ namespace bgfx { namespace spirv } else { -// program->buildReflection(); -// fprintf(stderr, "attributes %d, uniforms %d\n" -// , program->getNumLiveAttributes() -// , program->getNumLiveUniformVariables() -// ); -// program->dumpReflection(); + program->buildReflection(); + { + uint16_t count = (uint16_t)program->getNumLiveUniformVariables(); + bx::write(_writer, count); + + uint32_t fragmentBit = type[0] == 'f' ? BGFX_UNIFORM_FRAGMENTBIT : 0; + for (uint16_t ii = 0; ii < count; ++ii) + { + Uniform un; + un.name = program->getUniformName(ii); + switch (program->getUniformType(ii)) + { + case 0x1404: // GL_INT: + un.type = UniformType::Int1; + break; + case 0x8B52: // GL_FLOAT_VEC4: + un.type = UniformType::Vec4; + break; + case 0x8B5B: // GL_FLOAT_MAT3: + un.type = UniformType::Mat3; + break; + case 0x8B5C: // GL_FLOAT_MAT4: + un.type = UniformType::Mat4; + break; + default: + un.type = UniformType::End; + break; + } + un.num = uint8_t(program->getUniformArraySize(ii) ); + un.regIndex = 0; + un.regCount = un.num; + + uint8_t nameSize = (uint8_t)un.name.size(); + bx::write(_writer, nameSize); + bx::write(_writer, un.name.c_str(), nameSize); + bx::write(_writer, uint8_t(un.type | fragmentBit)); + bx::write(_writer, un.num); + bx::write(_writer, un.regIndex); + bx::write(_writer, un.regCount); + + BX_TRACE("%s, %s, %d, %d, %d" + , un.name.c_str() + , getUniformTypeName(un.type) + , un.num + , un.regIndex + , un.regCount + ); + } + } + if (g_verbose) + { + program->dumpReflection(); + } BX_UNUSED(spv::MemorySemanticsAllMemory); diff --git a/3rdparty/bgfx/tools/texturec/texturec.cpp b/3rdparty/bgfx/tools/texturec/texturec.cpp index e1c60ca1da4..6fcb3f13c3d 100644 --- a/3rdparty/bgfx/tools/texturec/texturec.cpp +++ b/3rdparty/bgfx/tools/texturec/texturec.cpp @@ -3,14 +3,14 @@ * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ -#include -#include -#include +#include +#include +#include -// Just hacking DDS loading code in here. -#include "bgfx_p.h" +#include #include "image.h" + #include #include #include @@ -78,29 +78,6 @@ BX_PRAGMA_DIAGNOSTIC_POP() namespace bgfx { - const Memory* alloc(uint32_t _size) - { - Memory* mem = (Memory*)::realloc(NULL, sizeof(Memory) + _size); - mem->size = _size; - mem->data = (uint8_t*)mem + sizeof(Memory); - return mem; - } - - const Memory* makeRef(const void* _data, uint32_t _size, ReleaseFn _releaseFn, void* _userData) - { - BX_UNUSED(_releaseFn, _userData); - Memory* mem = (Memory*)::realloc(NULL, sizeof(Memory) ); - mem->size = _size; - mem->data = (uint8_t*)_data; - return mem; - } - - void release(const Memory* _mem) - { - Memory* mem = const_cast(_mem); - ::free(mem); - } - bool imageParse(ImageContainer& _imageContainer, const void* _data, uint32_t _size, void** _out) { *_out = NULL; @@ -328,10 +305,10 @@ namespace bgfx return true; default: - return imageConvert(_dst, format, _src, TextureFormat::RGBA8, _width, _height); + break; } - return false; + return imageConvert(_dst, format, _src, TextureFormat::RGBA8, _width, _height); } bool imageEncodeFromRgba32f(bx::AllocatorI* _allocator, void* _dst, const void* _src, uint32_t _width, uint32_t _height, uint8_t _format) @@ -384,10 +361,10 @@ namespace bgfx return true; default: - return imageConvert(_dst, format, _src, TextureFormat::RGBA32F, _width, _height); + break; } - return false; + return imageConvert(_dst, format, _src, TextureFormat::RGBA32F, _width, _height); } void imageRgba32f11to01(void* _dst, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _src) @@ -570,6 +547,10 @@ int main(int _argc, const char* _argv[]) } BX_UNUSED(sdf, edge); + const bool mips = cmdLine.hasArg('m', "mips"); + const bool normalMap = cmdLine.hasArg('n', "normalmap"); + const bool iqa = cmdLine.hasArg('\0', "iqa"); + bx::CrtFileReader reader; if (!bx::open(&reader, inputFileName) ) { @@ -577,35 +558,33 @@ int main(int _argc, const char* _argv[]) return EXIT_FAILURE; } - const bool mips = cmdLine.hasArg('m', "mips"); - const bool normalMap = cmdLine.hasArg('n', "normalmap"); - const bool iqa = cmdLine.hasArg('\0', "iqa"); + bx::CrtAllocator allocator; - const bgfx::Memory* mem; - { - uint32_t size = (uint32_t)bx::getSize(&reader); - mem = bgfx::alloc(size); - bx::read(&reader, mem->data, mem->size); - bx::close(&reader); - } + uint32_t inputSize = (uint32_t)bx::getSize(&reader); + uint8_t* inputData = (uint8_t*)BX_ALLOC(&allocator, inputSize); + + bx::read(&reader, inputData, inputSize); + bx::close(&reader); { using namespace bgfx; uint8_t* decodedImage = NULL; - ImageContainer imageContainer; + ImageContainer input; - bool loaded = imageParse(imageContainer, mem->data, mem->size, (void**)&decodedImage); + bool loaded = imageParse(input, inputData, inputSize, (void**)&decodedImage); if (NULL != decodedImage) { - release(mem); - mem = makeRef(imageContainer.m_data, imageContainer.m_size); + BX_FREE(&allocator, inputData); + + inputData = (uint8_t*)input.m_data; + inputSize = input.m_size; } if (loaded) { const char* type = cmdLine.findOption('t'); - bgfx::TextureFormat::Enum format = imageContainer.m_format; + bgfx::TextureFormat::Enum format = input.m_format; if (NULL != type) { @@ -618,11 +597,10 @@ int main(int _argc, const char* _argv[]) } } - bx::CrtAllocator allocator; - const Memory* output = NULL; + ImageContainer* output = NULL; ImageMip mip; - if (imageGetRawData(imageContainer, 0, 0, mem->data, mem->size, mip) ) + if (imageGetRawData(input, 0, 0, inputData, inputSize, mip) ) { uint8_t numMips = mips ? imageGetNumMips(format, mip.m_width, mip.m_height) @@ -633,10 +611,10 @@ int main(int _argc, const char* _argv[]) if (normalMap) { - output = imageAlloc(imageContainer, format, mip.m_width, mip.m_height, 0, 1, false, mips); + output = imageAlloc(&allocator, format, mip.m_width, mip.m_height, 0, 1, false, mips); ImageMip dstMip; - imageGetRawData(imageContainer, 0, 0, NULL, 0, dstMip); + imageGetRawData(*output, 0, 0, NULL, 0, dstMip); if (mip.m_width != dstMip.m_width && mip.m_height != dstMip.m_height) @@ -651,7 +629,16 @@ int main(int _argc, const char* _argv[]) return EXIT_FAILURE; } - uint32_t size = imageGetSize(TextureFormat::RGBA32F, dstMip.m_width, dstMip.m_height); + uint32_t size = imageGetSize( + NULL + , dstMip.m_width + , dstMip.m_height + , 0 + , false + , false + , 1 + , TextureFormat::RGBA32F + ); temp = BX_ALLOC(&allocator, size); float* rgba = (float*)temp; float* rgbaDst = (float*)BX_ALLOC(&allocator, size); @@ -682,25 +669,25 @@ int main(int _argc, const char* _argv[]) } imageRgba32f11to01(rgbaDst, dstMip.m_width, dstMip.m_height, dstMip.m_width*16, rgba); - imageEncodeFromRgba32f(&allocator, output->data, rgbaDst, dstMip.m_width, dstMip.m_height, format); + imageEncodeFromRgba32f(&allocator, output->m_data, rgbaDst, dstMip.m_width, dstMip.m_height, format); for (uint8_t lod = 1; lod < numMips; ++lod) { imageRgba32fDownsample2x2NormalMap(rgba, dstMip.m_width, dstMip.m_height, dstMip.m_width*16, rgba); imageRgba32f11to01(rgbaDst, dstMip.m_width, dstMip.m_height, dstMip.m_width*16, rgba); - imageGetRawData(imageContainer, 0, lod, output->data, output->size, dstMip); + imageGetRawData(*output, 0, lod, output->m_data, output->m_size, dstMip); uint8_t* data = const_cast(dstMip.m_data); imageEncodeFromRgba32f(&allocator, data, rgbaDst, dstMip.m_width, dstMip.m_height, format); } BX_FREE(&allocator, rgbaDst); } - else if (8 != getBlockInfo(imageContainer.m_format).rBits) + else if (8 != getBlockInfo(input.m_format).rBits) { - output = imageAlloc(imageContainer, format, mip.m_width, mip.m_height, 0, 1, false, mips); + output = imageAlloc(&allocator, format, mip.m_width, mip.m_height, 0, 1, false, mips); ImageMip dstMip; - imageGetRawData(imageContainer, 0, 0, NULL, 0, dstMip); + imageGetRawData(*output, 0, 0, NULL, 0, dstMip); if (mip.m_width != dstMip.m_width && mip.m_height != dstMip.m_height) @@ -715,7 +702,16 @@ int main(int _argc, const char* _argv[]) return EXIT_FAILURE; } - uint32_t size = imageGetSize(TextureFormat::RGBA32F, dstMip.m_width, dstMip.m_height); + uint32_t size = imageGetSize( + NULL + , dstMip.m_width + , dstMip.m_height + , 0 + , false + , false + , 1 + , TextureFormat::RGBA32F + ); temp = BX_ALLOC(&allocator, size); float* rgba = (float*)temp; float* rgbaDst = (float*)BX_ALLOC(&allocator, size); @@ -728,7 +724,7 @@ int main(int _argc, const char* _argv[]) , mip.m_width*mip.m_bpp/8 , mip.m_format ); - imageEncodeFromRgba32f(&allocator, output->data, rgba, dstMip.m_width, dstMip.m_height, format); + imageEncodeFromRgba32f(&allocator, output->m_data, rgba, dstMip.m_width, dstMip.m_height, format); imageRgba32fToLinear(rgba , mip.m_width @@ -740,7 +736,7 @@ int main(int _argc, const char* _argv[]) for (uint8_t lod = 1; lod < numMips; ++lod) { imageRgba32fLinearDownsample2x2(rgba, dstMip.m_width, dstMip.m_height, dstMip.m_width*16, rgba); - imageGetRawData(imageContainer, 0, lod, output->data, output->size, dstMip); + imageGetRawData(*output, 0, lod, output->m_data, output->m_size, dstMip); uint8_t* data = const_cast(dstMip.m_data); imageRgba32fToGamma(rgbaDst @@ -757,10 +753,10 @@ int main(int _argc, const char* _argv[]) } else { - output = imageAlloc(imageContainer, format, mip.m_width, mip.m_height, 0, 1, false, mips); + output = imageAlloc(&allocator, format, mip.m_width, mip.m_height, 0, 1, false, mips); ImageMip dstMip; - imageGetRawData(imageContainer, 0, 0, NULL, 0, dstMip); + imageGetRawData(*output, 0, 0, NULL, 0, dstMip); if (mip.m_width != dstMip.m_width && mip.m_height != dstMip.m_height) @@ -775,7 +771,16 @@ int main(int _argc, const char* _argv[]) return EXIT_FAILURE; } - uint32_t size = imageGetSize(TextureFormat::RGBA8, dstMip.m_width, dstMip.m_height); + uint32_t size = imageGetSize( + NULL + , dstMip.m_width + , dstMip.m_height + , 0 + , false + , false + , 1 + , TextureFormat::RGBA8 + ); temp = BX_ALLOC(&allocator, size); memset(temp, 0, size); uint8_t* rgba = (uint8_t*)temp; @@ -795,12 +800,12 @@ int main(int _argc, const char* _argv[]) memcpy(ref, rgba, size); } - imageEncodeFromRgba8(output->data, rgba, dstMip.m_width, dstMip.m_height, format); + imageEncodeFromRgba8(output->m_data, rgba, dstMip.m_width, dstMip.m_height, format); for (uint8_t lod = 1; lod < numMips; ++lod) { imageRgba8Downsample2x2(rgba, dstMip.m_width, dstMip.m_height, dstMip.m_width*4, rgba); - imageGetRawData(imageContainer, 0, lod, output->data, output->size, dstMip); + imageGetRawData(*output, 0, lod, output->m_data, output->m_size, dstMip); uint8_t* data = const_cast(dstMip.m_data); imageEncodeFromRgba8(data, rgba, dstMip.m_width, dstMip.m_height, format); } @@ -808,7 +813,7 @@ int main(int _argc, const char* _argv[]) if (NULL != ref) { imageDecodeToRgba8(rgba - , output->data + , output->m_data , mip.m_width , mip.m_height , mip.m_width*mip.m_bpp/8 @@ -850,7 +855,7 @@ int main(int _argc, const char* _argv[]) { if (NULL != bx::stristr(outputFileName, ".ktx") ) { - imageWriteKtx(&writer, imageContainer, output->data, output->size); + imageWriteKtx(&writer, *output, output->m_data, output->m_size); } bx::close(&writer); @@ -875,7 +880,7 @@ int main(int _argc, const char* _argv[]) return EXIT_FAILURE; } - release(mem); + BX_FREE(&allocator, inputData); } return EXIT_SUCCESS; diff --git a/3rdparty/bgfx/tools/texturev/texturev.cpp b/3rdparty/bgfx/tools/texturev/texturev.cpp index de60ce6a0ad..7c6d239707a 100644 --- a/3rdparty/bgfx/tools/texturev/texturev.cpp +++ b/3rdparty/bgfx/tools/texturev/texturev.cpp @@ -759,8 +759,8 @@ int _main_(int _argc, char** _argv) | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) | (mouseState.m_buttons[entry::MouseButton::Middle] ? IMGUI_MBUT_MIDDLE : 0) , mouseState.m_mz - , width - , height + , uint16_t(width) + , uint16_t(height) ); static bool help = false; @@ -856,13 +856,20 @@ int _main_(int _argc, char** _argv) ); std::string title; - bx::stringPrintf(title, "%s (%d x %d%s, %s)" - , filePath - , view.m_info.width - , view.m_info.height - , view.m_info.cubeMap ? " CubeMap" : "" - , bgfx::getName(view.m_info.format) - ); + if (isValid(texture) ) + { + bx::stringPrintf(title, "%s (%d x %d%s, %s)" + , filePath + , view.m_info.width + , view.m_info.height + , view.m_info.cubeMap ? " CubeMap" : "" + , bgfx::getName(view.m_info.format) + ); + } + else + { + bx::stringPrintf(title, "Failed to load %s!", filePath); + } entry::WindowHandle handle = { 0 }; entry::setWindowTitle(handle, title.c_str() ); } @@ -878,7 +885,7 @@ int _main_(int _argc, char** _argv) float ortho[16]; bx::mtxOrtho(ortho, 0.0f, (float)width, (float)height, 0.0f, 0.0f, 1000.0f); bgfx::setViewTransform(0, NULL, ortho); - bgfx::setViewRect(0, 0, 0, width, height); + bgfx::setViewRect(0, 0, 0, uint16_t(width), uint16_t(height) ); bgfx::touch(0); bgfx::dbgTextClear(); diff --git a/3rdparty/bx/3rdparty/CL/cl.h b/3rdparty/bx/3rdparty/CL/cl.h deleted file mode 100644 index 203c65974f2..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl.h +++ /dev/null @@ -1,1214 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 - 2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -#ifndef __OPENCL_CL_H -#define __OPENCL_CL_H - -#ifdef __APPLE__ -#include -#else -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************/ - -typedef struct _cl_platform_id * cl_platform_id; -typedef struct _cl_device_id * cl_device_id; -typedef struct _cl_context * cl_context; -typedef struct _cl_command_queue * cl_command_queue; -typedef struct _cl_mem * cl_mem; -typedef struct _cl_program * cl_program; -typedef struct _cl_kernel * cl_kernel; -typedef struct _cl_event * cl_event; -typedef struct _cl_sampler * cl_sampler; - -typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */ -typedef cl_ulong cl_bitfield; -typedef cl_bitfield cl_device_type; -typedef cl_uint cl_platform_info; -typedef cl_uint cl_device_info; -typedef cl_bitfield cl_device_fp_config; -typedef cl_uint cl_device_mem_cache_type; -typedef cl_uint cl_device_local_mem_type; -typedef cl_bitfield cl_device_exec_capabilities; -typedef cl_bitfield cl_command_queue_properties; -typedef intptr_t cl_device_partition_property; -typedef cl_bitfield cl_device_affinity_domain; - -typedef intptr_t cl_context_properties; -typedef cl_uint cl_context_info; -typedef cl_uint cl_command_queue_info; -typedef cl_uint cl_channel_order; -typedef cl_uint cl_channel_type; -typedef cl_bitfield cl_mem_flags; -typedef cl_uint cl_mem_object_type; -typedef cl_uint cl_mem_info; -typedef cl_bitfield cl_mem_migration_flags; -typedef cl_uint cl_image_info; -typedef cl_uint cl_buffer_create_type; -typedef cl_uint cl_addressing_mode; -typedef cl_uint cl_filter_mode; -typedef cl_uint cl_sampler_info; -typedef cl_bitfield cl_map_flags; -typedef cl_uint cl_program_info; -typedef cl_uint cl_program_build_info; -typedef cl_uint cl_program_binary_type; -typedef cl_int cl_build_status; -typedef cl_uint cl_kernel_info; -typedef cl_uint cl_kernel_arg_info; -typedef cl_uint cl_kernel_arg_address_qualifier; -typedef cl_uint cl_kernel_arg_access_qualifier; -typedef cl_bitfield cl_kernel_arg_type_qualifier; -typedef cl_uint cl_kernel_work_group_info; -typedef cl_uint cl_event_info; -typedef cl_uint cl_command_type; -typedef cl_uint cl_profiling_info; - - -typedef struct _cl_image_format { - cl_channel_order image_channel_order; - cl_channel_type image_channel_data_type; -} cl_image_format; - -typedef struct _cl_image_desc { - cl_mem_object_type image_type; - size_t image_width; - size_t image_height; - size_t image_depth; - size_t image_array_size; - size_t image_row_pitch; - size_t image_slice_pitch; - cl_uint num_mip_levels; - cl_uint num_samples; - cl_mem buffer; -} cl_image_desc; - -typedef struct _cl_buffer_region { - size_t origin; - size_t size; -} cl_buffer_region; - - -/******************************************************************************/ - -/* Error Codes */ -#define CL_SUCCESS 0 -#define CL_DEVICE_NOT_FOUND -1 -#define CL_DEVICE_NOT_AVAILABLE -2 -#define CL_COMPILER_NOT_AVAILABLE -3 -#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 -#define CL_OUT_OF_RESOURCES -5 -#define CL_OUT_OF_HOST_MEMORY -6 -#define CL_PROFILING_INFO_NOT_AVAILABLE -7 -#define CL_MEM_COPY_OVERLAP -8 -#define CL_IMAGE_FORMAT_MISMATCH -9 -#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 -#define CL_BUILD_PROGRAM_FAILURE -11 -#define CL_MAP_FAILURE -12 -#define CL_MISALIGNED_SUB_BUFFER_OFFSET -13 -#define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14 -#define CL_COMPILE_PROGRAM_FAILURE -15 -#define CL_LINKER_NOT_AVAILABLE -16 -#define CL_LINK_PROGRAM_FAILURE -17 -#define CL_DEVICE_PARTITION_FAILED -18 -#define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19 - -#define CL_INVALID_VALUE -30 -#define CL_INVALID_DEVICE_TYPE -31 -#define CL_INVALID_PLATFORM -32 -#define CL_INVALID_DEVICE -33 -#define CL_INVALID_CONTEXT -34 -#define CL_INVALID_QUEUE_PROPERTIES -35 -#define CL_INVALID_COMMAND_QUEUE -36 -#define CL_INVALID_HOST_PTR -37 -#define CL_INVALID_MEM_OBJECT -38 -#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 -#define CL_INVALID_IMAGE_SIZE -40 -#define CL_INVALID_SAMPLER -41 -#define CL_INVALID_BINARY -42 -#define CL_INVALID_BUILD_OPTIONS -43 -#define CL_INVALID_PROGRAM -44 -#define CL_INVALID_PROGRAM_EXECUTABLE -45 -#define CL_INVALID_KERNEL_NAME -46 -#define CL_INVALID_KERNEL_DEFINITION -47 -#define CL_INVALID_KERNEL -48 -#define CL_INVALID_ARG_INDEX -49 -#define CL_INVALID_ARG_VALUE -50 -#define CL_INVALID_ARG_SIZE -51 -#define CL_INVALID_KERNEL_ARGS -52 -#define CL_INVALID_WORK_DIMENSION -53 -#define CL_INVALID_WORK_GROUP_SIZE -54 -#define CL_INVALID_WORK_ITEM_SIZE -55 -#define CL_INVALID_GLOBAL_OFFSET -56 -#define CL_INVALID_EVENT_WAIT_LIST -57 -#define CL_INVALID_EVENT -58 -#define CL_INVALID_OPERATION -59 -#define CL_INVALID_GL_OBJECT -60 -#define CL_INVALID_BUFFER_SIZE -61 -#define CL_INVALID_MIP_LEVEL -62 -#define CL_INVALID_GLOBAL_WORK_SIZE -63 -#define CL_INVALID_PROPERTY -64 -#define CL_INVALID_IMAGE_DESCRIPTOR -65 -#define CL_INVALID_COMPILER_OPTIONS -66 -#define CL_INVALID_LINKER_OPTIONS -67 -#define CL_INVALID_DEVICE_PARTITION_COUNT -68 - -/* OpenCL Version */ -#define CL_VERSION_1_0 1 -#define CL_VERSION_1_1 1 -#define CL_VERSION_1_2 1 - -/* cl_bool */ -#define CL_FALSE 0 -#define CL_TRUE 1 -#define CL_BLOCKING CL_TRUE -#define CL_NON_BLOCKING CL_FALSE - -/* cl_platform_info */ -#define CL_PLATFORM_PROFILE 0x0900 -#define CL_PLATFORM_VERSION 0x0901 -#define CL_PLATFORM_NAME 0x0902 -#define CL_PLATFORM_VENDOR 0x0903 -#define CL_PLATFORM_EXTENSIONS 0x0904 - -/* cl_device_type - bitfield */ -#define CL_DEVICE_TYPE_DEFAULT (1 << 0) -#define CL_DEVICE_TYPE_CPU (1 << 1) -#define CL_DEVICE_TYPE_GPU (1 << 2) -#define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) -#define CL_DEVICE_TYPE_CUSTOM (1 << 4) -#define CL_DEVICE_TYPE_ALL 0xFFFFFFFF - -/* cl_device_info */ -#define CL_DEVICE_TYPE 0x1000 -#define CL_DEVICE_VENDOR_ID 0x1001 -#define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 -#define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 -#define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 -#define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B -#define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C -#define CL_DEVICE_ADDRESS_BITS 0x100D -#define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E -#define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F -#define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 -#define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 -#define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 -#define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 -#define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 -#define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 -#define CL_DEVICE_IMAGE_SUPPORT 0x1016 -#define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 -#define CL_DEVICE_MAX_SAMPLERS 0x1018 -#define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 -#define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A -#define CL_DEVICE_SINGLE_FP_CONFIG 0x101B -#define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C -#define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D -#define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E -#define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F -#define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 -#define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 -#define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 -#define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 -#define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 -#define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 -#define CL_DEVICE_ENDIAN_LITTLE 0x1026 -#define CL_DEVICE_AVAILABLE 0x1027 -#define CL_DEVICE_COMPILER_AVAILABLE 0x1028 -#define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 -#define CL_DEVICE_QUEUE_PROPERTIES 0x102A -#define CL_DEVICE_NAME 0x102B -#define CL_DEVICE_VENDOR 0x102C -#define CL_DRIVER_VERSION 0x102D -#define CL_DEVICE_PROFILE 0x102E -#define CL_DEVICE_VERSION 0x102F -#define CL_DEVICE_EXTENSIONS 0x1030 -#define CL_DEVICE_PLATFORM 0x1031 -#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 -/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */ -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034 -#define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C -#define CL_DEVICE_OPENCL_C_VERSION 0x103D -#define CL_DEVICE_LINKER_AVAILABLE 0x103E -#define CL_DEVICE_BUILT_IN_KERNELS 0x103F -#define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040 -#define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041 -#define CL_DEVICE_PARENT_DEVICE 0x1042 -#define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043 -#define CL_DEVICE_PARTITION_PROPERTIES 0x1044 -#define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045 -#define CL_DEVICE_PARTITION_TYPE 0x1046 -#define CL_DEVICE_REFERENCE_COUNT 0x1047 -#define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048 -#define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049 -#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A -#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B - -/* cl_device_fp_config - bitfield */ -#define CL_FP_DENORM (1 << 0) -#define CL_FP_INF_NAN (1 << 1) -#define CL_FP_ROUND_TO_NEAREST (1 << 2) -#define CL_FP_ROUND_TO_ZERO (1 << 3) -#define CL_FP_ROUND_TO_INF (1 << 4) -#define CL_FP_FMA (1 << 5) -#define CL_FP_SOFT_FLOAT (1 << 6) -#define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7) - -/* cl_device_mem_cache_type */ -#define CL_NONE 0x0 -#define CL_READ_ONLY_CACHE 0x1 -#define CL_READ_WRITE_CACHE 0x2 - -/* cl_device_local_mem_type */ -#define CL_LOCAL 0x1 -#define CL_GLOBAL 0x2 - -/* cl_device_exec_capabilities - bitfield */ -#define CL_EXEC_KERNEL (1 << 0) -#define CL_EXEC_NATIVE_KERNEL (1 << 1) - -/* cl_command_queue_properties - bitfield */ -#define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) -#define CL_QUEUE_PROFILING_ENABLE (1 << 1) - -/* cl_context_info */ -#define CL_CONTEXT_REFERENCE_COUNT 0x1080 -#define CL_CONTEXT_DEVICES 0x1081 -#define CL_CONTEXT_PROPERTIES 0x1082 -#define CL_CONTEXT_NUM_DEVICES 0x1083 - -/* cl_context_properties */ -#define CL_CONTEXT_PLATFORM 0x1084 -#define CL_CONTEXT_INTEROP_USER_SYNC 0x1085 - -/* cl_device_partition_property */ -#define CL_DEVICE_PARTITION_EQUALLY 0x1086 -#define CL_DEVICE_PARTITION_BY_COUNTS 0x1087 -#define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0 -#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088 - -/* cl_device_affinity_domain */ -#define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0) -#define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1) -#define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2) -#define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3) -#define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4) -#define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5) - -/* cl_command_queue_info */ -#define CL_QUEUE_CONTEXT 0x1090 -#define CL_QUEUE_DEVICE 0x1091 -#define CL_QUEUE_REFERENCE_COUNT 0x1092 -#define CL_QUEUE_PROPERTIES 0x1093 - -/* cl_mem_flags - bitfield */ -#define CL_MEM_READ_WRITE (1 << 0) -#define CL_MEM_WRITE_ONLY (1 << 1) -#define CL_MEM_READ_ONLY (1 << 2) -#define CL_MEM_USE_HOST_PTR (1 << 3) -#define CL_MEM_ALLOC_HOST_PTR (1 << 4) -#define CL_MEM_COPY_HOST_PTR (1 << 5) -// reserved (1 << 6) -#define CL_MEM_HOST_WRITE_ONLY (1 << 7) -#define CL_MEM_HOST_READ_ONLY (1 << 8) -#define CL_MEM_HOST_NO_ACCESS (1 << 9) - -/* cl_mem_migration_flags - bitfield */ -#define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0) -#define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1) - -/* cl_channel_order */ -#define CL_R 0x10B0 -#define CL_A 0x10B1 -#define CL_RG 0x10B2 -#define CL_RA 0x10B3 -#define CL_RGB 0x10B4 -#define CL_RGBA 0x10B5 -#define CL_BGRA 0x10B6 -#define CL_ARGB 0x10B7 -#define CL_INTENSITY 0x10B8 -#define CL_LUMINANCE 0x10B9 -#define CL_Rx 0x10BA -#define CL_RGx 0x10BB -#define CL_RGBx 0x10BC -#define CL_DEPTH 0x10BD -#define CL_DEPTH_STENCIL 0x10BE - -/* cl_channel_type */ -#define CL_SNORM_INT8 0x10D0 -#define CL_SNORM_INT16 0x10D1 -#define CL_UNORM_INT8 0x10D2 -#define CL_UNORM_INT16 0x10D3 -#define CL_UNORM_SHORT_565 0x10D4 -#define CL_UNORM_SHORT_555 0x10D5 -#define CL_UNORM_INT_101010 0x10D6 -#define CL_SIGNED_INT8 0x10D7 -#define CL_SIGNED_INT16 0x10D8 -#define CL_SIGNED_INT32 0x10D9 -#define CL_UNSIGNED_INT8 0x10DA -#define CL_UNSIGNED_INT16 0x10DB -#define CL_UNSIGNED_INT32 0x10DC -#define CL_HALF_FLOAT 0x10DD -#define CL_FLOAT 0x10DE -#define CL_UNORM_INT24 0x10DF - -/* cl_mem_object_type */ -#define CL_MEM_OBJECT_BUFFER 0x10F0 -#define CL_MEM_OBJECT_IMAGE2D 0x10F1 -#define CL_MEM_OBJECT_IMAGE3D 0x10F2 -#define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3 -#define CL_MEM_OBJECT_IMAGE1D 0x10F4 -#define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5 -#define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6 - -/* cl_mem_info */ -#define CL_MEM_TYPE 0x1100 -#define CL_MEM_FLAGS 0x1101 -#define CL_MEM_SIZE 0x1102 -#define CL_MEM_HOST_PTR 0x1103 -#define CL_MEM_MAP_COUNT 0x1104 -#define CL_MEM_REFERENCE_COUNT 0x1105 -#define CL_MEM_CONTEXT 0x1106 -#define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107 -#define CL_MEM_OFFSET 0x1108 - -/* cl_image_info */ -#define CL_IMAGE_FORMAT 0x1110 -#define CL_IMAGE_ELEMENT_SIZE 0x1111 -#define CL_IMAGE_ROW_PITCH 0x1112 -#define CL_IMAGE_SLICE_PITCH 0x1113 -#define CL_IMAGE_WIDTH 0x1114 -#define CL_IMAGE_HEIGHT 0x1115 -#define CL_IMAGE_DEPTH 0x1116 -#define CL_IMAGE_ARRAY_SIZE 0x1117 -#define CL_IMAGE_BUFFER 0x1118 -#define CL_IMAGE_NUM_MIP_LEVELS 0x1119 -#define CL_IMAGE_NUM_SAMPLES 0x111A - -/* cl_addressing_mode */ -#define CL_ADDRESS_NONE 0x1130 -#define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 -#define CL_ADDRESS_CLAMP 0x1132 -#define CL_ADDRESS_REPEAT 0x1133 -#define CL_ADDRESS_MIRRORED_REPEAT 0x1134 - -/* cl_filter_mode */ -#define CL_FILTER_NEAREST 0x1140 -#define CL_FILTER_LINEAR 0x1141 - -/* cl_sampler_info */ -#define CL_SAMPLER_REFERENCE_COUNT 0x1150 -#define CL_SAMPLER_CONTEXT 0x1151 -#define CL_SAMPLER_NORMALIZED_COORDS 0x1152 -#define CL_SAMPLER_ADDRESSING_MODE 0x1153 -#define CL_SAMPLER_FILTER_MODE 0x1154 - -/* cl_map_flags - bitfield */ -#define CL_MAP_READ (1 << 0) -#define CL_MAP_WRITE (1 << 1) -#define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2) - -/* cl_program_info */ -#define CL_PROGRAM_REFERENCE_COUNT 0x1160 -#define CL_PROGRAM_CONTEXT 0x1161 -#define CL_PROGRAM_NUM_DEVICES 0x1162 -#define CL_PROGRAM_DEVICES 0x1163 -#define CL_PROGRAM_SOURCE 0x1164 -#define CL_PROGRAM_BINARY_SIZES 0x1165 -#define CL_PROGRAM_BINARIES 0x1166 -#define CL_PROGRAM_NUM_KERNELS 0x1167 -#define CL_PROGRAM_KERNEL_NAMES 0x1168 - -/* cl_program_build_info */ -#define CL_PROGRAM_BUILD_STATUS 0x1181 -#define CL_PROGRAM_BUILD_OPTIONS 0x1182 -#define CL_PROGRAM_BUILD_LOG 0x1183 -#define CL_PROGRAM_BINARY_TYPE 0x1184 - -/* cl_program_binary_type */ -#define CL_PROGRAM_BINARY_TYPE_NONE 0x0 -#define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1 -#define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2 -#define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4 - -/* cl_build_status */ -#define CL_BUILD_SUCCESS 0 -#define CL_BUILD_NONE -1 -#define CL_BUILD_ERROR -2 -#define CL_BUILD_IN_PROGRESS -3 - -/* cl_kernel_info */ -#define CL_KERNEL_FUNCTION_NAME 0x1190 -#define CL_KERNEL_NUM_ARGS 0x1191 -#define CL_KERNEL_REFERENCE_COUNT 0x1192 -#define CL_KERNEL_CONTEXT 0x1193 -#define CL_KERNEL_PROGRAM 0x1194 -#define CL_KERNEL_ATTRIBUTES 0x1195 - -/* cl_kernel_arg_info */ -#define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196 -#define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197 -#define CL_KERNEL_ARG_TYPE_NAME 0x1198 -#define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199 -#define CL_KERNEL_ARG_NAME 0x119A - -/* cl_kernel_arg_address_qualifier */ -#define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B -#define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C -#define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D -#define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E - -/* cl_kernel_arg_access_qualifier */ -#define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0 -#define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1 -#define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2 -#define CL_KERNEL_ARG_ACCESS_NONE 0x11A3 - -/* cl_kernel_arg_type_qualifer */ -#define CL_KERNEL_ARG_TYPE_NONE 0 -#define CL_KERNEL_ARG_TYPE_CONST (1 << 0) -#define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1) -#define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2) - -/* cl_kernel_work_group_info */ -#define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 -#define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 -#define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 -#define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3 -#define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4 -#define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5 - -/* cl_event_info */ -#define CL_EVENT_COMMAND_QUEUE 0x11D0 -#define CL_EVENT_COMMAND_TYPE 0x11D1 -#define CL_EVENT_REFERENCE_COUNT 0x11D2 -#define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 -#define CL_EVENT_CONTEXT 0x11D4 - -/* cl_command_type */ -#define CL_COMMAND_NDRANGE_KERNEL 0x11F0 -#define CL_COMMAND_TASK 0x11F1 -#define CL_COMMAND_NATIVE_KERNEL 0x11F2 -#define CL_COMMAND_READ_BUFFER 0x11F3 -#define CL_COMMAND_WRITE_BUFFER 0x11F4 -#define CL_COMMAND_COPY_BUFFER 0x11F5 -#define CL_COMMAND_READ_IMAGE 0x11F6 -#define CL_COMMAND_WRITE_IMAGE 0x11F7 -#define CL_COMMAND_COPY_IMAGE 0x11F8 -#define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 -#define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA -#define CL_COMMAND_MAP_BUFFER 0x11FB -#define CL_COMMAND_MAP_IMAGE 0x11FC -#define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD -#define CL_COMMAND_MARKER 0x11FE -#define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF -#define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 -#define CL_COMMAND_READ_BUFFER_RECT 0x1201 -#define CL_COMMAND_WRITE_BUFFER_RECT 0x1202 -#define CL_COMMAND_COPY_BUFFER_RECT 0x1203 -#define CL_COMMAND_USER 0x1204 -#define CL_COMMAND_BARRIER 0x1205 -#define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206 -#define CL_COMMAND_FILL_BUFFER 0x1207 -#define CL_COMMAND_FILL_IMAGE 0x1208 - -/* command execution status */ -#define CL_COMPLETE 0x0 -#define CL_RUNNING 0x1 -#define CL_SUBMITTED 0x2 -#define CL_QUEUED 0x3 - -/* cl_buffer_create_type */ -#define CL_BUFFER_CREATE_TYPE_REGION 0x1220 - -/* cl_profiling_info */ -#define CL_PROFILING_COMMAND_QUEUED 0x1280 -#define CL_PROFILING_COMMAND_SUBMIT 0x1281 -#define CL_PROFILING_COMMAND_START 0x1282 -#define CL_PROFILING_COMMAND_END 0x1283 - -/********************************************************************************************************/ - -/* Platform API */ -extern CL_API_ENTRY cl_int CL_API_CALL -clGetPlatformIDs(cl_uint /* num_entries */, - cl_platform_id * /* platforms */, - cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetPlatformInfo(cl_platform_id /* platform */, - cl_platform_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Device APIs */ -extern CL_API_ENTRY cl_int CL_API_CALL -clGetDeviceIDs(cl_platform_id /* platform */, - cl_device_type /* device_type */, - cl_uint /* num_entries */, - cl_device_id * /* devices */, - cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetDeviceInfo(cl_device_id /* device */, - cl_device_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clCreateSubDevices(cl_device_id /* in_device */, - const cl_device_partition_property * /* properties */, - cl_uint /* num_devices */, - cl_device_id * /* out_devices */, - cl_uint * /* num_devices_ret */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; - -/* Context APIs */ -extern CL_API_ENTRY cl_context CL_API_CALL -clCreateContext(const cl_context_properties * /* properties */, - cl_uint /* num_devices */, - const cl_device_id * /* devices */, - void (CL_CALLBACK * /* pfn_notify */)(const char *, const void *, size_t, void *), - void * /* user_data */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_context CL_API_CALL -clCreateContextFromType(const cl_context_properties * /* properties */, - cl_device_type /* device_type */, - void (CL_CALLBACK * /* pfn_notify*/ )(const char *, const void *, size_t, void *), - void * /* user_data */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetContextInfo(cl_context /* context */, - cl_context_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Command Queue APIs */ -extern CL_API_ENTRY cl_command_queue CL_API_CALL -clCreateCommandQueue(cl_context /* context */, - cl_device_id /* device */, - cl_command_queue_properties /* properties */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetCommandQueueInfo(cl_command_queue /* command_queue */, - cl_command_queue_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Memory Object APIs */ -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateBuffer(cl_context /* context */, - cl_mem_flags /* flags */, - size_t /* size */, - void * /* host_ptr */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateSubBuffer(cl_mem /* buffer */, - cl_mem_flags /* flags */, - cl_buffer_create_type /* buffer_create_type */, - const void * /* buffer_create_info */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateImage(cl_context /* context */, - cl_mem_flags /* flags */, - const cl_image_format * /* image_format */, - const cl_image_desc * /* image_desc */, - void * /* host_ptr */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetSupportedImageFormats(cl_context /* context */, - cl_mem_flags /* flags */, - cl_mem_object_type /* image_type */, - cl_uint /* num_entries */, - cl_image_format * /* image_formats */, - cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetMemObjectInfo(cl_mem /* memobj */, - cl_mem_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetImageInfo(cl_mem /* image */, - cl_image_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clSetMemObjectDestructorCallback( cl_mem /* memobj */, - void (CL_CALLBACK * /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/), - void * /*user_data */ ) CL_API_SUFFIX__VERSION_1_1; - -/* Sampler APIs */ -extern CL_API_ENTRY cl_sampler CL_API_CALL -clCreateSampler(cl_context /* context */, - cl_bool /* normalized_coords */, - cl_addressing_mode /* addressing_mode */, - cl_filter_mode /* filter_mode */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetSamplerInfo(cl_sampler /* sampler */, - cl_sampler_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Program Object APIs */ -extern CL_API_ENTRY cl_program CL_API_CALL -clCreateProgramWithSource(cl_context /* context */, - cl_uint /* count */, - const char ** /* strings */, - const size_t * /* lengths */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_program CL_API_CALL -clCreateProgramWithBinary(cl_context /* context */, - cl_uint /* num_devices */, - const cl_device_id * /* device_list */, - const size_t * /* lengths */, - const unsigned char ** /* binaries */, - cl_int * /* binary_status */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_program CL_API_CALL -clCreateProgramWithBuiltInKernels(cl_context /* context */, - cl_uint /* num_devices */, - const cl_device_id * /* device_list */, - const char * /* kernel_names */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clBuildProgram(cl_program /* program */, - cl_uint /* num_devices */, - const cl_device_id * /* device_list */, - const char * /* options */, - void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), - void * /* user_data */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clCompileProgram(cl_program /* program */, - cl_uint /* num_devices */, - const cl_device_id * /* device_list */, - const char * /* options */, - cl_uint /* num_input_headers */, - const cl_program * /* input_headers */, - const char ** /* header_include_names */, - void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), - void * /* user_data */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_program CL_API_CALL -clLinkProgram(cl_context /* context */, - cl_uint /* num_devices */, - const cl_device_id * /* device_list */, - const char * /* options */, - cl_uint /* num_input_programs */, - const cl_program * /* input_programs */, - void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), - void * /* user_data */, - cl_int * /* errcode_ret */ ) CL_API_SUFFIX__VERSION_1_2; - - -extern CL_API_ENTRY cl_int CL_API_CALL -clUnloadPlatformCompiler(cl_platform_id /* platform */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetProgramInfo(cl_program /* program */, - cl_program_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetProgramBuildInfo(cl_program /* program */, - cl_device_id /* device */, - cl_program_build_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Kernel Object APIs */ -extern CL_API_ENTRY cl_kernel CL_API_CALL -clCreateKernel(cl_program /* program */, - const char * /* kernel_name */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clCreateKernelsInProgram(cl_program /* program */, - cl_uint /* num_kernels */, - cl_kernel * /* kernels */, - cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clSetKernelArg(cl_kernel /* kernel */, - cl_uint /* arg_index */, - size_t /* arg_size */, - const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetKernelInfo(cl_kernel /* kernel */, - cl_kernel_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetKernelArgInfo(cl_kernel /* kernel */, - cl_uint /* arg_indx */, - cl_kernel_arg_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetKernelWorkGroupInfo(cl_kernel /* kernel */, - cl_device_id /* device */, - cl_kernel_work_group_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Event Object APIs */ -extern CL_API_ENTRY cl_int CL_API_CALL -clWaitForEvents(cl_uint /* num_events */, - const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetEventInfo(cl_event /* event */, - cl_event_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_event CL_API_CALL -clCreateUserEvent(cl_context /* context */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_int CL_API_CALL -clRetainEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clSetUserEventStatus(cl_event /* event */, - cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_int CL_API_CALL -clSetEventCallback( cl_event /* event */, - cl_int /* command_exec_callback_type */, - void (CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *), - void * /* user_data */) CL_API_SUFFIX__VERSION_1_1; - -/* Profiling APIs */ -extern CL_API_ENTRY cl_int CL_API_CALL -clGetEventProfilingInfo(cl_event /* event */, - cl_profiling_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -/* Flush and Finish APIs */ -extern CL_API_ENTRY cl_int CL_API_CALL -clFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clFinish(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; - -/* Enqueued Commands APIs */ -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueReadBuffer(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - cl_bool /* blocking_read */, - size_t /* offset */, - size_t /* size */, - void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueReadBufferRect(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - cl_bool /* blocking_read */, - const size_t * /* buffer_offset */, - const size_t * /* host_offset */, - const size_t * /* region */, - size_t /* buffer_row_pitch */, - size_t /* buffer_slice_pitch */, - size_t /* host_row_pitch */, - size_t /* host_slice_pitch */, - void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueWriteBuffer(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - cl_bool /* blocking_write */, - size_t /* offset */, - size_t /* size */, - const void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueWriteBufferRect(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - cl_bool /* blocking_write */, - const size_t * /* buffer_offset */, - const size_t * /* host_offset */, - const size_t * /* region */, - size_t /* buffer_row_pitch */, - size_t /* buffer_slice_pitch */, - size_t /* host_row_pitch */, - size_t /* host_slice_pitch */, - const void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueFillBuffer(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - const void * /* pattern */, - size_t /* pattern_size */, - size_t /* offset */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueCopyBuffer(cl_command_queue /* command_queue */, - cl_mem /* src_buffer */, - cl_mem /* dst_buffer */, - size_t /* src_offset */, - size_t /* dst_offset */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueCopyBufferRect(cl_command_queue /* command_queue */, - cl_mem /* src_buffer */, - cl_mem /* dst_buffer */, - const size_t * /* src_origin */, - const size_t * /* dst_origin */, - const size_t * /* region */, - size_t /* src_row_pitch */, - size_t /* src_slice_pitch */, - size_t /* dst_row_pitch */, - size_t /* dst_slice_pitch */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueReadImage(cl_command_queue /* command_queue */, - cl_mem /* image */, - cl_bool /* blocking_read */, - const size_t * /* origin[3] */, - const size_t * /* region[3] */, - size_t /* row_pitch */, - size_t /* slice_pitch */, - void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueWriteImage(cl_command_queue /* command_queue */, - cl_mem /* image */, - cl_bool /* blocking_write */, - const size_t * /* origin[3] */, - const size_t * /* region[3] */, - size_t /* input_row_pitch */, - size_t /* input_slice_pitch */, - const void * /* ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueFillImage(cl_command_queue /* command_queue */, - cl_mem /* image */, - const void * /* fill_color */, - const size_t * /* origin[3] */, - const size_t * /* region[3] */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueCopyImage(cl_command_queue /* command_queue */, - cl_mem /* src_image */, - cl_mem /* dst_image */, - const size_t * /* src_origin[3] */, - const size_t * /* dst_origin[3] */, - const size_t * /* region[3] */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueCopyImageToBuffer(cl_command_queue /* command_queue */, - cl_mem /* src_image */, - cl_mem /* dst_buffer */, - const size_t * /* src_origin[3] */, - const size_t * /* region[3] */, - size_t /* dst_offset */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueCopyBufferToImage(cl_command_queue /* command_queue */, - cl_mem /* src_buffer */, - cl_mem /* dst_image */, - size_t /* src_offset */, - const size_t * /* dst_origin[3] */, - const size_t * /* region[3] */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY void * CL_API_CALL -clEnqueueMapBuffer(cl_command_queue /* command_queue */, - cl_mem /* buffer */, - cl_bool /* blocking_map */, - cl_map_flags /* map_flags */, - size_t /* offset */, - size_t /* size */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY void * CL_API_CALL -clEnqueueMapImage(cl_command_queue /* command_queue */, - cl_mem /* image */, - cl_bool /* blocking_map */, - cl_map_flags /* map_flags */, - const size_t * /* origin[3] */, - const size_t * /* region[3] */, - size_t * /* image_row_pitch */, - size_t * /* image_slice_pitch */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueUnmapMemObject(cl_command_queue /* command_queue */, - cl_mem /* memobj */, - void * /* mapped_ptr */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueMigrateMemObjects(cl_command_queue /* command_queue */, - cl_uint /* num_mem_objects */, - const cl_mem * /* mem_objects */, - cl_mem_migration_flags /* flags */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueNDRangeKernel(cl_command_queue /* command_queue */, - cl_kernel /* kernel */, - cl_uint /* work_dim */, - const size_t * /* global_work_offset */, - const size_t * /* global_work_size */, - const size_t * /* local_work_size */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueTask(cl_command_queue /* command_queue */, - cl_kernel /* kernel */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueNativeKernel(cl_command_queue /* command_queue */, - void (CL_CALLBACK * /*user_func*/)(void *), - void * /* args */, - size_t /* cb_args */, - cl_uint /* num_mem_objects */, - const cl_mem * /* mem_list */, - const void ** /* args_mem_loc */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueMarkerWithWaitList(cl_command_queue /* command_queue */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueBarrierWithWaitList(cl_command_queue /* command_queue */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; - - -/* Extension function access - * - * Returns the extension function address for the given function name, - * or NULL if a valid function can not be found. The client must - * check to make sure the address is not NULL, before using or - * calling the returned function address. - */ -extern CL_API_ENTRY void * CL_API_CALL -clGetExtensionFunctionAddressForPlatform(cl_platform_id /* platform */, - const char * /* func_name */) CL_API_SUFFIX__VERSION_1_2; - - -// Deprecated OpenCL 1.1 APIs -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL -clCreateImage2D(cl_context /* context */, - cl_mem_flags /* flags */, - const cl_image_format * /* image_format */, - size_t /* image_width */, - size_t /* image_height */, - size_t /* image_row_pitch */, - void * /* host_ptr */, - cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL -clCreateImage3D(cl_context /* context */, - cl_mem_flags /* flags */, - const cl_image_format * /* image_format */, - size_t /* image_width */, - size_t /* image_height */, - size_t /* image_depth */, - size_t /* image_row_pitch */, - size_t /* image_slice_pitch */, - void * /* host_ptr */, - cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL -clEnqueueMarker(cl_command_queue /* command_queue */, - cl_event * /* event */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL -clEnqueueWaitForEvents(cl_command_queue /* command_queue */, - cl_uint /* num_events */, - const cl_event * /* event_list */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL -clEnqueueBarrier(cl_command_queue /* command_queue */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL -clUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL -clGetExtensionFunctionAddress(const char * /* func_name */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -#ifdef __cplusplus -} -#endif - -#endif /* __OPENCL_CL_H */ - diff --git a/3rdparty/bx/3rdparty/CL/cl_d3d10.h b/3rdparty/bx/3rdparty/CL/cl_d3d10.h deleted file mode 100644 index 81b0d37214e..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_d3d10.h +++ /dev/null @@ -1,126 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */ - -#ifndef __OPENCL_CL_D3D10_H -#define __OPENCL_CL_D3D10_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** - * cl_khr_d3d10_sharing */ -#define cl_khr_d3d10_sharing 1 - -typedef cl_uint cl_d3d10_device_source_khr; -typedef cl_uint cl_d3d10_device_set_khr; - -/******************************************************************************/ - -// Error Codes -#define CL_INVALID_D3D10_DEVICE_KHR -1002 -#define CL_INVALID_D3D10_RESOURCE_KHR -1003 -#define CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR -1004 -#define CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR -1005 - -// cl_d3d10_device_source_nv -#define CL_D3D10_DEVICE_KHR 0x4010 -#define CL_D3D10_DXGI_ADAPTER_KHR 0x4011 - -// cl_d3d10_device_set_nv -#define CL_PREFERRED_DEVICES_FOR_D3D10_KHR 0x4012 -#define CL_ALL_DEVICES_FOR_D3D10_KHR 0x4013 - -// cl_context_info -#define CL_CONTEXT_D3D10_DEVICE_KHR 0x4014 -#define CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR 0x402C - -// cl_mem_info -#define CL_MEM_D3D10_RESOURCE_KHR 0x4015 - -// cl_image_info -#define CL_IMAGE_D3D10_SUBRESOURCE_KHR 0x4016 - -// cl_command_type -#define CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR 0x4017 -#define CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR 0x4018 - -/******************************************************************************/ - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D10KHR_fn)( - cl_platform_id platform, - cl_d3d10_device_source_khr d3d_device_source, - void * d3d_object, - cl_d3d10_device_set_khr d3d_device_set, - cl_uint num_entries, - cl_device_id * devices, - cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10BufferKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D10Buffer * resource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture2DKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D10Texture2D * resource, - UINT subresource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D10Texture3DKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D10Texture3D * resource, - UINT subresource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D10ObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D10ObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_0; - -#ifdef __cplusplus -} -#endif - -#endif // __OPENCL_CL_D3D10_H - diff --git a/3rdparty/bx/3rdparty/CL/cl_d3d11.h b/3rdparty/bx/3rdparty/CL/cl_d3d11.h deleted file mode 100644 index d3c8bdc2b1f..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_d3d11.h +++ /dev/null @@ -1,126 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */ - -#ifndef __OPENCL_CL_D3D11_H -#define __OPENCL_CL_D3D11_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** - * cl_khr_d3d11_sharing */ -#define cl_khr_d3d11_sharing 1 - -typedef cl_uint cl_d3d11_device_source_khr; -typedef cl_uint cl_d3d11_device_set_khr; - -/******************************************************************************/ - -// Error Codes -#define CL_INVALID_D3D11_DEVICE_KHR -1006 -#define CL_INVALID_D3D11_RESOURCE_KHR -1007 -#define CL_D3D11_RESOURCE_ALREADY_ACQUIRED_KHR -1008 -#define CL_D3D11_RESOURCE_NOT_ACQUIRED_KHR -1009 - -// cl_d3d11_device_source -#define CL_D3D11_DEVICE_KHR 0x4019 -#define CL_D3D11_DXGI_ADAPTER_KHR 0x401A - -// cl_d3d11_device_set -#define CL_PREFERRED_DEVICES_FOR_D3D11_KHR 0x401B -#define CL_ALL_DEVICES_FOR_D3D11_KHR 0x401C - -// cl_context_info -#define CL_CONTEXT_D3D11_DEVICE_KHR 0x401D -#define CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES_KHR 0x402D - -// cl_mem_info -#define CL_MEM_D3D11_RESOURCE_KHR 0x401E - -// cl_image_info -#define CL_IMAGE_D3D11_SUBRESOURCE_KHR 0x401F - -// cl_command_type -#define CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR 0x4020 -#define CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR 0x4021 - -/******************************************************************************/ - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromD3D11KHR_fn)( - cl_platform_id platform, - cl_d3d11_device_source_khr d3d_device_source, - void * d3d_object, - cl_d3d11_device_set_khr d3d_device_set, - cl_uint num_entries, - cl_device_id * devices, - cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11BufferKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D11Buffer * resource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture2DKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D11Texture2D * resource, - UINT subresource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromD3D11Texture3DKHR_fn)( - cl_context context, - cl_mem_flags flags, - ID3D11Texture3D * resource, - UINT subresource, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireD3D11ObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseD3D11ObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_2; - -#ifdef __cplusplus -} -#endif - -#endif // __OPENCL_CL_D3D11_H - diff --git a/3rdparty/bx/3rdparty/CL/cl_dx9_media_sharing.h b/3rdparty/bx/3rdparty/CL/cl_dx9_media_sharing.h deleted file mode 100644 index 1ef543a5af9..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_dx9_media_sharing.h +++ /dev/null @@ -1,127 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */ - -#ifndef __OPENCL_CL_DX9_MEDIA_SHARING_H -#define __OPENCL_CL_DX9_MEDIA_SHARING_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** -/* cl_khr_dx9_media_sharing */ -#define cl_khr_dx9_media_sharing 1 - -typedef cl_uint cl_dx9_media_adapter_type_khr; -typedef cl_uint cl_dx9_media_adapter_set_khr; - -#if defined(_WIN32) -#include -typedef struct _cl_dx9_surface_info_khr -{ - IDirect3DSurface9 *resource; - HANDLE shared_handle; -} cl_dx9_surface_info_khr; -#endif - - -/******************************************************************************/ - -// Error Codes -#define CL_INVALID_DX9_MEDIA_ADAPTER_KHR -1010 -#define CL_INVALID_DX9_MEDIA_SURFACE_KHR -1011 -#define CL_DX9_MEDIA_SURFACE_ALREADY_ACQUIRED_KHR -1012 -#define CL_DX9_MEDIA_SURFACE_NOT_ACQUIRED_KHR -1013 - -// cl_media_adapter_type_khr -#define CL_ADAPTER_D3D9_KHR 0x2020 -#define CL_ADAPTER_D3D9EX_KHR 0x2021 -#define CL_ADAPTER_DXVA_KHR 0x2022 - -// cl_media_adapter_set_khr -#define CL_PREFERRED_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR 0x2023 -#define CL_ALL_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR 0x2024 - -// cl_context_info -#define CL_CONTEXT_ADAPTER_D3D9_KHR 0x2025 -#define CL_CONTEXT_ADAPTER_D3D9EX_KHR 0x2026 -#define CL_CONTEXT_ADAPTER_DXVA_KHR 0x2027 - -// cl_mem_info -#define CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR 0x2028 -#define CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR 0x2029 - -// cl_image_info -#define CL_IMAGE_DX9_MEDIA_PLANE_KHR 0x202A - -// cl_command_type -#define CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR 0x202B -#define CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR 0x202C - -/******************************************************************************/ - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetDeviceIDsFromDX9MediaAdapterKHR_fn)( - cl_platform_id platform, - cl_uint num_media_adapters, - cl_dx9_media_adapter_type_khr * media_adapter_type, - void * media_adapters, - cl_dx9_media_adapter_set_khr media_adapter_set, - cl_uint num_entries, - cl_device_id * devices, - cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromDX9MediaSurfaceKHR_fn)( - cl_context context, - cl_mem_flags flags, - cl_dx9_media_adapter_type_khr adapter_type, - void * surface_info, - cl_uint plane, - cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireDX9MediaSurfacesKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseDX9MediaSurfacesKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event) CL_API_SUFFIX__VERSION_1_2; - -#ifdef __cplusplus -} -#endif - -#endif // __OPENCL_CL_DX9_MEDIA_SHARING_H - diff --git a/3rdparty/bx/3rdparty/CL/cl_egl.h b/3rdparty/bx/3rdparty/CL/cl_egl.h deleted file mode 100644 index c1bd4f39423..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_egl.h +++ /dev/null @@ -1,131 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008-2010 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -#ifndef __OPENCL_CL_EGL_H -#define __OPENCL_CL_EGL_H - -#ifdef __APPLE__ - -#else -#include -#include -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -/* Command type for events created with clEnqueueAcquireEGLObjectsKHR */ -#define CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR 0x202F -#define CL_COMMAND_ACQUIRE_EGL_OBJECTS_KHR 0x202D -#define CL_COMMAND_RELEASE_EGL_OBJECTS_KHR 0x202E - -/* Error type for clCreateFromEGLImageKHR */ -#define CL_INVALID_EGL_OBJECT_KHR -1093 -#define CL_EGL_RESOURCE_NOT_ACQUIRED_KHR -1092 - -/* CLeglImageKHR is an opaque handle to an EGLImage */ -typedef void* CLeglImageKHR; - -/* CLeglDisplayKHR is an opaque handle to an EGLDisplay */ -typedef void* CLeglDisplayKHR; - -/* properties passed to clCreateFromEGLImageKHR */ -typedef intptr_t cl_egl_image_properties_khr; - - -#define cl_khr_egl_image 1 - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateFromEGLImageKHR(cl_context /* context */, - CLeglDisplayKHR /* egldisplay */, - CLeglImageKHR /* eglimage */, - cl_mem_flags /* flags */, - const cl_egl_image_properties_khr * /* properties */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_mem (CL_API_CALL *clCreateFromEGLImageKHR_fn)( - cl_context context, - CLeglDisplayKHR egldisplay, - CLeglImageKHR eglimage, - cl_mem_flags flags, - const cl_egl_image_properties_khr * properties, - cl_int * errcode_ret); - - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueAcquireEGLObjectsKHR(cl_command_queue /* command_queue */, - cl_uint /* num_objects */, - const cl_mem * /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireEGLObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event); - - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueReleaseEGLObjectsKHR(cl_command_queue /* command_queue */, - cl_uint /* num_objects */, - const cl_mem * /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseEGLObjectsKHR_fn)( - cl_command_queue command_queue, - cl_uint num_objects, - const cl_mem * mem_objects, - cl_uint num_events_in_wait_list, - const cl_event * event_wait_list, - cl_event * event); - - -#define cl_khr_egl_event 1 - -extern CL_API_ENTRY cl_event CL_API_CALL -clCreateEventFromEGLSyncKHR(cl_context /* context */, - EGLSyncKHR /* sync */, - EGLDisplay /* display */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_event (CL_API_CALL *clCreateEventFromEGLSyncKHR_fn)( - cl_context context, - EGLSyncKHR sync, - EGLDisplay display, - cl_int * errcode_ret); - - -#ifdef __cplusplus -} -#endif - -#endif /* __OPENCL_CL_EGL_H */ diff --git a/3rdparty/bx/3rdparty/CL/cl_ext.h b/3rdparty/bx/3rdparty/CL/cl_ext.h deleted file mode 100644 index 6908b7ed6b5..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_ext.h +++ /dev/null @@ -1,306 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008-2013 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -/* $Revision: 11928 $ on $Date: 2010-07-13 09:04:56 -0700 (Tue, 13 Jul 2010) $ */ - -/* cl_ext.h contains OpenCL extensions which don't have external */ -/* (OpenGL, D3D) dependencies. */ - -#ifndef __CL_EXT_H -#define __CL_EXT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __APPLE__ - #include - #include -#else - #include -#endif - -/* cl_khr_fp16 extension - no extension #define since it has no functions */ -#define CL_DEVICE_HALF_FP_CONFIG 0x1033 - -/* Memory object destruction - * - * Apple extension for use to manage externally allocated buffers used with cl_mem objects with CL_MEM_USE_HOST_PTR - * - * Registers a user callback function that will be called when the memory object is deleted and its resources - * freed. Each call to clSetMemObjectCallbackFn registers the specified user callback function on a callback - * stack associated with memobj. The registered user callback functions are called in the reverse order in - * which they were registered. The user callback functions are called and then the memory object is deleted - * and its resources freed. This provides a mechanism for the application (and libraries) using memobj to be - * notified when the memory referenced by host_ptr, specified when the memory object is created and used as - * the storage bits for the memory object, can be reused or freed. - * - * The application may not call CL api's with the cl_mem object passed to the pfn_notify. - * - * Please check for the "cl_APPLE_SetMemObjectDestructor" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS) - * before using. - */ -#define cl_APPLE_SetMemObjectDestructor 1 -cl_int CL_API_ENTRY clSetMemObjectDestructorAPPLE( cl_mem /* memobj */, - void (* /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/), - void * /*user_data */ ) CL_EXT_SUFFIX__VERSION_1_0; - - -/* Context Logging Functions - * - * The next three convenience functions are intended to be used as the pfn_notify parameter to clCreateContext(). - * Please check for the "cl_APPLE_ContextLoggingFunctions" extension using clGetDeviceInfo(CL_DEVICE_EXTENSIONS) - * before using. - * - * clLogMessagesToSystemLog fowards on all log messages to the Apple System Logger - */ -#define cl_APPLE_ContextLoggingFunctions 1 -extern void CL_API_ENTRY clLogMessagesToSystemLogAPPLE( const char * /* errstr */, - const void * /* private_info */, - size_t /* cb */, - void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0; - -/* clLogMessagesToStdout sends all log messages to the file descriptor stdout */ -extern void CL_API_ENTRY clLogMessagesToStdoutAPPLE( const char * /* errstr */, - const void * /* private_info */, - size_t /* cb */, - void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0; - -/* clLogMessagesToStderr sends all log messages to the file descriptor stderr */ -extern void CL_API_ENTRY clLogMessagesToStderrAPPLE( const char * /* errstr */, - const void * /* private_info */, - size_t /* cb */, - void * /* user_data */ ) CL_EXT_SUFFIX__VERSION_1_0; - - -/************************ -* cl_khr_icd extension * -************************/ -#define cl_khr_icd 1 - -/* cl_platform_info */ -#define CL_PLATFORM_ICD_SUFFIX_KHR 0x0920 - -/* Additional Error Codes */ -#define CL_PLATFORM_NOT_FOUND_KHR -1001 - -extern CL_API_ENTRY cl_int CL_API_CALL -clIcdGetPlatformIDsKHR(cl_uint /* num_entries */, - cl_platform_id * /* platforms */, - cl_uint * /* num_platforms */); - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clIcdGetPlatformIDsKHR_fn)( - cl_uint /* num_entries */, - cl_platform_id * /* platforms */, - cl_uint * /* num_platforms */); - - -/* Extension: cl_khr_image2D_buffer - * - * This extension allows a 2D image to be created from a cl_mem buffer without a copy. - * The type associated with a 2D image created from a buffer in an OpenCL program is image2d_t. - * Both the sampler and sampler-less read_image built-in functions are supported for 2D images - * and 2D images created from a buffer. Similarly, the write_image built-ins are also supported - * for 2D images created from a buffer. - * - * When the 2D image from buffer is created, the client must specify the width, - * height, image format (i.e. channel order and channel data type) and optionally the row pitch - * - * The pitch specified must be a multiple of CL_DEVICE_IMAGE_PITCH_ALIGNMENT pixels. - * The base address of the buffer must be aligned to CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT pixels. - */ - -/************************************* - * cl_khr_initalize_memory extension * - *************************************/ - -#define CL_CONTEXT_MEMORY_INITIALIZE_KHR 0x200E - - -/************************************** - * cl_khr_terminate_context extension * - **************************************/ - -#define CL_DEVICE_TERMINATE_CAPABILITY_KHR 0x200F -#define CL_CONTEXT_TERMINATE_KHR 0x2010 - -#define cl_khr_terminate_context 1 -extern CL_API_ENTRY cl_int CL_API_CALL clTerminateContextKHR(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /* context */) CL_EXT_SUFFIX__VERSION_1_2; - - -/* - * Extension: cl_khr_spir - * - * This extension adds support to create an OpenCL program object from a - * Standard Portable Intermediate Representation (SPIR) instance - */ - -/****************************************** -* cl_nv_device_attribute_query extension * -******************************************/ -/* cl_nv_device_attribute_query extension - no extension #define since it has no functions */ -#define CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV 0x4000 -#define CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV 0x4001 -#define CL_DEVICE_REGISTERS_PER_BLOCK_NV 0x4002 -#define CL_DEVICE_WARP_SIZE_NV 0x4003 -#define CL_DEVICE_GPU_OVERLAP_NV 0x4004 -#define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV 0x4005 -#define CL_DEVICE_INTEGRATED_MEMORY_NV 0x4006 - -/********************************* -* cl_amd_device_attribute_query * -*********************************/ -#define CL_DEVICE_PROFILING_TIMER_OFFSET_AMD 0x4036 - -#ifdef CL_VERSION_1_1 - /*********************************** - * cl_ext_device_fission extension * - ***********************************/ - #define cl_ext_device_fission 1 - - extern CL_API_ENTRY cl_int CL_API_CALL - clReleaseDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - typedef CL_API_ENTRY cl_int - (CL_API_CALL *clReleaseDeviceEXT_fn)( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - extern CL_API_ENTRY cl_int CL_API_CALL - clRetainDeviceEXT( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - typedef CL_API_ENTRY cl_int - (CL_API_CALL *clRetainDeviceEXT_fn)( cl_device_id /*device*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - typedef cl_ulong cl_device_partition_property_ext; - extern CL_API_ENTRY cl_int CL_API_CALL - clCreateSubDevicesEXT( cl_device_id /*in_device*/, - const cl_device_partition_property_ext * /* properties */, - cl_uint /*num_entries*/, - cl_device_id * /*out_devices*/, - cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - typedef CL_API_ENTRY cl_int - ( CL_API_CALL * clCreateSubDevicesEXT_fn)( cl_device_id /*in_device*/, - const cl_device_partition_property_ext * /* properties */, - cl_uint /*num_entries*/, - cl_device_id * /*out_devices*/, - cl_uint * /*num_devices*/ ) CL_EXT_SUFFIX__VERSION_1_1; - - /* cl_device_partition_property_ext */ - #define CL_DEVICE_PARTITION_EQUALLY_EXT 0x4050 - #define CL_DEVICE_PARTITION_BY_COUNTS_EXT 0x4051 - #define CL_DEVICE_PARTITION_BY_NAMES_EXT 0x4052 - #define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT 0x4053 - - /* clDeviceGetInfo selectors */ - #define CL_DEVICE_PARENT_DEVICE_EXT 0x4054 - #define CL_DEVICE_PARTITION_TYPES_EXT 0x4055 - #define CL_DEVICE_AFFINITY_DOMAINS_EXT 0x4056 - #define CL_DEVICE_REFERENCE_COUNT_EXT 0x4057 - #define CL_DEVICE_PARTITION_STYLE_EXT 0x4058 - - /* error codes */ - #define CL_DEVICE_PARTITION_FAILED_EXT -1057 - #define CL_INVALID_PARTITION_COUNT_EXT -1058 - #define CL_INVALID_PARTITION_NAME_EXT -1059 - - /* CL_AFFINITY_DOMAINs */ - #define CL_AFFINITY_DOMAIN_L1_CACHE_EXT 0x1 - #define CL_AFFINITY_DOMAIN_L2_CACHE_EXT 0x2 - #define CL_AFFINITY_DOMAIN_L3_CACHE_EXT 0x3 - #define CL_AFFINITY_DOMAIN_L4_CACHE_EXT 0x4 - #define CL_AFFINITY_DOMAIN_NUMA_EXT 0x10 - #define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT 0x100 - - /* cl_device_partition_property_ext list terminators */ - #define CL_PROPERTIES_LIST_END_EXT ((cl_device_partition_property_ext) 0) - #define CL_PARTITION_BY_COUNTS_LIST_END_EXT ((cl_device_partition_property_ext) 0) - #define CL_PARTITION_BY_NAMES_LIST_END_EXT ((cl_device_partition_property_ext) 0 - 1) - -/********************************* -* cl_qcom_ext_host_ptr extension -*********************************/ - -#define CL_MEM_EXT_HOST_PTR_QCOM (1 << 29) - -#define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM 0x40A0 -#define CL_DEVICE_PAGE_SIZE_QCOM 0x40A1 -#define CL_IMAGE_ROW_ALIGNMENT_QCOM 0x40A2 -#define CL_IMAGE_SLICE_ALIGNMENT_QCOM 0x40A3 -#define CL_MEM_HOST_UNCACHED_QCOM 0x40A4 -#define CL_MEM_HOST_WRITEBACK_QCOM 0x40A5 -#define CL_MEM_HOST_WRITETHROUGH_QCOM 0x40A6 -#define CL_MEM_HOST_WRITE_COMBINING_QCOM 0x40A7 - -typedef cl_uint cl_image_pitch_info_qcom; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetDeviceImageInfoQCOM(cl_device_id device, - size_t image_width, - size_t image_height, - const cl_image_format *image_format, - cl_image_pitch_info_qcom param_name, - size_t param_value_size, - void *param_value, - size_t *param_value_size_ret); - -typedef struct _cl_mem_ext_host_ptr -{ - // Type of external memory allocation. - // Legal values will be defined in layered extensions. - cl_uint allocation_type; - - // Host cache policy for this external memory allocation. - cl_uint host_cache_policy; - -} cl_mem_ext_host_ptr; - -/********************************* -* cl_qcom_ion_host_ptr extension -*********************************/ - -#define CL_MEM_ION_HOST_PTR_QCOM 0x40A8 - -typedef struct _cl_mem_ion_host_ptr -{ - // Type of external memory allocation. - // Must be CL_MEM_ION_HOST_PTR_QCOM for ION allocations. - cl_mem_ext_host_ptr ext_host_ptr; - - // ION file descriptor - int ion_filedesc; - - // Host pointer to the ION allocated memory - void* ion_hostptr; - -} cl_mem_ion_host_ptr; - -#endif /* CL_VERSION_1_1 */ - -#ifdef __cplusplus -} -#endif - - -#endif /* __CL_EXT_H */ diff --git a/3rdparty/bx/3rdparty/CL/cl_gl.h b/3rdparty/bx/3rdparty/CL/cl_gl.h deleted file mode 100644 index af2036cc997..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_gl.h +++ /dev/null @@ -1,162 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008 - 2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -#ifndef __OPENCL_CL_GL_H -#define __OPENCL_CL_GL_H - -#ifdef __APPLE__ -#include -#else -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef cl_uint cl_gl_object_type; -typedef cl_uint cl_gl_texture_info; -typedef cl_uint cl_gl_platform_info; -typedef struct __GLsync *cl_GLsync; - -/* cl_gl_object_type = 0x2000 - 0x200F enum values are currently taken */ -#define CL_GL_OBJECT_BUFFER 0x2000 -#define CL_GL_OBJECT_TEXTURE2D 0x2001 -#define CL_GL_OBJECT_TEXTURE3D 0x2002 -#define CL_GL_OBJECT_RENDERBUFFER 0x2003 -#define CL_GL_OBJECT_TEXTURE2D_ARRAY 0x200E -#define CL_GL_OBJECT_TEXTURE1D 0x200F -#define CL_GL_OBJECT_TEXTURE1D_ARRAY 0x2010 -#define CL_GL_OBJECT_TEXTURE_BUFFER 0x2011 - -/* cl_gl_texture_info */ -#define CL_GL_TEXTURE_TARGET 0x2004 -#define CL_GL_MIPMAP_LEVEL 0x2005 -#define CL_GL_NUM_SAMPLES 0x2012 - - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateFromGLBuffer(cl_context /* context */, - cl_mem_flags /* flags */, - cl_GLuint /* bufobj */, - int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateFromGLTexture(cl_context /* context */, - cl_mem_flags /* flags */, - cl_GLenum /* target */, - cl_GLint /* miplevel */, - cl_GLuint /* texture */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; - -extern CL_API_ENTRY cl_mem CL_API_CALL -clCreateFromGLRenderbuffer(cl_context /* context */, - cl_mem_flags /* flags */, - cl_GLuint /* renderbuffer */, - cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetGLObjectInfo(cl_mem /* memobj */, - cl_gl_object_type * /* gl_object_type */, - cl_GLuint * /* gl_object_name */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetGLTextureInfo(cl_mem /* memobj */, - cl_gl_texture_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueAcquireGLObjects(cl_command_queue /* command_queue */, - cl_uint /* num_objects */, - const cl_mem * /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - -extern CL_API_ENTRY cl_int CL_API_CALL -clEnqueueReleaseGLObjects(cl_command_queue /* command_queue */, - cl_uint /* num_objects */, - const cl_mem * /* mem_objects */, - cl_uint /* num_events_in_wait_list */, - const cl_event * /* event_wait_list */, - cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; - - -// Deprecated OpenCL 1.1 APIs -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL -clCreateFromGLTexture2D(cl_context /* context */, - cl_mem_flags /* flags */, - cl_GLenum /* target */, - cl_GLint /* miplevel */, - cl_GLuint /* texture */, - cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -extern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL -clCreateFromGLTexture3D(cl_context /* context */, - cl_mem_flags /* flags */, - cl_GLenum /* target */, - cl_GLint /* miplevel */, - cl_GLuint /* texture */, - cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; - -/* cl_khr_gl_sharing extension */ - -#define cl_khr_gl_sharing 1 - -typedef cl_uint cl_gl_context_info; - -/* Additional Error Codes */ -#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR -1000 - -/* cl_gl_context_info */ -#define CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR 0x2006 -#define CL_DEVICES_FOR_GL_CONTEXT_KHR 0x2007 - -/* Additional cl_context_properties */ -#define CL_GL_CONTEXT_KHR 0x2008 -#define CL_EGL_DISPLAY_KHR 0x2009 -#define CL_GLX_DISPLAY_KHR 0x200A -#define CL_WGL_HDC_KHR 0x200B -#define CL_CGL_SHAREGROUP_KHR 0x200C - -extern CL_API_ENTRY cl_int CL_API_CALL -clGetGLContextInfoKHR(const cl_context_properties * /* properties */, - cl_gl_context_info /* param_name */, - size_t /* param_value_size */, - void * /* param_value */, - size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; - -typedef CL_API_ENTRY cl_int (CL_API_CALL *clGetGLContextInfoKHR_fn)( - const cl_context_properties * properties, - cl_gl_context_info param_name, - size_t param_value_size, - void * param_value, - size_t * param_value_size_ret); - -#ifdef __cplusplus -} -#endif - -#endif /* __OPENCL_CL_GL_H */ diff --git a/3rdparty/bx/3rdparty/CL/cl_gl_ext.h b/3rdparty/bx/3rdparty/CL/cl_gl_ext.h deleted file mode 100644 index 77d53536f62..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_gl_ext.h +++ /dev/null @@ -1,69 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */ - -/* cl_gl_ext.h contains vendor (non-KHR) OpenCL extensions which have */ -/* OpenGL dependencies. */ - -#ifndef __OPENCL_CL_GL_EXT_H -#define __OPENCL_CL_GL_EXT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __APPLE__ - #include -#else - #include -#endif - -/* - * For each extension, follow this template - * cl_VEN_extname extension */ -/* #define cl_VEN_extname 1 - * ... define new types, if any - * ... define new tokens, if any - * ... define new APIs, if any - * - * If you need GLtypes here, mirror them with a cl_GLtype, rather than including a GL header - * This allows us to avoid having to decide whether to include GL headers or GLES here. - */ - -/* - * cl_khr_gl_event extension - * See section 9.9 in the OpenCL 1.1 spec for more information - */ -#define CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR 0x200D - -extern CL_API_ENTRY cl_event CL_API_CALL -clCreateEventFromGLsyncKHR(cl_context /* context */, - cl_GLsync /* cl_GLsync */, - cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1; - -#ifdef __cplusplus -} -#endif - -#endif /* __OPENCL_CL_GL_EXT_H */ diff --git a/3rdparty/bx/3rdparty/CL/cl_platform.h b/3rdparty/bx/3rdparty/CL/cl_platform.h deleted file mode 100644 index cf7b2542d2c..00000000000 --- a/3rdparty/bx/3rdparty/CL/cl_platform.h +++ /dev/null @@ -1,1254 +0,0 @@ -/********************************************************************************** - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - **********************************************************************************/ - -/* $Revision: 11803 $ on $Date: 2010-06-25 10:02:12 -0700 (Fri, 25 Jun 2010) $ */ - -#ifndef __CL_PLATFORM_H -#define __CL_PLATFORM_H - -#ifdef __APPLE__ - /* Contains #defines for AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER below */ - #include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(_WIN32) - #define CL_API_ENTRY - #define CL_API_CALL __stdcall - #define CL_CALLBACK __stdcall -#else - #define CL_API_ENTRY - #define CL_API_CALL - #define CL_CALLBACK -#endif - -#ifdef __APPLE__ - #define CL_EXTENSION_WEAK_LINK __attribute__((weak_import)) - #define CL_API_SUFFIX__VERSION_1_0 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_0 CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER - #define CL_API_SUFFIX__VERSION_1_1 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define GCL_API_SUFFIX__VERSION_1_1 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_1 CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 - - #ifdef AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - #define CL_API_SUFFIX__VERSION_1_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - #define GCL_API_SUFFIX__VERSION_1_2 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_2 CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 - #else - #warning This path should never happen outside of internal operating system development. AvailabilityMacros do not function correctly here! - #define CL_API_SUFFIX__VERSION_1_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define GCL_API_SUFFIX__VERSION_1_2 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_2 CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER - #endif -#else - #define CL_EXTENSION_WEAK_LINK - #define CL_API_SUFFIX__VERSION_1_0 - #define CL_EXT_SUFFIX__VERSION_1_0 - #define CL_API_SUFFIX__VERSION_1_1 - #define CL_EXT_SUFFIX__VERSION_1_1 - #define CL_API_SUFFIX__VERSION_1_2 - #define CL_EXT_SUFFIX__VERSION_1_2 - - #ifdef __GNUC__ - #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED - #else - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED __attribute__((deprecated)) - #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED - #endif - - #ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED - #else - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED __attribute__((deprecated)) - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED - #endif - #elif defined(_WIN32) - #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED - #else - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED __declspec(deprecated) - #endif - - #ifdef CL_USE_DEPRECATED_OPENCL_1_1_APIS - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED - #else - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED __declspec(deprecated) - #endif - #else - #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_0_DEPRECATED - - #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED - #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED - #endif -#endif - -#if (defined (_WIN32) && defined(_MSC_VER)) - -/* scalar types */ -typedef signed __int8 cl_char; -typedef unsigned __int8 cl_uchar; -typedef signed __int16 cl_short; -typedef unsigned __int16 cl_ushort; -typedef signed __int32 cl_int; -typedef unsigned __int32 cl_uint; -typedef signed __int64 cl_long; -typedef unsigned __int64 cl_ulong; - -typedef unsigned __int16 cl_half; -typedef float cl_float; -typedef double cl_double; - -/* Macro names and corresponding values defined by OpenCL */ -#define CL_CHAR_BIT 8 -#define CL_SCHAR_MAX 127 -#define CL_SCHAR_MIN (-127-1) -#define CL_CHAR_MAX CL_SCHAR_MAX -#define CL_CHAR_MIN CL_SCHAR_MIN -#define CL_UCHAR_MAX 255 -#define CL_SHRT_MAX 32767 -#define CL_SHRT_MIN (-32767-1) -#define CL_USHRT_MAX 65535 -#define CL_INT_MAX 2147483647 -#define CL_INT_MIN (-2147483647-1) -#define CL_UINT_MAX 0xffffffffU -#define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) -#define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) -#define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) - -#define CL_FLT_DIG 6 -#define CL_FLT_MANT_DIG 24 -#define CL_FLT_MAX_10_EXP +38 -#define CL_FLT_MAX_EXP +128 -#define CL_FLT_MIN_10_EXP -37 -#define CL_FLT_MIN_EXP -125 -#define CL_FLT_RADIX 2 -#define CL_FLT_MAX 340282346638528859811704183484516925440.0f -#define CL_FLT_MIN 1.175494350822287507969e-38f -#define CL_FLT_EPSILON 0x1.0p-23f - -#define CL_DBL_DIG 15 -#define CL_DBL_MANT_DIG 53 -#define CL_DBL_MAX_10_EXP +308 -#define CL_DBL_MAX_EXP +1024 -#define CL_DBL_MIN_10_EXP -307 -#define CL_DBL_MIN_EXP -1021 -#define CL_DBL_RADIX 2 -#define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0 -#define CL_DBL_MIN 2.225073858507201383090e-308 -#define CL_DBL_EPSILON 2.220446049250313080847e-16 - -#define CL_M_E 2.718281828459045090796 -#define CL_M_LOG2E 1.442695040888963387005 -#define CL_M_LOG10E 0.434294481903251816668 -#define CL_M_LN2 0.693147180559945286227 -#define CL_M_LN10 2.302585092994045901094 -#define CL_M_PI 3.141592653589793115998 -#define CL_M_PI_2 1.570796326794896557999 -#define CL_M_PI_4 0.785398163397448278999 -#define CL_M_1_PI 0.318309886183790691216 -#define CL_M_2_PI 0.636619772367581382433 -#define CL_M_2_SQRTPI 1.128379167095512558561 -#define CL_M_SQRT2 1.414213562373095145475 -#define CL_M_SQRT1_2 0.707106781186547572737 - -#define CL_M_E_F 2.71828174591064f -#define CL_M_LOG2E_F 1.44269502162933f -#define CL_M_LOG10E_F 0.43429449200630f -#define CL_M_LN2_F 0.69314718246460f -#define CL_M_LN10_F 2.30258512496948f -#define CL_M_PI_F 3.14159274101257f -#define CL_M_PI_2_F 1.57079637050629f -#define CL_M_PI_4_F 0.78539818525314f -#define CL_M_1_PI_F 0.31830987334251f -#define CL_M_2_PI_F 0.63661974668503f -#define CL_M_2_SQRTPI_F 1.12837922573090f -#define CL_M_SQRT2_F 1.41421353816986f -#define CL_M_SQRT1_2_F 0.70710676908493f - -#define CL_NAN (CL_INFINITY - CL_INFINITY) -#define CL_HUGE_VALF ((cl_float) 1e50) -#define CL_HUGE_VAL ((cl_double) 1e500) -#define CL_MAXFLOAT CL_FLT_MAX -#define CL_INFINITY CL_HUGE_VALF - -#else - -#include - -/* scalar types */ -typedef int8_t cl_char; -typedef uint8_t cl_uchar; -typedef int16_t cl_short __attribute__((aligned(2))); -typedef uint16_t cl_ushort __attribute__((aligned(2))); -typedef int32_t cl_int __attribute__((aligned(4))); -typedef uint32_t cl_uint __attribute__((aligned(4))); -typedef int64_t cl_long __attribute__((aligned(8))); -typedef uint64_t cl_ulong __attribute__((aligned(8))); - -typedef uint16_t cl_half __attribute__((aligned(2))); -typedef float cl_float __attribute__((aligned(4))); -typedef double cl_double __attribute__((aligned(8))); - -/* Macro names and corresponding values defined by OpenCL */ -#define CL_CHAR_BIT 8 -#define CL_SCHAR_MAX 127 -#define CL_SCHAR_MIN (-127-1) -#define CL_CHAR_MAX CL_SCHAR_MAX -#define CL_CHAR_MIN CL_SCHAR_MIN -#define CL_UCHAR_MAX 255 -#define CL_SHRT_MAX 32767 -#define CL_SHRT_MIN (-32767-1) -#define CL_USHRT_MAX 65535 -#define CL_INT_MAX 2147483647 -#define CL_INT_MIN (-2147483647-1) -#define CL_UINT_MAX 0xffffffffU -#define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) -#define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) -#define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) - -#define CL_FLT_DIG 6 -#define CL_FLT_MANT_DIG 24 -#define CL_FLT_MAX_10_EXP +38 -#define CL_FLT_MAX_EXP +128 -#define CL_FLT_MIN_10_EXP -37 -#define CL_FLT_MIN_EXP -125 -#define CL_FLT_RADIX 2 -#define CL_FLT_MAX 0x1.fffffep127f -#define CL_FLT_MIN 0x1.0p-126f -#define CL_FLT_EPSILON 0x1.0p-23f - -#define CL_DBL_DIG 15 -#define CL_DBL_MANT_DIG 53 -#define CL_DBL_MAX_10_EXP +308 -#define CL_DBL_MAX_EXP +1024 -#define CL_DBL_MIN_10_EXP -307 -#define CL_DBL_MIN_EXP -1021 -#define CL_DBL_RADIX 2 -#define CL_DBL_MAX 0x1.fffffffffffffp1023 -#define CL_DBL_MIN 0x1.0p-1022 -#define CL_DBL_EPSILON 0x1.0p-52 - -#define CL_M_E 2.718281828459045090796 -#define CL_M_LOG2E 1.442695040888963387005 -#define CL_M_LOG10E 0.434294481903251816668 -#define CL_M_LN2 0.693147180559945286227 -#define CL_M_LN10 2.302585092994045901094 -#define CL_M_PI 3.141592653589793115998 -#define CL_M_PI_2 1.570796326794896557999 -#define CL_M_PI_4 0.785398163397448278999 -#define CL_M_1_PI 0.318309886183790691216 -#define CL_M_2_PI 0.636619772367581382433 -#define CL_M_2_SQRTPI 1.128379167095512558561 -#define CL_M_SQRT2 1.414213562373095145475 -#define CL_M_SQRT1_2 0.707106781186547572737 - -#define CL_M_E_F 2.71828174591064f -#define CL_M_LOG2E_F 1.44269502162933f -#define CL_M_LOG10E_F 0.43429449200630f -#define CL_M_LN2_F 0.69314718246460f -#define CL_M_LN10_F 2.30258512496948f -#define CL_M_PI_F 3.14159274101257f -#define CL_M_PI_2_F 1.57079637050629f -#define CL_M_PI_4_F 0.78539818525314f -#define CL_M_1_PI_F 0.31830987334251f -#define CL_M_2_PI_F 0.63661974668503f -#define CL_M_2_SQRTPI_F 1.12837922573090f -#define CL_M_SQRT2_F 1.41421353816986f -#define CL_M_SQRT1_2_F 0.70710676908493f - -#if defined( __GNUC__ ) - #define CL_HUGE_VALF __builtin_huge_valf() - #define CL_HUGE_VAL __builtin_huge_val() - #define CL_NAN __builtin_nanf( "" ) -#else - #define CL_HUGE_VALF ((cl_float) 1e50) - #define CL_HUGE_VAL ((cl_double) 1e500) - float nanf( const char * ); - #define CL_NAN nanf( "" ) -#endif -#define CL_MAXFLOAT CL_FLT_MAX -#define CL_INFINITY CL_HUGE_VALF - -#endif - -#include - -/* Mirror types to GL types. Mirror types allow us to avoid deciding which 87s to load based on whether we are using GL or GLES here. */ -typedef unsigned int cl_GLuint; -typedef int cl_GLint; -typedef unsigned int cl_GLenum; - -/* - * Vector types - * - * Note: OpenCL requires that all types be naturally aligned. - * This means that vector types must be naturally aligned. - * For example, a vector of four floats must be aligned to - * a 16 byte boundary (calculated as 4 * the natural 4-byte - * alignment of the float). The alignment qualifiers here - * will only function properly if your compiler supports them - * and if you don't actively work to defeat them. For example, - * in order for a cl_float4 to be 16 byte aligned in a struct, - * the start of the struct must itself be 16-byte aligned. - * - * Maintaining proper alignment is the user's responsibility. - */ - -/* Define basic vector types */ -#if defined( __VEC__ ) - #include /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */ - typedef vector unsigned char __cl_uchar16; - typedef vector signed char __cl_char16; - typedef vector unsigned short __cl_ushort8; - typedef vector signed short __cl_short8; - typedef vector unsigned int __cl_uint4; - typedef vector signed int __cl_int4; - typedef vector float __cl_float4; - #define __CL_UCHAR16__ 1 - #define __CL_CHAR16__ 1 - #define __CL_USHORT8__ 1 - #define __CL_SHORT8__ 1 - #define __CL_UINT4__ 1 - #define __CL_INT4__ 1 - #define __CL_FLOAT4__ 1 -#endif - -#if defined( __SSE__ ) - #if defined( __MINGW64__ ) - #include - #else - #include - #endif - #if defined( __GNUC__ ) - typedef float __cl_float4 __attribute__((vector_size(16))); - #else - typedef __m128 __cl_float4; - #endif - #define __CL_FLOAT4__ 1 -#endif - -#if defined( __SSE2__ ) - #if defined( __MINGW64__ ) - #include - #else - #include - #endif - #if defined( __GNUC__ ) - typedef cl_uchar __cl_uchar16 __attribute__((vector_size(16))); - typedef cl_char __cl_char16 __attribute__((vector_size(16))); - typedef cl_ushort __cl_ushort8 __attribute__((vector_size(16))); - typedef cl_short __cl_short8 __attribute__((vector_size(16))); - typedef cl_uint __cl_uint4 __attribute__((vector_size(16))); - typedef cl_int __cl_int4 __attribute__((vector_size(16))); - typedef cl_ulong __cl_ulong2 __attribute__((vector_size(16))); - typedef cl_long __cl_long2 __attribute__((vector_size(16))); - typedef cl_double __cl_double2 __attribute__((vector_size(16))); - #else - typedef __m128i __cl_uchar16; - typedef __m128i __cl_char16; - typedef __m128i __cl_ushort8; - typedef __m128i __cl_short8; - typedef __m128i __cl_uint4; - typedef __m128i __cl_int4; - typedef __m128i __cl_ulong2; - typedef __m128i __cl_long2; - typedef __m128d __cl_double2; - #endif - #define __CL_UCHAR16__ 1 - #define __CL_CHAR16__ 1 - #define __CL_USHORT8__ 1 - #define __CL_SHORT8__ 1 - #define __CL_INT4__ 1 - #define __CL_UINT4__ 1 - #define __CL_ULONG2__ 1 - #define __CL_LONG2__ 1 - #define __CL_DOUBLE2__ 1 -#endif - -#if defined( __MMX__ ) - #include - #if defined( __GNUC__ ) - typedef cl_uchar __cl_uchar8 __attribute__((vector_size(8))); - typedef cl_char __cl_char8 __attribute__((vector_size(8))); - typedef cl_ushort __cl_ushort4 __attribute__((vector_size(8))); - typedef cl_short __cl_short4 __attribute__((vector_size(8))); - typedef cl_uint __cl_uint2 __attribute__((vector_size(8))); - typedef cl_int __cl_int2 __attribute__((vector_size(8))); - typedef cl_ulong __cl_ulong1 __attribute__((vector_size(8))); - typedef cl_long __cl_long1 __attribute__((vector_size(8))); - typedef cl_float __cl_float2 __attribute__((vector_size(8))); - #else - typedef __m64 __cl_uchar8; - typedef __m64 __cl_char8; - typedef __m64 __cl_ushort4; - typedef __m64 __cl_short4; - typedef __m64 __cl_uint2; - typedef __m64 __cl_int2; - typedef __m64 __cl_ulong1; - typedef __m64 __cl_long1; - typedef __m64 __cl_float2; - #endif - #define __CL_UCHAR8__ 1 - #define __CL_CHAR8__ 1 - #define __CL_USHORT4__ 1 - #define __CL_SHORT4__ 1 - #define __CL_INT2__ 1 - #define __CL_UINT2__ 1 - #define __CL_ULONG1__ 1 - #define __CL_LONG1__ 1 - #define __CL_FLOAT2__ 1 -#endif - -#if defined( __AVX__ ) - #if defined( __MINGW64__ ) - #include - #else - #include - #endif - #if defined( __GNUC__ ) - typedef cl_float __cl_float8 __attribute__((vector_size(32))); - typedef cl_double __cl_double4 __attribute__((vector_size(32))); - #else - typedef __m256 __cl_float8; - typedef __m256d __cl_double4; - #endif - #define __CL_FLOAT8__ 1 - #define __CL_DOUBLE4__ 1 -#endif - -/* Define alignment keys */ -#if defined( __GNUC__ ) - #define CL_ALIGNED(_x) __attribute__ ((aligned(_x))) -#elif defined( _WIN32 ) && defined( _MSC_VER ) - /* Alignment keys neutered on windows because MSVC can't swallow function arguments with alignment requirements */ - /* http://msdn.microsoft.com/en-us/library/373ak2y1%28VS.71%29.aspx */ - /* #include */ - /* #define CL_ALIGNED(_x) _CRT_ALIGN(_x) */ - #define CL_ALIGNED(_x) -#else - #warning Need to implement some method to align data here - #define CL_ALIGNED(_x) -#endif - -/* Indicate whether .xyzw, .s0123 and .hi.lo are supported */ -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - /* .xyzw and .s0123...{f|F} are supported */ - #define CL_HAS_NAMED_VECTOR_FIELDS 1 - /* .hi and .lo are supported */ - #define CL_HAS_HI_LO_VECTOR_FIELDS 1 -#endif - -/* Define cl_vector types */ - -/* ---- cl_charn ---- */ -typedef union -{ - cl_char CL_ALIGNED(2) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_char x, y; }; - __extension__ struct{ cl_char s0, s1; }; - __extension__ struct{ cl_char lo, hi; }; -#endif -#if defined( __CL_CHAR2__) - __cl_char2 v2; -#endif -}cl_char2; - -typedef union -{ - cl_char CL_ALIGNED(4) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_char x, y, z, w; }; - __extension__ struct{ cl_char s0, s1, s2, s3; }; - __extension__ struct{ cl_char2 lo, hi; }; -#endif -#if defined( __CL_CHAR2__) - __cl_char2 v2[2]; -#endif -#if defined( __CL_CHAR4__) - __cl_char4 v4; -#endif -}cl_char4; - -/* cl_char3 is identical in size, alignment and behavior to cl_char4. See section 6.1.5. */ -typedef cl_char4 cl_char3; - -typedef union -{ - cl_char CL_ALIGNED(8) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_char x, y, z, w; }; - __extension__ struct{ cl_char s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_char4 lo, hi; }; -#endif -#if defined( __CL_CHAR2__) - __cl_char2 v2[4]; -#endif -#if defined( __CL_CHAR4__) - __cl_char4 v4[2]; -#endif -#if defined( __CL_CHAR8__ ) - __cl_char8 v8; -#endif -}cl_char8; - -typedef union -{ - cl_char CL_ALIGNED(16) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_char x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_char s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_char8 lo, hi; }; -#endif -#if defined( __CL_CHAR2__) - __cl_char2 v2[8]; -#endif -#if defined( __CL_CHAR4__) - __cl_char4 v4[4]; -#endif -#if defined( __CL_CHAR8__ ) - __cl_char8 v8[2]; -#endif -#if defined( __CL_CHAR16__ ) - __cl_char16 v16; -#endif -}cl_char16; - - -/* ---- cl_ucharn ---- */ -typedef union -{ - cl_uchar CL_ALIGNED(2) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uchar x, y; }; - __extension__ struct{ cl_uchar s0, s1; }; - __extension__ struct{ cl_uchar lo, hi; }; -#endif -#if defined( __cl_uchar2__) - __cl_uchar2 v2; -#endif -}cl_uchar2; - -typedef union -{ - cl_uchar CL_ALIGNED(4) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uchar x, y, z, w; }; - __extension__ struct{ cl_uchar s0, s1, s2, s3; }; - __extension__ struct{ cl_uchar2 lo, hi; }; -#endif -#if defined( __CL_UCHAR2__) - __cl_uchar2 v2[2]; -#endif -#if defined( __CL_UCHAR4__) - __cl_uchar4 v4; -#endif -}cl_uchar4; - -/* cl_uchar3 is identical in size, alignment and behavior to cl_uchar4. See section 6.1.5. */ -typedef cl_uchar4 cl_uchar3; - -typedef union -{ - cl_uchar CL_ALIGNED(8) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uchar x, y, z, w; }; - __extension__ struct{ cl_uchar s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_uchar4 lo, hi; }; -#endif -#if defined( __CL_UCHAR2__) - __cl_uchar2 v2[4]; -#endif -#if defined( __CL_UCHAR4__) - __cl_uchar4 v4[2]; -#endif -#if defined( __CL_UCHAR8__ ) - __cl_uchar8 v8; -#endif -}cl_uchar8; - -typedef union -{ - cl_uchar CL_ALIGNED(16) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uchar x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_uchar s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_uchar8 lo, hi; }; -#endif -#if defined( __CL_UCHAR2__) - __cl_uchar2 v2[8]; -#endif -#if defined( __CL_UCHAR4__) - __cl_uchar4 v4[4]; -#endif -#if defined( __CL_UCHAR8__ ) - __cl_uchar8 v8[2]; -#endif -#if defined( __CL_UCHAR16__ ) - __cl_uchar16 v16; -#endif -}cl_uchar16; - - -/* ---- cl_shortn ---- */ -typedef union -{ - cl_short CL_ALIGNED(4) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_short x, y; }; - __extension__ struct{ cl_short s0, s1; }; - __extension__ struct{ cl_short lo, hi; }; -#endif -#if defined( __CL_SHORT2__) - __cl_short2 v2; -#endif -}cl_short2; - -typedef union -{ - cl_short CL_ALIGNED(8) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_short x, y, z, w; }; - __extension__ struct{ cl_short s0, s1, s2, s3; }; - __extension__ struct{ cl_short2 lo, hi; }; -#endif -#if defined( __CL_SHORT2__) - __cl_short2 v2[2]; -#endif -#if defined( __CL_SHORT4__) - __cl_short4 v4; -#endif -}cl_short4; - -/* cl_short3 is identical in size, alignment and behavior to cl_short4. See section 6.1.5. */ -typedef cl_short4 cl_short3; - -typedef union -{ - cl_short CL_ALIGNED(16) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_short x, y, z, w; }; - __extension__ struct{ cl_short s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_short4 lo, hi; }; -#endif -#if defined( __CL_SHORT2__) - __cl_short2 v2[4]; -#endif -#if defined( __CL_SHORT4__) - __cl_short4 v4[2]; -#endif -#if defined( __CL_SHORT8__ ) - __cl_short8 v8; -#endif -}cl_short8; - -typedef union -{ - cl_short CL_ALIGNED(32) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_short x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_short s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_short8 lo, hi; }; -#endif -#if defined( __CL_SHORT2__) - __cl_short2 v2[8]; -#endif -#if defined( __CL_SHORT4__) - __cl_short4 v4[4]; -#endif -#if defined( __CL_SHORT8__ ) - __cl_short8 v8[2]; -#endif -#if defined( __CL_SHORT16__ ) - __cl_short16 v16; -#endif -}cl_short16; - - -/* ---- cl_ushortn ---- */ -typedef union -{ - cl_ushort CL_ALIGNED(4) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ushort x, y; }; - __extension__ struct{ cl_ushort s0, s1; }; - __extension__ struct{ cl_ushort lo, hi; }; -#endif -#if defined( __CL_USHORT2__) - __cl_ushort2 v2; -#endif -}cl_ushort2; - -typedef union -{ - cl_ushort CL_ALIGNED(8) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ushort x, y, z, w; }; - __extension__ struct{ cl_ushort s0, s1, s2, s3; }; - __extension__ struct{ cl_ushort2 lo, hi; }; -#endif -#if defined( __CL_USHORT2__) - __cl_ushort2 v2[2]; -#endif -#if defined( __CL_USHORT4__) - __cl_ushort4 v4; -#endif -}cl_ushort4; - -/* cl_ushort3 is identical in size, alignment and behavior to cl_ushort4. See section 6.1.5. */ -typedef cl_ushort4 cl_ushort3; - -typedef union -{ - cl_ushort CL_ALIGNED(16) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ushort x, y, z, w; }; - __extension__ struct{ cl_ushort s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_ushort4 lo, hi; }; -#endif -#if defined( __CL_USHORT2__) - __cl_ushort2 v2[4]; -#endif -#if defined( __CL_USHORT4__) - __cl_ushort4 v4[2]; -#endif -#if defined( __CL_USHORT8__ ) - __cl_ushort8 v8; -#endif -}cl_ushort8; - -typedef union -{ - cl_ushort CL_ALIGNED(32) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ushort x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_ushort s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_ushort8 lo, hi; }; -#endif -#if defined( __CL_USHORT2__) - __cl_ushort2 v2[8]; -#endif -#if defined( __CL_USHORT4__) - __cl_ushort4 v4[4]; -#endif -#if defined( __CL_USHORT8__ ) - __cl_ushort8 v8[2]; -#endif -#if defined( __CL_USHORT16__ ) - __cl_ushort16 v16; -#endif -}cl_ushort16; - -/* ---- cl_intn ---- */ -typedef union -{ - cl_int CL_ALIGNED(8) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_int x, y; }; - __extension__ struct{ cl_int s0, s1; }; - __extension__ struct{ cl_int lo, hi; }; -#endif -#if defined( __CL_INT2__) - __cl_int2 v2; -#endif -}cl_int2; - -typedef union -{ - cl_int CL_ALIGNED(16) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_int x, y, z, w; }; - __extension__ struct{ cl_int s0, s1, s2, s3; }; - __extension__ struct{ cl_int2 lo, hi; }; -#endif -#if defined( __CL_INT2__) - __cl_int2 v2[2]; -#endif -#if defined( __CL_INT4__) - __cl_int4 v4; -#endif -}cl_int4; - -/* cl_int3 is identical in size, alignment and behavior to cl_int4. See section 6.1.5. */ -typedef cl_int4 cl_int3; - -typedef union -{ - cl_int CL_ALIGNED(32) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_int x, y, z, w; }; - __extension__ struct{ cl_int s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_int4 lo, hi; }; -#endif -#if defined( __CL_INT2__) - __cl_int2 v2[4]; -#endif -#if defined( __CL_INT4__) - __cl_int4 v4[2]; -#endif -#if defined( __CL_INT8__ ) - __cl_int8 v8; -#endif -}cl_int8; - -typedef union -{ - cl_int CL_ALIGNED(64) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_int x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_int8 lo, hi; }; -#endif -#if defined( __CL_INT2__) - __cl_int2 v2[8]; -#endif -#if defined( __CL_INT4__) - __cl_int4 v4[4]; -#endif -#if defined( __CL_INT8__ ) - __cl_int8 v8[2]; -#endif -#if defined( __CL_INT16__ ) - __cl_int16 v16; -#endif -}cl_int16; - - -/* ---- cl_uintn ---- */ -typedef union -{ - cl_uint CL_ALIGNED(8) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uint x, y; }; - __extension__ struct{ cl_uint s0, s1; }; - __extension__ struct{ cl_uint lo, hi; }; -#endif -#if defined( __CL_UINT2__) - __cl_uint2 v2; -#endif -}cl_uint2; - -typedef union -{ - cl_uint CL_ALIGNED(16) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uint x, y, z, w; }; - __extension__ struct{ cl_uint s0, s1, s2, s3; }; - __extension__ struct{ cl_uint2 lo, hi; }; -#endif -#if defined( __CL_UINT2__) - __cl_uint2 v2[2]; -#endif -#if defined( __CL_UINT4__) - __cl_uint4 v4; -#endif -}cl_uint4; - -/* cl_uint3 is identical in size, alignment and behavior to cl_uint4. See section 6.1.5. */ -typedef cl_uint4 cl_uint3; - -typedef union -{ - cl_uint CL_ALIGNED(32) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uint x, y, z, w; }; - __extension__ struct{ cl_uint s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_uint4 lo, hi; }; -#endif -#if defined( __CL_UINT2__) - __cl_uint2 v2[4]; -#endif -#if defined( __CL_UINT4__) - __cl_uint4 v4[2]; -#endif -#if defined( __CL_UINT8__ ) - __cl_uint8 v8; -#endif -}cl_uint8; - -typedef union -{ - cl_uint CL_ALIGNED(64) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_uint x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_uint s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_uint8 lo, hi; }; -#endif -#if defined( __CL_UINT2__) - __cl_uint2 v2[8]; -#endif -#if defined( __CL_UINT4__) - __cl_uint4 v4[4]; -#endif -#if defined( __CL_UINT8__ ) - __cl_uint8 v8[2]; -#endif -#if defined( __CL_UINT16__ ) - __cl_uint16 v16; -#endif -}cl_uint16; - -/* ---- cl_longn ---- */ -typedef union -{ - cl_long CL_ALIGNED(16) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_long x, y; }; - __extension__ struct{ cl_long s0, s1; }; - __extension__ struct{ cl_long lo, hi; }; -#endif -#if defined( __CL_LONG2__) - __cl_long2 v2; -#endif -}cl_long2; - -typedef union -{ - cl_long CL_ALIGNED(32) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_long x, y, z, w; }; - __extension__ struct{ cl_long s0, s1, s2, s3; }; - __extension__ struct{ cl_long2 lo, hi; }; -#endif -#if defined( __CL_LONG2__) - __cl_long2 v2[2]; -#endif -#if defined( __CL_LONG4__) - __cl_long4 v4; -#endif -}cl_long4; - -/* cl_long3 is identical in size, alignment and behavior to cl_long4. See section 6.1.5. */ -typedef cl_long4 cl_long3; - -typedef union -{ - cl_long CL_ALIGNED(64) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_long x, y, z, w; }; - __extension__ struct{ cl_long s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_long4 lo, hi; }; -#endif -#if defined( __CL_LONG2__) - __cl_long2 v2[4]; -#endif -#if defined( __CL_LONG4__) - __cl_long4 v4[2]; -#endif -#if defined( __CL_LONG8__ ) - __cl_long8 v8; -#endif -}cl_long8; - -typedef union -{ - cl_long CL_ALIGNED(128) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_long x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_long s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_long8 lo, hi; }; -#endif -#if defined( __CL_LONG2__) - __cl_long2 v2[8]; -#endif -#if defined( __CL_LONG4__) - __cl_long4 v4[4]; -#endif -#if defined( __CL_LONG8__ ) - __cl_long8 v8[2]; -#endif -#if defined( __CL_LONG16__ ) - __cl_long16 v16; -#endif -}cl_long16; - - -/* ---- cl_ulongn ---- */ -typedef union -{ - cl_ulong CL_ALIGNED(16) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ulong x, y; }; - __extension__ struct{ cl_ulong s0, s1; }; - __extension__ struct{ cl_ulong lo, hi; }; -#endif -#if defined( __CL_ULONG2__) - __cl_ulong2 v2; -#endif -}cl_ulong2; - -typedef union -{ - cl_ulong CL_ALIGNED(32) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ulong x, y, z, w; }; - __extension__ struct{ cl_ulong s0, s1, s2, s3; }; - __extension__ struct{ cl_ulong2 lo, hi; }; -#endif -#if defined( __CL_ULONG2__) - __cl_ulong2 v2[2]; -#endif -#if defined( __CL_ULONG4__) - __cl_ulong4 v4; -#endif -}cl_ulong4; - -/* cl_ulong3 is identical in size, alignment and behavior to cl_ulong4. See section 6.1.5. */ -typedef cl_ulong4 cl_ulong3; - -typedef union -{ - cl_ulong CL_ALIGNED(64) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ulong x, y, z, w; }; - __extension__ struct{ cl_ulong s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_ulong4 lo, hi; }; -#endif -#if defined( __CL_ULONG2__) - __cl_ulong2 v2[4]; -#endif -#if defined( __CL_ULONG4__) - __cl_ulong4 v4[2]; -#endif -#if defined( __CL_ULONG8__ ) - __cl_ulong8 v8; -#endif -}cl_ulong8; - -typedef union -{ - cl_ulong CL_ALIGNED(128) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_ulong x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_ulong s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_ulong8 lo, hi; }; -#endif -#if defined( __CL_ULONG2__) - __cl_ulong2 v2[8]; -#endif -#if defined( __CL_ULONG4__) - __cl_ulong4 v4[4]; -#endif -#if defined( __CL_ULONG8__ ) - __cl_ulong8 v8[2]; -#endif -#if defined( __CL_ULONG16__ ) - __cl_ulong16 v16; -#endif -}cl_ulong16; - - -/* --- cl_floatn ---- */ - -typedef union -{ - cl_float CL_ALIGNED(8) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_float x, y; }; - __extension__ struct{ cl_float s0, s1; }; - __extension__ struct{ cl_float lo, hi; }; -#endif -#if defined( __CL_FLOAT2__) - __cl_float2 v2; -#endif -}cl_float2; - -typedef union -{ - cl_float CL_ALIGNED(16) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_float x, y, z, w; }; - __extension__ struct{ cl_float s0, s1, s2, s3; }; - __extension__ struct{ cl_float2 lo, hi; }; -#endif -#if defined( __CL_FLOAT2__) - __cl_float2 v2[2]; -#endif -#if defined( __CL_FLOAT4__) - __cl_float4 v4; -#endif -}cl_float4; - -/* cl_float3 is identical in size, alignment and behavior to cl_float4. See section 6.1.5. */ -typedef cl_float4 cl_float3; - -typedef union -{ - cl_float CL_ALIGNED(32) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_float x, y, z, w; }; - __extension__ struct{ cl_float s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_float4 lo, hi; }; -#endif -#if defined( __CL_FLOAT2__) - __cl_float2 v2[4]; -#endif -#if defined( __CL_FLOAT4__) - __cl_float4 v4[2]; -#endif -#if defined( __CL_FLOAT8__ ) - __cl_float8 v8; -#endif -}cl_float8; - -typedef union -{ - cl_float CL_ALIGNED(64) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_float x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_float s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_float8 lo, hi; }; -#endif -#if defined( __CL_FLOAT2__) - __cl_float2 v2[8]; -#endif -#if defined( __CL_FLOAT4__) - __cl_float4 v4[4]; -#endif -#if defined( __CL_FLOAT8__ ) - __cl_float8 v8[2]; -#endif -#if defined( __CL_FLOAT16__ ) - __cl_float16 v16; -#endif -}cl_float16; - -/* --- cl_doublen ---- */ - -typedef union -{ - cl_double CL_ALIGNED(16) s[2]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_double x, y; }; - __extension__ struct{ cl_double s0, s1; }; - __extension__ struct{ cl_double lo, hi; }; -#endif -#if defined( __CL_DOUBLE2__) - __cl_double2 v2; -#endif -}cl_double2; - -typedef union -{ - cl_double CL_ALIGNED(32) s[4]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_double x, y, z, w; }; - __extension__ struct{ cl_double s0, s1, s2, s3; }; - __extension__ struct{ cl_double2 lo, hi; }; -#endif -#if defined( __CL_DOUBLE2__) - __cl_double2 v2[2]; -#endif -#if defined( __CL_DOUBLE4__) - __cl_double4 v4; -#endif -}cl_double4; - -/* cl_double3 is identical in size, alignment and behavior to cl_double4. See section 6.1.5. */ -typedef cl_double4 cl_double3; - -typedef union -{ - cl_double CL_ALIGNED(64) s[8]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_double x, y, z, w; }; - __extension__ struct{ cl_double s0, s1, s2, s3, s4, s5, s6, s7; }; - __extension__ struct{ cl_double4 lo, hi; }; -#endif -#if defined( __CL_DOUBLE2__) - __cl_double2 v2[4]; -#endif -#if defined( __CL_DOUBLE4__) - __cl_double4 v4[2]; -#endif -#if defined( __CL_DOUBLE8__ ) - __cl_double8 v8; -#endif -}cl_double8; - -typedef union -{ - cl_double CL_ALIGNED(128) s[16]; -#if defined( __GNUC__) && ! defined( __STRICT_ANSI__ ) - __extension__ struct{ cl_double x, y, z, w, __spacer4, __spacer5, __spacer6, __spacer7, __spacer8, __spacer9, sa, sb, sc, sd, se, sf; }; - __extension__ struct{ cl_double s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, sA, sB, sC, sD, sE, sF; }; - __extension__ struct{ cl_double8 lo, hi; }; -#endif -#if defined( __CL_DOUBLE2__) - __cl_double2 v2[8]; -#endif -#if defined( __CL_DOUBLE4__) - __cl_double4 v4[4]; -#endif -#if defined( __CL_DOUBLE8__ ) - __cl_double8 v8[2]; -#endif -#if defined( __CL_DOUBLE16__ ) - __cl_double16 v16; -#endif -}cl_double16; - -/* Macro to facilitate debugging - * Usage: - * Place CL_PROGRAM_STRING_DEBUG_INFO on the line before the first line of your source. - * The first line ends with: CL_PROGRAM_STRING_DEBUG_INFO \" - * Each line thereafter of OpenCL C source must end with: \n\ - * The last line ends in "; - * - * Example: - * - * const char *my_program = CL_PROGRAM_STRING_DEBUG_INFO "\ - * kernel void foo( int a, float * b ) \n\ - * { \n\ - * // my comment \n\ - * *b[ get_global_id(0)] = a; \n\ - * } \n\ - * "; - * - * This should correctly set up the line, (column) and file information for your source - * string so you can do source level debugging. - */ -#define __CL_STRINGIFY( _x ) # _x -#define _CL_STRINGIFY( _x ) __CL_STRINGIFY( _x ) -#define CL_PROGRAM_STRING_DEBUG_INFO "#line " _CL_STRINGIFY(__LINE__) " \"" __FILE__ "\" \n\n" - -#ifdef __cplusplus -} -#endif - -#endif /* __CL_PLATFORM_H */ diff --git a/3rdparty/bx/3rdparty/CL/opencl.h b/3rdparty/bx/3rdparty/CL/opencl.h deleted file mode 100644 index 3f00524719b..00000000000 --- a/3rdparty/bx/3rdparty/CL/opencl.h +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008-2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -/* $Revision: 11708 $ on $Date: 2010-06-13 23:36:24 -0700 (Sun, 13 Jun 2010) $ */ - -#ifndef __OPENCL_H -#define __OPENCL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __APPLE__ - -#include -#include -#include -#include - -#else - -#include -#include -#include -#include - -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __OPENCL_H */ - diff --git a/3rdparty/bx/3rdparty/catch/catch.hpp b/3rdparty/bx/3rdparty/catch/catch.hpp index 7df2fd09c00..2a09fd193a0 100644 --- a/3rdparty/bx/3rdparty/catch/catch.hpp +++ b/3rdparty/bx/3rdparty/catch/catch.hpp @@ -1,6 +1,6 @@ /* - * Catch v1.5.4 - * Generated: 2016-05-12 19:16:01.957320 + * Catch v1.7.2 + * Generated: 2017-02-13 15:57:33.350226 * ---------------------------------------------------------- * This file has been merged from multiple headers. Please don't edit it directly * Copyright (c) 2012 Two Blue Cubes Ltd. All rights reserved. @@ -60,21 +60,6 @@ // #included from: catch_common.h #define TWOBLUECUBES_CATCH_COMMON_H_INCLUDED -#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line -#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) -#ifdef CATCH_CONFIG_COUNTER -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ ) -#else -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) -#endif - -#define INTERNAL_CATCH_STRINGIFY2( expr ) #expr -#define INTERNAL_CATCH_STRINGIFY( expr ) INTERNAL_CATCH_STRINGIFY2( expr ) - -#include -#include -#include - // #included from: catch_compiler_capabilities.h #define TWOBLUECUBES_CATCH_COMPILER_CAPABILITIES_HPP_INCLUDED @@ -89,11 +74,14 @@ // CATCH_CONFIG_CPP11_LONG_LONG : is long long supported? // CATCH_CONFIG_CPP11_OVERRIDE : is override supported? // CATCH_CONFIG_CPP11_UNIQUE_PTR : is unique_ptr supported (otherwise use auto_ptr) +// CATCH_CONFIG_CPP11_SHUFFLE : is std::shuffle supported? +// CATCH_CONFIG_CPP11_TYPE_TRAITS : are type_traits and enable_if supported? // CATCH_CONFIG_CPP11_OR_GREATER : Is C++11 supported? // CATCH_CONFIG_VARIADIC_MACROS : are variadic macros supported? // CATCH_CONFIG_COUNTER : is the __COUNTER__ macro supported? +// CATCH_CONFIG_WINDOWS_SEH : is Windows SEH supported? // **************** // Note to maintainers: if new toggles are added please document them // in configuration.md, too @@ -106,8 +94,16 @@ // All the C++11 features can be disabled with CATCH_CONFIG_NO_CPP11 -#if defined(__cplusplus) && __cplusplus >= 201103L -# define CATCH_CPP11_OR_GREATER +#ifdef __cplusplus + +# if __cplusplus >= 201103L +# define CATCH_CPP11_OR_GREATER +# endif + +# if __cplusplus >= 201402L +# define CATCH_CPP14_OR_GREATER +# endif + #endif #ifdef __clang__ @@ -165,6 +161,8 @@ // Visual C++ #ifdef _MSC_VER +#define CATCH_INTERNAL_CONFIG_WINDOWS_SEH + #if (_MSC_VER >= 1600) # define CATCH_INTERNAL_CONFIG_CPP11_NULLPTR # define CATCH_INTERNAL_CONFIG_CPP11_UNIQUE_PTR @@ -173,6 +171,8 @@ #if (_MSC_VER >= 1900 ) // (VC++ 13 (VS2015)) #define CATCH_INTERNAL_CONFIG_CPP11_NOEXCEPT #define CATCH_INTERNAL_CONFIG_CPP11_GENERATED_METHODS +#define CATCH_INTERNAL_CONFIG_CPP11_SHUFFLE +#define CATCH_INTERNAL_CONFIG_CPP11_TYPE_TRAITS #endif #endif // _MSC_VER @@ -238,6 +238,12 @@ # if !defined(CATCH_INTERNAL_CONFIG_CPP11_UNIQUE_PTR) # define CATCH_INTERNAL_CONFIG_CPP11_UNIQUE_PTR # endif +# if !defined(CATCH_INTERNAL_CONFIG_CPP11_SHUFFLE) +# define CATCH_INTERNAL_CONFIG_CPP11_SHUFFLE +# endif +# if !defined(CATCH_INTERNAL_CONFIG_CPP11_TYPE_TRAITS) +# define CATCH_INTERNAL_CONFIG_CPP11_TYPE_TRAITS +# endif #endif // __cplusplus >= 201103L @@ -260,18 +266,30 @@ #if defined(CATCH_INTERNAL_CONFIG_VARIADIC_MACROS) && !defined(CATCH_CONFIG_NO_VARIADIC_MACROS) && !defined(CATCH_CONFIG_VARIADIC_MACROS) # define CATCH_CONFIG_VARIADIC_MACROS #endif -#if defined(CATCH_INTERNAL_CONFIG_CPP11_LONG_LONG) && !defined(CATCH_CONFIG_NO_LONG_LONG) && !defined(CATCH_CONFIG_CPP11_LONG_LONG) && !defined(CATCH_CONFIG_NO_CPP11) +#if defined(CATCH_INTERNAL_CONFIG_CPP11_LONG_LONG) && !defined(CATCH_CONFIG_CPP11_NO_LONG_LONG) && !defined(CATCH_CONFIG_CPP11_LONG_LONG) && !defined(CATCH_CONFIG_NO_CPP11) # define CATCH_CONFIG_CPP11_LONG_LONG #endif -#if defined(CATCH_INTERNAL_CONFIG_CPP11_OVERRIDE) && !defined(CATCH_CONFIG_NO_OVERRIDE) && !defined(CATCH_CONFIG_CPP11_OVERRIDE) && !defined(CATCH_CONFIG_NO_CPP11) +#if defined(CATCH_INTERNAL_CONFIG_CPP11_OVERRIDE) && !defined(CATCH_CONFIG_CPP11_NO_OVERRIDE) && !defined(CATCH_CONFIG_CPP11_OVERRIDE) && !defined(CATCH_CONFIG_NO_CPP11) # define CATCH_CONFIG_CPP11_OVERRIDE #endif -#if defined(CATCH_INTERNAL_CONFIG_CPP11_UNIQUE_PTR) && !defined(CATCH_CONFIG_NO_UNIQUE_PTR) && !defined(CATCH_CONFIG_CPP11_UNIQUE_PTR) && !defined(CATCH_CONFIG_NO_CPP11) +#if defined(CATCH_INTERNAL_CONFIG_CPP11_UNIQUE_PTR) && !defined(CATCH_CONFIG_CPP11_NO_UNIQUE_PTR) && !defined(CATCH_CONFIG_CPP11_UNIQUE_PTR) && !defined(CATCH_CONFIG_NO_CPP11) # define CATCH_CONFIG_CPP11_UNIQUE_PTR #endif -#if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) +// Use of __COUNTER__ is suppressed if __JETBRAINS_IDE__ is #defined (meaning we're being parsed by a JetBrains IDE for +// analytics) because, at time of writing, __COUNTER__ is not properly handled by it. +// This does not affect compilation +#if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) && !defined(__JETBRAINS_IDE__) # define CATCH_CONFIG_COUNTER #endif +#if defined(CATCH_INTERNAL_CONFIG_CPP11_SHUFFLE) && !defined(CATCH_CONFIG_CPP11_NO_SHUFFLE) && !defined(CATCH_CONFIG_CPP11_SHUFFLE) && !defined(CATCH_CONFIG_NO_CPP11) +# define CATCH_CONFIG_CPP11_SHUFFLE +#endif +# if defined(CATCH_INTERNAL_CONFIG_CPP11_TYPE_TRAITS) && !defined(CATCH_CONFIG_CPP11_NO_TYPE_TRAITS) && !defined(CATCH_CONFIG_CPP11_TYPE_TRAITS) && !defined(CATCH_CONFIG_NO_CPP11) +# define CATCH_CONFIG_CPP11_TYPE_TRAITS +# endif +#if defined(CATCH_INTERNAL_CONFIG_WINDOWS_SEH) && !defined(CATCH_CONFIG_NO_WINDOWS_SEH) && !defined(CATCH_CONFIG_WINDOWS_SEH) +# define CATCH_CONFIG_WINDOWS_SEH +#endif #if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) # define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS @@ -307,6 +325,20 @@ # define CATCH_AUTO_PTR( T ) std::auto_ptr #endif +#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line +#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) +#ifdef CATCH_CONFIG_COUNTER +# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ ) +#else +# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) +#endif + +#define INTERNAL_CATCH_STRINGIFY2( expr ) #expr +#define INTERNAL_CATCH_STRINGIFY( expr ) INTERNAL_CATCH_STRINGIFY2( expr ) + +#include +#include + namespace Catch { struct IConfig; @@ -359,7 +391,9 @@ namespace Catch { } bool startsWith( std::string const& s, std::string const& prefix ); + bool startsWith( std::string const& s, char prefix ); bool endsWith( std::string const& s, std::string const& suffix ); + bool endsWith( std::string const& s, char suffix ); bool contains( std::string const& s, std::string const& infix ); void toLowerInPlace( std::string& s ); std::string toLower( std::string const& s ); @@ -379,8 +413,8 @@ namespace Catch { SourceLineInfo(); SourceLineInfo( char const* _file, std::size_t _line ); - SourceLineInfo( SourceLineInfo const& other ); # ifdef CATCH_CONFIG_CPP11_GENERATED_METHODS + SourceLineInfo(SourceLineInfo const& other) = default; SourceLineInfo( SourceLineInfo && ) = default; SourceLineInfo& operator = ( SourceLineInfo const& ) = default; SourceLineInfo& operator = ( SourceLineInfo && ) = default; @@ -389,7 +423,7 @@ namespace Catch { bool operator == ( SourceLineInfo const& other ) const; bool operator < ( SourceLineInfo const& other ) const; - std::string file; + char const* file; std::size_t line; }; @@ -423,8 +457,6 @@ namespace Catch { #define CATCH_INTERNAL_LINEINFO ::Catch::SourceLineInfo( __FILE__, static_cast( __LINE__ ) ) #define CATCH_INTERNAL_ERROR( msg ) ::Catch::throwLogicError( msg, CATCH_INTERNAL_LINEINFO ); -#include - namespace Catch { class NotImplementedException : public std::exception @@ -557,10 +589,6 @@ namespace Catch { #pragma clang diagnostic pop #endif -#include -#include -#include - namespace Catch { class TestCase; @@ -824,6 +852,27 @@ namespace Catch { namespace Catch { + struct STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison; + + struct DecomposedExpression + { + virtual ~DecomposedExpression() {} + virtual bool isBinaryExpression() const { + return false; + } + virtual void reconstructExpression( std::string& dest ) const = 0; + + // Only simple binary comparisons can be decomposed. + // If more complex check is required then wrap sub-expressions in parentheses. + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator + ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator - ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator * ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator / ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator % ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator && ( T const& ); + template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator || ( T const& ); + }; + struct AssertionInfo { AssertionInfo() {} @@ -840,11 +889,41 @@ namespace Catch { struct AssertionResultData { - AssertionResultData() : resultType( ResultWas::Unknown ) {} + AssertionResultData() : decomposedExpression( CATCH_NULL ) + , resultType( ResultWas::Unknown ) + , negated( false ) + , parenthesized( false ) {} + + void negate( bool parenthesize ) { + negated = !negated; + parenthesized = parenthesize; + if( resultType == ResultWas::Ok ) + resultType = ResultWas::ExpressionFailed; + else if( resultType == ResultWas::ExpressionFailed ) + resultType = ResultWas::Ok; + } + + std::string const& reconstructExpression() const { + if( decomposedExpression != CATCH_NULL ) { + decomposedExpression->reconstructExpression( reconstructedExpression ); + if( parenthesized ) { + reconstructedExpression.insert( 0, 1, '(' ); + reconstructedExpression.append( 1, ')' ); + } + if( negated ) { + reconstructedExpression.insert( 0, 1, '!' ); + } + decomposedExpression = CATCH_NULL; + } + return reconstructedExpression; + } - std::string reconstructedExpression; + mutable DecomposedExpression const* decomposedExpression; + mutable std::string reconstructedExpression; std::string message; ResultWas::OfType resultType; + bool negated; + bool parenthesized; }; class AssertionResult { @@ -871,6 +950,8 @@ namespace Catch { std::string getMessage() const; SourceLineInfo getSourceInfo() const; std::string getTestMacroName() const; + void discardDecomposedExpression() const; + void expandDecomposedExpression() const; protected: AssertionInfo m_info; @@ -1057,7 +1138,7 @@ namespace Matchers { { return m_caseSensitivity == CaseSensitive::No ? " (case insensitive)" - : ""; + : std::string(); } CaseSensitive::Choice m_caseSensitivity; std::string m_str; @@ -1075,7 +1156,7 @@ namespace Matchers { return m_data.m_str == m_data.adjustString( expr );; } virtual std::string toString() const { - return "equals: \"" + m_data.m_str + "\"" + m_data.toStringSuffix(); + return "equals: \"" + m_data.m_str + '"' + m_data.toStringSuffix(); } CasedString m_data; @@ -1092,7 +1173,7 @@ namespace Matchers { return m_data.adjustString( expr ).find( m_data.m_str ) != std::string::npos; } virtual std::string toString() const { - return "contains: \"" + m_data.m_str + "\"" + m_data.toStringSuffix(); + return "contains: \"" + m_data.m_str + '"' + m_data.toStringSuffix(); } CasedString m_data; @@ -1110,7 +1191,7 @@ namespace Matchers { return startsWith( m_data.adjustString( expr ), m_data.m_str ); } virtual std::string toString() const { - return "starts with: \"" + m_data.m_str + "\"" + m_data.toStringSuffix(); + return "starts with: \"" + m_data.m_str + '"' + m_data.toStringSuffix(); } CasedString m_data; @@ -1127,7 +1208,7 @@ namespace Matchers { return endsWith( m_data.adjustString( expr ), m_data.m_str ); } virtual std::string toString() const { - return "ends with: \"" + m_data.m_str + "\"" + m_data.toStringSuffix(); + return "ends with: \"" + m_data.m_str + '"' + m_data.toStringSuffix(); } CasedString m_data; @@ -1202,22 +1283,20 @@ namespace Catch { template class ExpressionLhs; - struct STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison; - struct CopyableStream { CopyableStream() {} CopyableStream( CopyableStream const& other ) { oss << other.oss.str(); } CopyableStream& operator=( CopyableStream const& other ) { - oss.str(""); + oss.str(std::string()); oss << other.oss.str(); return *this; } std::ostringstream oss; }; - class ResultBuilder { + class ResultBuilder : public DecomposedExpression { public: ResultBuilder( char const* macroName, SourceLineInfo const& lineInfo, @@ -1235,19 +1314,15 @@ namespace Catch { return *this; } - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator && ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator || ( RhsT const& ); - ResultBuilder& setResultType( ResultWas::OfType result ); ResultBuilder& setResultType( bool result ); - ResultBuilder& setLhs( std::string const& lhs ); - ResultBuilder& setRhs( std::string const& rhs ); - ResultBuilder& setOp( std::string const& op ); - void endExpression(); + void endExpression( DecomposedExpression const& expr ); + + virtual void reconstructExpression( std::string& dest ) const CATCH_OVERRIDE; - std::string reconstructExpression() const; AssertionResult build() const; + AssertionResult build( DecomposedExpression const& expr ) const; void useActiveException( ResultDisposition::Flags resultDisposition = ResultDisposition::Normal ); void captureResult( ResultWas::OfType resultType ); @@ -1259,14 +1334,12 @@ namespace Catch { bool shouldDebugBreak() const; bool allowThrows() const; + template + void captureMatch( ArgT const& arg, MatcherT const& matcher, char const* matcherString ); + private: AssertionInfo m_assertionInfo; AssertionResultData m_data; - struct ExprComponents { - ExprComponents() : testFalse( false ) {} - bool testFalse; - std::string lhs, rhs, op; - } m_exprComponents; CopyableStream m_stream; bool m_shouldDebugBreak; @@ -1788,90 +1861,155 @@ std::string toString( T const& value ) { namespace Catch { -// Wraps the LHS of an expression and captures the operator and RHS (if any) - -// wrapping them all in a ResultBuilder object -template -class ExpressionLhs { - ExpressionLhs& operator = ( ExpressionLhs const& ); -# ifdef CATCH_CONFIG_CPP11_GENERATED_METHODS - ExpressionLhs& operator = ( ExpressionLhs && ) = delete; -# endif +template +class BinaryExpression; +template +class MatchExpression; + +// Wraps the LHS of an expression and overloads comparison operators +// for also capturing those and RHS (if any) +template +class ExpressionLhs : public DecomposedExpression { public: - ExpressionLhs( ResultBuilder& rb, T lhs ) : m_rb( rb ), m_lhs( lhs ) {} -# ifdef CATCH_CONFIG_CPP11_GENERATED_METHODS - ExpressionLhs( ExpressionLhs const& ) = default; - ExpressionLhs( ExpressionLhs && ) = default; -# endif + ExpressionLhs( ResultBuilder& rb, T lhs ) : m_rb( rb ), m_lhs( lhs ), m_truthy(false) {} template - ResultBuilder& operator == ( RhsT const& rhs ) { + BinaryExpression + operator == ( RhsT const& rhs ) { return captureExpression( rhs ); } template - ResultBuilder& operator != ( RhsT const& rhs ) { + BinaryExpression + operator != ( RhsT const& rhs ) { return captureExpression( rhs ); } template - ResultBuilder& operator < ( RhsT const& rhs ) { + BinaryExpression + operator < ( RhsT const& rhs ) { return captureExpression( rhs ); } template - ResultBuilder& operator > ( RhsT const& rhs ) { + BinaryExpression + operator > ( RhsT const& rhs ) { return captureExpression( rhs ); } template - ResultBuilder& operator <= ( RhsT const& rhs ) { + BinaryExpression + operator <= ( RhsT const& rhs ) { return captureExpression( rhs ); } template - ResultBuilder& operator >= ( RhsT const& rhs ) { + BinaryExpression + operator >= ( RhsT const& rhs ) { return captureExpression( rhs ); } - ResultBuilder& operator == ( bool rhs ) { + BinaryExpression operator == ( bool rhs ) { return captureExpression( rhs ); } - ResultBuilder& operator != ( bool rhs ) { + BinaryExpression operator != ( bool rhs ) { return captureExpression( rhs ); } void endExpression() { - bool value = m_lhs ? true : false; + m_truthy = m_lhs ? true : false; m_rb - .setLhs( Catch::toString( value ) ) - .setResultType( value ) - .endExpression(); + .setResultType( m_truthy ) + .endExpression( *this ); } - // Only simple binary expressions are allowed on the LHS. - // If more complex compositions are required then place the sub expression in parentheses - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator + ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator - ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator / ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator * ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator && ( RhsT const& ); - template STATIC_ASSERT_Expression_Too_Complex_Please_Rewrite_As_Binary_Comparison& operator || ( RhsT const& ); + virtual void reconstructExpression( std::string& dest ) const CATCH_OVERRIDE { + dest = Catch::toString( m_truthy ); + } private: template - ResultBuilder& captureExpression( RhsT const& rhs ) { - return m_rb - .setResultType( Internal::compare( m_lhs, rhs ) ) - .setLhs( Catch::toString( m_lhs ) ) - .setRhs( Catch::toString( rhs ) ) - .setOp( Internal::OperatorTraits::getName() ); + BinaryExpression captureExpression( RhsT& rhs ) const { + return BinaryExpression( m_rb, m_lhs, rhs ); + } + + template + BinaryExpression captureExpression( bool rhs ) const { + return BinaryExpression( m_rb, m_lhs, rhs ); } private: ResultBuilder& m_rb; T m_lhs; + bool m_truthy; +}; + +template +class BinaryExpression : public DecomposedExpression { +public: + BinaryExpression( ResultBuilder& rb, LhsT lhs, RhsT rhs ) + : m_rb( rb ), m_lhs( lhs ), m_rhs( rhs ) {} + + void endExpression() const { + m_rb + .setResultType( Internal::compare( m_lhs, m_rhs ) ) + .endExpression( *this ); + } + + virtual bool isBinaryExpression() const CATCH_OVERRIDE { + return true; + } + + virtual void reconstructExpression( std::string& dest ) const CATCH_OVERRIDE { + std::string lhs = Catch::toString( m_lhs ); + std::string rhs = Catch::toString( m_rhs ); + char delim = lhs.size() + rhs.size() < 40 && + lhs.find('\n') == std::string::npos && + rhs.find('\n') == std::string::npos ? ' ' : '\n'; + dest.reserve( 7 + lhs.size() + rhs.size() ); + // 2 for spaces around operator + // 2 for operator + // 2 for parentheses (conditionally added later) + // 1 for negation (conditionally added later) + dest = lhs; + dest += delim; + dest += Internal::OperatorTraits::getName(); + dest += delim; + dest += rhs; + } + +private: + ResultBuilder& m_rb; + LhsT m_lhs; + RhsT m_rhs; +}; + +template +class MatchExpression : public DecomposedExpression { +public: + MatchExpression( ArgT arg, MatcherT matcher, char const* matcherString ) + : m_arg( arg ), m_matcher( matcher ), m_matcherString( matcherString ) {} + + virtual bool isBinaryExpression() const CATCH_OVERRIDE { + return true; + } + + virtual void reconstructExpression( std::string& dest ) const CATCH_OVERRIDE { + std::string matcherAsString = m_matcher.toString(); + dest = Catch::toString( m_arg ); + dest += ' '; + if( matcherAsString == Detail::unprintableString ) + dest += m_matcherString; + else + dest += matcherAsString; + } + +private: + ArgT m_arg; + MatcherT m_matcher; + char const* m_matcherString; }; } // end namespace Catch @@ -1888,6 +2026,14 @@ namespace Catch { return ExpressionLhs( *this, value ); } + template + inline void ResultBuilder::captureMatch( ArgT const& arg, MatcherT const& matcher, + char const* matcherString ) { + MatchExpression expr( arg, matcher, matcherString ); + setResultType( matcher.match( arg ) ); + endExpression( expr ); + } + } // namespace Catch // #included from: catch_message.h @@ -1990,11 +2136,19 @@ namespace Catch { #define TWOBLUECUBES_CATCH_PLATFORM_H_INCLUDED #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) -#define CATCH_PLATFORM_MAC +# define CATCH_PLATFORM_MAC #elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED) -#define CATCH_PLATFORM_IPHONE +# define CATCH_PLATFORM_IPHONE +#elif defined(linux) || defined(__linux) || defined(__linux__) +# define CATCH_PLATFORM_LINUX #elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) -#define CATCH_PLATFORM_WINDOWS +# define CATCH_PLATFORM_WINDOWS +# if !defined(NOMINMAX) && !defined(CATCH_CONFIG_NO_NOMINMAX) +# define CATCH_DEFINES_NOMINMAX +# endif +# if !defined(WIN32_LEAN_AND_MEAN) && !defined(CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN) +# define CATCH_DEFINES_WIN32_LEAN_AND_MEAN +# endif #endif #include @@ -2009,27 +2163,36 @@ namespace Catch{ // The following code snippet based on: // http://cocoawithlove.com/2008/03/break-into-debugger.html - #ifdef DEBUG - #if defined(__ppc64__) || defined(__ppc__) - #define CATCH_BREAK_INTO_DEBUGGER() \ - if( Catch::isDebuggerActive() ) { \ - __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n" \ - : : : "memory","r0","r3","r4" ); \ - } - #else - #define CATCH_BREAK_INTO_DEBUGGER() if( Catch::isDebuggerActive() ) {__asm__("int $3\n" : : );} - #endif + #if defined(__ppc64__) || defined(__ppc__) + #define CATCH_TRAP() \ + __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n" \ + : : : "memory","r0","r3","r4" ) + #else + #define CATCH_TRAP() __asm__("int $3\n" : : ) #endif +#elif defined(CATCH_PLATFORM_LINUX) + // If we can use inline assembler, do it because this allows us to break + // directly at the location of the failing check instead of breaking inside + // raise() called from it, i.e. one stack frame below. + #if defined(__GNUC__) && (defined(__i386) || defined(__x86_64)) + #define CATCH_TRAP() asm volatile ("int $3") + #else // Fall back to the generic way. + #include + + #define CATCH_TRAP() raise(SIGTRAP) + #endif #elif defined(_MSC_VER) - #define CATCH_BREAK_INTO_DEBUGGER() if( Catch::isDebuggerActive() ) { __debugbreak(); } + #define CATCH_TRAP() __debugbreak() #elif defined(__MINGW32__) extern "C" __declspec(dllimport) void __stdcall DebugBreak(); - #define CATCH_BREAK_INTO_DEBUGGER() if( Catch::isDebuggerActive() ) { DebugBreak(); } + #define CATCH_TRAP() DebugBreak() #endif -#ifndef CATCH_BREAK_INTO_DEBUGGER -#define CATCH_BREAK_INTO_DEBUGGER() Catch::alwaysTrue(); +#ifdef CATCH_TRAP + #define CATCH_BREAK_INTO_DEBUGGER() if( Catch::isDebuggerActive() ) { CATCH_TRAP(); } +#else + #define CATCH_BREAK_INTO_DEBUGGER() Catch::alwaysTrue(); #endif // #included from: catch_interfaces_runner.h @@ -2044,6 +2207,45 @@ namespace Catch { }; } +// #included from: catch_type_traits.hpp +#define TWOBLUECUBES_CATCH_TYPE_TRAITS_HPP_INCLUDED + +#if defined(CATCH_CONFIG_CPP11_TYPE_TRAITS) +#include +#endif + +namespace Catch { + +#if defined(CATCH_CONFIG_CPP11_TYPE_TRAITS) + + template + using add_lvalue_reference = std::add_lvalue_reference; + + template + using add_const = std::add_const; + +#else + + template + struct add_const { + typedef const T type; + }; + + template + struct add_lvalue_reference { + typedef T& type; + }; + template + struct add_lvalue_reference { + typedef T& type; + }; + // No && overload, because that is C++11, in which case we have + // proper type_traits implementation from the standard library + +#endif + +} + /////////////////////////////////////////////////////////////////////////////// // In the event of a failure works out if the debugger needs to be invoked // and/or an exception thrown and takes appropriate action. @@ -2062,10 +2264,11 @@ namespace Catch { ( __catchResult <= expr ).endExpression(); \ } \ catch( ... ) { \ - __catchResult.useActiveException( Catch::ResultDisposition::Normal ); \ + __catchResult.useActiveException( resultDisposition ); \ } \ INTERNAL_CATCH_REACT( __catchResult ) \ - } while( Catch::isTrue( false && !!(expr) ) ) // expr here is never evaluated at runtime but it forces the compiler to give it a look + } while( Catch::isTrue( false && static_cast( !!(expr) ) ) ) // expr here is never evaluated at runtime but it forces the compiler to give it a look + // The double negation silences MSVC's C4800 warning, the static_cast forces short-circuit evaluation if the type has overloaded &&. /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_IF( expr, resultDisposition, macroName ) \ @@ -2082,7 +2285,7 @@ namespace Catch { do { \ Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr, resultDisposition ); \ try { \ - expr; \ + static_cast(expr); \ __catchResult.captureResult( Catch::ResultWas::Ok ); \ } \ catch( ... ) { \ @@ -2097,7 +2300,7 @@ namespace Catch { Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr, resultDisposition, #matcher ); \ if( __catchResult.allowThrows() ) \ try { \ - expr; \ + static_cast(expr); \ __catchResult.captureResult( Catch::ResultWas::DidntThrowException ); \ } \ catch( ... ) { \ @@ -2111,13 +2314,13 @@ namespace Catch { /////////////////////////////////////////////////////////////////////////////// #define INTERNAL_CATCH_THROWS_AS( expr, exceptionType, resultDisposition, macroName ) \ do { \ - Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr, resultDisposition ); \ + Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #expr ", " #exceptionType, resultDisposition ); \ if( __catchResult.allowThrows() ) \ try { \ - expr; \ + static_cast(expr); \ __catchResult.captureResult( Catch::ResultWas::DidntThrowException ); \ } \ - catch( exceptionType ) { \ + catch( Catch::add_const::type>::type ) { \ __catchResult.captureResult( Catch::ResultWas::Ok ); \ } \ catch( ... ) { \ @@ -2156,13 +2359,7 @@ namespace Catch { do { \ Catch::ResultBuilder __catchResult( macroName, CATCH_INTERNAL_LINEINFO, #arg ", " #matcher, resultDisposition ); \ try { \ - std::string matcherAsString = (matcher).toString(); \ - __catchResult \ - .setLhs( Catch::toString( arg ) ) \ - .setRhs( matcherAsString == Catch::Detail::unprintableString ? #matcher : matcherAsString ) \ - .setOp( "matches" ) \ - .setResultType( (matcher).match( arg ) ); \ - __catchResult.captureExpression(); \ + __catchResult.captureMatch( arg, matcher, #matcher ); \ } catch( ... ) { \ __catchResult.useActiveException( resultDisposition | Catch::ResultDisposition::ContinueOnFailure ); \ } \ @@ -2245,6 +2442,8 @@ namespace Catch { }; } +#include + namespace Catch { struct SectionInfo { @@ -2615,6 +2814,10 @@ namespace Catch { #include #include +#if defined(CATCH_CONFIG_CPP11_TYPE_TRAITS) +#include +#endif + namespace Catch { namespace Detail { @@ -2643,9 +2846,56 @@ namespace Detail { return approx; } +#if defined(CATCH_CONFIG_CPP11_TYPE_TRAITS) + template ::value>::type> + friend bool operator == ( const T& lhs, Approx const& rhs ) { + // Thanks to Richard Harris for his help refining this formula + auto lhs_v = double(lhs); + return std::fabs( lhs_v - rhs.m_value ) < rhs.m_epsilon * (rhs.m_scale + (std::max)( std::fabs(lhs_v), std::fabs(rhs.m_value) ) ); + } + + template ::value>::type> + friend bool operator == ( Approx const& lhs, const T& rhs ) { + return operator==( rhs, lhs ); + } + + template ::value>::type> + friend bool operator != ( T lhs, Approx const& rhs ) { + return !operator==( lhs, rhs ); + } + + template ::value>::type> + friend bool operator != ( Approx const& lhs, T rhs ) { + return !operator==( rhs, lhs ); + } + + template ::value>::type> + friend bool operator <= ( T lhs, Approx const& rhs ) + { + return double(lhs) < rhs.m_value || lhs == rhs; + } + + template ::value>::type> + friend bool operator <= ( Approx const& lhs, T rhs ) + { + return lhs.m_value < double(rhs) || lhs == rhs; + } + + template ::value>::type> + friend bool operator >= ( T lhs, Approx const& rhs ) + { + return double(lhs) > rhs.m_value || lhs == rhs; + } + + template ::value>::type> + friend bool operator >= ( Approx const& lhs, T rhs ) + { + return lhs.m_value > double(rhs) || lhs == rhs; + } +#else friend bool operator == ( double lhs, Approx const& rhs ) { // Thanks to Richard Harris for his help refining this formula - return fabs( lhs - rhs.m_value ) < rhs.m_epsilon * (rhs.m_scale + (std::max)( fabs(lhs), fabs(rhs.m_value) ) ); + return std::fabs( lhs - rhs.m_value ) < rhs.m_epsilon * (rhs.m_scale + (std::max)( std::fabs(lhs), std::fabs(rhs.m_value) ) ); } friend bool operator == ( Approx const& lhs, double rhs ) { @@ -2660,6 +2910,27 @@ namespace Detail { return !operator==( rhs, lhs ); } + friend bool operator <= ( double lhs, Approx const& rhs ) + { + return lhs < rhs.m_value || lhs == rhs; + } + + friend bool operator <= ( Approx const& lhs, double rhs ) + { + return lhs.m_value < rhs || lhs == rhs; + } + + friend bool operator >= ( double lhs, Approx const& rhs ) + { + return lhs > rhs.m_value || lhs == rhs; + } + + friend bool operator >= ( Approx const& lhs, double rhs ) + { + return lhs.m_value > rhs || lhs == rhs; + } +#endif + Approx& epsilon( double newEpsilon ) { m_epsilon = newEpsilon; return *this; @@ -2814,7 +3085,8 @@ namespace Catch { IsHidden = 1 << 1, ShouldFail = 1 << 2, MayFail = 1 << 3, - Throws = 1 << 4 + Throws = 1 << 4, + NonPortable = 1 << 5 }; TestCaseInfo( std::string const& _name, @@ -3109,6 +3381,8 @@ return @ desc; \ // #included from: catch_wildcard_pattern.hpp #define TWOBLUECUBES_CATCH_WILDCARD_PATTERN_HPP_INCLUDED +#include + namespace Catch { class WildcardPattern { @@ -3126,11 +3400,11 @@ namespace Catch m_wildcard( NoWildcard ), m_pattern( adjustCase( pattern ) ) { - if( startsWith( m_pattern, "*" ) ) { + if( startsWith( m_pattern, '*' ) ) { m_pattern = m_pattern.substr( 1 ); m_wildcard = WildcardAtStart; } - if( endsWith( m_pattern, "*" ) ) { + if( endsWith( m_pattern, '*' ) ) { m_pattern = m_pattern.substr( 0, m_pattern.size()-1 ); m_wildcard = static_cast( m_wildcard | WildcardAtEnd ); } @@ -3215,10 +3489,11 @@ namespace Catch { bool matches( TestCaseInfo const& testCase ) const { // All patterns in a filter must match for the filter to be a match - for( std::vector >::const_iterator it = m_patterns.begin(), itEnd = m_patterns.end(); it != itEnd; ++it ) + for( std::vector >::const_iterator it = m_patterns.begin(), itEnd = m_patterns.end(); it != itEnd; ++it ) { if( !(*it)->matches( testCase ) ) return false; - return true; + } + return true; } }; @@ -3248,11 +3523,12 @@ namespace Catch { namespace Catch { class TestSpecParser { - enum Mode{ None, Name, QuotedName, Tag }; + enum Mode{ None, Name, QuotedName, Tag, EscapedName }; Mode m_mode; bool m_exclusion; std::size_t m_start, m_pos; std::string m_arg; + std::vector m_escapeChars; TestSpec::Filter m_currentFilter; TestSpec m_testSpec; ITagAliasRegistry const* m_tagAliases; @@ -3265,6 +3541,7 @@ namespace Catch { m_exclusion = false; m_start = std::string::npos; m_arg = m_tagAliases->expandAliases( arg ); + m_escapeChars.clear(); for( m_pos = 0; m_pos < m_arg.size(); ++m_pos ) visitChar( m_arg[m_pos] ); if( m_mode == Name ) @@ -3283,6 +3560,7 @@ namespace Catch { case '~': m_exclusion = true; return; case '[': return startNewMode( Tag, ++m_pos ); case '"': return startNewMode( QuotedName, ++m_pos ); + case '\\': return escape(); default: startNewMode( Name, m_pos ); break; } } @@ -3298,7 +3576,11 @@ namespace Catch { addPattern(); startNewMode( Tag, ++m_pos ); } + else if( c == '\\' ) + escape(); } + else if( m_mode == EscapedName ) + m_mode = Name; else if( m_mode == QuotedName && c == '"' ) addPattern(); else if( m_mode == Tag && c == ']' ) @@ -3308,10 +3590,19 @@ namespace Catch { m_mode = mode; m_start = start; } + void escape() { + if( m_mode == None ) + m_start = m_pos; + m_mode = EscapedName; + m_escapeChars.push_back( m_pos ); + } std::string subString() const { return m_arg.substr( m_start, m_pos - m_start ); } template void addPattern() { std::string token = subString(); + for( size_t i = 0; i < m_escapeChars.size(); ++i ) + token = token.substr( 0, m_escapeChars[i]-i ) + token.substr( m_escapeChars[i]+1-i ); + m_escapeChars.clear(); if( startsWith( token, "exclude:" ) ) { m_exclusion = true; token = token.substr( 8 ); @@ -3345,7 +3636,7 @@ namespace Catch { // #included from: catch_interfaces_config.h #define TWOBLUECUBES_CATCH_INTERFACES_CONFIG_H_INCLUDED -#include +#include #include #include @@ -3397,6 +3688,8 @@ namespace Catch { virtual RunTests::InWhatOrder runOrder() const = 0; virtual unsigned int rngSeed() const = 0; virtual UseColour::YesOrNo useColour() const = 0; + virtual std::vector const& getSectionsToRun() const = 0; + }; } @@ -3419,6 +3712,7 @@ namespace Catch { #include #include #include +#include namespace Catch { @@ -3450,7 +3744,7 @@ namespace Catch { }; class DebugOutStream : public IStream { - std::auto_ptr m_streamBuf; + CATCH_AUTO_PTR( StreamBufBase ) m_streamBuf; mutable std::ostream m_os; public: DebugOutStream(); @@ -3464,8 +3758,7 @@ namespace Catch { #include #include #include -#include -#include +#include #ifndef CATCH_CONFIG_CONSOLE_WIDTH #define CATCH_CONFIG_CONSOLE_WIDTH 80 @@ -3522,6 +3815,7 @@ namespace Catch { std::vector reporterNames; std::vector testsOrTags; + std::vector sectionsToRun; }; class Config : public SharedImpl { @@ -3546,8 +3840,7 @@ namespace Catch { } } - virtual ~Config() { - } + virtual ~Config() {} std::string const& getFilename() const { return m_data.outputFilename ; @@ -3560,27 +3853,26 @@ namespace Catch { std::string getProcessName() const { return m_data.processName; } - bool shouldDebugBreak() const { return m_data.shouldDebugBreak; } + std::vector const& getReporterNames() const { return m_data.reporterNames; } + std::vector const& getSectionsToRun() const CATCH_OVERRIDE { return m_data.sectionsToRun; } - std::vector getReporterNames() const { return m_data.reporterNames; } - - int abortAfter() const { return m_data.abortAfter; } - - TestSpec const& testSpec() const { return m_testSpec; } + virtual TestSpec const& testSpec() const CATCH_OVERRIDE { return m_testSpec; } bool showHelp() const { return m_data.showHelp; } - bool showInvisibles() const { return m_data.showInvisibles; } // IConfig interface - virtual bool allowThrows() const { return !m_data.noThrow; } - virtual std::ostream& stream() const { return m_stream->stream(); } - virtual std::string name() const { return m_data.name.empty() ? m_data.processName : m_data.name; } - virtual bool includeSuccessfulResults() const { return m_data.showSuccessfulTests; } - virtual bool warnAboutMissingAssertions() const { return m_data.warnings & WarnAbout::NoAssertions; } - virtual ShowDurations::OrNot showDurations() const { return m_data.showDurations; } - virtual RunTests::InWhatOrder runOrder() const { return m_data.runOrder; } - virtual unsigned int rngSeed() const { return m_data.rngSeed; } - virtual UseColour::YesOrNo useColour() const { return m_data.useColour; } + virtual bool allowThrows() const CATCH_OVERRIDE { return !m_data.noThrow; } + virtual std::ostream& stream() const CATCH_OVERRIDE { return m_stream->stream(); } + virtual std::string name() const CATCH_OVERRIDE { return m_data.name.empty() ? m_data.processName : m_data.name; } + virtual bool includeSuccessfulResults() const CATCH_OVERRIDE { return m_data.showSuccessfulTests; } + virtual bool warnAboutMissingAssertions() const CATCH_OVERRIDE { return m_data.warnings & WarnAbout::NoAssertions; } + virtual ShowDurations::OrNot showDurations() const CATCH_OVERRIDE { return m_data.showDurations; } + virtual RunTests::InWhatOrder runOrder() const CATCH_OVERRIDE { return m_data.runOrder; } + virtual unsigned int rngSeed() const CATCH_OVERRIDE { return m_data.rngSeed; } + virtual UseColour::YesOrNo useColour() const CATCH_OVERRIDE { return m_data.useColour; } + virtual bool shouldDebugBreak() const CATCH_OVERRIDE { return m_data.shouldDebugBreak; } + virtual int abortAfter() const CATCH_OVERRIDE { return m_data.abortAfter; } + virtual bool showInvisibles() const CATCH_OVERRIDE { return m_data.showInvisibles; } private: @@ -3598,7 +3890,7 @@ namespace Catch { } ConfigData m_data; - std::auto_ptr m_stream; + CATCH_AUTO_PTR( IStream const ) m_stream; TestSpec m_testSpec; }; @@ -3986,9 +4278,12 @@ namespace Clara { inline void convertInto( std::string const& _source, std::string& _dest ) { _dest = _source; } + char toLowerCh(char c) { + return static_cast( ::tolower( c ) ); + } inline void convertInto( std::string const& _source, bool& _dest ) { std::string sourceLC = _source; - std::transform( sourceLC.begin(), sourceLC.end(), sourceLC.begin(), ::tolower ); + std::transform( sourceLC.begin(), sourceLC.end(), sourceLC.begin(), toLowerCh ); if( sourceLC == "y" || sourceLC == "1" || sourceLC == "true" || sourceLC == "yes" || sourceLC == "on" ) _dest = true; else if( sourceLC == "n" || sourceLC == "0" || sourceLC == "false" || sourceLC == "no" || sourceLC == "off" ) @@ -4177,7 +4472,7 @@ namespace Clara { } } Mode handleOpt( std::size_t i, char c, std::string const& arg, std::vector& tokens ) { - if( std::string( ":=\0", 5 ).find( c ) == std::string::npos ) + if( std::string( ":=\0", 3 ).find( c ) == std::string::npos ) return mode; std::string optName = arg.substr( from, i-from ); @@ -4191,7 +4486,7 @@ namespace Clara { return None; } Mode handlePositional( std::size_t i, char c, std::string const& arg, std::vector& tokens ) { - if( inQuotes || std::string( "\0", 3 ).find( c ) == std::string::npos ) + if( inQuotes || std::string( "\0", 1 ).find( c ) == std::string::npos ) return mode; std::string data = arg.substr( from, i-from ); @@ -4639,6 +4934,7 @@ STITCH_CLARA_CLOSE_NAMESPACE #endif #include +#include namespace Catch { @@ -4649,13 +4945,14 @@ namespace Catch { config.abortAfter = x; } inline void addTestOrTags( ConfigData& config, std::string const& _testSpec ) { config.testsOrTags.push_back( _testSpec ); } + inline void addSectionToRun( ConfigData& config, std::string const& sectionName ) { config.sectionsToRun.push_back( sectionName ); } inline void addReporterName( ConfigData& config, std::string const& _reporterName ) { config.reporterNames.push_back( _reporterName ); } inline void addWarning( ConfigData& config, std::string const& _warning ) { if( _warning == "NoAssertions" ) config.warnings = static_cast( config.warnings | WarnAbout::NoAssertions ); else - throw std::runtime_error( "Unrecognised warning: '" + _warning + "'" ); + throw std::runtime_error( "Unrecognised warning: '" + _warning + '\'' ); } inline void setOrder( ConfigData& config, std::string const& order ) { if( startsWith( "declared", order ) ) @@ -4665,7 +4962,7 @@ namespace Catch { else if( startsWith( "random", order ) ) config.runOrder = RunTests::InRandomOrder; else - throw std::runtime_error( "Unrecognised ordering: '" + order + "'" ); + throw std::runtime_error( "Unrecognised ordering: '" + order + '\'' ); } inline void setRngSeed( ConfigData& config, std::string const& seed ) { if( seed == "time" ) { @@ -4676,7 +4973,7 @@ namespace Catch { ss << seed; ss >> config.rngSeed; if( ss.fail() ) - throw std::runtime_error( "Argment to --rng-seed should be the word 'time' or a number" ); + throw std::runtime_error( "Argument to --rng-seed should be the word 'time' or a number" ); } } inline void setVerbosity( ConfigData& config, int level ) { @@ -4711,8 +5008,11 @@ namespace Catch { std::string line; while( std::getline( f, line ) ) { line = trim(line); - if( !line.empty() && !startsWith( line, "#" ) ) - addTestOrTags( config, "\"" + line + "\"," ); + if( !line.empty() && !startsWith( line, '#' ) ) { + if( !startsWith( line, '"' ) ) + line = '"' + line + '"'; + addTestOrTags( config, line + ',' ); + } } } @@ -4799,6 +5099,10 @@ namespace Catch { .describe( "adds a tag for the filename" ) .bind( &ConfigData::filenamesAsTags ); + cli["-c"]["--section"] + .describe( "specify section to run" ) + .bind( &addSectionToRun, "section name" ); + // Less common commands which don't have a short form cli["--list-test-names-only"] .describe( "list all/matching test cases names only" ) @@ -4871,19 +5175,16 @@ namespace Tbc { TextAttributes() : initialIndent( std::string::npos ), indent( 0 ), - width( consoleWidth-1 ), - tabChar( '\t' ) + width( consoleWidth-1 ) {} TextAttributes& setInitialIndent( std::size_t _value ) { initialIndent = _value; return *this; } TextAttributes& setIndent( std::size_t _value ) { indent = _value; return *this; } TextAttributes& setWidth( std::size_t _value ) { width = _value; return *this; } - TextAttributes& setTabChar( char _value ) { tabChar = _value; return *this; } std::size_t initialIndent; // indent of first line, or npos std::size_t indent; // indent of subsequent lines, or all if initialIndent is npos std::size_t width; // maximum width of text, including indent. Longer text will wrap - char tabChar; // If this char is seen the indent is changed to current pos }; class Text { @@ -4891,62 +5192,76 @@ namespace Tbc { Text( std::string const& _str, TextAttributes const& _attr = TextAttributes() ) : attr( _attr ) { - std::string wrappableChars = " [({.,/|\\-"; - std::size_t indent = _attr.initialIndent != std::string::npos - ? _attr.initialIndent - : _attr.indent; - std::string remainder = _str; + const std::string wrappableBeforeChars = "[({<\t"; + const std::string wrappableAfterChars = "])}>-,./|\\"; + const std::string wrappableInsteadOfChars = " \n\r"; + std::string indent = _attr.initialIndent != std::string::npos + ? std::string( _attr.initialIndent, ' ' ) + : std::string( _attr.indent, ' ' ); + + typedef std::string::const_iterator iterator; + iterator it = _str.begin(); + const iterator strEnd = _str.end(); + + while( it != strEnd ) { - while( !remainder.empty() ) { if( lines.size() >= 1000 ) { lines.push_back( "... message truncated due to excessive size" ); return; } - std::size_t tabPos = std::string::npos; - std::size_t width = (std::min)( remainder.size(), _attr.width - indent ); - std::size_t pos = remainder.find_first_of( '\n' ); - if( pos <= width ) { - width = pos; - } - pos = remainder.find_last_of( _attr.tabChar, width ); - if( pos != std::string::npos ) { - tabPos = pos; - if( remainder[width] == '\n' ) - width--; - remainder = remainder.substr( 0, tabPos ) + remainder.substr( tabPos+1 ); - } - if( width == remainder.size() ) { - spliceLine( indent, remainder, width ); - } - else if( remainder[width] == '\n' ) { - spliceLine( indent, remainder, width ); - if( width <= 1 || remainder.size() != 1 ) - remainder = remainder.substr( 1 ); - indent = _attr.indent; - } - else { - pos = remainder.find_last_of( wrappableChars, width ); - if( pos != std::string::npos && pos > 0 ) { - spliceLine( indent, remainder, pos ); - if( remainder[0] == ' ' ) - remainder = remainder.substr( 1 ); + std::string suffix; + std::size_t width = (std::min)( static_cast( strEnd-it ), _attr.width-static_cast( indent.size() ) ); + iterator itEnd = it+width; + iterator itNext = _str.end(); + + iterator itNewLine = std::find( it, itEnd, '\n' ); + if( itNewLine != itEnd ) + itEnd = itNewLine; + + if( itEnd != strEnd ) { + bool foundWrapPoint = false; + iterator findIt = itEnd; + do { + if( wrappableAfterChars.find( *findIt ) != std::string::npos && findIt != itEnd ) { + itEnd = findIt+1; + itNext = findIt+1; + foundWrapPoint = true; + } + else if( findIt > it && wrappableBeforeChars.find( *findIt ) != std::string::npos ) { + itEnd = findIt; + itNext = findIt; + foundWrapPoint = true; + } + else if( wrappableInsteadOfChars.find( *findIt ) != std::string::npos ) { + itNext = findIt+1; + itEnd = findIt; + foundWrapPoint = true; + } + if( findIt == it ) + break; + else + --findIt; + } + while( !foundWrapPoint ); + + if( !foundWrapPoint ) { + // No good wrap char, so we'll break mid word and add a hyphen + --itEnd; + itNext = itEnd; + suffix = "-"; } else { - spliceLine( indent, remainder, width-1 ); - lines.back() += "-"; + while( itEnd > it && wrappableInsteadOfChars.find( *(itEnd-1) ) != std::string::npos ) + --itEnd; } - if( lines.size() == 1 ) - indent = _attr.indent; - if( tabPos != std::string::npos ) - indent += tabPos; } - } - } + lines.push_back( indent + std::string( it, itEnd ) + suffix ); - void spliceLine( std::size_t _indent, std::string& _remainder, std::size_t _pos ) { - lines.push_back( std::string( _indent, ' ' ) + _remainder.substr( 0, _pos ) ); - _remainder = _remainder.substr( _pos ); + if( indent.size() != _attr.indent ) + indent = std::string( _attr.indent, ' ' ); + it = itNext; + } } typedef std::vector::const_iterator const_iterator; @@ -5055,7 +5370,6 @@ namespace Catch { #include #include #include -#include namespace Catch { @@ -5343,9 +5657,9 @@ namespace Catch { } if( !config.testSpec().hasFilters() ) - Catch::cout() << pluralise( matchedTests, "test case" ) << "\n" << std::endl; + Catch::cout() << pluralise( matchedTests, "test case" ) << '\n' << std::endl; else - Catch::cout() << pluralise( matchedTests, "matching test case" ) << "\n" << std::endl; + Catch::cout() << pluralise( matchedTests, "matching test case" ) << '\n' << std::endl; return matchedTests; } @@ -5360,7 +5674,10 @@ namespace Catch { ++it ) { matchedTests++; TestCaseInfo const& testCaseInfo = it->getTestCaseInfo(); - Catch::cout() << testCaseInfo.name << std::endl; + if( startsWith( testCaseInfo.name, '#' ) ) + Catch::cout() << '"' << testCaseInfo.name << '"' << std::endl; + else + Catch::cout() << testCaseInfo.name << std::endl; } return matchedTests; } @@ -5421,9 +5738,9 @@ namespace Catch { .setInitialIndent( 0 ) .setIndent( oss.str().size() ) .setWidth( CATCH_CONFIG_CONSOLE_WIDTH-10 ) ); - Catch::cout() << oss.str() << wrapper << "\n"; + Catch::cout() << oss.str() << wrapper << '\n'; } - Catch::cout() << pluralise( tagCounts.size(), "tag" ) << "\n" << std::endl; + Catch::cout() << pluralise( tagCounts.size(), "tag" ) << '\n' << std::endl; return tagCounts.size(); } @@ -5442,9 +5759,9 @@ namespace Catch { .setWidth( CATCH_CONFIG_CONSOLE_WIDTH - maxNameLen-8 ) ); Catch::cout() << " " << it->first - << ":" + << ':' << std::string( maxNameLen - it->first.size() + 2, ' ' ) - << wrapper << "\n"; + << wrapper << '\n'; } Catch::cout() << std::endl; return factories.size(); @@ -5475,15 +5792,27 @@ namespace Catch { #include #include #include +#include +#include namespace Catch { namespace TestCaseTracking { + struct NameAndLocation { + std::string name; + SourceLineInfo location; + + NameAndLocation( std::string const& _name, SourceLineInfo const& _location ) + : name( _name ), + location( _location ) + {} + }; + struct ITracker : SharedImpl<> { virtual ~ITracker(); // static queries - virtual std::string name() const = 0; + virtual NameAndLocation const& nameAndLocation() const = 0; // dynamic queries virtual bool isComplete() const = 0; // Successfully completed or failed @@ -5499,7 +5828,7 @@ namespace TestCaseTracking { virtual void markAsNeedingAnotherRun() = 0; virtual void addChild( Ptr const& child ) = 0; - virtual ITracker* findChild( std::string const& name ) = 0; + virtual ITracker* findChild( NameAndLocation const& nameAndLocation ) = 0; virtual void openChild() = 0; // Debug/ checking @@ -5507,7 +5836,7 @@ namespace TestCaseTracking { virtual bool isIndexTracker() const = 0; }; - class TrackerContext { + class TrackerContext { enum RunState { NotStarted, @@ -5569,30 +5898,32 @@ namespace TestCaseTracking { Failed }; class TrackerHasName { - std::string m_name; + NameAndLocation m_nameAndLocation; public: - TrackerHasName( std::string const& name ) : m_name( name ) {} + TrackerHasName( NameAndLocation const& nameAndLocation ) : m_nameAndLocation( nameAndLocation ) {} bool operator ()( Ptr const& tracker ) { - return tracker->name() == m_name; + return + tracker->nameAndLocation().name == m_nameAndLocation.name && + tracker->nameAndLocation().location == m_nameAndLocation.location; } }; typedef std::vector > Children; - std::string m_name; + NameAndLocation m_nameAndLocation; TrackerContext& m_ctx; ITracker* m_parent; Children m_children; CycleState m_runState; public: - TrackerBase( std::string const& name, TrackerContext& ctx, ITracker* parent ) - : m_name( name ), + TrackerBase( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent ) + : m_nameAndLocation( nameAndLocation ), m_ctx( ctx ), m_parent( parent ), m_runState( NotStarted ) {} virtual ~TrackerBase(); - virtual std::string name() const CATCH_OVERRIDE { - return m_name; + virtual NameAndLocation const& nameAndLocation() const CATCH_OVERRIDE { + return m_nameAndLocation; } virtual bool isComplete() const CATCH_OVERRIDE { return m_runState == CompletedSuccessfully || m_runState == Failed; @@ -5611,8 +5942,8 @@ namespace TestCaseTracking { m_children.push_back( child ); } - virtual ITracker* findChild( std::string const& name ) CATCH_OVERRIDE { - Children::const_iterator it = std::find_if( m_children.begin(), m_children.end(), TrackerHasName( name ) ); + virtual ITracker* findChild( NameAndLocation const& nameAndLocation ) CATCH_OVERRIDE { + Children::const_iterator it = std::find_if( m_children.begin(), m_children.end(), TrackerHasName( nameAndLocation ) ); return( it != m_children.end() ) ? it->get() : CATCH_NULL; @@ -5690,32 +6021,56 @@ namespace TestCaseTracking { }; class SectionTracker : public TrackerBase { + std::vector m_filters; public: - SectionTracker( std::string const& name, TrackerContext& ctx, ITracker* parent ) - : TrackerBase( name, ctx, parent ) - {} + SectionTracker( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent ) + : TrackerBase( nameAndLocation, ctx, parent ) + { + if( parent ) { + while( !parent->isSectionTracker() ) + parent = &parent->parent(); + + SectionTracker& parentSection = static_cast( *parent ); + addNextFilters( parentSection.m_filters ); + } + } virtual ~SectionTracker(); virtual bool isSectionTracker() const CATCH_OVERRIDE { return true; } - static SectionTracker& acquire( TrackerContext& ctx, std::string const& name ) { + static SectionTracker& acquire( TrackerContext& ctx, NameAndLocation const& nameAndLocation ) { SectionTracker* section = CATCH_NULL; ITracker& currentTracker = ctx.currentTracker(); - if( ITracker* childTracker = currentTracker.findChild( name ) ) { + if( ITracker* childTracker = currentTracker.findChild( nameAndLocation ) ) { assert( childTracker ); assert( childTracker->isSectionTracker() ); section = static_cast( childTracker ); } else { - section = new SectionTracker( name, ctx, ¤tTracker ); + section = new SectionTracker( nameAndLocation, ctx, ¤tTracker ); currentTracker.addChild( section ); } - if( !ctx.completedCycle() && !section->isComplete() ) { + if( !ctx.completedCycle() ) + section->tryOpen(); + return *section; + } + + void tryOpen() { + if( !isComplete() && (m_filters.empty() || m_filters[0].empty() || m_filters[0] == m_nameAndLocation.name ) ) + open(); + } - section->open(); + void addInitialFilters( std::vector const& filters ) { + if( !filters.empty() ) { + m_filters.push_back(""); // Root - should never be consulted + m_filters.push_back(""); // Test Case - not a section filter + std::copy( filters.begin(), filters.end(), std::back_inserter( m_filters ) ); } - return *section; + } + void addNextFilters( std::vector const& filters ) { + if( filters.size() > 1 ) + std::copy( filters.begin()+1, filters.end(), std::back_inserter( m_filters ) ); } }; @@ -5723,8 +6078,8 @@ namespace TestCaseTracking { int m_size; int m_index; public: - IndexTracker( std::string const& name, TrackerContext& ctx, ITracker* parent, int size ) - : TrackerBase( name, ctx, parent ), + IndexTracker( NameAndLocation const& nameAndLocation, TrackerContext& ctx, ITracker* parent, int size ) + : TrackerBase( nameAndLocation, ctx, parent ), m_size( size ), m_index( -1 ) {} @@ -5732,17 +6087,17 @@ namespace TestCaseTracking { virtual bool isIndexTracker() const CATCH_OVERRIDE { return true; } - static IndexTracker& acquire( TrackerContext& ctx, std::string const& name, int size ) { + static IndexTracker& acquire( TrackerContext& ctx, NameAndLocation const& nameAndLocation, int size ) { IndexTracker* tracker = CATCH_NULL; ITracker& currentTracker = ctx.currentTracker(); - if( ITracker* childTracker = currentTracker.findChild( name ) ) { + if( ITracker* childTracker = currentTracker.findChild( nameAndLocation ) ) { assert( childTracker ); assert( childTracker->isIndexTracker() ); tracker = static_cast( childTracker ); } else { - tracker = new IndexTracker( name, ctx, ¤tTracker, size ); + tracker = new IndexTracker( nameAndLocation, ctx, ¤tTracker, size ); currentTracker.addChild( tracker ); } @@ -5770,7 +6125,7 @@ namespace TestCaseTracking { }; inline ITracker& TrackerContext::startRun() { - m_rootTracker = new SectionTracker( "{root}", *this, CATCH_NULL ); + m_rootTracker = new SectionTracker( NameAndLocation( "{root}", CATCH_INTERNAL_LINEINFO ), *this, CATCH_NULL ); m_currentTracker = CATCH_NULL; m_runState = Executing; return *m_rootTracker; @@ -5790,35 +6145,128 @@ using TestCaseTracking::IndexTracker; namespace Catch { - // Report the error condition then exit the process - inline void fatal( std::string const& message, int exitCode ) { + // Report the error condition + inline void reportFatal( std::string const& message ) { IContext& context = Catch::getCurrentContext(); IResultCapture* resultCapture = context.getResultCapture(); resultCapture->handleFatalErrorCondition( message ); - - if( Catch::alwaysTrue() ) // avoids "no return" warnings - exit( exitCode ); } } // namespace Catch #if defined ( CATCH_PLATFORM_WINDOWS ) ///////////////////////////////////////// +// #included from: catch_windows_h_proxy.h + +#define TWOBLUECUBES_CATCH_WINDOWS_H_PROXY_H_INCLUDED + +#ifdef CATCH_DEFINES_NOMINMAX +# define NOMINMAX +#endif +#ifdef CATCH_DEFINES_WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif + +#ifdef __AFXDLL +#include +#else +#include +#endif + +#ifdef CATCH_DEFINES_NOMINMAX +# undef NOMINMAX +#endif +#ifdef CATCH_DEFINES_WIN32_LEAN_AND_MEAN +# undef WIN32_LEAN_AND_MEAN +#endif + + +# if !defined ( CATCH_CONFIG_WINDOWS_SEH ) + +namespace Catch { + struct FatalConditionHandler { + void reset() {} + }; +} + +# else // CATCH_CONFIG_WINDOWS_SEH is defined namespace Catch { + struct SignalDefs { DWORD id; const char* name; }; + extern SignalDefs signalDefs[]; + // There is no 1-1 mapping between signals and windows exceptions. + // Windows can easily distinguish between SO and SigSegV, + // but SigInt, SigTerm, etc are handled differently. + SignalDefs signalDefs[] = { + { EXCEPTION_ILLEGAL_INSTRUCTION, "SIGILL - Illegal instruction signal" }, + { EXCEPTION_STACK_OVERFLOW, "SIGSEGV - Stack overflow" }, + { EXCEPTION_ACCESS_VIOLATION, "SIGSEGV - Segmentation violation signal" }, + { EXCEPTION_INT_DIVIDE_BY_ZERO, "Divide by zero error" }, + }; + struct FatalConditionHandler { - void reset() {} - }; + + static LONG CALLBACK handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo) { + for (int i = 0; i < sizeof(signalDefs) / sizeof(SignalDefs); ++i) { + if (ExceptionInfo->ExceptionRecord->ExceptionCode == signalDefs[i].id) { + reset(); + reportFatal(signalDefs[i].name); + } + } + // If its not an exception we care about, pass it along. + // This stops us from eating debugger breaks etc. + return EXCEPTION_CONTINUE_SEARCH; + } + + FatalConditionHandler() { + isSet = true; + // 32k seems enough for Catch to handle stack overflow, + // but the value was found experimentally, so there is no strong guarantee + guaranteeSize = 32 * 1024; + exceptionHandlerHandle = CATCH_NULL; + // Register as first handler in current chain + exceptionHandlerHandle = AddVectoredExceptionHandler(1, handleVectoredException); + // Pass in guarantee size to be filled + SetThreadStackGuarantee(&guaranteeSize); + } + + static void reset() { + if (isSet) { + // Unregister handler and restore the old guarantee + RemoveVectoredExceptionHandler(exceptionHandlerHandle); + SetThreadStackGuarantee(&guaranteeSize); + exceptionHandlerHandle = CATCH_NULL; + isSet = false; + } + } + + ~FatalConditionHandler() { + reset(); + } + private: + static bool isSet; + static ULONG guaranteeSize; + static PVOID exceptionHandlerHandle; + }; + + bool FatalConditionHandler::isSet = false; + ULONG FatalConditionHandler::guaranteeSize = 0; + PVOID FatalConditionHandler::exceptionHandlerHandle = CATCH_NULL; } // namespace Catch +# endif // CATCH_CONFIG_WINDOWS_SEH + #else // Not Windows - assumed to be POSIX compatible ////////////////////////// #include namespace Catch { - struct SignalDefs { int id; const char* name; }; + struct SignalDefs { + int id; + const char* name; + }; extern SignalDefs signalDefs[]; SignalDefs signalDefs[] = { { SIGINT, "SIGINT - Terminal interrupt signal" }, @@ -5827,35 +6275,66 @@ namespace Catch { { SIGSEGV, "SIGSEGV - Segmentation violation signal" }, { SIGTERM, "SIGTERM - Termination request signal" }, { SIGABRT, "SIGABRT - Abort (abnormal termination) signal" } - }; + }; struct FatalConditionHandler { + static bool isSet; + static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)]; + static stack_t oldSigStack; + static char altStackMem[SIGSTKSZ]; + static void handleSignal( int sig ) { - for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) - if( sig == signalDefs[i].id ) - fatal( signalDefs[i].name, -sig ); - fatal( "", -sig ); + std::string name = ""; + for (std::size_t i = 0; i < sizeof(signalDefs) / sizeof(SignalDefs); ++i) { + SignalDefs &def = signalDefs[i]; + if (sig == def.id) { + name = def.name; + break; + } + } + reset(); + reportFatal(name); + raise( sig ); } - FatalConditionHandler() : m_isSet( true ) { - for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) - signal( signalDefs[i].id, handleSignal ); + FatalConditionHandler() { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; + sigStack.ss_size = SIGSTKSZ; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { 0 }; + + sa.sa_handler = handleSignal; + sa.sa_flags = SA_ONSTACK; + for (std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i) { + sigaction(signalDefs[i].id, &sa, &oldSigActions[i]); + } } + ~FatalConditionHandler() { reset(); } - void reset() { - if( m_isSet ) { - for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) - signal( signalDefs[i].id, SIG_DFL ); - m_isSet = false; + static void reset() { + if( isSet ) { + // Set signals back to previous values -- hopefully nobody overwrote them in the meantime + for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) { + sigaction(signalDefs[i].id, &oldSigActions[i], CATCH_NULL); + } + // Return the old stack + sigaltstack(&oldSigStack, CATCH_NULL); + isSet = false; } } - - bool m_isSet; }; + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; + char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; + } // namespace Catch #endif // not Windows @@ -5934,10 +6413,12 @@ namespace Catch { m_activeTestCase = &testCase; do { - m_trackerContext.startRun(); + ITracker& rootTracker = m_trackerContext.startRun(); + assert( rootTracker.isSectionTracker() ); + static_cast( rootTracker ).addInitialFilters( m_config->getSectionsToRun() ); do { m_trackerContext.startCycle(); - m_testCaseTracker = &SectionTracker::acquire( m_trackerContext, testInfo.name ); + m_testCaseTracker = &SectionTracker::acquire( m_trackerContext, TestCaseTracking::NameAndLocation( testInfo.name, testInfo.lineInfo ) ); runCurrentTest( redirectedCout, redirectedCerr ); } while( !m_testCaseTracker->isSuccessfullyCompleted() && !aborting() ); @@ -5982,7 +6463,7 @@ namespace Catch { m_messages.clear(); // Reset working state - m_lastAssertionInfo = AssertionInfo( "", m_lastAssertionInfo.lineInfo, "{Unknown expression after the reported line}" , m_lastAssertionInfo.resultDisposition ); + m_lastAssertionInfo = AssertionInfo( std::string(), m_lastAssertionInfo.lineInfo, "{Unknown expression after the reported line}" , m_lastAssertionInfo.resultDisposition ); m_lastResult = result; } @@ -5991,10 +6472,7 @@ namespace Catch { Counts& assertions ) { - std::ostringstream oss; - oss << sectionInfo.name << "@" << sectionInfo.lineInfo; - - ITracker& sectionTracker = SectionTracker::acquire( m_trackerContext, oss.str() ); + ITracker& sectionTracker = SectionTracker::acquire( m_trackerContext, TestCaseTracking::NameAndLocation( sectionInfo.name, sectionInfo.lineInfo ) ); if( !sectionTracker.isOpen() ) return false; m_activeSections.push_back( §ionTracker ); @@ -6053,7 +6531,7 @@ namespace Catch { virtual std::string getCurrentTestName() const { return m_activeTestCase ? m_activeTestCase->getTestCaseInfo().name - : ""; + : std::string(); } virtual const AssertionResult* getLastResult() const { @@ -6083,11 +6561,11 @@ namespace Catch { deltaTotals.testCases.failed = 1; m_reporter->testCaseEnded( TestCaseStats( testInfo, deltaTotals, - "", - "", + std::string(), + std::string(), false ) ); m_totals.testCases.failed++; - testGroupEnded( "", m_totals, 1, 1 ); + testGroupEnded( std::string(), m_totals, 1, 1 ); m_reporter->testRunEnded( TestRunStats( m_runInfo, m_totals, false ) ); } @@ -6106,7 +6584,7 @@ namespace Catch { Counts prevAssertions = m_totals.assertions; double duration = 0; try { - m_lastAssertionInfo = AssertionInfo( "TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal ); + m_lastAssertionInfo = AssertionInfo( "TEST_CASE", testCaseInfo.lineInfo, std::string(), ResultDisposition::Normal ); seedRng( *m_config ); @@ -6436,16 +6914,29 @@ namespace Catch { #include #include #include -#include #include namespace Catch { - struct LexSort { - bool operator() (TestCase i,TestCase j) const { return (i + static void shuffle( V& vector ) { + RandomNumberGenerator rng; +#ifdef CATCH_CONFIG_CPP11_SHUFFLE + std::shuffle( vector.begin(), vector.end(), rng ); +#else + std::random_shuffle( vector.begin(), vector.end(), rng ); +#endif + } }; inline std::vector sortTests( IConfig const& config, std::vector const& unsortedTestCases ) { @@ -6454,14 +6945,12 @@ namespace Catch { switch( config.runOrder() ) { case RunTests::InLexicographicalOrder: - std::sort( sorted.begin(), sorted.end(), LexSort() ); + std::sort( sorted.begin(), sorted.end() ); break; case RunTests::InRandomOrder: { seedRng( config ); - - RandomNumberGenerator rng; - std::random_shuffle( sorted.begin(), sorted.end(), rng ); + RandomNumberGenerator::shuffle( sorted ); } break; case RunTests::InDeclarationOrder: @@ -6485,7 +6974,7 @@ namespace Catch { ss << Colour( Colour::Red ) << "error: TEST_CASE( \"" << it->name << "\" ) already defined.\n" - << "\tFirst seen at " << prev.first->getTestCaseInfo().lineInfo << "\n" + << "\tFirst seen at " << prev.first->getTestCaseInfo().lineInfo << '\n' << "\tRedefined at " << it->getTestCaseInfo().lineInfo << std::endl; throw std::runtime_error(ss.str()); @@ -6517,7 +7006,7 @@ namespace Catch { virtual void registerTest( TestCase const& testCase ) { std::string name = testCase.getTestCaseInfo().name; - if( name == "" ) { + if( name.empty() ) { std::ostringstream oss; oss << "Anonymous test case " << ++m_unnamedCount; return registerTest( testCase.withName( oss.str() ) ); @@ -6566,7 +7055,7 @@ namespace Catch { inline std::string extractClassName( std::string const& classOrQualifiedMethodName ) { std::string className = classOrQualifiedMethodName; - if( startsWith( className, "&" ) ) + if( startsWith( className, '&' ) ) { std::size_t lastColons = className.rfind( "::" ); std::size_t penultimateColons = className.rfind( "::", lastColons-1 ); @@ -6784,7 +7273,7 @@ namespace Catch { // #included from: catch_notimplemented_exception.hpp #define TWOBLUECUBES_CATCH_NOTIMPLEMENTED_EXCEPTION_HPP_INCLUDED -#include +#include namespace Catch { @@ -6856,7 +7345,7 @@ namespace Catch { m_ofs.open( filename.c_str() ); if( m_ofs.fail() ) { std::ostringstream oss; - oss << "Unable to open file: '" << filename << "'"; + oss << "Unable to open file: '" << filename << '\''; throw std::domain_error( oss.str() ); } } @@ -6909,6 +7398,11 @@ namespace Catch { Context( Context const& ); void operator=( Context const& ); + public: + virtual ~Context() { + deleteAllValues( m_generatorsByTestName ); + } + public: // IContext virtual IResultCapture* getResultCapture() { return m_resultCapture; @@ -7022,16 +7516,6 @@ namespace Catch { #if defined ( CATCH_CONFIG_COLOUR_WINDOWS ) ///////////////////////////////////////// -#ifndef NOMINMAX -#define NOMINMAX -#endif - -#ifdef __AFXDLL -#include -#else -#include -#endif - namespace Catch { namespace { @@ -7112,7 +7596,7 @@ namespace { case Colour::White: return setColour( "[0m" ); case Colour::Red: return setColour( "[0;31m" ); case Colour::Green: return setColour( "[0;32m" ); - case Colour::Blue: return setColour( "[0:34m" ); + case Colour::Blue: return setColour( "[0;34m" ); case Colour::Cyan: return setColour( "[0;36m" ); case Colour::Yellow: return setColour( "[0;33m" ); case Colour::Grey: return setColour( "[1;30m" ); @@ -7298,7 +7782,7 @@ namespace Catch { std::string AssertionResult::getExpression() const { if( isFalseTest( m_info.resultDisposition ) ) - return "!" + m_info.capturedExpression; + return '!' + m_info.capturedExpression; else return m_info.capturedExpression; } @@ -7314,7 +7798,7 @@ namespace Catch { } std::string AssertionResult::getExpandedExpression() const { - return m_resultData.reconstructedExpression; + return m_resultData.reconstructExpression(); } std::string AssertionResult::getMessage() const { @@ -7328,15 +7812,25 @@ namespace Catch { return m_info.macroName; } + void AssertionResult::discardDecomposedExpression() const { + m_resultData.decomposedExpression = CATCH_NULL; + } + + void AssertionResult::expandDecomposedExpression() const { + m_resultData.reconstructExpression(); + } + } // end namespace Catch // #included from: catch_test_case_info.hpp #define TWOBLUECUBES_CATCH_TEST_CASE_INFO_HPP_INCLUDED +#include + namespace Catch { inline TestCaseInfo::SpecialProperties parseSpecialTag( std::string const& tag ) { - if( startsWith( tag, "." ) || + if( startsWith( tag, '.' ) || tag == "hide" || tag == "!hide" ) return TestCaseInfo::IsHidden; @@ -7346,11 +7840,13 @@ namespace Catch { return TestCaseInfo::ShouldFail; else if( tag == "!mayfail" ) return TestCaseInfo::MayFail; + else if( tag == "!nonportable" ) + return TestCaseInfo::NonPortable; else return TestCaseInfo::None; } inline bool isReservedTag( std::string const& tag ) { - return parseSpecialTag( tag ) == TestCaseInfo::None && tag.size() > 0 && !isalnum( tag[0] ); + return parseSpecialTag( tag ) == TestCaseInfo::None && tag.size() > 0 && !std::isalnum( tag[0] ); } inline void enforceNotReservedTag( std::string const& tag, SourceLineInfo const& _lineInfo ) { if( isReservedTag( tag ) ) { @@ -7420,7 +7916,7 @@ namespace Catch { std::ostringstream oss; for( std::set::const_iterator it = tags.begin(), itEnd = tags.end(); it != itEnd; ++it ) { - oss << "[" << *it << "]"; + oss << '[' << *it << ']'; std::string lcaseTag = toLower( *it ); testCaseInfo.properties = static_cast( testCaseInfo.properties | parseSpecialTag( lcaseTag ) ); testCaseInfo.lcaseTags.insert( lcaseTag ); @@ -7536,18 +8032,18 @@ namespace Catch { {} std::ostream& operator << ( std::ostream& os, Version const& version ) { - os << version.majorVersion << "." - << version.minorVersion << "." + os << version.majorVersion << '.' + << version.minorVersion << '.' << version.patchNumber; if( !version.branchName.empty() ) { - os << "-" << version.branchName - << "." << version.buildNumber; + os << '-' << version.branchName + << '.' << version.buildNumber; } return os; } - Version libraryVersion( 1, 5, 4, "", 0 ); + Version libraryVersion( 1, 7, 2, "", 0 ); } @@ -7718,7 +8214,6 @@ namespace Catch #endif #ifdef CATCH_PLATFORM_WINDOWS -#include #else #include #endif @@ -7767,19 +8262,31 @@ namespace Catch { // #included from: catch_common.hpp #define TWOBLUECUBES_CATCH_COMMON_HPP_INCLUDED +#include +#include + namespace Catch { bool startsWith( std::string const& s, std::string const& prefix ) { - return s.size() >= prefix.size() && s.substr( 0, prefix.size() ) == prefix; + return s.size() >= prefix.size() && std::equal(prefix.begin(), prefix.end(), s.begin()); + } + bool startsWith( std::string const& s, char prefix ) { + return !s.empty() && s[0] == prefix; } bool endsWith( std::string const& s, std::string const& suffix ) { - return s.size() >= suffix.size() && s.substr( s.size()-suffix.size(), suffix.size() ) == suffix; + return s.size() >= suffix.size() && std::equal(suffix.rbegin(), suffix.rend(), s.rbegin()); + } + bool endsWith( std::string const& s, char suffix ) { + return !s.empty() && s[s.size()-1] == suffix; } bool contains( std::string const& s, std::string const& infix ) { return s.find( infix ) != std::string::npos; } + char toLowerCh(char c) { + return static_cast( std::tolower( c ) ); + } void toLowerInPlace( std::string& s ) { - std::transform( s.begin(), s.end(), s.begin(), ::tolower ); + std::transform( s.begin(), s.end(), s.begin(), toLowerCh ); } std::string toLower( std::string const& s ) { std::string lc = s; @@ -7791,7 +8298,7 @@ namespace Catch { std::string::size_type start = str.find_first_not_of( whitespaceChars ); std::string::size_type end = str.find_last_not_of( whitespaceChars ); - return start != std::string::npos ? str.substr( start, 1+end-start ) : ""; + return start != std::string::npos ? str.substr( start, 1+end-start ) : std::string(); } bool replaceInPlace( std::string& str, std::string const& replaceThis, std::string const& withThis ) { @@ -7814,29 +8321,25 @@ namespace Catch { {} std::ostream& operator << ( std::ostream& os, pluralise const& pluraliser ) { - os << pluraliser.m_count << " " << pluraliser.m_label; + os << pluraliser.m_count << ' ' << pluraliser.m_label; if( pluraliser.m_count != 1 ) - os << "s"; + os << 's'; return os; } - SourceLineInfo::SourceLineInfo() : line( 0 ){} + SourceLineInfo::SourceLineInfo() : file(""), line( 0 ){} SourceLineInfo::SourceLineInfo( char const* _file, std::size_t _line ) : file( _file ), line( _line ) {} - SourceLineInfo::SourceLineInfo( SourceLineInfo const& other ) - : file( other.file ), - line( other.line ) - {} bool SourceLineInfo::empty() const { - return file.empty(); + return file[0] == '\0'; } bool SourceLineInfo::operator == ( SourceLineInfo const& other ) const { - return line == other.line && file == other.file; + return line == other.line && (file == other.file || std::strcmp(file, other.file) == 0); } bool SourceLineInfo::operator < ( SourceLineInfo const& other ) const { - return line < other.line || ( line == other.line && file < other.file ); + return line < other.line || ( line == other.line && (std::strcmp(file, other.file) < 0)); } void seedRng( IConfig const& config ) { @@ -7849,16 +8352,16 @@ namespace Catch { std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ) { #ifndef __GNUG__ - os << info.file << "(" << info.line << ")"; + os << info.file << '(' << info.line << ')'; #else - os << info.file << ":" << info.line; + os << info.file << ':' << info.line; #endif return os; } void throwLogicError( std::string const& message, SourceLineInfo const& locationInfo ) { std::ostringstream oss; - oss << locationInfo << ": Internal Catch error: '" << message << "'"; + oss << locationInfo << ": Internal Catch error: '" << message << '\''; if( alwaysTrue() ) throw std::logic_error( oss.str() ); } @@ -7905,8 +8408,6 @@ namespace Catch { // #included from: catch_debugger.hpp #define TWOBLUECUBES_CATCH_DEBUGGER_HPP_INCLUDED -#include - #ifdef CATCH_PLATFORM_MAC #include @@ -7955,6 +8456,33 @@ namespace Catch { } } // namespace Catch +#elif defined(CATCH_PLATFORM_LINUX) + #include + #include + + namespace Catch{ + // The standard POSIX way of detecting a debugger is to attempt to + // ptrace() the process, but this needs to be done from a child and not + // this process itself to still allow attaching to this process later + // if wanted, so is rather heavy. Under Linux we have the PID of the + // "debugger" (which doesn't need to be gdb, of course, it could also + // be strace, for example) in /proc/$PID/status, so just get it from + // there instead. + bool isDebuggerActive(){ + std::ifstream in("/proc/self/status"); + for( std::string line; std::getline(in, line); ) { + static const int PREFIX_LEN = 11; + if( line.compare(0, PREFIX_LEN, "TracerPid:\t") == 0 ) { + // We're traced if the PID is not 0 and no other PID starts + // with 0 digit, so it's enough to check for just a single + // character. + return line.length() > PREFIX_LEN && line[PREFIX_LEN] != '0'; + } + } + + return false; + } + } // namespace Catch #elif defined(_MSC_VER) extern "C" __declspec(dllimport) int __stdcall IsDebuggerPresent(); namespace Catch { @@ -7976,7 +8504,7 @@ namespace Catch { #endif // Platform #ifdef CATCH_PLATFORM_WINDOWS - extern "C" __declspec(dllimport) void __stdcall OutputDebugStringA( const char* ); + namespace Catch { void writeToDebugConsole( std::string const& text ) { ::OutputDebugStringA( text.c_str() ); @@ -8052,7 +8580,7 @@ std::string toString( std::string const& value ) { } } } - return "\"" + s + "\""; + return '"' + s + '"'; } std::string toString( std::wstring const& value ) { @@ -8073,19 +8601,19 @@ std::string toString( char* const value ) { std::string toString( const wchar_t* const value ) { - return value ? Catch::toString( std::wstring(value) ) : std::string( "{null string}" ); + return value ? Catch::toString( std::wstring(value) ) : std::string( "{null string}" ); } std::string toString( wchar_t* const value ) { - return Catch::toString( static_cast( value ) ); + return Catch::toString( static_cast( value ) ); } std::string toString( int value ) { std::ostringstream oss; oss << value; if( value > Detail::hexThreshold ) - oss << " (0x" << std::hex << value << ")"; + oss << " (0x" << std::hex << value << ')'; return oss.str(); } @@ -8093,7 +8621,7 @@ std::string toString( unsigned long value ) { std::ostringstream oss; oss << value; if( value > Detail::hexThreshold ) - oss << " (0x" << std::hex << value << ")"; + oss << " (0x" << std::hex << value << ')'; return oss.str(); } @@ -8121,7 +8649,7 @@ std::string toString( const double value ) { return fpToString( value, 10 ); } std::string toString( const float value ) { - return fpToString( value, 5 ) + "f"; + return fpToString( value, 5 ) + 'f'; } std::string toString( bool value ) { @@ -8129,9 +8657,19 @@ std::string toString( bool value ) { } std::string toString( char value ) { - return value < ' ' - ? toString( static_cast( value ) ) - : Detail::makeString( value ); + if ( value == '\r' ) + return "'\\r'"; + if ( value == '\f' ) + return "'\\f'"; + if ( value == '\n' ) + return "'\\n'"; + if ( value == '\t' ) + return "'\\t'"; + if ( '\0' <= value && value < ' ' ) + return toString( static_cast( value ) ); + char chstr[] = "' '"; + chstr[1] = value; + return chstr; } std::string toString( signed char value ) { @@ -8147,14 +8685,14 @@ std::string toString( long long value ) { std::ostringstream oss; oss << value; if( value > Detail::hexThreshold ) - oss << " (0x" << std::hex << value << ")"; + oss << " (0x" << std::hex << value << ')'; return oss.str(); } std::string toString( unsigned long long value ) { std::ostringstream oss; oss << value; if( value > Detail::hexThreshold ) - oss << " (0x" << std::hex << value << ")"; + oss << " (0x" << std::hex << value << ')'; return oss.str(); } #endif @@ -8211,22 +8749,10 @@ namespace Catch { m_data.resultType = result ? ResultWas::Ok : ResultWas::ExpressionFailed; return *this; } - ResultBuilder& ResultBuilder::setLhs( std::string const& lhs ) { - m_exprComponents.lhs = lhs; - return *this; - } - ResultBuilder& ResultBuilder::setRhs( std::string const& rhs ) { - m_exprComponents.rhs = rhs; - return *this; - } - ResultBuilder& ResultBuilder::setOp( std::string const& op ) { - m_exprComponents.op = op; - return *this; - } - void ResultBuilder::endExpression() { - m_exprComponents.testFalse = isFalseTest( m_assertionInfo.resultDisposition ); - captureExpression(); + void ResultBuilder::endExpression( DecomposedExpression const& expr ) { + AssertionResult result = build( expr ); + handleResult( result ); } void ResultBuilder::useActiveException( ResultDisposition::Flags resultDisposition ) { @@ -8239,6 +8765,7 @@ namespace Catch { setResultType( resultType ); captureExpression(); } + void ResultBuilder::captureExpectedException( std::string const& expectedMessage ) { if( expectedMessage.empty() ) captureExpectedException( Matchers::Impl::Generic::AllOf() ); @@ -8248,7 +8775,7 @@ namespace Catch { void ResultBuilder::captureExpectedException( Matchers::Impl::Matcher const& matcher ) { - assert( m_exprComponents.testFalse == false ); + assert( !isFalseTest( m_assertionInfo.resultDisposition ) ); AssertionResultData data = m_data; data.resultType = ResultWas::Ok; data.reconstructedExpression = m_assertionInfo.capturedExpression; @@ -8266,6 +8793,7 @@ namespace Catch { AssertionResult result = build(); handleResult( result ); } + void ResultBuilder::handleResult( AssertionResult const& result ) { getResultCapture().assertionEnded( result ); @@ -8277,6 +8805,7 @@ namespace Catch { m_shouldThrow = true; } } + void ResultBuilder::react() { if( m_shouldThrow ) throw Catch::TestFailureException(); @@ -8287,43 +8816,32 @@ namespace Catch { AssertionResult ResultBuilder::build() const { - assert( m_data.resultType != ResultWas::Unknown ); + return build( *this ); + } + // CAVEAT: The returned AssertionResult stores a pointer to the argument expr, + // a temporary DecomposedExpression, which in turn holds references to + // operands, possibly temporary as well. + // It should immediately be passed to handleResult; if the expression + // needs to be reported, its string expansion must be composed before + // the temporaries are destroyed. + AssertionResult ResultBuilder::build( DecomposedExpression const& expr ) const + { + assert( m_data.resultType != ResultWas::Unknown ); AssertionResultData data = m_data; - // Flip bool results if testFalse is set - if( m_exprComponents.testFalse ) { - if( data.resultType == ResultWas::Ok ) - data.resultType = ResultWas::ExpressionFailed; - else if( data.resultType == ResultWas::ExpressionFailed ) - data.resultType = ResultWas::Ok; + // Flip bool results if FalseTest flag is set + if( isFalseTest( m_assertionInfo.resultDisposition ) ) { + data.negate( expr.isBinaryExpression() ); } data.message = m_stream.oss.str(); - data.reconstructedExpression = reconstructExpression(); - if( m_exprComponents.testFalse ) { - if( m_exprComponents.op == "" ) - data.reconstructedExpression = "!" + data.reconstructedExpression; - else - data.reconstructedExpression = "!(" + data.reconstructedExpression + ")"; - } + data.decomposedExpression = &expr; // for lazy reconstruction return AssertionResult( m_assertionInfo, data ); } - std::string ResultBuilder::reconstructExpression() const { - if( m_exprComponents.op == "" ) - return m_exprComponents.lhs.empty() ? m_assertionInfo.capturedExpression : m_exprComponents.op + m_exprComponents.lhs; - else if( m_exprComponents.op == "matches" ) - return m_exprComponents.lhs + " " + m_exprComponents.rhs; - else if( m_exprComponents.op != "!" ) { - if( m_exprComponents.lhs.size() + m_exprComponents.rhs.size() < 40 && - m_exprComponents.lhs.find("\n") == std::string::npos && - m_exprComponents.rhs.find("\n") == std::string::npos ) - return m_exprComponents.lhs + " " + m_exprComponents.op + " " + m_exprComponents.rhs; - else - return m_exprComponents.lhs + "\n" + m_exprComponents.op + "\n" + m_exprComponents.rhs; - } - else - return "{can't expand - use " + m_assertionInfo.macroName + "_FALSE( " + m_assertionInfo.capturedExpression.substr(1) + " ) instead of " + m_assertionInfo.macroName + "( " + m_assertionInfo.capturedExpression + " ) for better diagnostics}"; + + void ResultBuilder::reconstructExpression( std::string& dest ) const { + dest = m_assertionInfo.capturedExpression; } } // end namespace Catch @@ -8352,9 +8870,6 @@ namespace Catch { } // end namespace Catch -#include -#include - namespace Catch { TagAliasRegistry::~TagAliasRegistry() {} @@ -8384,7 +8899,7 @@ namespace Catch { void TagAliasRegistry::add( char const* alias, char const* tag, SourceLineInfo const& lineInfo ) { - if( !startsWith( alias, "[@" ) || !endsWith( alias, "]" ) ) { + if( !startsWith( alias, "[@" ) || !endsWith( alias, ']' ) ) { std::ostringstream oss; oss << "error: tag alias, \"" << alias << "\" is not of the form [@alias name].\n" << lineInfo; throw std::domain_error( oss.str().c_str() ); @@ -8392,7 +8907,7 @@ namespace Catch { if( !m_registry.insert( std::make_pair( alias, TagAlias( tag, lineInfo ) ) ).second ) { std::ostringstream oss; oss << "error: tag alias, \"" << alias << "\" already registered.\n" - << "\tFirst seen at " << find(alias)->lineInfo << "\n" + << "\tFirst seen at " << find(alias)->lineInfo << '\n' << "\tRedefined at " << lineInfo; throw std::domain_error( oss.str().c_str() ); } @@ -8660,12 +9175,12 @@ namespace Catch { struct BySectionInfo { BySectionInfo( SectionInfo const& other ) : m_other( other ) {} - BySectionInfo( BySectionInfo const& other ) : m_other( other.m_other ) {} + BySectionInfo( BySectionInfo const& other ) : m_other( other.m_other ) {} bool operator() ( Ptr const& node ) const { return node->stats.sectionInfo.lineInfo == m_other.lineInfo; } private: - void operator=( BySectionInfo const& ); + void operator=( BySectionInfo const& ); SectionInfo const& m_other; }; @@ -8721,6 +9236,12 @@ namespace Catch { assert( !m_sectionStack.empty() ); SectionNode& sectionNode = *m_sectionStack.back(); sectionNode.assertions.push_back( assertionStats ); + // AssertionResult holds a pointer to a temporary DecomposedExpression, + // which getExpandedExpression() calls to build the expression string. + // Our section stack copy of the assertionResult will likely outlive the + // temporary, so it must be expanded or discarded now to avoid calling + // a destroyed object later. + prepareExpandedExpression( sectionNode.assertions.back().assertionResult ); return true; } virtual void sectionEnded( SectionStats const& sectionStats ) CATCH_OVERRIDE { @@ -8755,6 +9276,13 @@ namespace Catch { virtual void skipTest( TestCaseInfo const& ) CATCH_OVERRIDE {} + virtual void prepareExpandedExpression( AssertionResult& result ) const { + if( result.isOk() ) + result.discardDecomposedExpression(); + else + result.expandDecomposedExpression(); + } + Ptr m_config; std::ostream& stream; std::vector m_assertions; @@ -8775,7 +9303,7 @@ namespace Catch { char const* getLineOfChars() { static char line[CATCH_CONFIG_CONSOLE_WIDTH] = {0}; if( !*line ) { - memset( line, C, CATCH_CONFIG_CONSOLE_WIDTH-1 ); + std::memset( line, C, CATCH_CONFIG_CONSOLE_WIDTH-1 ); line[CATCH_CONFIG_CONSOLE_WIDTH-1] = 0; } return line; @@ -8860,7 +9388,7 @@ namespace Catch { return new T( config ); } virtual std::string getDescription() const { - return ""; + return std::string(); } }; @@ -8927,9 +9455,13 @@ namespace Catch { break; default: - // Escape control chars - based on contribution by @espenalb in PR #465 - if ( ( c < '\x09' ) || ( c > '\x0D' && c < '\x20') || c=='\x7F' ) - os << "&#x" << std::uppercase << std::hex << static_cast( c ); + // Escape control chars - based on contribution by @espenalb in PR #465 and + // by @mrpi PR #588 + if ( ( c >= 0 && c < '\x09' ) || ( c > '\x0D' && c < '\x20') || c=='\x7F' ) { + // see http://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml-1-0 + os << "\\x" << std::uppercase << std::hex << std::setfill('0') << std::setw(2) + << static_cast( c ); + } else os << c; } @@ -8983,14 +9515,18 @@ namespace Catch { XmlWriter() : m_tagIsOpen( false ), m_needsNewline( false ), - m_os( &Catch::cout() ) - {} + m_os( Catch::cout() ) + { + writeDeclaration(); + } XmlWriter( std::ostream& os ) : m_tagIsOpen( false ), m_needsNewline( false ), - m_os( &os ) - {} + m_os( os ) + { + writeDeclaration(); + } ~XmlWriter() { while( !m_tags.empty() ) @@ -9000,7 +9536,7 @@ namespace Catch { XmlWriter& startElement( std::string const& name ) { ensureTagClosed(); newlineIfNecessary(); - stream() << m_indent << "<" << name; + m_os << m_indent << '<' << name; m_tags.push_back( name ); m_indent += " "; m_tagIsOpen = true; @@ -9017,24 +9553,25 @@ namespace Catch { newlineIfNecessary(); m_indent = m_indent.substr( 0, m_indent.size()-2 ); if( m_tagIsOpen ) { - stream() << "/>\n"; + m_os << "/>"; m_tagIsOpen = false; } else { - stream() << m_indent << "\n"; + m_os << m_indent << ""; } + m_os << std::endl; m_tags.pop_back(); return *this; } XmlWriter& writeAttribute( std::string const& name, std::string const& attribute ) { if( !name.empty() && !attribute.empty() ) - stream() << " " << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << "\""; + m_os << ' ' << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << '"'; return *this; } XmlWriter& writeAttribute( std::string const& name, bool attribute ) { - stream() << " " << name << "=\"" << ( attribute ? "true" : "false" ) << "\""; + m_os << ' ' << name << "=\"" << ( attribute ? "true" : "false" ) << '"'; return *this; } @@ -9050,8 +9587,8 @@ namespace Catch { bool tagWasOpen = m_tagIsOpen; ensureTagClosed(); if( tagWasOpen && indent ) - stream() << m_indent; - stream() << XmlEncode( text ); + m_os << m_indent; + m_os << XmlEncode( text ); m_needsNewline = true; } return *this; @@ -9059,39 +9596,39 @@ namespace Catch { XmlWriter& writeComment( std::string const& text ) { ensureTagClosed(); - stream() << m_indent << ""; + m_os << m_indent << ""; m_needsNewline = true; return *this; } + void writeStylesheetRef( std::string const& url ) { + m_os << "\n"; + } + XmlWriter& writeBlankLine() { ensureTagClosed(); - stream() << "\n"; + m_os << '\n'; return *this; } - void setStream( std::ostream& os ) { - m_os = &os; + void ensureTagClosed() { + if( m_tagIsOpen ) { + m_os << ">" << std::endl; + m_tagIsOpen = false; + } } private: XmlWriter( XmlWriter const& ); void operator=( XmlWriter const& ); - std::ostream& stream() { - return *m_os; - } - - void ensureTagClosed() { - if( m_tagIsOpen ) { - stream() << ">\n"; - m_tagIsOpen = false; - } + void writeDeclaration() { + m_os << "\n"; } void newlineIfNecessary() { if( m_needsNewline ) { - stream() << "\n"; + m_os << std::endl; m_needsNewline = false; } } @@ -9100,7 +9637,7 @@ namespace Catch { bool m_needsNewline; std::vector m_tags; std::string m_indent; - std::ostream* m_os; + std::ostream& m_os; }; } @@ -9124,6 +9661,7 @@ namespace Catch { public: XmlReporter( ReporterConfig const& _config ) : StreamingReporterBase( _config ), + m_xml(_config.stream()), m_sectionDepth( 0 ) { m_reporterPrefs.shouldRedirectStdOut = true; @@ -9135,6 +9673,10 @@ namespace Catch { return "Reports test results as an XML document"; } + virtual std::string getStylesheetRef() const { + return std::string(); + } + public: // StreamingReporterBase virtual void noMatchingTestCases( std::string const& s ) CATCH_OVERRIDE { @@ -9143,7 +9685,9 @@ namespace Catch { virtual void testRunStarting( TestRunInfo const& testInfo ) CATCH_OVERRIDE { StreamingReporterBase::testRunStarting( testInfo ); - m_xml.setStream( stream ); + std::string stylesheetRef = getStylesheetRef(); + if( !stylesheetRef.empty() ) + m_xml.writeStylesheetRef( stylesheetRef ); m_xml.startElement( "Catch" ); if( !m_config->name().empty() ) m_xml.writeAttribute( "name", m_config->name() ); @@ -9157,10 +9701,14 @@ namespace Catch { virtual void testCaseStarting( TestCaseInfo const& testInfo ) CATCH_OVERRIDE { StreamingReporterBase::testCaseStarting(testInfo); - m_xml.startElement( "TestCase" ).writeAttribute( "name", trim( testInfo.name ) ); + m_xml.startElement( "TestCase" ) + .writeAttribute( "name", trim( testInfo.name ) ) + .writeAttribute( "description", testInfo.description ) + .writeAttribute( "tags", testInfo.tagsAsString ); if ( m_config->showDurations() == ShowDurations::Always ) m_testCaseTimer.start(); + m_xml.ensureTagClosed(); } virtual void sectionStarting( SectionInfo const& sectionInfo ) CATCH_OVERRIDE { @@ -9169,6 +9717,7 @@ namespace Catch { m_xml.startElement( "Section" ) .writeAttribute( "name", trim( sectionInfo.name ) ) .writeAttribute( "description", sectionInfo.description ); + m_xml.ensureTagClosed(); } } @@ -9200,7 +9749,7 @@ namespace Catch { if( assertionResult.hasExpression() ) { m_xml.startElement( "Expression" ) .writeAttribute( "success", assertionResult.succeeded() ) - .writeAttribute( "type", assertionResult.getTestMacroName() ) + .writeAttribute( "type", assertionResult.getTestMacroName() ) .writeAttribute( "filename", assertionResult.getSourceInfo().file ) .writeAttribute( "line", assertionResult.getSourceInfo().line ); @@ -9219,7 +9768,7 @@ namespace Catch { .writeText( assertionResult.getMessage() ); break; case ResultWas::FatalErrorCondition: - m_xml.scopedElement( "Fatal Error Condition" ) + m_xml.scopedElement( "FatalErrorCondition" ) .writeAttribute( "filename", assertionResult.getSourceInfo().file ) .writeAttribute( "line", assertionResult.getSourceInfo().line ) .writeText( assertionResult.getMessage() ); @@ -9268,6 +9817,11 @@ namespace Catch { if ( m_config->showDurations() == ShowDurations::Always ) e.writeAttribute( "durationInSeconds", m_testCaseTimer.getElapsedSeconds() ); + if( !testCaseStats.stdOut.empty() ) + m_xml.scopedElement( "StdOut" ).writeText( trim( testCaseStats.stdOut ), false ); + if( !testCaseStats.stdErr.empty() ) + m_xml.scopedElement( "StdErr" ).writeText( trim( testCaseStats.stdErr ), false ); + m_xml.endElement(); } @@ -9307,6 +9861,35 @@ namespace Catch { namespace Catch { + namespace { + std::string getCurrentTimestamp() { + // Beware, this is not reentrant because of backward compatibility issues + // Also, UTC only, again because of backward compatibility (%z is C++11) + time_t rawtime; + std::time(&rawtime); + const size_t timeStampSize = sizeof("2017-01-16T17:06:45Z"); + +#ifdef _MSC_VER + std::tm timeInfo = {}; + gmtime_s(&timeInfo, &rawtime); +#else + std::tm* timeInfo; + timeInfo = std::gmtime(&rawtime); +#endif + + char timeStamp[timeStampSize]; + const char * const fmt = "%Y-%m-%dT%H:%M:%SZ"; + +#ifdef _MSC_VER + std::strftime(timeStamp, timeStampSize, fmt, &timeInfo); +#else + std::strftime(timeStamp, timeStampSize, fmt, timeInfo); +#endif + return std::string(timeStamp); + } + + } + class JunitReporter : public CumulativeReporterBase { public: JunitReporter( ReporterConfig const& _config ) @@ -9371,7 +9954,7 @@ namespace Catch { xml.writeAttribute( "time", "" ); else xml.writeAttribute( "time", suiteTime ); - xml.writeAttribute( "timestamp", "tbd" ); // !TBD + xml.writeAttribute( "timestamp", getCurrentTimestamp() ); // Write test cases for( TestGroupNode::ChildNodes::const_iterator @@ -9406,7 +9989,7 @@ namespace Catch { SectionNode const& sectionNode ) { std::string name = trim( sectionNode.stats.sectionInfo.name ); if( !rootName.empty() ) - name = rootName + "/" + name; + name = rootName + '/' + name; if( !sectionNode.assertions.empty() || !sectionNode.stdOut.empty() || @@ -9484,14 +10067,14 @@ namespace Catch { std::ostringstream oss; if( !result.getMessage().empty() ) - oss << result.getMessage() << "\n"; + oss << result.getMessage() << '\n'; for( std::vector::const_iterator it = stats.infoMessages.begin(), itEnd = stats.infoMessages.end(); it != itEnd; ++it ) if( it->type == ResultWas::Info ) - oss << it->message << "\n"; + oss << it->message << '\n'; oss << "at " << result.getSourceInfo(); xml.writeText( oss.str(), false ); @@ -9526,7 +10109,7 @@ namespace Catch { } virtual void noMatchingTestCases( std::string const& spec ) CATCH_OVERRIDE { - stream << "No test cases matched '" << spec << "'" << std::endl; + stream << "No test cases matched '" << spec << '\'' << std::endl; } virtual void assertionStarting( AssertionInfo const& ) CATCH_OVERRIDE { @@ -9568,12 +10151,12 @@ namespace Catch { } if( m_headerPrinted ) { if( m_config->showDurations() == ShowDurations::Always ) - stream << "Completed in " << _sectionStats.durationInSeconds << "s" << std::endl; + stream << "Completed in " << _sectionStats.durationInSeconds << 's' << std::endl; m_headerPrinted = false; } else { if( m_config->showDurations() == ShowDurations::Always ) - stream << _sectionStats.sectionInfo.name << " completed in " << _sectionStats.durationInSeconds << "s" << std::endl; + stream << _sectionStats.sectionInfo.name << " completed in " << _sectionStats.durationInSeconds << 's' << std::endl; } StreamingReporterBase::sectionEnded( _sectionStats ); } @@ -9587,7 +10170,7 @@ namespace Catch { printSummaryDivider(); stream << "Summary for group '" << _testGroupStats.groupInfo.name << "':\n"; printTotals( _testGroupStats.totals ); - stream << "\n" << std::endl; + stream << '\n' << std::endl; } StreamingReporterBase::testGroupEnded( _testGroupStats ); } @@ -9679,13 +10262,13 @@ namespace Catch { printSourceInfo(); if( stats.totals.assertions.total() > 0 ) { if( result.isOk() ) - stream << "\n"; + stream << '\n'; printResultType(); printOriginalExpression(); printReconstructedExpression(); } else { - stream << "\n"; + stream << '\n'; } printMessage(); } @@ -9702,25 +10285,25 @@ namespace Catch { Colour colourGuard( Colour::OriginalExpression ); stream << " "; stream << result.getExpressionInMacro(); - stream << "\n"; + stream << '\n'; } } void printReconstructedExpression() const { if( result.hasExpandedExpression() ) { stream << "with expansion:\n"; Colour colourGuard( Colour::ReconstructedExpression ); - stream << Text( result.getExpandedExpression(), TextAttributes().setIndent(2) ) << "\n"; + stream << Text( result.getExpandedExpression(), TextAttributes().setIndent(2) ) << '\n'; } } void printMessage() const { if( !messageLabel.empty() ) - stream << messageLabel << ":" << "\n"; + stream << messageLabel << ':' << '\n'; for( std::vector::const_iterator it = messages.begin(), itEnd = messages.end(); it != itEnd; ++it ) { // If this assertion is a warning ignore any INFO messages if( printInfoMessages || it->type != ResultWas::Info ) - stream << Text( it->message, TextAttributes().setIndent(2) ) << "\n"; + stream << Text( it->message, TextAttributes().setIndent(2) ) << '\n'; } } void printSourceInfo() const { @@ -9752,7 +10335,7 @@ namespace Catch { } } void lazyPrintRunInfo() { - stream << "\n" << getLineOfChars<'~'>() << "\n"; + stream << '\n' << getLineOfChars<'~'>() << '\n'; Colour colour( Colour::SecondaryText ); stream << currentTestRunInfo->name << " is a Catch v" << libraryVersion << " host application.\n" @@ -9783,22 +10366,22 @@ namespace Catch { printHeaderString( it->name, 2 ); } - SourceLineInfo lineInfo = m_sectionStack.front().lineInfo; + SourceLineInfo lineInfo = m_sectionStack.back().lineInfo; if( !lineInfo.empty() ){ - stream << getLineOfChars<'-'>() << "\n"; + stream << getLineOfChars<'-'>() << '\n'; Colour colourGuard( Colour::FileName ); - stream << lineInfo << "\n"; + stream << lineInfo << '\n'; } - stream << getLineOfChars<'.'>() << "\n" << std::endl; + stream << getLineOfChars<'.'>() << '\n' << std::endl; } void printClosedHeader( std::string const& _name ) { printOpenHeader( _name ); - stream << getLineOfChars<'.'>() << "\n"; + stream << getLineOfChars<'.'>() << '\n'; } void printOpenHeader( std::string const& _name ) { - stream << getLineOfChars<'-'>() << "\n"; + stream << getLineOfChars<'-'>() << '\n'; { Colour colourGuard( Colour::Headers ); printHeaderString( _name ); @@ -9815,7 +10398,7 @@ namespace Catch { i = 0; stream << Text( _string, TextAttributes() .setIndent( indent+i) - .setInitialIndent( indent ) ) << "\n"; + .setInitialIndent( indent ) ) << '\n'; } struct SummaryColumn { @@ -9830,9 +10413,9 @@ namespace Catch { std::string row = oss.str(); for( std::vector::iterator it = rows.begin(); it != rows.end(); ++it ) { while( it->size() < row.size() ) - *it = " " + *it; + *it = ' ' + *it; while( it->size() > row.size() ) - row = " " + row; + row = ' ' + row; } rows.push_back( row ); return *this; @@ -9852,8 +10435,8 @@ namespace Catch { stream << Colour( Colour::ResultSuccess ) << "All tests passed"; stream << " (" << pluralise( totals.assertions.passed, "assertion" ) << " in " - << pluralise( totals.testCases.passed, "test case" ) << ")" - << "\n"; + << pluralise( totals.testCases.passed, "test case" ) << ')' + << '\n'; } else { @@ -9888,10 +10471,10 @@ namespace Catch { else if( value != "0" ) { stream << Colour( Colour::LightGrey ) << " | "; stream << Colour( it->colour ) - << value << " " << it->label; + << value << ' ' << it->label; } } - stream << "\n"; + stream << '\n'; } static std::size_t makeRatio( std::size_t number, std::size_t total ) { @@ -9927,10 +10510,10 @@ namespace Catch { else { stream << Colour( Colour::Warning ) << std::string( CATCH_CONFIG_CONSOLE_WIDTH-1, '=' ); } - stream << "\n"; + stream << '\n'; } void printSummaryDivider() { - stream << getLineOfChars<'-'>() << "\n"; + stream << getLineOfChars<'-'>() << '\n'; } private: @@ -9965,7 +10548,7 @@ namespace Catch { } virtual void noMatchingTestCases( std::string const& spec ) { - stream << "No test cases matched '" << spec << "'" << std::endl; + stream << "No test cases matched '" << spec << '\'' << std::endl; } virtual void assertionStarting( AssertionInfo const& ) { @@ -9992,7 +10575,7 @@ namespace Catch { virtual void testRunEnded( TestRunStats const& _testRunStats ) { printTotals( _testRunStats.totals ); - stream << "\n" << std::endl; + stream << '\n' << std::endl; StreamingReporterBase::testRunEnded( _testRunStats ); } @@ -10092,26 +10675,26 @@ namespace Catch { void printSourceInfo() const { Colour colourGuard( Colour::FileName ); - stream << result.getSourceInfo() << ":"; + stream << result.getSourceInfo() << ':'; } void printResultType( Colour::Code colour, std::string passOrFail ) const { if( !passOrFail.empty() ) { { Colour colourGuard( colour ); - stream << " " << passOrFail; + stream << ' ' << passOrFail; } - stream << ":"; + stream << ':'; } } void printIssue( std::string issue ) const { - stream << " " << issue; + stream << ' ' << issue; } void printExpressionWas() { if( result.hasExpression() ) { - stream << ";"; + stream << ';'; { Colour colour( dimColour() ); stream << " expression was:"; @@ -10122,7 +10705,7 @@ namespace Catch { void printOriginalExpression() const { if( result.hasExpression() ) { - stream << " " << result.getExpression(); + stream << ' ' << result.getExpression(); } } @@ -10138,7 +10721,7 @@ namespace Catch { void printMessage() { if ( itMessage != messages.end() ) { - stream << " '" << itMessage->message << "'"; + stream << " '" << itMessage->message << '\''; ++itMessage; } } @@ -10153,13 +10736,13 @@ namespace Catch { { Colour colourGuard( colour ); - stream << " with " << pluralise( N, "message" ) << ":"; + stream << " with " << pluralise( N, "message" ) << ':'; } for(; itMessage != itEnd; ) { // If this assertion is a warning ignore any INFO messages if( printInfoMessages || itMessage->type != ResultWas::Info ) { - stream << " '" << itMessage->message << "'"; + stream << " '" << itMessage->message << '\''; if ( ++itMessage != itEnd ) { Colour colourGuard( dimColour() ); stream << " and"; @@ -10185,7 +10768,7 @@ namespace Catch { // - green: Passed [both/all] N tests cases with M assertions. std::string bothOrAll( std::size_t count ) const { - return count == 1 ? "" : count == 2 ? "both " : "all " ; + return count == 1 ? std::string() : count == 2 ? "both " : "all " ; } void printTotals( const Totals& totals ) const { @@ -10196,12 +10779,12 @@ namespace Catch { Colour colour( Colour::ResultError ); const std::string qualify_assertions_failed = totals.assertions.failed == totals.assertions.total() ? - bothOrAll( totals.assertions.failed ) : ""; + bothOrAll( totals.assertions.failed ) : std::string(); stream << "Failed " << bothOrAll( totals.testCases.failed ) << pluralise( totals.testCases.failed, "test case" ) << ", " "failed " << qualify_assertions_failed << - pluralise( totals.assertions.failed, "assertion" ) << "."; + pluralise( totals.assertions.failed, "assertion" ) << '.'; } else if( totals.assertions.total() == 0 ) { stream << @@ -10213,14 +10796,14 @@ namespace Catch { Colour colour( Colour::ResultError ); stream << "Failed " << pluralise( totals.testCases.failed, "test case" ) << ", " - "failed " << pluralise( totals.assertions.failed, "assertion" ) << "."; + "failed " << pluralise( totals.assertions.failed, "assertion" ) << '.'; } else { Colour colour( Colour::ResultSuccess ); stream << "Passed " << bothOrAll( totals.testCases.passed ) << pluralise( totals.testCases.passed, "test case" ) << - " with " << pluralise( totals.assertions.passed, "assertion" ) << "."; + " with " << pluralise( totals.assertions.passed, "assertion" ) << '.'; } } }; @@ -10306,7 +10889,8 @@ namespace Catch { // Standard C/C++ main entry point int main (int argc, char * argv[]) { - return Catch::Session().run( argc, argv ); + int result = Catch::Session().run( argc, argv ); + return ( result < 0xff ? result : 0xff ); } #else // __OBJC__ @@ -10324,7 +10908,7 @@ int main (int argc, char * const argv[]) { [pool drain]; #endif - return result; + return ( result < 0xff ? result : 0xff ); } #endif // __OBJC__ @@ -10354,12 +10938,12 @@ int main (int argc, char * const argv[]) { #define CATCH_CHECKED_ELSE( expr ) INTERNAL_CATCH_ELSE( expr, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECKED_ELSE" ) #define CATCH_CHECK_NOFAIL( expr ) INTERNAL_CATCH_TEST( expr, Catch::ResultDisposition::ContinueOnFailure | Catch::ResultDisposition::SuppressFail, "CATCH_CHECK_NOFAIL" ) -#define CATCH_CHECK_THROWS( expr ) INTERNAL_CATCH_THROWS( expr, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECK_THROWS" ) +#define CATCH_CHECK_THROWS( expr ) INTERNAL_CATCH_THROWS( expr, Catch::ResultDisposition::ContinueOnFailure, "", "CATCH_CHECK_THROWS" ) #define CATCH_CHECK_THROWS_AS( expr, exceptionType ) INTERNAL_CATCH_THROWS_AS( expr, exceptionType, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECK_THROWS_AS" ) #define CATCH_CHECK_THROWS_WITH( expr, matcher ) INTERNAL_CATCH_THROWS( expr, Catch::ResultDisposition::ContinueOnFailure, matcher, "CATCH_CHECK_THROWS_WITH" ) #define CATCH_CHECK_NOTHROW( expr ) INTERNAL_CATCH_NO_THROW( expr, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECK_NOTHROW" ) -#define CHECK_THAT( arg, matcher ) INTERNAL_CHECK_THAT( arg, matcher, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECK_THAT" ) +#define CATCH_CHECK_THAT( arg, matcher ) INTERNAL_CHECK_THAT( arg, matcher, Catch::ResultDisposition::ContinueOnFailure, "CATCH_CHECK_THAT" ) #define CATCH_REQUIRE_THAT( arg, matcher ) INTERNAL_CHECK_THAT( arg, matcher, Catch::ResultDisposition::Normal, "CATCH_REQUIRE_THAT" ) #define CATCH_INFO( msg ) INTERNAL_CATCH_INFO( msg, "CATCH_INFO" ) diff --git a/3rdparty/bx/LICENSE b/3rdparty/bx/LICENSE index f18446330b4..dd17ed45ef3 100644 --- a/3rdparty/bx/LICENSE +++ b/3rdparty/bx/LICENSE @@ -1,7 +1,5 @@ Copyright 2010-2017 Branimir Karadzic. All rights reserved. -https://github.com/bkaradzic/bx - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -22,5 +20,3 @@ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -https://github.com/bkaradzic/bx/blob/master/LICENSE diff --git a/3rdparty/bx/include/bx/allocator.h b/3rdparty/bx/include/bx/allocator.h index a1ab3e30826..77646a5b29d 100644 --- a/3rdparty/bx/include/bx/allocator.h +++ b/3rdparty/bx/include/bx/allocator.h @@ -8,7 +8,6 @@ #include "bx.h" -#include //::memmove #include #if BX_CONFIG_ALLOCATOR_DEBUG @@ -41,11 +40,14 @@ namespace bx { + /// Abstract allocator interface. + /// struct BX_NO_VTABLE AllocatorI { + /// virtual ~AllocatorI() = 0; - /// Allocated, resizes memory block or frees memory. + /// Allocates, resizes memory block, or frees memory. /// /// @param[in] _ptr If _ptr is NULL new block will be allocated. /// @param[in] _size If _ptr is set, and _size is 0, memory will be freed. @@ -65,7 +67,7 @@ namespace bx , size_t _align = BX_CONFIG_ALLOCATOR_NATURAL_ALIGNMENT ); - /// + /// Allocate memory. void* alloc( AllocatorI* _allocator , size_t _size @@ -74,7 +76,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Free memory. void free( AllocatorI* _allocator , void* _ptr @@ -83,7 +85,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Resize memory block. void* realloc( AllocatorI* _allocator , void* _ptr @@ -93,7 +95,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Allocate memory with specific alignment. void* alignedAlloc( AllocatorI* _allocator , size_t _size @@ -102,7 +104,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Free memory that was allocated with aligned allocator. void alignedFree( AllocatorI* _allocator , void* _ptr @@ -111,7 +113,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Resize memory block that was allocated with aligned allocator. void* alignedRealloc( AllocatorI* _allocator , void* _ptr @@ -121,7 +123,7 @@ namespace bx , uint32_t _line = 0 ); - /// + /// Delete object with specific allocator. template void deleteObject( AllocatorI* _allocator @@ -133,6 +135,6 @@ namespace bx } // namespace bx -#include "allocator.inl" +#include "inline/allocator.inl" #endif // BX_ALLOCATOR_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/allocator.inl b/3rdparty/bx/include/bx/allocator.inl deleted file mode 100644 index 67a4a5325c5..00000000000 --- a/3rdparty/bx/include/bx/allocator.inl +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_ALLOCATOR_H_HEADER_GUARD -# error "Must be included from bx/allocator.h" -#endif // BX_ALLOCATOR_H_HEADER_GUARD - -namespace bx -{ - inline AllocatorI::~AllocatorI() - { - } - - inline bool isAligned(const void* _ptr, size_t _align) - { - union { const void* ptr; uintptr_t addr; } un; - un.ptr = _ptr; - return 0 == (un.addr & (_align-1) ); - } - - inline void* alignPtr(void* _ptr, size_t _extra, size_t _align) - { - union { void* ptr; uintptr_t addr; } un; - un.ptr = _ptr; - uintptr_t unaligned = un.addr + _extra; // space for header - uintptr_t mask = _align-1; - uintptr_t aligned = BX_ALIGN_MASK(unaligned, mask); - un.addr = aligned; - return un.ptr; - } - - inline void* alloc(AllocatorI* _allocator, size_t _size, size_t _align, const char* _file, uint32_t _line) - { - return _allocator->realloc(NULL, _size, _align, _file, _line); - } - - inline void free(AllocatorI* _allocator, void* _ptr, size_t _align, const char* _file, uint32_t _line) - { - _allocator->realloc(_ptr, 0, _align, _file, _line); - } - - inline void* realloc(AllocatorI* _allocator, void* _ptr, size_t _size, size_t _align, const char* _file, uint32_t _line) - { - return _allocator->realloc(_ptr, _size, _align, _file, _line); - } - - inline void* alignedAlloc(AllocatorI* _allocator, size_t _size, size_t _align, const char* _file, uint32_t _line) - { - size_t total = _size + _align; - uint8_t* ptr = (uint8_t*)alloc(_allocator, total, 0, _file, _line); - uint8_t* aligned = (uint8_t*)alignPtr(ptr, sizeof(uint32_t), _align); - uint32_t* header = (uint32_t*)aligned - 1; - *header = uint32_t(aligned - ptr); - return aligned; - } - - inline void alignedFree(AllocatorI* _allocator, void* _ptr, size_t _align, const char* _file, uint32_t _line) - { - BX_UNUSED(_align); - uint8_t* aligned = (uint8_t*)_ptr; - uint32_t* header = (uint32_t*)aligned - 1; - uint8_t* ptr = aligned - *header; - free(_allocator, ptr, 0, _file, _line); - } - - inline void* alignedRealloc(AllocatorI* _allocator, void* _ptr, size_t _size, size_t _align, const char* _file, uint32_t _line) - { - if (NULL == _ptr) - { - return alignedAlloc(_allocator, _size, _align, _file, _line); - } - - uint8_t* aligned = (uint8_t*)_ptr; - uint32_t offset = *( (uint32_t*)aligned - 1); - uint8_t* ptr = aligned - offset; - size_t total = _size + _align; - ptr = (uint8_t*)realloc(_allocator, ptr, total, 0, _file, _line); - uint8_t* newAligned = (uint8_t*)alignPtr(ptr, sizeof(uint32_t), _align); - - if (newAligned == aligned) - { - return aligned; - } - - aligned = ptr + offset; - ::memmove(newAligned, aligned, _size); - uint32_t* header = (uint32_t*)newAligned - 1; - *header = uint32_t(newAligned - ptr); - return newAligned; - } - - template - inline void deleteObject(AllocatorI* _allocator, ObjectT* _object, size_t _align, const char* _file, uint32_t _line) - { - if (NULL != _object) - { - _object->~ObjectT(); - free(_allocator, _object, _align, _file, _line); - } - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/bx.h b/3rdparty/bx/include/bx/bx.h index 43ccba3cce1..838c429a8f5 100644 --- a/3rdparty/bx/include/bx/bx.h +++ b/3rdparty/bx/include/bx/bx.h @@ -6,47 +6,47 @@ #ifndef BX_H_HEADER_GUARD #define BX_H_HEADER_GUARD +#include // alloca +#include // va_list #include // uint32_t #include // size_t #include // ptrdiff_t +#include "platform.h" #include "config.h" #include "macros.h" -namespace bx -{ - // http://cnicholson.net/2011/01/stupid-c-tricks-a-better-sizeof_array/ - template char (&COUNTOF_REQUIRES_ARRAY_ARGUMENT(const T(&)[N]) )[N]; +/// #define BX_COUNTOF(_x) sizeof(bx::COUNTOF_REQUIRES_ARRAY_ARGUMENT(_x) ) - // Template for avoiding MSVC: C4127: conditional expression is constant - template - inline bool isEnabled() - { - return true; - } - - template<> - inline bool isEnabled() - { - return false; - } +/// +#define BX_IGNORE_C4127(_x) bx::ignoreC4127(!!(_x) ) + +/// #define BX_ENABLED(_x) bx::isEnabled() - inline bool ignoreC4127(bool _x) - { - return _x; - } -#define BX_IGNORE_C4127(_x) bx::ignoreC4127(!!(_x) ) +namespace bx +{ + /// Template for avoiding MSVC: C4127: conditional expression is constant + template + bool isEnabled(); + /// + bool ignoreC4127(bool _x); + + /// template - inline void xchg(Ty& _a, Ty& _b) - { - Ty tmp = _a; _a = _b; _b = tmp; - } + void xchg(Ty& _a, Ty& _b); + + /// + void xchg(void* _a, void* _b, size_t _numBytes); + + // http://cnicholson.net/2011/01/stupid-c-tricks-a-better-sizeof_array/ + template + char (&COUNTOF_REQUIRES_ARRAY_ARGUMENT(const T(&)[N]) )[N]; /// - void* memCopy(void* _dst, const void* _src, size_t _numBytes); + void memCopy(void* _dst, const void* _src, size_t _numBytes); /// void memCopy(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch, uint32_t _dstPitch); @@ -58,11 +58,16 @@ namespace bx void scatter(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _dstPitch); /// - void* memMove(void* _dst, const void* _src, size_t _numBytes); + void memMove(void* _dst, const void* _src, size_t _numBytes); /// - void* memSet(void* _dst, uint8_t _ch, size_t _numBytes); + void memSet(void* _dst, uint8_t _ch, size_t _numBytes); + + /// + int32_t memCmp(const void* _lhs, const void* _rhs, size_t _numBytes); } // namespace bx +#include "inline/bx.inl" + #endif // BX_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/cl.h b/3rdparty/bx/include/bx/cl.h deleted file mode 100644 index f21aa96e734..00000000000 --- a/3rdparty/bx/include/bx/cl.h +++ /dev/null @@ -1,925 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_CL_H_HEADER_GUARD -#define BX_CL_H_HEADER_GUARD - -/// To implement OpenCL dynamic loading, define BX_CL_IMPLEMENTATION and -/// #include into .cpp file. -/// -/// To use it, just #include without defining BX_CL_IMPLEMENTATION. -/// To load dynamic library call bx::clLoad(), to unload it call bx::clUnload. - -namespace bx -{ - /// Load OpenCL dynamic library. - /// - /// Returns internal reference count. If library is not available - /// returns 0. - /// - int32_t clLoad(); - - /// Unload OpenCL dynamic library. - /// - /// Returns internal reference count. When reference count reaches 0 - /// library is fully unloaded. - /// - int32_t clUnload(); - -} // namespace bx - -#if defined(BX_CL_IMPLEMENTATION) && defined(__OPENCL_CL_H) -# error message("CL/cl.h is already included, it cannot be included before bx/cl.h header when BX_CL_IMPLEMENTATION is defined!") -#endif // defined(BX_CL_IMPLEMENTATION) && defined(__OPENCL_CL_H) - -#ifndef __OPENCL_CL_H -#define __OPENCL_CL_H - -// BK - CL/cl.h header begin ------------------------------------------------->8 - -/******************************************************************************* - * Copyright (c) 2008 - 2012 The Khronos Group Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and/or associated documentation files (the - * "Materials"), to deal in the Materials without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Materials, and to - * permit persons to whom the Materials are furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Materials. - * - * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. - ******************************************************************************/ - -#ifdef __APPLE__ -#include -#else -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/******************************************************************************/ - -typedef struct _cl_platform_id * cl_platform_id; -typedef struct _cl_device_id * cl_device_id; -typedef struct _cl_context * cl_context; -typedef struct _cl_command_queue * cl_command_queue; -typedef struct _cl_mem * cl_mem; -typedef struct _cl_program * cl_program; -typedef struct _cl_kernel * cl_kernel; -typedef struct _cl_event * cl_event; -typedef struct _cl_sampler * cl_sampler; - -typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */ -typedef cl_ulong cl_bitfield; -typedef cl_bitfield cl_device_type; -typedef cl_uint cl_platform_info; -typedef cl_uint cl_device_info; -typedef cl_bitfield cl_device_fp_config; -typedef cl_uint cl_device_mem_cache_type; -typedef cl_uint cl_device_local_mem_type; -typedef cl_bitfield cl_device_exec_capabilities; -typedef cl_bitfield cl_command_queue_properties; -typedef intptr_t cl_device_partition_property; -typedef cl_bitfield cl_device_affinity_domain; - -typedef intptr_t cl_context_properties; -typedef cl_uint cl_context_info; -typedef cl_uint cl_command_queue_info; -typedef cl_uint cl_channel_order; -typedef cl_uint cl_channel_type; -typedef cl_bitfield cl_mem_flags; -typedef cl_uint cl_mem_object_type; -typedef cl_uint cl_mem_info; -typedef cl_bitfield cl_mem_migration_flags; -typedef cl_uint cl_image_info; -typedef cl_uint cl_buffer_create_type; -typedef cl_uint cl_addressing_mode; -typedef cl_uint cl_filter_mode; -typedef cl_uint cl_sampler_info; -typedef cl_bitfield cl_map_flags; -typedef cl_uint cl_program_info; -typedef cl_uint cl_program_build_info; -typedef cl_uint cl_program_binary_type; -typedef cl_int cl_build_status; -typedef cl_uint cl_kernel_info; -typedef cl_uint cl_kernel_arg_info; -typedef cl_uint cl_kernel_arg_address_qualifier; -typedef cl_uint cl_kernel_arg_access_qualifier; -typedef cl_bitfield cl_kernel_arg_type_qualifier; -typedef cl_uint cl_kernel_work_group_info; -typedef cl_uint cl_event_info; -typedef cl_uint cl_command_type; -typedef cl_uint cl_profiling_info; - - -typedef struct _cl_image_format { - cl_channel_order image_channel_order; - cl_channel_type image_channel_data_type; -} cl_image_format; - -typedef struct _cl_image_desc { - cl_mem_object_type image_type; - size_t image_width; - size_t image_height; - size_t image_depth; - size_t image_array_size; - size_t image_row_pitch; - size_t image_slice_pitch; - cl_uint num_mip_levels; - cl_uint num_samples; - cl_mem buffer; -} cl_image_desc; - -typedef struct _cl_buffer_region { - size_t origin; - size_t size; -} cl_buffer_region; - - -/******************************************************************************/ - -/* Error Codes */ -#define CL_SUCCESS 0 -#define CL_DEVICE_NOT_FOUND -1 -#define CL_DEVICE_NOT_AVAILABLE -2 -#define CL_COMPILER_NOT_AVAILABLE -3 -#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 -#define CL_OUT_OF_RESOURCES -5 -#define CL_OUT_OF_HOST_MEMORY -6 -#define CL_PROFILING_INFO_NOT_AVAILABLE -7 -#define CL_MEM_COPY_OVERLAP -8 -#define CL_IMAGE_FORMAT_MISMATCH -9 -#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 -#define CL_BUILD_PROGRAM_FAILURE -11 -#define CL_MAP_FAILURE -12 -#define CL_MISALIGNED_SUB_BUFFER_OFFSET -13 -#define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14 -#define CL_COMPILE_PROGRAM_FAILURE -15 -#define CL_LINKER_NOT_AVAILABLE -16 -#define CL_LINK_PROGRAM_FAILURE -17 -#define CL_DEVICE_PARTITION_FAILED -18 -#define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19 - -#define CL_INVALID_VALUE -30 -#define CL_INVALID_DEVICE_TYPE -31 -#define CL_INVALID_PLATFORM -32 -#define CL_INVALID_DEVICE -33 -#define CL_INVALID_CONTEXT -34 -#define CL_INVALID_QUEUE_PROPERTIES -35 -#define CL_INVALID_COMMAND_QUEUE -36 -#define CL_INVALID_HOST_PTR -37 -#define CL_INVALID_MEM_OBJECT -38 -#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 -#define CL_INVALID_IMAGE_SIZE -40 -#define CL_INVALID_SAMPLER -41 -#define CL_INVALID_BINARY -42 -#define CL_INVALID_BUILD_OPTIONS -43 -#define CL_INVALID_PROGRAM -44 -#define CL_INVALID_PROGRAM_EXECUTABLE -45 -#define CL_INVALID_KERNEL_NAME -46 -#define CL_INVALID_KERNEL_DEFINITION -47 -#define CL_INVALID_KERNEL -48 -#define CL_INVALID_ARG_INDEX -49 -#define CL_INVALID_ARG_VALUE -50 -#define CL_INVALID_ARG_SIZE -51 -#define CL_INVALID_KERNEL_ARGS -52 -#define CL_INVALID_WORK_DIMENSION -53 -#define CL_INVALID_WORK_GROUP_SIZE -54 -#define CL_INVALID_WORK_ITEM_SIZE -55 -#define CL_INVALID_GLOBAL_OFFSET -56 -#define CL_INVALID_EVENT_WAIT_LIST -57 -#define CL_INVALID_EVENT -58 -#define CL_INVALID_OPERATION -59 -#define CL_INVALID_GL_OBJECT -60 -#define CL_INVALID_BUFFER_SIZE -61 -#define CL_INVALID_MIP_LEVEL -62 -#define CL_INVALID_GLOBAL_WORK_SIZE -63 -#define CL_INVALID_PROPERTY -64 -#define CL_INVALID_IMAGE_DESCRIPTOR -65 -#define CL_INVALID_COMPILER_OPTIONS -66 -#define CL_INVALID_LINKER_OPTIONS -67 -#define CL_INVALID_DEVICE_PARTITION_COUNT -68 - -/* OpenCL Version */ -#define CL_VERSION_1_0 1 -#define CL_VERSION_1_1 1 -#define CL_VERSION_1_2 1 - -/* cl_bool */ -#define CL_FALSE 0 -#define CL_TRUE 1 -#define CL_BLOCKING CL_TRUE -#define CL_NON_BLOCKING CL_FALSE - -/* cl_platform_info */ -#define CL_PLATFORM_PROFILE 0x0900 -#define CL_PLATFORM_VERSION 0x0901 -#define CL_PLATFORM_NAME 0x0902 -#define CL_PLATFORM_VENDOR 0x0903 -#define CL_PLATFORM_EXTENSIONS 0x0904 - -/* cl_device_type - bitfield */ -#define CL_DEVICE_TYPE_DEFAULT (1 << 0) -#define CL_DEVICE_TYPE_CPU (1 << 1) -#define CL_DEVICE_TYPE_GPU (1 << 2) -#define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) -#define CL_DEVICE_TYPE_CUSTOM (1 << 4) -#define CL_DEVICE_TYPE_ALL 0xFFFFFFFF - -/* cl_device_info */ -#define CL_DEVICE_TYPE 0x1000 -#define CL_DEVICE_VENDOR_ID 0x1001 -#define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 -#define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 -#define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 -#define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B -#define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C -#define CL_DEVICE_ADDRESS_BITS 0x100D -#define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E -#define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F -#define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 -#define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 -#define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 -#define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 -#define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 -#define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 -#define CL_DEVICE_IMAGE_SUPPORT 0x1016 -#define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 -#define CL_DEVICE_MAX_SAMPLERS 0x1018 -#define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 -#define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A -#define CL_DEVICE_SINGLE_FP_CONFIG 0x101B -#define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C -#define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D -#define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E -#define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F -#define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 -#define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 -#define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 -#define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 -#define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 -#define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 -#define CL_DEVICE_ENDIAN_LITTLE 0x1026 -#define CL_DEVICE_AVAILABLE 0x1027 -#define CL_DEVICE_COMPILER_AVAILABLE 0x1028 -#define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 -#define CL_DEVICE_QUEUE_PROPERTIES 0x102A -#define CL_DEVICE_NAME 0x102B -#define CL_DEVICE_VENDOR 0x102C -#define CL_DRIVER_VERSION 0x102D -#define CL_DEVICE_PROFILE 0x102E -#define CL_DEVICE_VERSION 0x102F -#define CL_DEVICE_EXTENSIONS 0x1030 -#define CL_DEVICE_PLATFORM 0x1031 -#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 -/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */ -#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034 -#define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039 -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B -#define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C -#define CL_DEVICE_OPENCL_C_VERSION 0x103D -#define CL_DEVICE_LINKER_AVAILABLE 0x103E -#define CL_DEVICE_BUILT_IN_KERNELS 0x103F -#define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040 -#define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041 -#define CL_DEVICE_PARENT_DEVICE 0x1042 -#define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043 -#define CL_DEVICE_PARTITION_PROPERTIES 0x1044 -#define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045 -#define CL_DEVICE_PARTITION_TYPE 0x1046 -#define CL_DEVICE_REFERENCE_COUNT 0x1047 -#define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048 -#define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049 -#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A -#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B - -/* cl_device_fp_config - bitfield */ -#define CL_FP_DENORM (1 << 0) -#define CL_FP_INF_NAN (1 << 1) -#define CL_FP_ROUND_TO_NEAREST (1 << 2) -#define CL_FP_ROUND_TO_ZERO (1 << 3) -#define CL_FP_ROUND_TO_INF (1 << 4) -#define CL_FP_FMA (1 << 5) -#define CL_FP_SOFT_FLOAT (1 << 6) -#define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7) - -/* cl_device_mem_cache_type */ -#define CL_NONE 0x0 -#define CL_READ_ONLY_CACHE 0x1 -#define CL_READ_WRITE_CACHE 0x2 - -/* cl_device_local_mem_type */ -#define CL_LOCAL 0x1 -#define CL_GLOBAL 0x2 - -/* cl_device_exec_capabilities - bitfield */ -#define CL_EXEC_KERNEL (1 << 0) -#define CL_EXEC_NATIVE_KERNEL (1 << 1) - -/* cl_command_queue_properties - bitfield */ -#define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) -#define CL_QUEUE_PROFILING_ENABLE (1 << 1) - -/* cl_context_info */ -#define CL_CONTEXT_REFERENCE_COUNT 0x1080 -#define CL_CONTEXT_DEVICES 0x1081 -#define CL_CONTEXT_PROPERTIES 0x1082 -#define CL_CONTEXT_NUM_DEVICES 0x1083 - -/* cl_context_properties */ -#define CL_CONTEXT_PLATFORM 0x1084 -#define CL_CONTEXT_INTEROP_USER_SYNC 0x1085 - -/* cl_device_partition_property */ -#define CL_DEVICE_PARTITION_EQUALLY 0x1086 -#define CL_DEVICE_PARTITION_BY_COUNTS 0x1087 -#define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0 -#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088 - -/* cl_device_affinity_domain */ -#define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0) -#define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1) -#define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2) -#define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3) -#define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4) -#define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5) - -/* cl_command_queue_info */ -#define CL_QUEUE_CONTEXT 0x1090 -#define CL_QUEUE_DEVICE 0x1091 -#define CL_QUEUE_REFERENCE_COUNT 0x1092 -#define CL_QUEUE_PROPERTIES 0x1093 - -/* cl_mem_flags - bitfield */ -#define CL_MEM_READ_WRITE (1 << 0) -#define CL_MEM_WRITE_ONLY (1 << 1) -#define CL_MEM_READ_ONLY (1 << 2) -#define CL_MEM_USE_HOST_PTR (1 << 3) -#define CL_MEM_ALLOC_HOST_PTR (1 << 4) -#define CL_MEM_COPY_HOST_PTR (1 << 5) -// reserved (1 << 6) -#define CL_MEM_HOST_WRITE_ONLY (1 << 7) -#define CL_MEM_HOST_READ_ONLY (1 << 8) -#define CL_MEM_HOST_NO_ACCESS (1 << 9) - -/* cl_mem_migration_flags - bitfield */ -#define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0) -#define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1) - -/* cl_channel_order */ -#define CL_R 0x10B0 -#define CL_A 0x10B1 -#define CL_RG 0x10B2 -#define CL_RA 0x10B3 -#define CL_RGB 0x10B4 -#define CL_RGBA 0x10B5 -#define CL_BGRA 0x10B6 -#define CL_ARGB 0x10B7 -#define CL_INTENSITY 0x10B8 -#define CL_LUMINANCE 0x10B9 -#define CL_Rx 0x10BA -#define CL_RGx 0x10BB -#define CL_RGBx 0x10BC -#define CL_DEPTH 0x10BD -#define CL_DEPTH_STENCIL 0x10BE - -/* cl_channel_type */ -#define CL_SNORM_INT8 0x10D0 -#define CL_SNORM_INT16 0x10D1 -#define CL_UNORM_INT8 0x10D2 -#define CL_UNORM_INT16 0x10D3 -#define CL_UNORM_SHORT_565 0x10D4 -#define CL_UNORM_SHORT_555 0x10D5 -#define CL_UNORM_INT_101010 0x10D6 -#define CL_SIGNED_INT8 0x10D7 -#define CL_SIGNED_INT16 0x10D8 -#define CL_SIGNED_INT32 0x10D9 -#define CL_UNSIGNED_INT8 0x10DA -#define CL_UNSIGNED_INT16 0x10DB -#define CL_UNSIGNED_INT32 0x10DC -#define CL_HALF_FLOAT 0x10DD -#define CL_FLOAT 0x10DE -#define CL_UNORM_INT24 0x10DF - -/* cl_mem_object_type */ -#define CL_MEM_OBJECT_BUFFER 0x10F0 -#define CL_MEM_OBJECT_IMAGE2D 0x10F1 -#define CL_MEM_OBJECT_IMAGE3D 0x10F2 -#define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3 -#define CL_MEM_OBJECT_IMAGE1D 0x10F4 -#define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5 -#define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6 - -/* cl_mem_info */ -#define CL_MEM_TYPE 0x1100 -#define CL_MEM_FLAGS 0x1101 -#define CL_MEM_SIZE 0x1102 -#define CL_MEM_HOST_PTR 0x1103 -#define CL_MEM_MAP_COUNT 0x1104 -#define CL_MEM_REFERENCE_COUNT 0x1105 -#define CL_MEM_CONTEXT 0x1106 -#define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107 -#define CL_MEM_OFFSET 0x1108 - -/* cl_image_info */ -#define CL_IMAGE_FORMAT 0x1110 -#define CL_IMAGE_ELEMENT_SIZE 0x1111 -#define CL_IMAGE_ROW_PITCH 0x1112 -#define CL_IMAGE_SLICE_PITCH 0x1113 -#define CL_IMAGE_WIDTH 0x1114 -#define CL_IMAGE_HEIGHT 0x1115 -#define CL_IMAGE_DEPTH 0x1116 -#define CL_IMAGE_ARRAY_SIZE 0x1117 -#define CL_IMAGE_BUFFER 0x1118 -#define CL_IMAGE_NUM_MIP_LEVELS 0x1119 -#define CL_IMAGE_NUM_SAMPLES 0x111A - -/* cl_addressing_mode */ -#define CL_ADDRESS_NONE 0x1130 -#define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 -#define CL_ADDRESS_CLAMP 0x1132 -#define CL_ADDRESS_REPEAT 0x1133 -#define CL_ADDRESS_MIRRORED_REPEAT 0x1134 - -/* cl_filter_mode */ -#define CL_FILTER_NEAREST 0x1140 -#define CL_FILTER_LINEAR 0x1141 - -/* cl_sampler_info */ -#define CL_SAMPLER_REFERENCE_COUNT 0x1150 -#define CL_SAMPLER_CONTEXT 0x1151 -#define CL_SAMPLER_NORMALIZED_COORDS 0x1152 -#define CL_SAMPLER_ADDRESSING_MODE 0x1153 -#define CL_SAMPLER_FILTER_MODE 0x1154 - -/* cl_map_flags - bitfield */ -#define CL_MAP_READ (1 << 0) -#define CL_MAP_WRITE (1 << 1) -#define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2) - -/* cl_program_info */ -#define CL_PROGRAM_REFERENCE_COUNT 0x1160 -#define CL_PROGRAM_CONTEXT 0x1161 -#define CL_PROGRAM_NUM_DEVICES 0x1162 -#define CL_PROGRAM_DEVICES 0x1163 -#define CL_PROGRAM_SOURCE 0x1164 -#define CL_PROGRAM_BINARY_SIZES 0x1165 -#define CL_PROGRAM_BINARIES 0x1166 -#define CL_PROGRAM_NUM_KERNELS 0x1167 -#define CL_PROGRAM_KERNEL_NAMES 0x1168 - -/* cl_program_build_info */ -#define CL_PROGRAM_BUILD_STATUS 0x1181 -#define CL_PROGRAM_BUILD_OPTIONS 0x1182 -#define CL_PROGRAM_BUILD_LOG 0x1183 -#define CL_PROGRAM_BINARY_TYPE 0x1184 - -/* cl_program_binary_type */ -#define CL_PROGRAM_BINARY_TYPE_NONE 0x0 -#define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1 -#define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2 -#define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4 - -/* cl_build_status */ -#define CL_BUILD_SUCCESS 0 -#define CL_BUILD_NONE -1 -#define CL_BUILD_ERROR -2 -#define CL_BUILD_IN_PROGRESS -3 - -/* cl_kernel_info */ -#define CL_KERNEL_FUNCTION_NAME 0x1190 -#define CL_KERNEL_NUM_ARGS 0x1191 -#define CL_KERNEL_REFERENCE_COUNT 0x1192 -#define CL_KERNEL_CONTEXT 0x1193 -#define CL_KERNEL_PROGRAM 0x1194 -#define CL_KERNEL_ATTRIBUTES 0x1195 - -/* cl_kernel_arg_info */ -#define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196 -#define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197 -#define CL_KERNEL_ARG_TYPE_NAME 0x1198 -#define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199 -#define CL_KERNEL_ARG_NAME 0x119A - -/* cl_kernel_arg_address_qualifier */ -#define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B -#define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C -#define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D -#define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E - -/* cl_kernel_arg_access_qualifier */ -#define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0 -#define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1 -#define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2 -#define CL_KERNEL_ARG_ACCESS_NONE 0x11A3 - -/* cl_kernel_arg_type_qualifer */ -#define CL_KERNEL_ARG_TYPE_NONE 0 -#define CL_KERNEL_ARG_TYPE_CONST (1 << 0) -#define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1) -#define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2) - -/* cl_kernel_work_group_info */ -#define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 -#define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 -#define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 -#define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3 -#define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4 -#define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5 - -/* cl_event_info */ -#define CL_EVENT_COMMAND_QUEUE 0x11D0 -#define CL_EVENT_COMMAND_TYPE 0x11D1 -#define CL_EVENT_REFERENCE_COUNT 0x11D2 -#define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 -#define CL_EVENT_CONTEXT 0x11D4 - -/* cl_command_type */ -#define CL_COMMAND_NDRANGE_KERNEL 0x11F0 -#define CL_COMMAND_TASK 0x11F1 -#define CL_COMMAND_NATIVE_KERNEL 0x11F2 -#define CL_COMMAND_READ_BUFFER 0x11F3 -#define CL_COMMAND_WRITE_BUFFER 0x11F4 -#define CL_COMMAND_COPY_BUFFER 0x11F5 -#define CL_COMMAND_READ_IMAGE 0x11F6 -#define CL_COMMAND_WRITE_IMAGE 0x11F7 -#define CL_COMMAND_COPY_IMAGE 0x11F8 -#define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 -#define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA -#define CL_COMMAND_MAP_BUFFER 0x11FB -#define CL_COMMAND_MAP_IMAGE 0x11FC -#define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD -#define CL_COMMAND_MARKER 0x11FE -#define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF -#define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 -#define CL_COMMAND_READ_BUFFER_RECT 0x1201 -#define CL_COMMAND_WRITE_BUFFER_RECT 0x1202 -#define CL_COMMAND_COPY_BUFFER_RECT 0x1203 -#define CL_COMMAND_USER 0x1204 -#define CL_COMMAND_BARRIER 0x1205 -#define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206 -#define CL_COMMAND_FILL_BUFFER 0x1207 -#define CL_COMMAND_FILL_IMAGE 0x1208 - -/* command execution status */ -#define CL_COMPLETE 0x0 -#define CL_RUNNING 0x1 -#define CL_SUBMITTED 0x2 -#define CL_QUEUED 0x3 - -/* cl_buffer_create_type */ -#define CL_BUFFER_CREATE_TYPE_REGION 0x1220 - -/* cl_profiling_info */ -#define CL_PROFILING_COMMAND_QUEUED 0x1280 -#define CL_PROFILING_COMMAND_SUBMIT 0x1281 -#define CL_PROFILING_COMMAND_START 0x1282 -#define CL_PROFILING_COMMAND_END 0x1283 - -#ifdef __cplusplus -} //extern "C" -#endif - -// BK - CL/cl.h header end --------------------------------------------------->8 - -// 1.1 -typedef cl_int (CL_API_CALL* PFNCLGETPLATFORMIDSPROC)(cl_uint, cl_platform_id*, cl_uint*); -typedef cl_int (CL_API_CALL* PFNCLGETPLATFORMINFOPROC)(cl_platform_id, cl_platform_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLGETDEVICEINFOPROC)(cl_device_id, cl_device_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLGETDEVICEIDSPROC)(cl_platform_id, cl_device_type, cl_uint, cl_device_id*, cl_uint*); -typedef cl_context (CL_API_CALL* PFNCLCREATECONTEXTPROC)(const cl_context_properties*, cl_uint, const cl_device_id*, void (CL_CALLBACK*)(const char*, const void*, size_t, void*), void*, cl_int*); -typedef cl_context (CL_API_CALL* PFNCLCREATECONTEXTFROMTYPEPROC)(const cl_context_properties *, cl_device_type, void (CL_CALLBACK*)(const char*, const void*, size_t, void*), void*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLRETAINCONTEXTPROC)(cl_context); -typedef cl_int (CL_API_CALL* PFNCLRELEASECONTEXTPROC)(cl_context); -typedef cl_int (CL_API_CALL* PFNCLGETCONTEXTINFOPROC)(cl_context, cl_context_info, size_t, void*, size_t*); -typedef cl_command_queue (CL_API_CALL* PFNCLCREATECOMMANDQUEUEPROC)(cl_context, cl_device_id, cl_command_queue_properties, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLRETAINCOMMANDQUEUEPROC)(cl_command_queue); -typedef cl_int (CL_API_CALL* PFNCLRELEASECOMMANDQUEUEPROC)(cl_command_queue); -typedef cl_int (CL_API_CALL* PFNCLGETCOMMANDQUEUEINFOPROC)(cl_command_queue, cl_command_queue_info, size_t, void*, size_t*); -typedef cl_mem (CL_API_CALL* PFNCLCREATEBUFFERPROC)(cl_context, cl_mem_flags, size_t, void*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLRETAINMEMOBJECTPROC)(cl_mem); -typedef cl_int (CL_API_CALL* PFNCLRELEASEMEMOBJECTPROC)(cl_mem); -typedef cl_int (CL_API_CALL* PFNCLGETSUPPORTEDIMAGEFORMATSPROC)(cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, cl_image_format*, cl_uint*); -typedef cl_int (CL_API_CALL* PFNCLGETMEMOBJECTINFOPROC)(cl_mem, cl_mem_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLGETIMAGEINFOPROC)(cl_mem, cl_image_info, size_t, void*, size_t*); -typedef cl_sampler (CL_API_CALL* PFNCLCREATESAMPLERPROC)(cl_context, cl_bool, cl_addressing_mode, cl_filter_mode, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLRETAINSAMPLERPROC)(cl_sampler); -typedef cl_int (CL_API_CALL* PFNCLRELEASESAMPLERPROC)(cl_sampler); -typedef cl_int (CL_API_CALL* PFNCLGETSAMPLERINFOPROC)(cl_sampler, cl_sampler_info, size_t, void*, size_t*); -typedef cl_program (CL_API_CALL* PFNCLCREATEPROGRAMWITHSOURCEPROC)(cl_context, cl_uint, const char**, const size_t*, cl_int*); -typedef cl_program (CL_API_CALL* PFNCLCREATEPROGRAMWITHBINARYPROC)(cl_context, cl_uint, const cl_device_id*, const size_t*, const unsigned char**, cl_int*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLRETAINPROGRAMPROC)(cl_program); -typedef cl_int (CL_API_CALL* PFNCLRELEASEPROGRAMPROC)(cl_program); -typedef cl_int (CL_API_CALL* PFNCLBUILDPROGRAMPROC)(cl_program, cl_uint, const cl_device_id *, const char *, void (CL_CALLBACK*)(cl_program, void*), void*); -typedef cl_int (CL_API_CALL* PFNCLGETPROGRAMINFOPROC)(cl_program, cl_program_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLGETPROGRAMBUILDINFOPROC)(cl_program, cl_device_id, cl_program_build_info, size_t, void*, size_t*); -typedef cl_kernel (CL_API_CALL* PFNCLCREATEKERNELPROC)(cl_program, const char*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLCREATEKERNELSINPROGRAMPROC)(cl_program, cl_uint, cl_kernel*, cl_uint*); -typedef cl_int (CL_API_CALL* PFNCLRETAINKERNELPROC)(cl_kernel); -typedef cl_int (CL_API_CALL* PFNCLRELEASEKERNELPROC)(cl_kernel); -typedef cl_int (CL_API_CALL* PFNCLSETKERNELARGPROC)(cl_kernel, cl_uint, size_t, const void*); -typedef cl_int (CL_API_CALL* PFNCLGETKERNELINFOPROC)(cl_kernel, cl_kernel_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLGETKERNELWORKGROUPINFOPROC)(cl_kernel, cl_device_id, cl_kernel_work_group_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLWAITFOREVENTSPROC)(cl_uint, const cl_event*); -typedef cl_int (CL_API_CALL* PFNCLGETEVENTINFOPROC)(cl_event, cl_event_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLRETAINEVENTPROC)(cl_event); -typedef cl_int (CL_API_CALL* PFNCLRELEASEEVENTPROC)(cl_event); -typedef cl_int (CL_API_CALL* PFNCLGETEVENTPROFILINGINFOPROC)(cl_event, cl_profiling_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLFLUSHPROC)(cl_command_queue); -typedef cl_int (CL_API_CALL* PFNCLFINISHPROC)(cl_command_queue); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEREADBUFFERPROC)(cl_command_queue, cl_mem, cl_bool, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEWRITEBUFFERPROC)(cl_command_queue, cl_mem, cl_bool, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUECOPYBUFFERPROC)(cl_command_queue, cl_mem, cl_mem, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEREADIMAGEPROC)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEWRITEIMAGEPROC)(cl_command_queue, cl_mem, cl_bool, const size_t*, const size_t*, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUECOPYIMAGEPROC)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUECOPYIMAGETOBUFFERPROC)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, size_t, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUECOPYBUFFERTOIMAGEPROC)(cl_command_queue, cl_mem, cl_mem, size_t, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -typedef void (CL_API_CALL* PFNCLENQUEUEMAPBUFFERPROC)(cl_command_queue, cl_mem, cl_bool, cl_map_flags, size_t, size_t, cl_uint, const cl_event*, cl_event*, cl_int*); -typedef void (CL_API_CALL* PFNCLENQUEUEMAPIMAGEPROC)(cl_command_queue, cl_mem, cl_bool, cl_map_flags, const size_t *, const size_t *, size_t *, size_t *, cl_uint, const cl_event *, cl_event *, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEUNMAPMEMOBJECTPROC)(cl_command_queue, cl_mem, void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUENDRANGEKERNELPROC)(cl_command_queue, cl_kernel, cl_uint, const size_t*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUETASKPROC)(cl_command_queue, cl_kernel, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUENATIVEKERNELPROC)(cl_command_queue, void (CL_CALLBACK*)(void*), void*, size_t, cl_uint, const cl_mem*, const void**, cl_uint, const cl_event*, cl_event*); - -// 1.1 -typedef cl_mem (CL_API_CALL* PFNCLCREATEIMAGE2DPROC)(cl_context, cl_mem_flags, const cl_image_format*, size_t, size_t, size_t, void*, cl_int*); -typedef cl_mem (CL_API_CALL* PFNCLCREATEIMAGE3DPROC)(cl_context, cl_mem_flags, const cl_image_format*, size_t, size_t, size_t, size_t, size_t, void*, cl_int*); -typedef cl_mem (CL_API_CALL* PFNCLCREATESUBBUFFERPROC)(cl_mem, cl_mem_flags, cl_buffer_create_type, const void*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLSETMEMOBJECTDESTRUCTORCALLBACKPROC)(cl_mem, void (CL_CALLBACK*)(cl_mem, void*), void*); -typedef cl_event (CL_API_CALL* PFNCLCREATEUSEREVENTPROC)(cl_context, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLSETUSEREVENTSTATUSPROC)(cl_event, cl_int); -typedef cl_int (CL_API_CALL* PFNCLSETEVENTCALLBACKPROC)(cl_event, cl_int, void (CL_CALLBACK*)(cl_event, cl_int, void*), void*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEREADBUFFERRECTPROC)(cl_command_queue, cl_mem, cl_bool, const size_t *, const size_t *, const size_t *, size_t, size_t, size_t, size_t, void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEWRITEBUFFERRECTPROC)(cl_command_queue, cl_mem, cl_bool, const size_t *, const size_t *, const size_t *, size_t, size_t, size_t, size_t, const void*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUECOPYBUFFERRECTPROC)(cl_command_queue, cl_mem, cl_mem, const size_t*, const size_t*, const size_t*, size_t, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event*); - -// 1.2 -typedef cl_int (CL_API_CALL* PFNCLCREATESUBDEVICESPROC)(cl_device_id, const cl_device_partition_property*, cl_uint, cl_device_id*, cl_uint*); -typedef cl_int (CL_API_CALL* PFNCLRETAINDEVICEPROC)(cl_device_id); -typedef cl_int (CL_API_CALL* PFNCLRELEASEDEVICEPROC)(cl_device_id); -typedef cl_mem (CL_API_CALL* PFNCLCREATEIMAGEPROC)(cl_context, cl_mem_flags, const cl_image_format*, const cl_image_desc*, void*, cl_int*); -typedef cl_program (CL_API_CALL* PFNCLCREATEPROGRAMWITHBUILTINKERNELSPROC)(cl_context, cl_uint, const cl_device_id*, const char*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLCOMPILEPROGRAMPROC)(cl_program, cl_uint, const cl_device_id*, const char*, cl_uint, const cl_program*, const char**, void (CL_CALLBACK*)(cl_program, void*), void*); -typedef cl_program (CL_API_CALL* PFNCLLINKPROGRAMPROC)(cl_context, cl_uint, const cl_device_id*, const char*, cl_uint, const cl_program*, void (CL_CALLBACK*)(cl_program, void*), void*, cl_int*); -typedef cl_int (CL_API_CALL* PFNCLUNLOADPLATFORMCOMPILERPROC)(cl_platform_id); -typedef cl_int (CL_API_CALL* PFNCLGETKERNELARGINFOPROC)(cl_kernel, cl_uint, cl_kernel_arg_info, size_t, void*, size_t*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEFILLBUFFERPROC)(cl_command_queue, cl_mem, const void*, size_t, size_t, size_t, cl_uint, const cl_event*, cl_event *); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEFILLIMAGEPROC)(cl_command_queue, cl_mem, const void*, const size_t*, const size_t*, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEMIGRATEMEMOBJECTSPROC)(cl_command_queue, cl_uint, const cl_mem*, cl_mem_migration_flags, cl_uint, const cl_event *, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEMARKERWITHWAITLISTPROC)(cl_command_queue, cl_uint, const cl_event*, cl_event*); -typedef cl_int (CL_API_CALL* PFNCLENQUEUEBARRIERWITHWAITLISTPROC)(cl_command_queue, cl_uint, const cl_event *, cl_event*); - -#define BX_CL_IMPORT_ALL_10 \ - /* Platform API */ \ - BX_CL_IMPORT_10(false, PFNCLGETPLATFORMIDSPROC, clGetPlatformIDs); \ - BX_CL_IMPORT_10(false, PFNCLGETPLATFORMINFOPROC, clGetPlatformInfo); \ - /* Device APIs */ \ - BX_CL_IMPORT_10(false, PFNCLGETDEVICEIDSPROC, clGetDeviceIDs); \ - BX_CL_IMPORT_10(false, PFNCLGETDEVICEINFOPROC, clGetDeviceInfo); \ - /* Context APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATECONTEXTPROC, clCreateContext); \ - BX_CL_IMPORT_10(false, PFNCLCREATECONTEXTFROMTYPEPROC, clCreateContextFromType); \ - BX_CL_IMPORT_10(false, PFNCLRETAINCONTEXTPROC, clRetainContext); \ - BX_CL_IMPORT_10(false, PFNCLRELEASECONTEXTPROC, clReleaseContext); \ - BX_CL_IMPORT_10(false, PFNCLGETCONTEXTINFOPROC, clGetContextInfo); \ - /* Command Queue APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATECOMMANDQUEUEPROC, clCreateCommandQueue); \ - BX_CL_IMPORT_10(false, PFNCLRETAINCOMMANDQUEUEPROC, clRetainCommandQueue); \ - BX_CL_IMPORT_10(false, PFNCLRELEASECOMMANDQUEUEPROC, clReleaseCommandQueue); \ - BX_CL_IMPORT_10(false, PFNCLGETCOMMANDQUEUEINFOPROC, clGetCommandQueueInfo); \ - /* Memory Object APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATEBUFFERPROC, clCreateBuffer); \ - BX_CL_IMPORT_10(false, PFNCLRETAINMEMOBJECTPROC, clRetainMemObject); \ - BX_CL_IMPORT_10(false, PFNCLRELEASEMEMOBJECTPROC, clReleaseMemObject); \ - BX_CL_IMPORT_10(false, PFNCLGETSUPPORTEDIMAGEFORMATSPROC, clGetSupportedImageFormats); \ - BX_CL_IMPORT_10(false, PFNCLGETMEMOBJECTINFOPROC, clGetMemObjectInfo); \ - BX_CL_IMPORT_10(false, PFNCLGETIMAGEINFOPROC, clGetImageInfo); \ - /* Sampler APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATESAMPLERPROC, clCreateSampler); \ - BX_CL_IMPORT_10(false, PFNCLRETAINSAMPLERPROC, clRetainSampler); \ - BX_CL_IMPORT_10(false, PFNCLRELEASESAMPLERPROC, clReleaseSampler); \ - BX_CL_IMPORT_10(false, PFNCLGETSAMPLERINFOPROC, clGetSamplerInfo); \ - /* Program Object APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATEPROGRAMWITHSOURCEPROC, clCreateProgramWithSource); \ - BX_CL_IMPORT_10(false, PFNCLCREATEPROGRAMWITHBINARYPROC, clCreateProgramWithBinary); \ - BX_CL_IMPORT_10(false, PFNCLRETAINPROGRAMPROC, clRetainProgram); \ - BX_CL_IMPORT_10(false, PFNCLRELEASEPROGRAMPROC, clReleaseProgram); \ - BX_CL_IMPORT_10(false, PFNCLBUILDPROGRAMPROC, clBuildProgram); \ - BX_CL_IMPORT_10(false, PFNCLGETPROGRAMINFOPROC, clGetProgramInfo); \ - BX_CL_IMPORT_10(false, PFNCLGETPROGRAMBUILDINFOPROC, clGetProgramBuildInfo); \ - /* Kernel Object APIs */ \ - BX_CL_IMPORT_10(false, PFNCLCREATEKERNELPROC, clCreateKernel); \ - BX_CL_IMPORT_10(false, PFNCLCREATEKERNELSINPROGRAMPROC, clCreateKernelsInProgram); \ - BX_CL_IMPORT_10(false, PFNCLRETAINKERNELPROC, clRetainKernel); \ - BX_CL_IMPORT_10(false, PFNCLRELEASEKERNELPROC, clReleaseKernel); \ - BX_CL_IMPORT_10(false, PFNCLSETKERNELARGPROC, clSetKernelArg); \ - BX_CL_IMPORT_10(false, PFNCLGETKERNELINFOPROC, clGetKernelInfo); \ - BX_CL_IMPORT_10(false, PFNCLGETKERNELWORKGROUPINFOPROC, clGetKernelWorkGroupInfo); \ - /* Event Object APIs */ \ - BX_CL_IMPORT_10(false, PFNCLWAITFOREVENTSPROC, clWaitForEvents); \ - BX_CL_IMPORT_10(false, PFNCLGETEVENTINFOPROC, clGetEventInfo); \ - BX_CL_IMPORT_10(false, PFNCLRETAINEVENTPROC, clRetainEvent); \ - BX_CL_IMPORT_10(false, PFNCLRELEASEEVENTPROC, clReleaseEvent); \ - /* Profiling APIs */ \ - BX_CL_IMPORT_10(false, PFNCLGETEVENTPROFILINGINFOPROC, clGetEventProfilingInfo); \ - /* Flush and Finish APIs */ \ - BX_CL_IMPORT_10(false, PFNCLFLUSHPROC, clFlush); \ - BX_CL_IMPORT_10(false, PFNCLFINISHPROC, clFinish); \ - /* Enqueued Commands APIs */ \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEREADBUFFERPROC, clEnqueueReadBuffer); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEWRITEBUFFERPROC, clEnqueueWriteBuffer); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUECOPYBUFFERPROC, clEnqueueCopyBuffer); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEREADIMAGEPROC, clEnqueueReadImage); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEWRITEIMAGEPROC, clEnqueueWriteImage); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUECOPYIMAGEPROC, clEnqueueCopyImage); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUECOPYIMAGETOBUFFERPROC, clEnqueueCopyImageToBuffer); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEMAPBUFFERPROC, clEnqueueMapBuffer); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEMAPIMAGEPROC, clEnqueueMapImage); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUEUNMAPMEMOBJECTPROC, clEnqueueUnmapMemObject); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUENDRANGEKERNELPROC, clEnqueueNDRangeKernel); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUETASKPROC, clEnqueueTask); \ - BX_CL_IMPORT_10(false, PFNCLENQUEUENATIVEKERNELPROC, clEnqueueNativeKernel); \ - \ - BX_CL_IMPORT_END - -#define BX_CL_IMPORT_ALL_11 \ - /* Memory Object APIs */ \ - BX_CL_IMPORT_11(false, PFNCLCREATEIMAGE2DPROC, clCreateImage2D); \ - BX_CL_IMPORT_11(false, PFNCLCREATEIMAGE3DPROC, clCreateImage3D); \ - BX_CL_IMPORT_11(false, PFNCLCREATESUBBUFFERPROC, clCreateSubBuffer); \ - BX_CL_IMPORT_11(false, PFNCLSETMEMOBJECTDESTRUCTORCALLBACKPROC, clSetMemObjectDestructorCallback); \ - /* Event Object APIs */ \ - BX_CL_IMPORT_11(false, PFNCLCREATEUSEREVENTPROC, clCreateUserEvent); \ - BX_CL_IMPORT_11(false, PFNCLSETUSEREVENTSTATUSPROC, clSetUserEventStatus); \ - BX_CL_IMPORT_11(false, PFNCLSETEVENTCALLBACKPROC, clSetEventCallback); \ - /* Enqueued Commands APIs */ \ - BX_CL_IMPORT_11(false, PFNCLENQUEUEREADBUFFERRECTPROC, clEnqueueReadBufferRect); \ - BX_CL_IMPORT_11(false, PFNCLENQUEUEWRITEBUFFERRECTPROC, clEnqueueWriteBufferRect); \ - BX_CL_IMPORT_11(false, PFNCLENQUEUECOPYBUFFERRECTPROC, clEnqueueCopyBufferRect); \ - \ - BX_CL_IMPORT_END - -#define BX_CL_IMPORT_ALL_12 \ - /* Device APIs */ \ - BX_CL_IMPORT_12(false, PFNCLCREATESUBDEVICESPROC, clCreateSubDevices); \ - BX_CL_IMPORT_12(false, PFNCLRETAINDEVICEPROC, clRetainDevice); \ - BX_CL_IMPORT_12(false, PFNCLRELEASEDEVICEPROC, clReleaseDevice); \ - BX_CL_IMPORT_12(false, PFNCLCREATEIMAGEPROC, clCreateImage); \ - /* Program Object APIs */ \ - BX_CL_IMPORT_12(false, PFNCLCREATEPROGRAMWITHBUILTINKERNELSPROC, clCreateProgramWithBuiltInKernels); \ - BX_CL_IMPORT_12(false, PFNCLCOMPILEPROGRAMPROC, clCompileProgram); \ - BX_CL_IMPORT_12(false, PFNCLLINKPROGRAMPROC, clLinkProgram); \ - BX_CL_IMPORT_12(false, PFNCLUNLOADPLATFORMCOMPILERPROC, clUnloadPlatformCompiler); \ - /* Kernel Object APIs */ \ - BX_CL_IMPORT_12(false, PFNCLGETKERNELARGINFOPROC, clGetKernelArgInfo); \ - /* Enqueued Commands APIs */ \ - BX_CL_IMPORT_12(false, PFNCLENQUEUEFILLBUFFERPROC, clEnqueueFillBuffer); \ - BX_CL_IMPORT_12(false, PFNCLENQUEUEFILLIMAGEPROC, clEnqueueFillImage); \ - BX_CL_IMPORT_12(false, PFNCLENQUEUEMIGRATEMEMOBJECTSPROC, clEnqueueMigrateMemObjects); \ - BX_CL_IMPORT_12(false, PFNCLENQUEUEMARKERWITHWAITLISTPROC, clEnqueueMarkerWithWaitList); \ - BX_CL_IMPORT_12(false, PFNCLENQUEUEBARRIERWITHWAITLISTPROC, clEnqueueBarrierWithWaitList); \ - \ - BX_CL_IMPORT_END - -#define BX_CL_IMPORT_ALL \ - BX_CL_IMPORT_ALL_10 \ - BX_CL_IMPORT_ALL_11 \ - BX_CL_IMPORT_ALL_12 \ - \ - BX_CL_IMPORT_END - -#define BX_CL_IMPORT_10(_optional, _proto, _func) BX_CL_IMPORT(10, _optional, _proto, _func) -#define BX_CL_IMPORT_11(_optional, _proto, _func) BX_CL_IMPORT(11, _optional, _proto, _func) -#define BX_CL_IMPORT_12(_optional, _proto, _func) BX_CL_IMPORT(12, _optional, _proto, _func) -#define BX_CL_IMPORT_END - -#define BX_CL_IMPORT(_version, _optional, _proto, _func) extern "C" _proto _func -BX_CL_IMPORT_ALL -#undef BX_CL_IMPORT - -#if defined(BX_CL_IMPLEMENTATION) -extern "C" -{ -#define BX_CL_IMPORT(_version, _optional, _proto, _func) _proto _func -BX_CL_IMPORT_ALL -#undef BX_CL_IMPORT -}; - -#include "os.h" - -namespace bx -{ - struct OpenCLContext - { - OpenCLContext() - : m_handle(NULL) - , m_refCount(0) - { - } - - int32_t load() - { - if (NULL != m_handle) - { - int32_t ref = ++m_refCount; - return ref; - } - - const char* filePath = -#if BX_PLATFORM_LINUX - "libOpenCL.so" -#elif BX_PLATFORM_OSX - "/Library/Frameworks/OpenCL.framework/OpenCL" -#elif BX_PLATFORM_WINDOWS - "opencl.dll" -#else - "??? unknown OpenCL platform ???" -#endif // BX_PLATFORM_ - ; - - m_handle = bx::dlopen(filePath); - if (NULL == m_handle) - { - BX_TRACE("Unable to find OpenCL '%s' dynamic library.", filePath); - return 0; - } - - m_refCount = 1; - -#define BX_CL_IMPORT(_version, _optional, _proto, _func) _func = (_proto)bx::dlsym(m_handle, #_func) - BX_CL_IMPORT_ALL -#undef BX_CL_IMPORT - - return 1; - } - - int32_t unload() - { - BX_CHECK(m_refCount > 0 && NULL != m_handle, "OpenCL is not loaded."); - - int32_t ref = --m_refCount; - if (0 == ref) - { - dlclose(m_handle); - m_handle = NULL; - } - - return ref; - } - - void* m_handle; - int32_t m_refCount; - }; - - static OpenCLContext s_ctx; - - int32_t clLoad() - { - return s_ctx.load(); - } - - int32_t clUnload() - { - return s_ctx.unload(); - } - -} // namespace bx - -#undef BX_CL_IMPORT_ALL -#undef BX_CL_IMPORT_ALL_10 -#undef BX_CL_IMPORT_ALL_11 -#undef BX_CL_IMPORT_ALL_12 -#undef BX_CL_IMPORT_END - -#endif // defined(BX_CL_IMPLEMENTATION) - -#endif // __OPENCL_CL_H - -#endif // BX_CL_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/config.h b/3rdparty/bx/include/bx/config.h index 86a81521161..2f7264f7c52 100644 --- a/3rdparty/bx/include/bx/config.h +++ b/3rdparty/bx/include/bx/config.h @@ -6,7 +6,7 @@ #ifndef BX_CONFIG_H_HEADER_GUARD #define BX_CONFIG_H_HEADER_GUARD -#include "platform.h" +#include "bx.h" #ifndef BX_CONFIG_ALLOCATOR_DEBUG # define BX_CONFIG_ALLOCATOR_DEBUG 0 @@ -16,30 +16,29 @@ # define BX_CONFIG_ALLOCATOR_CRT 1 #endif // BX_CONFIG_ALLOCATOR_CRT -#ifndef BX_CONFIG_SPSCQUEUE_USE_MUTEX -# define BX_CONFIG_SPSCQUEUE_USE_MUTEX 0 -#endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX - #ifndef BX_CONFIG_CRT_FILE_READER_WRITER -# define BX_CONFIG_CRT_FILE_READER_WRITER !(BX_PLATFORM_NACL) +# define BX_CONFIG_CRT_FILE_READER_WRITER !(0 \ + || BX_PLATFORM_NACL \ + || BX_CRT_NONE \ + ) #endif // BX_CONFIG_CRT_FILE_READER_WRITER #ifndef BX_CONFIG_CRT_PROCESS -# define BX_CONFIG_CRT_PROCESS !(0 \ +# define BX_CONFIG_CRT_PROCESS !(0 \ + || BX_CRT_NONE \ || BX_PLATFORM_EMSCRIPTEN \ - || BX_PLATFORM_NACL \ - || BX_PLATFORM_PS4 \ - || BX_PLATFORM_WINRT \ - || BX_PLATFORM_XBOXONE \ + || BX_PLATFORM_NACL \ + || BX_PLATFORM_PS4 \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOXONE \ ) #endif // BX_CONFIG_CRT_PROCESS -#ifndef BX_CONFIG_SEMAPHORE_PTHREAD -# define BX_CONFIG_SEMAPHORE_PTHREAD (BX_PLATFORM_OSX || BX_PLATFORM_IOS) -#endif // BX_CONFIG_SEMAPHORE_PTHREAD - #ifndef BX_CONFIG_SUPPORTS_THREADING -# define BX_CONFIG_SUPPORTS_THREADING !(BX_PLATFORM_EMSCRIPTEN) +# define BX_CONFIG_SUPPORTS_THREADING !(0 \ + || BX_PLATFORM_EMSCRIPTEN \ + || BX_CRT_NONE \ + ) #endif // BX_CONFIG_SUPPORTS_THREADING #endif // BX_CONFIG_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/debug.h b/3rdparty/bx/include/bx/debug.h index 641a0ed82bf..7c2ca8634d0 100644 --- a/3rdparty/bx/include/bx/debug.h +++ b/3rdparty/bx/include/bx/debug.h @@ -7,7 +7,6 @@ #define BX_DEBUG_H_HEADER_GUARD #include "bx.h" -#include // va_list namespace bx { diff --git a/3rdparty/bx/include/bx/easing.h b/3rdparty/bx/include/bx/easing.h index 9efbc515378..62131578450 100644 --- a/3rdparty/bx/include/bx/easing.h +++ b/3rdparty/bx/include/bx/easing.h @@ -193,6 +193,6 @@ namespace bx } // namespace bx -#include "easing.inl" +#include "inline/easing.inl" #endif // BX_EASING_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/easing.inl b/3rdparty/bx/include/bx/easing.inl deleted file mode 100644 index b23edb1128a..00000000000 --- a/3rdparty/bx/include/bx/easing.inl +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Copyright 2011-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_EASING_H_HEADER_GUARD -# error "Must be included from bx/easing.h!" -#endif // BX_EASING_H_HEADER_GUARD - -namespace bx -{ - template - float easeOut(float _t) - { - return 1.0f - ease(1.0f - _t); - } - - template - float easeMix(float _t) - { - return _t < 0.5f - ? easeFrom0toH(2.0f*_t)*0.5f - : easeFromHto1(2.0f*_t - 1.0f)*0.5f + 0.5f - ; - } - - inline float easeLinear(float _t) - { - return _t; - } - - inline float easeInQuad(float _t) - { - return fsq(_t); - } - - inline float easeOutQuad(float _t) - { - return easeOut(_t); - } - - inline float easeInOutQuad(float _t) - { - return easeMix(_t); - } - - inline float easeOutInQuad(float _t) - { - return easeMix(_t); - } - - inline float easeInCubic(float _t) - { - return _t*_t*_t; - } - - inline float easeOutCubic(float _t) - { - return easeOut(_t); - } - - inline float easeInOutCubic(float _t) - { - return easeMix(_t); - } - - inline float easeOutInCubic(float _t) - { - return easeMix(_t); - } - - inline float easeInQuart(float _t) - { - return _t*_t*_t*_t; - } - - inline float easeOutQuart(float _t) - { - return easeOut(_t); - } - - inline float easeInOutQuart(float _t) - { - return easeMix(_t); - } - - inline float easeOutInQuart(float _t) - { - return easeMix(_t); - } - - inline float easeInQuint(float _t) - { - return _t*_t*_t*_t*_t; - } - - inline float easeOutQuint(float _t) - { - return easeOut(_t); - } - - inline float easeInOutQuint(float _t) - { - return easeMix(_t); - } - - inline float easeOutInQuint(float _t) - { - return easeMix(_t); - } - - inline float easeInSine(float _t) - { - return 1.0f - fcos(_t*piHalf); - } - - inline float easeOutSine(float _t) - { - return easeOut(_t); - } - - inline float easeInOutSine(float _t) - { - return easeMix(_t); - } - - inline float easeOutInSine(float _t) - { - return easeMix(_t); - } - - inline float easeInExpo(float _t) - { - return fpow(2.0f, 10.0f * (_t - 1.0f) ) - 0.001f; - } - - inline float easeOutExpo(float _t) - { - return easeOut(_t); - } - - inline float easeInOutExpo(float _t) - { - return easeMix(_t); - } - - inline float easeOutInExpo(float _t) - { - return easeMix(_t); - } - - inline float easeInCirc(float _t) - { - return -(fsqrt(1.0f - _t*_t) - 1.0f); - } - - inline float easeOutCirc(float _t) - { - return easeOut(_t); - } - - inline float easeInOutCirc(float _t) - { - return easeMix(_t); - } - - inline float easeOutInCirc(float _t) - { - return easeMix(_t); - } - - inline float easeOutElastic(float _t) - { - return fpow(2.0f, -10.0f*_t)*fsin( (_t-0.3f/4.0f)*(2.0f*pi)/0.3f) + 1.0f; - } - - inline float easeInElastic(float _t) - { - return easeOut(_t); - } - - inline float easeInOutElastic(float _t) - { - return easeMix(_t); - } - - inline float easeOutInElastic(float _t) - { - return easeMix(_t); - } - - inline float easeInBack(float _t) - { - return easeInCubic(_t) - _t*fsin(_t*pi); - } - - inline float easeOutBack(float _t) - { - return easeOut(_t); - } - - inline float easeInOutBack(float _t) - { - return easeMix(_t); - } - - inline float easeOutInBack(float _t) - { - return easeMix(_t); - } - - inline float easeOutBounce(float _t) - { - if (4.0f/11.0f > _t) - { - return 121.0f/16.0f*_t*_t; - } - - if (8.0f/11.0f > _t) - { - return 363.0f/40.0f*_t*_t - - 99.0f/10.0f*_t - + 17.0f/ 5.0f - ; - } - - if (9.0f/10.0f > _t) - { - return 4356.0f/ 361.0f*_t*_t - - 35442.0f/1805.0f*_t - + 16061.0f/1805.0f - ; - } - - return 54.0f/ 5.0f*_t*_t - - 513.0f/25.0f*_t - + 268.0f/25.0f - ; - } - - inline float easeInBounce(float _t) - { - return easeOut(_t); - } - - inline float easeInOutBounce(float _t) - { - return easeMix(_t); - } - - inline float easeOutInBounce(float _t) - { - return easeMix(_t); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/endian.h b/3rdparty/bx/include/bx/endian.h index c687d4fa0f2..fdc1933e35b 100644 --- a/3rdparty/bx/include/bx/endian.h +++ b/3rdparty/bx/include/bx/endian.h @@ -45,6 +45,6 @@ namespace bx } // namespace bx -#include "endian.inl" +#include "inline/endian.inl" #endif // BX_ENDIAN_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/endian.inl b/3rdparty/bx/include/bx/endian.inl deleted file mode 100644 index 6ec7572c71c..00000000000 --- a/3rdparty/bx/include/bx/endian.inl +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_ENDIAN_H_HEADER_GUARD -# error "Must be included from bx/endian.h!" -#endif // BX_ENDIAN_H_HEADER_GUARD - -namespace bx -{ - inline int16_t endianSwap(int16_t _in) - { - return (int16_t)endianSwap( (uint16_t)_in); - } - - inline uint16_t endianSwap(uint16_t _in) - { - return (_in>>8) | (_in<<8); - } - - inline int32_t endianSwap(int32_t _in) - { - return (int32_t)endianSwap( (uint32_t)_in); - } - - inline uint32_t endianSwap(uint32_t _in) - { - return ( _in >>24) | ( _in <<24) - | ( (_in&0x00ff0000)>> 8) | ( (_in&0x0000ff00)<< 8) - ; - } - - inline int64_t endianSwap(int64_t _in) - { - return (int64_t)endianSwap( (uint64_t)_in); - } - - inline uint64_t endianSwap(uint64_t _in) - { - return (_in >>56) | ( _in <<56) - | ( (_in&UINT64_C(0x00ff000000000000) )>>40) | ( (_in&UINT64_C(0x000000000000ff00) )<<40) - | ( (_in&UINT64_C(0x0000ff0000000000) )>>24) | ( (_in&UINT64_C(0x0000000000ff0000) )<<24) - | ( (_in&UINT64_C(0x000000ff00000000) )>> 8) | ( (_in&UINT64_C(0x00000000ff000000) )<< 8) - ; - } - - template - inline Ty toLittleEndian(const Ty _in) - { -#if BX_CPU_ENDIAN_BIG - return endianSwap(_in); -#else - return _in; -#endif // BX_CPU_ENDIAN_BIG - } - - template - inline Ty toBigEndian(const Ty _in) - { -#if BX_CPU_ENDIAN_LITTLE - return endianSwap(_in); -#else - return _in; -#endif // BX_CPU_ENDIAN_LITTLE - } - - template - inline Ty toHostEndian(const Ty _in, bool _fromLittleEndian) - { -#if BX_CPU_ENDIAN_LITTLE - return _fromLittleEndian ? _in : endianSwap(_in); -#else - return _fromLittleEndian ? endianSwap(_in) : _in; -#endif // BX_CPU_ENDIAN_LITTLE - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/error.h b/3rdparty/bx/include/bx/error.h index 72a8444342c..47d6d8275a4 100644 --- a/3rdparty/bx/include/bx/error.h +++ b/3rdparty/bx/include/bx/error.h @@ -6,7 +6,6 @@ #ifndef BX_ERROR_H_HEADER_GUARD #define BX_ERROR_H_HEADER_GUARD -#include "bx.h" #include "string.h" #define BX_ERROR_SET(_ptr, _result, _msg) \ @@ -94,6 +93,6 @@ namespace bx } // namespace bx -#include "error.inl" +#include "inline/error.inl" #endif // BX_ERROR_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/error.inl b/3rdparty/bx/include/bx/error.inl deleted file mode 100644 index ac16c6f9841..00000000000 --- a/3rdparty/bx/include/bx/error.inl +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_ERROR_H_HEADER_GUARD -# error "Must be included from bx/error!" -#endif // BX_ERROR_H_HEADER_GUARD - -namespace bx -{ - inline Error::Error() - : m_code(0) - { - } - - inline void Error::reset() - { - m_code = 0; - m_msg.clear(); - } - - inline void Error::setError(ErrorResult _errorResult, const StringView& _msg) - { - BX_CHECK(0 != _errorResult.code, "Invalid ErrorResult passed to setError!"); - - if (!isOk() ) - { - return; - } - - m_code = _errorResult.code; - m_msg = _msg; - } - - inline bool Error::isOk() const - { - return 0 == m_code; - } - - inline ErrorResult Error::get() const - { - ErrorResult result = { m_code }; - return result; - } - - inline const StringView& Error::getMessage() const - { - return m_msg; - } - - inline bool Error::operator==(const ErrorResult& _rhs) const - { - return _rhs.code == m_code; - } - - inline bool Error::operator!=(const ErrorResult& _rhs) const - { - return _rhs.code != m_code; - } - - inline ErrorScope::ErrorScope(Error* _err) - : m_err(_err) - { - BX_CHECK(NULL != _err, "_err can't be NULL"); - } - - inline ErrorScope::~ErrorScope() - { - BX_CHECK(m_err->isOk(), "Error: %d", m_err->get().code); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/float4x4_t.h b/3rdparty/bx/include/bx/float4x4_t.h index e1a5eedfa70..44569b95a76 100644 --- a/3rdparty/bx/include/bx/float4x4_t.h +++ b/3rdparty/bx/include/bx/float4x4_t.h @@ -44,7 +44,7 @@ namespace bx return result; } - BX_SIMD_INLINE void float4x4_mul(float4x4_t* __restrict _result, const float4x4_t* __restrict _a, const float4x4_t* __restrict _b) + BX_SIMD_INLINE void float4x4_mul(float4x4_t* _result, const float4x4_t* _a, const float4x4_t* _b) { _result->col[0] = simd_mul(_a->col[0], _b); _result->col[1] = simd_mul(_a->col[1], _b); @@ -52,7 +52,7 @@ namespace bx _result->col[3] = simd_mul(_a->col[3], _b); } - BX_SIMD_FORCE_INLINE void float4x4_transpose(float4x4_t* __restrict _result, const float4x4_t* __restrict _mtx) + BX_SIMD_FORCE_INLINE void float4x4_transpose(float4x4_t* _result, const float4x4_t* _mtx) { const simd128_t aibj = simd_shuf_xAyB(_mtx->col[0], _mtx->col[2]); // aibj const simd128_t emfn = simd_shuf_xAyB(_mtx->col[1], _mtx->col[3]); // emfn @@ -64,7 +64,7 @@ namespace bx _result->col[3] = simd_shuf_zCwD(ckdl, gohp); // dhlp } - BX_SIMD_INLINE void float4x4_inverse(float4x4_t* __restrict _result, const float4x4_t* __restrict _a) + BX_SIMD_INLINE void float4x4_inverse(float4x4_t* _result, const float4x4_t* _a) { const simd128_t tmp0 = simd_shuf_xAzC(_a->col[0], _a->col[1]); const simd128_t tmp1 = simd_shuf_xAzC(_a->col[2], _a->col[3]); diff --git a/3rdparty/bx/include/bx/fpumath.h b/3rdparty/bx/include/bx/fpumath.h index 4c04eb6dc52..b5b319ce047 100644 --- a/3rdparty/bx/include/bx/fpumath.h +++ b/3rdparty/bx/include/bx/fpumath.h @@ -9,8 +9,6 @@ #define BX_FPU_MATH_H_HEADER_GUARD #include "bx.h" -#include -#include namespace bx { @@ -124,6 +122,9 @@ namespace bx /// float fcos(float _a); + /// + float ftan(float _a); + /// float facos(float _a); @@ -158,7 +159,7 @@ namespace bx bool fequal(float _a, float _b, float _epsilon); /// - bool fequal(const float* __restrict _a, const float* __restrict _b, uint32_t _num, float _epsilon); + bool fequal(const float* _a, const float* _b, uint32_t _num, float _epsilon); /// float fwrap(float _a, float _wrap); @@ -183,93 +184,93 @@ namespace bx float fgain(float _time, float _gain); /// - void vec3Move(float* __restrict _result, const float* __restrict _a); + void vec3Move(float* _result, const float* _a); /// - void vec3Abs(float* __restrict _result, const float* __restrict _a); + void vec3Abs(float* _result, const float* _a); /// - void vec3Neg(float* __restrict _result, const float* __restrict _a); + void vec3Neg(float* _result, const float* _a); /// - void vec3Add(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Add(float* _result, const float* _a, const float* _b); /// - void vec3Add(float* __restrict _result, const float* __restrict _a, float _b); + void vec3Add(float* _result, const float* _a, float _b); /// - void vec3Sub(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Sub(float* _result, const float* _a, const float* _b); /// - void vec3Sub(float* __restrict _result, const float* __restrict _a, float _b); + void vec3Sub(float* _result, const float* _a, float _b); /// - void vec3Mul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Mul(float* _result, const float* _a, const float* _b); /// - void vec3Mul(float* __restrict _result, const float* __restrict _a, float _b); + void vec3Mul(float* _result, const float* _a, float _b); /// - float vec3Dot(const float* __restrict _a, const float* __restrict _b); + float vec3Dot(const float* _a, const float* _b); /// - void vec3Cross(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Cross(float* _result, const float* _a, const float* _b); /// float vec3Length(const float* _a); /// - void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, float _t); + void vec3Lerp(float* _result, const float* _a, const float* _b, float _t); /// - void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, const float* __restrict _c); + void vec3Lerp(float* _result, const float* _a, const float* _b, const float* _c); /// - float vec3Norm(float* __restrict _result, const float* __restrict _a); + float vec3Norm(float* _result, const float* _a); /// - void vec3Min(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Min(float* _result, const float* _a, const float* _b); /// - void vec3Max(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void vec3Max(float* _result, const float* _a, const float* _b); /// - void vec3Rcp(float* __restrict _result, const float* __restrict _a); + void vec3Rcp(float* _result, const float* _a); /// Calculate tangent frame from normal. /// - void vec3TangentFrame(const float* __restrict _n, float* __restrict _t, float* __restrict _b); + void vec3TangentFrame(const float* _n, float* _t, float* _b); /// Calculate tangent frame from normal and angle. /// - void vec3TangentFrame(const float* __restrict _n, float* __restrict _t, float* __restrict _b, float _angle); + void vec3TangentFrame(const float* _n, float* _t, float* _b, float _angle); /// void quatIdentity(float* _result); /// - void quatMove(float* __restrict _result, const float* __restrict _a); + void quatMove(float* _result, const float* _a); /// - void quatMulXYZ(float* __restrict _result, const float* __restrict _qa, const float* __restrict _qb); + void quatMulXYZ(float* _result, const float* _qa, const float* _qb); /// - void quatMul(float* __restrict _result, const float* __restrict _qa, const float* __restrict _qb); + void quatMul(float* _result, const float* _qa, const float* _qb); /// - void quatInvert(float* __restrict _result, const float* __restrict _quat); + void quatInvert(float* _result, const float* _quat); /// - float quatDot(const float* __restrict _a, const float* __restrict _b); + float quatDot(const float* _a, const float* _b); /// - void quatNorm(float* __restrict _result, const float* __restrict _quat); + void quatNorm(float* _result, const float* _quat); /// - void quatToEuler(float* __restrict _result, const float* __restrict _quat); + void quatToEuler(float* _result, const float* _quat); /// - void quatRotateAxis(float* __restrict _result, const float* _axis, float _angle); + void quatRotateAxis(float* _result, const float* _axis, float _angle); /// void quatRotateX(float* _result, float _ax); @@ -281,7 +282,7 @@ namespace bx void quatRotateZ(float* _result, float _az); /// - void vec3MulQuat(float* __restrict _result, const float* __restrict _vec, const float* __restrict _quat); + void vec3MulQuat(float* _result, const float* _vec, const float* _quat); /// void mtxIdentity(float* _result); @@ -296,28 +297,28 @@ namespace bx void mtxScale(float* _result, float _scale); /// - void mtxFromNormal(float* __restrict _result, const float* __restrict _normal, float _scale, const float* __restrict _pos); + void mtxFromNormal(float* _result, const float* _normal, float _scale, const float* _pos); /// - void mtxFromNormal(float* __restrict _result, const float* __restrict _normal, float _scale, const float* __restrict _pos, float _angle); + void mtxFromNormal(float* _result, const float* _normal, float _scale, const float* _pos, float _angle); /// - void mtxQuat(float* __restrict _result, const float* __restrict _quat); + void mtxQuat(float* _result, const float* _quat); /// - void mtxQuatTranslation(float* __restrict _result, const float* __restrict _quat, const float* __restrict _translation); + void mtxQuatTranslation(float* _result, const float* _quat, const float* _translation); /// - void mtxQuatTranslationHMD(float* __restrict _result, const float* __restrict _quat, const float* __restrict _translation); + void mtxQuatTranslationHMD(float* _result, const float* _quat, const float* _translation); /// - void mtxLookAtLh(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up = NULL);; + void mtxLookAtLh(float* _result, const float* _eye, const float* _at, const float* _up = NULL);; /// - void mtxLookAtRh(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up = NULL); + void mtxLookAtRh(float* _result, const float* _eye, const float* _at, const float* _up = NULL); /// - void mtxLookAt(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up = NULL); + void mtxLookAt(float* _result, const float* _eye, const float* _at, const float* _up = NULL); /// void mtxProj(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc = false); @@ -422,33 +423,33 @@ namespace bx void mtxSRT(float* _result, float _sx, float _sy, float _sz, float _ax, float _ay, float _az, float _tx, float _ty, float _tz); /// - void vec3MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat); + void vec3MulMtx(float* _result, const float* _vec, const float* _mat); /// - void vec3MulMtxH(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat); + void vec3MulMtxH(float* _result, const float* _vec, const float* _mat); /// - void vec4MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat); + void vec4MulMtx(float* _result, const float* _vec, const float* _mat); /// - void mtxMul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b); + void mtxMul(float* _result, const float* _a, const float* _b); /// - void mtxTranspose(float* __restrict _result, const float* __restrict _a); + void mtxTranspose(float* _result, const float* _a); /// - void mtx3Inverse(float* __restrict _result, const float* __restrict _a); + void mtx3Inverse(float* _result, const float* _a); /// - void mtxInverse(float* __restrict _result, const float* __restrict _a); + void mtxInverse(float* _result, const float* _a); /// Convert LH to RH projection matrix and vice versa. /// - void mtxProjFlipHandedness(float* __restrict _dst, const float* __restrict _src); + void mtxProjFlipHandedness(float* _dst, const float* _src); /// Convert LH to RH view matrix and vice versa. /// - void mtxViewFlipHandedness(float* __restrict _dst, const float* __restrict _src); + void mtxViewFlipHandedness(float* _dst, const float* _src); /// void calcNormal(float _result[3], float _va[3], float _vb[3], float _vc[3]); @@ -470,6 +471,6 @@ namespace bx } // namespace bx -#include "fpumath.inl" +#include "inline/fpumath.inl" #endif // BX_FPU_MATH_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/fpumath.inl b/3rdparty/bx/include/bx/fpumath.inl deleted file mode 100644 index 8a81fc27819..00000000000 --- a/3rdparty/bx/include/bx/fpumath.inl +++ /dev/null @@ -1,1416 +0,0 @@ -/* - * Copyright 2011-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -// FPU math lib - -#ifndef BX_FPU_MATH_H_HEADER_GUARD -# error "Must be included from bx/fpumath.h!" -#endif // BX_FPU_MATH_H_HEADER_GUARD - -#include "bx.h" -#include -#include - -namespace bx -{ - inline float toRad(float _deg) - { - return _deg * pi / 180.0f; - } - - inline float toDeg(float _rad) - { - return _rad * 180.0f / pi; - } - - inline uint32_t floatToBits(float _a) - { - union { float f; uint32_t ui; } u = { _a }; - return u.ui; - } - - inline float bitsToFloat(uint32_t _a) - { - union { uint32_t ui; float f; } u = { _a }; - return u.f; - } - - inline uint64_t doubleToBits(double _a) - { - union { double f; uint64_t ui; } u = { _a }; - return u.ui; - } - - inline double bitsToDouble(uint64_t _a) - { - union { uint64_t ui; double f; } u = { _a }; - return u.f; - } - - inline bool isNan(float _f) - { - const uint32_t tmp = floatToBits(_f) & INT32_MAX; - return tmp > UINT32_C(0x7f800000); - } - - inline bool isNan(double _f) - { - const uint64_t tmp = doubleToBits(_f) & INT64_MAX; - return tmp > UINT64_C(0x7ff0000000000000); - } - - inline bool isFinite(float _f) - { - const uint32_t tmp = floatToBits(_f) & INT32_MAX; - return tmp < UINT32_C(0x7f800000); - } - - inline bool isFinite(double _f) - { - const uint64_t tmp = doubleToBits(_f) & INT64_MAX; - return tmp < UINT64_C(0x7ff0000000000000); - } - - inline bool isInfinite(float _f) - { - const uint32_t tmp = floatToBits(_f) & INT32_MAX; - return tmp == UINT32_C(0x7f800000); - } - - inline bool isInfinite(double _f) - { - const uint64_t tmp = doubleToBits(_f) & INT64_MAX; - return tmp == UINT64_C(0x7ff0000000000000); - } - - inline float ffloor(float _f) - { - return floorf(_f); - } - - inline float fceil(float _f) - { - return ceilf(_f); - } - - inline float fround(float _f) - { - return ffloor(_f + 0.5f); - } - - inline float fmin(float _a, float _b) - { - return _a < _b ? _a : _b; - } - - inline float fmax(float _a, float _b) - { - return _a > _b ? _a : _b; - } - - inline float fmin3(float _a, float _b, float _c) - { - return fmin(_a, fmin(_b, _c) ); - } - - inline float fmax3(float _a, float _b, float _c) - { - return fmax(_a, fmax(_b, _c) ); - } - - inline float fclamp(float _a, float _min, float _max) - { - return fmin(fmax(_a, _min), _max); - } - - inline float fsaturate(float _a) - { - return fclamp(_a, 0.0f, 1.0f); - } - - inline float flerp(float _a, float _b, float _t) - { - return _a + (_b - _a) * _t; - } - - inline float fsign(float _a) - { - return _a < 0.0f ? -1.0f : 1.0f; - } - - inline float fabsolute(float _a) - { - return fabsf(_a); - } - - inline float fsq(float _a) - { - return _a * _a; - } - - inline float fsin(float _a) - { - return sinf(_a); - } - - inline float fasin(float _a) - { - return asinf(_a); - } - - inline float fcos(float _a) - { - return cosf(_a); - } - - inline float facos(float _a) - { - return acosf(_a); - } - - inline float fatan2(float _y, float _x) - { - return atan2f(_y, _x); - } - - inline float fpow(float _a, float _b) - { - return powf(_a, _b); - } - - inline float fexp2(float _a) - { - return fpow(2.0f, _a); - } - - inline float flog(float _a) - { - return logf(_a); - } - - inline float flog2(float _a) - { - return flog(_a) * 1.442695041f; - } - - inline float fsqrt(float _a) - { - return sqrtf(_a); - } - - inline float frsqrt(float _a) - { - return 1.0f/fsqrt(_a); - } - - inline float ffract(float _a) - { - return _a - floorf(_a); - } - - inline float fmod(float _a, float _b) - { - return fmodf(_a, _b); - } - - inline bool fequal(float _a, float _b, float _epsilon) - { - // http://realtimecollisiondetection.net/blog/?p=89 - const float lhs = fabsolute(_a - _b); - const float rhs = _epsilon * fmax3(1.0f, fabsolute(_a), fabsolute(_b) ); - return lhs <= rhs; - } - - inline bool fequal(const float* __restrict _a, const float* __restrict _b, uint32_t _num, float _epsilon) - { - bool equal = fequal(_a[0], _b[0], _epsilon); - for (uint32_t ii = 1; equal && ii < _num; ++ii) - { - equal = fequal(_a[ii], _b[ii], _epsilon); - } - return equal; - } - - inline float fwrap(float _a, float _wrap) - { - const float mod = fmod(_a, _wrap); - const float result = mod < 0.0f ? _wrap + mod : mod; - return result; - } - - inline float fstep(float _edge, float _a) - { - return _a < _edge ? 0.0f : 1.0f; - } - - inline float fpulse(float _a, float _start, float _end) - { - return fstep(_a, _start) - fstep(_a, _end); - } - - inline float fsmoothstep(float _a) - { - return fsq(_a)*(3.0f - 2.0f*_a); - } - - inline float fbias(float _time, float _bias) - { - return _time / ( ( (1.0f/_bias - 2.0f)*(1.0f - _time) ) + 1.0f); - } - - inline float fgain(float _time, float _gain) - { - if (_time < 0.5f) - { - return fbias(_time * 2.0f, _gain) * 0.5f; - } - - return fbias(_time * 2.0f - 1.0f, 1.0f - _gain) * 0.5f + 0.5f; - } - - inline void vec3Move(float* __restrict _result, const float* __restrict _a) - { - _result[0] = _a[0]; - _result[1] = _a[1]; - _result[2] = _a[2]; - } - - inline void vec3Abs(float* __restrict _result, const float* __restrict _a) - { - _result[0] = fabsolute(_a[0]); - _result[1] = fabsolute(_a[1]); - _result[2] = fabsolute(_a[2]); - } - - inline void vec3Neg(float* __restrict _result, const float* __restrict _a) - { - _result[0] = -_a[0]; - _result[1] = -_a[1]; - _result[2] = -_a[2]; - } - - inline void vec3Add(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = _a[0] + _b[0]; - _result[1] = _a[1] + _b[1]; - _result[2] = _a[2] + _b[2]; - } - - inline void vec3Add(float* __restrict _result, const float* __restrict _a, float _b) - { - _result[0] = _a[0] + _b; - _result[1] = _a[1] + _b; - _result[2] = _a[2] + _b; - } - - inline void vec3Sub(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = _a[0] - _b[0]; - _result[1] = _a[1] - _b[1]; - _result[2] = _a[2] - _b[2]; - } - - inline void vec3Sub(float* __restrict _result, const float* __restrict _a, float _b) - { - _result[0] = _a[0] - _b; - _result[1] = _a[1] - _b; - _result[2] = _a[2] - _b; - } - - inline void vec3Mul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = _a[0] * _b[0]; - _result[1] = _a[1] * _b[1]; - _result[2] = _a[2] * _b[2]; - } - - inline void vec3Mul(float* __restrict _result, const float* __restrict _a, float _b) - { - _result[0] = _a[0] * _b; - _result[1] = _a[1] * _b; - _result[2] = _a[2] * _b; - } - - inline float vec3Dot(const float* __restrict _a, const float* __restrict _b) - { - return _a[0]*_b[0] + _a[1]*_b[1] + _a[2]*_b[2]; - } - - inline void vec3Cross(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = _a[1]*_b[2] - _a[2]*_b[1]; - _result[1] = _a[2]*_b[0] - _a[0]*_b[2]; - _result[2] = _a[0]*_b[1] - _a[1]*_b[0]; - } - - inline float vec3Length(const float* _a) - { - return fsqrt(vec3Dot(_a, _a) ); - } - - inline void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, float _t) - { - _result[0] = flerp(_a[0], _b[0], _t); - _result[1] = flerp(_a[1], _b[1], _t); - _result[2] = flerp(_a[2], _b[2], _t); - } - - inline void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, const float* __restrict _c) - { - _result[0] = flerp(_a[0], _b[0], _c[0]); - _result[1] = flerp(_a[1], _b[1], _c[1]); - _result[2] = flerp(_a[2], _b[2], _c[2]); - } - - inline float vec3Norm(float* __restrict _result, const float* __restrict _a) - { - const float len = vec3Length(_a); - const float invLen = 1.0f/len; - _result[0] = _a[0] * invLen; - _result[1] = _a[1] * invLen; - _result[2] = _a[2] * invLen; - return len; - } - - inline void vec3Min(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = fmin(_a[0], _b[0]); - _result[1] = fmin(_a[1], _b[1]); - _result[2] = fmin(_a[2], _b[2]); - } - - inline void vec3Max(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - _result[0] = fmax(_a[0], _b[0]); - _result[1] = fmax(_a[1], _b[1]); - _result[2] = fmax(_a[2], _b[2]); - } - - inline void vec3Rcp(float* __restrict _result, const float* __restrict _a) - { - _result[0] = 1.0f / _a[0]; - _result[1] = 1.0f / _a[1]; - _result[2] = 1.0f / _a[2]; - } - - inline void vec3TangentFrame(const float* __restrict _n, float* __restrict _t, float* __restrict _b) - { - const float nx = _n[0]; - const float ny = _n[1]; - const float nz = _n[2]; - - if (bx::fabsolute(nx) > bx::fabsolute(nz) ) - { - float invLen = 1.0f / bx::fsqrt(nx*nx + nz*nz); - _t[0] = -nz * invLen; - _t[1] = 0.0f; - _t[2] = nx * invLen; - } - else - { - float invLen = 1.0f / bx::fsqrt(ny*ny + nz*nz); - _t[0] = 0.0f; - _t[1] = nz * invLen; - _t[2] = -ny * invLen; - } - - bx::vec3Cross(_b, _n, _t); - } - - inline void vec3TangentFrame(const float* __restrict _n, float* __restrict _t, float* __restrict _b, float _angle) - { - vec3TangentFrame(_n, _t, _b); - - const float sa = fsin(_angle); - const float ca = fcos(_angle); - - _t[0] = -sa * _b[0] + ca * _t[0]; - _t[1] = -sa * _b[1] + ca * _t[1]; - _t[2] = -sa * _b[2] + ca * _t[2]; - - bx::vec3Cross(_b, _n, _t); - } - - inline void quatIdentity(float* _result) - { - _result[0] = 0.0f; - _result[1] = 0.0f; - _result[2] = 0.0f; - _result[3] = 1.0f; - } - - inline void quatMove(float* __restrict _result, const float* __restrict _a) - { - _result[0] = _a[0]; - _result[1] = _a[1]; - _result[2] = _a[2]; - _result[3] = _a[3]; - } - - inline void quatMulXYZ(float* __restrict _result, const float* __restrict _qa, const float* __restrict _qb) - { - const float ax = _qa[0]; - const float ay = _qa[1]; - const float az = _qa[2]; - const float aw = _qa[3]; - - const float bx = _qb[0]; - const float by = _qb[1]; - const float bz = _qb[2]; - const float bw = _qb[3]; - - _result[0] = aw * bx + ax * bw + ay * bz - az * by; - _result[1] = aw * by - ax * bz + ay * bw + az * bx; - _result[2] = aw * bz + ax * by - ay * bx + az * bw; - } - - inline void quatMul(float* __restrict _result, const float* __restrict _qa, const float* __restrict _qb) - { - const float ax = _qa[0]; - const float ay = _qa[1]; - const float az = _qa[2]; - const float aw = _qa[3]; - - const float bx = _qb[0]; - const float by = _qb[1]; - const float bz = _qb[2]; - const float bw = _qb[3]; - - _result[0] = aw * bx + ax * bw + ay * bz - az * by; - _result[1] = aw * by - ax * bz + ay * bw + az * bx; - _result[2] = aw * bz + ax * by - ay * bx + az * bw; - _result[3] = aw * bw - ax * bx - ay * by - az * bz; - } - - inline void quatInvert(float* __restrict _result, const float* __restrict _quat) - { - _result[0] = -_quat[0]; - _result[1] = -_quat[1]; - _result[2] = -_quat[2]; - _result[3] = _quat[3]; - } - - inline float quatDot(const float* __restrict _a, const float* __restrict _b) - { - return _a[0]*_b[0] - + _a[1]*_b[1] - + _a[2]*_b[2] - + _a[3]*_b[3] - ; - } - - inline void quatNorm(float* __restrict _result, const float* __restrict _quat) - { - const float norm = quatDot(_quat, _quat); - if (0.0f < norm) - { - const float invNorm = 1.0f / fsqrt(norm); - _result[0] = _quat[0] * invNorm; - _result[1] = _quat[1] * invNorm; - _result[2] = _quat[2] * invNorm; - _result[3] = _quat[3] * invNorm; - } - else - { - quatIdentity(_result); - } - } - - inline void quatToEuler(float* __restrict _result, const float* __restrict _quat) - { - const float x = _quat[0]; - const float y = _quat[1]; - const float z = _quat[2]; - const float w = _quat[3]; - - const float yy = y * y; - const float zz = z * z; - - const float xx = x * x; - _result[0] = fatan2(2.0f * (x * w - y * z), 1.0f - 2.0f * (xx + zz) ); - _result[1] = fatan2(2.0f * (y * w + x * z), 1.0f - 2.0f * (yy + zz) ); - _result[2] = fasin (2.0f * (x * y + z * w) ); - } - - inline void quatRotateAxis(float* __restrict _result, const float* _axis, float _angle) - { - const float ha = _angle * 0.5f; - const float ca = fcos(ha); - const float sa = fsin(ha); - _result[0] = _axis[0] * sa; - _result[1] = _axis[1] * sa; - _result[2] = _axis[2] * sa; - _result[3] = ca; - } - - inline void quatRotateX(float* _result, float _ax) - { - const float hx = _ax * 0.5f; - const float cx = fcos(hx); - const float sx = fsin(hx); - _result[0] = sx; - _result[1] = 0.0f; - _result[2] = 0.0f; - _result[3] = cx; - } - - inline void quatRotateY(float* _result, float _ay) - { - const float hy = _ay * 0.5f; - const float cy = fcos(hy); - const float sy = fsin(hy); - _result[0] = 0.0f; - _result[1] = sy; - _result[2] = 0.0f; - _result[3] = cy; - } - - inline void quatRotateZ(float* _result, float _az) - { - const float hz = _az * 0.5f; - const float cz = fcos(hz); - const float sz = fsin(hz); - _result[0] = 0.0f; - _result[1] = 0.0f; - _result[2] = sz; - _result[3] = cz; - } - - inline void vec3MulQuat(float* __restrict _result, const float* __restrict _vec, const float* __restrict _quat) - { - float tmp0[4]; - quatInvert(tmp0, _quat); - - float qv[4]; - qv[0] = _vec[0]; - qv[1] = _vec[1]; - qv[2] = _vec[2]; - qv[3] = 0.0f; - - float tmp1[4]; - quatMul(tmp1, tmp0, qv); - - quatMulXYZ(_result, tmp1, _quat); - } - - inline void mtxIdentity(float* _result) - { - memset(_result, 0, sizeof(float)*16); - _result[0] = _result[5] = _result[10] = _result[15] = 1.0f; - } - - inline void mtxTranslate(float* _result, float _tx, float _ty, float _tz) - { - mtxIdentity(_result); - _result[12] = _tx; - _result[13] = _ty; - _result[14] = _tz; - } - - inline void mtxScale(float* _result, float _sx, float _sy, float _sz) - { - memset(_result, 0, sizeof(float) * 16); - _result[0] = _sx; - _result[5] = _sy; - _result[10] = _sz; - _result[15] = 1.0f; - } - - inline void mtxScale(float* _result, float _scale) - { - mtxScale(_result, _scale, _scale, _scale); - } - - inline void mtxFromNormal(float* __restrict _result, const float* __restrict _normal, float _scale, const float* __restrict _pos) - { - float tangent[3]; - float bitangent[3]; - vec3TangentFrame(_normal, tangent, bitangent); - - vec3Mul(&_result[ 0], bitangent, _scale); - vec3Mul(&_result[ 4], _normal, _scale); - vec3Mul(&_result[ 8], tangent, _scale); - - _result[ 3] = 0.0f; - _result[ 7] = 0.0f; - _result[11] = 0.0f; - _result[12] = _pos[0]; - _result[13] = _pos[1]; - _result[14] = _pos[2]; - _result[15] = 1.0f; - } - - inline void mtxFromNormal(float* __restrict _result, const float* __restrict _normal, float _scale, const float* __restrict _pos, float _angle) - { - float tangent[3]; - float bitangent[3]; - vec3TangentFrame(_normal, tangent, bitangent, _angle); - - vec3Mul(&_result[ 0], bitangent, _scale); - vec3Mul(&_result[ 4], _normal, _scale); - vec3Mul(&_result[ 8], tangent, _scale); - - _result[ 3] = 0.0f; - _result[ 7] = 0.0f; - _result[11] = 0.0f; - _result[12] = _pos[0]; - _result[13] = _pos[1]; - _result[14] = _pos[2]; - _result[15] = 1.0f; - } - - inline void mtxQuat(float* __restrict _result, const float* __restrict _quat) - { - const float x = _quat[0]; - const float y = _quat[1]; - const float z = _quat[2]; - const float w = _quat[3]; - - const float x2 = x + x; - const float y2 = y + y; - const float z2 = z + z; - const float x2x = x2 * x; - const float x2y = x2 * y; - const float x2z = x2 * z; - const float x2w = x2 * w; - const float y2y = y2 * y; - const float y2z = y2 * z; - const float y2w = y2 * w; - const float z2z = z2 * z; - const float z2w = z2 * w; - - _result[ 0] = 1.0f - (y2y + z2z); - _result[ 1] = x2y - z2w; - _result[ 2] = x2z + y2w; - _result[ 3] = 0.0f; - - _result[ 4] = x2y + z2w; - _result[ 5] = 1.0f - (x2x + z2z); - _result[ 6] = y2z - x2w; - _result[ 7] = 0.0f; - - _result[ 8] = x2z - y2w; - _result[ 9] = y2z + x2w; - _result[10] = 1.0f - (x2x + y2y); - _result[11] = 0.0f; - - _result[12] = 0.0f; - _result[13] = 0.0f; - _result[14] = 0.0f; - _result[15] = 1.0f; - } - - inline void mtxQuatTranslation(float* __restrict _result, const float* __restrict _quat, const float* __restrict _translation) - { - mtxQuat(_result, _quat); - _result[12] = -(_result[0]*_translation[0] + _result[4]*_translation[1] + _result[ 8]*_translation[2]); - _result[13] = -(_result[1]*_translation[0] + _result[5]*_translation[1] + _result[ 9]*_translation[2]); - _result[14] = -(_result[2]*_translation[0] + _result[6]*_translation[1] + _result[10]*_translation[2]); - } - - inline void mtxQuatTranslationHMD(float* __restrict _result, const float* __restrict _quat, const float* __restrict _translation) - { - float quat[4]; - quat[0] = -_quat[0]; - quat[1] = -_quat[1]; - quat[2] = _quat[2]; - quat[3] = _quat[3]; - mtxQuatTranslation(_result, quat, _translation); - } - - inline void mtxLookAt_Impl(float* __restrict _result, const float* __restrict _eye, const float* __restrict _view, const float* __restrict _up) - { - float up[3] = { 0.0f, 1.0f, 0.0f }; - if (NULL != _up) - { - up[0] = _up[0]; - up[1] = _up[1]; - up[2] = _up[2]; - } - - float tmp[4]; - vec3Cross(tmp, up, _view); - - float right[4]; - vec3Norm(right, tmp); - - vec3Cross(up, _view, right); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = right[0]; - _result[ 1] = up[0]; - _result[ 2] = _view[0]; - - _result[ 4] = right[1]; - _result[ 5] = up[1]; - _result[ 6] = _view[1]; - - _result[ 8] = right[2]; - _result[ 9] = up[2]; - _result[10] = _view[2]; - - _result[12] = -vec3Dot(right, _eye); - _result[13] = -vec3Dot(up, _eye); - _result[14] = -vec3Dot(_view, _eye); - _result[15] = 1.0f; - } - - inline void mtxLookAtLh(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up) - { - float tmp[4]; - vec3Sub(tmp, _at, _eye); - - float view[4]; - vec3Norm(view, tmp); - - mtxLookAt_Impl(_result, _eye, view, _up); - } - - inline void mtxLookAtRh(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up) - { - float tmp[4]; - vec3Sub(tmp, _eye, _at); - - float view[4]; - vec3Norm(view, tmp); - - mtxLookAt_Impl(_result, _eye, view, _up); - } - - inline void mtxLookAt(float* __restrict _result, const float* __restrict _eye, const float* __restrict _at, const float* __restrict _up) - { - mtxLookAtLh(_result, _eye, _at, _up); - } - - template - inline void mtxProjXYWH(float* _result, float _x, float _y, float _width, float _height, float _near, float _far, bool _oglNdc) - { - const float diff = _far-_near; - const float aa = _oglNdc ? (_far+_near)/diff : _far/diff; - const float bb = _oglNdc ? (2.0f*_far*_near)/diff : _near*aa; - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = _width; - _result[ 5] = _height; - _result[ 8] = (Handness::Right == HandnessT) ? _x : -_x; - _result[ 9] = (Handness::Right == HandnessT) ? _y : -_y; - _result[10] = (Handness::Right == HandnessT) ? -aa : aa; - _result[11] = (Handness::Right == HandnessT) ? -1.0f : 1.0f; - _result[14] = -bb; - } - - template - inline void mtxProj_impl(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) - { - const float invDiffRl = 1.0f/(_rt - _lt); - const float invDiffUd = 1.0f/(_ut - _dt); - const float width = 2.0f*_near * invDiffRl; - const float height = 2.0f*_near * invDiffUd; - const float xx = (_rt + _lt) * invDiffRl; - const float yy = (_ut + _dt) * invDiffUd; - mtxProjXYWH(_result, xx, yy, width, height, _near, _far, _oglNdc); - } - - template - inline void mtxProj_impl(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fov[0], _fov[1], _fov[2], _fov[3], _near, _far, _oglNdc); - } - - template - inline void mtxProj_impl(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) - { - const float height = 1.0f/tanf(toRad(_fovy)*0.5f); - const float width = height * 1.0f/_aspect; - mtxProjXYWH(_result, 0.0f, 0.0f, width, height, _near, _far, _oglNdc); - } - - inline void mtxProj(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); - } - - inline void mtxProj(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fov, _near, _far, _oglNdc); - } - - inline void mtxProj(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); - } - - inline void mtxProjLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); - } - - inline void mtxProjLh(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fov, _near, _far, _oglNdc); - } - - inline void mtxProjLh(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); - } - - inline void mtxProjRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); - } - - inline void mtxProjRh(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fov, _near, _far, _oglNdc); - } - - inline void mtxProjRh(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) - { - mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); - } - - template - inline void mtxProjInfXYWH(float* _result, float _x, float _y, float _width, float _height, float _near, bool _oglNdc) - { - float aa; - float bb; - if (BX_ENABLED(NearFar::Reverse == NearFarT) ) - { - aa = _oglNdc ? -1.0f : 0.0f; - bb = _oglNdc ? -2.0f*_near : -_near; - } - else - { - aa = 1.0f; - bb = _oglNdc ? 2.0f*_near : _near; - } - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = _width; - _result[ 5] = _height; - _result[ 8] = (Handness::Right == HandnessT) ? _x : -_x; - _result[ 9] = (Handness::Right == HandnessT) ? _y : -_y; - _result[10] = (Handness::Right == HandnessT) ? -aa : aa; - _result[11] = (Handness::Right == HandnessT) ? -1.0f : 1.0f; - _result[14] = -bb; - } - - template - inline void mtxProjInf_impl(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - const float invDiffRl = 1.0f/(_rt - _lt); - const float invDiffUd = 1.0f/(_ut - _dt); - const float width = 2.0f*_near * invDiffRl; - const float height = 2.0f*_near * invDiffUd; - const float xx = (_rt + _lt) * invDiffRl; - const float yy = (_ut + _dt) * invDiffUd; - mtxProjInfXYWH(_result, xx, yy, width, height, _near, _oglNdc); - } - - template - inline void mtxProjInf_impl(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov[0], _fov[1], _fov[2], _fov[3], _near, _oglNdc); - } - - template - inline void mtxProjInf_impl(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - const float height = 1.0f/tanf(toRad(_fovy)*0.5f); - const float width = height * 1.0f/_aspect; - mtxProjInfXYWH(_result, 0.0f, 0.0f, width, height, _near, _oglNdc); - } - - inline void mtxProjInf(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov, _near, _oglNdc); - } - - inline void mtxProjInf(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); - } - - inline void mtxProjInf(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); - } - - inline void mtxProjInfLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); - } - - inline void mtxProjInfLh(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov, _near, _oglNdc); - } - - inline void mtxProjInfLh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); - } - - inline void mtxProjInfRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); - } - - inline void mtxProjInfRh(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov, _near, _oglNdc); - } - - inline void mtxProjInfRh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); - } - - inline void mtxProjRevInfLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); - } - - inline void mtxProjRevInfLh(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov, _near, _oglNdc); - } - - inline void mtxProjRevInfLh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); - } - - inline void mtxProjRevInfRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); - } - - inline void mtxProjRevInfRh(float* _result, const float _fov[4], float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fov, _near, _oglNdc); - } - - inline void mtxProjRevInfRh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) - { - mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); - } - - template - inline void mtxOrtho_impl(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) - { - const float aa = 2.0f/(_right - _left); - const float bb = 2.0f/(_top - _bottom); - const float cc = (_oglNdc ? 2.0f : 1.0f) / (_far - _near); - const float dd = (_left + _right)/(_left - _right); - const float ee = (_top + _bottom)/(_bottom - _top); - const float ff = _oglNdc ? (_near + _far)/(_near - _far) : _near/(_near - _far); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = aa; - _result[ 5] = bb; - _result[10] = (Handness::Right == HandnessT) ? -cc : cc; - _result[12] = dd + _offset; - _result[13] = ee; - _result[14] = ff; - _result[15] = 1.0f; - } - - inline void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) - { - mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); - } - - inline void mtxOrthoLh(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) - { - mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); - } - - inline void mtxOrthoRh(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) - { - mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); - } - - inline void mtxRotateX(float* _result, float _ax) - { - const float sx = fsin(_ax); - const float cx = fcos(_ax); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = 1.0f; - _result[ 5] = cx; - _result[ 6] = -sx; - _result[ 9] = sx; - _result[10] = cx; - _result[15] = 1.0f; - } - - inline void mtxRotateY(float* _result, float _ay) - { - const float sy = fsin(_ay); - const float cy = fcos(_ay); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = cy; - _result[ 2] = sy; - _result[ 5] = 1.0f; - _result[ 8] = -sy; - _result[10] = cy; - _result[15] = 1.0f; - } - - inline void mtxRotateZ(float* _result, float _az) - { - const float sz = fsin(_az); - const float cz = fcos(_az); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = cz; - _result[ 1] = -sz; - _result[ 4] = sz; - _result[ 5] = cz; - _result[10] = 1.0f; - _result[15] = 1.0f; - } - - inline void mtxRotateXY(float* _result, float _ax, float _ay) - { - const float sx = fsin(_ax); - const float cx = fcos(_ax); - const float sy = fsin(_ay); - const float cy = fcos(_ay); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = cy; - _result[ 2] = sy; - _result[ 4] = sx*sy; - _result[ 5] = cx; - _result[ 6] = -sx*cy; - _result[ 8] = -cx*sy; - _result[ 9] = sx; - _result[10] = cx*cy; - _result[15] = 1.0f; - } - - inline void mtxRotateXYZ(float* _result, float _ax, float _ay, float _az) - { - const float sx = fsin(_ax); - const float cx = fcos(_ax); - const float sy = fsin(_ay); - const float cy = fcos(_ay); - const float sz = fsin(_az); - const float cz = fcos(_az); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = cy*cz; - _result[ 1] = -cy*sz; - _result[ 2] = sy; - _result[ 4] = cz*sx*sy + cx*sz; - _result[ 5] = cx*cz - sx*sy*sz; - _result[ 6] = -cy*sx; - _result[ 8] = -cx*cz*sy + sx*sz; - _result[ 9] = cz*sx + cx*sy*sz; - _result[10] = cx*cy; - _result[15] = 1.0f; - } - - inline void mtxRotateZYX(float* _result, float _ax, float _ay, float _az) - { - const float sx = fsin(_ax); - const float cx = fcos(_ax); - const float sy = fsin(_ay); - const float cy = fcos(_ay); - const float sz = fsin(_az); - const float cz = fcos(_az); - - memset(_result, 0, sizeof(float)*16); - _result[ 0] = cy*cz; - _result[ 1] = cz*sx*sy-cx*sz; - _result[ 2] = cx*cz*sy+sx*sz; - _result[ 4] = cy*sz; - _result[ 5] = cx*cz + sx*sy*sz; - _result[ 6] = -cz*sx + cx*sy*sz; - _result[ 8] = -sy; - _result[ 9] = cy*sx; - _result[10] = cx*cy; - _result[15] = 1.0f; - }; - - inline void mtxSRT(float* _result, float _sx, float _sy, float _sz, float _ax, float _ay, float _az, float _tx, float _ty, float _tz) - { - const float sx = fsin(_ax); - const float cx = fcos(_ax); - const float sy = fsin(_ay); - const float cy = fcos(_ay); - const float sz = fsin(_az); - const float cz = fcos(_az); - - const float sxsz = sx*sz; - const float cycz = cy*cz; - - _result[ 0] = _sx * (cycz - sxsz*sy); - _result[ 1] = _sx * -cx*sz; - _result[ 2] = _sx * (cz*sy + cy*sxsz); - _result[ 3] = 0.0f; - - _result[ 4] = _sy * (cz*sx*sy + cy*sz); - _result[ 5] = _sy * cx*cz; - _result[ 6] = _sy * (sy*sz -cycz*sx); - _result[ 7] = 0.0f; - - _result[ 8] = _sz * -cx*sy; - _result[ 9] = _sz * sx; - _result[10] = _sz * cx*cy; - _result[11] = 0.0f; - - _result[12] = _tx; - _result[13] = _ty; - _result[14] = _tz; - _result[15] = 1.0f; - } - - inline void vec3MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) - { - _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; - _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; - _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; - } - - inline void vec3MulMtxH(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) - { - float xx = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; - float yy = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; - float zz = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; - float ww = _vec[0] * _mat[ 3] + _vec[1] * _mat[7] + _vec[2] * _mat[11] + _mat[15]; - float invW = fsign(ww)/ww; - _result[0] = xx*invW; - _result[1] = yy*invW; - _result[2] = zz*invW; - } - - inline void vec4MulMtx(float* __restrict _result, const float* __restrict _vec, const float* __restrict _mat) - { - _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _vec[3] * _mat[12]; - _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _vec[3] * _mat[13]; - _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _vec[3] * _mat[14]; - _result[3] = _vec[0] * _mat[ 3] + _vec[1] * _mat[7] + _vec[2] * _mat[11] + _vec[3] * _mat[15]; - } - - inline void mtxMul(float* __restrict _result, const float* __restrict _a, const float* __restrict _b) - { - vec4MulMtx(&_result[ 0], &_a[ 0], _b); - vec4MulMtx(&_result[ 4], &_a[ 4], _b); - vec4MulMtx(&_result[ 8], &_a[ 8], _b); - vec4MulMtx(&_result[12], &_a[12], _b); - } - - inline void mtxTranspose(float* __restrict _result, const float* __restrict _a) - { - _result[ 0] = _a[ 0]; - _result[ 4] = _a[ 1]; - _result[ 8] = _a[ 2]; - _result[12] = _a[ 3]; - _result[ 1] = _a[ 4]; - _result[ 5] = _a[ 5]; - _result[ 9] = _a[ 6]; - _result[13] = _a[ 7]; - _result[ 2] = _a[ 8]; - _result[ 6] = _a[ 9]; - _result[10] = _a[10]; - _result[14] = _a[11]; - _result[ 3] = _a[12]; - _result[ 7] = _a[13]; - _result[11] = _a[14]; - _result[15] = _a[15]; - } - - /// Convert LH to RH projection matrix and vice versa. - inline void mtxProjFlipHandedness(float* __restrict _dst, const float* __restrict _src) - { - _dst[ 0] = -_src[ 0]; - _dst[ 1] = -_src[ 1]; - _dst[ 2] = -_src[ 2]; - _dst[ 3] = -_src[ 3]; - _dst[ 4] = _src[ 4]; - _dst[ 5] = _src[ 5]; - _dst[ 6] = _src[ 6]; - _dst[ 7] = _src[ 7]; - _dst[ 8] = -_src[ 8]; - _dst[ 9] = -_src[ 9]; - _dst[10] = -_src[10]; - _dst[11] = -_src[11]; - _dst[12] = _src[12]; - _dst[13] = _src[13]; - _dst[14] = _src[14]; - _dst[15] = _src[15]; - } - - /// Convert LH to RH view matrix and vice versa. - inline void mtxViewFlipHandedness(float* __restrict _dst, const float* __restrict _src) - { - _dst[ 0] = -_src[ 0]; - _dst[ 1] = _src[ 1]; - _dst[ 2] = -_src[ 2]; - _dst[ 3] = _src[ 3]; - _dst[ 4] = -_src[ 4]; - _dst[ 5] = _src[ 5]; - _dst[ 6] = -_src[ 6]; - _dst[ 7] = _src[ 7]; - _dst[ 8] = -_src[ 8]; - _dst[ 9] = _src[ 9]; - _dst[10] = -_src[10]; - _dst[11] = _src[11]; - _dst[12] = -_src[12]; - _dst[13] = _src[13]; - _dst[14] = -_src[14]; - _dst[15] = _src[15]; - } - - inline void calcNormal(float _result[3], float _va[3], float _vb[3], float _vc[3]) - { - float ba[3]; - vec3Sub(ba, _vb, _va); - - float ca[3]; - vec3Sub(ca, _vc, _va); - - float baxca[3]; - vec3Cross(baxca, ba, ca); - - vec3Norm(_result, baxca); - } - - inline void calcPlane(float _result[4], float _va[3], float _vb[3], float _vc[3]) - { - float normal[3]; - calcNormal(normal, _va, _vb, _vc); - - _result[0] = normal[0]; - _result[1] = normal[1]; - _result[2] = normal[2]; - _result[3] = -vec3Dot(normal, _va); - } - - inline void calcLinearFit2D(float _result[2], const void* _points, uint32_t _stride, uint32_t _numPoints) - { - float sumX = 0.0f; - float sumY = 0.0f; - float sumXX = 0.0f; - float sumXY = 0.0f; - - const uint8_t* ptr = (const uint8_t*)_points; - for (uint32_t ii = 0; ii < _numPoints; ++ii, ptr += _stride) - { - const float* point = (const float*)ptr; - float xx = point[0]; - float yy = point[1]; - sumX += xx; - sumY += yy; - sumXX += xx*xx; - sumXY += xx*yy; - } - - // [ sum(x^2) sum(x) ] [ A ] = [ sum(x*y) ] - // [ sum(x) numPoints ] [ B ] [ sum(y) ] - - float det = (sumXX*_numPoints - sumX*sumX); - float invDet = 1.0f/det; - - _result[0] = (-sumX * sumY + _numPoints * sumXY) * invDet; - _result[1] = (sumXX * sumY - sumX * sumXY) * invDet; - } - - inline void calcLinearFit3D(float _result[3], const void* _points, uint32_t _stride, uint32_t _numPoints) - { - float sumX = 0.0f; - float sumY = 0.0f; - float sumZ = 0.0f; - float sumXX = 0.0f; - float sumXY = 0.0f; - float sumXZ = 0.0f; - float sumYY = 0.0f; - float sumYZ = 0.0f; - - const uint8_t* ptr = (const uint8_t*)_points; - for (uint32_t ii = 0; ii < _numPoints; ++ii, ptr += _stride) - { - const float* point = (const float*)ptr; - float xx = point[0]; - float yy = point[1]; - float zz = point[2]; - - sumX += xx; - sumY += yy; - sumZ += zz; - sumXX += xx*xx; - sumXY += xx*yy; - sumXZ += xx*zz; - sumYY += yy*yy; - sumYZ += yy*zz; - } - - // [ sum(x^2) sum(x*y) sum(x) ] [ A ] [ sum(x*z) ] - // [ sum(x*y) sum(y^2) sum(y) ] [ B ] = [ sum(y*z) ] - // [ sum(x) sum(y) numPoints ] [ C ] [ sum(z) ] - - float mtx[9] = - { - sumXX, sumXY, sumX, - sumXY, sumYY, sumY, - sumX, sumY, float(_numPoints), - }; - float invMtx[9]; - mtx3Inverse(invMtx, mtx); - - _result[0] = invMtx[0]*sumXZ + invMtx[1]*sumYZ + invMtx[2]*sumZ; - _result[1] = invMtx[3]*sumXZ + invMtx[4]*sumYZ + invMtx[5]*sumZ; - _result[2] = invMtx[6]*sumXZ + invMtx[7]*sumYZ + invMtx[8]*sumZ; - } - - inline void rgbToHsv(float _hsv[3], const float _rgb[3]) - { - const float rr = _rgb[0]; - const float gg = _rgb[1]; - const float bb = _rgb[2]; - - const float s0 = fstep(bb, gg); - - const float px = flerp(bb, gg, s0); - const float py = flerp(gg, bb, s0); - const float pz = flerp(-1.0f, 0.0f, s0); - const float pw = flerp(2.0f/3.0f, -1.0f/3.0f, s0); - - const float s1 = fstep(px, rr); - - const float qx = flerp(px, rr, s1); - const float qy = py; - const float qz = flerp(pw, pz, s1); - const float qw = flerp(rr, px, s1); - - const float dd = qx - fmin(qw, qy); - const float ee = 1.0e-10f; - - _hsv[0] = fabsolute(qz + (qw - qy) / (6.0f * dd + ee) ); - _hsv[1] = dd / (qx + ee); - _hsv[2] = qx; - } - - inline void hsvToRgb(float _rgb[3], const float _hsv[3]) - { - const float hh = _hsv[0]; - const float ss = _hsv[1]; - const float vv = _hsv[2]; - - const float px = fabsolute(ffract(hh + 1.0f ) * 6.0f - 3.0f); - const float py = fabsolute(ffract(hh + 2.0f/3.0f) * 6.0f - 3.0f); - const float pz = fabsolute(ffract(hh + 1.0f/3.0f) * 6.0f - 3.0f); - - _rgb[0] = vv * flerp(1.0f, fsaturate(px - 1.0f), ss); - _rgb[1] = vv * flerp(1.0f, fsaturate(py - 1.0f), ss); - _rgb[2] = vv * flerp(1.0f, fsaturate(pz - 1.0f), ss); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/handlealloc.h b/3rdparty/bx/include/bx/handlealloc.h index cf8efc585c5..eb98cac5821 100644 --- a/3rdparty/bx/include/bx/handlealloc.h +++ b/3rdparty/bx/include/bx/handlealloc.h @@ -325,6 +325,6 @@ namespace bx } // namespace bx -#include "handlealloc.inl" +#include "inline/handlealloc.inl" #endif // BX_HANDLE_ALLOC_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/handlealloc.inl b/3rdparty/bx/include/bx/handlealloc.inl deleted file mode 100644 index 04369b57d78..00000000000 --- a/3rdparty/bx/include/bx/handlealloc.inl +++ /dev/null @@ -1,712 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_HANDLE_ALLOC_H_HEADER_GUARD -# error "Must be included from bx/handlealloc.h!" -#endif // BX_HANDLE_ALLOC_H_HEADER_GUARD - -#include "bx.h" -#include "allocator.h" -#include "uint32_t.h" - -namespace bx -{ - inline HandleAlloc::HandleAlloc(uint16_t _maxHandles) - : m_numHandles(0) - , m_maxHandles(_maxHandles) - { - reset(); - } - - inline HandleAlloc::~HandleAlloc() - { - } - - inline const uint16_t* HandleAlloc::getHandles() const - { - return getDensePtr(); - } - - inline uint16_t HandleAlloc::getHandleAt(uint16_t _at) const - { - return getDensePtr()[_at]; - } - - inline uint16_t HandleAlloc::getNumHandles() const - { - return m_numHandles; - } - - inline uint16_t HandleAlloc::getMaxHandles() const - { - return m_maxHandles; - } - - inline uint16_t HandleAlloc::alloc() - { - if (m_numHandles < m_maxHandles) - { - uint16_t index = m_numHandles; - ++m_numHandles; - - uint16_t* dense = getDensePtr(); - uint16_t handle = dense[index]; - uint16_t* sparse = getSparsePtr(); - sparse[handle] = index; - return handle; - } - - return invalid; - } - - inline bool HandleAlloc::isValid(uint16_t _handle) const - { - uint16_t* dense = getDensePtr(); - uint16_t* sparse = getSparsePtr(); - uint16_t index = sparse[_handle]; - - return index < m_numHandles - && dense[index] == _handle - ; - } - - inline void HandleAlloc::free(uint16_t _handle) - { - uint16_t* dense = getDensePtr(); - uint16_t* sparse = getSparsePtr(); - uint16_t index = sparse[_handle]; - --m_numHandles; - uint16_t temp = dense[m_numHandles]; - dense[m_numHandles] = _handle; - sparse[temp] = index; - dense[index] = temp; - } - - inline void HandleAlloc::reset() - { - m_numHandles = 0; - uint16_t* dense = getDensePtr(); - for (uint16_t ii = 0, num = m_maxHandles; ii < num; ++ii) - { - dense[ii] = ii; - } - } - - inline uint16_t* HandleAlloc::getDensePtr() const - { - uint8_t* ptr = (uint8_t*)reinterpret_cast(this); - return (uint16_t*)&ptr[sizeof(HandleAlloc)]; - } - - inline uint16_t* HandleAlloc::getSparsePtr() const - { - return &getDensePtr()[m_maxHandles]; - } - - inline HandleAlloc* createHandleAlloc(AllocatorI* _allocator, uint16_t _maxHandles) - { - uint8_t* ptr = (uint8_t*)BX_ALLOC(_allocator, sizeof(HandleAlloc) + 2*_maxHandles*sizeof(uint16_t) ); - return ::new (ptr) HandleAlloc(_maxHandles); - } - - inline void destroyHandleAlloc(AllocatorI* _allocator, HandleAlloc* _handleAlloc) - { - _handleAlloc->~HandleAlloc(); - BX_FREE(_allocator, _handleAlloc); - } - - template - inline HandleAllocT::HandleAllocT() - : HandleAlloc(MaxHandlesT) - { - } - - template - inline HandleAllocT::~HandleAllocT() - { - } - - template - inline HandleListT::HandleListT() - { - reset(); - } - - template - inline void HandleListT::pushBack(uint16_t _handle) - { - insertAfter(m_back, _handle); - } - - template - inline uint16_t HandleListT::popBack() - { - uint16_t last = invalid != m_back - ? m_back - : m_front - ; - - if (invalid != last) - { - remove(last); - } - - return last; - } - - template - inline void HandleListT::pushFront(uint16_t _handle) - { - insertBefore(m_front, _handle); - } - - template - inline uint16_t HandleListT::popFront() - { - uint16_t front = m_front; - - if (invalid != front) - { - remove(front); - } - - return front; - } - - template - inline uint16_t HandleListT::getFront() const - { - return m_front; - } - - template - inline uint16_t HandleListT::getBack() const - { - return m_back; - } - - template - inline uint16_t HandleListT::getNext(uint16_t _handle) const - { - BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); - const Link& curr = m_links[_handle]; - return curr.m_next; - } - - template - inline uint16_t HandleListT::getPrev(uint16_t _handle) const - { - BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); - const Link& curr = m_links[_handle]; - return curr.m_prev; - } - - template - inline void HandleListT::remove(uint16_t _handle) - { - BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); - Link& curr = m_links[_handle]; - - if (invalid != curr.m_prev) - { - Link& prev = m_links[curr.m_prev]; - prev.m_next = curr.m_next; - } - else - { - m_front = curr.m_next; - } - - if (invalid != curr.m_next) - { - Link& next = m_links[curr.m_next]; - next.m_prev = curr.m_prev; - } - else - { - m_back = curr.m_prev; - } - - curr.m_prev = invalid; - curr.m_next = invalid; - } - - template - inline void HandleListT::reset() - { - memset(m_links, 0xff, sizeof(m_links) ); - m_front = invalid; - m_back = invalid; - } - - template - inline void HandleListT::insertBefore(uint16_t _before, uint16_t _handle) - { - Link& curr = m_links[_handle]; - curr.m_next = _before; - - if (invalid != _before) - { - Link& link = m_links[_before]; - if (invalid != link.m_prev) - { - Link& prev = m_links[link.m_prev]; - prev.m_next = _handle; - } - - curr.m_prev = link.m_prev; - link.m_prev = _handle; - } - - updateFrontBack(_handle); - } - - template - inline void HandleListT::insertAfter(uint16_t _after, uint16_t _handle) - { - Link& curr = m_links[_handle]; - curr.m_prev = _after; - - if (invalid != _after) - { - Link& link = m_links[_after]; - if (invalid != link.m_next) - { - Link& next = m_links[link.m_next]; - next.m_prev = _handle; - } - - curr.m_next = link.m_next; - link.m_next = _handle; - } - - updateFrontBack(_handle); - } - - template - inline bool HandleListT::isValid(uint16_t _handle) const - { - return _handle < MaxHandlesT; - } - - template - inline void HandleListT::updateFrontBack(uint16_t _handle) - { - Link& curr = m_links[_handle]; - - if (invalid == curr.m_prev) - { - m_front = _handle; - } - - if (invalid == curr.m_next) - { - m_back = _handle; - } - } - - template - inline HandleAllocLruT::HandleAllocLruT() - { - reset(); - } - - template - inline HandleAllocLruT::~HandleAllocLruT() - { - } - - template - inline const uint16_t* HandleAllocLruT::getHandles() const - { - return m_alloc.getHandles(); - } - - template - inline uint16_t HandleAllocLruT::getHandleAt(uint16_t _at) const - { - return m_alloc.getHandleAt(_at); - } - - template - inline uint16_t HandleAllocLruT::getNumHandles() const - { - return m_alloc.getNumHandles(); - } - - template - inline uint16_t HandleAllocLruT::getMaxHandles() const - { - return m_alloc.getMaxHandles(); - } - - template - inline uint16_t HandleAllocLruT::alloc() - { - uint16_t handle = m_alloc.alloc(); - if (invalid != handle) - { - m_list.pushFront(handle); - } - return handle; - } - - template - inline bool HandleAllocLruT::isValid(uint16_t _handle) const - { - return m_alloc.isValid(_handle); - } - - template - inline void HandleAllocLruT::free(uint16_t _handle) - { - BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); - m_list.remove(_handle); - m_alloc.free(_handle); - } - - template - inline void HandleAllocLruT::touch(uint16_t _handle) - { - BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); - m_list.remove(_handle); - m_list.pushFront(_handle); - } - - template - inline uint16_t HandleAllocLruT::getFront() const - { - return m_list.getFront(); - } - - template - inline uint16_t HandleAllocLruT::getBack() const - { - return m_list.getBack(); - } - - template - inline uint16_t HandleAllocLruT::getNext(uint16_t _handle) const - { - return m_list.getNext(_handle); - } - - template - inline uint16_t HandleAllocLruT::getPrev(uint16_t _handle) const - { - return m_list.getPrev(_handle); - } - - template - inline void HandleAllocLruT::reset() - { - m_list.reset(); - m_alloc.reset(); - } - - template - inline HandleHashMapT::HandleHashMapT() - : m_maxCapacity(MaxCapacityT) - { - reset(); - } - - template - inline HandleHashMapT::~HandleHashMapT() - { - } - - template - inline bool HandleHashMapT::insert(KeyT _key, uint16_t _handle) - { - if (invalid == _handle) - { - return false; - } - - const KeyT hash = mix(_key); - const uint32_t firstIdx = hash % MaxCapacityT; - uint32_t idx = firstIdx; - do - { - if (m_handle[idx] == invalid) - { - m_key[idx] = _key; - m_handle[idx] = _handle; - ++m_numElements; - return true; - } - - if (m_key[idx] == _key) - { - return false; - } - - idx = (idx + 1) % MaxCapacityT; - - } while (idx != firstIdx); - - return false; - } - - template - inline bool HandleHashMapT::removeByKey(KeyT _key) - { - uint32_t idx = findIndex(_key); - if (UINT32_MAX != idx) - { - removeIndex(idx); - return true; - } - - return false; - } - - template - inline bool HandleHashMapT::removeByHandle(uint16_t _handle) - { - if (invalid != _handle) - { - for (uint32_t idx = 0; idx < MaxCapacityT; ++idx) - { - if (m_handle[idx] == _handle) - { - removeIndex(idx); - } - } - } - - return false; - } - - template - inline uint16_t HandleHashMapT::find(KeyT _key) const - { - uint32_t idx = findIndex(_key); - if (UINT32_MAX != idx) - { - return m_handle[idx]; - } - - return invalid; - } - - template - inline void HandleHashMapT::reset() - { - memset(m_handle, 0xff, sizeof(m_handle) ); - m_numElements = 0; - } - - template - inline uint32_t HandleHashMapT::getNumElements() const - { - return m_numElements; - } - - template - inline uint32_t HandleHashMapT::getMaxCapacity() const - { - return m_maxCapacity; - } - - template - inline typename HandleHashMapT::Iterator HandleHashMapT::first() const - { - Iterator it; - it.handle = invalid; - it.pos = 0; - it.num = m_numElements; - - if (0 == it.num) - { - return it; - } - - ++it.num; - next(it); - return it; - } - - template - inline bool HandleHashMapT::next(Iterator& _it) const - { - if (0 == _it.num) - { - return false; - } - - for ( - ;_it.pos < MaxCapacityT && invalid == m_handle[_it.pos] - ; ++_it.pos - ); - _it.handle = m_handle[_it.pos]; - ++_it.pos; - --_it.num; - return true; - } - - template - inline uint32_t HandleHashMapT::findIndex(KeyT _key) const - { - const KeyT hash = mix(_key); - - const uint32_t firstIdx = hash % MaxCapacityT; - uint32_t idx = firstIdx; - do - { - if (m_handle[idx] == invalid) - { - return UINT32_MAX; - } - - if (m_key[idx] == _key) - { - return idx; - } - - idx = (idx + 1) % MaxCapacityT; - - } while (idx != firstIdx); - - return UINT32_MAX; - } - - template - inline void HandleHashMapT::removeIndex(uint32_t _idx) - { - m_handle[_idx] = invalid; - --m_numElements; - - for (uint32_t idx = (_idx + 1) % MaxCapacityT - ; m_handle[idx] != invalid - ; idx = (idx + 1) % MaxCapacityT) - { - if (m_handle[idx] != invalid) - { - const KeyT key = m_key[idx]; - if (idx != findIndex(key) ) - { - const uint16_t handle = m_handle[idx]; - m_handle[idx] = invalid; - --m_numElements; - insert(key, handle); - } - } - } - } - - template - inline uint32_t HandleHashMapT::mix(uint32_t _x) const - { - const uint32_t tmp0 = uint32_mul(_x, UINT32_C(2246822519) ); - const uint32_t tmp1 = uint32_rol(tmp0, 13); - const uint32_t result = uint32_mul(tmp1, UINT32_C(2654435761) ); - return result; - } - - template - inline uint64_t HandleHashMapT::mix(uint64_t _x) const - { - const uint64_t tmp0 = uint64_mul(_x, UINT64_C(14029467366897019727) ); - const uint64_t tmp1 = uint64_rol(tmp0, 31); - const uint64_t result = uint64_mul(tmp1, UINT64_C(11400714785074694791) ); - return result; - } - - template - inline HandleHashMapAllocT::HandleHashMapAllocT() - { - reset(); - } - - template - inline HandleHashMapAllocT::~HandleHashMapAllocT() - { - } - - template - inline uint16_t HandleHashMapAllocT::alloc(KeyT _key) - { - uint16_t handle = m_alloc.alloc(); - if (invalid == handle) - { - return invalid; - } - - bool ok = m_table.insert(_key, handle); - if (!ok) - { - m_alloc.free(handle); - return invalid; - } - - return handle; - } - - template - inline void HandleHashMapAllocT::free(KeyT _key) - { - uint16_t handle = m_table.find(_key); - if (invalid == handle) - { - return; - } - - m_table.removeByKey(_key); - m_alloc.free(handle); - } - - template - inline void HandleHashMapAllocT::free(uint16_t _handle) - { - m_table.removeByHandle(_handle); - m_alloc.free(_handle); - } - - template - inline uint16_t HandleHashMapAllocT::find(KeyT _key) const - { - return m_table.find(_key); - } - - template - inline const uint16_t* HandleHashMapAllocT::getHandles() const - { - return m_alloc.getHandles(); - } - - template - inline uint16_t HandleHashMapAllocT::getHandleAt(uint16_t _at) const - { - return m_alloc.getHandleAt(_at); - } - - template - inline uint16_t HandleHashMapAllocT::getNumHandles() const - { - return m_alloc.getNumHandles(); - } - - template - inline uint16_t HandleHashMapAllocT::getMaxHandles() const - { - return m_alloc.getMaxHandles(); - } - - template - inline bool HandleHashMapAllocT::isValid(uint16_t _handle) const - { - return m_alloc.isValid(_handle); - } - - template - inline void HandleHashMapAllocT::reset() - { - m_table.reset(); - m_alloc.reset(); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/hash.h b/3rdparty/bx/include/bx/hash.h index ec0b8164bd0..feade562a3c 100644 --- a/3rdparty/bx/include/bx/hash.h +++ b/3rdparty/bx/include/bx/hash.h @@ -7,6 +7,7 @@ #define BX_HASH_H_HEADER_GUARD #include "allocator.h" // isAligned +#include "string.h" // StringView namespace bx { @@ -55,8 +56,14 @@ namespace bx template uint32_t hashMurmur2A(const Ty& _data); + /// + uint32_t hashMurmur2A(const StringView& _data); + + /// + uint32_t hashMurmur2A(const char* _data); + } // namespace bx -#include "hash.inl" +#include "inline/hash.inl" #endif // BX_HASH_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/hash.inl b/3rdparty/bx/include/bx/hash.inl deleted file mode 100644 index cfa3eca252c..00000000000 --- a/3rdparty/bx/include/bx/hash.inl +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_HASH_H_HEADER_GUARD -# error "Must be included from bx/hash.h!" -#endif // BX_HASH_H_HEADER_GUARD - -namespace bx -{ -#define MURMUR_M 0x5bd1e995 -#define MURMUR_R 24 -#define mmix(_h, _k) { _k *= MURMUR_M; _k ^= _k >> MURMUR_R; _k *= MURMUR_M; _h *= MURMUR_M; _h ^= _k; } - - inline void HashMurmur2A::begin(uint32_t _seed) - { - m_hash = _seed; - m_tail = 0; - m_count = 0; - m_size = 0; - } - - inline void HashMurmur2A::add(const void* _data, int _len) - { - if (BX_UNLIKELY(!isAligned(_data, 4) ) ) - { - addUnaligned(_data, _len); - return; - } - - addAligned(_data, _len); - } - - inline void HashMurmur2A::addAligned(const void* _data, int _len) - { - const uint8_t* data = (const uint8_t*)_data; - m_size += _len; - - mixTail(data, _len); - - while(_len >= 4) - { - uint32_t kk = *(uint32_t*)data; - - mmix(m_hash, kk); - - data += 4; - _len -= 4; - } - - mixTail(data, _len); - } - - inline void HashMurmur2A::addUnaligned(const void* _data, int _len) - { - const uint8_t* data = (const uint8_t*)_data; - m_size += _len; - - mixTail(data, _len); - - while(_len >= 4) - { - uint32_t kk; - readUnaligned(data, kk); - - mmix(m_hash, kk); - - data += 4; - _len -= 4; - } - - mixTail(data, _len); - } - - template - inline void HashMurmur2A::add(Ty _value) - { - add(&_value, sizeof(Ty) ); - } - - inline uint32_t HashMurmur2A::end() - { - mmix(m_hash, m_tail); - mmix(m_hash, m_size); - - m_hash ^= m_hash >> 13; - m_hash *= MURMUR_M; - m_hash ^= m_hash >> 15; - - return m_hash; - } - - inline void HashMurmur2A::readUnaligned(const void* _data, uint32_t& _out) - { - const uint8_t* data = (const uint8_t*)_data; - if (BX_ENABLED(BX_CPU_ENDIAN_BIG) ) - { - _out = 0 - | data[0]<<24 - | data[1]<<16 - | data[2]<<8 - | data[3] - ; - } - else - { - _out = 0 - | data[0] - | data[1]<<8 - | data[2]<<16 - | data[3]<<24 - ; - } - } - - inline void HashMurmur2A::mixTail(const uint8_t*& _data, int& _len) - { - while( _len && ((_len<4) || m_count) ) - { - m_tail |= (*_data++) << (m_count * 8); - - m_count++; - _len--; - - if(m_count == 4) - { - mmix(m_hash, m_tail); - m_tail = 0; - m_count = 0; - } - } - } - -#undef MURMUR_M -#undef MURMUR_R -#undef mmix - - inline uint32_t hashMurmur2A(const void* _data, uint32_t _size) - { - HashMurmur2A murmur; - murmur.begin(); - murmur.add(_data, (int)_size); - return murmur.end(); - } - - template - inline uint32_t hashMurmur2A(const Ty& _data) - { - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - return hashMurmur2A(&_data, sizeof(Ty) ); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/allocator.inl b/3rdparty/bx/include/bx/inline/allocator.inl new file mode 100644 index 00000000000..8a4898d8f60 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/allocator.inl @@ -0,0 +1,104 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_ALLOCATOR_H_HEADER_GUARD +# error "Must be included from bx/allocator.h" +#endif // BX_ALLOCATOR_H_HEADER_GUARD + +namespace bx +{ + inline AllocatorI::~AllocatorI() + { + } + + inline bool isAligned(const void* _ptr, size_t _align) + { + union { const void* ptr; uintptr_t addr; } un; + un.ptr = _ptr; + return 0 == (un.addr & (_align-1) ); + } + + inline void* alignPtr(void* _ptr, size_t _extra, size_t _align) + { + union { void* ptr; uintptr_t addr; } un; + un.ptr = _ptr; + uintptr_t unaligned = un.addr + _extra; // space for header + uintptr_t mask = _align-1; + uintptr_t aligned = BX_ALIGN_MASK(unaligned, mask); + un.addr = aligned; + return un.ptr; + } + + inline void* alloc(AllocatorI* _allocator, size_t _size, size_t _align, const char* _file, uint32_t _line) + { + return _allocator->realloc(NULL, _size, _align, _file, _line); + } + + inline void free(AllocatorI* _allocator, void* _ptr, size_t _align, const char* _file, uint32_t _line) + { + _allocator->realloc(_ptr, 0, _align, _file, _line); + } + + inline void* realloc(AllocatorI* _allocator, void* _ptr, size_t _size, size_t _align, const char* _file, uint32_t _line) + { + return _allocator->realloc(_ptr, _size, _align, _file, _line); + } + + inline void* alignedAlloc(AllocatorI* _allocator, size_t _size, size_t _align, const char* _file, uint32_t _line) + { + size_t total = _size + _align; + uint8_t* ptr = (uint8_t*)alloc(_allocator, total, 0, _file, _line); + uint8_t* aligned = (uint8_t*)alignPtr(ptr, sizeof(uint32_t), _align); + uint32_t* header = (uint32_t*)aligned - 1; + *header = uint32_t(aligned - ptr); + return aligned; + } + + inline void alignedFree(AllocatorI* _allocator, void* _ptr, size_t _align, const char* _file, uint32_t _line) + { + BX_UNUSED(_align); + uint8_t* aligned = (uint8_t*)_ptr; + uint32_t* header = (uint32_t*)aligned - 1; + uint8_t* ptr = aligned - *header; + free(_allocator, ptr, 0, _file, _line); + } + + inline void* alignedRealloc(AllocatorI* _allocator, void* _ptr, size_t _size, size_t _align, const char* _file, uint32_t _line) + { + if (NULL == _ptr) + { + return alignedAlloc(_allocator, _size, _align, _file, _line); + } + + uint8_t* aligned = (uint8_t*)_ptr; + uint32_t offset = *( (uint32_t*)aligned - 1); + uint8_t* ptr = aligned - offset; + size_t total = _size + _align; + ptr = (uint8_t*)realloc(_allocator, ptr, total, 0, _file, _line); + uint8_t* newAligned = (uint8_t*)alignPtr(ptr, sizeof(uint32_t), _align); + + if (newAligned == aligned) + { + return aligned; + } + + aligned = ptr + offset; + memMove(newAligned, aligned, _size); + uint32_t* header = (uint32_t*)newAligned - 1; + *header = uint32_t(newAligned - ptr); + return newAligned; + } + + template + inline void deleteObject(AllocatorI* _allocator, ObjectT* _object, size_t _align, const char* _file, uint32_t _line) + { + if (NULL != _object) + { + _object->~ObjectT(); + free(_allocator, _object, _align, _file, _line); + } + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/bx.inl b/3rdparty/bx/include/bx/inline/bx.inl new file mode 100644 index 00000000000..f8e9c6303d4 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/bx.inl @@ -0,0 +1,35 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_H_HEADER_GUARD +# error "Must be included from bx/bx.h!" +#endif // BX_H_HEADER_GUARD + +namespace bx +{ + template + inline bool isEnabled() + { + return true; + } + + template<> + inline bool isEnabled() + { + return false; + } + + inline bool ignoreC4127(bool _x) + { + return _x; + } + + template + inline void xchg(Ty& _a, Ty& _b) + { + Ty tmp = _a; _a = _b; _b = tmp; + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/easing.inl b/3rdparty/bx/include/bx/inline/easing.inl new file mode 100644 index 00000000000..b23edb1128a --- /dev/null +++ b/3rdparty/bx/include/bx/inline/easing.inl @@ -0,0 +1,256 @@ +/* + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_EASING_H_HEADER_GUARD +# error "Must be included from bx/easing.h!" +#endif // BX_EASING_H_HEADER_GUARD + +namespace bx +{ + template + float easeOut(float _t) + { + return 1.0f - ease(1.0f - _t); + } + + template + float easeMix(float _t) + { + return _t < 0.5f + ? easeFrom0toH(2.0f*_t)*0.5f + : easeFromHto1(2.0f*_t - 1.0f)*0.5f + 0.5f + ; + } + + inline float easeLinear(float _t) + { + return _t; + } + + inline float easeInQuad(float _t) + { + return fsq(_t); + } + + inline float easeOutQuad(float _t) + { + return easeOut(_t); + } + + inline float easeInOutQuad(float _t) + { + return easeMix(_t); + } + + inline float easeOutInQuad(float _t) + { + return easeMix(_t); + } + + inline float easeInCubic(float _t) + { + return _t*_t*_t; + } + + inline float easeOutCubic(float _t) + { + return easeOut(_t); + } + + inline float easeInOutCubic(float _t) + { + return easeMix(_t); + } + + inline float easeOutInCubic(float _t) + { + return easeMix(_t); + } + + inline float easeInQuart(float _t) + { + return _t*_t*_t*_t; + } + + inline float easeOutQuart(float _t) + { + return easeOut(_t); + } + + inline float easeInOutQuart(float _t) + { + return easeMix(_t); + } + + inline float easeOutInQuart(float _t) + { + return easeMix(_t); + } + + inline float easeInQuint(float _t) + { + return _t*_t*_t*_t*_t; + } + + inline float easeOutQuint(float _t) + { + return easeOut(_t); + } + + inline float easeInOutQuint(float _t) + { + return easeMix(_t); + } + + inline float easeOutInQuint(float _t) + { + return easeMix(_t); + } + + inline float easeInSine(float _t) + { + return 1.0f - fcos(_t*piHalf); + } + + inline float easeOutSine(float _t) + { + return easeOut(_t); + } + + inline float easeInOutSine(float _t) + { + return easeMix(_t); + } + + inline float easeOutInSine(float _t) + { + return easeMix(_t); + } + + inline float easeInExpo(float _t) + { + return fpow(2.0f, 10.0f * (_t - 1.0f) ) - 0.001f; + } + + inline float easeOutExpo(float _t) + { + return easeOut(_t); + } + + inline float easeInOutExpo(float _t) + { + return easeMix(_t); + } + + inline float easeOutInExpo(float _t) + { + return easeMix(_t); + } + + inline float easeInCirc(float _t) + { + return -(fsqrt(1.0f - _t*_t) - 1.0f); + } + + inline float easeOutCirc(float _t) + { + return easeOut(_t); + } + + inline float easeInOutCirc(float _t) + { + return easeMix(_t); + } + + inline float easeOutInCirc(float _t) + { + return easeMix(_t); + } + + inline float easeOutElastic(float _t) + { + return fpow(2.0f, -10.0f*_t)*fsin( (_t-0.3f/4.0f)*(2.0f*pi)/0.3f) + 1.0f; + } + + inline float easeInElastic(float _t) + { + return easeOut(_t); + } + + inline float easeInOutElastic(float _t) + { + return easeMix(_t); + } + + inline float easeOutInElastic(float _t) + { + return easeMix(_t); + } + + inline float easeInBack(float _t) + { + return easeInCubic(_t) - _t*fsin(_t*pi); + } + + inline float easeOutBack(float _t) + { + return easeOut(_t); + } + + inline float easeInOutBack(float _t) + { + return easeMix(_t); + } + + inline float easeOutInBack(float _t) + { + return easeMix(_t); + } + + inline float easeOutBounce(float _t) + { + if (4.0f/11.0f > _t) + { + return 121.0f/16.0f*_t*_t; + } + + if (8.0f/11.0f > _t) + { + return 363.0f/40.0f*_t*_t + - 99.0f/10.0f*_t + + 17.0f/ 5.0f + ; + } + + if (9.0f/10.0f > _t) + { + return 4356.0f/ 361.0f*_t*_t + - 35442.0f/1805.0f*_t + + 16061.0f/1805.0f + ; + } + + return 54.0f/ 5.0f*_t*_t + - 513.0f/25.0f*_t + + 268.0f/25.0f + ; + } + + inline float easeInBounce(float _t) + { + return easeOut(_t); + } + + inline float easeInOutBounce(float _t) + { + return easeMix(_t); + } + + inline float easeOutInBounce(float _t) + { + return easeMix(_t); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/endian.inl b/3rdparty/bx/include/bx/inline/endian.inl new file mode 100644 index 00000000000..6ec7572c71c --- /dev/null +++ b/3rdparty/bx/include/bx/inline/endian.inl @@ -0,0 +1,78 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_ENDIAN_H_HEADER_GUARD +# error "Must be included from bx/endian.h!" +#endif // BX_ENDIAN_H_HEADER_GUARD + +namespace bx +{ + inline int16_t endianSwap(int16_t _in) + { + return (int16_t)endianSwap( (uint16_t)_in); + } + + inline uint16_t endianSwap(uint16_t _in) + { + return (_in>>8) | (_in<<8); + } + + inline int32_t endianSwap(int32_t _in) + { + return (int32_t)endianSwap( (uint32_t)_in); + } + + inline uint32_t endianSwap(uint32_t _in) + { + return ( _in >>24) | ( _in <<24) + | ( (_in&0x00ff0000)>> 8) | ( (_in&0x0000ff00)<< 8) + ; + } + + inline int64_t endianSwap(int64_t _in) + { + return (int64_t)endianSwap( (uint64_t)_in); + } + + inline uint64_t endianSwap(uint64_t _in) + { + return (_in >>56) | ( _in <<56) + | ( (_in&UINT64_C(0x00ff000000000000) )>>40) | ( (_in&UINT64_C(0x000000000000ff00) )<<40) + | ( (_in&UINT64_C(0x0000ff0000000000) )>>24) | ( (_in&UINT64_C(0x0000000000ff0000) )<<24) + | ( (_in&UINT64_C(0x000000ff00000000) )>> 8) | ( (_in&UINT64_C(0x00000000ff000000) )<< 8) + ; + } + + template + inline Ty toLittleEndian(const Ty _in) + { +#if BX_CPU_ENDIAN_BIG + return endianSwap(_in); +#else + return _in; +#endif // BX_CPU_ENDIAN_BIG + } + + template + inline Ty toBigEndian(const Ty _in) + { +#if BX_CPU_ENDIAN_LITTLE + return endianSwap(_in); +#else + return _in; +#endif // BX_CPU_ENDIAN_LITTLE + } + + template + inline Ty toHostEndian(const Ty _in, bool _fromLittleEndian) + { +#if BX_CPU_ENDIAN_LITTLE + return _fromLittleEndian ? _in : endianSwap(_in); +#else + return _fromLittleEndian ? endianSwap(_in) : _in; +#endif // BX_CPU_ENDIAN_LITTLE + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/error.inl b/3rdparty/bx/include/bx/inline/error.inl new file mode 100644 index 00000000000..ac16c6f9841 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/error.inl @@ -0,0 +1,73 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_ERROR_H_HEADER_GUARD +# error "Must be included from bx/error!" +#endif // BX_ERROR_H_HEADER_GUARD + +namespace bx +{ + inline Error::Error() + : m_code(0) + { + } + + inline void Error::reset() + { + m_code = 0; + m_msg.clear(); + } + + inline void Error::setError(ErrorResult _errorResult, const StringView& _msg) + { + BX_CHECK(0 != _errorResult.code, "Invalid ErrorResult passed to setError!"); + + if (!isOk() ) + { + return; + } + + m_code = _errorResult.code; + m_msg = _msg; + } + + inline bool Error::isOk() const + { + return 0 == m_code; + } + + inline ErrorResult Error::get() const + { + ErrorResult result = { m_code }; + return result; + } + + inline const StringView& Error::getMessage() const + { + return m_msg; + } + + inline bool Error::operator==(const ErrorResult& _rhs) const + { + return _rhs.code == m_code; + } + + inline bool Error::operator!=(const ErrorResult& _rhs) const + { + return _rhs.code != m_code; + } + + inline ErrorScope::ErrorScope(Error* _err) + : m_err(_err) + { + BX_CHECK(NULL != _err, "_err can't be NULL"); + } + + inline ErrorScope::~ErrorScope() + { + BX_CHECK(m_err->isOk(), "Error: %d", m_err->get().code); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/fpumath.inl b/3rdparty/bx/include/bx/inline/fpumath.inl new file mode 100644 index 00000000000..e87b8272b2c --- /dev/null +++ b/3rdparty/bx/include/bx/inline/fpumath.inl @@ -0,0 +1,1352 @@ +/* + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +// FPU math lib + +#ifndef BX_FPU_MATH_H_HEADER_GUARD +# error "Must be included from bx/fpumath.h!" +#endif // BX_FPU_MATH_H_HEADER_GUARD + +namespace bx +{ + inline float toRad(float _deg) + { + return _deg * pi / 180.0f; + } + + inline float toDeg(float _rad) + { + return _rad * 180.0f / pi; + } + + inline uint32_t floatToBits(float _a) + { + union { float f; uint32_t ui; } u = { _a }; + return u.ui; + } + + inline float bitsToFloat(uint32_t _a) + { + union { uint32_t ui; float f; } u = { _a }; + return u.f; + } + + inline uint64_t doubleToBits(double _a) + { + union { double f; uint64_t ui; } u = { _a }; + return u.ui; + } + + inline double bitsToDouble(uint64_t _a) + { + union { uint64_t ui; double f; } u = { _a }; + return u.f; + } + + inline bool isNan(float _f) + { + const uint32_t tmp = floatToBits(_f) & INT32_MAX; + return tmp > UINT32_C(0x7f800000); + } + + inline bool isNan(double _f) + { + const uint64_t tmp = doubleToBits(_f) & INT64_MAX; + return tmp > UINT64_C(0x7ff0000000000000); + } + + inline bool isFinite(float _f) + { + const uint32_t tmp = floatToBits(_f) & INT32_MAX; + return tmp < UINT32_C(0x7f800000); + } + + inline bool isFinite(double _f) + { + const uint64_t tmp = doubleToBits(_f) & INT64_MAX; + return tmp < UINT64_C(0x7ff0000000000000); + } + + inline bool isInfinite(float _f) + { + const uint32_t tmp = floatToBits(_f) & INT32_MAX; + return tmp == UINT32_C(0x7f800000); + } + + inline bool isInfinite(double _f) + { + const uint64_t tmp = doubleToBits(_f) & INT64_MAX; + return tmp == UINT64_C(0x7ff0000000000000); + } + + inline float fround(float _f) + { + return ffloor(_f + 0.5f); + } + + inline float fmin(float _a, float _b) + { + return _a < _b ? _a : _b; + } + + inline float fmax(float _a, float _b) + { + return _a > _b ? _a : _b; + } + + inline float fmin3(float _a, float _b, float _c) + { + return fmin(_a, fmin(_b, _c) ); + } + + inline float fmax3(float _a, float _b, float _c) + { + return fmax(_a, fmax(_b, _c) ); + } + + inline float fclamp(float _a, float _min, float _max) + { + return fmin(fmax(_a, _min), _max); + } + + inline float fsaturate(float _a) + { + return fclamp(_a, 0.0f, 1.0f); + } + + inline float flerp(float _a, float _b, float _t) + { + return _a + (_b - _a) * _t; + } + + inline float fsign(float _a) + { + return _a < 0.0f ? -1.0f : 1.0f; + } + + inline float fsq(float _a) + { + return _a * _a; + } + + inline float fexp2(float _a) + { + return fpow(2.0f, _a); + } + + inline float flog2(float _a) + { + return flog(_a) * 1.442695041f; + } + + inline float frsqrt(float _a) + { + return 1.0f/fsqrt(_a); + } + + inline float ffract(float _a) + { + return _a - ffloor(_a); + } + + inline bool fequal(float _a, float _b, float _epsilon) + { + // http://realtimecollisiondetection.net/blog/?p=89 + const float lhs = fabsolute(_a - _b); + const float rhs = _epsilon * fmax3(1.0f, fabsolute(_a), fabsolute(_b) ); + return lhs <= rhs; + } + + inline bool fequal(const float* _a, const float* _b, uint32_t _num, float _epsilon) + { + bool equal = fequal(_a[0], _b[0], _epsilon); + for (uint32_t ii = 1; equal && ii < _num; ++ii) + { + equal = fequal(_a[ii], _b[ii], _epsilon); + } + return equal; + } + + inline float fwrap(float _a, float _wrap) + { + const float mod = fmod(_a, _wrap); + const float result = mod < 0.0f ? _wrap + mod : mod; + return result; + } + + inline float fstep(float _edge, float _a) + { + return _a < _edge ? 0.0f : 1.0f; + } + + inline float fpulse(float _a, float _start, float _end) + { + return fstep(_a, _start) - fstep(_a, _end); + } + + inline float fsmoothstep(float _a) + { + return fsq(_a)*(3.0f - 2.0f*_a); + } + + inline float fbias(float _time, float _bias) + { + return _time / ( ( (1.0f/_bias - 2.0f)*(1.0f - _time) ) + 1.0f); + } + + inline float fgain(float _time, float _gain) + { + if (_time < 0.5f) + { + return fbias(_time * 2.0f, _gain) * 0.5f; + } + + return fbias(_time * 2.0f - 1.0f, 1.0f - _gain) * 0.5f + 0.5f; + } + + inline void vec3Move(float* _result, const float* _a) + { + _result[0] = _a[0]; + _result[1] = _a[1]; + _result[2] = _a[2]; + } + + inline void vec3Abs(float* _result, const float* _a) + { + _result[0] = fabsolute(_a[0]); + _result[1] = fabsolute(_a[1]); + _result[2] = fabsolute(_a[2]); + } + + inline void vec3Neg(float* _result, const float* _a) + { + _result[0] = -_a[0]; + _result[1] = -_a[1]; + _result[2] = -_a[2]; + } + + inline void vec3Add(float* _result, const float* _a, const float* _b) + { + _result[0] = _a[0] + _b[0]; + _result[1] = _a[1] + _b[1]; + _result[2] = _a[2] + _b[2]; + } + + inline void vec3Add(float* _result, const float* _a, float _b) + { + _result[0] = _a[0] + _b; + _result[1] = _a[1] + _b; + _result[2] = _a[2] + _b; + } + + inline void vec3Sub(float* _result, const float* _a, const float* _b) + { + _result[0] = _a[0] - _b[0]; + _result[1] = _a[1] - _b[1]; + _result[2] = _a[2] - _b[2]; + } + + inline void vec3Sub(float* _result, const float* _a, float _b) + { + _result[0] = _a[0] - _b; + _result[1] = _a[1] - _b; + _result[2] = _a[2] - _b; + } + + inline void vec3Mul(float* _result, const float* _a, const float* _b) + { + _result[0] = _a[0] * _b[0]; + _result[1] = _a[1] * _b[1]; + _result[2] = _a[2] * _b[2]; + } + + inline void vec3Mul(float* _result, const float* _a, float _b) + { + _result[0] = _a[0] * _b; + _result[1] = _a[1] * _b; + _result[2] = _a[2] * _b; + } + + inline float vec3Dot(const float* _a, const float* _b) + { + return _a[0]*_b[0] + _a[1]*_b[1] + _a[2]*_b[2]; + } + + inline void vec3Cross(float* _result, const float* _a, const float* _b) + { + _result[0] = _a[1]*_b[2] - _a[2]*_b[1]; + _result[1] = _a[2]*_b[0] - _a[0]*_b[2]; + _result[2] = _a[0]*_b[1] - _a[1]*_b[0]; + } + + inline float vec3Length(const float* _a) + { + return fsqrt(vec3Dot(_a, _a) ); + } + + inline void vec3Lerp(float* _result, const float* _a, const float* _b, float _t) + { + _result[0] = flerp(_a[0], _b[0], _t); + _result[1] = flerp(_a[1], _b[1], _t); + _result[2] = flerp(_a[2], _b[2], _t); + } + + inline void vec3Lerp(float* _result, const float* _a, const float* _b, const float* _c) + { + _result[0] = flerp(_a[0], _b[0], _c[0]); + _result[1] = flerp(_a[1], _b[1], _c[1]); + _result[2] = flerp(_a[2], _b[2], _c[2]); + } + + inline float vec3Norm(float* _result, const float* _a) + { + const float len = vec3Length(_a); + const float invLen = 1.0f/len; + _result[0] = _a[0] * invLen; + _result[1] = _a[1] * invLen; + _result[2] = _a[2] * invLen; + return len; + } + + inline void vec3Min(float* _result, const float* _a, const float* _b) + { + _result[0] = fmin(_a[0], _b[0]); + _result[1] = fmin(_a[1], _b[1]); + _result[2] = fmin(_a[2], _b[2]); + } + + inline void vec3Max(float* _result, const float* _a, const float* _b) + { + _result[0] = fmax(_a[0], _b[0]); + _result[1] = fmax(_a[1], _b[1]); + _result[2] = fmax(_a[2], _b[2]); + } + + inline void vec3Rcp(float* _result, const float* _a) + { + _result[0] = 1.0f / _a[0]; + _result[1] = 1.0f / _a[1]; + _result[2] = 1.0f / _a[2]; + } + + inline void vec3TangentFrame(const float* _n, float* _t, float* _b) + { + const float nx = _n[0]; + const float ny = _n[1]; + const float nz = _n[2]; + + if (bx::fabsolute(nx) > bx::fabsolute(nz) ) + { + float invLen = 1.0f / bx::fsqrt(nx*nx + nz*nz); + _t[0] = -nz * invLen; + _t[1] = 0.0f; + _t[2] = nx * invLen; + } + else + { + float invLen = 1.0f / bx::fsqrt(ny*ny + nz*nz); + _t[0] = 0.0f; + _t[1] = nz * invLen; + _t[2] = -ny * invLen; + } + + bx::vec3Cross(_b, _n, _t); + } + + inline void vec3TangentFrame(const float* _n, float* _t, float* _b, float _angle) + { + vec3TangentFrame(_n, _t, _b); + + const float sa = fsin(_angle); + const float ca = fcos(_angle); + + _t[0] = -sa * _b[0] + ca * _t[0]; + _t[1] = -sa * _b[1] + ca * _t[1]; + _t[2] = -sa * _b[2] + ca * _t[2]; + + bx::vec3Cross(_b, _n, _t); + } + + inline void quatIdentity(float* _result) + { + _result[0] = 0.0f; + _result[1] = 0.0f; + _result[2] = 0.0f; + _result[3] = 1.0f; + } + + inline void quatMove(float* _result, const float* _a) + { + _result[0] = _a[0]; + _result[1] = _a[1]; + _result[2] = _a[2]; + _result[3] = _a[3]; + } + + inline void quatMulXYZ(float* _result, const float* _qa, const float* _qb) + { + const float ax = _qa[0]; + const float ay = _qa[1]; + const float az = _qa[2]; + const float aw = _qa[3]; + + const float bx = _qb[0]; + const float by = _qb[1]; + const float bz = _qb[2]; + const float bw = _qb[3]; + + _result[0] = aw * bx + ax * bw + ay * bz - az * by; + _result[1] = aw * by - ax * bz + ay * bw + az * bx; + _result[2] = aw * bz + ax * by - ay * bx + az * bw; + } + + inline void quatMul(float* _result, const float* _qa, const float* _qb) + { + const float ax = _qa[0]; + const float ay = _qa[1]; + const float az = _qa[2]; + const float aw = _qa[3]; + + const float bx = _qb[0]; + const float by = _qb[1]; + const float bz = _qb[2]; + const float bw = _qb[3]; + + _result[0] = aw * bx + ax * bw + ay * bz - az * by; + _result[1] = aw * by - ax * bz + ay * bw + az * bx; + _result[2] = aw * bz + ax * by - ay * bx + az * bw; + _result[3] = aw * bw - ax * bx - ay * by - az * bz; + } + + inline void quatInvert(float* _result, const float* _quat) + { + _result[0] = -_quat[0]; + _result[1] = -_quat[1]; + _result[2] = -_quat[2]; + _result[3] = _quat[3]; + } + + inline float quatDot(const float* _a, const float* _b) + { + return _a[0]*_b[0] + + _a[1]*_b[1] + + _a[2]*_b[2] + + _a[3]*_b[3] + ; + } + + inline void quatNorm(float* _result, const float* _quat) + { + const float norm = quatDot(_quat, _quat); + if (0.0f < norm) + { + const float invNorm = 1.0f / fsqrt(norm); + _result[0] = _quat[0] * invNorm; + _result[1] = _quat[1] * invNorm; + _result[2] = _quat[2] * invNorm; + _result[3] = _quat[3] * invNorm; + } + else + { + quatIdentity(_result); + } + } + + inline void quatToEuler(float* _result, const float* _quat) + { + const float x = _quat[0]; + const float y = _quat[1]; + const float z = _quat[2]; + const float w = _quat[3]; + + const float yy = y * y; + const float zz = z * z; + + const float xx = x * x; + _result[0] = fatan2(2.0f * (x * w - y * z), 1.0f - 2.0f * (xx + zz) ); + _result[1] = fatan2(2.0f * (y * w + x * z), 1.0f - 2.0f * (yy + zz) ); + _result[2] = fasin (2.0f * (x * y + z * w) ); + } + + inline void quatRotateAxis(float* _result, const float* _axis, float _angle) + { + const float ha = _angle * 0.5f; + const float ca = fcos(ha); + const float sa = fsin(ha); + _result[0] = _axis[0] * sa; + _result[1] = _axis[1] * sa; + _result[2] = _axis[2] * sa; + _result[3] = ca; + } + + inline void quatRotateX(float* _result, float _ax) + { + const float hx = _ax * 0.5f; + const float cx = fcos(hx); + const float sx = fsin(hx); + _result[0] = sx; + _result[1] = 0.0f; + _result[2] = 0.0f; + _result[3] = cx; + } + + inline void quatRotateY(float* _result, float _ay) + { + const float hy = _ay * 0.5f; + const float cy = fcos(hy); + const float sy = fsin(hy); + _result[0] = 0.0f; + _result[1] = sy; + _result[2] = 0.0f; + _result[3] = cy; + } + + inline void quatRotateZ(float* _result, float _az) + { + const float hz = _az * 0.5f; + const float cz = fcos(hz); + const float sz = fsin(hz); + _result[0] = 0.0f; + _result[1] = 0.0f; + _result[2] = sz; + _result[3] = cz; + } + + inline void vec3MulQuat(float* _result, const float* _vec, const float* _quat) + { + float tmp0[4]; + quatInvert(tmp0, _quat); + + float qv[4]; + qv[0] = _vec[0]; + qv[1] = _vec[1]; + qv[2] = _vec[2]; + qv[3] = 0.0f; + + float tmp1[4]; + quatMul(tmp1, tmp0, qv); + + quatMulXYZ(_result, tmp1, _quat); + } + + inline void mtxIdentity(float* _result) + { + memSet(_result, 0, sizeof(float)*16); + _result[0] = _result[5] = _result[10] = _result[15] = 1.0f; + } + + inline void mtxTranslate(float* _result, float _tx, float _ty, float _tz) + { + mtxIdentity(_result); + _result[12] = _tx; + _result[13] = _ty; + _result[14] = _tz; + } + + inline void mtxScale(float* _result, float _sx, float _sy, float _sz) + { + memSet(_result, 0, sizeof(float) * 16); + _result[0] = _sx; + _result[5] = _sy; + _result[10] = _sz; + _result[15] = 1.0f; + } + + inline void mtxScale(float* _result, float _scale) + { + mtxScale(_result, _scale, _scale, _scale); + } + + inline void mtxFromNormal(float* _result, const float* _normal, float _scale, const float* _pos) + { + float tangent[3]; + float bitangent[3]; + vec3TangentFrame(_normal, tangent, bitangent); + + vec3Mul(&_result[ 0], bitangent, _scale); + vec3Mul(&_result[ 4], _normal, _scale); + vec3Mul(&_result[ 8], tangent, _scale); + + _result[ 3] = 0.0f; + _result[ 7] = 0.0f; + _result[11] = 0.0f; + _result[12] = _pos[0]; + _result[13] = _pos[1]; + _result[14] = _pos[2]; + _result[15] = 1.0f; + } + + inline void mtxFromNormal(float* _result, const float* _normal, float _scale, const float* _pos, float _angle) + { + float tangent[3]; + float bitangent[3]; + vec3TangentFrame(_normal, tangent, bitangent, _angle); + + vec3Mul(&_result[ 0], bitangent, _scale); + vec3Mul(&_result[ 4], _normal, _scale); + vec3Mul(&_result[ 8], tangent, _scale); + + _result[ 3] = 0.0f; + _result[ 7] = 0.0f; + _result[11] = 0.0f; + _result[12] = _pos[0]; + _result[13] = _pos[1]; + _result[14] = _pos[2]; + _result[15] = 1.0f; + } + + inline void mtxQuat(float* _result, const float* _quat) + { + const float x = _quat[0]; + const float y = _quat[1]; + const float z = _quat[2]; + const float w = _quat[3]; + + const float x2 = x + x; + const float y2 = y + y; + const float z2 = z + z; + const float x2x = x2 * x; + const float x2y = x2 * y; + const float x2z = x2 * z; + const float x2w = x2 * w; + const float y2y = y2 * y; + const float y2z = y2 * z; + const float y2w = y2 * w; + const float z2z = z2 * z; + const float z2w = z2 * w; + + _result[ 0] = 1.0f - (y2y + z2z); + _result[ 1] = x2y - z2w; + _result[ 2] = x2z + y2w; + _result[ 3] = 0.0f; + + _result[ 4] = x2y + z2w; + _result[ 5] = 1.0f - (x2x + z2z); + _result[ 6] = y2z - x2w; + _result[ 7] = 0.0f; + + _result[ 8] = x2z - y2w; + _result[ 9] = y2z + x2w; + _result[10] = 1.0f - (x2x + y2y); + _result[11] = 0.0f; + + _result[12] = 0.0f; + _result[13] = 0.0f; + _result[14] = 0.0f; + _result[15] = 1.0f; + } + + inline void mtxQuatTranslation(float* _result, const float* _quat, const float* _translation) + { + mtxQuat(_result, _quat); + _result[12] = -(_result[0]*_translation[0] + _result[4]*_translation[1] + _result[ 8]*_translation[2]); + _result[13] = -(_result[1]*_translation[0] + _result[5]*_translation[1] + _result[ 9]*_translation[2]); + _result[14] = -(_result[2]*_translation[0] + _result[6]*_translation[1] + _result[10]*_translation[2]); + } + + inline void mtxQuatTranslationHMD(float* _result, const float* _quat, const float* _translation) + { + float quat[4]; + quat[0] = -_quat[0]; + quat[1] = -_quat[1]; + quat[2] = _quat[2]; + quat[3] = _quat[3]; + mtxQuatTranslation(_result, quat, _translation); + } + + inline void mtxLookAt_Impl(float* _result, const float* _eye, const float* _view, const float* _up) + { + float up[3] = { 0.0f, 1.0f, 0.0f }; + if (NULL != _up) + { + up[0] = _up[0]; + up[1] = _up[1]; + up[2] = _up[2]; + } + + float tmp[4]; + vec3Cross(tmp, up, _view); + + float right[4]; + vec3Norm(right, tmp); + + vec3Cross(up, _view, right); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = right[0]; + _result[ 1] = up[0]; + _result[ 2] = _view[0]; + + _result[ 4] = right[1]; + _result[ 5] = up[1]; + _result[ 6] = _view[1]; + + _result[ 8] = right[2]; + _result[ 9] = up[2]; + _result[10] = _view[2]; + + _result[12] = -vec3Dot(right, _eye); + _result[13] = -vec3Dot(up, _eye); + _result[14] = -vec3Dot(_view, _eye); + _result[15] = 1.0f; + } + + inline void mtxLookAtLh(float* _result, const float* _eye, const float* _at, const float* _up) + { + float tmp[4]; + vec3Sub(tmp, _at, _eye); + + float view[4]; + vec3Norm(view, tmp); + + mtxLookAt_Impl(_result, _eye, view, _up); + } + + inline void mtxLookAtRh(float* _result, const float* _eye, const float* _at, const float* _up) + { + float tmp[4]; + vec3Sub(tmp, _eye, _at); + + float view[4]; + vec3Norm(view, tmp); + + mtxLookAt_Impl(_result, _eye, view, _up); + } + + inline void mtxLookAt(float* _result, const float* _eye, const float* _at, const float* _up) + { + mtxLookAtLh(_result, _eye, _at, _up); + } + + template + inline void mtxProjXYWH(float* _result, float _x, float _y, float _width, float _height, float _near, float _far, bool _oglNdc) + { + const float diff = _far-_near; + const float aa = _oglNdc ? (_far+_near)/diff : _far/diff; + const float bb = _oglNdc ? (2.0f*_far*_near)/diff : _near*aa; + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = _width; + _result[ 5] = _height; + _result[ 8] = (Handness::Right == HandnessT) ? _x : -_x; + _result[ 9] = (Handness::Right == HandnessT) ? _y : -_y; + _result[10] = (Handness::Right == HandnessT) ? -aa : aa; + _result[11] = (Handness::Right == HandnessT) ? -1.0f : 1.0f; + _result[14] = -bb; + } + + template + inline void mtxProj_impl(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) + { + const float invDiffRl = 1.0f/(_rt - _lt); + const float invDiffUd = 1.0f/(_ut - _dt); + const float width = 2.0f*_near * invDiffRl; + const float height = 2.0f*_near * invDiffUd; + const float xx = (_rt + _lt) * invDiffRl; + const float yy = (_ut + _dt) * invDiffUd; + mtxProjXYWH(_result, xx, yy, width, height, _near, _far, _oglNdc); + } + + template + inline void mtxProj_impl(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fov[0], _fov[1], _fov[2], _fov[3], _near, _far, _oglNdc); + } + + template + inline void mtxProj_impl(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) + { + const float height = 1.0f/ftan(toRad(_fovy)*0.5f); + const float width = height * 1.0f/_aspect; + mtxProjXYWH(_result, 0.0f, 0.0f, width, height, _near, _far, _oglNdc); + } + + inline void mtxProj(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); + } + + inline void mtxProj(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fov, _near, _far, _oglNdc); + } + + inline void mtxProj(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); + } + + inline void mtxProjLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); + } + + inline void mtxProjLh(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fov, _near, _far, _oglNdc); + } + + inline void mtxProjLh(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); + } + + inline void mtxProjRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _ut, _dt, _lt, _rt, _near, _far, _oglNdc); + } + + inline void mtxProjRh(float* _result, const float _fov[4], float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fov, _near, _far, _oglNdc); + } + + inline void mtxProjRh(float* _result, float _fovy, float _aspect, float _near, float _far, bool _oglNdc) + { + mtxProj_impl(_result, _fovy, _aspect, _near, _far, _oglNdc); + } + + template + inline void mtxProjInfXYWH(float* _result, float _x, float _y, float _width, float _height, float _near, bool _oglNdc) + { + float aa; + float bb; + if (BX_ENABLED(NearFar::Reverse == NearFarT) ) + { + aa = _oglNdc ? -1.0f : 0.0f; + bb = _oglNdc ? -2.0f*_near : -_near; + } + else + { + aa = 1.0f; + bb = _oglNdc ? 2.0f*_near : _near; + } + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = _width; + _result[ 5] = _height; + _result[ 8] = (Handness::Right == HandnessT) ? _x : -_x; + _result[ 9] = (Handness::Right == HandnessT) ? _y : -_y; + _result[10] = (Handness::Right == HandnessT) ? -aa : aa; + _result[11] = (Handness::Right == HandnessT) ? -1.0f : 1.0f; + _result[14] = -bb; + } + + template + inline void mtxProjInf_impl(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + const float invDiffRl = 1.0f/(_rt - _lt); + const float invDiffUd = 1.0f/(_ut - _dt); + const float width = 2.0f*_near * invDiffRl; + const float height = 2.0f*_near * invDiffUd; + const float xx = (_rt + _lt) * invDiffRl; + const float yy = (_ut + _dt) * invDiffUd; + mtxProjInfXYWH(_result, xx, yy, width, height, _near, _oglNdc); + } + + template + inline void mtxProjInf_impl(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov[0], _fov[1], _fov[2], _fov[3], _near, _oglNdc); + } + + template + inline void mtxProjInf_impl(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + const float height = 1.0f/ftan(toRad(_fovy)*0.5f); + const float width = height * 1.0f/_aspect; + mtxProjInfXYWH(_result, 0.0f, 0.0f, width, height, _near, _oglNdc); + } + + inline void mtxProjInf(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov, _near, _oglNdc); + } + + inline void mtxProjInf(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); + } + + inline void mtxProjInf(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); + } + + inline void mtxProjInfLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); + } + + inline void mtxProjInfLh(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov, _near, _oglNdc); + } + + inline void mtxProjInfLh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); + } + + inline void mtxProjInfRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); + } + + inline void mtxProjInfRh(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov, _near, _oglNdc); + } + + inline void mtxProjInfRh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); + } + + inline void mtxProjRevInfLh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); + } + + inline void mtxProjRevInfLh(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov, _near, _oglNdc); + } + + inline void mtxProjRevInfLh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); + } + + inline void mtxProjRevInfRh(float* _result, float _ut, float _dt, float _lt, float _rt, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _ut, _dt, _lt, _rt, _near, _oglNdc); + } + + inline void mtxProjRevInfRh(float* _result, const float _fov[4], float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fov, _near, _oglNdc); + } + + inline void mtxProjRevInfRh(float* _result, float _fovy, float _aspect, float _near, bool _oglNdc) + { + mtxProjInf_impl(_result, _fovy, _aspect, _near, _oglNdc); + } + + template + inline void mtxOrtho_impl(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) + { + const float aa = 2.0f/(_right - _left); + const float bb = 2.0f/(_top - _bottom); + const float cc = (_oglNdc ? 2.0f : 1.0f) / (_far - _near); + const float dd = (_left + _right)/(_left - _right); + const float ee = (_top + _bottom)/(_bottom - _top); + const float ff = _oglNdc ? (_near + _far)/(_near - _far) : _near/(_near - _far); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = aa; + _result[ 5] = bb; + _result[10] = (Handness::Right == HandnessT) ? -cc : cc; + _result[12] = dd + _offset; + _result[13] = ee; + _result[14] = ff; + _result[15] = 1.0f; + } + + inline void mtxOrtho(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) + { + mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); + } + + inline void mtxOrthoLh(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) + { + mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); + } + + inline void mtxOrthoRh(float* _result, float _left, float _right, float _bottom, float _top, float _near, float _far, float _offset, bool _oglNdc) + { + mtxOrtho_impl(_result, _left, _right, _bottom, _top, _near, _far, _offset, _oglNdc); + } + + inline void mtxRotateX(float* _result, float _ax) + { + const float sx = fsin(_ax); + const float cx = fcos(_ax); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = 1.0f; + _result[ 5] = cx; + _result[ 6] = -sx; + _result[ 9] = sx; + _result[10] = cx; + _result[15] = 1.0f; + } + + inline void mtxRotateY(float* _result, float _ay) + { + const float sy = fsin(_ay); + const float cy = fcos(_ay); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = sy; + _result[ 5] = 1.0f; + _result[ 8] = -sy; + _result[10] = cy; + _result[15] = 1.0f; + } + + inline void mtxRotateZ(float* _result, float _az) + { + const float sz = fsin(_az); + const float cz = fcos(_az); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = cz; + _result[ 1] = -sz; + _result[ 4] = sz; + _result[ 5] = cz; + _result[10] = 1.0f; + _result[15] = 1.0f; + } + + inline void mtxRotateXY(float* _result, float _ax, float _ay) + { + const float sx = fsin(_ax); + const float cx = fcos(_ax); + const float sy = fsin(_ay); + const float cy = fcos(_ay); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = cy; + _result[ 2] = sy; + _result[ 4] = sx*sy; + _result[ 5] = cx; + _result[ 6] = -sx*cy; + _result[ 8] = -cx*sy; + _result[ 9] = sx; + _result[10] = cx*cy; + _result[15] = 1.0f; + } + + inline void mtxRotateXYZ(float* _result, float _ax, float _ay, float _az) + { + const float sx = fsin(_ax); + const float cx = fcos(_ax); + const float sy = fsin(_ay); + const float cy = fcos(_ay); + const float sz = fsin(_az); + const float cz = fcos(_az); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = -cy*sz; + _result[ 2] = sy; + _result[ 4] = cz*sx*sy + cx*sz; + _result[ 5] = cx*cz - sx*sy*sz; + _result[ 6] = -cy*sx; + _result[ 8] = -cx*cz*sy + sx*sz; + _result[ 9] = cz*sx + cx*sy*sz; + _result[10] = cx*cy; + _result[15] = 1.0f; + } + + inline void mtxRotateZYX(float* _result, float _ax, float _ay, float _az) + { + const float sx = fsin(_ax); + const float cx = fcos(_ax); + const float sy = fsin(_ay); + const float cy = fcos(_ay); + const float sz = fsin(_az); + const float cz = fcos(_az); + + memSet(_result, 0, sizeof(float)*16); + _result[ 0] = cy*cz; + _result[ 1] = cz*sx*sy-cx*sz; + _result[ 2] = cx*cz*sy+sx*sz; + _result[ 4] = cy*sz; + _result[ 5] = cx*cz + sx*sy*sz; + _result[ 6] = -cz*sx + cx*sy*sz; + _result[ 8] = -sy; + _result[ 9] = cy*sx; + _result[10] = cx*cy; + _result[15] = 1.0f; + }; + + inline void mtxSRT(float* _result, float _sx, float _sy, float _sz, float _ax, float _ay, float _az, float _tx, float _ty, float _tz) + { + const float sx = fsin(_ax); + const float cx = fcos(_ax); + const float sy = fsin(_ay); + const float cy = fcos(_ay); + const float sz = fsin(_az); + const float cz = fcos(_az); + + const float sxsz = sx*sz; + const float cycz = cy*cz; + + _result[ 0] = _sx * (cycz - sxsz*sy); + _result[ 1] = _sx * -cx*sz; + _result[ 2] = _sx * (cz*sy + cy*sxsz); + _result[ 3] = 0.0f; + + _result[ 4] = _sy * (cz*sx*sy + cy*sz); + _result[ 5] = _sy * cx*cz; + _result[ 6] = _sy * (sy*sz -cycz*sx); + _result[ 7] = 0.0f; + + _result[ 8] = _sz * -cx*sy; + _result[ 9] = _sz * sx; + _result[10] = _sz * cx*cy; + _result[11] = 0.0f; + + _result[12] = _tx; + _result[13] = _ty; + _result[14] = _tz; + _result[15] = 1.0f; + } + + inline void vec3MulMtx(float* _result, const float* _vec, const float* _mat) + { + _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; + _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; + _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; + } + + inline void vec3MulMtxH(float* _result, const float* _vec, const float* _mat) + { + float xx = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _mat[12]; + float yy = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _mat[13]; + float zz = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _mat[14]; + float ww = _vec[0] * _mat[ 3] + _vec[1] * _mat[7] + _vec[2] * _mat[11] + _mat[15]; + float invW = fsign(ww)/ww; + _result[0] = xx*invW; + _result[1] = yy*invW; + _result[2] = zz*invW; + } + + inline void vec4MulMtx(float* _result, const float* _vec, const float* _mat) + { + _result[0] = _vec[0] * _mat[ 0] + _vec[1] * _mat[4] + _vec[2] * _mat[ 8] + _vec[3] * _mat[12]; + _result[1] = _vec[0] * _mat[ 1] + _vec[1] * _mat[5] + _vec[2] * _mat[ 9] + _vec[3] * _mat[13]; + _result[2] = _vec[0] * _mat[ 2] + _vec[1] * _mat[6] + _vec[2] * _mat[10] + _vec[3] * _mat[14]; + _result[3] = _vec[0] * _mat[ 3] + _vec[1] * _mat[7] + _vec[2] * _mat[11] + _vec[3] * _mat[15]; + } + + inline void mtxMul(float* _result, const float* _a, const float* _b) + { + vec4MulMtx(&_result[ 0], &_a[ 0], _b); + vec4MulMtx(&_result[ 4], &_a[ 4], _b); + vec4MulMtx(&_result[ 8], &_a[ 8], _b); + vec4MulMtx(&_result[12], &_a[12], _b); + } + + inline void mtxTranspose(float* _result, const float* _a) + { + _result[ 0] = _a[ 0]; + _result[ 4] = _a[ 1]; + _result[ 8] = _a[ 2]; + _result[12] = _a[ 3]; + _result[ 1] = _a[ 4]; + _result[ 5] = _a[ 5]; + _result[ 9] = _a[ 6]; + _result[13] = _a[ 7]; + _result[ 2] = _a[ 8]; + _result[ 6] = _a[ 9]; + _result[10] = _a[10]; + _result[14] = _a[11]; + _result[ 3] = _a[12]; + _result[ 7] = _a[13]; + _result[11] = _a[14]; + _result[15] = _a[15]; + } + + /// Convert LH to RH projection matrix and vice versa. + inline void mtxProjFlipHandedness(float* _dst, const float* _src) + { + _dst[ 0] = -_src[ 0]; + _dst[ 1] = -_src[ 1]; + _dst[ 2] = -_src[ 2]; + _dst[ 3] = -_src[ 3]; + _dst[ 4] = _src[ 4]; + _dst[ 5] = _src[ 5]; + _dst[ 6] = _src[ 6]; + _dst[ 7] = _src[ 7]; + _dst[ 8] = -_src[ 8]; + _dst[ 9] = -_src[ 9]; + _dst[10] = -_src[10]; + _dst[11] = -_src[11]; + _dst[12] = _src[12]; + _dst[13] = _src[13]; + _dst[14] = _src[14]; + _dst[15] = _src[15]; + } + + /// Convert LH to RH view matrix and vice versa. + inline void mtxViewFlipHandedness(float* _dst, const float* _src) + { + _dst[ 0] = -_src[ 0]; + _dst[ 1] = _src[ 1]; + _dst[ 2] = -_src[ 2]; + _dst[ 3] = _src[ 3]; + _dst[ 4] = -_src[ 4]; + _dst[ 5] = _src[ 5]; + _dst[ 6] = -_src[ 6]; + _dst[ 7] = _src[ 7]; + _dst[ 8] = -_src[ 8]; + _dst[ 9] = _src[ 9]; + _dst[10] = -_src[10]; + _dst[11] = _src[11]; + _dst[12] = -_src[12]; + _dst[13] = _src[13]; + _dst[14] = -_src[14]; + _dst[15] = _src[15]; + } + + inline void calcNormal(float _result[3], float _va[3], float _vb[3], float _vc[3]) + { + float ba[3]; + vec3Sub(ba, _vb, _va); + + float ca[3]; + vec3Sub(ca, _vc, _va); + + float baxca[3]; + vec3Cross(baxca, ba, ca); + + vec3Norm(_result, baxca); + } + + inline void calcPlane(float _result[4], float _va[3], float _vb[3], float _vc[3]) + { + float normal[3]; + calcNormal(normal, _va, _vb, _vc); + + _result[0] = normal[0]; + _result[1] = normal[1]; + _result[2] = normal[2]; + _result[3] = -vec3Dot(normal, _va); + } + + inline void calcLinearFit2D(float _result[2], const void* _points, uint32_t _stride, uint32_t _numPoints) + { + float sumX = 0.0f; + float sumY = 0.0f; + float sumXX = 0.0f; + float sumXY = 0.0f; + + const uint8_t* ptr = (const uint8_t*)_points; + for (uint32_t ii = 0; ii < _numPoints; ++ii, ptr += _stride) + { + const float* point = (const float*)ptr; + float xx = point[0]; + float yy = point[1]; + sumX += xx; + sumY += yy; + sumXX += xx*xx; + sumXY += xx*yy; + } + + // [ sum(x^2) sum(x) ] [ A ] = [ sum(x*y) ] + // [ sum(x) numPoints ] [ B ] [ sum(y) ] + + float det = (sumXX*_numPoints - sumX*sumX); + float invDet = 1.0f/det; + + _result[0] = (-sumX * sumY + _numPoints * sumXY) * invDet; + _result[1] = (sumXX * sumY - sumX * sumXY) * invDet; + } + + inline void calcLinearFit3D(float _result[3], const void* _points, uint32_t _stride, uint32_t _numPoints) + { + float sumX = 0.0f; + float sumY = 0.0f; + float sumZ = 0.0f; + float sumXX = 0.0f; + float sumXY = 0.0f; + float sumXZ = 0.0f; + float sumYY = 0.0f; + float sumYZ = 0.0f; + + const uint8_t* ptr = (const uint8_t*)_points; + for (uint32_t ii = 0; ii < _numPoints; ++ii, ptr += _stride) + { + const float* point = (const float*)ptr; + float xx = point[0]; + float yy = point[1]; + float zz = point[2]; + + sumX += xx; + sumY += yy; + sumZ += zz; + sumXX += xx*xx; + sumXY += xx*yy; + sumXZ += xx*zz; + sumYY += yy*yy; + sumYZ += yy*zz; + } + + // [ sum(x^2) sum(x*y) sum(x) ] [ A ] [ sum(x*z) ] + // [ sum(x*y) sum(y^2) sum(y) ] [ B ] = [ sum(y*z) ] + // [ sum(x) sum(y) numPoints ] [ C ] [ sum(z) ] + + float mtx[9] = + { + sumXX, sumXY, sumX, + sumXY, sumYY, sumY, + sumX, sumY, float(_numPoints), + }; + float invMtx[9]; + mtx3Inverse(invMtx, mtx); + + _result[0] = invMtx[0]*sumXZ + invMtx[1]*sumYZ + invMtx[2]*sumZ; + _result[1] = invMtx[3]*sumXZ + invMtx[4]*sumYZ + invMtx[5]*sumZ; + _result[2] = invMtx[6]*sumXZ + invMtx[7]*sumYZ + invMtx[8]*sumZ; + } + + inline void rgbToHsv(float _hsv[3], const float _rgb[3]) + { + const float rr = _rgb[0]; + const float gg = _rgb[1]; + const float bb = _rgb[2]; + + const float s0 = fstep(bb, gg); + + const float px = flerp(bb, gg, s0); + const float py = flerp(gg, bb, s0); + const float pz = flerp(-1.0f, 0.0f, s0); + const float pw = flerp(2.0f/3.0f, -1.0f/3.0f, s0); + + const float s1 = fstep(px, rr); + + const float qx = flerp(px, rr, s1); + const float qy = py; + const float qz = flerp(pw, pz, s1); + const float qw = flerp(rr, px, s1); + + const float dd = qx - fmin(qw, qy); + const float ee = 1.0e-10f; + + _hsv[0] = fabsolute(qz + (qw - qy) / (6.0f * dd + ee) ); + _hsv[1] = dd / (qx + ee); + _hsv[2] = qx; + } + + inline void hsvToRgb(float _rgb[3], const float _hsv[3]) + { + const float hh = _hsv[0]; + const float ss = _hsv[1]; + const float vv = _hsv[2]; + + const float px = fabsolute(ffract(hh + 1.0f ) * 6.0f - 3.0f); + const float py = fabsolute(ffract(hh + 2.0f/3.0f) * 6.0f - 3.0f); + const float pz = fabsolute(ffract(hh + 1.0f/3.0f) * 6.0f - 3.0f); + + _rgb[0] = vv * flerp(1.0f, fsaturate(px - 1.0f), ss); + _rgb[1] = vv * flerp(1.0f, fsaturate(py - 1.0f), ss); + _rgb[2] = vv * flerp(1.0f, fsaturate(pz - 1.0f), ss); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/handlealloc.inl b/3rdparty/bx/include/bx/inline/handlealloc.inl new file mode 100644 index 00000000000..8738c3d7038 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/handlealloc.inl @@ -0,0 +1,708 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_HANDLE_ALLOC_H_HEADER_GUARD +# error "Must be included from bx/handlealloc.h!" +#endif // BX_HANDLE_ALLOC_H_HEADER_GUARD + +namespace bx +{ + inline HandleAlloc::HandleAlloc(uint16_t _maxHandles) + : m_numHandles(0) + , m_maxHandles(_maxHandles) + { + reset(); + } + + inline HandleAlloc::~HandleAlloc() + { + } + + inline const uint16_t* HandleAlloc::getHandles() const + { + return getDensePtr(); + } + + inline uint16_t HandleAlloc::getHandleAt(uint16_t _at) const + { + return getDensePtr()[_at]; + } + + inline uint16_t HandleAlloc::getNumHandles() const + { + return m_numHandles; + } + + inline uint16_t HandleAlloc::getMaxHandles() const + { + return m_maxHandles; + } + + inline uint16_t HandleAlloc::alloc() + { + if (m_numHandles < m_maxHandles) + { + uint16_t index = m_numHandles; + ++m_numHandles; + + uint16_t* dense = getDensePtr(); + uint16_t handle = dense[index]; + uint16_t* sparse = getSparsePtr(); + sparse[handle] = index; + return handle; + } + + return invalid; + } + + inline bool HandleAlloc::isValid(uint16_t _handle) const + { + uint16_t* dense = getDensePtr(); + uint16_t* sparse = getSparsePtr(); + uint16_t index = sparse[_handle]; + + return index < m_numHandles + && dense[index] == _handle + ; + } + + inline void HandleAlloc::free(uint16_t _handle) + { + uint16_t* dense = getDensePtr(); + uint16_t* sparse = getSparsePtr(); + uint16_t index = sparse[_handle]; + --m_numHandles; + uint16_t temp = dense[m_numHandles]; + dense[m_numHandles] = _handle; + sparse[temp] = index; + dense[index] = temp; + } + + inline void HandleAlloc::reset() + { + m_numHandles = 0; + uint16_t* dense = getDensePtr(); + for (uint16_t ii = 0, num = m_maxHandles; ii < num; ++ii) + { + dense[ii] = ii; + } + } + + inline uint16_t* HandleAlloc::getDensePtr() const + { + uint8_t* ptr = (uint8_t*)reinterpret_cast(this); + return (uint16_t*)&ptr[sizeof(HandleAlloc)]; + } + + inline uint16_t* HandleAlloc::getSparsePtr() const + { + return &getDensePtr()[m_maxHandles]; + } + + inline HandleAlloc* createHandleAlloc(AllocatorI* _allocator, uint16_t _maxHandles) + { + uint8_t* ptr = (uint8_t*)BX_ALLOC(_allocator, sizeof(HandleAlloc) + 2*_maxHandles*sizeof(uint16_t) ); + return ::new (ptr) HandleAlloc(_maxHandles); + } + + inline void destroyHandleAlloc(AllocatorI* _allocator, HandleAlloc* _handleAlloc) + { + _handleAlloc->~HandleAlloc(); + BX_FREE(_allocator, _handleAlloc); + } + + template + inline HandleAllocT::HandleAllocT() + : HandleAlloc(MaxHandlesT) + { + } + + template + inline HandleAllocT::~HandleAllocT() + { + } + + template + inline HandleListT::HandleListT() + { + reset(); + } + + template + inline void HandleListT::pushBack(uint16_t _handle) + { + insertAfter(m_back, _handle); + } + + template + inline uint16_t HandleListT::popBack() + { + uint16_t last = invalid != m_back + ? m_back + : m_front + ; + + if (invalid != last) + { + remove(last); + } + + return last; + } + + template + inline void HandleListT::pushFront(uint16_t _handle) + { + insertBefore(m_front, _handle); + } + + template + inline uint16_t HandleListT::popFront() + { + uint16_t front = m_front; + + if (invalid != front) + { + remove(front); + } + + return front; + } + + template + inline uint16_t HandleListT::getFront() const + { + return m_front; + } + + template + inline uint16_t HandleListT::getBack() const + { + return m_back; + } + + template + inline uint16_t HandleListT::getNext(uint16_t _handle) const + { + BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); + const Link& curr = m_links[_handle]; + return curr.m_next; + } + + template + inline uint16_t HandleListT::getPrev(uint16_t _handle) const + { + BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); + const Link& curr = m_links[_handle]; + return curr.m_prev; + } + + template + inline void HandleListT::remove(uint16_t _handle) + { + BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); + Link& curr = m_links[_handle]; + + if (invalid != curr.m_prev) + { + Link& prev = m_links[curr.m_prev]; + prev.m_next = curr.m_next; + } + else + { + m_front = curr.m_next; + } + + if (invalid != curr.m_next) + { + Link& next = m_links[curr.m_next]; + next.m_prev = curr.m_prev; + } + else + { + m_back = curr.m_prev; + } + + curr.m_prev = invalid; + curr.m_next = invalid; + } + + template + inline void HandleListT::reset() + { + memSet(m_links, 0xff, sizeof(m_links) ); + m_front = invalid; + m_back = invalid; + } + + template + inline void HandleListT::insertBefore(uint16_t _before, uint16_t _handle) + { + Link& curr = m_links[_handle]; + curr.m_next = _before; + + if (invalid != _before) + { + Link& link = m_links[_before]; + if (invalid != link.m_prev) + { + Link& prev = m_links[link.m_prev]; + prev.m_next = _handle; + } + + curr.m_prev = link.m_prev; + link.m_prev = _handle; + } + + updateFrontBack(_handle); + } + + template + inline void HandleListT::insertAfter(uint16_t _after, uint16_t _handle) + { + Link& curr = m_links[_handle]; + curr.m_prev = _after; + + if (invalid != _after) + { + Link& link = m_links[_after]; + if (invalid != link.m_next) + { + Link& next = m_links[link.m_next]; + next.m_prev = _handle; + } + + curr.m_next = link.m_next; + link.m_next = _handle; + } + + updateFrontBack(_handle); + } + + template + inline bool HandleListT::isValid(uint16_t _handle) const + { + return _handle < MaxHandlesT; + } + + template + inline void HandleListT::updateFrontBack(uint16_t _handle) + { + Link& curr = m_links[_handle]; + + if (invalid == curr.m_prev) + { + m_front = _handle; + } + + if (invalid == curr.m_next) + { + m_back = _handle; + } + } + + template + inline HandleAllocLruT::HandleAllocLruT() + { + reset(); + } + + template + inline HandleAllocLruT::~HandleAllocLruT() + { + } + + template + inline const uint16_t* HandleAllocLruT::getHandles() const + { + return m_alloc.getHandles(); + } + + template + inline uint16_t HandleAllocLruT::getHandleAt(uint16_t _at) const + { + return m_alloc.getHandleAt(_at); + } + + template + inline uint16_t HandleAllocLruT::getNumHandles() const + { + return m_alloc.getNumHandles(); + } + + template + inline uint16_t HandleAllocLruT::getMaxHandles() const + { + return m_alloc.getMaxHandles(); + } + + template + inline uint16_t HandleAllocLruT::alloc() + { + uint16_t handle = m_alloc.alloc(); + if (invalid != handle) + { + m_list.pushFront(handle); + } + return handle; + } + + template + inline bool HandleAllocLruT::isValid(uint16_t _handle) const + { + return m_alloc.isValid(_handle); + } + + template + inline void HandleAllocLruT::free(uint16_t _handle) + { + BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); + m_list.remove(_handle); + m_alloc.free(_handle); + } + + template + inline void HandleAllocLruT::touch(uint16_t _handle) + { + BX_CHECK(isValid(_handle), "Invalid handle %d!", _handle); + m_list.remove(_handle); + m_list.pushFront(_handle); + } + + template + inline uint16_t HandleAllocLruT::getFront() const + { + return m_list.getFront(); + } + + template + inline uint16_t HandleAllocLruT::getBack() const + { + return m_list.getBack(); + } + + template + inline uint16_t HandleAllocLruT::getNext(uint16_t _handle) const + { + return m_list.getNext(_handle); + } + + template + inline uint16_t HandleAllocLruT::getPrev(uint16_t _handle) const + { + return m_list.getPrev(_handle); + } + + template + inline void HandleAllocLruT::reset() + { + m_list.reset(); + m_alloc.reset(); + } + + template + inline HandleHashMapT::HandleHashMapT() + : m_maxCapacity(MaxCapacityT) + { + reset(); + } + + template + inline HandleHashMapT::~HandleHashMapT() + { + } + + template + inline bool HandleHashMapT::insert(KeyT _key, uint16_t _handle) + { + if (invalid == _handle) + { + return false; + } + + const KeyT hash = mix(_key); + const uint32_t firstIdx = hash % MaxCapacityT; + uint32_t idx = firstIdx; + do + { + if (m_handle[idx] == invalid) + { + m_key[idx] = _key; + m_handle[idx] = _handle; + ++m_numElements; + return true; + } + + if (m_key[idx] == _key) + { + return false; + } + + idx = (idx + 1) % MaxCapacityT; + + } while (idx != firstIdx); + + return false; + } + + template + inline bool HandleHashMapT::removeByKey(KeyT _key) + { + uint32_t idx = findIndex(_key); + if (UINT32_MAX != idx) + { + removeIndex(idx); + return true; + } + + return false; + } + + template + inline bool HandleHashMapT::removeByHandle(uint16_t _handle) + { + if (invalid != _handle) + { + for (uint32_t idx = 0; idx < MaxCapacityT; ++idx) + { + if (m_handle[idx] == _handle) + { + removeIndex(idx); + } + } + } + + return false; + } + + template + inline uint16_t HandleHashMapT::find(KeyT _key) const + { + uint32_t idx = findIndex(_key); + if (UINT32_MAX != idx) + { + return m_handle[idx]; + } + + return invalid; + } + + template + inline void HandleHashMapT::reset() + { + memSet(m_handle, 0xff, sizeof(m_handle) ); + m_numElements = 0; + } + + template + inline uint32_t HandleHashMapT::getNumElements() const + { + return m_numElements; + } + + template + inline uint32_t HandleHashMapT::getMaxCapacity() const + { + return m_maxCapacity; + } + + template + inline typename HandleHashMapT::Iterator HandleHashMapT::first() const + { + Iterator it; + it.handle = invalid; + it.pos = 0; + it.num = m_numElements; + + if (0 == it.num) + { + return it; + } + + ++it.num; + next(it); + return it; + } + + template + inline bool HandleHashMapT::next(Iterator& _it) const + { + if (0 == _it.num) + { + return false; + } + + for ( + ;_it.pos < MaxCapacityT && invalid == m_handle[_it.pos] + ; ++_it.pos + ); + _it.handle = m_handle[_it.pos]; + ++_it.pos; + --_it.num; + return true; + } + + template + inline uint32_t HandleHashMapT::findIndex(KeyT _key) const + { + const KeyT hash = mix(_key); + + const uint32_t firstIdx = hash % MaxCapacityT; + uint32_t idx = firstIdx; + do + { + if (m_handle[idx] == invalid) + { + return UINT32_MAX; + } + + if (m_key[idx] == _key) + { + return idx; + } + + idx = (idx + 1) % MaxCapacityT; + + } while (idx != firstIdx); + + return UINT32_MAX; + } + + template + inline void HandleHashMapT::removeIndex(uint32_t _idx) + { + m_handle[_idx] = invalid; + --m_numElements; + + for (uint32_t idx = (_idx + 1) % MaxCapacityT + ; m_handle[idx] != invalid + ; idx = (idx + 1) % MaxCapacityT) + { + if (m_handle[idx] != invalid) + { + const KeyT key = m_key[idx]; + if (idx != findIndex(key) ) + { + const uint16_t handle = m_handle[idx]; + m_handle[idx] = invalid; + --m_numElements; + insert(key, handle); + } + } + } + } + + template + inline uint32_t HandleHashMapT::mix(uint32_t _x) const + { + const uint32_t tmp0 = uint32_mul(_x, UINT32_C(2246822519) ); + const uint32_t tmp1 = uint32_rol(tmp0, 13); + const uint32_t result = uint32_mul(tmp1, UINT32_C(2654435761) ); + return result; + } + + template + inline uint64_t HandleHashMapT::mix(uint64_t _x) const + { + const uint64_t tmp0 = uint64_mul(_x, UINT64_C(14029467366897019727) ); + const uint64_t tmp1 = uint64_rol(tmp0, 31); + const uint64_t result = uint64_mul(tmp1, UINT64_C(11400714785074694791) ); + return result; + } + + template + inline HandleHashMapAllocT::HandleHashMapAllocT() + { + reset(); + } + + template + inline HandleHashMapAllocT::~HandleHashMapAllocT() + { + } + + template + inline uint16_t HandleHashMapAllocT::alloc(KeyT _key) + { + uint16_t handle = m_alloc.alloc(); + if (invalid == handle) + { + return invalid; + } + + bool ok = m_table.insert(_key, handle); + if (!ok) + { + m_alloc.free(handle); + return invalid; + } + + return handle; + } + + template + inline void HandleHashMapAllocT::free(KeyT _key) + { + uint16_t handle = m_table.find(_key); + if (invalid == handle) + { + return; + } + + m_table.removeByKey(_key); + m_alloc.free(handle); + } + + template + inline void HandleHashMapAllocT::free(uint16_t _handle) + { + m_table.removeByHandle(_handle); + m_alloc.free(_handle); + } + + template + inline uint16_t HandleHashMapAllocT::find(KeyT _key) const + { + return m_table.find(_key); + } + + template + inline const uint16_t* HandleHashMapAllocT::getHandles() const + { + return m_alloc.getHandles(); + } + + template + inline uint16_t HandleHashMapAllocT::getHandleAt(uint16_t _at) const + { + return m_alloc.getHandleAt(_at); + } + + template + inline uint16_t HandleHashMapAllocT::getNumHandles() const + { + return m_alloc.getNumHandles(); + } + + template + inline uint16_t HandleHashMapAllocT::getMaxHandles() const + { + return m_alloc.getMaxHandles(); + } + + template + inline bool HandleHashMapAllocT::isValid(uint16_t _handle) const + { + return m_alloc.isValid(_handle); + } + + template + inline void HandleHashMapAllocT::reset() + { + m_table.reset(); + m_alloc.reset(); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/hash.inl b/3rdparty/bx/include/bx/inline/hash.inl new file mode 100644 index 00000000000..50da33f0528 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/hash.inl @@ -0,0 +1,164 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_HASH_H_HEADER_GUARD +# error "Must be included from bx/hash.h!" +#endif // BX_HASH_H_HEADER_GUARD + +namespace bx +{ +#define MURMUR_M 0x5bd1e995 +#define MURMUR_R 24 +#define mmix(_h, _k) { _k *= MURMUR_M; _k ^= _k >> MURMUR_R; _k *= MURMUR_M; _h *= MURMUR_M; _h ^= _k; } + + inline void HashMurmur2A::begin(uint32_t _seed) + { + m_hash = _seed; + m_tail = 0; + m_count = 0; + m_size = 0; + } + + inline void HashMurmur2A::add(const void* _data, int _len) + { + if (BX_UNLIKELY(!isAligned(_data, 4) ) ) + { + addUnaligned(_data, _len); + return; + } + + addAligned(_data, _len); + } + + inline void HashMurmur2A::addAligned(const void* _data, int _len) + { + const uint8_t* data = (const uint8_t*)_data; + m_size += _len; + + mixTail(data, _len); + + while(_len >= 4) + { + uint32_t kk = *(uint32_t*)data; + + mmix(m_hash, kk); + + data += 4; + _len -= 4; + } + + mixTail(data, _len); + } + + inline void HashMurmur2A::addUnaligned(const void* _data, int _len) + { + const uint8_t* data = (const uint8_t*)_data; + m_size += _len; + + mixTail(data, _len); + + while(_len >= 4) + { + uint32_t kk; + readUnaligned(data, kk); + + mmix(m_hash, kk); + + data += 4; + _len -= 4; + } + + mixTail(data, _len); + } + + template + inline void HashMurmur2A::add(Ty _value) + { + add(&_value, sizeof(Ty) ); + } + + inline uint32_t HashMurmur2A::end() + { + mmix(m_hash, m_tail); + mmix(m_hash, m_size); + + m_hash ^= m_hash >> 13; + m_hash *= MURMUR_M; + m_hash ^= m_hash >> 15; + + return m_hash; + } + + inline void HashMurmur2A::readUnaligned(const void* _data, uint32_t& _out) + { + const uint8_t* data = (const uint8_t*)_data; + if (BX_ENABLED(BX_CPU_ENDIAN_BIG) ) + { + _out = 0 + | data[0]<<24 + | data[1]<<16 + | data[2]<<8 + | data[3] + ; + } + else + { + _out = 0 + | data[0] + | data[1]<<8 + | data[2]<<16 + | data[3]<<24 + ; + } + } + + inline void HashMurmur2A::mixTail(const uint8_t*& _data, int& _len) + { + while( _len && ((_len<4) || m_count) ) + { + m_tail |= (*_data++) << (m_count * 8); + + m_count++; + _len--; + + if(m_count == 4) + { + mmix(m_hash, m_tail); + m_tail = 0; + m_count = 0; + } + } + } + +#undef MURMUR_M +#undef MURMUR_R +#undef mmix + + inline uint32_t hashMurmur2A(const void* _data, uint32_t _size) + { + HashMurmur2A murmur; + murmur.begin(); + murmur.add(_data, (int)_size); + return murmur.end(); + } + + template + inline uint32_t hashMurmur2A(const Ty& _data) + { + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + return hashMurmur2A(&_data, sizeof(Ty) ); + } + + inline uint32_t hashMurmur2A(const StringView& _data) + { + return hashMurmur2A(_data.getPtr(), _data.getLength() ); + } + + inline uint32_t hashMurmur2A(const char* _data) + { + return hashMurmur2A(StringView(_data) ); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/mpscqueue.inl b/3rdparty/bx/include/bx/inline/mpscqueue.inl new file mode 100644 index 00000000000..0216b509788 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/mpscqueue.inl @@ -0,0 +1,65 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_MPSCQUEUE_H_HEADER_GUARD +# error "Must be included from bx/mpscqueue.h!" +#endif // BX_MPSCQUEUE_H_HEADER_GUARD + +namespace bx +{ + template + inline MpScUnboundedQueueT::MpScUnboundedQueueT() + { + } + + template + inline MpScUnboundedQueueT::~MpScUnboundedQueueT() + { + } + + template + inline void MpScUnboundedQueueT::push(Ty* _ptr) + { + MutexScope lock(m_write); + m_queue.push(_ptr); + } + + template + inline Ty* MpScUnboundedQueueT::peek() + { + return m_queue.peek(); + } + + template + inline Ty* MpScUnboundedQueueT::pop() + { + return m_queue.pop(); + } + + template + inline MpScUnboundedBlockingQueue::MpScUnboundedBlockingQueue() + { + } + + template + inline MpScUnboundedBlockingQueue::~MpScUnboundedBlockingQueue() + { + } + + template + inline void MpScUnboundedBlockingQueue::push(Ty* _ptr) + { + m_queue.push(_ptr); + m_sem.post(); + } + + template + inline Ty* MpScUnboundedBlockingQueue::pop() + { + m_sem.wait(); + return m_queue.pop(); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/mutex.inl b/3rdparty/bx/include/bx/inline/mutex.inl new file mode 100644 index 00000000000..0d086bdc94c --- /dev/null +++ b/3rdparty/bx/include/bx/inline/mutex.inl @@ -0,0 +1,23 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_MUTEX_H_HEADER_GUARD +# error "Must be included from bx/mutex.h!" +#endif // BX_MUTEX_H_HEADER_GUARD + +namespace bx +{ + inline MutexScope::MutexScope(Mutex& _mutex) + : m_mutex(_mutex) + { + m_mutex.lock(); + } + + inline MutexScope::~MutexScope() + { + m_mutex.unlock(); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/pixelformat.inl b/3rdparty/bx/include/bx/inline/pixelformat.inl new file mode 100644 index 00000000000..cd4689224be --- /dev/null +++ b/3rdparty/bx/include/bx/inline/pixelformat.inl @@ -0,0 +1,945 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_PIXEL_FORMAT_H_HEADER_GUARD +# error "Must be included from bx/pixelformat.h" +#endif // BX_PIXEL_FORMAT_H_HEADER_GUARD + +namespace bx +{ + inline uint32_t toUnorm(float _value, float _scale) + { + return uint32_t(fround(fsaturate(_value) * _scale) ); + } + + inline float fromUnorm(uint32_t _value, float _scale) + { + return float(_value) / _scale; + } + + inline int32_t toSnorm(float _value, float _scale) + { + return int32_t(fround( + fclamp(_value, -1.0f, 1.0f) * _scale) + ); + } + + inline float fromSnorm(int32_t _value, float _scale) + { + return fmax(-1.0f, float(_value) / _scale); + } + + // R8 + inline void packR8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); + } + + inline void unpackR8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = fromUnorm(src[0], 255.0f); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R8S + inline void packR8S(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); + } + + inline void unpackR8S(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = fromSnorm(src[0], 127.0f); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R8I + inline void packR8I(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(_src[0]); + } + + inline void unpackR8I(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R8U + inline void packR8U(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(_src[0]); + } + + inline void unpackR8U(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG8 + inline void packRg8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); + dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); + } + + inline void unpackRg8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = fromUnorm(src[0], 255.0f); + _dst[1] = fromUnorm(src[1], 255.0f); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG8S + inline void packRg8S(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); + dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); + } + + inline void unpackRg8S(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = fromSnorm(src[0], 127.0f); + _dst[1] = fromSnorm(src[1], 127.0f); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG8I + inline void packRg8I(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(_src[0]); + dst[1] = int8_t(_src[1]); + } + + inline void unpackRg8I(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG8U + inline void packRg8U(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(_src[0]); + dst[1] = uint8_t(_src[1]); + } + + inline void unpackRg8U(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RGB8 + inline void packRgb8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); + dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); + dst[2] = uint8_t(toUnorm(_src[2], 255.0f) ); + } + + inline void unpackRgb8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = fromUnorm(src[0], 255.0f); + _dst[1] = fromUnorm(src[1], 255.0f); + _dst[2] = fromUnorm(src[2], 255.0f); + _dst[3] = 1.0f; + } + + // RGB8S + inline void packRgb8S(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); + dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); + dst[2] = int8_t(toSnorm(_src[2], 127.0f) ); + } + + inline void unpackRgb8S(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = fromSnorm(src[0], 127.0f); + _dst[1] = fromSnorm(src[1], 127.0f); + _dst[2] = fromSnorm(src[2], 127.0f); + _dst[3] = 1.0f; + } + + // RGB8I + inline void packRgb8I(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(_src[0]); + dst[1] = int8_t(_src[1]); + dst[2] = int8_t(_src[2]); + } + + inline void unpackRgb8I(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = 1.0f; + } + + // RGB8U + inline void packRgb8U(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(_src[0]); + dst[1] = uint8_t(_src[1]); + dst[2] = uint8_t(_src[2]); + } + + inline void unpackRgb8U(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = 1.0f; + } + + // BGRA8 + inline void packBgra8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[2] = uint8_t(toUnorm(_src[0], 255.0f) ); + dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); + dst[0] = uint8_t(toUnorm(_src[2], 255.0f) ); + dst[3] = uint8_t(toUnorm(_src[3], 255.0f) ); + } + + inline void unpackBgra8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = fromUnorm(src[2], 255.0f); + _dst[1] = fromUnorm(src[1], 255.0f); + _dst[2] = fromUnorm(src[0], 255.0f); + _dst[3] = fromUnorm(src[3], 255.0f); + } + + // RGBA8 + inline void packRgba8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); + dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); + dst[2] = uint8_t(toUnorm(_src[2], 255.0f) ); + dst[3] = uint8_t(toUnorm(_src[3], 255.0f) ); + } + + inline void unpackRgba8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = fromUnorm(src[0], 255.0f); + _dst[1] = fromUnorm(src[1], 255.0f); + _dst[2] = fromUnorm(src[2], 255.0f); + _dst[3] = fromUnorm(src[3], 255.0f); + } + + // RGBA8S + inline void packRgba8S(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); + dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); + dst[2] = int8_t(toSnorm(_src[2], 127.0f) ); + dst[3] = int8_t(toSnorm(_src[3], 127.0f) ); + } + + inline void unpackRgba8S(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = fromSnorm(src[0], 127.0f); + _dst[1] = fromSnorm(src[1], 127.0f); + _dst[2] = fromSnorm(src[2], 127.0f); + _dst[3] = fromSnorm(src[3], 127.0f); + } + + // RGBA8I + inline void packRgba8I(void* _dst, const float* _src) + { + int8_t* dst = (int8_t*)_dst; + dst[0] = int8_t(_src[0]); + dst[1] = int8_t(_src[1]); + dst[2] = int8_t(_src[2]); + dst[3] = int8_t(_src[3]); + } + + inline void unpackRgba8I(float* _dst, const void* _src) + { + const int8_t* src = (const int8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = float(src[3]); + } + + // RGBA8U + inline void packRgba8U(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + dst[0] = uint8_t(_src[0]); + dst[1] = uint8_t(_src[1]); + dst[2] = uint8_t(_src[2]); + dst[3] = uint8_t(_src[3]); + } + + inline void unpackRgba8U(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = float(src[3]); + } + + // R16 + inline void packR16(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); + } + + inline void unpackR16(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = fromUnorm(src[0], 65535.0f); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R16S + inline void packR16S(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); + } + + inline void unpackR16S(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = fromSnorm(src[0], 32767.0f); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R16I + inline void packR16I(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(_src[0]); + } + + inline void unpackR16I(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R16U + inline void packR16U(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(_src[0]); + } + + inline void unpackR16U(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = float(src[0]); + } + + // R16F + inline void packR16F(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = halfFromFloat(_src[0]); + } + + inline void unpackR16F(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = halfToFloat(src[0]); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG16 + inline void packRg16(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); + dst[1] = uint16_t(toUnorm(_src[1], 65535.0f) ); + } + + inline void unpackRg16(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = fromUnorm(src[0], 65535.0f); + _dst[1] = fromUnorm(src[1], 65535.0f); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG16S + inline void packRg16S(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); + dst[1] = int16_t(toSnorm(_src[1], 32767.0f) ); + } + + inline void unpackRg16S(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = fromSnorm(src[0], 32767.0f); + _dst[1] = fromSnorm(src[1], 32767.0f); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG16I + inline void packRg16I(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(_src[0]); + dst[1] = int16_t(_src[1]); + } + + inline void unpackRg16I(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG16U + inline void packRg16U(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(_src[0]); + dst[1] = uint16_t(_src[1]); + } + + inline void unpackRg16U(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RG16F + inline void packRg16F(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = halfFromFloat(_src[0]); + dst[1] = halfFromFloat(_src[1]); + } + + inline void unpackRg16F(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = halfToFloat(src[0]); + _dst[1] = halfToFloat(src[1]); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // RGBA16 + inline void packRgba16(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); + dst[1] = uint16_t(toUnorm(_src[1], 65535.0f) ); + dst[2] = uint16_t(toUnorm(_src[2], 65535.0f) ); + dst[3] = uint16_t(toUnorm(_src[3], 65535.0f) ); + } + + inline void unpackRgba16(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = fromUnorm(src[0], 65535.0f); + _dst[1] = fromUnorm(src[1], 65535.0f); + _dst[2] = fromUnorm(src[2], 65535.0f); + _dst[3] = fromUnorm(src[3], 65535.0f); + } + + // RGBA16S + inline void packRgba16S(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); + dst[1] = int16_t(toSnorm(_src[1], 32767.0f) ); + dst[2] = int16_t(toSnorm(_src[2], 32767.0f) ); + dst[3] = int16_t(toSnorm(_src[3], 32767.0f) ); + } + + inline void unpackRgba16S(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = fromSnorm(src[0], 32767.0f); + _dst[1] = fromSnorm(src[1], 32767.0f); + _dst[2] = fromSnorm(src[2], 32767.0f); + _dst[3] = fromSnorm(src[3], 32767.0f); + } + + // RGBA16I + inline void packRgba16I(void* _dst, const float* _src) + { + int16_t* dst = (int16_t*)_dst; + dst[0] = int16_t(_src[0]); + dst[1] = int16_t(_src[1]); + dst[2] = int16_t(_src[2]); + dst[3] = int16_t(_src[3]); + } + + inline void unpackRgba16I(float* _dst, const void* _src) + { + const int16_t* src = (const int16_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = float(src[3]); + } + + // RGBA16U + inline void packRgba16U(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = uint16_t(_src[0]); + dst[1] = uint16_t(_src[1]); + dst[2] = uint16_t(_src[2]); + dst[3] = uint16_t(_src[3]); + } + + inline void unpackRgba16U(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = float(src[0]); + _dst[1] = float(src[1]); + _dst[2] = float(src[2]); + _dst[3] = float(src[3]); + } + + // RGBA16F + inline void packRgba16F(void* _dst, const float* _src) + { + uint16_t* dst = (uint16_t*)_dst; + dst[0] = halfFromFloat(_src[0]); + dst[1] = halfFromFloat(_src[1]); + dst[2] = halfFromFloat(_src[2]); + dst[3] = halfFromFloat(_src[3]); + } + + inline void unpackRgba16F(float* _dst, const void* _src) + { + const uint16_t* src = (const uint16_t*)_src; + _dst[0] = halfToFloat(src[0]); + _dst[1] = halfToFloat(src[1]); + _dst[2] = halfToFloat(src[2]); + _dst[3] = halfToFloat(src[3]); + } + + // R24 + inline void packR24(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + const uint32_t rr = uint32_t(toUnorm(_src[0], 16777216.0f) ); + dst[0] = uint8_t(rr ); + dst[1] = uint8_t(rr>> 8); + dst[2] = uint8_t(rr>>16); + } + + inline void unpackR24(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + const uint32_t rr = 0 + | (src[0] ) + | (src[1]<< 8) + | (src[2]<<16) + ; + + _dst[0] = fromUnorm(rr, 16777216.0f); + _dst[1] = 0.0f; + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R24G8 + inline void packR24G8(void* _dst, const float* _src) + { + uint8_t* dst = (uint8_t*)_dst; + const uint32_t rr = uint32_t(toUnorm(_src[0], 16777216.0f) ); + dst[0] = uint8_t(rr ); + dst[1] = uint8_t(rr>> 8); + dst[2] = uint8_t(rr>>16); + dst[3] = uint8_t(toUnorm(_src[1], 255.0f) ); + } + + inline void unpackR24G8(float* _dst, const void* _src) + { + const uint8_t* src = (const uint8_t*)_src; + const uint32_t rr = 0 + | (src[0] ) + | (src[1]<< 8) + | (src[2]<<16) + ; + + _dst[0] = fromUnorm(rr, 16777216.0f); + _dst[1] = fromUnorm(src[3], 255.0f); + _dst[2] = 0.0f; + _dst[3] = 1.0f; + } + + // R32I + inline void packR32I(void* _dst, const float* _src) + { + memCopy(_dst, _src, 4); + } + + inline void unpackR32I(float* _dst, const void* _src) + { + memCopy(_dst, _src, 4); + } + + // R32U + inline void packR32U(void* _dst, const float* _src) + { + memCopy(_dst, _src, 4); + } + + inline void unpackR32U(float* _dst, const void* _src) + { + memCopy(_dst, _src, 4); + } + + // R32F + inline void packR32F(void* _dst, const float* _src) + { + memCopy(_dst, _src, 4); + } + + inline void unpackR32F(float* _dst, const void* _src) + { + memCopy(_dst, _src, 4); + } + + // RG32I + inline void packRg32I(void* _dst, const float* _src) + { + memCopy(_dst, _src, 8); + } + + inline void unpackRg32I(float* _dst, const void* _src) + { + memCopy(_dst, _src, 8); + } + + // RG32U + inline void packRg32U(void* _dst, const float* _src) + { + memCopy(_dst, _src, 8); + } + + inline void unpackRg32U(float* _dst, const void* _src) + { + memCopy(_dst, _src, 8); + } + + // RG32F + inline void packRg32F(void* _dst, const float* _src) + { + memCopy(_dst, _src, 8); + } + + inline void unpackRg32F(float* _dst, const void* _src) + { + memCopy(_dst, _src, 8); + } + + template + inline void encodeRgbE(float* _dst, const float* _src) + { + // Reference: + // https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt + const int32_t expMax = (1<>23) & 0xff) - 127) ) ) + 1 + expBias; + float denom = fpow(2.0f, float(expShared - expBias - MantissaBits) ); + + if ( (1< + inline void decodeRgbE(float* _dst, const float* _src) + { + const int32_t expBias = (1<<(ExpBits - 1) ) - 1; + const float exponent = _src[3]-float(expBias-MantissaBits); + const float scale = fpow(2.0f, exponent); + _dst[0] = _src[0] * scale; + _dst[1] = _src[1] * scale; + _dst[2] = _src[2] * scale; + } + + // RGB9E5F + inline void packRgb9E5F(void* _dst, const float* _src) + { + float tmp[4]; + encodeRgbE<9, 5>(tmp, _src); + + *( (uint32_t*)_dst) = 0 + | (uint32_t(tmp[0]) ) + | (uint32_t(tmp[1]) << 9) + | (uint32_t(tmp[2]) <<18) + | (uint32_t(tmp[3]) <<27) + ; + } + + inline void unpackRgb9E5F(float* _dst, const void* _src) + { + uint32_t packed = *( (const uint32_t*)_src); + + float tmp[4]; + tmp[0] = float( ( (packed ) & 0x1ff) ) / 511.0f; + tmp[1] = float( ( (packed>> 9) & 0x1ff) ) / 511.0f; + tmp[2] = float( ( (packed>>18) & 0x1ff) ) / 511.0f; + tmp[3] = float( ( (packed>>27) & 0x1f) ); + + decodeRgbE<9, 5>(_dst, tmp); + } + + // RGBA32I + inline void packRgba32I(void* _dst, const float* _src) + { + memCopy(_dst, _src, 16); + } + + inline void unpackRgba32I(float* _dst, const void* _src) + { + memCopy(_dst, _src, 16); + } + + // RGBA32U + inline void packRgba32U(void* _dst, const float* _src) + { + memCopy(_dst, _src, 16); + } + + inline void unpackRgba32U(float* _dst, const void* _src) + { + memCopy(_dst, _src, 16); + } + + // RGBA32F + inline void packRgba32F(void* _dst, const float* _src) + { + memCopy(_dst, _src, 16); + } + + inline void unpackRgba32F(float* _dst, const void* _src) + { + memCopy(_dst, _src, 16); + } + + // R5G6B5 + inline void packR5G6B5(void* _dst, const float* _src) + { + *( (uint16_t*)_dst) = 0 + | uint16_t(toUnorm(_src[0], 31.0f)<<11) + | uint16_t(toUnorm(_src[1], 63.0f)<< 5) + | uint16_t(toUnorm(_src[2], 31.0f) ) + ; + } + + inline void unpackR5G6B5(float* _dst, const void* _src) + { + uint16_t packed = *( (const uint16_t*)_src); + _dst[0] = float( ( (packed>>11) & 0x1f) ) / 31.0f; + _dst[1] = float( ( (packed>> 5) & 0x3f) ) / 63.0f; + _dst[2] = float( ( (packed ) & 0x1f) ) / 31.0f; + _dst[3] = 1.0f; + } + + // RGBA4 + inline void packRgba4(void* _dst, const float* _src) + { + *( (uint16_t*)_dst) = 0 + | uint16_t(toUnorm(_src[0], 15.0f) ) + | uint16_t(toUnorm(_src[1], 15.0f)<< 4) + | uint16_t(toUnorm(_src[2], 15.0f)<< 8) + | uint16_t(toUnorm(_src[3], 15.0f)<<12) + ; + } + + inline void unpackRgba4(float* _dst, const void* _src) + { + uint16_t packed = *( (const uint16_t*)_src); + _dst[0] = float( ( (packed ) & 0xf) ) / 15.0f; + _dst[1] = float( ( (packed>> 4) & 0xf) ) / 15.0f; + _dst[2] = float( ( (packed>> 8) & 0xf) ) / 15.0f; + _dst[3] = float( ( (packed>>12) & 0xf) ) / 15.0f; + } + + // RGBA4 + inline void packBgra4(void* _dst, const float* _src) + { + *( (uint16_t*)_dst) = 0 + | uint16_t(toUnorm(_src[0], 15.0f)<< 8) + | uint16_t(toUnorm(_src[1], 15.0f)<< 4) + | uint16_t(toUnorm(_src[2], 15.0f) ) + | uint16_t(toUnorm(_src[3], 15.0f)<<12) + ; + } + + inline void unpackBgra4(float* _dst, const void* _src) + { + uint16_t packed = *( (const uint16_t*)_src); + _dst[0] = float( ( (packed>> 8) & 0xf) ) / 15.0f; + _dst[1] = float( ( (packed>> 4) & 0xf) ) / 15.0f; + _dst[2] = float( ( (packed ) & 0xf) ) / 15.0f; + _dst[3] = float( ( (packed>>12) & 0xf) ) / 15.0f; + } + + // RGB5A1 + inline void packRgb5a1(void* _dst, const float* _src) + { + *( (uint16_t*)_dst) = 0 + | uint16_t(toUnorm(_src[0], 31.0f) ) + | uint16_t(toUnorm(_src[1], 31.0f)<< 5) + | uint16_t(toUnorm(_src[2], 31.0f)<<10) + | uint16_t(toUnorm(_src[3], 1.0f)<<15) + ; + } + + inline void unpackRgb5a1(float* _dst, const void* _src) + { + uint16_t packed = *( (const uint16_t*)_src); + _dst[0] = float( ( (packed ) & 0x1f) ) / 31.0f; + _dst[1] = float( ( (packed>> 5) & 0x1f) ) / 31.0f; + _dst[2] = float( ( (packed>>10) & 0x1f) ) / 31.0f; + _dst[3] = float( ( (packed>>14) & 0x1) ); + } + + // BGR5A1 + inline void packBgr5a1(void* _dst, const float* _src) + { + *( (uint16_t*)_dst) = 0 + | uint16_t(toUnorm(_src[0], 31.0f)<<10) + | uint16_t(toUnorm(_src[1], 31.0f)<< 5) + | uint16_t(toUnorm(_src[2], 31.0f) ) + | uint16_t(toUnorm(_src[3], 1.0f)<<15) + ; + } + + inline void unpackBgr5a1(float* _dst, const void* _src) + { + uint16_t packed = *( (const uint16_t*)_src); + _dst[0] = float( ( (packed>>10) & 0x1f) ) / 31.0f; + _dst[1] = float( ( (packed>> 5) & 0x1f) ) / 31.0f; + _dst[2] = float( ( (packed ) & 0x1f) ) / 31.0f; + _dst[3] = float( ( (packed>>14) & 0x1) ); + } + + // RGB10A2 + inline void packRgb10A2(void* _dst, const float* _src) + { + *( (uint32_t*)_dst) = 0 + | (toUnorm(_src[0], 1023.0f) ) + | (toUnorm(_src[1], 1023.0f)<<10) + | (toUnorm(_src[2], 1023.0f)<<20) + | (toUnorm(_src[3], 3.0f)<<30) + ; + } + + inline void unpackRgb10A2(float* _dst, const void* _src) + { + uint32_t packed = *( (const uint32_t*)_src); + _dst[0] = float( ( (packed ) & 0x3ff) ) / 1023.0f; + _dst[1] = float( ( (packed>>10) & 0x3ff) ) / 1023.0f; + _dst[2] = float( ( (packed>>20) & 0x3ff) ) / 1023.0f; + _dst[3] = float( ( (packed>>30) & 0x3) ) / 3.0f; + } + + // R11G11B10F + inline void packR11G11B10F(void* _dst, const float* _src) + { + *( (uint32_t*)_dst) = 0 + | ( (halfFromFloat(_src[0])>> 4) & 0x7ff) + | ( (halfFromFloat(_src[0])<< 7) & 0x3ff800) + | ( (halfFromFloat(_src[0])<<17) & 0xffc00000) + ; + } + + inline void unpackR11G11B10F(float* _dst, const void* _src) + { + uint32_t packed = *( (const uint32_t*)_src); + _dst[0] = halfToFloat( (packed<< 4) & 0x7ff0); + _dst[1] = halfToFloat( (packed>> 7) & 0x7ff0); + _dst[2] = halfToFloat( (packed>>17) & 0x7fe0); + _dst[3] = 1.0f; + } +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/readerwriter.inl b/3rdparty/bx/include/bx/inline/readerwriter.inl new file mode 100644 index 00000000000..c2eb72a9ed5 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/readerwriter.inl @@ -0,0 +1,452 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_READERWRITER_H_HEADER_GUARD +# error "Must be included from bx/readerwriter!" +#endif // BX_READERWRITER_H_HEADER_GUARD + +namespace bx +{ + inline ReaderI::~ReaderI() + { + } + + inline WriterI::~WriterI() + { + } + + inline SeekerI::~SeekerI() + { + } + + inline ReaderOpenI::~ReaderOpenI() + { + } + + inline WriterOpenI::~WriterOpenI() + { + } + + inline CloserI::~CloserI() + { + } + + inline StaticMemoryBlock::StaticMemoryBlock(void* _data, uint32_t _size) + : m_data(_data) + , m_size(_size) + { + } + + inline StaticMemoryBlock::~StaticMemoryBlock() + { + } + + inline void* StaticMemoryBlock::more(uint32_t _size) + { + BX_UNUSED(_size); + return m_data; + } + + inline uint32_t StaticMemoryBlock::getSize() + { + return m_size; + } + + inline MemoryBlock::MemoryBlock(AllocatorI* _allocator) + : m_allocator(_allocator) + , m_data(NULL) + , m_size(0) + { + } + + inline MemoryBlock::~MemoryBlock() + { + BX_FREE(m_allocator, m_data); + } + + inline void* MemoryBlock::more(uint32_t _size) + { + if (0 < _size) + { + m_size += _size; + m_data = BX_REALLOC(m_allocator, m_data, m_size); + } + + return m_data; + } + + inline uint32_t MemoryBlock::getSize() + { + return m_size; + } + + inline SizerWriter::SizerWriter() + : m_pos(0) + , m_top(0) + { + } + + inline SizerWriter::~SizerWriter() + { + } + + inline int64_t SizerWriter::seek(int64_t _offset, Whence::Enum _whence) + { + switch (_whence) + { + case Whence::Begin: + m_pos = int64_clamp(_offset, 0, m_top); + break; + + case Whence::Current: + m_pos = int64_clamp(m_pos + _offset, 0, m_top); + break; + + case Whence::End: + m_pos = int64_clamp(m_top - _offset, 0, m_top); + break; + } + + return m_pos; + } + + inline int32_t SizerWriter::write(const void* /*_data*/, int32_t _size, Error* _err) + { + BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); + + int32_t morecore = int32_t(m_pos - m_top) + _size; + + if (0 < morecore) + { + m_top += morecore; + } + + int64_t remainder = m_top-m_pos; + int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); + m_pos += size; + if (size != _size) + { + BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "SizerWriter: write truncated."); + } + return size; + } + + inline MemoryReader::MemoryReader(const void* _data, uint32_t _size) + : m_data( (const uint8_t*)_data) + , m_pos(0) + , m_top(_size) + { + } + + inline MemoryReader::~MemoryReader() + { + } + + inline int64_t MemoryReader::seek(int64_t _offset, Whence::Enum _whence) + { + switch (_whence) + { + case Whence::Begin: + m_pos = int64_clamp(_offset, 0, m_top); + break; + + case Whence::Current: + m_pos = int64_clamp(m_pos + _offset, 0, m_top); + break; + + case Whence::End: + m_pos = int64_clamp(m_top - _offset, 0, m_top); + break; + } + + return m_pos; + } + + inline int32_t MemoryReader::read(void* _data, int32_t _size, Error* _err) + { + BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); + + int64_t remainder = m_top-m_pos; + int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); + memCopy(_data, &m_data[m_pos], size); + m_pos += size; + if (size != _size) + { + BX_ERROR_SET(_err, BX_ERROR_READERWRITER_READ, "MemoryReader: read truncated."); + } + return size; + } + + inline const uint8_t* MemoryReader::getDataPtr() const + { + return &m_data[m_pos]; + } + + inline int64_t MemoryReader::getPos() const + { + return m_pos; + } + + inline int64_t MemoryReader::remaining() const + { + return m_top-m_pos; + } + + inline MemoryWriter::MemoryWriter(MemoryBlockI* _memBlock) + : m_memBlock(_memBlock) + , m_data(NULL) + , m_pos(0) + , m_top(0) + , m_size(0) + { + } + + inline MemoryWriter::~MemoryWriter() + { + } + + inline int64_t MemoryWriter::seek(int64_t _offset, Whence::Enum _whence) + { + switch (_whence) + { + case Whence::Begin: + m_pos = int64_clamp(_offset, 0, m_top); + break; + + case Whence::Current: + m_pos = int64_clamp(m_pos + _offset, 0, m_top); + break; + + case Whence::End: + m_pos = int64_clamp(m_top - _offset, 0, m_top); + break; + } + + return m_pos; + } + + inline int32_t MemoryWriter::write(const void* _data, int32_t _size, Error* _err) + { + BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); + + int32_t morecore = int32_t(m_pos - m_size) + _size; + + if (0 < morecore) + { + morecore = BX_ALIGN_MASK(morecore, 0xfff); + m_data = (uint8_t*)m_memBlock->more(morecore); + m_size = m_memBlock->getSize(); + } + + int64_t remainder = m_size-m_pos; + int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); + memCopy(&m_data[m_pos], _data, size); + m_pos += size; + m_top = int64_max(m_top, m_pos); + if (size != _size) + { + BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "MemoryWriter: write truncated."); + } + return size; + } + + inline StaticMemoryBlockWriter::StaticMemoryBlockWriter(void* _data, uint32_t _size) + : MemoryWriter(&m_smb) + , m_smb(_data, _size) + { + } + + inline StaticMemoryBlockWriter::~StaticMemoryBlockWriter() + { + } + + inline int32_t read(ReaderI* _reader, void* _data, int32_t _size, Error* _err) + { + BX_ERROR_SCOPE(_err); + return _reader->read(_data, _size, _err); + } + + template + int32_t read(ReaderI* _reader, Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + return _reader->read(&_value, sizeof(Ty), _err); + } + + template + int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + Ty value; + int32_t result = _reader->read(&value, sizeof(Ty), _err); + _value = toHostEndian(value, _fromLittleEndian); + return result; + } + + inline int32_t write(WriterI* _writer, const void* _data, int32_t _size, Error* _err) + { + BX_ERROR_SCOPE(_err); + return _writer->write(_data, _size, _err); + } + + inline int32_t writeRep(WriterI* _writer, uint8_t _byte, int32_t _size, Error* _err) + { + BX_ERROR_SCOPE(_err); + + const uint32_t tmp0 = uint32_sels(64 - _size, 64, _size); + const uint32_t tmp1 = uint32_sels(256 - _size, 256, tmp0); + const uint32_t blockSize = uint32_sels(1024 - _size, 1024, tmp1); + uint8_t* temp = (uint8_t*)alloca(blockSize); + memSet(temp, _byte, blockSize); + + int32_t size = 0; + while (0 < _size) + { + int32_t bytes = write(_writer, temp, uint32_min(blockSize, _size), _err); + size += bytes; + _size -= bytes; + } + + return size; + } + + template + int32_t write(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + return _writer->write(&_value, sizeof(Ty), _err); + } + + template + int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + Ty value = toLittleEndian(_value); + int32_t result = _writer->write(&value, sizeof(Ty), _err); + return result; + } + + template + int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + Ty value = toBigEndian(_value); + int32_t result = _writer->write(&value, sizeof(Ty), _err); + return result; + } + + inline int32_t writePrintf(WriterI* _writer, const char* _format, ...) + { + va_list argList; + va_start(argList, _format); + + char temp[2048]; + char* out = temp; + int32_t max = sizeof(temp); + int32_t len = vsnprintf(out, max, _format, argList); + if (len > max) + { + out = (char*)alloca(len); + len = vsnprintf(out, len, _format, argList); + } + + int32_t size = write(_writer, out, len); + + va_end(argList); + + return size; + } + + inline int64_t skip(SeekerI* _seeker, int64_t _offset) + { + return _seeker->seek(_offset, Whence::Current); + } + + inline int64_t seek(SeekerI* _seeker, int64_t _offset, Whence::Enum _whence) + { + return _seeker->seek(_offset, _whence); + } + + inline int64_t getSize(SeekerI* _seeker) + { + int64_t offset = _seeker->seek(); + int64_t size = _seeker->seek(0, Whence::End); + _seeker->seek(offset, Whence::Begin); + return size; + } + + inline int32_t peek(ReaderSeekerI* _reader, void* _data, int32_t _size, Error* _err) + { + BX_ERROR_SCOPE(_err); + int64_t offset = bx::seek(_reader); + int32_t size = _reader->read(_data, _size, _err); + bx::seek(_reader, offset, bx::Whence::Begin); + return size; + } + + template + int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) + { + BX_ERROR_SCOPE(_err); + BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); + return peek(_reader, &_value, sizeof(Ty), _err); + } + + inline int32_t align(ReaderSeekerI* _reader, uint32_t _alignment, Error* _err) + { + BX_ERROR_SCOPE(_err); + const int64_t current = bx::seek(_reader); + const int64_t aligned = ( (current + _alignment-1)/_alignment) * _alignment; + const int32_t size = int32_t(aligned - current); + if (0 != size) + { + const int64_t offset = bx::seek(_reader, size); + if (offset != aligned) + { + BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "Align: read truncated."); + } + return int32_t(offset - current); + } + + return 0; + } + + inline int32_t align(WriterSeekerI* _writer, uint32_t _alignment, Error* _err) + { + BX_ERROR_SCOPE(_err); + const int64_t current = bx::seek(_writer); + const int64_t aligned = ( (current + _alignment-1)/_alignment) * _alignment; + const int32_t size = int32_t(aligned - current); + if (0 != size) + { + return writeRep(_writer, 0, size, _err); + } + + return 0; + } + + inline bool open(ReaderOpenI* _reader, const char* _filePath, Error* _err) + { + BX_ERROR_USE_TEMP_WHEN_NULL(_err); + return _reader->open(_filePath, _err); + } + + inline bool open(WriterOpenI* _writer, const char* _filePath, bool _append, Error* _err) + { + BX_ERROR_USE_TEMP_WHEN_NULL(_err); + return _writer->open(_filePath, _append, _err); + } + + inline void close(CloserI* _reader) + { + _reader->close(); + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/ringbuffer.inl b/3rdparty/bx/include/bx/inline/ringbuffer.inl new file mode 100644 index 00000000000..9d8ab942edb --- /dev/null +++ b/3rdparty/bx/include/bx/inline/ringbuffer.inl @@ -0,0 +1,275 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_RINGBUFFER_H_HEADER_GUARD +# error "Must be included from bx/ringbuffer.h!" +#endif // BX_RINGBUFFER_H_HEADER_GUARD + +namespace bx +{ + inline RingBufferControl::RingBufferControl(uint32_t _size) + : m_size(_size) + , m_current(0) + , m_write(0) + , m_read(0) + { + } + + inline RingBufferControl::~RingBufferControl() + { + } + + inline uint32_t RingBufferControl::available() const + { + return distance(m_read, m_current); + } + + inline uint32_t RingBufferControl::consume(uint32_t _size) + { + const uint32_t maxSize = distance(m_read, m_current); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, maxSize); + const uint32_t advance = uint32_add(m_read, size); + const uint32_t read = uint32_mod(advance, m_size); + m_read = read; + return size; + } + + inline uint32_t RingBufferControl::reserve(uint32_t _size, bool _mustSucceed) + { + const uint32_t dist = distance(m_write, m_read)-1; + const uint32_t maxSize = uint32_sels(dist, m_size-1, dist); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, _mustSucceed ? 0 : maxSize); + const uint32_t advance = uint32_add(m_write, size); + const uint32_t write = uint32_mod(advance, m_size); + m_write = write; + return size; + } + + inline uint32_t RingBufferControl::commit(uint32_t _size) + { + const uint32_t maxSize = distance(m_current, m_write); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, maxSize); + const uint32_t advance = uint32_add(m_current, size); + const uint32_t current = uint32_mod(advance, m_size); + m_current = current; + return size; + } + + inline uint32_t RingBufferControl::distance(uint32_t _from, uint32_t _to) const + { + const uint32_t diff = uint32_sub(_to, _from); + const uint32_t le = uint32_add(m_size, diff); + const uint32_t result = uint32_sels(diff, le, diff); + + return result; + } + + inline void RingBufferControl::reset() + { + m_current = 0; + m_write = 0; + m_read = 0; + } + + inline SpScRingBufferControl::SpScRingBufferControl(uint32_t _size) + : m_size(_size) + , m_current(0) + , m_write(0) + , m_read(0) + { + } + + inline SpScRingBufferControl::~SpScRingBufferControl() + { + } + + inline uint32_t SpScRingBufferControl::available() const + { + return distance(m_read, m_current); + } + + inline uint32_t SpScRingBufferControl::consume(uint32_t _size) + { + const uint32_t maxSize = distance(m_read, m_current); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, maxSize); + const uint32_t advance = uint32_add(m_read, size); + const uint32_t read = uint32_mod(advance, m_size); + m_read = read; + return size; + } + + inline uint32_t SpScRingBufferControl::reserve(uint32_t _size) + { + const uint32_t dist = distance(m_write, m_read)-1; + const uint32_t maxSize = uint32_sels(dist, m_size-1, dist); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, maxSize); + const uint32_t advance = uint32_add(m_write, size); + const uint32_t write = uint32_mod(advance, m_size); + m_write = write; + return size; + } + + inline uint32_t SpScRingBufferControl::commit(uint32_t _size) + { + const uint32_t maxSize = distance(m_current, m_write); + const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); + const uint32_t test = uint32_sub(sizeNoSign, maxSize); + const uint32_t size = uint32_sels(test, _size, maxSize); + const uint32_t advance = uint32_add(m_current, size); + const uint32_t current = uint32_mod(advance, m_size); + + // must commit all memory writes before moving m_current pointer + // once m_current pointer moves data is used by consumer thread + memoryBarrier(); + m_current = current; + return size; + } + + inline uint32_t SpScRingBufferControl::distance(uint32_t _from, uint32_t _to) const + { + const uint32_t diff = uint32_sub(_to, _from); + const uint32_t le = uint32_add(m_size, diff); + const uint32_t result = uint32_sels(diff, le, diff); + + return result; + } + + inline void SpScRingBufferControl::reset() + { + m_current = 0; + m_write = 0; + m_read = 0; + } + + template + inline ReadRingBufferT::ReadRingBufferT(ControlT& _control, const char* _buffer, uint32_t _size) + : m_control(_control) + , m_read(_control.m_read) + , m_end(m_read+_size) + , m_size(_size) + , m_buffer(_buffer) + { + BX_CHECK(_control.available() >= _size, "%d >= %d", _control.available(), _size); + } + + template + inline ReadRingBufferT::~ReadRingBufferT() + { + } + + template + inline void ReadRingBufferT::end() + { + m_control.consume(m_size); + } + + template + inline void ReadRingBufferT::read(char* _data, uint32_t _len) + { + const uint32_t eof = (m_read + _len) % m_control.m_size; + uint32_t wrap = 0; + const char* from = &m_buffer[m_read]; + + if (eof < m_read) + { + wrap = m_control.m_size - m_read; + memCopy(_data, from, wrap); + _data += wrap; + from = (const char*)&m_buffer[0]; + } + + memCopy(_data, from, _len-wrap); + + m_read = eof; + } + + template + inline void ReadRingBufferT::skip(uint32_t _len) + { + m_read += _len; + m_read %= m_control.m_size; + } + + template + inline WriteRingBufferT::WriteRingBufferT(ControlT& _control, char* _buffer, uint32_t _size) + : m_control(_control) + , m_size(_size) + , m_buffer(_buffer) + { + uint32_t size = m_control.reserve(_size); + BX_UNUSED(size); + BX_CHECK(size == _size, "%d == %d", size, _size); + m_write = m_control.m_current; + m_end = m_write+_size; + } + + template + inline WriteRingBufferT::~WriteRingBufferT() + { + } + + template + inline void WriteRingBufferT::end() + { + m_control.commit(m_size); + } + + template + inline void WriteRingBufferT::write(const char* _data, uint32_t _len) + { + const uint32_t eof = (m_write + _len) % m_control.m_size; + uint32_t wrap = 0; + char* to = &m_buffer[m_write]; + + if (eof < m_write) + { + wrap = m_control.m_size - m_write; + memCopy(to, _data, wrap); + _data += wrap; + to = (char*)&m_buffer[0]; + } + + memCopy(to, _data, _len-wrap); + + m_write = eof; + } + + template + inline void WriteRingBufferT::write(ReadRingBufferT& _read, uint32_t _len) + { + const uint32_t eof = (_read.m_read + _len) % _read.m_control.m_size; + uint32_t wrap = 0; + const char* from = &_read.m_buffer[_read.m_read]; + + if (eof < _read.m_read) + { + wrap = _read.m_control.m_size - _read.m_read; + write(from, wrap); + from = (const char*)&_read.m_buffer[0]; + } + + write(from, _len-wrap); + + _read.m_read = eof; + } + + template + inline void WriteRingBufferT::skip(uint32_t _len) + { + m_write += _len; + m_write %= m_control.m_size; + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/rng.inl b/3rdparty/bx/include/bx/inline/rng.inl new file mode 100644 index 00000000000..11b466dadb3 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/rng.inl @@ -0,0 +1,167 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_RNG_H_HEADER_GUARD +# error "Must be included from bx/rng.h!" +#endif // BX_RNG_H_HEADER_GUARD + +namespace bx +{ + inline RngMwc::RngMwc(uint32_t _z, uint32_t _w) + : m_z(_z) + , m_w(_w) + { + } + + inline void RngMwc::reset(uint32_t _z, uint32_t _w) + { + m_z = _z; + m_w = _w; + } + + inline uint32_t RngMwc::gen() + { + m_z = 36969*(m_z&65535)+(m_z>>16); + m_w = 18000*(m_w&65535)+(m_w>>16); + return (m_z<<16)+m_w; + } + + inline RngFib::RngFib(uint32_t _a, uint32_t _b) + : m_a(_a) + , m_b(_b) + { + } + + inline void RngFib::reset(uint32_t _a, uint32_t _b) + { + m_a = _a; + m_b = _b; + } + + inline uint32_t RngFib::gen() + { + m_b = m_a+m_b; + m_a = m_b-m_a; + return m_a; + } + + inline RngShr3::RngShr3(uint32_t _jsr) + : m_jsr(_jsr) + { + } + + inline void RngShr3::reset(uint32_t _jsr) + { + m_jsr = _jsr; + } + + inline uint32_t RngShr3::gen() + { + m_jsr ^= m_jsr<<17; + m_jsr ^= m_jsr>>13; + m_jsr ^= m_jsr<<5; + return m_jsr; + } + + template + inline float frnd(Rng* _rng) + { + uint32_t rnd = _rng->gen() & UINT16_MAX; + return float(rnd) * 1.0f/float(UINT16_MAX); + } + + template + inline float frndh(Rng* _rng) + { + return 2.0f * bx::frnd(_rng) - 1.0f; + } + + template + inline void randUnitCircle(float _result[3], Rng* _rng) + { + const float angle = frnd(_rng) * pi * 2.0f; + + _result[0] = fcos(angle); + _result[1] = 0.0f; + _result[2] = fsin(angle); + } + + template + inline void randUnitSphere(float _result[3], Rng* _rng) + { + const float rand0 = frnd(_rng) * 2.0f - 1.0f; + const float rand1 = frnd(_rng) * pi * 2.0f; + const float sqrtf1 = fsqrt(1.0f - rand0*rand0); + + _result[0] = sqrtf1 * fcos(rand1); + _result[1] = sqrtf1 * fsin(rand1); + _result[2] = rand0; + } + + template + inline void randUnitHemisphere(float _result[3], Ty* _rng, const float _normal[3]) + { + float dir[3]; + randUnitSphere(dir, _rng); + + float DdotN = dir[0]*_normal[0] + + dir[1]*_normal[1] + + dir[2]*_normal[2] + ; + + if (0.0f > DdotN) + { + dir[0] = -dir[0]; + dir[1] = -dir[1]; + dir[2] = -dir[2]; + } + + _result[0] = dir[0]; + _result[1] = dir[1]; + _result[2] = dir[2]; + } + + inline void generateSphereHammersley(void* _data, uint32_t _stride, uint32_t _num, float _scale) + { + uint8_t* data = (uint8_t*)_data; + + for (uint32_t ii = 0; ii < _num; ii++) + { + float tt = 0.0f; + float pp = 0.5; + for (uint32_t jj = ii; jj; jj >>= 1) + { + tt += (jj & 1) ? pp : 0.0f; + pp *= 0.5f; + } + + tt = 2.0f * tt - 1.0f; + + const float phi = (ii + 0.5f) / _num; + const float phirad = phi * 2.0f * pi; + const float st = fsqrt(1.0f-tt*tt) * _scale; + + float* xyz = (float*)data; + data += _stride; + + xyz[0] = st * fcos(phirad); + xyz[1] = st * fsin(phirad); + xyz[2] = tt * _scale; + } + } + + template + inline void shuffle(Rng* _rng, Ty* _array, uint32_t _num) + { + BX_CHECK(_num != 0, "Number of elements can't be 0!"); + + for (uint32_t ii = 0, num = _num-1; ii < num; ++ii) + { + uint32_t jj = ii + 1 + _rng->gen() % (num - ii); + bx::xchg(_array[ii], _array[jj]); + } + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/simd128_langext.inl b/3rdparty/bx/include/bx/inline/simd128_langext.inl new file mode 100644 index 00000000000..c89e6123349 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd128_langext.inl @@ -0,0 +1,515 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD128_LANGEXT_H_HEADER_GUARD +#define BX_SIMD128_LANGEXT_H_HEADER_GUARD + +#define simd_rcp simd_rcp_ni +#define simd_orx simd_orx_ni +#define simd_orc simd_orc_ni +#define simd_neg simd_neg_ni +#define simd_madd simd_madd_ni +#define simd_nmsub simd_nmsub_ni +#define simd_div_nr simd_div_nr_ni +#define simd_selb simd_selb_ni +#define simd_sels simd_sels_ni +#define simd_not simd_not_ni +#define simd_abs simd_abs_ni +#define simd_clamp simd_clamp_ni +#define simd_lerp simd_lerp_ni +#define simd_rcp_est simd_rcp_ni +#define simd_rsqrt simd_rsqrt_ni +#define simd_rsqrt_nr simd_rsqrt_nr_ni +#define simd_rsqrt_carmack simd_rsqrt_carmack_ni +#define simd_sqrt_nr simd_sqrt_nr_ni +#define simd_log2 simd_log2_ni +#define simd_exp2 simd_exp2_ni +#define simd_pow simd_pow_ni +#define simd_cross3 simd_cross3_ni +#define simd_normalize3 simd_normalize3_ni +#define simd_dot3 simd_dot3_ni +#define simd_dot simd_dot_ni +#define simd_ceil simd_ceil_ni +#define simd_floor simd_floor_ni +#define simd_min simd_min_ni +#define simd_max simd_max_ni +#define simd_imin simd_imin_ni +#define simd_imax simd_imax_ni + +#include "simd_ni.inl" + +namespace bx +{ +#define ELEMx 0 +#define ELEMy 1 +#define ELEMz 2 +#define ELEMw 3 +#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ + template<> \ + BX_SIMD_FORCE_INLINE simd128_langext_t simd_swiz_##_x##_y##_z##_w(simd128_langext_t _a) \ + { \ + simd128_langext_t result; \ + result.vf = __builtin_shufflevector(_a.vf, _a.vf, ELEM##_x, ELEM##_y, ELEM##_z, ELEM##_w); \ + return result; \ + } + +#include "simd128_swizzle.inl" + +#undef BX_SIMD128_IMPLEMENT_SWIZZLE +#undef ELEMw +#undef ELEMz +#undef ELEMy +#undef ELEMx + +#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_langext_t _test) \ + { \ + uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ + | ( (_test.uxyzw[2]>>31)<<2) \ + | ( (_test.uxyzw[1]>>31)<<1) \ + | ( _test.uxyzw[0]>>31) \ + ; \ + return 0 != (tmp&(_mask) ); \ + } \ + \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_langext_t _test) \ + { \ + uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ + | ( (_test.uxyzw[2]>>31)<<2) \ + | ( (_test.uxyzw[1]>>31)<<1) \ + | ( _test.uxyzw[0]>>31) \ + ; \ + return (_mask) == (tmp&(_mask) ); \ + } + +BX_SIMD128_IMPLEMENT_TEST(x , 0x1); +BX_SIMD128_IMPLEMENT_TEST(y , 0x2); +BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); +BX_SIMD128_IMPLEMENT_TEST(z , 0x4); +BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); +BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); +BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); +BX_SIMD128_IMPLEMENT_TEST(w , 0x8); +BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); +BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); +BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); +BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); +BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); +BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); +BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); + +#undef BX_SIMD128_IMPLEMENT_TEST + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xyAB(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 1, 4, 5); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_ABxy(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 4, 5, 0, 1); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_CDzw(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 6, 7, 2, 3); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_zwCD(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 2, 3, 6, 7); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xAyB(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 4, 1, 5); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_yBxA(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 1, 5, 0, 4); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_zCwD(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 2, 6, 3, 7); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_CzDw(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 6, 2, 7, 3); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xAzC(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 4, 2, 6); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_yBwD(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = __builtin_shufflevector(_a.vf, _b.vf, 1, 5, 3, 7); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_x(simd128_langext_t _a) + { + return _a.fxyzw[0]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_y(simd128_langext_t _a) + { + return _a.fxyzw[1]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_z(simd128_langext_t _a) + { + return _a.fxyzw[2]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_w(simd128_langext_t _a) + { + return _a.fxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_ld(const void* _ptr) + { + const uint32_t* input = reinterpret_cast(_ptr); + simd128_langext_t result; + result.uxyzw[0] = input[0]; + result.uxyzw[1] = input[1]; + result.uxyzw[2] = input[2]; + result.uxyzw[3] = input[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_langext_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + result[1] = _a.uxyzw[1]; + result[2] = _a.uxyzw[2]; + result[3] = _a.uxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_langext_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_langext_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + result[1] = _a.uxyzw[1]; + result[2] = _a.uxyzw[2]; + result[3] = _a.uxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_ld(float _x, float _y, float _z, float _w) + { + simd128_langext_t result; + result.vf = (float __attribute__((vector_size(16)))){ _x, _y, _z, _w }; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) + { + simd128_langext_t result; + result.vu = (uint32_t __attribute__((vector_size(16)))){ _x, _y, _z, _w }; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_splat(const void* _ptr) + { + const uint32_t val = *reinterpret_cast(_ptr); + simd128_langext_t result; + result.vu = (uint32_t __attribute__((vector_size(16)))){ val, val, val, val }; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_splat(float _a) + { + return simd_ld(_a, _a, _a, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_isplat(uint32_t _a) + { + return simd_ild(_a, _a, _a, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_zero() + { + return simd_ild(0, 0, 0, 0); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_itof(simd128_langext_t _a) + { + simd128_langext_t result; + result.vf = __builtin_convertvector(_a.vi, float __attribute__((vector_size(16))) ); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_ftoi(simd128_langext_t _a) + { + simd128_langext_t result; + result.vi = __builtin_convertvector(_a.vf, int32_t __attribute__((vector_size(16))) ); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_round(simd128_langext_t _a) + { + const simd128_langext_t tmp = simd_ftoi(_a); + const simd128_langext_t result = simd_itof(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_add(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = _a.vf + _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_sub(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = _a.vf - _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_mul(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = _a.vf * _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_div(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vf = _a.vf / _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_sqrt(simd128_langext_t _a) + { + simd128_langext_t result; + result.vf[0] = sqrtf(_a.vf[0]); + result.vf[1] = sqrtf(_a.vf[1]); + result.vf[2] = sqrtf(_a.vf[2]); + result.vf[3] = sqrtf(_a.vf[3]); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_rsqrt_est(simd128_langext_t _a) + { + simd128_langext_t result; + result.vf[0] = 1.0f / sqrtf(_a.vf[0]); + result.vf[1] = 1.0f / sqrtf(_a.vf[1]); + result.vf[2] = 1.0f / sqrtf(_a.vf[2]); + result.vf[3] = 1.0f / sqrtf(_a.vf[3]); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpeq(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vf == _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmplt(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vf < _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmple(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vf <= _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpgt(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vf > _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpge(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vf >= _b.vf; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_and(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vu = _a.vu & _b.vu; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_andc(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vu = _a.vu & ~_b.vu; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_or(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vu = _a.vu | _b.vu; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_xor(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vu = _a.vu ^ _b.vu; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_sll(simd128_langext_t _a, int _count) + { + simd128_langext_t result; + const simd128_langext_t count = simd_isplat(_count); + result.vu = _a.vu << count.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_srl(simd128_langext_t _a, int _count) + { + simd128_langext_t result; + const simd128_langext_t count = simd_isplat(_count); + result.vu = _a.vu >> count.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_sra(simd128_langext_t _a, int _count) + { + simd128_langext_t result; + const simd128_langext_t count = simd_isplat(_count); + result.vi = _a.vi >> count.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmpeq(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vi == _b.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmplt(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vi < _b.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmpgt(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vi > _b.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_iadd(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vi + _b.vi; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_langext_t simd_isub(simd128_langext_t _a, simd128_langext_t _b) + { + simd128_langext_t result; + result.vi = _a.vi - _b.vi; + return result; + } + + typedef simd128_langext_t simd128_t; + +} // namespace bx + +#endif // BX_SIMD128_LANGEXT_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd128_neon.inl b/3rdparty/bx/include/bx/inline/simd128_neon.inl new file mode 100644 index 00000000000..1dd0d1f12b2 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd128_neon.inl @@ -0,0 +1,562 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD128_NEON_H_HEADER_GUARD +#define BX_SIMD128_NEON_H_HEADER_GUARD + +#define simd_rcp simd_rcp_ni +#define simd_orx simd_orx_ni +#define simd_orc simd_orc_ni +#define simd_neg simd_neg_ni +#define simd_madd simd_madd_ni +#define simd_nmsub simd_nmsub_ni +#define simd_div_nr simd_div_nr_ni +#define simd_div simd_div_nr_ni +#define simd_selb simd_selb_ni +#define simd_sels simd_sels_ni +#define simd_not simd_not_ni +#define simd_abs simd_abs_ni +#define simd_clamp simd_clamp_ni +#define simd_lerp simd_lerp_ni +#define simd_rsqrt simd_rsqrt_ni +#define simd_rsqrt_nr simd_rsqrt_nr_ni +#define simd_rsqrt_carmack simd_rsqrt_carmack_ni +#define simd_sqrt_nr simd_sqrt_nr_ni +#define simd_sqrt simd_sqrt_nr_ni +#define simd_log2 simd_log2_ni +#define simd_exp2 simd_exp2_ni +#define simd_pow simd_pow_ni +#define simd_cross3 simd_cross3_ni +#define simd_normalize3 simd_normalize3_ni +#define simd_dot3 simd_dot3_ni +#define simd_dot simd_dot_ni +#define simd_ceil simd_ceil_ni +#define simd_floor simd_floor_ni + +#include "simd_ni.inl" + +namespace bx +{ +#define ELEMx 0 +#define ELEMy 1 +#define ELEMz 2 +#define ELEMw 3 +#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ + template<> \ + BX_SIMD_FORCE_INLINE simd128_neon_t simd_swiz_##_x##_y##_z##_w(simd128_neon_t _a) \ + { \ + return __builtin_shuffle(_a, (uint32x4_t){ ELEM##_x, ELEM##_y, ELEM##_z, ELEM##_w }); \ + } + +#include "simd128_swizzle.inl" + +#undef BX_SIMD128_IMPLEMENT_SWIZZLE +#undef ELEMw +#undef ELEMz +#undef ELEMy +#undef ELEMx + +#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _swizzle) \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_neon_t _test) \ + { \ + const simd128_neon_t tmp0 = simd_swiz_##_swizzle(_test); \ + return simd_test_any_ni(tmp0); \ + } \ + \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_neon_t _test) \ + { \ + const simd128_neon_t tmp0 = simd_swiz_##_swizzle(_test); \ + return simd_test_all_ni(tmp0); \ + } + +BX_SIMD128_IMPLEMENT_TEST(x, xxxx); +BX_SIMD128_IMPLEMENT_TEST(y, yyyy); +BX_SIMD128_IMPLEMENT_TEST(xy, xyyy); +BX_SIMD128_IMPLEMENT_TEST(z, zzzz); +BX_SIMD128_IMPLEMENT_TEST(xz, xzzz); +BX_SIMD128_IMPLEMENT_TEST(yz, yzzz); +BX_SIMD128_IMPLEMENT_TEST(xyz, xyzz); +BX_SIMD128_IMPLEMENT_TEST(w, wwww); +BX_SIMD128_IMPLEMENT_TEST(xw, xwww); +BX_SIMD128_IMPLEMENT_TEST(yw, ywww); +BX_SIMD128_IMPLEMENT_TEST(xyw, xyww); +BX_SIMD128_IMPLEMENT_TEST(zw, zwww); +BX_SIMD128_IMPLEMENT_TEST(xzw, xzww); +BX_SIMD128_IMPLEMENT_TEST(yzw, yzww); +#undef BX_SIMD128_IMPLEMENT_TEST + + template<> + BX_SIMD_FORCE_INLINE bool simd_test_any_xyzw(simd128_neon_t _test) + { + return simd_test_any_ni(_test); + } + + template<> + BX_SIMD_FORCE_INLINE bool simd_test_all_xyzw(simd128_neon_t _test) + { + return simd_test_all_ni(_test); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_xyAB(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 0, 1, 4, 5 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_ABxy(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 4, 5, 0, 1 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_CDzw(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 6, 7, 2, 3 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_zwCD(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 2, 3, 6, 7 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_xAyB(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 0, 4, 1, 5 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_yBxA(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 1, 5, 0, 4 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_zCwD(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 2, 6, 3, 7 }); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_CzDw(simd128_neon_t _a, simd128_neon_t _b) + { + return __builtin_shuffle(_a, _b, (uint32x4_t){ 6, 2, 7, 3 }); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_x(simd128_neon_t _a) + { + return vgetq_lane_f32(_a, 0); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_y(simd128_neon_t _a) + { + return vgetq_lane_f32(_a, 1); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_z(simd128_neon_t _a) + { + return vgetq_lane_f32(_a, 2); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_w(simd128_neon_t _a) + { + return vgetq_lane_f32(_a, 3); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_ld(const void* _ptr) + { + return vld1q_f32( (const float32_t*)_ptr); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_neon_t _a) + { + vst1q_f32( (float32_t*)_ptr, _a); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_neon_t _a) + { + vst1q_lane_f32( (float32_t*)_ptr, _a, 0); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_neon_t _a) + { + vst1q_f32( (float32_t*)_ptr, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_ld(float _x, float _y, float _z, float _w) + { + const float32_t val[4] = {_x, _y, _z, _w}; + return simd_ld(val); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) + { + const uint32_t val[4] = {_x, _y, _z, _w}; + const uint32x4_t tmp = vld1q_u32(val); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_splat(const void* _ptr) + { + const simd128_neon_t tmp0 = vld1q_f32( (const float32_t*)_ptr); + const float32x2_t tmp1 = vget_low_f32(tmp0); + const simd128_neon_t result = vdupq_lane_f32(tmp1, 0); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_splat(float _a) + { + return vdupq_n_f32(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_isplat(uint32_t _a) + { + const int32x4_t tmp = vdupq_n_s32(_a); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_zero() + { + return simd_isplat(0); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_itof(simd128_neon_t _a) + { + const int32x4_t itof = vreinterpretq_s32_f32(_a); + const simd128_neon_t result = vcvtq_f32_s32(itof); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_ftoi(simd128_neon_t _a) + { + const int32x4_t ftoi = vcvtq_s32_f32(_a); + const simd128_neon_t result = vreinterpretq_f32_s32(ftoi); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_add(simd128_neon_t _a, simd128_neon_t _b) + { + return vaddq_f32(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_sub(simd128_neon_t _a, simd128_neon_t _b) + { + return vsubq_f32(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_mul(simd128_neon_t _a, simd128_neon_t _b) + { + return vmulq_f32(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_rcp_est(simd128_neon_t _a) + { + return vrecpeq_f32(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_rsqrt_est(simd128_neon_t _a) + { + return vrsqrteq_f32(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpeq(simd128_neon_t _a, simd128_neon_t _b) + { + const uint32x4_t tmp = vceqq_f32(_a, _b); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmplt(simd128_neon_t _a, simd128_neon_t _b) + { + const uint32x4_t tmp = vcltq_f32(_a, _b); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmple(simd128_neon_t _a, simd128_neon_t _b) + { + const uint32x4_t tmp = vcleq_f32(_a, _b); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpgt(simd128_neon_t _a, simd128_neon_t _b) + { + const uint32x4_t tmp = vcgtq_f32(_a, _b); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpge(simd128_neon_t _a, simd128_neon_t _b) + { + const uint32x4_t tmp = vcgeq_f32(_a, _b); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_min(simd128_neon_t _a, simd128_neon_t _b) + { + return vminq_f32(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_max(simd128_neon_t _a, simd128_neon_t _b) + { + return vmaxq_f32(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_and(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vandq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_andc(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vbicq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_or(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vorrq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_xor(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = veorq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_sll(simd128_neon_t _a, int _count) + { + if (__builtin_constant_p(_count) ) + { + const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); + const uint32x4_t tmp1 = vshlq_n_u32(tmp0, _count); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); + + return result; + } + + const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); + const int32x4_t shift = vdupq_n_s32(_count); + const uint32x4_t tmp1 = vshlq_u32(tmp0, shift); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_srl(simd128_neon_t _a, int _count) + { + if (__builtin_constant_p(_count) ) + { + const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); + const uint32x4_t tmp1 = vshrq_n_u32(tmp0, _count); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); + + return result; + } + + const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); + const int32x4_t shift = vdupq_n_s32(-_count); + const uint32x4_t tmp1 = vshlq_u32(tmp0, shift); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_sra(simd128_neon_t _a, int _count) + { + if (__builtin_constant_p(_count) ) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vshrq_n_s32(tmp0, _count); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp1); + + return result; + } + + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t shift = vdupq_n_s32(-_count); + const int32x4_t tmp1 = vshlq_s32(tmp0, shift); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp1); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_madd(simd128_neon_t _a, simd128_neon_t _b, simd128_neon_t _c) + { + return vmlaq_f32(_c, _a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_nmsub(simd128_neon_t _a, simd128_neon_t _b, simd128_neon_t _c) + { + return vmlsq_f32(_c, _a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmpeq(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const uint32x4_t tmp2 = vceqq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmplt(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const uint32x4_t tmp2 = vcltq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmpgt(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const uint32x4_t tmp2 = vcgtq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_imin(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vminq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_imax(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vmaxq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_iadd(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vaddq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_neon_t simd_isub(simd128_neon_t _a, simd128_neon_t _b) + { + const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); + const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); + const int32x4_t tmp2 = vsubq_s32(tmp0, tmp1); + const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); + + return result; + } + + template<> + BX_SIMD_INLINE simd128_neon_t simd_shuf_xAzC(simd128_neon_t _a, simd128_neon_t _b) + { + return simd_shuf_xAzC_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_neon_t simd_shuf_yBwD(simd128_neon_t _a, simd128_neon_t _b) + { + return simd_shuf_yBwD_ni(_a, _b); + } + + typedef simd128_neon_t simd128_t; + +} // namespace bx + +#endif // BX_SIMD128_NEON_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd128_ref.inl b/3rdparty/bx/include/bx/inline/simd128_ref.inl new file mode 100644 index 00000000000..e85ae14c979 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd128_ref.inl @@ -0,0 +1,648 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD128_REF_H_HEADER_GUARD +#define BX_SIMD128_REF_H_HEADER_GUARD + +#define simd_shuf_xAzC simd_shuf_xAzC_ni +#define simd_shuf_yBwD simd_shuf_yBwD_ni +#define simd_rcp simd_rcp_ni +#define simd_orx simd_orx_ni +#define simd_orc simd_orc_ni +#define simd_neg simd_neg_ni +#define simd_madd simd_madd_ni +#define simd_nmsub simd_nmsub_ni +#define simd_div_nr simd_div_nr_ni +#define simd_selb simd_selb_ni +#define simd_sels simd_sels_ni +#define simd_not simd_not_ni +#define simd_abs simd_abs_ni +#define simd_clamp simd_clamp_ni +#define simd_lerp simd_lerp_ni +#define simd_rsqrt simd_rsqrt_ni +#define simd_rsqrt_nr simd_rsqrt_nr_ni +#define simd_rsqrt_carmack simd_rsqrt_carmack_ni +#define simd_sqrt_nr simd_sqrt_nr_ni +#define simd_log2 simd_log2_ni +#define simd_exp2 simd_exp2_ni +#define simd_pow simd_pow_ni +#define simd_cross3 simd_cross3_ni +#define simd_normalize3 simd_normalize3_ni +#define simd_dot3 simd_dot3_ni +#define simd_dot simd_dot_ni +#define simd_ceil simd_ceil_ni +#define simd_floor simd_floor_ni + +#include "simd_ni.inl" + +namespace bx +{ +#define ELEMx 0 +#define ELEMy 1 +#define ELEMz 2 +#define ELEMw 3 +#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ + template<> \ + BX_SIMD_FORCE_INLINE simd128_ref_t simd_swiz_##_x##_y##_z##_w(simd128_ref_t _a) \ + { \ + simd128_ref_t result; \ + result.ixyzw[0] = _a.ixyzw[ELEM##_x]; \ + result.ixyzw[1] = _a.ixyzw[ELEM##_y]; \ + result.ixyzw[2] = _a.ixyzw[ELEM##_z]; \ + result.ixyzw[3] = _a.ixyzw[ELEM##_w]; \ + return result; \ + } + +#include "simd128_swizzle.inl" + +#undef BX_SIMD128_IMPLEMENT_SWIZZLE +#undef ELEMw +#undef ELEMz +#undef ELEMy +#undef ELEMx + +#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_ref_t _test) \ + { \ + uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ + | ( (_test.uxyzw[2]>>31)<<2) \ + | ( (_test.uxyzw[1]>>31)<<1) \ + | ( _test.uxyzw[0]>>31) \ + ; \ + return 0 != (tmp&(_mask) ); \ + } \ + \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_ref_t _test) \ + { \ + uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ + | ( (_test.uxyzw[2]>>31)<<2) \ + | ( (_test.uxyzw[1]>>31)<<1) \ + | ( _test.uxyzw[0]>>31) \ + ; \ + return (_mask) == (tmp&(_mask) ); \ + } + +BX_SIMD128_IMPLEMENT_TEST(x , 0x1); +BX_SIMD128_IMPLEMENT_TEST(y , 0x2); +BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); +BX_SIMD128_IMPLEMENT_TEST(z , 0x4); +BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); +BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); +BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); +BX_SIMD128_IMPLEMENT_TEST(w , 0x8); +BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); +BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); +BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); +BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); +BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); +BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); +BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); + +#undef BX_SIMD128_IMPLEMENT_TEST + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_xyAB(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0]; + result.uxyzw[1] = _a.uxyzw[1]; + result.uxyzw[2] = _b.uxyzw[0]; + result.uxyzw[3] = _b.uxyzw[1]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_ABxy(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _b.uxyzw[0]; + result.uxyzw[1] = _b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[0]; + result.uxyzw[3] = _a.uxyzw[1]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_CDzw(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _b.uxyzw[2]; + result.uxyzw[1] = _b.uxyzw[3]; + result.uxyzw[2] = _a.uxyzw[2]; + result.uxyzw[3] = _a.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_zwCD(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[2]; + result.uxyzw[1] = _a.uxyzw[3]; + result.uxyzw[2] = _b.uxyzw[2]; + result.uxyzw[3] = _b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_xAyB(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0]; + result.uxyzw[1] = _b.uxyzw[0]; + result.uxyzw[2] = _a.uxyzw[1]; + result.uxyzw[3] = _b.uxyzw[1]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_yBxA(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[1]; + result.uxyzw[1] = _b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[0]; + result.uxyzw[3] = _b.uxyzw[0]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_zCwD(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[2]; + result.uxyzw[1] = _b.uxyzw[2]; + result.uxyzw[2] = _a.uxyzw[3]; + result.uxyzw[3] = _b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_CzDw(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _b.uxyzw[2]; + result.uxyzw[1] = _a.uxyzw[2]; + result.uxyzw[2] = _b.uxyzw[3]; + result.uxyzw[3] = _a.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_x(simd128_ref_t _a) + { + return _a.fxyzw[0]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_y(simd128_ref_t _a) + { + return _a.fxyzw[1]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_z(simd128_ref_t _a) + { + return _a.fxyzw[2]; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_w(simd128_ref_t _a) + { + return _a.fxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_ld(const void* _ptr) + { + const uint32_t* input = reinterpret_cast(_ptr); + simd128_ref_t result; + result.uxyzw[0] = input[0]; + result.uxyzw[1] = input[1]; + result.uxyzw[2] = input[2]; + result.uxyzw[3] = input[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_ref_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + result[1] = _a.uxyzw[1]; + result[2] = _a.uxyzw[2]; + result[3] = _a.uxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_ref_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_ref_t _a) + { + uint32_t* result = reinterpret_cast(_ptr); + result[0] = _a.uxyzw[0]; + result[1] = _a.uxyzw[1]; + result[2] = _a.uxyzw[2]; + result[3] = _a.uxyzw[3]; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_ld(float _x, float _y, float _z, float _w) + { + simd128_ref_t result; + result.fxyzw[0] = _x; + result.fxyzw[1] = _y; + result.fxyzw[2] = _z; + result.fxyzw[3] = _w; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) + { + simd128_ref_t result; + result.uxyzw[0] = _x; + result.uxyzw[1] = _y; + result.uxyzw[2] = _z; + result.uxyzw[3] = _w; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_splat(const void* _ptr) + { + const uint32_t val = *reinterpret_cast(_ptr); + simd128_ref_t result; + result.uxyzw[0] = val; + result.uxyzw[1] = val; + result.uxyzw[2] = val; + result.uxyzw[3] = val; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_splat(float _a) + { + return simd_ld(_a, _a, _a, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_isplat(uint32_t _a) + { + return simd_ild(_a, _a, _a, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_zero() + { + return simd_ild(0, 0, 0, 0); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_itof(simd128_ref_t _a) + { + simd128_ref_t result; + result.fxyzw[0] = (float)_a.ixyzw[0]; + result.fxyzw[1] = (float)_a.ixyzw[1]; + result.fxyzw[2] = (float)_a.ixyzw[2]; + result.fxyzw[3] = (float)_a.ixyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_ftoi(simd128_ref_t _a) + { + simd128_ref_t result; + result.ixyzw[0] = (int)_a.fxyzw[0]; + result.ixyzw[1] = (int)_a.fxyzw[1]; + result.ixyzw[2] = (int)_a.fxyzw[2]; + result.ixyzw[3] = (int)_a.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_round(simd128_ref_t _a) + { + return simd_round_ni(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_add(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] + _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] + _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] + _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] + _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_sub(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] - _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] - _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] - _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] - _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_mul(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] * _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] * _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] * _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] * _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_div(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] / _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] / _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] / _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] / _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_rcp_est(simd128_ref_t _a) + { + simd128_ref_t result; + result.fxyzw[0] = 1.0f / _a.fxyzw[0]; + result.fxyzw[1] = 1.0f / _a.fxyzw[1]; + result.fxyzw[2] = 1.0f / _a.fxyzw[2]; + result.fxyzw[3] = 1.0f / _a.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_sqrt(simd128_ref_t _a) + { + simd128_ref_t result; + result.fxyzw[0] = fsqrt(_a.fxyzw[0]); + result.fxyzw[1] = fsqrt(_a.fxyzw[1]); + result.fxyzw[2] = fsqrt(_a.fxyzw[2]); + result.fxyzw[3] = fsqrt(_a.fxyzw[3]); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_rsqrt_est(simd128_ref_t _a) + { + simd128_ref_t result; + result.fxyzw[0] = 1.0f / fsqrt(_a.fxyzw[0]); + result.fxyzw[1] = 1.0f / fsqrt(_a.fxyzw[1]); + result.fxyzw[2] = 1.0f / fsqrt(_a.fxyzw[2]); + result.fxyzw[3] = 1.0f / fsqrt(_a.fxyzw[3]); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpeq(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.fxyzw[0] == _b.fxyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.fxyzw[1] == _b.fxyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.fxyzw[2] == _b.fxyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.fxyzw[3] == _b.fxyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmplt(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.fxyzw[0] < _b.fxyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.fxyzw[1] < _b.fxyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.fxyzw[2] < _b.fxyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.fxyzw[3] < _b.fxyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmple(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.fxyzw[0] <= _b.fxyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.fxyzw[1] <= _b.fxyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.fxyzw[2] <= _b.fxyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.fxyzw[3] <= _b.fxyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpgt(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.fxyzw[0] > _b.fxyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.fxyzw[1] > _b.fxyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.fxyzw[2] > _b.fxyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.fxyzw[3] > _b.fxyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpge(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.fxyzw[0] >= _b.fxyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.fxyzw[1] >= _b.fxyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.fxyzw[2] >= _b.fxyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.fxyzw[3] >= _b.fxyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_min(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] < _b.fxyzw[0] ? _a.fxyzw[0] : _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] < _b.fxyzw[1] ? _a.fxyzw[1] : _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] < _b.fxyzw[2] ? _a.fxyzw[2] : _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] < _b.fxyzw[3] ? _a.fxyzw[3] : _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_max(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.fxyzw[0] = _a.fxyzw[0] > _b.fxyzw[0] ? _a.fxyzw[0] : _b.fxyzw[0]; + result.fxyzw[1] = _a.fxyzw[1] > _b.fxyzw[1] ? _a.fxyzw[1] : _b.fxyzw[1]; + result.fxyzw[2] = _a.fxyzw[2] > _b.fxyzw[2] ? _a.fxyzw[2] : _b.fxyzw[2]; + result.fxyzw[3] = _a.fxyzw[3] > _b.fxyzw[3] ? _a.fxyzw[3] : _b.fxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_and(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] & _b.uxyzw[0]; + result.uxyzw[1] = _a.uxyzw[1] & _b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[2] & _b.uxyzw[2]; + result.uxyzw[3] = _a.uxyzw[3] & _b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_andc(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] & ~_b.uxyzw[0]; + result.uxyzw[1] = _a.uxyzw[1] & ~_b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[2] & ~_b.uxyzw[2]; + result.uxyzw[3] = _a.uxyzw[3] & ~_b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_or(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] | _b.uxyzw[0]; + result.uxyzw[1] = _a.uxyzw[1] | _b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[2] | _b.uxyzw[2]; + result.uxyzw[3] = _a.uxyzw[3] | _b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_xor(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] ^ _b.uxyzw[0]; + result.uxyzw[1] = _a.uxyzw[1] ^ _b.uxyzw[1]; + result.uxyzw[2] = _a.uxyzw[2] ^ _b.uxyzw[2]; + result.uxyzw[3] = _a.uxyzw[3] ^ _b.uxyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_sll(simd128_ref_t _a, int _count) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] << _count; + result.uxyzw[1] = _a.uxyzw[1] << _count; + result.uxyzw[2] = _a.uxyzw[2] << _count; + result.uxyzw[3] = _a.uxyzw[3] << _count; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_srl(simd128_ref_t _a, int _count) + { + simd128_ref_t result; + result.uxyzw[0] = _a.uxyzw[0] >> _count; + result.uxyzw[1] = _a.uxyzw[1] >> _count; + result.uxyzw[2] = _a.uxyzw[2] >> _count; + result.uxyzw[3] = _a.uxyzw[3] >> _count; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_sra(simd128_ref_t _a, int _count) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] >> _count; + result.ixyzw[1] = _a.ixyzw[1] >> _count; + result.ixyzw[2] = _a.ixyzw[2] >> _count; + result.ixyzw[3] = _a.ixyzw[3] >> _count; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmpeq(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] == _b.ixyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.ixyzw[1] == _b.ixyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.ixyzw[2] == _b.ixyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.ixyzw[3] == _b.ixyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmplt(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] < _b.ixyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.ixyzw[1] < _b.ixyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.ixyzw[2] < _b.ixyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.ixyzw[3] < _b.ixyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmpgt(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] > _b.ixyzw[0] ? 0xffffffff : 0x0; + result.ixyzw[1] = _a.ixyzw[1] > _b.ixyzw[1] ? 0xffffffff : 0x0; + result.ixyzw[2] = _a.ixyzw[2] > _b.ixyzw[2] ? 0xffffffff : 0x0; + result.ixyzw[3] = _a.ixyzw[3] > _b.ixyzw[3] ? 0xffffffff : 0x0; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_imin(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] < _b.ixyzw[0] ? _a.ixyzw[0] : _b.ixyzw[0]; + result.ixyzw[1] = _a.ixyzw[1] < _b.ixyzw[1] ? _a.ixyzw[1] : _b.ixyzw[1]; + result.ixyzw[2] = _a.ixyzw[2] < _b.ixyzw[2] ? _a.ixyzw[2] : _b.ixyzw[2]; + result.ixyzw[3] = _a.ixyzw[3] < _b.ixyzw[3] ? _a.ixyzw[3] : _b.ixyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_imax(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] > _b.ixyzw[0] ? _a.ixyzw[0] : _b.ixyzw[0]; + result.ixyzw[1] = _a.ixyzw[1] > _b.ixyzw[1] ? _a.ixyzw[1] : _b.ixyzw[1]; + result.ixyzw[2] = _a.ixyzw[2] > _b.ixyzw[2] ? _a.ixyzw[2] : _b.ixyzw[2]; + result.ixyzw[3] = _a.ixyzw[3] > _b.ixyzw[3] ? _a.ixyzw[3] : _b.ixyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_iadd(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] + _b.ixyzw[0]; + result.ixyzw[1] = _a.ixyzw[1] + _b.ixyzw[1]; + result.ixyzw[2] = _a.ixyzw[2] + _b.ixyzw[2]; + result.ixyzw[3] = _a.ixyzw[3] + _b.ixyzw[3]; + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_ref_t simd_isub(simd128_ref_t _a, simd128_ref_t _b) + { + simd128_ref_t result; + result.ixyzw[0] = _a.ixyzw[0] - _b.ixyzw[0]; + result.ixyzw[1] = _a.ixyzw[1] - _b.ixyzw[1]; + result.ixyzw[2] = _a.ixyzw[2] - _b.ixyzw[2]; + result.ixyzw[3] = _a.ixyzw[3] - _b.ixyzw[3]; + return result; + } + +} // namespace bx + +#endif // BX_SIMD128_REF_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd128_sse.inl b/3rdparty/bx/include/bx/inline/simd128_sse.inl new file mode 100644 index 00000000000..b0ed8520ab4 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd128_sse.inl @@ -0,0 +1,647 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD128_SSE_H_HEADER_GUARD +#define BX_SIMD128_SSE_H_HEADER_GUARD + +#include "simd_ni.inl" + +namespace bx +{ +#define ELEMx 0 +#define ELEMy 1 +#define ELEMz 2 +#define ELEMw 3 +#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ + template<> \ + BX_SIMD_FORCE_INLINE simd128_sse_t simd_swiz_##_x##_y##_z##_w(simd128_sse_t _a) \ + { \ + return _mm_shuffle_ps( _a, _a, _MM_SHUFFLE(ELEM##_w, ELEM##_z, ELEM##_y, ELEM##_x ) ); \ + } + +#include "simd128_swizzle.inl" + +#undef BX_SIMD128_IMPLEMENT_SWIZZLE +#undef ELEMw +#undef ELEMz +#undef ELEMy +#undef ELEMx + +#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_sse_t _test) \ + { \ + return 0x0 != (_mm_movemask_ps(_test)&(_mask) ); \ + } \ + \ + template<> \ + BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_sse_t _test) \ + { \ + return (_mask) == (_mm_movemask_ps(_test)&(_mask) ); \ + } + +BX_SIMD128_IMPLEMENT_TEST(x , 0x1); +BX_SIMD128_IMPLEMENT_TEST(y , 0x2); +BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); +BX_SIMD128_IMPLEMENT_TEST(z , 0x4); +BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); +BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); +BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); +BX_SIMD128_IMPLEMENT_TEST(w , 0x8); +BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); +BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); +BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); +BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); +BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); +BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); +BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); + +#undef BX_SIMD128_IMPLEMENT_TEST + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_xyAB(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_movelh_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_ABxy(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_movelh_ps(_b, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_CDzw(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_movehl_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_zwCD(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_movehl_ps(_b, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_xAyB(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_unpacklo_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_yBxA(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_unpacklo_ps(_b, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_zCwD(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_unpackhi_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_CzDw(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_unpackhi_ps(_b, _a); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_x(simd128_sse_t _a) + { + return _mm_cvtss_f32(_a); + } + + template<> + BX_SIMD_FORCE_INLINE float simd_y(simd128_sse_t _a) + { + const simd128_sse_t yyyy = simd_swiz_yyyy(_a); + const float result = _mm_cvtss_f32(yyyy); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_z(simd128_sse_t _a) + { + const simd128_sse_t zzzz = simd_swiz_zzzz(_a); + const float result = _mm_cvtss_f32(zzzz); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE float simd_w(simd128_sse_t _a) + { + const simd128_sse_t wwww = simd_swiz_wwww(_a); + const float result = _mm_cvtss_f32(wwww); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_ld(const void* _ptr) + { + return _mm_load_ps(reinterpret_cast(_ptr) ); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_sse_t _a) + { + _mm_store_ps(reinterpret_cast(_ptr), _a); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_sse_t _a) + { + _mm_store_ss(reinterpret_cast(_ptr), _a); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_sse_t _a) + { + _mm_stream_ps(reinterpret_cast(_ptr), _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_ld(float _x, float _y, float _z, float _w) + { + return _mm_set_ps(_w, _z, _y, _x); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) + { + const __m128i set = _mm_set_epi32(_w, _z, _y, _x); + const simd128_sse_t result = _mm_castsi128_ps(set); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_splat(const void* _ptr) + { + const simd128_sse_t x___ = _mm_load_ss(reinterpret_cast(_ptr) ); + const simd128_sse_t result = simd_swiz_xxxx(x___); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_splat(float _a) + { + return _mm_set1_ps(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_isplat(uint32_t _a) + { + const __m128i splat = _mm_set1_epi32(_a); + const simd128_sse_t result = _mm_castsi128_ps(splat); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_zero() + { + return _mm_setzero_ps(); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_itof(simd128_sse_t _a) + { + const __m128i itof = _mm_castps_si128(_a); + const simd128_sse_t result = _mm_cvtepi32_ps(itof); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_ftoi(simd128_sse_t _a) + { + const __m128i ftoi = _mm_cvtps_epi32(_a); + const simd128_sse_t result = _mm_castsi128_ps(ftoi); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_round(simd128_sse_t _a) + { +#if defined(__SSE4_1__) + return _mm_round_ps(_a, _MM_FROUND_NINT); +#else + const __m128i round = _mm_cvtps_epi32(_a); + const simd128_sse_t result = _mm_cvtepi32_ps(round); + + return result; +#endif // defined(__SSE4_1__) + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_add(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_add_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_sub(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_sub_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_mul(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_mul_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_div(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_div_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_rcp_est(simd128_sse_t _a) + { + return _mm_rcp_ps(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_sqrt(simd128_sse_t _a) + { + return _mm_sqrt_ps(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_rsqrt_est(simd128_sse_t _a) + { + return _mm_rsqrt_ps(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_dot3(simd128_sse_t _a, simd128_sse_t _b) + { +#if defined(__SSE4_1__) + return _mm_dp_ps(_a, _b, 0x77); +#else + return simd_dot3_ni(_a, _b); +#endif // defined(__SSE4__) + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_dot(simd128_sse_t _a, simd128_sse_t _b) + { +#if defined(__SSE4_1__) + return _mm_dp_ps(_a, _b, 0xFF); +#else + return simd_dot_ni(_a, _b); +#endif // defined(__SSE4__) + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpeq(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_cmpeq_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmplt(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_cmplt_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmple(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_cmple_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpgt(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_cmpgt_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpge(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_cmpge_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_min(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_min_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_max(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_max_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_and(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_and_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_andc(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_andnot_ps(_b, _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_or(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_or_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_xor(simd128_sse_t _a, simd128_sse_t _b) + { + return _mm_xor_ps(_a, _b); + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_sll(simd128_sse_t _a, int _count) + { + const __m128i a = _mm_castps_si128(_a); + const __m128i shift = _mm_slli_epi32(a, _count); + const simd128_sse_t result = _mm_castsi128_ps(shift); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_srl(simd128_sse_t _a, int _count) + { + const __m128i a = _mm_castps_si128(_a); + const __m128i shift = _mm_srli_epi32(a, _count); + const simd128_sse_t result = _mm_castsi128_ps(shift); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_sra(simd128_sse_t _a, int _count) + { + const __m128i a = _mm_castps_si128(_a); + const __m128i shift = _mm_srai_epi32(a, _count); + const simd128_sse_t result = _mm_castsi128_ps(shift); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmpeq(simd128_sse_t _a, simd128_sse_t _b) + { + const __m128i tmp0 = _mm_castps_si128(_a); + const __m128i tmp1 = _mm_castps_si128(_b); + const __m128i tmp2 = _mm_cmpeq_epi32(tmp0, tmp1); + const simd128_sse_t result = _mm_castsi128_ps(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmplt(simd128_sse_t _a, simd128_sse_t _b) + { + const __m128i tmp0 = _mm_castps_si128(_a); + const __m128i tmp1 = _mm_castps_si128(_b); + const __m128i tmp2 = _mm_cmplt_epi32(tmp0, tmp1); + const simd128_sse_t result = _mm_castsi128_ps(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmpgt(simd128_sse_t _a, simd128_sse_t _b) + { + const __m128i tmp0 = _mm_castps_si128(_a); + const __m128i tmp1 = _mm_castps_si128(_b); + const __m128i tmp2 = _mm_cmpgt_epi32(tmp0, tmp1); + const simd128_sse_t result = _mm_castsi128_ps(tmp2); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_imin(simd128_sse_t _a, simd128_sse_t _b) + { +#if defined(__SSE4_1__) + const __m128i tmp0 = _mm_castps_si128(_a); + const __m128i tmp1 = _mm_castps_si128(_b); + const __m128i tmp2 = _mm_min_epi32(tmp0, tmp1); + const simd128_sse_t result = _mm_castsi128_ps(tmp2); + + return result; +#else + return simd_imin_ni(_a, _b); +#endif // defined(__SSE4_1__) + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_imax(simd128_sse_t _a, simd128_sse_t _b) + { +#if defined(__SSE4_1__) + const __m128i tmp0 = _mm_castps_si128(_a); + const __m128i tmp1 = _mm_castps_si128(_b); + const __m128i tmp2 = _mm_max_epi32(tmp0, tmp1); + const simd128_sse_t result = _mm_castsi128_ps(tmp2); + + return result; +#else + return simd_imax_ni(_a, _b); +#endif // defined(__SSE4_1__) + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_iadd(simd128_sse_t _a, simd128_sse_t _b) + { + const __m128i a = _mm_castps_si128(_a); + const __m128i b = _mm_castps_si128(_b); + const __m128i add = _mm_add_epi32(a, b); + const simd128_sse_t result = _mm_castsi128_ps(add); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd128_sse_t simd_isub(simd128_sse_t _a, simd128_sse_t _b) + { + const __m128i a = _mm_castps_si128(_a); + const __m128i b = _mm_castps_si128(_b); + const __m128i sub = _mm_sub_epi32(a, b); + const simd128_sse_t result = _mm_castsi128_ps(sub); + + return result; + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_shuf_xAzC(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_shuf_xAzC_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_shuf_yBwD(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_shuf_yBwD_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_rcp(simd128_sse_t _a) + { + return simd_rcp_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_orx(simd128_sse_t _a) + { + return simd_orx_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_orc(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_orc_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_neg(simd128_sse_t _a) + { + return simd_neg_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_madd(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _c) + { + return simd_madd_ni(_a, _b, _c); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_nmsub(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _c) + { + return simd_nmsub_ni(_a, _b, _c); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_div_nr(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_div_nr_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_selb(simd128_sse_t _mask, simd128_sse_t _a, simd128_sse_t _b) + { + return simd_selb_ni(_mask, _a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_sels(simd128_sse_t _test, simd128_sse_t _a, simd128_sse_t _b) + { + return simd_sels_ni(_test, _a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_not(simd128_sse_t _a) + { + return simd_not_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_abs(simd128_sse_t _a) + { + return simd_abs_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_clamp(simd128_sse_t _a, simd128_sse_t _min, simd128_sse_t _max) + { + return simd_clamp_ni(_a, _min, _max); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_lerp(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _s) + { + return simd_lerp_ni(_a, _b, _s); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_rsqrt(simd128_sse_t _a) + { + return simd_rsqrt_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_rsqrt_nr(simd128_sse_t _a) + { + return simd_rsqrt_nr_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_rsqrt_carmack(simd128_sse_t _a) + { + return simd_rsqrt_carmack_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_sqrt_nr(simd128_sse_t _a) + { + return simd_sqrt_nr_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_log2(simd128_sse_t _a) + { + return simd_log2_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_exp2(simd128_sse_t _a) + { + return simd_exp2_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_pow(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_pow_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_cross3(simd128_sse_t _a, simd128_sse_t _b) + { + return simd_cross3_ni(_a, _b); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_normalize3(simd128_sse_t _a) + { + return simd_normalize3_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_ceil(simd128_sse_t _a) + { + return simd_ceil_ni(_a); + } + + template<> + BX_SIMD_INLINE simd128_sse_t simd_floor(simd128_sse_t _a) + { + return simd_floor_ni(_a); + } + + typedef simd128_sse_t simd128_t; + +} // namespace bx + +#endif // BX_SIMD128_SSE_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd128_swizzle.inl b/3rdparty/bx/include/bx/inline/simd128_swizzle.inl new file mode 100644 index 00000000000..4185be81b60 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd128_swizzle.inl @@ -0,0 +1,266 @@ +/* + * Copyright 2010-2015 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#ifndef BX_SIMD_T_H_HEADER_GUARD +# error "xmacro file, must be included from simd_*.h" +#endif // BX_FLOAT4_T_H_HEADER_GUARD + +// included from float4_t.h +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, z) +// BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, w) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, x) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, y) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, z) +BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, w) diff --git a/3rdparty/bx/include/bx/inline/simd256_avx.inl b/3rdparty/bx/include/bx/inline/simd256_avx.inl new file mode 100644 index 00000000000..5eed77ba3af --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd256_avx.inl @@ -0,0 +1,77 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD256_AVX_H_HEADER_GUARD +#define BX_SIMD256_AVX_H_HEADER_GUARD + +#include "simd_ni.inl" + +namespace bx +{ + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_ld(const void* _ptr) + { + return _mm256_load_ps(reinterpret_cast(_ptr) ); + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd256_avx_t _a) + { + _mm256_store_ps(reinterpret_cast(_ptr), _a); + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_ld(float _x, float _y, float _z, float _w, float _A, float _B, float _C, float _D) + { + return _mm256_set_ps(_D, _C, _B, _A, _w, _z, _y, _x); + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w, uint32_t _A, uint32_t _B, uint32_t _C, uint32_t _D) + { + const __m256i set = _mm256_set_epi32(_D, _C, _B, _A, _w, _z, _y, _x); + const simd256_avx_t result = _mm256_castsi256_ps(set); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_splat(float _a) + { + return _mm256_set1_ps(_a); + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_isplat(uint32_t _a) + { + const __m256i splat = _mm256_set1_epi32(_a); + const simd256_avx_t result = _mm256_castsi256_ps(splat); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_itof(simd256_avx_t _a) + { + const __m256i itof = _mm256_castps_si256(_a); + const simd256_avx_t result = _mm256_cvtepi32_ps(itof); + + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_avx_t simd_ftoi(simd256_avx_t _a) + { + const __m256i ftoi = _mm256_cvtps_epi32(_a); + const simd256_avx_t result = _mm256_castsi256_ps(ftoi); + + return result; + } + + typedef simd256_avx_t simd256_t; + +} // namespace bx + +#endif // BX_SIMD256_AVX_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd256_ref.inl b/3rdparty/bx/include/bx/inline/simd256_ref.inl new file mode 100644 index 00000000000..6d9a5a31ab5 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd256_ref.inl @@ -0,0 +1,87 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD256_REF_H_HEADER_GUARD +#define BX_SIMD256_REF_H_HEADER_GUARD + +#include "simd_ni.inl" + +namespace bx +{ + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_ld(const void* _ptr) + { + const simd256_ref_t::type* ptr = reinterpret_cast(_ptr); + simd256_ref_t result; + result.simd128_0 = simd_ld(&ptr[0]); + result.simd128_1 = simd_ld(&ptr[1]); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd256_ref_t& _a) + { + simd256_ref_t* result = reinterpret_cast(_ptr); + simd_st(&result[0], _a.simd128_0); + simd_st(&result[1], _a.simd128_1); + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_ld(float _x, float _y, float _z, float _w, float _a, float _b, float _c, float _d) + { + simd256_ref_t result; + result.simd128_0 = simd_ld(_x, _y, _z, _w); + result.simd128_1 = simd_ld(_a, _b, _c, _d); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w, uint32_t _a, uint32_t _b, uint32_t _c, uint32_t _d) + { + simd256_ref_t result; + result.simd128_0 = simd_ild(_x, _y, _z, _w); + result.simd128_1 = simd_ild(_a, _b, _c, _d); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_splat(float _a) + { + simd256_ref_t result; + result.simd128_0 = simd_splat(_a); + result.simd128_1 = simd_splat(_a); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_isplat(uint32_t _a) + { + simd256_ref_t result; + result.simd128_0 = simd_isplat(_a); + result.simd128_1 = simd_isplat(_a); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_itof(simd256_ref_t _a) + { + simd256_ref_t result; + result.simd128_0 = simd_itof(_a.simd128_0); + result.simd128_1 = simd_itof(_a.simd128_1); + return result; + } + + template<> + BX_SIMD_FORCE_INLINE simd256_ref_t simd_ftoi(simd256_ref_t _a) + { + simd256_ref_t result; + result.simd128_0 = simd_ftoi(_a.simd128_0); + result.simd128_1 = simd_ftoi(_a.simd128_1); + return result; + } + +} // namespace bx + +#endif // BX_SIMD256_REF_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/simd_ni.inl b/3rdparty/bx/include/bx/inline/simd_ni.inl new file mode 100644 index 00000000000..95767f25b95 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/simd_ni.inl @@ -0,0 +1,558 @@ +/* + * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SIMD_NI_H_HEADER_GUARD +#define BX_SIMD_NI_H_HEADER_GUARD + +namespace bx +{ + template + BX_SIMD_INLINE Ty simd_shuf_xAzC_ni(Ty _a, Ty _b) + { + const Ty xAyB = simd_shuf_xAyB(_a, _b); + const Ty zCwD = simd_shuf_zCwD(_a, _b); + const Ty result = simd_shuf_xyAB(xAyB, zCwD); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_shuf_yBwD_ni(Ty _a, Ty _b) + { + const Ty xAyB = simd_shuf_xAyB(_a, _b); + const Ty zCwD = simd_shuf_zCwD(_a, _b); + const Ty result = simd_shuf_zwCD(xAyB, zCwD); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_madd_ni(Ty _a, Ty _b, Ty _c) + { + const Ty mul = simd_mul(_a, _b); + const Ty result = simd_add(mul, _c); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_nmsub_ni(Ty _a, Ty _b, Ty _c) + { + const Ty mul = simd_mul(_a, _b); + const Ty result = simd_sub(_c, mul); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_div_nr_ni(Ty _a, Ty _b) + { + const Ty oneish = simd_isplat(0x3f800001); + const Ty est = simd_rcp_est(_b); + const Ty iter0 = simd_mul(_a, est); + const Ty tmp1 = simd_nmsub(_b, est, oneish); + const Ty result = simd_madd(tmp1, iter0, iter0); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_rcp_ni(Ty _a) + { + const Ty one = simd_splat(1.0f); + const Ty result = simd_div(one, _a); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_orx_ni(Ty _a) + { + const Ty zwxy = simd_swiz_zwxy(_a); + const Ty tmp0 = simd_or(_a, zwxy); + const Ty tmp1 = simd_swiz_yyyy(_a); + const Ty tmp2 = simd_or(tmp0, tmp1); + const Ty mf000 = simd_ild(UINT32_MAX, 0, 0, 0); + const Ty result = simd_and(tmp2, mf000); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_orc_ni(Ty _a, Ty _b) + { + const Ty aorb = simd_or(_a, _b); + const Ty mffff = simd_isplat(UINT32_MAX); + const Ty result = simd_xor(aorb, mffff); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_neg_ni(Ty _a) + { + const Ty zero = simd_zero(); + const Ty result = simd_sub(zero, _a); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_selb_ni(Ty _mask, Ty _a, Ty _b) + { + const Ty sel_a = simd_and(_a, _mask); + const Ty sel_b = simd_andc(_b, _mask); + const Ty result = simd_or(sel_a, sel_b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_sels_ni(Ty _test, Ty _a, Ty _b) + { + const Ty mask = simd_sra(_test, 31); + const Ty result = simd_selb(mask, _a, _b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_not_ni(Ty _a) + { + const Ty mffff = simd_isplat(UINT32_MAX); + const Ty result = simd_xor(_a, mffff); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_min_ni(Ty _a, Ty _b) + { + const Ty mask = simd_cmplt(_a, _b); + const Ty result = simd_selb(mask, _a, _b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_max_ni(Ty _a, Ty _b) + { + const Ty mask = simd_cmpgt(_a, _b); + const Ty result = simd_selb(mask, _a, _b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_abs_ni(Ty _a) + { + const Ty a_neg = simd_neg(_a); + const Ty result = simd_max(a_neg, _a); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_imin_ni(Ty _a, Ty _b) + { + const Ty mask = simd_icmplt(_a, _b); + const Ty result = simd_selb(mask, _a, _b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_imax_ni(Ty _a, Ty _b) + { + const Ty mask = simd_icmpgt(_a, _b); + const Ty result = simd_selb(mask, _a, _b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_clamp_ni(Ty _a, Ty _min, Ty _max) + { + const Ty tmp = simd_min(_a, _max); + const Ty result = simd_max(tmp, _min); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_lerp_ni(Ty _a, Ty _b, Ty _s) + { + const Ty ba = simd_sub(_b, _a); + const Ty result = simd_madd(_s, ba, _a); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_sqrt_nr_ni(Ty _a) + { + const Ty half = simd_splat(0.5f); + const Ty one = simd_splat(1.0f); + const Ty tmp0 = simd_rsqrt_est(_a); + const Ty tmp1 = simd_mul(tmp0, _a); + const Ty tmp2 = simd_mul(tmp1, half); + const Ty tmp3 = simd_nmsub(tmp0, tmp1, one); + const Ty result = simd_madd(tmp3, tmp2, tmp1); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_sqrt_nr1_ni(Ty _a) + { + const Ty half = simd_splat(0.5f); + + Ty result = _a; + for (uint32_t ii = 0; ii < 11; ++ii) + { + const Ty tmp1 = simd_div(_a, result); + const Ty tmp2 = simd_add(tmp1, result); + result = simd_mul(tmp2, half); + } + + return result; + } + + template + BX_SIMD_INLINE Ty simd_rsqrt_ni(Ty _a) + { + const Ty one = simd_splat(1.0f); + const Ty sqrt = simd_sqrt(_a); + const Ty result = simd_div(one, sqrt); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_rsqrt_nr_ni(Ty _a) + { + const Ty rsqrt = simd_rsqrt_est(_a); + const Ty iter0 = simd_mul(_a, rsqrt); + const Ty iter1 = simd_mul(iter0, rsqrt); + const Ty half = simd_splat(0.5f); + const Ty half_rsqrt = simd_mul(half, rsqrt); + const Ty three = simd_splat(3.0f); + const Ty three_sub_iter1 = simd_sub(three, iter1); + const Ty result = simd_mul(half_rsqrt, three_sub_iter1); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_rsqrt_carmack_ni(Ty _a) + { + const Ty half = simd_splat(0.5f); + const Ty ah = simd_mul(half, _a); + const Ty ashift = simd_sra(_a, 1); + const Ty magic = simd_isplat(0x5f3759df); + const Ty msuba = simd_isub(magic, ashift); + const Ty msubasq = simd_mul(msuba, msuba); + const Ty tmp0 = simd_splat(1.5f); + const Ty tmp1 = simd_mul(ah, msubasq); + const Ty tmp2 = simd_sub(tmp0, tmp1); + const Ty result = simd_mul(msuba, tmp2); + + return result; + } + + namespace simd_logexp_detail + { + template + BX_SIMD_INLINE Ty simd_poly1(Ty _a, float _b, float _c) + { + const Ty bbbb = simd_splat(_b); + const Ty cccc = simd_splat(_c); + const Ty result = simd_madd(cccc, _a, bbbb); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_poly2(Ty _a, float _b, float _c, float _d) + { + const Ty bbbb = simd_splat(_b); + const Ty poly = simd_poly1(_a, _c, _d); + const Ty result = simd_madd(poly, _a, bbbb); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_poly3(Ty _a, float _b, float _c, float _d, float _e) + { + const Ty bbbb = simd_splat(_b); + const Ty poly = simd_poly2(_a, _c, _d, _e); + const Ty result = simd_madd(poly, _a, bbbb); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_poly4(Ty _a, float _b, float _c, float _d, float _e, float _f) + { + const Ty bbbb = simd_splat(_b); + const Ty poly = simd_poly3(_a, _c, _d, _e, _f); + const Ty result = simd_madd(poly, _a, bbbb); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_poly5(Ty _a, float _b, float _c, float _d, float _e, float _f, float _g) + { + const Ty bbbb = simd_splat(_b); + const Ty poly = simd_poly4(_a, _c, _d, _e, _f, _g); + const Ty result = simd_madd(poly, _a, bbbb); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_logpoly(Ty _a) + { +#if 1 + const Ty result = simd_poly5(_a + , 3.11578814719469302614f, -3.32419399085241980044f + , 2.59883907202499966007f, -1.23152682416275988241f + , 0.318212422185251071475f, -0.0344359067839062357313f + ); +#elif 0 + const Ty result = simd_poly4(_a + , 2.8882704548164776201f, -2.52074962577807006663f + , 1.48116647521213171641f, -0.465725644288844778798f + , 0.0596515482674574969533f + ); +#elif 0 + const Ty result = simd_poly3(_a + , 2.61761038894603480148f, -1.75647175389045657003f + , 0.688243882994381274313f, -0.107254423828329604454f + ); +#else + const Ty result = simd_poly2(_a + , 2.28330284476918490682f, -1.04913055217340124191f + , 0.204446009836232697516f + ); +#endif + + return result; + } + + template + BX_SIMD_INLINE Ty simd_exppoly(Ty _a) + { +#if 1 + const Ty result = simd_poly5(_a + , 9.9999994e-1f, 6.9315308e-1f + , 2.4015361e-1f, 5.5826318e-2f + , 8.9893397e-3f, 1.8775767e-3f + ); +#elif 0 + const Ty result = simd_poly4(_a + , 1.0000026f, 6.9300383e-1f + , 2.4144275e-1f, 5.2011464e-2f + , 1.3534167e-2f + ); +#elif 0 + const Ty result = simd_poly3(_a + , 9.9992520e-1f, 6.9583356e-1f + , 2.2606716e-1f, 7.8024521e-2f + ); +#else + const Ty result = simd_poly2(_a + , 1.0017247f, 6.5763628e-1f + , 3.3718944e-1f + ); +#endif // 0 + + return result; + } + } // namespace simd_internal + + template + BX_SIMD_INLINE Ty simd_log2_ni(Ty _a) + { + const Ty expmask = simd_isplat(0x7f800000); + const Ty mantmask = simd_isplat(0x007fffff); + const Ty one = simd_splat(1.0f); + + const Ty c127 = simd_isplat(127); + const Ty aexp = simd_and(_a, expmask); + const Ty aexpsr = simd_srl(aexp, 23); + const Ty tmp0 = simd_isub(aexpsr, c127); + const Ty exp = simd_itof(tmp0); + + const Ty amask = simd_and(_a, mantmask); + const Ty mant = simd_or(amask, one); + + const Ty poly = simd_logexp_detail::simd_logpoly(mant); + + const Ty mandiff = simd_sub(mant, one); + const Ty result = simd_madd(poly, mandiff, exp); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_exp2_ni(Ty _a) + { + const Ty min = simd_splat( 129.0f); + const Ty max = simd_splat(-126.99999f); + const Ty tmp0 = simd_min(_a, min); + const Ty aaaa = simd_max(tmp0, max); + + const Ty half = simd_splat(0.5f); + const Ty tmp2 = simd_sub(aaaa, half); + const Ty ipart = simd_ftoi(tmp2); + const Ty iround = simd_itof(ipart); + const Ty fpart = simd_sub(aaaa, iround); + + const Ty c127 = simd_isplat(127); + const Ty tmp5 = simd_iadd(ipart, c127); + const Ty expipart = simd_sll(tmp5, 23); + + const Ty expfpart = simd_logexp_detail::simd_exppoly(fpart); + + const Ty result = simd_mul(expipart, expfpart); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_pow_ni(Ty _a, Ty _b) + { + const Ty alog2 = simd_log2(_a); + const Ty alog2b = simd_mul(alog2, _b); + const Ty result = simd_exp2(alog2b); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_dot3_ni(Ty _a, Ty _b) + { + const Ty xyzw = simd_mul(_a, _b); + const Ty xxxx = simd_swiz_xxxx(xyzw); + const Ty yyyy = simd_swiz_yyyy(xyzw); + const Ty zzzz = simd_swiz_zzzz(xyzw); + const Ty tmp1 = simd_add(xxxx, yyyy); + const Ty result = simd_add(zzzz, tmp1); + return result; + } + + template + BX_SIMD_INLINE Ty simd_cross3_ni(Ty _a, Ty _b) + { + // a.yzx * b.zxy - a.zxy * b.yzx == (a * b.yzx - a.yzx * b).yzx +#if 0 + const Ty a_yzxw = simd_swiz_yzxw(_a); + const Ty a_zxyw = simd_swiz_zxyw(_a); + const Ty b_zxyw = simd_swiz_zxyw(_b); + const Ty b_yzxw = simd_swiz_yzxw(_b); + const Ty tmp = simd_mul(a_yzxw, b_zxyw); + const Ty result = simd_nmsub(a_zxyw, b_yzxw, tmp); +#else + const Ty a_yzxw = simd_swiz_yzxw(_a); + const Ty b_yzxw = simd_swiz_yzxw(_b); + const Ty tmp0 = simd_mul(_a, b_yzxw); + const Ty tmp1 = simd_nmsub(a_yzxw, _b, tmp0); + const Ty result = simd_swiz_yzxw(tmp1); +#endif + + return result; + } + + template + BX_SIMD_INLINE Ty simd_normalize3_ni(Ty _a) + { + const Ty dot3 = simd_dot3(_a, _a); + const Ty invSqrt = simd_rsqrt(dot3); + const Ty result = simd_mul(_a, invSqrt); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_dot_ni(Ty _a, Ty _b) + { + const Ty xyzw = simd_mul(_a, _b); + const Ty yzwx = simd_swiz_yzwx(xyzw); + const Ty tmp0 = simd_add(xyzw, yzwx); + const Ty zwxy = simd_swiz_zwxy(tmp0); + const Ty result = simd_add(tmp0, zwxy); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_ceil_ni(Ty _a) + { + const Ty tmp0 = simd_ftoi(_a); + const Ty tmp1 = simd_itof(tmp0); + const Ty mask = simd_cmplt(tmp1, _a); + const Ty one = simd_splat(1.0f); + const Ty tmp2 = simd_and(one, mask); + const Ty result = simd_add(tmp1, tmp2); + + return result; + } + + template + BX_SIMD_INLINE Ty simd_floor_ni(Ty _a) + { + const Ty tmp0 = simd_ftoi(_a); + const Ty tmp1 = simd_itof(tmp0); + const Ty mask = simd_cmpgt(tmp1, _a); + const Ty one = simd_splat(1.0f); + const Ty tmp2 = simd_and(one, mask); + const Ty result = simd_sub(tmp1, tmp2); + + return result; + } + + template + BX_SIMD_FORCE_INLINE Ty simd_round_ni(Ty _a) + { + const Ty tmp = simd_ftoi(_a); + const Ty result = simd_itof(tmp); + + return result; + } + + template + BX_SIMD_INLINE bool simd_test_any_ni(Ty _a) + { + const Ty mask = simd_sra(_a, 31); + const Ty zwxy = simd_swiz_zwxy(mask); + const Ty tmp0 = simd_or(mask, zwxy); + const Ty tmp1 = simd_swiz_yyyy(tmp0); + const Ty tmp2 = simd_or(tmp0, tmp1); + int res; + simd_stx(&res, tmp2); + return 0 != res; + } + + template + BX_SIMD_INLINE bool simd_test_all_ni(Ty _a) + { + const Ty bits = simd_sra(_a, 31); + const Ty m1248 = simd_ild(1, 2, 4, 8); + const Ty mask = simd_and(bits, m1248); + const Ty zwxy = simd_swiz_zwxy(mask); + const Ty tmp0 = simd_or(mask, zwxy); + const Ty tmp1 = simd_swiz_yyyy(tmp0); + const Ty tmp2 = simd_or(tmp0, tmp1); + int res; + simd_stx(&res, tmp2); + return 0xf == res; + } + +} // namespace bx + +#endif // BX_SIMD_NI_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/inline/sort.inl b/3rdparty/bx/include/bx/inline/sort.inl new file mode 100644 index 00000000000..1f5dcf21690 --- /dev/null +++ b/3rdparty/bx/include/bx/inline/sort.inl @@ -0,0 +1,288 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SORT_H_HEADER_GUARD +# error "Must be included from bx/sort.h!" +#endif // BX_SORT_H_HEADER_GUARD + +namespace bx +{ +#define BX_RADIXSORT_BITS 11 +#define BX_RADIXSORT_HISTOGRAM_SIZE (1<>shift)&BX_RADIXSORT_BIT_MASK; + ++histogram[index]; + sorted &= prevKey <= key; + } + } + + if (sorted) + { + goto done; + } + + uint32_t offset = 0; + for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) + { + uint32_t count = histogram[ii]; + histogram[ii] = offset; + offset += count; + } + + for (uint32_t ii = 0; ii < _size; ++ii) + { + uint32_t key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + uint32_t dest = histogram[index]++; + tempKeys[dest] = key; + } + + uint32_t* swapKeys = tempKeys; + tempKeys = keys; + keys = swapKeys; + + shift += BX_RADIXSORT_BITS; + } + +done: + if (0 != (pass&1) ) + { + // Odd number of passes needs to do copy to the destination. + memCopy(_keys, _tempKeys, _size*sizeof(uint32_t) ); + } + } + + template + inline void radixSort(uint32_t* _keys, uint32_t* _tempKeys, Ty* _values, Ty* _tempValues, uint32_t _size) + { + uint32_t* keys = _keys; + uint32_t* tempKeys = _tempKeys; + Ty* values = _values; + Ty* tempValues = _tempValues; + + uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; + uint16_t shift = 0; + uint32_t pass = 0; + for (; pass < 3; ++pass) + { + memSet(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); + + bool sorted = true; + { + uint32_t key = keys[0]; + uint32_t prevKey = key; + for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) + { + key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + ++histogram[index]; + sorted &= prevKey <= key; + } + } + + if (sorted) + { + goto done; + } + + uint32_t offset = 0; + for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) + { + uint32_t count = histogram[ii]; + histogram[ii] = offset; + offset += count; + } + + for (uint32_t ii = 0; ii < _size; ++ii) + { + uint32_t key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + uint32_t dest = histogram[index]++; + tempKeys[dest] = key; + tempValues[dest] = values[ii]; + } + + uint32_t* swapKeys = tempKeys; + tempKeys = keys; + keys = swapKeys; + + Ty* swapValues = tempValues; + tempValues = values; + values = swapValues; + + shift += BX_RADIXSORT_BITS; + } + +done: + if (0 != (pass&1) ) + { + // Odd number of passes needs to do copy to the destination. + memCopy(_keys, _tempKeys, _size*sizeof(uint32_t) ); + for (uint32_t ii = 0; ii < _size; ++ii) + { + _values[ii] = _tempValues[ii]; + } + } + } + + inline void radixSort(uint64_t* _keys, uint64_t* _tempKeys, uint32_t _size) + { + uint64_t* keys = _keys; + uint64_t* tempKeys = _tempKeys; + + uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; + uint16_t shift = 0; + uint32_t pass = 0; + for (; pass < 6; ++pass) + { + memSet(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); + + bool sorted = true; + { + uint64_t key = keys[0]; + uint64_t prevKey = key; + for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) + { + key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + ++histogram[index]; + sorted &= prevKey <= key; + } + } + + if (sorted) + { + goto done; + } + + uint32_t offset = 0; + for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) + { + uint32_t count = histogram[ii]; + histogram[ii] = offset; + offset += count; + } + + for (uint32_t ii = 0; ii < _size; ++ii) + { + uint64_t key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + uint32_t dest = histogram[index]++; + tempKeys[dest] = key; + } + + uint64_t* swapKeys = tempKeys; + tempKeys = keys; + keys = swapKeys; + + shift += BX_RADIXSORT_BITS; + } + +done: + if (0 != (pass&1) ) + { + // Odd number of passes needs to do copy to the destination. + memCopy(_keys, _tempKeys, _size*sizeof(uint64_t) ); + } + } + + template + inline void radixSort(uint64_t* _keys, uint64_t* _tempKeys, Ty* _values, Ty* _tempValues, uint32_t _size) + { + uint64_t* keys = _keys; + uint64_t* tempKeys = _tempKeys; + Ty* values = _values; + Ty* tempValues = _tempValues; + + uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; + uint16_t shift = 0; + uint32_t pass = 0; + for (; pass < 6; ++pass) + { + memSet(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); + + bool sorted = true; + { + uint64_t key = keys[0]; + uint64_t prevKey = key; + for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) + { + key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + ++histogram[index]; + sorted &= prevKey <= key; + } + } + + if (sorted) + { + goto done; + } + + uint32_t offset = 0; + for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) + { + uint32_t count = histogram[ii]; + histogram[ii] = offset; + offset += count; + } + + for (uint32_t ii = 0; ii < _size; ++ii) + { + uint64_t key = keys[ii]; + uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; + uint32_t dest = histogram[index]++; + tempKeys[dest] = key; + tempValues[dest] = values[ii]; + } + + uint64_t* swapKeys = tempKeys; + tempKeys = keys; + keys = swapKeys; + + Ty* swapValues = tempValues; + tempValues = values; + values = swapValues; + + shift += BX_RADIXSORT_BITS; + } + +done: + if (0 != (pass&1) ) + { + // Odd number of passes needs to do copy to the destination. + memCopy(_keys, _tempKeys, _size*sizeof(uint64_t) ); + for (uint32_t ii = 0; ii < _size; ++ii) + { + _values[ii] = _tempValues[ii]; + } + } + } + +#undef BX_RADIXSORT_BITS +#undef BX_RADIXSORT_HISTOGRAM_SIZE +#undef BX_RADIXSORT_BIT_MASK + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/spscqueue.inl b/3rdparty/bx/include/bx/inline/spscqueue.inl new file mode 100644 index 00000000000..7d80f078f2b --- /dev/null +++ b/3rdparty/bx/include/bx/inline/spscqueue.inl @@ -0,0 +1,158 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SPSCQUEUE_H_HEADER_GUARD +# error "Must be included from bx/spscqueue.h!" +#endif // BX_SPSCQUEUE_H_HEADER_GUARD + +namespace bx +{ + // http://drdobbs.com/article/print?articleId=210604448&siteSectionName= + inline SpScUnboundedQueue::SpScUnboundedQueue() + : m_first(new Node(NULL) ) + , m_divider(m_first) + , m_last(m_first) + { + } + + inline SpScUnboundedQueue::~SpScUnboundedQueue() + { + while (NULL != m_first) + { + Node* node = m_first; + m_first = node->m_next; + delete node; + } + } + + inline void SpScUnboundedQueue::push(void* _ptr) + { + m_last->m_next = new Node( (void*)_ptr); + atomicExchangePtr( (void**)&m_last, m_last->m_next); + while (m_first != m_divider) + { + Node* node = m_first; + m_first = m_first->m_next; + delete node; + } + } + + inline void* SpScUnboundedQueue::peek() + { + if (m_divider != m_last) + { + return m_divider->m_next->m_ptr; + } + + return NULL; + } + + inline void* SpScUnboundedQueue::pop() + { + if (m_divider != m_last) + { + void* ptr = m_divider->m_next->m_ptr; + atomicExchangePtr( (void**)&m_divider, m_divider->m_next); + return ptr; + } + + return NULL; + } + + inline SpScUnboundedQueue::Node::Node(void* _ptr) + : m_ptr(_ptr) + , m_next(NULL) + { + } + + template + inline SpScUnboundedQueueT::SpScUnboundedQueueT() + { + } + + template + inline SpScUnboundedQueueT::~SpScUnboundedQueueT() + { + } + + template + inline void SpScUnboundedQueueT::push(Ty* _ptr) + { + m_queue.push(_ptr); + } + + template + inline Ty* SpScUnboundedQueueT::peek() + { + return (Ty*)m_queue.peek(); + } + + template + inline Ty* SpScUnboundedQueueT::pop() + { + return (Ty*)m_queue.pop(); + } + +#if BX_CONFIG_SUPPORTS_THREADING + inline SpScBlockingUnboundedQueue::SpScBlockingUnboundedQueue() + { + } + + inline SpScBlockingUnboundedQueue::~SpScBlockingUnboundedQueue() + { + } + + inline void SpScBlockingUnboundedQueue::push(void* _ptr) + { + m_queue.push( (void*)_ptr); + m_count.post(); + } + + inline void* SpScBlockingUnboundedQueue::peek() + { + return m_queue.peek(); + } + + inline void* SpScBlockingUnboundedQueue::pop(int32_t _msecs) + { + if (m_count.wait(_msecs) ) + { + return m_queue.pop(); + } + + return NULL; + } + + template + inline SpScBlockingUnboundedQueueT::SpScBlockingUnboundedQueueT() + { + } + + template + inline SpScBlockingUnboundedQueueT::~SpScBlockingUnboundedQueueT() + { + } + + template + inline void SpScBlockingUnboundedQueueT::push(Ty* _ptr) + { + m_queue.push(_ptr); + } + + template + inline Ty* SpScBlockingUnboundedQueueT::peek() + { + return (Ty*)m_queue.peek(); + } + + template + inline Ty* SpScBlockingUnboundedQueueT::pop(int32_t _msecs) + { + return (Ty*)m_queue.pop(_msecs); + } + +#endif // BX_CONFIG_SUPPORTS_THREADING + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/string.inl b/3rdparty/bx/include/bx/inline/string.inl new file mode 100644 index 00000000000..7b6f6500b7c --- /dev/null +++ b/3rdparty/bx/include/bx/inline/string.inl @@ -0,0 +1,190 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_STRING_H_HEADER_GUARD +# error "Must be included from bx/string.h!" +#endif // BX_STRING_H_HEADER_GUARD + +#if BX_CRT_MSVC && !defined(va_copy) +# define va_copy(_a, _b) (_a) = (_b) +#endif // BX_CRT_MSVC && !defined(va_copy) + +namespace bx +{ + template + inline void stringPrintfVargs(Ty& _out, const char* _format, va_list _argList) + { + char temp[2048]; + + char* out = temp; + int32_t len = bx::vsnprintf(out, sizeof(temp), _format, _argList); + if ( (int32_t)sizeof(temp) < len) + { + out = (char*)alloca(len+1); + len = bx::vsnprintf(out, len, _format, _argList); + } + out[len] = '\0'; + _out.append(out); + } + + template + inline void stringPrintf(Ty& _out, const char* _format, ...) + { + va_list argList; + va_start(argList, _format); + stringPrintfVargs(_out, _format, argList); + va_end(argList); + } + + template + inline Ty replaceAll(const Ty& _str, const char* _from, const char* _to) + { + Ty str = _str; + typename Ty::size_type startPos = 0; + const typename Ty::size_type fromLen = strnlen(_from); + const typename Ty::size_type toLen = strnlen(_to); + while ( (startPos = str.find(_from, startPos) ) != Ty::npos) + { + str.replace(startPos, fromLen, _to); + startPos += toLen; + } + + return str; + } + + inline StringView::StringView() + { + clear(); + } + + inline StringView::StringView(const StringView& _rhs) + { + set(_rhs.m_ptr, _rhs.m_len); + } + + inline StringView& StringView::operator=(const StringView& _rhs) + { + set(_rhs.m_ptr, _rhs.m_len); + return *this; + } + + inline StringView::StringView(const char* _ptr, int32_t _len) + { + set(_ptr, _len); + } + + inline void StringView::set(const char* _ptr, int32_t _len) + { + clear(); + + if (NULL != _ptr) + { + int32_t len = strnlen(_ptr, _len); + if (0 != len) + { + m_len = len; + m_ptr = _ptr; + } + } + } + + inline void StringView::clear() + { + m_ptr = ""; + m_len = 0; + } + + inline const char* StringView::getPtr() const + { + return m_ptr; + } + + inline const char* StringView::getTerm() const + { + return m_ptr + m_len; + } + + inline bool StringView::isEmpty() const + { + return 0 == m_len; + } + + inline int32_t StringView::getLength() const + { + return m_len; + } + + template + inline StringT::StringT() + : StringView() + { + } + + template + inline StringT::StringT(const StringT& _rhs) + : StringView() + { + set(_rhs.m_ptr, _rhs.m_len); + } + + template + inline StringT& StringT::operator=(const StringT& _rhs) + { + set(_rhs.m_ptr, _rhs.m_len); + return *this; + } + + template + inline StringT::StringT(const char* _ptr, int32_t _len) + { + set(_ptr, _len); + } + + template + inline StringT::StringT(const StringView& _rhs) + { + set(_rhs.getPtr(), _rhs.getLength() ); + } + + template + inline StringT::~StringT() + { + clear(); + } + + template + inline void StringT::set(const char* _ptr, int32_t _len) + { + clear(); + append(_ptr, _len); + } + + template + inline void StringT::append(const char* _ptr, int32_t _len) + { + if (0 != _len) + { + int32_t old = m_len; + int32_t len = m_len + strnlen(_ptr, _len); + char* ptr = (char*)BX_REALLOC(*AllocatorT, 0 != m_len ? const_cast(m_ptr) : NULL, len+1); + m_len = len; + strlncpy(ptr + old, len-old+1, _ptr, _len); + + *const_cast(&m_ptr) = ptr; + } + } + + template + inline void StringT::clear() + { + if (0 != m_len) + { + BX_FREE(*AllocatorT, const_cast(m_ptr) ); + + StringView::clear(); + } + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/inline/uint32_t.inl b/3rdparty/bx/include/bx/inline/uint32_t.inl new file mode 100644 index 00000000000..8a66a07ca2d --- /dev/null +++ b/3rdparty/bx/include/bx/inline/uint32_t.inl @@ -0,0 +1,781 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +// Copyright 2006 Mike Acton +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE + +#ifndef BX_UINT32_T_H_HEADER_GUARD +# error "Must be included from bx/uint32_t.h" +#endif // BX_UINT32_T_H_HEADER_GUARD + +namespace bx +{ + inline uint32_t uint32_li(uint32_t _a) + { + return _a; + } + + inline uint32_t uint32_dec(uint32_t _a) + { + return _a - 1; + } + + inline uint32_t uint32_inc(uint32_t _a) + { + return _a + 1; + } + + inline uint32_t uint32_not(uint32_t _a) + { + return ~_a; + } + + inline uint32_t uint32_neg(uint32_t _a) + { + return -(int32_t)_a; + } + + inline uint32_t uint32_ext(uint32_t _a) + { + return ( (int32_t)_a)>>31; + } + + inline uint32_t uint32_and(uint32_t _a, uint32_t _b) + { + return _a & _b; + } + + inline uint32_t uint32_andc(uint32_t _a, uint32_t _b) + { + return _a & ~_b; + } + + inline uint32_t uint32_xor(uint32_t _a, uint32_t _b) + { + return _a ^ _b; + } + + inline uint32_t uint32_xorl(uint32_t _a, uint32_t _b) + { + return !_a != !_b; + } + + inline uint32_t uint32_or(uint32_t _a, uint32_t _b) + { + return _a | _b; + } + + inline uint32_t uint32_orc(uint32_t _a, uint32_t _b) + { + return _a | ~_b; + } + + inline uint32_t uint32_sll(uint32_t _a, int _sa) + { + return _a << _sa; + } + + inline uint32_t uint32_srl(uint32_t _a, int _sa) + { + return _a >> _sa; + } + + inline uint32_t uint32_sra(uint32_t _a, int _sa) + { + return ( (int32_t)_a) >> _sa; + } + + inline uint32_t uint32_rol(uint32_t _a, int _sa) + { + return ( _a << _sa) | (_a >> (32-_sa) ); + } + + inline uint32_t uint32_ror(uint32_t _a, int _sa) + { + return ( _a >> _sa) | (_a << (32-_sa) ); + } + + inline uint32_t uint32_add(uint32_t _a, uint32_t _b) + { + return _a + _b; + } + + inline uint32_t uint32_sub(uint32_t _a, uint32_t _b) + { + return _a - _b; + } + + inline uint32_t uint32_mul(uint32_t _a, uint32_t _b) + { + return _a * _b; + } + + inline uint32_t uint32_div(uint32_t _a, uint32_t _b) + { + return (_a / _b); + } + + inline uint32_t uint32_mod(uint32_t _a, uint32_t _b) + { + return (_a % _b); + } + + inline uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b) + { + return -(_a == _b); + } + + inline uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b) + { + return -(_a != _b); + } + + inline uint32_t uint32_cmplt(uint32_t _a, uint32_t _b) + { + return -(_a < _b); + } + + inline uint32_t uint32_cmple(uint32_t _a, uint32_t _b) + { + return -(_a <= _b); + } + + inline uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b) + { + return -(_a > _b); + } + + inline uint32_t uint32_cmpge(uint32_t _a, uint32_t _b) + { + return -(_a >= _b); + } + + inline uint32_t uint32_setnz(uint32_t _a) + { + return -!!_a; + } + + inline uint32_t uint32_satadd(uint32_t _a, uint32_t _b) + { + const uint32_t add = uint32_add(_a, _b); + const uint32_t lt = uint32_cmplt(add, _a); + const uint32_t result = uint32_or(add, lt); + + return result; + } + + inline uint32_t uint32_satsub(uint32_t _a, uint32_t _b) + { + const uint32_t sub = uint32_sub(_a, _b); + const uint32_t le = uint32_cmple(sub, _a); + const uint32_t result = uint32_and(sub, le); + + return result; + } + + inline uint32_t uint32_satmul(uint32_t _a, uint32_t _b) + { + const uint64_t mul = (uint64_t)_a * (uint64_t)_b; + const uint32_t hi = mul >> 32; + const uint32_t nz = uint32_setnz(hi); + const uint32_t result = uint32_or(uint32_t(mul), nz); + + return result; + } + + inline uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b) + { + const uint32_t mask = uint32_ext(test); + const uint32_t sel_a = uint32_and(_a, mask); + const uint32_t sel_b = uint32_andc(_b, mask); + const uint32_t result = uint32_or(sel_a, sel_b); + + return (result); + } + + inline uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b) + { + const uint32_t sel_a = uint32_and(_a, _mask); + const uint32_t sel_b = uint32_andc(_b, _mask); + const uint32_t result = uint32_or(sel_a, sel_b); + + return (result); + } + + inline uint32_t uint32_imin(uint32_t _a, uint32_t _b) + { + const uint32_t a_sub_b = uint32_sub(_a, _b); + const uint32_t result = uint32_sels(a_sub_b, _a, _b); + + return result; + } + + inline uint32_t uint32_imax(uint32_t _a, uint32_t _b) + { + const uint32_t b_sub_a = uint32_sub(_b, _a); + const uint32_t result = uint32_sels(b_sub_a, _a, _b); + + return result; + } + + inline uint32_t uint32_min(uint32_t _a, uint32_t _b) + { + return _a > _b ? _b : _a; + } + + inline uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c) + { + return uint32_min(_a, uint32_min(_b, _c) ); + } + + inline uint32_t uint32_max(uint32_t _a, uint32_t _b) + { + return _a > _b ? _a : _b; + } + + inline uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c) + { + return uint32_max(_a, uint32_max(_b, _c) ); + } + + inline uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max) + { + const uint32_t tmp = uint32_max(_a, _min); + const uint32_t result = uint32_min(tmp, _max); + + return result; + } + + inline uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max) + { + const uint32_t tmp = uint32_imax(_a, _min); + const uint32_t result = uint32_imin(tmp, _max); + + return result; + } + + inline uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max) + { + const uint32_t inc = uint32_inc(_val); + const uint32_t max_diff = uint32_sub(_max, _val); + const uint32_t neg_max_diff = uint32_neg(max_diff); + const uint32_t max_or = uint32_or(max_diff, neg_max_diff); + const uint32_t max_diff_nz = uint32_ext(max_or); + const uint32_t result = uint32_selb(max_diff_nz, inc, _min); + + return result; + } + + inline uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max) + { + const uint32_t dec = uint32_dec(_val); + const uint32_t min_diff = uint32_sub(_min, _val); + const uint32_t neg_min_diff = uint32_neg(min_diff); + const uint32_t min_or = uint32_or(min_diff, neg_min_diff); + const uint32_t min_diff_nz = uint32_ext(min_or); + const uint32_t result = uint32_selb(min_diff_nz, dec, _max); + + return result; + } + + inline uint32_t uint32_cntbits_ref(uint32_t _val) + { + const uint32_t tmp0 = uint32_srl(_val, 1); + const uint32_t tmp1 = uint32_and(tmp0, 0x55555555); + const uint32_t tmp2 = uint32_sub(_val, tmp1); + const uint32_t tmp3 = uint32_and(tmp2, 0xc30c30c3); + const uint32_t tmp4 = uint32_srl(tmp2, 2); + const uint32_t tmp5 = uint32_and(tmp4, 0xc30c30c3); + const uint32_t tmp6 = uint32_srl(tmp2, 4); + const uint32_t tmp7 = uint32_and(tmp6, 0xc30c30c3); + const uint32_t tmp8 = uint32_add(tmp3, tmp5); + const uint32_t tmp9 = uint32_add(tmp7, tmp8); + const uint32_t tmpA = uint32_srl(tmp9, 6); + const uint32_t tmpB = uint32_add(tmp9, tmpA); + const uint32_t tmpC = uint32_srl(tmpB, 12); + const uint32_t tmpD = uint32_srl(tmpB, 24); + const uint32_t tmpE = uint32_add(tmpB, tmpC); + const uint32_t tmpF = uint32_add(tmpD, tmpE); + const uint32_t result = uint32_and(tmpF, 0x3f); + + return result; + } + + /// Count number of bits set. + inline uint32_t uint32_cntbits(uint32_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_popcount(_val); +#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS + return __popcnt(_val); +#else + return uint32_cntbits_ref(_val); +#endif // BX_COMPILER_ + } + + inline uint32_t uint32_cntlz_ref(uint32_t _val) + { + const uint32_t tmp0 = uint32_srl(_val, 1); + const uint32_t tmp1 = uint32_or(tmp0, _val); + const uint32_t tmp2 = uint32_srl(tmp1, 2); + const uint32_t tmp3 = uint32_or(tmp2, tmp1); + const uint32_t tmp4 = uint32_srl(tmp3, 4); + const uint32_t tmp5 = uint32_or(tmp4, tmp3); + const uint32_t tmp6 = uint32_srl(tmp5, 8); + const uint32_t tmp7 = uint32_or(tmp6, tmp5); + const uint32_t tmp8 = uint32_srl(tmp7, 16); + const uint32_t tmp9 = uint32_or(tmp8, tmp7); + const uint32_t tmpA = uint32_not(tmp9); + const uint32_t result = uint32_cntbits(tmpA); + + return result; + } + + /// Count number of leading zeros. + inline uint32_t uint32_cntlz(uint32_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_clz(_val); +#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS + unsigned long index; + _BitScanReverse(&index, _val); + return 31 - index; +#else + return uint32_cntlz_ref(_val); +#endif // BX_COMPILER_ + } + + inline uint32_t uint32_cnttz_ref(uint32_t _val) + { + const uint32_t tmp0 = uint32_not(_val); + const uint32_t tmp1 = uint32_dec(_val); + const uint32_t tmp2 = uint32_and(tmp0, tmp1); + const uint32_t result = uint32_cntbits(tmp2); + + return result; + } + + inline uint32_t uint32_cnttz(uint32_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_ctz(_val); +#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS + unsigned long index; + _BitScanForward(&index, _val); + return index; +#else + return uint32_cnttz_ref(_val); +#endif // BX_COMPILER_ + } + + // shuffle: + // ---- ---- ---- ---- fedc ba98 7654 3210 + // to: + // -f-e -d-c -b-a -9-8 -7-6 -5-4 -3-2 -1-0 + inline uint32_t uint32_part1by1(uint32_t _a) + { + const uint32_t val = uint32_and(_a, 0xffff); + + const uint32_t tmp0 = uint32_sll(val, 8); + const uint32_t tmp1 = uint32_xor(val, tmp0); + const uint32_t tmp2 = uint32_and(tmp1, 0x00ff00ff); + + const uint32_t tmp3 = uint32_sll(tmp2, 4); + const uint32_t tmp4 = uint32_xor(tmp2, tmp3); + const uint32_t tmp5 = uint32_and(tmp4, 0x0f0f0f0f); + + const uint32_t tmp6 = uint32_sll(tmp5, 2); + const uint32_t tmp7 = uint32_xor(tmp5, tmp6); + const uint32_t tmp8 = uint32_and(tmp7, 0x33333333); + + const uint32_t tmp9 = uint32_sll(tmp8, 1); + const uint32_t tmpA = uint32_xor(tmp8, tmp9); + const uint32_t result = uint32_and(tmpA, 0x55555555); + + return result; + } + + // shuffle: + // ---- ---- ---- ---- ---- --98 7654 3210 + // to: + // ---- 9--8 --7- -6-- 5--4 --3- -2-- 1--0 + inline uint32_t uint32_part1by2(uint32_t _a) + { + const uint32_t val = uint32_and(_a, 0x3ff); + + const uint32_t tmp0 = uint32_sll(val, 16); + const uint32_t tmp1 = uint32_xor(val, tmp0); + const uint32_t tmp2 = uint32_and(tmp1, 0xff0000ff); + + const uint32_t tmp3 = uint32_sll(tmp2, 8); + const uint32_t tmp4 = uint32_xor(tmp2, tmp3); + const uint32_t tmp5 = uint32_and(tmp4, 0x0300f00f); + + const uint32_t tmp6 = uint32_sll(tmp5, 4); + const uint32_t tmp7 = uint32_xor(tmp5, tmp6); + const uint32_t tmp8 = uint32_and(tmp7, 0x030c30c3); + + const uint32_t tmp9 = uint32_sll(tmp8, 2); + const uint32_t tmpA = uint32_xor(tmp8, tmp9); + const uint32_t result = uint32_and(tmpA, 0x09249249); + + return result; + } + + inline uint32_t uint32_testpow2(uint32_t _a) + { + const uint32_t tmp0 = uint32_not(_a); + const uint32_t tmp1 = uint32_inc(tmp0); + const uint32_t tmp2 = uint32_and(_a, tmp1); + const uint32_t tmp3 = uint32_cmpeq(tmp2, _a); + const uint32_t tmp4 = uint32_cmpneq(_a, 0); + const uint32_t result = uint32_and(tmp3, tmp4); + + return result; + } + + inline uint32_t uint32_nextpow2(uint32_t _a) + { + const uint32_t tmp0 = uint32_dec(_a); + const uint32_t tmp1 = uint32_srl(tmp0, 1); + const uint32_t tmp2 = uint32_or(tmp0, tmp1); + const uint32_t tmp3 = uint32_srl(tmp2, 2); + const uint32_t tmp4 = uint32_or(tmp2, tmp3); + const uint32_t tmp5 = uint32_srl(tmp4, 4); + const uint32_t tmp6 = uint32_or(tmp4, tmp5); + const uint32_t tmp7 = uint32_srl(tmp6, 8); + const uint32_t tmp8 = uint32_or(tmp6, tmp7); + const uint32_t tmp9 = uint32_srl(tmp8, 16); + const uint32_t tmpA = uint32_or(tmp8, tmp9); + const uint32_t result = uint32_inc(tmpA); + + return result; + } + + inline uint16_t halfFromFloat(float _a) + { + union { uint32_t ui; float flt; } ftou; + ftou.flt = _a; + + const uint32_t one = uint32_li(0x00000001); + const uint32_t f_s_mask = uint32_li(0x80000000); + const uint32_t f_e_mask = uint32_li(0x7f800000); + const uint32_t f_m_mask = uint32_li(0x007fffff); + const uint32_t f_m_hidden_bit = uint32_li(0x00800000); + const uint32_t f_m_round_bit = uint32_li(0x00001000); + const uint32_t f_snan_mask = uint32_li(0x7fc00000); + const uint32_t f_e_pos = uint32_li(0x00000017); + const uint32_t h_e_pos = uint32_li(0x0000000a); + const uint32_t h_e_mask = uint32_li(0x00007c00); + const uint32_t h_snan_mask = uint32_li(0x00007e00); + const uint32_t h_e_mask_value = uint32_li(0x0000001f); + const uint32_t f_h_s_pos_offset = uint32_li(0x00000010); + const uint32_t f_h_bias_offset = uint32_li(0x00000070); + const uint32_t f_h_m_pos_offset = uint32_li(0x0000000d); + const uint32_t h_nan_min = uint32_li(0x00007c01); + const uint32_t f_h_e_biased_flag = uint32_li(0x0000008f); + const uint32_t f_s = uint32_and(ftou.ui, f_s_mask); + const uint32_t f_e = uint32_and(ftou.ui, f_e_mask); + const uint16_t h_s = (uint16_t)uint32_srl(f_s, f_h_s_pos_offset); + const uint32_t f_m = uint32_and(ftou.ui, f_m_mask); + const uint16_t f_e_amount = (uint16_t)uint32_srl(f_e, f_e_pos); + const uint32_t f_e_half_bias = uint32_sub(f_e_amount, f_h_bias_offset); + const uint32_t f_snan = uint32_and(ftou.ui, f_snan_mask); + const uint32_t f_m_round_mask = uint32_and(f_m, f_m_round_bit); + const uint32_t f_m_round_offset = uint32_sll(f_m_round_mask, one); + const uint32_t f_m_rounded = uint32_add(f_m, f_m_round_offset); + const uint32_t f_m_denorm_sa = uint32_sub(one, f_e_half_bias); + const uint32_t f_m_with_hidden = uint32_or(f_m_rounded, f_m_hidden_bit); + const uint32_t f_m_denorm = uint32_srl(f_m_with_hidden, f_m_denorm_sa); + const uint32_t h_m_denorm = uint32_srl(f_m_denorm, f_h_m_pos_offset); + const uint32_t f_m_rounded_overflow = uint32_and(f_m_rounded, f_m_hidden_bit); + const uint32_t m_nan = uint32_srl(f_m, f_h_m_pos_offset); + const uint32_t h_em_nan = uint32_or(h_e_mask, m_nan); + const uint32_t h_e_norm_overflow_offset = uint32_inc(f_e_half_bias); + const uint32_t h_e_norm_overflow = uint32_sll(h_e_norm_overflow_offset, h_e_pos); + const uint32_t h_e_norm = uint32_sll(f_e_half_bias, h_e_pos); + const uint32_t h_m_norm = uint32_srl(f_m_rounded, f_h_m_pos_offset); + const uint32_t h_em_norm = uint32_or(h_e_norm, h_m_norm); + const uint32_t is_h_ndenorm_msb = uint32_sub(f_h_bias_offset, f_e_amount); + const uint32_t is_f_e_flagged_msb = uint32_sub(f_h_e_biased_flag, f_e_half_bias); + const uint32_t is_h_denorm_msb = uint32_not(is_h_ndenorm_msb); + const uint32_t is_f_m_eqz_msb = uint32_dec(f_m); + const uint32_t is_h_nan_eqz_msb = uint32_dec(m_nan); + const uint32_t is_f_inf_msb = uint32_and(is_f_e_flagged_msb, is_f_m_eqz_msb); + const uint32_t is_f_nan_underflow_msb = uint32_and(is_f_e_flagged_msb, is_h_nan_eqz_msb); + const uint32_t is_e_overflow_msb = uint32_sub(h_e_mask_value, f_e_half_bias); + const uint32_t is_h_inf_msb = uint32_or(is_e_overflow_msb, is_f_inf_msb); + const uint32_t is_f_nsnan_msb = uint32_sub(f_snan, f_snan_mask); + const uint32_t is_m_norm_overflow_msb = uint32_neg(f_m_rounded_overflow); + const uint32_t is_f_snan_msb = uint32_not(is_f_nsnan_msb); + const uint32_t h_em_overflow_result = uint32_sels(is_m_norm_overflow_msb, h_e_norm_overflow, h_em_norm); + const uint32_t h_em_nan_result = uint32_sels(is_f_e_flagged_msb, h_em_nan, h_em_overflow_result); + const uint32_t h_em_nan_underflow_result = uint32_sels(is_f_nan_underflow_msb, h_nan_min, h_em_nan_result); + const uint32_t h_em_inf_result = uint32_sels(is_h_inf_msb, h_e_mask, h_em_nan_underflow_result); + const uint32_t h_em_denorm_result = uint32_sels(is_h_denorm_msb, h_m_denorm, h_em_inf_result); + const uint32_t h_em_snan_result = uint32_sels(is_f_snan_msb, h_snan_mask, h_em_denorm_result); + const uint32_t h_result = uint32_or(h_s, h_em_snan_result); + + return (uint16_t)(h_result); + } + + inline float halfToFloat(uint16_t _a) + { + const uint32_t h_e_mask = uint32_li(0x00007c00); + const uint32_t h_m_mask = uint32_li(0x000003ff); + const uint32_t h_s_mask = uint32_li(0x00008000); + const uint32_t h_f_s_pos_offset = uint32_li(0x00000010); + const uint32_t h_f_e_pos_offset = uint32_li(0x0000000d); + const uint32_t h_f_bias_offset = uint32_li(0x0001c000); + const uint32_t f_e_mask = uint32_li(0x7f800000); + const uint32_t f_m_mask = uint32_li(0x007fffff); + const uint32_t h_f_e_denorm_bias = uint32_li(0x0000007e); + const uint32_t h_f_m_denorm_sa_bias = uint32_li(0x00000008); + const uint32_t f_e_pos = uint32_li(0x00000017); + const uint32_t h_e_mask_minus_one = uint32_li(0x00007bff); + const uint32_t h_e = uint32_and(_a, h_e_mask); + const uint32_t h_m = uint32_and(_a, h_m_mask); + const uint32_t h_s = uint32_and(_a, h_s_mask); + const uint32_t h_e_f_bias = uint32_add(h_e, h_f_bias_offset); + const uint32_t h_m_nlz = uint32_cntlz(h_m); + const uint32_t f_s = uint32_sll(h_s, h_f_s_pos_offset); + const uint32_t f_e = uint32_sll(h_e_f_bias, h_f_e_pos_offset); + const uint32_t f_m = uint32_sll(h_m, h_f_e_pos_offset); + const uint32_t f_em = uint32_or(f_e, f_m); + const uint32_t h_f_m_sa = uint32_sub(h_m_nlz, h_f_m_denorm_sa_bias); + const uint32_t f_e_denorm_unpacked = uint32_sub(h_f_e_denorm_bias, h_f_m_sa); + const uint32_t h_f_m = uint32_sll(h_m, h_f_m_sa); + const uint32_t f_m_denorm = uint32_and(h_f_m, f_m_mask); + const uint32_t f_e_denorm = uint32_sll(f_e_denorm_unpacked, f_e_pos); + const uint32_t f_em_denorm = uint32_or(f_e_denorm, f_m_denorm); + const uint32_t f_em_nan = uint32_or(f_e_mask, f_m); + const uint32_t is_e_eqz_msb = uint32_dec(h_e); + const uint32_t is_m_nez_msb = uint32_neg(h_m); + const uint32_t is_e_flagged_msb = uint32_sub(h_e_mask_minus_one, h_e); + const uint32_t is_zero_msb = uint32_andc(is_e_eqz_msb, is_m_nez_msb); + const uint32_t is_inf_msb = uint32_andc(is_e_flagged_msb, is_m_nez_msb); + const uint32_t is_denorm_msb = uint32_and(is_m_nez_msb, is_e_eqz_msb); + const uint32_t is_nan_msb = uint32_and(is_e_flagged_msb, is_m_nez_msb); + const uint32_t is_zero = uint32_ext(is_zero_msb); + const uint32_t f_zero_result = uint32_andc(f_em, is_zero); + const uint32_t f_denorm_result = uint32_sels(is_denorm_msb, f_em_denorm, f_zero_result); + const uint32_t f_inf_result = uint32_sels(is_inf_msb, f_e_mask, f_denorm_result); + const uint32_t f_nan_result = uint32_sels(is_nan_msb, f_em_nan, f_inf_result); + const uint32_t f_result = uint32_or(f_s, f_nan_result); + + union { uint32_t ui; float flt; } utof; + utof.ui = f_result; + return utof.flt; + } + + inline uint16_t uint16_min(uint16_t _a, uint16_t _b) + { + return _a > _b ? _b : _a; + } + + inline uint16_t uint16_max(uint16_t _a, uint16_t _b) + { + return _a < _b ? _b : _a; + } + + inline int64_t int64_min(int64_t _a, int64_t _b) + { + return _a < _b ? _a : _b; + } + + inline int64_t int64_max(int64_t _a, int64_t _b) + { + return _a > _b ? _a : _b; + } + + inline int64_t int64_clamp(int64_t _a, int64_t _min, int64_t _max) + { + const int64_t min = int64_min(_a, _max); + const int64_t result = int64_max(_min, min); + + return result; + } + + inline uint32_t uint64_cntbits_ref(uint64_t _val) + { + const uint32_t lo = uint32_t(_val&UINT32_MAX); + const uint32_t hi = uint32_t(_val>>32); + + const uint32_t total = bx::uint32_cntbits(lo) + + bx::uint32_cntbits(hi); + return total; + } + + /// Count number of bits set. + inline uint32_t uint64_cntbits(uint64_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_popcountll(_val); +#elif BX_COMPILER_MSVC && BX_ARCH_64BIT + return uint32_t(__popcnt64(_val) ); +#else + return uint64_cntbits_ref(_val); +#endif // BX_COMPILER_ + } + + inline uint32_t uint64_cntlz_ref(uint64_t _val) + { + return _val & UINT64_C(0xffffffff00000000) + ? uint32_cntlz(uint32_t(_val>>32) ) + : uint32_cntlz(uint32_t(_val) ) + 32 + ; + } + + /// Count number of leading zeros. + inline uint32_t uint64_cntlz(uint64_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_clzll(_val); +#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT + unsigned long index; + _BitScanReverse64(&index, _val); + return uint32_t(63 - index); +#else + return uint64_cntlz_ref(_val); +#endif // BX_COMPILER_ + } + + inline uint32_t uint64_cnttz_ref(uint64_t _val) + { + return _val & UINT64_C(0xffffffff) + ? uint32_cnttz(uint32_t(_val) ) + : uint32_cnttz(uint32_t(_val>>32) ) + 32 + ; + } + + inline uint32_t uint64_cnttz(uint64_t _val) + { +#if BX_COMPILER_GCC || BX_COMPILER_CLANG + return __builtin_ctzll(_val); +#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT + unsigned long index; + _BitScanForward64(&index, _val); + return uint32_t(index); +#else + return uint64_cnttz_ref(_val); +#endif // BX_COMPILER_ + } + + inline uint64_t uint64_sll(uint64_t _a, int _sa) + { + return _a << _sa; + } + + inline uint64_t uint64_srl(uint64_t _a, int _sa) + { + return _a >> _sa; + } + + inline uint64_t uint64_sra(uint64_t _a, int _sa) + { + return ( (int64_t)_a) >> _sa; + } + + inline uint64_t uint64_rol(uint64_t _a, int _sa) + { + return ( _a << _sa) | (_a >> (32-_sa) ); + } + + inline uint64_t uint64_ror(uint64_t _a, int _sa) + { + return ( _a >> _sa) | (_a << (32-_sa) ); + } + + inline uint64_t uint64_add(uint64_t _a, uint64_t _b) + { + return _a + _b; + } + + inline uint64_t uint64_sub(uint64_t _a, uint64_t _b) + { + return _a - _b; + } + + inline uint64_t uint64_mul(uint64_t _a, uint64_t _b) + { + return _a * _b; + } + + /// Greatest common divisor. + inline uint32_t uint32_gcd(uint32_t _a, uint32_t _b) + { + do + { + uint32_t tmp = _a % _b; + _a = _b; + _b = tmp; + } + while (_b); + + return _a; + } + + /// Least common multiple. + inline uint32_t uint32_lcm(uint32_t _a, uint32_t _b) + { + return _a * (_b / uint32_gcd(_a, _b) ); + } + + /// Align to arbitrary stride. + inline uint32_t strideAlign(uint32_t _offset, uint32_t _stride) + { + const uint32_t mod = uint32_mod(_offset, _stride); + const uint32_t add = uint32_sub(_stride, mod); + const uint32_t mask = uint32_cmpeq(mod, 0); + const uint32_t tmp = uint32_selb(mask, 0, add); + const uint32_t result = uint32_add(_offset, tmp); + + return result; + } + + /// Align to arbitrary stride and 16-bytes. + inline uint32_t strideAlign16(uint32_t _offset, uint32_t _stride) + { + const uint32_t align = uint32_lcm(16, _stride); + const uint32_t mod = uint32_mod(_offset, align); + const uint32_t mask = uint32_cmpeq(mod, 0); + const uint32_t tmp0 = uint32_selb(mask, 0, align); + const uint32_t tmp1 = uint32_add(_offset, tmp0); + const uint32_t result = uint32_sub(tmp1, mod); + + return result; + } + + /// Align to arbitrary stride and 256-bytes. + inline uint32_t strideAlign256(uint32_t _offset, uint32_t _stride) + { + const uint32_t align = uint32_lcm(256, _stride); + const uint32_t mod = uint32_mod(_offset, align); + const uint32_t mask = uint32_cmpeq(mod, 0); + const uint32_t tmp0 = uint32_selb(mask, 0, align); + const uint32_t tmp1 = uint32_add(_offset, tmp0); + const uint32_t result = uint32_sub(tmp1, mod); + + return result; + } + +} // namespace bx diff --git a/3rdparty/bx/include/bx/macros.h b/3rdparty/bx/include/bx/macros.h index 8dc35fa5865..1358507188d 100644 --- a/3rdparty/bx/include/bx/macros.h +++ b/3rdparty/bx/include/bx/macros.h @@ -101,8 +101,7 @@ # error "Unknown BX_COMPILER_?" #endif -// #define BX_STATIC_ASSERT(_condition, ...) static_assert(_condition, "" __VA_ARGS__) -#define BX_STATIC_ASSERT(_condition, ...) typedef char BX_CONCATENATE(BX_STATIC_ASSERT_, __LINE__)[1][(_condition)] BX_ATTRIBUTE(unused) +#define BX_STATIC_ASSERT(_condition, ...) static_assert(_condition, "" __VA_ARGS__) /// #define BX_ALIGN_DECL_16(_decl) BX_ALIGN_DECL(16, _decl) @@ -225,4 +224,7 @@ # define BX_WARN(_condition, ...) BX_NOOP() #endif // BX_CHECK +// static_assert sometimes causes unused-local-typedef... +BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Wunused-local-typedef") + #endif // BX_MACROS_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/mpscqueue.h b/3rdparty/bx/include/bx/mpscqueue.h index de4a6646db3..0ac8f82915a 100644 --- a/3rdparty/bx/include/bx/mpscqueue.h +++ b/3rdparty/bx/include/bx/mpscqueue.h @@ -6,48 +6,42 @@ #ifndef BX_MPSCQUEUE_H_HEADER_GUARD #define BX_MPSCQUEUE_H_HEADER_GUARD +#include "mutex.h" #include "spscqueue.h" namespace bx { + /// template - class MpScUnboundedQueue + class MpScUnboundedQueueT { - BX_CLASS(MpScUnboundedQueue + BX_CLASS(MpScUnboundedQueueT , NO_COPY , NO_ASSIGNMENT ); public: - MpScUnboundedQueue() - { - } - - ~MpScUnboundedQueue() - { - } - - void push(Ty* _ptr) // producer only - { - LwMutexScope lock(m_write); - m_queue.push(_ptr); - } - - Ty* peek() // consumer only - { - return m_queue.peek(); - } - - Ty* pop() // consumer only - { - return m_queue.pop(); - } + /// + MpScUnboundedQueueT(); + + /// + ~MpScUnboundedQueueT(); + + /// + void push(Ty* _ptr); // producer only + + /// + Ty* peek(); // consumer only + + /// + Ty* pop(); // consumer only private: - LwMutex m_write; - SpScUnboundedQueue m_queue; + Mutex m_write; + SpScUnboundedQueueT m_queue; }; + /// template class MpScUnboundedBlockingQueue { @@ -57,31 +51,25 @@ namespace bx ); public: - MpScUnboundedBlockingQueue() - { - } - - ~MpScUnboundedBlockingQueue() - { - } - - void push(Ty* _ptr) // producer only - { - m_queue.push(_ptr); - m_sem.post(); - } - - Ty* pop() // consumer only - { - m_sem.wait(); - return m_queue.pop(); - } + /// + MpScUnboundedBlockingQueue(); + + /// + ~MpScUnboundedBlockingQueue(); + + /// + void push(Ty* _ptr); // producer only + + /// + Ty* pop(); // consumer only private: - MpScUnboundedQueue m_queue; + MpScUnboundedQueueT m_queue; Semaphore m_sem; }; } // namespace bx +#include "inline/mpscqueue.inl" + #endif // BX_MPSCQUEUE_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/mutex.h b/3rdparty/bx/include/bx/mutex.h index 777e577b950..ac8ea7f03de 100644 --- a/3rdparty/bx/include/bx/mutex.h +++ b/3rdparty/bx/include/bx/mutex.h @@ -7,20 +7,6 @@ #define BX_MUTEX_H_HEADER_GUARD #include "bx.h" -#include "cpu.h" -#include "os.h" -#include "sem.h" - -#if BX_CONFIG_SUPPORTS_THREADING - -#if 0 \ - || BX_PLATFORM_ANDROID \ - || BX_PLATFORM_LINUX \ - || BX_PLATFORM_NACL \ - || BX_PLATFORM_IOS \ - || BX_PLATFORM_OSX -# include -#endif // namespace bx { @@ -46,11 +32,7 @@ namespace bx void unlock(); private: -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - CRITICAL_SECTION m_handle; -#else - pthread_mutex_t m_handle; -#endif // BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + BX_ALIGN_DECL(16, uint8_t) m_internal[64]; }; /// @@ -73,32 +55,8 @@ namespace bx Mutex& m_mutex; }; - typedef Mutex LwMutex; - - /// - class LwMutexScope - { - BX_CLASS(LwMutexScope - , NO_DEFAULT_CTOR - , NO_COPY - , NO_ASSIGNMENT - ); - - public: - /// - LwMutexScope(LwMutex& _mutex); - - /// - ~LwMutexScope(); - - private: - LwMutex& m_mutex; - }; - } // namespace bx -#include "mutex.inl" - -#endif // BX_CONFIG_SUPPORTS_THREADING +#include "inline/mutex.inl" #endif // BX_MUTEX_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/mutex.inl b/3rdparty/bx/include/bx/mutex.inl deleted file mode 100644 index 0d4140208e1..00000000000 --- a/3rdparty/bx/include/bx/mutex.inl +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_MUTEX_H_HEADER_GUARD -# error "Must be included from bx/mutex.h!" -#endif // BX_MUTEX_H_HEADER_GUARD - -namespace bx -{ - inline MutexScope::MutexScope(Mutex& _mutex) - : m_mutex(_mutex) - { - m_mutex.lock(); - } - - inline MutexScope::~MutexScope() - { - m_mutex.unlock(); - } - - inline LwMutexScope::LwMutexScope(LwMutex& _mutex) - : m_mutex(_mutex) - { - m_mutex.lock(); - } - - inline LwMutexScope::~LwMutexScope() - { - m_mutex.unlock(); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/os.h b/3rdparty/bx/include/bx/os.h index d2639756198..56781b25b0e 100644 --- a/3rdparty/bx/include/bx/os.h +++ b/3rdparty/bx/include/bx/os.h @@ -6,9 +6,7 @@ #ifndef BX_OS_H_HEADER_GUARD #define BX_OS_H_HEADER_GUARD -#include "bx.h" #include "debug.h" -#include #if BX_PLATFORM_OSX # define BX_DL_EXT "dylib" diff --git a/3rdparty/bx/include/bx/pixelformat.h b/3rdparty/bx/include/bx/pixelformat.h index 5b2bf565803..78354e48425 100644 --- a/3rdparty/bx/include/bx/pixelformat.h +++ b/3rdparty/bx/include/bx/pixelformat.h @@ -6,8 +6,8 @@ #ifndef BX_PIXEL_FORMAT_H_HEADER_GUARD #define BX_PIXEL_FORMAT_H_HEADER_GUARD -#include -#include +#include "fpumath.h" +#include "uint32_t.h" namespace bx { @@ -238,6 +238,6 @@ namespace bx } // namespace bx -#include "pixelformat.inl" +#include "inline/pixelformat.inl" #endif // BX_PIXEL_FORMAT_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/pixelformat.inl b/3rdparty/bx/include/bx/pixelformat.inl deleted file mode 100644 index be48c85d931..00000000000 --- a/3rdparty/bx/include/bx/pixelformat.inl +++ /dev/null @@ -1,945 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_PIXEL_FORMAT_H_HEADER_GUARD -# error "Must be included from bx/pixelformat.h" -#endif // BX_PIXEL_FORMAT_H_HEADER_GUARD - -namespace bx -{ - inline uint32_t toUnorm(float _value, float _scale) - { - return uint32_t(fround(fsaturate(_value) * _scale) ); - } - - inline float fromUnorm(uint32_t _value, float _scale) - { - return float(_value) / _scale; - } - - inline int32_t toSnorm(float _value, float _scale) - { - return int32_t(fround( - fclamp(_value, -1.0f, 1.0f) * _scale) - ); - } - - inline float fromSnorm(int32_t _value, float _scale) - { - return fmax(-1.0f, float(_value) / _scale); - } - - // R8 - inline void packR8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); - } - - inline void unpackR8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = fromUnorm(src[0], 255.0f); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R8S - inline void packR8S(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); - } - - inline void unpackR8S(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = fromSnorm(src[0], 127.0f); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R8I - inline void packR8I(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(_src[0]); - } - - inline void unpackR8I(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R8U - inline void packR8U(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(_src[0]); - } - - inline void unpackR8U(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG8 - inline void packRg8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); - dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); - } - - inline void unpackRg8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = fromUnorm(src[0], 255.0f); - _dst[1] = fromUnorm(src[1], 255.0f); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG8S - inline void packRg8S(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); - dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); - } - - inline void unpackRg8S(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = fromSnorm(src[0], 127.0f); - _dst[1] = fromSnorm(src[1], 127.0f); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG8I - inline void packRg8I(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(_src[0]); - dst[1] = int8_t(_src[1]); - } - - inline void unpackRg8I(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG8U - inline void packRg8U(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(_src[0]); - dst[1] = uint8_t(_src[1]); - } - - inline void unpackRg8U(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RGB8 - inline void packRgb8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); - dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); - dst[2] = uint8_t(toUnorm(_src[2], 255.0f) ); - } - - inline void unpackRgb8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = fromUnorm(src[0], 255.0f); - _dst[1] = fromUnorm(src[1], 255.0f); - _dst[2] = fromUnorm(src[2], 255.0f); - _dst[3] = 1.0f; - } - - // RGB8S - inline void packRgb8S(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); - dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); - dst[2] = int8_t(toSnorm(_src[2], 127.0f) ); - } - - inline void unpackRgb8S(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = fromSnorm(src[0], 127.0f); - _dst[1] = fromSnorm(src[1], 127.0f); - _dst[2] = fromSnorm(src[2], 127.0f); - _dst[3] = 1.0f; - } - - // RGB8I - inline void packRgb8I(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(_src[0]); - dst[1] = int8_t(_src[1]); - dst[2] = int8_t(_src[2]); - } - - inline void unpackRgb8I(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = 1.0f; - } - - // RGB8U - inline void packRgb8U(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(_src[0]); - dst[1] = uint8_t(_src[1]); - dst[2] = uint8_t(_src[2]); - } - - inline void unpackRgb8U(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = 1.0f; - } - - // BGRA8 - inline void packBgra8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[2] = uint8_t(toUnorm(_src[0], 255.0f) ); - dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); - dst[0] = uint8_t(toUnorm(_src[2], 255.0f) ); - dst[3] = uint8_t(toUnorm(_src[3], 255.0f) ); - } - - inline void unpackBgra8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = fromUnorm(src[2], 255.0f); - _dst[1] = fromUnorm(src[1], 255.0f); - _dst[2] = fromUnorm(src[0], 255.0f); - _dst[3] = fromUnorm(src[3], 255.0f); - } - - // RGBA8 - inline void packRgba8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(toUnorm(_src[0], 255.0f) ); - dst[1] = uint8_t(toUnorm(_src[1], 255.0f) ); - dst[2] = uint8_t(toUnorm(_src[2], 255.0f) ); - dst[3] = uint8_t(toUnorm(_src[3], 255.0f) ); - } - - inline void unpackRgba8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = fromUnorm(src[0], 255.0f); - _dst[1] = fromUnorm(src[1], 255.0f); - _dst[2] = fromUnorm(src[2], 255.0f); - _dst[3] = fromUnorm(src[3], 255.0f); - } - - // RGBA8S - inline void packRgba8S(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(toSnorm(_src[0], 127.0f) ); - dst[1] = int8_t(toSnorm(_src[1], 127.0f) ); - dst[2] = int8_t(toSnorm(_src[2], 127.0f) ); - dst[3] = int8_t(toSnorm(_src[3], 127.0f) ); - } - - inline void unpackRgba8S(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = fromSnorm(src[0], 127.0f); - _dst[1] = fromSnorm(src[1], 127.0f); - _dst[2] = fromSnorm(src[2], 127.0f); - _dst[3] = fromSnorm(src[3], 127.0f); - } - - // RGBA8I - inline void packRgba8I(void* _dst, const float* _src) - { - int8_t* dst = (int8_t*)_dst; - dst[0] = int8_t(_src[0]); - dst[1] = int8_t(_src[1]); - dst[2] = int8_t(_src[2]); - dst[3] = int8_t(_src[3]); - } - - inline void unpackRgba8I(float* _dst, const void* _src) - { - const int8_t* src = (const int8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = float(src[3]); - } - - // RGBA8U - inline void packRgba8U(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - dst[0] = uint8_t(_src[0]); - dst[1] = uint8_t(_src[1]); - dst[2] = uint8_t(_src[2]); - dst[3] = uint8_t(_src[3]); - } - - inline void unpackRgba8U(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = float(src[3]); - } - - // R16 - inline void packR16(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); - } - - inline void unpackR16(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = fromUnorm(src[0], 65535.0f); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R16S - inline void packR16S(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); - } - - inline void unpackR16S(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = fromSnorm(src[0], 32767.0f); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R16I - inline void packR16I(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(_src[0]); - } - - inline void unpackR16I(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R16U - inline void packR16U(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(_src[0]); - } - - inline void unpackR16U(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = float(src[0]); - } - - // R16F - inline void packR16F(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = halfFromFloat(_src[0]); - } - - inline void unpackR16F(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = halfToFloat(src[0]); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG16 - inline void packRg16(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); - dst[1] = uint16_t(toUnorm(_src[1], 65535.0f) ); - } - - inline void unpackRg16(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = fromUnorm(src[0], 65535.0f); - _dst[1] = fromUnorm(src[1], 65535.0f); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG16S - inline void packRg16S(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); - dst[1] = int16_t(toSnorm(_src[1], 32767.0f) ); - } - - inline void unpackRg16S(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = fromSnorm(src[0], 32767.0f); - _dst[1] = fromSnorm(src[1], 32767.0f); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG16I - inline void packRg16I(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(_src[0]); - dst[1] = int16_t(_src[1]); - } - - inline void unpackRg16I(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG16U - inline void packRg16U(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(_src[0]); - dst[1] = uint16_t(_src[1]); - } - - inline void unpackRg16U(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RG16F - inline void packRg16F(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = halfFromFloat(_src[0]); - dst[1] = halfFromFloat(_src[1]); - } - - inline void unpackRg16F(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = halfToFloat(src[0]); - _dst[1] = halfToFloat(src[1]); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // RGBA16 - inline void packRgba16(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(toUnorm(_src[0], 65535.0f) ); - dst[1] = uint16_t(toUnorm(_src[1], 65535.0f) ); - dst[2] = uint16_t(toUnorm(_src[2], 65535.0f) ); - dst[3] = uint16_t(toUnorm(_src[3], 65535.0f) ); - } - - inline void unpackRgba16(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = fromUnorm(src[0], 65535.0f); - _dst[1] = fromUnorm(src[1], 65535.0f); - _dst[2] = fromUnorm(src[2], 65535.0f); - _dst[3] = fromUnorm(src[3], 65535.0f); - } - - // RGBA16S - inline void packRgba16S(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(toSnorm(_src[0], 32767.0f) ); - dst[1] = int16_t(toSnorm(_src[1], 32767.0f) ); - dst[2] = int16_t(toSnorm(_src[2], 32767.0f) ); - dst[3] = int16_t(toSnorm(_src[3], 32767.0f) ); - } - - inline void unpackRgba16S(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = fromSnorm(src[0], 32767.0f); - _dst[1] = fromSnorm(src[1], 32767.0f); - _dst[2] = fromSnorm(src[2], 32767.0f); - _dst[3] = fromSnorm(src[3], 32767.0f); - } - - // RGBA16I - inline void packRgba16I(void* _dst, const float* _src) - { - int16_t* dst = (int16_t*)_dst; - dst[0] = int16_t(_src[0]); - dst[1] = int16_t(_src[1]); - dst[2] = int16_t(_src[2]); - dst[3] = int16_t(_src[3]); - } - - inline void unpackRgba16I(float* _dst, const void* _src) - { - const int16_t* src = (const int16_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = float(src[3]); - } - - // RGBA16U - inline void packRgba16U(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = uint16_t(_src[0]); - dst[1] = uint16_t(_src[1]); - dst[2] = uint16_t(_src[2]); - dst[3] = uint16_t(_src[3]); - } - - inline void unpackRgba16U(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = float(src[0]); - _dst[1] = float(src[1]); - _dst[2] = float(src[2]); - _dst[3] = float(src[3]); - } - - // RGBA16F - inline void packRgba16F(void* _dst, const float* _src) - { - uint16_t* dst = (uint16_t*)_dst; - dst[0] = halfFromFloat(_src[0]); - dst[1] = halfFromFloat(_src[1]); - dst[2] = halfFromFloat(_src[2]); - dst[3] = halfFromFloat(_src[3]); - } - - inline void unpackRgba16F(float* _dst, const void* _src) - { - const uint16_t* src = (const uint16_t*)_src; - _dst[0] = halfToFloat(src[0]); - _dst[1] = halfToFloat(src[1]); - _dst[2] = halfToFloat(src[2]); - _dst[3] = halfToFloat(src[3]); - } - - // R24 - inline void packR24(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - const uint32_t rr = uint32_t(toUnorm(_src[0], 16777216.0f) ); - dst[0] = uint8_t(rr ); - dst[1] = uint8_t(rr>> 8); - dst[2] = uint8_t(rr>>16); - } - - inline void unpackR24(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - const uint32_t rr = 0 - | (src[0] ) - | (src[1]<< 8) - | (src[2]<<16) - ; - - _dst[0] = fromUnorm(rr, 16777216.0f); - _dst[1] = 0.0f; - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R24G8 - inline void packR24G8(void* _dst, const float* _src) - { - uint8_t* dst = (uint8_t*)_dst; - const uint32_t rr = uint32_t(toUnorm(_src[0], 16777216.0f) ); - dst[0] = uint8_t(rr ); - dst[1] = uint8_t(rr>> 8); - dst[2] = uint8_t(rr>>16); - dst[3] = uint8_t(toUnorm(_src[1], 255.0f) ); - } - - inline void unpackR24G8(float* _dst, const void* _src) - { - const uint8_t* src = (const uint8_t*)_src; - const uint32_t rr = 0 - | (src[0] ) - | (src[1]<< 8) - | (src[2]<<16) - ; - - _dst[0] = fromUnorm(rr, 16777216.0f); - _dst[1] = fromUnorm(src[3], 255.0f); - _dst[2] = 0.0f; - _dst[3] = 1.0f; - } - - // R32I - inline void packR32I(void* _dst, const float* _src) - { - memcpy(_dst, _src, 4); - } - - inline void unpackR32I(float* _dst, const void* _src) - { - memcpy(_dst, _src, 4); - } - - // R32U - inline void packR32U(void* _dst, const float* _src) - { - memcpy(_dst, _src, 4); - } - - inline void unpackR32U(float* _dst, const void* _src) - { - memcpy(_dst, _src, 4); - } - - // R32F - inline void packR32F(void* _dst, const float* _src) - { - memcpy(_dst, _src, 4); - } - - inline void unpackR32F(float* _dst, const void* _src) - { - memcpy(_dst, _src, 4); - } - - // RG32I - inline void packRg32I(void* _dst, const float* _src) - { - memcpy(_dst, _src, 8); - } - - inline void unpackRg32I(float* _dst, const void* _src) - { - memcpy(_dst, _src, 8); - } - - // RG32U - inline void packRg32U(void* _dst, const float* _src) - { - memcpy(_dst, _src, 8); - } - - inline void unpackRg32U(float* _dst, const void* _src) - { - memcpy(_dst, _src, 8); - } - - // RG32F - inline void packRg32F(void* _dst, const float* _src) - { - memcpy(_dst, _src, 8); - } - - inline void unpackRg32F(float* _dst, const void* _src) - { - memcpy(_dst, _src, 8); - } - - template - inline void encodeRgbE(float* _dst, const float* _src) - { - // Reference: - // https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt - const int32_t expMax = (1<>23) & 0xff) - 127) ) ) + 1 + expBias; - float denom = fpow(2.0f, float(expShared - expBias - MantissaBits) ); - - if ( (1< - inline void decodeRgbE(float* _dst, const float* _src) - { - const int32_t expBias = (1<<(ExpBits - 1) ) - 1; - const float exponent = _src[3]-float(expBias-MantissaBits); - const float scale = fpow(2.0f, exponent); - _dst[0] = _src[0] * scale; - _dst[1] = _src[1] * scale; - _dst[2] = _src[2] * scale; - } - - // RGB9E5F - inline void packRgb9E5F(void* _dst, const float* _src) - { - float tmp[4]; - encodeRgbE<9, 5>(tmp, _src); - - *( (uint32_t*)_dst) = 0 - | (uint32_t(tmp[0]) ) - | (uint32_t(tmp[1]) << 9) - | (uint32_t(tmp[2]) <<18) - | (uint32_t(tmp[3]) <<27) - ; - } - - inline void unpackRgb9E5F(float* _dst, const void* _src) - { - uint32_t packed = *( (const uint32_t*)_src); - - float tmp[4]; - tmp[0] = float( ( (packed ) & 0x1ff) ) / 511.0f; - tmp[1] = float( ( (packed>> 9) & 0x1ff) ) / 511.0f; - tmp[2] = float( ( (packed>>18) & 0x1ff) ) / 511.0f; - tmp[3] = float( ( (packed>>27) & 0x1f) ); - - decodeRgbE<9, 5>(_dst, tmp); - } - - // RGBA32I - inline void packRgba32I(void* _dst, const float* _src) - { - memcpy(_dst, _src, 16); - } - - inline void unpackRgba32I(float* _dst, const void* _src) - { - memcpy(_dst, _src, 16); - } - - // RGBA32U - inline void packRgba32U(void* _dst, const float* _src) - { - memcpy(_dst, _src, 16); - } - - inline void unpackRgba32U(float* _dst, const void* _src) - { - memcpy(_dst, _src, 16); - } - - // RGBA32F - inline void packRgba32F(void* _dst, const float* _src) - { - memcpy(_dst, _src, 16); - } - - inline void unpackRgba32F(float* _dst, const void* _src) - { - memcpy(_dst, _src, 16); - } - - // R5G6B5 - inline void packR5G6B5(void* _dst, const float* _src) - { - *( (uint16_t*)_dst) = 0 - | uint16_t(toUnorm(_src[0], 31.0f)<<11) - | uint16_t(toUnorm(_src[1], 63.0f)<< 5) - | uint16_t(toUnorm(_src[2], 31.0f) ) - ; - } - - inline void unpackR5G6B5(float* _dst, const void* _src) - { - uint16_t packed = *( (const uint16_t*)_src); - _dst[0] = float( ( (packed>>11) & 0x1f) ) / 31.0f; - _dst[1] = float( ( (packed>> 5) & 0x3f) ) / 63.0f; - _dst[2] = float( ( (packed ) & 0x1f) ) / 31.0f; - _dst[3] = 1.0f; - } - - // RGBA4 - inline void packRgba4(void* _dst, const float* _src) - { - *( (uint16_t*)_dst) = 0 - | uint16_t(toUnorm(_src[0], 15.0f) ) - | uint16_t(toUnorm(_src[1], 15.0f)<< 4) - | uint16_t(toUnorm(_src[2], 15.0f)<< 8) - | uint16_t(toUnorm(_src[3], 15.0f)<<12) - ; - } - - inline void unpackRgba4(float* _dst, const void* _src) - { - uint16_t packed = *( (const uint16_t*)_src); - _dst[0] = float( ( (packed ) & 0xf) ) / 15.0f; - _dst[1] = float( ( (packed>> 4) & 0xf) ) / 15.0f; - _dst[2] = float( ( (packed>> 8) & 0xf) ) / 15.0f; - _dst[3] = float( ( (packed>>12) & 0xf) ) / 15.0f; - } - - // RGBA4 - inline void packBgra4(void* _dst, const float* _src) - { - *( (uint16_t*)_dst) = 0 - | uint16_t(toUnorm(_src[0], 15.0f)<< 8) - | uint16_t(toUnorm(_src[1], 15.0f)<< 4) - | uint16_t(toUnorm(_src[2], 15.0f) ) - | uint16_t(toUnorm(_src[3], 15.0f)<<12) - ; - } - - inline void unpackBgra4(float* _dst, const void* _src) - { - uint16_t packed = *( (const uint16_t*)_src); - _dst[0] = float( ( (packed>> 8) & 0xf) ) / 15.0f; - _dst[1] = float( ( (packed>> 4) & 0xf) ) / 15.0f; - _dst[2] = float( ( (packed ) & 0xf) ) / 15.0f; - _dst[3] = float( ( (packed>>12) & 0xf) ) / 15.0f; - } - - // RGB5A1 - inline void packRgb5a1(void* _dst, const float* _src) - { - *( (uint16_t*)_dst) = 0 - | uint16_t(toUnorm(_src[0], 31.0f) ) - | uint16_t(toUnorm(_src[1], 31.0f)<< 5) - | uint16_t(toUnorm(_src[2], 31.0f)<<10) - | uint16_t(toUnorm(_src[3], 1.0f)<<15) - ; - } - - inline void unpackRgb5a1(float* _dst, const void* _src) - { - uint16_t packed = *( (const uint16_t*)_src); - _dst[0] = float( ( (packed ) & 0x1f) ) / 31.0f; - _dst[1] = float( ( (packed>> 5) & 0x1f) ) / 31.0f; - _dst[2] = float( ( (packed>>10) & 0x1f) ) / 31.0f; - _dst[3] = float( ( (packed>>14) & 0x1) ); - } - - // BGR5A1 - inline void packBgr5a1(void* _dst, const float* _src) - { - *( (uint16_t*)_dst) = 0 - | uint16_t(toUnorm(_src[0], 31.0f)<<10) - | uint16_t(toUnorm(_src[1], 31.0f)<< 5) - | uint16_t(toUnorm(_src[2], 31.0f) ) - | uint16_t(toUnorm(_src[3], 1.0f)<<15) - ; - } - - inline void unpackBgr5a1(float* _dst, const void* _src) - { - uint16_t packed = *( (const uint16_t*)_src); - _dst[0] = float( ( (packed>>10) & 0x1f) ) / 31.0f; - _dst[1] = float( ( (packed>> 5) & 0x1f) ) / 31.0f; - _dst[2] = float( ( (packed ) & 0x1f) ) / 31.0f; - _dst[3] = float( ( (packed>>14) & 0x1) ); - } - - // RGB10A2 - inline void packRgb10A2(void* _dst, const float* _src) - { - *( (uint32_t*)_dst) = 0 - | (toUnorm(_src[0], 1023.0f) ) - | (toUnorm(_src[1], 1023.0f)<<10) - | (toUnorm(_src[2], 1023.0f)<<20) - | (toUnorm(_src[3], 3.0f)<<30) - ; - } - - inline void unpackRgb10A2(float* _dst, const void* _src) - { - uint32_t packed = *( (const uint32_t*)_src); - _dst[0] = float( ( (packed ) & 0x3ff) ) / 1023.0f; - _dst[1] = float( ( (packed>>10) & 0x3ff) ) / 1023.0f; - _dst[2] = float( ( (packed>>20) & 0x3ff) ) / 1023.0f; - _dst[3] = float( ( (packed>>30) & 0x3) ) / 3.0f; - } - - // R11G11B10F - inline void packR11G11B10F(void* _dst, const float* _src) - { - *( (uint32_t*)_dst) = 0 - | ( (halfFromFloat(_src[0])>> 4) & 0x7ff) - | ( (halfFromFloat(_src[0])<< 7) & 0x3ff800) - | ( (halfFromFloat(_src[0])<<17) & 0xffc00000) - ; - } - - inline void unpackR11G11B10F(float* _dst, const void* _src) - { - uint32_t packed = *( (const uint32_t*)_src); - _dst[0] = halfToFloat( (packed<< 4) & 0x7ff0); - _dst[1] = halfToFloat( (packed>> 7) & 0x7ff0); - _dst[2] = halfToFloat( (packed>>17) & 0x7fe0); - _dst[3] = 1.0f; - } -} // namespace bx diff --git a/3rdparty/bx/include/bx/platform.h b/3rdparty/bx/include/bx/platform.h index 99d29a037d9..8d8c340171a 100644 --- a/3rdparty/bx/include/bx/platform.h +++ b/3rdparty/bx/include/bx/platform.h @@ -29,12 +29,20 @@ #define BX_CPU_X86 0 // C Runtime -#define BX_CRT_MSVC 0 +#define BX_CRT_BIONIC 0 #define BX_CRT_GLIBC 0 #define BX_CRT_LIBCXX 0 -#define BX_CRT_NEWLIB 0 #define BX_CRT_MINGW 0 -#define BX_CRT_MUSL 0 +#define BX_CRT_MSVC 0 +#define BX_CRT_NEWLIB 0 + +#ifndef BX_CRT_MUSL +# define BX_CRT_MUSL 0 +#endif // BX_CRT_MUSL + +#ifndef BX_CRT_NONE +# define BX_CRT_NONE 0 +#endif // BX_CRT_NONE // Platform #define BX_PLATFORM_ANDROID 0 @@ -63,34 +71,12 @@ # undef BX_COMPILER_CLANG_ANALYZER # define BX_COMPILER_CLANG_ANALYZER 1 # endif // defined(__clang_analyzer__) -# if defined(_MSC_VER) -# undef BX_CRT_MSVC -# define BX_CRT_MSVC 1 -# elif defined(__GLIBC__) -# undef BX_CRT_GLIBC -# define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100) -# elif defined(__MINGW32__) || defined(__MINGW64__) -# undef BX_CRT_MINGW -# define BX_CRT_MINGW 1 -# elif defined(__apple_build_version__) || defined(__ANDROID__) -# undef BX_CRT_LIBCXX -# define BX_CRT_LIBCXX 1 -# endif // #elif defined(_MSC_VER) # undef BX_COMPILER_MSVC # define BX_COMPILER_MSVC _MSC_VER -# undef BX_CRT_MSVC -# define BX_CRT_MSVC 1 #elif defined(__GNUC__) # undef BX_COMPILER_GCC # define BX_COMPILER_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -# if defined(__GLIBC__) -# undef BX_CRT_GLIBC -# define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100) -# elif defined(__MINGW32__) || defined(__MINGW64__) -# undef BX_CRT_MINGW -# define BX_CRT_MINGW 1 -# endif // #else # error "BX_COMPILER_* is not defined!" #endif // @@ -192,7 +178,7 @@ # endif #elif defined(__ANDROID__) // Android compiler defines __linux__ -# include +# include // Defines __BIONIC__ and includes android/api-level.h # undef BX_PLATFORM_ANDROID # define BX_PLATFORM_ANDROID __ANDROID_API__ #elif defined(__native_client__) @@ -217,11 +203,7 @@ # define BX_PLATFORM_IOS 1 #elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) # undef BX_PLATFORM_OSX -# if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) -# define BX_PLATFORM_OSX __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -# else -# define BX_PLATFORM_OSX 1 -# endif // defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) +# define BX_PLATFORM_OSX __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ #elif defined(__EMSCRIPTEN__) # undef BX_PLATFORM_EMSCRIPTEN # define BX_PLATFORM_EMSCRIPTEN 1 @@ -231,7 +213,11 @@ #elif defined(__QNX__) # undef BX_PLATFORM_QNX # define BX_PLATFORM_QNX 1 -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +#elif defined(__FreeBSD__) \ + || defined(__FreeBSD_kernel__) \ + || defined(__NetBSD__) \ + || defined(__OpenBSD__) \ + || defined(__DragonFly__) # undef BX_PLATFORM_BSD # define BX_PLATFORM_BSD 1 #elif defined(__GNU__) @@ -239,6 +225,37 @@ # define BX_PLATFORM_HURD 1 #endif // +#if !BX_CRT_NONE +// https://sourceforge.net/p/predef/wiki/Libraries/ +# if defined(__BIONIC__) +# undef BX_CRT_BIONIC +# define BX_CRT_BIONIC 1 +# elif defined(_MSC_VER) +# undef BX_CRT_MSVC +# define BX_CRT_MSVC 1 +# elif defined(__GLIBC__) +# undef BX_CRT_GLIBC +# define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100) +# elif defined(__MINGW32__) || defined(__MINGW64__) +# undef BX_CRT_MINGW +# define BX_CRT_MINGW 1 +# elif defined(__apple_build_version__) || defined(__ORBIS__) || defined(__EMSCRIPTEN__) +# undef BX_CRT_LIBCXX +# define BX_CRT_LIBCXX 1 +# endif // + +# if !BX_CRT_BIONIC \ + && !BX_CRT_GLIBC \ + && !BX_CRT_LIBCXX \ + && !BX_CRT_MINGW \ + && !BX_CRT_MSVC \ + && !BX_CRT_MUSL \ + && !BX_CRT_NEWLIB +# undef BX_CRT_NONE +# define BX_CRT_NONE 1 +# endif // BX_CRT_* +#endif // !BX_CRT_NONE + #define BX_PLATFORM_POSIX (0 \ || BX_PLATFORM_ANDROID \ || BX_PLATFORM_EMSCRIPTEN \ @@ -254,19 +271,25 @@ || BX_PLATFORM_RPI \ ) -#define BX_CRT_NONE !(0 \ - || BX_CRT_MSVC \ - || BX_CRT_GLIBC \ - || BX_CRT_LIBCXX \ - || BX_CRT_NEWLIB \ - || BX_CRT_MINGW \ - || BX_CRT_MUSL \ +#define BX_PLATFORM_NONE !(0 \ + || BX_PLATFORM_ANDROID \ + || BX_PLATFORM_EMSCRIPTEN \ + || BX_PLATFORM_BSD \ + || BX_PLATFORM_HURD \ + || BX_PLATFORM_IOS \ + || BX_PLATFORM_LINUX \ + || BX_PLATFORM_NACL \ + || BX_PLATFORM_OSX \ + || BX_PLATFORM_PS4 \ + || BX_PLATFORM_QNX \ + || BX_PLATFORM_RPI \ + || BX_PLATFORM_STEAMLINK \ + || BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE \ ) -#ifndef BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS -# define BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS 0 -#endif // BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS - #if BX_COMPILER_GCC # define BX_COMPILER_NAME "GCC " \ BX_STRINGIZE(__GNUC__) "." \ @@ -332,8 +355,10 @@ # define BX_PLATFORM_NAME "Xbox 360" #elif BX_PLATFORM_XBOXONE # define BX_PLATFORM_NAME "Xbox One" -#else +#elif BX_PLATFORM_NONE # define BX_PLATFORM_NAME "None" +#else +# error "Unknown BX_PLATFORM!" #endif // BX_PLATFORM_ #if BX_CPU_ARM @@ -350,18 +375,24 @@ # define BX_CPU_NAME "x86" #endif // BX_CPU_ -#if BX_CRT_MSVC -# define BX_CRT_NAME "MSVC C Runtime" +#if BX_CRT_BIONIC +# define BX_CRT_NAME "Bionic libc" #elif BX_CRT_GLIBC # define BX_CRT_NAME "GNU C Library" -#elif BX_CRT_NEWLIB -# define BX_CRT_NAME "Newlib" +#elif BX_CRT_MSVC +# define BX_CRT_NAME "MSVC C Runtime" #elif BX_CRT_MINGW # define BX_CRT_NAME "MinGW C Runtime" +#elif BX_CRT_LIBCXX +# define BX_CRT_NAME "Clang C Library" +#elif BX_CRT_NEWLIB +# define BX_CRT_NAME "Newlib" #elif BX_CRT_MUSL # define BX_CRT_NAME "musl libc" -#else +#elif BX_CRT_NONE # define BX_CRT_NAME "None" +#else +# error "Unknown BX_CRT!" #endif // BX_CRT_ #if BX_ARCH_32BIT @@ -370,25 +401,4 @@ # define BX_ARCH_NAME "64-bit" #endif // BX_ARCH_ -#if BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS && BX_COMPILER_MSVC -# pragma warning(error:4062) // ENABLE warning C4062: enumerator'...' in switch of enum '...' is not handled -# pragma warning(error:4100) // ENABLE warning C4100: '' : unreferenced formal parameter -# pragma warning(error:4189) // ENABLE warning C4189: '' : local variable is initialized but not referenced -# pragma warning(error:4121) // ENABLE warning C4121: 'symbol' : alignment of a member was sensitive to packing -//# pragma warning(error:4127) // ENABLE warning C4127: conditional expression is constant -# pragma warning(error:4130) // ENABLE warning C4130: 'operator' : logical operation on address of string constant -# pragma warning(error:4239) // ENABLE warning C4239: nonstandard extension used : 'argument' : conversion from '*' to '* &' A non-const reference may only be bound to an lvalue -//# pragma warning(error:4244) // ENABLE warning C4244: 'argument' : conversion from 'type1' to 'type2', possible loss of data -# pragma warning(error:4245) // ENABLE warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch -# pragma warning(error:4263) // ENABLE warning C4263: 'function' : member function does not override any base class virtual member function -# pragma warning(error:4265) // ENABLE warning C4265: class has virtual functions, but destructor is not virtual -# pragma warning(error:4431) // ENABLE warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int -# pragma warning(error:4505) // ENABLE warning C4505: '' : unreferenced local function has been removed -# pragma warning(error:4545) // ENABLE warning C4545: expression before comma evaluates to a function which is missing an argument list -# pragma warning(error:4549) // ENABLE warning C4549: 'operator' : operator before comma has no effect; did you intend 'operator'? -# pragma warning(error:4701) // ENABLE warning C4701: potentially uninitialized local variable 'name' used -# pragma warning(error:4706) // ENABLE warning C4706: assignment within conditional expression -# pragma warning(error:4800) // ENABLE warning C4800: '': forcing value to bool 'true' or 'false' (performance warning) -#endif // BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS && BX_COMPILER_MSVC - #endif // BX_PLATFORM_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/radixsort.h b/3rdparty/bx/include/bx/radixsort.h deleted file mode 100644 index 87bd3e310b0..00000000000 --- a/3rdparty/bx/include/bx/radixsort.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_RADIXSORT_H_HEADER_GUARD -#define BX_RADIXSORT_H_HEADER_GUARD - -#include "bx.h" - -namespace bx -{ - /// - void radixSort( - uint32_t* __restrict _keys - , uint32_t* __restrict _tempKeys - , uint32_t _size - ); - - /// - template - void radixSort( - uint32_t* __restrict _keys - , uint32_t* __restrict _tempKeys - , Ty* __restrict _values - , Ty* __restrict _tempValues - , uint32_t _size - ); - - /// - void radixSort( - uint64_t* __restrict _keys - , uint64_t* __restrict _tempKeys - , uint32_t _size - ); - - /// - template - void radixSort( - uint64_t* __restrict _keys - , uint64_t* __restrict _tempKeys - , Ty* __restrict _values - , Ty* __restrict _tempValues - , uint32_t _size - ); - -} // namespace bx - -#include "radixsort.inl" - -#endif // BX_RADIXSORT_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/radixsort.inl b/3rdparty/bx/include/bx/radixsort.inl deleted file mode 100644 index 2edc5e40fd3..00000000000 --- a/3rdparty/bx/include/bx/radixsort.inl +++ /dev/null @@ -1,288 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_RADIXSORT_H_HEADER_GUARD -# error "Must be included from bx/radixsort.h!" -#endif // BX_RADIXSORT_H_HEADER_GUARD - -namespace bx -{ -#define BX_RADIXSORT_BITS 11 -#define BX_RADIXSORT_HISTOGRAM_SIZE (1<>shift)&BX_RADIXSORT_BIT_MASK; - ++histogram[index]; - sorted &= prevKey <= key; - } - } - - if (sorted) - { - goto done; - } - - uint32_t offset = 0; - for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) - { - uint32_t count = histogram[ii]; - histogram[ii] = offset; - offset += count; - } - - for (uint32_t ii = 0; ii < _size; ++ii) - { - uint32_t key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - uint32_t dest = histogram[index]++; - tempKeys[dest] = key; - } - - uint32_t* swapKeys = tempKeys; - tempKeys = keys; - keys = swapKeys; - - shift += BX_RADIXSORT_BITS; - } - -done: - if (0 != (pass&1) ) - { - // Odd number of passes needs to do copy to the destination. - memcpy(_keys, _tempKeys, _size*sizeof(uint32_t) ); - } - } - - template - inline void radixSort(uint32_t* __restrict _keys, uint32_t* __restrict _tempKeys, Ty* __restrict _values, Ty* __restrict _tempValues, uint32_t _size) - { - uint32_t* __restrict keys = _keys; - uint32_t* __restrict tempKeys = _tempKeys; - Ty* __restrict values = _values; - Ty* __restrict tempValues = _tempValues; - - uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; - uint16_t shift = 0; - uint32_t pass = 0; - for (; pass < 3; ++pass) - { - memset(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); - - bool sorted = true; - { - uint32_t key = keys[0]; - uint32_t prevKey = key; - for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) - { - key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - ++histogram[index]; - sorted &= prevKey <= key; - } - } - - if (sorted) - { - goto done; - } - - uint32_t offset = 0; - for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) - { - uint32_t count = histogram[ii]; - histogram[ii] = offset; - offset += count; - } - - for (uint32_t ii = 0; ii < _size; ++ii) - { - uint32_t key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - uint32_t dest = histogram[index]++; - tempKeys[dest] = key; - tempValues[dest] = values[ii]; - } - - uint32_t* swapKeys = tempKeys; - tempKeys = keys; - keys = swapKeys; - - Ty* swapValues = tempValues; - tempValues = values; - values = swapValues; - - shift += BX_RADIXSORT_BITS; - } - -done: - if (0 != (pass&1) ) - { - // Odd number of passes needs to do copy to the destination. - memcpy(_keys, _tempKeys, _size*sizeof(uint32_t) ); - for (uint32_t ii = 0; ii < _size; ++ii) - { - _values[ii] = _tempValues[ii]; - } - } - } - - inline void radixSort(uint64_t* __restrict _keys, uint64_t* __restrict _tempKeys, uint32_t _size) - { - uint64_t* __restrict keys = _keys; - uint64_t* __restrict tempKeys = _tempKeys; - - uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; - uint16_t shift = 0; - uint32_t pass = 0; - for (; pass < 6; ++pass) - { - memset(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); - - bool sorted = true; - { - uint64_t key = keys[0]; - uint64_t prevKey = key; - for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) - { - key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - ++histogram[index]; - sorted &= prevKey <= key; - } - } - - if (sorted) - { - goto done; - } - - uint32_t offset = 0; - for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) - { - uint32_t count = histogram[ii]; - histogram[ii] = offset; - offset += count; - } - - for (uint32_t ii = 0; ii < _size; ++ii) - { - uint64_t key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - uint32_t dest = histogram[index]++; - tempKeys[dest] = key; - } - - uint64_t* swapKeys = tempKeys; - tempKeys = keys; - keys = swapKeys; - - shift += BX_RADIXSORT_BITS; - } - -done: - if (0 != (pass&1) ) - { - // Odd number of passes needs to do copy to the destination. - memcpy(_keys, _tempKeys, _size*sizeof(uint64_t) ); - } - } - - template - inline void radixSort(uint64_t* __restrict _keys, uint64_t* __restrict _tempKeys, Ty* __restrict _values, Ty* __restrict _tempValues, uint32_t _size) - { - uint64_t* __restrict keys = _keys; - uint64_t* __restrict tempKeys = _tempKeys; - Ty* __restrict values = _values; - Ty* __restrict tempValues = _tempValues; - - uint32_t histogram[BX_RADIXSORT_HISTOGRAM_SIZE]; - uint16_t shift = 0; - uint32_t pass = 0; - for (; pass < 6; ++pass) - { - memset(histogram, 0, sizeof(uint32_t)*BX_RADIXSORT_HISTOGRAM_SIZE); - - bool sorted = true; - { - uint64_t key = keys[0]; - uint64_t prevKey = key; - for (uint32_t ii = 0; ii < _size; ++ii, prevKey = key) - { - key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - ++histogram[index]; - sorted &= prevKey <= key; - } - } - - if (sorted) - { - goto done; - } - - uint32_t offset = 0; - for (uint32_t ii = 0; ii < BX_RADIXSORT_HISTOGRAM_SIZE; ++ii) - { - uint32_t count = histogram[ii]; - histogram[ii] = offset; - offset += count; - } - - for (uint32_t ii = 0; ii < _size; ++ii) - { - uint64_t key = keys[ii]; - uint16_t index = (key>>shift)&BX_RADIXSORT_BIT_MASK; - uint32_t dest = histogram[index]++; - tempKeys[dest] = key; - tempValues[dest] = values[ii]; - } - - uint64_t* swapKeys = tempKeys; - tempKeys = keys; - keys = swapKeys; - - Ty* swapValues = tempValues; - tempValues = values; - values = swapValues; - - shift += BX_RADIXSORT_BITS; - } - -done: - if (0 != (pass&1) ) - { - // Odd number of passes needs to do copy to the destination. - memcpy(_keys, _tempKeys, _size*sizeof(uint64_t) ); - for (uint32_t ii = 0; ii < _size; ++ii) - { - _values[ii] = _tempValues[ii]; - } - } - } - -#undef BX_RADIXSORT_BITS -#undef BX_RADIXSORT_HISTOGRAM_SIZE -#undef BX_RADIXSORT_BIT_MASK - -} // namespace bx diff --git a/3rdparty/bx/include/bx/readerwriter.h b/3rdparty/bx/include/bx/readerwriter.h index 19411a6adb7..7fda6f08111 100644 --- a/3rdparty/bx/include/bx/readerwriter.h +++ b/3rdparty/bx/include/bx/readerwriter.h @@ -6,12 +6,6 @@ #ifndef BX_READERWRITER_H_HEADER_GUARD #define BX_READERWRITER_H_HEADER_GUARD -#include -#include // va_list -#include -#include - -#include "bx.h" #include "allocator.h" #include "error.h" #include "uint32_t.h" @@ -303,6 +297,6 @@ namespace bx } // namespace bx -#include "readerwriter.inl" +#include "inline/readerwriter.inl" #endif // BX_READERWRITER_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/readerwriter.inl b/3rdparty/bx/include/bx/readerwriter.inl deleted file mode 100644 index 9ba8517776c..00000000000 --- a/3rdparty/bx/include/bx/readerwriter.inl +++ /dev/null @@ -1,452 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_READERWRITER_H_HEADER_GUARD -# error "Must be included from bx/readerwriter!" -#endif // BX_READERWRITER_H_HEADER_GUARD - -namespace bx -{ - inline ReaderI::~ReaderI() - { - } - - inline WriterI::~WriterI() - { - } - - inline SeekerI::~SeekerI() - { - } - - inline ReaderOpenI::~ReaderOpenI() - { - } - - inline WriterOpenI::~WriterOpenI() - { - } - - inline CloserI::~CloserI() - { - } - - inline StaticMemoryBlock::StaticMemoryBlock(void* _data, uint32_t _size) - : m_data(_data) - , m_size(_size) - { - } - - inline StaticMemoryBlock::~StaticMemoryBlock() - { - } - - inline void* StaticMemoryBlock::more(uint32_t _size) - { - BX_UNUSED(_size); - return m_data; - } - - inline uint32_t StaticMemoryBlock::getSize() - { - return m_size; - } - - inline MemoryBlock::MemoryBlock(AllocatorI* _allocator) - : m_allocator(_allocator) - , m_data(NULL) - , m_size(0) - { - } - - inline MemoryBlock::~MemoryBlock() - { - BX_FREE(m_allocator, m_data); - } - - inline void* MemoryBlock::more(uint32_t _size) - { - if (0 < _size) - { - m_size += _size; - m_data = BX_REALLOC(m_allocator, m_data, m_size); - } - - return m_data; - } - - inline uint32_t MemoryBlock::getSize() - { - return m_size; - } - - inline SizerWriter::SizerWriter() - : m_pos(0) - , m_top(0) - { - } - - inline SizerWriter::~SizerWriter() - { - } - - inline int64_t SizerWriter::seek(int64_t _offset, Whence::Enum _whence) - { - switch (_whence) - { - case Whence::Begin: - m_pos = int64_clamp(_offset, 0, m_top); - break; - - case Whence::Current: - m_pos = int64_clamp(m_pos + _offset, 0, m_top); - break; - - case Whence::End: - m_pos = int64_clamp(m_top - _offset, 0, m_top); - break; - } - - return m_pos; - } - - inline int32_t SizerWriter::write(const void* /*_data*/, int32_t _size, Error* _err) - { - BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); - - int32_t morecore = int32_t(m_pos - m_top) + _size; - - if (0 < morecore) - { - m_top += morecore; - } - - int64_t remainder = m_top-m_pos; - int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); - m_pos += size; - if (size != _size) - { - BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "SizerWriter: write truncated."); - } - return size; - } - - inline MemoryReader::MemoryReader(const void* _data, uint32_t _size) - : m_data( (const uint8_t*)_data) - , m_pos(0) - , m_top(_size) - { - } - - inline MemoryReader::~MemoryReader() - { - } - - inline int64_t MemoryReader::seek(int64_t _offset, Whence::Enum _whence) - { - switch (_whence) - { - case Whence::Begin: - m_pos = int64_clamp(_offset, 0, m_top); - break; - - case Whence::Current: - m_pos = int64_clamp(m_pos + _offset, 0, m_top); - break; - - case Whence::End: - m_pos = int64_clamp(m_top - _offset, 0, m_top); - break; - } - - return m_pos; - } - - inline int32_t MemoryReader::read(void* _data, int32_t _size, Error* _err) - { - BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); - - int64_t remainder = m_top-m_pos; - int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); - memcpy(_data, &m_data[m_pos], size); - m_pos += size; - if (size != _size) - { - BX_ERROR_SET(_err, BX_ERROR_READERWRITER_READ, "MemoryReader: read truncated."); - } - return size; - } - - inline const uint8_t* MemoryReader::getDataPtr() const - { - return &m_data[m_pos]; - } - - inline int64_t MemoryReader::getPos() const - { - return m_pos; - } - - inline int64_t MemoryReader::remaining() const - { - return m_top-m_pos; - } - - inline MemoryWriter::MemoryWriter(MemoryBlockI* _memBlock) - : m_memBlock(_memBlock) - , m_data(NULL) - , m_pos(0) - , m_top(0) - , m_size(0) - { - } - - inline MemoryWriter::~MemoryWriter() - { - } - - inline int64_t MemoryWriter::seek(int64_t _offset, Whence::Enum _whence) - { - switch (_whence) - { - case Whence::Begin: - m_pos = int64_clamp(_offset, 0, m_top); - break; - - case Whence::Current: - m_pos = int64_clamp(m_pos + _offset, 0, m_top); - break; - - case Whence::End: - m_pos = int64_clamp(m_top - _offset, 0, m_top); - break; - } - - return m_pos; - } - - inline int32_t MemoryWriter::write(const void* _data, int32_t _size, Error* _err) - { - BX_CHECK(NULL != _err, "Reader/Writer interface calling functions must handle errors."); - - int32_t morecore = int32_t(m_pos - m_size) + _size; - - if (0 < morecore) - { - morecore = BX_ALIGN_MASK(morecore, 0xfff); - m_data = (uint8_t*)m_memBlock->more(morecore); - m_size = m_memBlock->getSize(); - } - - int64_t remainder = m_size-m_pos; - int32_t size = uint32_min(_size, uint32_t(int64_min(remainder, INT32_MAX) ) ); - memcpy(&m_data[m_pos], _data, size); - m_pos += size; - m_top = int64_max(m_top, m_pos); - if (size != _size) - { - BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "MemoryWriter: write truncated."); - } - return size; - } - - inline StaticMemoryBlockWriter::StaticMemoryBlockWriter(void* _data, uint32_t _size) - : MemoryWriter(&m_smb) - , m_smb(_data, _size) - { - } - - inline StaticMemoryBlockWriter::~StaticMemoryBlockWriter() - { - } - - inline int32_t read(ReaderI* _reader, void* _data, int32_t _size, Error* _err) - { - BX_ERROR_SCOPE(_err); - return _reader->read(_data, _size, _err); - } - - template - int32_t read(ReaderI* _reader, Ty& _value, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - return _reader->read(&_value, sizeof(Ty), _err); - } - - template - int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - Ty value; - int32_t result = _reader->read(&value, sizeof(Ty), _err); - _value = toHostEndian(value, _fromLittleEndian); - return result; - } - - inline int32_t write(WriterI* _writer, const void* _data, int32_t _size, Error* _err) - { - BX_ERROR_SCOPE(_err); - return _writer->write(_data, _size, _err); - } - - inline int32_t writeRep(WriterI* _writer, uint8_t _byte, int32_t _size, Error* _err) - { - BX_ERROR_SCOPE(_err); - - const uint32_t tmp0 = uint32_sels(64 - _size, 64, _size); - const uint32_t tmp1 = uint32_sels(256 - _size, 256, tmp0); - const uint32_t blockSize = uint32_sels(1024 - _size, 1024, tmp1); - uint8_t* temp = (uint8_t*)alloca(blockSize); - memset(temp, _byte, blockSize); - - int32_t size = 0; - while (0 < _size) - { - int32_t bytes = write(_writer, temp, uint32_min(blockSize, _size), _err); - size += bytes; - _size -= bytes; - } - - return size; - } - - template - int32_t write(WriterI* _writer, const Ty& _value, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - return _writer->write(&_value, sizeof(Ty), _err); - } - - template - int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - Ty value = toLittleEndian(_value); - int32_t result = _writer->write(&value, sizeof(Ty), _err); - return result; - } - - template - int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - Ty value = toBigEndian(_value); - int32_t result = _writer->write(&value, sizeof(Ty), _err); - return result; - } - - inline int32_t writePrintf(WriterI* _writer, const char* _format, ...) - { - va_list argList; - va_start(argList, _format); - - char temp[2048]; - char* out = temp; - int32_t max = sizeof(temp); - int32_t len = vsnprintf(out, max, _format, argList); - if (len > max) - { - out = (char*)alloca(len); - len = vsnprintf(out, len, _format, argList); - } - - int32_t size = write(_writer, out, len); - - va_end(argList); - - return size; - } - - inline int64_t skip(SeekerI* _seeker, int64_t _offset) - { - return _seeker->seek(_offset, Whence::Current); - } - - inline int64_t seek(SeekerI* _seeker, int64_t _offset, Whence::Enum _whence) - { - return _seeker->seek(_offset, _whence); - } - - inline int64_t getSize(SeekerI* _seeker) - { - int64_t offset = _seeker->seek(); - int64_t size = _seeker->seek(0, Whence::End); - _seeker->seek(offset, Whence::Begin); - return size; - } - - inline int32_t peek(ReaderSeekerI* _reader, void* _data, int32_t _size, Error* _err) - { - BX_ERROR_SCOPE(_err); - int64_t offset = bx::seek(_reader); - int32_t size = _reader->read(_data, _size, _err); - bx::seek(_reader, offset, bx::Whence::Begin); - return size; - } - - template - int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) - { - BX_ERROR_SCOPE(_err); - BX_STATIC_ASSERT(BX_TYPE_IS_POD(Ty) ); - return peek(_reader, &_value, sizeof(Ty), _err); - } - - inline int32_t align(ReaderSeekerI* _reader, uint32_t _alignment, Error* _err) - { - BX_ERROR_SCOPE(_err); - const int64_t current = bx::seek(_reader); - const int64_t aligned = ( (current + _alignment-1)/_alignment) * _alignment; - const int32_t size = int32_t(aligned - current); - if (0 != size) - { - const int64_t offset = bx::seek(_reader, size); - if (offset != aligned) - { - BX_ERROR_SET(_err, BX_ERROR_READERWRITER_WRITE, "Align: read truncated."); - } - return int32_t(offset - current); - } - - return 0; - } - - inline int32_t align(WriterSeekerI* _writer, uint32_t _alignment, Error* _err) - { - BX_ERROR_SCOPE(_err); - const int64_t current = bx::seek(_writer); - const int64_t aligned = ( (current + _alignment-1)/_alignment) * _alignment; - const int32_t size = int32_t(aligned - current); - if (0 != size) - { - return writeRep(_writer, 0, size, _err); - } - - return 0; - } - - inline bool open(ReaderOpenI* _reader, const char* _filePath, Error* _err) - { - BX_ERROR_USE_TEMP_WHEN_NULL(_err); - return _reader->open(_filePath, _err); - } - - inline bool open(WriterOpenI* _writer, const char* _filePath, bool _append, Error* _err) - { - BX_ERROR_USE_TEMP_WHEN_NULL(_err); - return _writer->open(_filePath, _append, _err); - } - - inline void close(CloserI* _reader) - { - _reader->close(); - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/ringbuffer.h b/3rdparty/bx/include/bx/ringbuffer.h index 28e7731e3d2..fd742503072 100644 --- a/3rdparty/bx/include/bx/ringbuffer.h +++ b/3rdparty/bx/include/bx/ringbuffer.h @@ -12,6 +12,7 @@ namespace bx { + /// class RingBufferControl { BX_CLASS(RingBufferControl @@ -20,75 +21,29 @@ namespace bx ); public: - RingBufferControl(uint32_t _size) - : m_size(_size) - , m_current(0) - , m_write(0) - , m_read(0) - { - } - - ~RingBufferControl() - { - } - - uint32_t available() const - { - return distance(m_read, m_current); - } - - uint32_t consume(uint32_t _size) // consumer only - { - const uint32_t maxSize = distance(m_read, m_current); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_read, size); - const uint32_t read = uint32_mod(advance, m_size); - m_read = read; - return size; - } - - uint32_t reserve(uint32_t _size) // producer only - { - const uint32_t dist = distance(m_write, m_read)-1; - const uint32_t maxSize = uint32_sels(dist, m_size-1, dist); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_write, size); - const uint32_t write = uint32_mod(advance, m_size); - m_write = write; - return size; - } - - uint32_t commit(uint32_t _size) // producer only - { - const uint32_t maxSize = distance(m_current, m_write); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_current, size); - const uint32_t current = uint32_mod(advance, m_size); - m_current = current; - return size; - } - - uint32_t distance(uint32_t _from, uint32_t _to) const // both - { - const uint32_t diff = uint32_sub(_to, _from); - const uint32_t le = uint32_add(m_size, diff); - const uint32_t result = uint32_sels(diff, le, diff); - - return result; - } - - void reset() - { - m_current = 0; - m_write = 0; - m_read = 0; - } + /// + RingBufferControl(uint32_t _size); + + /// + ~RingBufferControl(); + + /// + uint32_t available() const; + + /// + uint32_t consume(uint32_t _size); // consumer only + + /// + uint32_t reserve(uint32_t _size, bool _mustSucceed = false); // producer only + + /// + uint32_t commit(uint32_t _size); // producer only + + /// + uint32_t distance(uint32_t _from, uint32_t _to) const; // both + + /// + void reset(); const uint32_t m_size; uint32_t m_current; @@ -96,6 +51,7 @@ namespace bx uint32_t m_read; }; + /// class SpScRingBufferControl { BX_CLASS(SpScRingBufferControl @@ -104,79 +60,29 @@ namespace bx ); public: - SpScRingBufferControl(uint32_t _size) - : m_size(_size) - , m_current(0) - , m_write(0) - , m_read(0) - { - } - - ~SpScRingBufferControl() - { - } - - uint32_t available() const - { - return distance(m_read, m_current); - } - - uint32_t consume(uint32_t _size) // consumer only - { - const uint32_t maxSize = distance(m_read, m_current); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_read, size); - const uint32_t read = uint32_mod(advance, m_size); - m_read = read; - return size; - } - - uint32_t reserve(uint32_t _size) // producer only - { - const uint32_t dist = distance(m_write, m_read)-1; - const uint32_t maxSize = uint32_sels(dist, m_size-1, dist); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_write, size); - const uint32_t write = uint32_mod(advance, m_size); - m_write = write; - return size; - } - - uint32_t commit(uint32_t _size) // producer only - { - const uint32_t maxSize = distance(m_current, m_write); - const uint32_t sizeNoSign = uint32_and(_size, 0x7fffffff); - const uint32_t test = uint32_sub(sizeNoSign, maxSize); - const uint32_t size = uint32_sels(test, _size, maxSize); - const uint32_t advance = uint32_add(m_current, size); - const uint32_t current = uint32_mod(advance, m_size); - - // must commit all memory writes before moving m_current pointer - // once m_current pointer moves data is used by consumer thread - memoryBarrier(); - m_current = current; - return size; - } - - uint32_t distance(uint32_t _from, uint32_t _to) const // both - { - const uint32_t diff = uint32_sub(_to, _from); - const uint32_t le = uint32_add(m_size, diff); - const uint32_t result = uint32_sels(diff, le, diff); - - return result; - } - - void reset() - { - m_current = 0; - m_write = 0; - m_read = 0; - } + /// + SpScRingBufferControl(uint32_t _size); + + /// + ~SpScRingBufferControl(); + + /// + uint32_t available() const; + + /// + uint32_t consume(uint32_t _size); // consumer only + + /// + uint32_t reserve(uint32_t _size); // producer only + + /// + uint32_t commit(uint32_t _size); // producer only + + /// + uint32_t distance(uint32_t _from, uint32_t _to) const; // both + + /// + void reset(); const uint32_t m_size; uint32_t m_current; @@ -184,7 +90,8 @@ namespace bx uint32_t m_read; }; - template + /// + template class ReadRingBufferT { BX_CLASS(ReadRingBufferT @@ -194,65 +101,40 @@ namespace bx ); public: - ReadRingBufferT(Control& _control, const char* _buffer, uint32_t _size) - : m_control(_control) - , m_read(_control.m_read) - , m_end(m_read+_size) - , m_size(_size) - , m_buffer(_buffer) - { - BX_CHECK(_control.available() >= _size, "%d >= %d", _control.available(), _size); - } - - ~ReadRingBufferT() - { - } - - void end() - { - m_control.consume(m_size); - } - - void read(char* _data, uint32_t _len) - { - const uint32_t eof = (m_read + _len) % m_control.m_size; - uint32_t wrap = 0; - const char* from = &m_buffer[m_read]; - - if (eof < m_read) - { - wrap = m_control.m_size - m_read; - memcpy(_data, from, wrap); - _data += wrap; - from = (const char*)&m_buffer[0]; - } - - memcpy(_data, from, _len-wrap); - - m_read = eof; - } - - void skip(uint32_t _len) - { - m_read += _len; - m_read %= m_control.m_size; - } + /// + ReadRingBufferT(ControlT& _control, const char* _buffer, uint32_t _size); + + /// + ~ReadRingBufferT(); + + /// + void end(); + + /// + void read(char* _data, uint32_t _len); + + /// + void skip(uint32_t _len); private: template friend class WriteRingBufferT; - Control& m_control; + ControlT& m_control; uint32_t m_read; uint32_t m_end; const uint32_t m_size; const char* m_buffer; }; + /// typedef ReadRingBufferT ReadRingBuffer; + + /// typedef ReadRingBufferT SpScReadRingBuffer; - template + /// + template class WriteRingBufferT { BX_CLASS(WriteRingBufferT @@ -262,81 +144,40 @@ namespace bx ); public: - WriteRingBufferT(Control& _control, char* _buffer, uint32_t _size) - : m_control(_control) - , m_size(_size) - , m_buffer(_buffer) - { - uint32_t size = m_control.reserve(_size); - BX_UNUSED(size); - BX_CHECK(size == _size, "%d == %d", size, _size); - m_write = m_control.m_current; - m_end = m_write+_size; - } - - ~WriteRingBufferT() - { - } - - void end() - { - m_control.commit(m_size); - } - - void write(const char* _data, uint32_t _len) - { - const uint32_t eof = (m_write + _len) % m_control.m_size; - uint32_t wrap = 0; - char* to = &m_buffer[m_write]; - - if (eof < m_write) - { - wrap = m_control.m_size - m_write; - memcpy(to, _data, wrap); - _data += wrap; - to = (char*)&m_buffer[0]; - } - - memcpy(to, _data, _len-wrap); - - m_write = eof; - } - - void write(ReadRingBufferT& _read, uint32_t _len) - { - const uint32_t eof = (_read.m_read + _len) % _read.m_control.m_size; - uint32_t wrap = 0; - const char* from = &_read.m_buffer[_read.m_read]; - - if (eof < _read.m_read) - { - wrap = _read.m_control.m_size - _read.m_read; - write(from, wrap); - from = (const char*)&_read.m_buffer[0]; - } - - write(from, _len-wrap); - - _read.m_read = eof; - } - - void skip(uint32_t _len) - { - m_write += _len; - m_write %= m_control.m_size; - } + /// + WriteRingBufferT(ControlT& _control, char* _buffer, uint32_t _size); + + /// + ~WriteRingBufferT(); + + /// + void end(); + + /// + void write(const char* _data, uint32_t _len); + + /// + void write(ReadRingBufferT& _read, uint32_t _len); + + /// + void skip(uint32_t _len); private: - Control& m_control; + ControlT& m_control; uint32_t m_write; uint32_t m_end; const uint32_t m_size; char* m_buffer; }; + /// typedef WriteRingBufferT WriteRingBuffer; + + /// typedef WriteRingBufferT SpScWriteRingBuffer; } // namespace bx +#include "inline/ringbuffer.inl" + #endif // BX_RINGBUFFER_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/rng.h b/3rdparty/bx/include/bx/rng.h index 91eade62644..56d7674957c 100644 --- a/3rdparty/bx/include/bx/rng.h +++ b/3rdparty/bx/include/bx/rng.h @@ -96,6 +96,6 @@ namespace bx } // namespace bx -#include "rng.inl" +#include "inline/rng.inl" #endif // BX_RNG_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/rng.inl b/3rdparty/bx/include/bx/rng.inl deleted file mode 100644 index 02a4d21e5bc..00000000000 --- a/3rdparty/bx/include/bx/rng.inl +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_RNG_H_HEADER_GUARD -# error "Must be included from bx/rng.h!" -#endif // BX_RNG_H_HEADER_GUARD - -#include "bx.h" -#include "fpumath.h" -#include "uint32_t.h" - -namespace bx -{ - inline RngMwc::RngMwc(uint32_t _z, uint32_t _w) - : m_z(_z) - , m_w(_w) - { - } - - inline void RngMwc::reset(uint32_t _z, uint32_t _w) - { - m_z = _z; - m_w = _w; - } - - inline uint32_t RngMwc::gen() - { - m_z = 36969*(m_z&65535)+(m_z>>16); - m_w = 18000*(m_w&65535)+(m_w>>16); - return (m_z<<16)+m_w; - } - - inline RngFib::RngFib(uint32_t _a, uint32_t _b) - : m_a(_a) - , m_b(_b) - { - } - - inline void RngFib::reset(uint32_t _a, uint32_t _b) - { - m_a = _a; - m_b = _b; - } - - inline uint32_t RngFib::gen() - { - m_b = m_a+m_b; - m_a = m_b-m_a; - return m_a; - } - - inline RngShr3::RngShr3(uint32_t _jsr) - : m_jsr(_jsr) - { - } - - inline void RngShr3::reset(uint32_t _jsr) - { - m_jsr = _jsr; - } - - inline uint32_t RngShr3::gen() - { - m_jsr ^= m_jsr<<17; - m_jsr ^= m_jsr>>13; - m_jsr ^= m_jsr<<5; - return m_jsr; - } - - template - inline float frnd(Rng* _rng) - { - uint32_t rnd = _rng->gen() & UINT16_MAX; - return float(rnd) * 1.0f/float(UINT16_MAX); - } - - template - inline float frndh(Rng* _rng) - { - return 2.0f * bx::frnd(_rng) - 1.0f; - } - - template - inline void randUnitCircle(float _result[3], Rng* _rng) - { - const float angle = frnd(_rng) * pi * 2.0f; - - _result[0] = fcos(angle); - _result[1] = 0.0f; - _result[2] = fsin(angle); - } - - template - inline void randUnitSphere(float _result[3], Rng* _rng) - { - const float rand0 = frnd(_rng) * 2.0f - 1.0f; - const float rand1 = frnd(_rng) * pi * 2.0f; - const float sqrtf1 = fsqrt(1.0f - rand0*rand0); - - _result[0] = sqrtf1 * fcos(rand1); - _result[1] = sqrtf1 * fsin(rand1); - _result[2] = rand0; - } - - template - inline void randUnitHemisphere(float _result[3], Ty* _rng, const float _normal[3]) - { - float dir[3]; - randUnitSphere(dir, _rng); - - float DdotN = dir[0]*_normal[0] - + dir[1]*_normal[1] - + dir[2]*_normal[2] - ; - - if (0.0f > DdotN) - { - dir[0] = -dir[0]; - dir[1] = -dir[1]; - dir[2] = -dir[2]; - } - - _result[0] = dir[0]; - _result[1] = dir[1]; - _result[2] = dir[2]; - } - - inline void generateSphereHammersley(void* _data, uint32_t _stride, uint32_t _num, float _scale) - { - uint8_t* data = (uint8_t*)_data; - - for (uint32_t ii = 0; ii < _num; ii++) - { - float tt = 0.0f; - float pp = 0.5; - for (uint32_t jj = ii; jj; jj >>= 1) - { - tt += (jj & 1) ? pp : 0.0f; - pp *= 0.5f; - } - - tt = 2.0f * tt - 1.0f; - - const float phi = (ii + 0.5f) / _num; - const float phirad = phi * 2.0f * pi; - const float st = fsqrt(1.0f-tt*tt) * _scale; - - float* xyz = (float*)data; - data += _stride; - - xyz[0] = st * fcos(phirad); - xyz[1] = st * fsin(phirad); - xyz[2] = tt * _scale; - } - } - - template - inline void shuffle(Rng* _rng, Ty* _array, uint32_t _num) - { - BX_CHECK(_num != 0, "Number of elements can't be 0!"); - - for (uint32_t ii = 0, num = _num-1; ii < num; ++ii) - { - uint32_t jj = ii + 1 + _rng->gen() % (num - ii); - bx::xchg(_array[ii], _array[jj]); - } - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/sem.h b/3rdparty/bx/include/bx/sem.h deleted file mode 100644 index acc2359c363..00000000000 --- a/3rdparty/bx/include/bx/sem.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SEM_H_HEADER_GUARD -#define BX_SEM_H_HEADER_GUARD - -#include "bx.h" - -#if BX_CONFIG_SUPPORTS_THREADING - -#if BX_PLATFORM_POSIX -# include -# include -# include -# include -#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT || BX_PLATFORM_XBOXONE -# include -# include -# if BX_PLATFORM_XBOXONE -# include -# endif // BX_PLATFORM_XBOXONE -#endif // BX_PLATFORM_ - -#include "mutex.h" - -namespace bx -{ - /// - class Semaphore - { - BX_CLASS(Semaphore - , NO_COPY - , NO_ASSIGNMENT - ); - - public: - /// - Semaphore(); - - /// - ~Semaphore(); - - /// - void post(uint32_t _count = 1); - - /// - bool wait(int32_t _msecs = -1); - - private: -#if BX_PLATFORM_POSIX -# if BX_CONFIG_SEMAPHORE_PTHREAD - pthread_mutex_t m_mutex; - pthread_cond_t m_cond; - int32_t m_count; -# else - sem_t m_handle; -# endif // BX_CONFIG_SEMAPHORE_PTHREAD -#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT - HANDLE m_handle; -#endif // BX_PLATFORM_ - }; - -} // namespace bx - -#endif // BX_CONFIG_SUPPORTS_THREADING - -#endif // BX_SEM_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/semaphore.h b/3rdparty/bx/include/bx/semaphore.h new file mode 100644 index 00000000000..867fa9e7cde --- /dev/null +++ b/3rdparty/bx/include/bx/semaphore.h @@ -0,0 +1,40 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SEM_H_HEADER_GUARD +#define BX_SEM_H_HEADER_GUARD + +#include "bx.h" + +namespace bx +{ + /// + class Semaphore + { + BX_CLASS(Semaphore + , NO_COPY + , NO_ASSIGNMENT + ); + + public: + /// + Semaphore(); + + /// + ~Semaphore(); + + /// + void post(uint32_t _count = 1); + + /// + bool wait(int32_t _msecs = -1); + + private: + BX_ALIGN_DECL(16, uint8_t) m_internal[128]; + }; + +} // namespace bx + +#endif // BX_SEM_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd128_langext.inl b/3rdparty/bx/include/bx/simd128_langext.inl deleted file mode 100644 index c89e6123349..00000000000 --- a/3rdparty/bx/include/bx/simd128_langext.inl +++ /dev/null @@ -1,515 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD128_LANGEXT_H_HEADER_GUARD -#define BX_SIMD128_LANGEXT_H_HEADER_GUARD - -#define simd_rcp simd_rcp_ni -#define simd_orx simd_orx_ni -#define simd_orc simd_orc_ni -#define simd_neg simd_neg_ni -#define simd_madd simd_madd_ni -#define simd_nmsub simd_nmsub_ni -#define simd_div_nr simd_div_nr_ni -#define simd_selb simd_selb_ni -#define simd_sels simd_sels_ni -#define simd_not simd_not_ni -#define simd_abs simd_abs_ni -#define simd_clamp simd_clamp_ni -#define simd_lerp simd_lerp_ni -#define simd_rcp_est simd_rcp_ni -#define simd_rsqrt simd_rsqrt_ni -#define simd_rsqrt_nr simd_rsqrt_nr_ni -#define simd_rsqrt_carmack simd_rsqrt_carmack_ni -#define simd_sqrt_nr simd_sqrt_nr_ni -#define simd_log2 simd_log2_ni -#define simd_exp2 simd_exp2_ni -#define simd_pow simd_pow_ni -#define simd_cross3 simd_cross3_ni -#define simd_normalize3 simd_normalize3_ni -#define simd_dot3 simd_dot3_ni -#define simd_dot simd_dot_ni -#define simd_ceil simd_ceil_ni -#define simd_floor simd_floor_ni -#define simd_min simd_min_ni -#define simd_max simd_max_ni -#define simd_imin simd_imin_ni -#define simd_imax simd_imax_ni - -#include "simd_ni.inl" - -namespace bx -{ -#define ELEMx 0 -#define ELEMy 1 -#define ELEMz 2 -#define ELEMw 3 -#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ - template<> \ - BX_SIMD_FORCE_INLINE simd128_langext_t simd_swiz_##_x##_y##_z##_w(simd128_langext_t _a) \ - { \ - simd128_langext_t result; \ - result.vf = __builtin_shufflevector(_a.vf, _a.vf, ELEM##_x, ELEM##_y, ELEM##_z, ELEM##_w); \ - return result; \ - } - -#include "simd128_swizzle.inl" - -#undef BX_SIMD128_IMPLEMENT_SWIZZLE -#undef ELEMw -#undef ELEMz -#undef ELEMy -#undef ELEMx - -#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_langext_t _test) \ - { \ - uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ - | ( (_test.uxyzw[2]>>31)<<2) \ - | ( (_test.uxyzw[1]>>31)<<1) \ - | ( _test.uxyzw[0]>>31) \ - ; \ - return 0 != (tmp&(_mask) ); \ - } \ - \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_langext_t _test) \ - { \ - uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ - | ( (_test.uxyzw[2]>>31)<<2) \ - | ( (_test.uxyzw[1]>>31)<<1) \ - | ( _test.uxyzw[0]>>31) \ - ; \ - return (_mask) == (tmp&(_mask) ); \ - } - -BX_SIMD128_IMPLEMENT_TEST(x , 0x1); -BX_SIMD128_IMPLEMENT_TEST(y , 0x2); -BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); -BX_SIMD128_IMPLEMENT_TEST(z , 0x4); -BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); -BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); -BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); -BX_SIMD128_IMPLEMENT_TEST(w , 0x8); -BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); -BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); -BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); -BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); -BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); -BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); -BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); - -#undef BX_SIMD128_IMPLEMENT_TEST - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xyAB(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 1, 4, 5); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_ABxy(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 4, 5, 0, 1); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_CDzw(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 6, 7, 2, 3); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_zwCD(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 2, 3, 6, 7); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xAyB(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 4, 1, 5); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_yBxA(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 1, 5, 0, 4); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_zCwD(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 2, 6, 3, 7); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_CzDw(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 6, 2, 7, 3); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_xAzC(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 0, 4, 2, 6); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_yBwD(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = __builtin_shufflevector(_a.vf, _b.vf, 1, 5, 3, 7); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_x(simd128_langext_t _a) - { - return _a.fxyzw[0]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_y(simd128_langext_t _a) - { - return _a.fxyzw[1]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_z(simd128_langext_t _a) - { - return _a.fxyzw[2]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_w(simd128_langext_t _a) - { - return _a.fxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_ld(const void* _ptr) - { - const uint32_t* input = reinterpret_cast(_ptr); - simd128_langext_t result; - result.uxyzw[0] = input[0]; - result.uxyzw[1] = input[1]; - result.uxyzw[2] = input[2]; - result.uxyzw[3] = input[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_langext_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - result[1] = _a.uxyzw[1]; - result[2] = _a.uxyzw[2]; - result[3] = _a.uxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_langext_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_langext_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - result[1] = _a.uxyzw[1]; - result[2] = _a.uxyzw[2]; - result[3] = _a.uxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_ld(float _x, float _y, float _z, float _w) - { - simd128_langext_t result; - result.vf = (float __attribute__((vector_size(16)))){ _x, _y, _z, _w }; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) - { - simd128_langext_t result; - result.vu = (uint32_t __attribute__((vector_size(16)))){ _x, _y, _z, _w }; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_splat(const void* _ptr) - { - const uint32_t val = *reinterpret_cast(_ptr); - simd128_langext_t result; - result.vu = (uint32_t __attribute__((vector_size(16)))){ val, val, val, val }; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_splat(float _a) - { - return simd_ld(_a, _a, _a, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_isplat(uint32_t _a) - { - return simd_ild(_a, _a, _a, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_zero() - { - return simd_ild(0, 0, 0, 0); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_itof(simd128_langext_t _a) - { - simd128_langext_t result; - result.vf = __builtin_convertvector(_a.vi, float __attribute__((vector_size(16))) ); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_ftoi(simd128_langext_t _a) - { - simd128_langext_t result; - result.vi = __builtin_convertvector(_a.vf, int32_t __attribute__((vector_size(16))) ); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_round(simd128_langext_t _a) - { - const simd128_langext_t tmp = simd_ftoi(_a); - const simd128_langext_t result = simd_itof(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_add(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = _a.vf + _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_sub(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = _a.vf - _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_mul(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = _a.vf * _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_div(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vf = _a.vf / _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_sqrt(simd128_langext_t _a) - { - simd128_langext_t result; - result.vf[0] = sqrtf(_a.vf[0]); - result.vf[1] = sqrtf(_a.vf[1]); - result.vf[2] = sqrtf(_a.vf[2]); - result.vf[3] = sqrtf(_a.vf[3]); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_rsqrt_est(simd128_langext_t _a) - { - simd128_langext_t result; - result.vf[0] = 1.0f / sqrtf(_a.vf[0]); - result.vf[1] = 1.0f / sqrtf(_a.vf[1]); - result.vf[2] = 1.0f / sqrtf(_a.vf[2]); - result.vf[3] = 1.0f / sqrtf(_a.vf[3]); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpeq(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vf == _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmplt(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vf < _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmple(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vf <= _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpgt(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vf > _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_cmpge(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vf >= _b.vf; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_and(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vu = _a.vu & _b.vu; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_andc(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vu = _a.vu & ~_b.vu; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_or(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vu = _a.vu | _b.vu; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_xor(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vu = _a.vu ^ _b.vu; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_sll(simd128_langext_t _a, int _count) - { - simd128_langext_t result; - const simd128_langext_t count = simd_isplat(_count); - result.vu = _a.vu << count.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_srl(simd128_langext_t _a, int _count) - { - simd128_langext_t result; - const simd128_langext_t count = simd_isplat(_count); - result.vu = _a.vu >> count.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_sra(simd128_langext_t _a, int _count) - { - simd128_langext_t result; - const simd128_langext_t count = simd_isplat(_count); - result.vi = _a.vi >> count.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmpeq(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vi == _b.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmplt(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vi < _b.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_icmpgt(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vi > _b.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_iadd(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vi + _b.vi; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_langext_t simd_isub(simd128_langext_t _a, simd128_langext_t _b) - { - simd128_langext_t result; - result.vi = _a.vi - _b.vi; - return result; - } - - typedef simd128_langext_t simd128_t; - -} // namespace bx - -#endif // BX_SIMD128_LANGEXT_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd128_neon.inl b/3rdparty/bx/include/bx/simd128_neon.inl deleted file mode 100644 index 1dd0d1f12b2..00000000000 --- a/3rdparty/bx/include/bx/simd128_neon.inl +++ /dev/null @@ -1,562 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD128_NEON_H_HEADER_GUARD -#define BX_SIMD128_NEON_H_HEADER_GUARD - -#define simd_rcp simd_rcp_ni -#define simd_orx simd_orx_ni -#define simd_orc simd_orc_ni -#define simd_neg simd_neg_ni -#define simd_madd simd_madd_ni -#define simd_nmsub simd_nmsub_ni -#define simd_div_nr simd_div_nr_ni -#define simd_div simd_div_nr_ni -#define simd_selb simd_selb_ni -#define simd_sels simd_sels_ni -#define simd_not simd_not_ni -#define simd_abs simd_abs_ni -#define simd_clamp simd_clamp_ni -#define simd_lerp simd_lerp_ni -#define simd_rsqrt simd_rsqrt_ni -#define simd_rsqrt_nr simd_rsqrt_nr_ni -#define simd_rsqrt_carmack simd_rsqrt_carmack_ni -#define simd_sqrt_nr simd_sqrt_nr_ni -#define simd_sqrt simd_sqrt_nr_ni -#define simd_log2 simd_log2_ni -#define simd_exp2 simd_exp2_ni -#define simd_pow simd_pow_ni -#define simd_cross3 simd_cross3_ni -#define simd_normalize3 simd_normalize3_ni -#define simd_dot3 simd_dot3_ni -#define simd_dot simd_dot_ni -#define simd_ceil simd_ceil_ni -#define simd_floor simd_floor_ni - -#include "simd_ni.inl" - -namespace bx -{ -#define ELEMx 0 -#define ELEMy 1 -#define ELEMz 2 -#define ELEMw 3 -#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ - template<> \ - BX_SIMD_FORCE_INLINE simd128_neon_t simd_swiz_##_x##_y##_z##_w(simd128_neon_t _a) \ - { \ - return __builtin_shuffle(_a, (uint32x4_t){ ELEM##_x, ELEM##_y, ELEM##_z, ELEM##_w }); \ - } - -#include "simd128_swizzle.inl" - -#undef BX_SIMD128_IMPLEMENT_SWIZZLE -#undef ELEMw -#undef ELEMz -#undef ELEMy -#undef ELEMx - -#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _swizzle) \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_neon_t _test) \ - { \ - const simd128_neon_t tmp0 = simd_swiz_##_swizzle(_test); \ - return simd_test_any_ni(tmp0); \ - } \ - \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_neon_t _test) \ - { \ - const simd128_neon_t tmp0 = simd_swiz_##_swizzle(_test); \ - return simd_test_all_ni(tmp0); \ - } - -BX_SIMD128_IMPLEMENT_TEST(x, xxxx); -BX_SIMD128_IMPLEMENT_TEST(y, yyyy); -BX_SIMD128_IMPLEMENT_TEST(xy, xyyy); -BX_SIMD128_IMPLEMENT_TEST(z, zzzz); -BX_SIMD128_IMPLEMENT_TEST(xz, xzzz); -BX_SIMD128_IMPLEMENT_TEST(yz, yzzz); -BX_SIMD128_IMPLEMENT_TEST(xyz, xyzz); -BX_SIMD128_IMPLEMENT_TEST(w, wwww); -BX_SIMD128_IMPLEMENT_TEST(xw, xwww); -BX_SIMD128_IMPLEMENT_TEST(yw, ywww); -BX_SIMD128_IMPLEMENT_TEST(xyw, xyww); -BX_SIMD128_IMPLEMENT_TEST(zw, zwww); -BX_SIMD128_IMPLEMENT_TEST(xzw, xzww); -BX_SIMD128_IMPLEMENT_TEST(yzw, yzww); -#undef BX_SIMD128_IMPLEMENT_TEST - - template<> - BX_SIMD_FORCE_INLINE bool simd_test_any_xyzw(simd128_neon_t _test) - { - return simd_test_any_ni(_test); - } - - template<> - BX_SIMD_FORCE_INLINE bool simd_test_all_xyzw(simd128_neon_t _test) - { - return simd_test_all_ni(_test); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_xyAB(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 0, 1, 4, 5 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_ABxy(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 4, 5, 0, 1 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_CDzw(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 6, 7, 2, 3 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_zwCD(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 2, 3, 6, 7 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_xAyB(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 0, 4, 1, 5 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_yBxA(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 1, 5, 0, 4 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_zCwD(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 2, 6, 3, 7 }); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_CzDw(simd128_neon_t _a, simd128_neon_t _b) - { - return __builtin_shuffle(_a, _b, (uint32x4_t){ 6, 2, 7, 3 }); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_x(simd128_neon_t _a) - { - return vgetq_lane_f32(_a, 0); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_y(simd128_neon_t _a) - { - return vgetq_lane_f32(_a, 1); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_z(simd128_neon_t _a) - { - return vgetq_lane_f32(_a, 2); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_w(simd128_neon_t _a) - { - return vgetq_lane_f32(_a, 3); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_ld(const void* _ptr) - { - return vld1q_f32( (const float32_t*)_ptr); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_neon_t _a) - { - vst1q_f32( (float32_t*)_ptr, _a); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_neon_t _a) - { - vst1q_lane_f32( (float32_t*)_ptr, _a, 0); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_neon_t _a) - { - vst1q_f32( (float32_t*)_ptr, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_ld(float _x, float _y, float _z, float _w) - { - const float32_t val[4] = {_x, _y, _z, _w}; - return simd_ld(val); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) - { - const uint32_t val[4] = {_x, _y, _z, _w}; - const uint32x4_t tmp = vld1q_u32(val); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_splat(const void* _ptr) - { - const simd128_neon_t tmp0 = vld1q_f32( (const float32_t*)_ptr); - const float32x2_t tmp1 = vget_low_f32(tmp0); - const simd128_neon_t result = vdupq_lane_f32(tmp1, 0); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_splat(float _a) - { - return vdupq_n_f32(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_isplat(uint32_t _a) - { - const int32x4_t tmp = vdupq_n_s32(_a); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_zero() - { - return simd_isplat(0); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_itof(simd128_neon_t _a) - { - const int32x4_t itof = vreinterpretq_s32_f32(_a); - const simd128_neon_t result = vcvtq_f32_s32(itof); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_ftoi(simd128_neon_t _a) - { - const int32x4_t ftoi = vcvtq_s32_f32(_a); - const simd128_neon_t result = vreinterpretq_f32_s32(ftoi); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_add(simd128_neon_t _a, simd128_neon_t _b) - { - return vaddq_f32(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_sub(simd128_neon_t _a, simd128_neon_t _b) - { - return vsubq_f32(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_mul(simd128_neon_t _a, simd128_neon_t _b) - { - return vmulq_f32(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_rcp_est(simd128_neon_t _a) - { - return vrecpeq_f32(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_rsqrt_est(simd128_neon_t _a) - { - return vrsqrteq_f32(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpeq(simd128_neon_t _a, simd128_neon_t _b) - { - const uint32x4_t tmp = vceqq_f32(_a, _b); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmplt(simd128_neon_t _a, simd128_neon_t _b) - { - const uint32x4_t tmp = vcltq_f32(_a, _b); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmple(simd128_neon_t _a, simd128_neon_t _b) - { - const uint32x4_t tmp = vcleq_f32(_a, _b); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpgt(simd128_neon_t _a, simd128_neon_t _b) - { - const uint32x4_t tmp = vcgtq_f32(_a, _b); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_cmpge(simd128_neon_t _a, simd128_neon_t _b) - { - const uint32x4_t tmp = vcgeq_f32(_a, _b); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_min(simd128_neon_t _a, simd128_neon_t _b) - { - return vminq_f32(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_max(simd128_neon_t _a, simd128_neon_t _b) - { - return vmaxq_f32(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_and(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vandq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_andc(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vbicq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_or(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vorrq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_xor(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = veorq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_sll(simd128_neon_t _a, int _count) - { - if (__builtin_constant_p(_count) ) - { - const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); - const uint32x4_t tmp1 = vshlq_n_u32(tmp0, _count); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); - - return result; - } - - const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); - const int32x4_t shift = vdupq_n_s32(_count); - const uint32x4_t tmp1 = vshlq_u32(tmp0, shift); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_srl(simd128_neon_t _a, int _count) - { - if (__builtin_constant_p(_count) ) - { - const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); - const uint32x4_t tmp1 = vshrq_n_u32(tmp0, _count); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); - - return result; - } - - const uint32x4_t tmp0 = vreinterpretq_u32_f32(_a); - const int32x4_t shift = vdupq_n_s32(-_count); - const uint32x4_t tmp1 = vshlq_u32(tmp0, shift); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp1); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_sra(simd128_neon_t _a, int _count) - { - if (__builtin_constant_p(_count) ) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vshrq_n_s32(tmp0, _count); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp1); - - return result; - } - - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t shift = vdupq_n_s32(-_count); - const int32x4_t tmp1 = vshlq_s32(tmp0, shift); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp1); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_madd(simd128_neon_t _a, simd128_neon_t _b, simd128_neon_t _c) - { - return vmlaq_f32(_c, _a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_nmsub(simd128_neon_t _a, simd128_neon_t _b, simd128_neon_t _c) - { - return vmlsq_f32(_c, _a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmpeq(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const uint32x4_t tmp2 = vceqq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmplt(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const uint32x4_t tmp2 = vcltq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_icmpgt(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const uint32x4_t tmp2 = vcgtq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_u32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_imin(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vminq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_imax(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vmaxq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_iadd(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vaddq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_neon_t simd_isub(simd128_neon_t _a, simd128_neon_t _b) - { - const int32x4_t tmp0 = vreinterpretq_s32_f32(_a); - const int32x4_t tmp1 = vreinterpretq_s32_f32(_b); - const int32x4_t tmp2 = vsubq_s32(tmp0, tmp1); - const simd128_neon_t result = vreinterpretq_f32_s32(tmp2); - - return result; - } - - template<> - BX_SIMD_INLINE simd128_neon_t simd_shuf_xAzC(simd128_neon_t _a, simd128_neon_t _b) - { - return simd_shuf_xAzC_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_neon_t simd_shuf_yBwD(simd128_neon_t _a, simd128_neon_t _b) - { - return simd_shuf_yBwD_ni(_a, _b); - } - - typedef simd128_neon_t simd128_t; - -} // namespace bx - -#endif // BX_SIMD128_NEON_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd128_ref.inl b/3rdparty/bx/include/bx/simd128_ref.inl deleted file mode 100644 index da08f5088b6..00000000000 --- a/3rdparty/bx/include/bx/simd128_ref.inl +++ /dev/null @@ -1,650 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD128_REF_H_HEADER_GUARD -#define BX_SIMD128_REF_H_HEADER_GUARD - -#include // sqrtf - -#define simd_shuf_xAzC simd_shuf_xAzC_ni -#define simd_shuf_yBwD simd_shuf_yBwD_ni -#define simd_rcp simd_rcp_ni -#define simd_orx simd_orx_ni -#define simd_orc simd_orc_ni -#define simd_neg simd_neg_ni -#define simd_madd simd_madd_ni -#define simd_nmsub simd_nmsub_ni -#define simd_div_nr simd_div_nr_ni -#define simd_selb simd_selb_ni -#define simd_sels simd_sels_ni -#define simd_not simd_not_ni -#define simd_abs simd_abs_ni -#define simd_clamp simd_clamp_ni -#define simd_lerp simd_lerp_ni -#define simd_rsqrt simd_rsqrt_ni -#define simd_rsqrt_nr simd_rsqrt_nr_ni -#define simd_rsqrt_carmack simd_rsqrt_carmack_ni -#define simd_sqrt_nr simd_sqrt_nr_ni -#define simd_log2 simd_log2_ni -#define simd_exp2 simd_exp2_ni -#define simd_pow simd_pow_ni -#define simd_cross3 simd_cross3_ni -#define simd_normalize3 simd_normalize3_ni -#define simd_dot3 simd_dot3_ni -#define simd_dot simd_dot_ni -#define simd_ceil simd_ceil_ni -#define simd_floor simd_floor_ni - -#include "simd_ni.inl" - -namespace bx -{ -#define ELEMx 0 -#define ELEMy 1 -#define ELEMz 2 -#define ELEMw 3 -#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ - template<> \ - BX_SIMD_FORCE_INLINE simd128_ref_t simd_swiz_##_x##_y##_z##_w(simd128_ref_t _a) \ - { \ - simd128_ref_t result; \ - result.ixyzw[0] = _a.ixyzw[ELEM##_x]; \ - result.ixyzw[1] = _a.ixyzw[ELEM##_y]; \ - result.ixyzw[2] = _a.ixyzw[ELEM##_z]; \ - result.ixyzw[3] = _a.ixyzw[ELEM##_w]; \ - return result; \ - } - -#include "simd128_swizzle.inl" - -#undef BX_SIMD128_IMPLEMENT_SWIZZLE -#undef ELEMw -#undef ELEMz -#undef ELEMy -#undef ELEMx - -#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_ref_t _test) \ - { \ - uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ - | ( (_test.uxyzw[2]>>31)<<2) \ - | ( (_test.uxyzw[1]>>31)<<1) \ - | ( _test.uxyzw[0]>>31) \ - ; \ - return 0 != (tmp&(_mask) ); \ - } \ - \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_ref_t _test) \ - { \ - uint32_t tmp = ( (_test.uxyzw[3]>>31)<<3) \ - | ( (_test.uxyzw[2]>>31)<<2) \ - | ( (_test.uxyzw[1]>>31)<<1) \ - | ( _test.uxyzw[0]>>31) \ - ; \ - return (_mask) == (tmp&(_mask) ); \ - } - -BX_SIMD128_IMPLEMENT_TEST(x , 0x1); -BX_SIMD128_IMPLEMENT_TEST(y , 0x2); -BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); -BX_SIMD128_IMPLEMENT_TEST(z , 0x4); -BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); -BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); -BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); -BX_SIMD128_IMPLEMENT_TEST(w , 0x8); -BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); -BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); -BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); -BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); -BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); -BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); -BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); - -#undef BX_SIMD128_IMPLEMENT_TEST - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_xyAB(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0]; - result.uxyzw[1] = _a.uxyzw[1]; - result.uxyzw[2] = _b.uxyzw[0]; - result.uxyzw[3] = _b.uxyzw[1]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_ABxy(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _b.uxyzw[0]; - result.uxyzw[1] = _b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[0]; - result.uxyzw[3] = _a.uxyzw[1]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_CDzw(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _b.uxyzw[2]; - result.uxyzw[1] = _b.uxyzw[3]; - result.uxyzw[2] = _a.uxyzw[2]; - result.uxyzw[3] = _a.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_zwCD(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[2]; - result.uxyzw[1] = _a.uxyzw[3]; - result.uxyzw[2] = _b.uxyzw[2]; - result.uxyzw[3] = _b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_xAyB(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0]; - result.uxyzw[1] = _b.uxyzw[0]; - result.uxyzw[2] = _a.uxyzw[1]; - result.uxyzw[3] = _b.uxyzw[1]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_yBxA(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[1]; - result.uxyzw[1] = _b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[0]; - result.uxyzw[3] = _b.uxyzw[0]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_zCwD(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[2]; - result.uxyzw[1] = _b.uxyzw[2]; - result.uxyzw[2] = _a.uxyzw[3]; - result.uxyzw[3] = _b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_CzDw(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _b.uxyzw[2]; - result.uxyzw[1] = _a.uxyzw[2]; - result.uxyzw[2] = _b.uxyzw[3]; - result.uxyzw[3] = _a.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_x(simd128_ref_t _a) - { - return _a.fxyzw[0]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_y(simd128_ref_t _a) - { - return _a.fxyzw[1]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_z(simd128_ref_t _a) - { - return _a.fxyzw[2]; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_w(simd128_ref_t _a) - { - return _a.fxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_ld(const void* _ptr) - { - const uint32_t* input = reinterpret_cast(_ptr); - simd128_ref_t result; - result.uxyzw[0] = input[0]; - result.uxyzw[1] = input[1]; - result.uxyzw[2] = input[2]; - result.uxyzw[3] = input[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_ref_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - result[1] = _a.uxyzw[1]; - result[2] = _a.uxyzw[2]; - result[3] = _a.uxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_ref_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_ref_t _a) - { - uint32_t* result = reinterpret_cast(_ptr); - result[0] = _a.uxyzw[0]; - result[1] = _a.uxyzw[1]; - result[2] = _a.uxyzw[2]; - result[3] = _a.uxyzw[3]; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_ld(float _x, float _y, float _z, float _w) - { - simd128_ref_t result; - result.fxyzw[0] = _x; - result.fxyzw[1] = _y; - result.fxyzw[2] = _z; - result.fxyzw[3] = _w; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) - { - simd128_ref_t result; - result.uxyzw[0] = _x; - result.uxyzw[1] = _y; - result.uxyzw[2] = _z; - result.uxyzw[3] = _w; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_splat(const void* _ptr) - { - const uint32_t val = *reinterpret_cast(_ptr); - simd128_ref_t result; - result.uxyzw[0] = val; - result.uxyzw[1] = val; - result.uxyzw[2] = val; - result.uxyzw[3] = val; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_splat(float _a) - { - return simd_ld(_a, _a, _a, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_isplat(uint32_t _a) - { - return simd_ild(_a, _a, _a, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_zero() - { - return simd_ild(0, 0, 0, 0); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_itof(simd128_ref_t _a) - { - simd128_ref_t result; - result.fxyzw[0] = (float)_a.ixyzw[0]; - result.fxyzw[1] = (float)_a.ixyzw[1]; - result.fxyzw[2] = (float)_a.ixyzw[2]; - result.fxyzw[3] = (float)_a.ixyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_ftoi(simd128_ref_t _a) - { - simd128_ref_t result; - result.ixyzw[0] = (int)_a.fxyzw[0]; - result.ixyzw[1] = (int)_a.fxyzw[1]; - result.ixyzw[2] = (int)_a.fxyzw[2]; - result.ixyzw[3] = (int)_a.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_round(simd128_ref_t _a) - { - return simd_round_ni(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_add(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] + _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] + _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] + _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] + _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_sub(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] - _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] - _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] - _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] - _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_mul(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] * _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] * _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] * _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] * _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_div(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] / _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] / _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] / _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] / _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_rcp_est(simd128_ref_t _a) - { - simd128_ref_t result; - result.fxyzw[0] = 1.0f / _a.fxyzw[0]; - result.fxyzw[1] = 1.0f / _a.fxyzw[1]; - result.fxyzw[2] = 1.0f / _a.fxyzw[2]; - result.fxyzw[3] = 1.0f / _a.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_sqrt(simd128_ref_t _a) - { - simd128_ref_t result; - result.fxyzw[0] = sqrtf(_a.fxyzw[0]); - result.fxyzw[1] = sqrtf(_a.fxyzw[1]); - result.fxyzw[2] = sqrtf(_a.fxyzw[2]); - result.fxyzw[3] = sqrtf(_a.fxyzw[3]); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_rsqrt_est(simd128_ref_t _a) - { - simd128_ref_t result; - result.fxyzw[0] = 1.0f / sqrtf(_a.fxyzw[0]); - result.fxyzw[1] = 1.0f / sqrtf(_a.fxyzw[1]); - result.fxyzw[2] = 1.0f / sqrtf(_a.fxyzw[2]); - result.fxyzw[3] = 1.0f / sqrtf(_a.fxyzw[3]); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpeq(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.fxyzw[0] == _b.fxyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.fxyzw[1] == _b.fxyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.fxyzw[2] == _b.fxyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.fxyzw[3] == _b.fxyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmplt(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.fxyzw[0] < _b.fxyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.fxyzw[1] < _b.fxyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.fxyzw[2] < _b.fxyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.fxyzw[3] < _b.fxyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmple(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.fxyzw[0] <= _b.fxyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.fxyzw[1] <= _b.fxyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.fxyzw[2] <= _b.fxyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.fxyzw[3] <= _b.fxyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpgt(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.fxyzw[0] > _b.fxyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.fxyzw[1] > _b.fxyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.fxyzw[2] > _b.fxyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.fxyzw[3] > _b.fxyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_cmpge(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.fxyzw[0] >= _b.fxyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.fxyzw[1] >= _b.fxyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.fxyzw[2] >= _b.fxyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.fxyzw[3] >= _b.fxyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_min(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] < _b.fxyzw[0] ? _a.fxyzw[0] : _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] < _b.fxyzw[1] ? _a.fxyzw[1] : _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] < _b.fxyzw[2] ? _a.fxyzw[2] : _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] < _b.fxyzw[3] ? _a.fxyzw[3] : _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_max(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.fxyzw[0] = _a.fxyzw[0] > _b.fxyzw[0] ? _a.fxyzw[0] : _b.fxyzw[0]; - result.fxyzw[1] = _a.fxyzw[1] > _b.fxyzw[1] ? _a.fxyzw[1] : _b.fxyzw[1]; - result.fxyzw[2] = _a.fxyzw[2] > _b.fxyzw[2] ? _a.fxyzw[2] : _b.fxyzw[2]; - result.fxyzw[3] = _a.fxyzw[3] > _b.fxyzw[3] ? _a.fxyzw[3] : _b.fxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_and(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] & _b.uxyzw[0]; - result.uxyzw[1] = _a.uxyzw[1] & _b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[2] & _b.uxyzw[2]; - result.uxyzw[3] = _a.uxyzw[3] & _b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_andc(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] & ~_b.uxyzw[0]; - result.uxyzw[1] = _a.uxyzw[1] & ~_b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[2] & ~_b.uxyzw[2]; - result.uxyzw[3] = _a.uxyzw[3] & ~_b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_or(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] | _b.uxyzw[0]; - result.uxyzw[1] = _a.uxyzw[1] | _b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[2] | _b.uxyzw[2]; - result.uxyzw[3] = _a.uxyzw[3] | _b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_xor(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] ^ _b.uxyzw[0]; - result.uxyzw[1] = _a.uxyzw[1] ^ _b.uxyzw[1]; - result.uxyzw[2] = _a.uxyzw[2] ^ _b.uxyzw[2]; - result.uxyzw[3] = _a.uxyzw[3] ^ _b.uxyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_sll(simd128_ref_t _a, int _count) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] << _count; - result.uxyzw[1] = _a.uxyzw[1] << _count; - result.uxyzw[2] = _a.uxyzw[2] << _count; - result.uxyzw[3] = _a.uxyzw[3] << _count; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_srl(simd128_ref_t _a, int _count) - { - simd128_ref_t result; - result.uxyzw[0] = _a.uxyzw[0] >> _count; - result.uxyzw[1] = _a.uxyzw[1] >> _count; - result.uxyzw[2] = _a.uxyzw[2] >> _count; - result.uxyzw[3] = _a.uxyzw[3] >> _count; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_sra(simd128_ref_t _a, int _count) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] >> _count; - result.ixyzw[1] = _a.ixyzw[1] >> _count; - result.ixyzw[2] = _a.ixyzw[2] >> _count; - result.ixyzw[3] = _a.ixyzw[3] >> _count; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmpeq(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] == _b.ixyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.ixyzw[1] == _b.ixyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.ixyzw[2] == _b.ixyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.ixyzw[3] == _b.ixyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmplt(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] < _b.ixyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.ixyzw[1] < _b.ixyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.ixyzw[2] < _b.ixyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.ixyzw[3] < _b.ixyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_icmpgt(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] > _b.ixyzw[0] ? 0xffffffff : 0x0; - result.ixyzw[1] = _a.ixyzw[1] > _b.ixyzw[1] ? 0xffffffff : 0x0; - result.ixyzw[2] = _a.ixyzw[2] > _b.ixyzw[2] ? 0xffffffff : 0x0; - result.ixyzw[3] = _a.ixyzw[3] > _b.ixyzw[3] ? 0xffffffff : 0x0; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_imin(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] < _b.ixyzw[0] ? _a.ixyzw[0] : _b.ixyzw[0]; - result.ixyzw[1] = _a.ixyzw[1] < _b.ixyzw[1] ? _a.ixyzw[1] : _b.ixyzw[1]; - result.ixyzw[2] = _a.ixyzw[2] < _b.ixyzw[2] ? _a.ixyzw[2] : _b.ixyzw[2]; - result.ixyzw[3] = _a.ixyzw[3] < _b.ixyzw[3] ? _a.ixyzw[3] : _b.ixyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_imax(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] > _b.ixyzw[0] ? _a.ixyzw[0] : _b.ixyzw[0]; - result.ixyzw[1] = _a.ixyzw[1] > _b.ixyzw[1] ? _a.ixyzw[1] : _b.ixyzw[1]; - result.ixyzw[2] = _a.ixyzw[2] > _b.ixyzw[2] ? _a.ixyzw[2] : _b.ixyzw[2]; - result.ixyzw[3] = _a.ixyzw[3] > _b.ixyzw[3] ? _a.ixyzw[3] : _b.ixyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_iadd(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] + _b.ixyzw[0]; - result.ixyzw[1] = _a.ixyzw[1] + _b.ixyzw[1]; - result.ixyzw[2] = _a.ixyzw[2] + _b.ixyzw[2]; - result.ixyzw[3] = _a.ixyzw[3] + _b.ixyzw[3]; - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_ref_t simd_isub(simd128_ref_t _a, simd128_ref_t _b) - { - simd128_ref_t result; - result.ixyzw[0] = _a.ixyzw[0] - _b.ixyzw[0]; - result.ixyzw[1] = _a.ixyzw[1] - _b.ixyzw[1]; - result.ixyzw[2] = _a.ixyzw[2] - _b.ixyzw[2]; - result.ixyzw[3] = _a.ixyzw[3] - _b.ixyzw[3]; - return result; - } - -} // namespace bx - -#endif // BX_SIMD128_REF_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd128_sse.inl b/3rdparty/bx/include/bx/simd128_sse.inl deleted file mode 100644 index b0ed8520ab4..00000000000 --- a/3rdparty/bx/include/bx/simd128_sse.inl +++ /dev/null @@ -1,647 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD128_SSE_H_HEADER_GUARD -#define BX_SIMD128_SSE_H_HEADER_GUARD - -#include "simd_ni.inl" - -namespace bx -{ -#define ELEMx 0 -#define ELEMy 1 -#define ELEMz 2 -#define ELEMw 3 -#define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ - template<> \ - BX_SIMD_FORCE_INLINE simd128_sse_t simd_swiz_##_x##_y##_z##_w(simd128_sse_t _a) \ - { \ - return _mm_shuffle_ps( _a, _a, _MM_SHUFFLE(ELEM##_w, ELEM##_z, ELEM##_y, ELEM##_x ) ); \ - } - -#include "simd128_swizzle.inl" - -#undef BX_SIMD128_IMPLEMENT_SWIZZLE -#undef ELEMw -#undef ELEMz -#undef ELEMy -#undef ELEMx - -#define BX_SIMD128_IMPLEMENT_TEST(_xyzw, _mask) \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_any_##_xyzw(simd128_sse_t _test) \ - { \ - return 0x0 != (_mm_movemask_ps(_test)&(_mask) ); \ - } \ - \ - template<> \ - BX_SIMD_FORCE_INLINE bool simd_test_all_##_xyzw(simd128_sse_t _test) \ - { \ - return (_mask) == (_mm_movemask_ps(_test)&(_mask) ); \ - } - -BX_SIMD128_IMPLEMENT_TEST(x , 0x1); -BX_SIMD128_IMPLEMENT_TEST(y , 0x2); -BX_SIMD128_IMPLEMENT_TEST(xy , 0x3); -BX_SIMD128_IMPLEMENT_TEST(z , 0x4); -BX_SIMD128_IMPLEMENT_TEST(xz , 0x5); -BX_SIMD128_IMPLEMENT_TEST(yz , 0x6); -BX_SIMD128_IMPLEMENT_TEST(xyz , 0x7); -BX_SIMD128_IMPLEMENT_TEST(w , 0x8); -BX_SIMD128_IMPLEMENT_TEST(xw , 0x9); -BX_SIMD128_IMPLEMENT_TEST(yw , 0xa); -BX_SIMD128_IMPLEMENT_TEST(xyw , 0xb); -BX_SIMD128_IMPLEMENT_TEST(zw , 0xc); -BX_SIMD128_IMPLEMENT_TEST(xzw , 0xd); -BX_SIMD128_IMPLEMENT_TEST(yzw , 0xe); -BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf); - -#undef BX_SIMD128_IMPLEMENT_TEST - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_xyAB(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_movelh_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_ABxy(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_movelh_ps(_b, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_CDzw(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_movehl_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_zwCD(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_movehl_ps(_b, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_xAyB(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_unpacklo_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_yBxA(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_unpacklo_ps(_b, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_zCwD(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_unpackhi_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_CzDw(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_unpackhi_ps(_b, _a); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_x(simd128_sse_t _a) - { - return _mm_cvtss_f32(_a); - } - - template<> - BX_SIMD_FORCE_INLINE float simd_y(simd128_sse_t _a) - { - const simd128_sse_t yyyy = simd_swiz_yyyy(_a); - const float result = _mm_cvtss_f32(yyyy); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_z(simd128_sse_t _a) - { - const simd128_sse_t zzzz = simd_swiz_zzzz(_a); - const float result = _mm_cvtss_f32(zzzz); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE float simd_w(simd128_sse_t _a) - { - const simd128_sse_t wwww = simd_swiz_wwww(_a); - const float result = _mm_cvtss_f32(wwww); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_ld(const void* _ptr) - { - return _mm_load_ps(reinterpret_cast(_ptr) ); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd128_sse_t _a) - { - _mm_store_ps(reinterpret_cast(_ptr), _a); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stx(void* _ptr, simd128_sse_t _a) - { - _mm_store_ss(reinterpret_cast(_ptr), _a); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_stream(void* _ptr, simd128_sse_t _a) - { - _mm_stream_ps(reinterpret_cast(_ptr), _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_ld(float _x, float _y, float _z, float _w) - { - return _mm_set_ps(_w, _z, _y, _x); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) - { - const __m128i set = _mm_set_epi32(_w, _z, _y, _x); - const simd128_sse_t result = _mm_castsi128_ps(set); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_splat(const void* _ptr) - { - const simd128_sse_t x___ = _mm_load_ss(reinterpret_cast(_ptr) ); - const simd128_sse_t result = simd_swiz_xxxx(x___); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_splat(float _a) - { - return _mm_set1_ps(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_isplat(uint32_t _a) - { - const __m128i splat = _mm_set1_epi32(_a); - const simd128_sse_t result = _mm_castsi128_ps(splat); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_zero() - { - return _mm_setzero_ps(); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_itof(simd128_sse_t _a) - { - const __m128i itof = _mm_castps_si128(_a); - const simd128_sse_t result = _mm_cvtepi32_ps(itof); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_ftoi(simd128_sse_t _a) - { - const __m128i ftoi = _mm_cvtps_epi32(_a); - const simd128_sse_t result = _mm_castsi128_ps(ftoi); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_round(simd128_sse_t _a) - { -#if defined(__SSE4_1__) - return _mm_round_ps(_a, _MM_FROUND_NINT); -#else - const __m128i round = _mm_cvtps_epi32(_a); - const simd128_sse_t result = _mm_cvtepi32_ps(round); - - return result; -#endif // defined(__SSE4_1__) - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_add(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_add_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_sub(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_sub_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_mul(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_mul_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_div(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_div_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_rcp_est(simd128_sse_t _a) - { - return _mm_rcp_ps(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_sqrt(simd128_sse_t _a) - { - return _mm_sqrt_ps(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_rsqrt_est(simd128_sse_t _a) - { - return _mm_rsqrt_ps(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_dot3(simd128_sse_t _a, simd128_sse_t _b) - { -#if defined(__SSE4_1__) - return _mm_dp_ps(_a, _b, 0x77); -#else - return simd_dot3_ni(_a, _b); -#endif // defined(__SSE4__) - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_dot(simd128_sse_t _a, simd128_sse_t _b) - { -#if defined(__SSE4_1__) - return _mm_dp_ps(_a, _b, 0xFF); -#else - return simd_dot_ni(_a, _b); -#endif // defined(__SSE4__) - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpeq(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_cmpeq_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmplt(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_cmplt_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmple(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_cmple_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpgt(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_cmpgt_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_cmpge(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_cmpge_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_min(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_min_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_max(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_max_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_and(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_and_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_andc(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_andnot_ps(_b, _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_or(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_or_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_xor(simd128_sse_t _a, simd128_sse_t _b) - { - return _mm_xor_ps(_a, _b); - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_sll(simd128_sse_t _a, int _count) - { - const __m128i a = _mm_castps_si128(_a); - const __m128i shift = _mm_slli_epi32(a, _count); - const simd128_sse_t result = _mm_castsi128_ps(shift); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_srl(simd128_sse_t _a, int _count) - { - const __m128i a = _mm_castps_si128(_a); - const __m128i shift = _mm_srli_epi32(a, _count); - const simd128_sse_t result = _mm_castsi128_ps(shift); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_sra(simd128_sse_t _a, int _count) - { - const __m128i a = _mm_castps_si128(_a); - const __m128i shift = _mm_srai_epi32(a, _count); - const simd128_sse_t result = _mm_castsi128_ps(shift); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmpeq(simd128_sse_t _a, simd128_sse_t _b) - { - const __m128i tmp0 = _mm_castps_si128(_a); - const __m128i tmp1 = _mm_castps_si128(_b); - const __m128i tmp2 = _mm_cmpeq_epi32(tmp0, tmp1); - const simd128_sse_t result = _mm_castsi128_ps(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmplt(simd128_sse_t _a, simd128_sse_t _b) - { - const __m128i tmp0 = _mm_castps_si128(_a); - const __m128i tmp1 = _mm_castps_si128(_b); - const __m128i tmp2 = _mm_cmplt_epi32(tmp0, tmp1); - const simd128_sse_t result = _mm_castsi128_ps(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_icmpgt(simd128_sse_t _a, simd128_sse_t _b) - { - const __m128i tmp0 = _mm_castps_si128(_a); - const __m128i tmp1 = _mm_castps_si128(_b); - const __m128i tmp2 = _mm_cmpgt_epi32(tmp0, tmp1); - const simd128_sse_t result = _mm_castsi128_ps(tmp2); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_imin(simd128_sse_t _a, simd128_sse_t _b) - { -#if defined(__SSE4_1__) - const __m128i tmp0 = _mm_castps_si128(_a); - const __m128i tmp1 = _mm_castps_si128(_b); - const __m128i tmp2 = _mm_min_epi32(tmp0, tmp1); - const simd128_sse_t result = _mm_castsi128_ps(tmp2); - - return result; -#else - return simd_imin_ni(_a, _b); -#endif // defined(__SSE4_1__) - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_imax(simd128_sse_t _a, simd128_sse_t _b) - { -#if defined(__SSE4_1__) - const __m128i tmp0 = _mm_castps_si128(_a); - const __m128i tmp1 = _mm_castps_si128(_b); - const __m128i tmp2 = _mm_max_epi32(tmp0, tmp1); - const simd128_sse_t result = _mm_castsi128_ps(tmp2); - - return result; -#else - return simd_imax_ni(_a, _b); -#endif // defined(__SSE4_1__) - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_iadd(simd128_sse_t _a, simd128_sse_t _b) - { - const __m128i a = _mm_castps_si128(_a); - const __m128i b = _mm_castps_si128(_b); - const __m128i add = _mm_add_epi32(a, b); - const simd128_sse_t result = _mm_castsi128_ps(add); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd128_sse_t simd_isub(simd128_sse_t _a, simd128_sse_t _b) - { - const __m128i a = _mm_castps_si128(_a); - const __m128i b = _mm_castps_si128(_b); - const __m128i sub = _mm_sub_epi32(a, b); - const simd128_sse_t result = _mm_castsi128_ps(sub); - - return result; - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_shuf_xAzC(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_shuf_xAzC_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_shuf_yBwD(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_shuf_yBwD_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_rcp(simd128_sse_t _a) - { - return simd_rcp_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_orx(simd128_sse_t _a) - { - return simd_orx_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_orc(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_orc_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_neg(simd128_sse_t _a) - { - return simd_neg_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_madd(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _c) - { - return simd_madd_ni(_a, _b, _c); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_nmsub(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _c) - { - return simd_nmsub_ni(_a, _b, _c); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_div_nr(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_div_nr_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_selb(simd128_sse_t _mask, simd128_sse_t _a, simd128_sse_t _b) - { - return simd_selb_ni(_mask, _a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_sels(simd128_sse_t _test, simd128_sse_t _a, simd128_sse_t _b) - { - return simd_sels_ni(_test, _a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_not(simd128_sse_t _a) - { - return simd_not_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_abs(simd128_sse_t _a) - { - return simd_abs_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_clamp(simd128_sse_t _a, simd128_sse_t _min, simd128_sse_t _max) - { - return simd_clamp_ni(_a, _min, _max); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_lerp(simd128_sse_t _a, simd128_sse_t _b, simd128_sse_t _s) - { - return simd_lerp_ni(_a, _b, _s); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_rsqrt(simd128_sse_t _a) - { - return simd_rsqrt_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_rsqrt_nr(simd128_sse_t _a) - { - return simd_rsqrt_nr_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_rsqrt_carmack(simd128_sse_t _a) - { - return simd_rsqrt_carmack_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_sqrt_nr(simd128_sse_t _a) - { - return simd_sqrt_nr_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_log2(simd128_sse_t _a) - { - return simd_log2_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_exp2(simd128_sse_t _a) - { - return simd_exp2_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_pow(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_pow_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_cross3(simd128_sse_t _a, simd128_sse_t _b) - { - return simd_cross3_ni(_a, _b); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_normalize3(simd128_sse_t _a) - { - return simd_normalize3_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_ceil(simd128_sse_t _a) - { - return simd_ceil_ni(_a); - } - - template<> - BX_SIMD_INLINE simd128_sse_t simd_floor(simd128_sse_t _a) - { - return simd_floor_ni(_a); - } - - typedef simd128_sse_t simd128_t; - -} // namespace bx - -#endif // BX_SIMD128_SSE_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd128_swizzle.inl b/3rdparty/bx/include/bx/simd128_swizzle.inl deleted file mode 100644 index 4185be81b60..00000000000 --- a/3rdparty/bx/include/bx/simd128_swizzle.inl +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright 2010-2015 Branimir Karadzic. All rights reserved. - * License: http://www.opensource.org/licenses/BSD-2-Clause - */ - -#ifndef BX_SIMD_T_H_HEADER_GUARD -# error "xmacro file, must be included from simd_*.h" -#endif // BX_FLOAT4_T_H_HEADER_GUARD - -// included from float4_t.h -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, z) -// BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, w) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, x) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, y) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, z) -BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, w) diff --git a/3rdparty/bx/include/bx/simd256_avx.inl b/3rdparty/bx/include/bx/simd256_avx.inl deleted file mode 100644 index 5eed77ba3af..00000000000 --- a/3rdparty/bx/include/bx/simd256_avx.inl +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD256_AVX_H_HEADER_GUARD -#define BX_SIMD256_AVX_H_HEADER_GUARD - -#include "simd_ni.inl" - -namespace bx -{ - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_ld(const void* _ptr) - { - return _mm256_load_ps(reinterpret_cast(_ptr) ); - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd256_avx_t _a) - { - _mm256_store_ps(reinterpret_cast(_ptr), _a); - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_ld(float _x, float _y, float _z, float _w, float _A, float _B, float _C, float _D) - { - return _mm256_set_ps(_D, _C, _B, _A, _w, _z, _y, _x); - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w, uint32_t _A, uint32_t _B, uint32_t _C, uint32_t _D) - { - const __m256i set = _mm256_set_epi32(_D, _C, _B, _A, _w, _z, _y, _x); - const simd256_avx_t result = _mm256_castsi256_ps(set); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_splat(float _a) - { - return _mm256_set1_ps(_a); - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_isplat(uint32_t _a) - { - const __m256i splat = _mm256_set1_epi32(_a); - const simd256_avx_t result = _mm256_castsi256_ps(splat); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_itof(simd256_avx_t _a) - { - const __m256i itof = _mm256_castps_si256(_a); - const simd256_avx_t result = _mm256_cvtepi32_ps(itof); - - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_avx_t simd_ftoi(simd256_avx_t _a) - { - const __m256i ftoi = _mm256_cvtps_epi32(_a); - const simd256_avx_t result = _mm256_castsi256_ps(ftoi); - - return result; - } - - typedef simd256_avx_t simd256_t; - -} // namespace bx - -#endif // BX_SIMD256_AVX_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd256_ref.inl b/3rdparty/bx/include/bx/simd256_ref.inl deleted file mode 100644 index 6d9a5a31ab5..00000000000 --- a/3rdparty/bx/include/bx/simd256_ref.inl +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD256_REF_H_HEADER_GUARD -#define BX_SIMD256_REF_H_HEADER_GUARD - -#include "simd_ni.inl" - -namespace bx -{ - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_ld(const void* _ptr) - { - const simd256_ref_t::type* ptr = reinterpret_cast(_ptr); - simd256_ref_t result; - result.simd128_0 = simd_ld(&ptr[0]); - result.simd128_1 = simd_ld(&ptr[1]); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE void simd_st(void* _ptr, simd256_ref_t& _a) - { - simd256_ref_t* result = reinterpret_cast(_ptr); - simd_st(&result[0], _a.simd128_0); - simd_st(&result[1], _a.simd128_1); - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_ld(float _x, float _y, float _z, float _w, float _a, float _b, float _c, float _d) - { - simd256_ref_t result; - result.simd128_0 = simd_ld(_x, _y, _z, _w); - result.simd128_1 = simd_ld(_a, _b, _c, _d); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_ild(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w, uint32_t _a, uint32_t _b, uint32_t _c, uint32_t _d) - { - simd256_ref_t result; - result.simd128_0 = simd_ild(_x, _y, _z, _w); - result.simd128_1 = simd_ild(_a, _b, _c, _d); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_splat(float _a) - { - simd256_ref_t result; - result.simd128_0 = simd_splat(_a); - result.simd128_1 = simd_splat(_a); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_isplat(uint32_t _a) - { - simd256_ref_t result; - result.simd128_0 = simd_isplat(_a); - result.simd128_1 = simd_isplat(_a); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_itof(simd256_ref_t _a) - { - simd256_ref_t result; - result.simd128_0 = simd_itof(_a.simd128_0); - result.simd128_1 = simd_itof(_a.simd128_1); - return result; - } - - template<> - BX_SIMD_FORCE_INLINE simd256_ref_t simd_ftoi(simd256_ref_t _a) - { - simd256_ref_t result; - result.simd128_0 = simd_ftoi(_a.simd128_0); - result.simd128_1 = simd_ftoi(_a.simd128_1); - return result; - } - -} // namespace bx - -#endif // BX_SIMD256_REF_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd_ni.inl b/3rdparty/bx/include/bx/simd_ni.inl deleted file mode 100644 index 95767f25b95..00000000000 --- a/3rdparty/bx/include/bx/simd_ni.inl +++ /dev/null @@ -1,558 +0,0 @@ -/* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_SIMD_NI_H_HEADER_GUARD -#define BX_SIMD_NI_H_HEADER_GUARD - -namespace bx -{ - template - BX_SIMD_INLINE Ty simd_shuf_xAzC_ni(Ty _a, Ty _b) - { - const Ty xAyB = simd_shuf_xAyB(_a, _b); - const Ty zCwD = simd_shuf_zCwD(_a, _b); - const Ty result = simd_shuf_xyAB(xAyB, zCwD); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_shuf_yBwD_ni(Ty _a, Ty _b) - { - const Ty xAyB = simd_shuf_xAyB(_a, _b); - const Ty zCwD = simd_shuf_zCwD(_a, _b); - const Ty result = simd_shuf_zwCD(xAyB, zCwD); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_madd_ni(Ty _a, Ty _b, Ty _c) - { - const Ty mul = simd_mul(_a, _b); - const Ty result = simd_add(mul, _c); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_nmsub_ni(Ty _a, Ty _b, Ty _c) - { - const Ty mul = simd_mul(_a, _b); - const Ty result = simd_sub(_c, mul); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_div_nr_ni(Ty _a, Ty _b) - { - const Ty oneish = simd_isplat(0x3f800001); - const Ty est = simd_rcp_est(_b); - const Ty iter0 = simd_mul(_a, est); - const Ty tmp1 = simd_nmsub(_b, est, oneish); - const Ty result = simd_madd(tmp1, iter0, iter0); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_rcp_ni(Ty _a) - { - const Ty one = simd_splat(1.0f); - const Ty result = simd_div(one, _a); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_orx_ni(Ty _a) - { - const Ty zwxy = simd_swiz_zwxy(_a); - const Ty tmp0 = simd_or(_a, zwxy); - const Ty tmp1 = simd_swiz_yyyy(_a); - const Ty tmp2 = simd_or(tmp0, tmp1); - const Ty mf000 = simd_ild(UINT32_MAX, 0, 0, 0); - const Ty result = simd_and(tmp2, mf000); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_orc_ni(Ty _a, Ty _b) - { - const Ty aorb = simd_or(_a, _b); - const Ty mffff = simd_isplat(UINT32_MAX); - const Ty result = simd_xor(aorb, mffff); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_neg_ni(Ty _a) - { - const Ty zero = simd_zero(); - const Ty result = simd_sub(zero, _a); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_selb_ni(Ty _mask, Ty _a, Ty _b) - { - const Ty sel_a = simd_and(_a, _mask); - const Ty sel_b = simd_andc(_b, _mask); - const Ty result = simd_or(sel_a, sel_b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_sels_ni(Ty _test, Ty _a, Ty _b) - { - const Ty mask = simd_sra(_test, 31); - const Ty result = simd_selb(mask, _a, _b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_not_ni(Ty _a) - { - const Ty mffff = simd_isplat(UINT32_MAX); - const Ty result = simd_xor(_a, mffff); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_min_ni(Ty _a, Ty _b) - { - const Ty mask = simd_cmplt(_a, _b); - const Ty result = simd_selb(mask, _a, _b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_max_ni(Ty _a, Ty _b) - { - const Ty mask = simd_cmpgt(_a, _b); - const Ty result = simd_selb(mask, _a, _b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_abs_ni(Ty _a) - { - const Ty a_neg = simd_neg(_a); - const Ty result = simd_max(a_neg, _a); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_imin_ni(Ty _a, Ty _b) - { - const Ty mask = simd_icmplt(_a, _b); - const Ty result = simd_selb(mask, _a, _b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_imax_ni(Ty _a, Ty _b) - { - const Ty mask = simd_icmpgt(_a, _b); - const Ty result = simd_selb(mask, _a, _b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_clamp_ni(Ty _a, Ty _min, Ty _max) - { - const Ty tmp = simd_min(_a, _max); - const Ty result = simd_max(tmp, _min); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_lerp_ni(Ty _a, Ty _b, Ty _s) - { - const Ty ba = simd_sub(_b, _a); - const Ty result = simd_madd(_s, ba, _a); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_sqrt_nr_ni(Ty _a) - { - const Ty half = simd_splat(0.5f); - const Ty one = simd_splat(1.0f); - const Ty tmp0 = simd_rsqrt_est(_a); - const Ty tmp1 = simd_mul(tmp0, _a); - const Ty tmp2 = simd_mul(tmp1, half); - const Ty tmp3 = simd_nmsub(tmp0, tmp1, one); - const Ty result = simd_madd(tmp3, tmp2, tmp1); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_sqrt_nr1_ni(Ty _a) - { - const Ty half = simd_splat(0.5f); - - Ty result = _a; - for (uint32_t ii = 0; ii < 11; ++ii) - { - const Ty tmp1 = simd_div(_a, result); - const Ty tmp2 = simd_add(tmp1, result); - result = simd_mul(tmp2, half); - } - - return result; - } - - template - BX_SIMD_INLINE Ty simd_rsqrt_ni(Ty _a) - { - const Ty one = simd_splat(1.0f); - const Ty sqrt = simd_sqrt(_a); - const Ty result = simd_div(one, sqrt); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_rsqrt_nr_ni(Ty _a) - { - const Ty rsqrt = simd_rsqrt_est(_a); - const Ty iter0 = simd_mul(_a, rsqrt); - const Ty iter1 = simd_mul(iter0, rsqrt); - const Ty half = simd_splat(0.5f); - const Ty half_rsqrt = simd_mul(half, rsqrt); - const Ty three = simd_splat(3.0f); - const Ty three_sub_iter1 = simd_sub(three, iter1); - const Ty result = simd_mul(half_rsqrt, three_sub_iter1); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_rsqrt_carmack_ni(Ty _a) - { - const Ty half = simd_splat(0.5f); - const Ty ah = simd_mul(half, _a); - const Ty ashift = simd_sra(_a, 1); - const Ty magic = simd_isplat(0x5f3759df); - const Ty msuba = simd_isub(magic, ashift); - const Ty msubasq = simd_mul(msuba, msuba); - const Ty tmp0 = simd_splat(1.5f); - const Ty tmp1 = simd_mul(ah, msubasq); - const Ty tmp2 = simd_sub(tmp0, tmp1); - const Ty result = simd_mul(msuba, tmp2); - - return result; - } - - namespace simd_logexp_detail - { - template - BX_SIMD_INLINE Ty simd_poly1(Ty _a, float _b, float _c) - { - const Ty bbbb = simd_splat(_b); - const Ty cccc = simd_splat(_c); - const Ty result = simd_madd(cccc, _a, bbbb); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_poly2(Ty _a, float _b, float _c, float _d) - { - const Ty bbbb = simd_splat(_b); - const Ty poly = simd_poly1(_a, _c, _d); - const Ty result = simd_madd(poly, _a, bbbb); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_poly3(Ty _a, float _b, float _c, float _d, float _e) - { - const Ty bbbb = simd_splat(_b); - const Ty poly = simd_poly2(_a, _c, _d, _e); - const Ty result = simd_madd(poly, _a, bbbb); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_poly4(Ty _a, float _b, float _c, float _d, float _e, float _f) - { - const Ty bbbb = simd_splat(_b); - const Ty poly = simd_poly3(_a, _c, _d, _e, _f); - const Ty result = simd_madd(poly, _a, bbbb); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_poly5(Ty _a, float _b, float _c, float _d, float _e, float _f, float _g) - { - const Ty bbbb = simd_splat(_b); - const Ty poly = simd_poly4(_a, _c, _d, _e, _f, _g); - const Ty result = simd_madd(poly, _a, bbbb); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_logpoly(Ty _a) - { -#if 1 - const Ty result = simd_poly5(_a - , 3.11578814719469302614f, -3.32419399085241980044f - , 2.59883907202499966007f, -1.23152682416275988241f - , 0.318212422185251071475f, -0.0344359067839062357313f - ); -#elif 0 - const Ty result = simd_poly4(_a - , 2.8882704548164776201f, -2.52074962577807006663f - , 1.48116647521213171641f, -0.465725644288844778798f - , 0.0596515482674574969533f - ); -#elif 0 - const Ty result = simd_poly3(_a - , 2.61761038894603480148f, -1.75647175389045657003f - , 0.688243882994381274313f, -0.107254423828329604454f - ); -#else - const Ty result = simd_poly2(_a - , 2.28330284476918490682f, -1.04913055217340124191f - , 0.204446009836232697516f - ); -#endif - - return result; - } - - template - BX_SIMD_INLINE Ty simd_exppoly(Ty _a) - { -#if 1 - const Ty result = simd_poly5(_a - , 9.9999994e-1f, 6.9315308e-1f - , 2.4015361e-1f, 5.5826318e-2f - , 8.9893397e-3f, 1.8775767e-3f - ); -#elif 0 - const Ty result = simd_poly4(_a - , 1.0000026f, 6.9300383e-1f - , 2.4144275e-1f, 5.2011464e-2f - , 1.3534167e-2f - ); -#elif 0 - const Ty result = simd_poly3(_a - , 9.9992520e-1f, 6.9583356e-1f - , 2.2606716e-1f, 7.8024521e-2f - ); -#else - const Ty result = simd_poly2(_a - , 1.0017247f, 6.5763628e-1f - , 3.3718944e-1f - ); -#endif // 0 - - return result; - } - } // namespace simd_internal - - template - BX_SIMD_INLINE Ty simd_log2_ni(Ty _a) - { - const Ty expmask = simd_isplat(0x7f800000); - const Ty mantmask = simd_isplat(0x007fffff); - const Ty one = simd_splat(1.0f); - - const Ty c127 = simd_isplat(127); - const Ty aexp = simd_and(_a, expmask); - const Ty aexpsr = simd_srl(aexp, 23); - const Ty tmp0 = simd_isub(aexpsr, c127); - const Ty exp = simd_itof(tmp0); - - const Ty amask = simd_and(_a, mantmask); - const Ty mant = simd_or(amask, one); - - const Ty poly = simd_logexp_detail::simd_logpoly(mant); - - const Ty mandiff = simd_sub(mant, one); - const Ty result = simd_madd(poly, mandiff, exp); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_exp2_ni(Ty _a) - { - const Ty min = simd_splat( 129.0f); - const Ty max = simd_splat(-126.99999f); - const Ty tmp0 = simd_min(_a, min); - const Ty aaaa = simd_max(tmp0, max); - - const Ty half = simd_splat(0.5f); - const Ty tmp2 = simd_sub(aaaa, half); - const Ty ipart = simd_ftoi(tmp2); - const Ty iround = simd_itof(ipart); - const Ty fpart = simd_sub(aaaa, iround); - - const Ty c127 = simd_isplat(127); - const Ty tmp5 = simd_iadd(ipart, c127); - const Ty expipart = simd_sll(tmp5, 23); - - const Ty expfpart = simd_logexp_detail::simd_exppoly(fpart); - - const Ty result = simd_mul(expipart, expfpart); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_pow_ni(Ty _a, Ty _b) - { - const Ty alog2 = simd_log2(_a); - const Ty alog2b = simd_mul(alog2, _b); - const Ty result = simd_exp2(alog2b); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_dot3_ni(Ty _a, Ty _b) - { - const Ty xyzw = simd_mul(_a, _b); - const Ty xxxx = simd_swiz_xxxx(xyzw); - const Ty yyyy = simd_swiz_yyyy(xyzw); - const Ty zzzz = simd_swiz_zzzz(xyzw); - const Ty tmp1 = simd_add(xxxx, yyyy); - const Ty result = simd_add(zzzz, tmp1); - return result; - } - - template - BX_SIMD_INLINE Ty simd_cross3_ni(Ty _a, Ty _b) - { - // a.yzx * b.zxy - a.zxy * b.yzx == (a * b.yzx - a.yzx * b).yzx -#if 0 - const Ty a_yzxw = simd_swiz_yzxw(_a); - const Ty a_zxyw = simd_swiz_zxyw(_a); - const Ty b_zxyw = simd_swiz_zxyw(_b); - const Ty b_yzxw = simd_swiz_yzxw(_b); - const Ty tmp = simd_mul(a_yzxw, b_zxyw); - const Ty result = simd_nmsub(a_zxyw, b_yzxw, tmp); -#else - const Ty a_yzxw = simd_swiz_yzxw(_a); - const Ty b_yzxw = simd_swiz_yzxw(_b); - const Ty tmp0 = simd_mul(_a, b_yzxw); - const Ty tmp1 = simd_nmsub(a_yzxw, _b, tmp0); - const Ty result = simd_swiz_yzxw(tmp1); -#endif - - return result; - } - - template - BX_SIMD_INLINE Ty simd_normalize3_ni(Ty _a) - { - const Ty dot3 = simd_dot3(_a, _a); - const Ty invSqrt = simd_rsqrt(dot3); - const Ty result = simd_mul(_a, invSqrt); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_dot_ni(Ty _a, Ty _b) - { - const Ty xyzw = simd_mul(_a, _b); - const Ty yzwx = simd_swiz_yzwx(xyzw); - const Ty tmp0 = simd_add(xyzw, yzwx); - const Ty zwxy = simd_swiz_zwxy(tmp0); - const Ty result = simd_add(tmp0, zwxy); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_ceil_ni(Ty _a) - { - const Ty tmp0 = simd_ftoi(_a); - const Ty tmp1 = simd_itof(tmp0); - const Ty mask = simd_cmplt(tmp1, _a); - const Ty one = simd_splat(1.0f); - const Ty tmp2 = simd_and(one, mask); - const Ty result = simd_add(tmp1, tmp2); - - return result; - } - - template - BX_SIMD_INLINE Ty simd_floor_ni(Ty _a) - { - const Ty tmp0 = simd_ftoi(_a); - const Ty tmp1 = simd_itof(tmp0); - const Ty mask = simd_cmpgt(tmp1, _a); - const Ty one = simd_splat(1.0f); - const Ty tmp2 = simd_and(one, mask); - const Ty result = simd_sub(tmp1, tmp2); - - return result; - } - - template - BX_SIMD_FORCE_INLINE Ty simd_round_ni(Ty _a) - { - const Ty tmp = simd_ftoi(_a); - const Ty result = simd_itof(tmp); - - return result; - } - - template - BX_SIMD_INLINE bool simd_test_any_ni(Ty _a) - { - const Ty mask = simd_sra(_a, 31); - const Ty zwxy = simd_swiz_zwxy(mask); - const Ty tmp0 = simd_or(mask, zwxy); - const Ty tmp1 = simd_swiz_yyyy(tmp0); - const Ty tmp2 = simd_or(tmp0, tmp1); - int res; - simd_stx(&res, tmp2); - return 0 != res; - } - - template - BX_SIMD_INLINE bool simd_test_all_ni(Ty _a) - { - const Ty bits = simd_sra(_a, 31); - const Ty m1248 = simd_ild(1, 2, 4, 8); - const Ty mask = simd_and(bits, m1248); - const Ty zwxy = simd_swiz_zwxy(mask); - const Ty tmp0 = simd_or(mask, zwxy); - const Ty tmp1 = simd_swiz_yyyy(tmp0); - const Ty tmp2 = simd_or(tmp0, tmp1); - int res; - simd_stx(&res, tmp2); - return 0xf == res; - } - -} // namespace bx - -#endif // BX_SIMD_NI_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/simd_t.h b/3rdparty/bx/include/bx/simd_t.h index bc1fe6622f8..d3befc44ba0 100644 --- a/3rdparty/bx/include/bx/simd_t.h +++ b/3rdparty/bx/include/bx/simd_t.h @@ -7,6 +7,7 @@ #define BX_SIMD_T_H_HEADER_GUARD #include "bx.h" +#include "fpumath.h" #define BX_SIMD_FORCE_INLINE BX_FORCE_INLINE #define BX_SIMD_INLINE inline @@ -52,7 +53,7 @@ namespace bx #define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ template \ BX_SIMD_FORCE_INLINE Ty simd_swiz_##_x##_y##_z##_w(Ty _a); -#include "simd128_swizzle.inl" +#include "inline/simd128_swizzle.inl" #undef BX_SIMD128_IMPLEMENT_SWIZZLE #undef ELEMw @@ -361,19 +362,19 @@ BX_SIMD128_IMPLEMENT_TEST(xyzw); } // namespace bx #if BX_SIMD_AVX -# include "simd256_avx.inl" +# include "inline/simd256_avx.inl" #endif // BX_SIMD_AVX #if BX_SIMD_LANGEXT -# include "simd128_langext.inl" +# include "inline/simd128_langext.inl" #endif // BX_SIMD_LANGEXT #if BX_SIMD_NEON -# include "simd128_neon.inl" +# include "inline/simd128_neon.inl" #endif // BX_SIMD_NEON #if BX_SIMD_SSE -# include "simd128_sse.inl" +# include "inline/simd128_sse.inl" #endif // BX_SIMD_SSE namespace bx @@ -422,8 +423,8 @@ namespace bx } // namespace bx -#include "simd128_ref.inl" -#include "simd256_ref.inl" +#include "inline/simd128_ref.inl" +#include "inline/simd256_ref.inl" namespace bx { diff --git a/3rdparty/bx/include/bx/sort.h b/3rdparty/bx/include/bx/sort.h new file mode 100644 index 00000000000..2f1511bab5a --- /dev/null +++ b/3rdparty/bx/include/bx/sort.h @@ -0,0 +1,62 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#ifndef BX_SORT_H_HEADER_GUARD +#define BX_SORT_H_HEADER_GUARD + +#include "bx.h" + +namespace bx +{ + /// + typedef int32_t (*ComparisonFn)(const void* _lhs, const void* _rhs); + + /// + void quickSort( + void* _data + , uint32_t _num + , uint32_t _stride + , const ComparisonFn _fn + ); + + /// + void radixSort( + uint32_t* _keys + , uint32_t* _tempKeys + , uint32_t _size + ); + + /// + template + void radixSort( + uint32_t* _keys + , uint32_t* _tempKeys + , Ty* _values + , Ty* _tempValues + , uint32_t _size + ); + + /// + void radixSort( + uint64_t* _keys + , uint64_t* _tempKeys + , uint32_t _size + ); + + /// + template + void radixSort( + uint64_t* _keys + , uint64_t* _tempKeys + , Ty* _values + , Ty* _tempValues + , uint32_t _size + ); + +} // namespace bx + +#include "inline/sort.inl" + +#endif // BX_SORT_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/spscqueue.h b/3rdparty/bx/include/bx/spscqueue.h index 3f75496f357..4d37d63b63f 100644 --- a/3rdparty/bx/include/bx/spscqueue.h +++ b/3rdparty/bx/include/bx/spscqueue.h @@ -8,83 +8,39 @@ #include "bx.h" #include "cpu.h" -#include "mutex.h" -#include "uint32_t.h" - -#include +#include "semaphore.h" namespace bx { - // http://drdobbs.com/article/print?articleId=210604448&siteSectionName= - template - class SpScUnboundedQueueLf + /// + class SpScUnboundedQueue { - BX_CLASS(SpScUnboundedQueueLf + BX_CLASS(SpScUnboundedQueue , NO_COPY , NO_ASSIGNMENT ); public: - SpScUnboundedQueueLf() - : m_first(new Node(NULL) ) - , m_divider(m_first) - , m_last(m_first) - { - } + /// + SpScUnboundedQueue(); - ~SpScUnboundedQueueLf() - { - while (NULL != m_first) - { - Node* node = m_first; - m_first = node->m_next; - delete node; - } - } - - void push(Ty* _ptr) // producer only - { - m_last->m_next = new Node( (void*)_ptr); - atomicExchangePtr( (void**)&m_last, m_last->m_next); - while (m_first != m_divider) - { - Node* node = m_first; - m_first = m_first->m_next; - delete node; - } - } - - Ty* peek() // consumer only - { - if (m_divider != m_last) - { - Ty* ptr = (Ty*)m_divider->m_next->m_ptr; - return ptr; - } + /// + ~SpScUnboundedQueue(); - return NULL; - } + /// + void push(void* _ptr); - Ty* pop() // consumer only - { - if (m_divider != m_last) - { - Ty* ptr = (Ty*)m_divider->m_next->m_ptr; - atomicExchangePtr( (void**)&m_divider, m_divider->m_next); - return ptr; - } + /// + void* peek(); - return NULL; - } + /// + void* pop(); private: struct Node { - Node(void* _ptr) - : m_ptr(_ptr) - , m_next(NULL) - { - } + /// + Node(void* _ptr); void* m_ptr; Node* m_next; @@ -95,69 +51,38 @@ namespace bx Node* m_last; }; -#if BX_CONFIG_SUPPORTS_THREADING + /// template - class SpScUnboundedQueueMutex + class SpScUnboundedQueueT { - BX_CLASS(SpScUnboundedQueueMutex + BX_CLASS(SpScUnboundedQueueT , NO_COPY , NO_ASSIGNMENT ); public: - SpScUnboundedQueueMutex() - { - } + /// + SpScUnboundedQueueT(); - ~SpScUnboundedQueueMutex() - { - BX_CHECK(m_queue.empty(), "Queue is not empty!"); - } + /// + ~SpScUnboundedQueueT(); - void push(Ty* _item) - { - bx::LwMutexScope lock(m_mutex); - m_queue.push_back(_item); - } + /// + void push(Ty* _ptr); - Ty* peek() - { - bx::LwMutexScope lock(m_mutex); - if (!m_queue.empty() ) - { - return m_queue.front(); - } - - return NULL; - } + /// + Ty* peek(); - Ty* pop() - { - bx::LwMutexScope lock(m_mutex); - if (!m_queue.empty() ) - { - Ty* item = m_queue.front(); - m_queue.pop_front(); - return item; - } - - return NULL; - } + /// + Ty* pop(); private: - bx::LwMutex m_mutex; - std::list m_queue; + SpScUnboundedQueue m_queue; }; -#endif // BX_CONFIG_SUPPORTS_THREADING -#if BX_CONFIG_SPSCQUEUE_USE_MUTEX && BX_CONFIG_SUPPORTS_THREADING -# define SpScUnboundedQueue SpScUnboundedQueueMutex -#else -# define SpScUnboundedQueue SpScUnboundedQueueLf -#endif // BX_CONFIG_SPSCQUEUE_USE_MUTEX #if BX_CONFIG_SUPPORTS_THREADING - template + /// class SpScBlockingUnboundedQueue { BX_CLASS(SpScBlockingUnboundedQueue @@ -166,41 +91,58 @@ namespace bx ); public: - SpScBlockingUnboundedQueue() - { - } + /// + SpScBlockingUnboundedQueue(); - ~SpScBlockingUnboundedQueue() - { - } + /// + ~SpScBlockingUnboundedQueue(); - void push(Ty* _ptr) // producer only - { - m_queue.push( (void*)_ptr); - m_count.post(); - } + /// + void push(void* _ptr); // producer only - Ty* peek() // consumer only - { - return (Ty*)m_queue.peek(); - } + /// + void* peek(); // consumer only - Ty* pop(int32_t _msecs = -1) // consumer only - { - if (m_count.wait(_msecs) ) - { - return (Ty*)m_queue.pop(); - } - - return NULL; - } + /// + void* pop(int32_t _msecs = -1); // consumer only private: Semaphore m_count; - SpScUnboundedQueue m_queue; + SpScUnboundedQueue m_queue; + }; + + /// + template + class SpScBlockingUnboundedQueueT + { + BX_CLASS(SpScBlockingUnboundedQueueT + , NO_COPY + , NO_ASSIGNMENT + ); + + public: + /// + SpScBlockingUnboundedQueueT(); + + /// + ~SpScBlockingUnboundedQueueT(); + + /// + void push(Ty* _ptr); // producer only + + /// + Ty* peek(); // consumer only + + /// + Ty* pop(int32_t _msecs = -1); // consumer only + + private: + SpScBlockingUnboundedQueue m_queue; }; #endif // BX_CONFIG_SUPPORTS_THREADING } // namespace bx +#include "inline/spscqueue.inl" + #endif // BX_SPSCQUEUE_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/string.h b/3rdparty/bx/include/bx/string.h index eaf27bc983c..440cbe15f17 100644 --- a/3rdparty/bx/include/bx/string.h +++ b/3rdparty/bx/include/bx/string.h @@ -6,13 +6,9 @@ #ifndef BX_STRING_H_HEADER_GUARD #define BX_STRING_H_HEADER_GUARD -#include "bx.h" -#include -#include // va_list -#include // wchar_t +#include "allocator.h" -#include -#include +#include // wchar_t namespace bx { @@ -30,10 +26,10 @@ namespace bx StringView& operator=(const StringView& _rhs); /// - StringView(const char* _ptr, uint32_t _len = UINT16_MAX); + StringView(const char* _ptr, int32_t _len = INT32_MAX); /// - void set(const char* _ptr, uint32_t _len = UINT16_MAX); + void set(const char* _ptr, int32_t _len = INT32_MAX); /// void clear(); @@ -48,11 +44,11 @@ namespace bx bool isEmpty() const; /// - uint32_t getLength() const; + int32_t getLength() const; protected: const char* m_ptr; - uint32_t m_len; + int32_t m_len; }; /// ASCII string @@ -70,7 +66,7 @@ namespace bx StringT& operator=(const StringT& _rhs); /// - StringT(const char* _ptr, uint32_t _len = UINT32_MAX); + StringT(const char* _ptr, int32_t _len = INT32_MAX); /// StringT(const StringView& _rhs); @@ -79,10 +75,10 @@ namespace bx ~StringT(); /// - void set(const char* _ptr, uint32_t _len = UINT32_MAX); + void set(const char* _ptr, int32_t _len = INT32_MAX); /// - void append(const char* _ptr, uint32_t _len = UINT32_MAX); + void append(const char* _ptr, int32_t _len = INT32_MAX); /// void clear(); @@ -112,39 +108,51 @@ namespace bx /// char toLower(char _ch); + /// + void toLowerUnsafe(char* _inOutStr, int32_t _len); + + /// + void toLower(char* _inOutStr, int32_t _max = INT32_MAX); + /// char toUpper(char _ch); + /// + void toUpperUnsafe(char* _inOutStr, int32_t _len); + + /// + void toUpper(char* _inOutStr, int32_t _max = INT32_MAX); + /// bool toBool(const char* _str); /// String compare. - int32_t strncmp(const char* _lhs, const char* _rhs, size_t _max = INT32_MAX); + int32_t strncmp(const char* _lhs, const char* _rhs, int32_t _max = INT32_MAX); /// Case insensitive string compare. - int32_t strincmp(const char* _lhs, const char* _rhs, size_t _max = INT32_MAX); + int32_t strincmp(const char* _lhs, const char* _rhs, int32_t _max = INT32_MAX); /// - size_t strnlen(const char* _str, size_t _max = -1); + int32_t strnlen(const char* _str, int32_t _max = INT32_MAX); /// Copy _num characters from string _src to _dst buffer of maximum _dstSize capacity /// including zero terminator. Copy will be terminated with '\0'. - size_t strlncpy(char* _dst, size_t _dstSize, const char* _src, size_t _num = INT32_MAX); + int32_t strlncpy(char* _dst, int32_t _dstSize, const char* _src, int32_t _num = INT32_MAX); /// - size_t strlncat(char* _dst, size_t _dstSize, const char* _src, size_t _num = INT32_MAX); + int32_t strlncat(char* _dst, int32_t _dstSize, const char* _src, int32_t _num = INT32_MAX); /// - const char* strnchr(const char* _str, char _ch, size_t _max = INT32_MAX); + const char* strnchr(const char* _str, char _ch, int32_t _max = INT32_MAX); /// - const char* strnrchr(const char* _str, char _ch, size_t _max = INT32_MAX); + const char* strnrchr(const char* _str, char _ch, int32_t _max = INT32_MAX); /// Find substring in string. Limit search to _size. - const char* strnstr(const char* _str, const char* _find, size_t _max = INT32_MAX); + const char* strnstr(const char* _str, const char* _find, int32_t _max = INT32_MAX); /// Find substring in string. Case insensitive. Limit search to _max. - const char* stristr(const char* _str, const char* _find, size_t _max = INT32_MAX); + const char* stristr(const char* _str, const char* _find, int32_t _max = INT32_MAX); /// Find new line. Returns pointer after new line terminator. const char* strnl(const char* _str); @@ -165,29 +173,29 @@ namespace bx const char* strmb(const char* _str, char _open, char _close); // Normalize string to sane line endings. - void eolLF(char* _out, size_t _size, const char* _str); + void eolLF(char* _out, int32_t _size, const char* _str); // Finds identifier. const char* findIdentifierMatch(const char* _str, const char* _word); - // Finds any identifier from NULL terminated array of identifiers. + /// Finds any identifier from NULL terminated array of identifiers. const char* findIdentifierMatch(const char* _str, const char* _words[]); /// Cross platform implementation of vsnprintf that returns number of /// characters which would have been written to the final string if /// enough space had been available. - int32_t vsnprintf(char* _out, size_t _max, const char* _format, va_list _argList); + int32_t vsnprintf(char* _out, int32_t _max, const char* _format, va_list _argList); /// Cross platform implementation of vsnwprintf that returns number of /// characters which would have been written to the final string if /// enough space had been available. - int32_t vsnwprintf(wchar_t* _out, size_t _max, const wchar_t* _format, va_list _argList); + int32_t vsnwprintf(wchar_t* _out, int32_t _max, const wchar_t* _format, va_list _argList); /// - int32_t snprintf(char* _out, size_t _max, const char* _format, ...); + int32_t snprintf(char* _out, int32_t _max, const char* _format, ...); /// - int32_t swnprintf(wchar_t* _out, size_t _max, const wchar_t* _format, ...); + int32_t swnprintf(wchar_t* _out, int32_t _max, const wchar_t* _format, ...); /// template @@ -205,37 +213,37 @@ namespace bx const char* baseName(const char* _filePath); /// Convert size in bytes to human readable string. - void prettify(char* _out, size_t _count, uint64_t _size); + void prettify(char* _out, int32_t _count, uint64_t _size); /// Copy src to string dst of size siz. At most siz-1 characters /// will be copied. Always NUL terminates (unless siz == 0). /// Returns strlen(src); if retval >= siz, truncation occurred. - size_t strlcpy(char* _dst, const char* _src, size_t _max); + int32_t strlcpy(char* _dst, const char* _src, int32_t _max); /// Appends src to string dst of size siz (unlike strncat, siz is the /// full size of dst, not space left). At most siz-1 characters /// will be copied. Always NUL terminates (unless siz <= strlen(dst)). /// Returns strlen(src) + MIN(siz, strlen(initial dst)). /// If retval >= siz, truncation occurred. - size_t strlcat(char* _dst, const char* _src, size_t _max); + int32_t strlcat(char* _dst, const char* _src, int32_t _max); /// - int32_t toString(char* _out, size_t _max, double _value); + int32_t toString(char* _out, int32_t _max, double _value); /// - int32_t toString(char* _out, size_t _max, int32_t _value, uint32_t _base = 10); + int32_t toString(char* _out, int32_t _max, int32_t _value, uint32_t _base = 10); /// - int32_t toString(char* _out, size_t _max, uint32_t _value, uint32_t _base = 10); + int32_t toString(char* _out, int32_t _max, int64_t _value, uint32_t _base = 10); /// - uint32_t hashMurmur2A(const StringView& _data); + int32_t toString(char* _out, int32_t _max, uint32_t _value, uint32_t _base = 10); /// - uint32_t hashMurmur2A(const char* _data); + int32_t toString(char* _out, int32_t _max, uint64_t _value, uint32_t _base = 10); } // namespace bx -#include "string.inl" +#include "inline/string.inl" #endif // BX_STRING_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/string.inl b/3rdparty/bx/include/bx/string.inl deleted file mode 100644 index 42f2a6a05b9..00000000000 --- a/3rdparty/bx/include/bx/string.inl +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_STRING_H_HEADER_GUARD -# error "Must be included from bx/string.h!" -#endif // BX_STRING_H_HEADER_GUARD - -#if BX_CRT_MSVC && !defined(va_copy) -# define va_copy(_a, _b) (_a) = (_b) -#endif // BX_CRT_MSVC && !defined(va_copy) - -namespace bx -{ - template - inline void stringPrintfVargs(Ty& _out, const char* _format, va_list _argList) - { - char temp[2048]; - - char* out = temp; - int32_t len = bx::vsnprintf(out, sizeof(temp), _format, _argList); - if ( (int32_t)sizeof(temp) < len) - { - out = (char*)alloca(len+1); - len = bx::vsnprintf(out, len, _format, _argList); - } - out[len] = '\0'; - _out.append(out); - } - - template - inline void stringPrintf(Ty& _out, const char* _format, ...) - { - va_list argList; - va_start(argList, _format); - stringPrintfVargs(_out, _format, argList); - va_end(argList); - } - - template - inline Ty replaceAll(const Ty& _str, const char* _from, const char* _to) - { - Ty str = _str; - size_t startPos = 0; - const size_t fromLen = strlen(_from); - const size_t toLen = strlen(_to); - while ( (startPos = str.find(_from, startPos) ) != Ty::npos) - { - str.replace(startPos, fromLen, _to); - startPos += toLen; - } - - return str; - } - - inline StringView::StringView() - { - clear(); - } - - inline StringView::StringView(const StringView& _rhs) - { - set(_rhs.m_ptr, _rhs.m_len); - } - - inline StringView& StringView::operator=(const StringView& _rhs) - { - set(_rhs.m_ptr, _rhs.m_len); - return *this; - } - - inline StringView::StringView(const char* _ptr, uint32_t _len) - { - set(_ptr, _len); - } - - inline void StringView::set(const char* _ptr, uint32_t _len) - { - clear(); - - if (NULL != _ptr) - { - uint32_t len = uint32_t(strnlen(_ptr, _len) ); - if (0 != len) - { - m_len = len; - m_ptr = _ptr; - } - } - } - - inline void StringView::clear() - { - m_ptr = ""; - m_len = 0; - } - - inline const char* StringView::getPtr() const - { - return m_ptr; - } - - inline const char* StringView::getTerm() const - { - return m_ptr + m_len; - } - - inline bool StringView::isEmpty() const - { - return 0 == m_len; - } - - inline uint32_t StringView::getLength() const - { - return m_len; - } - - inline uint32_t hashMurmur2A(const StringView& _data) - { - return hashMurmur2A(_data.getPtr(), _data.getLength() ); - } - - inline uint32_t hashMurmur2A(const char* _data) - { - return hashMurmur2A(StringView(_data) ); - } - - template - inline StringT::StringT() - : StringView() - { - } - - template - inline StringT::StringT(const StringT& _rhs) - : StringView() - { - set(_rhs.m_ptr, _rhs.m_len); - } - - template - inline StringT& StringT::operator=(const StringT& _rhs) - { - set(_rhs.m_ptr, _rhs.m_len); - return *this; - } - - template - inline StringT::StringT(const char* _ptr, uint32_t _len) - { - set(_ptr, _len); - } - - template - inline StringT::StringT(const StringView& _rhs) - { - set(_rhs.getPtr(), _rhs.getLength() ); - } - - template - inline StringT::~StringT() - { - clear(); - } - - template - inline void StringT::set(const char* _ptr, uint32_t _len) - { - clear(); - append(_ptr, _len); - } - - template - inline void StringT::append(const char* _ptr, uint32_t _len) - { - if (0 != _len) - { - uint32_t old = m_len; - uint32_t len = m_len + uint32_t(strnlen(_ptr, _len) ); - char* ptr = (char*)BX_REALLOC(*AllocatorT, 0 != m_len ? const_cast(m_ptr) : NULL, len+1); - m_len = len; - strlncpy(ptr + old, len-old+1, _ptr, _len); - - *const_cast(&m_ptr) = ptr; - } - } - - template - inline void StringT::clear() - { - if (0 != m_len) - { - BX_FREE(*AllocatorT, const_cast(m_ptr) ); - - StringView::clear(); - } - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/thread.h b/3rdparty/bx/include/bx/thread.h index 95152367f02..72a072e7d62 100644 --- a/3rdparty/bx/include/bx/thread.h +++ b/3rdparty/bx/include/bx/thread.h @@ -7,24 +7,7 @@ #define BX_THREAD_H_HEADER_GUARD #include "bx.h" - -#if BX_PLATFORM_POSIX -# include -# if defined(__FreeBSD__) -# include -# endif -# if BX_PLATFORM_LINUX && (BX_CRT_GLIBC < 21200) -# include -# endif // BX_PLATFORM_ -#elif BX_PLATFORM_WINRT -using namespace Platform; -using namespace Windows::Foundation; -using namespace Windows::System::Threading; -#endif // BX_PLATFORM_ - -#include "sem.h" - -#if BX_CONFIG_SUPPORTS_THREADING +#include "semaphore.h" namespace bx { @@ -62,16 +45,10 @@ namespace bx void setThreadName(const char* _name); private: + friend struct ThreadInternal; int32_t entry(); -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - static DWORD WINAPI threadFunc(LPVOID _arg); - HANDLE m_handle; - DWORD m_threadId; -#elif BX_PLATFORM_POSIX - static void* threadFunc(void* _arg); - pthread_t m_handle; -#endif // BX_PLATFORM_ + BX_ALIGN_DECL(16, uint8_t) m_internal[64]; ThreadFn m_fn; void* m_userData; @@ -98,17 +75,9 @@ namespace bx void set(void* _ptr); private: -#if BX_PLATFORM_WINDOWS - uint32_t m_id; -#elif !(BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT) - pthread_key_t m_id; -#endif // BX_PLATFORM_* + BX_ALIGN_DECL(16, uint8_t) m_internal[64]; }; } // namespace bx -#endif // BX_CONFIG_SUPPORTS_THREADING - -#include "thread.inl" - #endif // BX_THREAD_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/thread.inl b/3rdparty/bx/include/bx/thread.inl deleted file mode 100644 index 38fc49d0c3a..00000000000 --- a/3rdparty/bx/include/bx/thread.inl +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_THREAD_H_HEADER_GUARD -# error "Must be included from bx/thread.h!" -#endif // BX_THREAD_H_HEADER_GUARD - -#if BX_CONFIG_SUPPORTS_THREADING - -namespace bx -{ -#if BX_PLATFORM_WINDOWS - inline TlsData::TlsData() - { - m_id = TlsAlloc(); - BX_CHECK(TLS_OUT_OF_INDEXES != m_id, "Failed to allocated TLS index (err: 0x%08x).", GetLastError() ); - } - - inline TlsData::~TlsData() - { - BOOL result = TlsFree(m_id); - BX_CHECK(0 != result, "Failed to free TLS index (err: 0x%08x).", GetLastError() ); BX_UNUSED(result); - } - - inline void* TlsData::get() const - { - return TlsGetValue(m_id); - } - - inline void TlsData::set(void* _ptr) - { - TlsSetValue(m_id, _ptr); - } - -#elif !(BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT) - - inline TlsData::TlsData() - { - int result = pthread_key_create(&m_id, NULL); - BX_CHECK(0 == result, "pthread_key_create failed %d.", result); BX_UNUSED(result); - } - - inline TlsData::~TlsData() - { - int result = pthread_key_delete(m_id); - BX_CHECK(0 == result, "pthread_key_delete failed %d.", result); BX_UNUSED(result); - } - - inline void* TlsData::get() const - { - return pthread_getspecific(m_id); - } - - inline void TlsData::set(void* _ptr) - { - int result = pthread_setspecific(m_id, _ptr); - BX_CHECK(0 == result, "pthread_setspecific failed %d.", result); BX_UNUSED(result); - } -#endif // BX_PLATFORM_* - -} // namespace bx - -#endif // BX_CONFIG_SUPPORTS_THREADING diff --git a/3rdparty/bx/include/bx/timer.h b/3rdparty/bx/include/bx/timer.h index 7b01e2c9974..31a109614b3 100644 --- a/3rdparty/bx/include/bx/timer.h +++ b/3rdparty/bx/include/bx/timer.h @@ -18,6 +18,4 @@ namespace bx } // namespace bx -#include "timer.inl" - #endif // BX_TIMER_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/timer.inl b/3rdparty/bx/include/bx/timer.inl deleted file mode 100644 index d1c609f571a..00000000000 --- a/3rdparty/bx/include/bx/timer.inl +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#ifndef BX_TIMER_H_HEADER_GUARD -# error "Must be included from bx/timer.h!" -#endif // BX_TIMER_H_HEADER_GUARD - -#include "bx.h" - -#if BX_PLATFORM_ANDROID -# include // clock, clock_gettime -#elif BX_PLATFORM_EMSCRIPTEN -# include -#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT -# include -#else -# include // gettimeofday -#endif // BX_PLATFORM_ - -namespace bx -{ - inline int64_t getHPCounter() - { -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - LARGE_INTEGER li; - // Performance counter value may unexpectedly leap forward - // http://support.microsoft.com/kb/274323 - QueryPerformanceCounter(&li); - int64_t i64 = li.QuadPart; -#elif BX_PLATFORM_ANDROID - struct timespec now; - clock_gettime(CLOCK_MONOTONIC, &now); - int64_t i64 = now.tv_sec*INT64_C(1000000000) + now.tv_nsec; -#elif BX_PLATFORM_EMSCRIPTEN - int64_t i64 = int64_t(1000.0f * emscripten_get_now() ); -#else - struct timeval now; - gettimeofday(&now, 0); - int64_t i64 = now.tv_sec*INT64_C(1000000) + now.tv_usec; -#endif // BX_PLATFORM_ - return i64; - } - - inline int64_t getHPFrequency() - { -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - LARGE_INTEGER li; - QueryPerformanceFrequency(&li); - return li.QuadPart; -#elif BX_PLATFORM_ANDROID - return INT64_C(1000000000); -#elif BX_PLATFORM_EMSCRIPTEN - return INT64_C(1000000); -#else - return INT64_C(1000000); -#endif // BX_PLATFORM_ - } - -} // namespace bx diff --git a/3rdparty/bx/include/bx/uint32_t.h b/3rdparty/bx/include/bx/uint32_t.h index d3b3069fe92..622e49ebe58 100644 --- a/3rdparty/bx/include/bx/uint32_t.h +++ b/3rdparty/bx/include/bx/uint32_t.h @@ -285,6 +285,6 @@ namespace bx } // namespace bx -#include "uint32_t.inl" +#include "inline/uint32_t.inl" #endif // BX_UINT32_T_H_HEADER_GUARD diff --git a/3rdparty/bx/include/bx/uint32_t.inl b/3rdparty/bx/include/bx/uint32_t.inl deleted file mode 100644 index 8a66a07ca2d..00000000000 --- a/3rdparty/bx/include/bx/uint32_t.inl +++ /dev/null @@ -1,781 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -// Copyright 2006 Mike Acton -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE - -#ifndef BX_UINT32_T_H_HEADER_GUARD -# error "Must be included from bx/uint32_t.h" -#endif // BX_UINT32_T_H_HEADER_GUARD - -namespace bx -{ - inline uint32_t uint32_li(uint32_t _a) - { - return _a; - } - - inline uint32_t uint32_dec(uint32_t _a) - { - return _a - 1; - } - - inline uint32_t uint32_inc(uint32_t _a) - { - return _a + 1; - } - - inline uint32_t uint32_not(uint32_t _a) - { - return ~_a; - } - - inline uint32_t uint32_neg(uint32_t _a) - { - return -(int32_t)_a; - } - - inline uint32_t uint32_ext(uint32_t _a) - { - return ( (int32_t)_a)>>31; - } - - inline uint32_t uint32_and(uint32_t _a, uint32_t _b) - { - return _a & _b; - } - - inline uint32_t uint32_andc(uint32_t _a, uint32_t _b) - { - return _a & ~_b; - } - - inline uint32_t uint32_xor(uint32_t _a, uint32_t _b) - { - return _a ^ _b; - } - - inline uint32_t uint32_xorl(uint32_t _a, uint32_t _b) - { - return !_a != !_b; - } - - inline uint32_t uint32_or(uint32_t _a, uint32_t _b) - { - return _a | _b; - } - - inline uint32_t uint32_orc(uint32_t _a, uint32_t _b) - { - return _a | ~_b; - } - - inline uint32_t uint32_sll(uint32_t _a, int _sa) - { - return _a << _sa; - } - - inline uint32_t uint32_srl(uint32_t _a, int _sa) - { - return _a >> _sa; - } - - inline uint32_t uint32_sra(uint32_t _a, int _sa) - { - return ( (int32_t)_a) >> _sa; - } - - inline uint32_t uint32_rol(uint32_t _a, int _sa) - { - return ( _a << _sa) | (_a >> (32-_sa) ); - } - - inline uint32_t uint32_ror(uint32_t _a, int _sa) - { - return ( _a >> _sa) | (_a << (32-_sa) ); - } - - inline uint32_t uint32_add(uint32_t _a, uint32_t _b) - { - return _a + _b; - } - - inline uint32_t uint32_sub(uint32_t _a, uint32_t _b) - { - return _a - _b; - } - - inline uint32_t uint32_mul(uint32_t _a, uint32_t _b) - { - return _a * _b; - } - - inline uint32_t uint32_div(uint32_t _a, uint32_t _b) - { - return (_a / _b); - } - - inline uint32_t uint32_mod(uint32_t _a, uint32_t _b) - { - return (_a % _b); - } - - inline uint32_t uint32_cmpeq(uint32_t _a, uint32_t _b) - { - return -(_a == _b); - } - - inline uint32_t uint32_cmpneq(uint32_t _a, uint32_t _b) - { - return -(_a != _b); - } - - inline uint32_t uint32_cmplt(uint32_t _a, uint32_t _b) - { - return -(_a < _b); - } - - inline uint32_t uint32_cmple(uint32_t _a, uint32_t _b) - { - return -(_a <= _b); - } - - inline uint32_t uint32_cmpgt(uint32_t _a, uint32_t _b) - { - return -(_a > _b); - } - - inline uint32_t uint32_cmpge(uint32_t _a, uint32_t _b) - { - return -(_a >= _b); - } - - inline uint32_t uint32_setnz(uint32_t _a) - { - return -!!_a; - } - - inline uint32_t uint32_satadd(uint32_t _a, uint32_t _b) - { - const uint32_t add = uint32_add(_a, _b); - const uint32_t lt = uint32_cmplt(add, _a); - const uint32_t result = uint32_or(add, lt); - - return result; - } - - inline uint32_t uint32_satsub(uint32_t _a, uint32_t _b) - { - const uint32_t sub = uint32_sub(_a, _b); - const uint32_t le = uint32_cmple(sub, _a); - const uint32_t result = uint32_and(sub, le); - - return result; - } - - inline uint32_t uint32_satmul(uint32_t _a, uint32_t _b) - { - const uint64_t mul = (uint64_t)_a * (uint64_t)_b; - const uint32_t hi = mul >> 32; - const uint32_t nz = uint32_setnz(hi); - const uint32_t result = uint32_or(uint32_t(mul), nz); - - return result; - } - - inline uint32_t uint32_sels(uint32_t test, uint32_t _a, uint32_t _b) - { - const uint32_t mask = uint32_ext(test); - const uint32_t sel_a = uint32_and(_a, mask); - const uint32_t sel_b = uint32_andc(_b, mask); - const uint32_t result = uint32_or(sel_a, sel_b); - - return (result); - } - - inline uint32_t uint32_selb(uint32_t _mask, uint32_t _a, uint32_t _b) - { - const uint32_t sel_a = uint32_and(_a, _mask); - const uint32_t sel_b = uint32_andc(_b, _mask); - const uint32_t result = uint32_or(sel_a, sel_b); - - return (result); - } - - inline uint32_t uint32_imin(uint32_t _a, uint32_t _b) - { - const uint32_t a_sub_b = uint32_sub(_a, _b); - const uint32_t result = uint32_sels(a_sub_b, _a, _b); - - return result; - } - - inline uint32_t uint32_imax(uint32_t _a, uint32_t _b) - { - const uint32_t b_sub_a = uint32_sub(_b, _a); - const uint32_t result = uint32_sels(b_sub_a, _a, _b); - - return result; - } - - inline uint32_t uint32_min(uint32_t _a, uint32_t _b) - { - return _a > _b ? _b : _a; - } - - inline uint32_t uint32_min(uint32_t _a, uint32_t _b, uint32_t _c) - { - return uint32_min(_a, uint32_min(_b, _c) ); - } - - inline uint32_t uint32_max(uint32_t _a, uint32_t _b) - { - return _a > _b ? _a : _b; - } - - inline uint32_t uint32_max(uint32_t _a, uint32_t _b, uint32_t _c) - { - return uint32_max(_a, uint32_max(_b, _c) ); - } - - inline uint32_t uint32_clamp(uint32_t _a, uint32_t _min, uint32_t _max) - { - const uint32_t tmp = uint32_max(_a, _min); - const uint32_t result = uint32_min(tmp, _max); - - return result; - } - - inline uint32_t uint32_iclamp(uint32_t _a, uint32_t _min, uint32_t _max) - { - const uint32_t tmp = uint32_imax(_a, _min); - const uint32_t result = uint32_imin(tmp, _max); - - return result; - } - - inline uint32_t uint32_incwrap(uint32_t _val, uint32_t _min, uint32_t _max) - { - const uint32_t inc = uint32_inc(_val); - const uint32_t max_diff = uint32_sub(_max, _val); - const uint32_t neg_max_diff = uint32_neg(max_diff); - const uint32_t max_or = uint32_or(max_diff, neg_max_diff); - const uint32_t max_diff_nz = uint32_ext(max_or); - const uint32_t result = uint32_selb(max_diff_nz, inc, _min); - - return result; - } - - inline uint32_t uint32_decwrap(uint32_t _val, uint32_t _min, uint32_t _max) - { - const uint32_t dec = uint32_dec(_val); - const uint32_t min_diff = uint32_sub(_min, _val); - const uint32_t neg_min_diff = uint32_neg(min_diff); - const uint32_t min_or = uint32_or(min_diff, neg_min_diff); - const uint32_t min_diff_nz = uint32_ext(min_or); - const uint32_t result = uint32_selb(min_diff_nz, dec, _max); - - return result; - } - - inline uint32_t uint32_cntbits_ref(uint32_t _val) - { - const uint32_t tmp0 = uint32_srl(_val, 1); - const uint32_t tmp1 = uint32_and(tmp0, 0x55555555); - const uint32_t tmp2 = uint32_sub(_val, tmp1); - const uint32_t tmp3 = uint32_and(tmp2, 0xc30c30c3); - const uint32_t tmp4 = uint32_srl(tmp2, 2); - const uint32_t tmp5 = uint32_and(tmp4, 0xc30c30c3); - const uint32_t tmp6 = uint32_srl(tmp2, 4); - const uint32_t tmp7 = uint32_and(tmp6, 0xc30c30c3); - const uint32_t tmp8 = uint32_add(tmp3, tmp5); - const uint32_t tmp9 = uint32_add(tmp7, tmp8); - const uint32_t tmpA = uint32_srl(tmp9, 6); - const uint32_t tmpB = uint32_add(tmp9, tmpA); - const uint32_t tmpC = uint32_srl(tmpB, 12); - const uint32_t tmpD = uint32_srl(tmpB, 24); - const uint32_t tmpE = uint32_add(tmpB, tmpC); - const uint32_t tmpF = uint32_add(tmpD, tmpE); - const uint32_t result = uint32_and(tmpF, 0x3f); - - return result; - } - - /// Count number of bits set. - inline uint32_t uint32_cntbits(uint32_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_popcount(_val); -#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS - return __popcnt(_val); -#else - return uint32_cntbits_ref(_val); -#endif // BX_COMPILER_ - } - - inline uint32_t uint32_cntlz_ref(uint32_t _val) - { - const uint32_t tmp0 = uint32_srl(_val, 1); - const uint32_t tmp1 = uint32_or(tmp0, _val); - const uint32_t tmp2 = uint32_srl(tmp1, 2); - const uint32_t tmp3 = uint32_or(tmp2, tmp1); - const uint32_t tmp4 = uint32_srl(tmp3, 4); - const uint32_t tmp5 = uint32_or(tmp4, tmp3); - const uint32_t tmp6 = uint32_srl(tmp5, 8); - const uint32_t tmp7 = uint32_or(tmp6, tmp5); - const uint32_t tmp8 = uint32_srl(tmp7, 16); - const uint32_t tmp9 = uint32_or(tmp8, tmp7); - const uint32_t tmpA = uint32_not(tmp9); - const uint32_t result = uint32_cntbits(tmpA); - - return result; - } - - /// Count number of leading zeros. - inline uint32_t uint32_cntlz(uint32_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_clz(_val); -#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS - unsigned long index; - _BitScanReverse(&index, _val); - return 31 - index; -#else - return uint32_cntlz_ref(_val); -#endif // BX_COMPILER_ - } - - inline uint32_t uint32_cnttz_ref(uint32_t _val) - { - const uint32_t tmp0 = uint32_not(_val); - const uint32_t tmp1 = uint32_dec(_val); - const uint32_t tmp2 = uint32_and(tmp0, tmp1); - const uint32_t result = uint32_cntbits(tmp2); - - return result; - } - - inline uint32_t uint32_cnttz(uint32_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_ctz(_val); -#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS - unsigned long index; - _BitScanForward(&index, _val); - return index; -#else - return uint32_cnttz_ref(_val); -#endif // BX_COMPILER_ - } - - // shuffle: - // ---- ---- ---- ---- fedc ba98 7654 3210 - // to: - // -f-e -d-c -b-a -9-8 -7-6 -5-4 -3-2 -1-0 - inline uint32_t uint32_part1by1(uint32_t _a) - { - const uint32_t val = uint32_and(_a, 0xffff); - - const uint32_t tmp0 = uint32_sll(val, 8); - const uint32_t tmp1 = uint32_xor(val, tmp0); - const uint32_t tmp2 = uint32_and(tmp1, 0x00ff00ff); - - const uint32_t tmp3 = uint32_sll(tmp2, 4); - const uint32_t tmp4 = uint32_xor(tmp2, tmp3); - const uint32_t tmp5 = uint32_and(tmp4, 0x0f0f0f0f); - - const uint32_t tmp6 = uint32_sll(tmp5, 2); - const uint32_t tmp7 = uint32_xor(tmp5, tmp6); - const uint32_t tmp8 = uint32_and(tmp7, 0x33333333); - - const uint32_t tmp9 = uint32_sll(tmp8, 1); - const uint32_t tmpA = uint32_xor(tmp8, tmp9); - const uint32_t result = uint32_and(tmpA, 0x55555555); - - return result; - } - - // shuffle: - // ---- ---- ---- ---- ---- --98 7654 3210 - // to: - // ---- 9--8 --7- -6-- 5--4 --3- -2-- 1--0 - inline uint32_t uint32_part1by2(uint32_t _a) - { - const uint32_t val = uint32_and(_a, 0x3ff); - - const uint32_t tmp0 = uint32_sll(val, 16); - const uint32_t tmp1 = uint32_xor(val, tmp0); - const uint32_t tmp2 = uint32_and(tmp1, 0xff0000ff); - - const uint32_t tmp3 = uint32_sll(tmp2, 8); - const uint32_t tmp4 = uint32_xor(tmp2, tmp3); - const uint32_t tmp5 = uint32_and(tmp4, 0x0300f00f); - - const uint32_t tmp6 = uint32_sll(tmp5, 4); - const uint32_t tmp7 = uint32_xor(tmp5, tmp6); - const uint32_t tmp8 = uint32_and(tmp7, 0x030c30c3); - - const uint32_t tmp9 = uint32_sll(tmp8, 2); - const uint32_t tmpA = uint32_xor(tmp8, tmp9); - const uint32_t result = uint32_and(tmpA, 0x09249249); - - return result; - } - - inline uint32_t uint32_testpow2(uint32_t _a) - { - const uint32_t tmp0 = uint32_not(_a); - const uint32_t tmp1 = uint32_inc(tmp0); - const uint32_t tmp2 = uint32_and(_a, tmp1); - const uint32_t tmp3 = uint32_cmpeq(tmp2, _a); - const uint32_t tmp4 = uint32_cmpneq(_a, 0); - const uint32_t result = uint32_and(tmp3, tmp4); - - return result; - } - - inline uint32_t uint32_nextpow2(uint32_t _a) - { - const uint32_t tmp0 = uint32_dec(_a); - const uint32_t tmp1 = uint32_srl(tmp0, 1); - const uint32_t tmp2 = uint32_or(tmp0, tmp1); - const uint32_t tmp3 = uint32_srl(tmp2, 2); - const uint32_t tmp4 = uint32_or(tmp2, tmp3); - const uint32_t tmp5 = uint32_srl(tmp4, 4); - const uint32_t tmp6 = uint32_or(tmp4, tmp5); - const uint32_t tmp7 = uint32_srl(tmp6, 8); - const uint32_t tmp8 = uint32_or(tmp6, tmp7); - const uint32_t tmp9 = uint32_srl(tmp8, 16); - const uint32_t tmpA = uint32_or(tmp8, tmp9); - const uint32_t result = uint32_inc(tmpA); - - return result; - } - - inline uint16_t halfFromFloat(float _a) - { - union { uint32_t ui; float flt; } ftou; - ftou.flt = _a; - - const uint32_t one = uint32_li(0x00000001); - const uint32_t f_s_mask = uint32_li(0x80000000); - const uint32_t f_e_mask = uint32_li(0x7f800000); - const uint32_t f_m_mask = uint32_li(0x007fffff); - const uint32_t f_m_hidden_bit = uint32_li(0x00800000); - const uint32_t f_m_round_bit = uint32_li(0x00001000); - const uint32_t f_snan_mask = uint32_li(0x7fc00000); - const uint32_t f_e_pos = uint32_li(0x00000017); - const uint32_t h_e_pos = uint32_li(0x0000000a); - const uint32_t h_e_mask = uint32_li(0x00007c00); - const uint32_t h_snan_mask = uint32_li(0x00007e00); - const uint32_t h_e_mask_value = uint32_li(0x0000001f); - const uint32_t f_h_s_pos_offset = uint32_li(0x00000010); - const uint32_t f_h_bias_offset = uint32_li(0x00000070); - const uint32_t f_h_m_pos_offset = uint32_li(0x0000000d); - const uint32_t h_nan_min = uint32_li(0x00007c01); - const uint32_t f_h_e_biased_flag = uint32_li(0x0000008f); - const uint32_t f_s = uint32_and(ftou.ui, f_s_mask); - const uint32_t f_e = uint32_and(ftou.ui, f_e_mask); - const uint16_t h_s = (uint16_t)uint32_srl(f_s, f_h_s_pos_offset); - const uint32_t f_m = uint32_and(ftou.ui, f_m_mask); - const uint16_t f_e_amount = (uint16_t)uint32_srl(f_e, f_e_pos); - const uint32_t f_e_half_bias = uint32_sub(f_e_amount, f_h_bias_offset); - const uint32_t f_snan = uint32_and(ftou.ui, f_snan_mask); - const uint32_t f_m_round_mask = uint32_and(f_m, f_m_round_bit); - const uint32_t f_m_round_offset = uint32_sll(f_m_round_mask, one); - const uint32_t f_m_rounded = uint32_add(f_m, f_m_round_offset); - const uint32_t f_m_denorm_sa = uint32_sub(one, f_e_half_bias); - const uint32_t f_m_with_hidden = uint32_or(f_m_rounded, f_m_hidden_bit); - const uint32_t f_m_denorm = uint32_srl(f_m_with_hidden, f_m_denorm_sa); - const uint32_t h_m_denorm = uint32_srl(f_m_denorm, f_h_m_pos_offset); - const uint32_t f_m_rounded_overflow = uint32_and(f_m_rounded, f_m_hidden_bit); - const uint32_t m_nan = uint32_srl(f_m, f_h_m_pos_offset); - const uint32_t h_em_nan = uint32_or(h_e_mask, m_nan); - const uint32_t h_e_norm_overflow_offset = uint32_inc(f_e_half_bias); - const uint32_t h_e_norm_overflow = uint32_sll(h_e_norm_overflow_offset, h_e_pos); - const uint32_t h_e_norm = uint32_sll(f_e_half_bias, h_e_pos); - const uint32_t h_m_norm = uint32_srl(f_m_rounded, f_h_m_pos_offset); - const uint32_t h_em_norm = uint32_or(h_e_norm, h_m_norm); - const uint32_t is_h_ndenorm_msb = uint32_sub(f_h_bias_offset, f_e_amount); - const uint32_t is_f_e_flagged_msb = uint32_sub(f_h_e_biased_flag, f_e_half_bias); - const uint32_t is_h_denorm_msb = uint32_not(is_h_ndenorm_msb); - const uint32_t is_f_m_eqz_msb = uint32_dec(f_m); - const uint32_t is_h_nan_eqz_msb = uint32_dec(m_nan); - const uint32_t is_f_inf_msb = uint32_and(is_f_e_flagged_msb, is_f_m_eqz_msb); - const uint32_t is_f_nan_underflow_msb = uint32_and(is_f_e_flagged_msb, is_h_nan_eqz_msb); - const uint32_t is_e_overflow_msb = uint32_sub(h_e_mask_value, f_e_half_bias); - const uint32_t is_h_inf_msb = uint32_or(is_e_overflow_msb, is_f_inf_msb); - const uint32_t is_f_nsnan_msb = uint32_sub(f_snan, f_snan_mask); - const uint32_t is_m_norm_overflow_msb = uint32_neg(f_m_rounded_overflow); - const uint32_t is_f_snan_msb = uint32_not(is_f_nsnan_msb); - const uint32_t h_em_overflow_result = uint32_sels(is_m_norm_overflow_msb, h_e_norm_overflow, h_em_norm); - const uint32_t h_em_nan_result = uint32_sels(is_f_e_flagged_msb, h_em_nan, h_em_overflow_result); - const uint32_t h_em_nan_underflow_result = uint32_sels(is_f_nan_underflow_msb, h_nan_min, h_em_nan_result); - const uint32_t h_em_inf_result = uint32_sels(is_h_inf_msb, h_e_mask, h_em_nan_underflow_result); - const uint32_t h_em_denorm_result = uint32_sels(is_h_denorm_msb, h_m_denorm, h_em_inf_result); - const uint32_t h_em_snan_result = uint32_sels(is_f_snan_msb, h_snan_mask, h_em_denorm_result); - const uint32_t h_result = uint32_or(h_s, h_em_snan_result); - - return (uint16_t)(h_result); - } - - inline float halfToFloat(uint16_t _a) - { - const uint32_t h_e_mask = uint32_li(0x00007c00); - const uint32_t h_m_mask = uint32_li(0x000003ff); - const uint32_t h_s_mask = uint32_li(0x00008000); - const uint32_t h_f_s_pos_offset = uint32_li(0x00000010); - const uint32_t h_f_e_pos_offset = uint32_li(0x0000000d); - const uint32_t h_f_bias_offset = uint32_li(0x0001c000); - const uint32_t f_e_mask = uint32_li(0x7f800000); - const uint32_t f_m_mask = uint32_li(0x007fffff); - const uint32_t h_f_e_denorm_bias = uint32_li(0x0000007e); - const uint32_t h_f_m_denorm_sa_bias = uint32_li(0x00000008); - const uint32_t f_e_pos = uint32_li(0x00000017); - const uint32_t h_e_mask_minus_one = uint32_li(0x00007bff); - const uint32_t h_e = uint32_and(_a, h_e_mask); - const uint32_t h_m = uint32_and(_a, h_m_mask); - const uint32_t h_s = uint32_and(_a, h_s_mask); - const uint32_t h_e_f_bias = uint32_add(h_e, h_f_bias_offset); - const uint32_t h_m_nlz = uint32_cntlz(h_m); - const uint32_t f_s = uint32_sll(h_s, h_f_s_pos_offset); - const uint32_t f_e = uint32_sll(h_e_f_bias, h_f_e_pos_offset); - const uint32_t f_m = uint32_sll(h_m, h_f_e_pos_offset); - const uint32_t f_em = uint32_or(f_e, f_m); - const uint32_t h_f_m_sa = uint32_sub(h_m_nlz, h_f_m_denorm_sa_bias); - const uint32_t f_e_denorm_unpacked = uint32_sub(h_f_e_denorm_bias, h_f_m_sa); - const uint32_t h_f_m = uint32_sll(h_m, h_f_m_sa); - const uint32_t f_m_denorm = uint32_and(h_f_m, f_m_mask); - const uint32_t f_e_denorm = uint32_sll(f_e_denorm_unpacked, f_e_pos); - const uint32_t f_em_denorm = uint32_or(f_e_denorm, f_m_denorm); - const uint32_t f_em_nan = uint32_or(f_e_mask, f_m); - const uint32_t is_e_eqz_msb = uint32_dec(h_e); - const uint32_t is_m_nez_msb = uint32_neg(h_m); - const uint32_t is_e_flagged_msb = uint32_sub(h_e_mask_minus_one, h_e); - const uint32_t is_zero_msb = uint32_andc(is_e_eqz_msb, is_m_nez_msb); - const uint32_t is_inf_msb = uint32_andc(is_e_flagged_msb, is_m_nez_msb); - const uint32_t is_denorm_msb = uint32_and(is_m_nez_msb, is_e_eqz_msb); - const uint32_t is_nan_msb = uint32_and(is_e_flagged_msb, is_m_nez_msb); - const uint32_t is_zero = uint32_ext(is_zero_msb); - const uint32_t f_zero_result = uint32_andc(f_em, is_zero); - const uint32_t f_denorm_result = uint32_sels(is_denorm_msb, f_em_denorm, f_zero_result); - const uint32_t f_inf_result = uint32_sels(is_inf_msb, f_e_mask, f_denorm_result); - const uint32_t f_nan_result = uint32_sels(is_nan_msb, f_em_nan, f_inf_result); - const uint32_t f_result = uint32_or(f_s, f_nan_result); - - union { uint32_t ui; float flt; } utof; - utof.ui = f_result; - return utof.flt; - } - - inline uint16_t uint16_min(uint16_t _a, uint16_t _b) - { - return _a > _b ? _b : _a; - } - - inline uint16_t uint16_max(uint16_t _a, uint16_t _b) - { - return _a < _b ? _b : _a; - } - - inline int64_t int64_min(int64_t _a, int64_t _b) - { - return _a < _b ? _a : _b; - } - - inline int64_t int64_max(int64_t _a, int64_t _b) - { - return _a > _b ? _a : _b; - } - - inline int64_t int64_clamp(int64_t _a, int64_t _min, int64_t _max) - { - const int64_t min = int64_min(_a, _max); - const int64_t result = int64_max(_min, min); - - return result; - } - - inline uint32_t uint64_cntbits_ref(uint64_t _val) - { - const uint32_t lo = uint32_t(_val&UINT32_MAX); - const uint32_t hi = uint32_t(_val>>32); - - const uint32_t total = bx::uint32_cntbits(lo) - + bx::uint32_cntbits(hi); - return total; - } - - /// Count number of bits set. - inline uint32_t uint64_cntbits(uint64_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_popcountll(_val); -#elif BX_COMPILER_MSVC && BX_ARCH_64BIT - return uint32_t(__popcnt64(_val) ); -#else - return uint64_cntbits_ref(_val); -#endif // BX_COMPILER_ - } - - inline uint32_t uint64_cntlz_ref(uint64_t _val) - { - return _val & UINT64_C(0xffffffff00000000) - ? uint32_cntlz(uint32_t(_val>>32) ) - : uint32_cntlz(uint32_t(_val) ) + 32 - ; - } - - /// Count number of leading zeros. - inline uint32_t uint64_cntlz(uint64_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_clzll(_val); -#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT - unsigned long index; - _BitScanReverse64(&index, _val); - return uint32_t(63 - index); -#else - return uint64_cntlz_ref(_val); -#endif // BX_COMPILER_ - } - - inline uint32_t uint64_cnttz_ref(uint64_t _val) - { - return _val & UINT64_C(0xffffffff) - ? uint32_cnttz(uint32_t(_val) ) - : uint32_cnttz(uint32_t(_val>>32) ) + 32 - ; - } - - inline uint32_t uint64_cnttz(uint64_t _val) - { -#if BX_COMPILER_GCC || BX_COMPILER_CLANG - return __builtin_ctzll(_val); -#elif BX_COMPILER_MSVC && BX_PLATFORM_WINDOWS && BX_ARCH_64BIT - unsigned long index; - _BitScanForward64(&index, _val); - return uint32_t(index); -#else - return uint64_cnttz_ref(_val); -#endif // BX_COMPILER_ - } - - inline uint64_t uint64_sll(uint64_t _a, int _sa) - { - return _a << _sa; - } - - inline uint64_t uint64_srl(uint64_t _a, int _sa) - { - return _a >> _sa; - } - - inline uint64_t uint64_sra(uint64_t _a, int _sa) - { - return ( (int64_t)_a) >> _sa; - } - - inline uint64_t uint64_rol(uint64_t _a, int _sa) - { - return ( _a << _sa) | (_a >> (32-_sa) ); - } - - inline uint64_t uint64_ror(uint64_t _a, int _sa) - { - return ( _a >> _sa) | (_a << (32-_sa) ); - } - - inline uint64_t uint64_add(uint64_t _a, uint64_t _b) - { - return _a + _b; - } - - inline uint64_t uint64_sub(uint64_t _a, uint64_t _b) - { - return _a - _b; - } - - inline uint64_t uint64_mul(uint64_t _a, uint64_t _b) - { - return _a * _b; - } - - /// Greatest common divisor. - inline uint32_t uint32_gcd(uint32_t _a, uint32_t _b) - { - do - { - uint32_t tmp = _a % _b; - _a = _b; - _b = tmp; - } - while (_b); - - return _a; - } - - /// Least common multiple. - inline uint32_t uint32_lcm(uint32_t _a, uint32_t _b) - { - return _a * (_b / uint32_gcd(_a, _b) ); - } - - /// Align to arbitrary stride. - inline uint32_t strideAlign(uint32_t _offset, uint32_t _stride) - { - const uint32_t mod = uint32_mod(_offset, _stride); - const uint32_t add = uint32_sub(_stride, mod); - const uint32_t mask = uint32_cmpeq(mod, 0); - const uint32_t tmp = uint32_selb(mask, 0, add); - const uint32_t result = uint32_add(_offset, tmp); - - return result; - } - - /// Align to arbitrary stride and 16-bytes. - inline uint32_t strideAlign16(uint32_t _offset, uint32_t _stride) - { - const uint32_t align = uint32_lcm(16, _stride); - const uint32_t mod = uint32_mod(_offset, align); - const uint32_t mask = uint32_cmpeq(mod, 0); - const uint32_t tmp0 = uint32_selb(mask, 0, align); - const uint32_t tmp1 = uint32_add(_offset, tmp0); - const uint32_t result = uint32_sub(tmp1, mod); - - return result; - } - - /// Align to arbitrary stride and 256-bytes. - inline uint32_t strideAlign256(uint32_t _offset, uint32_t _stride) - { - const uint32_t align = uint32_lcm(256, _stride); - const uint32_t mod = uint32_mod(_offset, align); - const uint32_t mask = uint32_cmpeq(mod, 0); - const uint32_t tmp0 = uint32_selb(mask, 0, align); - const uint32_t tmp1 = uint32_add(_offset, tmp0); - const uint32_t result = uint32_sub(tmp1, mod); - - return result; - } - -} // namespace bx diff --git a/3rdparty/bx/scripts/bin2c.lua b/3rdparty/bx/scripts/bin2c.lua index b308b3eb253..daa7b099498 100644 --- a/3rdparty/bx/scripts/bin2c.lua +++ b/3rdparty/bx/scripts/bin2c.lua @@ -4,7 +4,6 @@ -- project "bin2c" - uuid "60eaa654-7d06-11e4-be8e-880965202986" kind "ConsoleApp" includedirs { @@ -23,6 +22,11 @@ project "bin2c" configuration { "mingw-*" } targetextension ".exe" + configuration { "linux-*" } + links { + "pthread", + } + configuration {} strip() diff --git a/3rdparty/bx/scripts/bx.lua b/3rdparty/bx/scripts/bx.lua index b62ee4bae5f..a84eec43b75 100644 --- a/3rdparty/bx/scripts/bx.lua +++ b/3rdparty/bx/scripts/bx.lua @@ -7,13 +7,13 @@ project "bx" kind "StaticLib" includedirs { - "../include", + path.join(BX_DIR, "include"), } files { - "../include/**.h", - "../include/**.inl", - "../src/**.cpp", + path.join(BX_DIR, "include/**.h"), + path.join(BX_DIR, "include/**.inl"), + path.join(BX_DIR, "src/**.cpp"), } configuration { "linux-*" } @@ -22,3 +22,27 @@ project "bx" } configuration {} + + if _OPTIONS["with-amalgamated"] then + excludes { + path.join(BX_DIR, "src/commandline.cpp"), + path.join(BX_DIR, "src/crt.cpp"), + path.join(BX_DIR, "src/crtimpl.cpp"), + path.join(BX_DIR, "src/debug.cpp"), + path.join(BX_DIR, "src/dtoa.cpp"), + path.join(BX_DIR, "src/fpumath.cpp"), + path.join(BX_DIR, "src/mutex.cpp"), + path.join(BX_DIR, "src/os.cpp"), + path.join(BX_DIR, "src/sem.cpp"), + path.join(BX_DIR, "src/sort.cpp"), + path.join(BX_DIR, "src/string.cpp"), + path.join(BX_DIR, "src/thread.cpp"), + path.join(BX_DIR, "src/timer.cpp"), + } + else + excludes { + path.join(BX_DIR, "src/amalgamated.**"), + } + end + + configuration {} diff --git a/3rdparty/bx/scripts/genie.lua b/3rdparty/bx/scripts/genie.lua index e0e634ae716..9919b8c6181 100644 --- a/3rdparty/bx/scripts/genie.lua +++ b/3rdparty/bx/scripts/genie.lua @@ -3,6 +3,16 @@ -- License: https://github.com/bkaradzic/bx#license-bsd-2-clause -- +newoption { + trigger = "with-amalgamated", + description = "Enable amalgamated build.", +} + +newoption { + trigger = "with-crtnone", + description = "Enable build without CRT.", +} + solution "bx" configurations { "Debug", @@ -21,10 +31,6 @@ BX_DIR = path.getabsolute("..") local BX_BUILD_DIR = path.join(BX_DIR, ".build") local BX_THIRD_PARTY_DIR = path.join(BX_DIR, "3rdparty") -defines { - "BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS=1" -} - dofile "toolchain.lua" toolchain(BX_BUILD_DIR, BX_THIRD_PARTY_DIR) @@ -50,7 +56,7 @@ project "bx.test" files { path.join(BX_DIR, "tests/*_test.cpp"), - path.join(BX_DIR, "tests/*_test.H"), + path.join(BX_DIR, "tests/*.h"), path.join(BX_DIR, "tests/dbg.*"), } diff --git a/3rdparty/bx/scripts/toolchain.lua b/3rdparty/bx/scripts/toolchain.lua index 6a01c92422c..0152ce79c32 100644 --- a/3rdparty/bx/scripts/toolchain.lua +++ b/3rdparty/bx/scripts/toolchain.lua @@ -6,6 +6,43 @@ local bxDir = path.getabsolute("..") local naclToolchain = "" +local function crtNone() + + defines { + "BX_CRT_NONE=1", + } + + buildoptions { + "-nostdlib", + "-nodefaultlibs", + "-nostartfiles", + "-Wa,--noexecstack", + "-ffreestanding", + } + + linkoptions { + "-nostdlib", + "-nodefaultlibs", + "-nostartfiles", + "-Wa,--noexecstack", + "-ffreestanding", + } + + configuration { "linux-*" } + + buildoptions { + "-mpreferred-stack-boundary=4", + "-mstackrealign", + } + + linkoptions { + "-mpreferred-stack-boundary=4", + "-mstackrealign", + } + + configuration {} +end + function toolchain(_buildDir, _libDir) newoption { @@ -152,6 +189,10 @@ function toolchain(_buildDir, _libDir) compiler32bit = true end + flags { + "ExtraWarnings", + } + if _ACTION == "gmake" or _ACTION == "ninja" then if nil == _OPTIONS["gcc"] then @@ -159,20 +200,18 @@ function toolchain(_buildDir, _libDir) os.exit(1) end - flags { - "ExtraWarnings", - } - if "android-arm" == _OPTIONS["gcc"] then if not os.getenv("ANDROID_NDK_ARM") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_CLANG and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" premake.gcc.cxx = "$(ANDROID_NDK_CLANG)/bin/clang++" + premake.gcc.ar = "$(ANDROID_NDK_ARM)/bin/arm-linux-androideabi-ar" + premake.gcc.llvm = true location (path.join(_buildDir, "projects", _ACTION .. "-android-arm")) @@ -181,7 +220,7 @@ function toolchain(_buildDir, _libDir) if not os.getenv("ANDROID_NDK_MIPS") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_MIPS and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" @@ -194,7 +233,7 @@ function toolchain(_buildDir, _libDir) if not os.getenv("ANDROID_NDK_X86") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_X86 and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" @@ -516,6 +555,10 @@ function toolchain(_buildDir, _libDir) flags { "EnableAVX" } end + if _OPTIONS["with-crtnone"] then + crtNone() + end + flags { "NoPCH", "NativeWChar", @@ -1306,6 +1349,7 @@ function toolchain(_buildDir, _libDir) } links { "rt", + "dl", } linkoptions { "-Wl,--gc-sections", @@ -1400,5 +1444,11 @@ function strip() -- .. "--preload-file ../../../examples/runtime@/" } + configuration { "riscv" } + postbuildcommands { + "$(SILENT) echo Stripping symbols.", + "$(SILENT) $(FREEDOM_E_SDK)/toolchain/bin/riscv32-unknown-elf-strip -s \"$(TARGET)\"" + } + configuration {} -- reset configuration end diff --git a/3rdparty/bx/scripts/uncrustify.cfg b/3rdparty/bx/scripts/uncrustify.cfg deleted file mode 100644 index 8f8ec163f21..00000000000 --- a/3rdparty/bx/scripts/uncrustify.cfg +++ /dev/null @@ -1,218 +0,0 @@ -tok_split_gte=false -utf8_byte=false -utf8_force=false -indent_cmt_with_tabs=false -indent_align_string=false -indent_braces=false -indent_braces_no_func=false -indent_braces_no_class=false -indent_braces_no_struct=false -indent_brace_parent=false -indent_namespace=true -indent_extern=false -indent_class=false -indent_class_colon=false -indent_else_if=false -indent_var_def_cont=false -indent_func_call_param=false -indent_func_def_param=false -indent_func_proto_param=false -indent_func_class_param=false -indent_func_ctor_var_param=false -indent_template_param=false -indent_func_param_double=false -indent_relative_single_line_comments=false -indent_col1_comment=false -indent_access_spec_body=false -indent_paren_nl=true -indent_comma_paren=true -indent_bool_paren=true -indent_first_bool_expr=false -indent_square_nl=false -indent_preserve_sql=false -indent_align_assign=true -sp_balance_nested_parens=false -align_keep_tabs=false -align_with_tabs=false -align_on_tabstop=false -align_number_left=true -align_func_params=false -align_same_func_call_params=false -align_var_def_colon=false -align_var_def_attribute=false -align_var_def_inline=false -align_right_cmt_mix=false -align_on_operator=false -align_mix_var_proto=false -align_single_line_func=false -align_single_line_brace=false -align_nl_cont=false -align_left_shift=true -align_oc_decl_colon=false -nl_collapse_empty_body=false -nl_assign_leave_one_liners=true -nl_class_leave_one_liners=false -nl_enum_leave_one_liners=false -nl_getset_leave_one_liners=false -nl_func_leave_one_liners=false -nl_if_leave_one_liners=false -nl_multi_line_cond=false -nl_multi_line_define=false -nl_before_case=true -nl_after_case=false -nl_after_return=false -nl_after_semicolon=false -nl_after_brace_open=false -nl_after_brace_open_cmt=false -nl_after_vbrace_open=false -nl_after_vbrace_open_empty=false -nl_after_brace_close=false -nl_after_vbrace_close=false -nl_define_macro=false -nl_squeeze_ifdef=false -nl_ds_struct_enum_cmt=false -nl_ds_struct_enum_close_brace=false -nl_create_if_one_liner=false -nl_create_for_one_liner=false -nl_create_while_one_liner=false -ls_for_split_full=false -ls_func_split_full=false -nl_after_multiline_comment=false -eat_blanks_after_open_brace=true -eat_blanks_before_close_brace=true -mod_full_brace_if_chain=false -mod_pawn_semicolon=false -mod_full_paren_if_bool=false -mod_remove_extra_semicolon=true -mod_sort_import=false -mod_sort_using=false -mod_sort_include=false -mod_move_case_break=false -mod_remove_empty_return=true -cmt_indent_multi=false -cmt_c_group=false -cmt_c_nl_start=false -cmt_c_nl_end=false -cmt_cpp_group=false -cmt_cpp_nl_start=false -cmt_cpp_nl_end=false -cmt_cpp_to_c=false -cmt_star_cont=false -cmt_multi_check_last=false -cmt_insert_before_preproc=false -pp_indent_at_level=false -pp_region_indent_code=false -pp_if_indent_code=false -pp_define_at_level=false -indent_paren_close=1 -align_struct_init_span=1 -align_pp_define_span=1 -nl_end_of_file_min=1 -nl_max=2 -mod_add_long_ifdef_endif_comment=1 -pp_space_count=3 -newlines=auto -indent_with_tabs=1 -sp_arith=force -sp_assign=force -sp_enum_assign=force -sp_bool=force -sp_compare=force -sp_inside_paren=remove -sp_paren_paren=force -sp_before_ptr_star=remove -sp_before_unnamed_ptr_star=remove -sp_between_ptr_star=remove -sp_after_ptr_star=force -sp_after_ptr_star_func=force -sp_before_ptr_star_func=remove -sp_before_byref=remove -sp_before_unnamed_byref=remove -sp_after_byref=force -sp_after_type=force -sp_template_angle=remove -sp_angle_shift=add -sp_before_sparen=force -sp_inside_sparen=remove -sp_after_sparen=force -sp_special_semi=remove -sp_before_semi=remove -sp_after_semi_for=force -sp_after_semi_for_empty=remove -sp_before_square=remove -sp_before_squares=remove -sp_after_comma=force -sp_before_comma=remove -sp_before_ellipsis=force -sp_after_class_colon=force -sp_before_class_colon=force -sp_before_case_colon=remove -sp_after_operator=remove -sp_after_operator_sym=remove -sp_cpp_cast_paren=remove -sp_sizeof_paren=remove -sp_inside_braces_enum=force -sp_inside_braces_struct=force -sp_inside_braces_empty=remove -sp_type_func=force -sp_func_proto_paren=remove -sp_func_def_paren=remove -sp_inside_fparens=remove -sp_inside_fparen=remove -sp_square_fparen=remove -sp_fparen_brace=force -sp_func_call_paren=remove -sp_func_call_paren_empty=remove -sp_func_call_user_paren=remove -sp_func_class_paren=remove -sp_return_paren=force -sp_attribute_paren=remove -sp_defined_paren=remove -sp_macro=force -sp_macro_func=force -sp_not=remove -sp_inv=remove -sp_addr=remove -sp_member=remove -sp_deref=remove -sp_sign=remove -sp_incdec=remove -sp_before_nl_cont=force -sp_cond_colon=force -sp_cond_question=force -sp_case_label=force -sp_endif_cmt=force -sp_after_new=force -nl_end_of_file=force -nl_assign_brace=force -nl_fcall_brace=force -nl_enum_brace=force -nl_struct_brace=force -nl_union_brace=force -nl_if_brace=force -nl_brace_else=force -nl_elseif_brace=force -nl_else_brace=force -nl_else_if=remove -nl_for_brace=force -nl_while_brace=force -nl_brace_brace=force -nl_do_brace=force -nl_brace_while=force -nl_switch_brace=force -nl_namespace_brace=force -nl_fdef_brace=force -nl_after_if=add -nl_after_for=add -nl_after_while=add -nl_after_switch=add -nl_after_do=add -pos_bool=lead_force -mod_full_brace_do=force -mod_full_brace_for=force -mod_full_brace_function=force -mod_full_brace_if=force -mod_full_brace_while=force -mod_paren_on_return=remove -pp_indent=remove -pp_space=add diff --git a/3rdparty/bx/src/amalgamated.cpp b/3rdparty/bx/src/amalgamated.cpp new file mode 100644 index 00000000000..1aeb2bb906d --- /dev/null +++ b/3rdparty/bx/src/amalgamated.cpp @@ -0,0 +1,19 @@ +/* + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause + */ + +#include "bx.cpp" +#include "commandline.cpp" +#include "crtimpl.cpp" +#include "crtnone.cpp" +#include "debug.cpp" +#include "dtoa.cpp" +#include "fpumath.cpp" +#include "mutex.cpp" +#include "os.cpp" +#include "semaphore.cpp" +#include "sort.cpp" +#include "string.cpp" +#include "thread.cpp" +#include "timer.cpp" diff --git a/3rdparty/bx/src/bx.cpp b/3rdparty/bx/src/bx.cpp new file mode 100644 index 00000000000..8a063c56de9 --- /dev/null +++ b/3rdparty/bx/src/bx.cpp @@ -0,0 +1,146 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include +#include + +#if !BX_CRT_NONE +# include // memcpy, memmove, memset +#endif // !BX_CRT_NONE + +namespace bx +{ + void xchg(void* _a, void* _b, size_t _numBytes) + { + uint8_t* lhs = (uint8_t*)_a; + uint8_t* rhs = (uint8_t*)_b; + const uint8_t* end = rhs + _numBytes; + while (rhs != end) + { + xchg(*lhs++, *rhs++); + } + } + + void memCopyRef(void* _dst, const void* _src, size_t _numBytes) + { + uint8_t* dst = (uint8_t*)_dst; + const uint8_t* end = dst + _numBytes; + const uint8_t* src = (const uint8_t*)_src; + while (dst != end) + { + *dst++ = *src++; + } + } + + void memCopy(void* _dst, const void* _src, size_t _numBytes) + { +#if BX_CRT_NONE + memCopyRef(_dst, _src, _numBytes); +#else + ::memcpy(_dst, _src, _numBytes); +#endif // BX_CRT_NONE + } + + void memCopy(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch, uint32_t _dstPitch) + { + const uint8_t* src = (const uint8_t*)_src; + uint8_t* dst = (uint8_t*)_dst; + + for (uint32_t ii = 0; ii < _num; ++ii) + { + memCopy(dst, src, _size); + src += _srcPitch; + dst += _dstPitch; + } + } + + /// + void gather(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch) + { + memCopy(_dst, _src, _size, _num, _srcPitch, _size); + } + + /// + void scatter(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _dstPitch) + { + memCopy(_dst, _src, _size, _num, _size, _dstPitch); + } + + void memMoveRef(void* _dst, const void* _src, size_t _numBytes) + { + uint8_t* dst = (uint8_t*)_dst; + const uint8_t* src = (const uint8_t*)_src; + + if (_numBytes == 0 + || dst == src) + { + return; + } + + // if (src+_numBytes <= dst || end <= src) + if (dst < src) + { + memCopy(_dst, _src, _numBytes); + return; + } + + for (intptr_t ii = _numBytes-1; ii >= 0; --ii) + { + dst[ii] = src[ii]; + } + } + + void memMove(void* _dst, const void* _src, size_t _numBytes) + { +#if BX_CRT_NONE + memMoveRef(_dst, _src, _numBytes); +#else + ::memmove(_dst, _src, _numBytes); +#endif // BX_CRT_NONE + } + + void memSetRef(void* _dst, uint8_t _ch, size_t _numBytes) + { + uint8_t* dst = (uint8_t*)_dst; + const uint8_t* end = dst + _numBytes; + while (dst != end) + { + *dst++ = char(_ch); + } + } + + void memSet(void* _dst, uint8_t _ch, size_t _numBytes) + { +#if BX_CRT_NONE + memSetRef(_dst, _ch, _numBytes); +#else + ::memset(_dst, _ch, _numBytes); +#endif // BX_CRT_NONE + } + + int32_t memCmpRef(const void* _lhs, const void* _rhs, size_t _numBytes) + { + const char* lhs = (const char*)_lhs; + const char* rhs = (const char*)_rhs; + for ( + ; 0 < _numBytes && *lhs == *rhs + ; ++lhs, ++rhs, --_numBytes + ) + { + } + + return 0 == _numBytes ? 0 : *lhs - *rhs; + } + + int32_t memCmp(const void* _lhs, const void* _rhs, size_t _numBytes) + { +#if BX_CRT_NONE + return memCmpRef(_lhs, _rhs, _numBytes); +#else + return ::memcmp(_lhs, _rhs, _numBytes); +#endif // BX_CRT_NONE + } + +} // namespace bx diff --git a/3rdparty/bx/src/commandline.cpp b/3rdparty/bx/src/commandline.cpp index 400e4965a0e..6ec2aadaaaf 100644 --- a/3rdparty/bx/src/commandline.cpp +++ b/3rdparty/bx/src/commandline.cpp @@ -175,13 +175,13 @@ namespace bx bool CommandLine::hasArg(const char _short, const char* _long) const { - const char* arg = findOption(_short, _long, 0); + const char* arg = findOption(_short, _long, int32_t(0) ); return NULL != arg; } bool CommandLine::hasArg(const char* _long) const { - const char* arg = findOption('\0', _long, 0); + const char* arg = findOption('\0', _long, int32_t(0) ); return NULL != arg; } diff --git a/3rdparty/bx/src/crt.cpp b/3rdparty/bx/src/crt.cpp deleted file mode 100644 index 8686f03d267..00000000000 --- a/3rdparty/bx/src/crt.cpp +++ /dev/null @@ -1,362 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#include -#include -#include - -namespace bx -{ - void* memCopyRef(void* _dst, const void* _src, size_t _numBytes) - { - uint8_t* dst = (uint8_t*)_dst; - const uint8_t* end = dst + _numBytes; - const uint8_t* src = (const uint8_t*)_src; - while (dst != end) - { - *dst++ = *src++; - } - - return _dst; - } - - void* memCopy(void* _dst, const void* _src, size_t _numBytes) - { -#if BX_CRT_NONE - return memCopyRef(_dst, _src, _numBytes); -#else - return ::memcpy(_dst, _src, _numBytes); -#endif // BX_CRT_NONE - } - - void memCopy(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch, uint32_t _dstPitch) - { - const uint8_t* src = (const uint8_t*)_src; - uint8_t* dst = (uint8_t*)_dst; - - for (uint32_t ii = 0; ii < _num; ++ii) - { - memCopy(dst, src, _size); - src += _srcPitch; - dst += _dstPitch; - } - } - - /// - void gather(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch) - { - memCopy(_dst, _src, _size, _num, _srcPitch, _size); - } - - /// - void scatter(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _dstPitch) - { - memCopy(_dst, _src, _size, _num, _size, _dstPitch); - } - - void* memMoveRef(void* _dst, const void* _src, size_t _numBytes) - { - uint8_t* dst = (uint8_t*)_dst; - const uint8_t* src = (const uint8_t*)_src; - - if (_numBytes == 0 - || dst == src) - { - return dst; - } - - // if (src+_numBytes <= dst || end <= src) - if (dst < src) - { - return memcpy(_dst, _src, _numBytes); - } - - for (intptr_t ii = _numBytes-1; ii >= 0; --ii) - { - dst[ii] = src[ii]; - } - - return _dst; - } - - void* memMove(void* _dst, const void* _src, size_t _numBytes) - { -#if BX_CRT_NONE - return memMoveRef(_dst, _src, _numBytes); -#else - return ::memmove(_dst, _src, _numBytes); -#endif // BX_CRT_NONE - } - - void* memSetRef(void* _dst, uint8_t _ch, size_t _numBytes) - { - uint8_t* dst = (uint8_t*)_dst; - const uint8_t* end = dst + _numBytes; - while (dst != end) - { - *dst++ = char(_ch); - } - - return _dst; - } - - void* memSet(void* _dst, uint8_t _ch, size_t _numBytes) - { -#if BX_CRT_NONE - return memSetRef(_dst, _ch, _numBytes); -#else - return ::memset(_dst, _ch, _numBytes); -#endif // BX_CRT_NONE - } - - namespace - { - struct Param - { - int32_t width; - uint32_t base; - uint32_t prec; - char fill; - bool left; - }; - - static int32_t write(WriterI* _writer, const char* _str, int32_t _len, const Param& _param, Error* _err) - { - int32_t size = 0; - int32_t len = (int32_t)strnlen(_str, _len); - int32_t padding = _param.width > len ? _param.width - len : 0; - - if (!_param.left) - { - size += writeRep(_writer, _param.fill, padding, _err); - } - - size += write(_writer, _str, len, _err); - - if (_param.left) - { - size += writeRep(_writer, _param.fill, padding, _err); - } - - return size; - } - - static int32_t write(WriterI* _writer, const char* _str, const Param& _param, Error* _err) - { - return write(_writer, _str, INT32_MAX, _param, _err); - } - - static int32_t write(WriterI* _writer, int32_t _i, const Param& _param, Error* _err) - { - char str[33]; - int32_t len = toString(str, sizeof(str), _i, _param.base); - - if (len == 0) - { - return 0; - } - - return write(_writer, str, len, _param, _err); - } - - static int32_t write(WriterI* _writer, uint32_t _i, const Param& _param, Error* _err) - { - char str[33]; - int32_t len = toString(str, sizeof(str), _i, _param.base); - - if (len == 0) - { - return 0; - } - - return write(_writer, str, len, _param, _err); - } - - static int32_t write(WriterI* _writer, double _d, const Param& _param, Error* _err) - { - char str[1024]; - int32_t len = toString(str, sizeof(str), _d); - - if (len == 0) - { - return 0; - } - - const char* dot = strnchr(str, '.'); - const int32_t precLen = int32_t(dot + 1 + _param.prec - str); - if (precLen > len) - { - for (int32_t ii = len; ii < precLen; ++ii) - { - str[ii] = '0'; - } - str[precLen] = '\0'; - } - len = precLen; - - return write(_writer, str, len, _param, _err); - } - - static int32_t write(WriterI* _writer, const void* _ptr, const Param& _param, Error* _err) - { - char str[35] = "0x"; - int32_t len = toString(str + 2, sizeof(str) - 2, uint32_t(uintptr_t(_ptr) ), 16); - - if (len == 0) - { - return 0; - } - - len += 2; - return write(_writer, str, len, _param, _err); - } - } // anonymous namespace - - int32_t write(WriterI* _writer, const char* _format, va_list _argList, Error* _err) - { - MemoryReader reader(_format, strnlen(_format) ); - - int32_t size = 0; - - while (_err->isOk() ) - { - char ch = '\0'; - read(&reader, ch, _err); - - if (!_err->isOk() ) - { - break; - } - else if ('%' == ch) - { - // %[ -0][][.] - read(&reader, ch); - - Param param; - param.base = 10; - param.prec = 6; - param.left = false; - param.fill = ' '; - param.width = 0; - - while (' ' == ch - || '-' == ch - || '0' == ch) - { - switch (ch) - { - case '-': param.left = true; break; - case ' ': param.fill = ' '; break; - case '0': param.fill = '0'; break; - } - - if (param.left) - { - param.fill = ' '; - } - - read(&reader, ch); - } - - if ('*' == ch) - { - read(&reader, ch); - param.width = va_arg(_argList, int32_t); - - if (0 > param.width) - { - param.left = true; - param.width = -param.width; - } - - } - else - { - while (isNumeric(ch) ) - { - param.width = param.width * 10 + ch - '0'; - read(&reader, ch); - } - } - - if ('.' == ch) - { - read(&reader, ch); - - if ('*' == ch) - { - read(&reader, ch); - param.prec = va_arg(_argList, int32_t); - } - else - { - param.prec = 0; - while (isNumeric(ch) ) - { - param.prec = param.prec * 10 + ch - '0'; - read(&reader, ch); - } - } - } - - switch (toLower(ch) ) - { - case 'c': - size += write(_writer, char(va_arg(_argList, int32_t) ), _err); - break; - - case 's': - size += write(_writer, va_arg(_argList, const char*), param, _err); - break; - - case 'd': - param.base = 10; - size += write(_writer, va_arg(_argList, int32_t), param, _err); - break; - - case 'f': - size += write(_writer, va_arg(_argList, double), param, _err); - break; - - case 'p': - size += write(_writer, va_arg(_argList, void*), param, _err); - break; - - case 'x': - param.base = 16; - size += write(_writer, va_arg(_argList, uint32_t), param, _err); - break; - - case 'u': - param.base = 10; - size += write(_writer, va_arg(_argList, uint32_t), param, _err); - break; - - default: - size += write(_writer, ch, _err); - break; - } - } - else - { - size += write(_writer, ch, _err); - } - } - - size += write(_writer, '\0', _err); - - return size; - } - - int32_t write(WriterI* _writer, Error* _err, const char* _format, ...) - { - va_list argList; - va_start(argList, _format); - int32_t size = write(_writer, _format, argList, _err); - va_end(argList); - return size; - } - -} // namespace bx diff --git a/3rdparty/bx/src/crtimpl.cpp b/3rdparty/bx/src/crtimpl.cpp index 7adb74bb8ee..064b9f6e3ad 100644 --- a/3rdparty/bx/src/crtimpl.cpp +++ b/3rdparty/bx/src/crtimpl.cpp @@ -4,6 +4,7 @@ */ #include +#include #if BX_CONFIG_ALLOCATOR_CRT # include diff --git a/3rdparty/bx/src/crtnone.cpp b/3rdparty/bx/src/crtnone.cpp new file mode 100644 index 00000000000..0e88551b6f3 --- /dev/null +++ b/3rdparty/bx/src/crtnone.cpp @@ -0,0 +1,590 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include +#include +#include + +#if BX_CRT_NONE + +extern "C" void* memcpy(void* _dst, const void* _src, size_t _numBytes) +{ + bx::memCopy(_dst, _src, _numBytes); + return _dst; +} + +extern "C" void* memmove(void* _dst, const void* _src, size_t _numBytes) +{ + bx::memMove(_dst, _src, _numBytes); + return _dst; +} + +extern "C" void* memset(void* _dst, int _ch, size_t _numBytes) +{ + bx::memSet(_dst, uint8_t(_ch), _numBytes); + return _dst; +} + +#if !BX_PLATFORM_NONE + +typedef int64_t off64_t; +typedef int32_t pid_t; + +extern "C" int32_t memcmp(const void* _lhs, const void* _rhs, size_t _numBytes) +{ + return bx::memCmp(_lhs, _rhs, _numBytes); +} + +extern "C" size_t strlen(const char* _str) +{ + return bx::strnlen(_str); +} + +extern "C" size_t strnlen(const char* _str, size_t _max) +{ + return bx::strnlen(_str, _max); +} + +extern "C" void* strcpy(char* _dst, const char* _src) +{ + bx::strlncpy(_dst, INT32_MAX, _src, INT32_MAX); + return _dst; +} + +extern "C" void* strncpy(char* _dst, const char* _src, size_t _num) +{ + bx::strlncpy(_dst, INT32_MAX, _src, _num); + return _dst; +} + +extern "C" char* strcat(char* _dst, const char* _src) +{ + bx::strlncat(_dst, INT32_MAX, _src, INT32_MAX); + return _dst; +} + +extern "C" const char* strchr(const char* _str, int _ch) +{ + return bx::strnchr(_str, _ch); +} + +extern "C" int32_t strcmp(const char* _lhs, const char* _rhs) +{ + return bx::strncmp(_lhs, _rhs); +} + +extern "C" int32_t strncmp(const char* _lhs, const char* _rhs, size_t _max) +{ + return bx::strncmp(_lhs, _rhs, _max); +} + +extern "C" const char* strstr(const char* _str, const char* _find) +{ + return bx::strnstr(_str, _find); +} + +extern "C" void qsort(void* _base, size_t _num, size_t _size, bx::ComparisonFn _fn) +{ + BX_CHECK(_num <= UINT32_MAX && _size <= UINT32_MAX, ""); + return bx::quickSort(_base, _num, _size, _fn); +} + +extern "C" int isprint(int _ch) +{ + return bx::isPrint(_ch); +} + +extern "C" int toupper (int _ch) +{ + return bx::toUpper(_ch); +} + +extern "C" size_t mbstowcs(wchar_t* _dst, const char* _src, size_t _max) +{ + BX_UNUSED(_dst, _src, _max); + return 0; +} + +extern "C" char* strdup(const char* _src) +{ + BX_UNUSED(_src); + return NULL; +} + +extern "C" long int strtol(const char* _str, char** _end, int _base) +{ + BX_UNUSED(_str, _end, _base); + return -1; +} + +extern "C" int abs(int _value) +{ + return _value >= 0 ? _value : -_value; +} + +extern "C" float fabsf(float _value) +{ + return _value >= 0.0f ? _value : -_value; +} + +extern "C" double fabs(double _value) +{ + return _value >= 0.0 ? _value : -_value; +} + +extern "C" double ldexp(double _x, int _exp) +{ + BX_UNUSED(_x, _exp); + return 0.0; +} + +extern "C" float expf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float logf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float log10f(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float powf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" double pow(double _x) +{ + BX_UNUSED(_x); + return 0.0; +} + +extern "C" float sinf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float cosf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float tanf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float atan2f(float _y, float _x) +{ + BX_UNUSED(_y, _x); + return 0.0f; +} + +extern "C" float sqrtf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" double sqrt(double _x) +{ + BX_UNUSED(_x); + return 0.0; +} + +extern "C" float ceilf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" double ceil(double _x) +{ + BX_UNUSED(_x); + return 0.0; +} + +extern "C" float floorf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" double floor(double _x) +{ + BX_UNUSED(_x); + return 0.0; +} + +extern "C" float acosf(float _x) +{ + BX_UNUSED(_x); + return 0.0f; +} + +extern "C" float fmodf(float _numer, float _denom) +{ + BX_UNUSED(_numer, _denom); + return 0.0f; +} + +extern "C" int atoi(const char* _str) +{ + BX_UNUSED(_str); + return 0; +} + +extern "C" double atof(const char* _str) +{ + BX_UNUSED(_str); + return 0.0; +} + +extern "C" struct DIR* opendir(const char* dirname) +{ + BX_UNUSED(dirname); + return NULL; +} + +extern "C" struct dirent* readdir(struct DIR* dirp) +{ + BX_UNUSED(dirp); + return NULL; +} + +extern "C" int closedir (struct DIR* dirp) +{ + BX_UNUSED(dirp); + return 0; +} + +extern "C" int vsnprintf(char* _out, size_t _max, const char* _format, va_list _argList) +{ + return bx::vsnprintf(_out, _max, _format, _argList); +} + +extern "C" int sprintf(char* _out, const char* _format, ...) +{ + va_list argList; + va_start(argList, _format); + int32_t len = bx::vsnprintf(_out, INT32_MAX, _format, argList); + va_end(argList); + return len; +} + +extern "C" int snprintf(char* _out, size_t _max, const char* _format, ...) +{ + va_list argList; + va_start(argList, _format); + int32_t len = bx::vsnprintf(_out, _max, _format, argList); + va_end(argList); + return len; +} + +extern "C" int printf(const char* _format, ...) +{ + BX_UNUSED(_format); + return -1; +} + +extern "C" int fprintf(FILE* _stream, const char* _format, ...) +{ + BX_UNUSED(_stream, _format); + return -1; +} + +extern "C" int vfprintf(FILE* _stream, const char* _format, va_list _argList) +{ + BX_UNUSED(_stream, _format, _argList); + return -1; +} + +extern "C" int sscanf(const char* _str, const char* _format, ...) +{ + BX_UNUSED(_str, _format); + return -1; +} + +extern "C" int fscanf(FILE* _stream, const char* _format, ...) +{ + BX_UNUSED(_stream, _format); + return -1; +} + +FILE * stdout; + +extern "C" FILE* fopen(const char* _filename, const char* _mode) +{ + BX_UNUSED(_filename, _mode); + return NULL; +} + +extern "C" int fclose(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" size_t fread(void* _ptr, size_t _size, size_t _count, FILE* _stream) +{ + BX_UNUSED(_ptr, _size, _count, _stream); + return -1; +} + +extern "C" size_t fwrite(const void* _ptr, size_t _size, size_t _count, FILE* _stream) +{ + BX_UNUSED(_ptr, _size, _count, _stream); + return -1; +} + +extern "C" int fseek(FILE* _stream, long int _offset, int _origin) +{ + BX_UNUSED(_stream, _offset, _origin); + return -1; +} + +extern "C" int fseeko64(FILE* _stream, off64_t _offset, int _whence) +{ + BX_UNUSED(_stream, _offset, _whence); + return -1; +} + +extern "C" long int ftell(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" off64_t ftello64(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" int feof(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" int ferror(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" FILE* popen(const char* _command, const char* _type) +{ + BX_UNUSED(_command, _type); + return NULL; +} + +extern "C" int pclose(FILE* _stream) +{ + BX_UNUSED(_stream); + return -1; +} + +extern "C" int execvp(const char* _file, char* const _argv[]) +{ + BX_UNUSED(_file, _argv); + return -1; +} + +extern "C" long syscall(long _num, ...) +{ + BX_UNUSED(_num); + return -1; +} + +extern "C" long sysconf(int name) +{ + BX_UNUSED(name); + return -1; +} + +extern "C" pid_t fork() +{ + return -1; +} + +extern "C" int sched_yield() +{ + return -1; +} + +extern "C" int prctl(int _option, unsigned long _arg2, unsigned long _arg3, unsigned long _arg4, unsigned long _arg5) +{ + BX_UNUSED(_option, _arg2, _arg3, _arg4, _arg5); + return -1; +} + +extern "C" int chdir(const char* _path) +{ + BX_UNUSED(_path); + return -1; +} + +extern "C" char* getcwd(char* _buf, size_t _size) +{ + BX_UNUSED(_buf, _size); + return NULL; +} + +extern "C" char* getenv(const char* _name) +{ + BX_UNUSED(_name); + return NULL; +} + +extern "C" int setenv(const char* _name, const char* _value, int _overwrite) +{ + BX_UNUSED(_name, _value, _overwrite); + return -1; +} + +extern "C" int unsetenv(const char* _name) +{ + BX_UNUSED(_name); + return -1; +} + +extern "C" time_t time(time_t* _arg) +{ + BX_UNUSED(_arg); + return -1; +} + +extern "C" int gettimeofday(struct timeval* _tv, struct timezone* _tz) +{ + BX_UNUSED(_tv, _tz); + return -1; +} + +extern "C" void* realloc(void* _ptr, size_t _size) +{ + BX_UNUSED(_ptr, _size); + return NULL; +} + +extern "C" void* malloc(size_t _size) +{ + return ::realloc(NULL, _size); +} + +extern "C" void free(void* _ptr) +{ + BX_UNUSED(_ptr); +} + +#endif // BX_PLATFORM_* + +extern "C" void abort() +{ + while (true) {}; +} + +extern "C" void __assert_fail(const char* _assertion, const char* _file, uint32_t _line, const char* _function) +{ + BX_UNUSED(_assertion, _file, _line, _function); + abort(); +} + +void* __dso_handle = (void*)&__dso_handle; + +void operator delete(void*) +{ +} + +extern "C" void __cxa_pure_virtual() +{ +} + +extern "C" int __cxa_atexit(void (*_dtorFn)(void*), void* _arg, void* _dsoHandle) +{ + BX_UNUSED(_dtorFn, _arg, _dsoHandle); + return 0; +} + +extern "C" void __gxx_personality_v0() +{ +} + +extern "C" void _Unwind_Resume(void*) +{ +} + +extern "C" int __gcc_personality_v0(int _version, ...) +{ + BX_UNUSED(_version); + return 0; +} + +namespace __cxxabiv1 +{ + class __class_type_info + { + public: + virtual ~__class_type_info(); + + const char* m_name; + }; + + __class_type_info::~__class_type_info() + { + } + + class __si_class_type_info : public __class_type_info + { + public: + virtual ~__si_class_type_info(); + }; + + __si_class_type_info::~__si_class_type_info() + { + } + + class __vmi_class_type_info : public __class_type_info + { + public: + virtual ~__vmi_class_type_info(); + }; + + __vmi_class_type_info::~__vmi_class_type_info() + { + } + + __extension__ typedef int __guard __attribute__( (mode(__DI__) ) ); + + extern "C" int __cxa_guard_acquire (__guard* _g) + { + return !*(char*)(_g); + } + + extern "C" void __cxa_guard_release (__guard* _g) + { + *(char*)_g = 1; + } + + extern "C" void __cxa_guard_abort (__guard* _g) + { + BX_UNUSED(_g); + } + +} // namespace __cxxabiv1 + +#endif // BX_CRT_NONE diff --git a/3rdparty/bx/src/debug.cpp b/3rdparty/bx/src/debug.cpp index 550eef6e5f6..5e52be86e88 100644 --- a/3rdparty/bx/src/debug.cpp +++ b/3rdparty/bx/src/debug.cpp @@ -60,9 +60,11 @@ namespace bx # endif // defined(__OBJC__) #elif 0 // BX_PLATFORM_EMSCRIPTEN emscripten_log(EM_LOG_CONSOLE, "%s", _out); -#else +#elif !BX_CRT_NONE fputs(_out, stdout); fflush(stdout); +#else + BX_UNUSED(_out); #endif // BX_PLATFORM_ } diff --git a/3rdparty/bx/src/dtoa.cpp b/3rdparty/bx/src/dtoa.cpp index 05ac387fec2..98640ede20b 100644 --- a/3rdparty/bx/src/dtoa.cpp +++ b/3rdparty/bx/src/dtoa.cpp @@ -8,6 +8,8 @@ #include #include +#include + namespace bx { // https://github.com/miloyip/dtoa-benchmark @@ -384,7 +386,7 @@ namespace bx if (0 < kk && kk <= 21) { // 1234e-2 -> 12.34 - memmove(&buffer[kk + 1], &buffer[kk], length - kk); + memMove(&buffer[kk + 1], &buffer[kk], length - kk); buffer[kk] = '.'; buffer[length + 1] = '\0'; return length + 1; @@ -394,7 +396,7 @@ namespace bx { // 1234e-6 -> 0.001234 const int32_t offset = 2 - kk; - memmove(&buffer[offset], &buffer[0], length); + memMove(&buffer[offset], &buffer[0], length); buffer[0] = '0'; buffer[1] = '.'; for (int32_t i = 2; i < offset; i++) @@ -415,56 +417,57 @@ namespace bx } // 1234e30 -> 1.234e33 - memmove(&buffer[2], &buffer[1], length - 1); + memMove(&buffer[2], &buffer[1], length - 1); buffer[1] = '.'; buffer[length + 1] = 'e'; int32_t exp = WriteExponent(kk - 1, &buffer[length + 2]); return length + 2 + exp; } - int32_t toString(char* _dst, size_t _max, double value) + int32_t toString(char* _dst, int32_t _max, double _value) { - if (isNan(value) ) + int32_t sign = 0 != (doubleToBits(_value) & (UINT64_C(1)<<63) ) ? 1 : 0; + if (1 == sign) { - return (int32_t)strlncpy(_dst, _max, "NaN"); + *_dst++ = '-'; + --_max; + _value = -_value; } - else if (isInfinite(value) ) + + if (isNan(_value) ) { - return (int32_t)strlncpy(_dst, _max, "Inf"); + return (int32_t)strlncpy(_dst, _max, "nan") + sign; } - - int32_t sign = 0.0 > value ? 1 : 0; - if (1 == sign) + else if (isInfinite(_value) ) { - *_dst++ = '-'; - --_max; - value = -value; + return (int32_t)strlncpy(_dst, _max, "inf") + sign; } int32_t len; - if (0.0 == value) + if (0.0 == _value) { len = (int32_t)strlncpy(_dst, _max, "0.0"); } else { int32_t kk; - Grisu2(value, _dst, &len, &kk); + Grisu2(_value, _dst, &len, &kk); len = Prettify(_dst, len, kk); } return len + sign; } - static void reverse(char* _dst, size_t _len) + static void reverse(char* _dst, int32_t _len) { - for (size_t ii = 0, jj = _len - 1; ii < jj; ++ii, --jj) + for (int32_t ii = 0, jj = _len - 1; ii < jj; ++ii, --jj) { xchg(_dst[ii], _dst[jj]); } } - int32_t toString(char* _dst, size_t _max, int32_t _value, uint32_t _base) + template + int32_t toStringSigned(char* _dst, int32_t _max, Ty _value, uint32_t _base) { if (_base == 10 && _value < 0) @@ -474,7 +477,11 @@ namespace bx return 0; } - _max = toString(_dst + 1, _max - 1, uint32_t(-_value), _base); + _max = toString(_dst + 1 + , _max - 1 + , typename std::make_unsigned::type(-_value) + , _base + ); if (_max == 0) { return 0; @@ -484,13 +491,28 @@ namespace bx return int32_t(_max + 1); } - return toString(_dst, _max, uint32_t(_value), _base); + return toString(_dst + , _max + , typename std::make_unsigned::type(_value) + , _base + ); } - int32_t toString(char* _dst, size_t _max, uint32_t _value, uint32_t _base) + int32_t toString(char* _dst, int32_t _max, int32_t _value, uint32_t _base) + { + return toStringSigned(_dst, _max, _value, _base); + } + + int32_t toString(char* _dst, int32_t _max, int64_t _value, uint32_t _base) + { + return toStringSigned(_dst, _max, _value, _base); + } + + template + int32_t toStringUnsigned(char* _dst, int32_t _max, Ty _value, uint32_t _base) { char data[32]; - size_t len = 0; + int32_t len = 0; if (_base > 16 || _base < 2) @@ -500,7 +522,7 @@ namespace bx do { - const uint32_t rem = _value % _base; + const Ty rem = _value % _base; _value /= _base; if (rem < 10) { @@ -520,9 +542,19 @@ namespace bx reverse(data, len); - memcpy(_dst, data, len); + memCopy(_dst, data, len); _dst[len] = '\0'; return int32_t(len); } + int32_t toString(char* _dst, int32_t _max, uint32_t _value, uint32_t _base) + { + return toStringUnsigned(_dst, _max, _value, _base); + } + + int32_t toString(char* _dst, int32_t _max, uint64_t _value, uint32_t _base) + { + return toStringUnsigned(_dst, _max, _value, _base); + } + } // namespace bx diff --git a/3rdparty/bx/src/fpumath.cpp b/3rdparty/bx/src/fpumath.cpp index da463e08767..e957ef9e960 100644 --- a/3rdparty/bx/src/fpumath.cpp +++ b/3rdparty/bx/src/fpumath.cpp @@ -4,6 +4,7 @@ */ #include +#include namespace bx { @@ -17,7 +18,72 @@ namespace bx const float huge = HUGE_VALF; #endif // BX_COMPILER_MSVC - void mtx3Inverse(float* __restrict _result, const float* __restrict _a) + float fabsolute(float _a) + { + return ::fabsf(_a); + } + + float fsin(float _a) + { + return ::sinf(_a); + } + + float fasin(float _a) + { + return ::asinf(_a); + } + + float fcos(float _a) + { + return ::cosf(_a); + } + + float ftan(float _a) + { + return ::tanf(_a); + } + + float facos(float _a) + { + return ::acosf(_a); + } + + float fatan2(float _y, float _x) + { + return ::atan2f(_y, _x); + } + + float fpow(float _a, float _b) + { + return ::powf(_a, _b); + } + + float flog(float _a) + { + return ::logf(_a); + } + + float fsqrt(float _a) + { + return ::sqrtf(_a); + } + + float ffloor(float _f) + { + return ::floorf(_f); + } + + float fceil(float _f) + { + return ::ceilf(_f); + } + + float fmod(float _a, float _b) + { + return ::fmodf(_a, _b); + } + + void mtx3Inverse(float* _result, const float* _a) { float xx = _a[0]; float xy = _a[1]; @@ -49,7 +115,7 @@ namespace bx _result[8] = +(xx*yy - xy*yx) * invDet; } - void mtxInverse(float* __restrict _result, const float* __restrict _a) + void mtxInverse(float* _result, const float* _a) { float xx = _a[ 0]; float xy = _a[ 1]; diff --git a/3rdparty/bx/src/mutex.cpp b/3rdparty/bx/src/mutex.cpp index 00e517684e2..988084bbf0b 100644 --- a/3rdparty/bx/src/mutex.cpp +++ b/3rdparty/bx/src/mutex.cpp @@ -7,17 +7,19 @@ #if BX_CONFIG_SUPPORTS_THREADING -#if 0 \ - || BX_PLATFORM_ANDROID \ - || BX_PLATFORM_LINUX \ - || BX_PLATFORM_NACL \ - || BX_PLATFORM_IOS \ - || BX_PLATFORM_OSX +#if BX_PLATFORM_ANDROID \ + || BX_PLATFORM_LINUX \ + || BX_PLATFORM_NACL \ + || BX_PLATFORM_IOS \ + || BX_PLATFORM_OSX \ + || BX_PLATFORM_PS4 \ + || BX_PLATFORM_RPI # include -#elif 0 \ - || BX_PLATFORM_WINDOWS \ - || BX_PLATFORM_WINRT \ - || BX_PLATFORM_XBOX360 +#elif BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE +# include # include #endif // BX_PLATFORM_ @@ -50,7 +52,7 @@ namespace bx InitializeCriticalSectionEx(_mutex, 4000, 0); // docs recommend 4000 spincount as sane default #else InitializeCriticalSection(_mutex); -#endif +#endif // BX_PLATFORM_ return 0; } @@ -63,28 +65,36 @@ namespace bx Mutex::Mutex() { + BX_STATIC_ASSERT(sizeof(pthread_mutex_t) <= sizeof(m_internal) ); + pthread_mutexattr_t attr; + #if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT #else pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); -#endif // BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_WINRT - pthread_mutex_init(&m_handle, &attr); +#endif // BX_PLATFORM_ + + pthread_mutex_t* handle = (pthread_mutex_t*)m_internal; + pthread_mutex_init(handle, &attr); } Mutex::~Mutex() { - pthread_mutex_destroy(&m_handle); + pthread_mutex_t* handle = (pthread_mutex_t*)m_internal; + pthread_mutex_destroy(handle); } void Mutex::lock() { - pthread_mutex_lock(&m_handle); + pthread_mutex_t* handle = (pthread_mutex_t*)m_internal; + pthread_mutex_lock(handle); } void Mutex::unlock() { - pthread_mutex_unlock(&m_handle); + pthread_mutex_t* handle = (pthread_mutex_t*)m_internal; + pthread_mutex_unlock(handle); } } // namespace bx diff --git a/3rdparty/bx/src/os.cpp b/3rdparty/bx/src/os.cpp index 5f1d45945b7..0c7e9dc9a8e 100644 --- a/3rdparty/bx/src/os.cpp +++ b/3rdparty/bx/src/os.cpp @@ -7,7 +7,10 @@ #include #include +#if !BX_PLATFORM_NONE + #include +#include #if BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT # include @@ -237,7 +240,7 @@ namespace bx result = len != 0 && len < *_inOutSize; if (len < *_inOutSize) { - strcpy(_out, ptr); + strlncpy(_out, len, ptr); } } @@ -406,11 +409,11 @@ namespace bx return (void*)uintptr_t(pid); #elif BX_PLATFORM_WINDOWS STARTUPINFO si; - memset(&si, 0, sizeof(STARTUPINFO) ); + memSet(&si, 0, sizeof(STARTUPINFO) ); si.cb = sizeof(STARTUPINFO); PROCESS_INFORMATION pi; - memset(&pi, 0, sizeof(PROCESS_INFORMATION) ); + memSet(&pi, 0, sizeof(PROCESS_INFORMATION) ); int32_t total = 0; for (uint32_t ii = 0; NULL != _argv[ii]; ++ii) @@ -452,3 +455,5 @@ namespace bx } } // namespace bx + +#endif // !BX_PLATFORM_NONE diff --git a/3rdparty/bx/src/sem.cpp b/3rdparty/bx/src/sem.cpp deleted file mode 100644 index 2d3ca1574f8..00000000000 --- a/3rdparty/bx/src/sem.cpp +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright 2010-2017 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx#license-bsd-2-clause - */ - -#include - -#if BX_CONFIG_SUPPORTS_THREADING - -#if BX_PLATFORM_POSIX -# include -# include -# include -# include -#elif BX_PLATFORM_XBOXONE -# include -#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT -# include -# include -#endif // BX_PLATFORM_ - -namespace bx -{ -#if BX_PLATFORM_POSIX - -# if BX_CONFIG_SEMAPHORE_PTHREAD - Semaphore::Semaphore() - : m_count(0) - { - int result; - result = pthread_mutex_init(&m_mutex, NULL); - BX_CHECK(0 == result, "pthread_mutex_init %d", result); - - result = pthread_cond_init(&m_cond, NULL); - BX_CHECK(0 == result, "pthread_cond_init %d", result); - - BX_UNUSED(result); - } - - Semaphore::~Semaphore() - { - int result; - result = pthread_cond_destroy(&m_cond); - BX_CHECK(0 == result, "pthread_cond_destroy %d", result); - - result = pthread_mutex_destroy(&m_mutex); - BX_CHECK(0 == result, "pthread_mutex_destroy %d", result); - - BX_UNUSED(result); - } - - void Semaphore::post(uint32_t _count) - { - int result = pthread_mutex_lock(&m_mutex); - BX_CHECK(0 == result, "pthread_mutex_lock %d", result); - - for (uint32_t ii = 0; ii < _count; ++ii) - { - result = pthread_cond_signal(&m_cond); - BX_CHECK(0 == result, "pthread_cond_signal %d", result); - } - - m_count += _count; - - result = pthread_mutex_unlock(&m_mutex); - BX_CHECK(0 == result, "pthread_mutex_unlock %d", result); - - BX_UNUSED(result); - } - - bool Semaphore::wait(int32_t _msecs) - { - int result = pthread_mutex_lock(&m_mutex); - BX_CHECK(0 == result, "pthread_mutex_lock %d", result); - -# if BX_PLATFORM_NACL || BX_PLATFORM_OSX - BX_UNUSED(_msecs); - BX_CHECK(-1 == _msecs, "NaCl and OSX don't support pthread_cond_timedwait at this moment."); - while (0 == result - && 0 >= m_count) - { - result = pthread_cond_wait(&m_cond, &m_mutex); - } -# elif BX_PLATFORM_IOS - if (-1 == _msecs) - { - while (0 == result - && 0 >= m_count) - { - result = pthread_cond_wait(&m_cond, &m_mutex); - } - } - else - { - timespec ts; - ts.tv_sec = _msecs/1000; - ts.tv_nsec = (_msecs%1000)*1000; - - while (0 == result - && 0 >= m_count) - { - result = pthread_cond_timedwait_relative_np(&m_cond, &m_mutex, &ts); - } - } -# else - timespec ts; - clock_gettime(CLOCK_REALTIME, &ts); - ts.tv_sec += _msecs/1000; - ts.tv_nsec += (_msecs%1000)*1000; - - while (0 == result - && 0 >= m_count) - { - result = pthread_cond_timedwait(&m_cond, &m_mutex, &ts); - } -# endif // BX_PLATFORM_NACL || BX_PLATFORM_OSX - bool ok = 0 == result; - - if (ok) - { - --m_count; - } - - result = pthread_mutex_unlock(&m_mutex); - BX_CHECK(0 == result, "pthread_mutex_unlock %d", result); - - BX_UNUSED(result); - - return ok; - } - -# else - - Semaphore::Semaphore() - { - int32_t result = sem_init(&m_handle, 0, 0); - BX_CHECK(0 == result, "sem_init failed. errno %d", errno); - BX_UNUSED(result); - } - - Semaphore::~Semaphore() - { - int32_t result = sem_destroy(&m_handle); - BX_CHECK(0 == result, "sem_destroy failed. errno %d", errno); - BX_UNUSED(result); - } - - void Semaphore::post(uint32_t _count) - { - int32_t result; - for (uint32_t ii = 0; ii < _count; ++ii) - { - result = sem_post(&m_handle); - BX_CHECK(0 == result, "sem_post failed. errno %d", errno); - } - BX_UNUSED(result); - } - - bool Semaphore::wait(int32_t _msecs) - { -# if BX_PLATFORM_NACL || BX_PLATFORM_OSX - BX_CHECK(-1 == _msecs, "NaCl and OSX don't support sem_timedwait at this moment."); BX_UNUSED(_msecs); - return 0 == sem_wait(&m_handle); -# else - if (0 > _msecs) - { - int32_t result; - do - { - result = sem_wait(&m_handle); - } // keep waiting when interrupted by a signal handler... - while (-1 == result && EINTR == errno); - BX_CHECK(0 == result, "sem_wait failed. errno %d", errno); - return 0 == result; - } - - timespec ts; - clock_gettime(CLOCK_REALTIME, &ts); - ts.tv_sec += _msecs/1000; - ts.tv_nsec += (_msecs%1000)*1000; - return 0 == sem_timedwait(&m_handle, &ts); -# endif // BX_PLATFORM_ - } -# endif // BX_CONFIG_SEMAPHORE_PTHREAD - -#elif BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINDOWS || BX_PLATFORM_WINRT - - Semaphore::Semaphore() - { -#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - m_handle = CreateSemaphoreExW(NULL, 0, LONG_MAX, NULL, 0, SEMAPHORE_ALL_ACCESS); -#else - m_handle = CreateSemaphoreA(NULL, 0, LONG_MAX, NULL); -#endif - BX_CHECK(NULL != m_handle, "Failed to create Semaphore!"); - } - - Semaphore::~Semaphore() - { - CloseHandle(m_handle); - } - - void Semaphore::post(uint32_t _count) - { - ReleaseSemaphore(m_handle, _count, NULL); - } - - bool Semaphore::wait(int32_t _msecs) - { - DWORD milliseconds = (0 > _msecs) ? INFINITE : _msecs; -#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - return WAIT_OBJECT_0 == WaitForSingleObjectEx(m_handle, milliseconds, FALSE); -#else - return WAIT_OBJECT_0 == WaitForSingleObject(m_handle, milliseconds); -#endif - } -#endif // BX_PLATFORM_ - -} // namespace bx - -#endif // BX_CONFIG_SUPPORTS_THREADING diff --git a/3rdparty/bx/src/semaphore.cpp b/3rdparty/bx/src/semaphore.cpp new file mode 100644 index 00000000000..b4369ff0ce6 --- /dev/null +++ b/3rdparty/bx/src/semaphore.cpp @@ -0,0 +1,282 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include + +#if BX_CONFIG_SUPPORTS_THREADING + +#if BX_PLATFORM_POSIX +# include +# include +# include +# include +#elif BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE +# include +# include +# if BX_PLATFORM_XBOXONE +# include +# endif // BX_PLATFORM_XBOXONE +#endif // BX_PLATFORM_ + +#ifndef BX_CONFIG_SEMAPHORE_PTHREAD +# define BX_CONFIG_SEMAPHORE_PTHREAD (0 \ + || BX_PLATFORM_OSX \ + || BX_PLATFORM_IOS \ + ) +#endif // BX_CONFIG_SEMAPHORE_PTHREAD + +namespace bx +{ + struct SemaphoreInternal + { +#if BX_PLATFORM_POSIX +# if BX_CONFIG_SEMAPHORE_PTHREAD + pthread_mutex_t m_mutex; + pthread_cond_t m_cond; + int32_t m_count; +# else + sem_t m_handle; +# endif // BX_CONFIG_SEMAPHORE_PTHREAD +#elif BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE + HANDLE m_handle; +#endif // BX_PLATFORM_ + }; + +#if BX_PLATFORM_POSIX + +# if BX_CONFIG_SEMAPHORE_PTHREAD + Semaphore::Semaphore() + { + BX_STATIC_ASSERT(sizeof(SemaphoreInternal) <= sizeof(m_internal) ); + + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + si->m_count = 0; + + int result; + + result = pthread_mutex_init(&si->m_mutex, NULL); + BX_CHECK(0 == result, "pthread_mutex_init %d", result); + + result = pthread_cond_init(&si->m_cond, NULL); + BX_CHECK(0 == result, "pthread_cond_init %d", result); + + BX_UNUSED(result); + } + + Semaphore::~Semaphore() + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int result; + result = pthread_cond_destroy(&si->m_cond); + BX_CHECK(0 == result, "pthread_cond_destroy %d", result); + + result = pthread_mutex_destroy(&si->m_mutex); + BX_CHECK(0 == result, "pthread_mutex_destroy %d", result); + + BX_UNUSED(result); + } + + void Semaphore::post(uint32_t _count) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int result = pthread_mutex_lock(&si->m_mutex); + BX_CHECK(0 == result, "pthread_mutex_lock %d", result); + + for (uint32_t ii = 0; ii < _count; ++ii) + { + result = pthread_cond_signal(&si->m_cond); + BX_CHECK(0 == result, "pthread_cond_signal %d", result); + } + + si->m_count += _count; + + result = pthread_mutex_unlock(&si->m_mutex); + BX_CHECK(0 == result, "pthread_mutex_unlock %d", result); + + BX_UNUSED(result); + } + + bool Semaphore::wait(int32_t _msecs) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int result = pthread_mutex_lock(&si->m_mutex); + BX_CHECK(0 == result, "pthread_mutex_lock %d", result); + +# if BX_PLATFORM_NACL || BX_PLATFORM_OSX + BX_UNUSED(_msecs); + BX_CHECK(-1 == _msecs, "NaCl and OSX don't support pthread_cond_timedwait at this moment."); + while (0 == result + && 0 >= si->m_count) + { + result = pthread_cond_wait(&si->m_cond, &si->m_mutex); + } +# elif BX_PLATFORM_IOS + if (-1 == _msecs) + { + while (0 == result + && 0 >= si->m_count) + { + result = pthread_cond_wait(&si->m_cond, &si->m_mutex); + } + } + else + { + timespec ts; + ts.tv_sec = _msecs/1000; + ts.tv_nsec = (_msecs%1000)*1000; + + while (0 == result + && 0 >= si->m_count) + { + result = pthread_cond_timedwait_relative_np(&si->m_cond, &si->m_mutex, &ts); + } + } +# else + timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); + ts.tv_sec += _msecs/1000; + ts.tv_nsec += (_msecs%1000)*1000; + + while (0 == result + && 0 >= si->m_count) + { + result = pthread_cond_timedwait(&si->m_cond, &si->m_mutex, &ts); + } +# endif // BX_PLATFORM_ + bool ok = 0 == result; + + if (ok) + { + --si->m_count; + } + + result = pthread_mutex_unlock(&si->m_mutex); + BX_CHECK(0 == result, "pthread_mutex_unlock %d", result); + + BX_UNUSED(result); + + return ok; + } + +# else + + Semaphore::Semaphore() + { + BX_STATIC_ASSERT(sizeof(SemaphoreInternal) <= sizeof(m_internal) ); + + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int32_t result = sem_init(&si->m_handle, 0, 0); + BX_CHECK(0 == result, "sem_init failed. errno %d", errno); + BX_UNUSED(result); + } + + Semaphore::~Semaphore() + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int32_t result = sem_destroy(&si->m_handle); + BX_CHECK(0 == result, "sem_destroy failed. errno %d", errno); + BX_UNUSED(result); + } + + void Semaphore::post(uint32_t _count) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + int32_t result; + for (uint32_t ii = 0; ii < _count; ++ii) + { + result = sem_post(&si->m_handle); + BX_CHECK(0 == result, "sem_post failed. errno %d", errno); + } + BX_UNUSED(result); + } + + bool Semaphore::wait(int32_t _msecs) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + +# if BX_PLATFORM_NACL || BX_PLATFORM_OSX + BX_CHECK(-1 == _msecs, "NaCl and OSX don't support sem_timedwait at this moment."); BX_UNUSED(_msecs); + return 0 == sem_wait(&si->m_handle); +# else + if (0 > _msecs) + { + int32_t result; + do + { + result = sem_wait(&si->m_handle); + } // keep waiting when interrupted by a signal handler... + while (-1 == result && EINTR == errno); + BX_CHECK(0 == result, "sem_wait failed. errno %d", errno); + return 0 == result; + } + + timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); + ts.tv_sec += _msecs/1000; + ts.tv_nsec += (_msecs%1000)*1000; + return 0 == sem_timedwait(&si->m_handle, &ts); +# endif // BX_PLATFORM_ + } +# endif // BX_CONFIG_SEMAPHORE_PTHREAD + +#elif BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE + + Semaphore::Semaphore() + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + +#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + si->m_handle = CreateSemaphoreExW(NULL, 0, LONG_MAX, NULL, 0, SEMAPHORE_ALL_ACCESS); +#else + si->m_handle = CreateSemaphoreA(NULL, 0, LONG_MAX, NULL); +#endif + BX_CHECK(NULL != si->m_handle, "Failed to create Semaphore!"); + } + + Semaphore::~Semaphore() + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + CloseHandle(si->m_handle); + } + + void Semaphore::post(uint32_t _count) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + ReleaseSemaphore(si->m_handle, _count, NULL); + } + + bool Semaphore::wait(int32_t _msecs) + { + SemaphoreInternal* si = (SemaphoreInternal*)m_internal; + + DWORD milliseconds = (0 > _msecs) ? INFINITE : _msecs; +#if BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + return WAIT_OBJECT_0 == WaitForSingleObjectEx(si->m_handle, milliseconds, FALSE); +#else + return WAIT_OBJECT_0 == WaitForSingleObject(si->m_handle, milliseconds); +#endif + } +#endif // BX_PLATFORM_ + +} // namespace bx + +#endif // BX_CONFIG_SUPPORTS_THREADING diff --git a/3rdparty/bx/src/sort.cpp b/3rdparty/bx/src/sort.cpp new file mode 100644 index 00000000000..3b7485fe7fe --- /dev/null +++ b/3rdparty/bx/src/sort.cpp @@ -0,0 +1,55 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include + +namespace bx +{ + static void quickSortR(void* _pivot, void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) + { + if (2 > _num) + { + return; + } + + memCopy(_pivot, _data, _stride); + + uint8_t* data = (uint8_t*)_data; + + uint32_t ll = 0; + uint32_t gg = 1; + + for (uint32_t ii = 1; ii < _num;) + { + int32_t result = _fn(&data[ii*_stride], _pivot); + if (0 > result) + { + xchg(&data[ll*_stride], &data[ii*_stride], _stride); + ++ll; + } + else if (0 == result) + { + xchg(&data[gg*_stride], &data[ii*_stride], _stride); + ++gg; + ++ii; + } + else + { + ++ii; + } + } + + quickSortR(_pivot, &data[0 ], ll, _stride, _fn); + quickSortR(_pivot, &data[gg*_stride], _num-gg, _stride, _fn); + } + + void quickSort(void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) + { + uint8_t* pivot = (uint8_t*)alloca(_stride); + quickSortR(pivot, _data, _num, _stride, _fn); + } + +} // namespace bx + diff --git a/3rdparty/bx/src/string.cpp b/3rdparty/bx/src/string.cpp index c53a9de1155..dbb59e5090a 100644 --- a/3rdparty/bx/src/string.cpp +++ b/3rdparty/bx/src/string.cpp @@ -60,21 +60,57 @@ namespace bx return _ch + (isUpper(_ch) ? 0x20 : 0); } + void toLowerUnsafe(char* _inOutStr, int32_t _len) + { + for (int32_t ii = 0; ii < _len; ++ii) + { + *_inOutStr = toLower(*_inOutStr); + } + } + + void toLower(char* _inOutStr, int32_t _max) + { + const int32_t len = strnlen(_inOutStr, _max); + toLowerUnsafe(_inOutStr, len); + } + char toUpper(char _ch) { return _ch - (isLower(_ch) ? 0x20 : 0); } + void toUpperUnsafe(char* _inOutStr, int32_t _len) + { + for (int32_t ii = 0; ii < _len; ++ii) + { + *_inOutStr = toUpper(*_inOutStr); + } + } + + void toUpper(char* _inOutStr, int32_t _max) + { + const int32_t len = strnlen(_inOutStr, _max); + toUpperUnsafe(_inOutStr, len); + } + bool toBool(const char* _str) { char ch = toLower(_str[0]); return ch == 't' || ch == '1'; } - int32_t strncmp(const char* _lhs, const char* _rhs, size_t _max) + typedef char (*CharFn)(char _ch); + + inline char toNoop(char _ch) + { + return _ch; + } + + template + int32_t strCmp(const char* _lhs, const char* _rhs, int32_t _max) { for ( - ; 0 < _max && *_lhs == *_rhs + ; 0 < _max && fn(*_lhs) == fn(*_rhs) ; ++_lhs, ++_rhs, --_max ) { @@ -85,62 +121,60 @@ namespace bx } } - return 0 == _max ? 0 : *_lhs - *_rhs; + return 0 == _max ? 0 : fn(*_lhs) - fn(*_rhs); } - int32_t strincmp(const char* _lhs, const char* _rhs, size_t _max) + int32_t strncmp(const char* _lhs, const char* _rhs, int32_t _max) { - for ( - ; 0 < _max && toLower(*_lhs) == toLower(*_rhs) - ; ++_lhs, ++_rhs, --_max - ) - { - if (*_lhs == '\0' - || *_rhs == '\0') - { - break; - } - } + return strCmp(_lhs, _rhs, _max); + } - return 0 == _max ? 0 : *_lhs - *_rhs; + int32_t strincmp(const char* _lhs, const char* _rhs, int32_t _max) + { + return strCmp(_lhs, _rhs, _max); } - size_t strnlen(const char* _str, size_t _max) + int32_t strnlen(const char* _str, int32_t _max) { - const char* ptr; - for (ptr = _str; 0 < _max && *ptr != '\0'; ++ptr, --_max) {}; - return ptr - _str; + if (NULL == _str) + { + return 0; + } + + const char* ptr = _str; + for (; 0 < _max && *ptr != '\0'; ++ptr, --_max) {}; + return int32_t(ptr - _str); } - size_t strlncpy(char* _dst, size_t _dstSize, const char* _src, size_t _num) + int32_t strlncpy(char* _dst, int32_t _dstSize, const char* _src, int32_t _num) { BX_CHECK(NULL != _dst, "_dst can't be NULL!"); BX_CHECK(NULL != _src, "_src can't be NULL!"); BX_CHECK(0 < _dstSize, "_dstSize can't be 0!"); - const size_t len = strnlen(_src, _num); - const size_t max = _dstSize-1; - const size_t num = (len < max ? len : max); - memcpy(_dst, _src, num); + const int32_t len = strnlen(_src, _num); + const int32_t max = _dstSize-1; + const int32_t num = (len < max ? len : max); + memCopy(_dst, _src, num); _dst[num] = '\0'; return num; } - size_t strlncat(char* _dst, size_t _dstSize, const char* _src, size_t _num) + int32_t strlncat(char* _dst, int32_t _dstSize, const char* _src, int32_t _num) { BX_CHECK(NULL != _dst, "_dst can't be NULL!"); BX_CHECK(NULL != _src, "_src can't be NULL!"); BX_CHECK(0 < _dstSize, "_dstSize can't be 0!"); - const size_t max = _dstSize; - const size_t len = strnlen(_dst, max); + const int32_t max = _dstSize; + const int32_t len = strnlen(_dst, max); return strlncpy(&_dst[len], max-len, _src, _num); } - const char* strnchr(const char* _str, char _ch, size_t _max) + const char* strnchr(const char* _str, char _ch, int32_t _max) { - for (size_t ii = 0, len = strnlen(_str, _max); ii < len; ++ii) + for (int32_t ii = 0, len = strnlen(_str, _max); ii < len; ++ii) { if (_str[ii] == _ch) { @@ -151,9 +185,9 @@ namespace bx return NULL; } - const char* strnrchr(const char* _str, char _ch, size_t _max) + const char* strnrchr(const char* _str, char _ch, int32_t _max) { - for (size_t ii = strnlen(_str, _max); 0 < ii; --ii) + for (int32_t ii = strnlen(_str, _max); 0 < ii; --ii) { if (_str[ii] == _ch) { @@ -164,17 +198,18 @@ namespace bx return NULL; } - const char* strnstr(const char* _str, const char* _find, size_t _max) + template + static const char* strStr(const char* _str, int32_t _strMax, const char* _find, int32_t _findMax) { const char* ptr = _str; - size_t stringLen = strnlen(_str, _max); - const size_t findLen = strnlen(_find); + int32_t stringLen = strnlen(_str, _strMax); + const int32_t findLen = strnlen(_find, _findMax); for (; stringLen >= findLen; ++ptr, --stringLen) { // Find start of the string. - while (*ptr != *_find) + while (fn(*ptr) != fn(*_find) ) { ++ptr; --stringLen; @@ -191,7 +226,7 @@ namespace bx const char* search = _find; // Start comparing. - while (*string++ == *search++) + while (fn(*string++) == fn(*search++) ) { // If end of the 'search' string is reached, all characters match. if ('\0' == *search) @@ -204,44 +239,14 @@ namespace bx return NULL; } - const char* stristr(const char* _str, const char* _find, size_t _max) + const char* strnstr(const char* _str, const char* _find, int32_t _max) { - const char* ptr = _str; - - size_t stringLen = strnlen(_str, _max); - const size_t findLen = strnlen(_find); - - for (; stringLen >= findLen; ++ptr, --stringLen) - { - // Find start of the string. - while (toLower(*ptr) != toLower(*_find) ) - { - ++ptr; - --stringLen; - - // Search pattern lenght can't be longer than the string. - if (findLen > stringLen) - { - return NULL; - } - } - - // Set pointers. - const char* string = ptr; - const char* search = _find; - - // Start comparing. - while (toLower(*string++) == toLower(*search++) ) - { - // If end of the 'search' string is reached, all characters match. - if ('\0' == *search) - { - return ptr; - } - } - } + return strStr(_str, _max, _find, INT32_MAX); + } - return NULL; + const char* stristr(const char* _str, const char* _find, int32_t _max) + { + return strStr(_str, _max, _find, INT32_MAX); } const char* strnl(const char* _str) @@ -324,7 +329,7 @@ namespace bx return NULL; } - void eolLF(char* _out, size_t _size, const char* _str) + void eolLF(char* _out, int32_t _size, const char* _str) { if (0 < _size) { @@ -343,7 +348,7 @@ namespace bx const char* findIdentifierMatch(const char* _str, const char* _word) { - size_t len = strnlen(_word); + int32_t len = strnlen(_word); const char* ptr = strnstr(_str, _word); for (; NULL != ptr; ptr = strnstr(ptr + len, _word) ) { @@ -382,13 +387,422 @@ namespace bx return NULL; } - int32_t write(WriterI* _writer, const char* _format, va_list _argList, Error* _err); + namespace + { + struct Param + { + Param() + : width(0) + , base(10) + , prec(6) + , fill(' ') + , bits(0) + , left(false) + , upper(false) + , spec(false) + , sign(false) + { + } + + int32_t width; + uint32_t base; + uint32_t prec; + char fill; + uint8_t bits; + bool left; + bool upper; + bool spec; + bool sign; + }; + + static int32_t write(WriterI* _writer, const char* _str, int32_t _len, const Param& _param, Error* _err) + { + int32_t size = 0; + int32_t len = (int32_t)strnlen(_str, _len); + int32_t padding = _param.width > len ? _param.width - len : 0; + bool sign = _param.sign && len > 1 && _str[0] != '-'; + padding = padding > 0 ? padding - sign : 0; + + if (!_param.left) + { + size += writeRep(_writer, _param.fill, padding, _err); + } + + if (NULL == _str) + { + size += write(_writer, "(null)", 6, _err); + } + else if (_param.upper) + { + for (int32_t ii = 0; ii < len; ++ii) + { + size += write(_writer, toUpper(_str[ii]), _err); + } + } + else if (sign) + { + size += write(_writer, '+', _err); + size += write(_writer, _str, len, _err); + } + else + { + size += write(_writer, _str, len, _err); + } + + if (_param.left) + { + size += writeRep(_writer, _param.fill, padding, _err); + } + + return size; + } + + static int32_t write(WriterI* _writer, char _ch, const Param& _param, Error* _err) + { + return write(_writer, &_ch, 1, _param, _err); + } + + static int32_t write(WriterI* _writer, const char* _str, const Param& _param, Error* _err) + { + return write(_writer, _str, INT32_MAX, _param, _err); + } + + static int32_t write(WriterI* _writer, int32_t _i, const Param& _param, Error* _err) + { + char str[33]; + int32_t len = toString(str, sizeof(str), _i, _param.base); + + if (len == 0) + { + return 0; + } + + return write(_writer, str, len, _param, _err); + } + + static int32_t write(WriterI* _writer, int64_t _i, const Param& _param, Error* _err) + { + char str[33]; + int32_t len = toString(str, sizeof(str), _i, _param.base); + + if (len == 0) + { + return 0; + } + + return write(_writer, str, len, _param, _err); + } + + static int32_t write(WriterI* _writer, uint32_t _u, const Param& _param, Error* _err) + { + char str[33]; + int32_t len = toString(str, sizeof(str), _u, _param.base); + + if (len == 0) + { + return 0; + } + + return write(_writer, str, len, _param, _err); + } + + static int32_t write(WriterI* _writer, uint64_t _u, const Param& _param, Error* _err) + { + char str[33]; + int32_t len = toString(str, sizeof(str), _u, _param.base); + + if (len == 0) + { + return 0; + } + + return write(_writer, str, len, _param, _err); + } + + static int32_t write(WriterI* _writer, double _d, const Param& _param, Error* _err) + { + char str[1024]; + int32_t len = toString(str, sizeof(str), _d); + + if (len == 0) + { + return 0; + } + + if (_param.upper) + { + toUpperUnsafe(str, len); + } + + const char* dot = strnchr(str, '.'); + if (NULL != dot) + { + const int32_t precLen = int32_t( + dot + + uint32_min(_param.prec + _param.spec, 1) + + _param.prec + - str + ); + if (precLen > len) + { + for (int32_t ii = len; ii < precLen; ++ii) + { + str[ii] = '0'; + } + str[precLen] = '\0'; + } + len = precLen; + } + + return write(_writer, str, len, _param, _err); + } + + static int32_t write(WriterI* _writer, const void* _ptr, const Param& _param, Error* _err) + { + char str[35] = "0x"; + int32_t len = toString(str + 2, sizeof(str) - 2, uint32_t(uintptr_t(_ptr) ), 16); + + if (len == 0) + { + return 0; + } + + len += 2; + return write(_writer, str, len, _param, _err); + } + } // anonymous namespace + + int32_t write(WriterI* _writer, const char* _format, va_list _argList, Error* _err) + { + MemoryReader reader(_format, uint32_t(strnlen(_format) ) ); + + int32_t size = 0; + + while (_err->isOk() ) + { + char ch = '\0'; + + Error err; + read(&reader, ch, &err); + + if (!_err->isOk() + || !err.isOk() ) + { + break; + } + else if ('%' == ch) + { + // %[flags][width][.precision][length sub-specifier]specifier + read(&reader, ch); + + Param param; + + // flags + while (' ' == ch + || '-' == ch + || '+' == ch + || '0' == ch + || '#' == ch) + { + switch (ch) + { + default: + case ' ': param.fill = ' '; break; + case '-': param.left = true; break; + case '+': param.sign = true; break; + case '0': param.fill = '0'; break; + case '#': param.spec = true; break; + } + + read(&reader, ch); + } + + if (param.left) + { + param.fill = ' '; + } + + // width + if ('*' == ch) + { + read(&reader, ch); + param.width = va_arg(_argList, int32_t); + + if (0 > param.width) + { + param.left = true; + param.width = -param.width; + } + + } + else + { + while (isNumeric(ch) ) + { + param.width = param.width * 10 + ch - '0'; + read(&reader, ch); + } + } + + // .precision + if ('.' == ch) + { + read(&reader, ch); + + if ('*' == ch) + { + read(&reader, ch); + param.prec = va_arg(_argList, int32_t); + } + else + { + param.prec = 0; + while (isNumeric(ch) ) + { + param.prec = param.prec * 10 + ch - '0'; + read(&reader, ch); + } + } + } + + // length sub-specifier + while ('h' == ch + || 'I' == ch + || 'l' == ch + || 'j' == ch + || 't' == ch + || 'z' == ch) + { + switch (ch) + { + default: break; + + case 'j': param.bits = sizeof(intmax_t )*8; break; + case 't': param.bits = sizeof(size_t )*8; break; + case 'z': param.bits = sizeof(ptrdiff_t)*8; break; + + case 'h': case 'I': case 'l': + switch (ch) + { + case 'h': param.bits = sizeof(short int)*8; break; + case 'l': param.bits = sizeof(long int )*8; break; + default: break; + } + + read(&reader, ch); + switch (ch) + { + case 'h': param.bits = sizeof(signed char )*8; break; + case 'l': param.bits = sizeof(long long int)*8; break; + case '3': + case '6': + read(&reader, ch); + switch (ch) + { + case '2': param.bits = sizeof(int32_t)*8; break; + case '4': param.bits = sizeof(int64_t)*8; break; + default: break; + } + break; + + default: seek(&reader, -1); break; + } + break; + } + + read(&reader, ch); + } + + // specifier + switch (toLower(ch) ) + { + case 'c': + size += write(_writer, char(va_arg(_argList, int32_t) ), param, _err); + break; + + case 's': + size += write(_writer, va_arg(_argList, const char*), param, _err); + break; + + case 'o': + param.base = 8; + switch (param.bits) + { + default: size += write(_writer, va_arg(_argList, int32_t), param, _err); break; + case 64: size += write(_writer, va_arg(_argList, int64_t), param, _err); break; + } + break; + + case 'i': + case 'd': + param.base = 10; + switch (param.bits) + { + default: size += write(_writer, va_arg(_argList, int32_t), param, _err); break; + case 64: size += write(_writer, va_arg(_argList, int64_t), param, _err); break; + }; + break; + + case 'e': + case 'f': + case 'g': + param.upper = isUpper(ch); + size += write(_writer, va_arg(_argList, double), param, _err); + break; + + case 'p': + size += write(_writer, va_arg(_argList, void*), param, _err); + break; + + case 'x': + param.base = 16; + param.upper = isUpper(ch); + switch (param.bits) + { + default: size += write(_writer, va_arg(_argList, uint32_t), param, _err); break; + case 64: size += write(_writer, va_arg(_argList, uint64_t), param, _err); break; + } + break; + + case 'u': + param.base = 10; + switch (param.bits) + { + default: size += write(_writer, va_arg(_argList, uint32_t), param, _err); break; + case 64: size += write(_writer, va_arg(_argList, uint64_t), param, _err); break; + } + break; + + default: + size += write(_writer, ch, _err); + break; + } + } + else + { + size += write(_writer, ch, _err); + } + } + + size += write(_writer, '\0', _err); + + return size; + } + + int32_t write(WriterI* _writer, Error* _err, const char* _format, ...) + { + va_list argList; + va_start(argList, _format); + int32_t size = write(_writer, _format, argList, _err); + va_end(argList); + return size; + } - int32_t vsnprintfRef(char* _out, size_t _max, const char* _format, va_list _argList) + int32_t vsnprintfRef(char* _out, int32_t _max, const char* _format, va_list _argList) { if (1 < _max) { - StaticMemoryBlockWriter writer(_out, _max-1); + StaticMemoryBlockWriter writer(_out, uint32_t(_max-1) ); _out[_max-1] = '\0'; Error err; @@ -413,7 +827,7 @@ namespace bx return size - 1 /* size without '\0' terminator */; } - int32_t vsnprintf(char* _out, size_t _max, const char* _format, va_list _argList) + int32_t vsnprintf(char* _out, int32_t _max, const char* _format, va_list _argList) { #if BX_CRT_NONE return vsnprintfRef(_out, _max, _format, _argList); @@ -432,7 +846,7 @@ namespace bx #endif // BX_COMPILER_MSVC } - int32_t snprintf(char* _out, size_t _max, const char* _format, ...) + int32_t snprintf(char* _out, int32_t _max, const char* _format, ...) { va_list argList; va_start(argList, _format); @@ -441,7 +855,7 @@ namespace bx return len; } - int32_t vsnwprintf(wchar_t* _out, size_t _max, const wchar_t* _format, va_list _argList) + int32_t vsnwprintf(wchar_t* _out, int32_t _max, const wchar_t* _format, va_list _argList) { #if BX_CRT_NONE BX_UNUSED(_out, _max, _format, _argList); @@ -463,7 +877,7 @@ namespace bx #endif // BX_COMPILER_MSVC } - int32_t swnprintf(wchar_t* _out, size_t _max, const wchar_t* _format, ...) + int32_t swnprintf(wchar_t* _out, int32_t _max, const wchar_t* _format, ...) { va_list argList; va_start(argList, _format); @@ -487,7 +901,7 @@ namespace bx return _filePath; } - void prettify(char* _out, size_t _count, uint64_t _size) + void prettify(char* _out, int32_t _count, uint64_t _size) { uint8_t idx = 0; double size = double(_size); @@ -502,12 +916,12 @@ namespace bx snprintf(_out, _count, "%0.2f %c%c", size, "BkMGTPEZY"[idx], idx > 0 ? 'B' : '\0'); } - size_t strlcpy(char* _dst, const char* _src, size_t _max) + int32_t strlcpy(char* _dst, const char* _src, int32_t _max) { return strlncpy(_dst, _max, _src); } - size_t strlcat(char* _dst, const char* _src, size_t _max) + int32_t strlcat(char* _dst, const char* _src, int32_t _max) { return strlncat(_dst, _max, _src); } diff --git a/3rdparty/bx/src/thread.cpp b/3rdparty/bx/src/thread.cpp index fea7e8b606c..70ea4a0ecbe 100644 --- a/3rdparty/bx/src/thread.cpp +++ b/3rdparty/bx/src/thread.cpp @@ -5,24 +5,94 @@ #include +#if BX_PLATFORM_ANDROID \ + || BX_PLATFORM_LINUX \ + || BX_PLATFORM_NACL \ + || BX_PLATFORM_IOS \ + || BX_PLATFORM_OSX \ + || BX_PLATFORM_PS4 \ + || BX_PLATFORM_RPI +# include +# if defined(__FreeBSD__) +# include +# endif +# if BX_PLATFORM_LINUX && (BX_CRT_GLIBC < 21200) +# include +# endif // BX_PLATFORM_ +#elif BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE +# include +# include +# include +# if BX_PLATFORM_WINRT +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::System::Threading; +# endif // BX_PLATFORM_WINRT +#endif // BX_PLATFORM_ + #if BX_CONFIG_SUPPORTS_THREADING namespace bx { - Thread::Thread() -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - : m_handle(INVALID_HANDLE_VALUE) - , m_threadId(UINT32_MAX) + struct ThreadInternal + { +#if BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE + static DWORD WINAPI threadFunc(LPVOID _arg); + HANDLE m_handle; + DWORD m_threadId; #elif BX_PLATFORM_POSIX - : m_handle(0) + static void* threadFunc(void* _arg); + pthread_t m_handle; +#endif // BX_PLATFORM_ + }; + +#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + DWORD WINAPI ThreadInternal::threadFunc(LPVOID _arg) + { + Thread* thread = (Thread*)_arg; + int32_t result = thread->entry(); + return result; + } +#else + void* ThreadInternal::threadFunc(void* _arg) + { + Thread* thread = (Thread*)_arg; + union + { + void* ptr; + int32_t i; + } cast; + cast.i = thread->entry(); + return cast.ptr; + } #endif // BX_PLATFORM_ - , m_fn(NULL) + + Thread::Thread() + : m_fn(NULL) , m_userData(NULL) , m_stackSize(0) , m_exitCode(0 /*EXIT_SUCCESS*/) , m_running(false) - { - } + { + BX_STATIC_ASSERT(sizeof(ThreadInternal) <= sizeof(m_internal) ); + + ThreadInternal* ti = (ThreadInternal*)m_internal; +#if BX_PLATFORM_WINDOWS \ + || BX_PLATFORM_WINRT \ + || BX_PLATFORM_XBOX360 \ + || BX_PLATFORM_XBOXONE + ti->m_handle = INVALID_HANDLE_VALUE; + ti->m_threadId = UINT32_MAX; +#elif BX_PLATFORM_POSIX + ti->m_handle = 0; +#endif // BX_PLATFORM_ + } Thread::~Thread() { @@ -41,21 +111,24 @@ namespace bx m_stackSize = _stackSize; m_running = true; + ThreadInternal* ti = (ThreadInternal*)m_internal; #if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE - m_handle = ::CreateThread(NULL + ti->m_handle = ::CreateThread(NULL , m_stackSize - , (LPTHREAD_START_ROUTINE)threadFunc + , (LPTHREAD_START_ROUTINE)ti->threadFunc , this , 0 , NULL ); #elif BX_PLATFORM_WINRT - m_handle = CreateEventEx(nullptr, nullptr, CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS); + ti->m_handle = CreateEventEx(nullptr, nullptr, CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS); auto workItemHandler = ref new WorkItemHandler([=](IAsyncAction^) - { - m_exitCode = threadFunc(this); - SetEvent(m_handle); - }, CallbackContext::Any); + { + m_exitCode = ti->threadFunc(this); + SetEvent(ti->m_handle); + } + , CallbackContext::Any + ); ThreadPool::RunAsync(workItemHandler, WorkItemPriority::Normal, WorkItemOptions::TimeSliced); #elif BX_PLATFORM_POSIX @@ -72,12 +145,7 @@ namespace bx BX_CHECK(0 == result, "pthread_attr_setstacksize failed! %d", result); } - // sched_param sched; - // sched.sched_priority = 0; - // result = pthread_attr_setschedparam(&attr, &sched); - // BX_CHECK(0 == result, "pthread_attr_setschedparam failed! %d", result); - - result = pthread_create(&m_handle, &attr, &threadFunc, this); + result = pthread_create(&ti->m_handle, &attr, &ti->threadFunc, this); BX_CHECK(0 == result, "pthread_attr_setschedparam failed! %d", result); #else # error "Not implemented!" @@ -94,25 +162,27 @@ namespace bx void Thread::shutdown() { BX_CHECK(m_running, "Not running!"); + ThreadInternal* ti = (ThreadInternal*)m_internal; #if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 - WaitForSingleObject(m_handle, INFINITE); - GetExitCodeThread(m_handle, (DWORD*)&m_exitCode); - CloseHandle(m_handle); - m_handle = INVALID_HANDLE_VALUE; -#elif BX_PLATFORM_WINRT - WaitForSingleObjectEx(m_handle, INFINITE, FALSE); - CloseHandle(m_handle); - m_handle = INVALID_HANDLE_VALUE; + WaitForSingleObject(ti->m_handle, INFINITE); + GetExitCodeThread(ti->m_handle, (DWORD*)&m_exitCode); + CloseHandle(ti->m_handle); + ti->m_handle = INVALID_HANDLE_VALUE; +#elif BX_PLATFORM_WINRT || BX_PLATFORM_XBOXONE + WaitForSingleObjectEx(ti->m_handle, INFINITE, FALSE); + CloseHandle(ti->m_handle); + ti->m_handle = INVALID_HANDLE_VALUE; #elif BX_PLATFORM_POSIX union { void* ptr; int32_t i; } cast; - pthread_join(m_handle, &cast.ptr); + pthread_join(ti->m_handle, &cast.ptr); m_exitCode = cast.i; - m_handle = 0; + ti->m_handle = 0; #endif // BX_PLATFORM_ + m_running = false; } @@ -128,17 +198,19 @@ namespace bx void Thread::setThreadName(const char* _name) { + ThreadInternal* ti = (ThreadInternal*)m_internal; + BX_UNUSED(ti); #if BX_PLATFORM_OSX || BX_PLATFORM_IOS pthread_setname_np(_name); #elif (BX_CRT_GLIBC >= 21200) && ! BX_PLATFORM_HURD - pthread_setname_np(m_handle, _name); + pthread_setname_np(ti->m_handle, _name); #elif BX_PLATFORM_LINUX prctl(PR_SET_NAME,_name, 0, 0, 0); #elif BX_PLATFORM_BSD # ifdef __NetBSD__ - pthread_setname_np(m_handle, "%s", (void*)_name); + pthread_setname_np(ti->m_handle, "%s", (void*)_name); # else - pthread_set_name_np(m_handle, _name); + pthread_set_name_np(ti->m_handle, _name); # endif // __NetBSD__ #elif BX_PLATFORM_WINDOWS && BX_COMPILER_MSVC # pragma pack(push, 8) @@ -153,7 +225,7 @@ namespace bx ThreadName tn; tn.type = 0x1000; tn.name = _name; - tn.id = m_threadId; + tn.id = ti->m_threadId; tn.flags = 0; __try @@ -175,33 +247,83 @@ namespace bx int32_t Thread::entry() { #if BX_PLATFORM_WINDOWS - m_threadId = ::GetCurrentThreadId(); + ThreadInternal* ti = (ThreadInternal*)m_internal; + ti->m_threadId = ::GetCurrentThreadId(); #endif // BX_PLATFORM_WINDOWS m_sem.post(); return m_fn(m_userData); } -#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT - DWORD WINAPI Thread::threadFunc(LPVOID _arg) + struct TlsDataInternal { - Thread* thread = (Thread*)_arg; - int32_t result = thread->entry(); - return result; +#if BX_PLATFORM_WINDOWS + uint32_t m_id; +#elif !(BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT) + pthread_key_t m_id; +#endif // BX_PLATFORM_* + }; + +#if BX_PLATFORM_WINDOWS + TlsData::TlsData() + { + BX_STATIC_ASSERT(sizeof(TlsDataInternal) <= sizeof(m_internal) ); + + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + ti->m_id = TlsAlloc(); + BX_CHECK(TLS_OUT_OF_INDEXES != ti->m_id, "Failed to allocated TLS index (err: 0x%08x).", GetLastError() ); } -#else - void* Thread::threadFunc(void* _arg) + + TlsData::~TlsData() { - Thread* thread = (Thread*)_arg; - union - { - void* ptr; - int32_t i; - } cast; - cast.i = thread->entry(); - return cast.ptr; + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + BOOL result = TlsFree(ti->m_id); + BX_CHECK(0 != result, "Failed to free TLS index (err: 0x%08x).", GetLastError() ); BX_UNUSED(result); } -#endif // BX_PLATFORM_ + + void* TlsData::get() const + { + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + return TlsGetValue(ti->m_id); + } + + void TlsData::set(void* _ptr) + { + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + TlsSetValue(ti->m_id, _ptr); + } + +#elif !(BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT) + + TlsData::TlsData() + { + BX_STATIC_ASSERT(sizeof(TlsDataInternal) <= sizeof(m_internal) ); + + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + int result = pthread_key_create(&ti->m_id, NULL); + BX_CHECK(0 == result, "pthread_key_create failed %d.", result); BX_UNUSED(result); + } + + TlsData::~TlsData() + { + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + int result = pthread_key_delete(ti->m_id); + BX_CHECK(0 == result, "pthread_key_delete failed %d.", result); BX_UNUSED(result); + } + + void* TlsData::get() const + { + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + return pthread_getspecific(ti->m_id); + } + + void TlsData::set(void* _ptr) + { + TlsDataInternal* ti = (TlsDataInternal*)m_internal; + int result = pthread_setspecific(ti->m_id, _ptr); + BX_CHECK(0 == result, "pthread_setspecific failed %d.", result); BX_UNUSED(result); + } +#endif // BX_PLATFORM_* } // namespace bx diff --git a/3rdparty/bx/src/timer.cpp b/3rdparty/bx/src/timer.cpp new file mode 100644 index 00000000000..7f5403749d9 --- /dev/null +++ b/3rdparty/bx/src/timer.cpp @@ -0,0 +1,60 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include + +#if BX_PLATFORM_ANDROID +# include // clock, clock_gettime +#elif BX_PLATFORM_EMSCRIPTEN +# include +#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT +# include +#else +# include // gettimeofday +#endif // BX_PLATFORM_ + +namespace bx +{ + int64_t getHPCounter() + { +#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + LARGE_INTEGER li; + // Performance counter value may unexpectedly leap forward + // http://support.microsoft.com/kb/274323 + QueryPerformanceCounter(&li); + int64_t i64 = li.QuadPart; +#elif BX_PLATFORM_ANDROID + struct timespec now; + clock_gettime(CLOCK_MONOTONIC, &now); + int64_t i64 = now.tv_sec*INT64_C(1000000000) + now.tv_nsec; +#elif BX_PLATFORM_EMSCRIPTEN + int64_t i64 = int64_t(1000.0f * emscripten_get_now() ); +#elif !BX_PLATFORM_NONE + struct timeval now; + gettimeofday(&now, 0); + int64_t i64 = now.tv_sec*INT64_C(1000000) + now.tv_usec; +#else + BX_CHECK(false, "Not implemented!"); + int64_t i64 = UINT64_MAX; +#endif // BX_PLATFORM_ + return i64; + } + + int64_t getHPFrequency() + { +#if BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 || BX_PLATFORM_XBOXONE || BX_PLATFORM_WINRT + LARGE_INTEGER li; + QueryPerformanceFrequency(&li); + return li.QuadPart; +#elif BX_PLATFORM_ANDROID + return INT64_C(1000000000); +#elif BX_PLATFORM_EMSCRIPTEN + return INT64_C(1000000); +#else + return INT64_C(1000000); +#endif // BX_PLATFORM_ + } + +} // namespace bx diff --git a/3rdparty/bx/tests/crt_test.cpp b/3rdparty/bx/tests/crt_test.cpp new file mode 100644 index 00000000000..6820c0f8a43 --- /dev/null +++ b/3rdparty/bx/tests/crt_test.cpp @@ -0,0 +1,43 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include "test.h" + +TEST_CASE("memSet", "") +{ + char temp[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; + + bx::memSet(temp, 0, 0); + REQUIRE(temp[0] == 1); + + bx::memSet(temp, 0, 5); + REQUIRE(temp[0] == 0); + REQUIRE(temp[1] == 0); + REQUIRE(temp[2] == 0); + REQUIRE(temp[3] == 0); + REQUIRE(temp[4] == 0); + REQUIRE(temp[5] == 6); +} + +TEST_CASE("memMove", "") +{ + const char* orignal = "xxxxabvgd"; + char str[] = { 'x', 'x', 'x', 'x', 'a', 'b', 'v', 'g', 'd' }; + + bx::memMove(&str[4], &str[4], 0); + REQUIRE(0 == bx::memCmp(str, orignal, 9) ); + + bx::memMove(&str[4], &str[4], 5); + REQUIRE(0 == bx::memCmp(str, orignal, 9) ); + + bx::memMove(str, &str[4], 5); + REQUIRE(0 == bx::memCmp(str, "abvgd", 5) ); + + bx::memMove(&str[4], str, 5); + REQUIRE(str[4] == 'a' ); + + bx::memSet(str, 'x', 4); + REQUIRE(0 == bx::memCmp(str, orignal, 9) ); +} diff --git a/3rdparty/bx/tests/handle_bench.cpp b/3rdparty/bx/tests/handle_bench.cpp index 6169bc45c53..e8d8bee11cf 100644 --- a/3rdparty/bx/tests/handle_bench.cpp +++ b/3rdparty/bx/tests/handle_bench.cpp @@ -1,4 +1,8 @@ -#include +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + #include #include #include @@ -99,5 +103,8 @@ int main() printf("HandleHashMap: %15f\n", double(elapsed) ); } + extern void simd_bench(); + simd_bench(); + return EXIT_SUCCESS; } diff --git a/3rdparty/bx/tests/handle_test.cpp b/3rdparty/bx/tests/handle_test.cpp index 5bcd6f8c89e..b82e1da3174 100644 --- a/3rdparty/bx/tests/handle_test.cpp +++ b/3rdparty/bx/tests/handle_test.cpp @@ -5,7 +5,7 @@ #include "test.h" #include -#include +#include TEST_CASE("HandleListT", "") { diff --git a/3rdparty/bx/tests/macros_test.cpp b/3rdparty/bx/tests/macros_test.cpp index 37079de73a4..bae4bb896cf 100644 --- a/3rdparty/bx/tests/macros_test.cpp +++ b/3rdparty/bx/tests/macros_test.cpp @@ -4,8 +4,18 @@ */ #include "test.h" -#include #include +#include + +BX_STATIC_ASSERT(false + || BX_CRT_BIONIC + || BX_CRT_GLIBC + || BX_CRT_LIBCXX + || BX_CRT_MINGW + || BX_CRT_MSVC + || BX_CRT_MUSL + || BX_CRT_NEWLIB + ); BX_STATIC_ASSERT(1 == BX_VA_ARGS_COUNT(1) ); BX_STATIC_ASSERT(2 == BX_VA_ARGS_COUNT(1, 2) ); @@ -51,5 +61,5 @@ TEST(macros) CHECK_EQUAL(5, BX_VA_ARGS_COUNT(1, 2, 3, 4, 5) ); CHECK_EQUAL(6, BX_VA_ARGS_COUNT(1, 2, 3, 4, 5, 6) ); - CHECK_EQUAL(0, strcmp(BX_STRINGIZE(TEST 1234 %^&*), "TEST 1234 %^&*") ); + CHECK_EQUAL(0, bx::strncmp(BX_STRINGIZE(TEST 1234 %^&*), "TEST 1234 %^&*") ); } diff --git a/3rdparty/bx/tests/main_test.cpp b/3rdparty/bx/tests/main_test.cpp index 47e9bf46155..b9d66db2fd6 100644 --- a/3rdparty/bx/tests/main_test.cpp +++ b/3rdparty/bx/tests/main_test.cpp @@ -3,16 +3,11 @@ * License: https://github.com/bkaradzic/bx#license-bsd-2-clause */ -#define CATCH_CONFIG_RUNNER #include "test.h" static const char* s_argv[] = { "bx.test" }; -int runAllTests(int _argc, const char* _argv[]) -{ - DBG(BX_COMPILER_NAME " / " BX_CPU_NAME " / " BX_ARCH_NAME " / " BX_PLATFORM_NAME); - return Catch::Session().run(_argc, _argv); -} +int runAllTests(int _argc, const char* _argv[]); #if BX_PLATFORM_ANDROID # include diff --git a/3rdparty/bx/tests/queue_test.cpp b/3rdparty/bx/tests/queue_test.cpp new file mode 100644 index 00000000000..48fd270a274 --- /dev/null +++ b/3rdparty/bx/tests/queue_test.cpp @@ -0,0 +1,34 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include "test.h" +#include +#include + +void* bitsToPtr(uintptr_t _ui) +{ + union { uintptr_t ui; void* ptr; } cast = { _ui }; + return cast.ptr; +} + +uintptr_t ptrToBits(void* _ptr) +{ + union { void* ptr; uintptr_t ui; } cast = { _ptr }; + return cast.ui; +} + +TEST_CASE("SpSc", "") +{ + bx::SpScUnboundedQueue queue; + queue.push(bitsToPtr(0xdeadbeef) ); + REQUIRE(0xdeadbeef == ptrToBits(queue.pop() ) ); +} + +TEST_CASE("MpSc", "") +{ + bx::MpScUnboundedQueueT queue; + queue.push(bitsToPtr(0xdeadbeef) ); + REQUIRE(0xdeadbeef == ptrToBits(queue.pop() ) ); +} diff --git a/3rdparty/bx/tests/ringbuffer_test.cpp b/3rdparty/bx/tests/ringbuffer_test.cpp new file mode 100644 index 00000000000..75d950184da --- /dev/null +++ b/3rdparty/bx/tests/ringbuffer_test.cpp @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include "test.h" +#include + +TEST_CASE("RingBufferControl", "") +{ + bx::RingBufferControl control(16); + + REQUIRE(1 == control.reserve(1) ); + REQUIRE(0 == control.reserve(16, true) ); + REQUIRE(14 == control.reserve(16) ); + REQUIRE(15 == control.commit(15) ); + REQUIRE(15 == control.available() ); + REQUIRE(15 == control.consume(15) ); + REQUIRE(0 == control.available() ); +} diff --git a/3rdparty/bx/tests/run_test.cpp b/3rdparty/bx/tests/run_test.cpp new file mode 100644 index 00000000000..1616fe33c2c --- /dev/null +++ b/3rdparty/bx/tests/run_test.cpp @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#define CATCH_CONFIG_RUNNER +#include "test.h" + +int runAllTests(int _argc, const char* _argv[]) +{ + DBG("Compiler: " BX_COMPILER_NAME + ", CPU: " BX_CPU_NAME + ", Architecture: " BX_ARCH_NAME + ", OS: " BX_PLATFORM_NAME + ", CRT: " BX_CRT_NAME + ", Date: " __DATE__ + ", Time: " __TIME__ + ); + return Catch::Session().run(_argc, _argv); +} diff --git a/3rdparty/bx/tests/simd_bench.cpp b/3rdparty/bx/tests/simd_bench.cpp new file mode 100644 index 00000000000..d8ace20c117 --- /dev/null +++ b/3rdparty/bx/tests/simd_bench.cpp @@ -0,0 +1,133 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include +#include +#include +#include + +#include + +static void flushCache() +{ + static uint32_t length = 1 << 26; + static uint8_t* input = new uint8_t[length]; + static uint8_t* output = new uint8_t[length]; + bx::memCopy(output, input, length); +} + +typedef bx::simd128_t (*SimdRsqrtFn)(bx::simd128_t _a); + +template +void simd_rsqrt_bench(bx::simd128_t* _dst, bx::simd128_t* _src, uint32_t _numVertices) +{ + for (uint32_t ii = 0, num = _numVertices/4; ii < num; ++ii) + { + bx::simd128_t* ptr = &_src[ii*4]; + bx::simd128_t tmp0 = bx::simd_ld(ptr + 0); + bx::simd128_t tmp1 = bx::simd_ld(ptr + 1); + bx::simd128_t tmp2 = bx::simd_ld(ptr + 2); + bx::simd128_t tmp3 = bx::simd_ld(ptr + 3); + bx::simd128_t rsqrt0 = simdRsqrtFn(tmp0); + bx::simd128_t rsqrt1 = simdRsqrtFn(tmp1); + bx::simd128_t rsqrt2 = simdRsqrtFn(tmp2); + bx::simd128_t rsqrt3 = simdRsqrtFn(tmp3); + + ptr = &_dst[ii*4]; + bx::simd_st(ptr + 0, rsqrt0); + bx::simd_st(ptr + 1, rsqrt1); + bx::simd_st(ptr + 2, rsqrt2); + bx::simd_st(ptr + 3, rsqrt3); + } +} + +void simd_bench_pass(bx::simd128_t* _dst, bx::simd128_t* _src, uint32_t _numVertices) +{ + const uint32_t numIterations = 10; + + { + int64_t elapsed = 0; + for (uint32_t test = 0; test < numIterations; ++test) + { + flushCache(); + elapsed += -bx::getHPCounter(); + simd_rsqrt_bench(_dst, _src, _numVertices); + elapsed += bx::getHPCounter(); + } + printf(" simd_rsqrt_est: %15f\n", double(elapsed) ); + } + + { + int64_t elapsed = 0; + for (uint32_t test = 0; test < numIterations; ++test) + { + flushCache(); + elapsed += -bx::getHPCounter(); + simd_rsqrt_bench(_dst, _src, _numVertices); + elapsed += bx::getHPCounter(); + } + printf(" simd_rsqrt_nr: %15f\n", double(elapsed) ); + } + + { + int64_t elapsed = 0; + for (uint32_t test = 0; test < numIterations; ++test) + { + flushCache(); + elapsed += -bx::getHPCounter(); + simd_rsqrt_bench(_dst, _src, _numVertices); + elapsed += bx::getHPCounter(); + } + printf("simd_rsqrt_carmack: %15f\n", double(elapsed) ); + } + + { + int64_t elapsed = 0; + for (uint32_t test = 0; test < numIterations; ++test) + { + flushCache(); + elapsed += -bx::getHPCounter(); + simd_rsqrt_bench(_dst, _src, _numVertices); + elapsed += bx::getHPCounter(); + } + printf(" simd_rsqrt: %15f\n", double(elapsed) ); + } +} + +void simd_bench() +{ + bx::CrtAllocator allocator; + bx::RngMwc rng; + + const uint32_t numVertices = 1024*1024; + + uint8_t* data = (uint8_t*)BX_ALIGNED_ALLOC(&allocator, 2*numVertices*sizeof(bx::simd128_t), 16); + bx::simd128_t* src = (bx::simd128_t*)data; + bx::simd128_t* dst = &src[numVertices]; + + printf("\n -- positive & negative --\n"); + for (uint32_t ii = 0; ii < numVertices; ++ii) + { + float* ptr = (float*)&src[ii]; + randUnitSphere(ptr, &rng); + ptr[3] = 1.0f; + } + + simd_bench_pass(dst, src, numVertices); + + printf("\n -- positive only --\n"); + for (uint32_t ii = 0; ii < numVertices; ++ii) + { + float* ptr = (float*)&src[ii]; + ptr[0] = bx::fabsolute(ptr[0]); + ptr[1] = bx::fabsolute(ptr[1]); + ptr[2] = bx::fabsolute(ptr[2]); + ptr[3] = bx::fabsolute(ptr[3]); + } + + simd_bench_pass(dst, src, numVertices); + + BX_ALIGNED_FREE(&allocator, data, 16); +} diff --git a/3rdparty/bx/tests/simd_test.cpp b/3rdparty/bx/tests/simd_test.cpp index 0a361f4f7aa..ca46fd00bc3 100644 --- a/3rdparty/bx/tests/simd_test.cpp +++ b/3rdparty/bx/tests/simd_test.cpp @@ -6,7 +6,7 @@ #include "test.h" #include #include -#include +#include #if 0 # define SIMD_DBG DBG @@ -206,7 +206,7 @@ void simd_check_string(const char* _str, bx::simd128_t _a) SIMD_DBG("%s %s", _str, test); - CHECK(0 == strcmp(_str, test) ); + CHECK(0 == bx::strncmp(_str, test) ); } TEST_CASE("simd_swizzle", "") @@ -220,7 +220,7 @@ TEST_CASE("simd_swizzle", "") #define BX_SIMD128_IMPLEMENT_SWIZZLE(_x, _y, _z, _w) \ simd_check_string("" #_x #_y #_z #_w "", simd_swiz_##_x##_y##_z##_w(xyzw) ); \ -#include +#include #undef BX_SIMD128_IMPLEMENT_SWIZZLE #undef ELEMw diff --git a/3rdparty/bx/tests/sort_test.cpp b/3rdparty/bx/tests/sort_test.cpp new file mode 100644 index 00000000000..d271a3ffa03 --- /dev/null +++ b/3rdparty/bx/tests/sort_test.cpp @@ -0,0 +1,53 @@ +/* + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause + */ + +#include "test.h" +#include +#include +#include + +TEST_CASE("quickSort", "") +{ + const char* str[] = + { + "jabuka", + "kruska", + "malina", + "jagoda", + }; + + bx::quickSort(str, BX_COUNTOF(str), sizeof(void*) + , [](const void* _lhs, const void* _rhs) + { + const char* lhs = *(const char**)_lhs; + const char* rhs = *(const char**)_rhs; + return bx::strncmp(lhs, rhs); + }); + + REQUIRE(0 == bx::strncmp(str[0], "jabuka") ); + REQUIRE(0 == bx::strncmp(str[1], "jagoda") ); + REQUIRE(0 == bx::strncmp(str[2], "kruska") ); + REQUIRE(0 == bx::strncmp(str[3], "malina") ); + + int8_t byte[128]; + bx::RngMwc rng; + for (uint32_t ii = 0; ii < BX_COUNTOF(byte); ++ii) + { + byte[ii] = rng.gen()&0xff; + } + + bx::quickSort(byte, BX_COUNTOF(byte), 1 + , [](const void* _lhs, const void* _rhs) + { + int8_t lhs = *(const int8_t*)_lhs; + int8_t rhs = *(const int8_t*)_rhs; + return lhs - rhs; + }); + + for (uint32_t ii = 1; ii < BX_COUNTOF(byte); ++ii) + { + REQUIRE(byte[ii-1] <= byte[ii]); + } +} diff --git a/3rdparty/bx/tests/string_test.cpp b/3rdparty/bx/tests/string_test.cpp index bea72044e54..35e1dac4445 100644 --- a/3rdparty/bx/tests/string_test.cpp +++ b/3rdparty/bx/tests/string_test.cpp @@ -29,7 +29,7 @@ TEST_CASE("strnlen", "") REQUIRE(0 == bx::strnlen(test, 0) ); REQUIRE(2 == bx::strnlen(test, 2) ); - REQUIRE(4 == bx::strnlen(test, UINT32_MAX) ); + REQUIRE(4 == bx::strnlen(test, INT32_MAX) ); } TEST_CASE("strlncpy", "") @@ -41,15 +41,15 @@ TEST_CASE("strlncpy", "") REQUIRE(num == 0); num = bx::strlncpy(dst, 3, "blah", 3); - REQUIRE(0 == strcmp(dst, "bl") ); + REQUIRE(0 == bx::strncmp(dst, "bl") ); REQUIRE(num == 2); num = bx::strlncpy(dst, sizeof(dst), "blah", 3); - REQUIRE(0 == strcmp(dst, "bla") ); + REQUIRE(0 == bx::strncmp(dst, "bla") ); REQUIRE(num == 3); num = bx::strlncpy(dst, sizeof(dst), "blah"); - REQUIRE(0 == strcmp(dst, "blah") ); + REQUIRE(0 == bx::strncmp(dst, "blah") ); REQUIRE(num == 4); } @@ -135,10 +135,14 @@ static bool testToString(Ty _value, const char* _expected) char tmp[1024]; int32_t num = bx::toString(tmp, BX_COUNTOF(tmp), _value); int32_t len = (int32_t)bx::strnlen(_expected); - return true - && 0 == bx::strncmp(tmp, _expected) - && num == len - ; + if (0 == bx::strncmp(tmp, _expected) + && num == len) + { + return true; + } + + printf("result '%s' (%d), expected '%s' (%d)\n", tmp, num, _expected, len); + return false; } TEST_CASE("toString int32_t/uint32_t", "") @@ -152,7 +156,7 @@ TEST_CASE("toString int32_t/uint32_t", "") TEST_CASE("toString double", "") { REQUIRE(testToString(0.0, "0.0") ); - REQUIRE(testToString(-0.0, "0.0") ); + REQUIRE(testToString(-0.0, "-0.0") ); REQUIRE(testToString(1.0, "1.0") ); REQUIRE(testToString(-1.0, "-1.0") ); REQUIRE(testToString(1.2345, "1.2345") ); @@ -195,7 +199,7 @@ TEST_CASE("StringView", "") st.append("test", 2); REQUIRE(10 == st.getLength() ); - REQUIRE(0 == strcmp(st.getPtr(), "testtestte") ); + REQUIRE(0 == bx::strncmp(st.getPtr(), "testtestte") ); st.clear(); REQUIRE(0 == st.getLength() ); diff --git a/3rdparty/bx/tests/test.h b/3rdparty/bx/tests/test.h index db710195023..c4f0dcec320 100644 --- a/3rdparty/bx/tests/test.h +++ b/3rdparty/bx/tests/test.h @@ -7,7 +7,12 @@ #define __TEST_H__ #include + +BX_PRAGMA_DIAGNOSTIC_PUSH(); +BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4312); // warning C4312 : 'reinterpret_cast' : conversion from 'int' to 'const char *' of greater size #include +BX_PRAGMA_DIAGNOSTIC_POP(); + #define TEST(_x) TEST_CASE(#_x, "") #define CHECK_EQUAL(_x, _y) REQUIRE(_x == _y) diff --git a/3rdparty/bx/tests/thread_test.cpp b/3rdparty/bx/tests/thread_test.cpp index 54f24f37f20..8d099311835 100644 --- a/3rdparty/bx/tests/thread_test.cpp +++ b/3rdparty/bx/tests/thread_test.cpp @@ -16,23 +16,23 @@ int32_t threadExit1(void*) return 1; } -TEST(thread) +TEST_CASE("thread", "") { bx::Thread th; - CHECK_EQUAL(th.isRunning(), false); + REQUIRE(!th.isRunning() ); th.init(threadExit0); - CHECK_EQUAL(th.isRunning(), true); + REQUIRE(th.isRunning() ); th.shutdown(); - CHECK_EQUAL(th.isRunning(), false); - CHECK_EQUAL(th.getExitCode(), 0); + REQUIRE(!th.isRunning() ); + REQUIRE(th.getExitCode() == 0); th.init(threadExit1); - CHECK_EQUAL(th.isRunning(), true); + REQUIRE(th.isRunning() ); th.shutdown(); - CHECK_EQUAL(th.isRunning(), false); - CHECK_EQUAL(th.getExitCode(), 1); + REQUIRE(!th.isRunning() ); + REQUIRE(th.getExitCode() == 1); } diff --git a/3rdparty/bx/tests/tokenizecmd_test.cpp b/3rdparty/bx/tests/tokenizecmd_test.cpp index 7d35ac7484c..d1495b28796 100644 --- a/3rdparty/bx/tests/tokenizecmd_test.cpp +++ b/3rdparty/bx/tests/tokenizecmd_test.cpp @@ -5,9 +5,9 @@ #include "test.h" #include -#include +#include -TEST(commandLine) +TEST_CASE("commandLine", "") { const char* args[] = { @@ -19,76 +19,52 @@ TEST(commandLine) bx::CommandLine cmdLine(BX_COUNTOF(args), args); - CHECK(cmdLine.hasArg("long") ); - CHECK(cmdLine.hasArg('s') ); + REQUIRE(cmdLine.hasArg("long") ); + REQUIRE(cmdLine.hasArg('s') ); // non-existing argument - CHECK(!cmdLine.hasArg('x') ); - CHECK(!cmdLine.hasArg("preprocess") ); + REQUIRE(!cmdLine.hasArg('x') ); + REQUIRE(!cmdLine.hasArg("preprocess") ); } -TEST(tokenizeCommandLine) +static bool test(const char* _input, int32_t _argc, ...) { -#if 0 - const char* input[] = - { - " ", - "\\", -// "\"a b c\" d e", - "\"ab\\\"c\" \"\\\\\" d", - "a\\\\\\b d\"e f\"g h", - "a\\\\\\\"b c d", - "a\\\\\\\\\"b c\" d e", - }; - - const int expected_argc[] = - { - 0, - 0, -// 3, - 3, - 3, - 3, - 3 - }; + char buffer[1024]; + uint32_t len = sizeof(buffer); + char* argv[32]; + int32_t argc; + bx::tokenizeCommandLine(_input, buffer, len, argc, argv, BX_COUNTOF(argv) ); - const char* expected_results[] = + if (_argc != argc) { - "a b c", "d", "e", - "ab\"c", "\\", "d", - "a\\\\\\b", "de fg", "h", - "a\\\"b", "c", "d", - "a\\\\b c", "d", "e", - }; + return false; + } - const char** expected_argv[] = - { - NULL, - NULL, -// &expected_results[0], - &expected_results[3], - &expected_results[6], - &expected_results[9], - &expected_results[12], - }; + va_list argList; + va_start(argList, _argc); - for (uint32_t ii = 0; ii < BX_COUNTOF(exptected_argv); ++ii) + for (int32_t ii = 0; ii < _argc; ++ii) { - printf("x\n"); - char commandLine[1024]; - uint32_t size = BX_COUNTOF(commandLine); - char* argv[50]; - int32_t argc; - bx::tokenizeCommandLine(input[ii], commandLine, size, argc, argv, BX_COUNTOF(argv) ); - printf("\n%d (%d): %s %s\n", ii, argc, input[ii], expected_argc[ii] == argc ? "" : "FAILED!"); - for (uint32_t jj = 0; jj < argc; ++jj) + const char* arg = va_arg(argList, const char*); + if (0 != bx::strncmp(argv[ii], arg) ) { - printf("\t%d: {%s} %s\n" - , jj - , argv[jj] - , jj < argc ? (0==strcmp(argv[jj], expected_argv[ii][jj]) ? "" : "FAILED!") : "FAILED!" - ); + return false; } } -#endif // 0 + + va_end(argList); + + return true; +} + +TEST_CASE("tokenizeCommandLine", "") +{ + REQUIRE(test(" ", 0, NULL) ); + REQUIRE(test("\\", 0, NULL) ); + + REQUIRE(test("a b v g d", 5, "a", "b", "v", "g", "d") ); + + REQUIRE(test("\"ab\\\"v\" \"\\\\\" g", 3, "ab\"v", "\\", "g") ); + REQUIRE(test("a\\\\\\\"b v g", 3, "a\\\"b", "v", "g") ); + REQUIRE(test("a\\\\\\\\\"b v\" g d", 3, "a\\\\b v", "g", "d") ); } diff --git a/3rdparty/bx/tests/vector_complex_test.cpp b/3rdparty/bx/tests/vector_complex_test.cpp index a540ece8a40..17f511989c9 100644 --- a/3rdparty/bx/tests/vector_complex_test.cpp +++ b/3rdparty/bx/tests/vector_complex_test.cpp @@ -37,6 +37,8 @@ # define _strdup strdup #endif // !BX_COMPILER_MSVC +BX_PRAGMA_DIAGNOSTIC_IGNORED_MSVC(4996) // warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _strdup. See online help for details. + struct complex { complex() {data = 0;} complex(const char* s) { data = strdup(s); } diff --git a/3rdparty/bx/tests/vsnprintf_test.cpp b/3rdparty/bx/tests/vsnprintf_test.cpp index db1fba6fdad..12aea7bbb25 100644 --- a/3rdparty/bx/tests/vsnprintf_test.cpp +++ b/3rdparty/bx/tests/vsnprintf_test.cpp @@ -5,6 +5,8 @@ #include "test.h" #include +#include +#include TEST_CASE("vsnprintf NULL buffer", "No output buffer provided.") { @@ -18,12 +20,12 @@ TEST_CASE("vsnprintf truncated", "Truncated output buffer.") char buffer[7]; REQUIRE(10 == bx::snprintf(buffer, BX_COUNTOF(buffer), "Ten chars!") ); - REQUIRE(0 == strcmp(buffer, "Ten ch") ); + REQUIRE(0 == bx::strncmp(buffer, "Ten ch") ); } static bool test(const char* _expected, const char* _format, ...) { - int32_t max = (int32_t)strlen(_expected) + 1; + int32_t max = (int32_t)bx::strnlen(_expected) + 1; char* temp = (char*)alloca(max); va_list argList; @@ -33,12 +35,12 @@ static bool test(const char* _expected, const char* _format, ...) bool result = true && len == max-1 - && 0 == strcmp(_expected, temp) + && 0 == bx::strncmp(_expected, temp) ; if (!result) { - printf("result (%d) %s, expected (%d) %s\n", len, temp, max-1, _expected); + printf("result (%d) '%s', expected (%d) '%s'\n", len, temp, max-1, _expected); } return result; @@ -46,23 +48,120 @@ static bool test(const char* _expected, const char* _format, ...) TEST_CASE("vsnprintf f", "") { - REQUIRE(test("1.337", "%0.3f", 1.337) ); + REQUIRE(test("1.337", "%0.3f", 1.337) ); REQUIRE(test(" 13.370", "%8.3f", 13.37) ); REQUIRE(test(" 13.370", "%*.*f", 8, 3, 13.37) ); REQUIRE(test("13.370 ", "%-8.3f", 13.37) ); REQUIRE(test("13.370 ", "%*.*f", -8, 3, 13.37) ); + + REQUIRE(test("nan ", "%-8f", std::numeric_limits::quiet_NaN() ) ); + REQUIRE(test(" nan", "%8f", std::numeric_limits::quiet_NaN() ) ); + +#if !BX_CRT_MSVC + // BK - VS2015 CRT vsnprintf returns '-NAN(IND'. +# if BX_CRT_LIBCXX + // BK - Clang LibC vsnprintf returns 'NAN '. + REQUIRE(test("NAN ", "%-8F", -std::numeric_limits::quiet_NaN() ) ); +# else + REQUIRE(test("-NAN ", "%-8F", -std::numeric_limits::quiet_NaN() ) ); +# endif // BX_CRT_LIBCXX +#endif // !BX_CRT_MSVC + + REQUIRE(test(" inf", "%8f", std::numeric_limits::infinity() ) ); + REQUIRE(test("inf ", "%-8f", std::numeric_limits::infinity() ) ); + REQUIRE(test(" -INF", "%8F", -std::numeric_limits::infinity() ) ); } -TEST_CASE("vsnprintf d/u/x", "") +TEST_CASE("vsnprintf d/i/o/u/x", "") { REQUIRE(test("1337", "%d", 1337) ); + REQUIRE(test("1337 ", "%-20d", 1337) ); + REQUIRE(test("-1337 ", "%-20d", -1337) ); + + REQUIRE(test("1337", "%i", 1337) ); + REQUIRE(test("1337 ", "%-20i", 1337) ); + REQUIRE(test("-1337 ", "%-20i", -1337) ); + + REQUIRE(test("1337", "%o", 01337) ); + REQUIRE(test("2471", "%o", 1337) ); + REQUIRE(test("1337 ", "%-20o", 01337) ); + REQUIRE(test("37777776441 ", "%-20o", -01337) ); + + REQUIRE(test("1337", "%u", 1337) ); + REQUIRE(test("1337 ", "%-20u", 1337) ); + REQUIRE(test("4294965959 ", "%-20u", -1337) ); REQUIRE(test("1337", "%x", 0x1337) ); + REQUIRE(test("1234abcd ", "%-20x", 0x1234abcd) ); + REQUIRE(test("1234ABCD ", "%-20X", 0x1234abcd) ); + REQUIRE(test("edcb5433 ", "%-20x", -0x1234abcd) ); + REQUIRE(test("EDCB5433 ", "%-20X", -0x1234abcd) ); + REQUIRE(test("0000000000001234abcd", "%020x", 0x1234abcd) ); + REQUIRE(test("0000000000001234ABCD", "%020X", 0x1234abcd) ); + REQUIRE(test("000000000000edcb5433", "%020x", -0x1234abcd) ); + REQUIRE(test("000000000000EDCB5433", "%020X", -0x1234abcd) ); + +#if !BX_CRT_MSVC + // BK - VS2015 CRT vsnprintf doesn't support 'j' length sub-specifier? + if (BX_ENABLED(BX_ARCH_32BIT) ) + { + REQUIRE(test("2147483647", "%jd", INTMAX_MAX) ); + } + else + { + REQUIRE(test("9223372036854775807", "%jd", INTMAX_MAX) ); + } +#endif // !BX_CRT_MSVC + + REQUIRE(test("18446744073709551615", "%" PRIu64, UINT64_MAX) ); + REQUIRE(test("ffffffffffffffff", "%016" PRIx64, UINT64_MAX) ); +} + +TEST_CASE("vsnprintf modifiers", "") +{ + REQUIRE(test("| 1.000000|", "|%10f|", 1.0f) ); + REQUIRE(test("|1.000000 |", "|%-10f|", 1.0f) ); + REQUIRE(test("|001.000000|", "|%010f|", 1.0f) ); + REQUIRE(test("|0000000001|", "|%010.0f|", 1.0f) ); + REQUIRE(test("|000000001.|", "|%#010.0f|", 1.0f) ); + REQUIRE(test("| 1|", "|%10.0f|", 1.0f) ); + REQUIRE(test("| 1.|", "|%#10.0f|", 1.0f) ); + REQUIRE(test("| +1.|", "|%#+10.0f|", 1.0f) ); + REQUIRE(test("|1 |", "|%-10.0f|", 1.0f) ); + REQUIRE(test("|1. |", "|%#-10.0f|", 1.0f) ); + REQUIRE(test("|+1. |", "|%+#-10.0f|", 1.0f) ); +} + +TEST_CASE("vsnprintf p", "") +{ +#if BX_CRT_MSVC + // BK - VS2015 CRT vsnprintf has different output for 'p' pointer specifier. + REQUIRE(test("0BADC0DE", "%p", (void*)0xbadc0de)); + REQUIRE(test("0BADC0DE ", "%-20p", (void*)0xbadc0de)); +#else + REQUIRE(test("0xbadc0de", "%p", (void*)0xbadc0de) ); + REQUIRE(test("0xbadc0de ", "%-20p", (void*)0xbadc0de) ); +#endif // BX_CRT_MSVC +} + +TEST_CASE("vsnprintf s", "") +{ + REQUIRE(test("(null)", "%s", NULL) ); +} + +TEST_CASE("vsnprintf g", "") +{ + REQUIRE(test(" 0.01", "%7.3g", .01) ); + REQUIRE(test(" 0.0123", "%7.3G", .0123) ); + REQUIRE(test("1.23e+05", "%.3g", 123000.25) ); + REQUIRE(test("1e+05", "%.0g", 123000.25) ); } TEST_CASE("vsnprintf", "") { REQUIRE(test("x", "%c", 'x') ); + REQUIRE(test("x ", "%-20c", 'x') ); + REQUIRE(test("hello ", "%-20s", "hello") ); REQUIRE(test("hello, world!", "%s, %s!", "hello", "world") ); } diff --git a/3rdparty/bx/tools/bin/darwin/genie b/3rdparty/bx/tools/bin/darwin/genie index 97c6f1279b9..48552bab3e7 100755 Binary files a/3rdparty/bx/tools/bin/darwin/genie and b/3rdparty/bx/tools/bin/darwin/genie differ diff --git a/3rdparty/bx/tools/bin/linux/genie b/3rdparty/bx/tools/bin/linux/genie index 3fa52f00f4f..021bc6ea4d2 100755 Binary files a/3rdparty/bx/tools/bin/linux/genie and b/3rdparty/bx/tools/bin/linux/genie differ diff --git a/3rdparty/bx/tools/bin/windows/genie.exe b/3rdparty/bx/tools/bin/windows/genie.exe index 19d6f15c6cd..b70a00cb408 100644 Binary files a/3rdparty/bx/tools/bin/windows/genie.exe and b/3rdparty/bx/tools/bin/windows/genie.exe differ diff --git a/3rdparty/bx/tools/bin2c/bin2c.cpp b/3rdparty/bx/tools/bin2c/bin2c.cpp index 47fc3bc2d22..d33d9204bc9 100644 --- a/3rdparty/bx/tools/bin2c/bin2c.cpp +++ b/3rdparty/bx/tools/bin2c/bin2c.cpp @@ -145,12 +145,12 @@ int main(int _argc, const char* _argv[]) } void* data = NULL; - size_t size = 0; + uint32_t size = 0; bx::CrtFileReader fr; if (bx::open(&fr, filePath) ) { - size = (size_t)bx::getSize(&fr); + size = uint32_t(bx::getSize(&fr) ); data = malloc(size); bx::read(&fr, data, size); -- cgit v1.2.3